Multi-user terminal services accelerator
First Claim
1. A host computer system capable of supporting multiple remote terminals, comprising:
- a graphics and display subsystem having a display memory which can store display frames for multiple terminals;
one or more drawing engines for generating display frames which may each correspond to a display frame at a remote terminal; and
means for tracking modified sub frames of display frames and for performing selective updates from the display memory based on this tracking;
means for connecting said graphics and display subsystem to a host CPU in said host computer system; and
means for managing the selective updates from the display memory so that only the selective updates will be transferred via a network subsystem to corresponding ones of said remote terminals.
4 Assignments
0 Petitions
Accused Products
Abstract
A multi-user host computer system comprises a host computer that processes applications and the desktop environments for multiple remote terminals. The host computer includes a terminal services offload processor to supplement the processing of the host CPU. For each remote terminal, the terminal services offload processor may improve the video and graphics performance and allow the multi-user host computer system to more efficiently support multiple users. The host computer may include a graphics processor that manages a virtual display for each remote terminal and provides selective updates of sub frame data. Where appropriate, the sub frame data is encoded and transmitted over the network to the remote terminals. Video data streams are also optimized by the terminal services offload processor and optimized for the intended remote terminals and their respective network connections. The terminal services offload processor may be implemented in programmable hardware and may be a separate subsystem or may also be used to perform other offload tasks.
-
Citations
20 Claims
-
1. A host computer system capable of supporting multiple remote terminals, comprising:
-
a graphics and display subsystem having a display memory which can store display frames for multiple terminals;
one or more drawing engines for generating display frames which may each correspond to a display frame at a remote terminal; and
means for tracking modified sub frames of display frames and for performing selective updates from the display memory based on this tracking;
means for connecting said graphics and display subsystem to a host CPU in said host computer system; and
means for managing the selective updates from the display memory so that only the selective updates will be transferred via a network subsystem to corresponding ones of said remote terminals. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A host computer system capable of supporting multiple remote terminals, comprising:
-
a host CPU connected via a system bus to other subsystems within said host computer system;
an offload subsystem for managing said remote terminals, having means to intercept graphics commands or video data on said bus from being processed by said host CPU; and
means to encode, transcode or otherwise process said intercepted graphics commands or video data; and
means to manage said intercepted and processed graphics commands or video data for transfer via a network subsystem to corresponding ones of said remote terminals. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for operating a multi-user host system having multiple remote terminals, comprising the steps of:
-
using a host computer that includes software, a main CPU and an offload engine to assist the CPU in processing graphics commands or video data;
processing said video data by changing bit rate, changing resolution, changing frame rate or changing encoding algorithm;
processing said graphics commands by encapsulating and encoding data associated with the graphics commands;
determining which of said remote terminals is the destination for said processed graphics commands or said processed video data; and
propagating said processed graphics commands or processed video data according to network protocol techniques through a network interface. - View Dependent Claims (18, 19, 20)
-
Specification