Systems and methods for high volume logging and synchronization for large scale network address translation

US10476764B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10476764-B2
Application numberUS-201414463230-A
CountryUS
Kind codeB2
Filing dateAug 19, 2014
Priority dateAug 19, 2014
Publication dateNov 12, 2019
Grant dateNov 12, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10476764B2 cover?
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 lar…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L43/04. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 12 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).