CROSS-REFERENCE TO RELATED APPLICATIONSThe present application is related to and/or claims the benefit of the earliest available effective filing date(s) from the following listed application(s) (the “Priority Applications”), if any, listed below (e.g., claims earliest available priority dates for other than provisional patent applications or claims benefits under 35 USC §119(e) for provisional patent applications, for any and all parent, grandparent, great-grandparent, etc. applications of the Priority Application(s)). In addition, the present application is related to the “Related Applications,” if any, listed below.
PRIORITY APPLICATIONSFor purposes of the USPTO extra-statutory requirements, the present application constitutes a continuation of U.S. patent application Ser. No. 11/252,206, entitled “SIGNAL ROUTING DEPENDENT ON A LOADING INDICATOR OF A MOBILE NODE”, naming Alexander J. Cohen, Edward K. Y. Jung, Royce A. Levien, Robert W. Lord, Mark A. Malamud, John D. Rinaldo, Jr., and Clarence T. Tegreene as inventors, filed 17 Oct. 2005, which is currently co-pending, or is an application of which a currently co-pending application is entitled to the benefit of the filing date.
For purposes of the USPTO extra-statutory requirements, the present application constitutes a continuation of U.S. patent application Ser. No. 11/252,258, entitled “SIGNAL ROUTING DEPENDENT ON A NODE SPEED CHANGE PREDICTION”, naming Alexander J. Cohen, Edward K. Y. Jung, Royce A. Levien, Robert W. Lord, Mark A. Malamud, John D. Rinaldo, Jr., and Clarence T. Tegreene as inventors, filed 17 Oct. 2005, which is currently issued as U.S. Pat. No. 8,111,622, but is an application of which a currently co-pending application is entitled to the benefit of the filing date.
For purposes of the USPTO extra-statutory requirements, the present application constitutes a continuation of U.S. patent application Ser. No. 11/252,205, entitled “USING A SIGNAL ROUTE DEPENDENT ON A NODE SPEED CHANGE PREDICTION”, naming Alexander J. Cohen, Edward K. Y. Jung, Royce A. Levien, Robert W. Lord, Mark A. Malamud, John D. Rinaldo, Jr., and Clarence T. Tegreene as inventors, filed 17 Oct. 2005, which is currently issued as U.S. Pat. No. 7,646,712, or is an application of which a currently co-pending application is entitled to the benefit of the filing date.
RELATED APPLICATIONSNone
The United States Patent Office (USPTO) has published a notice to the effect that the USPTO's computer programs require that patent applicants reference both a serial number and indicate whether an application is a continuation, continuation-in-part, or divisional of a parent application. Stephen G. Kunin,Benefit of Prior-Filed Application, USPTO Official Gazette Mar. 18, 2003. The USPTO further has provided forms for the Application Data Sheet which allow automatic loading of bibliographic data but which require identification of each application as a continuation, continuation-in-part, or divisional of a parent application. The present Applicant Entity (hereinafter “Applicant”) has provided above a specific reference to the application(s) from which priority is being claimed as recited by statute. Applicant understands that the statute is unambiguous in its specific reference language and does not require either a serial number or any characterization, such as “continuation” or “continuation-in-part,” for claiming priority to U.S. patent applications. Notwithstanding the foregoing, Applicant understands that the USPTO's computer programs have certain data entry requirements, and hence Applicant has provided designation(s) of a relationship between the present application and its parent application(s) as set forth above and in any ADS filed in this application, but expressly points out that such designation(s) are not to be construed in any way as any type of commentary and/or admission as to whether or not the present application contains any new matter in addition to the matter of its parent application(s).
If the listings of applications provided above are inconsistent with the listings provided via an ADS, it is the intent of the Applicant to claim priority to each application that appears in the Priority Applications section of the ADS and to each application that appears in the Priority Applications section of this application.
All subject matter of the Priority Applications and the Related Applications and of any and all parent, grandparent, great-grandparent, etc. applications of the Priority Applications and the Related Applications, including any priority claims, is incorporated herein by reference to the extent such subject matter is not inconsistent herewith.
If an Application Data Sheet (ADS) has been filed on the filing date of this application, it is incorporated by reference herein. Any applications claimed on the ADS for priority under 35 U.S.C. §§119, 120, 121, or 365(c), and any and all parent, grandparent, great-grandparent, etc. applications of such applications, are also incorporated by reference, including any priority claims made in those applications and any material incorporated by reference, to the extent such subject matter is not inconsistent herewith.
SUMMARYAn embodiment provides a communication method. In one implementation, the method includes but is not limited to obtaining a node identifier dependent on at least a position index and a loading indicator of a mobile node and routing data through the mobile node responsive to the node identifier. In addition to the foregoing, other communication method aspects are described in the claims, drawings, and text forming a part of the present disclosure.
In one or more various aspects, related systems include but are not limited to circuitry and/or programming for effecting the herein referenced method aspects; the circuitry and/or programming can be virtually any combination of hardware, software, and/or firmware configured to effect the herein-referenced method aspects depending upon the design choices of the system designer.
An embodiment provides a network subsystem. In one implementation, the subsystem includes but is not limited to a module for obtaining a node identifier dependent on at least a position index and a loading indicator of a mobile node and circuitry for routing data through the mobile node responsive to the node identifier. In addition to the foregoing, other network subsystem aspects are described in the claims, drawings, and text forming a part of the present disclosure.
In addition to the foregoing, various other embodiments are set forth and described in the text (e.g., claims and/or detailed description) and/or drawings of the present description.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, features, and advantages of the devices and/or processes described herein, as defined by the claims, will become apparent in the detailed description set forth herein.
BRIEF DESCRIPTION OF THE FIGURESFIG. 1 shows a schematic diagram of a network in which a subsystem is an embodiment.
FIG. 2 shows a network in a schematic form including a network subsystem that can interact with or become part of a signal route from a source node to a mobile node.
FIG. 3 shows an operational flow having operations that facilitate a desirable form of data transfer.
FIG. 4 shows other flow embodiments that have operations that facilitate another desirable form of data transfer.
FIG. 5 shows other flow embodiments that have operations that facilitate another desirable form of data transfer.
FIG. 6 shows a device such as a computer program product including a signal bearing medium such as a conduit, a memory element, or a display medium.
FIG. 7 shows a network subsystem embodiment in schematic form.
FIG. 8 shows another network subsystem embodiment that includes a vehicle.
FIG. 9 shows a look-up table that can be used for determining a suitability value at least partly based on each of several operands.
FIG. 10 shows a map plotting each of several nodes described in relation to the table ofFIG. 9.
FIG. 11 shows another network subsystem in schematic form.
FIG. 12 shows another system embodiment.
FIG. 13 shows several variants of the flow ofFIG. 3.
FIG. 14 shows several other variants and optional features of the flow ofFIG. 3 or of its variants shown inFIG. 13.
FIG. 15 shows several further variants and optional features of the flow ofFIG. 3 or its variants.
FIG. 16 shows several further variants and optional features of the flow ofFIG. 3 or its variants.
FIG. 17 shows several further variants and optional features of the flow ofFIG. 3 or its variants.
FIG. 18 shows several further variants and optional features of the flow ofFIG. 3 or its variants.
FIG. 19 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 20 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 21 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 22 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 23 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 24 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 25 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 26 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 27 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 28 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 29 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 30 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 31 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 32 shows further optional features defining variants of the flow ofFIG. 3 or its variants.
FIG. 33 shows several optional features each defining variants of the flows ofFIG. 5.
FIG. 34 shows several optional features each defining variants of the flows ofFIG. 5 or their variants ofFIG. 33.
FIG. 35 shows several optional features each defining variants of the flows ofFIG. 5 or their variants.
FIG. 36 shows several other optional features each defining variants of the flows ofFIG. 5 or their variants.
FIG. 37 shows several other optional features each defining variants of the flows ofFIG. 5 or their variants.
FIG. 38 shows several other optional features each defining variants of the flows ofFIG. 5 or their variants.
FIG. 39 shows several other optional features each defining variants of the flows ofFIG. 5 or their variants.
FIG. 40 shows several other optional features each defining variants of the flows ofFIG. 5 or their variants.
FIG. 41 shows several other optional features each defining variants of the flows ofFIG. 5 or their variants.
FIG. 42 shows several optional features each defining variants of the flows ofFIG. 4.
FIG. 43 shows several optional features each defining variants of the flows ofFIG. 4 or their variants ofFIG. 42.
FIG. 44 shows several other optional features each defining variants of the flows ofFIG. 4 or their variants.
The use of the same symbols in different drawings typically indicates similar or identical items.
DETAILED DESCRIPTIONIn the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here.
FIG. 1 shows a schematic diagram of anetwork100 having asubsystem110 with data routed viaroute180 betweennode140 andnode190, which are physically remote from one another (separated by about 10 meters or more, e.g.).Route180 can includechannel150 or one or moreparallel channels160.Channel150 can be arranged in series with anupstream wireless link145 and adownstream wireless link185.Channel150 includesnode154 through which channel150 passes.Channel150 may also include one or more in-channel links155 and one or moreadditional channel nodes156.Subsystem110 optionally includeschannel controller170 that can include circuitry ofnode140,node190, or the in-channel node(s)154,156 as shown.Channel controller170 can also be composed partially or entirely outside of all intermediate nodes available for routing the data
As described below,route180 can also include alinkage135 to one ormore source nodes133 further upstream, optionally outsidenetwork100.Route180 can likewise include alinkage195 to one ormore destination nodes197, optionally outsidenetwork100. Alternatively or additionally,node140 can communicate withnode190 by one or moreother routes182 such as bychannel162.
Referring now toFIG. 2, there is shown anetwork200 in a schematic form, including anetwork subsystem220 that can interact with or become part of asignal route210 fromsource node212 to amobile node240.Source node212 is optionally configured to receive data fromspeedometer248 ofmobile node240, and can also include amodeler218 that can receivelocation data247 frommobile node240.Network subsystem220 includes amodule225 configured to receive data directly or indirectly fromsource node212 and to provide information tocircuitry227.Circuitry227 can optionally apply one ormore criteria228 to the data in determining how, when, or where to transmit the data, as explained below.
Referring now toFIG. 3, there is shown anoperational flow300 having operations that facilitate a desirable form of data transfer. After a start operation, flow300 moves to a determiningoperation330 of determining a node-speed-change-prediction-dependent signal route and to arouting operation350 of routing wireless data along the determined node-speed-change-prediction-dependent signal route. A “prediction” or predictive value may include a function of time, a quantity, an identifier, a single Boolean value, a prose description, a probabilistic model of future or other uncertain attributes or behaviors, or some other characterization of a prediction. As described below,operation330 andoperation350 can be performed bysource node212 or bynetwork subsystem220 ofFIG. 2. After completingrouting operation350, flow300 moves to an end operation. More generally, flows described herein need not occur in the prescribed order, and in some cases may warrant some interspersion or other overlap.
Referring now toFIG. 4, there are shown alternativeoperational flows400 having operations that facilitate another desirable form of data transfer. After a start operation, flows400 move to an obtainingoperation430 of obtaining a node identifier dependent on at least a position index and a loading indicator of a mobile node and to arouting operation450 of routing data through the mobile node responsive to the node identifier. As described below,operation430 andoperation450 can be performed bysource node212 or bynetwork subsystem220 ofFIG. 2. They can likewise be performed bycontroller170 or by any of several nodes ofFIG. 1.Node190 can perform a variant offlow400, for example, by including in therouting operation450 anoperation455 of performing one or more error correction operations on at least a portion of the data.
Referring now toFIG. 5, there are shown alternativeoperational flows500 having operations that facilitate another desirable form of data transfer. After a start operation, flow500 moves to a receivingoperation530 of receiving wireless data via a node-speed-change-prediction-dependent signal route and to a relayingoperation550 of relaying at least a portion of the wireless data. As described below,operation530 andoperation550 can be performed bysource node212 or bynetwork subsystem220 ofFIG. 2, for example. They can likewise be performed bycontroller170, by any of several nodes ofFIG. 1, or by a combination of more than one of these.Controller170 can perform a variant offlow500 by including in relayingoperation550 anoperation555 of including at least some photographic image data in the wireless data.
Referring now toFIG. 6, there is shown adevice600 such as a computer program product including a signal bearing medium650 such as a conduit, a memory/storage element, a display medium, or a combination of more than one type of medium. With reference toFIG. 3, medium653 can bear one or more instructions for performing determiningoperation330 and one or more instructions for performingrouting operation350. Alternatively or additionally, with reference toFIG. 4, medium654 can bear one or more instructions for performing obtainingoperation430 and one or more instructions for performingrouting operation450. Alternatively or additionally, with reference toFIG. 5, medium656 can bear at least one or more instructions for performing receivingoperation530 and one or more instructions for performing relayingoperation550.
Referring now toFIG. 7, there is shown anetwork subsystem700 in schematic form.Subsystem700 includes amodule750 for receiving wireless data from a node-speed-change-prediction-dependent signal route andcircuitry770 for relaying at least a portion of the wireless data. (Although these are distinct in schematic form,circuitry770 can overlap or even occupymodule750 physically.)
Optionally,module750 can include anamplifier751 for amplifying at least the portion of the wireless data. Alternatively or additionally,module750 can include a signal-bearingconduit752 for receiving at least the portion of the wireless data.Module750 can likewise include anantenna754 operable to receive the wireless data and optionally adriver755 configured to adapt a directionality of the antenna.Module750 can also include a user interface757 operable to display at least the portion of the wireless data. Alternatively or additionally,module750 can include acontroller758 operable to transmit at least the portion of the received wireless data to the circuitry and/or acontroller759 having a memory operable to hold at least some of the portion of the received wireless data.
Circuitry770 optionally includes acontroller778 having amemory779 operable to contain one or more instructions that when executed cause thecontroller778 to process at least some of the wireless data. For example, the instruction(s) can include machine code for transferring a portion of the wireless data to or from a register.Circuitry770 can likewise include one or more ofcircuitry771 for implementing a look-up table having a speed as an operand,circuitry772 for implementing a time-dependent traffic model,circuitry774 for implementing a location-dependent speed model, orcircuitry775 for implementing a vehicle-dependent speed model. In one embodiment, thecircuitry772 for implementing a time-dependent traffic model includescircuitry773 for implementing a look-up table having a time as an operand. More generally,circuitry770 can includelogic776, such aslogic777 for implementing a look-up table. For example,logic777 can include logic for accessing a storage element containing part or all of the table.
Referring now toFIG. 8, there is shown anetwork subsystem800 embodiment. Any or all of the nodes ofFIG. 1 can be embodied asvehicle810 ofnetwork subsystem800, for example.Vehicle810 includes acommunication system830, adrive mechanism860 operable to startvehicle810 moving, and acommon power source820.Power source820 can be operable to provide power selectively to drive mechanism860 (optionally via drive shaft865) or to the circuitry such ascommunication system830. For example,power source820 can include acombustion engine824 operable to provide power to driveshaft865 and to anelectrical supply822 ofpower source820.Electrical supply822 can selectively provide power tocontroller834 or toantenna system839, an antenna operably coupled to a transceiver.Controller834 can include aprocessor837 operably coupled to aninterface836 and amemory838.Antenna system839 can be coupled tocontroller834, such as by aconduit833 coupled toprocessor837.Interface836 can be accessible to auser885 in apassenger compartment880 ofvehicle810.User885 can be a driver, pilot, or other passenger.Memory838 can be configured as the signal-bearing medium650 in any of the configurations ofFIG. 6.Processor837 can thus perform one or more offlows300,400 or500 as described herein.
Thenetwork subsystem800 can include a module (antenna system839, e.g.) for receiving wireless data from a node-speed-change-prediction-dependent signal route (channel870, e.g.) and circuitry (controller834, e.g.) for relaying at least a portion of the wireless data.
In an embodiment in whichpower source820 is operable to provide power selectively to the drive mechanism860 (to driveshaft865, e.g.) or to the circuitry ofcontroller834,network subsystem800 can further include acombustion engine824 operatively coupled (viaelectrical supply822, e.g.) to provide power to the circuitry. AlsoGPS840 orcompass850 can be coupled (via a short range wireless connection toantenna system839, e.g.) to provide a signal to theprocessor837.
Turning now toFIG. 9, there is shown a look-up table900 that can be used for determining asuitability value960 at least partly based on each of severaloperands including operand941 throughoperand949. In thenetwork subsystem700 ofFIG. 7, for example, table900 can be implemented inlogic777. Alternatively, in thevehicle810 ofFIG. 8, table900 can be stored inmemory838. Optionally at least part of table900 can be in a random-access storage device such as a disk drive.
Operand941 is (a fractional-degree portion of a latitude coordinate.Operand942 is (a whole-degree portion of) a longitude coordinate.Operand943 is (a fractional-degree portion of) a longitude coordinate complementingoperand941.Operand944 is an altitude expressed in meters relative to ground or sea level, providing for altitude-dependent suitability indicators of aircraft that are passenger vehicles.Operand945 is a speed of a node, relative or absolute, expressed in meters per second.Operand944 andoperand945 are marked with asterisks to indicate an exponential scale in which each binary number is taken to be a power of 2. For the operand vector ofrow973, for example, the indicated altitude is approximately 2 to the power of 0 (=1) meter above ground and the indicated speed is approximately 2 to the power of 6=64 meters per second.
Operand946 is a node heading in which (magnetic) North=0000 and the other compass points increase clockwise to 1111 (NNW).Operand946 is ignored, however, for rows in whichoperand945=0000. (In effect, speeds of 1 meter per second or less are treated as being stationary, in this model.)
Operand949 is an information format indicator, which can be encoded to indicate video, audio, proprietary, encoded, or any of the other format-indicative descriptors used in this document as a matter of design choice in light of present teachings.Additional operands955 can also be used in determiningsuitability value960.
Referring now toFIG. 10 in light ofFIG. 9,FIG. 10 shows amap1000 plotting latitude1041 againstlongitude1042. A location of each ofnode1060 throughnode1073 is also plotted onmap1000, some or all of which are suitable for relaying information.Node1061 is shown at 39.070 degrees North, 104.287 degrees West, for example, in this detailed illustration. Referring again toFIG. 9,row961 corresponds to operands that describenode1061.Node1061 is therefore essentially stationary, as indicated by the 0000 in the column ofoperands945.
Row962 is identical to row961 except for the data format (atcolumn949, e.g.) and the suitability value (at the column of values960). Row961 has a suitability value of 11001, a binary number that indicates a high suitability. Row962 indicates an even higher suitability, though, illustrating that the model implemented in table900 has a format-dependent suitability indicator at the column ofvalues960.
Row963 ofFIG. 9 corresponds to operands that describenode1063 ofFIG. 10. Row963 androw964 illustrate that the model implemented in table900 has a speed-dependent suitability indicator (in the column of values960), having operand values that are identical except for speed (in the column of operands945). Therefore the suitability indicator ofnode1063 would decrease (from 11111 to 10100, according to table900) if the speed ofnode1063 were about 8 meters per second rather than being at most about 1 meter per second.
Row965 ofFIG. 9 corresponds to operands that describenode1065 ofFIG. 10.Operand948 is a binary load indicator such that 000 indicates no loading and 111 indicates saturation, in terms of a fractional usage of a critical resource such as a maximum data transfer rate and/or a reduction of available space in a memory such asmemory838 in the embodiment ofFIG. 8 described above. Row965 androw966 illustrate that the model implemented in table900 has a load-dependent suitability indicator, having operands that are identical except for load (in the column of operands948). Therefore the suitability indicator ofnode1065 would increase (from 01010 to 11010, according to table900) if the load indicator ofnode1065 were 010 rather than being 101.
Row968 ofFIG. 9 corresponds to operands that describenode1068 ofFIG. 10. Row967 androw968 illustrate that the model implemented in table900 has a heading-dependent suitability indicator (in the column of values960), having operand values that are identical except for heading (in the column of operands946). Therefore the suitability indicator ofnode1068 would increase (from 10110 to 11111, according to table900) if the heading ofnode1068 were eastward (dir=0100) rather than westward (dir=1100).
Rows969 &970 ofFIG. 9 correspond respectively to operands that describenodes1069 &1070 ofFIG. 10.Rows969 &970 illustrate that the model implemented in table900 has a position-index-dependent suitability indicator (in the column of values960), having operand values that are identical except for latitude (in the column of operands941).Node1069 andnode1070 are both traveling north at about 32 m/s. The suitability indicator ofnode1069 is higher than that ofnode1070, according to table900, just because it is not as far north.
Row973 ofFIG. 9 corresponds to operands that describenode1073 ofFIG. 10.Operand947 is a node class indicator corresponding to attributes of a given node that affect its ability to provide service.Operand947 can indicate some combination of a nominal antenna range, a nominal transmitter power, a nominal bandwidth, a nominal gain-bandwidth product, a nominal data rate, a wireless protocol, a service provider, or a service level, for example. In one implementation,operand947=0011 uniquely indicates a combination of node attributes that include a nominal operating frequency of 900 MHz and/or 1,800 MHz and an unlimited-duration service. Other values ofoperand947 shown indicate no such nominal operating frequency and/or limited-duration service, for example, when table900 is used in any of the above-described flows.
Row972 androw973 illustrate that the model implemented in table900 has a load-dependent suitability indicator, having operand values that are identical except for node class (in the column of operands947). Therefore the suitability indicator ofnode1073 would decrease (from 01001 to 00110, according to table900) if the class ofnode1073 were 0110 rather than being 0100.
Additional rows975 are too numerous to be shown effectively on paper. Table900 is large, in fact, and in some contexts it would be convenient to use a simpler model. One way to do this would be to implement a table in a stationary router for a given area of land, and to use a local model that assumes a local value of one or more position indices within a zone (by omitting column ofoperands942, for example). Part of the model can be executed before looking up the suitability value, alternatively or additionally, such as by using a route that includes one or more predicted speeds to predict a location at a given future point in time. By using a prediction that has been computed in a prior computational operation, for example, the heading or speed operands can be omitted from the look-up operation.
Referring now toFIG. 11, there is shown anothernetwork subsystem1100 including amodule1150 andcircuitry1170 in schematic form.Module1150 can be configured for receiving wireless data from a node-speed-change-prediction-dependent signal route and includecircuitry1170 configured for relaying at least a portion of the wireless data.Subsystem1100 can further include a power source such as afuel cell1121 orphotovoltaic cell1122 operatively coupled to provide power to the components ofcircuitry1170 ormodule1150.Module1150 can include anantenna1152, aprocessor1153, or amemory1159.
Alternatively or additionally,module1150 can be configured for obtaining a node identifier dependent on at least a position index and a loading indicator of a mobile node, andcircuitry1170 can be configured for routing data through the mobile node responsive to the node identifier.Circuitry1170 can include atransmitter1173 ortransceiver1174 operable to communicate with the mobile node. For example, the transceiver can receive the position index and the loading indicator, whichprocessor1153 can use to generate the node identifier of whichever of the available nodes (ofmobile node1181 andmobile node1182, e.g.) is most suitable for relaying a signal to a stationary node (tower1183, e.g.).Circuitry1170 can also include acontroller1171, optionally one with access to a medium1172 configured as medium1240 ofFIG. 12. Alternatively, medium1172 can be a transmission medium (such as a conduit) or a medium of communication (such as a display, e.g.).
Referring now toFIG. 12, there is shown a system1200 (which can benetwork subsystem1100 or acomputer program product1220, e.g.) that includes at least a signal-bearing medium1240. Signal bearing medium1240 can include one or more of a computer-readable medium1245, a recordable medium1246, adisk1247, one or more determining instruction(s)1250, or one or more routing instruction(s)1260. The determining instruction(s)1250 can be one or more instructions for determining a node-speed-change-prediction-dependent signal route. This instruction set can include one or more of instruction(s)1251, instruction(s)1253, instruction(s)1255, instruction(s)1257, or instruction(s)1258. Instruction(s)1251 refers to one or more instructions for determining the node-speed-change-prediction-dependent signal route at least partly based on one or more measured speeds. Instruction(s)1253 refers to one or more instructions for determining the node-speed-change-prediction-dependent signal route at least partly based on a traffic report. Instruction(s)1255 refers to one or more instructions for determining the node-speed-change-prediction-dependent signal route at least partly based on a schedule. Instruction(s)1257 refers to one or more instructions for determining the node-speed-change-prediction-dependent signal route at least partly based on a vehicular travel prediction. Instruction(s)1258 refers to one or more instructions for determining the node-speed-change-prediction-dependent signal route at least partly based on one or more speed limits. One or more routing instruction(s)1260 refers to one or more instruction(s) for routing wireless data along the determined node-speed-change-prediction-dependent signal route.
Referring now toFIG. 13, there are shown several variants offlow300 ofFIG. 3. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation1331,operation1333,operation1335, oroperation1337.Operation1331 includes identifying a first node by route information received by a second node.Operation1333 includes modifying the node-speed-change-prediction-dependent signal route at least partly based on state information from outside the node-speed-change-prediction-dependent signal route. (An item “outside” a route or set is not limited to permanently excluded items, but also refers to candidates for inclusion within the route or set, e.g.) A flow is also shown includingoperation1335 of receiving state information about a node andoperation1337 of excluding the node from the node-speed-change-prediction-dependent signal route at least partly based on the state information.
Any of these features can optionally be used in combination with any of the variants ofoperation350, routing wireless data along the determined node-speed-change-prediction-dependent signal route.Operation350 can include anoperation1355 of streaming at least a portion of the wireless data. The data streaming is not limited to directing unidirectional data flow in a single channel, but can include any technique for handling data at one or more stages in a steady and continuous stream, typically facilitated by buffering and/or multiplexing at least some of the data. Alternatively or additionally,operation350 can include anoperation1358 of including at least a data priority indication in the wireless data. A high priority may indicate that the data is of a time-sensitive nature, that the data is likely to be relatively small, or that the sender, owner or receiver has a high status relative to that of some other messages.
Referring now toFIG. 14, there are shown several other variants and optional features offlow300 ofFIGS. 3 & 13. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation1431,operation1435,operation1437, oroperation1439.Operation1431 includes receiving information from outside the node-speed-change-prediction-dependent signal route. In performingflow300,node140 can receive state information fromnode154 inFIG. 1, for example, indicating thatnode154 is expected to be stopped and unavailable for service imminently. Ifnode140 then receives a transmission along asignal route180 that only includes alinkage135 fromsource node133 tointermediate node140, for example,node140 can then respond by appendingchannel160 to signalroute180 responsive to the node speed change prediction fromnode154.
Alternatively or additionally,node140 can receive from outside the node-speed-change-prediction-dependent signal route a prediction of at least one of a node speed or a node speed change (byoperation1435, e.g.) or of a node heading or a node heading change (byoperation1437, e.g.).Node140 can use one or more of these items of information to predict a node speed change from which to determine at least part ofsignal route180.
In lieu of any of receivingoperations1431,1435, and1437,node140 can instead receive a zone identifier from outside the node-speed-change-prediction-dependent signal route (such asroute180, byoperation1439, e.g.). For example,node140 can receive the zone identifier as an indication of wherenode154 will be at a given moment, based on a speed change prediction.Node140 can use this node-speed-change-prediction-dependent zone identifier in determining to appendchannel150 in lieu of channel160 (byoperation330, e.g.).
In combination with any of the above-described variants ofoperation330, therouting operation350 can also compriseoperation1451 oroperation1453.Operation1451 comprises including at least a data ownership indication in the wireless data. This is not limited to a copyright notice but can also be an anonymous indication that the data is proprietary.Operation1453 comprises including at least a destination indication in the wireless data. For example, the indication can be a geographic zone, a destination network, or a particular node or entity.
Referring now toFIG. 15, there are shown several further variants and optional features offlow300 ofFIGS. 3,13, and14. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation1531,operation1535,operation1537, oroperation1539.Operation1531 includes receiving from outside the node-speed-change-prediction-dependent signal route at least one of a latitude prediction, an altitude prediction, a zone identifier prediction, a node deceleration prediction, a node acceleration prediction, a node orientation prediction, or a predicted node orientation change. For example, the received information can include a description of a node that is a candidate for addition to the node-speed-change-prediction-dependent signal route. Similarly, the determiningoperation330 can include receiving a node speed prediction (byoperation1535, e.g.), receiving a node speed change prediction (byoperation1537, e.g.), or receiving a node heading prediction (byoperation1539, e.g.).
Alternatively or in combination with any of the above-described variants ofoperation330 oroperation350, therouting operation350 can further comprise including at least an estimate of a destination's position index (byoperation1553, e.g.) or including at least an estimate of an arrival time (byoperation1556, e.g.) in the wireless data. For example, the position index can be an altitude, a set of coordinates, or an offset distance from some reference point. The arrival time is not limited to an arrival time of a signal but can alternatively describe a planned or otherwise approximate arrival of one or more nodes or other physical objects.
Referring now toFIG. 16, there are shown several further variants and optional features offlow300 ofFIG. 3,13,14, or15. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation1631,operation1634,operation1637, oroperation1639. Theoperation350 can similarly include one or more ofoperation1655 oroperation1658.
For example, referring again toFIG. 1,node154 can receive a node heading change prediction (byoperation1631, e.g.) or receive a prediction of a zone identifier (byoperation1634, e.g.) thatnode154 uses for determining a node-speed-change-prediction-dependent signal route (byoperation330, e.g.). For example,node154 can be a stationary node that receives one or more predictions bearing upon the availability and suitability of a mobile node, which can benode156.Node154 can use the one or more predictions to determine a route, which can be route180 amended to includechannel150.Node154 can respond by routing wireless data along the determined node-speed-change-prediction-dependent signal route (byoperation350, e.g.), and optionally by encrypting at least part of the wireless data (byoperation1655, e.g.) before completing therouting operation350.
In another example,node156 can receive a prediction of an antenna position (byoperation1639, e.g.) or another node component position (byoperation1637, e.g.) in performing the determiningoperation330. For example,node156 can receive a prediction that a component ofnode190 will be in a given position enabling transmission throughnode156 at a given time.Node156 can use this prediction in responding to a routing request broadcast indicating thatnode140 has a message fornode197.Node156 can determine a node-speed-change-prediction-dependent signal route (byoperation330, e.g.) at least tonode190 and route wireless data along the route (byoperation350, e.g.) by transmitting the route tonode140.
In another example in whichnode140 is a source node,node140 can perform one of the above-described variants offlow300 in which therouting operation350 comprises including at least audio data in the wireless data (byoperation1658, e.g.). Audio data included byoperation1658 is not limited to telephonic data, but can also include music, speech, or other recordings or artificial sounds. The audio data is optionally encrypted bynode140 also, such as byoperation1655.
Referring now toFIG. 17, there are shown several further variants and optional features offlow300 ofFIG. 3,13,14,15, or16. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation1733,operation1734,operation1737, oroperation1738. Theoperation350 can similarly include one or more ofoperation1752 oroperation1753.Operation1733 includes receiving a prediction of at least one of a longitude, an altitude, a zone identifier, a location, a position index, a node deceleration, a node acceleration, a node orientation, a node orientation change, or a node heading change. For example,source node212 ofFIG. 2 can receive any or all of these in describingmobile node240.Node212 can use this information in the determiningoperation330 and respond by performing therouting operation350. Optionally therouting operation350 can comprise including at least user-specified data in the wireless data (byoperation1752, e.g.). Therouting operation350 can also comprise routing one or more information describing one remote node (node240, e.g.) to another remote node (one that includesmodule225, e.g.).
In one example,network subsystem220 receives a node description (byoperation1737, e.g.) in performing the determiningoperation330. For example,network subsystem220 can receive an indication of a node class (byoperation1734, e.g.) or can receive node state information (byoperation1738, e.g.) fromsource node212.Network subsystem220 can complete the determiningoperation330 by deciding to route data along a signal route tomobile node240.Optionally network subsystem220 reserves at least a portion of the determined node-speed-change-prediction-dependent signal route (byoperation350 and includingoperation1753, e.g.).
Referring now toFIG. 18, there are shown several further variants and optional features offlow300 ofFIG. 3,13,14,15,16, or17. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation1831,operation1832,operation1835, oroperation1836. Theoperation350 can similarly include one or more ofoperation1857 oroperation1858. For example,module1150 ofFIG. 11 can perform any of these variants of the determiningoperation330, including receivingnode load information1831, receiving a definition of the node-speed-change-prediction-dependent signal route1835, or receiving asuitability indicator1836. Alternatively or additionally,module1150 can receive at least one of a definition of the node-speed-change-prediction-dependent signal route, a suitability indicator, node state information, a node description, ornode class information1832.
Circuitry1170 can route wireless data along the signal route determined bymodule1150, such as by a route throughmobile node1181 totower1183.Circuitry1170 can also performoperation1857 by displaying at least a portion of the wireless data within a mobile node (withinsubsystem1100, which may be a vehicle, e.g., via medium1172). Ifnetwork subsystem1100 is not a vehicle,circuitry1170 can still display at least a portion of the wireless data via an element of a mobile node (by performing displayingoperation1858, e.g., via medium1172).
Referring now toFIG. 19, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17, or18. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation1931,operation1935,operation1937, oroperation1939. For example,network subsystem800 ofFIG. 8 can perform many of these variants.Antenna system839 can perform theoperation1931 of receiving a burden indicator, for example, optionally in combination withoperation1537 of receiving a node speed change prediction. Alternatively or additionally,antenna subsystem839 can perform theoperation1935 of receiving at least one of node state information, a definition of the determined node-speed-change-prediction-dependent signal route, a suitability indicator, a node description, or node class information.
Similarly,controller834 can perform theoperation1937 of storing information about a node outside the node-speed-change-prediction-dependent signal route and theoperation1939 of determining the node-speed-change-prediction-dependent signal route at least partly based on the information.Controller834 can receive and store node state information and other descriptions from or about nearby nodes, for example, inmemory838. In response to a route request,processor837 can then use or provide the stored information for the determiningoperation1937.
Optionally, therouting operation350 can include one or more ofoperation1956 oroperation1959.Communication system830 can route other wireless data along another signal route parallel to the determined node-speed-change-prediction-dependent signal route (atoperation1956, e.g.). For example,system830 can determine two or more parallel channels across which to spread received data, such as by code division or time division multiplexing. Alternatively or additionally,communication system830 can await an acknowledgment signal before sending a portion of the wireless data along the determined node-speed-change-prediction-dependent signal routes (atoperation1959, e.g.).
Referring now toFIG. 20, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18, or19. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation2031,operation2035,operation2036,operation2038, oroperation2039. For example,node140 ofFIG. 1 can be configured as adevice600 that includes a signal bearing medium650 containinginstructions653. The one or more instructions for performing determiningoperation330 can enablenode140 to request information from outside the node-speed-change-prediction-dependent signal route (atoperation2031, e.g.) in performingflow300.Node140 can poll all nodes within a direct-transmission zone ofnode140 for a route table, for example, which includes information about a plurality of channels not yet on a given signal's defined route. These channels can includechannel150,channel160, andchannel162, for example.Node140 can use this information in determiningroute180, such as by appendingchannel150 to whatever route through whichnode140 receives the data.
Node140 can also performoperation2035 of obtaining at least one of a node speed prediction or a node speed change prediction, optionally byoperation2036 of estimating a future speed of a node such asnode154.Node140 can estimate at least one of a node heading or a node heading change2038 (ofnode154, e.g.). Alternatively or additionally,node140 can performoperation2039 of receiving a predictive zone identifier from outside the node-speed-change-prediction-dependent signal route. For example,node140 can receive from node156 a predictive or other zone identifier describing a past or future location ofnode156, and use this information in determining the node-speed-change-prediction-dependent signal route throughchannel150. Optionally, the full signal route definition (i.e. all the way from a source node) can be included in a transmission sent tonode154 andnode156.
Optionally, the same network subsystem that performs the determiningoperation330 can perform one or both ofoperation2055 oroperation2056.Operation2055 includes converting at least a portion of the wireless data into optical data. For example, in an embodiment in whichlinkage195 includes a fiberoptic or other optical communication link,node190 ofsubsystem110 can perform the convertingoperation2055.Node190 can also performflow300, alternatively or additionally, by routing at least a portion of the wireless data to a stationary node (tonode197 byoperation2056, e.g.).
Referring now toFIG. 21, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18,19, or20. For example,network subsystem1100 ofFIG. 11 can perform one or more ofoperation2132,operation2133 oroperation2135.Operation2132 includes receiving at least one of a latitude prediction, an altitude prediction, a zone identifier prediction, a location prediction, a position index prediction, a node deceleration prediction, a node acceleration prediction, a node orientation prediction, a node orientation change, a node heading prediction, or a node heading change prediction.Operation2133 includes generating a node speed change prediction, optionally based on one or more items received inoperation2132 or one or more of operations1531-1539. (“Generating” or “predicting” a value is not limited to computing a value anew, but can also include translating, updating or otherwise adjusting another value, for example, such as a prediction received atoperation1535 oroperation1537, e.g.)Network subsystem1100 can also predict a node heading (byoperation2135, e.g.).
Referring again toFIG. 11,circuitry1170 can performoperation350 by performingoperation2155 oroperation2156.Circuitry1170 can route at least a portion of the wireless data through a stationary node (such astower1183, by operation2155). Alternatively or additionally,circuitry1170 can route at least a portion of the wireless data through a passenger vehicle (such as throughnode1182, which can be a passenger vehicle, by operation2156).
Referring now toFIG. 22, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18,19,20 or21. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more of anoperation2231 of predicting a node heading change, anoperation2232 of generating a prediction of a node speed, anoperation2237 of generating a zone identifier prediction, or anoperation2238 of receiving a prediction of an absolute position of a node component. One or more ofoperation2231,operation2232,operation2237, oroperation2238 can be performed bysystem1200 including signal-bearing medium1240. Predictingoperation2231 is not limited to predicting the change by a route received from a vehicle navigation system, but can include using any statistical or other bases for prediction. Similarly, a “prediction” or predictive value may include a function of time, a single Boolean value, a prose description, a probabilistic model of future or other unknown behavior, or other characterization of a prediction.
System1200 can performoperation350 also, optionally byoperation2255 or byoperation2258. Atoperation2255,system1200 can route at least a portion of the wireless data through a motor-propelled vehicle. Atoperation2258,system1200 can route at least a portion of the wireless data through a stationary node and a mobile node, such as by transmitting an identifier of one or both of the nodes prior to a handshake operation for establishing a link to the identified node. Optionally, an identifier for the other of the nodes can later be included in a transmission through the link.
Referring now toFIG. 23, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18,19,20,21, or22. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation2331,operation2334,operation2336, oroperation2339.Node1060 ofFIG. 10 can performflow300, optionally includingoperation2331 of predicting an antenna position. The antenna position need not relate to an antenna ofnode1060, but can relate to some other antenna having a motion pattern thatnode1060 can predict, such as a steadily rotating antenna of a tower.
Node1060 can also generate a prediction of at least one of an altitude, a zone identifier, a node deceleration, a node acceleration, a node orientation, or a node orientation change (byoperation2334, e.g.). For example,node1060 can generate a prediction of a node orientation as defined in the column ofoperands946. Such a generated value can optionally be used as an operand in a subsequent function call, or otherwise as a circuit input, alone or in concert with other operands. For example,node1060 can also generate an indication of a node class (by operation2336) or generate a node description (by operation2339). The node class or other description can be used as a corresponding operand in a table like table900.
In performing theoperation350 of routing wireless data along the determined node-speed-change-prediction-dependent signal route,node1060 can performoperation2355 of routing at least a portion of the wireless data responsive to a user input. A wireless link may already exist fromnode1060 to another node within a wireless transmission range of node1060 (such asnode1065 ornode1069, e.g.) asnode1060 tries to route a new message, for example, responsive to an earlier user input atnode1060. If so,node1060 can take advantage of the existing link in routing at least a portion of the wireless data. The user input is not limited to an earlier input, but can be requested of the user in performingrouting operation2355.
Alternatively or additionally,node1060 can performoperation2356 of multiplexing at least a portion of the wireless data. For example, some or all of the data can be distributed across two or more parallel channels or multiplexed with other data through a single wireless channel.
Referring now toFIG. 24, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18,19,20,21,22 or23. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation2431,operation2435,operation2437, oroperation2439.Operation2431 includes generating node state information.Operation2435 includes generating node load information. Atoperation2437, a node or other system generates at least one of a definition of the node-speed-change-prediction-dependent signal route, node state information, a node description, or node class information.Operation2439 includes generating a definition of the node-speed-change-prediction-dependent signal route.Module750 ofnetwork subsystem700 can perform one or more ofoperation2431,operation2435,operation2437, oroperation2439, for example. The resulting information need not be used for routing or computations, but can alternatively or additionally be displayed via user interface757 or stored bycontroller759.
In performing theoperation350 of routing wireless data along the determined node-speed-change-prediction-dependent signal route,node circuitry770 can perform one or more of updating state information in the wireless data (by operation2455) or transmitting state information in the wireless data (by operation2456).
Referring now toFIG. 25, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18,19,20,21,22,23, or24. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation2531,operation2532, oroperation2537.Operation2531 includes generating a suitability indicator, optionally by generating a burden indicator (by operation2532). This illustrates how a suitability indicator can be expressed as a value that is inversely related to an actual suitability of a node. For example, if D is a variable such that D=0.9 for an unsuitable system, and D=0.3 for a moderately suitable system, and D=0.1 for a highly suitable system, then D can be a convenient burden indicator. Such values, generally ones that are inversely related to suitability, can be combined for evaluating a channel more exactly, in certain embodiments. With reference to channel150 ofFIG. 1, for example,operation2532 can be performed by summing at least a burden indicator ofnode154 with a burden indicator ofnode156.
Operation2537 includes generating at least one of node state information, a definition of the determined node-speed-change-prediction-dependent signal route, a suitability indicator, a node description, or node class information.Operation2537 is optionally performed within a network subsystem that also performs operation2555 (indicating an error in at least a portion of the wireless data) or operation2556 (indicating a position of an intermediate node to a next-downstream-node). For example, in performingflow300,node154 ofFIG. 1 can performoperation2537 by generating a definition of the determined node-speed-change-prediction-dependent signal route, one that includeschannel150. In performing therouting operation350,node154 can indicate an error, for example by transmitting a re-send request tonode140. Alternatively,node154 can indicate the error to trigger an error correction routine withinnode154, or can forward the wireless data without any correction. Alternatively or additionally,node154 can use link155 to indicate its position (by one or more position indices) to next-downstream node156.
Referring now toFIG. 26, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18,19,20,21,22,23,24, or25. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation2634,operation2635,operation2637, oroperation2639. Any of these variants can be performed for example, alone or in concert with any of the optional features or operations described above with reference toFIG. 11.Processor1153 can retrieve the state information about a node outside the node-speed-change-prediction-dependent signal route, for example, After such retrieval or other preparation,processor1153 can transmit state information about a node outside the node-speed-change-prediction-dependent signal route (byoperation2634, e.g.) tocircuitry1170.Circuitry1170 can then determine the node-speed-change-prediction-dependent signal route (through or around the node, byoperation2635, e.g.) at least partly based on the state information. Alternatively or additionally,circuitry1170 performsoperation2639 of transmitting a prediction of at least one of a node speed or a node speed change. For example,circuitry1170 can determine the signal route byoperation2635 and dependent on a prediction of a node speed change.Circuitry1170 can store the prediction for a later transmission to a network server to facilitate network data aggregation.
In another embodiment,network subsystem1100 can serve merely as a router.Subsystem1100 can perform the determiningoperation330 by determining a route frommobile node1181 throughnode1182 to tower1183, for example. The determiningoperation330 includes anoperation2637 of transmitting information from a node outside the node-speed-change-prediction-dependent signal route. For example, the information can include protocol information for completing a communication link fromnetwork subsystem1100 tomobile node1181.
In performing theoperation350 of routing wireless data along the determined node-speed-change-prediction-dependent signal route,circuitry1170 can instructnode1181 to transmit the wireless data tomobile node1182. Therouting operation350 can also include one or more of indicatingoperation2655 or indicatingoperation2656. In indicatingoperation2655, for example,circuitry1170 can indicate a position of an intermediate node (node1182, e.g.) to a next-upstream-node (node1181, e.g.). In indicatingoperation2656,circuitry1170 can indicate a suitability of an intermediate node (node1182, e.g.). The indication can be stored (in medium1171, e.g.), used as an operational criterion (such as for determining a portion of the signal route), displayed, or transmitted to another node (such as tower1183).
Referring now toFIG. 27, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18,19,20,21,22,23,24,25 or26. For example, theoperation330 of determining a node-speed-change-prediction-dependent signal route can include one or more ofoperation2731,operation2735,operation2737, oroperation2739.Network subsystem1100 can obtain and then transmit from outside the node-speed-change-prediction-dependent signal route at least one of an altitude prediction, a zone identifier prediction, a node deceleration prediction, a node acceleration prediction, a node orientation prediction, or a node orientation change indication (atoperation2737, e.g.). This information for transmission can describenode1182, for example. Whethersubsystem1100 generates the prediction or obtains it in some other way,subsystem1100 can perform thetransmitting operation2731 before, during or after other portions of the determiningoperation330. This can likewise apply to transmitting a prediction of at least one of a node heading or a node heading change (operation2731), transmitting a zone identifier (operation2735) or transmitting a prediction of a node speed (operation2739). Any of these transmitting operations2731-2739 can optionally be performed by a network subsystem outside the node-speed-change-prediction-dependent signal route.
In performing theoperation350 of routing wireless data along the determined node-speed-change-prediction-dependent signal route,circuitry1170 can optionally performrouting operation2751 or indicatingoperation2755.Circuitry1170 can performrouting operation2751 by routing the wireless data along a node-speed-change-prediction-independent portion of the node-speed-change-prediction-dependent signal route.Circuitry1170 can perform indicatingoperation2755 by indicating a suitability score of the node-speed-change-prediction-dependent signal route. Alternatively or additionally,circuitry1170 can performrouting operation1956 such as by routing the other wireless data along a parallel route, such as by a direct transmission through a free space medium to tower1183. For a case in whichnetwork subsystem1100 stays strictly outside the node-speed-change-prediction-dependent signal route, however,circuitry1170 does not “send” any of the wireless data routed along the signal route, andsubsystem1100 is in that case inconsistent with awaitingoperation1956.
Referring now toFIG. 28, there are further optional features defining variants offlow300 ofFIG. 3,13,14,15,16,17,18,19,20,21,22,23,24,25,26, or27. For example, theoperation330 thereof can include one or more ofoperation2831 of transmitting a prediction of a node speed change,operation2835 of transmitting a prediction of a node heading,operation2837 of transmitting a node heading change prediction, oroperation2839 of transmitting an identifier of a zone. Any of these transmitting operations2831-2839 can be performed by any of the above-described nodes that receive or generate such a change, heading, prediction, identifier or related descriptive information. For example, referring again toFIG. 1,node190 can receive and transmit such descriptive information throughlinkage195 or viachannel162, optionally with a timestamp that describes the information. Such a timestamp can be used to evaluate the recency and reliability of the information, for example.
Node140 can optionally perform one or more of operations2831-2839 when performingflow300. Alternatively or additionally, atoperation2856,node140 can indicate a suitability score of a signal route other than the node-speed-change-prediction-dependent signal route. For example,node140 can perform the determiningoperation330 by comparing a suitability score ofchannel150 with that ofchannel160.Node140 can determine the node-speed-change-prediction-dependent signal route180 as including whichever of the channels was apparently more suitable, omitting the other channel fromsignal route180.Node140 can perform the indicatingoperation2856 of therouting operation350 for accumulating a history of suitability scores of selected and non-selected channels, for example.Node140 can also identify one or more mobile nodes of the determined node-speed-change-prediction-dependent signal route, byoperation2857.
Referring now toFIG. 29, there are more optional features relating to flow300 and its multiple variants as describe above. For example, theoperation330 thereof can include one or more ofoperation2931,operation2935,operation2937, oroperation2939. These are each a transmitting operation that can be performed as a part offlow300 bynetwork subsystem220, for example.Module225 can performoperation2931 of transmitting a prediction of a node component position.Module225 can further performoperation2935 of transmitting a prediction of an antenna position, such as a position of an antenna ofsubsystem220.Module225 can also performoperation2937 of transmitting a prediction of at least one of a longitude, an altitude, a zone identifier, a location, a position index, a node deceleration, or a node acceleration. Any, some, or all of these predictions can be either generated or received bymodule225 before or duringoperation2937. Alternatively or additionally,module225 can transmit an indication of a node class (by operation2939) after receiving or generating the indication.
Operation2955 includes performing an operation (such as displayingoperation1858 ormultiplexing operation2356, e.g.) while determining a node-speed-change-prediction-dependent signal route (by one of the above-described variants ofoperation330, e.g.).Subsystem220 can performoperation2955, for example, by usingmodule225 for the determiningoperation330 while usingcircuitry227 for performing the other operation. The “other” operation can include one or more of the above-described “indicating” operations (operation2556,operation2655,operation2656,operation2755, oroperation2856, e.g.) or one or more of the above-described variant “routing” operations (operation1956,operation2056,operation2155,operation2255,operation2258, oroperation2355, e.g.) ofrouting operation350, for example.
Referring now toFIG. 30, there are further optional features relating to flow300 and its multiple variant flows as describe above. For example, theoperation330 can include one or more ofoperation3031 of transmitting a node description,operation3035 of transmitting node state information, oroperation3037 of transmitting node load information. Part or all ofchannel162 can perform flow300 with one or more of these operations, such as by transmitting the information or other description from or aboutnode140 ornode190. Alternatively or additionally, part or all ofchannel162 can transmit at least one of a definition of the node-speed-change-prediction-dependent signal route, a suitability indicator, node state information, a node description, or node class information, atoperation3039. One or more of these optionally describe a portion ofchannel162.Channel162 can optionally begin the routing wireless data along the determined node-speed-change-prediction-dependent signal route after finishing the determining a node-speed-change-prediction-dependent signal route, byoperation3056.
Referring now toFIG. 31, there are further optional features relating to flow300 and its multiple variant flows as describe above. For example, theoperation330 can include one or more ofoperation3131,operation3135,operation3137,operation3138, oroperation3139. Referring again toFIG. 1, for example,node190 can perform theoperation3131 of transmitting a definition of the node-speed-change-prediction-dependent signal route, theoperation3135 of transmitting a suitability indicator, or theoperation3137 of transmitting a burden indicator. Any of these operations can cause information to be transmitted upstream viachannel162 or downstream vialinkage195, for example.
Some variants offlow300 can be performed bycontroller170, including many that incorporate one or more of executingoperation3138, receivingoperation3139, or generatingoperation3155. Executingoperation3138 can be performed by executing one or more instructions for measuring a speed of a node of the node-speed-change-prediction-dependent signal route. For example,controller170 can be configured as adevice600, including signal bearing medium650 containing “one or more instructions for performing determiningoperation330” of theinstructions653. Theinstructions653 can further include the “one or more instructions for measuring a speed” for execution atoperation3138. Receivingoperation3139 includes receiving at a first node (such asnode140, e.g.) route information identifying a second node (such as adownstream node154 or anupstream node133, e.g.). Generating operation3155 (of routing operation350) includes generating at a first node (such asnode140, e.g.) route information identifying a second node (such as a nodelist including node154 and node156).
Referring now toFIG. 32, there are further optional features relating to flow300 and its multiple variant flows as describe above. For example, theoperation330 can include one or more ofoperation3233,operation3234,operation3236, oroperation3239. Likewise therouting operation350 can include atransmitting operation3256. Any of these optional features can optionally be performed bynetwork subsystem110 performingflow300.Module1150 optionally transmits at least one of node state information, a definition of the determined node-speed-change-prediction-dependent signal route, a suitability indicator, a node description, or node class information (by operation3233). Alternatively or additionally,module1150 can perform one or more ofoperation3239 of evaluating a probability of an availability of a resource oroperation3236 of obtaining an indication of an availability of a node.Module1150 can optionally be configured to include a signal-bearing medium (such as memory1159) bearing one or more instructions (such asinstructions653, e.g.) for identifying a location of a node (such asnode1181, e.g.) of the node-speed-change-prediction-dependent signal route (byoperation3234, e.g.).Circuitry1170 can performoperation3256 of transmitting to a first node route information identifying a second node.
Referring now toFIG. 33, there are shown several variants offlow500 ofFIG. 5, such as can be performed bynetwork subsystem700 ofFIG. 7.Module750 can optionally performoperation530 of receiving wireless data via a node-speed-change-prediction-dependent signal route by performing one or more of receivingoperation3331, identifyingoperation3335, receivingoperation3337, or receivingoperation3339. Receivingoperation3331 can be performed by receiving at least a portion of the wireless data in a streaming format. Identifyingoperation3335 can be performed by identifying at least a message size indication in the wireless data, which can be used to estimate a transmission time or to characterize a load on a resource. Receivingoperation3337 can be performed by receiving at least a data recipient indication in the wireless data. Receivingoperation3339 can be performed by receiving at least a source indication in the wireless data. Optionally the recipient indication and/or source indication are included in the relayed portion of the wireless data.
Alternatively or additionallymodule770 can optionally performoperation550 of relaying at least a portion of the wireless data by performing one or more ofbroadcasting operation3355, includingoperation3356, includingoperation3357, or includingoperation3358.Broadcasting operation3355 comprises broadcasting at least the portion of the wireless data. Includingoperation3356 comprises including at least a message length value in a first portion of the wireless data. Includingoperation3357 comprises including at least a message length value in a header of the wireless data. Includingoperation3358 comprises including at least an estimate of a travel time in the wireless data. The travel time can describe a movement of a signal or data set, or a movement to a physical object or system, for example. One or more intermediate nodes can use the estimate in making a routing decision, such as bymodule1150 determining the signal route dependent on a destination-node-movement speed.
Referring now toFIG. 34, there are shown several variants offlow500 ofFIG. 5 or33, such as can be performed bynetwork subsystem700 ofFIG. 7.Module750 can optionally performoperation530 of receiving wireless data via a node-speed-change-prediction-dependent signal route by performing one or more ofoperation3431,operation3435,operation3437, oroperation3439.Operation3431 comprises receiving at least an estimate of a destination-node-movement speed in the wireless data.Operation3435 comprises receiving at least an estimate of a transmission time in the wireless data.Operation3437 comprises receiving at least automotive traffic data in the wireless data.Operation3439 comprises receiving at least video data in the wireless data.
Additionally or alternatively,module770 can optionally performoperation550 of relaying at least a portion of the wireless data by performing one or more ofoperation3455,operation3456,operation3457, oroperation3458.Operation3455 comprises including at least payment-indicative data in the wireless data.Operation3456 comprises including at least a source position prediction in the wireless data. Part or all of the prediction optionally affects a routing decision or a message content.Operation3457 comprises including at least user identification data in the wireless data. The data can be received from a user who sent the wireless data from a source node, for example.Operation3458 comprises correcting at least one error in the wireless data, for example by using an error correction code or other constraint describing at least some of the data received atoperation530.
Referring now toFIG. 35, there are shown several variants offlow500 ofFIG. 5,33, or34, such as can be performed bynetwork subsystem800 ofFIG. 8.Antenna system839 can optionally performoperation530 of receiving wireless data via a node-speed-change-prediction-dependent signal route by performing one or more ofoperation3531,operation3535,operation3537, oroperation3539.Operation3531 comprises receiving at least a service provider identifier in the wireless data. The received identifier need not be a company name but can include a network identifier, a service mark, or similar code or other name. Flow500 optionally includes using the identifier in some fashion other than relaying it, such as by deciding whether to relay or broadcast the data portion at least partly dependent on the received identifier.Operation3535 comprises receiving a response via a response route that is not identical to the determined node-speed-change-prediction-dependent signal route. For example, the response route is optionally generated after the relayingoperation550 is complete. Alternatively or additionally,subsystem800 can define a circuitous data flow route through a destination node, fully specifying the response route to the destination node.Operation3537 comprises displaying at least an indication of the wireless data in a mobile node within the node-speed-change-prediction-dependent signal route. For example, some or all of the received data may be displayed touser885 viainterface836.Operation3539 comprises displaying at least an indication of the wireless data within a stationary node along the node-speed-change-prediction-dependent signal route. For example, the indication may include displaying a title or owner or other message or network attribute(s), video or other content data, an indication of a data type or format, a transmission duration or size, or merely a “busy” light or icon.
Additionally or alternatively,communication system830 can performoperation550 of relaying at least a portion of the wireless data by performing one or more ofoperation3552,operation3556,operation3557, oroperation3558.Operation3552 comprises receiving a prediction of a node speed change. The prediction may relate to a node within the signal route or to a candidate for addition to a signal route, for example, or to some other node as may be convenient for regular or occasional sharing of useful routing information. The node may be redundant at the time of the relaying operation, for example, but become important later.Operation3556 comprises including at least meteorological data in the wireless data.Operation3557 comprises including at least medical or meteorological data in the wireless data. (Medical and meteorological data can be difficult to access or communicate satisfactorily by conventional techniques, especially from or at locations inadequately serviced by stationary antennas.).
Module1150 ofFIG. 11 can likewise performoperation530, optionally includingoperation3539 of displaying at least an indication of the wireless data within a stationary node along the node-speed-change-prediction-dependent signal route.Processor1153 ofmodule1150 can optionally be configured to perform this operation, for example, in an embodiment in which the stationary node includesmodule1150.
Alternatively or additionally,circuitry1170 can perform theoperation550 of relaying at least a portion of the wireless data, optionally includingoperation3558 of establishing a bidirectional channel along at least a portion of the determined node-speed-change-prediction-dependent signal route.Transceiver1174 ofcircuitry1170 can be configured to perform this operation, for example, by establishing the bidirectional channel (across a free space medium directly) tomobile node1181.
Referring now toFIG. 36, there are shown several variants offlow500 ofFIG. 5,33,34, or35.Network subsystem700 ofFIG. 7 can optionally be configured to perform one or more of these variants.Module750 can optionally performoperation530 of receiving wireless data via a node-speed-change-prediction-dependent signal route by performing one or more ofoperation3631,operation3636,operation3637, oroperation3639.Antenna754 can be configured to perform theoperation3631 of receiving a response via a response route substantially identical to the determined node-speed-change-prediction-dependent signal route, for example. Alternatively or additionally,controller759 can be configured for performing theoperation3636 of routing a first portion of the wireless data further along the determined node-speed-change-prediction-dependent signal route (viacircuitry770, e.g.) before receiving a substantial remainder of the wireless data.Amplifier751 can be configured to perform theoperation3637 of converting at least a portion of the wireless data into a radio frequency signal. This can be useful in an embodiment in whichmodule750 is not linked tocircuitry770 by any conduit, for example, to facilitate a short-range wireless transmission tocircuitry770 of some or all of the received data. Alternatively or additionally,controller758 can perform theoperation3639 of routing at least a portion of the wireless data to a passenger vehicle.Controller758 can do so by identifying the passenger vehicle with the data to be transmitted to thecircuitry770, for example.
Circuitry770 can optionally performoperation550 of relaying at least a portion of the wireless data by performing one or more ofoperation3655,operation3656,operation3657, oroperation3658.Circuitry770 can optionally performoperation3655 of alerting a user within a mobile node about the received wireless data. For example,controller778 can optionally be configured to alert the user.Subsystem700 can be a tower or other stationary structure or a hand-held device operable to alert the user.
Alternatively or additionally,controller778 can also be a vehicle having a driver or other occupant as the user within the mobile node.Controller778 can optionally performoperation3656 of relaying at least some state information in the wireless data.Memory779 can optionally performoperation3657 of storing at least a portion of the received wireless data.Circuitry770 can optionally performoperation3658 of routing a response to the wireless data upstream along the signal route. The response can include an acknowledgment or an asynchronous signal, for example.
Referring now toFIG. 37, there are shown several variants offlow500 ofFIG. 5,33,34,35 or36.Node140 ofFIG. 1 can optionally be configured to perform one or more of these variants, for example.Node140 can likewise perform one or more ofoperation3731 of routing at least a portion of the wireless data to a motor-propelled vehicle,operation3733 of routing at least a portion of the wireless data through a tower to a vehicle, oroperation3736 of routing at least a portion of the wireless data to a medical facility. A “motor-propelled vehicle” is not limited to a vehicle currently in transit, but also includes motorized vehicles that are stationary and/or powered off. Alternatively or additionally,node140 can performoperation3734 of routing at least a portion of the wireless data through a stationary node and a mobile node. The stationary node and the mobile node can benode154 andnode156, for example, optionally respectively.
Alternatively or additionally,node140 can perform one or more ofoperation3755 of routing a response to the wireless data toward an upstream node of the signal route oroperation3757 of transmitting at least a portion of the wireless data into an optical fiber.Node140 can likewise performoperation3756 of sending a portion of the wireless data along the determined node-speed-change-prediction-dependent signal route without awaiting an acknowledgment signal.Operation3756 does not preclude taking some other action responsive to an acknowledgment signal, though, such as sending another portion.
Referring now toFIG. 38, there are shown several variants offlow500 ofFIG. 5,33,34,35,36 or37.Node154 ofFIG. 1 can optionally be configured to perform one or more of these variants.Node154 can perform one or more ofoperation3831 of routing at least a portion of the wireless data from a medical device,operation3833 of receiving at least state information with the wireless data,operation3834 of identifying an acceptable error level in at least a portion of the wireless data,operation3835 of detecting a node speed change, oroperation3839 of correcting at least a portion of the wireless data. Alternatively or additionally,node154 can performoperation3836 of requesting a prediction of a node speed change.Node154 can performoperation3838 of responding to a prediction of a node speed change, for example after receiving a response or other information that includes a prediction of a node speed change,
Alternatively or additionally,node156 is configured to perform part or all offlow500, including performing relayingoperation550 by performing one or more ofoperation3855,operation3856,operation3857, oroperation3858.Operation3855 comprises routing at least a portion of the wireless data through a mobile node (which can benode190, e.g.).Operation3856 comprises routing at least a portion of the wireless data via a satellite (which can benode190, e.g.).Operation3857 comprises routing at least a portion of the wireless data through a non-motorized device (which can benode190, e.g.).Operation3858 comprises including at least an indication of a vehicle speed in the wireless data. Optionally the speed describes a measured or estimated speed of a vehicle having a wireless communication device such as a receiver.
Referring now toFIG. 39, there are shown several variants offlow500 ofFIG. 5,33,34,35,36,37, or38.Node154 ofFIG. 1 can optionally be configured to perform one or more of these variants that include one or more ofoperation3931,operation3935,operation3937, oroperation3939.Operation3931 includes broadcasting a descriptor of an intermediate node to one or more nodes outside the node-speed-change-prediction-dependent signal route. Thebroadcast operation3931 can optionally be performed by the intermediate node (such as bynode154, e.g.). Alternatively, a node (such as node154) can broadcast a descriptor of a downstream intermediate node (such asnode156, e.g.), an upstream intermediate node (such asnode140, e.g.), or a node (such asnode190, e.g.) that is not consecutive with the broadcasting node. A node that receives the descriptor can be a destination node (such as node197) not yet within the signal route, for example, or a candidate or other node that is not yet within the signal route from the source node(s). Also a receiving node can receive the broadcast via other nodes within the signal route.
Atoperation3935, a system (such asnode154, e.g.) can transmit state information of an intermediate node (such asnode140,node154,node156, ornode190, e.g.) to a next-upstream-node (such asnode140, e.g., in an embodiment in whichnode140 is consecutive with node154).Operation3937 includes indicating a suitability of a mobile node, such as by transmitting a suitability-indicative scalar to a router.Node154 can also performoperation3937 by receiving and using a suitability indicator of a mobile node. Alternatively or additionally,node154 can performoperation3939 of evaluating a suitability of the node-speed-change-prediction-dependent signal route by performing an arithmetic calculation.
Many of the above-described variants can be performed by adownstream node156 as well. Alternatively or additionally,node156 can be configured to perform one or more ofoperation3954 of predicting a node speed change,operation3955 of indicating at least a speed change in the wireless data,operation3956 of including at least a speed change prediction in the wireless data,operation3957 of identifying at least an erroneous portion of the wireless data.
Referring now toFIG. 40, there are shown several variants offlow500 ofFIG. 5,33,34,35,36,37,38, or39.Subsystem700 ofFIG. 7 can, in various embodiments, perform any of these flow variants. An embodiment ofsubsystem700 that includes none of the optional features ofFIG. 7 (i.e., those labeled conventionally by dashed lines) can optionally performoperation4031,operation4035,operation4037,operation4040,operation4055,operation4056,operation4057, oroperation4058. For example,module750 can performoperation4031 of receiving a suitability indication of a signal route (such asroute182 ofFIG. 1, e.g.) other than the node-speed-change-prediction-dependent signal route (such asroute180, e.g.).Module750 can performoperation4035 of receiving an indication that a node speed will decrease.Module750 can performoperation4037 receiving a predictive indication of a node stopping. Alternatively or additionally,module750 can performoperation4040 of receiving a predictive indication of a node turning. For an embodiment in which subsystem700 is a land vehicle, the predictive indication may include a non-linear route or schedule of non-colinear stops, for example.
Alsocircuitry770 can performoperation4055 of indicating a position index of an upstream node to a downstream node (such as by indicating a position index ofnode154 tonode190 ofFIG. 1, e.g.).Circuitry770 can performoperation4056 of indicating a position of a downstream node to an upstream node (such as by indicating a position index ofnode154 tonode140, e.g.).Circuitry770 can performoperation4057 of indicating a type of a first node to a second node. Alternatively or additionally,circuitry770 can performoperation4058 of indicating a suitability of a stationary node.
Referring now toFIG. 41, there are shown several variants offlow500 ofFIG. 5,33,34,35,36,37,38,39, or40.Subsystem700 ofFIG. 7 can performoptional operation4131,operation4132,operation4135,operation4137,operation4156,operation4157,operation4158, oroperation4159. Any of these optional operations4131-4159 can be performed substantially in concert with any of the other variants offlow500 described above.
For example,module750 can performoperation4131 of receiving an indication of a node turning.Module750 can performoperation4132 of receiving a predictive indication of a node powering off. This can be implemented in concert withcircuitry772 for implementing a time-dependent traffic model, for example, to generate or otherwise obtain a prediction that a vehicle will power off imminently. (Such a prediction may arise by detecting a vehicle entering a residential lot at 11 p.m., for example.)Module750 can likewise performoperation4135 of receiving a predictive indication of a node going offline. Alternatively or additionally,module750 can performoperation4137 of receiving a predictive indication of a node encountering a local service level change. Such an indication may depend on one or more speed limits, for example, especially if expressed as an amount of time.
Alsocircuitry770 can performoperation4156 of relaying a suitability indicator to the node-speed-change-prediction-dependent signal route.Circuitry770 can performoperation4157 of identifying one or more downstream node candidates to a downstream node.Circuitry770 can performoperation4158 of beginning an operation before finishing the receiving wireless data via a node-speed-change-prediction-dependent signal route. Alternatively or additionally,circuitry770 can performoperation4159 of receiving additional wireless data via the node-speed-change-prediction-dependent signal route before finishing relaying the portion of the received wireless data.
Referring now toFIG. 42, there are shown several additional variants offlow400 ofFIG. 4 or41. For example,subsystem1100 ofFIG. 11 can optionally performoperation4232 of including at least an estimate of an arrival time in the data oroperation4234 of routing at least a portion of the data through a passenger vehicle. The includingoperation4232 can optionally be complete beforecircuitry1170 begins routingoperation450.Operation450 can optionally includeoperation4251 of transmitting the data,operation4254 of arranging the data into one or more packets andoperation4255 of transmitting the data via a free space medium, oroperation4257 of performing a retry operation.Operation4251 can be performed bycontroller1171, for example, and can optionally includeoperation4252 of transmitting state information with the data oroperation4253 of transmitting the data via a free space medium.Operation4254 oroperation4257 can optionally be performed bycontroller1171, alternatively or additionally, ascan operation4258 of performing a retry operation using a compound route.
Referring now toFIG. 43, there are shown several additional variants offlow400 ofFIG. 4,41, or42. For example,module1150 ofFIG. 11 can optionally performoperation430 of obtaining a node identifier dependent on at least a position index and a loading indicator of a mobile node by performing one or more ofoperation4332,4334, oroperation4336.Processor1153 ofmodule1150 can optionally perform one or more ofoperation4332 of updating state information in the data,operation4334 of indicating a position of an intermediate node to a next-upstream-node, oroperation4336 of broadcasting the load indicator, for example.
Module1170 can optionally perform one or more of theoperation4355 of including at least a data priority indication in the data, theoperation4357 of including at least a data ownership indication in the data, or theoperation4358 of including at least a destination indication in the data.Medium1172 can optionally perform theoperation4351 of displaying at least an indication of the data at the mobile node. Alternatively or additionally,transmitter1173 can perform theoperation4354 of streaming at least a portion of the data.
Referring now toFIG. 44, there are shown several additional variants offlow400 ofFIG. 4,42, or43. For example,node140 ofFIG. 1 can optionally performflow400 such as by substantially any of the above variants offlow400. Alternatively or additionally,node140 can perform one or more ofoperation4431 of indicating a suitability of a signal route (optionally includingoperation4432 of indicating a suitability of an intermediate node),operation4433 of performing an operation while routing data through the mobile node responsive to the node identifier, oroperation4436 of receiving a latitude and a longitude of the mobile node.
Node133 ofFIG. 1 can likewise performflow400 such as by substantially any of the above variants offlow400. Alternatively or additionally,node133 can perform one or more ofoperation4451 of including at least a destination position index in the data,operation4452 of encrypting at least a portion of the data,operation4454 of reserving a route,operation4455 of displaying at least a portion of the data via an element of a mobile node, oroperation4456 of awaiting an acknowledgment signal before sending a portion of the data. For example,node133 can receive the acknowledgment signal fromnode140.
Node190 ofFIG. 1 can likewise performflow400 such as by substantially any of the above variants offlow400. Alternatively or additionally,node190 can perform one or more ofoperation4458 of converting at least a portion of the data into an optical signal oroperation4457 of multiplexing at least a portion of the data. The former will be expedient if, for example,linkage195 includes a long haul fiberoptic conduit.
Referring again toFIG. 12, in an alternate embodiment,computer program product1220 can be configured to include a recordable medium1246 as the signal-bearingmedium650 ofFIG. 6. More particularly the recordable medium1246 can containinstructions654 including one or more instructions for performingrouting operation450. The one or more included instructions can optionally comprise: one ore more instructions for performing one or more operations ofoperations4251 through4458. One embodiment, for example, is a computer program product (product1220, e.g.) comprising a signal-bearing medium (medium650, e.g.) bearing at least one of: one or more instructions for obtaining a node identifier dependent on at least a position index and a loading indicator of a mobile node; and one or more instructions for streaming at least a portion of the data and for routing data through the mobile node responsive to the node identifier (byoperation450 withoperation4354, e.g.).
Those having skill in the art will recognize that the state of the art has progressed to the point where there is little distinction left between hardware and software implementations of aspects of systems; the use of hardware or software is generally (but not always, in that in certain contexts the choice between hardware and software can become significant) a design choice representing cost vs. efficiency tradeoffs. Those having skill in the art will appreciate that there are various vehicles by which processes and/or systems and/or other technologies described herein can be effected (e.g., hardware, software, and/or firmware), and that the preferred vehicle will vary with the context in which the processes and/or systems and/or other technologies are deployed. For example, if an implementer determines that speed and accuracy are paramount, the implementer may opt for a mainly hardware and/or firmware vehicle; alternatively, if flexibility is paramount, the implementer may opt for a mainly software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware. Hence, there are several possible vehicles by which the processes and/or devices and/or other technologies described herein may be effected, none of which is inherently superior to the other in that any vehicle to be utilized is a choice dependent upon the context in which the vehicle will be deployed and the specific concerns (e.g., speed, flexibility, or predictability) of the implementer, any of which may vary. Those skilled in the art will recognize that optical aspects of implementations will typically employ optically-oriented hardware, software, and or firmware.
The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples. Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. In one embodiment, several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), or other integrated formats. However, those skilled in the art will recognize that some aspects of the embodiments disclosed herein, in whole or in part, can be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure. In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies regardless of the particular type of signal bearing medium used to actually carry out the distribution. Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
While particular aspects of the present subject matter described herein have been shown and described, it will be apparent to those skilled in the art that, based upon the teachings herein, changes and modifications may be made without departing from this subject matter described herein and its broader aspects and, therefore, the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of this subject matter described herein. Furthermore, it is to be understood that the invention is solely defined by the appended claims. It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to inventions containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should typically be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, typically means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.” Moreover, “can” and “optionally” and other permissive terms are used herein for describing optional features of various embodiments. These terms likewise describe selectable or configurable features generally, unless the context dictates otherwise.
The herein described aspects depict different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality. Any two components capable of being so associated can also be viewed as being “operably couplable” to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interactable and/or logically interacting components.
While certain features of the described implementations have been illustrated as disclosed herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the embodiments of the invention.