USER-MODE BASED REMOTE DESKTOP PROTOCOL (RDP) ENCODING ARCHITECTURE
First Claim
1. A method for encoding graphics data in the user-mode address space of a computer, comprising:
- sending graphics data corresponding to a request from a client from a user application executing in user-mode session space to a display driver executing in kernel mode;
sending the graphics data to a remote desktop protocol (RDP) encoder processes executing in user-mode system space; and
sending the graphics data from the RDP encoder processes to the client over a communications network.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for a user-mode based remote desktop protocol (RDP) encoding architecture. A user mode desktop application and user mode virtual channel application run in user-mode session space. Virtual channel data from the virtual channel application is marshaled and sent to a RDP encoder process in user-mode system space. There it is converted to RDP protocol data units (PDU) and sent to a remote client across a communications network. Graphics data from the desktop application is sent to a display driver in kernel-mode session space and then to a graphics reflector that marshals the graphics data and sends it to the RDP encoder for a similar transformation.
34 Citations
20 Claims
-
1. A method for encoding graphics data in the user-mode address space of a computer, comprising:
-
sending graphics data corresponding to a request from a client from a user application executing in user-mode session space to a display driver executing in kernel mode; sending the graphics data to a remote desktop protocol (RDP) encoder processes executing in user-mode system space; and sending the graphics data from the RDP encoder processes to the client over a communications network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for encoding graphics data in the user-mode address space of a computer, comprising:
-
a processor; a display driver executing in kernel-mode space configured to receive graphics data from a user application executing in user-mode session space; and a remote desktop protocol (RDP) encoder executing in user-mode system space process configured to receive the graphics data from the display driver, encode the graphics data, and transmit the encoded graphics data across a communications network to a client that corresponds to the graphics data. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer-readable storage medium comprising computer-readable instructions for encoding graphics data in the user-mode address space of a computer that when executed on a processor perform operations comprising:
-
sending graphics data corresponding to a request from a client from a user application executing in user-mode session space to a display driver executing in kernel mode; converting the graphics data by the display driver into at least one graphics command in a format understandable by a RDP encoder process; marshaling each PDU; sending each marshaled PDU across a graphics reflector, the graphics reflector comprising shared memory, to the RDP encoder processes executing in user-mode system space; unmarshaling each PDU; compressing, by the RDP encoder process, each PDU; sending each compressed PDU from the RDP encoder processes to the client over a communications network; marshaling virtual channel data corresponding to a request from the client from a virtual channel application executing in user-mode session space; sending the marshaled virtual channel data to the RDP encoder process across a virtual channel reflector, the virtual channel reflector comprising a named pipe; unmarshaling the virtual channel data; converting the virtual channel data into at least one virtual channel RDP PDU; compressing each virtual channel RDP PDU; and sending each compressed virtual channel RDP PDU from the RDP encoder processes to the client over a communications network. - View Dependent Claims (20)
-
Specification