Methods and systems for bandwidth adaptive N-to-N communication in a distributed system
First Claim
Patent Images
1. A method for bandwidth adaptive communication among a plurality of participants in a distributed system, the method comprising:
- receiving, at a server, a communication from a first participant computing device, the communication including metadata and payload data;
storing the payload data in a channel memory element of the server, the channel memory element comprising a plurality of memory locations, one of the plurality of memory locations selected using the metadata and associated with the first participant computing device;
comparing contents of the channel memory element to a first record, residing at the server, of a copy of the channel memory element locally maintained by a second participant computing device, the first record being associated with the second participant computing device, wherein the first record is different from the one of the plurality of memory locations selected using the metadata and associated with the first participant computing device;
transmitting the payload data to the second participant computing device and updating the first record, residing at the server, upon a determination that the comparing between the contents of the channel memory element and the first record, residing at the server, of the copy of the channel memory element locally maintained by the second participant computing device reveals an update to the payload data stored in the selected one of the plurality of memory locations;
comparing contents of the channel memory element to a second record, residing at the server, of a copy of the channel memory element locally maintained by a third participant computing device, the second record being associated with the third participant computing device, wherein the second record is different from the one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; and
transmitting the payload data to the third participant computing device and updating the second record, residing at the server, upon a determination that the comparing between the contents of the channel memory element and the second record, residing at the server, of the copy of the channel memory element locally maintained by the third participant computing device reveals an update to the payload data stored in the selected one of the plurality of memory locations;
wherein, during a given time period, the payload data is equivalent to the first record more often than the payload data is equivalent to the second record.
15 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for bandwidth adaptive computing device to computing device communication are described. Bandwidth adaptive communication includes receiving a communication from a first participant, storing the payload data of the communication in a channel memory element associated with the first participant, and transmitting the payload data to a second participant.
125 Citations
11 Claims
-
1. A method for bandwidth adaptive communication among a plurality of participants in a distributed system, the method comprising:
-
receiving, at a server, a communication from a first participant computing device, the communication including metadata and payload data; storing the payload data in a channel memory element of the server, the channel memory element comprising a plurality of memory locations, one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; comparing contents of the channel memory element to a first record, residing at the server, of a copy of the channel memory element locally maintained by a second participant computing device, the first record being associated with the second participant computing device, wherein the first record is different from the one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; transmitting the payload data to the second participant computing device and updating the first record, residing at the server, upon a determination that the comparing between the contents of the channel memory element and the first record, residing at the server, of the copy of the channel memory element locally maintained by the second participant computing device reveals an update to the payload data stored in the selected one of the plurality of memory locations; comparing contents of the channel memory element to a second record, residing at the server, of a copy of the channel memory element locally maintained by a third participant computing device, the second record being associated with the third participant computing device, wherein the second record is different from the one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; and transmitting the payload data to the third participant computing device and updating the second record, residing at the server, upon a determination that the comparing between the contents of the channel memory element and the second record, residing at the server, of the copy of the channel memory element locally maintained by the third participant computing device reveals an update to the payload data stored in the selected one of the plurality of memory locations; wherein, during a given time period, the payload data is equivalent to the first record more often than the payload data is equivalent to the second record. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
-
-
2. A non-transitory computer-readable medium for bandwidth adaptive communication among a plurality of participants in a distributed system, the computer-readable medium comprising instructions which, when executed by one or more computers, cause the one or more computers to implement a method, the method comprising:
-
receiving, at a server, a communication from a first participant computing device, the communication including metadata and payload data; storing the payload data in a channel memory element of the server, the channel memory element comprising a plurality of memory locations, one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; comparing contents of the channel memory element to a first record, residing at the server, of a copy of the channel memory element locally maintained by a second participant computing device, the first record being associated with the second participant computing device, wherein the first record is different from the one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; transmitting the payload data to the second participant computing device and updating the first record, residing at the server, upon a determination that the comparing between the contents of the channel memory element and the first record, residing at the server, of the copy of the channel memory element locally maintained by the second participant computing device reveals an update to the payload data stored in the selected one of the plurality of memory locations; comparing contents of the channel memory element to a second record, residing at the server, of a copy of the channel memory element locally maintained by a third participant computing device, the second record being associated with the third participant computing device, wherein the second record is different from the one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; and transmitting the payload data to the third participant computing device and updating the second record, residing at the server, upon a determination that the comparing between the contents of the channel memory element and the second record, residing at the server, of the copy of the channel memory element locally maintained by the third participant computing device reveals an update to the payload data stored in the selected one of the plurality of memory locations; wherein, during a given time period, the payload data is equivalent to the first record more often than the payload data is equivalent to the second record.
-
-
3. A system for bandwidth adaptive communication among a plurality of participants, the system comprising:
-
one or more processors; and a memory comprising instructions which, when executed by one or more processors, cause the one or more processors to implement a method, the method comprising; receiving, at a server, a communication from a first participant computing device, the communication including metadata and payload data; storing the payload data in a channel memory element of the server, the channel memory element comprising a plurality of memory locations, one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; comparing contents of the channel memory element to a first record, residing at the server, of a copy of the channel memory element locally maintained by a second participant computing device, the first record being associated with the second participant computing device, wherein the first record is different from the one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; transmitting the payload data to the second participant computing device and updating the first record, residing at the server, upon a determination that the comparing between the contents of the channel memory element and the first record, residing at the server, of the copy of the channel memory element locally maintained by the second participant computing device reveals an update to the payload data stored in the selected one of the plurality of memory locations; comparing contents of the channel memory element to a second record, residing at the server, of a copy of the channel memory element locally maintained by a third participant computing device, the second record being associated with the third participant computing device, wherein the second record is different from the one of the plurality of memory locations selected using the metadata and associated with the first participant computing device; and transmitting the payload data to the third participant computing device and updating the second record, residing at the server, upon a determination that the comparing between the contents of the channel memory element and the second record, residing at the server, of the copy of the channel memory element locally maintained by the third participant computing device reveals an update to the payload data stored in the selected one of the plurality of memory locations; wherein, during a given time period, the payload data is equivalent to the first record more often than the payload data is equivalent to the second record.
-
Specification