PRINT APPARATUS, A METHOD OF CONTROLLING PRINTING, AND A PROGRAM

Abstract
A print server (1) is provided for connection to a network (2) including at least one other server (1) and at least one printer (3). The print server (1) stores a list of users (4) including for each user a server (1) associated with that user. The server (1) is that if a request is received from a user, the server (1) refers to the list (4) to determine which server (1) the user is associated with. The print server (1) is configured to request print jobs from and to send jobs to the print server (1) with which the user is associated in order to minimise long distance traffic over the network (2).
Description
BACKGROUND OF THE INVENTION
Field of the Invention

The present invention related to a printing apparatus, a method of printing, and a printing program.


Many businesses and other organisations run computer networks including networked printers. This arrangement is convenient because it allows many individuals within an organisation to print from a common printer making more efficient use of resources.


In such networks, a print server typically controls the printer. In known systems, the print server may be accessed by users to store print jobs and to send print jobs for printing.


However, larger organisations may have several offices in different locations and users may wish to print from or to different offices depending on where they are located and where they intend to travel. Printing jobs between offices, of course, requires transmission of print data between offices.


One conventional way in which the issue of printing between offices can be overcome is by having a central print server in one of the offices. In this setup, users from each office print via a single print server. In this setup, the issue of printing jobs in different offices can be easily overcome by selecting an appropriate printer to print to when printing.


However, a disadvantage of this known arrangement is that the cost of transmission of data increases with distance and the speed of transmission decreases. Therefore, because for at least some offices the print server is remote, the cost of printing is undesirably high and the print rate undesirably low.


SUMMARY OF THE INVENTION

It is an object of the present invention to alleviate some of the problems identified above.


According to a first aspect of the present invention there is provided a print apparatus according to claim 1.


The server associated with a user in the list of users is referred to hereinafter as the user's “home server”.


Preferably, the home server is selected based on information relating to the server that the user is most likely to use. This information might be, for example, information about the office from which the user routinely works, or information about the print server to which the user has made requests in the past.


In such embodiments, because the at least one server is configured to refer to a list identifying users and associated servers, which associated servers are likely to be local to the users, a print apparatus can be provided that normally allows printing quickly, without the costs of long distance data transmission, and still allows printing from different offices depending upon the location of the user.


In some embodiments, the print server may be configured so that if a print job is received at the print server from a user for printing at a printer on a local network, the print server will send the job for printing without contacting another of the plurality of print servers. If several printer servers are configured like this at each of the offices that a user may visit, then a user may always print locally (for example within the office) even when not printing from his or her home server.


In other embodiments, the print server is configured such that if a request relating to a print job stored on another one of the plurality of servers is received, then after referring to the list of users to determine which server the print job is stored on, the server sends a request to the server on which the print job is stored to be sent the print job.


In other embodiments, the request to the server on which the print job is stored may be sent as a result of a user logging on to the print server. Such embodiments are advantageous because by pre-fetching the user's print jobs, the server may respond more quickly to user requests in connection with the fetched print jobs.


In other situations, a user may send a print job to a print server that is not his home server. The print server may be configured such that if a print job is received from a user who is associated with another print server, the print server stores the job for a first predetermined period. By storing the job for a first period from receipt of the print job, the print server allows a user some time to print the print job.


In some such embodiments, the print server may be configured to send a copy of the print job received from the user to the server with which the user's name is associated in the list of users after a second predetermined period from receipt of the print job.


Further, the print server may be configured to delete the job received from the user after the first predetermined period from receipt of the print job. Preferably, the first predetermined period is longer than the second predetermined period so that when the print job has been deleted a copy of the print job is still available on the user's home server.


There may be provided a print system comprising a plurality of print servers according to the first aspect of the present invention connected to each other via a network.


Preferably, the system is setup configured so that each print server has a matching list of users. The system may be setup so that the print servers are configured to periodically synchronise their lists of users. The synchronisation of the lists of users may be performed by each server except for a designated server sending its list of users to the designated server. The designated server may be configured to update the list of users based on the received lists of users and its own list of users and to send the updated list of users to the other print servers to complete synchronisation.


The system may be configured to automatically change the identity of the server associated with a user (user's home server) on the list of users. The system may be configured to change the identity of a user's home server based on a log of the jobs printed by the user on one or more of the print servers 1. Preferably the print servers are configured to each keep a log of print jobs printed by users from that server. In such embodiments, the logs of print jobs printed may be sent to the designated server during synchronisation of the list of users and the identity of the home servers may be updated when the designated server updates the list of users.


According to a second aspect of the present invention there is provided a method of controlling printing according to claim 13.





BRIEF DESCRIPTION OF THE DRAWINGS

An embodiment of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which:



FIG. 1 is a schematic diagram showing three networked print servers;



FIG. 2 is a chart showing basic operation of a print server embodying the present invention;



FIG. 3 is a chart showing a pre-fetching operation of a second embodiment of the present invention;



FIG. 4 is a chart showing print job forwarding of the print server;



FIG. 5 is a chart showing synchronisation of a list of users between print servers embodying the present invention; and



FIG. 6 is a simplified diagram of the hardware of a print server.





DESCRIPTION OF THE EMBODIMENTS


FIG. 1 shows three print servers 1 connected via a network 2, such as a WAN. The print servers are configured to communicate with each other, as described in more detail below, based on the HTTP protocol. Use of HTTP protocol avoids difficulty with communication through firewalls.


Associated with each print server 1 is at least one printer 3. On each print server 1, a default printer 3 for secure printing is identified. This default printer 3 is commonly named on each print server 1 so that user's logging on to different print servers 1 will always know a printer 3 that they can print to securely.


Stored on each of the print servers 1 is a list of users 4. As will be explained in more detail later, the list of users 4 is the same on each print server 1. The list of users 4 includes a list of user names, which includes the name of each user of the networked print servers 1. Associated with each user name on the list of users 4 is a print server 1, known as a “home server”. The home server 1 represents the print server 1 that the user is most likely to use and, as explained in more detail below, is determined based on the user's use of the print servers 1.



FIG. 2 is a chart showing operation of one of the print servers 1. In the embodiment shown in FIG. 1, the operation of each of the print servers 1 is identical and so only operation of one of the print servers 1 will be described in detail. However, in other embodiments, the print servers 1 need not be identical.


At step S20, a user logs on to the print server 1. The log on may be performed in any manner, such as by entry of a user name and password or by using an identity card and a reader. The user may log on to the print server 1 via a computer connected to the print server 1, via a printer, via a Multi-functional Peripheral (MFP), or via any other suitable device connected to the print server 1. The computer, printer, or other device may be connected to the print server 1 directly, via a local network of some description, or otherwise.


Once the user has logged on the print server 1, the print server 1 checks the users name against the list of users 4 to identify the user's home server. If the print server 1 is identified as the user's home server, the print server 1 operates as a conventional print server 1, S22. For example, the user may be able to print from the print server 1 or store print jobs on the print server 1 in accordance with the specifications of the software loaded on the print server 1.


If it is determined that the print server 1 is not the user's home server and instructions are received from a user, it is determined whether or not the instructions relate to a local print job S23. A local print job is a job that is to be printed on a printer 3 connected to the print server 1 at which the instruction is received. Further, the print job must be included with the user's instructions or already be stored on the print server 1 where the instructions are received, such that no further information is required from another print server 1 for printing.


If the print job is a local print job, then the print server 1 sends a print instruction to the appropriate local printer 3, S24. In this way, a user logged onto the print server 1 can print locally to the print server 1 without the need for communication between the networked servers 1.


If the instructions from the user are for printing of a job stored on another print server 1, the print server 1 sends a request to the home server for the job S25. The print job is then received, S26, and the print server 1 sends the received job to the local printer 3 to be printed S27.



FIG. 3 is a chart showing pre-fetching operation of a print server 1 forming a second embodiment of the present invention. The first to third steps S30 to S32 in FIG. 3 corresponds to steps S20 to S22 in FIG. 2. Detailed description of these steps will therefore not be repeated.


After logging on, S30, and checking the identity of the user's home server, S31, in step S33 a request is sent to the home server 1 for print jobs associated with the user. The print jobs associated with the user are sent by the home server 1 in response to the request and are subsequently received at the print server 1. In step S34 the user inputs instructions to print a job to the print server 1 and in step S35 the print server 1 sends instructions to the printer 3 to print the print job.


The second embodiment differs from the first embodiment in that print jobs are requested from the home server 1 following the user's logon. As the print jobs are requested early in the process, at step S34, the print server 1 is likely to have relevant print jobs available to meet any request from the user when the request arrives. In the second embodiment, the user does not have to wait for steps S25 and S26 in the first embodiment and so the response to the user's requests may be quicker.



FIG. 4 shows operation of the print server 1 of the first embodiment when a user sends a print job to be stored on the print server 1.


Steps S40 and S41 correspond to steps S20, S21 previously described. Detailed description of these steps will therefore be omitted.


After logging on, S40, and identifying the user's home server, S41, at step S42, a print job is received from a user. If the print server 1 that receives the request is the user's home server, the print server operates as a conventional print server and stores the job on the print server 1 in step S43.


If a print job is received from a user whose home server is another print server 1 at step S44, the print server 1 stores the print job for a first predetermined period, t, from receipt of the print job S45. In this embodiment, the print server 1 by default stores the job for 10 minutes. However, the time that the print server 1 stores the print job is settable via software on the print server 1.


At step S46 the print server 1 forwards the job to the home server after a second predetermined period, t′, from receipt of the print job. In this embodiment, the print server 1 forwards the job to the home server 1 by default after 1 minute. However, the time before the print server 1 forwards print job is settable via software on the print server 1.


An advantage of storing the print job before forwarding the print job to the home server is that if the user immediately prints the print job, or deletes the print job from the print server 1, there is no need to send the print job to the home server and consequently network traffic is not unnecessarily generated.


In step S47 the print server 1 deletes the job after the first predetermined period of time t. However, because the second predetermined period of time, t′, is less than the first predetermined period of time, t, the job is still available to the user from his or her home server.


In other embodiments the length of the periods t and t′ may be different. One way of deciding how long t and t′ should be is by considering how long it will take a user to get from a location where he has sent a job to a print server other than his home server to a location where he is logged into his home server. For example, if a user with a home server in London sends a print job to a server in Paris, the period t′ for forwarding the job to the home server could be set to one or two hours because the user is unlikely to be in London using his home server as a local server before the end of that period. The period t before deletion from the Paris server should, of course, be set longer than the period t′ so that a copy of the print job is available for forwarding. In other embodiments, the periods t and t′ could be individually settable depending on the identity of the home server. In the example above this could mean that t and t′ are longer on the server in Paris when it is determined that the home server is in Sydney than when the home server is determined to be in London.


As explained in connection with FIG. 1, in the above embodiments each print server 1 has an identical list of users 4. In order to keep the list of users synchronised between the print servers 1, in each of the embodiments above the print servers 1 are configured to synchronise their user lists periodically. In these embodiments the user lists 4 are synchronised every 15 minutes.


During synchronisation, a designated control server 1 receives the list of users from each of the other print servers 1. The control server 1 compares the received lists of users 4 and its own list of users 4 and produces a new list of users 4 incorporating changes from all of the received lists of users 4. The control server 1 then sends the new list of users 4 to each of the other print servers 1.


From time to time, users may relocate to different offices, new users will wish to use the print servers 1 and some users may no longer have access to the print servers 1 because, for example, they leave the organisation that owns the print servers 1. The changes can be introduced by manually updating the list of users 4 on a print server 4.


A further feature of the above embodiments is the automatic updating of user's home servers based on information about which print servers 1 a user is using. In order to achieve this function, the print servers 1 generate a log of print jobs that they print. As shown in FIG. 5, the print servers 1 synchronise their list of users 4 by sending both the list of users 4 and their logs to the control server 1, step S50. In this case, the control server 1 updates the list of users, S51, based on both the lists of users 4 received from the print servers 1 and its own list of users 4 and on the basis of received logs and its own log. In these embodiments, if a user prints from a print server 1 other than his or her home server more times than on to any other print server 1 in a given 24 hour period, the control server 1 changes the user's home server to the print server 1 other than his or her home server. Once the list of users has been updated, the control server 1 sends the new list of users to all the other print servers 1, S52.


In this way, the user's home server can be quickly updated when a user moves between offices, for example to work in another office for a few days, allowing the traffic between servers to be minimised and reducing user waiting time while information is fetched from remote print servers 1.


As will be apparent to persons skilled in the art, if a user wishes to print a job from a printer 3 that is not local to the user, this may be done by logging on to the print server 1 to which the printer 3 is local. An example would be a user who is using his home server located in London, and wishes to print a job stored on his home server on a printer in Paris connected to a print server located in Paris. The user may readily achieve this by logging on to the Paris print server and printing to the relevant printer in Paris. The Paris server would, as described above, identify his home server, retrieve his print job from the print server in London, and print the requested job in Paris. In other embodiments, rather than having to log on to the Paris print server, a user connection to the print server in Paris could be provided via software on the London server.


Embodiments of the invention have been described above in terms of connected print servers 1. However, the present invention can also be embodied a single print server 1, by a program for a computer or by a storage medium carrying such a program as is set out in the claims.



FIG. 6 is a simplified schematic view of conventional server hardware used in the print servers 1. As is well known in the art, the servers 1 include a CPU 10, RAM 11, and a hard disk 12 connected to each other via a bus 13. Software that, when run, causes the print servers 1 to function as described above is stored in the hard disk 12. The software may be run using the CPU 10 and RAM 11 in a conventional manner. In this way, the stored software may control the print servers to perform steps in the methods described above with reference to FIGS. 2 to 5.

Claims
  • 1. A print server for connection to a network including at least one other server and at least one printer, which print server stores a list of users including for each user a server associated with that user, the server configured so that if a request is received from a user, the server refers to the list to determine which server the user is associated with.
  • 2. A print server according to claim 1 wherein the server associated with each user represents a server that that user is considered to be likely to use.
  • 3. A print server according to claim 1, configured so that if a print job is received from a user for printing at a printer local to the print server, the print server will send the job for printing without contacting another server.
  • 4. A print server according to claim 1, configured so that if a request relating to a print job stored on another server is received, then after referring to the list of users to determine which server the user is associated with, the server sends a request to the server with which the user is associated to be sent the print job.
  • 5. A print server according to claim 1, configured so that in the case that a user logs on to the print server, then, after referring to the list of users to determine which server the user is associated with, the server sends a request to the server with which the user is associated to be sent print jobs associated with the user.
  • 6. A print server according to claim 1, configured so that if a user associated with another server sends a print job to the print server, the print server stores the job for a first predetermined period from receipt of the print job.
  • 7. A print server according to claim 6, wherein the server is configured to send a copy of the job to the print server associated with the user in the user list after a second predetermined period from receipt of the print job.
  • 8. A print server according to claim 7, wherein the print server is configured to delete the job after a first predetermined period from receipt of the print job.
  • 9. A print server according to claim 8, wherein the first predetermined period is longer than the second predetermined period.
  • 10. A print system comprising a plurality of print servers according to claim 1 connected to each other via a network.
  • 11. A print system according to claim 10, wherein the system is configured to automatically change the identity of the print server associated with a user on the list of users.
  • 12. A print system according to claim 11, wherein the system is configured to change the identity of the print server associated with a user on the list of users based on a log of jobs printed by the user on one or more of the print
  • 13. A method of controlling printing, comprising: storing a list of users including for each user a server associated with that user,and when a request is received from a user, referring to the list to determine a server with which the user is associated.
  • 14. A storage medium storing a program which, when run on a computer, causes the computer to perform a method of controlling printing comprising: storing a list of users including for each user a server associated with that user,and when a request is received from a user, referring to the list to determine a server with which the user is associated.
  • 15. (canceled)
Priority Claims (1)
Number Date Country Kind
0707492.5 Apr 2007 GB national
PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/EP2008/054763 4/18/2008 WO 00 4/15/2010