Patent ID: 7219120

Claim:
A method comprising: initiating a communication session between a client and a server; and setting up at least one communication channel between the client and the server through which the client and the server send each other information via one or more intermediary nodes, at least one of said intermediary nodes selected by the client or by the server to process the information passing through it by performing a predefined function on said information, wherein the at least one communication channel includes (i) a main channel between the client and the server, and (ii) an inbound channel, having one or more inbound intermediary nodes selected by the client, and (iii) an outbound channel having one or more outbound intermediary nodes selected by the server, at least one of the more inbound intermediary nodes being identifiable in an inbound routing metric having inbound routing parameters; and at least one of the outbound intermediary nodes is identifiable in an outbound routing metric having outbound routing parameters; and the routing parameters comprising: a routing direction that defines a direction in which information travels within a channel; communication path related information; and a routing policy; wherein the routing policy includes at least one of: a strict source routing policy under which an intermediary node is not allowed to insert its own intermediary node into the communication path agreed by the server; and a loose source routing policy under which an intermediary node is allowed to insert its own intermediary node into the communication path previously agreed by the server; wherein the server negotiates with the client on at least one intermediary node selected by the client, and wherein the processing performed on the information by at least one of said intermediary nodes is selected from the group comprising (i) security checking, (ii) language translation from a first language to a second language, and (iii) document transformation.