(57)【要約】【課題】  不要なポーリング処理を抑制する。【解決手段】  情報処理装置の通信環境が周辺装置に対するポーリングを行うための通信環境ではない場合に、当該情報処理装置による当該周辺装置に対するポーリングを停止する。【選択図】  図５
2015082767.tif 000002
【特許請求の範囲】
【請求項１】
周辺装置に対してポーリングを行う情報処理装置であって、
前記情報処理装置の通信環境を判定する判定手段と、
前記判定手段により判定された通信環境が前記周辺装置に対してポーリングを行うための通信環境とは異なる通信環境にある場合、前記周辺装置に対するポーリングを停止する停止手段と
を有することを特徴とする情報処理装置。
【請求項２】
当該情報処理装置と周辺装置との間の通信に利用するネットワークに関するネットワーク環境情報と、前記周辺装置に関する機器情報とを対応付けて管理する管理手段を更に備え、
前記判定手段は、前記管理手段で管理されるポーリング先の前記周辺装置に対応する第１のネットワーク環境情報と、当該情報処理装置が現在接続しているネットワークに関する第２のネットワーク環境情報とを比較し、
前記判定手段の判定の結果、前記第１のネットワーク環境情報と前記第２のネットワーク環境情報とが異なる場合、前記停止手段は、前記周辺装置に対するポーリングを停止する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段により判定された通信環境が前記周辺装置に対してポーリングを行うための通信環境とは異なる通信環境にある場合、前記周辺装置に対するポーリングを継続するか停止するかをユーザに問い合わせる手段を更に備え、
前記停止手段は、前記問い合わせに対し、前記周辺装置に対するポーリングを停止するよう指示された場合、前記周辺装置に対するポーリングを停止する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記問い合わせに対し、前記周辺装置に対するポーリングの継続が指示された場合、前記情報処理装置の現在の通信環境を、前記周辺装置に対してポーリングを行うための通信環境として決定する決定手段を有する
ことを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記停止手段により前記周辺装置に対するポーリングを停止させた後、前記判定手段により判定された前記情報処理装置の通信環境が前記周辺装置に対してポーリングを行うための通信環境である場合に前記周辺装置に対するポーリングを再開させる手段を有する
ことを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記周辺装置は原稿の画像を読み取る読取装置であり、前記情報処理装置は当該読取装置に対するポーリングにより当該読取装置においてなされた読取指示を検知する
ことを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
周辺装置に対してポーリングを行う情報処理装置の制御方法であって、
前記情報処理装置の通信環境を判定する判定工程と、
前記判定工程において判定された通信環境が前記周辺装置に対してポーリングを行うための通信環境とは異なる通信環境にある場合、前記周辺装置に対するポーリングを停止する停止工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項８】
請求項１〜６のいずれか１項に記載の情報処理装置の各手段または請求項７に記載の制御方法をコンピュータにより実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置とネットワークを介して通信を行う情報処理技術に関するものである。
【背景技術】
【０００２】
従来、情報処理装置がネットワークを介して接続されている周辺装置の状態を取得する方法として、情報処理装置が周辺装置に対してポーリングを行う方法がある。即ち、情報処理装置が周辺装置に対して定期的に問い合わせ要求パケットを送信して周辺装置の状態を監視する方法である。
【０００３】
ここで、情報処置装置が周辺装置をポーリングすることによって実現する機能には、プッシュスキャンサービスがある。ここで言うプッシュスキャンサービスは、周辺装置側の操作によってスキャン指示を発行し、情報処理装置側はポーリングによって周辺装置のスキャン指示を検出したらスキャン開始指示を周辺装置に行うことで原稿のスキャンを行わせ、これによって得たスキャンデータを取得する機能である（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−３５５４８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、例えば、情報処理装置のネットワーク接続先を、周辺装置が接続しているネットワーク環境から別のネットワーク環境に切り替えた場合であってもポーリングし続けてしまう。つまり、ネットワーク環境にポーリング対象の周辺装置が存在しないにもかかわらず、ポーリングの停止を指示しない限りポーリングを続けてしまい、不要なネットワークトラフィックを発生させたり、情報処理装置に不要な処理を行わせたりしてしまうという問題があった。
【０００６】
本発明は上記の課題を解決するためになされたものであり、不要なポーリング処理を抑制するものである。
【課題を解決するための手段】
【０００７】
上記の課題を達成するための本発明による情報処理装置は以下の構成を備える。即ち、周辺装置に対してポーリングを行う情報処理装置であって、前記情報処理装置の通信環境を判定する判定手段と、前記判定手段により判定された通信環境が前記周辺装置に対してポーリングを行うための通信環境とは異なる通信環境にある場合、前記周辺装置に対するポーリングを停止する停止手段とを有する。
【発明の効果】
【０００８】
本発明によれば、不要なポーリング処理を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】ＭＦＰの概略構成を示すブロック図である。
【図２】情報処理装置の概略構成を示すブロック図である。
【図３】ポーリングアプリケーションのブロック図である。
【図４】ポーリング設定情報を示す図である。
【図５】実施形態１のポーリング処理を示すフローチャートである。
【図６】実施形態１のポーリング処理を示すシーケンスチャートである。
【図７】実施形態２のポーリング処理を示すフローチャートである。
【図８】ユーザがポーリングを行うか選択するＵＩを示す図である。
【図９】実施形態３のポーリング処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１１】
まず、以下に説明する実施形態において共通に用いられる周辺装置の一例であるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機能周辺装置）、ＰＣ（パーソナルコンピュータ）等の情報処理装置、及びこれらを接続するネットワーク構成（情報処理システム）について説明する。
【００１２】
図１はＭＦＰの概略構成を示すブロック図である。ＭＦＰ１００は、プリンタ機能、スキャナ機能、コピー機能及びストレージ機能を備えており、ネットワークを経由してそれぞれの機能サービスを提供することができる。
【００１３】
ＭＦＰ１００において、プリンタ機能はプリンタ部１０１で実現する。スキャナ機能はスキャナ部１０２で実現する。ストレージ機能はメモリカード装着部１０３及びメモリカード１０４で実現する。周辺装置としては、スキャン機能のみを有する読取装置、プリント機能のみを有する印刷装置等としてもよい。
【００１４】
プリンタ機能においては、プリンタ部１０１は、外部から受信した印刷データやメモリカード１０４に格納されている画像データに基づく画像を、インクジェット方式や電子写真方式等の印刷方式によって印刷用紙に印刷する。
【００１５】
スキャナ機能においては、スキャナ部１０２は、原稿台にセットされた原稿を光学式に読み取って電子データに変換し、更に指定されたファイル形式に変換してネットワーク経由で外部装置に送信する。
【００１６】
コピー機能においては、原稿台に置かれた原稿をスキャナ部１０２で読み取って生成した画像データをプリンタ部１０１へ転送してプリンタ部１０１が印刷用紙にその原稿データを印刷する。
【００１７】
ストレージ機能においては、メモリカード１０４に格納されているファイルを、ネットワークを経由して接続された外部装置が読み出し、また、外部装置からメモリカード内にファイルを格納することが可能である。
【００１８】
更に、ＭＦＰ１００は、ＭＦＰ１００の各種構成要素を制御するための中央制御装置（ＣＰＵ）１０５、ＣＰＵ１０５が読み出すプログラムコード等のデータを格納するＲＯＭ等のプログラムメモリ１０６を備える。更に、ＭＦＰ１００は、各サービス実行時に画像データ等のデータを一時格納したり、バッファリングするためのＲＡＭ等のワークメモリ１０７、ＬＣＤ等の表示部１０８を備える。ＭＦＰ１００は、種々のスイッチを含む操作部１０９を備える。プッシュスキャンサービスを利用する際、ユーザは操作部１０９から送信先となる情報処理装置の指定及びスキャン指示を行う。ここで言うプッシュスキャンサービスはこのスキャン指示をイベントとして情報処理装置が検知した場合に、情報処理装置がＭＦＰ１００に対しスキャン開始指示コマンドを送出し、これに基づきＭＦＰ１００がスキャン機能によるスキャン処理を実行する疑似プッシュスキャンである。
【００１９】
また、更に、ＭＦＰ１００は、ＭＦＰ１００をネットワークに接続して各種通信を行うためのネットワーク通信部１１０と、ネットワーク通信部１１０をネットワーク媒体に接続するためのネットワーク接続部１１１を備える。ネットワーク通信部１１０は有線ＬＡＮと無線ＬＡＮの内、少なくともいずれかに対応する。有線ＬＡＮ対応の場合、ネットワーク接続部１１１は有線ＬＡＮのケーブルをＭＦＰ１００に接続するためのコネクタである。無線ＬＡＮ対応の場合、ネットワーク接続部１１１はアンテナである。尚、ネットワーク通信部１１０は、時間を計測するタイマ１１４を内蔵する。
【００２０】
また、更に、ＭＦＰ１００は、ネットワーク通信部１１０が受信したパケットの送信元情報を格納するために、不揮発性フラッシュメモリ等のメモリ１１２を備える。また、更に、ＭＦＰ１００は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースを介して情報処理装置と通信するためのＵＳＢ通信部１１５を備え、情報処理装置とはＵＳＢコネクタ等によるＵＳＢ接続部１１６により接続する。情報処理装置からの各種問い合わせはネットワーク接続部１１１またはＵＳＢ接続部１１６を介して、問い合わせパケットとして受信する。そしてＭＦＰ１００は問い合わせパケットに対する応答パケットとして問い合わせに対する回答をネットワーク接続部１１１またはＵＳＢ接続部１１６を介して返送する。
【００２１】
ＭＦＰ１００の各種構成要素は、信号線１１３により相互に接続される。
【００２２】
図２は情報処理装置の概略構成を示すブロック図である。情報処理装置は、例えば、汎用的なＰＣに所定のソフトウェアをインストールすることによって実現可能である。
【００２３】
図２において、ＣＰＵ２０１は、情報処理装置２００の各種構成要素を制御する。また、ＣＰＵ２０１は、時間経過を計測するためのタイマ２１２を内蔵する。ディスク装置２０２は、ＣＰＵ２０１が読み出すアプリケーションプログラムやＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）等のプログラムをインストールしており、また各種ファイル等のデータを格納する。外部ディスク読取装置２０３は、ＣＤ−ＲＯＭ等の外部記憶媒体の内容を読み出す。メモリ２０４は、ＣＰＵ２０１が必要に応じてデータの一時的格納、バッファリング等を行う。また、メモリ２０４は、カウンタ２１３を内蔵する。
【００２４】
情報処理装置２００からＭＦＰ１００を利用するためのソフトウェアのセットアッププログラムを実行することにより、各種プログラムが情報処理装置２００にインストールされる。各種プログラムには、スキャン機能を利用するためのスキャナドライバ、プリンタ機能を利用するためのプリンタドライバが含まれる。また、さらにＭＦＰの状態（イベントの有無等）を問い合わせるためのポーリングアプリケーション、ＭＦＰの状態（ステータス）を管理する管理ソフトウェア（ステータスモニター）などが含まれる。ポーリングアプリケーション、管理ソフトウェアは、情報処理装置２００に常駐する。ポーリングアプリケーションは定期的にＭＦＰに対しイベントの発生を問い合わせるためのパケットを送信し、それに対する応答パケットを参照することでＭＦＰにおいて所定のイベントが発生したことを認識する。管理ソフトウェアは定期的にＭＦＰに対しステータスを確認するためのパケットを送信し、それに対する応答パケットを参照することでＭＦＰのステータスを認識する。これに基づきＭＦＰのステータスが変化したと判定されたら自身で管理しているステータスの内容を書き換える。
【００２５】
表示部２０５は、例えば、ＬＣＤ等から構成される内蔵または外付けの表示装置であり、各種情報やＧＵＩ（グラフィカルユーザインタフェース）を表示する。操作部２０６は、キーボードやマウス等から構成され、各種入力を行う。ネットワーク通信部２０７は、情報処理装置２００をネットワークに接続して各種通信を行う。ネットワーク接続部２０８は、ネットワーク通信部２０７をネットワーク媒体に接続する。
【００２６】
ＭＦＰ１００と同様に、ネットワーク通信部２０７とネットワーク接続部２０８は、有線ＬＡＮと無線ＬＡＮの内、少なくともいずれかに対応する。具体的な形態は、ＭＦＰ１００に内蔵のネットワーク通信部１１０及びネットワーク接続部１１１と同様に、対応ＬＡＮに応じて必要な機能及び形態をとる。ＵＳＢ通信部２１０は、各種周辺装置とＵＳＢインタフェースを介して通信する。ＵＳＢ接続部２１１は、ＵＳＢコネクタ等から構成され、外部装置と接続する。
【００２７】
信号線２０９は、情報処理装置２００の各種構成要素を相互に接続する。
【００２８】
＜実施形態１＞
以下、図３〜６を参照し、実施形態１を詳細に説明する。
【００２９】
図３は、情報処理装置２００上で動作し、周辺装置であるＭＦＰ１００の状態を監視するためのソフトウェア（プログラム）であるポーリングアプリケーション３００の機能を説明するためのブロック図である。尚、このポーリングアプリケーション３００はディスク装置２０２に記憶され、ＣＰＵ２０１が読み出し実行することで、例えば、後述する図５の各種処理を実現する。
【００３０】
ユーザインタフェース（ＵＩ）３０１は、ポーリングアプリケーション３００の操作を行うための各種画面やコントロールを提供する。ポーリング制御モジュール３０２は、情報処理装置２００からＭＦＰ１００に対して、通信対象であるＭＦＰ１００の状態のポーリングとして、例えば、通信できるかどうかの問い合わせと、周辺装置のイベント、例えばスキャン指示などの機能実行指示がなされたかの問い合わせを行う。問い合わせるイベントの種類は予め登録しておく。ネットワーク環境チェックモジュール３０３は、ＯＳのモジュールの１つであるネットワークサービス３０５と通信し、情報処理装置２００が現在接続しているネットワーク（判定対象のネットワーク）に関するネットワーク環境を示す情報（ネットワーク環境情報）であるネットワークＩＤの取得と、ネットワーク環境の変化判定を行う。
【００３１】
ここでのネットワーク環境情報の１つであるネットワークＩＤは、接続しているネットワークを一意に識別するための固有な情報を示す。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＯＳであるＷｉｎｄｏｗｓ  Ｖｉｓｔａ（登録商標）、Ｗｉｎｄｏｗｓ  ７（登録商標）などで利用可能なＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）であるＮｅｔｗｏｒｋ  Ｌｉｓｔ  Ｍａｎａｇｅｒで取得できるネットワーク固有なＧＵＩＤであり、ネットワークサービス３０５を用いて取得可能である。また、ＧＵＩＤに代えて、ネットワーク通信部２０７がネットワーク経由の通信において使用しているルーターのＩＰアドレス、ＭＡＣアドレス、ＳＳＩＤ、アクセスポイントのＳＳＩＤ等としてもよい。このようにネットワークＩＤは、情報処理装置２００のネットワーク接続先ポートを物理的に識別することができる識別情報である。
【００３２】
ポーリング設定情報ＤＢ３０４は、情報処理装置２００がＭＦＰ１００に対してポーリングを行うために必要な情報を格納する。
【００３３】
図４は、ポーリング設定情報ＤＢ３０４に格納されているポーリング設定情報テーブル４００を示す。４０１は、情報処理装置２００とネットワークで接続された各ＭＦＰの名称である。４０２は情報処理装置２００と各ＭＦＰが接続された（通信に利用された）ネットワークに関するネットワーク環境情報であるネットワークＩＤである。このように、ポーリング設定情報テーブル４００では、周辺装置に関する機器情報（ここでは、ＭＦＰの名称）と、ネットワーク環境情報であるネットワークＩＤとを対応付けて管理している。
【００３４】
図４の前提として、ＭＦＰ１００を情報処理装置２００から利用するために必要なソフトウェアを情報処理装置２００に対してセットアップする際、ＭＦＰ１００と情報処理装置２００は通信可能な状態で行うなどし、その時にＭＦＰ名称４０１とネットワークＩＤ４０２が初めてセットされる。即ち、情報処理装置２００はセットアップ時に通信したＭＦＰ１００のＭＦＰ名称４０１を特定し、セットアップ時にＭＦＰ１００と通信を行ったネットワーク環境におけるネットワークＩＤ４０２を特定し、それぞれ対応付けてセットする。尚、ポーリング設定情報テーブル４００には、複数のＭＦＰの情報を登録できる。
【００３５】
図５は情報処理装置２００がＭＦＰ１００に対して行うポーリング制御の処理を示すフローチャートである。このフローチャートはＣＰＵ２０１がポーリングアプリケーション３００のプログラムをメモリ２０４にロードし、それを実行することによって行われる処理の流れを示す。ここではＭＦＰ１００においてスキャン指示（読取指示）がなされたかを確認するための処理を行うものとする。
【００３６】
Ｓ５０１で、ポーリング制御モジュール３０２は、ＭＦＰ１００に対して通信可否問い合わせを行う。Ｓ５０２で、ポーリング制御モジュール３０２は、問い合わせに対するＭＦＰ１００からの応答の有無を判定する。尚、この応答の有無の判定は、所定時間内にＭＦＰ１００からの応答があるか否かで判定する。
【００３７】
判定の結果、ＭＦＰ１００からの応答がある場合（Ｓ５０２でＹＥＳ）、Ｓ５０３で、ポーリング制御モジュール３０２は、ＭＦＰ１００からスキャン指示があるかの問い合わせを行い、再度、Ｓ５０１に戻る。このとき、ネットワークトラフィックの増加やＭＦＰ１００の負荷を考えて、所定時間（例えば、４秒程度）の間隔をあけて（待機して）から、Ｓ５０１に戻っても良いものとする。ただし、ここでの待機時間はイベント検知のリアルタイム性を損なわない程度の時間とする。
【００３８】
一方、判定の結果、ＭＦＰ１００からの応答がない場合（Ｓ５０２でＮＯ）、Ｓ５０４で、ネットワーク環境チェックモジュール３０３は、ネットワークサービス３０５を介して情報処理装置２００が現在通信を行っているネットワークに対応するネットワークＩＤを取得する。これにより、現在の情報処理装置２００の通信環境を判定する。
【００３９】
Ｓ５０５で、ネットワーク環境チェックモジュール３０３は、ポーリング設定情報テーブル４００に登録されている、ポーリング先のＭＦＰ１００に対応するネットワークＩＤ４０２（第１のネットワーク環境情報）とＳ５０４で取得したネットワークＩＤ（第２のネットワーク環境情報）とを比較する。そして、ネットワーク環境チェックモジュール３０３は、その比較結果に基づいて、ＭＦＰ１００を登録したときとの情報処理装置２００のネットワーク環境の変化の有無を判定する。
【００４０】
判定の結果、ネットワークＩＤが異なっている場合、つまり、ネットワーク環境の変化があった場合（Ｓ５０５でＹＥＳ）、Ｓ５０６で、ポーリング制御モジュール３０２は、自動的にポーリングアプリケーション３００を終了し、ＭＦＰ１００へのポーリングを停止する。即ち、情報処理装置２００の通信環境がＭＦＰ１００に対してポーリングを行うための通信環境とは異なる通信環境にある場合、ＭＦＰ１００に対するポーリングを停止する。ここで、終了させるアプリケーションは、ポーリングアプリケーション３００だけでなく、ＭＦＰ１００を使用するために起動している他のアプリケーション（管理ソフトウェア等）も同時に終了させてもよい。
【００４１】
一方、判定の結果、ネットワークＩＤが同一である場合、つまり、ネットワーク環境の変化がない場合（Ｓ５０５でＮＯ）、Ｓ５０１に戻る。ここでも、ネットワークトラフィックの増加やＭＦＰ１００の負荷を考えて、所定時間（例えば、２０秒程度）の間隔をあけて（待機して）から、Ｓ５０１に戻っても良いものとする。ここでの待機時間はイベント検知よりもリアルタイム性を重視する必要がない。
【００４２】
図６は情報処理装置２００上のポーリングアプリケーション３００がネットワークを介してＭＦＰ１００と通信し、かつネットワークサービス３０５を介してネットワーク環境を取得する処理を示すシーケンスチャートである。
【００４３】
ポーリングアプリケーション３００は、ＭＦＰ１００に対して、通信可否問い合わせを定期的に行う（Ｓ６０１、Ｓ６０５、Ｓ６０９）。この処理は図５のＳ５０１に対応する。
【００４４】
ＭＦＰ１００は、ポーリングアプリケーション３００からの通信可否問い合わせを受け取り、応答可能な場合に応答を行う（Ｓ６０２、Ｓ６０６）。
【００４５】
ポーリングアプリケーション３００は、ＭＦＰ１００から応答があり、通信可能であると判定した場合、スキャン指示が行われたかどうかの問い合わせをＭＦＰ１００に対して行う（Ｓ６０３、Ｓ６０７）。この処理は図５のＳ５０２で肯定判定した後のＳ５０３に対応する。
【００４６】
ＭＦＰ１００は、ポーリングアプリケーション３００からのスキャン指示の問い合わせに対して、スキャン指示の有無を送信する（Ｓ６０４、Ｓ６０８）。ＭＦＰ１００においてスキャン指示がなされていない場合、ＭＦＰ１００はスキャン指示がなされていない旨の応答を行う。ＭＦＰ１００がポーリングアプリケーション３００からの問い合わせに対して応答可能な場合、この一連の処理を定期的に繰り返す。
【００４７】
ここで、Ｓ６０８の後、例えば、ＭＦＰ１００の電源がオフするなどし、以降の情報処理装置２００からの問い合わせに対して応答できない状態となったものとする。
【００４８】
ポーリングアプリケーション３００は、ＭＦＰ１００に対して、通信可否問い合わせを行うが（Ｓ６０９）、ＭＦＰ１００から応答がないので、ネットワークサービス３０５を介して情報処理装置２００の現在のネットワーク環境を特定する情報の取得を行う（Ｓ６１０）。
【００４９】
ポーリングアプリケーション３００からのネットワーク環境取得要求に対しネットワークサービス３０５は、現在のネットワークＩＤをポーリングアプリケーション３００に通知する（Ｓ６１１）。この処理は図５のＳ５０２で否定判定した後のＳ５０４に対応する。
【００５０】
ポーリングアプリケーション３００は、現在のネットワーク環境とＭＦＰ１００をポーリング対象として登録したときのネットワーク環境のチェックを行う。即ち、ポーリング設定情報テーブル４００に登録されているネットワークＩＤ４０２とＳ６１１で取得したネットワークＩＤを比較し、ここでは変化がない（同一である）ので、再度、ポーリングアプリケーション３００は、ＭＦＰ１００に対して、通信可否問い合わせを行う（Ｓ６１２）。この処理は図５のＳ５０５で否定判定した場合の処理に対応する。
【００５１】
ここで、Ｓ６１１の後、情報処理装置２００のネットワーク接続先を変更したとする。例えば、ユーザが情報処理装置２００を別の所へ持っていき、異なるネットワーク接続先に接続して通信する環境に変更したものとする。
【００５２】
この場合、ポーリングアプリケーション３００からの通信可否問い合わせは（Ｓ６１２）ＭＦＰ１００へは届かない。従ってＭＦＰ１００からの応答はないので、ポーリングアプリケーション３００はネットワークサービス３０５を介してネットワーク環境を特定する情報の取得を行う（Ｓ６１３）。ポーリングアプリケーション３００からのネットワーク環境取得要求に対しネットワークサービス３０５は、現在のネットワークＩＤをポーリングアプリケーション３００に伝え（Ｓ６１４）、ポーリングアプリケーション３００はネットワーク環境のチェックを行う。ポーリング設定情報テーブル４００に登録されているネットワークＩＤ４０２とＳ６１４で取得したネットワークＩＤを比較し、ここでは変化がある（同一ではない）ので、ポーリングアプリケーション３００はＭＦＰ１００への定期的なポーリングの処理を停止する。この処理は図５のＳ５０５で肯定判定した後のＳ５０６に対応する。
【００５３】
以上説明したように、実施形態１によれば、情報処理装置２００がＭＦＰ１００と接続していたネットワーク環境とは異なるネットワーク環境（ＭＦＰ１００が存在しない別のネットワーク環境）に接続されている場合に、無駄なポーリングを停止し、不要なネットワークトラフィックを抑止でき、また情報処理装置の処理負荷の軽減を図ることができる。即ち、情報処理装置はネットワークに対しポーリングのためのパケットを送出できる状態であっても、ポーリング対象の周辺装置が存在しない場合にはポーリングを停止する。
【００５４】
また、ここではネットワーク環境が変化した場合について説明したが、ネットワークにおけるエラーによってネットワーク経由での通信が行えない場合にもポーリングを停止するようにしてもよい。これにより無駄なポーリングを試行することによる情報処理装置の処理負荷の軽減が図れる。
【００５５】
尚、以上の実施形態ではネットワーク経由でのポーリングについて述べたが、ＵＳＢなど他の通信形態でのポーリングとしてもよい。即ち、情報処理装置が外部と通信を行う環境が、ポーリング対象の周辺装置との通信形態として登録されている環境と異なる状態となった場合にポーリングを停止させることで同様の効果を得ることができる。
【００５６】
また、本実施形態のようにポーリングによって検知するイベントがスキャン指示であり、これに従ってスキャン機能を実行する場合、周辺装置はプリンタ機能を有さないスキャナ装置とすることができる。また、ポーリング対象のイベントはスキャン指示に限らず、周辺装置におけるエラーの発生の有無、インク、トナー、印刷用紙などの消耗品の残量が所定量以下となったという事象などとしてもよい。
【００５７】
＜実施形態２＞
実施形態１では、情報処理装置が外部と通信を行う環境がポーリング対象の周辺装置との通信形態と異なる環境となった場合に、自動的に定期的なポーリングを停止するものであった。実施形態２ではポーリングの停止をユーザから許可があった場合に停止するものとする。以下、図７及び図８を参照し、実施形態２を詳細に説明する。
【００５８】
実施形態２のＭＦＰ１００と情報処理装置２００の構成概略は、図１及び図２で説明したものと同様の構成を用いることができるので、それらについての説明は省略する。
【００５９】
また、情報処理装置２００上で動作し、ＭＦＰ１００の状態を監視するポーリングアプリケーション及びポーリング設定情報テーブルは、図３及び図４で説明したものと同様の構成を用いることができるので、それらについての説明も省略する。
【００６０】
図７は情報処理装置２００がＭＦＰ１００に対して行うポーリング制御の処理を示すフローチャートである。このフローチャートはＣＰＵ２０１がポーリングアプリケーション３００のプログラムをメモリ２０４にロードし、それを実行することによって行われる処理の流れを示す。ここでもＭＦＰ１００においてスキャン指示がなされたかを確認するための処理を行うものとする。
【００６１】
図７において、Ｓ７０１〜７０５は、図５のＳ５０１〜５０５と同様の処理を行えばよいので、ここでの説明は省略する。
【００６２】
Ｓ７０５における判定の結果、ネットワークＩＤが異なっている場合、つまり、ネットワーク環境の変化があった場合（Ｓ７０５でＹＥＳ）、Ｓ７０６で、ポーリング制御モジュール３０２は、図８で示すポーリング継続選択画面８００を表示部２０５に表示させる。
【００６３】
図８は、ネットワーク環境が変わったと判断された場合に、ポーリングを継続するか停止するかをユーザに問い合わせるための確認画面である。この確認画面であるポーリング継続選択画面８００は、Ｙｅｓボタン８０１とＮｏボタン８０２を有し、ユーザによりどちらかのボタンが操作されると、画面が閉じられて次のステップに進む。Ｙｅｓボタン８０１が操作（ポーリングの継続の指示）されると、ポーリングを継続し、Ｎｏボタン８０２が操作（ポーリングの停止の指示）されると、ポーリングを停止する。なお、ユーザによりいずれかのボタンが操作されるまではポーリングを一時停止するようにしてもよい。
【００６４】
Ｓ７０７で、ポーリング制御モジュール３０２は、ポーリングを継続するか否かを判定する。Ｓ７０６においてＹｅｓボタン８０１が操作された場合、ポーリングを継続すると判定する（Ｓ７０７でＹＥＳ）。そして、Ｓ７０８で、ポーリング制御モジュール３０２は、ポーリング設定情報テーブル４００で既に登録されているネットワークＩＤ４０２をＳ７０４で取得したネットワークＩＤに更新してＳ７０２に進む。即ち、現在の情報処理装置２００のネットワーク環境を、ＭＦＰ１００に対してポーリングを行うためのネットワーク環境として決定し、それを登録する。
【００６５】
一方、判定の結果、ネットワークＩＤが同一である場合、つまり、ネットワーク環境の変化がない場合（Ｓ７０５でＮＯ）、Ｓ７０１に戻る。ここでも、ネットワークトラフィックの増加やＭＦＰ１００の負荷を考えて、所定時間（例えば、２０秒程度）の間隔をあけて（待機して）から、Ｓ７０１に戻っても良いものとする。
【００６６】
一方、判定の結果、ネットワークＩＤが同一である場合、つまり、ネットワーク環境の変化がない場合（Ｓ７０５でＮＯ）、Ｓ７０１に戻る。ここでも、ネットワークトラフィックの増加やＭＦＰ１００の負荷を考えて、所定時間（例えば、２０秒程度）の間隔をあけてから、Ｓ７０１に戻っても良いとする。
【００６７】
尚、図７のフローチャートに対応するシーケンスチャートは、実施形態１の図６に準ずるが、実施形態１との違いとしては、Ｓ６１４の後に、ポーリング継続選択画面８００の表示制御、それに対するユーザによる指示の判定に基づく制御等のＳ７０５〜Ｓ７０８の処理がなされる点である。
【００６８】
以上説明したように、実施形態２によれば、情報処理装置２００がＭＦＰ１００と接続していたネットワーク環境とは異なるネットワーク環境に接続されている場合に、ユーザによる選択に従ってポーリングの継続の可否を決定できる。これにより、ユーザに対して、ポーリングの継続／停止の選択の機会を提供することで、必要に応じて、ポーリングを停止し、無駄なネットワークトラフィックを抑止できる。
【００６９】
さらには、変化のあったネットワーク環境下にＭＦＰ１００を接続する場合、ポーリング継続選択画面８００でユーザが継続を選択することで、ポーリングを継続できるので、ＭＦＰ１００のネットワーク接続先を変更した場合にも柔軟に対応できる。例えば、一時的に情報処理装置２００が通信不可となった場合に、ポーリングを停止させてしまい、その後通信可能な状態となったときにポーリングが実行されないような不都合を防止できる。
【００７０】
＜実施形態３＞
実施形態３では、実施形態２の処理において、図８の画面に対してユーザがＮｏボタン８０２を操作した場合、ネットワーク環境の変化を監視する。そして、ネットワーク環境が当初のポーリング対象の環境に戻った場合、自動的にポーリング処理を復帰させる。以下、図９を参照し、実施形態３を詳細に説明する。
【００７１】
実施形態３のＭＦＰ１００と情報処理装置２００の構成概略は、図１及び図２で説明したものと同様の構成を用いることができるので、それらについての説明は省略する。
【００７２】
また、情報処理装置２００上で動作し、ＭＦＰ１００の状態を監視するポーリングアプリケーション及びポーリング設定情報テーブルは、図３及び図４で説明したものと同様の構成を用いることができるので、それらについての説明も省略する。
【００７３】
更に、ポーリング継続選択画面は、図８で説明したものと同様の構成を用いることができるので、これについての説明も省略する。
【００７４】
図９は情報処理装置２００がＭＦＰ１００に対して行うポーリング制御の処理を示すフローチャートである。このフローチャートはＣＰＵ２０１がポーリングアプリケーション３００のプログラムをメモリ２０４にロードし、それを実行することによって行われる処理の流れを示す。ここでもＭＦＰ１００においてスキャン指示がなされたかを確認するための処理を行うものとする。
【００７５】
図９において、Ｓ９０１〜９０８は、図７のＳ７０１〜７０８と同様の処理を行えばよいので、ここでの説明は省略する。
【００７６】
Ｓ９０６においてＮｏボタン８０２が操作された場合、ポーリングを停止すると判定する（Ｓ９０７でＮＯ）。この場合、Ｓ９０９で、ネットワーク環境チェックモジュール３０３は、ネットワークサービス３０５を介して情報処理装置２００が現在通信を行っているネットワークに対応するネットワークＩＤを取得する。
【００７７】
Ｓ９１０で、ネットワーク環境チェックモジュール３０３は、Ｓ９０９で取得したネットワークＩＤ（第３のネットワーク環境情報）とポーリング先のＭＦＰ１００に対応するネットワークＩＤ４０２（第１のネットワーク環境情報）とを比較する。そして、ネットワーク環境チェックモジュール３０３は、その比較結果に基づいて、ネットワークＩＤが同一か、つまりポーリング対象のネットワークＩＤかを判定する。判定の結果、ネットワークＩＤが異なる場合、つまり、現在のネットワーク環境がポーリング対象のネットワーク環境でない場合（Ｓ９１０でＮＯ）、再度、Ｓ９０９に戻る。このとき、所定時間（例えば１分程度）の間隔をあけて（待機して）からＳ９０９に戻っても良いものとする。一方、判定の結果、ネットワークＩＤが同一である場合、つまり、現在のネットワーク環境がポーリング対象のネットワーク環境である場合（Ｓ９１０でＹＥＳ）、Ｓ９０１に戻る。即ち、ＭＦＰ１００に対するポーリングを停止させた後、情報処理装置２００の通信環境がＭＦＰ１００に対してポーリングを行うための通信環境となった場合にＭＦＰ１００に対するポーリングを再開させる。
【００７８】
以上説明したように、実施形態３によれば、実施形態２における効果に加え、情報処理装置２００がＭＦＰ１００と接続しているネットワーク環境に再接続する場合に、ポーリングを自動再開できる。また、ここでは図８の画面による問い合わせに対し、ポーリングを停止するよう指示した場合に、ポーリング対象のネットワーク環境に戻ったかどうかを監視するようにしたが、これには限らない。実施形態１のように自動でポーリングを停止した後に、ポーリング対象のネットワーク環境に戻ったかどうかを監視するようにしてもよい。
【００７９】
＜実施形態４＞
上記の実施形態では、情報処理装置２００がポーリングアプリケーション３００によりＭＦＰ１００におけるスキャン指示の有無をポーリングする例を説明しているが、ポーリングする情報はこれに限定されない。ＭＦＰ１００に関わる他の機能（例えば、プリンタ機能、コピー機能等）の実行指示、ＭＦＰ１００の任意の情報や状態の取得に、同様に適用することができる。情報処理装置２００がＭＦＰ１００におけるプリンタ機能の実行指示を検知した場合、情報処理装置２００は自身が有する印刷対象の画像データをＭＦＰ１００に送信し、プリンタ部１０１でその画像データに基づく画像を印刷させる。情報処理装置２００がＭＦＰ１００におけるコピー機能の実行指示を検知した場合、スキャナ部１０２による原稿の読み取りを実行させる（上述の実施形態と同様）とともに、読み取って得られた画像データを情報処理装置２００が受信する。それに引き続き情報処理装置２００はその画像データに所定の処理を施し、ＭＦＰ１００に送信し、プリンタ部１０１でその画像データに基づく画像を印刷させる。
【００８０】
尚、以上の実施形態の処理は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。このとき、１つのコンピュータで処理させてもよいし、複数のコンピュータを連携させながら処理させてもよい。また、この処理の一部または全部をＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアで実現させてもよい。
【図１】
2015082767.tif 000003
【図２】
2015082767.tif 000004
【図３】
2015082767.tif 000005
【図４】
2015082767.tif 000006
【図５】
2015082767.tif 000007
【図６】
2015082767.tif 000008
【図７】
2015082767.tif 000009
【図８】
2015082767.tif 000010
【図９】
2015082767.tif 000011