IP Library Granted Patent US 8,886,826
Granted Patent B2
US 8,886,826 · App. 10/618,369 · Granted Nov 11, 2014

System for multipoint infrastructure transport in a computer network

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 8,886,826
App. No.
10/618,369
Granted
Nov 11, 2014
Kind
B2
Abstract

A method and apparatus for implementing a Multipoint Infrastructure Transport (MINT) protocol in a data network. The present invention includes a method for distributing data in a data network. The data network connects a plurality of nodes and at least a portion of the plurality of the nodes form a multicast group. One of the nodes in the multicast group is designated as a rendezvous node. The method includes a step of maintaining a data store containing a group state at each of the nodes in the multicast group. State updates, received at the rendezvous node are used to update the group state in the data store at the rendezvous node. The state updates are propagated, using a reliable protocol, from the rendezvous node to the other nodes in the multicast group. Finally, the group states in the data stores at the other nodes in the multicast group are updated.

Claims (46)

1. An apparatus for processing data at a node in a data network, wherein the data network connects a plurality of nodes and at least a portion of the plurality of the nodes form a multicast group, the apparatus comprising:

a non-transitory computer-readable data store that stores, in a database, a plurality of entries associated with the multicast group, wherein each entry comprises data to be transmitted from a rendezvous node of the multicast group to members of the multicast group; and

one or more hardware processors;

one or more sequences of instructions which, when executed by the one or more hardware processors, cause the one or more hardware processors to execute:

logic that disseminates the plurality of entries to members of the multicast group;

logic that receives, from a node that is not a member of the multicast group, a request to run a query against the entries stored in the data store, wherein the query specifies matching criteria;

logic that runs the query against the entries in the data store;

logic that indicates that the apparatus has been designated as the rendezvous node in the multicast group, wherein designation as the rendezvous node indicates that the apparatus is to disseminate the plurality of entries to members of the multicast group; and

logic that disseminates one or more entries that satisfy the matching criteria to the node that is not a member of the multicast group.

2. The apparatus of claim 1 , further comprising logic that adds a first entry to the plurality of entries in the data store in response to a request from a first node to add the first entry.

3. The apparatus of claim 2 , wherein the logic that adds a first entry to the plurality of entries further automatically disseminates the first entry to the plurality of the nodes that form the multicast group in response to the request from the first node to add the first entry to the plurality of entries.

4. The apparatus of claim 1 , further comprising logic that deletes a first entry of the plurality of entries in the data store in response to a request from a first node to relinquish the first entry.

5. The apparatus of claim 4 , further comprising logic that indicates, to the plurality of the nodes that form the multicast group, that the first entry has been relinquished, wherein the indication is in response to the request from the first node to relinquish the first entry.

6. The apparatus of claim 1 , wherein a source that published the entry is not a member of the multicast group.

7. The apparatus of claim 1 , wherein a source that published the entry is a member of the multicast group.

8. The apparatus of claim 1 , wherein each entry is associated with a priority that specifies its delivery priority relative to other entries.

9. The apparatus of claim 1 , wherein the plurality of entries to members of the multicast group comprises updates to data stores associated with nodes that are not members of the multicast group.

10. A method for operating an apparatus coupled to a selected node in a data network, wherein the data network connects a plurality of nodes and at least a portion of the plurality of the nodes, including the selected node, form a multicast group, the method comprising steps of:

storing, in a database, of a data store, at the apparatus, a plurality of entries associated with the multicast group, wherein each entry comprises data to be transmitted from a rendezvous node of the multicast group to members of the multicast group;

disseminating the plurality of entries to members of the multicast group;

receiving a request from a node that is not member of the multicast group to run a query against the entries stored in the data store, wherein the query specifies matching criteria;

indicating that the apparatus has been designated as the rendezvous node in the multicast group, wherein designation as the rendezvous node indicates that the apparatus is to disseminate the plurality of entries to members of the multicast group; and

disseminating one or more entries that satisfy the matching criteria to the node that is not member of the multicast group.

11. The method of claim 10 , further comprising adding a first entry to the plurality of entries stored at the apparatus in response to a request from a first node to add the first entry.

12. The method of claim 11 , further comprising automatically disseminating the first entry to the plurality of the nodes that form the multicast group in response to the request from the first node to add the first entry.

13. The method of claim 10 , further comprising deleting a first entry of the plurality of entries stored at the apparatus in response to a request from a first node to relinquish the first entry.

14. The method of claim 13 , further comprising indicating to the plurality of the nodes that form the multicast group that the first entry of the plurality of entries stored at the apparatus has been relinquished, wherein the indicating is performed in response to the request from the first node to relinquish the first entry.

15. The method of claim 10 , wherein a source that published the entry is not a member of the multicast group.

16. The method of claim 10 , wherein a source that published the entry is a member of the multicast group.

17. The method of claim 10 , wherein each entry is associated with a priority that specifies its delivery priority relative to other entries.

18. The method of claim 10 , further comprising:

receiving, from a particular node, a request to run a query against the entries stored at the apparatus, wherein the query specifies a source that published one or more entries; and

asynchronously notifying the particular node of a modification to a first entry;

wherein the asynchronously notifying the particular node is performed in response to the source that published the first entry modifying the first entry.

19. The method of claim 10 , wherein the plurality of entries to members of the multicast group comprises updates to data stores associated with nodes that are not members of the multicast group.

20. A data network for transmitting data, wherein the data network connects a plurality of nodes and at least a portion of the plurality of the nodes form a multicast group, the data network comprising:

a plurality of apparatuses, each of the apparatuses comprising:

a non-transitory computer-readable data store that stores, in a database, a plurality of entries associated with the multicast group, wherein each entry comprises data to be transmitted from a rendezvous node of the multicast group to members of the multicast group; and

one or more hardware processors;

one or more sequences of instructions which when executed by the one or more hardware processors, cause the one or more hardware processors to execute:

logic that disseminates the plurality of entries to members of the multicast group;

logic that receives, from a node that is not a member of the multicast group, a request to run a query against the entries stored in the data store, wherein the query specifies matching criteria;

logic that runs the query against the entries in the data store;

logic that indicates that the apparatus has been designated as the rendezvous node in the multicast group, wherein designation as the rendezvous node indicates that the apparatus is to disseminate the plurality of entries to members of the multicast group; and

logic that disseminates one or more entries that satisfy the matching criteria to the node that is not a member of the multicast group.

21. The data network of claim 20 , wherein the plurality of entries to members of the multicast group comprises updates to data stores associated with nodes that are not members of the multicast group.

Assignments (4)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044127/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2014
From: MCCANNE, STEVEN; SWAN, ANDREW
To: FASTFORWARD NETWORKS, INC.
Reel/Frame 034222/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: YAHOO! INC.
To: GOOGLE INC.
Reel/Frame 033868/0257 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2006
From: FASTFORWARD NETWORKS, INC.
To: YAHOO! INC.
Reel/Frame 018015/0494 →