IP Library Granted Patent US 6,938,095
Granted Patent B2
US 6,938,095 · App. 10/104,884 · Granted Aug 30, 2005

Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes

Assignee: Pluris, Inc.
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 6,938,095
App. No.
10/104,884
Granted
Aug 30, 2005
Kind
B2
Abstract

A data structure has a list of event objects, one or more producers creating the event objects for the list, and a finite set of consumers accessing the object list. The structure is characterized in that the event objects are each associated with a first reference number indicating the number of consumers currently accessing the event object, and in that, as each consumer completes access the reference number is decremented, and when the reference number for an event object is zero, and the event object is at the head of the list, indicating that all consumers have accessed the object, that event object is removed from the list. A use of the structure for propagating route changes to nodes in a multiple-processor router, and to peer routers in a network is also taught.

Claims (33)

1. A data routing software structure on a computer comprising:

a list of event objects;

one or more producers creating the event objects for the list; and

a finite set of consumers accessing the object list;

characterized in that the event objects are each associated with a reference number indicating a number of the consumers currently accessing the event object, and in that, as each consumer completes access the reference number is decremented, and when the reference number for an event object is zero, and the event object is at the head of the list, indicating that all consumers have accessed the object, that event object is removed from the list.

2. The data routing software structure on the computer of claim 1 wherein the event objects created represent changes in a data base, and the information associated with each is a statement of the change.

3. The data routing software structure on the computer of claim 2 wherein the data base is a routing information base for a portion of a data packet network, and the information associated with each event object is a route change.

4. The data routing software structure on the computer of claim 1 wherein each event object comprises a reference to the next event object in the list.

5. The data routing software structure on the computer of claim 1 wherein each event object comprises a reference to the next event to be processed by a consumer processing a current event object.

6. The data routing software structure on the computer of claim 1 having a second reference number associated with each event object, initially indicating the number of consumers to access the event object, the number decremented as each consumer accesses the event object.

7. A method for propagating event objects to a finite set of consumers, comprising the steps of:

(a) placing the event objects one-at-a-time in a first-in-first-out queue;

(b) associating a number with each specific event object in the list, the number indicating the number of consumers in the set currently accessing the specific event object; and

(c) decrementing the number associated in step (b) with each event object by one each time a consumer finishes access to that event object, such that, when the number is zero for an event object, and the event object is at the head of the queue, that object has been accessed for all consumers requiring access, and may be removed from the queue.

8. The method of claim 7 wherein the event objects created represent changes in a data base, and the information associated with each is a statement of the change.

9. The method of claim 8 wherein the data base is a routing information base for a portion of a data packet network, and the information associated with each event object is a route change.

10. The method of claim 7 wherein each event object comprises a reference to the next event object in the queue.

11. The method of claim 7 wherein each event object comprises a reference to the next event to be processed by a consumer processing a current event object.

12. The method of claim 7 having a second reference number associated with each event object, initially indicating the number of consumers to access the event object, the number decremented as each consumer accesses the event object.

13. A method for propagating route changes to a finite set of peer routers, comprising the steps of:

(a) placing the route changes as event objects one-at-a-time in a first-in-first-out queue;

(b) associating a number with each specific event object in the queue, the number indicating the number of peers in the set currently accessing the specific event object; and

(c) decrementing the number associated in step (b) with each event object by one each time a peer finishes access to that event object, such that, when the number is zero for an event object, and the event object is at the head of the queue, that object has been accessed for all peers requiring access, and may be removed from the queue.

14. The method of claim 13 wherein each event object comprises a reference to the next event object in the queue.

15. The method of claim 13 wherein each event object comprises a reference to the next event to be processed by a peer processing a current event object.

16. The method of claim 13 having a second reference number associated with each event object, initially indicating the number of peers to access the event object, the number decremented as each peer accesses the event object.

17. A method for propagating route changes to a finite set of processor-controlled peer nodes in a multiple-processor router, comprising the steps of:

(a) placing the route changes as event objects one-at-a-time in a first-in-first-out queue;

(b) associating a number with each specific event object in the queue, the number indicating the number of nodes in the set currently accessing the specific event object; and

(c) decrementing the number associated in step (b) with each event object by one each time a node finishes access to that event object, such that, when the number is zero for an event object, and the event object is at the head of the queue, that object has been accessed for all nodes requiring access, and may be removed from the queue.

18. The method of claim 17 wherein each event object comprises a reference to the next event object in the queue.

19. The method of claim 17 wherein each event object comprises a reference to the next event to be processed by a node processing a current event object.

20. The method of claim 17 having a second reference number associated with each event object, initially indicating the number of nodes to access the event object, the number decremented as each node accesses the event object.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2016
From: SHERWOOD PARTNERS INC
To: VALENCE TECHNOLOGY INC
Reel/Frame 040091/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2016
From: PLURIS, INC
To: SHERWOOD PARTNERS INC
Reel/Frame 040092/0984 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2016
From: VALENCE TECHNOLOGY INC
To: PARITY NETWORKS LLC
Reel/Frame 040094/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2002
From: MENEZES, VIVEK; BASTURK, EROL
To: PLURIS, INC.
Reel/Frame 013003/0378 →
Continuity (2)
Continuation In Part 0960637700 · Jun 28, 2000
Related Publication 20020165981A1 · Nov 7, 2002