# US 10,320,696 B2 · Systems and methods for providing fine grained control over MSS values of transport layer connections

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,320,696 B2
- Document ID: US10320696B2
- Status: Granted
- Kind: B2
- Application number: 15/443,835
- Filed: 2017-02-27
- Published: 2017-08-10
- Granted: 2019-06-11
- Earliest claimed: 2014-08-19
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Ashwin Jagadish; Saravana Annamalaisami; Muthukumar Shunmugiah; Mohit Prakash Saxena
- Web page: https://patentgrep.com/patent/US10320696B2

## CPC

- H04L 47/365: {Dynamic adaptation of the packet size}
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 69/326: in the transport layer [OSI layer 4] (H04L69/16 takes precedence)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods of providing fine grained control over MSS values of transport layer connections. A device intermediary to a plurality of clients and a plurality of servers can identify a first MSS value based on a MTU value of a VLAN interface responsive to a request to establish a transport layer connection. Device determines that a MSS value of the VLAN is less than the first MSS value. Device updates, responsive to the determination, the first MSS value to a second MSS value corresponding to the MSS value of the VLAN. Device determines that an MSS value specified by a profile configured for a virtual server of the device is less than the second MSS value. Device updates the second MSS value to the MSS value of the profile responsive to determining that the MSS value specified by the profile is less than the second MSS value.

## Claims

### Claim 1

A method comprising:
receiving, by a device intermediary to a plurality of clients and a plurality of servers, via a virtual local network (VLAN) interface a request to establish a transport layer connection on a VLAN assigned to the VLAN interface;
identifying, by the device, a maximum segment size (MSS) value for the transport layer connection using at least a difference between a maximum transmission unit (MTU) value and a header size of the request, wherein identifying the MSS value for the transport layer connection includes
i) determining that the MSS value is greater than a sum of a MTU configured on the VLAN interface and the MTU value of the VLAN minus the header size, and using as the MSS value the MTU value of the VLAN interface to the client minus the header size or
ii) determining that the MSS value is less than a sum of a MTU configured on the VLAN interface and the MTU value of the VLAN minus the header size, and using as the MSS value the MTU value of the VLAN minus the header size;
determining, by the device, that the MSS value is greater than a value for MSS specified by a profile configured for a virtual server of the device that is establishing the transport layer connection, the profile identifying an MSS value corresponding to one of a particular application or connection between a client and a virtual server or between a virtual server and a particular service;
modifying, by the device responsive to the determination, the MSS value to the value for MSS specified by the profile; and
establishing, by the device, the transport layer connection using the modified MSS value.

### Claim 2 (depends on 1)

The method of claim 1, wherein receiving the request to establish the transport layer connection further comprises receiving, by the device, the request from a client of the plurality of clients via the VLAN interface of the device to the client, wherein a plurality of VLANs is assigned to the VLAN interface.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining that the MSS value is greater than the value for MSS specified by the profile for transport layer connections configured on the device further comprises identifying the profile assigned to a virtual server configured on the device for handling the transport layer connection.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining that the MSS value is greater than the value for MSS specified by the profile for transport layer connections configured on the device further comprises identifying, by the device, the profile from a plurality of profiles of the device responsive to a policy configured on the device.

### Claim 5 (depends on 1)

The method of claim 1, wherein modifying the MSS value to the value for MSS specified by the profile further comprises using the MSS value instead of the value for the MSS specified by the profile responsive to the MSS value being less than the value for the MSS specified by the profile.

### Claim 6 (depends on 1)

The method of claim 1, wherein establishing the transport layer connecting using the modified MSS value further comprises including, by the device, the modified MSS value in an acknowledgment to the request to the client.

### Claim 7 (depends on 1)

The method of claim 1, wherein establishing the transport layer connecting using the modified MSS value further comprises establishing, by the device, the transport layer connection with a client of the plurality of clients using the modified MSS value.

### Claim 8 (depends on 1)

The method of claim 1, wherein the profile identifying an MSS value corresponding to one of a particular application or connection between a client and a virtual server or between a virtual server and a particular service.

### Claim 9

A system comprising:
a device intermediary to a plurality of clients and a plurality of servers and configured to:
receive via a virtual local network (VLAN) interface a request to establish a transport layer connection on a VLAN assigned to the VLAN interface;
identify a maximum segment size (MSS) value for the transport layer connection using at least a difference between a maximum transmission unit (MTU) value and a header size of the request, wherein to identify the MSS value for the transport layer connection, the device is configured to
i) determine that the MSS value is greater than a sum of a MTU configured on the VLAN interface and the MTU value of the VLAN minus the header size, and use as the MSS value the MTU value of the VLAN interface to the client minus the header size or
ii) determine that the MSS value is less than a sum of a MTU configured on the VLAN interface and the MTU value of the VLAN minus the header size, and use as the MSS value the MTU value of the VLAN minus the header size;
determine that the MSS value is greater than a value for MSS specified by a profile configured for a virtual server of the device that is establishing the transport layer connection;
modify, responsive to the determination, the MSS value to the value for MSS specified by the profile; and
establish the transport layer connection using the modified MSS value.

### Claim 10 (depends on 9)

The system of claim 9, wherein the device is further configured to receive the request from a client of the plurality of clients via the VLAN interface of the device to the client, wherein a plurality of VLANs is assigned to the VLAN interface.

### Claim 11 (depends on 9)

The system of claim 9, wherein the device is further configured to identify the profile assigned to a virtual server configured on the device for handling the transport layer connection.

### Claim 12 (depends on 9)

The system of claim 9, wherein the device is further configured to identify the profile from a plurality of profiles of the device responsive to a policy configured on the device.

### Claim 13 (depends on 9)

The system of claim 9, wherein the device is further configured to use the MSS value instead of the value for the MSS specified by the profile responsive to the MSS value being less than the value for the MSS specified by the profile.

### Claim 14 (depends on 9)

The system of claim 9, wherein the device is further configured to include the modified MSS value in an acknowledgment to the request to the client.

### Claim 15 (depends on 9)

The system of claim 9, wherein the device is further configured to establish the transport layer connection with a client of the plurality of clients using the modified MSS value.

### Claim 16 (depends on 9)

The system of claim 9, wherein the device is further configured to establish, responsive to the request from a client of the plurality of clients, a second transport layer connection with the server of the plurality of servers using the modified MSS value.
