Patent Publication Number: US-8543559-B2

Title: Network system and communication device

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 12/038,990, filed Feb. 28, 2008, which claims priority to Japanese Patent Application No. 2007-049435, filed on Feb. 27, 2007, and Japanese Patent Application No. 2007-089326, filed on Mar. 29, 2007, the contents of which are hereby incorporated by reference into the present application. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to technology for a search process that sends a keyword to a search engine in order to acquire a search result. 
     2. Description of the Related Art 
     Internet searches are widely performed. For example, a personal computer (hereinafter referred to as a “PC”) can send a keyword input by a user with a keyboard to a search engine on the Internet. The search engine searches for sites that include the keyword sent from the PC. The search engine sends the search result to the PC. The PC can display the search result. 
     As mentioned above, a user can input a keyword into a device by operating a keyboard, etc. In addition, for example, Japanese Patent Application Publication No. 2005-148199 discloses that a user inputs a keyword into a device by means of voice. A user can input a keyword by saying a keyword into a microphone without operating a keyboard, etc. The user can easily input a keyword. 
     BRIEF SUMMARY OF THE INVENTION 
     As mentioned above, there are various technologies for inputting a keyword into a device. These technologies are useful, but are not necessarily the best method. The present specification provides technology to input a keyword into a device. This technology makes it possible to use a method different from previously existing methods. As a result, this technology assists a user with the task of inputting into a device, a keyword for searching. 
     The present specification teaches a network system. The network system includes a first communication device, a second communication device and a keyword database. The first communication device includes a first input device and a first search device. The first input device allows a user to input a keyword. The first search device is capable of carrying out a first search process that includes sending the keyword input to the first input device to a search engine and receiving a search result. The keyword database stores the keyword used for the first search process. The second communication device is composed separately from the first communication device. The second communication device includes a keyword acquisition device and a second search device. The keyword acquisition device is capable of acquiring the keyword from the keyword database. The second search device is capable of carrying out a second search process that includes sending the keyword acquired by the keyword acquisition device to a search engine and receiving a search result. 
     In this network system, in a case where the second communication device carries out the second search process by using a keyword used in the first communication device, the second communication device can use the keyword stored in the keyword database. It is not necessary for the user to input the keyword again. This system can assist a user with the task of inputting a keyword into the second communication device. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is an overall view of a network system of a first embodiment. 
         FIG. 2  shows the construction of a PC of the first embodiment. 
         FIG. 3  shows the construction of a keyword server of the first embodiment. 
         FIG. 4  shows an example of the stored content of a keyword database of the first embodiment. 
         FIG. 5  shows the construction of a multi function device of the first embodiment. 
         FIG. 6  shows a time chart of the processes executed by each device of the first embodiment. 
         FIG. 7  shows a flowchart of a keyword collection process of the PC of the first embodiment. 
         FIG. 8  shows a flowchart of a main process of the keyword server of the first embodiment. 
         FIG. 9  shows a flowchart of a keyword registration process of the keyword server of the first embodiment. 
         FIG. 10  shows a flowchart of a keyword sending process of the keyword server of the first embodiment. 
         FIG. 11  shows a flowchart of a main process of the multi function device of the first embodiment. 
         FIG. 12  shows a flowchart of a keyword input process of the multi function device of the first embodiment. 
         FIG. 13  shows a flowchart of a search process of the multi function device of the first embodiment. 
         FIG. 14  shows an example of a screen of a monitor of the multi function device for selecting a search engine of the first embodiment. 
         FIG. 15  shows an example of a screen of the monitor for inputting a keyword of the first embodiment. 
         FIG. 16  shows an example of a screen of the monitor of the first embodiment displaying an input keyword. 
         FIG. 17  shows an example of a screen of the monitor of the first embodiment displaying search results. 
         FIG. 18  shows a flowchart of a main process of the multi function device of a second embodiment. 
         FIG. 19  shows a flowchart of a keyword input process of the multi function device of the second embodiment. 
         FIG. 20  shows a flowchart of a search process of the multi function device of the second embodiment. 
         FIG. 21  shows the construction of a multi function device of a variant embodiment  1 . 
         FIG. 22  is an overall view of a network system of a third embodiment. 
         FIG. 23  shows the construction of a PC of the third embodiment. 
         FIG. 24  shows the construction of a keyword server of the third embodiment. 
         FIG. 25  shows an example of the stored content of a keyword database of the third embodiment. 
         FIG. 26  shows the construction of a user administration server of the third embodiment. 
         FIG. 27  shows an example of the stored content of a user administration database of the third embodiment. 
         FIG. 28  shows the construction of a multi function device of the third embodiment. 
         FIG. 29  shows a time chart of the processes executed by each device of the third embodiment. 
         FIG. 30  shows a flowchart of a keyword collection process of the PC of the third embodiment. 
         FIG. 31  shows a flowchart of a main process of the keyword server of the third embodiment. 
         FIG. 32  shows a flowchart of a keyword registration process of the keyword server of the third embodiment. 
         FIG. 33  shows a flowchart of a keyword sending process of the keyword server of the third embodiment. 
         FIG. 34  shows a flowchart of a user ID sending process of the user administration server of the third embodiment. 
         FIG. 35  shows a flowchart of the main process of the multi function device of the third embodiment. 
         FIG. 36  shows a flowchart of a keyword acquisition process of the multi function device of the third embodiment. 
         FIG. 37  shows a flowchart of a search process of the multi function device of the third embodiment. 
         FIG. 38  shows an example of a screen of a monitor of the multi function device of the third embodiment for selecting a keyword. 
         FIG. 39  shows an example of a screen of the monitor of the third embodiment displaying search results. 
         FIG. 40  shows an example of stored contents of a user administration database of a fourth embodiment. 
         FIG. 41  shows a time chart of the processes executed by each device of the fourth embodiment. 
         FIG. 42  shows a flowchart of a keyword collection process of a PC of the fourth embodiment. 
         FIG. 43  shows a flowchart of a user ID sending process of a user administration server of the fourth embodiment. 
         FIG. 44  shows the construction of a server of a variant embodiment 4. 
         FIG. 45  shows the construction of a multi function device of a variant embodiment 5. 
         FIG. 46  shows an example of a screen of a monitor of a multi function device of a variant embodiment 6 for selecting a keyword. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Below, network system embodiments of the present teaching will be described together with figures. 
     (First Embodiment) 
       FIG. 1  shows in simplified form the construction of a network system  10  of a first embodiment. The network system  10  includes a PC  20 , a keyword server  40 , a multi function device  60 , Internet  2 , etc. The PC  20 , the network server  40 , and the multi function device  60  are composed to be separate from one another. The PC  20 , the keyword server  40 , and the multi function device  60  are connected to a LAN or WAN via a HUB, router, etc. The PC  20 , the keyword server  40 , and the multi function device  60  are capable of communicating with one another. A plurality of search engines  4 ,  6 , etc., exist on the Internet  2 . 
     (Construction of the PC) 
       FIG. 2  shows the construction of the PC  20 . The PC  20  includes a monitor  22 , an operating device  24 , a hard disk (HD)  26 , a controller  30 , and a network interface (network I/F)  32 . The monitor  22  can display various data. The operating device  24  includes a keyboard and a mouse that are operated by a user. The user can input various data and commands into the PC  20  by operating the operating device  24 . The HD  26  can store various data. The HD  26  of the present embodiment can store a search engine list  28 . The search engine list  28  includes the URLs (Uniform Resource Locator) of the search engines  4 ,  6 , etc. The search engine list  28  is set by a user. The controller  30  is capable of executing various processes in accordance with a preset program, and performing overall control of the operation of the PC  20 . The processes executed by the controller  30  are described in detail below. A network cable  12  is connected to the network I/F  32 . As shown in  FIG. 1 , the network cable  12  is connected to the Internet  2  via a HUB, router, etc. The. PC  20  is capable of executing Internet communications via the network I/F  32 . In addition, the network cable  12  is connected to the network server  40  via a HUB, router, etc. The PC  20  can communicate with the keyword server  40  via the network I/F  32 . 
     (Construction of the Keyword Server) 
       FIG. 3  shows the construction of the keyword server  40 . The keyword server  40  includes a keyword database (keyword. DB)  42 , a controller  44 , and a network interface (network I/F)  46 .  FIG. 4  shows an example of the storage content of the keyword DB  42 . The keyword DB  42  can combine and store a type of search engine  50  with a keyword  52 . The type of search engine  50  is set by the URL of the search engine. A method for storing information in the keyword DB  42  is described in detail below. The controller  44  is capable of executing various processes in accordance with a preset program, and performing overall control of the operation of the keyword server  40 . The processes executed by the controller  44  are described in detail below. The network cable  12  is connected to the network I/F  46 . As shown in  FIG. 1 , the network cable  12  is connected to the PC  20  via a HUB, router, etc. The keyword server  40  can communicate with the PC  20  via the network I/F  46 . In addition, the network cable  12  is connected to the multi function device  60  via a HUB, router, etc. The keyword server  40  can communicate with the multi function device  60  via the network I/F  46 . 
     (Construction of the Multi Function Device) 
       FIG. 5  shows the construction of the multi function device  60 . The multi function device  60  includes a monitor  62 , an operating device  64 , a printing device  66 , a storage device  68 , a controller  70 , and a network interface (network I/F)  72 . The monitor  62  can display various data. The operating device  64  includes a plurality of keys (numeric keys, a start key, a cancel key, a search button, etc.) that are operated by a user. The operating device  64  does not include a keyboard or mouse. The user can input various data and commands into the multi function device  60  by operating the operating device  64 . The printing device  60  can print onto print media based upon print data. The print data may be sent from outside the multi function device  60  (e.g., 
     Internet  2 ). In addition, the print data may be produced by a scanner (not shown in the drawings) that forms a portion of the multi function device  60 . The storage device  68  can store various data. The content of the information stored in the storage device  68  is described below as needed. The controller  70  is capable of executing various processes in accordance with a preset program, and performing overall control of the operation of the multi function device  60 . The processes executed by the controller  70  are described in detail below. The network cable  12  is connected to the network I/F  72 . As shown in  FIG. 1 , the network cable  12  is connected to the keyword server  40  via a HUB, router, etc. The multi function device  60  can communicate with the keyword server  40  via the network I/F  72 . In addition, the network cable  12  is connected to the Internet  2  via a HUB, router, etc. The multi function device  60  is capable of executing Internet communications via the network I/F  72 . 
     (Overview of the Processes for Each Device) 
     Next, an overview of the processes executed by each of the devices  20 ,  40 ,  60  is described.  FIG. 6  shows a time chart of the processes executed by each device  20 ,  40  and  60 . The user can select a search engine (e.g., the search engine  4  (see  FIG. 1 )) by operating the operating device  24  of the PC  20  (see  FIG. 2 ). In addition, the user can input a desired keyword into the PC  20 . The PC  20  can execute a search process. In the search process, the keyword input by the user is sent to the selected search engine and a search result is acquired. The PC  20  sends a keyword registration request (A 1 ) to the keyword server  40  when the search process is executed. Next, the PC  20  sends a URL for the search engine and the keyword used by the search process to the keyword server  40  (A 2 ). The keyword server  40  can store a combination of the URL for the search engine and the keyword in the keyword DB  42  (see  FIG. 4 ). 
     A user can select a URL for a search engine by operating the operating device  64  of the multi function device  60  (see  FIG. 5 ). Furthermore, the user can input the first portion of the text (at least one letter) of the desired keyword into the multi function device  60 . The multi function device  60  sends a keyword sending request (B 1 ) to the keyword server  40  in a case where text has been input. Next, the multi function device  60  sends the selected URL and the input text to the keyword server  40  (B 2 ). The keyword server  40  identifies keywords by searching the keyword DB  42  using the URL and text sent from the multi function device  60 . The keyword server  40  sends the identified keywords to the multi function device  60  (B 3 ). The multi function device  60  can display the keywords sent from the keyword server  40 . The user can select one keyword from the displayed keywords by operating the operating device  64 . In this case, the multi function device  60  can execute a search process that sends the keyword selected by the user to the selected search engine and acquires a search result. 
     (Process of the PC) 
     Next, the process executed by the PC  20  is described in detail.  FIG. 7  shows a flowchart of the keyword collection process of the PC  20 . As noted above, the HD  26  of the PC  20  stores the search engine list  28  (see  FIG. 2 ). The search engine list  28  includes a plurality of URLs for search engines. The user can access any search engine on the Internet  2  by operating the operating device  24 . The controller  30  of the PC  20  monitors whether a user accesses any URL stored in the search engine list  28  (S 10 ). In a case where any URL is accessed by the user, the controller  30  determines the answer is YES in S 12 . In this case, the controller  30  temporarily stores the accessed URL on the HD  26  (S 14 ). 
     The user can input a desired keyword by operating the operating device  24 . The controller  30  monitors inputting of the keyword by the user (S 16 ). In a case where access to the search engine has been completed without inputting a keyword, the controller  30  determines the answer is NO in S 16 . In this case, the controller  30  returns to S 10  and monitors access to the search engine. However, in a case where a keyword has been input, the controller  30  determines the answer is YES in S 16 . In this case, the controller  30  executes a search process that sends the input keyword to the search engine being accessed and acquires a search result (S 18 ). Although not illustrated in the flowchart, the controller  30  can display the search result acquired with the search process of S 18  on the monitor  22  (see  FIG. 2 ). 
     The controller  30  temporarily stores the keyword used by the search process on the HD  26  (S 20 ). Next, the controller  30  sends a keyword registration request to the keyword server  40  (S 22  (see A 1  of  FIG. 6 )). The controller  30  then sends the URL stored on the HD  26  in S 14  and the keyword stored on the HD  26  in S 20  to the keyword server  40  (S 24  (see A 2  of  FIG. 6 )). After the process described above, the keyword collection process is complete. 
     (Processes of the Keyword Server) 
     (Main Process) 
     The processes executed by the keyword server  40  are described in detail.  FIG. 8  shows a flowchart of the main process of the keyword server  40 . The controller  44  of the keyword server  40  (see  FIG. 3 ) monitors whether the keyword registration request sent from the PC  20  (see A 1  of  FIG. 6 , S 22  of  FIG. 7 ) has been received (S 30 ). In a case where the keyword registration request has been received (YES in S 30 ), the controller  44  executes the keyword registration process (S 32 ). The keyword registration process is described in detail below. Furthermore, the controller  44  also monitors whether the keyword sending request sent from the multi function device  60  (see B 1  of  FIG. 6 , S 106  of  FIG. 12  described below) has been received (S 34 ). In a case where the keyword sending request has been received (YES in S 34 ), the controller  44  executes the keyword sending process (S 36 ). The keyword sending process is described in detail below. 
     (Keyword Registration Process) 
       FIG. 9  shows a flowchart of the keyword registration process of S 32  in  FIG. 8 . The controller  44  receives the URL for the search engine and the keyword sent from the PC  20  (see A 2  of  FIG. 6 , S 24  of  FIG. 7 ) (S 40 ). The controller  44  confirms whether the URL received in S 40  is stored in the keyword DB  42  (see  FIG. 3 ) (S 42 ). In the case where the URL is not stored in the keyword DB  42  (NO in S 42 ), the controller  44  stores the URL in the keyword DB  42  (S 44 ). When S 44  is complete, the controller  44  executes S 48 . However, in the case where the URL has been stored in the keyword DB  42  (YES in S 42 ), the controller  44  confirms whether the keyword received in S 40  is combined with the URL received S 40  in the keyword DB  42  (S 46 ). In a case where the keyword is combined with the URL in the keyword DB  42  (YES in S 46 ), the keyword registration process is complete. However, in a case where the keyword is not combined with the URL in the keyword DB  42  (NO in S 46 ), the controller  44  executes S 48 . 
     In S 48 , the controller  44  combines the keyword received in S 40  with the URL received in S 40  and stores a combination of the keyword and the URL in the keyword DB  42 . For example, in a case where. S 48  is to be executed via S 44 , the controller  44  combines the keyword received in S 40  with the URL stored in S 44 . However, in a case where S 48  is to be executed via S 46 , the controller  44  combines the keyword received in S 40  with the URL stored before in the keyword DB  42  (the URL for the search engine received in S 40 ). When S 48  is finished, the keyword registration process is complete. 
     (Keyword Sending Process) 
       FIG. 10  shows a flowchart of the keyword sending process of S 36  in  FIG. 8 . The controller  44  receives the. URL for the search engine and the text sent from the multi function device  60  (see B 2  of  FIG. 6 , S 108  of  FIG. 12  described below) (S 60 ). The controller  44  confirms whether the URL received in S 60  is in the keyword DB  42  (S 62 ). In a case where the URL is not stored in the keyword DB  42  (NO in S 62 ), the keyword sending process is complete. However, in a case where the URL is stored in the keyword DB  42  (YES in S 62 ), the controller  44  identifies the keywords combined with the URL and the included text received in S 60  by searching the keyword DB  42  using the URL for the search engine and the text received in S 60  (S 64 ). In S 64 , the controller  44  identifies the keywords that match the first portion of the text received in S 60 . For example, in a case where the text received in S 60  is “a”, the controller identifies the keywords that begin with “a”. 
     Next, the controller  44  generates a keyword list that includes keywords identified in S 64  (S 66 ). For example, the controller  44  converts the keywords identified in S 64  into a data format that is readable in the multi function device  60 . In addition, for example, in a case where the number of keywords identified in S 64  exceeds a predetermined number, the controller  44  may generate the keyword list including the predetermined number of keywords only. Next, the controller  44  sends the keyword list (keywords) generated in S 66  to the multi function device  60  (S 68  (see B 3  of  FIG. 6 )). In this way, the keyword sending process is complete. 
     (Processes of the Multi Function Device) 
     (Main Process) 
     The processes executed by the multi function device  60  are described in detail.  FIG. 11  shows a flowchart of the main process executed by the multi function device  60 . The operating device  64  (see  FIG. 5 ) of the multi function device  60  includes a search button. A user can operate the search button. The controller  70  of the multi function device  60  (see  FIG. 5 ) monitors whether the search button has been pushed (S 80 ). In a case where the button has been pushed (YES in S 80 ), the controller  70  executes the keyword input process (S 82 ) and the search process (S 84 ). These processes are described in detail below. However, in a case where a key other than the search button has been operated (NO in S 80 ), the controller  70  determines the answer is NO in S 80 . In this case, the controller  70  executes other processes in response to the type of key that was operated (S 86 ). 
     (Keyword Input Process) 
       FIG. 12  shows a flowchart of the keyword input process of S 82  in  FIG. 11 . Where the search button is operated in S 80 , the controller  70  makes the monitor  62  display the list of search engines (see  FIG. 5 ).  FIG. 14  shows a screen example of the list of search engines. Note that although the URL for each search engine is displayed in.  FIG. 14 , the name of each search engine may instead be displayed. A user can move the cursor  80  up and down by operating the operating device  64 . The user can select one search engine. The controller  70  waits until a search engine is selected by the user (S 100 ). When a search engine is selected, the controller  70  displays the image illustrated in  FIG. 15  on the monitor  62 . A user can input the first portion of text of a desired keyword by operating the operating device  64  (e.g., the numeric keys). The controller  70  waits until text is input by the user (or waits until the start key described below is operated) (S 102 ). When text is input by the user, the controller  70  determines that text was input in S 104 . In this case, the flow proceeds to S 106 . 
     In S 106 , the controller  70  sends a keyword sending request to the keyword server  40  (see B 1  of  FIG. 6 ). Next, the controller  70  sends the search engine selected in S 100  and the text input in S 102  to the keyword server  40  (S 108  (see B 2  of  FIG. 6 )). This results in the keyword list from the keyword server  40  (S 68  of  FIG. 10 ) being sent to the multi function device  60 . The multi function device  60  receives the keyword list (S 110 ). The controller  70  displays keyword candidate data included in the keyword list sent in S 110  on the monitor  62 . An example of the keyword candidate data  92  in which “k” was input in S 102  is shown in  FIG. 15 . The user can move the cursor  94  up and down by operating the operating device  64 . The user can select one keyword. In a case where no keyword is selected by the user, the controller  70  determines that the answer in S 114  is NO. In this case, the controller  70  returns to S 102  and monitors the input of the user. The user can input text that continues after “k” by operating the operating device  64 . For example, the user can input “ke”. In this case, the controller  70  sends the two letter text “ke” in S 108  to the keyword server  40 . The multi function device  60  receives the new keyword candidate data sent from the keyword server  40  (the keywords that include the two letters of text “ke”) (S 110 ), and displays this new keyword candidate data (S 112 ). 
     However, in a case where one keyword was selected by the user in S 114 , the flow proceeds to S 116 . In S 116 , the controller  70  temporarily stores the selected keyword in the storage device  68  (see  FIG. 5 ).  FIG. 16  shows a screen example in which a keyword has been selected. A user can identify the keyword  100  that the user selected (input) by viewing this display. In this state, a user can operate the start key of the operating device  64 . In this case, the controller  70  determines that the answer is YES in S 104  and proceeds to S 118 . In S 118 , the controller  70  stores the keyword that was input by the user (the keyword that was stored in S 116 ) as the current keyword. In this way, the keyword input process is complete. 
     (Search Process) 
       FIG. 13  shows a flowchart of the search process of S 84  in.  FIG. 11 . The search process continues to be executed in S 118  of  FIG. 12 . The controller  70  sends the current keyword stored in S 118  to the search engine selected in S 100  of  FIG. 12  (S 130 ). The controller  70  acquires and displays the search result of the search engine (S 132 ).  FIG. 17  shows a screen example of the search result.  FIG. 17  shows the search result for the current keyword “keyword”. A list  102  of a plurality of sites that include the keyword “keyword” is displayed on the monitor  62 . Although not illustrated in the flowchart of  FIG. 13 , a user can print the list  102  by operating the start key of the operating device  64 . In this case, the user can view the list  102  printed on print media. Furthermore, a user can move the cursor  104  up and down by operating the operating device  64 . The user can select one site. In this case, the controller  70  displays the selected site (S 134 ). Although not illustrated in the flowchart, a user can print the selected site by operating the start key of the operating device  64 . Note that when one site is selected by the user, the controller  70  may automatically print the site. When the site is displayed (or printed) in S 134 , the search process is complete. 
     The network system  10  of the first embodiment has been described in detail. In this system  10 , the keywords used for search processes of PC  20  are stored in the keyword server  40 . A user can input text that forms a desired keyword into the multi function device  60 . A keyword that matches the first portion of this text is identified by the keyword server  40 . The multi function device  60  can execute the search process for the keyword identified by the keyword server  40 . The user can use the keyword used for the search process of PC  20  for the search process of the multi function device  60  without inputting all of the text that forms that keyword. This system  10  can assist a user with the task of inputting a keyword into the multi function device  60 . Because of this, a user can reduce the burden of inputting a keyword into a device that does not have a keyboard, such as the multi function device  60 . The keyword server  40  not only identifies the keywords that match the first portion of the text sent from the multi function device  60 , but may also identify all of the keywords that include that text. For example, in a case where the text “k” was sent from the multi function device  60 , the keywords that include a “k” therein, and not just a “k” at the beginning thereof (e.g., “basketball”) may be identified. 
     Furthermore, a user can use a desired search engine to search with the multi function device  60 , and thus is extremely useful for the user. In particular, the keyword server  40  stores a combination of the type of search engine that executed the search process and the keyword in the PC  20 . The keyword server  40  can generate a keyword list from the keywords that are combined with the type of search engine selected with the multi function device  60 . According to this system  10 , keywords can be extracted in accordance with the type of search engine selected with the multi function device  60 . 
     This construction is particularly useful when a user uses a different search engine in response to the keyword. For example, in a case where a keyword “XYZ” from engineering vocabulary is used for a search process, a first search engine is used and in a case where a keyword “XXX” from economics vocabulary is used for a search process, a second search engine is used. In this case, the keyword server  40  stores a combination of the keyword “XYZ” and the first search engine, and a combination of the keyword “XXX” and the second search engine. When a user uses the multi function device  60  to search for the keyword “XYZ”, the user can select the first search engine, and can input the letter “X” that forms that keyword “XYZ”. In this case, the keyword server  40  cane identify the keyword “XYZ” by searching the keyword DB by using the selected first search engine and the input letter “X”. In this case, the keyword “XXX” combined with the second search engine is not identified. According to this construction, keyword candidates can be extracted in accordance with the type of search engine selected by the user. A user can be greatly assisted with the task of inputting a keyword into the multi function device  60 . 
     In a case where a user inputs text into the multi function device  60 , the multi function device  60  sends the input text to the keyword server  40 . The keyword server  40  generates a keyword list that includes a plurality of keyword candidate data, and sends this keyword list to the multi function device  60 . The multi function device  60  displays the received keyword candidate data on the monitor  62 . The user can select a keyword from the displayed keyword candidate data. 
     (Second Embodiment) 
     Next, a second embodiment of the present teaching is described. Here, the differences with the first embodiment are described. The present embodiment differs from the first embodiment in the details of the processes of the multi function device  60 . In other words, the second embodiment differs in the processes of  FIGS. 11 to 13  of the first embodiment. The storage device  68  of the multi function device  60  of the present embodiment (see  FIG. 5 ) can store a flag (ON or OFF), and the URL for the search engine that executed the previous search process (hereinafter referred to as the “previous search engine”). The composition of this data and how it is stored and used is described in detail below. 
     (Processes of the Multi Function Device) 
     (Main Process) 
       FIG. 18  shows a flowchart of the main process executed by the multi function device  60  of the second embodiment. In a case where the multi function device  60  is turned ON, the controller  70  sets the flag stored in the storage device  68  to OFF, and clears a previous search engine (S 170 ). The controller  70  monitors whether the search button of the operating device  64  has been pushed (S 180 ). In a case where the search button has been pushed (YES in S 180 ), the controller  70  executes the keyword input process (S 182 ) and the search process (S 184 ). In contrast, in a case where a key other than the search button has been operated (NO in S 180 ), the controller  70  determines the answer is NO in S 180 . In this case, the controller  70  executes other processes in response to the type of key that was operated (S 186 ). 
     (Keyword Input Process) 
       FIG. 19  shows a flowchart of the keyword input process of S 182  in  FIG. 18 . The controller  70  waits until a search engine is selected by the user (S 200 ). In a case where a search engine is selected, the controller  70  confirms whether the selected search engine matches the previous search engine stored in the storage device  68  (S 201 ). In a case where the selected search engine matches the previous search engine (YES in S 201 ), the flow proceeds to S 202 . The processes from S 202  to S 216  are identical to the processes from S 102  to S 116  of  FIG. 12  of the first embodiment. Because of this, a description of S 202  to S 216  is omitted. In addition, the storage of the current keyword when the start key is operated in S 204  is also identical to S 118  of  FIG. 12  of the first embodiment. S 230  and S 232  of  FIG. 20  of execution of the search process for this current keyword are also identical to S 130  and S 132  of  FIG. 13  of the first embodiment. 
     In a case where the selected search engine does not match the previous search engine (NO in S 201 ), the controller  70  confirms whether the flag stored in the storage device  68  is ON (S 220 ). In a case where the flag is OFF (NO in S 220 ), the flow proceeds to S 202 . However, in a case where the flag is ON (YES in S 220 ), the controller  70  displays the current keyword stored in the storage device  68  (S 222 ). The keyword displayed here was stored in S 224  and was executed in the previous search process (S 230 , S 232  of  FIG. 20 ). When S 222  is finished, the flow proceeds to S 214 . A user can select the current keyword that is displayed (YES in S 214 ), and can operate the start key (“Start key” in S 204 ). In this case, the controller  70  stores the current keyword selected in S 214  as a repeat current keyword (S 224 ). This current keyword is used to execute the search process described below. 
     (Search Process) 
       FIG. 20  shows a flowchart of the search process of S 184  of  FIGS. 18 . S 230  and S 232  are identical to S 130  and S 132  of  FIG. 13  of the first embodiment. In S 234 , the controller  70  confirms whether one site has been selected by the user from the list of sites displayed in S 232 . In a case where the user selected from the list of sites (YES in S 234 ), the controller  70  displays (or prints) the selected site (S 236 ). Next, the controller  70  sets the flag stored in the storage device  68  to OFF (S 238 ). However, in a case where the user does not select from the list of sites (NO in S 234 ), the controller  70  stores a URL for the present search engine (the URL for the search engine selected in S 200 ) (S 240 ). In this way, the previous search engine is stored in the storage device  68 . Next, the controller  70  sets the flag stored in the storage device  68  to ON (S 242 ). When S 238  or S 242  are finished, the search process is complete. 
     For example, the search result acquired when the first search engine is used by the multi function device  60  to search may not be desired by the user. In this case, the user does not select a site from the list of search result sites (NO in S 234 ). In this case, the multi function device  60  stores the URL for the first search engine (the previous search engine) (S 240 ), and sets the flag to ON (S 242 ). In this state, the user can select the second search engine in order to change the search engine and search the same keyword (S 200 ). In this case, it is determined that the answer is NO in S 201  of  FIG. 19 , and determined that the answer is YES in S 220  of  FIG. 19 . In this way, the keyword used in the previous search process (the current keyword) is displayed on the monitor  62  (S 222 ). The user can select the current keyword being displayed (S 214 ). The result is that the multi function device  60  will use the second search engine to execute a search process for the same keyword (S 230  and S 232 ). In the present embodiment, the user does not need to re-input the keyword when changing the search engine or performing another search for the same keyword with the multi function device  60 . This can greatly ease the burden on the user of inputting a keyword. 
     Although the first and second embodiments were described in detail above, these are merely illustrations, and do not limit the scope of the patent claims. The technology described in the scope of the patent claims includes various modifications and changes to the specific examples illustrated above. Variant embodiments of the aforementioned embodiments are provided below. 
     (Variant Embodiment 1) 
     In each of the first and the second embodiments, the keyword server  40  including the keyword DB  42  is constructed separately from the PC  20 , and is also constructed separately from the multi function device  60 . However, the keyword database may be installed in the multi function device. In this case, the construction of  FIG. 21  can be used. In other words, in addition to each device  162 ,  164 ,  166 ,  168 ,  170 ,  172  of the same construction as in the first embodiment, the multi function device  160  also includes a keyword database (keyword DB)  142 . The multi function device  160  is connected via a network cable  112  to a PC  120  having the same construction as the PC  20  of the first embodiment. In addition, the multi function device  160  is connected to the Internet  2  via the network cable  112 . The PC  120  is connected to the Internet  2  via the network cable  112 . 
     The keyword DB  142  stores a combination of a keyword and a search engine that executed the search process in PC  120 . The controller  170  can identify the keywords (keyword candidate data) by searching the keyword DB  142  using the search engine selected with the operating device  164  and the input text. The controller  170  displays the keyword candidate data on the display device  162 . The user can select one keyword from the keyword candidate data displayed on the display device  162 . In this way, the controller  170  can execute a search process that sends the selected keyword to the selected search engine and acquire a search result. In addition, the construction of the present variant embodiment can be used to execute each process of the second embodiment. Each process executed by the PC  120  and the multi function device  160  of the present variant embodiment can be implemented by making slight changes in each flowchart of the aforementioned first embodiment and second embodiment ( FIGS. 7-13 ,  FIGS. 18-20 ). 
     (Variant Embodiment 2) 
     The keyword database may be installed in the PC. Each process executed by the PC and the multi function device of the present variant embodiment can be implemented by making slight changes in each flowchart of the aforementioned first embodiment and second embodiment ( FIGS. 7-13 ,  FIGS. 18-20 ). A communication device including this construction can be implemented as follows. 
     In other words, the communication device is connected with another communication device. The communication device includes an input device, a search device, a keyword database, a keyword identification device, and a keyword sending device. The input device allows the input of a keyword. The search device sends a keyword that was input into the input device to a search engine on the Internet and executes a search process that acquires a search result. The keyword database cumulatively stores keywords that were executed by the search process by the search device. The keyword identification device searches the keyword database using text that was input into the other communication device in order to identify keywords that include the text. The keyword sending device sends the keywords identified by the keyword identification device to the other communication device. 
     In addition, computer readable media is also useful to implement the aforementioned communication device. The computer readable media includes commands that cause each of the following processes to be executed on a computer that is installed in the communication device.
     (1) A search process that sends keywords input into the aforementioned communication device to a search engine on the Internet and acquire a search result.   (2) A keyword storage process that cumulatively stores the keywords used by the search process in a predetermined storage area.   (3) A keyword identification process that searches the storage area using text input into another communication device in order to identify keywords that include that text.   (4) A sending process that sends the keywords identified in the keyword identification process to the other communication device.   

     (Variant Embodiment 3) 
     A device other than the PC  20  can be used to construct the system. For example, a multi function device may be used instead of the PC  20  to construct the system. In this case, the system is constructed by two multi function devices and a keyword server. In addition, a device other than the multi function device  60  can be used to construct the system. For example, a PC may be used instead of the multi function device  60  to construct the system. In this case, the system is constructed from two PCs and a keyword server. 
     (Third Embodiment) 
       FIG. 22  shows in simplified form the construction of a network system  310  of a third embodiment. The network system  310  includes PCs  320 ,  340 ,  360 , a keyword server  380 , a user administration server  400 , a multi function device  420 , Internet  302 , etc. The PCs  320 ,  340 ,  360 , the keyword server  380 , the user administration server  400 , and the multi function device  420  are each constructed separately. The PCs  320 ,  340 ,  360 , the keyword server  380 , the user administration server  400 , and the multi function device  420  are connected to a LAN or WAN via a HUB, router, etc. The PCs  320 ,  340 ,  360 , the keyword server  380 , the user administration server  400 , and the multi function device  420  are capable of communicating with one another. A plurality of search engines  304 ,  306 , etc. exists on the Internet  302 . 
     (Construction of the PC) 
       FIG. 23  shows the construction of PC  320 . The PC  320  includes each device  322 ,  324 ,  326 ,  330 ,  332  that are identical to the PC  20  of the first embodiment. The HD  326  can store a search engine list  328 . The search engine list  328  includes the URLs for the search engines  304 ,  306 , etc. The search engine list  328  is set by a user. The controller  330  executes various processes in accordance with a preset program, and performs overall control of the operation of the PC  320 . The processes executed by the controller  330  are described in detail below. A network cable  312  is connected to the network I/F  332 . As shown in  FIG. 22 , the network cable  312  is connected to the Internet  302  via a HUB, router, etc. The PC  320  is capable of executing Internet communications via the network I/F  332 . In addition, the network cable  312  is connected to the network server  380  via a HUB, router, etc. The PC  320  is capable of communicating with the keyword server  380  and the user administration server  400  via the network I/F  332 . 
     The PC  340 ,  360  has the same construction as the PC  320 . Thus a detailed description is omitted. The PC  340 ,  360 , like the PC  320 , is connected with the keyword server  380  and the user administration server  400  so as to be capable of communication therewith. Note that the number of PCs arranged in the network system  310  of the present embodiment is not limited. In the present embodiment, the PCs are limited to the three PCs  320 ,  340 ,  360  in order to simplify the description. 
     (Construction of the Keyword Server) 
       FIG. 24  shows the construction of the keyword server  380 . The keyword server  380  includes a keyword database (keyword DB)  382  and each device  384  and  386  like the keyword server  40  of the first embodiment.  FIG. 25  shows an example of the storage content of the keyword DB  382 . The keyword DB  382  can store a plurality of combinations of a user ID  390  described below, a keyword  392 , and a URL for a search engine  394 . In addition, the keyword DB  382  can store a registration date and time  396  at which the keyword  392  was registered. The keyword DB  382  cumulatively stores a keyword, a URL, and a registration date and time for each user ID. A method for storing information in the keyword DB  382  is described in detail below. The controller  384  executes various processes in accordance with a preset program, and performs overall control of the operation of the keyword server  380 . The processes executed by the controller  384  are described in detail below. A network cable  312  is connected to the network I/F  386 . As shown in  FIG. 22 , the network cable  312  is connected to the PC  320  via a HUB, router, etc. The keyword server  380  can communicate with the PC  320  via the network I/F  386 . In addition, the network cable  312  is connected to the multi function device  420  via a HUB, router, etc. The keyword server  380  can communicate with the multi function device  420  via the network I/F  386 . 
     (Construction of the User Administration Server) 
       FIG. 26  shows the construction of the user administration server  400 . The user administration server  400  includes a user administration database (user administration DB)  402 , a controller  404 , and a network interface (network I/F)  406 .  FIG. 27  shows an example of the storage content of the user administration DB  402 . The user administration DB  402  stores a plurality of combinations. Combinations include the following: user IDs  410  that identify users, phone numbers  412  for telephones (not shown in the drawings) used by users, and node names  414  of PCs used by those users. A user ID  410  is assigned to each: user that uses a PC on the network system  310 . The user IDs and node names of the present embodiment can be changed as needed. The phone number  412  may be a phone number of a portable telephone used by a user, or may be a phone number of a fixed telephone. In addition, the phone number  412  may be an internal number inside a company, or may be an IP address of an IP telephone. The controller  404  executes various processes in accordance with a preset program, and performs overall control of the operation of the keyword server  400 . The processes executed by the controller  404  are described in detail below. A network cable  312  is connected to the network I/F  406 . As shown in  FIG. 22 , the network cable  312  is connected to the PCs  320 ,  340 ,  360  via a HUB, router, etc. The keyword server  400  can communicate with the PC  320 ,  340 ,  360  via the network I/F  406 . In addition, the network cable  312  is connected to the multi function device  420  via a HUB, router, etc. The keyword server  400  can communicate with the multi function device  420  via the network I/F  406 . 
     The user administration DB  402  can be changed from each PC on the network system  310 . For example, in a case where a new PC is added to the network system  310 , the new PC is connected to the user administration server  400  via the network cable  312  so as to be capable of communication therewith. A user inputs a user ID, a phone number, and a node name from the operating device of the new PC. The user ID, phone number, and node name that were input are sent to the user administration server  400  via the network cable  312 . The user administration server  400  receives the sent data via the network I/F  406 . The controller  404  of the user administration server  400  stores the received data in the user administration DB  402 . 
     (Construction of the Multi Function Device) 
       FIG. 28  shows the construction of the multi function device  420 . The multi function device  420  has each device  422 ,  424 ,  426 ,  430 ,  432 ,  434  that are identical to the multi function device  60  of the first embodiment, and a telephone device  428 . The content of the information stored in the storage device  430  is described below as needed. The telephone device  428  can receive an incoming call from another telephone device (not shown in the drawings) and the phone number of the other telephone device. A user can use the telephone device  428  to communicate with a user of another telephone device. The controller  432  executes various processes in accordance with a preset program, and performs overall control of the operation of the multi function device  420 . The processes executed by the controller  432  are described in detail below. A network cable  312  is connected to the network I/F  434 . As shown in  FIG. 22 , the network cable  312  is connected to the keyword server  380  via a HUB, router, etc. The multi function device  420  is capable of communicating with the keyword server  380  and the user administration server  400  via the network I/F  434 . In addition, the network cable  312  is connected to the Internet  302  via a HUB, router, etc. The multi function device  420  is capable of executing Internet communications via the network I/F  434 . 
     (Overview of the Processes for Each Device) 
     Next, an overview of the processes executed by each of the aforementioned devices  320  ( 340 ,  360 ),  380 ,  400 ,  420  are described.  FIG. 29  shows a time chart of the processes executed by each device  320 ,  380 ,  400 , and  420 . The user can select the search engine (e.g., the search engine  304  (see  FIG. 22 )) by operating the operating device  324  of the. PC  320  (see  FIG. 23 ). In addition, the user can input a desired keyword into the PC  320 . The PC  320  can execute a search process that sends the keyword input by the user to the selected search engine and acquires a search result. The PC  320  sends a user ID check request (C 1 ) to the user administration server  400  in a case where a search process has been executed. The PC  320  sends the node name of the PC  320  to the user administration server  400  (C 2 ) at the same time that the PC  320  checks the user ID (C 1 ). The user administration server  400  sends to the PC  320  the user ID combined with the node name sent from the PC  320  and stored in the user administration DB  402  (see  FIG. 27 ). 
     Next, the PC  320  requests a keyword registration from the keyword server  380  (D 1 ). Next, the PC  320  sends the user ID sent from the user administration server  400 , a URL for the search engine that executed the search process, and the keyword to the keyword server  380  (D 2 ). In this way, the keyword server  380  can store a combination of the user ID, the URL for the search engine, and the keyword in the keyword DB  382  (see  FIG. 25 ). 
     The telephone device  428  of the multi function device  420  receives an incoming call from another telephone device and the phone number of this telephone device. In this case, the multi function device  420  sends to the user ID check request to the user administration server  400  (E 1 ). At the same time the multi function device  420  requests the user ID (E 1 ), the telephone device  428  sends the received phone number (E 2 ). The user administration server  400  sends to the multi function device  420  the user ID that is combined with the phone number sent from the multi function device  420  and stored in the user administration DB  402  (E 3 ). 
     Next, the PC  420  requests a keyword sending (F 1 ) to the keyword server  380 . Next, the multi function device  420  sends the user ID that was sent from the user administration server  400  to the keyword server  380  (F 2 ). The keyword server  380  identifies the keyword and search engine combined with the user ID sent from the multi function device  420  and stored in the keyword DB  382 . The keyword server  380  sends a keyword list including the identified keyword and the URL for the search engine to the multi function device  420  as keyword candidate data (F 3 ). The multi function device  420  can display the keyword and search engine sent from the keyword server  380  on the display device  422  (see  FIG. 28 ). In a case where a plurality of keywords are included in the keyword list sent from the keyword server  380 , the user can select one keyword from the plurality of displayed keywords by operating the operating device  424 . In this case, the multi function device  420  can execute a search process that sends the keyword selected by the user to the search engine that was simultaneously sent with that keyword, and acquire a search result. 
     (Process of the PC) 
     Next, the processes executed by the PC  320  are described in detail.  FIG. 30  shows a flowchart of the keyword collection process of the PC  320 . As noted above, the HD  326  of the PC  320  stores the search engine list  328  (see  FIG. 23 ). The search engine list  328  includes a plurality of search engine URLs. The user can access any search engine on the Internet  302  by operating the operating device  324 . The controller  330  of the PC  320  monitors any URL included in the search engine list  328  accessed by the user (S 310 ). In a case where any URL is accessed by the user, the controller  330  determines the answer is YES in S 312 . In this case, the controller  330  temporarily stores the accessed URL on the HD  326  (S 314 ). 
     The user can input a desired keyword by operating the operating device  324 . The controller  330  monitors whether the keyword was input by the user (S 316 ). In a case where access to the search engine has been completed without inputting a keyword, the controller  330  determines the answer in S 316  is NO. In this case, the controller  330  returns to S 310  and monitors access to the search engine. However, in a case where a keyword has been input, the controller  330  determines the answer is YES in S 316 . In this case, the controller  330  sends the input keyword to the search engine being accessed and executes a search process that acquires a search result (S 318 ). Although not illustrated in the flowchart, the controller  330  can display the search result acquired with the search process of S 318  on the display device  322  (see  FIG. 23 ). 
     The controller  330  temporarily stores the keyword executed by the search process on the HD  326  (S 320 ). Next, the controller  330  sends a user ID check request to the user administration server  400  (S 322  (see A 1  of  FIG. 29 )). Next, the controller  330  sends the node name of the PC  320  to the user administration server  400  (S 324  (see A 2  of  FIG. 29 )). The user administration server  400  sends to the PC  320  the user ID that is combined with the node name of PC  320  and stored in the user administration DB  402 . The controller  330  receives the user ID sent from the user administration server  400  via the network I/F  332  (S 326  (see C 3  of  FIG. 29 )). Next, the controller  330  sends a keyword registration request to the keyword server  380  (S 328  (see D 1  of  FIG. 29 )). Next, the controller  330  sends the URL for the search engine stored in S 314 , the keyword stored in S 320 , and the user ID received in S 326  to the keyword server  380  (S 330  (see D 2  of  FIG. 29 )). In this way, the keyword collection process is complete. 
     (Processes of the Keyword Server) 
     (Main Process) 
     Next, the processes executed by the keyword server  380  are described in detail.  FIG. 31  shows a flowchart of the main process executed by the keyword server  380 . The controller  384  of the keyword server  380  (see  FIG. 24 ) monitors whether the keyword registration request sent from the PC  320  (see D 1  of  FIG. 29 , S 328  of  FIG. 30 ) has been received (S 340 ). In the case where the keyword registration request has been received (YES in S 340 ), the controller  384  executes the keyword registration process (S 342 ). The keyword registration process is described in detail below. In addition, the controller  384  monitors whether the keyword sending request sent from the multi function device  420  (see F 1  of  FIG. 29 , S 418  of  FIG. 36  described below) has been received (S 344 ). In a case where the keyword sending request has been received (YES in S 344 ), the controller  384  executes the keyword sending process (S 346 ). The keyword sending process is described in detail below. 
     (Keyword Registration Process) 
       FIG. 32  shows a flowchart of the keyword registration process of S 342  of  FIG. 31 . The controller  384  receives the URL for the search engine, the keyword, and the user ID received from the PC  320  (see D 2  of  FIG. 29 , S 330  of  FIG. 30 ) (S 350 ). The controller  384  confirms whether the user ID received in S 350  is in the keyword DB  382  (see  FIG. 24 ) (S 352 ). In a case where the user ID is not in the keyword DB  382  (NO in S 352 ), the controller  384  stores the user ID received in S 350  in the keyword DB  382  (S 354 ). After S 354  is finished, the flow proceeds to S 358 . However, in a case where the user ID is in the keyword DB  382  (YES in S 352 ), the controller  384  confirms whether the URL for the search engine and the keyword received in S 350  have been combined with the user ID in the keyword DB  382  (S 356 ). In a case where the URL and the keyword received in S 350  have not been combined with the user ID in the keyword DB  382  (NO in S 356 ), the flow proceeds to S 358 . 
     In S 358 , the controller  384  stores a combination the URL for the search engine, the keyword, and the user ID received in S 350  in the keyword DB  382 . For example, in a case where S 358  is to be executed via S 354 , the controller  344  stores the URL for the search engine and the keyword received in S 350  with the registration date and time combined with the user ID newly stored in S 354 . However, in a case where S 358  is to be executed via S 356 , the controller  384  stores the URL for the search engine and the keyword received in S 350  with the registration date and time combined with the user ID stored in the keyword DB  382  (the user ID received in S 350 ). After S 358  is finished, the keyword registration process is complete. However, in a case where the URL and the keyword received in S 350  have been combined with the user ID in the keyword DB  382  (YES in S 356 ), the registration date and time combined with the URL for that search engine and the keyword are updated (S 360 ). After S 360  is finished, the keyword registration process is complete. 
     (Keyword Sending Process) 
       FIG. 33  shows a flowchart of the keyword sending process of S 346  of  FIG. 31 . The controller  384  receives the user ID sent from the multi function device  420  (see F 2  of  FIG. 29 , S 420  of  FIG. 36  described below) (S 370 ). The controller  384  confirms whether the user ID received in S 370  is in the keyword DB  382  (S 372 ). In a case where the user ID received is not in the keyword DB  382  (NO in S 372 ), the keyword sending process is complete. However, in a case where the user ID received is in the keyword DB  382  (YES in S 372 ), the controller  384  identifies the keyword and URL for the search engine combined with the user ID received in S 370  and stored in the keyword DB  382  (S 374 ). 
     Next, the controller  384  generates a keyword list that includes keyword candidate data from the URLs for the search engines and the keywords identified in S 374  (S 376 ). For example, in a case where the number of keywords identified in S 374  exceeds a predetermined number, the controller  384  may confirm the registration date and time of those keywords and generate a keyword list by choosing the predetermined number of the latest keywords only. Next, the controller  384  sends the keyword list generated in S 376  to the multi function device  420  (S 378  (see D 3  of  FIG. 29 , and S 422  of  FIG. 36  described below)). In this way, the keyword sending process is complete. 
     (Process of the User Administration Server) 
     (User ID Sending Process) 
     Next, the content of the user ID sending process executed by the user administration server  400  is described in detail.  FIG. 34  shows a flowchart of the process executed by the user administration server  400 . The controller  404  of the user administration server  400  (see  FIG. 26 ) monitors whether a user ID check request has been received from the PCs  320 ,  340 ,  360  or the multi function device  420  (S 380  (see C 1  or D 1  in.  FIG. 29 , S 322  of  FIG. 30 , and S 412  of  FIG. 36  described below)). In a case where the user ID check request has been received (YES in S 380 ), the controller  404  confirms whether a phone number has been received (S 382 ). In a case where the phone number has been received, (see E 2  of  FIG. 29 , S 414  of  FIG. 36  described below) (YES in S 382 ), the controller  404  identifies the user ID that is combined with the phone number received in S 382  and stored in the user administration DB  402  (S 384 ). Next, the controller  404  sends the user ID identified in S 384  to the multi function device  420  (S 386  (see E 3  of  FIG. 29 , and S 416  of  FIG. 36  described below)). After S 386  is finished, the flow returns to S 380 , and the controller  404  monitors whether a user ID check request has been received. 
     On the other hand, in a case where the phone number has not been received (NO in S 382 ), the controller  404  receives the node name of the PC (S 388  (see C 2  of  FIG. 29 , S 324  of  FIG. 30 ). Next, the controller  404  identifies the user ID combined with the node name received in S 388  and stored in the user administration DB  402  (S 390 ). The user ID identified in S 390  is sent to the PC that requested the user ID check (S 392  (see C 3  of  FIG. 29 , S 326  of  FIG. 30 )). After S 392  is finished, the flow returns to S 380 , and the controller  404  monitors whether a user ID check request has been received. 
     (Processes of the Multi Function Device) 
     (Main Process) 
     Next, the processes executed by the multi function device  420  are described in detail.  FIG. 35  shows a flowchart of the main process executed by the multi function device  420 . The controller  432  (see  FIG. 28 ) monitors whether the telephone device  428  (see  FIG. 28 ) of the multi function device  420  has received an incoming call (S 400 ). In a case where the telephone device  428  has received an incoming call (YES in S 400 ), the controller  432  executes the keyword acquisition process (S 402 ) and the search process (S 404 ). These processes are described in detail below. However, in a case where a key of the operating device  424  (see  FIG. 28 ) of the multi function device  420  has been operated, the controller  432  determines the answer is NO in S 400 . In this case, the controller  432  executes other processes in response to the type of key that was operated (S 406 ). 
     (Keyword Acquisition Process) 
       FIG. 36  shows a flowchart of the keyword acquisition process of S 402  of  FIG. 35 . In a case where an incoming call has been received in the telephone device  428  in S 400 , the controller  432  monitors whether the telephone device  428  has received the phone number of the source (S 410 ). In a case where the telephone device  428  has not received the phone number of the source (NO in S 410 ), the controller  432  completes the keyword acquisition process. However, in a case where the telephone device  428  has received the phone number of the source (YES in S 410 ), the controller  432  sends a user ID check request to the user administration server  400  (S 412  (see E 1  of  FIG. 29 )). Next, the controller  432  sends the phone number received in S 410  to the user administration server  400  (S 414  (see E 2  of  FIG. 29 )). After the process of S 414  is complete, the controller  432  monitors whether a user ID has been received from the user administration server  400  within a predetermined period of time (S 416 ). In a case where the user ID has not been received from the user administration server  400  within the predetermined period of time (NO in S 416 ), the controller  432  completes the keyword acquisition process. Or, the controller  432  may execute the process from S 412  to S 416  a predetermined number of times, and in the event that the answer is NO in S 416 , the controller  432  may complete the keyword acquisition process. 
     In contrast, in a case where the user ID has been received from the user administration server  400  within the predetermined period of time (YES in S 416 )(see E 3  of  FIG. 29 ), the controller  432  sends a keyword sending request to the keyword server  380  (S 418  (see F 1  of  FIG. 29 )). Next, the controller  432  sends the user ID received in S 416  to the keyword server (S 420  (see F 2  of  FIG. 29 )). After the process of S 420  is complete, the controller  432  monitors whether a keyword list, including a keyword and a URL for a search engine, has been received from the keyword server  380  within a predetermined period of time (S 422 ). In a case where the keyword list has not been received from the keyword server  380  within the predetermined period of time (NO in S 422 ), the controller  432  completes the keyword acquisition process. Or, the controller  432  may execute the process from S 418  to S 422  a predetermined number of times, and, the controller  432  may complete the keyword acquisition process. 
     However, in a case where the keyword list has been received from the keyword server  380  within the predetermined period of time (YES in S 422 ), the controller  432  displays on the monitor  422  candidate data for the keyword and URL for the search engine received in S 422  (S 424 ).  FIG. 38  shows an example of the candidate data  44  when an incoming call was received from phone number  1234 . The monitor  422  can display the phone number  444  and the user ID  446 . A user can move the cursor  442  up and down by operating the operating device  424 . In this way, the user can select one keyword. The controller  432  monitors whether the user has operated the operating device  424  to select one keyword (S 426 ). In a case where the user has not selected a keyword (NO in S 426 ), the controller  432  completes the keyword acquisition process. However, in a case where the user has selected one keyword (YES in S 426 ), the controller  432  temporarily stores the selected keyword and the URL for the search engine in the storage device  430  (see  FIG. 26 ) (S 428 ). In this way, the keyword acquisition process is complete. 
     (Search Process) 
       FIG. 37  shows a flowchart of the search process of S 404  of  FIG. 35 . The search process continues to be executed in S 428  of  FIG. 36 . The controller  432  sends the keyword stored in S 428  to the search engine stored in S 428  (S 430 ). The controller  432  acquires and displays the search result of the search engine (S 432 ).  FIG. 39  shows a display example of the search result.  FIG. 39  shows the search result for the current keyword “baseball”. A list  450  of a plurality of sites that include the keyword “baseball” is displayed on the monitor  422 . In addition, the monitor  422  can display the keyword  454  used for the search process and the URL  456  of the search engine. Although not illustrated in the flowchart of  FIG. 37 , a user can print the list  450  by operating a key of the operating device  424 . In this case, the user can view the list  450  printed on print media. In addition, a user can move the cursor  452  up and down by operating the operating device  424 . In this way, the user can select one site. In this case, the controller  432  makes the monitor  422  display the selected site (S 434 ). Although not illustrated in the flowchart, a user can print the selected site by operating a key of the operating device  424 . Note that the controller  432  may be designed such that when one site is selected by the user, that site is automatically printed. When the site is displayed (or printed) in S 434 , the search process is complete. 
     The network system  310  of the third embodiment has been described in detail. In this system  310 , the keywords searched with PCs  320 ,  340 ,  360  are accumulated in the keyword server  380 . In a case where a user calls a telephone on the multi function device  420 , a keyword is identified by the keyword server  380  based upon the phone number. The multi function device  420  can execute a search process for the keyword identified by the keyword server  380 . For example, assume a user X learned of information on a site with PC  320 , and wants to inform a user Y of the multi function device  420  of that information. The user X calls the telephone on the multi function device  420  from a telephone having a phone number stored in the user administration server  400 . In this way, the multi function device  420  can acquire from the keyword DB  382  a keyword executed in a search process by the user X. When the user Y receives the telephone call, the keyword is identified with the multi function device  420 . In the case where the user Y uses a keyword that was executed in a search process by the PC  320  in order to execute a search process from the multi function device  420 , there is no need to newly input the keyword. With this system  310 , there is no need for the user Y to input a keyword. Because of this, a user can eliminate the burden of inputting a keyword into a device that does not have a keyboard, such as the multi function device  420 . 
     In addition, because there is no need to input a keyword, the user Y can easily execute a search process with the multi function device  420  while speaking to user X. In addition, in a case where user X informs user Y of a keyword by telephone, errors may occur such as misspeaking or mishearing. Furthermore, for example, in a case where the keyword is a homophone such as the word “pair” and “pear”. With this system  310 , these errors are reduced because the keyword is identified without being input by a user. 
     In addition, for example, even when the multi function device  420  includes a keyboard, the user of the multi function device  420  sometimes grasps the telephone device with one hand. In this case, it is difficult for the user to input a keyword into the multi function device. Because the system  310  can eliminate the burden on the user of inputting a keyword into the multi function device, the system  310  functions effectively in these situations. 
     In addition, with the system  310 , the keyword DB  382  sends to the multi function device a keyword and a URL for the search engine to which the keyword was sent. The multi function device  420  can search with the same search engine as a PC. In this way, the same search results as a PC can be acquired. 
     With this system  310 , the node name of each PC (communication device identification information) is combined with the phone number (telephone identification information) of a user, and can be registered in advance in the user administration DB  402  of the user administration server  400 . The keywords executed in a search process by each PC are combined with the node name of the PC and stored in the keyword DB  382  of the keyword server  380 . When there is an incoming call to the telephone device  428  of the multi function device  420 , and the received phone number is the phone number of the user X, the node name of the PC is identified from the user administration DB  402 . The keyword combined with the identified node name in the keyword DB  382  is acquired by the multi function device  420 . In contrast, when there is an incoming call to the multi function device  420 , and the phone number of the source is not stored in the user administration DB  402 , the node name of the PC is not identified from the user administration DB  402 . This results in the keyword not being acquired by the multi function device  420 . In other words, the multi function device  420  does not acquire a keyword in response to all incoming calls, but acquires a keyword only when the incoming call is from a telephone device having a phone number that is pre-registered in the user administration DB  402 . 
     In this system  310 , there is a one to one relationship between the keyword stored in the keyword DB  382  and the phone number received with the multi function device  420 . Because of that, even if a large number of keywords are stored in the keyword DB  382 , the keyword server  380  can identify only the keyword that corresponds to the received phone number. Because of that, the keywords acquired by the multi function device  420  can be restricted. A user can omit the task of searching for a keyword. 
     This system  310  is particularly effective in cases where a plurality of PCs is included. Like the system  310  of the third embodiment, there are three. PCs, and the node names of these are assumed to be M 1 , M 2 . In addition, the user of one PC is assumed to be X 1 , and the user of the other PC is assumed to be X 2 . In this case, the user administration DB  402  of the user administration server  400  can store a combination of the phone number of the user X 1  and M 1 , and a combination of the phone number of the user X 2  and M 2 . The combination of a keyword (e.g., “baseball”) and M 1 , and the combination of a keyword (e.g., “basketball”) and M 2 , are stored in the keyword DB  382  of the keyword server  380 . For example, when there is an incoming call to the telephone device  428  of the multi function device  420 , and the phone number is the phone number of the user X 1 , M 1  is identified from the user administration DB  402 , and the keyword “baseball” combined with M 1  is acquired by the multi function device  420 . Likewise, when there is an incoming call to the telephone device  428 , and the phone number is the phone number of the user X 2 , M 2  is identified from the user administration DB  402 , and the keyword “basketball” combined with M 2  will be acquired by the multi function device  420 . In this system  310 , one PC out of the plurality of PCs can be identified based on the phone number of the incoming call to the telephone device  428 . The multi function device  420  can acquire a keyword that was executed in a search process with the identified PC. 
     (Fourth Embodiment) 
     Next, a fourth embodiment of the present teaching is described. Here, the differences with the third embodiment are described. 
     (Construction of the User Administration Server) 
     In the fourth embodiment, the construction of the user administration DB  402  of the user administration server  400  is different from the third embodiment.  FIG. 40  shows an example of the storage content of the user administration DB  402  of the fourth embodiment. The user administration DB  402  can store a combination of a user ID  410  that identifies a user and a phone number  412  of a telephone (not shown in the drawings) used by that user. The user administration DB  402  does not store the node names of PCs. 
     (Overview of the Processes for Each Device) 
       FIG. 41  shows a time chart of the processes executed by each device  320 , ( 340 ,  360 ),  380 ,  400 , and  420 . The user can select the search engine (e.g., the search engine  304  (see  FIG. 22 )) and input a desired keyword, as well as input a user ID, by operating the operating device  324  of the PC  320  (see  FIG. 23 ). In a case where a search process is executed, the PC  320  does not perform the processes C 1 -C 3  shown in  FIG. 29  of the third embodiment, but the PC  320  sends a keyword registration request (D 1 ) to the keyword server  380 . The processes from D 2  to F 3  are identical to those of the third embodiment: (the processes from D 2  to F 3  of  FIG. 29 ). Because of this, a description of D 2  to F 3  is omitted. In this way, the keyword server  380  can store a combination of the user ID, the URL for the search engine, and the keyword in the keyword DB  382  (see  FIG. 25 ). 
     (Process of the PC) 
     Next, the process executed by the PC  320  is described in detail.  FIG. 42  shows a flowchart of the keyword collection process executed by the PC  320 . As noted above, the user can input a user ID by operating the operating device  324 . The controller  330  of the PC  320  stores the input user ID on the HD  326  (S 500 ). The processes from S 502  to S 512  are identical to the processes from S 310  to S 320  of the third embodiment (see  FIG. 30 ). The processes S 514  and S 516  are identical to the processes S 328  and S 330  of the third embodiment (see  FIG. 30 ). Because of this, a description of S 502  to S 516  is omitted. In this way, the keyword, the URL for the search engine, and the user ID are sent as a combination to the keyword server  380 . 
     (Processes of the User Administration Server) 
     (User ID Sending Process) 
       FIG. 43  shows a flowchart of the process executed by the user administration server  400 . The controller  404  of the user administration server  400  (see  FIG. 26 ) monitors whether a user ID check request has been received from the multi function device  420  (see S 520  (see E 1  of  FIG. 42 )). In a case where the request has been received (YES in S 520 ), the controller  404  receives the phone number (S 522  (see E 2  of  FIG. 43 )). The processes S 524  and S 526  are identical to the processes S 384  and S 386  of the third embodiment (see  FIG. 34 ). Because of this, a description of S 524  and S 526  is omitted. Due to the fourth embodiment, it is not necessary for a user to input a keyword when performing the same search as a PC with the multi function device  420 . The burden on the user of inputting a keyword can be eliminated. 
     The network system  310  of the fourth embodiment is useful where one PC is shared among a plurality of users. For example, assume that a user X 1  and a user X 2  can share one PC. In addition, for example, assume that the user ID of user X 1  is N 1 , and the user ID of user X 2  is N 2 . In this case, the user administration DB  402  of the user administration server  400  can store a combination of the phone number of the user X 1  and N 1 , and a combination of the phone number of the user X 2  and N 2 . The combination of a keyword (e.g., “baseball”) and N 1 , and the combination of a keyword (e.g., “basketball”) and N 2 , are stored in the keyword DB  382  of the keyword server  380 . 
     For example, when there is an incoming call to the telephone device  428  of the multi function device  420 , and the phone number is the phone number of the user X 1 , N 1  is identified from the user administration DB  402 , and the keyword “baseball” combined with N 1  is acquired by the multi function device  420 . Likewise, when there is an incoming call to the telephone device  428 , and the phone number is the phone number of the user X 2 , N 2  is identified from the user administration DB  402 , and the keyword “basketball” combined with N 2  is acquired by the multi function device  420 . With the system  310  of the fourth embodiment, even if one PC is used by a plurality of users, a single user can be identified based on the phone number of the incoming call to the multi function device  420 . The multi function device  420  can acquire a keyword that was executed in a search process by the identified user. A plurality of users can be identified even from one PC by inputting a user ID. 
     Although specific examples were described in detail above, these are merely illustrations, and do not limit the scope of the patent claims. The technology described in the scope of the patent claims includes various modifications and changes to the specific examples illustrated above. Variant embodiments of the aforementioned embodiments are provided below. 
     (Variant Embodiment 4) 
     With each of the third and fourth embodiments, the keyword server  380  is constructed separately from the user administration server  400 . However, the keyword server  380  and the user administration server  400  may be one server. In this case, the server  500  can use the construction of  FIG. 44 . In other words, the server  500  includes a user administration database (user administration DB)  504 , in addition to a keyword database (keyword DB)  502 , and each device  506  and  508  that are identical in construction as in the keyword server  380  of the third embodiment. The server  500  is connected to the multi function device  420  and PCs  320 ,  340 ,  360  via the network cable  510 . In the present embodiment, each process that is executed between the PCs  320 ,  340 ,  360 , the multi function device  420 , the keyword server  380 , and the user administration server  400  of the third and fourth embodiments, will be executed between the PCs  320 ,  340 ,  360 , the multi function device  420 , and the server  500 . 
     (Variant Embodiment 5) 
     In each of the third and fourth embodiments, the keyword server  380  and the user administration server  400  are constructed separately from the PC  320 , and are also constructed separately from the multi function device  420 . However, a keyword database and a user administration database may be installed in the multi function device. In this case, the construction of  FIG. 45  can be used. In other words, in addition to each device  522 ,  524 ,  526 ,  528 ,  530 ,  532 ,  534  of the same construction as the multi function device  420  in the third embodiment, the multi function device  520  also includes a keyword database (keyword DB)  536  and a user administration database (user administration DB)  538 . The server  500  is connected to the multi function device  420  and PCs  320 ,  340 ,  360  via the network cable  510 . Each process executed by the PC  320 ,  340 ,  360  and the multi function device  520  of the present variant embodiment can be implemented by making slight changes in each flowchart of the aforementioned third embodiment and fourth embodiment ( FIGS. 30-36 ). 
     (Variant Embodiment 6) 
     In each of the third and fourth embodiments, the keyword DB  382  stores keywords and the URLs for the search engines to which the keywords were sent. Then, the URLs for the search engines are formed into sets with the keywords, and sent and received between each device. However, the keyword database need not store the search engines. Each device sends and receives only the keywords. In this case, a search engine list that is identical to the search engine list  328  of the PC  320  may be stored in the storage device  430  of the multi function device  420 . When a user selects one keyword from the keyword candidate data displayed on the display device  422  of the multi function device  420 , the controller  432  of the multi function device  420  displays the search engine list on the monitor  422 .  FIG. 46  shows a display example of the search result. Although the URL for each search engine is displayed in  FIG. 46 , the name of each search engine may instead be displayed. A user can move the cursor  540  up and down by operating the operating device  424 . In this way, the user can select one search engine. When a search engine is selected, the controller  432  sends the selected keyword to the selected search engine. 
     (Variant Embodiment 7) 
     A device other than the PC  320  can be used to construct the system. For example, a multi function device may be used instead of the PC  320  to construct the system. Likewise, PCs  340 ,  360  may replace the multi function device. In other words, the system may be constructed from a plurality of multi function devices, a plurality of PCs, and a keyword server. In addition, a device other than the multi function device  360  can be used to construct the system. For example, a PC may be used instead of the multi function device  360  to construct the system. In this case, the system is constructed by means of a plurality of PCs and a keyword server. 
     (Variant Embodiment 8) 
     Each of the aforementioned embodiments (from the first to fourth embodiments) uses search engines on the Internet. However, each of the aforementioned embodiments need not necessarily use search engines on the Internet, and may use a search engine on a LAN. In other words, the technology disclosed in each of the embodiments can be implemented in a system constructed with a LAN only, without being connected to the Internet. 
     Each of the aforementioned embodiments is particularly useful when, for example, there are devices that require the task of inputting a keyword into the network system. For example, because a PC includes a keyboard, a user can use the keyboard to easily input a keyword into the PC. In contrast, because a multi function device does not include a keyboard, it will be difficult for a user to input a keyword into the multi function device. Because the network system of each of the aforementioned embodiments can assist a user with the task of inputting a keyword into the multi function device, the network system will function effectively in these situations. 
     In addition, the technological elements described in the present specification or drawings exhibit technological utility either individually or in various combinations, and are not limited to the combinations claimed at the time of application. In addition, the technology illustrated in the present specification or the drawings simultaneously achieve a plurality of objects, and achieving one object from amongst these has technological utility in and of itself.