JPWO2012176924A1 - Information processing apparatus, information processing system, information processing method, and program - Google Patents

Information processing apparatus, information processing system, information processing method, and program Download PDF

Info

Publication number
JPWO2012176924A1
JPWO2012176924A1 JP2013521657A JP2013521657A JPWO2012176924A1 JP WO2012176924 A1 JPWO2012176924 A1 JP WO2012176924A1 JP 2013521657 A JP2013521657 A JP 2013521657A JP 2013521657 A JP2013521657 A JP 2013521657A JP WO2012176924 A1 JPWO2012176924 A1 JP WO2012176924A1
Authority
JP
Japan
Prior art keywords
cost
time
data set
communication
expected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013521657A
Other languages
Japanese (ja)
Inventor
十河 卓司
卓司 十河
陽介 高野
陽介 高野
圭介 梅津
圭介 梅津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013521657A priority Critical patent/JPWO2012176924A1/en
Publication of JPWO2012176924A1 publication Critical patent/JPWO2012176924A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Abstract

本発明のデータを先読みする装置は、データの利用が予測される時点の通信環境に基づいて、先読み対象データを選別する。
情報処理装置は、複数のデータセットの各々について、アクセスの予想時刻、並びに、予想時刻にアクセス手段が通信路経由で当該データセットにアクセスする場合の通信コストである予想時通信コスト、若しくは、予想時刻における通信速度を格納する予測格納手段と、複数のデータセットの各々について、予想時通信コストに対して非減少な要求時取得コスト、または、通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コストを算出するコスト算出手段と、要求時取得コストの大きなデータセットを優先的に選択し、選択したデータセットの識別情報を選択結果として出力する選別手段、を備える。
The apparatus for prefetching data according to the present invention selects prefetch target data based on the communication environment at the time when the use of the data is predicted.
The information processing apparatus, for each of a plurality of data sets, is an expected access time, and an expected communication cost that is a communication cost when the access means accesses the data set via a communication path at the expected time, or an expected Predictive storage means for storing the communication speed at the time, and for each of a plurality of data sets, it is necessary to acquire the data set via a communication path or a request acquisition cost that is not reduced with respect to the expected communication cost Cost calculation means for calculating the expected time and the acquisition cost on demand that is non-decreasing with respect to the expected time, and preferentially select the data set with a large demand acquisition cost, and the identification information of the selected data set as the selection result Sorting means for outputting.

Description

本発明は、情報処理装置、情報処理システム、情報処理方法、および、プログラムに関し、特に、データの先読みを行う情報処理装置、情報処理システム、情報処理方法、および、プログラムに関する。   The present invention relates to an information processing device, an information processing system, an information processing method, and a program, and more particularly, to an information processing device, an information processing system, an information processing method, and a program for prefetching data.

移動端末等が無線通信によりサーバ等と通信を行い、サービスを提供するシステムでは、電波が届かない場所(いわゆる不感地帯)で、通信が不安定になったり切断されたりして、サービスの提供が継続できない状況がしばしば発生する。このような状況に対処する方法の一つは、移動端末等で利用されるデータを、通信が切断される前にサーバ等から移動端末等へ転送しておく(先読みする)ことである。このような方法に関連するデータ先読みシステムの例が、特許文献1および2に記載されている。
特許文献1のデータ先読みシステムは、ユーザ行動の履歴やスケジュール等に基づいて、将来端末で利用されるデータを予測し、必要となる時刻の時系列順に、通信料金等キャッシュ処理にかかるコストも勘案して、データの先読みをスケジュールして実行する。
特許文献2のデータ先読みシステムは、データが利用される可能性(重要度)が高いもののみを選別して先読みすることで、全体のデータ転送量を抑制する。
特許文献3は、予め支援情報を含むウェブコンテンツを先読みする端末装置を開示する。
特許文献4は、現在位置で取得が可能なデータを、安価な通信コストで取得して、ユーザの希望するタイミングで提示する装置を開示する。
特許文献5は、移動端末からのルート情報と位置情報をもとに移動端末の通信状況を予測し、その予測結果に基づいて映像データの再生時刻ごとの周波数成分の配信順序を決定し、車載機へ映像データを送信するサーバ装置を開示する。
特許文献6は、利用者の行動範囲を的確に推定し、推定した行動範囲に関連した情報を、利用者に提供するサーバを開示する。
In a system in which a mobile terminal or the like communicates with a server or the like by wireless communication and provides a service, communication is unstable or disconnected in a place where radio waves do not reach (so-called dead zone), and the service is provided. Situations that cannot continue often occur. One method for dealing with such a situation is to transfer (prefetch) data used by the mobile terminal or the like from the server or the like to the mobile terminal or the like before the communication is disconnected. Examples of data prefetching systems related to such a method are described in Patent Documents 1 and 2.
The data prefetching system disclosed in Patent Document 1 predicts data to be used in the future terminal based on a history of user actions, a schedule, and the like, and takes into consideration the cost of cash processing such as communication charges in chronological order of required time. Then, schedule data read-ahead and execute it.
The data prefetching system of Patent Document 2 suppresses the entire data transfer amount by selecting and prefetching only the data having a high possibility (importance) of use.
Patent Document 3 discloses a terminal device that pre-reads web content including support information in advance.
Patent Document 4 discloses an apparatus that acquires data that can be acquired at the current position at a low communication cost and presents it at a timing desired by the user.
Patent Document 5 predicts a communication status of a mobile terminal based on route information and position information from the mobile terminal, determines a distribution order of frequency components for each reproduction time of video data based on the prediction result, Disclosed is a server device that transmits video data to an apparatus.
Patent Document 6 discloses a server that accurately estimates a user's action range and provides the user with information related to the estimated action range.

特開平08−241257号公報Japanese Patent Laid-Open No. 08-241257 特開2002−373109号公報JP 2002-373109 A 特開2003−122664号公報JP 2003-122664 A 特開2002−369179号公報JP 2002-369179 A 特開2006−197453号公報JP 2006-197453 A 特開2009−238111号公報JP 2009-238111 A

特許文献1および2に開示されたシステムは、何れも、データの利用が予測される時点の通信環境に基づいて、先読みの必要性の高いデータを選別しない。従って、当該システムは、利用される時点で通信環境が良く、例えば、高速、安価なネットワークが利用可能なデータを先読みしてしまい、利用される時点で通信環境が悪いデータを先読みできない等の問題を発生する。即ち、当該システムは、キャッシュする必要性が低いデータを優先して先読みしてしまい、先読みの為にネットワークやキャッシュ容量の競合が発生する場合、先読みの必要性の高いデータを先読みできない場合がある。
特許文献1のシステムは、必要となる時刻の時系列順に、データの先読みのスケジュールをする。従って、必要となる時刻の早いデータが優先的に先読みされる。特許文献2のシステムは、重要度の高いデータを優先して先読みする。特許文献3乃至6は、先読み情報の選択に関係しない。
本発明の目的は、上述した問題点を解決できる技術を提供することにある。
None of the systems disclosed in Patent Documents 1 and 2 selects data that is highly necessary for prefetching based on the communication environment at the time when data use is predicted. Therefore, the system has a good communication environment at the time of use. For example, the system can prefetch data that can be used by a high-speed and inexpensive network, and cannot prefetch data that has a bad communication environment at the time of use. Is generated. That is, the system prefetches data with low necessity to be cached, and when contention of network or cache capacity occurs due to prefetching, there is a case where data having high necessity for prefetching cannot be prefetched. .
The system of Patent Document 1 schedules data prefetching in the time-series order of necessary times. Therefore, the data with the earlier required time is prefetched preferentially. The system of Patent Document 2 prefetches data with high priority with priority. Patent Documents 3 to 6 do not relate to selection of prefetch information.
The objective of this invention is providing the technique which can solve the problem mentioned above.

本発明の情報処理装置は、複数のデータセットの各々について、アクセスの予想時刻、並びに、前記予想時刻にアクセス手段が通信路経由で当該データセットにアクセスする場合の通信コストである予想時通信コスト、若しくは、前記予想時刻における通信速度を格納する予測格納手段と、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な要求時取得コスト、または、前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コストを算出するコスト算出手段と、
前記要求時取得コストの大きなデータセットを優先的に選択し、選択したデータセットの識別情報を選択結果として出力する選別手段、を備える。
本発明の情報処理方法は、予測格納手段に、複数のデータセットの各々について、アクセスの予想時刻、並びに、前記予想時刻にアクセス手段が通信路経由で当該データセットにアクセスする場合の通信コストである予想時通信コスト、若しくは、前記予想時刻における通信速度を格納し、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な要求時取得コスト、または、前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コストを算出し、
前記要求時取得コストの大きなデータセットを優先的に選択し、選択したデータセットの識別情報を選択結果として出力する。
本発明の情報処理プログラムは、コンピュータに、
予測格納手段に、複数のデータセットの各々について、アクセスの予想時刻、並びに、前記予想時刻にアクセス手段が通信路経由で当該データセットにアクセスする場合の通信コストである予想時通信コスト、若しくは、前記予想時刻における通信速度を格納させ、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な要求時取得コスト、または、前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コストを算出させ、
前記要求時取得コストの大きなデータセットを優先的に選択させ、選択したデータセットの識別情報を選択結果として出力させる。
The information processing apparatus according to the present invention provides, for each of a plurality of data sets, an expected access time and an expected communication cost that is a communication cost when the access unit accesses the data set via a communication path at the expected time. Or predicted storage means for storing the communication speed at the predicted time;
For each of the plurality of data sets, with respect to the acquisition cost at the time of non-decreasing with respect to the communication cost at the time of prediction, or the expected time and the expected time required to acquire the data set via the communication path A cost calculation means for calculating a non-decreasing request acquisition cost;
A selection unit that preferentially selects a data set having a high acquisition cost at the time of request and outputs identification information of the selected data set as a selection result;
According to the information processing method of the present invention, the predicted storage unit includes the estimated access time for each of the plurality of data sets, and the communication cost when the access unit accesses the data set via the communication path at the predicted time. Store the communication cost at a certain predicted time or the communication speed at the predicted time,
For each of the plurality of data sets, with respect to the acquisition cost at the time of non-decreasing with respect to the communication cost at the time of prediction, or the expected time and the expected time required to acquire the data set via the communication path Calculate non-decreasing acquisition costs on demand,
A data set having a high acquisition cost at the time of request is preferentially selected, and identification information of the selected data set is output as a selection result.
An information processing program of the present invention is stored in a computer.
For each of the plurality of data sets in the prediction storage means, the expected access time, and the expected communication cost that is the communication cost when the access means accesses the data set via the communication path at the expected time, or Store the communication speed at the expected time,
For each of the plurality of data sets, with respect to the acquisition cost at the time of non-decreasing with respect to the communication cost at the time of prediction, or the expected time and the expected time required to acquire the data set via the communication path Calculate non-decreasing acquisition costs on demand,
A data set having a large acquisition cost at the time of request is selected preferentially, and identification information of the selected data set is output as a selection result.

本発明にかかる装置は、利用が予測される時点の通信環境を反映した、データの先読みが可能である。   The apparatus according to the present invention is capable of prefetching data that reflects the communication environment at the time when use is predicted.

本発明の第1の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st Embodiment of this invention. 本発明の第1の実施形態における行動予定リストの構造と例とを示す図である。It is a figure which shows the structure and example of an action schedule list in the 1st Embodiment of this invention. 本発明の第1の実施形態における利用データリストの構造と例とを示す図である。It is a figure which shows the structure and example of a utilization data list in the 1st Embodiment of this invention. 本発明の第1の実施形態における利用確率グラフの例を示す図である。It is a figure which shows the example of the utilization probability graph in the 1st Embodiment of this invention. 本発明の第1の実施形態における利用確率リストの構造と例とを示す図である。It is a figure which shows the structure and example of a utilization probability list | wrist in the 1st Embodiment of this invention. 本発明の第1、2の実施形態における通信状況予測リストの構造と例とを示す図である。It is a figure which shows the structure and example of a communication condition prediction list | wrist in 1st, 2nd embodiment of this invention. 本発明の第1の実施形態における通信速度情報の構造と例とを示す図である。It is a figure which shows the structure and example of communication speed information in the 1st Embodiment of this invention. 本発明の第1の実施形態における要求時コスト算出部の構成を示すブロック図である。It is a block diagram which shows the structure of the request cost calculation part in the 1st Embodiment of this invention. 本発明の第1の実施形態における遅延コスト定義の構造と例とを示す図である。It is a figure which shows the structure and example of a delay cost definition in the 1st Embodiment of this invention. 本発明の第1の実施形態における遅延コストリストの構造と例とを示す図である。It is a figure which shows the structure and example of a delay cost list | wrist in the 1st Embodiment of this invention. 本発明の第1の実施形態における遅延コストグラフの例を示す図である。It is a figure which shows the example of the delay cost graph in the 1st Embodiment of this invention. 本発明の第1の実施形態における要求時取得コストグラフの例を示す図である。It is a figure which shows the example of the request-time acquisition cost graph in the 1st Embodiment of this invention. 本発明の第1の実施形態における利用確率密度の例を示す図である。It is a figure which shows the example of the use probability density in the 1st Embodiment of this invention. 本発明の第1の実施形態における要求時取得コスト期待値グラフの例を示す図である。It is a figure which shows the example of the request time acquisition cost expectation value graph in the 1st Embodiment of this invention. 本発明の第1の実施形態における抽出リストの構造と例とを示す図である。It is a figure which shows the structure and example of an extraction list | wrist in the 1st Embodiment of this invention. 本発明の第1の実施形態の全体の動作を示すフローチャートである。It is a flowchart which shows the whole operation | movement of the 1st Embodiment of this invention. 本発明の第1の実施形態の変形3の構成を示すブロック図である。It is a block diagram which shows the structure of the deformation | transformation 3 of the 1st Embodiment of this invention. 本発明の第2の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Embodiment of this invention. 本発明の第2の実施形態における先読みコスト算出部の構成を示すブロック図である。It is a block diagram which shows the structure of the prefetch cost calculation part in the 2nd Embodiment of this invention. 本発明の第2の実施形態における通信料金情報の構造と例とを示す図である。It is a figure which shows the structure and example of communication charge information in the 2nd Embodiment of this invention. 本発明の第2の実施形態における通信料金リストの構造と例とを示す図である。It is a figure which shows the structure and example of a communication charge list | wrist in the 2nd Embodiment of this invention. 本発明の第2の実施形態における通信料金グラフの例を示す図である。It is a figure which shows the example of the communication fee graph in the 2nd Embodiment of this invention. 本発明の第2の実施形態における先読みコストグラフの例を示す図である。It is a figure which shows the example of the prefetch cost graph in the 2nd Embodiment of this invention. 本発明の第2の実施形態における要求時コスト算出部の構成を示すブロック図である。It is a block diagram which shows the structure of the request-time cost calculation part in the 2nd Embodiment of this invention. 本発明の第2の実施形態における要求時取得コストグラフの例を示す図である。It is a figure which shows the example of the request-time acquisition cost graph in the 2nd Embodiment of this invention. 本発明の第2の実施形態における要求時取得コスト期待値グラフの例を示す図である。It is a figure which shows the example of the request time acquisition cost expectation value graph in the 2nd Embodiment of this invention. 本発明の第2の実施形態における先読み計画時コストグラフの例を示す図である。It is a figure which shows the example of the prefetch plan time cost graph in the 2nd Embodiment of this invention. 本発明の第2の実施形態における抽出リストの構造と例とを示す図である。It is a figure which shows the structure and example of an extraction list | wrist in the 2nd Embodiment of this invention. 本発明の第2の実施形態における計画リストの構造と例とを示す図である。It is a figure which shows the structure and example of a plan list | wrist in the 2nd Embodiment of this invention. 本発明の第2の実施形態の全体の動作を示すフローチャートである。It is a flowchart which shows the whole operation | movement of the 2nd Embodiment of this invention. 本発明の第3の実施形態における先読みコスト算出部の構成を示すブロック図である。It is a block diagram which shows the structure of the prefetch cost calculation part in the 3rd Embodiment of this invention. 本発明の第3の実施形態における鮮度劣化コストグラフの例を示す図である。It is a figure which shows the example of the freshness degradation cost graph in the 3rd Embodiment of this invention. 本発明の第3の実施形態における先読みコストグラフの例を示す図である。It is a figure which shows the example of the prefetch cost graph in the 3rd Embodiment of this invention. 本発明の第3の実施形態における先読み計画時コストグラフの例を示す図である。It is a figure which shows the example of the prefetch plan time cost graph in the 3rd Embodiment of this invention. 本発明の第3の実施形態における基本鮮度劣化グラフの例を示す図である。It is a figure which shows the example of the basic freshness degradation graph in the 3rd Embodiment of this invention. 本発明の第3の実施形態における鮮度劣化コストグラフの例を示す図である。It is a figure which shows the example of the freshness degradation cost graph in the 3rd Embodiment of this invention. 本発明の第4の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 4th Embodiment of this invention. 本発明の第4の実施形態の全体の動作を示すフローチャートである。It is a flowchart which shows the whole operation | movement of the 4th Embodiment of this invention. 本発明の第5の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 5th Embodiment of this invention.

次に、本発明の実施形態について図面を参照して詳細に説明する。
(第1の実施形態)
図1は、本発明にかかる情報処理装置700(移動端末100)の第1の実施形態の構成を示すブロック図である。図1を参照すると、本実施形態の情報処理装置700(移動端末100)は、サーバ装置200と通信経路(図示せず)を介して接続される。
移動端末100は、行動予測部101と、利用データ予測部102と、通信状況予測部103と、コスト算出部109と、対象選別部106と、先読み部107と、キャッシュ部108と、アクセス部110とを含む。コスト算出部109は、要求時コスト算出部104とコスト期待値算出部105を含む。
これら、各部は、論理回路等のハードウェアにより構成されるが、CPU(Central Processing Unit)とメモリ、ディスク装置等の記憶媒体とを含むコンピュータによって構成されても良い。この場合、記憶媒体は、コンピュータのCPUによって実行されることにより、各部を機能させるためのプログラムを記憶してもよい。特にことわりのない限り、以降の実施の形態についても、同様である。
サーバ装置200は、データ配信部201と、データ記憶部202を含む。データ記憶部202は、データセット203を記憶するディスクなどの記憶装置である。データセット203は、利用データとも呼ばれる。データ配信部201もコンピュータによって構成されても良い。
移動端末100とサーバ装置200は、通信が不安定になったり途絶したりする可能性のある通信経路(図示せず)を経由して、接続されている。この通信経路は、複数の通信経路を適宜使い分けるものであってもよい。例えば、移動端末100は、その利用者が自宅やオフィスにいるときは有線接続を利用し、電車や車などで移動しているときは無線接続を利用する。通信速度は、通信経路により異なる場合が有る。また、有線接続は基本的に通信が途絶しないが、無線接続は、地下やトンネル内など、場所によっては通信が不安定になったり途絶したりする可能性がある。また、例えば移動端末100の利用者が飛行機で移動しているときなど、状況によっては通信経路がないこともある。
行動予測部101は、移動端末100の利用者の将来の操作内容や移動先などの行動を予測し、行動予定リスト600を生成して出力する。図2は行動予定リスト600の構造と例とを示す図である。図2に示すように、行動予定リスト600は、時刻およびその時刻に対する行動のペアを1以上含む。図2の例を参照すると、行動予定リスト600は、例えば、7時〜8時に利用者は自宅から職場へ移動しつつ、移動端末100のWebブラウザ(アプリケーション。図示せず)を利用、9時〜9時半に職場で移動端末100のメール(アプリケーション。図示せず)を利用する等の予測を示している。尚、行動予定リスト600は、図2の例でも示すように、複数の行動に対応するそれぞれの時刻が重複していてもよいし、場所の移動とアプリケーションの利用とがそれぞれ別のリストとして表現されていてもよい。尚、行動予定リスト600は行動予定情報とも呼ばれる。
行動予測部101は、行動の予測のために、利用者の過去の移動端末100の操作履歴や移動履歴を蓄積しておき、それに基づいて将来の行動を予測してもよい。また、行動予測部101は、現在時刻や利用者の現在位置、利用者の現在状況に基づいて将来の行動を予測してもよい。利用者の現在状況は、例えば、移動端末100がオフィスのネットワークに接続されているのでオフィスにいるとか、ドライブモードに設定されているので利用者は車を運転している、などのように認識できる。尚、移動端末100の操作履歴、移動履歴、現在時刻や利用者の現在位置および利用者の現在状況は予測参照情報とも呼ばれ、移動端末100の操作、移動に応じて移動端末100の図示しない記憶部に記憶されるデータである。また、行動予測部101は、利用者の当日のスケジュール(予測参照情報とも呼ばれる)に基づいて将来の行動を予測してもよい。また、ナビゲーション機能つきの移動端末100であれば、行動予測部101は、ナビゲーション機能が示す現在誘導中の経路をそのまま今後の移動経路(予測参照情報とも呼ばれる)とし、将来の行動を予測してもよい。さらに、行動予測部101は、このようにして予測された行動予定リスト600を利用者に提示し、必要に応じて利用者の訂正情報(予測参照情報とも呼ばれる)に基づいて行動予定リスト600を生成するようにしてもよい。また、行動予測部101は、「この時間帯はオフィスにいる」「この時間に電車で移動する」などの利用者が明示的に設定した情報(予測参照情報とも呼ばれる)に基づいて行動予定リスト600を生成するようにしてもよい。
利用データ予測部102は、行動予測部101が予測した利用者の行動(行動予定情報)に基づいて、移動端末100のアプリケーション(図示せず)が将来利用するデータであるデータセット203を予測し、予測したデータセット203の利用データ識別情報を出力する。この将来利用するというデータセット203は、以後、先読み候補のデータとも記載する。図3は、利用データ予測部102が予測したデータセット203を示す、利用データリスト601の構造と例とを示す図である。図3に示すように、利用データリスト601は、例えば、移動端末100のアプリケーションが利用すると予測したデータセット203の利用データ識別情報と、当該データセット203の予測サイズと、当該データセット203の、時系列で表現された利用確率との組み合わせを1以上含む。但し、図3における利用データ識別情報は、データセット203の識別子を示しているが、その識別子はコードであってもよい。
利用データリスト601において、利用データ識別情報が指すデータは、単独のデータセット203でもよいし複数のデータセット203をまとめたものでもよい。例えば「今日のニュース記事」はそのような分類に属する複数の記事を指しているが、代わりに特定の1つの記事を指すようにしてもよい。
利用データリスト601に例として示されている各データセット203の利用確率P1〜P6は、例えば図4の利用確率グラフ602のように表されるグラフを指している。利用確率グラフ602のP1(t)は、時刻tまでに「今日のニュース記事」を利用する確率を累積分布として表しており、この場合は7時から8時までの間、一様な確率密度で「今日のニュース記事」が利用され、最終的には80%の確率で利用されることを示す。
なお、利用確率グラフ602に示される利用確率は一例であり、利用確率は、正規分布やその他の確率分布などの数式によって表現されてもよいし、グラフや数式ではなく図5の利用確率リスト603に示すような表として表現されてもよい。さらに、利用確率リスト603の利用確率は「高、中、低、なし」など定性的に表現されてもよい(この場合は、後述のコストの計算の際には高=1.0などと数値に置き換える)。
利用データリスト601の各データについてその利用確率を予測する際には、利用データ予測部102は、行動予定リスト600に含まれる各種情報のほかに、当該データを利用するアプリケーションに関する固有の知識(例えば地図アプリケーションであれば現在地周辺の地図が参照されやすく、メールアプリケーションであれば当日のメールが参照されやすい等)、過去のデータ参照履歴などを用いることができる。
通信状況予測部103は、予め保持している通信環境に関する情報と、行動予測部101が予測した利用者の行動とに基づいて、移動端末100の将来の通信状況を予測し、予測した通信状況のデータを出力する。通信環境に関する情報は、例えば、利用者の自宅、オフィスのフロアや会議室、駅、店舗などにおけるネットワーク接続サービスの利用可否や通信速度を示すリスト、携帯電話のサービスエリアを示す地図、道路や鉄道におけるトンネルや地下部分を示す地図などである。図7の通信速度情報605は、通信状況予測部103が予め保持している、通信環境に関する情報に含まれる一部の情報の一例である。尚、通信環境に関する情報は、移動端末100がネットワークから受信して記憶したものであっても良い。
図6は、通信状況予測部103が予測した将来の通信環境を表す、通信状況予測リスト604の構造と例とを示す図である。図6に示すように、通信状況予測リスト604は、時刻、その時刻における移動端末100の場所、および後述するコストの計算の際に用いる各種情報(利用可能な通信回線、予想される通信速度等)の組み合わせを1以上含む。通信状況の予測の際には、通信状況予測部103は、携帯電話のサービスエリアマップ、道路や鉄道におけるトンネルや地下部分の区間など、通信環境に関する情報を用いる。
通信速度は、例えば図7に示すような通信速度情報605を参照して決定することができる。また、特に屋外の無線通信回線を利用する場合などには、通信速度は利用者の現在位置によって細かく変動するため、行動予測部101がより詳細な時間単位で利用者の将来の位置を予測し、通信状況予測部103がその位置での電波強度やネットワークの混雑度などを考慮して通信状況予測リスト604の通信速度を予測するようにしてもよい。このとき、通信状況予測部103は、通信状況予測リスト604の通信速度を表ではなく時刻と通信速度の関係を表すグラフとして出力してもよい。
要求時コスト算出部104は、利用データ予測部102によって予測されたデータセット203を先読みせず、当該データを移動端末100のアプリケーション(図示せず)が利用しようとした時点でサーバ装置200から取得するときに発生する待ち時間(レイテンシ)に由来するコストを、データセット203ごとに要求時取得コストとして算出する。
コスト期待値算出部105は、データセット203ごとに、要求時コスト算出部104が算出した要求時取得コストと、利用データ予測部102が予測したデータの利用確率とに基づいて、データセット203の先読みを計画しなかった場合に予想されるコストの期待値(以後、コスト期待値と記述する)を算出する。
対象選別部106は、コスト期待値算出部105によって算出されたコスト期待値を参照して、先読みするデータセット203を選別し、選別したデータセット203の利用データ識別情報を出力する。
先読み部107は、利用データ識別情報に基づいて、対象選別部106によって選別されたデータセット203を、サーバ装置200のデータ配信部201から取得し、キャッシュ部108に格納する。
キャッシュ部108に格納されたデータセット203は、移動端末100のアプリケーション(図示せず)によって利用される。
アクセス部110は、移動端末100のアプリケーション(図示せず)等から、いずれかのデータセット203内のデータに対するアクセス要求を受信する。アクセス部110は、当該データがキャッシュ部108に格納されていればキャッシュ部108から取得し、当該データがキャッシュ部108に格納されていなければサーバ装置200から通信経路を介して取得する。
図8は、要求時コスト算出部104の詳細な構成を示したものである。要求時コスト算出部104は、遅延コスト算出部120と、要求時コスト統合部121とを含み、ディスク装置等である遅延コスト定義記憶部606(図1では図示されず)と接続されている。
遅延コスト算出部120は、利用データ予測部102によって予測されたデータセット203を先読みせず、当該データを移動端末100のアプリケーション(図示せず)が利用しようとした時点でサーバ装置200から取得するときに発生する待ち時間(レイテンシ)に由来するコスト(遅延コスト)をデータセット203ごとに算出する。データセット203の取得時の待ち時間は通信回線の速度とデータセット203のサイズに依存し、待ち時間が短ければ遅延コストは小さく、長ければ遅延コストは大きい。図9の遅延コスト定義606は、このような考え方に基づいて定義した遅延コストの例である。遅延コスト定義606は、例えば、遅延コスト定義記憶部606に記憶されている。ここでは遅延コストはデータセット203取得時の待ち時間(遅延時間)の非線形かつ離散的な関数として遅延コスト定義記憶部606に格納されているが、線形関数や連続関数として格納されても良い。
遅延コスト算出部120は、利用データリスト601と通信状況予測リスト604と遅延コスト定義記憶部606から図10に示すような遅延コストリスト607を算出する。遅延コストリスト607は、利用データリスト601のデータセットD1(今日のニュース記事)に関する遅延コストを表す。遅延コスト算出部120は、データセットD1の予測データサイズ、通信状況予測リスト604の通信速度、遅延コスト定義記憶部606の遅延コストに基づいて、各時刻における遅延時間と遅延コストを算出している。遅延コスト算出部120は、遅延コストリスト607を表の代わりにグラフとして出力してもよく、例えば遅延コストL1(t)を図11の遅延コストグラフ608の形式で出力できる。
なお、ここで遅延コスト算出部120は、遅延コストはデータ取得にかかる時間のみによって決まるという仮定のもとで、図9に示す、あらかじめ記憶装置に格納された遅延コスト定義606に基づいて遅延コストを算出している。しかし、データやアプリケーションの種類によって遅延コストが変わることがある。例えばニュース記事の取得と地図データの取得にそれぞれ30秒かかる場合、利用者が「記事がすぐに見られなくても仕方がないが、地図はすぐに見たい」と思うならば、遅延時間が同じでも前者より後者のデータの方が、遅延コストが大きい。従って、遅延コスト定義記憶部606はデータやアプリケーションの種類ごとに異なるものが記憶されてもよい。
また、例えば利用者が昼食に利用したいと思っている飲食店の情報を、早朝に取得する際に時間がかかる場合よりも、昼食の直前に取得する際に時間がかかる場合の方が、相対的に遅延コストが大きいと考えられる。このように遅延コストがさまざまな条件に依存するような場合には、遅延コスト定義606によらず、遅延コスト算出部120が、時刻等の条件決定情報を取得した上で、当該情報に基づいて遅延コストを計算してもよい。
また、図10は、通信回線が利用できずデータが取得できない場合の損失を遅延コストとして遅延コスト定義606に含め、遅延コスト算出部120がそれに基づいて算出した遅延コストリスト607を示している(例えば13時〜18時の遅延コスト)。遅延コスト算出部120は、通信回線が利用できずデータが取得できない場合の損失を遅延コスト定義606によらず別途算出してもよい。
要求時コスト統合部121は、遅延コスト算出部120が算出した遅延コストに基づいて要求時取得コストを計算する。本実施形態において、要求時取得コストは遅延コストに等しいとみなすことができ、データセットDnに関する時刻tにおける要求時取得コストCon(t)は遅延コストLn(t)を用いて数式1のように表される。

Figure 2012176924
要求時コスト統合部121は、遅延コストと同様に、要求時取得コストCon(t)を表として出力してもよいし、グラフとして出力してもよい。図12の要求時取得コストグラフ609は、グラフとして出力された場合の例を示す。
以上のようにして要求時コスト算出部104が算出した要求時取得コストCon(t)を用いて、図1のコスト期待値算出部105は、データセットDnの先読みを計画しなかった場合に予想されるコストの平均値Yn(コスト期待値)を次のように算出する。
コスト期待値算出部105は、まず、要求時コスト算出部104によって算出された要求時取得コストCon(t)を用いて、アクセス部110が時刻tまでにサーバ装置200からデータセットDnを取得することで発生するコスト(要求時取得コストの期待値)Yn(t)を計算する。例えば移動端末100のアプリケーション(図示せず)がデータセットD1(今日のニュース記事)を利用する時刻は図4の利用確率グラフ602(または図5の利用確率リスト603)のように確率P1(t)として表されているため、コスト期待値算出部105は、数式2に従って時刻tまでにデータセットD1を取得することで発生する、要求時取得コストの期待値Y1(t)を計算できる。
Figure 2012176924
例えば利用確率P1(t)が利用確率グラフ602のように表される場合、利用確率密度p1(t)は図13の利用確率密度610のようになり、要求時取得コストの期待値Y1(t)は要求時取得コストCo1(t)(=L1(t))と利用確率密度p1(t)とから図14のように算出される。図14の要求時取得コスト期待値グラフ611を参照すると、データセットD1を利用することが予想されている7時から8時までの間にY1(t)の値は0.6まで上昇し、その後は変化しない。なお、利用確率Pn(t)などがグラフでなく表として出力されている場合も、コスト期待値算出部105は同様に計算できる。
Yn(t)は、時刻tまでにデータセットDnを取得することで発生するコストの期待値を表しており、データセットDnの先読みを計画しなかった場合(先読みしない場合)に予想されるコスト、すなわちコスト期待値Ynはtが無限大のときのYn(t)の値に等しい。図14の例では、コスト期待値算出部105は、データセットD1に関するコスト期待値Y1を0.6と算出する。
図1の対象選別部106は、コスト期待値算出部105がデータセット203ごとに算出したコスト期待値Ynを参照して、実際に先読みするデータセット203を選別し、選別したデータセット203の利用データ識別情報を出力する。例えば、対象選別部106は、コスト期待値Ynが一定の閾値未満であるデータセット203については先読みの対象外とする。あるいは、対象選別部106が、キャッシュ部108の容量を考慮して予め設定されたデータサイズ(例えばキャッシュ容量の50%)を取得し、先読み対象のデータセット203のデータサイズの合計が当該データサイズに収まるように、コスト期待値Ynが低いデータセット203から順に先読み対象外としてもよい。すなわち、対象選別部106は、コスト期待値Ynが大きい順にデータセット203を先読み対象とする等して、コスト期待値Ynが大きなデータセット203を優先的に先読み対象とする。
図15は、対象選別部106が出力する、先読み対象データセット203のリストである抽出リスト612の構造と例とを示す図である。図15に示すように、抽出リスト612は利用データリスト601から先読み対象として抽出された、利用データ識別情報を含む。抽出リスト612は、時刻やのちの先読み最適化処理において利用されるコスト期待値Ynの組み合わせを含んでも良い。
なお、要求時取得コストグラフ609、利用確率密度610、要求時取得コスト期待値グラフ611の各コストはグラフで表されているが、遅延コストグラフ608と同様に、表として表現されてもよい。
次に、図1乃至A16を参照し、具体的な例を示して本実施の形態の動作について詳細に説明する。
図16は、本実施形態の全体の動作を示すフローチャートである。
まず、行動予測部101が、移動端末100の利用者の将来の操作内容や移動先などの行動を予測し、図2に示すような行動予定リスト600を生成し、出力する(図16のステップS101)。
次に、利用データ予測部102が、行動予測部101が生成した行動予定リスト600を入力する。利用データ予測部102と行動予測部101間の行動予定リスト600等の授受は、作業用の記憶域(図示せず)等を経由して行われる。他の情報の授受も同様である。
利用データ予測部102が、入力した行動予定リスト600に基づいて、利用データ予測部102が、移動端末100のアプリケーション(図示せず)が将来利用するデータセット203を予測して図3に示すような利用データリスト601、およびデータセット203の利用確率を表す図4のような利用確率グラフ602(あるいは図5のような利用確率リスト603。ここではグラフとして表現されるものとして説明する)をデータセット203ごとに生成し、出力する(ステップS102)。
次に、行動予測部101が生成した行動予定リスト600と通信環境に関する情報とに基づいて、通信状況予測部103が移動端末100の将来の通信状況を予測し、図6に示すような通信状況予測リスト604を生成し、出力する(ステップS103)。
次に、利用データリスト601と、利用確率グラフ602と、通信状況予測リスト604とに基づいて、要求時コスト算出部104が、データセット203を先読みせず、当該データを移動端末100のアプリケーション(図示せず)が利用しようとした時点でサーバ装置200から取得するときに発生する要求時取得コストである、図12の要求時取得コストグラフ609をデータセット203ごとに算出する。さらに、コスト期待値算出部105が、要求時取得コストグラフ609と利用確率グラフ602とに基づいて、要求時取得コスト期待値グラフ611とコスト期待値Ynをデータセット203ごとに算出する(ステップS104)。
次に、このようにして利用データリスト601のデータセット203ごとに算出したコスト期待値に基づいて、対象選別部106が、利用データリスト601の利用データ識別情報に対応するデータセット203を先読みすべきかどうかを判断して図15に示すような抽出リスト612を生成する(ステップS105)。
最後に、対象選別部106によって生成された抽出リスト612に基づいて、先読み部107は、サーバ装置200のデータ配信部201からデータセット203を取得し(ステップS106〜S107)、キャッシュ部108に格納する(ステップS108)。先読み部107は、先読みすべきと判断されたすべてのデータセット203を取得しキャッシュするまで、ステップS106〜S108を繰り返す。
なお、先読み対象のデータセット203の数が多い場合や、通信回線が低速あるいは不安定な場合、アプリケーションがデータセット203を利用するまでに当該データセット203の先読みが完了しないこともあり得る。抽出リスト612のコスト期待値Ynの値が大きいほど、先読みを行わなかった場合に発生するコストが大きいため、先読み部107は、ステップS107においてYnの値が大きいデータセット203から順に先読みするようにしてもよい。このようにすることで、移動端末100は、万一先読みが間に合わなかった場合に発生するコストを抑えることができる。
尚、移動端末100が、アプリケーションプログラムを、サーバ装置200から移動端末100にダウンロードして利用する構成の場合、データセット203は、当該アプリケーションプログラムを格納してもよい。すなわち、行動予定リスト600において、特定のアプリケーションが利用されるという予測が示されている場合、前述のステップS106において、移動端末100が、対応するアプリケーションプログラムをサーバ装置200のプログラムライブラリ等の特定のデータセット203から取得し、キャッシュ部108に格納するようにしてもよい。
なお、遅延コスト定義記憶部606は存在しなくても良い。この場合、遅延コスト算出部120は、例えば、遅延時間をそのまま遅延コストにする。各データセット203のサイズが一律である場合、利用データリスト601は、予想データサイズを包含しなくても良い。
(第1の実施形態の変形1)
利用データ予測部102は、利用データの予測に於いて、利用確率グラフ602等で表される利用確率を予測する代わりに、利用する時刻だけを予想しても良い。これは、当該時刻に確率=1でデータの利用が発生することを予想することになる。
この場合、利用データ予測部102は、利用データリスト601に、利用確率の代わりに利用予想時刻を含めて出力する。コスト算出部109は、当該利用予想時刻における遅延時間を、対応するデータセット203の予想データサイズを当該利用予想時刻における通信速度で除して算出し、要求時取得コストとして出力する。この場合、当該利用予想時刻における利用確率は1である為、要求時取得コストはそのままコスト期待値Ynである。従って、コスト算出部109は、要求時取得コストをそのままコスト期待値Ynとして、対象選別部106に出力できる。
本変形に於いて、コスト算出部109は、コスト期待値算出部105を包含しなくても良い。
(第1の実施形態の変形2)
第1の実施形態において、データセット203の取得コストは遅延コストであった。取得コストは通信コストであっても良い。通信コストは、通信に応じて発生するコストであり、例えば、通信料金、移動端末100における消費電力、サーバ装置200の利用料金である。
この場合、通信状況予測部103は、通信状況の予測に於いて、通信速度を予測する代わりに、通信コストを予測し、通信状況予測リスト604に、通信速度の代わりに通信コストを含めて出力する。
なお、通信にかかる消費電力量は、有線通信と無線通信では異なるし、さらに無線通信の場合は、移動端末100がいる位置等によっても異なる。通信状況予測部103は、移動端末100の位置予想と、当該位置対応の消費電力量情報から、通信にかかる消費電力量を予想しても良い。
本変形に於いて、コスト算出部109は、遅延コストの代わりに通信コストを取得コストとして用いて、要求時取得コストグラフ609や要求時取得コスト期待値グラフ611を算出する。その後、コスト算出部109は、要求時取得コスト期待値グラフ611からコスト期待値Ynを得て、対象選別部106に出力する。
(第1の実施形態の変形3)
図17は、本発明の第1の実施形態の変形例3の構成を示すブロック図である。図17を参照すると、本形態の情報処理装置700(移動端末900)は、サーバ装置200とおよび予測装置800と通信経路(図示せず)を介して接続されている。
本形態の移動端末900は、第1の形態と同じ、コスト算出部109と、対象選別部106と、先読み部107と、キャッシュ部108と、アクセス部110とを含む。本形態の移動端末100は、さらに、予測記憶部111と、予測取得部112とを含む。予測記憶部111は、ディスク装置等の記憶装置である。予測取得部112は、予測装置800から、利用データリスト601、利用確率リスト603、通信状況予測リスト604等を取得して、予測記憶部111に格納する。本形態のコスト算出部109は、予測記憶部111から、利用データリスト601、利用確率リスト603、通信状況予測リスト604等を読み出して、コスト期待値Yn等を算出する。予測記憶部111は、遅延コスト定義606等を格納していても良い。
なお、本形態の移動端末900は、行動予測部101と、利用データ予測部102と、通信状況予測部103は、包含しなくても良い。また、予測装置800は、行動予測部101と、利用データ予測部102と、通信状況予測部103と同様な方法で、利用データリスト601、利用確率リスト603、通信状況予測リスト604等と同じ方法で取得しても良いし、他の公知の方法を利用して取得しても良い。
本実施形態における効果は、データの利用が予測される時点の取得コストが高いデータセット203を優先的に先読みできることである。従って、データを、利用が予測される時点のコストより低いコストで取得できる可能性が高い。
その理由は、コスト算出部109が複数のデータセット203のおのおのについて利用が予測される時点の取得コストまたはその期待値を算出し、その値が大きいデータセット203を対象選別部106が優先的に選別し、選別されたデータセット203を先読み部107が先読みするからである。
(第2の実施形態)
図18は、本発明の第2の実施形態の構成を示すブロック図である。図18を参照すると、本実施形態の情報処理装置700(移動端末300)は、サーバ装置200と通信経路(図示せず)を介して接続される。本発明の第1の実施形態と比較して、本実施形態の移動端末300は、データセット203の取得の際に通信料金がかかることを考慮してデータセット203の先読みを行うかどうかを判断し、さらに先読みを行う場合は先読みのタイミングを選ぶことでデータセット203の取得コストを小さくする。
移動端末300は、図1に示す第1の実施形態の移動端末100と比べて、先読みコスト算出部309、先読み計画時コスト算出部310、先読み計画部311が追加されている。さらに、コスト算出部109がコスト算出部312に、要求時コスト算出部104が要求時コスト算出部304に、対象選別部106が対象選別部306に、先読み部107が先読み部307に、それぞれ置き換えられている。これらの変更点以外は第1の実施形態と同様の構成となっており、同一構成要素には同一符号を付してある。
先読みコスト算出部309は、利用データ予測部102によって予測されたデータセット203を先読みするときに発生する通信料金を、先読み実行時コストとしてデータセット203ごとに算出する。
要求時コスト算出部304は、利用データ予測部102によって予測されたデータセット203を先読みせず、当該データを移動端末100のアプリケーション(図示せず)が利用しようとした時点でサーバ装置200から取得するときに発生する各種のコストを、データセット203ごとに要求時取得コストとして算出する。このコストには、待ち時間(レイテンシ)のコストと通信料金が含まれる。
先読み計画時コスト算出部310は、データセット203ごとに、先読みコスト算出部309が算出した先読み実行時コストと、要求時コスト算出部304が算出した要求時取得コストと、利用データ予測部102が予測したデータセット203の利用確率とに基づいて、データセット203の先読みを計画した場合に予想されるコスト(以後、先読み計画時コストと記述する)を算出する。
対象選別部306は、先読み計画時コスト算出部310によって算出された先読み計画時コストと、コスト期待値算出部105によって算出されたコスト期待値を比較し、当該データセット203の先読みを行うべきかどうかを判定する。具体的には、先読み計画時コストの方がコスト期待値よりも大きいか等しくなるデータセット203については、それらを先読み対象から除外し(先読みを行わず)、逆に、先読み計画時コストの方がコスト期待値よりも小さくなるデータセット203については、それらの利用データ識別情報を出力する。
先読み計画部311は、通信状況予測部103によって予測された将来の通信状況に基づいて、対象選別部306が先読みすべきと判断して選別したデータセット203をサーバ装置200から取得する際に発生するコストの総和が最小となるように、順序とタイミングを計画する。
先読み部307は、先読み計画部311が決定した先読み計画に基づいて、サーバ装置200のデータ配信部201からデータセット203を取得し、キャッシュ部108に格納する。
図19は、先読みコスト算出部309の詳細な構成を示したものである。先読みコスト算出部309は、通信料金算出部320と、先読みコスト統合部321とを含み、ディスク装置等である通信料金情報記憶部613(図18では図示されず)と接続されている。
通信料金情報記憶部613は、例えば、通信料金情報613を記憶する。通信料金情報613は通信回線ごとの通信料金を表すもので、その構造と例を図20に示す。
通信料金算出部320は、利用データ予測部102によって予測されたデータセット203を先読みするときに発生する通信料金を、通信状況予測部103によって予測された通信状況と、通信料金情報613とに基づいて、データセット203ごとに算出する。例えば利用データリスト601のデータセットD1(今日のニュース記事)に関して、通信料金算出部320は、当該データセット203を先読みするときに発生する通信料金R1(t)を、データセットD1の予測データサイズと、通信状況予測リスト604の「利用可能な通信回線」と、通信料金情報613とから図21の通信料金リスト614のように計算する。通信料金リスト614のR1(t)は、グラフで表すと図22の通信料金グラフ615ようになる。なお、ここで、無限大(∞)は、例えば、通信料金としてあり得ない高い値を意味する値である。
先読みコスト統合部321は、通信料金算出部320が算出した通信料金Rn(t)に基づいて、サーバ装置200からデータセット203を先読みすることで発生するコスト(先読みコスト)を計算する。例えば、時刻tにおける先読みコストCpn(t)は通信料金Rn(t)に比例するものとし、その係数をk1(>0)とすれば、先読みコストCpn(t)は数式3のように表される。
Figure 2012176924
先読みコスト統合部321は、要求時取得コストCpn(t)を表として出力してもよいし、グラフとして出力してもよい。例えばk1=1.0のとき、利用データ予測部102が予測した利用データリスト601の中のデータセットD1に関する先読みコストCp1(t)のグラフは、図23の先読みコストグラフ616のようになる。
図24は、要求時コスト算出部304の詳細な構成を示したものである。要求時コスト算出部304は、遅延コスト算出部120と、通信料金算出部320と、要求時コスト統合部322とを含み、遅延コスト定義記憶部606と、通信料金情報記憶部613と接続されている。
遅延コスト算出部120と遅延コスト定義記憶部606は、本発明の第1の実施形態における遅延コスト算出部120と遅延コスト定義記憶部606と同一である。また、通信料金算出部320と通信料金情報記憶部613は先読みコスト算出部309に含まれるものと同じ機能を持ち、先読みコスト算出部309と要求時コスト算出部304との間で共有される構成としてもよい。
要求時コスト統合部322は、通信料金算出部320によって算出された通信料金Rn(t)と遅延コスト算出部120によって算出された遅延コストLn(t)に基づいて、サーバ装置200からデータセット203を取得する際に発生する要求時取得コストを計算する。要求時コスト統合部322は、例えば、統合関数U2を用いて、時刻tにおいてデータセットDnを取得する場合のコストである要求時取得コストCon(t)を、数式4により計算する。
Figure 2012176924
統合関数U2は、例えば数式5のような線形結合関数であってもよい。
Figure 2012176924
ここでk1とk2は通信料金Rn(t)と遅延コストLn(t)から要求時取得コストを算出する際に用いる重み係数である。k1とk2は、通常正の値であるが、一方を0としても良い。例えばデータセット203の取得にかかる通信料金を抑えるには、k1をk2より大きくする。逆に、データセット203の取得に時間がかかることや取得できないことが問題である場合は、k2をk1より大きくする。
なお、数式5のk1と数式3のk1は必ずしも同じ値である必要はないが、先読みコストと要求時取得コストに含まれる通信料金の影響の程度は同じと考えられるため、k1として同じ値を用いるのが一般的である。
図25の要求時取得コストグラフ617は、利用データ予測部102が予測した利用データリスト601の中のデータセットD1に関して、図11に示す遅延コストL1(t)と図22に示す通信料金R1(t)とから算出した要求時取得コストCo1(t)のグラフである(k1=1.0、k2=100.0としている)。
なお、13時から18時の間は通信不可能であり、通信料金R1(t)の値は存在しないが、この区間にデータセットD1の先読みを予定しないようにするために、先読みコスト算出部309は、この区間の通信料金を無限大として算出する。
以上のようにして先読みコスト算出部309が算出した先読みコストCpn(t)、および要求時コスト算出部304が算出した要求時取得コストCon(t)を用いて、図17のコスト期待値算出部105が先読みを計画しなかった場合に予想されるコスト(コスト期待値)を算出する。また、先読み計画時コスト算出部310が先読みを計画した場合に予想されるコスト(先読み計画時コスト)を算出する。これらの方法を、以下にそれぞれ説明する。
コスト期待値算出部105がコスト期待値Ynを算出する方法は、本発明の第1の実施形態と同じである。すなわち、コスト期待値算出部105は、数式4に従って算出される要求時取得コストCon(t)を用い、数式2に基づいて要求時取得コストの期待値Yn(t)を算出し、tが無限大のときのYn(t)の値であるコスト期待値Ynを算出する。
例えばデータセットD1に関する要求時取得コストの期待値Y1(t)のグラフは、図25のCo1(t)と図13のp1(t)とから、図26の要求時取得コスト期待値グラフ618のように算出される。図26を参照すると、データセットD1を利用することが予想されている7時から8時までの間にYn(t)の値は140まで上昇し、その後は変化しない。従ってコスト期待値Ynは140となる。
先読み計画時コスト算出部310は、時刻tにデータセットDnの先読みを行う場合に予想されるコストの平均値Xn(t)(先読み計画時コスト)を、数式6によって算出する。
Figure 2012176924
ここで、Pn(t)は利用データ予測部102が予測したデータセットDnの利用確率である。また、Yn(t)は数式2に基づいて前記のコスト期待値算出部105が算出した要求時取得コストの期待値である。数式6の右辺における(1−Pn(t))は、移動端末100のアプリケーション(図示せず)が時刻tまでデータセットDnを利用しない確率を表している。データセットDnの先読みを行う前にアプリケーションが当該データを利用しようとした場合は、当該データの要求時取得が行われ、それ以降に先読みは行われないのであるから、右辺の前半では時刻tで実際に先読みを行うことで発生するコストの平均値を表している。また、右辺の後半は、時刻tで先読みを行うことを計画したものの、それ以前にアプリケーションが(時刻tまでのいずれかの時点で)データセットDnを利用した場合に発生するコストの平均値を表している。このようにして、先読み計画時コスト算出部310は、先読み計画時コストXn(t)を算出する。
例えばデータセットD1に関する先読み計画時コストX1(t)のグラフは、図4の利用確率グラフ602と、図23の先読みコストグラフ616と、図26の要求時取得コスト期待値グラフ618とから、図27の先読み計画時コストグラフ619のようになる。先読み計画時コストグラフ619を参照すると、7時までは先読みコストX1(t)はゼロであり、データセットD1を利用することが予想されている7時から8時までの間の先読み計画時コストX1(t)は100から160まで増加する。
図17の対象選別部306は、先読み計画時コストXn(t)(データセットD1に関しては図27の先読み計画時コストグラフ619で示される)と、コスト期待値Yn(データセットD1に関しては図26の要求時取得コスト期待値グラフ618の、時刻tが無限大のときの値として示される)を比較する。もしXn(t)<Ynとなる区間tが存在すれば、その区間で当該データセット203の先読みを行えば、先読みを行わない場合と比較してコストを抑制できるため先読みすべきと判断し、それらの利用データ識別情報を出力する。
例えばデータセットD1に関して、先読み計画時コストX1(t)は先読み計画時コストグラフ619に示されるが、コスト期待値Y1は要求時取得コスト期待値グラフ618から140であるが、7時40分より前の区間でX1(t)<Y1(=140)となるため、7時40分までに先読みすべきと判断される。
図28は、対象選別部306が先読みすべきと判断して出力する、データセット203のリストである抽出リスト620の構造と例とを示す図である。抽出リスト620は、図15に示す第1の実施形態の抽出リスト612と比較して、先読み計画時コストXn(t)を含む点が異なる。先読み計画時コストXn(t)は、コスト期待値Ynとともに、のちの先読み最適化処理において利用される。
先読み計画部311は、抽出リスト620を参照して、先読みすべきと判断された各データセット203を先読みする最適な時刻(コストが最小となる時刻)を算出する。このとき、先読み計画部311は、データセット203の先読みにかかる時間を見積もったり、通信回線が利用できない時間帯に先読みを計画しないようにしたりするため、通信状況予測リスト604を参照する。
個別のデータセット203に関して最適な先読み時刻は、その先読み計画時コストXn(t)が最小となる時刻であるが、そのような時刻は互いに重複することがある。そのため、各データセット203の先読みタイミングが重複しないという条件で、先読み計画時コストXn(t)の総和が最小となるように先読み計画部311がデータセット203ごとに先読み時刻tをスケジューリングし、その結果を計画リスト621として出力する。このような問題はいわゆるスケジューリング問題として知られており、ここでは詳細な手法についての説明は省略する。
図29は計画リスト621の構造と例とを示す図である。図29に示すように、計画リスト621は、利用データ識別情報、取得開始時刻の組み合わせを含む。
なお、先読み計画部311は、スケジューリング処理の際に抽出リスト620に含まれるデータセット203の一部を先読みしないという判断を行ってもよい。これには、例えば抽出リスト620に含まれるデータセット203が非常に多いため全てのデータを先読みできない場合や、計画された先読み時刻tにおける先読み計画時コストXn(t)がコスト期待値Ynと同じかそれ以上となり、当該データを先読みすると却ってコストが高くなる場合が含まれる。データセット203の先読みを行わない場合は要求時取得コストYnが発生するため、当該データセット203の先読みコストとして、先読み計画時コストXn(t)の代わりにコスト期待値Ynを用いる。このようにすることで、全体として最もコストが小さくなるように先読み対象から除外するデータセット203を選択する処理を、スケジューリング処理の一部に含めることができる。
また、対象選別部306が、先読みを計画しなかった場合に発生するコストが小さいデータセット203について先読み対象から除外するようにしてもよい。このようなデータセット203としては、例えばコスト期待値Ynと先読み計画時コストXn(t)の最小値の差が小さなものが該当する。先読み計画部311がスケジューリングを行う際の計算量は、スケジューリング対象である抽出リスト620のデータセット203数の増加につれて爆発的に増大するが、このように対象選別部306が先読み対象を絞り込むことで、先読み計画部311の計算量を抑制できる。
本実施の形態において、データセット203を取得する際の通信料金だけでなく、他の通信コスト、例えば移動端末300やサーバ装置200の消費電力、あるいはサーバ装置200の処理時間に応じた利用料金などを考慮してコストを算出するようにしても良い。このようなコストは、図19や図24の通信料金算出部320が、データセット203の取得に必要な通信料金をコストとして算出し、先読みコスト統合部321や要求時取得コスト統合部322が当該コストを他のコストと統合するのと同様の方法で算出できる。このようにすることで、データセット203を先読みする場合と先読みしない場合のコストをより正確に比較することができる。
次に、図18乃至図30を参照し、具体的な例を示して本実施の形態の動作について詳細に説明する。
図30は、本実施形態の全体の動作を示すフローチャートである。図30のステップS201〜S203は、図16に示す第1の実施形態のステップS101〜S103と同じであるので、説明は省略する。
ステップS204において、先読みコスト算出部309は、利用データリスト601と、利用確率グラフ602と、通信状況予測リスト604とに基づいて、データセット203を先読みするときに発生する先読みコストである、図23の先読みコストグラフ616をデータセット203ごとに算出する。また、要求時コスト算出部304は、利用データリスト601と、利用確率グラフ602と、通信状況予測リスト604とに基づいて、データセット203を先読みせず、当該データを移動端末100のアプリケーション(図示せず)が利用しようとした時点でサーバ装置200から取得するときに発生するコストである、図25の要求時取得コストグラフ617をデータセット203ごとに算出する。さらに、先読みコストグラフ616と、要求時取得コストグラフ617と、利用確率グラフ602とに基づいて、先読み計画時コスト算出部310が先読み計画時コストグラフ619をデータセット203ごとに算出し、コスト期待値算出部105が要求時取得コスト期待値グラフ618とコスト期待値Ynをデータセット203ごとに算出する。
次に、このようにして利用データリスト601のデータセット203ごとに算出した先読み計画時コスト、およびコスト期待値に基づいて、対象選別部306が、利用データリスト601の利用データ識別情報に対応するデータセット203を先読みすべきかどうかを判断して図28に示すような抽出リスト620を生成する(ステップS205)。
先読み計画部311は、通信状況予測部103によって予測された将来の通信状況である通信状況予測リスト604に基づいて、対象選別部306が生成した抽出リスト620に示されるデータセット203をサーバ装置200から取得する時刻を計画し、計画リスト621を生成し、出力する(ステップS206)。
最後に、先読み計画部311によって生成された計画リスト621に基づいて、先読み部307は、サーバ装置200のデータ配信部201からデータセット203を取得し(ステップS207〜S208)、キャッシュ部108に格納する(ステップS209)。先読み部307は、計画リスト621にあるすべてのデータセット203を取得しキャッシュするまで、ステップS207〜S209を繰り返す。
(第2の実施形態の変形1)
第1の実施形態と同様に、利用データ予測部102は、利用データの予測に於いて、利用確率グラフ602等で表される利用確率を出力する代わりに、利用予想時刻だけを出力しても良い。
この場合、先読み計画時コスト部310が算出する、データセット203の先読み計画時コストグラフ619は、利用予想時刻前は先読みコストグラフ616と、それ以降はコスト期待値Yn(本変形に於いては要求時取得コストでもある)と一致する。したがって、対象選別部306は、利用予想時刻以前の時間帯内に、Xn(t)<Ynとなる区間tが存在すれば、そのデータセット203を当該区間tの何れかの時点で、先読みすべきと判断する。
(第2の実施形態の変形2)
本実施の形態でも、本発明にかかる情報処理装置700(移動端末300)は、第1の実施形態に於ける図17と同様な構成を取ることが出来る。本実施形態の予測取得部112は、予測装置800から、利用データリスト601、利用確率リスト603、通信状況予測リスト604、通信料金リスト614等を取得して、予測記憶部111に格納する。本形態のコスト算出部109は、予測記憶部111から、利用データリスト601、利用確率リスト603、通信状況予測リスト604、通信料金リスト614等を読み出して、先読み計画時コストXn(t)、コスト期待値Yn等を算出する。
(第2の実施形態の変形3)
対象選別部306は、抽出リスト620を作成する際に、先読み計画時コストXn(t)、コスト期待値Ynの代わりに、先読み区間、または、先読み区間内の一時点を取得開始時刻として抽出リスト620に含めても良い。取得開始時刻は、例えば、先読み区間内で、先読みコストが最低になる時点である。また、この場合、先読み計画部311は存在せず、先読み部307が、抽出リスト620に基づいて、利用データ識別情報で示されるデータセット203を、取得開始時刻に読み込んでも良い。
上述した本実施形態における第1の効果は、データの利用が予測される時点の取得コストと先読みするコストを対比した上で、先読みコストの方が低いデータを、先読みコストが低いタイミングを選択して先読みが行える点である。
その理由は、コスト算出部312が複数のデータセット203のおのおのについて利用が予測される時点の取得コスト、及び、先読み実行時の先読みコストを算出し、対象選別部306が、その両者に基づいて先読みするデータセット203を選択し、その先読みすべきタイミングを選択するからである。
上述した本実施形態における第2の効果は、より多くのデータセット203を対象として先読み時刻をスケジューリングできるようになる点である。
その理由は、先読みを計画しなかった場合に発生するコストが小さいデータセット203については、先読み計画部311がデータセット203の最適な先読み時刻をスケジューリングする前に対象選別部306が先読み対象から除外するようにすることで、先読み計画部311がスケジューリングを行うの際の計算量を抑制できるからである。
(第3の実施形態)
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。
本発明の第3の実施形態の情報処理装置700(移動端末300)の構成は、図18に示す本発明の第2の実施形態の構成と同様であるが、先読みコスト算出部309が図31に示す先読みコスト算出部309bに置き換えられている点で第2の実施形態の構成とは異なる。
本形態の移動端末300は、データセット203を先読みしキャッシュ部108に格納した後、当該データセット203を移動端末300のアプリケーション(図示せず)が利用しようとした時点では、サーバ装置200上にある最新のデータと比較して一般的にその内容が古くなっている(鮮度劣化する)ことを考慮し、不必要に早い時点で先読みを行わないように先読みのタイミングを選択する。
図31は、第3の実施形態における先読みコスト算出部309bの詳細な構成を示したものである。先読みコスト算出部309bは、通信料金算出部320と、鮮度劣化コスト算出部323と、先読みコスト統合部324とを含み、ディスク装置等である通信料金情報記憶部613および鮮度劣化コスト定義記憶部622(図18では図示されず)と接続されている。第3の実施形態における先読みコスト算出部309bは、利用データ予測部102によって予測されたデータセット203を先読みするときに発生する通信料金と、先読みしたデータセット203の鮮度劣化に由来するコスト(鮮度劣化コスト)を、先読み実行時コストとしてデータセット203ごとに算出する。
図31の通信料金算出部320と通信料金情報613は、本発明の第2の実施形態の先読みコスト算出部309に含まれるものと同じである。
鮮度劣化コスト算出部323は、利用データ予測部102によって予測されたデータセット203を先読みした後に発生する鮮度劣化コストを、鮮度劣化コスト定義記憶部622に格納されている鮮度劣化コスト定義に基づいて、データセット203ごとに算出する。データセット203の鮮度劣化コストは、データの先読みを行ってから当該データをアプリケーションが利用するまでの時間の長さに依存し、その時間が短ければ鮮度劣化は小さく、長ければ鮮度劣化は大きい。図32の鮮度劣化コストグラフ623はこのような考え方に基づいて、鮮度劣化コスト算出部323が算出した鮮度劣化コスト定義の一例である。F1(t)は、時刻tにデータセットD1を先読みしたときの鮮度劣化コストを表している。この例は、図4の利用確率グラフ602、あるいは図5の利用確率リスト603に示されるように、データセットD1の利用確率が7時〜8時で0.8と予測されているとき、概ね7時より前に先読みする場合の鮮度劣化コストは最大値0.8となり、概ね8時より後に先読みする場合の鮮度劣化コストは最小値の0となることを示す。鮮度劣化コストFn(t)の計算方法は後述する。
先読みコスト統合部324は、通信料金算出部320によって算出された通信料金Rn(t)と鮮度劣化コスト算出部323によって算出された鮮度劣化コストFn(t)に基づいて、データセットDnを先読みする際に発生する先読みコストを計算する。先読みコスト統合部324は、例えば、統合関数U3を用いて、時刻tにおいてデータセットDnを取得する場合のコストである先読みコストCpn(t)を、数式7により計算する。
Figure 2012176924
統合関数U3は、例えば数式8のような線形結合関数であってもよい。
Figure 2012176924
ここでk1とk3は通信料金Rn(t)と鮮度劣化コストFn(t)から先読みコストを算出する際に用いる重み係数である。k1とk3は、通常正の値であるが、一方を0としても良い。なお、図24の要求時コスト統合部322が要求時取得コストCon(t)を算出する際に用いる数式5の統合関数U2に含まれるk1と、前記の数式8のk1は必ずしも同じ値である必要はないが、先読みコストと要求時取得コストに含まれる通信料金の影響の程度は同じと考えれば、k1として同じ値を用いても良い。
図33の先読みコストグラフ624は、利用データ予測部102が予測した利用データリスト601の中のデータセットD1に関して、鮮度劣化コスト算出部323が算出した図32に示す鮮度劣化コストグラフ623と、通信料金算出部320が算出した図22に示す通信料金グラフ615とから算出した先読みコストCp1(t)のグラフである。ここでは、k1=1.0、k2=k3=100.0としている。
以上のようにして先読みコスト算出部309bが算出した先読みコストCpn(t)、および要求時コスト算出部304が算出した要求時取得コストCon(t)を用いて、図18のコスト期待値算出部105が先読みを計画しなかった場合に予想されるコスト(コスト期待値)を算出する。先読み計画時コスト算出部310が先読みを計画した場合に予想されるコスト(先読み計画時コスト)を算出する。それらの方法は、それぞれ第2の実施形態(その変形を含む)における方法と同じであるので、詳細な説明は省略する。
例えばデータセットD1に関する要求時取得コストの期待値Y1(t)のグラフは図26の要求時取得コスト期待値グラフ618と同じであり、コスト期待値Ynは140となる。また、先読み計画時コストX1(t)のグラフは、図4の利用確率グラフ602と、図33の先読みコストグラフ624と、図26の要求時取得コスト期待値グラフ618とから、図34の先読み計画時コストグラフ625ようになる。図27に示す、第2の実施形態における先読み計画時コストグラフ619との違いは、概ね8時より前の区間で鮮度劣化コストが加味された値となっている点である。
対象選別部306が、このようにして算出された先読み計画時コストXn(t)とコスト期待値Ynを比較して、先読みすべきデータセット203を判断する方法は、第2の実施形態における方法と同じである。例えばデータセットD1に関して、先読み計画時コストX1(t)は図34の先読み計画時コストグラフ625に示されるが、7時より前の区間でX1(t)<Y1(=140)となるため、7時までに先読みすべきと判断される。
その後、先読み計画部311が先読み時刻をスケジューリングし、先読み部307がサーバ装置200のデータ配信部201からデータセット203を取得してキャッシュ部108に格納する方法も、第2の実施形態における方法と同じである。
鮮度劣化コスト算出部323は、図32の鮮度劣化コストグラフ623に示されるような鮮度劣化コストFn(t)を、例えば次のようにして計算する。まず、鮮度劣化コスト算出部323は、データセットDnに関する基本鮮度劣化fn(t)を入力する。基本鮮度劣化fn(t)は、例えば、移動端末300の利用者により、鮮度劣化コスト定義記憶部622に基本鮮度劣化グラフ626として格納される。鮮度劣化コスト定義記憶部622に格納される基本鮮度劣化fn(t)は、一つでも良いし、データやアプリケーションの種類対応に異なったものを格納されても良い。図35の基本鮮度劣化グラフ626は、データセットD1に関する基本鮮度劣化f1(T)の例を示している。f1(T)の値は、データセットD1をサーバ装置200から先読みした後の経過時間Tに対する鮮度劣化の度合いを示しており、データセットD1の先読み後、3600秒(1時間)が経過すると最大値1.0となる。データセットDnに関する鮮度劣化コストFn(t)は、基本鮮度劣化fn(t)と、データセットDnの利用確率密度pn(t)を用いて、数式9に従って算出される。鮮度劣化コスト算出部323は、算出後、鮮度劣化コストFn(t)を鮮度劣化コスト定義記憶部622に格納する。
Figure 2012176924
ここで、tはデータセットDnの先読み時刻、uはデータセットDnの利用時刻である。また、fn(u−t)は(u−t)<0においては0とする(すなわち、データセットDnを先読みする前に当該データを利用した場合は、鮮度劣化はないものとみなす)。図32の鮮度劣化コストグラフ623は、データセットD1に関して、このようにして計算されたF1(t)を示している。鮮度劣化コストグラフ623の7時と8時付近のグラフの曲率は、基本的には図13の利用確率密度610の分散によって変化する。
鮮度劣化コストグラフ623は、厳密には以上のようにして計算されるが、鮮度劣化コスト算出部323は、例えば図36の鮮度劣化コストグラフ627のように単純化したものを生成してもよい。
また、図35の基本鮮度劣化グラフ626は、一般にはデータやアプリケーションの種類によってさまざまである。例えば地図データは変化しにくいため鮮度劣化は小さいが、鉄道の運行情報は頻繁に変化するため鮮度劣化は大きい。そのため、地図データは取得後3年間をかけて価値が緩やかに減少する(鮮度劣化が1.0まで上昇する)ようにしてもよいし、鉄道の運行情報は取得後10分で価値が半減する(鮮度劣化が0.5まで上昇する)ようにしてもよい。
本実施の形態において、データセット203を先読みしてキャッシュ部108に格納した後、定期的に当該データセット203をサーバ装置200から取得して更新するような場合には、先読みしたデータセット203の更新のために必要な通信料金などのコストを、先読みコスト算出部309bがさらに算出して、先読みコストCpn(t)に加算するようにしても良い。(第3の実施形態の変形)
第1の実施形態と同様に、利用データ予測部102は、利用データの予測に於いて、利用確率グラフ602等で表される利用確率を出力する代わりに、利用予想時刻uだけを出力しても良い。この場合、Fn(t)はfn(u−t)となる。従って、鮮度劣化コスト算出部323は、特にFn(t)を算出せず、鮮度劣化コスト定義記憶部622に記憶されている基本鮮度劣化グラフ626を参照してfn(u−t)を算出し、Fn(t)の値としても良い。
上述した本実施形態における効果は、不必要に早い時点で先読みを行わないように先読みのタイミングを選択できることである。このため、時間経過と共に更新され得るデータセット203を先読みしてキャッシュ部108に格納した後、当該データセット203を移動端末300のアプリケーション(図示せず)が利用しようとした時点では、古くなっているという可能性を低下できる。その理由は、先読みコスト算出部309bが、先読み実行時のデータセット203の鮮度劣化fn(t)を反映した先読みコストを算出するからである。
(第4の実施形態)
次に、本発明の第4の実施形態について図面を参照して詳細に説明する。
図37は、本発明の第4の実施形態の構成を示すブロック図である。図37を参照すると、本実施形態の情報処理装置700(サーバ装置500)は、移動端末400と通信経路(図示せず)を介して接続される。
移動端末400は、行動情報収集部401と、先読み部307と、キャッシュ部108と、アクセス部110とを含む。
サーバ装置500は、行動予測部101と、利用データ予測部102と、通信状況予測部103と、コスト算出部312と、対象選別部306と、先読み計画部311と、データ配信部201と、データ記憶部202とを含む。コスト算出部312は、先読みコスト算出部309と、先読み計画時コスト算出部310と、要求時コスト算出部304と、コスト期待値算出部105とを含む。
本実施形態に於いては、図17に示す第2の実施形態と比較して、行動予測部101と、利用データ予測部102と、通信状況予測部103と、コスト算出部312と、対象選別部306と、先読み計画部311とが移動端末400ではなくサーバ装置500に存在する点が異なる。さらにまた、第2の実施形態と比較して、移動端末400に行動情報収集部401が追加されている点が異なる。尚、第2の実施形態と同一の構成要素には同一符号を付してある。
移動端末400の行動情報収集部401は、例えば利用者の過去の移動端末400の操作履歴や移動履歴など、行動予測部101が利用者の行動(行動予定情報)を予測するのに必要な行動情報を収集してサーバ装置500に送信する。
次に、図37および図38を参照して、本実施の形態の全体の動作について詳細に説明する。
図38は、本実施形態の全体の動作を示すフローチャートである。
まず、移動端末400の行動情報収集部401は、例えば移動端末400の操作履歴や移動履歴などの行動情報を収集してサーバ装置500に送信する(図38のステップS31)。
次に、サーバ装置500の行動予測部101は、受信した行動情報に基づいて、移動端末400の利用者の将来の操作内容や移動先などの行動を予測する(図14のステップS302)。
これに続く、ステップS303〜S307は、図30に示す第2の実施形態のステップS202〜S206と同じであるので、説明は省略する。
次に、先読み計画部311によって生成された図29に示すような計画リスト621が先読み部307に転送される(ステップS308)。続けて、先読み部307は、計画リスト621に基づいて、サーバ装置500のデータ配信部201からデータセット203を取得し(ステップS309〜S310)、キャッシュ部108に格納する(ステップS311)。
尚、先読み計画部311は、ステップS308において計画リスト621を転送する際、一度に転送するのではなく複数回に分けて転送するようにしてもよい。例えば、ステップS308において、先読み計画部311は、先読み部307が最初に先読みすべきデータセット203(例えば、計画リスト621の一行目(データセットD1)の識別情報)のみ転送しても良い。先読み部307が、当該データセット203をサーバ装置500から取得し、キャッシュ部108への格納を終えた後(ステップS309〜S311)、ステップS308に戻って、先読み計画部311が、計画リスト621の次に先読みすべきデータセット203(例えばD6)の識別情報を転送する、ということを繰り返すようにしてもよい。あるいは、計画リスト621の次の識別情報を、ステップS310でデータセット203を先読みする際に同時に転送するようにしてもよい。
また、本実施形態ではサーバ装置500が先読み対象の計算とデータ配信の機能を持っているが、これらの機能を複数の異なるサーバ装置に配置するように構成してもよい。すなわち、図37のサーバ装置500は、行動予測部101と、利用データ予測部102と、通信状況予測部103と、先読みコスト算出部309と、先読み計画時コスト算出部310と、要求時コスト算出部304と、コスト期待値算出部105と、対象選別部306と、先読み計画部311とを含む先読み対象計算サーバ装置と、データ配信部201を含むデータ配信サーバ装置とで構成してもよい。
また、移動端末400のアプリケーション(図示せず)がサーバ装置500のアプリケーション(図示せず)と定期的に通信しており、その通信の状況からサーバ装置500の行動予測部101が移動端末400の現在位置、将来の移動先、ユーザの操作などを推定できる場合には、本実施の形態は、行動情報収集部401を含まない構成としてもよい。このような通信の例としては、現在位置周辺の地図を表示するWebアプリケーションにおいて、現在位置をパラメータとしてサーバ装置500に地図画像を要求するものなどが挙げられる。
あるいは、移動端末400から得られる情報を用いずに、サーバ装置500に蓄積されているスケジュールなどの各種データセット203(図示せず)のみから行動予測部101が移動端末400の現在位置、将来の移動先、ユーザの操作などを推定できる場合、本実施の形態は、行動情報収集部401を含まない構成としてもよい。
また、第1の実施形態と同様に、本発明の情報処理装置700が、先読み計画部311を持たず、算出部312の代わりにコスト算出部109を、対象選別部306の代わりに対象選別部106を持つ構成としてもよい。
また、第3の実施形態と同様に、先読みしたデータセット203の鮮度劣化を考慮するため、本発明の情報処理装置700が、先読みコスト算出部309の代わりに先読みコスト算出部309bを持つ構成としてもよい。
さらに、本実施の形態でも、サーバ装置500が行動予測部101、利用データ予測部102、通信状況予測部103を備える代わりに、図17に於ける予測記憶部111と予測取得部112を備え、予測装置800と接続されていても良い。
上述した本実施形態における効果は、第2の実施形態の効果に加えて、先読み候補となるデータセット203の予測や、先読みコスト、要求時取得コストの算出をより高い精度で行うことが可能になる点である。その1番目の理由は、ネットワークの輻輳状態、電車の遅延や道路の渋滞などの交通情報、インターネットのWebページのリンク構造など、移動端末400よりもサーバ装置500で取得や処理を行った方が効率の良い情報や、サーバ装置500のみが保有している情報を利用して、データセット203の予測や、先読みコスト、要求時取得コストの算出を行えるからである。また、その2番目の理由は、移動端末400の行動情報収集部401から複数のユーザの行動履歴をサーバ装置500に集約し、複数のユーザの行動履歴から統計的に算出した、一般的なユーザの行動パターンを利用してより精度の高い行動予測を行えるからある。
(第5の実施形態)
図39は、本発明の第5の実施形態の構成を示すブロック図である。情報処理装置700は、予測格納手段111と、コスト算出手段109と選別手段106を備える。または、情報処理装置700は、予測格納手段111と、コスト算出手段312と選別手段306を備える。
予測格納手段111は、複数のデータセット203の各々について、アクセスの予想時刻、並びに、予想時刻にアクセス手段110が通信路経由で当該データセット203にアクセスする場合の通信コストである予想時通信コスト、若しくは、予想時刻における通信速度を格納する。
コスト算出手段109またはコスト算出手段312は、複数のデータセット203の各々について、予想時通信コストに対して非減少な要求時取得コスト、または、通信路経由で当該データセット203を取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コストを算出する。
選別手段106または選別手段306は、要求時取得コストの大きなデータセット203を優先的に選択し、選択したデータセット203の識別情報を選択結果として出力する。
本実施形態の情報処理装置700は、データの利用が予測される時点の取得コストが高いデータセット203を優先的に先読みできる。従って、データを、利用が予測される時点のコストより低いコストで取得できる可能性が高い。
その理由は、コスト算出部109が複数のデータセット203のおのおのについて利用が予測される時点の取得コストまたはその期待値を算出し、その値が大きいデータセット203を対象選別部106が優先的に選別し、選別されたデータセット203を先読み部107が先読みするからである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されのではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。例えば、先読みコスト算出部309と要求時コスト算出部304の構成は適宜変更してもよい。また、例えば、第2の実施形態において、データセット203の取得時の遅延を考慮する必要がない(数式5のk2を0とする)場合は、要求時コスト算出部304が遅延コスト算出部120を含まない構成としてもよい。また、例えば、第3の実施の形態において、データセット203の先読みや取得時の通信料金を考慮する必要がない(数式8のk3を0とする)場合は、先読みコスト算出部309と要求時コスト算出部304が通信料金算出部320を含まない構成としてもよい。
この出願は、2011年6月20日に出願された日本出願特願2011−136490を基礎とする優先権を主張し、その開示の全てをここに取り込む。Next, embodiments of the present invention will be described in detail with reference to the drawings.
(First embodiment)
FIG. 1 is a block diagram showing a configuration of a first embodiment of an information processing apparatus 700 (mobile terminal 100) according to the present invention. Referring to FIG. 1, an information processing apparatus 700 (mobile terminal 100) according to the present embodiment is connected to a server apparatus 200 via a communication path (not shown).
The mobile terminal 100 includes a behavior prediction unit 101, a usage data prediction unit 102, a communication status prediction unit 103, a cost calculation unit 109, a target selection unit 106, a prefetching unit 107, a cache unit 108, and an access unit 110. Including. The cost calculation unit 109 includes a requested cost calculation unit 104 and a cost expected value calculation unit 105.
Each unit is configured by hardware such as a logic circuit, but may be configured by a computer including a CPU (Central Processing Unit) and a storage medium such as a memory and a disk device. In this case, the storage medium may store a program for causing each unit to function by being executed by the CPU of the computer. The same applies to the following embodiments unless otherwise specified.
The server device 200 includes a data distribution unit 201 and a data storage unit 202. The data storage unit 202 is a storage device such as a disk that stores the data set 203. The data set 203 is also called usage data. The data distribution unit 201 may also be configured by a computer.
The mobile terminal 100 and the server apparatus 200 are connected via a communication path (not shown) in which communication may become unstable or interrupted. This communication path may use a plurality of communication paths appropriately. For example, the mobile terminal 100 uses a wired connection when the user is at home or an office, and uses a wireless connection when the user is moving by train or car. The communication speed may vary depending on the communication path. In addition, wired connection basically does not interrupt communication, but wireless connection may be unstable or interrupted depending on the location, such as underground or in a tunnel. Further, for example, when the user of the mobile terminal 100 is moving by airplane, there may be no communication path depending on the situation.
The behavior predicting unit 101 predicts the behavior of the user of the mobile terminal 100 such as the future operation content and the destination, and generates and outputs a behavior schedule list 600. FIG. 2 is a diagram showing a structure and an example of the action schedule list 600. As shown in FIG. 2, the action schedule list 600 includes one or more pairs of times and actions for the times. Referring to the example of FIG. 2, the action schedule list 600 includes, for example, a user using a Web browser (application, not shown) of the mobile terminal 100 while moving from home to work at 7 o'clock to 8 o'clock. It shows a prediction of using e-mail (application, not shown) of the mobile terminal 100 in the workplace at ~ 9: 30. In the action schedule list 600, as shown in the example of FIG. 2, the times corresponding to a plurality of actions may overlap, and the movement of the place and the use of the application are expressed as separate lists. May be. The action schedule list 600 is also called action schedule information.
The behavior prediction unit 101 may accumulate the operation history and the movement history of the user's past mobile terminal 100 in order to predict the behavior, and predict a future behavior based on the history. The behavior prediction unit 101 may also predict future behavior based on the current time, the current location of the user, and the current status of the user. The current situation of the user is recognized as, for example, that the mobile terminal 100 is connected to the office network and is in the office, or that the user is driving a car because the drive mode is set. it can. The operation history of the mobile terminal 100, the movement history, the current time, the current position of the user, and the current status of the user are also referred to as prediction reference information, and the mobile terminal 100 is not illustrated in accordance with the operation and movement of the mobile terminal 100. Data stored in the storage unit. In addition, the behavior prediction unit 101 may predict future behavior based on the schedule of the user on the day (also referred to as prediction reference information). Further, if the mobile terminal 100 has a navigation function, the behavior prediction unit 101 uses the currently guided route indicated by the navigation function as the future travel route (also referred to as prediction reference information), and predicts future behavior. Good. Further, the behavior prediction unit 101 presents the behavior schedule list 600 predicted in this way to the user, and the behavior prediction list 600 is displayed based on the correction information (also referred to as prediction reference information) of the user as necessary. You may make it produce | generate. In addition, the behavior prediction unit 101 uses a behavior schedule list based on information (also referred to as prediction reference information) explicitly set by a user such as “I am in the office during this time” or “I travel by train at this time”. 600 may be generated.
Based on the user behavior (behavior schedule information) predicted by the behavior prediction unit 101, the usage data prediction unit 102 predicts a data set 203 that is data to be used in the future by an application (not shown) of the mobile terminal 100. The usage data identification information of the predicted data set 203 is output. This data set 203 to be used in the future is hereinafter also referred to as prefetch candidate data. FIG. 3 is a diagram illustrating a structure and an example of the usage data list 601 showing the data set 203 predicted by the usage data prediction unit 102. As illustrated in FIG. 3, the usage data list 601 includes, for example, usage data identification information of the data set 203 predicted to be used by the application of the mobile terminal 100, a predicted size of the data set 203, and the data set 203. One or more combinations with use probabilities expressed in time series are included. However, although the usage data identification information in FIG. 3 indicates the identifier of the data set 203, the identifier may be a code.
In the usage data list 601, the data pointed to by the usage data identification information may be a single data set 203 or a group of a plurality of data sets 203. For example, “Today's news article” refers to a plurality of articles belonging to such a classification, but instead may refer to a specific article.
The usage probabilities P1 to P6 of each data set 203 shown as an example in the usage data list 601 indicate, for example, a graph represented as a usage probability graph 602 in FIG. P1 (t) in the usage probability graph 602 represents the probability of using “today's news article” by time t as a cumulative distribution, and in this case, a uniform probability density from 7:00 to 8:00. "Today's news article" is used, and finally it is used with a probability of 80%.
Note that the usage probability shown in the usage probability graph 602 is an example, and the usage probability may be expressed by a mathematical expression such as a normal distribution or another probability distribution, or the usage probability list 603 of FIG. It may be expressed as a table as shown in FIG. Further, the usage probability of the usage probability list 603 may be expressed qualitatively such as “high, medium, low, none” (in this case, a numerical value such as high = 1.0 when calculating the cost described later). To replace).
When predicting the usage probability of each piece of data in the usage data list 601, the usage data prediction unit 102, in addition to various types of information included in the action schedule list 600, specific knowledge about the application that uses the data (for example, For example, a map application can easily refer to a map around the current location, and a mail application can easily refer to the current day's mail).
The communication status prediction unit 103 predicts the future communication status of the mobile terminal 100 based on the information on the communication environment that is held in advance and the user behavior predicted by the behavior prediction unit 101, and the predicted communication status. Output the data. Information on the communication environment includes, for example, a list indicating whether or not the network connection service is available and the communication speed in the user's home, office floor, conference room, station, store, etc., a map indicating the mobile phone service area, roads and railways A map showing tunnels and underground parts. The communication speed information 605 in FIG. 7 is an example of a part of information included in the information related to the communication environment that the communication status prediction unit 103 holds in advance. The information regarding the communication environment may be information that the mobile terminal 100 has received from the network and stored.
FIG. 6 is a diagram illustrating a structure and an example of the communication status prediction list 604 that represents a future communication environment predicted by the communication status prediction unit 103. As shown in FIG. 6, the communication status prediction list 604 includes a time, a location of the mobile terminal 100 at that time, and various types of information used when calculating costs described later (available communication line, expected communication speed, etc. 1) or more. When the communication status is predicted, the communication status prediction unit 103 uses information related to the communication environment, such as a service area map of a mobile phone, a tunnel in a road or a railway, or a section of an underground part.
The communication speed can be determined with reference to communication speed information 605 as shown in FIG. 7, for example. Also, especially when using an outdoor wireless communication line, the communication speed varies finely depending on the current position of the user, so the behavior prediction unit 101 predicts the future position of the user in more detailed time units. The communication status prediction unit 103 may predict the communication speed of the communication status prediction list 604 in consideration of the radio wave intensity at that position, the degree of network congestion, and the like. At this time, the communication status prediction unit 103 may output the communication speed of the communication status prediction list 604 as a graph indicating the relationship between time and communication speed instead of a table.
The requested cost calculation unit 104 does not prefetch the data set 203 predicted by the usage data prediction unit 102 and acquires the data from the server device 200 when an application (not shown) of the mobile terminal 100 tries to use the data. The cost derived from the waiting time (latency) that occurs when the request is made is calculated as a request-time acquisition cost for each data set 203.
For each data set 203, the expected cost calculation unit 105 calculates the requested acquisition cost calculated by the requested cost calculation unit 104 and the usage probability of the data predicted by the usage data prediction unit 102. An expected cost value (hereinafter referred to as an expected cost value) that is expected when prefetching is not planned is calculated.
The target selection unit 106 refers to the expected cost value calculated by the expected cost value calculation unit 105, selects the data set 203 to be read ahead, and outputs the usage data identification information of the selected data set 203.
The prefetch unit 107 acquires the data set 203 selected by the target selection unit 106 based on the usage data identification information from the data distribution unit 201 of the server device 200 and stores it in the cache unit 108.
The data set 203 stored in the cache unit 108 is used by an application (not shown) of the mobile terminal 100.
The access unit 110 receives an access request for data in one of the data sets 203 from an application (not shown) of the mobile terminal 100 or the like. If the data is stored in the cache unit 108, the access unit 110 acquires the data from the cache unit 108. If the data is not stored in the cache unit 108, the access unit 110 acquires the data from the server device 200 via the communication path.
FIG. 8 shows a detailed configuration of the on-demand cost calculation unit 104. The request cost calculation unit 104 includes a delay cost calculation unit 120 and a request cost integration unit 121, and is connected to a delay cost definition storage unit 606 (not shown in FIG. 1) that is a disk device or the like.
The delay cost calculation unit 120 does not prefetch the data set 203 predicted by the usage data prediction unit 102 and acquires the data from the server device 200 when an application (not shown) of the mobile terminal 100 tries to use the data. A cost (delay cost) derived from the waiting time (latency) that occurs sometimes is calculated for each data set 203. The waiting time when acquiring the data set 203 depends on the speed of the communication line and the size of the data set 203. If the waiting time is short, the delay cost is small, and if the waiting time is long, the delay cost is large. The delay cost definition 606 in FIG. 9 is an example of the delay cost defined based on such a concept. The delay cost definition 606 is stored in the delay cost definition storage unit 606, for example. Here, the delay cost is stored in the delay cost definition storage unit 606 as a non-linear and discrete function of the waiting time (delay time) when acquiring the data set 203, but may be stored as a linear function or a continuous function.
The delay cost calculation unit 120 calculates a delay cost list 607 as shown in FIG. 10 from the use data list 601, the communication status prediction list 604, and the delay cost definition storage unit 606. The delay cost list 607 represents the delay cost related to the data set D1 (today's news article) in the usage data list 601. The delay cost calculation unit 120 calculates the delay time and the delay cost at each time based on the predicted data size of the data set D1, the communication speed of the communication status prediction list 604, and the delay cost of the delay cost definition storage unit 606. . The delay cost calculation unit 120 may output the delay cost list 607 as a graph instead of a table. For example, the delay cost L1 (t) can be output in the format of the delay cost graph 608 in FIG.
Here, the delay cost calculation unit 120 is based on the delay cost definition 606 stored in advance in the storage device shown in FIG. 9 under the assumption that the delay cost is determined only by the time required for data acquisition. Is calculated. However, the delay cost may vary depending on the type of data and application. For example, if it takes 30 seconds to acquire news articles and map data, if the user wants to see the map right away, the delay time Even if the same, the latter data has a larger delay cost than the former. Accordingly, a different delay cost definition storage unit 606 may be stored for each type of data or application.
In addition, for example, when it takes time to acquire information about a restaurant that a user wants to use for lunch in the early morning rather than in the early morning, Therefore, the delay cost is considered to be large. In this way, when the delay cost depends on various conditions, the delay cost calculation unit 120 obtains the condition determination information such as the time based on the information, regardless of the delay cost definition 606. The delay cost may be calculated.
FIG. 10 shows a delay cost list 607 calculated by the delay cost calculation unit 120 based on a loss cost included in the delay cost definition 606 as a delay cost when the communication line cannot be used and data cannot be acquired. For example, the delay cost from 13:00 to 18:00). The delay cost calculation unit 120 may separately calculate a loss when the communication line cannot be used and data cannot be acquired without using the delay cost definition 606.
The request-time cost integration unit 121 calculates a request-time acquisition cost based on the delay cost calculated by the delay cost calculation unit 120. In this embodiment, it can be considered that the acquisition cost at request is equal to the delay cost, and the acquisition cost Con (t) at request at time t for the data set Dn is expressed by Equation 1 using the delay cost Ln (t). expressed.
Figure 2012176924
The request-time cost integration unit 121 may output the request-time acquisition cost Con (t) as a table or a graph as in the case of the delay cost. The on-request acquisition cost graph 609 of FIG. 12 shows an example when output as a graph.
The expected cost calculation unit 105 in FIG. 1 uses the request-time acquisition cost Con (t) calculated by the request-time cost calculation unit 104 as described above, and predicts when the prefetching of the data set Dn is not planned. An average value Yn (expected cost value) of calculated costs is calculated as follows.
The cost expectation value calculation unit 105 first acquires the data set Dn from the server device 200 by the time t using the request time acquisition cost Con (t) calculated by the request time cost calculation unit 104. The cost (expected value of the acquisition cost at the time of request) Yn (t) is calculated. For example, the time when an application (not shown) of the mobile terminal 100 uses the data set D1 (today's news article) is the probability P1 (t) as shown in the usage probability graph 602 of FIG. 4 (or the usage probability list 603 of FIG. 5). ), The expected cost value calculation unit 105 can calculate the expected value Y1 (t) of the requested acquisition cost that is generated by acquiring the data set D1 by time t according to Equation 2.
Figure 2012176924
For example, when the usage probability P1 (t) is expressed as a usage probability graph 602, the usage probability density p1 (t) becomes the usage probability density 610 of FIG. 13, and the expected value Y1 (t ) Is calculated as shown in FIG. 14 from the on-demand acquisition cost Co1 (t) (= L1 (t)) and the use probability density p1 (t). Referring to the expected acquisition cost expected value graph 611 in FIG. 14, the value of Y1 (t) rises to 0.6 between 7 o'clock and 8 o'clock when the data set D1 is expected to be used, After that it does not change. Note that the expected cost value calculation unit 105 can similarly calculate the usage probability Pn (t) and the like as a table instead of a graph.
Yn (t) represents an expected value of the cost generated by acquiring the data set Dn by the time t, and is an expected cost when the data set Dn is not prefetched (when not prefetched). That is, the expected cost value Yn is equal to the value of Yn (t) when t is infinite. In the example of FIG. 14, the expected cost value calculation unit 105 calculates the expected cost value Y1 related to the data set D1 as 0.6.
The target selection unit 106 in FIG. 1 selects the data set 203 that is actually prefetched with reference to the expected cost value Yn calculated by the expected cost calculation unit 105 for each data set 203, and uses the selected data set 203. Output data identification information. For example, the target selection unit 106 excludes the data set 203 whose expected cost value Yn is less than a certain threshold from being prefetched. Alternatively, the target selection unit 106 acquires a preset data size (for example, 50% of the cache capacity) in consideration of the capacity of the cache unit 108, and the total data size of the prefetch target data set 203 is the data size. So that the cost expected value Yn is low, the data sets 203 may be excluded from the prefetch targets in order. In other words, the target selection unit 106 preferentially sets the data set 203 having a large cost expected value Yn as a prefetch target by setting the data set 203 as a prefetch target in descending order of the expected cost value Yn.
FIG. 15 is a diagram illustrating a structure and an example of an extraction list 612 that is a list of the prefetch target data set 203 output from the target selection unit 106. As illustrated in FIG. 15, the extraction list 612 includes usage data identification information extracted from the usage data list 601 as a prefetch target. The extraction list 612 may include a combination of the expected cost value Yn used in the time and later prefetch optimization processing.
Each cost of the request time acquisition cost graph 609, the use probability density 610, and the request time acquisition cost expected value graph 611 is represented by a graph, but may be represented by a table in the same manner as the delay cost graph 608.
Next, the operation of this embodiment will be described in detail with reference to FIGS.
FIG. 16 is a flowchart showing the overall operation of the present embodiment.
First, the behavior prediction unit 101 predicts the behavior of the user of the mobile terminal 100, such as future operation contents and the destination, and generates and outputs a behavior schedule list 600 as shown in FIG. 2 (step of FIG. 16). S101).
Next, the usage data prediction unit 102 inputs the action schedule list 600 generated by the action prediction unit 101. The exchange of the action schedule list 600 and the like between the usage data prediction unit 102 and the action prediction unit 101 is performed via a work storage area (not shown) and the like. The same applies to the exchange of other information.
As shown in FIG. 3, the usage data prediction unit 102 predicts a data set 203 to be used in the future by an application (not shown) of the mobile terminal 100 based on the action schedule list 600 input by the usage data prediction unit 102. 4, and a usage probability graph 602 as shown in FIG. 4 (or a usage probability list 603 as shown in FIG. 5, which will be described as a graph here) representing the usage probability of the data set 203. Each set 203 is generated and output (step S102).
Next, the communication status prediction unit 103 predicts the future communication status of the mobile terminal 100 based on the action schedule list 600 generated by the behavior prediction unit 101 and information on the communication environment, and the communication status as shown in FIG. A prediction list 604 is generated and output (step S103).
Next, based on the usage data list 601, the usage probability graph 602, and the communication status prediction list 604, the requested cost calculation unit 104 does not prefetch the data set 203, and uses the data of the mobile terminal 100 as an application ( 12 is calculated for each data set 203, which is a request acquisition cost graph 609 in FIG. 12, which is an acquisition cost at the time of acquisition from the server device 200 at the time when it is used. Further, the expected cost calculation unit 105 calculates the required acquisition cost expected value graph 611 and the expected cost value Yn for each data set 203 based on the required acquisition cost graph 609 and the usage probability graph 602 (step S104). ).
Next, based on the expected cost value calculated for each data set 203 in the usage data list 601 in this way, the target selection unit 106 should prefetch the data set 203 corresponding to the usage data identification information in the usage data list 601. The extraction list 612 as shown in FIG. 15 is generated (step S105).
Finally, based on the extraction list 612 generated by the target selection unit 106, the prefetch unit 107 acquires the data set 203 from the data distribution unit 201 of the server device 200 (steps S106 to S107) and stores it in the cache unit 108. (Step S108). The prefetch unit 107 repeats steps S106 to S108 until all data sets 203 determined to be prefetched are acquired and cached.
If the number of data sets 203 to be prefetched is large, or if the communication line is slow or unstable, prefetching of the data sets 203 may not be completed before the application uses the data set 203. As the cost expected value Yn of the extraction list 612 is larger, the cost generated when the prefetching is not performed is larger. Therefore, the prefetching unit 107 prefetches the data set 203 having a larger Yn value in step S107 in order. May be. By doing in this way, the mobile terminal 100 can suppress the cost generated when the prefetching is not in time.
If the mobile terminal 100 is configured to download and use an application program from the server device 200 to the mobile terminal 100, the data set 203 may store the application program. That is, if the action schedule list 600 indicates that a specific application is to be used, the mobile terminal 100 sends a corresponding application program to a specific application program such as a program library of the server device 200 in step S106 described above. It may be acquired from the data set 203 and stored in the cache unit 108.
The delay cost definition storage unit 606 may not exist. In this case, for example, the delay cost calculation unit 120 uses the delay time as it is as the delay cost. When the size of each data set 203 is uniform, the usage data list 601 may not include the expected data size.
(Modification 1 of the first embodiment)
In the usage data prediction, the usage data prediction unit 102 may predict only the usage time instead of the usage probability represented by the usage probability graph 602 or the like. This means that the use of data occurs at the probability at probability = 1.
In this case, the usage data prediction unit 102 outputs the usage data list 601 including the expected usage time instead of the usage probability. The cost calculation unit 109 calculates the delay time at the expected use time by dividing the expected data size of the corresponding data set 203 by the communication speed at the expected use time, and outputs it as a request-time acquisition cost. In this case, since the use probability at the expected use time is 1, the acquisition cost at request is the cost expected value Yn as it is. Therefore, the cost calculation unit 109 can output the requested acquisition cost as it is to the target selection unit 106 as the expected cost value Yn.
In this modification, the cost calculation unit 109 may not include the expected cost value calculation unit 105.
(Modification 2 of the first embodiment)
In the first embodiment, the acquisition cost of the data set 203 is a delay cost. The acquisition cost may be a communication cost. The communication cost is a cost generated according to communication, and is, for example, a communication fee, power consumption in the mobile terminal 100, and a usage fee for the server device 200.
In this case, the communication status prediction unit 103 predicts the communication cost instead of predicting the communication speed in the communication status prediction, and outputs the communication status prediction list 604 including the communication cost instead of the communication speed. To do.
Note that the amount of power consumed for communication differs between wired communication and wireless communication. Further, in the case of wireless communication, the amount of power consumption also varies depending on the location where the mobile terminal 100 is located. The communication status prediction unit 103 may predict the power consumption amount for communication from the position prediction of the mobile terminal 100 and the power consumption amount information corresponding to the position.
In this modification, the cost calculation unit 109 calculates a request-time acquisition cost graph 609 and a request-time acquisition cost expected value graph 611 using the communication cost as the acquisition cost instead of the delay cost. After that, the cost calculation unit 109 obtains the expected cost value Yn from the requested cost expected value graph 611 and outputs it to the target selection unit 106.
(Modification 3 of the first embodiment)
FIG. 17 is a block diagram showing a configuration of Modification 3 of the first embodiment of the present invention. Referring to FIG. 17, the information processing apparatus 700 (mobile terminal 900) of this embodiment is connected to the server apparatus 200 and the prediction apparatus 800 via a communication path (not shown).
The mobile terminal 900 of this embodiment includes a cost calculation unit 109, a target selection unit 106, a prefetching unit 107, a cache unit 108, and an access unit 110, which are the same as in the first embodiment. Mobile terminal 100 of this embodiment further includes a prediction storage unit 111 and a prediction acquisition unit 112. The prediction storage unit 111 is a storage device such as a disk device. The prediction acquisition unit 112 acquires the usage data list 601, the usage probability list 603, the communication status prediction list 604, and the like from the prediction device 800 and stores them in the prediction storage unit 111. The cost calculation unit 109 of this embodiment reads the usage data list 601, the usage probability list 603, the communication status prediction list 604, and the like from the prediction storage unit 111, and calculates the expected cost value Yn and the like. The prediction storage unit 111 may store a delay cost definition 606 and the like.
In addition, the mobile terminal 900 of this embodiment does not need to include the behavior prediction unit 101, the usage data prediction unit 102, and the communication status prediction unit 103. Further, the prediction device 800 is the same method as the usage data list 601, the usage probability list 603, the communication status prediction list 604, and the like in the same manner as the behavior prediction unit 101, the usage data prediction unit 102, and the communication status prediction unit 103. Or may be obtained using other known methods.
The effect of the present embodiment is that the data set 203 having a high acquisition cost at the time when data use is predicted can be prefetched preferentially. Therefore, there is a high possibility that the data can be acquired at a lower cost than the cost at the time when the use is predicted.
The reason is that the cost calculation unit 109 calculates the acquisition cost or the expected value at the time when use of each of the plurality of data sets 203 is predicted, and the target selection unit 106 preferentially selects the data set 203 having a large value. This is because the prefetch unit 107 prefetches the sorted data set 203 after sorting.
(Second Embodiment)
FIG. 18 is a block diagram showing the configuration of the second exemplary embodiment of the present invention. Referring to FIG. 18, the information processing apparatus 700 (mobile terminal 300) of the present embodiment is connected to the server apparatus 200 via a communication path (not shown). Compared with the first embodiment of the present invention, the mobile terminal 300 according to the present embodiment determines whether or not to prefetch the data set 203 in consideration of the communication fee when acquiring the data set 203. When prefetching is further performed, the acquisition cost of the data set 203 is reduced by selecting the prefetching timing.
Compared to the mobile terminal 100 of the first embodiment shown in FIG. 1, the mobile terminal 300 includes a prefetch cost calculation unit 309, a prefetch planning cost calculation unit 310, and a prefetch planning unit 311. Further, the cost calculation unit 109 is replaced with the cost calculation unit 312, the on-demand cost calculation unit 104 is replaced with the on-demand cost calculation unit 304, the target selection unit 106 is replaced with the target selection unit 306, and the prefetch unit 107 is replaced with the prefetch unit 307. It has been. Except for these changes, the configuration is the same as that of the first embodiment, and the same components are denoted by the same reference numerals.
The prefetch cost calculation unit 309 calculates a communication fee generated when prefetching the data set 203 predicted by the usage data prediction unit 102 for each data set 203 as a prefetch execution cost.
The requested cost calculation unit 304 does not prefetch the data set 203 predicted by the usage data prediction unit 102 and acquires the data from the server device 200 when an application (not shown) of the mobile terminal 100 tries to use the data. Various costs that occur at the time of the calculation are calculated as request-time acquisition costs for each data set 203. This cost includes a waiting time (latency) cost and a communication fee.
For each data set 203, the prefetch planning cost calculator 310 calculates the prefetch execution cost calculated by the prefetch cost calculator 309, the request acquisition cost calculated by the request cost calculator 304, and the usage data predictor 102. Based on the predicted use probability of the data set 203, a cost (hereinafter referred to as prefetch planning cost) expected when the data set 203 is prefetched is calculated.
Should the target selection unit 306 compare the prefetch planning cost calculated by the prefetch planning cost calculation unit 310 with the expected cost value calculated by the cost expected value calculation unit 105 and perform prefetching of the data set 203? Determine if. Specifically, for the data set 203 in which the prefetch planning cost is greater than or equal to the expected cost value, they are excluded from the prefetching target (prefetching is not performed), and conversely, the prefetch planning cost is For the data set 203 whose value is smaller than the expected cost value, the usage data identification information thereof is output.
The prefetch planning unit 311 is generated when the target selection unit 306 determines to prefetch based on the future communication status predicted by the communication status prediction unit 103 and acquires the selected data set 203 from the server device 200. The order and timing are planned so that the total cost to be minimized is minimized.
The prefetching unit 307 acquires the data set 203 from the data distribution unit 201 of the server device 200 based on the prefetching plan determined by the prefetching planning unit 311 and stores the data set 203 in the cache unit 108.
FIG. 19 shows a detailed configuration of the prefetch cost calculation unit 309. The prefetch cost calculation unit 309 includes a communication fee calculation unit 320 and a prefetch cost integration unit 321 and is connected to a communication fee information storage unit 613 (not shown in FIG. 18) that is a disk device or the like.
The communication fee information storage unit 613 stores, for example, communication fee information 613. The communication fee information 613 represents the communication fee for each communication line, and its structure and example are shown in FIG.
The communication fee calculation unit 320 determines the communication fee generated when the data set 203 predicted by the usage data prediction unit 102 is prefetched based on the communication status predicted by the communication status prediction unit 103 and the communication fee information 613. Thus, each data set 203 is calculated. For example, regarding the data set D1 (today's news article) in the usage data list 601, the communication charge calculation unit 320 uses the communication charge R1 (t) that is generated when the data set 203 is prefetched as the predicted data size of the data set D1. The communication status prediction list 604 “available communication line” and the communication fee information 613 are used to calculate a communication fee list 614 in FIG. R1 (t) in the communication charge list 614 is represented by a communication charge graph 615 in FIG. Here, infinity (∞) is a value that means a high value that is impossible as a communication charge, for example.
The prefetch cost integration unit 321 calculates a cost (prefetch cost) generated by prefetching the data set 203 from the server device 200 based on the communication fee Rn (t) calculated by the communication fee calculation unit 320. For example, if the prefetch cost Cpn (t) at time t is proportional to the communication charge Rn (t), and its coefficient is k1 (> 0), the prefetch cost Cpn (t) is expressed as in Equation 3. The
Figure 2012176924
The prefetch cost integration unit 321 may output the request acquisition cost Cpn (t) as a table or a graph. For example, when k1 = 1.0, the prefetch cost Cp1 (t) graph related to the data set D1 in the usage data list 601 predicted by the usage data prediction unit 102 is as shown in the prefetch cost graph 616 in FIG.
FIG. 24 shows a detailed configuration of the on-demand cost calculation unit 304. The request cost calculation unit 304 includes a delay cost calculation unit 120, a communication charge calculation unit 320, and a request cost integration unit 322, and is connected to the delay cost definition storage unit 606 and the communication charge information storage unit 613. Yes.
The delay cost calculation unit 120 and the delay cost definition storage unit 606 are the same as the delay cost calculation unit 120 and the delay cost definition storage unit 606 according to the first embodiment of the present invention. In addition, the communication fee calculation unit 320 and the communication fee information storage unit 613 have the same functions as those included in the prefetch cost calculation unit 309 and are shared between the prefetch cost calculation unit 309 and the on-demand cost calculation unit 304. It is good.
The request-time cost integration unit 322 receives the data set 203 from the server device 200 based on the communication fee Rn (t) calculated by the communication fee calculation unit 320 and the delay cost Ln (t) calculated by the delay cost calculation unit 120. Calculate the on-demand acquisition cost that occurs when acquiring. The request-time cost integration unit 322 calculates the request-time acquisition cost Con (t), which is a cost when acquiring the data set Dn at the time t, using the integration function U2, for example, using Equation 4.
Figure 2012176924
The integration function U2 may be a linear combination function such as Equation 5.
Figure 2012176924
Here, k1 and k2 are weighting factors used when calculating the acquisition cost upon request from the communication charge Rn (t) and the delay cost Ln (t). k1 and k2 are usually positive values, but one of them may be zero. For example, in order to reduce the communication fee for acquiring the data set 203, k1 is set larger than k2. On the other hand, if it is a problem that acquisition of the data set 203 takes time or cannot be acquired, k2 is set larger than k1.
Note that k1 in Equation 5 and k1 in Equation 3 do not necessarily have the same value, but the degree of influence of the communication charge included in the prefetch cost and the acquisition cost at the time of request is considered to be the same. It is common to use.
The requested acquisition cost graph 617 in FIG. 25 shows the delay cost L1 (t) shown in FIG. 11 and the communication fee R1 (see FIG. 22) for the data set D1 in the usage data list 601 predicted by the usage data prediction unit 102. It is a graph of the on-demand acquisition cost Co1 (t) calculated from t) (k1 = 1.0, k2 = 100.0).
Note that communication is not possible between 13:00 and 18:00, and there is no value for the communication fee R1 (t). However, in order not to prefetch the data set D1 in this section, the prefetch cost calculation unit 309 The communication charge for this section is calculated as infinite.
The expected cost value calculation unit of FIG. 17 using the prefetch cost Cpn (t) calculated by the prefetch cost calculation unit 309 as described above and the requested acquisition cost Con (t) calculated by the request cost calculation unit 304. The expected cost (cost expected value) is calculated when 105 does not plan prefetching. Further, a cost (prefetch planning cost) that is expected when the prefetch planning cost calculation unit 310 plans prefetching is calculated. Each of these methods will be described below.
The method by which the expected cost value calculation unit 105 calculates the expected cost value Yn is the same as that in the first embodiment of the present invention. That is, the expected cost value calculation unit 105 calculates the expected value Yn (t) of the requested acquisition cost based on Expression 2 using the requested acquisition cost Con (t) calculated according to Expression 4, and t is infinite. The expected cost value Yn, which is the value of Yn (t) when it is large, is calculated.
For example, the expected value Y1 (t) expected value Y1 (t) of the requested acquisition cost for the data set D1 can be obtained from the expected acquired cost expected value graph 618 of FIG. 26 from Co1 (t) of FIG. Is calculated as follows. Referring to FIG. 26, the value of Yn (t) increases to 140 between 7 o'clock and 8 o'clock when it is expected to use the data set D1, and does not change thereafter. Therefore, the expected cost value Yn is 140.
The prefetch planning cost calculation unit 310 calculates an average cost value Xn (t) (prefetch planning cost) expected when prefetching the data set Dn at time t, using Equation 6.
Figure 2012176924
Here, Pn (t) is the usage probability of the data set Dn predicted by the usage data prediction unit 102. Yn (t) is an expected value of the on-demand acquisition cost calculated by the expected cost value calculation unit 105 based on Equation 2. (1-Pn (t)) on the right side of Equation 6 represents the probability that an application (not shown) of the mobile terminal 100 will not use the data set Dn until time t. If the application tries to use the data before pre-reading the data set Dn, the data is acquired when requested, and no pre-reading is performed after that, so in the first half of the right side at time t It represents the average value of the costs that are incurred by actually prefetching. In the latter half of the right side, although the prefetching is planned at the time t, the average value of the cost generated when the application uses the data set Dn (at any time up to the time t) before that time. Represents. In this way, the prefetch planning cost calculator 310 calculates the prefetch planning cost Xn (t).
For example, the prefetch planning cost X1 (t) graph for the data set D1 is obtained from the utilization probability graph 602 in FIG. 4, the prefetch cost graph 616 in FIG. 23, and the expected acquisition cost expected value graph 618 in FIG. 27 is a prefetch planning cost graph 619. Referring to the prefetch planning cost graph 619, the prefetch cost X1 (t) is zero until 7 o'clock, and the prefetch planning cost from 7 o'clock to 8 o'clock, which is expected to use the data set D1. X1 (t) increases from 100 to 160.
The target selection unit 306 in FIG. 17 includes the prefetch planning cost Xn (t) (indicated by the prefetch planning cost graph 619 in FIG. 27 for the data set D1) and the expected cost value Yn (in FIG. 26 for the data set D1. (Shown as a value when the time t is infinite in the expected acquisition cost expected value graph 618). If there is a section t satisfying Xn (t) <Yn, if the data set 203 is prefetched in that section, it is determined that the prefetching should be performed because the cost can be suppressed compared to the case where the prefetching is not performed. The usage data identification information is output.
For example, regarding the data set D1, the look-ahead planning cost X1 (t) is shown in the look-ahead planning cost graph 619, and the expected cost value Y1 is the expected acquisition cost expected value graphs 618 to 140, but from 7:40. Since X1 (t) <Y1 (= 140) in the previous section, it is determined that prefetching should be performed by 7:40.
FIG. 28 is a diagram illustrating a structure and an example of an extraction list 620 that is a list of the data set 203 that is output when the target selection unit 306 determines that it should be prefetched. The extraction list 620 is different from the extraction list 612 of the first embodiment illustrated in FIG. 15 in that it includes a prefetch planning cost Xn (t). The prefetch planning cost Xn (t) is used in the prefetch optimization process later together with the expected cost value Yn.
The prefetch planning unit 311 refers to the extraction list 620 and calculates an optimal time (a time at which the cost is minimum) for prefetching each data set 203 that is determined to be prefetched. At this time, the prefetch planning unit 311 refers to the communication status prediction list 604 in order to estimate the time taken for prefetching the data set 203 or not to plan prefetching in a time zone when the communication line cannot be used.
The optimum look-ahead time for the individual data set 203 is the time when the look-ahead planning cost Xn (t) is minimized, but such times may overlap each other. Therefore, the prefetch planning unit 311 schedules the prefetch time t for each data set 203 so that the sum of the prefetch planning costs Xn (t) is minimized under the condition that the prefetch timing of each data set 203 does not overlap. The result is output as a plan list 621. Such a problem is known as a so-called scheduling problem, and a detailed description of the method is omitted here.
FIG. 29 is a diagram showing a structure and an example of the plan list 621. As shown in FIG. 29, the plan list 621 includes a combination of usage data identification information and acquisition start time.
Note that the prefetch planning unit 311 may determine that a part of the data set 203 included in the extraction list 620 is not prefetched during the scheduling process. For example, there are too many data sets 203 included in the extraction list 620, so that all data cannot be prefetched, or the prefetch planning cost Xn (t) at the planned prefetch time t is the same as the expected cost value Yn. In some cases, the cost increases if the data is prefetched. When prefetching of the data set 203 is not performed, an acquisition cost Yn at the time of request is generated. Therefore, the expected cost value Yn is used as the prefetching cost of the data set 203 instead of the prefetching planning cost Xn (t). By doing in this way, the process which selects the data set 203 excluded from the prefetching object so that cost becomes the smallest as a whole can be included in a part of scheduling process.
Further, the target selection unit 306 may exclude the data set 203 that is generated when the prefetch is not planned from the prefetch target. As such a data set 203, for example, a data set having a small difference between the minimum value of the expected cost value Yn and the prefetch planning cost Xn (t) is applicable. The amount of calculation when the prefetch planning unit 311 performs scheduling increases explosively as the number of data sets 203 in the extraction list 620 to be scheduled increases. In this way, the target selection unit 306 narrows down the prefetch target. The calculation amount of the prefetch planning unit 311 can be suppressed.
In the present embodiment, not only the communication fee for acquiring the data set 203 but also other communication costs such as the usage fee according to the power consumption of the mobile terminal 300 and the server device 200 or the processing time of the server device 200, etc. The cost may be calculated in consideration of the above. Such a cost is calculated by the communication fee calculation unit 320 in FIG. 19 or FIG. 24 as the communication fee necessary for acquiring the data set 203 as the cost, and the prefetch cost integration unit 321 or the on-demand acquisition cost integration unit 322 Costs can be calculated in the same way as integrating costs with other costs. In this way, it is possible to more accurately compare the costs when the data set 203 is prefetched and when it is not prefetched.
Next, the operation of this embodiment will be described in detail with reference to FIGS.
FIG. 30 is a flowchart showing the overall operation of the present embodiment. Steps S201 to S203 in FIG. 30 are the same as steps S101 to S103 in the first embodiment shown in FIG.
In step S204, the prefetch cost calculation unit 309 is a prefetch cost that occurs when prefetching the data set 203 based on the use data list 601, the use probability graph 602, and the communication status prediction list 604. FIG. The prefetch cost graph 616 is calculated for each data set 203. Further, the requested cost calculation unit 304 does not prefetch the data set 203 based on the usage data list 601, the usage probability graph 602, and the communication status prediction list 604, and uses the data of the mobile terminal 100 as an application (see FIG. 25 is calculated for each data set 203, which is a cost that is generated when the server apparatus 200 acquires data from the server device 200 at the time of use. Further, based on the prefetch cost graph 616, the request-time acquisition cost graph 617, and the use probability graph 602, the prefetch plan cost calculation unit 310 calculates the prefetch plan cost graph 619 for each data set 203, and expects the cost. The value calculation unit 105 calculates the expected acquisition cost expected value graph 618 and the expected cost value Yn for each data set 203.
Next, based on the prefetch planning cost calculated for each data set 203 of the usage data list 601 and the expected cost value, the target selection unit 306 corresponds to the usage data identification information of the usage data list 601. It is determined whether the data set 203 should be prefetched, and an extraction list 620 as shown in FIG. 28 is generated (step S205).
The prefetch planning unit 311 uses the data set 203 shown in the extraction list 620 generated by the target selection unit 306 based on the communication status prediction list 604 that is the future communication status predicted by the communication status prediction unit 103 to the server device 200. The time acquired from is planned, and the plan list 621 is generated and output (step S206).
Finally, based on the plan list 621 generated by the prefetch planning unit 311, the prefetching unit 307 acquires the data set 203 from the data distribution unit 201 of the server device 200 (steps S 207 to S 208) and stores it in the cache unit 108. (Step S209). The prefetch unit 307 repeats steps S207 to S209 until all the data sets 203 in the plan list 621 are acquired and cached.
(Modification 1 of the second embodiment)
Similar to the first embodiment, the usage data prediction unit 102 may output only the usage expected time instead of outputting the usage probability represented by the usage probability graph 602 or the like in the usage data prediction. good.
In this case, the prefetch planning cost graph 619 of the data set 203 calculated by the prefetch planning cost unit 310 includes a prefetch cost graph 616 before the expected use time, and a cost expectation value Yn after that (in this modification, It is also the acquisition cost at the time of request. Therefore, if there is a section t where Xn (t) <Yn exists in the time zone before the expected use time, the target selection unit 306 prefetches the data set 203 at any point in the section t. Judge that it should.
(Modification 2 of the second embodiment)
Also in this embodiment, the information processing apparatus 700 (mobile terminal 300) according to the present invention can have the same configuration as that of FIG. 17 in the first embodiment. The prediction acquisition unit 112 of this embodiment acquires the usage data list 601, the usage probability list 603, the communication status prediction list 604, the communication charge list 614, and the like from the prediction device 800 and stores them in the prediction storage unit 111. The cost calculation unit 109 according to the present embodiment reads the usage data list 601, the usage probability list 603, the communication status prediction list 604, the communication charge list 614, and the like from the prediction storage unit 111, the prefetch planning cost Xn (t), the cost Expected value Yn and the like are calculated.
(Modification 3 of the second embodiment)
When creating the extraction list 620, the target selection unit 306 uses the pre-read section or one point in the pre-read section as an acquisition start time instead of the pre-read plan cost Xn (t) and the expected cost value Yn. 620 may be included. The acquisition start time is, for example, a point in time when the prefetch cost is lowest in the prefetch section. In this case, the prefetch planning unit 311 does not exist, and the prefetch unit 307 may read the data set 203 indicated by the usage data identification information based on the extraction list 620 at the acquisition start time.
The first effect of the present embodiment described above is to select the timing at which the prefetch cost is low for the data with the lower prefetch cost after comparing the acquisition cost at the time when the use of the data is predicted and the prefetch cost. It is a point that can be read ahead.
The reason is that the cost calculation unit 312 calculates the acquisition cost when the use is predicted for each of the plurality of data sets 203 and the prefetch cost at the time of the prefetch execution, and the target selection unit 306 determines based on both of them. This is because the data set 203 to be prefetched is selected and the timing to be prefetched is selected.
The second effect of the present embodiment described above is that the prefetch time can be scheduled for more data sets 203.
The reason for this is that for the data set 203 that has a low cost when the prefetching is not planned, the preselection planning unit 311 excludes the data selection unit 306 from the prefetching target before scheduling the optimal prefetching time of the data set 203. This is because the amount of calculation when the prefetch planning unit 311 performs scheduling can be suppressed by doing so.
(Third embodiment)
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.
The configuration of the information processing apparatus 700 (mobile terminal 300) of the third embodiment of the present invention is the same as the configuration of the second embodiment of the present invention shown in FIG. Is different from the configuration of the second embodiment in that it is replaced with a prefetch cost calculation unit 309b shown in FIG.
The mobile terminal 300 according to the present embodiment pre-reads the data set 203 and stores it in the cache unit 108, and then when the application (not shown) of the mobile terminal 300 tries to use the data set 203 on the server device 200. In consideration of the fact that the content is generally older (deteriorates in freshness) than some latest data, the prefetch timing is selected so that prefetching is not performed at an unnecessarily early point.
FIG. 31 shows a detailed configuration of the prefetch cost calculation unit 309b in the third embodiment. The prefetch cost calculation unit 309b includes a communication fee calculation unit 320, a freshness degradation cost calculation unit 323, and a prefetch cost integration unit 324, and includes a communication fee information storage unit 613 and a freshness degradation cost definition storage unit 622 that are disk devices or the like. (Not shown in FIG. 18). The prefetch cost calculation unit 309b according to the third embodiment includes a communication fee that is incurred when prefetching the data set 203 predicted by the usage data prediction unit 102, and a cost (freshness) derived from deterioration in freshness of the prefetched data set 203. Deterioration cost) is calculated for each data set 203 as a pre-read execution cost.
The communication fee calculation unit 320 and the communication fee information 613 in FIG. 31 are the same as those included in the prefetch cost calculation unit 309 according to the second embodiment of this invention.
The freshness degradation cost calculation unit 323 calculates the freshness degradation cost generated after prefetching the data set 203 predicted by the usage data prediction unit 102 based on the freshness degradation cost definition stored in the freshness degradation cost definition storage unit 622. And for each data set 203. The freshness degradation cost of the data set 203 depends on the length of time from when the data is prefetched until the application uses the data. If the time is short, the freshness degradation is small, and if it is long, the freshness degradation is large. The freshness degradation cost graph 623 of FIG. 32 is an example of the freshness degradation cost definition calculated by the freshness degradation cost calculation unit 323 based on such a concept. F1 (t) represents the freshness degradation cost when the data set D1 is prefetched at time t. As shown in the usage probability graph 602 of FIG. 4 or the usage probability list 603 of FIG. 5, this example is almost as follows when the usage probability of the data set D1 is predicted to be 0.8 from 7:00 to 8:00. The freshness degradation cost when prefetching before 7 o'clock is a maximum value of 0.8, and the freshness degradation cost when prefetching is approximately after 8 o'clock is 0, which is the minimum value. A method for calculating the freshness degradation cost Fn (t) will be described later.
The prefetch cost integration unit 324 prefetches the data set Dn based on the communication fee Rn (t) calculated by the communication fee calculation unit 320 and the freshness deterioration cost Fn (t) calculated by the freshness deterioration cost calculation unit 323. Calculate the read-ahead cost incurred. The look-ahead cost integration unit 324 calculates a look-ahead cost Cpn (t), which is a cost when acquiring the data set Dn at time t, using the integration function U3, for example, according to Equation 7.
Figure 2012176924
The integration function U3 may be a linear combination function as shown in Equation 8, for example.
Figure 2012176924
Here, k1 and k3 are weighting coefficients used when calculating the look-ahead cost from the communication fee Rn (t) and the freshness degradation cost Fn (t). k1 and k3 are usually positive values, but one of them may be zero. Note that k1 included in the integration function U2 of Expression 5 used when the request-time cost integration unit 322 in FIG. 24 calculates the acquisition cost Con (t) at request is necessarily the same value as k1 of Expression 8. Although not necessary, the same value may be used as k1 if the degree of influence of the communication charge included in the prefetch cost and the acquisition cost at request is the same.
The look-ahead cost graph 624 in FIG. 33 communicates with the freshness degradation cost graph 623 shown in FIG. 32 calculated by the freshness degradation cost calculation unit 323 for the data set D1 in the usage data list 601 predicted by the usage data prediction unit 102. 23 is a graph of prefetch cost Cp1 (t) calculated from the communication fee graph 615 shown in FIG. 22 calculated by the fee calculation unit 320. Here, k1 = 1.0 and k2 = k3 = 100.0.
The expected cost calculation unit in FIG. 18 using the prefetch cost Cpn (t) calculated by the prefetch cost calculation unit 309b as described above and the requested acquisition cost Con (t) calculated by the request cost calculation unit 304. The expected cost (cost expected value) is calculated when 105 does not plan prefetching. The cost (prefetch planning cost) expected when the prefetch planning cost calculation unit 310 plans prefetching is calculated. Since these methods are the same as those in the second embodiment (including modifications thereof), detailed description thereof is omitted.
For example, the graph of the expected acquisition cost expected value Y1 (t) for the data set D1 is the same as the required acquisition cost expected value graph 618 of FIG. 26, and the expected cost value Yn is 140. Further, the prefetch planning cost X1 (t) graph is derived from the use probability graph 602 in FIG. 4, the prefetch cost graph 624 in FIG. 33, and the demanded acquisition cost expected value graph 618 in FIG. The planned cost graph 625 is as follows. The difference from the prefetch planning cost graph 619 in the second embodiment shown in FIG. 27 is that the freshness degradation cost is taken into account in the section before 8 o'clock.
The method in which the object selection unit 306 determines the data set 203 to be prefetched by comparing the cost Xn (t) calculated in this way with the expected cost Yn is the method in the second embodiment. Is the same. For example, regarding the data set D1, the prefetch planning cost X1 (t) is shown in the prefetch planning cost graph 625 in FIG. 34. Since X1 (t) <Y1 (= 140) in the section before 7 o'clock, It is judged that it should be read ahead by 7 o'clock.
Thereafter, a method in which the prefetch planning unit 311 schedules a prefetch time and the prefetch unit 307 acquires the data set 203 from the data distribution unit 201 of the server device 200 and stores the data set 203 in the cache unit 108 is also a method in the second embodiment. The same.
The freshness degradation cost calculation unit 323 calculates the freshness degradation cost Fn (t) as shown in the freshness degradation cost graph 623 of FIG. 32, for example, as follows. First, the freshness degradation cost calculation unit 323 receives the basic freshness degradation fn (t) related to the data set Dn. The basic freshness degradation fn (t) is stored as the basic freshness degradation graph 626 in the freshness degradation cost definition storage unit 622 by the user of the mobile terminal 300, for example. The number of basic freshness degradations fn (t) stored in the freshness degradation cost definition storage unit 622 may be one or may be different depending on the types of data and applications. A basic freshness deterioration graph 626 in FIG. 35 illustrates an example of the basic freshness deterioration f1 (T) regarding the data set D1. The value of f1 (T) indicates the degree of freshness deterioration with respect to the elapsed time T after the data set D1 is pre-read from the server apparatus 200, and is maximum when 3600 seconds (1 hour) elapses after the data set D1 is pre-read. The value is 1.0. The freshness degradation cost Fn (t) for the data set Dn is calculated according to Equation 9 using the basic freshness degradation fn (t) and the use probability density pn (t) of the data set Dn. After the calculation, the freshness degradation cost calculation unit 323 stores the freshness degradation cost Fn (t) in the freshness degradation cost definition storage unit 622.
Figure 2012176924
Here, t is the prefetch time of the data set Dn, and u is the use time of the data set Dn. Further, fn (u−t) is set to 0 when (u−t) <0 (that is, when the data is used before the data set Dn is prefetched, it is considered that there is no deterioration in freshness). A freshness degradation cost graph 623 in FIG. 32 shows F1 (t) calculated in this way for the data set D1. The curvature of the graph near 7:00 and 8:00 in the freshness degradation cost graph 623 basically changes depending on the variance of the use probability density 610 in FIG.
Strictly, the freshness degradation cost graph 623 is calculated as described above, but the freshness degradation cost calculation unit 323 may generate a simplified one such as the freshness degradation cost graph 627 of FIG. .
In addition, the basic freshness degradation graph 626 of FIG. 35 generally varies depending on the type of data and application. For example, the map data is difficult to change, so the deterioration of freshness is small. However, since the railway operation information changes frequently, the freshness deterioration is large. For this reason, the map data may be gradually reduced in value over three years after acquisition (freshness degradation increases to 1.0), and the value of the railway operation information is halved 10 minutes after acquisition. (Freshness degradation increases to 0.5).
In this embodiment, after the data set 203 is prefetched and stored in the cache unit 108, when the data set 203 is periodically acquired and updated from the server device 200, the prefetched data set 203 is stored. The prefetch cost calculation unit 309b may further calculate a cost such as a communication fee necessary for the update and add it to the prefetch cost Cpn (t). (Modification of the third embodiment)
As in the first embodiment, the usage data prediction unit 102 outputs only the expected usage time u instead of outputting the usage probability represented by the usage probability graph 602 or the like in the usage data prediction. Also good. In this case, Fn (t) becomes fn (ut). Therefore, the freshness degradation cost calculation unit 323 does not calculate Fn (t) in particular, and calculates fn (ut) with reference to the basic freshness degradation graph 626 stored in the freshness degradation cost definition storage unit 622. , Fn (t).
The effect of the present embodiment described above is that the prefetch timing can be selected so that prefetching is not performed at an unnecessarily early time. For this reason, after prefetching the data set 203 that can be updated over time and storing it in the cache unit 108, the data set 203 becomes obsolete when an application (not shown) of the mobile terminal 300 tries to use it. Can reduce the possibility of being. This is because the prefetch cost calculation unit 309b calculates a prefetch cost that reflects the freshness degradation fn (t) of the data set 203 at the time of prefetching.
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 37 is a block diagram showing a configuration of the fourth exemplary embodiment of the present invention. Referring to FIG. 37, the information processing apparatus 700 (server apparatus 500) of the present embodiment is connected to the mobile terminal 400 via a communication path (not shown).
The mobile terminal 400 includes a behavior information collection unit 401, a prefetch unit 307, a cache unit 108, and an access unit 110.
The server device 500 includes a behavior prediction unit 101, a usage data prediction unit 102, a communication status prediction unit 103, a cost calculation unit 312, a target selection unit 306, a prefetch planning unit 311, a data distribution unit 201, data Storage unit 202. The cost calculation unit 312 includes a prefetch cost calculation unit 309, a prefetch planning cost calculation unit 310, a request cost calculation unit 304, and a cost expected value calculation unit 105.
In the present embodiment, compared to the second embodiment shown in FIG. 17, the behavior prediction unit 101, the usage data prediction unit 102, the communication status prediction unit 103, the cost calculation unit 312, and the target selection. The difference is that the unit 306 and the prefetch planning unit 311 exist not in the mobile terminal 400 but in the server device 500. Furthermore, it differs from the second embodiment in that a behavior information collection unit 401 is added to the mobile terminal 400. In addition, the same code | symbol is attached | subjected to the component same as 2nd Embodiment.
The behavior information collection unit 401 of the mobile terminal 400 is a behavior necessary for the behavior prediction unit 101 to predict a user's behavior (behavior schedule information) such as an operation history and a movement history of the user's past mobile terminal 400. Information is collected and transmitted to the server device 500.
Next, with reference to FIGS. 37 and 38, the overall operation of the present embodiment will be described in detail.
FIG. 38 is a flowchart showing the overall operation of this embodiment.
First, the behavior information collection unit 401 of the mobile terminal 400 collects behavior information such as an operation history and a movement history of the mobile terminal 400 and transmits it to the server device 500 (step S31 in FIG. 38).
Next, the behavior prediction unit 101 of the server device 500 predicts the behavior of the user of the mobile terminal 400 such as the future operation content and the movement destination based on the received behavior information (step S302 in FIG. 14).
Subsequent steps S303 to S307 are the same as steps S202 to S206 of the second embodiment shown in FIG.
Next, the plan list 621 as shown in FIG. 29 generated by the prefetch planning unit 311 is transferred to the prefetching unit 307 (step S308). Subsequently, the prefetch unit 307 acquires the data set 203 from the data distribution unit 201 of the server device 500 based on the plan list 621 (steps S309 to S310), and stores the data set 203 in the cache unit 108 (step S311).
Note that when the plan list 621 is transferred in step S308, the prefetch planning unit 311 may transfer the plan list 621 in a plurality of times instead of transferring it at once. For example, in step S308, the prefetch planning unit 311 may transfer only the data set 203 (for example, identification information of the first line (data set D1) of the plan list 621) to be prefetched first by the prefetching unit 307. After the prefetch unit 307 acquires the data set 203 from the server device 500 and finishes storing the data set 203 in the cache unit 108 (steps S309 to S311), the process returns to step S308, and the prefetch plan unit 311 stores the plan list 621. Next, it may be repeated that the identification information of the data set 203 (for example, D6) to be prefetched is transferred. Alternatively, the next identification information in the plan list 621 may be transferred simultaneously when the data set 203 is prefetched in step S310.
In the present embodiment, the server apparatus 500 has functions for prefetched calculation and data distribution. However, these functions may be arranged in a plurality of different server apparatuses. That is, the server apparatus 500 in FIG. 37 includes a behavior prediction unit 101, a usage data prediction unit 102, a communication status prediction unit 103, a prefetch cost calculation unit 309, a prefetch planning cost calculation unit 310, and a request cost calculation. A prefetch target calculation server device including a unit 304, an expected cost calculation unit 105, a target selection unit 306, and a prefetch planning unit 311, and a data distribution server device including a data distribution unit 201 may be used.
In addition, an application (not shown) of the mobile terminal 400 periodically communicates with an application (not shown) of the server device 500, and the behavior prediction unit 101 of the server device 500 determines whether the mobile terminal 400 In the case where the current position, future destination, user operation, and the like can be estimated, the present embodiment may be configured not to include the behavior information collection unit 401. As an example of such communication, a web application that displays a map around the current position may request a map image from the server device 500 using the current position as a parameter.
Alternatively, without using the information obtained from the mobile terminal 400, the behavior predicting unit 101 determines only the current position of the mobile terminal 400 and the future from only the various data sets 203 (not shown) such as the schedule stored in the server device 500. In the case where a destination, a user operation, and the like can be estimated, the present embodiment may not include the behavior information collection unit 401.
Similarly to the first embodiment, the information processing apparatus 700 of the present invention does not have the prefetch planning unit 311, and replaces the cost calculation unit 109 with the calculation unit 312 and the target selection unit instead of the target selection unit 306. A configuration having 106 is also possible.
Similarly to the third embodiment, the information processing apparatus 700 of the present invention has a prefetch cost calculation unit 309b instead of the prefetch cost calculation unit 309 in order to consider the freshness degradation of the prefetched data set 203. Also good.
Further, in the present embodiment, the server device 500 includes the prediction storage unit 111 and the prediction acquisition unit 112 in FIG. 17 instead of including the behavior prediction unit 101, the usage data prediction unit 102, and the communication status prediction unit 103. It may be connected to the prediction device 800.
In addition to the effects of the second embodiment, the effects of the present embodiment described above enable prediction of the data set 203 that is a prefetching candidate and the calculation of the prefetching cost and the acquisition cost at the time of request with higher accuracy. It is a point. The first reason is that the server device 500 acquires and processes more information such as network congestion, traffic information such as train delays and road congestion, and the link structure of Internet web pages than the mobile terminal 400. This is because prediction of the data set 203 and calculation of prefetch cost and acquisition cost at request can be performed using efficient information and information held only by the server device 500. The second reason is that a general user who aggregates the behavior histories of a plurality of users from the behavior information collection unit 401 of the mobile terminal 400 to the server device 500 and statistically calculated from the behavior histories of the plurality of users. This is because more accurate behavior prediction can be performed by using the behavior pattern.
(Fifth embodiment)
FIG. 39 is a block diagram showing a configuration of the fifth exemplary embodiment of the present invention. The information processing apparatus 700 includes a prediction storage unit 111, a cost calculation unit 109, and a selection unit 106. Alternatively, the information processing apparatus 700 includes a prediction storage unit 111, a cost calculation unit 312, and a selection unit 306.
The prediction storage means 111 is the estimated access cost for each of the plurality of data sets 203 and the communication cost when the access means 110 accesses the data set 203 via the communication path at the expected time. Alternatively, the communication speed at the expected time is stored.
The cost calculation unit 109 or the cost calculation unit 312 acquires, for each of the plurality of data sets 203, a request acquisition cost that is not reduced with respect to the expected communication cost, or the data set 203 via a communication path. Calculate the expected time required and the acquisition cost at the time of request that does not decrease with respect to the expected time.
The sorting unit 106 or the sorting unit 306 preferentially selects the data set 203 having a large acquisition cost at the time of request, and outputs the identification information of the selected data set 203 as a selection result.
The information processing apparatus 700 according to the present embodiment can prefetch preferentially the data set 203 having a high acquisition cost at the time when data use is predicted. Therefore, there is a high possibility that the data can be acquired at a lower cost than the cost at the time when the use is predicted.
The reason is that the cost calculation unit 109 calculates the acquisition cost or the expected value at the time when use of each of the plurality of data sets 203 is predicted, and the target selection unit 106 preferentially selects the data set 203 having a large value. This is because the prefetch unit 107 prefetches the sorted data set 203 after sorting.
Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. For example, the configurations of the prefetch cost calculation unit 309 and the request cost calculation unit 304 may be changed as appropriate. Further, for example, in the second embodiment, when it is not necessary to consider the delay at the time of obtaining the data set 203 (k2 in Formula 5 is set to 0), the requested cost calculation unit 304 includes the delay cost calculation unit 120. It is good also as a structure which does not contain. For example, in the third embodiment, when it is not necessary to consider the pre-reading of the data set 203 or the communication fee at the time of acquisition (k3 in Expression 8 is set to 0), the pre-reading cost calculation unit 309 and the requesting time are requested. The cost calculation unit 304 may not include the communication charge calculation unit 320.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2011-136490 for which it applied on June 20, 2011, and takes in those the indications of all here.

100 移動端末
200 サーバ装置
300 移動端末
400 移動端末
500 サーバ装置
101 行動予測部
102 利用データ予測部
103 通信状況予測部
104 要求時コスト算出部
105 コスト期待値算出部
106 対象選別部
107 先読み部
108 キャッシュ部
109 コスト算出部
110 アクセス部
111 予測記憶部
112 予測取得部
120 遅延コスト算出部
121 要求時コスト統合部
201 データ配信部
202 データ記憶部
203 データセット
304 要求時コスト算出部
306 対象選別部
307 先読み部
309 先読みコスト算出部
309b 先読みコスト算出部
310 先読み計画時コスト算出部
311 先読み計画部
320 通信料金算出部
321 先読みコスト統合部
322 要求時コスト統合部
323 鮮度劣化コスト算出部
324 先読みコスト統合部
401 行動情報収集部
600 行動予定リスト
601 利用データリスト
602 利用確率グラフ
603 利用確率リスト
604 通信状況予測リスト
605 通信速度情報
606 遅延コスト定義
606 遅延コスト定義記憶部
607 遅延コストリスト
608 遅延コストグラフ
609 要求時取得コストグラフ
610 利用確率密度
611 要求時取得コスト期待値グラフ
612 抽出リスト
613 通信料金情報
613 通信料金情報記憶部
614 通信料金リスト
615 通信料金グラフ
616 先読みコストグラフ
617 要求時取得コストグラフ
618 要求時取得コスト期待値グラフ
619 先読み計画時コストグラフ
620 抽出リスト
621 計画リスト
622 鮮度劣化コスト定義記憶部
623 鮮度劣化コストグラフ
624 先読みコストグラフ
625 先読み計画時コストグラフ
626 基本鮮度劣化グラフ
627 鮮度劣化コストグラフ
700 情報処理装置
800 予測装置
900 移動端末
DESCRIPTION OF SYMBOLS 100 Mobile terminal 200 Server apparatus 300 Mobile terminal 400 Mobile terminal 500 Server apparatus 101 Behavior prediction part 102 Usage data prediction part 103 Communication condition prediction part 104 Cost calculation part on demand 105 Cost expected value calculation part 106 Target selection part 107 Prefetching part 108 Cache Unit 109 Cost calculation unit 110 Access unit 111 Prediction storage unit 112 Prediction acquisition unit 120 Delay cost calculation unit 121 Request cost integration unit 201 Data distribution unit 202 Data storage unit 203 Data set 304 Request cost calculation unit 306 Target selection unit 307 Prefetch 309 Prefetch cost calculation unit 309b Prefetch cost calculation unit 310 Prefetch plan cost calculation unit 311 Prefetch plan unit 320 Communication charge calculation unit 321 Prefetch cost integration unit 322 Request cost integration unit 323 Deterioration cost calculation unit 324 Prefetch cost integration unit 401 Action information collection unit 600 Action schedule list 601 Use data list 602 Use probability graph 603 Use probability list 604 Communication state prediction list 605 Communication speed information 606 Delay cost definition 606 Delay cost definition storage unit 607 Delay cost list 608 Delay cost graph 609 Acquisition cost graph at request 610 Usage probability density 611 Expected acquisition cost graph at request 612 Extraction list 613 Communication fee information 613 Communication fee information storage unit 614 Communication fee list 615 Communication fee graph 616 Pre-read cost graph 617 Acquisition cost graph on request 618 Expected acquisition cost graph on request 619 Prefetch planning cost graph 620 Extraction list 621 Plan list 622 Freshness degradation cost definition storage unit 623 Freshness degradation cost graph 624 Prefetch cost graph 625 Prefetch plan cost graph 626 Basic freshness degradation graph 627 Freshness degradation cost graph 700 Information processing device 800 Prediction device 900 Mobile terminal

Claims (24)

複数のデータセットの各々について、アクセスの予想時刻、並びに、前記予想時刻にアクセス手段が通信路経由で当該データセットにアクセスする場合の通信コストである予想時通信コスト、若しくは、前記予想時刻における通信速度を格納する予測格納手段と、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な要求時取得コスト、または、前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コストを算出するコスト算出手段と、
前記要求時取得コストの大きなデータセットを優先的に選択し、選択したデータセットの識別情報を選択結果として出力する選別手段、を備える情報処理装置。
For each of the plurality of data sets, the expected access time and the expected communication cost that is the communication cost when the access means accesses the data set via the communication path at the expected time, or the communication at the expected time A predictive storage means for storing the speed;
For each of the plurality of data sets, with respect to the acquisition cost at the time of non-decreasing with respect to the communication cost at the time of prediction, or the expected time and the expected time required to acquire the data set via the communication path A cost calculation means for calculating a non-decreasing request acquisition cost;
An information processing apparatus comprising: a selection unit that preferentially selects a data set having a high acquisition cost at the time of request and outputs identification information of the selected data set as a selection result.
前記予測格納手段は、前記複数のデータセットの各々について、前記予想時通信コスト、および、現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点の前記通信コストである先読み通信コストを格納し、
前記コスト算出手段は、前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な前記要求時取得コスト、及び、前記先読み時間帯の各時点対応に前記先読み通信コストに対して非減少な先読みコストを算出し、
前記選別手段は、前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択し、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力する、請求項1の情報処理装置。
The prediction storage means, for each of the plurality of data sets, the communication cost at the time of the prediction and the communication cost at each point of time in the pre-reading time zone that is a time zone before the predicted time after the present time Store the cost,
The cost calculation means, for each of the plurality of data sets, the non-decreasing request-time acquisition cost with respect to the expected communication cost, and the prefetch communication cost corresponding to each time point of the prefetch time zone Calculate non-decreasing look-ahead costs,
The selecting means selects a data set whose pre-read cost at a certain time point (acquisition start time) in the pre-read time zone is lower than the acquisition cost at the time of request, identification information of the selected data set, and the data set of the data set The information processing apparatus according to claim 1, wherein the prefetch cost and the acquisition cost at the time of request or the acquisition start time of the data set is output as the selection result.
前記予測格納手段は、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納し、
前記コスト算出手段は、前記複数のデータセットの各々について、前記通信路経由で当該データセットを取得するのに要する予想時間、並びに、当該予想時間および前記予測時通信コストの和に対して非減少な要求時取得コストを算出する、請求項2の情報処理装置。
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
The cost calculating means is non-decreasing with respect to each of the plurality of data sets with respect to the expected time required to acquire the data set via the communication path, and the sum of the predicted time and the predicted communication cost. The information processing apparatus according to claim 2, wherein the acquisition cost upon request is calculated.
データセットの読み込み時からの時間Tの経過に対して非減少な鮮度劣化を示す基本鮮度劣化情報を格納する鮮度劣化コスト記憶部をさらに備え、
前記予測格納手段は、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納し、
前記コスト算出手段は、前記複数のデータセットの各々について、
前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コスト、並びに、
現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点t対応に、T=前記予測時刻−tに対応する鮮度劣化コストを、前記鮮度劣化コスト記憶部を参照して算出し、前記鮮度劣化コストにたいして非減少な先読みコストを算出し、
前記選別手段は、前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択し、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力する、請求項1の情報処理装置。
A freshness deterioration cost storage unit for storing basic freshness deterioration information indicating non-decreasing freshness deterioration with the passage of time T from the time of reading the data set;
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
The cost calculation means, for each of the plurality of data sets,
An expected time required to acquire the data set via the communication path, a non-decreasing acquisition cost on demand for the expected time, and
The freshness degradation cost corresponding to T = predicted time-t is calculated with reference to the freshness degradation cost storage unit for each time point t in the look-ahead time zone, which is a time zone before the forecast time after the present. , Calculate a non-decreasing look-ahead cost for the freshness degradation cost
The selecting means selects a data set whose pre-read cost at a certain time point (acquisition start time) in the pre-read time zone is lower than the acquisition cost at the time of request, identification information of the selected data set, and the data set of the data set The information processing apparatus according to claim 1, wherein the prefetch cost and the acquisition cost at the time of request or the acquisition start time of the data set is output as the selection result.
データセットの読み込み時からの時間Tの経過に対して非減少な鮮度劣化を示す基本鮮度劣化情報を格納する鮮度劣化コスト記憶部をさらに備え、
前記予測格納手段は、前記複数のデータセットの各々について、前記予想時通信コスト、および、現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点の前記通信コストである先読み通信コストを格納し、
前記コスト算出手段は、前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な前記要求時取得コスト、並びに、
前記先読み時間帯の各時点t対応に、T=前記予測時刻−tに対応する鮮度劣化コストを、前記鮮度劣化コスト記憶部を参照して算出し、前記鮮度劣化コストおよび前記先読み通信コストの和に対して非減少な前記先読みコストを算出し、
前記選別手段は、前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択し、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力する、請求項1の情報処理装置。
A freshness deterioration cost storage unit for storing basic freshness deterioration information indicating non-decreasing freshness deterioration with the passage of time T from the time of reading the data set;
The prediction storage means, for each of the plurality of data sets, the communication cost at the time of the prediction and the communication cost at each point of time in the pre-reading time zone that is a time zone before the predicted time after the present time Store the cost,
The cost calculating means, for each of the plurality of data sets, the request-time acquisition cost that is non-decreasing with respect to the expected communication cost, and
For each time point t in the prefetch time zone, T = freshness degradation cost corresponding to the predicted time−t is calculated with reference to the freshness degradation cost storage unit, and the sum of the freshness degradation cost and the prefetch communication cost is calculated. Calculate the look-ahead cost that is non-decreasing against
The selecting means selects a data set whose pre-read cost at a certain time point (acquisition start time) in the pre-read time zone is lower than the acquisition cost at the time of request, identification information of the selected data set, and the data set of the data set The information processing apparatus according to claim 1, wherein the prefetch cost and the acquisition cost at the time of request or the acquisition start time of the data set is output as the selection result.
前記予測格納手段は、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納し、
前記コスト算出手段は、前記複数のデータセットの各々について、前記通信路経由で当該データセットを取得するのに要する予想時間、並びに、当該予想時間および前記予想時通信コストの和に対して非減少な要求時取得コストを算出する、請求項5の情報処理装置。
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
The cost calculation means is non-decreasing with respect to each of the plurality of data sets with respect to the expected time required to acquire the data set via the communication path, and the sum of the expected time and the expected communication cost. The information processing apparatus according to claim 5, wherein the acquisition cost upon request is calculated.
前記コスト算出手段は、前記複数のデータセット種別に応じて与えられた係数と前記予想時間の積に対して非減少な前記要求時取得コストを算出する、請求項1、3、4、6のいずれかの情報処理装置。   The said cost calculation means calculates the said acquisition cost at the time of a non-decrease with respect to the product of the coefficient given according to the said some data set classification, and the said estimated time, The request cost of Claim 1, 3, 4, 6 One of the information processing apparatuses. 前記選別手段は、前記要求時取得コストが最大のデータセットを選択し、選択したデータセットの識別情報と当該データセットの前記取得開始時刻を前記選択結果として出力する、請求項1の情報処理装置。   The information processing apparatus according to claim 1, wherein the selecting unit selects a data set having the maximum acquisition cost at the time of request, and outputs identification information of the selected data set and the acquisition start time of the data set as the selection result. . 前記複数のデータセットを格納するデータ記憶部を備えるサーバ装置と、
前記サーバ装置と前記通信路で接続され、
キャッシュ手段と、
指定された前記複数のデータセットのいずれかが、前記キャッシュ手段に格納されていれば前記キャッシュ手段から、前記キャッシュ手段に格納されていなければ前記サーバ装置から当該データセット内のデータを前記通信路経由で取得する前記アクセス手段と、
前記選別手段から前記選択結果を取得して、前記選択結果の識別情報が示すデータセットの少なくとも一部を前記予想時刻以前または前記取得開始時刻に、前記サーバ装置から読み込んで前記キャッシュ手段に格納する先読み手段を、備える請求項1乃至8の何れかの情報処理装置を包含する、情報処理システム。
A server device comprising a data storage unit for storing the plurality of data sets;
Connected to the server device via the communication path,
Caching means;
If any of the specified plurality of data sets is stored in the cache unit, the data in the data set is transferred from the cache unit, and from the server device if not stored in the cache unit, the communication path The access means to obtain via,
The selection result is acquired from the sorting unit, and at least a part of the data set indicated by the identification information of the selection result is read from the server device and stored in the cache unit before the expected time or at the acquisition start time. An information processing system including the information processing apparatus according to any one of claims 1 to 8, comprising prefetching means.
前記複数のデータセットを格納するデータ記憶部を備える請求項1乃至8の何れかの情報処理装置と、
前記情報処理装置と前記通信路で接続され、
キャッシュ手段と、
指定された前記複数のデータセットのいずれかが、前記キャッシュ手段に格納されていれば前記キャッシュ手段から、前記キャッシュ手段に格納されていなければ前記情報処理装置から当該データセット内のデータを前記通信路経由で取得する前記アクセス手段と、
前記選別手段から前記選択結果を取得して、前記選択結果の識別情報が示すデータセットの少なくとも一部を前記予想時刻以前または前記取得開始時刻に、前記情報処理装置から読み込んで前記キャッシュ手段に格納する先読み手段を備えた移動端末を包含する、情報処理システム。
The information processing apparatus according to any one of claims 1 to 8, further comprising a data storage unit that stores the plurality of data sets;
Connected to the information processing apparatus via the communication path;
Caching means;
If any of the plurality of designated data sets is stored in the cache unit, the data in the data set is transferred from the cache unit, and if not stored in the cache unit, the data set is transferred from the information processing apparatus to the communication unit. The access means for obtaining via a road;
The selection result is acquired from the sorting unit, and at least a part of the data set indicated by the identification information of the selection result is read from the information processing apparatus and stored in the cache unit before the expected time or at the acquisition start time. An information processing system including a mobile terminal provided with prefetching means.
予測格納手段に、複数のデータセットの各々について、アクセスの予想時刻、並びに、前記予想時刻にアクセス手段が通信路経由で当該データセットにアクセスする場合の通信コストである予想時通信コスト、若しくは、前記予想時刻における通信速度を格納し、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な要求時取得コスト、または、前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コストを算出し、
前記要求時取得コストの大きなデータセットを優先的に選択し、選択したデータセットの識別情報を選択結果として出力する、情報処理方法。
For each of the plurality of data sets in the prediction storage means, the expected access time, and the expected communication cost that is the communication cost when the access means accesses the data set via the communication path at the expected time, or Stores the communication speed at the expected time,
For each of the plurality of data sets, with respect to the acquisition cost at the time of non-decreasing with respect to the communication cost at the time of prediction, or the expected time and the expected time required to acquire the data set via the communication path Calculate non-decreasing acquisition costs on demand,
An information processing method that preferentially selects a data set having a large acquisition cost at the time of request and outputs identification information of the selected data set as a selection result.
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時通信コスト、および、現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点の前記通信コストである先読み通信コストを格納し、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な前記要求時取得コスト、及び、前記先読み時間帯の各時点対応に前記先読み通信コストに対して非減少な先読みコストを算出し、
前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択し、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力する、請求項11の情報処理方法。
For each of the plurality of data sets, the prediction storage means has the communication cost at the time of the prediction and the communication cost at each time point in the pre-reading time zone that is the time zone before and after the predicted time after the present time. Store the cost,
For each of the plurality of data sets, the request acquisition cost that is non-decreasing with respect to the expected communication cost, and the read-ahead cost that is non-decreasing with respect to the read-ahead communication cost for each time point in the prefetch time zone. Calculate
Select a data set whose pre-read cost at a certain time point (acquisition start time) in the pre-read time zone is lower than the acquisition cost at the time of request, identification information of the selected data set, and the pre-read cost and the request of the data set The information processing method according to claim 11, wherein the time acquisition cost or the acquisition start time of the data set is output as the selection result.
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納し、
前記複数のデータセットの各々について、前記通信路経由で当該データセットを取得するのに要する予想時間、並びに、当該予想時間および前記予測時通信コストの和に対して非減少な要求時取得コストを算出する、請求項12の情報処理方法。
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
For each of the plurality of data sets, an expected time required to acquire the data set via the communication path, and a request acquisition cost that is not reduced with respect to the sum of the predicted time and the predicted communication cost. The information processing method according to claim 12, which is calculated.
鮮度劣化コスト記憶部に、データセットの読み込み時からの時間Tの経過に対して非減少な鮮度劣化を示す基本鮮度劣化情報を格納し、
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納し、
前記複数のデータセットの各々について、前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コスト、並びに、現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点t対応に、T=前記予測時刻−tに対応する鮮度劣化コストを、前記鮮度劣化コスト記憶部を参照して算出し、前記鮮度劣化コストにたいして非減少な先読みコストを算出し、
前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択し、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力する、請求項11の情報処理方法。
In the freshness deterioration cost storage unit, basic freshness deterioration information indicating non-decreasing freshness deterioration with respect to the elapse of time T from the reading of the data set is stored,
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
For each of the plurality of data sets, the expected time required to acquire the data set via the communication path, the acquisition cost at the time of non-decrease with respect to the expected time, and the current time and before the expected time The freshness degradation cost corresponding to T = predicted time-t is calculated with reference to the freshness degradation cost storage unit for each time point t in the look-ahead time zone, which is a time zone, and is not decreased with respect to the freshness degradation cost. Calculate the prefetch cost
Select a data set whose pre-read cost at a certain time point (acquisition start time) in the pre-read time zone is lower than the acquisition cost at the time of request, identification information of the selected data set, and the pre-read cost and the request of the data set The information processing method according to claim 11, wherein the time acquisition cost or the acquisition start time of the data set is output as the selection result.
データセットの読み込み時からの時間Tの経過に対して非減少な鮮度劣化を示す基本鮮度劣化情報を格納し、
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時通信コスト、および、現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点の前記通信コストである先読み通信コストを格納し、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な前記要求時取得コスト、並びに、
前記先読み時間帯の各時点t対応に、T=前記予測時刻−tに対応する鮮度劣化コストを、前記鮮度劣化コスト記憶部を参照して算出し、前記鮮度劣化コストおよび前記先読み通信コストの和に対して非減少な前記先読みコストを算出し、
前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択し、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力する、請求項11の情報処理方法。
Stores basic freshness deterioration information indicating non-decreasing freshness deterioration over time T from the time of reading the data set,
For each of the plurality of data sets, the prediction storage means has the communication cost at the time of the prediction and the communication cost at each time point in the pre-reading time zone that is the time zone before and after the predicted time after the present time. Store the cost,
For each of the plurality of data sets, the on-demand acquisition cost that is non-decreasing relative to the expected communication cost,
For each time point t in the prefetch time zone, T = freshness degradation cost corresponding to the predicted time−t is calculated with reference to the freshness degradation cost storage unit, and the sum of the freshness degradation cost and the prefetch communication cost is calculated. Calculate the look-ahead cost that is non-decreasing against
Select a data set whose pre-read cost at a certain time point (acquisition start time) in the pre-read time zone is lower than the acquisition cost at the time of request, identification information of the selected data set, and the pre-read cost and the request of the data set The information processing method according to claim 11, wherein the time acquisition cost or the acquisition start time of the data set is output as the selection result.
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納し、
前記複数のデータセットの各々について、前記通信路経由で当該データセットを取得するのに要する予想時間、並びに、当該予想時間および前記予想時通信コストの和に対して非減少な要求時取得コストを算出する、請求項15の情報処理方法。
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
For each of the plurality of data sets, an expected time required to acquire the data set via the communication path, and a request acquisition cost that is not reduced with respect to the sum of the expected time and the expected communication cost. 16. The information processing method according to claim 15, wherein the information processing method is calculated.
前記複数のデータセット種別に応じて与えられた係数と前記予想時間の積に対して非減少な前記要求時取得コストを算出する、請求項11、13、14、16のいずれかの情報処理方法。   The information processing method according to any one of claims 11, 13, 14, and 16, wherein a non-decreasing request cost is calculated with respect to a product of a coefficient given in accordance with the plurality of data set types and the expected time. . コンピュータに、
予測格納手段に、複数のデータセットの各々について、アクセスの予想時刻、並びに、前記予想時刻にアクセス手段が通信路経由で当該データセットにアクセスする場合の通信コストである予想時通信コスト、若しくは、前記予想時刻における通信速度を格納させ、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な要求時取得コスト、または、前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コストを算出させ、
前記要求時取得コストの大きなデータセットを優先的に選択させ、選択したデータセットの識別情報を選択結果として出力させる、情報処理プログラム。
On the computer,
For each of the plurality of data sets in the prediction storage means, the expected access time, and the expected communication cost that is the communication cost when the access means accesses the data set via the communication path at the expected time, or Store the communication speed at the expected time,
For each of the plurality of data sets, with respect to the acquisition cost at the time of non-decreasing with respect to the communication cost at the time of prediction, or the expected time and the expected time required to acquire the data set via the communication path Calculate non-decreasing acquisition costs on demand,
An information processing program that preferentially selects a data set having a large acquisition cost at the time of request and outputs identification information of the selected data set as a selection result.
前記コンピュータに、
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時通信コスト、および、現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点の前記通信コストである先読み通信コストを格納させ、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な前記要求時取得コスト、及び、前記先読み時間帯の各時点対応に前記先読み通信コストに対して非減少な先読みコストを算出させ、
前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択させ、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力させる、請求項18の情報処理プログラム。
In the computer,
For each of the plurality of data sets, the prediction storage means has the communication cost at the time of the prediction and the communication cost at each time point in the pre-reading time zone that is the time zone before and after the predicted time after the present time. Store the cost,
For each of the plurality of data sets, the request acquisition cost that is non-decreasing with respect to the expected communication cost, and the read-ahead cost that is non-decreasing with respect to the read-ahead communication cost for each time point in the prefetch time zone. Let me calculate
The data set whose pre-read cost at a certain point in the pre-read time zone (acquisition start time) is lower than the request-time acquisition cost is selected, and the identification information of the selected data set, the pre-read cost of the data set, and the request The information processing program according to claim 18, wherein the time acquisition cost or the acquisition start time of the data set is output as the selection result.
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納させ、
前記複数のデータセットの各々について、前記通信路経由で当該データセットを取得するのに要する予想時間、並びに、当該予想時間および前記予測時通信コストの和に対して非減少な要求時取得コストを算出させる、請求項19の情報処理プログラム。
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
For each of the plurality of data sets, an expected time required to acquire the data set via the communication path, and a request acquisition cost that is not reduced with respect to the sum of the predicted time and the predicted communication cost. The information processing program according to claim 19, which is calculated.
鮮度劣化コスト記憶部に、データセットの読み込み時からの時間Tの経過に対して非減少な鮮度劣化を示す基本鮮度劣化情報を格納させ、
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納させ、
前記複数のデータセットの各々について、
前記通信路経由で当該データセットを取得するのに要する予想時間および当該予想時間に対して非減少な要求時取得コスト、並びに、
現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点t対応に、T=前記予測時刻−tに対応する鮮度劣化コストを、前記鮮度劣化コスト記憶部を参照して算出させ、前記鮮度劣化コストにたいして非減少な先読みコストを算出させ、
前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択させ、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力させる、請求項18の情報処理プログラム。
In the freshness deterioration cost storage unit, basic freshness deterioration information indicating non-decreasing freshness deterioration with respect to the elapse of time T from the time of reading the data set is stored,
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
For each of the plurality of data sets
An expected time required to acquire the data set via the communication path, a non-decreasing acquisition cost on demand for the expected time, and
The freshness degradation cost corresponding to T = predicted time-t is calculated with reference to the freshness degradation cost storage unit for each time point t in the look-ahead time zone, which is a time zone before the forecast time after the present. , To calculate a non-decreasing look-ahead cost with respect to the freshness degradation cost,
The data set whose pre-read cost at a certain point in the pre-read time zone (acquisition start time) is lower than the request-time acquisition cost is selected, and the identification information of the selected data set, the pre-read cost of the data set, and the request The information processing program according to claim 18, wherein the time acquisition cost or the acquisition start time of the data set is output as the selection result.
データセットの読み込み時からの時間Tの経過に対して非減少な鮮度劣化を示す基本鮮度劣化情報を格納させ、
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時通信コスト、および、現在以降で前記予想時刻より前の時間帯である先読み時間帯の各時点の前記通信コストである先読み通信コストを格納させ、
前記複数のデータセットの各々について、前記予想時通信コストに対して非減少な前記要求時取得コスト、並びに、
前記先読み時間帯の各時点t対応に、T=前記予測時刻−tに対応する鮮度劣化コストを、前記鮮度劣化コスト記憶部を参照して算出させ、前記鮮度劣化コストおよび前記先読み通信コストの和に対して非減少な前記先読みコストを算出させ、
前記先読み時間帯のある時点(取得開始時刻)の前記先読みコストが前記要求時取得コストより低いデータセットを選択させ、選択したデータセットの識別情報、並びに、当該データセットの前記先読みコストおよび前記要求時取得コスト、若しくは、当該データセットの前記取得開始時刻を前記選択結果として出力させる、請求項18の情報処理プログラム。
Basic freshness deterioration information indicating non-decreasing freshness deterioration with respect to the elapse of time T from the time of reading the data set is stored,
For each of the plurality of data sets, the prediction storage means has the communication cost at the time of the prediction and the communication cost at each time point in the pre-reading time zone that is the time zone before and after the predicted time after the present time. Store the cost,
For each of the plurality of data sets, the on-demand acquisition cost that is non-decreasing relative to the expected communication cost,
For each time point t in the prefetch time zone, T = a freshness degradation cost corresponding to the predicted time−t is calculated with reference to the freshness degradation cost storage unit, and the sum of the freshness degradation cost and the prefetch communication cost is calculated. To calculate the non-decreasing look-ahead cost,
The data set whose pre-read cost at a certain point in the pre-read time zone (acquisition start time) is lower than the request-time acquisition cost is selected, and the identification information of the selected data set, the pre-read cost of the data set, and the request The information processing program according to claim 18, wherein the time acquisition cost or the acquisition start time of the data set is output as the selection result.
前記予測格納手段に、前記複数のデータセットの各々について、前記予想時刻における通信速度を格納させ、
前記複数のデータセットの各々について、前記通信路経由で当該データセットを取得するのに要する予想時間、並びに、当該予想時間および前記予想時通信コストの和に対して非減少な要求時取得コストを算出させる、請求項22の情報処理プログラム。
The predicted storage means stores the communication speed at the predicted time for each of the plurality of data sets,
For each of the plurality of data sets, an expected time required to acquire the data set via the communication path, and a request acquisition cost that is not reduced with respect to the sum of the expected time and the expected communication cost. The information processing program according to claim 22, wherein the information processing program is calculated.
前記複数のデータセット種別に応じて与えられた係数と前記予想時間の積に対して非減少な前記要求時取得コストを算出させる、請求項18、20、21、23のいずれかの情報処理プログラム。   The information processing program according to any one of claims 18, 20, 21, and 23, wherein the non-decreasing request cost is calculated with respect to a product of a coefficient given according to the plurality of data set types and the expected time. .
JP2013521657A 2011-06-20 2012-06-20 Information processing apparatus, information processing system, information processing method, and program Pending JPWO2012176924A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013521657A JPWO2012176924A1 (en) 2011-06-20 2012-06-20 Information processing apparatus, information processing system, information processing method, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011136490 2011-06-20
JP2011136490 2011-06-20
JP2013521657A JPWO2012176924A1 (en) 2011-06-20 2012-06-20 Information processing apparatus, information processing system, information processing method, and program

Publications (1)

Publication Number Publication Date
JPWO2012176924A1 true JPWO2012176924A1 (en) 2015-02-23

Family

ID=47422750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013521657A Pending JPWO2012176924A1 (en) 2011-06-20 2012-06-20 Information processing apparatus, information processing system, information processing method, and program

Country Status (2)

Country Link
JP (1) JPWO2012176924A1 (en)
WO (1) WO2012176924A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150169371A1 (en) * 2013-12-13 2015-06-18 Mark D. Yarvis Platform self-management of resources based on a contextual understanding of user plans and goals
JPWO2017199899A1 (en) * 2016-05-19 2019-03-14 日本電気株式会社 Information presenting apparatus, information presenting method, and storage medium
EP3521123B1 (en) * 2016-10-03 2023-09-06 Hitachi Astemo, Ltd. In-vehicle electronic control apparatus
US11637911B1 (en) * 2020-05-26 2023-04-25 Meta Platforms, Inc. Location and behavior based prefetch and caching of remote data
CN113115368B (en) * 2021-04-02 2022-08-05 南京邮电大学 Base station cache replacement method, system and storage medium based on deep reinforcement learning

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002373109A (en) * 2001-06-13 2002-12-26 Nec Corp Data look-ahead system and its method
JP2010015394A (en) * 2008-07-03 2010-01-21 Kddi Corp Link destination presentation device and computer program
JP5430235B2 (en) * 2008-07-23 2014-02-26 三菱電機株式会社 Information processing apparatus and program

Also Published As

Publication number Publication date
WO2012176924A1 (en) 2012-12-27

Similar Documents

Publication Publication Date Title
JP5900329B2 (en) Information processing apparatus, terminal, server, and data transfer method
Ehmke et al. Customer acceptance mechanisms for home deliveries in metropolitan areas
WO2012176924A1 (en) Information processing device, information processing system, information processing method and program
TWI564834B (en) Electricity demand prediction device, electricity supply system, method of predicting electricity demand, and program thereof
JP6162240B2 (en) Updating cached database query results
US20180314998A1 (en) Resource Allocation in a Network System
US20180225796A1 (en) Resource Allocation in a Network System
JP6244816B2 (en) Data collection management system, data collection management method, terminal, and management apparatus
JP5025807B1 (en) Reserve power calculation device and method, and computer program
US20170098247A1 (en) Energy-efficient content serving
WO2019232693A1 (en) System and method for ride order dispatching
JP6677264B2 (en) Demand forecasting device, forwarding plan generating device, user model generating device, and method
US9239794B1 (en) Managing a prefetch buffer with probabilistic access predictions
Wong et al. On dynamic demand responsive transport services with degree of dynamism
JP2010517193A (en) System and method for effectively providing content to client devices in an electronic network
CN103368787A (en) Information processing device, information processing method, and program
JPWO2015012144A1 (en) Battery secondary usage management system, battery secondary usage management device, and battery secondary usage management method
JP6603995B2 (en) Server apparatus and service providing method
AU2018217973A1 (en) Dynamic selection of geo-based service options in a network system
Zou et al. A look-ahead partial routing framework for the stochastic and dynamic vehicle routing problem
JP2015141465A (en) Management device and method of electric vehicle
US20200341819A1 (en) Information processing apparatus and distributed processing system
KR101934800B1 (en) Apparatus for proving public transportation
JP2003208698A (en) Traffic information provision system and method therefor, and traffic information provision program
WO2020049775A1 (en) Passenger guiding system and passenger guiding method