US20200196258A1
2020-06-18
16/801,474
2020-02-26
A first device of a network may decide to transmit a flood of packets that is longer in duration than the maximum amount of time that the first device can continuously transmit. The first device may coordinate with one or more second devices of the network such that each of the one or more second devices transmits a respective second portion of the flood of packets following transmission of a first portion of the flood of packets by the first network device. The packets may advertise a pending network event that is to occur at a time indicated by the contents of the packets. The first device may select the one or more second devices from a plurality of devices based on a location of the one or more second devices and/or how many third devices are in the network.
Get notified when new applications in this technology area are published.
H04W56/002 » CPC main
Synchronisation arrangements; Synchronization between nodes Mutual synchronization
H04W28/0205 » CPC further
Network traffic or resource management; Traffic management, e.g. flow control or congestion control at the air interface
H04W74/0816 » CPC further
Wireless channel access, e.g. scheduled or random access; Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access] using carrier sensing, e.g. as in CSMA carrier sensing with collision avoidance
H04L49/555 » CPC further
Packet switching elements; Prevention, detection or correction of errors Error detection
H04W52/0235 » CPC further
Power management, e.g. TPC [Transmission Power Control], power saving or power classes; Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a power saving command
H04W4/023 » CPC further
Services specially adapted for wireless communication networks; Facilities therefor; Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
H04W52/243 » CPC further
Power management, e.g. TPC [Transmission Power Control], power saving or power classes; TPC; TPC being performed according to specific parameters using SIR [Signal to Interference Ratio] or other wireless path parameters taking into account interferences
H04W40/023 » CPC further
Communication routing or communication path finding; Communication route or path selection, e.g. power-based or shortest path routing Limited or focused flooding to selected areas of a network
H04W74/0808 » CPC further
Wireless channel access, e.g. scheduled or random access; Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access] using carrier sensing, e.g. as in CSMA
H04W72/0473 » CPC further
Local resource management, e.g. wireless traffic scheduling or selection or allocation of wireless resources; Wireless resource allocation where an allocation plan is defined based on the type of the allocated resource the resource being transmission power
H04W52/245 » CPC further
Power management, e.g. TPC [Transmission Power Control], power saving or power classes; TPC; TPC being performed according to specific parameters using SIR [Signal to Interference Ratio] or other wireless path parameters taking into account received signal strength
H04W72/0446 » CPC further
Local resource management, e.g. wireless traffic scheduling or selection or allocation of wireless resources; Wireless resource allocation where an allocation plan is defined based on the type of the allocated resource the resource being a slot, sub-slot or frame
H04W56/001 » CPC further
Synchronisation arrangements Synchronization between nodes
H04L47/822 » CPC further
Traffic control in data switching networks; Admission control; Resource allocation; Miscellaneous aspects Collecting or measuring resource availability data
H04L47/12 » CPC further
Traffic control in data switching networks; Flow control; Congestion control Avoiding congestion; Recovering from congestion
H04L43/16 » CPC further
Arrangements for monitoring or testing data switching networks Threshold monitoring
H04L43/0847 » CPC further
Arrangements for monitoring or testing data switching networks; Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters; Errors, e.g. transmission errors Transmission error
H04W56/0025 » CPC further
Synchronisation arrangements; Synchronization between nodes synchronizing potentially movable access points
H04L1/0061 » CPC further
Arrangements for detecting or preventing errors in the information received by using forward error control; Systems characterized by the type of code used Error detection codes
H04W52/242 » CPC further
Power management, e.g. TPC [Transmission Power Control], power saving or power classes; TPC; TPC being performed according to specific parameters using SIR [Signal to Interference Ratio] or other wireless path parameters taking into account path loss
H04L1/0083 » CPC further
Arrangements for detecting or preventing errors in the information received; Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location Formatting with frames or packets; Protocol or part of protocol for error control
H04W74/085 » CPC further
Wireless channel access, e.g. scheduled or random access; Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access] using a random access procedure with collision treatment collision avoidance
H04L69/22 » CPC further
Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass Parsing or analysis of headers
H04L43/0882 » CPC further
Arrangements for monitoring or testing data switching networks; Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters; Network utilisation, e.g. volume of load or congestion level Utilisation of link capacity
H04W56/00 IPC
Synchronisation arrangements
H04W28/04 » CPC further
Network traffic or resource management; Traffic management, e.g. flow control or congestion control Error control
H04W28/02 IPC
Network traffic or resource management Traffic management, e.g. flow control or congestion control
H04W74/08 IPC
Wireless channel access, e.g. scheduled or random access Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access]
H04W52/54 » CPC further
Power management, e.g. TPC [Transmission Power Control], power saving or power classes; TPC Signalisation aspects of the TPC commands, e.g. frame structure
H04W52/06 » CPC further
Power management, e.g. TPC [Transmission Power Control], power saving or power classes; TPC TPC algorithms
H04W52/02 IPC
Power management, e.g. TPC [Transmission Power Control], power saving or power classes Power saving arrangements
H04W4/02 IPC
Services specially adapted for wireless communication networks; Facilities therefor Services making use of location information
H04W52/24 IPC
Power management, e.g. TPC [Transmission Power Control], power saving or power classes; TPC; TPC being performed according to specific parameters using SIR [Signal to Interference Ratio] or other wireless path parameters
H04W48/08 » CPC further
Access restriction ; Network selection; Access point selection Access restriction or access information delivery, e.g. discovery data delivery
H04W40/02 IPC
Communication routing or communication path finding Communication route or path selection, e.g. power-based or shortest path routing
H04W72/04 IPC
Local resource management, e.g. wireless traffic scheduling or selection or allocation of wireless resources Wireless resource allocation
H04L1/00 IPC
Arrangements for detecting or preventing errors in the information received
H04B17/318 » CPC further
Monitoring; Testing of propagation channels; Measuring or estimating channel quality parameters Received signal strength
H04W52/36 » CPC further
Power management, e.g. TPC [Transmission Power Control], power saving or power classes; TPC using constraints in the total amount of available transmission power with a discrete range or set of values, e.g. step size, ramping or offsets
This patent application is a continuation of U.S. application Ser. No. 16/507,898, filed on Jul. 10, 2019, which is a continuation of U.S. application Ser. No. 16/193,546, filed on Nov. 16, 2018, which is a continuation of U.S. application Ser. No. 15/928,495, filed on Mar. 22, 2018, which is a continuation of U.S. application Ser. No. 15/679,798, filed on Aug. 17, 2017, which is a continuation of U.S. application Ser. No. 15/399,251, filed on Jan. 5, 2017, which is a continuation of U.S. application Ser. No. 15/157,445, filed on May 18, 2016, which is a continuation of U.S. application Ser. No. 15/012,888, filed on Feb. 2, 2016, which is a continuation of U.S. application Ser. No. 14/886,151, filed on Oct. 19, 2015, which is a continuation of U.S. application Ser. No. 14/324,411, filed on Jul. 7, 2014 (now U.S. Pat. No. 9,166,894), which is a continuation of U.S. application Ser. No. 13/408,457, filed on Feb. 29, 2012 (now U.S. Pat. No. 8,774,096), which makes reference to, claims priority to and claims benefit from U.S. Provisional Patent Application Ser. No. 61/464,376 entitled âAdvanced Communication System for Wide-area Low Power Wireless Applications and Active RFIDâ and, filed on Mar. 2, 2011. Each of above-referenced documents is hereby incorporated herein by reference in its entirety.
This patent application also makes reference to:
U.S. Provisional Patent Application Ser. No. 61/464,376 titled âAdvanced Communication System for Wide-Area Low Power Wireless Applications and Active RFIDâ and, filed on Mar. 2, 2011, now expired;
U.S. Provisional Patent Application Ser. No. 61/572,390 titled âSystem for Adding Dash7-Based Applications Capability to a Smartphoneâ and, filed on Jul. 15, 2011, now expired;
U.S. Pat. No. 8,976,691 titled âMethod and Apparatus for Adaptive Searching of Distributed Datasetsâ and, filed on Oct. 6, 2011;
U.S. Pat. No. 9,042,353 titled âMethod and Apparatus for Low-Power, Long-Range Networkingâ and, filed on Oct. 6, 2011;
U.S. Pat. No. 8,718,551 titled âMethod and Apparatus for a Multi-band, Multi-mode Smartcardâ and, filed on Oct. 11, 2011;
U.S. patent application Ser. No. 13/270,959 titled âMethod and Apparatus for an Integrated Antennaâ and, filed on Oct. 11, 2011;
U.S. patent application Ser. No. 13/289,054 titled âMethod and Apparatus for Electronic Paymentâ and, filed on Nov. 4, 2011;
U.S. patent application Ser. No. 13/289,050 titled âMethod And Apparatus For Tire Pressure Monitoringâ, filed on Nov. 4, 2011;
U.S. Pat. No. 8,622,312 titled âMethod and Apparatus for Interfacing with a Smartcardâ and, filed on Nov. 16, 2011;
U.S. Pat. No. 9,104,548 titled âMethod and Apparatus for Memory Managementâ and, filed on Jan. 20, 2012;
U.S. patent application Ser. No. 13/354,615 titled âMethod and Apparatus for Discovering, People, Products, and/or Services via a Localized Wireless Networkâ and, filed on Jan. 20, 2012;
U.S. Pat. No. 8,909,865 titled âMethod and apparatus for Plug and Play, Networkable ISO 18000-7 Connectivityâ and, filed on Feb. 15, 2012;
United States Patent Publication No. 2012/0209716 titled âMethod and Apparatus for Serving Advertisements in a Low-Power Wireless Networkâ and, filed on Feb. 15, 2012;
U.S. patent application Ser. No. 13/408,440 titled âMethod and Apparatus for Forward Error Correction (FEC) in a Resource-Constrained Networkâ and, filed on Feb. 29, 2012, now abandoned;
U.S. Pat. No. 8,867,370 titled âMethod and Apparatus for Adaptive Traffic Management in a Resource-Constrained Networkâ and, filed on Feb. 29, 2012;
U.S. Pat. No. 9,191,340 titled âMethod and Apparatus for Dynamic Media Access Control in a Multiple Access Systemâ and, filed on Feb. 29, 2012;
United States Patent Publication No. 2012/0226822 titled âMethod and Apparatus for Addressing in a Resource-Constrained Networkâ and, filed on Feb. 29, 2012;
U.S. Pat. No. 8,885,586 titled âMethod and Apparatus for Query-Based Congestion Controlâ and, filed on Feb. 29, 2012; and
U.S. Pat. No. 9,154,392 titled âMethod and Apparatus for Power Autoscaling in a Resource-Constrained Networkâ and, filed on Feb. 29, 2012.
Each of the above-referenced applications is hereby incorporated herein by reference in its entirety.
Certain embodiments of the invention relate to networking. More specifically, certain embodiments of the invention relate to a method and apparatus for rapid group synchronization.
Existing methods and systems for synchronizing wireless devices are time and power intensive. Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
A system and/or method is provided for rapid group synchronization, substantially as illustrated by and/or described in connection with at least one of the figures, as set forth more completely in the claims.
These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.
FIG. 1 depicts an exemplary wireless communication network in which network communications may be scheduled as needed and/or on-demand.
FIG. 2 depicts exemplary communication devices which may support rapid group synchronization.
FIG. 3A illustrates an exemplary physical layer PDU utilized for synchronizing network devices and scheduling network events.
FIG. 3B illustrates an exemplary physical layer PDU utilized for data communication.
FIG. 4A is a diagram illustrating scheduling of a network communication via communications from a single requesting device.
FIG. 4B is a diagram illustrating scheduling of a network communication via communications from a single requesting device.
FIG. 5 is a flowchart illustrating exemplary steps for event scheduling in a network comprising a plurality of resource-constrained devices.
As utilized herein the terms âcircuitsâ and âcircuitryâ refer to physical electronic components (i.e. hardware) and any software and/or firmware (âcodeâ) which may configure the hardware, be executed by the hardware, and or otherwise be associated with the hardware. As utilized herein, âand/orâ means any one or more of the items in the list joined by âand/orâ. As an example, âx and/or yâ means any element of the three-element set {(x), (y), (x, y)}. As another example, âx, y, and/or zâ means any element of the seven-element set {(x), (y), (z), (x, y), (x, z), (y, z), (x, y, z)}. As utilized herein, the terms âblockâ and âmoduleâ refer to functions than can be implemented in hardware, software, firmware, or any combination of one or more thereof. As utilized herein, the term âexemplaryâ means serving as a non-limiting example, instance, or illustration. As utilized herein, the terms âe.g.,â and âfor exampleâ introduce a list of one or more non-limiting examples, instances, or illustrations.
FIG. 1 depicts an exemplary wireless communication network in which network communications may be scheduled as needed and/or on-demand. Referring to FIG. 1, the network comprises base stations/sub-controllers 1021 and 1022, and endpoints 1041-10416.
Each of the devices 1021 and 1022 may be, for example, a base station or a network sub-controller and may comprise circuitry for communicating wirelessly, and managing overall synchronization and access to the wireless network within the cell 108. The devices 1021 and 1022 may transmit and receive wireless signals in accordance with any one or more protocols. Such protocols may include, for example, protocols defined in the ISO 18000-7 standard, and/or protocols described in the above-incorporated U.S. Provisional Patent Application No. 61/464,376 filed on Mar. 2, 2011. An exemplary device 102 is described below with respect to FIG. 2.
Each of the endpoints 1041-10415 may comprise circuitry for communicating wirelessly. Each of the devices 1021 and 1022 may communicate with in-range endpoints in accordance with any one or more protocols. Such protocols may include, for example, protocols defined in the ISO 18000-7 standard, and/or protocols described in the above-incorporated U.S. Provisional Patent Application No. 61/464,376 filed on Mar. 2, 2011. An exemplary endpoint 104 is described below with respect to FIG. 2.
In operation, the devices 1021 and 1022 may send two types of protocol data units (PDUs) to the devices 1041-10415. A first type of PDU (referred to herein as a âbackground frameâ) may be utilized for scheduling the occurrence of events in the network, (e.g., with reference to the common network time and/or common time base), and/or for other network communications. A second type of PDU (referred to herein as a âforeground frameâ) may be utilized for data exchanges and/or other network communications.
The devices 1021 and 1022 may comprise clocks which may be utilized for scheduling communications and/or other events in the network. Generally speaking, transmissions in the network may be coordinated utilizing collision detection and/or collision avoidance, rather than a âfully-managedâ or âtime-slottedâ scheme. As a result, at any given time, one or more of the devices 1041-10415 may be transmitting on the medium, one or more of the devices 1041-10415 may be listening on the medium, and one or more of the devices 1041-10415 may be in a low-power or powered-down state. Consequently, reliably synchronizing all of the devices 1041-10415 may require the transmission of multiple background frames in succession. That is, the more background frames that are consecutively sent, the more likely it may be that any or all devices 1041-10415 have successfully received one of the background frames.
Each of the devices 1021 and 1022 may, however, be limited in how many consecutive background frames it can send. Accordingly, aspects of the invention may enable the devices 1021-1022 to coordinate a flood of background frames where a transmission of one or more background packets on a particular channel by device 1021 is followed immediately (or as nearly immediately as may be possible or permitted) by a transmission of one or more background packets on the same channel by device 1022. In this manner, a flood of background packets twice as long as may be sent by device 1021 or 1022 alone may be achieved. For even longer floods, the devices 1021 and 1022 may coordinate with additional devices 102 (not shown) and/or the devices 1021 and 1022 may continue to alternate transmissions back-to-back for as long as may be desired.
FIG. 2 depicts exemplary communication devices which may support rapid group synchronization. Shown in FIG. 2 are details of an exemplary first device 102x (which may generically represent each of the devices 1021 and 1022), and details of an exemplary second device 104x (which generically represents each of the devices 1041-10415).
The CPU 204 may comprise circuitry operable to control operation of the first device 102. The CPU 204 may, for example, execute an operating system and/or other programs such (e.g., programs that enable a user interface of the device 102). The CPU 204 may generate one or more control signals for controlling the operation of the device 102. The CPU 204 may, for example, control a mode of operation of the device 102.
The CPU 214 may comprise circuitry operable to control operation of the second device 104. In some instances, the CPU 214 may be substantially similar to the CPU 204. In instances that the device 102 is less resource-constrained device, such as a base station or network controller, and the device 104 is more resource-constrained device, such as a battery-powered tag or a smartcard as described in above-incorporated U.S. patent application having Ser. No. 13/270,802, the CPU 204 may be less-complex (e.g., comprise fewer gates, utilize less power, utilize less memory, etc.) than the CPU 214. In one embodiment, for example, the CPU 204 may comprise a RISC or ARM processor, and the CPU 214 may comprise a state-machine having a relatively small number of states (e.g., four states).
The radio 207 may comprise a processor 208 and an analog front-end (AFE) 209. The processor 208 may comprise circuitry operable to interface with the AFE 209 to receive and transmit data, and to process received and to-be-transmitted data. For transmission, the processor 208 may be operable to receive data from the CPU 204 and/or memory 206, encode, packetize, and/or otherwise process the data to prepare it for transmission in accordance with one or more wireless protocols, and output the data to the AFE 209 for transmission. For reception, the processor 208 may be operable to receive data via the AFE 209, process the received data and output received data to the memory 206 and/or the CPU 204. Exemplary protocols which may be supported by the second device 104 include the ISO 18000-7 standard, and protocols described in the above-incorporated U.S. Provisional Patent Application having Ser. No. 61/464,376 filed on Mar. 2, 2011.
The radio 217 may comprise a processor 218 and an analog front-end (AFE) 219. The baseband processor 218 may comprise circuitry operable to interface with the AFE 219 to receive and transmit data, and to process received and to-be-transmitted data. In some instances, the baseband processor 218 may be substantially similar to the baseband processor 208. In instances that the device 102 is less-resource-constrained device, such as a base station or network controller, and the device 104 is a more-resource-constrained device, such as a battery-powered tag, the baseband processor 218 may be less-complex (e.g., comprise fewer gates, utilize less power, utilize less memory, etc.) than the baseband processor 208. In one embodiment, for example, the baseband processor 208 may be operable to implement more complex signal processing algorithms (e.g., FEC decoding) than the baseband processor 218.
The analog front-end (AFE) 209 may comprise circuitry suitable for processing received and/or to-be-transmitted data in the analog domain. For transmission, the AFE 209 may receive digital data from the baseband processor 208, process the data to generate corresponding RF signals, and output the RF signals to the antenna 210. For reception, the AFE 209 may receive RF signals from the antenna 210, process the RF signals to generate corresponding digital data, and output the digital data to the baseband processor 209. In some instances, the AFE 219 may be substantially similar to the AFE 209. In instances that the device 102 is less-resource-constrained device, such as a base station or network controller, and the device 104 is a more-resource-constrained device, such as a battery-powered tag, the AFE 219 may be less-complex (e.g., comprise fewer gates, utilize less power, utilize less memory, etc.) than the AFE 209. In one embodiment, for example, the AFE 209 may comprise a more-sensitive receiver, a more powerful transmitter than the AFE 219.
Circuitry of the memory 206 may comprise one or more memory cells and may be operable to store data to the memory cell(s) and read data from the memory cell(s). The one or more memory cell may comprise one or more volatile memory cells and/or one or more non-volatile memory cells. The memory 206 may store data arranged, for example, as an indexed short file block (ISFB) and/or indexed short file series block (ISFSB) as described in the above-incorporated U.S. Provisional Patent Application having Ser. No. 61/464,376.
Circuitry of the memory 216 may comprise one or more memory cells and may be operable to read data from the memory cell(s) and/or store data to the memory cell(s). The memory 216 may store data arranged, for example, as an indexed short file block (ISFB) and/or indexed short file series block (ISFSB) as described in the above-incorporated U.S. Provisional Patent Application having Ser. No. 61/464,376. In some instances, the memory 216 may be substantially similar to the memory 206. In instances that the device 104 is resource-constrained, the memory 216 may be less-complex (e.g., comprise fewer gates, utilize less power, etc.) than the memory 206.
Each of the clocks 211 and 221 may be operable to generate one or more oscillating signals which may be utilized to control synchronous circuitry of the device 100. Each of the clocks 211 and 221 may comprise, for example, one or more crystal oscillators, phase-locked loops, and/or direct digital synthesizers. Each of the clocks 211 and 221 may also comprise a âdate/timeâ or âreal-timeâ clock operable to keep track of time of day, day of week, day of month, month, and/or year.
The interfaces 212 and 222 may enable configuring and/or programming the devices 102 and 104, respectively. In an exemplary embodiment, one or more values of one or more timing parameters may be programmed via the programming interfaces 212 and/or 222.
Each of the antennas 210 and 220 may be operable to transmit and receive electromagnetic signals in one or more frequency bands. In an embodiment of the invention, the antennas 210 and 220 may be operable to transmit and receive signals in the ISM frequency band centered at 433.92 MHz.
In operation, the device 102x may decide to (or be instructed to) schedule a network communication (e.g., schedule a search of the devices 1041-10415) to occur at time T, where T may be referenced to a common time base (e.g., ticks of a fixed-frequency oscillator) and/or to a real-time clock. For example, the device 102x may generate a background frame that instructs destination devices (i.e. devices for which the frame is destined) receiving the background frame to be prepared (e.g., have their receivers on and listening to a particular channel) to receive a search request at time T. From time Tâ2Î until time T+Î, where Î is some positive value, the device 102x may transmit the generated background frame one or more times in succession. The amount of time between transmissions of the background frame may be as short as is permissible and/or allowed. If, during the time period from time Tâ2Î to time T+Î, the device 104x was listening to the channel(s) on which the background frame was transmitted, then the device may have received the background frame, and scheduled itself to turn on the receive portion of its radio 217 at time Tâα (where α is the amount of time that it takes the receiver to power-up and stabilize).
If, on the other hand, the device 104x was not receiving during the period from time Tâ2Î to time T+Î, (e.g., because its receiver was off and/or it was busy transmitting), then the clock 221 may have failed to schedule the reception of the request at time Tâα. Consequently, the device 104x may miss the search request and the results of search may be sub-optimal.
FIG. 3A illustrates an exemplary physical layer PDU utilized for synchronizing network devices and scheduling network events. The physical layer frame comprises a preamble, a sync word, and a payload. The preamble may be utilized for phase and/or frequency locking the receive circuitry of the device receiving the PDU. The sync word may identify whether the PDU contains a background frame or a foreground frame. In the case of FIG. 3A, the sync word may indicate that the PDU contains a background frame.
The payload comprises a data link layer (OSI layer 2) PDU; in this case, a background frame. The background frame comprises a subnet field, a background protocol ID (BPID) field, and a CRC field. The subnet field may be a value utilized for packet filtering. Specifically, devices which have a device subnet specifier that does not match the value in the subnet field of the frame may ignore/discard the frame. The CRC field may be utilized for performing error detection and/or correction on the received PDU.
The payload comprises a background protocol ID (BPID) field and protocol data. The BPID may indicate which background frame protocol(s) is to be utilized for parsing and/or processing the received frame. In the case of FIG. 3A, the background protocol is an advertising protocol, and the protocol data comprises a channel ID field and an event time field. For each devices 104x that received the frame and determined that it was a valid destination of the frame, the event time field may indicate a time at which the device should prepare to receive a transmission and the channel ID field may indicate a channel on which the device 104x should prepare to receive the transmission. The event time field may be formatted as amount of time until the event and/or real-time at which the event will occur.
FIG. 3B illustrates an exemplary physical layer PDU utilized for data communication. The physical layer frame comprises a preamble, a sync word, and a payload. The payload comprises a data link layer (OSI layer 2) PDU, in this case, a foreground frame. The foreground frame comprises a length field, a header field, a payload, a footer, and a cyclic redundancy check field. The payload may comprise, for example, a network layer (OSI layer 3) PDU. The headers field may comprise, for example, TxEIRP field, a subnet field, a frame control field, a data link layer security (DLLS) code, DLLS initialization data, a dialog identifier, a flags field, a source ID, and a target ID. The frame control field comprises a listen flag, a DLLS flag, an enable addressing flag, a frame continuity flag, a CRC32 flag, a not mode 2 flag, and a mode 2 frame type flag. The flags field comprises an addressing option flag, a virtual ID flag, a network layer security flag, and application flags.
FIG. 4A is a diagram illustrating scheduling of a network communication via communications from a single requesting device. From time instant T2 to time instant T5, the device 102 may begin transmitting background frames to schedule a search at time instant T9. The background frames may arrive at the device 104 from time instant T3 until time instant T7. The device 104, however, may be transmitting from time instant T1 to time instant T4 and may not begin receiving until T6. As a result, the device 104 may not successfully receive one of the background packets transmitted by the device 1021 from time instant T2 to T5. Consequently, the device 104 may not schedule reception of the search request at time instant T9, and may not participate in the search. Had the device 1021 transmitted background packets (e.g., until time instant T8) perhaps the device 104 would have successfully received the background frame, but the device 1021 may be prevented from transmitting longer than the duration of T5âT2.
FIG. 4B is a diagram illustrating scheduling of a network communication via communications from a single requesting device. From time instant T2 to time instant T5, the device 102 may begin transmitting background frames to schedule a search at time instant T10. The background frames may arrive at the device 104 from time instant T3 until time instant T7. The device 104, however, may be transmitting from time instant T1 to time instant T4 and may not begin receiving until T6. As a result, the device 104 may not successfully receive one of the background packets transmitted by the device 1021 from time instant T2 to T5. In contrast to FIG. 4A, however, at time instant T5 the device 1022 may begin transmitting the background frame, and the transmissions may arrive at device 104 between time instants T7 and T9. The device 104 may successfully receive one of the background frames transmitted between time instants T5 and T8 and may, consequently, schedule reception of the search to be transmitted at time instant T10. Accordingly, at time instant T10âÎ, the device 104 may power-up its receiver, and may receive the search request from time instant T11 to T13.
FIG. 5 is a flowchart illustrating exemplary steps for event scheduling in a network comprising a plurality of resource-constrained devices. The exemplary steps begin with step 502 in which a base station (e.g., device 1021) determines to schedule a network transmission. The network transmission may be, for example, a search request.
In step 504, the base station may determine an amount of time for which to transmit background frames advertising the scheduled network transmission. The duration of the flood of background frames may be determined based on a variety of factors such as, for example: how many devices 104 are present in the network, a distance to one or more of the devices 104, how frequently the devices 104 typically transmit, how frequently the devices 104 typically perform a channel scan, power and/or sources available to the base station (e.g., if it is running on battery power it may want to reduce the length of the flood), and/or amount of time until the scheduled event.
In step 506, the base station may coordinate with sub-controllers (e.g., device 1022) in the network to transmit the flood of background frames. The sub-stations may enlist other devices to participate in the flood because, for example, the flood will be longer than the base station can transmit (e.g., because of technical and/or regulatory limitations). The sub-stations may enlist other devices to participate in the flood because, for example, the large number of devices 104 in the network makes it unlikely that greater than a threshold percentage (which may be configurable and/or vary with the circumstances of the scheduled transmission) of the devices 104 will receive the background frames if the duration of the flood is limited to the maximum duration of continuous transmission by the base station. The sub-stations may enlist other devices to participate in the flood because of the distance between the base station and one or more devices in the network. For example, based on past communications with the sub-controller and/or the devices 104, the base station may be aware that the sub-controller may be closer to one or more devices 104 and thus enable more reliably reaching those one or more devices. In an exemplary embodiment, the base station may coordinate with the sub-controller(s) via a different protocol (wired, wireless, or optical) than the protocol utilized for communicating with the devices 104. For example, the base station and sub-controller(s) may have wired connections to a LAN or the Internet.
In step 508, the base station may transmit its portion of the background frames. Devices which perform a channel scan during this time period may successfully receive one or more of the background frames and may schedule reception of the pending transmission being advertised in the background frames. Devices which do not perform a channel scan during this time period may not receive one or more of the background frames and, consequently, may not schedule reception of the pending transmission being advertised in the background frames.
In step 510, the sub-controllers with which the base station coordinated in step 506 may, sequentially in turn, transmit its share of the background frames. Devices which perform a channel scan during this time period (which may include devices which did not perform a channel scan during step 508) may successfully receive one or more of the background frames and may schedule reception of the pending transmission being advertised in the background frames.
In another embodiment of the invention, the coordinating of the sub-controllers may comprise controlling their transmit strength such that their transmissions are non-overlapping. In this manner, all of the sub-controllers could transmit the flood concurrently.
In step 512, the scheduled transmission (e.g., a search request as described in above-incorporated U.S. patent application Ser. No. 13/267,640) may take place at the scheduled time. In an exemplary embodiment, the scheduled transmission may be transmitted only by the base station. In another exemplary embodiment, the request may be transmitted concurrently by a plurality of sub-controllers each of which has had its transmit power and/or transmit channel configured to not overlap with other ones of the sub-controllers (i.e., so the packets from the various sub-controllers does not collide).
In an exemplary embodiment of the invention, a first device 1021 of a network may decide to transmit a flood of packets that is longer in duration than the maximum amount of time that the first device can continuously transmit. The first device 1021 may coordinate with one or more second devices 1022-102N (where N is an integer greater than 1) of the network such that each of the one or more second devices 102 transmits a respective second portion of the flood of packets following transmission of a first portion of the flood of packets by the first network device 1021. The packets may advertise a pending network event that is to occur at a time indicated by the contents of the packets (e.g., by an event time field). The network event comprises the transmission of a search request. The packets may contain a channel identifier field that indicates a channel on which the search request will be transmitted. The device 1021 may select the one or more second devices 1022-102N from a plurality of devices based on a location of the one or more second devices 1022-102N. The device 1021 may select the one or more second network devices from a plurality of devices based on how many third devices 104 are in the network. The plurality of second devices 1022-102N may concurrently transmit their respective portions of the flood. A transmit power utilized by each of the one or more second devices for transmitting its respective portion of the flood may be controlled to avoid collisions between packets of the flood. Each one of the plurality of second devices 1022-102N may transmit its respective portion of the flood on a channel that is different than a channel utilized by each other one of the plurality of second devices 1022-102N for transmitting their respective portions of the flood. The packets may be background frames comprising a subnet field, a background protocol identifier field, a channel identifier field, and an event time field.
Other embodiments of the invention may provide a non-transitory computer readable medium and/or storage medium, and/or a non-transitory machine readable medium and/or storage medium, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the steps as described herein for rapid group synchronization
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computing system, or in a distributed fashion where different elements are spread across several interconnected computing systems. Any kind of computing system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computing system with a program or other code that, when being loaded and executed, controls the computing system such that it carries out the methods described herein. Another typical implementation may comprise an application specific integrated circuit or chip.
The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.
1. A method comprising:
in a first device of a network:
deciding to transmit a flood of packets that is longer in duration than the maximum amount of time that said first device can continuously transmit;
coordinating with one or more second devices of said network such that each of said one or more second devices transmits a respective second portion of said flood of packets following transmission of a first portion of said flood of packets by said first network device.
2. The method of claim 1, wherein said packets advertise a pending network event that is to occur at a time indicated by the contents of said packets.
3. The method of claim 2, wherein said network event comprises the transmission of a search request.
4. The method of claim 3, wherein said packets contain a channel identifier field that indicates a channel on which said search request will be transmitted.
5. The method of claim 1, comprising selecting said one or more second devices from a plurality of devices based on a location of said one or more second devices.
6. The method of claim 1, comprising selecting said one or more second network devices from a plurality of devices based on how many third devices are in said network.
7. The method of claim 1, wherein:
said one or more second devices is a plurality of second devices; and
said plurality of second devices concurrently transmit their said respective portions of said flood.
8. The method of claim 7, wherein a transmit power utilized by each of said one or more second devices for transmitting its said respective portion of said flood is controlled to avoid collisions between packets of said flood.
9. The method of claim 7, wherein each one of said plurality of second devices transmits its said respective portion of said flood on a channel that is different than a channel utilized by each other one of said plurality of second devices for transmitting their said respective portions of said flood.
10. The method of claim 1, wherein said packets are background frames comprising a subnet field, a background protocol identifier field, a channel identifier field, and an event time field.
11. A system comprising:
a first device of a network, said first device being operable to:
decide to transmit a flood of packets that is longer in duration than the maximum amount of time that said first device can continuously transmit;
coordinate with one or more second devices of said network such that each of said one or more second devices transmits a respective second portion of said flood of packets following transmission of a first portion of said flood of packets by said first network device.
12. The system of claim 11, wherein said packets advertise a pending network event that is to occur at a time indicated by the contents of said packets.
13. The system of claim 12, wherein said network event comprises the transmission of a search request.
14. The system of claim 13, wherein said packets contain a channel identifier field that indicates a channel on which said search request will be transmitted.
15. The system of claim 11, wherein said first device is operable to select said one or more second devices from a plurality of devices based on a location of said one or more second devices.
16. The system of claim 11, wherein said first network device is operable to select said one or more second network devices from a plurality of devices based on how many third devices are in said network.
17. The system of claim 11, wherein:
said one or more second devices is a plurality of second devices; and
said plurality of second devices concurrently transmit their said respective portions of said flood.
18. The system of claim 17, wherein a transmit power utilized by each of said one or more second devices for transmitting its said respective portion of said flood is controlled to avoid collisions between packets of said flood.
19. The system of claim 17, wherein each one of said plurality of second devices transmits its said respective portion of said flood on a channel that is different than a channel utilized by each other one of said plurality of second devices for transmitting their said respective portions of said flood.
20. The system of claim 11, wherein said packets are background frames comprising a subnet field, a background protocol identifier field, a channel identifier field, and an event time field.