PATENT CLAIM ANALYSIS

Application Number: 16051470
Application Type: Utility
Filing Date: 2018-07
Publication Date: 2018-11
Patent Classification: ["370", "392000"]

Abstract:
Techniques for executing multiple Virtual Private Network (VPN) endpoints associated with an Endpoint Pool Address are disclosed. A VPN endpoint manager determines traffic attributes of traffic addressed to the Endpoint Pool Address. The VPN endpoint manager selects a quantity of VPN endpoints to be executed for processing the traffic based on the traffic attributes. The VPN endpoint manager causes execution of a plurality of VPN endpoints corresponding to the selected quantity. The VPN endpoint manager selects one VPN endpoint, from the VPN endpoint pool, to process each data packet addressed to the Endpoint Pool Address. The VPN endpoint manager may select different VPN endpoints to process data packets of different VPN sessions. The VPN endpoint manager may transfer a VPN session from one VPN endpoint to another VPN endpoint. The VPN endpoints in the VPN endpoint pool operate concurrently to process data packets addressed to the Endpoint Pool Address.

Claim (Index 20):
The non-transitory computer readable medium of  claim 1 , wherein:\n the first set of data packets and the second set of data packets are received from a same source device, and wherein the first VPN session is not interrupted for the source device by the re-assignment of the first VPN session from the first VPN endpoint to the second VPN endpoint; the first VPN session is not terminated or paused between a first time at which the first set of data packets was received and a second time at which the second set of data packets was received; re-assigning the first VPN session to obtain the second assignment of the first VPN session to the second VPN endpoint of the plurality of VPN endpoints associated with the particular address comprises:\n removing storage of a first association between the first VPN endpoint and a session identifier of the first VPN session; and \n storing a second association between the second VPN endpoint and the session identifier of the first VPN session; \n the session transfer criterion comprises at least one of:\n (a) a traffic level of the first set of data packets; \n (b) a latency sensitivity associated with the first set of data packets; \n (c) a jitter sensitivity associated with the first set of data packets; \n (d) a priority level associated with the first set of data packets; \n (e) a traffic level of a plurality of data packets addressed to the particular address; \n (f) a latency sensitivity associated with the plurality of data packets addressed to the particular address; \n (g) a jitter sensitivity associated with the plurality of data packets addressed to the particular address; and \n (h) a priority level associated with the plurality of data packets addressed to the particular address; \n the session transfer criterion associated with the first VPN endpoint is different than another session transfer criterion associated with the second VPN endpoint; a client continues to address data packets corresponding to the first VPN session to the particular address after the first VPN session is re-assigned from the first VPN endpoint to the second VPN endpoint; the operations further comprise:\n receiving a third set of data packets that (a) is addressed to the particular address and (b) corresponds to a second VPN session; \n directing the third set of data packets to a third VPN endpoint, of the plurality of VPN endpoints associated with the particular address, based on a third assignment of the second VPN session to the third VPN endpoint; \n receiving a fourth set of data packets that (a) is addressed to the particular address and (b) does not correspond to any existing VPN session; \n determining a fourth assignment of a new VPN session associated with the fourth set of data packets to a fourth VPN endpoint of the plurality of VPN endpoints associated with the particular address; \n directing the fourth set of data packets to the fourth VPN endpoint based on the fourth assignment of the new VPN session to the fourth VPN endpoint; \n receiving a fifth set of data packets that (a) is addressed to the particular address and (b) corresponds to a third VPN session assigned to the first VPN endpoint; \n before determining that the session transfer criterion is satisfied: directing the fifth set of data packets to the first VPN endpoint based on a fifth assignment of the third VPN session to the first VPN endpoint; \n subsequent to determining that the session transfer criterion is satisfied: continuing to direct the fifth set of data packets to the first VPN endpoint based on the fifth assignment of the third VPN session to the first VPN endpoint; \n receiving a sixth set of data packets that (a) is addressed to the particular address and (b) corresponds to a fourth VPN session assigned to the second VPN endpoint; \n before determining that the session transfer criterion is satisfied: directing the sixth set of data packets to the second VPN endpoint based on a sixth assignment of the fourth VPN session to the second VPN endpoint; \n subsequent to determining that the session transfer criterion is satisfied: continuing to direct the sixth set of data packets to the second VPN endpoint based on the sixth assignment of the fourth VPN session to the second VPN endpoint; \n wherein the state of the first VPN session comprises one or more of:\n (a) a client identifier of a client that is associated with the first VPN session; \n (b) a tenant identifier of a tenant associated with the first VPN session; \n (c) a first parameter that is negotiated for the first VPN session, the first parameter comprising one or more of: a hashing algorithm, an encryption protocol, an authentication protocol; \n (d) a second parameter that is configured for the first VPN session, the second parameter comprising one or more of: a hashing algorithm, an encryption protocol, an authentication protocol; \n (e) a session key for processing data corresponding to the first VPN session; \n (f) a counter that counts a number of data packets, corresponding to the first VPN session, that have been transmitted; and \n (g) a parameter or attribute of data packets corresponding to the first VPN session; \n \n subsequent to determining that the session transfer criterion is satisfied: retrieving a state of the first VPN session from a first data repository associated with the first VPN endpoint; \n subsequent to retrieving the state of the first VPN session from the first data repository associated with the first VPN endpoint and prior to re-assigning the first VPN session to obtain the second assignment of the first VPN session to the second VPN endpoint of the plurality of VPN endpoints associated with the particular address:\n receiving data packets corresponding to the first VPN session; \n storing the data packets corresponding to the first VPN session in a queue; \n causing storage of the state of the first VPN session at a second data repository associated with the second VPN endpoint; \n \n subsequent to re-assigning the first VPN session to obtain the second assignment of the first VPN session to the second VPN endpoint of the plurality of VPN endpoints associated with the particular address: directing the data packets corresponding to the first VPN session, stored in the queue, to the second VPN endpoint; \n identifying the first VPN session, from a set of VPN sessions assigned to the first VPN endpoint, for transfer from the first VPN endpoint, comprising:\n determining at least one of: (a) one or more of respective loads corresponding to the set of VPN sessions assigned to the first VPN endpoint, and (b) one or more of respective priority levels corresponding to the set of VPN sessions assigned to the first VPN endpoint; \n selecting the first VPN session, from the set of VPN sessions assigned to the first VPN endpoint, based on at least one of: (a) the one or more of respective loads corresponding to the set of VPN sessions assigned to the first VPN endpoint, and (b) the one or more of respective priority levels corresponding to the set of VPN sessions assigned to the first VPN endpoint; \n \n identifying the second VPN endpoint, from the plurality of VPN endpoints associated with the particular address, for receiving the first VPN session, comprising:\n determining one or more of respective loads corresponding to the plurality of VPN endpoints associated with the particular address; \n selecting the second VPN endpoint, from the plurality of VPN endpoints associated with the particular address, based on the one or more of respective loads corresponding to the plurality of VPN endpoints associated with the particular address.

Metadata:
- Claim Count in Document: 22.0
- Percentile: 95.0
- Lexical Diversity: 2.55556
- Patent Class: 370.0
- Transitional Phrase Type: open
- Component Type: 1
- Foreign Priority: False
- Related Applications: ['15252023', '15188668', '15188512', '15077634', '11540104']

Analysis Scores:
- 35 USC 101 Eligibility (BERT): 0.5505505139372819
- 35 USC 102 Novelty (BERT): 0.544486049511989
- Combined Prediction Score: 0.5499440674947527
- Mean Citation Score: 250.96939200000003
- Max Citation Score: 391.05304
- Similarity Product: 297.7461702479792

Labels:
- Claim Label 101: 1
- Claim Label 102: 1
- Claim Label 103: 1
- Claim Label 112: 1
- Combined Label: 1
- Label 101 Adjusted: 1

Dataset: test