JP6337574B2 - 処理実行システム、中継サーバ、および、デバイス - Google Patents

処理実行システム、中継サーバ、および、デバイス Download PDF

Info

Publication number
JP6337574B2
JP6337574B2 JP2014073760A JP2014073760A JP6337574B2 JP 6337574 B2 JP6337574 B2 JP 6337574B2 JP 2014073760 A JP2014073760 A JP 2014073760A JP 2014073760 A JP2014073760 A JP 2014073760A JP 6337574 B2 JP6337574 B2 JP 6337574B2
Authority
JP
Japan
Prior art keywords
information
status
processing
execution
storage unit
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.)
Active
Application number
JP2014073760A
Other languages
English (en)
Other versions
JP2015198267A (ja
Inventor
健史 長▲崎▼
健史 長▲崎▼
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2014073760A priority Critical patent/JP6337574B2/ja
Priority to US14/645,502 priority patent/US9386170B2/en
Publication of JP2015198267A publication Critical patent/JP2015198267A/ja
Application granted granted Critical
Publication of JP6337574B2 publication Critical patent/JP6337574B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/00244Connection 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 with a server, e.g. an internet server
    • 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/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • 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/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • 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/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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/00228Image push arrangements, e.g. from an image reading device to a specific network destination
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32037Automation of particular transmitter jobs, e.g. multi-address calling, auto-dialing
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • H04N1/32566Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor at the transmitter or at the receiver

Description

本発明は、処理実行システム、中継サーバ、および、デバイスに関する。
特許文献1には、プリンタの印刷状況を、当該プリンタに印刷データを送信した表示装置に伝え、当該表示装置に印刷状況が表示される技術が記載されている。
特開2008−129642号公報
デバイスに所定の処理を実行させるサービスを提供するサービス提供サーバが、デバイスにサービスを提供した場合、サービスサーバは、デバイスにて実行中の処理がどこまで行われたかを把握する必要がある。しかしながら、デバイスとサービス提供サーバとの間に中継サーバが介在される場合、デバイスでの処理の実行中に、当該デバイス、または、当該デバイスと中継サーバとの通信に異常が発生した場合、サービス提供サーバは、実行中の処理がどこまで行われたかを把握することができない。
本発明は、上述した事情を鑑みてなされたものであり、デバイスとサービス提供サーバとの間に中継サーバが介在される構成において、サービス提供サーバが、デバイスにて実行中の処理の実行状況を好適に把握できる処理実行システム、中継サーバ、および、デバイスを提供することを目的とする。
この目的を達成するために、本発明の処理実行システムは、ルータを介してインターネットに接続している、所定の処理を実行可能なデバイスと、前記デバイスに所定の処理を実行させるサービスを提供するインターネット上のサービス提供サーバと、第1記憶部を備え、前記サービス提供サーバと前記デバイスとの間を中継するインターネット上の中継サーバと、を備えた処理実行システムであって、前記デバイスと前記中継サーバとは、インターネット上で発生した、前記デバイスへ送信すべき情報を、通信プロトコルを用いて前記中継サーバから前記デバイスに前記ルータを介して送信し、前記デバイスが受信するサーバプッシュが可能な状態で接続され、前記サービス提供サーバは、前記デバイスにおける所定の処理の対象となる処理情報を特定する特定情報を含む、前記所定の処理の実行を指示する実行指示情報を送信する第1指示送信手段を備え、前記中継サーバは、前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、前記特定情報を含む、前記所定の処理の実行指示情報を、前記サーバプッシュが可能な状態で、前記通信プロトコルを用いて前記デバイスに送信する第2指示送信手段を備え、前記デバイスは、前記中継サーバから前記サーバプッシュが可能な状態で送信された前記実行指示情報を受信したことに応じて、当該実行指示情報に含まれる特定情報により特定される前記処理情報を取得し、当該処理情報を用いた所定の処理を実行する処理実行手段と、前記処理実行手段による処理の実行中、当該実行中の処理のステータスを示すステータス情報を送信すべきタイミングとなったことに応じて、前記ステータス情報を前記中継サーバに送信する第1ステータス送信手段と、を備え、前記中継サーバは、前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、当該サービス提供サーバを識別するサービス識別情報を前記第1記憶部に記憶する第1記憶手段と、前記デバイスから送信された前記ステータス情報を受信したことに応じて、受信した前記ステータス情報を、前記サービス識別情報と対応付けて前記第1記憶部に記憶する第2記憶手段と、前記第2記憶手段により前記第1記憶部に記憶された前記ステータス情報であって、前記サービス提供サーバに送信していない前記ステータス情報を、当該ステータス情報に関連付けられている前記サービス提供サーバに送信する第2ステータス送信手段と、を備えている。
なお、本発明の処理実行システムは、処理実行装置、処理実行装置を制御する制御装置、処理実行方法、処理実行システムを実現するプログラム、当該プログラムを記録する記録媒体等の種々の態様で構成できる。また、本発明の処理実行システムで利用可能な中継サーバおよびデバイスは、中継サーバまたはデバイスを制御する制御装置、中継サーバまたはデバイスを実現するプログラム等の種々の態様で構成できる。
本明細書の実施形態に記載の処理実行システム、処理実行装置、処理実行装置を制御する制御装置、処理実行方法、処理実行システムを実現するプログラム、当該プログラムを記録する記録媒体等によれば、サービス提供サーバから、デバイスに所定の処理を実行する実行指示情報が送信された場合、当該実行指示情報を受信した中継デバイスは、当該実行指示情報をデバイスに送信する一方で、当該実行指示情報の送信元のサービス提供サーバを識別するサービス識別情報をデバイスの第1記憶部に記憶する。デバイスは、中継サーバを介してサービス提供サーバから実行指示情報を受信したことに応じて、当該実行指示情報に含まれる特定情報により特定される処理情報を用いた所定の処理を実行する。デバイスは、実行指示情報に応じた所定の処理の実行中、当該実行中の処理のステータスを示すステータス情報を、当該ステータス情報を送信すべきタイミングで中継サーバに随時送信する。中継サーバは、デバイスから送信されたステータス情報を、サービス識別情報と対応付けて第1記憶部に記憶する。
よって、中継サーバは、デバイスが所定の処理を実行している間、当該処理のステータスを随時のタイミングでデバイスから受信し、第1記憶部に記憶するので、デバイスにて実行される処理の進捗を随時サービス提供サーバに報せることができる。そのため、例えば、デバイスが所定の処理を実行している間に、当該デバイス、または、当該デバイスと中継サーバとの通信に異常が発生した場合であっても、異常発生前における処理のステータスをサービス提供サーバに報せることができる。
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、実行指示情報に応じた所定の処理の実行中、当該実行中の処理のステータスを示すステータス情報を、当該ステータス情報を記憶すべきタイミングで、デバイスの第2記憶部に随時記憶される。そして、デバイスは、当該デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が第2記憶部に記憶されている場合には、当該ステータス情報を含む、処理中に電源オフしたことを示す異常情報を、中継サーバに送信する。よって、中継サーバを介して、異常発生前における処理のステータスをサービス提供サーバに報せることができる。
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、処理情報に含まれる複数の部分のうち、1つの部分に対し処理の実行が完了したことに応じて、当該処理情報に含まれる複数の部分のうち、幾つの部分に対し処理が完了したかを示すステータス情報を、第2記憶部に記憶させる。よって、デバイスの電源がオフからオンに切り替わった場合に、電源がオフになる前に、処理情報に含まれる幾つの部分が処理されたかを、中継サーバを介して、サービス提供サーバに報せることができる。
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、実行指示情報に複数の特定情報が含まれる場合には、1の特定情報により特定される処理情報毎に、処理が開始されたこと、および、処理が完了したことを、中継サーバを介して、サービス提供サーバに報せることができるとともに、全ての特定情報により特定される全ての処理情報に対する処理が完了したことを、中継サーバを介して、サービス提供サーバに報せることができる。また、デバイスは、1の処理情報に対する処理が完了した場合、および、全ての処理情報に対する処理が完了した場合には、処理情報に含まれる幾つの部分に対して処理が完了したかを、中継サーバを介してサービス提供サーバに報せることができる。そして、デバイスは、当該デバイスの電源がオフからオンに切り替わったことに応じて、幾つの部分に対し処理が完了したかを示すステータス情報が第2記憶部に記憶されている場合には、当該ステータス情報を含む、処理の実行中に電源オフしたことを示す異常情報を中継サーバに送信する。よって、処理の実行中に電源がオフになったことと、当該オフになる前に、処理情報に含まれる幾つの部分に対して処理が完了したかを、中継サーバを介して、サービス提供サーバに報せることができる。
本明細書の実施形態に記載の処理実行システム等によれば、デバイスが、サービス提供サーバから送信された実行指示情報に応じて、印刷処理を実行する場合に1ページ分の印刷が完了する毎に、印刷が完了したページ数の累積を示すステータス情報を第2記憶部に記憶する。そして、デバイスは、当該デバイスの電源がオフからオンに切り替わったことに応じて、実行指示情報によって指示される印刷処理において印刷が完了したページ数の累積を示すステータス情報が第2記憶部に記憶されている場合には、当該ステータス情報を含む、処理の実行中に電源オフしたことを示す異常情報を中継サーバに送信する。よって、処理の実行中に電源がオフになったことと、当該オフになる前に印刷が完了したページ数の累積を、中継サーバを介して、サービス提供サーバに報せることができる。
本明細書の実施形態に記載の処理実行システム等によれば、実行指示情報は、複数の処理情報毎の特定情報と、当該実行指示情報が指示する処理全体を識別する全体識別情報とを含む。デバイスは、中継サーバから受信した実行指示情報のうち、全体識別情報を、不揮発性の第2記憶部に記憶し、特定情報を、揮発性の第3記憶部に記憶する。また、デバイスは、処理に応じたステータス情報を、第2記憶部に記憶する。全体識別情報とステータス情報とは、不揮発性の第2記憶部に記憶されるので、デバイスの電源がオフになり、その後に電源がオンになった場合であっても、それらの情報は電源がオフになる前の内容を維持することができる。よって、処理の実行中にデバイスの電源がオフからオンに切り替わった場合に、電源がオフになる前における処理のステータスを、中継サーバを介して、サービス提供サーバに報せることができる。一方、特定情報は、処理の実行中に電源がオフになった後、再度オンになった場合に送信する必要のない情報であるので、かかる情報を揮発性の第3記憶部に記憶させておくことにより、不揮発性の第2記憶部の消費を抑制できる。
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、処理の実行中、当該処理を指示した実行指示情報に含まれる設定情報と異なる設定での処理が実行された場合、当該実行中の処理のステータスを示すステータス情報を第2記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を、設定が変更されたことを示す変更情報と関連付けて、第2記憶部に記憶する。よって、ステータス情報とともに、実行指示情報に含まれる設定情報に応じた当初の処理から、設定が変更されたことを、中継サーバを介して、サービス提供サーバに報せることができる。
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、第1記憶部にステータス情報が記憶される毎に、当該記憶されたステータス情報を、当該ステータス情報に関連付けられているサービス提供サーバに送信する逐次送信処理を実行する。よって、サービス提供サーバは、中継サーバが第1記憶部にステータス情報を記憶するタイミングと同様のタイミングでステータス情報を受信できる。
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、サービス提供サーバから逐次送信が指定されている場合には、第1記憶部にステータス情報が記憶される毎に、上記逐次送信処理を実行する。その一方で、中継サーバは、サービス提供サーバから逐次送信が指定されていない場合には、第1記憶部にステータス情報が記憶されても、当該ステータス情報の送信は行わず、サービス提供サーバからの要求に応じて、第1記憶部に記憶されているステータス情報を送信する。よって、好適な態様でステータス情報をサービス提供サーバに送信できる。
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、処理実行指示情報に含まれる送信先識別情報を、上記逐次送信の送信先とするので、サービス提供サーバが要求する送信先にステータス情報を送信できる。
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、サービス識別情報を特定可能な情報を含むステータス情報を中継サーバに送信するので、中継サーバは、デバイスが実行する処理を指示する処理実行指示情報の送信元であるサービス提供サーバに、デバイスから受信したステータス情報を送信することができる。
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、実行指示情報をデバイスにサーバプッシュした後に、デバイスとの中継サーバとの間が所定期間以上に亘ってサーバプッシュ不可能な状態となった場合、実行指示情報の送信元であるサービス提供サーバに、エラーが発生したことを示すステータス情報を送信する。よって、エラーの発生をサービス提供サーバに報せることができる。
本明細書の実施形態に記載の処理実行システム等によれば、デバイスとの中継サーバとの間が所定期間以上に亘ってサーバプッシュ不可能な状態となり、かつ、デバイスから受信したもののサービス提供サーバに送信していないステータス情報が第1記憶部に記憶されている場合には、当該未送信のステータス情報と、エラーが発生したことを示すステータス情報とを送信する。よって、エラー発生前のステータス情報をサービス提供サーバに報せることができる。
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、実行指示情報をデバイスにサーバプッシュした後に、当該デバイスの電源がオフになったことによってデバイスとの中継サーバとの間が所定期間以上に亘ってサーバプッシュ不可能な状態となった場合、エラーが発生したことを示すステータス情報をサービス提供サーバに送信するので、エラーの発生をサービス提供サーバに報せることができる。一方、デバイスは、当該デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が不揮発性の第2記憶部に記憶されている場合には、当該ステータス情報を含む、処理の実行中に電源オフしたことを示す異常情報を中継サーバに送信する。中継サーバは、実行指示情報をデバイスにサーバプッシュした後に、当該デバイスから送信された異常情報を受信した場合、当該実行指示情報に対応するサービス提供サーバに、受信した異常情報を送信する。よって、サービスサーバに、発生したエラーが、デバイスの電源がオフになったことに基づくものであることを報せることができる。
なお、特許請求の範囲および明細書において、用語「情報」と用語「データ」とでは、「情報」を「データ」の上位概念として用いている。そのため、「Aデータ」との記載を「A情報」と言い換えてもよい。また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10”というバイナリ形式の情報として保持されてもよい。但し、「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。
処理実行システムの構成の一例を示すブロック図である。 処理実行システムを構成する各装置の作動を示すシーケンス図である。 処理実行システムを構成する各装置の作動を示すシーケンス図である。 処理実行システムを構成する各装置の作動を示すシーケンス図である。 処理実行システムを構成する各装置の作動を示すシーケンス図である。 (a)および(b)は、それぞれ、デバイスが実行する印刷処理および再開時処理を示すフローチャートである。 中継サーバが実行する中継処理を示すフローチャートである。
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の処理実行システムの一実施形態である処理実行システム1の構成の一例を示すブロック図である。処理実行システム1は、デバイス10と、中継サーバ100と、サービスサーバ200とを含んで構成される。
本実施形態のデバイス10は、印刷機能、スキャン機能、コピー機能、ファクシミリ機能などの各種機能を有する多機能周辺装置である。サービス提供サーバ200は、デバイス10に所定の処理を実行させるサービスを提供するサーバである。本実施形態では、サービス提供サーバ200は、印刷機能を用いた印刷処理をデバイス10に実行させるサーバとして構成される。中継サーバ100は、デバイス10とサービス提供サーバ200との間で通信を中継するサーバとして構成される。
本実施形態の中継サーバ100は、デバイス10が、サービス提供サーバ200からの処理の実行指示に応じて開始した処理について、当該処理の実行状況を示す情報(以下「ステータス情報」と称す)をデバイス10から受信し、受信したステータス情報を記憶する。中継サーバ100は、記憶したステータス情報であり、かつ、サービス提供サーバ200に未送信のステータス情報を、所定のタイミングでサービス提供サーバ200に送信する。これにより、サービス提供サーバ200が、デバイス10にて実行中の処理の実行状況を好適に把握することができる。
デバイス10は、ルータ30を介してインターネット800に接続される。中継サーバ100およびサービス提供サーバ200もまた、インターネット800に接続される。デバイス10と中継サーバ100との間の通信は、接続確立型のプロトコル、より詳細には、XMPP over BOSH(Extensible Messaging and Presence Protocol
Over Bidirectional-Streams Over Synchronous HTTPの略)に従って行われる。XMPP over BOSHは、接続を確立した状態をほぼ常時維持するため、常時接続型のプロトコル、または、接続維持型のプロトコル、であるとも言える。一方、デバイス10とサービス提供サーバ200との間の通信は、HTTP(Hypertext Transfer Protocolの略)に従って行われる。
上述した通り、デバイス10は、ルータ30を介してインターネット800に接続されるが、デバイス10からインターネット800側に送信された情報と、その情報に対する返信はルータ30が通すものの、当該返信以外の、インターネット800側からデバイス10に送信された情報は、ルータ30により遮断される。よって、サービス提供サーバ200は、デバイス10に情報を送信することができない。
これに対し、デバイス10との間で接続確立型のプロトコルに従う通信であれば、デバイス10から中継サーバ100へ、接続確立を要求する情報が定期的に送信される。中継サーバ100は、デバイス10に送信すべき情報を、接続確立を要求する情報のうち、いずれかによって確立された接続を用いて送信すればよい。接続が確立していると、ルータ30は、インターネット側800からデバイス10に送信された情報を通すことができる。よって、デバイス10との間で接続確立型のプロトコルに従う接続が確立されている中継サーバ100が、インターネット上で発生したデバイス10に送信すべき情報を、ルータ30を介してデバイス10に送信した場合、その情報は、デバイス10が受信する、サーバプッシュを行うことができる。すなわち、サーバプッシュとは、インターネット側の装置から、インターネット側で発生した情報を、ルータを介してインターネットに接続しているデバイスに送信する送信処理と、送信された情報をルータが中継する中継処理と、中継された情報を、デバイスが受信する受信処理と、を含む処理のことである。なお、デバイス側で発生した、受信したい情報を特定した要求を、ルータを介してインターネット側の装置へ送信し、要求によって特定される種類の情報をインターネット側の装置からルータを介してデバイスに返信する処理は、サーバプッシュには含まれない。サーバプッシュは、例えば本実施例のようにXMPP over BOSHを用いた接続によって実現することができる。しかし、インターネット側の装置から送信された、インターネット側で発生した情報を、ルータがデバイスに中継可能な構成であれば、本実施例に限定されるものではない。
なお、中継サーバ100とデバイス10と中継サーバ100との間には、接続確立型のプロトコルに従う通信が確立されるが、当該通信が確立してから所定のタイムアウト期間が経過した場合には、確立されていた通信のリンクは切断される。接続確立型のプロトコルに従う通信のリンクが切断されると、中継サーバ100からデバイス10に送信された情報は、ルータ30により遮断されるようになる。つまり、中継サーバ100からデバイス10に情報を送信することができなくなる。そのため、本実施形態では、接続確立型のプロトコルに従う通信の確立を維持するため、デバイス10は、当該通信が確立された後は、上記タイムアウト期間より短い一定周期毎、例えば、1分毎に、中継サーバ100に対し、当該通信の確立を要求するよう構成される。なお、上記「一定周期」は、厳密に同じ周期毎であることを意図するものではなく、ある程度の幅をもたせた概念である。
デバイス10には、CPU11、ROM12、RAM13、NVRAM14、操作キー15、LCD16、タッチパネル17、スキャナ部18、プリンタ部19、NCU20、モデム21、LANインターフェイス(以下「LAN_I/F」と称す)23が主に設けられている。これらの各部は、入出力ポート24を介して互いに接続されている。
CPU11は、ROM12、RAM13、NVRAM14に記憶されるプログラムやデータ、或いは、NCU20を介して送受信される各種信号に従って、デバイス10が有する各機能の制御や、入出力ポート24と接続された各部を制御する。ROM12は、CPU11により実行される各種プログラムや、そのプログラムを実行する際に参照する定数やテーブルを記憶する読み出し専用のメモリである。ROM12には、デバイス10の動作を制御する制御プログラム12aなどが格納される。後述する図6(a)および図6(b)のフローチャートに示す各処理は、CPU11が制御プログラム12aに従い実行する処理である。
RAM13は、CPU11が制御プログラム12aを実行するにあたり、各種データを一時的に記憶するためのテンポラリエリアを有する書換可能な揮発性のメモリである。NVRAM14は、不揮発性のRAMである。本実施形態では、サービスサーバ200から出力された印刷指示に応じた印刷処理が実行される場合に、当該印刷処理の実行状況(以下「ステータス」と称す)が、NVRAM14に記憶される。
操作キー15は、デバイス10の筐体に設けられるメカニカルキーであり、各種の設定値や指示などをユーザから受け付ける。LCD16は、液晶表示装置であり、各種画面を表示する。LCD16の画面には、タッチパネル17がLCD16に重ねて設けられる。タッチパネル17は、例えば、指や棒などの指示体がLCD16の画面に対して接触又は近づいた場合に、接触又は近づいた位置を検知し、検知した位置をデバイス10に入力する。
スキャナ部18は、原稿を読み取って画像データに変換する。プリンタ部19は、画像データに基づく画像を記録用紙に印刷する。モデム21は、FAX送信時には送信すべき画像データを、電話回線網(図示せず)に伝送可能な信号に変調してNCU20を介して送信し、または、電話回線網からNCU20を介して入力された信号を画像データに復調する。NCU20は、図示されない電話回線網とデバイス10との間を接続するものであり、モデム21からの指示に従って、回線を閉結または切断することにより、電話回線網との間の接続状態を制御する。LAN_I/F23は、デバイス10が、ローカル・エリア・ネットワークを介した通信を実行するためのインターフェイスである。LAN_I/F23は、ルータ30に接続される。
中継サーバ100には、CPU101、記憶部102、ネットワークインターフェイス(以下「ネットワークI/F」と称す)103が主に設けられている。これらの各部は、入出力ポート104を介して互いに接続されている。CPU11は、記憶部102に記憶されるプログラムやデータに従って、入出力ポート104と接続された各部を制御する。
記憶部102は、プログラム102aを記憶する。プログラム102aは、オペレーティングシステム(以下「OS」と称す)102a1と、管理プログラム102a2とを含む。記憶部102は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体は、例えば、RAM、ROM、EEPROM(Electrically_Erasable_Programmable_Read−Only_Memoryの略)、HDD、CPUが備えるバッファなど、または、それらの組み合わせによって構成される。RAM、ROM、EEPROM、HDD、CPUが備えるバッファなど、または、それらの組み合わせは、tangibleな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種である、コンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
OS102a1は、管理プログラム102a2に利用される基本的な機能を提供するプログラムである。また、OS102a1は、記憶部102を制御するプログラムなども含む。管理プログラム102a2は、デバイス10から受信したステータス情報を管理するプログラムである。後述する図7のフローチャートに示す各処理は、CPU101が管理プログラム102a2に従い実行する処理である。なお、以下では、OS102a1や管理プログラム102a2などのプログラムを実行するCPU101のことを、単にプログラム名で記載する場合もある。例えば「管理プログラム」という記載が「管理プログラムを実行するCPU11」を意味する場合もある。
記憶部102には、データ記憶領域102bが設けられる。データ記憶領域102bは、各種データを記憶する領域である。管理プログラム102bは、OS102a1を介して、各種データをデータ記憶領域102bに記憶させるためのデータを出力する。管理プログラム102bは、OS102a1を介して、データ記憶領域102bに記憶される各種データを取得する。
図2から図4を参照して、本発明の処理実行システム1にて、サービス提供サーバ200からデバイス10宛てに印刷指示が送信された場合における、デバイス10、中継サーバ100、およびサービス提供サーバ200の作動について説明する。まず、図2は、上記印刷指示に基づく印刷処理が正常に完了した場合を示すシーケンス図である。
サービス提供サーバ200は、印刷ジョブの実行を指示する印刷指示を送信する(T1)。「印刷ジョブ」は、1または複数のファイルを対象として印刷処理を実行させるジョブである。印刷処理は、ファイル毎に行われる。サービス提供サーバ200から送信される印刷指示には、送信元のサービス提供サーバ200を特定するサービス情報と、印刷処理を実行させるデバイス10を特定するデバイス情報、当該印刷指示に基づく印刷ジョブを特定するジョブIDと、ジョブIDにより特定される印刷ジョブにて、当該印刷ジョブに含まれる各印刷処理に用いるファイルを特定するファイルIDと、用紙サイズなど、ジョブIDにより特定される印刷ジョブにて用いる印刷設定、および、ステータス情報の返信先を示す返信先情報、ステータス情報を自動的に通知するか否かを示す通知設定情報などが含まれる。ファイルIDは、ファイルの格納先を示す格納先情報である。通常、返信先情報および格納先情報は、サービス提供サーバ200がアクセス可能なデータベースのURLである。
中継サーバ100は、サービス提供サーバ200から印刷指示を受信した場合、初期状態のステータス情報50を、記憶部102に設けられた不揮発性のデータ記憶領域102bに記憶する(T2)。以下、初期状態のステータス情報を「初期ステータス情報」と称することがある。なお、中継サーバ100は、T2において、ステータス情報50を、サービス提供サーバ200から受信した印刷指示に含まれるサービス情報、返信先情報、および通知設定情報などに関連付けて記憶する。
ステータス情報50は、印刷ジョブに関するジョブ情報51と、当該ジョブの実行状況に関するジョブレポートテーブル52と、印刷処理の対象となるファイルに関するファイル情報53とを含む。ジョブ情報51は、ジョブIDと、ジョブの実行段階を示すジョブステータスとを含む。初期ステータス情報50では、ジョブステータスの値は、印刷ジョブの開始前であることを示す「pending」である。
ジョブレポートテーブル52は、印刷処理に用いた用紙サイズと、印刷処理が完了した印刷枚数とを含む。図2に示す例では、印刷枚数として、モノクロで印刷された枚数と、カラーで印刷された枚数とが各々独立して記憶される。初期ステータス情報50では、ジョブレポートテーブル52に含まれる各内容に対し、初期値が記憶される。
ファイル情報53は、印刷処理の対象となるファイル毎に、ファイルを特定するファイルIDと、当該ファイルに対する印刷処理の実行状況を示すファイルステータスとを含む。初期ステータス情報50では、印刷処理の対象となる全てのファイルに対し、それぞれ、印刷処理の実行前であることを示す「pending」である。図2に示す例では、ファイル情報53に、2つのファイルのファイルIDが含まれる。すなわち、この例では、印刷指示により指示される印刷ジョブには、2つのファイルの印刷が含まれる。
中継サーバ100は、サービス提供サーバ200から受信した印刷指示に含まれるデバイス情報により特定されるデバイス10に、印刷指示を送信する(T3)。中継サーバ100からデバイス10に送信される印刷指示には、データ記憶領域102bに記憶されるステータス情報50のうち、ジョブ情報51およびファイル情報53と同じ内容の情報、および印刷設定などが含まれる。
デバイス10は、中継サーバ100から印刷指示を受信した場合、当該印刷指示に基づく印刷処理の実行状況に関するジョブレポートテーブル61を作成する。ジョブレポートテーブル61は、中継サーバ100から受信した印刷指示に含まれるジョブIDに関連づけられて、NVRAM14に記憶される。ジョブレポートテーブル61に含まれる項目は、上述したジョブレポートテーブル52と同様である。用紙サイズを指定する印刷設定が印刷指示に含まれており、デバイス10が印刷設定に従った用紙サイズで印刷を開始する場合は、ジョブレポートテーブル61において、用紙サイズの初期値は、印刷指示に含まれる用紙サイズの値である。
なお、用紙サイズを指定する印刷設定が印刷指示に含まれていないため、デバイス10が、デバイス10に予め設定された用紙サイズで印刷を開始する場合がある。この場合に、用紙サイズの初期値は、デバイス10に予め設定された用紙サイズとなる。また、用紙サイズを指定する印刷設定が印刷指示に含まれていても、デバイス10が印刷設定に従った用紙サイズで印刷を開始できない場合は、デバイス10は、印刷を開始することが可能な、異なる用紙サイズで印刷を開始する。この場合に、用紙サイズの初期値は、印刷指示に含まれる用紙サイズの値とは異なる値になる。図2に示す例では、用紙サイズを指定する印刷設定が印刷指示に含まれておらず、デバイス10に予め設定されているA4が用紙サイズの初期値として記憶される。印刷枚数については、初期値としてゼロが記憶される。
デバイス10は、中継サーバ100から受信した印刷指示、すなわち、サービス提供サーバ200から送信された印刷指示に従い、1のファイルに対する印刷処理を開始する。なお、用紙サイズを指定する印刷設定が印刷指示に含まれており、デバイス10が印刷設定に従った用紙サイズで印刷できる場合は、デバイス10は、印刷設定に従って用紙サイズで印刷する。用紙サイズを指定する印刷設定が印刷指示に含まれていない場合は、デバイス10は、デバイス10に予め設定された用紙サイズで印刷する。また、用紙サイズを指定する印刷設定が印刷指示に含まれていても、デバイス10が印刷設定に従った用紙サイズで印刷できない場合は、デバイス10は、印刷可能な、異なる用紙サイズで印刷する。また、カラー印刷を指定する印刷設定が印刷指示に含まれており、デバイス10がカラーで印刷できる場合は、デバイス10はカラー印刷を実行する。モノクロ印刷を指定する印刷設定が印刷指示に含まれている場合は、デバイス10はモノクロ印刷を実行する。カラー印刷を指定する印刷設定が印刷指示に含まれているが、デバイス10がカラー印刷をできない場合は、デバイス10はモノクロ印刷を実行する。
具体的に、デバイス10は、印刷指示に含まれるファイルIDに対応するファイルを、当該ファイルIDに基づき取得する。上述した通り、ファイルIDは、格納先情報であるので、デバイス10は、当該格納先情報が示す格納先から取得する。デバイス10は、印刷機能を用い、取得したファイルに対する印刷処理を開始する。図2に示す例では、まず、デバイス10は、ファイルIDにより特定されるファイルの印刷を開始する。なお、図2に示す例では、URLである格納先情報を便宜的に「File1」または「File2」と記載している。以下、ファイルID「File1」により特定されるファイルを、他のファイルと区別するために「File1」と称す。同様に、ファイルID「File2」により特定されるファイルを、「File2」と称す。
デバイス10は、File1の印刷処理を開始すると、File1の印刷を開始したことを示す印刷開始通知を中継サーバ100に送信する(T4)。印刷開始通知には、実行中の印刷の実行状況を示すステータス情報70が付加される。ステータス情報70は、ジョブ情報71と、ジョブレポートテーブル72と、ファイル情報73とを含む。ジョブ情報71は、ジョブ情報51と同様に、ジョブIDと、ジョブステータスとを含む。
ジョブレポートテーブル72は、ジョブレポートテーブル52と同様に、用紙サイズと、印刷処理が完了した印刷枚数とを含む。ステータス情報70に含まれるジョブレポートテーブル72には、デバイス10に記憶されるジョブレポートテーブル61の内容が書き込まれる。ファイル情報73は、処理中のファイルに関する情報である。ファイル情報73は、処理中のファイルを特定するファイルIDと、当該ファイルに対する印刷処理の実行段階を示すファイルステータスとを含む。
T4にてデバイス10から中継サーバ100に送信されるステータス情報70では、ジョブ情報71のジョブステータスが「processing」であり、ファイルIDにより特定されるジョブが開始されたことを示す。また、このステータス情報70では、ファイル情報73について、File1のファイルステータスが「processing」であり、File1の印刷処理がデバイス10にて実行中であることを示す。なお、この例では、印刷開始通知に付加されるステータス情報70のジョブレポートテーブル72には、用紙サイズの初期値として、デバイス10に予め設定されているA4が記憶される。また、印刷開始時の状況であるので、モノクロおよびカラーのいずれも印刷枚数はいずれも0である。
中継サーバ100は、デバイス10から印刷開始通知を受信した場合、受信した印刷開始通知に付加されるステータス情報70に応じて、データ記憶領域102bに記憶されるステータス情報50の内容を更新する(T5)。つまり、ジョブ情報51のジョブステータスが「processing」に更新される。また、ファイル情報53におけるFile1のステータスが「processing」に更新される。よって、T5による更新後のステータス情報50は、ジョブIDにより特定されるジョブが開始され、File1の印刷処理が開始されたことを示す。また、ジョブレポートテーブル52は、デバイス10がFile1の印刷に使用する用紙サイズはA4であり、モノクロおよびカラーのいずれも印刷枚数はいずれも0であることを示す内容に更新される。
中継サーバ100は、データ記憶領域102bを参照し、通知設定が自動通知に設定されていることを条件として、デバイス10にて実行中の印刷状況を報せる印刷状況通知を、サービス提供サーバ200に送信する(T6)。T6にて送信される印刷状況通知には、T5にて更新されたステータス情報50が付加される。また、T6にて、中継サーバ100は、印刷状況通知を、当該印刷状況通知に付加されるステータス情報50に関連付けられた返信先情報が示す返信先に返信する。よって、サービス提供サーバ200は、中継サーバ100から受信した印刷状況通知から、デバイス10にて実行中の印刷処理の実行状況を把握できる。
デバイス10は、処理中のファイル、すなわち、File1について、1ページの印刷が完了する毎に、ジョブレポートテーブル61の内容を更新する(T7)。つまり、デバイス10は、T7にて、ジョブレポートテーブル61に含まれる印刷枚数に1を加算する。より詳細には、デバイス10は、モノクロ印刷が行われた場合には、モノクロで印刷された枚数に1を加算し、カラー印刷が行われた場合には、カラーで印刷された枚数に1を加算する。図2には、一例として、用紙サイズがA4であり、モノクロで印刷された枚数が3であるジョブレポートテーブル61を図示する。つまり、この例のジョブレポートテーブル61は、File1の印刷が、A4サイズの用紙にモノクロで3ページ分完了した段階でのジョブレポートテーブルである。なお、T7、および、後述するT14について、図示した段階より前のジョブレポートテーブル61の図示と、図示した段階より後のジョブレポートテーブル61の図示を省略する。
デバイス10は、File1の印刷処理が完了すると、File1の印刷が完了したことを示す印刷完了通知を中継サーバ100に送信する(T8)。印刷完了通知もまた、印刷開始通知と同様、ステータス情報70が付加される。図2には、印刷完了通知に付加されたステータス情報70の一例として、モノクロで印刷された枚数が5であるジョブレポートテーブル72を含むステータス情報70を図示する。つまり、この例のステータス情報70によれば、File1について、A4サイズの用紙にモノクロで5ページ分の印刷が行われたことを示す。また、印刷完了通知に付加されるステータス情報70では、ファイル情報73のファイルステータスが「completed」であり、ファイルIDにより特定されるファイル、すなわち、File1の印刷が完了したことを示す。
中継サーバ100は、デバイス10から印刷完了通知を受信した場合、受信した印刷完了通知に付加されるステータス情報70に応じて、データ記憶領域102bに記憶されるステータス情報50の内容を更新する(T9)。
図2には、T9による更新後のステータス情報50の一例として、モノクロで印刷された枚数が5であるジョブレポートテーブル52を含むステータス情報50を図示する。つまり、この例では、ジョブレポートテーブル52が、デバイス10から受信したステータス情報70に応じて、A4サイズの用紙にモノクロで5ページ分の印刷が行われたことを示す内容に更新されたことを示す。また、ファイル情報53におけるFile1のステータスが「completed」に更新される。よって、この例では、T9による更新後のステータス情報50は、ジョブIDにより特定されるジョブが、File1について、A4サイズの用紙にモノクロで5ページの印刷が完了したことを示す。
中継サーバ100は、通知設定が自動通知に設定されていることを条件として、印刷状況通知を、サービス提供サーバ200に送信する(T10)。T10にて送信される印刷状況通知には、T9にて更新されたステータス情報50が付加される。T9での印刷状況通知の返信先もまた、T6での印刷状況通知の返信先と同様、印刷状況通知に付加されるステータス情報50に関連付けられた返信先情報が示す返信先である。T10の結果、図2に示すステータス情報50を受信したサービス提供サーバ200は、デバイス10がFile1の印刷処理を完了したこと、File1の印刷処理においてA4サイズの用紙にモノクロで5ページ分の印刷が行われたこと、および、ジョブIDにより特定されるジョブが未だ完了していないことを把握することができる。
デバイス10は、File1の印刷処理の完了後、引き続き、File2を当該ファイルの格納先から取得し、File2の印刷処理を開始する。デバイス10は、File2の印刷処理を開始すると、File2の印刷を開始したことを示す印刷開始通知を中継サーバ100に送信する(T11)。
T11にて送信される印刷開始通知に付加されるステータス情報70では、ファイル情報73に含まれるファイルIDがFile2を特定する値となる。つまり、T11にてデバイス10から中継サーバ100に送信されるステータス情報70では、ステータス情報70では、ファイル情報73について、File2のファイルステータスが「processing」であり、File2の印刷処理がデバイス10にて実行中であることを示す。なお、この例では、印刷開始通知に付加されるステータス情報70のジョブレポートテーブル72には、用紙サイズの初期値として、デバイス10に予め設定されているA4が記憶される。また、印刷開始時の状況であるので、モノクロおよびカラーのいずれも印刷枚数はいずれも0である。
中継サーバ100は、デバイス10から、File2の印刷を開始したことを示す印刷開始通知を受信した場合、受信した印刷開始通知に付加されるステータス情報70に応じて、データ記憶領域102bに記憶されるステータス情報50の内容を更新する(T12)。つまり、ファイル情報53におけるFile2のステータスが「processing」に更新される。よって、T12による更新後のステータス情報50は、File2の印刷処理が開始されたことを示す。また、ジョブレポートテーブル52は、デバイス10がFile2の印刷に使用する用紙サイズはA4であり、モノクロおよびカラーのいずれも印刷枚数はいずれも0であることを示す内容に更新される。
中継サーバ100は、通知設定が自動通知に設定されていることを条件として、印刷状況通知を、サービス提供サーバ200に送信する(T13)。T13にて送信される印刷状況通知には、T12にて更新されたステータス情報50が付加される。また、T13での印刷状況通知の返信先は、T6およびT10で用いた返信先と同じである。
デバイス10は、処理中のファイル、すなわち、File2について、T7と同様に、1ページの印刷が完了する毎に、ジョブレポートテーブル61の内容を更新する(T14)。図2には、一例として、用紙サイズがA4であり、モノクロで印刷された枚数が8であるジョブレポートテーブル61を図示する。つまり、この例のジョブレポートテーブル61は、File2の印刷が、A4サイズの用紙にモノクロで8ページ分完了した段階でのジョブレポートテーブルである。
デバイス10は、File2の印刷処理が完了すると、File2の印刷が完了したことを示す印刷完了通知を中継サーバ100に送信する(T15)。図2には、印刷完了通知に付加されたステータス情報70の一例として、用紙サイズがA4であり、モノクロで印刷された枚数が10であるジョブレポートテーブル72を含むステータス情報70を図示する。つまり、この例のステータス情報70によれば、File2について、A4サイズの用紙にモノクロで10ページ分の印刷が行われたことを示す。また、印刷完了通知に付加されるステータス情報70では、ファイル情報73のファイルステータスが「completed」であり、ファイルIDにより特定されるファイル、すなわち、File2の印刷が完了したことを示す。T15にて送信されるステータス情報70では、ジョブ情報71のジョブステータスが「completed」であり、ファイルIDにより特定されるジョブが完了したことを示す。
中継サーバ100は、デバイス10から印刷完了通知を受信した場合、受信した印刷完了通知に付加されるステータス情報70に応じて、データ記憶領域102bに記憶されるステータス情報50の内容を更新する(T16)。図2には、T16による更新後のステータス情報50の一例として、用紙サイズがA4であり、モノクロで印刷された枚数が10であるジョブレポートテーブル52を含むステータス情報50を図示する。つまり、この例では、ジョブレポートテーブル52が、デバイス10から受信したステータス情報70に応じて、A4サイズの用紙にモノクロで10ページ分の印刷が行われたことを示す内容に更新されたことを示す。また、ジョブ情報51のジョブステータスと、ファイル情報53におけるFile2のステータスとが、いずれも「completed」に更新される。よって、T16による更新後のステータス情報50は、File2の印刷処理が完了し、ジョブIDにより特定されるジョブが完了したことを示す。
中継サーバ100は、通知設定が自動通知に設定されていることを条件として、印刷状況通知を、サービス提供サーバ200に送信する(T17)。T17にて送信される印刷状況通知には、T16にて更新されたステータス情報50が付加される。T17での印刷状況通知の返信先は、T6およびT10で用いた返信先と同じである。T17の結果、図2に示すステータス情報50を受信したサービス提供サーバ200は、デバイス10がFile2の印刷処理を完了したこと、File2の印刷処理においてA4サイズの用紙にモノクロで10ページ分の印刷が行われたこと、および、ジョブIDにより特定されるジョブが完了したことを把握することができる。
図3は、上記印刷指示に基づく印刷処理の実行中に、デバイス10と中継サーバ100との通信が切断され、タイムアウトが発生する前に、通信が復旧した場合を示すシーケンス図である。例えば、デバイス10の電源が、上記印刷指示に基づく印刷処理の実行中にオフになり、タイムアウトが発生する前にオンになった場合に、このようなシーケンス図になる。図3には、上述した図2と同じ印刷指示がサービス提供システム200から送信された場合であって、File2の印刷処理の実行中にデバイス10の電源がオフになった場合を例示する。図3において、T1〜T14の各処理については、上述した図2の場合と同様であるので、説明を省略する。
File2の印刷処理の実行中にデバイス10の電源がオフになると、実行中の印刷処理、すなわち、File2の印刷処理は、電源がオフになった段階で途中終了となる。本実施形態では、デバイス10の電源が再度オンになった場合、デバイス10は、印刷処理が異常に終了したこと(すなわち、エラーが発生したこと)を示す異常終了通知を中継サーバ100に送信する(T21)。異常終了通知には、ステータス情報80が付加される。
ステータス情報80は、ジョブ情報81と、ジョブレポートテーブル82とを含む。ジョブ情報81は、ジョブ情報51と同様に、ジョブIDと、ジョブステータスとを含む。異常終了通知に付加されるステータス情報80では、ジョブ情報81のジョブステータスが、ジョブIDにより特定されるジョブが途中で中止されたことを示す「aborted」とされる。
ジョブレポートテーブル82は、ジョブレポートテーブル52と同様に、用紙サイズと、印刷処理が完了した印刷枚数とを含む。ステータス情報80に含まれるジョブレポートテーブル82には、デバイス10の電源がオフになる前に、不揮発性の記憶部102に最後に記憶されたジョブレポートテーブル61の内容が書き込まれる。つまり、本実施形態の処理実行システム1によれば、デバイス10の電源がオフになる直前までの印刷処理の実行状況を中継サーバ100に送信することができる。
図3には、異常終了通知に付加されたステータス情報80の一例として、用紙サイズがA4であり、モノクロで印刷された枚数が8であるジョブレポートテーブル82を含むステータス情報80を図示する。上述した通り、ジョブ情報81のジョブステータスは「aborted」である。つまり、この例のステータス情報80によれば、ジョブIDにより特定されるジョブの実行中、File2について、A4サイズの用紙にモノクロで8ページ分の印刷が行われ段階で、異常が生じたことを示す。
中継サーバ100は、デバイス10から異常終了通知を受信した場合、受信した異常終了通知に付加されるステータス情報80に応じて、データ記憶領域102bに記憶されるステータス情報50の内容を更新する(T22)。よって、異常終了通知を受信した後のステータス情報50では、ジョブ情報51のジョブステータスが「aborted」とされる。また、ジョブレポートテーブル52には、デバイス10の電源がオフになる直前までの印刷処理の実行状況が記憶される。図3には、一例として、用紙サイズがA4であり、モノクロで印刷された枚数が8であるジョブレポートテーブル52が図示される。つまり、図3に示す例では、A4サイズの用紙にモノクロで8ページ分の印刷が行われた段階で異常が発生したことを示すステータス情報50が、データ記憶領域102bに記憶されたことを示す。
中継サーバ100は、通知設定が自動通知に設定されていることを条件として、デバイス10の電源が印刷処理中にオフになったことを示すエラー情報と、印刷状況通知とをサービス提供サーバ200に送信する(T23)。T23にて送信される印刷状況通知には、T22にて更新されたステータス情報50が付加される。エラー情報および印刷状況通知の返信先は、印刷状況通知に付加されるステータス情報50に関連付けられた返信先情報が示す返信先である。
T23の結果、図3に示すステータス情報50を受信したサービス提供サーバ200は、ジョブIDにより特定されるジョブの実行中に異常が発生したこと、および、異常が発生した段階でA4サイズの用紙にモノクロで8ページ分の印刷が行われていることを把握することができる。このように、サービス提供サーバ200は、中継サーバ100から受信した印刷状況通知から、異常が発生したことと、当該異常の発生前までに印刷処理がどこまで行われたかを把握できる。
図4は、上記印刷指示に基づく印刷処理の実行中に、デバイス10と中継サーバ100との通信が切断され、タイムアウトが発生する前に通信が復旧しなかった場合を示すシーケンス図である。例えば、デバイス10の電源が、上記印刷指示に基づく印刷処理の実行中にオフになり、タイムアウトが発生する前にオンになった場合に、このようなシーケンス図になる。あるいは、デバイス10と中継サーバ100との間に位置するネットワーク機器が故障した場合や、長時間にわたり停止した場合にも、このようなシーケンス図になる。図4には、上述した図2と同じ印刷指示がサービス提供システム200から送信された場合であって、File2の印刷処理の実行中にデバイス10と中継サーバ100との通信が切断された場合を例示する。図4において、T1〜T14の各処理については、上述した図2の場合と同様であるので、説明を省略する。
中継サーバ100は、デバイス10から最後に通信の確立が要求されてから、次の要求を受信することなく所定のタイムアウト期間(例えば、2分)経過した場合、デバイス10との間で確立されていた接続確立型のプロトコルに従う通信のリンクが切断されたものとして、タイムアウト処理を実行する(T31)。通信のリンクが切断される状況としては、デバイス10と中継サーバ100との間の通信が物理的に不通となった場合や、デバイス10の電源がオフになった場合などがある。T31のタイムアウト処理において、中継サーバ100は、データ記憶領域102bに記憶されるステータス情報50の内容を、異常発生時の内容に更新する。
図4に示す例では、T31のタイムアウト処理の実行時、データ記憶領域102bに記憶されるステータス情報は、T12にて更新されたステータス情報である。よって、T31による更新後のステータス情報50において、ジョブレポートテーブル52は、モノクロおよびカラーのいずれも印刷枚数はいずれも0であることを示す。一方、中継サーバ100は、ジョブ情報51のジョブステータスを「aborted」に変更する。
中継サーバ100は、通知設定が自動通知に設定されていることを条件として、デバイス10と中継サーバ100との間の通信が切断されたことを示すエラー情報と、印刷状況通知とをサービス提供サーバ200に送信する(T32)。T32にて送信される印刷状況通知には、T31にて更新されたステータス情報50が付加される。エラー情報および印刷状況通知の返信先は、印刷状況通知に付加されるステータス情報50に関連付けられた返信先情報が示す返信先である。よって、サービス提供サーバ200は、中継サーバ100から受信した印刷状況通知から、異常が発生したことと、当該異常の発生前までに印刷処理がどこまで行われたかを把握できる。
その後、デバイス10と中継サーバ100との通信が復旧した場合、上述したT21〜T23の処理が実行される。つまり、デバイス10と中継サーバ100との通信が復旧した場合、デバイス10は、異常終了通知を中継サーバ100に送信する(T21)。異常終了通知に付加されるステータス情報80は、電源がオフからオンになった場合と同様、通信が切断された段階でNVRAM14に記憶されていたジョブレポートテーブル61の内容を、ジョブレポートテーブル82として含む。図4に示す例では、ジョブレポートテーブル82は、A4サイズの用紙に、モノクロで8枚の印刷が行われたことを示す。また、ジョブ情報81のジョブステータスは「aborted」である。
中継サーバ100は、デバイス10から異常終了通知を受信した場合、受信した異常終了通知に付加されるステータス情報80に応じて、データ記憶領域102bに記憶されるステータス情報50の内容を更新する(T22)。異常終了通知に付加されるステータス情報80は、ジョブレポートテーブル80として、通信が切断された段階でNVRAM14に記憶されていたジョブレポートテーブル61の内容を含む。よって、図4に示す例では、ジョブレポートテーブル82は、A4サイズの用紙にモノクロで8枚の印刷が行われたことを示す内容に更新される。T31にて更新されたステータス情報50は、その後に実行されるT22において、ジョブレポートテーブル52が、異常の発生前にどこまで印刷が行われたかという点においてより正確な内容に更新される。
中継サーバ100は、通知設定が自動通知に設定されていることを条件として、デバイス10の電源が印刷処理中にオフになったことを示すエラー情報と、印刷状況通知とをサービス提供サーバ200に送信する(T23)。T23にて送信される印刷状況通知には、T22にて更新されたステータス情報50が付加される。よって、サービス提供サーバ200は、中継サーバ100から受信した印刷状況通知から、異常の発生前までに印刷処理がどこまで行われたかを、T32にて送信された印刷状況通知より正確に把握できる。
図5は、上記印刷指示に基づく印刷処理の実行中に、印刷設定を変更して印刷処理を続行した場合を示すシーケンス図である。図5には、上述した図2と同じ印刷指示がサービス提供システム200から送信された場合であって、File2の印刷処理の実行中に印刷設定が変更された場合を例示する。図5において、T1〜T14の各処理については、上述した図2の場合と同様であるので、説明を省略する。
A4の用紙サイズを用いて、デバイス10がFile2の印刷処理を実行しているときに、用紙トレイにセットされていたA4サイズの用紙が切れた場合、デバイス10は、他の用紙トレイにセットされている用紙を使っての印刷が設定されていれば、他の用紙トレイにセットされている用紙をA4サイズの代替として用い、印刷処理を続行する。例えば、A3サイズの用紙を用いて、印刷処理を続行する。
デバイス10は、他の用紙トレイにセットされている用紙を用いて印刷処理を続行した場合、当該変更後の印刷処理の実行状況を示すジョブレポートテーブルAを、ジョブレポート61に追加してNVRAM14に記憶する。ジョブレポートテーブルAは、変更後の用紙サイズと、変更後の用紙サイズを用いて印刷された用紙の枚数とを含む。デバイス10は、1ページの印刷が完了する毎に、追加されたジョブレポートテーブルAの内容を更新する(T41)。
図5に示す例では、用紙サイズがA3であり、モノクロで印刷された枚数が3であるジョブレポートテーブルAが追加されている。一方、ジョブレポートテーブル61は、A4サイズの用紙にモノクロで5枚の印刷が行われたことを示す。よって、この例では、A4サイズの用紙にモノクロで5枚の印刷が行われた後、用紙サイズがA3に切り替わり、A3サイズの用紙にモノクロで3枚の印刷が行われたことを示す。
なお、図5に示す例では、印刷設定、具体的には、用紙サイズが1回変更されたので、追加のジョブレポートテーブルAは1つであるが、印刷設定が変更される毎に、追加のジョブレポートAは1つずつ増える。
デバイス10は、File2の印刷処理が完了すると、File2の印刷が完了したことを示す印刷完了通知を中継サーバ100に送信する(T42)。印刷処理の実行中に印刷設定が変更された場合、T42にて送信される印刷完了通知に付加されるステータス情報70には、デバイス10にて追加されたジョブレポートテーブルAの内容が含まれる。
図5には、印刷処理の実行中に印刷設定が変更された場合の印刷完了通知に付加されるステータス情報70の一例として、A4サイズの用紙にモノクロで5枚の印刷が行われたことを示すジョブレポートテーブル72と、用紙サイズがA3である用紙にモノクロで5枚の印刷が行われたことを示すジョブレポートテーブルAとを含むステータス情報を図示する。つまり、この例のステータス情報70によれば、File2について、A4サイズの用紙にモノクロで5ページ分の印刷が行われた後、用紙がA3サイズのものに切り替わり、A3サイズの用紙にモノクロで5ページ分の印刷が行われたことを示す。
中継サーバ100は、デバイス10から印刷完了通知を受信した場合、上述したT16の処理を実行する。つまり、中継サーバ100は、受信した印刷完了通知に付加されるステータス情報70に応じて、データ記憶領域102bに記憶されるステータス情報50の内容を更新する。印刷処理の実行中に印刷設定が変更された場合、T16による更新後のステータス情報50は、当初の印刷設定によるジョブレポートテーブル52に加え、変更された印刷設定によるジョブレポートテーブルAを含む。例えば、図5に示すように、更新後のステータス情報50は、A4サイズの用紙にモノクロで5枚の印刷が行われたことを示すジョブレポートテーブル52と、用紙サイズがA3である用紙にモノクロで5枚の印刷が行われたことを示すジョブレポートテーブルAとが含まれる。
中継サーバ100は、T16の処理後、上述したT17の処理を実行する。つまり、中継サーバ100は、通知設定が自動通知に設定されていることを条件として、印刷状況通知を、サービス提供サーバ200に送信する。T17の結果、図5に示すステータス情報50を受信したサービス提供サーバ200は、A4サイズの用紙にモノクロで5ページ分の印刷が行われた後、用紙がA3サイズのものに切り替わり、A3サイズの用紙にモノクロで5ページ分の印刷が行われたことを把握することができる。
図6(a)は、デバイス10のCPU11が制御プログラム12aに従って実行する印刷処理を示すフローチャートである。本処理は、デバイス10が中継サーバ100から印刷指示を受信した場合に開始される。
CPU11は、受信した印刷指示に含まれる各情報を記憶する(S601)。具体的に、CPU11は、受信した印刷指示に含まれる情報のうち、ジョブ情報は、ジョブ情報に含まれるジョブIDに関連付けて、NVRAM14に記憶する。一方、CPU11は、ファイル情報、および印刷設定を、ジョブ情報に含まれるジョブIDに関連付けて、RAM13に記憶する。
CPU11は、ジョブ情報に含まれるジョブステータスを「pending」から「processing」に更新する(S602)。CPU11は、ジョブレポートテーブル61を作成し、受信したジョブ情報に含まれるジョブIDに関連付けて、NVRAM1に記憶する(S603)。S603にて作成されたジョブレポートテーブル61において、用紙サイズの初期値を、前述したように設定し、印刷枚数の初期値は、ゼロとする。
CPU11は、印刷指示により指示される印刷ジョブについて、当該印刷ジョブにて実行される印刷処理のうち、1ファイル分の印刷処理を開始する(S604)。CPU11は、カバーオープンなど、印刷処理の続行が不可能なエラーが発生したかを判断する(S605)。エラーが発生したとCPU11が判断した場合(S605:Yes)、CPU11は、エラーが発生したことにより処理を終了したことを示すエラー終了通知を、中継サーバ100に送信する(S621)。中継サーバ100は、デバイス10からエラー終了通知を受信した場合、エラー終了通知をサービス提供サーバ200に送信する。
CPU11は、S621の処理後、RAM13およびNVRAM14に記憶される各情報を削除し(S618)、本処理を終了する。具体的に、CPU11は、ジョブ情報、ファイル情報、ジョブレポート61を削除する。
エラーが発生していないとCPU11が判断した場合(S605:No)、CPU11は、印刷処理の対象となるファイル(以下「処理対象ファイル」と称す)に対するファイルステータスを「pending」から「processing」に更新する(S606)。CPU11は、処理対象ファイルの印刷を開始したことを示す印刷開始通知を中継サーバ100に送信する(S607)。S607において、CPU11は、そのときのステータス情報70を印刷開始通知に付加して中継サーバ100に送信する。S607の処理は、上述したシーケンス図におけるT4、およびT11の処理に相当する。
CPU11は、印刷処理が可能であるかを判断する(S608)。ここでは、印刷ジョブを開始するときには、印刷指示に含まれている印刷設定に従って印刷ができるかどうかを判断する。具体的には、印刷設定にカラー印刷が指示されていたらカラー印刷できるか、印刷設定に含まれる用紙サイズで印刷できるか、などを判断してよい。印刷ジョブの途中では、印刷ジョブ内でそれまで印刷してきた設定に従って印刷できるかどうかを判断してよい。具体的には、A4でカラー印刷してきたら、引き続きA4でカラー印刷できるかどうかを判断してよい。この場合、デバイス10のプリンタ部が出力する信号が、A4用紙とカラー着色剤が残っていることを示すか否かで判断してよい。印刷処理が可能であるとCPU11が判断した場合(S608:Yes)、CPU11は、デバイスの印刷機能を用いて、処理対象ファイルに含まれる1ページ分の印刷を開始する(S609)。
一方、印刷処理が可能でないとCPU11が判断した場合(S608:No)、CPU11は、印刷処理を可能でなくす事象に対し、設定の自動変更により対応可能であるかを判断する(S619)。例えば、デバイス10に対し、印刷したい用紙サイズの用紙が用紙トレイにて用紙切れになっている場合に、他の用紙トレイに自動的に変更する設定がなされている場合、CPU11は、設定の自動変更により対応可能であるとし、S619の判断を肯定する。また、カラーの着色剤が残っていなくても、モノクロ印刷に自動的に変更する設定がなされている場合、CPU11は、S619の判断を肯定する。設定の自動変更を認めるか否かの設定は、印刷指示に含まれておらず、予めデバイス10に設定されている場合がある。設定の自動変更を認めるか否かの設定を、印刷指示に含めるようにしてもよい。
CPU11が、S619の判断を肯定した場合(S619:Yes)、CPU11は、設定を変更し、当該変更後の設定を用いた印刷処理の実行状況を示すジョブレポートテーブルAを追加する(S620)。CPU11は、S620の処理後、変更後の設定を用いて、処理対象ファイルに含まれる1ページ分の印刷を開始する(S609)。一方、印刷処理を可能でなくす事象に対し、設定の自動変更により対応可能でないと、CPU11が判断した場合(S619:No)、CPU11は、処理をS621に移行する。
CPU11は、S609にて開始された1ページ分の印刷について、エラーが発生することなく、当該印刷が完了することを待機する(S610:No,S611:No)。S609にて開始された1ページ分の印刷中にエラーが発生した場合(S610:Yes)、CPU11は、処理をS621に移行する。一方、エラーが発生することなく、1ページ分の印刷が完了した場合(S611:Yes)、CPU11は、ジョブレポートテーブル61またはジョブレポートテーブルAを更新する(S612)。例えば、1ページ分のモノクロ印刷が完了した場合、CPU11は、ジョブレポートテーブル61またはジョブレポートテーブルAに含まれる、モノクロでの印刷枚数に1を加算する。S612の処理は、上述したシーケンス図におけるT7、T14、およびT41の処理に相当する。
CPU11は、S612の処理後、処理対象ファイルに未印刷のページがあるかを判断する(S613)。未印刷ページがあるとCPU11が判断した場合(S613:Yes)、CPU11は、処理をS608に移行し、未印刷ページのうち、1ページ分の印刷を開始する。
一方、未印刷ページがないとCPU11が判断した場合、すなわち、処理対象のファイルを構成する全てのページの印刷が完了した場合(S613:No)、CPU11は、処理対象ファイルに対するファイルステータスを「processing」から「completed」に更新する(S614)。CPU11は、印刷指示により指示される印刷ジョブにて実行される印刷処理のうち、未印刷のファイルがあるかを判断する(S615)。
未印刷のファイルがあるとCPU11が判断した場合(S615:Yes)、CPU11は、処理対象ファイルの印刷が完了したことを示す印刷完了通知を中継サーバ100に送信する(S622)。S622において、CPU11は、そのときのステータス情報70を印刷開始通知に付加して中継サーバ100に送信する。S622の処理は、上述したシーケンス図におけるT8の処理に相当する。
一方、未印刷のファイルがないとCPU11が判断した場合、すなわち、印刷指示により指示される印刷ジョブにて実行される印刷処理が全て完了した場合(S615:No)、CPU11は、ジョブ情報に含まれるジョブステータスを「processing」から「completed」に更新する(S616)。
CPU11は、処理対象ファイルの印刷が完了したことを示す印刷完了通知と、印刷指示により指示される印刷ジョブが終了したことを示すジョブ終了通知とを、中継サーバ100に送信する(S617)。S617の処理は、上述したシーケンス図におけるT15、およびT42の処理に相当する。CPU11は、S617の処理後、RAM13およびNVRAM14に記憶される各情報を削除し(S618)、本処理を終了する。
図6(b)は、デバイス10のCPU11が制御プログラム12aに従って実行する再開時処理を示すフローチャートである。本処理は、デバイス10の電源がオフからオンにされた場合、または、デバイス10と中継サーバとの間の接続がオフラインからオンラインとなった場合に開始される。
CPU11は、未完了のジョブ情報があるかを判断する(S641)。具体的に、NVRAM14にジョブ情報が記憶されている場合、CPU11は、S641の判断を肯定する。一方、NVRAM14にジョブ情報が記憶されていない場合、CPU11は、S641の判断を否定する。CPU11がS641の判断を否定する場合(S641:No)、CPU11は、本処理を終了する。
一方、CPU11がS641の判断を肯定する場合(S641:Yes)、CPU11は、NVRAM14に記憶されているジョブ情報に含まれるジョブステータスを「processing」から「aborted」に更新する(S642)。CPU11は、印刷処理が異常に終了したことを示す異常終了通知を中継サーバ100に送信し(S643)、本処理を終了する。S643において、CPU11は、デバイス10の電源がオフになる直前までの印刷処理の実行状況を示すステータス情報80を異常終了通知に付加して中継サーバ100に送信する。S643の処理は、上述したシーケンス図におけるT21の処理に相当する。
図7は、中継サーバ100のCPU101が管理プログラム102a2に従って実行する中継処理を示すフローチャートである。本処理は、中継サーバ100の電源がオンにされたことに伴い開始される。
CPU101は、デバイス10またはサービス提供サーバ200からのリクエストを待ち受ける(S702:No)。デバイス10またはサービス提供サーバ200からのリクエストをCPU101が受信した場合(S702:Yes)、CPU101は、受信したリクエストの内容を判断する(S703)。
受信したリクエストが、サービス提供サーバ200から送信された印刷指示であると、CPU101が判断した場合(S703:印刷指示/サービス提供サーバ)、CPU101は、初期ステータス情報50を、記憶部102に設けられた不揮発性のデータ記憶領域102bに記憶する(S704)。S704の処理は、上述したシーケンス図におけるT2の処理に相当する。CPU101は、初期ステータス情報50を受信した印刷指示に含まれるサービス情報、返信先情報、および通知設定などに関連付けて記憶する。
CPU101は、サービス提供サーバ200から受信した印刷指示に含まれるデバイス情報により特定されるデバイス10に、印刷指示を送信し(S705)、処理をS701に移行する。S704の処理は、上述したシーケンス図におけるT3の処理に相当する。
受信したリクエストが、デバイス10から送信されたステータス情報が付加された通知であると、CPU101が判断した場合(S703:ステータス情報が付加された通知/デバイス)、CPU101は、処理をS707に移行する。なお、ステータス情報が付加された通知とは、ステータス情報70が付加された印刷開始通知、ステータス情報70が付加された印刷完了通知、および、ステータス情報80が付加された異常終了通知である。
CPU101は、デバイス10から受信した通知に付加されたステータス情報70,80に応じて、データ記憶領域102bに記憶されるステータス情報50の内容を更新する(S707)。S707において、CPU101は、ステータス情報70,80に含まれるジョブIDと同じジョブIDを含むステータス情報50の内容を更新する。S707の処理は、上述したシーケンス図におけるT5、T9、T12、T16、およびT22の処理に相当する。
CPU101は、ステータス情報70,80に含まれるジョブIDを含む印刷指示の送信元であるサービス提供サーバ200に対し、自動通知の設定がされているかを判断する(S708)。自動通知の設定は、中継サーバ100に接続されるサービス提供サーバ200毎に、サービス提供サーバ200を特定するサービス情報に関連付けて記憶部102に記憶されている。
該当するサービス提供サーバ200に対し、自動通知の設定がされていると、CPU101が判断した場合(S708:Yes)、CPU101は、印刷状況通知を返信先に送信し(S706)、処理をS701に移行する。S706での返信先は、印刷状況通知に付加されるステータス情報50に関連付けられた返信先情報が示す返信先である。なお、印刷状況通知が、デバイス10から異常終了通知を受信した場合、または、デバイス10と中継サーバ100との通信が切断されたことに基づく通知である場合、CPU101は、S706において、印刷状況通知とともに、エラー情報を送信する。S706の処理は、上述したシーケンス図におけるT6、T10、T13、T17、T23、およびT32の処理に相当する。
一方、該当するサービス提供サーバ200に対し、自動通知の設定がされていないと、CPU101が判断した場合(S708:No)、CPU101は、処理をS701に移行する。自動通知の設定がされていないサービス提供サーバ200は、ジョブIDを指定して印刷状況通知を要求することにより、その都度、指定したジョブIDを含むステータス情報70,80を含む印刷状況通知を受け取ることができる。サービス提供サーバ200が印刷状況通知を要求するタイミングとしては、定期的なタイミング(例えば、1日毎)や、サービス提供サーバ200が操作されて印刷状況通知を要求する指示が入力されたタイミングなどを例示できる。
受信したリクエストが、サービス提供サーバ200から送信された、印刷状況通知の要求であると、CPU101が判断した場合(S703:通知要求/サービス提供サーバ)、CPU101は、当該要求により指定されたジョブIDを含むステータス情報70,80を含む印刷状況通知を、当該要求により指定された返信先に通知し(S706)、処理をS701に移行する。
受信したリクエストが、デバイス10またはサービス提供サーバ200から送信された、上記以外のリクエストであると、CPU101が判断した場合(S703:その他)、CPU101は、その他の処理を実行し(S709)、処理をS701に移行する。例えば、受信したリクエストが、デバイス10から送信されたエラー終了通知である場合、CPU101は、エラー終了通知をサービス提供サーバ200に送信する。
デバイス10またはサービス提供サーバ200からのリクエストをCPU101が受信していない場合(S702:No)、CPU101は、データ記憶領域102bに、サービス提供サーバ200に未送信の、未完了のステータス情報50があるかを判断する(S710)。未完了のステータス情報50は、ジョブ情報51のジョブステータスが、「processing」または「pending」であるステータス情報50である。
該当するステータス情報50がないと、CPU101が判断した場合(S710:No)、CPU101は、処理をS701に移行する。一方、該当するステータス情報50があると、CPU101が判断した場合(S710:Yes)、CPU101は、デバイス10から最後に通信の確立が要求されてから、次の要求を受信することなく所定のタイムアウト期間(例えば、2分)経過したかを判断する(S711)。所定のタイムアウト期間が経過していないと、CPU101が判断した場合(S711:No)、CPU101は、処理をS701に移行する。
一方、所定のタイムアウト期間が経過したと、CPU101が判断した場合(S711:Yes)、CPU101は、タイムアウト処理を実行する(S712)。具体的に、CPU101は、データ記憶領域102bに記憶されるステータス情報50の内容を、エラー発生時の内容に更新する。つまり、CPU101は、ジョブ情報51のジョブステータスを「aborted」に変更する。S712の処理は、上述したシーケンス図におけるT31の処理に相当する。
CPU101は、S712の処理後、処理をS708に移行する。なお、通信のタイムアウトが生じた場合、CPU101は、所定期間(例えば、1日)の経過後に、タイムアウト処理(S712)にて更新されたステータス情報50を削除する。よって、自動通知の設定がされていないサービス提供サーバ200が、通信のタイムアウトが生じた後に、印刷状況通知の要求を行った場合には、該当するステータス情報50がデータ記憶領域102bに残っていることを条件として、印刷状況通知がサービス提供サーバ200に送信される。
本実施形態によれば、デバイス10と、当該デバイス10に対し、印刷処理を実行させるための印刷指示を出すサービス提供サーバ200と、当該サービス提供サーバ200とデバイス10との間に介在する中継サーバ100とを含む構成において、中継サーバ100は、デバイス10から、1ファイル分の印刷処理の開始時および完了時に送信されるステータス情報70,80に応じて、データ記憶領域102bに記憶されるステータス情報50をその都度更新する。よって、中継サーバ100は、デバイス10が印刷処理を実行している間、当該印刷処理のステータス(すなわち、印刷処理の実行状況)を、サービス提供サーバ200に随時報せることができる。
そのため、デバイス10が印刷処理を実行している間に、当該デバイス10の電源がオフになった場合であっても、電源がオフになる直前のステータスを、エラー情報とともに、サービス提供サーバに報せることができる。また、デバイス10が印刷処理を実行している間に、当該デバイス10と中継サーバ100との間の通信が切断された場合であっても、通信が切断される直前のステータスを、エラー情報とともに、サービス提供サーバに報せることができる。
また、デバイス10が印刷処理を実行している間に、用紙切れに伴う用紙トレイの変更など、印刷指示に含まれる印刷設定とは異なる印刷設定での印刷が実行された場合には、当該異なる印刷設定で行われた印刷処理のステータスを記憶するジョブレポートテーブルAがステータス情報70,80に追加される。よって、中継サーバ100は、変更後の印刷設定で行われた印刷処理のステータスを、サービス提供サーバ200に報せることができる。
一方、デバイス10は、1ファイル分の印刷処理の開始時および完了時や、1ページ分の印刷が完了した時など、所定のタイミング毎に、印刷処理のステータスを記憶するジョブレポートテーブル61が更新される。ジョブ情報およびジョブレポートテーブル61は、不揮発性のNVRAM14に記憶されるので、デバイス10の電源が印刷処理の実行中にオフになった場合であっても、当該オフになる直前のステータスを保持し続けることができる。よって、デバイス10の電源が再度オンになった時には、電源がオフになる直前のステータスを含むステータス情報80を中継サーバ100に送信することができる。
ジョブレポートテーブル61および追加のジョブレポートテーブルAには、印刷処理が完了した印刷枚数が含まれるので、1ファイルを構成するページのうち、何ページ分が印刷されたかを、NVRAM14に記憶させることができる。よって、デバイス10の電源が印刷処理の実行中にオフになった場合に、当該オフになる直前まで印刷されたページ数を、中継サーバ100およびサービス提供サーバ200に報せることができる。特に、印刷が完了した印刷枚数は、印刷がカラーまたはモノクロのいずれで行われたかを区別して記憶されるので、デバイス10の電源がオフになる直前に、カラーで何ページ分の印刷がされたか、モノクロで何ページ分の印刷がされたかを、中継サーバ100およびサービス提供サーバ200に報せることができる。
デバイス10は、ジョブ情報や、ジョブレポートテーブル61などを、不揮発性のNVRAM14に記憶する一方で、ファイル情報を、揮発性のRAM13に記憶する。ファイル情報は、各ファイルの印刷処理の開始時に送信すれば事足りるので、デバイス10の電源が印刷処理中にオフになった場合に消失したとしても、問題がない。よって、ファイル情報をRAM13に記憶させることにより、NVRAM14の消費を抑制できる。特に、ファイル情報に含まれるファイルID、すなわち、格納情報がURLである場合、データサイズが比較的大きなサイズとなるので、ファイル情報をRAM13に記憶させることは、NVRAM14の消費を抑制するという点においてより好ましい。
中継サーバ100は、データ記憶領域102bに記憶されるステータス情報50が更新される毎に、当該ステータス情報50を、当該ステータス情報に関連付けられているサービス情報により特定されるサービス提供サーバ200、すなわち、当該ステータス情報を含む印刷指示の送信元であるサービス提供サーバ200に逐次送信する。よって、印刷指示の送信元のサービス提供サーバ200に対し、当該印刷指示に基づき実行される印刷処理のステータスを逐次報せることができる。特に、印刷処理のステータスの送信先は、印刷指示に含まれる返信先情報が示す返信先に送信されるので、サービス提供サーバが要求する返信先にステータス情報を送信できる。
また、上記逐次送信は、ステータス情報50の送信先となるサービス提供サーバ200に対し、自動通知の設定がされていることを条件とする。その一方で、自動通知の設定がされていないサービス提供サーバ200については、サービス提供サーバ200からの要求に応じて、ステータス情報50が送信される。よって、各サービス提供サーバ200にとって好適な態様で、ステータス情報50をサービス提供サーバに送信できる。
上記実施形態において、処理実行システム1が、処理実行システムの一例である。中継サーバ100が、中継サーバの一例である。デバイス10が、デバイスの一例である。サービス提供サーバ200が、サービス提供サーバの一例である。ルータ30が、ルータの一例である。インターネット800が、インターネットの一例である。記憶部102が、第1記憶部の一例である。NVRAM14が、第2記憶部の一例である。RAM13が、第3記憶部の一例である。ネットワークI/F103が、通信部の一例である。CPU101が、制御部の一例である。LAN_I/F23が、通信部の一例である。CPU11が、制御部の一例である。プリンタ部19が、所定の処理を実行する処理実行部の一例である。ファイルが、処理情報の一例である。ファイルのページが、処理情報に含まれる部分の一例である。ファイルIDが、特定情報の一例である。印刷指示が、実行指示情報の一例である。ステータス情報50,70,80、エラー情報が、ステータス情報の一例である。サービス情報が、サービス識別情報の一例である。印刷設定が、設定情報の一例である。返信先情報が、送信先識別情報の一例である。
T1の処理を実行するサービス提供サーバ200が、第1指示送信手段の一例である。S705の処理を実行するCPU101が、第2指示送信手段の一例である。S604の処理を実行するCPU11が、処理実行手段の一例である。S607,S622,S617,S643の処理を実行するCPU11が、第1ステータス送信手段の一例である。S704の処理を実行するCPU101が、第1記憶手段の一例である。S704,S707の処理を実行するCPU101が、第2記憶手段の一例である。S706の処理を実行するCPU101が、第2ステータス送信手段の一例である。S602,S603,S606,S612,S614,S616,S620,S642の処理を実行するCPU11が、第3記憶手段の一例である。S601の処理を実行するCPU11が、第4記憶手段の一例である。S704で、XMPP over BOSHによる接続が確立されているデバイス10に中継サーバ100が送信した設定情報を、ルータ30が中継し、デバイス10が受信する処理がサーバプッシュの一例である。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、上記実施形態では、サービス提供サーバ200が提供するサービスとして、デバイス10に印刷処理を実行させるサービスを例示した。印刷処理に限らず、スキャン処理など、他の処理を実行させるサービスを提供する場合であっても、本発明を適用することができる。
上記実施形態では、デバイス10として、多機能周辺装置を例示したが、サービス提供サーバ200が提供するサービスを利用可能な装置であれば、プリンタやスキャナなどの単機能を有する装置であっても、本発明を適用できる。また、デバイス10として、指示データなどに基づいて、所定の画像を刺繍、キルティングするミシンでもよい。画像データに基づいた作品、製品を形成するために、飾り縫い、縫製などをおこなうミシンでもよい。指示データなどに基づいて、吹き付け、削りだしなどで、3D画像を生成する3Dプリンタでもよい。指示データなどに基づいて、材料を加工する工作機械でもよい。楽曲を演奏する装置や、映像を上演する装置でもよい。何らかの情報を定期的に取得するセンシングデバイスや、家庭設備、工場設備などの稼働を管理する稼働管理装置などを採用した場合であっても、本発明を適用できる。
上記実施形態では、印刷指示に含まれる印刷設定として、用紙サイズを例示したが、両面印刷または片面印刷に関する設定や、ふちなし印刷またはふちあり印刷に関する設定などであっても、本発明を適用できる。
上記実施形態では、デバイス10が、ファイル情報をRAM13に記憶する構成としたが、NVRAM1に記憶する構成であってもよい。

上記実施形態では、デバイス10が、1ファイルの印刷が開始するタイミングおよび完了したタイミングで、ステータス情報70を中継サーバ100に送信する構成としたが、他のタイミングで送信する構成としてもよい。例えば、1ページ分の印刷が完了する毎に、ステータス情報70を中継サーバ100に送信する構成としてもよい。
上記実施形態では、デバイス10は、1ページ分の印刷が行われる毎に、ジョブレポートテーブル61またはジョブレポートテーブルAを更新する構成とした。更新のタイミングは、ページ単位以外の単位であってもよい。例えば、エクセルファイルなど、ページ概念のないファイルを印刷する場合に、1シート分の印刷が行われる毎に、ジョブレポートテーブル61などを更新する構成としてもよい。
上記実施形態では、中継サーバ100は、デバイス10にサービス情報を送信しない構成としたが、サービス情報を送信する構成としてもよい。一方、デバイス10は、ステータス情報70,80を中継サーバ100に送信する際に、対応するサービス情報を送信する構成としてもよい。かかる場合、中継サーバ100は、ジョブIDからサーバ情報を特定することなく、ステータス情報70,80を、送信すべきサービス提供サーバ200に送信することができる。
上記実施形態では、異常終了通知に付加されるステータス情報80にはファイルステータスが含まれないものとして説明したが、ステータス情報80に、異常発生時に印刷処理の実行中であったファイルステータスを「aborted」として含む構成であってもよい。また、ステータス情報50において、ジョブステータスを「aborted」に更新するタイミングで、各ファイルのファイルステータスも「aborted」に更新する構成としてもよい。
上記実施形態では、中継サーバ100は、通知設定が自動通知に設定されているサービス提供サーバ200に対してのみ、印刷状況通知のコールバックを行う構成としたが、通知設定が自動通知に設定されていない場合であっても、状況に応じて中継サーバ100が自動的にコールバックを行うことが可能な構成であってもよい。例えば、デバイス10と中継サーバ100との間の通信が切断された場合には、通知設定が自動通知に設定されていなくても、中継サーバ100は、印刷状況通知とエラー情報とをサービス提供サーバ200に送信する構成としてもよい。
上記実施形態では、印刷処理に対する印刷設定として、用紙サイズの設定と、カラー印刷またはモノクロ印刷を指定する設定とを例示したが、これに限定されるものではない。印刷設定としては、両面印刷の設定や、ふちなし印刷の設定など、デバイス10が利用可能な各種設定を採用できる。
上記実施形態では、印刷設定が印刷指示に含まれる場合に、デバイス10が当該印刷設定に従った用紙サイズで印刷を開始できない場合には、デバイス10は、印刷を開始することが可能な、異なる用紙サイズで印刷を開始する、とした。これに対し、デバイス10が印刷設定に従って印刷を開始できない場合、デバイス10は、どの設定が原因で印刷できないかを示す印刷不可情報を、中継サーバ100経由でサービス提供サーバ200に送信してもよい。印刷不可情報を受信したサービス提供サーバ200は、印刷できない原因となった設定を、デバイス10が印刷可能な設定に変更して、新たな印刷指示を送信してもよい。すなわち、設定を変更してT1からやり直せばよい。デバイス10は、印刷不可情報に、印刷可能な設定を示す情報を含めてもよい。また、印刷不可情報に、印刷可能な設定と、その設定で印刷開始してよいか問い合わせる情報を含めてもよい。この場合、印刷不可情報を受信したサービス提供サーバ200が、デバイス10が送信してきた印刷設定で印刷してよいことを示す情報を中継サーバ100経由で送信すると、デバイス10はその情報を受信したことに応じて、印刷を開始してよい。もちろん、印刷不可情報を受信したサービス提供サーバ200が、上記したT1のやり直しを行ってもよい。
また、サービス提供サーバ200が、T1に先立って、印刷設定を含む印刷予約情報を中継サーバ100経由でデバイス10に送信してもよい。この場合、デバイス10は、デバイス10が印刷設定に従って印刷を開始できる場合は、その旨を示す印刷可能情報を中継サーバ100経由でサービス提供サーバ200に送信してもよい。印刷を開始できない場合は、印刷不可情報を送信してもよい。この場合、印刷可能情報を受信したサービス提供サーバ200が、印刷してよいことを示す情報を中継サーバ100経由で送信すると、デバイス10はその情報を受信したことに応じて、印刷を開始してよい。なお、印刷可能情報を受信したサービス提供サーバの振る舞いは、上記した例のいずれかでもよい。
上記実施形態では、デバイス10と中継サーバ100との通信が切断された場合、その通信が復旧した際には、デバイス10が異常終了通知を中継サーバ100に送信する構成とした。デバイス10と中継サーバ100との間における通信の切断が、デバイス10の電源によるものでなく、デバイス10にて印刷処理は実行中であるが、通信用のコネクタの脱離や、通信障害などによって切断された場合もあり得る。よって、かかる場合を考慮し、デバイス10と中継サーバ100との間における通信が復旧した際には、デバイス10は、通信が切断されていた期間に実行された印刷処理の状況を中継サーバ100に報せる構成としてもよい。かかる場合、中継サーバ100は、デバイス情報50を、通信が切断されていた期間に実行された印刷処理の状況に応じて更新することができる。これに伴い、サービス提供サーバ200にも、通信が切断されていた期間に実行された印刷処理の状況を報せることができる。
かかる変形例では、デバイス10は、図6(a)の印刷処理において、デバイス10と中継サーバ100との通信が切断された場合、その後は、NVRAM14に記憶するジョブレポートやファイルステータスなどの内容を、印刷処理に供されたファイル毎に保持する。そして、デバイス10と中継サーバ100との通信が復旧した場合、デバイス10は、図6(b)の再開時処理において、通信切断後に印刷処理が完了した全てのファイルについて、ファイル毎に、NVRAM14に記憶される内容に応じたステータス情報70を中継サーバ100に送信する。中継サーバ10は、受信したステータス情報70に基づいて、ステータス情報50の内容を最新の内容に更新する。そして、中継サーバ100は、更新後のステータス情報50を付加した印刷状況通知をサービス提供サーバ200に送信する。なお、デバイス10と中継サーバ100との通信が復旧したタイミングで、あるファイルの印刷処理がデバイス10にて実行中である場合、デバイス10は、当該実行中の印刷処理が完了したことに応じて、T8やT15と同様に、印刷が完了したファイルに関する印刷完了通知を中継サーバ100に送信する。
図6または図7に示す各処理のうち、一部の処理を、特許請求の範囲における独立請求項から逸脱しない範囲で、省略または変更してもよい。例えば、図6におけるS608,S619,S620の処理を省略する構成としてもよい。
上記実施形態では、CPU11またはCPU101が、図6または図7に記載される各処理を実行する構成として説明したが、これら各図に記載される各処理を、複数のCPUが協同的に実行する構成としてもよい。また、ASICなどのICが、単独で、または、複数によって協働的に、上記各図に記載される各処理を実行する構成してもよい。また、CPU11とASICなどのICとが協同して、上記各図に記載される各処理を実行する構成してもよい。
1:処理実行システム,10:デバイス,100:中継サーバ,200:サービス提供サーバ

Claims (16)

  1. ルータを介してインターネットに接続している、所定の処理を実行可能なデバイスと、
    前記デバイスに所定の処理を実行させるサービスを提供するインターネット上のサービス提供サーバと、
    第1記憶部を備え、前記サービス提供サーバと前記デバイスとの間を中継するインターネット上の中継サーバと、
    を備えた処理実行システムであって、
    前記デバイスと前記中継サーバとは、インターネット上で発生した、前記デバイスへ送信すべき情報を、通信プロトコルを用いて前記中継サーバから前記デバイスに前記ルータを介して送信し、前記デバイスが受信するサーバプッシュが可能な状態で接続され、
    前記サービス提供サーバは、
    前記デバイスにおける所定の処理の対象となる処理情報を特定する特定情報を含む、前記所定の処理の実行を指示する実行指示情報を送信する第1指示送信手段を備え、
    前記中継サーバは、
    前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、前記特定情報を含む、前記所定の処理の実行指示情報を、前記サーバプッシュが可能な状態で、前記通信プロトコルを用いて前記デバイスに送信する第2指示送信手段を備え、
    前記デバイスは、
    前記中継サーバから前記サーバプッシュが可能な状態で送信された前記実行指示情報を受信したことに応じて、当該実行指示情報に含まれる特定情報により特定される前記処理情報を取得し、当該処理情報を用いた所定の処理を実行する処理実行手段と、
    前記処理実行手段による処理の実行中、当該実行中の処理のステータスを示すステータス情報を送信すべきタイミングとなったことに応じて、前記ステータス情報を前記中継サーバに送信する第1ステータス送信手段と、
    を備え、
    前記中継サーバは、
    前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、当該サービス提供サーバを識別するサービス識別情報を前記第1記憶部に記憶する第1記憶手段と、
    前記デバイスから送信された前記ステータス情報を受信したことに応じて、受信した前記ステータス情報を、前記サービス識別情報と対応付けて前記第1記憶部に記憶する第2記憶手段と、
    前記第2記憶手段により前記第1記憶部に記憶された前記ステータス情報であって、前記サービス提供サーバに送信していない前記ステータス情報を、当該ステータス情報に関連付けられている前記サービス提供サーバに送信する第2ステータス送信手段と、を備えていることを特徴とする処理実行システム。
  2. 前記デバイスは、不揮発性の第2記憶部を備え、
    前記デバイスは、
    前記処理実行手段による前記処理の実行中、当該実行中の処理のステータスを示すステータス情報を前記第2記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を前記第2記憶部に記憶する第3記憶手段を備え、
    前記デバイスが備える前記第1ステータス送信手段は、前記デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が前記第2記憶部に記憶されている場合には、当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項1記載の処理実行システム。
  3. 前記デバイスが備える前記第3記憶手段は、
    前記処理情報に含まれる複数の部分のうち、1つの部分に対し前記処理実行手段による処理の実行が完了したことに応じて、前記処理情報に含まれる幾つの部分に対し処理が完了したかを示すステータス情報を前記第2記憶部に記憶させ、
    前記デバイスが備える前記第1ステータス送信手段は、
    前記処理情報に対し前記処理実行手段による処理の実行が開始されたことに応じて、処理情報に対し処理が開始されたことを示す前記ステータス情報を、前記中継サーバに送信し、
    前記処理情報の全体に対し前記処理実行手段による処理の実行が完了したことに応じて、前記処理情報の全体に対し処理が完了したことを示す前記ステータス情報を、前記第2記憶部に記憶されている、前記処理情報に含まれる幾つの部分に対し処理が完了したかを示すステータス情報を含めて前記中継サーバに送信し、
    前記デバイスの電源がオフからオンに切り替わったことに応じて、幾つの部分に対し処理が完了したかを示すステータス情報が前記第2記憶部に記憶されている場合には当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項2に記載の処理実行システム。
  4. 前記実行指示情報は、
    複数の前記処理情報毎の前記特定情報を含む、当該複数の処理情報それぞれを用いた処理を順番に実行することを指示する情報であり、
    前記デバイスが備える前記第1ステータス送信手段は、
    前記実行指示情報に含まれる複数の特定情報のうち1つの特定情報により特定される処理情報に対し、前記処理実行手段による処理の実行が開始されたことに応じて、前記特定情報により特定される処理情報に対し処理が開始されたことを示す前記ステータス情報を、前記中継サーバに送信し、
    前記実行指示情報に含まれる複数の特定情報のうち1つの特定情報により特定される処理情報に対し、前記処理実行手段による処理の実行が完了したことに応じて、前記特定情報により特定される処理情報に対し処理が完了したことを示す前記ステータス情報を、前記第2記憶部に記憶されている、前記処理情報に含まれる幾つの部分に対し処理が完了したかを示すステータス情報を含めて前記中継サーバに送信し、
    前記実行指示情報に含まれる複数の特定情報により特定される全ての処理情報に対し前記処理実行手段により実行される処理が完了したことに応じて、前記実行指示情報により指示された処理全体が完了したことを示すステータス情報を、前記第2記憶部に記憶されている、前記処理情報に含まれる幾つの部分に対し処理が完了したかを示すステータス情報を含めて前記中継サーバに送信し、
    前記デバイスの電源がオフからオンに切り替わったことに応じて、幾つの部分に対し処理が完了したかを示すステータス情報が前記第2記憶部に記憶されている場合には当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項3に記載の処理実行システム。
  5. 前記実行指示情報は、
    複数の前記処理情報毎の前記特定情報を含む、当該複数の処理情報それぞれを用いた印刷処理を順番に実行することを指示する情報であり、
    前記デバイスが備える前記第3記憶手段は、
    前記処理情報を用いた1ページ分の印刷が完了したことに応じて、前記実行指示情報によって指示される印刷処理において印刷が完了したページ数の累積を示す前記ステータス情報を前記第2記憶部に記憶させ、
    前記デバイスが備える前記第1ステータス送信手段は、
    前記処理情報に対し前記処理実行手段による印刷処理の実行が開始されたことに応じて、処理情報に対し印刷処理の実行が開始されたことを示す前記ステータス情報を、前記中継サーバに送信し、
    前記実行指示情報に含まれる複数の特定情報により特定されるての処理情報に対し前記印刷処理の実行が完了したことに応じて、前記ての処理情報に対し印刷処理が完了したことを示す前記ステータス情報を、前記第2記憶部に記憶されている、前記実行指示情報によって指示される印刷処理において印刷が完了したページ数の累積を示すステータス情報を含めて前記中継サーバに送信し、
    前記デバイスの電源がオフからオンに切り替わったことに応じて、前記実行指示情報によって指示される印刷処理において印刷が完了したページ数の累積を示すステータス情報が前記第2記憶部に記憶されている場合には当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項3または4に記載の処理実行システム。
  6. 前記実行指示情報は、
    複数の前記処理情報毎の前記特定情報と、前記実行指示情報が指示する処理全体を識別する全体識別情報とを含む、当該複数の処理情報それぞれを用いた処理を順番に実行することを指示する情報であり、
    前記デバイスは、不揮発性の前記第2記憶部と、揮発性の第3記憶部とを備え、
    前記デバイスは、
    前記中継サーバから前記実行指示情報を取得したことに応じて、当該実行指示情報に含まれる前記特定情報を前記第3記憶部に記憶する一方で、当該実行指示情報に含まれる前記全体識別情報を前記第2記憶部に記憶する第4記憶手段を備えており、
    前記デバイスが備える前記処理実行手段は、
    前記第3記憶部が記憶している特定情報により特定される前記処理情報を取得し、当該処理情報を用いた所定の処理を実行し、
    前記デバイスが備える前記第記憶手段は、
    前記処理実行手段による前記処理の実行中、当該実行中の処理のステータス情報を当該実行中の処理のステータスを示すステータス情報を前記第2記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を、前記全体識別情報と関連付けて前記第2記憶部に記憶し、
    前記デバイスが備える前記第1ステータス送信手段は、
    前記デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が前記第2記憶部に記憶されている場合には当該ステータス情報と、当該ステータス情報に関連付けられた前記全体識別情報と、を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項2から5のいずれかに記載の処理実行システム。
  7. 前記実行指示情報は、当該実行指示情報が指示する処理の設定情報を含み、
    前記デバイスが備える前記第3記憶手段は、
    前記処理実行手段による処理の実行中、当該処理を指示した実行指示情報に含まれる設定情報と異なる設定での処理が実行された場合、当該実行中の処理のステータス情報を前記第2記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を、設定が変更されたことを示す変更情報と関連付けて、前記第2記憶部に記憶し、
    前記デバイスが備える前記第1ステータス送信手段は、
    前記デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が前記第2記憶部に記憶されている場合には当該ステータス情報と、当該ステータス情報に関連付けられた前記変更情報と、を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項2から6のいずれかに記載の処理実行システム。
  8. 前記中継サーバが備える前記第2ステータス送信手段は、
    前記第2記憶手段により前記ステータス情報が記憶される毎に、当該記憶されたステータス情報を、当該ステータス情報に関連付けられているサービス提供サーバに送信する逐次送信処理を実行することを特徴とする請求項1から7のいずれかに記載の処理実行システム。
  9. 前記中継サーバが備える前記第2ステータス送信手段は、
    ステータスの逐次送信が前記サービス提供サーバから指定されている場合、前記第2記憶手段により前記ステータス情報が記憶された毎に、前記逐次送信処理を実行し、
    前記ステータスの逐次送信が前記サービス提供サーバから指定されていない場合、前記第2記憶手段により前記ステータス情報が記憶されても、前記逐次送信処理を実行せず、前記サービス提供サーバから、前記ステータス情報を要求する要求情報を受信したことに応じて、前記第1記憶部に記憶されているステータス情報を、当該ステータス情報に関連付けられているサービス提供サーバに送信することを特徴とする請求項8に記載の処理実行システム。
  10. 前記サービス提供サーバが備える前記第1指示送信手段は、
    処理情報を特定する特定情報と、前記ステータス情報の送信先を示す送信先識別情報を含む前記実行指示情報を送信し、
    前記中継サーバが備える前記第1記憶手段は、
    記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、当該サービス提供サーバを識別するサービス識別情報と、前記送信先識別情報と、を対応付けて前記第1記憶部に記憶し、
    前記中継サーバが備える前記第2ステータス送信手段は、
    前記逐次送信処理において、前記第2記憶手段により前記ステータス情報が記憶される毎に、当該更新されたステータス情報を、当該ステータス情報に関連付けられている前記サービス識別情報に対応付けられている前記送信先識別情報を用いて送信することによって、当該ステータスを、当該ステータス情報に関連付けられている前記サービス提供サーバに送信することを特徴とする請求項8または9のいずれかに記載の処理実行システム。
  11. 前記中継サーバが備える前記第2指示送信手段は、
    前記サービス提供サーバから送信された前記実行指示情報を受信し、かつ、当該サービス提供サーバを識別するサービス識別情報を前記第1記憶手段が前記第1記憶部に記憶したことに応じて、当該サービス識別情報と、前記特定情報と、を含む、前記実行指示情報を、前記通信プロトコルを用いて前記デバイスにサーバプッシュし、
    前記デバイスが備える前記第1ステータス送信手段は、
    前記中継サーバからサーバプッシュされた、前記サービス識別情報と、前記特定情報と、を含む前記実行指示情報を受信したことに応じて、前記処理実行手段が処理を実行している最中に、前記ステータス情報を送信すべきタイミングとなったことに応じて、当該サービス識別情報を含む前記ステータス情報を前記中継サーバに送信し、
    前記中継サーバが備える前記第2ステータス送信手段は、
    前記逐次送信処理において、前記第2記憶手段により前記ステータス情報が記憶される毎に、当該更新されたステータス情報を、当該ステータス情報に含まれるサービス識別情報から特定される前記サービス識別情報に対応付けられている前記送信先識別情報を用いて送信することによって、当該ステータスを、当該ステータス情報に関連付けられている前記サービス提供サーバに送信することを特徴とする請求項10に記載の処理実行システム。
  12. 前記中継サーバが備える前記第2ステータス送信手段は、
    前記第2指示送信手段が前記実行指示情報を前記デバイスにサーバプッシュした後に、前記デバイスとの前記中継サーバとの間が所定期間以上に亘って前記サーバプッシュ不可能な状態となった場合、前記第1記憶手段が前記第1記憶部に記憶した前記サービス識別情報が識別する前記サービス提供サーバに、エラーが発生したことを示すステータス情報を送信することを特徴とする請求項1から11のいずれかに記載の処理実行システム。
  13. 前記中継サーバが備える前記第2ステータス送信手段は、前記デバイスとの前記中継サーバとの間が所定期間以上に亘って前記サーバプッシュ不可能な状態となり、かつ、前記デバイスから受信したものの前記サービス提供サーバに送信していない前記ステータス情報が前記第1記憶部に記憶されている場合、当該未送信のステータス情報と、前記エラーが発生したことを示すステータス情報とを送信することを特徴とする請求項12記載の処理実行システム。
  14. 前記デバイスは、不揮発性の第2記憶部を備え、
    前記デバイスは、
    前記処理実行手段による前記処理の実行中、当該実行中の処理のステータス情報を当該実行中の処理のステータスを示すステータス情報を前記第2記憶部に記憶すべきタイミングとなった毎に前記第2記憶部に記憶する第3記憶手段を備え、
    前記中継サーバが備える前記第2ステータス送信手段は、
    前記第2指示送信手段が前記実行指示情報を前記デバイスにサーバプッシュした後に、前記デバイスの電源がオフになったことによって前記デバイスとの前記中継サーバとの間が所定期間以上に亘って前記サーバプッシュ不可能な状態となった場合、前記エラーが発生したことを示すステータス情報を送信し、
    前記デバイスが備える前記第1ステータス送信手段は、
    前記デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が前記第2記憶部に記憶されている場合には当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信し、
    前記中継サーバが備える前記第2ステータス送信手段は、
    前記第2指示送信手段が前記実行指示情報を前記デバイスにサーバプッシュした後に、前記デバイスから送信された前記異常情報を受信した場合、前記第1記憶手段が前記第1記憶部に記憶した前記サービス識別情報が識別する前記サービス提供サーバに、前記異常情報を送信することを特徴とする請求項12または13記載の処理実行システム。
  15. 通信部と、
    第1記憶部と、
    制御部と、を備えた中継サーバであって
    前記通信部は、ルータを介してインターネットに接続している、所定の処理を実行可能なデバイスと、前記デバイスに所定の処理を実行させるサービスを提供するインターネット上のサービス提供サーバとに接続され、
    前記デバイスとの接続は、インターネット上で発生した、前記デバイスへ送信すべき情報を、通信プロトコルを用いて前記中継サーバから前記デバイスに前記ルータを介して送信し、前記デバイスが受信するサーバプッシュが可能な状態で接続され、
    前記制御部は、
    前記サービス提供サーバから送信された、前記デバイスにおける所定の処理の対象となる処理情報を特定する特定情報を含む、前記所定の処理の実行を指示する実行指示情報を受信したことに応じて、前記特定情報を含む、前記所定の処理の実行指示情報を、前記サーバプッシュが可能な状態で、前記通信プロトコルを用いて前記デバイスにサーバプッシュする第2指示送信手段と、
    前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、当該サービス提供サーバを識別するサービス識別情報を、前記第1記憶部に記憶する第1記憶手段と、
    前記第2指示送信手段により送信した前記実行指示情報に応じて前記デバイスが実行する、当該実行指示情報に含まれる特定情報により特定される前記処理情報を用いた所定の処理のステータスを示すステータス情報を、前記デバイスから受信したことに応じて、受信した前記ステータス情報を、前記サービス識別情報と対応付けて前記第1記憶部に記憶する第2記憶手段と、
    前記第2記憶手段により前記第1記憶部に記憶された前記ステータス情報であって、前記サービス提供サーバに送信していない前記ステータス情報を、当該ステータス情報に関連付けられている前記サービス提供サーバに送信する第2ステータス送信手段と、
    を備えていることを特徴とする中継サーバ。
  16. 通信部と、
    不揮発性の第2記憶部と、
    所定の処理を実行する処理実行部と、
    制御部と、を備えたデバイスであって、
    前記通信部は、ルータを介して、前記デバイスに所定の処理を実行させるサービスを提供するサービス提供サーバとの間を中継する中継サーバに接続され、
    前記中継サーバとの接続は、インターネット上で発生した、前記デバイスへ送信すべき情報を、通信プロトコルを用いて前記中継サーバから前記デバイスに前記ルータを介して送信し、前記デバイスが受信するサーバプッシュが可能な状態で接続され、
    前記制御部は、
    前記中継サーバから前記サーバプッシュが可能な状態で送信された、前記デバイスにおける所定の処理の対象となる処理情報を特定する特定情報を含む、前記所定の処理の実行を指示する実行指示情報を受信したことに応じて、当該実行指示情報に含まれる特定情報により特定される前記処理情報を取得し、当該処理情報を用いた所定の処理を実行する処理実行手段と、
    前記処理実行手段による前記処理の実行中、当該実行中の処理のステータス情報を当該実行中の処理のステータスを示すステータス情報を前記第2記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を前記第2記憶部に記憶する第3記憶手段と、
    前記処理実行手段による処理の実行中、当該実行中の処理のステータスを示すステータス情報を送信すべきタイミングとなったことに応じて、前記第2記憶部に記憶されている前記ステータス情報を前記中継サーバに送信する第1ステータス送信手段と、
    を備えていることを特徴とするデバイス。
JP2014073760A 2014-03-31 2014-03-31 処理実行システム、中継サーバ、および、デバイス Active JP6337574B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014073760A JP6337574B2 (ja) 2014-03-31 2014-03-31 処理実行システム、中継サーバ、および、デバイス
US14/645,502 US9386170B2 (en) 2014-03-31 2015-03-12 Operation performing system capable of grasping performance status

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014073760A JP6337574B2 (ja) 2014-03-31 2014-03-31 処理実行システム、中継サーバ、および、デバイス

Publications (2)

Publication Number Publication Date
JP2015198267A JP2015198267A (ja) 2015-11-09
JP6337574B2 true JP6337574B2 (ja) 2018-06-06

Family

ID=54192123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014073760A Active JP6337574B2 (ja) 2014-03-31 2014-03-31 処理実行システム、中継サーバ、および、デバイス

Country Status (2)

Country Link
US (1) US9386170B2 (ja)
JP (1) JP6337574B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6515052B2 (ja) 2016-03-16 2019-05-15 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
JP6896402B2 (ja) * 2016-11-25 2021-06-30 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、およびプログラム
JP2019134253A (ja) * 2018-01-30 2019-08-08 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2019185088A (ja) * 2018-04-02 2019-10-24 コニカミノルタ株式会社 情報通信制御プログラム、情報通信制御方法及びプリンタコントローラ
JP7302181B2 (ja) * 2019-01-28 2023-07-04 株式会社リコー 情報処理システム及び情報処理方法
JP7447686B2 (ja) * 2020-06-05 2024-03-12 ブラザー工業株式会社 通信システム、第1のサーバ、第2のサーバ、第1のサーバのためのコンピュータプログラム、及び、第2のサーバのためのコンピュータプログラム
JP2022182599A (ja) * 2021-05-28 2022-12-08 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2023032675A (ja) * 2021-08-27 2023-03-09 キヤノン株式会社 画像形成装置、情報処理システム、画像形成装置の制御方法およびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4428250B2 (ja) * 2005-02-17 2010-03-10 セイコーエプソン株式会社 ネットワークに接続された印刷装置の印刷進行状況監視制御
JP2007272833A (ja) * 2006-03-31 2007-10-18 Ricoh Co Ltd 印刷システム、印刷装置、ホスト装置、印刷方法、印刷プログラム、印刷制御プログラムおよび記録媒体
JP2008129642A (ja) 2006-11-16 2008-06-05 Canon Inc 表示装置
JP4990821B2 (ja) * 2008-03-07 2012-08-01 株式会社リコー 印刷装置、プログラムおよび印刷制御方法
JP5768336B2 (ja) * 2009-09-15 2015-08-26 株式会社リコー 印刷装置および印刷システム
JP5402782B2 (ja) * 2010-03-31 2014-01-29 ブラザー工業株式会社 プリンタ検索装置、印刷仲介サーバ、及び、コンピュータプログラム
JP5704330B2 (ja) * 2011-03-31 2015-04-22 ブラザー工業株式会社 印刷システム、印刷装置、及び、仲介装置
JP2013125349A (ja) * 2011-12-13 2013-06-24 Canon Inc 印刷システム、中継サーバ、処理装置、制御方法、およびコンピュータプログラム
JP6107261B2 (ja) * 2013-03-15 2017-04-05 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP6295785B2 (ja) * 2014-03-31 2018-03-20 ブラザー工業株式会社 処理実行システムおよび中継サーバ

Also Published As

Publication number Publication date
US9386170B2 (en) 2016-07-05
US20150281475A1 (en) 2015-10-01
JP2015198267A (ja) 2015-11-09

Similar Documents

Publication Publication Date Title
JP6337574B2 (ja) 処理実行システム、中継サーバ、および、デバイス
EP2428886B1 (en) Job processing apparatus, computer program, and computer-readable storage medium
JP4089701B2 (ja) 画像処理装置、画像処理システム、および、画像処理方法
US9253357B2 (en) Operation execution system and relay server
US20120188599A1 (en) Image forming system, print data management device, and method of controlling print data management device
US8451482B2 (en) Printing system and printing method
JP6340914B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP2014172394A (ja) 印刷装置、プログラム及び印刷システム
JP2010259061A (ja) 画像読取プログラム
US8559041B2 (en) Image output instructing device, image output instructing method, and storage medium for determining a processing state of an image output instruction
JP5472347B2 (ja) サーバー、該サーバーによるジョブの印刷制御方法及び印刷制御プログラム
JP2009003621A (ja) 印刷装置及び分散印刷制御装置
JP4462312B2 (ja) 画像処理装置、画像処理システム、および、画像処理方法
US11029898B2 (en) Electronic apparatus
JP2016031602A (ja) サーバー、印刷装置、それらの制御方法、及びプログラム
JP5945987B2 (ja) 管理装置管理方法および管理プログラム
JP2006025076A (ja) 画像形成装置および外部処理装置
JP6129233B2 (ja) ジョブ処理装置、ジョブ処理装置の制御方法、プログラム、及び記憶媒体
JP5200610B2 (ja) 画像形成システム
JP2017049653A (ja) 画像形成システムおよび印刷位置ずれ補正方法
JP6649679B2 (ja) 画像形成装置、それを含むプリントシステム、制御方法及びコンピュータプログラム
JP2019206146A (ja) 印刷装置、情報処理装置、それらの制御方法、及びプログラム
JP2007174159A (ja) 画像処理制御装置
JP2019021033A (ja) 印刷制御装置及びその制御方法、プログラム、画像形成システム
JP2012234329A (ja) 画像形成装置及びプログラム更新方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R150 Certificate of patent or registration of utility model

Ref document number: 6337574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150