Routing of network messages
First Claim
1. A method for routing an electronic message from a sender to a receiver, comprising:
- generating an electronic message including a header portion and a data portion, said header portion comprising a forward message path to be taken by the message from a sender to a receiver, the forward message path including one or more intermediaries;
sending the message to a first intermediary of the forward message path for processing by the first intermediary and subsequent delivery to one of a second intermediary when present or the receiver when no second intermediary is present.
2 Assignments
0 Petitions
Accused Products
Abstract
A routing protocol is provided for exchanging messages between an initial sender and an ultimate receiver, potentially via a set of intermediaries. The routing protocol provides an optional reverse message path that enables two-way message exchange patterns. The routing protocol can be expressed as a header entry within a message envelope, is independent of the underlying protocol, and can be generated at the application layer of a protocol stack. The routing protocol may allow each intermediary to process the message and dynamically alter the message path en route to the intended recipient.
-
Citations
69 Claims
-
1. A method for routing an electronic message from a sender to a receiver, comprising:
-
generating an electronic message including a header portion and a data portion, said header portion comprising a forward message path to be taken by the message from a sender to a receiver, the forward message path including one or more intermediaries;
sending the message to a first intermediary of the forward message path for processing by the first intermediary and subsequent delivery to one of a second intermediary when present or the receiver when no second intermediary is present. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. In a network router that routes an application generated message having an ordered forward message path including one or more intermediaries between a sender and a receiver, a computer implemented method for routing the message, comprising:
-
(a) receiving the message at a first intermediary corresponding to an intermediary at the beginning of the ordered forward message path;
(b) processing the message;
(c) when the ordered forward message path is not empty, forwarding the message to a second intermediary corresponding to the beginning of the ordered forward message path subsequent to step (b); and
(d) when the forward message path list is empty, forwarding the message to the receiver. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A network router, comprising:
-
a processor;
a network interface for sending and receiving network messages;
memory storing computer readable instructions that, when executed by the processor, perform a method comprising;
(a) receiving a message having an application-level generated message path, the message path comprising a sender, a receiver, and an ordered set of at least one intermediary, wherein the first intermediary of the ordered set corresponds to the network router;
(b) removing the first intermediary from the ordered set of intermediaries; and
(c) when the ordered set is not empty, sending the message to the next intermediary of the ordered set, otherwise, sending the message to the receiver. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A network router, comprising:
-
a processor;
a network interface for sending and receiving network messages;
memory storing computer readable instructions that, when executed by the processor, perform a method comprising;
(a) receiving a message having an application-level generated message path, the message path comprising a sender, a receiver, and an ordered set of at least one intermediary, wherein the first intermediary of the ordered set corresponds to the network router;
(b) tracking the first intermediary from the ordered set of intermediaries; and
(c) when the ordered set is not empty, sending the message to the next intermediary of the ordered set, otherwise, sending the message to the receiver.
-
-
42. A computer readable medium having stored thereon a data structure created by an application-layer program, comprising:
-
a first data field containing data representing a receiver of a message;
a second data field containing data representing a sender of the message;
a third data field containing data representing a forward message path through which the message is routed from the sender to the receiver. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. A method for routing a network message, comprising a network application generating an ordered routing path comprising at least one intermediary, and forwarding the message to the first intermediary in the ordered routing path.
-
55. In a forward message path governed by a set of rules from an initial sender to an ultimate receiver, a method for enabling two-way message exchange patterns comprising:
-
sending a message along the forward message path; and
dynamically building a reverse path governed by substantially the same set of rules as the forward message path.
-
-
56. A method for specifying a two way message path, comprising:
-
(a) at an application layer, inserting at least one forward message path intermediary into a message envelope; and
(b) when requested by an initial sender, each of said at least one forward message path intermediary inserting a reverse message path intermediary into the message envelope. - View Dependent Claims (57)
-
-
58. A data message header for an application to specify a route having at least one functional intermediary prior to a final destination of the message, comprising:
-
(a) an identifier that indicates a purpose of a header comprises routing;
(b) an identifier identifying a final known destination; and
(c) an identifier identifying at least one intermediary between a sending node and the final destination.
-
-
59. A computer readable medium storing a data structure enabling selective encryption of routing information, comprising a plurality of routing elements, each indicating an intermediary in a message path,
wherein the indication in at least one of the plurality of ordered routing elements is encrypted, and wherein the at least one routing element further comprises an encrypted identifier corresponding to a predecessor intermediary in the message path to the indicated intermediary.
-
69. A method for routing an electronic message from a sender to a receiver, comprising:
-
generating an electronic message including a header portion and a data portion, said header portion comprising a forward message path to be taken by the message from a sender to a receiver, the forward message path including zero or more intermediaries;
sending the message to a first intermediary of the forward message path, when present, for processing by the first intermediary and subsequent delivery to one of a second intermediary, when present, or the receiver when no second intermediary is present.
-
Specification