System, method, and computer program product for peer-to-peer event ordering using a two part event identifier
First Claim
1. A method, comprising:
- establishing, by a first peer device, a peer-to-peer communication channel with a second peer device;
initializing, by the first peer device, a current first peer event identifier at the first peer device, wherein the current first peer event identifier at the first peer device includes a first value that is updated each time the first peer device sends an event and a second value that is updated each time the first peer device receives an event,wherein the second peer device initializes a current second peer event identifier at the second peer device that is different from the current first peer event identifier initialized at the first peer device, and wherein the current second peer event identifier at the second peer device includes a first value that is updated each time the second peer device sends an event and a second value that is updated each time the second peer device receives an event;
communicating, between the first peer device and the second peer device over the peer-to-peer communication channel, a plurality of events configured in accordance with a communication protocol that includes with each event of the plurality of events an event identifier that is the current event identifier of a sender of the event, the communicating including;
for each event of the plurality of events sent by the first peer device to the second peer device, sending, with the event, the current first peer event identifier of the first peer device, andfor each additional event of the plurality of events received by the first peer device from the second peer device, receiving, with the additional event, the current second peer event identifier of the second peer device; and
ordering, by the first peer device, the events in the plurality of events, using the event identifier included with each of the events in the plurality of events.
2 Assignments
0 Petitions
Accused Products
Abstract
A system, method, and computer program product are provided for peer-to-peer event ordering using a two part event identifier. In use, a peer-to-peer communication channel is established by a first peer device with a second peer device. A current event identifier is initialized at the first peer device, and the second peer device initializes a different current event identifier at the second peer device. A plurality of events are communicated between the first peer device and the second peer device, where the events are each configured to include an event identifier that is the current event identifier of a sender of the event, and where the current event identifier includes two portions that are updated differently when sending and receiving events. Further, the events are ordered by the first peer device, using the event identifier included with each of the events.
31 Citations
20 Claims
-
1. A method, comprising:
-
establishing, by a first peer device, a peer-to-peer communication channel with a second peer device; initializing, by the first peer device, a current first peer event identifier at the first peer device, wherein the current first peer event identifier at the first peer device includes a first value that is updated each time the first peer device sends an event and a second value that is updated each time the first peer device receives an event, wherein the second peer device initializes a current second peer event identifier at the second peer device that is different from the current first peer event identifier initialized at the first peer device, and wherein the current second peer event identifier at the second peer device includes a first value that is updated each time the second peer device sends an event and a second value that is updated each time the second peer device receives an event; communicating, between the first peer device and the second peer device over the peer-to-peer communication channel, a plurality of events configured in accordance with a communication protocol that includes with each event of the plurality of events an event identifier that is the current event identifier of a sender of the event, the communicating including; for each event of the plurality of events sent by the first peer device to the second peer device, sending, with the event, the current first peer event identifier of the first peer device, and for each additional event of the plurality of events received by the first peer device from the second peer device, receiving, with the additional event, the current second peer event identifier of the second peer device; and ordering, by the first peer device, the events in the plurality of events, using the event identifier included with each of the events in the plurality of events. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium storing computer code executable by a processor to perform a method comprising:
-
establishing, by a first peer device, a peer-to-peer communication channel with a second peer device; initializing, by the first peer device, a current first peer event identifier at the first peer device, wherein the current first peer event identifier at the first peer device includes a first value that is updated each time the first peer device sends an event and a second value that is updated each time the first peer device receives an event, wherein the second peer device initializes a current second peer event identifier at the second peer device that is different from the current first peer event identifier initialized at the first peer device, and wherein the current second peer event identifier at the second peer device includes a first value that is updated each time the second peer device sends an event and a second value that is updated each time the second peer device receives an event; communicating, between the first peer device and the second peer device over the peer-to-peer communication channel, a plurality of events configured in accordance with a communication protocol that includes with each event of the plurality of events an event identifier that is the current event identifier of a sender of the event, the communicating including; for each event of the plurality of events sent by the first peer device to the second peer device, sending, with the event, the current first peer event identifier of the first peer device, and for each additional event of the plurality of events received by the first peer device from the second peer device, receiving, with the additional event, the current second peer event identifier of the second peer device; and ordering, by the first peer device, the events in the plurality of events, using the event identifier included with each of the events in the plurality of events. - View Dependent Claims (15, 16, 17, 18)
-
-
19. An apparatus, comprising:
-
a computer processor of a first peer device for; establishing a peer-to-peer communication channel with a second peer device; initializing, by the first peer device, a current first peer event identifier at the first peer device, wherein the current first peer event identifier at the first peer device includes a first value that is updated each time the first peer device sends an event and a second value that is updated each time the first peer device receives an event, wherein the second peer device initializes a current second peer event identifier at the second peer device that is different from the current first peer event identifier initialized at the first peer device, and wherein the current second peer event identifier at the second peer device includes a first value that is updated each time the second peer device sends an event and a second value that is updated each time the second peer device receives an event; communicating, with the second peer device over the peer-to-peer communication channel, a plurality of events configured in accordance with a communication protocol that includes with each event of the plurality of events an event identifier that is the current event identifier of a sender of the event, the communicating including; for each event of the plurality of events sent by the first peer device to the second peer device, sending, with the event, the current first peer event identifier of the first peer device, and for each additional event of the plurality of events received by the first peer device from the second peer device, receiving, with the additional event, the current second peer event identifier of the second peer device; and ordering the events in the plurality of events, using the event identifier included with each of the events in the plurality of events. - View Dependent Claims (20)
-
Specification