Processing

Please wait...

Settings

Settings

Goto Application

1. WO2021061261 - TIME-BASED PROCESSING OF MESSAGES ARRIVING FROM MULTIPLE GATEWAYS USING GATEWAY-BASED TIME PERIMETERS

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

WHAT IS CLAIMED IS:

1. A computer-implemented method for performing a time-ordered operation on messages transmitted from multiple sources to a region of networked machines, the method comprising:

running a software-based synchronization process to synchronize each of a plurality of gateways with a reference clock, wherein each gateway is a machine on a perimeter of the region of networked machines and is connected to receive messages from multiple sources;

receiving messages that enter the region through one of the gateways, wherein the gateway timestamps the message; and

performing the time-ordered operation on the received messages in an order based on an absolute time of entry into the region, wherein the absolute time of entry is relative to the reference clock and is determined based on the timestamp from the gateway.

2. The computer-implemented method of claim 1, wherein the time-ordered operation is performed on the received messages in a chronological order of the absolute time of entry of the messages.

3. The computer-implemented method of claim 1, wherein the time-ordered operation is performed on the received messages in an order based on the absolute time of entry but not strictly in a chronological order of the absolute time of entry.

4. The computer-implemented method of claim 1, wherein the time-ordered operation is performed on the received messages in an order that is also based on the gateway through which the message entered the region.

5. The computer-implemented method of claim 1, wherein if the time-ordered operation is performed on a message, that message must have entered the region through one of the gateways.

6. The computer-implemented method of claim 1, further comprising:

buffering the received messages so that the time-ordered operation may be performed in order without missing any messages.

7. The computer-implemented method of claim 1, wherein the gateways are synchronized to within an order of nanoseconds of the reference clock.

8. The computer-implemented method of claim 1, wherein the gateways are guaranteed to be synchronized to within a known time deviation from the reference clock.

9. The computer-implemented method of claim 1, wherein synchronizing the gateways comprises, for at least one of the gateways:

correcting a local clock of the gateway to match the reference clock, whereby the timestamp from the gateway shows the absolute time of entry.

10. The computer-implemented method of claim 1, wherein synchronizing the gateways comprises, for at least one of the gateways:

determining an offset between a local clock of the gateway and the reference clock;

and

correcting the timestamp from the gateway according to the offset.

11. The computer-implemented method of claim 1, wherein the software-based synchronization process comprises:

exchanging probes between pairs of machines, wherein the machines exchanging probes include the gateways;

for different pairs of machines, estimating an offset between the pair of machines based on the transit times of probes exchanged between the pair of machines; wherein the transit time is based on a transmit timestamp from the machine transmitting the probe and a receive timestamp from the machine receiving the probe, and one of the machines produces timestamps based on the reference clock;

for different loops of at least three machines, calculating a loop offset error based on a sum of the estimated offsets between pairs of machines around the loop; and adjusting estimated absolute offsets of the machines based on the loop offset errors, wherein the absolute offset of a machine is defined relative to the reference clock.

12. The computer-implemented method of claim 11, wherein estimating the offset between the pair of machines is based on the transit times of coded probes, wherein coded probes are pairs of probes transmitted from one of the machines in the pair to the other of the machines in the pair, the transmit timestamps of the pair of probes are within a predetermined time interval of each other, and the transit times of the pair of probes are also within a predetermined deviation of each other.

13. The computer-implemented method of claim 11, wherein the software-based synchronization process further comprises:

for different pairs of machines, estimating a drift between the pair of machines based on the transit times of probes exchanged between the pair of machines; and estimated absolute drifts of the machines based on the estimated drifts between pairs of machines, wherein the absolute drift of a machine is defined relative to the reference clock.

14. The computer-implemented method of claim 13, wherein the software-based synchronization process further comprises:

adjusting a frequency of a local clock for at least one of the gateways to match the reference clock.

15. A computer-implemented method for performing a time-ordered operation on messages transmitted from multiple sources, the method comprising:

for each of two or more regions of networked machines:

running a software-based synchronization process to synchronize each of a plurality of gateways with a reference clock, wherein each gateway is a machine on a perimeter of that region of networked machines and connected to receive messages from multiple transmitting machines; and

receiving messages that enter that region through one of the gateways, wherein the gateway timestamps the message; and

performing the time-ordered operation on the received messages in an order based on absolute times of entry into the regions, wherein the absolute time of entry into one of the regions is relative to the reference clock for that region and is determined based on the timestamps from the gateways for that region.

16. The computer-implemented method of claim 15, wherein all of the regions use the same reference clock.

17. The computer-implemented method of claim 15, wherein at least two of the regions use different reference clocks.

18. The computer-implemented method of claim 15, wherein the perimeter for one of the regions lies entirely inside the perimeter of another of the regions.

19. The computer-implemented method of claim 15, wherein the perimeter for one of the regions lies partially inside the perimeter of another of the regions.

20. A computer system for performing a time-ordered operation on messages received from multiple sources, the computer system comprising:

a region of networked machines that includes a plurality of gateways, wherein each gateway is a machine on a perimeter of the region of networked machines and is connected to receive messages from multiple sources;

a coordinator that runs a software-based synchronization process to synchronize each of the gateways with a reference clock, wherein messages from the sources enter the region through the gateways and the gateways timestamp the entering messages; and

a subsystem that performs the time-ordered operation on the received messages in an order based on an absolute time of entry into the region, wherein the absolute time of entry is relative to the reference clock and is determined based on the timestamp from the gateway.

21. A computer-implemented method for performing a time-triggered distribution of messages from a region of networked machines to multiple destinations, the method comprising:

running a software-based synchronization process to synchronize each of a plurality of gateways with a reference clock, wherein each gateway is a machine on a perimeter of the region of networked machines and is connected to transmit messages to multiple destinations;

the gateways receiving messages from within the region of networked machines for distribution to multiple destinations outside the region of networked machines according to a distribution schedule based on absolute time relative to the reference clock; and

the gateways performing the distribution of the received messages, wherein each gateway determines absolute time based on that gateway’s synchronization with the reference clock.

22. The computer-implemented method of claim 21, wherein the distribution schedule causes simultaneous distribution of the received messages from each of the gateways.

23. The computer-implemented method of claim 21, the gateways each receiving instructions from a coordinator device including the distribution schedule.

24. The computer-implemented method of claim 21, the gateways buffering the received messages until a transmission time indicated by the distribution schedule is reached.

25. The computer-implemented method of claim 24, wherein the received messages are buffered so that the distribution of the received messages may be performed in order without missing any messages which arrived before their distribution deadline.

26. The computer-implemented method of claim 21, the gateways applying additional offsets to the distribution schedule based on known jitter between the gateways and their destinations.

27. The computer-implemented method of claim 21, wherein the gateways are synchronized to within an order of nanoseconds of the reference clock.

28. The computer-implemented method of claim 21, wherein the gateways are guaranteed to be synchronized to within a known time deviation from the reference clock.

29. The computer-implemented method of claim 21, wherein synchronizing the gateways comprises, for at least one of the gateways:

correcting a local clock of the gateway to match the reference clock, whereby the distribution schedule references a time relative to the reference clock for distribution.

30. The computer-implemented method of claim 21, wherein the software-based synchronization process comprises:

exchanging probes between pairs of machines, wherein the machines exchanging probes include the gateways;

for different pairs of machines, estimating an offset between the pair of machines based on the transit times of probes exchanged between the pair of machines; wherein the transit time is based on a transmit timestamp from the machine transmitting the probe and a receive timestamp from the machine receiving the probe, and one of the machines produces timestamps based on the reference clock;

for different loops of at least three machines, calculating a loop offset error, which is defined as the sum of the estimated offsets between pairs of machines around the loop; and

adjusting estimated absolute offsets of the machines based on the loop offset errors, wherein the absolute offset of a machine is defined relative to the reference clock.

31. The computer-implemented method of claim 30, wherein estimating the offset between the pair of machines is based on the transit times of coded probes, wherein coded probes are pairs of probes transmitted from one of the machines in the pair to the other of the machines in the pair, the transmit timestamps of the pair of probes are within a predetermined time interval of each other, and the transit times of the pair of probes are also within a predetermined deviation of each other.

32. The computer-implemented method of claim 30, wherein the software-based synchronization process further comprises:

for different pairs of machines, estimating a clock drift between the pair of machines based on the transit times of probes exchanged between the pair of machines; and

estimating absolute drifts of the machines based on the estimated clock drifts between pairs of machines, wherein the absolute drift of a machine is defined relative to the reference clock.

33. The computer-implemented method of claim 32, wherein the software-based synchronization process further comprises:

adjusting a frequency of a local clock for at least one of the gateways to match the reference clock.

34. A computer-implemented method for performing a time-ordered operation on messages transmitted from multiple sources, the method comprising: for each of two or more regions of networked machines:

running a software-based synchronization process to synchronize each of a plurality of gateways with a reference clock specific to that region, wherein each gateway is a machine on a perimeter of that region of networked machines and connected to transmit messages to multiple destinations;

receiving messages that are addressed to one or more of the multiple destinations and are to exit that region through one or more of the gateways according to a distribution schedule based on absolute time relative to that reference clock; and

performing the distribution of the received messages by the one or more gateways according to the the distribution schedule, wherein each gateway determines absolute time based on that gateway’s synchronization with the reference clock.

35. The computer-implemented method of claim 34, wherein all of the regions use the same reference clock.

36. The computer-implemented method of claim 34, wherein at least two of the regions use different reference clocks.

37. The computer-implemented method of claim 36, wherein the different reference clocks result in different distribution schedules for each of the at least two of the regions.

38. The computer-implemented method of claim 34, wherein the perimeter for one of the regions lies entirely inside the perimeter of another of the regions.

39. The computer-implemented method of claim 34, wherein the perimeter for one of the regions lies partially inside the perimeter of another of the regions.

40. The computer-implemented method of claim 34, wherein the distribution occurs after the received messages are buffered at each of the gateways.