Object connectivity through loosely coupled publish and subscribe events
First Claim
1. A method performed by an event communications system on a computer for efficiently distributing event information in software programmed according to an object model, the method comprising:
- receiving by an event handling object via an outgoing interface, a call from a publisher object, the call comprising an event signal from the publisher object and wherein the publisher object lacks information about an identity of a subscriber object, and wherein the subscriber object exposes an interface that receives a method call;
accessing by the event handling object, a data storage separate from the publisher and subscriber objects for storing subscriptions externally of the publisher and subscriber objects;
determining a subscription out of the stored subscriptions representing a relationship of the subscriber object to an outgoing interface method and serving to link the publisher object'"'"'s call to the outgoing interface method over to the subscriber object; and
upon receiving the call from the publisher object at the outgoing interface retrieving the subscription and issuing the method call to the subscriber object'"'"'s exposed interface based on the subscription so as to thereby deliver the event to the subscriber object;
wherein the interface exposed by the subscriber object matches the outgoing interface exposed by the event handling object.
1 Assignment
0 Petitions
Accused Products
Abstract
An object-based event communications system supplies an event distribution object having an outgoing-from-publisher event interface and associated with unique identifiers defined for a publisher that is programmed to fire events by calling a method on the event distribution object'"'"'s outgoing-from-publisher event interface. The event communications system stores subscriptions of subscriber objects to methods of the outgoing-from-publisher event interface. On receiving a call from a publisher to its outgoing-from-publisher interface methods, the event distribution object multi-casts calls to counterpart methods of subscriber objects that have stored subscriptions to the respective outgoing-from-publisher interface methods.
114 Citations
17 Claims
-
1. A method performed by an event communications system on a computer for efficiently distributing event information in software programmed according to an object model, the method comprising:
-
receiving by an event handling object via an outgoing interface, a call from a publisher object, the call comprising an event signal from the publisher object and wherein the publisher object lacks information about an identity of a subscriber object, and wherein the subscriber object exposes an interface that receives a method call; accessing by the event handling object, a data storage separate from the publisher and subscriber objects for storing subscriptions externally of the publisher and subscriber objects; determining a subscription out of the stored subscriptions representing a relationship of the subscriber object to an outgoing interface method and serving to link the publisher object'"'"'s call to the outgoing interface method over to the subscriber object; and upon receiving the call from the publisher object at the outgoing interface retrieving the subscription and issuing the method call to the subscriber object'"'"'s exposed interface based on the subscription so as to thereby deliver the event to the subscriber object; wherein the interface exposed by the subscriber object matches the outgoing interface exposed by the event handling object. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method in a computer system for implementing an object-oriented event communications model for distributing events from a publisher to any subscribers of the events, the publisher being programmed to issue an event as a method call on an outgoing event interface exposed by an object which outgoing event interface and object are identified by unique identifiers defined for the publisher, the method comprising:
-
associating the unique identifiers to an event distribution object class having the outgoing event interface; and supplying an event distribution object of the event distribution object class, the event distribution object operative in response to the publisher'"'"'s method call that issues the event so as to distribute the event to the event'"'"'s respective subscribers; wherein the event distribution object multi-casts calls to methods on counterpart outgoing event interfaces exposed by event'"'"'s subscribers when counterpart outgoing event interfaces exposed by event'"'"'s subscribers match the publisher'"'"'s method call. - View Dependent Claims (8)
-
-
9. An event communications system on a computer for efficiently distributing event information in software programmed according to an object model, the software having a publisher object and a subscriber object wherein the publisher object has code to call a method on an outgoing interface to signal an event and lacks information about an identity of the subscriber object, and wherein the subscriber object exposes an interface that receives a method call, the system comprising:
-
a data storage means separate from the publisher and subscriber objects for storing subscriptions externally of the publisher and subscriber objects, a subscription out of the stored subscriptions representing a relationship of the subscriber object to an outgoing interface method and serving to link the publisher'"'"'s call to the outgoing interface method over to the subscriber object; and an event handling means for exposing the outgoing interface and having code of the outgoing interface method operative in response to the publisher object'"'"'s call to retrieve the subscription and issue the method call to the subscriber object interface based on the subscription so as to thereby deliver the event to the subscriber object; wherein the interface exposed by the subscriber object matches the outgoing interface exposed by the event handling means. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
a processor; a memory connected to the processor; an object-oriented event communications model for distributing events from a publisher to any subscribers of the events, the publisher being programmed to issue an event as a call to a method on an outgoing event interface exposed by an object which outgoing event interface and object are identified by unique identifiers defined for the publisher, the computer system comprising;
means for associating the unique identifiers to an event distribution object class having the outgoing event interface; andmeans for supplying an event distribution object of the event distribution object class, the event distribution object having means for distributing the event to the event'"'"'s respective subscribers in response to the publisher'"'"'s call that issues the event; wherein the event'"'"'s subscribers expose counterpart outgoing event interfaces, and the event distribution object further has means for multi-casting calls to methods on the counterpart outgoing event interfaces matching the publisher'"'"'s call. - View Dependent Claims (16)
-
-
17. A computer system comprising:
-
a processor; a memory connected to the processor; an event distribution means associated with a outgoing event interface definition, an identifier of the event distribution means, and an identifier of an outgoing event interface, all defined for a publisher programmed to call methods of the outgoing event interface to cause the event distribution means to distribute events, the event distribution means comprising, an outgoing event interface supported by the event distribution means and defined per the outgoing event interface definition of the publisher, a plurality of subscribeable methods exposed through the outgoing event interface, a multicasting distribution program loop operative in response to a publisher'"'"'s call to a subscribeable method of the outgoing event interface to determine any subscribers to the subscribeable method and issue calls to counterpart methods of said any subscribers, and plural subscriptions comprising at least one transient subscription indicating a relationship of a subscriber to an event as indicated by an interface identifier of an instance of a subscriber as a subscriber reference and at least one persistent subscription indicating a relationship of a subscriber to an event as indicated by a class identifier as a subscriber reference, wherein the outgoing event interface supported by the event distribution means matches an interface to counterpart methods of said any subscribers.
-
Specification