Application Streaming via Access and Execution Environments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity of managing and provisioning resources in large-scale distributed systems, such as cloud-based computing environments, makes it challenging to efficiently provide access to computing resources and applications across diverse user groups with varying hardware requirements.
Innovation Solution
The implementation of an application streaming service that uses a combination of access and execution environments, allowing administrators to configure one-to-one, one-to-many, many-to-one, or many-to-many relationships between access and execution environments, enabling flexible and efficient streaming of applications from cloud-based computing resources to client devices, using machine images or containers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If applications are executed locally on client devices, then user interface rendering and execution performance are improved, but device complexity and resource requirements increase
Solution Approach 1:
The patent extracts the application execution environment from the client device and places it in the cloud. The client device only receives and displays the graphical user interface, while the actual application execution occurs on remote servers. This separation resolves the contradiction by maintaining execution performance through cloud-based processing while reducing device complexity to only what is needed for display and input.
Solution Approach 2:
The patent introduces a graphical interface streaming system as an intermediary between the client device and the cloud-based execution environment. This intermediary captures the graphical output from the remote execution environment, transmits it to the client device for display, and transmits user input back to the execution environment. This mediator allows the client device to interact with complex applications without needing the computational resources to execute them locally.
2Adaptability or versatility
If cloud-based computing resources are provisioned for each user, then access to computing resources is improved, but resource provisioning complexity and costs increase
Solution Approach 1:
The patent implements a shared execution environment in the cloud that can serve multiple users simultaneously. Instead of provisioning separate computing resources for each user, a single cloud-based execution environment handles multiple user sessions, switching between them as needed. This universal resource pool provides adaptability and versatility in accessing computing resources while dramatically reducing provisioning complexity and costs through resource sharing.
Solution Approach 2:
The patent employs dynamic resource allocation where the cloud-based execution environment can be dynamically provisioned, scaled, and configured based on current user needs and demands. Resources are allocated on-demand rather than statically pre-configured for each user, allowing the system to adapt to varying workloads and user requirements while maintaining efficient resource utilization and reducing overall provisioning complexity.
3Adaptability or versatility
If multiple execution environments are supported, then adaptability to different user groups is improved, but system complexity increases
Solution Approach 1:
The patent segments the execution environment into multiple isolated instances, each configured for specific user groups or applications. These segmented environments can have different configurations, permissions, and resource allocations tailored to specific needs. The segmentation allows the system to support diverse user groups with customized environments while managing complexity through clear separation and isolation of different execution contexts.
Solution Approach 2:
The patent implements a configuration management system that only provisions and maintains execution environments as needed for specific user groups or applications. Rather than maintaining all possible environment configurations simultaneously, the system creates and manages only the necessary subsets of environments, reducing overall system complexity while maintaining the ability to adapt to different user group requirements when needed.
Data Source
AI summary
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.


