Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
07/26/07 - USPTO Class 709 |  27 views | #20070174410 | Prev - Next | About this Page  709 rss/xml feed  monitor keywords

Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment

USPTO Application #: 20070174410
Title: Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment
Abstract: A system for incorporating remote windows from remote desktop environments into a local desktop environment comprises a first virtual channel coupled to a remote desktop environment provided by a virtual machine, a second virtual channel coupled to the remote desktop environment, and a local agent coupled to the remote desktop environment via the first and second virtual channels. The first virtual channel conveys graphical data associated with a remote window provided by the remote desktop environment. The second virtual channel conveys window attribute data associated with the remote window provided by the remote desktop environments. The local agent directs the formation of a local window in the local desktop environment corresponding to the remote window provided by the remote desktop environment, the first local window displaying the graphical data conveyed by the first virtual channel in accordance with the window attribute data conveyed by the second virtual channel. (end of abstract)



Agent: Choate, Hall & Stewart LLP - Boston, MA, US
Inventors: Richard Jason Croft, Anthony Edward Low, Richard James Mazzaferri, David Neil Robinson, Bradley J. Pedersen
USPTO Applicaton #: 20070174410 - Class: 709208 (USPTO)

Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment description/claims


The Patent Description & Claims data below is from USPTO Patent Application 20070174410, Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment.

Brief Patent Description - Full Patent Description - Patent Application Claims
  monitor keywords

RELATED APPLICATIONS

[0001]The present application claims priority to U.S. Provisional Patent Application Ser. No. 60/761,674, entitled "Methods and Systems for Providing Access to a Computing Environment," filed Jan. 24, 2006, which is incorporated herein by reference.

FIELD OF THE INVENTION

[0002]The invention generally relates to providing access to computing environments. More particularly, the invention relates to methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment.

BACKGROUND INFORMATION

[0003]Contemporary computer networks are characterized in that a number of computer systems communicate with other computer systems via communication links. Typically, some of the systems are client machines and other systems are server machines. A server machine may host a variety of application programs, execution of which may be requested by client machines. In some environments, a user of a client machine may view application-output data from multiple sources. These sources can include applications executing on a client machine, either in a browser or outside of the browser, applications executing on a server machine, or applications executing on a virtual machine that executes on a server machine.

[0004]Combining output data from various sources into a single display presents several challenges. Early attempts were made to cause server-based applications to write directly into local windows. Although this method can display application output from various servers on a single display, it lacks the ability to arrange the windows on the client responsive to the z-axis ordering of the windows at each individual server. Thus, if a server brings a new window to the top of its desktop, no corresponding change appears to the user at the client.

[0005]It would be desirable to provide a system capable of combining various sources of data into a single display without modification of the applications generating the output data, including enabling the deployment of legacy applications in various execution environments.

SUMMARY OF THE INVENTION

[0006]In one aspect, problems of current desktop deployment strategies are addressed. An array of inexpensive physical machines may be partitioned into multiple virtual machines, creating a virtual PC for each user. The physical machines may be servers such as rack-mount servers, blade servers, or stand-alone servers. The physical machines may also be workstations or workstation blades or personal computers. A policy-based dynamic deployment system provisions the virtual machines and associates the virtual machine with an execution machine (i.e., a physical machine) and a user. Centralized hosting provides the manageability of server-based computing while the dedicated environment provides the flexibility and compatibility with applications that a desktop PC enables. However, the system has a much lower total cost of ownership--because the system is implemented in software, rather than being dependent on hardware, the system has a much lower total cost of ownership.

[0007]In another aspect, the hardware lifecycle may be extended by increasing the amount of hardware resources assigned to virtual machines as computational demands increase over time. Additionally, the use of virtualization eases the difficulty in dealing with multiple OS images.

[0008]In one embodiment, machines are configured to run multiple copies of one or more operating systems (e.g. different versions/releases of WINDOWS from Microsoft Corporation). Users transmit requests for access to computing resources to the deployment system, which may use a configuration policy to decide how (with what physical and/or virtual resources) and where (on which physical machine in the machine farm and on which virtual machine) to provide access to the requested computing resource. The virtual machine can be created on demand, and the requested software resource may be downloaded and installed in the virtual machine as required. Alternatively, the virtual machine may be pre-configured with a plurality of software and/or virtual hardware resources to provide a particular computing environment to the user. The user request is directed to the selected, configured virtual machine and a remote display connection is established between the virtual machine and a remote display client on the user's access device, which will be referred to generally as a "client machine." Devices such as CD-ROM drives, floppy drives, USB drives and other similar devices that are connected to the client machine are connected and remotely accessible to the virtual machine, thereby allowing the use of these devices in a manner similar to a standard desktop computer.

[0009]A deployment system may manage a pool of virtual machines (a machine farm) to which new virtual machines can be added on demand. Alternatively, a plurality of software modules, including a session management component and a virtual machine management component may provide management functionality. Executing virtual machines may be migrated from one physical machine to another, under control of the deployment system, to provide load balancing or to facilitate hardware maintenance. Inactive virtual machines may be suspended to free physical computing resources. Active virtual machines may be migrated from one physical machine to another to consolidate them onto a smaller number of physical machines to allow the unused physical machines to be shutdown to save power during off-peak periods or to free the physical resource to be re-assigned for a different purpose e.g. process web requests. Suspended virtual machines may be resumed prior to users requiring access. This can be done manually or automatically via policies or preferences or through a learning process by monitoring a user's behavior over time.

[0010]Performance requirements of the requested resource may be considered when allocating computing resources to virtual machines. For example, a financial analysis package may require twice as many CPU resources as a generic productivity application, such as those included in MICROSOFT OFFICE, manufactured by Microsoft Corporation of Redmond, Wash. A virtual machine providing the financial analysis package may execute on a physical machine determined to have sufficient spare computational capacity, or existing virtual machines may be relocated to other available physical machines to ensure sufficient available capacity on a particular physical machine.

[0011]Each user is provided a separate virtual machine environment, which provides increased flexibility in that each user may run any version or configuration of an operating system independently of other users and also allows users to run potentially dangerous or destabilizing applications with little risk of affecting other users. This is particularly useful for developers/testers/information technology personnel who frequently need to re-install and modify the operating system and run potentially destabilizing applications.

[0012]Since sharing computing resources and CPU scheduling occurs outside of the virtual machine environment, users can run computing-resource intensive resources with no risk of affecting other users. Virtual machines also provide increased security isolation between users. Because each user is running a separate copy of the OS, there is much less chance of security breaches and virus infections over the between-users boundaries than in the shared OS case.

[0013]A solution is also provided for problems that arise from a situation where, in a hardware-based system of machines, the hardware is mixed, whether due to an initial purchasing decision or due to the acquisition of different types of physical machines over time. Even if initially all of the hardware was uniform, purchasing additional hardware to replace failing modules and increasing the capacity typically leads to non-uniform hardware throughout a machine farm. Even if all hardware is purchased from the same vendor, it is likely that the hardware purchased later will use different chipsets and components, and will require different drivers. Non-uniform hardware has traditionally translated into the need to maintain multiple versions of the operating system images (which means higher costs) and limits flexibility of moving users between machines--because the operating system image may be incompatible--which also translates into higher cost. Virtual machines allow efficient use of the same operating system image even in a hardware farm that includes heterogeneous machines. The use of the same operating system image helps to significantly reduce the management cost.

[0014]Adding remote display capability (e.g. presentation layer protocols, such as ICA, RDP, or X11) to virtualization techniques allows virtualization to be used for interactive computing. Hosting multiple virtual machines on an execution machine allows better utilization of the available physical computing resources (e.g.: space, power, processing power, processing capacity, RAM, bandwidth, etc.) thereby lowering costs. The use of virtualization also allows hardware to be updated and maintained independently of OS version and specific device drivers hosted in the operating systems or virtual machines. Additionally, virtual machines enhance system security by isolating computing environments from each other.

[0015]In still another aspect, a system for incorporating remote windows from disparate remote desktop environments into a local desktop environment comprises a first virtual channel coupled to a first remote desktop environment provided by a native operating system, a second virtual channel coupled to the first remote desktop environment, a third virtual coupled to a second remote desktop environment provided by a virtual machine, a fourth virtual channel coupled to the second remote desktop environment, and a local agent coupled to the remote desktop environments via the first, second, third and fourth virtual channels. The first virtual channel conveys graphical data associated with a remote window provided by the first remote desktop environment. The second virtual channel conveys window attribute data associated with the remote window provided by the first remote desktop environment. The third virtual channel conveys graphical data associated with a remote window provided by the second remote desktop environment. The fourth virtual channel conveys window attribute data associated with the remote window provided by the second remote desktop environment. The local agent directs the formation of a first local window in the local desktop environment corresponding to the remote window provided by the first remote desktop environment and the formation of a second local window in the local desktop environment corresponding to the remote window provided by the second remote desktop environment, the first local window displaying the graphical data conveyed by the first virtual channel in accordance with the window attribute data conveyed by the second virtual channel and the second local window displaying the graphical data conveyed by the third virtual channel in accordance with the window attribute data conveyed by the fourth virtual channel.

[0016]In one embodiment, the local agent forms and maintains a combined windows list representing a modifiable z-order of a window in the local desktop environment. In another embodiment, the window attribute data associated with the remote windows and conveyed by the second and fourth virtual channels includes the size and z-order of the remote windows. In still another embodiment, a local operating system forms the local desktop environment. In yet another aspect, the local agent detects an attribute change in one of the first local window and the second local window, wherein the local agent transmits a message to one of the first remote desktop environment and the second remote desktop environment indicative of the attribute change.

[0017]In yet another aspect, a method of incorporating remote windows from disparate remote desktop environments into a local desktop environment includes the step of receiving graphical data associated with a remote window provided by a first remote desktop environment provided by a native operating system, the graphical data received via a first virtual channel coupled to the first remote desktop environment. Window attribute data associated with the remote window provided by the first remote desktop environment is received via a second virtual channel coupled to the first remote desktop environment. Graphical data associated with a remote window provided by a second remote desktop environment provided by a virtual machine is received, the graphical data received via a third virtual channel coupled to the second remote desktop environment. Window attribute data associated with the second remote window provided by the second remote desktop environment is received via a fourth virtual channel coupled to the second remote desktop environment. A first window displaying the graphical data received from the first virtual channel in accordance with the window attribute data received from the second virtual channel is formed in the local desktop environment. A second window is formed in the local desktop environment, the second window displaying the graphical data received from the third virtual channel in accordance with the window attribute data received from the fourth virtual channel.

[0018]In one embodiment, a combined windows list storing at least some of the window attribute data is formed. In another embodiment, an attribute change in one of the first local window and the second local window is detected and a message is transmitted to one of the first remote desktop environment and the second desktop environment indicative of the detected attribute change. In another embodiment, the local windows exhibit window attribute data substantially similar relative to the local desktop environment as the window attribute data of the remote windows relative to the remote desktop environments.

[0019]In one aspect, a system for incorporating remote windows from remote desktop environments into a local desktop environment comprises a first virtual channel coupled to a remote desktop environment provided by a virtual machine, a second virtual channel coupled to the remote desktop environment, and a local agent coupled to the remote desktop environment via the first and second virtual channels. The first virtual channel conveys graphical data associated with a remote window provided by the remote desktop environment. The second virtual channel conveys window attribute data associated with the remote window provided by the remote desktop environment. The local agent directs the formation of a local window in the local desktop environment corresponding to the remote window provided by the remote desktop environment, the first local window displaying the graphical data conveyed by the first virtual channel in accordance with the window attribute data conveyed by the second virtual channel.

[0020]In one embodiment, the local agent forms and maintains a combined windows list representing a modifiable z-order of the corresponding window in the local desktop environment. In another embodiment, the window attribute data associated with the remote windows and conveyed by the second virtual channel includes the size and z-order of the remote window. In still another embodiment, a local operating system forms the local desktop environment, the local agent periodically polling the local operating system to detect an attribute change in the local window, wherein the local agent transmits a message to the remote desktop environment indicative of the attribute change. In yet another embodiment, the corresponding windows exhibit window attribute data substantially similar relative to the local desktop environment as the window attribute data of the remote window relative to the remote desktop environment.

Continue reading about Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment...
Full patent description for Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment

Brief Patent Description - Full Patent Description - Patent Application Claims

Click on the above for other options relating to this Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment patent application.

Patent Applications in related categories:

20090300132 - Computer operation system and computer operation method - One operation unit is connected to plural personal computers via a network. The operation unit operates the personal computers on the basis of the IP address of each of the personal computers. ...

20090300131 - Simultaneous remote and local control of computer desktop - A method for computing includes running a desktop sharing program on a local computer so as to permit a remote user to view, on a remote computer, which is connected to communicate with the local computer via a network, an image of an entire area of a display screen of ...


###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment or other areas of interest.
###


Previous Patent Application:
Techniques for attesting to content
Next Patent Application:
Dynamic network fusion in wireless ad-hoc networks
Industry Class:
Electrical computers and digital processing systems: multicomputer data transferring or plural processor synchronization

###

FreshPatents.com Support
Thank you for viewing the Methods and systems for incorporating remote windows from disparate remote desktop environments into a local desktop environment patent info.
IP-related news and info


Results in 1.20219 seconds


Other interesting Feshpatents.com categories:
Qualcomm , Schering-Plough , Schlumberger , Seagate , Siemens , Texas Instruments , 174
filepatents (1K)

* Protect your Inventions
* US Patent Office filing
patentexpress PATENT INFO