(57)【要約】【課題】  多数のクライアントによる先読み処理が同時に行われると、サーバの負荷が増大しすぎる場合がある。【解決手段】  本発明によれば、先読み対象の複数のファイルを特定し、当該特定された先読み対象の複数のファイルを順にサーバからダウンロードしていき、その先読み対象の複数のファイルのうちの１つをサーバからダウンロードした際のダウンロード速度を計算し、当該計算したダウンロード速度が閾値以上か判定する。ダウンロード速度が閾値以上であると判定した場合は、前記先読み対象の複数のファイルのうちの次のファイルのダウンロードを実行する。ダウンロード速度が閾値より小さいと判定した場合は、前記先読み対象の複数のファイルのうち、前記ダウンロード速度にて所定の時間でダウンロード可能なファイルサイズ以下のファイルを次の先読み対象としてダウンロードを実行する。【選択図】  図６
2016110510.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーの操作に応じて、先読み対象の複数のファイルを特定する特定手段と、
前記特定手段で特定された先読み対象の複数のファイルを順にサーバからダウンロードするファイル取得手段と、
前記ファイル取得手段により前記先読み対象の複数のファイルのうちの１つをサーバからダウンロードした際のダウンロード速度を計算し、当該計算したダウンロード速度が閾値以上か判定する判定手段と、
を有し、
前記判定手段で前記ダウンロード速度が前記閾値以上であると判定した場合、前記ファイル取得手段は、前記先読み対象の複数のファイルのうちの次のファイルのダウンロードを実行し、
前記判定手段で前記ダウンロード速度が前記閾値より小さいと判定した場合、前記ファイル取得手段は、前記特定手段で特定された先読み対象の複数のファイルのうち、前記ダウンロード速度にて所定の時間でダウンロード可能なファイルサイズ以下のファイルを次の先読み対象としてダウンロードを実行することを特徴とする情報処理装置。
【請求項２】
前記特定手段は、前記ユーザーの操作によりライブラリ一覧の中から選択されたライブラリに応じて、前記先読み対象の複数のファイルを特定する請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記ユーザーの操作によりファイル一覧の中から選択されたファイルに応じて、前記先読み対象の複数のファイルを特定する請求項１に記載の情報処理装置。
【請求項４】
ユーザーにより特定の操作が為されると、前記ファイル取得手段によるダウンロードを中断し、前記特定手段による先読み対象の複数のファイルの特定を更新することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記判定手段で前記ダウンロード速度が前記閾値より小さいと判定した場合、前記ファイル取得手段は、所定の時間待機した後に、前記特定手段で特定された先読み対象のファイルのうち、前記ダウンロード速度にて所定の時間でダウンロード可能なファイルサイズ以下のファイルを次の先読み対象としてダウンロードを実行することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
コンピュータを、請求項１乃至５のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項７】
情報処理装置の特定手段が、ユーザーの操作に応じて、先読み対象の複数のファイルを特定する特定ステップと、
前記情報処理装置のファイル取得手段が、前記特定ステップで特定された先読み対象の複数のファイルを順にサーバからダウンロードするファイル取得ステップと、
前記情報処理装置の判定手段が、前記ファイル取得ステップで前記先読み対象の複数のファイルのうちの１つをサーバからダウンロードした際のダウンロード速度を計算し、当該計算したダウンロード速度が閾値以上か判定する判定ステップと、
を有し、
前記判定ステップで前記ダウンロード速度が前記閾値以上であると判定した場合、前記ファイル取得ステップでは、前記先読み対象の複数のファイルのうちの次のファイルのダウンロードを実行し、
前記判定ステップで前記ダウンロード速度が前記閾値より小さいと判定した場合、前記ファイル取得ステップでは、前記特定ステップで特定された先読み対象の複数のファイルのうち、前記ダウンロード速度にて所定の時間でダウンロード可能なファイルサイズ以下のファイルを次の先読み対象としてダウンロードを実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルの先読み処理においてサーバへの負荷が大きくなりすぎないように制御するための情報処理方法に関する。
【背景技術】
【０００２】
従来、クライアントのアプリケーションにおいて、サーバに保存されているファイルを表示対象として選択すると、該アプリケーションは、サーバから該ファイルをローカルにダウンロードし、ダウンロードした画像ファイルを表示する。また、プレビュー表示を行う場合も、表示対象のファイルのプレビュー表示が指示された時に、サーバから当該指示されたファイルをダウンロードするといった処理を行うものがあるが、ファイルを選択してからプレビュー表示が完了するまでに時間が掛かる。
【０００３】
特許文献１では、次にユーザーが読むことが予想されるページを先読みすることが記載されている。例えば、予め設定された優先度に基づきページデータの先読みを行うことが記載されている。先読みを行うことで、選択画像が先読み済み（ダウンロード済み）であれば画像選択後すぐにプレビュー表示を行うことが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２０５２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数の拠点の多数のクライアントから、同時に同一サーバに対するアクセスが試された場合、複数のクライアントによる先読み処理が多数同時に行われ、サーバの負荷が増大することが想定される。サーバの負荷が大きくなると、ファイルのダウンロードに時間が掛かるといった問題がある。そして、ファイルのダウンロードに時間が掛かると、さらに、ファイルを選択した際に当該ファイルの先読み自体も完了していない可能性が高くなり、先読みの効果（画像選択後すぐにプレビュー表示を行えるという効果）も得られなくなってしまう。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の情報処理装置は、ユーザーの操作に応じて、先読み対象の複数のファイルを特定する特定手段と、前記特定手段で特定された先読み対象の複数のファイルを順にサーバからダウンロードするファイル取得手段と、前記ファイル取得手段により前記先読み対象の複数のファイルのうちの１つをサーバからダウンロードした際のダウンロード速度を計算し、当該計算したダウンロード速度が閾値以上か判定する判定手段と、を有し、前記判定手段で前記ダウンロード速度が前記閾値以上であると判定した場合、前記ファイル取得手段は、前記先読み対象の複数のファイルのうちの次のファイルのダウンロードを実行し、前記判定手段で前記ダウンロード速度が前記閾値より小さいと判定した場合、前記ファイル取得手段は、前記特定手段で特定された先読み対象の複数のファイルのうち、前記ダウンロード速度にて所定の時間でダウンロード可能なファイルサイズ以下のファイルを次の先読み対象としてダウンロードを実行することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、サーバに所定以上の負荷が掛かっていると判断した場合に、先読みするファイルのデータサイズを制限することで、各クライアントがサーバにアクセスする時間が減るのでサーバの負荷を減らすことが出来る。また、先読み処理を全て中止するのではなく、データサイズの小さいファイルを先読みしておくことで先読みされているファイル数が増えるので、ユーザーが選択したファイルが先読みされている確率を上げることが出来る。
【図面の簡単な説明】
【０００８】
【図１】システムの構成を示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】ファイルサーバのハードウェア構成を示す図である。
【図４】文書閲覧アプリケーションのソフトウェア構成を示す図である。
【図５】文書閲覧アプリケーションのＵＩ表示の一例を示す図である。
【図６】第一の実施形態における、ファイルの先読みのフロー図である。
【図７】第一の実施形態における、ファイルの先読み中のサーバ負荷軽減処理のフロー図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態を詳しく説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１０】
＜第１の実施形態＞
まず、発明の第１の実施形態について説明する。図１は、本実施形態におけるデータ処理システムの構成例を示す図であり、情報処理装置１００と、ファイルサーバ１０１、１０２とがネットワークを介して通信可能に接続されている。
【００１１】
図１において、情報処理装置１００は、ファイルサーバ１０１及び１０２に保存されているライブラリを管理するために、ユーザーの使用するＰＣである。ファイルサーバ１０１及び１０２には、画像ファイルや文書ファイルなどのデータがライブラリ内に格納されている。１０３は上記装置が接続されているＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークであって、ＬＡＮ１０３を介して各装置は情報の相互通信を行っている。
【００１２】
図２は、情報処理装置１００のハードウェア構成例を示す図である。図２において、入力デバイス２０５は、ユーザーの操作入力を受け付けるキーボードやポインティングデバイスなどである。表示部２０２は、各種アプリケーションの画面などを表示するディスプレイであり、ユーザーに視覚的な出力情報フィードバックを与える。Ｉ／Ｏ２０７は、外部機器との通信を行うインターフェースデバイスであり、有線または無線のネットワークを介して外部機器（ファイルサーバ１０１や１０２）と接続する。
【００１３】
また、本発明の各処理を実行する処理部としてコンピュータを機能させるための各種プログラムや、実行に必要な情報を記憶する記憶デバイスとして、ＲＡＭ２０３、ＲＯＭ２０４、外部メモリ２０６（ハードディスクやフレキシブルディスクドライブなど）を有する。ＣＰＵ２０１は、これらのプログラムや情報をＲＡＭ２０３に読み出して実行することにより、後述する各処理を実現する処理部として機能する。なお、情報処理装置１００には、所定のオペレーティングシステム（ＯＳ）がインストールされ、かつ、不図示である特定の機能処理を実行する各種のアプリケーションプログラムもインストールされている。ここで、特定の機能処理とは、文書処理、表計算処理、プレゼンテーション処理、画像処理、図形処理等が含まれ、各アプリケーションはそれぞれ独自のデータ構造（ファイル構造）を備える。また、ＯＳは、各ファイルの識別子を参照して対応するアプリケーションに印刷指示を行える構成となっている。また、本実施形態の情報処理装置１００には、ファイルサーバに保管されているライブラリを管理するための文書閲覧アプリケーション４００がインストールされている。文書閲覧アプリケーション４００はライブラリ管理機能、ライブラリ内のファイルを一覧表示する機能、プレビュー表示機能、サムネイル表示機能、表示倍率変更機能、選択ファイルが文書ファイルであった場合に表示ページを変更する機能等を備えているものとする。
【００１４】
図３は、ファイルサーバ１０１（１０２）のハードウェア構成図である。ＣＰＵ３０１は、ＲＯＭ３０３に記憶された制御プログラムを読み出して実行することにより、サーバの各種制御処理を実現するための処理部として機能する。ＲＡＭ３０２は、ＣＰＵ３０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。外部メモリ３０４は、画像ファイルや文書ファイル、各種プログラムを記憶する。ファイルサーバ１０１（１０２）は、インターフェースデバイスＩ／Ｏ３０５を介して接続されたＬＡＮ１０３上の他の装置との間で各種情報を送受信する。
【００１５】
図４は、情報処理装置１００で実行される文書閲覧アプリケーション４００の機能構成の一例を示す図である。文書閲覧アプリケーション４００は、外部メモリ２０６に記憶されており、ＣＰＵ２０１にて実行する際にＲＡＭ２０３及びＲＯＭ２０４に読みだされるアプリケーションである。ＣＰＵ２０１は文書閲覧アプリケーション４００を実行することにより、選択ファイルのプレビュー表示機能とサムネイル表示機能を実現し、出力管理部４０１、出力画像作成部４０２、ファイル取得部４０３、入力管理部４０４、画面表示管理部４０５、ライブラリ管理部４０６として機能する。出力管理部４０１は、入力デバイス２０５の操作に応じて、ファイルサーバ１０１（１０２）に対して出力処理を行う。例えば、ファイルを移動する際に、ファイルサーバ１０１（１０２）に対して対象ファイルを転送するといったものが出力処理である。
【００１６】
出力画像作成部４０２は、プレビュー表示やサムネイル表示の際に表示する画像イメージを作成する。ファイル取得部４０３は、ファイルサーバ１０１（１０２）からファイルを取得してローカルストレージ（情報処理装置の記憶媒体）に保存する。入力管理部４０４は、画面表示管理部４０５により表示部２０２に表示された文書閲覧アプリケーション４００のＵＩを介して、ユーザーによる入力デバイス２０５の操作を検知し、ユーザーによって為された操作に関する情報を取得する。画面表示管理部４０５は、文書閲覧アプリケーション４００のＵＩ（例えば、図５のようなＵＩ）を表示部２０２に表示させるための画面表示制御を行う。ライブラリ管理部４０６は、文書閲覧アプリケーションが登録しているライブラリの管理を行う。登録しているライブラリの情報は外部メモリ２０６に格納されている。
【００１７】
図５は、文書閲覧アプリケーション４００の表示画面を模式的に示した図である。５００は、ＯＳ上に表示される文書閲覧アプリケーションのウィンドウ画面を表している。
【００１８】
ライブラリ一覧５０１には、文書閲覧アプリケーション４００に登録されているライブラリの一覧が表示される。さらに、ライブラリ内のフォルダも表示されて、各ライブラリのフォルダ階層に従い階層構造で表示される。ライブラリの登録は例えばライブラリ一覧５０１の領域内でマウス操作の右クリックでコンテキストメニューを表示し、ライブラリ登録の項目を選択することでライブラリ登録のダイアログが表示され、登録対象のライブラリを指定するなどの方法を用いることで登録可能である。ライブラリを登録する際は、フォルダパス、登録ライブラリ名などを入力する。また、認証が必要となる場合はアカウントＩＤやパスワードなどの認証情報を登録することで接続可能となる。これらの登録情報はライブラリ管理部４０６で管理されている。
【００１９】
ファイル一覧５０２には、ライブラリ一覧５０１でユーザーの指示により選択中のライブラリ（またはフォルダ）内に格納されているファイルの一覧が表示される。
【００２０】
プレビュー画面５０３には、ファイル一覧５０２でユーザーの指示により選択中のファイルの指定ページ５０９のプレビュー画像を表示する。プレビュー画面５０３の表示は下記のコントロール５０４〜５０９で操作可能である。
【００２１】
コントロール５０４は、プレビュー表示を指示するためのものであり、プレビュー画面５０３上でサムネイル表示が行われていた場合にプレビュー表示に切り替えることが可能である。なお、サムネイル表示とはプレビュー画面５０３の代わりに対象ファイルのサムネイル画像を表示することである。文書ファイルなどの複数ページで構成されるファイルは、プレビュー画面５０３の位置に複数ページのサムネイル画像を並べて表示することが可能である。
【００２２】
コントロール５０５は、サムネイル表示を指示するためのものであり、プレビュー表示が行われていた場合にサムネイル表示に切り替えることが可能である。
【００２３】
コントロール５０６は、表示倍率を変更するためのものである。なお、倍率変更時の倍率の指定方法は、該コントロールが指示されるのに応じて表示される調節バー、倍率を、キーボード等の入力手段を用いて入力する方法や、いくつかの固定倍率の中から選択する方法などを用いればよい。また、プレビュー表示とサムネイル表示でそれぞれ倍率を保存している。そのためプレビュー表示５０４とサムネイル表示５０５への切り替え時には切り替えに応じて倍率５０６も切り替えられる。
【００２４】
コントロール５０７は、プレビュー画面５０３に表示されているページを１ページ前のページに戻すためのものである。なお、表示中のページが最初のページであった場合には非活性となり選択できなくなる。
【００２５】
コントロール５０８は、プレビュー画面５０３に表示されているページを１ページ次のページに進めるためのものである。なお、表示中のページが最後のページであった場合には非活性となり選択できなくなる。
【００２６】
コントロール５０９は、プレビュー画面５０３に表示するページをユーザーにより入力された指定ページに変更するための入力ボックスである。コントロール５０９にキーボード等の入力手段を用い数字を入力すると、そのページのプレビューが表示される。
【００２７】
次に、プレビュー表示の動作の詳細について、図５を用いて説明する。ファイル一覧５０２でファイルが選択された時にプレビュー画面５０３へのプレビュー表示処理を開始する。ファイル一覧５０２で選択されたファイルが、ネットワークを介して接続されたサーバのライブラリに格納されている場合、まず、ファイル取得部４０３が外部メモリ２０６の所定の位置に当該選択されたファイルをダウンロードする。なお、既にファイルがダウンロードされて外部メモリ２０６の所定の位置に格納済みの場合は、当該格納済みのファイルを使用する。ダウンロードされたファイルには、前記ファイルのファイル名と、オリジナルファイルのフォルダパスとファイル名とを紐付ける情報がｘｍｌファイルに保存される。このｘｍｌファイルは、前記オリジナルファイルが移動、削除、リネームされた場合に更新される。ダウンロード完了後、倍率５０６にしたがって出力画像作成部４０２が表示可能な画像イメージへの変換を行う。
【００２８】
そして、ダウンロードを行うたびに、ダウンロードしたファイルのサイズとダウンロード開始からダウンロード終了までにかかった時間とに基づいて当該ファイルのダウンロード速度を計算し、ＲＡＭ２０３に記憶する。前記ファイルが文書ファイル（ｐｄｆファイルなど）であった場合は指定ページ５０９を表示可能な画像イメージへ変換を行う。前記変換処理完了後、プレビュー画面５０３に前記画像イメージを表示する。ファイル一覧から選択されたファイルのプレビュー表示の動作は、次のファイルのプレビュー表示のための先読み動作、および先読み動作におけるサーバ負荷軽減処理よりも優先して行われる。したがって、選択されたファイルのプレビュー表示が指示された場合、これらの先読み動作に関わる処理は、中断や破棄され、プレビュー表示完了後に再開される。
【００２９】
次に、プレビュー表示における先読み動作（次にプレビュー指示される可能性が高いファイルを先にダウンロードしておくことによりプレビュー表示を速くするための動作）について図５を用いて説明する。先読み動作は、ライブラリ一覧５０１でネットワークを介するライブラリが選択状態になると開始される。先読みを行う対象ファイルはユーザー操作ごとに予め定義された優先度に従い行う。たとえば、ライブラリ一覧５０１でライブラリが選択された場合と、ファイル一覧５０２でファイルが選択された場合とで、適用される優先度が異なる。優先度は定義されたイベントが発生した際に変更され、イベント（ユーザー操作）が発生するたびに優先度に従い先読み対象ファイルのリストを作成する。前記先読み対象ファイルのリストが更新された場合、更新前の先読み処理は中断し、破棄される。前記先読み対象ファイルリストには対象ファイルのフォルダパス、ファイル名が含まれている。
【００３０】
以下にイベント発生からイベントに応じた優先度で前記先読み対象ファイルリストを作成するまでの例を示す。ライブラリ一覧５０１でネットワーク接続されたサーバのライブラリが選択された場合は、ファイル一覧の先頭の文書から現在のソート順にファイル一覧５０２に表示可能なファイル数（または表示可能なファイル数の２倍の数）のファイルを、前記先読み対象ファイルリストに追加する。ここで２倍としているのは、現在ファイル一覧５０２に表示されているファイルと、下に１画面分スクロールした際にファイル一覧５０２に表示されるファイルが選択される可能性が高いと考えられるからである。
【００３１】
また、ファイル一覧５０２でファイルが選択された場合は、現在のソート順における選択ファイルの前後から順にファイル一覧５０２に表示可能なファイル数（または表示可能なファイル数の３倍の数）のファイルを前記先読み対象ファイルリストに追加する。ここで３倍としているのは現在ファイル一覧５０２に表示されているファイルと、下に１画面分スクロールした際にファイル一覧５０２に表示されるファイルと、上に１画面分スクロールした際にファイル一覧５０２に表示されるファイルが選択される可能性が高いと考えられるからである。
【００３２】
このようにイベント（ユーザー操作）ごとに次に表示される可能性が高いと考えられる順に優先度を設定し先読み対象ファイルを決定する。先読み対象ファイルリストの順に従い外部メモリ２０６の所定の位置にファイルをダウンロードしていく。このとき既にファイルが外部メモリ２０６の所定の位置に格納されている場合は、タイムスタンプやサイズの比較で同一と判断できれば既にダウンロードされているファイルを使用する。また、１ファイルダウンロードが完了するたびに、当該ダウンロードしたファイルのファイルサイズと、ダウンロード開始からダウンロード終了までにかかった時間とに基づいて、ダウンロード速度を計算して、当該計算したダウンロード速度をＲＡＭ２０３に記憶する。また、１ファイルダウンロードが完了するたびに別プロセスで出力画像作成部４０２が１ページ目を倍率５０６に従い表示可能な画像イメージへ変換する。先読み動作としての画像イメージへの変換は通常は１ページ目のみを行い、ファイル一覧５０２でファイルが選択された時点で、選択ファイルの２ページ目以降の画像イメージへの変換を行う。またサムネイル表示への切り替え５０５のコマンドが実行されることも考えられるため、２ページ目以降の変換完了後に、サムネイル表示時の倍率に従い１画面に表示されることが可能なページ数分、サムネイルサイズの画像イメージへの変換も行う。画像イメージへの変換は前記先読み対象ファイルのリストが更新された場合、画像イメージへの変換は中断される。
【００３３】
次に、先読み動作におけるサーバ負荷軽減処理について、図６および図７を用いて説明する。ステップＳ６０１では、入力管理部４０４がライブラリ一覧５０１でネットワークを介して接続されたサーバのライブラリが選択されたというイベントや、ファイル一覧５０２でファイルが選択されたというイベントなどを感知すると、当該イベントに応じた優先度で先読み対象ファイルのリストを作成する。前記先読み対象ファイルは、先読みの優先度順にリストに格納される。すなわち、先読み対象の複数のファイルを特定してリスト化する。
【００３４】
ステップＳ６０２において、ファイル取得部４０３は、前記ファイルリストに格納されているファイルを調べ、ファイルリストに先読み対象ファイルが格納されている場合はステップＳ６０３に進み、先読み対象ファイルが格納されていない場合は先読み処理を終了する。
【００３５】
ステップＳ６０３において、先読み対象ファイルが既に外部メモリ２０６の所定の位置に格納されている場合は当該ダウンロード済みのファイルを使用するため、ステップＳ６０８に進む。先読み対象ファイルが外部メモリ２０６の所定の位置に格納されていない場合は、ステップＳ６０４に進む。
【００３６】
ステップＳ６０４において、ファイル取得部４０３は、前記ファイルリストの先頭のファイルをファイルサーバ１０１（または１０２）からダウンロードして取得する。このとき、ファイル取得部４０３はファイルサイズと、ファイル取得に掛かった時間とを測定して、ＲＡＭ２０３に記憶する。
【００３７】
ステップＳ６０５において、ファイル取得部４０３は、前記ファイルリストから当該取得したファイルのファイル名を削除する。
【００３８】
ステップＳ６０６において、ファイル取得部４０３は、ステップＳ６０４でＲＡＭ２０３に記憶したファイルサイズと時間から単位時間あたりに取得できたファイルサイズ（すなわち、ダウンロード速度）を算出し、ＲＡＭ２０３に記憶する。
【００３９】
ステップＳ６０７において、ファイル取得部４０３は、ステップＳ６０６でＲＡＭ２０３に記憶したダウンロード速度が閾値以上かを判定することにより、サーバのネットワーク負荷状態を判断する。ダウンロード速度が閾値以上の場合はサーバに負荷が掛かっていないと判断しステップＳ６０２に進み、ダウンロード速度が閾値未満の場合はサーバに負荷が掛かっていると判断しステップＳ７０１に進む。
【００４０】
なお、ここでの閾値とは、予め設定された設定ダウンロード速度をそのまま閾値として利用する方法、もしくは設定ダウンロード速度から期待されるダウンロード速度を算出した値を閾値として利用する方法を用いて決められているものとする。期待されるダウンロード速度を算出する場合の算出方法は、設定ダウンロード速度の８０％など許容できる割合から算出する方法や、情報処理装置１００のメモリ使用率などの処理速度に影響する値を加味して算出する方法などが考えられる。例えば、メモリ使用率を加味する場合、ステップＳ６０４でダウンロード時のメモリ使用率を取得して、Ｓ６０７で該メモリ使用率を加味して閾値を算出した後にダウンロード速度と比較する。メモリ使用率が高ければ閾値を下げ、メモリ使用率が低ければ閾値を上げるようにして算出する。設定ダウンロード速度の取得方法は、アプリケーション４００が設定ダウンロード速度の設定ＵＩを持ち、当該設定ＵＩで設定された値を読み込む方法や、外部メモリ２０６に保存されている設定ファイル（ｘｍｌファイルなど）を読み込む方法などがある。
【００４１】
ステップＳ６０８では、先読み対象ファイルが既に外部メモリ２０６の所定の位置に格納されているため、ファイル取得部４０３が取得完了したと判断し先読み対象ファイルリストから対象ファイルを削除し、ステップＳ６０２に進む。
【００４２】
ステップＳ６０９は、入力管理部４０４がライブラリ一覧５０１でネットワーク接続されたサーバのライブラリが選択されたというイベントや、ファイル一覧５０２でファイルが選択されたというイベントなどを感知するたびに開始される。なお、ステップＳ６０９は、図６のステップＳ６０１〜Ｓ６０７および図７のＳ７０１〜７０８の処理中であっても、当該イベントが検知されると、実行中の処理を中断・破棄して、ステップＳ６０１へと移行して先読み対象のファイルのリストを更新する。
【００４３】
ステップＳ７０１において、ファイル取得部４０３は、ファイルリストに先読み対象ファイルが格納されているか判定し、ファイルリストに先読み対象ファイルが格納されている場合はステップＳ７０２に進み、先読み対象ファイルが格納されていない場合は先読み処理を終了する。
【００４４】
ステップＳ７０２において、先読み対象ファイルが外部メモリ２０６の所定の位置に格納されているかどうか判定する。ダウンロード済みの先読み対象ファイルがあると判定した場合は、当該既にダウンロードされているファイルを使用するため、ステップＳ７０８に進む。外部メモリ２０６の所定の位置に格納されていない場合（すなわちダウンロード済みでない場合）は、ステップＳ７０３に進む。
【００４５】
ステップＳ７０３において、ファイル取得部４０３は、ファイルサーバから最後にダウンロードを行った時のダウンロード速度からｎ秒（所定の時間：例えば５秒）でダウンロード可能なファイルサイズを算出する。すなわち、ダウンロード可能なファイルサイズは、ダウンロード速度とｎ秒の積に基づいて算出される。なお、ｎ秒は、ファイルサーバの処理能力、先読み対象ファイル数の最大値（表示画面と前後１画面分に表示されるファイル数：例えば６０ファイル）、アクセスしてくる情報処理装置の台数、などに基づいて予め実験的に求めておけばよい。例えば、先読み対象ファイル数の最大値とｎの積が情報処理装置１台の１回のアクセス時間となるので、その値と、単位時間あたりに新たにアクセスしてくると想定される情報処理装置の台数とを考慮して、同じ時間帯にアクセス中の情報処理装置の台数が、ファイルサーバの処理能力以下に収まるように、ｎ秒が設定される。したがって、情報処理装置のアクセスタイミングが集中することが予想される場合は、ｎ秒を短めに設定しておけばよいし、情報処理装置のアクセスタイミングがあまり集中しないと予想される場合は、ｎ秒を長めに設定しておけばよい。なお、ｎ秒の設定は上述した手法に限るものではなく、その他の方法を用いて定めても良い。
【００４６】
そして、上述したようにファイルサイズを算出した後、前記先読み対象ファイルリストの先頭から順にダウンロード可能サイズ以下のファイルを検索する。検索にヒットした場合（すなわち、ｎ秒でダウンロード可能なファイルサイズ以下のファイルがあった場合）は、ステップＳ７０４に進み、ヒットしなかった場合は終了する。ここで終了した場合は、例えば入力管理部４０４がライブラリ一覧５０１でネットワーク接続されたサーバのライブラリが選択されたというイベントや、ファイル一覧５０２でファイルが選択されたというイベントなどを検知した場合や、一定時間後に再開される。
【００４７】
ステップＳ７０４において、ファイル取得部４０３は、前記ファイルリストの検索にヒットしたファイル（ｎ秒でダウンロード可能なファイルサイズ以下のファイル）を順にファイルサーバから取得する。このとき、ファイル取得部４０３は当該取得したファイルのファイルサイズと、ファイル取得に掛かった時間を測定してＲＡＭ２０３に記憶する。取得が完了するとステップＳ７０５で前記ファイルリストから取得完了したファイルを削除する。
【００４８】
ステップＳ７０６において、ファイル取得部４０３がステップＳ７０４でＲＡＭ２０３に記憶したファイルサイズと時間とに基づいて、単位時間あたりに取得されたファイルサイズ（ダウンロード速度）を算出し、ＲＡＭ２０３に記憶する。
【００４９】
ステップＳ７０７において、ファイル取得部４０３がステップＳ７０６でＲＡＭ２０３に記憶したダウンロード速度が閾値以上かを判定することにより、サーバのネットワーク負荷状態を判断する。ダウンロード速度が閾値以上の場合はサーバに負荷が掛かっていないと判断してステップＳ６０２に進み、ダウンロード速度が閾値未満の場合はサーバに負荷が掛かっていると判断しステップＳ７０１に進む。
【００５０】
ステップＳ７０８では、先読み対象ファイルが既に外部メモリ２０６の所定の位置に格納されているためファイル取得部４０３が取得完了したと判断して、ファイルリストから先読み対象ファイルを削除し、ステップＳ７０１に進む。
【００５１】
上述したような処理により、サーバに負荷がかかっていると判断した場合は、サイズの大きなファイルのダウンロードを避け、サーバへの負荷を軽減しながらも先読みを続けることで、ユーザーの利便性を向上する。すなわち、サーバに所定以上の負荷が掛かっていると判断した場合に、先読みするファイルのデータサイズを制限することで、各クライアントがサーバにアクセスする時間が減るのでサーバの負荷を減らすことが出来る。また、先読み処理を全て中止するのではなく、データサイズの小さいファイルを先読みしておくことで先読みされているファイル数が増えるので、ユーザーが選択したファイルが先読みされている確率を上げることが出来る。
【００５２】
＜第２の実施形態＞
第１の実施形態では、ステップＳ６０７（ステップＳ７０７）でダウンロード速度が閾値未満だった場合、ステップＳ７０３において、ｎ秒以内でダウンロード可能なファイルを検索している。そして、ステップＳ７０３で検索ヒットした場合に、ファイル取得部４０３がファイルサーバから当該検索されたファイルをダウンロードしている。これにより、ファイルサーバにアクセスする時間を減らして負荷軽減を図っている。しかし、ｎ秒以内でダウンロード可能なファイルすべてがダウンロード終了するまでの間は負荷軽減の効果が小さくなる。
【００５３】
第２の実施形態ではステップＳ６０７、ステップＳ７０７でダウンロード速度が閾値未満だった場合にステップＳ６０４、ステップＳ７０４でダウンロードを開始する前に、予め決められた時間待機する（例えば数秒間待機する）。
【００５４】
これにより、複数の情報処理装置１００がステップＳ６０４、ステップＳ７０４でダウンロードするタイミングをずらすことが出来るため、ファイルサーバに掛かる負荷を分散させることが可能となる。
【００５５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2016110510.tif 000003
【図２】
2016110510.tif 000004
【図３】
2016110510.tif 000005
【図４】
2016110510.tif 000006
【図５】
2016110510.tif 000007
【図６】
2016110510.tif 000008
【図７】
2016110510.tif 000009