Scalable gateway for multiple data streams
First Claim
1. A method comprising:
- receiving a plurality of incoming data streams at a gateway, whereinthe gateway comprises a dispatch processor coupled to a plurality of sub-processors;
load balancing the incoming data streams, whereinthe load balancing is performed by the dispatch processor,the load balancing comprisesassigning a first data stream of the incoming data streams to a first sub-processor of the plurality of sub-processors, andthe assigning comprisesidentifying a first sub-processor identifier in the first data stream, whereinthe first sub-processor identifier is associated with the first sub-processor, andthe identifying is performed by the dispatch processor;
transforming the first data stream of the incoming data streams, whereinthe transforming the first data stream is performed by the first sub-processor, andthe transforming the first data stream comprises converting a first mangled address in the first data stream into a standard address;
forwarding the first data stream to a first server of a plurality of servers, whereinthe forwarding is performed by the first sub-processor, in response to the transforming, andthe first server corresponds to the standard address; and
responding to the incoming data streams with a plurality of outgoing data streams, whereineach of the outgoing data streams comprises a sub-processor identifier,each of the sub-processor identifiers identifies a respective sub-processor of the plurality of sub-processors,each of the outgoing data streams comprises a respective mangled address,each of the mangled addresses comprises information identifying an address of a corresponding server among the plurality of servers,each of the plurality of servers is coupled to the gateway,each of the mangled addresses indicates an address of the gateway, andthe first sub-processor is configured to generate the mangled addresses in the outgoing data streams.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and procedures are presented for communicating multiple data streams through an SSLVPN gateway. One implementation of a method includes receiving a plurality of incoming data streams and load balancing the incoming data streams. The load balancing includes assigning a first set of one or more incoming data streams to a first subprocessor, and responding to the first set of incoming data streams with outgoing data streams that include a first identifier that indicates the first subprocessor. One implementation of a network element includes a plurality of subprocessors and a dispatcher module. The dispatcher module is coupled to the plurality of subprocessors, and is configured to recognize an identifier in a received data stream. The dispatcher module dispatches the received data stream to a corresponding subprocessor of the plurality of processors in response to the identifier in the received data stream.
28 Citations
29 Claims
-
1. A method comprising:
-
receiving a plurality of incoming data streams at a gateway, wherein the gateway comprises a dispatch processor coupled to a plurality of sub-processors; load balancing the incoming data streams, wherein the load balancing is performed by the dispatch processor, the load balancing comprises assigning a first data stream of the incoming data streams to a first sub-processor of the plurality of sub-processors, and the assigning comprises identifying a first sub-processor identifier in the first data stream, wherein the first sub-processor identifier is associated with the first sub-processor, and the identifying is performed by the dispatch processor; transforming the first data stream of the incoming data streams, wherein the transforming the first data stream is performed by the first sub-processor, and the transforming the first data stream comprises converting a first mangled address in the first data stream into a standard address; forwarding the first data stream to a first server of a plurality of servers, wherein the forwarding is performed by the first sub-processor, in response to the transforming, and the first server corresponds to the standard address; and responding to the incoming data streams with a plurality of outgoing data streams, wherein each of the outgoing data streams comprises a sub-processor identifier, each of the sub-processor identifiers identifies a respective sub-processor of the plurality of sub-processors, each of the outgoing data streams comprises a respective mangled address, each of the mangled addresses comprises information identifying an address of a corresponding server among the plurality of servers, each of the plurality of servers is coupled to the gateway, each of the mangled addresses indicates an address of the gateway, and the first sub-processor is configured to generate the mangled addresses in the outgoing data streams. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 28, 29)
-
-
13. A method comprising:
-
receiving, at a gateway, a plurality of data streams, wherein the gateway comprises a dispatch processor coupled to a plurality of sub-processors; decrypting a first data stream and a second data stream of the data streams; load balancing the incoming data streams, wherein the load balancing is performed by the dispatch processor, and the load balancing comprises assigning the first data stream to a first sub-processor of the plurality of sub-processors, wherein the assigning comprises identifying a first sub-processor identifier in the first data stream, wherein
the first sub-processor identifier is associated with the first sub-processor, and
the identifying is performed by the dispatch processor;assigning the second data stream to a second sub-processor of the plurality of sub-processors, wherein the second sub-processor is a sub-processor other than the first sub-processor; transforming the first data stream, wherein the transforming the first data stream is performed by the first sub-processor, the transforming the first data stream comprises converting a first mangled address in the first data stream into a standard address, the first data stream comprises a plurality of different mangled addresses, each of the mangled addresses relates to an address of a corresponding node among a plurality of different nodes, each of the plurality of different nodes is coupled to the gateway, each of the mangled addresses indicates an address of the gateway, and the first sub-processor is configured to convert the mangled addresses in the first data stream into a standard address; forwarding the first data stream to a first server of a plurality of servers, wherein the forwarding is performed by the first sub-processor, in response to the transforming, and the first server corresponds to the standard address; and transforming the second data stream, wherein the transforming the second data stream is performed by the second sub-processor. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A hardware network element comprising:
-
a plurality of sub-processors; and a dispatcher module coupled to the plurality of sub-processors, wherein the dispatcher module is configured to load balance a plurality of incoming data streams, the load balancing comprises assigning a first data stream of the incoming data streams to a first sub-processor of the plurality of sub-processors, the assigning comprises identifying a first sub-processor identifier in the first data stream, wherein the first sub-processor identifier is associated with the first sub-processor, and the identifying is performed by the dispatch processor; the first sub-processor is configured to transform the first data stream of the incoming data streams, wherein transforming the first data stream comprises converting a first mangled address in the first data stream into a standard address; the first sub-processor is configured to forward the first data stream to a first server of a plurality of servers in response to transforming the first data stream, wherein the first server corresponds to the standard address, the plurality of sub-processors are configured to respond to the incoming data streams with a plurality of outgoing data streams, wherein each of the outgoing data streams comprises a sub-processor identifier, each of the sub-processor identifiers identifies a respective sub-processor of the plurality of sub-processors, each of the outgoing data streams comprises a respective mangled address, each of the mangled addresses comprises information identifying an address of a corresponding server among the plurality of servers, each of the plurality of servers is coupled to the network element, each of the mangled addresses indicates an address of the network element, and the first sub-processor is configured to generate the mangled addresses in the outgoing data streams. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification