Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes
First Claim
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.
4 Assignments
0 Petitions
Accused Products
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.
-
Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
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. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
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. - View Dependent Claims (14, 15, 16)
-
-
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. - View Dependent Claims (18, 19, 20)
-
Specification