JP2014229044A - Program, recording medium and device for increasing speed of data acquisition of data processor - Google Patents

Program, recording medium and device for increasing speed of data acquisition of data processor Download PDF

Info

Publication number
JP2014229044A
JP2014229044A JP2013107655A JP2013107655A JP2014229044A JP 2014229044 A JP2014229044 A JP 2014229044A JP 2013107655 A JP2013107655 A JP 2013107655A JP 2013107655 A JP2013107655 A JP 2013107655A JP 2014229044 A JP2014229044 A JP 2014229044A
Authority
JP
Japan
Prior art keywords
data
processing
program
acquisition
unit
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
JP2013107655A
Other languages
Japanese (ja)
Inventor
三木 聡
Satoshi Miki
聡 三木
了士 土山
Ryoji Tsuchiyama
了士 土山
青木 亮
Akira Aoki
亮 青木
智也 平尾
Tomoya Hirao
智也 平尾
正名 村瀬
Masakata Murase
正名 村瀬
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.)
FIXSTARS CORP
Original Assignee
FIXSTARS 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 FIXSTARS CORP filed Critical FIXSTARS CORP
Priority to JP2013107655A priority Critical patent/JP2014229044A/en
Publication of JP2014229044A publication Critical patent/JP2014229044A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To increase the speed of the data acquisition of a data processor to be performed in accordance with an existing program without adding any correction to the program.SOLUTION: A data processing system 1 includes: processing means 11 for performing data processing in accordance with an application program 111; first storage means 14 as the original storage place of data to be used for processing by the processing means 11; second storage means 15 to be used as a cache memory; and redirect means 16 for redirecting a data request to be output from the processing means 11 to the first storage means 14 to the second storage means 15. Specification means 12 specifies data satisfying a relation indicated by first condition data 121 corresponding to the application program 111 with the data being currently used by the processing means 11 as prefetch object data, and acquisition means 13 acquires the prefetch object data from the first storage means 14, and allows the second storage means 15 to store the prefetch object data.

Description

本発明は、データ処理装置のデータ取得を高速化するための技術に関する。   The present invention relates to a technique for speeding up data acquisition of a data processing apparatus.

コンピュータ等のデータ処理装置は、プログラムに従い処理を行う際に、当該処理に用いるデータを自機内の記憶手段もしくは外部の記憶装置から取得する必要がある。このデータの取得に要する時間を短縮することができれば、処理の完了時刻を早めることができる。以下、データの取得に要する時間を短縮することを「データ取得の高速化」という。データ取得を高速化するための技術の1つとして、プリフェッチと呼ばれる技術がある。   When a data processing device such as a computer performs processing according to a program, it is necessary to acquire data used for the processing from a storage unit within the own device or an external storage device. If the time required to acquire this data can be shortened, the process completion time can be advanced. Hereinafter, shortening the time required for data acquisition is referred to as “acceleration of data acquisition”. One technique for speeding up data acquisition is a technique called prefetch.

プリフェッチとは、一般的に、将来に利用が予測されるデータを、読み出しに長い時間を要する第1の記憶場所(例えば、外部記憶装置)から読み出しに短い時間しか要さない第2の記憶場所(例えば、内部のキャッシュメモリ)へ予めコピーしておき、データ処理装置において処理に用いるデータを取得する必要が発生した際、第2の記憶場所に当該データが記憶されている場合は第2の記憶場所から当該データを読み出すことにより、データ取得を高速化する技術である。   Prefetch generally refers to a second storage location that requires only a short time to read data predicted to be used in the future from a first storage location that requires a long time to read (for example, an external storage device). (For example, when it is necessary to copy data to the internal cache memory in advance and acquire data used for processing in the data processing apparatus, the second storage location stores the data in the second storage location. This is a technique for speeding up data acquisition by reading out the data from a storage location.

プリフェッチを用いた技術を開示している文献として、例えば特許文献1がある。特許文献1には、データの処理を指示するアプリケーションプログラムの性質(例えば、処理の分岐の多少等)に応じて、プリフェッチするデータのサイズや数を調整することにより、キャッシュメモリの使用効率を高める仕組みが開示されている。   As a document disclosing a technique using prefetch, for example, there is Patent Document 1. In Patent Document 1, the use efficiency of a cache memory is improved by adjusting the size and number of data to be prefetched according to the nature of an application program that instructs data processing (for example, the number of processing branches). The mechanism is disclosed.

特開平7−129464号公報JP-A-7-129464

データ処理装置における処理においてソフトウェアプリフェッチ(以下、単に「プリフェッチ」という)によりデータ取得を高速化するためには、データの処理を指示するプログラムがプリフェッチを行うように記述されているか、もしくはプリフェッチを行う外部のプログラム(例えば、OSに含まれるプログラムモジュール)を利用するように記述されている必要がある。以下、プリフェッチによりデータ取得を高速化するように記述されているプログラムを「プリフェッチ機能を備えたプログラム」という。   In order to speed up data acquisition by software prefetching (hereinafter simply referred to as “prefetch”) in processing in a data processing apparatus, a program that instructs data processing is described to perform prefetching, or prefetching is performed. It is necessary to be described so as to use an external program (for example, a program module included in the OS). Hereinafter, a program described to speed up data acquisition by prefetching is referred to as a “program having a prefetch function”.

従って、ユーザがプリフェッチ機能を備えないプログラムに従い動作するデータ処理装置の処理の速度に不満を感じた場合、プリフェッチ機能を備える同種のプログラム(例えば、新しいバージョンの同じタイトルのプログラム)を新たに入手し、既存のプログラムを新たなプログラムで置き換える必要がある。しかしながら、プリフェッチ機能を備える同種のプログラムが提供されない場合には、ユーザは既存のプログラムを利用し続ける他なく、データ処理装置の処理を高速化する術がない。   Therefore, if the user feels dissatisfied with the processing speed of the data processing apparatus that operates according to a program that does not have a prefetch function, a new program of the same type having a prefetch function (for example, a new version of the same title program) is obtained. It is necessary to replace the existing program with a new program. However, if the same kind of program having a prefetch function is not provided, the user has no choice but to continue to use the existing program and speed up the processing of the data processing apparatus.

また、仮にプリフェッチ機能を備える同種のプログラムが提供される場合であっても、新たなプログラムの購入に費用が発生したり、新たなプログラムの使用に伴う不都合(ユーザインタフェースの変更、データの非互換性、データ処理装置のスペック不足によるパフォーマンス低下、バグによるフリーズ発生の頻度上昇等)が生じたりする場合がある。従って、新しいプログラムの利用は必ずしもユーザにとって望ましい選択肢であるとは限らない。   Even if the same kind of program with a prefetch function is provided, there is a cost to purchase a new program, or inconveniences associated with the use of a new program (user interface changes, data incompatibility) , Performance degradation due to lack of specifications of data processing device, increase in frequency of freeze due to bugs, etc.). Thus, the use of new programs is not always a desirable option for users.

本発明は上述の背景に鑑みてなされたものであり、既存のプログラムに修正を加えることなく、当該プログラムに従って行われるデータ処理装置のデータ取得を高速化する手段を提供することを目的とする。   The present invention has been made in view of the above-described background, and an object of the present invention is to provide means for speeding up data acquisition of a data processing apparatus performed according to a program without modifying an existing program.

上述した課題を解決するために、本発明は、一態様として、データを取得する取得手段と、前記取得手段により取得されたデータを用いた処理を行う処理手段と、データを記憶する記憶手段とを備え、第1のプログラムに従い前記取得手段によりデータを取得し、前記第1のプログラムに従い前記取得手段により取得されたデータを前記記憶手段により記憶し、第2のプログラムに従い前記処理手段が一のデータを用いた処理を行う際に、前記記憶手段により当該一のデータが記憶されている場合には前記取得手段により前記記憶手段から当該一のデータを取得し、前記記憶手段に当該一のデータが記憶されていない場合には前記取得手段により前記記憶手段とは異なる場所から当該一のデータを取得するコンピュータに、前記第2のプログラムに従う前記処理手段による処理に用いられるデータを示すデータであるメタデータを取得する処理と、前記取得する処理において取得したメタデータにより示されるデータとの間で前記第2のプログラムに応じた予め定められた関係を満たすデータを、前記処理手段により将来の処理に用いられる確率が高いデータとして特定する処理と、前記特定する処理において特定したデータを、前記第1のプログラムに従い取得する処理とを実行させるプログラムを提供する。   In order to solve the above-described problem, the present invention provides, as one aspect, an acquisition unit that acquires data, a processing unit that performs processing using data acquired by the acquisition unit, and a storage unit that stores data. And acquiring data by the acquisition means according to a first program, storing the data acquired by the acquisition means according to the first program by the storage means, and the processing means according to a second program being one When performing the process using data, if the one data is stored in the storage unit, the one data is acquired from the storage unit by the acquiring unit, and the one data is stored in the storage unit. Is not stored, the second program is stored in a computer that acquires the one data from a location different from the storage unit by the acquiring unit. In accordance with the second program between the process of acquiring metadata, which is data indicating the data used for the process by the processing unit according to the program, and the data indicated by the metadata acquired in the process of acquiring A process of specifying data satisfying a defined relationship as data having a high probability of being used for future processing by the processing means, and a process of acquiring data specified in the specifying process according to the first program Provide a program to be executed.

上記プログラムにおいて、前記処理手段は、複数の前記第2のプログラムの各々に従い処理を行い、前記コンピュータに、前記特定する処理において、前記複数の前記第2のプログラムの各々に応じた前記予め定められた関係のうち、前記メタデータにより示されるデータを用いた処理を前記処理手段に指示した前記第2のプログラムに応じた前記予め定められた関係を満たすデータを、前記処理手段により将来の処理に用いられる確率が高いデータとして特定させるという構成が採用されてもよい。   In the above program, the processing means performs processing according to each of the plurality of second programs, and the predetermined processing corresponding to each of the plurality of second programs in the specifying process is performed on the computer. Data satisfying the predetermined relationship according to the second program instructing the processing means to use the data indicated by the metadata among the relations for future processing by the processing means. A configuration in which data is specified as data having a high probability of being used may be employed.

また、上記プログラムにおいて、前記処理手段は、前記第2のプログラムに従い、時間軸上に並べられたデータを用いた処理を行い、前記コンピュータに、前記特定する処理において、前記メタデータにより示されるデータとの間で前記時間軸上における予め定められた位置関係を満たすデータを、前記処理手段により将来の処理に用いられる確率が高いデータとして特定させるという構成が採用されてもよい。   In the above program, the processing means performs processing using data arranged on a time axis in accordance with the second program, and the computer indicates data indicated by the metadata in the specifying processing. A configuration may be adopted in which data satisfying a predetermined positional relationship on the time axis is specified as data having a high probability of being used for future processing by the processing means.

また、上記プログラムにおいて、前記コンピュータに、前記第1のプログラムに従い前記取得手段により取得され前記記憶手段に記憶されているデータのうち、前記メタデータにより示されるデータとの間で前記第2のプログラムに応じた予め定められた関係を満たすデータの前記記憶手段からの解放を前記記憶手段に指示する処理を実行させるという構成が採用されてもよい。   Further, in the above program, the second program between the data acquired by the acquisition unit according to the first program and stored in the storage unit, with the data indicated by the metadata. A configuration may be adopted in which processing for instructing the storage means to release data from the storage means satisfying a predetermined relationship according to the above may be employed.

また、上記プログラムにおいて、前記処理手段は、複数の前記第2のプログラムの各々に従い処理を行い、前記コンピュータに、前記指示する処理において、前記複数の前記第2のプログラムの各々に応じた前記予め定められた関係のうち、前記メタデータにより示されるデータを用いた処理を前記処理手段に指示した前記第2のプログラムに応じた前記予め定められた関係を満たすデータの解放を前記記憶手段に指示させるという構成が採用されてもよい。   Further, in the above program, the processing means performs processing according to each of the plurality of second programs, and the processing according to each of the plurality of second programs in the instructing processing to the computer is performed in advance. Among the predetermined relationships, the storage unit is instructed to release data that satisfies the predetermined relationship according to the second program that instructed the processing unit to use the data indicated by the metadata. A configuration of making it possible may be adopted.

また、本発明は、他の一態様として、プログラムに従いデータを取得する取得手段と、前記プログラムに従い前記取得手段により取得されたデータを用いた処理を行う処理手段とを備えるコンピュータに、前記処理手段による処理に用いられるデータとの間で前記プログラムに応じた予め定められた規則を満たすデータをプリフェッチデータとして取得する処理と、前記プリフェッチデータを記憶する処理と、前記取得手段が一のデータの取得要求を一の出力先に出力した場合、前記取得要求をインターセプトし、当該一のデータを前記プリフェッチデータとして記憶している場合には前記プリフェッチデータとして記憶している当該一のデータを前記取得要求に対する応答として前記取得手段に引き渡し、当該一のデータを前記プリフェッチデータとして記憶していない場合には前記取得要求を前記一の出力先に出力する処理とを実行させるプログラムを提供する。   In another aspect, the present invention provides a computer comprising: an acquisition unit that acquires data according to a program; and a processing unit that performs processing using the data acquired by the acquisition unit according to the program. Processing for acquiring data satisfying a predetermined rule corresponding to the program as prefetch data, processing for storing the prefetch data, and acquisition unit acquiring one data When the request is output to one output destination, the acquisition request is intercepted, and when the one data is stored as the prefetch data, the one data stored as the prefetch data is the acquisition request. As a response to the acquisition means, and the one data is transferred to the pre-fetch. If not stored as data provide a program for executing a process of outputting the acquisition request to the one of the destination.

また、本発明は、他の一態様として、上記プログラムをコンピュータに読み取り可能に持続的に記録する記録媒体を提供する。   Moreover, this invention provides the recording medium which records the said program continuously so that reading to a computer as another one aspect | mode.

また、本発明は、データを取得する第1の取得手段と、前記第1の取得手段により取得されたデータを記憶する記憶手段と、プログラムに従いデータを用いた処理を行う処理手段と、前記プログラムに従い前記処理手段が一のデータを用いた処理を行う際に、前記記憶手段により当該一のデータが記憶されている場合には前記記憶手段から当該一のデータを取得し、前記記憶手段に当該一のデータが記憶されていない場合には前記記憶手段とは異なる場所から当該一のデータを取得し、取得した当該一のデータを前記処理手段に引き渡す第2の取得手段とを備えるデータ処理装置との間でデータの受け渡しを行う装置であって、前記プログラムに従い前記処理手段により処理に用いられるデータを示すデータであるメタデータを取得し、当該メタデータにより示されるデータとの間で前記プログラムに応じた予め定められた関係を満たすデータを、前記処理手段により将来の処理に用いられる確率が高いデータとして特定し、当該特定したデータの取得を前記第1の取得手段に指示する特定手段を備える装置を提供する。   In addition, the present invention provides a first acquisition unit that acquires data, a storage unit that stores data acquired by the first acquisition unit, a processing unit that performs processing using data according to a program, and the program When the processing means performs processing using one data, if the one data is stored in the storage means, the one data is acquired from the storage means, and the storage means stores the one data in the storage means. A data processing apparatus comprising: a second acquisition unit that acquires the one data from a location different from the storage unit when the one data is not stored, and delivers the acquired one data to the processing unit Is a device that exchanges data with and acquires metadata that is data indicating data used for processing by the processing means according to the program, and Data satisfying a predetermined relationship according to the program with the data indicated by the data is specified as data having a high probability of being used for future processing by the processing means, and acquisition of the specified data is performed An apparatus including a specifying unit that instructs a first acquiring unit is provided.

また、本発明は、他の一態様として、プログラムに従いデータを用いた処理を行う処理手段と、前記処理手段により処理に用いられるデータを取得し前記処理手段に引き渡す第1の取得手段とを備えるデータ処理装置との間でデータの受け渡しを行う装置であって、前記処理手段による処理に用いられるデータとの間で前記プログラムに応じた予め定められた関係を満たすデータを取得する第2の取得手段と、前記第2の取得手段により取得されたデータを記憶する記憶手段と、前記第1の取得手段が一のデータの取得要求を一の出力先に出力した場合、前記取得要求をインターセプトし、当該一のデータが前記記憶手段に記憶されている場合には前記記憶手段に記憶されている当該一のデータを前記取得要求に対する応答として前記第1の取得手段に引き渡し、当該一のデータが前記記憶手段に記憶されていない場合には前記取得要求を前記一の出力先に出力するリダイレクト手段とを備える装置を提供する。   Moreover, this invention is provided with the process means which performs the process using data according to a program as another aspect, The 1st acquisition means which acquires the data used for a process by the said process means, and delivers to the said process means A second acquisition device that transfers data to and from a data processing device, and acquires data that satisfies a predetermined relationship according to the program with data used for processing by the processing means Means for storing the data acquired by the second acquisition means, and when the first acquisition means outputs a data acquisition request to one output destination, the acquisition request is intercepted. When the one data is stored in the storage unit, the first data stored in the storage unit is used as a response to the acquisition request. Passing the resulting unit, in the case where the one of the data is not stored in said storage means to provide a device and a redirection means for outputting the acquisition request to the one of the destination.

本発明によれば、プリフェッチ機能を備えないプログラムに従って行われる処理に用いられるデータに基づき、当該データと予め定められた関係を満たすデータが将来当該プログラムに従って行われる処理に用いられる確率の高いデータとして特定され、当該特定されたデータがプリフェッチされる。従って、プリフェッチ機能を備えないプログラムに修正を加えることなく、当該プログラムに従った処理におけるデータ取得が高速化される。   According to the present invention, based on data used for processing performed in accordance with a program that does not have a prefetch function, data that satisfies a predetermined relationship with the data is likely to be used in processing performed in accordance with the program in the future. Then, the specified data is prefetched. Therefore, the data acquisition in the processing according to the program is speeded up without modifying the program without the prefetch function.

一実施形態にかかるデータ処理システムのハードウェア構成を示した図である。It is the figure which showed the hardware constitutions of the data processing system concerning one Embodiment. 一実施形態にかかるデータ処理システムの機能構成を示した図である。It is the figure which showed the function structure of the data processing system concerning one Embodiment. 一実施形態にかかるデータ処理システムにおいてプリフェッチ対象データおよび解放対象データの特定に用いられる条件の例を説明するための図である。It is a figure for demonstrating the example of the conditions used for specification of prefetch object data and release object data in the data processing system concerning one Embodiment. 一実施形態にかかるデータ処理システムにおいて用いられるキャッシュテーブルのデータ構造を示した図である。It is the figure which showed the data structure of the cache table used in the data processing system concerning one Embodiment.

[実施形態]
以下、図を参照しながら本発明の一実施形態にかかるデータ処理システム1を説明する。データ処理システム1は、プリフェッチ機能を備えないアプリケーションプログラムに従い行われる処理に用いられるデータを、プラグインプログラム等に従いプリフェッチすることにより高速に取得する仕組みを備えたシステムである。
[Embodiment]
Hereinafter, a data processing system 1 according to an embodiment of the present invention will be described with reference to the drawings. The data processing system 1 is a system having a mechanism for acquiring data used for processing performed in accordance with an application program not having a prefetch function at a high speed by prefetching in accordance with a plug-in program or the like.

図1はデータ処理システム1のハードウェア構成を模式的に示した図である。データ処理システム1は、汎用コンピュータであるコンピュータ10と、ユーザの操作に応じた信号をコンピュータ10に出力することによりユーザによるコンピュータ10に対するデータ入力を可能とするキーボードやマウス等の操作装置21、コンピュータ10から出力される画像データに従い画像を表示する液晶ディスプレイ等の表示装置22、コンピュータ10にネットワークを介さずに接続されたHDDや光学ドライブ等の記憶装置23A、コンピュータ10に対しネットワークを介してデータの送信を行うデータ配信サーバ装置等の記憶装置23B(以下、記憶装置23Aと記憶装置23Bを区別しない場合、それらを「記憶装置23」という)、コンピュータ10と記憶装置23Bとの間のデータ通信経路を提供するネットワーク24を備えている。なお、記憶装置23Aおよび記憶装置23Bの数は任意である。   FIG. 1 is a diagram schematically illustrating a hardware configuration of the data processing system 1. The data processing system 1 includes a computer 10 that is a general-purpose computer, an operation device 21 such as a keyboard and a mouse that allow the user to input data to the computer 10 by outputting a signal corresponding to the user's operation to the computer 10, a computer 10, a display device 22 such as a liquid crystal display that displays an image according to image data output from the computer 10, a storage device 23 </ b> A such as an HDD or an optical drive connected to the computer 10 without going through the network, and data to the computer 10 through the network. Data communication between the computer 10 and the storage device 23B, such as a storage device 23B such as a data distribution server device (hereinafter referred to as “storage device 23” if they are not distinguished from each other) A network that provides a route It is equipped with a click 24. Note that the number of storage devices 23A and 23B is arbitrary.

コンピュータ10は通信手段を備えた一般的なコンピュータであり、プロセッサ101、メモリ102、入出力I/F(Interface)103、通信I/F104を備えている。これらはバス109を介して互いにデータの受け渡しが可能である。   The computer 10 is a general computer having communication means, and includes a processor 101, a memory 102, an input / output I / F (Interface) 103, and a communication I / F 104. These can exchange data with each other via the bus 109.

プロセッサ101は例えばCPUであり、メモリ102に記憶されている各種プログラムに従い、各種データ処理を行うとともにコンピュータ10の他の構成部を制御する。メモリ102は、例えば、不揮発性メモリ1021、SSD1022、HDD1023を備えるが、これらの構成は任意に変更可能である。メモリ102は、プロセッサ101により実行される各種プログラムやプロセッサ101による処理において用いられる各種データを記憶するとともに、プロセッサ101による処理において一時的に生成されるデータを記憶するワークエリアとしても用いられる。   The processor 101 is a CPU, for example, and performs various data processing and controls other components of the computer 10 according to various programs stored in the memory 102. The memory 102 includes, for example, a nonvolatile memory 1021, an SSD 1022, and an HDD 1023, but these configurations can be arbitrarily changed. The memory 102 stores various programs executed by the processor 101 and various data used in processing by the processor 101, and is also used as a work area for storing data temporarily generated in processing by the processor 101.

入出力I/F103は、例えば、USB端子、HDMI(登録商標)端子等の端子とケーブルを介した有線接続や、Bluetooth(登録商標)等の通信規格に従った無線接続により、外部装置との間で各種データの入出力を行う。通信I/F104は、例えば、IEEE802.3等の通信規格に従った有線接続や、IEEE802.11等の通信規格に従った無線接続により、ネットワーク24を介して外部装置との間で各種データの送受信を行う。   The input / output I / F 103 is connected to an external device by, for example, a wired connection through a cable such as a USB terminal or an HDMI (registered trademark) terminal and a wireless connection according to a communication standard such as Bluetooth (registered trademark). Input and output various data between them. The communication I / F 104, for example, transmits various data to and from an external device via the network 24 by wired connection according to a communication standard such as IEEE802.3 or wireless connection according to a communication standard such as IEEE802.11. Send and receive.

図2は、データ処理システム1の機能構成を模式的に示した図である。すなわち、図1に示されるコンピュータ10のプロセッサ101がメモリ102に記憶されている各種プログラムに従った処理を行うことにより、図1に示されるハードウェア構成を備えるデータ処理システム1は、図2に示される構成部を備えるシステムとして機能することになる。   FIG. 2 is a diagram schematically illustrating a functional configuration of the data processing system 1. That is, when the processor 101 of the computer 10 shown in FIG. 1 performs processing according to various programs stored in the memory 102, the data processing system 1 having the hardware configuration shown in FIG. It will function as a system with the components shown.

以下に図2を参照しつつ、データ処理システム1の機能構成と各機能構成部の動作を説明する。データ処理システム1は、アプリケーションプログラムに従いデータ処理を行う処理手段11、第1のプラグインプログラムに従いデータ処理を行う特定手段12、サービスプログラムに従いデータ処理を行う取得手段13、処理手段11が処理に用いるデータを記憶する第1記憶手段14および第2記憶手段15、ドライバプログラムに従いデータ処理を行うリダイレクト手段16、第2のプラグインプログラムに従いデータ処理を行う指示手段17を備えている。   Hereinafter, the functional configuration of the data processing system 1 and the operation of each functional component will be described with reference to FIG. The data processing system 1 is used for processing by processing means 11 that performs data processing according to an application program, identification means 12 that performs data processing according to a first plug-in program, acquisition means 13 that performs data processing according to a service program, and processing means 11 First storage means 14 and second storage means 15 for storing data, redirection means 16 for performing data processing according to the driver program, and instruction means 17 for performing data processing according to the second plug-in program are provided.

処理手段11は、n個(ただし、nは任意の自然数)のアプリケーションプログラム(アプリケーションプログラム111−1〜111−n)の各々に従い、各種データ処理を行う。以下、アプリケーションプログラム111−1〜111−nを区別しない場合、これらを「アプリケーションプログラム111」という。   The processing means 11 performs various data processing according to each of n (where n is an arbitrary natural number) application programs (application programs 111-1 to 111-n). Hereinafter, when the application programs 111-1 to 111-n are not distinguished, they are referred to as “application programs 111”.

アプリケーションプログラム111の種別は動画編集アプリケーション、音楽編集アプリケーション、ワードプロセッサアプリケーション等、その種別はいかなるものであってもよい。ただし、以下の説明の便宜のため、アプリケーションプログラム111−1は動画編集アプリケーションであるものとする。   The type of the application program 111 may be any type, such as a moving image editing application, a music editing application, or a word processor application. However, for convenience of the following description, it is assumed that the application program 111-1 is a moving image editing application.

特定手段12は、処理手段11に対し、例えば予め定められた時間の経過毎に、処理手段11が現在使用しているデータを示すデータであるメタデータを要求するメタデータ要求を出力し、当該メタデータ要求に対する応答として処理手段11からメタデータを取得する。   The specifying unit 12 outputs a metadata request for requesting metadata, which is data indicating data currently used by the processing unit 11, to the processing unit 11, for example, every elapse of a predetermined time. Metadata is acquired from the processing means 11 as a response to the metadata request.

メタデータは、例えば、処理手段11により使用されているデータを識別するとともに当該データの種別等の属性を示すファイル名、当該データの記憶場所(オリジナルの記憶場所)を示すURI、当該データを使用する処理を指示しているアプリケーションプログラム111を識別するアプリケーション名を含む。   For example, the metadata identifies the data used by the processing means 11 and uses a file name indicating an attribute such as the type of the data, a URI indicating the storage location (original storage location) of the data, and the data. The application name that identifies the application program 111 instructing the processing to be performed is included.

なお、メタデータに含まれるURIにより識別される記憶場所(オリジナルの記憶場所)は、メモリ102を構成する不揮発性メモリ1021、SSD1022およびHDD1023、記憶装置23A、もしくは記憶装置23Bのいずれの場所であってもよいが、一般的には、アクセス速度が低速だが記憶容量が大きいHDD1023、記憶装置23A、もしくは記憶装置23Bがオリジナルの記憶場所として用いられる。   Note that the storage location (original storage location) identified by the URI included in the metadata is any location of the nonvolatile memory 1021, the SSD 1022 and the HDD 1023, the storage device 23A, or the storage device 23B constituting the memory 102. However, generally, the HDD 1023, the storage device 23A, or the storage device 23B, which has a low access speed but a large storage capacity, is used as the original storage location.

特定手段12は、アプリケーションプログラム111−1〜111−nの各々に応じて予め記憶されている第1条件データ121−1〜121−nに従い、処理手段11から取得したメタデータに基づき、処理手段11が近い将来に処理に用いる確率が高いデータを特定する。以下、第1条件データ121−1〜121−nを区別しない場合、これらを「第1条件データ121」という。また、特定手段12により特定される、処理手段11が近い将来に処理に用いる確率が高いデータを以下、「プリフェッチ対象データ」という。また、メタデータにより示される、処理手段11が現在用いているデータを以下、「使用中データ」という。   The specifying unit 12 is a processing unit based on the metadata acquired from the processing unit 11 according to the first condition data 121-1 to 121-n stored in advance according to each of the application programs 111-1 to 111-n. 11 specifies data that has a high probability of being used for processing in the near future. Hereinafter, when the first condition data 121-1 to 121-n are not distinguished, they are referred to as “first condition data 121”. Further, data that is specified by the specifying unit 12 and that has a high probability of being used for processing in the near future by the processing unit 11 is hereinafter referred to as “prefetch target data”. The data currently used by the processing means 11 indicated by the metadata is hereinafter referred to as “in-use data”.

第1条件データ121は使用中データとプリフェッチ対象データとの間の関係を示すデータである。例えば、アプリケーションプログラム111−1(動画編集アプリケーション)に応じた第1条件データ121−1には、「アプリケーションプログラム111−1に従う処理において現在用いられている画像データを基準とし、動画の再生における時間軸上で正方向に隣接するm個(ただし、mは任意の自然数)の画像データ(現在用いられている画像データに続いて再生されるm個の一連の画像データ)を近い将来に処理に用いられる確率が高いデータとして特定する」という条件を示すデータが含まれている。   The first condition data 121 is data indicating a relationship between in-use data and prefetch target data. For example, the first condition data 121-1 corresponding to the application program 111-1 (moving image editing application) includes “the time for reproducing the moving image based on the image data currently used in the processing according to the application program 111-1. Processing m pieces of image data (m is an arbitrary natural number) adjacent in the positive direction on the axis (a series of m pieces of image data reproduced following the currently used image data) in the near future Data indicating a condition “specify as data having a high probability of being used” is included.

図3は、上記に例示した条件(および後述する解放対象データを特定するために用いられる条件の例)を説明するための図である。図3に示される「1021.bmp」、「1022.bmp」、・・・は1つの動画を構成する静止画の各々を表す画像データのファイル名である。これらのファイル名の拡張子「.bmp」は当該データがビットマップ形式の静止画を表すデータである、という属性を示し、「1021」等の数値は、動画の再生における時間軸上の順序を示している。   FIG. 3 is a diagram for explaining the conditions exemplified above (and examples of conditions used for specifying release target data described later). “1021.bmp”, “1022.bmp”,... Shown in FIG. 3 are file names of image data representing still images constituting one moving image. The extension “.bmp” of these file names indicates an attribute that the data is data representing a bitmap format still image, and a numerical value such as “1021” indicates the order on the time axis in the reproduction of a moving image. Show.

図3の例では、処理手段11は現在、アプリケーションプログラム111−1に従い、1つの動画データを構成する画像データ「1023.bmp」を用いた処理を行っている。また、当該動画データは、「1001.bmp」〜「1500.bmp」の計500個の画像データにより構成され、これらの画像データはURI「http://xyz.com/footage/video/3256」で特定される記憶場所から取得可能である。   In the example of FIG. 3, the processing unit 11 is currently performing processing using image data “1023.bmp” constituting one moving image data in accordance with the application program 111-1. The moving image data is composed of a total of 500 pieces of image data “1001.bmp” to “1500.bmp”, and these image data are URI “http://xyz.com/footage/video/3256”. It can be obtained from the memory location specified by

図3の例の場合、特定手段12はまず、処理手段11から取得したメタデータにより、処理手段11がアプリケーションプログラム111−1に従う処理において現在用いているデータ(アプリケーションプログラム111−1に関する使用中データ)が「1023.bmp」であることを特定する。続いて、当該特定した使用中データとの間で上述した条件が示す関係を満たすデータとして、「1024.bmp」、「1025.bmp」、・・・といった計m個の一連のデータを特定する。このように特定されるデータが、処理手段11がアプリケーションプログラム111−1に従う処理において近い将来に用いられる確率が高いデータ(アプリケーションプログラム111−1に関するプリフェッチ対象データ)である。   In the case of the example in FIG. 3, the specifying unit 12 first uses the metadata acquired from the processing unit 11 to use the data currently used by the processing unit 11 in the processing according to the application program 111-1 (the in-use data related to the application program 111-1. ) Is “1023.bmp”. Subsequently, a total of m series of data such as “1024.bmp”, “1025.bmp”,... Is specified as data satisfying the relationship indicated by the above-described condition with the specified in-use data. . The data specified in this way is data (prefetch target data related to the application program 111-1) that has a high probability of being used in the near future by the processing means 11 in the processing according to the application program 111-1.

特定手段12はプリフェッチ対象データを特定すると、特定したプリフェッチ対象データの取得を指示する取得指示を取得手段13に出力する。当該取得指示には、例えば、プリフェッチ対象データを識別するファイル名、プリフェッチ対象データの記憶場所を識別するURI、対応するアプリケーションプログラム111を識別するアプリケーション名が含まれる。   When specifying the prefetch target data, the specifying unit 12 outputs an acquisition instruction for instructing acquisition of the specified prefetch target data to the acquiring unit 13. The acquisition instruction includes, for example, a file name for identifying prefetch target data, a URI for identifying the storage location of the prefetch target data, and an application name for identifying the corresponding application program 111.

取得手段13は、特定手段12から取得指示を受け取ると、当該取得指示に含まれるURIに従い、第1記憶手段14に対しデータ要求を出力(または送信)する。当該データ要求には、取得指示に含まれるURIとファイル名が含まれる。なお、当該要求データに含まれるURIは、必要に応じて然るべきタイミングで具体的なデータの記憶場所を示すアドレスに変換され、当該変換により得られたアドレスに従い、第1記憶手段14へと引き渡される。   When receiving the acquisition instruction from the specifying unit 12, the acquisition unit 13 outputs (or transmits) a data request to the first storage unit 14 according to the URI included in the acquisition instruction. The data request includes a URI and a file name included in the acquisition instruction. It should be noted that the URI included in the request data is converted into an address indicating a specific data storage location at an appropriate timing as necessary, and is transferred to the first storage unit 14 according to the address obtained by the conversion. .

第1記憶手段14は取得手段13からデータ要求を受け取ると、当該データ要求に従い要求されたデータを読み出して取得手段13に出力する。取得手段13はデータ要求に対する応答として第1記憶手段14からデータを取得すると、第2記憶手段15に対し当該データの記憶指示を出力する。当該記憶指示には、取得手段13が第1記憶手段14から取得したデータ、当該データのメタデータ(ファイル名、URI、対応するアプリケーション名等)が含まれる。   When the first storage unit 14 receives a data request from the acquisition unit 13, the first storage unit 14 reads out the requested data according to the data request and outputs it to the acquisition unit 13. When the acquisition unit 13 acquires data from the first storage unit 14 as a response to the data request, the acquisition unit 13 outputs an instruction to store the data to the second storage unit 15. The storage instruction includes data acquired by the acquisition unit 13 from the first storage unit 14 and metadata of the data (file name, URI, corresponding application name, etc.).

第2記憶手段15は、第1記憶手段14よりも高速にデータの読み書きを行うことができる記憶手段である。第2記憶手段15は、メモリ102を構成する不揮発性メモリ1021、SSD1022およびHDD1023、記憶装置23A、もしくは記憶装置23Bのいずれを用いて実現されてもよいが、一般的には、記憶容量は小さいがアクセス速度が高速な不揮発性メモリ1021、もしくはSSD1022が第2記憶手段15の実現に用いられる。   The second storage unit 15 is a storage unit that can read and write data faster than the first storage unit 14. The second storage unit 15 may be realized by using any one of the nonvolatile memory 1021, the SSD 1022 and the HDD 1023, the storage device 23A, or the storage device 23B constituting the memory 102, but generally has a small storage capacity. However, the nonvolatile memory 1021 or the SSD 1022 having a high access speed is used to implement the second storage unit 15.

第2記憶手段15は、特定手段12から記憶指示を受け取ると、当該記憶指示に従い指示されたデータをキャッシュデータとして記憶する。第2記憶手段15はアプリケーションプログラム111−1〜111−nの各々に応じたキャッシュテーブル151−1〜151−nを記憶している。以下、キャッシュテーブル151−1〜151−nを区別しない場合、これらを「キャッシュテーブル151」という。第2記憶手段15は、新たにキャッシュデータを記憶すると、当該キャッシュデータに応じたアプリケーションプログラム111に対応するキャッシュテーブル151に当該キャッシュデータに関するデータを登録する。   When the second storage unit 15 receives the storage instruction from the specifying unit 12, the second storage unit 15 stores the data instructed according to the storage instruction as cache data. The second storage unit 15 stores cache tables 151-1 to 151-n corresponding to the application programs 111-1 to 111-n, respectively. Hereinafter, when the cache tables 151-1 to 151-n are not distinguished, they are referred to as “cache tables 151”. When the second storage unit 15 newly stores the cache data, the second storage unit 15 registers the data related to the cache data in the cache table 151 corresponding to the application program 111 corresponding to the cache data.

図4は、キャッシュテーブル151のデータ構造を模式的に示した図である。キャッシュテーブル151は第2記憶手段15にキャッシュデータとして記憶されているデータの各々に応じたデータレコードの集まりであり、各データレコードにはデータフィールド「URI」、「ファイル名」、「アドレス」が設けられている。データフィールド「URI」には、記憶指示に含まれるURI(データのオリジナルの記憶場所を示すURI)が格納される。データフィールド「ファイル名」には、記憶指示に含まれるファイル名が格納される。データフィールド「アドレス」には、第2記憶手段15が備える記憶領域におけるデータの記憶場所を識別するアドレス(例えば、データの先頭アドレス)が格納される。   FIG. 4 is a diagram schematically showing the data structure of the cache table 151. The cache table 151 is a collection of data records corresponding to each of the data stored as cache data in the second storage means 15, and each data record has data fields "URI", "file name", and "address". Is provided. The data field “URI” stores a URI (URI indicating the original storage location of data) included in the storage instruction. The data field “file name” stores the file name included in the storage instruction. In the data field “address”, an address (for example, the head address of data) for identifying the storage location of data in the storage area provided in the second storage unit 15 is stored.

処理手段11は、アプリケーションプログラム111に従い、まだ取得していないデータを用いる処理を行う際に、第1記憶手段14に対し、当該データを要求するデータ要求を出力(または送信)する。当該データ要求には、予めアプリケーションプログラム111に従う処理によって処理手段11が特定している当該データのオリジナルの記憶場所を示すURIと、当該データのファイル名と、当該データを用いる処理を指示しているアプリケーションプログラム111のアプリケーション名が含まれる。   The processing unit 11 outputs (or transmits) a data request for requesting the data to the first storage unit 14 when performing processing using data that has not yet been acquired in accordance with the application program 111. In the data request, a URI indicating the original storage location of the data specified by the processing unit 11 by processing according to the application program 111, the file name of the data, and processing using the data are instructed. The application name of the application program 111 is included.

リダイレクト手段16は、処理手段11から第1記憶手段14に対し出力されるデータ要求をインターセプトする。すなわち、第1記憶手段14に宛てて出力されたデータ要求はリダイレクト手段16により横取りされ、第1記憶手段14には到達しない。リダイレクト手段16は、インターセプトしたデータ要求を第2記憶手段15に出力する。第2記憶手段15はリダイレクト手段16から受け取ったデータ要求に含まれるアプリケーション名に応じたキャッシュテーブル151の中から、当該データ要求に含まれるURIおよびファイル名を格納しているデータレコードを検索する。   The redirect unit 16 intercepts the data request output from the processing unit 11 to the first storage unit 14. That is, the data request output to the first storage unit 14 is intercepted by the redirect unit 16 and does not reach the first storage unit 14. The redirect unit 16 outputs the intercepted data request to the second storage unit 15. The second storage unit 15 searches the cache table 151 corresponding to the application name included in the data request received from the redirect unit 16 for a data record storing the URI and file name included in the data request.

第2記憶手段15は、データレコードの検索に成功すると、検索したデータレコードのデータフィールド「アドレス」に示されるアドレスからデータを読み出し、リダイレクト手段16に出力する。一方、第2記憶手段15は、データレコードの検索に失敗すると、要求されたデータが第2記憶手段15にキャッシュデータとして記憶されていないことを示すエラー通知をリダイレクト手段16に出力する。   If the search of the data record is successful, the second storage means 15 reads the data from the address indicated in the data field “address” of the searched data record and outputs it to the redirect means 16. On the other hand, if the search of the data record fails, the second storage unit 15 outputs an error notification indicating that the requested data is not stored as cache data in the second storage unit 15 to the redirect unit 16.

リダイレクト手段16は、第2記憶手段15に出力したデータ要求に対する応答として、第2記憶手段15からデータを受け取った場合、先にインターセプトしたデータ要求(処理手段11から第1記憶手段14に対し出力されたもの)に対する応答として、第2記憶手段15から取得したデータを処理手段11に出力する。その際、リダイレクト手段16は必要に応じて、当該データの出力元をリダイレクト手段16ではなく、データ要求の本来の出力先である第1記憶手段14であると擬装する。従って、処理手段11はリダイレクト手段16から出力されるデータを、第1記憶手段14から出力(または送信)されたデータとして取得する。   When the redirect unit 16 receives data from the second storage unit 15 as a response to the data request output to the second storage unit 15, the redirect unit 16 intercepts the data request (output from the processing unit 11 to the first storage unit 14). The data acquired from the second storage unit 15 is output to the processing unit 11 as a response to the response to the processing unit 11. At that time, the redirect unit 16 pretends that the output source of the data is not the redirect unit 16 but the first storage unit 14 that is the original output destination of the data request, if necessary. Accordingly, the processing unit 11 acquires the data output from the redirect unit 16 as the data output (or transmitted) from the first storage unit 14.

一方、リダイレクト手段16は、第2記憶手段15に出力したデータ要求に対する応答として、第2記憶手段15からエラー通知を受け取った場合、先にインターセプトしたデータ要求(処理手段11から第1記憶手段14に対し出力されたもの)を第1記憶手段14に出力(または送信)する。その際、リダイレクト手段16は必要に応じて、当該データ要求の出力元をリダイレクト手段16ではなく、データ要求の本来の出力元である処理手段11であると擬装する。従って、第1記憶手段14はリダイレクト手段16から出力されるデータを、処理手段11から出力(または送信)されたデータ要求として取得する。   On the other hand, when the redirect unit 16 receives an error notification from the second storage unit 15 as a response to the data request output to the second storage unit 15, the redirect unit 16 first intercepts the data request (from the processing unit 11 to the first storage unit 14. Is output (or transmitted) to the first storage means 14. At that time, the redirect unit 16 pretends that the output source of the data request is not the redirect unit 16 but the processing unit 11 that is the original output source of the data request, as necessary. Accordingly, the first storage unit 14 acquires the data output from the redirect unit 16 as a data request output (or transmitted) from the processing unit 11.

第1記憶手段14は、リダイレクト手段16から出力(または送信)されたデータ要求を受け取ると、当該データ要求に応じてデータを読み出し、当該データをデータ要求に対する応答として処理手段11に出力(または送信)する。処理手段11は第1記憶手段14から出力(または送信)されるデータを取得する。   When the first storage unit 14 receives the data request output (or transmitted) from the redirect unit 16, the first storage unit 14 reads the data in response to the data request and outputs (or transmits) the data to the processing unit 11 as a response to the data request. ) The processing unit 11 acquires data output (or transmitted) from the first storage unit 14.

処理手段11は、上記のようにして、第1記憶手段14に対し出力(または送信)したデータ要求に対する応答として、第1記憶手段14に擬装されたリダイレクト手段16、もしくは第1記憶手段14からデータを取得すると、当該データを用いてアプリケーションプログラム111に従う処理を実行する。   As described above, the processing unit 11 responds to the data request output (or transmitted) to the first storage unit 14 from the redirect unit 16 or the first storage unit 14 disguised as the first storage unit 14. When data is acquired, processing according to the application program 111 is executed using the data.

指示手段17は、第2記憶手段15が取得手段13から受け取る記憶指示に従い新たにデータをキャッシュデータとして記憶する際に記憶容量が不足しないように、第2記憶手段15に記憶されているデータのうち、処理手段11により近い将来に用いられる確率が低いデータの解放を第2記憶手段15に指示する。すなわち、指示手段17は、第2記憶手段15の記憶領域のうち、近い将来に用いられる確率が低いデータの記憶に用いられている記憶領域を他のデータの記憶に用いてもよい記憶領域として指定する。   The instruction unit 17 stores the data stored in the second storage unit 15 so that the storage capacity is not insufficient when new data is stored as cache data in accordance with the storage instruction received by the second storage unit 15 from the acquisition unit 13. Among them, the second storage unit 15 is instructed to release data having a low probability of being used in the near future by the processing unit 11. That is, the instructing unit 17 uses a storage area used for storing data with a low probability of being used in the near future out of the storage areas of the second storage unit 15 as a storage area that may be used for storing other data. specify.

そのために、指示手段17は、例えば予め定められた時間の経過毎に、特定手段12と同様に、処理手段11に対しメタデータ要求を出力し、その応答として処理手段11からメタデータ(現在用いているデータを示す)を取得する。また、指示手段17は、例えば予め定められた時間の経過毎に、第2記憶手段15に記憶されているキャッシュテーブル151を参照し、アプリケーションプログラム111−1〜111−nの各々に応じて予め記憶されている第2条件データ171−1〜171−nに従い、第2記憶手段15に記憶されているデータのうち処理手段11が近い将来に処理に用いる確率が低いデータを特定する。以下、第2条件データ171−1〜171−nを区別しない場合、これらを「第2条件データ171」という。また、指示手段17により特定される、処理手段11が近い将来に処理に用いる確率が低いデータを以下、「解放対象データ」という。   For this purpose, for example, the instruction unit 17 outputs a metadata request to the processing unit 11 every time a predetermined time elapses, for example, and the metadata (currently used) is sent from the processing unit 11 as a response thereto. Show data). In addition, the instruction unit 17 refers to the cache table 151 stored in the second storage unit 15 every time a predetermined time elapses, for example, in advance according to each of the application programs 111-1 to 111-n. According to the stored second condition data 171-1 to 171-n, data having a low probability of being used for processing in the near future by the processing unit 11 is specified among the data stored in the second storage unit 15. Hereinafter, when the second condition data 171-1 to 171-n are not distinguished, these are referred to as “second condition data 171”. Further, data specified by the instruction unit 17 and having a low probability of being used for processing by the processing unit 11 in the near future is hereinafter referred to as “release target data”.

第2条件データ171は使用中データと解放対象データとの間の関係を示すデータである。例えば、アプリケーションプログラム111−1(動画編集アプリケーション)に応じた第2条件データ171−1には、「アプリケーションプログラム111−1に従う処理において現在用いられている画像データを基準とし、動画の再生における時間軸上で負方向に隣接するp個(ただし、pは任意の自然数)の画像データ(現在用いられている画像データに先行して再生されるp個の一連の画像データ)を近い将来に処理に用いられる確率が低いデータとして特定する」という条件を示すデータが含まれている。   The second condition data 171 is data indicating a relationship between in-use data and release target data. For example, the second condition data 171-1 corresponding to the application program 111-1 (moving image editing application) includes “time for reproducing a moving image based on image data currently used in processing according to the application program 111-1. Processing p pieces of image data (p is an arbitrary natural number) adjacent in the negative direction on the axis (a series of p pieces of image data reproduced prior to the currently used image data) in the near future The data indicating the condition of “specify as data with a low probability of being used in” is included.

図3の例の場合、指示手段17はまず、処理手段11から取得したメタデータにより、アプリケーションプログラム111−1に関する使用中データが「1023.bmp」であることを特定する。続いて、指示手段17は、キャッシュテーブル151−1のデータフィールド「URI」が「http://xyz.com/footage/video/3256」であり、データフィールド「ファイル名」が、当該特定した使用中データとの間で上述した条件が示す関係を満たすファイル名を示すデータレコードを抽出する。その結果、例えば、・・・、「1021.bmp」、「1022.bmp」といった計p個の一連のデータに関するデータレコードが抽出される。このように抽出されるデータレコードに応じたデータが、アプリケーションプログラム111−1に関する解放対象データである。   In the case of the example of FIG. 3, the instruction unit 17 first specifies that the data in use related to the application program 111-1 is “1023.bmp” based on the metadata acquired from the processing unit 11. Subsequently, the instruction means 17 has the data field “URI” of the cache table 151-1 as “http://xyz.com/footage/video/3256”, and the data field “file name” indicates the specified use. A data record indicating a file name that satisfies the relationship indicated by the above-described condition with the middle data is extracted. As a result, for example, data records relating to a total of p series of data such as..., “1021.bmp”, “1022.bmp” are extracted. Data corresponding to the data record extracted in this way is release target data related to the application program 111-1.

指示手段17は解放対象データを特定すると、特定した解放対象データの解放を指示する解放指示を第2記憶手段15に出力する。当該解放指示には、先にキャッシュテーブル151から抽出したデータレコードの内容が含まれる。   When the instruction unit 17 specifies the release target data, the instruction unit 17 outputs a release instruction for instructing the release of the specified release target data to the second storage unit 15. The release instruction includes the contents of the data record previously extracted from the cache table 151.

第2記憶手段15は、指示手段17から解放指示を受け取ると、当該解放指示に含まれるデータレコードをキャッシュテーブル151から削除する。これにより、第2記憶手段15は取得手段13から取得する記憶指示に従い新たなデータを記憶する際、キャッシュテーブル151を参照し、キャッシュテーブル151に登録されているいずれのキャッシュデータにも使用されていない記憶領域に新たなデータを記憶する。   When receiving the release instruction from the instruction unit 17, the second storage unit 15 deletes the data record included in the release instruction from the cache table 151. Thus, when the second storage unit 15 stores new data in accordance with the storage instruction acquired from the acquisition unit 13, the second storage unit 15 refers to the cache table 151 and is used for any cache data registered in the cache table 151. New data is stored in a storage area that does not exist.

以上がデータ処理システム1の構成および動作の説明である。上述したデータ処理システム1によれば、アプリケーションプログラム111に従い処理手段11が近い将来に処理に用いる確率が高いデータが予め第2記憶手段15にプリフェッチされ、当該データが用いられる際に、第1記憶手段14からではなくより高速なデータの読み出しが可能な第2記憶手段15から処理手段11に対するデータの引き渡しが行われる。その結果、プリフェッチが行われない場合と比較し、高い確率でデータ取得が高速化される。   The above is the description of the configuration and operation of the data processing system 1. According to the data processing system 1 described above, in accordance with the application program 111, data that is likely to be used for processing by the processing unit 11 in the near future is prefetched to the second storage unit 15 in advance, and the first storage is performed when the data is used. Data is transferred from the second storage means 15 capable of reading data at a higher speed than the means 14 to the processing means 11. As a result, data acquisition is speeded up with a higher probability than when no prefetching is performed.

ここで特筆すべき点は、データ取得の高速化がアプリケーションプログラム111の修正なく実現される点である。すなわち、データ処理システム1においては、プリフェッチ対象データおよび解放対象データの特定が処理手段11により行われるのではなく、処理手段11とは独立して動作する特定手段12または指示手段17により行われる。従って、アプリケーションプログラム111に従い処理を行う処理手段11は、メタデータ要求に応じてメタデータを特定手段12または指示手段17に対し出力することさえできれば、何らその動作に変更を要さない。   What should be noted here is that data acquisition can be speeded up without modification of the application program 111. That is, in the data processing system 1, the prefetch target data and the release target data are not specified by the processing unit 11 but are specified by the specifying unit 12 or the instruction unit 17 that operates independently of the processing unit 11. Therefore, the processing unit 11 that performs processing according to the application program 111 does not require any change in operation as long as it can output metadata to the specifying unit 12 or the instruction unit 17 in response to a metadata request.

また、プリフェッチによるデータ取得の高速化の効果は、どのような条件でプリフェッチ対象データおよび解放対象データを特定するか、という点に大きく左右される。そして、一般的にアプリケーションプログラム111が異なれば、高い効果を得るために採用されるべき条件も異なる。データ処理システム1においては、複数のアプリケーションプログラム111の各々に応じた第1条件データ121に従い、使用中データとの間で予め定められた関係を満たすデータがプリフェッチ対象データとして、また複数のアプリケーションプログラム111の各々に応じた第2条件データ171に従い、使用中データとの間で予め定められた関係を満たすデータが解放対象データとして特定される。そのため、第1条件データ121および第2条件データ171をアプリケーションプログラム111毎に適切に準備するだけで、様々なアプリケーションプログラム111の各々に関するプリフェッチの効果を高めることができる。   In addition, the effect of speeding up data acquisition by prefetching depends greatly on the conditions under which prefetch target data and release target data are specified. In general, different application programs 111 have different conditions that should be adopted in order to obtain a high effect. In the data processing system 1, in accordance with the first condition data 121 corresponding to each of the plurality of application programs 111, data satisfying a predetermined relationship with the data in use is used as prefetch target data, and a plurality of application programs In accordance with the second condition data 171 corresponding to each of the data 111, data satisfying a predetermined relationship with the data in use is specified as release target data. Therefore, the prefetching effect for each of the various application programs 111 can be enhanced only by appropriately preparing the first condition data 121 and the second condition data 171 for each application program 111.

[変形例]
上述した実施形態は本発明の技術的思想の範囲内において様々に変形可能である。以下にそれらの変形の例を示す。なお、これらの変形例は適宜組み合わせられてもよい。
[Modification]
The above-described embodiments can be variously modified within the scope of the technical idea of the present invention. Examples of these modifications are shown below. These modifications may be combined as appropriate.

上述した実施形態において、特定手段12、取得手段13、リダイレクト手段16および指示手段17は個別の構成部であるものとして説明したが、これらのうち2以上が1つの構成部として構成されてもよい。例えば、特定手段12と指示手段17が1つの構成部として構成されたり、特定手段12と取得手段13が1つの構成部として構成されたりしてもよい。また、特定手段12、取得手段13、リダイレクト手段16および指示手段17のうちいずれかが互いに連携動作する2つの構成部により構成されてもよい。例えば、指示手段17が、解放対象データを特定する構成部と、当該構成部により特定された解放対象データの解放を第2記憶手段15に指示する構成部とにより構成されてもよい。すなわち、特定手段12、取得手段13、リダイレクト手段16および指示手段17の区別は一例であって、これらの構成部が行う処理を他の構成の構成部で分担するように変形してもよい。従って、特定手段12、取得手段13、リダイレクト手段16および指示手段17を実現するために用いられるプログラムもこれらの構成部に応じた4つのプログラムにより構成されなくてもよく、その構成は様々に変形可能である。   In the above-described embodiment, the identification unit 12, the acquisition unit 13, the redirect unit 16, and the instruction unit 17 have been described as individual components, but two or more of these may be configured as one component. . For example, the specifying unit 12 and the instruction unit 17 may be configured as a single component, or the specifying unit 12 and the acquisition unit 13 may be configured as a single component. Further, any one of the specifying unit 12, the acquiring unit 13, the redirecting unit 16, and the instruction unit 17 may be configured by two components that operate in cooperation with each other. For example, the instruction unit 17 may be configured by a configuration unit that specifies release target data and a configuration unit that instructs the second storage unit 15 to release the release target data specified by the configuration unit. That is, the distinction between the specifying unit 12, the acquiring unit 13, the redirecting unit 16, and the instruction unit 17 is an example, and the processing performed by these constituent units may be modified to be shared by the constituent units of other configurations. Therefore, the program used to implement the specifying unit 12, the acquiring unit 13, the redirecting unit 16, and the instruction unit 17 may not be configured by four programs corresponding to these components, and the configuration may be variously modified. Is possible.

また、上述した実施形態において、アプリケーションプログラム111の各々に応じた第1条件データはアプリケーションプログラム111毎に区別されない1つの特定手段12により使用され、第2条件データはアプリケーションプログラム111毎に区別されない1つの指示手段17により使用されるものとしたが、特定手段12および指示手段17の両方もしくは一方を、アプリケーションプログラム111毎に設ける構成が採用されてもよい。   In the above-described embodiment, the first condition data corresponding to each application program 111 is used by one specifying unit 12 that is not distinguished for each application program 111, and the second condition data is not distinguished for each application program 111 1 Although one instruction unit 17 is used, a configuration in which both or one of the specifying unit 12 and the instruction unit 17 is provided for each application program 111 may be employed.

また、上述した実施形態の説明において、キャッシュテーブル151は第2記憶手段15が管理するものとしたが、リダイレクト手段16等の他の構成部によりキャッシュテーブル151の管理が行われてもよい。また、キャッシュテーブル151を管理する独立した構成部を別途、備える構成としてもよい。   In the above description of the embodiment, the cache table 151 is managed by the second storage unit 15, but the cache table 151 may be managed by other components such as the redirect unit 16. In addition, an independent configuration unit that manages the cache table 151 may be provided separately.

また、上述した実施形態の説明においては、時系列データを時間軸上の一方向に向かい順次用いることが多い動画編集アプリケーションをアプリケーションプログラム111の一例として説明に用いた。既述のとおり、動画編集アプリケーションはアプリケーションプログラム111の一例であって、他の様々な種別のアプリケーションプログラムがアプリケーションプログラム111として採用され得る。   In the description of the above-described embodiment, a moving image editing application that frequently uses time-series data in one direction on the time axis in order is used as an example of the application program 111 in the description. As described above, the moving image editing application is an example of the application program 111, and various other types of application programs can be adopted as the application program 111.

従って、それらのアプリケーションプログラム111の各々に応じて用いられる第1条件データ121および第2条件データ171の内容もまた、使用中データとの間で時間軸上の所定の位置関係を満たすデータをプリフェッチ対象データもしくは解放対象データとして特定するものに限られない。   Therefore, the contents of the first condition data 121 and the second condition data 171 used according to each of the application programs 111 also prefetch data that satisfies a predetermined positional relationship on the time axis with the data in use. It is not limited to data specified as target data or release target data.

すなわち、あるアプリケーションプログラムにおいて、第1の属性のデータが用いられた後に、第2の属性のデータが用いられる確率が統計的に有意に高ければ、第1の属性のデータが使用中データである場合に、第2の属性のデータをプリフェッチ対象データとして特定する条件を示すデータが、当該アプリケーションプログラムに応じた第1条件データとして利用可能である。同様に、あるアプリケーションプログラムにおいて、第1の属性のデータが用いられた後に、第2の属性のデータが用いられる確率が統計的に有意に低ければ、第1の属性のデータが使用中データである場合に、第2記憶手段15に記憶されている第2の属性のデータを解放対象データとして特定する条件を示すデータが、当該アプリケーションプログラムに応じた第2条件データとして利用可能である。   That is, in a certain application program, if the probability that the second attribute data is used is statistically significantly higher after the first attribute data is used, the first attribute data is used data. In this case, data indicating a condition for specifying the data having the second attribute as the prefetch target data can be used as the first condition data corresponding to the application program. Similarly, in a certain application program, after the first attribute data is used, if the probability that the second attribute data is used is statistically significantly low, the first attribute data is used data. In some cases, data indicating a condition for specifying the data having the second attribute stored in the second storage unit 15 as the release target data can be used as the second condition data corresponding to the application program.

また、データ処理システム1が、過去にアプリケーションプログラム111に従い処理手段11により行われた処理に関し、アプリケーションプログラム111の各々に従い第1の属性のデータが使用された後、例えば所定の時間が経過する前に第2の属性のデータが使用された確率に基づいて第1条件データおよび第2条件データの一方もしくは両方により示される条件を更新する条件更新手段を備えるようにしてもよい。   In addition, regarding the processing performed by the processing unit 11 in the past according to the application program 111, the data processing system 1 uses the first attribute data according to each of the application programs 111, for example, before a predetermined time elapses. In addition, condition updating means for updating a condition indicated by one or both of the first condition data and the second condition data based on the probability that the data of the second attribute is used may be provided.

また、第1条件データ121に従いプリフェッチ対象データを特定する際、もしくは第2条件データ171に従い解放対象データを特定する際に、複数の候補となるデータの各々の優先度を所定の規則に従い算出し、それらの優先度が高い順にプリフェッチ対象データや解放対象データを特定するなど、これらのデータの特定方法は様々に変形可能である。例えば、重要性が高い条件には高いポイントを割り当て、重要性が低い条件には低いポイントを割り当て、満たされる条件に割り当てられたポイントの合計値を優先度の指標として用いることなどが例として考えられる。   Further, when specifying prefetch target data according to the first condition data 121 or specifying release target data according to the second condition data 171, the priority of each of a plurality of candidate data is calculated according to a predetermined rule. These data specifying methods can be variously modified, such as specifying prefetch target data and release target data in descending order of priority. For example, consider assigning high points to conditions of high importance, assigning low points to conditions of low importance, and using the total value of points assigned to satisfying conditions as an index of priority. It is done.

また、上述した実施形態の説明においては、動画編集アプリケーションに関する第1条件データが、使用中データに時間軸上の正方向に隣接するデータをプリフェッチ対象データとして特定する条件を示す場合を例示したが、それに加え、使用中データが時間軸上の末端(例えば、動画データの最後のコマを示す静止画データ等)である場合、時間軸上の先頭に位置する、例えば所定数のデータをプリフェッチ対象データとして特定する条件を示すようにしてもよい。動画データの編集のような時系列データを扱うアプリケーションプログラムに従い処理が行われる場合、処理に用いるデータが時間軸上の末端に達した場合、再度、時間軸上の先頭から順にデータの処理が行われる場合が多いためである。   In the description of the above-described embodiment, the first condition data related to the moving image editing application is exemplified as a condition for specifying data adjacent in use in the positive direction on the time axis as prefetch target data. In addition, when the data in use is at the end on the time axis (for example, still image data indicating the last frame of the moving image data), for example, a predetermined number of data located at the beginning on the time axis is to be prefetched Conditions specified as data may be indicated. When processing is performed according to an application program that handles time-series data, such as editing video data, when the data used for processing reaches the end on the time axis, the data is processed again sequentially from the beginning on the time axis. This is because there are many cases.

また、上述した実施形態においては、特定手段12および指示手段17は、使用中データを示すメタデータを、処理手段11から取得する構成が採用されているが、特定手段12もしくは指示手段17がメタデータを他の方法で取得する構成が採用されてもよい。例えば、処理手段11が第1記憶手段14に対し出力するデータ要求により示されるデータは、処理手段11が今から使用するデータである可能性が高い。従って、特定手段12もしくは指示手段17が、処理手段11から出力されるデータ要求を直接、もしくはリダイレクト手段16等を介して取得して、当該データ要求により要求されているデータを使用中データとみなして扱う(すなわち、データ要求に含まれるURIおよびファイル名をメタデータとして用いる)構成が採用されてもよい。   In the above-described embodiment, the specifying unit 12 and the instructing unit 17 are configured to acquire the metadata indicating in-use data from the processing unit 11. A configuration in which data is acquired by another method may be employed. For example, the data indicated by the data request that the processing unit 11 outputs to the first storage unit 14 is highly likely to be data that the processing unit 11 uses from now. Therefore, the specifying unit 12 or the instruction unit 17 obtains the data request output from the processing unit 11 directly or via the redirect unit 16 and the like, and regards the data requested by the data request as in-use data. (That is, the URI and file name included in the data request are used as metadata).

なお、本願において「使用中のデータ」もしくは「処理に用いられるデータ」というとき、そのデータは必ずしも厳密にその時点において使用されているデータである必要はなく、例えば、現時点から所定時間以内だけ前後の期間内に実際に使用されるデータや、使用される予定であるデータ(処理手段により使用可能な状態となっているデータ)等を含む。   In the present application, when “data in use” or “data used for processing” is referred to, the data does not necessarily have to be strictly used at that time. Data that is actually used within the period, data that is scheduled to be used (data that can be used by the processing means), and the like.

また、上述した実施形態においては、特定手段12、取得手段13、リダイレクト手段16および指示手段17はプロセッサ101がプログラムに従った処理を行うことにより機能構成部として実現されるものとしたが、これらの構成部のうち1以上が、いわゆるハードウェアにより実現されてもよい。その場合、ハードウェアにより実現される構成部を備える装置と、少なくともアプリケーションプログラム111に従い処理を行う処理手段11を備えるコンピュータとの間で各種データの受け渡しが行われる構成となる。   In the above-described embodiment, the specifying unit 12, the acquiring unit 13, the redirecting unit 16, and the instruction unit 17 are realized as functional components by the processor 101 performing processing according to the program. One or more of these components may be realized by so-called hardware. In this case, various types of data are transferred between a device including a configuration unit realized by hardware and a computer including a processing unit 11 that performs processing according to at least the application program 111.

また、上述した実施形態において特定手段12、取得手段13、リダイレクト手段16および指示手段17の実現に用いられるプログラム(第1のプラグインプログラム、サービスプログラム、ドライバプログラム、第2のプラグインプログラム)の少なくとも一部は、ネットワークを介してコンピュータ10にダウンロードされる形態で提供されるほか、それらのプログラムを持続的に記録するコンピュータ読み取り可能な記録媒体の形態で配布され、当該記録媒体からコンピュータ10により読み取られる形態で提供されてもよい。   In the above-described embodiment, the programs (first plug-in program, service program, driver program, second plug-in program) used to realize the specifying unit 12, the acquiring unit 13, the redirecting unit 16, and the instruction unit 17 are used. At least a part of the program is provided in the form of being downloaded to the computer 10 via a network, and is distributed in the form of a computer-readable recording medium for continuously recording these programs. It may be provided in read form.

1…データ処理システム、10…コンピュータ、11…処理手段、12…特定手段、13…取得手段、14…第1記憶手段、15…第2記憶手段、16…リダイレクト手段、17…指示手段、21…操作装置、22…表示装置、23…記憶装置、24…ネットワーク、101…プロセッサ、102…メモリ、103…入出力I/F、104…通信I/F、109…バス、111…アプリケーションプログラム、121…第1条件データ、151…キャッシュテーブル、171…第2条件データ、1021…不揮発性メモリ、1022…SSD、1023…HDD DESCRIPTION OF SYMBOLS 1 ... Data processing system, 10 ... Computer, 11 ... Processing means, 12 ... Identification means, 13 ... Acquisition means, 14 ... First storage means, 15 ... Second storage means, 16 ... Redirection means, 17 ... Instruction means, 21 DESCRIPTION OF SYMBOLS Operation device 22 ... Display device 23 ... Storage device 24 ... Network 101 ... Processor 102 ... Memory 103 ... Input / output I / F 104 ... Communication I / F 109 ... Bus 111 ... Application program 121 ... first condition data 151 ... cache table 171 ... second condition data 1021 ... nonvolatile memory 1022 ... SSD 1023 ... HDD

Claims (9)

データを取得する取得手段と、
前記取得手段により取得されたデータを用いた処理を行う処理手段と、
データを記憶する記憶手段と
を備え、
第1のプログラムに従い前記取得手段によりデータを取得し、
前記第1のプログラムに従い前記取得手段により取得されたデータを前記記憶手段により記憶し、
第2のプログラムに従い前記処理手段が一のデータを用いた処理を行う際に、前記記憶手段により当該一のデータが記憶されている場合には前記取得手段により前記記憶手段から当該一のデータを取得し、前記記憶手段に当該一のデータが記憶されていない場合には前記取得手段により前記記憶手段とは異なる場所から当該一のデータを取得する
コンピュータに、
前記第2のプログラムに従う前記処理手段による処理に用いられるデータを示すデータであるメタデータを取得する処理と、
前記取得する処理において取得したメタデータにより示されるデータとの間で前記第2のプログラムに応じて予め定められた関係を満たすデータを、前記処理手段により将来の処理に用いられる確率が高いデータとして特定する処理と、
前記特定する処理において特定したデータを、前記第1のプログラムに従い取得する処理と
を実行させるプログラム。
An acquisition means for acquiring data;
Processing means for performing processing using the data acquired by the acquisition means;
Storage means for storing data,
Acquire data by the acquisition means according to the first program,
Storing the data acquired by the acquisition means according to the first program by the storage means;
When the processing means performs processing using one data according to the second program, when the one data is stored by the storage means, the one data is stored from the storage means by the obtaining means. If the one data is not stored in the storage means, the computer acquires the one data from a location different from the storage means by the acquisition means.
Processing for obtaining metadata that is data indicating data used for processing by the processing means according to the second program;
Data that satisfies a predetermined relationship according to the second program with data indicated by the metadata acquired in the processing to be acquired is data that has a high probability of being used for future processing by the processing means. Process to identify,
A program for executing a process of acquiring data specified in the specified process according to the first program.
前記処理手段は、複数の前記第2のプログラムの各々に従い処理を行い、
前記コンピュータに、
前記特定する処理において、前記複数の前記第2のプログラムの各々に応じた前記予め定められた関係のうち、前記メタデータにより示されるデータを用いた処理を前記処理手段に指示した前記第2のプログラムに応じた前記予め定められた関係を満たすデータを、前記処理手段により将来の処理に用いられる確率が高いデータとして特定させる
請求項1に記載のプログラム。
The processing means performs processing according to each of the plurality of second programs,
In the computer,
In the specifying process, the second instruction instructing the processing means to use the data indicated by the metadata among the predetermined relationship corresponding to each of the plurality of the second programs. The program according to claim 1, wherein data satisfying the predetermined relationship according to the program is specified as data having a high probability of being used for future processing by the processing means.
前記処理手段は、前記第2のプログラムに従い、時間軸上に並べられたデータを用いた処理を行い、
前記コンピュータに、
前記特定する処理において、前記メタデータにより示されるデータとの間で前記時間軸上における予め定められた位置関係を満たすデータを、前記処理手段により将来の処理に用いられる確率が高いデータとして特定させる
請求項1または2に記載のプログラム。
The processing means performs processing using data arranged on a time axis according to the second program,
In the computer,
In the specifying process, data satisfying a predetermined positional relationship on the time axis with the data indicated by the metadata is specified as data having a high probability of being used for future processing by the processing means. The program according to claim 1 or 2.
前記コンピュータに、
前記第1のプログラムに従い前記取得手段により取得され前記記憶手段に記憶されているデータのうち、前記メタデータにより示されるデータとの間で前記第2のプログラムに応じて予め定められた関係を満たすデータの前記記憶手段からの解放を前記記憶手段に指示する処理を実行させる
請求項1乃至3のいずれか1項に記載のプログラム。
In the computer,
Of the data acquired by the acquisition unit according to the first program and stored in the storage unit, the relationship predetermined by the second program is satisfied with the data indicated by the metadata The program according to any one of claims 1 to 3, wherein a program for instructing the storage means to release data from the storage means is executed.
前記処理手段は、複数の前記第2のプログラムの各々に従い処理を行い、
前記コンピュータに、
前記指示する処理において、前記複数の前記第2のプログラムの各々に応じた前記予め定められた関係のうち、前記メタデータにより示されるデータを用いた処理を前記処理手段に指示した前記第2のプログラムに応じた前記予め定められた関係を満たすデータの解放を前記記憶手段に指示させる
請求項4に記載のプログラム。
The processing means performs processing according to each of the plurality of second programs,
In the computer,
In the instructing process, out of the predetermined relationships corresponding to each of the plurality of the second programs, the second instructing the processing means to use the data indicated by the metadata. The program according to claim 4, wherein the storage unit is instructed to release data satisfying the predetermined relationship according to the program.
プログラムに従いデータを取得する取得手段と、
前記プログラムに従い前記取得手段により取得されたデータを用いた処理を行う処理手段と
を備えるコンピュータに、
前記処理手段による処理に用いられるデータとの間で前記プログラムに応じて予め定められた規則を満たすデータをプリフェッチデータとして取得する処理と、
前記プリフェッチデータを記憶する処理と、
前記取得手段が一のデータの取得要求を一の出力先に出力した場合、前記取得要求をインターセプトし、当該一のデータを前記プリフェッチデータとして記憶している場合には前記プリフェッチデータとして記憶している当該一のデータを前記取得要求に対する応答として前記取得手段に引き渡し、当該一のデータを前記プリフェッチデータとして記憶していない場合には前記取得要求を前記一の出力先に出力する処理と
を実行させるプログラム。
Acquisition means for acquiring data according to a program;
In a computer comprising processing means for performing processing using data acquired by the acquisition means according to the program,
A process of acquiring data satisfying a rule determined in advance according to the program as data to be used for processing by the processing means as prefetch data;
Processing to store the prefetch data;
When the acquisition means outputs an acquisition request for one data to one output destination, the acquisition request is intercepted, and when the one data is stored as the prefetch data, it is stored as the prefetch data. And processing to output the acquisition request to the one output destination when the one data is not stored as the prefetch data. Program to make.
請求項1乃至6のいずれか1項に記載のプログラムをコンピュータに読み取り可能に持続的に記録する記録媒体。   The recording medium which records the program of any one of Claim 1 thru | or 6 so that a computer can read continuously. データを取得する第1の取得手段と、
前記第1の取得手段により取得されたデータを記憶する記憶手段と、
プログラムに従いデータを用いた処理を行う処理手段と、
前記プログラムに従い前記処理手段が一のデータを用いた処理を行う際に、前記記憶手段により当該一のデータが記憶されている場合には前記記憶手段から当該一のデータを取得し、前記記憶手段に当該一のデータが記憶されていない場合には前記記憶手段とは異なる場所から当該一のデータを取得し、取得した当該一のデータを前記処理手段に引き渡す第2の取得手段と
を備えるデータ処理装置との間でデータの受け渡しを行う装置であって、
前記プログラムに従い前記処理手段により処理に用いられるデータを示すデータであるメタデータを取得し、当該メタデータにより示されるデータとの間で前記プログラムに応じて予め定められた関係を満たすデータを、前記処理手段により将来の処理に用いられる確率が高いデータとして特定し、当該特定したデータの取得を前記第1の取得手段に指示する特定手段
を備える装置。
First acquisition means for acquiring data;
Storage means for storing data acquired by the first acquisition means;
Processing means for performing processing using data according to a program;
When the processing means performs processing using one data according to the program, if the one data is stored by the storage means, the one data is acquired from the storage means, and the storage means The second acquisition means for acquiring the one data from a location different from the storage means when the one data is not stored in the storage means and delivering the acquired one data to the processing means A device that exchanges data with a processing device,
Acquiring metadata that is data indicating data used for processing by the processing means according to the program, and satisfying a predetermined relationship according to the program with the data indicated by the metadata, An apparatus comprising: specifying means for specifying data having a high probability of being used for future processing by a processing means and instructing the first acquisition means to acquire the specified data.
プログラムに従いデータを用いた処理を行う処理手段と、
前記処理手段により処理に用いられるデータを取得し前記処理手段に引き渡す第1の取得手段と
を備えるデータ処理装置との間でデータの受け渡しを行う装置であって、
前記処理手段による処理に用いられるデータとの間で前記プログラムに応じて予め定められた関係を満たすデータを取得する第2の取得手段と、
前記第2の取得手段により取得されたデータを記憶する記憶手段と、
前記第1の取得手段が一のデータの取得要求を一の出力先に出力した場合、前記取得要求をインターセプトし、当該一のデータが前記記憶手段に記憶されている場合には前記記憶手段に記憶されている当該一のデータを前記取得要求に対する応答として前記第1の取得手段に引き渡し、当該一のデータが前記記憶手段に記憶されていない場合には前記取得要求を前記一の出力先に出力するリダイレクト手段と
を備える装置。
Processing means for performing processing using data according to a program;
An apparatus for transferring data to and from a data processing apparatus comprising: a first acquisition means for acquiring data used for processing by the processing means and delivering the data to the processing means;
Second acquisition means for acquiring data satisfying a predetermined relationship according to the program with data used for processing by the processing means;
Storage means for storing data acquired by the second acquisition means;
When the first acquisition means outputs an acquisition request for one data to one output destination, the acquisition request is intercepted, and when the one data is stored in the storage means, the storage means The stored one data is handed over to the first acquisition means as a response to the acquisition request, and if the one data is not stored in the storage means, the acquisition request is sent to the one output destination. A redirecting means for outputting.
JP2013107655A 2013-05-22 2013-05-22 Program, recording medium and device for increasing speed of data acquisition of data processor Pending JP2014229044A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013107655A JP2014229044A (en) 2013-05-22 2013-05-22 Program, recording medium and device for increasing speed of data acquisition of data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013107655A JP2014229044A (en) 2013-05-22 2013-05-22 Program, recording medium and device for increasing speed of data acquisition of data processor

Publications (1)

Publication Number Publication Date
JP2014229044A true JP2014229044A (en) 2014-12-08

Family

ID=52128847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013107655A Pending JP2014229044A (en) 2013-05-22 2013-05-22 Program, recording medium and device for increasing speed of data acquisition of data processor

Country Status (1)

Country Link
JP (1) JP2014229044A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204928B2 (en) 2017-01-13 2021-12-21 International Business Machines Corporation Reducing flow delays in a data streaming application caused by lookup operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204928B2 (en) 2017-01-13 2021-12-21 International Business Machines Corporation Reducing flow delays in a data streaming application caused by lookup operations
US11210298B2 (en) 2017-01-13 2021-12-28 International Business Machines Corporation Reducing flow delays in a data streaming application caused by lookup operations

Similar Documents

Publication Publication Date Title
US11689515B2 (en) Information processing device, information management method, and information processing system
JP6621543B2 (en) Automatic update of hybrid applications
US9766791B2 (en) Predictive caching and fetch priority
Chandrasekar et al. A novel indexing scheme for efficient handling of small files in hadoop distributed file system
CN105493070B (en) The task context framework shared for efficient data
US11019156B1 (en) Automatic discovery and registration of service applications for files introduced to a user interface
JP5886447B2 (en) Location independent files
US20130055371A1 (en) Storage control method and information processing apparatus
JP5375972B2 (en) Distributed file system, data selection method thereof, and program
CN107077483A (en) The synchronization of Shared Folders and file
JP2022003504A (en) Method and apparatus for testing map service
US20140244580A1 (en) Predictive storage service
US20100115061A1 (en) Server system, server apparatus, program and method
US8732355B1 (en) Dynamic data prefetching
JP2014056319A (en) Information processor, program, and control method
KR101621385B1 (en) System and method for searching file in cloud storage service, and method for controlling file therein
US20130016108A1 (en) Information processing apparatus, information processing method, and program
US9201883B1 (en) Remote file archiving using package files
KR102225413B1 (en) Method for sharing contents based on cloud computing, system and service apparatus thereof
JP2014229044A (en) Program, recording medium and device for increasing speed of data acquisition of data processor
US20130097207A1 (en) Information processing device, information processing method and computer program
JP2014179042A (en) Data management system, information system, data management method, control method of information system, programs for these methods and recording medium recording the programs
CN103605795A (en) Metadata-based file storage method and device
JP5629438B2 (en) File management apparatus and control method thereof
JP2015185103A (en) Storage device, information processing device, data access method and program