Remote control of an application using dynamic-linked library (DLL) injection
First Claim
1. A method of providing remote access to an application, comprising:
- launching a server remote access application on a processor of a server computing device, the server remote access application being provided to proxy communication between the application and a client remote access application;
establishing a first connection between the server remote access application and a connect application;
passing arguments to the connect application that injects a remoting dynamic-linked library (remoting DLL) into an address space of the application;
closing the first connection with the connect application when the remoting DLL is injected into the application;
establishing a second communication connection between the server remote access application and the remoting DLL such that the server remote access application provides remote access to the application by communicating with the client remote access application; and
communicating a state model during a remote access session between the server remote access application and the client remote access application, the state model providing additional functionalities during the remote access session that do not directly involve the application.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for providing remote access to an application using Dynamic-Linked Library (DLL) injection. A server remote access application executes a connect application that receives an identifier of the application as an argument. The application may be a game, etc., to which remote access is provided to one or more client devices. The connect application injects a Remoting DLL into the address space of the application, where the Remoting DLL provides a mechanism to communicate with a server remote access application. The server remote access application establishes a communications session between a client application on the client device and the application. Instructions directed by the application to the client application are captured by the Remoting DLL and provided to server remote access application. Similarly, inputs from the client device are communicated to the server remote access application and captured by the Remoting DLL, and then communicated to the application.
184 Citations
20 Claims
-
1. A method of providing remote access to an application, comprising:
-
launching a server remote access application on a processor of a server computing device, the server remote access application being provided to proxy communication between the application and a client remote access application; establishing a first connection between the server remote access application and a connect application; passing arguments to the connect application that injects a remoting dynamic-linked library (remoting DLL) into an address space of the application; closing the first connection with the connect application when the remoting DLL is injected into the application; establishing a second communication connection between the server remote access application and the remoting DLL such that the server remote access application provides remote access to the application by communicating with the client remote access application; and communicating a state model during a remote access session between the server remote access application and the client remote access application, the state model providing additional functionalities during the remote access session that do not directly involve the application. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of communicating rendering and/or audio information from a server-based application to the client computing device operating in a tiered infrastructure having a client tier, a server tier and an application tier, the method comprising:
-
executing a server remote access application within the server tier, the server remote access application being a proxy to communicate data between the application tier and the client tier; establishing a first connection between the server remote access application and a connect application in the application tier; passing arguments to the connect application that injects a remoting dynamic-linked library (remoting DLL) into an address space of the server-based application in the application tier; closing the first connection with the connect application when the remoting DLL is injected into the server-based application in the application tier; and establishing a second communication connection between the server remote access application and the remoting DLL; generating data at the server-based application executing on a processor of a computing device executing in the application tier; capturing the data using a Remoting DLL executing on the computing device in the application tier; relaying the data using the Remoting DLL to the server remote access application; formatting the data at the server remote access application; communicating the data from the remote access application to a client remote access application executing in the client tier; and communicating a state model from the server remote access application to client tier to provide additional functionalities that do not directly involve the server-based application during a remote access session between the client tier and the application tier. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium containing computer executable instructions that when executed by a processor of a computing device cause the processor to perform a method of providing remote access to an application, comprising:
-
launching a server remote access application on a processor of a server computing device, the server remote access application being provided to proxy communication between the application and a client remote access application; establishing a first connection between the server remote access application and a connect application; passing arguments to the connect application that injects a remoting dynamic-linked library (remoting DLL) into an address space of the application; closing the first connection with the connect application when the remoting DLL is injected into the application; establishing a second communication connection between the server remote access application—
and the remoting DLL such that the server remote access application provides remote access to the application by communicating with the client remote access application; andcommunicating a state model during a remote access session between the server remote access application and the client remote access application, the state model providing additional functionalities during the remote access session that do not directly involve the application. - View Dependent Claims (18, 19, 20)
-
Specification