US2022030055A1PendingUtilityA1

Bidirectional Communication Clusters

Assignee: CITRIX SYSTEMS INCPriority: Jan 2, 2019Filed: Oct 4, 2021Published: Jan 27, 2022
Est. expiryJan 2, 2039(~12.5 yrs left)· nominal 20-yr term from priority
H04L 67/1001H04L 67/1029H04L 67/01H04L 67/02H04L 67/1002H04L 67/42
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and systems for providing bidirectional communications between client devices and server devices are described herein. Server devices in a cluster may bidirectionally communicate with client devices in a resource site via direct connections or virtual connections. One or more server devices may act as intermediate server devices for communications via virtual connections, and may distinguish different types of messages based on header contents of the messages.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 determining that a client device is connected to a first server via a virtual connection based on a collection of information, wherein the information identifies a plurality of virtual connections to a plurality of client devices directly connected to servers other than the first server;   generating a message comprising:
 an indication to forward the message, and 
 an identification of a connection between a second server and the client device intended to receive the message, wherein the connection between the second server and the client device is a bidirectional connection; and 
   sending the message from the first server to the second server.   
     
     
         2 . The method of  claim 1 , wherein the connection between the second server and the client device comprises a WebSocket connection, a HTTP persistent connection, or a Comet connection. 
     
     
         3 . The method of  claim 1 , wherein the plurality of client devices comprise the client device and are part of a private network, wherein the first server is outside of the private network, and wherein the servers other than the first server comprise the second server and are outside of the private network. 
     
     
         4 . The method of  claim 1 , further comprising:
 determining that a second client device is directly connected to the first server via a bidirectional connection; and   sending a message from the first server to the second client device.   
     
     
         5 . The method of  claim 1 , further comprising:
 establishing a mesh network among a cluster of servers for communication with the plurality of client devices, wherein the cluster of servers comprise the first server and the servers other than the first server, and wherein the servers other than the first server comprise the second server;   establishing, for the servers other than the first server, direct bidirectional connections with the plurality of client devices;   establishing, for the first server, the plurality of virtual connections, wherein the plurality of virtual connections are based on the servers other than the first server; and   communicating, between the cluster of servers and the plurality of client devices, messages.   
     
     
         6 . A method comprising:
 establishing a network among a plurality of server devices for communication with client devices;   establishing, for a subset of server devices of the plurality of server devices, direct bidirectional connections with the client devices;   establishing, for a server device other than the subset, virtual connections with the client devices, wherein the virtual connections are based on the subset of server devices; and   communicating, between the plurality of server devices and the client devices, messages.   
     
     
         7 . The method of  claim 6 , further comprising:
 determining that a client device of the client devices is connected to the server device other than the subset via a virtual connection based on a collection of information, wherein the information identifies the virtual connections with the client devices directly connected to the subset of server devices;   generating a message comprising:
 an indication to forward the message, and 
 an identification of a connection between a second server device, of the subset of server devices, and the client device intended to receive the message, wherein the connection between the second server device and the client device is a direct bidirectional connection; and 
   sending the message from the server device other than the subset to the second server device.   
     
     
         8 . The method of  claim 6 , wherein the direct bidirectional connections comprise WebSocket connections, HTTP persistent connections, or Comet connections. 
     
     
         9 . The method of  claim 6 , wherein the client devices are part of a private network, and wherein the plurality of server devices are outside of the private network. 
     
     
         10 . The method of  claim 6 , wherein the establishing the network comprises establishing bidirectional connections among the plurality of server devices. 
     
     
         11 . The method of  claim 6 , wherein the establishing the direct bidirectional connections comprises establishing, for a particular server device of the subset, one or more direct bidirectional connections with one or more of the client devices, the method further comprising:
 establishing, for the particular server device, one or more virtual connections with one or more others of the client devices.   
     
     
         12 . The method of  claim 6 , further comprising:
 storing, by the server device other than the subset, a connection table indicating the virtual connections.   
     
     
         13 . The method of  claim 6 , wherein a virtual connection of the virtual connections is based on an intermediate server device, of the subset, configured to forward messages between a client device and the server device other than the subset. 
     
     
         14 . The method of  claim 6 , wherein each of the messages comprises a header that includes forwarding flag data and destination connection data, and wherein the communicating the messages is based on the header of each of the messages. 
     
     
         15 . A method comprising:
 establishing a mesh network among a cluster of server devices;   establishing, for a first server device of the cluster, a direct bidirectional connection with a first client device;   establishing, for a second server device of the cluster, a direct bidirectional connection with a second client device;   establishing, for a third server device of the cluster, virtual connections with the first client device and the second client device, wherein the virtual connections are based on the first server device or the second server device; and   communicating, based on the virtual connections, messages.   
     
     
         16 . The method of  claim 15 , further comprising:
 determining that the first client device is connected to the third server device via a virtual connection based on a collection of information, wherein the information identifies the virtual connections with the first client device and the second client device;   generating a message comprising:
 an indication to forward the message, and 
 an identification of the direct bidirectional connection established for the first server device with the first client device intended to receive the message; and 
   sending the message from the third server device to the first server device.   
     
     
         17 . The method of  claim 15 , wherein each of the direct bidirectional connection with the first client device and the direct bidirectional connection with the second client device comprises a WebSocket connection, a HTTP persistent connection, or a Comet connection. 
     
     
         18 . The method of  claim 15 , wherein the first client device and the second client device are part of a private network, and wherein the cluster of server devices are outside of the private network. 
     
     
         19 . The method of  claim 15 , further comprising:
 establishing, for the first server device of the cluster, a virtual connection with the second client device, wherein the virtual connection with the second client device is based on the second server device of the cluster.   
     
     
         20 . The method of  claim 15 , further comprising:
 storing, by the third server device of the cluster, a connection table indicating the virtual connections.

Join the waitlist — get patent alerts

Track US2022030055A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.