IP Library Granted Patent US 8,010,630
Granted Patent B2
US 8,010,630 · App. 11/952,074 · Granted Aug 30, 2011

Local device redirection

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 8,010,630
App. No.
11/952,074
Granted
Aug 30, 2011
Kind
B2
Abstract

A system for redirecting a local device to a remote system includes a proxy configured to communicate with a remote access module. The remote access module is configured to establish a remote access connection between a system and a remote system. The proxy is configured to receive socket connection information for establishing a socket connection between the system and the remote system. The proxy is also configured to receive, from the remote system over the socket connection, at least one device transaction designated for a virtual device local to the remote system. The virtual device may correspond with a Universal Serial Bus device locally connected to the system. A system for automatically redirecting a local device to a remote system, as well as a system for utilizing a local device of a remote system, are also provided. Methods and machine-readable media are also provided.

Claims (105)

1. A system for redirecting a local Universal Serial Bus (USB) device to a remote system, comprising:

a computing device comprising: a proxy configured to communicate with a remote access module, the remote access module configured to establish a remote desktop access connection between the system and the remote system, the proxy configured to receive, over the remote desktop access connection, socket connection information for establishing a socket connection between the system and the remote system, the proxy configured to receive, from the remote system over the socket connection, at least one USB device transaction request designated for a virtual USB device local to the remote system,

wherein the virtual USB device corresponds with a USB device locally connected to the system,

wherein the USB device locally connected to the system is remote to the remote system and local to the system,

wherein the remote desktop access connection comprises a virtual channel,

wherein the system is configured to receive the socket connection information over the virtual channel,

wherein the socket connection is distinct from the remote desktop access connection,

wherein the system is configured to facilitate sending or receiving a non-USB device transaction request to or from the remote system over the remote desktop access connection, not over the socket connection.

2. The system of claim 1 , wherein the proxy is configured to automatically initiate redirection of the USB device to the remote system so that the USB device appears as the virtual USB device local to the remote system when the USB device is connected to the system and when the remote desktop access connection is established between the system and the remote system.

3. The system of claim 1 , wherein the proxy is configured to initiate redirection of the USB device to the remote system so that the USB device appears as the virtual USB device local to the remote system, without a user of the system performing configurations when the USB device is connected to the system and when the remote desktop access connection is established between the system and the remote system.

4. The system of claim 1 , wherein the proxy is configured to receive the socket connection information from the remote access module, the remote access module connected over the remote desktop access connection to a second remote access module at the remote system.

5. The system of claim 1 , wherein the socket connection information comprises at least one or more of: Internet protocol (IP) address information, a port number, a session identification, and a cookie.

6. The system of claim 1 , wherein the system is the computing device further comprising a processor and the remote access module, and wherein the remote system is a computer comprising a second remote access module and an agent.

7. The system of claim 1 , wherein at least one of the at least one USB device transaction request and the socket connection information is encrypted.

8. The system of claim 1 , wherein the non-USB device transaction request is a remote control request.

9. The system of claim 1 , wherein the socket connection comprises a different physical connection than the remote desktop access connection.

10. The system of claim 1 , wherein the system is the computing device.

11. A system for utilizing a device of a remote system, comprising:

a computing device comprising: an agent configured to communicate with a remote access module, the remote access module configured to establish a remote desktop access connection between the system and the remote system, the agent configured to receive a notification that the remote desktop access connection is established between the system and the remote system, the agent configured to provide socket connection information to the remote access module to allow a local device of the remote system to be redirected to the system, the agent configured to provide over a socket connection to the remote system at least one device transaction request designated for the local device of the remote system,

wherein the local device is remote from the system,

wherein the remote desktop access connection comprises a virtual channel,

wherein the system is configured to facilitate sending the socket connection information over the virtual channel,

wherein the socket connection is distinct from the remote desktop access connection,

wherein the system is configured to facilitate sending or receiving a transaction request that is not a device transaction request, to or from the remote system over the remote desktop access connection, not over the socket connection.

12. The system of claim 11 , wherein the local device is a Universal Serial Bus (USB) device, and wherein the at least one device transaction request is a USB device transaction request.

13. The system of claim 11 , wherein the agent is further configured to receive, over the socket connection from a proxy on the remote system, a result of at least one device transaction request for the local device of the remote system.

14. The system of claim 11 , wherein the remote access module is configured to confirm the remote desktop access connection with a second remote access module on the remote system over the remote desktop access connection.

15. The system of claim 11 , wherein the agent is configured to receive the notification from an operating system operating on the system.

16. The system of claim 11 , wherein at least one of the at least one device transaction and the socket connection information is encrypted.

17. The system of claim 11 , wherein the transaction request is a remote control request.

18. The system of claim 11 , wherein the agent is configured to open the socket connection.

19. The system of claim 11 , wherein the system is the computing device.

20. A method for redirecting a local device to a remote system, comprising:

communicating with a remote access module, the remote access module configured to establish a remote desktop access connection between a system and the remote system;

receiving, over the remote desktop access connection, socket connection information for establishing a socket connection between the system and the remote system;

receiving, from the remote system over the socket connection, at least one device transaction request designated for a virtual device local to the remote system; and

facilitating sending or receiving of, a transaction request that is not a device transaction request, to or from the remote system over the remote desktop access connection, not over the socket connection,

wherein the virtual device corresponds with a device locally connected to the system,

wherein the device locally connected to the system is remote to the remote system and local to the system,

wherein the remote desktop access connection comprises a virtual channel,

wherein the receiving, over the remote desktop access connection, socket connection information comprises receiving the socket connection information over the virtual channel,

wherein the socket connection is distinct from the remote desktop access connection.

21. The method of claim 20 , wherein the device locally connected to the system is a Universal Serial Bus device.

22. The method of claim 20 , further comprising:

automatically initiating redirection of the device to the remote system when the device is connected to the system and when the remote desktop access connection is established between the system and the remote system.

23. The method of claim 20 , further comprising: initiating redirection of the device to the remote system without a user of the system performing configurations when the device is connected to the system and when the remote desktop access connection is established between the system and the remote system.

24. The method of claim 20 , wherein the receiving socket connection information comprises receiving the socket connection information by the remote access module from the remote system, and

wherein the method further comprises:

receiving the socket connection information from the remote access module, the remote access module connected over the remote desktop access connection to a second remote access module at the remote system.

25. The method of claim 20 , wherein the socket connection information comprises at least one or more of: Internet protocol (IP) address information, a port number, a session identification, and a cookie.

26. The method of claim 20 , wherein the system is a computer further comprising a processor and the remote access module, and wherein the remote system is a computer comprising a second remote access module and an agent.

27. The method of claim 20 , further comprising: encrypting at least one of the at least one device transaction request and the socket connection information.

28. A method for utilizing a device of a remote system, comprising:

communicating with a remote access module, the remote access module configured to establish a remote desktop access connection between a system and the remote system;

receiving a notification that the remote desktop access connection is established between the system and the remote system;

providing socket connection information to the remote access module to allow a local device of the remote system to be redirected to the system;

providing over a socket connection to the remote system at least one device transaction request designated for the local device of the remote system; and

facilitating sending or receiving of, a transaction request that is not a device transaction request, to or from the remote system over the remote desktop access connection, not over the socket connection,

wherein the local device is remote from the system,

wherein the remote desktop access connection comprises a virtual channel,

wherein the providing socket connection information comprises facilitating sending of the socket connection information over the virtual channel,

wherein the socket connection is distinct from the remote desktop access connection.

29. The method of claim 20 , wherein the local device is a Universal Serial Bus device.

30. The method of claim 20 , further comprising: receiving, over the socket connection from a proxy on the remote system, a result of at least one device transaction request for the local device of the remote system.

31. The method of claim 28 , further comprising: confirming the remote desktop access connection with a second remote access module on the remote system over the remote desktop access connection.

32. The method of claim 28 , wherein the receiving a notification comprises receiving the notification from an operating system operating on the system.

33. The method of claim 28 , further comprising: encrypting at least one of the at least one device transaction request and the socket connection information.

34. A non-transitory machine-readable medium encoded with instructions executable by a processor to perform a method for redirecting a local device to a remote system, the method comprising:

communicating with a remote access module, the remote access module configured to establish a remote desktop access connection between a system and the remote system;

receiving, over the remote desktop access connection, socket connection information for establishing a socket connection between the system and the remote system;

receiving, from the remote system over the socket connection, at least one device transaction request designated for a virtual device local to the remote system; and

facilitating sending or receiving of, a transaction request that is not a device transaction request, to or from the remote system over the remote desktop access connection, not over the socket connection,

wherein the virtual device corresponds with a device locally connected to the system,

wherein the device locally connected to the system is remote to the remote system and local to the system,

wherein the remote desktop access connection comprises a virtual channel,

wherein the receiving, over the remote desktop access connection, socket connection information comprises receiving the socket connection information over the virtual channel,

wherein the socket connection is distinct from the remote desktop access connection.

35. The non-transitory machine-readable medium of claim 34 , wherein the device is a Universal Serial Bus device.

36. The non-transitory machine-readable medium of claim 34 , wherein the method further comprises: automatically initiating redirection of the device to the remote system when the device is connected to the system and when the remote desktop access connection is established between the system and the remote system.

37. The non-transitory machine-readable medium of claim 34 , wherein the method further comprises: initiating redirection of the device to the remote system without a user of the system performing configurations when the device is connected to the system and when the remote desktop access connection is established between the system and the remote system.

38. The non-transitory machine-readable medium of claim 34 , wherein the receiving socket connection information comprises receiving the socket connection information by the remote access module from the remote system, and

wherein the method further comprises:

receiving the socket connection information from the remote access module, the remote access module connected over the remote desktop access connection to a second remote access module at the remote system.

39. The non-transitory machine-readable medium of claim 34 , wherein the socket connection information comprises at least one or more of: Internet protocol (IP) address information, a port number, a session identification, and a cookie.

40. The non-transitory machine-readable medium of claim 34 , wherein the system is a computer further comprising a processor and the remote access module, and wherein the remote system is a computer comprising a second remote access module and an agent.

41. The non-transitory machine-readable medium of claim 34 , wherein the method further comprises: encrypting at least one of the at least one device transaction request and the socket connection information.

42. The non-transitory machine-readable medium of claim 34 , wherein the transaction request that is not a device transaction request is a remote control request.

43. A non-transitory machine-readable medium encoded with instructions executable by a processor to perform a method for utilizing a device of a remote system, the method comprising:

communicating with a remote access module, the remote access module configured to establish a remote desktop access connection between a system and the remote system;

receiving a notification that the remote desktop access connection is established between the system and the remote system;

providing socket connection information to the remote access module to allow a local device of the remote system to be redirected to the system;

providing over a socket connection to the remote system at least one device transaction request designated for the local device of the remote system; and

facilitating sending or receiving of, a transaction request that is not a device transaction request, to or from the remote system over the remote desktop access connection, not over the socket connection,

wherein the local device is remote from the system,

wherein the remote desktop access connection comprises a virtual channel,

wherein the providing socket connection information comprises facilitating sending of the socket connection information over the virtual channel,

wherein the socket connection is distinct from the remote desktop access connection.

44. The non-transitory machine-readable medium of claim 43 , wherein the local device is a Universal Serial Bus device.

45. The non-transitory machine-readable medium of claim 43 , wherein the method further comprises: receiving, over the socket connection from a proxy on the remote system, a result of at least one device transaction request for the local device of the remote system.

46. The non-transitory machine-readable medium of claim 43 , wherein the method further comprises: confirming the remote desktop access connection with a second remote access module on the remote system over the remote desktop access connection.

47. The non-transitory machine-readable medium of claim 43 , wherein the receiving a notification comprises receiving the notification from an operating system operating on the system.

48. The non-transitory machine-readable medium of claim 43 , wherein the method further comprises: encrypting at least one of the at least one device transaction request and the socket connection information.

49. The non-transitory machine-readable medium of claim 43 , wherein the method further comprises:

opening the socket connection before providing the socket connection information.

50. The non-transitory machine-readable medium of claim 43 , wherein the transaction request that is not a device transaction request is a remote control request.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
MERGER Recorded May 13, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 060064/0586 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
CHANGE OF NAME Recorded Nov 15, 2013
From: WYSE TECHNOLOGY INC.
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 031645/0051 →