Program Execution Service for Data Center Application Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing the storage, distribution, and acquisition of software applications in large-scale data centers is inefficient due to storage resource constraints and network bandwidth monopolization, leading to high startup latencies and reliability issues.
Innovation Solution
A program execution service that selects computing systems based on local copies of programs, resource availability, and geographical proximity to efficiently distribute and execute applications, using system and machine manager modules to manage program execution across multiple computing systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If local copies of every application are stored on every computing system, then application execution speed is improved, but storage resource requirements increase significantly
Solution Approach 1:
The patent implements a peer-to-peer copying mechanism where computing systems that already have application copies share them with other systems that need them. This allows rapid local deployment of applications without requiring every system to maintain all possible application copies in storage, resolving the contradiction between execution speed and storage requirements.
Solution Approach 2:
The system performs preliminary actions by maintaining a distributed cache of application copies across the computing systems. When an application is frequently used, it is proactively copied to systems that are likely to need it, so that when execution is requested, the application is already locally available, improving speed without requiring permanent storage of all applications on all systems.
2Ease of operation
If a centralized storage location transmits application copies to every computing system, then application distribution is simplified, but network bandwidth is monopolized and startup latency increases
Solution Approach 1:
The patent segments the centralized distribution task into multiple peer-to-peer transactions. Instead of one centralized system transmitting to all computing systems sequentially (which monopolizes bandwidth), the distribution is segmented across multiple sources that can simultaneously share applications with multiple destinations, reducing latency and bandwidth monopolization while maintaining distribution simplicity through automated peer selection.
Solution Approach 2:
The system enables continuous application sharing and copying operations across the distributed network. Multiple systems can simultaneously perform useful actions by sharing applications with neighbors, rather than waiting for centralized distribution. This continuous peer-to-peer sharing eliminates startup latency by making applications available immediately when needed, while distributing network load across multiple concurrent transactions.
3Adaptability or versatility
If application copies are frequently transmitted across the network, then computing systems can acquire needed applications, but network bandwidth resources are consumed and reliability decreases
Solution Approach 1:
The patent introduces computing systems with available application copies as intermediaries in the distribution network. These intermediary systems cache and share applications locally, reducing direct network traffic between distant systems. This layered intermediary structure maintains high application acquisition capability while reducing network dependency and improving reliability by providing local fallback sources.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques are described for managing the execution of programs on a plurality of computing systems, such as computing systems organized into multiple groups. A program execution service manages the program execution on behalf of multiple customers or other users, and selects appropriate computing systems to execute one or more instances of program, such as based in part on locations of one or more previously stored copies of the program from which copies of the program to execute may be acquired. For example, in some situations the selection of an appropriate computing system to execute an instance of a program is based in part on physical or logical proximity to other resources, such as stored copies of the program, executing copies of the program, and/or available computing systems.