Intercepting file transfers in multi-node topologies
First Claim
1. One or more computer-readable storage devices having stored thereon computer program instructions for intercepting and processing a payload sent from a sending client to a receiving client, the program instructions executable by one or more processors to perform actions including:
- a) receiving, at a first intermediate server, a session setup message sent between the sending client and the receiving client in a session setup protocol;
b) inserting identifying information in the session setup message, the identifying information indicating a first server role corresponding to the first intermediate server;
c) receiving the identifying information in the session setup message, receiving from a second intermediate server an indication of a second server role different from the first server role, and determining an intercept server role based on the identifying information, the intercept server role being a role other than a role corresponding to a home server associated with the sending client or the receiving client, wherein determining the intercept server role comprises selecting one of the first server role or the second server role to be the intercepting server role;
d) sending an identification of the intercept server role in a subsequent message; and
e) in response to receiving the subsequent message, processing a payload received in one or more messages of a secondary protocol, and sending the payload to the receiving client.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for intercepting and processing a payload sent between clients. A home server determines the roles that are intermediate to the clients by having intermediate servers insert identity information into a message of a session setup protocol. The home server selects a role to be the intercepting role, and sends a notification and aggregate information to a server of the selected role. A server of the intercepting role intercepts and processes the payload when it is sent between the clients. Payload processing may include content inspection or filtering based on any of a number of factors.
-
Citations
19 Claims
-
1. One or more computer-readable storage devices having stored thereon computer program instructions for intercepting and processing a payload sent from a sending client to a receiving client, the program instructions executable by one or more processors to perform actions including:
-
a) receiving, at a first intermediate server, a session setup message sent between the sending client and the receiving client in a session setup protocol; b) inserting identifying information in the session setup message, the identifying information indicating a first server role corresponding to the first intermediate server; c) receiving the identifying information in the session setup message, receiving from a second intermediate server an indication of a second server role different from the first server role, and determining an intercept server role based on the identifying information, the intercept server role being a role other than a role corresponding to a home server associated with the sending client or the receiving client, wherein determining the intercept server role comprises selecting one of the first server role or the second server role to be the intercepting server role; d) sending an identification of the intercept server role in a subsequent message; and e) in response to receiving the subsequent message, processing a payload received in one or more messages of a secondary protocol, and sending the payload to the receiving client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-based system for processing and forwarding a payload sent from a sending client to a receiving client in a secondary protocol, the system comprising:
-
a) a home server that is topologically intermediate between a sending client and a receiving client, the home server receiving client session data descriptive of the sending client, the receiving client, or a session between the sending client and receiving client; b) one or more intermediate servers that are topologically intermediate between the sending client and receiving client, each intermediate server having a corresponding server role that is different from a server role of the home server; each of the one or more intermediate servers configured to perform intermediate server actions including; i. receiving a session setup protocol message sent between the sending client and the receiving client; ii. inserting, in the session setup protocol message, information identifying the intermediate server role; and iii. in response to receiving a notification message from the home server, performing payload intercept actions including intercepting the payload sent in the secondary protocol and processing the payload; the home server configured to perform home server actions including; i. receiving, from each of the one or more intermediate servers, the information identifying the corresponding intermediate server role; ii. determining, based on the received information, an intercepting server role; and iii. sending the notification message in the session setup protocol including notification information indicating the determined intercepting server role. - View Dependent Claims (10, 11, 12)
-
-
13. A computer-based system for intercepting and processing a payload transmitted from a sending client to a receiving client, comprising:
-
a) a server having one or more processors; b) computer program instructions that, when executed by the one or more processors, determine a set of at least two server roles including a first server role and a second server role topologically located between the sending client and the receiving client by employing one or more messages of a session setup protocol, the one or more messages including indications of the at least two server roles, each indication of a server role of the at least two server roles inserted by a corresponding server of the server role; c) computer program instructions that, when executed by the one or more processors, employ a policy to select one of the first server role or the second server role to be an intercepting server role to intercept and process the payload based on the determined set of at least one server role; and d) computer program instructions that, when executed by the one or more processors, notify a server of the intercepting server role of the selection by inserting a notification in a message that is not addressed to the server. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification