US2012173755A1PendingUtilityA1

Multi-User Display Proxy Server

Assignee: MARGULIS NEAL DPriority: Nov 30, 2005Filed: Jan 13, 2012Published: Jul 5, 2012
Est. expiryNov 30, 2025(expired)· nominal 20-yr term from priority
Inventors:Neal Margulis
G09G 5/003H04L 67/10G06F 3/14G06F 15/173G06F 13/00G06F 15/16
55
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A multi-user host computer system comprises processor blades combined with terminal services blades to provide acceleration and proxy server functions for supporting a variety of remote terminals. For each remote terminal, the terminal services blade and proxy server functions may improve the video and graphics performance. This allows the multi-user host computer system to more efficiently support multiple users. The terminal services blade 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. The terminal services processor also offloads and optimizes video data streams for the intended remote terminals and their respective network connections. Processor blades may include a baseboard management controller that utilizes advanced features for supporting remote KVM administration.

Claims

exact text as granted — not AI-modified
1 . A method of transmitting data to remote computers, comprising:
 dividing video frames into subframes;   determining which subframes have been modified; and   for only the modified subframes:
 determining a type of content contained in the modified subframes and selecting an encoding algorithm based on characteristic indicators of content within the subframes; 
 determining a size for each of the modified subframes during run-time as a multiple of a minimum pixel block size of the encoding algorithm; 
   encoding the modified subframes using the encoding algorithm; and   transmitting encoded subframes to corresponding remote computers.   
     
     
         2 . The method of  claim 1 , further comprising tracking the subframes to determine which subframes have been modified. 
     
     
         3 . The method of  claim 2 , wherein the tracking comprises generating signatures corresponding to the modified sub frames. 
     
     
         4 . The method of  claim 2 , wherein the tracking comprises performing signature checks for the modified sub frames. 
     
     
         5 . The method of  claim 2 , wherein the tracking comprises updating status bits to indicate that a subframe requires selective updating. 
     
     
         6 . The method of  claim 1 , further comprising communicating with one or more host CPUs running one or more virtual machines configured to request graphics operations, locally manage the multiple virtual machine graphics requests, utilize the virtual machine graphics requests to produce virtual displays for requesting virtual machines, and transmit encoded updates of the virtual displays over a network to remote computers. 
     
     
         7 . The method of  claim 6 , further comprising responding to commands and requests from the virtual machines via a virtualization abstraction layer including graphics drivers corresponding to operating systems executing on the virtual machines. 
     
     
         8 . The method of  claim 6 , further comprising communicating with said one or more host CPUs in one of:
 an operating system virtual machine mode to perform operating system functions of said graphics processing operations, and   a protected management virtual machine mode which is isolated from said operating system virtual machine mode, said protected management virtual machine mode being configured to manage some of the update functions for the remote computers.   
     
     
         9 . A computing system comprising:
 a computing device comprising at least one processor;   a memory communicatively coupled to said processor when said system is operational; said memory having stored therein computer instructions that upon execution by the at least one processor cause:   dividing video frames into subframes;   determining which subframes have been modified; and   for only the modified subframes:
 determining a type of content contained in the modified subframes and selecting an encoding algorithm based on characteristic indicators of content within the subframes; 
 determining a size for each of the modified subframes during run-time as a multiple of a minimum pixel block size of the encoding algorithm; 
   encoding the modified subframes using the encoding algorithm; and   transmitting encoded subframes to corresponding remote computers.   
     
     
         10 . The system of  claim 9 , further comprising computer instructions that upon execution by the at least one processor cause tracking the subframes to determine which subframes have been modified. 
     
     
         11 . The system of  claim 10 , wherein the tracking comprises generating signatures corresponding to the modified sub frames. 
     
     
         12 . The system of  claim 10 , wherein the tracking comprises performing signature checks for the modified sub frames. 
     
     
         13 . The system of  claim 10 , wherein the tracking comprises updating status bits to indicate that a subframe requires selective updating. 
     
     
         14 . The system of  claim 9 , further comprising computer instructions that upon execution by the at least one processor cause communicating with one or more host CPUs running one or more virtual machines configured to request graphics operations, locally manage the multiple virtual machine graphics requests, utilize the virtual machine graphics requests to produce virtual displays for requesting virtual machines, and transmit encoded updates of the virtual displays over a network to remote computers. 
     
     
         15 . The system of  claim 14 , further comprising computer instructions that upon execution by the at least one processor cause responding to commands and requests from the virtual machines via a virtualization abstraction layer including graphics drivers corresponding to operating systems executing on the virtual machines. 
     
     
         16 . The system of  claim 14 , further comprising computer instructions that upon execution by the at least one processor cause communicating with said one or more host CPUs in one of:
 an operating system virtual machine mode to perform operating system functions of said graphics processing operations, and   a protected management virtual machine mode which is isolated from said operating system virtual machine mode, said protected management virtual machine mode being configured to manage some of the update functions for the remote computers.   
     
     
         17 . A computer-readable storage medium comprising computer-executable instructions for executing processes across multiple execution environments, the computer-executable instructions comprising instructions for:
 dividing video frames into subframes;   determining which subframes have been modified; and   for only the modified subframes:
 determining a type of content contained in the modified subframes and selecting an encoding algorithm based on characteristic indicators of content within the subframes; 
 determining a size for each of the modified subframes during run-time as a multiple of a minimum pixel block size of the encoding algorithm; 
   encoding the modified subframes using the encoding algorithm; and   transmitting encoded subframes to corresponding remote computers.   
     
     
         18 . The computer-readable storage medium of  claim 17 , further comprising instructions for tracking the subframes to determine which subframes have been modified. 
     
     
         19 . The computer-readable storage medium of  claim 18 , wherein the tracking comprises generating signatures corresponding to the modified sub frames, performing signature checks for the modified sub frames, and updating status bits to indicate that a subframe requires selective updating. 
     
     
         20 . The computer-readable storage medium of  claim 17 , further comprising instructions for communicating with one or more host CPUs running one or more virtual machines configured to request graphics operations, locally manage the multiple virtual machine graphics requests, utilize the virtual machine graphics requests to produce virtual displays for requesting virtual machines, and transmit encoded updates of the virtual displays over a network to remote computers.

Join the waitlist — get patent alerts

Track US2012173755A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.