US20030145063A1 - Computer apparatus and program for controlling same - Google Patents

Computer apparatus and program for controlling same Download PDF

Info

Publication number
US20030145063A1
US20030145063A1 US10/354,123 US35412303A US2003145063A1 US 20030145063 A1 US20030145063 A1 US 20030145063A1 US 35412303 A US35412303 A US 35412303A US 2003145063 A1 US2003145063 A1 US 2003145063A1
Authority
US
United States
Prior art keywords
server
search
transmit
command
divided
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US10/354,123
Other versions
US7216151B2 (en
Inventor
Arito Asai
Kazuto Washio
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Individual
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 Individual filed Critical Individual
Assigned to FUJI PHOTO FILM CO., LTD. reassignment FUJI PHOTO FILM CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ASAI, ARITO, WASHIO, KAZUTO
Publication of US20030145063A1 publication Critical patent/US20030145063A1/en
Assigned to FUJIFILM HOLDINGS CORPORATION reassignment FUJIFILM HOLDINGS CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: FUJI PHOTO FILM CO., LTD.
Assigned to FUJIFILM CORPORATION reassignment FUJIFILM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FUJIFILM HOLDINGS CORPORATION
Application granted granted Critical
Publication of US7216151B2 publication Critical patent/US7216151B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Definitions

  • This invention relates to a computer apparatus and to a program for controlling the computer apparatus.
  • an image search command is transmitted from a client computer to a server computer in a client-server model.
  • the server computer executes processing in accordance with the command and transmits data indicative of the result of processing to the client computer.
  • the client computer In order to execute processing in accordance with the image search command in a plurality of server computers, the client computer must transmit the command to all of these server computers. This subjects the client computer to a heavy load.
  • an image search command transmitted from a client computer is received by a content server, which proceeds to conduct the image search.
  • the image search command is transferred from the content server that received the command to another content server, where the image search is conducted again.
  • an efficient search may not be conducted.
  • an object of the present invention is to conduct a search that is efficient and that will not impose a heavy load when conducted.
  • a computer apparatus comprising a first receiving device for receiving an original address list transmitted from a center server and containing addresses of a number of computers; a dividing device (dividing means) for dividing up the original address list, which has been received by the first receiving device, into divided address lists corresponding to respective ones of a plurality of computers; a first transmitting device for transmitting a divided address list obtained by the dividing unit as well as a search command to a transmit-destination computer specified by an address contained in this divided address list; and a second receiving device for receiving data representing result of execution of search processing by the transmit-destination computer in accordance with the search command.
  • the present invention provides also a control method suited to the above-described computer apparatus.
  • the method comprises the steps of receiving an original address list transmitted from a center server and containing addresses of a number of computers; dividing up the received original address list into divided address lists corresponding to respective ones of a plurality of computers; transmitting a divided address list and a search command to a transmit-destination computer specified by an address contained in this divided address list; and receiving data representing result of execution of search processing in accordance with the search command.
  • a program for controlling the above-described computer apparatus, and a recording medium on which the program has been stored may be provided.
  • an original address list is stored in a center server and the original address list is transmitted from the center server to a computer apparatus.
  • the computer apparatus receives the original address list and divides up the original address list into divided address lists corresponding to respective ones of a plurality of computers. Each computer specified by an address contained in each divided address list is transmitted the corresponding divided address list and a command in associated fashion.
  • Search processing is executed in accordance with the command in all of the transmit-destination computers.
  • Data representing the results of execution of search processing is sent back from the transmit-destination computers to the original computer apparatus that transmitted the command.
  • the source computer apparatus receives data representing results of execution of search processing sent back from all of the transmit-destination computers. When this occurs, the source computer apparatus ascertains the results of execution of search processing by all of the transmit-destination computers. Since the source computer apparatus can tell from the results of execution of search processing which transmit-destination computer should be accessed to enable execution of processing in accordance with a command, the computer apparatus can transmit an execute command to the desired computer. As a result, processing in accordance with the execute command can be executed comparatively efficiently.
  • a computer apparatus comprising a first receiving device for receiving an address list, which contains addresses of respective ones of a number of computers, and a search command, the address list and command being provided by a transmit-source computer; a dividing device for dividing up the original address list, which has been received by the first receiving device, into divided address lists corresponding to respective ones of a plurality of computers; a first transmitting device for transmitting a divided address list obtained by the dividing unit as well as a search command to a transmit-destination computer specified by an address contained in this divided address list; a search device for conducting a search in accordance with a search command received by the first transmitting device; a second receiving device for receiving data representing result of execution of search processing by the transmit-destination computer in accordance with the search command; and a second transmitting device for transmitting, to the transmit-source computer, data representing result of execution of search processing by the search device and data representing result of execution of
  • the present invention provides also a control method suited to the above-described computer apparatus.
  • the method comprises the steps of receiving an address list, which contains addresses of respective ones of a number of computers, and a search command, the address list and command being provided by a transmit-source computer; dividing up the received address list into divided address lists corresponding to respective ones of a plurality of computers; transmitting a divided address list and the received search command to a transmit-destination computer contained in the divided address list; conducting a search in accordance with a received search command; receiving data representing results of execution of search processing by the transmit-destination computer in accordance with the search command; and transmitting, to the transmit-source computer, data representing result of execution of search processing and data representing received result of execution of search processing.
  • the present invention according to the second aspect thereof provides also a program for controlling the above-described computer apparatus as well as a recording medium storing the program.
  • an address list and a search command is received, and the received address list is divided into address lists corresponding to respective ones of a plurality of computers.
  • the divided address lists are transmitted (in association with a search command) to transmit-destination computers.
  • the transmit-destination computers execute search processing based upon the search command received, and data representing the results of executed search processing are sent back to the transmit-source computer.
  • the transmit-destination computers further subdivide the divided address list.
  • the subdivided address lists are transmitted to the succeeding transmit-destination computers together with the search command.
  • a divided address list is subdivided and the subdivided addresses lists are applied to transmit-destination computers, and the search is repeated in these transmit-destination computers.
  • the number of transmit-destination computers to which one transmit-source computer (a transmit-source computer may also be a transmit-destination computer) transmits the divided address lists and search command depends upon the number of divisions of the address list (the divided address list). By setting the number of divisions to an appropriate value, the processing load upon the transmit-source computer (transmit-destination computer) can be alleviated. Even if the number of transmit-destination computers increases, processing time can be shortened.
  • a command for searching for a computer in which desired digital content has been stored would be transmitted to a transmit-destination computer. If the computer apparatus in which the desired digital content has been stored is found, then a command for acquiring the desired digital content is transmitted to this computer apparatus from the transmit-source computer.
  • the search command and the acquisition command may be transmitted together from the transmit-source computer to the transmit-destination computer. This means that the desired digital content can be acquired without again transmitting an acquisition command to the computer apparatus storing the desired digital content.
  • some digital content is transmitted to the transmit-source computer in accordance with a search command and acquisition command.
  • a transmit-destination computer accessible by the transmit-source computer may be decided in advance, and this may be managed in a center server.
  • the transmit-source computer would execute authentication processing when it accesses the center server, and an address list containing addresses of computers accessible by this transmit-source computer would be transmitted from the center server to the transmit-source computer.
  • a system in which digital content can be shared and searched by a specific plurality of computers can be constructed.
  • a command transmitted from the transmit-source computer to a transmit-destination computer may be a search command concerning services capable of being processed by the transmit-destination computer.
  • a command that is for the purpose of having this service processed can be transmitted to the transmit-destination computer found.
  • the service is a print service
  • an image can be printed by transmitting image data representing the image to be printed and a command for printing the image to the transmit-destination computer found. This means that an image can be printed even if a transmit-destination computer that is capable of printing the image is not known to the user.
  • FIG. 1 is a block diagram illustrating the electrical structure of a server
  • FIG. 2 illustrates an example of images and attribute information stored in an image database
  • FIG. 3 illustrates an overview of a search system
  • FIG. 4 illustrates an example of an original server list
  • FIG. 5 illustrates an example of divided server lists
  • FIG. 6 is a flowchart illustrating processing executed by a center server and processing executed by a client computer.
  • FIG. 7 is a flowchart illustrating processing executed by a master server and processing executed by a slave server.
  • FIG. 1 is a block diagram illustrating the electrical structure of a server (center server, master server and slave server) constructing a search system according to the present invention.
  • a client computer described later also has a similar structure.
  • the server includes a computer 30 .
  • the latter includes a communication circuit 31 for sending and receiving data and commands, etc., to and from other servers; a memory 32 for storing data temporarily; an input unit 33 for applying commands and the like to the computer 30 ; a display unit 34 ; and an image database 36 .
  • Image data representing images (original images) of a number of frames and thumbnail image data representing thumbnail images of a number of frames has been stored in the image database 36 .
  • the server further includes a CD-ROM (compact disk-read-only memory) driver 35 .
  • a CD-ROM 37 containing a program for executing an operation described later is accessed by the CD-ROM drive 35 .
  • the program read from the CD-ROM 37 is installed in the computer 30 .
  • FIG. 2 illustrates an example of original images and thumbnail images that have been stored in the image database 36 .
  • attribute information indicating the category of each image and the date of photography thereof.
  • FIG. 3 illustrates an overview of a search system.
  • the search system includes a number of servers that are capable of communicating with one another via a network (not shown). Image data representing images of a number of frames have been stored in each of the number of servers in the manner described above. This search system is for finding a desired image from among such a large number of images.
  • a center server 1 includes an original server list.
  • FIG. 4 illustrates an example of an original server list.
  • the original server list 110 stores, in association with identification numbers, IP (Internet Protocol) addresses of a number of servers included in the search system and a TCP (Transmission Control Protocol) port number.
  • IP Internet Protocol
  • TCP Transmission Control Protocol
  • the original server list 110 is transmitted from the center server 1 to a client computer 2 in response to a request from the client computer 2 .
  • the latter divides the original server list 110 into a plurality (ten in this embodiment) of server lists, thereby generating divided server lists.
  • FIG. 5 illustrates an example of the divided server lists.
  • the client computer 2 divides the original server list 110 into ten server lists, as mentioned above, thereby generating divided server lists 111 to 120 .
  • IP addresses are included in each of the divided server lists 111 to 120 that have been generated.
  • a server which shall be referred to as the master server
  • IP addresses that corresponds to the smallest identification number (though it goes without saying that the number may be other than the smallest) in each divided server list.
  • the smallest identification number in the divided server list 111 is “1”, and the corresponding IP address is “192.168.0.1”. Accordingly, the divided server list 111 and the search command are transmitted from the client computer 2 to a master server 11 , which has “192.168.0.1” as its IP address. Similarly, since the smallest identification number in the divided server list 112 is “2”, the divided server list 112 is transmitted to a master server 12 having “192.168.0.2” as its IP address.
  • the divided server lists 113 to 120 are transmitted to master servers 13 to 20 , respectively, in similar fashion.
  • the master servers 11 to 20 respond to the search command by determining whether the relevant image data exists.
  • the divided server lists 111 to 120 are further divided (i.e., subdivided) by respective ones of the master servers 11 to 20 , whereby subdivided server lists are generated.
  • the subdivided server lists that have been generated are transmitted together with the search command to servers (which shall be referred to as slave servers) having IP addresses corresponding to the smallest identification numbers among the IP addresses contained in respective ones of the subdivided server lists.
  • servers which shall be referred to as slave servers
  • IP addresses IP addresses
  • TCP port addresses and identification numbers contained in a subdivided server list those that correspond to the IP address of the master server that received the list are deleted by the master server itself.
  • an arrangement may be adopted in which the deletion is made by the slave server at the destination of transmission.
  • the divided server list 111 is subdivided into ten subdivided server lists by master server 11 .
  • the ten subdivided server lists are transmitted to corresponding ones of slave servers 41 to 50 together with the search command, and the slave servers 41 to 50 conduct a search in accordance with the search command.
  • the slave servers 41 to 50 also subdivide their subdivided server lists and transmit the resulting lists to other servers together with the search command.
  • Each slave server also deletes its own IP address, TCP port number and identification number from its subdivided server list.
  • Each server conducts a search in accordance with the search command, and data indicative of the search result is sent back to the transmission-source server that transmitted the search command. Data indicative of all of the results of the search is thus transmitted to the client computer 2 .
  • the latter recognizes the IP address of the server at which the desired image has been stored as well as the ID of this image.
  • the client computer 2 then sends the server where the desired image has been stored an acquisition command for acquiring the image having the image ID.
  • the server that receives the acquisition command transmits the image data to the client computer 2 .
  • a large number of servers can be made to execute search processing without increasing the load on each individual server. Further, even if servers and IP addresses are not in one-to-one correspondence owing to a change in IP address, as in a DHCP (Dynamic Host Configuration Protocol), a large number of servers can be made to execute search processing.
  • DHCP Dynamic Host Configuration Protocol
  • FIG. 6 is a flowchart illustrating processing executed by the center server 1 and processing executed by the client computer 2 .
  • the client computer 2 then provides the center server 1 with a request to transmit the original server list (step 82 ).
  • the center server 1 responds to the transmit request by transmitting the above-described original server list to the center server 1 (step 71 ).
  • the client computer 2 Upon receiving the original server list, the client computer 2 divides the original server list to generate the plurality of divided server lists described above (step 83 ). The client computer 2 then transmits the plurality of subdivided server lists generated and the generated search command to respective ones of the corresponding master servers 11 to 20 in the manner set forth above (step 84 ).
  • FIG. 7 is a flowchart illustrating processing executed mainly by a master server and a slave server.
  • a master server Upon receiving a divided list transmitted from the client computer 2 , a master server further divides this list to thereby generate subdivided server lists (step 91 ).
  • the subdivided server lists generated and the search command are transmitted to the slave servers (step 92 ) in the manner described above. Further, in accordance with the search command that has been received, the master server conducts an image search (a search to determine whether an image having “LOVE” as its category has been stored in the image database) (step 93 ).
  • the slave server Upon receiving the subdivided server list and search command transmitted from the master server, the slave server further subdivides the subdivided server list (step 101 ) in the manner described above.
  • the subdivided server lists thus further subdivided and the search command are transmitted from this slave server to succeeding servers (step 102 ) in the manner described above.
  • These succeeding servers further subdivide the server lists and execute image search processing in accordance with the search command. Such division of the server list, search processing and re-sending of the subdivided server lists are repeated.
  • the slave server executes search processing in accordance with the search command it has received (step 103 ).
  • the master server When the data indicative of the search result transmitted from the slave server is received by the master server, the latter transmits this data together with the result of search processing executed by the master server itself to the client computer 2 (step 94 ).
  • the result of the search for the image that has been stored in the server having the IP address contained in the original server list is recognized by the client computer 2 .
  • the client computer 2 thenceforth transmits an acquisition command to the server at which the desired image has been stored.
  • the image data is transmitted from this server to the client computer 2 .
  • a client computer capable of accessing a server may be decided on a per-client-computer basis. This means that when a request to transmit an original server list is sent from a client computer to the center server, an original server list regarding a server capable of being accessed by this client computer is transmitted and the above-described search processing is executed. As a result, specific users of client computers can share and search images.
  • the invention can be applied to other processing by changing the command.
  • the invention can be applied to a system that searches for desired processing among types of processing (services) that can be executed by a server.
  • Processing for printing an image is one example of such processing.
  • the above-mentioned search command is one for finding a server that is capable of image print processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

A search that is efficient and lightens the load on servers is conducted. An original program list containing IP addresses of a number of servers is stored in a center server. The center server supplies the original server list to a client computer, which proceeds to divide the list into a plurality of divided server lists. The divided server lists, together with a search command, are applied to respective ones of master servers. The master servers further divide the divided server lists into subdivided server lists, and each master server transmits the subdivided server lists, together with the search command, to respective ones of slave servers. These operations of dividing the server list and transmitting the divided server lists to subsequent servers are repeated. A search is conducted by the master and slave servers in accordance with the search command, data representing the search results are sent back to a transmit-source server and this server supplies the data to the client computer.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • This invention relates to a computer apparatus and to a program for controlling the computer apparatus. [0002]
  • 2. Description of the Related Art [0003]
  • When an image search is conducted, an image search command is transmitted from a client computer to a server computer in a client-server model. The server computer executes processing in accordance with the command and transmits data indicative of the result of processing to the client computer. In order to execute processing in accordance with the image search command in a plurality of server computers, the client computer must transmit the command to all of these server computers. This subjects the client computer to a heavy load. [0004]
  • There are systems in which a center server is provided and a list of all image data that has been stored in all content servers connectable to the center server is stored in the center server. By transmitting an image search command from a client computer to the center server, a search of images that have been stored in the content servers is conducted by the center server. However, since the entirety of the search is conducted by the center server, the center server is subjected to a heavy load. [0005]
  • Furthermore, in a peer-to-peer model, an image search command transmitted from a client computer is received by a content server, which proceeds to conduct the image search. The image search command is transferred from the content server that received the command to another content server, where the image search is conducted again. However, since there are instances where the command will not be distributed to a large number of content servers, an efficient search may not be conducted. [0006]
  • SUMMARY OF THE INVENTION
  • Accordingly, an object of the present invention is to conduct a search that is efficient and that will not impose a heavy load when conducted. [0007]
  • According to a first aspect of the present invention, the foregoing object is attained by providing a computer apparatus comprising a first receiving device for receiving an original address list transmitted from a center server and containing addresses of a number of computers; a dividing device (dividing means) for dividing up the original address list, which has been received by the first receiving device, into divided address lists corresponding to respective ones of a plurality of computers; a first transmitting device for transmitting a divided address list obtained by the dividing unit as well as a search command to a transmit-destination computer specified by an address contained in this divided address list; and a second receiving device for receiving data representing result of execution of search processing by the transmit-destination computer in accordance with the search command. [0008]
  • The present invention according to the first aspect thereof provides also a control method suited to the above-described computer apparatus. Specifically, the method comprises the steps of receiving an original address list transmitted from a center server and containing addresses of a number of computers; dividing up the received original address list into divided address lists corresponding to respective ones of a plurality of computers; transmitting a divided address list and a search command to a transmit-destination computer specified by an address contained in this divided address list; and receiving data representing result of execution of search processing in accordance with the search command. [0009]
  • A program for controlling the above-described computer apparatus, and a recording medium on which the program has been stored may be provided. [0010]
  • In accordance with the first aspect of the present invention, an original address list is stored in a center server and the original address list is transmitted from the center server to a computer apparatus. [0011]
  • The computer apparatus receives the original address list and divides up the original address list into divided address lists corresponding to respective ones of a plurality of computers. Each computer specified by an address contained in each divided address list is transmitted the corresponding divided address list and a command in associated fashion. [0012]
  • Search processing is executed in accordance with the command in all of the transmit-destination computers. Data representing the results of execution of search processing is sent back from the transmit-destination computers to the original computer apparatus that transmitted the command. [0013]
  • The source computer apparatus receives data representing results of execution of search processing sent back from all of the transmit-destination computers. When this occurs, the source computer apparatus ascertains the results of execution of search processing by all of the transmit-destination computers. Since the source computer apparatus can tell from the results of execution of search processing which transmit-destination computer should be accessed to enable execution of processing in accordance with a command, the computer apparatus can transmit an execute command to the desired computer. As a result, processing in accordance with the execute command can be executed comparatively efficiently. [0014]
  • According to a second aspect of the present invention, the foregoing object is attained by providing a computer apparatus comprising a first receiving device for receiving an address list, which contains addresses of respective ones of a number of computers, and a search command, the address list and command being provided by a transmit-source computer; a dividing device for dividing up the original address list, which has been received by the first receiving device, into divided address lists corresponding to respective ones of a plurality of computers; a first transmitting device for transmitting a divided address list obtained by the dividing unit as well as a search command to a transmit-destination computer specified by an address contained in this divided address list; a search device for conducting a search in accordance with a search command received by the first transmitting device; a second receiving device for receiving data representing result of execution of search processing by the transmit-destination computer in accordance with the search command; and a second transmitting device for transmitting, to the transmit-source computer, data representing result of execution of search processing by the search device and data representing result of execution of search processing received by the second receiving device. [0015]
  • The present invention according to the second aspect thereof provides also a control method suited to the above-described computer apparatus. Specifically, the method comprises the steps of receiving an address list, which contains addresses of respective ones of a number of computers, and a search command, the address list and command being provided by a transmit-source computer; dividing up the received address list into divided address lists corresponding to respective ones of a plurality of computers; transmitting a divided address list and the received search command to a transmit-destination computer contained in the divided address list; conducting a search in accordance with a received search command; receiving data representing results of execution of search processing by the transmit-destination computer in accordance with the search command; and transmitting, to the transmit-source computer, data representing result of execution of search processing and data representing received result of execution of search processing. [0016]
  • The present invention according to the second aspect thereof provides also a program for controlling the above-described computer apparatus as well as a recording medium storing the program. [0017]
  • In accordance with the second aspect of the present invention, an address list and a search command is received, and the received address list is divided into address lists corresponding to respective ones of a plurality of computers. The divided address lists are transmitted (in association with a search command) to transmit-destination computers. The transmit-destination computers execute search processing based upon the search command received, and data representing the results of executed search processing are sent back to the transmit-source computer. [0018]
  • Further, the transmit-destination computers further subdivide the divided address list. The subdivided address lists are transmitted to the succeeding transmit-destination computers together with the search command. Thus, a divided address list is subdivided and the subdivided addresses lists are applied to transmit-destination computers, and the search is repeated in these transmit-destination computers. [0019]
  • The number of transmit-destination computers to which one transmit-source computer (a transmit-source computer may also be a transmit-destination computer) transmits the divided address lists and search command depends upon the number of divisions of the address list (the divided address list). By setting the number of divisions to an appropriate value, the processing load upon the transmit-source computer (transmit-destination computer) can be alleviated. Even if the number of transmit-destination computers increases, processing time can be shortened. [0020]
  • When digital content such as image data or voice data has been stored in the above-described computer apparatus and transmit-destination computers, a command for searching for a computer in which desired digital content has been stored would be transmitted to a transmit-destination computer. If the computer apparatus in which the desired digital content has been stored is found, then a command for acquiring the desired digital content is transmitted to this computer apparatus from the transmit-source computer. Of course, the search command and the acquisition command may be transmitted together from the transmit-source computer to the transmit-destination computer. This means that the desired digital content can be acquired without again transmitting an acquisition command to the computer apparatus storing the desired digital content. [0021]
  • Further, it may be so arranged that some digital content (thumbnail image data if the digital content is image data, data indicative of a musical fragment if the digital content is music data, etc.) is transmitted to the transmit-source computer in accordance with a search command and acquisition command. [0022]
  • A transmit-destination computer accessible by the transmit-source computer may be decided in advance, and this may be managed in a center server. In such case the transmit-source computer would execute authentication processing when it accesses the center server, and an address list containing addresses of computers accessible by this transmit-source computer would be transmitted from the center server to the transmit-source computer. A system in which digital content can be shared and searched by a specific plurality of computers can be constructed. [0023]
  • A command transmitted from the transmit-source computer to a transmit-destination computer may be a search command concerning services capable of being processed by the transmit-destination computer. By finding a transmit-destination computer, which can process a specific service, in accordance with this search command, a command that is for the purpose of having this service processed can be transmitted to the transmit-destination computer found. For example, if the service is a print service, an image can be printed by transmitting image data representing the image to be printed and a command for printing the image to the transmit-destination computer found. This means that an image can be printed even if a transmit-destination computer that is capable of printing the image is not known to the user. [0024]
  • Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.[0025]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram illustrating the electrical structure of a server; [0026]
  • FIG. 2 illustrates an example of images and attribute information stored in an image database; [0027]
  • FIG. 3 illustrates an overview of a search system; [0028]
  • FIG. 4 illustrates an example of an original server list; [0029]
  • FIG. 5 illustrates an example of divided server lists; [0030]
  • FIG. 6 is a flowchart illustrating processing executed by a center server and processing executed by a client computer; and [0031]
  • FIG. 7 is a flowchart illustrating processing executed by a master server and processing executed by a slave server.[0032]
  • DESCRIPTION OF THE PREFERRED EMBODIMENT
  • A preferred embodiment of the present invention will now be described in detail with reference to the drawings. [0033]
  • FIG. 1 is a block diagram illustrating the electrical structure of a server (center server, master server and slave server) constructing a search system according to the present invention. A client computer described later also has a similar structure. [0034]
  • The server includes a [0035] computer 30. The latter includes a communication circuit 31 for sending and receiving data and commands, etc., to and from other servers; a memory 32 for storing data temporarily; an input unit 33 for applying commands and the like to the computer 30; a display unit 34; and an image database 36. Image data representing images (original images) of a number of frames and thumbnail image data representing thumbnail images of a number of frames has been stored in the image database 36.
  • The server further includes a CD-ROM (compact disk-read-only memory) [0036] driver 35. A CD-ROM 37 containing a program for executing an operation described later is accessed by the CD-ROM drive 35. The program read from the CD-ROM 37 is installed in the computer 30.
  • FIG. 2 illustrates an example of original images and thumbnail images that have been stored in the [0037] image database 36.
  • Appended to the original images and thumbnail images corresponding to the original images stored in the [0038] image database 36 is attribute information indicating the category of each image and the date of photography thereof. By applying at least one item of attribute information consisting of category and date of photography, the corresponding original image and its thumbnail are retrieved.
  • FIG. 3 illustrates an overview of a search system. [0039]
  • The search system includes a number of servers that are capable of communicating with one another via a network (not shown). Image data representing images of a number of frames have been stored in each of the number of servers in the manner described above. This search system is for finding a desired image from among such a large number of images. [0040]
  • A [0041] center server 1 includes an original server list.
  • FIG. 4 illustrates an example of an original server list. [0042]
  • The [0043] original server list 110 stores, in association with identification numbers, IP (Internet Protocol) addresses of a number of servers included in the search system and a TCP (Transmission Control Protocol) port number.
  • The [0044] original server list 110 is transmitted from the center server 1 to a client computer 2 in response to a request from the client computer 2. The latter divides the original server list 110 into a plurality (ten in this embodiment) of server lists, thereby generating divided server lists.
  • FIG. 5 illustrates an example of the divided server lists. [0045]
  • The [0046] client computer 2 divides the original server list 110 into ten server lists, as mentioned above, thereby generating divided server lists 111 to 120.
  • IP addresses are included in each of the divided server lists [0047] 111 to 120 that have been generated. To a server (which shall be referred to as the master server) having an IP address among these IP addresses that corresponds to the smallest identification number (though it goes without saying that the number may be other than the smallest) in each divided server list, the corresponding divided server list and a search command are transmitted.
  • In this embodiment, the smallest identification number in the divided server list [0048] 111 is “1”, and the corresponding IP address is “192.168.0.1”. Accordingly, the divided server list 111 and the search command are transmitted from the client computer 2 to a master server 11, which has “192.168.0.1” as its IP address. Similarly, since the smallest identification number in the divided server list 112 is “2”, the divided server list 112 is transmitted to a master server 12 having “192.168.0.2” as its IP address. The divided server lists 113 to 120 are transmitted to master servers 13 to 20, respectively, in similar fashion.
  • The [0049] master servers 11 to 20 respond to the search command by determining whether the relevant image data exists.
  • The divided server lists [0050] 111 to 120 are further divided (i.e., subdivided) by respective ones of the master servers 11 to 20, whereby subdivided server lists are generated. As in the manner of the divided server lists, the subdivided server lists that have been generated are transmitted together with the search command to servers (which shall be referred to as slave servers) having IP addresses corresponding to the smallest identification numbers among the IP addresses contained in respective ones of the subdivided server lists. Among the IP addresses, TCP port addresses and identification numbers contained in a subdivided server list, those that correspond to the IP address of the master server that received the list are deleted by the master server itself. Of course, it goes without saying that an arrangement may be adopted in which the deletion is made by the slave server at the destination of transmission.
  • By way of example, the divided server list [0051] 111 is subdivided into ten subdivided server lists by master server 11. The ten subdivided server lists are transmitted to corresponding ones of slave servers 41 to 50 together with the search command, and the slave servers 41 to 50 conduct a search in accordance with the search command. The slave servers 41 to 50 also subdivide their subdivided server lists and transmit the resulting lists to other servers together with the search command. Each slave server also deletes its own IP address, TCP port number and identification number from its subdivided server list.
  • The division of the server list into divided server lists and the transmission of the divided server lists is thus repeated. When the server list can no longer be divided, the division of the server list and the transmission of divided server lists ends. Of course, the dividing and transmitting operations may be halted at a suitable time without repeating them until the server list can no longer be divided. [0052]
  • Each server conducts a search in accordance with the search command, and data indicative of the search result is sent back to the transmission-source server that transmitted the search command. Data indicative of all of the results of the search is thus transmitted to the [0053] client computer 2. The latter then recognizes the IP address of the server at which the desired image has been stored as well as the ID of this image. The client computer 2 then sends the server where the desired image has been stored an acquisition command for acquiring the image having the image ID. The server that receives the acquisition command transmits the image data to the client computer 2.
  • A large number of servers can be made to execute search processing without increasing the load on each individual server. Further, even if servers and IP addresses are not in one-to-one correspondence owing to a change in IP address, as in a DHCP (Dynamic Host Configuration Protocol), a large number of servers can be made to execute search processing. [0054]
  • FIG. 6 is a flowchart illustrating processing executed by the [0055] center server 1 and processing executed by the client computer 2.
  • The [0056] client computer 2 generates a search command (step 81). For example, if the search command is to “SEARCH FOR A LOCATION WHERE AN IMAGE IN THE ‘LOVE’ CATEGORY EXISTS, AS WELL AS THE ID OF THIS IMAGE”, then the search command will be “SELECT LOCATION, ID WHERE CATEGORY=‘LOVE’″. The client computer 2 then provides the center server 1 with a request to transmit the original server list (step 82).
  • The [0057] center server 1 responds to the transmit request by transmitting the above-described original server list to the center server 1 (step 71).
  • Upon receiving the original server list, the [0058] client computer 2 divides the original server list to generate the plurality of divided server lists described above (step 83). The client computer 2 then transmits the plurality of subdivided server lists generated and the generated search command to respective ones of the corresponding master servers 11 to 20 in the manner set forth above (step 84).
  • FIG. 7 is a flowchart illustrating processing executed mainly by a master server and a slave server. [0059]
  • Upon receiving a divided list transmitted from the [0060] client computer 2, a master server further divides this list to thereby generate subdivided server lists (step 91). The subdivided server lists generated and the search command are transmitted to the slave servers (step 92) in the manner described above. Further, in accordance with the search command that has been received, the master server conducts an image search (a search to determine whether an image having “LOVE” as its category has been stored in the image database) (step 93).
  • Upon receiving the subdivided server list and search command transmitted from the master server, the slave server further subdivides the subdivided server list (step [0061] 101) in the manner described above. The subdivided server lists thus further subdivided and the search command are transmitted from this slave server to succeeding servers (step 102) in the manner described above. These succeeding servers further subdivide the server lists and execute image search processing in accordance with the search command. Such division of the server list, search processing and re-sending of the subdivided server lists are repeated.
  • The slave server executes search processing in accordance with the search command it has received (step [0062] 103).
  • When the search is conducted by a successive server to which a subdivided server list and search command have been transmitted from the slave server, data indicative of a search result is transmitted from this successive server to the slave server that was the transmission source. When this is done, the received data indicative of the search result and the result of search processing executed by the slave server itself are transmitted from the slave server to the master server that was the transmission source of the subdivided server list and search command (step [0063] 104).
  • When the data indicative of the search result transmitted from the slave server is received by the master server, the latter transmits this data together with the result of search processing executed by the master server itself to the client computer [0064] 2 (step 94).
  • Thus, the result of the search for the image that has been stored in the server having the IP address contained in the original server list is recognized by the [0065] client computer 2. The client computer 2 thenceforth transmits an acquisition command to the server at which the desired image has been stored. As a result of the acquisition command being received by the corresponding server, the image data is transmitted from this server to the client computer 2. For example, an acquisition command that applies a request for transmission of thumbnail image data whose ID is “001” to a server having an IP address of “192.168.1.2” and a port number of “80” is “SELECT IMAGE AS THUMBNAIL WHERE LOCATION=‘192.168.1.2:80’ ID=001;”.
  • In the above embodiment, the terms “center server”, “client computer”, “master server” and “slave server”, etc., are used in order to facilitate an understanding of the invention. However, it goes without saying that all servers and client computers implement any of these roles. [0066]
  • Further, a client computer capable of accessing a server may be decided on a per-client-computer basis. This means that when a request to transmit an original server list is sent from a client computer to the center server, an original server list regarding a server capable of being accessed by this client computer is transmitted and the above-described search processing is executed. As a result, specific users of client computers can share and search images. [0067]
  • Furthermore, though the foregoing embodiment regards the searching of image data, the invention can be applied to other processing by changing the command. For example, the invention can be applied to a system that searches for desired processing among types of processing (services) that can be executed by a server. Processing for printing an image is one example of such processing. Assume that the above-mentioned search command is one for finding a server that is capable of image print processing. By transmitting image data representing an image to be printed as well as a print command to the server found, the desired server can be made to print the image. [0068]
  • As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims. [0069]

Claims (3)

What is claimed is:
1. A computer apparatus comprising:
a first receiving device for receiving an original address list transmitted from a center server and containing addresses of a number of computers;
a dividing device for dividing up the original address list, which has been received by said first receiving device, into divided address lists corresponding to respective ones of a plurality of computers;
a first transmitting device for transmitting a divided address list obtained by said dividing device as well as a search command to a transmit-destination computer specified by an address contained in this divided address list; and
a second receiving device for receiving data representing result of execution of search processing by said transmit-destination computer in accordance with the search command.
2. A computer apparatus comprising:
a first receiving device for receiving an address list, which contains addresses of respective ones of a number of computers, and a search command, the address list and command being provided by a transmit-source computer;
a dividing device for dividing up the original address list, which has been received by said first receiving device, into divided address lists corresponding to respective ones of a plurality of computers;
a first transmitting device for transmitting a divided address list obtained by said dividing device as well as a search command to a transmit-destination computer specified by an address contained in this divided address list;
a search device for conducting a search in accordance with a search command received by said first transmitting device;
a second receiving device for receiving data representing result of execution of search processing by said transmit-destination computer in accordance with the search command; and
a second transmitting device for transmitting, to said transmit-source computer, data representing result of execution of search processing by said search device and data representing result of execution of search processing received by said second receiving device.
3. A program for controlling a computer apparatus so as to:
receive an address list, which contains addresses of respective ones of a number of computers, and a search command, the address list and command being provided by a transmit-source computer;
divide up the received original address list into divided address lists corresponding to respective ones of a plurality of computers;
transmit a divided address list as well as a search command to a transmit-destination computer specified by an address contained in this divided address list;
conduct a search in accordance with a search command received;
receive data representing result of execution of search processing by the transmit-destination computer in accordance with the search command; and
transmit, to the transmit-source computer, data representing result of execution of search processing received and data representing result of a search conducted in accordance with the search command.
US10/354,123 2002-01-30 2003-01-30 Computer apparatus and program for controlling same Expired - Fee Related US7216151B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-20899 2002-01-30
JP2002020899A JP2003223444A (en) 2002-01-30 2002-01-30 Computer system and program to control computer system

Publications (2)

Publication Number Publication Date
US20030145063A1 true US20030145063A1 (en) 2003-07-31
US7216151B2 US7216151B2 (en) 2007-05-08

Family

ID=27606300

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/354,123 Expired - Fee Related US7216151B2 (en) 2002-01-30 2003-01-30 Computer apparatus and program for controlling same

Country Status (2)

Country Link
US (1) US7216151B2 (en)
JP (1) JP2003223444A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090061911A1 (en) * 2007-08-30 2009-03-05 Yahoo! Inc. Customizable mobile message services
CN109426559A (en) * 2017-08-21 2019-03-05 北京国双科技有限公司 Order delivery method and device, storage medium, processor
US11445013B2 (en) * 2018-06-30 2022-09-13 Huawei Technologies Co., Ltd. Method for changing member in distributed system and distributed system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
CN108696549B (en) * 2017-04-05 2021-05-25 北京京东尚科信息技术有限公司 Load balancing method, device and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757684B2 (en) * 2001-10-01 2004-06-29 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture
US6829619B1 (en) * 1999-02-02 2004-12-07 Fujitsu Limited Information providing server
US6901378B1 (en) * 2000-03-02 2005-05-31 Corbis Corporation Method and system for automatically displaying an image and a product in a page based on contextual interaction and metadata
US6954767B1 (en) * 1999-03-31 2005-10-11 Fuji Photo Film Co., Ltd. Server and method for searching for image using image prefetch, designating database and storage devices for searching, and setting retrieval and processing parameters for search

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0884157A (en) 1994-09-09 1996-03-26 Nippon Telegr & Teleph Corp <Ntt> Data summarizing system
JPH0895992A (en) 1994-09-27 1996-04-12 Toshiba Corp Method for constructing information managing system using object-oriented database
JP2000250918A (en) 1999-02-26 2000-09-14 Hitachi Information Systems Ltd Distributed data base system, retrieval method and recording medium recording processing program of the method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829619B1 (en) * 1999-02-02 2004-12-07 Fujitsu Limited Information providing server
US6954767B1 (en) * 1999-03-31 2005-10-11 Fuji Photo Film Co., Ltd. Server and method for searching for image using image prefetch, designating database and storage devices for searching, and setting retrieval and processing parameters for search
US6901378B1 (en) * 2000-03-02 2005-05-31 Corbis Corporation Method and system for automatically displaying an image and a product in a page based on contextual interaction and metadata
US6757684B2 (en) * 2001-10-01 2004-06-29 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090061911A1 (en) * 2007-08-30 2009-03-05 Yahoo! Inc. Customizable mobile message services
US8200257B2 (en) * 2007-08-30 2012-06-12 Yahoo! Inc. Customizable mobile message services
US9271147B2 (en) 2007-08-30 2016-02-23 Yahoo! Inc. Customizable mobile message services
CN109426559A (en) * 2017-08-21 2019-03-05 北京国双科技有限公司 Order delivery method and device, storage medium, processor
US11445013B2 (en) * 2018-06-30 2022-09-13 Huawei Technologies Co., Ltd. Method for changing member in distributed system and distributed system

Also Published As

Publication number Publication date
JP2003223444A (en) 2003-08-08
US7216151B2 (en) 2007-05-08

Similar Documents

Publication Publication Date Title
US5832191A (en) Method and apparatus for automatically enabling communication with a network printer
US7085763B2 (en) Device search system
US20020035941A1 (en) Data processing apparatus, print-setting method, and recording medium
JP2001125761A (en) Device, method and system for processing information and recording medium
US9930216B2 (en) Printing system, computer readable recording medium stored with printing device search program, and computer readable recording medium stored with printing device control program for acquiring and displaying information without requiring client terminal authentication
US6839755B1 (en) Network peripheral server discovery method
US20150009539A1 (en) Information processing method, information processing apparatus and program
CN110764688B (en) Method and device for processing data
US7827141B2 (en) Dynamically sizing buffers to optimal size in network layers when supporting data transfers related to database applications
US7437436B2 (en) Server, device, client, information processing method of server, information processing method of device, information processing method of client, information processing program, and memory medium
US6275860B1 (en) Method and apparatus for synchronizing function values in a multiple protocol system
US7216151B2 (en) Computer apparatus and program for controlling same
US20030225831A1 (en) Center server and computer apparatus
JP3760362B2 (en) Server device
JPH06161685A (en) Printer selection device
CN1497423B (en) Data processing equipment
US7436533B2 (en) Printer discovery, status and automatic addition of printer to print spooler database
US6408344B1 (en) Method and apparatus for file transfer and computer readable recording medium recording a file transfer program
US7752305B2 (en) System and method for descriptor-based discovery of network document processing devices
JP2000029751A (en) Log managing method/device
CN114328130B (en) Server monitoring method, system, equipment and computer readable storage medium
US7761470B2 (en) Information processing method, information processing program, and information processing apparatus
US7444430B2 (en) Terminal apparatus and control method thereof
US7702793B2 (en) Method and apparatus for setting network using DHCP server or client function
US20090198723A1 (en) System and method for web-based data mining of document processing information

Legal Events

Date Code Title Description
AS Assignment

Owner name: FUJI PHOTO FILM CO., LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ASAI, ARITO;WASHIO, KAZUTO;REEL/FRAME:013725/0761

Effective date: 20030116

AS Assignment

Owner name: FUJIFILM HOLDINGS CORPORATION, JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:FUJI PHOTO FILM CO., LTD.;REEL/FRAME:018898/0872

Effective date: 20061001

Owner name: FUJIFILM HOLDINGS CORPORATION,JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:FUJI PHOTO FILM CO., LTD.;REEL/FRAME:018898/0872

Effective date: 20061001

AS Assignment

Owner name: FUJIFILM CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FUJIFILM HOLDINGS CORPORATION;REEL/FRAME:018934/0001

Effective date: 20070130

Owner name: FUJIFILM CORPORATION,JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FUJIFILM HOLDINGS CORPORATION;REEL/FRAME:018934/0001

Effective date: 20070130

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20190508