Peer-to-peer collaboration system with edge routing
First Claim
1. A method of operating a peer-to-peer collaboration system in which a plurality of peers each broadcast collaboration information to other peers of the plurality of peers, the method comprising:
- determining address information with which a first peer of the plurality of peers may receive packets through a Network Address Translation (NAT) device;
sharing the address information with at least a second peer of the plurality of peers; and
transmitting from the second peer collaboration information to each of the other peers of the plurality of peers, the transmitting comprising transmitting at least one packet comprising the collaboration information addressed to the first peer using the address information.
2 Assignments
0 Petitions
Accused Products
Abstract
A peer-to-peer collaboration system in which changes to a shared space may be broadcast to all of the peers in a collaboration session using messages sent with a combination of addressing techniques. Messages may be addressed for direct peer-to-peer transmission, indirect transmission through another peer or indirect transmission through a server. The type of addressing used to communicate with each peer is determined through the use of a routing table. The routing table defines interconnected groups of peers and may be used to select one or more peers in each group as the initial recipients of the message. The initial recipients may forward the message to other peers within their groups, such that all peers receive the message. For peers behind a NAT, one or more NAT traversal techniques may be used to obtain information to construct the routing table.
264 Citations
20 Claims
-
1. A method of operating a peer-to-peer collaboration system in which a plurality of peers each broadcast collaboration information to other peers of the plurality of peers, the method comprising:
-
determining address information with which a first peer of the plurality of peers may receive packets through a Network Address Translation (NAT) device; sharing the address information with at least a second peer of the plurality of peers; and transmitting from the second peer collaboration information to each of the other peers of the plurality of peers, the transmitting comprising transmitting at least one packet comprising the collaboration information addressed to the first peer using the address information. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of operating a peer-to-peer collaboration system in which a plurality of peers each broadcast collaboration information to each of the other peers of the plurality of peers, the method comprising:
-
maintaining a plurality of routing tables, each of the plurality of routing tables being associated with a peer in at least a portion of the plurality of peers, and each routing table identifying groups of the plurality of peers, each peer in each group being able to communicate with at least one other peer in the group using a packet directly addressed to a peer in the group; transmitting a packet to at least one peer in each of the groups; and from the at least one peer in at least a portion of the groups, forwarding the packet to at least one other peer in the group, the packet forwarded to each other peer being directly addressed to the other peer. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing device connected to a network, the computing device having a user interface and being adapted for operating as a peer in a peer-to-peer collaboration system, the computing device comprising computer-readable medium storing computer-executable components comprising:
-
an activity component for interacting with a user through the user interface, the activity component adapted to generate a data change command for transmission to a plurality of other peers in a collaboration session, the data change command being based on an interaction with a user; a routing table for storing information defining interconnections over the network among the plurality of peers; and a communication component for transmitting the data change command over the network by transmitting a plurality of messages, each message having an address selected based on information in the routing table, at least one of the messages addressed directly to at least one of the plurality of peers. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification