IP Library Granted Patent US 9,755,894
Granted Patent B2
US 9,755,894 · App. 14/497,193 · Granted Sep 5, 2017

Virtual serial cable

Inventors: Chris Matthieu (Tempe, AZ); Geir Ramleth (Palo Alto, CA)
Assignee: Citrix Systems, Inc.
H04L41/0806H04L67/12H04L67/141H04L69/08
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,755,894
App. No.
14/497,193
Granted
Sep 5, 2017
Kind
B2
Abstract

Techniques and systems for providing a virtual serial cable are provided. A network server, a method, and a computer-program product may be provided. A network server may receive a serial communication from a first serially-connected device in a first location, wherein the first serially-connected device is assigned a first universally unique identifier (UUID), and wherein the serial communication includes a second (UUID) assigned to a second serially-connected device in a second location. A non-transitory computer-readable storage medium may contain instructions, when executed, cause one or more processors to obtain the (UUID), determine that the second (UUID) is assigned to the second serially-connected device, and create a virtual serial connection between the first and second serially-connected devices. The network server may transmit the serial communication to the second serially-connected device located in the second location. The serial communication causes the second serially-connected device to perform an operation.

Claims (45)

1. A network server for binding communication sessions of remote serially-connected devices, comprising:

one or more data processors;

a receiver for receiving one or more serial communications associated with a first serially-connected device located in a first location and a second serially-connected device located in a second location, wherein the first serially-connected device and the second serially-connected device are not configured to directly communicate with the network server, wherein the first serially-connected device is assigned a first universally unique identifier and is serially connected to a first device that enables communication with the network server, wherein the second serially-connected device is assigned a second universally unique identifier is serially connected to a second device that enables communication with the network server, and wherein a received serial communication includes the second universally unique identifier;

a non-transitory computer-readable storage medium containing instructions which when executed on the one or more data processors, cause the one or more data processors to perform operations including:

obtaining the second universally unique identifier;

determining that the second universally unique identifier is assigned to the second serially-connected device; and

creating a virtual serial connection between the first serially-connected device and the second serially-connected device, wherein the virtual serial connection is established with the second serially-connected device based on the second universally unique identifier being assigned to the second serially-connected device, wherein the virtual serial connection is created by binding a communication session of the first serially-connected device and the second serially-connected device such that serial communications from the first serially-connected device are configured to be transmitted to the second serially-connected device and serial communications from the second serially-connected device are configured to be transmitted to the first serially-connected device, and wherein the virtual serial connection is maintained until the first serially-connected device or the second serially-connected device is taken offline; and

a transmitter for transmitting the serial communication to the second serially-connected device located in the second location, wherein the serial communication causes the second serially-connected device to perform an operation.

2. The network server of claim 1 , wherein the non-transitory computer-readable storage medium contains instructions which when executed on the one or more data processors, cause the one or more data processors to perform operations including:

converting the received serial communication to a communication in a native protocol of the network server;

processing the communication using an application programming interface; and

converting the communication back to a serial format before transmitting the communication to the second serially-connected device.

3. The network server of claim 1 , wherein when the virtual serial connection is created between the first serially-connected device and the second serially-connected device, communications communicated from the first serially-connected device are automatically transmitted to the second serially-connected device without user input.

4. The network server of claim 1 , wherein the non-transitory computer-readable storage medium contains instructions which when executed on the one or more data processors, cause the one or more data processors to perform operations including:

creating virtual serial connections between the first serially-connected device and multiple other serially-connected devices.

5. The network server of claim 1 , wherein the non-transitory computer-readable storage medium contains instructions which when executed on the one or more data processors, cause the one or more data processors to perform operations including:

creating virtual serial connections between a first plurality of serially-connected devices and a second plurality of serially-connected devices.

6. A computer-implemented method of binding communication sessions of remote serially-connected devices, comprising:

receiving, by a computing device, one or more serial communications associated with a first serially-connected device located in a first location and a second serially-connected device located in a second location, wherein the first serially-connected device and the second serially-connected device are not configured to directly communicate with a network server, wherein the first serially-connected device is assigned a first universally unique identifier and is serially connected to a first device that enables communication with the network server, wherein the second serially-connected device is assigned a second universally unique identifier is serially connected to a second device that enables communication with the network server, and wherein a received serial communication includes the second universally unique identifier;

obtaining the second universally unique identifier;

determining that the second universally unique identifier is assigned to the second serially-connected device;

creating a virtual serial connection between the first serially-connected device and the second serially-connected device, wherein the virtual serial connection is established with the second serially-connected device based on the second universally unique identifier being assigned to the second serially-connected device, wherein the virtual serial connection is created by binding a communication session of the first serially-connected device and the second serially-connected device such that serial communications from the first serially-connected device are configured to be transmitted to the second serially-connected device and serial communications from the second serially-connected device are configured to be transmitted to the first serially-connected device, and wherein the virtual serial connection is maintained until the first serially-connected device or the second serially-connected device is taken offline; and

transmitting the serial communication to the second serially-connected device located in the second location, wherein the serial communication causes the second serially-connected device to perform an operation.

7. The method of claim 6 , further comprising:

converting the received serial communication to a communication in a native protocol of the network server;

processing the communication using an application programming interface; and

converting the communication back to a serial format before transmitting the communication to the second serially-connected device.

8. The method of claim 6 , wherein when the virtual serial connection is created between the first serially-connected device and the second serially-connected device, communications communicated from the first serially-connected device are automatically transmitted to the second serially-connected device without user input.

9. The method of claim 6 , further comprising:

creating virtual serial connections between the first serially-connected device and multiple other serially-connected devices.

10. The method of claim 6 , further comprising:

creating virtual serial connections between a first plurality of serially-connected devices and a second plurality of serially-connected devices.

11. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium of a computing device, including instructions configured to cause one or more data processors to:

receive one or more serial communications associated with a first serially-connected device located in a first location and a second serially-connected device located in a second location, wherein the first serially-connected device and the second serially-connected device are not configured to directly communicate with a network server, wherein the first serially-connected device is assigned a first universally unique identifier and is serially connected to a first device that enables communication with the network server, wherein the second serially-connected device is assigned a second universally unique identifier is serially connected to a second device that enables communication with the network server, and wherein a received serial communication includes the second universally unique identifier;

obtain the second universally unique identifier;

determine that the second universally unique identifier is assigned to the second serially-connected device;

create a virtual serial connection between the first serially-connected device and the second serially-connected device, wherein the virtual serial connection is established with the second serially-connected device based on the second universally unique identifier being assigned to the second serially-connected device, wherein the virtual serial connection is created by binding a communication session of the first serially-connected device and the second serially-connected device such that serial communications from the first serially-connected device are configured to be transmitted to the second serially-connected device and serial communications from the second serially-connected device are configured to be transmitted to the first serially-connected device, and wherein the virtual serial connection is maintained until the first serially-connected device or the second serially-connected device is taken offline; and

transmit the serial communication to the second serially-connected device located in the second location, wherein the serial communication causes the second serially-connected device to perform an operation.

12. The computer-program product of claim 11 , further comprising instructions configured to cause the one or more data processors to:

convert the received serial communication to a communication in a native protocol of the network server;

process the communication using an application programming interface; and

convert the communication back to a serial format before transmitting the communication to the second serially-connected device.

13. The computer-program product of claim 11 , wherein when the virtual serial connection is created between the first serially-connected device and the second serially-connected device, communications communicated from the first serially-connected device are automatically transmitted to the second serially-connected device without user input.

14. The computer-program product of claim 11 , further comprising instructions configured to cause the one or more data processors to:

create virtual serial connections between the first serially-connected device and multiple other serially-connected devices.

Assignments (10)
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 →
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 →
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 Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
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 →
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 Jan 8, 2015
From: OCTOBLU, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 034666/0650 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2014
From: MATTHIEU, CHRIS; RAMLETH, GEIR
To: OCTOBLU INC.
Reel/Frame 033957/0448 →
Continuity (2)
Continuation In Part 14482963 · Sep 10, 2014
Related Publication 20160072670A1 · Mar 10, 2016