(57)【要約】      （修正有）【課題】デバイスとサービス提供サーバとの間に中継サーバが介在する構成において、サービス提供サーバが、デバイスにて実行中の処理の実行状況を好適に把握できる処理実行システム、中継サーバ、および、デバイスを提供する。【解決手段】サービス提供サーバ２００から実行指示情報を受信した中継サーバ１００は、当該実行指示情報をデバイス１０に送信する一方で、当該実行指示情報の送信元のサービス提供サーバを識別するサービス識別情報をデバイスの第１記憶部に記憶する。デバイスは、実行指示情報に応じた所定の処理の実行中、当該実行中の処理のステータスを示すステータス情報を、当該ステータス情報を送信すべきタイミングで中継サーバに随時送信する。中継サーバは、デバイスから送信されたステータス情報を、サービス識別情報と対応付けて記憶部に記憶する。【選択図】図１
2015198267.tif 000002
【特許請求の範囲】
【請求項１】
ルータを介してインターネットに接続している、所定の処理を実行可能なデバイスと、
前記デバイスに所定の処理を実行させるサービスを提供するインターネット上のサービス提供サーバと、
第１記憶部を備え、前記サービス提供サーバと前記デバイスとの間を中継するインターネット上の中継サーバと、
を備えた処理実行システムであって、
前記デバイスと前記中継サーバとは、インターネット上で発生した、前記デバイスへ送信すべき情報を、通信プロトコルを用いて前記中継サーバから前記デバイスに前記ルータを介して送信し、前記デバイスが受信するサーバプッシュが可能な状態で接続され、
前記サービス提供サーバは、
前記デバイスにおける所定の処理の対象となる処理情報を特定する特定情報を含む、前記所定の処理の実行を指示する実行指示情報を送信する第１指示送信手段を備え、
前記中継サーバは、
前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、前記特定情報を含む、前記所定の処理の実行指示情報を、前記サーバプッシュが可能な状態で、前記通信プロトコルを用いて前記デバイスに送信する第２指示送信手段を備え、
前記デバイスは、
前記中継サーバから前記サーバプッシュが可能な状態で送信された前記実行指示情報を受信したことに応じて、当該実行指示情報に含まれる特定情報により特定される前記処理情報を取得し、当該処理情報を用いた所定の処理を実行する処理実行手段と、
前記処理実行手段による処理の実行中、当該実行中の処理のステータスを示すステータス情報を送信すべきタイミングとなったことに応じて、前記ステータス情報を前記中継サーバに送信する第１ステータス送信手段と、
を備え、
前記中継サーバは、
前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、当該サービス提供サーバを識別するサービス識別情報を前記第１記憶部に記憶する第１記憶手段と、
前記デバイスから送信された前記ステータス情報を受信したことに応じて、受信した前記ステータス情報を、前記サービス識別情報と対応付けて前記第１記憶部に記憶する第２記憶手段と、
前記第２記憶手段により前記第１記憶部に記憶された前記ステータス情報であって、前記サービス提供サーバに送信していない前記ステータス情報を、当該ステータス情報に関連付けられている前記サービス提供サーバに送信する第２ステータス送信手段と、を備えていることを特徴とする処理実行システム。
【請求項２】
前記デバイスは、不揮発性の第２記憶部を備え、
前記デバイスは、
前記処理実行手段による前記処理の実行中、当該実行中の処理のステータスを示すステータス情報を前記第２記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を前記第２記憶部に記憶する第３記憶手段を備え、
前記デバイスが備える前記第１ステータス送信手段は、前記デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が前記第２記憶部に記憶されている場合には、当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項１記載の処理実行システム。
【請求項３】
前記デバイスが備える前記第３記憶手段は、
前記処理情報に含まれる複数の部分のうち、１つの部分に対し前記処理実行手段による処理の実行が完了したことに応じて、前記処理情報に含まれる幾つの部分に対し処理が完了したかを示すステータス情報を前記第２記憶部に記憶させ、
前記デバイスが備える前記第１ステータス送信手段は、
前記処理情報に対し前記処理実行手段による処理の実行が開始されたことに応じて、処理情報に対し処理が開始されたことを示す前記ステータス情報を、前記中継サーバに送信し、
前記処理情報の全体に対し前記処理実行手段による処理の実行が完了したことに応じて、前記処理情報の全体に対し処理が完了したことを示す前記ステータス情報を、前記第２記憶部に記憶されている、前記処理情報に含まれる幾つの部分に対し処理が完了したかを示すステータス情報を含めて前記中継サーバに送信し、
前記デバイスの電源がオフからオンに切り替わったことに応じて、幾つの部分に対し処理が完了したかを示すステータス情報が前記第２記憶部に記憶されている場合には当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項２に記載の処理実行システム。
【請求項４】
前記実行指示情報は、
複数の前記処理情報毎の前記特定情報を含む、当該複数の処理情報それぞれを用いた処理を順番に実行することを指示する情報であり、
前記デバイスが備える前記第１ステータス送信手段は、
前記実行指示情報に含まれる複数の特定情報のうち１つの特定情報により特定される処理情報に対し、前記処理実行手段による処理の実行が開始されたことに応じて、前記特定情報により特定される処理情報に対し処理が開始されたことを示す前記ステータス情報を、前記中継サーバに送信し、
前記実行指示情報に含まれる複数の特定情報のうち１つの特定情報により特定される処理情報に対し、前記処理実行手段による処理の実行が完了したことに応じて、前記特定情報により特定される処理情報に対し処理が完了したことを示す前記ステータス情報を、前記第２記憶部に記憶されている、前記処理情報に含まれる幾つの部分に対し処理が完了したかを示すステータス情報を含めて前記中継サーバに送信し、
前記実行指示情報に含まれる複数の特定情報により特定される全ての処理情報に対し前記処理実行手段により実行される処理が完了したことに応じて、前記実行指示情報により指示された処理全体が完了したことを示すステータス情報を、前記第２記憶部に記憶されている、前記処理情報に含まれる幾つの部分に対し処理が完了したかを示すステータス情報を含めて前記中継サーバに送信し、
前記デバイスの電源がオフからオンに切り替わったことに応じて、幾つの部分に対し処理が完了したかを示すステータス情報が前記第２記憶部に記憶されている場合には当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項３に記載の処理実行システム。
【請求項５】
前記実行指示情報は、
複数の前記処理情報毎の前記特定情報を含む、当該複数の印刷情報それぞれを用いた印刷処理を順番に実行することを指示する情報であり、
前記デバイスが備える前記第３記憶手段は、
前記印刷情報を用いた１ページ分の印刷が完了したことに応じて、前記実行指示情報によって指示される印刷処理において印刷が完了したページ数の累積を示す前記ステータス情報を前記第２記憶部に記憶させ、
前記デバイスが備える前記第１ステータス送信手段は、
前記印刷情報に対し前記処理実行手段による印刷処理の実行が開始されたことに応じて、印刷情報に対し印刷処理の実行が開始されたことを示す前記ステータス情報を、前記中継サーバに送信し、
前記実行指示情報に含まれる複数の特定情報により特定されるすべての印刷情報に対し前記印刷処理の実行が完了したことに応じて、前記すべての印刷情報に対し印刷処理が完了したことを示す前記ステータス情報を、前記第２記憶部に記憶されている、前記実行指示情報によって指示される印刷処理において印刷が完了したページ数の累積を示すステータス情報を含めて前記中継サーバに送信し、
前記デバイスの電源がオフからオンに切り替わったことに応じて、前記実行指示情報によって指示される印刷処理において印刷が完了したページ数の累積を示すステータス情報が前記第２記憶部に記憶されている場合には当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項３または４に記載の処理実行システム。
【請求項６】
前記実行指示情報は、
複数の前記処理情報毎の前記特定情報と、前記実行指示情報が指示する処理全体を識別する全体識別情報とを含む、当該複数の処理情報それぞれを用いた処理を順番に実行することを指示する情報であり、
前記デバイスは、不揮発性の前記第２記憶部と、揮発性の第３記憶部とを備え、
前記デバイスは、
前記中継サーバから前記実行指示情報を取得したことに応じて、当該実行指示情報に含まれる前記特定情報を前記第３記憶部に記憶する一方で、当該実行指示情報に含まれる前記全体識別情報を前記第２記憶部に記憶する第４記憶手段を備えており、
前記デバイスが備える前記処理実行手段は、
前記第３記憶部が記憶している特定情報により特定される前記処理情報を取得し、当該処理情報を用いた所定の処理を実行し、
前記デバイスが備える前記第２記憶手段は、
前記処理実行手段による前記処理の実行中、当該実行中の処理のステータス情報を当該実行中の処理のステータスを示すステータス情報を前記第２記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を、前記全体識別情報と関連付けて前記第２記憶部に記憶し、
前記デバイスが備える前記第１ステータス送信手段は、
前記デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が前記第２記憶部に記憶されている場合には当該ステータス情報と、当該ステータス情報に関連付けられた前記全体識別情報と、を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項２から５のいずれかに記載の処理実行システム。
【請求項７】
前記実行指示情報は、当該実行指示情報が指示する処理の設定情報を含み、
前記デバイスが備える前記第３記憶手段は、
前記処理実行手段による処理の実行中、当該処理を指示した実行指示情報に含まれる設定情報と異なる設定での処理が実行された場合、当該実行中の処理のステータス情報を前記第２記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を、設定が変更されたことを示す変更情報と関連付けて、前記第２記憶部に記憶し、
前記デバイスが備える前記第１ステータス送信手段は、
前記デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が前記第２記憶部に記憶されている場合には当該ステータス情報と、当該ステータス情報に関連付けられた前記変更情報と、を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信することを特徴とする請求項２から６のいずれかに記載の処理実行システム。
【請求項８】
前記中継サーバが備える前記第２ステータス送信手段は、
前記第２記憶手段により前記ステータス情報が記憶される毎に、当該記憶されたステータス情報を、当該ステータス情報に関連付けられているサービス提供サーバに送信する逐次送信処理を実行することを特徴とする請求項１から７のいずれかに記載の処理実行システム。
【請求項９】
前記中継サーバが備える前記第２ステータス送信手段は、
ステータスの逐次送信が前記サービス提供サーバから指定されている場合、前記第２記憶手段により前記ステータス情報が記憶された毎に、前記逐次送信処理を実行し、
前記ステータスの逐次送信が前記サービス提供サーバから指定されていない場合、前記第２記憶手段により前記ステータス情報が記憶されても、前記逐次送信処理を実行せず、前記サービス提供サーバから、前記ステータス情報を要求する要求情報を受信したことに応じて、前記第１記憶部に記憶されているステータス情報を、当該ステータス情報に関連付けられているサービス提供サーバに送信することを特徴とする請求項８に記載の処理実行システム。
【請求項１０】
前記サービス提供サーバが備える前記第１指示送信手段は、
処理情報を特定する特定情報と、前記ステータス情報の送信先を示す送信先識別情報を含む前記実行指示情報を送信し、
前記中継サーバが備える前記第１記憶手段は、
前記前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、当該サービス提供サーバを識別するサービス識別情報と、前記送信先識別情報と、を対応付けて前記第１記憶部に記憶し、
前記中継サーバが備える前記第２ステータス送信手段は、
前記逐次送信処理において、前記第２記憶手段により前記ステータス情報が記憶される毎に、当該更新されたステータス情報を、当該ステータス情報に関連付けられている前記サービス識別情報に対応付けられている前記送信先識別情報を用いて送信することによって、当該ステータスを、当該ステータス情報に関連付けられている前記サービス提供サーバに送信することを特徴とする請求項８または９のいずれかに記載の処理実行システム。
【請求項１１】
前記中継サーバが備える前記第２指示送信手段は、
前記サービス提供サーバから送信された前記実行指示情報を受信し、かつ、当該サービス提供サーバを識別するサービス識別情報を前記第１記憶手段が前記第１記憶部に記憶したことに応じて、当該サービス識別情報と、前記特定情報と、を含む、前記実行指示情報を、前記通信プロトコルを用いて前記デバイスにサーバプッシュし、
前記デバイスが備える前記第１ステータス送信手段は、
前記中継サーバからサーバプッシュされた、前記サービス識別情報と、前記特定情報と、を含む前記実行指示情報を受信したことに応じて、前記処理実行手段が処理を実行している最中に、前記ステータス情報を送信すべきタイミングとなったことに応じて、当該サービス識別情報を含む前記ステータス情報を前記中継サーバに送信し、
前記中継サーバが備える前記第２ステータス送信手段は、
前記逐次送信処理において、前記第２記憶手段により前記ステータス情報が記憶される毎に、当該更新されたステータス情報を、当該ステータス情報に含まれるサービス識別情報から特定される前記サービス識別情報に対応付けられている前記送信先識別情報を用いて送信することによって、当該ステータスを、当該ステータス情報に関連付けられている前記サービス提供サーバに送信することを特徴とする請求項１０に記載の処理実行システム。
【請求項１２】
前記中継サーバが備える前記第２ステータス送信手段は、
前記第２指示送信手段が前記実行指示情報を前記デバイスにサーバプッシュした後に、前記デバイスとの前記中継サーバとの間が所定期間以上に亘って前記サーバプッシュ不可能な状態となった場合、前記第１記憶手段が前記第１記憶部に記憶した前記サービス識別情報が識別する前記サービス提供サーバに、エラーが発生したことを示すステータス情報を送信することを特徴とする請求項１から１１のいずれかに記載の処理実行システム。
【請求項１３】
前記中継サーバが備える前記第２ステータス送信手段は、前記デバイスとの前記中継サーバとの間が所定期間以上に亘って前記サーバプッシュ不可能な状態となり、かつ、前記デバイスから受信したものの前記サービス提供サーバに送信していない前記ステータス情報が前記第１記憶部に記憶されている場合、当該未送信のステータス情報と、前記エラーが発生したことを示すステータス情報とを送信することを特徴とする請求項１２記載の処理実行システム。
【請求項１４】
前記デバイスは、不揮発性の第２記憶部を備え、
前記デバイスは、
前記処理実行手段による前記処理の実行中、当該実行中の処理のステータス情報を当該実行中の処理のステータスを示すステータス情報を前記第２記憶部に記憶すべきタイミングとなった毎に前記第２記憶部に記憶する第３記憶手段を備え、
前記中継サーバが備える前記第２ステータス送信手段は、
前記第２指示送信手段が前記実行指示情報を前記デバイスにサーバプッシュした後に、前記デバイスの電源がオフになったことによって前記デバイスとの前記中継サーバとの間が所定期間以上に亘って前記サーバプッシュ不可能な状態となった場合、前記エラーが発生したことを示すステータス情報を送信し、
前記デバイスが備える前記第１ステータス送信手段は、
前記デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が前記第２記憶部に記憶されている場合には当該ステータス情報を含む、前記処理実行手段による処理中に電源オフしたことを示す異常情報を前記中継サーバに送信し、
前記中継サーバが備える前記第２ステータス送信手段は、
前記第２指示送信手段が前記実行指示情報を前記デバイスにサーバプッシュした後に、前記デバイスから送信された前記異常情報を受信した場合、前記第１記憶手段が前記第１記憶部に記憶した前記サービス識別情報が識別する前記サービス提供サーバに、前記異常情報を送信することを特徴とする請求項１２または１３記載の処理実行システム。
【請求項１５】
通信部と、
記憶部と、
制御部と、を備え、
前記通信部は、ルータを介してインターネットに接続している、所定の処理を実行可能なデバイスと、前記デバイスに所定の処理を実行させるサービスを提供するインターネット上のサービス提供サーバとに接続され、
前記デバイスとの接続は、インターネット上で発生した、前記デバイスへ送信すべき情報を、通信プロトコルを用いて前記中継サーバから前記デバイスに前記ルータを介して送信し、前記デバイスが受信するサーバプッシュが可能な状態で接続され、
前記制御部は、
前記サービス提供サーバから送信された、前記デバイスにおける所定の処理の対象となる処理情報を特定する特定情報を含む、前記所定の処理の実行を指示する実行指示情報を受信したことに応じて、前記特定情報を含む、前記所定の処理の実行指示情報を、前記サーバプッシュが可能な状態で、前記通信プロトコルを用いて前記デバイスにサーバプッシュする第２指示送信手段と、
前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、当該サービス提供サーバを識別するサービス識別情報を、前記第１記憶部に記憶する第１記憶手段と、
前記第２指示送信手段により送信した前記実行指示に応じて前記デバイスが実行する、当該実行指示情報に含まれる特定情報により特定される前記処理情報を用いた所定の処理のステータスを示すステータス情報を、前記デバイスから受信したことに応じて、受信した前記ステータス情報を、前記サービス識別情報と対応付けて前記第１記憶部に記憶する第２記憶手段と、
前記第２記憶手段により前記第１記憶部に記憶された前記ステータス情報であって、前記サービス提供サーバに送信していない前記ステータス情報を、当該ステータス情報に関連付けられている前記サービス提供サーバに送信する第２ステータス送信手段と、
を備えていることを特徴とする中継サーバ。
【請求項１６】
通信部と、
不揮発性の記憶部と、
所定の処理を実行する処理実行部と、
制御部と、を備えたデバイスであって、
前記通信部は、ルータを介して、前記デバイスに所定の処理を実行させるサービスを提供するサービス提供サーバとの間を中継する中継サーバに接続され、
前記中継サーバとの接続は、インターネット上で発生した、前記デバイスへ送信すべき情報を、通信プロトコルを用いて前記中継サーバから前記デバイスに前記ルータを介して送信し、前記デバイスが受信するサーバプッシュが可能な状態で接続され、
前記制御部は、
前記中継サーバから前記サーバプッシュが可能な状態で送信された、前記デバイスにおける所定の処理の対象となる処理情報を特定する特定情報を含む、前記所定の処理の実行を指示する実行指示情報を受信したことに応じて、当該実行指示情報に含まれる特定情報により特定される前記処理情報を取得し、当該処理情報を用いた所定の処理を実行する処理実行手段と、
前記処理実行手段による前記処理の実行中、当該実行中の処理のステータス情報を当該実行中の処理のステータスを示すステータス情報を前記第２記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を前記第２記憶部に記憶する第３記憶手段と、
前記処理実行手段による処理の実行中、当該実行中の処理のステータスを示すステータス情報を送信すべきタイミングとなったことに応じて、前記第２記憶部に記憶されている前記ステータス情報を前記中継サーバに送信する第１ステータス送信手段と、
を備えていることを特徴とするデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理実行システム、中継サーバ、および、デバイスに関する。
【背景技術】
【０００２】
特許文献１には、プリンタの印刷状況を、当該プリンタに印刷データを送信した表示装置に伝え、当該表示装置に印刷状況が表示される技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１２９６４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
デバイスに所定の処理を実行させるサービスを提供するサービス提供サーバが、デバイスにサービスを提供した場合、サービスサーバは、デバイスにて実行中の処理がどこまで行われたかを把握する必要がある。しかしながら、デバイスとサービス提供サーバとの間に中継サーバが介在される場合、デバイスでの処理の実行中に、当該デバイス、または、当該デバイスと中継サーバとの通信に異常が発生した場合、サービス提供サーバは、実行中の処理がどこまで行われたかを把握することができない。
【０００５】
本発明は、上述した事情を鑑みてなされたものであり、デバイスとサービス提供サーバとの間に中継サーバが介在される構成において、サービス提供サーバが、デバイスにて実行中の処理の実行状況を好適に把握できる処理実行システム、中継サーバ、および、デバイスを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明の処理実行システムは、ルータを介してインターネットに接続している、所定の処理を実行可能なデバイスと、前記デバイスに所定の処理を実行させるサービスを提供するインターネット上のサービス提供サーバと、第１記憶部を備え、前記サービス提供サーバと前記デバイスとの間を中継するインターネット上の中継サーバと、を備えた処理実行システムであって、前記デバイスと前記中継サーバとは、インターネット上で発生した、前記デバイスへ送信すべき情報を、通信プロトコルを用いて前記中継サーバから前記デバイスに前記ルータを介して送信し、前記デバイスが受信するサーバプッシュが可能な状態で接続され、前記サービス提供サーバは、前記デバイスにおける所定の処理の対象となる処理情報を特定する特定情報を含む、前記所定の処理の実行を指示する実行指示情報を送信する第１指示送信手段を備え、前記中継サーバは、前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、前記特定情報を含む、前記所定の処理の実行指示情報を、前記サーバプッシュが可能な状態で、前記通信プロトコルを用いて前記デバイスに送信する第２指示送信手段を備え、前記デバイスは、前記中継サーバから前記サーバプッシュが可能な状態で送信された前記実行指示情報を受信したことに応じて、当該実行指示情報に含まれる特定情報により特定される前記処理情報を取得し、当該処理情報を用いた所定の処理を実行する処理実行手段と、前記処理実行手段による処理の実行中、当該実行中の処理のステータスを示すステータス情報を送信すべきタイミングとなったことに応じて、前記ステータス情報を前記中継サーバに送信する第１ステータス送信手段と、を備え、前記中継サーバは、前記サービス提供サーバから送信された前記実行指示情報を受信したことに応じて、当該サービス提供サーバを識別するサービス識別情報を前記第１記憶部に記憶する第１記憶手段と、前記デバイスから送信された前記ステータス情報を受信したことに応じて、受信した前記ステータス情報を、前記サービス識別情報と対応付けて前記第１記憶部に記憶する第２記憶手段と、前記第２記憶手段により前記第１記憶部に記憶された前記ステータス情報であって、前記サービス提供サーバに送信していない前記ステータス情報を、当該ステータス情報に関連付けられている前記サービス提供サーバに送信する第２ステータス送信手段と、を備えている。
【０００７】
なお、本発明の処理実行システムは、処理実行装置、処理実行装置を制御する制御装置、処理実行方法、処理実行システムを実現するプログラム、当該プログラムを記録する記録媒体等の種々の態様で構成できる。また、本発明の処理実行システムで利用可能な中継サーバおよびデバイスは、中継サーバまたはデバイスを制御する制御装置、中継サーバまたはデバイスを実現するプログラム等の種々の態様で構成できる。
【発明の効果】
【０００８】
本明細書の実施形態に記載の処理実行システム、処理実行装置、処理実行装置を制御する制御装置、処理実行方法、処理実行システムを実現するプログラム、当該プログラムを記録する記録媒体等によれば、サービス提供サーバから、デバイスに所定の処理を実行する実行指示情報が送信された場合、当該実行指示情報を受信した中継デバイスは、当該実行指示情報をデバイスに送信する一方で、当該実行指示情報の送信元のサービス提供サーバを識別するサービス識別情報をデバイスの第１記憶部に記憶する。デバイスは、中継サーバを介してサービス提供サーバから実行指示情報を受信したことに応じて、当該実行指示情報に含まれる特定情報により特定される処理情報を用いた所定の処理を実行する。デバイスは、実行指示情報に応じた所定の処理の実行中、当該実行中の処理のステータスを示すステータス情報を、当該ステータス情報を送信すべきタイミングで中継サーバに随時送信する。中継サーバは、デバイスから送信されたステータス情報を、サービス識別情報と対応付けて第１記憶部に記憶する。
【０００９】
よって、中継サーバは、デバイスが所定の処理を実行している間、当該処理のステータスを随時のタイミングでデバイスから受信し、第１記憶部に記憶するので、デバイスにて実行される処理の進捗を随時サービス提供サーバに報せることができる。そのため、例えば、デバイスが所定の処理を実行している間に、当該デバイス、または、当該デバイスと中継サーバとの通信に異常が発生した場合であっても、異常発生前における処理のステータスをサービス提供サーバに報せることができる。
【００１０】
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、実行指示情報に応じた所定の処理の実行中、当該実行中の処理のステータスを示すステータス情報を、当該ステータス情報を記憶すべきタイミングで、デバイスの第２記憶部に随時記憶される。そして、デバイスは、当該デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が第２記憶部に記憶されている場合には、当該ステータス情報を含む、処理中に電源オフしたことを示す異常情報を、中継サーバに送信する。よって、中継サーバを介して、異常発生前における処理のステータスをサービス提供サーバに報せることができる。
【００１１】
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、処理情報に含まれる複数の部分のうち、１つの部分に対し処理の実行が完了したことに応じて、当該処理情報に含まれる複数の部分のうち、幾つの部分に対し処理が完了したかを示すステータス情報を、第２記憶部に記憶させる。よって、デバイスの電源がオフからオンに切り替わった場合に、電源がオフになる前に、処理情報に含まれる幾つの部分が処理されたかを、中継サーバを介して、サービス提供サーバに報せることができる。
【００１２】
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、実行指示情報に複数の特定情報が含まれる場合には、１の特定情報により特定される処理情報毎に、処理が開始されたこと、および、処理が完了したことを、中継サーバを介して、サービス提供サーバに報せることができるとともに、全ての特定情報により特定される全ての処理情報に対する処理が完了したことを、中継サーバを介して、サービス提供サーバに報せることができる。また、デバイスは、１の処理情報に対する処理が完了した場合、および、全ての処理情報に対する処理が完了した場合には、処理情報に含まれる幾つの部分に対して処理が完了したかを、中継サーバを介してサービス提供サーバに報せることができる。そして、デバイスは、当該デバイスの電源がオフからオンに切り替わったことに応じて、幾つの部分に対し処理が完了したかを示すステータス情報が第２記憶部に記憶されている場合には、当該ステータス情報を含む、処理の実行中に電源オフしたことを示す異常情報を中継サーバに送信する。よって、処理の実行中に電源がオフになったことと、当該オフになる前に、処理情報に含まれる幾つの部分に対して処理が完了したかを、中継サーバを介して、サービス提供サーバに報せることができる。
【００１３】
本明細書の実施形態に記載の処理実行システム等によれば、デバイスが、サービス提供サーバから送信された実行指示情報に応じて、印刷処理を実行する場合に１ページ分の印刷が完了する毎に、印刷が完了したページ数の累積を示すステータス情報を第２記憶部に記憶する。そして、デバイスは、当該デバイスの電源がオフからオンに切り替わったことに応じて、実行指示情報によって指示される印刷処理において印刷が完了したページ数の累積を示すステータス情報が第２記憶部に記憶されている場合には、当該ステータス情報を含む、処理の実行中に電源オフしたことを示す異常情報を中継サーバに送信する。よって、処理の実行中に電源がオフになったことと、当該オフになる前に印刷が完了したページ数の累積を、中継サーバを介して、サービス提供サーバに報せることができる。
【００１４】
本明細書の実施形態に記載の処理実行システム等によれば、実行指示情報は、複数の処理情報毎の特定情報と、当該実行指示情報が指示する処理全体を識別する全体識別情報とを含む。デバイスは、中継サーバから受信した実行指示情報のうち、全体識別情報を、不揮発性の第２記憶部に記憶し、特定情報を、揮発性の第３記憶部に記憶する。また、デバイスは、処理に応じたステータス情報を、第２記憶部に記憶する。全体識別情報とステータス情報とは、不揮発性の第２記憶部に記憶されるので、デバイスの電源がオフになり、その後に電源がオンになった場合であっても、それらの情報は電源がオフになる前の内容を維持することができる。よって、処理の実行中にデバイスの電源がオフからオンに切り替わった場合に、電源がオフになる前における処理のステータスを、中継サーバを介して、サービス提供サーバに報せることができる。一方、特定情報は、処理の実行中に電源がオフになった後、再度オンになった場合に送信する必要のない情報であるので、かかる情報を揮発性の第３記憶部に記憶させておくことにより、不揮発性の第２記憶部の消費を抑制できる。
【００１５】
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、処理の実行中、当該処理を指示した実行指示情報に含まれる設定情報と異なる設定での処理が実行された場合、当該実行中の処理のステータスを示すステータス情報を第２記憶部に記憶すべきタイミングとなった毎に、当該ステータス情報を、設定が変更されたことを示す変更情報と関連付けて、第２記憶部に記憶する。よって、ステータス情報とともに、実行指示情報に含まれる設定情報に応じた当初の処理から、設定が変更されたことを、中継サーバを介して、サービス提供サーバに報せることができる。
【００１６】
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、第１記憶部にステータス情報が記憶される毎に、当該記憶されたステータス情報を、当該ステータス情報に関連付けられているサービス提供サーバに送信する逐次送信処理を実行する。よって、サービス提供サーバは、中継サーバが第１記憶部にステータス情報を記憶するタイミングと同様のタイミングでステータス情報を受信できる。
【００１７】
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、サービス提供サーバから逐次送信が指定されている場合には、第１記憶部にステータス情報が記憶される毎に、上記逐次送信処理を実行する。その一方で、中継サーバは、サービス提供サーバから逐次送信が指定されていない場合には、第１記憶部にステータス情報が記憶されても、当該ステータス情報の送信は行わず、サービス提供サーバからの要求に応じて、第１記憶部に記憶されているステータス情報を送信する。よって、好適な態様でステータス情報をサービス提供サーバに送信できる。
【００１８】
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、処理実行指示情報に含まれる送信先識別情報を、上記逐次送信の送信先とするので、サービス提供サーバが要求する送信先にステータス情報を送信できる。
【００１９】
本明細書の実施形態に記載の処理実行システム等によれば、デバイスは、サービス識別情報を特定可能な情報を含むステータス情報を中継サーバに送信するので、中継サーバは、デバイスが実行する処理を指示する処理実行指示情報の送信元であるサービス提供サーバに、デバイスから受信したステータス情報を送信することができる。
【００２０】
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、実行指示情報をデバイスにサーバプッシュした後に、デバイスとの中継サーバとの間が所定期間以上に亘ってサーバプッシュ不可能な状態となった場合、実行指示情報の送信元であるサービス提供サーバに、エラーが発生したことを示すステータス情報を送信する。よって、エラーの発生をサービス提供サーバに報せることができる。
【００２１】
本明細書の実施形態に記載の処理実行システム等によれば、デバイスとの中継サーバとの間が所定期間以上に亘ってサーバプッシュ不可能な状態となり、かつ、デバイスから受信したもののサービス提供サーバに送信していないステータス情報が第１記憶部に記憶されている場合には、当該未送信のステータス情報と、エラーが発生したことを示すステータス情報とを送信する。よって、エラー発生前のステータス情報をサービス提供サーバに報せることができる。
【００２２】
本明細書の実施形態に記載の処理実行システム等によれば、中継サーバは、実行指示情報をデバイスにサーバプッシュした後に、当該デバイスの電源がオフになったことによってデバイスとの中継サーバとの間が所定期間以上に亘ってサーバプッシュ不可能な状態となった場合、エラーが発生したことを示すステータス情報をサービス提供サーバに送信するので、エラーの発生をサービス提供サーバに報せることができる。一方、デバイスは、当該デバイスの電源がオフからオンに切り替わったことに応じて、未送信のステータス情報が不揮発性の第２記憶部に記憶されている場合には、当該ステータス情報を含む、処理の実行中に電源オフしたことを示す異常情報を中継サーバに送信する。中継サーバは、実行指示情報をデバイスにサーバプッシュした後に、当該デバイスから送信された異常情報を受信した場合、当該実行指示情報に対応するサービス提供サーバに、受信した異常情報を送信する。よって、サービスサーバに、発生したエラーが、デバイスの電源がオフになったことに基づくものであることを報せることができる。
【００２３】
なお、特許請求の範囲および明細書において、用語「情報」と用語「データ」とでは、「情報」を「データ」の上位概念として用いている。そのため、「Ａデータ」との記載を「Ａ情報」と言い換えてもよい。また、「データ」及び「情報」は、形式（例えば、テキスト形式、バイナリ形式、フラグ形式等）がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「２つ」であることを示す情報が、あるコンピュータではＡＳＣＩＩコードで”０ｘ３２”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”１０”というバイナリ形式の情報として保持されてもよい。但し、「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。
【図面の簡単な説明】
【００２４】
【図１】処理実行システムの構成の一例を示すブロック図である。
【図２】処理実行システムを構成する各装置の作動を示すシーケンス図である。
【図３】処理実行システムを構成する各装置の作動を示すシーケンス図である。
【図４】処理実行システムを構成する各装置の作動を示すシーケンス図である。
【図５】処理実行システムを構成する各装置の作動を示すシーケンス図である。
【図６】（ａ）および（ｂ）は、それぞれ、デバイスが実行する印刷処理および再開時処理を示すフローチャートである。
【図７】中継サーバが実行する中継処理を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の処理実行システムの一実施形態である処理実行システム１の構成の一例を示すブロック図である。処理実行システム１は、デバイス１０と、中継サーバ１００と、サービスサーバ２００とを含んで構成される。
【００２６】
本実施形態のデバイス１０は、印刷機能、スキャン機能、コピー機能、ファクシミリ機能などの各種機能を有する多機能周辺装置である。サービス提供サーバ２００は、デバイス１０に所定の処理を実行させるサービスを提供するサーバである。本実施形態では、サービス提供サーバ２００は、印刷機能を用いた印刷処理をデバイス１０に実行させるサーバとして構成される。中継サーバ１００は、デバイス１０とサービス提供サーバ２００との間で通信を中継するサーバとして構成される。
【００２７】
本実施形態の中継サーバ１００は、デバイス１０が、サービス提供サーバ２００からの処理の実行指示に応じて開始した処理について、当該処理の実行状況を示す情報（以下「ステータス情報」と称す）をデバイス１０から受信し、受信したステータス情報を記憶する。中継サーバ１００は、記憶したステータス情報であり、かつ、サービス提供サーバ２００に未送信のステータス情報を、所定のタイミングでサービス提供サーバ２００に送信する。これにより、サービス提供サーバ２００が、デバイス１０にて実行中の処理の実行状況を好適に把握することができる。
【００２８】
デバイス１０は、ルータ３０を介してインターネット８００に接続される。中継サーバ１００およびサービス提供サーバ２００もまた、インターネット８００に接続される。デバイス１０と中継サーバ１００との間の通信は、接続確立型のプロトコル、より詳細には、ＸＭＰＰ  ｏｖｅｒ  ＢＯＳＨ（Extensible Messaging and Presence Protocol
Over Bidirectional-Streams Over Synchronous HTTPの略）に従って行われる。ＸＭＰＰ  ｏｖｅｒ  ＢＯＳＨは、接続を確立した状態をほぼ常時維持するため、常時接続型のプロトコル、または、接続維持型のプロトコル、であるとも言える。一方、デバイス１０とサービス提供サーバ２００との間の通信は、ＨＴＴＰ（Hypertext Transfer Protocolの略）に従って行われる。
【００２９】
上述した通り、デバイス１０は、ルータ３０を介してインターネット８００に接続されるが、デバイス１０からインターネット８００側に送信された情報と、その情報に対する返信はルータ３０が通すものの、当該返信以外の、インターネット８００側からデバイス１０に送信された情報は、ルータ３０により遮断される。よって、サービス提供サーバ２００は、デバイス１０に情報を送信することができない。
【００３０】
これに対し、デバイス１０との間で接続確立型のプロトコルに従う通信であれば、デバイス１０から中継サーバ１００へ、接続確立を要求する情報が定期的に送信される。中継サーバ１００は、デバイス１０に送信すべき情報を、接続確立を要求する情報のうち、いずれかによって確立された接続を用いて送信すればよい。接続が確立していると、ルータ３０は、インターネット側８００からデバイス１０に送信された情報を通すことができる。よって、デバイス１０との間で接続確立型のプロトコルに従う接続が確立されている中継サーバ１００が、インターネット上で発生したデバイス１０に送信すべき情報を、ルータ３０を介してデバイス１０に送信した場合、その情報は、デバイス１０が受信する、サーバプッシュを行うことができる。すなわち、サーバプッシュとは、インターネット側の装置から、インターネット側で発生した情報を、ルータを介してインターネットに接続しているデバイスに送信する送信処理と、送信された情報をルータが中継する中継処理と、中継された情報を、デバイスが受信する受信処理と、を含む処理のことである。なお、デバイス側で発生した、受信したい情報を特定した要求を、ルータを介してインターネット側の装置へ送信し、要求によって特定される種類の情報をインターネット側の装置からルータを介してデバイスに返信する処理は、サーバプッシュには含まれない。サーバプッシュは、例えば本実施例のようにＸＭＰＰ  ｏｖｅｒ  ＢＯＳＨを用いた接続によって実現することができる。しかし、インターネット側の装置から送信された、インターネット側で発生した情報を、ルータがデバイスに中継可能な構成であれば、本実施例に限定されるものではない。
【００３１】
なお、中継サーバ１００とデバイス１０と中継サーバ１００との間には、接続確立型のプロトコルに従う通信が確立されるが、当該通信が確立してから所定のタイムアウト期間が経過した場合には、確立されていた通信のリンクは切断される。接続確立型のプロトコルに従う通信のリンクが切断されると、中継サーバ１００からデバイス１０に送信された情報は、ルータ３０により遮断されるようになる。つまり、中継サーバ１００からデバイス１０に情報を送信することができなくなる。そのため、本実施形態では、接続確立型のプロトコルに従う通信の確立を維持するため、デバイス１０は、当該通信が確立された後は、上記タイムアウト期間より短い一定周期毎、例えば、１分毎に、中継サーバ１００に対し、当該通信の確立を要求するよう構成される。なお、上記「一定周期」は、厳密に同じ周期毎であることを意図するものではなく、ある程度の幅をもたせた概念である。
【００３２】
デバイス１０には、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ＮＶＲＡＭ１４、操作キー１５、ＬＣＤ１６、タッチパネル１７、スキャナ部１８、プリンタ部１９、ＮＣＵ２０、モデム２１、ＬＡＮインターフェイス（以下「ＬＡＮ＿Ｉ／Ｆ」と称す）２３が主に設けられている。これらの各部は、入出力ポート２４を介して互いに接続されている。
【００３３】
ＣＰＵ１１は、ＲＯＭ１２、ＲＡＭ１３、ＮＶＲＡＭ１４に記憶されるプログラムやデータ、或いは、ＮＣＵ２０を介して送受信される各種信号に従って、デバイス１０が有する各機能の制御や、入出力ポート２４と接続された各部を制御する。ＲＯＭ１２は、ＣＰＵ１１により実行される各種プログラムや、そのプログラムを実行する際に参照する定数やテーブルを記憶する読み出し専用のメモリである。ＲＯＭ１２には、デバイス１０の動作を制御する制御プログラム１２ａなどが格納される。後述する図６（ａ）および図６（ｂ）のフローチャートに示す各処理は、ＣＰＵ１１が制御プログラム１２ａに従い実行する処理である。
【００３４】
ＲＡＭ１３は、ＣＰＵ１１が制御プログラム１２ａを実行するにあたり、各種データを一時的に記憶するためのテンポラリエリアを有する書換可能な揮発性のメモリである。ＮＶＲＡＭ１４は、不揮発性のＲＡＭである。本実施形態では、サービスサーバ２００から出力された印刷指示に応じた印刷処理が実行される場合に、当該印刷処理の実行状況（以下「ステータス」と称す）が、ＮＶＲＡＭ１４に記憶される。
【００３５】
操作キー１５は、デバイス１０の筐体に設けられるメカニカルキーであり、各種の設定値や指示などをユーザから受け付ける。ＬＣＤ１６は、液晶表示装置であり、各種画面を表示する。ＬＣＤ１６の画面には、タッチパネル１７がＬＣＤ１６に重ねて設けられる。タッチパネル１７は、例えば、指や棒などの指示体がＬＣＤ１６の画面に対して接触又は近づいた場合に、接触又は近づいた位置を検知し、検知した位置をデバイス１０に入力する。
【００３６】
スキャナ部１８は、原稿を読み取って画像データに変換する。プリンタ部１９は、画像データに基づく画像を記録用紙に印刷する。モデム２１は、ＦＡＸ送信時には送信すべき画像データを、電話回線網（図示せず）に伝送可能な信号に変調してＮＣＵ２０を介して送信し、または、電話回線網からＮＣＵ２０を介して入力された信号を画像データに復調する。ＮＣＵ２０は、図示されない電話回線網とデバイス１０との間を接続するものであり、モデム２１からの指示に従って、回線を閉結または切断することにより、電話回線網との間の接続状態を制御する。ＬＡＮ＿Ｉ／Ｆ２３は、デバイス１０が、ローカル・エリア・ネットワークを介した通信を実行するためのインターフェイスである。ＬＡＮ＿Ｉ／Ｆ２３は、ルータ３０に接続される。
【００３７】
中継サーバ１００には、ＣＰＵ１０１、記憶部１０２、ネットワークインターフェイス（以下「ネットワークＩ／Ｆ」と称す）１０３が主に設けられている。これらの各部は、入出力ポート１０４を介して互いに接続されている。ＣＰＵ１１は、記憶部１０２に記憶されるプログラムやデータに従って、入出力ポート１０４と接続された各部を制御する。
【００３８】
記憶部１０２は、プログラム１０２ａを記憶する。プログラム１０２ａは、オペレーティングシステム（以下「ＯＳ」と称す）１０２ａ１と、管理プログラム１０２ａ２とを含む。記憶部１０２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ＿Ｅｒａｓａｂｌｅ＿Ｐｒｏｇｒａｍｍａｂｌｅ＿Ｒｅａｄ−Ｏｎｌｙ＿Ｍｅｍｏｒｙの略）、ＨＤＤ、ＣＰＵが備えるバッファなど、または、それらの組み合わせによって構成される。ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＣＰＵが備えるバッファなど、または、それらの組み合わせは、tangibleな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種である、コンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００３９】
ＯＳ１０２ａ１は、管理プログラム１０２ａ２に利用される基本的な機能を提供するプログラムである。また、ＯＳ１０２ａ１は、記憶部１０２を制御するプログラムなども含む。管理プログラム１０２ａ２は、デバイス１０から受信したステータス情報を管理するプログラムである。後述する図７のフローチャートに示す各処理は、ＣＰＵ１０１が管理プログラム１０２ａ２に従い実行する処理である。なお、以下では、ＯＳ１０２ａ１や管理プログラム１０２ａ２などのプログラムを実行するＣＰＵ１０１のことを、単にプログラム名で記載する場合もある。例えば「管理プログラム」という記載が「管理プログラムを実行するＣＰＵ１１」を意味する場合もある。
【００４０】
記憶部１０２には、データ記憶領域１０２ｂが設けられる。データ記憶領域１０２ｂは、各種データを記憶する領域である。管理プログラム１０２ｂは、ＯＳ１０２ａ１を介して、各種データをデータ記憶領域１０２ｂに記憶させるためのデータを出力する。管理プログラム１０２ｂは、ＯＳ１０２ａ１を介して、データ記憶領域１０２ｂに記憶される各種データを取得する。
【００４１】
図２から図４を参照して、本発明の処理実行システム１にて、サービス提供サーバ２００からデバイス１０宛てに印刷指示が送信された場合における、デバイス１０、中継サーバ１００、およびサービス提供サーバ２００の作動について説明する。まず、図２は、上記印刷指示に基づく印刷処理が正常に完了した場合を示すシーケンス図である。
【００４２】
サービス提供サーバ２００は、印刷ジョブの実行を指示する印刷指示を送信する（Ｔ１）。「印刷ジョブ」は、１または複数のファイルを対象として印刷処理を実行させるジョブである。印刷処理は、ファイル毎に行われる。サービス提供サーバ２００から送信される印刷指示には、送信元のサービス提供サーバ２００を特定するサービス情報と、印刷処理を実行させるデバイス１０を特定するデバイス情報、当該印刷指示に基づく印刷ジョブを特定するジョブＩＤと、ジョブＩＤにより特定される印刷ジョブにて、当該印刷ジョブに含まれる各印刷処理に用いるファイルを特定するファイルＩＤと、用紙サイズなど、ジョブＩＤにより特定される印刷ジョブにて用いる印刷設定、および、ステータス情報の返信先を示す返信先情報、ステータス情報を自動的に通知するか否かを示す通知設定情報などが含まれる。ファイルＩＤは、ファイルの格納先を示す格納先情報である。通常、返信先情報および格納先情報は、サービス提供サーバ２００がアクセス可能なデータベースのＵＲＬである。
【００４３】
中継サーバ１００は、サービス提供サーバ２００から印刷指示を受信した場合、初期状態のステータス情報５０を、記憶部１０２に設けられた不揮発性のデータ記憶領域１０２ｂに記憶する（Ｔ２）。以下、初期状態のステータス情報を「初期ステータス情報」と称することがある。なお、中継サーバ１００は、Ｔ２において、ステータス情報５０を、サービス提供サーバ２００から受信した印刷指示に含まれるサービス情報、返信先情報、および通知設定情報などに関連付けて記憶する。
【００４４】
ステータス情報５０は、印刷ジョブに関するジョブ情報５１と、当該ジョブの実行状況に関するジョブレポートテーブル５２と、印刷処理の対象となるファイルに関するファイル情報５３とを含む。ジョブ情報５１は、ジョブＩＤと、ジョブの実行段階を示すジョブステータスとを含む。初期ステータス情報５０では、ジョブステータスの値は、印刷ジョブの開始前であることを示す「ｐｅｎｄｉｎｇ」である。
【００４５】
ジョブレポートテーブル５２は、印刷処理に用いた用紙サイズと、印刷処理が完了した印刷枚数とを含む。図２に示す例では、印刷枚数として、モノクロで印刷された枚数と、カラーで印刷された枚数とが各々独立して記憶される。初期ステータス情報５０では、ジョブレポートテーブル５２に含まれる各内容に対し、初期値が記憶される。
【００４６】
ファイル情報５３は、印刷処理の対象となるファイル毎に、ファイルを特定するファイルＩＤと、当該ファイルに対する印刷処理の実行状況を示すファイルステータスとを含む。初期ステータス情報５０では、印刷処理の対象となる全てのファイルに対し、それぞれ、印刷処理の実行前であることを示す「ｐｅｎｄｉｎｇ」である。図２に示す例では、ファイル情報５３に、２つのファイルのファイルＩＤが含まれる。すなわち、この例では、印刷指示により指示される印刷ジョブには、２つのファイルの印刷が含まれる。
【００４７】
中継サーバ１００は、サービス提供サーバ２００から受信した印刷指示に含まれるデバイス情報により特定されるデバイス１０に、印刷指示を送信する（Ｔ３）。中継サーバ１００からデバイス１０に送信される印刷指示には、データ記憶領域１０２ｂに記憶されるステータス情報５０のうち、ジョブ情報５１およびファイル情報５３と同じ内容の情報、および印刷設定などが含まれる。
【００４８】
デバイス１０は、中継サーバ１００から印刷指示を受信した場合、当該印刷指示に基づく印刷処理の実行状況に関するジョブレポートテーブル６１を作成する。ジョブレポートテーブル６１は、中継サーバ１００から受信した印刷指示に含まれるジョブＩＤに関連づけられて、ＮＶＲＡＭ１４に記憶される。ジョブレポートテーブル６１に含まれる項目は、上述したジョブレポートテーブル５２と同様である。用紙サイズを指定する印刷設定が印刷指示に含まれており、デバイス１０が印刷設定に従った用紙サイズで印刷を開始する場合は、ジョブレポートテーブル６１において、用紙サイズの初期値は、印刷指示に含まれる用紙サイズの値である。
【００４９】
なお、用紙サイズを指定する印刷設定が印刷指示に含まれていないため、デバイス１０が、デバイス１０に予め設定された用紙サイズで印刷を開始する場合がある。この場合に、用紙サイズの初期値は、デバイス１０に予め設定された用紙サイズとなる。また、用紙サイズを指定する印刷設定が印刷指示に含まれていても、デバイス１０が印刷設定に従った用紙サイズで印刷を開始できない場合は、デバイス１０は、印刷を開始することが可能な、異なる用紙サイズで印刷を開始する。この場合に、用紙サイズの初期値は、印刷指示に含まれる用紙サイズの値とは異なる値になる。図２に示す例では、用紙サイズを指定する印刷設定が印刷指示に含まれておらず、デバイス１０に予め設定されているＡ４が用紙サイズの初期値として記憶される。印刷枚数については、初期値としてゼロが記憶される。
【００５０】
デバイス１０は、中継サーバ１００から受信した印刷指示、すなわち、サービス提供サーバ２００から送信された印刷指示に従い、１のファイルに対する印刷処理を開始する。なお、用紙サイズを指定する印刷設定が印刷指示に含まれており、デバイス１０が印刷設定に従った用紙サイズで印刷できる場合は、デバイス１０は、印刷設定に従って用紙サイズで印刷する。用紙サイズを指定する印刷設定が印刷指示に含まれていない場合は、デバイス１０は、デバイス１０に予め設定された用紙サイズで印刷する。また、用紙サイズを指定する印刷設定が印刷指示に含まれていても、デバイス１０が印刷設定に従った用紙サイズで印刷できない場合は、デバイス１０は、印刷可能な、異なる用紙サイズで印刷する。また、カラー印刷を指定する印刷設定が印刷指示に含まれており、デバイス１０がカラーで印刷できる場合は、デバイス１０はカラー印刷を実行する。モノクロ印刷を指定する印刷設定が印刷指示に含まれている場合は、デバイス１０はモノクロ印刷を実行する。カラー印刷を指定する印刷設定が印刷指示に含まれているが、デバイス１０がカラー印刷をできない場合は、デバイス１０はモノクロ印刷を実行する。
【００５１】
具体的に、デバイス１０は、印刷指示に含まれるファイルＩＤに対応するファイルを、当該ファイルＩＤに基づき取得する。上述した通り、ファイルＩＤは、格納先情報であるので、デバイス１０は、当該格納先情報が示す格納先から取得する。デバイス１０は、印刷機能を用い、取得したファイルに対する印刷処理を開始する。図２に示す例では、まず、デバイス１０は、ファイルＩＤにより特定されるファイルの印刷を開始する。なお、図２に示す例では、ＵＲＬである格納先情報を便宜的に「Ｆｉｌｅ１」または「Ｆｉｌｅ２」と記載している。以下、ファイルＩＤ「Ｆｉｌｅ１」により特定されるファイルを、他のファイルと区別するために「Ｆｉｌｅ１」と称す。同様に、ファイルＩＤ「Ｆｉｌｅ２」により特定されるファイルを、「Ｆｉｌｅ２」と称す。
【００５２】
デバイス１０は、Ｆｉｌｅ１の印刷処理を開始すると、Ｆｉｌｅ１の印刷を開始したことを示す印刷開始通知を中継サーバ１００に送信する（Ｔ４）。印刷開始通知には、実行中の印刷の実行状況を示すステータス情報７０が付加される。ステータス情報７０は、ジョブ情報７１と、ジョブレポートテーブル７２と、ファイル情報７３とを含む。ジョブ情報７１は、ジョブ情報５１と同様に、ジョブＩＤと、ジョブステータスとを含む。
【００５３】
ジョブレポートテーブル７２は、ジョブレポートテーブル５２と同様に、用紙サイズと、印刷処理が完了した印刷枚数とを含む。ステータス情報７０に含まれるジョブレポートテーブル７２には、デバイス１０に記憶されるジョブレポートテーブル６１の内容が書き込まれる。ファイル情報７３は、処理中のファイルに関する情報である。ファイル情報７３は、処理中のファイルを特定するファイルＩＤと、当該ファイルに対する印刷処理の実行段階を示すファイルステータスとを含む。
【００５４】
Ｔ４にてデバイス１０から中継サーバ１００に送信されるステータス情報７０では、ジョブ情報７１のジョブステータスが「ｐｒｏｃｅｓｓｉｎｇ」であり、ファイルＩＤにより特定されるジョブが開始されたことを示す。また、このステータス情報７０では、ファイル情報７３について、Ｆｉｌｅ１のファイルステータスが「ｐｒｏｃｅｓｓｉｎｇ」であり、Ｆｉｌｅ１の印刷処理がデバイス１０にて実行中であることを示す。なお、この例では、印刷開始通知に付加されるステータス情報７０のジョブレポートテーブル７２には、用紙サイズの初期値として、デバイス１０に予め設定されているＡ４が記憶される。また、印刷開始時の状況であるので、モノクロおよびカラーのいずれも印刷枚数はいずれも０である。
【００５５】
中継サーバ１００は、デバイス１０から印刷開始通知を受信した場合、受信した印刷開始通知に付加されるステータス情報７０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を更新する（Ｔ５）。つまり、ジョブ情報５１のジョブステータスが「ｐｒｏｃｅｓｓｉｎｇ」に更新される。また、ファイル情報５３におけるＦｉｌｅ１のステータスが「ｐｒｏｃｅｓｓｉｎｇ」に更新される。よって、Ｔ５による更新後のステータス情報５０は、ジョブＩＤにより特定されるジョブが開始され、Ｆｉｌｅ１の印刷処理が開始されたことを示す。また、ジョブレポートテーブル５２は、デバイス１０がＦｉｌｅ１の印刷に使用する用紙サイズはＡ４であり、モノクロおよびカラーのいずれも印刷枚数はいずれも０であることを示す内容に更新される。
【００５６】
中継サーバ１００は、データ記憶領域１０２ｂを参照し、通知設定が自動通知に設定されていることを条件として、デバイス１０にて実行中の印刷状況を報せる印刷状況通知を、サービス提供サーバ２００に送信する（Ｔ６）。Ｔ６にて送信される印刷状況通知には、Ｔ５にて更新されたステータス情報５０が付加される。また、Ｔ６にて、中継サーバ１００は、印刷状況通知を、当該印刷状況通知に付加されるステータス情報５０に関連付けられた返信先情報が示す返信先に返信する。よって、サービス提供サーバ２００は、中継サーバ１００から受信した印刷状況通知から、デバイス１０にて実行中の印刷処理の実行状況を把握できる。
【００５７】
デバイス１０は、処理中のファイル、すなわち、Ｆｉｌｅ１について、１ページの印刷が完了する毎に、ジョブレポートテーブル６１の内容を更新する（Ｔ７）。つまり、デバイス１０は、Ｔ７にて、ジョブレポートテーブル６１に含まれる印刷枚数に１を加算する。より詳細には、デバイス１０は、モノクロ印刷が行われた場合には、モノクロで印刷された枚数に１を加算し、カラー印刷が行われた場合には、カラーで印刷された枚数に１を加算する。図２には、一例として、用紙サイズがＡ４であり、モノクロで印刷された枚数が３であるジョブレポートテーブル６１を図示する。つまり、この例のジョブレポートテーブル６１は、Ｆｉｌｅ１の印刷が、Ａ４サイズの用紙にモノクロで３ページ分完了した段階でのジョブレポートテーブルである。なお、Ｔ７、および、後述するＴ１４について、図示した段階より前のジョブレポートテーブル６１の図示と、図示した段階より後のジョブレポートテーブル６１の図示を省略する。
【００５８】
デバイス１０は、Ｆｉｌｅ１の印刷処理が完了すると、Ｆｉｌｅ１の印刷が完了したことを示す印刷完了通知を中継サーバ１００に送信する（Ｔ８）。印刷完了通知もまた、印刷開始通知と同様、ステータス情報７０が付加される。図２には、印刷完了通知に付加されたステータス情報７０の一例として、モノクロで印刷された枚数が５であるジョブレポートテーブル７２を含むステータス情報７０を図示する。つまり、この例のステータス情報７０によれば、Ｆｉｌｅ１について、Ａ４サイズの用紙にモノクロで５ページ分の印刷が行われたことを示す。また、印刷完了通知に付加されるステータス情報７０では、ファイル情報７３のファイルステータスが「ｃｏｍｐｌｅｔｅｄ」であり、ファイルＩＤにより特定されるファイル、すなわち、Ｆｉｌｅ１の印刷が完了したことを示す。
【００５９】
中継サーバ１００は、デバイス１０から印刷完了通知を受信した場合、受信した印刷完了通知に付加されるステータス情報７０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を更新する（Ｔ９）。
【００６０】
図２には、Ｔ９による更新後のステータス情報５０の一例として、モノクロで印刷された枚数が５であるジョブレポートテーブル５２を含むステータス情報５０を図示する。つまり、この例では、ジョブレポートテーブル５２が、デバイス１０から受信したステータス情報７０に応じて、Ａ４サイズの用紙にモノクロで５ページ分の印刷が行われたことを示す内容に更新されたことを示す。また、ファイル情報５３におけるＦｉｌｅ１のステータスが「ｃｏｍｐｌｅｔｅｄ」に更新される。よって、この例では、Ｔ９による更新後のステータス情報５０は、ジョブＩＤにより特定されるジョブが、Ｆｉｌｅ１について、Ａ４サイズの用紙にモノクロで５ページの印刷が完了したことを示す。
【００６１】
中継サーバ１００は、通知設定が自動通知に設定されていることを条件として、印刷状況通知を、サービス提供サーバ２００に送信する（Ｔ１０）。Ｔ１０にて送信される印刷状況通知には、Ｔ９にて更新されたステータス情報５０が付加される。Ｔ９での印刷状況通知の返信先もまた、Ｔ６での印刷状況通知の返信先と同様、印刷状況通知に付加されるステータス情報５０に関連付けられた返信先情報が示す返信先である。Ｔ１０の結果、図２に示すステータス情報５０を受信したサービス提供サーバ２００は、デバイス１０がＦｉｌｅ１の印刷処理を完了したこと、Ｆｉｌｅ１の印刷処理においてＡ４サイズの用紙にモノクロで５ページ分の印刷が行われたこと、および、ジョブＩＤにより特定されるジョブが未だ完了していないことを把握することができる。
【００６２】
デバイス１０は、Ｆｉｌｅ１の印刷処理の完了後、引き続き、Ｆｉｌｅ２を当該ファイルの格納先から取得し、Ｆｉｌｅ２の印刷処理を開始する。デバイス１０は、Ｆｉｌｅ２の印刷処理を開始すると、Ｆｉｌｅ２の印刷を開始したことを示す印刷開始通知を中継サーバ１００に送信する（Ｔ１１）。
【００６３】
Ｔ１１にて送信される印刷開始通知に付加されるステータス情報７０では、ファイル情報７３に含まれるファイルＩＤがＦｉｌｅ２を特定する値となる。つまり、Ｔ１１にてデバイス１０から中継サーバ１００に送信されるステータス情報７０では、ステータス情報７０では、ファイル情報７３について、Ｆｉｌｅ２のファイルステータスが「ｐｒｏｃｅｓｓｉｎｇ」であり、Ｆｉｌｅ２の印刷処理がデバイス１０にて実行中であることを示す。なお、この例では、印刷開始通知に付加されるステータス情報７０のジョブレポートテーブル７２には、用紙サイズの初期値として、デバイス１０に予め設定されているＡ４が記憶される。また、印刷開始時の状況であるので、モノクロおよびカラーのいずれも印刷枚数はいずれも０である。
【００６４】
中継サーバ１００は、デバイス１０から、Ｆｉｌｅ２の印刷を開始したことを示す印刷開始通知を受信した場合、受信した印刷開始通知に付加されるステータス情報７０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を更新する（Ｔ１２）。つまり、ファイル情報５３におけるＦｉｌｅ２のステータスが「ｐｒｏｃｅｓｓｉｎｇ」に更新される。よって、Ｔ１２による更新後のステータス情報５０は、Ｆｉｌｅ２の印刷処理が開始されたことを示す。また、ジョブレポートテーブル５２は、デバイス１０がＦｉｌｅ２の印刷に使用する用紙サイズはＡ４であり、モノクロおよびカラーのいずれも印刷枚数はいずれも０であることを示す内容に更新される。
【００６５】
中継サーバ１００は、通知設定が自動通知に設定されていることを条件として、印刷状況通知を、サービス提供サーバ２００に送信する（Ｔ１３）。Ｔ１３にて送信される印刷状況通知には、Ｔ１２にて更新されたステータス情報５０が付加される。また、Ｔ１３での印刷状況通知の返信先は、Ｔ６およびＴ１０で用いた返信先と同じである。
【００６６】
デバイス１０は、処理中のファイル、すなわち、Ｆｉｌｅ２について、Ｔ７と同様に、１ページの印刷が完了する毎に、ジョブレポートテーブル６１の内容を更新する（Ｔ１４）。図２には、一例として、用紙サイズがＡ４であり、モノクロで印刷された枚数が８であるジョブレポートテーブル６１を図示する。つまり、この例のジョブレポートテーブル６１は、Ｆｉｌｅ２の印刷が、Ａ４サイズの用紙にモノクロで８ページ分完了した段階でのジョブレポートテーブルである。
【００６７】
デバイス１０は、Ｆｉｌｅ２の印刷処理が完了すると、Ｆｉｌｅ２の印刷が完了したことを示す印刷完了通知を中継サーバ１００に送信する（Ｔ１５）。図２には、印刷完了通知に付加されたステータス情報７０の一例として、用紙サイズがＡ４であり、モノクロで印刷された枚数が１０であるジョブレポートテーブル７２を含むステータス情報７０を図示する。つまり、この例のステータス情報７０によれば、Ｆｉｌｅ２について、Ａ４サイズの用紙にモノクロで１０ページ分の印刷が行われたことを示す。また、印刷完了通知に付加されるステータス情報７０では、ファイル情報７３のファイルステータスが「ｃｏｍｐｌｅｔｅｄ」であり、ファイルＩＤにより特定されるファイル、すなわち、Ｆｉｌｅ２の印刷が完了したことを示す。Ｔ１５にて送信されるステータス情報７０では、ジョブ情報７１のジョブステータスが「ｃｏｍｐｌｅｔｅｄ」であり、ファイルＩＤにより特定されるジョブが完了したことを示す。
【００６８】
中継サーバ１００は、デバイス１０から印刷完了通知を受信した場合、受信した印刷完了通知に付加されるステータス情報７０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を更新する（Ｔ１６）。図２には、Ｔ１６による更新後のステータス情報５０の一例として、用紙サイズがＡ４であり、モノクロで印刷された枚数が１０であるジョブレポートテーブル５２を含むステータス情報５０を図示する。つまり、この例では、ジョブレポートテーブル５２が、デバイス１０から受信したステータス情報７０に応じて、Ａ４サイズの用紙にモノクロで１０ページ分の印刷が行われたことを示す内容に更新されたことを示す。また、ジョブ情報５１のジョブステータスと、ファイル情報５３におけるＦｉｌｅ２のステータスとが、いずれも「ｃｏｍｐｌｅｔｅｄ」に更新される。よって、Ｔ１６による更新後のステータス情報５０は、Ｆｉｌｅ２の印刷処理が完了し、ジョブＩＤにより特定されるジョブが完了したことを示す。
【００６９】
中継サーバ１００は、通知設定が自動通知に設定されていることを条件として、印刷状況通知を、サービス提供サーバ２００に送信する（Ｔ１７）。Ｔ１７にて送信される印刷状況通知には、Ｔ１６にて更新されたステータス情報５０が付加される。Ｔ１７での印刷状況通知の返信先は、Ｔ６およびＴ１０で用いた返信先と同じである。Ｔ１７の結果、図２に示すステータス情報５０を受信したサービス提供サーバ２００は、デバイス１０がＦｉｌｅ２の印刷処理を完了したこと、Ｆｉｌｅ２の印刷処理においてＡ４サイズの用紙にモノクロで１０ページ分の印刷が行われたこと、および、ジョブＩＤにより特定されるジョブが完了したことを把握することができる。
【００７０】
図３は、上記印刷指示に基づく印刷処理の実行中に、デバイス１０と中継サーバ１００との通信が切断され、タイムアウトが発生する前に、通信が復旧した場合を示すシーケンス図である。例えば、デバイス１０の電源が、上記印刷指示に基づく印刷処理の実行中にオフになり、タイムアウトが発生する前にオンになった場合に、このようなシーケンス図になる。図３には、上述した図２と同じ印刷指示がサービス提供システム２００から送信された場合であって、Ｆｉｌｅ２の印刷処理の実行中にデバイス１０の電源がオフになった場合を例示する。図３において、Ｔ１〜Ｔ１４の各処理については、上述した図２の場合と同様であるので、説明を省略する。
【００７１】
Ｆｉｌｅ２の印刷処理の実行中にデバイス１０の電源がオフになると、実行中の印刷処理、すなわち、Ｆｉｌｅ２の印刷処理は、電源がオフになった段階で途中終了となる。本実施形態では、デバイス１０の電源が再度オンになった場合、デバイス１０は、印刷処理が異常に終了したこと（すなわち、エラーが発生したこと）を示す異常終了通知を中継サーバ１００に送信する（Ｔ２１）。異常終了通知には、ステータス情報８０が付加される。
【００７２】
ステータス情報８０は、ジョブ情報８１と、ジョブレポートテーブル８２とを含む。ジョブ情報８１は、ジョブ情報５１と同様に、ジョブＩＤと、ジョブステータスとを含む。異常終了通知に付加されるステータス情報８０では、ジョブ情報８１のジョブステータスが、ジョブＩＤにより特定されるジョブが途中で中止されたことを示す「ａｂｏｒｔｅｄ」とされる。
【００７３】
ジョブレポートテーブル８２は、ジョブレポートテーブル５２と同様に、用紙サイズと、印刷処理が完了した印刷枚数とを含む。ステータス情報８０に含まれるジョブレポートテーブル８２には、デバイス１０の電源がオフになる前に、不揮発性の記憶部１０２に最後に記憶されたジョブレポートテーブル６１の内容が書き込まれる。つまり、本実施形態の処理実行システム１によれば、デバイス１０の電源がオフになる直前までの印刷処理の実行状況を中継サーバ１００に送信することができる。
【００７４】
図３には、異常終了通知に付加されたステータス情報８０の一例として、用紙サイズがＡ４であり、モノクロで印刷された枚数が８であるジョブレポートテーブル８２を含むステータス情報８０を図示する。上述した通り、ジョブ情報８１のジョブステータスは「ａｂｏｒｔｅｄ」である。つまり、この例のステータス情報８０によれば、ジョブＩＤにより特定されるジョブの実行中、Ｆｉｌｅ２について、Ａ４サイズの用紙にモノクロで８ページ分の印刷が行われ段階で、異常が生じたことを示す。
【００７５】
中継サーバ１００は、デバイス１０から異常終了通知を受信した場合、受信した異常終了通知に付加されるステータス情報８０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を更新する（Ｔ２２）。よって、異常終了通知を受信した後のステータス情報５０では、ジョブ情報５１のジョブステータスが「ａｂｏｒｔｅｄ」とされる。また、ジョブレポートテーブル５２には、デバイス１０の電源がオフになる直前までの印刷処理の実行状況が記憶される。図３には、一例として、用紙サイズがＡ４であり、モノクロで印刷された枚数が８であるジョブレポートテーブル５２が図示される。つまり、図３に示す例では、Ａ４サイズの用紙にモノクロで８ページ分の印刷が行われた段階で異常が発生したことを示すステータス情報５０が、データ記憶領域１０２ｂに記憶されたことを示す。
【００７６】
中継サーバ１００は、通知設定が自動通知に設定されていることを条件として、デバイス１０の電源が印刷処理中にオフになったことを示すエラー情報と、印刷状況通知とをサービス提供サーバ２００に送信する（Ｔ２３）。Ｔ２３にて送信される印刷状況通知には、Ｔ２２にて更新されたステータス情報５０が付加される。エラー情報および印刷状況通知の返信先は、印刷状況通知に付加されるステータス情報５０に関連付けられた返信先情報が示す返信先である。
【００７７】
Ｔ２３の結果、図３に示すステータス情報５０を受信したサービス提供サーバ２００は、ジョブＩＤにより特定されるジョブの実行中に異常が発生したこと、および、異常が発生した段階でＡ４サイズの用紙にモノクロで８ページ分の印刷が行われていることを把握することができる。このように、サービス提供サーバ２００は、中継サーバ１００から受信した印刷状況通知から、異常が発生したことと、当該異常の発生前までに印刷処理がどこまで行われたかを把握できる。
【００７８】
図４は、上記印刷指示に基づく印刷処理の実行中に、デバイス１０と中継サーバ１００との通信が切断され、タイムアウトが発生する前に通信が復旧しなかった場合を示すシーケンス図である。例えば、デバイス１０の電源が、上記印刷指示に基づく印刷処理の実行中にオフになり、タイムアウトが発生する前にオンになった場合に、このようなシーケンス図になる。あるいは、デバイス１０と中継サーバ１００との間に位置するネットワーク機器が故障した場合や、長時間にわたり停止した場合にも、このようなシーケンス図になる。図４には、上述した図２と同じ印刷指示がサービス提供システム２００から送信された場合であって、Ｆｉｌｅ２の印刷処理の実行中にデバイス１０と中継サーバ１００との通信が切断された場合を例示する。図４において、Ｔ１〜Ｔ１４の各処理については、上述した図２の場合と同様であるので、説明を省略する。
【００７９】
中継サーバ１００は、デバイス１０から最後に通信の確立が要求されてから、次の要求を受信することなく所定のタイムアウト期間（例えば、２分）経過した場合、デバイス１０との間で確立されていた接続確立型のプロトコルに従う通信のリンクが切断されたものとして、タイムアウト処理を実行する（Ｔ３１）。通信のリンクが切断される状況としては、デバイス１０と中継サーバ１００との間の通信が物理的に不通となった場合や、デバイス１０の電源がオフになった場合などがある。Ｔ３１のタイムアウト処理において、中継サーバ１００は、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を、異常発生時の内容に更新する。
【００８０】
図４に示す例では、Ｔ３１のタイムアウト処理の実行時、データ記憶領域１０２ｂに記憶されるステータス情報は、Ｔ１２にて更新されたステータス情報である。よって、Ｔ３１による更新後のステータス情報５０において、ジョブレポートテーブル５２は、モノクロおよびカラーのいずれも印刷枚数はいずれも０であることを示す。一方、中継サーバ１００は、ジョブ情報５１のジョブステータスを「ａｂｏｒｔｅｄ」に変更する。
【００８１】
中継サーバ１００は、通知設定が自動通知に設定されていることを条件として、デバイス１０と中継サーバ１００との間の通信が切断されたことを示すエラー情報と、印刷状況通知とをサービス提供サーバ２００に送信する（Ｔ３２）。Ｔ３２にて送信される印刷状況通知には、Ｔ３１にて更新されたステータス情報５０が付加される。エラー情報および印刷状況通知の返信先は、印刷状況通知に付加されるステータス情報５０に関連付けられた返信先情報が示す返信先である。よって、サービス提供サーバ２００は、中継サーバ１００から受信した印刷状況通知から、異常が発生したことと、当該異常の発生前までに印刷処理がどこまで行われたかを把握できる。
【００８２】
その後、デバイス１０と中継サーバ１００との通信が復旧した場合、上述したＴ２１〜Ｔ２３の処理が実行される。つまり、デバイス１０と中継サーバ１００との通信が復旧した場合、デバイス１０は、異常終了通知を中継サーバ１００に送信する（Ｔ２１）。異常終了通知に付加されるステータス情報８０は、電源がオフからオンになった場合と同様、通信が切断された段階でＮＶＲＡＭ１４に記憶されていたジョブレポートテーブル６１の内容を、ジョブレポートテーブル８２として含む。図４に示す例では、ジョブレポートテーブル８２は、Ａ４サイズの用紙に、モノクロで８枚の印刷が行われたことを示す。また、ジョブ情報８１のジョブステータスは「ａｂｏｒｔｅｄ」である。
【００８３】
中継サーバ１００は、デバイス１０から異常終了通知を受信した場合、受信した異常終了通知に付加されるステータス情報８０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を更新する（Ｔ２２）。異常終了通知に付加されるステータス情報８０は、ジョブレポートテーブル８０として、通信が切断された段階でＮＶＲＡＭ１４に記憶されていたジョブレポートテーブル６１の内容を含む。よって、図４に示す例では、ジョブレポートテーブル８２は、Ａ４サイズの用紙にモノクロで８枚の印刷が行われたことを示す内容に更新される。Ｔ３１にて更新されたステータス情報５０は、その後に実行されるＴ２２において、ジョブレポートテーブル５２が、異常の発生前にどこまで印刷が行われたかという点においてより正確な内容に更新される。
【００８４】
中継サーバ１００は、通知設定が自動通知に設定されていることを条件として、デバイス１０の電源が印刷処理中にオフになったことを示すエラー情報と、印刷状況通知とをサービス提供サーバ２００に送信する（Ｔ２３）。Ｔ２３にて送信される印刷状況通知には、Ｔ２２にて更新されたステータス情報５０が付加される。よって、サービス提供サーバ２００は、中継サーバ１００から受信した印刷状況通知から、異常の発生前までに印刷処理がどこまで行われたかを、Ｔ３２にて送信された印刷状況通知より正確に把握できる。
【００８５】
図５は、上記印刷指示に基づく印刷処理の実行中に、印刷設定を変更して印刷処理を続行した場合を示すシーケンス図である。図５には、上述した図２と同じ印刷指示がサービス提供システム２００から送信された場合であって、Ｆｉｌｅ２の印刷処理の実行中に印刷設定が変更された場合を例示する。図５において、Ｔ１〜Ｔ１４の各処理については、上述した図２の場合と同様であるので、説明を省略する。
【００８６】
Ａ４の用紙サイズを用いて、デバイス１０がＦｉｌｅ２の印刷処理を実行しているときに、用紙トレイにセットされていたＡ４サイズの用紙が切れた場合、デバイス１０は、他の用紙トレイにセットされている用紙を使っての印刷が設定されていれば、他の用紙トレイにセットされている用紙をＡ４サイズの代替として用い、印刷処理を続行する。例えば、Ａ３サイズの用紙を用いて、印刷処理を続行する。
【００８７】
デバイス１０は、他の用紙トレイにセットされている用紙を用いて印刷処理を続行した場合、当該変更後の印刷処理の実行状況を示すジョブレポートテーブルＡを、ジョブレポート６１に追加してＮＶＲＡＭ１４に記憶する。ジョブレポートテーブルＡは、変更後の用紙サイズと、変更後の用紙サイズを用いて印刷された用紙の枚数とを含む。デバイス１０は、１ページの印刷が完了する毎に、追加されたジョブレポートテーブルＡの内容を更新する（Ｔ４１）。
【００８８】
図５に示す例では、用紙サイズがＡ３であり、モノクロで印刷された枚数が３であるジョブレポートテーブルＡが追加されている。一方、ジョブレポートテーブル６１は、Ａ４サイズの用紙にモノクロで５枚の印刷が行われたことを示す。よって、この例では、Ａ４サイズの用紙にモノクロで５枚の印刷が行われた後、用紙サイズがＡ３に切り替わり、Ａ３サイズの用紙にモノクロで３枚の印刷が行われたことを示す。
【００８９】
なお、図５に示す例では、印刷設定、具体的には、用紙サイズが１回変更されたので、追加のジョブレポートテーブルＡは１つであるが、印刷設定が変更される毎に、追加のジョブレポートＡは１つずつ増える。
【００９０】
デバイス１０は、Ｆｉｌｅ２の印刷処理が完了すると、Ｆｉｌｅ２の印刷が完了したことを示す印刷完了通知を中継サーバ１００に送信する（Ｔ４２）。印刷処理の実行中に印刷設定が変更された場合、Ｔ４２にて送信される印刷完了通知に付加されるステータス情報７０には、デバイス１０にて追加されたジョブレポートテーブルＡの内容が含まれる。
【００９１】
図５には、印刷処理の実行中に印刷設定が変更された場合の印刷完了通知に付加されるステータス情報７０の一例として、Ａ４サイズの用紙にモノクロで５枚の印刷が行われたことを示すジョブレポートテーブル７２と、用紙サイズがＡ３である用紙にモノクロで５枚の印刷が行われたことを示すジョブレポートテーブルＡとを含むステータス情報を図示する。つまり、この例のステータス情報７０によれば、Ｆｉｌｅ２について、Ａ４サイズの用紙にモノクロで５ページ分の印刷が行われた後、用紙がＡ３サイズのものに切り替わり、Ａ３サイズの用紙にモノクロで５ページ分の印刷が行われたことを示す。
【００９２】
中継サーバ１００は、デバイス１０から印刷完了通知を受信した場合、上述したＴ１６の処理を実行する。つまり、中継サーバ１００は、受信した印刷完了通知に付加されるステータス情報７０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を更新する。印刷処理の実行中に印刷設定が変更された場合、Ｔ１６による更新後のステータス情報５０は、当初の印刷設定によるジョブレポートテーブル５２に加え、変更された印刷設定によるジョブレポートテーブルＡを含む。例えば、図５に示すように、更新後のステータス情報５０は、Ａ４サイズの用紙にモノクロで５枚の印刷が行われたことを示すジョブレポートテーブル５２と、用紙サイズがＡ３である用紙にモノクロで５枚の印刷が行われたことを示すジョブレポートテーブルＡとが含まれる。
【００９３】
中継サーバ１００は、Ｔ１６の処理後、上述したＴ１７の処理を実行する。つまり、中継サーバ１００は、通知設定が自動通知に設定されていることを条件として、印刷状況通知を、サービス提供サーバ２００に送信する。Ｔ１７の結果、図５に示すステータス情報５０を受信したサービス提供サーバ２００は、Ａ４サイズの用紙にモノクロで５ページ分の印刷が行われた後、用紙がＡ３サイズのものに切り替わり、Ａ３サイズの用紙にモノクロで５ページ分の印刷が行われたことを把握することができる。
【００９４】
図６（ａ）は、デバイス１０のＣＰＵ１１が制御プログラム１２ａに従って実行する印刷処理を示すフローチャートである。本処理は、デバイス１０が中継サーバ１００から印刷指示を受信した場合に開始される。
【００９５】
ＣＰＵ１１は、受信した印刷指示に含まれる各情報を記憶する（Ｓ６０１）。具体的に、ＣＰＵ１１は、受信した印刷指示に含まれる情報のうち、ジョブ情報は、ジョブ情報に含まれるジョブＩＤに関連付けて、ＮＶＲＡＭ１４に記憶する。一方、ＣＰＵ１１は、ファイル情報、および印刷設定を、ジョブ情報に含まれるジョブＩＤに関連付けて、ＲＡＭ１３に記憶する。
【００９６】
ＣＰＵ１１は、ジョブ情報に含まれるジョブステータスを「ｐｅｎｄｉｎｇ」から「ｐｒｏｃｅｓｓｉｎｇ」に更新する（Ｓ６０２）。ＣＰＵ１１は、ジョブレポートテーブル６１を作成し、受信したジョブ情報に含まれるジョブＩＤに関連付けて、ＮＶＲＡＭ１３に記憶する（Ｓ６０３）。Ｓ６０３にて作成された ジョブレポートテーブル６１において、用紙サイズの初期値を、前述したように設定し、印刷枚数の初期値は、ゼロとする。
【００９７】
ＣＰＵ１１は、印刷指示により指示される印刷ジョブについて、当該印刷ジョブにて実行される印刷処理のうち、１ファイル分の印刷処理を開始する（Ｓ６０４）。ＣＰＵ１１は、カバーオープンなど、印刷処理の続行が不可能なエラーが発生したかを判断する（Ｓ６０５）。エラーが発生したとＣＰＵ１１が判断した場合（Ｓ６０５：Ｙｅｓ）、ＣＰＵ１１は、エラーが発生したことにより処理を終了したことを示すエラー終了通知を、中継サーバ１００に送信する（Ｓ６２１）。中継サーバ１００は、デバイス１０からエラー終了通知を受信した場合、エラー終了通知をサービス提供サーバ２００に送信する。
【００９８】
ＣＰＵ１１は、Ｓ６２１の処理後、ＲＡＭ１３およびＮＶＲＡＭ１４に記憶される各情報を削除し（Ｓ６１８）、本処理を終了する。具体的に、ＣＰＵ１１は、ジョブ情報、ファイル情報、ジョブレポート６１を削除する。
【００９９】
エラーが発生していないとＣＰＵ１１が判断した場合（Ｓ６０５：Ｎｏ）、ＣＰＵ１１は、印刷処理の対象となるファイル（以下「処理対象ファイル」と称す）に対するファイルステータスを「ｐｅｎｄｉｎｇ」から「ｐｒｏｃｅｓｓｉｎｇ」に更新する（Ｓ６０６）。ＣＰＵ１１は、処理対象ファイルの印刷を開始したことを示す印刷開始通知を中継サーバ１００に送信する（Ｓ６０７）。Ｓ６０７において、ＣＰＵ１１は、そのときのステータス情報７０を印刷開始通知に付加して中継サーバ１００に送信する。Ｓ６０７の処理は、上述したシーケンス図におけるＴ４、およびＴ１１の処理に相当する。
【０１００】
ＣＰＵ１１は、印刷処理が可能であるかを判断する（Ｓ６０８）。ここでは、印刷ジョブを開始するときには、印刷指示に含まれている印刷設定に従って印刷ができるかどうかを判断する。具体的には、印刷設定にカラー印刷が指示されていたらカラー印刷できるか、印刷設定に含まれる用紙サイズで印刷できるか、などを判断してよい。印刷ジョブの途中では、印刷ジョブ内でそれまで印刷してきた設定に従って印刷できるかどうかを判断してよい。具体的には、Ａ４でカラー印刷してきたら、引き続きＡ４でカラー印刷できるかどうかを判断してよい。この場合、デバイス１０のプリンタ部が出力する信号が、Ａ４用紙とカラー着色剤が残っていることを示すか否かで判断してよい。印刷処理が可能であるとＣＰＵ１１が判断した場合（Ｓ６０８：Ｙｅｓ）、ＣＰＵ１１は、デバイスの印刷機能を用いて、処理対象ファイルに含まれる１ページ分の印刷を開始する（Ｓ６０９）。
【０１０１】
一方、印刷処理が可能でないとＣＰＵ１１が判断した場合（Ｓ６０８：Ｎｏ）、ＣＰＵ１１は、印刷処理を可能でなくす事象に対し、設定の自動変更により対応可能であるかを判断する（Ｓ６１９）。例えば、デバイス１０に対し、印刷したい用紙サイズの用紙が用紙トレイにて用紙切れになっている場合に、他の用紙トレイに自動的に変更する設定がなされている場合、ＣＰＵ１１は、設定の自動変更により対応可能であるとし、Ｓ６１９の判断を肯定する。また、カラーの着色剤が残っていなくても、モノクロ印刷に自動的に変更する設定がなされている場合、ＣＰＵ１１は、Ｓ６１９の判断を肯定する。設定の自動変更を認めるか否かの設定は、印刷指示に含まれておらず、予めデバイス１０に設定されている場合がある。設定の自動変更を認めるか否かの設定を、印刷指示に含めるようにしてもよい。
【０１０２】
ＣＰＵ１１が、Ｓ６１９の判断を肯定した場合（Ｓ６１９：Ｙｅｓ）、ＣＰＵ１１は、設定を変更し、当該変更後の設定を用いた印刷処理の実行状況を示すジョブレポートテーブルＡを追加する（Ｓ６２０）。ＣＰＵ１１は、Ｓ６２０の処理後、変更後の設定を用いて、処理対象ファイルに含まれる１ページ分の印刷を開始する（Ｓ６０９）。一方、印刷処理を可能でなくす事象に対し、設定の自動変更により対応可能でないと、ＣＰＵ１１が判断した場合（Ｓ６１９：Ｎｏ）、ＣＰＵ１１は、処理をＳ６２１に移行する。
【０１０３】
ＣＰＵ１１は、Ｓ６０９にて開始された１ページ分の印刷について、エラーが発生することなく、当該印刷が完了することを待機する（Ｓ６１０：Ｎｏ，Ｓ６１１：Ｎｏ）。Ｓ６０９にて開始された１ページ分の印刷中にエラーが発生した場合（Ｓ６１０：Ｙｅｓ）、ＣＰＵ１１は、処理をＳ６２１に移行する。一方、エラーが発生することなく、１ページ分の印刷が完了した場合（Ｓ６１１：Ｙｅｓ）、ＣＰＵ１１は、ジョブレポートテーブル６１またはジョブレポートテーブルＡを更新する（Ｓ６１２）。例えば、１ページ分のモノクロ印刷が完了した場合、ＣＰＵ１１は、ジョブレポートテーブル６１またはジョブレポートテーブルＡに含まれる、モノクロでの印刷枚数に１を加算する。Ｓ６１２の処理は、上述したシーケンス図におけるＴ７、Ｔ１４、およびＴ４１の処理に相当する。
【０１０４】
ＣＰＵ１１は、Ｓ６１２の処理後、処理対象ファイルに未印刷のページがあるかを判断する（Ｓ６１３）。未印刷ページがあるとＣＰＵ１１が判断した場合（Ｓ６１３：Ｙｅｓ）、ＣＰＵ１１は、処理をＳ６０８に移行し、未印刷ページのうち、１ページ分の印刷を開始する。
【０１０５】
一方、未印刷ページがないとＣＰＵ１１が判断した場合、すなわち、処理対象のファイルを構成する全てのページの印刷が完了した場合（Ｓ６１３：Ｎｏ）、ＣＰＵ１１は、処理対象ファイルに対するファイルステータスを「ｐｒｏｃｅｓｓｉｎｇ」から「ｃｏｍｐｌｅｔｅｄ」に更新する（Ｓ６１４）。ＣＰＵ１１は、印刷指示により指示される印刷ジョブにて実行される印刷処理のうち、未印刷のファイルがあるかを判断する（Ｓ６１５）。
【０１０６】
未印刷のファイルがあるとＣＰＵ１１が判断した場合（Ｓ６１５：Ｙｅｓ）、ＣＰＵ１１は、処理対象ファイルの印刷が完了したことを示す印刷完了通知を中継サーバ１００に送信する（Ｓ６２２）。Ｓ６２２において、ＣＰＵ１１は、そのときのステータス情報７０を印刷開始通知に付加して中継サーバ１００に送信する。Ｓ６２２の処理は、上述したシーケンス図におけるＴ８の処理に相当する。
【０１０７】
一方、未印刷のファイルがないとＣＰＵ１１が判断した場合、すなわち、印刷指示により指示される印刷ジョブにて実行される印刷処理が全て完了した場合（Ｓ６１５：Ｎｏ）、ＣＰＵ１１は、ジョブ情報に含まれるジョブステータスを「ｐｒｏｃｅｓｓｉｎｇ」から「ｃｏｍｐｌｅｔｅｄ」に更新する（Ｓ６１６）。
【０１０８】
ＣＰＵ１１は、処理対象ファイルの印刷が完了したことを示す印刷完了通知と、印刷指示により指示される印刷ジョブが終了したことを示すジョブ終了通知とを、中継サーバ１００に送信する（Ｓ６１７）。Ｓ６１７の処理は、上述したシーケンス図におけるＴ１５、およびＴ４２の処理に相当する。ＣＰＵ１１は、Ｓ６１７の処理後、ＲＡＭ１３およびＮＶＲＡＭ１４に記憶される各情報を削除し（Ｓ６１８）、本処理を終了する。
【０１０９】
図６（ｂ）は、デバイス１０のＣＰＵ１１が制御プログラム１２ａに従って実行する再開時処理を示すフローチャートである。本処理は、デバイス１０の電源がオフからオンにされた場合、または、デバイス１０と中継サーバとの間の接続がオフラインからオンラインとなった場合に開始される。
【０１１０】
ＣＰＵ１１は、未完了のジョブ情報があるかを判断する（Ｓ６４１）。具体的に、ＮＶＲＡＭ１４にジョブ情報が記憶されている場合、ＣＰＵ１１は、Ｓ６４１の判断を肯定する。一方、ＮＶＲＡＭ１４にジョブ情報が記憶されていない場合、ＣＰＵ１１は、Ｓ６４１の判断を否定する。ＣＰＵ１１がＳ６４１の判断を否定する場合（Ｓ６４１：Ｎｏ）、ＣＰＵ１１は、本処理を終了する。
【０１１１】
一方、ＣＰＵ１１がＳ６４１の判断を肯定する場合（Ｓ６４１：Ｙｅｓ）、ＣＰＵ１１は、ＮＶＲＡＭ１４に記憶されているジョブ情報に含まれるジョブステータスを「ｐｒｏｃｅｓｓｉｎｇ」から「ａｂｏｒｔｅｄ」に更新する（Ｓ６４２）。ＣＰＵ１１は、印刷処理が異常に終了したことを示す異常終了通知を中継サーバ１００に送信し（Ｓ６４３）、本処理を終了する。Ｓ６４３において、ＣＰＵ１１は、デバイス１０の電源がオフになる直前までの印刷処理の実行状況を示すステータス情報８０を異常終了通知に付加して中継サーバ１００に送信する。Ｓ６４３の処理は、上述したシーケンス図におけるＴ２１の処理に相当する。
【０１１２】
図７は、中継サーバ１００のＣＰＵ１０１が管理プログラム１０２ａ２に従って実行する中継処理を示すフローチャートである。本処理は、中継サーバ１００の電源がオンにされたことに伴い開始される。
【０１１３】
ＣＰＵ１０１は、デバイス１０またはサービス提供サーバ２００からのリクエストを待ち受ける（Ｓ７０２：Ｎｏ）。デバイス１０またはサービス提供サーバ２００からのリクエストをＣＰＵ１０１が受信した場合（Ｓ７０２：Ｙｅｓ）、ＣＰＵ１０１は、受信したリクエストの内容を判断する（Ｓ７０３）。
【０１１４】
受信したリクエストが、サービス提供サーバ２００から送信された印刷指示であると、ＣＰＵ１０１が判断した場合（Ｓ７０３：印刷指示／サービス提供サーバ）、ＣＰＵ１０１は、初期ステータス情報５０を、記憶部１０２に設けられた不揮発性のデータ記憶領域１０２ｂに記憶する（Ｓ７０４）。Ｓ７０４の処理は、上述したシーケンス図におけるＴ２の処理に相当する。ＣＰＵ１０１は、初期ステータス情報５０を受信した印刷指示に含まれるサービス情報、返信先情報、および通知設定などに関連付けて記憶する。
【０１１５】
ＣＰＵ１０１は、サービス提供サーバ２００から受信した印刷指示に含まれるデバイス情報により特定されるデバイス１０に、印刷指示を送信し（Ｓ７０５）、処理をＳ７０１に移行する。Ｓ７０４の処理は、上述したシーケンス図におけるＴ３の処理に相当する。
【０１１６】
受信したリクエストが、デバイス１０から送信されたステータス情報が付加された通知であると、ＣＰＵ１０１が判断した場合（Ｓ７０３：ステータス情報が付加された通知／デバイス）、ＣＰＵ１０１は、処理をＳ７０７に移行する。なお、ステータス情報が付加された通知とは、ステータス情報７０が付加された印刷開始通知、ステータス情報７０が付加された印刷完了通知、および、ステータス情報８０が付加された異常終了通知である。
【０１１７】
ＣＰＵ１０１は、デバイス１０から受信した通知に付加されたステータス情報７０，８０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を更新する（Ｓ７０７）。Ｓ７０７において、ＣＰＵ１０１は、ステータス情報７０，８０に含まれるジョブＩＤと同じジョブＩＤを含むステータス情報５０の内容を更新する。Ｓ７０７の処理は、上述したシーケンス図におけるＴ５、Ｔ９、Ｔ１２、Ｔ１６、およびＴ２２の処理に相当する。
【０１１８】
ＣＰＵ１０１は、ステータス情報７０，８０に含まれるジョブＩＤを含む印刷指示の送信元であるサービス提供サーバ２００に対し、自動通知の設定がされているかを判断する（Ｓ７０８）。自動通知の設定は、中継サーバ１００に接続されるサービス提供サーバ２００毎に、サービス提供サーバ２００を特定するサービス情報に関連付けて記憶部１０２に記憶されている。
【０１１９】
該当するサービス提供サーバ２００に対し、自動通知の設定がされていると、ＣＰＵ１０１が判断した場合（Ｓ７０８：Ｙｅｓ）、ＣＰＵ１０１は、印刷状況通知を返信先に送信し（Ｓ７０６）、処理をＳ７０１に移行する。Ｓ７０６での返信先は、印刷状況通知に付加されるステータス情報５０に関連付けられた返信先情報が示す返信先である。なお、印刷状況通知が、デバイス１０から異常終了通知を受信した場合、または、デバイス１０と中継サーバ１００との通信が切断されたことに基づく通知である場合、ＣＰＵ１０１は、Ｓ７０６において、印刷状況通知とともに、エラー情報を送信する。Ｓ７０６の処理は、上述したシーケンス図におけるＴ６、Ｔ１０、Ｔ１３、Ｔ１７、Ｔ２３、およびＴ３２の処理に相当する。
【０１２０】
一方、該当するサービス提供サーバ２００に対し、自動通知の設定がされていないと、ＣＰＵ１０１が判断した場合（Ｓ７０８：Ｎｏ）、ＣＰＵ１０１は、処理をＳ７０１に移行する。自動通知の設定がされていないサービス提供サーバ２００は、ジョブＩＤを指定して印刷状況通知を要求することにより、その都度、指定したジョブＩＤを含むステータス情報７０，８０を含む印刷状況通知を受け取ることができる。サービス提供サーバ２００が印刷状況通知を要求するタイミングとしては、定期的なタイミング（例えば、１日毎）や、サービス提供サーバ２００が操作されて印刷状況通知を要求する指示が入力されたタイミングなどを例示できる。
【０１２１】
受信したリクエストが、サービス提供サーバ２００から送信された、印刷状況通知の要求であると、ＣＰＵ１０１が判断した場合（Ｓ７０３：通知要求／サービス提供サーバ）、ＣＰＵ１０１は、当該要求により指定されたジョブＩＤを含むステータス情報７０，８０を含む印刷状況通知を、当該要求により指定された返信先に通知し（Ｓ７０６）、処理をＳ７０１に移行する。
【０１２２】
受信したリクエストが、デバイス１０またはサービス提供サーバ２００から送信された、上記以外のリクエストであると、ＣＰＵ１０１が判断した場合（Ｓ７０３：その他）、ＣＰＵ１０１は、その他の処理を実行し（Ｓ７０９）、処理をＳ７０１に移行する。例えば、受信したリクエストが、デバイス１０から送信されたエラー終了通知である場合、ＣＰＵ１０１は、エラー終了通知をサービス提供サーバ２００に送信する。
【０１２３】
デバイス１０またはサービス提供サーバ２００からのリクエストをＣＰＵ１０１が受信していない場合（Ｓ７０２：Ｎｏ）、ＣＰＵ１０１は、データ記憶領域１０２ｂに、サービス提供サーバ２００に未送信の、未完了のステータス情報５０があるかを判断する（Ｓ７１０）。未完了のステータス情報５０は、ジョブ情報５１のジョブステータスが、「ｐｒｏｃｅｓｓｉｎｇ」または「ｐｅｎｄｉｎｇ」であるステータス情報５０である。
【０１２４】
該当するステータス情報５０がないと、ＣＰＵ１０１が判断した場合（Ｓ７１０：Ｎｏ）、ＣＰＵ１０１は、処理をＳ７０１に移行する。一方、該当するステータス情報５０があると、ＣＰＵ１０１が判断した場合（Ｓ７１０：Ｙｅｓ）、ＣＰＵ１０１は、デバイス１０から最後に通信の確立が要求されてから、次の要求を受信することなく所定のタイムアウト期間（例えば、２分）経過したかを判断する（Ｓ７１１）。所定のタイムアウト期間が経過していないと、ＣＰＵ１０１が判断した場合（Ｓ７１１：Ｎｏ）、ＣＰＵ１０１は、処理をＳ７０１に移行する。
【０１２５】
一方、所定のタイムアウト期間が経過したと、ＣＰＵ１０１が判断した場合（Ｓ７１１：Ｙｅｓ）、ＣＰＵ１０１は、タイムアウト処理を実行する（Ｓ７１２）。具体的に、ＣＰＵ１０１は、データ記憶領域１０２ｂに記憶されるステータス情報５０の内容を、エラー発生時の内容に更新する。つまり、ＣＰＵ１０１は、ジョブ情報５１のジョブステータスを「ａｂｏｒｔｅｄ」に変更する。Ｓ７１２の処理は、上述したシーケンス図におけるＴ３１の処理に相当する。
【０１２６】
ＣＰＵ１０１は、Ｓ７１２の処理後、処理をＳ７０８に移行する。なお、通信のタイムアウトが生じた場合、ＣＰＵ１０１は、所定期間（例えば、１日）の経過後に、タイムアウト処理（Ｓ７１２）にて更新されたステータス情報５０を削除する。よって、自動通知の設定がされていないサービス提供サーバ２００が、通信のタイムアウトが生じた後に、印刷状況通知の要求を行った場合には、該当するステータス情報５０がデータ記憶領域１０２ｂに残っていることを条件として、印刷状況通知がサービス提供サーバ２００に送信される。
【０１２７】
本実施形態によれば、デバイス１０と、当該デバイス１０に対し、印刷処理を実行させるための印刷指示を出すサービス提供サーバ２００と、当該サービス提供サーバ２００とデバイス１０との間に介在する中継サーバ１００とを含む構成において、中継サーバ１００は、デバイス１０から、１ファイル分の印刷処理の開始時および完了時に送信されるステータス情報７０，８０に応じて、データ記憶領域１０２ｂに記憶されるステータス情報５０をその都度更新する。よって、中継サーバ１００は、デバイス１０が印刷処理を実行している間、当該印刷処理のステータス（すなわち、印刷処理の実行状況）を、サービス提供サーバ２００に随時報せることができる。
【０１２８】
そのため、デバイス１０が印刷処理を実行している間に、当該デバイス１０の電源がオフになった場合であっても、電源がオフになる直前のステータスを、エラー情報とともに、サービス提供サーバに報せることができる。また、デバイス１０が印刷処理を実行している間に、当該デバイス１０と中継サーバ１００との間の通信が切断された場合であっても、通信が切断される直前のステータスを、エラー情報とともに、サービス提供サーバに報せることができる。
【０１２９】
また、デバイス１０が印刷処理を実行している間に、用紙切れに伴う用紙トレイの変更など、印刷指示に含まれる印刷設定とは異なる印刷設定での印刷が実行された場合には、当該異なる印刷設定で行われた印刷処理のステータスを記憶するジョブレポートテーブルＡがステータス情報７０，８０に追加される。よって、中継サーバ１００は、変更後の印刷設定で行われた印刷処理のステータスを、サービス提供サーバ２００に報せることができる。
【０１３０】
一方、デバイス１０は、１ファイル分の印刷処理の開始時および完了時や、１ページ分の印刷が完了した時など、所定のタイミング毎に、印刷処理のステータスを記憶するジョブレポートテーブル６１が更新される。ジョブ情報およびジョブレポートテーブル６１は、不揮発性のＮＶＲＡＭ１４に記憶されるので、デバイス１０の電源が印刷処理の実行中にオフになった場合であっても、当該オフになる直前のステータスを保持し続けることができる。よって、デバイス１０の電源が再度オンになった時には、電源がオフになる直前のステータスを含むステータス情報８０を中継サーバ１００に送信することができる。
【０１３１】
ジョブレポートテーブル６１および追加のジョブレポートテーブルＡには、印刷処理が完了した印刷枚数が含まれるので、１ファイルを構成するページのうち、何ページ分が印刷されたかを、ＮＶＲＡＭ１４に記憶させることができる。よって、デバイス１０の電源が印刷処理の実行中にオフになった場合に、当該オフになる直前まで印刷されたページ数を、中継サーバ１００およびサービス提供サーバ２００に報せることができる。特に、印刷が完了した印刷枚数は、印刷がカラーまたはモノクロのいずれで行われたかを区別して記憶されるので、デバイス１０の電源がオフになる直前に、カラーで何ページ分の印刷がされたか、モノクロで何ページ分の印刷がされたかを、中継サーバ１００およびサービス提供サーバ２００に報せることができる。
【０１３２】
デバイス１０は、ジョブ情報や、ジョブレポートテーブル６１などを、不揮発性のＮＶＲＡＭ１４に記憶する一方で、ファイル情報を、揮発性のＲＡＭ１３に記憶する。ファイル情報は、各ファイルの印刷処理の開始時に送信すれば事足りるので、デバイス１０の電源が印刷処理中にオフになった場合に消失したとしても、問題がない。よって、ファイル情報をＲＡＭ１３に記憶させることにより、ＮＶＲＡＭ１４の消費を抑制できる。特に、ファイル情報に含まれるファイルＩＤ、すなわち、格納情報がＵＲＬである場合、データサイズが比較的大きなサイズとなるので、ファイル情報をＲＡＭ１３に記憶させることは、ＮＶＲＡＭ１４の消費を抑制するという点においてより好ましい。
【０１３３】
中継サーバ１００は、データ記憶領域１０２ｂに記憶されるステータス情報５０が更新される毎に、当該ステータス情報５０を、当該ステータス情報に関連付けられているサービス情報により特定されるサービス提供サーバ２００、すなわち、当該ステータス情報を含む印刷指示の送信元であるサービス提供サーバ２００に逐次送信する。よって、印刷指示の送信元のサービス提供サーバ２００に対し、当該印刷指示に基づき実行される印刷処理のステータスを逐次報せることができる。特に、印刷処理のステータスの送信先は、印刷指示に含まれる返信先情報が示す返信先に送信されるので、サービス提供サーバが要求する返信先にステータス情報を送信できる。
【０１３４】
また、上記逐次送信は、ステータス情報５０の送信先となるサービス提供サーバ２００に対し、自動通知の設定がされていることを条件とする。その一方で、自動通知の設定がされていないサービス提供サーバ２００については、サービス提供サーバ２００からの要求に応じて、ステータス情報５０が送信される。よって、各サービス提供サーバ２００にとって好適な態様で、ステータス情報５０をサービス提供サーバに送信できる。
【０１３５】
上記実施形態において、処理情報システム１が、処理情報システムの一例である。中継サーバ１００が、中継サーバの一例である。デバイス１０が、デバイスの一例である。サービス提供サーバ２００が、サービス提供サーバの一例である。ルータ３０が、ルータの一例である。インターネット８００が、インターネットの一例である。記憶部１０２が、第１記憶部、記憶部の一例である。ＮＶＲＡＭ１４が、第２記憶部、不揮発性の記憶部の一例である。ＲＡＭ１３が、第３記憶部の一例である。ネットワークＩ／Ｆ１０３が、通信部の一例である。ＣＰＵ１０１が、制御部の一例である。ＬＡＮ＿Ｉ／Ｆ２３が、通信部の一例である。ＣＰＵ１１が、制御部の一例である。プリンタ部１９が、所定の処理を実行する処理実行部の一例である。ファイルが、処理情報の一例である。ファイルのページが、処理情報に含まれる部分の一例である。ファイルＩＤが、特定情報の一例である。印刷指示が、実行指示情報の一例である。ステータス情報５０，７０，８０、エラー情報が、ステータス情報の一例である。サービス情報が、サービス識別情報の一例である。印刷設定が、設定情報の一例である。返信先情報が、送信先識別情報の一例である。
【０１３６】
Ｔ１の処理を実行するサービス提供サーバ２００が、第１指示送信手段の一例である。Ｓ７０５の処理を実行するＣＰＵ１０１が、第２指示送信手段の一例である。Ｓ６０４の処理を実行するＣＰＵ１１が、処理実行手段の一例である。Ｓ６０７，Ｓ６２２，Ｓ６１７，Ｓ６４３の処理を実行するＣＰＵ１１が、第１ステータス送信手段の一例である。Ｓ７０４の処理を実行するＣＰＵ１０１が、第１記憶手段の一例である。Ｓ７０４，Ｓ７０７の処理を実行するＣＰＵ１０１が、第２記憶手段の一例である。Ｓ７０６の処理を実行するＣＰＵ１０１が、第２ステータス送信手段の一例である。Ｓ６０２，Ｓ６０３，Ｓ６０６，Ｓ６１２，Ｓ６１４，Ｓ６１６，Ｓ６２０，Ｓ６４２の処理を実行するＣＰＵ１１が、第３記憶手段の一例である。Ｓ６０１の処理を実行するＣＰＵ１１が、第４記憶手段の一例である。Ｓ７０４で、ＸＭＰＰ  ｏｖｅｒ  ＢＯＳＨによる接続が確立されているデバイス１０に中継サーバ１００が送信した設定情報を、ルータ３０が中継し、デバイス１０が受信する処理がサーバプッシュの一例である。
【０１３７】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１３８】
例えば、上記実施形態では、サービス提供サーバ２００が提供するサービスとして、デバイス１０に印刷処理を実行させるサービスを例示した。印刷処理に限らず、スキャン処理など、他の処理を実行させるサービスを提供する場合であっても、本発明を適用することができる。
【０１３９】
上記実施形態では、デバイス１０として、多機能周辺装置を例示したが、サービス提供サーバ２００が提供するサービスを利用可能な装置であれば、プリンタやスキャナなどの単機能を有する装置であっても、本発明を適用できる。また、デバイス１０として、指示データなどに基づいて、所定の画像を刺繍、キルティングするミシンでもよい。画像データに基づいた作品、製品を形成するために、飾り縫い、縫製などをおこなうミシンでもよい。指示データなどに基づいて、吹き付け、削りだしなどで、３Ｄ画像を生成する３Ｄプリンタでもよい。指示データなどに基づいて、材料を加工する工作機械でもよい。楽曲を演奏する装置や、映像を上演する装置でもよい。何らかの情報を定期的に取得するセンシングデバイスや、家庭設備、工場設備などの稼働を管理する稼働管理装置などを採用した場合であっても、本発明を適用できる。
【０１４０】
上記実施形態では、印刷指示に含まれる印刷設定として、用紙サイズを例示したが、両面印刷または片面印刷に関する設定や、ふちなし印刷またはふちあり印刷に関する設定などであっても、本発明を適用できる。
【０１４１】
上記実施形態では、デバイス１０が、ファイル情報をＲＡＭ１３に記憶する構成としたが、ＮＶＲＡＭ１３に記憶する構成であってもよい。
【０１４２】
上記実施形態では、デバイス１０が、１ファイルの印刷が開始するタイミングおよび完了したタイミングで、ステータス情報７０を中継サーバ１００に送信する構成としたが、他のタイミングで送信する構成としてもよい。例えば、１ページ分の印刷が完了する毎に、ステータス情報７０を中継サーバ１００に送信する構成としてもよい。
【０１４３】
上記実施形態では、デバイス１０は、１ページ分の印刷が行われる毎に、ジョブレポートテーブル６１またはジョブレポートテーブルＡを更新する構成とした。更新のタイミングは、ページ単位以外の単位であってもよい。例えば、エクセルファイルなど、ページ概念のないファイルを印刷する場合に、１シート分の印刷が行われる毎に、ジョブレポートテーブル６１などを更新する構成としてもよい。
【０１４４】
上記実施形態では、中継サーバ１００は、デバイス１０にサービス情報を送信しない構成としたが、サービス情報を送信する構成としてもよい。一方、デバイス１０は、ステータス情報７０，８０を中継サーバ１００に送信する際に、対応するサービス情報を送信する構成としてもよい。かかる場合、中継サーバ１００は、ジョブＩＤからサーバ情報を特定することなく、ステータス情報７０，８０を、送信すべきサービス提供サーバ２００に送信することができる。
【０１４５】
上記実施形態では、異常終了通知に付加されるステータス情報８０にはファイルステータスが含まれないものとして説明したが、ステータス情報８０に、異常発生時に印刷処理の実行中であったファイルステータスを「ａｂｏｒｔｅｄ」として含む構成であってもよい。また、ステータス情報５０において、ジョブステータスを「ａｂｏｒｔｅｄ」に更新するタイミングで、各ファイルのファイルステータスも「ａｂｏｒｔｅｄ」に更新する構成としてもよい。
【０１４６】
上記実施形態では、中継サーバ１００は、通知設定が自動通知に設定されているサービス提供サーバ２００に対してのみ、印刷状況通知のコールバックを行う構成としたが、通知設定が自動通知に設定されていない場合であっても、状況に応じて中継サーバ１００が自動的にコールバックを行うことが可能な構成であってもよい。例えば、デバイス１０と中継サーバ１００との間の通信が切断された場合には、通知設定が自動通知に設定されていなくても、中継サーバ１００は、印刷状況通知とエラー情報とをサービス提供サーバ２００に送信する構成としてもよい。
【０１４７】
上記実施形態では、印刷処理に対する印刷設定として、用紙サイズの設定と、カラー印刷またはモノクロ印刷を指定する設定とを例示したが、これに限定されるものではない。印刷設定としては、両面印刷の設定や、ふちなし印刷の設定など、デバイス１０が利用可能な各種設定を採用できる。
【０１４８】
上記実施形態では、印刷設定が印刷指示に含まれる場合に、デバイス１０が当該印刷設定に従った用紙サイズで印刷を開始できない場合には、デバイス１０は、印刷を開始することが可能な、異なる用紙サイズで印刷を開始する、とした。これに対し、デバイス１０が印刷設定に従って印刷を開始できない場合、デバイス１０は、どの設定が原因で印刷できないかを示す印刷不可情報を、中継サーバ１００経由でサービス提供サーバ２００に送信してもよい。印刷不可情報を受信したサービス提供サーバ２００は、印刷できない原因となった設定を、デバイス１０が印刷可能な設定に変更して、新たな印刷指示を送信してもよい。すなわち、設定を変更してＴ１からやり直せばよい。デバイス１０は、印刷不可情報に、印刷可能な設定を示す情報を含めてもよい。また、印刷不可情報に、印刷可能な設定と、その設定で印刷開始してよいか問い合わせる情報を含めてもよい。この場合、印刷不可情報を受信したサービス提供サーバ２００が、デバイス１０が送信してきた印刷設定で印刷してよいことを示す情報を中継サーバ１００経由で送信すると、デバイス１０はその情報を受信したことに応じて、印刷を開始してよい。もちろん、印刷不可情報を受信したサービス提供サーバ２００が、上記したＴ１のやり直しを行ってもよい。
【０１４９】
また、サービス提供サーバ２００が、Ｔ１に先立って、印刷設定を含む印刷予約情報を中継サーバ１００経由でデバイス１０に送信してもよい。この場合、デバイス１０は、デバイス１０が印刷設定に従って印刷を開始できる場合は、その旨を示す印刷可能情報を中継サーバ１００経由でサービス提供サーバ２００に送信してもよい。印刷を開始できない場合は、印刷不可情報を送信してもよい。この場合、印刷可能情報を受信したサービス提供サーバ２００が、印刷してよいことを示す情報を中継サーバ１００経由で送信すると、デバイス１０はその情報を受信したことに応じて、印刷を開始してよい。なお、印刷可能情報を受信したサービス提供サーバの振る舞いは、上記した例のいずれかでもよい。
【０１５０】
上記実施形態では、デバイス１０と中継サーバ１００との通信が切断された場合、その通信が復旧した際には、デバイス１０が異常終了通知を中継サーバ１００に送信する構成とした。デバイス１０と中継サーバ１００との間における通信の切断が、デバイス１０の電源によるものでなく、デバイス１０にて印刷処理は実行中であるが、通信用のコネクタの脱離や、通信障害などによって切断された場合もあり得る。よって、かかる場合を考慮し、デバイス１０と中継サーバ１００との間における通信が復旧した際には、デバイス１０は、通信が切断されていた期間に実行された印刷処理の状況を中継サーバ１００に報せる構成としてもよい。かかる場合、中継サーバ１００は、デバイス情報５０を、通信が切断されていた期間に実行された印刷処理の状況に応じて更新することができる。これに伴い、サービス提供サーバ２００にも、通信が切断されていた期間に実行された印刷処理の状況を報せることができる。
【０１５１】
かかる変形例では、デバイス１０は、図６（ａ）の印刷処理において、デバイス１０と中継サーバ１００との通信が切断された場合、その後は、ＮＶＲＡＭ１４に記憶するジョブレポートやファイルステータスなどの内容を、印刷処理に供されたファイル毎に保持する。そして、デバイス１０と中継サーバ１００との通信が復旧した場合、デバイス１０は、図６（ｂ）の再開時処理において、通信切断後に印刷処理が完了した全てのファイルについて、ファイル毎に、ＮＶＲＡＭ１４に記憶される内容に応じたステータス情報７０を中継サーバ１００に送信する。中継サーバ１０は、受信したステータス情報７０に基づいて、ステータス情報５０の内容を最新の内容に更新する。そして、中継サーバ１００は、更新後のステータス情報５０を付加した印刷状況通知をサービス提供サーバ２００に送信する。なお、デバイス１０と中継サーバ１００との通信が復旧したタイミングで、あるファイルの印刷処理がデバイス１０にて実行中である場合、デバイス１０は、当該実行中の印刷処理が完了したことに応じて、Ｔ８やＴ１５と同様に、印刷が完了したファイルに関する印刷完了通知を中継サーバ１００に送信する。
【０１５２】
図６または図７に示す各処理のうち、一部の処理を、特許請求の範囲における独立請求項から逸脱しない範囲で、省略または変更してもよい。例えば、図６におけるＳ６０８，Ｓ６１９，Ｓ６２０の処理を省略する構成としてもよい。
【０１５３】
上記実施形態では、ＣＰＵ１１またはＣＰＵ１０１が、図６または図７に記載される各処理を実行する構成として説明したが、これら各図に記載される各処理を、複数のＣＰＵが協同的に実行する構成としてもよい。また、ＡＳＩＣなどのＩＣが、単独で、または、複数によって協働的に、上記各図に記載される各処理を実行する構成してもよい。また、ＣＰＵ１１とＡＳＩＣなどのＩＣとが協同して、上記各図に記載される各処理を実行する構成してもよい。
【符号の説明】
【０１５４】
１：処理実行システム，１０：デバイス，１００：中継サーバ，２００：サービス提供サーバ
【図１】
2015198267.tif 000003
【図２】
2015198267.tif 000004
【図３】
2015198267.tif 000005
【図４】
2015198267.tif 000006
【図５】
2015198267.tif 000007
【図６】
2015198267.tif 000008
【図７】
2015198267.tif 000009