Software Provisioning System On-Demand Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, existing systems lack efficient methods for dynamically provisioning software applications to user requests, often requiring all applications to be installed on machines, which is inefficient and resource-intensive.

Innovation Solution

A software provisioning system that retrieves session information from user clients, determines eligible software packages based on user groups, and calculates usage information, allowing for on-demand streaming and temporary installation of software application packages upon user request, enabling flexible and resource-efficient access to necessary applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If all software applications are installed on every machine in the distributed computing environment, then users can access any application without restrictions, but system resource usage increases and management complexity increases

Engineering Contradiction:
Improveapplication accessibilityVSAvoidsoftware installation footprint
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts software applications from local machine installations and relocates them to a centralized software provisioning system. Instead of having applications installed on every user machine, the system extracts and stores application packages centrally, then delivers them on-demand to users based on their permissions and session information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a universal software provisioning system that serves multiple functions: it manages software distribution, handles user authentication, tracks usage information, and enforces permission-based access control. This single system replaces the need for individual application installations on each machine.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of operation

If software applications are pre-installed on all machines, then immediate access is available, but resource consumption and storage requirements increase significantly

Engineering Contradiction:
Improveapplication access speedVSAvoidsystem resource consumption
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent performs preliminary actions by pre-configuring user permissions, group memberships, and software package availability in the centralized system. Session information and usage tracking are prepared in advance, enabling rapid on-demand delivery without requiring actual application installation on user machines beforehand.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of installing full application packages on each machine, the system creates and distributes lightweight copies or references to application packages stored centrally. Users receive only the necessary portions of applications when needed, significantly reducing local storage requirements while maintaining access functionality.

Inventive Principle:
Principle #26Copying

3Productivity

If a centralized system manages all software distribution, then resource efficiency improves and management simplifies, but system complexity and licensing requirements increase

Engineering Contradiction:
Improvesoftware provisioning efficiencyVSAvoidprovisioning system architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple software management functions into a single centralized provisioning system: authentication, permission management, software distribution, and usage tracking are combined into one integrated platform. This consolidation improves efficiency by eliminating redundant operations across multiple distributed systems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The centralized software provisioning system acts as an intermediary between users and software applications. It mediates all software access requests, manages licensing information, and controls distribution based on user permissions, thereby simplifying the overall architecture by removing the need for individual installations on each user machine.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If software is made available on-demand to users, then resource usage is optimized and flexibility increases, but user permission verification and session management become more complex

Engineering Contradiction:
Improvesoftware access flexibilityVSAvoiduser permission validation
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms by continuously tracking software usage information and updating session data in real-time. The system monitors which users access which applications, validates permissions dynamically, and adjusts software availability based on current session information, creating a closed-loop control system for permission management.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

User permissions, group memberships, and software access rights are predetermined and configured in advance within the centralized system. Session information is prepared beforehand, enabling rapid permission verification when users request software on-demand without requiring complex real-time validation logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10169050B1Software application provisioning in a distributed computing environment
Publication Date: 2019.01.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10169050B1 patent drawing
  • US10169050B1 patent drawing
  • US10169050B1 patent drawing

AI summary

Aspects of the present disclosure relate to software provisioning in a computer system comprising client devices connected via a communication network to a computing infrastructure. The computing infrastructure is operable for providing, upon a user's request, a software application package to an already running machine. The software provisioning system is configured to retrieve session information about a user logged in to the computing infrastructure via a client device, thereby creating a session, determine a list of software application packages that the user is entitled to request to be provided to the running machine so that the user is able to use a software application contained in the software application packages and calculate software application usage information from the session information and the list of software application packages.