Client: IBM

Providing Controlled Pulses for Quantum Computing


Drawings

Brief Description:

Figure 1 shows an exemplaryquantum mechanical computer radio frequency (RF) signaling system, according to one embodiment;

Detailed Description:

Figure 1 shows an exemplary embodiment of a quantum mechanical computer radio frequency (RF) signaling system 100. The quantum mechanical computer radio frequency (RF) signaling system 100 may include a transmission lines 102, a plurality of networks of reactive electrical components a 106-112 coupled to the transmission lines 102, a plurality of switch units 114-120 respectively coupled to the plurality of networks of reactive electrical components a 106-112, a plurality of output-stage networks of reactive electrical components 122-128 respectively coupled to the plurality of switch units 114-120, and a plurality of substantially identical qubits 130-136 respectively coupled to the output-stage networks of reactive electrical components 122-128. The quantum mechanical computer radio frequency (RF) signaling system 100 may also include a control logic unit 112 having respective control outputs 138-144 for controlling the actuation of the switches within switch units 114-120. The control logic unit 112 may be implemented in hardware, firmware, software, or any combination thereof. For illustrative brevity only four (4) qubits 130-136 are depicted in Figure 1. It may, however, be appreciated that any number of qubits (i.e., 1-N) can be coupled to the transmission lines 102 via corresponding networks of reactive electrical components and controllable switch units. 

The quantum mechanical computer radio frequency (RF) signaling system 100 may be maintained at cryogenic temperatures below one hundred (100) millikelvins (mK) in order to maintain the signaling system 100 at superconducting temperatures. For example, the quantum mechanical computer radio frequency (RF) signaling system 100 may be cooled in a cryostat to a temperature of about 30 mK. 

In operation, a radio frequency (RF) pulse signal is applied to the transmission lines 102. The transmission lines 102 is terminated by an impedance matching resistor 146 in order to mitigate RF signal reflections associated with the radio frequency (RF) pulse signal propagating along the transmission lines 102. Referring to Figure 7, an example of a radio frequency (RF) pulse signal 700 that is applied to the transmission lines 102 (Figure 1) is depicted, whereby a 4 Ghz RF signal is generated over a 20 nanosecond (ns) pulse period (T.sub.pulse) at 1 microsecond (.mu.s) intervals (T.sub.int). Alternatively, according to other non-limiting examples, the radio frequency (RF) pulse signal 700 may include an RF signal in the range of about 1-10 Ghz that is generated over a pulse period (T.sub.pulse) of about 10-500 ns at intervals (T.sub.int) in the order of microseconds (.mu.s), milliseconds (ms) or seconds (s). 

Referring back to Figure 1, the radio frequency (RF) pulse signal 700 (Figure 7) may be tapped off the transmission lines 102 and propagate in the direction of arrow A.sub.1. As depicted, the radio frequency (RF) pulse signal 700 propagates in the direction of arrow A.sub.1 and is input to the network of reactive electrical components a 106. The network of reactive electrical components a 106 attenuates the amplitude of the radio frequency (RF) pulse signal 700 by a factor of about 10-100. The attenuated radio frequency (RF) pulse signal 700 may then be received by switch unit a 114, whereby depending on the configuration of switches R.sub.1 and R.sub.2, qubit a 130 undergoes either a predefined change in the linear combination of at least two quantummechanical eigenstates, or maintains its current quantum mechanical eigenstate. Specifically, using control output a 138, if switch R.sub.1 of switch unit a 114 is actuated to a closed position while switch R.sub.2 of switch unit a 114 is actuated to an open position, the attenuated radio frequency (RF) pulse signal 700 passes through switch R.sub.1 and is applied to qubit a 130. By selecting the frequency of the attenuated radio frequency (RF) pulse signal 700 to substantially match the resonance of the qubit a 130, the qubit a 130 undergoes a predetermined rotation based on the amplitude of the attenuated radio frequency (RF) pulse signal 700. 

In some implementations, the output-stage network of reactive electrical components a 122 may be optionally omitted such that the attenuated radio frequency (RF) pulse signal 700 (Figure 7) passes through switch R.sub.1 to qubit a 130. In other implementations, the output-stage network of reactive electrical components a 122 may be included such that the attenuated radio frequency (RF) pulse signal 700 passes through switch R.sub.1 to qubit a 130 via the output-stage network of reactive electrical components a 122. As depicted in Figure 6, the output-stage network of reactive electrical components 600 may be substantially identical to that of the network of reactive electrical components a 106. However, in some implementations, the output-stage network of reactive electrical components 600 may be different to that of the network of reactive electrical components a 106. Moreover, each of the output-stage network of reactive electrical components 600 and the network of reactive electrical components a 106 may include a mix of different reactive components (e.g., capacitors and inductors). The output-stage network of reactive electrical components 600 further attenuates the radio frequency (RF) pulse signal 700 that passes through switch R.sub.1 to qubit a 130. Additionally, the reactive components of the output-stage network of reactive electrical components 600 isolate the qubit a 130 from the resistive characteristics of switches R.sub.1 and R.sub.2 within switch unit a 114. The resistive nature of switches R.sub.1 and R.sub.2 (e.g., Field Effecttransistor switches: FET switches) may accordingly cause the qubit a 130 to gradually loose its quantum eigenstate in the absence of such isolation.

Alternatively, as shown in Figure 1, using control output a 138, if switch R.sub.1 of switch unit a 114 is actuated to an open position while switch R.sub.2 of switch unit a 114 is actuated to a closed position, the qubit a 130 maintains its current eigenstate on the basis that it is isolated from the attenuated radio frequency (RF) pulse signal 700 (Figure 7) received from the network of reactive electrical components a 106. By closing switch R.subR.sub.2, the output terminal “o” of switch R.sub.1 is electrically coupled to ground via switch R.sub.2. Thus, any electrical leakage current across open-circuit switch R.subR.sub.1 (e.g., FET switch) may accordingly be diverted to ground via switch R.sub.2. By diverting this leakage current, potential quantum state changes associated with the qubit a 130 may be avoided. Thus, the qubit a 130 experiences longer coherence times

As further shown in Figure 1, the radio frequency (RF) pulse signal 700 (Figure 7) may be tapped off the transmission lines 102 and also propagate in the direction of arrow A.sub.2. As depicted, the radio frequency (RF) pulse signal 700 propagates in the direction of arrow A.sub.2 and is input to the network of reactive Electrical components b 108. The network of reactive Electrical components b 108 accordingly attenuates the amplitude of the radio frequency (RF) pulse signal 700 by a factor of about 10-100. The attenuated radio frequency (RF) pulse signal 700 (Figure 7) may then be received by switch unit b 116, whereby depending on the configuration of switches R.sub.1 and R.sub.2, qubit b 132 undergoes either a predefined change in the linear combination of at least two quantummechanical eigenstates, or maintains its current quantum mechanical eigenstate. Specifically, using control output b 140, if switch R.sub.1 of switch unit b 116 is actuated to a closed position while switch R.sub.2 of switch unit b 116 is actuated to an open position, the attenuated radio frequency (RF) pulse signal 700 passes through switch R.sub.1 and is applied to qubit b 132. Since the frequency of the attenuated radio frequency (RF) pulse signal 700 substantially matches the resonance of qubit b 132, as with qubit a 130, this qubit b 132 also undergoes the predetermined rotation based on the amplitude of the attenuated radio frequency (RF) pulse signal 700. 

In some implementations, the output-stage network of reactive electrical components b 124 may be optionally omitted such that the attenuated radio frequency (RF) pulse signal 700 (Figure 7) passes through switch R.sub.1 to qubit b 132. In other implementations, the output-stage network of reactive electrical components b 124 may be included such that the attenuated radio frequency (RF) pulse signal 700 passes through switch R.sub.1 to qubit b 132 via the output-stage network of reactive electrical components b 124. As depicted in Figure 6, output-stage network of reactive electrical components 600 may be substantially identical to that of the network of reactive Electrical components b 108. As such the output-stage network of reactive electrical components 600 further attenuates the radio frequency (RF) pulse signal 700 that passes through switch R.sub.1 to qubit b 132. Additionally, the reactive components of the output-stage network of reactive electrical components 600 isolate the qubit b 132 from the resistive characteristics of switches R.sub.1 and R.sub.2 within switch unit b 116. The resistive nature of switches R.sub.1 and R.sub.2 (e.g., Field Effecttransistor switches: FET switches) may accordingly cause the qubit b 132 to gradually loose its quantum eigenstate in the absence of such isolation. 

Alternatively, using control output b 140, if switch R.sub.1 of switch unit b 116 is actuated to an open position while switch R.sub.2 of switch unit b 116 is actuated to a closed position, the qubit b 132 maintains its current eigenstate on the basis that it is isolated from the attenuated radio frequency (RF) pulse signal 700 (Figure 7) received from the network of reactive Electrical components b 108. By closing switch R.subR.sub.2 of switch unit b 116, the output terminal “o” of switch R.sub.1 is electrically coupled to ground via switch R.sub.2. Thus, any electrical leakage current across the open-circuit switch R.subR.sub.1 (e.g., FET switch) of switch unit b 116 may accordingly be diverted to ground via switch R.sub.2. By diverting this leakage current, potential quantum state changes associated with the qubit b 132 may be avoided. Thus, the qubit b 132 experiences longer coherence times

Still referring to Figure 1, the radio frequency (RF) pulse signal 700 (Figure 7) may be tapped off the transmission lines 102 and further propagate in the direction of arrow A.sub.3. As depicted, the radio frequency (RF) pulse signal 700 propagates in the direction of arrow A.sub.3 and is input to the network of reactive Electrical components c 110. The network of reactive Electrical components c 110 accordingly attenuates the amplitude of the radio frequency (RF) pulse signal 700 by a factor of about 10-100. The attenuated radio frequency (RF) pulse signal 700 (Figure 7) may then be received by switch unit c 118, whereby depending on the configuration of switches R.sub.1 and R.sub.2, qubit c 134 undergoes either a predefined change in the linear combination of at least two quantummechanical eigenstates, or maintains its current quantum mechanical eigenstate. Specifically, using control output c 142, if switch R.sub.1 of switch unit c 118 is actuated to a closed position while switch R.sub.2 of switch unit c 118 is actuated to an open position, the attenuated radio frequency (RF) pulse signal 700 passes through switch R.sub.1 and is applied to qubit c 134. Since the frequency of the attenuated radio frequency (RF) pulse signal 700 substantially matches the resonance of qubit c 134, as with qubits 130-132, this qubit c 134 also undergoes the predetermined rotation based on the amplitude of the attenuated radio frequency (RF) pulse signal 700. 

In some implementations, the output-stage network of reactive electrical components c 126 may be optionally omitted such that the attenuated radio frequency (RF) pulse signal 700 (Figure 7) passes through switch R.sub.1 to qubit c 134. In other implementations, the output-stage network of reactive electrical components c 126 may be included such that the attenuated radio frequency (RF) pulse signal 700 passes through switch R.sub.1 to qubit c 134 via the output-stage network of reactive electrical components b 124. As depicted in Figure 6, output-stage network of reactive electrical components 600 may be substantially identical to that of the output-stage network of reactive electrical components c 110. As such the output-stage network of reactive electrical components 600 further attenuates the radio frequency (RF) pulse signal 700 that passes through switch R.sub.1 to qubit c 134. Additionally, the reactive components of the output-stage network of reactive electrical components 600 isolate the qubit c 134 from the resistive characteristics of switches R.sub.1 and R.sub.2 within switch unit c 118. The resistive nature of switches R.sub.1 and R.sub.2 (e.g., Field Effecttransistor switches: FET switches) may accordingly cause the qubit c 134 to gradually loose its quantum eigenstate in the absence of such isolation. 

Alternatively, using control output c 142, if switch R.sub.1 of switch unit c 118 is actuated to an open position while switch R.sub.2 of switch unit c 118 is actuated to a closed position, the qubit c 134 maintains its current eigenstate on the basis that it is isolated from the attenuated radio frequency (RF) pulse signal 700 (Figure 7) received from the network of reactive Electrical components c 110. By closing switch R.subR.sub.2 of switch unit c 118, the output terminal “o” of switch R.sub.1 is electrically coupled to ground via switch R.sub.2. Thus, any electrical leakage current across the open-circuit switch R.subR.sub.1 (e.g., FET switch) of switch unit c 118 may accordingly be diverted to ground via switch R.sub.2. By diverting this leakage current, potential quantum state changes associated with the qubit c 134 may be avoided. Thus, the qubit c 134 experiences longer coherence times

Still referring to Figure 1, the radio frequency (RF) pulse signal 700 (Figure 7) may be tapped off the transmission lines 102 and further propagate in the direction of arrow A.sub.4. As depicted, the radio frequency (RF) pulse signal 700 also propagates in the direction of arrow A.sub.4 and is accordingly input to the network of reactive Electrical components d 112. The network of reactive Electrical components d 112 thus attenuates the amplitude of the radio frequency (RF) pulse signal 700 by a factor of about 10-100. The attenuated radio frequency (RF) pulse signal 700 may then be received by switch unit d 120, whereby depending on the configuration of switches R.sub.1 and R.sub.2, qubit d 136 undergoes either a predefined change in the linear combination of at least two quantummechanical eigenstates, or maintains its current quantum mechanical eigenstate. Specifically, using control output d 144, if switch R.sub.1 of switch unit d 120 is actuated to a closed position while switch R.sub.2 of switch unit d 120 is actuated to an open position, the attenuated radio frequency (RF) pulse signal 700 (Figure 7) passes through switch R.sub.1 and is applied to qubit d 136. Since the frequency of the attenuated radio frequency (RF) pulse signal 700 substantially matches the resonance of qubit d 136, as with qubits 130-134, this qubit d 136 also undergoes the predetermined rotation based on the amplitude of the attenuated radio frequency (RF) pulse signal 700. 

In some implementations, the output-stage network of reactive electrical components d 128 may be optionally omitted such that the attenuated radio frequency (RF) pulse signal 700 (Figure 7) passes through switch R.sub.1 to qubit d 136. In other implementations, the output-stage network of reactive electrical components d 128 may be included such that the attenuated radio frequency (RF) pulse signal 700 passes through switch R.sub.1 to qubit d 136 via the output-stage network of reactive electrical components d 128. As depicted in Figure 6, output-stage network of reactive electrical components 600 may be substantially identical to that of the network of reactive Electrical components d 112. As such the output-stage network of reactive electrical components 600 further attenuates the radio frequency (RF) pulse signal 700 that passes through switch R.sub.1 to qubit d 136. Additionally, the reactive components of the output-stage network of reactive electrical components 600 isolate the qubit d 136 from the resistive characteristics of switches R.sub.1 and R.sub.2 within switch unit d 120. The resistive nature of switches R.sub.1 and R.sub.2 (e.g., Field Effecttransistor switches: FET switches) may accordingly cause the qubit d 136 to gradually loose its quantum eigenstate in the absence of such isolation. 

Alternatively, using control output d 144, if switch R.sub.1 of switch unit d 120 is actuated to an open position while switch R.sub.2 of switch unit d 120 is actuated to a closed position, the qubit d 136 maintains its current eigenstate on the basis that it is isolated from the attenuated radio frequency (RF) pulse signal 700 (Figure 7) received from the network of reactive Electrical components d 112. By closing switch R.subR.sub.2 of switch unit d 120, the output terminal “o” of switch R.sub.1 is electrically coupled to ground via switch R.sub.2. Thus, any electrical leakage current across the open-circuit switch R.subR.sub.1 (e.g., FET switch) of switch unit d 120 may accordingly be diverted to ground via switch R.sub.2. By diverting this leakage current, potential quantum state changes associated with the qubit d 136 may be avoided. Thus, the qubit d 136 experiences longer coherence times

The attenuation of the radio frequency (RF) pulse signal 700 (Figure 7) by the networks of reactive electrical components a 106-112 allows individual signal amplitude adjustment and mitigates interactions between the qubits 130-136. Referring to Figure 5, an exemplary network of reactive electrical components 502 that may be used for networks 106-112 (Figure 1) is depicted. The network of reactive electrical components 502 may be described by its equivalent circuit 504. As shown, an inputRF pulse signal (i.e., RF.sub.1) is attenuated by the divider network of capacitors (i.e., reactive components) to provide an outputattenuated RF pulse signal (i.e., RF.sub.2). In particular, the relationship between the inputRF pulse signal (i.e., RF.sub.1) and the outputattenuated RF pulse signal (i.e., RF.sub.2) is given by: 

RF 2 = RF 1 ( C 1 C 1 + C 2 + C adj ) equation 1 ##EQU00001## 

Whereby C.sub.1 is an input capacitive reactive component having an input terminal coupled to the transmission lines 102 (Figure 1) and an output terminal coupled to parallel capacitive reactive components C.sub.adj and C.sub.2. Thus, the input capacitive reactive component C.sub.1 and the parallel configured capacitive reactive components C.sub.adj, C.sub.2 are in series. Based on equation 1, by increasing the capacitance value of variable capacitor C.sub.adj, the attenuation of the inputRF pulse signal (i.e., RF.sub.1) is also increased. Conversely, by decreasing the capacitance value of variable capacitor C.sub.adj, the attenuation of the inputRF pulse signal (i.e., RF.sub.1) is accordingly reduced. 

Referring to Figure 6, the depicted output-stage network of reactive electrical components 600 may be used for networks 122-128 of Figure 1. The output-stage network of reactive electrical components 600 may be described by its equivalent circuit 602. As shown, the attenuated RF pulse signal RF.sub.2 output from network 502 (Figure 5) is (optionally) further attenuated (i.e., RF pulse signal RF.sub.3) by the divider network of capacitors (i.e., reactive components) corresponding to output-stage network of reactive electrical components 600. In particular, the relationship between the inputted attenuated RF pulse signal RF.sub.2 and the outputted further attenuated RF pulse signal RF.sub.3 is given by: 

RF 3 = RF 2 ( C 1 ‘ C 1 ‘ + C 2 ‘ + C adj ‘ ) equation 2 ##EQU00002## 

Whereby C’.sub.1 is an input capacitive reactive component having an input terminal coupled to output terminal `o` (Figure 1) of a respective switch unit and an output terminal coupled to parallel capacitive reactive components C’.sub.adj and C’.sub.2. Thus, the input capacitive reactive component and the parallel configured capacitive reactive components C’.sub.adj, C’.sub.2 are in series. Based on equation 2, by increasing the capacitance value of variable capacitor C’.sub.adj, the attenuation of the attenuated input RF pulse signal (i.e., RF.sub.2) is also increased. Conversely, by decreasing the capacitance value of variable capacitor C’.sub.adj, the attenuation of the attenuated input RF pulse signal (i.e., RF.sub.2) is accordingly reduced. As previously described, the circuits depicted in both FIGS. 5 and 6 may be identical, thus applying the same attenuation to the received RF pulse signals. Moreover, the circuits depicted in both FIGS. 5 and 6 are utilized in both the plurality of networks of reactive electrical components a 106-112 (Figure 1) and the plurality of output-stage networks of reactive electrical components 122-128 (Figure 1), respectively. 

Referring to Figure 3, an exemplary controllable reactive component 302 used to implement a variable capacitor 904 is depicted. The exemplary controllable reactive component 302 represented by variable capacitor 904 may be used in both the plurality of networks of reactive electrical components a 106-112 (Figure 1: C.sub.adj) and the plurality of output-stage networks of reactive electrical components 122-128 (Figure 1; and Figure 6: C.sub.adj), respectively. As depicted, the controllable reactive component 302 may include a parallel configuration of multiple capacitors C.sub.adj1, C.sub.adj2, C.sub.adj3, and C.sub.adj4. Each of the capacitors C.sub.adj1, C.sub.adj2, C.sub.adj3, C.sub.adj4 are connected to ground via respective switches S.sub.adj1, S.sub.adj2, S.sub.adj3, and S.sub.adj4. In particular, one terminal of each of the capacitors C.sub.adj1, C.sub.adj2, C.sub.adj3, C.sub.adj4 is coupled together, while the other terminal of each of the capacitors C.sub.adj1, C.sub.adj2, C.sub.adj3, C.sub.adj4 is connected in series to respective switches S.sub.adj1, S.sub.adj2, S.sub.adj3, and S.sub.adj4. In operation, by actuating the switches S.sub.adj1, S.sub.adj2, S.sub.adj3, S.sub.adj4 to a closed position, the capacitors C.sub.adj1, C.sub.adj2, C.sub.adj3, C.sub.adj4 are coupled to ground and remain part of the parallel configuration of capacitors. Alternatively, by actuating the switches S.sub.adj1, S.sub.adj2, S.sub.adj3, S.sub.adj4 to an open position, the capacitors C.sub.adj1, C.sub.adj2, C.sub.adj3, C.sub.adj4 are not coupled to ground and are thus removed from the parallel configuration of capacitors. For example, by actuating switches S.sub.adj1 and S.sub.adj4 to a closed position and switches S.sub.adj2 and S.sub.adj3 to an open position, capacitors C.sub.adj1 and C.sub.adj4 are coupled to ground and in a parallel configuration, while capacitors C.sub.adj2 and C.sub.adj2 are not within the parallel configuration. The total capacitance is thus the sum of capacitors C.sub.adj1 and C.sub.adj4. By varying the switch positions, different capacitance values can therefore be obtained for altering the attenuation factors within the networks of reactive electrical components a 106-112 and the plurality of output-stage networks of reactive electrical components 122-128. For example, in order to increase the total capacitance given by the sum of capacitors C.sub.adj1 and C.sub.adj4, switch S.sub.adj3 may additionally be actuated to a closed position. The total capacitance is now the sum of capacitors C.sub.adj1, C.sub.adj3, and C.sub.adj4. Thus, the controllable reactive component 302 provides an exemplary adjustable reactance within the plurality of networks of reactive electrical components a 106-112 (Figure 1) and the plurality of output-stage networks of reactive electrical components 122-128 (Figure 1). Accordingly, varying this adjustable reactance in turn varies the attenuation provided by the plurality of networks of reactive electrical components a 106-112 (Figure 1) and the plurality of output-stage networks of reactive electrical components 122-128 (Figure 1). 

For illustrative brevity only four (4) parallel capacitors and switches are depicted in Figure 3. However, it may be appreciated that any number of parallel capacitors may be utilized in order to establish the requisite resolution of attenuation factor variation exhibited by any one of the plurality of networks of reactive electrical components a 106-112 (Figure 1) and the optionally provided plurality of output-stage networks of reactive electrical components 122-128 (Figure 1). The capacitors associated with the networks of reactive electrical components a 106-112 (Figure 1) and the plurality of output-stage networks of reactive electrical components 122-128 (Figure 1) may have capacitance values in the range of 0.1-10 femtofarads (fFs). However, greater or lesser values may be contemplated. 

Referring to Figure 2, the switches S.sub.adj1, S.sub.adj2, S.sub.adj3, S.sub.adj4 (Figure 3) used in the exemplary controllable reactive component 302 (Figure 3) may be implemented by a transistor device. Thus, switch 802 may be implemented by FET device 804. More specifically, by applying a control voltage to the gate G of the FET device 804, a closed electrical circuit connection may be established between the drain D and the Source S of the device 804. 

Referring to Figure 4, each of the qubits 130-136 shown in Figure 1 may, for example, include a transmon 402. As depicted, the transmon 402 may be characterized as a resonant circuit 404 having a capacitance C and a non-linear inductance LAO. Thus, when the transmon receives an RF pulse signal having a frequency that is substantially the same as (i.e., matches) its resonant frequency, the transmon may accordingly oscillate backwards and forwards between, for example, two (2) quantummechanical eigenstates. The oscillation frequency backwards and forwards between these two states occurs at a lower frequency that is proportional to the amplitude of the RF pulse signal. Therefore, as previously described, by controlling the amplitude of the RF pulse signal that is applied to the transmon 402, a desired quantum mechanical eigenstate may be achieved at the end of each pulse period. The transmon 402 may include a josephson junction formed by a metal-insulator-metal (MIM) layer of aluminum, aluminum oxide, and aluminum

Referring back to Figure 1, in operation, two or more of the substantially identical qubits 130-136 may require a predefined change in their respective quantum mechanical eigenstates (e.g., a .pi./2 rotation). Referring to Figure 7, a qubit’s angular rotation is proportional to the product of the amplitude (V.sub.rf) and pulse period (T.sub.pulse) of the radio frequency (RF) pulse signal 700. Since the pulse period (T.sub.pulse) of the radio frequency (RF) pulse signal 700 is the same for all of the substantially identical qubits 130-136 (Figure 1), adjustments to each individual qubit’s 130-136 (Figure 1) angular rotation is accomplished by varying the amplitude (V.sub.rf) of the radio frequency (RF) pulse signal 700 via the respective networks of reactive electrical components a 106-108 (Figure 1). Referring back to Figure 1, in particular, the respective networks of reactive electrical components a 106-108 provide such an adjustment by means of variable capacitor C.sub.adj. Also, as previously described, in embodiments that further include output-stage network of reactive electrical components a 122-108d, the amplitude V.sub.rf (Figure 7) of the radio frequency (RF) pulse signal 700 (Figure 7) may be further adjusted using variable capacitors C’.sub.adj (Figure 6). 

For example, the radio frequency (RF) pulse signal 700 (Figure 7) may be applied to qubit a 130 and qubit b 132 by configuring respective switch unit a 114 and switch unit b 116 accordingly. Since qubit a 130 and qubit b 132 are substantially identical and receive the same radio frequency (RF) pulse signal 700 that is tapped off the transmission lines 102, there may be an expectation that the qubit a 130, qubit b 132 underdo the same quantum mechanical rotation. This expectation may however be thwarted by a difference in reactive component tolerances between the network of reactive electrical components a 106 corresponding to qubit a 130 and the network of reactive Electrical components b 108 corresponding to qubit b 132. More specifically, although the capacitors (i.e., reactive components) within qubit a 130‘s network of reactive electrical components a 106 are manufactured to be the same as qubit b 132‘s network of reactive Electrical components b 108, the manufacturing process may cause slight variations in the capacitance values between the networks of reactive electrical components a 106, 108. For instance, although capacitor C.sub.2 within the qubit a 130‘s network of reactive electrical components a 106 is manufactured to have the same capacitance as capacitor C.sub.2 within qubit b 132‘s network of reactive Electrical components b 108, due to manufacturing tolerances, the C.sub.2 capacitor values in the networks of reactive electrical components a 106, 108 may slightly differ. This causes a slight difference in capacitive reactance value, which in turn contributes to differences in attenuation between network 106 and network 108. Thus, for the same applied RF pulse signal 700 (Figure 7), qubit a 130 and qubit b 132 undergo different rotations as a result of the RF pulse signal 700 being attenuated by slightly different amounts before being applied to the qubit a 130, qubit b 132. However, during calibration, each of the network of reactive electrical components a 106, 108 can be individually adjusted to compensate for such differences in attenuation resulting from reactive component tolerances. Thus, by making the appropriate adjustments, each of qubit a 130 and qubit b 132 receive an attenuated RF pulse signal having the same amplitude, which subsequently causes both qubits to undergo the same predetermined rotation (e.g., a .pi./2 rotation). More particularly, the C.sub.adj capacitance values of the network of reactive electrical components a 106, 108 may be adjusted to compensate for such differences in attenuation resulting from the reactive component tolerances associated with the network of reactive electrical components a 106, 108. 

Brief Description:

illustrates an item 200 in accordance with one embodiment.

Detailed Description:
Brief Description:

illustrates an item 300 in accordance with one embodiment.

Detailed Description:
Brief Description:

illustrates an item 400 in accordance with one embodiment.

Detailed Description:
Brief Description:

illustrates an item 500 in accordance with one embodiment.

Detailed Description:
Brief Description:

illustrates an item 600 in accordance with one embodiment.

Detailed Description:
Brief Description:

illustrates an item 700 in accordance with one embodiment.

Detailed Description:
Brief Description:

Figure 8 shows a quantum mechanical computer radio frequency (RF) signaling system, according to another embodiment

Detailed Description:

Figure 8 shows a quantum mechanical computer radio frequency (RF) signaling system 800, according to another embodiment. In particular, the quantum mechanical computer radio frequency (RF) signaling system 800 enables quantum entanglement between reactively coupled qubits. As depicted, quantum mechanical computer radio frequency (RF) signaling system 800 includes transmission lines 102, a plurality of networks of reactive electrical components  802-804 coupled to the transmission lines 102,  a switch control unit 812 having control outputs 138-144 that are coupled to the plurality of networks of reactive electrical components  802-804d, and a plurality of  qubit x 806 and qubit y 808 coupled to the plurality of networks of reactive electrical components  802-804d. As further depicted, a reactive coupling element 810 may couple  qubit x 806 and qubit y 808. The reactive coupling element 810 may include a network of reactive components, a single capacitor between points A and B, or a transmission line capacitively coupled to links 825 and 827. Using reactive coupling element 810, a quantum entanglement condition between qubit x 806 and qubit y 808 may be accomplished. 

The switch control unit 812 includes respective control outputs 138-144 that, among other things, control the actuation of switches within the plurality of networks of reactive electrical components  802-804d. In particular, the plurality of networks of reactive electrical components  802-804d may be identical to those utilized in Figure 1. The actuation of such switches is depicted in Figure 3, whereby under the control of a reactive network switch control unit 906, different capacitance values and attenuation factors can be set. Switch control unit 812 may be identical to reactive network switch control unit 906, and thus controls the capacitance values and attenuation factors for the plurality of networks of reactive electrical components  802-804d. Although not depicted in Figure 8, as with Figure 1, a switch unit identical to or similar to switch unit a 114 (Figure 1) may be utilized between networks of reactive electrical components 802 and 804b, and  qubit x 806. Moreover, a switch unit identical to or similar to switch unit b 116 (Figure 1) may be utilized between networks of reactive electrical components 804c and 804d, and qubit y 808. Thus, depending on the configuration of switches R.sub.1 and R.sub.2 within each of the switch unit a 114 and switch unit b 116 (Figure 1),  qubit x 806 and qubit y 808 undergo either a predefined change in the linear combination of at least two quantummechanical eigenstates, or maintain their current quantum mechanical eigenstate. The switch control unit 812 may be implemented in hardware, firmware, software, or any combination thereof. For illustrative brevity only two (2) adjacent qubit x 806 and qubit y 808 are depicted in Figure 8. It may, however, be appreciated that any number of qubits (i.e., 1-N) can be coupled to the transmission lines 102,  via corresponding networks of reactive electrical components

In operation, radio frequency (RF) pulse signals f.sub.1 and f.sub.2 are applied to respective transmission lines 102. The transmission lines 102 are each terminated by an impedance matching resistor 146 R in order to mitigate RF signal reflections associated with the radio frequency (RF) pulse signals f.sub.1, f.Sub.2 propagating along each of the transmission lines 102. RF pulse signals f.sub.1 and f.sub.2 may be similar to the RF pulse signal illustrated in Figure 7. For example, RF pulse signals f.sub.1 may include a 5.00 Ghz RF signal that is generated over a 20 nanosecond (ns) pulse period (T.sub.pulse) at 1 microsecond (.mu.s) intervals (T.sub.int). Also, RF pulse signals f.sub.2 may include a 5.05 Ghz RF signal that is generated over a 20 nanosecond (ns) pulse period (T.sub.pulse) at 1 microsecond (.mu.s) intervals (T.sub.int). 

In the embodiment of Figure 8, each of the  qubit x 806 and qubit y 808 can be driven by one of two different RF pulse signals (f.sub.1 or f.sub.2) that are each attenuated by a network of reactive electrical components. Furthermore, adjacent  qubit x 806 and qubit y 808 may be reactively coupled to each other via the reactive coupling element 810. Specifically, as depicted in Figure 8, an RF pulse signal f.sub.1 may be applied to, and propagate, along transmission lines 102. The RF pulse signal f.sub.1 is then tapped off the transmission lines 102 and attenuated by the network of reactive electrical components  802, whereby the attenuated RF pulse signal f.sub.1 is applied to  qubit x 806. Another RF pulse signal f.sub.2 may be applied to, and propagate, along transmission line  . The RF pulse signal f.sub.2 is then tapped off the transmission line   and attenuated by the network of reactive electrical components 804b, whereby the attenuated RF pulse signal f.sub.2 is also applied to  qubit x 806. Thus,  qubit x 806 may be driven either by an attenuated version of RF pulse signal f.sub.1 or an attenuated version of RF pulse signal f.sub.2.

Similarly, as further depicted in Figure 8, RF pulse signal f.sub.1 is also tapped off transmission lines 102 and attenuated by the network of reactive electrical components 804c, whereby the attenuated RF pulse signal f.sub.1 is applied to qubit y 808. RF pulse signal f.sub.2 is also tapped off transmission line   and attenuated by the network of reactive electrical components 804d, whereby the attenuated RF pulse signal f.sub.2 is also applied to qubit y 808. Thus, qubit y 808 may be driven either by an attenuated version of RF pulse signal f.sub.1 or an attenuated version of RF pulse signal f.sub.2. 

As previously described in relation to Figure 7, a qubit’s angular rotation is proportional to the product of the amplitude (V.sub.rf) and pulse period (T.sub.pulse) of the radio frequency (RF) pulse signal 700. Since the pulse period (T.sub.pulse) of the radio frequency (RF) pulse signal 700 is related to its frequency, which is set to the resonance frequency of the  qubit x 806 and qubit y 808 (Figure 8), adjustments to each individual qubit x 806 and qubit y 808 (Figure 8) angular rotation is accomplished by varying the amplitude (V.sub.adj) of the radio frequency (RF) pulse signals f.sub.1, f.sub.2 via the respective networks of reactive electrical components  802-804b (Figure 8). 

Referring back to Figure 8, since the networks of reactive electrical components  802-804d each have an identical electrical configuration to the network depicted in Figure 5, the networks of reactive electrical components  802-804d accordingly provide such an adjustment by means of variable capacitor C.sub.adj. Thus, for each of the networks of reactive electrical components  802-804d, increasing the capacitance of the variable capacitor C.sub.adj increases the attenuation, while decreasing the capacitance of the variable capacitor C.sub.adj decreases the attenuation provided the network

The embodiment of Figure 8 may operate in two modes, whereby the quantum mechanical rotation of each  qubit x 806 and qubit y 808 is either controlled separately (mode 1) or undergoes quantum mechanical entanglement with the other qubit (mode 2). In mode 1, for examplequbit x 806 may receive RF pulse signal f.sub.1 (e.g., 5.00 Ghz), which is attenuated by the network of reactive electrical components  802. Since the frequency of RF pulse signal f.sub.1 substantially matches the resonance frequency of  qubit x 806, the  qubit x 806 undergoes a predefined change (e.g., .pi./2) in the linear combination of at least two quantummechanical eigenstates. However, since qubit y 808 has a resonant frequency that substantially matches the frequency of RF pulse signal f.sub.2 (e.g., 5.05 Ghz), based upon receiving attenuated RF pulse signal f.sub.1 from network 804c, the quantum mechanical eigenstate of qubit y 808 may remain substantially unchanged. Also in mode 1, for example, qubit y 808 may receive RF pulse signal f.sub.2 that is attenuated by network of reactive electrical components 804d. Since the frequency of RF pulse signal f.sub.2 substantially matches the resonance frequency of qubit y 808, the qubit y 808 undergoes a predefined change (e.g., .pi./2) in the linear combination of at least two quantummechanical eigenstates. However, since  qubit x 806 has a resonant frequency that substantially matches the frequency of RF pulse signal f.sub.1, based upon receiving attenuated RF pulse signal f.sub.2 from network 804b, the quantum mechanical eigenstate of  qubit x 806 may remain unchanged. Thus, by applying RF pulse signal f.sub.1 (e.g., 5.00 Ghz) to  qubit x 806 and applying RF pulse signal f.sub.2 (e.g., 5.05 Ghz) to qubit y 808, each qubit x 806 and quit y 808 eigenstate is individually controlled via an RF pulse signal that matchestheir individual resonant frequency

In mode 2, for examplequbit x 806 receives RF pulse signal f.sub.2 that is attenuated by network of reactive electrical components 804b. Qubit y 808 also receives RF pulse signal f.sub.2 that is attenuated by network of reactive electrical components 804d. Although received RF pulse signal f.sub.2 matches the resonant frequency of qubit y 808 and does not substantially match the resonance frequency of  qubit x 806, if the amplitude of RF pulse signal f.sub.2 is sufficient, some quantum entanglement occurs between  qubit x 806 and qubit y 808 via the reactive coupling element 810. In particular, the quantum mechanical eigenstate change experienced by qubit y 808 depends on the quantum mechanical eigenstate of  qubit x 806. Thus, the qubit x 806 and qubit y 808 are entangled. 

The quantum mechanical computer radio frequency (RF) signaling system 800 may be maintained at cryogenic temperatures below one hundred (100) millikelvins (mK) in order to maintain the quantum mechanical computer radio frequency (RF) signaling system 800 at superconducting temperatures. For example, the quantum mechanical computer radio frequency (RF) signaling system 800 may be cooled in a cryostat to a temperature of about 30 mK. 

Brief Description:

Figure 9 shows an exemplary two-dimensional array of qubits receiving RF pulse signals, according to one embodiment

Detailed Description:

Figure 9 shows an exemplary two-dimensional array of qubits 900 receiving RF pulse signals, according to one embodiment. Each of the dark circles denoted by numbers 1-5 represent a qubit. As depicted, each of the qubits are weakly coupled (i.e., reactively) by quantum communication (QC) links QCL. The QC linkslinks QCL may include superconductive electrical links formed from, for example, Aluminum (Al) or Niobium (Nb), whereby each QC link QCL may be reactively coupled (e.g., capacitively) to a qubit at each end. The QC linkslinks QCL provide a means for enabling quantum entanglement conditions between the qubits in the array. As shown, qubits 1 are coupled to transmission line TL1 and are driven at a frequency F1, qubits 2 are coupled to transmission line TL2 and are driven at a frequency F2, qubits 3 are coupled to transmission line TL3 and are driven at a frequency F3, qubits 4 are coupled to transmission line TL4 and are driven at a frequency F4, qubits 5 are coupled to transmission line TL5 and are driven at a frequency F5, and qubits 1 are coupled to transmission line TL’1 and are also driven at frequency F1. In a serpentine connection approach, transmission lines that carry the same frequency to the qubits may be connected together. For example, transmission lines TL1 and TL’1 are both driven at the same frequency F1, and are thus connected together, as indicated by dashed lineconnection 908. Although for illustrative brevity, only transmission lines TL1 and TL’1 are shown, additional transmission lines coupled to other qubits 1 in the exemplary two-dimensional array of qubits 900 would also follow a serpentine pattern of connections. The same rationale may be applied to transmission lines TL2-TL5. 

Alternatively, connections such as connection 908 may be omitted in favor of, for example, inductively coupling a frequency source to transmission lines being driven by the same frequencypulse signal. For example, transmission lines TL1 and TL’1 are both driven at the same frequency F1. Therefore, the RF output signal from a single RF source 904 (i.e., signal generator) may be inductively coupled to each of the transmission lines TL1, TL’1 that are driven at the same frequency F1. In particular, inductive coupling device a 904couples the RF output signal from RF source 904 to transmission lines TL1, while inductive coupling device b 906couples the RF output signal from RF source 904 to transmission lines TL’1. The same rationale may be applied to transmission lines TL2-TL5. The qubits 1-5 depicted in exemplary two-dimensional array of qubits 900 may include the same or similar circuitry for receiving an attenuated RF pulse signal as those corresponding to system 100 of Figure 1

The above exemplary two-dimensional array of qubits 900 of qubits 1-5 may be utilized to form, among other things, a surface code method of error prevention/correction using a discrete number of frequencies, pulse shapes, and phases. For example, one approach may contemplate using five (5) different qubit frequencies (i.e., F1-F5), and six (6) or more different pulses (e.g., pulse period, pulse interval, etc.) associated with each frequency. It may be appreciated that the depicted 2D mesh is exemplary. Thus, different lattices with different interconnections of the qubits and a different numbers of frequencies can be utilized. 

The two-dimensional array of qubits 900 may be maintained at cryogenic temperatures below one hundred (100) millikelvins (mK) in order to maintain the array 900 at superconducting temperatures. For example, the two-dimensional array of qubits 900 may be cooled in a cryostat to a temperature of about 30 mK. 

Although the exemplary embodiments described in the foregoing include networks of reactive components having capacitor devices, other reactive components such as inductors may also be utilized in order to provide a divider network capable of attenuating the received RF pulse signals in a controlled manner


Parts List

100

quantum mechanical computer radio frequency (RF) signaling system

102

transmission lines

104

control logic unit

106

electrical components a

108

Electrical components b

110

Electrical components c

112

Electrical components d

114

switch unit a

116

switch unit b

118

switch unit c

120

switch unit d

122

output-stage network of reactive electrical components a

124

output-stage network of reactive electrical components b

126

output-stage network of reactive electrical components c

128

output-stage network of reactive electrical components d

130

qubit a

132

qubit b

134

qubit c

136

qubit d

138

control output a

140

control output b

142

control output c

144

control output d

146

impedance matching resistor

200

item

300

item

400

item

500

item

600

item

700

item

800

quantum mechanical computer radio frequency (RF) signaling system

802

networks of reactive electrical components

804

links

806

qubit x

808

qubit y

810

reactive coupling element

812

switch unit a

900

exemplary two-dimensional array of qubits

902

RF source

904

inductive coupling device a

906

inductive coupling device b

908

connection


Terms/Definitions

logic circuitry

above array

flowchart or block diagrams

switch positions

outputted

oriented programming language

radio frequency (RF) pulse signals

quantum mechanical eigenstate change

state-setting data

transmission line

serpentine pattern

qubits 1

circuits

aluminum

first plurality

superconducting temperatures

0.1-10 femtofarads

RF output signal

electronic circuitry

reactive network switch control

magnetic storage device

pulse signals

Electrical components c

software

optical transmission fibers

reactance

qubit x

series

portable computer diskette

electronic storage device

local area network

factor

links

leakage

input capacitive reactive component

impedance matching resistor

switch unit

(mode

more different pulses

qubits 2

pi./2 quantum mechanical eigenstate change

state change

processor

given example

copper transmission cables

discrete number

QCSG

quantum entanglement

further propagate

relationship

suitable combination

wire

control output b

mechanical eigenstates

calibration

field-programmable gate arrays

similar programming languages

sub.2 propagating

turn

functionality

floppy disk

basis

computer program products

optical storage device

four

Quantum Computing Signal Generation

longer coherence times

machine instructions

qubit a

operational steps

special purpose hardware

output-stage network of reactive electrical components c

control logic unit

reactive component

links QCL

source code

method

millikelvins

segment

transistor

FET switch

controllable reactive component

implement aspects

flowchart illustration

storage

closing switch R.sub

particular attenuation factor

latter scenario

dark circles

inductors

SRAM

gate G

closed electrical circuit connection

resonance frequency

substantially identical qubits

reactive coupling element

actuating switches S

parallel capacitors

manufacturing tolerances

error prevention/correction

process flow

means

Aluminum (Al) or Niobium

networks of reactive electrical components

read-only memory

FPGA

qubit b

transmission lines

5.00 Ghz RF signal

open position

output-stage network of reactive electrical components a

ground

part

output-stage network of reactive electrical components b

similar circuitry

five

Field Effect

their respective quantum mechanical eigenstates

instance

example

illustrations and/or block diagrams

computer readable program instructions

inductive coupling device b

portable compact disc

one embodiment

switch unit c

frequencies

lines

two modes

mode

operations

punch-cards

system

groove

flowchart and block diagrams

connection

portion

R.sub.2

specified logical function(s)

reference

switch unit d

pulse period T.sub.pulse

microseconds

non-linear inductance LAO

electromagnetic waves

control output a

input terminal

open-circuit switch R.sub

quantum computing environment

attenuated version

attenuated RF pulse signal

pulse signal propagating

optionally provided plurality

attenuated radio frequency (RF) pulse signal

their individual resonant frequency

firmware instructions

R.sub.1

RF signal reflections

control voltage

code

illustrative brevity

radio frequency

frequency source

computing/processing devices

type

discrete capacitor divider networks

pulse interval time

predetermined rotation

serpentine connection approach

quantum

josephson junction

“C” programming language

machine

intervals

qubit y

pulse shapes

transmon

particular manner

capacitor

state information

RF source

FIGS

electrical signals

remote computer or server

special purpose computer

potential quantum state changes

routers

attenuated input RF pulse signal

apparatus

1 microsecond

blocks

leakage current

architecture

electromagnetic storage device

first switch configuration

resistive nature

mechanically encoded device

divider network

tangible device

matches

multiple capacitors C.sub.adj

implementations

calibration processes

superconductive electrical links

possible implementations

predefined change

absence

quantum mechanical computer radio frequency (RF) signaling system

transitory signals

requisite resolution

firewalls, switches, gateway computers

open switch R.sub

resonant frequency

closed position

invention

functions

foregoing describes

reactively coupled qubits

qubits 4

two blocks

predefined state change

controlled manner

-stage network

electrical components a

specified functions or acts

signal

FET switches

smalltalk

instruction execution device

stand-alone software package

network

phases

output

two different RF pulse signals

adjustments

functions/acts

internet

switch unit a

article

resonant circuit

output-stage network of reactive electrical components d

structures

non-exhaustive list

present invention

operation

fiber-optic cable

second plurality

relation

selected

firmware

capacitance value

edge servers

favor

lower frequency

parallel configured capacitive reactive components C.sub.adj

depicted output-stage network

cryostat

flowchart and/or block diagram block or blocks

qubit c

external storage device

oscillation frequency backwards and forwards

selected RF pulse

memory stick

depicted 2D mesh

control output d

their current quantum mechanical eigenstate

4 Ghz RF signal

order

unmatched attenuation factors

instructions

numbers

eigenstate change

dashed line

identical electrical configuration

special purpose hardware-based systems

electrical path

qubits 3

cryogenic temperatures

figures

surface code method

parallel configured capacitive reactive components C’.sub.adj

RF pulse sources

reactive network switch control unit

cryogenically

predefined quantum mechanical eigenstate change

quantum mechanical eigenstate

function/act

module

computer

QCSG Program

general purpose computer

RF pulse signal

20 nanosecond (ns) pulse period

capacitance C

Electrical components b

their current state

pulse interval

flowchart illustrations and/or block diagrams

qubit d

line

mitigates interactions

static random access memory

Source S

quantum entanglement conditions

electrical leakage

radio frequency (RF) pulse signal

computer instructions

adjustable reactance

pulse signal

block diagrams

transmitted

network switch control unit

parallel configuration

aspects

reactive components

remote computer

capacitor C.sub

radio waves

external computer

microcode

common RF pulse signal

quantum mechanical entanglement

wireless transmission

range

methods

hundred

total capacitance

array

computing/processing device

configuration

arrow A.sub

QC links

number

resonance

couples

reactive component tolerances

RF signal

quantum entanglement condition

second switch configuration

switch control unit

direction

two-dimensional array

angular rotation

random access memory

control

pulse period

wide area network

inductive coupling device a

difference

erasable programmable read-only memory

current quantum mechanical eigenstate

combination

block

storage medium

set frequency

mechanical computer radio frequency

metal-insulator-metal

succession

capacitor devices

resistive characteristics

embodiment

instruction-set-architecture

plurality

digital versatile disk

process

fact

transistor device

output terminal

two states

.pi./2 rotation

light pulses

object

logic arrays

propagate

expectation

hardware

quantum communication

predefined quantum

product

equation

input

points

following

wireless network

semiconductor storage device

embodiments

EPROM or Flash memory

5.05 Ghz RF signal

actuation

greater or lesser values

and network

attenuation factor variation

regard

drain D

program instructions

programmable data processing apparatus

predefined .pi

control output c

creation

Electrical components d

systems

adjacent qubits

Internet Service Provider

electrical leakage current

configures

computer program product

result

qubits 5

switch unit b

manufacturing process

quantum mechanical rotation

selected qubits

hard disk

frequency

more specific examples

unit

linear combination

operating

manufacture

FET device

waveguide

multiple transmission lines

foregoing

conventional procedural programming languages

temperature

aluminum, aluminum oxide

reverse order

e.g., capacitors and inductors

qubit n

Package Transport by Unmanned Aerial Vehicles


Drawings

Brief Description:

Figure 1 depicts a high level view of a system for performing package transport services in accordance with an embodiment

Detailed Description:

Referring now to Figure 1, a high level view of a system 100 for performing package transport services is generally shown in accordance with an embodiment. The system 100 includes a plurality of unmanned aerial vehicles (UAV(s) 102) and a plurality of package docking device(s) 104, each of which is communicatively coupled to one or more network(s) 108. A UAV(s) 102 refers to an unmanned aircraft whose flight is autonomously controlled through onboard computer systems. In an embodiment, a portion of the flight control may be implemented remotely through interaction with a ground station (not shown). The UAV(s) 102 include physical components and related circuitry configured to pick up, carry, and drop off packages

The package docking device(s) 104 refer to structures used in assisting UAVs in implementing corresponding docking functions. A package docking device(s) 104 may be assigned to or otherwise controlled by an end user of the package transport services. A package docking device(s) 104 can be identified by the UAVs based on a unique identifier that is assigned to the package docking device(s) 104 and which identifier is communicatively conveyed to the UAV(s) 102 over a network at the time of a package transfer operation, as will be described further herein. As indicated above, the package docking devices may be permanent or semi-permanent fixed structures or may be portable structures that are lightweight and can be carried by a human.

The network(s) 108 may be any type of known networks including, but not limited to, a wide area network (WAN), a local area network (LAN), a global network (e.g. Internet), a virtual private network (VPN), and an intranet. The network(s) 108 may be implemented using wireless networks or any kind of physical network implementation known in the art, e.g., using cellular, satellite, and/or terrestrial network technologies. The network(s) 108 may also include short rangewireless networks utilizing, e.g., BLUETOOTH.TM. and WI-FI.TM. technologies and protocols. In one embodiment, the UAV(s) 102 communicate with the package docking device(s) 104 over a short-range wireless network, while the UAV(s) 102 communicate with other network entities, such as the package transport services provider, over a long-range network (e.g., satellite or cellular). 

The system 100 also includes a host system computer 106, a personal computer 112, and a mobile device 114, each of which is communicatively coupled to one or more of the network(s) 108. The host system computer 106 may be implemented as one or more high-speed computer processing devices, such as one or more mainframe computers capable of handling a high volume of activities conducted on behalf of end users of the package transport services. The host system computer 106 implements an application 116 to centrally manage the package transport services described herein. The application 116 includes a user interface 118 that is presented to end users via the personal computer 112 and the mobile device 114. The user interface 118 is described further in Figure 6

In one embodiment, the host system computer 106 may be implemented by an entity that sells goods to consumers. Alternatively, the host system computer 106 may be implemented by a third-party service provider that provides the package transport services as an intermediary between the seller entity and the consumers. In another embodiment, the host system computer 106 may be implemented by a non-commercial entity, e.g., for situations in which packages (such as food or medical supplies) need to be transferred between locations as part of an emergency condition where first responders are unable to gain access to various roads or locations. For purposes of illustration, the package transport services are described herein with respect to a commerce application

The personal computer 112 may be implemented as a general-purpose desktop or laptop computer. An end user consumer may access the user interface 118 of the host system computer 106 via a web browser operating on the personal computer 112. The end user may ordergoods from the host system computer 106, as well as schedule delivery of the goods, as will be described further herein. 

The mobile device 114 refers to a portable, wireless communications device, such as a smart phone, personal digital assistant, or tablet PC. Similar to the personal computer 112, the end user may access the user interface 118 of the host system computer 106 via a web browser operating on the mobile device 114 to ordergoods and schedule deliveries. In an embodiment, the mobile device 114 includes a global positioning system (GPS) that enables a UAV(s) 102 to locate a package docking device(s) 104 associated with the mobile device 114, as will be described further herein. 

A storage device 110 is coupled to the host system computer 106 and may be alternatively coupled to the host system computer 106 via one or more of the network(s) 108. The storage device 110stores a variety of data used by the host system computer 106 in implementing the package transport services described herein. As shown in Figure 1, the storage device 110storesorders generated for end users, as well as transaction records. The transaction records provide information about completed orders. It is understood that the storage device 110 may be implemented using memory contained in the host system computer 106 or may be a separate physical device. The storage device 110 is logically addressable as a consolidated data source across a distributed environment that includes the network(s) 108

The host system computer 106 operates as a database server and coordinates access to application data including data stored in the storage device 110. The host system computer 106 may be implemented using one or more servers operating in response to a computer program stored in a storage medium accessible by the server. The host system computer 106 may operate as a network server (e.g., a web server) to communicate with the personal computer 112 and the mobile device 114 and other network entities

As indicated above, the package docking device(s) 104 may be a secured structure that is permanently or semi-permanently installed at a fixed location, such as an area of a real estate, an apartment building rooftop, etc., and is described in figure 2. In an alternative embodiment, the package docking device(s) 104 is implemented as a portable device, which is described in Figure 3. Turning now to Figure 2 and Figure 3, perspective views of package docking device A 200 and portable package docking device 300, respectively, will now be described. 

Brief Description:

 Figure 2 depicts a perspective view of a package docking device in accordance with an embodiment

Detailed Description:

The package docking device A 200 of Figure 2 includes a housing 208, an opening 204 for receiving a package, and a door 206 for securing the package in the housing 208. An upper wall 202, or roof, of the housing 208 may be used as a landing site for the UAV. The package docking device A 200 may be constructed of a durable material, such as metal, and may be mounted or fixed to another permanent structure (e.g., a building or concrete base) to prevent theft or tampering. The door 206 is closed and locked to secure delivered packages, and may be opened by the UAV(s) 102 using a security key. It will be understood that the configuration shown in Figure 2 is not limited thereto. For example, in other configurations, the package docking device A 200 may have various shapes, sizes, and dimensions. Further, an additional panel or structure may be installed near the opening 204 such that the UAV lands on the panel within a close proximity of the opening 204 to facilitate hand off of the package

Brief Description:

Figure 3 depicts a perspective view of a portable package docking device in accordance with an embodiment;

Detailed Description:

The portable package docking device 300 of Figure 3 is constructed of a lightweight and flexible material to provide ease of portability. The portable package docking device 300 may be implemented as a substantially flat structure with a thickness that is narrow enough to enable the portable package docking device 300 to be rolled up for portability and storage. Dimensions of the portable package docking device 300 may vary based on applications of its use. In one non-limiting embodiment, the length and width of the portable package docking device 300 is sized substantially similar to the length and width of a beach towel. Details of the various components of the package docking device A 200 and portable package docking device 300 are described further in Figure 5

Brief Description:

Figure 4 depicts a block diagram of an unmanned aerial vehicle (UAV) in accordance with an embodiment

Detailed Description:

Turning now to Figure 4, a UAV 102 (102) will now be described in an embodiment. The UAV 102 includes communication components 404, a control processor 406, and memory 408. The memory 408stores a transaction packet 410, a transaction record 412, and an application 414. The application 414 is executable by the control processor 406 to coordinate the functions of the UAV 102 as described herein. The control processor 406 is communicatively coupled to the circuitry of the UAV 102 to receive operational data from components of the UAV 102, such as data indicating the activation of landing gear or the physical engagement of the landing gear at a package docking device

The communication components 404 include an antenna configured to receive communications from the host system computer 106 over one or more of the network(s) 108. The communications may include instructions associated with a package transfer operation. The package transfer operation refers to the pickup and delivery of a package to a target package docking device as defined by GPS coordinates (and vertical scale information that provides altitude data corresponding to the delivery point) and a device identifier of the package docking device(s) 104. The instructions include the GPS coordinates, vertical scale data, and the identifier of the package docking device(s) 104 to which the package will be delivered. The instructions may also include an identification of an order corresponding to the package that differentiates between orders placed for two or more items by the same consumer. In an embodiment, the instructions may further include individual identification of items within an order. For example, a package may contain a partial order due to weight restrictions placed on the UAV, or because an item is not available at the precise time of transport, or because the items are picked up from multiple geographically-dispersed locations for transport. If a package contains a partial order, the UAV may contain instructions that identify those items of the order that are being transported by the UAV. The instructions may also indicate that the partial order reflects `x` of `y` items in an order being delivered. If the package docking system is a secure device, the instructions may also include a security key, as described further herein. 

These instructions are conveyed to the UAV(s) 102 from the host system computer 106 as a transaction packet 410. In addition, the communications enabled by the antenna include communications from the UAV(s) 102 to the host system computer 106. For example, upon completing a package transfer operation, the UAV(s) 102 may send associated information (e.g., transaction recording, time/date stamp, etc.) to the host system computer 106, which is stored in the storage device 110 as a transaction record. Alternatively, the information may be stored as the transaction record 412 in the memory 408 of the UAV 102. 

The communications components 404 also include an antenna configured to send short-range wireless communications to the package docking device(s) 104. In an embodiment, when the UAV 102 reaches its destination defined by the GPS coordinates, it may send a communication to discover the presence of the package docking device(s) 104. Alternatively, the package docking device(s) 104 may be configured to periodically send out signals to enable its discovery. Once the UAV 102 has discovered the presence of a package docking device(s) 104, the UAV 102 requests the device identifier of the discovered device 104. The device identifier received from the package docking device(s) 104 is compared against the device identifier in the transaction packet 410 to ensure that the package is delivered to the correct package docking device. The communications components 404 may further include an adapter configured to translate radio signals from the package docking device(s) 104 to data that is stored in the memory 408 of the UAV 102. 

In an embodiment, the communications components 404 may include WI-FI components that are initiated when no package docking device is discovered, or alternatively, if the device identifier received by the UAV 102 is different than the device identifier in the transaction packet 410. The first scenario may occur if the package docking device has been moved to a new location. The latter scenario may occur if the package docking device has been moved from its location and another package docking device is subsequently placed in that location. The latter scenario may otherwise occur when two package docking devices are located in very close proximity to each other (e.g., within a few feet), such that the GPS coordinates span the physical locations of both package docking devices and the UAV 102 receives the device identifier from the wrong package docking device. In any of these scenarios, the UAV 102 may utilize the WI-FI components to send a signal searching for the package docking device

Optionally, the UAV 102 may include a video recording device 402 to record package transfer operations. The video recording device 402 may be configured through prompts from the application 414 to begin recording, e.g., when the application 414 receives an indication that the landing apparatus of the UAV 102 has been triggered. The video recording device 402 may be prompted through the application 414 to discontinue recording, when the application 414 received an indication that the package transfer operation (i.e., successful delivery of the package to the package docking device(s) 104) is complete. The recording may be stored as a transaction record 412 in the memory 408 of the UAV 102. In addition, the recording may be transmitted through the communication components 404 to the package docking device(s) 104 if the package docking device(s) 104 is equipped to receive the recording. The transaction record 412 may include other information including a time/date stamp of the delivery, as well as transaction details (e.g., invoicing information, billing and payment information, etc.). In addition, the transaction record 412 may be supplemented with electronic coupons or advertisements for goods offered by the seller or through affiliates of the seller, if desired. 

Brief Description:

Figure 5 depicts a block diagram of components of the package docking devices of Figure 2 and Figure 3 in accordance with an embodiment

Detailed Description:

Turning now to Figure 5, a package docking device 104 (104,  package docking device A 200, portable package docking device 300) will now be described. The package docking device 104, whether portable or fixed, includes communication component(s) 404, a processor 508, and memory 512. If the package docking device 104 is a portable device, the communications components 404 may include a GPS device that is used by the UAV 102 to track the location of the package docking device 104. Alternatively, a GPS system on mobile device 114 associated with the package docking device 104 may be used to enable the UAV 102 to track the location of the package docking device 104, assuming that the mobile device 114 is in close proximity with the package docking device 104. 

The communication components 404 include an antenna configured to receive communications from the UAV 102 over a short-range network (e.g., BLUETOOTH). For example, the package docking device 104 may receive prompts from the UAV 102 to discover its presence at a GPS location. The package docking device 104 may receive requests for the device identifier 510 of the package docking device 104. Further, upon completing a package transfer operation, the UAV 102 may send associated information (e.g., transaction recording, time/date stamp, etc.) to the package docking device 104, which may be stored in the memory 512 as a transaction record 412

The memory 512stores a device identifier 510, a transaction record 412, and an application 414. The application 414 is executable by the processor 508 to coordinate the functions of the package docking device 104 described herein. The device identifier 510 may be a network address of the package docking device 104. 

The package docking device 104 may optionally include a video recording device 402 for recording package transfer operations. The video recording device 402 may be disposed at a location on the package docking device 104 suitable for capturing the hand off of the package to the package docking device 104. 

If the package docking device 104 is a secured device (e.g., the  package docking device A 200 of Figure 2), the package docking device 104 may include a locking system 502 and a security key 506. The locking system 502 may be implemented as an electronic lock (e.g., using electro-magnetics) using the security key 506 as an authentication means to unlock the package docking device 104. The security key 506 may be provided to the host system computer 106 as part of the order process

In an embodiment, the package docking device 104 may include a detection sensor 504 that is configured to detect a landing function of the UAV 102. For example, the detection sensor 504 may be a weight sensor that is disposed on the landing panel (e.g., upper wall 202 or roof of package docking device A 200 in Figure 2). The detection of weight may indicate to the package docking device that the UAV 102 has landed, and the subsequent absence of weight may indicate the departure of the UAV 102. This information may be stored in the package docking device 104 as part of the transaction record 412.

Brief Description:

Figure 6 depicts a user interface for placing and reviewing an order for delivery of a package in accordance with an embodiment; and 

Detailed Description:

As indicated above, the package transport services are managed by the host system computer 106. In an embodiment, an end user of the services may access a website of the host system computer 106 and is presented with a user interface 118 for initiating an order for goods offered by the entity associated with the host system computer 106. A sample user interface screen 600 is shown in Figure 6. An area 602 of the user interface screen 600 is used by the end user to enter order information, and an area 604 of the user interface screen 600 is used by the end user to view the order

In placing an order, the user is prompted to enter GPS coordinates606 of the delivery point in which the package is to be delivered. The end user may also enter vertical scale information 608 in the form of the sea level corresponding to the delivery point. In an embodiment, if the order is placed through a mobile device 114, the GPS coordinates of the mobile device 114 may be transmitted to the host system computer 102 and automatically entered in the corresponding fields of area 602. The user further enters a device identifier 510 of the package docking device to which the package will be delivered. The end user then selects an option “Ship to this destination” 610. The user interface screen 600 also includes an option that allows the end user to select a mailing address for the delivery if desired. The review order information 604 provides a summary of the order details including payment and billing information, as well as discounts. The order information 604 may also include an order identifier 612 assigned to the order. Once the order has been placed, the package transport services include providing order details to a designated UAV for implementing a package transfer operation

Brief Description:

Figure 7 depicts a flow diagram of a process for implementing package transport operations in accordance with an embodiment

Detailed Description:

Turning now to Figure 7, a flow diagram of a process 700 for implementing the package transfer operations will now be described in an embodiment. The process described in Figure 7 assumes that the UAV 102 has picked up the package subject to an order placed, e.g., via the user interface screen 600 of Figure 6

At block 702, the UAV 102 receives a transaction packet (e.g., packet 410 of Figure 4) for the package transfer operation. The transaction packet includes the GPS coordinates and the device identifier of the package docking device associated with the package transfer request. The transaction packet may be stored in the memory 408 of the UAV 102. 

At block 704, upon arrival at the delivery point as defined by the GPS coordinates and vertical scale information, the application 414 receives a device identifier from a package docking device located at the delivery point and compares the device identifier for the package docking device located at the delivery point with the device identifier stored in the transaction packet 410

At block 706, the application 414 determines whether the device identifier of the package docking device located at the delivery point matches the device identifier stored in the transaction packet 410. If so, the application 414 directs the UAV 102 to initiate the package transfer operation. The package transfer operation includes a hand off of the package between the UAV and the package docking device. The package transfer operation may also include recording the details of the hand off including the date and time of delivery and/or videorecording the hand off. 

At block 710, once the operation is completed, the application 414 transmits confirmation of the operation to the end user. This may be implemented using various techniques. For example, the confirmation may be directly transmitted to the package docking device over the wireless network. Alternatively, the confirmation may be transmitted by the UAV 102 over satellite, cellular, or other long-range network to the host system computer 106, which then provides the end user with access to the confirmation. In another embodiment, the UAV 102 may store the confirmation along with other confirmations in its memorymemory 408 and upload the confirmations in a batch process to the host system computer 106 at a designated time

If, however, the device identifier of the package docking device at the delivery location does not match the device identifier in the transaction packet 410, at block 712, the application 414 directs the communication components 404 to transmit a request over a short-range (e.g., BLUETOOTH or WI-FI) network. The request may include the device identifier, or network address, of the package docking device. Assuming that the package docking device has not moved outside of the range of communication of the UAV, the package docking device having the network address sends a signal indicating its presence at a new location. The package docking device, or alternatively the mobile device associated with the package docking device, may then send updated GPS location information to the UAV at block 714. The UAV is re-routed to the new location based on the updated GPS coordinates at block 716, and process reverts back to block 704

As indicated above, the package docking device may be a secured system in which a locking system and security key (e.g., locking system 502and security keysecurity key 506, respectively, of Figure 5) is used to gain access to the device. In this embodiment, the process 700 may include additional functions. The control processor 406 may be configured to store the security key associated with the package docking device. In an embodiment, the control processor 406 may be configured to receive an acknowledgement communication from the package docking device upon completion of the package transfer operation indicating the package docking device received the package. In a further embodiment, the control processor 406 may be configured to transmit, upon reaching a pre-defined clearance after departure of the UAV, a request to the package docking device to secure the package by locking the door. In this embodiment, a confirmation of the transaction may be transmitted by the UAV to the package docking device when the UAV receives an acknowledgement that the package is secured. 


Parts List

100

system

102

UAV(s)

104

package docking device(s)

106

host system computer

108

network(s)

110

storage device

112

personal computer

114

mobile device

116

application

118

user interface

200

item

202

upper wall

204

opening

206

door

208

housing

300

portable package docking device

402

video recording device

404

communication component(s)

406

control processor

408

memory

410

transaction packet

412

transaction record

414

application

502

locking system

504

detection sensor

506

security key

508

processor

510

device identifier

512

memory

600

user interface screen

602

area

604

order information

606

608

Sea level:

610

ship to this destination

612

item

700

process

702

block

704

block

706

decision block

708

block

710

block

712

block

714

block

716

block


Terms/Definitions

external computer

technologies

end users

return location

specification

firewalls, switches, gateway computers

BLUETOOTH.TM

server

e.g., satellite or cellular

regard

connection

UAV lands

semi-permanent structure

groups

computer program products

electromagnetic storage device

delivery

web server

computer

portability and storage

one non-limiting embodiment

completed orders

summary

various modifications

communication component(s)

vertical scale information

computer program product

short-range network

goods

addition

special purpose hardware

two or more items

communications

conjunction

antenna

third-party service provider

pickup/return operations

operational data

local area network

GPS device

stores

delivery destinations

dimensions

systems

designated time

order packages

delivery points

laptop computer

savings

copper transmission cables

acknowledgement communication

instruction execution device

package transport operations

sizes

meeting

orders

program instructions

article

oriented programming language

unique identifier

embodiments

delivery point

method

reference

process

intranet

host system

completion

transaction recording

package transport services

firmware instructions

protocols

office

date and time

specified functions or acts

electronic lock

portable compact disc

general purpose computer

personal digital assistant

storage medium (or media

transaction records

wireless network

functionality

user interface screen

portability

source code

terrestrial network technologies

[0055] Computer

aspects

physical network implementation

apparatus

rooftop

docking functions

one more other features

methods

SRAM

mobile device

electro-magnetics

terminology

portion

global network

block

other information

updated GPS coordinates

order details

e.g. Internet

roof

provider

portable package docking devices

other programmable apparatus

provider/service

one or more servers

packet

information

communications components

[0057] These computer

option

transaction packet

flexible material

processor

fixed package docking devices

electronic coupons or advertisements

application data

and security key

GPS system

permanent structure

virtual private network

communication components

database server

wire

network server

human

conventional procedural programming languages

behalf

other transmission media

electronic circuitry

user

item

intermediary

following detailed description

identification

successful delivery

configuration

memory stick

door

logic arrays

[0054] Computer

metal

possible implementations

additional panel or structure

state-setting data

storage

hand

radio waves

destinations

other configurations

landing apparatus

practical application

context

internet

user’s

y` items

acknowledgement

precise time

device

combination

ground station

multiple destinations

specify preferred delivery locations

authentication means

subsequent absence

wide area network

building or concrete base

GPS coordinates

“C” programming language

flight control

range

light pulses

other long-range network

object

new location

tangible device

principles

device identifier

transaction details

transaction

flowchart or block diagrams

deliveries

correct package docking device

mechanisms

goods and schedule deliveries

substantially flat structure

schedule delivery

networks

UAV transports packages

network adapter card or network interface

FPGA

package transfer request

specified logical function(s)

[0056] Aspects

order information

opening

Internet Service Provider

computer instructions

materials

accompanying drawings

outdoor arenas

arrival

host system or service provider

locking mechanism

system

multiple parties

host system computer

thickness

module

element components

distributed environment

latter scenario

associated information

its presence

following

field-programmable gate arrays

billing and payment information

routers

related circuitry

scope and spirit

groove

location

foregoing

business

smalltalk

high level view

apartment complex

delivered packages

reverse order

correct person

length and width

first responders

punch-cards

special purpose hardware-based systems

function

means

computer readable program instructions

one or more programming languages

consumer

landing function

website

seller

electromagnetic waves

discounts

durable material

portable package docking device

floppy disk

package deliveries

plurality

instruction-set-architecture

320 determines

video recording device

high volume

affiliates

enabling package deliveries

EPROM or Flash memory

time

food

microcode

vertical scale data

integers

presence or addition

unmanned aerial vehicles (UAVs)

order process

external storage device

functions/acts

operations

locations

package docking system

network address

long-range network

pickup and delivery

manufacture

area

identifier

kind

package docking device communicates

particular manner

package transfer operations

transitory signals

GPS location

operational steps

real estate

secured device

flowchart illustrations

flow diagram

variations

apartment building rooftop

transaction record

scenarios

physical components

its memory

WI-FI components

indicated above

close proximity

its location

UAV(s)

access

its discovery

apartment tenant

mechanically encoded device

flowchart illustrations and/or block diagrams

illustration and description

electrical signals

fact

wireless networks

transport

many modifications

order

housing

presence

emergency condition

delivery location

optical storage device

electronic storage device

items

particular use

portable, wireless communications device

designated UAV

general-purpose desktop

payment and billing information

respective computing/processing device

same consumer

package docking devices

purpose

description

detection sensor

computing/processing device

architecture

corresponding package docking device

landing site

function elements

request

entity

very close proximity

flowchart illustration

package

series

few feet

capability

flowchart and block diagrams

short-range

waveguide

users

multiple geographically-dispersed locations

perspective views

special purpose computer

remote computer or server

random access memory

block diagram

individual identification

lightweight

seller entity

structure, material, or act

various components

structures

figure

turning

known networks

signal

conclusion

other devices

landing gear

response

commerce application

web browser

secured system

requests

particular item

remote work locations

machine

one or more networks

one or more mainframe computers

memory

end user consumer

indication

physical locations

steps

further embodiment

fiber-optic cable

secured structure

subject matter

network(s)

means or step

plural forms

elements

beach towel

physical engagement

other freely propagating electromagnetic waves

end user

services

departure

static random access memory

wireless transmission

order identifier

additional functions

unmanned aircraft

stand-alone software package

locking system

various techniques

other device

singular forms

weight restrictions

network

weight

activation

two package docking devices

details

corresponding structures

components

confirmation

recording package transfer operations

erasable programmable read-only memory

review order information

one or more high-speed computer processing devices

FIGS

more specific examples

tablet PC

computing/processing devices

theft or tampering

semiconductor storage device

sample user interface screen

non-exhaustive list

delivery time

package subject

control processor

weight sensor

ordinary skill

medical supplies

non-commercial entity

personal computer

various embodiments

illustrations and/or block diagrams

onboard computer systems

optical transmission fibers

densely populated city

unmanned aerial vehicle

remote computer

terms

magnetic storage device

satellite

altitude data

digital versatile disk

other claimed elements

state information

interaction

signals

corresponding fields

DETAILED DESCRIPTION

read-only memory

purposes

user interface

target package docking device

logic circuitry

consumers

block diagrams

global positioning system

its destination

recording

communication

circuitry

figures

end user’s

blocks

situations

data

instructions

short range

landing panel

similar programming languages

partial order

separate physical device

acts

two blocks

service provider

delivery UAV

variety

suitable combination

particular embodiments

one destination

confirmations

operation

computer program

short-range wireless communications

sea level

package transport services provider

discovered device

others

package transfer operation

security key

example

prompts

alternative embodiment

package delivery service provider or centralized service

short-range wireless network

applications

other features

storage device

movement

panel

figure 2.

permanent or semi-permanent fixed structures

time/date stamp

stated features

portable device

edge servers

equivalents

perspective view

package delivery provider

first scenario

packages

functions

programmable data processing apparatus

consolidated data source

delivery and/or video

code

flowchart and/or block diagram block or blocks

purchase or order

highly populated areas

package docking device(s)

e.g., upper wall or roof

implement aspects

present invention

function/act

machine instructions

device identifier and package docking device

ease

mailing address

detection

form

other confirmations

various roads or locations

one embodiment

radio signals

performing package transport services

adapter

fixed location

succession

hard disk

advantages

secure device

application

updated GPS location information

storage medium accessible

alternatively the mobile device

batch process

segment

illustration

portable computer diskette

option “Ship

locking system and security key

number

embodiment

one application

wrong package docking device

destination

upper wall

other programmable data processing apparatus

forgoing

smart phone

part

activities

cellular, satellite

invention

storage medium

alternative implementations

claims

type

other network entities

various shapes

combinations

home

Cloud Environment


Drawings

Brief Description:

illustrates a Cloud computing node 100 in accordance with one embodiment.

Detailed Description:

As shown in Figure 1, computer system/server 102 in Cloud computing node 100 is shown in the form of a general-purpose computing device. The components of computer system/server 102 may include, but are not limited to, one or more processors or processing units 104, a system memory 106 , and a bus 126 that couples various system components including system memory 106 to processor processing units 104.

Bus 126 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.

Computer system/server 102 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 102, and it includes both volatile and non-volatile media, removable and non-removable media.

System memory 106 can include computer system readable media in the form of volatile memory, such as Random access memory (RAM) 108 and/or cache memory 110. Computer system/server 102 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, a storage system 112 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”) and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 126 by one or more data media interfaces. As will be further depicted and described below, system memory 106 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of the invention.

Program/utility 114 having a set (at least one) of program modules 116 may be stored in system memory 106 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 116 generally carry out the functions and/or methodologies of the invention as described herein.

Computer system/server 102 may also communicate with one or more external devices 122 such as a keyboard, a pointing device, a display 120, etc.; one or more devices that enable a user to interact with computer system/server 102; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 102 to communicate with one or more other computing devices. Such communication can occur via I/O interfaces 118. Still yet, computer system/server 102 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 124. As depicted, network adapter 124 communicates with the other components of computer system/server 102 via bus 126. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 102. Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

Brief Description:

illustrates an item 200 in accordance with one embodiment.

Detailed Description:

Referring now to Figure 2, illustrative cloud computing environment 210 is depicted. As shown, cloud computing environment 210 comprises one or more Cloud computing node 100 with which computing devices such as, for example, personal digital assistant (PDA) or cellular telephone 204, desktop computer , laptop desktop computer 208, and/or automobile computer system 206 communicate. This allows for infrastructure, platforms, and/or software to be offered as services (as described above in Section I) from cloud computing environment 210, so as to not require each client to separately maintain such resources. It is understood that the types of computing devices shown in Figure 2 are intended to be illustrative only and that cloud computing environment 210 can communicate with any type of computerized device over any type of network and/or network/addressable connection (e.g., using a web browser).

Brief Description:

illustrates an item 300 in accordance with one embodiment.

Detailed Description:

Referring now to Figure 3, a set of functional abstraction layers provided by cloud computing environment 210 ( Figure 2) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 3 are intended to be illustrative only, and the invention is not limited thereto. As depicted, the following layers and corresponding functions are provided:

hardware and software layer 308 includes hardware and software components. Examples of hardware components include mainframes. In one example, IBM® zSeries® systems and RISC (Reduced Instruction Set Computer) architecture based servers. In one example, IBM pSeries® systems, IBM xSeries® systems, IBM BladeCenter® systems, storage devices, networks, and networking components. Examples of software components include network application server software. In one example, IBM WebSphere® application server software and database software. In one example, IBM DB2® database software. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere, and DB2 are trademarks of International Business Machines Corporation in the United States, other countries, or both.)

Virtualization layer 306 provides an abstraction layer from which the following exemplary virtual entities may be provided: virtual servers; virtual storage; virtual networks, including virtual private networks; virtual applications; and virtual clients.

Management layer 304 provides the exemplary functions described below. Resource provisioning provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the Cloud computing environment. Metering and Pricing provide cost tracking as resources are utilized within the Cloudcomputing environment, and billing or invoicing for consumption of these resources. In one example, these resources may comprise application software licenses. Security provides identity verification for users and tasks, as well as protection for data and other resources. User portal provides access to the Cloud computing environment for both users and system administrators. Service level management provides Cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment provides pre-arrangement for, and procurement of, Cloud computing resources for which a future requirement is anticipated in accordance with an SLA.

Workloads layer 302 provides functionality for which the Cloudcomputing environment is utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation; software development and lifecycle management; virtual classroom education delivery; data analytics processing; transaction processing; and resource credit management. As mentioned above, all of the foregoing examples described with respect to Figure 3 are illustrative only, and the invention is not limited to these examples.


Parts List

100

Cloud computing node

102

computer system/server

104

processing units

106

system memory

108

Random access memory (RAM)

110

cache memory

112

storage system

114

program/utility

116

program modules

118

I/O interfaces

120

display

122

external devices

124

network adapter

126

bus

200

item

202

laptop

204

cellular telephone

206

automobile computer system

208

desktop computer

210

cloud computing environment

300

item

302

workloads layer

304

management layer

306

virtualization layer

308

hardware and software layer


Terms/Definitions

Broad network access

capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Community Cloud

the Cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on-premises or off-premises.

Private Cloud

the Cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on-premises or off-premises.

Hybrid Cloud

the Cloud infrastructure is a composition of two or more Clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., Cloud bursting for load-balancing between Clouds).

Resource pooling

the provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.

Cloud Platform as a Service (PaaS)

the capability provided to the consumer is to deploy onto the Cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying Cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.

Cloud Software as a Service (SaaS)

the capability provided to the consumer is to use the provider’s applications running on a Cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying Cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

Public Cloud

the Cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling Cloud services.

Cloud computing

a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This Cloud model promotes availability and is comprised of at least five characteristics, at least three service models, and at least four deployment models.

On-demand self-service

a consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed, automatically without requiring human interaction with each service’s provider.

Measured service

cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

Cloud Infrastructure as a Service (IaaS)

the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying Cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

Rapid elasticity

capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

Cloud Computing Environment


Drawings

Brief Description:

illustrates a schematic diagram of a cloud computing environment in which embodiments of the present invention may be implemented. 

Detailed Description:

Figure 1 is a schematic diagram of a cloud computing environment 102 in II embodiments of the present invention may be implemented. As shown, cloud computing environment 102 includes one or more cloud computing nodes 104 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone 112, desktop computer 110, laptop computer 106, and/or automobile computer system 108 may communicate. Nodes 104 may communicate with one another. The nodes 104 may be grouped (not shown) physically or virtually, in one or more networks, such as private, community, public, or hybrid clouds as described hereinabove, or a combination thereof, which allows cloud computing environment 102 to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices 112-N shown in Figure 1 are intended to be illustrative only and that computing nodes 104 and cloud computing environment 102 can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser). 

Brief Description:

illustrates a diagram of abstraction model layers of a cloud computing environment in which embodiments of the present invention may be implemented. 

Detailed Description:

Figure 2 is a diagram of abstraction model layers of a cloud computing environment in which embodiments of the present invention may be implemented. In Figure 2, a set of functional abstraction layers provided by cloud computing environment 102 (Figure 1) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 2 are intended to be illustrative only and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided: 

hardware and software layer 208 includes hardware and software components. Examples of hardware components include: mainframes 242; RISC (Reduced Instruction Set Computer) architecture based servers 244; servers 246; blade servers 248; storage devices 250; and networks and networking components 252. In some embodiments, software components include network application server software 254 and database software 256

Virtualization layer 206 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 226; virtual storage 234; virtual networks 236, including virtual private networks; virtual applications and operating systems 238; and virtual clients 240

In one example, management layer 204 may provide the functions described below. Resource provisioning 212 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and pricing 214provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 216 provides access to the cloud computing environment for consumers and system administrators. Service level management 218 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 222 provide pre-arrangement for, and procurement of, cloudcomputing resources for which a future requirement is anticipated in accordance with an SLA. 

Workloads layer 202 provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation 210; software development and lifecycle management 220; virtual classroom education delivery 224; data analytics processing 228; transaction processing 230; and file transfer processing 232


Parts List

100

item

102

cloud computing environment

104

computing nodes

106

laptop computer

108

automobile computer system

110

desktop computer

112

cellular telephone

202

workloads workloads layer

204

management layer

206

Virtualization layer

208

mapping and navigation

210

hardware and software layer

212

resource provisioning

214

metering and pricing

216

user portal

218

service level management

220

software development and lifecycle management

222

Service Level Agreement (SLA) planning and fulfillment

224

virtual classroom education delivery

226

virtual servers

228

data analytics processing

230

transaction processing

232

file transfer processing

234

virtual storage

236

virtual networks

238

virtual applications and operating systems

240

virtual clients

242

mainframes

244

RISC (Reduced Instruction Set Computer) architecture based servers

246

servers

248

blade servers

250

storage devices

252

networks and networking components

254

network application server software

256

database software


Terms/Definitions

identity verification

functional abstraction layers

hardware and software layer

following layers

network and/or network

resources

networks and networking components

examples

public

local computing devices

servers

virtual storage

cloud consumers and tasks

virtual classroom education delivery

type

functionality

provide cost tracking

computerized device

one or more cloud computing nodes

layers

computing nodes

blade servers

personal digital assistant

billing or invoicing

dynamic procurement

pre-arrangement

invention

one or more networks

virtual entities

network application server software

procurement

virtual applications and operating systems

virtual servers

connection

hybrid clouds

example

Service Level Agreement (SLA) planning and fulfillment

application software licenses

fulfillment

cloud computing environment

combination

required service levels

protection

functions

diagram

types

computing devices

pricing

web browser

abstraction model layers

cloud

automobile computer system

software components

schematic diagram

data

user portal

cloud consumers

Virtualization layer

cloud consumer

mainframes

tasks

RISC (Reduced Instruction Set Computer) architecture based servers

database software

software development and lifecycle management

data analytics processing

private

community

transaction processing

workloads and functions

metering and pricing

following examples

present invention

computing resources

service level management

abstraction layer

advance

cellular telephone

nodes

II embodiments

hardware components

embodiments

storage devices

local computing device

consumption

infrastructure

laptop computer

platforms and/or software

virtual networks

networks

file transfer processing

virtual clients

access

services

one example

consumers and system administrators

components

management layer

resource provisioning

hardware and software components

security

cloud computing resource allocation and management

future requirement

other resources

mapping and navigation

virtual private networks

desktop computer

computer

workloads layer

operating systems

Augmented Reality


Drawings

Brief Description:

illustrates an embodiment of a superimposing logic 102.

Detailed Description:

Figure 1 illustrates an embodiment of an augmented reality environment 100. A user 110 wearing headset 114 interacts with physical objects virtualized in the augmented reality environment 100. In this example the user 110 interacts with either a purely virtual document, or a physical document that is virtualized as a virtual document 112 on a virtual surface 104 in the augmented reality environment 100. In this embodiment, an imaging sensor 108 is directed toward a physical surface 106, and superimposing logic 102 receives a sensor output 116 (e.g., image or video) from the imaging sensor 108.  Superimposing logic 102 transforms the sensor output 116 into a virtual document 112 superimposed on a virtual surface 104 representing the physical surface 106 in the augmented reality environment 100.

In other embodiments there may be no physical surface 106 and no physical document on the physical surface 106, in which case the environment would be a purely virtual reality (VR) environment, not an augmented reality environment 100. Thus there are many possibilities for the environment – it could be purely virtual, or a physical surface 106 that is virtualized and augmented with a virtual document, or both the physical surface 106 and a physical document could be virtualized.

Brief Description:

illustrates an AR or VR system 200 in accordance with one embodiment.

Detailed Description:

Figure 2 illustrates an AR or VR system 200 in accordance with one embodiment. A

virtual environment 202 receives input from the user 214 and in response sends an interaction signal to a virtual object 206, a virtual surface 210 or an application 212.  The virtual object 206 or virtual surface 210 or application 212 sends an action to an operating system 204 and in response the operating system 204 operates the hardware 208 to implement the action in the augmented or virtual environment.  

Brief Description:

illustrates a device 300 in accordance with one embodiment.

Detailed Description:

Figure 3 illustrates a perspective view of a wearable augmented reality (“AR”) device ( device 300), from the perspective of a wearer of the device 300 (“AR user”). The device 300 is a computer device in the form of a wearable headset. 

The device 300 comprises a headpiece 302, which is a headband, arranged to be worn on the wearer’s head. The headpiece 302 has a central portion 304 intended to fit over the nose bridge of a wearer, and has an inner curvature intended to wrap around the wearer’s head above their ears.

The headpiece 302 supports a left optical component 306 and a right optical component 308, which are waveguides. For ease of reference herein an optical component will be considered to be either a left or right component, because in the described embodiment the components are essentially identical apart from being mirror images of each other. Therefore, all description pertaining to the left-hand component also pertains to the right-hand component. The device 300 comprises augmented reality device logic 400 that is depicted in Figure 4.

The augmented reality device logic 400 comprises a graphics engine 402, which may comprise a micro display and imaging optics in the form of a collimating lens (not shown). The micro display can be any type of image source, such as liquid crystal on silicon (LCOS) displays, transmissive liquid crystal displays (LCD), matrix arrays of LED’s (whether organic or inorganic) and any other suitable display. The display is driven by circuitry known in the art to activate individual pixels of the display to generate an image. Substantially collimated light, from each pixel, falls on an exit pupil of the graphics engine 402. At the exit pupil, the collimated light beams are coupled into each of the left optical component 306 and the right optical component 308 into a respective left in-coupling zone 310 and rightin-coupling zone 312. In-coupled light is then guided, through a mechanism that involves diffraction and TIR, laterally of the optical component in a respective left intermediate zone 314 and 416, and also downward into a respective left exit zone 318 and right exit zone 320 where it exits towards the users’ eye. 

The collimating lens collimates the image into a plurality of beams, which form a virtual version of the displayed image, the virtual version being a virtual image at infinity in the optics sense. The light exits as a plurality of beams, corresponding to the input beams and forming substantially the same virtual image, which the lens of the eye projects onto the retina to form a real image visible to the user. In this manner, the left optical component 306 and the right optical component 308 project the displayed image onto the wearer’s eyes. 

The various optical zones can, for example, be suitably arranged diffractions gratings or holograms. Each optical component has a refractive index n which is such that total internal reflection takes place to guide the beam from the light engine along the respective intermediate expansion zone, and down towards respective the exit zone.

Each optical component is substantially transparent, whereby the wearer can see through it to view a real-world environment in which they are located simultaneously with the projected image, thereby providing an augmented reality experience.

To provide a stereoscopic image, i.e. that is perceived as having 3D structure by the user, slightly different versions of a 2D image can be projected onto each eyefor  example from multiple graphics engine 402  (i.e. two micro displays), or from the same light engine (i.e. one micro display) using suitable optics to split the light output from the single display.

The device 300 is just one exemplary configuration. For instance, where two light-engines are used, these may instead be at separate locations to the right and left of the device (near the wearer’s ears). Moreover, whilst in this example, the input beams that form the virtual image are generated by collimating light from the display, an alternative light engine based on so-called scanning can replicate this effect with a single beam, the orientation of which is fast modulated whilst simultaneously modulating its intensity and/or colour. A virtual image can be simulated in this manner that is equivalent to a virtual image that would be created by collimating light of a (real) image on a display with collimating optics. Alternatively, a similar AR experience can be provided by embedding substantially transparent pixels in a glass or polymer plate in front of the wearer’s eyes, having a similar configuration to the left optical component 306 and right optical component 308 though without the need for the zone structures.

Other headpiece 302 embodiments are also within the scope of the subject matter. For instance, the display optics can equally be attached to the users head using a frame (in the manner of conventional spectacles), helmet or other fit system. The purpose of the fit system is to support the display and provide stability to the display and other head borne systems such as tracking systems and cameras. The fit system can be designed to meet user population in anthropometric range and head morphology and provide comfortable support of the display system.

The device 300 also comprises one or more camera 404 — for example left stereo camera 322 and right stereo camera 324 mounted on the headpiece 302 and configured to capture an approximate view (“field of view”) from the user’s left and right eyes respectfully in this example. The cameras are located towards either side of the user’s head on the headpiece 302, and thus capture images of the scene forward of the device form slightly different perspectives. In combination, the stereo camera‘s capture a stereoscopic moving image of the real-wold environment as the device moves through it. A stereoscopic moving image means two moving images showing slightly different perspectives of the same scene, each formed of a temporal sequence of frames to be played out in quick succession to replicate movement. When combined, the two images give the impression of moving 3D structure.

A left microphone 326 and a right microphone 328 are located at the front of the headpiece (from the perspective of the wearer), and left and right channel speakers, earpiece or other audio output transducers are to the left and right of the headpiece 302. These are in the form of a pair of bone conduction audio transducers functioning as a left speaker 330 and right speaker 332 audio channel output.

Brief Description:

illustrates an augmented reality device logic 400 in accordance with one embodiment.

Detailed Description:

Figure 4 illustrates components of an exemplary augmented reality device logic 400. The augmented reality device logic 400 comprises a graphics engine 402, a camera 404, processing units 406, including one or more CPU 408 and/or GPU 410, a WiFi 412 wireless interface, a Bluetooth 414 wireless interface, speakers 416microphones 418, and one or more memory 420.

The processing units 406 may in some cases comprise programmable devices such as bespoke processing units optimized for a particular function, such as AR related functions. The augmented reality device logic 400 may comprise other components that are not shown, such as dedicated depth sensors, additional interfaces etc.

 

Some or all of the components in Figure 4 may be housed in an AR headset. In some embodiments, some of these components may be housed in a separate housing connected or in wireless communication with the components of the AR headset. For example, a separate housing for some components may be designed to be worn or a belt or to fit in the wearer’s pocket, or one or more of the components may be housed in a separate computer device (smartphone, tablet, laptop or desktop computer etc.) which communicates wirelessly with the display and camera apparatus in the AR headset, whereby the headset and separate device constitute the full augmented reality device logic 400.

The memory 420 comprises logic 422 to be applied to the processing units 406 to execute. In some cases, different parts of the logic 422 may be executed by different components of the processing units 406. The logic 422 typically comprises code of an operating system, as well as code of one or more applications configured to run on the operating system to carry out aspects of the processes disclosed herein.

Brief Description:

illustrates an AR device 500 that may implement aspects of the machine processes described herein.

Detailed Description:

Figure 5 illustrates more aspects of an AR device 500 according to one embodiment.  The AR device 500 comprises processing units 502, input devices 504, memory 506,  output devices 508, storage devices 510, a network interface 512, and various logic to carry out the processes disclosed herein.

The input devices 504 comprise transducers that convert physical phenomenon into machine internal signals, typically electrical, optical or magnetic signals. Signals may also be wireless in the form of electromagnetic radiation in the radio frequency (RF) range but also potentially in the infrared or optical range. Examples of input devices 504 are keyboards which respond to touch or physical pressure from an object or proximity of an object to a surface, mice which respond to motion through space or across a plane, microphones which convert vibrations in the medium (typically air) into device signals, scanners which convert optical patterns on two or three dimensional objects into device signals. The signals from the input devices 504 are provided via various machine signal conductors (e.g., busses or network interfaces) and circuits to memory 506

The memory 506 provides for storage (via configuration of matter or states of matter) of signals received from the input devices 504, instructions and information for controlling operation of the processing units 502, and signals from storage devices 510. The memory 506 may in fact comprise multiple memory devices of different types, for example random access memory devices and non-volatile (e.g., FLASH memory) devices.

Information stored in the memory 506 is typically directly accessible to the processing units 502 of the device. Signals input to the AR device 500 cause the reconfiguration of the internal material/energy state of the memory 506, creating logic that in essence forms a new machine configuration, influencing the behavior of the AR device 500 by affecting the behavior of the processing units 502 with control signals (instructions) and data provided in conjunction with the control signals. 

The storage devices 510 may provide a slower but higher capacity machine memory capability. Examples of storage devices 510 are hard disks, optical disks, large capacity flash memories or other non-volatile memory technologies, and magnetic memories. 

The processing units 502 may cause the configuration of the memory 506 to be altered by signals in the storage devices 510. In other words, the processing units 502 may cause data and instructions to be read from storage devices 510 in the memory 506 from which may then influence the operations of processing units 502 as instructions and data signals, and from which it may also be provided to the output devices 508. The processing units 502 may alter the content of the memory 506 by signaling to a machine interface of memory 506 to alter the internal configuration, and then converted signals to the storage devices 510 to alter its material internal configuration. In other words, data and instructions may be backed up from memory 506, which is often volatile, to storage devices 510, which are often non-volatile.

Output devices 508 are transducers which convert signals received from the memory 506 into physical phenomenon such as vibrations in the air, or patterns of light on a machine display, or vibrations (i.e., haptic devices) or patterns of ink or other materials (i.e., printers and 3-D printers).  

The network interface 512 receives signals from the memory 506 or processing units 502  and converts them into electrical, optical, or wireless signals to other machines, typically via a machine network. The network interface 512 also receives signals from the machine network and converts them into electrical, optical, or wireless signals to the memory 506 or processing units 502.

Brief Description:

illustrates an AR device logic 600 in accordance with one embodiment.

Detailed Description:

Figure 6 illustrates a functional block diagram of an embodiment of AR device logic 600. The AR device logic 600 comprises the following functional modules: a rendering engine 616local augmentation logic 614, local modeling logic 608, a model aggregator 616 (deleted)device tracking logic 606, an encoder 612, and a decoder 620. Each of these functional modules may be implemented in software, dedicated hardware, firmware, or a combination of these logic types.

The rendering engine 616 controls the graphics engine 618 to generate a stereoscopic image visible to the wearer, i.e. to generate slightly different images that are projected onto different eyes by the optical components of a headset substantially simultaneously, so as to create the impression of 3D structure.

The stereoscopic image is formed by rendering engine 616 rendering at least one virtual display element (“augmentation”), which is perceived as a 3D element, i.e. having perceived 3D structure, at a real-world location in 3D space by the user.

An augmentation is defined by an augmentation object stored in the memory 602. The augmentation object comprises: location data defining a desired location in 3D space for the virtual element (e.g. as (x,y,z) Cartesian coordinates); structural data defining 3D surface structure of the virtual element, i.e. a 3D model of the virtual element; and image data defining 2D surface texture of the virtual element to be applied to the surfaces defined by the 3D model. The augmentation object may comprise additional information, such as a desired orientation of the augmentation.

The perceived 3D effects are achieved though suitable rendering of the augmentation object. To give the impression of the augmentation having 3D structure, a stereoscopic image is generated based on the 2D surface and 3D augmentation model data in the data object, with the augmentation being rendered to appear at the desired location in the stereoscopic image.

A 3D model of a physical object is used to give the impression of the real-world having expected tangible effects on the augmentation, in the way that it would a real-world object. The 3D model represents structure present in the real world, and the information it provides about this structure allows an augmentation to be displayed as though it were a real-world 3D object, thereby providing an immersive augmented reality experience. The 3D model is in the form of 3D mesh.

For example, based on the model of the real-world, an impression can be given of the augmentation being obscured by a real-world object that is in front of its perceived location from the perspective of the user; dynamically interacting with a real-world object, e.g. by moving around the object; statically interacting with a real-world object, say by sitting on top of it etc.

Whether or not real-world structure should affect an augmentation can be determined based on suitable rendering criteria. For example, by creating a 3D model of the perceived AR world, which includes the real-world surface structure and any augmentations, and projecting it onto a plane along the AR user’s line of sight as determined using pose tracking (see below), a suitable criteria for determining whether a real-world object should be perceived as partially obscuring an augmentation is whether the projection of the real-world object in the plane overlaps with the projection of the augmentation, which could be further refined to account for transparent or opaque real world structures. Generally the criteria can depend on the location and/or orientation of the augmented reality device and/or the real-world structure in question.

An augmentation can also be mapped to the mesh, in the sense that its desired location and/or orientation is defined relative to a certain structure(s) in the mesh. Should that structure move and/or rotate causing a corresponding change in the mesh, when rendered properly this will cause corresponding change in the location and/or orientation of the augmentation. For example, the desired location of an augmentation may be on, and defined relative to, a table top structure; should the table be moved, the augmentation moves with it. Object recognition can be used to this end, for example to recognize a known shape of table and thereby detect when the table has moved using its recognizable structure. Such object recognition techniques are known in the art.

An augmentation that is mapped to the mash in this manner, or is otherwise associated with a particular piece of surface structure embodied in a 3D model, is referred to an “annotation” to that piece of surface structure. In order to annotate a piece of real-world surface structure, it is necessary to have that surface structure represented by the 3D model in question—without this, the real-world structure cannot be annotated.

The local modeling logic 608 generates a local 3D model “LM” of the environment in the memory 602, using the AR device’s own sensor(s) e.g. cameras 610 and/or any dedicated depth sensors etc. The local modeling logic 608 and sensor(s) constitute sensing apparatus.

The device tracking logic 606 tracks the location and orientation of the AR device, e.g. a headset, using local sensor readings captured from the AR device. The sensor readings can be captured in a number of ways, for example using the cameras 610  and/or other sensor(s) such as accelerometers. The device tracking logic 606 determines the current location and orientation of the AR device and provides this information to the rendering engine 616, for example by outputting a current “pose vector” of the AR device. The pose vector is a six dimensional vector, for example (x, y, z, P, R, Y) where (x,y,z) are the device’s Cartesian coordinates with respect to a suitable origin, and (P, R, Y) are the device’s pitch, roll and yaw with respect to suitable reference axes.

The rendering engine 616 adapts the local model based on the tracking, to account for the movement of the device i.e. to maintain the perception of the as 3D elements occupying the real-world, for example to ensure that static augmentations appear to remain static (which will in fact be achieved by scaling or rotating them as, from the AR user’s perspective, the environment is moving relative to them).

The encoder 612 receives image data from the cameras 610 and audio data from the microphones 604 and possibly other types of data (e.g., annotation or text generated by the user of the AR device using the local augmentation logic 614) and transmits that infomation to other devices, for example the devices of collaborators in the AR environment. The decoder 620 receives an incoming data stream from other devices, and extracts audio, video, and possibly other types of data (e.g., annotations, text) therefrom.


Parts List

100

augmented reality environment

102

superimposing logic

104

virtual surface

106

physical surface

108

imaging sensor

110

user

112

virtual document

114

headset

116

sensor output

200

AR or VR system

202

virtual environment

204

operating system

206

virtual object

208

hardware

210

virtual surface

212

application

214

user

300

device

302

headpiece

304

central portion

306

left optical component

308

right optical component

310

left in-coupling zone

312

rightin-coupling zone

314

left intermediate zone

316

right intermediate zone

318

left exit zone

320

right exit zone

322

left stereo camera

324

right stereo camera

326

left microphone

328

right microphone

330

left speaker

332

right speaker

400

augmented reality device logic

402

graphics engine

404

camera

406

processing units

408

CPU

410

GPU

412

WiFi

414

Bluetooth

416

speakers

418

microphones

420

memory

422

logic

500

AR device

502

processing units

504

input devices

506

memory

508

output devices

510

storage devices

512

network interface

514

logic

516

logic

518

logic

520

logic

600

AR device logic

602

memory

604

microphones

606

device tracking logic

608

local modeling logic

610

cameras

612

encoder

614

local augmentation logic

616

rendering engine

618

graphics engine

620

decoder

622

speakers


Terms/Definitions

virtual surface

projection location

camera

imaging sensor

texture image

logic

filtered texture

virtual environment

interaction

system

virtual reality

the computer-generated simulation of a three-dimensional environment that can be interacted with in a seemingly real or physical way by a person using special electronic equipment, such as a headset with a display and gloves fitted with sensors.

augmented reality

technology that superimposes computer-generated imagery on a user’s view of the real world, thus providing a composite view.

virtualize

converting a physical thing to a computer-generated simulation of that thing.