Graph Processing Service for Enterprise Software Catalog Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large enterprises face challenges in managing and updating desktop and server applications across multiple locations, leading to complexity, compliance risks, and inefficiencies in cost control and software usage within traditional on-premise infrastructure.

Innovation Solution

An enterprise catalog service that allows administrators to create and manage catalogs of software products, enforce compliance, and provide on-demand access to users, integrating with cloud computing environments for centralized control and self-service capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If applications are physically installed on each machine in traditional on-premise infrastructure, then applications can run locally with full functionality, but deployment and management become increasingly complicated as scale increases

Engineering Contradiction:
Improveapplication deploymentVSAvoidmanagement complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a cloud-based application delivery controller as an intermediary between the central management system and end-user devices. This controller handles application virtualization, streaming, and local caching, simplifying deployment by offloading complex management tasks to the intermediary layer rather than requiring direct management of each individual device

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service capabilities where application updates and patches are automatically deployed and installed on end-user devices without requiring manual intervention. The application delivery controller automatically manages version control, updates, and synchronization across the network, eliminating the need for administrators to physically visit each machine

Inventive Principle:
Principle #25Self-service

2Reliability

If updates and patches are deployed manually across distributed machines, then application security and functionality can be maintained, but user productivity is affected and deployment becomes complex

Engineering Contradiction:
Improveapplication update reliabilityVSAvoiduser productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-staging application updates and patches on the application delivery controller before they are needed. Updates are prepared, validated, and staged in advance, then automatically distributed to end-user devices during off-peak hours or in the background, ensuring updates are ready before users need them without disrupting productivity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Application updates and patches are automatically deployed to end-user devices through the application delivery controller without requiring user intervention. The system handles update installation, verification, and rollback automatically, maintaining reliability while eliminating productivity impacts associated with manual update processes

Inventive Principle:
Principle #25Self-service

3Productivity

If individual business units procure their own software independently, then each unit can quickly access needed applications, but compliance risks increase and standardization is lost

Engineering Contradiction:
Improvesoftware acquisition speedVSAvoidcompliance reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements local quality by allowing each business unit to have customized application catalogs and procurement preferences tailored to their specific needs, while the central management system maintains overall compliance policies. Each unit can quickly acquire applications within their authorized parameters, and the system automatically enforces compliance rules at the local level, balancing speed with reliability

Inventive Principle:
Principle #3Local quality

4Reliability

If centralized control is implemented for software procurement, then compliance and standardization are enforced, but agility and self-service capabilities are sacrificed

Engineering Contradiction:
Improvecompliance enforcementVSAvoidorganizational agility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments software procurement authority into multiple hierarchical levels: central policies for compliance-critical applications, business unit-level approval for departmental needs, and individual user self-service for standard applications. This segmentation allows centralized control where needed while maintaining agility and self-service capabilities for routine software acquisitions

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11803893B2Graph processing service component in a catalog service platform
Publication Date: 2023.10.31 AMAZON TECH INC
  • US11803893B2 patent drawing
  • US11803893B2 patent drawing
  • US11803893B2 patent drawing

AI summary

A service provider system may implement an enterprise catalog service that manages software products and portfolios of software products on behalf of service provider customer organizations. A graph processing service of the enterprise catalog service may create a graph representation of the enterprise catalog service data, including principals, product listings, portfolios, and constraints (and the relationships between them) that may be used to manage access control, launch contexts, and searches within the enterprise catalog service. A primary (key-value) store may maintain an adjacency list and a secondary index of de-normalized edges. A secondary (document) store may maintain the de-normalized edges. In response to various queries directed to the graph processing service, the service may query the adjacency list or the secondary index. For example, one query may return a list of products that an end user can access, and another may return a count of products within a portfolio.