The present invention relates to an information processing technique for a plurality of terminals on a network and, for example, to a technique of searching information distributed to the terminals.
As a search processing method, there is a centralized administration type search service in which an apparatus generates search indexes of information stored in each of other apparatuses, and it processes a search request received from another apparatus, and sends the search result to the apparatus at the request source. In recent years, a distributed administration type search service has also been implemented in which a search service is arranged in each apparatus connected to a network. Each apparatus which has received a search request executes search processing and transmits the search result to the apparatus at the request source.
Various methods are used to present search results output from a plurality of search servers to the operator. For example, a summary is generated from each text and output as part of the search result. Alternatively, if pieces of information having the same contents are contained in the search result, they are output as a single search result. However, to execute these processing operations, resources such as the CPU and memory in an apparatus are necessary. Hence, when these functions are executed, a heavy load may be exerted on the apparatus requested of the search depending on its performance.
Even when these functions are executed by a server which executes relay between a user-side client terminal and a search server which executes search processing in distributed search, a heavy load may be exerted on the apparatus depending on its performance.
Assume that a search result integration service is provided by a specific apparatus on the network, and the search result integration service is implemented by transmitting a distributed search result to the specific apparatus. In this case, the search result notification cannot be implemented if the specific apparatus does not participate in the network.
The present invention has been made in consideration of the above-described problems, and has as its object to provide a technique to implement operability without cumbersome setup operation by a user who executes search processing and the system administrator by using an existing service when a distributed search relay apparatus for executing a search request information distribution service by a plurality of terminals distributed on a network is already present or by dynamically activating the service even when no distribution service is present.
It is another object of the present invention to provide a technique to make it possible to present a search result to the operator even when a specific apparatus does not participate in the network, with reducing load of own apparatus.
In order to achieve an object of the present invention, for example, an information processing method of the present invention comprises the following arrangement.
That is, an information processing method executed by, of a plurality of terminals present on a network, a terminal which receives a predetermined processing request, comprising:
In order to achieve an object of the present invention, for example, an information processing terminal of the present invention comprises the following arrangement.
That is, an information processing terminal which receives a predetermined processing request in a plurality of terminals present on a network, comprising:
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Preferred embodiments of the present invention will now be described in detail in accordance with the accompanying drawings.
Referring to
The address bus AB transfers an address signal which designates a constituent element to be controlled by the CPU 11. The control bus CB transfers a control signal for a constituent element to be controlled. The data bus DB executes data transfer between the devices.
A read only memory (ROM) 12 stores the control program codes of a processing program and the like to be executed in this embodiment.
A writable random access memory (RAM) 13 is used to temporarily store various kinds of data from the constituent elements.
An external memory (DISK) 14 stores search target information. As the storage medium which stores the data and programs, a ROM, floppy (registered trademark) disk, CD-ROM, DVD-ROM, memory card, magnetooptical disk, or the like can be used.
A keyboard (KB) 15 comprises various kinds of function keys such as alphabet keys, hiragana keys, katakana keys, symbol input keys for punctuation marks, search key to instruct search, and cursor keys to instruct cursor movement.
A display video memory (VRAM) 16 stores patterns of data to be displayed.
A CRT controller (CRTC) 17 displays, on a display device (CRT) 18, contents stored in the display video memory (VRAM) 16.
The display device (CRT) 18 comprises a cathode ray tube or liquid crystal panel. Dot display patterns and cursor display on the display device (CRT) 18 are controlled by the CRT controller 17.
A network controller (NIC) 19 is connected to the network and connects a plurality of host computers (to be described later in
The distributed information search apparatus including the above-described constituent elements operates in accordance with various kinds of inputs from the keyboard (KB) 15 or various kinds of inputs supplied from the network controller through the network. When an input is supplied from the keyboard (KB) 15 or network controller 19, first, an interrupt signal is sent to the microprocessor (CPU) 11. The microprocessor (CPU) 11 reads out various kinds of control signals stored in the external memory (DISK) 14. Various kinds of control are executed in accordance with the control signals.
The present invention is also achieved by supplying a storage medium which stores the program of the embodiment to a system or apparatus, and causing the computer of the system or apparatus to read out and execute the program codes stored in the storage medium.
The arrangement of a network to which a plurality of distributed information search apparatuses of this embodiment are connected will be described next with reference to
Referring to
Referring to
In this embodiment, a host address 302 stores a 32-bit IP address which uniquely indicates each host.
A host group 303 stores an identifier which puts hosts having a common network address and belonging to the same subnet into a group and identifies each group.
A number 304 of held information indicates the total number of search target data (files) searchable by each host. The data are stored in the DISK 14 shown in
The host management information in
A connection line type 305 of each host to the network stores the information of the line speed and line type.
In this embodiment, the search request information is described by a text marked up by tags. Referring to
Referring to
<QueryID> is an element tag representing identification information which uniquely identifies the search request information. The identification information of search request information is generated by the combination of the MAC address unique to the host which has created the search request information and the information of the time when the host has created the search request information.
<QueryPath> is an element tag which specifies a host to which the search request information should be distributed and also designates the distribution order of the search request information. A <Host> element designates a host address. A host to which the search request information should be distributed at an earlier timing is placed above in accordance with the distribution order. The last value of the <Querypath> element stores the host address of the host itself which has created the search request information. Referring to
If the <QueryPath> element is blank, the transmission targets are not specified. Hence, the search request information is not distributed to the remaining hosts.
<TransmissionFailure> is an element tag which stores delivery disable information. It stores the information of a host when the message transmission to the target host has failed due to, e.g., a transmission error in the process of distributing the search request information. Referring to
<Keyword> designates the search request keyword of the search request information. A plurality of <Keyword> elements can be described simultaneously. Referring to
<ReturnAddress> designates destination host information to which the result of information search for the search request information should the returned. Referring to
Referring to
Referring to
Distributed information search processing executed in this embodiment will be descried next with reference to the flowcharts shown in FIGS. 7 to 15.
When a user-side client terminal receives a search information distribution request to a distributed information search apparatus on the network, an apparatus having a search request information distribution service and capable of executing distributed search relay is searched for in step S6001. To search for the distributed search relay apparatus, the search service broadcasts an inquiry message to all hosts on the network. Upon receiving the inquiry message, the distributed search relay apparatus transmits a response message to the calling host having the search service.
In step S6002, it is determined whether a response message is received from another distributed search relay apparatus in response to the inquiry message broadcast in step S6001. If no response message is received within a predetermined time, it is determined that no distributed search relay apparatus is present, or the request is rejected, and the flow branches to step S6003. If YES in step S6002, the flow branches to step S6004.
If it is determined in step S6002 that no distributed search relay apparatus is present, the self host which holds the search service activates the distributed search request information distribution service and starts the search relay service to the remaining hosts in step S6003.
In step S6004, the host which holds the search request information distribution service and has returned the response message in step S6002 or the self host which holds the distributed search request information distribution service activated in step S6003 is stored in a storage area (not shown) of the search service as the search request transmission destination in this search service.
In step S6005, the self host which holds the search service is registered in the host management information described in detail in
If YES in step S6002, the flow advances to step S6006 to transfer information about the search request from the client to the distributed search apparatus which has transmitted the response message. The distributed search apparatus which has transmitted the response message starts the distributed search information distribution service on the basis of the transferred information about the search request, and executes the same processing as in steps S6003 to S6005.
Processing of the distributed information search system will be described next.
In step S7000, search request information is received. In this search request information reception, a search request containing a search keyword and search condition designated by the user in
In step S7001, it is determined whether the number of hosts stored in the host management information described in detail in
Step S7002 is search request distribution transmission processing by search request transmission method 1. This will be described in detail with reference to
Step S7003 is search request distribution transmission processing by search request transmission method 2. This will be described in detail with reference to
In step S9000, a search request is received. This distributed information search request reception is a known technique widely executed by a search apparatus of the same kind. In this processing, a search request containing a search keyword and search condition designated by the user in
In step S9001, it is determined whether the connection line speed type 305 stored in the host management information described in detail in
Step S9002 is search request distribution transmission processing by search request transmission method 1. This will be described in detail with reference to
Step S9003 is search request distribution transmission processing by search request transmission method 2. This will be described in detail with reference to
In step S1002, a host which should process the search request received in step S7000 is selected, and the path to transmit the search request message is determined. The search request transmission path determination processing will be described later in detail with reference to
In step S1003, the <QueryInfo> element is created from the search request received in step S7000. The <QueryPath> element is also created from the search request transmission path determined in step S1002. In addition, the MAC address and creation time provided by the NIC 19 are acquired to generate the <QueryID> element data. The <TransmissionFailure> element is added. The host address of the self host is set in the <ReturnAddress> element, thereby creating a search request information message.
In step S1004, the search request information message is transmitted to the host on the top of the path in accordance with the search request transmission path determined in step S1002. The search request transmission processing will be described later in detail with reference to
In step S1005, responses of search processing results from the respective hosts are received. The search response reception processing will be described later in detail with reference to
In step S1006, the search results received in step S1005 from the respective hosts are integrated. Each search result is uniquely identified by URI which represents the location of information contained in the search result returned from the host. The search results are integrated while avoiding overlap of URI in them and sorted in descending order of search score.
In step S1007, the search result integrated in step S1006 is transmitted to the host which has issued the search request received in step S7000. The distributed information search processing is thus ended.
The search request transmission path determination processing in step S1002 will be described next in detail with reference to
In step S2001, the host management information described in detail in
In step S2002, the pieces of host information acquired in step S2001 are sorted in descending order of the number 304 of held information. The distribution order in the same host group is determined and added to the search request transmission path.
In step S2004, it is checked whether all pieces of host information in the host management information are processed. If YES in step S2004, the processing is ended. If unprocessed host information remains, the flow returns to step S2001 to determine distribution for the next host group.
In step S2005, transfer disable host information is read out from a transfer failure host information memory (not shown). If host information stored as a transfer disable host is present, it is deleted from the search request transmission path.
In step S3001, the distributed information search request information message is transmitted to the host indicated by the <Host> element on the top of the <QueryPath> element in the search request information message. Message transmission/reception is done in accordance with the widely used TCP/IP protocol.
In step S3003, it is checked whether transmission to the host has successfully be done. If YES in step S3003, the flow branches to step S3006. If NO in step S3603, the flow advances to step S3004. Whether the transmission has successfully be done is determined by receiving an ACKNOWLEDGE message. The ACKNOWLEDGE message is sent to the transmission source host in, distributed search request message reception processing to be described later with reference to
If NO in step S3003, the host information of the transmission failure is added to the <TransmissionFailure> element in the search request information message in step S3004. In step S3005, the host information of the transmission failure is deleted from the value of the <QueryPath> element in the distributed search request information message. The distributed search request message is transmitted to the host terminal to which the message should be transmitted next.
In step S3006, information search processing of the self host is executed in accordance with information indicated by the <QueryInfo> element in the distributed search request information. The information search processing of the self host is a known technique widely executed, and a detailed description thereof will be omitted.
In step S3007, the search processing result of the self host in step S3006 is transmitted to the host address indicated by the <ReturnAddress> element in the distributed search request information message. The search processing result is also transmitted by storing the search result data in a TCP packet in accordance with the TCP/IP protocol.
In step S4001, a reception thread to receive the search result response from each host is generated. In the reception thread, each transmitted search result is received. In step S4002, the distributed search request information message having the value set in the < > element in the distributed search request information created in step S1003 in
In step S4002, the distributed search request information message is received. After that, in step S4003, of the search hosts determined in step S1002, pieces of host information except those stored in the <TransmissionFailure> element in the received search request information message are transferred to the reception thread in step S4001.
The distributed search processing result reception thread executes reception and standby until search results from all hosts, which are transferred in step S4003, are received. When search results from all hosts are received, the distributed information search results are transferred to the search response reception main process in step S4004.
The search response reception main process receives the distribute information search results from the reception thread and discards the reception thread.
In step S4006, transfer failure host information indicated by the <TransmissionFailure> element in the distributed search request information message is stored in a transfer failure host information memory (not shown).
In step S5001, reception of a distributed search request information message from another host is waited, and the search request message is received.
In step S5002, the self host information on the top of the host information list of the <QueryPath> element in the distributed search request information distribution service is deleted from the <QueryPath>element.
In step S5003, the search request information message is transmitted to the host on the top of the <QueryPath> element in the search request information message. This search request transmission processing is the same as that described in detail in
In step S8001, a piece of host information registered in the host management information described in detail in
In step S8002, the <QueryInfo> element is created from the search request received in step S7000. The <QueryPath> element is set as a blank element. In addition, the MAC address and creation time provided by the NIC 19 are acquired to generate the <QueryID> element data. The <TransmissionFailure> element is added. The host address of the self host is set in the <ReturnAddress> element, thereby creating a distributed search request information message.
In step S8003, the distributed search request information message created in step S8002 is transmitted while setting the host information acquired in step S8001 as the transmission destination.
In step S8004, it is determined whether all pieces of host information registered in the host management information described in detail in
In step S8005, responses of search processing results from the respective hosts to which the message is transmitted in step S8003 are received. The search response reception processing has been described in detail with reference to
In step S8006, the search results received in step S8005 from the respective hosts are integrated. Each search result is uniquely identified by URI which represents the location of information contained in the search result returned from the host. The search results are integrated while avoiding overlap of URI in them and sorted in descending order of search scores.
In step S8007, the search result integrated in step S8006 is transmitted to the host which has issued the search request received in step S7000. The distributed information search processing is thus ended.
In the first embodiment, the distributed search request information message is created as an XML document described by a text marked up by tags. Instead, binary information which allows identification of each constituent element may be stored in the data packet of a transport layer.
In the above-described embodiment, the search service broadcasts an inquiry message to search for the distributed search path selection service. However, a service directory which manages the service location may be prepared. In this case, each service is registered in the service directory, and service location information is acquired from the directory.
In the above-described embodiment, the distributed information search request message transmission method in the distributed search path selection service is determined on the basis of the number of registered host information on the network. Instead, the determination may be done on the basis of an element other than the number of registered host information, and for example, the line speed of the network or the calculation processing capability or processing load of the host.
The technical principles of the above-described embodiment are not limited to detection processing and can also be applied to another processing. More specifically, in the network system, a terminal apparatus which has received a predetermined processing request inquires of the remaining terminal apparatuses about their capabilities to execute the processing. Each terminal apparatus which has received the inquiry determines in consideration of the memory utilization state or CPU availability whether the load necessary for processing the received job is a predetermined amount and returns the determination result. If a terminal apparatus capable of receiving the predetermined processing request exists, it is transmitted to the terminal apparatus. If no terminal apparatus can receive the predetermined processing request, the terminal apparatus which has received it executes the predetermined processing.
An input unit 5204 includes a keyboard and mouse. A display unit 5205 displays document data or graphic data. A storage unit 5206 includes a hard disk. An external storage unit 5207 includes a floppy (registered trademark) disk, writable CD, or DVD.
A communication unit 5208 includes a local area network controller and transmits/receives data to/from an external device through a communication line. The bus 5209 transfers an address signal which designates a constituent element to be controlled by the CPU 5201, and a control signal.
The information processing apparatus of this embodiment which includes the constituent elements operates in accordance with an input from the input unit 5204. When input is executed from the input unit 5204, an interrupt signal is sent to the central processing unit 5201. The central processing unit 5201 reads out various kinds of control signals stored in the ROM 5202. Various kinds of control are executed in accordance with the control signals.
In this embodiment, apparatuses 2 to 5 also have the same hardware configuration whose elements are indicated by the same reference numerals as in
In the search result integration flag field 5801, “1” is stored when the search result is a result obtained by integrating search results from the respective apparatuses by the search result integration service. Otherwise, “0” is stored. The search result field 5804 stores information of a document ID, document name, search score, and summary. A summary is stored only when “1” is stored in the search result integration flag field 5801.
If NO in step S5302, it is determined whether the information processing apparatus 5101 connected to the network provides the search result integration service by itself (S5303). If YES in step S5303, the IP address assigned to the information processing apparatus 5101 is transmitted to the remaining connected apparatuses as the apparatus which provides the search result integration service. Then, “1” is stored in the search result integration apparatus flag field 5701 of the search result integration apparatus information 570 in the RAM 5203. The IP address assigned to the information processing apparatus 5101 itself is stored in the IP address field 5702. The network participation processing is thus ended (S5305). If NO in step S5303, no apparatus which provides the search result integration service is present on the connected network. Hence, “0” is stored in the search result integration apparatus flag field 5701 of the search result integration apparatus information 570 in the RAM 5203, and the network participation processing is ended.
It is determined whether the search result information 580 is collected from the target apparatuses connected to the network (S5501). The search result information 580 collected from each apparatus is stored in the RAM 5203 as search result information of each apparatus. If YES in step S5501, the pieces of search result information 580 of the apparatuses, which are stored in the RAM 5203, are integrated into one search result information 580 and stored in the RAM 5203 (S5502).
When the pieces of search result information 580 are integrated, “1” is stored in the search result integration flag field 5801 of the search result information 580. The summary of the document is generated from the search result document and stored in the summary field of the search result field 5804 of the search result information 580. It is determined whether documents of the same contents are present in the search result documents collected from the plurality of apparatuses. If excess documents are present, they are deleted from the search result information 580. The search result information 580 stored in the RAM 5203 is transmitted to the search request source (information processing apparatus 5101) (S5503). When the information processing apparatus 5101 executes the search result integration service, the processing is ended without executing the processing in step S5503.
If YES in step S5603, the pieces of collected search result information 580 of the respective apparatuses are merged and stored in the RAM 5203 of the information processing apparatus 5101 (S5604). The search result display window 590 is displayed on the display unit 5205 on the basis of the search result information 580 stored in the RAM 5203 of the information processing apparatus 5101. The search result display processing is thus ended.
With the above-described arrangement, an apparatus which is rich in resources such as the CPU and memory can provide the search result integration service that requires the resources. When it is determined whether a search service to provide the search result integration service is present, it can be determined whether an apparatus which provides the search result integration service is connected to the network. If the search service to provide the search result integration service is present, a search result processed by the apparatus which provides the search result integration service can be presented to the operator. If no search service to provide the search result integration service is present, search result integration can executed by simply merging the search results from the respective apparatuses connected to the network without requiring many resources such as the CPU and memory, and the search result can be presented to the operator.
Accordingly, even when a specific apparatus is not participating in the network, the search result can be presented to the operator.
In the above-described embodiment, it is confirmed in participating in the network whether the distributed search request information distribution service is present. If no service is present, the search result integration service is started. However, the embodiment is not limited to this. It may be confirmed in transmitting or receiving a search request and participating in the network whether the distributed search request information distribution service is present. If no service is present, the search result integration service is started. In this case, confirmation is done in step S5402 in
As described above, an arrangement of the embodiments are also achieved by supplying a storage medium which stores software program codes to implement the functions of the embodiments to a system or apparatus, and causing the computer of the system or apparatus to read out and execute the program codes stored in the storage medium.
In this case, the program codes read out from the storage medium implement the functions of the embodiments, and the storage medium which stores the program codes constitutes the present invention.
As the storage medium for supplying the program codes, a floppy (registered trademark) disk, hard disk, magnetooptical disk, CD-ROM, DVD-ROM, memory card, or the like can be used.
The functions of the embodiments are implemented not only when the readout program codes are executed by the computer but also when the operating system running on the computer performs part or all of actual processing on the basis of the instructions of the program codes, the program codes read out by the processing are written in the memory of a function expansion board inserted into the computer or a function expansion unit connected to the computer, and the central processing unit of the function expansion board or function expansion unit performs part or all of actual processing on the basis of the instructions of the program codes.
As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.
Claim of Priority
This application claims priority from Japanese Patent Application Nos. 2003-427618 filed on Dec. 24, 2003 and 2004-177057 filed on Jun. 15, 2004, which are hereby incorporated by reference herein.
Number | Date | Country | Kind |
---|---|---|---|
2003-427618 | Dec 2003 | JP | national |
2004-177057 | Jun 2004 | JP | national |