Virtual network with adaptive dispatcher
First Claim
1. An apparatus, comprising:
- one or more hardware processors; and
one or more computer readable media storing the following executable components that are implemented when executed by the one or more processors;
a message dispatcher that routes and dispatches a plurality of messages, wherein the message dispatcher routes each of the plurality of messages based on an application level header of the message, the application level header comprising a custom header that is included in the message by the application that sent the message and is not an address field of the message, and wherein the message dispatcher routes a first network message based on a first attribute in the application level header of said first network message, and routes a second network message based on a second attribute, different from said first attribute, in the application level header of said second network message such that the destination of each of the first and second network messages is determined based not on a destination address included in an address field of the message, but the first or second attribute included in the message by the application; and
an interface through which one or more application programs communicate with the message dispatcher to define handlers in the message dispatcher for handling messages that include a custom header that contains either the first attribute or the second attribute.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for providing a virtual network are disclosed. At least one layer of abstraction is created between network service applications and conventional network protocols by inserting an adaptive dispatcher between applications and network transport services on each machine in a network. The message protocol in the virtual network is extensible, allowing application programs to create new headers within any message as needed. The adaptive dispatcher contains handlers that route and dispatch messages within the virtual network based on arbitrary content within each message, including any combination of headers and/or data content. Each device on the virtual network has a virtual address to which messages are directed, allowing devices to move within the network without reconfiguring routing tables. Handlers may be automatically created when an event meeting predefined criteria occurs, including the non-occurrence of a condition, making the virtual network self-healing and adaptive to reconfiguration.
-
Citations
18 Claims
-
1. An apparatus, comprising:
-
one or more hardware processors; and one or more computer readable media storing the following executable components that are implemented when executed by the one or more processors; a message dispatcher that routes and dispatches a plurality of messages, wherein the message dispatcher routes each of the plurality of messages based on an application level header of the message, the application level header comprising a custom header that is included in the message by the application that sent the message and is not an address field of the message, and wherein the message dispatcher routes a first network message based on a first attribute in the application level header of said first network message, and routes a second network message based on a second attribute, different from said first attribute, in the application level header of said second network message such that the destination of each of the first and second network messages is determined based not on a destination address included in an address field of the message, but the first or second attribute included in the message by the application; and
an interface through which one or more application programs communicate with the message dispatcher to define handlers in the message dispatcher for handling messages that include a custom header that contains either the first attribute or the second attribute. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for routing network messages, comprising the steps of:
-
receiving, from an application, a first and second network message at a message dispatcher that routes and dispatches messages; routing the first network message based on a first attribute of the first network message that was included within the data of the first network message by the application, the first attribute not being included in an address field of the first network message; routing the second network message based on a second attribute, different from said first attribute, of the second network message that was included within the data of the second network message by the application the second attribute not being included in an address field of the second network message such that the destination of each of the first and second network messages is determined based not on a destination address included in an address field of the message, but the first or second attribute included in the message by the application. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer network architecture comprising:
-
a plurality of data processing devices, that each include one or more processors and system memory, interconnected via a computer network, each data processing device further comprising; a virtual message dispatcher, implemented as one or more software modules, one or more hardware modules, or a combination of software and hardware modules, that routes messages to intended destinations and dispatches messages to appropriate applications at their intended destination, wherein each message is routed based at least in part on a non-address portion of the message'"'"'s contents, said routing instructions defined by one or more stored message handlers such that the destination of each message is determined based not on a destination address included in an address field of the message, but the non-address portion of the message'"'"'s contents; and an interface through which OSI layer 7 application programs communicate with the message dispatcher to define the one or more message handlers, wherein the virtual message dispatcher comprises a transport adapter for converting messages between a virtual network protocol used by network applications and a transport protocol used by the computer network, and wherein the virtual message dispatcher is configurable for use with a second transport protocol by adding a second transport adapter that converts messages between the second transport protocol and the virtual network protocol, without requiring any network applications to be reconfigured for use with the second transport protocol. - View Dependent Claims (18)
-
Specification