(57)【要約】【課題】  デバイスのステータス情報を適切に取得することができる情報処理装置、情報処理方法、及びプログラムを提供する。【解決手段】    所定の処理を行うデバイスのステータスを示すステータス情報を当該デバイスから取得し、取得されたステータス情報と、当該取得に対応する時刻を示すタイムスタンプをメモリに記憶させる。前記デバイスのステータス情報を出力させるための要求に対応する時刻と前記メモリに記憶された前記タイムスタンプが示す時刻との差分が所定の閾値未満の場合、前記メモリに既に記憶されている前記ステータス情報を出力し、当該差分が当該所定の閾値以上の場合、前記デバイスからステータス情報を新たに取得させ、当該新たに取得されたステータス情報を出力する。【選択図】  図５
2014219742.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を行うデバイスと接続可能な情報処理装置であって、
前記デバイスのステータスを示すステータス情報を当該デバイスから取得する取得手段と、
前記取得手段により取得されたステータス情報と、当該取得に対応する時刻を示すタイムスタンプをメモリに記憶させる記憶制御手段と、
前記デバイスのステータス情報を出力させるための要求を入力する入力手段と、
前記入力手段により入力された前記要求に対応する時刻と前記記憶制御手段により前記メモリに記憶された前記タイムスタンプが示す時刻との差分が所定の閾値未満の場合、前記記憶制御手段により前記メモリに既に記憶されている前記ステータス情報を出力し、当該差分が当該所定の閾値以上の場合、前記取得手段に前記デバイスからステータス情報を新たに取得させ、当該新たに取得されたステータス情報を出力する出力手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記記憶制御手段は、前記取得手段により前記デバイスから新たに取得されたステータス情報を前記メモリに記憶させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記差分が前記所定の閾値未満の場合、前記出力手段は、前記記憶制御手段により前記メモリに既に記憶されているステータス情報を出力し、前記記憶制御手段は、前記取得手段により前記デバイスから新たに取得されたステータス情報を前記メモリに新たに記憶させる
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所定の閾値は、前記入力手段により入力された前記要求に対応するステータスの種類に応じた値である
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記所定の閾値は、前記デバイスの種類に応じた値である
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記出力手段は、前記ステータス情報と、当該ステータス情報に対応するタイムスタンプを出力する
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記出力手段は、前記ステータス情報を外部装置に出力し、当該外部装置が当該ステータス情報を表示装置に表示させる
ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記入力手段は、前記情報処理装置と接続されている、前記デバイスとは異なる外部装置から前記要求を入力し、前記出力手段は、当該外部装置に前記ステータス情報を出力する
ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記情報処理装置は、ネットワークを介して複数の外部装置と接続されており、前記入力手段は、当該複数の外部装置のそれぞれから前記要求を入力することが可能である
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
所定の処理を行うデバイスのステータスを示すステータス情報を当該デバイスから取得し、
前記取得されたステータス情報と、当該取得に対応する時刻を示すタイムスタンプをメモリに記憶させ、
前記デバイスのステータス情報を出力させるための要求に対応する時刻と前記メモリに記憶された前記タイムスタンプが示す時刻との差分が所定の閾値未満の場合、前記メモリに既に記憶されている前記ステータス情報を出力し、当該差分が当該所定の閾値以上の場合、前記デバイスからステータス情報を新たに取得し、当該新たに取得されたステータス情報を出力する
ことを特徴とする情報処理方法。
【請求項１１】
請求項１０に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスのステータスを示すステータス情報を出力する情報処理装置、情報処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年におけるコンピュータ技術やネットワーク通信技術の発展は著しいものがある。これには、例えば、ＵＳＢ、Ｅｔｈｅｒｎｅｔ（登録商標）、無線ＬＡＮ等の様々なインタフェースを利用して、情報処理装置に周辺装置を接続した周辺装置制御システムが、自宅、オフィス等の様々な場面で有効に活用されている。周辺装置の例としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、これらの複合機が挙げられる。
【０００３】
情報処理端末がネットワークで接続されている情報処理サーバを介して、周辺装置のステータス情報を取得したいという要望がある。
【０００４】
特許文献１には、プリンタとサーバが接続されたシステムにおいて、サーバがプリンタのステータス情報を取得することが記載されている。そのシステムにおいてサーバは、プリンタが印刷中である時はサーバにキャッシュしてあるステータス情報を取得し、印刷中でない時にはプリンタに直接ステータスを問い合わせることが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−７５７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、プリンタにおいて印刷が完了した直後でありステータス情報をサーバが取得してからの更新がない場合もサーバからプリンタにステータスの問い合わせを行うことになる。すると、サーバに既に記憶されているステータス情報と同様のステータス情報を取得してしまうことになるため、通信の無駄となってしまい非効率である場合がある。
【０００７】
本発明は上記の課題を解決するためになされたものであり、デバイスのステータス情報を適切に取得することができる情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
所定の処理を行うデバイスと接続可能な情報処理装置であって、
前記デバイスのステータスを示すステータス情報を当該デバイスから取得する取得手段と、
前記取得手段により取得されたステータス情報と、当該取得に対応する時刻を示すタイムスタンプをメモリに記憶させる記憶制御手段と、
前記デバイスのステータス情報を出力させるための要求を入力する入力手段と、
前記入力手段により入力された前記要求に対応する時刻と前記記憶制御手段により前記メモリに記憶された前記タイムスタンプが示す時刻との差分が所定の閾値未満の場合、前記記憶制御手段により前記メモリに既に記憶されている前記ステータス情報を出力し、当該差分が当該所定の閾値以上の場合、前記取得手段に前記デバイスからステータス情報を新たに取得させ、当該新たに取得されたステータス情報を出力する出力手段と、
を有する。
【発明の効果】
【０００９】
本発明によれば、デバイスのステータス情報を出力させるための要求に対応する時刻とメモリにステータス情報が記憶された時刻との差分が所定の閾値未満の場合、メモリに既に記憶されている前記ステータス情報を出力する。そのため、デバイスのステータス情報を適切に取得することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の代表的な実施形態において、周辺装置の一例であるＭＦＰの概略構成を示すブロック図である。
【図２】本発明の代表的な実施形態において、クライアントＰＣ及び情報処理装置の一例であるサーバＰＣの概略構成を示すブロック図である。
【図３】図１のＭＦＰと図２のＰＣとを含むネットワークシステムの概略構成を示す図である。
【図４】本発明の代表的な実施形態であるステータス情報を表示するクライアントアプリケーションの画面を示す図である。
【図５】ステータス情報を取得する動作を示すフローチャートである。
【図６】サーバＰＣがＭＦＰからステータス情報を非同期で取得する動作を示すフローチャートである。
【図７】サーバＰＣがＭＦＰからステータス情報を同期で取得する動作を示すフローチャートである。
【図８】ステータス取得処理に係るシーケンスチャートの一例を示す図である。
【図９】ステータス取得処理に係るシーケンスチャートの一例を示す図である。
【図１０】ステータス取得処理に係るシーケンスチャートの一例を示す図である。
【図１１】ステータス取得処理に係るシーケンスチャートの一例を示す図である。
【図１２】サーバＰＣが保持する閾値テーブルの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
まず、以下に説明する実施形態において共通に用いられるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機能周辺装置）、そのＭＦＰに接続可能な情報処理端末であるＰＣ、及びこれらを接続するネットワーク構成について説明する。
【００１３】
図１は本発明に代表的な実施形態において、周辺装置（デバイス）の一例であるＭＦＰの概略構成を示すブロック図である。ＭＦＰ１００は、実行可能な所定の処理としてプリンタ機能、スキャナ機能及びストレージ機能を備えており、ネットワークを経由してそれぞれの機能サービスを提供することができる。
【００１４】
ＭＦＰ１００において、プリンタ機能はプリンタ部１０１で実現し、スキャナ機能はスキャナ部１０２で実現し、ストレージ機能はメモリカード装着部１０３及びメモリカード１０４で実現する。プリンタ部１０１は、外部から受信したプリントデータやメモリカード１０４に格納されている画像データ等のデータを、インクジェット方式や電子写真方式等の印刷方式によって印刷用紙等の印刷媒体にプリントする。
【００１５】
スキャナ部１０２は、原稿台にセットされた原稿を光学式に読み取って電子データに変換し、更に指定されたファイル形式に変換してネットワーク経由で外部装置へ送信する。ＭＦＰ１００で実現されるコピーサービスは、原稿台に置かれた原稿をスキャナ部１０２で読み取って生成した画像データをプリンタ部１０１へ転送してプリンタ部１０１が印刷媒体にその画像データをプリントする。また、ＭＦＰ１００は、メモリカード１０４に格納されているファイルを、ネットワークを経由して接続された外部装置が読み出し、編集し、外部装置からメモリカード内にファイルを格納することが可能である。
【００１６】
また、ＭＦＰ１００は、ＭＦＰ１００の各構成要素を制御するための中央制御装置（ＣＰＵ）１０５、ＣＰＵ１０５が読み出すプログラムコード等のデータを格納するＲＯＭ等のプログラムメモリ１０６を備える。更に、ＭＦＰ１００は、各サービス実行時に画像データ等のデータを一時格納したり、バッファリングしたりするためのＲＡＭ等のワークメモリ１０７、ＬＣＤ等の表示部１０８、各スイッチからなる操作部１０９を備える。
【００１７】
ＣＰＵ１０５は、プログラムメモリ１０６に格納されているプログラムをワークメモリ１０７に読み出し、ワークメモリ１０７上で当該プログラムを実行することで、ＭＦＰ１００による各種の機能を実現することができる。尚、プログラムの実行は、１つのプロセッサにより行われてもよいし、複数のプロセッサが協働することでプログラムが実行される場合であってもよい。また特定の処理を実行するための回路（ハードウェア）を設け、その特定の処理については、上記回路が実行する場合であってもよい。
【００１８】
また、更に、ＭＦＰ１００は、ＭＦＰ１００をネットワークに接続して各種通信を行うためのネットワーク通信部１１０と、ネットワーク通信部１１０をネットワーク媒体に接続するためのネットワーク接続部１１１を備える。ネットワーク通信部１１０は、有線ＬＡＮと無線ＬＡＮの内、少なくともいずれかに対応する。有線ＬＡＮ対応の場合、ネットワーク接続部１１１は、有線ＬＡＮのケーブルをＭＦＰ１００に接続するためのコネクタである。また、無線ＬＡＮ対応の場合、ネットワーク接続部１１１はアンテナである。
【００１９】
また、更に、ＭＦＰ１００はネットワーク通信部１１０が受信したデータを格納するために、不揮発性フラッシュメモリ等のフラッシュメモリ１１２を備える。
【００２０】
以上のＭＦＰ１００の各構成要素は信号線１１３により相互に接続される。
【００２１】
図２は、本発明の代表的な実施形態において、クライアントＰＣ及び情報処理装置の一例であるサーバＰＣの概略構成を示すブロック図である。
【００２２】
図２において、２０１はＣＰＵであり、クライアントＰＣ２００／サーバＰＣ３００の各構成要素を制御する。２０２はディスク装置であり、ＣＰＵ２０１が読み出すアプリケーションプログラムやＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、各種ファイル等のデータを格納する。２０３は外部ディスク読取装置であり。ＣＤ−ＲＯＭ等の外部記憶媒体の内容を読み出す。２０４はメモリであり、ＣＰＵ２０１が必要に応じてデータの一時的格納、バッファリング等の処理を行う。
【００２３】
ＣＰＵ２０１は、ディスク装置２０２に格納されているプログラムやＯＳ、また外部ディスク読取装置により外部記憶媒体から読み出されたプログラムをメモリ２０４に読み出す。そして、メモリ２０４上で当該プログラムを実行することで、クライアントＰＣ２００／サーバＰＣ３００の各種の機能を実現することができる。尚、プログラムの実行は、１つのプロセッサにより行われてもよいし、複数のプロセッサが協働することでプログラムが実行される場合であってもよい。また特定の処理を実行するための回路（ハードウェア）を設け、その特定の処理については、上記回路が実行する場合であってもよい。
【００２４】
２０５は表示部であり、ＬＣＤ等の表示装置から構成される。２０６は操作部であり、キーボードやマウス等の入力装置から構成される。２０７はネットワーク通信部であり、クライアントＰＣ２００／サーバＰＣ３００をネットワークに接続して各種通信を行う。２０８はネットワーク接続部であり、ネットワーク通信部２０７をネットワーク媒体に接続する。
【００２５】
尚、図２の例では、表示部２０５、操作部２０６をクライアントＰＣ２００／サーバＰＣ３００が備える例を示したがこれに限らない。例えば、クライアントＰＣ２００／サーバＰＣ３００の外部の表示装置や操作装置をクライアントＰＣ２００／サーバＰＣ３００に接続する場合であってもよい。この場合、外部の操作装置に対する操作に応じてＣＰＵ２０１がユーザの指示を入力し、またＣＰＵ２０１が各種の情報を外部の表示装置に表示させる。
【００２６】
ＭＦＰ１００と同様に、ネットワーク通信部２０７とネットワーク接続部２０８は、有線ＬＡＮと無線ＬＡＮの内、少なくともいずれかに対応する。これらの具体的な形態は、ＭＦＰ１００に内蔵のネットワーク通信部１１０及びネットワーク接続部１１１と同様に、対応ＬＡＮに応じて必要な機能及び形態をとる。２０９は信号線であり、クライアントＰＣ２００／サーバＰＣ３００の各構成要素を相互に接続する。２１０はＵＳＢ通信部であり、各種周辺装置とＵＳＢインタフェースを介して通信する。２１１はＵＳＢ接続部であり、ＵＳＢコネクタから構成される。
【００２７】
図３は、図１のＭＦＰ１００と図２のクライアントＰＣ２００とサーバＰＣ３００を含むクライアント・サーバ型のネットワークシステム（情報処理システム）の概略構成を示すブロック図である。
【００２８】
図３において、ＭＦＰ１５０はＭＦＰ１００と同様の機能を有するＭＦＰである。クライアントＰＣ２００及びクライアントＰＣ２５０は、クライアント用ＯＳがインストールされている。クライアントＰＣ２５０は、クライアントＰＣ２００と同様の構成のＰＣである。サーバＰＣ３００及びサーバＰＣ３０１は、サーバ用ＯＳがインストールされている。サーバＰＣ３０１は、サーバＰＣ３００と同様の構成のＰＣである。３５０はネットワークであり、ＭＦＰ１００、ＭＦＰ１５０、クライアントＰＣ２００、クライアントＰＣ２５０、サーバＰＣ３００、及びサーバＰＣ３０１が相互に接続されている。このネットワーク３５０は、例えば、インターネット、イントラネット、ＷＡＮ、ＬＡＮ等の各種ネットワークで構成される。
【００２９】
ＭＦＰ１００及びＭＦＰ１５０は、ネットワーク３５０を介してサーバＰＣ３００及びサーバＰＣ３０１と通信する。クライアントＰＣ２００及びクライアントＰＣ２５０は、ネットワーク３５０を介してサーバＰＣ３００及びサーバＰＣ３０１と通信する。
【００３０】
尚、ネットワーク３５０への接続方式は、有線ＬＡＮであっても無線ＬＡＮであってもよい。また、ネットワーク３５０に接続されているクライアントＰＣ、サーバＰＣ、及びＭＦＰの台数は、図３に示す例に限定されるものではなく、２台未満であっても、また３台以上であってもよい。
【００３１】
尚、ＭＦＰ１００、１５０は、図１で説明した構成要素を有しており、同様にサーバＰＣ３００、３０１は、図２において説明した構成要素を有している。
【００３２】
また、サーバＰＣ３００とサーバＰＣ３０１は、ＭＦＰ１００、ＭＦＰ１５０のステータス情報をキャッシュすることができる。具体的には、ステータス情報を、当該ステータス情報を取得した時刻情報（タイムスタンプ）とともにディスク装置２０２に格納する。またそのステータス情報を読み出してネットワーク３０５を介して外部に送信することができる。以下、サーバＰＣ３０１にキャッシュされているＭＦＰ１００のステータス情報を「キャッシュステータス情報１」とし、サーバＰＣ３００にキャッシュされているＭＦＰ１００のステータス情報を「キャッシュステータス情報２」とする。
【００３３】
さらにサーバＰＣ３０１は、ＭＦＰ１００、ＭＦＰ１５０のステータス情報を取得することができる。そしてそのステータス情報、または自身でキャッシュしているステータス情報を、ネットワーク３５０を介してサーバＰＣ３００に送信することができる。またサーバＰＣ３００は、サーバＰＣ３０１から受信したステータス情報、または自身でキャッシュしているステータス情報を、クライアントＰＣ２００、クライアントＰＣ２５０に送信することができる。
【００３４】
図４はＷｅｂサービスを利用するＭＦＰ１００またはＭＦＰ１５０のステータス情報を表示することができるクライアントアプリケーションであるアプリケーション４００のユーザインタフェースを示す図である。クライアントアプリケーションは、クライアントＰＣに実装される。
【００３５】
具体的には、クライアントＰＣ２００のディスク装置２０２に、図４に示す画面を表示させるためのプログラムが格納されている。そしてクライアントＰＣ２００のＣＰＵ２０１がそのプログラムを実行することで、図４に示す画面を表示部２０５に表示させる。また上記のプログラムは、サーバＰＣ３００を介してネットワーク通信部２０７がＭＦＰ１００またはＭＦＰ１５０のステータス情報を取得した場合、そのステータス情報に応じて画面を表示させる。そして、操作部２０６へのユーザの操作に応じて、ＣＰＵ２０１は各種のユーザ指示を入力する。
【００３６】
４０１は表示しているステータス情報の取得日時である。４０２は取得したステータス情報の内、ＭＦＰ１００またはＭＦＰ１５０の状態を表示している。４０３は取得したステータス情報の内、ＭＦＰ１００またはＭＦＰ１５０に搭載のインク情報を表示している。４０４はステータス情報の更新ボタンである。ユーザが更新ボタン４０４を押下すると、クライアントＰＣ２００のＣＰＵ２０１は、ＭＦＰのステータスを取得させるためのコマンドを、ネットワーク通信部２０７、ネットワーク接続部２０８によりサーバＰＣ３００に送信する。
【００３７】
サーバＰＣ３００は、ＭＦＰ１００またはＭＦＰ１５０のステータス情報取得処理を実行して、新しいステータス情報をクライアントＰＣ２００に返信する。クライアントＰＣ２００のＣＰＵ２０１は、アプリケーション４００により、上記のステータス情報が反映された画面を表示部２０５に表示させる。この構成により、例えば、ユーザは、ステータス情報の取得日時４０１を参照して、古い情報であると判断したら、更新ボタン４０４を押下して、アプリケーション４００により表示されるステータス情報を更新する。
【００３８】
以下、上記のネットワークシステムにおいて実現される実施形態について説明する。
【００３９】
本実施形態では、クライアントＰＣ２００からＭＦＰ１００のステータス情報を取得する動作について説明する。本実施形態において、サーバＰＣ３００はアプリケーション制御を担い、サーバＰＣ３０１はＭＦＰ１００の管理を担う。
【００４０】
図５は、実施形態において、クライアントＰＣ２００がサーバＰＣ３００とサーバＰＣ３０１を介してＭＦＰ１００のステータス情報を取得する処理のフローチャートである。尚、図５に示すフローチャートは、クライアントＰＣ２００、サーバＰＣ３００、サーバＰＣ３０１のそれぞれのＣＰＵがプログラムを実行することにより実現される。
【００４１】
ユーザは、クライアントＰＣ２００上で、アプリケーション４００を起動またはアプリケーション４００の更新ボタン４０４を押下する。これにより、クライアントＰＣ２００は、ＭＦＰ１００のステータス情報を取得させるためのステータス情報取得要求をサーバＰＣ３００へ送信する（Ｓ５０１）。
【００４２】
サーバＰＣ３００は、ＭＦＰ１００のステータス情報取得要求をクライアントＰＣ２００から受信し、当該要求を入力する（Ｓ５０２）。サーバＰＣ３００は、ディスク装置２０２にキャッシュしてあるＭＦＰ１００のステータス情報（キャッシュステータス情報２）を取得する（Ｓ５０３）。ここで、サーバＰＣ３００のディスク装置２０２にはＭＦＰ毎にステータス情報がキャッシュされている。
【００４３】
サーバＰＣ３００は、さらに、ＭＦＰ１００のキャッシュステータス情報２に付随のタイムスタンプ２をチェックする（Ｓ５０３）。このチェックによって、サーバＰＣ３００は、ＭＦＰ１００のキャッシュステータス情報２の取得に成功したか、またそのタイムスタンプ２と現在時刻Ｔとの差が閾値Ｘ未満であるか否かを判定する（Ｓ５０４）。つまり、タイムスタンプ２と現在時刻Ｔとを比較する。比較の結果、差が閾値Ｘ未満である場合（Ｓ５０４でＹＥＳ）、サーバＰＣ３００は、ＭＦＰ１００のステータス情報であるキャッシュステータス情報２とタイムスタンプ２を応答としてクライアントＰＣ２００へ送信する（Ｓ５０５）。即ち、上記の差が閾値Ｘ未満の場合、Ｓ５０３において取得されたステータス情報が十分新しいものとして、そのステータス情報をクライアントＰＣ２００に送信する。これにより、サーバＰＣ３０１やＭＦＰ１００にステータスの問合せをしなくても、十分新しいステータス情報を送信することができる。
【００４４】
尚、タイムスタンプ２は、サーバＰＣ３００がキャッシュするステータス情報（キャッシュステータス情報２）に付随するものである。また後述するタイムスタンプ１はサーバＰＣ３０１がキャッシュするステータス情報（キャッシュステータス情報１）に付随するものである。
【００４５】
また、閾値Ｘは、サーバＰＣ３００のディスク装置２０２にキャッシュしてあるＭＦＰ１００のステータス情報の有効期限に相当する。サーバＰＣ３００は、例えば、閾値Ｘを３０秒に設定する。閾値Ｘの値が大きい場合、クライアントＰＣ２００への送信対象としてキャッシュされているステータス情報が選ばれやすくなる。そのためサーバＰＣ３００とサーバＰＣ３０１によりＭＦＰにステータスを問い合わせる負荷が軽減されるがステータス情報の精度が落ちる場合がある。一方、閾値Ｘの値が小さい場合、クライアントＰＣ２００への送信対象としてキャッシュされているステータス情報が選ばれ難くなる。この場合、サーバＰＣ３００とサーバＰＣ３０１によりＭＦＰにステータスを問い合わせる負荷が増大するが、ステータス情報の精度が上がる。また、閾値Ｘの値は、システム全体の処理能力等のシステム条件を勘案して、適宜設定すれば良い。
【００４６】
Ｓ５０５におけるサーバＰＣ３００による送信処理により、クライアントＰＣ２００は、ステータス情報とタイムスタンプ２をサーバＰＣ３００から受信する（Ｓ５０６）。クライアントＰＣ２００は、受信したステータス情報とタイムスタンプ２をアプリケーション４００のユーザインタフェースに表示する（Ｓ５０７）。
【００４７】
図８は、クライアントＰＣ２００がサーバＰＣ３００にステータス情報を問い合わせた現在時刻Ｔとタイムスタンプ２の差が閾値Ｘ未満である場合（Ｓ５０４でＹＥＳ）のシーケンスチャートである。
【００４８】
ユーザは、クライアントＰＣ２００上で、アプリケーション４００を起動またはアプリケーション４００の更新ボタン４０４を押下する（Ｓ８０１）。これを受けて、クライアントＰＣ２００は、ＭＦＰ１００のステータス情報取得要求をサーバＰＣ３００へ送信する（Ｓ８０２）。
【００４９】
サーバＰＣ３００は、ＭＦＰ１００のステータス情報取得要求をクライアントＰＣ２００から受信すると、ＭＦＰ１００のキャッシュステータス情報２を取得する（Ｓ８０３）。そして、サーバＰＣ３００は、キャッシュステータス情報２とタイムスタンプ２をクライアントＰＣ２００へ送信する（Ｓ８０４）。
【００５０】
クライアントＰＣ２００は、受信したステータス情報を使用してアプリケーション４００のユーザインタフェース上の情報を更新する（Ｓ８０５）。
【００５１】
図５の説明に戻る。
【００５２】
サーバＰＣ３００は、ＭＦＰ１００のキャッシュステータス情報２のタイムスタンプ２をチェックする（Ｓ５０４）。ここで、キャッシュステータス情報２の取得に失敗、または、キャッシュステータス情報２のタイムスタンプ２と現在時刻Ｔとの差が閾値Ｘ以上である場合（Ｓ５０４でＮＯ）、サーバＰＣ３００は、ＭＦＰ１００のステータス情報取得要求をサーバＰＣ３０１へ送信する（Ｓ５０８）。
【００５３】
サーバＰＣ３０１は、ＭＦＰ１００のステータス情報取得要求をサーバＰＣ３００から受信する（Ｓ５０９）。サーバＰＣ３０１は、ディスク装置２０２にキャッシュしてあるＭＦＰ１００のステータス情報（キャッシュステータス情報１）を取得する（Ｓ５１０）。ここで、サーバＰＣ３０１のディスク装置２０２にはＭＦＰ毎にステータス情報がキャッシュされている。サーバＰＣ３０１は、ＭＦＰ１００のキャッシュステータス情報１に付随のタイムスタンプ１をチェックする。このチェックによって、サーバＰＣ３０１は、ＭＦＰ１００のキャッシュステータス情報１の取得に成功し、そのタイムスタンプ１と現在時刻Ｔとの差が閾値Ｚ未満であるか否かを判定する（Ｓ５１１）。つまり、タイムスタンプ１と現在時刻Ｔとを比較する。比較の結果、差が閾値Ｚ未満である場合（Ｓ５１１でＹＥＳ）、サーバＰＣ３０１は、ＭＦＰ１００のキャッシュステータス情報１とタイムスタンプ１を応答としてサーバＰＣ３００へ送信する（Ｓ５１２）。
【００５４】
尚、閾値Ｚは、閾値Ｘより大きく、かつ、ユーザが所望するステータス情報を更新したい最低限の時間間隔に設定する。閾値Ｚの値が大きい場合、キャッシュステータス情報１が送信対象として選ばれやすくなるため、サーバＰＣ３０１とＭＦＰ１００間の通信負荷が軽減されるがステータス情報の精度が落ちる場合がある。一方、閾値Ｚの値が小さい場合、キャッシュステータス情報１が送信対象として選ばれ難くなるため、サーバＰＣ３０１とＭＦＰ１００の通信負荷が増大するが、ステータス情報の精度が上がる。例えば、閾値Ｚを６０分と設定し、最低でも６０分に１回のステータス情報の更新を行うようにする。また、無限大に大きい値にしてもよい。また、閾値Ｚの値は、システム全体の処理能力等のシステム条件を勘案して、適宜設定すれば良い。
【００５５】
サーバＰＣ３００は、ステータス情報とタイムスタンプ１をサーバＰＣ３０１から受信する（Ｓ５１３）。サーバＰＣ３００は、受信したステータス情報とタイムスタンプ１でキャッシュステータス情報２を更新し、受信した時刻（現在時刻）でタイムスタンプ２を更新する（Ｓ５１４）。その後、Ｓ５０５以降に進む。尚、Ｓ５１４によりキャッシュステータス情報２が更新された場合、Ｓ５０５では、キャッシュステータス情報２とタイムスタンプ１がクライアントＰＣ２００への送信対象となる。
【００５６】
サーバＰＣ３０１は、ＭＦＰ１００のキャッシュステータス情報１とタイムスタンプ１を応答として送信する一方で、ＭＦＰ１００のキャッシュステータス情報１に付随のタイムスタンプ１をチェックする（Ｓ５１２）。このチェックによって、サーバＰＣ３０１は、ＭＦＰ１００のキャッシュステータス情報１の取得に成功したか、またそのタイムスタンプ１と現在時刻Ｔとの差が閾値Ｙ未満であるか否かを判定する（Ｓ５１５）。つまり、タイムスタンプ１と現在時刻Ｔとを比較する。比較の結果、差が閾値Ｙ未満である場合（Ｓ５１５でＹＥＳ）、処理を終了する。一方、差が閾値Ｙ以上である場合（Ｓ５１５でＮＯ）、サーバＰＣ３０１は、ＭＦＰ１００に対してステータス情報非同期取得処理を実行する（Ｓ５１６）。このステータス情報非同期取得処理は、ＭＦＰ１００にステータスを問い合わせる処理である。この問合せにより得られたステータス情報は、サーバＰＣ３００からの当該ステータス情報取得要求に対する応答には用いられないが、サーバＰＣ３０１におけるキャッシュステータス情報１、タイムスタンプ１の更新に用いられる。
【００５７】
即ち、例えば現在時刻とタイムスタンプ１の差が閾値Ｙ以上であるが閾値Ｚ未満である場合、サーバＰＣ３００への送信対象はサーバＰＣ３０１のディスク装置２０２に既に格納されているキャッシュステータス情報１となるが、当該送信とともにキャッシュステータス情報１、タイムスタンプ１が最新の情報で更新される。
【００５８】
尚、閾値Ｙは、ＭＦＰ１００がステータス情報を更新してサーバＰＣ３０１に返信可能になる最短時間かつ閾値Ｚより小さい値で設定する。換言すれば、閾値Ｙは、周辺装置であるＭＦＰにおいて、問い合わせ対象のステータスの更新が始まって完了するまでの最短時間とする。例えば、ステータス情報がインク交換確認情報である場合、ＭＦＰ１００でインクを交換開始して終了してアイドル状態になるまでの最短時間（例えば、１２０秒）に閾値Ｙを設定する。即ち、インク切れの状態からインク有りの状態となるためには閾値Ｙの時間が必要となる。
【００５９】
例えば、閾値Ｙより短い間隔でサーバＰＣ３０１がＭＦＰ１００に問い合わせた場合、現在時刻とタイムスタンプ１の差がインク交換のための時間未満となる。そのため、閾値Ｙより短い間隔で問合せしたとしても、インク切れの状態からインク有りの状態にステータスが変化することなく、問合せのための通信量が無駄になる場合がある。
【００６０】
そこで、閾値Ｙをインク交換のための時間（例えば１２０秒）に設定することで、インク切れの状態からインク有りの状態へのキャッシュステータス情報１の更新を、適切な通信量で実現することができる。また、クライアントＰＣ２００が問い合わせるステータス情報の種類によって閾値Ｙは可変に設定してもよい。
【００６１】
ここでは、ステータス情報の一例として、インク交換確認情報を挙げているが、これに限定されず、トナーや熱転写剤等の他の記録剤の状態情報とすることもできる。そして、記録剤に着目した場合、閾値Ｙは、ＭＦＰ１００が搭載する記録剤の準備開始から準備完了までの最短時間とすることができる。
【００６２】
図９は、サーバＰＣ３００がサーバＰＣ３０１にステータス情報を問い合わせた現在時刻Ｔとタイムスタンプ１の差が閾値Ｙ未満である場合（Ｓ５１５でＹＥＳ）のシーケンスチャートである。尚、閾値Ｚは閾値Ｙより大きいため、このときＳ５１１における判定処理では「ＹＥＳ」となり、Ｓ５１７におけるステータス情報同期取得処理は行われない。ステータス情報同期取得処理についての詳細は後述するが、この処理によりサーバＰＣ３０１がＭＦＰ１００における最新のステータス情報が取得され、最新のステータス情報がサーバＰＣ３００への送信対象となる。図９の例では、その最新のステータス情報の取得は行われずに、サーバＰＣ３０１に既に格納されているキャッシュステータス情報２がサーバＰＣ３００への送信対象となる。
【００６３】
ユーザは、クライアントＰＣ２００上でアプリケーション４００を起動またはアプリケーション４００の更新ボタン４０４を押下する（Ｓ９０１）。これを受けて、クライアントＰＣ２００は、ＭＦＰ１００のステータス情報取得要求をサーバＰＣ３００へ送信する（Ｓ９０２）。
【００６４】
サーバＰＣ３００は、ＭＦＰ１００のステータス情報取得要求をクライアントＰＣ２００から受信すると、ＭＦＰ１００のキャッシュステータス情報２を取得する（Ｓ９０３）。そして、サーバＰＣ３００は、ＭＦＰ１００のステータス情報取得要求をサーバＰＣ３０１へ送信する（Ｓ９０４）。
【００６５】
サーバＰＣ３０１は、ＭＦＰ１００のステータス情報取得要求をサーバＰＣ３００から受信すると、ＭＦＰ１００のキャッシュステータス情報１を取得する（Ｓ９０５）。そして、サーバＰＣ３０１は、キャッシュステータス情報１とそれに付随するタイムスタンプ１をサーバＰＣ３００へ送信する（Ｓ９０６）。
【００６６】
サーバＰＣ３００は、サーバＰＣ３０１から受信したステータス情報とタイムスタンプ１でキャッシュステータス情報２を更新し、受信した時刻（現在時刻）でタイムスタンプ２を更新する（Ｓ９０７）。そして、サーバＰＣ３００は、更新したキャッシュステータス情報２とタイムスタンプ１をクライアントＰＣ２００へ送信する（Ｓ９０８）。
【００６７】
クライアントＰＣ２００は、サーバＰＣ３００から受信したステータス情報を使用してアプリケーション４００のユーザインタフェース上の情報を更新する（Ｓ９０９）。尚、図９の例では、現在時刻とタイムスタンプ１の差が閾値Ｙ未満であるため、Ｓ５１６におけるステータス情報非同期取得処理は実行されない。
【００６８】
図６はサーバＰＣ３０１のステータス情報非同期取得処理（Ｓ５１６）の詳細を示すフローチャートである。
【００６９】
まず、サーバＰＣ３０１は、ディスク装置２０２に保持してあるステータス情報待ちフラグがＯＮであるか否かをチェックする（Ｓ６０１）。ここで、サーバＰＣ３０１は、ステータス情報待ちフラグをＭＦＰ毎に保持している。ステータス情報待ちフラグがＯＮである場合は、ＭＦＰに対してステータス情報取得要求を送信済みであるがＭＦＰからステータス情報の応答が返ってきていない状態を表わす。
【００７０】
ステータス情報待ちフラグがＯＮである場合（Ｓ６０１でＹＥＳ）、処理を終了する。一方、ステータス情報待ちフラグがＯＮでない場合（Ｓ６０１でＮＯ）、つまり、ＯＦＦである場合、サーバＰＣ３０１は、ステータス情報取得要求をＭＦＰ１００へ送信する（Ｓ６０２）。そして、サーバＰＣ３０１は、ステータス情報待ちフラグをＯＮにする（Ｓ６０３）。
【００７１】
一方で、ＭＦＰ１００は、ステータス情報取得要求をサーバＰＣ３０１から受信する（Ｓ６０４）。ＭＦＰ１００は、ステータス情報が返信可能状態にあるか否かを判定する（Ｓ６０５）。例えば、ＭＦＰ１００が印刷中であるとかスキャン中であるとか、インクタンク交換中等の何らかの作業中である場合は、ステータス情報をサーバＰＣ３０１に返信することができない。ＭＦＰ１００はそれらの作業が終了し、アイドル状態になってからステータス情報をサーバＰＣ３０１に返信することができる。つまり、周辺装置であるＭＦＰのステータス情報が更新中である場合、返信可能状態でないと判定し、ＭＦＰのステータス情報の更新が完了した場合、返信可能状態であると判定する。
【００７２】
ステータス情報が返信可能状態にない場合（Ｓ６０５でＮＯ）、返信可能状態になるまで待機する。一方、ステータス情報が返信可能状態にある場合（Ｓ６０５でＹＥＳ）、ＭＦＰ１００は、ステータス情報をサーバＰＣ３０１へ送信する（Ｓ６０６）。
【００７３】
サーバＰＣ３０１は、ステータス情報をＭＦＰ１００から受信する（Ｓ６０７）。サーバＰＣ３０１は、ステータス情報待ちフラグをＯＦＦにする（Ｓ６０８）。そして、サーバＰＣ３０１は、受信したステータス情報でキャッシュステータス情報１を更新し、受信した時刻（現在時刻）でタイムスタンプ１を更新する（Ｓ６０９）。
【００７４】
図１０はサーバＰＣ３００がサーバＰＣ３０１にステータス情報を問い合わせた現在時刻Ｔとタイムスタンプ１との差が閾値Ｚ未満であるが閾値Ｙ以上である場合（Ｓ５１１でＹＥＳ、Ｓ５１５でＮＯ）、またはサーバＰＣ３０１がキャッシュステータス情報１の取得に失敗した場合のシーケンスチャートである。このとき、Ｓ５１１における判定処理では「ＹＥＳ」となり、Ｓ５１７におけるステータス情報同期取得処理は行われずに、サーバＰＣ３０１に既に格納されているキャッシュステータス情報２がサーバＰＣ３００への送信対象となる。しかし、Ｓ５１５における判定においてＮＯとなり、Ｓ５１６のステータス情報非同期取得処理は実行される。そのため、サーバＰＣ３０１におけるキャッシュステータス情報１の更新は行われる。
【００７５】
Ｓ１００１、Ｓ１００２、Ｓ１００３、Ｓ１００４、及びＳ１００５はそれぞれ、図９のＳ９０１、Ｓ９０２、Ｓ９０３、Ｓ９０４、及びＳ９０５と同一の処理であるため、説明を省略する。
【００７６】
サーバＰＣ３０１は、キャッシュステータス情報１とそれに付随するタイムスタンプ１をサーバＰＣ３００へ送信する（Ｓ１００６）。サーバＰＣ３０１は、その後、Ｓ５１６、図６を用いて説明したステータス情報非同期取得処理を実行する。そこで、サーバＰＣ３０１は、ステータス情報取得要求をＭＦＰ１００へ送信する（Ｓ１００７）。サーバＰＣ３０１は、ＭＦＰ１００からのステータス情報応答を待機せずに終了する。
【００７７】
以降、Ｓ１００８、Ｓ１００９、及びＳ１０１０はそれぞれ、図９のＳ９０７、Ｓ９０８、及びＳ９０９と同一の処理であるため、説明を省略する。
【００７８】
図５の説明に戻る。
【００７９】
Ｓ５１１で、サーバＰＣ３０１は、ＭＦＰ１００のキャッシュステータス情報１のタイムスタンプ１をチェックする。ここで、キャッシュステータス情報１の取得に失敗、または、キャッシュステータス情報１のタイムスタンプ１と現在時刻Ｔとの差が閾値Ｚ以上である場合（Ｓ５１１でＮＯ）、サーバＰＣ３０１は、ＭＦＰ１００に対してステータス情報同期取得処理を実行する（Ｓ５１７）。このステータス情報同期取得処理では、サーバＰＣ３０１がＭＦＰ１００に対してステータス情報を要求して、ＭＦＰ１００における最新のステータス情報を取得し、この最新のステータス情報をサーバＰＣ３００への送信対象とする。即ち、サーバＰＣ３０１は、上記の差が閾値Ｚ以上の場合、最新のステータス情報を送信すべきと判断して、ステータス情報同期取得処理を実行する。
【００８０】
そして、サーバＰＣ３０１は、Ｓ５１７で取得したステータス情報でキャッシュステータス情報１を更新し、取得した時刻（現在時刻）でタイムスタンプ１を更新する（Ｓ５１８）。サーバＰＣ３０１は、その後、Ｓ５１２に進む。
【００８１】
図７はステータス情報同期取得処理（Ｓ５１７）の詳細を示すフローチャートである。
【００８２】
まず、サーバＰＣ３０１は、ディスク装置２０２に保持してあるステータス情報待ちフラグがＯＮであるか否かを判定する（Ｓ７０１）。ここで、サーバＰＣ３０１は、ステータス情報待ちフラグをＭＦＰ毎に保持している。ステータス情報待ちフラグがＯＮである場合は、ＭＦＰに対してステータス情報取得要求を送信済みであるがＭＦＰからステータス情報の応答が返ってきていない状態を表わす。
【００８３】
ステータス情報待ちフラグがＯＮである場合（Ｓ７０１でＹＥＳ）、サーバＰＣ３０１は、ＭＦＰ１００からのステータス情報送信を待機する（Ｓ７０７）。一方、ステータス情報待ちフラグがＯＮでない場合（Ｓ７０１でＮＯ）、つまり、ＯＦＦである場合、サーバＰＣ３０１は、ステータス情報取得要求をＭＦＰ１００へ送信する（Ｓ７０２）。サーバＰＣ３０１は、ステータス情報待ちフラグをＯＮにする（Ｓ７０３）。その後、サーバＰＣ３０１は、ＭＦＰ１００からのステータス情報送信を待機する（Ｓ７０７）。
【００８４】
尚、サーバＰＣ３０１は、Ｓ７０７で、ＭＦＰ１００からのステータス情報送信を待機する直前に、ステータス情報待ち通知をクライアントＰＣ２００に送信してもよい。クライアントＰＣ２００は、ステータス情報待ち通知をサーバＰＣ３０１から受信すると、非同期通信、例えば、Ａｊａｘを使用して、ステータス情報が返信されるまでの間、ユーザがアプリケーション４００の操作不能にならないように制御することができる。
【００８５】
以降、Ｓ７０４、Ｓ７０５、及びＳ７０６はそれぞれ、図６のＳ６０４、Ｓ６０５、及びＳ６０６と同一の処理であるため、説明を省略する。また、Ｓ７０７、Ｓ７０８はそれぞれ、図６のＳ６０７、Ｓ６０８、及びＳ６０９と同一の処理であるため、説明を省略する。
【００８６】
図１１はサーバＰＣ３００がサーバＰＣ３０１にステータス情報を問い合わせた現在時刻Ｔとタイムスタンプ１との差が閾値Ｚ以上である場合（Ｓ５１１でＮＯ）、またはサーバＰＣ３０１がキャッシュステータス情報１を取得に失敗した場合のシーケンスチャートである。
【００８７】
Ｓ１１０１、Ｓ１１０２、Ｓ１１０３、Ｓ１１０４、Ｓ１１０５、及びＳ１１０６はそれぞれ、図１０のＳ１００１、Ｓ１００２、Ｓ１００３、Ｓ１００４、Ｓ１００５、及びＳ１００６と同一の処理であるため、説明を省略する。
【００８８】
サーバＰＣ３０１は、Ｓ１１０６の後、ステータス情報待ち通知をクライアントＰＣ２００へ送信する（Ｓ１１１３）。クライアントＰＣ２００は、非同期通信、例えば、Ａｊａｘを使用し、ステータス情報が返信されるまでの間、ユーザがアプリケーション４００の操作不能にならないように制御する。
【００８９】
ＭＦＰ１００は、ステータス情報取得要求をサーバＰＣ３０１から受信する（Ｓ１１０６）。ＭＦＰ１００は、ステータス情報を返信可能状態になったら、ステータス情報をサーバＰＣ３０１へ送信する（Ｓ１１０７）。
【００９０】
サーバＰＣ３０１は、ＭＦＰ１００から受信したステータス情報でキャッシュステータス情報１を更新し、受信時刻でタイムスタンプ１を更新する（Ｓ１１０８）。そして、サーバＰＣ３０１は、更新したキャッシュステータス情報１とタイムスタンプ１をサーバＰＣ３００へ送信する（Ｓ１１０９）。
【００９１】
以降、Ｓ１１１０、Ｓ１１１１、及びＳ１１１２はそれぞれ、図１０のＳ１００８、Ｓ１００９、及びＳ１０１０と同一の処理であるため、説明を省略する。
【００９２】
図１２の（ａ）はサーバＰＣ３００が保持する閾値Ｘを管理するテーブルである。ＭＦＰと問い合わせるステータスの種類によって、適切な値を個別に決定して保持することができる。図１２の（ｂ）はサーバＰＣ３０１が保持する閾値Ｙと閾値Ｚを管理するテーブルである。ＭＦＰと問い合わせるステータスの種類によって、適切な値を決定して個別に保持することができる。
【００９３】
尚、閾値をステータスの種類に応じて決定する場合に限らず、ステータスを取得するデバイスの種類に応じて決定してもよい。例えば、ステータスが頻繁に変更されるデバイスについては、上記の閾値を比較的小さく設定することで、適切なステータス情報を取得することができる。また、「デバイスの種類」とは、カメラ、プリンタ等の機器の違いであってもよいし、プリンタにおける機種の違いであってもよい。さらに、上記の「デバイスの種類」と「ステータスの種類」の組み合わせに応じた閾値を設定してもよい。
【００９４】
以上説明したように、本実施形態によれば、サーバＰＣは、ＭＦＰから取得したステータスを、取得日時と一緒にキャッシュし、また、ステータス更新に関する閾値を着目のステータスの更新に要する最短時間に設定する。サーバＰＣは、クライアントＰＣからのステータス問い合わせを受信すると、受信時刻と閾値を比較して、閾値未満である場合はキャッシュ上のステータス情報を返信し、閾値以上である場合はキャッシュ上のステータスを返信してからＭＦＰにステータス情報の更新要求をする。また上記閾値Ｙについて説明したように、ステータスの変更の可能性が低い場合（例えば前回問合せ時刻からインク交換に必要な時間が経過していない場合）サーバＰＣにキャッシュしてある情報がクライアントＰＣに送信される。そして、クライアントＰＣにおいて、そのサーバＰＣにキャッシュしてあるステータス情報を表示し、ステータス情報の更新の可能性がある条件の時のみ、サーバＰＣが周辺装置にステータス情報を問い合わせる。
【００９５】
これにより、装置間の無駄な通信を抑え、かつ最新に近いステータス情報をクライアントＰＣに表示することができる。また、サーバＰＣにステータス情報をキャッシュすることにより、クライアントＰＣにステータス情報を迅速に表示することができる。
【００９６】
尚、以上の実施形態では、サーバＰＣ３００と、サーバＰＣ３０１という２つのサーバ装置が協働して処理を行っていたがこれに限らず、上記２つのサーバ装置の機能を備えた１つのサーバ装置により本実施形態の処理が実現されてもよい。またサーバＰＣ３００、サーバＰＣ３０１のそれぞれによる処理を複数のサーバ装置が実行することにより３つ以上のサーバ装置が本実施形態の処理を実現する場合であってもよい。
【００９７】
さらに、以上の実施形態では、サーバＰＣがステータス情報のキャッシュ、取得、送信を行う例を示しているが、これに限定されず、例えば、クライアントＰＣがこれらの処理を行ってもよい。即ち、クライアントＰＣにおいてプリンタ等のデバイスのステータス情報を、当該ステータス情報を取得した時刻情報（タイムスタンプ）とともにメモリに記憶（記憶制御）しておく。そして、ステータス表示の指示を受けたときの時刻とタイムスタンプの時刻を比較し、その差分が閾値未満であればキャッシュされているステータス情報を表示させ、閾値以上であればデバイスからステータス情報を取得してもよい。
【００９８】
また、以上の実施形態では、サーバＰＣによるステータス情報の出力処理の例として、クライアントＰＣへの送信処理を例に説明した。しかしこれに限らず、表示装置にステータス情報を送信して表示させてもよいし、印刷装置にステータス情報を送信して印刷装置にステータス情報を印刷させてもよい。
【００９９】
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１００】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2014219742.tif 000003
【図２】
2014219742.tif 000004
【図３】
2014219742.tif 000005
【図４】
2014219742.tif 000006
【図５】
2014219742.tif 000007
【図６】
2014219742.tif 000008
【図７】
2014219742.tif 000009
【図８】
2014219742.tif 000010
【図９】
2014219742.tif 000011
【図１０】
2014219742.tif 000012
【図１１】
2014219742.tif 000013
【図１２】
2014219742.tif 000014