IP Library Granted Patent US 9,225,806
Granted Patent B2
US 9,225,806 · App. 13/524,766 · Granted Dec 29, 2015

Systems and methods for generating IPID across a cluster network

Inventors: Vivekanand Rangaraman (Karnataka, IN); Henk Bots (Boulder City, NV); Sandhya Gopinath (Karnataka, IN)
Assignee: CITRIX SYSTEMS, INC.
H04L69/166H04L67/1002H04L69/00H04L69/16
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 9,225,806
App. No.
13/524,766
Granted
Dec 29, 2015
Kind
B2
Abstract

In a cluster environment, nodes participating in the cluster may generate packets with the same source IP to the same destination IP. If those packets get fragmented down stream, then reassembling this packets depends on the source IP, destination IP, protocol and the IP identifier field (IPID) of the IP packet. As the source IP, destination IP and protocol may be fixed, the IPID generation is coordinated across the nodes to support reassembly down stream and avoid tuple collision. The IPID space may be equally split among the nodes in the cluster. Each node generates IPID within its range to avoid a collision with an IPID generated from another node.

Claims (29)

1. A method of generating Internet Protocol (IP) identifiers across a cluster of intermediary devices, the method comprising:

(a) establishing for a cluster of intermediary devices, a range of internet protocol (IP) identifiers (IPIDs) to be allocated among each intermediary device in the cluster, the range of IPIDs comprising values to be identified in an IP identifier (IPID) field in an IP layer of packets transmitted from the cluster;

(b) allocating to each intermediary device a subrange of IPIDs in the range of IPIDs;

(c) generating, by a first intermediary device of the cluster, an IPID within the subrange of IPIDs allocated to the first intermediary device; and

(d) transmitting, by the first intermediary device, the packet having the IPID field in the IP layer of the packet set to the IPID, the IPID field in the IP layer used for reassembly of fragmented packets.

2. The method of claim 1 , wherein step (a) further comprises establishing the range of IPIDS to comprise unique non-overlapping values to be identified in the IPID field of an IP layer of transport layer packets transmitted from the cluster.

3. The method of claim 1 , wherein step (b) further comprises allocating, by a master intermediary device of the cluster, the range of IPIDs evenly among each of the intermediary devices of the cluster.

4. The method of claim 1 , wherein step (b) further comprises allocating, by each intermediary device of the cluster, a corresponding subrange of IPIDs from the range of IPIDs.

5. The method of claim 1 , wherein step (c) further comprises generating, by the first intermediary device, the IPID by selecting a next available IPID in the subrange of IPIDs.

6. The method of claim 1 , wherein step (c) further comprises generating, by the first intermediary device, the IPID by reusing a previously used IPID in the subrange of IPIDs that is currently available.

7. The method of claim 1 , wherein step (d) further comprises setting, by the first intermediary device, the IPID field of an IP layer of the packet to the generated IPID.

8. The method of claim 1 , further comprising determining, by the first intermediary device, that at least one of a source IP address, destination IP address or a protocol field of an IP layer of a second packet to be transmitted from the first intermediary device differs from the source IP address, destination IP address or the protocol field of the IP layer of the packet.

9. The method of claim 8 , further comprising selecting, by the first intermediary device responsive to the determination, the same IPID of the packet as the IPID of the second packet.

10. The method of claim 1 , further comprising determining, by the first intermediary device, that a source IP address, destination IP address and a protocol field of an IP layer of a second packet to be transmitted from the first intermediary device is the same as the source IP address, destination IP address as the protocol field of the IP layer of the packet and generating for the second packet a second IPID from the subrange of IPIDs different from the IPID of the first packet.

11. A system for handling fragmented packets distributed across intermediary devices of a cluster, the system comprising:

a cluster of a plurality of intermediary devices;

a range of internet protocol (IP) identifiers (IPIDs) to be allocated among each intermediary device in the cluster, the range of IPIDs comprising values to be identified in an IP identifier (IPID) field in an IP layer of packets transmitted from the cluster;

each intermediary device of the cluster receiving an allocation of a subrange of IPIDs in the range of IPIDs; and

wherein a first intermediary device of the cluster generates an IPID within the

subrange of IPIDs allocated to the first intermediary device and transmits the packet having the IPID field in the IP layer of the packet set to the IPID, the IPID field in the IP layer used for reassembly of fragmented packets.

12. The system of claim 11 , wherein the range of IPIDs comprise unique non-overlapping values to be identified in the IPID field of an IP layer of transport layer packets transmitted from the cluster.

13. The system of claim 11 , wherein a master intermediary device of the cluster allocates the range of IPIDs evenly among each of the intermediary devices of the cluster.

14. The system of claim 11 , wherein each intermediary device of the cluster allocated a corresponding subrange of IPIDs from the range of IPIDs.

15. The system of claim 11 , wherein the first intermediary device generates the IPID by selecting a next available IPID in the subrange of IPIDs.

16. The system of claim 11 , wherein the first intermediary device generates the IPID by reusing a previously used IPID in the subrange of IPIDs that is currently available.

17. The system of claim 11 , wherein the first intermediary device sets the IPID field of an IP layer of the packet to the generated IPID.

18. The system of claim 11 , wherein the first intermediary device determines that at least one of a source IP address, destination IP address or a protocol field of an IP layer of a second packet to be transmitted from the first intermediary device differs from the source IP address, destination IP address or the protocol field of the IP layer of the packet.

19. The system of claim 18 , wherein the first intermediary device selects, responsive to the determination, the same IPID of the packet as the IPID of the second packet.

20. The system of claim 11 , wherein the first intermediary device determines that a source IP address, destination IP address and a protocol field of an IP layer of a second packet to be transmitted from the first intermediary device is the same as the source IP address, destination IP address as the protocol field of the IP layer of the packet and generates for the second packet a second IPID from the subrange of IPIDs different from the IPID of the first packet.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2013
From: RANGARAMAN, VIVEKANAND; BOTS, HENK; GOPINATH, SANDHYA
To: CITRIX SYSTEMS, INC.
Reel/Frame 031478/0098 →
Continuity (1)
Related Publication 20130339550A1 · Dec 19, 2013