Virtual Machine Request Routing via Intermediary Gateway

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a multiple virtual machine environment, existing technologies face challenges in efficiently managing server resources and inter-process communication, leading to increased developer workload and inefficiencies in allocating requests to virtual machines, especially when using Java for application development and implementing capacity on demand.

Innovation Solution

An information processing apparatus with a master virtual machine and worker virtual machines, where the master virtual machine receives client requests, identifies the appropriate worker virtual machine based on stored application information, and transfers the request for processing, allowing web applications to be developed without inter-process communication functionality, thereby reducing developer workload and enhancing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If web applications are developed in a multiple virtual machine environment with independent inter-process communication functionality, then each application can operate independently, but the developer workload increases due to the need to implement communication protocols

Engineering Contradiction:
Improveindependent operation of web applicationsVSAvoiddeveloper workload
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a gateway as an intermediary component that handles inter-process communication between the HTTP server and worker processes. The gateway receives requests from the HTTP server, routes them to appropriate worker processes, and manages communication protocols, thereby eliminating the need for developers to implement communication functionality in each web application while maintaining independent operation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If capacity on demand is implemented with independent hardware resources for each server, then server optimization is achieved, but the system becomes unsuitable for multiple virtual machine environments where resources are shared

Engineering Contradiction:
Improveserver resource optimizationVSAvoidsuitability for multiple virtual machine environment
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent merges multiple worker processes into a single virtual machine environment, allowing them to share hardware resources while maintaining logical independence. The gateway coordinates these shared resources, enabling capacity on demand optimization to work effectively in a virtualized environment where multiple applications can utilize common physical resources without conflict

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If an HTTP server is installed to supervise web applications of all virtual machines, then request routing is enabled, but inter-process communication functionality must be added to each web application increasing workload

Engineering Contradiction:
Improverequest routing capabilityVSAvoidcommunication functionality in each application
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the inter-process communication functionality from individual web applications and consolidates it into a separate gateway component. The HTTP server supervises web applications and routes requests through the gateway, which handles all communication protocols and process coordination, thereby eliminating the need for each application to have embedded communication functionality

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8239862B2Apparatus, method, and computer program product for processing information
Publication Date: 2012.08.07 RICOH CO LTD
  • US8239862B2 patent drawing
  • US8239862B2 patent drawing
  • US8239862B2 patent drawing

AI summary

An information processing apparatus includes a plurality of virtual machines, each including an application managing unit that determines whether an application can process a client request by referring to address information specified in the client request and application information. One of the virtual machines includes a request transferring unit that identifies a virtual machine to which a client request is to be transferred by referring to overall application information and address information, and transfers the request to identified virtual machine.