Abstract:
Due to the lack of a user account, it is a problem to handle a guest print job, submitted by a guest user and associated with first user credentials, for processing by an authenticated printing system requiring the guest print job to be authenticated using second user credentials. This problem is solved by a method comprising the steps of i. obtaining the guest print job, the guest print job comprising print job metadata, the first user credentials being associated with the print job, ii. obtaining the second user credentials, iii. creating a guest user account with the authenticated printing system, the guest user account being associated with the second user credentials, iv. adding the second user credentials to the metadata, and v. forwarding at least the print job metadata, comprising the second user credentials, to the authenticated printing system for processing. A system and a computer program product for performing the method are also provided.

Description:
TECHNICAL FIELD 
       [0001]    The present invention concerns a method of handling a guest print job for processing by an authenticated printing system and system for performing the method. More particularly the present invention concerns a method of handling a guest print job, submitted by a guest user and being associated with first user credentials, for processing by an authenticated printing system requiring the guest print job to be authenticated using second user credentials. 
       BACKGROUND ART 
       [0002]    Generally printers used by higher education institutions and corporate organizations are connected to an internal or local network so that the printers may be shared between the users. i.e. the students and staff or workers. 
         [0003]    In order to control access as well as to control or limit the costs associated with printing, document management or print accounting systems, collectively referred to as authenticated printing systems, are used for tracking and accounting for printing activity. Print activity tracking and accounting is typically based on a user&#39;s network username. For this to work each print job should comprise the user&#39;s network username in the print job details. Accordingly when a user prints a document from his personal computer, PC, the print job generated from the document that the user wishes to print has the user&#39;s network username in the job details or print job metadata, e.g. in the header of the print job file, for use by the authenticated printing systems. When the user prints from a conventional PC the network user name is readily available for incorporation in the print job details as the user typically logs on onto the PC, and onto the local network to which the PC is connected, using the network user name. 
         [0004]    Such a system works well with users who are already associated with the authenticated printing systems, i.e. users who already have user accounts with their user names and user credentials stored or registered in the authenticated printing system. Such users are typically students or staff, at a higher education institution, or workers in a corporate organization, i.e. users who are to have continuous access to the authenticated printing system. Guests to a higher education institution or a corporate organization may however also require printing facilities. Guests may for example include visiting scientists or lecturers, customers, clients, or other temporary users and in many cases the higher education institution or corporate organization may want to provide guests with access to the authenticated printing system. Furthermore, guest printing may also be provided by for example a hotel to its guests. 
         [0005]    Techniques for handling guest print jobs for providing printing facilities to guests or other temporary users are known from inter alia U.S. Pat. No. 7,551,319B2, U.S. Pat. No. 8,185,948B2 and U.S. Pat. No. 7,315,834B2. 
       DISCLOSURE OF INVENTION 
       [0006]    Providing access to the authenticated printing system for a guest is however not without effort and/or difficulties as it requires setting up an account for the guest in the authenticated printing system. This is however problematic as the guest, visiting the higher education institution or corporate organization, typically will only be staying a limited time such that the spending of time on setting up accounts or finding and interacting with the administrator is undesired. 
         [0007]    As the administrator is required to create an account for each guest user it becomes a problem if there are many guest users. 
         [0008]    Further, in order to ensure that the guest print job submitted by the guest can be handled by the authenticated printing system, the administrator of the authenticated printing system may need access to the guest&#39;s user device, i.e. computer, tablet computer or Smartphone, for installing or configuring software for ensuring that the user credentials associated with the account for the guest are included with the guest print job. Access to the guest user&#39;s device is also needed where the guest&#39;s user device is not equipped with the printer drives or other software needed for generating the print job. 
         [0009]    Gaining such access may however in some cases be impossible or problematic as the guest may not wish to allow the administrator to access the user device. 
         [0010]    In some cases it may not be possible to install or configure software on the guest&#39;s user device due to the limited computational resources of common guest user devices such as Smartphones and tablet PCs. 
         [0011]    It is therefore an object of the present invention to simplify and/or improve printing by guest users on authenticated printing systems. 
         [0012]    Accordingly it is an object of the present invention to provide a method of handling a guest print job for processing by an authenticated printing system which does not require an administrator of the authenticated printing system to manually set up a guest account with the authenticated printing system for the guest. 
         [0013]    It is a further object of the present invention to provide a method of handling a guest print job for processing by an authenticated printing system which does not require the guest to have a guest account with the authenticated printing system prior to submitting the guest print job. 
         [0014]    It is a further object of the present invention to provide a method of handling a guest print job for processing by an authenticated printing system which does not require the guest&#39;s user device to be modified or configured to include any specific type of user credentials, in particular not any user credentials used by the authenticated printing system, with the guest print job as it is submitted. 
         [0015]    It is a further object of the present invention to provide a method of handling a guest print job for processing by an authenticated printing system which allows the authenticated printing system to perform authentication, tracking, accounting and/or secure printing. 
         [0016]    It is also an object of the present invention to provide a system for performing the method for achieving at least one of the above mentioned objects. 
         [0017]    It is additionally an object of the present invention to provide software configured for causing a computer on which the software runs to perform the method for achieving at least one of the above mentioned objects. 
         [0018]    At least one of the above objects, or at least one of the further objects which will be evident from the below description, is according to a first aspect of the present invention achieved by the method according to claim  1 . 
         [0019]    By obtaining the second user credentials, creating the guest user account and adding the second user credentials to the guest print job the guest print job, as seen from point of view of the authenticated printing system comprises the required second user credentials, and as there now exists a guest user account corresponding to the second user credentials the guest print job may now be processed. 
         [0020]    The authenticated printing system may thus perform authorization of the user, secure printing of the print job, tracking of the print job, and/or accounting of the print job as if the print job originated from a user already having a user account with the authenticated printing system. 
         [0021]    Further as the guest user account is created after the guest user has submitted the guest print job the guest user is not required to have the guest user account with the authenticated printing system prior to submitting the guest print job 
         [0022]    As the first user credentials are not used by the authenticated printing systems the first user credentials may be any information identifying the guest user, thus the guest user device does not need to be set up to include any specific type of user credentials, in particular any user credentials used by the authenticated printing system, with the guest print job. This also allows the guest user to use different types of user devices provided that the guest print job may be obtained from them. 
         [0023]    As seen from the above the method according to the first aspect of the present invention simplifies and/or improves printing by guest users on authenticated printing systems. 
         [0024]    The steps are preferably performed from step i to v. 
         [0025]    The steps of the method may be performed by a processing server. 
         [0026]    Handling comprises printing, attempting to print and/or storing for later printing. 
         [0027]    The guest print job is a print job submitted by a guest user. The term print job is therefore, as long as it clear from the context that the print job is associated with the guest user, interchangeable with the term guest print job. 
         [0028]    The guest print job comprises a file such as a for example a document in Microsoft® word or Excel® format, a PDF document, an image in for example JPEG format, etc. The print job may also be a file directly readable by a printer by being in PDL (Page Description Language). PS (Postscript) or PCL (Printer Command Language) language. Thus guest print job is to be understood as encompassing any file, whether directly readable by a printer or not, that the guest user desires to print. 
         [0029]    The guest print job may be submitted as an attached file in an email, as the contents of an email, by web upload to a web site hosted by the processing server, via a cloud printing service, by connecting to a cloud storage system through the processing server and selecting a document for the processing server to download and print. 
         [0030]    The guest user may be a temporary user in a higher education institution or corporate organization such as a visiting scientist or lecturer, a customer, a client, a visiting or temporarily relocated staff member or worker etc. 
         [0031]    The guest user may use a guest user device such as a Smartphone, tablet PC, conventional PC, thin client PC or packaged laptop such as a Chromebook™ for submitting the guest print job 
         [0032]    The first user credentials is any information identifying the guest user. The first user credentials may comprise an email address from which the guest print job is received, a username, author name, telephone number or other personal information found in the document properties of a document such as a Microsoft® Word document that is submitted to the processing server by web upload, an IP address from which the guest user has sent the above mentioned email or submitted the above mentioned document, or a code or username selected by the guest user. 
         [0033]    The authenticated printing system typically comprises an authentication, tracking and accounting server such as a server running Pcounter, Equitrac, Papercut, or other print tracking and accounting software. 
         [0034]    The processing server may further be connectable to an external authentication server such as an ActiveDirectory or LDAP server. 
         [0035]    The second user credentials may comprise a network user name, an email address, a telephone number, an IP address or a code unique to the user. The second user credentials may further comprise a password associated with the email address, the network username, the telephone number, the IP address or the code to prevent unauthorized access to the authenticated printing system. 
         [0036]    Preferably the second user credentials is a username or a code that is smaller, i e. contains less information or less digits and letters than the first user credentials. Most preferably therefore the second user credentials then comprises a 4 digit PIN code such as “2234” or an abbreviated name such a “ASC” standing for a guest user having a first user credentials comprising the email address Adam.Smith@customer.com. 
         [0037]    The second user credentials are used for authenticating the user to the authenticated printing service in order to identify the user to the authenticated printing service so that the authenticated printing service may process the print job. 
         [0038]    The first user credentials may be associated with the guest print job by being for example the email address or IP address from which the guest print job is received, by being included in contents of the guest print job such as being included in the name of the document or the file name of the document to be printed, or by being included in the document metadata of the document to be printed. The document metadata may for example comprise data fields stating the author of the document, or the owner of the document, the creator of the document. 
         [0039]    Further the first user credentials may be associated with the guest print job by being included in the contents, such as text in a text document, of the document to be printed. 
         [0040]    Furthermore it is contemplated within the context of the present invention that the guest print job metadata may comprise the first user credentials. 
         [0041]    The guest print job may be obtained by for example receiving or retrieving an email comprising the guest print job, typically as an attachment to the email, receiving the guest print job as the guest print job is uploaded, by the guest user, to a web site hosted by the processing server, retrieving the guest print job from a cloud storage system using user credentials supplied by the guest user on a web site hosted by the processing server, or receiving or retrieving the guest print job from a cloud printing service. 
         [0042]    In the context of the present invention guest print job metadata is to be understood as encompassing print job details. The metadata may comprise the name or other identification information, including a network address, of the printer on which the print job is to be printed. In a guest print job the print job metadata may refer to the part of the file written in PJL (Printer Job Language) language, comprising for example the field Username which may comprise the second user credentials, while the print job itself is the part of the file written in PDL (Page Description Language), PS (Postscript) or PCL (Printer Command Language) language. 
         [0043]    Where the guest print job is a document such as a PDF file, the print job metadata comprises the author or owner of the PDF file or similar attribute in PDF document metadata. Further, the guest print job metadata may comprise the name of the document to be printed. 
         [0044]    The second user credentials may be obtained by randomly generating the second user credentials. Alternatively a function operating on the first user credentials generates the second user credentials. For example, if the first user credentials comprise an email address such as user@company.com, the second user credentials may be generated by a truncation or other function operating on the first user credentials by returning only the letters prior to the @ sign, i.e. returning only “user”. 
         [0045]    It is further contemplated within the context of the present invention that the second user credentials may be obtained by copying the first user credentials so that the second user credentials are the same as the first user credentials. 
         [0046]    Creating the guest user account may comprise setting rules and/or settings for the guest user account for limiting the printing done by the guest user. The guest user account may be temporary, i.e. deleted after a certain time, or alternatively the guest user account may be permanent. Thus the method may comprise the step of deleting the guest user account from the authenticated printing system after a certain time has passed since the creation of the guest user account. 
         [0047]    The guest user account is associated with the second user credentials such that the guest user may be authenticated, using the second user credentials, for using the guest user account and the authenticated printing system. 
         [0048]    In the event that the guest print job metadata comprises the first user credentials, then adding the second user credentials to the metadata is to be understood as encompassing any of substituting the first user credentials with the second user credentials in the metadata, and, adding the second user credentials to a field of the metadata different from the field comprising the first user credentials. 
         [0049]    The print job metadata may comprise both the first and second user credentials as long as the second user credential are present in the field of the metadata in which the authenticated printing system expects to find the owner, i.e. the user, associated with the document and the print job. 
         [0050]    However, typically the first user credentials are not comprised by the guest print job metadata, instead being only associated with the guest print job as described above. In this case the second user credentials are simply added to the guest print job metadata. If for example the guest print job comprises a pdf-document received by an email the second user credentials may for example be added to the file name of the pdf-file. 
         [0051]    In the context of the present invention forwarding at least the print job metadata comprising the second user credentials, to the authenticated printing system for said processing is to be understood as encompassing forwarding the print job, comprising the print job metadata comprising the second user credentials, to the authenticated printing system for the processing. 
         [0052]    Generally it may be sufficient to forward only the metadata to the authenticated printing system for the processing, but preferably the print job, including the metadata is forwarded to the authenticated printing system for the processing. 
         [0053]    The embodiments according to claim  2  define different ways of processing the print job by the authenticated printing system. 
         [0054]    Authenticating may comprise comparing said second user credentials to a list of second user credentials associated with users allowed to print using the authenticated printing system. 
         [0055]    Tracking may comprise listing the print job in a log. 
         [0056]    Accounting the print job may comprise debiting the account associated with the user, by for example subtracting the number of pages of the print job from a quota of printable pages, or subtracting the cost of printing the print job from a balance. Accounting the print job may alternatively, or additionally, comprise store information about the print job for later presentation to the user. 
         [0057]    Forwarding the print job may comprise forwarding the print job to a printer comprised by the authenticated printing system, or alternatively forwarding the print job to a printer connected to the authenticated printing system. In either case the forwarding may be via a print server being part of the authenticated printing system, or alternatively being separate from the authenticated printing system. 
         [0058]    The printer may be a laser printer or ink jet printer, a multifunctional printer (MFP), or a reprographic machine. 
         [0059]    Claim  3  defines a preferred embodiment of the method according to the present invention. Converting the print job for making it printable by a printer may comprise using the software application corresponding to the file format of the document to open or read the document, followed by using a printer driver corresponding to the printer on which the document is to be printed to convert the document into a print job written in a suitable printer language such as PS (PostScript), PCL (Printer Command Language) or similar. 
         [0060]    Preferably the obtaining of the print job also comprises rendering the print job, such as into a bitmap. 
         [0061]    Claim  4  defines a preferred embodiment of the method according to the present invention. The transforming is preferably configured to reduce the information content of the first user credentials. Preferably the transformation comprises a truncation of the first user credentials. Alternatively the transformation may comprise abbreviating the first user credentials. 
         [0062]    Claim  5  defines an alternative embodiment of the present invention. This provides the opportunity for the guest user to choose the second user credentials. The second user credentials may be obtained by receiving or retrieving an email from the guest user or by receiving the second user credentials on a web site hosted by the processing server. 
         [0063]    Claim  6  defines a preferred embodiment of the method according to the present invention. If the first user credentials comprise an email address associated with the guest user it becomes very easy to contact the guest user by sending an email to the email address. The obtaining of the second user credentials from the guest user may comprise receiving an email from the user comprising the second user credentials, or directing the guest user to a website for receiving the second user credentials. 
         [0064]    In the context of the present invention an email address associated with the guest user is to be understood as encompassing an email address accessible and useable by the guest user for at least receiving email. 
         [0065]    Claim  7  defines a preferred embodiment of the method according to the present invention. If the second user credentials are to be obtained from the guest user it is preferred that the second user credentials are stored in the user credentials mapping database mapped to the first user credentials so that the next time the guest user wishes to print a document using the authenticated printing system the second user credentials will be present in the user credentials mapping database so that there is no need to obtain the second user credentials from the guest user this time. 
         [0066]    In the context of the present invention the user credentials mapping database is to be understood as encompassing a relational database or other database type storage. 
         [0067]    The user credentials mapping database may be one or more tables in a SQL database. Retrieving the second user credentials from the user credentials mapping database may comprise using the first user credentials in a SQL SELECT statement to retrieve the second user credentials related to the first user credentials. 
         [0068]    Claim  8  defines one embodiment of the method according to the present invention. This is advantageous as it increases security for the guest user as it ensures that the guest print job is only printed when desired by the guest user. Further it limits abuse of printing by the guest user as the guest user has to submit the release code for printing to be carried out. The holding queue may be located in the authenticated printing system or in the processing server. 
         [0069]    The steps are preferably performed in the order of xi, xii, xiii. 
         [0070]    The release code may be an alphanumerical string, network username, or the second user credentials, etc. The release code may be generated by the authenticated printing system or it may be generated by the processing server. 
         [0071]    Providing the release code to the guest user may comprise sending the release code in an email or, in a SMS or MMS, by direct messaging such as, or by publishing the release code on a website reachable by a unique URL sent to the user or in an application or user inter face on the guest user device. 
         [0072]    Preferably providing the release code comprises inputting the release code on a printer or on a computer located near a printer. Preferably the print job is then printed on that printer. Providing the release code to the guest user or receiving the release code from the guest user may further comprise providing a list of available printers in or connected to the authenticated printing system and receiving a selection of one of the printers to print the guest print job from the guest user. 
         [0073]    Further, where the guest user uses a web site hosted by the processing server to upload the guest print job, the release code may be displayed on that web site after the upload has been completed and the release code has been generated. 
         [0074]    Receiving the release code may comprise receiving the release code in an email, SMS or MMS, or receiving the release code on a website hosted by the authenticated printing system or the processing server. The website may be displayed on a display of the printer or on a computer in the vicinity of the printer. 
         [0075]    Releasing the guest print job from the holding queue may comprise forwarding the guest print job, comprising the print job metadata comprising the second user credentials, to the authenticated printing system for the processing. 
         [0076]    Claim  9  defines a preferred embodiment of the method according to the present invention. Preferably the first user credentials comprise an email address associated with the guest user as this readily provides for communicating the release code to the guest user. 
         [0077]    Claim  10  defines a preferred embodiment of the method according to the present invention. The first network is preferably a local network such as an office network, possibly including a virtual private network, VPN, of a corporate organization or campus wide network of a higher education institute such as a University. 
         [0078]    At least one of the above objects, or at least one of any of the further objects which will be evident from the below description, are according to a second aspect of the present invention achieved by the system according to claim  11 . 
         [0079]    The system according to the second aspect of the present invention is for performing the method according to the first aspect of the present invention, thus the above described embodiments of features of the method according to the first aspect of the present invention are applicable to the system according to the second aspect of the present invention. 
         [0080]    Further embodiments of the system according to the second aspect of the present invention, and further embodiments of features of the system according to the second aspect of the present invention, are given below. 
         [0081]    As the guest management program routine obtains the second user credentials and causes the creation of the guest user account the system does not require an administrator of the authenticated printing system to manually set up the guest account. 
         [0082]    Further as the metadata modification program routine adds the second user credentials to the guest print job metadata the guest print job, as seen from point of view of the authenticated printing system comprises the required second user credentials, and as there now exists a guest user account corresponding to the second user credentials the guest print job may now be processed. 
         [0083]    The processing server may be a separate server or may be integrated as a part of other software. In particular the program routines of the processing server may be integrated with the commercially available mobile print software solution EveryonePrint, currently in version 3.3, developed by Next Print Solutions. The program routines of the processing server, and accordingly the processing server, may thus form part of the EveryonePrint software and run as part or the EveryonePrint software on a server. 
         [0084]    In the context of the present invention connectable is to be understood as encompassing connected or connectable for forwarding at least part of the guest print job to the authenticated printing system for the processing. 
         [0085]    In the context of the present invention program routine is to be understood as encompassing program module. Further the program routine may comprise software or hardware. More than one of the program routines may be combined in a single software. 
         [0086]    Further more than one server may run in separate virtual servers on a single physical server. In other words an LDAP server and the authentication tracking and accounting server may run on separate virtual servers running on a single physical server. 
         [0087]    Furthermore the functions of different servers may be combined in a single server such that a single server may perform both authentication and tracking and accounting. 
         [0088]    The print job obtaining program routine may comprise program routines for receiving or retrieving an email comprising the guest print job, program routines for receiving or retrieving the guest print job from a cloud printing solution or a cloud storage system, program routines for receiving the guest print job from a web upload to a web site hosted by the processing server or the print job obtaining routine. The print job obtaining program routine preferably further comprises program routines for extracting the guest print job from the email if the guest print job is sent as an attachment to the email. 
         [0089]    The guest management program routine may comprise program routines for obtaining the second user credentials, including program routines for generating the second user credentials. The guest management program routine preferably further comprises program routines for managing and interacting with the authenticated printing system for causing the authenticated printing system to create the guest user account. 
         [0090]    Program routines for managing and interacting with the authenticated printing system may comprise an API interface or gateway utility or module, or an integration API between the processing server and the authenticated printing system. The API could be a DLL based API, Web services API, Rest API etc. 
         [0091]    Alternatively, where the authenticated printing system uses a database, such as an SQL database the program routines for managing and interacting with the authenticated printing system may comprise program routines for directly querying and modifying the database. 
         [0092]    The program routines for managing and interacting with the authenticated printing system may comprise program routines for creating a guest user account with the authenticated printing system, setting permissions, quotas, setting rules etc. For the guest user account, deleting the guest user account, verifying if a second user credentials are associated with a guest user account. 
         [0093]    Authenticated printing systems having program routines for managing and interacting with the authenticated printing system are known in the art. 
         [0094]    The metadata modification program routine may be configured to retrieve or receive the second user credentials from the guest management program routine for adding the second user credentials to the guest print job metadata. 
         [0095]    The processing server may be configured to forward at least the guest print job metadata to the authenticated printing system by comprising program routines for sending at least the guest print job metadata to the authenticated printing system. 
         [0096]    A preferred embodiment of the system according to the second aspect of the present invention is defined by claim  12 . 
         [0097]    One or more of the authentication, print job tracking, accounting and print-server may be combined in a single server or software. 
         [0098]    The print server may be a part of the authenticated printing system but may also be separate from the authenticated printing system but connected to the authenticated printing system. 
         [0099]    The system may comprise the authenticated printing system. 
         [0100]    A preferred embodiment of the system according to the second aspect of the present invention is defined by claim  13 . The conversion program routine and the rendering program routine may be combined in a single program routine. 
         [0101]    A preferred embodiment of the system according to the second aspect of the present invention is defined by claim  14 . By storing the first and second user credentials they are readily available the next time the guest user submits a guest print job, thus there is no need for obtaining a new second user credentials the next time the guest user submits a guest print job to the processing server. 
         [0102]    One embodiment of the system according to the second aspect of the present invention is defined in claim  15 . This is advantageous as it provides for secure printing. As an alternative the authenticated printing system may be configured for holding the guest print job in a holding queue pending receipt of a release code, for providing the release code to the guest user, and for releasing the guest print job from the holding queue upon receiving the release code from the guest user. 
         [0103]    A preferred embodiment of the system according to the second aspect of the present invention is defined by claim  16 . 
         [0104]    This is advantageous as there is no need to create a new release code since the second user credentials are used instead. In this case the second user credentials are preferably small, such as a 4-digit PIN-code or similar. 
         [0105]    The second user credentials are preferably provided to the guest user via email. This works best if the first user credentials is an email address. Alternatively, where the guest user submits his guest print job via web upload to a web site hosted by the processing server, the second user credentials may be provided to the guest user by being displayed on that web site. 
         [0106]    A preferred embodiment of the system according to the second aspect of the present invention is defined by claim  17 . This is advantageous as it allows users already having a user account with the authenticated printing system, and guest users not having a guest user account with the authenticated printing system, to submit print jobs to the same processing server. 
         [0107]    The authentication server may be an ActiveDirectory or LDAP server. 
         [0108]    In the context of the present invention determining if the guest user account exists is to be understood as encompassing determining if the first user credentials exist in the authentication server. 
         [0109]    The authentication program routine may additionally be configured to authenticate the guest user against the authenticated printing system using the first user credentials, and/or using the second user credentials 
         [0110]    In this case the authentication program routine preferably comprises program routines for managing and interacting with the authenticated printing system, as described above, for authenticating the guest user. 
         [0111]    The authentication program routine and/or the processing server are preferably configured for forwarding the print job to the metadata modification program routine if it determines that the guest user account exists. 
         [0112]    At least one of the above objects, or at least one of any of the further objects which will be evident from the below description, are according to a third aspect of the present invention achieved by a computer program product according to claim  18 . 
         [0113]    The computer program product according to the third aspect of the present invention, when executed on a computer, causes the computer to perform the steps of the method according to the first aspect of the present invention. 
         [0114]    The computer program according to the third aspect of the present invention may thus be used to provide the processing server of the system according to the second aspect of the present invention. 
         [0115]    A computer usable medium may comprise a floppy disk, tape, a removable hard disk, a rewritable or non-rewritable CD or DVD, etc. 
         [0116]    In the context of the present invention a computer program product directly loadable into the memory of a computer is to be understood as encompassing a computer program product stored as a compressed or non-compressed file on a file server or computer or a computer program product loaded into the physical or virtual working memory, e.g. RAM, cache, or registry, of a computer. Thus a computer program product downloadable from a server is considered to be encompassed by a computer program product directly loadable into the memory of a computer. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
         [0117]    The invention and its many advantages will be described in more detail below with reference to the accompanying schematic drawing, which for the purpose of illustration shows some non-limiting embodiments, and in which: 
           [0118]      FIG. 1  shows a first embodiment of a method of handling a guest print job for processing by an authenticated printing system and a system for performing the method according to the first and second aspects of the present invention. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0119]    In the below description, one or more ′ signs added to a reference number indicates that the element referred to has the same or similar function as the element designated the un-superscripted reference number, however, differing in structure. 
         [0120]    Further, where useful for discussing a plurality of identical elements, one or more subscript Latin numerals added to a reference number indicates that the element referred to is a further one of the element designated the un-subscripted reference number. 
         [0121]    When further embodiments of the invention are shown in the figures, the elements which are new in relation to earlier shown embodiments have new reference numbers, while elements previously shown are referenced as stated above. Elements which are identical in the different embodiments have been given the same reference numerals and no further explanations of these elements will be given. 
         [0122]      FIG. 1  shows a first embodiment of a method of handling a guest print job for processing by an authenticated printing system and a system for performing the method according to the first and second aspects of the present invention. A user  2  wishing to print a document may use any of a desktop PC  10 , a Smartphone  10 ′ or a tablet PC  10 ″, each representing a user device, to submit a print job via a wireless network  4  and through a firewall  6  for printing on a printer located on a local network  20  of a higher education institution such as “Acme University” or a corporate organization. Users of the local network  20  are authenticated for access to the local network  20  using an authentication server  22 . 
         [0123]    Within the local network  20  is further provided a processing server  30  for handling the print job as will be described below. 
         [0124]    User  2  may submit his print job for example by attaching the document to be printed to an email retrievable by the processing server  30 , by uploading the document using a web site interface hosted by the processing server  30  or on its behalf, by using a driver software on the user device  10 ,  10 ′,  10 ″, by submitting the document to a cloud printing service, or by providing a reference to a document stored in a cloud storage system. 
         [0125]    In either way the document to be printed is supplied to the processing server  30  in step A The processing server  30  is interposed in the path of the document between user device  10 ,  10 ′ or  10 ″ and the authenticated printing system  50  of “Acme University” and the printer  60  operated by “Acme University”. 
         [0126]    The processing server  30  may comprise a user interface program routine (not shown) for hosting a website to which the user may navigate using any of the user devices  10 ,  10 ′ or  10 ″ for uploading the print job, i.e. the document to be printed. Alternatively the processing server may comprise an email program routine (not shown) for receiving or retrieving an email comprising the print job. The processing server  30  may comprise further program routines for receiving or retrieving the document to be printed. 
         [0127]    The processing server  30  comprises an authentication program routine  32  for authenticating the user  2  using first user credentials, associated with the print job or supplied with the print job. The first user credentials may for example be the email address of the user  2  or the owner of the print job, or the IP address from which the email is sent. Authentication is performed based on the first user credentials against the authentication server  22  in step B. 
         [0128]    Where second user credentials are supplied with the print job, for example when the print job was uploaded to a web site hosted by the processing server  30  and the second user credentials where submitted by the user  2  on that website, then the authentication program routine  32  may also authenticate the user  2  using the second user credentials against an authentication, tracking and accounting server  54 , more details below, of an authenticated printing system  50 , more details below, in step optional step C. 
         [0129]    The second user credentials may be the user&#39;s username on the local network  20 . 
         [0130]    For authenticating the user  2  against the authentication, tracking and accounting server  54 , a management program routine for managing the authentication, tracking and accounting server  54  is provided (not shown) in the processing server  30  or is made accessible to the processing server  30 . 
         [0131]    The management program routines for managing and interacting with the authenticated printing system  50  may comprise an API (Application Programming interface)  56  provided in the authentication, tracking and accounting server  54 . Further alternatives include a gateway utility or module provided in the authentication, tracking and accounting server  54  or an integration API between the processing server  30  and the authenticated printing system  50 . The API May be a DLL based API, Web services API, Rest API, etc. 
         [0132]    Alternatively, if the authentication, tracking and accounting server  54  stores user accounts in a database such as SQL database  56 ′, the management program routines for managing and interacting with the authenticated printing system  50  may comprise program routines for directly querying and modifying the SQL database  56 ′. 
         [0133]    In a first, known user scenario the user  2  is known by the authentication server  22  on the basis of the first user credentials, or the authentication, tracking and accounting server  54  on the basis of the second user credentials. In this scenario the print job is then in step D forwarded to a conversion program routine  34 . 
         [0134]    The conversion program routine  34  converts the document using the software application corresponding to the format of the document  22  in a first step to read the document, and a printer driver for obtaining a print job based on the document  22  in a second step. The conversion program routine  34  may not be needed where the document is directly printable by a printer. The print job comprises metadata which may include the first user credentials for Identifying the user  2  as the owner of the print job. 
         [0135]    Alternatively the print job metadata does not comprise the first user credentials. 
         [0136]    The print job is then sent to a rendering program routine  36  in step E in which it is rendered into a bitmap suitable for printing by a printer. The rendered print job is then in step F sent to a metadata modification program routine  38  in which the second user credentials are injected or added into the metadata, replacing or substituting the first user credentials if present in the metadata. 
         [0137]    The second user credentials are obtained from a user credentials mapping database  40  by querying the user credentials mapping database  40  using the first user credentials for obtaining the second user credentials in steps G and H. 
         [0138]    If there are no second user credentials corresponding to the first user credentials stored in the user credentials mapping database the metadata modification program routine  38 , or the processing server  30  is configured to either a) discard the print job, b) where the first user credentials comprise the user  2 &#39;s email address—contact the user  2  to prompt the user  2  to submit the second user credentials (not shown), or c) initiate the guest management program routine as discussed below. 
         [0139]    The conversion program routine  34  and the metadata modification program routine  38  may be combined into a single program routine for obtaining a print job, comprising print job metadata comprising the second user credentials, in a single program routine. 
         [0140]    The metadata modification program routine  38 , after retrieving the second user credentials in step H, now injects or adds the second user credentials to the metadata of the print job, replacing or substituting the first user credentials if present in the metadata, and forwards the print job to the authenticated printing system  50  in step I. The authenticated printing system  50  comprises a print server  52 , and the authentication, tracking and accounting server  54 . The print job is first analyzed by the print server  52  to determine the destination, i.e. which printer is to print the print job. Additionally the print job metadata is supplied to the authentication, tracking and accounting server  54  in step J. The authentication, tracking and accounting server  54  comprises a database of a plurality of second user credentials, one of the plurality of second user credentials corresponding to the second user credentials comprised by the print job metadata for authenticating the user  2  as being allowed to use the printers connected to the authenticated printing system  50 . Further the authentication, tracking and accounting server  54  may comprise an active print job database comprising details of every print job currently printing on the printers or temporarily stored by the print server  52  in order to track the progress of each print job. The authentication, tracking and accounting server  54  also comprises a database of user accounts, each user account being associated with one of the plurality of second user credentials, comprising settings or quotas for controlling and restricting printing on a per user basis. The settings may for example comprise settings or rules for limiting which printers are available to each user, including the user  2 , and the quotas may comprise a maximum number of pages printable per user, including user  2 , and month or year. Further the rules may include rules which disallow the user from printing any colour print jobs, only allowing the user to print in black/white. 
         [0141]    After the authentication, tracking and accounting server  54  has determined that the user  2  is allowed to print the print job, e.g. by determining that the quota corresponding to the user  2  is not yet met and will not be exceeded by printing the print job, then the authentication, tracking and accounting server  54  communicates this to the print server  52  in step K, following which the print server  52  sends the print job to the printer  60  in step L for printing. The printer  60  then directly, or after temporarily storing the print job in the memory of printer  60 , prints the print job. 
         [0142]    The above describes the known user scenario where the user  2  already has a user account with the authentication tracking and accounting server  54 , the user account being associated with the second user credentials. Further there exists a second user credential mapped to the user  2 &#39;s first user credentials and stored in the user credentials mapping database  40 . 
         [0143]    Normally in the known user scenario a guest user does not have a user account with the authentication tracking and accounting server  54 . As there is no user account there is no second user credentials associated with the user account. Further the first user credentials submitted with the print job are not known to the authentication server  22 , thus a guest user cannot be authenticated in steps B and C against the authentication server  22  or the authentication tracking and accounting server  54 . Further the authenticated printing system  50  would not be able to handle such a print job. 
         [0144]    This problem is solved by the guest management program routine  42 . 
         [0145]    In the guest user scenario, where the processing server further includes the guest management program routine  42 , if the user  2  cannot be authenticated against the authentication server  22  and the authentication tracking and accounting server  54 , the print job is in modified step D′ forwarded to the guest management program routine  42 . The guest management program routine  42  now generates second user credentials for the user  2 . The second user credentials may be temporary, i.e. destined to be revoked after a time such as for example 24 hours, or may be permanent. In the case the second user credentials are destined to be temporary the guest management program routine  42  stores the generated second user credentials in a database together with a time point when the second user credentials for the user  2  should be revoked. 
         [0146]    The generated second user credentials are then used in step M to create a guest user account for the user  2  with the authentication tracking and accounting server  54  by instructing the API  56  to create the guest user account, or by creating the guest user account directly in the SQL database  56 ′ using SQL commands. 
         [0147]    The guest management program routine  42  may be configured to assign rules and quotas to the guest user account, by instructing the above mentioned API  56  or modifying the SQL database  56 , to prevent excessive printing by the user  2  if the user  2  is a guest. The print job is then in step N forwarded, still with the first user credentials, to the conversion program routine  34  after which processing proceeds as described above. If desired the guest management program routine  42  may further be configured to instruct the conversion program routine to  34  to specify that the print job should be printed with secure release, i.e. held in a print queue or holding file in the processing server  30  or in the authentication, tracking and accounting server  54 , until the proper release code is provided. 
         [0148]    The guest management program routine  42  may in step O forward the generated second user credentials to the user  2  for example in an email. The second user credentials  2  may then be used by the user  2  when submitting further documents for printing, or the second user credentials may be used as a release code to release the print job if the print job was to be printed with secure release. In this case the user  2  may for example navigate to a website hosted by the processing server  30  or the authentication, tracking and accounting server  54  to release the print job for printing. 
         [0149]    The guest management program routine  42  in step P forwards the first user credentials and the generated second user credentials to the user credentials mapping database  40  for storing and mapping the second user credentials to the first user credentials so that the second user credentials may be retrieved in step H by the metadata modification program routine  38 . 
         [0150]    In case the generated second user credentials are temporary, the guest management program routine may further, not shown, after a time has passed communicate with the authentication, tracking and accounting server  54  in order to delete the guest user account created in step M using the API  56  or directly deleting the guest user account in the SQL database  56 ′. 
         [0151]    Thus, as can be seen in  FIG. 1 , the first embodiment of the method and system according to the first and second aspects of the present invention allows the user  2 , even if he is a guest who does not from the outset have a user account with the authentication, tracking and accounting server  54 , to print a document on the authenticated printing system  50  by providing the guest management program routine which generates second user credentials for the user  2  and uses the generated second user credentials to create a guest user account with the authentication, tracking and accounting server  54 . There is further no need to manually create a user account for the user  2 . 
         [0152]    As the guest management program routine  42  further forwards the first user credentials and the generated second user credentials to the user credentials mapping database  40  there is no need for the user  2  to resubmit his print job. 
         [0153]    Further the printing of the user  2 , even if he is a guest, may be controlled and limited using all available functions of the authenticated printing system  50 . 
         [0154]    As an alternative to, or in addition to the guest management program routine  42  generating the second user credentials, the guest management program routine  42  and/or the processing server  30  may be configured such that when the print job in step D′ arrives at the guest management program routine  42 , the guest management program routine  42  and/or the processing server  30  hosts a web site for self registration where the user  2  may register his first user credentials and where the user  2  may choose the second user credentials. Where the first user credentials comprises an email address associated with the user  2 , the user  2  may be directed to the web site for self registration using an email sent by or on behalf of the guest management program routine  42  or the processing server  30  to the email address. 
         [0155]    The web site for self registration may additionally be visited by the user  2  prior to submitting his print job, in which case the user  2  in step B and C is able to be authenticated as in the known user scenario. 
         [0156]    As an alternative to the printer  60  the print job may in step L be sent to the printer  60   1  via a secondary print server  52   I . In a further alternative the print job is sent in step L to wired printer  60   2  or wireless printer  60   3 , any of which may be connected to a secondary print server embodied by laptop computer  52   II  comprising wired and wireless interfaces for communication with the respective printers  60   2  and  60   3 . 
         [0157]    Although  FIG. 1  shows the user  2  as being positioned outside the local network  20 , i.e. outside the firewall  6 , the user may alternatively be located within the local network  20  or the user  2  may connect to the local network  20  directly, i.e. not through the firewall  6 . 
       LIST OF DARTS WITH REFERENCE TO THE FIGURES 
       [0000]    
       
           2 . User 
           4 . Wireless network 
           6 . firewall 
           10 . Local network 
           22 . Authentication server 
           30 . Processing server 
           32 . Authentication program routine 
           34 . Conversion program routine 
           36 . Rendering program routine 
           38 . Metadata modification program routine 
           40 . User credentials mapping database 
           42 . Guest management program routine 
           50 . Authenticated printing system 
           52 . Print server 
           54 . Authentication, tracking and accounting server 
           56 . API 
           60 . Printer