Abstract:
A client computer installs a plurality of functions in advance, and the client computer accesses a server computer to inform a function desired to be used to the server computer. The server computer charges the price of the informed function to a user, and transmits the fact to the client computer. By removing the function limitation of the charged function, the client computer becomes possible to use the function. Consequently, because the user can use a necessary function by paying only the price of the function, the user can save the costs of the use. Moreover, because the user is not required to download a new function, the user can save time.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a client computer, a server computer, a system including both of them, a control method of them, and a record medium storing a program readably by a computer for implementing the control method.  
           [0003]    2. Description of the Related Art  
           [0004]    The charging of a price for the use of software is conventionally performed on the basis of a unit price of packaged software. That is, there are many cases where the charging of a price for the use of software is performed as the selling price of packaged software capable of executing a plurality of functions. Although the cases where software is sold through the Internet come to increase as the Internet becomes popular in recent years, the charging is performed by the selling price as packaged software even in such a case.  
           [0005]    However, in the conventional charging method, when using software by adding a new function, a user has to pay the selling price of the software itself including the added new function, and has to re-install the software itself. Moreover, when using software, which was bought through a web site on the Internet, by adding a new function, a user has to download the software itself including the added new function from a web site, and then the user has to spend time and costs for the downloading.  
         SUMMARY OF THE INVENTION  
         [0006]    One object of the invention is to perform charging automatically without troubling a user when a new function is added to software and to decrease time and costs at that time in an embodiment of the present invention.  
           [0007]    Other objects and features of the invention will be apparent from the following description and drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]    [0008]FIG. 1 is a block diagram of a network of a client/server system of an embodiment of the present invention;  
         [0009]    [0009]FIG. 2 is a diagram showing an office layout of the client/server system  100  of FIG. 1;  
         [0010]    [0010]FIG. 3 is a diagram showing a graphical user interface in the client/server system  100  of FIG. 1;  
         [0011]    [0011]FIG. 4 is a diagram showing the graphical user interface in the client/server system  100  of FIG. 1;  
         [0012]    [0012]FIG. 5 is a flowchart showing the web access processing of a client computer when a copy function is added;  
         [0013]    [0013]FIG. 6 is a flowchart of a process on the side of a web server corresponding to Step S 6  and Step S 8  in FIG. 5;  
         [0014]    [0014]FIG. 7 is a diagram showing the graphical user interface in the client/server system  100  of FIG. 1;  
         [0015]    [0015]FIG. 8 is a flowchart showing a variant of the web access processing of a client computer when the copy function is added;  
         [0016]    [0016]FIG. 9 is a flowchart of the process of the stop of automatic payment at step S 36  in FIG. 8;  
         [0017]    [0017]FIG. 10 is a flowchart of a process on a web server side corresponding to Step S 53  and Step S 55  in FIG. 9; and  
         [0018]    [0018]FIG. 11 is a diagram showing the graphical user interface in the client/server system of FIG. 8. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0019]    Hereinafter, a client/server system according to an embodiment of the present invention is described in detail by the use of the attached drawings.  
         [0020]    (First Embodiment)  
         [0021]    [0021]FIG. 1 is a block diagram of the network of a client/server system according to an embodiment of the present invention.  
         [0022]    In the client/server system  100  of FIG. 1, a web server  31  as a server computer is connected with a network  28  through a router  29  and the Internet  30 .  
         [0023]    The network  28  is directly connected with personal computers (hereinafter referred to as PC&#39;s)  3 ,  6 ,  9 ,  12 ,  14 ,  16 ,  19 ,  22 ,  25  and  27 , printers  13  and  15 , and a modem  26 . The PC&#39;s  3 ,  6 ,  9 ,  12 ,  19 ,  22  and  25  are respectively connected with a printer  1 , a scanner  4 , a printer  7 , a scanner  10 , a scanner  17 , a printer  20  and a modem  23  through signal lines  2 ,  5 ,  8 ,  11 ,  18 ,  21  and  24 .  
         [0024]    [0024]FIG. 2 is a diagram showing an office layout of the client/server system  100  of FIG. 1.  
         [0025]    In the office layout of FIG. 2, five groups A, B, C, D and E and five groups F, G, H, I and J are disposed on both sides of a passageway. To put it concretely, the printer  1  and the PC  3  are disposed in the group A; the scanner  4  and the PC  6  are disposed in the group B; the printer  7  and the PC  9  are disposed in the group C; the scanner  10  and the PC  12  are disposed in the group D; and the printer  13  and the PC  14  are disposed in the group E. Moreover, on the opposite side of the passageway, the printer  15  and the PC  16  are disposed in the group F; the scanner  17  and the PC  19  are disposed in the group G; the printer  20  and the PC  22  are disposed in the group H; the modem  23  and the PC  25  are disposed in the group I; and the modem  26  and the PC  27  are disposed in the group J.  
         [0026]    [0026]FIG. 3 is a diagram showing a graphical user interface in the client/server system  100  of FIG. 1.  
         [0027]    The graphical user interface of FIG. 3 shows the office layout of FIG. 2, and the graphical user interface is set to be displayed on any computer as long as they are directly connected with the network  28 . That is, any of the PC&#39;s  3 ,  6 ,  9 ,  12 ,  14 ,  16 ,  19 ,  22 ,  25  and  27  can display the office layout of FIG. 2 by the graphical user interface.  
         [0028]    A user controls each equipment such as the printer  1  described above. In this case, there are cases, in one of which a computer displaying the graphical user interface is the same computer that actually performs the control of each equipment described above (hereinafter, the computer is referred to as a “client computer”), and in the other of which they are different ones.  
         [0029]    There are four buttons indicating a “scan function”, a “print function”, a “copy function” and a “fax function” on the upper part in the graphical user interface of FIG. 3. These buttons severally indicate the following functions.  
         [0030]    That is, the scan function is a function to transmit an image read with a scanner to a PC; the print function is a function to print out a file on a PC with a printer; the copy function is a function to print out an image read by a scanner with a printer; and the fax function is a function to transmit a file on a PC by facsimile through a modem.  
         [0031]    Incidentally, a computer displaying the graphical user interface makes the flag of a usable function on the graphical user interface at that time indicate an enabled state, and makes the flag of an unusable function indicate a disabled state. In the present embodiment, in the initial state, the flags of only the scan function and the print function are made to indicate the enabled state, and the flags of the copy function and the fax function are made to indicate the disabled state.  
         [0032]    Furthermore, as shown in FIG. 3, X marks are given to the buttons indicating the functions having flags indicating the disabled state among the four buttons at the upper part of the graphical user interface described above. The X marks are automatically given to the buttons indicating the functions having the flags the indications of which have changed from the enabled state to the disabled state, and the X marks are automatically removed from the buttons indicating the functions having the flags that have changed their indications from the disabled state to the enabled state. Consequently, a user can know which functions are now usable on the graphical user interface at a glance.  
         [0033]    [0033]FIG. 5 is a flowchart showing the web access process of a client computer when a copy function is added as a usable function.  
         [0034]    In the present embodiment, any one of the PC&#39;s  3 ,  6 ,  9 ,  12 ,  14 ,  16 ,  19 ,  22 ,  25  and  27  is suitably selected by user&#39;s designation or a predetermined network managing program as a client computer and a computer for displaying the aforesaid graphical user interface, severally. Incidentally, the client computer uses the software that has previously installed all functions including functions to be added as a usable function. Moreover, the removal of a X mark among the X given buttons in the aforesaid four buttons at the upper part of the graphical user interface in conformity with the following processing indicates the addition of the function as a usable function on the graphical user interface. Furthermore, although descriptions are given to a case where the copy function is added to be a usable function in the present embodiment, the cases where any of the aforesaid scan function, the print function and the fax function is added are the same.  
         [0035]    At first, in the client computer, the button indicating the copy function is selected among the four buttons at the upper part of the graphical user interface shown in FIG. 4 by a user with a pointing device (Step S 2 ). Then, the client computer detects the flag indicating the copy function selected by the user (Step S 3 ).  
         [0036]    The client computer judges whether the flag indicates the disabled state or not as a result of the flag detection at Step S 3 . When the flag does not indicate the disabled state, namely when the flag indicates the enabled state, the client computer executes the processing at Step S 10  which will be described later. On the other hand, when the flag indicates the disabled state, the client computer judges that the user has an intention of paying the price for obtaining the permission for the use of the copy function to access a function addition uniform resource locator (hereinafter referred to as “URL”) (Step S 5 ), and then the client computer uploads the name of the function (copy function) and the user identification data (hereinafter referred to as “ID”) to the web server  31  (Step S 6 ). Incidentally, the “function addition URL” is a URL indicating a place in the Internet in the inside of the web server  31 .  
         [0037]    After the web server  31  has executed the process of FIG. 6 that will be described later, the client computer receives a transmission of permission to use the copy function from the web server  31  (Step S 8 ). Then, the client computer changes the indication of the flag of the copy function from the disabled state to the enabled state, and further the client computer removes the X mark on the button indicating the copy function on the graphical user interface as shown in FIG. 7 (Step S 9 ). Consequently, the user can identify whether the web server  31  permitted to use the copy function or not with the graphical user interface, and at the same time the user can identify the execution of charging for the copy function by the web server  31 .  
         [0038]    At Step S 10 , the client computer judges whether the processing of other additional functions has ended or not. When the processing has not ended yet, the client computer similarly executes the aforesaid processing at Step S 2  and subsequent Steps with regard to the other additional functions, and completes the present process after the execution of the processing.  
         [0039]    [0039]FIG. 6 is a flowchart of a process on the side of the web server  31 .  
         [0040]    The web server  31  judges whether the user ID and the name of the function were uploaded or not when the client computer accessed the function addition URL (Step S 22 ). When it was judged that the access had not been executed as a result of the judgment at Step S 22 , the web server  31  executes the processing at Step S 26  that will be described later. On the other hand, when it was judged that the access had been executed as the result of the judgment at Step S 22 , the web server  31  charges the price for the permission to use the function uploaded from the client computer to the user corresponding to the user ID uploaded from the same client computer (Step S 23 ).  
         [0041]    Next, the web server  31  judges whether the charging required to the client computer at Step S 23  was executed or not (Step S 24 ). When it was judged that the charging did not executed at Step S 24 , the web server  31  executes the processing at Step S 26  that will be described later. On the other hand, when it was judged that the charging executed at Step S 24 , the web server  31  transmits the permission for use to the client computer (Step S 25 ).  
         [0042]    At Step S 26 , the web server  31  judges whether the processing of other additional functions has ended or not. When the processing has not ended yet, the web server  31  similarly executes the aforesaid processing at Step S 22  and subsequent Steps with regard to the other additional functions, and completes the present process after the execution of the processing.  
         [0043]    According to the processes shown in FIG. 5 and FIG. 6, when the user has an intention of paying the price for the use of the copy function to the web server  31  though the user has not paid it yet (the case where the answer to the question at Step S 4  in FIG. 5 is yes), the client computer accesses the function addition URL of the web server  31  (Step S 5  in FIG. 5). Then, the price for the use of the copy function is charged by the web server  31  (Step S 23  in FIG. 6). After that, by the transmission of the fact from the web server  31  (Step S 25  in FIG. 6), it becomes possible that the client computer uses the copy function. Consequently, the user can automatically pay the price for the copy function without any trouble, and the time and the costs at the time of the addition of a function can be decreased.  
         [0044]    (Second Embodiment)  
         [0045]    Next, a charging system according to a second embodiment is described. Incidentally, in the second embodiment, although the charging for a function in the enabled state is performed by the month, when the function has not been used for one month or more, the charging for the function automatically stops.  
         [0046]    Moreover, the configuration of the charging system of the second embodiment is the same as that of the fist embodiment described above.  
         [0047]    [0047]FIG. 8 is a flowchart showing the web access processing of a client computer when the copy function is added as a usable function. In the second embodiment, too, similarly to the process in FIG. 5 mentioned above, any one of the PC&#39;s  3 ,  6 ,  9 ,  12 ,  14 ,  16 ,  19 ,  22 ,  25  and  27  is suitably selected by user&#39;s designation or a predetermined network managing program as the computer for displaying the graphical user interface and the client computer, severally. Moreover, although descriptions are given to a case where the copy function is added to be a usable function in the present embodiment, the cases where any of the aforesaid scan function, the print function and the fax function is added are the same.  
         [0048]    At first, in the client computer, the button indicating the copy function is selected among the four buttons at the upper part of the graphical user interface by a user with a pointing device (Step S 32 ). Then, after the client computer sets the time counter for the copy function at zero (Step S 37 ), the client computer detects the flag indicating the copy function (Step S 38 ).  
         [0049]    The client computer judges whether the flag indicates the disabled state or not as a result of the flag detection at Step S 38  (Step S 39 ). When the flag of the copy function does not indicate the disabled state, namely when the flag indicates the enabled state, the client computer executes the processing at Step S 45 . On the other hand, when the flag of the copy function indicates the disabled state, the client computer judges that the user has an intention of paying the price for obtaining the permission for the use of the copy function to access a function addition URL (Step S 40 ).  
         [0050]    Next, by transmitting the name of the function desired to be added as a usable function (copy function) and the user ID to the web server  31 , the client computer requests the starting of the use of the desired function (Step S 41 ).  
         [0051]    After the web server  31  has executed the processing of FIG. 6 described above, the client computer receives a transmission of permission to use the copy function from the web server  31  (Step S 43 ). Then, the client computer changes the indication of the flag of the copy function from the disabled state to the enabled state, and further the client computer removes the X mark on the button indicating the copy function on the graphical user interface as shown in FIG. 7 (Step S 44 ).  
         [0052]    At Step S 45 , the client computer judges whether the processing of other additional functions has ended or not. When the processing has not ended yet, the client computer similarly executes the aforesaid processing at Step S 32  and subsequent Steps with regard to the other additional functions, and completes the present process after the execution of the processing.  
         [0053]    On the other hand, no button of the four existing at the upper part of the graphical user interface of the client computer was selected by the user at Step S 32 , the client computer judges whether the flag of each button indicates the disabled state or not (Step S 33 ). Then, the client computer counts up the time counter of the function being not in the disabled state, namely being in the enabled state (Step S 34 ).  
         [0054]    Next, the client computer judges whether the time counter of the function that was counted up at Step S 34  has continued counting for more than one month or not (Step S 35 ). As a result, when the time counter of the function has not continued counting for more than one month, the client computer executes the aforesaid processing at Step S 32  and subsequent Steps. On the other hand, when the time counter of the function has continued counting for more than one month, the client computer executes the processing of the stopping of automatic payment of FIG. 9 that will be described later (Step S 36 ).  
         [0055]    [0055]FIG. 9 is a flowchart of the processing of the stopping of automatic payment of the client computer at Step  36  in FIG. 8.  
         [0056]    At first, the client computer accesses the function addition URL of the web server  31  (Step  52 ). Then, by transmitting the function name and the user ID of the function that has remained not being used for one month to the web server  31 , the client server requests the end of the use of the function (Step S 53 ).  
         [0057]    After the web server  31  executed the processing of FIG. 10 that will be described later, the client computer receives the transmission of the inhibition of use from the web server  31  (Step S 55 ). Then, the client computer changes the flag of the function from the enabled state to the disabled state, and further the client computer add a X mark on the button indicating the copy function on the graphical user interface as shown in FIG. 11 (Step S 56 ). Then, the client computer completes the present process.  
         [0058]    By the process of FIG. 9, the user can automatically discontinue the payment of the price for the permission of the web server  31  to use the function that has remained not been used for more than one month, and further the user can easily know the fact that it became impossible to use the function.  
         [0059]    Incidentally, even if the user clicked an enabled function, the web server  31  judges that the user wants to end the function to execute the process of the stop of the automatic payment shown in FIG. 9, and thereby the user can terminate the charging to the function by the month.  
         [0060]    [0060]FIG. 10 is a flowchart of process on the side of the web server  31  corresponding to Step S 53  and Step S 55  in FIG. 9.  
         [0061]    The web server  31  detects the existence of access from the client computer to the function addition URL (Step S 62 ), and the web server  31  detects which a request from the client computer is, the request for the start of use or the request for the end of use (Step S 63 ).  
         [0062]    Next, the web server  31  judges whether the request detected at Step S 63  is the request for the end of use or not (Step S 64 ). When it was judged that the request is not the request for the end of use, namely the request is the request for the start of use, as a result, the web server  31  charges a price for the permission to use the function desired to be used, which was uploaded from the client computer, to the user ID uploaded from the same client computer (Step S 65 ).  
         [0063]    Next, the web server  31  judges whether the charging was performed or not at Step S 65  (Step S 66 ). When the charging was not performed, the web server  31  ends the present process as it is. On the other hand, when the charging was performed, the web server  31  transmits the permission for use to the client computer (Step S 67 ).  
         [0064]    On the other hand, when it was judged that the request is the request for the end of use as the result of the judgment at Step S 64 , the web server  31  ends the charging of the function transmitted from the client computer (the function that has remained not being used for more than one month) by the month to the user corresponding to the user ID transmitted from the same client computer (Step S 68 ), and the web server  31  transmits the inhabitation of the use of the function to the client computer (Step S 69 ).  
         [0065]    At Step S 70 , the web server  31  judges whether the processing of other additional functions has ended or not. When the processing has not ended yet, the web server  31  similarly executes the aforesaid processing at Step S 62  and subsequent Steps with regard to the other additional functions, and completes the present process after the execution of the processing.  
         [0066]    According to the processes shown in FIG. 8 to FIG. 10, when a month has passed while the user has remained not using the copy function and the user had paid the price for the use of the copy function (the case where the answer to the question at Step S 35  in FIG. 8 is yes), the client computer accesses the function addition URL in the web server  31  (Step S 52  in FIG. 9) to end the charging to the function remained not being used for more than one month (the copy function) by the month (Step S 68  in FIG. 10). Consequently, it can be prevented that the user unnecessarily pays the price for the function that has not been used.  
         [0067]    Moreover, it is needless to say that the present invention can be applied to a case where the method for the automatic charging of the aforesaid embodiments is realized by the supply of the record medium storing a program module of the software for the execution of the method to a system or an apparatus. In this case, the program module read from the record medium itself realizes the novel functions of the invention, and the record medium storing the programs constitutes the present invention.  
         [0068]    The program module of the aforesaid each embodiment is severally stored in the web server  31 , a computer displaying the graphical user interface, and a client computer. As the record medium storing the program module, the following recording media can be used: for example, a floppy disk, a hard disk, an optical disk, a photomagnetic disk, a CD-ROM, a CD-R, a DVD, a magnetic tape, a nonvolatile storage card, and the like.  
         [0069]    Although the invention has been described in its preferred form with a certain degree of particularity, obviously many changes and variations are possible therein. It is therefore to be understood that the present invention may be practiced than as specifically described herein without departing from scope and the spirit thereof.