以下に本発明の実施形態について図面を用いて詳細に説明する。図1は第1実施例におけるサーバ装置2の構成例を示す図である。図1に示すサーバ装置2はデータ転送システム1を主として構成する装置であり、種々の状況に応じてデータ転送に伴う処理時間を制御して、所定のサービスレベルを達成し、ユーザの利便性向上を図るためのコンピュータ装置である。なお、本明細書においては同一番号が割り当てられた構成要素は同一の構成要素を表す。また、バリエーションがある構成要素に関しては、−a、−bのように、”−”とアルファベット一文字で同種だが異なる役割を果たす構成要素であることを表す。
図1で例示するサーバ装置2は、後述するクライアント装置3が活用する提供対象データ40を1つ以上記録し、当該サーバ装置2とクライアント装置3、ネットワーク4、ユーザ5あるいはその周囲環境の状況に応じて、提供対象データ40に処理を施し、処理済みデータ40’に変換してから、クライアント装置3に転送する装置である。
こうしたサーバ装置2は、演算装置たるプロセッサ装置10と、メモリ装置12と、通信装置たる通信インタフェース14と、記憶装置たるストレージ装置16およびデータベース18と、これらの構成要素を接続する通信バス20と、から構成される装置である。
このうちプロセッサ装置10は、メモリ装置12に格納されているプログラム100〜106を実行、あるいはメモリ装置12に対するデータを読み書きする装置である。このプロセッサ装置10は一体のサーバ装置2において複数台搭載されていても構わない。
また、上述のメモリ装置12は、サーバ装置2が使用する処理手段(プログラムを実行することで実装される機能部と言える)を格納し、必要な情報を記憶する装置である。一般的なメモリ装置12はDynamic RAMなどの揮発メモリによって構成され、高速な読み書きが可能な記憶装置を指すが、必要に応じてHDD(Hard Disk Drive)やSSD(Solid State Disk)などの大容量記憶装置を採用してもよい。または、CD−Recordableなどのライトワンスメディアを採用しても構わない。
またメモリ装置12は、必ずしも単一の装置から構成されているわけではなく、複数台、複数種のメモリ装置12をRedundant Arrays of Inexpensive Disks(RAID)のような並列構成、あるいはJust a Bunch Of Disks(JBOD)のような直列構成に接続して実現しても構わない。
こうしたメモリ装置12には、データ処理プログラム100、処理パラメタ決定プログラム102、ネットワーク監視プログラム104、および装置負荷監視プログラム106が少なくとも格納されている。
これらのプログラム100〜106はメモリ装置12に常に格納されている必要はない。プロセッサ装置10が実行する際に、ネットワーク4を介して接続された別の装置からロードしてくるとしても構わない。或いは、コンパイルモジュールを有する様態であれば、実行する際にプロセッサ装置10が解釈できるネイティブコードにソースファイルから変換して、メモリ装置12に配置しても構わない。メモリ装置12に格納されている各プログラム100〜106に関しては、構成要素の説明後別途説明する。
また、ストレージ装置16は、後述するクライアント装置3が活用する提供対象データ40を1つ以上のデータアクセスパスと対にして記録し、データアクセスパスの入力により、特定の提供対象データ40を出力する装置の総称である。一般的にストレージ装置16と言えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの大規模不揮発記録メディアを指すが、必要に応じ、半永続保存が可能であれば高速なDynamic RAMなどの不揮発メモリでもよいし、ユーザないしデータ転送システム1が要求する応答時間内に提供対象データ40の出力を実現できるならば、Bru−lay Discなどの更新可能な光記録メディアを用いても構わないし、CD−Rなどのライトワンスメディアを用いても構わない。
さらには、メモリ装置12の容量に余裕があれば、メモリ装置12内にストレージ領域を配置してもよい。あるいは通信インタフェース14を用いて接続された外部のストレージ装置16を利用してもよい。また、メモリ装置12と同様にストレージ装置16も必ずしも単一の装置から構成されている必要はなく、複数台のストレージ装置16を並列あるいは直列化して実現しても構わない。
またデータベース18は、複数の提供対象データ40を1つの集合(レコード)とし、複数のレコードをテーブルとして管理し、レコード、あるいは提供対象データ40の検索性を高める手段を備えた装置である。一般には、レコードを構成する提供対象データ40に一定の制約をかけたり、テーブル同士に関係性を持たせ、管理しやすくしている。本明細書においても、データベース18に格納された提供対象データ40群は、制約を有するレコードにまとめられ、テーブル単位に格納あるいは参照されるように記載するが、実際の実装においては、提供対象データ40それぞれにメタ情報を付与するなどして、所定の条件を満たす提供対象データ40のみを出力するようにするなどの実装手段によって、目的とする提供対象データ40を獲得できるような仕組みであっても構わない。
また、データベース18自体が一つの装置として独立している必要はなく、プロセッサ装置10とメモリ装置12あるいはストレージ装置16を用いて、実装されていてもよいし、複数のデータベース18から構成されていても構わない。なお、上述のデータベース18には、データ圧縮履歴テーブル300が格納されている。このデータ圧縮履歴テーブル300のデータ構造に関しては後述する。
また、通信インタフェース14は、ネットワーク4(後述)を介して接続された他装置すなわちクライアント装置3に対して命令及びデータを送信、或いはクライアント装置3からの命令及びデータを受信するための装置である。このネットワーク4は、物理的なケーブルで実現してもよいし、無線技術を用いて実現してもよい。また、LAN(Local Area Network)やWAN(Wide Area Network)などを利用して実現してもよい。
通信インタフェース14は必ずしもサーバ装置2に1台である必要はなく、ネットワーク4の種類が多岐に渡る場合、サーバ装置2はそれらに対応した通信インタフェース14を複数搭載しても構わない。また、専用のネットワーク4の確保などを目的として、同一ネットワーク4に複数の通信インタフェース14を接続しても構わない。
以降、サーバ装置2とクライアント装置3におけるデータ送受信に関し、特に断りが無い場合は、暗黙的に通信インタフェース14とネットワーク4を介して送受信を実現することとする。
また、通信バス20は、サーバ装置2内の構成要素間でのデータ授受を実現するための装置であり、CPUバスやアドレスバスなどの内部バスとSerial ATAやPCI Expressなどの拡張バスを接続して構成される装置である。上記は一般的に有線の通信バス20であるが、配線の簡素化などを目的として無線の通信バスで構成しても構わない。以降、プロセッサ装置10、メモリ装置12、通信インタフェース14、ストレージ装置16及びデータベース18間の通信において特に断りが無い場合は、暗黙的に通信バス20を介して送受信を実現する。
続いてメモリ装置12に格納されたプログラムについて説明する。サーバ装置2のプロセッサ装置10は、メモリ装置12のプログラムを実行することで、各プログラムに対応した機能を実装し、本実施形態のデータ転送方法に必要な機能を実現する。こうしたプログラムのうち、データ処理プログラム100は、処理パラメタ決定プログラム102によって提供対象データ40に関し決定された圧縮パラメタと、ユーザ5が要求した提供対象データ40アクセスパスに従ってストレージ装置16から読み出した提供対象データ40と、を入力として、元の提供対象データ40を圧縮処理した処理済データ40’を生成するプログラムである。
この処理済みデータ40’は何らかの復号アルゴリズムによって、元の提供対象データ40を生成するのに十分な情報を含む可逆性を有していてもよいし、元の提供対象データ40のサブセットなどの不可逆なデータであっても構わない。
本発明の最も一般的な使用用途を踏まえると、上述のデータ処理プログラム100は、元の提供対象データ40を復元可能あるいは元の提供対象データ40と近しい振る舞いをするデータを処理済みデータ40’として出力することが望ましい。こうした場合のデータ処理プログラム100の具体例としては、スライド窓幅をパラメタとしたLZ77のような可逆圧縮プログラムや、連続するN個のデータ点から1つのデータ点を出力することで、データ点数を1/N化する不可逆のデータ削減プログラムを想定できる。また、このデータ処理プログラム100は単一である必要はなく、データタイプごとに異なるデータ処理プログラム100を複数用意してもよい。
また、処理パラメタ決定プログラム102は、他のプログラムが監視、測定等した情報に基づき、データ処理プログラム100が提供対象データ40に対し使用する圧縮パラメタを決定するプログラムである。具体的な圧縮パラメタの決定方法である圧縮パラメタ決定処理P2については後述する。
また、ネットワーク監視プログラム104は、ネットワーク4を監視し、その統計情報を処理パラメタ決定プログラム102に出力するプログラムである。このネットワーク監視プログラム104が監視する項目としては、例えばクライアント装置3に所定データ(例:テスト用の所定サイズのもの)の送信を開始し、該当データがクライアント装置3に到達するまでの時間(例:上述の所定データの送信時刻から、クライアント装置3から返ってきた受信報告が示す該当データ受信時刻までの間の時間)である遅延時間(Round Trip Time;RTT)やパケットの廃棄率などが挙げられる。ネットワーク監視プログラム104が、ネットワーク4を構成する基幹ルータ装置を監視できる様態においては、単位時間あたりの総データ流量や、利用可能な残り帯域などを監視するとしてもよい。
また、装置負荷監視プログラム106は、当該サーバ装置2において動作するプロセッサ装置10やストレージ装置16、通信インタフェース14の各負荷を監視し、処理パラメタ決定プログラム102に出力するプログラムである。この装置負荷監視プログラム106が監視する負荷としては、例えばプロセッサ装置10の使用率やメモリ装置12の使用率やアクセス頻度、I/Oリクエストに対するデータベース16及びストレージ装置18の応答時間などが挙げられる。
続いて、サーバ装置2のデータベース16に格納されている、データ圧縮履歴テーブル300の具体的な構成について、図2を用いて説明する。このデータ圧縮履歴テーブル300は、平均データ処理時間304、平均データ圧縮率306、および平均データ描画時間308の各値を、提供対象データ40のタイプ302毎に対応付けたレコードの集合体となっている。
このうち平均データ処理時間304は、データ処理プログラム100が、処理パラメタ決定プログラム102によって決定された圧縮パラメタpを用いて、提供対象データ40を圧縮した際に要した時間の平均値である。図2に例示する平均データ処理時間は、提供対象データ40のデータサイズに、55×圧縮パラメタpの値を乗算し、当該乗算値に10を加算して平均データ処理時間C(ms)を算定する式としている(当然ながら、各定数はあくまで一例である)。よってこの数式を該当データタイプの提供対象データ40に対し用いると、圧縮パラメタpが定まっていれば、提供対象データ40のデータサイズに応じたデータ処理時間を推定可能である。
また、平均データ圧縮率306は、データ処理プログラム100が、上述の圧縮パラメタpを用いて提供対象データ40を処理した際の、元の提供対象データ40と処理済みデータ40’との容量比の平均値である。図2に例示する平均データ圧縮率は、60±20×圧縮パラメタpの算定処理でデータ圧縮率を算定する式としている(当然ながら、各定数はあくまで一例である)。よってこの数式を該当データタイプの提供対象データ40に対し用いると、圧縮パラメタpが定まっていればデータ圧縮率を推定可能である。
また、平均データ描画時間は、上述の処理済みデータ40’を所定仕様のクライアント装置3において描画表示する際に要した時間の平均値である。この例では、クライアント装置3ごとにこのデータ圧縮履歴テーブル300が用意されている状況を想定する。よって、平均データ描画時間の値は、サーバ装置2が、あるクライアント装置3に関して該当クライアント装置3から所定サイズの処理済みデータ40’の描画時間の値を取得し、その平均を算定したものとなる。図2に例示する平均データ描画時間は、提供対象データ40のデータサイズに、100を乗算し、当該乗算値に10を加算して平均データ描画時間D(ms)を算定する式としている(当然ながら、各定数はあくまで一例である)。よってこの数式を該当データタイプの提供対象データ40に対し用いると、提供対象データ40のデータサイズに応じたデータ描画時間を推定可能である。
なお本様態の圧縮履歴テーブル300においては、データ処理時間及びデータ圧縮率の値としてその平均値を用いているが、サービスレベルの維持をより重要視する様態においては、最悪値を用いてもよい。或いは、データ処理時間及びデータ圧縮率の平均に加えて分散ないし過去数回の履歴などを追加して管理してもよい。
また、データ処理時間及びデータ圧縮率の平均を算出する範囲に際しても、システム稼働後全ての提供対象データ40の圧縮結果を用いてもよいし、過去数件のみの圧縮結果を用いるようにしてもよい。本様態においては、後者の、決められた過去数件の提供対象データ40の圧縮結果平均として扱うこととするが、前者のように全範囲における圧縮結果平均を用いる様態においては、サーバ装置2は、提供対象データ40の各圧縮処理に伴ってデータ処理時間及びデータ圧縮率を算定するごとに、この算定値を一旦、メモリ装置12やデータベース16などに格納すると共に、格納毎に格納数をカウントアップし、データ処理時間の合計値及びデータ圧縮率の合計値をそれぞれ格納数で除算することになる。
続いて、第1実施例におけるクライアント装置3の構成例について説明する。図3は、第1実施例におけるクライアント装置3の構成例を示す図である。クライアント装置3は、ユーザ5の要求する提供対象データ40(を圧縮処理した処理済みデータ40’)をサーバ装置2から取得し、これをユーザ5が望む形式で出力する。勿論、クライアント装置3が編集プログラムを有する様態においては、サーバ装置2から得た処理済みデータ40’を編集する装置となりうる。
こうしたクライアント装置3は、通常の計算機構成を備え、プロセッサ装置10、メモリ装置12、および通信インタフェース14に加え、入力装置22と出力装置24を更に備えた構成となっている。プロセッサ装置10、メモリ装置12、および通信インタフェース14については、既に上述したサーバ装置2と同様の構成要素である。
このうち入力装置22は、ユーザ5の入力を装置が理解可能な電気などの物理信号に変換する装置であり、例えばキーボード、マウス、マイク、センサが挙げられる。また、出力装置24は、当該クライアント装置3の出力を画像、音波などの人間が理解できる情報へ変換する装置である。例えばディスプレイ、プリンタ、プロッタ、スピーカ、モータが挙げられる。これら入力装置22、出力装置24ともに、クライアント装置3が一体に備えている必要はなく、通信インタフェース14とネットワーク4を介して接続される態様であってもよい。
続いて上述のクライアント装置3の備えるプログラム106、108について説明する。クライアント装置3のメモリ装置12に格納されたプログラムのうち、装置負荷監視プログラム106は、サーバ装置2の装置負荷監視プログラム106と同じく、当該クライアント装置3において動作するプロセッサ装置10やメモリ装置12、通信インタフェース14の各負荷を監視し、通信インタフェース14を介してサーバ装置2のパラメタ決定プログラム102に出力するプログラムである。
以降、明細書中においてサーバ装置2の装置監視プログラム106と区別する必要が生じる場合は、サーバ装置2の装置監視プログラム106を106−sと表記し、クライアント装置3の装置監視プロうグラムを106−cと表記する。
また、クライアント装置3におけるデータ描画プログラム108は、サーバ装置2から得た提供対象データ40(の処理済みデータ40’)を出力装置24が出力できる形式のデータに変換するプログラムである。本明細書では特に、時系列データをグラフとして画面に描画するプログラムを具体例として記すが、この記述はデータ描画プログラム108の応用範囲を狭めるものではない。クライアント装置3におけるデータ描画プログラム108は、処理済みデータ40’を例えばスピーカから音波として出力してもよいし、プリンタを介して紙媒体などに出力するプログラムであっても構わない。
次に、第1実施例におけるデータ転送システム1の構成について説明する。図4は第1実施例におけるデータ転送システム1の構成例を示す図であり、サーバ装置2及びクライアント装置3における各プログラム間でのデータ授受の流れもあわせて模式的に示している。よって、サーバ装置2とクライアント装置3とは、それぞれが有する通信インタフェース14をネットワーク4に接続して相互通信を実現している。
こうしたデータ転送システム1の典型的な利用形態は、ユーザ5がクライアント装置3を操作してデータ描画プログラム108に対して提供対象データ40の描画を要求し、このデータ描画プログラム108がサーバ装置2から処理済みデータ40’を受信、描画し、上述のユーザ5がクライアント装置3にて閲覧するものとなる。
本実施形態におけるデータ転送方法の主たる目的は、このユーザ5がクライアント装置3からサーバ装置2に対し提供対象データ40を要求してから、処理済みデータ40’がクライアント装置3にて描画され閲覧可能になるまでの時間が、予め定めた目標応答時間R(42)以内に収まるよう制御することとなる。これにより、ユーザ5はストレスなく提供対象データ40に対応した処理済みデータ40’を閲覧できるようになり、効率的な業務等を実現できる。
こうした目的達成のため、データ転送システム1におけるサーバ装置2の処理パラメタ決定プログラム102は、各装置で動作している監視プログラム104、106から得られる監視情報と、データ処理プログラム100がストレージ装置16から得た、提供対象データ40の情報とを基に、圧縮パラメタpを決定し、これをデータ処理プログラム100に送信する。またデータ処理プログラム100は、上述の処理パラメタ決定プログラム102から得た圧縮パラメタpに従って、ユーザ5が所望の提供対象データ40を処理して処理済みデータ40’を生成し、これをクライアント装置3で動作しているデータ描画プログラム108に送信する。
以下、こうした一連の手順について詳細に説明する。図5は第1実施例におけるデータ転送システム1のデータ転送処理P1の一例を示すシーケンス図である。ここでまず、サーバ装置2のネットワーク監視プログラム104−s、および装置負荷監視プログラム106−sと、クライアント装置3の装置負荷監視プログラム106−cは、一定の規則に従って、それぞれの監視情報を定常的に測定している(S140、S160−s、S160−c)ものとする。
すなわち、サーバ装置2の装置負荷監視プログラム106−sは、サーバ装置2のプロセッサ装置10の負荷(たとえば利用率)Lsを、ネットワーク監視プログラム104はネットワーク4の負荷(たとえば残り帯域)Lnを測定する。また、クライアント装置3の装置負荷監視プログラム106−cは、クライアント装置3のプロセッサ装置10の負荷(たとえば利用率)Lcを測定する。但し、ここで述べた各負荷はあくまで一例であって、その他にも例えば温度や連続稼働時間などの情報も併せて測定するとしてもよい。
一方、データ転送処理P1は、クライアント装置3のデータ描画プログラム108が、ユーザ5からのデータ要求S0を入力装置22を介して受け付けたことをトリガとしてスタートする。ここで、クライアント装置3のデータ描画プログラム108は、入力装置22でユーザ5が要求している提供対象データ40のアクセスパスを、サーバ装置2のデータ処理プログラム100に送信する(S180)。
サーバ装置2のデータ処理プログラム100は、クライアント装置3から指定された提供対象データ40をストレージ装置16から読出し、ここで読み出した提供対象データ40のデータサイズを処理パラメタ決定プログラム102に送信し、圧縮パラメタpを要求する。(S102)
一方、処理パラメタ決定プログラム102は、上述の圧縮パラメタ要求を受け、上述の各監視プログラム104、106−s、106−cに対し、各監視プログラムが測定している負荷情報を要求する(S120)。他方、この要求を受けた各監視プログラム104、106−s、106−cらは、自身で測定していた負荷情報Ln、Ls、Lcを処理パラメタ決定プログラム102に返信する(S142、S162−s、S162−c)。
処理パラメタ決定プログラム102は、各監視プログラム104、106−s、106−cから受信した各負荷情報Ln、Ls、Lcと、データ圧縮履歴テーブル300から参照される情報とから、処理パラメタ決定処理P2を実行する。この処理パラメタ決定処理P2について、図6を用いて説明する。図6は第1実施例におけるデータ処理パラメタ決定処理の一例を示す図である。
この場合まず、データ処理プログラム100は、クライアント装置3から受信しているユーザ5のデータ要求S0から、処理パラメタ決定処理P2に至るまでのオーバーヘッド時間OH(41)を、目標応答時間R(42)から減算し、残された猶予時間(図示せず)R’を算出する(S21)。
次にデータ処理プログラム100は、データ圧縮履歴テーブル300から、提供対象データ40のデータタイプに応じた、平均データ処理時間304、平均データ圧縮率306及び平均描画時間308の各式を抽出する(S22)。またこのステップS22において、データ処理プログラム100は、上述で抽出した各式のち平均データ処理時間304の式に、提供対象データ40のデータサイズを適用し、圧縮パラメタpが変数となった提供対象データ40の処理時間Cの式(43)を得る。
更にデータ処理プログラム100は、圧縮パラメタpが変数となったデータ圧縮率の式と、当該式で既述される圧縮率で提供対象データ40を圧縮して所定のデータサイズとなった処理済みデータ40’の描画時間Dの式46を得る。
また、このステップS22において、データ処理プログラム100は、上述の各監視プログラムから得られた負荷情報Lsを用いて、例えば、サーバ装置2の装置負荷監視プログラム106−sによって測定された負荷Lsが「プロセッサ装置の利用率:30%」である場合、プロセッサ装置2を最大能力の70%しか活用できないとし、提供対象データ40の処理時間Cの式(43)に(70/100)の値を乗算する。
また、このステップS22において、データ処理プログラム100は、ネットワーク4の帯域(予め判明している最大値など)から、上述の監視プログラムより得ているネットワーク4の負荷Lnを減算して、残り帯域を算定する。また、データ処理プログラム100は、上述の圧縮パラメタpに応じた圧縮処理によって提供対象データ40から生成された処理済みデータ40’のデータサイズ値を、上述の残り帯域で除算した式、すなわち圧縮パラメタpを変数としたデータ転送時間T(44)の式を得る。
同様に、データ処理プログラム100は、クライアント装置3のプロセッサ装置10の負荷Lcが例えば「プロセッサ装置の利用率:30%」である場合、クライアント装置3のプロセッサ装置2を最大能力の70%しか活用できないとし、処理済みデータ40’の描画時間Dの式(46)に(70/100)の値を乗算する。
以上のように得た、変数として圧縮パラメタpを含む一次式たる各時間の式43、44、46を組み合わせて方程式f(p)としたならば、このf(p)が、上述の猶予時間R’以下となる圧縮パラメタpを導出し、処理パラメタ決定処理は終了する。
なお、サーバ装置2におけるデータ圧縮履歴テーブル300に格納された各値が、あらかじめpの方程式として解いてある様態においては、この推定は、該当式に該当データ(データサイズや監視情報の値など)を適用した単なる積算処理としてもよい。
ここで図5の説明に戻る。サーバ装置2における処理パラメタ決定プログラム102は、以上のような処理パラメタ決定処理P2によって導出された圧縮パラメタpを、データ処理プログラム100に送信する(S122)。
一方、データ処理プログラム100は、処理パラメタ決定プログラム102から受信した圧縮パラメタpと、あらかじめストレージ装置18から読みだしておいた提供対象データ40とを、自身が有する圧縮アルゴリズムに入力し、処理済みデータ40’を生成する(S104)。具体的なデータ圧縮処理については後述する。
次にデータ処理プログラム100は、上述のステップS104で生成した処理済みデータ40’を、通信インタフェース14とネットワーク4を介し、クライアント装置3に送信する(S106)。
サーバ装置2のデータ処理プログラム100により送信された処理済みデータ40’は、クライアント装置3のデータ描画プログラム108が受信して描画処理し、この処理結果を出力装置24に表示する(S182)。これにより、ユーザ5のデータ要求S0は達成される。
その後、サーバ装置2におけるデータ処理プログラム100は、今回の処理により実際にデータ圧縮処理(S104)に要した時間と適用したデータ圧縮率の値を、処理パラメタ決定プログラム102に送信する(S108)。また同様に、クライアント装置3のデータ描画プログラム108は、処理済みデータ40’のデータ描画時間の値をサーバ装置2の処理パラメタ決定プログラム102に送信する(S184)。
この場合、サーバ装置2の処理パラメタ決定プログラム102は、データ処理プログラム100から受信した、データ圧縮処理(S104)に要した時間と適用したデータ圧縮率の値、および、クライアント装置3のデータ描画プログラム108から受信したデータ描画時間の値で、データ圧縮履歴テーブル300における、該当提供対象データ40のデータタイプに関するレコードを更新し(S124)、データ転送処理P1を終了する。このデータ圧縮履歴テーブル300の更新処理は、今次得られた値で、該当レコードにおける平均データ処理時間304、平均データ圧縮率306、および平均データ描画時間308の各値を再計算する処理となる。
次に、上述の図5にて示したデータ圧縮処理(S104)の具体的な例について、図7から図18を用いて説明する。図7に提供対象データ40とデータ圧縮処理S104に用いるデータ情報48の初期状態を示す。データ情報48はメモリ装置12に格納される情報であって、データアドレス480と前データ情報ポインタ481と距離情報482と後データ情報ポインタ483と名前情報484及び位置情報485とから構成される情報である。したがって、提供対象データ40がいわゆるリンク構造で構成された態様を想定する。
このうちデータアドレス480はメモリ装置12内において、データ情報48を獲得するために必要な情報である。前データ情報ポインタ481と後データ情報ポインタ483は、上述のデータ情報48に対して、「順序的に一つ前」あるいは「順序的に一つ後」を示す情報であって、それぞれデータアドレス480が格納されている。
図7に示す初期状態においては、前データ情報481は一つ前の行のデータアドレス480を、次データ情報483は次の行のデータアドレス480をそれぞれ格納しており、最初の行においては前データ情報481が、最後の行においては、後データ情報483がそれぞれ終端を示す”null”を格納している。
また、距離情報482は、対応する提供対象データ40(たとえば「p2」)がその前後の点を通過する直線(p2の場合p1、p3を通るL(1、3))からの距離である。一方、名前情報484は、各距離情報482に便宜的に割当てた情報であり、付与しなくても良い。位置情報485は、後述する距離情報に基づく木構造における位置を表す情報である。元来は位置情報485もデータアドレス480と同様の形式で記述されているが、前後データ情報481、483との混同を避けるため、本明細書においては(1)、(2)と括弧囲み文字で記述する。
図9はデータ情報48の図示方法を示す図である。この場合、データ情報48は、3つの矩形領域から構成され、上から前データ情報481、距離情報482、後データ情報483をそれぞれ示すものとする。また、名前情報484を矩形領域下に付記する。例えば、i番目のデータ情報48 d(i)と、i+1番目のデータ情報48 d(i+1)はそれぞれ前後データ情報が繋がっている。この状態を曲線による繋がり486で示す。
続いて、上述の距離情報に基づく木構造49の一例について図10に基づき説明する。なお、本実施例における距離情報に基づく木構造49は、図10に例示するように探索2分木として記述されるが、B木やそのバリエーションあるいはTrie構造などであっても構わない。
図10に例示する木構造49は、データ情報48を、上述の前後データ情報481、483とは異なるポリシで接続する構造であり、あるデータ情報48(例えばd(2))の左下には自身より小さい距離情報483を有するデータ情報48(d(n))が、右下には自身より大きい距離情報483を有するデータ情報48(d(5))がそれぞれ配置される。この木構造に基づき、それぞれのデータに位置情報485を付与している。この木構造49に応じて、データ情報48の位置情報485を規定した形態を図11に示す。
以下、提供対象データ40の削減によるデータ圧縮処理S104の流れを説明する。図12はデータの削除概念を示す図である。本アルゴリズムにおいては、提供対象データ40のうち、最も小さい距離情報483を有するデータを削除する。例えば図12においては、距離情報”2.1”を有するデータが該当する。距離情報に基づく木構造49は左下に小さい値が配置されるという特性から、最も左下に配置されているデータ情報48を有するデータが削除されることになる。
データ情報48は、対応するデータの削除に際して、自身の前データ情報481の値を後データ情報483の前データ情報481に、後データ情報483の値を前データ情報481の後データ情報483にそれぞれコピーする。その後、位置情報485をクリアし、木構造49から取り除く。図14のデータ情報48でも、距離情報“2.1”であるデータ情報“d4”がposition、すなわち位置情報485を失っている様子を示している。
図15は距離情報の更新処理を示す図である。データ(p4)の削除に伴い、前後のデータ(p3、p5)の距離情報484を求めるためのL(2、4)およびL(4、6)(図示せず)が消滅する。そこで、これらのデータの距離をそれぞれ次のデータとで構成される直線L(2、5)およびL(3、6)(図示せず)を用いて計算し直す。その結果、計算しおした距離で更新したデータ情報48は図17に示す通りである。
この距離情報483の更新の結果、距離情報に基づく木構造49の規則が満たされなくなることがある。例えば図15においては、データ情報“d5”が小さくなったため、データ情報“d2”より小さくなり、「右下の値は自身より大きい」という規則が満たされなくなっている。
図18に更新された距離情報に基づく木構造49を示し、図19は該当木構造49に対応するデータ情報48を示す。この場合の木構造49は、データ圧縮処理S104によって残されたデータ情報48を、規則に合致するよう更新したものとなる。この、距離情報に基づく木構造49の更新処理は、規則を満たさない箇所が出た際にのみ実施してもよいし、データ情報48が削除されるたびに実施してもよい。
データ圧縮処理S104においては、図12から図18で示した処理を一定回数繰り返すことで、削除されたとしても、出力時の見た目に与える影響が最も少ない点をそれぞれの状態で探し出し、提供対象データ40を圧縮していく。
この繰り返し回数こそが、圧縮パラメタpであり、例えばデータの圧縮率(0〜100%)であらわされる様態においては、データ数N×p/100[回]に、削除するデータ個数で与えられる様態においては、p[回]として求められる。
ここで、図5のデータ描画処理(S182)の具体例について、図20を用いて説明する。図20は第1実施例におけるデータ描画プログラム108の出力結果の一例を示す図である。本実施例においては、データを取り扱うプラットフォーム70にデータアクセスのためのデータウィンドウ72とデータを描画する描画ウィンドウ73を別個に表示する。
データウィンドウ72は、データ名721とデータ描画リクエストボタン722とデータダウンロードボタン723とをそれぞれ備えるインタフェースである。このうちデータ描画リクエストボタン722をユーザ5が入力装置22を操作してクリックすると、クライアント装置3のデータ描画プログラム108は、データ要求S0をサーバ装置2に引き渡し、データ転送処理P1が開始され、結果として処理済みデータ40’がサーバ装置2からデータ描画プログラム108に引き渡され、データ描画プログラム108は描画ウィンドウ73に処理済みデータ40’をグラフとして描画する。
サーバ装置2におけるデータ処理プログラム100のデータ圧縮アルゴリズムが、不可逆性の圧縮アルゴリズムである場合、クライアント装置3にてデータ描画プログラム108が出力した結果が、元の提供対象データ40と乖離している可能性がある。
そこで、サーバ装置2のデータ処理プログラム100が、処理済みデータ40’をクライアント装置3のデータ描画プログラム108に送信する際、元の提供対象データ40との乖離度の情報を付与してもよい。サーバ装置2による乖離度の計算は、例えば、所定の各測定点における元の提供対象データ40と処理済みデータ40’との差分を元の提供対象データ40の値で除算した数値の平均などを用いればよい。こうして得られた乖離度はサーバ装置2からクライアント装置3に通知され、クライアント装置3のデータ描画プログラム108は、上述の描画ウィンドウ73に提供対象データ40の再現率731として併記してもよい。
図21に第1実施例におけるデータ描画プログラム108の出力結果の他例を示す。サーバ装置2の処理パラメタ決定プログラム102における処理パラメタ決定処理P2において、ユーザ5が要求する提供対象データ40の目標応答時間R(42)を満たす圧縮パラメタpが存在しないことがある。そうした場合、サーバ装置2の処理パラメタ決定プログラム102は、クライアント装置3のデータ描画プログラム108に対し、圧縮パラメタpとして解が存在せず、応答に時間を要することを通知するとすれば好適である。この通知を受信したクライアント装置3のデータ描画プログラム108は、提供対象データ40の処理済みデータ40’をサーバ装置2から得て、これを描画する処理に時間を要することを、通知ウィンドウ76などを介して、ユーザ5に通知してもよい。
以上説明してきた、第1実施例においては、サーバ装置2、クライアント装置3あるいはネットワーク4といった「装置」が監視対象となっていた。そこで第2実施例においてサーバ装置2は、これらの装置の監視情報に加え、ユーザ5及びユーザ5の周囲環境といった「装置」以外の監視情報を取得し、これ基づいて、処理パラメタ決定処理P2における目標応答時間R(42)を補正し、クライアント装置3のデータ描画プログラム108に処理済みデータ40’の表示方法の変更を指示する。
図22に、第2実施例におけるクライアント装置3の構成例を示す。この場合のクライアント装置3は、第1実施例で示した構成に加え、ユーザ監視インタフェース22−uと環境監視インタフェース22−eとを備え、また、メモリ装置12内にユーザ監視プログラム110と環境監視プログラム112とを備える。
このうちユーザ監視インタフェース22−uと環境監視インタフェース22−eは、入力装置22の一様態であり、それぞれ利用ユーザ5とユーザ周囲環境から得られる情報を電気的信号に変換する装置である。具体的には、ユーザ監視インタフェース22−uは、ユーザ5の姿を画像もしくは動画に変換するカメラ装置や、ユーザ5の直近のタイピング動作やクリック動作の頻度や操作速度を検知するキーボードやマウス(この場合は入力装置22がユーザ監視インタフェースを兼ねることになる)を想定できる。また、環境監視インタフェース22−eは、環境情報としてユーザ周囲の気温を数値化する温度計、明るさを計測して数値化する照度計、騒音レベルを数値化する騒音計などを想定できる。
また、ユーザ監視プログラム110は、ユーザ監視インタフェース22−uから得られる、ユーザ5に関する監視情報を一定の規則に従って監視し、外部のプログラムからの要求に応じて、最新の情報を該当プログラム宛てに送信するプログラムである。また、環境監視プログラム112は、環境監視インタフェース22−eから得られる、ユーザ周囲環境の情報を一定の規則に従って監視し、外部のプログラムからの要求に応じて、最新の情報を該当プログラム宛てに送信するプログラムである。
また、第2実施例におけるサーバ装置2は、図23にて示すように、第1実施例におけるサーバ装置と異なり、応答時間補正テーブル310を新たに備えている。この応答時間補正テーブル310のデータ構造は、図24に示す通りである。図24で例示する応答時間補正テーブル310は、ユーザ5の監視情報や周囲環境の情報に対応する、目標応答時間R(42)の補正値をテーブル化したテーブルであり、ユーザ5の状態312とそれに対応する目標応答時間R(42)への補正値314とから構成されるレコードを複数有するテーブルである。
図24で示す応答時間補正テーブル310の例では、ユーザ状態312として、「モニタの前にユーザが1分以上いない」、「直近1分間のマウスの移動速度が1000px/sを超えている」、「周囲騒音レベルが○○以上」、といった値が格納されている。また、それに対応する目標応答時間Rの補正値314として、「10」、「0.5」といった値が格納されている。
こうした応答時間補正テーブル310は、サーバ装置2が有するデータベース18に格納されている。サーバ装置2がデータベース18の編集機能を有する様態においては、この応答時間補正テーブル310がユーザ5による操作により適宜編集されるとしてもよい。或いは、サーバ装置2の製品出荷時から変更できない、固定テーブルとして保持していても構わない。
図25は第2実施例におけるデータ転送システム1の構成例を示す図である。第1実施例におけるデータ転送システム1の構成と同じく、サーバ装置2及びクライアント装置3はそれぞれの通信インタフェース14をネットワーク4に接続し、相互接続を実現している。一方、第二の様態においては、クライアント装置3におけるユーザ監視プログラム110がユーザ5を、環境監視プログラム112がクライアント装置3すなわちユーザの周囲環境をそれぞれ監視し、処理パラメタ決定プログラム102の要求に応じて、「モニタの前のユーザ不在時間:3分」、「直近1分間のマウスの移動速度:1200px/s」、「周囲騒音レベル:20dB以上」、といった監視情報を送信する。
こうしてクライアント装置3から得られた、ユーザ5の監視情報は、サーバ装置2における目標応答時間R(42)の補正に、また、ユーザ周囲の環境情報はクライアント装置3におけるデータ描画プログラム108での処理済みデータ40’の描画方法の変更にそれぞれ用いられる。
また、サーバ装置2の処理パラメタ決定プログラム102は、クライアント装置3のユーザ監視プログラム110から得られたユーザ5の監視情報に基づき、目標応答時間R(42)を補正する。この補正に際し、処理パラメタ決定プログラム102は、ユーザ5の監視情報を、応答時間補正テーブル310に照合し、ユーザ状態312が該当するレコードを特定し、該当レコードの目標応答時間の補正値314を取得し、これを目標応答時間R(42)に乗算する。
ユーザ5の監視情報を応答時間補正テーブル310に照合して得た、目標応答時間の補正値314が、1より大きい場合、該当ユーザ5は処理済みデータ40’の受信、表示に関して不急であると判断できる。他方、得られた目標応答時間の補正値314が、1より小さい場合、該当ユーザ5は処理済みデータ40’の受信、表示に関して急いでいると判断できる。
このように、目標応答時間R(42)の補正処理に伴い、例えばユーザ5が処理済みデータ40’の受信に関して不急であると判断できる場合、処理パラメタ決定プログラム102は、通常の目標応答時間より長くなった時間を基準にして圧縮パラメタpを求めることになるため、この圧縮パラメタpは通常より小さいものとなる。よって、圧縮率が小さく誤差率の小さい処理済みデータ40’が、サーバ装置2からクライアント装置3に送信される。一方で、ユーザ5が処理済みデータ40’の閲覧を急いでいると判断できる場合、処理パラメタ決定プログラム102は、通常の目標応答時間より短くなった時間を基準にして圧縮パラメタpを求めることになるため、この圧縮パラメタpは通常より大きなものとし、短い応答時間で処理済みデータ40’の送信を完了できるよう調整する。
図26に、クライアント装置3のデータ描画プログラム108によるデータ描画例を示す。例えば、晴天時の屋外など、強い環境光6が存在する環境にユーザ5が所在する場合、該当ユーザ5が所持するクライアント装置3においては、強い環境光6による画面の反射等によって画面コントラストが低下し、視認性が低下しやすい。
このような周囲環境にユーザ5が所在する場合、クライアント装置3の環境監視インタフェース22−eは強い環境光6の照度を計測して数値化し、これを環境監視プログラム112に渡す。環境監視プログラム112は、強い環境光6に応じた照度値が所定の基準以上となっていることを認識し、画面コントラスト低下の懸念を感知する。また、その感知結果はデータ描画プログラム108に通知され、データ描画プログラム108は、データ描画(S110)にて用いるカラーパレットなどを調整し、白背景黒文字で描画していたデータウィンドウ72や描画ウィンドウ73を黒背景白文字に変更するといった表示形態の変更処理を実行する。あるいは、描画ウィンドウ73における処理済みデータ40’の描画結果を塗りつぶすなどしてもよい。
このように、ユーザにおける様々な状況において対応して、クライアント装置3において処理済みデータ40’の表示形態を修正し、ユーザ5が明示した希望である所定目標時間の概念に、ユーザ5が明示しないがその環境を斟酌する概念を加えて、更にユーザ利便性を確実に向上出来ることとなる。
本実施形態のデータ転送装置によれば、種々の状況に応じてデータ転送に伴う処理時間を制御して、所定のサービスレベルを達成し、ユーザの利便性向上を図ることが可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態のデータ転送システムにおいて、前記サーバ装置の前記記憶装置は、所定属性の提供対象データに所定処理方法を適用して処理済みデータを生成し、当該処理済みデータを所定負荷状況のネットワークを介してクライアント装置に送信し、所定データ表示性能のクライアント装置にて表示処理させる場合の処理時間を規定する情報を更に格納するものであり、前記サーバ装置の演算装置は、前記処理方法を特定するに際し、前記クライアント装置からの前記提供対象データの要求時点から、クライアント装置における該当提供対象データの表示完了までの時間が、所定目標時間以下となる条件で、前記クライアント装置から受信した前記各情報を、前記処理時間を規定する情報に照合し、前記処理時間が前記所定目標時間以下となる場合の処理方法を特定するものである、としてもよい。
これによれば、例えばユーザが所望している目標時間内でのデータ表示処理が可能となり、早く情報を閲覧したい該当ユーザにおける利便性が向上する。
また、上述のデータ転送システムのサーバ装置において、前記記憶装置は、当該データ転送装置の演算装置の所定負荷状態において、所定属性の提供対象データに所定処理方法を適用して処理済みデータを生成し、当該処理済みデータを所定負荷状況のネットワークを介してクライアント装置に送信し、所定データ表示性能のクライアント装置にて表示処理させる場合の処理時間を規定する情報を更に格納するものであり、前記演算装置は、前記クライアント装置から前記提供対象データの要求を受信するに伴い、当該演算装置の負荷状況を検知し、前記処理方法を特定するに際し、前記クライアント装置からの前記提供対象データの要求時点から、クライアント装置における該当提供対象データの表示完了までの時間が、所定目標時間以下となる条件で、当該演算装置の負荷状況と、前記クライアント装置から受信した前記各情報とを、前記処理時間を規定する情報に照合し、前記処理時間が前記所定目標時間以下となる場合の処理方法を特定するものである、としてもよい。
これによれば、クライアント装置やネットワークの各種状況のみならず、サーバ装置における負荷についても踏まえた上で、提供対象データに対する処理方法を特定出来るため、更に精度良く、実体に即した処理方法により、提供対象データの圧縮等の処理が可能となる。よって、上述の目標時間内でのデータ表示処理の確度が更に高いものとなって、ユーザ利便性も更に向上する。
また、上述のデータ転送システムのサーバ装置において、前記演算装置は、前記処理方法の特定に際し、前記要求時点からクライアント装置における該当提供対象データの表示完了までの時間が、前記所定目標時間以下となる処理方法を特定出来なかった場合、該当提供対象データの表示時間が目標時間より大きくなる旨をクライアント装置に通知する処理を更に実行するものである、としてもよい。
これによれば、クライアント装置やネットワークの負荷等によっては回避できない処理遅延等の状況に対し、これを誠実にユーザに伝達することで、実際状況をユーザに確実に認識してもらい、ひいてはユーザ利便性を向上させることが可能となる。
また、上述のデータ転送システムのサーバ装置において、前記演算装置は、前記クライアント装置から前記提供対象データの要求を受信した時点から、前記クライアント装置から受信した前記各情報を前記処理時間を規定する情報に照合する処理を開始するまでのオーバーヘッド時間を計測し、前記処理方法を特定するに際し、前記クライアント装置からの前記提供対象データの要求時点から、前記オーバーヘッド時間を含めた、クライアント装置における該当提供対象データの表示完了までの時間が、所定目標時間以下となる条件で、前記クライアント装置から受信した前記各情報を、前記処理時間を規定する情報に照合し、前記処理時間が前記所定目標時間以下となる場合の処理方法を特定するものである、としてもよい。
これによれば、クライアント装置やネットワークの各種状況のみならず、サーバ装置が処理に必要な情報を収集する時間についても踏まえた上で、提供対象データに対する処理方法を特定出来るため、更に精度良く実体に即した処理方法により、提供対象データの圧縮等の処理が可能となる。よって、上述の目標時間内でのデータ表示処理の確度が更に高いものとなって、ユーザ利便性も更に向上する。
また、上述のデータ転送システムのサーバ装置において、前記演算装置は、前記クライアント装置から前記提供対象データの要求を受信した時点から、当該演算装置の負荷状況と、前記クライアント装置から受信した前記各情報とを、前記処理時間を規定する情報に照合する処理を開始するまでのオーバーヘッド時間を計測し、前記処理方法を特定するに際し、前記クライアント装置からの前記提供対象データの要求時点から、前記オーバーヘッド時間を含めた、クライアント装置における該当提供対象データの表示完了までの時間が、所定目標時間以下となる条件で、当該演算装置の負荷状況と、前記クライアント装置から受信した前記各情報とを、前記処理時間を規定する情報に照合し、前記処理時間が前記所定目標時間以下となる場合の処理方法を特定するものである、としてもよい。
これによれば、クライアント装置やネットワークの各種状況のみならず、サーバ装置における負荷状況と、サーバ装置が処理に必要な情報を収集する時間についても踏まえた上で、提供対象データに対する処理方法を特定出来るため、更に精度良く実体に即した処理方法により、提供対象データの圧縮等の処理が可能となる。よって、上述の目標時間内でのデータ表示処理の確度が更に高いものとなって、ユーザ利便性も更に向上する。
また、上述のデータ転送システムのサーバ装置において、前記演算装置は、前記処理方法の特定に際し、前記要求時点からクライアント装置における該当提供対象データの表示完了までの時間が、前記所定目標時間以下となる処理方法を特定出来なかった場合、該当提供対象データの表示時間が目標時間より大きくなる旨をクライアント装置に通知する処理を更に実行するものである、としてもよい。
これによれば、クライアント装置やネットワークの負荷のみならずサーバ装置における負荷も踏まえて、これらによって回避できない処理遅延等の状況に対し、これを誠実にユーザに伝達することで、実際状況をユーザに確実に認識してもらい、ひいてはユーザ利便性を向上させることが可能となる。
また、上述のデータ転送システムのサーバ装置において、前記演算装置は、前記クライアント装置から受信した前記各情報を入力として前記各情報の属性に応じて提供対象データの圧縮方法を特定する所定アルゴリズムに基づいて、前記提供対象データに対する圧縮方法を特定し、該当圧縮方法を前記提供対象データに適用して圧縮済みデータを生成し、当該圧縮済みデータを前記ネットワークを介して前記クライアント装置に送信する処理を実行するものである、としてもよい。
これによれば、提供対象データの圧縮を適宜に行って、迅速に該当提供対象データ(圧縮済み)の表示をクライアント装置にて実行させることが可能となり、ユーザ利便性が向上する。
また、上述のデータ転送システムのサーバ装置において、前記演算装置は、前記クライアント装置より、クライアント装置のユーザに関する監視情報またはクライアント装置周辺の環境情報を受信して、前記監視情報または前記環境情報に応じて前記処理目標時間を修正し、前記処理方法を特定するに際し、前記クライアント装置からの前記提供対象データの要求時点から、クライアント装置における該当提供対象データの表示完了までの時間が、前記修正された所定目標時間以下となる条件で、前記クライアント装置から受信した前記各情報を、前記処理時間を規定する情報に照合し、前記処理時間が前記修正された所定目標時間以下となる場合の処理方法を特定するものである、としてもよい。
これによれば、ユーザがリラックスして処理を急いでいない状況にある場合や、騒音レベルが大きい環境下(例:喧噪な屋外の路上や工場内など)にユーザが所在して急な対応は出来ない場合、或いは、ユーザインターフェイスでの直近の各種処理速度が基準以上であって急いでいる場合など、ユーザにおける様々な状況において対応して、提供対象データに対する処理方法を特定し、ユーザが明示した希望である所定目標時間の概念に、ユーザが明示しないがその環境を斟酌する概念を加えて、更にユーザ利便性を確実に向上出来る。
また、上述のデータ転送システムのサーバ装置において、前記記憶装置は、前記クライアント装置向けに提供する所定データとして、当該所定データを構成する各データ間のリンク情報と各データの大小情報とを各々管理する、リスト構造で記載された所定データを格納したものであり、前記演算装置は、前記圧縮方法を前記提供対象データに適用して圧縮済みデータを生成するに際し、前記提供対象データを構成する各データの大小情報に基づいて削除するデータを決定し、該当データの削除に伴って、前記提供対象データにおけるリンク情報及び大小情報を更新する処理を実行するものである、としてもよい。
これによれば、リスト構造の特性を活かしたデータ圧縮作業の効率化を図れることとなり、データ管理の効率化やそれに伴う処理の迅速化も期待できる。
また、上述のデータ転送システムのサーバ装置において、前記演算装置は、前記データの削除時に前記データの大小情報に与えられた規則が満たされている場合はデータの大小処理の更新を実施しないものである、としてもよい。
これによれば、所定手順を圧縮して、リスト構造の特性を活かしたデータ圧縮作業の更なる効率化を図れることとなり、データ管理の効率化やそれに伴う処理の迅速化も一層期待できる。
また、上述のデータ転送システムにおいて、前記サーバ装置とネットワークを介して通信する通信装置と、情報を表示させる表示装置と、前記サーバ装置に対して、前記提供対象データの要求と、該当提供対象データ、前記ネットワークの負荷状況、当該クライアント装置における負荷状況、および、当該クライアント装置におけるデータ表示性能、の各情報とを送信し、前記処理済みデータを前記ネットワークを介して前記サーバ装置から受信し、前記表示装置に表示する処理を実行する演算装置と、を備えたクライアント装置を更に含むとしてもよい。
これによれば、ユーザの使用するクライアント装置から提供対象データの要求等を受け付けて、これに応じて処理済みデータを円滑に返すことが出来る。
また、上述のデータ転送システムの前記クライアント装置において、当該クライアント装置のユーザに対して所定の監視動作を行うユーザ監視装置、または当該クライアント装置周辺の環境情報を検知するセンサ装置の少なくともいずれかを備えて、前記演算装置は、前記ユーザ監視装置で得た当該クライアント装置のユーザに関する監視情報、または前記センサ装置で得た当該クライアント装置周辺の環境情報、の少なくともいずれかを前記サーバ装置に送信する処理を更に実行するものである、としてもよい。
これによれば、ユーザがリラックスして処理を急いでいない状況にある場合や、騒音レベルが大きい環境下(例:喧噪な屋外の路上や工場内など)にユーザが所在して急な対応は出来ない場合、或いは、ユーザインターフェイスでの直近の各種処理速度が基準以上であって急いでいる場合など、ユーザにおける様々な状況をサーバ装置に通知して、こうした状況に対応した処理方法の特定をサーバ装置で実行させ、ユーザが明示した希望である所定目標時間の概念に、ユーザが明示しないがその環境を斟酌する概念を加えて、更にユーザ利便性を確実に向上出来る。
また、上述のデータ転送システムの前記クライアント装置において、前記演算装置は、前記監視情報または前記環境情報の少なくともいずれかに応じ、前記表示装置における前記処理済みデータの表示形態を変更する処理を更に実行するものであるとしてもよい。
これによれば、例えば照度レベルが大きい環境下(例:直射日光がモニタ画面に照射されている状況など)にユーザが所在しており、そのままでは上述の提供対象データの閲覧を行いにくい場合など、ユーザにおける様々な状況において対応して、処理済みの提供対象データの表示形態を修正し、ユーザが明示した希望である所定目標時間の概念に、ユーザが明示しないがその環境を斟酌する概念を加えて、更にユーザ利便性を確実に向上出来る。