Object-oriented event notification system with listener registration of both interests and methods
DC CAFCFirst Claim
1. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
- (a) creating, on behalf of a first object, connection information representing the first object'"'"'s interest in, and an associated object method for, receiving notification of a change to a second object;
(b) registering the connection information with a connection object;
(c) creating an event representing a change in the second object, responsive to the change in the second object; and
(d) notifying the first object of the event by invoking the associated object method for receiving notification registered with the connection object only if the event information corresponds to an interest registered on behalf of the first object.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
An event notification system for propagating object-change information. The notification system supports change notification without queues in an object-based application or operating system and can be scaled to propagate large numbers of events among a large plurality of objects. The event notification system interconnects a plurality of event source and event receiver objects. Any object, such as a command object, may operate as either an event receiver object, an event source object or both. A notification object is created by a source object to transport, from a source to a receiver, descriptive information about a change, which includes a particular receiver object method and a pointer to the source object that sent the notification. A receiver object must register with a connection object its “interest” in receiving notification of changes; specifying both the event type and the particular source object of interest. After establishing such connections, the receiver object receives only the events of the specified type for the source objects “of interest” and no others. This delegation of event selection avoids central event queuing altogether and so limits receiver object event processing that the invention can be scaled to large systems operating large numbers of objects.
-
Citations
59 Claims
-
1. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
-
(a) creating, on behalf of a first object, connection information representing the first object'"'"'s interest in, and an associated object method for, receiving notification of a change to a second object;
(b) registering the connection information with a connection object;
(c) creating an event representing a change in the second object, responsive to the change in the second object; and
(d) notifying the first object of the event by invoking the associated object method for receiving notification registered with the connection object only if the event information corresponds to an interest registered on behalf of the first object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
(b.
1) using the connection information in the connection object to configure the status information to represent whether the notifying step (d) is activated or inactivated.
-
-
3. The operating method of claim 1, wherein the connection information is associated with a notification type corresponding to a connection object method, the operating method further comprising the step of:
(c.
1) invoking the connection object method corresponding to the notification type specified by the connection information in the connection object.
-
4. The operating method of claim 3 wherein:
each of a notification type plurality corresponds to a unique connection object method different from the connection object method corresponding to another of the notification type plurality.
-
5. The operating method of claim 3 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a name associated with the first object.
-
6. The operating method of claim 3 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a graphic associated with the first object.
-
7. The operating method of claim 3 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to create or modify data associated with the first object.
-
8. The operating method of claim 3 further comprising the step of:
(C. 1.1) invoking a connection object method responsible for using the connection information in the connection object to read data associated with the first object.
-
9. The operating method of claim 8 further comprising the step of:
(c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an undo function associated with the first object.
-
10. The operating method of claim 8 further comprising the step of:
(c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an redo function associated with the first object.
-
11. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
-
(a) creating, on behalf of an event listener object, connection information representing the event listener object'"'"'s interest in, and an associated object method for, receiving notification of a change to an event source object;
(b) registering the connection information with a connection object;
(c) creating an event representing a change in the event source object, responsive to the change in the event source object; and
(d) notifying the event listener object of the event by invoking the associated object method for receiving notification registered with the connection object only if the event information corresponds to an interest registered on behalf of the event listener object. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
(b.
1) using the connection information in the connection object to configure the status information to enable or disable the notifying step (d).
-
-
13. The operating method of claim 11 wherein the connection information is associate with a notification type corresponding to a connection object method, the operating method further comprising the step of:
(c.
1) invoking the connection object method corresponding to the notification type specified by the connection information in the connection object.
-
14. The operating method of claim 13, wherein each of a notification type plurality corresponds to the same single connection object method, the operating method further comprising the step of:
(c. 1.1) transferring notification type information between two objects.
-
15. The operating method of claim 13 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a name associated with the event listener object.
-
16. The operating method of claim 13 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a graphic icon associated with the event listener object.
-
17. The operating method of claim 13 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to read data associated with the event listener object.
-
18. The operating method of claim 13 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to create or modify data associated with the event listener object.
-
19. The operating method of claim 18 wherein the data associated with the event listener object includes descriptive textual data.
-
20. The operating method of claim 18 further comprising the step of:
(c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an undo function associated with the event listener object.
-
21. The operating method of claim 18 further comprising the step of:
(c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an redo function associated with the event listener object.
-
22. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
-
(a) creating, on behalf of a consumer object, connection information representing the consumer object'"'"'s interest in, and an associated object method for, receiving notification of a change to a supplier object;
(b) registering the connection information with a channel object;
(c) creating an event representing a change in the supplier object, responsive to the change in the supplier object; and
(d) notifying the consumer object of the event by invoking the associated object method for receiving notification registered with the channel object only if the event information corresponds to an interest registered on behalf of the consumer object. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
(b.
1) using the connection information in the channel object to configure the status information to make the notifying step (d) active or passive.
-
-
24. The operating method of claim 22, wherein the connection information is associated with a notification type corresponding to a channel object method, the operating method further comprising the step of:
(c.1) invoking the channel object method corresponding to the notification type specified by the connection information in the channel object.
-
25. The operating method of claim 24, wherein a notification type plurality all correspond to the same single channel object method, the operating method further comprising the step of:
transferring notification type information-between two objects.
-
26. The operating method of claim 24 further comprising the step of:
(c. 1.1) invoking a channel object method responsible for using the connection information in the channel object to create or modify data associated with the consumer object.
-
27. The operating method of claim 24 further comprising the step of:
(c. 1.1) invoking a channel object method responsible for using the connection information in the channel object to read data associated with the consumer object.
-
28. The operating method of claim 24 wherein the event has an associated type attribute.
-
29. The operating method of claim 22 wherein the creating step (c) is initiated by the channel object.
-
30. The operating method of claim 22 wherein the creating step (c) is initiated by the supplier object.
-
31. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
-
(a) creating, on behalf of a receiver object, connection information representing the receiver object'"'"'s interest in, and an associated object method for, receiving notification of a change to a source object;
(b) registering the connection information using a connection object;
(c) creating an event representing a change in the source object, responsive to the change in the source object; and
(d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered using the connection object only if the event information corresponds to an interest registered on behalf of the receiver object. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40)
(b.
1) using the connection information in the connection object to configure the status information to represent whether the notifying step (d) is activated or inactivated.
-
-
33. The operating method of claim 31, wherein the connection information is associated with a notification type corresponding to a connection object method, the operating method further comprising the step of:
(c.
1) invoking the connection object method corresponding to the notification type specified by the connection information in the connection object.
-
34. The operating method of claim 33 wherein:
each of a notification type plurality corresponds to a unique connection object method different from the connection object method corresponding to another of the notification type plurality.
-
35. The operating method of claim 33 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a name associated with the receiver object.
-
36. The operating method of claim 33 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a graphic associated with the receiver object.
-
37. The operating method of claim 33 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to create or modify data associated with the receiver object.
-
38. The operating method of claim 33 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to read data associated with the receiver object.
-
39. The operating method of claim 38 further comprising the step of:
(c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an undo function associated with the receiver object.
-
40. The operating method of claim 38 further comprising the step of:
(c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute a redo function associated with the receiver object.
-
41. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
-
(a) creating, on behalf of a receiver object, connection information representing the receiver object'"'"'s interest in, and an associated object method for, receiving notification of a change to a source object;
(b) registering the connection information using a connection object;
(c) creating an event representing a change in the source object, responsive to the change in the source object;
(d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered using the connection object only if the event information corresponds to an interest registered on behalf of the receiver object; and
(e) using the connection information in the connection object to configure status information to enable the notifying step (d).
-
-
42. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
-
(a) creating, on behalf of a receiver object, connection information representing the receiver object'"'"'s interest in, and an associated object method for, receiving notification of a change to a source object;
(b) registering the connection information using a connection object;
(c) creating an event representing a change in the source object, responsive to the change in the source object;
(d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered using the connection object only if the event information corresponds to an interest registered on behalf of the receiver object; and
(e) using the connection information in the connection object to configure status information to disable the notifying step (d).
-
-
43. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
-
(a) creating, on behalf of a receiver object, connection information representing the receiver object'"'"'s interest in, and an associated object method for, receiving notification of a change to a source object;
(b) registering the connection information using a connection object;
(c) creating an event representing a change in the source object, responsive to the change in the source object;
(d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered using the connection object only if the event information corresponds to an interest registered on behalf of the receiver object;
said connection information being associated with a notification type corresponding to a connection object method;
(e) invoking the connection object method corresponding to the notification type specified by the connection information in the connection object;
each of a notification type plurality corresponding to the same single connection object method; and
(f) transferring notification type information between two objects. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50)
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a name associated with the receiver object.
-
-
45. The operating method of claim 43 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a graphic icon associated with the receiver object.
-
46. The operating method of claim 43 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to read data associated with the receiver object.
-
47. The operating method of claim 43 further comprising the step of:
(c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to create or modify data associated with the receiver object.
-
48. The operating method of claim 47 wherein the data associated with the receiver object includes descriptive textual data.
-
49. The operating method of claim 47 further comprising the step of:
(c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an undo function associated with the receiver object.
-
50. The operating method of claim 47 further comprising the step of:
(c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute a redo function associated with the receiver object.
-
51. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of:
-
(a) creating, on behalf of a receiver object, connection information representing the receiver object'"'"'s interest in, and an associated object method for, receiving notification of a change to a source object;
(b) registering the connection information with a notifier object;
(c) creating an event representing a change in the source object, responsive to the change in the source object; and
(d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered with the notifier object only if the event information corresponds to an interest registered on behalf of the receiver object. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59)
(b.
1) using the connection information in the notifier object to configure the status information to make the notifying step (d) active or passive.
-
-
53. The operating method of claim 51, wherein the connection information is associated with a notification type corresponding to a notifier object method, the operating method further comprising the step of:
(c.
1) invoking the notifier object method corresponding to the notification type specified by the connection information in the notifier object.
-
54. The operating method of claim 53, wherein a notification type plurality all correspond to the same single notifier object method, the operating method further comprising the step of:
transferring notification type information between two objects.
-
55. The operating method of claim 53 further comprising the step of:
(c. 1.1) invoking a notifier object method responsible for using the connection information in the notifier object to create or modify data associated with the receiver object.
-
56. The operating method of claim 53 further comprising the step of:
(c. 1.1) invoking a notifier object method responsible for using the connection information in the notifier object to read data associated with the receiver object.
-
57. The operating method of claim 53 wherein the event has an associated type attribute.
-
58. The operating method of claim 51 wherein the creating step (c) is initiated by the notifier object.
-
59. The operating method of claim 51 wherein the creating step (c) is initiated by the source object.
Specification