Virtual XML Database for Distributed XQuery Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed XQuery processing techniques, such as XRPC, require users to explicitly describe language extensions and face challenges with integration of different data types and performance issues, particularly when RPC functions are used within loops, leading to inefficiencies in processing and optimization.

Innovation Solution

A virtual XML database system that employs a central server with a virtual planner and XQuery processor to generate distributed search requests and integrate results without relying on XRPC, using REST methods like 'query' and 'gquery' for distributed XQuery processing, allowing for transparent processing and parallel execution across multiple servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If XRPC is used for distributed XQuery processing, then remote procedure call functionality is achieved, but the system requires explicit language extensions and suffers from performance issues when RPC functions are used within loops

Engineering Contradiction:
Improvedistributed data source integrationVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the RPC function call mechanism from the loop structure and replaces it with a bulk data transfer approach. Instead of calling RPC functions iteratively for each element in a loop, the system generates a single distributed XQuery that processes all data in parallel across multiple servers, eliminating the performance penalty of repeated network calls within loops

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If traditional XRPC methods are used, then distributed processing is enabled, but transparency is reduced and integration of different data types becomes challenging

Engineering Contradiction:
Improvedata type integrationVSAvoidprocessing transparency
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements a universal query processing framework that handles multiple data types (XML, relational, JSON, etc.) through a single distributed XQuery language. The system provides multi-functionality by enabling the same query language to work across different data sources and formats without requiring type-specific syntax extensions, thereby maintaining transparency and ease of operation

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

3Adaptability or versatility

If RPC functions are used within loops in XQuery, then complex queries can be executed, but the number of network messages increases significantly leading to performance degradation

Engineering Contradiction:
Improvequery complexityVSAvoidnetwork communication overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent merges multiple separate RPC function calls that would be executed iteratively within a loop into a single distributed XQuery statement. The system combines the query logic and data retrieval operations into one unified query that is executed in parallel across servers, dramatically reducing network message count while maintaining the ability to handle complex queries

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9047391B2Searching apparatus, searching method, and computer program product
Publication Date: 2015.06.02 KK TOSHIBA
  • US9047391B2 patent drawing
  • US9047391B2 patent drawing
  • US9047391B2 patent drawing

AI summary

In a searching apparatus: a first receiving unit receives a search request from a client; based on the search request, a first generating unit generates a distributed search request to request a server to conduct a search and an integration request to integrate search results of the distributed search request; a first transmitting unit transmits the distributed search request to the server; a second transmitting unit transmits identification information of an execution result of the integration request to the client; a second receiving unit receives, from the client, an obtainment request to obtain the execution result identified by the identification information; a receiving unit receives the search results of the distributed search request from the server; an executing unit executes the integration request on the received search results; and a third transmitting unit transmits the execution result of the integration request to the client that transmitted the obtainment request.