IP Library Granted Patent US 7,496,602
Granted Patent B2
US 7,496,602 · App. 11/325,690 · Granted Feb 24, 2009

Optimizing communication using scalable peer groups

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,496,602
App. No.
11/325,690
Granted
Feb 24, 2009
Kind
B2
Abstract

Implementations of the present invention relate in part to optimizations to peer-to-peer communication systems. For example, one implementation relates to use of a smart transceiver that creates, caches, and manages communication channels dynamically between peers. Another implementation relates to use of a central tracking object that can be used to efficiently register and distribute peer messages among the various peers. In one implementation, the central tracking object is shared amongst peers in the group. Still another implementation relates to associating peer groups with namespaces, and for including peer groups of one namespace within still other peer groups of different namespaces. These and other aspects of the invention can also be used to ensure delivery intent of a given peer message is preserved, and to ensure that optimal numbers of messages are communicated to any given peer at any given time.

Claims (17)

1. At a peer computer in a peer-to-peer communication system in which one or more peers communicate messages with one or more other peers in a peer group, a method of managing peer group communication within a network namespace, comprising the acts of:

identifying a first peer group of one or more peers associated in a peer-to-peer communication system, the first peer group being associated with a first namespace wherein a namespace identifies a set of names in hierarchical format;

sending a group join request message to the first namespace; and

receiving a confirmation message from the first namespace that membership in the first peer group has been accepted, such that the peer has been added to a membership list of the first peer group, and such that the peer is subscribed to the first namespace, wherein the membership list for the first peer group comprises one or more peers and an identifier of a second peer group of one or more peers, the second peer group being associated with a second namespace wherein messages sent to the first peer group are forwarded to each member of the membership list such that each of the one or more peers of the first peer group and also each of the one or more peers of the second peer group receive the messages.

2. The peer-to-peer communication system as recited in claim 1 , further comprising an act of sending a peer message to the first peer group by publishing the peer message to the first namespace.

3. The peer-to-peer communication system as recited in claim 1 further comprising the acts of:

storing at least a portion of the membership list for the first group at the peer computer; and

sending a group join request message to the second namespace associated with the second peer group.

4. The peer-to-peer communication system as recited in claim 3 , further comprising the acts of:

receiving a new confirmation message from the second namespace that membership in the second peer group has been accepted; and

adding the first peer group to the membership list for the second peer group.

5. The peer-to-peer communication system as recited in claim 4 , further comprising an act of creating a namespace bridge between the first and second namespace, such that peer messages sent to the first namespace are automatically chained to the second namespace.

6. The peer-to-peer communication system as recited in claim 4 , wherein the peer computer is a node in the peer-to-peer communication system, and wherein the at least a portion of the membership list is stored at the peer computer in a hash table.

7. In a peer-to-peer communication system in which one or more peers communicate messages with one or more other peers in a peer group, a computer program product comprising a storage medium having computer-executable instructions stored thereon that, when executed, cause one or more processors at a peer computer system to execute a method comprising the following:

identifying a first peer group of one or more peers associated in a peer-to-peer communication system, the first peer group being associated with a first namespace wherein a namespace identifies a set of names in hierarchical format;

sending a group join request message to the first namespace; and

receiving a confirmation message from the first namespace that membership in the first peer group has been accepted, such that the peer has been added to a membership list of the first peer group, and such that the peer is subscribed to the first namespace, wherein the membership list for the first peer group comprises one or more peers and an identifier of a second peer group of one or more peers, the second peer group being associated with a second namespace wherein messages sent to the first peer group are forwarded to each member of the membership list such that each of the one or more peers of the first peer group and also each of the one or more peers of the second peer group receive the messages.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →