Abstract:
A service provider system may include an application fulfillment platform that delivers desktop applications to end users (e.g., to physical computing devices or virtual desktop instances). An application delivery agent installed on an end user's device may send requests to access platform control plane services on behalf of the agent or the end user (along with security credentials) and may retrieve messages directed to the device from a queue on the platform. Messages may be placed in the queue by control plane services in response to agent requests. Messages may include instructions for the agent to perform installing, uninstalling, updating, or reinstalling a virtualized desktop application package on the device. The agent may request and retrieve (from the queue) information about the intended (or assumed) installation state of applications on the device, compare it to locally stored information about the actual state, and initiate corrective action, if needed.
Abstract:
A computing system providing virtual computing services may generate and manage remote computing sessions between client devices and virtual desktop instances (workspaces) hosted on the service provider's network. The system may implement a virtual private cloud for a workspaces service that extends out to gateway components in multiple, geographically distributed point of presence (POP) locations. In response to a client request for a virtual desktop session, the service may configure a virtual computing resource instance for the session and establish a secure, reliable, low latency communication channel (over a virtual private network) between the resource instance and a gateway component at a POP location near the client for communication of a two-way interactive video stream for the session. The availability zone containing the POP location may be different than one hosting the resource instance for the session. Client devices may connect to the gateway component over a public network.
Abstract:
A service provider system may implement an enterprise catalog service that manages catalogs or portfolios of software products (e.g., desktop applications and server products) on behalf of service provider customer organizations. Through the enterprise catalog service, an administrator in a customer organization may discover, select, and ingest products (e.g., based on their features, pricing, and terms), and may add them to catalogs or portfolios for subsequent use by end users in the organization. The administrator may apply constraints on product use and limit product access to particular end users. The products may include third party products that are made available through the enterprise catalog service and a customer's own applications. The enterprise catalog service may monitor usage of third party products and bill the customer organization. Products managed by the enterprise catalog service may be deployed through an application fulfillment platform or resource stack management platform.
Abstract:
Methods, systems, and computer-readable media for application streaming using access and execution environments are disclosed. User input comprising a selection of an application by a user is received. The user input is received at an access environment from a computing device associated with a client. The access environment permits access by the user, and the access environment is associated with an execution environment for the application. The execution environment specifies a computing resource description for the application. Execution of the application is initiated using one or more computing resources compatible with the computing resource description. A pixel display is streamed to the computing device associated with the client. The pixel display is associated with the application executing using the one or more computing resources.
Abstract:
A service provider system may implement an enterprise catalog service that manages catalogs and portfolios of software products (e.g., desktop applications and server products) on behalf of service provider customer organizations. Through the service, a customer organization administrator may create a portfolio (e.g., a container) and configure the portfolio for subsequent use by end users in the organization, which may include adding products, users, permissions, and constraints on the usage of the products (individually or collectively) to the portfolio for all authorized end users or particular end users. Portfolios may be shared with other administrators by publishing them or through direct notification of sharing. A recipient of a shared portfolio may, after importing it, further restrict access to the portfolio or the use of the products therein, but cannot modify the portfolio itself. Changes made by a portfolio owner may be propagated to authorized users and to portfolio importers automatically.
Abstract:
A service provider system may include an application fulfillment platform that delivers desktop applications on demand to desktops on physical computing devices or virtual desktop instances of end users. An application delivery agent installed on an end user's computing resource instance may store application state data (e.g., configuration data, runtime settings, or application templates) or scratch data that is generated by an application executing on the computing resource instance to a secure location on service provider storage resources. After a machine failure or change, or a rebuilding of a virtualized computing resource instance or virtual desktop instance, an application delivery agent installed on the new machine or instance may reinstall the application, retrieve the stored application state or scratch data from service provider resources, and restore the application to the last known persisted state. Upon request, the application delivery agent may restore the application to any earlier persisted state.
Abstract:
A service provider system may include an application fulfillment platform that delivers desktop applications on demand to desktops on physical computing devices or virtual desktop instances of end users. An application delivery agent installed on an end user's computing resource instance may store application state data (e.g., configuration data, runtime settings, or application templates) or scratch data that is generated by an application executing on the computing resource instance to a secure location on service provider storage resources. After a machine failure or change, or a rebuilding of a virtualized computing resource instance or virtual desktop instance, an application delivery agent installed on the new machine or instance may reinstall the application, retrieve the stored application state or scratch data from service provider resources, and restore the application to the last known persisted state. Upon request, the application delivery agent may restore the application to any earlier persisted state.
Abstract:
A service provider system may include an application fulfillment platform that delivers desktop applications to desktops on physical computing devices or virtual desktop instances. A computing resource instance may be registered with the platform, which generates a unique identifier and a security token for the computing resource instance using multiple authentication mechanisms. An end user of a customer organization may be registered with the platform, which generates a unique identifier and a security token for the end user using multiple authentication mechanisms. An application delivery agent may submit service requests to the platform on behalf of itself or the given user. The identity and security credentials included in the requests may be dependent on the request type and the entities on whose behalf they are submitted. A proxy service on the platform may receive the requests and validate the credentials, then dispatch the requests to other services on the platform.
Abstract:
A service provider system may include an application fulfillment platform that delivers desktop applications on demand to desktops on physical computing devices or virtual desktop instances. The applications may be selected for delivery from a catalog of applications, and may be required to be installed on the destination computing resource instance, or may be assigned to a customer's end user on whose behalf the resource instance was provisioned. A workflow for deploying a selected application may invoke services implemented on the platform. The desktop application may be delivered as a virtualized application package that is subsequently executed by a runtime engine installed on the end user's resource instance, without installing the selected application itself on the computing resource instance. A customer's IT administrators may create and populate the catalog, add customer-generated or customer-licensed applications, assign applications to users, apply constraints on application use, and monitor application usage.