WO2007049388A1 - Search intermediating apparatus, search intermediating method, decentralized search system, decentralizing apparatus, and decentralizing apparatus control method - Google Patents

Search intermediating apparatus, search intermediating method, decentralized search system, decentralizing apparatus, and decentralizing apparatus control method Download PDF

Info

Publication number
WO2007049388A1
WO2007049388A1 PCT/JP2006/315334 JP2006315334W WO2007049388A1 WO 2007049388 A1 WO2007049388 A1 WO 2007049388A1 JP 2006315334 W JP2006315334 W JP 2006315334W WO 2007049388 A1 WO2007049388 A1 WO 2007049388A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
processor
processors
mediating apparatus
result
Prior art date
Application number
PCT/JP2006/315334
Other languages
French (fr)
Japanese (ja)
Inventor
Chisato Numaoka
Original Assignee
Sony Computer Entertainment Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Publication of WO2007049388A1 publication Critical patent/WO2007049388A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Definitions

  • Search mediation apparatus search mediation method, distributed search system, distributed processing apparatus, and distributed processing apparatus control method
  • the present invention relates to a search mediating device, a search mediating method, a distributed search system, a distributed processing device, and a control method for the distributed processing device, and more particularly to distributed processing such as search using a multiprocessor.
  • Patent Document 1 discloses a parallel processing system that searches a text base at high speed.
  • this system includes a plurality of search servers 2 that perform search processing and a search management server 1 for managing the operations of the plurality of search servers.
  • Server 1 divides all relevant information based on the text base to be searched and the relevant text base, and combines the divided parts of the text base and related information corresponding to the divided parts into a plurality of searches. Assign to some or all of Server 2.
  • Each search server 2 performs an information search for the text-based divided portion allocated by the search management server 1 in parallel and independently.
  • Patent Document 2 a search request for data stored in a plurality of secondary storage devices 5 is sent to a plurality of servers operating on a plurality of processors 4.
  • a database management device 3 that performs load balancing of IZO and CPU by processing in parallel using processes and enables a reduction in response time.
  • Patent Document 3 As shown in FIG. 5C, a plurality of data bases that are distributed and accessible by the client 6 through one or more search servers 7 are also disclosed. A method for efficiently searching for source 8 is disclosed.
  • the index search unit 15 searches the database, and the P2P search unit 16 registers the peer-to-peer search for the peer node 21 that can be reached from the server 13 in the registered root node 17. Run through route node 20.
  • Patent Document 1 Japanese Patent Laid-Open No. 9-134364
  • Patent Document 2 Japanese Patent Laid-Open No. 9-305631
  • Patent Document 3 Japanese Patent Laid-Open No. 10-21250
  • Patent Document 4 U.S. Patent No. 6636854
  • the present invention has been made in view of the above problems, and one of its purposes is a search mediating apparatus capable of requesting a part of search processing to a computer with established trust relationship, search mediation A method and distributed search system are provided.
  • Another object of the present invention is to provide a distributed processing device capable of promptly confirming the existence of a trust relationship with a computer when processing such as search is distributed to a plurality of computers. It is to provide a method for controlling a distributed processing apparatus.
  • a search mediating apparatus is a search mediating apparatus that starts a search according to a search request from a client accompanied by search target information and outputs a search result.
  • a multi-processor including two or more processors each storing a secret key and a search engine having a search engine that is authenticated based on at least one of the two or more processors and the secret key stored in the processor
  • a search target information transmitting means for transmitting to the device at least a part of the search target information related to an ID stored in the processor; a search result receiving means for receiving a search result from the search device; It is characterized by providing.
  • the search mediating apparatus is a search mediating apparatus that starts a search in accordance with a search request from a client with search target information and outputs a search result, each storing an ID and a secret key.
  • At least one search device comprising: a multiprocessor including two or more processors; and a search engine authenticated based on a secret key stored in each of at least two of the two or more processors.
  • Search target information transmitting means for transmitting at least a part of the search target information related to the ID stored in the processor, and search result reception in which each of the at least two processors receives a search result from the search device.
  • search result integration means for integrating the search results received by each of the at least two processors.
  • a search mediating apparatus includes a search request one-chip multiprocessor that makes a search request to at least one search apparatus, and a database that indexes search results of the at least one search apparatus. And a search result integration one-chip multiprocessor integrated into the system.
  • a search mediating apparatus is a search mediating apparatus that makes a search request to a plurality of computers connected via a network in accordance with a search request from a client.
  • Determining means for determining whether each computer is a trusted computer or an untrusted computer based on the presence or absence of an authentication process with each computer; and a high reliability test for displaying an answer from the trusted computer.
  • Search result display means, and low reliability search result display means for displaying an answer from the unreliable computer separately from the display by the high reliability search result display means.
  • the distributed search system is a distributed search system having a plurality of search devices operating in a distributed environment, wherein at least one search request device, at least one search mediating device, and at least two search devices.
  • the search intermediary device includes a multiprocessor including at least two or more processors, and at least one processor included in the multiprocessor is one of the at least two or more search devices. After establishing a trust relationship with at least one, the search requesting device performs a search according to the received search request.
  • the distributed processing device is connected to a plurality of computers via a network, and a plurality of distributed processing devices that request each part of given processing from the computers.
  • a plurality of processors each including a memory for storing at least authentication information, and each of the plurality of processors is based on the authentication information stored in a memory provided in the processor. After performing the authentication process with at least one of the computers, a part of the given process is requested to the at least one computer.
  • FIG. 1 is a hardware configuration diagram of a computer used as a search mediating apparatus according to an embodiment of the present invention.
  • FIG. 2 is a configuration example of a sub processor provided in the computer shown in FIG.
  • FIG. 3 is a diagram showing an example of a search system.
  • FIG. 4 is a diagram illustrating a configuration example of a peer node.
  • FIG. 7 is a diagram showing another example of the search system.
  • FIG. 8 is a protocol diagram of search processing applied to the system shown in FIG.
  • FIG. 9 is a flowchart of peer node selection / authentication 'registration processing.
  • FIG. 10 is a diagram showing an example of a trust relationship between peer nodes included in the search system according to the present embodiment.
  • FIG. 11 is a flowchart of a piano selection “authentication” registration process when one sub-processor performs authentication with a plurality of peer nodes.
  • FIG. 12 A diagram showing a configuration example of a piano keyboard access table when one sub-processor performs authentication with a plurality of peer nodes.
  • FIG. 13 is a diagram showing an example of a search interface (user interface).
  • FIG. 14 is a flowchart showing an example of search processing.
  • FIG. 15 is a diagram showing another example of a trust relationship between peer nodes included in the search system according to the present embodiment.
  • FIG. 16 is a flowchart of peer node selection / authentication / registration processing when one sub-processor authenticates with a plurality of peer nodes and also makes a search request to a peer node having no trust relationship.
  • FIG. 17 is a diagram showing a configuration example of a peer node access table when one sub-processor authenticates with a plurality of peer nodes and also makes a search request to a peer node having no trust relationship.
  • FIG. 18 A diagram showing an example of a search interface when one sub-processor authenticates with a plurality of peer nodes and also makes a search request to a peer node having no trust relationship.
  • FIG. 19 is a diagram showing a device configuration example of a search mediating apparatus according to the present embodiment.
  • FIG. 20 is a diagram showing a conventional distributed / parallel search.
  • FIG. 21 is a diagram showing a conventional peer-to-peer search.
  • FIG. 1 is a system configuration example of a computer 31 used as a search relay device using the one-chip multi-core processor 32 used in the present invention.
  • the one-chip multicore processor 32 includes a main processor 39 having a processor core 40, sub-processors 33a to 33h having a processor core 34, an lZ interface 48, and a memory controller.
  • a total of 11 processing elements (information processing means) called “La 46” are coupled to the ring bus 45 and are configured to operate in parallel.
  • each processing element is uniquely identified (identified) on the ring bus 45 by an ID such as “SPE1”, for example, which element sends a request to which element via the ring bus 45. ! / Can be specified.
  • the memory controller 46 is coupled to the main memory 47 and mediates each processing element accessing the main memory 47.
  • the main memory 47 is drawn outside the one-chip multi-core processor 32, but the main memory 47 may be included inside the one-chip multi-core processor 32.
  • the main processor 39 and sub-processors can be connected by connecting a graphics card 55 with a bridge 49 and frame memory 56 and controlling the display output to the monitor 57, and an RF processing unit 59 that enables wireless communication using the antenna 61. 33 can control external devices and exchange data through communication with external devices.
  • This system is connected to a data communication network via a network interface 50, and the main processor 42 and the sub processor 33 can communicate with various devices on the network independently of each other.
  • the received signal acquired by the RF processing unit 59 is frequency-converted by the down converter 60, converted to digital data by the AD converter 58, and then supplied to the IO interface 48.
  • Each of the sub processors 33 includes a core 34, a local storage (LS) 35, a memory flow controller (MFC) 36 including a DMAC (Dict Memory Access Controller) 37, and a secure memory 38 including a secret key. It is included as a component.
  • the secure memory 38 is storage means such as a RAM that is accessed exclusively by the core 34 (that is, only from the core 34 provided in the same subprocessor 33 as the secure memory 38).
  • Secure memory can be part of local storage (LS) 35, as shown in Figure 2 (a), or dedicated hardware (core 34 force exclusive) as shown in Figure 2 (b). RAM accessed by Or other storage means).
  • the dedicated hardware may be a non-volatile memory or a volatile memory.
  • the local storage (LS) 35 has a public key 63 and a public key certificate 64 indicating that the public key 63 has been certified by a third party.
  • a peer node access table 65 holding information (address, etc.) related to access to external peer nodes is held.
  • each sub-processor 33 has its own local storage 35, once the program is loaded into the local storage 35, the subsequent processing is performed without accessing the main memory 47 unless necessary. Can continue.
  • the main processor 39 includes a core 40, an L1 cache, an L2 cache, and an MFC 43 including a DMAC 44 as constituent elements.
  • the operating system operates on the main processor 39, and a program that operates on each sub-processor 33 is determined based on the basic processing of the operating system.
  • the program power that operates in the sub-processor 33 may be a program that forms part of the operating system in the normal concept (for example, a device driver or a part of the system program).
  • the main processor 39 and the sub-processor 33 are instruction set architectures (ISAs) each having a different instruction set.
  • each of the sub processor 33 and the peer nodes 84a to 84h stores at least one secret key.
  • the sub processor 33 and each peer node 84 are provided with a public key certificate from a public key certificate authority based on their public keys 63.
  • the public key certificate authority issues a public key certificate (such as the public key 63 encrypted with the private key of the certificate authority), and the public key certificate is issued.
  • a reply is sent to the sub processor 33, and the sub processor 33 holds the public key certificate.
  • the public key certificate authority issues a public key certificate and returns the public key certificate to the peer node 84, and each peer node 84 receives the public key certificate. Holding.
  • public key authentication infrastructure X.509 recommended by ITU-T, for example, can be adopted.
  • each sub processor 33 when each sub processor 33 establishes a trust relationship with the peer node 84, the sub processor 33 first selects the external peer node 84 in S61.
  • a peer node selection server exists on the network here.
  • the piano selection server uniquely selects one peer node 84 based on the request of each sub processor 33, and the sub processor 33 communicates with the selected peer node 84 in the SSL handshake protocol in S62.
  • Mutual authentication is performed using For example, the sub-processor 33 receives the public key certificate from the selected peer node 84, decrypts the public key certificate using the public key of the public key certificate authority, and receives information on the peer node 84 (peer Node 84's public key and its administrator's name).
  • the piano card 84 is authenticated from this information.
  • the peer node 84 also receives the public key certificate from the sub processor 33, decrypts the public key certificate using the public key of the public key certificate authority, and obtains information on the sub processor 33 (sub processor 33). The public key and the name of the user). This information power also authenticates the sub-processor 33.
  • the sub-processor 33 will thereafter make the peer node 84 a trusted peer node unless a failure such as inaccessibility occurs. to decide. Therefore, in step S64, the sub processor 33 registers information related to the peer node 84 in the peer node access table 65 shown in FIG.
  • the process returns to S61 again, and the sub processor 33 requests the peer node selection server to select the peer node again. If the mutual authentication is successful until the end (for example, until a predetermined time elapses), the sub-processor 33 determines that there is no reliable peer node. in this case, In the present embodiment, the sub-processor 33 does not participate (participate in) the search processing distributed processing.
  • the above processing may be executed when a search request is made from a client, or may be executed at other appropriate timing such as when the computer 31 is started up.
  • the first embodiment can be classified into the following two types depending on how search results are returned to the search requester.
  • FIG. 3 shows how the mutual authentication between the sub-processor 33 and the peer node 84 has already been successful by the process of FIG.
  • Eight sub-processors 33 are associated with eight peer nodes 84a to 84h via a network 85 such as the Internet or a home network.
  • sub-processor 33a is associated with peer node 84a
  • sub-processor 33b is associated with peer node 84b.
  • the power shown by the eight sub-processors 33 is established with the external peer node 84, and there are at least one sub-processor 73 involved in the search process. Good.
  • the peer node 84 shown in FIG. 3 may have the same configuration as the computer 31, or FIG.
  • a general purpose or special purpose computer having a secure memory 88 in the main memory 87 accessed from the main processor 86 or a secure memory 88 independent of the main memory 87, as shown in (a) and (b). It may be.
  • the peer node 84 adopts the configuration shown in FIG. 4, the private key 62 is stored in the secure memory 88, the public key 63, the public key certificate 64 issued by a third party, and the A peer anode access table 65 is provided.
  • the computer 31 in FIG. 3 is a single processor piano, the main processor 42 is the main processor 86 in FIG.
  • the main memory 47 in 3 can be configured to be the main memory 87 in FIG. That is, the main memory 47 has a storage area corresponding to the secure memory 88 as shown in FIG.
  • a search request (search request data) is input from the client computer 83 on the network 85 (see FIG. 3) or via the input interface 54 such as a keyboard connected to the computer 31.
  • the search request is accepted by one of the main processor 42 or the sub processor 33 (hereinafter referred to as main PE).
  • Search requests include search data such as text data (keywords, natural language sentences, etc.), image (PICT etc.), video (AVC or MPEG4 etc.), sound (MP3 or AAC etc.) or voice.
  • the search data is written on the shared memory on the main memory 47 so that it can be read by the main processor 42 and all sub-processors 33 in step S2.
  • the search data can be divided and allocated to each sub processor 33.
  • the N search keywords are divided into the number of sub-processors 33, and a part of the search keywords is assigned to each sub-processor 33.
  • the search keyword assigned to each sub processor 33 is stored in association with the ID of the sub processor 33 or information equivalent to the ID. More specifically, for example, assume that the following keyword set is specified.
  • Keyword ⁇ distributed, system, parallel, computer, 2000 ⁇
  • the search system calculates the logical sum of data including each keyword. If there are three sub-processors, SPU1, SPU2, and SPU3, the above keyword is divided into three sets such as ⁇ Distributed, System ⁇ , ⁇ Parallel, Computer ⁇ , and ⁇ 2000 ⁇ . Ask. Then, associate each subset with the ID of each SPU. Write to in-memory 47. Thereby, each sub processor can read a keyword group to be searched by the sub processor from the main memory 47 based on the ID assigned to the sub processor.
  • each search intermediary PE (at least one of the sub-processors 33 in FIG. 3 executes a search process using the assigned search keyword independently).
  • the fact that the search data has been written on the main memory 47 is notified using means such as an interrupt or asynchronous message communication.
  • each search intermediary PE can monitor a specific memory location corresponding to the search intermediary PE and move to step S4 when new data is written.
  • each search intermediary PE issues an access request to the main memory 47 in parallel, and reads the search data allocated to the search intermediary PE.
  • the search intermediary PE can read only the keyword with an ID that matches its own ID.
  • the search intermediary PE uses the keyword read in step S4 as search data, and sends its ID and public key certificate to the peer node on the network 85 having the search engine associated as described above.
  • a search request is sent with 64 attached (step S5).
  • the peer node When the search is completed, the peer node returns the search result in step S6 with the common key certificate of the peer node attached to the search intermediary PE having the ID included in the request (step S6). .
  • the search intermediary PE that received the search result reply writes the search result to the main memory 47 with its own ID attached (step S7), and writes the search result to the main memory 47 for the main processor 42.
  • the completion is notified using an interrupt or asynchronous message communication (step S8).
  • the main processor 42 After sending the search data write notification to the search intermediary PE in step S3, the main processor 42 sends the search results to the main memory 77 from all search intermediary PEs involved in the search process. Wait for notification of writing (step S10), and then, in step S9, request the main memory 77 to read the search results and obtain all the search results. After that, all the search results, for example, the number of keywords Sort by a certain standard, such as many, order, etc., and reassemble as a single search result data (step S11), and in step 12, send the data to the client computer 83 that issued the search request It is processed whether it is displayed on the user interface such as a display or a display connected to the computer 71. Further, the completion of the search process may be reported to the client computer 83 or the computer 71 (that is, itself) that has issued the search request.
  • Step S21 to S27 correspond to steps S1 to S7, respectively, and thus the description thereof is omitted here.
  • This type is characterized in that each search intermediary PE sends a search result report to the search requester independently. Therefore, in step S28, the search result report is reported directly (sequentially) in parallel to the search mediator PE client computer 83 or computer 71 in parallel with the operation of other search mediator PEs. It has been made. Simultaneously or in parallel with this step S28, the main PE is notified of the search result report (step S29).
  • step S23 the main PE sends a search data write notification to the search intermediary PE, and then the search results are written to the main memory 77 from all search intermediary PEs involved in the search process.
  • step S30 the client computer 83 or the computer 71 reports completion of the search result (step S31).
  • search result integration and integration result report processing are also performed in parallel.
  • This example is implemented using a search result request 'result notification unit implemented using a computer 31-1 including a one-chip multicore processor 32-1 and a computer 31-2 including a one-chip multicore processor 32-2.
  • Search result integration • The integrated result reporting unit, of course, also searches for search results. • The result notification unit also integrates the results collected from the peer node 112 of the network 85. Search processing for databases stored in storage devices) and non-volatile memories such as flash memory)
  • At least one sub-processor 33-1 included in the one-chip multi-core processor 32-1 of the search result request 'result notification unit is connected to the network 85.
  • a trust relationship has already been established by performing mutual authentication with at least one peer node 112 arranged in a distributed manner, and each sub-processor 33-1 that has received a search request has established a trust relationship. Requests a part of the search to the peer node 112 that is searching. For example, when the sub processor 93-la has established a trust relationship with the peer node 112a, it makes a search request to the peer node 112a.
  • step S41 a search request from the client 83 on the network 85, or a search request power S through the user input interface of the computer 31, a search result request.
  • Result notification unit main PE1 for example, main processor 42-1
  • the main PE1 issues a search request 1 to the main PE2 (for example, the main processor 42-2) of the search result integration / integration result reporting unit (step S42) and searches the main memory 47-1 Write the target data (step S43).
  • the search data request / result notification unit search mediator PE for example, at least one of the sub-processors 941) interrupts that the search data has been written to the main memory 47-1.
  • step S44 Notification is made by asynchronous message communication (step S44).
  • the search intermediary PE that has received the search data write notification reads the search data (search keyword) associated with its ID in step S45, and has a peer node that is in a trust relationship (eg, peer node 112 in FIG. 9).
  • Search request 2 is performed for at least one of the above (step S46).
  • the main PE2 executes a search process for the local storage 110 in response to the search request 1, and writes the search result 1 as a result to the main memory 47-2 (step S47). Thereafter, the main PE 2 reports to the client 83 that the search result 1 has been written to the main memory 47-2 (step S48).
  • step S54 While the search result 2 from all the peer nodes 112 is returned, the main PE 2 is in a waiting state in step S54. During this time, when a search for a certain peer node is completed, a search result 2 is returned to the search intermediary PE that has issued a search request to the piano node (step S49). In response, the search intermediary PE sends the search result 2 to the search result integration-integrated result reporting unit's result writing PE (eg, one of sub-processors 33-2) associated with the search intermediary PE. Report (step S50).
  • the search result integration-integrated result reporting unit's result writing PE eg, one of sub-processors 33-2
  • the result writing PE calculates an index so that the search result data indicating the search result 2 can be indexed (step S51), and writes the indexed state into the main memory 47-2 (step S52). ) And the completion of writing search result 2 to main PE2 using an interrupt or asynchronous message communication (step S53) o Main PE2 has all peer node capabilities in step S54.
  • a request to read all the search results 2 is issued to the memory 47-2, and the search result data indicating the search results 2 is read therefrom (step S55).
  • step S56 a difference between search result 1 and search result 2 (a search result included in search result 2 but not included in search result 1) is calculated, and search data corresponding to the difference is calculated.
  • Register based on the index in the database provided on the local storage 110 nonvolatile memory such as HDD or flash memory).
  • the main PE 2 sends the difference between the search results 1 and 2 to the client 83 (step S57) and reports the search completion to the main PE 1 of the search result request 'result notification unit (step S57). S58). Finally, data indicating that the requested search has been completed is transmitted from the main PE 1 to the client 83 (step S59).
  • the search power of main PE2 is assumed to be completed earlier than the search of all peer nodes 112.
  • it waits for reports of search results 2 from all the peer nodes 112, calculates the difference between search results 1 and 2 and registers it in the database on the local storage 110.
  • the result of merging search result 1 and search result 2 (data corresponding to the logical sum of search result 1 and search result 2) is reported to client 83 at the timing corresponding to step S57.
  • step S48 becomes unnecessary.
  • step S56 is executed. In this case, step S48 is not necessary.
  • one sub processor of the mano core processor is connected via the network 85. After establishing a trust relationship with the peer computer by mutual authentication, the sub processor power also asks the peer computer to perform a search process, and each sub processor receives the search result.
  • the computer itself including the sub-processor can also be called a peer node because it also has a function as a server that accepts other computer requests in addition to a function as a client that requests other peer computers to search. .
  • one sub-processor establishes a trust relationship with only one peer node.
  • one sub-processor may have a trust relationship with a plurality of peer nodes and make a search request.
  • a tree network of peer nodes may be configured with the peer node 120 receiving the search request as the apex.
  • the peer node 120 that first receives a search request has established a trust relationship with the two peer nodes 121a and 121a, and the peer node 121a has established a trust relationship with the peer nodes 122a and 122b.
  • Each piano keyboard may be a computer system using a one-chip multiprocessor as shown in Fig. 1! /.
  • the peer node 120 when the peer node 120 receives a search request from a client, the search request is transmitted downward (toward the end of the tree).
  • the peer nodes 124a, 124b, 125, 126a, 126b, and 127 that are sown at the end of the trust relationship return the search results upward (in the root direction of the tree).
  • the search results of all the peer nodes are collected in the peer node 120 that first receives a search request from the client.
  • a client (not shown) making a search request to the peer node 120 receives this search result and displays it to the user.
  • the peer node 120 itself is a search server having a user interface, the search result is displayed to the user via the user interface on the spot.
  • step S71 it is determined how many peer nodes are to be selected (how many peer nodes to try mutual authentication).
  • the processing in FIG. 11 is essentially the same as the processing in FIG. N can also be infinite.
  • the peer node access table 65 in FIG. 2 or 4 is generally finite.
  • step S72 it is verified whether N is 0 or not, that is, whether or not authentication has been performed for N scheduled peer nodes. While N is not 0, the process proceeds to step S73 to check whether there is a peer node that can be selected. As a result, if there is a peer node that can be selected, N is decremented by 1 in step S74, and then the process proceeds to step S75 to select the peer node. If the peer node to be selected does not already exist, the registration process is terminated. In step S76, mutual authentication is performed with the peer node selected in step S75. For example, an SSL handshake protocol can be used. Finally, in step S77, it is confirmed whether the peer node authentication is successful.
  • FIG. 12 shows an example of the peer node access table 65 of FIG. 2 or FIG.
  • the peer node ID here, the local ID seen from the computer that holds the table that is not the global ID
  • the public key certificate storage location that is the address in the local memory
  • the registered are registered.
  • the IP address of the peer node and a response indicating whether or not the registered peer node is currently accessible exist as items.
  • the location on the other party's network is in some form, such as a power MAC address using an IP address.
  • “OK” is displayed! /, Indicates an accessible peer node, and “NO” indicates that access is not possible for some reason (eg network disconnection or computer power off). Show the peer node!
  • FIG. 13 shows an example of a user interface (search interface) for using this embodiment.
  • This user interface is displayed on the monitor 57 of the computer 31 and includes a search start button 132, a search stop button 133, a search condition input unit 134, a search expression input unit 135, a search genre specification unit 136, and a search result display. Includes part 137.
  • the search condition input unit 134 inputs the maximum search wait time as part of the search condition. In this example, there are three options: 1 minute, 10 minutes, and unlimited, with the check box of 1 minute marked.
  • the search expression input unit 135 is an input form for inputting one or a plurality of search keywords.
  • the search genre designation unit 136 designates a search genre (type of data to be searched), and web, image, sound, news, group, and directory are shown as options. For example, if a sound is selected, sound data is displayed on the search result display unit 137 as a search result.
  • FIG. 14 shows a main part of processing of the search application. This process is executed when searching by the computer 31 or the client 83.
  • the search application including the user interface program that displays the screen of FIG. 13
  • the search is performed. Wait for an instruction to start (step S82).
  • the search button 132 is pressed, the search time limit (for example, a fixed value) is stored in the memory by checking the conditions set in the search condition input unit 134 of the search interface in FIG. Step S83). Then check to see if a remote search server is specified. For example, it is checked whether the remote server location (location identification information) such as URL or IP address is set in a specified variable such as remote_server.
  • variable keywordjist is a variable indicating the keyword group input to the search expression input unit 135 in FIG.
  • search— request 1 (remote— server, keyword— 1 i s t);
  • the peer node that processes each part of the search request includes an untrusted peer node.
  • This figure differs from Fig. 12 in that nodes in the tree network contain unreliable peer nodes.
  • the peer nodes 142a, 144b, 145, and 146b are peer nodes that cannot establish a trust relationship.
  • the peer node 141a Recognize it as an unreliable search result. This is because information may be tampered with on an untrusted node due to an untrusted node in between.
  • FIG. 16 is a flowchart showing a registration process of a peer node when one sub-processor authenticates with a plurality of peer nodes, establishes a trust relationship in a part of the sub-processor, and can include one. is there.
  • the processing in this figure is based on the tree-structured network in Fig. 15, and is partially modified from the flowchart in Fig. 11. Specifically, what differs from FIG. 11 is the processing after step S77.
  • FIG. 11 adds step S79 as a process after the peer node authentication has failed. Yes.
  • the peer node is registered in the peer node access table as a peer node having no trust relationship.
  • FIG. 17 shows an example of a peer node access table generated by the process of FIG. Compared with the peer node access table shown in FIG. 12, the peer node access table shown in FIG.
  • the reliability of the peer node ID 0004 is “none”. This indicates that the peer node that is determined to have failed in the peer node authentication in step S77, that is, is recognized as an unreliable peer node.
  • the public key certificate storage location of this peer node ID 0004 is indicated as “NONE”. Untrusted peer nodes do not have public key certificates, so local memory This is because it cannot be stored.
  • FIG. 18 shows an example of a user interface (search interface) when a search request is processed by a tree-structure network including untrusted peer nodes as shown in FIG.
  • the screen area for displaying the search results is divided into a search result display unit 147 for a peer node having a trust relationship and a search result display unit 148 for a peer node having no trust relationship. Except for the above, it is the same as the user interface 131 shown in FIG.
  • FIG. 19 shows an example of the device configuration of the search mediating apparatus according to the present embodiment.
  • a monitor 160 such as a television receiver
  • the main body of the search mediating device 151 displays a search result or accepts a search request using the monitor 160.
  • the search intermediary device 151 includes an input interface such as a switch 154 for starting / stopping the device, a confirmation lamp (indicator) 155 indicating operation / non-operation, an IR light receiving unit 152 for receiving an infrared signal from a remote controller, and a keyboard 159.
  • a connection interface 153 such as USB is provided.
  • the keyboard 159 is depicted as being wired and connected to the connection interface 153.
  • the connection interface 153 is a wireless communication interface
  • the keyboard 159 may be a wireless keyboard. It is possible to communicate with the connection interface 153 in accordance with a communication standard such as llaZbZg.
  • the remote controller 156 includes an infrared light emitting unit 157 and a keypad unit 158 including a plurality of numbers, characters, or direction instruction keys. Each key may be configured so that an input type such as numeric input, character input, or direction indication input can be selected with one key (input type selection key).
  • one of the keys is an input type selection key
  • the keypad unit is provided with a display unit for displaying the inputted character, and the display unit has a display unit for the currently selected input type ( Numbers, letters, or direction instructions) are displayed.
  • the input character string is further displayed on the display unit.
  • the search mediating apparatus 151 is configured as shown in FIG. 1, for example, and is connected to a monitor 160 (corresponding to the monitor 57 in FIG. 1) via a graphic card 55.
  • the output generated by the processor of the device 151 is displayed.
  • a search interface 141 as shown in FIG. 18 is displayed.
  • the search interface is operated using a user interface such as the remote control 156 or the keyboard 159.
  • the input type may be set to “direction indication” by the remote controller 156, and the cursor may be moved between the buttons on the search interface 141 by instructing the direction of the key force of the keypad unit 158.
  • the cursor position is set in order such as a search start button 132, a search stop button 133, a search condition input unit 134, a search expression input unit 135,. Can be changed.
  • the present invention is not limited to the above embodiments.
  • the example in which the present invention is applied to a search system using a network is taken up.
  • the present invention is not limited to this, and various processes are distributed by a plurality of computers arranged on the network.
  • the computer 31 is configured as a distributed processing device, and is connected to a plurality of computers (such as peer node 84) via the network 85. Then, each computer is requested for each part of given processing such as numerical calculation and graphics processing.
  • the distributed processing apparatus includes a one-chip multi-core processor 32 including a plurality of sub-processors 33 as in the configuration of FIG.
  • each sub-processor 33 involved in the distributed processing has a local storage 35.
  • Requests at least one computer for part of a given process At this time, the request includes the ID of the sub-processor 33 that is the request source.
  • the computer that has received the request returns the processing result including this ID to the distributed processing device that is the computer 31.
  • the sub-processor 33 that requested the distributed processing acquires a processing result including its own ID from various received data.
  • the main processor 42 or the like integrates the processing results in the sub processors 33 involved in the distributed processing, and outputs the integration result to the monitor 57 or the like, for example. In this way, it is possible to prevent the situation in which each sub processor 33 accesses the main memory 47 during mutual authentication and it takes a long time to read out the authentication information. Mutual authentication with computers is possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

A search intermediating apparatus capable of requesting a computer, with which a reliable relationship is established, to do a part of a search processing. A search intermediating apparatus, which starts a search in accordance with a search request, accompanied by search information, from a client and which outputs a search result, includes a one-chip multi-core processor (32) comprising two or more processors that store respective IDs and secret keys. At least one of the two or more processors transmits, based on the secret key stored in that processor, at least a part of the foregoing search information related to the ID stored in that processor to a searching apparatus having an authenticated search engine, and receives a search result from the searching apparatus.

Description

明 細 書  Specification
検索仲介装置、検索仲介方法、分散検索システム、分散処理装置及び 分散処理装置の制御方法  Search mediation apparatus, search mediation method, distributed search system, distributed processing apparatus, and distributed processing apparatus control method
技術分野  Technical field
[0001] 本発明は検索仲介装置、検索仲介方法、分散検索システム、分散処理装置及び 分散処理装置の制御方法に関し、特に、マルチプロセッサを用いた検索などの分散 処理に関する。 背景技術  The present invention relates to a search mediating device, a search mediating method, a distributed search system, a distributed processing device, and a control method for the distributed processing device, and more particularly to distributed processing such as search using a multiprocessor. Background art
[0002] 検索システムにおいては、一つの検索サーバに検索処理が集中してしまうことによ つて処理能力が低下してしまうのを防ぐために、複数の検索サーバを用いて負荷分 散したり、マルチプロセッサによって複数の検索データベースに並列にアクセスしたり することが行われている。  [0002] In a search system, in order to prevent the processing performance from being reduced due to the concentration of search processing on one search server, load distribution using multiple search servers, Some processors access multiple search databases in parallel.
[0003] 例えば、下記特許文献 1には、テキストベースを高速に検索する並列処理システム が開示されている。このシステムは、図 20 (a)に示すように、検索処理を行う複数の 検索サーバ 2と、当該複数の検索サーバの動作を管理するための検索管理サーバ 1 と、を備えており、検索管理サーバ 1は、検索対象となるテキストベースと当該テキスト ベースにっ 、ての関連情報を分割し、当該テキストベースの分割部分とその分割部 分に対応する関連情報とを組にして、複数の検索サーバ 2のうちの一部又は全部に 割り当てる。そして、各検索サーバ 2は、検索管理サーバ 1によって割り当てられたテ キストベースの分割部分に対する情報検索を、並列かつ独立に行うようにしている。  [0003] For example, Patent Document 1 below discloses a parallel processing system that searches a text base at high speed. As shown in FIG. 20 (a), this system includes a plurality of search servers 2 that perform search processing and a search management server 1 for managing the operations of the plurality of search servers. Server 1 divides all relevant information based on the text base to be searched and the relevant text base, and combines the divided parts of the text base and related information corresponding to the divided parts into a plurality of searches. Assign to some or all of Server 2. Each search server 2 performs an information search for the text-based divided portion allocated by the search management server 1 in parallel and independently.
[0004] また、下記特許文献 2には、同図(b)に示すように、複数の二次記憶装置 5に格納 されたデータに対する検索要求を、複数のプロセッサ 4上で動作する複数のサーバ プロセスを用いて並列に処理することによって、 IZO及び CPUの負荷分散を行い、 応答時間の短縮を可能にするデータベース管理装置 3が開示されている。  [0004] Also, in Patent Document 2 below, as shown in FIG. 4B, a search request for data stored in a plurality of secondary storage devices 5 is sent to a plurality of servers operating on a plurality of processors 4. There is disclosed a database management device 3 that performs load balancing of IZO and CPU by processing in parallel using processes and enables a reduction in response time.
[0005] さらに、下記特許文献 3には、同図(c)に示すように、分散されており、かつ一又は それ以上の検索サーバ 7を介してクライアント 6力もアクセス可能な複数個のデータべ ース 8を効率的に探索する方法が開示されている。 [0006] 一方、下記特許文献 4に開示されたシステムでは、図 21に示すように、検索ェンジ ン 14を備えたサーバ 13は、クライアント 11の WEBブラウザ 12から検索要求を受信 すると、該検索要求にしたがって、インデックス検索部 15がデータベースの検索を行 うとともに、さらに P2P検索部 16が、サーバ 13から到達できるピアノード 21に対する ピアトウピア(Peer-to-Peer)検索を、登録済みルートノード 17に登録されたルートノー ド 20を介して実行する。そして、このピアトウピア検索の結果をサーバ 13が受信した 後、インデックス検索部 15の検索結果と P2P検索部 16の検索結果とを検索結果コン パイラ 18がマージして、その結果をクライアント 11に回答する方法が開示されて 、る 特許文献 1:特開平 9 - 134364号公報 [0005] Further, in Patent Document 3 below, as shown in FIG. 5C, a plurality of data bases that are distributed and accessible by the client 6 through one or more search servers 7 are also disclosed. A method for efficiently searching for source 8 is disclosed. On the other hand, in the system disclosed in Patent Document 4 below, when the server 13 having the search engine 14 receives the search request from the WEB browser 12 of the client 11 as shown in FIG. Accordingly, the index search unit 15 searches the database, and the P2P search unit 16 registers the peer-to-peer search for the peer node 21 that can be reached from the server 13 in the registered root node 17. Run through route node 20. Then, after the server 13 receives the result of the peer-to-peer search, the search result compiler 18 merges the search result of the index search unit 15 and the search result of the P2P search unit 16, and returns the result to the client 11. A method is disclosed Patent Document 1: Japanese Patent Laid-Open No. 9-134364
特許文献 2:特開平 9 - 305631号公報  Patent Document 2: Japanese Patent Laid-Open No. 9-305631
特許文献 3:特開平 10— 21250号公報  Patent Document 3: Japanese Patent Laid-Open No. 10-21250
特許文献 4:米国特許第 6636854号明細書  Patent Document 4: U.S. Patent No. 6636854
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0007] し力しながら、これまでの分散'並列検索システムにおいては、検索依頼を行うコン ピュータと、検索を実行するコンピュータとの間に確実な信頼関係が存在しないため 、ユーザは、ウィルスに感染したサーバやパフォーマンスの悪いコンピュータに対し て検索依頼を行い、結果として、悪質なコンピュータが提供するデータやホームべ一 ジに意図しないでアクセスしてしまったり、パフォーマンスの悪いサーバからの返信を 長時間にわたって待ってしまったりする可能性があった。特に、図 21に示すように、 多数のピアノード 21に対してピアトウピア検索を実行する場合には、こうした問題が生 じゃすい。 [0007] However, in a distributed 'parallel search system so far, there is no reliable trust relationship between the computer that makes the search request and the computer that executes the search. A search request is sent to an infected server or a computer with poor performance, and as a result, unintentional access to data or the home page provided by the malicious computer or a long response from a server with poor performance There was a possibility of waiting over time. In particular, as shown in FIG. 21, when a peer-to-peer search is performed on a large number of peer nodes 21, such a problem does not occur.
[0008] 本発明は上記課題に鑑みてなされたものであって、その目的の一つは、信頼関係 が確立されたコンピュータに検索処理の一部を依頼することができる検索仲介装置、 検索仲介方法、分散検索システムを提供することにある。  [0008] The present invention has been made in view of the above problems, and one of its purposes is a search mediating apparatus capable of requesting a part of search processing to a computer with established trust relationship, search mediation A method and distributed search system are provided.
[0009] また、他の目的は、複数のコンピュータに検索などの処理を分散する場合にそれら コンピュータとの信頼関係の有無の確認を速やかに行うことができる分散処理装置、 分散処理装置の制御方法を提供することにある。 [0009] Another object of the present invention is to provide a distributed processing device capable of promptly confirming the existence of a trust relationship with a computer when processing such as search is distributed to a plurality of computers. It is to provide a method for controlling a distributed processing apparatus.
課題を解決するための手段  Means for solving the problem
[0010] 上記課題を解決するために、本発明に係る検索仲介装置は、検索対象情報を伴う クライアントからの検索要求に従って検索を開始し、検索結果を出力する検索仲介装 置であって、 IDと秘密鍵をそれぞれ記憶する二以上のプロセッサを含むマルチプロ セッサと、前記二以上のプロセッサのうち少なくとも一力 当該プロセッサに記憶され る秘密鍵に基づ 、て認証済みである検索エンジンを備える検索装置に対して、前記 検索対象情報のうち当該プロセッサに記憶される IDに関係する少なくとも一部を送 信する検索対象情報送信手段と、前記検索装置から検索結果を受信する検索結果 受信手段と、を備えることを特徴とする。  [0010] In order to solve the above-described problem, a search mediating apparatus according to the present invention is a search mediating apparatus that starts a search according to a search request from a client accompanied by search target information and outputs a search result. And a multi-processor including two or more processors each storing a secret key and a search engine having a search engine that is authenticated based on at least one of the two or more processors and the secret key stored in the processor A search target information transmitting means for transmitting to the device at least a part of the search target information related to an ID stored in the processor; a search result receiving means for receiving a search result from the search device; It is characterized by providing.
[0011] また、本発明に係る検索仲介装置は、検索対象情報を伴うクライアントからの検索 要求に従って検索を開始し、検索結果を出力する検索仲介装置であって、 IDと秘密 鍵をそれぞれ記憶する二以上のプロセッサを含むマルチプロセッサと、前記二以上 のプロセッサのうち少なくとも二の各々力 該プロセッサに記憶される秘密鍵に基づ いて認証済みである検索エンジンを備える少なくとも一の検索装置に、前記検索対 象情報のうち該プロセッサに記憶される IDと関係する少なくとも一部を送信する検索 対象情報送信手段と、前記少なくとも二のプロセッサの各々が前記検索装置から検 索結果を受信する検索結果受信手段と、前記少なくとも二のプロセッサの各々が受 信した検索結果を統合する検索結果統合手段と、を備えることを特徴とする。  [0011] The search mediating apparatus according to the present invention is a search mediating apparatus that starts a search in accordance with a search request from a client with search target information and outputs a search result, each storing an ID and a secret key. At least one search device comprising: a multiprocessor including two or more processors; and a search engine authenticated based on a secret key stored in each of at least two of the two or more processors. Search target information transmitting means for transmitting at least a part of the search target information related to the ID stored in the processor, and search result reception in which each of the at least two processors receives a search result from the search device. And search result integration means for integrating the search results received by each of the at least two processors. And
[0012] また、本発明の他の側面に係る検索仲介装置は、少なくとも一の検索装置に検索 依頼を行う検索依頼ワンチップマルチプロセッサと、前記少なくとも一の検索装置の 検索結果をインデックスしてデータベースに統合する検索結果統合ワンチップマル チプロセッサと、を備えることを特徴とする。  [0012] In addition, a search mediating apparatus according to another aspect of the present invention includes a search request one-chip multiprocessor that makes a search request to at least one search apparatus, and a database that indexes search results of the at least one search apparatus. And a search result integration one-chip multiprocessor integrated into the system.
[0013] また、本発明のさらに他の側面に係る検索仲介装置は、クライアントからの検索要 求に従って、ネットワークを介して接続された複数のコンピュータに対して検索依頼を 行う検索仲介装置であって、前記各コンピュータとの認証処理の有無により前記各コ ンピュータが信頼できるコンピュータであるか信頼できないコンピュータであるかを判 断する判断手段と、前記信頼できるコンピュータからの回答を表示する高信頼性検 索結果表示手段と、前記信頼できないコンピュータからの回答を前記高信頼性検索 結果表示手段による表示とは区別して表示する低信頼性検索結果表示手段と、を備 えることを特徴とする。 [0013] Further, a search mediating apparatus according to still another aspect of the present invention is a search mediating apparatus that makes a search request to a plurality of computers connected via a network in accordance with a search request from a client. Determining means for determining whether each computer is a trusted computer or an untrusted computer based on the presence or absence of an authentication process with each computer; and a high reliability test for displaying an answer from the trusted computer. Search result display means, and low reliability search result display means for displaying an answer from the unreliable computer separately from the display by the high reliability search result display means.
[0014] さらに、本発明に係る分散検索システムは、分散環境で動作する複数の検索装置 力 なる分散検索システムであって、少なくとも一の検索依頼装置と、少なくとも一の 検索仲介装置と、少なくとも二以上の検索装置と、を含み、前記検索仲介装置は、少 なくとも二以上のプロセッサを含むマルチプロセッサを備え、当該マルチプロセッサに 含まれる少なくとも一のプロセッサは、前記少なくとも二以上の検索装置のうち少なく とも一と信頼関係を確立した後、前記検索依頼装置力 受信した検索要求に従って 検索を行う、ことを特徴とする。  [0014] Further, the distributed search system according to the present invention is a distributed search system having a plurality of search devices operating in a distributed environment, wherein at least one search request device, at least one search mediating device, and at least two search devices. The search intermediary device includes a multiprocessor including at least two or more processors, and at least one processor included in the multiprocessor is one of the at least two or more search devices. After establishing a trust relationship with at least one, the search requesting device performs a search according to the received search request.
[0015] また、本発明に係る分散処理装置は、ネットワークを介して複数のコンピュータと接 続され、所与の処理の各一部を前記各コンピュータに要求する分散処理装置にぉ 、 て、複数のプロセッサを含むとともに、前記各プロセッサが少なくとも認証情報を記憶 するメモリを備えるマルチプロセッサを備え、前記各プロセッサは、該プロセッサに備 えられるメモリに記憶される認証情報に基づ 、て、前記複数のコンピュータのうち少 なくとも一と認証処理を行った後、前記所与の処理の一部を該少なくとも一のコンビ ユータに要求する、ことを特徴とする。  [0015] Further, the distributed processing device according to the present invention is connected to a plurality of computers via a network, and a plurality of distributed processing devices that request each part of given processing from the computers. And a plurality of processors each including a memory for storing at least authentication information, and each of the plurality of processors is based on the authentication information stored in a memory provided in the processor. After performing the authentication process with at least one of the computers, a part of the given process is requested to the at least one computer.
図面の簡単な説明  Brief Description of Drawings
[0016] [図 1]本発明の一実施形態に係る検索仲介装置として用いられるコンピュータのハー ドウエア構成図である。  FIG. 1 is a hardware configuration diagram of a computer used as a search mediating apparatus according to an embodiment of the present invention.
[図 2]図 1に示すコンピュータに備えられたサブプロセッサの構成例である。  2 is a configuration example of a sub processor provided in the computer shown in FIG.
[図 3]検索システムの一例を示す図である。  FIG. 3 is a diagram showing an example of a search system.
[図 4]ピアノードの構成例を示す図である。  FIG. 4 is a diagram illustrating a configuration example of a peer node.
[図 5]並列検索 ·統合一括報告型の検索処理のプロトコル図である。  [Figure 5] Parallel search · Integrated batch report type search processing protocol diagram.
[図 6]並列検索 ·並列逐次報告型の検索処理のプロトコル図である。  [Figure 6] Parallel search · Parallel sequential report type search processing protocol diagram.
[図 7]検索システムの他の例を示す図である。  FIG. 7 is a diagram showing another example of the search system.
[図 8]図 7に示すシステムに適用される検索処理のプロトコル図である。  FIG. 8 is a protocol diagram of search processing applied to the system shown in FIG.
[図 9]ピアノード選択 ·認証'登録処理のフローチャートである。 [図 10]本実施形態に係る検索システムに含まれるピアノード間の信頼関係の一例を 示す図である。 FIG. 9 is a flowchart of peer node selection / authentication 'registration processing. FIG. 10 is a diagram showing an example of a trust relationship between peer nodes included in the search system according to the present embodiment.
[図 11]一つのサブプロセッサが複数のピアノードと認証を行う場合における、ピアノ一 ド選択 '認証'登録処理のフローチャートである。  FIG. 11 is a flowchart of a piano selection “authentication” registration process when one sub-processor performs authentication with a plurality of peer nodes.
[図 12]—つのサブプロセッサが複数のピアノードと認証を行う場合における、ピアノ一 ドアクセステーブルの一構成例を示す図である。  [FIG. 12] —A diagram showing a configuration example of a piano keyboard access table when one sub-processor performs authentication with a plurality of peer nodes.
[図 13]検索インタフェース(ユーザインタフェース)の一例を示す図である。  FIG. 13 is a diagram showing an example of a search interface (user interface).
[図 14]検索処理の一例を示すフローチャートである。  FIG. 14 is a flowchart showing an example of search processing.
[図 15]本実施形態に係る検索システムに含まれるピアノード間の信頼関係の他の例 を示す図である。  FIG. 15 is a diagram showing another example of a trust relationship between peer nodes included in the search system according to the present embodiment.
[図 16]—つのサブプロセッサが複数のピアノードと認証を行い、かつ信頼関係のない ピアノードに対しても検索依頼を行う場合における、ピアノード選択 ·認証 ·登録処理 のフローチャートである。  FIG. 16 is a flowchart of peer node selection / authentication / registration processing when one sub-processor authenticates with a plurality of peer nodes and also makes a search request to a peer node having no trust relationship.
[図 17]—つのサブプロセッサが複数のピアノードと認証を行い、かつ信頼関係のない ピアノードに対しても検索依頼を行う場合における、ピアノードアクセステーブルの一 構成例を示す図である。  FIG. 17 is a diagram showing a configuration example of a peer node access table when one sub-processor authenticates with a plurality of peer nodes and also makes a search request to a peer node having no trust relationship.
[図 18]—つのサブプロセッサが複数のピアノードと認証を行い、かつ信頼関係のない ピアノードに対しても検索依頼を行う場合における、検索インタフェースの一例を示 す図である。  [FIG. 18] —A diagram showing an example of a search interface when one sub-processor authenticates with a plurality of peer nodes and also makes a search request to a peer node having no trust relationship.
[図 19]本実施形態に係る検索仲介装置の機器構成例を示す図である。  FIG. 19 is a diagram showing a device configuration example of a search mediating apparatus according to the present embodiment.
[図 20]従来の分散 ·並列検索を示す図である。  FIG. 20 is a diagram showing a conventional distributed / parallel search.
[図 21]従来のピアトウピア検索を示す図である。  FIG. 21 is a diagram showing a conventional peer-to-peer search.
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0017] 以下、本発明の一実施形態について図面に基づき詳細に説明する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0018] 図 1は、本発明で使用されるワンチップマルチコアプロセッサ 32を利用した検索仲 介装置として使用されるコンピュータ 31のシステム構成例である。ワンチップマルチコ ァプロセッサ 32は、プロセッサコア 40を有するメインプロセッサ 39、プロセッサコア 34 を有するサブプロセッサ 33a〜33h、 lZ〇インタフェース 48、並びにメモリコントロー ラ 46という、合計 11のプロセッシングエレメント(情報処理手段)がリングバス 45に結 合され、それぞれ並列動作するように構成されている。さらに、各プロセッシングエレ メントは、例えば「SPE1」といった IDによってリングバス 45上でユニークに認識 (特定 )され、この IDによって、どのエレメントがどのエレメントにリングバス 45を経由してリク エストを出して!/、るか特定できる。 FIG. 1 is a system configuration example of a computer 31 used as a search relay device using the one-chip multi-core processor 32 used in the present invention. The one-chip multicore processor 32 includes a main processor 39 having a processor core 40, sub-processors 33a to 33h having a processor core 34, an lZ interface 48, and a memory controller. A total of 11 processing elements (information processing means) called “La 46” are coupled to the ring bus 45 and are configured to operate in parallel. Furthermore, each processing element is uniquely identified (identified) on the ring bus 45 by an ID such as “SPE1”, for example, which element sends a request to which element via the ring bus 45. ! / Can be specified.
[0019] メモリコントローラ 46は、メインメモリ 47と結合され、各プロセッシングエレメントがメイ ンメモリ 47にアクセスする仲介を行う。なお、図 1では、メインメモリ 47はワンチップマ ルチコアプロセッサ 32の外部に描かれているが、メインメモリ 47がワンチップマルチ コアプロセッサ 32内部に含まれる構成でもよい。 I/Oインタフェース 48に対して、様 々な IZOデバイス(ネットワークインタフェース 50、不揮発性メモリ 51、 DVDドライバ 52、 USBポート 53に接続されるキーボード等の入力インタフェース 54等)と接続す るためのサウスブリッジ 49、フレームメモリ 56を備えると共にモニタ 57に対する表示 出力を制御するグラフィックスカード 55、アンテナ 61を用いたワイヤレス通信を可能 にする RF処理部 59などを接続させることによって、メインプロセッサ 39やサブプロセ ッサ 33が、外部装置を制御したり、外部装置とのコミュニケーションを通じてデータを やり取りすることが可能になる。このシステムはネットワークインタフェース 50を介して データ通信ネットワークに接続されており、メインプロセッサ 42及びサブプロセッサ 33 は、それぞれ独立してネットワーク上の各種機器と通信できるようになつている。また、 RF処理部 59で取得される受信信号はダウンコンバータ 60により周波数変換され、 A Dコンバータ 58によりデジタルデータに変換された後、 IOインタフェース 48に供給さ れる。 The memory controller 46 is coupled to the main memory 47 and mediates each processing element accessing the main memory 47. In FIG. 1, the main memory 47 is drawn outside the one-chip multi-core processor 32, but the main memory 47 may be included inside the one-chip multi-core processor 32. South to connect various IZO devices (network interface 50, nonvolatile memory 51, DVD driver 52, input interface 54 such as keyboard connected to USB port 53, etc.) to I / O interface 48 The main processor 39 and sub-processors can be connected by connecting a graphics card 55 with a bridge 49 and frame memory 56 and controlling the display output to the monitor 57, and an RF processing unit 59 that enables wireless communication using the antenna 61. 33 can control external devices and exchange data through communication with external devices. This system is connected to a data communication network via a network interface 50, and the main processor 42 and the sub processor 33 can communicate with various devices on the network independently of each other. The received signal acquired by the RF processing unit 59 is frequency-converted by the down converter 60, converted to digital data by the AD converter 58, and then supplied to the IO interface 48.
[0020] サブプロセッサ 33は、それぞれコア 34、ローカルストレージ(LS) 35、 DMAC (Dire ct Memory Access Controller) 37を内蔵するメモリフローコントローラ(MFC) 36、並 びに秘密鍵を内蔵するセキュアメモリ 38を構成要素として含んでいる。セキュアメモリ 38は、コア 34により排他的に(つまり当該セキュアメモリ 38と同じサブプロセッサ 33 に設けられたコア 34からのみ)アクセスされる RAM等の記憶手段である。図 2 (a)に 示すように、セキュアメモリは、ローカルストレージ(LS) 35の一部であってもよいし、 図 2 (b)に示すように、専用のハードウェア(コア 34力 排他的にアクセスされる RAM 等の記憶手段)として独立していてもよい。この場合、専用のハードウェアは、不揮発 性メモリであってもよいし、揮発性メモリであっても構わない。さらに、図 2 (a)及び (b) に示されるように、ローカルストレージ (LS) 35は、公開鍵 63、公開鍵 63を第三者機 関によって証明したことを示す公開鍵証明書 64、並びに外部のピアノードに対する アクセスに関する情報 (アドレス等)を保持したピアノードアクセステーブル 65を保持 する。 [0020] Each of the sub processors 33 includes a core 34, a local storage (LS) 35, a memory flow controller (MFC) 36 including a DMAC (Dict Memory Access Controller) 37, and a secure memory 38 including a secret key. It is included as a component. The secure memory 38 is storage means such as a RAM that is accessed exclusively by the core 34 (that is, only from the core 34 provided in the same subprocessor 33 as the secure memory 38). Secure memory can be part of local storage (LS) 35, as shown in Figure 2 (a), or dedicated hardware (core 34 force exclusive) as shown in Figure 2 (b). RAM accessed by Or other storage means). In this case, the dedicated hardware may be a non-volatile memory or a volatile memory. Furthermore, as shown in Fig. 2 (a) and (b), the local storage (LS) 35 has a public key 63 and a public key certificate 64 indicating that the public key 63 has been certified by a third party. In addition, a peer node access table 65 holding information (address, etc.) related to access to external peer nodes is held.
[0021] 各サブプロセッサ 33は、それぞれ固有のローカルストレージ 35を有するため、一度 プログラムが、ローカルストレージ 35にロードされれば、それ以降は、必要のない限り メインメモリ 47にアクセスしなくとも処理を継続することができる。  [0021] Since each sub-processor 33 has its own local storage 35, once the program is loaded into the local storage 35, the subsequent processing is performed without accessing the main memory 47 unless necessary. Can continue.
[0022] メインプロセッサ 39は、コア 40、 L1キャッシュ、 L2キャッシュ、並びに DMAC44を 内蔵する MFC43を構成要素として含んでいる。一般に、オペレーティングシステム は、メインプロセッサ 39において動作し、オペレーティングシステムの基本処理に基 づいて、各サブプロセッサ 33で動作するプログラムが決定される。言うまでもないが、 サブプロセッサ 33で動作するプログラム力 通常の概念においてオペレーティングシ ステムの一部をなすようなプログラム(例えば、デバイスドライバやシステムプログラム の一部)であっても構わない。また、メインプロセッサ 39とサブプロセッサ 33は、それ ぞれ異なる命令セットを有する命令セットアーキテクチャ (ISA)である。  The main processor 39 includes a core 40, an L1 cache, an L2 cache, and an MFC 43 including a DMAC 44 as constituent elements. Generally, the operating system operates on the main processor 39, and a program that operates on each sub-processor 33 is determined based on the basic processing of the operating system. Needless to say, the program power that operates in the sub-processor 33 may be a program that forms part of the operating system in the normal concept (for example, a device driver or a part of the system program). The main processor 39 and the sub-processor 33 are instruction set architectures (ISAs) each having a different instruction set.
[0023] 本実施形態は、様々なバリエーションが可能である力 全てに共通するのは、サブ プロセッサ 33と少なくとも一つの検索エンジンを有するピアノードの間の相互認証を 行うプロセスである。このプロセスは、実際の検索処理 (ピアノードへの検索依頼)を 行う前に実行される。ここで検索エンジンは、例えば Google社や Yahoo社などの提供 する検索エンジンである。ここではまず、このプロセスについて、最も簡単な例として、 各サブプロセッサ 73がユニークに一つのピアノードと信頼関係を確立する場合につ いて、図 3と図 9を参照して説明する。  [0023] In the present embodiment, what is common to all the forces capable of various variations is a process of performing mutual authentication between a sub-processor 33 and a peer node having at least one search engine. This process is performed before the actual search process (search request to peer node). Here, the search engine is a search engine provided by Google or Yahoo, for example. Here, first, as a simple example of this process, the case where each sub-processor 73 uniquely establishes a trust relationship with one peer node will be described with reference to FIG. 3 and FIG.
[0024] 図 3にあるように、分散検索システム 70では、サブプロセッサ 33とピアノード 84a〜8 4hは、それぞれ秘密鍵を少なくとも一つ記憶している。図 3では示されないが、ネット ワーク 85上に公開鍵認証局が存在する。サブプロセッサ 33と各ピアノード 84は、そ れぞれの公開鍵 63に基づいて、公開鍵認証局から公開鍵証明書を提供される。す なわち、サブプロセッサ 33の公開鍵 63に基づいて、公開鍵認証局は、公開鍵証明 書 (認証局の秘密鍵で暗号化された公開鍵 63等)を発行し、当該公開鍵証明書をサ ブプロセッサ 33に返信し、サブプロセッサ 33は当該公開鍵証明書を保持している。 同様に、各ピアノード 84の公開鍵に基づいて、公開鍵認証局は、公開鍵証明書を発 行し、当該公開鍵証明書を該ピアノード 84に返信し、各ピアノード 84は当該公開鍵 証明書を保持している。なお、公開鍵認証基盤としては、例えば ITU— Tによって勧 告された X.509を採用することができる。 As shown in FIG. 3, in the distributed search system 70, each of the sub processor 33 and the peer nodes 84a to 84h stores at least one secret key. Although not shown in Figure 3, there is a public key certificate authority on network 85. The sub processor 33 and each peer node 84 are provided with a public key certificate from a public key certificate authority based on their public keys 63. You In other words, based on the public key 63 of the sub-processor 33, the public key certificate authority issues a public key certificate (such as the public key 63 encrypted with the private key of the certificate authority), and the public key certificate is issued. A reply is sent to the sub processor 33, and the sub processor 33 holds the public key certificate. Similarly, based on the public key of each peer node 84, the public key certificate authority issues a public key certificate and returns the public key certificate to the peer node 84, and each peer node 84 receives the public key certificate. Holding. As public key authentication infrastructure, X.509 recommended by ITU-T, for example, can be adopted.
図 9に示すように、各サブプロセッサ 33がピアノード 84と信頼関係を確立する場合 、サブプロセッサ 33は、まず S61において外部ピアノード 84の選択を行う。図示され ていないが、ここではピアノード選択サーバがネットワーク上に存在している。ピアノ ード選択サーバは、各サブプロセッサ 33の要求に基づいて、ユニークに一つのピア ノード 84を選択し、当該サブプロセッサ 33は、選択されたピアノード 84との間で、 S6 2において SSLハンドシェークプロトコルなどを利用して相互認証を行う。例えば、サ ブプロセッサ 33は、選択されたピアノード 84から公開鍵証明書を受信し、当該公開 鍵証明書を公開鍵認証局の公開鍵を使用して復号ィ匕し、ピアノード 84の情報 (ピア ノード 84の公開鍵やその管理者の名称等)を取得する。そして、この情報からピアノ ード 84を認証する。同様に、ピアノード 84も、サブプロセッサ 33から公開鍵証明書を 受信し、当該公開鍵証明書を公開鍵認証局の公開鍵を使用して復号ィ匕し、サブプロ セッサ 33の情報(サブプロセッサ 33の公開鍵やそのユーザの名前等)を取得する。 そして、この情報力もサブプロセッサ 33を認証する。こうして、ステップ S63において 相互に認証が成功していることが確認されれば、これ以降、当該サブプロセッサ 33 は、アクセスできなくなるなどの障害が生じない限り、当該ピアノード 84を信頼のおけ るピアノードと判断する。そのために、ステップ S64において、サブプロセッサ 33は、 図 4に示すピアノードアクセステーブル 65に当該ピアノード 84に関する情報を登録 する。一方、もし S63において相互認証が失敗した場合には、再び S61に戻り、サブ プロセッサ 33は、ピアノード選択サーバに対して、再度、ピアノードの選択を依頼す る。最後まで (例えば所定時間が経過するまで)相互認証が成功しな力つた場合には 、サブプロセッサ 33は、信頼のおけるピアノードが存在しないと判断する。この場合、 本実施形態においては、当該サブプロセッサ 33は、検索処理の分散処理に関与 (参 カロ)しないこととなる。以上の処理は、クライアントから検索要求があった場合に実行さ れてもよいし、コンピュータ 31の起動時等、その他の適宜のタイミングで実行されても よい。 As shown in FIG. 9, when each sub processor 33 establishes a trust relationship with the peer node 84, the sub processor 33 first selects the external peer node 84 in S61. Although not shown, a peer node selection server exists on the network here. The piano selection server uniquely selects one peer node 84 based on the request of each sub processor 33, and the sub processor 33 communicates with the selected peer node 84 in the SSL handshake protocol in S62. Mutual authentication is performed using For example, the sub-processor 33 receives the public key certificate from the selected peer node 84, decrypts the public key certificate using the public key of the public key certificate authority, and receives information on the peer node 84 (peer Node 84's public key and its administrator's name). The piano card 84 is authenticated from this information. Similarly, the peer node 84 also receives the public key certificate from the sub processor 33, decrypts the public key certificate using the public key of the public key certificate authority, and obtains information on the sub processor 33 (sub processor 33). The public key and the name of the user). This information power also authenticates the sub-processor 33. Thus, if it is confirmed in step S63 that mutual authentication has succeeded, the sub-processor 33 will thereafter make the peer node 84 a trusted peer node unless a failure such as inaccessibility occurs. to decide. Therefore, in step S64, the sub processor 33 registers information related to the peer node 84 in the peer node access table 65 shown in FIG. On the other hand, if the mutual authentication fails in S63, the process returns to S61 again, and the sub processor 33 requests the peer node selection server to select the peer node again. If the mutual authentication is successful until the end (for example, until a predetermined time elapses), the sub-processor 33 determines that there is no reliable peer node. in this case, In the present embodiment, the sub-processor 33 does not participate (participate in) the search processing distributed processing. The above processing may be executed when a search request is made from a client, or may be executed at other appropriate timing such as when the computer 31 is started up.
[0026] (第 1実施形態)  [0026] (First embodiment)
次に、図 3を用いて第 1の実施形態について説明する。第 1の実施形態は、検索結 果を検索依頼者に対してどのように返すかによつて、下記 2つのタイプに分類するこ とがでさる。  Next, the first embodiment will be described with reference to FIG. The first embodiment can be classified into the following two types depending on how search results are returned to the search requester.
[0027] (1) 並列検索 ·統合一括報告型  [0027] (1) Parallel search · Integrated batch report type
(2) 並列検索 ·並列逐次報告型  (2) Parallel search · Parallel sequential report type
[0028] 以下、図 3、図 4、並びに図 5を参照して、第 1のタイプである並列検索 ·統合一括報 告型について説明を行う。  [0028] Hereinafter, the parallel search / integrated batch report type, which is the first type, will be described with reference to FIG. 3, FIG. 4, and FIG.
[0029] 図 3には、図 9のプロセスにより、すでに各サブプロセッサ 33とピアノード 84の間で 相互認証が成功して 、る様子が示されて 、る。インターネットやホームネットワーク等 のネットワーク 85を経由して、 8つのサブプロセッサ 33が 8つのピアノード 84a〜84h との間で相互に関連付けされている。例えば、サブプロセッサ 33aはピアノード 84aと 関連付けられ、サブプロセッサ 33bはピアノード 84bと関連付けられる。なお、図 3の 例では、 8つのサブプロセッサ 33が示されている力 外部ピアノード 84と信頼関係を 確立し、検索処理に関わるサブプロセッサ 73は、少なくとも一であってよぐ全てであ つてもよい。  FIG. 3 shows how the mutual authentication between the sub-processor 33 and the peer node 84 has already been successful by the process of FIG. Eight sub-processors 33 are associated with eight peer nodes 84a to 84h via a network 85 such as the Internet or a home network. For example, sub-processor 33a is associated with peer node 84a and sub-processor 33b is associated with peer node 84b. In the example of FIG. 3, the power shown by the eight sub-processors 33 is established with the external peer node 84, and there are at least one sub-processor 73 involved in the search process. Good.
[0030] 図 3に示されるピアノード 84は、コンピュータ 31と同様の構成であってもよいし、図 4  [0030] The peer node 84 shown in FIG. 3 may have the same configuration as the computer 31, or FIG.
(a)及び (b)に示されるように、メインプロセッサ 86からアクセスされるメインメモリ 87中 にセキュアメモリ 88を持つ力 又はメインメモリ 87と独立にセキュアメモリ 88を持つよ うな、汎用又は専用コンピュータであってもよい。ピアノード 84が、図 4の構成を採用 した場合には、セキュアメモリ 88には秘密鍵 62が記憶され、メインメモリ 86には公開 鍵 63、第三者力 発行された公開鍵証明書 64、並びにピアノードアクセステーブル 65を有している。なお、図 3におけるコンピュータ 31がシングルプロセッサのピアノ一 ドとなる場合には、メインプロセッサ 42が、図 4におけるメインプロセッサ 86であり、図 3におけるメインメモリ 47が、図 4におけるメインメモリ 87であるように構成することがで きる。すなわち、メインメモリ 47が、図 6 (a)にあるようにセキュアメモリ 88に相当する記 憶領域を有し、そこに秘密鍵 62を格納し、さらに他の記憶領域に公開鍵 63及び公 開鍵証明書 64を記憶する。ただし、コンピュータ 31がピアノードとなる場合において 、メインプロセッサ 42が検索処理に関わらないのであれば、コンピュータ 31は、ピアノ ードアクセステーブル 65を記憶しておく必要がない。 A general purpose or special purpose computer having a secure memory 88 in the main memory 87 accessed from the main processor 86 or a secure memory 88 independent of the main memory 87, as shown in (a) and (b). It may be. If the peer node 84 adopts the configuration shown in FIG. 4, the private key 62 is stored in the secure memory 88, the public key 63, the public key certificate 64 issued by a third party, and the A peer anode access table 65 is provided. If the computer 31 in FIG. 3 is a single processor piano, the main processor 42 is the main processor 86 in FIG. The main memory 47 in 3 can be configured to be the main memory 87 in FIG. That is, the main memory 47 has a storage area corresponding to the secure memory 88 as shown in FIG. 6A, stores the private key 62 therein, and further stores the public key 63 and the public key in another storage area. Remember key certificate 64. However, if the computer 31 is a peer node and the main processor 42 is not involved in the search process, the computer 31 does not need to store the piano access table 65.
[0031] 次に、図 5を参照しながら、分散検索処理をステップごとに説明する。まずステップ S 1において、ネットワーク 85上のクライアントコンピュータ 83 (図 3参照)から、又は、コ ンピュータ 31に接続されたキーボードなどの入力インタフェース 54を介して検索依 頼 (検索要求データ)が入力され、例えばメインプロセッサ 42、或いはサブプロセッサ 33のうちの一(以下、メイン PE)によって、当該検索依頼が受け付けられる。検索依 頼は、テキストデータ(キーワードや自然言語の文章など)、画像イメージ (PICTなど )、ビデオ (AVC又は MPEG4など)、サウンド(MP3又は AACなど)、或いは音声な どの検索データを含む。検索データは、ステップ S 2において、メインプロセッサ 42及 び全てのサブプロセッサ 33によって読み出すことのできるように、メインメモリ 47上の 共有メモリ上に書き込まれる。  Next, the distributed search process will be described step by step with reference to FIG. First, in step S 1, a search request (search request data) is input from the client computer 83 on the network 85 (see FIG. 3) or via the input interface 54 such as a keyboard connected to the computer 31. For example, the search request is accepted by one of the main processor 42 or the sub processor 33 (hereinafter referred to as main PE). Search requests include search data such as text data (keywords, natural language sentences, etc.), image (PICT etc.), video (AVC or MPEG4 etc.), sound (MP3 or AAC etc.) or voice. The search data is written on the shared memory on the main memory 47 so that it can be read by the main processor 42 and all sub-processors 33 in step S2.
[0032] ここで、メインメモリ 47に書き込む際に、検索データを、各サブプロセッサ 33に対し て分割して割り当てることも可能である。例えば、 N個の検索キーワードが与えられた 場合、それらの N個の検索キーワードをサブプロセッサ 33の個数に分割し、各サブ プロセッサ 33に検索キーワードの各一部を割り当てる。そして、各サブプロセッサ 33 に割り当てられた検索キーワードを、該サブプロセッサ 33の ID又は該 IDと等価な情 報に関連づけて記憶する。より具体的には、例えば下記のようなキーワード集合が指 定されたとする。  Here, when the data is written in the main memory 47, the search data can be divided and allocated to each sub processor 33. For example, when N search keywords are given, the N search keywords are divided into the number of sub-processors 33, and a part of the search keywords is assigned to each sub-processor 33. The search keyword assigned to each sub processor 33 is stored in association with the ID of the sub processor 33 or information equivalent to the ID. More specifically, for example, assume that the following keyword set is specified.
キーワード = {分散、システム、並列、コンピュータ、 2000年 }  Keyword = {distributed, system, parallel, computer, 2000}
ここで、検索システムは、キーワード各々を含むデータの論理和を求めるようにされ ているとする。サブプロセッサが SPU1、 SPU2、 SPU3の 3つであるとすると、上記キ 一ワードを {分散、システム }、 {並列、コンピュータ }、 {2000年 }のように 3つの集合に 分割し、部分集合を求める。そして、各部分集合と、各 SPUの IDと、を関連づけてメ インメモリ 47に書き込む。これにより、各サブプロセッサは、該サブプロセッサに割り 当てられた IDを元にして、メインメモリ 47から該サブプロセッサにより検索処理を行う べきキーワード群を読み出すことができる。 Here, it is assumed that the search system calculates the logical sum of data including each keyword. If there are three sub-processors, SPU1, SPU2, and SPU3, the above keyword is divided into three sets such as {Distributed, System}, {Parallel, Computer}, and {2000}. Ask. Then, associate each subset with the ID of each SPU. Write to in-memory 47. Thereby, each sub processor can read a keyword group to be searched by the sub processor from the main memory 47 based on the ID assigned to the sub processor.
[0033] さらに、ステップ S3において、各検索仲介 PE (図 3におけるサブプロセッサ 33の少 なくとも一であり、それぞれ独立して、割り当てられた検索キーワードを用いた検索処 理を実行するもの)に対して、検索データがメインメモリ 47上に書き込まれたことが、 割り込み或いは非同期メッセージ通信などの手段を用いて通知される。別の実施形 態としては、各検索仲介 PEが、該検索仲介 PEに対応する特定のメモリロケーション を監視して、新しいデータが書き込まれた場合に、ステップ S4に移行することも可能 である。 [0033] Further, in step S3, each search intermediary PE (at least one of the sub-processors 33 in FIG. 3 executes a search process using the assigned search keyword independently). On the other hand, the fact that the search data has been written on the main memory 47 is notified using means such as an interrupt or asynchronous message communication. In another embodiment, each search intermediary PE can monitor a specific memory location corresponding to the search intermediary PE and move to step S4 when new data is written.
[0034] ステップ S4において、各検索仲介 PEは、並列にメインメモリ 47にアクセス要求を出 し、該検索仲介 PEに割り当てられた検索データを読み込む。上述したように、検索キ 一ワードに IDが付加されて 、る場合には、検索仲介 PEは自分の IDと一致する IDを 付されたキーワードのみを読み込むことが可能である。ステップ S 5において、検索仲 介 PEは、ステップ S4において読み込んだキーワードを検索データとして、上述した ように関連付けられた検索エンジンを有するネットワーク 85上のピアノードに対して、 自分の IDと公開鍵証明書 64を添付して検索依頼を送信する (ステップ S5)。  [0034] In step S4, each search intermediary PE issues an access request to the main memory 47 in parallel, and reads the search data allocated to the search intermediary PE. As described above, when an ID is added to a search keyword, the search intermediary PE can read only the keyword with an ID that matches its own ID. In step S5, the search intermediary PE uses the keyword read in step S4 as search data, and sends its ID and public key certificate to the peer node on the network 85 having the search engine associated as described above. A search request is sent with 64 attached (step S5).
[0035] ピアノードは検索が完了すると、ステップ S6において検索結果を、上記依頼に含ま れる IDを持つ検索仲介 PEに対して、当該ピアノードの共通鍵証明書を添付して返 信する (ステップ S6)。検索結果の返信を受けた検索仲介 PEは、検索結果を自身の IDを添付してメインメモリ 47に書き込み (ステップ S 7)、かつメインプロセッサ 42に対 して、メインメモリ 47に検索結果書込みを完了したことを、割り込み或いは非同期メッ セージ通信などを利用して通知する(ステップ S8)。  [0035] When the search is completed, the peer node returns the search result in step S6 with the common key certificate of the peer node attached to the search intermediary PE having the ID included in the request (step S6). . The search intermediary PE that received the search result reply writes the search result to the main memory 47 with its own ID attached (step S7), and writes the search result to the main memory 47 for the main processor 42. The completion is notified using an interrupt or asynchronous message communication (step S8).
[0036] メインプロセッサ 42は、ステップ S3において、検索仲介 PEに対して検索データ書 込み通知を行った後、検索処理に関わっている全ての検索仲介 PEから、メインメモリ 77に対して検索結果の書込みが通知されるのを待ち(ステップ S10)、その後、ステ ップ S9において、メインメモリ 77に対して検索結果の読み込み要求を行い、全ての 検索結果を取得する。その後、全ての検索結果を、例えばキーワードを含む個数の 多、順など、一定の基準でソーティングするなどして統合して単一の検索結果データ として再構成し (ステップ S11)、ステップ 12において、そのデータを、検索依頼を出 したクライアントコンピュータ 83に送信する力 又はコンピュータ 71に接続されたディ スプレイなどユーザインタフェースに表示するかの処理を行う。さらに、検索要求依頼 を出したクライアントコンピュータ 83又はコンピュータ 71 (すなわち自分自身)に検索 処理の完了を報告するようにしてもよい。 [0036] After sending the search data write notification to the search intermediary PE in step S3, the main processor 42 sends the search results to the main memory 77 from all search intermediary PEs involved in the search process. Wait for notification of writing (step S10), and then, in step S9, request the main memory 77 to read the search results and obtain all the search results. After that, all the search results, for example, the number of keywords Sort by a certain standard, such as many, order, etc., and reassemble as a single search result data (step S11), and in step 12, send the data to the client computer 83 that issued the search request It is processed whether it is displayed on the user interface such as a display or a display connected to the computer 71. Further, the completion of the search process may be reported to the client computer 83 or the computer 71 (that is, itself) that has issued the search request.
[0037] 次に、図 3及び図 6を参照して、第 2のタイプである並列検索 ·並列逐次報告型につ いて説明を行う。 Next, the second type parallel search / parallel sequential report type will be described with reference to FIG. 3 and FIG.
[0038] 図 6を参照しながら、検索処理をステップごとに説明する。ステップ S21からステップ S27までは、それぞれ、ステップ S1からステップ S7までに相当するので、ここでは説 明を省略する。このタイプにおいては、各検索仲介 PEが、検索結果報告をそれぞれ 独立に、検索依頼者に対して行うことを特徴としている。よって、ステップ S28におい て、検索結果報告は、検索仲介 PE力 クライアントコンピュータ 83又はコンピュータ 7 1に対して、他の検索仲介 PEの動作と独立'並行して直接 (逐次的に)報告されるよ うになされている。このステップ S28と同時又は並行して、メイン PEに対して、検索結 果報告の通知がなされている(ステップ S29)。メイン PEは、ステップ S23において、 検索仲介 PEに対して検索データ書込み通知を行った後、検索処理に関わっている 全ての検索仲介 PEから、メインメモリ 77に対して検索結果の書込みが通知されるの を待ち(ステップ S30)、クライアントコンピュータ 83又はコンピュータ 71に対して検索 結果の完了報告を行う(ステップ S31)。  [0038] The search process will be described step by step with reference to FIG. Steps S21 to S27 correspond to steps S1 to S7, respectively, and thus the description thereof is omitted here. This type is characterized in that each search intermediary PE sends a search result report to the search requester independently. Therefore, in step S28, the search result report is reported directly (sequentially) in parallel to the search mediator PE client computer 83 or computer 71 in parallel with the operation of other search mediator PEs. It has been made. Simultaneously or in parallel with this step S28, the main PE is notified of the search result report (step S29). In step S23, the main PE sends a search data write notification to the search intermediary PE, and then the search results are written to the main memory 77 from all search intermediary PEs involved in the search process. After waiting for (step S30), the client computer 83 or the computer 71 reports completion of the search result (step S31).
[0039] (第 2の実施形態)  [0039] (Second Embodiment)
次に図 7を用いて、第 2の実施形態について説明する。第 2の実施形態では、ピア ノードに対する分散並列検索と同時に、検索結果の統合と統合結果の報告処理も並 行してなされるようにされている。この意味で、第 1の実施形態の二つのタイプの組み 合わせ型であると言うことができる。この例は、ワンチップマルチコアプロセッサ 32—1 を含むコンピュータ 31— 1を用いて実現された検索結果依頼'結果通知ユニットと、 同じくワンチップマルチコアプロセッサ 32— 2を含むコンピュータ 31— 2を用いて実 現される検索結果統合 ·統合結果報告ユニットと、の二つのユニットから構成されるコ ンピュータ 91を利用するものである。 Next, a second embodiment will be described with reference to FIG. In the second embodiment, simultaneously with distributed parallel search for peer nodes, search result integration and integration result report processing are also performed in parallel. In this sense, it can be said that it is a combination of the two types of the first embodiment. This example is implemented using a search result request 'result notification unit implemented using a computer 31-1 including a one-chip multicore processor 32-1 and a computer 31-2 including a one-chip multicore processor 32-2. Integrated search results · Integrated result reporting unit and two units Computer 91.
[0040] 検索結果統合 ·統合結果報告ユニットは、もちろん検索結果依頼 ·結果通知ュニッ トがネットワーク 85のピアノード 112から収集した結果の統合も行うが、独自のロー力 ルストレージ 110(例えば HDD (ハードディスク記憶装置)や、フラッシュメモリなどの 不揮発性メモリなど)に蓄積されたデータベースに対する検索処理も行うことができる [0040] Search result integration • The integrated result reporting unit, of course, also searches for search results. • The result notification unit also integrates the results collected from the peer node 112 of the network 85. Search processing for databases stored in storage devices) and non-volatile memories such as flash memory)
[0041] 図 3の例で示されたように、図 7では、検索結果依頼'結果通知ユニットのワンチップ マルチコアプロセッサ 32— 1に含まれる少なくとも一のサブプロセッサ 33— 1が、ネッ トワーク 85上に分散して配置される少なくとも一のピアノード 112との間で、既に相互 認証を行うことにより信頼関係を確立しており、検索依頼を受けたサブプロセッサ 33 — 1は、それぞれが信頼関係を確立しているピアノード 112に対して、検索の一部を 依頼する。例えば、サブプロセッサ 93— laがピアノード 112aと信頼関係を確立して いる場合、ピアノード 112aに対して検索依頼を行う。 [0041] As shown in the example of FIG. 3, in FIG. 7, at least one sub-processor 33-1 included in the one-chip multi-core processor 32-1 of the search result request 'result notification unit is connected to the network 85. A trust relationship has already been established by performing mutual authentication with at least one peer node 112 arranged in a distributed manner, and each sub-processor 33-1 that has received a search request has established a trust relationship. Requests a part of the search to the peer node 112 that is searching. For example, when the sub processor 93-la has established a trust relationship with the peer node 112a, it makes a search request to the peer node 112a.
[0042] 次に図 8を参照しながら、検索処理をステップごとに説明する。まず、ステップ S41 において、ネットワーク 85上のクライアント 83からの検索依頼、或いはコンピュータ 31 のユーザ力 入力インタフェースを通じての検索依頼力 S、検索結果依頼.結果通知 ユニットのメイン PE1 (例えばメインプロセッサ 42— 1)によって受理される(ステップ S 41)。この後、メイン PE1は、検索結果統合 ·統合結果報告ユニットのメイン PE2 (例 えばメインプロセッサ 42— 2)に対して検索依頼 1を出す (ステップ S42)とともに、メイ ンメモリ 47— 1に対して検索対象データの書込みを行う(ステップ S43)。そして、検 索結果依頼 ·結果通知ユニットの検索仲介 PE (例えばサブプロセッサ 94 1の少な くとも一)に対して、メインメモリ 47— 1に対して検索データの書込みがなされたことを 、割り込み或いは非同期メッセージ通信などによって通知する (ステップ S44)。ここで 、ステップ S42と、ステップ S43及び S44のペアの前後関係は問わない。ステップ S4 4で検索データ書込み通知を受けた検索仲介 PEは、ステップ S45において、自分の IDに関連づけられた検索データ (検索キーワード)の読み込みを行い、信頼関係に あるピアノード (例えば図 9のピアノード 112のうちの少なくとも一)に対して、検索依 頼 2を行う(ステップ S46)。 [0043] メイン PE2では、検索依頼 1に応じてローカルストレージ 110に対して検索処理を実 行し、その結果である検索結果 1をメインメモリ 47— 2に対して書き込む (ステップ S4 7)。その後、メイン PE2は、クライアント 83に対し、メインメモリ 47— 2に対して検索結 果 1を書き込んだ旨を報告する (ステップ S48)。 Next, the search process will be described step by step with reference to FIG. First, in step S41, a search request from the client 83 on the network 85, or a search request power S through the user input interface of the computer 31, a search result request. Result notification unit main PE1 (for example, main processor 42-1) (Step S41). After this, the main PE1 issues a search request 1 to the main PE2 (for example, the main processor 42-2) of the search result integration / integration result reporting unit (step S42) and searches the main memory 47-1 Write the target data (step S43). The search data request / result notification unit search mediator PE (for example, at least one of the sub-processors 941) interrupts that the search data has been written to the main memory 47-1. Notification is made by asynchronous message communication (step S44). Here, the order of the relationship between step S42 and the pair of steps S43 and S44 does not matter. In step S45, the search intermediary PE that has received the search data write notification reads the search data (search keyword) associated with its ID in step S45, and has a peer node that is in a trust relationship (eg, peer node 112 in FIG. 9). Search request 2 is performed for at least one of the above (step S46). [0043] The main PE2 executes a search process for the local storage 110 in response to the search request 1, and writes the search result 1 as a result to the main memory 47-2 (step S47). Thereafter, the main PE 2 reports to the client 83 that the search result 1 has been written to the main memory 47-2 (step S48).
[0044] メイン PE2は、全てのピアノード 112からの検索結果 2が返ってくる間、ステップ S54 で待ち状態になっている。この間、あるピアノードの検索が終了すると、当該ピアノ一 ドに検索依頼を出した検索仲介 PEに対して検索結果 2が返される (ステップ S49)。 これを受けて、検索仲介 PEは、当該検索仲介 PEと関連付けられた検索結果統合- 統合結果報告ユニットの結果書込み PE (例えばサブプロセッサ 33— 2のうちの一)に 対して、検索結果 2を報告する (ステップ S50)。  [0044] While the search result 2 from all the peer nodes 112 is returned, the main PE 2 is in a waiting state in step S54. During this time, when a search for a certain peer node is completed, a search result 2 is returned to the search intermediary PE that has issued a search request to the piano node (step S49). In response, the search intermediary PE sends the search result 2 to the search result integration-integrated result reporting unit's result writing PE (eg, one of sub-processors 33-2) associated with the search intermediary PE. Report (step S50).
[0045] 続いて、結果書込み PEは、検索結果 2を示す検索結果データを索引できるように インデックスを計算し (ステップ S51)、インデックスを付けた状態でメインメモリ 47— 2 に書込む (ステップ S52)とともに、メイン PE2に対して検索結果 2の書込みが完了し たことを、割り込み又は非同期メッセージ通信などを利用して通知する (ステップ S53 ) oメイン PE2は、ステップ S54において、全てのピアノード力もの検索結果報告を受 理したことを確認すると、メモリ 47— 2に対して検索結果 2を全て読み込む要求を出し 、そこから検索結果 2を示す検索結果データの読み込む (ステップ S55)。  [0045] Subsequently, the result writing PE calculates an index so that the search result data indicating the search result 2 can be indexed (step S51), and writes the indexed state into the main memory 47-2 (step S52). ) And the completion of writing search result 2 to main PE2 using an interrupt or asynchronous message communication (step S53) o Main PE2 has all peer node capabilities in step S54. When it is confirmed that the search result report has been received, a request to read all the search results 2 is issued to the memory 47-2, and the search result data indicating the search results 2 is read therefrom (step S55).
[0046] ステップ S56で、検索結果 1と検索結果 2の差分 (検索結果 2に含まれる検索結果 のうち、検索結果 1には含まれない検索結果)を計算し、差分に相当する検索データ を、ローカルストレージ 110 (HDDやフラッシュメモリなど不揮発性メモリ)上に設けら れたデータベースにインデックスに基づ!/、て登録する。  [0046] In step S56, a difference between search result 1 and search result 2 (a search result included in search result 2 but not included in search result 1) is calculated, and search data corresponding to the difference is calculated. Register based on the index in the database provided on the local storage 110 (nonvolatile memory such as HDD or flash memory).
[0047] その後、メイン PE2は、クライアント 83に対して検索結果 1及び 2の差分を送信する とともに (ステップ S57)、検索結果依頼'結果通知ユニットのメイン PE1に対し、検索 完了を報告する (ステップ S58)。最後は、メイン PE1よりクライアント 83に対して、依 頼された検索が完了した旨のデータが送信される (ステップ S59)。  [0047] After that, the main PE 2 sends the difference between the search results 1 and 2 to the client 83 (step S57) and reports the search completion to the main PE 1 of the search result request 'result notification unit (step S57). S58). Finally, data indicating that the requested search has been completed is transmitted from the main PE 1 to the client 83 (step S59).
[0048] なお、以上の処理では、メイン PE2の検索の方力 全てのピアノード 112の検索より 早く終了することを想定している力 例えば、他のピアノード 112からの検索結果報告 (ステップ S49)の後に、メイン PE2による検索結果 1の書き込み (ステップ S47)が発 生する可能性もある。この場合には、まず、全てのピアノード 112からの検索結果 2の 報告を待ち、検索結果 1と検索結果 2の差分を計算し、ローカルストレージ 110上の データベースに登録する。その後、検索結果 1と検索結果 2をマージしたもの(検索 結果 1と検索結果 2の論理和に相当するデータ)を、ステップ S57に相当するタイミン グでクライアント 83に報告する。この場合、ステップ S48は不要となる。 [0048] In the above processing, the search power of main PE2 is assumed to be completed earlier than the search of all peer nodes 112. For example, the search result report (step S49) from other peer nodes 112 Later, writing of search result 1 by main PE2 (step S47) occurs. There is also the possibility of life. In this case, first, it waits for reports of search results 2 from all the peer nodes 112, calculates the difference between search results 1 and 2 and registers it in the database on the local storage 110. Thereafter, the result of merging search result 1 and search result 2 (data corresponding to the logical sum of search result 1 and search result 2) is reported to client 83 at the timing corresponding to step S57. In this case, step S48 becomes unnecessary.
[0049] また、もし全てのピアノードでの検索が終了するよりも後に、メイン PE2の検索が終 了した場合には、メイン PE2は、図示されていないが、まず検索結果 2の報告を行い 、その後メイン PE2の検索が終了した後、ステップ S56を実行することになる。この場 合、ステップ S48は不要となる。  [0049] If the search of main PE2 is completed after the search in all peer nodes is completed, main PE2 reports search result 2 first, although not shown in the figure. After that, after searching for the main PE2, step S56 is executed. In this case, step S48 is not necessary.
[0050] 以上説明してきたように、図 3の第 1実施形態や図 7の第 2実施形態で説明されるコ ンピュータシステムは、マノレチコアプロセッサの一つのサブプロセッサが、ネットワーク 85を介して、ピアコンピュータと相互認証によって信頼関係を確立した後、サブプロ セッサ力もピアコンピュータに検索処理を依頼し、その検索結果を各サブプロセッサ が受信するようにされている。なお、サブプロセッサを含むコンピュータ自体も、他の ピアコンピュータに検索を依頼するクライアントとしての機能だけでなぐ他のコンビュ 一タカ 依頼を受けるサーバとしての機能も有することから、ピアノードと呼ぶことがで きる。  As described above, in the computer system described in the first embodiment in FIG. 3 and the second embodiment in FIG. 7, one sub processor of the mano core processor is connected via the network 85. After establishing a trust relationship with the peer computer by mutual authentication, the sub processor power also asks the peer computer to perform a search process, and each sub processor receives the search result. In addition, the computer itself including the sub-processor can also be called a peer node because it also has a function as a server that accepts other computer requests in addition to a function as a client that requests other peer computers to search. .
[0051] さて、これまでの実施形態では、一つのサブプロセッサが唯一つのピアノードと信頼 関係を確立することを前提としてきた。し力しながら、一つのサブプロセッサが複数の ピアノードと信頼関係を持ち、検索依頼を行うようにしてもよい。また、図 10に示すよう に、検索依頼を受けるピアノード 120を頂点とする、ピアノードの木構造ネットワークを 構成するようにしてもよい。例えば、最初に検索依頼を受けるピアノード 120は、 2つ のピアノード 121aと 121aと信頼関係を確立しており、さらにピアノード 121aは、ピア ノード 122aと 122bと信頼関係を確立している。なお、繰り返しになる力 各ピアノ一 ドは、図 1に示すようにしてワンチップマルチプロセッサを利用したコンピュータシステ ムであってもよ!/ヽし、それ以外のコンピュータシステムであってもよ!/、。  [0051] In the above embodiments, it has been assumed that one sub-processor establishes a trust relationship with only one peer node. However, one sub-processor may have a trust relationship with a plurality of peer nodes and make a search request. Also, as shown in FIG. 10, a tree network of peer nodes may be configured with the peer node 120 receiving the search request as the apex. For example, the peer node 120 that first receives a search request has established a trust relationship with the two peer nodes 121a and 121a, and the peer node 121a has established a trust relationship with the peer nodes 122a and 122b. The repetitive power Each piano keyboard may be a computer system using a one-chip multiprocessor as shown in Fig. 1! /.
[0052] 図 10のような信頼関係ネットワークにおいて、ピアノード 120がクライアントから検索 依頼を受け取ると、検索依頼は、それぞれ下方 (ツリーの末端方向)に向かって、伝 播し、信頼関係の最後に位置するピアノード 124a、 124b, 125、 126a, 126b,並 びに 127が、折り返し上方 (ツリーのルート方向)に検索結果を返していくことになる。 最終的に、全てのピアノードの検索結果は、最初にクライアントから検索依頼を受け たピアノード 120に集められることになる。ピアノード 120に検索依頼を行つたクライア ント(図示されていない)は、この検索結果を受け取り、ユーザに対して表示を行うこと になる。もし、ピアノード 120自身がユーザインタフェースを備えた検索サーバであれ ば、その場でユーザインタフェースを介して、ユーザに対して検索結果の表示を行う [0052] In the trust relationship network as shown in Fig. 10, when the peer node 120 receives a search request from a client, the search request is transmitted downward (toward the end of the tree). The peer nodes 124a, 124b, 125, 126a, 126b, and 127 that are sown at the end of the trust relationship return the search results upward (in the root direction of the tree). Eventually, the search results of all the peer nodes are collected in the peer node 120 that first receives a search request from the client. A client (not shown) making a search request to the peer node 120 receives this search result and displays it to the user. If the peer node 120 itself is a search server having a user interface, the search result is displayed to the user via the user interface on the spot.
[0053] さて、図 10のような実施形態とするためには、図 9のフロー図により既に示した、各 サブプロセッサが実施する信頼関係を確立したピアノードの登録処理を、より一般的 に拡張する必要がある。これを図 11に示す。同図では、まずステップ S71において、 いくつのピアノードを選択するか (いくつのピアノードに対して相互認証を試みるか) を決定する。もちろん、選択するピアノード数 Nが 1であれば、図 11の処理は、本質 的に、図 9の処理と同じになる。また、 Nは無限大とすることもできる。し力しながら現 実的には、図 2又は図 4のピアノードアクセステーブル 65は有限であることの方が一 般的である。 [0053] Now, in order to obtain an embodiment as shown in FIG. 10, the registration process of the peer node that has already established the trust relationship performed by each sub-processor already shown in the flowchart of FIG. 9 is more generally extended. There is a need to. This is shown in Figure 11. In the figure, first, in step S71, it is determined how many peer nodes are to be selected (how many peer nodes to try mutual authentication). Of course, if the number of selected peer nodes N is 1, the processing in FIG. 11 is essentially the same as the processing in FIG. N can also be infinite. However, in practice, the peer node access table 65 in FIG. 2 or 4 is generally finite.
[0054] まず、ステップ S72で Nが 0かどう力 すなわち予定された N個のピアノードについ て認証を行ったかどうか検証している。 Nが 0でない間は、ステップ S73に進み、選択 できるピアノードがあるかどうかチェックしている。この結果、選択的できるピアノードが 存在するならば、ステップ S74で Nを 1減じた後、ステップ S75に進み、ピアノードを 選択する。選択対象となるピアノードがすでに存在しなければ、登録処理を終了する 。ステップ S75で選択されたピアノードとの間で、ステップ S76において相互認証を 行う。これには、例えば SSLハンドシェークプロトコルなどを利用することができる。最 後にステップ S77において、ピアノード認証が成功したかどうか確認し、成功していれ ばステップ S78に進み、公開鍵証明書を当該認証が成功したピアノードから取得して 、そのピアノードを信頼できるピアノードとしてピアノートアクセステーブルに登録する 。ピアノード認証が失敗すれば、ピアノードアクセステーブルに登録することなぐステ ップ S 72〖こ戻る。 [0055] 図 12は、図 2又は図 4のピアノードアクセステーブル 65の一例を示したものである。 このテーブルには、ピアノード ID (ここではグローバル IDではなぐテーブルを保有す るコンピュータからみたローカル IDが示されている)、ローカルメモリ上のアドレスであ る公開鍵証明書格納位置、登録されているピアノードの IPアドレス、及び登録されて いるピアノードが現在アクセス可能な状態にあるかどうかを示すレスポンスが項目とし て存在している。なお、本実施形態では、 IPアドレスを利用した力 MACアドレスの ように相手のネットワーク上での位置が何らかの形でわ力るものであればょ 、。レスポ ンスの欄で〃 OK"と示されて!/、るのはアクセス可能なピアノードを示し、 "NO"はなん らかの理由(例えばネットワークの切断やコンピュータ電源オフなど)によってアクセス 不可となって!/、るピアノードを示して 、る。 [0054] First, in step S72, it is verified whether N is 0 or not, that is, whether or not authentication has been performed for N scheduled peer nodes. While N is not 0, the process proceeds to step S73 to check whether there is a peer node that can be selected. As a result, if there is a peer node that can be selected, N is decremented by 1 in step S74, and then the process proceeds to step S75 to select the peer node. If the peer node to be selected does not already exist, the registration process is terminated. In step S76, mutual authentication is performed with the peer node selected in step S75. For example, an SSL handshake protocol can be used. Finally, in step S77, it is confirmed whether the peer node authentication is successful. If the peer node authentication is successful, the process proceeds to step S78. Register in the note access table. If peer node authentication fails, return to step S72 before registering in the peer node access table. FIG. 12 shows an example of the peer node access table 65 of FIG. 2 or FIG. In this table, the peer node ID (here, the local ID seen from the computer that holds the table that is not the global ID), the public key certificate storage location that is the address in the local memory, and the registered are registered. The IP address of the peer node and a response indicating whether or not the registered peer node is currently accessible exist as items. In this embodiment, if the location on the other party's network is in some form, such as a power MAC address using an IP address. In the response column, “OK” is displayed! /, Indicates an accessible peer node, and “NO” indicates that access is not possible for some reason (eg network disconnection or computer power off). Show the peer node!
[0056] 図 13は、本実施形態を利用するためのユーザインタフェース (検索インタフェース) の一例を示したものである。このユーザインタフェースは、コンピュータ 31のモニタ 57 に表示されるものであり、検索開始ボタン 132、検索中止ボタン 133、検索条件入力 部 134、検索式入力部 135、検索ジャンル指定部 136、並びに検索結果表示部 137 を含んでいる。検索条件入力部 134は、検索条件の一部として検索最大待ち時間を 入力するものである。この例では、 1分以内、 10分以内、並びに制限なしの 3つの選 択肢があり、 1分以内のチェックボックスがマークされていることが図示されている。検 索式入力部 135は、 1又は複数の検索キーワードを入力する入力フォームである。検 索ジャンル指定部 136は、検索ジャンル (検索するデータの種類)を指定するもので あり、ウェブ、イメージ、サウンド、ニュース、グループ、並びにディレクトリが選択肢とし て示されている。例えば、サウンドを選択すれば、検索結果としてサウンドデータが検 索結果表示部 137に表示されることになる。  FIG. 13 shows an example of a user interface (search interface) for using this embodiment. This user interface is displayed on the monitor 57 of the computer 31 and includes a search start button 132, a search stop button 133, a search condition input unit 134, a search expression input unit 135, a search genre specification unit 136, and a search result display. Includes part 137. The search condition input unit 134 inputs the maximum search wait time as part of the search condition. In this example, there are three options: 1 minute, 10 minutes, and unlimited, with the check box of 1 minute marked. The search expression input unit 135 is an input form for inputting one or a plurality of search keywords. The search genre designation unit 136 designates a search genre (type of data to be searched), and web, image, sound, news, group, and directory are shown as options. For example, if a sound is selected, sound data is displayed on the search result display unit 137 as a search result.
[0057] 図 14は、検索アプリケーションの処理の主要部を示している。この処理は、コンビュ ータ 31或いはクライアント 83で検索の際に実行されるものであり、まず検索アプリケ ーシヨン(図 13の画面を表示するユーザインタフェースプログラムを含む)を起動し( ステップ S81)、検索開始が指示されるのを待つ (ステップ S82)。検索ボタン 132が 押下されると、図 13の検索インタフェースの検索条件入力部 134に設定された条件 をチェックすることによって、検索制限時間(例えば固定値)をメモリに記憶させる (ス テツプ S83)。続いて、リモートの検索サーバが指定されているかどうかをチェックする 。例えば、 remote_serverなどの名称の所定の変数に、 URL或いは IPアドレスなど、リ モートサーバのロケーション (位置特定情報)が設定されて 、るかどうかをチェックす る。そして、検索サーバが指定されていなければ、検索アプリケーションを実行中の 当該コンピュータにおいて検索処理を開始する。この検索処理は、制限時間が経過 するまで継続される。そして、検索制限時間無いになんらかの検索結果が得られれ ば、その検索結果を、例えば図 13の検索結果表示部 137に表示する。以上をアル ゴリズム的に表現すると、下記のようになる。ここで、変数 keywordjistは、図 13の検索 式入力部 135に入力されたキーワード群を示す変数である。 FIG. 14 shows a main part of processing of the search application. This process is executed when searching by the computer 31 or the client 83. First, the search application (including the user interface program that displays the screen of FIG. 13) is started (step S81), and the search is performed. Wait for an instruction to start (step S82). When the search button 132 is pressed, the search time limit (for example, a fixed value) is stored in the memory by checking the conditions set in the search condition input unit 134 of the search interface in FIG. Step S83). Then check to see if a remote search server is specified. For example, it is checked whether the remote server location (location identification information) such as URL or IP address is set in a specified variable such as remote_server. If no search server is specified, search processing is started on the computer that is executing the search application. This search process continues until the time limit expires. If any search result is obtained within the search time limit, the search result is displayed on the search result display unit 137 of FIG. 13, for example. The above is expressed as an algorithm as follows. Here, the variable keywordjist is a variable indicating the keyword group input to the search expression input unit 135 in FIG.
[0058] [表 1] [0058] [Table 1]
void search unt* keyword— 1 i st) i f (remote_server ! =NULL) 〃リモートの検索サーバが指定されている。 ( 〃½索サーバに検索処理を要求する。 void search unt * keyword— 1 i st) i f (remote_server! = NULL) 〃 A remote search server is specified. (Request search processing from the search server.
search— request 1 (remote— server, keyword— 1 i s t);  search— request 1 (remote— server, keyword— 1 i s t);
l e l se l 〃指定されていない。  l e l se l い な い Not specified.
〃自機で検索処理を行う。  検 索 Perform the search process on your own machine.
search— request 2 (keyword— l ist):  search— request 2 (keyword— l ist):
) )
[0059] 以上の説明では、全て、検索を依頼するサブプロセッサと検索を依頼されるピアノ ードの間に信頼関係が成立している場合のみを想定していた。し力しながら、実際に は、そこまで厳格に制限しなくとも、信頼できるピアノードからの検索結果なのか、信 頼できないピアノードからの検索結果なのかが明確に区別できれば、あとは検索結 果を利用するユーザの責任に基づいて検索結果を利用するという方法も考えられる 。例えば、図 15では、検索依頼の各一部を処理するピアノードに、信頼できないピア ノードが含まれている。同図は図 12と、木構造ネットワークのノードに信頼できないピ アノードが含まれている点で異なる。ピアノード 142a、 144b, 145、並びに 146bは 信頼関係を確立できないピアノードである。これらは、例えば第三者の発行する公開 鍵証明書を保持しないピアノードである。このため、例えばピアノード 141aにとつて、 ピアノード 142bは信頼できないピアノードであり、よって、このピアノード 142bからの 検索結果は信頼できないものであるとして、 141aにより認識される。同様のことは、ピ アノード 142aとピアノード 144bの間、及びピアノード 143aとピアノード 146bの間に も成り立つ。特筆すべきなのは、あるノードが信頼できない場合、そこに接続する(そ こよりも下方の)全てのノードからの検索結果は、信頼できな 、検索結果として認識さ れることである。例えば、もしピアノード 145が第三者の発行する公開鍵証明書を保 持していたとしても、このピアノード 145の情報力 信頼できないピアノード 142aを経 由して来た場合には、ピアノード 141aは、それを信頼できない検索結果と認識する。 これは、信頼できないノードが間に入ることにより、信頼できないノード上で情報の改 竄などが行われる可能性もあるためである。 [0059] In the above description, all cases have been assumed only when a trust relationship is established between the sub processor requesting the search and the piano requesting the search. However, if you can clearly distinguish whether the search result is from a trusted peer node or a search result from an untrusted peer node without actually restricting it to such a high level, A method of using search results based on the user's responsibility is also conceivable. For example, in FIG. 15, the peer node that processes each part of the search request includes an untrusted peer node. This figure differs from Fig. 12 in that nodes in the tree network contain unreliable peer nodes. The peer nodes 142a, 144b, 145, and 146b are peer nodes that cannot establish a trust relationship. These are, for example, publicly issued by third parties A peer node that does not hold a key certificate. For this reason, for example, for the peer node 141a, the peer node 142b is an unreliable peer node, and therefore the search result from this peer node 142b is recognized as unreliable by 141a. The same is true between the peer node 142a and the peer node 144b and between the peer node 143a and the peer node 146b. It should be noted that if a node is unreliable, search results from all nodes connected to it (below it) are unreliable and recognized as search results. For example, even if the peer node 145 holds a public key certificate issued by a third party, if the peer node 145 comes through an untrusted peer node 142a, the peer node 141a Recognize it as an unreliable search result. This is because information may be tampered with on an untrusted node due to an untrusted node in between.
[0060] 図 16は、一つのサブプロセッサが複数のピアノードと認証を行い、その一部に信頼 関係を確立して 、な 、ものが含まれうる場合における、ピアノードの登録処理を示す フロー図である。同図の処理は、図 15の木構造ネットワークを前提としており、図 11 のフローチャートに一部変更をカ卩えたものとなっている。具体的には、図 11と異なる のは、ステップ S77以降の処理である。図 11では、ピアノード認証が失敗した場合に は、何の処理もしな力つた。し力しながら、図 15にあるように信頼できないピアノード に対しても検索依頼を出せるようにするために、図 18は、ピアノード認証が失敗した 後の処理として、ステップ S79を追カ卩している。すなわち、あるピアノードとの相互認 証が成功しな力つた場合には、信頼関係がないピアノードとして、そのピアノードを、 ピアノードアクセステーブルに登録して 、る。  [0060] FIG. 16 is a flowchart showing a registration process of a peer node when one sub-processor authenticates with a plurality of peer nodes, establishes a trust relationship in a part of the sub-processor, and can include one. is there. The processing in this figure is based on the tree-structured network in Fig. 15, and is partially modified from the flowchart in Fig. 11. Specifically, what differs from FIG. 11 is the processing after step S77. In Fig. 11, if peer node authentication failed, no action was taken. However, in order to be able to issue a search request even to an untrusted peer node as shown in FIG. 15, FIG. 18 adds step S79 as a process after the peer node authentication has failed. Yes. In other words, when mutual authentication with a certain peer node succeeds, the peer node is registered in the peer node access table as a peer node having no trust relationship.
[0061] 図 17は、図 16の処理により生成されるピアノードアクセステーブルの一例を示して いる。同図に示すピアノードアクセステーブルは、図 12に示すピアノードアクセステー ブルに比し、〃信頼度〃の項目が加えられている。ここで、ピアノード ID0004の信頼度 は"無"となっている。これは、ステップ S77においてピアノード認証が失敗したと判断 されたピアノード、すなわち信頼できな 、ピアノードとして認識されたことを示すもので ある。さらに、このピアノード ID0004の公開鍵証明書格納位置には" NONE"と示さ れている。信頼できないピアノードは公開鍵証明書がないので、ローカルメモリには 格納できないためである。 FIG. 17 shows an example of a peer node access table generated by the process of FIG. Compared with the peer node access table shown in FIG. 12, the peer node access table shown in FIG. Here, the reliability of the peer node ID 0004 is “none”. This indicates that the peer node that is determined to have failed in the peer node authentication in step S77, that is, is recognized as an unreliable peer node. Furthermore, the public key certificate storage location of this peer node ID 0004 is indicated as “NONE”. Untrusted peer nodes do not have public key certificates, so local memory This is because it cannot be stored.
[0062] 図 18は、図 15のように信頼していないピアノードを含む木構造ネットワークにより検 索依頼が処理される場合のユーザインタフェース (検索インタフェース)の一例を示し ている。同図に示すユーザインタフェース 141は、検索結果を表示する画面領域が、 信頼関係のあるピアノード力もの検索結果表示部 147と、信頼関係のないピアノード からの検索結果表示部 148に分かれて 、ることを除けば、図 13に示すユーザインタ フェース 131と同様である。  FIG. 18 shows an example of a user interface (search interface) when a search request is processed by a tree-structure network including untrusted peer nodes as shown in FIG. In the user interface 141 shown in the figure, the screen area for displaying the search results is divided into a search result display unit 147 for a peer node having a trust relationship and a search result display unit 148 for a peer node having no trust relationship. Except for the above, it is the same as the user interface 131 shown in FIG.
[0063] 図 19には、本実施形態に係る検索仲介装置の機器構成の一例が示されている。こ の構成例では、テレビ受像器等のモニタ 160が利用されており、検索仲介装置 151 本体は、このモニタ 160により検索結果を表示したり、検索要求を受け付けたりするよ うになつている。検索仲介装置 151は、装置の起動 ·停止を行うためのスィッチ 154、 動作'非動作を示す確認ランプ (インディケータ) 155、リモコンからの赤外線信号を 受け付ける IR受光部 152、並びにキーボード 159などの入力インタフェースを接続 する USBなどの接続インタフェース 153を備えている。ここで、キーボード 159は有 線で接続インタフェース 153に接続されているように描かれている力 当然ながら接 続インタフェース 153が無線通信インタフェースであれば、キーボード 159はワイヤレ スキーボードであってよぐ IEEE802. llaZbZgのような通信規格に則って、当該 接続インタフェース 153と通信するようにされて 、てもよ 、。  FIG. 19 shows an example of the device configuration of the search mediating apparatus according to the present embodiment. In this configuration example, a monitor 160 such as a television receiver is used, and the main body of the search mediating device 151 displays a search result or accepts a search request using the monitor 160. The search intermediary device 151 includes an input interface such as a switch 154 for starting / stopping the device, a confirmation lamp (indicator) 155 indicating operation / non-operation, an IR light receiving unit 152 for receiving an infrared signal from a remote controller, and a keyboard 159. A connection interface 153 such as USB is provided. Here, the keyboard 159 is depicted as being wired and connected to the connection interface 153. Of course, if the connection interface 153 is a wireless communication interface, the keyboard 159 may be a wireless keyboard. It is possible to communicate with the connection interface 153 in accordance with a communication standard such as llaZbZg.
[0064] リモコン 156は、赤外線発光部 157と、複数の数字、文字、或いは方向指示キーな どを備えたキーパッド部 158と、を備えている。各キーは、数字入力、文字入力、或い は方向指示入力などの入力タイプを、一つのキー (入力タイプ選択キー)で選択でき るようにされていてもよい。この場合、キーの一つが入力タイプ選択キーであり、さらに 、キーパッド部に、入力した文字が表示されるような表示部を備えて、当該表示部に は、現在選択されている入力タイプ (数字、文字、或いは方向指示)が表示される。そ して、当該表示部にはさらに、入力した文字列が表示される。また別の例では、表示 部の代わりに、入力タイプを示す複数のランプ或!、は一つのランプで複数の色を表 示できるものが備えられる。そして、これによつて入力タイプを表示する。キーパッド部 158には、文字変換や文字選択をするためのキーが備わっているとより好適である。 [0065] 検索仲介装置 151の内部は、例えば図 1のように構成されており、グラフィックカー ド 55を介してモニタ 160 (図 1のモニタ 57に相当する。)と接続されており、検索仲介 装置 151のプロセッサによって生成された出力を表示するようにされている。具体的 には、図 19に示されるように、例えば図 18で示したような検索インタフェース 141が 表示される。また、この検索インタフェースの操作はリモコン 156やキーボード 159な どのユーザインタフェースを利用して行うことになる。例えば、リモコン 156から入カタ イブを「ひらがな」として、キーパッド部 158のキー力もひらがなを順に入力するととも に、適宜、それを漢字やカタカナに変換することによって、〃並列〃又は〃コンピュータ〃 などの文字を打ち込むことができる。また、リモコン 156により入力タイプを「方向指示 」に設定し、キーバッド部 158のキー力も方向を指示をすることにより、検索インタフエ ース 141上でボタンの間をカーソルが移動するようにしてもよい。例えば、キーパッド 部 158に設けられた右矢印のキーを押すことにより、検索開始ボタン 132、検索中止 ボタン 133,検索条件入力部 134、検索式入力部 135、…といったように順にカーソ ル位置を変えることができる。 [0064] The remote controller 156 includes an infrared light emitting unit 157 and a keypad unit 158 including a plurality of numbers, characters, or direction instruction keys. Each key may be configured so that an input type such as numeric input, character input, or direction indication input can be selected with one key (input type selection key). In this case, one of the keys is an input type selection key, and further, the keypad unit is provided with a display unit for displaying the inputted character, and the display unit has a display unit for the currently selected input type ( Numbers, letters, or direction instructions) are displayed. The input character string is further displayed on the display unit. In another example, a plurality of lamps indicating the input type or one capable of displaying a plurality of colors with one lamp is provided instead of the display unit. And this displays the input type. It is more preferable that the keypad unit 158 has keys for character conversion and character selection. [0065] The search mediating apparatus 151 is configured as shown in FIG. 1, for example, and is connected to a monitor 160 (corresponding to the monitor 57 in FIG. 1) via a graphic card 55. The output generated by the processor of the device 151 is displayed. Specifically, as shown in FIG. 19, for example, a search interface 141 as shown in FIG. 18 is displayed. The search interface is operated using a user interface such as the remote control 156 or the keyboard 159. For example, by entering hiragana from the remote control 156 as “Hiragana” and inputting the key force of the keypad unit 158 in order, and converting it into kanji or katakana as appropriate, Can be typed in. Further, the input type may be set to “direction indication” by the remote controller 156, and the cursor may be moved between the buttons on the search interface 141 by instructing the direction of the key force of the keypad unit 158. . For example, by pressing the right arrow key provided on the keypad unit 158, the cursor position is set in order such as a search start button 132, a search stop button 133, a search condition input unit 134, a search expression input unit 135,. Can be changed.
[0066] なお、本発明は上記各実施形態に限定されるものではない。例えば、以上の説明 では、本発明をネットワークを利用した検索システムに適用する例を取り上げたが、 本発明は、これに限らず、ネットワーク上に配置された複数のコンピュータにより各種 の処理を分散処理するシステムにも適用可能である。例えば、コンピュータ 31を分散 処理装置として構成するとともに、これをネットワーク 85を介して複数のコンピュータ( ピアノード 84等)と接続する。そして、例えば数値計算やグラフィックスプロセッシング 等の所与の処理の各一部を前記各コンピュータに要求する。このとき、分散処理装 置は、図 1の構成と同様、複数のサブプロセッサ 33を含むワンチップマルチコアプロ セッサ 32を備えており、分散処理に関与する各サブプロセッサ 33は、ローカルストレ ージ 35に少なくとも認証情報 (少なくとも秘密鍵)を記憶している。そして、分散処理 に関与する各サブプロセッサ 33に、セキュアメモリ 38に記憶される認証情報に基づ いて、前記複数のコンピュータのうち少なくとも一と認証処理を行わせ、相互認証を 済ませた後、前記所与の処理の一部を該少なくとも一のコンピュータに要求する。こ のとき、要求には、要求元であるサブプロセッサ 33の IDが含まれており、分散処理の 要求を受けたコンピュータは、この IDを含む処理結果をコンピュータ 31である分散処 理装置に返信する。そして、分散処理の要求をしたサブプロセッサ 33は、各種の受 信データの中から、自身の IDを含む処理結果を取得する。その後、例えばメインプロ セッサ 42等が分散処理に関与した各サブプロセッサ 33における処理結果を統合し、 例えばモニタ 57等に統合結果を出力する。こうすれば、相互認証の際に各サブプロ セッサ 33がメインメモリ 47にアクセスをして、認証情報の読み出しに時間が掛カつて しまう事態を防ぐことができ、速やかに各サブプロセッサ 33が外部のコンピュータと相 互認証を行うことができる。 Note that the present invention is not limited to the above embodiments. For example, in the above description, the example in which the present invention is applied to a search system using a network is taken up. However, the present invention is not limited to this, and various processes are distributed by a plurality of computers arranged on the network. It is also applicable to a system that For example, the computer 31 is configured as a distributed processing device, and is connected to a plurality of computers (such as peer node 84) via the network 85. Then, each computer is requested for each part of given processing such as numerical calculation and graphics processing. At this time, the distributed processing apparatus includes a one-chip multi-core processor 32 including a plurality of sub-processors 33 as in the configuration of FIG. 1, and each sub-processor 33 involved in the distributed processing has a local storage 35. Stores at least authentication information (at least a private key). Then, after causing each sub-processor 33 involved in the distributed processing to perform authentication processing with at least one of the plurality of computers based on authentication information stored in the secure memory 38, and after completing mutual authentication, Requests at least one computer for part of a given process. At this time, the request includes the ID of the sub-processor 33 that is the request source. The computer that has received the request returns the processing result including this ID to the distributed processing device that is the computer 31. Then, the sub-processor 33 that requested the distributed processing acquires a processing result including its own ID from various received data. Thereafter, for example, the main processor 42 or the like integrates the processing results in the sub processors 33 involved in the distributed processing, and outputs the integration result to the monitor 57 or the like, for example. In this way, it is possible to prevent the situation in which each sub processor 33 accesses the main memory 47 during mutual authentication and it takes a long time to read out the authentication information. Mutual authentication with computers is possible.

Claims

請求の範囲 The scope of the claims
[1] 検索対象情報を伴うクライアントからの検索要求に従って検索を開始し、検索結果 を出力する検索仲介装置であって、  [1] A search mediating device that starts a search according to a search request from a client with search target information and outputs a search result.
IDと秘密鍵をそれぞれ記憶する二以上のプロセッサを含むマルチプロセッサと、 前記二以上のプロセッサのうち少なくとも一力 当該プロセッサに記憶される秘密鍵 に基づ!/、て認証済みである検索エンジンを備える検索装置に対して、前記検索対象 情報のうち当該プロセッサに記憶される IDに関係する少なくとも一部を送信する検索 対象情報送信手段と、  A multiprocessor including two or more processors each storing an ID and a secret key, and at least one of the two or more processors, a search engine that is authenticated based on a secret key stored in the processor! A search target information transmitting means for transmitting at least a part of the search target information related to the ID stored in the processor to the search device comprising:
前記検索装置から検索結果を受信する検索結果受信手段と、  Search result receiving means for receiving a search result from the search device;
を備えることを特徴とする検索仲介装置。  A search mediating apparatus comprising:
[2] 検索対象情報を伴うクライアントからの検索要求に従って検索を開始し、検索結果 を出力する検索仲介装置であって、 [2] A search mediating device that starts a search according to a search request from a client with search target information and outputs a search result.
IDと秘密鍵をそれぞれ記憶する二以上のプロセッサを含むマルチプロセッサと、 前記二以上のプロセッサのうち少なくとも二の各々力 該プロセッサに記憶される秘 密鍵に基づいて認証済みである検索エンジンを備える少なくとも一の検索装置に、 前記検索対象情報のうち該プロセッサに記憶される IDと関係する少なくとも一部を送 信する検索対象情報送信手段と、  A multiprocessor including two or more processors each storing an ID and a secret key; and at least two of the two or more processors each having a search engine authenticated based on a secret key stored in the processor Search target information transmitting means for transmitting at least a part of the search target information related to the ID stored in the processor to at least one search device;
前記少なくとも二のプロセッサの各々が前記検索装置力 検索結果を受信する検 索結果受信手段と、  Search result receiving means for receiving each of the at least two processors for the search device power search result; and
前記少なくとも二のプロセッサの各々が受信した検索結果を統合する検索結果統 合手段と、  Search result integration means for integrating the search results received by each of the at least two processors;
を備えることを特徴とする検索仲介装置。  A search mediating apparatus comprising:
[3] 前記検索対象情報は、文字列、画像イメージ、ビデオ、サウンド又は音声である、 ことを特徴とする請求の範囲第 1項又は第 2項記載の検索仲介装置。 [3] The search intermediary device according to claim 1 or 2, wherein the search target information is a character string, an image, a video, a sound, or a voice.
[4] 前記マルチプロセッサは、ワンチップである、 [4] The multiprocessor is a one-chip,
ことを特徴とする請求の範囲第 1項又は第 2項記載の検索仲介装置。  3. The search mediating apparatus according to claim 1 or 2, wherein
[5] 前記二以上のプロセッサのうち一は、前記検索対象情報を受信するインタフェース を備える、 ことを特徴とする、請求の範囲第 1項又は第 2項記載の検索仲介装置。 [5] One of the two or more processors includes an interface for receiving the search target information. The search mediating apparatus according to claim 1 or 2, wherein the search mediating apparatus is characterized in that:
[6] 前記二以上のプロセッサの各々は、並列に前記検索対象情報のうち少なくとも一 部を送信する、 [6] Each of the two or more processors transmits at least a part of the search target information in parallel.
ことを特徴とする請求の範囲第 1項又は第 2項記載の検索仲介装置。  3. The search mediating apparatus according to claim 1 or 2, wherein
[7] 前記二以上のプロセッサによりアクセスされる共有メモリをさらに備える、 [7] The apparatus further comprises a shared memory accessed by the two or more processors.
ことを特徴とする請求の範囲第 1項又は第 2項記載の検索仲介装置。  3. The search mediating apparatus according to claim 1 or 2, wherein
[8] 前記検索仲介装置は、前記インタフェースにより受信される前記検索対象情報を、 前記各プロセッサの IDと関連付けて前記共有メモリに書き込む、 [8] The search mediating apparatus writes the search target information received by the interface in the shared memory in association with the ID of each processor.
ことを特徴とする請求の範囲第 6項記載の検索仲介装置。  7. The search mediating apparatus according to claim 6, wherein
[9] 前記二以上のプロセッサの各々は、前記各プロセッサの IDに基づいて、前記共有 メモリから前記検索対象情報の少なくとも一部を読み出す、 [9] Each of the two or more processors reads at least a part of the search target information from the shared memory based on an ID of each processor.
ことを特徴とする請求の範囲第 8項記載の検索仲介装置。  9. The search mediating apparatus according to claim 8, wherein
[10] 前記二以上のプロセッサのうち少なくとも一は、第三者の発行する公開鍵証明書を nC feす 、 [10] At least one of the two or more processors nC fe a public key certificate issued by a third party.
ことを特徴とする請求の範囲第 1項又は第 2項記載の検索仲介装置。  3. The search mediating apparatus according to claim 1 or 2, wherein
[11] 前記二以上のプロセッサのうち少なくとも一は、少なくとも一の検索エンジンを備え る検索装置と相互認証を行う相互認証手段を備える、 [11] At least one of the two or more processors includes a mutual authentication unit that performs mutual authentication with a search device including at least one search engine.
ことを特徴とする請求の範囲第 1項又は第 2項記載の検索仲介装置。  3. The search mediating apparatus according to claim 1 or 2, wherein
[12] 前記検索仲介装置は、前記二以上のプロセッサが受信した全ての検索結果を統合 する検索結果統合手段をさらに備える、 [12] The search mediating apparatus further includes search result integration means for integrating all search results received by the two or more processors.
ことを特徴とする請求の範囲第 1項記載の検索仲介装置。  The search intermediary device according to claim 1, characterized in that:
[13] 前記検索結果統合手段は、前記二以上のプロセッサのうち一に備えられる、 [13] The search result integration means is provided in one of the two or more processors.
ことを特徴とする請求の範囲第 12項記載の検索仲介装置。  13. The search mediating apparatus according to claim 12, characterized in that:
[14] 前記検索仲介装置は、統合された前記検索結果を前記クライアントに回答する検 索結果回答手段をさらに備える、 [14] The search mediating apparatus further includes search result answering means for answering the client with the integrated search result.
ことを特徴とする請求の範囲第 13項記載の検索仲介装置。  14. The search mediating apparatus according to claim 13, wherein
[15] 前記検索結果回答手段は、前記二以上のプロセッサのうち一に備えられる、 [15] The search result answering means is provided in one of the two or more processors.
ことを特徴とする請求の範囲第 14項記載の検索仲介装置。 15. The search mediating apparatus according to claim 14, wherein
[16] 前記二以上のプロセッサのうち少なくとも一は、前記検索装置から検索結果を受信 した場合、その検索結果を逐次、前記クライアントに回答する、 [16] When at least one of the two or more processors receives a search result from the search device, the search result is sequentially answered to the client.
ことを特徴とする請求の範囲第 1項記載の検索仲介装置。  The search intermediary device according to claim 1, characterized in that:
[17] 前記二以上のプロセッサのうち少なくとも一に、前記検索対象情報のうち各少なくと も一部を送信した全ての前記検索装置力 検索結果を受信したことを確認する検索 終了検出手段が備えられる、 [17] At least one of the two or more processors includes a search end detection unit that confirms that all the search device capabilities that have transmitted at least a part of the search target information have been received. Be
ことを特徴とする請求の範囲第 16項記載の検索仲介装置。  17. The search mediating apparatus according to claim 16, wherein
[18] 少なくとも一の検索装置に検索依頼を行う検索依頼ワンチップマルチプロセッサと、 前記少なくとも一の検索装置の検索結果をインデックスしてデータベースに統合す る検索結果統合ワンチップマルチプロセッサと、 [18] A search request one-chip multiprocessor that makes a search request to at least one search device, a search result integration one-chip multiprocessor that indexes and integrates the search results of the at least one search device into a database,
を備えることを特徴とする検索仲介装置。  A search mediating apparatus comprising:
[19] 前記検索依頼ワンチップマルチプロセッサは、 [19] The search request one-chip multiprocessor is:
IDで識別可能な二以上の第 1プロセッサと、  Two or more first processors identifiable by ID,
検索対象情報の入力を受信する検索対象情報受信インタフェースと、  A search target information receiving interface for receiving search target information input;
前記二以上の第 1プロセッサのうちの少なくとも一部が、検索エンジンを備える前記 検索装置に、該第 1プロセッサの IDと前記検索対象情報のうち少なくとも一部とを送 信する検索対象情報送信手段と、  Search target information transmitting means for transmitting at least a part of the ID of the first processor and at least a part of the search target information to at least a part of the two or more first processors provided with a search engine. When,
前記検索対象情報のうち一部を送信した前記第 1プロセッサが、送信先である前記 検索装置から、該一部に対応する検索結果を受信する検索結果受信手段と、を備え る、  The first processor that has transmitted a part of the search target information includes search result receiving means for receiving a search result corresponding to the part from the search device that is a transmission destination.
ことを特徴とする請求の範囲第 18項記載の検索仲介装置。  19. The search mediating apparatus according to claim 18, wherein
[20] 前記検索結果統合ワンチップマルチプロセッサは、 [20] The search result integrated one-chip multiprocessor is:
IDで識別可能な二以上の第 2プロセッサと、  Two or more second processors identifiable by ID,
前記二以上の第 2プロセッサのうち少なくとも一部力 該第 2プロセッサに関連する 前記第 1プロセッサから、該第 1のプロセッサが受信した検索結果を受信する検索結 果受信手段と、  Search result receiving means for receiving a search result received by the first processor from the first processor related to the second processor, at least partly of the two or more second processors;
前記各第 2プロセッサが前記第 1プロセッサ力 受信した検索結果をインデックスし てデータベースに統合する検索結果統合手段と、 を備えることを特徴とする、請求の範囲第 19項記載の検索仲介装置。 Search result integration means for indexing and integrating the search results received by each of the second processors into the database; 20. The search mediating apparatus according to claim 19, further comprising:
[21] 検索結果がインデックスされ、統合されたデータベースを格納する不揮発性記憶装 置をさらに備える、 [21] The system further comprises a non-volatile storage device in which search results are indexed and an integrated database is stored.
ことを特徴とする請求の範囲第 20項記載の検索仲介装置。  21. The search intermediary device according to claim 20, wherein
[22] 前記第 1プロセッサは、前記第 2プロセッサのうち少なくとも一に対して、前記検索 対象情報のうち少なくとも一部を送信し、前記不揮発性記憶装置に格納されたデー タベースを利用した検索を依頼する、 [22] The first processor transmits at least a part of the search target information to at least one of the second processors, and performs a search using a database stored in the nonvolatile storage device. To ask,
ことを特徴とする請求の範囲第 21項記載の検索仲介装置。  The search mediating apparatus according to claim 21, wherein the search mediating apparatus is characterized in that:
[23] 前記依頼を受けた前記第 2プロセッサは、検索を終了した場合に、検索結果を逐次 出力する、 [23] The second processor that has received the request sequentially outputs search results when the search is completed.
ことを特徴とする請求の範囲第 22項記載の検索仲介装置。  23. A search mediating apparatus according to claim 22, wherein
[24] 前記第 1プロセッサは、前記検索結果受信手段により前記検索装置から検索結果 が受信される場合に、前記第 2プロセッサのうち少なくとも一に検索結果を送信する、 ことを特徴とする請求の範囲第 23項記載の検索仲介装置。 24. The first processor, when a search result is received from the search device by the search result receiving means, transmits the search result to at least one of the second processors. The search intermediary device according to claim 23.
[25] 前記検索結果統合ワンチップマルチプロセッサはメモリを備え、 [25] The search result integrated one-chip multiprocessor includes a memory,
前記第 2プロセッサは前記第 1プロセッサ力 受信した検索結果に対してインデック スを作成し、該検索結果にインデックスを付加した情報を前記メモリに書き込む、 ことを特徴とする請求の範囲第 24項記載の検索仲介装置。  25. The range according to claim 24, wherein the second processor creates an index with respect to the received search result and writes information with an index added to the search result to the memory. Search mediation device.
[26] 前記検索結果統合ワンチップマルチプロセッサは、前記検索依頼ワンチップマル チプロセッサが検索を依頼した全ての検索装置力 検索結果が受信された場合、前 記メモリに書き込まれたインデックスの付加された検索結果を読み込み、前記直接出 力されたデータベース検索結果との差分を計算し、該差分を前記データベースに登 録する、 [26] The search result integrated one-chip multiprocessor adds an index written in the memory when all search device capabilities requested by the search request one-chip multiprocessor are received. Search results, calculate the difference from the directly output database search result, and register the difference in the database.
ことを特徴とする請求の範囲第 25項記載の検索仲介装置。  26. The search mediating apparatus according to claim 25, characterized in that:
[27] 前記検索結果統合ワンチッププロセッサは、前記差分を示す情報を出力する、 ことを特徴とする請求の範囲第 26項記載の検索仲介装置。 27. The search mediating apparatus according to claim 26, wherein the search result integrated one-chip processor outputs information indicating the difference.
[28] 前記不揮発性記憶装置は、ハードディスク記憶装置である、 [28] The non-volatile storage device is a hard disk storage device.
ことを特徴とする請求の範囲第 21項記載の検索仲介装置。 The search mediating apparatus according to claim 21, wherein the search mediating apparatus is characterized in that:
[29] 前記不揮発性記憶装置は、フラッシュメモリである、 [29] The nonvolatile storage device is a flash memory.
ことを特徴とする請求の範囲第 21項記載の検索仲介装置。  The search mediating apparatus according to claim 21, wherein the search mediating apparatus is characterized in that:
[30] 検索対象情報を伴うクライアントからの検索要求に従って検索を開始し、検索結果 を出力する検索仲介方法であって、 [30] A search mediation method for starting a search in accordance with a search request from a client accompanied by search target information and outputting a search result.
マルチプロセッサに含まれる、 IDと秘密鍵をそれぞれ記憶する二以上のプロセッサ のうち少なくとも一力 当該プロセッサに記憶される秘密鍵に基づ 、て認証済みであ る検索エンジンを備える検索装置に対して、前記検索対象情報のうち当該プロセッ サに記憶される IDに関係する少なくとも一部を送信する検索対象情報送信ステップ と、  At least one of the two or more processors included in the multiprocessor that respectively store the ID and the secret key. For a search device including a search engine that has been authenticated based on the secret key stored in the processor. A search target information transmission step of transmitting at least a part of the search target information related to an ID stored in the processor;
前記検索装置から検索結果を受信する検索結果受信ステップと、  A search result receiving step for receiving a search result from the search device;
を含むことを特徴とする検索仲介方法。  A search mediation method comprising:
[31] 検索対象情報を伴うクライアントからの検索要求に従って検索を開始し、検索結果 を出力する検索仲介方法であって、 [31] A search mediation method for starting a search according to a search request from a client accompanied by search target information and outputting a search result,
マルチプロセッサに含まれる、 IDと秘密鍵をそれぞれ記憶する二以上のプロセッサ のうち少なくとも二の各々力 該プロセッサに記憶される秘密鍵に基づいて認証済み である検索エンジンを備える少なくとも一の検索装置に、前記検索対象情報のうち該 プロセッサに記憶される IDと関係する少なくとも一部を送信する検索対象情報送信 ステップと、  At least one of two or more processors each storing an ID and a secret key included in the multiprocessor, and at least one search device including a search engine that is authenticated based on the secret key stored in the processor A search target information transmission step of transmitting at least a part of the search target information related to an ID stored in the processor;
前記少なくとも二のプロセッサの各々が前記検索装置力 検索結果を受信する検 索結果受信ステップと、  A search result receiving step in which each of the at least two processors receives the search device capability search result; and
前記少なくとも二のプロセッサの各々が受信した検索結果を統合する検索結果統 合ステップと、  A search result integrating step of integrating the search results received by each of the at least two processors;
を含むことを特徴とする検索仲介方法。  A search mediation method comprising:
[32] クライアントからの検索要求に従って、ネットワークを介して接続された複数のコンビ ユータに対して検索依頼を行う検索仲介装置であって、 [32] A search mediating apparatus that makes a search request to a plurality of computers connected via a network in accordance with a search request from a client,
前記各コンピュータとの所定の認証処理の有無により前記各コンピュータが信頼で きるコンピュータである力信頼できないコンピュータであるかを判断する判断手段と、 前記信頼できるコンピュータ力 の前記検索依頼に対する回答を表示する高信頼 性検索結果表示手段と、 A means for judging whether each computer is a reliable computer based on the presence or absence of a predetermined authentication process with each computer; and a response to the search request for the reliable computer power is displayed. High reliability Sex search result display means;
前記信頼できないコンピュータ力 の前記検索依頼に対する回答を前記高信頼性 検索結果表示手段による表示とは区別して表示する低信頼性検索結果表示手段と を備えることを特徴とする検索仲介装置。  A search intermediary device comprising: a low-reliability search result display unit that displays an answer to the search request for the unreliable computer power separately from the display by the high-reliability search result display unit.
[33] 検索処理を行う検索手段がローカルコンピュータ内にある力リモートコンピュータ内 にあるかを判断する判断手段と、  [33] a determination means for determining whether the search means for performing the search process is in a force remote computer in the local computer;
前記検索手段がローカルコンピュータ内にある場合には、前記検索手段により検索 処理を行うローカル用検索プログラムを起動するローカル検索プログラム起動手段と 前記検索手段がリモートコンピュータ内にある場合には、前記ローカル用検索プロ グラムとは異なる、前記リモートコンピュータの前記検索手段に検索処理を行わせるリ モート用検索プログラムを起動するリモート検索プログラム起動手段と、  When the search means is in a local computer, a local search program starting means for starting a local search program for performing search processing by the search means; and when the search means is in a remote computer, the local search program Remote search program starting means for starting a remote search program that causes the search means of the remote computer to perform search processing, which is different from a search program;
を備えることを特徴とする請求の範囲第 32項記載の検索仲介装置。  The search mediating apparatus according to claim 32, further comprising:
[34] 検索制限時間をセットする検索制限時間セット手段をさらに備える、 [34] A search time limit setting means for setting the search time limit is further provided.
ことを特徴とする請求の範囲第 33項記載の検索仲介装置。  34. The search mediating apparatus according to claim 33, wherein
[35] 前記検索制限時間までに前記複数のコンピュータ力 受信されている検索結果を 表示する時間制限検索結果表示手段を備える、 [35] Time limit search result display means for displaying the search results received by the plurality of computer powers by the search time limit,
ことを特徴とする請求の範囲第 34項記載の検索仲介装置。  35. The search mediating apparatus according to claim 34, wherein
[36] 前記検索手段は、少なくとも二のプロセッサを含むマルチプロセッサを備える、 ことを特徴とする請求の範囲第 33項記載の検索仲介装置。 36. The search mediating apparatus according to claim 33, wherein the search means includes a multiprocessor including at least two processors.
[37] 前記少なくとも二のプロセッサのうち少なくとも一は、少なくとも一の前記コンビユー タとの間で相互認証を成功させた場合に、当該コンピュータ力もの検索結果を、信頼 できるコンピュータ力もの回答であると判断する、 [37] When at least one of the at least two processors succeeds in mutual authentication with at least one of the computers, the computer-powered search result is a reliable computer-powered answer. to decide,
ことを特徴とする請求の範囲第 36項記載の検索仲介装置。  37. The search mediating apparatus according to claim 36, wherein
[38] 前記各プロセッサ及び前記複数のコンピュータのうち少なくとも一部は、秘密鍵、公 開鍵、並びに第三者の発行した公開鍵証明書を記憶し、前記相互認証は、当該公 開鍵証明書を交換し、双方の秘密鍵によって認証することによって行われる、 ことを特徴とする請求の範囲第 37項記載の検索仲介装置。 [38] At least a part of each of the processors and the plurality of computers stores a private key, a public key, and a public key certificate issued by a third party, and the mutual authentication is performed using the public key certificate. By exchanging certificates and authenticating with both private keys, 38. The search mediating apparatus according to claim 37, characterized in that:
[39] クライアントからの検索要求に従って、ネットワークを介して接続された複数のコンビ ユータに対して検索依頼を行う検索仲介方法であって、 [39] A search mediation method for requesting a search to a plurality of computers connected via a network in accordance with a search request from a client,
前記各コンピュータとの所定の認証処理の有無により前記各コンピュータが信頼で きるコンピュータである力信頼できないコンピュータであるかを判断する判断ステップ と、  A determination step of determining whether each computer is a computer that can be trusted by the presence or absence of a predetermined authentication process with each computer;
前記信頼できるコンピュータ力 の回答を表示する高信頼性検索結果表示ステツ プと、  A high-reliability search result display step for displaying the reliable computer-powered answer;
前記信頼できないコンピュータからの回答を前記高信頼性検索結果表示ステップ での表示とは区別して表示する低信頼性検索結果表示ステップと、  A low-reliability search result display step for displaying an answer from the unreliable computer separately from the display in the high-reliability search result display step;
を含むことを特徴とする検索仲介方法。  A search mediation method comprising:
[40] 分散環境で動作する複数の検索装置力 なる分散検索システムであって、 [40] A distributed search system comprising multiple search devices operating in a distributed environment,
少なくとも一の検索依頼装置と、  At least one search request device;
少なくとも一の検索仲介装置と、  At least one search mediating device;
少なくとも二以上の検索装置と、を含み、  And at least two or more search devices,
前記検索仲介装置は、少なくとも二以上のプロセッサを含むマルチプロセッサを備 え、当該マルチプロセッサに含まれる少なくとも一のプロセッサは、前記少なくとも二 以上の検索装置のうち少なくとも一と信頼関係を確立した後、前記検索依頼装置か ら受信した検索要求に従って検索を行う、  The search mediating apparatus includes a multiprocessor including at least two or more processors, and at least one processor included in the multiprocessor establishes a trust relationship with at least one of the at least two or more search apparatuses; Search according to the search request received from the search request device;
ことを特徴とする分散検索システム。  A distributed search system characterized by that.
[41] ネットワークを介して複数のコンピュータと接続され、所与の処理の各一部を前記各 コンピュータに要求する分散処理装置において、 [41] In a distributed processing apparatus that is connected to a plurality of computers via a network and requests each part of given processing to each of the computers,
複数のプロセッサを含むとともに、前記各プロセッサが少なくとも認証情報を記憶す るメモリを備えるマルチプロセッサを備え、  A multiprocessor including a plurality of processors, each processor including a memory for storing at least authentication information;
前記各プロセッサは、該プロセッサに備えられるメモリに記憶される認証情報に基 づいて、前記複数のコンピュータのうち少なくとも一と認証処理を行った後、前記所 与の処理の一部を該少なくとも一のコンピュータに要求する、  Each processor performs an authentication process with at least one of the plurality of computers based on authentication information stored in a memory included in the processor, and then performs a part of the given process with the at least one process. Request to other computers,
ことを特徴とする分散処理装置。 A distributed processing apparatus.
[42] 前記メモリの少なくとも前記認証情報が記憶される領域は、該メモリが備えられる前 記プロセッサにより排他的にアクセスされる、 [42] At least the area of the memory in which the authentication information is stored is exclusively accessed by the processor provided with the memory.
ことを特徴とする分散処理装置。  A distributed processing apparatus.
[43] ネットワークを介して複数のコンピュータと接続され、所与の処理の各一部を前記各 コンピュータに要求する分散処理装置の制御方法において、 [43] In a control method for a distributed processing apparatus that is connected to a plurality of computers via a network and requests each part of a given process from each computer,
前記分散処理装置は、複数のプロセッサを含むとともに、前記各プロセッサが少な くとも認証情報を記憶するメモリを備えるマルチプロセッサを備え、  The distributed processing apparatus includes a multiprocessor including a plurality of processors, and each of the processors includes a memory for storing at least authentication information;
前記各プロセッサに、該プロセッサに備えられるメモリに記憶される認証情報に基 づいて、前記複数のコンピュータのうち少なくとも一と認証処理を行わせた後、前記 所与の処理の一部を該少なくとも一のコンピュータに要求させる、  After causing each processor to perform authentication processing with at least one of the plurality of computers based on authentication information stored in a memory provided in the processor, a part of the given processing is transferred to the at least one processor. Make one computer request
ことを特徴とする分散処理装置の制御方法。  A control method for a distributed processing apparatus.
PCT/JP2006/315334 2005-10-24 2006-08-02 Search intermediating apparatus, search intermediating method, decentralized search system, decentralizing apparatus, and decentralizing apparatus control method WO2007049388A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005309120 2005-10-24
JP2005-309120 2005-10-24

Publications (1)

Publication Number Publication Date
WO2007049388A1 true WO2007049388A1 (en) 2007-05-03

Family

ID=37967509

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/315334 WO2007049388A1 (en) 2005-10-24 2006-08-02 Search intermediating apparatus, search intermediating method, decentralized search system, decentralizing apparatus, and decentralizing apparatus control method

Country Status (1)

Country Link
WO (1) WO2007049388A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012238050A (en) * 2011-05-10 2012-12-06 Hitachi Solutions Ltd Integrated retrieval device, integrated retrieval system, and integrated retrieval method
JP2014509423A (en) * 2011-02-18 2014-04-17 アマデウス エス.アー.エス. Method, system, and computer program for providing fare detection from rule attributes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265744A (en) * 2000-03-17 2001-09-28 Sony Corp Device and method for processing data
JP2003030238A (en) * 2001-07-18 2003-01-31 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for retrieving parallel type information and recording medium with the program recorded thereon
JP2005018379A (en) * 2003-06-25 2005-01-20 Toshiba Corp Processor, processor system and cache consistency controlling method
JP2005099984A (en) * 2003-09-24 2005-04-14 Toshiba Corp On-chip multicore type tamper resistant processor
JP2005521143A (en) * 2002-03-15 2005-07-14 インターナショナル・ビジネス・マシーンズ・コーポレーション Resource search method in peer-to-peer network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265744A (en) * 2000-03-17 2001-09-28 Sony Corp Device and method for processing data
JP2003030238A (en) * 2001-07-18 2003-01-31 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for retrieving parallel type information and recording medium with the program recorded thereon
JP2005521143A (en) * 2002-03-15 2005-07-14 インターナショナル・ビジネス・マシーンズ・コーポレーション Resource search method in peer-to-peer network
JP2005018379A (en) * 2003-06-25 2005-01-20 Toshiba Corp Processor, processor system and cache consistency controlling method
JP2005099984A (en) * 2003-09-24 2005-04-14 Toshiba Corp On-chip multicore type tamper resistant processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
INOUE U. ET AL.: "Database Processor RINDA no Sekkei to Jitsugen", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 31, no. 3, 15 March 1990 (1990-03-15), pages 373 - 380, XP003011627 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014509423A (en) * 2011-02-18 2014-04-17 アマデウス エス.アー.エス. Method, system, and computer program for providing fare detection from rule attributes
US9703832B2 (en) 2011-02-18 2017-07-11 Amadeus S.A.S. Method, system and computer program to provide fares detection from rules attributes
JP2012238050A (en) * 2011-05-10 2012-12-06 Hitachi Solutions Ltd Integrated retrieval device, integrated retrieval system, and integrated retrieval method

Similar Documents

Publication Publication Date Title
US10585683B2 (en) Defining application programming interfaces (APIs) using object schemas
CA3025479C (en) Extending object-schema-based application programming interfaces (apis)
US20110129089A1 (en) Method and apparatus for partially encoding/decoding data for commitment service and method of using encoded data
JP2002175231A (en) Website link method and its system
WO2013143403A1 (en) Method and system for accessing website
JP2011034462A (en) Information processor and processing method thereof
JP2007188184A (en) Access control program, access control method, and access control device
WO2019223136A1 (en) Data acquisition method and apparatus, and computer device and storage medium
CN111552934A (en) Database access method and device
JP4698678B2 (en) Data communication method, computer and information storage medium
WO2007049388A1 (en) Search intermediating apparatus, search intermediating method, decentralized search system, decentralizing apparatus, and decentralizing apparatus control method
JP2010033562A (en) Communication terminal, authentication information generation device, authentication system, authentication information generation program, authentication information generation method and authentication method
JP2017182396A (en) Information processing device, control method, and program
JP5227106B2 (en) Candidate output program and candidate output server
US20180196886A1 (en) Devices and methods for implementing dynamic collaborative workflow systems
CN113157722A (en) Data processing method, device, server, system and storage medium
JP4862727B2 (en) Network system, communication apparatus, and computer program
US10554789B2 (en) Key based authorization for programmatic clients
JP5749222B2 (en) Access permission control system and access permission control method
JP4283595B2 (en) Information processing apparatus, object management method, object management program, and recording medium
Lin et al. A P2P blog system with OpenID integration
JP3706894B2 (en) Information providing apparatus, format decomposition apparatus, information providing method, and program
JP2012203764A (en) User information management device
JP2002207651A (en) Web site linking method and its system
JP2002297418A (en) Operation control device, operation control system and computer program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06782203

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP