(57)【要約】【課題】キャッシュ用の記憶手段を用いる場合においてデータの取得に要する時間を短くすること。【解決手段】記憶制御手段１０１は、予め定められた条件を満たすデータをキャッシュ用の第１記憶手段に記憶させる。要求手段１０２は、要求元装置１００から第２記憶手段に記憶されている一のデータの要求が行われた場合に、その一のデータの要求を、第１及び第２記憶手段に対して行う。より詳細には、要求手段１０２は、一のデータが第１記憶手段に記憶されているか否かの判定を行うことなくその第１記憶手段に対し一のデータの要求を行う。出力手段１０３は、要求手段１０２の要求に応答して第１及び第２記憶手段のいずれかから最初に送られてきたデータを要求元装置１００に出力する。【選択図】図２
2015026260.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた条件を満たすデータをキャッシュ用の第１記憶手段に記憶させる記憶制御手段と、
要求元の装置から第２記憶手段に記憶されている一のデータの要求が行われた場合に、当該一のデータの要求を、前記第１及び第２記憶手段に対して行う要求手段と、
前記要求手段の要求に応答して前記第１及び第２記憶手段のいずれかから最初に送られてきたデータを前記要求元の装置に出力する出力手段と
を備えるデータ処理装置。
【請求項２】
前記要求手段は、前記一のデータが前記第１記憶手段に記憶されているか否かの判定を行うことなく当該第１記憶手段に対し当該一のデータの要求を行う
請求項１に記載のデータ処理装置。
【請求項３】
前記第２記憶手段と他の装置とのデータ伝送の状態を示す伝送状態情報を取得する取得手段を備え、
前記記憶制御手段は、前記第１記憶手段に記憶させるデータの索引を示す索引情報を記憶させ、
前記要求手段は、前記取得手段により取得された前記伝送状態情報が予め定められた条件を満たす場合は、前記第２記憶手段に対する前記一のデータの要求を行う前に、前記記憶制御手段により記憶された索引情報を参照して前記第１記憶手段に当該一のデータが記憶されているか否かの判定を行い、当該一のデータが記憶されていないと判定した場合に限り、前記第２記憶手段に対する前記一のデータの要求を行う
請求項１に記載のデータ処理装置。
【請求項４】
コンピュータを、
予め定められた条件を満たすデータをキャッシュ用の第１記憶手段に記憶させる記憶制御手段と、
要求元の装置から第２記憶手段に記憶されている一のデータの要求が行われた場合に、当該一のデータの要求を、前記第１及び第２記憶手段に対して行う要求手段と、
前記要求手段の要求に応答して前記第１及び第２記憶手段のいずれかから最初に送られてきたデータを前記要求元の装置に出力する出力手段
として機能させるためのプログラム。
【請求項５】
予め定められた条件を満たすデータをキャッシュ用の第１記憶手段に記憶させる記憶制御ステップと、
要求元の装置から第２記憶手段に記憶されている一のデータの要求が行われた場合に、当該一のデータの要求を、前記第１及び第２記憶手段に対して行う要求ステップと、
前記要求ステップにおける要求に応答して前記第１及び第２記憶手段のいずれかから最初に送られてきたデータを前記要求元の装置に出力する出力ステップと
を備えるデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの取得に要する時間を短くするための技術に関する。
【背景技術】
【０００２】
キャッシュ用の記憶手段を用いてデータの取得に要する時間を短くする技術がある。特許文献１には、ファイルアクセス要求があった場合に、キャッシュ管理テーブルを参照して、所望ファイルがキャッシュされている場合はキャッシュ用の記憶手段（単にキャッシュともいう）から、キャッシュされていない場合は外部記憶装置から、所望ファイルを読み出して提供する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−９１８１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術のように、キャッシュ管理テーブルを参照してキャッシュ内のデータの有無を判定する場合、キャッシュ内のデータ数が増えてくると、その判定に要する時間も増加する。また、キャッシュ内にデータが無くて外部記憶装置からデータを読み出すことになった場合、最初から外部記憶装置にデータを要求するときに比べて、判定に要した時間が余計に費やされることになる。
【０００５】
本発明は、上述の背景に鑑みてなされたものであり、キャッシュ用の記憶手段を用いる場合においてデータの取得に要する時間を短くすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、一態様として、予め定められた条件を満たすデータをキャッシュ用の第１記憶手段に記憶させる記憶制御手段と、要求元の装置から第２記憶手段に記憶されている一のデータの要求が行われた場合に、当該一のデータの要求を、前記第１及び第２記憶手段に対して行う要求手段と、前記要求手段の要求に応答して前記第１及び第２記憶手段のいずれかから最初に送られてきたデータを前記要求元の装置に出力する出力手段とを備えるデータ処理装置を提供する。
【０００７】
また、前記要求手段は、前記一のデータが前記第１記憶手段に記憶されているか否かの判定を行うことなく当該第１記憶手段に対し当該一のデータの要求を行ってもよい。
さらに、前記第２記憶手段と他の装置とのデータ伝送の状態を示す伝送状態情報を取得する取得手段を備え、前記記憶制御手段は、前記第１記憶手段に記憶させるデータの索引を示す索引情報を記憶させ、前記要求手段は、前記取得手段により取得された前記伝送状態情報が予め定められた条件を満たす場合は、前記第２記憶手段に対する前記一のデータの要求を行う前に、前記記憶制御手段により記憶された索引情報を参照して前記第１記憶手段に当該一のデータが記憶されているか否かの判定を行い、当該一のデータが記憶されていないと判定した場合に限り、前記第２記憶手段に対する前記一のデータの要求を行ってもよい。
【０００８】
また、本発明は、他の一態様として、コンピュータを、予め定められた条件を満たすデータをキャッシュ用の第１記憶手段に記憶させる記憶制御手段と、要求元の装置から第２記憶手段に記憶されている一のデータの要求が行われた場合に、当該一のデータの要求を、前記第１及び第２記憶手段に対して行う要求手段と、前記要求手段の要求に応答して前記第１及び第２記憶手段のいずれかから最初に送られてきたデータを前記要求元の装置に出力する出力手段として機能させるためのプログラムを提供する。
【０００９】
また、本発明は、他の一態様として、予め定められた条件を満たすデータをキャッシュ用の第１記憶手段に記憶させる記憶制御ステップと、要求元の装置から第２記憶手段に記憶されている一のデータの要求が行われた場合に、当該一のデータの要求を、前記第１及び第２記憶手段に対して行う要求ステップと、前記要求ステップにおける要求に応答して前記第１及び第２記憶手段のいずれかから最初に送られてきたデータを前記要求元の装置に出力する出力ステップとを備えるデータ処理方法を提供する。
【発明の効果】
【００１０】
本発明によれば、第１及び第２記憶手段のいずれか一方にだけデータを要求する場合に比べて、キャッシュ用の記憶手段を用いる場合においてデータの取得に要する時間を短くすることができる。
【図面の簡単な説明】
【００１１】
【図１】データ処理システムのハードウェア構成を示すブロック図
【図２】データ処理システムの機能構成を示すブロック図
【図３】高速化処理における各装置の動作を示すシーケンス図
【図４】高速化処理における各装置の動作を示すシーケンス図
【図５】変形例のデータ処理システムの機能構成を示すブロック図
【発明を実施するための形態】
【００１２】
［実施形態の構成］
以下、図を参照しながら本発明の一実施形態にかかるデータ処理システム１を説明する。
図１はデータ処理システム１のハードウェア構成を示すブロック図である。データ処理システム１は、データ処理装置１０と、ＳＳＤ（Solid State Drive）２０と、ＮＡＳ（Network Attached Storage）３０と、ネットワーク４０とを備える。ネットワーク４０は、データ処理装置１０とＮＡＳ３０との間のデータ通信経路を提供するネットワークであり、例えば有線ＬＡＮ（Local Area Network）である。
【００１３】
ＮＡＳ３０は、ネットワークに接続されて使用されるデータの記憶手段であり、ネットワーク４０に接続された他の装置からの要求に応答してデータの書き込みや読み出しを行う。ＮＡＳ３０には、データ処理システム１において処理されるデータが記憶されている。ＳＳＤ２０は、記憶媒体として主にフラッシュメモリが用いられた記憶手段であり、データ処理システム１においてキャッシュ用の記憶手段として用いられている。キャッシュとは、データの読み出しに要する時間（以下「読出時間」という）が短い記憶手段にデータを記憶させておくことにより、同じデータを読出時間の長い記憶手段から読み出す場合に比べて、データの読み出しを高速化させることをいう。以下では、キャッシュ用の記憶手段にデータを記憶させることを「キャッシュさせる」という。
【００１４】
データ処理装置１０は、例えばＮＡＳ３０に記憶されているデータを読み出して、読み出したデータを用いてデータ処理を行うコンピュータである。データ処理装置１０は、プロセッサ１１と、ＲＡＭ（Random Access Memory）１２と、ＲＯＭ（Read Only Memory）１３と、入出力Ｉ／Ｆ（Interface）１４と、通信Ｉ／Ｆ１５とを備えている。これらの各部は、バス１６を介して互いにデータの受け渡しが可能である。プロセッサ１１は、例えばＣＰＵ（Central Processing Unit）であり、ＲＡＭ１２をワークエリアとして用いて、ＲＯＭ１３やＮＡＳ３０に記憶されているプログラムを実行することによって、データ処理を行うとともにデータ処理装置１０の各部を制御する。プロセッサ１１により実行されるプログラムには、各種のアプリケーションプログラムや、データの読み出しを高速化する高速化処理を実現するための高速化プログラムなどがある。この高速化プログラムにより実現されるのは、ＳＳＤ２０のようなキャッシュ用の記憶手段を用いる場合における高速化処理である。
【００１５】
入出力Ｉ／Ｆ１４は、例えば、ＵＳＢ（Universal Serial Bus）端子、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）端子等の端子とケーブルを介した有線接続や、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信規格に従った無線接続により、外部装置との間でデータの入出力を行う。通信Ｉ／Ｆ１５は、例えば、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）８０２．３等の通信規格に従った有線接続や、ＩＥＥＥ８０２．１１等の通信規格に従った無線接続により、ネットワーク４０を介して外部装置との間でデータの送受信を行う。
【００１６】
［実施形態の概要］
本実施形態では、ＮＡＳ３０に記憶されているデータの取得を、ＳＳＤ２０をキャッシュ用の記憶手段として用いて高速化する場合について説明する。以下では、キャッシュ用の記憶手段であるＳＳＤ２０を第１記憶手段といい、取得すべきデータを記憶しているＮＡＳ３０を第２記憶手段という。データ処理装置１０においては、プロセッサ１１が前述した各プログラムを実行して各部を制御することで、高速化処理に関係する以下の機能が実現される。
図２は、データ処理装置１０の機能構成を示すブロック図である。データ処理装置１０は、要求元装置１００と、記憶制御手段１０１と、要求手段１０２と、出力手段１０３とを備える。
【００１７】
要求元装置１００は、アプリケーションプログラムが実行されることで実現される仮想的な装置であり、例えば文書作成やＷｅｂサーバへのアクセスなど、各種の作業を行う。要求元装置１００は、自装置が行う作業に用いるデータがＲＡＭやＲＯＭに記憶されていない場合に、そのデータをそれら以外の記憶手段に対して要求する。要求元装置１００は、要求するデータとそのデータが記憶されている場所とを示す情報（以下「要求情報」という）を要求手段１０２に供給する。要求情報は、例えば、要求するデータのファイル名、そのファイルを記憶する装置のＩＰ（Internet Protocol）アドレス及びパス等を示す情報である。要求元装置１００は、本実施形態では、上記のとおりＮＡＳ３０に記憶されているデータを要求する。なお、要求元装置１００が要求するデータは、ファイル単位のデータに限らず、例えばブロック単位のデータであってもよい。
【００１８】
記憶制御手段１０１は、予め定められた条件を満たすデータを第１記憶手段（キャッシュ用の記憶手段。本実施形態ではＳＳＤ２０）に記憶させる手段の一例である。予め定められた条件とは、そのデータをキャッシュするか否かを判断するために用いられる条件であり、例えば、要求元装置１００により読み出された場合に満たされる条件や、要求元装置１００から将来読み出されることが予測される場合に満たされる条件などである。後者の条件を用いたキャッシュは、プリフェッチ（事前読み込み）とも呼ばれる。以下では、これらの条件のことをキャッシュ条件という。例えば、記憶制御手段１０１は、要求元装置１００の要求に基づいて第２記憶手段から読み出されたデータが供給されると、そのデータを、キャッシュ条件を満たすデータとして第１記憶手段に記憶させる。
【００１９】
また、記憶制御手段１０１は、事前読み込みすべきデータを判断すると、そのデータを第２記憶手段に要求し、その応答で供給されたデータを、キャッシュ条件を満たすデータとして第１記憶手段に記憶させる。記憶制御手段１０１は、例えば、要求元装置１００を実現するアプリケーションプログラムと、そのアプリケーションプログラムが実行された場合に事前読み込みすべきデータとを対応付けたテーブルを記憶しておき、現在実行されているアプリケーションプログラムにそのテーブルにおいて対応付けられているデータを、事前読み込みすべきデータとして判断する。なお、記憶制御手段１０１によるデータのキャッシュは、上記の方法に限らず、周知の他の技術を用いて行われてもよい。
【００２０】
要求手段１０２は、要求元装置１００から第２記憶手段に記憶されている一のデータの要求が行われた場合に、その一のデータの要求を、第１及び第２記憶手段に対して行う手段の一例である。要求手段１０２は、要求元装置１００から供給された要求情報をＳＳＤ２０（第１記憶手段）及びＮＡＳ３０（第２記憶手段）に転送することで、この要求を行う。要求手段１０２は、この転送を行う際、それぞれの要求情報を識別するための情報（以下「要求ＩＤ（Identifier）」という）を各要求情報に付加する。以下では、第１記憶手段に転送される要求情報に付加される要求ＩＤを第１要求ＩＤといい、第２記憶手段に転送される要求情報に付加される要求ＩＤを第２要求ＩＤという。第１及び第２要求ＩＤは、付加される要求情報が異なるが、同じ情報である。要求手段１０２は、各要求情報に付加した要求ＩＤを、出力手段１０３に通知する。
【００２１】
また、本実施形態においては、要求手段１０２は、一のデータが第１記憶手段に記憶されているか否かの判定を行うことなくその第１記憶手段に対し一のデータの要求を行う。ここでいう判定は、例えば、ＳＳＤ２０に記憶されているデータの索引を示す索引情報を生成し、その索引情報に一のデータが含まれているか否かによって行われる。生成された索引情報は、例えばＲＡＭ１２に記憶される。本実施形態では、要求手段１０２がこの判定を行わず、索引情報を記憶させておく必要がないから、この判定を行う場合（すなわち索引情報を記憶させる場合）に比べて、索引情報を記憶させる記憶手段（例えばＲＡＭ１２）の空き領域を大きくすることができる。
【００２２】
出力手段１０３は、要求手段１０２の要求に応答して第１及び第２記憶手段のいずれかから最初に送られてきたデータを要求元装置１００に出力する手段の一例である。第１記憶手段、すなわちＳＳＤ２０は、要求手段１０２から転送されてきた要求情報を受け取ると、要求情報が示すデータを記憶していれば、そのデータを要求情報に含まれている第１要求ＩＤとともにデータ処理装置１０に送信し、記憶していなければ、例えばその旨を示すエラー情報を同じく第１要求ＩＤとともにデータ処理装置１０に送信する。第２記憶手段、すなわちＮＡＳ３０は、要求手段１０２から転送されてきた要求情報を受け取ると、要求情報が示すデータを記憶していれば、そのデータを要求情報に含まれている第２要求ＩＤとともにデータ処理装置１０に送信し、記憶していなければ、例えばその旨を示すエラー情報を同じく第２要求ＩＤとともにデータ処理装置１０に送信する。
【００２３】
出力手段１０３には、ＳＳＤ２０及びＮＡＳ３０から送信されてきた上記の各情報（データ、エラー情報及び要求ＩＤ）が供給される。出力手段１０３は、両記憶手段からデータが供給された場合には、そのうちの最初に供給された方を、最初に送られてきたデータとして要求元装置１００に出力する。より具体的には、出力手段１０３は、ＳＳＤ２０及びＮＡＳ３０からそれぞれ同じ要求ＩＤとともに送られてきたデータがあった場合に、そのうちの先に送られてきた方を、最初に送られてきたデータと判断する。通常は、ネットワーク４０を介さずにデータ処理装置１０との間でデータを通信するＳＳＤ２０から送信されてきたデータが、最初に供給される。要求元装置１００は、出力手段１０３から出力されてきたデータを受け取ることで、要求した一のデータを取得する。
【００２４】
また、出力手段１０３は、あとから送られてきたデータについては、要求元装置１００に出力しない。この場合、出力手段１０３は、例えば要求ＩＤを先に送られてきた要求ＩＤと比較するために、データ及び要求ＩＤを一旦ＲＡＭ１２に記憶させ、あとから送られてきたデータと判断した場合には、それらのデータ及び要求ＩＤをＲＡＭ１２から削除する。なお、出力手段１０３は、これらのデータ及び要求ＩＤを削除せずに放置しておいてもよい。
【００２５】
出力手段１０３は、ＳＳＤ２０からはエラー情報が送られてきて、ＮＡＳ３０からはデータが送られてきた場合には、ＮＡＳ３０からのデータを、最初に送られてきたデータとして要求元装置１００に出力し、ＳＳＤ２０からはデータが送られてきて、ＮＡＳ３０からはエラー情報が送られてきた場合には、ＳＳＤ２０からのデータを最初に送られてきたデータとして要求元装置１００に出力する。これらの場合には、出力手段１０３は、データだけを出力して、エラー情報を出力しない。出力手段１０３は、ＳＳＤ２０及びＮＡＳ３０の両方からエラー情報が送られてきた場合には、要求されたデータが取得されなかった旨を示すエラー情報を要求元装置１００に出力する。
【００２６】
出力手段１０３は、要求元装置１００に出力したデータのうち、ＮＡＳ３０から送られてきたデータを、記憶制御手段１０１にも出力する。このデータは、要求元装置１００の要求に基づいて第２記憶手段から読み出されたデータであるから、記憶制御手段１０１は、そのデータを、キャッシュ条件を満たすデータとして第１記憶手段に記憶させる（キャッシュさせる）。
【００２７】
［実施形態の動作］
次に、実施形態の動作の一例を、図３及び図４のシーケンス図を参照しながら説明する。
図３及び図４は、高速化処理における各装置の動作を示すシーケンス図である。図３の動作は、データ処理装置１０において、要求元装置１００がデータの要求を行うことを契機に開始される。まず、データ処理装置１０は、要求するデータ等を示す要求情報を生成する（ステップＳ１１）。ステップＳ１１は要求元装置１００により行われる動作である。次に、データ処理装置１０は、第１要求ＩＤを付加した要求情報をＳＳＤ２０に送信し（ステップＳ１２）、第２要求ＩＤを付加した要求情報をＮＡＳ３０に送信する（ステップＳ１３）。ステップＳ１２は要求手段１０２により行われる動作である。なお、ステップＳ１２及びＳ１３の動作は、順番が反対であってもよいし、同時に行われてもよい。
【００２８】
図３では、要求されたデータがＳＳＤ２０に記憶されている場合について説明する。ＳＳＤ２０は、ステップＳ１２において受信した要求情報が示すデータ、すなわち要求されたデータを読み出し（ステップＳ１４）、読み出したデータを第１要求ＩＤとともにデータ処理装置１０に送信する（ステップＳ１５）。データ処理装置１０は、ＳＳＤ２０から送信されてきた第１要求ＩＤと同じ内容の第２要求ＩＤがまだ送信されてきていないため、この第１要求ＩＤとともに送信されてきたデータを、第１及び第２記憶手段のいずれかから最初に送られてきたデータとして要求元装置１００に出力する（ステップＳ１６）。ＮＡＳ３０は、ステップＳ１３において受信した要求情報が示すデータ、すなわち要求されたデータを読み出し（ステップＳ１７）、読み出したデータを第２要求ＩＤとともにデータ処理装置１０に送信する（ステップＳ１８）。データ処理装置１０は、第２要求ＩＤと同じ内容の第１要求ＩＤがデータとともに既に送信されてきているため、ＮＡＳ３０から送信されてきたデータはあとから送られてきたデータであると判断して、そのデータを削除する（ステップＳ１９）。ステップＳ１６及びＳ１９は出力手段１０３により行われる動作である。
【００２９】
図４では、要求されたデータがＳＳＤ２０に記憶されていない場合について説明する。この場合、図３に示すステップＳ１１からＳ１３までの動作が行われる。次に、ＳＳＤ２０は、要求されたデータを記憶していないため、エラー情報を第１要求ＩＤとともにデータ処理装置１０に送信する（ステップＳ２１）。続いて、ＮＡＳ３０が、図３に示すステップＳ１７（要求されたデータの読み出し）及びＳ１８（読み出したデータの送信）の動作を行う。データ処理装置１０は、ＮＡＳ３０から送信されてきたデータを、第１及び第２記憶手段のいずれかから最初に送られてきたデータとして要求元装置１００に出力する（ステップＳ２２）。ステップＳ２２は出力手段１０３により行われる動作である。
【００３０】
図４の例では、ステップＳ２２で出力されたデータが、上述したキャッシュ条件を満たしているものとする。データ処理装置１０は、ステップＳ２２において要求元装置１００に出力したデータをＳＳＤ２０に送信し（ステップＳ２３）、ＳＳＤ２０は、受信したデータを記憶（キャッシュ）する（ステップＳ２４）。このようにして、データ処理装置１０は、キャッシュ条件を満たしたデータを第１記憶手段、すなわちＳＳＤ２０に記憶（キャッシュ）させる。ステップＳ２３は記憶制御手段１０１により行われる動作である。
【００３１】
キャッシュ用の記憶手段（すなわち第１記憶手段）を用いる場合に、要求されたデータが第１記憶手段に記憶されているか否かを例えば上述した索引情報を用いて判定するという構成では、第１及び第２記憶手段のいずれからデータが読み出されるにしても、その判定の結果が出たあとに、その結果に応じた記憶手段の方（つまりいずれか一方の記憶手段）にデータの要求が行われることになる。本実施形態では、このような判定を行わず、最初から第１及び第２記憶手段の両方にデータを要求することで、いずれの記憶手段からデータが取得される場合であっても、前述の判定に要する時間を費やすことがない。このような本実施形態によれば、第１及び第２記憶手段のいずれか一方にだけデータを要求する場合に比べて、キャッシュ用の記憶手段を用いる場合においてデータの取得に要する時間を短くすることができる。
【００３２】
［変形例］
上述の実施形態を以下のように変形してもよい。なお、上述した実施形態及び以下の変形例の各々を組み合わせてもよい。
【００３３】
［変形例１］
上記の実施形態では、第１記憶手段が、データ処理装置にとっての外部装置であったが、これに限らず、データ処理装置に内蔵されていてもよい。具体的には、第１記憶手段は、図１に示すバス１６に接続されていてもよいし、プロセッサ１１に備えられていてもよい。また、第１記憶手段は、ＳＳＤに限定されない。要するに、第１記憶手段は、キャッシュ用の記憶手段として用いられるのであれば、どのような記憶媒体を備えた記憶手段であってもよい。また、第１記憶手段は、複数設けられてもよい。この場合も、出力手段１０３は、要求手段１０２の要求に応答して第１及び第２記憶手段のいずれかから最初に送られてきたデータを要求元装置１００に出力する。つまり、複数の第１記憶手段からデータがそれぞれ送られてきた場合には、そのうちの最初に送られてきたデータが要求元装置１００に出力される。
【００３４】
［変形例２］
上記の実施形態では、第２記憶手段が、ネットワークを経由してデータ処理装置に接続されていたが、これに限らず、シリアルＡＴＡやＵＳＢなどの規格に準拠して接続された記憶手段であってもよいし、データ処理装置に内蔵されていてもよい。要するに、第２記憶手段は、要求元装置１００によって要求されるデータを記憶しているものであれば、どのような記憶手段であってもよい。また、第２記憶手段は、複数設けられてもよい。この場合も、第１記憶手段が複数設けられた場合と同様に、出力手段１０３が要求手段１０２の要求に応答して第１及び第２記憶手段のいずれかから最初に送られてきたデータを要求元装置１００に出力する。
【００３５】
［変形例３］
出力手段１０３は、上記の実施形態では、あとから送られてきたデータを要求元装置１００に出力しなかったが、この出力を行ってもよい。その場合、要求元装置１００が、あとから出力されてきたデータを削除したり放置したりすればよい。要するに、出力手段１０３は、要求手段１０２の要求に応答して第１及び第２記憶手段のいずれかから最初に送られてきたデータを要求元装置１００に出力するものであれば、あとから送られてきたデータを要求元装置１００に出力しないものに限定されない。
【００３６】
［変形例４］
上記の実施形態では、データ処理装置は索引情報を用いた判定を行うことがなかったが、状況によってはそのような判定を行うようにしてもよい。
図５は、本変形例におけるデータ処理装置の機能構成を示すブロック図である。図５では、要求元装置１００と、記憶制御手段１０１ａと、要求手段１０２ａと、出力手段１０３と、取得手段１０４とを備えるデータ処理装置１０ａが示されている。記憶制御手段１０１ａは、第１記憶手段に記憶させるデータの索引を示す索引情報を記憶させる。記憶制御手段１０１ａは、例えば、ＲＡＭ１２に索引情報を記憶させる。なお、記憶制御手段１０１ａは、他の記憶手段（例えば第１記憶手段）に索引情報を記憶させてもよい。
【００３７】
取得手段１０４は、第２記憶手段と他の装置とのデータ伝送の状態を示す情報（以下「伝送状態情報」という）を取得する手段の一例である。伝送状態情報とは、例えば、第２記憶手段の単位時間あたりのデータ伝送量や第２記憶手段によって単位時間あたりのデータの伝送処理数（トランザクション量）、第２記憶手段に要求されたデータが取得されるまでに要した時間（これを「応答時間」という）の平均などによって表される。本変形例では、ＮＡＳ３０ａが、データ伝送量及びトランザクション量を測定しており、取得手段１０４から要求されるとそれらの測定結果をデータ処理装置１０ａに送信する。取得手段１０４は、送信されてきたそれらの測定結果を伝送状態情報として取得し、要求手段１０２ａに供給する。なお、応答時間の平均が伝送状態情報として用いられる場合には、取得手段１０４は、例えば、要求手段１０２ａから要求情報を第２記憶手段に送信した時刻を受け取り、要求されたデータが第２記憶手段から送られてきた場合にそのデータを出力した時刻を出力手段１０３から受け取り、その間に経過した時間の平均（すなわち応答時間の平均）を算出して、伝送状態情報として取得する。
【００３８】
要求手段１０２ａは、取得手段１０４により取得された伝送状態情報が予め定められた条件を満たす場合は、第２記憶手段に対する一のデータの要求を行う前に、記憶制御手段１０１ａにより記憶された索引情報を参照して第１記憶手段にその一のデータが記憶されているか否かの判定を行う。予め定められた条件とは、例えば第２記憶手段によるデータの伝送が過度に行われていることを示す条件である。具体的には、伝送状態情報であるデータ伝送量、トランザクション量及び応答時間の平均が各々に対して定められた閾値を超えた場合に満たされる条件である。要求手段１０２ａは、例えばＲＡＭ１２にアクセスして索引情報を参照し、要求情報により要求される一のデータが索引情報に含まれているか否かを判定する。そして、要求手段１０２ａは、その一のデータが記憶されていないと判定した場合に限り、第２記憶手段に対する一のデータの要求を行う。つまり、要求手段１０２ａは、一のデータが記憶されていると判定した場合には、第１記憶手段に対してその一のデータの要求を行う。
【００３９】
第２記憶手段により行われるデータの伝送が増えるほど、第２記憶手段の処理の負荷やデータの伝送路における通信の負荷が大きくなり、データ処理装置はもちろん第２記憶手段を利用する他の装置にとっても、第２記憶手段からデータを取得するために要する時間（すなわち応答時間）が長くなりやすくなる。本変形例では、伝送状態情報が条件を満たした場合には、索引情報を用いた判定を行って、第１記憶手段に記憶されているデータを第２記憶手段には要求しないようにしている。これにより、伝送状態情報が条件を満たす状況でも第２記憶手段にデータを要求する場合に比べて、第２記憶手段の応答時間が長くなることを抑制することができる。また、本変形例でも、伝送状態情報が条件を満たさない場合には、判定が行われないから、実施形態と同様に、第１及び第２記憶手段のいずれか一方にだけデータを要求する場合に比べて、キャッシュ用の記憶手段を用いる場合においてデータの取得に要する時間を短くすることができる。
なお、上記の例では、条件が満たされた場合に判定を行うこととしたが、例えばユーザの操作により判定を行う動作と行わない動作とを切り替えるようにしてもよい。
【００４０】
［変形例５］
本発明は、データ処理装置及びこれを備えるデータ処理システムの他にも、データ処理装置が実施する処理を実現するためのデータ処理方法としても捉えられるものである。ここでいう処理とは、例えば、図３及び図４等に示す高速化処理である。また、本発明は、データ処理装置のようなコンピュータを、図２等に示す手段として機能させるためのプログラムとしても捉えられるものである。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
【符号の説明】
【００４１】
１…データ処理システム、１０…データ処理装置、２０…ＳＳＤ（第１記憶手段）、３０…ＮＡＳ（第２記憶手段）、４０…ネットワーク、１１…プロセッサ、１２…ＲＡＭ、１３…ＲＯＭ、１４…入出力Ｉ／Ｆ、１５…通信Ｉ／Ｆ、１００…要求元装置、１０１…記憶制御手段、１０２…要求手段、１０３…出力手段、１０４…取得手段
【図１】
2015026260.tif 000003
【図２】
2015026260.tif 000004
【図３】
2015026260.tif 000005
【図４】
2015026260.tif 000006
【図５】
2015026260.tif 000007