The present invention relates to an information processing method, information processing apparatus, control program, and storage medium for searching for pieces of information distributed and stored in a plurality of host computers connected to a network.
As a search device which searches for data present on a host computer connected to a network, a search device which has a search server operating on the host computer, and searches for the data by issuing a search request to the search server on a basis of a so-called client-server model is generally used.
However, when the plurality of host computers to be searched for are present on the network, a client must issue the search request to each of the plurality of search servers, and know its calling address and calling sequence on the network.
Alternatively, in a distributed search system and the search device in the conventional distributed search system, the following system is implemented. The host computers exchange information on the network to search for the distributed pieces of information. Host computer path information transferred in an information transfer process on the distributed network is embedded in transfer target information to control not to select redundant transfer destination host computers.
In the above-described conventional distributed search system, the host computer which has received the transfer target information containing the search request can know the host computer which has received the transfer target information. However, the host computer which has transmitted the transfer target information cannot recognize the host computer which has received the transfer target information on the network, and cannot recognize the host computer from which the search processing result can be received, thus posing a problem.
The present invention has been made in consideration of the above problem, and has as its object to provide an information processing method, information processing apparatus, control program, and storage medium which can recognize if a plurality of search host computers distributed on a network have completely transferred pieces of search request information for a distributed information search, and can identify the host computer which could transmit transfer target information and the host computer which could not transmit the transfer target information.
In order to achieve an object of the present invention, for example, an image processing method of the present invention comprises the following arrangement.
That is, an information processing method by which a plurality of information processing apparatuses distributed and arranged on a network execute a search process, wherein
In order to achieve an object of the present invention, for example, an image processing apparatus of the present invention comprises the following arrangement.
That is, an information processing apparatus which is distributed and arranged on a network and executes a search process on the basis of a search information, comprising:
In order to achieve an object of the present invention, for example, a control program of the present invention comprises the following arrangement.
That is, a control program which causes an information processing apparatus to execute an information processing method by which a plurality of information processing apparatuses distributed and arranged on a network execute a search process, wherein
In order to achieve an object of the present invention, for example, a computer-readable storage medium of the present invention comprises the following arrangement.
That is, a computer-readable storage medium which stores a program which causes an information processing apparatus to execute an information processing method by which a plurality of information processing apparatuses distributed and arranged on a network executes a search process, wherein
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.
A Preferred embodiment of the present invention will now be described in detail in accordance with the accompanying drawings.
The address bus AB transfers an address signal indicating the component to be controlled by the CPU 11. The control bus CB transfers and applies a control signal for each component to be controlled by the CPU 11. The data bus DB transfers data among the respective components.
A read-only fixed memory (ROM) 12 stores control program codes such as a processing program executed in this embodiment. A rewritable random access memory (RAM) 13 is used as a temporary storage of various data from the respective components. An external memory (DISK) 14 records storage information. As a storage medium for storing-the data and programs, a ROM, floppys disk, CD-ROM, DVD-ROM, memory card, magnetooptical disk, or the like can be used.
A keyboard (KB) 15 has alphabet keys, hiragana keys, katakana keys, character symbol input keys for inputting a period, comma, and the like, a search key for instructing a search, and various function keys such as cursor moving keys for instructing cursor movement, and the like.
A display video memory (VRAM) 16 stores a pattern of data to be displayed. A CRT controller (CRTC) 17 displays the contents stored in the VRAM 16 on a display device CRT 18. The display device (CRT) 18 such as a cathode ray tube or liquid crystal panel makes the CRT controller control the dot display pattern and cursor display on the display device CRT. A network controller (NIC) 19 is connected to a network to connect a plurality of host computers to be described later in
The information processing apparatus constructed by the aforementioned components operates in accordance with various inputs from the key board KB 15 and various inputs supplied from the network controller via the network. Upon receiving the input from the keyboard KB 15 or network controller 19, an interrupt signal is sent to the processor CPU 11. Then, the processor CPU 11 reads out various control signals stored in the external memory DISK 14, and executes various kinds of control in accordance with these control signals.
Also, this embodiment is achieved by supplying a storage medium that stores a program according to this embodiment to a system or apparatus, and by reading out and executing program codes stored in the storage medium by a computer of the system or apparatus.
The arrangement of the network which connects the plurality of information search apparatuses of this embodiment will be explained below with reference to
In the information processing apparatus according to this embodiment,
In
A host group 303 groups the hosts in accordance with the subnet having a common network address, and stores identifiers for identifying the groups.
A held information count 304 stores an information count which can be searched for by the host. In the embodiment, the information count is a file count on a file system to be searched for.
The host management information shown in
In
The <QueryID> denotes an element tag which indicates identification information for uniquely identifying the distributed information search request.
The identification information of the distributed information search request is generated by combining a MAC address unique to the host which generates the distributed search request message, and the information of time at which the host generates the distributed search request message.
The <QueryPath> denotes an element tag which specifies the host to which the distributed information search request is transmitted, and designates the order of the distributed search request message to be transmitted. The <QueryPath> also designates the host address using the <Host> element. In accordance with the transmission order, the older the host is transmitted, the higher the host is arranged. Note that the host address of the host itself which generates the distributed search request message is stored at the last position of the <QueryPath> element. In
The <TransmissionFailure> denotes an element tag which stores transmission disable information, i.e., the host address of the transmission destination disable host when the distributed search request message cannot be transmitted to a destination host by a transmission error or the like in the transmission process of the distributed search request message. In
The <QueryInfo> denotes an element tag which indicates the search request of the distributed information search request, and includes a <Keyword>, <BooleanCondition>, and <MediaType> elements.
The <Keyword> designates the search request keyword of the distributed information search request. The <Keyword> element can include a plurality of keywords. In
The <ReturnAddress> designates the information of the destination host to which the information search result for the distributed information search request is returned. In
In
In
In
In this arrangement, the transmission disable host information can be transmitted to the source of the search request.
Next, the distributed information search process executed in the embodiment will be described with reference to
In step S1002, the host which processes the search request received in step S1001 is selected to determine a search request transmission path serving as a transmission path for transmitting the search request message. Note that the search request transmission path determination process will be described in detail with reference to
In step S1004, in accordance with the search request transmission path determined in step S1002, the distributed search request message is transmitted to the host at the top of the path. The search request transmission process will be described in detail with reference to
Next, the search request transmission path determination process in step S1002 will be described in detail with reference to
In step S2002, the pieces of host information obtained in step S2001 are arranged in order of the held information count 304 to determine the transmission route in the same host group. The determined transmission route is added to the search request transmission path.
In step S2004, it is checked if the all pieces of the host information in the host management information have been completely processed. If YES in step S2004, the process ends. If NO in step S2004, the flow loops to step S2001 to determine the transmission path for the next host group.
In step S2005, the transfer disable host information is read out from the transfer failure host information storage memory (hot shown). If the host information is stored as the transfer destination disable host, the host information is deleted from the search request transmission path.
In step S3003, it is checked if the distributed search request message is successively transmitted to the host. If YES in step S3003, the flow branches to step S3006. If NO in step S3003, the flow advances to step S3004. It is determined if the message is successively transmitted, by receiving an ACKNOWLEDGE message transmitted to the destination host when normally receiving the distributed search request message in the distributed search request message reception process (to be described later with reference to
If the transmission fails in step S3003, the transmission failure host information is added to the <TransmissionFailure> element of the distributed search request message in step S3004, and deleted from the value of the <QueryPath> element of the distributed search request message in step S3005. The distributed search request message is transmitted to the next destination host terminal.
In step S3006, in accordance with the information indicated in the <QueryInfo> element of the distributed search request message, the information of the self host is searched for. The information search process of the self host is a known technique which is widely used, and the detailed description will be omitted.
In step S3007, the search processing result of the self host in step S3006 is transmitted to the host address indicated in the <ReturnAddress> element of the distributed search request message. In transmitting the search processing result, the search result data is also stored in a TCP packet in accordance with the TCP/IP protocol to transmit the data.
After receiving the distributed search request message in step S4002, in step S4003, the host information except for the host information stored in the <TransmissionFailure> element of the received search request message of the search request process target host determined in step S1002 is delivered to the reception thread generated in step S4001.
The distributed search processing result reception thread receives and waits until the search results from all the hosts to which the pieces of host information have been delivered in step S4003. If the search results from the all hosts are received, the distributed information search result is delivered to a search response reception main process in step S4004. In the search response reception main process, the reception thread is discarded after receiving the distributed information search result from the reception thread.
In step S4006, the transfer failure host information indicated in the <TransmissionFailure> element of the distributed search request message is stored in the transfer failure host information storage memory (not shown).
In step S5002, the information of the self host at the top of the host information list in the <QueryPath> element of the search request message is deleted from the <QueryPath> element.
In step S5003, the search request message is transmitted to the host at the top of the <QueryPath> element of the search request message. The detail of this search request transmission process is similar to the process shown in
In the above embodiment, the distributed search request message is an XML document expressed in a text format with a markup tag. However, the distributed search request message may be arranged such that the binary information which can identify the components is stored in a data packet on a transport layer.
Of course, the object of the present invention is also achieved when a storage medium which stores software program codes for realizing the functions of the above-described embodiments is provided to a system or apparatus, and the computer (or the CPU or MPU) of the system or apparatus reads out and executes the program codes stored in the storage medium.
In this case, the program codes read out from the storage medium realize the functions of the above-described embodiments, and the storage medium which stores the program codes constitutes the present invention.
The storage medium for supplying the program codes includes a floppy® disk, hard disk, magneto-optical disk, CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW, magnetic tape, nonvolatile memory card, and ROM.
The functions of the above-described embodiments are realized when the computer executes the readout program codes. Of course, the functions of the above-described embodiments are also realized when an OS (Operating System) or the like running on the computer performs part or all of actual processing on the basis of the instructions of the program codes.
Furthermore, of course, the present invention also includes a case in which, after the program codes read out from the storage medium are written in the memory of a function expansion board inserted into the computer or the memory of a function expansion unit connected to the computer, the CPU 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 and thereby realizes the functions of the above-described embodiments.
As described above, in the present invention, an information processing method, information processing apparatus, control program, and storage medium have been described in detail. However, of course, various changes and modifications can be made within the spirit and scope of the present invention.
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.
This application claims priority from Japanese Patent Application No. 2003-427613 filed on Dec. 24, 2003, which is hereby incorporated by reference herein.
Number | Date | Country | Kind |
---|---|---|---|
2003-427613 | Dec 2003 | JP | national |