Presentation of computing environment on multiple devices

US9769227B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9769227-B2
Application numberUS-201414495420-A
CountryUS
Kind codeB2
Filing dateSep 24, 2014
Priority dateSep 24, 2014
Publication dateSep 19, 2017
Grant dateSep 19, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A user may interact with a collection of devices that each exhibit particular device properties. Where each device executes and presents an isolated computing environment, inconsistencies may arise in the user interaction by the user with different devices. Alternatively, a terminal server may present a computing environment to various auxiliary devices, but such presentation may fail to utilize some device properties of some devices, and/or may present a computing environment that is not suitable for some devices. Instead, a primary device of the device collection may adapt a primary computing environment to an auxiliary computing environment for each auxiliary device, based upon its device properties. Upon receiving a request to execute an application, the primary device may execute the application within the auxiliary computing environment, and may adapt the application based upon the device properties. The primary device may stream each auxiliary computing environment to the respective auxiliary device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of configuring a primary device comprising a processor to present a primary computing environment to a user through a device collection, the method comprising: executing, on the processor, instructions that cause the primary device to, for an auxiliary device of the device collection: adapt the primary computing environment according to a set of device properties of the auxiliary device to generate an auxiliary computing environment for the auxiliary device, including a set of running applications executed on behalf of the auxiliary device; responsive to at least one request of a user, instantiate a first application and a second application within the auxiliary computing environment, wherein the first application and the second application are different applications: adapt the first application and the second application within the auxiliary computing environment according to the device properties of the auxiliary device; execute the first application and the second application on behalf of the auxiliary device; and add the first application and the second application to the set of running applications executed by the primary device on behalf of the auxiliary device; and stream a presentation of the auxiliary computing environment to the auxiliary device. 2. The method of claim 1 , wherein the auxiliary computing environment further comprises: a first auxiliary device comprising a first auxiliary computing environment; and a second auxiliary device comprising a second auxiliary computing environment, wherein the first auxiliary device is different than the second auxiliary device. 3. The method of claim 2 , wherein executing the instructions further causes the primary device to, responsive to receiving a request to substitute the second auxiliary computing environment for the first auxiliary computing environment of the first auxiliary device, presenting the second auxiliary computing environment on the first auxiliary device instead of the first computing environment. 4. The method of claim 2 , wherein adapting the selected application within the first auxiliary computing environment of the first auxiliary device further comprises: according to the device properties of the first auxiliary device and the second auxiliary device, partition the selected application into a first application portion to be presented within the first auxiliary computing environment of the first auxiliary device and a second application portion to be presented within the second auxiliary computing environment of the second auxiliary device; and streaming the presentation of the first auxiliary computing environment to the first auxiliary device including only the first application portion and excluding the second application portion. 5. The method of claim 4 , wherein executing the instructions on the processor further causes the primary device to, responsive to detecting an addition of a third auxiliary device to the device collection, repartition at least one application executing within an auxiliary computing environment of at least one auxiliary device to include the third auxiliary device. 6. The method of claim 2 , wherein executing the instructions on the processor further causes the primary device to, responsive to detecting a removal of the auxiliary device from the device collection, move at least a portion of an application presented within the first auxiliary computing environment of the first auxiliary device to the second auxiliary computing environment of the second auxiliary device. 7. The method of claim 2 , wherein: receiving the request to instantiate the selected application further comprises: responsive to receiving, from the user through the second auxiliary device, a request specifying the first auxiliary device for which to execute the selected application, execute the selected application within the first auxiliary computing environment of the first auxiliary device. 8. The method of claim 2 , wherein: the first auxiliary computing environment further comprises an instance of a first application; the second auxiliary computing environment further comprises an instance of a second application; and executing the instructions on the processor further causes the primary device to enable communication between the first application executing within the first auxiliary computing environment and the second application executing within the first auxiliary computing environment. 9. The method of claim 2 , wherein: the first auxiliary device further comprises an input component; the second auxiliary computing environment further comprises an instance of a second application; and executing the instructions on the processor further causes the primary device to, responsive to receiving a request from the user to bind the input component of the first auxiliary device to the second application executing within the second auxiliary computing environment of the second auxiliary device, bind the input component of the first auxiliary device to the second application. 10. The method of claim 9 , wherein: the first auxiliary device further comprises a first auxiliary computing environment sharing a layout boundary with the second auxiliary computing environment of the second auxiliary device; and the request received from the user further comprises a transition of the user input of the input component across the layout boundary between the first auxiliary computing environment and the second auxiliary computing environment. 11. The method of claim 1 , wherein: generating the auxiliary computing environment for the respective auxiliary devices further comprises: selecting, from an application set of the primary computing environment, an application subset for the auxiliary device; streaming the presentation of the auxiliary computing environment to the auxiliary device further comprises: presenting the application subset within the auxiliary computing environment to the auxiliary device; and receiving the request to instantiate the selected application further comprises: receiving a selection of the selected application from the application subset presented within the auxiliary computing environment. 12. The method of claim 11 , wherein receiving the request to instantiate the selected application further comprises: initially presenting the device collection to the user; responsive to receiving, from the user, a selection of a selected auxiliary device from the device collection, present the application subset for the auxiliary computing environment of the selected auxiliary device to the user; and receiving, from the user, a selection of the selected application from the application subset for the selected auxiliary device. 13. The method of claim 11 , wherein executing the instructions further causes the primary device to, responsive to receiving a request to present the application set within the auxiliary computing environment of the auxiliary device instead of the application subset, presenting the application set within the auxiliary computing environment of the auxiliary device instead of the application subset. 14. The method of claim 1 , wherein receiving the request to instantiate the selected application further comprises: responsive to receiving, from the user, a request to instantiate the selected application, where the request does not indicate a selected auxiliary device of the device collection: identifying, among the device collection, at least one candidate auxiliary device for which the device properties are compatible with the selected application; and selecting, from amo

Assignees

Inventors

Classifications

  • G06F9/452Primary

    Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · CPC title

  • G06F9/54Primary

    Interprogram communication · CPC title

  • Arrangements for executing specific programs · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · CPC title

  • Remote execution · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9769227B2 cover?
A user may interact with a collection of devices that each exhibit particular device properties. Where each device executes and presents an isolated computing environment, inconsistencies may arise in the user interaction by the user with different devices. Alternatively, a terminal server may present a computing environment to various auxiliary devices, but such presentation may fail to utiliz…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/452. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 19 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).