IP Library Granted Patent US 10,404,838
Granted Patent B2
US 10,404,838 · App. 15/331,039 · Granted Sep 3, 2019

Systems and methods for selecting microservices to process protocol data streams

Inventors: Ratinder Paul Singh Ahuja (Saratoga, CA); Manuel Nedbal (Santa Clara, CA); Elanthiraiyan Ammoor Anbalagan (Sunnyvale, CA); Lee Chik Cheung (Foster City, CA); Sumanth Gangashanaiah (Cupertino, CA); John Richard Guzik (Sunnyvale, CA)
Assignee: ShieldX Networks, Inc.
H04L69/166H04L63/0428H04L12/4633H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,404,838
App. No.
15/331,039
Granted
Sep 3, 2019
Kind
B2
Abstract

Systems and methods are described herein generally relating to network security, and in particular, embodiments described generally relate to systems and methods for selecting microservices to process protocol data streams. For example, a method is disclosed, which calls for receiving a protocol packet, the protocol packet comprising a sequence number, generating a difference by subtracting a protocol message base from the sequence number, generating a first quotient by dividing the difference by a protocol common message length, generating a second value using the first quotient, determining a Transmission Control Protocol (TCP) reassembly resource using the generated second value, and transmitting the protocol packet to the determined TCP reassembly resource.

Claims (32)

1. A method comprising:

receiving a protocol packet, the protocol packet comprising a sequence number;

generating a difference by subtracting a protocol message base from the sequence number;

generating a first quotient by dividing the difference by a protocol common message length;

generating a second value using the first quotient;

determining a Transmission Control Protocol (TCP) reassembly resource using the generated second value; and

transmitting the protocol packet to the determined TCP reassembly resource.

2. The method of claim 1 , wherein generating the second value comprises dividing the first quotient by a number of TCP microservices in a TCP protocol microservice list.

3. The method of claim 1 , wherein generating the second value comprises performing a modulus operation on the first quotient.

4. The method of claim 1 , wherein generating the second value comprises using the first quotient to obtain the second value from a lookup table.

5. The method of claim 1 , wherein the second value is to be used with an unbalanced distribution to favor selection of a first TCP microservice.

6. A system comprising:

a memory;

a hardware processor to use the memory and to execute instructions which cause the hardware processor to:

receive a protocol packet, the protocol packet comprising a packet sequence number;

generate a difference by subtracting a protocol message base from the packet sequence number;

generate a first quotient by dividing the difference by a protocol common message length;

generate a second value using the first quotient;

use the second value to select a TCP microservice from a TCP protocol microservice list; and

transmit the protocol packet to the selected TCP microservice.

7. The system of claim 6 , wherein generating the second value comprises generating a second quotient by dividing the first quotient by a number of Transmission Control Protocol (TCP) microservices in a TCP protocol microservice list.

8. The system of claim 6 , wherein generating the second value comprises performing a modulus operation on the first quotient.

9. The system of claim 6 , wherein generating the second value comprises using the first quotient to obtain the second value from a lookup table.

10. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to:

receive a protocol packet, the protocol packet comprising a packet sequence number;

generate a difference by subtracting a protocol message base from the packet sequence number;

generate a first quotient by dividing the difference by a protocol common message length;

generate a second value using the first quotient;

use the second value to select a TCP microservice from a TCP protocol microservice list; and

transmit the protocol packet to the selected TCP microservice.

11. The non-transitory computer-readable medium of claim 10 , wherein generating the second value comprises dividing the first quotient by a number of Transmission Control Protocol (TCP) microservices in a TCP protocol microservice list.

12. The non-transitory computer-readable medium of claim 10 , wherein generating the second value comprises performing a modulus operation on the first quotient.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2021
From: SHIELDX NETWORKS, INC.
To: FORTINET, INC.
Reel/Frame 056227/0125 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2021
From: COMERICA BANK
To: SHIELDX NETWORKS, INC.
Reel/Frame 055585/0847 →
SECURITY INTEREST Recorded Jul 27, 2020
From: SHIELDX NETWORKS, INC.
To: COMERICA BANK
Reel/Frame 053313/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2016
From: AHUJA, RATINDER PAUL SINGH; NEDBAL, MANUEL; AMMOOR ANBALAGAN, ELANTHIRAIYAN; CHEUNG, LEE CHIK; GANGASHANAIAH, SUMANTH; GUZIK, JOHN RICHARD
To: SHIELDX NETWORKS, INC.
Reel/Frame 040089/0919 →
Continuity (1)
Related Publication 20180115635A1 · Apr 26, 2018
Cited By (1)
US 12,368,779