Messaging system with distributed filtering modules which register interests, remove any messages that do not match the registered interest, and forward any matched messages for delivery
First Claim
1. A message delivery system for delivering messages over a network, wherein the messages are carried over the network in packets, comprising:
- a plurality of server hosts, each server host running applications for originating and receiving messages, and comprising a messaging layer for framing and formatting messages originating from the applications, a network interface connected to the network, and a network stack that transmits the framed and formatted messages to a predetermined multicast group of server hosts on the network via the network interface;
a plurality of switches interconnecting said server hosts and forming the network, wherein at least some of said switches on the edge of the network serving as ingress/egress switches are connected via links to the network interfaces of the respective server hosts; and
distributed filtering/matching modules associated with but distinct from the respective server hosts and being deployed on said links; and
wherein each filtering/matching module is configured to;
a) register interests associated with the applications on the server host with which the filtering/matching module is associated;
b) inspect packets received over the network for the server host with which the filtering/matching module is associated to match messages carried by the packets with the registered interests;
c) remove any unmatched messages from the packets; and
d) transform a multicast address in a header of a matched packet to a point-to-point address of the host server with which the filtering/matching module is associated and transform a destination port in the message to permit the network stack in the host server which the filtering/matching module is associated to determine a matching application to send the packet to; and
e) forward packets carrying any matched messages to the server host with the filtering/matching module is associated for delivery to the applications having registered interests matching the messages.
5 Assignments
0 Petitions
Accused Products
Abstract
In a message delivery system, messages are carried over a network in packets. Server hosts support applications for originating and receiving messages and network interfaces. Switches interconnect the server hosts and form the packet network. Some of the switches are linked to the local server hosts. Distributed filtering/matching modules associated with the local server hosts register interests for applications on the associated local server hosts, inspect packets received over the network or from a local server host to match messages with registered interests and remove any unmatched packets from the packets. The matched messages are forwarded to the local server host for delivery to the applications. This system offers the ability to use special purpose hardware for the filtering/matching function without requiring connections to a common message broker.
-
Citations
26 Claims
-
1. A message delivery system for delivering messages over a network, wherein the messages are carried over the network in packets, comprising:
-
a plurality of server hosts, each server host running applications for originating and receiving messages, and comprising a messaging layer for framing and formatting messages originating from the applications, a network interface connected to the network, and a network stack that transmits the framed and formatted messages to a predetermined multicast group of server hosts on the network via the network interface; a plurality of switches interconnecting said server hosts and forming the network, wherein at least some of said switches on the edge of the network serving as ingress/egress switches are connected via links to the network interfaces of the respective server hosts; and distributed filtering/matching modules associated with but distinct from the respective server hosts and being deployed on said links; and wherein each filtering/matching module is configured to; a) register interests associated with the applications on the server host with which the filtering/matching module is associated; b) inspect packets received over the network for the server host with which the filtering/matching module is associated to match messages carried by the packets with the registered interests; c) remove any unmatched messages from the packets; and d) transform a multicast address in a header of a matched packet to a point-to-point address of the host server with which the filtering/matching module is associated and transform a destination port in the message to permit the network stack in the host server which the filtering/matching module is associated to determine a matching application to send the packet to; and e) forward packets carrying any matched messages to the server host with the filtering/matching module is associated for delivery to the applications having registered interests matching the messages. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A switch for use in a message delivery system for delivering messages over a network, wherein the messages are carried over the network in packets, comprising:
-
a plurality of ports, at least one of which is an enhanced port for connection to a local server host; and at least one filtering/matching module associated with the at least one enhanced port, said at least one filtering/matching module being configured to; a) register interests for applications on the local server host; b) inspect packets using multicast addressing received over the network for the local server host to match messages carried by the packets with registered interests; c) remove any unmatched messages from the packets; and d) transform a multicast address in a header of a matched packet to a point-to-point address of the local host server and transform a destination port in the message to permit the network stack in the host server which the filtering/matching module is associated to determine a matching application to send the packet to; and e) forward packets carrying any matched messages to the local server host for delivery to the applications having registered interests matching the messages. - View Dependent Claims (14, 15, 16)
-
-
17. A method of delivering messages over a network having a plurality of switches including ingress/egress switches attached to local server hosts, and wherein the messages are carried over the network in packets, comprising:
-
receiving messages originating in supporting applications on the local server hosts; forwarding packets carrying the messages to the network via ingress/egress switches attached to the destination server hosts using multicast addressing; inspecting the packets in distributed filtering/matching modules associated with local server hosts to match messages received over the network for the local server host with registered interests associated with applications running on the local server host; removing any unmatched messages from the packets; transforming a multicast address in a header of a matched packet to a point-to-point address of the host server with which the filtering/matching module is associated and transforming a destination port in the message to permit the network stack in the host server which the filtering/matching module is associated to determine a matching application to send the packet to; and forwarding packets carrying the matched messages to the local server host for delivery to the applications having registered interests matching the messages. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification