Systems and methods for carrier grade nat optimization
US-2016072766-A1 · Mar 10, 2016 · US
US10476764B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10476764-B2 |
| Application number | US-201414463230-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 19, 2014 |
| Priority date | Aug 19, 2014 |
| Publication date | Nov 12, 2019 |
| Grant date | Nov 12, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present invention is related to a method for high volume logging for large scale network address translation. A first device intermediary to a plurality of clients and a plurality of database servers allocates a portion of memory to each packet engine in a plurality of packet engines executing on a respective core of a plurality of cores of the first device. The first device establishes large scale network address translation (LSN) for the plurality of clients, the first device logging LSN information of sessions to a corresponding logging buffer established in a respective packet engine's portion of memory. The first device identifies, for a LSN session, a packet engine from the plurality of packet engines to log the information for the LSN session and stores information of the LSN session to the logging buffer in the packet engine's portion of memory.
Opening claim text (preview).
What is claimed: 1. A method comprising: (a) allocating, by a first device intermediary to a plurality of clients and a plurality of servers for large scale network address translation (LSN) session information logging, a portion of memory to each packet engine in a plurality of packet engines executing on a respective core of a plurality of cores of the first device, each packet engine establishing a transport layer connection between each packet engine with a logging server configured to store aggregated LSN information of sessions from the plurality of packet engines; (b) establishing, by the first device, large scale network address translation (LSN) for the plurality of clients, the first device logging LSN information of each LSN session of a plurality of LSN sessions to a corresponding logging buffer established in the portion of memory of the respective packet engine that was selected to own the corresponding LSN session, each of the packet engines transmitting the LSN information of the corresponding LSN session stored in the packet engine's logging buffer to the logging server via the transport layer connection and responsive to the packet engine's logging buffer reaching a predetermined threshold; (c) selecting, by the first device based at least on characteristics of a client of the plurality of clients communicating a request to establish a new connection to a server of the plurality of servers, a packet engine from the plurality of packet engines to own a LSN session established responsive to the request, monitor the LSN session and log the information for the LSN session; (d) storing, by the first device, information of the LSN session to the logging buffer in the selected packet engine's portion of memory, wherein the first device stores a single log message to represent a mapping of a network address translation (NAT) IP address established for the LSN session with ports falling within a range of ports assigned to the NATP IP address; (e) providing, by the first device to a second device intermediary to the plurality of clients and the plurality of servers, a hash key of a flow distributor of the first device, the second device assign connections to cores of the second device based on the hash key; and (f) transmitting, by a first packet engine of a first core of the first device, a request to the second device to establish a second transport layer connection, the first packet engine to synchronize LSN session information via the second transport layer connection with a corresponding packet engine of the second device, the second device establishing based on the hash key the second transport layer connection on a same core of the second device as the core of the first packet engine on the first device. 2. The method of claim 1 , further comprising receiving, by the first device, via an interface a selection to configure what information is logged during the LSN session. 3. The method of claim 2 , transmitting, by each of the packet engines to the logging server, LSN session information from the packet engine's logging buffer. 4. The method of claim 1 , further comprising assigning, by the first device, the range of ports of the first device to the network address translation (NAT) internet protocol (IP) address. 5. The method of claim 4 , further comprising: establishing, by the first device, the LSN session, for a first time for the NAT IP address and a port falling within the range of ports assigned to the NAT IP; storing, by the first device, the single log message that represents a mapping of the NAT IP address for any LSN session established for the NAT IP address with ports falling within the range of ports; establishing, by the first device, a second LSN session for the NAT IP address with a second port falling within the range of ports; and skipping, by the first device, storing a separate log message for the second LSN session. 6. The method of claim 5 , further comprising: disabling, by the first device, logging of session information in the single log message for any LSN session established for the NAT IP address with ports falling within the range of ports; and storing, by the first device, mapping information in the single log message for any LSN session established for the NAT IP address with ports falling within the range of ports. 7. The method of claim 1 , further comprising: allocating, by first device, a predetermined amount of memory on each packet engine for synchronization of LSN session information with a second device; creating, by the first device, a record of a first session, the record comprising a condensed version of session information for the LSN session, the second device configured to obtain an uncondensed version of session information from local configuration information; and storing, by the first device, the record to the memory of the packet engine allocated for synchronization. 8. The method of claim 7 , further comprising: establishing, by the first device, a connection with a second device intermediary to the plurality of clients and the plurality of servers; and transmitting, by the first device, the record of the first session to the second device to synchronize the LSN session information between the first device and the second device. 9. The method of claim 7 , further comprising: retrieving, by the second device, via the record of the first session, the uncondensed version of session information from local configuration information; and establishing, by the second device, a second session using the uncondensed version of session information. 10. A system comprising: a first device intermediary to a plurality of clients and a plurality of servers for large scale network translation (LSN) session information logging, the first device configured to: allocate a portion of memory to each packet engine in a plurality of packet engines executing on a respective core of a plurality of cores of the first device; each packet engine establishing a transport layer connection between each packet engine with a logging server configured to store aggregated LSN information of sessions from the plurality of packet engines; establish large scale network address translation (LSN) for the plurality of clients, the first device logging LSN information of each LSN session of a plurality of LSN sessions to a corresponding logging buffer established in the portion of memory of the respective packet engine that was selected to own the corresponding LSN session, each of the packet engines configured to transmit the LSN information of the corresponding LSN session stored in the packet engine's logging buffer to the logging server via the transport layer connection responsive to the packet engine's logging buffer reaching a predetermined threshold; select based at least on characteristics of a client of the plurality of clients communicating a request to establish a new connection to a server of the plurality of server, a packet engine from the plurality of packet engines to own a LSN session established responsive to the request, monitor the LSN session and log the information for the LSN session; store information of the LSN session to the logging buffer in the packet engine's portion of memory, wherein a single log message is stored to represent a mapping of a network address translation (NAT) IP address established for the LSN session with ports falling within a range of ports assigned to the NATP IP address; provide to a second device intermediary to the plurality of clients and the plurality of servers, a hash key of a flow distributor of the first device, wherein the second device is configured to assign connections to cores of the second device base
Proxies · CPC title
between local and global IP addresses · CPC title
Reaction to server failures by a load balancer · CPC title
for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06) · CPC title
Virtual private networks · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.