Graph Engine Transparent Remote Access via REST

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graph analytic systems require a time-consuming three-step process for evaluating and optimizing graph analysis, involving a laptop, server-class machine, and distributed cluster, due to the need for multiple configurations and high computational costs, making it inefficient to determine the best analysis method before using expensive server-class machines.

Innovation Solution

A graph engine with multiple configuration modes (embedded, server, and distributed) that decouples analysis request execution, allowing for transparent remote access using REST, and adapts to different deployment scenarios, facilitating efficient workload management and remoting through mechanisms like TCP and HTTP, enabling efficient processing and result delivery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If graph analysis is performed on a server-class machine with full configuration, then computation speed and performance are improved, but setup time and configuration complexity increase

Engineering Contradiction:
Improvecomputation speedVSAvoidconfiguration complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The graph analytic engine is designed to operate in multiple deployment configurations (embedded mode, server mode, distributed mode) using the same core codebase. This allows the system to provide universal graph analysis functionality across different hardware platforms without requiring separate configurations for each deployment scenario, thereby reducing setup complexity while maintaining computation speed on server-class machines.

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

Solution Approach 2:

The system dynamically adapts to different deployment configurations through configuration modes that are activated based on the runtime environment. The engine can automatically detect and adjust to embedded, server, or distributed modes, making the configuration process dynamic rather than static, which reduces the burden of manual setup while preserving high-performance capabilities when deployed on server-class machines.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If graph analysis variations are tested on a big dataset, then accurate performance comparison is achieved, but computation time and energy consumption increase

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidcomputation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables testing of graph analysis variations on partial datasets or sampled subsets of the full big dataset. By performing initial evaluations on representative samples, developers can accurately compare performance characteristics without incurring the full computational cost of processing the entire large dataset, thereby reducing computation time and energy consumption while maintaining sufficient measurement precision for decision-making.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If graph analysis is distributed across a cluster, then scalability is improved, but system complexity and deployment difficulty increase

Engineering Contradiction:
ImprovescalabilityVSAvoiddeployment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The graph analytic engine is segmented into modular components that can be independently deployed across cluster nodes. Each node runs an instance of the engine that can process partitioned graph data, and the system provides automated mechanisms for data distribution, task coordination, and result aggregation. This segmentation enables scalability across distributed clusters while the automation of deployment tasks reduces the complexity burden on users.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If multiple analysis variations are tested before production, then optimal analysis selection is achieved, but time and computational resources are consumed

Engineering Contradiction:
Improveanalysis selection easeVSAvoiddevelopment efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system enables rapid prototyping and testing of multiple graph analysis variations using lightweight, disposable test configurations that can be quickly created, executed, and discarded. By allowing developers to spin up temporary analysis jobs with different parameters and algorithms on demand, the system facilitates easy comparison of variations without committing significant computational resources to each test, thereby improving development efficiency while maintaining the ability to select optimal analyses.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS10506016B2Graph analytic engine that implements efficient transparent remote access over representational state transfer
Publication Date: 2019.12.10 ORACLE INT CORP
  • US10506016B2 patent drawing
  • US10506016B2 patent drawing
  • US10506016B2 patent drawing

AI summary

Techniques herein decouple available results, from graph analysis execution, to adapt to various deployment configurations. In an embodiment, a graph engine is deployed that has multiple mutually-exclusive configuration modes that include being embedded within a software application, centrally serving software applications, or distributed amongst a cluster of computers. Based on a current configuration mode of the graph engine, a software application receives or generates an analysis request to process a graph. The software application provides the analysis request to the graph engine in exchange for access to a computational future, of the graph engine, that is based on the analysis request and the graph. Based on a proxy of said computational future, the software application accesses a result of the analysis request. In an embodiment, a remote proxy exchanges representational state transfer (REST) messages. Network mechanisms, such as transport control protocol (TCP) and hypertext transfer protocol (HTTP), provide enhanced remoting.