×

Application marketplace for virtual desktops

  • US 10,313,345 B2
  • Filed: 03/11/2013
  • Issued: 06/04/2019
  • Est. Priority Date: 03/11/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method for accessing an application available from a data center of a program execution service, the method comprising:

  • providing, by a Program Execution Service (PES) to a user computing device associated with a user of the PES, access to an application marketplace for searching for an application to be executed by a virtual desktop instance, wherein the PES includes a plurality of data centers, each data center including one or more physical computing systems configurable to execute one or more virtual desktop instances, each virtual desktop instance associated with a computing environment that includes an operating system configurable to execute one or more applications, the PES further comprising a plurality of data center computer systems, each data center computer system comprising a memory and a processor;

    receiving, by a data center computer system through the application marketplace, a request from the user to access the application on the virtual desktop instance from the user computing device;

    determining, by the data center computer system, an entity associated with the user, the entity one of a plurality of separate entities with access to the PES, each of the plurality of separate entities associated with entity-specific resource placement rules specific to the entity;

    selecting, by the data center computer system, a resource placement rule from the entity-specific resource placement rules of the entity based at least in part on an identification of a user-group of the user, the user-group one of a plurality of user-groups determined by a role of the users included in the user-group, wherein different roles are associated with different resource placement rules within the entity-specific resource placement rules, wherein the resource placement rule specifies a maximum percentage of users from the user-group that are permitted to access computing resources on a first set of computing systems that share a physical computing resource, wherein additional users from the user-group access the computing resources on a second set of computing systems that do not share the physical computing resource reducing an amount of application down-time for the entity by managing distribution of the set of users among physical computing systems;

    accessing, by the data center computer system, metadata associated with the user computing device, the metadata comprising authorization information indicative of whether the user is authorized to access the application from the PES and whether the user is authorized to access the application on the user computing device;

    determining, by the data center computer system, based at least in part on the metadata and the resource placement rule, that the user is authorized to access the application on the user computing device;

    selecting, by the data center computer system, the first set of computing systems of the data center to host the virtual desktop instance, the first set of computing systems selected based at least in part on the resource placement rule and an amount of users accessing the data center;

    determining, by the data center computer system, that the maximum percentage of users from the user-group as specified in the resource placement rule are accessing the first set of computing systems, wherein users from other user-groups of the plurality of user-groups are permitted to access the computing resources on the first set of computing systems; and

    responsive to determining that the maximum percentage of users from the user-group are accessing the first set of computing systems, the method further comprises;

    selecting, by the data center computer system, the second set of computing systems of the data center to host the virtual desktop instance, the second computing system being accessed by less than the maximum percentage of users from the user-group;

    determining, by the data center computer system, that an existing virtual desktop instance hosted by the second set of computing systems does not exist to satisfy the user request;

    instantiating, by the data center computer system, the virtual desktop instance on a computing system from the second set of computing systems;

    configuring, by the data center computer system, the application to be executed from the virtual desktop instance on the second computing system of the data center;

    in response to receiving a command to execute the application, causing, by the data center computer system, the application to be executed from the virtual desktop instance on the computing system from the second set of computing systems; and

    providing, by the data center computer system, to the user computing device, access to at least a portion of the application from the virtual desktop instance on the computing system from the second set of computing systems.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×