IP Library Granted Patent US 9,047,391
Granted Patent B2
US 9,047,391 · App. 13/217,775 · Granted Jun 2, 2015

Searching apparatus, searching method, and computer program product

Inventor: Masakazu Hattori (Kanagawa, JP)
Assignees: Kabushiki Kaisha Toshiba; Toshiba Solutions Corporation
G06F17/30926G06F17/30545
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,047,391
App. No.
13/217,775
Granted
Jun 2, 2015
Kind
B2
Abstract

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.

Claims (63)

1. A searching apparatus connected via a network to a client and a plurality of servers storing therein data, the searching apparatus comprising:

a first receiving unit that receives, from the client, a search request in an XQuery format requesting a search in the data;

a first generating unit that, based on the search request, generates a distributed search request in an XQuery format to request each of the plurality of servers to conduct a search in the data and an integration request in an XQuery format to integrate search results of the distributed search request;

a first transmitting unit that transmits the distributed search request to each of the plurality of servers;

a second transmitting unit that transmits identification information of an execution result of the integration request to the client;

a second receiving unit that receives, from the client, an obtainment request to obtain the execution result identified by the identification information;

a receiving unit that receives, from each of the plurality of servers, a search result in an XML format resulting from the distributed search request;

an executing unit that executes the integration request on the search results respectively received from the plurality of servers;

a third transmitting unit that transmits the execution result of the integration request to the client that transmitted the obtainment request; and

a processor for executing at least the first generating unit, wherein

the search request includes at least one of doc( )functions of an XQuery, and

the first generating unit generates, for each of the doc( ) functions, the distributed search request that includes the doc( ) function and path expressions that are obtained by tracing the doc( ) function as a starting point.

2. The apparatus according to claim 1 , further comprising:

an allocating unit that reserves an area for storing therein the execution result of the integration request and allocates identification information of the area to the execution result, wherein

the second transmitting unit transmits the allocated identification information to the client,

the executing unit stores the execution result of the integration request into the area, and

the third transmitting unit transmits the execution result stored in the area, to the client that transmitted the obtainment request.

3. The apparatus according to claim 1 further comprising:

a converting unit that converts the distributed search request into a search request in an XQuery format that satisfies a searching capability of each of the servers; and

a second generating unit that generates a generation request in an XQuery format to generate a search result of the distributed search request from a search result of the converted search request, wherein

the first transmitting unit transmits the converted search request to each of the servers,

the receiving unit receives the search result of the converted search request from each of the servers, and

the executing unit further executes the generation request on the received search results and executes the integration request on an execution result of the generation request.

4. The apparatus according to claim 3 , wherein the converting unit converts the distributed search request into the search request that satisfies the searching capability of each of the servers by performing at least one of the following:

omitting a path contained in the distributed search request; expanding an OR condition; and

converting a name of an element contained in the data.

5. The apparatus according to claim 1 , further comprising:

a detecting unit that detects the servers connected to the network, wherein

the first transmitting unit transmits the distributed search request to the detected servers.

6. A searching method implemented by a searching apparatus connected, via a network, to a client and a plurality of servers storing therein data, the searching method comprising:

receiving, from the client, a search request in an XQuery format requesting a search in the data;

generating, based on the search request, a distributed search request in an XQuery format to request each of the plurality of servers to conduct a search in the data and an integration request in an XQuery format to integrate search results of the distributed search request;

transmitting the distributed search request to each of the plurality of servers;

transmitting identification information of an execution result of the integration request to the client;

receiving, from the client, an obtainment request to obtain the execution result identified by the identification information;

receiving, from each of the plurality of servers, a search result in an XML format resulting from the distributed search request;

executing the integration request on the search results respectively received from the plurality of servers; and

transmitting the execution result of the integration request to the client that transmitted the obtainment request, wherein

the search request includes at least one of doc( ) functions of an XQuery, and

the generating of the distributed search request that includes the doc( ) function and path expressions that are obtained by tracing the doc( ) function as a starting point is performed for each of the doc( ) functions.

7. A computer program product having a non-transitory computer readable medium including programmed instructions to search in data, wherein the instructions, when executed by a computer, cause the computer to perform:

receiving, from a client, a search request in an XQuery format requesting a search in the data;

generating, based on the search request, a distributed search request in an XQuery format to request each of plurality of servers to conduct a search in the data and an integration request in an XQuery format to integrate search results of the distributed search request;

transmitting the distributed search request to each of the plurality of servers;

transmitting identification information of an execution result of the integration request to the client; receiving, from the client, an obtainment request to obtain the execution result identified by the identification information;

receiving, from each of the plurality of servers, a search result in an XML format resulting from the distributed search request;

executing the integration request on the search results respectively received from the plurality of servers; and

transmitting the execution result of the integration request to the client that transmitted the obtainment request, wherein

the search request includes at least one of doc( ) functions of an XQuery, and

the generating of the distributed search request that includes the doc( ) function and path expressions that are obtained by tracing the doc( ) function as a starting point is performed for each of the doc( ) functions.

8. A searching apparatus connected via a network to a client and a plurality of servers storing therein data, the searching apparatus comprising:

a first receiving unit that receives, from the client, a search request in an XQery format requesting a search in the data;

a first generating unit that, based on the search request, generates a distributed search request in an XQuery format to request each of the plurality of servers to conduct a search in the data and an integration request in an XQuery format to integrate search results of the distributed search request;

a first transmitting unit that transmits the distributed search request to each of the plurality of servers;

a second transmitting unit that transmits identification information of an execution result of the integration request to the client;

a second receiving unit that receives, from the client, an obtainment request to obtain the execution result identified by the identification information;

a receiving unit that receives, from each of the plurality of servers, a search result in an XML format resulting from the distributed search request;

an executing unit that executes the integration request on the search results respectively received from the plurality of servers;

a third transmitting unit that transmits the execution result of the integration request to the client that transmitted the obtainment request; and

a processor for executing at least the first generating unit, wherein

the search request includes at least one of functions that specify the data to be searched, and

the first generating unit generates, for each of the functions, the distributed search request that includes the function and path expressions under the function, wherein

the first generating unit generates the integration request by replacing a part of the search request that includes the function with a let clause or a for clause for extracting the data from the execution result.

Assignments (6)
CHANGE OF CORPORATE NAME AND ADDRESS Recorded Feb 8, 2021
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA DIGITAL SOLUTIONS CORPORATION
Reel/Frame 055259/0587 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY'S ADDRESS PREVIOUSLY RECORDED ON REEL 048547 FRAME 0098. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF ADDRESS. Recorded May 28, 2019
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA SOLUTIONS CORPORATION
Reel/Frame 051297/0742 →
CHANGE OF ADDRESS Recorded Mar 8, 2019
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA SOLUTIONS CORPORATION
Reel/Frame 048547/0098 →
CHANGE OF NAME Recorded Mar 8, 2019
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA DIGITAL SOLUTIONS CORPORATION
Reel/Frame 048547/0215 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS TO BE CHANGED FROM: TOSHIBA SOLUTIONS CORPORTAION 1-1, SHIBAURA 1-CHOME, MINATO-KU, JAPAN 105-6691 PREVIOUSLY RECORDED ON REEL 026808 FRAME 0299. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE ADDRESS TO BE CHANGED TO: TOSHIBA SOLUTIONS CORPORATION, 1-1, SHIBAURA 1-CHOME, MINATO-KU, TOKYO, JAPAN, 105-6691. Recorded Sep 27, 2011
From: HATTORI, MASAKAZU
To: KABUSHIKI KAISHA TOSHIBA; TOSHIBA SOLUTIONS CORPORATION
Reel/Frame 026978/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2011
From: HATTORI, MASAKAZU
To: KABUSHIKI KAISHA TOSHIBA; TOSHIBA SOLUTIONS CORPORATION
Reel/Frame 026808/0299 →
Priority Claims (1)
JP 2010-238531 · Oct 25, 2010 · national
Continuity (1)
Related Publication 20120102025A1 · Apr 26, 2012