IP Library Granted Patent US 9,395,885
Granted Patent B1
US 9,395,885 · App. 13/557,161 · Granted Jul 19, 2016

Methods and systems for a remote desktop session utilizing HTTP header

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,395,885
App. No.
13/557,161
Granted
Jul 19, 2016
Kind
B1
Abstract

Examples of methods, systems, apparatus, and machine-readable storage media are provided to facilitate access and control of a remote desktop of a remote machine by a web browser of a client device through a web server without installing proprietary plug-ins or protocols on the client device. A web server may translate user input requests from a web browser into input calls compatible with a remote desktop display protocol. The web server may receive remote desktop drawing commands from the remote machine and translate the remote desktop drawing commands into web browser drawing updates compatible with the web browser. A web server may communicate with the web browser and the remote machine via HTTP and a remote desktop display protocol, respectively.

Claims (163)

1. A method for a remote desktop session between a web browser of a client device and a remote machine through a web server, utilizing hypertext transfer protocol (HTTP) headers for remote desktop session drawing, the method comprising:

receiving, at the web server, a request from the web browser of the client device, the request being either a long polling drawing request or an input request, where an input request is a user input command and the long polling drawing request is a request to update an image of a remote desktop;

handling, at the web server, the request, where a long polling drawing request is handled as an asynchronous request and an input request is handled as a synchronous request;

receiving, at the web server, a remote desktop drawing command from the remote machine using a remote desktop display protocol, wherein the remote desktop drawing command is based on the image of a remote desktop of the remote machine;

translating, at the web server, the remote desktop drawing command into a display image and drawing coordinates for the display image;

placing, at the web server, the drawing coordinates into an HTTP response header; and

in response to the request, providing the display image and the drawing coordinates together to the web browser in a single HTTP response, for drawing the display image of the remote desktop at the web browser, wherein the single HTTP response comprises the HTTP response header,

wherein (i) the remote desktop display protocol is a push protocol, and (ii) HTTP is a pull protocol, and (iii) the web browser comprises a windows web browser.

2. The method of claim 1 , wherein the web server comprises a windows web server, and wherein the translating comprises:

translating the remote desktop drawing command into a windows graphics drawing command, wherein the web server comprises one or more web applications including one or more HTTP handlers;

updating a portion of a memory bitmap corresponding to the remote desktop in response to the windows graphics drawing command;

generating coordinates for the updated portion of the memory bitmap from the windows graphics drawing command;

generating the display image compatible with the web browser based on the memory bitmap; and

obtaining the drawing coordinates for the display image based on the coordinates for the memory bitmap,

wherein the display image and the drawing coordinates are compatible with hypertext markup language (HTML),

wherein the updated portion of the memory bitmap represents a portion of an image of the remote desktop of the remote machine,

wherein the display image and the drawing coordinates represent the portion of the image of the remote desktop of the remote machine.

3. The method of claim 1 , wherein the web server is an intermediary between the remote machine and the client device, and wherein the web server is physically separate from the remote machine.

4. The method of claim 1 , wherein the remote desktop drawing command comprises coordinates of a region of the remote desktop that has changed relative to a previous remote desktop drawing command, wherein the coordinates specify a redrawing region, and wherein the display image and the drawing coordinates are compatible with windows graphic protocol and HTML5.

5. The method of claim 1 , wherein the display image comprises at least one of a scaled image of the remote desktop or a display image comprising an offset image of the remote desktop.

6. A method for a remote desktop session between a web browser of a client device and a remote machine through a web server, utilizing asynchronous handling of requests to reduce traffic to the client device, the method comprising:

receiving, at the web server using HTTP, a request from the web browser of the client device, the request being either a long polling drawing request or an input request;

handling, at the web server, the request, where a long polling drawing request is handled as an asynchronous request and an input request is handled as a synchronous request;

receiving, at the web server, a remote desktop drawing command from the remote machine;

translating, at the web server, the remote desktop drawing command into a web browser drawing update, wherein the remote desktop drawing command is compatible with a push protocol, wherein the web browser drawing update is compatible with HTTP; and

providing the web browser drawing update from the web server to the web browser of the client device, utilizing HTTP, as a response to the request from the web browser,

wherein the web server comprises a windows web server and the web browser is a windows web browser.

7. The method of claim 6 , wherein the handling of an asynchronous request comprises:

determining whether a drawing command is pending at the web server for the web browser; if there is no pending drawing command, then storing the request in a drawing requests queue as asynchronous requests; and

if there is a pending drawing command, then providing the request to an HTTP handler module in the web server to allow the HTTP handler module to serve the pending drawing command in response to the request.

8. The method of claim 6 , wherein the remote desktop drawing command represents a portion of an image of a remote desktop of the remote machine,

wherein the translating comprises:

translating the remote desktop drawing command into a windows graphics drawing command;

updating a portion of a memory bitmap of the image of the remote desktop in response to the windows graphics drawing command;

generating coordinates of the updated portion of the memory bitmap based on the windows graphics drawing command;

generating an image file based on the updated portion of the memory bitmap, wherein the image file is compatible with the web browser, wherein the image file comprises a windows image file compatible with the windows web browser; and

obtaining drawing coordinates for the image file based on the coordinates of the updated portion of the memory bitmap,

wherein the web browser drawing update comprises the image file and the drawing coordinates.

9. The method of claim 7 , wherein the providing the web browser drawing update comprises:

placing, at the HTTP handler module the drawing coordinates into an HTTP header of a single HTTP transmission response to the web browser;

including, at the HTTP handler module, the image file into the single HTTP transmission response to the web browser to provide the image file and the drawing coordinates together to the web browser in the single HTTP transmission response; and

when a drawing commands queue has new coordinates, sending a notification to the drawing requests queue to allow at least one of the requests in the drawing requests queue to be forwarded to the HTTP handler module.

10. The method of claim 6 , comprising:

receiving a connection request from the web browser to connect to the remote machine;

providing a client script code to the web browser in response to the connection request to connect to the remote machine,

wherein the receiving the request comprises receiving the request from the client script code,

wherein the providing the web browser drawing update comprises providing the web browser drawing update to the client script code; and

deleting the client script code from the web browser when the remote desktop session is terminated.

11. The method of claim 6 , comprising:

receiving, at the web server, a user input request from the web browser for accessing or controlling a remote desktop of the remote machine,

translating, at the web server, the user input request into an input command compatible with the push protocol;

providing the input command to the remote machine utilizing the push protocol,

wherein the receiving the remote desktop drawing command comprises receiving the remote desktop drawing command in response to the input command.

12. A non-transitory machine-readable storage medium comprising instructions stored therein, the instructions executable by one or more processors to perform one or more operations, the instructions comprising:

code for causing one or more processors to receive a request from the web browser of the client device, the request being either a long polling drawing request or an input request, where an input request is a user input command and the long polling drawing request is a request to update an image of a remote desktop;

code for causing one or more processors to handle, at the web server, the request, where a long polling drawing request is handled as an asynchronous request and an input request is handled as a synchronous request;

code for causing one or more processors to receive a remote desktop drawing command from a module of a remote machine using a remote desktop display protocol, wherein the remote desktop drawing command is based on the image of a remote desktop of the remote machine;

code for causing one or more processors to translate the remote desktop drawing command into a display image and drawing coordinates for the display image;

code for causing one or more processors to place the drawing coordinates into a hypertext transfer protocol (HTTP) response header; and

code for causing one or more processors to provide the display image and the drawing coordinates together to the web browser in a single HTTP response to the request, for drawing the display image of the remote desktop at the web browser, wherein the single HTTP response comprises the HTTP response header,

wherein the remote desktop display protocol is a push protocol, and HTTP is a pull protocol.

13. The non-transitory machine-readable storage medium of claim 12 , wherein the code for causing one or more processors to translate is to be executed at a web server, wherein the web server comprises a windows web server, and wherein the code for causing one or more processors to translate comprises:

code for causing one or more processors to translate the remote desktop drawing command into a windows graphics drawing command;

code for causing one or more processors to update a portion of a memory bitmap of the remote desktop in response to the windows graphics drawing command;

code for causing one or more processors to generate coordinates for the updated portion of the memory bitmap from the windows graphics drawing command;

code for causing one or more processors to generate the display image compatible with the web browser based on the updated portion of the memory bitmap; and

code for causing one or more processors to obtain the drawing coordinates for the display image based on the coordinates for the updated portion of the memory bitmap,

wherein the display image and the drawing coordinates are compatible with hypertext markup language (HTML),

wherein the updated portion of the memory bitmap represents a portion of an image of the remote desktop of the remote machine,

wherein the display image and the drawing coordinates represent the portion of the image of the remote desktop of the remote machine.

14. The non-transitory machine-readable storage medium of claim 12 , wherein the remote desktop drawing command comprises coordinates of a region of the remote desktop that has changed relative to a previous remote desktop drawing command, wherein the coordinates specify a redrawing region, and wherein the display image and the drawing coordinates are compatible with windows graphic protocol and HTML5.

15. The non-transitory machine-readable storage medium of claim 12 , wherein the display image comprises at least one of a scaled image of the remote desktop or a display image comprising an offset image of the remote desktop.

16. A non-transitory machine-readable storage medium comprising instructions stored therein, the instructions executable by one or more processors to perform one or more operations, the instructions comprising:

code for causing one or more processors to receive a request from the web browser of the client device using HTTP, the request being either a long polling drawing request or an input request, using a hypertext transfer protocol (HTTP);

code for causing one or more processors to handle the request, where a long polling drawing request is handled as an asynchronous request and an input request is handled as a synchronous request;

code for causing one or more processors to receive a remote desktop drawing command from a module of a remote machine;

code for causing one or more processors to translate the remote desktop drawing command into a web browser drawing update, wherein the remote desktop drawing command is compatible with a push protocol, wherein the web browser drawing update is compatible with HTTP; and

code for causing one or more processors to provide the web browser drawing update to the web browser of the client device, utilizing HTTP, as a response to the request from the web browser.

17. The non-transitory machine-readable storage medium of claim 16 , wherein the code for causing one or more processors to handle comprises:

code for causing one or more processors to determine whether a drawing command is pending at a web server for the web browser;

if there is no pending drawing command, then code for causing one or more processors to store the request in a drawing requests queue as asynchronous requests; and

if there is a pending drawing command, then code for causing one or more processors to provide the request to an HTTP handler module in the web server to allow the HTTP handler module to serve the pending drawing command in response to the request.

18. The non-transitory machine-readable storage medium of claim 16 , wherein the remote desktop drawing command represents a portion of an image of a remote desktop of the remote machine,

wherein the code for causing one or more processors to translate comprises:

code for causing one or more processors to translate the remote desktop drawing command into a windows graphics drawing command;

code for causing one or more processors to update a portion of a memory bitmap of the image of the remote desktop in response to the windows graphics drawing command;

code for causing one or more processors to generate coordinates of the updated portion of the memory bitmap based on the windows graphics drawing command;

code for causing one or more processors to generate an image file based on the updated portion of the memory bitmap, wherein the image file is compatible with the web browser; and

code for causing one or more processors to obtain drawing coordinates for the image file based on the coordinates of the updated portion of the memory bitmap,

wherein the web browser drawing update comprises the image file and the drawing coordinates.

19. The non-transitory machine-readable storage medium of claim 17 , wherein the code for causing one or more processors to provide comprises:

code for causing one or more processors to place, at the HTTP handler module, the drawing coordinates into an HTTP header of a single HTTP transmission response to the web browser;

code for causing one or more processors to include, at the HTTP handler module, the image file into the single HTTP transmission response to the web browser to provide the image file and the drawing coordinates together to the web browser in the single HTTP transmission response; and

code for causing one or more processors to, when a drawing commands queue has new coordinates, send a notification to the drawing requests queue to allow at least one of the requests in the drawing requests queue to be forwarded to the HTTP handler module.

20. The non-transitory machine-readable storage medium of claim 16 , wherein the instructions comprise:

code for causing one or more processors to receive a connection request from the web browser to connect to the remote machine;

code for causing one or more processors to provide a client script code to the web browser in response to the connection request to connect to the remote machine,

wherein the code for causing one or more processors to receive the request comprises code for causing one or more processors to receive the request from the client script code,

wherein the code for causing one or more processors to provide the web browser drawing update comprises code for causing one or more processors to provide the web browser drawing update to the client script code; and

code for causing one or more processors to delete the client script code from the web browser when the remote desktop session is terminated.

21. The non-transitory machine-readable storage medium of claim 16 , wherein the instructions comprises:

code for causing one or more processors to receive, at a web server, a user input request from the web browser for accessing or controlling a remote desktop of the remote machine,

code for causing one or more processors to translate, at the web server, the user input request into an input command compatible with the push protocol;

code for causing one or more processors to provide the input command to the remote machine utilizing the push protocol,

wherein the code for causing one or more processors to receive the remote desktop drawing command comprises code for causing one or more processors to receive the remote desktop drawing command in response to the input command.

22. A computing machine comprising the machine-readable storage medium of claim 12 , wherein the computing machine is a web server.

23. An apparatus for a remote desktop session between a web browser of a client device and a remote machine through a web server, utilizing hypertext transfer protocol (HTTP) headers of HTTP for remote desktop session drawing, the apparatus comprising:

means for receiving a request from the web browser of the client device, the request being either a long polling drawing request or an input request, where an input request is a user input command and the long polling drawing request is a request to update an image of a remote desktop;

means for handling, at the web server, the request, where a long polling drawing request is handled as an asynchronous request and an input request is handled as a synchronous request;

means for receiving a remote desktop drawing command from the remote machine using a remote desktop display protocol, wherein the remote desktop drawing command is based on the image of a remote desktop of the remote machine;

means for translating the remote desktop drawing command into a display image and drawing coordinates for the display image;

means for placing the drawing coordinates into an HTTP response header; and

means for, in response to the request, providing the display image and the drawing coordinates together to the web browser in a single HTTP response, for drawing the display image of the remote desktop at the web browser, wherein the single HTTP response comprises the HTTP response header,

wherein (i) the remote desktop display protocol is a push protocol, and (ii) HTTP is a pull protocol, and (iii) the web browser comprises a windows web browser.

24. The apparatus of claim 23 , wherein the means for translating comprises:

means for translating the remote desktop drawing command into a windows graphics drawing command, wherein the web server comprises one or more web applications including one or more HTTP handlers;

means for updating a portion of a memory bitmap of the remote desktop in response to the windows graphics drawing command;

means for generating coordinates for the updated portion of the memory bitmap from the windows graphics drawing command;

means for generating the display image compatible with the web browser based on the updated portion of the memory bitmap; and

means for obtaining the drawing coordinates for the display image based on the coordinates for the updated portion of the memory bitmap,

wherein the display image and the drawing coordinates are compatible with HTML,

wherein the updated portion of the memory bitmap represents a portion of an image of the remote desktop of the remote machine,

wherein the display image and the drawing coordinates represent the portion of the image of the remote desktop of the remote machine.

25. The apparatus of claim 23 , wherein the remote desktop drawing command comprises coordinates of a region of the remote desktop that has changed relative to a previous remote desktop drawing command, wherein the coordinates specify a redrawing region, and wherein the display image and the drawing coordinates are compatible with windows graphic protocol and HTML5.

26. The apparatus of claim 23 , wherein the display image comprises at least one of a scaled image of the remote desktop or a display image comprising an offset image of the remote desktop.

27. The apparatus of claim 23 , wherein the web server is an intermediary between the remote machine and the client device, and wherein the web server is physically separate from the remote machine.

28. An apparatus for a remote desktop session between a web browser of a client device and a remote machine through a web server, utilizing asynchronous handling of requests to reduce traffic to the client device, the apparatus comprising:

means for receiving a request from the web browser of the client device using HTTP, the request being either a long polling drawing request or an input request;

means for handling the request, where a long polling drawing request is handled as an asynchronous request and an input request is handled as a synchronous request;

means for receiving a remote desktop drawing command from the remote machine;

means for translating the remote desktop drawing command into a web browser drawing update, wherein the remote desktop drawing command is compatible with a push protocol, wherein the web browser drawing update is compatible with HTTP; and

means for providing the web browser drawing update from the web server to the web browser of the client device, utilizing HTTP, as a response to the request from the web browser,

wherein the web server comprises a windows web server and the web browser is a windows web browser.

29. The apparatus of claim 28 , wherein the means for handling comprises:

means for determining whether a drawing command is pending at the web server for the web browser;

means for storing the request in a drawing requests queue as asynchronous requests, if there is no pending drawing command; and

means for providing the request to an HTTP handler module in the web server to allow the HTTP handler module to serve the pending drawing command

in response to the request, if there is a pending drawing command.

30. The apparatus of claim 28 , wherein the remote desktop drawing command represents a portion of an image of a remote desktop of the remote machine,

wherein the means for translating comprises:

means for translating the remote desktop drawing command into a windows graphics drawing command;

means for updating a portion of a memory bitmap of the image of the remote desktop in response to the windows graphics drawing command;

means for generating coordinates of the updated portion of the memory bitmap based on the windows graphics drawing command;

means for generating an image file based on the updated portion of the memory bitmap, wherein the image file is compatible with the web browser, wherein the image file includes a windows image file compatible with windows web browser; and

means for obtaining drawing coordinates for the image file based on the coordinates of the updated portion of the memory bitmap,

wherein the web browser drawing update comprises the image file and the drawing coordinates.

31. The apparatus of claim 28 , wherein the means for providing comprises:

means for placing the drawing coordinates into an HTTP header of a single HTTP transmission response to the web browser;

means for including the image file into the single HTTP transmission response to the web browser to provide the image file and the drawing coordinates together to the web browser in the single HTTP transmission response; and

means for sending a notification to the drawing requests queue to allow at least one of the requests in the drawing requests queue to be forwarded to the HTTP handler module, when a drawing commands queue has new coordinates.

32. The apparatus of claim 28 , comprising:

means for receiving a connection request from the web browser to connect to the remote machine;

means for providing a client script code to the web browser in response to the connection request to connect to the remote machine,

wherein the means for receiving the request comprises means for receiving the request from the client script code,

wherein the means for providing the web browser drawing update comprises means for providing the web browser drawing update to the client script code; and

means for deleting the client script code from the web browser when the remote desktop session is terminated.

33. The apparatus of claim 28 , comprising:

means for receiving a user input request from the web browser for accessing or controlling a remote desktop of the remote machine,

means for translating the user input request into an input command compatible with the push protocol;

means for providing the input command to the remote machine utilizing the push protocol,

wherein the means for receiving the remote desktop drawing command comprises means for receiving the remote desktop drawing command in response to the input command.

34. The apparatus of claim 28 , wherein the apparatus is the web server.

35. The apparatus of claim 28 , wherein the apparatus comprises a processing system and a memory.

Assignments (17)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2012
From: KOMINAC, STEVAN; STANLEY, JEREMY MICHAEL; SCHWEBKE, CURTIS
To: WYSE TECHNOLOGY INC.
Reel/Frame 029430/0639 →