Systems, software, and methods for routing events among publishers and subscribers on a computer network
First Claim
1. A method of routing an event in a data processing system including a plurality of interconnected hubs, between a publisher, which publishes events, and a subscriber, which subscribes to events, where the publisher is connected to a publisher hub and the subscriber is connected to a subscriber hub, the method comprising the steps of:
- providing a data structure in a memory of at least the publisher hub and the subscriber hub, where each hub containing the data structure is termed a current hub and all hubs connected to a current hub are neighbor hubs of the current hub, the data structure being created by the current hub in accordance with information about physical hub connections, event types, advertisements, routes, and subscriptions of the system to form thereby a chain of subscriptions from the publisher hub to the subscriber hub; and
sending the event, by the publisher hub, to one of its neighbor hubs, the data structure in the publisher hub indicating that the neighbor hub is part of the chain of subscriptions extending from the publisher hub to the subscriber hub.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for publishing and receiving events to and from a network. A plurality of "publisher" entities publish information and a plurality of "subscriber" entities request and use the information. Publishers and subscribers are connected to each other through a network. The network is a "store and forward" network whose routing is "content-based." The basic quanta of information is called an "event." Publishers publish events and subscribers subscribe to events that match criteria defined by the subscriber. Publication and subscription are performed asynchronously. Publishers and subscribers do not have direct knowledge of each other. The system receives a published event from a publisher and routes the event to all appropriate subscribers. Each subscriber is guaranteed to receive all events published on the system if, and only it they match the subscription criteria specified by the subscriber. A legacy data base can be added to the network by way of a data base connector, which can be a publisher, a subscriber, or both.
-
Citations
20 Claims
-
1. A method of routing an event in a data processing system including a plurality of interconnected hubs, between a publisher, which publishes events, and a subscriber, which subscribes to events, where the publisher is connected to a publisher hub and the subscriber is connected to a subscriber hub, the method comprising the steps of:
-
providing a data structure in a memory of at least the publisher hub and the subscriber hub, where each hub containing the data structure is termed a current hub and all hubs connected to a current hub are neighbor hubs of the current hub, the data structure being created by the current hub in accordance with information about physical hub connections, event types, advertisements, routes, and subscriptions of the system to form thereby a chain of subscriptions from the publisher hub to the subscriber hub; and sending the event, by the publisher hub, to one of its neighbor hubs, the data structure in the publisher hub indicating that the neighbor hub is part of the chain of subscriptions extending from the publisher hub to the subscriber hub. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of routing an event in a data processing system having a plurality of interconnected hubs, between a publisher, which publishes events, and a subscriber, which subscribes to events, where the publisher is connected to a publisher hub and the subscriber is connected the method comprising the steps, of:
-
distributing information, among the plurality of hubs, about the interconnections among the plurality of hubs; distributing information, among the plurality of hubs, identifying event types of events that the publisher may publish; distributing, among the plurality of hubs, advertisements that describe events that the publisher may publish; distributing, among the plurality of hubs, about routes among the plurality of hubs; informing the plurality of hubs that the subscriber has subscribed to a type of event; and creating a data structure in at least the publisher hub and the subscriber hub, where each hub containing the data is termed a current hub and all hubs connected to a neighbor hubs of the current hub, the data structure indicating which neighbor hub is on a oath between the subscriber'"'"'s hub, the data structure being including information about physical hub connections, event types, advertisements, routes, and subscriptions related to the plurality of hubs. - View Dependent Claims (17, 18)
-
-
19. A system for routing an event in a data processing system having a plurality of interconnected hubs, comprising:
-
a publisher connected to a publisher hub of the plurality of hubs, which publishes event; a subscriber connected to a subscriber hub of the plurality of hubs, which subscribes to events; a memory containing a data structure, located in at least the publisher hub and the subscriber hub, where each hub containing the data structure is termed a current hub and all hubs connected to a current hub are neighbor hubs of the current hub, indicating which neighbor hub is on a path of hubs between publisher'"'"'s hub and the subscriber'"'"'s hub, the data structure including information about physical hub connections, event types, advertisements, routes, and subscriptions of the system; a sending portion, in the publisher hub, configured to send the event to one of the publisher hub'"'"'s neighbor hubs, the data the publisher hub indicating that the neighbor hub is on the path to the subscriber; and a receiving portion, in the subscriber hub, configured receive the event from a neighbor hub; a determining portion, in the subscriber hub, in accordance with that subscriber hub'"'"'s data structure, that the subscriber has subscribed to the event; and a sending portion, in the subscriber hub, configured to send the event to the subscriber.
-
-
20. A computer usable medium having computer embodied therein for routing an event between a publisher and a subscriber in a network of interconnected hubs, the program product comprising:
-
computer readable program code devices configured to cause a computer to effect provision of a data structure in a memory of at least the publisher hub and the subscriber hub, where the data structure is termed a current hub and all hubs to a current hub are neighbor hubs of the current hub, the data indicating which neighbor hub is on a path between the publisher'"'"'s hub and the subscriber'"'"'s hub, the data structure including information about physical hub connections, event types, advertisements, routes, subscriptions of the system; computer readable program code devices configured a computer to effect sending the event, by the publisher hub, to of its neighbor hubs, the data structure in the publisher hub indicating the neighbor hub is on the path of the subscriber; and computer readable program code devices configured to cause a computer to effect receiving the event, by the subscriber hub; computer readable program code devices configured computer to effect determining, by the subscriber hub, with the hub'"'"'s data structure, that the subscriber has subscribed to the event; and computer readable program code devices configured computer to effect sending, by the hub connected to the subscriber, the event to the subscriber.
-
Specification