US9094637B2 - Print system, server apparatus and printer which are used in the print system, and control method of the print system - Google Patents

Print system, server apparatus and printer which are used in the print system, and control method of the print system Download PDF

Info

Publication number
US9094637B2
US9094637B2 US13/471,145 US201213471145A US9094637B2 US 9094637 B2 US9094637 B2 US 9094637B2 US 201213471145 A US201213471145 A US 201213471145A US 9094637 B2 US9094637 B2 US 9094637B2
Authority
US
United States
Prior art keywords
print
request
printer
server
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US13/471,145
Other versions
US20120314250A1 (en
Inventor
Yuki Ito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Assigned to CANON KABUSHIKI KAISHA reassignment CANON KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ITO, YUKI
Publication of US20120314250A1 publication Critical patent/US20120314250A1/en
Application granted granted Critical
Publication of US9094637B2 publication Critical patent/US9094637B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00222Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
    • H04N1/0023Image pull arrangements, e.g. to a multifunctional peripheral from a networked computer

Definitions

  • the present invention relates to a print system corresponding to a print service, a server apparatus and printer which are used in the print system, and a control method of the print system.
  • Such a system that a client apparatus (user apparatus) provided in the Intranet of a company is enabled to use various kinds of services provided on the Internet has been proposed.
  • a firewall is provided at a boundary between the Intranet and the Internet.
  • the firewall has been set in such a manner that although a connection from the Intranet side to the Internet side is permitted, a connection from the Internet side to the Intranet side is refused. Thus, an invasion from an apparatus on the Internet side into the Intranet is protected.
  • the client apparatus requests a server apparatus to obtain information and the server apparatus returns the information (pull communication).
  • a print system which is used in a company can be used through the Internet. Since the firewall exists, an offer of the print service to the client apparatus through the Internet is realized by the pull communication in which an image forming apparatus in the Intranet tries to obtain a print job existing in a print server on the Internet.
  • a print process which is realized by the pull communication is called a pull print process.
  • Japanese Patent Application Laid Open No. 2009-294920 discloses a remote printing system in which various kinds of information of a plurality of apparatuses connected through a network is collected while assuring a security from a server side. According to such a system, the user performs an authentication to a print server by a client computer and uploads a print job into the print server. An intervening apparatus in the Intranet periodically inquires of the print server on the Internet, and if the print job to a printer in the Intranet exists, the apparatus receives the print job and transfers to the printer.
  • the client computer transmits a pull printing request to the image forming apparatus in the Intranet.
  • the pull printing request includes a URL of the print job of the print server existing on the Internet.
  • the image forming apparatus which received the pull printing request obtains the print job to the print server and executes the print process in response to the obtained print job.
  • an authentication at the time when the image forming apparatus obtains the print job to the print server is made by using authentication information which has been set every image forming apparatus.
  • an authentication is an authentication of every image forming apparatus and the authentication of every user cannot be performed.
  • the present invention provides a print system including a server apparatus for providing a print service and a printer for printing a document.
  • the server apparatus comprises an instruction transmitting unit that transmits an instruction to a user apparatus, the instruction instructing the user apparatus to send to the printer a print request for pull printing including authorized information used for an authorizing process at the time of receiving the print service.
  • the printer comprises a receiving unit that receives the print request of the pull printing including the authorized information sent from the user apparatus according to the instruction transmitted by the instruction transmitting unit, and a request transmitting unit that transmits, in accordance with the print request for pull printing, the authorized information and a document obtaining request to the server apparatus.
  • the authorizing process is executed on the basis of the authorized information transmitted by the request transmitting unit without requesting a user to input authentication information. Based on authorization in the authorizing process, the server apparatus transmits a requested document to the printer in response to the document obtaining request transmitted by the request transmitting unit.
  • FIG. 1 is a diagram illustrating an example of a system construction according to the invention.
  • FIG. 2 is a diagram illustrating an example of a hardware construction of an image forming apparatus.
  • FIG. 3 is a diagram illustrating an example of a hardware construction of a client computer, a print server, and an authentication server.
  • FIGS. 4A and 4B are functional block diagrams of the image forming apparatus and the client computer.
  • FIGS. 5A and 5B are an example of functional block diagrams of the print server and the authentication server.
  • FIG. 6 is a diagram illustrating an example of a document list display screen.
  • FIG. 7 is a sequence diagram for describing a print process in the first and third embodiments.
  • FIGS. 8A , 8 B, 8 C and 8 D are diagrams illustrating an example of requests/responses which are transmitted and received in a print system.
  • FIG. 9 is a diagram illustrating an example of an HTTP header management table.
  • FIG. 10 is a flowchart for describing an operating process of the print server.
  • FIG. 11 is a flowchart for describing an operating process of the image forming apparatus.
  • FIG. 12 is a diagram illustrating an example of a print job obtaining request including an authentication token after query string of a request line of an HTTP.
  • FIG. 13 is a sequence diagram for describing a print process in the second embodiment.
  • FIGS. 14A and 14B are an example of a pull printing request and a failure response to the pull printing request.
  • FIG. 15 is a flowchart for describing an operating process of a print server in the second embodiment.
  • FIG. 16 is a flowchart for describing an operating process of an image forming apparatus in the second embodiment.
  • FIG. 1 is a diagram illustrating an example of a system construction according to the invention.
  • the print system illustrated in FIG. 1 has an image forming apparatus 101 , a client computer 102 , an authentication server 122 , and a print server 123 .
  • the client computer 102 and the authentication server 122 are provided in an Intranet 10 and can mutually communicate through a network 106 such as an LAN (Local Area Network) or the like.
  • the print server 123 and the authentication server 122 are connected to a network 121 such as an Internet or the like.
  • a firewall 105 is provided at a boundary between the network 121 and the Intranet.
  • Intranet 10 Although only one Intranet is illustrated in FIG. 1 , a plurality of Intranets having a construction similar to that of the Intranet 10 may exist. Similarly, the number of image forming apparatuses and the number of client computers are not limited to the numbers illustrated in FIG. 1 .
  • the image forming apparatus 101 has a function of obtaining a print job stored in the print server 123 from the print server 123 and printing.
  • the client computer 102 is a user apparatus by which the user instructs a desired image forming apparatus to print.
  • the print server 123 is a server apparatus in the embodiment and controls the whole print system.
  • the print server 123 executes various kinds of processes such as process according to a print request from the client computer 102 , management of the print job, and management of the image forming apparatus.
  • the print server 123 also has a function as a document management server for managing a document corresponding to each user.
  • the authentication server 122 executes an authenticating process or an authorizing process of the user who accesses the print server 123 . Therefore, the authentication server 122 manages token information which is used in the authenticating process or authorizing process of the user.
  • the server apparatus of the embodiment may be constructed by the print server 123 and the authentication server 122 .
  • a print processing method of the embodiment is realized by a function of each processing apparatus provided for the system illustrated in FIG. 1 .
  • a computer program of the embodiment is characterized in that a computer is allowed to execute the print processing method.
  • FIG. 2 is a diagram illustrating an example of a hardware construction of the image forming apparatus.
  • the image forming apparatus illustrated in FIG. 2 is, for example, a copying apparatus.
  • a CPU 201 provided for the image forming apparatus 101 integratedly controls accesses to various kinds of devices connected to a system bus 204 on the basis of a control program stored in a program ROM in a ROM 203 or stored in an external storage device 211 .
  • the CPU is an abbreviation of Central Processing Unit.
  • the ROM is an abbreviation of Read Only Memory.
  • the CPU 201 outputs an image signal serving as output information to a print unit (printer engine) 210 connected through a print interface 207 .
  • the CPU 201 controls an image signal which is input from a reading unit (scanner) 213 connected through a reading interface 212 .
  • the control program and the like which can be executed by the CPU 201 have previously been stored in the program ROM in the ROM 203 .
  • Font data (including outline font data) and the like which are used when the CPU 201 forms the foregoing output information have previously been stored in a font ROM in the ROM 203 .
  • Information and the like which are used in the client computer have previously been stored in a data ROM in the ROM 203 .
  • the CPU 201 executes a process for communicating with the client computer or image forming apparatus on the network through a LAN controller 206 .
  • a RAM 202 is a storing unit functioning mainly as a main memory, a work memory, or the like of the CPU 201 .
  • RAM is an abbreviation of Random Access Memory.
  • the RAM 202 is constructed in such a manner that a memory capacity can be expanded by an option RAM which is connected to an expansion port (not shown).
  • the RAM 202 is used, for example, as an output information development area, an environment data storage area, or the like.
  • An access of the external storage device 211 such as hard disk (HDD), IC card, or the like is controlled by a disk controller (DKC) 208 .
  • the hard disk is used as a job storage area for storing an application program, font data, form data, and the like, temporarily spooling the print job, and controlling the spooled job from an outside.
  • the HDD is used as an external storage device 211 and various kinds of logs such as job log, image log, and the like are stored in the hard disk.
  • the hard disk is also used as a BOX data storage area for holding image data read out by the scanner 213 and image data of a print job as BOX data.
  • the client computer 102 can refer to the BOX data held in the BOX data storage area through the network or can instruct the printing of the BOX data.
  • the number of external storage devices 211 is not limited to 1.
  • the external storage device 211 may be constructed in such a manner that a plurality of option font cards and a plurality of external memories in each of which a program for interpreting a printer control language of a different language system has been stored can be connected in addition to the built-in fonts.
  • An operation panel 205 inputs various kinds of information according to the operations of software keys by the user.
  • a non-volatile memory 209 stores various kinds of setting information which are set from the operation panel 205 .
  • various kinds of expanding apparatuses such as finisher for performing a staple and sorting functions, duplex printing apparatus for realizing a duplex printing function, and the like can be further attached as options to the image forming apparatus 101 .
  • the operations of those various kinds of expanding apparatuses are controlled by the CPU 201 .
  • FIG. 3 is a diagram illustrating an example of a hardware construction of the client computer, print server, and authentication server.
  • a CPU 301 controls various kinds of devices connected to a system bus 304 .
  • a BIOS and a boot program have been stored in a ROM 302 .
  • a RAM 303 is used as a main storage device of the CPU 301 .
  • a keyboard controller (KBC) 305 executes a process according to an information input from a pointing device (PD) 309 such as a mouse (registered trade mark) or the like or a keyboard (KB) 310 .
  • a display control unit (CRTC) 306 has a video memory therein. The CRTC 306 draws image data in the video memory in accordance with an instruction from the CPU 301 . The CRTC 306 outputs the image data drawn in the video memory to a CRT display apparatus 311 as a video signal in accordance with an instruction from the CPU 301 .
  • a disk controller (DKC) 307 accesses a hard disk (HDD) 312 or a floppy (registered trade mark) disk (FD) 311 .
  • a network interface card (NIC) 308 is connected to the network and makes information communication through the network.
  • An OS various kinds of application programs which operate on the OS, and the like are stored in the HDD 312 .
  • the CPU 301 reads out the OS from the HDD 312 , stores into the RAM 303 , and allows the apparatus to function as an information processing apparatus.
  • FIGS. 4A and 4B are an example of functional block diagrams of the image forming apparatus and the client computer.
  • FIG. 4A illustrates the functional block diagram of the image forming apparatus.
  • the image forming apparatus 101 has a print request receiving unit 401 , a print job obtaining unit 402 , a print processing unit 403 , an event notifying unit 404 , an HTTP header converting unit 405 , and an HTTP header management table 406 .
  • the print request receiving unit 401 receives (obtains) a print job forming request and a pull printing request from the client computer 102 .
  • the print request receiving unit 401 transmits the print job forming request to the print job obtaining unit.
  • the print request receiving unit 401 transmits address information (URL) of a print job included in the pull printing request to the print job obtaining unit 402 .
  • the URL includes an address and a path of the print server 123 in which the print job has been stored.
  • the print request receiving unit 401 interprets a format of the pull printing request, obtains HTTP expansion information included in the pull printing request, and stores into the HTTP header management table 406 serving as a storing unit.
  • the print request receiving unit 401 transmits the HTTP expansion information to the HTTP header converting unit 405 .
  • the HTTP header converting unit 405 mechanically converts the HTTP expansion information, forms an HTTP header which is used in an obtaining request of the print job, and transmits to the print job obtaining unit 402 .
  • the HTTP header converting unit 405 functions as an obtaining unit for obtaining token information which is described in the HTTP expansion information and is used for authentication or authorization of the user of the client computer 102 and the information showing the print data corresponding to the print request.
  • the HTTP header converting unit 405 describes the obtained token information and the information showing the print data into the HTTP header and transmits the HTTP header to the print job obtaining unit 402 .
  • the HTTP header converting unit 405 and the print job obtaining unit 402 are a print data obtaining requesting unit for allowing the token information included in the obtained print request of the pull printing to be included in the print data obtaining request and performing the print data obtaining request to the print server 123 .
  • a more detailed operating process of the HTTP header converting unit 405 will be described hereinafter with reference to FIG. 7 .
  • the HTTP expansion information is stored in the HTTP header management table 406 .
  • the print job obtaining unit 402 forms a print job obtaining request having the HTTP header received from the HTTP header converting unit 405 .
  • the print job obtaining unit 402 When the print request is received from the print request receiving unit 401 , the print job obtaining unit 402 forms a print job including JobID for identifying the print job.
  • the print job obtaining unit 402 transmits the print job obtaining request to the URL received from the print request receiving unit 401 . That is, the image forming apparatus 101 interprets a format of the pull printing request, obtains the token information, and performs a request (print data obtaining request) for obtaining the print data in which the token information is included in the HTTP header to the print server 123 through the network.
  • the print job obtaining unit 402 receives the print job as a response to the print job obtaining request and transmits to the print processing unit 403 .
  • the print job is transmitted from the print server 123 .
  • the print processing unit 403 analyzes the print job, develops into a bit map, and prints onto a sheet. That is, the print processing unit 403 functions as a print unit for performing a print output on the basis of the print data included in the print job.
  • the event notifying unit 404 notifies the print server 123 of a state of the print job such as a job end or the like.
  • FIG. 4B illustrates the functional block diagram of the client computer.
  • the client computer 102 has a Web browser unit 501 .
  • the Web browser unit 501 accesses the print server 123 and performs a login request and a print request to the print server 123 .
  • the Web browser unit 501 also functions as a pull printing requesting unit. That is, the Web browser unit 501 executes a Java (registered trade mark) Script (control command to the client computer described by a Script language) included in the response received from the print server 123 . As an operation peculiar to the embodiment, the Web browser unit 501 executes JavaScript of the response to the print request which is returned from the print server 123 , thereby forming the pull printing request and transmitting the formed pull printing request to the image forming apparatus 101 . That is, the client computer 102 forms the pull printing request in response to an instruction of the print server 123 . In other words, the print server 123 returns the response to the print request to the client computer 102 , thereby instructing the client computer 102 which made the print request so as to add the token information to the print request of the pull printing.
  • a Java registered trade mark
  • Script control command to the client computer described by a Script language
  • the pull printing request is the print request of the pull printing.
  • the Web browser unit 501 executes an expansion including the token information to the format of the pull printing request and forms the pull printing request. Specifically speaking, the Web browser unit 501 forms the pull printing request including the HTTP expansion information in which the token information that was made to correspond to the user has been described.
  • the token information is information which was made to correspond to the user of the client computer 102 and is used for the authentication or authorization of the user at the time when the client computer 102 receives a print service from the print server 123 .
  • the Web browser unit 501 transmits the formed token information to the image forming apparatus 101 .
  • FIGS. 5A and 5B are an example of functional block diagrams of the print server and the authentication server.
  • FIG. 5A illustrates the functional block diagram of the print server.
  • the print server 123 has a Web server unit 601 , a document managing unit 602 , a print control unit 603 , a request responding unit 604 , a print job obtaining request processing unit 605 , an event receiving unit 606 , and an authentication control unit 607 .
  • the Web server unit 601 provides a UI to the client computer 102 and receives a request formed/transmitted in accordance with the user operation on the UI from the client computer 102 .
  • the Web server unit 601 receives a login request from the client computer 102 .
  • the Web server unit 601 also functions as a print request receiving unit for receiving the print request of the print data from the client computer 102 .
  • the print request includes information for designating the image forming apparatus by which the user wants to execute the print process.
  • the Web server unit 601 receives a print job obtaining request from the image forming apparatus 101 and transmits to the print job obtaining request processing unit 605 .
  • the print job obtaining request is a request for allowing the image forming apparatus 101 to request the transmission of the print job including the print data to be subjected to the print process.
  • the image forming apparatus 101 receives the pull printing request to which the token information has been added from the client computer 102 , obtains the token information from the print request of the pull printing, and transmits the print data obtaining request including the token information to the print server.
  • the Web server unit 601 of the print server 123 functions as a data obtaining request receiving unit for receiving the print data obtaining request.
  • the Web server unit 601 executes a process according to the request received from the client computer 102 or the image forming apparatus 101 . For example, a case where the Web server unit 601 received a login request is presumed. The Web server unit 601 receives a result of the authenticating process of the user who performed the login request from the authentication control unit 607 , which will be described hereinafter. If the result of the authenticating process indicates that the authentication of the user is successful, the Web server unit 601 returns document information of the user which is managed by the document managing unit 602 to the client computer 102 .
  • the Web server unit 601 When the Web server unit 601 receives the print request from the client computer 102 , the Web server unit 601 transmits the print request to the print control unit 603 and the request responding unit 604 .
  • the print control unit 603 forms a print job corresponding to the image forming apparatus which is designated by the print request received from the Web server unit 601 and temporarily stores into the storing unit.
  • the authentication control unit 607 transmits a user name, a password, and an authentication token to the authentication server 122 . Specifically speaking, when the Web server unit 601 receives the login request from the client computer 102 , the authentication control unit 607 executes the following process.
  • the authentication control unit 607 transmits a user ID and a password of the user of the client computer 102 included in the login request to the authentication server 122 and performs an authenticating request of the user.
  • the authentication control unit 607 receives a result of the authenticating process of the user which was executed by the authentication server 122 in response to the authenticating request of the user from the authentication server 122 and transmits to the Web server unit 601 .
  • the authentication control unit 607 functions as a token obtaining unit for obtaining the token information. Specifically speaking, together with the result of the authenticating process of the user, the authentication control unit 607 receives the authentication token which was issued from the authentication server 122 and was made to correspond to the user.
  • the authentication control unit 607 obtains the authentication token from the HTTP header of the print job obtaining request, transmits the obtained authentication token to the authentication server 122 , and performs the authenticating request of the user. It is also possible to construct in such a manner that the authentication control unit 607 obtains an authorization token from the HTTP header of the print job obtaining request, transmits the obtained authorization token to the authentication server 122 , and performs an authorizing request of the user. A difference between the authentication token and the authorization token will now be described.
  • the authorization token is information which can receive all services without executing the authenticating process for inputting the authentication information such as user ID, password, and the like.
  • the authorization token is substantially the same as the authentication token with respect to a point that there is no need to execute the authenticating process for inputting the authentication information such as user ID, password, and the like
  • the authorization token is such information that services which can be received can be restricted by handling of the server which issues the authorization token.
  • those two kinds of information in which there is no need to execute the authenticating process for inputting the user ID, password, and the like are generally called token information or authorized information. That is, the token information is information which is issued by the print server 123 . When the print service is received from the print server 123 , the user is authenticated or authorized without inputting the user authentication information.
  • the token information is not limited to those two kinds of information.
  • the authentication control unit 607 receives a result of the authenticating/authorizing process of the user which was executed by the authentication server 122 on the basis of the authentication/authorization token from the authentication server 122 and transmits to the print job obtaining request processing unit 605 . That is, the authentication control unit 607 and the authentication server 122 are an authentication/authorization processing unit for obtaining the token information included in the HTTP header from the print data obtaining request and executing the authenticating process or the authorizing process of the user which was made to correspond to the token information on the basis of the token information.
  • the request responding unit 604 receives the print request from the Web server unit 601 .
  • the request responding unit 604 functions as a print request responding unit for returning a response to the print request to the client computer 102 through the network 121 .
  • the response to the print request includes JavaScript for allowing the client computer 102 to form/transmit the print job forming request and the pull printing request.
  • the authentication token corresponding to the user of the client computer 102 of a transmitting source of the print request is included in the HTTP expansion information.
  • JavaScript is a script for allowing the client computer 102 to execute such an expansion that the authentication token and the information showing the print data corresponding to the print request are included in the format of the print request of the pull printing.
  • the client computer 102 By executing JavaScript included in the response to the print request, the client computer 102 forms the pull printing request including the authentication token included in the HTTP expansion information and transmits to the image forming apparatus 101 through the network 106 .
  • the print job obtaining request processing unit 605 receives the print job obtaining request from the Web server unit 601 .
  • the print job obtaining request processing unit 605 functions as a print data transmitting unit for executing the following control process.
  • the print job obtaining request processing unit 605 does not transmit the print job to the image forming apparatus 101 .
  • the print job obtaining request processing unit 605 transmits the print job to the image forming apparatus 101 .
  • the print job obtaining request processing unit 605 obtains the print job which is designated by the print job obtaining request from the storing unit and transmits to the image forming apparatus 101 . That is, the print job obtaining request processing unit 605 functions as a print data transmitting unit for transmitting the print data corresponding to the print data obtaining request to the image forming apparatus 101 when the user is authenticated or authorized.
  • the event receiving unit 606 receives a notification of a state of the print job from the image forming apparatus 101 .
  • FIG. 5B illustrates a functional block diagram of the authentication server.
  • the authentication server 122 has an authentication service 701 .
  • the authentication service 701 is realized by a function of an application installed in the authentication server 122 .
  • the authentication service 701 holds the authentication information such as user ID, password, authentication token, and the like for accessing the print server 123 .
  • the print server 123 performs the authenticating request to the authentication service 701 .
  • the authentication service 701 collates the user ID and password included in the login request from the client computer 102 with the user ID and password held in the authentication service 701 . On the basis of a result of the collation, the authentication service 701 executes the authenticating (or authorizing) process of the user. When the authentication is successful, the authentication service 701 issues the authentication token which was made to correspond to (the user ID and password of) the authenticated user. The authentication service 701 transmits the issued authentication token to the print server 123 , client computer 102 , and image forming apparatus 101 in accordance with necessity.
  • the print server 123 When the print job obtaining request is received from the image forming apparatus 101 , the print server 123 performs the authenticating request to the authentication service 701 .
  • the authentication service 701 executes the authenticating (or authorizing) process of the user by collating the authentication token included in the HTTP header of the print job obtaining request with the authentication token held in the authentication service 701 .
  • the authentication service 701 transmits a result of the authenticating process of the user to the print server 123 .
  • the client computer 102 receives an input of the user and transmits the login request including the user name and password to the print server 123 .
  • the print server 123 performs the authenticating request including the received user name and password to the authentication server 122 .
  • the authentication server 122 collates the user name and password received from the print server 123 with the held user name and password.
  • the Web server unit 601 of the print server 123 transmits a Web page necessary to display a document list corresponding to the relevant user managed by the document managing unit 602 to the client computer 102 .
  • the Web browser unit 501 of the client computer 102 which received the Web page displays a document list display screen illustrated in FIG. 6 .
  • FIG. 6 is a diagram illustrating an example of the document list display screen.
  • a list of documents which can be accessed by the user who has logged-in is displayed on the document list display screen together with various kinds of information such as document name 801 , date 802 , the number of pages 803 , and size 804 .
  • the Web browser unit 501 of the client computer 102 transmits a request (print request) for requesting the printing of the document to the print server 123 .
  • the print request includes information for designating the image forming apparatus 101 which has previously been input by the user and executes the print process.
  • FIG. 7 is a sequence diagram for describing the print process in the first embodiment.
  • a program for the image forming apparatus 101 regarding the print process has been stored in the external storage device 211 ( FIG. 2 ). The program is read out therefrom, is stored into the RAM 202 , and is executed by the CPU 201 .
  • a program for each of the client computer 102 , print server 123 , and authentication server 122 regarding the print process has been stored in the HDD 312 ( FIG. 3 ) of each apparatus. Each program is read out of the HDD, is stored into the RAM 303 , and is executed by the CPU 301 .
  • FIGS. 8A to 8D are properly referred to in the description of the print process, a detailed description of FIGS. 8A to 8D will be made hereinafter.
  • the Web browser unit 501 of the client computer 102 transmits a print request of the document to the print server 123 (step S 901 ).
  • the print control unit 603 of the print server 123 forms the print job corresponding to the image forming apparatus 101 which is designated by the print request and temporarily stores into the storing unit.
  • the request responding unit 604 of the print server 123 transmits a response to the print request to the client computer 102 (step S 902 ).
  • the response to the print request includes JavaScript for allowing the client computer 102 to form/transmit a print job forming request and a pull printing request.
  • the response to the print request includes the authentication token corresponding to the user of the client computer 102 .
  • the response to the print request also includes a URL of the print job formed in step S 901 .
  • the Web browser unit 501 of the client computer 102 executes received JavaScript. Thus, for example, a print job forming request illustrated in FIG. 8A and a pull printing request illustrated in FIG. 8C are formed.
  • the Web browser unit 501 transmits the print job forming request to the image forming apparatus 101 (step S 903 ).
  • the print request receiving unit 401 of the image forming apparatus 101 receives the print job forming request.
  • the print job obtaining unit 402 receives JobID corresponding to the print job formed by the print server 123 in step S 901 .
  • the print job obtaining unit 402 transmits, for example, a response to the print job forming request illustrated in FIG. 8B to the client computer 102 (step S 904 ).
  • the response to the print job forming request includes the formed JobID.
  • the client computer 102 which received the response to the print job forming request makes the print job formed in step S 901 , that is, the print job corresponding to the URL included in the response to the print request in step S 902 correspond to JobID included in the response to the print job forming request.
  • the client computer 102 redirects the received response to the print job forming request and transmits to the print server 123 (step S 905 ).
  • the Web browser unit 501 of the client computer 102 transmits the pull printing request illustrated in FIG. 8C mentioned above to the image forming apparatus 101 (step S 906 ).
  • the pull printing request is a request for requesting the image forming apparatus 101 to perform a print job obtaining request to the print server 123 .
  • the print server 123 can notify the image forming apparatus 101 of the URL of the print job through the client computer 102 .
  • the pull printing request includes the HTTP expansion information.
  • the HTTP expansion information includes the authentication token corresponding to the user of the client computer 102 .
  • the authentication token is transmitted from the print server 123 to the image forming apparatus 101 through the client computer 102 .
  • a predetermined processing unit (for example, the print request receiving unit 401 ) of the image forming apparatus 101 transmits the response to the pull printing request to the client computer 102 (step S 907 ).
  • the Web browser unit 501 of the client computer 102 redirects the received pull printing request and transmits to the print server 123 (step S 908 ).
  • the print job obtaining unit 402 ( FIG. 4A ) of the image forming apparatus 101 extracts the URL of the print job included in the pull printing request (S 906 ).
  • the HTTP header converting unit 405 analyzes the HTTP expansion information of the pull printing request and forms an HTTP header of the print job obtaining request.
  • the HTTP header converting unit 405 stores the authentication token included in the HTTP expansion information into the HTTP header.
  • the print job obtaining unit 402 transmits the print job obtaining request having the request line including the extracted URL of the print job and the formed HTTP header to the print server 123 (step S 909 ). Thus, even if the print job obtaining request illustrated in FIG. 8D is transmitted to the print server 123 .
  • the authentication control unit 607 of the print server 123 extracts the authentication token from the HTTP header of the print job obtaining request received from the image forming apparatus 101 .
  • the authentication control unit 607 transmits the authentication token to the authentication server 122 and performs the authenticating request (step S 910 ).
  • the authentication server 122 collates the authentication token received from the authentication control unit 607 with the held authentication token, thereby executing the authenticating process of the user. If the authentication of the user is successful, the authentication server 122 transmits information (authentication permission information) showing the success in the authentication to the print server 123 (step S 911 ).
  • the print job obtaining request processing unit 605 of the print server 123 transmits the print job to the image forming apparatus 101 (step S 912 ).
  • the print job obtaining request processing unit 605 obtains the print data indicated by a document identifier of the print data included in the print job obtaining request, forms a print job including the print data, and transmits to the image forming apparatus 101 .
  • the image forming apparatus 101 obtains the print data including the print job.
  • the print job which is transmitted is a print job which was identified by the print server 123 on the basis of JobID included in the response to the print job forming request (S 905 ).
  • the print job obtaining unit 402 of the image forming apparatus 101 processes the print job received from the print server 123 and executes the printing (step S 913 ).
  • the event notifying unit 404 of the image forming apparatus 101 transmits a job end notification to the print server 123 (step S 914 ).
  • the job end notification is transmitted in order to allow the image forming apparatus 101 to notify the print server 123 that the print process was finished.
  • FIGS. 8A to 8D are diagrams illustrating an example of requests/responses which are transmitted and received in the print system.
  • FIG. 8A illustrates the example of the print job forming request which is transmitted to the image forming apparatus 101 by the client computer 102 .
  • a ⁇ CreatePrintJobRequest> tag 1001 indicates that the request is the print job forming request.
  • the user name of the user who operates the client computer 102 has been stored in a ⁇ JobOriginatingUserName> tag.
  • the image forming apparatus 101 which received the print job forming request in S 903 in FIG. 7 mentioned above makes the user corresponding to the user name included in the print job forming request correspond to JobID.
  • FIG. 8B is the example of a response to the print job forming request which is transmitted to the client computer 102 by the image forming apparatus 101 .
  • a ⁇ CreatePrintJobResponse> tag 1011 indicates that this request is a response to the print job forming request.
  • a ⁇ JobId> tag 1012 indicates jobID.
  • FIG. 8C illustrates the example of the pull printing request which is transmitted to the image forming apparatus 101 by the client computer 102 .
  • a ⁇ httpExtension> tag 1022 in FIG. 8C and tags which are under the domination of it correspond to items obtained by expanding the format of the WSD print. That is, since the print server 123 expanded the format, it is required that the image forming apparatus 101 is an apparatus which can interpret the expansion information.
  • a ⁇ AddDocumentRequest> tag 1021 indicates that the request is a pull printing request.
  • the ⁇ httpExtension> tag 1022 is an HTTP expansion information tag and the HTTP expansion information is stored.
  • a ⁇ Header> tag showing the expansion information regarding the HTTP header exists under the domination of the ⁇ httpExtension> tag 1022 .
  • ⁇ Name> tags 1023 and 1025 which are under the domination of the ⁇ Header> tag indicate information before the conversion of a field name of the HTTP header.
  • ⁇ Value> tags 1024 and 1026 indicate information before the conversion of a field value of the HTTP header.
  • the ⁇ Name> tag 1023 indicates that information stored in the ⁇ Value> tag 1024 is authentication information. Specifically speaking, the authentication token has been stored in the ⁇ Value> tag 1024 . An authorization token may be stored in the ⁇ Value> tag 1024 .
  • the ⁇ Name> tag 1025 indicates that information stored in the ⁇ Value> tag 1026 is identification information of the document. Specifically speaking, as information showing the print data corresponding to the print request which was performed to the print server 123 by the client computer 102 , a document identifier of the print data is stored in the ⁇ Value> tag 1026 .
  • a ⁇ DocumentUrl> tag 1027 indicates a URL for allowing the print server 123 to access a service providing unit for providing the print job which has temporarily been stored. The image forming apparatus 101 transmits the print job obtaining request to the URL.
  • FIG. 8D illustrates the example of the print job obtaining request which is transmitted to the print server 123 by the image forming apparatus 101 .
  • the image forming apparatus 101 designates GET as a method of the print job obtaining request and designates the URL stored in the ⁇ DocumentUrl> tag 1027 in FIG. 8C as a path (refer to reference numeral 1031 ). That is, a GET operation of an HTTP protocol has been set in the print job obtaining request.
  • the image forming apparatus 101 describes the authentication token designated in the tags 1023 and 1024 of the pull printing request illustrated in FIG. 8C into an HTTP header 1032 .
  • the image forming apparatus 101 describes the authentication token designated in the tags 1025 and 1026 of the pull printing request illustrated in FIG. 8C into an HTTP header 1033 .
  • FIG. 12 is a diagram illustrating an example of the format of the print job obtaining request in which the authentication token has been stored in the request line.
  • the print job obtaining request includes a request line 20 , a header 21 , and a body 22 .
  • GET is designated as a method and “PrintServer.ddd.co.jp” is designated as a path.
  • the authentication token is designated after query string “?”.
  • the authentication token is stored in the request line as illustrated in FIG. 12 .
  • the information showing the authentication token is transmitted up to an application level. Therefore, according to this format, the authentication at a level of a lower layer, that is, at a level of the Web server (print server) cannot be performed.
  • the authentication token into the HTTP header as shown in the embodiment, the user authentication at the level of the lower layer can be made.
  • FIG. 9 is a diagram illustrating an example of the HTTP header management table.
  • the HTTP header management table 406 is formed every user. That is, the image forming apparatus 101 specifies the user corresponding to JobID included in the pull printing request received in S 906 in FIG. 7 and forms the HTTP header management table corresponding to the user.
  • the HTTP header management table 406 has data items such as Name and Value. Information designated in the ⁇ Name> tag of the pull printing request illustrated in FIG. 8C is set into Name. When the print job obtaining request is transmitted, the image forming apparatus 101 uses a value of Name as a field name of the HTTP header. Information designated in the ⁇ Value> tag of the pull printing request illustrated in FIG. 8C is set into Value. When the print job obtaining request is transmitted, the image forming apparatus 101 uses a value of Value as a field value of the HTTP header.
  • FIG. 10 is a flowchart for describing an operating process of the print server.
  • a program of the print server 123 regarding the operating process which will be described with reference to FIG. 10 , has been stored in the HDD 312 of the print server 123 .
  • the program is read out of the HDD, is stored into the RAM 303 , and is executed by the CPU 301 .
  • the print server 123 receives the print request from the client computer 102 (step S 1201 ). Subsequently, the print server 123 obtains the authentication token from the authentication server 122 (step S 1202 ). The print server 123 forms an HTTP expansion information tag including the authentication token and the document identifier (step S 1203 ).
  • the print server 123 transmits a response to the print request including the HTTP expansion information tag to the client computer 102 (step S 1204 ).
  • the client computer 102 which received the response to the print request forms the pull printing request in which the authentication token and the document identifier in the HTTP expansion tag included in the response to the print request are included in the ⁇ httpExtension> tag 1022 .
  • the print server 123 receives the response to the print job forming request from the client computer 102 (step S 1205 ).
  • the print server 123 receives the response to the pull printing request from the client computer 102 (step S 1206 ).
  • FIG. 11 is a flowchart for describing the operating process of the image forming apparatus.
  • a program of the image forming apparatus 101 regarding the operating process, which will be described with reference to FIG. 10 has been stored in the HDD 211 of the image forming apparatus 101 .
  • the program is read out of the HDD, is stored into the RAM 202 , and is executed by the CPU 201 .
  • the image forming apparatus 101 receives a message from the client computer 102 and discriminates the message (step S 1301 ).
  • the image forming apparatus 101 transmits a response to the print job forming request to the client computer 102 (step S 1302 ).
  • the image forming apparatus 101 analyzes the pull printing request and discriminates whether or not the pull printing request includes the HTTP expansion information tag (step S 1303 ).
  • the image forming apparatus 101 If it is determined by the image forming apparatus 101 that the pull printing request includes the HTTP expansion information tag, the image forming apparatus 101 stores Name and Value serving as sources of the field name and the field value of the HTTP header into the HTTP header management table 406 (step S 1304 ). Thus, the authentication token and the document identifier of the print data corresponding to the print request are stored into the HTTP header management table 406 . The image forming apparatus 101 transmits a response to the pull printing request to the client computer 102 (step S 1305 ).
  • the image forming apparatus 101 forms an HTTP header of the print job obtaining request (step S 1306 ).
  • the image forming apparatus 101 transmits the print job obtaining request including the formed HTTP header to the print server 123 and obtains the print job (step S 1307 ).
  • the image forming apparatus 101 executes the print process (step S 1308 ).
  • the image forming apparatus 101 transmits the job end notification to the print server 123 (step S 1309 ).
  • step S 1303 if the image forming apparatus 101 determined that the pull printing request does not include the HTTP expansion information tag, the image forming apparatus 101 transmits the failure response to the pull printing request to the client computer 102 (step S 1310 )
  • the authentication in the execution of the pull printing, the authentication can be made every user. Specifically speaking, when the user of the client computer 102 inputs the user ID and password at the time of login, the authentication token corresponding to the user is issued. When the print request is performed to the print server 123 from the client computer 102 , the authentication token is transmitted to the image forming apparatus 101 through the print server 123 and the client computer 102 .
  • the image forming apparatus 101 which received the authentication token allows the authentication token to be included in the print request (print job obtaining request) of the pull printing and transmits to the print server 123 .
  • the print server 123 transmits the authentication token included in the print job obtaining request to the authentication server 122 and performs the authenticating request. That is, if the user inputs the user ID and password at the time of login, when receiving the offer of the print service from the print server 123 , the user can receive the authentication without inputting the user ID and password again. Therefore, according to the print system of the embodiment, even in the case where an authenticating method which is used in the pull printing was changed, it is sufficient to change the software of the print server 123 . There is no need to change the software of the image forming apparatus 101 .
  • the print server 123 allows the document identifier to be included into the HTTP expansion information tag 1022 and transmits the pull printing request.
  • the image forming apparatus 101 transmits the print job obtaining request in which the document identifier is included in the HTTP header. Since the print job which is obtained by the print job obtaining request can be individually designated by the document identifier, the URL of the print job obtaining request can be always made identical.
  • FIG. 13 is a sequence diagram for describing a print process in the second embodiment.
  • the image forming apparatus 101 holds the authentication token for a predetermined time. Only when the image forming apparatus 101 does not hold the authentication token, the print server 123 transmits the pull printing request including the authentication token.
  • the print server 123 since it is not always necessary that the print server 123 transmits the authentication token every time, the number of times of flowing of the authentication token onto the network can be reduced. Thus, the number of times of wiretapping of the authentication token can be reduced.
  • a description of the second embodiment regarding the same portions as those in the first embodiment is omitted and only different portions will be described hereinbelow.
  • FIG. 13 is the sequence diagram for describing the print process in the second embodiment.
  • processes up to step S 905 are similar to the print process in the first embodiment described with reference to FIG. 7 , their description is omitted here.
  • the Web browser unit 501 of the client computer 102 transmits the pull printing request to the image forming apparatus 101 .
  • FIG. 14A is an example of the pull printing request which is transmitted in S 1401 .
  • a ⁇ AddDocumentRequest> tag 1501 indicates that this request is the pull printing request.
  • a ⁇ httpExtension> tag 1502 is an HTTP expansion information tag and the HTTP expansion information is stored therein. Although the HTTP expansion information is included in the pull printing request illustrated in FIG. 14A , the authentication token is not included. Although the image forming apparatus 101 analyzes the HTTP expansion information of the pull printing request, the authentication token is not included in the pull printing request.
  • the image forming apparatus 101 which confirmed that the authentication/authorization token is not included in the pull printing request specifies the user corresponding to JobID included in the pull printing request and refers to the HTTP header management table 406 corresponding to the user.
  • the image forming apparatus 101 confirms whether or not the authentication token corresponding to the user has been stored in the HTTP header management table 406 . If the authentication token is not stored, the image forming apparatus 101 transmits the failure response to the pull printing request to the client computer 102 in step S 1402 in FIG. 13 .
  • FIG. 14B is an example of the failure response to the pull printing request which is transmitted in step S 1402 in FIG. 13 .
  • a ⁇ Fault> tag 1511 indicates that this response is the failure response to the pull printing request.
  • the failure response to the pull printing request has a format of SoapFault.
  • the failure response to the pull printing request can be set into an arbitrary format in which the client computer 102 can confirm that it failed in the pull printing request because there is no authentication token in the pull printing request.
  • a ⁇ Subcode> tag 1512 indicates a failure subcode.
  • a ⁇ Reason> tag 1513 indicates a reason of the failure. It is sufficient that the failure response to the pull printing request includes either the tag 1512 or the tag 1513 .
  • a character string described in the tag 1512 or the tag 1513 can be set to an arbitrary character string by which such a fact that the pull printing request has failed because there is no authentication token in the pull printing request can be recognized.
  • the foregoing failure response to the pull printing request functions as a request for requesting the client computer 102 to transmit the authentication token.
  • the client computer 102 receives the failure response to the pull printing request and transmits an authentication token obtaining request to the print server 123 (step S 1403 ).
  • the authentication token obtaining request is a request for requesting the obtainment of the authentication token.
  • the request responding unit 604 of the print server 123 transmits the authentication token corresponding to the user of the client computer 102 to the client computer 102 (step S 1404 ).
  • the client computer 102 receives the authentication token transmitted from the print server 123 in step S 1404 .
  • the client computer 102 forms the pull printing request in which the received authentication token is held in the HTTP expansion information and transmits the formed pull printing request to the image forming apparatus 101 again (step S 1405 ).
  • step S 907 and subsequent steps are similar to the processes described with reference to FIG. 7 , their description is omitted here.
  • the authentication token is not included in the pull printing request of the first time.
  • the image forming apparatus 101 does not hold the authentication token at the time of transmission of the pull printing request of the first time, the authentication token may be certainly included in the pull printing request of the first time.
  • FIG. 15 is a flowchart for describing an operating process of the print server in the second embodiment.
  • a program for the print server 123 regarding the operating process has been stored in the HDD 312 of the print server 123 .
  • the program is read out of the HDD, is stored into the RAM 303 , and is executed by the CPU 301 .
  • the print server 123 receives the print request from the client computer 102 (step S 1601 ). Subsequently, the print server 123 forms the HTTP expansion information tag which does not include the authentication token (step S 1602 ).
  • the print server 123 transmits a response to the print request including the HTTP expansion information tag to the client computer 102 (step S 1603 ). Subsequently, the print server 123 receives a response to the print job forming request from the client computer 102 . The apparatus waits until the print server 123 receives the response to the pull printing request.
  • the print server 123 discriminates whether or not the pull printing request is successful (step S 1605 ). If the print server 123 receives the response to the pull printing request, the print server 123 determines that the pull printing request was successful. If the print server 123 does not receive the response to the pull printing request, the print server 123 determines that the pull printing request failed.
  • step S 1606 the processing routine determines that the pull printing request was successful. If the print server 123 determines that the pull printing request was successful, the processing routine is finished. If the print server 123 determines that the pull printing request failed, the processing routine advances to step S 1606 .
  • step S 1606 the print server 123 receives the authentication token obtaining request from the client computer 102 (step S 1606 ). Subsequently, the print server 123 obtains the authentication token from the authentication server 122 and transmits the obtained authentication token to the client computer 102 (step S 1607 ). The print server 123 receives the response to the pull printing request from the client computer 102 (step S 1608 ).
  • FIG. 16 is a flowchart for describing an operating process of the image forming apparatus in the second embodiment.
  • a program for the image forming apparatus 101 regarding the operating process has been stored in the HDD 211 of the image forming apparatus 101 .
  • the program is read out of the HDD, is stored into the RAM 202 , and is executed by the CPU 201 .
  • Processes in steps S 1701 to S 1703 in FIG. 16 are similar to those in steps S 1301 to S 1303 in FIG. 11 .
  • Processes in steps S 1706 to S 1710 in FIG. 16 are similar to those in steps S 1305 to S 1309 in FIG. 11 .
  • step S 1704 determines whether or not the authentication token is included in the HTTP expansion information tag (step S 1704 ). If the print request receiving unit 401 determines that the authentication token is included in the HTTP expansion information tag, step S 1705 follows.
  • the print request receiving unit 401 stores Name and Value serving as sources of the field name and the field value of the HTTP header into the HTTP header management table 406 for a predetermined period of time (step S 1705 ). Thus, the authentication token and the document identifier of the print data corresponding to the print request are stored into the HTTP header management table 406 .
  • step S 1711 determines whether the authentication token is not included in the HTTP expansion information tag (NO in S 1704 ). If the print request receiving unit 401 determines that the authentication token is not included in the HTTP expansion information tag (NO in S 1704 ), step S 1711 follows. In step S 1711 , by referring to the HTTP header management table 406 , the HTTP header converting unit 405 discriminates whether or not the authentication token has been stored in the HTTP header management table 406 . If the HTTP header converting unit 405 determines that the authentication token has been stored, step S 1706 follows. If the HTTP header converting unit 405 determines that the authentication token is not stored, step S 1712 follows. The print request receiving unit 401 transmits the failure response to the pull printing request to the client computer 102 (step S 1712 ).
  • the image forming apparatus 101 discriminates whether or not the authentication token has been described in the HTTP expansion information tag included in the pull printing request (YES in S 1703 in FIG. 16 , S 1704 ). If the authentication token is not described in the HTTP expansion information tag (NO in S 1704 ) and the authentication token has been stored in the HTTP header management table 406 (YES in S 1711 ), the image forming apparatus 101 transmits the response to the pull printing request (S 1706 ). Therefore, according to the print system of the embodiment, it is not always necessary that the print server 123 transmits the authentication token every time. Even if the image forming apparatus 101 deleted the authentication token or the like, the authentication token can be obtained by requesting the authentication token to the print server 123 .
  • the print server 123 forms the pull printing request including the token information and transmits JavaScript to the client computer 102 as a response to the print request.
  • the pull printing request including the token information is included in JavaScript.
  • the client computer 102 transmits the pull printing request to the image forming apparatus 101 .
  • the Web browser unit 501 transmits the pull printing request including the token information to the image forming apparatus 101 by executing JavaScript received from the print server 123 .
  • the print server 123 forms the pull printing request including the HTTP expansion information in which the token information which was made to correspond to the user has been described.
  • the Web browser unit 501 executes JavaScript of the response to the print request which is returned from the print server 123 , thereby transmitting the pull printing request formed by the print server 123 to the image forming apparatus 101 .
  • the print server 123 forms the print request of the pull printing including the token information and returns the response to the print request to the client computer 102 , thereby instructing the image forming apparatus 101 to transmit the pull printing request from the client computer 102 .
  • the request responding unit 604 of the print server 123 receives the print request from the Web server unit 601 .
  • the request responding unit 604 functions as a print request responding unit for returning the response to the print request to the client computer 102 through the network 121 .
  • the response to the print request includes JavaScript for allowing the client computer 102 to transmit the print job forming request and the pull printing request.
  • the authentication token corresponding to the user of the client computer 102 of the transmitting source of the print request and the information showing the print data corresponding to the print request are included in the HTTP expansion information.
  • JavaScript is a script for allowing the client computer 102 to transmit the pull printing request.
  • the client computer 102 executes JavaScript included in the response to the print request, thereby transmitting the pull printing request including the authentication token as its HTTP expansion information to the image forming apparatus 101 through the network 106 .
  • FIG. 7 is a sequence diagram for describing the print process in the third embodiment.
  • the Web browser unit 501 of the client computer 102 transmits the print request of the document to the print server 123 (step S 901 ).
  • the print control unit 603 of the print server 123 forms the print job corresponding to the image forming apparatus 101 which is designated by the print request and temporarily stores into the storing unit.
  • the request responding unit 604 of the print server 123 transmits a response to the print request to the client computer 102 (step S 902 ).
  • the response to the print request includes JavaScript for allowing the client computer 102 to transmit the print job forming request and the pull printing request.
  • the response to the print request also includes the authentication token corresponding to the user of the client computer 102 .
  • the response to the print request also includes the URL of the print job formed in step S 901 .
  • the Web browser unit 501 of the client computer 102 executes received JavaScript.
  • the print job forming request illustrated in FIG. 8A and the pull printing request illustrated in FIG. 8C are transmitted.
  • the Web browser unit 501 transmits the print job forming request to the image forming apparatus 101 (step S 903 ).
  • the print request receiving unit 401 of the image forming apparatus 101 receives the print job forming request.
  • the print job obtaining unit 402 forms JobID corresponding to the print job formed by the print server 123 in step S 901 .
  • the print job obtaining unit 402 transmits, for example, the response to the print job forming request illustrated in FIG. 8B to the client computer 102 (step S 904 ).
  • the response to the print job forming request includes formed JobID mentioned above.
  • the client computer 102 which received the response to the print job forming request makes the print job formed in S 901 , that is, the print job corresponding to the URL included in the response to the print request in S 902 correspond to JobID included in the response to the print job forming request.
  • the client computer 102 redirects the received response to the print job forming request and transmits to the print server 123 (step S 905 ).
  • the Web browser unit 501 of the client computer 102 transmits the pull printing request illustrated in FIG. 8C mentioned above to the image forming apparatus 101 (step S 906 ).
  • the pull printing request is a request for requesting the image forming apparatus 101 to perform the print job obtaining request to the print server 123 .
  • the print server 123 can notify the image forming apparatus 101 of the URL of the print job through the client computer 102 .
  • the pull printing request includes the HTTP expansion information.
  • the HTTP expansion information includes the authentication token corresponding to the user of the client computer 102 .
  • the authentication token is transmitted from the print server 123 to the image forming apparatus 101 through the client computer 102 .
  • step S 907 and subsequent steps are similar to the processes described with reference to FIG. 7 , their description is omitted here.
  • aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s).
  • the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).

Abstract

A server apparatus comprises an instruction transmitting unit that transmits an instruction to a user apparatus, the instruction instructing the user apparatus to send to the printer a print request for pull printing including authorized information used for an authorizing process at the time of receiving the print service. A printer comprises a receiving unit that receives the print request for pull printing including the authorized information sent from the user apparatus according to the instruction, and a request transmitting unit that transmits, in accordance with the received print request for pull printing including the authorized information, the authorized information and a document obtaining request to the server apparatus.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a print system corresponding to a print service, a server apparatus and printer which are used in the print system, and a control method of the print system.
2. Description of the Related Art
Such a system that a client apparatus (user apparatus) provided in the Intranet of a company is enabled to use various kinds of services provided on the Internet has been proposed. In such a system, generally, a firewall is provided at a boundary between the Intranet and the Internet.
The firewall has been set in such a manner that although a connection from the Intranet side to the Internet side is permitted, a connection from the Internet side to the Intranet side is refused. Thus, an invasion from an apparatus on the Internet side into the Intranet is protected. In consideration of such a background, in a communication system using the Web in the related art, the client apparatus requests a server apparatus to obtain information and the server apparatus returns the information (pull communication).
In the related art, a print system which is used in a company can be used through the Internet. Since the firewall exists, an offer of the print service to the client apparatus through the Internet is realized by the pull communication in which an image forming apparatus in the Intranet tries to obtain a print job existing in a print server on the Internet. A print process which is realized by the pull communication is called a pull print process.
Japanese Patent Application Laid Open No. 2009-294920 discloses a remote printing system in which various kinds of information of a plurality of apparatuses connected through a network is collected while assuring a security from a server side. According to such a system, the user performs an authentication to a print server by a client computer and uploads a print job into the print server. An intervening apparatus in the Intranet periodically inquires of the print server on the Internet, and if the print job to a printer in the Intranet exists, the apparatus receives the print job and transfers to the printer.
In a system for executing the pull print process of WSD (Web Services on Devices), the following print process is executed. That is, the client computer transmits a pull printing request to the image forming apparatus in the Intranet. The pull printing request includes a URL of the print job of the print server existing on the Internet. The image forming apparatus which received the pull printing request obtains the print job to the print server and executes the print process in response to the obtained print job.
In the system for executing the pull print process in the related art, an authentication at the time when the image forming apparatus obtains the print job to the print server is made by using authentication information which has been set every image forming apparatus. However, such an authentication is an authentication of every image forming apparatus and the authentication of every user cannot be performed.
There is now considered a method whereby the client computer transmits token information for executing the authenticating (or authorizing) process of every user to the image forming apparatus, so that the image forming apparatus executes the authenticating process or authorizing process of every user when it obtains the print job to the print server. However, according to such a method, in the case where a kind of token information which is used in the print system is added or changed later, software of the image forming apparatus has to be changed.
It is an object of the invention to provide a print system for executing a pull print process, wherein an authenticating process of every user who receives a print service can be executed, and even in the case of changing token information which is used in the authenticating process, there is no need to change software of the image forming apparatus.
SUMMARY OF THE INVENTION
In order to achieve the object, the present invention provides a print system including a server apparatus for providing a print service and a printer for printing a document. The server apparatus comprises an instruction transmitting unit that transmits an instruction to a user apparatus, the instruction instructing the user apparatus to send to the printer a print request for pull printing including authorized information used for an authorizing process at the time of receiving the print service. The printer comprises a receiving unit that receives the print request of the pull printing including the authorized information sent from the user apparatus according to the instruction transmitted by the instruction transmitting unit, and a request transmitting unit that transmits, in accordance with the print request for pull printing, the authorized information and a document obtaining request to the server apparatus. The authorizing process is executed on the basis of the authorized information transmitted by the request transmitting unit without requesting a user to input authentication information. Based on authorization in the authorizing process, the server apparatus transmits a requested document to the printer in response to the document obtaining request transmitted by the request transmitting unit.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram illustrating an example of a system construction according to the invention.
FIG. 2 is a diagram illustrating an example of a hardware construction of an image forming apparatus.
FIG. 3 is a diagram illustrating an example of a hardware construction of a client computer, a print server, and an authentication server.
FIGS. 4A and 4B are functional block diagrams of the image forming apparatus and the client computer.
FIGS. 5A and 5B are an example of functional block diagrams of the print server and the authentication server.
FIG. 6 is a diagram illustrating an example of a document list display screen.
FIG. 7 is a sequence diagram for describing a print process in the first and third embodiments.
FIGS. 8A, 8B, 8C and 8D are diagrams illustrating an example of requests/responses which are transmitted and received in a print system.
FIG. 9 is a diagram illustrating an example of an HTTP header management table.
FIG. 10 is a flowchart for describing an operating process of the print server.
FIG. 11 is a flowchart for describing an operating process of the image forming apparatus.
FIG. 12 is a diagram illustrating an example of a print job obtaining request including an authentication token after query string of a request line of an HTTP.
FIG. 13 is a sequence diagram for describing a print process in the second embodiment.
FIGS. 14A and 14B are an example of a pull printing request and a failure response to the pull printing request.
FIG. 15 is a flowchart for describing an operating process of a print server in the second embodiment.
FIG. 16 is a flowchart for describing an operating process of an image forming apparatus in the second embodiment.
DESCRIPTION OF THE EMBODIMENTS
Exemplary embodiments of the invention will be described hereinbelow with reference to the drawings.
First Embodiment
FIG. 1 is a diagram illustrating an example of a system construction according to the invention. The print system illustrated in FIG. 1 has an image forming apparatus 101, a client computer 102, an authentication server 122, and a print server 123.
The client computer 102 and the authentication server 122 are provided in an Intranet 10 and can mutually communicate through a network 106 such as an LAN (Local Area Network) or the like. The print server 123 and the authentication server 122 are connected to a network 121 such as an Internet or the like. A firewall 105 is provided at a boundary between the network 121 and the Intranet.
Although only one Intranet is illustrated in FIG. 1, a plurality of Intranets having a construction similar to that of the Intranet 10 may exist. Similarly, the number of image forming apparatuses and the number of client computers are not limited to the numbers illustrated in FIG. 1.
The image forming apparatus 101 has a function of obtaining a print job stored in the print server 123 from the print server 123 and printing. The client computer 102 is a user apparatus by which the user instructs a desired image forming apparatus to print. The print server 123 is a server apparatus in the embodiment and controls the whole print system.
The print server 123 executes various kinds of processes such as process according to a print request from the client computer 102, management of the print job, and management of the image forming apparatus. The print server 123 also has a function as a document management server for managing a document corresponding to each user. The authentication server 122 executes an authenticating process or an authorizing process of the user who accesses the print server 123. Therefore, the authentication server 122 manages token information which is used in the authenticating process or authorizing process of the user. The server apparatus of the embodiment may be constructed by the print server 123 and the authentication server 122. A print processing method of the embodiment is realized by a function of each processing apparatus provided for the system illustrated in FIG. 1. A computer program of the embodiment is characterized in that a computer is allowed to execute the print processing method.
FIG. 2 is a diagram illustrating an example of a hardware construction of the image forming apparatus. The image forming apparatus illustrated in FIG. 2 is, for example, a copying apparatus. A CPU 201 provided for the image forming apparatus 101 integratedly controls accesses to various kinds of devices connected to a system bus 204 on the basis of a control program stored in a program ROM in a ROM 203 or stored in an external storage device 211. The CPU is an abbreviation of Central Processing Unit. The ROM is an abbreviation of Read Only Memory.
The CPU 201 outputs an image signal serving as output information to a print unit (printer engine) 210 connected through a print interface 207. The CPU 201 controls an image signal which is input from a reading unit (scanner) 213 connected through a reading interface 212.
The control program and the like which can be executed by the CPU 201 have previously been stored in the program ROM in the ROM 203. Font data (including outline font data) and the like which are used when the CPU 201 forms the foregoing output information have previously been stored in a font ROM in the ROM 203. Information and the like which are used in the client computer have previously been stored in a data ROM in the ROM 203. The CPU 201 executes a process for communicating with the client computer or image forming apparatus on the network through a LAN controller 206.
A RAM 202 is a storing unit functioning mainly as a main memory, a work memory, or the like of the CPU 201. RAM is an abbreviation of Random Access Memory. The RAM 202 is constructed in such a manner that a memory capacity can be expanded by an option RAM which is connected to an expansion port (not shown). The RAM 202 is used, for example, as an output information development area, an environment data storage area, or the like.
An access of the external storage device 211 such as hard disk (HDD), IC card, or the like is controlled by a disk controller (DKC) 208. The hard disk is used as a job storage area for storing an application program, font data, form data, and the like, temporarily spooling the print job, and controlling the spooled job from an outside. In the embodiment, it is assumed that the HDD is used as an external storage device 211 and various kinds of logs such as job log, image log, and the like are stored in the hard disk.
The hard disk is also used as a BOX data storage area for holding image data read out by the scanner 213 and image data of a print job as BOX data.
The client computer 102 can refer to the BOX data held in the BOX data storage area through the network or can instruct the printing of the BOX data. The number of external storage devices 211 is not limited to 1. The external storage device 211 may be constructed in such a manner that a plurality of option font cards and a plurality of external memories in each of which a program for interpreting a printer control language of a different language system has been stored can be connected in addition to the built-in fonts.
An operation panel 205 inputs various kinds of information according to the operations of software keys by the user. A non-volatile memory 209 stores various kinds of setting information which are set from the operation panel 205.
Although not shown, various kinds of expanding apparatuses such as finisher for performing a staple and sorting functions, duplex printing apparatus for realizing a duplex printing function, and the like can be further attached as options to the image forming apparatus 101. The operations of those various kinds of expanding apparatuses are controlled by the CPU 201.
FIG. 3 is a diagram illustrating an example of a hardware construction of the client computer, print server, and authentication server. A CPU 301 controls various kinds of devices connected to a system bus 304. A BIOS and a boot program have been stored in a ROM 302. A RAM 303 is used as a main storage device of the CPU 301.
A keyboard controller (KBC) 305 executes a process according to an information input from a pointing device (PD) 309 such as a mouse (registered trade mark) or the like or a keyboard (KB) 310. A display control unit (CRTC) 306 has a video memory therein. The CRTC 306 draws image data in the video memory in accordance with an instruction from the CPU 301. The CRTC 306 outputs the image data drawn in the video memory to a CRT display apparatus 311 as a video signal in accordance with an instruction from the CPU 301.
Although the CRT is illustrated in FIG. 3 as an example of the display apparatus, a kind of display apparatus is not limited. For example, the display apparatus may be a liquid crystal display apparatus or the like. A disk controller (DKC) 307 accesses a hard disk (HDD) 312 or a floppy (registered trade mark) disk (FD) 311. A network interface card (NIC) 308 is connected to the network and makes information communication through the network.
An OS, various kinds of application programs which operate on the OS, and the like are stored in the HDD 312. When a power source of the apparatus is turned on, in accordance with the boot program stored in the ROM 302, the CPU 301 reads out the OS from the HDD 312, stores into the RAM 303, and allows the apparatus to function as an information processing apparatus.
FIGS. 4A and 4B are an example of functional block diagrams of the image forming apparatus and the client computer. FIG. 4A illustrates the functional block diagram of the image forming apparatus. The image forming apparatus 101 has a print request receiving unit 401, a print job obtaining unit 402, a print processing unit 403, an event notifying unit 404, an HTTP header converting unit 405, and an HTTP header management table 406.
The print request receiving unit 401 receives (obtains) a print job forming request and a pull printing request from the client computer 102. The print request receiving unit 401 transmits the print job forming request to the print job obtaining unit. The print request receiving unit 401 transmits address information (URL) of a print job included in the pull printing request to the print job obtaining unit 402. The URL includes an address and a path of the print server 123 in which the print job has been stored.
The print request receiving unit 401 interprets a format of the pull printing request, obtains HTTP expansion information included in the pull printing request, and stores into the HTTP header management table 406 serving as a storing unit. The print request receiving unit 401 transmits the HTTP expansion information to the HTTP header converting unit 405.
The HTTP header converting unit 405 mechanically converts the HTTP expansion information, forms an HTTP header which is used in an obtaining request of the print job, and transmits to the print job obtaining unit 402. Specifically speaking, the HTTP header converting unit 405 functions as an obtaining unit for obtaining token information which is described in the HTTP expansion information and is used for authentication or authorization of the user of the client computer 102 and the information showing the print data corresponding to the print request. The HTTP header converting unit 405 describes the obtained token information and the information showing the print data into the HTTP header and transmits the HTTP header to the print job obtaining unit 402.
That is, the HTTP header converting unit 405 and the print job obtaining unit 402 are a print data obtaining requesting unit for allowing the token information included in the obtained print request of the pull printing to be included in the print data obtaining request and performing the print data obtaining request to the print server 123. A more detailed operating process of the HTTP header converting unit 405 will be described hereinafter with reference to FIG. 7.
The HTTP expansion information is stored in the HTTP header management table 406. The print job obtaining unit 402 forms a print job obtaining request having the HTTP header received from the HTTP header converting unit 405.
When the print request is received from the print request receiving unit 401, the print job obtaining unit 402 forms a print job including JobID for identifying the print job. The print job obtaining unit 402 transmits the print job obtaining request to the URL received from the print request receiving unit 401. That is, the image forming apparatus 101 interprets a format of the pull printing request, obtains the token information, and performs a request (print data obtaining request) for obtaining the print data in which the token information is included in the HTTP header to the print server 123 through the network.
The print job obtaining unit 402 receives the print job as a response to the print job obtaining request and transmits to the print processing unit 403. When the authentication or authorization is made based on the token information, the print job is transmitted from the print server 123. The print processing unit 403 analyzes the print job, develops into a bit map, and prints onto a sheet. That is, the print processing unit 403 functions as a print unit for performing a print output on the basis of the print data included in the print job. The event notifying unit 404 notifies the print server 123 of a state of the print job such as a job end or the like.
FIG. 4B illustrates the functional block diagram of the client computer. The client computer 102 has a Web browser unit 501. In accordance with the operation of the user of the client computer 102, the Web browser unit 501 accesses the print server 123 and performs a login request and a print request to the print server 123.
The Web browser unit 501 also functions as a pull printing requesting unit. That is, the Web browser unit 501 executes a Java (registered trade mark) Script (control command to the client computer described by a Script language) included in the response received from the print server 123. As an operation peculiar to the embodiment, the Web browser unit 501 executes JavaScript of the response to the print request which is returned from the print server 123, thereby forming the pull printing request and transmitting the formed pull printing request to the image forming apparatus 101. That is, the client computer 102 forms the pull printing request in response to an instruction of the print server 123. In other words, the print server 123 returns the response to the print request to the client computer 102, thereby instructing the client computer 102 which made the print request so as to add the token information to the print request of the pull printing.
The pull printing request is the print request of the pull printing. The Web browser unit 501 executes an expansion including the token information to the format of the pull printing request and forms the pull printing request. Specifically speaking, the Web browser unit 501 forms the pull printing request including the HTTP expansion information in which the token information that was made to correspond to the user has been described. The token information is information which was made to correspond to the user of the client computer 102 and is used for the authentication or authorization of the user at the time when the client computer 102 receives a print service from the print server 123. The Web browser unit 501 transmits the formed token information to the image forming apparatus 101.
In the embodiment, a case where the response returned from the print server 123 includes JavaScript will be described as an example. However, in the invention, a Script language other than JavaScript can be also applied.
FIGS. 5A and 5B are an example of functional block diagrams of the print server and the authentication server. FIG. 5A illustrates the functional block diagram of the print server. The print server 123 has a Web server unit 601, a document managing unit 602, a print control unit 603, a request responding unit 604, a print job obtaining request processing unit 605, an event receiving unit 606, and an authentication control unit 607.
The Web server unit 601 provides a UI to the client computer 102 and receives a request formed/transmitted in accordance with the user operation on the UI from the client computer 102. For example, the Web server unit 601 receives a login request from the client computer 102. The Web server unit 601 also functions as a print request receiving unit for receiving the print request of the print data from the client computer 102. The print request includes information for designating the image forming apparatus by which the user wants to execute the print process.
For example, the Web server unit 601 receives a print job obtaining request from the image forming apparatus 101 and transmits to the print job obtaining request processing unit 605. The print job obtaining request is a request for allowing the image forming apparatus 101 to request the transmission of the print job including the print data to be subjected to the print process. Specifically speaking, the image forming apparatus 101 receives the pull printing request to which the token information has been added from the client computer 102, obtains the token information from the print request of the pull printing, and transmits the print data obtaining request including the token information to the print server. The Web server unit 601 of the print server 123 functions as a data obtaining request receiving unit for receiving the print data obtaining request.
The Web server unit 601 executes a process according to the request received from the client computer 102 or the image forming apparatus 101. For example, a case where the Web server unit 601 received a login request is presumed. The Web server unit 601 receives a result of the authenticating process of the user who performed the login request from the authentication control unit 607, which will be described hereinafter. If the result of the authenticating process indicates that the authentication of the user is successful, the Web server unit 601 returns document information of the user which is managed by the document managing unit 602 to the client computer 102.
When the Web server unit 601 receives the print request from the client computer 102, the Web server unit 601 transmits the print request to the print control unit 603 and the request responding unit 604. The print control unit 603 forms a print job corresponding to the image forming apparatus which is designated by the print request received from the Web server unit 601 and temporarily stores into the storing unit.
The authentication control unit 607 transmits a user name, a password, and an authentication token to the authentication server 122. Specifically speaking, when the Web server unit 601 receives the login request from the client computer 102, the authentication control unit 607 executes the following process. The authentication control unit 607 transmits a user ID and a password of the user of the client computer 102 included in the login request to the authentication server 122 and performs an authenticating request of the user. The authentication control unit 607 receives a result of the authenticating process of the user which was executed by the authentication server 122 in response to the authenticating request of the user from the authentication server 122 and transmits to the Web server unit 601.
If the authentication server 122 succeeded in the authentication of the user, the authentication control unit 607 functions as a token obtaining unit for obtaining the token information. Specifically speaking, together with the result of the authenticating process of the user, the authentication control unit 607 receives the authentication token which was issued from the authentication server 122 and was made to correspond to the user.
When the Web server unit 601 receives the print job obtaining request from the image forming apparatus 101, the authentication control unit 607 obtains the authentication token from the HTTP header of the print job obtaining request, transmits the obtained authentication token to the authentication server 122, and performs the authenticating request of the user. It is also possible to construct in such a manner that the authentication control unit 607 obtains an authorization token from the HTTP header of the print job obtaining request, transmits the obtained authorization token to the authentication server 122, and performs an authorizing request of the user. A difference between the authentication token and the authorization token will now be described. The authorization token is information which can receive all services without executing the authenticating process for inputting the authentication information such as user ID, password, and the like. Although the authorization token is substantially the same as the authentication token with respect to a point that there is no need to execute the authenticating process for inputting the authentication information such as user ID, password, and the like, the authorization token is such information that services which can be received can be restricted by handling of the server which issues the authorization token. In the embodiment, those two kinds of information in which there is no need to execute the authenticating process for inputting the user ID, password, and the like are generally called token information or authorized information. That is, the token information is information which is issued by the print server 123. When the print service is received from the print server 123, the user is authenticated or authorized without inputting the user authentication information. The token information is not limited to those two kinds of information.
The authentication control unit 607 receives a result of the authenticating/authorizing process of the user which was executed by the authentication server 122 on the basis of the authentication/authorization token from the authentication server 122 and transmits to the print job obtaining request processing unit 605. That is, the authentication control unit 607 and the authentication server 122 are an authentication/authorization processing unit for obtaining the token information included in the HTTP header from the print data obtaining request and executing the authenticating process or the authorizing process of the user which was made to correspond to the token information on the basis of the token information.
The request responding unit 604 receives the print request from the Web server unit 601. The request responding unit 604 functions as a print request responding unit for returning a response to the print request to the client computer 102 through the network 121. The response to the print request includes JavaScript for allowing the client computer 102 to form/transmit the print job forming request and the pull printing request. In the response to the print request, the authentication token corresponding to the user of the client computer 102 of a transmitting source of the print request is included in the HTTP expansion information. JavaScript is a script for allowing the client computer 102 to execute such an expansion that the authentication token and the information showing the print data corresponding to the print request are included in the format of the print request of the pull printing.
By executing JavaScript included in the response to the print request, the client computer 102 forms the pull printing request including the authentication token included in the HTTP expansion information and transmits to the image forming apparatus 101 through the network 106.
The print job obtaining request processing unit 605 receives the print job obtaining request from the Web server unit 601. The print job obtaining request processing unit 605 functions as a print data transmitting unit for executing the following control process. When the result of the authenticating/authorizing process of the user which was received from the authentication control unit 607 indicates a failure of the authentication/authorization, the print job obtaining request processing unit 605 does not transmit the print job to the image forming apparatus 101. When the result of the authenticating/authorizing process of the user which was received from the authentication control unit 607 indicates a success of the authentication/authorization, the print job obtaining request processing unit 605 transmits the print job to the image forming apparatus 101. Specifically speaking, the print job obtaining request processing unit 605 obtains the print job which is designated by the print job obtaining request from the storing unit and transmits to the image forming apparatus 101. That is, the print job obtaining request processing unit 605 functions as a print data transmitting unit for transmitting the print data corresponding to the print data obtaining request to the image forming apparatus 101 when the user is authenticated or authorized. The event receiving unit 606 receives a notification of a state of the print job from the image forming apparatus 101.
FIG. 5B illustrates a functional block diagram of the authentication server. The authentication server 122 has an authentication service 701. The authentication service 701 is realized by a function of an application installed in the authentication server 122. The authentication service 701 holds the authentication information such as user ID, password, authentication token, and the like for accessing the print server 123. When the login request is received from the client computer 102, the print server 123 performs the authenticating request to the authentication service 701.
The authentication service 701 collates the user ID and password included in the login request from the client computer 102 with the user ID and password held in the authentication service 701. On the basis of a result of the collation, the authentication service 701 executes the authenticating (or authorizing) process of the user. When the authentication is successful, the authentication service 701 issues the authentication token which was made to correspond to (the user ID and password of) the authenticated user. The authentication service 701 transmits the issued authentication token to the print server 123, client computer 102, and image forming apparatus 101 in accordance with necessity.
When the print job obtaining request is received from the image forming apparatus 101, the print server 123 performs the authenticating request to the authentication service 701. In accordance with the authenticating request, the authentication service 701 executes the authenticating (or authorizing) process of the user by collating the authentication token included in the HTTP header of the print job obtaining request with the authentication token held in the authentication service 701. The authentication service 701 transmits a result of the authenticating process of the user to the print server 123.
Subsequently, a flow of the print process in the print system of the embodiment will be described. The client computer 102 receives an input of the user and transmits the login request including the user name and password to the print server 123. The print server 123 performs the authenticating request including the received user name and password to the authentication server 122.
The authentication server 122 collates the user name and password received from the print server 123 with the held user name and password. When the authentication of the user is successful, the Web server unit 601 of the print server 123 transmits a Web page necessary to display a document list corresponding to the relevant user managed by the document managing unit 602 to the client computer 102. The Web browser unit 501 of the client computer 102 which received the Web page displays a document list display screen illustrated in FIG. 6.
FIG. 6 is a diagram illustrating an example of the document list display screen. A list of documents which can be accessed by the user who has logged-in is displayed on the document list display screen together with various kinds of information such as document name 801, date 802, the number of pages 803, and size 804. When the user checks a check box 805 of a desired document on the document list display screen and depresses a print button 806, the Web browser unit 501 of the client computer 102 transmits a request (print request) for requesting the printing of the document to the print server 123. The print request includes information for designating the image forming apparatus 101 which has previously been input by the user and executes the print process.
FIG. 7 is a sequence diagram for describing the print process in the first embodiment. A program for the image forming apparatus 101 regarding the print process has been stored in the external storage device 211 (FIG. 2). The program is read out therefrom, is stored into the RAM 202, and is executed by the CPU 201. A program for each of the client computer 102, print server 123, and authentication server 122 regarding the print process has been stored in the HDD 312 (FIG. 3) of each apparatus. Each program is read out of the HDD, is stored into the RAM 303, and is executed by the CPU 301. Although the requests/responses illustrated in FIGS. 8A to 8D are properly referred to in the description of the print process, a detailed description of FIGS. 8A to 8D will be made hereinafter.
The Web browser unit 501 of the client computer 102 transmits a print request of the document to the print server 123 (step S901). The print control unit 603 of the print server 123 forms the print job corresponding to the image forming apparatus 101 which is designated by the print request and temporarily stores into the storing unit.
Subsequently, the request responding unit 604 of the print server 123 transmits a response to the print request to the client computer 102 (step S902). The response to the print request includes JavaScript for allowing the client computer 102 to form/transmit a print job forming request and a pull printing request. The response to the print request includes the authentication token corresponding to the user of the client computer 102. The response to the print request also includes a URL of the print job formed in step S901.
The Web browser unit 501 of the client computer 102 executes received JavaScript. Thus, for example, a print job forming request illustrated in FIG. 8A and a pull printing request illustrated in FIG. 8C are formed. The Web browser unit 501 transmits the print job forming request to the image forming apparatus 101 (step S903).
Subsequently, the print request receiving unit 401 of the image forming apparatus 101 receives the print job forming request. The print job obtaining unit 402 receives JobID corresponding to the print job formed by the print server 123 in step S901. The print job obtaining unit 402 transmits, for example, a response to the print job forming request illustrated in FIG. 8B to the client computer 102 (step S904). The response to the print job forming request includes the formed JobID. The client computer 102 which received the response to the print job forming request makes the print job formed in step S901, that is, the print job corresponding to the URL included in the response to the print request in step S902 correspond to JobID included in the response to the print job forming request.
Subsequently, the client computer 102 redirects the received response to the print job forming request and transmits to the print server 123 (step S905).
The Web browser unit 501 of the client computer 102 transmits the pull printing request illustrated in FIG. 8C mentioned above to the image forming apparatus 101 (step S906). The pull printing request is a request for requesting the image forming apparatus 101 to perform a print job obtaining request to the print server 123. By the transmission of the pull printing request, the print server 123 can notify the image forming apparatus 101 of the URL of the print job through the client computer 102.
The pull printing request includes the HTTP expansion information. As will be described hereinafter, the HTTP expansion information includes the authentication token corresponding to the user of the client computer 102. Thus, the authentication token is transmitted from the print server 123 to the image forming apparatus 101 through the client computer 102.
A predetermined processing unit (for example, the print request receiving unit 401) of the image forming apparatus 101 transmits the response to the pull printing request to the client computer 102 (step S907). The Web browser unit 501 of the client computer 102 redirects the received pull printing request and transmits to the print server 123 (step S908).
Subsequently, the print job obtaining unit 402 (FIG. 4A) of the image forming apparatus 101 extracts the URL of the print job included in the pull printing request (S906). The HTTP header converting unit 405 analyzes the HTTP expansion information of the pull printing request and forms an HTTP header of the print job obtaining request. When the HTTP header is formed, the HTTP header converting unit 405 stores the authentication token included in the HTTP expansion information into the HTTP header. The print job obtaining unit 402 transmits the print job obtaining request having the request line including the extracted URL of the print job and the formed HTTP header to the print server 123 (step S909). Thus, even if the print job obtaining request illustrated in FIG. 8D is transmitted to the print server 123.
Subsequently, the authentication control unit 607 of the print server 123 extracts the authentication token from the HTTP header of the print job obtaining request received from the image forming apparatus 101. The authentication control unit 607 transmits the authentication token to the authentication server 122 and performs the authenticating request (step S910). Subsequently, the authentication server 122 collates the authentication token received from the authentication control unit 607 with the held authentication token, thereby executing the authenticating process of the user. If the authentication of the user is successful, the authentication server 122 transmits information (authentication permission information) showing the success in the authentication to the print server 123 (step S911).
Subsequently, the print job obtaining request processing unit 605 of the print server 123 transmits the print job to the image forming apparatus 101 (step S912). Specifically speaking, the print job obtaining request processing unit 605 obtains the print data indicated by a document identifier of the print data included in the print job obtaining request, forms a print job including the print data, and transmits to the image forming apparatus 101. Thus, the image forming apparatus 101 obtains the print data including the print job. The print job which is transmitted is a print job which was identified by the print server 123 on the basis of JobID included in the response to the print job forming request (S905).
Subsequently, the print job obtaining unit 402 of the image forming apparatus 101 processes the print job received from the print server 123 and executes the printing (step S913). When the printing is finished, the event notifying unit 404 of the image forming apparatus 101 transmits a job end notification to the print server 123 (step S914). The job end notification is transmitted in order to allow the image forming apparatus 101 to notify the print server 123 that the print process was finished.
FIGS. 8A to 8D are diagrams illustrating an example of requests/responses which are transmitted and received in the print system. FIG. 8A illustrates the example of the print job forming request which is transmitted to the image forming apparatus 101 by the client computer 102. A <CreatePrintJobRequest> tag 1001 indicates that the request is the print job forming request. The user name of the user who operates the client computer 102 has been stored in a <JobOriginatingUserName> tag. The image forming apparatus 101 which received the print job forming request in S903 in FIG. 7 mentioned above makes the user corresponding to the user name included in the print job forming request correspond to JobID.
FIG. 8B is the example of a response to the print job forming request which is transmitted to the client computer 102 by the image forming apparatus 101. A <CreatePrintJobResponse> tag 1011 indicates that this request is a response to the print job forming request. A <JobId> tag 1012 indicates jobID.
FIG. 8C illustrates the example of the pull printing request which is transmitted to the image forming apparatus 101 by the client computer 102. A <httpExtension> tag 1022 in FIG. 8C and tags which are under the domination of it correspond to items obtained by expanding the format of the WSD print. That is, since the print server 123 expanded the format, it is required that the image forming apparatus 101 is an apparatus which can interpret the expansion information.
A <AddDocumentRequest> tag 1021 indicates that the request is a pull printing request. The <httpExtension> tag 1022 is an HTTP expansion information tag and the HTTP expansion information is stored. A <Header> tag showing the expansion information regarding the HTTP header exists under the domination of the <httpExtension> tag 1022.
<Name> tags 1023 and 1025 which are under the domination of the <Header> tag indicate information before the conversion of a field name of the HTTP header. <Value> tags 1024 and 1026 indicate information before the conversion of a field value of the HTTP header.
The <Name> tag 1023 indicates that information stored in the <Value> tag 1024 is authentication information. Specifically speaking, the authentication token has been stored in the <Value> tag 1024. An authorization token may be stored in the <Value> tag 1024. The <Name> tag 1025 indicates that information stored in the <Value> tag 1026 is identification information of the document. Specifically speaking, as information showing the print data corresponding to the print request which was performed to the print server 123 by the client computer 102, a document identifier of the print data is stored in the <Value> tag 1026. A <DocumentUrl> tag 1027 indicates a URL for allowing the print server 123 to access a service providing unit for providing the print job which has temporarily been stored. The image forming apparatus 101 transmits the print job obtaining request to the URL.
FIG. 8D illustrates the example of the print job obtaining request which is transmitted to the print server 123 by the image forming apparatus 101. The image forming apparatus 101 designates GET as a method of the print job obtaining request and designates the URL stored in the <DocumentUrl> tag 1027 in FIG. 8C as a path (refer to reference numeral 1031). That is, a GET operation of an HTTP protocol has been set in the print job obtaining request.
The image forming apparatus 101 describes the authentication token designated in the tags 1023 and 1024 of the pull printing request illustrated in FIG. 8C into an HTTP header 1032. The image forming apparatus 101 describes the authentication token designated in the tags 1025 and 1026 of the pull printing request illustrated in FIG. 8C into an HTTP header 1033.
As a format of the print job obtaining request, besides the format illustrated in FIG. 8D, a format in which the authentication token is stored into the request line is considered. FIG. 12 is a diagram illustrating an example of the format of the print job obtaining request in which the authentication token has been stored in the request line. The print job obtaining request includes a request line 20, a header 21, and a body 22. In the request line 20, GET is designated as a method and “PrintServer.ddd.co.jp” is designated as a path. In this example, the authentication token is designated after query string “?”.
However, according to the format in which the authentication token is stored in the request line as illustrated in FIG. 12, the information showing the authentication token is transmitted up to an application level. Therefore, according to this format, the authentication at a level of a lower layer, that is, at a level of the Web server (print server) cannot be performed. By describing the authentication token into the HTTP header as shown in the embodiment, the user authentication at the level of the lower layer can be made.
FIG. 9 is a diagram illustrating an example of the HTTP header management table. The HTTP header management table 406 is formed every user. That is, the image forming apparatus 101 specifies the user corresponding to JobID included in the pull printing request received in S906 in FIG. 7 and forms the HTTP header management table corresponding to the user. The HTTP header management table 406 has data items such as Name and Value. Information designated in the <Name> tag of the pull printing request illustrated in FIG. 8C is set into Name. When the print job obtaining request is transmitted, the image forming apparatus 101 uses a value of Name as a field name of the HTTP header. Information designated in the <Value> tag of the pull printing request illustrated in FIG. 8C is set into Value. When the print job obtaining request is transmitted, the image forming apparatus 101 uses a value of Value as a field value of the HTTP header.
FIG. 10 is a flowchart for describing an operating process of the print server. A program of the print server 123 regarding the operating process, which will be described with reference to FIG. 10, has been stored in the HDD 312 of the print server 123. The program is read out of the HDD, is stored into the RAM 303, and is executed by the CPU 301.
The print server 123 receives the print request from the client computer 102 (step S1201). Subsequently, the print server 123 obtains the authentication token from the authentication server 122 (step S1202). The print server 123 forms an HTTP expansion information tag including the authentication token and the document identifier (step S1203).
Subsequently, the print server 123 transmits a response to the print request including the HTTP expansion information tag to the client computer 102 (step S1204). The client computer 102 which received the response to the print request forms the pull printing request in which the authentication token and the document identifier in the HTTP expansion tag included in the response to the print request are included in the <httpExtension> tag 1022. Subsequently, the print server 123 receives the response to the print job forming request from the client computer 102 (step S1205). The print server 123 receives the response to the pull printing request from the client computer 102 (step S1206).
FIG. 11 is a flowchart for describing the operating process of the image forming apparatus. A program of the image forming apparatus 101 regarding the operating process, which will be described with reference to FIG. 10, has been stored in the HDD 211 of the image forming apparatus 101. The program is read out of the HDD, is stored into the RAM 202, and is executed by the CPU 201.
The image forming apparatus 101 receives a message from the client computer 102 and discriminates the message (step S1301). When the message is the print job forming request, the image forming apparatus 101 transmits a response to the print job forming request to the client computer 102 (step S1302). When the message is the pull printing request, the image forming apparatus 101 analyzes the pull printing request and discriminates whether or not the pull printing request includes the HTTP expansion information tag (step S1303).
If it is determined by the image forming apparatus 101 that the pull printing request includes the HTTP expansion information tag, the image forming apparatus 101 stores Name and Value serving as sources of the field name and the field value of the HTTP header into the HTTP header management table 406 (step S1304). Thus, the authentication token and the document identifier of the print data corresponding to the print request are stored into the HTTP header management table 406. The image forming apparatus 101 transmits a response to the pull printing request to the client computer 102 (step S1305).
Subsequently, on the basis of Name and Value stored in the HTTP header management table 406 in step S1304, the image forming apparatus 101 forms an HTTP header of the print job obtaining request (step S1306). The image forming apparatus 101 transmits the print job obtaining request including the formed HTTP header to the print server 123 and obtains the print job (step S1307).
Subsequently, the image forming apparatus 101 executes the print process (step S1308). The image forming apparatus 101 transmits the job end notification to the print server 123 (step S1309).
In step S1303 mentioned above, if the image forming apparatus 101 determined that the pull printing request does not include the HTTP expansion information tag, the image forming apparatus 101 transmits the failure response to the pull printing request to the client computer 102 (step S1310)
According to the print system of the embodiment, in the execution of the pull printing, the authentication can be made every user. Specifically speaking, when the user of the client computer 102 inputs the user ID and password at the time of login, the authentication token corresponding to the user is issued. When the print request is performed to the print server 123 from the client computer 102, the authentication token is transmitted to the image forming apparatus 101 through the print server 123 and the client computer 102.
The image forming apparatus 101 which received the authentication token allows the authentication token to be included in the print request (print job obtaining request) of the pull printing and transmits to the print server 123. The print server 123 transmits the authentication token included in the print job obtaining request to the authentication server 122 and performs the authenticating request. That is, if the user inputs the user ID and password at the time of login, when receiving the offer of the print service from the print server 123, the user can receive the authentication without inputting the user ID and password again. Therefore, according to the print system of the embodiment, even in the case where an authenticating method which is used in the pull printing was changed, it is sufficient to change the software of the print server 123. There is no need to change the software of the image forming apparatus 101.
In the embodiment, the print server 123 allows the document identifier to be included into the HTTP expansion information tag 1022 and transmits the pull printing request. When the pull printing request is received, the image forming apparatus 101 transmits the print job obtaining request in which the document identifier is included in the HTTP header. Since the print job which is obtained by the print job obtaining request can be individually designated by the document identifier, the URL of the print job obtaining request can be always made identical.
Second Embodiment
FIG. 13 is a sequence diagram for describing a print process in the second embodiment. In this embodiment, the image forming apparatus 101 holds the authentication token for a predetermined time. Only when the image forming apparatus 101 does not hold the authentication token, the print server 123 transmits the pull printing request including the authentication token. According to the second embodiment, since it is not always necessary that the print server 123 transmits the authentication token every time, the number of times of flowing of the authentication token onto the network can be reduced. Thus, the number of times of wiretapping of the authentication token can be reduced. A description of the second embodiment regarding the same portions as those in the first embodiment is omitted and only different portions will be described hereinbelow.
FIG. 13 is the sequence diagram for describing the print process in the second embodiment. In the print process in this embodiment, processes up to step S905 are similar to the print process in the first embodiment described with reference to FIG. 7, their description is omitted here. In step S1401, the Web browser unit 501 of the client computer 102 transmits the pull printing request to the image forming apparatus 101.
FIG. 14A is an example of the pull printing request which is transmitted in S1401. A <AddDocumentRequest> tag 1501 indicates that this request is the pull printing request. A <httpExtension> tag 1502 is an HTTP expansion information tag and the HTTP expansion information is stored therein. Although the HTTP expansion information is included in the pull printing request illustrated in FIG. 14A, the authentication token is not included. Although the image forming apparatus 101 analyzes the HTTP expansion information of the pull printing request, the authentication token is not included in the pull printing request.
The image forming apparatus 101 which confirmed that the authentication/authorization token is not included in the pull printing request specifies the user corresponding to JobID included in the pull printing request and refers to the HTTP header management table 406 corresponding to the user. The image forming apparatus 101 confirms whether or not the authentication token corresponding to the user has been stored in the HTTP header management table 406. If the authentication token is not stored, the image forming apparatus 101 transmits the failure response to the pull printing request to the client computer 102 in step S1402 in FIG. 13.
FIG. 14B is an example of the failure response to the pull printing request which is transmitted in step S1402 in FIG. 13. A <Fault> tag 1511 indicates that this response is the failure response to the pull printing request. In this example, the failure response to the pull printing request has a format of SoapFault. The failure response to the pull printing request can be set into an arbitrary format in which the client computer 102 can confirm that it failed in the pull printing request because there is no authentication token in the pull printing request.
A <Subcode> tag 1512 indicates a failure subcode. A <Reason> tag 1513 indicates a reason of the failure. It is sufficient that the failure response to the pull printing request includes either the tag 1512 or the tag 1513. A character string described in the tag 1512 or the tag 1513 can be set to an arbitrary character string by which such a fact that the pull printing request has failed because there is no authentication token in the pull printing request can be recognized. The foregoing failure response to the pull printing request functions as a request for requesting the client computer 102 to transmit the authentication token.
Returning to FIG. 13, the client computer 102 receives the failure response to the pull printing request and transmits an authentication token obtaining request to the print server 123 (step S1403). The authentication token obtaining request is a request for requesting the obtainment of the authentication token. In response to the authentication token obtaining request received from the client computer 102, the request responding unit 604 of the print server 123 transmits the authentication token corresponding to the user of the client computer 102 to the client computer 102 (step S1404).
Subsequently, the client computer 102 receives the authentication token transmitted from the print server 123 in step S1404. The client computer 102 forms the pull printing request in which the received authentication token is held in the HTTP expansion information and transmits the formed pull printing request to the image forming apparatus 101 again (step S1405).
Since processes in step S907 and subsequent steps are similar to the processes described with reference to FIG. 7, their description is omitted here. In the second embodiment, the authentication token is not included in the pull printing request of the first time. However, since the image forming apparatus 101 does not hold the authentication token at the time of transmission of the pull printing request of the first time, the authentication token may be certainly included in the pull printing request of the first time.
FIG. 15 is a flowchart for describing an operating process of the print server in the second embodiment. A program for the print server 123 regarding the operating process has been stored in the HDD 312 of the print server 123. The program is read out of the HDD, is stored into the RAM 303, and is executed by the CPU 301.
The print server 123 receives the print request from the client computer 102 (step S1601). Subsequently, the print server 123 forms the HTTP expansion information tag which does not include the authentication token (step S1602).
Subsequently, the print server 123 transmits a response to the print request including the HTTP expansion information tag to the client computer 102 (step S1603). Subsequently, the print server 123 receives a response to the print job forming request from the client computer 102. The apparatus waits until the print server 123 receives the response to the pull printing request.
The print server 123 discriminates whether or not the pull printing request is successful (step S1605). If the print server 123 receives the response to the pull printing request, the print server 123 determines that the pull printing request was successful. If the print server 123 does not receive the response to the pull printing request, the print server 123 determines that the pull printing request failed.
If the print server 123 determines that the pull printing request was successful, the processing routine is finished. If the print server 123 determines that the pull printing request failed, the processing routine advances to step S1606.
In step S1606, the print server 123 receives the authentication token obtaining request from the client computer 102 (step S1606). Subsequently, the print server 123 obtains the authentication token from the authentication server 122 and transmits the obtained authentication token to the client computer 102 (step S1607). The print server 123 receives the response to the pull printing request from the client computer 102 (step S1608).
FIG. 16 is a flowchart for describing an operating process of the image forming apparatus in the second embodiment. A program for the image forming apparatus 101 regarding the operating process has been stored in the HDD 211 of the image forming apparatus 101. The program is read out of the HDD, is stored into the RAM 202, and is executed by the CPU 201.
Processes in steps S1701 to S1703 in FIG. 16 are similar to those in steps S1301 to S1303 in FIG. 11. Processes in steps S1706 to S1710 in FIG. 16 are similar to those in steps S1305 to S1309 in FIG. 11.
If the print request receiving unit 401 of the image forming apparatus 101 determines that the HTTP expansion information tag is included in the pull printing request (YES in S1703), step S1704 follows. The print request receiving unit 401 discriminates whether or not the authentication token is included in the HTTP expansion information tag (step S1704). If the print request receiving unit 401 determines that the authentication token is included in the HTTP expansion information tag, step S1705 follows. The print request receiving unit 401 stores Name and Value serving as sources of the field name and the field value of the HTTP header into the HTTP header management table 406 for a predetermined period of time (step S1705). Thus, the authentication token and the document identifier of the print data corresponding to the print request are stored into the HTTP header management table 406.
If the print request receiving unit 401 determines that the authentication token is not included in the HTTP expansion information tag (NO in S1704), step S1711 follows. In step S1711, by referring to the HTTP header management table 406, the HTTP header converting unit 405 discriminates whether or not the authentication token has been stored in the HTTP header management table 406. If the HTTP header converting unit 405 determines that the authentication token has been stored, step S1706 follows. If the HTTP header converting unit 405 determines that the authentication token is not stored, step S1712 follows. The print request receiving unit 401 transmits the failure response to the pull printing request to the client computer 102 (step S1712).
In the second embodiment, the image forming apparatus 101 discriminates whether or not the authentication token has been described in the HTTP expansion information tag included in the pull printing request (YES in S1703 in FIG. 16, S1704). If the authentication token is not described in the HTTP expansion information tag (NO in S1704) and the authentication token has been stored in the HTTP header management table 406 (YES in S1711), the image forming apparatus 101 transmits the response to the pull printing request (S1706). Therefore, according to the print system of the embodiment, it is not always necessary that the print server 123 transmits the authentication token every time. Even if the image forming apparatus 101 deleted the authentication token or the like, the authentication token can be obtained by requesting the authentication token to the print server 123.
Third Embodiment
In the third embodiment, the print server 123 forms the pull printing request including the token information and transmits JavaScript to the client computer 102 as a response to the print request. The pull printing request including the token information is included in JavaScript. By executing JavaScript, the client computer 102 transmits the pull printing request to the image forming apparatus 101. A description of the third embodiment regarding the same portions as those in the first embodiment is omitted and only different portions will be described hereinbelow.
The Web browser unit 501 transmits the pull printing request including the token information to the image forming apparatus 101 by executing JavaScript received from the print server 123. Specifically speaking, the print server 123 forms the pull printing request including the HTTP expansion information in which the token information which was made to correspond to the user has been described. As an operation which is peculiar to the embodiment, the Web browser unit 501 executes JavaScript of the response to the print request which is returned from the print server 123, thereby transmitting the pull printing request formed by the print server 123 to the image forming apparatus 101. In other words, the print server 123 forms the print request of the pull printing including the token information and returns the response to the print request to the client computer 102, thereby instructing the image forming apparatus 101 to transmit the pull printing request from the client computer 102.
The request responding unit 604 of the print server 123 receives the print request from the Web server unit 601. The request responding unit 604 functions as a print request responding unit for returning the response to the print request to the client computer 102 through the network 121. The response to the print request includes JavaScript for allowing the client computer 102 to transmit the print job forming request and the pull printing request. In the response to the print request, the authentication token corresponding to the user of the client computer 102 of the transmitting source of the print request and the information showing the print data corresponding to the print request are included in the HTTP expansion information. JavaScript is a script for allowing the client computer 102 to transmit the pull printing request. The client computer 102 executes JavaScript included in the response to the print request, thereby transmitting the pull printing request including the authentication token as its HTTP expansion information to the image forming apparatus 101 through the network 106.
FIG. 7 is a sequence diagram for describing the print process in the third embodiment.
The Web browser unit 501 of the client computer 102 transmits the print request of the document to the print server 123 (step S901). The print control unit 603 of the print server 123 forms the print job corresponding to the image forming apparatus 101 which is designated by the print request and temporarily stores into the storing unit.
Subsequently, the request responding unit 604 of the print server 123 transmits a response to the print request to the client computer 102 (step S902). The response to the print request includes JavaScript for allowing the client computer 102 to transmit the print job forming request and the pull printing request. The response to the print request also includes the authentication token corresponding to the user of the client computer 102. The response to the print request also includes the URL of the print job formed in step S901.
The Web browser unit 501 of the client computer 102 executes received JavaScript. Thus, for example, the print job forming request illustrated in FIG. 8A and the pull printing request illustrated in FIG. 8C are transmitted. The Web browser unit 501 transmits the print job forming request to the image forming apparatus 101 (step S903).
Subsequently, the print request receiving unit 401 of the image forming apparatus 101 receives the print job forming request. The print job obtaining unit 402 forms JobID corresponding to the print job formed by the print server 123 in step S901. The print job obtaining unit 402 transmits, for example, the response to the print job forming request illustrated in FIG. 8B to the client computer 102 (step S904). The response to the print job forming request includes formed JobID mentioned above. The client computer 102 which received the response to the print job forming request makes the print job formed in S901, that is, the print job corresponding to the URL included in the response to the print request in S902 correspond to JobID included in the response to the print job forming request.
Subsequently, the client computer 102 redirects the received response to the print job forming request and transmits to the print server 123 (step S905).
The Web browser unit 501 of the client computer 102 transmits the pull printing request illustrated in FIG. 8C mentioned above to the image forming apparatus 101 (step S906). The pull printing request is a request for requesting the image forming apparatus 101 to perform the print job obtaining request to the print server 123. By the transmission of the pull printing request, the print server 123 can notify the image forming apparatus 101 of the URL of the print job through the client computer 102.
The pull printing request includes the HTTP expansion information. The HTTP expansion information includes the authentication token corresponding to the user of the client computer 102. Thus, the authentication token is transmitted from the print server 123 to the image forming apparatus 101 through the client computer 102.
Since processes in step S907 and subsequent steps are similar to the processes described with reference to FIG. 7, their description is omitted here.
Other Embodiments
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2011-129251, filed Jun. 9, 2011, which is hereby incorporated by reference herein in its entirety.

Claims (7)

What is claimed is:
1. A print system comprising a server apparatus for providing a print service, a user apparatus and a printer for printing a document,
wherein the server apparatus comprises a command transmitting unit configured to transmit a command to the user apparatus, the command commanding the user apparatus to send to the printer a print request for pull printing including authorized information used for an authorizing process at the time of receiving the print service,
wherein the user apparatus comprises an instruction unit which instructs the print request for pull printing including the authorized information to the printer by receiving the command which is script format executable on a Web browser from the command transmitting unit of the server and executing the command on the Web browser,
wherein the printer comprises:
a request transmitting unit configured to transmit, in accordance with the instruction issued from the instruction unit of the user apparatus, the authorized information and a document obtaining request to the server apparatus, wherein, when the authorized information is not received with the instruction issued from the instruction unit, the printer transmits a failure response to the print request for pull printing to the user apparatus, and
wherein the server apparatus executes the authorizing process on the basis of the authorized information transmitted by the request transmitting unit of the printer without requesting a user to input authentication information, and wherein, based on authorization in the authorizing process, the server apparatus transmits a requested document to the printer in response to the document obtaining request transmitted by the request transmitting unit.
2. The system according to claim 1, wherein the print request for pull printing has a format in which a print request format for WSD (Web Service on Device) pull printing is expanded so as to include the authorized information.
3. A server apparatus for providing a print service, comprising:
a command transmitting unit configured to transmit a command to a user apparatus, the command commanding the user apparatus to send to a printer a print request for pull printing, including authorized information used for an authorizing process at the time of receiving the print service; and
a receiving unit configured to receive authorized information and a document obtaining request from the printer,
wherein the user apparatus comprises an instruction unit which instructs the print request for pull printing including authorized information to the printer by receiving the command which is script format executable on a Web browser from the command transmitting unit of the server apparatus and executing the command on the Web browser,
wherein the printer transmits, in accordance with the instruction issued from the instruction unit of the user apparatus, the authorized information and the document obtaining request to the server apparatus, wherein, when the authorized information is not received with the instruction issued by the instruction unit, the printer transmits a failure response to the print request for pull printing to the user apparatus, and
wherein the server apparatus executes the authorizing process on the basis of the authorized information transmitted from the printer without requesting a user to input authentication information, and wherein, based on authorization in the authorizing process, the server apparatus transmits a requested document to the printer in response to the document obtaining request transmitted from the printer.
4. A printer which can communicate with a server apparatus for providing a print service and a user apparatus, the printer comprising:
a request transmitting unit configured to transmit, in accordance with an instruction issued from the user apparatus, authorized information and a document obtaining request to the server apparatus, wherein the user apparatus instructs a print request for pull printing including the authorized information to the printer by receiving a command which is script format executable on a Web browser from the server apparatus and executing the command on the Web browser, the authorized information being used for an authorizing process at the time of receiving the print service; and
a print unit configured to print a document,
wherein, when the authorized information is not received with the instruction issued by the user apparatus, the printer transmits a failure response to the print request for pull printing to the user apparatus, and
wherein the server apparatus executes the authorizing process on the basis of the authorized information transmitted by the request transmitting unit without requesting a user to input authentication information, and wherein, based on authorization in the authorizing process, the server apparatus transmits the document to the printer in response to the document obtaining request transmitted by the request transmitting unit.
5. A method for controlling a print system comprising a server apparatus for providing a print service, a user apparatus and a printer for printing a document, the method comprising:
transmitting, from the server apparatus, a command to the user apparatus, the command commanding the user apparatus to send to the printer a print request for pull printing including authorized information used for an authorizing process at the time of receiving the print service;
receiving, at the user apparatus, the command which is script format executable on a Web browser, from the server apparatus;
instructing, at the user apparatus, the print request for pull printing including the authorized information to the printer by executing the command on the Web browser;
transmitting, from the printer, in accordance with the instruction issued from the user apparatus, the authorized information and a document obtaining request to the server apparatus, wherein, when the authorized information is not received with the instruction, the printer transmits a failure response to the print request for pull printing to the user apparatus, and wherein the server apparatus executes the authorizing process on the basis of the transmitted authorized information without requesting a user to input authentication information; and
transmitting, from the server apparatus, based on authorization in the authorizing process, a requested document to the printer in response to the transmitted document obtaining request.
6. A non-transitory computer-readable storage medium storing a computer-executable program for causing a computer to execute a method carried out in a printer which can communicate with a server apparatus for providing a print service and a user apparatus, the method comprising:
transmitting, in accordance with an instruction issued from the user apparatus, authorized information and a document obtaining request to the server apparatus; wherein the user apparatus instructs a print request for pull printing including the authorized information to the printer by receiving a command which is script format executable on a Web browser from the server apparatus and executing the command on the Web browser, the authorized information being used for an authorizing process at the time of receiving the print service; and
printing a document,
wherein, when the authorized information is not received with the instruction issued from the user apparatus, the printer transmits a failure response to the print request for pull printing to the user apparatus, and
wherein the server apparatus executes the authorizing process on the basis of the transmitted authorized information without requesting a user to input authentication information, and wherein, based on authorization in the authorizing process, the server apparatus transmits the document to the printer in response to the transmitted document obtaining request.
7. A non-transitory computer-readable storage medium storing a computer-executable program for causing a computer to execute the method according to claim 5.
US13/471,145 2011-06-09 2012-05-14 Print system, server apparatus and printer which are used in the print system, and control method of the print system Expired - Fee Related US9094637B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-129251 2011-06-09
JP2011129251A JP5888880B2 (en) 2011-06-09 2011-06-09 Printing system, server apparatus, image forming apparatus, and print processing method

Publications (2)

Publication Number Publication Date
US20120314250A1 US20120314250A1 (en) 2012-12-13
US9094637B2 true US9094637B2 (en) 2015-07-28

Family

ID=46201494

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/471,145 Expired - Fee Related US9094637B2 (en) 2011-06-09 2012-05-14 Print system, server apparatus and printer which are used in the print system, and control method of the print system

Country Status (5)

Country Link
US (1) US9094637B2 (en)
EP (1) EP2533514A3 (en)
JP (1) JP5888880B2 (en)
KR (1) KR101482303B1 (en)
CN (1) CN102880434B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120314251A1 (en) * 2011-06-09 2012-12-13 Canon Kabushiki Kaisha Image forming apparatus, information processing apparatus, control method thereof, and storage medium
US10346109B2 (en) * 2013-06-28 2019-07-09 Brother Kogyo Kabushiki Kaisha Terminal device and printer
USRE49386E1 (en) 2013-07-31 2023-01-24 Brother Kogyo Kabushiki Kaisha Terminal device and printer

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5885410B2 (en) * 2011-06-29 2016-03-15 キヤノン株式会社 Pull print system, print server, control method therefor, and program
JP5854667B2 (en) * 2011-06-30 2016-02-09 キヤノン株式会社 Job processing apparatus, control method and program for job processing apparatus
JP2013176915A (en) * 2012-02-28 2013-09-09 Sharp Corp Setting information storage device, and image processing device
JP6053364B2 (en) 2012-07-19 2016-12-27 キヤノン株式会社 Information processing system, server device, client device, and control method
JP6141041B2 (en) * 2013-02-15 2017-06-07 キヤノン株式会社 Information processing apparatus, program, and control method
JP6083266B2 (en) * 2013-03-11 2017-02-22 ブラザー工業株式会社 Information processing apparatus and network system
JP6089808B2 (en) 2013-03-11 2017-03-08 ブラザー工業株式会社 Information processing apparatus and network system
JP6176036B2 (en) 2013-09-30 2017-08-09 ブラザー工業株式会社 Program and communication system
US9229674B2 (en) 2014-01-31 2016-01-05 Ebay Inc. 3D printing: marketplace with federated access to printers
US9858016B2 (en) 2014-04-08 2018-01-02 Hewlett-Packard Development Company, L.P. Providing device functionality utilizing authorization tokens
JP2016048525A (en) * 2014-08-28 2016-04-07 株式会社リコー Output system, output device, program, and output method
JP6237576B2 (en) * 2014-11-08 2017-11-29 京セラドキュメントソリューションズ株式会社 Pull print system
US9595037B2 (en) 2014-12-16 2017-03-14 Ebay Inc. Digital rights and integrity management in three-dimensional (3D) printing
JP2016132114A (en) * 2015-01-16 2016-07-25 キヤノン株式会社 Image formation device, control method of the same, and program
JP6402668B2 (en) * 2015-03-30 2018-10-10 ブラザー工業株式会社 Multi-function machine
JP6409751B2 (en) * 2015-11-25 2018-10-24 京セラドキュメントソリューションズ株式会社 Image forming system, image forming apparatus, and image forming method
EP3182272A1 (en) * 2015-12-15 2017-06-21 Ricoh Company, Ltd. Service providing system, information processing method, nontransitory recording medium, and program
US10860261B2 (en) * 2016-08-23 2020-12-08 Airwatch Llc Network printer detection and authentication for managed device deployment
JP6966849B2 (en) * 2017-03-02 2021-11-17 キヤノン株式会社 Image forming equipment, methods, programs, and systems
WO2018199961A1 (en) * 2017-04-27 2018-11-01 Hewlett-Packard Development Company, L.P Controller for a fulfilment service operation
KR20190007957A (en) * 2017-07-14 2019-01-23 에이치피프린팅코리아 유한회사 Method and server of pull printing using pull printing server
JP6897400B2 (en) * 2017-07-31 2021-06-30 京セラドキュメントソリューションズ株式会社 Image forming device and image forming method
JP6447690B2 (en) * 2017-09-13 2019-01-09 ブラザー工業株式会社 Terminal device and printer
JP6551810B2 (en) * 2018-02-23 2019-07-31 ブラザー工業株式会社 Terminal device and printer
JP7413797B2 (en) * 2020-01-29 2024-01-16 ブラザー工業株式会社 Printing system, control program

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366329A (en) 2001-06-08 2002-12-20 Ricoh Co Ltd Print system, server used for the system, and print method
US20030098990A1 (en) 2001-11-28 2003-05-29 Fuji Xerox Co., Ltd. Printing system and print control method
JP2003208381A (en) 2001-04-20 2003-07-25 Nippon Telegr & Teleph Corp <Ntt> Token type contents presentation system, token type contents presentation method and portable user terminal
JP2004272673A (en) 2003-03-10 2004-09-30 Canon Inc Electronic coupon system
US20060170966A1 (en) 2005-01-31 2006-08-03 Ryutaro Watanabe Document management system, printing apparatus, and document management apparatus
JP2006285840A (en) 2005-04-04 2006-10-19 Canon Inc Document management system
US20070081186A1 (en) 2005-10-12 2007-04-12 Canon Kabushiki Kaisha Image forming apparatus and method for controlling image forming apparatus
CN101334714A (en) 2007-06-26 2008-12-31 佳能株式会社 Information processing apparatus and control method thereof, computer program, and information processing system
JP2009070240A (en) 2007-09-14 2009-04-02 Fuji Xerox Co Ltd System and method for obtaining document data from document management server
JP2009176286A (en) 2007-12-28 2009-08-06 Canon Marketing Japan Inc Print control system, information processor, print control method of print control system, processing method of information processor, and program
JP2009199253A (en) 2008-02-20 2009-09-03 Canon Inc Printing system, print method, and printer
US20090303547A1 (en) 2008-06-10 2009-12-10 Canon Kabushiki Kaisha Document management system and information processing method for the document management system
JP2009294920A (en) 2008-06-05 2009-12-17 Ricoh Co Ltd Remote printing system
US20110058208A1 (en) 2009-09-08 2011-03-10 Ricoh Company, Ltd. Print system in which a terminal uses a print device through the internet
JP2011048812A (en) 2009-07-31 2011-03-10 Ricoh Co Ltd System and apparatus for processing image, image forming apparatus, image processing method, program, and recording medium
US20110299130A1 (en) 2010-06-04 2011-12-08 Canon Kabushiki Kaisha Cloud computing system, document processing method, and storage medium
US20120162708A1 (en) 2010-12-24 2012-06-28 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium storing program
US8749821B2 (en) * 2010-10-28 2014-06-10 Hewlett-Packard Development Company, L.P. Printing system and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5119028B2 (en) * 2008-04-02 2013-01-16 京セラドキュメントソリューションズ株式会社 Image forming system, image forming apparatus, image forming program, and image forming method
JP5344575B2 (en) * 2009-02-17 2013-11-20 キヤノン株式会社 Image forming apparatus

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208381A (en) 2001-04-20 2003-07-25 Nippon Telegr & Teleph Corp <Ntt> Token type contents presentation system, token type contents presentation method and portable user terminal
JP2002366329A (en) 2001-06-08 2002-12-20 Ricoh Co Ltd Print system, server used for the system, and print method
US20030098990A1 (en) 2001-11-28 2003-05-29 Fuji Xerox Co., Ltd. Printing system and print control method
US7262872B2 (en) 2001-11-28 2007-08-28 Fuji Xerox Co., Ltd. Printing system and method for network containing printers with pull-printing and printers without pull-printing
JP2004272673A (en) 2003-03-10 2004-09-30 Canon Inc Electronic coupon system
US20060170966A1 (en) 2005-01-31 2006-08-03 Ryutaro Watanabe Document management system, printing apparatus, and document management apparatus
US8373876B2 (en) 2005-01-31 2013-02-12 Canon Kabushiki Kaisha Document management system and method for controlling a document print operation
JP2006285840A (en) 2005-04-04 2006-10-19 Canon Inc Document management system
US20070081186A1 (en) 2005-10-12 2007-04-12 Canon Kabushiki Kaisha Image forming apparatus and method for controlling image forming apparatus
US8351068B2 (en) 2007-06-26 2013-01-08 Canon Kabushiki Kaisha Information processing apparatus and control method thereof, computer program, and information processing system
CN101334714A (en) 2007-06-26 2008-12-31 佳能株式会社 Information processing apparatus and control method thereof, computer program, and information processing system
JP2009070240A (en) 2007-09-14 2009-04-02 Fuji Xerox Co Ltd System and method for obtaining document data from document management server
JP2009176286A (en) 2007-12-28 2009-08-06 Canon Marketing Japan Inc Print control system, information processor, print control method of print control system, processing method of information processor, and program
JP2009199253A (en) 2008-02-20 2009-09-03 Canon Inc Printing system, print method, and printer
JP2009294920A (en) 2008-06-05 2009-12-17 Ricoh Co Ltd Remote printing system
US20090303547A1 (en) 2008-06-10 2009-12-10 Canon Kabushiki Kaisha Document management system and information processing method for the document management system
JP2011048812A (en) 2009-07-31 2011-03-10 Ricoh Co Ltd System and apparatus for processing image, image forming apparatus, image processing method, program, and recording medium
US20110058208A1 (en) 2009-09-08 2011-03-10 Ricoh Company, Ltd. Print system in which a terminal uses a print device through the internet
US20110299130A1 (en) 2010-06-04 2011-12-08 Canon Kabushiki Kaisha Cloud computing system, document processing method, and storage medium
US8749821B2 (en) * 2010-10-28 2014-06-10 Hewlett-Packard Development Company, L.P. Printing system and method
US20120162708A1 (en) 2010-12-24 2012-06-28 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium storing program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Chinese Office Action dated Jan. 4, 2015 issued during prosecution of related Chinese application No. 201210192128.3. (Whole English-language translation included.).
Japanese Office Action dated Apr. 28, 2015 issued during prosecution of related Japanese application No. 2011-129251.
Korean Office Action dated May 9, 2014 issued during prosecution of related Korean application No. 10-2012-0059058.

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120314251A1 (en) * 2011-06-09 2012-12-13 Canon Kabushiki Kaisha Image forming apparatus, information processing apparatus, control method thereof, and storage medium
US9317231B2 (en) * 2011-06-09 2016-04-19 Canon Kabushiki Kaisha Image forming apparatus, information processing apparatus, control method thereof, and storage medium
US10346109B2 (en) * 2013-06-28 2019-07-09 Brother Kogyo Kabushiki Kaisha Terminal device and printer
US10620890B2 (en) * 2013-06-28 2020-04-14 Brother Kogyo Kabushiki Kaisha Terminal device and printer
USRE49386E1 (en) 2013-07-31 2023-01-24 Brother Kogyo Kabushiki Kaisha Terminal device and printer

Also Published As

Publication number Publication date
JP2012256225A (en) 2012-12-27
CN102880434A (en) 2013-01-16
CN102880434B (en) 2016-02-24
KR20120137461A (en) 2012-12-21
KR101482303B1 (en) 2015-01-13
EP2533514A3 (en) 2017-02-22
JP5888880B2 (en) 2016-03-22
EP2533514A2 (en) 2012-12-12
US20120314250A1 (en) 2012-12-13

Similar Documents

Publication Publication Date Title
US9094637B2 (en) Print system, server apparatus and printer which are used in the print system, and control method of the print system
JP6167890B2 (en) Printing system, information processing apparatus, print service system, and program
JP4810318B2 (en) Port monitor program, data processing method, information processing apparatus, and storage medium
US8264721B2 (en) Server apparatus, management system, and method
JP4711230B2 (en) Image forming apparatus and program
US7812984B2 (en) Remote stored print job retrieval
US20150002882A1 (en) Image forming apparatus, system, control method, and storage medium for printing received print data
KR20120033983A (en) Printing system, printing method, print server, control method, and computer-readable medium
US8607063B2 (en) Information processing system, image processing apparatus, information processing apparatus, control method therefor and computer-readable storage medium
US8270013B2 (en) Printing system, printing method, and computer program product
US20090323097A1 (en) Information processing apparatus, control method of image processing system and computer program thereof
JP6415209B2 (en) Printing apparatus, printing apparatus control method, and program
KR20130004155A (en) Job processing apparatus, control method, and computer readable storage medium
JP6464950B2 (en) Information processing system, information processing method, and program
JP7230617B2 (en) Printing system, information processing device and program
US9807259B2 (en) Method for providing service through solution server in security environment, and apparatus and system for performing the same
JP5151815B2 (en) Printing system, printing method, and print data transmission program
US20170244865A1 (en) Information processing system, image processing apparatus, information processing method, and recording medium
JP5286232B2 (en) Image forming system and user manager server device
JP4926154B2 (en) Network interface device, print control method, print control program, and image forming apparatus
JP4281802B2 (en) Image processing apparatus, image processing system, image processing apparatus cooperation method, and computer program
US8395799B2 (en) Printing system, output device, data management system, control method, and program
US11683439B2 (en) Image forming apparatus capable of achieving both convenience of user and defense against external threats, control method for image forming apparatus, and storage medium
JP2018139077A (en) Network system and communication method
US20230092279A1 (en) Printing system, print server, and printing control method

Legal Events

Date Code Title Description
AS Assignment

Owner name: CANON KABUSHIKI KAISHA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ITO, YUKI;REEL/FRAME:029009/0381

Effective date: 20120510

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

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

LAPS Lapse for failure to pay maintenance fees

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

STCH Information on status: patent discontinuation

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

FP Lapsed due to failure to pay maintenance fee

Effective date: 20190728