US20160366065A1 - Synchronized delivery from multiple devices - Google Patents

Synchronized delivery from multiple devices Download PDF

Info

Publication number
US20160366065A1
US20160366065A1 US15/248,169 US201615248169A US2016366065A1 US 20160366065 A1 US20160366065 A1 US 20160366065A1 US 201615248169 A US201615248169 A US 201615248169A US 2016366065 A1 US2016366065 A1 US 2016366065A1
Authority
US
United States
Prior art keywords
data
time
delivery
transmission
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/248,169
Inventor
Armen E. Kazanchian
Stephen Michael Praed
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RF Digital Corp
Original Assignee
RF Digital Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RF Digital Corp filed Critical RF Digital Corp
Priority to US15/248,169 priority Critical patent/US20160366065A1/en
Assigned to RF DIGITAL CORPORATION reassignment RF DIGITAL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PRAED, Stephen Michael, KAZANCHIAN, ARMEN E.
Publication of US20160366065A1 publication Critical patent/US20160366065A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/145Passive relay systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/002Mutual synchronization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/25Maintenance of established connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/3827Portable transceivers
    • H04B1/3833Hand-held transceivers
    • H04B1/3838Arrangements for reducing RF exposure to the user, e.g. by changing the shape of the transceiver while in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present disclosure relates to synchronized delivery from multiple devices.
  • synchronized wireless receivers are useful tools for various applications. For example, to generate the right lighting effects at a concert requires accurate coordination of multiple lights spread through a concert venue from a single point. Similarly, synchronized communication can be necessary for research and visual effects imaging in which multiple cameras are used to record simultaneously the same event from multiple different vantage points.
  • the present disclosure describes synchronized delivery from multiple devices. For example, a transmission containing data can be received at a first one of the devices, Initiation of delivery of the received data from the first device to a module is delayed by a an amount of time, and after passage of the amount of time, delivery of the received data from the first device to the module is initiated. This can allow the first device to initiate delivery of the data to the module in synchronized fashion with other ones of the devices initiating delivery of the data to respective modules.
  • a method of synchronizing data delivery from a multitude of devices includes receiving, at a first one of the devices, a transmission containing data and delaying initiation of delivery of the received data from the first device to a module. Initiation of delivery of the data is delayed by a first amount of time based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that all the devices receive the data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt, for the first device to receive the data. The method further includes, after passage of the first amount of time, initiating delivery of the received data from the first device to the module.
  • the method can facilitate allowing the first device to initiate delivery of the data to the module in synchronized fashion with other ones of the devices initiating delivery of the data to respective modules.
  • the specified probability that all the device receive the data is at least 99%.
  • the first device receives the transmission containing the data at a time that differs from a time at which at least one of the other devices received a transmission containing the data.
  • the first device is powered down for operation in a low-power mode during the first amount of time while the initiation of the delivery of the data is delayed.
  • the initiation of delivery of the data from the first device can be delayed, for example, by a first amount of time equal to a difference between the predetermined value and the time interval.
  • the transmission containing the data also contains a transmission attempt number indicating a number of times transmission of the data to the first device has been attempted during a particular time period.
  • the particular time period can commence, for example, with the initial transmission attempt and can conclude, for example, when the second amount of time passes.
  • the time interval indicative of how long it took, since the initial transmission attempt, for the first device to receive the data can be based at least in part on the transmission attempt number contained in the transmission received by the first device.
  • the disclosure describes an apparatus that includes a first transceiver operable to receive and transmit communications.
  • a timer tracks a first amount of time based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that each of a plurality of transceivers receives the data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt, for the first transceiver to receive the data.
  • the apparatus includes a processor, and memory storing instructions that, when executed by the processor, cause the processor, in response to receiving a transmission containing data, to delay, by the first amount of time, initiation of delivery of the received data by the first transceiver to another device; and to initiate delivery of the received data by the first transceiver to the other device after passage of the first amount of time.
  • the disclosure also describes a system that includes a sensor, a multitude of devices operable to receive and send communications, a transmitter coupled to the sensor and operable to send communications containing sensor data to the device, and a multitude of output modules each of which is operable to receive communications from a respective one of the devices.
  • Each particular one of the devices is operable to receive, from the transmitter, a respective communication containing sensor data and to delay initiation of delivery of the received sensor data from the particular device to a respective one of the output modules by a first amount of time.
  • the first amount of time is based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that all the devices receive the sensor data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt by the transmitter, for the particular device to receive the sensor data.
  • Each particular one of the devices also is operable to initiate delivery of the sensor data from the particular device to the respective one of the output modules after passage of the first amount of time.
  • the amount of delay can be customized for each of the plurality of devices.
  • Some implementations can achieve reliable synchronized delivery from multiple receivers with a high degree of accuracy, which can be desirable, for example, for time sensitive communications such as critical data/signal delivery.
  • FIG. 1 illustrates an example of a system for synchronized data delivery.
  • FIG. 2 illustrates a flow diagram illustrating an example of data delivery from a transmitter perspective.
  • FIG. 3 illustrates a flow diagram illustrating an example of data delivery from a receiver perspective.
  • FIG. 4 illustrates another example of a system for synchronized data delivery.
  • data can be collected by input hardware 10 and transmitted by a transmitter 16 to multiple receivers 12 , 14 .
  • the input hardware 10 include sensors operable to sense various physical features.
  • the input hardware 10 is coupled to the transmitter 16 , which can include, for example, both a hardware component and a software component.
  • the transmitter 16 can be implemented by a small programmable wireless module that includes, for example, a processor 20 with flash and RAM memory 21 and a Bluetooth smart radio 22 for transmitting communications.
  • the processor can be, for example, an ARM® Cortex® processor implemented as a system-on-chips (SoC) that incorporates memory, interfaces and a radio.
  • SoC system-on-chips
  • Instructions can be stored in memory 21 so that the processor 20 is operable to perform the operations described below in connection with the transmitter 16 .
  • the transmitter 16 may be designed to communicate with the receivers 12 , 14 over another type of medium (e.g., fiber optic cables; copper wires).
  • each of the receivers 12 , 14 also can be implemented by a small programmable wireless module that includes, for example, processor 30 with flash and RAM memory 31 and a Bluetooth smart radio 32 for receiving communications. Instructions can be stored in memory 31 so that the processor 30 is operable to perform the operations described below in connection with the receivers 12 , 14 . In other cases, the receivers 12 , 14 may be designed to communicate with the transmitter 10 over another type of medium (e.g., wires). Each receiver 12 , 14 can include a respective hardware component and a respective software component.
  • each receiver 12 , 14 is coupled to a respective output module 24 , 26 that is, or includes, for example, a processor, a display monitor, light emitting elements (e.g., LEDs) or other device.
  • the output modules 24 , 26 can be configured, for example, to process the received data and/or generate a visual indication of the received data.
  • the techniques described in this disclosure can facilitate synchronization of data transmissions from the outputs of multiple receiver devices 12 , 14 such that the receivers output the data at substantially the same time (T STN ).
  • T STN substantially the same time
  • FIG. 1 shows only two receivers 12 , 14 , in some applications there may be hundreds or even thousands of receivers. Thus, for ease of explanation, the description in the following paragraphs assumes there are two receivers 12 , 14 . However, the techniques described here are applicable to systems having a greater number of receivers as well.
  • synchronization can be achieved by delaying transmission of the data from one or more of the receivers by a respective interval of time (I DLY ) that is customized for different ones of the receivers such that all the receivers 12 , 14 initiate delivery of their data at substantially the same time.
  • the amount of delay is determined in view of a best attempt delivery interval (I BST ) that represents the amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability (e.g., ⁇ 99%) that all receivers 12 , 14 receive the data transmission.
  • I BST best attempt delivery interval
  • the best attempt delivery interval (I BST ) is indicative of the maximum amount of time needed to achieve at least one successful data transmission to all the receivers 12 , 14 , including the receiver having the greatest probability of failure.
  • the best attempt delivery interval (I BST ) is about 3 ms. This value may differ for other applications.
  • the value of the best attempt delivery interval (I BST ) for a particular application can be determined, for example, as follows. Each transmission is assumed to occur over an interval (I MED ) that depends, at least in part, on the particular medium over which transmission occur. For wireless data transmissions, the medium interval may be about 1 ms. In the illustrated example, it is assumed for that the first receiver 12 will require no more than two transmission attempts to receive successfully data transmitted by the transmitter 16 . Thus, the first receiver 12 is assumed to receive the data within an interval 2*I MED from the initial transmission attempt at time T ITR . In contrast, it is assumed, in this example, that the second receiver 14 may need up to three transmission attempts to receive successfully data transmitted by the transmitter 16 .
  • the second receiver 14 is assumed to receive the data within an interval 3* I MED from the initial transmission attempt at time T ITR . Since in the illustrated example, there are only two receivers 12 , 14 , it is assumed that the maximum number of attempted data transmissions for all the receivers to receive the data successfully will be three.
  • the best attempt delivery interval (I BST ) can be set equal to the amount of time required for this maximum number of attempted data transmissions. Thus, in this example, I BST is set equal to 3* I MED .
  • the maximum number (N MAX ) of delivery attempts that can take place during the best attempt delivery interval (I BST ) is also fixed.
  • the maximum number (N MAX ) of delivery attempts is three.
  • the first receiver 12 receives the data transmission from the transmitter 16 after the second transmission attempt, at a time equal to (2*I MED ) following the initial transmission attempt at time T ITR .
  • the second receiver 14 might not receive the data transmission successfully until after the third transmission attempt (i.e., upon passage of the entire duration of the best attempt delivery interval (I BST )).
  • the first receiver 12 is configured to delay transmission of the data by an individualized and customized time interval (I DLY(1) ), which in this example is equal to (1*I MED ).
  • each receiver e.g., 12
  • each receiver is configured to identify the number (N TR ) of the transmission attempt encoded in the receive data transmission and, if the encoded transmission attempt number (N TR ) in the received transmission is less than the maximum number of transmission attempts allowed, to delay initiation of the delivery of the data to the output module (e.g., 24) by an amount equal to (N MAX ⁇ N TR )*I MED .
  • the delay will be a multiple of I MED .
  • the encoded transmission attempt number (N TR ) in the received transmission is equal to the maximum number of transmission attempts allowed (e.g., N MAX )
  • the delay for that receiver will be zero.
  • FIGS. 2 and 3 illustrate, respectively, flow diagrams of an example of data transmission and reception from the perspective of the transmitter 16 and from the perspective of one of the receivers 12 , 14 .
  • the transmitter 16 sets the counter 18 to a value of 1 (at 100).
  • the transmitter 16 transmits a communication that includes the data as well as the current value stored by the counter 18 (at 110).
  • the counter 18 is increased by 1 (at 120).
  • the process determines whether another transmission attempt is required and, if so, transmits the same data with the increased count. So long as the counter 18 has not exceeded the maximum number of transmission attempts, the process continues by repeating 110, 120 and 130. If the value in the counter 18 exceeds the maximum number of transmission attempts, the process is completed (at 140). If more data needs to be transmitted by the transmitter 16 , the process of FIG. 2 can be repeated.
  • the receiver checks the integrity of the data for errors (at 210). If one or more errors are detected, then the process executed by the receiver 12 waits for another data transmission from the transmitter 16 (at 200). Since the transmission from the transmitter 16 contains the transmission number (N TR ) as well as the data, the process can determine (at 220) whether the received transmission is the last transmission from the transmitter 16 during the particular best attempt delivery interval (I BST ).
  • the process calculates (at 230) the number of remaining transmission attempts it expects the transmitter 16 to make (i.e., N MAX ⁇ N TR ).
  • the receiver 12 then waits (at 240) the same amount of time that performance of the remaining data transmissions during the particular best attempt delivery interval (I BST ) is expected to require (i.e., (N MAX ⁇ N TR )*I MED ).
  • the data then is delivered (at 250) from the receiver 12 .
  • the other receivers e.g., 14
  • the other receivers also execute the same process of FIG. 3 .
  • delivery of the data by each of the receivers 12 , 14 is synchronized (i.e., at time T SYN ), and the output modules 23 , 26 can process or display the data.
  • the maximum number of attempts to deliver the data to the receivers 12 , 14 may depend on the particular application, but can remain constant for a given application.
  • the second receiver 14 successfully receives data by the third attempt at data transmission. This assumption can be considered valid because the best attempt delivery interval (I BST ) is selected to correspond to a near-100% rate of success (e.g., ⁇ 99%).
  • the process can take one of the following actions, depending on the implementation. In some implementations, the process proceeds as if the particular transmission did not occur.
  • the process uses the last known transmitted state again. In some implementations, if the receiver output was expected, the process uses a specified default or error state. This latter technique can be used, for example, in situations where it is critical for the receiving device to change state (e.g., if a request to keep a surgical laser on is not received within a specified time period, then the laser should be turned off; or, where repeated transmissions cause a door lock to remain open, if a transmission is not received, then for security, the default state may cause the door lock to be closed).
  • the receiver can be powered down for operation in a low-power mode, so as to reduce energy consumption.
  • the receiver's timer 28 can be used to generate a signal that causes the receiver to power-up at the end of the best attempt delivery interval (I BST ) so that the receiver can deliver its data at the synchronization time (T SYN ).
  • Data delivery success may depend, in some instances, on the medium across which the data is delivered to a receiver (e.g., a wired electric medium, fiber optic medium, wireless medium or a combination thereof).
  • the medium may be “error-free” where data delivery is essentially guaranteed, or “error-prone” where the data delivery is not guaranteed.
  • FIG. 1 illustrates an example of an error-prone system in which the transmitter 16 repeatedly retransmits data to ensure that one or more of the receivers 12 , 14 receives the data
  • the techniques described here also can be useful for substantially error-free systems in which only a single data transmission is needed to achieve close to 100% likelihood (e.g., ⁇ 99%) that all receivers 12 , 14 receive the data transmission.
  • the first and second receivers 12 , 14 may be located at significantly different distances from the transmitter 16 .
  • the time required for a single data transmission (I MED(1) ) to the first receiver 12 may be less than the time required for a single data transmission (I MED(2) ) to the second receiver 14 .
  • Each of the receiver(s) (e.g., 12) that is closer to the transmitter than the farthest receiver 14 can be configured to delay delivery of the data to the output module (e.g., 24) by an individualized amount of time such that all the receivers 12 , 14 deliver the data to their respective output modules 24 , 26 in a synchronized manner at time T SYN .
  • the types of data contemplated in the foregoing implementations include, but are not limited to, data relating to physical parameters sensed by the following types of sensors as the input hardware 10 :
  • the input hardware 10 can be used as the input hardware 10 , depending on the application.
  • the present techniques therefore, can apply to data collected from all types of sensors.
  • data can be collected from one or more sources by one receiver.
  • data from one source can be delivered to a multitude of receivers.
  • the receivers may be located at different locations and in various arrangements. For example, the receivers may be placed at the head, chest, arms, and legs of a runner.
  • the best attempt delivery time interval (I BST ) may be chosen, for example, based on use-case requirements, medium and/or distance. For example, for short transmission times, a smaller number of data delivery attempts can be used, resulting in a shorter best attempt delivery interval.
  • the best attempt delivery time interval (I BST ) can be shorter if, for example, the transmitter and receiver are closer together, such that interference is less likely to impact the receiver relative to the transmitter's signal. Additionally, a particularly error-prone medium may warrant more data delivery attempts. For example, long wireless transmission distances in industrial settings may include interference noise from plant equipment, which can create problems.
  • the best attempt delivery interval (I BST ) is set to be at least as long as the product of the time required for a single data transmission (I MED ) and the maximum number of anticipated delivery attempts (N MAX ).
  • the synchronized delivery time (T SYN ) then occurs at the end of, or shortly after, the best attempt delivery interval (I BST ).
  • the receivers 12 , 14 can use, for example, standard algorithms to determine the integrity of the received data (e.g., cyclic redundancy check). If it is determined that the received data contains an error, the receiver can wait for a retransmission of the data by the transmitter 16 . The loop for error checking and waiting for retransmission can continue, in some instances, until the synchronized delivery time (T SYN ) is reached or until the maximum number of transmission attempts (N MAX ) is reached.
  • T SYN synchronized delivery time
  • N MAX maximum number of transmission attempts
  • synchronized delivery can be maintained among the receivers 12 , 14 even if the time at which they receive the data differs. For example, if the data is delivered to a first receiver 12 on the first transmission, without any error being detected, the receiver 12 can ignore any subsequent retransmissions that occur during the same best attempt delivery interval (I BST ). Likewise, if the second receiver 14 successfully receives the data on the first or subsequent retransmission, the second receiver 14 can ignore further retransmissions until after the synchronized delivery time (T SYN ). Both receivers 12 , 14 then will deliver the data to their respective output modules 24 , 26 at the synchronized delivery time (T SYN ).
  • each receiver 12 , 14 includes a timer 28 to schedule data delivery. For example, if a transmission is successfully received on the first receiver 12 on the second transmission, and the best attempt delivery method allows for a maximum of five transmissions, the receiver would use its timer 28 to determine passage of time equal to the time required for the remaining three data retransmissions to ensure that delivery of the data to the output module 24 is scheduled accurately at the synchronized delivery time (T SYN ).
  • the receiver would use its timer 28 to determine passage of time equal to the remaining four transmissions to ensure that delivery of the data to the output module 26 is scheduled accurately for the same synchronized delivery time (T SYN ) as used by the first receiver 12 .
  • non-transitory storage media stores instructions for determining (1) a medium transmission time (I MED ) to one or more receivers, (2) a best attempt delivery interval (I BST ) to the receiver(s), and (3) a synchronized delivery time (I SYN ) for the receiver(s).
  • I MED medium transmission time
  • I BST best attempt delivery interval
  • I SYN synchronized delivery time
  • the best attempt delivery interval (I BST ) will be greater than the medium transmission time (I MED ).
  • Instructions stored on the non-transitory storage media also can cause the transmitter 16 and/or receivers 12 , 14 to execute the various operations described above.
  • a high degree of accuracy in synchronous data delivery can be achieved, in some instances, using the present techniques.
  • the reception accuracy can approach approximately 1 nanosecond per foot, or 1 microsecond per 100 feet.
  • Each of the transmitter 16 and the receivers 12 , 14 can be implemented as a transceiver that is operable both to transmit and receive.
  • the receivers 12 , 14 deliver data via a callback function.
  • the synchronized delivery time (T SYN ) occurs when the callback function is called.
  • the following example can be applied. Given ‘ttx’ as transmission over air and ‘tba’ as best attempt delivery (where ‘tba’ is equal to ‘ttx’ for error free medium, and where ‘tba’ is greater than or equal to ‘ttx’ for error prone medium such that ‘tba’ covers the original transmission plus an application-specific number of error re-transmissions), then the synchronized delivery time ‘tsd’ can be any time greater than or equal to ‘tba’.
  • each transmission takes slightly less than 3 ms, that ‘tba’ is also slightly less than 3 ms, and that ‘tsd’ can be set at 3 ms.
  • ‘tba’ is also slightly less than 3 ms, and that ‘tsd’ can be set at 3 ms.
  • the ‘tba’ is 3 ms, and a timer can be employed to set ‘tsd’ at 3 ms.
  • tsd For accuracy calculations, the following example can be applied. For time overhead (c) required to implement the synchronized delivery, given a timer accuracy (a) and distance of transmission (d), then the accuracy of tsd is influenced by c, a and d. Since, c is relatively constant and a is based on the constant ppm of the crystal, then the variance of tsd is impacted by the only variable, d.
  • the variability of d is impacted by the time it takes the speed of light to traverse the maximum transmission distance.
  • the speed of light can be taken as about 299.792,458 m/ ⁇ s which is approximately 1,000 feet per microsecond.
  • the optimum accuracy of tsd can approach 1 microsecond for every 1,000 feet of transmission. For instance, for a wireless 2.4 GHz transceiver with a maximum transmission distance of 1,000 feet, a code variance of 5 microseconds, a maximum distance variance of 1 microsecond, the accuracy is about 10 microseconds.
  • Various implementations can be used for multiple synchronized receivers to coordinate data collection from multiple points.
  • a single collector may initiate the data collection by sending a request for data to multiple sensors. Since the request is received by the sensors synchronously, each sensor accurately can schedule a time interval to respond in a manner that ensures it is not transmitting at the same time as another sensor.
  • Such a technique can be more efficient than polling (asking a first sensor one for data, then asking a second sensor for data, and so on), can provide a higher degree of correlated data in a smaller time interval, and can be more power efficient.
  • data can be collected from multiple accelerometers to measure the flex of a car or airplane frame at different points during motion.
  • flex in bridges supporting traffic or buildings can be measured to assess performance.
  • data can aid in civil and structural engineering, infrastructure age studies, among others.
  • data can be collected to obtain relative biological information accurately from multiple points on the body.
  • the techniques described here can be used in the field of competitive gaming, e.g., by collecting data from multiple gamers to study player activity.
  • Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus.
  • the computer readable medium can be, for example, a non-transitory machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them.
  • data processing apparatus and “computer” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
  • the apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
  • a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • a computer program does not necessarily correspond to a file in a file system.
  • a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
  • a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output.
  • the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
  • a processor will receive instructions and data from a read only memory or a random access memory or both.
  • the essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data.
  • a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • a computer need not have such devices.
  • a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name just a few.
  • Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks.
  • the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
  • aspects of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
  • a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Shielding Devices Or Components To Electric Or Magnetic Fields (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Transceivers (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Synchronizing data delivery from a multitude of devices includes receiving, at a first one of the devices, a transmission containing data and delaying initiation of delivery of the received data from the first device to a module by am amount of time. After passage of the amount of time, delivery of the received data from the first device to the module is initiated. This can allow the first device to initiate delivery of the data to the module in synchronized fashion with other ones of the devices initiating delivery of the data to respective modules.

Description

    CROSS-REFERENCE TO RELATED APPLICATION(S)
  • This application is a bypass continuation-in-part of PCT Application No. PCT/US2016/019938, filed Feb. 26, 2016, which claims the benefit of priority of U.S. Application No. 62/121,478, filed Feb. 26, 2015. The contents of the earlier applications are incorporated herein by reference in their entirety.
  • TECHNICAL FIELD
  • The present disclosure relates to synchronized delivery from multiple devices.
  • BACKGROUND
  • The use of multiple synchronized wireless receivers is a useful tool for various applications. For example, to generate the right lighting effects at a concert requires accurate coordination of multiple lights spread through a concert venue from a single point. Similarly, synchronized communication can be necessary for research and visual effects imaging in which multiple cameras are used to record simultaneously the same event from multiple different vantage points.
  • When data is to be transmitted to multiple receivers, the following complication can occur. In some applications, data may need to be transmitted to one or more of the receivers multiple times before the data is received successfully. Thus, data may reach one of the receivers before it reaches another receiver. This situation can be problematic for applications in which it is desirable that all the receivers output the data at the same time.
  • SUMMARY OF THE DISCLOSURE
  • The present disclosure describes synchronized delivery from multiple devices. For example, a transmission containing data can be received at a first one of the devices, Initiation of delivery of the received data from the first device to a module is delayed by a an amount of time, and after passage of the amount of time, delivery of the received data from the first device to the module is initiated. This can allow the first device to initiate delivery of the data to the module in synchronized fashion with other ones of the devices initiating delivery of the data to respective modules.
  • In one aspect, for example, a method of synchronizing data delivery from a multitude of devices includes receiving, at a first one of the devices, a transmission containing data and delaying initiation of delivery of the received data from the first device to a module. Initiation of delivery of the data is delayed by a first amount of time based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that all the devices receive the data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt, for the first device to receive the data. The method further includes, after passage of the first amount of time, initiating delivery of the received data from the first device to the module.
  • Some implementations include one or more of the following features. For example, the method can facilitate allowing the first device to initiate delivery of the data to the module in synchronized fashion with other ones of the devices initiating delivery of the data to respective modules. In some cases, the specified probability that all the device receive the data is at least 99%. In some instances, the first device receives the transmission containing the data at a time that differs from a time at which at least one of the other devices received a transmission containing the data. Further, in some implementations, the first device is powered down for operation in a low-power mode during the first amount of time while the initiation of the delivery of the data is delayed.
  • The initiation of delivery of the data from the first device can be delayed, for example, by a first amount of time equal to a difference between the predetermined value and the time interval. In some implementations, the transmission containing the data also contains a transmission attempt number indicating a number of times transmission of the data to the first device has been attempted during a particular time period. The particular time period can commence, for example, with the initial transmission attempt and can conclude, for example, when the second amount of time passes. Further, in some cases, the time interval indicative of how long it took, since the initial transmission attempt, for the first device to receive the data can be based at least in part on the transmission attempt number contained in the transmission received by the first device.
  • In another aspect, the disclosure describes an apparatus that includes a first transceiver operable to receive and transmit communications. A timer tracks a first amount of time based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that each of a plurality of transceivers receives the data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt, for the first transceiver to receive the data. The apparatus includes a processor, and memory storing instructions that, when executed by the processor, cause the processor, in response to receiving a transmission containing data, to delay, by the first amount of time, initiation of delivery of the received data by the first transceiver to another device; and to initiate delivery of the received data by the first transceiver to the other device after passage of the first amount of time.
  • The disclosure also describes a system that includes a sensor, a multitude of devices operable to receive and send communications, a transmitter coupled to the sensor and operable to send communications containing sensor data to the device, and a multitude of output modules each of which is operable to receive communications from a respective one of the devices. Each particular one of the devices is operable to receive, from the transmitter, a respective communication containing sensor data and to delay initiation of delivery of the received sensor data from the particular device to a respective one of the output modules by a first amount of time. The first amount of time is based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that all the devices receive the sensor data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt by the transmitter, for the particular device to receive the sensor data. Each particular one of the devices also is operable to initiate delivery of the sensor data from the particular device to the respective one of the output modules after passage of the first amount of time.
  • The amount of delay can be customized for each of the plurality of devices. Some implementations can achieve reliable synchronized delivery from multiple receivers with a high degree of accuracy, which can be desirable, for example, for time sensitive communications such as critical data/signal delivery.
  • Other aspects, features and advantages will be readily apparent from the following detailed description, the accompanying drawings and the claims.
  • BRIEF DESCRIPTION OF THE FIGURES
  • FIG. 1 illustrates an example of a system for synchronized data delivery.
  • FIG. 2 illustrates a flow diagram illustrating an example of data delivery from a transmitter perspective.
  • FIG. 3 illustrates a flow diagram illustrating an example of data delivery from a receiver perspective.
  • FIG. 4 illustrates another example of a system for synchronized data delivery.
  • DETAILED DESCRIPTION
  • The present disclosure describes methods and systems for reliable synchronized data delivery with high accuracy. As shown in FIG. 1, data can be collected by input hardware 10 and transmitted by a transmitter 16 to multiple receivers 12, 14. Examples of the input hardware 10 include sensors operable to sense various physical features. The input hardware 10 is coupled to the transmitter 16, which can include, for example, both a hardware component and a software component. In some instances, the transmitter 16 can be implemented by a small programmable wireless module that includes, for example, a processor 20 with flash and RAM memory 21 and a Bluetooth smart radio 22 for transmitting communications. The processor can be, for example, an ARM® Cortex® processor implemented as a system-on-chips (SoC) that incorporates memory, interfaces and a radio. Instructions can be stored in memory 21 so that the processor 20 is operable to perform the operations described below in connection with the transmitter 16. In some cases, the transmitter 16 may be designed to communicate with the receivers 12, 14 over another type of medium (e.g., fiber optic cables; copper wires).
  • In the case of wireless communications, each of the receivers 12, 14 also can be implemented by a small programmable wireless module that includes, for example, processor 30 with flash and RAM memory 31 and a Bluetooth smart radio 32 for receiving communications. Instructions can be stored in memory 31 so that the processor 30 is operable to perform the operations described below in connection with the receivers 12, 14. In other cases, the receivers 12, 14 may be designed to communicate with the transmitter 10 over another type of medium (e.g., wires). Each receiver 12, 14 can include a respective hardware component and a respective software component. Further, each receiver 12, 14 is coupled to a respective output module 24, 26 that is, or includes, for example, a processor, a display monitor, light emitting elements (e.g., LEDs) or other device. Depending on the implementation, the output modules 24, 26 can be configured, for example, to process the received data and/or generate a visual indication of the received data.
  • The techniques described in this disclosure can facilitate synchronization of data transmissions from the outputs of multiple receiver devices 12, 14 such that the receivers output the data at substantially the same time (TSTN). Although FIG. 1 shows only two receivers 12, 14, in some applications there may be hundreds or even thousands of receivers. Thus, for ease of explanation, the description in the following paragraphs assumes there are two receivers 12, 14. However, the techniques described here are applicable to systems having a greater number of receivers as well.
  • Briefly, synchronization can be achieved by delaying transmission of the data from one or more of the receivers by a respective interval of time (IDLY) that is customized for different ones of the receivers such that all the receivers 12, 14 initiate delivery of their data at substantially the same time. The amount of delay is determined in view of a best attempt delivery interval (IBST) that represents the amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability (e.g., ≧99%) that all receivers 12, 14 receive the data transmission. Thus, the best attempt delivery interval (IBST) is indicative of the maximum amount of time needed to achieve at least one successful data transmission to all the receivers 12, 14, including the receiver having the greatest probability of failure. For some wireless data transmission applications, the best attempt delivery interval (IBST) is about 3 ms. This value may differ for other applications.
  • The value of the best attempt delivery interval (IBST) for a particular application can be determined, for example, as follows. Each transmission is assumed to occur over an interval (IMED) that depends, at least in part, on the particular medium over which transmission occur. For wireless data transmissions, the medium interval may be about 1 ms. In the illustrated example, it is assumed for that the first receiver 12 will require no more than two transmission attempts to receive successfully data transmitted by the transmitter 16. Thus, the first receiver 12 is assumed to receive the data within an interval 2*IMED from the initial transmission attempt at time TITR. In contrast, it is assumed, in this example, that the second receiver 14 may need up to three transmission attempts to receive successfully data transmitted by the transmitter 16. Thus, the second receiver 14 is assumed to receive the data within an interval 3* IMED from the initial transmission attempt at time TITR. Since in the illustrated example, there are only two receivers 12, 14, it is assumed that the maximum number of attempted data transmissions for all the receivers to receive the data successfully will be three. The best attempt delivery interval (IBST) can be set equal to the amount of time required for this maximum number of attempted data transmissions. Thus, in this example, IBST is set equal to 3* IMED.
  • During the best attempt delivery interval (IBST), the transmitter 16 repeatedly transmits the same data a specified number of times. Further, the transmitter 16 is configured to encode each attempted data transmission during a given best attempt delivery interval (IBST) with a sequential transmission number (NTR). Thus, for example, the first attempted data transmission can be labelled with NTR=1, the second attempted data transmission can be labelled with NTR=2, the third attempted data transmission can be labelled with NTR=3, and so forth. To track the transmission number, the transmitter 16 can include a counter 18 that is incremented by one for each data transmission during a given best attempt delivery interval. The counter can be re-set after the maximum number of transmission attempts is reached. Since the medium interval (IMED) is fixed for a given implementation, the maximum number (NMAX) of delivery attempts that can take place during the best attempt delivery interval (IBST) is also fixed. In the illustrated example, the maximum number (NMAX) of delivery attempts is three. By checking the transmission number included with the received data, the receiver 12, 14 can determine the number of data transmissions that have been sent so far by the transmitter 16 during the particular best attempt delivery interval.
  • In the illustrated example, the first receiver 12 receives the data transmission from the transmitter 16 after the second transmission attempt, at a time equal to (2*IMED) following the initial transmission attempt at time TITR. On the other hand, the second receiver 14 might not receive the data transmission successfully until after the third transmission attempt (i.e., upon passage of the entire duration of the best attempt delivery interval (IBST)). In order to allow the first receiver 12 and second receiver 14 to deliver the received data to their respective output modules 24, 26 at substantially the same time, the first receiver 12 is configured to delay transmission of the data by an individualized and customized time interval (IDLY(1)), which in this example is equal to (1*IMED). In general, each receiver (e.g., 12) is configured to identify the number (NTR) of the transmission attempt encoded in the receive data transmission and, if the encoded transmission attempt number (NTR) in the received transmission is less than the maximum number of transmission attempts allowed, to delay initiation of the delivery of the data to the output module (e.g., 24) by an amount equal to (NMAX−NTR)*IMED. Thus, the delay will be a multiple of IMED. In the event that, for a particular receiver (e.g., 14), the encoded transmission attempt number (NTR) in the received transmission is equal to the maximum number of transmission attempts allowed (e.g., NMAX), then the delay for that receiver will be zero. By using such individualized and customized delays for each receiver, the data can be delivered from each receiver 12, 14 at the same synchronization time (TSYN).
  • FIGS. 2 and 3 illustrate, respectively, flow diagrams of an example of data transmission and reception from the perspective of the transmitter 16 and from the perspective of one of the receivers 12, 14. As indicated by FIG. 2, when data is be transmitted from the transmitter 16 to one or more receivers 12, 14, the transmitter 16 sets the counter 18 to a value of 1 (at 100). The transmitter 16 then transmits a communication that includes the data as well as the current value stored by the counter 18 (at 110). The counter 18 is increased by 1 (at 120). At 130, the process determines whether another transmission attempt is required and, if so, transmits the same data with the increased count. So long as the counter 18 has not exceeded the maximum number of transmission attempts, the process continues by repeating 110, 120 and 130. If the value in the counter 18 exceeds the maximum number of transmission attempts, the process is completed (at 140). If more data needs to be transmitted by the transmitter 16, the process of FIG. 2 can be repeated.
  • As indicated by FIG. 3, when one of the receivers (e.g., 12) receives a communication from the transmitter 16 (at 200), the receiver checks the integrity of the data for errors (at 210). If one or more errors are detected, then the process executed by the receiver 12 waits for another data transmission from the transmitter 16 (at 200). Since the transmission from the transmitter 16 contains the transmission number (NTR) as well as the data, the process can determine (at 220) whether the received transmission is the last transmission from the transmitter 16 during the particular best attempt delivery interval (IBST). If the transmission number (NTR) indicates that the transmission is not the last expected transmission (i.e., if NTR≦NMAX), the process calculates (at 230) the number of remaining transmission attempts it expects the transmitter 16 to make (i.e., NMAX−NTR). The receiver 12 then waits (at 240) the same amount of time that performance of the remaining data transmissions during the particular best attempt delivery interval (IBST) is expected to require (i.e., (NMAX−NTR)*IMED). The data then is delivered (at 250) from the receiver 12. The other receivers (e.g., 14) also execute the same process of FIG. 3. Thus, delivery of the data by each of the receivers 12, 14 is synchronized (i.e., at time TSYN), and the output modules 23, 26 can process or display the data.
  • Based on the best attempt delivery interval (IBST), the maximum number of attempts to deliver the data to the receivers 12, 14 may depend on the particular application, but can remain constant for a given application. In the illustrated example, it is assumed that the second receiver 14 successfully receives data by the third attempt at data transmission. This assumption can be considered valid because the best attempt delivery interval (IBST) is selected to correspond to a near-100% rate of success (e.g., ≧99%). However, in the event the second receiver 14, for example, does not receive data within the best attempt delivery interval (IBST), the process can take one of the following actions, depending on the implementation. In some implementations, the process proceeds as if the particular transmission did not occur. In some implementations, if the receiver output was expected, the process uses the last known transmitted state again. In some implementations, if the receiver output was expected, and the last known state is not valid, the process uses a specified default or error state. This latter technique can be used, for example, in situations where it is critical for the receiving device to change state (e.g., if a request to keep a surgical laser on is not received within a specified time period, then the laser should be turned off; or, where repeated transmissions cause a door lock to remain open, if a transmission is not received, then for security, the default state may cause the door lock to be closed).
  • In some implementations, during the period of delay (IDLY) while a particular receiver (e.g., 12) is waiting for the remainder of the best attempt delivery interval (IBST) to pass, the receiver can be powered down for operation in a low-power mode, so as to reduce energy consumption. The receiver's timer 28 can be used to generate a signal that causes the receiver to power-up at the end of the best attempt delivery interval (IBST) so that the receiver can deliver its data at the synchronization time (TSYN).
  • Data delivery success may depend, in some instances, on the medium across which the data is delivered to a receiver (e.g., a wired electric medium, fiber optic medium, wireless medium or a combination thereof). For instance, the medium may be “error-free” where data delivery is essentially guaranteed, or “error-prone” where the data delivery is not guaranteed.
  • Although FIG. 1 illustrates an example of an error-prone system in which the transmitter 16 repeatedly retransmits data to ensure that one or more of the receivers 12, 14 receives the data, the techniques described here also can be useful for substantially error-free systems in which only a single data transmission is needed to achieve close to 100% likelihood (e.g., ≧99%) that all receivers 12, 14 receive the data transmission. For example, as illustrated in FIG. 4, the first and second receivers 12, 14 may be located at significantly different distances from the transmitter 16. Thus, the time required for a single data transmission (IMED(1)) to the first receiver 12 may be less than the time required for a single data transmission (IMED(2)) to the second receiver 14. Each of the receiver(s) (e.g., 12) that is closer to the transmitter than the farthest receiver 14 can be configured to delay delivery of the data to the output module (e.g., 24) by an individualized amount of time such that all the receivers 12, 14 deliver the data to their respective output modules 24, 26 in a synchronized manner at time TSYN.
  • The types of data contemplated in the foregoing implementations include, but are not limited to, data relating to physical parameters sensed by the following types of sensors as the input hardware 10:
      • acoustic, sound, vibration (e.g., geophone, hydrophone, microphone);
      • automotive, transportation (e.g., air flow meter, air—fuel ratio meter, blind spot monitor, crankshaft position sensor, defect detector, engine coolant temperature sensor, Hall effect sensor, knock sensor, manifold absolute pressure sensor, mass flow sensor, oxygen sensor, parking sensors, radar gun, speedometer, speed sensor, throttle position sensor, tire-pressure monitoring sensor, torque sensor, transmission fluid temperature sensor, turbine speed sensor, variable reluctance sensor, vehicle speed sensor , water sensor, wheel speed sensor);
      • chemical (e.g., carbon dioxide sensor, carbon monoxide detector, catalytic bead sensor, chemical field-effect transistor, chemiresistor, electrochemical gas sensor, electrolyte—insulator—semiconductor sensor, fluorescent chloride sensor, holographic sensor, hydrocarbon dew point analyzer, hydrogen sensor, hydrogen sulfide sensor, infrared point sensor, ion-selective electrode, nondispersive infrared sensor, microwave chemistry sensor, nitrogen oxide sensor, olfactometer, oxygen sensor, ozone monitor, pellistor, pH glass electrode, potentiometric sensor, redox electrode, smoke detector, zinc oxide nanorod sensor);
      • electric current, electric potential, magnetic (e.g., current sensor, Daly detector, electroscope, electron multiplier, Faraday cup, galvanometer, Hall effect sensor, Hall probe, magnetic anomaly detector, magnetometer, MEMS magnetic field sensor, metal detector, planar Hall sensor, radio direction finder, voltage detector);
      • flow, fluid velocity (e.g., air flow meter, anemometer, flow sensor, gas meter, mass flow sensor, water meter);
      • ionizing radiation, subatomic particles (e.g., Geiger counter, neutron detector);
      • navigation instruments (e.g., air speed indicator, altimeter, attitude indicator, depth gauge, fluxgate compass, gyroscope, inertial navigation system, inertial reference unit, magnetic compass, MHD sensor, ring laser gyroscope, turn coordinator, variometer, vibrating structure gyroscope, yaw rate sensor);
      • position, angle, displacement, distance, speed, acceleration (e.g., auxanometer, capacitive displacement sensor, capacitive sensing, free fall sensor, gravimeter, gyroscopic sensor, impact sensor, inclinometer, integrated circuit piezoelectric sensor, laser rangefinder, laser surface velocimeter, linear encoder, linear variable differential transformer, liquid capacitive inclinometers, odometer, photoelectric sensor, piezocapactive sensor, piezoelectric accelerometer, position sensor, rate sensor, rotary encoder, rotary variable differential transformer, shock detector, stretch sensor, tilt sensor, tachometer, ultrasonic thickness gauge, variable reluctance sensor, velocity receiver);
      • optical, light, imaging, photon (e.g., charge-coupled device, CMOS sensor, colorimeter, contact image sensor, electro-optical sensor, flame detector, infra-red sensor, kinetic inductance detector, fiber optic sensor, optical position sensor, thermopile laser sensor, photodetector, photodiode, photomultiplier tubes, phototransistor, photoelectric sensor, photoionization detector, photomultiplier, photoresistor, photoswitch, single-photon avalanche diode, superconducting nanowire single-photon detector, transition edge sensor, visible light photon counter, wavefront sensor);
      • pressure (e.g., barometer, ionization gauge, piezometer, pressure sensor, pressure gauge, tactile sensor, time pressure gauge);
      • force, density, level (e.g., hydrometer, force gauge, level sensor, load cell, piezocapactive pressure sensor, piezoelectric sensor, strain gauge, torque sensor);
      • thermal, heat, temperature (e.g., calorimeter, flame detector, heat flux sensor, infrared thermometer, resistance temperature detector, resistance thermometer, silicon bandgap temperature sensor, temperature gauge, thermistor, thermocouple, thermometer);
      • proximity, presence (e.g., alarm sensor, Doppler radar sensor, motion detector, occupancy sensor, proximity sensor, triangulation sensor).
  • Thus a wide range of sensors, for example, can be used as the input hardware 10, depending on the application. The present techniques, therefore, can apply to data collected from all types of sensors.
  • In some instances, data can be collected from one or more sources by one receiver. In other instances, data from one source can be delivered to a multitude of receivers. The receivers may be located at different locations and in various arrangements. For example, the receivers may be placed at the head, chest, arms, and legs of a runner.
  • The best attempt delivery time interval (IBST) may be chosen, for example, based on use-case requirements, medium and/or distance. For example, for short transmission times, a smaller number of data delivery attempts can be used, resulting in a shorter best attempt delivery interval. The best attempt delivery time interval (IBST) can be shorter if, for example, the transmitter and receiver are closer together, such that interference is less likely to impact the receiver relative to the transmitter's signal. Additionally, a particularly error-prone medium may warrant more data delivery attempts. For example, long wireless transmission distances in industrial settings may include interference noise from plant equipment, which can create problems.
  • In general, the best attempt delivery interval (IBST) is set to be at least as long as the product of the time required for a single data transmission (IMED) and the maximum number of anticipated delivery attempts (NMAX). The synchronized delivery time (TSYN) then occurs at the end of, or shortly after, the best attempt delivery interval (IBST).
  • The receivers 12, 14 can use, for example, standard algorithms to determine the integrity of the received data (e.g., cyclic redundancy check). If it is determined that the received data contains an error, the receiver can wait for a retransmission of the data by the transmitter 16. The loop for error checking and waiting for retransmission can continue, in some instances, until the synchronized delivery time (TSYN) is reached or until the maximum number of transmission attempts (NMAX) is reached.
  • As is evident from the example described above, synchronized delivery can be maintained among the receivers 12, 14 even if the time at which they receive the data differs. For example, if the data is delivered to a first receiver 12 on the first transmission, without any error being detected, the receiver 12 can ignore any subsequent retransmissions that occur during the same best attempt delivery interval (IBST). Likewise, if the second receiver 14 successfully receives the data on the first or subsequent retransmission, the second receiver 14 can ignore further retransmissions until after the synchronized delivery time (TSYN). Both receivers 12, 14 then will deliver the data to their respective output modules 24, 26 at the synchronized delivery time (TSYN).
  • In some implementations, each receiver 12, 14 includes a timer 28 to schedule data delivery. For example, if a transmission is successfully received on the first receiver 12 on the second transmission, and the best attempt delivery method allows for a maximum of five transmissions, the receiver would use its timer 28 to determine passage of time equal to the time required for the remaining three data retransmissions to ensure that delivery of the data to the output module 24 is scheduled accurately at the synchronized delivery time (TSYN). Likewise, if the second receiver 14 successfully receives the data on the first transmission, the receiver would use its timer 28 to determine passage of time equal to the remaining four transmissions to ensure that delivery of the data to the output module 26 is scheduled accurately for the same synchronized delivery time (TSYN) as used by the first receiver 12.
  • In some implementations, non-transitory storage media stores instructions for determining (1) a medium transmission time (IMED) to one or more receivers, (2) a best attempt delivery interval (IBST) to the receiver(s), and (3) a synchronized delivery time (ISYN) for the receiver(s). In general, the best attempt delivery interval (IBST) will be greater than the medium transmission time (IMED). Instructions stored on the non-transitory storage media also can cause the transmitter 16 and/or receivers 12, 14 to execute the various operations described above.
  • A high degree of accuracy in synchronous data delivery can be achieved, in some instances, using the present techniques. In some cases, the reception accuracy can approach approximately 1 nanosecond per foot, or 1 microsecond per 100 feet.
  • Each of the transmitter 16 and the receivers 12, 14 can be implemented as a transceiver that is operable both to transmit and receive. In some implementations, the receivers 12, 14 deliver data via a callback function. In such instances, the synchronized delivery time (TSYN) occurs when the callback function is called.
  • The following paragraphs describe various other features that are present in some applications.
  • For latency calculations, the following example can be applied. Given ‘ttx’ as transmission over air and ‘tba’ as best attempt delivery (where ‘tba’ is equal to ‘ttx’ for error free medium, and where ‘tba’ is greater than or equal to ‘ttx’ for error prone medium such that ‘tba’ covers the original transmission plus an application-specific number of error re-transmissions), then the synchronized delivery time ‘tsd’ can be any time greater than or equal to ‘tba’.
  • As an example, using an error free medium, it can be assumed that each transmission takes slightly less than 3 ms, that ‘tba’ is also slightly less than 3 ms, and that ‘tsd’ can be set at 3 ms. For an error prone medium, if each transmission takes 1 ms, error detection takes 1 ms, a retransmission takes 1 ms, and the application requires a sample every 3 ms such that the implementation can only tolerate a single attempt at retransmission, then the ‘tba’ is 3 ms, and a timer can be employed to set ‘tsd’ at 3 ms.
  • For accuracy calculations, the following example can be applied. For time overhead (c) required to implement the synchronized delivery, given a timer accuracy (a) and distance of transmission (d), then the accuracy of tsd is influenced by c, a and d. Since, c is relatively constant and a is based on the constant ppm of the crystal, then the variance of tsd is impacted by the only variable, d.
  • For electronic media (e.g., wired, wireless and optics), the variability of d is impacted by the time it takes the speed of light to traverse the maximum transmission distance. For this calculation, the speed of light can be taken as about 299.792,458 m/μs which is approximately 1,000 feet per microsecond. As such, for electronic media, if tsd is greater than or equal to tba, then the optimum accuracy of tsd can approach 1 microsecond for every 1,000 feet of transmission. For instance, for a wireless 2.4 GHz transceiver with a maximum transmission distance of 1,000 feet, a code variance of 5 microseconds, a maximum distance variance of 1 microsecond, the accuracy is about 10 microseconds.
  • Various implementations can be used for multiple synchronized receivers to coordinate data collection from multiple points. For example, a single collector may initiate the data collection by sending a request for data to multiple sensors. Since the request is received by the sensors synchronously, each sensor accurately can schedule a time interval to respond in a manner that ensures it is not transmitting at the same time as another sensor. Such a technique can be more efficient than polling (asking a first sensor one for data, then asking a second sensor for data, and so on), can provide a higher degree of correlated data in a smaller time interval, and can be more power efficient. For example, data can be collected from multiple accelerometers to measure the flex of a car or airplane frame at different points during motion. Similarly, flex in bridges supporting traffic or buildings can be measured to assess performance. Such data can aid in civil and structural engineering, infrastructure age studies, among others. In the medical and athletic fields, data can be collected to obtain relative biological information accurately from multiple points on the body. Likewise, the techniques described here can be used in the field of competitive gaming, e.g., by collecting data from multiple gamers to study player activity.
  • Various aspects of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be, for example, a non-transitory machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The terms “data processing apparatus” and “computer” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
  • A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name just a few. Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
  • To provide for interaction with a user, aspects of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • While this specification contains many specifics, these should not be construed as limitations on the scope of the disclosure or of what may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
  • Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
  • Various modifications can be made to the foregoing examples within the scope and spirit of the disclosure. Accordingly, other implementations are within the scope of the claims.

Claims (21)

What is claimed is:
1. A method of synchronizing data delivery from a plurality of devices, the method comprising:
receiving, at a first one of the devices, a transmission containing data;
delaying initiation of delivery of the received data from the first device to a module, wherein the initiation of delivery of the data is delayed by a first amount of time based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that all the devices receive the data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt, for the first device to receive the data; and
after passage of the first amount of time, initiating delivery of the received data from the first device to the module.
2. The method of claim 1 wherein the first device initiates delivery of the data to the module in synchronized fashion with other ones of the devices initiating delivery of the data to respective modules.
3. The method of claim 1 wherein the first device receives the transmission containing the data at a time that differs from a time at which at least one of the other devices received a transmission containing the data.
4. The method of claim 1 further including powering down the first device for operation in a low-power mode during the first amount of time while the initiation of the delivery of the data is delayed.
5. The method of claim 1 wherein the initiation of delivery of the data from the first device is delayed by a first amount of time equal to a difference between the predetermined value and the time interval.
6. The method of claim 1 wherein the transmission containing the data also contains a transmission attempt number indicating a number of times transmission of the data to the first device has been attempted during a particular time period.
7. The method of claim 6 wherein the particular time period commences with the initial transmission attempt and concludes when the second amount of time passes.
8. The method of claim 6 wherein the time interval indicative of how long it took, since the initial transmission attempt, for the first device to receive the data is based, at least in part, on the transmission attempt number contained in the transmission received by the first device.
9. The method of claim 1 wherein the first device wirelessly receives the transmission containing the data.
10. The method of claim 1 wherein the specified probability that all the device receive the data is at least 99%.
11. An apparatus comprising:
a first transceiver operable to receive and transmit communications; and
a timer to track a first amount of time based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that each of a plurality of transceivers receives the data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt, for the first transceiver to receive the data; and
a processor, and memory storing instructions that, when executed by the processor, cause the processor to:
in response to receiving a transmission containing data, delay, by the first amount of time, initiation of delivery of the received data by the first transceiver to another device; and
after passage of the first amount of time, initiate delivery of the received data by the first transceiver to the other device.
12. The apparatus of claim 11 wherein the processor is operable to power down the apparatus for operation in a low-power mode during the first amount of time while the initiation of the delivery of the data is delayed.
13. The apparatus of claim 11 wherein the processor is operable to delay initiation of delivery of the data by the first transceiver by a first amount of time equal to a difference between the predetermined value and the time interval.
14. The apparatus of claim 11 wherein the time interval indicative of how long it took, since the initial transmission attempt, for the apparatus to receive the data is based, at least in part, on a transmission attempt number contained in the transmission received by the apparatus, wherein the transmission attempt number indicates a number of times transmission of the data to the apparatus has been attempted during a particular time period.
15. The apparatus of claim 11 wherein the particular time period commences with the initial transmission attempt and concludes when the second amount of time passes.
16. The apparatus of claim 11 wherein the first transceiver is operable to wirelessly receive the transmission containing the data.
17. The apparatus of claim 11 wherein the specified probability that all the transceivers receive the data is at least 99%.
18. A system comprising:
a sensor;
a plurality of devices operable to receive and send communications;
a transmitter coupled to the sensor and operable to send communications containing sensor data to the plurality of devices; and
a plurality of output modules each of which is operable to receive communications from a respective one of the devices,
wherein each particular one of the plurality of devices is operable to:
receive, from the transmitter, a respective communication containing sensor data;
delay initiation of delivery of the received sensor data from the particular device to a respective one of the output modules by a first amount of time based, at least in part, on (i) a predetermined value representing a second amount of time over which a maximum number of attempted data transmissions needs to occur in order to achieve at least a specified probability that all the devices receive the sensor data, and (ii) a time interval indicative of how long it took, since an initial transmission attempt by the transmitter, for the particular device to receive the sensor data; and
after passage of the first amount of time, initiate delivery of the sensor data from the particular device to the respective one of the output modules.
19. The system of claim 18 wherein the plurality of devices are operable to initiate delivery of the sensor data to the respective output modules in synchronized fashion.
20. The system of claim 18 wherein at least one of the devices receives the respective communication containing the sensor data at a time that differs from a time at which one or more other ones of the devices receive the respective communication containing the sensor data.
21. The system of claim 18 wherein the amount of delay is customized for each respective one of the plurality of devices.
US15/248,169 2015-02-26 2016-08-26 Synchronized delivery from multiple devices Abandoned US20160366065A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/248,169 US20160366065A1 (en) 2015-02-26 2016-08-26 Synchronized delivery from multiple devices

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562121478P 2015-02-26 2015-02-26
PCT/US2016/019938 WO2016138484A1 (en) 2015-02-26 2016-02-26 Reliable synchronized delivery on multiple receivers with high accuracy
US15/248,169 US20160366065A1 (en) 2015-02-26 2016-08-26 Synchronized delivery from multiple devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/019938 Continuation-In-Part WO2016138484A1 (en) 2015-02-26 2016-02-26 Reliable synchronized delivery on multiple receivers with high accuracy

Publications (1)

Publication Number Publication Date
US20160366065A1 true US20160366065A1 (en) 2016-12-15

Family

ID=56789118

Family Applications (3)

Application Number Title Priority Date Filing Date
US15/552,503 Expired - Fee Related US10158576B2 (en) 2015-02-26 2016-02-26 Radio frequency module
US15/248,191 Abandoned US20160366213A1 (en) 2015-02-26 2016-08-26 Low latency and power efficient data transmission between a sensor and server computer
US15/248,169 Abandoned US20160366065A1 (en) 2015-02-26 2016-08-26 Synchronized delivery from multiple devices

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US15/552,503 Expired - Fee Related US10158576B2 (en) 2015-02-26 2016-02-26 Radio frequency module
US15/248,191 Abandoned US20160366213A1 (en) 2015-02-26 2016-08-26 Low latency and power efficient data transmission between a sensor and server computer

Country Status (5)

Country Link
US (3) US10158576B2 (en)
EP (1) EP3262904A4 (en)
JP (1) JP2018511981A (en)
CN (1) CN107535046A (en)
WO (3) WO2016138486A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9649896B1 (en) * 2015-12-31 2017-05-16 Chung I Lin Method and system for tire pressure monitoring system (TPMS) with wireless tire condition sensing and warning
US20170212227A1 (en) * 2016-01-21 2017-07-27 Omron Corporation Sensor, sensor system and measuring method
EP3624510A1 (en) * 2018-09-17 2020-03-18 KNORR-BREMSE Systeme für Nutzfahrzeuge GmbH Apparatus and method for synchronizing end nodes
US20210106855A1 (en) * 2019-10-10 2021-04-15 Saudi Arabian Oil Company Systems, Methods, and Apparatuses for Ensuring Worker Safety
US11331019B2 (en) 2017-08-07 2022-05-17 The Research Foundation For The State University Of New York Nanoparticle sensor having a nanofibrous membrane scaffold

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150381737A1 (en) * 2014-06-30 2015-12-31 Davra Networks Limited Gateway device and a gateway system for an internet-of-things environment
US9954778B2 (en) * 2015-09-15 2018-04-24 At&T Mobility Ii Llc Gateways for sensor data packets in cellular networks
US10697811B2 (en) * 2016-10-31 2020-06-30 Nokia Technologies Oy Method, apparatus and computer program product for providing sensor data collection and sensor configuration
JP6834740B2 (en) * 2017-04-19 2021-02-24 富士通株式会社 Transmission program, transmission method and information processing device
US11165866B2 (en) 2018-01-09 2021-11-02 Stel Life, Inc. Secure wireless communication platform
US11477124B2 (en) * 2018-06-15 2022-10-18 Nippon Telegraph And Telephone Corporation Network management system, management device, relay device, method, and program
CN109089325A (en) * 2018-08-07 2018-12-25 广东工业大学 A kind of method and system of wearable device data transmission
US10652046B1 (en) * 2018-11-14 2020-05-12 Microsoft Technology Licensing, Llc Infrastructure support in cloud environments
US11246026B2 (en) 2018-11-23 2022-02-08 Stel Life, Inc. System for secure passive wireless communication with Bluetooth vitals devices
CN112307812B (en) * 2019-07-26 2024-02-27 联合汽车电子有限公司 Method, system, exhaust system and readable storage medium for identifying effective thermocouple
CN113055132B (en) * 2021-03-09 2022-04-22 明峰医疗系统股份有限公司 PET data acquisition system and method
CN114300446B (en) * 2022-03-09 2022-07-08 甬矽电子(宁波)股份有限公司 Chip stacking shielding structure and manufacturing method thereof

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5677511A (en) * 1995-03-20 1997-10-14 National Semiconductor Corporation Overmolded PC board with ESD protection and EMI suppression
CN100444400C (en) * 2004-01-10 2008-12-17 HVVi半导体股份有限公司 Power semiconductor device and method therefor
US20060121941A1 (en) * 2004-12-03 2006-06-08 Shiflett Jamie C SIM card retaining device
EP1855410A3 (en) * 2006-05-08 2013-02-13 Samsung Electronics Co., Ltd. Retransmission apparatus and method for high-speed data processing
TWI309151B (en) * 2006-10-20 2009-04-21 Hon Hai Prec Ind Co Ltd Electronic device and shield thereof
US8515547B2 (en) * 2007-08-31 2013-08-20 Cardiac Pacemakers, Inc. Wireless patient communicator for use in a life critical network
US9730078B2 (en) * 2007-08-31 2017-08-08 Fisher-Rosemount Systems, Inc. Configuring and optimizing a wireless mesh network
US8578000B2 (en) * 2008-12-05 2013-11-05 Social Communications Company Realtime kernel
US8610573B2 (en) * 2008-09-11 2013-12-17 Armen E. Kazanchian Radio frequency module and methods of transmitting/receiving data
CN101730459B (en) * 2008-10-17 2013-02-20 深圳富泰宏精密工业有限公司 Shielding case and manufacturing method thereof
JP4820466B2 (en) * 2010-01-25 2011-11-24 パナソニック株式会社 Semiconductor system, repeater and chip circuit
US8881227B2 (en) * 2010-03-30 2014-11-04 Authentic8, Inc. Secure web container for a secure online user environment
US8654758B2 (en) * 2010-04-16 2014-02-18 Simmonds Precision Products, Inc. Synchronization within wireless devices
US9065760B2 (en) * 2010-08-10 2015-06-23 International Business Machines Corporation Priority data transmission using Fibre Channel over Ethernet
US8791015B2 (en) * 2011-04-30 2014-07-29 Stats Chippac, Ltd. Semiconductor device and method of forming shielding layer over active surface of semiconductor die
US8971720B2 (en) * 2013-02-28 2015-03-03 Aoptix Technologies, Inc. Low latency data transmission network

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Baird US 20080259966 *
Kowalski US 20040068588 *
Liu US 20080132282 *
Wentink US 20130051293 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9649896B1 (en) * 2015-12-31 2017-05-16 Chung I Lin Method and system for tire pressure monitoring system (TPMS) with wireless tire condition sensing and warning
US20170212227A1 (en) * 2016-01-21 2017-07-27 Omron Corporation Sensor, sensor system and measuring method
US10598772B2 (en) * 2016-01-21 2020-03-24 Omron Corporation Sensor, sensor system and measuring method
US11331019B2 (en) 2017-08-07 2022-05-17 The Research Foundation For The State University Of New York Nanoparticle sensor having a nanofibrous membrane scaffold
EP3624510A1 (en) * 2018-09-17 2020-03-18 KNORR-BREMSE Systeme für Nutzfahrzeuge GmbH Apparatus and method for synchronizing end nodes
WO2020057899A1 (en) * 2018-09-17 2020-03-26 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Apparatus and method for synchronizing end nodes
US11864137B2 (en) 2018-09-17 2024-01-02 Knorr-Bremse Systeme Fuer Nutzfahrzeuge Gmbh Apparatus and method for synchronizing end nodes
US20210106855A1 (en) * 2019-10-10 2021-04-15 Saudi Arabian Oil Company Systems, Methods, and Apparatuses for Ensuring Worker Safety
US11247080B2 (en) * 2019-10-10 2022-02-15 Saudi Arabian Oil Company Systems, methods, and apparatuses for ensuring worker safety

Also Published As

Publication number Publication date
US20160366213A1 (en) 2016-12-15
JP2018511981A (en) 2018-04-26
US10158576B2 (en) 2018-12-18
EP3262904A1 (en) 2018-01-03
WO2016138486A1 (en) 2016-09-01
CN107535046A (en) 2018-01-02
US20180048344A1 (en) 2018-02-15
WO2016138484A1 (en) 2016-09-01
EP3262904A4 (en) 2018-09-12
WO2016138470A1 (en) 2016-09-01

Similar Documents

Publication Publication Date Title
US20160366065A1 (en) Synchronized delivery from multiple devices
US9310462B2 (en) Locating a mobile computing device in an indoor environment
Zou et al. Bluedetect: An ibeacon-enabled scheme for accurate and energy-efficient indoor-outdoor detection and seamless location-based service
Tian et al. Pedestrian dead reckoning for MARG navigation using a smartphone
US9429434B2 (en) System and method for mapping an indoor environment
US9116000B2 (en) Map-assisted sensor-based positioning of mobile devices
EP2740256B1 (en) Moving direction determination with noisy signals from inertial navigation systems on mobile devices
EP2721368B1 (en) Motion determination
US8560218B1 (en) Method and apparatus to correct for erroneous global positioning system data
US20150153182A1 (en) System and method for calibrating a navigation heading
JP2010078376A (en) Bearing detection method and apparatus and travel history calculation method and apparatus
Hasan et al. Smart phone based sensor fusion by using Madgwick filter for 3D indoor navigation
CN104634345A (en) Indoor trajectory tracking method with self-adaptive step length
JP6452933B2 (en) Electronics
CN106092131A (en) A kind of method and apparatus counting step
WO2018038733A1 (en) Synchronized delivery from multiple devices
CN103399651A (en) Data transmission method of spatial mouse and method for controlling mouse pointer
US20210288726A1 (en) Location accuracy using local transmitters
CN103267531A (en) Method for high-precision compensation of fiber-optic gyroscope random error
Monteserin Multi sensor system for pedestrian tracking and activity recognition in indoor environments
TWM410314U (en) A status recorder for use with a sensor built in a hand held device
Wang et al. Testbed development for a novel approach towards high accuracy indoor localization with smartphones
Kotzian et al. User perspective adaptation enhancement using autonomous mobile devices
CN105091881A (en) Indoor positioning method for wireless sensing network and having static state detection function
Cho et al. Design and Construction of Earthquake Detection and Location Reporting System on Google Map

Legal Events

Date Code Title Description
AS Assignment

Owner name: RF DIGITAL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KAZANCHIAN, ARMEN E.;PRAED, STEPHEN MICHAEL;SIGNING DATES FROM 20161104 TO 20161105;REEL/FRAME:040250/0277

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE