PROVIDING REMOTE ACCESS TO APPLICATIONS THROUGH INTERFACE HOOKS
First Claim
1. A method comprising:
- initiating, by a host device, an instance of an application in a remote access mode by;
assigning a port to the instance of the application, andhooking one or more application programming interfaces (APIs) associated with the instance of the application;
receiving, by the host device, user input from a remote client through the port;
providing, by the host device, the user input to the instance of the application using the one or more APIs; and
sending, by the host device, output to the remote client, wherein the output includes an application window associated with the instance of the application.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer-readable media for providing remote access to applications executing on a host device are presented. Aspects described herein may enable a host device to provide remote access to applications executing in a user session by hooking one or more APIs (or other interfaces) associated with an application instance and a window composition module. Dynamically assigned ports may be generated and used to allow a client device to provide remote user input to an application instance operating in a remote access mode. One or more APIs associated with the application instance may be hooked to provide the remote user input to an input queue of the application instance, bypassing an operating system input queue in some embodiments. APIs associated with the application instance and the window composition module may be hooked to allow the host device to recognize window textures generated by the application instance. These recognized window textures may be sent to the remote client device. As a result, according to some aspects, a host device may enable remote access to the application instance by providing remote input to the application instance and forwarding output from the application instance to the remote client device. These and other features will be discussed further herein.
-
Citations
20 Claims
-
1. A method comprising:
-
initiating, by a host device, an instance of an application in a remote access mode by; assigning a port to the instance of the application, and hooking one or more application programming interfaces (APIs) associated with the instance of the application; receiving, by the host device, user input from a remote client through the port; providing, by the host device, the user input to the instance of the application using the one or more APIs; and sending, by the host device, output to the remote client, wherein the output includes an application window associated with the instance of the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory computer-readable media having computer-executable instructions stored thereon that, when executed, cause at least one computing device to perform steps comprising:
-
initiating, by a host device, an instance of an application in a remote access mode by hooking one or more application programming interfaces (APIs), wherein the one or more APIs are associated with the instance of the application and a window composition module; providing, by the host device, user input received from a remote client to the instance of the application; identifying, by the host device, an application window associated with the instance of the application using the one or more APIs; extracting the application window as image data from the window composition module; and sending output to the remote client, wherein the output includes the extracted application window. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A system comprising:
-
a processor; and memory storing computer-readable instructions that, when executed by the processor, cause the system to; initiate an instance of an application for remote access by assigning a port to the instance of the application and hooking one or more application programming interfaces (APIs) provided by the instance of the application or a window composition module; receive user input from a remote client through the port; provide the user input to the instance of the application using the hooked one or more APIs; identify an application window associated with the instance of the application using the hooked one or more APIs extract the application window as an image from the window composition module; and send output to the remote client, wherein the output includes the extracted application window. - View Dependent Claims (19, 20)
-
Specification