(57)【要約】 【課題】  無線クライアント（１０３）から、往復遅延時間の長い高遅延環境の無線ネットワーク（１０６）経由で TCP 通信をすると、無線クライアント（１０３）のネットワークＩ／Ｆ制御装置（２０６）が、データダウンロード中にも係らずスリープ状態に遷移するためダウンロード通信速度が低下するという課題があった。【解決手段】  サーバコンピュータ（１０１）から無線クライアント（１０３）へのデータダウンロード中の判定を行うダウンロード管理処手段（３０２）、ダウンロード管理処手段が決定した通信確認パケットを送信する通信確認パケット送信手段（３０５）により通信中の速度低下を回避する。【選択図】  図４
2015154227.tif 000002
【特許請求の範囲】
【請求項１】
無線アクセスポイント（１０２）を経由して、第１の情報処理装置（１０１）と第２の情報処理装置（１０３）との間で通信するデータ通信方法であって、
前記第２の情報処理装置（１０３）は、サーバコンピュータ（１０１）から無線クライアント（１０３）へのデータダウンロード中の判定を行うダウンロード管理処手段（３０２）、無線ネットワーク（１０６）での通信を判定する無線通信判定手段（３０３）、サーバコンピュータ（１０１）から無線クライアント（１０３）へのデータダウンロードの遅延を判定する高遅延通信判定手段（３０４）、ダウンロード管理処手段が決定した通信確認パケットを送信する通信確認パケット送信手段（３０５）
を有することを特徴とするデータ通信方法。
【請求項２】
前記無線通信判定手段（３０３）は、無線アクセスポイント（１０２）と通信の判定方法として、無線クライアント（１０３）が無線アクセスポイント（１０２）と通信していることを検出する処理を行うことを特徴とする請求項１に記載のデータ通信方法。
【請求項３】
前記高遅延通信判定手段（３０４）は、ダウンロード管理処理部（３０２）から、サーバコンピュータ（１０１）への通信時間から往復遅延時間 (RTT： Round-Trip-Time)を取得し、ＴＣＰ管理処理部（３０６）からListen interval間隔を取得して、Listen interval間隔がＲＴＯよりも長い場合に高遅延通信と判定する処理を行うことを特徴とする請求項１又は請求項２に記載のデータ通信方法。
【請求項４】
前記高遅延通信判定手段（３０４）は、無線クライアント（１０３）から、IEEE 802.11のListen interval間隔が取得できない場合に、Listen interval間隔の既定値として、DTIM（Delivery Traffic Indication Message）間隔、又は、ビーコン間隔（IEEE 802.11）又は、上位レイヤアプリケーション（３０１）のプログラムの既定値、又は、ユーザが指示した値の何れかを、Listen interval間隔として高遅延通信を判定する処理を行うことを特徴とする請求項１又は請求項２に記載のデータ通信方法。
【請求項５】
前記ダウンロード管理処手段（３０２）におけるデータダウンロード中の判定は、上位レイヤアプリケーション（３０１）から指示されたサーバコンピュータ（１０１）へのダウンロード指示を開始してから、ダウンロード処理が終了するまでの間をダウンロード中と判定することを特徴とする請求項１乃至請求項４の何れか一項に記載のデータ通信方法。
【請求項６】
前記高遅延通信判定手段（３０４）は、ダウンロード管理処理部（３０２）から取得したサーバコンピュータ（１０１）毎の往復遅延時間 (RTT： Round-Trip-Time)を記憶する往復遅延時間記憶手段（６０１）を有し、記憶された往復遅延時間から平均往復遅延時間である平均ＲＴＴを算出、Listen interval間隔が平均RTOよりも長い場合に高遅延通信と判定する処理を行うことを特徴とする請求項５に記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツの取得を高速化する技術に関するものである。
【背景技術】
【０００２】
近年、ユーザの要求に応じてコンテンツを生成するＷｅｂサービスが普及してきている。例えば、電子メールを利用した印刷サービス、クラウド経由のフォーマット変換サービス等が挙げられる。
【０００３】
また、ユーザがモバイル端末などの無線クライアントから、それらのＷｅｂサービスを利用する場合、従来の有線ネットワークに変わって無線ネットワーク経由での利用が増加しつつある。また、モバイル端末は消費電力の制限が大きいために既存の仕組みに比べ、通信品質が一定ではない。このため、端末が頻繁にスリープ状態になると、通信速度が低下してしまう場合もある。
【０００４】
このような場合に備え、通信速度を低下させることなく通信の信頼性を高める方法が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１９７９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、無線クライアント（１０３）から、無線ネットワーク（１０６）経由で、高遅延環境のサーバコンピュータ（１０１）に対して TCP 通信をする場合、ネットワークＩ／Ｆ制御装置（２０６）がスリープ状態に遷移する場合がある。
【０００７】
無線クライアント（１０３）のネットワークＩ／Ｆ制御装置（２０６）が、データダウンロード中にも係らず、ネットワークＩ／Ｆ制御装置（２０６）がスリープ状態に遷移する場合がある。
【０００８】
このために、サーバコンピュータ（１０１）は、データの再送（HTTPのRetransmissionなど）を繰り返し、通信時間が長くなり、データ通信量が増える場合がある。
【０００９】
特に省電力に最適化された無線クライアント（１０３）は、スリープ間隔が長いために、高遅延環境でサーバの再送が発生し易く、通信時間が長くなり、データ通信量が増える場合がある。
【００１０】
ＴＣＰにおいて、再送は輻輳回避アルゴリズムの影響で通信速度が低下する。特にIEEE 802.11のパワー・セーブモードで動作しているモバイル端末は、アクティブ・モードで動作している場合と比べ、スリープ間隔が長いために、大陸間通信などの高遅延環境ではその影響が顕著に発生する。
【課題を解決するための手段】
【００１１】
本発明の構成は、
無線アクセスポイント（１０２）を経由して、第１の情報処理装置（１０１）と第２の情報処理装置（１０３）との間で通信するデータ通信方法であって、
前記第２の情報処理装置（１０３）は、サーバコンピュータ（１０１）から無線クライアント（１０３）へのデータダウンロード中の判定を行うダウンロード管理処手段（３０２）、無線ネットワーク（１０６）での通信を判定する無線通信判定手段（３０３）、サーバコンピュータ（１０１）から無線クライアント（１０３）へのデータダウンロードの遅延を判定する高遅延通信判定手段（３０４）、ダウンロード管理処手段が決定した通信確認パケットを送信する通信確認パケット送信手段（３０５）を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、スリープ間隔が長い無線クライアント（１０３）が、高遅延環境のダウンロード通信を行う場合においても、スリープ状態に遷移しにくくなるため、通信速度の低下が発生しにくくなる。また、無線クライアント（１０３）のスリープによるサーバからの再送を防止するために、総通信量の増加を防げる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態としての無線クライアント（１０３）を含むネットワーク構成図
【図２】本発明の一実施形態としての無線クライアント（１０３）を含むシステムを構成するブロック図
【図３】本発明の一実施形態としてのソフトウェア構成図
【図４】ダウンロード管理処理部におけるダウンロード処理のフローチャート
【図５】ダウンロード管理処理部におけるダウンロード処理のフローチャート
【図６】実施例２におけるソフトウェア構成図
【図７】ダウンロード管理処理部におけるダウンロード処理のフローチャート
【発明を実施するための形態】
【００１４】
実施形態を説明する前に、説明に用いる用語について定義する。
【００１５】
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）とは、ファイルの送受信のような信頼性を要求する通信に一般的に利用されるプロトコルである（http://tools.ietf.org/html/rfc793）。
【００１６】
ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）とは、ＷｅｂクライアントとＷｅｂサーバの間で各種コンテンツの送受信に用いられるプロトコルである（http://tools.ietf.org/html/rfc2616）。ＷｅｂサービスではこのＨＴＴＰを使用して通信を行う。
【００１７】
［実施例１］
本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。図2は本実施形態のコンピュータの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器から成るシステムであっても、本発明を適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行されるのであれば、ＬＡＮ、ＷＡＮ、ＷＷＡＮ、インターネット等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１８】
図1において、インターネット（１００）は、ファイアウォール（不図示）を越えて無線クライアント（１０３）とサーバコンピュータ（１０１）間で情報をやり取りするための通信回線である。
【００１９】
このネットワークＩ／Ｆ（３０８）制御部（２０６）は無線通信装置であっても構わない。すなわち、無線アンテナやその制御のための装置を備えていても良い。インターネット（１００）は、例えば、ＴＣＰ／ＩＰプロトコルなどをサポートする通信回線網である。図１において、サーバコンピュータ群（１０１）は、1台のサーバコンピュータ（１０１）として示されているが複数台のサーバコンピュータで構成されていても構わない。また、仮想ＰＣとして構成されていても構わない。
【００２０】
無線アクセスポイント（１０２）はインターネット（１００）、有線ネットワーク（１０５）、無線ネットワーク（１０６）と接続されている。無線アクセスポイント（１０２）は無線クライアント（１０３）と無線ネットワーク（１０６）を経由して無線通信が可能である。
【００２１】
また、画像処理装置（１０４）とも有線ネットワーク（１０５）を経由して有線、または無線ネットワーク（１０６）を経由して無線で通信可能とする。
【００２２】
また、無線クライアント（１０３）と画像形成装置（１０４）は無線アクセスポイント（１０２）を経由して、互いに通信可能とする。
【００２３】
無線クライアント（１０３）は、  無線アクセスポイント（１０２）を経由してサーバコンピュータ（１０１）間で情報をやり取りする。本発明の特徴を示すため、無線クライアント（１０３）の実施について詳細に説明する。なお、サーバコンピュータ（１０１）は一般的なＨＴＴＰサーバの機能を満たし、ＨＴＴＰ１．１におけるＧＥＴコマンドが使用可能とする。無線クライアント（１０３）は、ダウンロード実行時にサーバコンピュータ（１０１）にＧＥＴコマンドを発行する。サーバコンピュータ（１０１）は、ＧＥＴコマンドで指定したデータを返信する事でダウンロードが完了する。
【００２４】
無線クライアント（１０３）は、画像処理装置（１０４）へ印刷をする事が可能である。無線クライアント（１０３）は、内部に保存されている印刷データ以外に、サーバコンピュータ（１０１）から印刷データをダウンロードして印刷することが可能である。
【００２５】
本実施例では、ここで使用する通信プロトコルとしてＨＴＴＰを用いる。もちろん、他のプロトコルや独自のものを用いても良い。
【００２６】
画像処理装置（１０４）は、プリンタやマルチファンクションペリフェラル（ＭＦＰ）など、印刷、スキャン、ＦＡＸ、ストレージなどの機能を提供する。無線クライアント（１０３）は、有線ネットワーク（１０５）や無線ネットワーク（１０６）を経由して、画像処理装置（１０４）のこれらのサービスを利用できる。また、ＳＮＭＰ（Simple Network Management Protocol）などを利用して画像処理装置（１０４）の状態を取得する事が可能である。
【００２７】
有線ネットワーク（１０５）は、Ethernet（登録商標）規格の有線通信方式や、他の有線通信方式を用いた通信回線である。
【００２８】
無線ネットワーク（１０６）は、IEEE 802.11シリーズの無線通信方式、または、他のIEEE 802 OSI参照モデルの第2層にあたる、データリンク層において、メディアアクセス制御（MAC：Media Access Control）が行える無線通信方式を用いた通信回線である。
【００２９】
図２において、２００は無線クライアント（１０３）、もしくはサーバコンピュータ（１０１）である。
【００３０】
無線クライアント（１０３）、もしくはサーバコンピュータ（１０１）は、ＲＯＭ（２０２）、あるいは外部記憶装置（２０５）に記憶された文書処理プログラム等に基づいて、処理を実行するＣＰＵ（２０１）を備える。
【００３１】
さらに、システムバス（２０４）に接続される各デバイスをＣＰＵ（２０１）が統括的に制御する。また、これら以外に入出力装置を備えていても良い。
【００３２】
また、このＲＯＭ（２０２）のプログラム用ＲＯＭあるいは外部記憶装置（２０５）には、ＣＰＵ（２０１）の制御プログラムであるオペレーションシステム等を記憶する。また、ＲＯＭ（２０２）のデータ用ＲＯＭあるいは外部記憶装置（２０５）には各種データを記憶する。
【００３３】
ＲＡＭ（２０３）は、ＣＰＵ（２０１）の主メモリ、ワークエリア等として機能し、ネットワークＩ／Ｆ（３０８）制御部（２０６）は、ＬＡＮ（２０７）とのデータの送受信を制御する。ＬＡＮ（２０７）は、有線通信や無線通信などで通信を行う事ができる。サーバコンピュータ（１０１）は無線通信によって接続が確立されていても良い。
【００３４】
図３はソフトウェア構成を示す。ＴＣＰレイヤまでの管理機構はＲＦＣ７９３を満たし、利用可能なＡＰＩが提供されていればどのような実施方法でも構わない。すなわち、ＴＣＰ管理処理部（３０６）および下位レイヤ管理処理部（３０７）が適切なＡＰＩを提供していれば、その実装は問わない。このＴＣＰ管理処理部（３０６）および下位レイヤ管理処理部（３０７）は、多くの場合、オペレーティングシステムが提供することが一般的であるが、本発明が必要とする管理機構が直接実装していても構わない。その実施方法は一般的に広く知られているため、詳細に記述しない。
【００３５】
上位レイヤアプリケーション（３０１）は、ダウンロード管理処理部（３０２）を利用するアプリケーションである。ダウンロード管理処理部（３０２）が提供するサーバコンピュータ（１０１）からＴＣＰプロトコルやＨＴＴＰプロトコルを利用したダウンロード機能を利用したアプリケーションである。
【００３６】
ダウンロード管理処理部（３０２）はＴＣＰプロトコルやＨＴＴＰセッションを用いた受信処理を管理し、上位レイヤアプリケーション（３０１）へのインターフェースを提供する。また下位レイヤに対してデータの送受信も管理する。ダウンロード管理処理部（３０２）はＴＣＰコネクションの処理などを行う。具体的にはＴＣＰコネクションの接続、受付、送受信等を管理し、その結果を上位レイヤアプリケーション（３０１）に通知する。また、ダウンロード管理処理部（３０２）は、サーバコンピュータ（１０１）から無線クライアント（１０３）へのデータダウンロード中の判定を行う。
【００３７】
また、ダウンロード管理処手段（３０２）は、データダウンロード中の判定を行う。具体的には、データダウンロード中の判定方法として、上位レイヤアプリケーション（３０１）から指示されたサーバコンピュータ（１０１）へのダウンロード指示を開始してから、ダウンロード処理が終了するまでの間をダウンロード中と判定する。
【００３８】
この、ダウンロード管理処理部（３０２）は本実施例では１つのソフトウェアライブラリの形で記述する。しかし、オペレーティングシステムそのものに本機能を実施する事や、ネットワークＩ／Ｆ（３０８）のハードウェアに実装しても構わない。すなわち、同等の機能及びインターフェースが上位レイヤアプリケーション（３０１）に提供できれば、実施箇所は問わない。
【００３９】
無線通信判定処理部（３０３）は、無線アクセスポイント（１０２）と通信の判定を行い、無線クライアント（１０３）が無線アクセスポイント（１０２）と通信していることを検出する処理を行う。具体的には、ネットワーク通信に利用している通信パラメータをオペレーティングシステム、または、ネットワーク通信ライブラリから取得して判定を行う。通信パラメータとしては、IEEE 802.11シリーズの無線LANプロトコルのアクセスポイントの識別子（SSID）を取得して無線通信の判定を行う。また、他のIEEE 802.11通信パラメータで無線通信の判定を行っても良い。
【００４０】
高遅延通信判定処理部（３０４）は、サーバコンピュータ（１０１）から無線クライアント（１０３）へのデータダウンロードの遅延を判定する。
【００４１】
具体的には、ダウンロード管理処理部（３０２）から、サーバコンピュータ（１０１）への通信時間から往復遅延時間 (RTT： Round-Trip-Time)を取得し、RTOを算出する。
【００４２】
サーバコンピュータ（１０１）の再送タイマのタイムアウト時間(RTO：Retransmission Time Out)は、無線クライアント（１０３）で取得した往復遅延時間 (RTT： Round-Trip-Time)からも算出できるため、無線クライアント（１０３）のRTTを元にしたRTOを算出する。
【００４３】
ＴＣＰ管理処理部（３０６）からListen Interval間隔を取得して、Listen Interval間隔がRTOよりも長い場合に高遅延通信と判定する処理を行う。
【００４４】
しかし、オペレーティングシステムやネットワーク通信ライブラリからIEEE 802.11のListen Interval間隔が取得できない場合は、Listen Interval間隔の既定値として、DTIM（Delivery Traffic Indication Message）間隔、又は、ビーコン間隔（IEEE 802.11）、又は、上位レイヤアプリケーション（３０１）のプログラムの既定値、又は、ユーザが指示した値の何れかを、Listen Interval間隔として高遅延通信を判定する処理を行う。
【００４５】
通信確認パケット送信処理部（３０５）は、高遅延通信判定処理部（３０４）の処理結果からダウンロード管理処部（３０２）が決定した通信確認パケットを送信する。
【００４６】
通信確認パケットは、無線ネットワークＩ／Ｆ制御装置（２０６）がデータダウンロード中にも係らずスリープ状態に遷移するため、ダウンロード通信速度が低下すると判定された場合に送信するパケットである。
【００４７】
無線クライアント（１０３）は、往復遅延時間の長い高遅延環境の無線ネットワーク（１０６）経由で TCP 通信をするとスリープ状態に遷移する。
【００４８】
通信確認パケットは、具体的には、無線ネットワーク（１０６）経由で、パケット送信を行う。パケット送信を行う宛先としては、無線アクセスポイント（１０２）、画像処理装置（１０４）や近隣ルータやゲートウェイ（不図示）などＲＴＴが短い宛先へのパケットであれば良い。
【００４９】
また、送信する通信確認パケットデータとしては、各宛先への疎通確認パケットを送信する。例えば、画像処理装置（１０４）に対しては、ＳＮＭＰ（Simple Network Management Protocol）パケット。無線アクセスポイント（１０２）に対しては、ＩＣＭＰ（Internet Control Message Protocol）パケットなどを送信する。
【００５０】
ここで、無線クライアント（１０３）をモバイル端末とし、モバイル端末から画像処理装置へ印刷をする際、サーバコンピュータ（１０１）がモバイル端末から受け取った画像を画像処理装置が理解できる画像へと変換するサービスを考える。モバイル端末は、サーバコンピュータ（１０１）から変換後の画像データを無線アクセスポイント（１０２）経由でダウンロードする。本実施例では、ここで使用する通信プロトコルとしてＨＴＴＰを用いる。もちろん、他のプロトコルや独自のものを用いても良い。
【００５１】
本発明の特徴を示すため、無線クライアント（１０３）の実施について詳細に説明する。なお、サーバコンピュータ（１０１）は一般的なＨＴＴＰサーバの機能を満たし、ＨＴＴＰ１．１における機能（ＧＥＴコマンドとＨＥＡＤコマンドなど）が使用可能とする。
【００５２】
図４で本発明を用いたデータの送受信について説明する。Ｓ４０１にて、まず、ダウンロード管理処理部（３０２）は上位レイヤアプリケーション（３０１）から通信開始の要求を受け取る。上位レイヤアプリケーション（３０１）は、ダウンロードしたいＵＲＬなどの指定をする。
【００５３】
Ｓ４０２では、ダウンロード管理処理部（３０２）の指示で、無線通信判定処理部（３０３）がオペレーティングシステムから通信状態を取得する。具体的には、ＯＳの無線ネットワーク管理モジュールから接続済みのWi-Fi（登録商標）のネットワーク名（ＳＳＩＤ）を取得する。さらに、そのＳＳＩＤのネットワークから、上位レイヤアプリケーション（３０１）が指定したＵＲＬに通信可能かを取得する。
【００５４】
Ｓ４０３では、無線通信判定処理部（３０３）はオペレーティングシステムから通信状態を取得した、ＳＳＩＤやＵＲＬへの通信可否から無線通信を判定する。
【００５５】
具体的には、ＯＳの無線ネットワーク管理モジュールから接続済みのWi-Fi（登録商標）のネットワーク名（ＳＳＩＤ）が取得できるか判定する。さらに、そのＳＳＩＤのネットワークから、上位レイヤアプリケーション（３０１）が指定したＵＲＬに通信可能な場合に無線通信と判定する。
【００５６】
Ｓ４０３で無線通信と判定された場合はＳ４０４の処理を行う。Ｓ４０４では、高遅延通信判定処理部（３０４）はＴＣＰ管理処理部（３０６）から無線ネットワーク（１０６） のIEEE 802.11 Listen interval間隔を取得する。さらに、データのダウンロード時のＲＴＯと比較するためにListen interval間隔を保存する。また、通信確認パケットの送信間隔であるビーコン間隔を取得する。ビーコン間隔が取得できない場合は、多くのワイヤレスアクセスポイントやルータで設定されている、ビーコン間隔（DTIM=1）である102.4 ミリ秒を既定値として設定する。
【００５７】
Ｓ４０５にてダウンロード管理処理部（３０２）は、サーバコンピュータ（１０１）に対して先ず、ファイルサイズ取得用のＴＣＰコネクションの接続を確立する。ここでサイズとは、ＨＴＴＰにおける、Ｃｏｎｔｅｎｔ−Ｌｅｎｇｔｈヘッダを指す。すなわち、ダウンロードしたいファイルのサイズを取得し、ダウンロードの終了条件を確定する。このサイズ取得は、ダウンロードしたいファイルのサイズを取得する以外に、サーバコンピュータ（１０１）に該当ファイルが存在するかの確認をするために使用する。
【００５８】
この取得は、ＨＴＴＰのＨＥＡＤコマンドを用いることでファイルサイズ部を含むヘッダのみのレスポンスを得ることが出来る。本実施例ではＨＴＴＰを用いるが、ファイルサイズの取得できるプロトコルや、生成確認の出来る方法があれば、どのようなプロトコルであっても良い。
【００５９】
さらに、ダウンロード管理処理部はファイル取得スレッドの初期化、および開始を行う。ファイル取得スレッドはＨＴＴＰレスポンスにおけるヘッダ以外の部分、すなわちボディ部を指し、画像処理装置が印刷できるデータの一部分を含む。また、この時点で、ＨＴＴＰのボディ部取得のための専用スレッドが開始される。
【００６０】
Ｓ４０６において、ダウンロード管理処理部（３０２）は、サーバコンピュータ（１０１）へのＨＴＴＰ要求と応答時間から往復遅延時間 (RTT： Round-Trip-Time)を取得する。取得したＲＴＴからＲＴＯを算出する。ＲＴＴからＲＴＯの算出はＲＦＣ２９８８（http://tools.ietf.org/html/rfc2988）に従う。
【００６１】
Ｓ４０７において、高遅延通信判定手段（３０４）は、Ｓ４０６において取得したListen interval間隔とＲＴＯを比較して、Listen Interval間隔がRTOよりも長い場合に高遅延通信と判定する。
【００６２】
この場合、無線クライアント（１０３）から、往復遅延時間の長い高遅延環境の無線ネットワーク（１０６）経由で TCP 通信を行うと、無線ネットワークＩ／Ｆ制御装置（２０６）がデータダウンロード中にも係らずスリープ状態に遷移する可能性が高い。
【００６３】
無線ネットワークＩ／Ｆ制御装置（２０６）がスリープ中は、無線アクセスポイント（１０２）は、無線クライアント（１０３）向けのデータ（サーバコンピュータ（１０１）からのダウンロードデータ）が存在する場合、ビーコンに含まれるTIM（Traffic Indication Message）を使ってデータがあることを通知する。無線クライアント（１０３）は、Listen Interval間隔でしかデータがあることを通知するTIM（DTIM：Delivery Traffic Indication Message）を受信できないため、Listen Interval間隔長く、ＲＴＯ以内に無線クライアント（１０３）が受信応答（ＡＣＫ）できないとサーバコンピュータ（１０１）がダウンロードデータの再送を行ってしまう。
【００６４】
このような高遅延通信の環境を検出して、そのような環境の場合は、ＲＴＴがListen Interval間隔より短い通信の場合は、無線ネットワークＩ／Ｆ制御装置（２０６）がデータダウンロード中にも係らずスリープ状態に遷移しないように、ビーコン間隔で通信確認パケットの送信を行う。
【００６５】
Ｓ４０７において、高遅延通信と判定された場合、Ｓ４０８において、高遅延通信判定手段（３０４）は、前回の通信確認パケット送信（Ｓ４０９）からビーコン間隔が経過したかの判定を行う。Ｓ４０８において、ビーコン間隔が経過している場合は、Ｓ４０９において、通信確認パケット送信処理部（３０５）は、通信確認パケットの送信を行い、送信時刻を記憶する。
【００６６】
通信確認パケットは、具体的には、無線ネットワーク（１０６）経由で、パケット送信を行う。パケット送信を行う宛先としては、無線アクセスポイント（１０２）、画像処理装置（１０４）や近隣ルータやゲートウェイ（不図示）などＲＴＴが短い宛先へのパケットであれば良い。
【００６７】
また、送信する通信確認パケットデータとしては、各宛先への疎通確認パケットを送信する。例えば、画像処理装置（１０４）に対しては、ＳＮＭＰ（Simple Network Management Protocol）パケット。無線アクセスポイント（１０２）に対しては、ＩＣＭＰ（Internet Control Message Protocol）パケットなどを送信する。
【００６８】
高遅延通信判定手段（３０４）は、Ｓ４０７において高遅延通信と判定しなかった場合、および、Ｓ４０８においてビーコン間隔が経過していないと判断した場合、および、Ｓ４０９において通信確認パケット送信処理部（３０５）が通信確認パケットの送信を行った場合、Ｓ４１０で、ダウンロード管理処理部（３０２）はファイルが取得出来たか判定を行う。未ダウンロードのデータが存在した場合、残りのダウンロード処理を行うため、Ｓ４１１に遷移する。一方でダウンロードが完了した場合、Ｓ４１２に遷移する。
【００６９】
Ｓ４１１にて、ダウンロード管理処理部はＵＲＬから取得できていない次のデータを、サーバコンピュータ（１０１）から取得するために、一定時間待機する。その後、ダウンロード管理処理部（３０２）はサーバコンピュータ（１０１）への往復遅延時間 (RTT： Round-Trip-Time)の取得とＲＴＯの算出を行う。
【００７０】
Ｓ４１０にて、ダウンロード管理処理部は、正常にファイルサイズがサーバコンピュータ（１０１）から取得出来た場合、Ｓ４１２にてファイル取得スレッドに該当ファイルのダウンロードの完了を通知する。
【００７１】
Ｓ４０３では、無線通信判定処理部（３０３）は無線通信と判定されなかった場合はＳ４１３の通常ダウンロード処理を行う。Ｓ４１３にてダウンロード管理処理部（３０２）は、サーバコンピュータ（１０１）に対して先ず、ファイルサイズ取得用のＴＣＰコネクションの接続を確立する。Ｓ４１４にて、ダウンロード管理処理部（３０２）は、ファイルが取得出来たか判定を行う。未ダウンロードのデータが存在した場合、残りのダウンロード処理を行うため、Ｓ４１５に遷移する。一方でダウンロードが完了した場合、Ｓ４１２に遷移する。
【００７２】
Ｓ４１５にて、ダウンロード管理処理部はＵＲＬから取得できていない次のデータを、サーバコンピュータ（１０１）から取得するために、一定時間待機する。その後、Ｓ４１４の判定処理を繰り返す。Ｓ４１４にて、ダウンロード管理処理部は、正常にファイルサイズがサーバコンピュータ（１０１）から取得出来た場合、Ｓ４１２にてファイル取得スレッドに該当ファイルのダウンロードの完了を通知して処理を終わる。
【００７３】
Listen intervalは、オペレーティングシステムやネットワークライブラリに依っては取得できない場合があるため、IEEE 802.11 Listen intervalが取得できない場合は、他の値を取得して同様の判定するようにする。
【００７４】
図５を用いて説明する。高遅延通信判定処理部（３０４）はＳ５００にてメインスレッドから指示があるかどうかを確認する。ここでメインスレッドとは、図４で示したダウンロード処理（４００）での処理を指す。ここでの処理とはＳ４０４で行われる処理のことを指す。
【００７５】
Ｓ５００で高遅延通信判定処理部（３０４）はＴＣＰ管理処理部（３０６）から無線ネットワーク（１０６） のIEEE 802.11 Listen interval間隔の取得処理を行う。Ｓ５０１で高遅延通信判定処理部（３０４）は、IEEE 802.11のListen interval間隔が取得できた場合、Ｓ５０６の取得値を確認パケット送信intervalに設定して処理を戻す。Ｓ５０１で高遅延通信判定処理部（３０４）はIEEE 802.11のListen interval間隔が取得できない場合、Ｓ５０２で高遅延通信判定処理部（３０４）はDTIM（Delivery Traffic Indication Message）間隔の取得を行う。
【００７６】
取得できた場合は、DTIM（Delivery Traffic Indication Message）間隔をListen interval間隔の既定値として、Ｓ５０６の取得値を確認パケット送信intervalに設定して処理を戻す。高遅延通信判定処理部（３０４）は、取得する情報を変更して、以降、同様の処理を繰り返す。Ｓ５０２でDTIM（Delivery Traffic Indication Message）間隔を取得し、取得判定を行う。Ｓ５０３でビーコン間隔（IEEE 802.11）を取得し、取得判定を行う。
【００７７】
Ｓ５０４で上位レイヤアプリケーション（３０１）のユーザが指示した値、または、プログラムの既定値の取得を行い、取得判定を行う。高遅延通信判定処理部（３０４）は、Ｓ５０４までの処理で、何れも取得できない場合は、Listen interval間隔としてプログラムの既定値を取得する。プログラムの既定値としては、多くのワイヤレスアクセスポイントやルータで設定されている、ビーコン間隔（DTIM=1）である102.4 ミリ秒を既定値として設定する場合や、他の既定値を利用する事も可能である。
【００７８】
以上の説明により、ネットワークＩ／Ｆ制御装置（２０６）がスリープ状態になりやすい無線クライアント（１０３）においても、サーバコンピュータ（１０１）からのデータダウンロード中にスリープ状態に遷移しにくくなる。
【００７９】
また、短時間でデータ受信を行えるようになるため、サーバコンピュータ（１０１）からのデータの再送を減らせる可能性がある。このため、ダウンロード通信速度が低下する事を防げる可能性がる。
【００８０】
［実施例２］
実施例１におけるダウンロード管理処理部（３０２）は、ネットワークＩ／Ｆ制御装置（２０６）がスリープ状態になりやすい無線クライアント（１０３）において、ダウンロード中にスリープ状態に遷移しにくくなる方法を示した。
【００８１】
本実施例では、実施例１に加え、サーバコンピュータ（１０１）への通信時に、過去の通信履歴からＲＴＴおよびＲＴＯを事前に確定する。そのため、通信初期のＲＴＴやＲＴＯが安定しない状況においても、データダウンロード中にスリープ状態に遷移しにくくなる方法を示す。
【００８２】
図６を用いて、本実施例のソフトウェア構成の説明を行う。往復遅延時間記憶部（６０１）を除き、実施例１と同じ構成であり、共通部分の説明は省く。往復遅延時間記憶部（６０１）はサーバコンピュータ（１０１）毎の往復遅延時間 (RTT： Round-Trip-Time)を記憶する。記憶された往復遅延時間から平均往復遅延時間である平均ＲＴＴおよび、平均ＲＴＯを算出して記憶する。これらの値から、高遅延通信判定処理部（３０４）は、Listen Interval間隔が平均RTOよりも長い場合に高遅延通信と判定する。
【００８３】
次に図７を用いて、ダウンロード管理処理部の動作を説明する。図７は実施例１で説明した処理と重複部分がある。重複部分は実施例１で説明済みのため、ここでは説明しない。Ｓ７０１にて、高遅延通信判定処理部（３０４）は、Ｓ４０１にて、上位レイヤアプリケーション（３０１）から通信開始の要求で指定されたダウンロードＵＲＬなどのパラメータと共に、通信結果のＲＴＴおよびＲＴＯを往復遅延時間記憶部（６０１）に保存する。Ｓ７０２にて、往復遅延時間記憶部からＲＴＯ履歴を取得し平均RＴOを算出Ｓ７０３にて、高遅延通信判定手段（３０４）は、Ｓ４０６において取得したListen interval間隔とＳ７０２にて取得した平均ＲＴＯとを比較する。ここで、Listen Interval間隔が平均RTOよりも長い場合に高遅延通信と判定する。
【００８４】
Ｓ７０３にて、高遅延通信と判定された場合は、Ｓ４０８の処理に遷移する。または、高遅延通信と判定されなかった場合は、Ｓ４１０の処理に遷移する。
【００８５】
以上、説明した本実施例によれば、過去の通信履歴からＲＴＴおよびＲＴＯを事前に確定することで、通信初期のＲＴＴやＲＴＯが安定しない状況においても、データダウンロード中にスリープ状態に遷移しにくくすることができる。
【００８６】
［他の実施形態］
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良い。
【００８７】
また仮想化ＯＳなどで構成される場合も含めて一つの機器からなる装置に適用しても良い。さらに、情報処理装置がインターネットを経由したクラウドコンピューティングで構成されるシステムに適用しても良い。
【００８８】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００８９】
また、プログラムの実行環境は、パーソナルコンピュータやパーソナルコンピュータでのオペレーションシステムを仮想化した仮想ＰＣやリモートＰＣを含む。
さらには、画像形成装置、プリンタやＭＦＰ（マルチファンクションペリフェラル）等の組み込みコンピュータで実行される場合も含まれる。
【００９０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９１】
プログラムを供給するための記録媒体としては、様々なものが使用できる。
例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどである。
【００９２】
その他、プログラムの供給方法としては、無線クライアント（１０３）のブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００９３】
また、本発明のプログラムを暗号化してDVD−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【００９４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９５】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【符号の説明】
【００９６】
303  無線通信判定処理部
304  高遅延通信判定処理部
305  通信確認パケット送信処理部
【図１】
2015154227.tif 000003
【図２】
2015154227.tif 000004
【図３】
2015154227.tif 000005
【図４】
2015154227.tif 000006
【図５】
2015154227.tif 000007
【図６】
2015154227.tif 000008
【図７】
2015154227.tif 000009