P
US10313252B2ExpiredUtilityPatentIndex 78

Method and system for dynamic interleaving

Assignee: CITRIX SYSTEMS INCPriority: Jun 17, 2003Filed: May 20, 2016Granted: Jun 4, 2019
Est. expiryJun 17, 2023(expired)· nominal 20-yr term from priority
Inventors:KOOPMANS CHRISTOPHER RAYMONDKOOPMANS FREDERICK ALANSTAVRAKOS NICHOLAS JAMESANTONYSAMY AMALRAJ
H04L 69/166H04L 69/14H04L 67/42H04L 67/02H04L 47/24H04L 67/32H04L 67/28H04L 67/60H04L 67/01H04L 67/56
78
PatentIndex Score
7
Cited by
80
References
19
Claims

Abstract

A network environment includes a client station coupled to a proxy server via a first network and one or more content servers coupled to the proxy server via a second network. A plurality of connections are established between the client station and the proxy server over the first network. Requests are dynamically interleaved over any of the connections to the proxy server by the client station. Content is retrieved for the requests from any of the content servers over the second network by the proxy server. Responses including retrieved content for respective requests are dynamically interleaved over any of the connections by the proxy server to the client station.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method performed by a server having one or more processors and a network interface, the method comprising:
 acquiring a first request message sent over a persistent connection established between the server and a client station, wherein the first request message comprises one or more packets including a header having a first unique identifier and first control information indicating a first priority for the first request message that is different than a second priority for a second request message; 
 preparing a first response message for providing first content associated with the first request message over the persistent connection and a second response message for providing second content associated with the second request message, wherein the first response message comprises one or more packets including the first unique identifier that associates the first response message with the first request message and the second response message comprising one or more packets including a second unique identifier that associates the second response message with the second request message; and 
 transmitting, via the network interface, the first response message and the second response message over the persistent connection in an interleaved fashion, where the first control information allows the server to control an ordering of the first and second response messages. 
 
     
     
       2. The method of  claim 1 , further comprising:
 storing, in a set of unique identifiers, the first unique identifier, wherein the set of unique identifiers includes a second unique identifier corresponding to the second request message. 
 
     
     
       3. The method of  claim 2 , wherein the first control information indicates that the first content for the first request message has lower priority than content for at least another request message. 
     
     
       4. The method of  claim 3 , further comprising:
 evaluating the first control information of the first request message to second control information of the second request message; 
 determining that the first content associated with the first request message has a lower priority than second content associated with the second request message; 
 preparing the second response message for providing the second content associated with the second request message over the persistent connection, wherein the second response message comprises one or more packets having the second unique identifier that associates the second response message with the second request message; and 
 prior to transmitting the prepared first response message, transmitting the prepared second response message over the persistent connection. 
 
     
     
       5. The method of  claim 2 , further comprising
 preparing a second response message for providing second content associated with the second request message over the persistent connection, wherein the second response message comprises one or more packets including the second unique identifier of the set of unique identifiers, wherein the second unique identifier associates the second response message with the second request message; and 
 transmitting, via the network interface, at least part of the second response message over the persistent connection while transmitting the first response message. 
 
     
     
       6. The method of  claim 1 , wherein the first control information indicates that the one or more packets of the first response message includes a body that is to be segmented based on chunked encoding. 
     
     
       7. A server having one or more processors, wherein the server is communicatively coupled to a client station and comprising:
 a network interface to:
 acquire a first request message sent over a persistent connection established between the server and the client station, wherein the first request message comprises one or more packets having a first unique identifier and first control information indicating a first priority for the first request message that is different than a second priority for a second request message, and 
 transmit over the persistent connection a first response message providing first content associated with the first request message and a second response message providing second content associated with the second request message in an interleaved fashion, wherein the first response message comprises one or more packets including the first unique identifier that associates the first response message with the first request message, and the first control information allows the server to control an ordering of the first and second response messages. 
 
 
     
     
       8. The server of  claim 7 , further comprising:
 a memory to store, in a set of unique identifiers, the first unique identifier. 
 
     
     
       9. The server of  claim 8 , wherein the set of unique identifiers includes a second unique identifier corresponding to the second request message. 
     
     
       10. The server of  claim 9 , wherein the first control information indicates that the first content for the first request message has lower priority than content for at least another request message. 
     
     
       11. The server of  claim 10 , wherein the one or more processors of the server is configured to:
 evaluate the first control information of the first request message to second control information of the second request message; 
 determine that the first content associated with the first request message has a lower priority than the second content associated with the second request message; and 
 prepare the second response message to provide the second content associated with the second request message over the persistent connection, wherein the second response message comprises one or more packets having the second unique identifier that associates the second response message with the second request message; 
 wherein the network interface is configured to transmit the second response message over the persistent connection prior to the transmitting of the first response message. 
 
     
     
       12. The server of  claim 9 , wherein the one or more processors of the server is configured to:
 prepare the second response message for providing second content associated with the second request message over the persistent connection, wherein the second response message comprises one or more packets having the second unique identifier of the set of unique identifiers, wherein the second unique identifier associates the second response message with the second request message, wherein the network interface is configured to transmit at least part of the prepared second response message over the persistent connection during the transmission of the first response message. 
 
     
     
       13. The server of  claim 7 , wherein the one or more packets of the first request message further include:
 control information indicating that the one or more packets of the first response message includes a body that is to be segmented based on chunked encoding. 
 
     
     
       14. A non-transitory computer readable medium that stores a set of instructions that is executable by at least one processor of a server communicatively coupled to a server via a network to cause the server to perform a method, the method comprising:
 acquiring a first request message sent over a persistent connection established between the server and a client station, wherein the first request message comprises one or more packets having a first unique identifier and first control information indicating a first priority for the first request message that is different than a second priority for a second request message; 
 preparing a first response message for providing first content associated with the first request message over the persistent connection and a second response message for providing second content associated with the second request message, wherein the first response message comprises one or more packets having the first unique identifier that associates the first response message with the first request message; and 
 providing instructions for transmitting the first response message and the second response message over the persistent connection in an interleaved fashion, where the first control information allows the server to control an ordering of the first and second response messages. 
 
     
     
       15. The non-transitory computer readable medium of  claim 14 , wherein the set of instructions that is executable by the at least one processor of the server causes the server to further perform:
 storing, in a set of unique identifiers, the first unique identifier, wherein the set of unique identifiers includes a second unique identifier corresponding to the second request message. 
 
     
     
       16. The non-transitory computer readable medium of  claim 15 , wherein the first control information indicates that the first content for the first request message has lower priority than content for at least another request message. 
     
     
       17. The non-transitory computer readable medium of  claim 16 , wherein the set of instructions that is executable by the at least one processor of the server causes the server to further perform:
 evaluating the first control information of the first request message to second control information of the second request message; 
 determining that the first content associated with the first request message has a lower priority than the second content associated with the second request message; 
 preparing the second response message for providing the second content associated with the second request message over the persistent connection, wherein the second response message comprises one or more packets having the second unique identifier that associates the second response message with the second request message; and 
 providing instructions for transmitting the second response message over the persistent connection before transmitting the first response message. 
 
     
     
       18. The non-transitory computer readable medium of  claim 15 , wherein the set of instructions that is executable by the at least one processor of the server causes the server to further perform:
 preparing the second response message for providing the second content associated with the second request message over the persistent connection, wherein the second response message comprises one or more packets having the second unique identifier of the set of unique identifiers, wherein the second unique identifier associates the second response message with the second request message; and 
 providing instructions for transmitting at least part of the second response message over the persistent connection while transmitting the first response message. 
 
     
     
       19. The non-transitory computer readable medium of  claim 14 , wherein the one or more packets of the first request message further include:
 control information indicating that the one or more packets of the first response message includes a body that is to be segmented based on chunked encoding.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.