(57)【要約】【課題】処理装置の電源オン時に処理装置が必ずジョブ取得処理を行うと、無駄な通信トラフィックおよびサーバ負荷が発生する。また、処理装置の電源オン時に処理装置がジョブ取得を行わない場合には、自動的にジョブが実行されない場合がある。【解決手段】サーバシステムは、処理装置との間で接続が確立されたときにその処理装置に向けたジョブを保持している場合、その接続が確立された通信により処理装置からに関する問い合わせがなくてもジョブの発生を示す通知メッセージをその接続が確立された通信により処理装置に送信する。【選択図】図１２
2017134702.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信したジョブを、該ジョブを実行する処理装置にネットワークを介して送信するサーバシステムであって、
前記処理装置との間で通信の接続が確立されたときに前記処理装置に向けたジョブを保持手段が保持している場合、前記接続が確立された通信により前記処理装置からのジョブに関する問い合わせがなくても、ジョブの発生を示す通知メッセージを前記接続が確立された通信により前記処理装置に送信する送信手段を有し、
前記送信手段は、前記通信が確立されたときに前記ジョブを保持していない場合、前記通知メッセージを送信しないことを特徴とするサーバシステム。
【請求項２】
前記接続の確立はＸＭＰＰのセッションの確立であることを特徴とする請求項１に記載のサーバシステム。
【請求項３】
前記送信手段は、前記接続が確立されたときに前記ジョブを前記保持手段が保持しており且つ前記接続が確立した通信により装置状態通知の処理が行われた場合に、前記通知メッセージを送信することを特徴とする請求項１または２に記載のサーバシステム。
【請求項４】
前記処理装置との間で通信が確立された場合に、前記ジョブを前記保持手段が保持しているか判定する判定手段を有し、
前記送信手段は、前記判定手段において前記ジョブを前記保持手段が保持していると判定した場合に、前記通知メッセージを送信し、前記判定手段において前記ジョブを前記保持手段が保持していないと判定した場合に、前記通知メッセージを送信しないことを特徴とする請求項１から３のいずれか一項に記載のサーバシステム。
【請求項５】
前記判定手段は、前記通信が確立されてから所定の時間が経過した後に、前記判定をすることを特徴とする請求項４に記載のサーバシステム。
【請求項６】
前記送信手段は、前記接続が確立されたときに前記ジョブを保持手段が保持している場合、既に前記処理装置に前記ジョブの発生を示す前記通知メッセージを送信済みの場合であっても、前記処理装置に前記通知メッセージを送信することを特徴とする請求項１から５のいずれか一項に記載のサーバシステム。
【請求項７】
前記送信手段は、前記通知メッセージを送信した前記処理装置からのジョブの要求に応じて、前記ジョブに関するジョブ情報を前記処理装置に送信することを特徴とする請求項１から６のいずれか一項に記載のサーバシステム。
【請求項８】
１または複数のサーバ装置により構成されることを特徴とする請求項１から７のいずれか一項に記載のサーバシステム。
【請求項９】
前記処理装置は印刷機能を備える装置であり、前記ジョブは、処理装置の印刷機能を用いて印刷を実行させるための印刷ジョブを含むことを特徴とする請求項１から８のいずれか一項に記載のサーバシステム。
【請求項１０】
前記処理装置はスキャナ機能を備える装置であり、前記ジョブは、処理装置のスキャナ機能を用いて原稿の読み取り動作を実行させるためのスキャンジョブを含むことを特徴とする請求項１から９のいずれか一項に記載のサーバシステム。
【請求項１１】
請求項１から１０のいずれか一項に記載のサーバシステムから送信される前記通知メッセージに応じて前記サーバシステムにジョブの要求を送信し、前記送信したジョブの要求に応じて受信したジョブに応じた処理を実行する処理装置。
【請求項１２】
ネットワークを介して受信したジョブを、該ジョブを実行する処理装置にネットワークを介して送信するサーバシステムにおける制御方法であって、
前記処理装置との間で通信の接続が確立されたときに前記処理装置に向けたジョブを保持手段が保持している場合、前記接続が確立された通信により前記処理装置からのジョブに関する問い合わせがなくても、ジョブの発生を示す通知メッセージを前記接続が確立された通信により前記処理装置に送信する送信ステップと
を有し、
前記送信ステップでは、前記通信が確立されたときに前記ジョブを保持していない場合、前記通知メッセージを送信しないことを特徴とするサーバシステムの制御方法。
【請求項１３】
コンピュータを、請求項１から１０のいずれか一項に記載のサーバシステムの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステムと、ジョブを実行する処理装置とを有する処理システムに関するものである。
【背景技術】
【０００２】
近年クラウドサービスの普及により、クラウドサービス上に設置された管理サーバと、ネットワークを介して管理サーバに接続された処理装置とを組み合わせて実現される、様々なサービスが提供されている。例えば、利用者の端末装置からネットワークを介してクラウドサービス上に設置された印刷管理サーバに送られた印刷ジョブを、処理装置であるプリンタがネットワークを介して印刷管理サーバから取得して印刷する、クラウド印刷システムが提供されている。
【０００３】
クラウド印刷システムでは、プリンタは、自装置宛てのジョブが印刷管理サーバに保持されていることをプリンタが知る必要がある。これを実現するためには、以下の方式が考えられる。つまり、印刷管理サーバが利用者の端末からジョブを受け付けた時にプリンタに対してジョブの発生を通知し、通知を受けたプリンタが印刷管理サーバからジョブを取得して印刷する、いわゆるプッシュ通知方式である。
【０００４】
しかしながら、プリンタが電源オフ状態にある場合に利用者の端末からジョブが投入された場合、印刷管理サーバからのプッシュ通知をプリンタが受信できない場合がある。この場合、あとからプリンタを電源オンしても電源オフ中に投入されたジョブの有無をプリンタが知ることができないため、ジョブが自動的に実行されないことがある。特許文献１には、プリンタの電源オン時の初期設定の後に、プリンタがサーバにアクセスし、画像データが記憶されているかどうかを問い合わせる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−８８３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の方法では、プリンタが電源オン時に、必ずサーバに問い合わせの通信を行う必要があるという問題がある。クラウド印刷サービスが大規模になるほど、全世界に設置されているプリンタ電源オンの度にサーバへの問い合わせの通信が発生し、トラフィックおよびサーバ負荷の観点で影響が大きい。一方で、プリンタが電源オン時にジョブ情報の取得を行わない形態では、サーバ側に未処理のジョブが残っているときにプリンタ電源オンしても自動的に印刷されない場合がある。
【０００７】
この問題は、プリンタと管理サーバからなる印刷システムに限られたものではない。その他の種類の装置と管理サーバからなる処理システムにおいても、管理サーバからジョブの通知を行い、その通知に基づいて処理装置が管理サーバにジョブ情報の問い合わせを行う形態のシステムでは同様の問題が発生する。
【課題を解決するための手段】
【０００８】
本発明に係るサーバシステムは、ネットワークを介して受信したジョブを、該ジョブを実行する処理装置にネットワークを介して送信するサーバシステムであって、前記処理装置との間で通信の接続が確立されたときに前記処理装置に向けたジョブを保持手段が保持している場合、前記接続が確立された通信により前記処理装置からのジョブに関する問い合わせがなくても、ジョブの発生を示す通知メッセージを前記接続が確立された通信により前記処理装置に送信する送信手段を有し、前記送信手段は、前記通信が確立されたときに前記ジョブを保持していない場合、前記通知メッセージを送信しないことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、サーバシステム側に未処理のジョブがないにも関わらず処理装置からジョブ取得の要求が送信されることを防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態である印刷システム１００の構成を示す図である。
【図２】端末装置２００の外観を表す図である。
【図３】ＭＦＰ３００の外観を示す図である。
【図４】管理サーバ４００の制御系の構成を示すブロック図である。
【図５】ＭＦＰ３００の制御系の構成を示すブロック図である。
【図６】管理サーバ４００の機能構成を示すブロック図である。
【図７】管理サーバ４００の処理内容を示すフローチャートである。
【図８】ＭＦＰ３００の機能構成を示すブロック図である。
【図９】ＭＦＰ３００の処理内容を示すフローチャートである。
【図１０】管理サーバ４００側にジョブがない状態でＭＦＰ３００を電源オンした場合のシーケンス図である。
【図１１】ＭＦＰ３００が電源オンの状態で、端末装置２００からジョブを投入した場合のシーケンス図である。
【図１２】ＭＦＰ３００が電源オフ状態で端末装置２００からジョブを投入し、その後ＭＦＰ３００を電源オンした場合のシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について詳細に説明する。なお、この実施の形態に記載されている構成要素は、本発明の例としての形態を示すものであり、この発明の範囲をそれらのみに限定するものではない。
【００１２】
［実施形態１］
図１は、本発明の一実施形態である印刷システム１００の構成を示す図である。印刷システム１００においては、端末装置２００と処理装置としてマルチファンクションプリンタ３００（以下、ＭＦＰ３００と記す）とサーバシステムとしての管理サーバ４００とがインターネット１０１を経由して相互に接続されている。なお、管理サーバ４０が１つのサーバ装置から構成され、その１つのサーバが本実施形態のサーバシステムとして機能してもよいし、管理サーバ４０が複数のサーバ装置から構成され、その複数のサーバ装置がサーバシステムとして機能しても良い。後者の場合、図６で後述する管理サーバ４０の各機能が該複数のサーバ装置に適宜分担される。
【００１３】
端末装置２００とＭＦＰ３００とは同一ＬＡＮ上で通信可能に接続されていてもよいし、図に示す通り、インターネット１０１経由で通信可能に接続されていてもよい。端末装置２００とＭＦＰ３００とがインターネット１０１経由で接続されている場合は端末装置２００とＭＦＰ３００とを遠隔地に設置して使用することも可能である。端末装置２００、ＭＦＰ３００、管理サーバ４００の各装置がインターネット１０１と接続する構成については既存の技術を用いるものとする。有線ＬＡＮ、無線ＬＡＮ、携帯電話回線を利用する方法などが考えられる。
【００１４】
また、管理サーバ４００とＭＦＰ３００は相互にＸＭＰＰ（Extensible Messaging and Presence Protocol）接続を確立する。そして、ジョブの発生を、ＸＭＰＰメッセージを用いて管理サーバ４００からＭＦＰ３００へ通知するものとする。管理サーバ４００とＭＦＰ３００はインターネット１０１経由で接続されているため、ＭＦＰ３００が管理サーバ４００にジョブ問合わせを頻繁に行うと通信のオーバヘッドが大きくなり、トラフィックおよびサーバ負荷が増大する。従って、端末装置２００からジョブが投入されたときに管理サーバ４００からＭＦＰ３００に向けてジョブ通知を送信し、ＭＦＰ３００はこの通知を受けた時にジョブ情報の送信要求を管理サーバ４００に送信する。ただし、ＭＦＰ３００が電源オフ状態にあるときは管理サーバ４００との間のＸＭＰＰ接続は切れてしまうため、ＭＦＰ３００が電源オフ状態にあるときにジョブが投入されると管理サーバ４００はＭＦＰ３００にジョブ通知を送信することができない。そこでＭＦＰ３００の電源オン時にＭＦＰ３００がジョブ問合わせを行う方法も考えられる。しかし、一つの管理サーバ４００で多数のＭＦＰ３００のジョブを管理する場合には、ＭＦＰ３００の電源オンの都度ジョブ問い合わせが行われるとトラフィックならびにサーバ負荷が増大することになる。
【００１５】
そこで本実施形態では、管理サーバ４００はＭＦＰ３００とのＸＭＰＰ接続が確立された場合、そのＭＦＰ３００に対するジョブを保持しているかを判定する。そして、ジョブを保持している場合、管理サーバ４００はＭＦＰ３００からの問い合わせを受けることなく、その保持しているジョブのジョブ通知をＸＭＰＰ接続を確立したＭＦＰ３００に送信する。また管理サーバ４００は、仮にそのジョブのジョブ通知を既に送信していたとしても、その保持しているジョブのジョブ通知をＸＭＰＰ接続を確立したＭＦＰ３００に送信する。詳細については後述する。
【００１６】
なお、図１は処理装置としてＭＦＰを用い、処理システムとして印刷システムを用いる形態を例に挙げて説明した。しかしながらこれに限られるものではない。管理サーバから送られるジョブに従って各種の処理をする処理装置であればＭＦＰでなくてもいずれの形態の装置であってもよい。
【００１７】
図２は、端末装置２００の外観を表す図である。本実施形態では端末装置２００としてスマートホンを用いる形態を説明する。スマートホンとは、携帯電話の機能の他に、カメラや、ネットブラウザ、メール機能などを搭載した多機能型の携帯電話のことである。無線ＬＡＮユニット２０１は無線ＬＡＮで通信を行うためのユニットで、装置内に配置されている。回線接続ユニット２０２は、携帯電話回線に接続して通信を行うためのユニットで、装置内に配置されている。タッチパネルディスプレイ２０３はＬＣＤ方式の表示機構とタッチパネル方式の操作機構を兼ね備えており、端末装置２００の前面に備えられている。代表的な操作方法はタッチパネルディスプレイ２０３上にボタン状の操作パーツの表示を行い、ユーザがタッチパネル２０３へのタッチ操作を行うことによってボタンが押下されたイベントを発行することである。電源ボタン２０４は端末装置２００の電源のオン、およびオフをする際に用いる。なお、ここではスマートホンの例を記載したが、端末装置２００として用いられる装置はタブレットやＰＣ端末、その他の電子機器によるものであってもよい。
【００１８】
図３は、ＭＦＰ３００の外観を示す図である。本実施形態では印刷装置とスキャナとその他の機能とを兼ね備えたマルチファンクションプリンタ（ＭＦＰ）を例にしている。原稿台３０１はガラス状の透明な台であり、原稿をのせてスキャナで読み取る時に使用する。原稿台圧板３０２はスキャナで読み取りを行う際に原稿が浮かないように原稿台に押しつけるとともに、外光がスキャナユニットに入らないようにするためのカバーである。印刷用紙挿入口３０３は様々なサイズの用紙をセットする挿入口である。ここにセットされた用紙は一枚ずつ印刷部に搬送され、所望の印刷を行って印刷用紙排出口３０４から排出される。
【００１９】
図４は、管理サーバ４００の制御系の構成を示すブロック図である。管理サーバ４００は装置全体の制御を行うメインボード４１０と、ネットワーク接続ユニット４０１、ハードディスクユニット４０２とを有する。メインボード４１０に配置されるマイクロプロセッサ形態のＣＰＵ４１１は、内部バス４１２を介して接続されているプログラムメモリ４１３に格納されている制御プログラムと、データメモリ４１４の内容とに従って動作する。ＣＰＵ４１１はネットワーク制御回路４１５を介してネットワーク接続ユニット４０１を制御することで、インターネット１０１と接続し、他の装置との通信を行う。ＣＰＵ４１１はハードディスク制御回路４１６を経由して接続されたハードディスクユニット４０２にデータを読み書きすることができる。ハードディスクユニット４０２には、プログラムメモリ４１３にロードして使用されるオペレーティングシステムや管理サーバ４００の制御ソフトウェアが格納されるほか、各種のデータも格納される。端末装置２００から受信した印刷ジョブのデータは、印刷ジョブを実行するべきＭＦＰ３００の個体ごとに識別されてハードディスクユニット４０２に格納される。なお、管理サーバ４００は情報処理装置の一種である。
【００２０】
図５は、ＭＦＰ３００の制御系の構成を示すブロック図である。マイクロプロセッサ形態のＣＰＵ３１１は、内部バス３１２を介して接続されているＲＯＭ形態のプログラムメモリ３１３に格納されている制御プログラムと、ＲＡＭ形態のデータメモリ３１４の内容とに従って動作する。ＣＰＵ３１１はスキャナ部３１５を制御して原稿を読み取り、データメモリ３１４中の画像メモリ３１６に原稿の画像を格納する。また、ＣＰＵ３１１は印刷部３１７を制御してデータメモリ３１４中の画像メモリ３１６の画像を記録媒体に印刷することができる。
【００２１】
ＣＰＵ３１１は無線ＬＡＮユニット３１８を制御することで、外部に設けられた無線ＬＡＮアクセスポイント３２１と接続する。無線ＬＡＮアクセスポイント３２１はインターネット１０１と接続されており、ＭＦＰ３００のＣＰＵ３１１は無線ＬＡＮアクセスポイント３２１経由でインターネットと接続し他の装置と通信を行うことができる。ＣＰＵ３１１は操作部制御回路３１９を制御することによって、ＭＦＰ３００の外面に設けられた操作パネル３２０にＭＦＰ３００の状態の表示や機能選択メニューの表示を行ったり、ユーザからの操作を受け付けたりすることが可能である。上記の構成を組み合わせることで、ＭＦＰ３００はさまざまな機能をユーザに提供する。例えばインターネット１０１経由で接続された管理サーバ４００から印刷ジョブを取得し、印刷部３１７を制御して記録媒体に印刷を行うことができる。また、スキャナ部３１５を制御して原稿を読み取った画像を管理サーバ４００や他の装置に送信することができる。さらに、操作パネル３２０へのユーザ入力を受けて装置の動作を開始することができ、スキャナ部３１５を制御して原稿を読み取った画像を印刷部３１７で印刷することでコピー機能を実行することも可能である。
【００２２】
次に、管理サーバ４００の機能構成と処理内容とを説明する。  
図６は、管理サーバ４００の機能構成の例を示す図である。管理サーバ４００は、受信部６０１と、制御部６０２と、保持部６０３と、送信部６０４とを有する。受信部６０１は、ＭＦＰ３００からの各種の要求を受信したり、端末装置２００からのジョブを受信する。制御部６０２は、後述するフローチャートに示す処理を実行する制御をする。保持部６０３はハードディスクユニット４０２を用いて端末装置２００から送信されたジョブを保持する。送信部６０４はＭＦＰに各種の情報を送信する。本実施形態では、管理サーバのＣＰＵ４１１がプログラムメモリ４１３に格納されたプログラム実行することにより、ＣＰＵ４１１が図６に示す各機能部として機能する。
【００２３】
図７は、管理サーバ４００のＣＰＵ４１１の処理内容を示すフローチャートである。本フローチャートの処理は管理サーバ４００が起動され、管理サーバ４００の制御プログラムが起動されるとＣＰＵ４１１が図６に示す各部として機能し、処理が開始される。
【００２４】
制御部６０２は、ステップＳ７００で管理サーバ４００を制御するプログラムの各種初期化を行った後、ステップＳ７０１からステップＳ７１６の繰り返しループに入る。この繰り返しループの中では、ステップＳ７０３からステップＳ７０５までの各ステップで受信部６０１が外部から受信する各種のイベントを検知して、制御部６０２はそれぞれのイベントに応じた処理を行う。
【００２５】
ステップＳ７０３において受信部６０１がイベントとしてＭＦＰ３００からＸＭＰＰ接続要求を受信したことを検出した場合、制御部６０２はステップＳ７０６へ進み、ＸＭＰＰ接続要求の送信元のＭＦＰ３００とのＸＭＰＰ接続確立処理を行う。そうでない場合、ステップＳ７０４に進む。
【００２６】
ステップＳ７０６でＸＭＰＰ接続確立処理を行うと、続いてステップＳ７０７へ進み、制御部６０２はステップＳ７０６でＸＭＰＰ接続を確立したＭＦＰ３００において実行するべき印刷ジョブが保持部６０３にスプールされているかどうかを判定する。該当ＭＦＰ３００への印刷ジョブがスプール保存されている場合はステップＳ７０８へ進み、制御部６０２は、接続が確立されているＸＭＰＰチャネルを用いて、ジョブ通知のメッセージを該当ＭＦＰ３００へ送信する。なお、ジョブ通知のメッセージとは、ジョブが発生していることを通知するメッセージのことである。一方、ジョブの内容そのものであるジョブ情報については、後述するステップＳ７０５、Ｓ７１４で説明するように、ＭＦＰ３００からの要求に基づいて管理サーバ４００から送信されることになる。一方、ステップＳ７０７において該当ＭＦＰ３００への印刷ジョブが存在しなかった場合は、該当ＭＦＰ３００へジョブ通知は送信されない。このように本実施形態においては、ＸＭＰＰ接続確立処理後にその接続を確立したＭＦＰ３００に対する印刷ジョブがスプールされている場合には、ＭＦＰ３００からの問い合わせを受けることなく、そのＭＦＰ３００にジョブ通知を送信する。また、既にそのジョブ通知を該当するＭＦＰ３００に送信済みの状態であったとしても、ジョブ通知を送信する。
【００２７】
ステップＳ７０４においてイベントとして端末装置２００から印刷ジョブが投入されたことを受信部６０１が検知した場合、制御部６０２はステップＳ７１０へ進む。そうでない場合、ステップＳ７０５に進む。ステップＳ７１０において制御部６０２は、投入された印刷ジョブを保持部６０３にスプールする。続くステップＳ７１１で制御部６０２は、投入された印刷ジョブを実行するべきＭＦＰ３００を特定し、該当するＭＦＰ３００との間でＸＭＰＰ接続が確立済みであるかどうかを判定する。ＸＭＰＰ接続確立済みである場合はステップＳ７１２へ進み、ステップＳ７１２において制御部６０２は、該当するＭＦＰ３００に対してＸＭＰＰ接続チャネルを用いてジョブ通知のメッセージを送信する。一方、ステップＳ７１１においてＸＭＰＰ接続が確立していなかった場合にはＭＦＰ３００へのジョブ通知は行われない。
【００２８】
ステップＳ７０５において、受信部６０１がイベントとしてＭＦＰ３００からのジョブ情報要求を受信していることを検知した場合にはステップＳ７１３へ進む。そうでない場合は、ステップＳ７０１に戻り繰り返し処理を行う。なお、ジョブ情報要求とは、ジョブの内容そのものである、管理サーバ４００にて管理しているジョブ（ジョブ情報と呼ぶ）をＭＦＰ３００に送信せよ、という要求である。ステップＳ７１３で制御部６０２はジョブ情報要求の送信元のＭＦＰ３００を特定し、該当するＭＦＰ３００で実行するべき印刷ジョブが保持部６０３にスプール（保持）されているかどうかを判定する。ステップＳ７１０において該当ＭＦＰ３００への印刷ジョブがスプールされていると判定した場合はステップＳ７１４へ進み、制御部６０２はそのジョブ情報を、接続を確立しているＸＭＰＰチャネルを通じて該当ＭＦＰ３００へ送信する。ジョブ情報を送信すると、制御部６０２は保持部６０３にスプールされているジョブ情報を削除する。あるいは、ジョブ情報を送信後に正常に送信されたことを示すＡＣＫ情報などを管理サーバ４００が受信した場合に制御部６０２は保持部６０３にスプールされているジョブ情報を削除してもよい。一方、ステップＳ７１３において該当ＭＦＰ３００への印刷ジョブが存在しないと判定した場合は、ステップＳ７１５へ進み、該当ＭＦＰ３００への応答として「ジョブなし」を示す情報を送信する。
【００２９】
なお、Ｓ７０７におけるジョブの存在についての判定処理は、Ｓ７０６の接続確立の後に行われる場合に限らず、接続が確立されていない状態で行われてもよい。例えば管理サーバ３００に登録されている全てのＭＦＰについて、管理サーバ４００がジョブの有無の判定処理を定期的に行う。そして管理サーバ４００は、接続確立時にはジョブの存在の判定処理自体は行わず、接続確立前に行われた最新の判定結果に応じて、通知を行うか否かを判定してもよい。また、接続が確立してから所定の時間が経過した後に判定処理が行なわれてもよい。ただし、図７のＳ７０６、Ｓ７０７のように、接続確立時にジョブの有無を判定することで、接続確立し、ジョブの存在を確認する必要があるＭＦＰを特定した上で判定を行うことができる。つまり管理サーバ４００は、結果的に接続確立することのないＭＦＰを含めて全てのＭＦＰについて定期的にジョブの有無を判定する必要がない。
【００３０】
次に、ＸＭＰＰ接続が切断される場合を説明する。例えばＭＦＰ３００の電源がオンからオフに切り替わると切断処理が行なわれ、管理サーバ４００は該当するＭＦＰ３００のＸＭＰＰ接続が切断したことを把握する。よって、切断処理を行なったＭＦＰ３００に対するその後の処理は図７に示す処理の通りとなる。一方、正常な切断シーケンスではなく、突発的な事象（例えば断線、抜線など）によりＸＭＰＰ接続が切断される場合がある。このような場合、管理サーバ４００では切断を認識できない場合があり、このような場合、管理サーバ４００は、該当するＭＦＰ３００とはＸＭＰＰ接続が確立されたままであると認識する。よって、この状態において端末装置からの印刷ジョブの投入があると、管理サーバ４００はステップＳ７１２に示すようにジョブ通知を送信することになる。当然ながら、この場合、ＭＦＰ３００からの応答がないので、管理サーバ４００はタイムアウトによるエラーなどによって当該ＭＦＰ３００とのＸＭＰＰ接続が切断していることを認識することになる。
【００３１】
次に、ＭＦＰ３００の機能構成と処理内容とを説明する。  
図８は、ＭＦＰ３００の機能構成の例を示す図である。ＭＦＰ３００は、受信部８０１と、制御部８０２と、送信部８０４と、操作部８０５と、機能実行部８０６とを有する。受信部８０１は、管理サーバ４００からのジョブ通知やジョブ情報などを受信する。制御部８０２は、後述するフローチャートに示す処理を実行する制御をする。送信部８０４は、管理サーバ４００に各種の要求を送信する。操作部８０５は、操作パネル３２０を通じてＭＦＰ３００のユーザからの操作を受け付ける。機能実行部８０６は、ＭＦＰ３００の有する機能である、コピーやスキャンなどの各機能を実行する。本実施形態では、ＭＦＰ３００のＣＰＵ３１１がプログラムメモリ３１３に格納されたプログラムを実行することにより、ＣＰＵ３１１が図８に示す各機能部として機能する。
【００３２】
図９は、ＭＦＰ３００のＣＰＵ３１１の処理内容を示すフローチャートである。本フローチャートの処理はＭＦＰ３００がＡＣ電源に接続され、ＭＦＰ３００の制御プログラムが起動されるとＣＰＵ３１１は図８に示す各部として機能し、処理が開始される。このときＭＦＰ３００はＡＣ電源には接続されているが、みかけ上電源オフ状態であり、極めて消費電力の少ない、いわゆる待機状態にある。
【００３３】
制御部８０２は、ステップＳ９００でＭＦＰ３００の各種初期化処理を行った後、ステップＳ９０１からステップＳ９１３の繰り返しループに入る。この繰り返しループの中では、ステップＳ９０３からステップＳ９０６までの各ステップで、外部から受信部８０１または操作部８０５が受信する各種のイベントを検知して、制御部８０２はそれぞれのイベントに応じた処理を行う。
【００３４】
ステップＳ９０３において、イベントとしてＭＦＰ３００の操作パネル３２０への操作により電源オン操作が行われたことを操作部８０５において検知した場合には、制御部８０２はステップＳ９０７へ進む。そうでない場合は、ステップＳ９０４に進む。ステップＳ９０７で制御部８０２は管理サーバ４００に対してＸＭＰＰ接続要求を送信部８０４から送信する。ＸＭＰＰ接続要求に応じて管理サーバ４００がＸＭＰＰ接続確立処理を行うと、ＭＦＰ３００と管理サーバ４００との間のＸＭＰＰ接続が確立され、ＸＭＰＰ接続確立のイベントが検出されることになる。
【００３５】
ステップＳ９０４において、イベントとして管理サーバ４００とのＸＭＰＰ接続が確立したことを受信部８０１において検出した場合は、ＸＭＰＰ接続が確立したことを確認するだけで、特に管理サーバ４００への通信などの処理は行われない。そうでない場合、ステップＳ９０５に進む。
【００３６】
ステップＳ９０５において、イベントとして管理サーバ４００から接続を確立したＸＭＰＰ接続を用いてジョブ通知のメッセージを受信したことを受信部８０１において検知した場合には、制御部８０２はステップＳ９０８へ進む。そうでない場合、ステップＳ９０６に進む。ステップＳ９０８においては、ジョブ通知のメッセージを受信すると、制御部８０２はそのジョブの取得を行なう処理を開始する。すなわち、ステップＳ９０８において制御部８０２は管理サーバ４００に対してジョブ情報要求を送信し、その応答を受信する。続くステップＳ９０９において制御部８０２は、ステップＳ９１１の結果受信した応答の内容を確認し、自装置宛てのジョブ情報を受信したかどうかを判定する。ジョブ情報を受信した場合はステップＳ９１０へ進み、制御部８０２は、受信したジョブの印刷の実行を機能実行部８０６において実行させる。一方、ステップＳ９０９の結果、「ジョブなし」を受信していた場合はそのままステップＳ９０２へ進み、ジョブの実行は行われない。
【００３７】
ステップＳ９０６において、イベントとして操作パネル３２０への操作によりコピー動作実行を指示する操作が行われたことを操作部８０５において検知した場合には、制御部８０２はステップＳ９１２へ進み、コピー動作を実行する。そうでない場合はステップＳ９０１に戻り繰り返し処理を行なう。
【００３８】
なお、上述のＳ７１４において管理サーバ４００が送信し、上述のＳ９０９でＭＦＰ３００が受信するジョブ情報は、画像やテキスト等の印刷対象のデータであってもよいし、或いはそのデータの格納場所を示すＵＲＬ等の所在情報であってもよい。後者の場合、管理サーバ４００は、管理サーバ４００内のハードディスク４０２等のメモリもしくは管理サーバ４００の外部のサーバに印刷対象のデータを格納する。そして、その格納場所を示す所在情報を、管理サーバ４００がＳ７１４においてＭＦＰ３００に送信する。この場合、Ｓ９１０においてＭＦＰ３００は、受信された所在情報に従って印刷対象のデータの格納場所にアクセスし、そのアクセスにより該データを取得し、取得された該データに基づく印刷を実行する。
【００３９】
以上説明したように、本実施形態におけるＭＦＰ３００は、電源がオンにされた場合であっても、直ちにジョブ情報の要求を送信しない。本実施形態におけるＭＦＰ３００は、電源がオンにされた後に、管理サーバ４００からジョブ通知を受信した場合（Ｓ９０５のＹＥＳ）、ジョブ情報要求を送信する。従って、不必要なトラフィックの増加を防止することができる。
【００４０】
以下、シーケンス図により印刷システム１００全体の処理の流れを説明する。なお、図１０〜図１２において、端末装置２００、ＭＦＰ３００のユーザとしてユーザ５００を例に説明する。ただし、端末装置２００、ＭＦＰ３００は、管理サーバ３００を介して接続されているため、端末装置２００、ＭＦＰ３００は遠距離に設けられていても良く、それぞれのユーザが異なっていても良い。
【００４１】
図１０は、管理サーバ４００側にジョブがない状態でＭＦＰ３００を電源オンした場合のシーケンス図である。ステップＳ１００１において、ユーザ５００はＭＦＰ３００の操作パネル３２０を操作し、ＭＦＰ３００の電源オン操作を行う。電源オン操作に応じてＭＦＰ３００が電源オンイベントに対する処理を行い、ステップＳ１００２において管理サーバ４００に対してＸＭＰＰ接続要求を行う。ＸＭＰＰ接続要求に応答して管理サーバ４００はＸＭＰＰ接続処理を行い、ステップＳ１００３で管理サーバ４００とＭＦＰ３００の間のＸＭＰＰ接続が確立する。ＸＭＰＰ接続が確立すると、管理サーバ４００はステップＳ１００４において、ステップＳ１００３でＸＭＰＰ接続を確立したＭＦＰ３００が実行するべき印刷ジョブがハードディスクユニット４０２にスプールされているかどうかを判定する。図１０の例においてはＸＭＰＰ接続を確立したＭＦＰ３００の印刷ジョブがスプールされていないものとする。従って、この場合は、該当するＭＦＰ３００に対する印刷ジョブがスプールされていないため、ステップＳ１００４の判定結果をもって処理が終了する。したがって、ＭＦＰ３００から管理サーバ４００に対するジョブ問合わせ処理も行われない。
【００４２】
図１１は、ＭＦＰ３００が電源オンの状態で、端末装置２００からジョブを投入した場合のシーケンス図である。ステップＳ１１０１において、ユーザ５００は端末装置２００を操作し、所望のデータの印刷操作を行う。印刷操作に応じて端末装置２００はステップＳ１１０２において、管理サーバ４００に対して印刷ジョブを送信する。印刷ジョブが送信されたことに応答して管理サーバ４００はステップＳ１１０３において印刷ジョブを自身のハードディスクユニット４０２へスプールする。さらに、ステップＳ１１０４において管理サーバ４００は、印刷ジョブを実行するべきＭＦＰ３００に対してジョブ通知を送信する。ジョブ通知が送信されたことに応じてＭＦＰ３００はジョブ通知受信イベントに対する処理を行い、ステップＳ１１０５で管理サーバ４００に対してジョブ情報要求を送信する。ジョブ情報要求に応答して管理サーバ４００はステップＳ１１０６において、ハードディスクユニット４０２にスプールされている印刷ジョブをＭＦＰ３００へ送信する。ＭＦＰ３００はジョブ情報（印刷ジョブ）を受信するとステップＳ１１０７において印刷ジョブの実行を行う。ここで、該当するＭＦＰ３００に対する印刷ジョブが複数スプール保存されていた場合には、ステップＳ１１０６でジョブ情報として全ての印刷ジョブのデータを送信してもよい。この場合、ＭＦＰ３００は全ての印刷ジョブを連続して実行するように制御する。あるいはＭＦＰ３００が１つの印刷ジョブを完了するごとにジョブ情報要求を送信し、次の印刷ジョブ情報があれば続けて印刷ジョブを実行するように制御してもよい。
【００４３】
図１２は、ＭＦＰ３００が電源オフ状態でクライアント端末からジョブを投入し、その後ＭＦＰ３００を電源オンした場合のシーケンス図である。ステップＳ１２０１において、ユーザ５００は端末装置２００を操作し、所望のデータの印刷操作を行う。印刷操作に応じて端末装置２００はステップＳ１２０２において、管理サーバ４００に対して印刷ジョブを送信する。印刷ジョブが送信されたことに応答して管理サーバ４００はステップＳ１２０３において印刷ジョブを自身のハードディスクユニット４０２へスプールする。ここで、管理サーバ４００はＭＦＰ３００とのＸＭＰＰ接続が確立されていない状態であるので、ＭＦＰ３００に対するジョブ通知はここでは送信されない。
【００４４】
続いてステップＳ１２０４において、ユーザ５００はＭＦＰ３００の操作パネル３２０を操作し、ＭＦＰ３００の電源オン操作を行う。電源オン操作に応じてＭＦＰ３００が電源オンイベントに対する処理を行い、ステップＳ１２０５において管理サーバ４００に対してＸＭＰＰ接続要求を行う。ＸＭＰＰ接続要求に応答して管理サーバ４００はＸＭＰＰ接続処理を行い、ステップＳ１２０６で管理サーバ４００とＭＦＰ３００との間でＸＭＰＰ接続が確立する。
【００４５】
ＸＭＰＰ接続が確立すると、管理サーバ４００はステップＳ１２０７において、ＸＭＰＰ接続を確立したＭＦＰ３００が実行するべき印刷ジョブがハードディスクユニット４０２にスプールされているかどうかを判定する。この場合は、該当するＭＦＰ３００に対する印刷ジョブがスプール保存されているため、管理サーバ４００は、ステップＳ１２０８において印刷ジョブを実行するべきＭＦＰ３００に対してジョブ通知を送信する。ジョブ通知が送信されたことに応じてＭＦＰ３００はジョブ通知受信イベントに対する処理を行い、ステップＳ１２０９で管理サーバ４００に対してジョブ情報要求を送信する。ジョブ情報要求が送信されたことに応答して管理サーバ４００はステップＳ１２１０において、ハードディスクユニット４０２にスプールされている印刷ジョブをＭＦＰ３００へ送信する。ＭＦＰ３００はジョブ情報（印刷ジョブ）を受信するとステップＳ１２１１において印刷ジョブの実行を行う。このように、管理サーバ４００に印刷ジョブがスプールされているときにＭＦＰ３００の電源がオンされると管理サーバ４００からＭＦＰ３００に対してジョブ通知が送信される。これによりＭＦＰ３００から管理サーバ４００へのジョブ問い合わせが行われ、速やかに印刷ジョブが実行される。
【００４６】
以上のように制御することで、管理サーバ４００からＭＦＰ３００にジョブの通知ができない状態からＭＦＰ３００の電源がオンされた場合に、管理サーバ４００に未実行のジョブが保持されたままになるという問題を解決することができる。また、ＭＦＰ３００は、電源ＯＮ後、管理サーバ４００とのＸＭＰＰ接続が確立された場合、管理サーバ４００に印刷ジョブが存在していない場合にはジョブ問合わせ処理を実行しないことになる。従って、管理サーバ４００にジョブがないのに不必要にジョブ問合わせを実行することがない。そのため、管理サーバ４００とＭＦＰ３００の間の通信トラフィックならびに管理サーバ４００の負荷を軽減することができる。
【００４７】
なお、本実施形態の説明においては、管理サーバ４００が該当するＭＦＰ３００への印刷ジョブの有無を確認しジョブ通知を送信する処理を、ＸＭＰＰ接続確立時の処理の中で行う場合を説明したが、それ以外のタイミングで行うように構成してもよい。例えば、ＸＭＰＰ接続確立後一定時間経過後に処理を行うように制御してもよい。あるいはＸＭＰＰ接続確立後、ＭＦＰ３００からの装置状態通知のためのメッセージ通信などが行われたタイミングで処理を行うように制御してもよい。また、これらの組み合わせたものを条件として用いても良い。管理サーバ４００は、ＭＦＰ３００との間の通信制御の処理を行なった後であれば、そのＭＦＰ３００との間で通信ができていることが特定できる。従って、管理サーバ４００は、ＭＦＰ３００との間の通信制御の処理を行なった後に、そのＭＦＰ３００に向けたジョブを保持している場合には、そのジョブの発生を示す通知メッセージをそのＭＦＰ３００に送信する。これにより、例えばＭＦＰ３００が電源オフ状態から電源オン状態に移行したとしても、不必要なトラフィックを増加させることなく、ジョブ通知をＭＦＰ３００に送信することができる。
【００４８】
また、本実施形態の説明においては管理サーバ４００から送信され、ＭＦＰ３００で実行するジョブの種類としてＭＦＰ３００の印刷部３１７により記録媒体に印刷を行う印刷ジョブの場合を説明したが、他の種類のジョブであってもよい。例えば、スキャナ部３１５で原稿を読み取った画像を管理サーバ４００に送るスキャンジョブであってもよい。さらには、印刷ジョブとスキャンジョブのそれぞれの通知を受けて、同時並行動作するように制御するようにしてもよい。
【００４９】
＜その他の実施形態＞
先の実施形態１においては処理装置として印刷装置とスキャナ、その他の機能を兼ね備えたマルチファンクションプリンタ（ＭＦＰ）を例に説明したが、印刷機能やスキャナ機能以外の機能を持つその他の処理装置を用いる場合であってもよい。また、管理サーバ４００とＭＦＰ３００がインターネット１０１経由で接続されている場合を主として説明したが、これら装置がローカルネットワークで直接接続されている形態であってもよい。
【００５０】
また、実施形態１においてはＭＦＰと管理サーバとの間のセッションを確立するプロトコルとしてＸＭＰＰを用いる場合を例に挙げて説明したが、これに限られるものではなく、他のプロトコルを用いてセッションを確立して情報のやり取りを行なってもよい。
【００５１】
また、実施形態１においては、ＭＦＰの電源がオンになった場合にＸＭＰＰ接続の確立を開始する処理の例を説明したが、ＸＭＰＰ接続の確立を開始する契機となる処理は、電源がオンになった場合に限られない。例えばネットワーク機能が無効の状態でＭＦＰが動作している場合においてネットワーク機能が有効化された場合にも管理サーバとの間のＸＭＰＰ接続の確立を開始する処理がＭＦＰにおいて行なわれる。あるいは、無線ＬＡＮアクセスポイント３２１の電源がオフの状態からオンの状態に切り替わった場合にも管理サーバとの間のＸＭＰＰ接続の確立を開始する処理がＭＦＰにおいて行なわれる。また、操作パネル３２０を通じたユーザからの指示に応じて管理サーバとの間のＸＭＰＰ接続の確立を開始する処理がＭＦＰにおいて行なわれる。あるいは、突発的なＸＭＰＰ接続の切断に対応するために定期的にＸＭＰＰ接続を確立する要求をＭＦＰが出力してもよい。このように、実施形態１の処理はＭＦＰの電源がオンになった場合の処理に限られず、上記のような様々な契機でＸＭＰＰ接続の確立を開始した場合の処理に置き換えることができる。
【００５２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５３】
２００      端末装置
３００      ＭＦＰ
４００      管理サーバ
５００      ユーザ
【図１】
2017134702.tif 000003
【図２】
2017134702.tif 000004
【図３】
2017134702.tif 000005
【図４】
2017134702.tif 000006
【図５】
2017134702.tif 000007
【図６】
2017134702.tif 000008
【図７】
2017134702.tif 000009
【図８】
2017134702.tif 000010
【図９】
2017134702.tif 000011
【図１０】
2017134702.tif 000012
【図１１】
2017134702.tif 000013
【図１２】
2017134702.tif 000014