JPH09265429A - データ配信装置、記憶装置とその制御方法およびデータ転送システム - Google Patents
データ配信装置、記憶装置とその制御方法およびデータ転送システムInfo
- Publication number
- JPH09265429A JPH09265429A JP8348030A JP34803096A JPH09265429A JP H09265429 A JPH09265429 A JP H09265429A JP 8348030 A JP8348030 A JP 8348030A JP 34803096 A JP34803096 A JP 34803096A JP H09265429 A JPH09265429 A JP H09265429A
- Authority
- JP
- Japan
- Prior art keywords
- file
- block
- read
- data
- read request
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0677—Optical disk device, e.g. CD-ROM, DVD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
(57)【要約】
【課題】 同一ファイルに対して複数クライアントから
読み出し要求があった場合に、要求されたデータを効率
的に取り出して転送処理する。 【解決手段】 読み出し要求回数計数手段1001は、
要求元からのファイルの読み出し要求回数を各ファイル
毎に計数し、読み出し要求回数判定手段1002は、読
み出し要求回数が所定値に達したファイルがあるかどう
かを判定する。そして、ファイル送出指示手段1003
は、読み出し要求回数が所定値に達したファイルがある
場合、読み出し要求の回数が所定値に達したファイルを
要求元へ送出する指示を行う。
読み出し要求があった場合に、要求されたデータを効率
的に取り出して転送処理する。 【解決手段】 読み出し要求回数計数手段1001は、
要求元からのファイルの読み出し要求回数を各ファイル
毎に計数し、読み出し要求回数判定手段1002は、読
み出し要求回数が所定値に達したファイルがあるかどう
かを判定する。そして、ファイル送出指示手段1003
は、読み出し要求回数が所定値に達したファイルがある
場合、読み出し要求の回数が所定値に達したファイルを
要求元へ送出する指示を行う。
Description
【0001】
【発明の属する技術分野】本発明は、データ配信装置、
記憶装置とその制御方法およびデータ転送システムに関
し、特に、映画のような画像、音声、音楽等の大量の連
続的なデータを取り扱うシステムに適用して好適なもの
である。
記憶装置とその制御方法およびデータ転送システムに関
し、特に、映画のような画像、音声、音楽等の大量の連
続的なデータを取り扱うシステムに適用して好適なもの
である。
【0002】
【従来の技術】画像、音声、音楽等の大量の連続的なマ
ルチメディアデータを記憶装置に記憶させておき、複数
のユーザがその内容を取り出して利用するシステムが注
目されている。
ルチメディアデータを記憶装置に記憶させておき、複数
のユーザがその内容を取り出して利用するシステムが注
目されている。
【0003】このシステムには次のような特徴がある。 記憶装置の同じファイルに対して同時期に多数の読
み出し要求がされる。 記憶装置のデータの書込み要求はほとんどなく、デ
ータの読み出し要求の割合が多い。 一回の読み出し要求により記憶装置から読み出され
るデータ量は大量でかつ連続的である。
み出し要求がされる。 記憶装置のデータの書込み要求はほとんどなく、デ
ータの読み出し要求の割合が多い。 一回の読み出し要求により記憶装置から読み出され
るデータ量は大量でかつ連続的である。
【0004】そのため、このようなシステムは、複数ユ
ーザから同一ファイルに対してほぼ同時期になされる読
み出し要求に対して迅速に対応できるようにする必要が
ある。
ーザから同一ファイルに対してほぼ同時期になされる読
み出し要求に対して迅速に対応できるようにする必要が
ある。
【0005】図23は、従来の記憶装置およびデータ転
送システムの構成を示す。図23において、121、1
22、123はそれぞれ、クライアント1、クライアン
ト2、クライアントNである。
送システムの構成を示す。図23において、121、1
22、123はそれぞれ、クライアント1、クライアン
ト2、クライアントNである。
【0006】124はサーバであって、記憶装置130
に対して、クライアント121、122、123の要求
に応じてデータの読み出し、書き込みを行うものであ
る。130は記憶装置であって、画像、音声、音楽等の
大量の連続的なマルチメディアデータを保持するもので
ある。
に対して、クライアント121、122、123の要求
に応じてデータの読み出し、書き込みを行うものであ
る。130は記憶装置であって、画像、音声、音楽等の
大量の連続的なマルチメディアデータを保持するもので
ある。
【0007】131はサーバインタフェース装置であっ
て、記憶装置130とサーバ124との間のインタフェ
ース装置である。132は記憶デバイスインタフェース
装置であって、記憶装置130と記憶デバイス136と
の間のインタフェースをとるものである。
て、記憶装置130とサーバ124との間のインタフェ
ース装置である。132は記憶デバイスインタフェース
装置であって、記憶装置130と記憶デバイス136と
の間のインタフェースをとるものである。
【0008】133は記憶制御装置であって、記憶デバ
イス136に対する読み出し制御、書き込み制御を行う
ものである。134は制御装置であって、記憶制御装置
133における読み出し、書き込みの制御を行うもので
ある。
イス136に対する読み出し制御、書き込み制御を行う
ものである。134は制御装置であって、記憶制御装置
133における読み出し、書き込みの制御を行うもので
ある。
【0009】135は制御記憶であって、記憶デバイス
136の書き込み、読み出しを行うためのプログラムを
保持するものである。136は記憶デバイスであって、
ファイル毎にデータを記憶するものである。例えば、フ
ァイルAには映画Aが記憶され、ファイルBには映画B
が記憶されている。
136の書き込み、読み出しを行うためのプログラムを
保持するものである。136は記憶デバイスであって、
ファイル毎にデータを記憶するものである。例えば、フ
ァイルAには映画Aが記憶され、ファイルBには映画B
が記憶されている。
【0010】次に、図23の構成の動作を説明する。ク
ライアント121、122、123から読み出し要求が
あると、サーバ124は要求されたファイルの読み出し
を記憶装置130に通知する。その通知はサーバインタ
フェース装置131を介して制御装置134に伝えら
れ、制御装置134は制御記憶135の読み出し制御プ
ログラムに従って、記憶デバイスインタフェース装置1
32に指定されたデータの読み出しを指示する。
ライアント121、122、123から読み出し要求が
あると、サーバ124は要求されたファイルの読み出し
を記憶装置130に通知する。その通知はサーバインタ
フェース装置131を介して制御装置134に伝えら
れ、制御装置134は制御記憶135の読み出し制御プ
ログラムに従って、記憶デバイスインタフェース装置1
32に指定されたデータの読み出しを指示する。
【0011】記憶デバイスインタフェース装置132は
記憶デバイス136から指定されたファイルのデータを
取り出し、サーバインタフェース装置131に転送す
る。サーバインタフェース装置131は記憶デバイスイ
ンタフェース装置132から送られてくるデータを受け
取り、サーバ124に転送する。サーバ124は受け取
ったデータを要求元のクライアント121、122、1
23に転送する。
記憶デバイス136から指定されたファイルのデータを
取り出し、サーバインタフェース装置131に転送す
る。サーバインタフェース装置131は記憶デバイスイ
ンタフェース装置132から送られてくるデータを受け
取り、サーバ124に転送する。サーバ124は受け取
ったデータを要求元のクライアント121、122、1
23に転送する。
【0012】記憶デバイス136が書き込みもしくは読
み出しの動作中で読み出しをできない場合には、記憶デ
バイスインタフェース装置132は制御装置134に記
憶デバイス136使用中を通知する。制御装置134は
記憶デバイス136使用中をサーバインタフェース装置
131に通知する。その通知はサーバインタフェース装
置131からサーバ124に通知され、サーバ124は
読み出し要求をしたクライアント121、122、12
3に対して読み出し待機を通知する。
み出しの動作中で読み出しをできない場合には、記憶デ
バイスインタフェース装置132は制御装置134に記
憶デバイス136使用中を通知する。制御装置134は
記憶デバイス136使用中をサーバインタフェース装置
131に通知する。その通知はサーバインタフェース装
置131からサーバ124に通知され、サーバ124は
読み出し要求をしたクライアント121、122、12
3に対して読み出し待機を通知する。
【0013】次に、クライアント121、122、12
3から記憶デバイス136に書き込みを行う場合につい
て説明する。クライアント121、122、123は、
サーバ124に書き込み要求する。サーバ124は、サ
ーバインタフェース装置131に対して書き込み要求を
する。サーバ124の書き込み要求はサーバインタフェ
ース装置131から制御装置134に通知され、制御装
置134は制御記憶135の書き込み制御プログラムに
従って記憶デバイスインタフェース装置132にアクセ
スし、書き込みの可能性を問い合わせる。
3から記憶デバイス136に書き込みを行う場合につい
て説明する。クライアント121、122、123は、
サーバ124に書き込み要求する。サーバ124は、サ
ーバインタフェース装置131に対して書き込み要求を
する。サーバ124の書き込み要求はサーバインタフェ
ース装置131から制御装置134に通知され、制御装
置134は制御記憶135の書き込み制御プログラムに
従って記憶デバイスインタフェース装置132にアクセ
スし、書き込みの可能性を問い合わせる。
【0014】記憶デバイスインタフェース装置132は
記憶デバイス136が書き込み可能な状態であれば、制
御装置134に書き込み可能を通知し、書き込み可能の
通知はサーバインタフェース装置131を介してサーバ
124に通知される。サーバ124は、書き込み要求を
したクライアント121、122、123に書き込み可
能を通知する。
記憶デバイス136が書き込み可能な状態であれば、制
御装置134に書き込み可能を通知し、書き込み可能の
通知はサーバインタフェース装置131を介してサーバ
124に通知される。サーバ124は、書き込み要求を
したクライアント121、122、123に書き込み可
能を通知する。
【0015】書き込み要求をするクライアント121、
122、123は、書き込みデータをサーバ124に転
送する。サーバ124は、クライアント121、12
2、123から受け取った書き込みデータをサーバイン
タフェース装置131に転送する。その書き込みデータ
は記憶デバイスインタフェース装置132に転送され、
記憶デバイス136に書き込まれる。
122、123は、書き込みデータをサーバ124に転
送する。サーバ124は、クライアント121、12
2、123から受け取った書き込みデータをサーバイン
タフェース装置131に転送する。その書き込みデータ
は記憶デバイスインタフェース装置132に転送され、
記憶デバイス136に書き込まれる。
【0016】また、記憶デバイス136が使用中で書き
込みできない時は、記憶デバイスインタフェース装置1
32は記憶デバイス136使用中を制御装置134に通
知し、制御装置134は記憶デバイス136使用中をサ
ーバインタフェース装置131に通知する。サーバイン
タフェース装置131はサーバ124に記憶デバイス1
36使用中を通知し、サーバ124は記憶デバイス13
6使用中をクライアント121、122、123に通知
する。
込みできない時は、記憶デバイスインタフェース装置1
32は記憶デバイス136使用中を制御装置134に通
知し、制御装置134は記憶デバイス136使用中をサ
ーバインタフェース装置131に通知する。サーバイン
タフェース装置131はサーバ124に記憶デバイス1
36使用中を通知し、サーバ124は記憶デバイス13
6使用中をクライアント121、122、123に通知
する。
【0017】
【発明が解決しようとする課題】しかしながら、従来の
データ転送システムは、複数のクライアント(クライア
ント1(121)、クライアント2(122)、クライ
アントN(123))からほぼ同時期に同じファイルに
対して読み出し要求があった場合にも、それぞれのクラ
イアント121、122、123の要求毎に記憶デバイ
ス136から要求されたファイルのデータを取り出し、
要求を受け付けた順番に要求元の各クライアント12
1、122、123に転送していた。
データ転送システムは、複数のクライアント(クライア
ント1(121)、クライアント2(122)、クライ
アントN(123))からほぼ同時期に同じファイルに
対して読み出し要求があった場合にも、それぞれのクラ
イアント121、122、123の要求毎に記憶デバイ
ス136から要求されたファイルのデータを取り出し、
要求を受け付けた順番に要求元の各クライアント12
1、122、123に転送していた。
【0018】例えば、クライアント1(121)、クラ
イアント2(122)、クライアントN(123)か
ら、この順番にほぼ同時にファイルAの読み出し要求が
あったとする。サーバ124は、ファイルAの読み出し
要求をサーバインタフェース装置131に対して行う。
そして、上記の読み出し制御に従って、ファイルAのデ
ータが記憶装置130の記憶デバイス136から取り出
され、サーバ124に転送される。サーバ124はその
ファイルAのデータを最初の要求元のクライアント(ク
ライアント1(121))に転送する。
イアント2(122)、クライアントN(123)か
ら、この順番にほぼ同時にファイルAの読み出し要求が
あったとする。サーバ124は、ファイルAの読み出し
要求をサーバインタフェース装置131に対して行う。
そして、上記の読み出し制御に従って、ファイルAのデ
ータが記憶装置130の記憶デバイス136から取り出
され、サーバ124に転送される。サーバ124はその
ファイルAのデータを最初の要求元のクライアント(ク
ライアント1(121))に転送する。
【0019】その転送が終了すると、同様に、サーバ1
24はサーバインタフェース装置131に再度、ファイ
ルAの読み出し要求をする。上記の読み出し制御に従っ
て、ファイルAのデータが記憶装置130の記憶デバイ
ス136から取り出され、サーバ124に転送される。
サーバ124は、そのデータを次のクライアント2(1
22)に転送する。
24はサーバインタフェース装置131に再度、ファイ
ルAの読み出し要求をする。上記の読み出し制御に従っ
て、ファイルAのデータが記憶装置130の記憶デバイ
ス136から取り出され、サーバ124に転送される。
サーバ124は、そのデータを次のクライアント2(1
22)に転送する。
【0020】クライアント2(122)への転送が終了
すると、サーバ124はサーバインタフェース装置13
1に、再度、ファイルAの読み出し要求をする。上記の
読み出し制御方法に従って、ファイルAのデータが記憶
装置130の記憶デバイス136から取り出され、サー
バ124に転送される。サーバ124は、そのデータを
3番目に要求したクライアントN(123)に転送す
る。
すると、サーバ124はサーバインタフェース装置13
1に、再度、ファイルAの読み出し要求をする。上記の
読み出し制御方法に従って、ファイルAのデータが記憶
装置130の記憶デバイス136から取り出され、サー
バ124に転送される。サーバ124は、そのデータを
3番目に要求したクライアントN(123)に転送す
る。
【0021】このように、従来のデータ転送システム
は、複数のクライアント121、122、123から同
じファイルに対してほぼ同時期に読み出し要求があって
も、同じファイルの読み出しを記憶デバイス136から
繰り返して行ってサーバ124に転送し、サーバ124
はファイルのデータが読み出される度にクライアント1
21、122、123に逐次転送していたため能率の悪
いものであった。
は、複数のクライアント121、122、123から同
じファイルに対してほぼ同時期に読み出し要求があって
も、同じファイルの読み出しを記憶デバイス136から
繰り返して行ってサーバ124に転送し、サーバ124
はファイルのデータが読み出される度にクライアント1
21、122、123に逐次転送していたため能率の悪
いものであった。
【0022】特に、そのファイルの内容が映画のように
映像、音声、音楽等で構成される連続的な大量のマルチ
メディアデータの場合には、記憶デバイス136からの
読み出しに長時間を必要とし、クライアント121、1
22、123に対する待ち時間の要求が長くなり、クラ
イアント121、122、123の要求に即座に応える
ことができない場合があった。
映像、音声、音楽等で構成される連続的な大量のマルチ
メディアデータの場合には、記憶デバイス136からの
読み出しに長時間を必要とし、クライアント121、1
22、123に対する待ち時間の要求が長くなり、クラ
イアント121、122、123の要求に即座に応える
ことができない場合があった。
【0023】そこで、本発明の目的は、同一ファイルに
対して複数クライアントから読み出し要求があった場合
に、要求されたデータを効率的に取り出して転送処理す
るデータ配信装置、記憶装置とその制御方法およびデー
タ転送システムを提供することである。
対して複数クライアントから読み出し要求があった場合
に、要求されたデータを効率的に取り出して転送処理す
るデータ配信装置、記憶装置とその制御方法およびデー
タ転送システムを提供することである。
【0024】
【課題を解決するための手段】上述した課題を解決する
ために、本発明によれば、要求元からのファイルの読み
出し要求回数を各ファイル毎に計数する読み出し要求回
数計数手段と、前記読み出し要求回数が所定値に達した
ファイルがあるかどうかを判定する読み出し要求回数判
定手段と、前記読み出し要求の回数が所定値に達したフ
ァイルの前記要求元への送出を指示するファイル送出指
示手段とを備えている。
ために、本発明によれば、要求元からのファイルの読み
出し要求回数を各ファイル毎に計数する読み出し要求回
数計数手段と、前記読み出し要求回数が所定値に達した
ファイルがあるかどうかを判定する読み出し要求回数判
定手段と、前記読み出し要求の回数が所定値に達したフ
ァイルの前記要求元への送出を指示するファイル送出指
示手段とを備えている。
【0025】このことにより、読み出し要求の多いファ
イルについては、読み出し要求があった時から短時間の
うちに、複数の要求元に対して一度にファイルの送出が
可能となる。このため、読み出し要求の多い同一のファ
イルを短時間のうちに何度も繰り返して読み出す必要が
なくなり、要求されたファイルが到着するまでの待ち時
間を抑制しながら、送出側の装置に対する負荷を軽減さ
せることができる。
イルについては、読み出し要求があった時から短時間の
うちに、複数の要求元に対して一度にファイルの送出が
可能となる。このため、読み出し要求の多い同一のファ
イルを短時間のうちに何度も繰り返して読み出す必要が
なくなり、要求されたファイルが到着するまでの待ち時
間を抑制しながら、送出側の装置に対する負荷を軽減さ
せることができる。
【0026】また、本発明の一態様によれば、ファイル
を格納している第1の記憶手段と、前記第1の記憶手段
よりも読み出し速度の大きな第2の記憶手段と、読み出
し要求頻度が大きなファイルを優先して前記第2の記憶
手段に格納する記憶制御手段とをさらに備えている。
を格納している第1の記憶手段と、前記第1の記憶手段
よりも読み出し速度の大きな第2の記憶手段と、読み出
し要求頻度が大きなファイルを優先して前記第2の記憶
手段に格納する記憶制御手段とをさらに備えている。
【0027】このことにより、読み出し頻度の多いファ
イルについては、第2の記憶手段から高速に読み出して
送出することができる。このため、ファイルの読み出し
のために第1の記憶手段が専有される時間が減り、第1
の記憶手段へのアクセス不能となる時間を短縮すること
ができるので、要求元の待ち時間を少なくすることがで
きる。
イルについては、第2の記憶手段から高速に読み出して
送出することができる。このため、ファイルの読み出し
のために第1の記憶手段が専有される時間が減り、第1
の記憶手段へのアクセス不能となる時間を短縮すること
ができるので、要求元の待ち時間を少なくすることがで
きる。
【0028】また、本発明の一態様によれば、ファイル
単位に大量の連続データを保持する記憶部と、記憶部に
保持されるデータの入出力制御を行う記憶制御部とを備
えた記憶装置において、記憶制御部は、記憶部のデータ
の読み出し制御をする読み出し制御部と、記憶部に保持
されている同一ファイルのデータに対する読み出し要求
を判定する読み出し要求判定部と、読み出し要求のある
毎にファイルの読み出し要求回数をカウントし、あるい
は一定時間経過毎に各ファイルの該カウント値を更新す
る読み出し要求回数カウント部と、任意のファイルに対
する読み出し要求の回数のカウント値が予め定めた一定
値に達した時に制御部に対して該当するファイルの読み
出しを指示する読み出し開始決定部とを備え、任意のフ
ァイルに対する読み出し要求の回数が予め定めた一定回
数に達した時もしくは最初の読み出し要求から予め定め
た一定時間経過後に該ファイルの読み出しを行うように
している。
単位に大量の連続データを保持する記憶部と、記憶部に
保持されるデータの入出力制御を行う記憶制御部とを備
えた記憶装置において、記憶制御部は、記憶部のデータ
の読み出し制御をする読み出し制御部と、記憶部に保持
されている同一ファイルのデータに対する読み出し要求
を判定する読み出し要求判定部と、読み出し要求のある
毎にファイルの読み出し要求回数をカウントし、あるい
は一定時間経過毎に各ファイルの該カウント値を更新す
る読み出し要求回数カウント部と、任意のファイルに対
する読み出し要求の回数のカウント値が予め定めた一定
値に達した時に制御部に対して該当するファイルの読み
出しを指示する読み出し開始決定部とを備え、任意のフ
ァイルに対する読み出し要求の回数が予め定めた一定回
数に達した時もしくは最初の読み出し要求から予め定め
た一定時間経過後に該ファイルの読み出しを行うように
している。
【0029】このことにより、読み出し要求の多いファ
イルについては、読み出し要求があった時から短時間の
うちに、複数の要求元に対して一度にファイルの送出が
可能となる。また、読み出し要求の少ないファイルにつ
いては、予め定めた一定時間経過後に、複数の要求元に
対して一度にファイルの送出が可能となる。このため、
読み出し要求の多少にかかわらず同一のファイルを短時
間のうちに何度も繰り返して読み出す必要がなくなり、
要求されたファイルが到着するまでの待ち時間を抑制し
ながら、送出側の装置に対する負荷を軽減させることが
できる。
イルについては、読み出し要求があった時から短時間の
うちに、複数の要求元に対して一度にファイルの送出が
可能となる。また、読み出し要求の少ないファイルにつ
いては、予め定めた一定時間経過後に、複数の要求元に
対して一度にファイルの送出が可能となる。このため、
読み出し要求の多少にかかわらず同一のファイルを短時
間のうちに何度も繰り返して読み出す必要がなくなり、
要求されたファイルが到着するまでの待ち時間を抑制し
ながら、送出側の装置に対する負荷を軽減させることが
できる。
【0030】また、本発明の一態様によれば、記憶装置
は、読み出し要求受け付けテーブルの内容を記サーバか
ら読み出す要求元情報読み出し部と、読み出し要求受け
付けテーブルの内容に基づいて、ファイルの連続データ
を要求元に転送するデータ転送部とを備えている。
は、読み出し要求受け付けテーブルの内容を記サーバか
ら読み出す要求元情報読み出し部と、読み出し要求受け
付けテーブルの内容に基づいて、ファイルの連続データ
を要求元に転送するデータ転送部とを備えている。
【0031】このことにより、要求されたファイルの連
続データを記憶装置から要求元に直接転送することがで
きるので、要求されたファイルの連続データが要求元に
到達する時間を短縮することができるとともに、サーバ
の負荷を軽減することができる。
続データを記憶装置から要求元に直接転送することがで
きるので、要求されたファイルの連続データが要求元に
到達する時間を短縮することができるとともに、サーバ
の負荷を軽減することができる。
【0032】また、本発明の一態様によれば、キャッシ
ュメモリの記憶領域を管理するキャッシュ管理テーブル
は、キャッシュメモリに格納するファイルの優先度を管
理するファイル管理テーブルと、ファイル毎にブロック
の格納の優先度を管理するブロック管理テーブルとを備
えている。
ュメモリの記憶領域を管理するキャッシュ管理テーブル
は、キャッシュメモリに格納するファイルの優先度を管
理するファイル管理テーブルと、ファイル毎にブロック
の格納の優先度を管理するブロック管理テーブルとを備
えている。
【0033】このことにより、データをキャッシュメモ
リに格納したり、データをキャッシュメモリから削除し
たりすることをファイル単位で行うことができ、キャッ
シュメモリに格納されているデータがファイルの途中で
途切れてしまうことを防止できるので、読み出し要求さ
れたファイルのキャッシュメモリからの読み出しを円滑
に進めることができる。
リに格納したり、データをキャッシュメモリから削除し
たりすることをファイル単位で行うことができ、キャッ
シュメモリに格納されているデータがファイルの途中で
途切れてしまうことを防止できるので、読み出し要求さ
れたファイルのキャッシュメモリからの読み出しを円滑
に進めることができる。
【0034】
【発明の実施の形態】以下、本発明の実施例によるデー
タ配信装置について図面を参照しながら説明する。
タ配信装置について図面を参照しながら説明する。
【0035】図1は、本発明の一実施例によるデータ配
信装置の構成を示すブロック図である。図1において、
読み出し要求回数計数手段1001は、要求元からのフ
ァイルの読み出し要求回数を各ファイル毎に計数し、読
み出し要求回数判定手段1002は、読み出し要求回数
が所定値に達したファイルがあるかどうかを判定する。
そして、ファイル送出指示手段1003は、読み出し要
求回数が所定値に達したファイルがある場合、読み出し
要求の回数が所定値に達したファイルを要求元へ送出す
る指示を行う。
信装置の構成を示すブロック図である。図1において、
読み出し要求回数計数手段1001は、要求元からのフ
ァイルの読み出し要求回数を各ファイル毎に計数し、読
み出し要求回数判定手段1002は、読み出し要求回数
が所定値に達したファイルがあるかどうかを判定する。
そして、ファイル送出指示手段1003は、読み出し要
求回数が所定値に達したファイルがある場合、読み出し
要求の回数が所定値に達したファイルを要求元へ送出す
る指示を行う。
【0036】このため、読み出し要求の多いファイルに
ついては、読み出し要求回数計数手段1001により計
数される読み出し要求回数が短時間のうちに所定値に達
するので、ファイル送出指示手段1003によりそのフ
ァイルの要求元への送出の指示が迅速に行われ、読み出
し要求があった時から短時間のうちに、複数の要求元に
対して一度にファイルの送出を可能とすることができ
る。
ついては、読み出し要求回数計数手段1001により計
数される読み出し要求回数が短時間のうちに所定値に達
するので、ファイル送出指示手段1003によりそのフ
ァイルの要求元への送出の指示が迅速に行われ、読み出
し要求があった時から短時間のうちに、複数の要求元に
対して一度にファイルの送出を可能とすることができ
る。
【0037】また、複数の要求元に対して一度のファイ
ルの読み出しによりファイルの送出が可能となるので、
読み出し要求の多い同一のファイルを短時間のうちに何
度も繰り返して読み出す必要がなくなり、送出側の装置
に対する負荷を軽減させることができる。
ルの読み出しによりファイルの送出が可能となるので、
読み出し要求の多い同一のファイルを短時間のうちに何
度も繰り返して読み出す必要がなくなり、送出側の装置
に対する負荷を軽減させることができる。
【0038】次に、本発明の実施例による記憶装置につ
いて図面を参照しながら説明する。図2は、本発明の第
1実施例による記憶装置の構成を示すブロック図であ
る。図2において、1は記憶装置であって、データを記
憶する記憶部2と、記憶部2に対して読み出し書き込み
の制御をする記憶制御部3とにより構成されるものであ
る。
いて図面を参照しながら説明する。図2は、本発明の第
1実施例による記憶装置の構成を示すブロック図であ
る。図2において、1は記憶装置であって、データを記
憶する記憶部2と、記憶部2に対して読み出し書き込み
の制御をする記憶制御部3とにより構成されるものであ
る。
【0039】2は記憶部であって、ファイル単位にビデ
オ番組などの大量の連続データを記憶するものである。
3は記憶制御部であって、記憶部2に対する読み出し書
き込み制御を行うものである。
オ番組などの大量の連続データを記憶するものである。
3は記憶制御部であって、記憶部2に対する読み出し書
き込み制御を行うものである。
【0040】11はデータ入出力部であって、読み出し
要求や書き込み要求の入出力、データの入出力等を行う
ものである。12は、読み出し要求判定部であって、読
み出し要求を判定するものである。
要求や書き込み要求の入出力、データの入出力等を行う
ものである。12は、読み出し要求判定部であって、読
み出し要求を判定するものである。
【0041】13は読み出し要求回数カウント部であっ
て、記憶部2の同一ファイルに対する読み出し要求回数
をファイル毎にカウントするものである。あるいは読み
出し要求がなくても一定時間経過毎にそのカウント値を
更新するものである。
て、記憶部2の同一ファイルに対する読み出し要求回数
をファイル毎にカウントするものである。あるいは読み
出し要求がなくても一定時間経過毎にそのカウント値を
更新するものである。
【0042】13′は読み出し要求回数保持部であっ
て、ファイル毎に読み出し要求回数のカウント値を保持
するものである。14は、読み出し開始決定部であっ
て、読み出し要求回数保持部13′に記録されているカ
ウント値が一定値になったかどうかを判定し、カウント
値が一定値になったファイルの読み出し開始を決定する
ものである。
て、ファイル毎に読み出し要求回数のカウント値を保持
するものである。14は、読み出し開始決定部であっ
て、読み出し要求回数保持部13′に記録されているカ
ウント値が一定値になったかどうかを判定し、カウント
値が一定値になったファイルの読み出し開始を決定する
ものである。
【0043】16は読み出し制御部であって、記憶部2
からデータを読み出す制御を行うものである。なお、図
2の記憶制御部3は、データの読み出しに必要な構成の
み示し、書き込みに必要な構成は図示を省略している。
からデータを読み出す制御を行うものである。なお、図
2の記憶制御部3は、データの読み出しに必要な構成の
み示し、書き込みに必要な構成は図示を省略している。
【0044】次に、図2の記憶装置の動作を説明する。
なお、ここでは、データの読み出し要求についてのみ動
作を説明する。データ要求元から記憶装置1に対してな
される要求が、データ入出力部11で受け付けられる。
読み出し要求判定部12は、データ入出力部11で受け
付けられた要求からデータの読み出し要求を判定する。
読み出し要求回数カウント部13は、読み出した要求回
数を要求されたファイル毎にカウントし、読み出し要求
回数保持部13′にカウント値を記録する。あるいは、
読み出し要求がなくても一定時間経過毎に全てのファイ
ルのそのカウント値を更新する。読み出し開始決定部1
4は、読み出し要求回数カウント部13でカウントされ
たカウント値が予め定めた一定値に達したか否かを判定
する。そして、一定値に達したら、該当するファイルの
読み出しを決定し、読み出し制御部16に該当するファ
イルのデータの読み出しを指示する。
なお、ここでは、データの読み出し要求についてのみ動
作を説明する。データ要求元から記憶装置1に対してな
される要求が、データ入出力部11で受け付けられる。
読み出し要求判定部12は、データ入出力部11で受け
付けられた要求からデータの読み出し要求を判定する。
読み出し要求回数カウント部13は、読み出した要求回
数を要求されたファイル毎にカウントし、読み出し要求
回数保持部13′にカウント値を記録する。あるいは、
読み出し要求がなくても一定時間経過毎に全てのファイ
ルのそのカウント値を更新する。読み出し開始決定部1
4は、読み出し要求回数カウント部13でカウントされ
たカウント値が予め定めた一定値に達したか否かを判定
する。そして、一定値に達したら、該当するファイルの
読み出しを決定し、読み出し制御部16に該当するファ
イルのデータの読み出しを指示する。
【0045】読み出し制御部16は指示されたファイル
のデータを記憶部2から読み出し、データ入出力部11
に転送する。データ入出力部11は、記憶部2から読み
出したデータの要求先のクライアントに転送する。な
お、記憶部2から読み出したデータが複数のクライアン
トから要求されているものであれば、そのデータをそれ
ぞれのクライアントに転送する。
のデータを記憶部2から読み出し、データ入出力部11
に転送する。データ入出力部11は、記憶部2から読み
出したデータの要求先のクライアントに転送する。な
お、記憶部2から読み出したデータが複数のクライアン
トから要求されているものであれば、そのデータをそれ
ぞれのクライアントに転送する。
【0046】以上説明したように、本発明の第1実施例
による記憶装置によれば、ほぼ同時期になされた同一フ
ァイルのデータの読み出しを一回で行って、そのデータ
を各要求先へ転送するので、記憶部2から読み出すデー
タの読み出し回数を減らすことができ、データの読み出
しの効率を大幅に向上させることができる。
による記憶装置によれば、ほぼ同時期になされた同一フ
ァイルのデータの読み出しを一回で行って、そのデータ
を各要求先へ転送するので、記憶部2から読み出すデー
タの読み出し回数を減らすことができ、データの読み出
しの効率を大幅に向上させることができる。
【0047】図3は、本発明の第2実施例による記憶装
置の構成を示すブロック図であり、、図3の実施例は、
キャッシュメモリ5の制御方法に関するものである。図
3に示すように、キャッシュメモリ5を設けてデータ転
送を行う場合、記憶部3の物理的または論理的なブロッ
クをキャッシュメモリ5上の入れ替え単位とすることが
可能である。新たなブロックをキャッシュメモリ5に格
納する場合、キャッシュメモリ5上に空きがあればそこ
へ記憶する。キャッシュメモリ5上に空きがなければ適
当なブロックを追い出して空きを作って新たなブロック
を格納する。
置の構成を示すブロック図であり、、図3の実施例は、
キャッシュメモリ5の制御方法に関するものである。図
3に示すように、キャッシュメモリ5を設けてデータ転
送を行う場合、記憶部3の物理的または論理的なブロッ
クをキャッシュメモリ5上の入れ替え単位とすることが
可能である。新たなブロックをキャッシュメモリ5に格
納する場合、キャッシュメモリ5上に空きがあればそこ
へ記憶する。キャッシュメモリ5上に空きがなければ適
当なブロックを追い出して空きを作って新たなブロック
を格納する。
【0048】しかし、ファイルの連続的なデータのブロ
ックのキャッシュメモリ5上の管理を単純にブロック単
位で行うと、先頭ブロック(古いブロック)から追い出
し(削除)が行われる。ファイルの読み出し要求が追い
出しが始まった後で発生すると、追い出したブロックが
読み出し要求をしたファイルのブロックであることがあ
り、そのような場合にはヒット転送は行えなくなり、デ
ータ供給能力が低下する。
ックのキャッシュメモリ5上の管理を単純にブロック単
位で行うと、先頭ブロック(古いブロック)から追い出
し(削除)が行われる。ファイルの読み出し要求が追い
出しが始まった後で発生すると、追い出したブロックが
読み出し要求をしたファイルのブロックであることがあ
り、そのような場合にはヒット転送は行えなくなり、デ
ータ供給能力が低下する。
【0049】これを防ぐために、図3の第2実施例では
キャッシュ管理テーブル22を備えるようにし、キャッ
シュメモリ5上の空き領域の管理をファイル単位とブロ
ック単位で併用して行うようにしている。
キャッシュ管理テーブル22を備えるようにし、キャッ
シュメモリ5上の空き領域の管理をファイル単位とブロ
ック単位で併用して行うようにしている。
【0050】本発明の第2実施例が対象とするデータ
は、記憶装置1へのアクセス要求のうちデータ読み出し
の割合が多く、かつ大量で連続的であるという特徴があ
ることから、このように記憶装置1にキャッシュメモリ
5を設けることが有効である。また、単にキャッシュメ
モリ5を設けただけの場合に比べて、キャッシュメモリ
5上の空き領域の管理をファイル単位とブロック単位で
併用して行う制御をすることにより、キャッシュメモリ
5のデータ転送能力を一層向上させることができる。
は、記憶装置1へのアクセス要求のうちデータ読み出し
の割合が多く、かつ大量で連続的であるという特徴があ
ることから、このように記憶装置1にキャッシュメモリ
5を設けることが有効である。また、単にキャッシュメ
モリ5を設けただけの場合に比べて、キャッシュメモリ
5上の空き領域の管理をファイル単位とブロック単位で
併用して行う制御をすることにより、キャッシュメモリ
5のデータ転送能力を一層向上させることができる。
【0051】すなわち、本発明の第2実施例は、ファイ
ル単位に大量の連続データを保持する記憶部2と、記憶
部2に保持されるデータの入出力制御を行う記憶制御部
3とを備えた記憶装置1におけるファイルのデータの読
み出しの制御方法において、記憶制御部3は、キャッシ
ュメモリ5とキャッシュ管理テーブル22とを備えてい
る。
ル単位に大量の連続データを保持する記憶部2と、記憶
部2に保持されるデータの入出力制御を行う記憶制御部
3とを備えた記憶装置1におけるファイルのデータの読
み出しの制御方法において、記憶制御部3は、キャッシ
ュメモリ5とキャッシュ管理テーブル22とを備えてい
る。
【0052】キャッシュ管理テーブル22は、キャッシ
ュメモリ5に格納するファイルの優先度を管理するファ
イル管理テーブル23と、ファイル毎にブロックの格納
の優先度を管理するブロック管理テーブル24とにより
構成する。
ュメモリ5に格納するファイルの優先度を管理するファ
イル管理テーブル23と、ファイル毎にブロックの格納
の優先度を管理するブロック管理テーブル24とにより
構成する。
【0053】そして、キャッシュメモリ制御プログラム
21は、ファイル管理テーブル23上において、要求さ
れたファイルのキャッシュメモリ5に保持する優先度を
最も高い優先度とする。
21は、ファイル管理テーブル23上において、要求さ
れたファイルのキャッシュメモリ5に保持する優先度を
最も高い優先度とする。
【0054】また、キャッシュメモリ制御プログラム2
1は、ブロック管理テーブル24上において、は最も後
に読み出し要求のあったブロック程優先度が高く、読み
出し要求の古い順に優先度の順位を低くし、新しくデー
タを書き込むブロックがない時は、ファイルの優先度の
低い順にブロックを削除するファイルを決定し、次いで
そのファイルのブロックの優先度の低い順にブロックの
削除を行う。
1は、ブロック管理テーブル24上において、は最も後
に読み出し要求のあったブロック程優先度が高く、読み
出し要求の古い順に優先度の順位を低くし、新しくデー
タを書き込むブロックがない時は、ファイルの優先度の
低い順にブロックを削除するファイルを決定し、次いで
そのファイルのブロックの優先度の低い順にブロックの
削除を行う。
【0055】さらに、連続してアクセスされる一連のデ
ータを格納する際に、その一連のデータのアクセス状況
を調べ、その一部のブロックのデータがキャッシュメモ
リ5上に格納されていて、その部分より前半部分へのア
クセスがあったならばそのファイルの優先度を最も高く
し、そのブロックの削除を行わずにアクセス要求のあっ
たブロックの少し後のブロックから、キャッシュメモリ
5上に格納されているブロックの一つ前のブロックまで
をキャッシュメモリ5に格納するようにしている。
ータを格納する際に、その一連のデータのアクセス状況
を調べ、その一部のブロックのデータがキャッシュメモ
リ5上に格納されていて、その部分より前半部分へのア
クセスがあったならばそのファイルの優先度を最も高く
し、そのブロックの削除を行わずにアクセス要求のあっ
たブロックの少し後のブロックから、キャッシュメモリ
5上に格納されているブロックの一つ前のブロックまで
をキャッシュメモリ5に格納するようにしている。
【0056】図3において、1は記憶装置であり、2は
記憶部であって、ファイル単位に大量の連続データを保
持するものである。例えば、この連続データは、映画等
であり、記憶部2は、映画、音楽、音声等の大量の連続
的なマルチメディアデータをファイル単位に持つもので
ある。
記憶部であって、ファイル単位に大量の連続データを保
持するものである。例えば、この連続データは、映画等
であり、記憶部2は、映画、音楽、音声等の大量の連続
的なマルチメディアデータをファイル単位に持つもので
ある。
【0057】5はキャッシュメモリ、6は制御部であっ
て、記憶部2およびキャッシュメモリ5の制御を行うも
の、20は制御記憶であって、制御部6の制御プログラ
ム等を保持するもの、21はキャッシュメモリ制御プロ
グラムであって、制御部6とによりキャッシュメモリ5
の制御をするプログラムである。
て、記憶部2およびキャッシュメモリ5の制御を行うも
の、20は制御記憶であって、制御部6の制御プログラ
ム等を保持するもの、21はキャッシュメモリ制御プロ
グラムであって、制御部6とによりキャッシュメモリ5
の制御をするプログラムである。
【0058】22はキャッシュ管理テーブルであって、
キャッシュメモリ5のファイルを管理するファイル管理
テーブル23と、ブロックを管理するブロック管理テー
ブル24とにより構成されるものである。
キャッシュメモリ5のファイルを管理するファイル管理
テーブル23と、ブロックを管理するブロック管理テー
ブル24とにより構成されるものである。
【0059】23はファイル管理テーブルであって、キ
ャッシュメモリ5に格納するファイルを管理するテーブ
ルであり、ブロックの追い出し(削除)をする際のファ
イルを格納する優先度を保持するものである。
ャッシュメモリ5に格納するファイルを管理するテーブ
ルであり、ブロックの追い出し(削除)をする際のファ
イルを格納する優先度を保持するものである。
【0060】24はブロック管理テーブルであり、ファ
イル毎にブロックを格納する優先度を保持するものであ
る。図4は、本発明の一実施例による受信装置の構成を
示すブロック図である。
イル毎にブロックを格納する優先度を保持するものであ
る。図4は、本発明の一実施例による受信装置の構成を
示すブロック図である。
【0061】図4において、25はデータ要求元に設置
されている受信装置、26は通信回線と受信装置25と
を接続しているインターフェイス、27はデータ要求先
から送信されてきたデータを格納するバッファ、28は
バッファ27に格納されているデータを所定の読出速度
で読み出す読み出し部、29はCRT、30はデータ要
求元にデータの送信を要求したり、早送りや巻き戻しや
一時停止などの指示を行ったりする操作部である。
されている受信装置、26は通信回線と受信装置25と
を接続しているインターフェイス、27はデータ要求先
から送信されてきたデータを格納するバッファ、28は
バッファ27に格納されているデータを所定の読出速度
で読み出す読み出し部、29はCRT、30はデータ要
求元にデータの送信を要求したり、早送りや巻き戻しや
一時停止などの指示を行ったりする操作部である。
【0062】受信装置25は、例えば、図3のキャッシ
ュメモリ5から高速に読み出されて送られてきたデータ
を、バッファ27に格納する。そして、読み出し部28
が所定の読出速度でバッファ27に格納されているデー
タを読み出すことにより、映画などの映像を通常の速度
で再生したり、早送りや巻き戻しや一時停止などの特殊
再生を行ったりできるようにしている。
ュメモリ5から高速に読み出されて送られてきたデータ
を、バッファ27に格納する。そして、読み出し部28
が所定の読出速度でバッファ27に格納されているデー
タを読み出すことにより、映画などの映像を通常の速度
で再生したり、早送りや巻き戻しや一時停止などの特殊
再生を行ったりできるようにしている。
【0063】図5は、図3のキャッシュメモリ5の制御
方法の説明図である。図5において、23、23′は、
ファイル管理テーブルである。ファイル管理テーブル2
3は、キャッシュメモリ5にデータを保持するファイル
i、ファイルj、・・・、ファイルkを優先度の順序で
記憶している。そして、例えば、ファイル管理テーブル
23のファイルkに読み出し要求があると、ファイルk
の優先度を最も高くし、ファイル管理テーブル23′を
生成する。このように、ブロックを保持するファイルと
して最も近い時間に読み出されたファイルの優先度を一
番高くし、読み出された最も古いファイルを最も低い優
先度とする(LRU法)。
方法の説明図である。図5において、23、23′は、
ファイル管理テーブルである。ファイル管理テーブル2
3は、キャッシュメモリ5にデータを保持するファイル
i、ファイルj、・・・、ファイルkを優先度の順序で
記憶している。そして、例えば、ファイル管理テーブル
23のファイルkに読み出し要求があると、ファイルk
の優先度を最も高くし、ファイル管理テーブル23′を
生成する。このように、ブロックを保持するファイルと
して最も近い時間に読み出されたファイルの優先度を一
番高くし、読み出された最も古いファイルを最も低い優
先度とする(LRU法)。
【0064】24−1、24−2、24−3は、ブロッ
ク管理テーブルである。24−1はファイルiのブロッ
ク管理テーブルであって、キャッシュメモリ5に保持さ
れているファイルiのデータブロックに対して、追い出
しを行うブロックの優先度をつけて保持しているもので
ある。すなわち、ブロック管理テーブル24−1は、ブ
ロックm、・・・、ブロックnがキャッシュメモリ5に
保持されている状態を示し、ブロックmの優先度が最も
高く、ブロックnの優先度が最も低い状態を示す。ファ
イル内のブロックの管理はFIFO(First In
First Out)またはLRU法で行い、新しいブ
ロックほど保持する優先度を高くし、古いブロックが追
い出されやすいようにする。
ク管理テーブルである。24−1はファイルiのブロッ
ク管理テーブルであって、キャッシュメモリ5に保持さ
れているファイルiのデータブロックに対して、追い出
しを行うブロックの優先度をつけて保持しているもので
ある。すなわち、ブロック管理テーブル24−1は、ブ
ロックm、・・・、ブロックnがキャッシュメモリ5に
保持されている状態を示し、ブロックmの優先度が最も
高く、ブロックnの優先度が最も低い状態を示す。ファ
イル内のブロックの管理はFIFO(First In
First Out)またはLRU法で行い、新しいブ
ロックほど保持する優先度を高くし、古いブロックが追
い出されやすいようにする。
【0065】24−2はファイルjのブロック管理テー
ブルであり、ブロックo、・・・、ブロックpがキャッ
シュメモリ5に保持されている状態を示し、ブロックo
の優先度が最も高く、ブロックpの優先度が最も低い状
態を表している。
ブルであり、ブロックo、・・・、ブロックpがキャッ
シュメモリ5に保持されている状態を示し、ブロックo
の優先度が最も高く、ブロックpの優先度が最も低い状
態を表している。
【0066】24−3はファイルkのブロック管理テー
ブルであり、ブロックq、・・・、ブロックrがキャッ
シュメモリ5に保持されている状態を示し、ブロックq
の優先度が最も高くブロックrの優先度が最も低い状態
を表している。
ブルであり、ブロックq、・・・、ブロックrがキャッ
シュメモリ5に保持されている状態を示し、ブロックq
の優先度が最も高くブロックrの優先度が最も低い状態
を表している。
【0067】次に、図3の記憶装置の動作を説明する。
図5において、ファイル管理テーブル23は、ファイル
i、ファイルj、・・・、ファイルkが記録され、ファ
イルiの優先度が最も高く、ファイルkの優先度が最も
低い状態を表している。
図5において、ファイル管理テーブル23は、ファイル
i、ファイルj、・・・、ファイルkが記録され、ファ
イルiの優先度が最も高く、ファイルkの優先度が最も
低い状態を表している。
【0068】ファイル管理テーブル23の状態におい
て、ファイルkの読み出し要求が発生すると、ファイル
管理テーブル23′のようにファイルkの優先度を最も
高くする。このように、ファイル管理は、LRU法によ
り行い、最も近い時間に読み出されたファイルの優先度
を一番高くし、読み出された最も古いファイルを一番低
い優先度とする。
て、ファイルkの読み出し要求が発生すると、ファイル
管理テーブル23′のようにファイルkの優先度を最も
高くする。このように、ファイル管理は、LRU法によ
り行い、最も近い時間に読み出されたファイルの優先度
を一番高くし、読み出された最も古いファイルを一番低
い優先度とする。
【0069】ブロックの追い出しを行う場合は、このフ
ァイル管理テーブル23を参照し、最も優先度の低いフ
ァイルのブロックから追い出しが行われる。例えば、図
5のファイル管理テーブル23を参照した場合、ファイ
ルkのブロックq、・・・、ブロックrから追い出しが
行われる。
ァイル管理テーブル23を参照し、最も優先度の低いフ
ァイルのブロックから追い出しが行われる。例えば、図
5のファイル管理テーブル23を参照した場合、ファイ
ルkのブロックq、・・・、ブロックrから追い出しが
行われる。
【0070】また、ブロックの追い出しは、FIFO法
により行い、優先度の低いブロックから順番に追い出し
を行う。あるいはLRU法でも良い。例えば、ファイル
kのブロックq、・・・、ブロックrの追い出しを行う
場合、ブロックrの追い出しが最初に行われ、ブロック
qの追い出しが最後に行われる。
により行い、優先度の低いブロックから順番に追い出し
を行う。あるいはLRU法でも良い。例えば、ファイル
kのブロックq、・・・、ブロックrの追い出しを行う
場合、ブロックrの追い出しが最初に行われ、ブロック
qの追い出しが最後に行われる。
【0071】このように、ファイル管理テーブル23と
ブロック管理テーブル24を併用してキャッシュメモリ
5を管理することにより、使用頻度の高いファイルの一
部のブロックが追い出される可能性が低くなりヒット転
送の可能性が向上する。
ブロック管理テーブル24を併用してキャッシュメモリ
5を管理することにより、使用頻度の高いファイルの一
部のブロックが追い出される可能性が低くなりヒット転
送の可能性が向上する。
【0072】さらに、連続してアクセスされる一連のデ
ータをキャッシュメモリ5に格納する際に、その一連の
データのアクセス状況を調べ、その一部のブロックのデ
ータがキャッシュメモリ5上に格納されていて、その部
分より前半部分へのアクセスがあったならばそのファイ
ルの優先度を最も高くし、そのブロックの削除を行わず
に、アクセス要求のあったブロックの少し後のブロック
からキャッシュメモリ5上に格納されているブロックの
一つ前のブロックまでを格納する。このようにして、ヒ
ット転送の可能性を増やすようにしている。
ータをキャッシュメモリ5に格納する際に、その一連の
データのアクセス状況を調べ、その一部のブロックのデ
ータがキャッシュメモリ5上に格納されていて、その部
分より前半部分へのアクセスがあったならばそのファイ
ルの優先度を最も高くし、そのブロックの削除を行わず
に、アクセス要求のあったブロックの少し後のブロック
からキャッシュメモリ5上に格納されているブロックの
一つ前のブロックまでを格納する。このようにして、ヒ
ット転送の可能性を増やすようにしている。
【0073】次に、本発明の実施例によるデータ転送シ
ステムについて図面を参照しながら説明する。図6(a)
は、記憶装置から読み出されたデータをサーバがクライ
アントに転送する構成である。
ステムについて図面を参照しながら説明する。図6(a)
は、記憶装置から読み出されたデータをサーバがクライ
アントに転送する構成である。
【0074】図6(b) は記憶装置がクライアントとのイ
ンタフェースを備え、記憶装置から読み出されたデータ
を記憶装置からクライアントに直接転送する構成であ
る。図6において、31、32、33はそれぞれクライ
アント1、クライアント2、クライアントNである。
ンタフェースを備え、記憶装置から読み出されたデータ
を記憶装置からクライアントに直接転送する構成であ
る。図6において、31、32、33はそれぞれクライ
アント1、クライアント2、クライアントNである。
【0075】35はサーバ、36は読み出し要求受け付
けテーブルであって、要求されたファイル名と要求した
クライアント31、32、33を対応付けて保持するテ
ーブル、37は記憶装置、38は記憶装置37に備えら
れるクライアント31、32、33とのインタフェース
モジュールである。
けテーブルであって、要求されたファイル名と要求した
クライアント31、32、33を対応付けて保持するテ
ーブル、37は記憶装置、38は記憶装置37に備えら
れるクライアント31、32、33とのインタフェース
モジュールである。
【0076】図7は、図6(a) のデータ転送システムの
サーバ35および記憶装置37の構成をより詳細に示す
図である。図7において、35はサーバ、36は読み出
し要求受け付けテーブル、36′はデータバッファであ
って、転送データを一時保持するバッファ、37は記憶
装置である。ここで、読み出し要求受け付けテーブル3
6には、例えば、クライアント1が、記憶デバイス41
に格納されているファイルAに対して読み出し要求を行
い、クライアント2が、記憶デバイス41に格納されて
いるファイルBに対して読み出し要求を行い、クライア
ント3が、記憶デバイス41に格納されているファイル
Aに対して読み出し要求を行い、クライアントNが、記
憶デバイス41に格納されているファイルAに対して読
み出し要求を行ったことが記憶される。
サーバ35および記憶装置37の構成をより詳細に示す
図である。図7において、35はサーバ、36は読み出
し要求受け付けテーブル、36′はデータバッファであ
って、転送データを一時保持するバッファ、37は記憶
装置である。ここで、読み出し要求受け付けテーブル3
6には、例えば、クライアント1が、記憶デバイス41
に格納されているファイルAに対して読み出し要求を行
い、クライアント2が、記憶デバイス41に格納されて
いるファイルBに対して読み出し要求を行い、クライア
ント3が、記憶デバイス41に格納されているファイル
Aに対して読み出し要求を行い、クライアントNが、記
憶デバイス41に格納されているファイルAに対して読
み出し要求を行ったことが記憶される。
【0077】記憶装置37において、40は記憶制御
部、41は記憶デバイスであって、磁気ディスク装置、
光読み取り記憶装置、CD−ROM等の大量のデータを
記憶する装置であって、図2の記憶部2に相当する。
部、41は記憶デバイスであって、磁気ディスク装置、
光読み取り記憶装置、CD−ROM等の大量のデータを
記憶する装置であって、図2の記憶部2に相当する。
【0078】記憶制御部40において、45はサーバイ
ンタフェースモジュールであって、サーバ35から記憶
デバイス41に対する読み出しや書き込みなどの要求を
受け付け、読み出しにおいて、記憶デバイス41から読
み出されたデータをデバイスインタフェースモジュール
46から受け取ってサーバ35に出力し、あるいは書き
込みにおいて、サーバ35から受け取った書き込みデー
タをデバイスインタフェースモジュール46に転送する
ものである。なお、サーバインタフェースモジュール4
5は、図2のデータ入出力部11に対応する。
ンタフェースモジュールであって、サーバ35から記憶
デバイス41に対する読み出しや書き込みなどの要求を
受け付け、読み出しにおいて、記憶デバイス41から読
み出されたデータをデバイスインタフェースモジュール
46から受け取ってサーバ35に出力し、あるいは書き
込みにおいて、サーバ35から受け取った書き込みデー
タをデバイスインタフェースモジュール46に転送する
ものである。なお、サーバインタフェースモジュール4
5は、図2のデータ入出力部11に対応する。
【0079】45′はデータバッファであって、転送デ
ータを一時保持するものである。46はデバイスインタ
フェースモジュールであって、サーバインタフェースモ
ジュール45の読み出し要求に対して、サーバインタフ
ェースモジュール45から要求されたデータを記憶デバ
イス41から取り出してサーバインタフェースモジュー
ル45に転送し、サーバインタフェースモジュール45
の書き込み要求に対して、サーバ35から転送される書
き込みデータを記憶デバイス41に書き込むものであ
る。
ータを一時保持するものである。46はデバイスインタ
フェースモジュールであって、サーバインタフェースモ
ジュール45の読み出し要求に対して、サーバインタフ
ェースモジュール45から要求されたデータを記憶デバ
イス41から取り出してサーバインタフェースモジュー
ル45に転送し、サーバインタフェースモジュール45
の書き込み要求に対して、サーバ35から転送される書
き込みデータを記憶デバイス41に書き込むものであ
る。
【0080】46′はデータバッファであって、転送デ
ータを一時保持するものである。、47は制御装置であ
って、マイクロプロセッサユニット(MPU)である。
51は制御記憶であって、制御部50の制御プログラム
等を保持するものである。
ータを一時保持するものである。、47は制御装置であ
って、マイクロプロセッサユニット(MPU)である。
51は制御記憶であって、制御部50の制御プログラム
等を保持するものである。
【0081】52は読み出し要求判定プログラムであっ
て、サーバ35からの要求がデータの読み出し要求であ
るか否かを判定するものである。53は読み出し指示プ
ログラムであって、デバイスインタフェースモジュール
46にデータの読み出しを指示するプログラムである。
て、サーバ35からの要求がデータの読み出し要求であ
るか否かを判定するものである。53は読み出し指示プ
ログラムであって、デバイスインタフェースモジュール
46にデータの読み出しを指示するプログラムである。
【0082】54は読み出し開始決定プログラムであっ
て、データの読み出し開始を決定するプログラムであ
る。55は読み出し要求回数カウントプログラムであっ
て、カウンタ、タイマ等を備え、ファイル毎に読み出し
要求回数をカウントするとともに、読み出し要求がない
場合には一定時間毎に各ファイルのそのカウント値を更
新するものである。
て、データの読み出し開始を決定するプログラムであ
る。55は読み出し要求回数カウントプログラムであっ
て、カウンタ、タイマ等を備え、ファイル毎に読み出し
要求回数をカウントするとともに、読み出し要求がない
場合には一定時間毎に各ファイルのそのカウント値を更
新するものである。
【0083】56は読み出し要求テーブルであって、フ
ァイル毎の読み出し要求回数を保持するものである。図
8は、読み出し要求回数カウント部と読み出し要求テー
ブル56の実施例を示す。
ァイル毎の読み出し要求回数を保持するものである。図
8は、読み出し要求回数カウント部と読み出し要求テー
ブル56の実施例を示す。
【0084】図8において、55′は読み出し要求回数
カウント部であって、読み出し要求回数カウントプログ
ラム55が格納されている。56は読み出し要求テーブ
ルであって、ファイル毎に読み出し要求回数を表す値
(初期値から読み出し要求がある毎に1ずつ減算した
値)を保持するものである。例えば、ファイルAの読み
出し要求回数を表す値として“3”が保持され、ファイ
ルBの読み出し要求回数を表す値として“4”が保持さ
れている。
カウント部であって、読み出し要求回数カウントプログ
ラム55が格納されている。56は読み出し要求テーブ
ルであって、ファイル毎に読み出し要求回数を表す値
(初期値から読み出し要求がある毎に1ずつ減算した
値)を保持するものである。例えば、ファイルAの読み
出し要求回数を表す値として“3”が保持され、ファイ
ルBの読み出し要求回数を表す値として“4”が保持さ
れている。
【0085】読み出し要求回数カウント部55′におい
て、61は読み出し要求テーブル更新部であって、読み
出し要求がある毎に読み出し要求されたファイルの読み
出し要求回数の値を、初期値から1ずつ減算するもので
ある。さらに、読み出し要求がなくても一定時間経過毎
に、テーブルに記録されている各ファイルのそのカウン
ト値を更新するものである。
て、61は読み出し要求テーブル更新部であって、読み
出し要求がある毎に読み出し要求されたファイルの読み
出し要求回数の値を、初期値から1ずつ減算するもので
ある。さらに、読み出し要求がなくても一定時間経過毎
に、テーブルに記録されている各ファイルのそのカウン
ト値を更新するものである。
【0086】62は読み出し要求ファイル数更新部であ
って、読み出しのあったファイルについて異なるファイ
ル毎にその数をカウントするものであり、読み出し要求
があった時、既に読み出し要求のあるファイルの読み出
し要求ファイル数保持部64の値は更新しないで、読み
出し要求されたファイルと異なる読み出し要求ファイル
数保持部64の値のみを更新する。
って、読み出しのあったファイルについて異なるファイ
ル毎にその数をカウントするものであり、読み出し要求
があった時、既に読み出し要求のあるファイルの読み出
し要求ファイル数保持部64の値は更新しないで、読み
出し要求されたファイルと異なる読み出し要求ファイル
数保持部64の値のみを更新する。
【0087】63′は読み出し要求回数初期値保持部で
あって、読み出し要求回数の初期値をファイル毎に保持
するものである。64は読み出し要求ファイル数保持部
であって、読み出し要求のあったファイル数を保持する
ものである。
あって、読み出し要求回数の初期値をファイル毎に保持
するものである。64は読み出し要求ファイル数保持部
であって、読み出し要求のあったファイル数を保持する
ものである。
【0088】図9は、図7のデータ転送システムの動作
の説明図であって、図8の読み出し要求テーブル56と
読み出し要求ファイル数保持部64の内容の変化を表
す。以下の図9の説明では、同一ファイルに対して3回
だけ読み出しがあった時に、記憶デバイス41からその
ファイルのデータが読み出されてサーバ35に転送され
るものとする。また、読み出し要求回数初期値保持部6
3′には、例えば、ファイルAの読み出し要求回数の初
期値として2が設定され、ファイルBの読み出し要求回
数の初期値として2が設定されているものとする。
の説明図であって、図8の読み出し要求テーブル56と
読み出し要求ファイル数保持部64の内容の変化を表
す。以下の図9の説明では、同一ファイルに対して3回
だけ読み出しがあった時に、記憶デバイス41からその
ファイルのデータが読み出されてサーバ35に転送され
るものとする。また、読み出し要求回数初期値保持部6
3′には、例えば、ファイルAの読み出し要求回数の初
期値として2が設定され、ファイルBの読み出し要求回
数の初期値として2が設定されているものとする。
【0089】図9において、56は読み出し要求テーブ
ルであり、64は読み出し要求ファイル数保持部であ
る。図9(0)は、読み出し要求テーブル56及び読み
出し要求ファイル数保持部64の初期状態を示す。すな
わち、読み出し要求テーブル56のファイルA、Bの読
み出し要求回数を表す値はそれぞれ“0”に設定され、
読み出し要求ファイル数保持部64の読み出し要求ファ
イル数も“0”に設定される。
ルであり、64は読み出し要求ファイル数保持部であ
る。図9(0)は、読み出し要求テーブル56及び読み
出し要求ファイル数保持部64の初期状態を示す。すな
わち、読み出し要求テーブル56のファイルA、Bの読
み出し要求回数を表す値はそれぞれ“0”に設定され、
読み出し要求ファイル数保持部64の読み出し要求ファ
イル数も“0”に設定される。
【0090】図9(1)は、図9(0)の状態から、所
定時間内にファイルAに読み出し要求があった時の読み
出し要求テーブル56及び読み出し要求ファイル数保持
部64の状態を示す。
定時間内にファイルAに読み出し要求があった時の読み
出し要求テーブル56及び読み出し要求ファイル数保持
部64の状態を示す。
【0091】この場合、読み出し要求テーブル56のフ
ァイルAの読み出し要求回数として、読み出し要求回数
初期値保持部63′の初期値2がセットされる。そし
て、読み出し要求回数のカウントを減算方式で行い、1
回の読み出し毎に読み出し要求回数の値を減算し、読み
出し要求回数の値が0になると3回の読み出し要求があ
ったとして、データを読み出す。また、読み出し要求フ
ァイル数保持部64に1がセットされる。なお、読み出
し要求テーブル56のファイルBの読み出し要求回数は
“0”のまま保持される。
ァイルAの読み出し要求回数として、読み出し要求回数
初期値保持部63′の初期値2がセットされる。そし
て、読み出し要求回数のカウントを減算方式で行い、1
回の読み出し毎に読み出し要求回数の値を減算し、読み
出し要求回数の値が0になると3回の読み出し要求があ
ったとして、データを読み出す。また、読み出し要求フ
ァイル数保持部64に1がセットされる。なお、読み出
し要求テーブル56のファイルBの読み出し要求回数は
“0”のまま保持される。
【0092】図9(2)は、図9(1)の状態から、所
定時間内にファイルBに読み出し要求があった時の読み
出し要求テーブル56及び読み出し要求ファイル数保持
部64の状態を示す。
定時間内にファイルBに読み出し要求があった時の読み
出し要求テーブル56及び読み出し要求ファイル数保持
部64の状態を示す。
【0093】この場合、読み出し要求テーブル56のフ
ァイルBの読み出し要求回数として、読み出し要求回数
初期値保持部63′の初期値2がセットされる。また、
読み出し要求ファイル数保持部64の値1に1を加算し
て2とする。なお、読み出し要求テーブル56のファイ
ルAの読み出し要求回数は“2”のまま保持される。
ァイルBの読み出し要求回数として、読み出し要求回数
初期値保持部63′の初期値2がセットされる。また、
読み出し要求ファイル数保持部64の値1に1を加算し
て2とする。なお、読み出し要求テーブル56のファイ
ルAの読み出し要求回数は“2”のまま保持される。
【0094】図9(3)は、図9(2)の状態から、所
定時間内にファイルAに読み出し要求があった時の読み
出し要求テーブル56及び読み出し要求ファイル数保持
部64の状態を示す。
定時間内にファイルAに読み出し要求があった時の読み
出し要求テーブル56及び読み出し要求ファイル数保持
部64の状態を示す。
【0095】この場合、読み出し要求テーブル56のフ
ァイルAの読み出し要求回数を初期値2から1を引いて
1とする。なお、読み出し要求ファイル数保持部64の
値2はそのまま保持され、読み出し要求テーブル56の
ファイルBの読み出し要求回数は“2”のまま保持され
る。
ァイルAの読み出し要求回数を初期値2から1を引いて
1とする。なお、読み出し要求ファイル数保持部64の
値2はそのまま保持され、読み出し要求テーブル56の
ファイルBの読み出し要求回数は“2”のまま保持され
る。
【0096】図9(4)は、図9(3)の状態から、所
定時間内にファイルAに読み出し要求があった時の読み
出し要求テーブル56及び読み出し要求ファイル数保持
部64の状態を示す。
定時間内にファイルAに読み出し要求があった時の読み
出し要求テーブル56及び読み出し要求ファイル数保持
部64の状態を示す。
【0097】この場合、ファイルAの読み出し要求回数
1から1を引いて0とする。ここで、読み出し要求回数
が0となったことにより、記憶デバイス41からファイ
ルAのデータを読み出し、サーバ35に転送する。ま
た、読み出し要求ファイル数保持部63の値2から1だ
け減らして1とする。なお、読み出し要求テーブル56
のファイルBの読み出し要求回数は“2”のまま保持さ
れる。
1から1を引いて0とする。ここで、読み出し要求回数
が0となったことにより、記憶デバイス41からファイ
ルAのデータを読み出し、サーバ35に転送する。ま
た、読み出し要求ファイル数保持部63の値2から1だ
け減らして1とする。なお、読み出し要求テーブル56
のファイルBの読み出し要求回数は“2”のまま保持さ
れる。
【0098】この時、サーバ35は、図7の読み出し要
求受け付けテーブル36を参照することにより、ファイ
ルAの読み出し要求を行った3人のクライアント1、
3、Nを検索する。そして、サーバ35は、ファイルA
の読み出し要求を行った3人のクライアント1、3、N
に対し、ファイルAのデータを一斉に送出する。
求受け付けテーブル36を参照することにより、ファイ
ルAの読み出し要求を行った3人のクライアント1、
3、Nを検索する。そして、サーバ35は、ファイルA
の読み出し要求を行った3人のクライアント1、3、N
に対し、ファイルAのデータを一斉に送出する。
【0099】このことにより、クライアント1、3、N
は、読み出し要求回数が所定の値になった場合、予め定
められている所定の時間が経過しなくても、ファイルA
のデータを受信することができ、ファイルAのデータを
受信するまでの待ち時間を減らすことができる。また、
ファイルAの読み出し要求を行った3人のクライアント
1、3、へのファイルAのデータの送出は、記憶デバイ
ス41からの1回のデータの読み出しにより行うことが
できるので、記憶制御部40や記憶デバイス41に対す
る負荷を軽減することができる。図9(5)は、図9
(4)の状態から一定時間読み出し要求がなかった時の
読み出し要求テーブル56及び読み出し要求ファイル数
保持部64の状態を示す。
は、読み出し要求回数が所定の値になった場合、予め定
められている所定の時間が経過しなくても、ファイルA
のデータを受信することができ、ファイルAのデータを
受信するまでの待ち時間を減らすことができる。また、
ファイルAの読み出し要求を行った3人のクライアント
1、3、へのファイルAのデータの送出は、記憶デバイ
ス41からの1回のデータの読み出しにより行うことが
できるので、記憶制御部40や記憶デバイス41に対す
る負荷を軽減することができる。図9(5)は、図9
(4)の状態から一定時間読み出し要求がなかった時の
読み出し要求テーブル56及び読み出し要求ファイル数
保持部64の状態を示す。
【0100】この場合、読み出し要求ファイル数保持部
64の値が0でないことにより、読み出し要求があった
けれども読み出されていないファイルBがあることを認
識し、一定時間経過後に、読み出し要求テーブル56の
ファイルBの読み出し要求回数を1だけ減らして1に自
動更新する。なお、読み出し要求ファイル数保持部63
の値1はそのまま保持され、読み出し要求テーブル56
のファイルAの読み出し要求回数は“0”のまま保持さ
れる。
64の値が0でないことにより、読み出し要求があった
けれども読み出されていないファイルBがあることを認
識し、一定時間経過後に、読み出し要求テーブル56の
ファイルBの読み出し要求回数を1だけ減らして1に自
動更新する。なお、読み出し要求ファイル数保持部63
の値1はそのまま保持され、読み出し要求テーブル56
のファイルAの読み出し要求回数は“0”のまま保持さ
れる。
【0101】図9(6)は、図9(5)の状態から一定
時間読み出し要求がなかった時の読み出し要求テーブル
56及び読み出し要求ファイル数保持部64の状態を示
す。この場合、一定時間経過後、ファイルBの読み出し
要求回数を1だけ減らして0に自動更新する。ここで、
ファイルBの読み出し要求回数が0になったことによ
り、記憶デバイス41からファイルBのデータを読み出
し、サーバ35に転送する。
時間読み出し要求がなかった時の読み出し要求テーブル
56及び読み出し要求ファイル数保持部64の状態を示
す。この場合、一定時間経過後、ファイルBの読み出し
要求回数を1だけ減らして0に自動更新する。ここで、
ファイルBの読み出し要求回数が0になったことによ
り、記憶デバイス41からファイルBのデータを読み出
し、サーバ35に転送する。
【0102】そして、読み出し要求ファイル数保持部6
4の値を1から1だけ引いて0とする。読み出し要求フ
ァイル数保持部63の値が0となったことにより、読み
出し要求されて読み出されていないファイルは存在しな
いことを認識することができる。
4の値を1から1だけ引いて0とする。読み出し要求フ
ァイル数保持部63の値が0となったことにより、読み
出し要求されて読み出されていないファイルは存在しな
いことを認識することができる。
【0103】ファイルBのデータが転送されたサーバ3
5は、図7の読み出し要求受け付けテーブル36を参照
することにより、ファイルBの読み出し要求を行ったク
ライアント2を検索する。そして、サーバ35は、ファ
イルBの読み出し要求を行ったクライアント2に対し、
ファイルBのデータを送出する。
5は、図7の読み出し要求受け付けテーブル36を参照
することにより、ファイルBの読み出し要求を行ったク
ライアント2を検索する。そして、サーバ35は、ファ
イルBの読み出し要求を行ったクライアント2に対し、
ファイルBのデータを送出する。
【0104】このことにより、クライアント2は、所定
の時間の経過後は、読み出し要求回数が所定値に達しな
いファイルBのデータを受信することができる。なお、
図9の例では、ファイルA及びファイルBの読み出し要
求回数の初期値を2にセットした場合について説明した
が、ファイルAの読み出し要求頻度が大きく、ファイル
Bの読み出し要求頻度が小さいと予めわかっている場合
は、ファイルAの読み出し要求回数の初期値を大きく設
定し、ファイルBの読み出し要求回数の初期値を小さく
設定するようにしてもよい。
の時間の経過後は、読み出し要求回数が所定値に達しな
いファイルBのデータを受信することができる。なお、
図9の例では、ファイルA及びファイルBの読み出し要
求回数の初期値を2にセットした場合について説明した
が、ファイルAの読み出し要求頻度が大きく、ファイル
Bの読み出し要求頻度が小さいと予めわかっている場合
は、ファイルAの読み出し要求回数の初期値を大きく設
定し、ファイルBの読み出し要求回数の初期値を小さく
設定するようにしてもよい。
【0105】例えば、ファイルBの読み出し要求回数の
初期値を0に設定しておくことにより、ファイルBにつ
いては、予め定められた一定時間が経過することを待つ
ことなく、要求元はファイルBのデータを即座に受信で
きる。このことは、予め定められた一定時間の経過の間
に、読み出し要求が1回しかないようなファイルを読み
出す場合に特に有効である。
初期値を0に設定しておくことにより、ファイルBにつ
いては、予め定められた一定時間が経過することを待つ
ことなく、要求元はファイルBのデータを即座に受信で
きる。このことは、予め定められた一定時間の経過の間
に、読み出し要求が1回しかないようなファイルを読み
出す場合に特に有効である。
【0106】次に、図9に示した読み出し要求を例にと
って、図7のデータ転送システムの動作をより詳細に説
明する。図6(a)のクライアント1から、図9の記憶
デバイス41に格納されているファイルAの読み出し要
求があったものとする。サーバ35は、クライアント1
からのファイルAの読み出し要求に基づいて、読み出し
要求受け付けテーブル36にファイルAとクライアント
1とを対応づけて記録する。そして、サーバ35から記
憶装置37のサーバインタフェースモジュール45にフ
ァイルAの読み出し要求が転送される。サーバインタフ
ェースモジュール45は、ファイルAの読み出し要求を
受け付ける。
って、図7のデータ転送システムの動作をより詳細に説
明する。図6(a)のクライアント1から、図9の記憶
デバイス41に格納されているファイルAの読み出し要
求があったものとする。サーバ35は、クライアント1
からのファイルAの読み出し要求に基づいて、読み出し
要求受け付けテーブル36にファイルAとクライアント
1とを対応づけて記録する。そして、サーバ35から記
憶装置37のサーバインタフェースモジュール45にフ
ァイルAの読み出し要求が転送される。サーバインタフ
ェースモジュール45は、ファイルAの読み出し要求を
受け付ける。
【0107】制御装置47は、制御部50と読み出し要
求判定プログラム52によりファイルAの読み出し要求
かあったことを判定し、読み出し要求回数カウントプロ
グラム55(すなわち、図8の読み出し要求回数カウン
ト部55′)は、読み出し要求テーブル56のファイル
Aの読み出し回数の初期値として2をセットする。ここ
で、2を初期値としてセットすることにより、3回の読
み出し要求があった時にデータが読み出される。さら
に、読み出し要求ファイル数保持部64に1をセットす
る。なお、ここまでの動作は、図9(1)の状態に対応
している。
求判定プログラム52によりファイルAの読み出し要求
かあったことを判定し、読み出し要求回数カウントプロ
グラム55(すなわち、図8の読み出し要求回数カウン
ト部55′)は、読み出し要求テーブル56のファイル
Aの読み出し回数の初期値として2をセットする。ここ
で、2を初期値としてセットすることにより、3回の読
み出し要求があった時にデータが読み出される。さら
に、読み出し要求ファイル数保持部64に1をセットす
る。なお、ここまでの動作は、図9(1)の状態に対応
している。
【0108】次に、クライアント1のファイルAの読み
出し要求から一定時間が経過しないうちに、クライアン
ト2からファイルBの読み出し要求があったとする。サ
ーバ35は、クライアント2からのファイルBの読み出
し要求に基づいて、読み出し要求受け付けテーブル36
にファイルBとクライアント2を対応づけて記録する。
そして、サーバ35から記憶装置37のサーバインタフ
ェースモジュール45にファイルBの読み出し要求が転
送される。サーバインタフェースモジュール45は、フ
ァイルBの読み出し要求を受け付ける。
出し要求から一定時間が経過しないうちに、クライアン
ト2からファイルBの読み出し要求があったとする。サ
ーバ35は、クライアント2からのファイルBの読み出
し要求に基づいて、読み出し要求受け付けテーブル36
にファイルBとクライアント2を対応づけて記録する。
そして、サーバ35から記憶装置37のサーバインタフ
ェースモジュール45にファイルBの読み出し要求が転
送される。サーバインタフェースモジュール45は、フ
ァイルBの読み出し要求を受け付ける。
【0109】制御装置47は、制御部50と読み出し要
求判定プログラム52によりファイルBの読み出し要求
があったことを判定し、読み出し要求回数カウントプロ
グラム55(すなわち、図8の読み出し要求回数カウン
ト部55′)は、読み出し要求テーブル56のファイル
Bの読み出し回数の初期値として2をセットする。さら
に、読み出し要求ファイル数保持部64の値に1を足し
て2をセットする。なお、ここまでの動作は、図9
(2)の状態に対応している。
求判定プログラム52によりファイルBの読み出し要求
があったことを判定し、読み出し要求回数カウントプロ
グラム55(すなわち、図8の読み出し要求回数カウン
ト部55′)は、読み出し要求テーブル56のファイル
Bの読み出し回数の初期値として2をセットする。さら
に、読み出し要求ファイル数保持部64の値に1を足し
て2をセットする。なお、ここまでの動作は、図9
(2)の状態に対応している。
【0110】次に、クライアント2のファイルBの読み
出し要求から一定時間が経過しないうちに、クライアン
ト3からファイルAの読み出し要求があったとする。サ
ーバ35は、クライアント3のファイルAの読み出し要
求に基づいて、読み出し要求受け付けテーブル36にフ
ァイルAとクライアント3を対応づけて記録する。そし
て、サーバ35から記憶装置37のサーバインタフェー
スモジュール45にファイルAき読み出し要求が転送さ
れる。サーバインタフェースモジュール45は、ファイ
ルAの読み出し要求を受け付ける。
出し要求から一定時間が経過しないうちに、クライアン
ト3からファイルAの読み出し要求があったとする。サ
ーバ35は、クライアント3のファイルAの読み出し要
求に基づいて、読み出し要求受け付けテーブル36にフ
ァイルAとクライアント3を対応づけて記録する。そし
て、サーバ35から記憶装置37のサーバインタフェー
スモジュール45にファイルAき読み出し要求が転送さ
れる。サーバインタフェースモジュール45は、ファイ
ルAの読み出し要求を受け付ける。
【0111】制御装置47は、制御部50と読み出し要
求判定プログラム52により読み出し要求があったこと
を判定し、読み出し要求回数カウントプログラム55
(すなわち、図8の読み出し要求回数カウント部5
5′)は、読み出し要求テーブル56のファイルAの読
み出し回数として2から1だけ引いた1をセットする。
ファイルAは既に読み出し要求済みであるので、読み出
し要求ファイル数保持部64の値は変更しない。なお、
ここまでの動作は、図9(3)の状態に対応している。
求判定プログラム52により読み出し要求があったこと
を判定し、読み出し要求回数カウントプログラム55
(すなわち、図8の読み出し要求回数カウント部5
5′)は、読み出し要求テーブル56のファイルAの読
み出し回数として2から1だけ引いた1をセットする。
ファイルAは既に読み出し要求済みであるので、読み出
し要求ファイル数保持部64の値は変更しない。なお、
ここまでの動作は、図9(3)の状態に対応している。
【0112】次に、クライアント3のファイルAの読み
出し要求から一定時間が経過しないうちに、クライアン
トNからファイルAの読み出し要求があったとする。サ
ーバ35は、クライアントNのファイルAの読み出し要
求に基づいて、読み出し要求受け付けテーブル36にフ
ァイルAとクライアントNを対応づけて記録する。そし
て、サーバ35から記憶装置37のサーバインタフェー
スモジュール45にファイルAの読み出し要求が転送さ
れる。サーバインタフェースモジュール45はファイル
Aの読み出し要求を受け付ける。
出し要求から一定時間が経過しないうちに、クライアン
トNからファイルAの読み出し要求があったとする。サ
ーバ35は、クライアントNのファイルAの読み出し要
求に基づいて、読み出し要求受け付けテーブル36にフ
ァイルAとクライアントNを対応づけて記録する。そし
て、サーバ35から記憶装置37のサーバインタフェー
スモジュール45にファイルAの読み出し要求が転送さ
れる。サーバインタフェースモジュール45はファイル
Aの読み出し要求を受け付ける。
【0113】制御装置47は、制御部50と読み出し要
求判定プログラム52により読み出し要求があったこと
を判定し、読み出し要求回数カウントプログラム55
(すなわち、図8の読み出し要求回数カウント部5
5′)は、読み出し要求テーブル56のファイルAの読
み出し回数として、1から1を引いた0をセットする。
求判定プログラム52により読み出し要求があったこと
を判定し、読み出し要求回数カウントプログラム55
(すなわち、図8の読み出し要求回数カウント部5
5′)は、読み出し要求テーブル56のファイルAの読
み出し回数として、1から1を引いた0をセットする。
【0114】読み出し開始決定プログラム54は、読み
出し要求テーブルのファイルAの読み出し要求回数値が
0になったことを判定し、そのことを読み出し指示プロ
グラム53に通知する。すると、読み出し指示プログラ
ム53が動作して、制御部50からデバイスインタフェ
ースモジュール46に記憶デバイス41のファイルAの
読み出し指示がなされる。また、読み出し要求ファイル
数保持部64の値を2から1減算して1とする。なお、
ここまでの動作は、図9(4)の状態に対応している。
出し要求テーブルのファイルAの読み出し要求回数値が
0になったことを判定し、そのことを読み出し指示プロ
グラム53に通知する。すると、読み出し指示プログラ
ム53が動作して、制御部50からデバイスインタフェ
ースモジュール46に記憶デバイス41のファイルAの
読み出し指示がなされる。また、読み出し要求ファイル
数保持部64の値を2から1減算して1とする。なお、
ここまでの動作は、図9(4)の状態に対応している。
【0115】デバイスインタフェースモジュール46は
ファイルAの読み出し指示を制御装置47から受け取る
と、記憶デバイス41からファイルAのデータを読み出
し、サーバインタフェースモジュール45に転送する。
サーバインタフェースモジュール45はファイルAのデ
ータを受け取ると、サーバ35に転送する。
ファイルAの読み出し指示を制御装置47から受け取る
と、記憶デバイス41からファイルAのデータを読み出
し、サーバインタフェースモジュール45に転送する。
サーバインタフェースモジュール45はファイルAのデ
ータを受け取ると、サーバ35に転送する。
【0116】サーバ35は、サーバインタフェースモジ
ュール45から受け取ったファイルAのデータをデータ
バッファ36′に保持する。そして、読み出し要求受け
付けテーブル36を参照し、読み出し要求受け付けテー
ブル36に記録されているクライアント1、クライアン
ト2、クライアントNにファイルAのデータを転送す
る。そして、各クライアントへのデータの転送が終了す
ると、データバッファ36′のデータをクリアし、読み
出し要求受け付けテーブル36のファイルAの受け付け
の記録をクリアする。
ュール45から受け取ったファイルAのデータをデータ
バッファ36′に保持する。そして、読み出し要求受け
付けテーブル36を参照し、読み出し要求受け付けテー
ブル36に記録されているクライアント1、クライアン
ト2、クライアントNにファイルAのデータを転送す
る。そして、各クライアントへのデータの転送が終了す
ると、データバッファ36′のデータをクリアし、読み
出し要求受け付けテーブル36のファイルAの受け付け
の記録をクリアする。
【0117】次に、予め定めた一定時間を経過しても次
の読み出し要求はなかったとする。読み出し要求回数カ
ウントプログラム55(すなわち、図8の読み出し要求
回数カウント部55′)は、読み出し要求ファイル数保
持部64の値が0でないことから、読み出し要求を受け
ていながらまだ読み出されていないファイルBがあるこ
とを認識し、読み出し要求テーブル56の読み出し回数
値2から1を引いて1とする。なお、ここまでの動作
は、図9(5)の状態に対応している。
の読み出し要求はなかったとする。読み出し要求回数カ
ウントプログラム55(すなわち、図8の読み出し要求
回数カウント部55′)は、読み出し要求ファイル数保
持部64の値が0でないことから、読み出し要求を受け
ていながらまだ読み出されていないファイルBがあるこ
とを認識し、読み出し要求テーブル56の読み出し回数
値2から1を引いて1とする。なお、ここまでの動作
は、図9(5)の状態に対応している。
【0118】さらに、一定時間経過しても次の読み出し
要求はなかったとする。読み出し要求回数カウントプロ
グラム55(すなわち、図8の読み出し要求回数カウン
ト部55′)は、読み出し要求ファイル数保持部64の
値が0でないことから、読み出し要求を受けてまだ読み
出されていないファイルBがあることを認識し、読み出
し要求テーブル56の読み出し回数値1から1を引いて
0とする。
要求はなかったとする。読み出し要求回数カウントプロ
グラム55(すなわち、図8の読み出し要求回数カウン
ト部55′)は、読み出し要求ファイル数保持部64の
値が0でないことから、読み出し要求を受けてまだ読み
出されていないファイルBがあることを認識し、読み出
し要求テーブル56の読み出し回数値1から1を引いて
0とする。
【0119】読み出し開始決定プログラム54は、読み
出し要求テーブル56のファイルBの読み出し要求回数
値が0になったことを判定し、読み出し指示プログラム
53にファイルBの読み出し要求回数値が0になったこ
とを通知する。すると、読み出し指示プログラム53が
動作して、制御部50からデバイスインタフェースモジ
ュール46にファイルBの読み出し指示がなされる。ま
た、読み出し要求ファイル数保持部64の値を1から1
減算して0とする。なお、ここまでの動作は、図9
(6)の状態に対応している。
出し要求テーブル56のファイルBの読み出し要求回数
値が0になったことを判定し、読み出し指示プログラム
53にファイルBの読み出し要求回数値が0になったこ
とを通知する。すると、読み出し指示プログラム53が
動作して、制御部50からデバイスインタフェースモジ
ュール46にファイルBの読み出し指示がなされる。ま
た、読み出し要求ファイル数保持部64の値を1から1
減算して0とする。なお、ここまでの動作は、図9
(6)の状態に対応している。
【0120】デバイスインタフェースモジュール46は
ファイルBの読み出し指示を受け取ると、記憶デバイス
41からファイルBのデータを読み出し、サーバインタ
フェースモジュール45に転送する。サーバインタフェ
ースモジュール45はファイルBのデータを受け取る
と、サーバ35に転送する。
ファイルBの読み出し指示を受け取ると、記憶デバイス
41からファイルBのデータを読み出し、サーバインタ
フェースモジュール45に転送する。サーバインタフェ
ースモジュール45はファイルBのデータを受け取る
と、サーバ35に転送する。
【0121】サーバ35は、サーバインタフェースモジ
ュール45から転送されたファイルBのデータをバッフ
ァ36′に保持する。そして、読み出し要求受け付けテ
ーブル36を参照し、サーバインタフェースモジュール
45から受け取ったファイルBのデータを要求元のクラ
イアント2に転送する。そして、ファイルBのデータの
転送が終了したらデータバッファ36′をクリアし、読
み出し要求を受け付けテーブル36のファイルBの受け
付けの記録をクリアする。
ュール45から転送されたファイルBのデータをバッフ
ァ36′に保持する。そして、読み出し要求受け付けテ
ーブル36を参照し、サーバインタフェースモジュール
45から受け取ったファイルBのデータを要求元のクラ
イアント2に転送する。そして、ファイルBのデータの
転送が終了したらデータバッファ36′をクリアし、読
み出し要求を受け付けテーブル36のファイルBの受け
付けの記録をクリアする。
【0122】図10は、図7のデータ転送システムの動
作の第1実施例を示すフローチャートであって、読み出
し要求のあった場合を示す。なお、図10の実施例は、
読み出し要求回数の多少にかかわらず、一定時間が経過
したならば、要求された全てのファイルを送出するよう
にしたものである。
作の第1実施例を示すフローチャートであって、読み出
し要求のあった場合を示す。なお、図10の実施例は、
読み出し要求回数の多少にかかわらず、一定時間が経過
したならば、要求された全てのファイルを送出するよう
にしたものである。
【0123】図10において、まず、ステップS1に示
すように、初期設定として、N=0とする。ここで、N
は、図8の読み出し要求ファイル数保持部64に保持す
る読み出し要求ファイル数である。
すように、初期設定として、N=0とする。ここで、N
は、図8の読み出し要求ファイル数保持部64に保持す
る読み出し要求ファイル数である。
【0124】次に、ステップS2に示すように、図6の
クライアント31、32、33からの読み出し要求があ
るかないかを判定する。そして、読み出し要求があれ
ば、ステップS3に進み、読み出し要求がなければ、ス
テップS12に進む。
クライアント31、32、33からの読み出し要求があ
るかないかを判定する。そして、読み出し要求があれ
ば、ステップS3に進み、読み出し要求がなければ、ス
テップS12に進む。
【0125】ステップS3では、要求されたファイルが
既に読み出し要求されたファイルと同一ファイルである
か判定する。そして、同一要求ファイルがあれば、ステ
ップS7に進み、同一要求ファイルがなければ、ステッ
プS4に進む。
既に読み出し要求されたファイルと同一ファイルである
か判定する。そして、同一要求ファイルがあれば、ステ
ップS7に進み、同一要求ファイルがなければ、ステッ
プS4に進む。
【0126】ステップS4では、それまで読み出し要求
のされていなかったファイルであるので、読み出し要求
ファイル数Nを1だけインクリメントする。ステップS
5、S6では、読み出し要求ファイルの要求されたファ
イルに対する読み出し要求回数値Cjに、初期値C0を
設定する。ここで、初期値C0は、読み出しを開始する
までの要求回数+1をセットする(図7の説明における
初期値より1だけ大きい値とする)。
のされていなかったファイルであるので、読み出し要求
ファイル数Nを1だけインクリメントする。ステップS
5、S6では、読み出し要求ファイルの要求されたファ
イルに対する読み出し要求回数値Cjに、初期値C0を
設定する。ここで、初期値C0は、読み出しを開始する
までの要求回数+1をセットする(図7の説明における
初期値より1だけ大きい値とする)。
【0127】ステップS7では、ステップS3で既に同
一ファイルの要求の受け付けがあると判定されたことか
ら、同一ファイルの読み出し要求の受け付けがあるとし
てステップS8に進む。
一ファイルの要求の受け付けがあると判定されたことか
ら、同一ファイルの読み出し要求の受け付けがあるとし
てステップS8に進む。
【0128】次に、ステップS8では、全てのファイル
に対応する読み出し要求回数値Ciを1だけ減らす。次
に、ステップS9では、読み出し要求回数値Ciに0の
ものがあるか判定する。読み出し要求回数値Ciに0の
ものがあれば、ステップS10に進み、読み出し要求回
数値Ciに0のものがなければ、ステップS2以降の処
理を繰り返す。
に対応する読み出し要求回数値Ciを1だけ減らす。次
に、ステップS9では、読み出し要求回数値Ciに0の
ものがあるか判定する。読み出し要求回数値Ciに0の
ものがあれば、ステップS10に進み、読み出し要求回
数値Ciに0のものがなければ、ステップS2以降の処
理を繰り返す。
【0129】次に、ステップS10では、記憶デバイス
41から読み出し要求回数値Ciが0のファイルのデー
タを読み出す。次に、ステップS11では、読み出し要
求ファイル数Nを1だけ減らす。
41から読み出し要求回数値Ciが0のファイルのデー
タを読み出す。次に、ステップS11では、読み出し要
求ファイル数Nを1だけ減らす。
【0130】ステップS12では、ステップS2で読み
出し要求がなければ、読み出しファイル数保持部64に
保持されている読み出し要求ファイル数Nが0であるか
ないかを判定する。読み出し要求ファイル数N>0であ
れば(すなわち、読み出し要求ファイル数Nが0でなけ
れば)、ステップS8以降の処理を繰り返す。読み出し
要求ファイル数Nが0であれば、ステップS2以降の処
理を繰り返す。
出し要求がなければ、読み出しファイル数保持部64に
保持されている読み出し要求ファイル数Nが0であるか
ないかを判定する。読み出し要求ファイル数N>0であ
れば(すなわち、読み出し要求ファイル数Nが0でなけ
れば)、ステップS8以降の処理を繰り返す。読み出し
要求ファイル数Nが0であれば、ステップS2以降の処
理を繰り返す。
【0131】図11は、図7のデータ転送システムの動
作の第2実施例を示すフローチャートである。なお、図
11の実施例は、読み出し要求回数の多いものについて
は、読み出し要求回数が所定の値に達した時に、要求さ
れたファイルを送出し、読み出し要求回数の少ないもの
については、読み出し要求回数が所定の値に達していな
くても、一定時間が経過したならば、要求されたファイ
ルを送出するようにしたものである。
作の第2実施例を示すフローチャートである。なお、図
11の実施例は、読み出し要求回数の多いものについて
は、読み出し要求回数が所定の値に達した時に、要求さ
れたファイルを送出し、読み出し要求回数の少ないもの
については、読み出し要求回数が所定の値に達していな
くても、一定時間が経過したならば、要求されたファイ
ルを送出するようにしたものである。
【0132】図11において、まず、ステップS21に
示すように、初期設定として、N=0とする。ここで、
Nは、図8の読み出し要求ファイル数保持部64に保持
する読み出し要求ファイル数である。
示すように、初期設定として、N=0とする。ここで、
Nは、図8の読み出し要求ファイル数保持部64に保持
する読み出し要求ファイル数である。
【0133】次に、ステップS22に示すように、図6
のクライアント31、32、33からの読み出し要求が
あるかないかを判定する。そして、読み出し要求があれ
ば、ステップS23に進み、読み出し要求がなければ、
ステップS33に進む。
のクライアント31、32、33からの読み出し要求が
あるかないかを判定する。そして、読み出し要求があれ
ば、ステップS23に進み、読み出し要求がなければ、
ステップS33に進む。
【0134】ステップS23では、要求されたファイル
が既に読み出し要求されたファイルと同一ファイルであ
るか判定する。そして、同一要求ファイルがあれば、ス
テップS27に進み、同一要求ファイルがなければ、ス
テップS24に進む。
が既に読み出し要求されたファイルと同一ファイルであ
るか判定する。そして、同一要求ファイルがあれば、ス
テップS27に進み、同一要求ファイルがなければ、ス
テップS24に進む。
【0135】ステップS24では、それまで読み出し要
求のされていなかったファイルであるので、読み出し要
求ファイル数Nを1だけインクリメントする。ステップ
S25、S26では、読み出し要求ファイルの要求され
たファイルに対する読み出し要求回数値Cjに、初期値
C0を設定し、ステップS27に進む。ここで、初期値
C0は、読み出しを開始するまでの要求回数+1をセッ
トする。
求のされていなかったファイルであるので、読み出し要
求ファイル数Nを1だけインクリメントする。ステップ
S25、S26では、読み出し要求ファイルの要求され
たファイルに対する読み出し要求回数値Cjに、初期値
C0を設定し、ステップS27に進む。ここで、初期値
C0は、読み出しを開始するまでの要求回数+1をセッ
トする。
【0136】次に、ステップS27では、全てのファイ
ルに対応する読み出し要求回数値Ciを1だけ減らし
て、ステップS30に進む。ステップS28では、ステ
ップS23で既に同一ファイルの要求の受け付けがある
と判定されたことから、同一ファイルの読み出し要求の
受け付けがあるとしてステップS29に進む。
ルに対応する読み出し要求回数値Ciを1だけ減らし
て、ステップS30に進む。ステップS28では、ステ
ップS23で既に同一ファイルの要求の受け付けがある
と判定されたことから、同一ファイルの読み出し要求の
受け付けがあるとしてステップS29に進む。
【0137】次に、ステップS29では、読み出し要求
の受け付けが行われた同一ファイルの読み出し要求回数
値Ciを1だけ減らし、ステップS30に進む。次に、
ステップS30では、読み出し要求回数値Ciに0のも
のがあるか判定する。読み出し要求回数値Ciに0のも
のがあれば、ステップS31に進み、読み出し要求回数
値Ciに0のものがなければ、ステップS22以降の処
理を繰り返す。
の受け付けが行われた同一ファイルの読み出し要求回数
値Ciを1だけ減らし、ステップS30に進む。次に、
ステップS30では、読み出し要求回数値Ciに0のも
のがあるか判定する。読み出し要求回数値Ciに0のも
のがあれば、ステップS31に進み、読み出し要求回数
値Ciに0のものがなければ、ステップS22以降の処
理を繰り返す。
【0138】次に、ステップS31では、記憶デバイス
41から読み出し要求回数値Ciが0のファイルのデー
タを読み出す。次に、ステップS32では、読み出し要
求ファイル数Nを1だけ減らす。
41から読み出し要求回数値Ciが0のファイルのデー
タを読み出す。次に、ステップS32では、読み出し要
求ファイル数Nを1だけ減らす。
【0139】ステップS33では、ステップS22で読
み出し要求がなければ、読み出しファイル数保持部64
に保持されている読み出し要求ファイル数Nが0である
かないかを判定する。読み出し要求ファイル数N>0で
あれば、ステップS27以降の処理を繰り返す。読み出
し要求ファイル数Nが0であれば、ステップS22以降
の処理を繰り返す。
み出し要求がなければ、読み出しファイル数保持部64
に保持されている読み出し要求ファイル数Nが0である
かないかを判定する。読み出し要求ファイル数N>0で
あれば、ステップS27以降の処理を繰り返す。読み出
し要求ファイル数Nが0であれば、ステップS22以降
の処理を繰り返す。
【0140】図12は、図7のデータ転送システムの第
3実施例の動作を示すフローチャートである。図12の
例では、図11で説明した方式に加え、フル・ビデオ・
オン・デマンド方式またはニア・ビデオ・オン・デマン
ド方式を選択できるようにしている。
3実施例の動作を示すフローチャートである。図12の
例では、図11で説明した方式に加え、フル・ビデオ・
オン・デマンド方式またはニア・ビデオ・オン・デマン
ド方式を選択できるようにしている。
【0141】ビデオ・オン・デマンド(VOD:Vid
eo On Demand)は、各家庭に設置されてい
るSTB(セット トップ ボックス:Set Top
Box)と呼ばれる端末装置から送信されてくる要求
に応じて、複数のタイトルの映像を蓄積しているCAT
V(ケーブル・テレビ:Cable Televisi
on)センタから、その要求されたビデオデータを要求
元の家庭に送信する。
eo On Demand)は、各家庭に設置されてい
るSTB(セット トップ ボックス:Set Top
Box)と呼ばれる端末装置から送信されてくる要求
に応じて、複数のタイトルの映像を蓄積しているCAT
V(ケーブル・テレビ:Cable Televisi
on)センタから、その要求されたビデオデータを要求
元の家庭に送信する。
【0142】ビデオ・オン・デマンドには、フル・ビデ
オ・オン・デマンド(FVOD:Full Video
On Demand)とニア・ビデオ・オン・デマン
ド(NVOD:Near Video On Dema
nd)とがある。
オ・オン・デマンド(FVOD:Full Video
On Demand)とニア・ビデオ・オン・デマン
ド(NVOD:Near Video On Dema
nd)とがある。
【0143】フル・ビデオ・オン・デマンドは、視聴者
が観たいビデオ番組を要求すると、その要求したビデオ
番組を即座に観ることができるサービス形態であり、視
聴者の要求に応じて、そのリクエストされたビデオ番組
が即座に放映される。また、視聴者は、1つのビデオ番
組を専有して観ることができ、家庭内に設置されている
VTRやビデオ・ディスクと同様に、ビデオの再生のみ
ならず、早送り、巻き戻し、一時停止なども可能であ
る。このような機能を実現するために、フル・ビデオ・
オン・デマンドでは、各視聴者が個別に専有のチャネル
を使用するようになっている。
が観たいビデオ番組を要求すると、その要求したビデオ
番組を即座に観ることができるサービス形態であり、視
聴者の要求に応じて、そのリクエストされたビデオ番組
が即座に放映される。また、視聴者は、1つのビデオ番
組を専有して観ることができ、家庭内に設置されている
VTRやビデオ・ディスクと同様に、ビデオの再生のみ
ならず、早送り、巻き戻し、一時停止なども可能であ
る。このような機能を実現するために、フル・ビデオ・
オン・デマンドでは、各視聴者が個別に専有のチャネル
を使用するようになっている。
【0144】一方、ニア・ビデオ・オン・デマンドは、
タイム・シフト・サービスとも呼ばれ、一本のビデオ番
組を、時間をずらして、一定時間間隔で、複数のチャネ
ルを用いて放映するサービス形態である。例えば、12
0チャネル分のストリームを使用し、2時間のビデオ番
組を1分間隔で送出する。これにより、視聴者は最大1
分待てば、いつでも、所望のビデオ番組を最初から観る
ことができる。
タイム・シフト・サービスとも呼ばれ、一本のビデオ番
組を、時間をずらして、一定時間間隔で、複数のチャネ
ルを用いて放映するサービス形態である。例えば、12
0チャネル分のストリームを使用し、2時間のビデオ番
組を1分間隔で送出する。これにより、視聴者は最大1
分待てば、いつでも、所望のビデオ番組を最初から観る
ことができる。
【0145】図12において、まず、ステップS41に
示すように、初期設定として、N=0とする。ここで、
Nは、図8の読み出し要求ファイル数保持部64に保持
する読み出し要求ファイル数である。また、初期値C0
を設定するとともに、方式設定を行う。この方式として
は、方式1〜3まであり、方式1はフル・ビデオ・オン
・デマンド方式、方式2はニア・ビデオ・オン・デマン
ド方式、方式3は読み出し要求回数が所定値に達したフ
ァイルを送出する方式である。なお、方式設定で、方式
1のフル・ビデオ・オン・デマンド方式を選択した場
合、初期値C0を1に設定し、方式2のニア・ビデオ・
オン・デマンド方式を選択した場合、読み出しを行うま
での一定時間に対応する値に初期値C0を設定する。ま
た、方式3を選択した場合、読み出しを開始するまでの
要求回数+1に初期値C0をセットする。
示すように、初期設定として、N=0とする。ここで、
Nは、図8の読み出し要求ファイル数保持部64に保持
する読み出し要求ファイル数である。また、初期値C0
を設定するとともに、方式設定を行う。この方式として
は、方式1〜3まであり、方式1はフル・ビデオ・オン
・デマンド方式、方式2はニア・ビデオ・オン・デマン
ド方式、方式3は読み出し要求回数が所定値に達したフ
ァイルを送出する方式である。なお、方式設定で、方式
1のフル・ビデオ・オン・デマンド方式を選択した場
合、初期値C0を1に設定し、方式2のニア・ビデオ・
オン・デマンド方式を選択した場合、読み出しを行うま
での一定時間に対応する値に初期値C0を設定する。ま
た、方式3を選択した場合、読み出しを開始するまでの
要求回数+1に初期値C0をセットする。
【0146】次に、ステップS42に示すように、図6
のクライアント31、32、33からの読み出し要求が
あるかないかを判定する。そして、読み出し要求があれ
ば、ステップS43に進み、読み出し要求がなければ、
ステップS54に進む。
のクライアント31、32、33からの読み出し要求が
あるかないかを判定する。そして、読み出し要求があれ
ば、ステップS43に進み、読み出し要求がなければ、
ステップS54に進む。
【0147】ステップS43では、要求されたファイル
が既に読み出し要求されたファイルと同一ファイルであ
るか判定する。そして、同一要求ファイルがあれば、ス
テップS47に進み、同一要求ファイルがなければ、ス
テップS44に進む。
が既に読み出し要求されたファイルと同一ファイルであ
るか判定する。そして、同一要求ファイルがあれば、ス
テップS47に進み、同一要求ファイルがなければ、ス
テップS44に進む。
【0148】ステップS44では、それまで読み出し要
求のされていなかったファイルであるので、読み出し要
求ファイル数Nを1だけインクリメントする。ステップ
S45、S46では、読み出し要求ファイルの要求され
たファイルに対する読み出し要求回数値Cjに初期値C
0を設定し、ステップS50に進む。
求のされていなかったファイルであるので、読み出し要
求ファイル数Nを1だけインクリメントする。ステップ
S45、S46では、読み出し要求ファイルの要求され
たファイルに対する読み出し要求回数値Cjに初期値C
0を設定し、ステップS50に進む。
【0149】次に、ステップS50では、全てのファイ
ルに対応する読み出し要求回数値Ciを1だけ減らし
て、ステップS51に進む。ステップS47では、ステ
ップS43で既に同一ファイルの要求の受け付けがある
と判定されたことから、同一ファイルの読み出し要求の
受け付けがあるとしてステップS48に進む。
ルに対応する読み出し要求回数値Ciを1だけ減らし
て、ステップS51に進む。ステップS47では、ステ
ップS43で既に同一ファイルの要求の受け付けがある
と判定されたことから、同一ファイルの読み出し要求の
受け付けがあるとしてステップS48に進む。
【0150】ステップS48では、ステップS41の方
式設定で方式2が選択されたかどうかを判定し、方式設
定で方式2が選択されたならば、ステップS50に進
み、方式設定で方式1又は方式3が選択されたならば、
ステップS49に進む。
式設定で方式2が選択されたかどうかを判定し、方式設
定で方式2が選択されたならば、ステップS50に進
み、方式設定で方式1又は方式3が選択されたならば、
ステップS49に進む。
【0151】次に、ステップS49では、読み出し要求
の受け付けが行われた同一ファイルの読み出し要求回数
値Ciを1だけ減らし、ステップS51に進む。次に、
ステップS51では、読み出し要求回数値Ciに0のも
のがあるか判定する。読み出し要求回数値Ciに0のも
のがあれば、ステップS51に進み、読み出し要求回数
値Ciに0のものがなければ、ステップS42以降の処
理を繰り返す。
の受け付けが行われた同一ファイルの読み出し要求回数
値Ciを1だけ減らし、ステップS51に進む。次に、
ステップS51では、読み出し要求回数値Ciに0のも
のがあるか判定する。読み出し要求回数値Ciに0のも
のがあれば、ステップS51に進み、読み出し要求回数
値Ciに0のものがなければ、ステップS42以降の処
理を繰り返す。
【0152】なお、ステップS41の方式設定で方式1
が選択された場合、初期値C0は1に設定され、ステッ
プS50で読み出し要求回数値Ciが1だけ減らされて
0となっているで、ステップS51において、常に“Y
ES”と判定される。このため、方式1が選択された場
合、新規に要求されたファイルは、ステップS52で常
に、記憶デバイス41からの読み出しが行われ、新規に
要求されたファイルの送出を即座に行ことができる。
が選択された場合、初期値C0は1に設定され、ステッ
プS50で読み出し要求回数値Ciが1だけ減らされて
0となっているで、ステップS51において、常に“Y
ES”と判定される。このため、方式1が選択された場
合、新規に要求されたファイルは、ステップS52で常
に、記憶デバイス41からの読み出しが行われ、新規に
要求されたファイルの送出を即座に行ことができる。
【0153】次に、ステップS52では、読み出し要求
回数値Ciが0のファイルのデータを記憶デバイス41
から読み出す。次に、ステップS53では、読み出し要
求ファイル数Nを1だけ減らす。
回数値Ciが0のファイルのデータを記憶デバイス41
から読み出す。次に、ステップS53では、読み出し要
求ファイル数Nを1だけ減らす。
【0154】ステップS54では、ステップS42で読
み出し要求がなければ、読み出しファイル数保持部64
に保持されている読み出し要求ファイル数Nが0である
かないかを判定する。読み出し要求ファイル数N>0で
あれば、ステップS50以降の処理を繰り返す。読み出
し要求ファイル数Nが0であれば、ステップS42以降
の処理を繰り返す。
み出し要求がなければ、読み出しファイル数保持部64
に保持されている読み出し要求ファイル数Nが0である
かないかを判定する。読み出し要求ファイル数N>0で
あれば、ステップS50以降の処理を繰り返す。読み出
し要求ファイル数Nが0であれば、ステップS42以降
の処理を繰り返す。
【0155】図13は、本発明の第2実施例によるデー
タ転送システムの構成を示すブロック図である。図13
の実施例では、対象とするデータが、記憶装置37への
アクセス要求のうちデータ読み出しの割合が多く、かつ
大量で連続的であるという特徴があることから、記憶装
置37にキャッシュメモリ48を設けておき、キャッシ
ュメモリ48からのデータ転送(ヒット転送)が行われ
るようにしておくことにより、データ供給能力を向上さ
せている。
タ転送システムの構成を示すブロック図である。図13
の実施例では、対象とするデータが、記憶装置37への
アクセス要求のうちデータ読み出しの割合が多く、かつ
大量で連続的であるという特徴があることから、記憶装
置37にキャッシュメモリ48を設けておき、キャッシ
ュメモリ48からのデータ転送(ヒット転送)が行われ
るようにしておくことにより、データ供給能力を向上さ
せている。
【0156】そのため、図13の実施例では、キャッシ
ュメモリ48が図7の構成に付け加えられている。すな
わち、図13において、35はサーバ、36は読み出し
要求受け付けテーブル、36′はデータバッファ、40
は記憶制御部、41は記憶デバイス、45はサーバイン
タフェースモジュール、46はデバイスインタフェース
モジュール、48はキャッシュメモリ、50は制御部
(MPU)、51は制御記憶、52は読み出し要求判定
プログラム、54は読み出し開始決定プログラム、55
は読み出し要求回数カウントプログラム、56は読み出
し要求テーブル、57はキャッシュ制御プログラムであ
って、キャッシュメモリ48の制御を行うプログラム、
60はキャッシュメモリ管理テーブルであって、キャッ
シュメモリ48を管理するテーブルである。
ュメモリ48が図7の構成に付け加えられている。すな
わち、図13において、35はサーバ、36は読み出し
要求受け付けテーブル、36′はデータバッファ、40
は記憶制御部、41は記憶デバイス、45はサーバイン
タフェースモジュール、46はデバイスインタフェース
モジュール、48はキャッシュメモリ、50は制御部
(MPU)、51は制御記憶、52は読み出し要求判定
プログラム、54は読み出し開始決定プログラム、55
は読み出し要求回数カウントプログラム、56は読み出
し要求テーブル、57はキャッシュ制御プログラムであ
って、キャッシュメモリ48の制御を行うプログラム、
60はキャッシュメモリ管理テーブルであって、キャッ
シュメモリ48を管理するテーブルである。
【0157】図13の実施例の動作は、キャッシュメモ
リ48に関する動作を除いて、図7の実施例の動作と同
様である。すなわち、キャッシュメモリ管理テーブル6
0は、キャッシュメモリ48に格納するファイルの優先
度を管理するファイル管理テーブルと、ファイル毎にブ
ロックの格納の優先度を管理するブロック管理テーブル
とを備えている。
リ48に関する動作を除いて、図7の実施例の動作と同
様である。すなわち、キャッシュメモリ管理テーブル6
0は、キャッシュメモリ48に格納するファイルの優先
度を管理するファイル管理テーブルと、ファイル毎にブ
ロックの格納の優先度を管理するブロック管理テーブル
とを備えている。
【0158】サーバ35は、クライアントからのファイ
ルの読み出し要求に基づいて、読み出し要求があったフ
ァイルと読み出し要求を行ったクライアントを対応づけ
て読み出し要求受け付けテーブル36に記録する。そし
て、サーバ35から記憶装置37のサーバインタフェー
スモジュール45にファイルの読み出し要求が転送され
る。サーバインタフェースモジュール45はファイルの
読み出し要求を受け付ける。
ルの読み出し要求に基づいて、読み出し要求があったフ
ァイルと読み出し要求を行ったクライアントを対応づけ
て読み出し要求受け付けテーブル36に記録する。そし
て、サーバ35から記憶装置37のサーバインタフェー
スモジュール45にファイルの読み出し要求が転送され
る。サーバインタフェースモジュール45はファイルの
読み出し要求を受け付ける。
【0159】制御装置47は、制御部50と読み出し要
求判定プログラム52により読み出し要求があったこと
を判定し、キャッシュ制御プログラム57を起動して、
ファイル管理テーブルで管理されるファイルのうち、ク
ライアントから要求されたファイルのキャッシュメモリ
48に保持する優先度を最も高い優先度とする。また、
ブロック管理テーブル24で管理されるファイル毎のブ
ロックのうち、最も後に読み出し要求のあったブロック
程優先度が高く、読み出し要求の古い順に優先度の順位
を低くする。
求判定プログラム52により読み出し要求があったこと
を判定し、キャッシュ制御プログラム57を起動して、
ファイル管理テーブルで管理されるファイルのうち、ク
ライアントから要求されたファイルのキャッシュメモリ
48に保持する優先度を最も高い優先度とする。また、
ブロック管理テーブル24で管理されるファイル毎のブ
ロックのうち、最も後に読み出し要求のあったブロック
程優先度が高く、読み出し要求の古い順に優先度の順位
を低くする。
【0160】さらに、新しくデータを書き込むブロック
の領域がキャッシュメモリ48にない時は、ファイルの
優先度の低い順にブロックを削除するファイルを決定
し、削除すると決定されたファイルのブロックの優先度
の低い順にブロックの削除を行う。
の領域がキャッシュメモリ48にない時は、ファイルの
優先度の低い順にブロックを削除するファイルを決定
し、削除すると決定されたファイルのブロックの優先度
の低い順にブロックの削除を行う。
【0161】また、制御装置47は、読み出し要求回数
カウントプログラム55を起動し、読み出し要求があっ
たファイルの読み出し回数を更新する。そして、読み出
し開始決定プログラム54は、読み出し回数が所定値に
なったファイルまたは読み出し要求から一定時間が経過
したファイルが存在するかどうかを判定し、読み出し回
数が所定値なったファイルまたは読み出し要求から一定
時間が経過したファイルを、読み出し開始ファイルと決
定する。読み出し開始ファイルが決定されると、キャッ
シュメモリ管理テーブル60のファイル管理テーブルを
参照し、読み出し開始ファイルがファイル管理テーブル
に登録されているかどうか調べる。
カウントプログラム55を起動し、読み出し要求があっ
たファイルの読み出し回数を更新する。そして、読み出
し開始決定プログラム54は、読み出し回数が所定値に
なったファイルまたは読み出し要求から一定時間が経過
したファイルが存在するかどうかを判定し、読み出し回
数が所定値なったファイルまたは読み出し要求から一定
時間が経過したファイルを、読み出し開始ファイルと決
定する。読み出し開始ファイルが決定されると、キャッ
シュメモリ管理テーブル60のファイル管理テーブルを
参照し、読み出し開始ファイルがファイル管理テーブル
に登録されているかどうか調べる。
【0162】読み出し開始ファイルがファイル管理テー
ブルに登録されている場合、制御部50は、サーバイン
ターフェースモジュール45にキャッシュメモリ48か
ら読み出し開始ファイルを読み出すように指示する。サ
ーバインターフェースモジュール45は、読み出し開始
ファイルをキャッシュメモリ48から読み出し、サーバ
35に送信する。
ブルに登録されている場合、制御部50は、サーバイン
ターフェースモジュール45にキャッシュメモリ48か
ら読み出し開始ファイルを読み出すように指示する。サ
ーバインターフェースモジュール45は、読み出し開始
ファイルをキャッシュメモリ48から読み出し、サーバ
35に送信する。
【0163】読み出し開始ファイルがファイル管理テー
ブルに登録されていない場合、制御部50は、デバイス
インタフェースモジュール46に記憶デバイス41から
読み出し開始ファイルを読み出すように指示する。デバ
イスインタフェースモジュール46は、読み出し開始フ
ァイルを記憶デバイス41から読み出し、サーバインタ
ーフェースモジュール45に送信し、サーバインターフ
ェースモジュール45は、デバイスインタフェースモジ
ュール46から受信した読み出し開始ファイルをサーバ
35に送信する。
ブルに登録されていない場合、制御部50は、デバイス
インタフェースモジュール46に記憶デバイス41から
読み出し開始ファイルを読み出すように指示する。デバ
イスインタフェースモジュール46は、読み出し開始フ
ァイルを記憶デバイス41から読み出し、サーバインタ
ーフェースモジュール45に送信し、サーバインターフ
ェースモジュール45は、デバイスインタフェースモジ
ュール46から受信した読み出し開始ファイルをサーバ
35に送信する。
【0164】ここで、キャッシュ制御プログラム57
は、最も後に読み出し要求のあったファイルを優先して
ファイルのキャッシュメモリ48に格納しているので、
読み出し要求の頻度の多いファイルは、キャッシュメモ
リ48から読み出される機会が多くなり、読み出し要求
が以前になかったファイルや読み出し要求が以前に行わ
れていてもそれ以後の読み出し要求がなかったファイル
などは、キャッシュメモリ48に格納されていないの
で、記憶デバイス41から読み出される機会が多くな
る。
は、最も後に読み出し要求のあったファイルを優先して
ファイルのキャッシュメモリ48に格納しているので、
読み出し要求の頻度の多いファイルは、キャッシュメモ
リ48から読み出される機会が多くなり、読み出し要求
が以前になかったファイルや読み出し要求が以前に行わ
れていてもそれ以後の読み出し要求がなかったファイル
などは、キャッシュメモリ48に格納されていないの
で、記憶デバイス41から読み出される機会が多くな
る。
【0165】サーバ35は、サーバインタフェースモジ
ュール45から受け取った読み出し開始ファイルのデー
タをデータバッファ36′に保持する。そして、読み出
し要求受け付けテーブル36を参照し、読み出し要求受
け付けテーブル36に記録されているクライアントに読
み出し開始ファイルのデータを転送する。そして、各ク
ライアントへのデータの転送が終了すると、データバッ
ファ36′のデータをクリアし、読み出し要求受け付け
テーブル36の読み出し要求ファイルの受け付けの記録
をクリアする。
ュール45から受け取った読み出し開始ファイルのデー
タをデータバッファ36′に保持する。そして、読み出
し要求受け付けテーブル36を参照し、読み出し要求受
け付けテーブル36に記録されているクライアントに読
み出し開始ファイルのデータを転送する。そして、各ク
ライアントへのデータの転送が終了すると、データバッ
ファ36′のデータをクリアし、読み出し要求受け付け
テーブル36の読み出し要求ファイルの受け付けの記録
をクリアする。
【0166】また、キャッシュ制御プログラム57は、
連続してアクセスされる一連のデータをキャッシュメモ
リ48に格納する際に、その一連のデータのアクセス状
況を調べる。そして、連続してアクセスされる一連のデ
ータより構成されるファイルの一部のブロックがキャッ
シュメモリ48上に格納されていて、キャッシュメモリ
48上に格納されているブロックより前のブロックへの
アクセスがあったならば、アクセスがあったファイルの
優先度を最も高くする。
連続してアクセスされる一連のデータをキャッシュメモ
リ48に格納する際に、その一連のデータのアクセス状
況を調べる。そして、連続してアクセスされる一連のデ
ータより構成されるファイルの一部のブロックがキャッ
シュメモリ48上に格納されていて、キャッシュメモリ
48上に格納されているブロックより前のブロックへの
アクセスがあったならば、アクセスがあったファイルの
優先度を最も高くする。
【0167】さらに、キャッシュメモリ48上に格納さ
れているブロックの削除を行わずに、アクセス要求のあ
ったブロックの所定後のブロックからキャッシュメモリ
48上に格納されているブロックの一つ前のブロックま
でをキャッシュメモリ48に格納する。
れているブロックの削除を行わずに、アクセス要求のあ
ったブロックの所定後のブロックからキャッシュメモリ
48上に格納されているブロックの一つ前のブロックま
でをキャッシュメモリ48に格納する。
【0168】このように、アクセス要求のあったブロッ
クがキャッシュメモリ48上に格納されていない場合、
アクセス要求のあったブロック以降のブロックを先読み
してキャッシュメモリ48上に格納しておくようにす
る。このことにより、映画や音楽などのマルチメディア
データでは、アクセス要求のあったブロックが読み出さ
れた時に、アクセス要求のあったブロック以降のブロッ
クも読み出される可能性が高いことから、アクセス要求
のあったブロック以降のブロックについてはキャッシュ
ヒットさせることが可能となり、データの転送効率を向
上させることができる。
クがキャッシュメモリ48上に格納されていない場合、
アクセス要求のあったブロック以降のブロックを先読み
してキャッシュメモリ48上に格納しておくようにす
る。このことにより、映画や音楽などのマルチメディア
データでは、アクセス要求のあったブロックが読み出さ
れた時に、アクセス要求のあったブロック以降のブロッ
クも読み出される可能性が高いことから、アクセス要求
のあったブロック以降のブロックについてはキャッシュ
ヒットさせることが可能となり、データの転送効率を向
上させることができる。
【0169】図14は、図13のデータ転送システムの
第1実施例の動作を示すフローチャートである。なお、
図14の実施例は、図11の実施例に、キャッシュメモ
リ48による読み出し動作を追加したものである。
第1実施例の動作を示すフローチャートである。なお、
図14の実施例は、図11の実施例に、キャッシュメモ
リ48による読み出し動作を追加したものである。
【0170】図14において、まず、ステップS61に
示すように、初期設定として、読み出し要求ファイル数
Nを0とする。次に、ステップS62に示すように、ク
ライアントからの読み出し要求があるかないかを判定す
る。そして、読み出し要求があれば、ステップS63に
進み、読み出し要求がなければ、ステップS74に進
む。
示すように、初期設定として、読み出し要求ファイル数
Nを0とする。次に、ステップS62に示すように、ク
ライアントからの読み出し要求があるかないかを判定す
る。そして、読み出し要求があれば、ステップS63に
進み、読み出し要求がなければ、ステップS74に進
む。
【0171】ステップS63では、要求されたファイル
が既に読み出し要求されたファイルと同一ファイルであ
るか判定する。そして、同一要求ファイルがあれば、ス
テップS68に進み、同一要求ファイルがなければ、ス
テップS64に進む。
が既に読み出し要求されたファイルと同一ファイルであ
るか判定する。そして、同一要求ファイルがあれば、ス
テップS68に進み、同一要求ファイルがなければ、ス
テップS64に進む。
【0172】ステップS64では、ステップS63でそ
れまで読み出し要求のされていなかったファイルと判定
されているので、読み出し要求ファイル数Nを1だけイ
ンクリメントする。
れまで読み出し要求のされていなかったファイルと判定
されているので、読み出し要求ファイル数Nを1だけイ
ンクリメントする。
【0173】ステップS65、S66では、読み出し要
求ファイルの要求されたファイルに対する読み出し要求
回数値Cjに、初期値C0を設定し、ステップS67に
進む。ここで、初期値C0は、読み出しを開始するまで
の要求回数+1をセットする。
求ファイルの要求されたファイルに対する読み出し要求
回数値Cjに、初期値C0を設定し、ステップS67に
進む。ここで、初期値C0は、読み出しを開始するまで
の要求回数+1をセットする。
【0174】次に、ステップS67では、読み出し要求
が新規に行われたファイルのキャッシュメモリ48への
読み込み指示を行う。この時、読み出し要求が新規に行
われたファイルのキャッシュメモリ48に保持する優先
度を最も高い優先度とする。また、読み出し要求が新規
に行われたファイルを格納する領域が、キャッシュメモ
リ48にない場合、優先度の最も低いファイルをキャッ
シュメモリ48から追い出してから、読み出し要求が新
規に行われたファイルをキャッシュメモリ48に格納す
る。
が新規に行われたファイルのキャッシュメモリ48への
読み込み指示を行う。この時、読み出し要求が新規に行
われたファイルのキャッシュメモリ48に保持する優先
度を最も高い優先度とする。また、読み出し要求が新規
に行われたファイルを格納する領域が、キャッシュメモ
リ48にない場合、優先度の最も低いファイルをキャッ
シュメモリ48から追い出してから、読み出し要求が新
規に行われたファイルをキャッシュメモリ48に格納す
る。
【0175】次に、ステップS68では、全てのファイ
ルに対応する読み出し要求回数値Ciを1だけ減らし
て、ステップS71に進む。ステップS69では、ステ
ップS63で既に同一ファイルの要求の受け付けがある
と判定されたことから、同一ファイルの読み出し要求の
受け付けがあるとしてステップS70に進む。
ルに対応する読み出し要求回数値Ciを1だけ減らし
て、ステップS71に進む。ステップS69では、ステ
ップS63で既に同一ファイルの要求の受け付けがある
と判定されたことから、同一ファイルの読み出し要求の
受け付けがあるとしてステップS70に進む。
【0176】次に、ステップS70では、読み出し要求
の受け付けが行われた同一ファイルの読み出し要求回数
値Ciを1だけ減らし、ステップS71に進む。次に、
ステップS71では、読み出し要求回数値Ciに0のも
のがあるか判定する。読み出し要求回数値Ciに0のも
のがあれば、ステップS72に進み、読み出し要求回数
値Ciに0のものがなければ、ステップS62以降の処
理を繰り返す。
の受け付けが行われた同一ファイルの読み出し要求回数
値Ciを1だけ減らし、ステップS71に進む。次に、
ステップS71では、読み出し要求回数値Ciに0のも
のがあるか判定する。読み出し要求回数値Ciに0のも
のがあれば、ステップS72に進み、読み出し要求回数
値Ciに0のものがなければ、ステップS62以降の処
理を繰り返す。
【0177】次に、ステップS72では、キャッシュメ
モリ48から読み出し要求回数値Ciが0のファイルの
データを読み出す。この時、読み出し要求回数値Ciが
0のファイルのデータが、キャッシュメモリ48に保持
されていない場合、記憶デバイス41から読み出し要求
回数値Ciが0のファイルのデータを読み出す。
モリ48から読み出し要求回数値Ciが0のファイルの
データを読み出す。この時、読み出し要求回数値Ciが
0のファイルのデータが、キャッシュメモリ48に保持
されていない場合、記憶デバイス41から読み出し要求
回数値Ciが0のファイルのデータを読み出す。
【0178】次に、ステップS73では、読み出し要求
ファイル数Nを1だけ減らす。ステップS74では、ス
テップS62で読み出し要求がなければ、読み出し要求
ファイル数Nが0であるかないかを判定する。読み出し
要求ファイル数N>0であれば、ステップS68以降の
処理を繰り返す。読み出し要求ファイル数Nが0であれ
ば、ステップS62以降の処理を繰り返す。
ファイル数Nを1だけ減らす。ステップS74では、ス
テップS62で読み出し要求がなければ、読み出し要求
ファイル数Nが0であるかないかを判定する。読み出し
要求ファイル数N>0であれば、ステップS68以降の
処理を繰り返す。読み出し要求ファイル数Nが0であれ
ば、ステップS62以降の処理を繰り返す。
【0179】図15は、図13のデータ転送システムの
第2実施例の動作を示すフローチャートである。なお、
図15の実施例は、図12の実施例に、キャッシュメモ
リ48による読み出し動作を追加したものである。
第2実施例の動作を示すフローチャートである。なお、
図15の実施例は、図12の実施例に、キャッシュメモ
リ48による読み出し動作を追加したものである。
【0180】図15において、まず、ステップS81に
示すように、初期設定として、読み出し要求ファイル数
Nを0とする。また、初期値C0を設定するとともに、
方式設定を行う。この方式としては、方式1〜3まであ
り、方式1はフル・ビデオ・オン・デマンド方式、方式
2はニア・ビデオ・オン・デマンド方式、方式3は読み
出し要求回数が所定値に達したファイルを送出する方式
である。なお、方式設定で、方式1のフル・ビデオ・オ
ン・デマンド方式を選択した場合、初期値C0を1に設
定し、方式2のニア・ビデオ・オン・デマンド方式を選
択した場合、初期値C0を読み出しを行うまでの一定時
間に対応する値に設定する。また、方式3を選択した場
合、初期値C0を読み出しを開始するまでの要求回数+
1にセットする。
示すように、初期設定として、読み出し要求ファイル数
Nを0とする。また、初期値C0を設定するとともに、
方式設定を行う。この方式としては、方式1〜3まであ
り、方式1はフル・ビデオ・オン・デマンド方式、方式
2はニア・ビデオ・オン・デマンド方式、方式3は読み
出し要求回数が所定値に達したファイルを送出する方式
である。なお、方式設定で、方式1のフル・ビデオ・オ
ン・デマンド方式を選択した場合、初期値C0を1に設
定し、方式2のニア・ビデオ・オン・デマンド方式を選
択した場合、初期値C0を読み出しを行うまでの一定時
間に対応する値に設定する。また、方式3を選択した場
合、初期値C0を読み出しを開始するまでの要求回数+
1にセットする。
【0181】次に、ステップS82に示すように、クラ
イアントからの読み出し要求があるかないかを判定す
る。そして、読み出し要求があれば、ステップS83に
進み、読み出し要求がなければ、ステップS95に進
む。
イアントからの読み出し要求があるかないかを判定す
る。そして、読み出し要求があれば、ステップS83に
進み、読み出し要求がなければ、ステップS95に進
む。
【0182】ステップS83では、要求されたファイル
が既に読み出し要求されたファイルと同一ファイルであ
るか判定する。そして、同一要求ファイルがあれば、ス
テップS88に進み、同一要求ファイルがなければ、ス
テップS84に進む。
が既に読み出し要求されたファイルと同一ファイルであ
るか判定する。そして、同一要求ファイルがあれば、ス
テップS88に進み、同一要求ファイルがなければ、ス
テップS84に進む。
【0183】ステップS84では、ステップS83でそ
れまで読み出し要求のされていなかったファイルと判定
されているので、読み出し要求ファイル数Nを1だけイ
ンクリメントする。
れまで読み出し要求のされていなかったファイルと判定
されているので、読み出し要求ファイル数Nを1だけイ
ンクリメントする。
【0184】ステップS85、S86では、読み出し要
求ファイルの要求されたファイルに対する読み出し要求
回数値Cjに、初期値C0を設定し、ステップS87に
進む。
求ファイルの要求されたファイルに対する読み出し要求
回数値Cjに、初期値C0を設定し、ステップS87に
進む。
【0185】次に、ステップS87では、読み出し要求
が新規に行われたファイルのキャッシュメモリ48への
読み込み指示を行う。この時、読み出し要求が新規に行
われたファイルのキャッシュメモリ48に保持する優先
度を最も高い優先度とする。また、読み出し要求が新規
に行われたファイルを格納する領域が、キャッシュメモ
リ48にない場合、優先度の最も低いファイルをキャッ
シュメモリ48から追い出してから、読み出し要求が新
規に行われたファイルをキャッシュメモリ48に格納す
る。
が新規に行われたファイルのキャッシュメモリ48への
読み込み指示を行う。この時、読み出し要求が新規に行
われたファイルのキャッシュメモリ48に保持する優先
度を最も高い優先度とする。また、読み出し要求が新規
に行われたファイルを格納する領域が、キャッシュメモ
リ48にない場合、優先度の最も低いファイルをキャッ
シュメモリ48から追い出してから、読み出し要求が新
規に行われたファイルをキャッシュメモリ48に格納す
る。
【0186】次に、ステップS88では、全てのファイ
ルに対応する読み出し要求回数値Ciを1だけ減らし
て、ステップS51に進む。ステップS89では、ステ
ップS83で既に同一ファイルの要求の受け付けがある
と判定されたことから、同一ファイルの読み出し要求の
受け付けがあるとしてステップS90に進む。
ルに対応する読み出し要求回数値Ciを1だけ減らし
て、ステップS51に進む。ステップS89では、ステ
ップS83で既に同一ファイルの要求の受け付けがある
と判定されたことから、同一ファイルの読み出し要求の
受け付けがあるとしてステップS90に進む。
【0187】ステップS90では、ステップS81の方
式設定で方式2が選択されたかどうかを判定し、方式設
定で方式2が選択されたならば、ステップS88に進
み、方式設定で方式1又は方式3が選択されたならば、
ステップS91に進む。
式設定で方式2が選択されたかどうかを判定し、方式設
定で方式2が選択されたならば、ステップS88に進
み、方式設定で方式1又は方式3が選択されたならば、
ステップS91に進む。
【0188】次に、ステップS91では、読み出し要求
の受け付けが行われた同一ファイルの読み出し要求回数
値Ciを1だけ減らし、ステップS92に進む。次に、
ステップS92では、読み出し要求回数値Ciに0のも
のがあるか判定する。読み出し要求回数値Ciに0のも
のがあれば、ステップS93に進み、読み出し要求回数
値Ciに0のものがなければ、ステップS82以降の処
理を繰り返す。
の受け付けが行われた同一ファイルの読み出し要求回数
値Ciを1だけ減らし、ステップS92に進む。次に、
ステップS92では、読み出し要求回数値Ciに0のも
のがあるか判定する。読み出し要求回数値Ciに0のも
のがあれば、ステップS93に進み、読み出し要求回数
値Ciに0のものがなければ、ステップS82以降の処
理を繰り返す。
【0189】次に、ステップS93では、キャッシュメ
モリ48から読み出し要求回数値Ciが0のファイルの
データを読み出す。この時、読み出し要求回数値Ciが
0のファイルのデータが、キャッシュメモリ48に保持
されていない場合、記憶デバイス41から読み出し要求
回数値Ciが0のファイルのデータを読み出す。
モリ48から読み出し要求回数値Ciが0のファイルの
データを読み出す。この時、読み出し要求回数値Ciが
0のファイルのデータが、キャッシュメモリ48に保持
されていない場合、記憶デバイス41から読み出し要求
回数値Ciが0のファイルのデータを読み出す。
【0190】次に、ステップS94では、読み出し要求
ファイル数Nを1だけ減らす。ステップS95では、ス
テップS82で読み出し要求がなければ、読み出し要求
ファイル数Nが0であるかないかを判定する。読み出し
要求ファイル数N>0であれば、ステップS88以降の
処理を繰り返す。読み出し要求ファイル数Nが0であれ
ば、ステップS82以降の処理を繰り返す。
ファイル数Nを1だけ減らす。ステップS95では、ス
テップS82で読み出し要求がなければ、読み出し要求
ファイル数Nが0であるかないかを判定する。読み出し
要求ファイル数N>0であれば、ステップS88以降の
処理を繰り返す。読み出し要求ファイル数Nが0であれ
ば、ステップS82以降の処理を繰り返す。
【0191】図16は、本発明の一実施例によるキャッ
シュメモリの制御方法を示す図である。ここで、図16
(a)は,LRU法によるファイル管理方法の説明図で
あり、図16(b)は、FIFO法によるブロック管理
方法の説明図である。
シュメモリの制御方法を示す図である。ここで、図16
(a)は,LRU法によるファイル管理方法の説明図で
あり、図16(b)は、FIFO法によるブロック管理
方法の説明図である。
【0192】図16(a)において、71、71′はそ
れぞれファイル管理テーブル、図16(b)において、
72、72′はそれぞれブロック管理テーブルである。
ファイル管理テーブル71には、ファイルi、ファイル
j、・・・、ファイルk、・・・、ファイルlが格納さ
れ、ファイルiの優先度が最も高く、ファイルlの優先
度が最も低くなっている。このファイル管理テーブル7
1の状態において、ファイルkの読み出し要求が発生す
ると、ファイルkの優先度を最も高くし、ファイル管理
テーブル71′を生成する。
れぞれファイル管理テーブル、図16(b)において、
72、72′はそれぞれブロック管理テーブルである。
ファイル管理テーブル71には、ファイルi、ファイル
j、・・・、ファイルk、・・・、ファイルlが格納さ
れ、ファイルiの優先度が最も高く、ファイルlの優先
度が最も低くなっている。このファイル管理テーブル7
1の状態において、ファイルkの読み出し要求が発生す
ると、ファイルkの優先度を最も高くし、ファイル管理
テーブル71′を生成する。
【0193】このように、ファイル管理は、LRU法に
より行い、最も近い時間に読み出されたファイルの優先
度を一番高くし、読み出された最も古いファイルを最も
低い優先度とする。
より行い、最も近い時間に読み出されたファイルの優先
度を一番高くし、読み出された最も古いファイルを最も
低い優先度とする。
【0194】キャッシュメモリからブロックの追い出し
を行う場合は、このファイル管理テーブル71を参照
し、最も使用されていないファイルlの先頭ブロックか
ら追い出しが行われる。すなわち、図16(b)におい
て、ファイルlのブロック管理テーブル72には、ブロ
ックp、・・・、ブロックd、ブロックc、・・・、ブ
ロックb、ブロックnが格納され、ブロックpの優先度
が最も高く、ブロックnの優先度が最も低くなってい
る。そして、ブロックの追い出しを行う場合は、優先度
が最も低いブロックnを最初に追い出し、優先度が2番
目に低いブロックbを次に追い出すようにする。
を行う場合は、このファイル管理テーブル71を参照
し、最も使用されていないファイルlの先頭ブロックか
ら追い出しが行われる。すなわち、図16(b)におい
て、ファイルlのブロック管理テーブル72には、ブロ
ックp、・・・、ブロックd、ブロックc、・・・、ブ
ロックb、ブロックnが格納され、ブロックpの優先度
が最も高く、ブロックnの優先度が最も低くなってい
る。そして、ブロックの追い出しを行う場合は、優先度
が最も低いブロックnを最初に追い出し、優先度が2番
目に低いブロックbを次に追い出すようにする。
【0195】このようにすることにより、使用頻度の高
いファイルの一部のブロックが追い出される可能性が低
くなり、ヒット転送の可能性が向上する。また、キャッ
シュメモリからのブロックの追い出しは、FIFO法も
しくはLRU法で行うが、ファイルの後半部分のみがキ
ャッシュメモリ上にあった場合に、そのファイルの前半
部分への読み出し要求があったならば、読み出し要求の
あったブロックからファイルの後半部分より前のブロッ
クをキャッシュメモリ上に優先的に格納する処理を行っ
て、ヒット転送の可能性を増やすようにする。
いファイルの一部のブロックが追い出される可能性が低
くなり、ヒット転送の可能性が向上する。また、キャッ
シュメモリからのブロックの追い出しは、FIFO法も
しくはLRU法で行うが、ファイルの後半部分のみがキ
ャッシュメモリ上にあった場合に、そのファイルの前半
部分への読み出し要求があったならば、読み出し要求の
あったブロックからファイルの後半部分より前のブロッ
クをキャッシュメモリ上に優先的に格納する処理を行っ
て、ヒット転送の可能性を増やすようにする。
【0196】FIFO法でブロックを管理する場合に
は、後から読み出し要求のあったファイルのエントリ
(記録)が優先度の最も高い所に動かされる。LRU法
でブロックを管理する場合には、読み出し要求のあった
ブロックのエントリが優先度の最も高い所に動かされ
る。
は、後から読み出し要求のあったファイルのエントリ
(記録)が優先度の最も高い所に動かされる。LRU法
でブロックを管理する場合には、読み出し要求のあった
ブロックのエントリが優先度の最も高い所に動かされ
る。
【0197】次に、図16(b)を参照しながらFIF
O法によるブロック管理方法について説明する。ここで
は、ブロックのキャッシュメモリからの追い出しと、読
み出し要求のあったN個のブロックのキャッシュメモリ
への格納処理の手順について説明する。
O法によるブロック管理方法について説明する。ここで
は、ブロックのキャッシュメモリからの追い出しと、読
み出し要求のあったN個のブロックのキャッシュメモリ
への格納処理の手順について説明する。
【0198】まず、N個のブロックの読み出し要求によ
って、図16(a)のファイル管理テーブル71を参照
し、キャッシュメモリ上の優先度の低いファイルのエン
トリを見つける。
って、図16(a)のファイル管理テーブル71を参照
し、キャッシュメモリ上の優先度の低いファイルのエン
トリを見つける。
【0199】次に、ファイル管理テーブル71を参照し
て得られた優先度の最も低いファイルlのブロック単位
の管理を行うためのブロック管理テーブル72を参照
し、優先度の低いN個のブロックを選択する。図16
(b)の例では、ブロックc、・・・、ブロックb、ブ
ロックnが選択される。そして、選択されたブロック
c、・・・、ブロックb、ブロックnをブロックnから
順にキャッシュメモリから追い出す。
て得られた優先度の最も低いファイルlのブロック単位
の管理を行うためのブロック管理テーブル72を参照
し、優先度の低いN個のブロックを選択する。図16
(b)の例では、ブロックc、・・・、ブロックb、ブ
ロックnが選択される。そして、選択されたブロック
c、・・・、ブロックb、ブロックnをブロックnから
順にキャッシュメモリから追い出す。
【0200】次に、追い出しが行われたN個のブロック
が記憶されていたキャッシュメモリ内へ、読み出し要求
のあったN個のブロックの内容を記憶する。図16
(b)の例では、ブロックe、・・・、ブロックgがキ
ャッシュメモリ内へ記憶される。この時、ファイルlの
ブロック管理テーブル72は、ブロックe、・・・、ブ
ロックgの優先度を高くし、ブロックp、・・・、ブロ
ックdの優先度を低くしたブロック管理テーブル72′
に更新される。
が記憶されていたキャッシュメモリ内へ、読み出し要求
のあったN個のブロックの内容を記憶する。図16
(b)の例では、ブロックe、・・・、ブロックgがキ
ャッシュメモリ内へ記憶される。この時、ファイルlの
ブロック管理テーブル72は、ブロックe、・・・、ブ
ロックgの優先度を高くし、ブロックp、・・・、ブロ
ックdの優先度を低くしたブロック管理テーブル72′
に更新される。
【0201】図17は、本発明の一実施例によるキャッ
シュメモリのブロック管理方法を示す図である。図17
の実施例は、これから使用されようとするファイルのブ
ロックが、キャッシュメモリから無駄に追い出されるこ
とを防ぐものである。
シュメモリのブロック管理方法を示す図である。図17
の実施例は、これから使用されようとするファイルのブ
ロックが、キャッシュメモリから無駄に追い出されるこ
とを防ぐものである。
【0202】図17において、71、71′はファイル
管理テーブル、72はファイルkのブロック管理テーブ
ルである。まず、あるファイルのキャッシュメモリから
の追い出しを行う場合に、そのファイルへのアクセス状
況を調べる。
管理テーブル、72はファイルkのブロック管理テーブ
ルである。まず、あるファイルのキャッシュメモリから
の追い出しを行う場合に、そのファイルへのアクセス状
況を調べる。
【0203】次に、追い出しを行おうとしているブロッ
クより前のブロックへアクセスがあったら、そのファイ
ルのブロックの追い出しを中止する。例えば、図17
(a)において、ファイルkの途中からファイルkの終
端までがキャッシュメモリに格納されており、ファイル
kの途中からファイルkの終端までのブロックが、キャ
ッシュメモリからの追い出しの対象とされたとする。こ
の時に、ファイルkの先頭のブロックAにアクセス要求
があったならば、ファイルkの途中からファイルkの終
端までのブロックのキャッシュメモリからの追い出しを
中止する。
クより前のブロックへアクセスがあったら、そのファイ
ルのブロックの追い出しを中止する。例えば、図17
(a)において、ファイルkの途中からファイルkの終
端までがキャッシュメモリに格納されており、ファイル
kの途中からファイルkの終端までのブロックが、キャ
ッシュメモリからの追い出しの対象とされたとする。こ
の時に、ファイルkの先頭のブロックAにアクセス要求
があったならば、ファイルkの途中からファイルkの終
端までのブロックのキャッシュメモリからの追い出しを
中止する。
【0204】次に、ブロックの追い出しが中止された場
合、ファイル単位の管理を行うファイル管理テーブルの
最も優先順位の高い所へそのファイルのエントリを動か
す。例えば、図17(b)において、ファイル管理テー
ブル71には、ファイルi、ファイルj、・・・、ファ
イルkが格納され、ファイルiの優先度が最も高く、フ
ァイルkの優先度が最も低くなっている。そして、ファ
イルkのブロックのキャッシュメモリからの追い出しが
中止された場合、図17(c)に示すように、ファイル
管理テーブル71のファイルkの優先度を最も高くし、
ファイル管理テーブル71をファイル管理テーブル7
1′に更新する。
合、ファイル単位の管理を行うファイル管理テーブルの
最も優先順位の高い所へそのファイルのエントリを動か
す。例えば、図17(b)において、ファイル管理テー
ブル71には、ファイルi、ファイルj、・・・、ファ
イルkが格納され、ファイルiの優先度が最も高く、フ
ァイルkの優先度が最も低くなっている。そして、ファ
イルkのブロックのキャッシュメモリからの追い出しが
中止された場合、図17(c)に示すように、ファイル
管理テーブル71のファイルkの優先度を最も高くし、
ファイル管理テーブル71をファイル管理テーブル7
1′に更新する。
【0205】なお、追い出しを行うブロックより前のブ
ロックへアクセス要求がなければ、そのブロックの追い
出しを実行する。例えば、図17(a)において、ファ
イルkの途中からファイルkの終端までがキャッシュメ
モリに格納されており、ファイルkの途中からファイル
kの終端までのブロックが、キャッシュメモリからの追
い出しの対象とされたとする。この時に、ファイルkの
先頭のブロックAにアクセス要求がなかったならば、フ
ァイルkの途中からファイルkの終端までのブロックを
キャッシュメモリから追い出す。
ロックへアクセス要求がなければ、そのブロックの追い
出しを実行する。例えば、図17(a)において、ファ
イルkの途中からファイルkの終端までがキャッシュメ
モリに格納されており、ファイルkの途中からファイル
kの終端までのブロックが、キャッシュメモリからの追
い出しの対象とされたとする。この時に、ファイルkの
先頭のブロックAにアクセス要求がなかったならば、フ
ァイルkの途中からファイルkの終端までのブロックを
キャッシュメモリから追い出す。
【0206】図18、19は、本発明の一実施例による
キャッシュメモリの制御方法を示すフローチャートであ
る。図18において、まず、ステップS101に示すよ
うに、ファイルの読み出し要求のあった場合、読み出し
要求のあったファイルのファイル管理テーブルにおける
優先度を最も高くする。
キャッシュメモリの制御方法を示すフローチャートであ
る。図18において、まず、ステップS101に示すよ
うに、ファイルの読み出し要求のあった場合、読み出し
要求のあったファイルのファイル管理テーブルにおける
優先度を最も高くする。
【0207】次に、ステップS102に示すように、読
み出し対象となったファイルのデータ全体が、キャッシ
ュメモリ内に格納されているかどうか判定する。そし
て、“YES”と判定された場合、処理を終了し、“N
O”と判定された場合、ステップS103に進む。
み出し対象となったファイルのデータ全体が、キャッシ
ュメモリ内に格納されているかどうか判定する。そし
て、“YES”と判定された場合、処理を終了し、“N
O”と判定された場合、ステップS103に進む。
【0208】次に、ステップS103に示すように、読
み出し対象となったファイルのデータの後半部分のみが
キャッシュメモリ内に格納されているかどうか判定す
る。そして、“YES”と判定された場合、ステップS
104に進み、読み出し対象となったファイルの前半部
分のブロック数を格納対象ブロック数Mとする。
み出し対象となったファイルのデータの後半部分のみが
キャッシュメモリ内に格納されているかどうか判定す
る。そして、“YES”と判定された場合、ステップS
104に進み、読み出し対象となったファイルの前半部
分のブロック数を格納対象ブロック数Mとする。
【0209】一方、ステップS103で“NO”と判定
された場合、ステップS105に進み、読み出し対象と
なったファイルのブロック数を格納対象ブロック数Mと
する。
された場合、ステップS105に進み、読み出し対象と
なったファイルのブロック数を格納対象ブロック数Mと
する。
【0210】次に、ステップS106に示すように、キ
ャッシュメモリの空きブロック数Nを設定する。次に、
ステップS107に示すように、キャッシュメモリの空
きブロック数Nと格納対象ブロック数Mとを比較し、キ
ャッシュメモリの空きブロック数Nが格納対象ブロック
数M以上の場合、ステップS108に進んで、キャッシ
ュメモリの空きブロック数Nから格納対象ブロック数M
を引いた値をキャッシュメモリの空きブロック数Nとし
て、図19のステップS113に進む。
ャッシュメモリの空きブロック数Nを設定する。次に、
ステップS107に示すように、キャッシュメモリの空
きブロック数Nと格納対象ブロック数Mとを比較し、キ
ャッシュメモリの空きブロック数Nが格納対象ブロック
数M以上の場合、ステップS108に進んで、キャッシ
ュメモリの空きブロック数Nから格納対象ブロック数M
を引いた値をキャッシュメモリの空きブロック数Nとし
て、図19のステップS113に進む。
【0211】一方、ステップS107でキャッシュメモ
リの空きブロック数Nが格納対象ブロック数Mより小さ
いと判定された場合、ステップS109に進んで、格納
対象ブロック数Mからキャッシュメモリの空きブロック
数Nを引いた値を追い出し対象ブロック数Kとして、ス
テップS110に進む。
リの空きブロック数Nが格納対象ブロック数Mより小さ
いと判定された場合、ステップS109に進んで、格納
対象ブロック数Mからキャッシュメモリの空きブロック
数Nを引いた値を追い出し対象ブロック数Kとして、ス
テップS110に進む。
【0212】次に、ステップS110に示すように、キ
ャッシュメモリの空きブロック数Nを0に設定する。次
に、ステップS111に示すように、ファイル管理テー
ブルを参照して、優先度の最も低いファイルを決定す
る。
ャッシュメモリの空きブロック数Nを0に設定する。次
に、ステップS111に示すように、ファイル管理テー
ブルを参照して、優先度の最も低いファイルを決定す
る。
【0213】次に、ステップS112に示すように、優
先度の最も低いファイルの中から、優先度の低い順にK
個のブロックを選択し、選択されたK個のブロックをキ
ャッシュメモリから追い出すことにより、キャッシュメ
モリの空きブロックとする。
先度の最も低いファイルの中から、優先度の低い順にK
個のブロックを選択し、選択されたK個のブロックをキ
ャッシュメモリから追い出すことにより、キャッシュメ
モリの空きブロックとする。
【0214】次に、図19のステップS113に示すよ
うに、キャッシュメモリ内の空きブロックにM個のブロ
ックを格納する。次に、ステップS114に示すよう
に、Nをキャッシュメモリの空きブロック数とする。図
20(a)は、本発明の第1実施例によるキャッシュメ
モリのブロック格納方法を示す図である。図20(a)
の実施例は、連続してアクセスされる一連のデータを格
納する際に、その一部のブロックのデータがキャッシュ
メモリ上に格納されていて、その部分より前半部分への
アクセスがあった時、アクセス要求のあったブロックの
次のブロックからキャッシュメモリ上に格納されている
ブロックの一つ前のブロックまでを格納する場合の動作
の手順の説明図である。
うに、キャッシュメモリ内の空きブロックにM個のブロ
ックを格納する。次に、ステップS114に示すよう
に、Nをキャッシュメモリの空きブロック数とする。図
20(a)は、本発明の第1実施例によるキャッシュメ
モリのブロック格納方法を示す図である。図20(a)
の実施例は、連続してアクセスされる一連のデータを格
納する際に、その一部のブロックのデータがキャッシュ
メモリ上に格納されていて、その部分より前半部分への
アクセスがあった時、アクセス要求のあったブロックの
次のブロックからキャッシュメモリ上に格納されている
ブロックの一つ前のブロックまでを格納する場合の動作
の手順の説明図である。
【0215】まず、読み出されるファイルの後半部分の
みがキャッシュメモリ上にあった場合に、そのファイル
の前半部分への読み出し要求が行われる。例えば、図2
0(a)において、ファイルkのデータには、キャッシ
ュメモリに格納されている部分Cとキャッシュメモリに
格納されていない部分Fとがあり、キャッシュメモリに
格納されていない部分Fはファイルkの前半部分に対応
し、キャッシュメモリに格納されている部分Cはファイ
ルkの後半部分に対応している。
みがキャッシュメモリ上にあった場合に、そのファイル
の前半部分への読み出し要求が行われる。例えば、図2
0(a)において、ファイルkのデータには、キャッシ
ュメモリに格納されている部分Cとキャッシュメモリに
格納されていない部分Fとがあり、キャッシュメモリに
格納されていない部分Fはファイルkの前半部分に対応
し、キャッシュメモリに格納されている部分Cはファイ
ルkの後半部分に対応している。
【0216】そして、ファイルkの先頭のブロックAに
アクセス要求があったとする。この時、ファイルkのブ
ロックAの読み出し要求があったことにより、ファイル
kのキャッシュメモリに格納されている部分Cの読み出
し要求の可能性が高いことから、ファイルkのキャッシ
ュメモリに格納されている部分Cの追い出しはしない。
アクセス要求があったとする。この時、ファイルkのブ
ロックAの読み出し要求があったことにより、ファイル
kのキャッシュメモリに格納されている部分Cの読み出
し要求の可能性が高いことから、ファイルkのキャッシ
ュメモリに格納されている部分Cの追い出しはしない。
【0217】次に、読み出し要求のあったブロックから
後半部分より前のブロックをキャッシュメモリ上に優先
的に格納する。例えば、図20(a)において、映画や
音楽などのマルチメディアデータの場合、ファイルkの
ブロックAの読み出し要求があった時は、ファイルkの
ブロックAの次のブロックBからキャッシュメモリに格
納されている部分Cの直前のブロックまでの読み出し要
求の可能性は高くなっている。そこで、ファイルkのブ
ロックBからキャッシュメモリに格納されている部分C
の直前のブロックまでを順番に先き読みしてキャッシュ
メモリに格納する。
後半部分より前のブロックをキャッシュメモリ上に優先
的に格納する。例えば、図20(a)において、映画や
音楽などのマルチメディアデータの場合、ファイルkの
ブロックAの読み出し要求があった時は、ファイルkの
ブロックAの次のブロックBからキャッシュメモリに格
納されている部分Cの直前のブロックまでの読み出し要
求の可能性は高くなっている。そこで、ファイルkのブ
ロックBからキャッシュメモリに格納されている部分C
の直前のブロックまでを順番に先き読みしてキャッシュ
メモリに格納する。
【0218】図20(b)は、本発明の第2実施例によ
るキャッシュメモリのブロック格納方法を示す図であ
る。図20(b)の実施例は、連続してアクセスされる
一連のデータを格納する際に、その一部のブロックのデ
ータがキャッシュメモリ上に格納されていて、その部分
より前半部分へのアクセスがあった時、アクセス要求の
あったブロックの所定後のブロックからキャッシュメモ
リ上に格納されているブロックの一つ前のブロックまで
を格納する場合の動作の手順の説明図である。
るキャッシュメモリのブロック格納方法を示す図であ
る。図20(b)の実施例は、連続してアクセスされる
一連のデータを格納する際に、その一部のブロックのデ
ータがキャッシュメモリ上に格納されていて、その部分
より前半部分へのアクセスがあった時、アクセス要求の
あったブロックの所定後のブロックからキャッシュメモ
リ上に格納されているブロックの一つ前のブロックまで
を格納する場合の動作の手順の説明図である。
【0219】まず、読み出されるファイルの後半部分の
みがキャッシュメモリ上にあった場合に、そのファイル
の前半部分への読み出し要求が行われる。例えば、図2
0(b)において、ファイルkのデータには、キャッシ
ュメモリに格納されている部分Cとキャッシュメモリに
格納されていない部分Fとがあり、キャッシュメモリに
格納されていない部分Fはファイルkの前半部分に対応
し、キャッシュメモリに格納されている部分Cはファイ
ルkの後半部分に対応している。
みがキャッシュメモリ上にあった場合に、そのファイル
の前半部分への読み出し要求が行われる。例えば、図2
0(b)において、ファイルkのデータには、キャッシ
ュメモリに格納されている部分Cとキャッシュメモリに
格納されていない部分Fとがあり、キャッシュメモリに
格納されていない部分Fはファイルkの前半部分に対応
し、キャッシュメモリに格納されている部分Cはファイ
ルkの後半部分に対応している。
【0220】そして、ファイルkのブロックAにアクセ
ス要求があったとする。この時、ファイルkのブロック
Aの読み出し要求があったことにより、ファイルkのキ
ャッシュメモリに格納されている部分Cの読み出し要求
の可能性が高いことから、ファイルkのキャッシュメモ
リに格納されている部分Cの追い出しはしない。
ス要求があったとする。この時、ファイルkのブロック
Aの読み出し要求があったことにより、ファイルkのキ
ャッシュメモリに格納されている部分Cの読み出し要求
の可能性が高いことから、ファイルkのキャッシュメモ
リに格納されている部分Cの追い出しはしない。
【0221】次に、読み出し要求のあったブロックから
後半部分より前のブロックをキャッシュメモリ上に優先
的に格納する。例えば、図20(b)において、映画や
音楽などのマルチメディアデータの場合、ファイルkの
ブロックAの読み出し要求があった時は、ファイルkの
ブロックAの次のブロックBからキャッシュメモリに格
納されている部分Cの直前のブロックまでの読み出し要
求の可能性は高くなっている。ここで、ファイルkのブ
ロックAのしばらく後のブロックまではすぐに読み出さ
れて送出される。そこで、ファイルkのブロックAの少
し先のブロックDからキャッシュメモリに格納されてい
る部分Cの直前のブロックまでを順番に先き読みしてキ
ャッシュメモリに格納する。
後半部分より前のブロックをキャッシュメモリ上に優先
的に格納する。例えば、図20(b)において、映画や
音楽などのマルチメディアデータの場合、ファイルkの
ブロックAの読み出し要求があった時は、ファイルkの
ブロックAの次のブロックBからキャッシュメモリに格
納されている部分Cの直前のブロックまでの読み出し要
求の可能性は高くなっている。ここで、ファイルkのブ
ロックAのしばらく後のブロックまではすぐに読み出さ
れて送出される。そこで、ファイルkのブロックAの少
し先のブロックDからキャッシュメモリに格納されてい
る部分Cの直前のブロックまでを順番に先き読みしてキ
ャッシュメモリに格納する。
【0222】図20(c)は、本発明の第3実施例によ
るキャッシュメモリのブロック格納方法を示す図であ
る。図20(c)の実施例は、連続してアクセスされる
一連のデータを格納する際に、その一部のブロックのデ
ータがキャッシュメモリ上に格納されていて、その部分
より前半部分へのアクセスがあった時、既に格納されて
いるブロックの一つ前のブロックから読み出し要求をし
たブロックに向かって逆の順番に格納するようにした場
合の動作の手順の説明図である。
るキャッシュメモリのブロック格納方法を示す図であ
る。図20(c)の実施例は、連続してアクセスされる
一連のデータを格納する際に、その一部のブロックのデ
ータがキャッシュメモリ上に格納されていて、その部分
より前半部分へのアクセスがあった時、既に格納されて
いるブロックの一つ前のブロックから読み出し要求をし
たブロックに向かって逆の順番に格納するようにした場
合の動作の手順の説明図である。
【0223】まず、読み出されるファイルの後半部分の
みがキャッシュメモリ上にあった場合に、そのファイル
の前半部分への読み出し要求が行われる。例えば、図2
0(c)において、ファイルkのデータには、キャッシ
ュメモリに格納されている部分Cとキャッシュメモリに
格納されていない部分Fとがあり、キャッシュメモリに
格納されていない部分Fはファイルkの前半部分に対応
し、キャッシュメモリに格納されている部分Cはファイ
ルkの後半部分に対応している。
みがキャッシュメモリ上にあった場合に、そのファイル
の前半部分への読み出し要求が行われる。例えば、図2
0(c)において、ファイルkのデータには、キャッシ
ュメモリに格納されている部分Cとキャッシュメモリに
格納されていない部分Fとがあり、キャッシュメモリに
格納されていない部分Fはファイルkの前半部分に対応
し、キャッシュメモリに格納されている部分Cはファイ
ルkの後半部分に対応している。
【0224】そして、ファイルkのブロックAにアクセ
ス要求があったとする。この時、ファイルkのブロック
Aの読み出し要求があったことにより、ファイルkのキ
ャッシュメモリに格納されている部分Cの読み出し要求
の可能性が高いことから、ファイルkのキャッシュメモ
リに格納されている部分Cの追い出しはしない。
ス要求があったとする。この時、ファイルkのブロック
Aの読み出し要求があったことにより、ファイルkのキ
ャッシュメモリに格納されている部分Cの読み出し要求
の可能性が高いことから、ファイルkのキャッシュメモ
リに格納されている部分Cの追い出しはしない。
【0225】次に、読み出し要求のあったブロックから
後半部分より前のブロックをキャッシュメモリ上に優先
的に格納する。例えば、図20(c)において、映画や
音楽などのマルチメディアデータの場合、ファイルkの
ブロックAの読み出し要求があった時は、ファイルkの
ブロックAの次のブロックBからキャッシュメモリに格
納されている部分Cの直前のブロックまでの読み出し要
求の可能性は高くなっている。そこで、ファイルkのブ
ロックBからキャッシュメモリに格納されている部分C
の直前のブロックまでをキャッシュメモリに格納する。
この時、ファイルkのブロックBから順番に送出される
ので、先き読みするブロックをキャッシュメモリに格納
されている部分Cの直前のブロックEから逆の順番にフ
ァイルkの先頭のブロックAに向かって先き読みしてキ
ャッシュメモリに格納する。
後半部分より前のブロックをキャッシュメモリ上に優先
的に格納する。例えば、図20(c)において、映画や
音楽などのマルチメディアデータの場合、ファイルkの
ブロックAの読み出し要求があった時は、ファイルkの
ブロックAの次のブロックBからキャッシュメモリに格
納されている部分Cの直前のブロックまでの読み出し要
求の可能性は高くなっている。そこで、ファイルkのブ
ロックBからキャッシュメモリに格納されている部分C
の直前のブロックまでをキャッシュメモリに格納する。
この時、ファイルkのブロックBから順番に送出される
ので、先き読みするブロックをキャッシュメモリに格納
されている部分Cの直前のブロックEから逆の順番にフ
ァイルkの先頭のブロックAに向かって先き読みしてキ
ャッシュメモリに格納する。
【0226】図21は、本発明の第3実施例によるデー
タ転送システムの構成を示すブロック図である。図21
の構成は、クライアントインタフェースモジュール49
を図7の構成に追加し、記憶装置31から読み出された
データを記憶装置31からクライアントに直接転送でき
るようにしたものである。
タ転送システムの構成を示すブロック図である。図21
の構成は、クライアントインタフェースモジュール49
を図7の構成に追加し、記憶装置31から読み出された
データを記憶装置31からクライアントに直接転送でき
るようにしたものである。
【0227】図21において、35はサーバ、36は読
み出し要求受け付けテーブル、36′、45′、46′
はデータバッファ、37は記憶装置、41は記憶デバイ
ス、45はサーバインタフェースモジュール、46はデ
バイスインタフェースモジュール、47は制御装置、4
9はクライアントインタフェースモジュール、50は制
御部(MPU)、51は制御記憶、80は転送先クライ
アント通知部、81はデータ出力部、82は転送先クラ
イアント判定部、83はデータ入力部である。
み出し要求受け付けテーブル、36′、45′、46′
はデータバッファ、37は記憶装置、41は記憶デバイ
ス、45はサーバインタフェースモジュール、46はデ
バイスインタフェースモジュール、47は制御装置、4
9はクライアントインタフェースモジュール、50は制
御部(MPU)、51は制御記憶、80は転送先クライ
アント通知部、81はデータ出力部、82は転送先クラ
イアント判定部、83はデータ入力部である。
【0228】サーバ35は、クライアントからのファイ
ルの読み出し要求に基づいて、読み出し要求があったフ
ァイルと、読み出し要求を行ったクライアントとを対応
づけて読み出し要求受け付けテーブル36に記録する。
そして、サーバ35から記憶装置37のサーバインタフ
ェースモジュール45にファイルの読み出し要求が転送
される。サーバインタフェースモジュール45はファイ
ルの読み出し要求を受け付ける。
ルの読み出し要求に基づいて、読み出し要求があったフ
ァイルと、読み出し要求を行ったクライアントとを対応
づけて読み出し要求受け付けテーブル36に記録する。
そして、サーバ35から記憶装置37のサーバインタフ
ェースモジュール45にファイルの読み出し要求が転送
される。サーバインタフェースモジュール45はファイ
ルの読み出し要求を受け付ける。
【0229】制御装置47は、読み出し回数が所定値に
なったファイルまたは読み出し要求から一定時間が経過
したファイルが存在するかどうかを判定し、読み出し回
数が所定値なったファイルまたは読み出し要求から一定
時間が経過したファイルを、読み出し開始ファイルと決
定する。読み出し開始ファイルが決定されると、制御部
50は、デバイスインタフェースモジュール46に記憶
デバイス41から読み出し開始ファイルを読み出すよう
に指示する。デバイスインタフェースモジュール46
は、読み出し開始ファイルを記憶デバイス41から読み
出し、クライアントインタフェースモジュール49のデ
ータ入力部83に送信する。
なったファイルまたは読み出し要求から一定時間が経過
したファイルが存在するかどうかを判定し、読み出し回
数が所定値なったファイルまたは読み出し要求から一定
時間が経過したファイルを、読み出し開始ファイルと決
定する。読み出し開始ファイルが決定されると、制御部
50は、デバイスインタフェースモジュール46に記憶
デバイス41から読み出し開始ファイルを読み出すよう
に指示する。デバイスインタフェースモジュール46
は、読み出し開始ファイルを記憶デバイス41から読み
出し、クライアントインタフェースモジュール49のデ
ータ入力部83に送信する。
【0230】また、制御部50は、サーバインタフェー
スモジュール45の転送先クライアント通知部80が、
読み出し要求受け付けテーブル36の内容をクライアン
トインタフェースモジュール49に通知するように指示
する。
スモジュール45の転送先クライアント通知部80が、
読み出し要求受け付けテーブル36の内容をクライアン
トインタフェースモジュール49に通知するように指示
する。
【0231】転送先クライアント通知部80から読み出
し要求受け付けテーブル36の内容を受け取ったクライ
アントインタフェースモジュール49は、読み出し開始
ファイルの転送先クライアントを転送先クライアント判
定部82で判定する。そして、読み出し開始ファイルを
要求したクライアントに、データ出力部81を介して読
み出し開始ファイルを送信する。
し要求受け付けテーブル36の内容を受け取ったクライ
アントインタフェースモジュール49は、読み出し開始
ファイルの転送先クライアントを転送先クライアント判
定部82で判定する。そして、読み出し開始ファイルを
要求したクライアントに、データ出力部81を介して読
み出し開始ファイルを送信する。
【0232】このように、図21の実施例によれば、記
憶デハイス41から読み出したデータをクライアントイ
ンタフェースモジュール49を介して各クライアントに
直接転送可能とすることにより、サーバ35の負荷を軽
減することができるようになるとともに、記憶デハイス
41から読み出したデータを各クライアントに転送する
時の転送時間を短縮することができる。
憶デハイス41から読み出したデータをクライアントイ
ンタフェースモジュール49を介して各クライアントに
直接転送可能とすることにより、サーバ35の負荷を軽
減することができるようになるとともに、記憶デハイス
41から読み出したデータを各クライアントに転送する
時の転送時間を短縮することができる。
【0233】図22は、本発明の第4実施例によるデー
タ転送システムの構成を示すブロック図である。図22
の構成は、図21の構成にキャッシュメモリ48を設け
たものである。ここで、キャッシュメモリ48を設けて
データ転送を行う場合、記憶デバイス41の物理的また
は論理的なブロックをキャッシュメモリ48上の入れ替
え単位とすることができる。新たなデータをキャッシュ
メモリ48に格納する場合、キャッシュメモリ48上に
空きがあればそこへ記憶する。キャッシュメモリ48上
に空きがなければ適当なブロックを追い出して空きを作
って新たなブロックを格納する。
タ転送システムの構成を示すブロック図である。図22
の構成は、図21の構成にキャッシュメモリ48を設け
たものである。ここで、キャッシュメモリ48を設けて
データ転送を行う場合、記憶デバイス41の物理的また
は論理的なブロックをキャッシュメモリ48上の入れ替
え単位とすることができる。新たなデータをキャッシュ
メモリ48に格納する場合、キャッシュメモリ48上に
空きがあればそこへ記憶する。キャッシュメモリ48上
に空きがなければ適当なブロックを追い出して空きを作
って新たなブロックを格納する。
【0234】ここで、連続的なデータ(ファイル)を構
成するブロックのキャッシュメモリ48上の管理を単純
にブロック単位で行うと、ファイルの先頭ブロックから
追い出し(削除)が行われる。そのため、ファイルの読
み出し要求が始まった後でブロックの追い出しを行う
と、読み出し要求をしたファイルのブロックが追い出さ
れることがある。そのような場合にはヒット転送は行え
なくなり、データ供給能力が低下する。これを防ぐため
に、図22の実施例では、キャッシュ管理テーブル85
を備えるようにし、キャッシュメモリ48上の空き領域
の管理をファイル単位とブロック単位で併用して行うよ
うにしている。
成するブロックのキャッシュメモリ48上の管理を単純
にブロック単位で行うと、ファイルの先頭ブロックから
追い出し(削除)が行われる。そのため、ファイルの読
み出し要求が始まった後でブロックの追い出しを行う
と、読み出し要求をしたファイルのブロックが追い出さ
れることがある。そのような場合にはヒット転送は行え
なくなり、データ供給能力が低下する。これを防ぐため
に、図22の実施例では、キャッシュ管理テーブル85
を備えるようにし、キャッシュメモリ48上の空き領域
の管理をファイル単位とブロック単位で併用して行うよ
うにしている。
【0235】そして、連続してアクセスされる一連のデ
ータを格納する際に、その一連のデータのアクセス状況
を調べ、その一部のブロックのデータがキャッシュメモ
リ48上に格納されていて、その部分より前半部分への
アクセスがあったならばそのファイルの優先度を最も高
くする。
ータを格納する際に、その一連のデータのアクセス状況
を調べ、その一部のブロックのデータがキャッシュメモ
リ48上に格納されていて、その部分より前半部分への
アクセスがあったならばそのファイルの優先度を最も高
くする。
【0236】そして、アクセスがあったファイルのブロ
ックの削除を行わずに、アクセスがあったファイルの次
のブロックもしくは少し後のブロックから、キャッシュ
メモリ48上に格納されているブロックの一つ前のブロ
ックまでを格納するようにしている。あるいは既に格納
されているブロックの一つ前のブロックから読み出し要
求をしたブロックに向かって逆の順番に格納するように
している。
ックの削除を行わずに、アクセスがあったファイルの次
のブロックもしくは少し後のブロックから、キャッシュ
メモリ48上に格納されているブロックの一つ前のブロ
ックまでを格納するようにしている。あるいは既に格納
されているブロックの一つ前のブロックから読み出し要
求をしたブロックに向かって逆の順番に格納するように
している。
【0237】図22において、35はサーバ、36は読
み出し要求受け付けテーブル、36′、45′、46′
はデータバッファ、37は記憶装置、41は記憶デバイ
ス、45はサーバインタフェースモジュール、46はデ
バイスインタフェースモジュール、48はキャッシュメ
モリ、49はクライアントインタフェースモジュール、
50は制御部(MPU)、51は制御記憶、80は転送
先クライアント通知部、81はデータ出力部、82は転
送先クライアント判定部、83はデータ入力部、84は
キャッシュ制御プログラム、85はキャッシュ管理テー
ブルである。
み出し要求受け付けテーブル、36′、45′、46′
はデータバッファ、37は記憶装置、41は記憶デバイ
ス、45はサーバインタフェースモジュール、46はデ
バイスインタフェースモジュール、48はキャッシュメ
モリ、49はクライアントインタフェースモジュール、
50は制御部(MPU)、51は制御記憶、80は転送
先クライアント通知部、81はデータ出力部、82は転
送先クライアント判定部、83はデータ入力部、84は
キャッシュ制御プログラム、85はキャッシュ管理テー
ブルである。
【0238】サーバ35は、クライアントからのファイ
ルの読み出し要求に基づいて、読み出し要求があったフ
ァイルと、読み出し要求を行ったクライアントを対応づ
けて読み出し要求受け付けテーブル36に記録する。そ
して、サーバ35から記憶装置37のサーバインタフェ
ースモジュール45にファイルの読み出し要求が転送さ
れる。サーバインタフェースモジュール45は、ファイ
ルの読み出し要求を受け付ける。
ルの読み出し要求に基づいて、読み出し要求があったフ
ァイルと、読み出し要求を行ったクライアントを対応づ
けて読み出し要求受け付けテーブル36に記録する。そ
して、サーバ35から記憶装置37のサーバインタフェ
ースモジュール45にファイルの読み出し要求が転送さ
れる。サーバインタフェースモジュール45は、ファイ
ルの読み出し要求を受け付ける。
【0239】制御装置47は、制御部50により読み出
し要求があったことを判定し、キャッシュ制御プログラ
ム84を起動して、キャッシュ管理テーブル85で管理
されるファイルのうち、クライアントから要求されたフ
ァイルのキャッシュメモリ48に保持する優先度を最も
高い優先度とする。また、キャッシュ管理テーブル85
で管理されるファイル毎のブロックのうち、最も後に読
み出し要求のあったブロック程優先度が高く、読み出し
要求の古い順に優先度の順位を低くする。
し要求があったことを判定し、キャッシュ制御プログラ
ム84を起動して、キャッシュ管理テーブル85で管理
されるファイルのうち、クライアントから要求されたフ
ァイルのキャッシュメモリ48に保持する優先度を最も
高い優先度とする。また、キャッシュ管理テーブル85
で管理されるファイル毎のブロックのうち、最も後に読
み出し要求のあったブロック程優先度が高く、読み出し
要求の古い順に優先度の順位を低くする。
【0240】さらに、新しくデータを書き込むブロック
の領域がキャッシュメモリ48にない時は、ファイルの
優先度の低い順にブロックを削除するファイルを決定
し、削除すると決定されたファイルのブロックの優先度
の低い順にブロックの削除を行う。
の領域がキャッシュメモリ48にない時は、ファイルの
優先度の低い順にブロックを削除するファイルを決定
し、削除すると決定されたファイルのブロックの優先度
の低い順にブロックの削除を行う。
【0241】また、制御装置47は、読み出し回数が所
定値になったファイルまたは読み出し要求から一定時間
が経過したファイルが存在するかどうかを判定し、読み
出し回数が所定値なったファイルまたは読み出し要求か
ら一定時間が経過したファイルを、読み出し開始ファイ
ルと決定する。読み出し開始ファイルが決定されると、
キャッシュ管理テーブル85を参照し、読み出し開始フ
ァイルがキャッシュ管理テーブル85に登録されている
かどうか調べる。
定値になったファイルまたは読み出し要求から一定時間
が経過したファイルが存在するかどうかを判定し、読み
出し回数が所定値なったファイルまたは読み出し要求か
ら一定時間が経過したファイルを、読み出し開始ファイ
ルと決定する。読み出し開始ファイルが決定されると、
キャッシュ管理テーブル85を参照し、読み出し開始フ
ァイルがキャッシュ管理テーブル85に登録されている
かどうか調べる。
【0242】読み出し開始ファイルがキャッシュ管理テ
ーブル85に登録されている場合、制御部50は、クラ
イアントインタフェースモジュール49にキャッシュメ
モリ48から読み出し開始ファイルを読み出すように指
示する。クライアントインタフェースモジュール49
は、読み出し開始ファイルをキャッシュメモリ48から
読み出し、データ入力部83に入力する。
ーブル85に登録されている場合、制御部50は、クラ
イアントインタフェースモジュール49にキャッシュメ
モリ48から読み出し開始ファイルを読み出すように指
示する。クライアントインタフェースモジュール49
は、読み出し開始ファイルをキャッシュメモリ48から
読み出し、データ入力部83に入力する。
【0243】また、制御部50は、サーバインタフェー
スモジュール45の転送先クライアント通知部80が、
読み出し要求受け付けテーブル36の内容をクライアン
トインタフェースモジュール49に通知するように指示
する。
スモジュール45の転送先クライアント通知部80が、
読み出し要求受け付けテーブル36の内容をクライアン
トインタフェースモジュール49に通知するように指示
する。
【0244】転送先クライアント通知部80から読み出
し要求受け付けテーブル36の内容を受け取ったクライ
アントインタフェースモジュール49は、読み出し開始
ファイルの転送先クライアントを転送先クライアント判
定部82で判定する。そして、読み出し開始ファイルを
要求したクライアントに、データ出力部81を介して読
み出し開始ファイルを送信する。
し要求受け付けテーブル36の内容を受け取ったクライ
アントインタフェースモジュール49は、読み出し開始
ファイルの転送先クライアントを転送先クライアント判
定部82で判定する。そして、読み出し開始ファイルを
要求したクライアントに、データ出力部81を介して読
み出し開始ファイルを送信する。
【0245】読み出し開始ファイルがキャッシュ管理テ
ーブル85に登録されていない場合、制御部50は、デ
バイスインタフェースモジュール46に記憶デバイス4
1から読み出し開始ファイルを読み出すように指示す
る。デバイスインタフェースモジュール46は、読み出
し開始ファイルを記憶デバイス41から読み出し、クラ
イアントインタフェースモジュール49のデータ入力部
83に送信する。
ーブル85に登録されていない場合、制御部50は、デ
バイスインタフェースモジュール46に記憶デバイス4
1から読み出し開始ファイルを読み出すように指示す
る。デバイスインタフェースモジュール46は、読み出
し開始ファイルを記憶デバイス41から読み出し、クラ
イアントインタフェースモジュール49のデータ入力部
83に送信する。
【0246】また、制御部50は、サーバインタフェー
スモジュール45の転送先クライアント通知部80が、
読み出し要求受け付けテーブル36の内容をクライアン
トインタフェースモジュール49に通知するように指示
する。
スモジュール45の転送先クライアント通知部80が、
読み出し要求受け付けテーブル36の内容をクライアン
トインタフェースモジュール49に通知するように指示
する。
【0247】転送先クライアント通知部80から読み出
し要求受け付けテーブル36の内容を受け取ったクライ
アントインタフェースモジュール49は、読み出し開始
ファイルの転送先クライアントを転送先クライアント判
定部82で判定する。そして、読み出し開始ファイルを
要求したクライアントに、データ出力部81を介して読
み出し開始ファイルを送信する。
し要求受け付けテーブル36の内容を受け取ったクライ
アントインタフェースモジュール49は、読み出し開始
ファイルの転送先クライアントを転送先クライアント判
定部82で判定する。そして、読み出し開始ファイルを
要求したクライアントに、データ出力部81を介して読
み出し開始ファイルを送信する。
【0248】また、制御部50は、キャッシュ制御プロ
グラム85を起動することにより、連続してアクセスさ
れる一連のデータをキャッシュメモリ48に格納する際
に、その一連のデータのアクセス状況を調べる。
グラム85を起動することにより、連続してアクセスさ
れる一連のデータをキャッシュメモリ48に格納する際
に、その一連のデータのアクセス状況を調べる。
【0249】そして、連続してアクセスされる一連のデ
ータより構成されるファイルの一部のブロックがキャッ
シュメモリ48上に格納されていて、キャッシュメモリ
48上に格納されているブロックより前のブロックへの
アクセスがあったならば、アクセスがあったファイルの
優先度を最も高くする。さらに、キャッシュメモリ48
上に格納されているブロックの削除を行わずに、アクセ
ス要求のあったブロックの所定後のブロックからキャッ
シュメモリ48上に格納されているブロックの一つ前の
ブロックまでをキャッシュメモリ48に格納する。
ータより構成されるファイルの一部のブロックがキャッ
シュメモリ48上に格納されていて、キャッシュメモリ
48上に格納されているブロックより前のブロックへの
アクセスがあったならば、アクセスがあったファイルの
優先度を最も高くする。さらに、キャッシュメモリ48
上に格納されているブロックの削除を行わずに、アクセ
ス要求のあったブロックの所定後のブロックからキャッ
シュメモリ48上に格納されているブロックの一つ前の
ブロックまでをキャッシュメモリ48に格納する。
【0250】このように、図22の実施例によれば、キ
ャッシュメモリ48から読み出したデータをクライアン
トインタフェースモジュール49を介して各クライアン
トに直接転送可能とすることにより、サーバ35、記憶
デバイス41、サーバインタフェースモジュール45及
びデバイスインタフェースモジュール46の負荷を軽減
することができるようになるとともに、キャッシュメモ
リ48からから読み出したデータを各クライアントに転
送する時の転送時間を短縮することができる。
ャッシュメモリ48から読み出したデータをクライアン
トインタフェースモジュール49を介して各クライアン
トに直接転送可能とすることにより、サーバ35、記憶
デバイス41、サーバインタフェースモジュール45及
びデバイスインタフェースモジュール46の負荷を軽減
することができるようになるとともに、キャッシュメモ
リ48からから読み出したデータを各クライアントに転
送する時の転送時間を短縮することができる。
【0251】
【発明の効果】以上説明したように、本発明によれば、
大量の連続データを記憶する記憶装置において、ほぼ同
時期に同一ファイルに対してデータの読み出し要求が発
生しても、一回の読み出しで各要求元にデータを転送す
ることができるので、記憶装置からの読み出しの能率を
大幅に向上させることができる。
大量の連続データを記憶する記憶装置において、ほぼ同
時期に同一ファイルに対してデータの読み出し要求が発
生しても、一回の読み出しで各要求元にデータを転送す
ることができるので、記憶装置からの読み出しの能率を
大幅に向上させることができる。
【0252】また、本発明の一態様によれば、大量の連
続データを読み出す時、キャッシュメモリの制御を大量
の連続データを処理する場合の特徴的傾向を考慮して制
御を行うようにしたので、キャッシュメモリを設けたこ
とによるデータの転送能力の向上を大幅に向上させるこ
とができる。
続データを読み出す時、キャッシュメモリの制御を大量
の連続データを処理する場合の特徴的傾向を考慮して制
御を行うようにしたので、キャッシュメモリを設けたこ
とによるデータの転送能力の向上を大幅に向上させるこ
とができる。
【図1】本発明の一実施例によるデータ配信装置の構成
を示すブロック図である。
を示すブロック図である。
【図2】本発明の第1実施例による記憶装置の構成を示
すブロック図である。
すブロック図である。
【図3】本発明の第2実施例による記憶装置の構成を示
すブロック図である。
すブロック図である。
【図4】本発明の一実施例による受信装置の構成を示す
ブロック図である。
ブロック図である。
【図5】本発明の一実施例によるキャッシュメモリの制
御方法の説明図である。
御方法の説明図である。
【図6】本発明の第1実施例によるデータ転送システム
の構成を示すブロック図である。
の構成を示すブロック図である。
【図7】本発明の第2実施例によるデータ転送システム
の構成を示すブロック図である。
の構成を示すブロック図である。
【図8】本発明の一実施例による読み出し要求回数カウ
ント部と読み出し要求テーブルとを示す図である。
ント部と読み出し要求テーブルとを示す図である。
【図9】図7のデータ転送システムの動作を説明する図
である。
である。
【図10】図7のデータ転送システムの第1実施例の動
作を示すフローチャートである。
作を示すフローチャートである。
【図11】図7のデータ転送システムの第2実施例の動
作を示すフローチャートである。
作を示すフローチャートである。
【図12】図7のデータ転送システムの第3実施例の動
作を示すフローチャートである。
作を示すフローチャートである。
【図13】本発明の第2実施例によるデータ転送システ
ムの構成を示すブロック図である。
ムの構成を示すブロック図である。
【図14】図13のデータ転送システムの第1実施例の
動作を示すフローチャートである。
動作を示すフローチャートである。
【図15】図13のデータ転送システムの第2実施例の
動作を示すフローチャートである。
動作を示すフローチャートである。
【図16】本発明の一実施例によるキャッシュメモリの
制御方法の説明図である。
制御方法の説明図である。
【図17】本発明の一実施例によるキャッシュメモリの
制御方法の説明図である。
制御方法の説明図である。
【図18】本発明の一実施例によるキャッシュメモリの
制御方法を示すフローチャート(その1)である。
制御方法を示すフローチャート(その1)である。
【図19】本発明の一実施例によるキャッシュメモリの
制御方法を示すフローチャート(その2)である。
制御方法を示すフローチャート(その2)である。
【図20】(a)は本発明の第1実施例によるキャッシ
ュメモリへのブロックの格納方法の説明図、(b)は本
発明の第2実施例によるキャッシュメモリへのブロック
の格納方法の説明図、(c)は本発明の第3実施例によ
るキャッシュメモリへのブロックの格納方法の説明図で
ある。
ュメモリへのブロックの格納方法の説明図、(b)は本
発明の第2実施例によるキャッシュメモリへのブロック
の格納方法の説明図、(c)は本発明の第3実施例によ
るキャッシュメモリへのブロックの格納方法の説明図で
ある。
【図21】本発明の第3実施例によるデータ転送システ
ムの構成を示すブロック図である。
ムの構成を示すブロック図である。
【図22】本発明の第4実施例によるデータ転送システ
ムの構成を示すブロック図である。
ムの構成を示すブロック図である。
【図23】従来の記憶装置およびデータ転送システムを
示す図である。
示す図である。
1001 読み出し要求回数計数手段 1002 読み出し要求回数判定手段 1003 ファイル送出指示手段 1 記憶装置 2 記憶部 3 記憶制御部 11 データ入出力部 12 読み出し要求判定部 13 読み出し要求回数カウント部 13′ 読み出し要求回数保持部 14 読み出し開始決定部 16 読み出し制御部
Claims (18)
- 【請求項1】 ファイル単位に連続データを保持する記
憶部と、前記記憶部に保持される連続データの入出力制
御を行う記憶制御部とを備えた記憶装置において、 前記記憶制御部は、前記記憶部の連続データの読み出し
制御をする読み出し制御部と、 前記記憶部に保持されている同一ファイルの連続データ
に対する読み出し要求を判定する読み出し要求判定部
と、 前記読み出し要求のある毎にファイルの読み出し要求回
数をカウントする読み出し要求回数カウント部と、 任意のファイルに対する読み出し要求の回数のカウント
値が予め定めた一定値に達した時に、前記読み出し制御
部に対して該当するファイルの連続データの読み出しを
指示する読み出し開始決定部とを備えることを特徴とす
る記憶装置。 - 【請求項2】 前記読み出し要求回数カウント部は、読
み出し要求のある毎にファイルの読み出し要求回数をカ
ウントするとともに、一定時間経過毎に各ファイルの該
カウント値を更新し、 前記読み出し開始決定部は、任意のファイルに対する読
み出し要求の回数が予め定めた一定回数に達した時もし
くは最初の読み出し要求から予め定めた一定時間経過後
に、該ファイルの連続データの読み出しを指示すること
を特徴とする請求項1に記載の記憶装置。 - 【請求項3】 ファイル単位に連続データを保持する記
憶部と、前記記憶部に保持される連続データの入出力制
御を行う記憶制御部とを備えた記憶装置のデータ読み出
し制御方法において、 前記記憶部の連続データの読み出し制御を前記記憶制御
部により行うステップと、 前記記憶部に保持されている同一ファイルのデータに対
する読み出し要求を判定するステップと、 前記読み出し要求のある毎にファイルの読み出し要求回
数をカウントするステップと、 一定時間経過毎に各ファイルの該カウント値を更新する
ステップと、 任意のファイルに対する読み出し要求の回数のカウント
値が予め定めた一定値に達した時に、該当するファイル
の読み出しを指示するステップと、 任意のファイルに対する読み出し要求の回数が予め定め
た一定回数に達した時もしくは最初の読み出し要求から
予め定めた一定時間経過後に該ファイルの読み出しを行
うステップとを備えることを特徴とする記憶装置の制御
方法。 - 【請求項4】 前記記憶制御部は、キャッシュメモリと
キャッシュ管理テーブルとを備え、前記キャッシュ管理
テーブルは前記キャッシュメモリに格納するファイルの
優先度を管理するファイル管理テーブルとファイル毎に
ブロックの格納の優先度を管理するブロック管理テーブ
ルとにより構成し、 前記ファイル管理テーブルにおいて、要求されたファイ
ルの優先度を最も高い優先度とするステップと、 前記ブロック管理テーブルにおいて、最も後に読み出し
要求のあったブロック程優先度を高く、読み出し要求の
古い順に優先度の順位を低くするステップと、 新しくデータを書き込むブロックの記憶領域が前記キャ
ッシュメモリにない時は、ファイルの優先度の低い順に
ブロックを削除するファイルを決定し、次いでそのファ
イルのブロックの優先度の低い順にブロックの削除を行
うステップと、 連続してアクセスされる一連のデータを格納する際に、
その一連のデータのアクセス状況を調べ、その一部のブ
ロックのデータが前記キャッシュメモリ上に格納されて
いて、その部分より前半部分へのアクセスがあったなら
ばそのファイルの優先度を最も高くし、そのブロックの
削除を行わずにアクセス要求のあったブロックの所定後
のブロックから前記キャッシュメモリ上に格納されてい
るブロックの一つ前のブロックまでを格納するステップ
とを備えることを特徴とする請求項3に記載の記憶装置
の制御方法。 - 【請求項5】 一連のデータを前記キャッシュメモリに
格納する際に、アクセス要求のあったブロックの次のブ
ロックもしくは所定後のブロックから、前記キャッシュ
メモリ上に格納されているブロックの一つ前のブロック
までを一連のデータの順に従って格納することを特徴と
する請求項4に記載の記憶装置の制御方法。 - 【請求項6】 アクセス要求のあった一連のデータの前
記キャッシュメモリ上に格納されていない部分を前記キ
ャッシュメモリ上へ格納する際に、前記キャッシュメモ
リ上に格納されているブロックの一つ前のブロックから
一連のデータの順番と逆順に格納することを特徴とする
請求項4に記載の記憶装置の制御方法。 - 【請求項7】 ファイル単位に連続データを保持する記
憶部と前記記憶部に保持される連続データの入出力制御
を行う記憶制御部とを備えた記憶装置におけるファイル
のデータの記憶制御装置において、 キャッシュメモリの記憶領域を管理するキャッシュ管理
テーブルを備え、 前記キャッシュ管理テーブルは、前記記憶装置から前記
キャッシュメモリに格納するファイルの優先度を管理す
るファイル管理テーブルと、 前記ファイル管理テーブルで管理されているファイル毎
にブロックの格納の優先度を管理するブロック管理テー
ブルとを備えることを特徴とする記憶制御装置。 - 【請求項8】 ファイル単位に連続データを保持する記
憶部と、前記記憶部に保持される連続データの入出力制
御を行う記憶制御部とを備えた記憶装置におけるファイ
ルのデータの読み出し制御方法において、 前記記憶制御部は、キャッシュメモリとキャッシュ管理
テーブルとを備え、 前記キャッシュ管理テーブルは、前記キャッシュメモリ
に格納するファイルの優先度を管理するファイル管理テ
ーブルと、ファイル毎にブロックの格納の優先度を管理
するブロック管理テーブルとを備え、 前記記憶制御部は、前記ファイル管理テーブルにおい
て、要求されたファイルの前記キャッシュメモリに保持
する優先度を最も高い優先度とするステップと、 前記ブロック管理テーブルにおいて、最も後に読み出し
要求のあったブロック程優先度を高く、読み出し要求の
古い順に優先度の順位を低くするステップと、 新しくデータを書き込むブロックの記憶領域が前記キャ
ッシュメモリにない時は、ファイルの優先度の低い順に
ブロックを削除するファイルを決定し、次いでそのファ
イルのブロックの優先度の低い順にブロックの削除を行
うステップと、 連続してアクセスされる一連のデータを格納する際に、
その一連のデータのアクセス状況を調べ、その一部のブ
ロックのデータが前記キャッシュメモリ上に格納されて
いて、その部分より前半部分へのアクセスがあったなら
ばそのファイルの優先度を最も高くし、そのブロックの
削除を行わずにアクセス要求のあったブロックの所定後
のブロックから前記キャッシュメモリ上に格納されてい
るブロックの一つ前のブロックまでを格納するステップ
とを備えることを特徴とする記憶装置の制御方法。 - 【請求項9】 一連のデータをキャッシュメモリに格納
する際に、アクセス要求のあったブロックの次のブロッ
クもしくは所定後のブロックから、前記キャッシュメモ
リ上に格納されているブロックの一つ前のブロックまで
を一連のデータの順に従って格納することを特徴とする
請求項8に記載の記憶装置の制御方法。 - 【請求項10】 アクセス要求のあった一連のデータの
前記キャッシュメモリ上に格納されていない部分を前記
キャッシュメモリ上へ格納する際に、前記キャッシュメ
モリ上に格納されているブロックの一つ前のブロックか
ら一連のデータの順番と逆順に格納することを特徴とす
る請求項8に記載の記憶装置の制御方法。 - 【請求項11】 要求元の読み出し要求に従って記憶装
置に読み出し要求し、要求したデータを受け取って前記
要求元に転送するサーバと、前記サーバに接続された記
憶装置とを備えたデータ転送システムにおいて、 前記サーバは、読み出し要求されたファイルと前記要求
元とを対応付ける読み出し要求受け付けテーブルを備
え、 前記記憶装置は、ファイル単位に連続データを保持する
記憶部と、前記記憶部に保持される連続データの入出力
制御を行う記憶制御部とを備え、 前記記憶制御部は、前記記憶部のデータの読み出し制御
をする読み出し制御部と、 前記記憶部に保持されている同一ファイルの連続データ
に対する読み出し要求を判定する読み出し要求判定部
と、 前記読み出し要求のある毎にファイルの読み出し要求回
数をカウントし、あるいは一定時間経過毎に各ファイル
の該カウント値を更新する読み出し要求回数カウント部
と任意のファイルに対する読み出し要求の回数のカウン
ト値が予め定めた一定値に達した時に、前記読み出し制
御部に対して該当するファイルの連続データの読み出し
指示を行う読み出し開始決定部とを備え、 前記サーバは、前記読み出し指示による前記記憶装置か
らの一回の連続データの読み出しにより、前記連続デー
タを複数の要求元に転送することを特徴とするデータ転
送システム。 - 【請求項12】 前記記憶制御部は、キャッシュメモリ
とキャッシュ管理テーブルとを備え、前記キャッシュ管
理テーブルは前記キャッシュメモリに格納するファイル
の優先度を管理するファイル管理テーブルと、ファイル
毎にブロックの格納の優先度を管理するブロック管理テ
ーブルとにより構成し、 前記ファイル管理テーブルにおいては、要求されたファ
イルの優先度を最も高い優先度とし、 前記ブロック管理テーブルにおいては、最も後に読み出
し要求のあったブロックに対して優先度を高く、読み出
し要求の古い順に優先度の順位を低くし、新しくデータ
を書き込むブロックの記憶領域が前記キャッシュメモリ
にない時は、ファイルの優先度の低い順にブロックを削
除するファイルを決定し、次いでそのファイルのブロッ
クの優先度の低い順にブロックの削除を行うものであっ
て、 連続してアクセスされる一連のデータを格納する際に、
その一連のデータのアクセス状況を調べ、その一部のブ
ロックのデータが前記キャッシュメモリ上に格納されて
いて、その部分より前半部分へのアクセスがあったなら
ばそのファイルの優先度を最も高くし、そのブロックの
削除を行わずにアクセス要求のあったブロックの所定後
のブロックから前記キャッシュメモリ上に格納されてい
るブロックの一つ前のブロックまでを格納することを特
徴とする請求項11に記載のデータ転送システム。 - 【請求項13】 前記記憶装置は、前記読み出し要求受
け付けテーブルの内容を前記サーバから読み出す要求元
情報読み出し部と、 前記読み出し要求受け付けテーブルの内容に基づいて、
前記ファイルの連続データを要求元に転送するデータ転
送部とをさらに備えることを特徴とする請求項11また
は12に記載のデータ転送システム。 - 【請求項14】 要求元からのファイルの読み出し要求
回数を各ファイル毎に計数する読み出し要求回数計数手
段と、 前記読み出し要求回数が所定値に達したファイルがある
かどうかを判定する読み出し要求回数判定手段と、 前記読み出し要求の回数が所定値に達したファイルの前
記要求元への送出を指示するファイル送出指示手段とを
備えることを特徴とするデータ配信装置。 - 【請求項15】 前記読み出し要求回数判定手段は、読
み出し要求頻度が大きいファイルについては、前記所定
値を大きな値に設定し、読み出し要求頻度が小さいファ
イルについては、前記所定値を小さな値に設定すること
を特徴とする請求項14に記載のデータ配信装置。 - 【請求項16】 前記ファイルを格納している第1の記
憶手段と、 前記第1の記憶手段よりも読み出し速度の大きな第2の
記憶手段と、 読み出し要求頻度が大きなファイルを優先して前記第2
の記憶手段に格納する記憶制御手段とをさらに備えるこ
とを特徴とする請求項14に記載のデータ配信装置。 - 【請求項17】 第1の方式、第2の方式または第3の
方式のいずれか方式を選択する選択手段と、 前記第1の方式が選択された場合、前記所定値を1に設
定することにより、フル・ビデオ・オン・デマンドを実
行するフル・ビデオ・オン・デマンド実行手段と、 前記第2の方式が選択された場合、ファイルの読み出し
要求から所定の時間の経過の後に、前記ファイルの要求
元への送出を指示することにより、ニア・ビデオ・オン
・デマンドを実行するニア・ビデオ・オン・デマンド実
行手段と、 前記第3の方式が選択された場合、前記所定値を2以上
の値に設定する初期値設定手段とをさらに備えることを
特徴とする請求項15または16に記載のデータ配信装
置。 - 【請求項18】 要求元からのファイルの読み出し要求
回数を各ファイル毎に計数する機能と、 前記読み出し要求回数が所定値に達したファイルがある
かどうかを判定する機能と、 前記読み出し要求の回数が所定値に達したファイルの前
記要求元への送出を指示する機能とを備えることを特徴
とするコンピュータを制御するためのプログラムを格納
したコンピュータ読み取り可能な記憶媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8348030A JPH09265429A (ja) | 1996-01-23 | 1996-12-26 | データ配信装置、記憶装置とその制御方法およびデータ転送システム |
CN97101034A CN1167946A (zh) | 1996-01-23 | 1997-01-22 | 响应于对相同文件的多个请求对数据进行分配的装置 |
KR1019970001780A KR19980063245A (ko) | 1996-01-23 | 1997-01-22 | 데이타 분배 장치, 기억 장치와 그 제어 방법, 및 데이타 전송 시스템. |
EP97100948A EP0786718A3 (en) | 1996-01-23 | 1997-01-22 | Device for distributing data in response to a plurality of requests from the same file |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP924896 | 1996-01-23 | ||
JP8-9248 | 1996-01-23 | ||
JP8348030A JPH09265429A (ja) | 1996-01-23 | 1996-12-26 | データ配信装置、記憶装置とその制御方法およびデータ転送システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09265429A true JPH09265429A (ja) | 1997-10-07 |
Family
ID=26343931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8348030A Pending JPH09265429A (ja) | 1996-01-23 | 1996-12-26 | データ配信装置、記憶装置とその制御方法およびデータ転送システム |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0786718A3 (ja) |
JP (1) | JPH09265429A (ja) |
KR (1) | KR19980063245A (ja) |
CN (1) | CN1167946A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149477A (ja) * | 2000-11-10 | 2002-05-24 | Sony Corp | データ蓄積装置およびその方法、ならびに記録媒体 |
JP2003502956A (ja) * | 1999-06-18 | 2003-01-21 | インテル・コーポレーション | インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法 |
JP2007004326A (ja) * | 2005-06-22 | 2007-01-11 | Kobe Steel Ltd | データアクセス方法及びそのプログラム |
JPWO2010058790A1 (ja) * | 2008-11-21 | 2012-04-19 | 日本電気株式会社 | コンテンツ配信装置、コンテンツ配信制御方法、コンテンツ配信制御プログラム、キャッシュ制御装置 |
WO2013136855A1 (ja) * | 2012-03-15 | 2013-09-19 | 株式会社 東芝 | ビデオ配信サーバ及びビデオ配信方法 |
JP2018109903A (ja) * | 2017-01-05 | 2018-07-12 | Kddi株式会社 | コンテンツ配信システムの転送装置及びプログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR0009645A (pt) * | 1999-04-09 | 2002-01-15 | Opentv Inc | Gerenciamento de largura de banda em uma difusão hìbrida ponto a ponto |
FR2795834B1 (fr) * | 1999-07-01 | 2001-09-14 | Television Francaise 1 Soc | Procede et systeme de gestion locale de la distribution de programmes multimedia |
KR20020030381A (ko) * | 2000-10-17 | 2002-04-25 | 송유진 | 네트워크상에서의 광고웹서버에 의한 광고전송시스템 |
WO2004079597A1 (en) * | 2003-03-07 | 2004-09-16 | Nokia Corporation | A method and a device for frequency counting |
GB0524260D0 (en) * | 2005-11-29 | 2006-01-04 | Ibm | Methods, apparatus and computer programs for managing access to storage |
CN102209038B (zh) * | 2011-06-15 | 2015-11-25 | 中山大学 | 一种交互式流媒体缓冲的实现方法及其装置 |
CN108668142B (zh) * | 2017-03-27 | 2021-02-12 | 华为技术有限公司 | 视频播放方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03231339A (ja) * | 1990-02-07 | 1991-10-15 | Toshiba Corp | データベースアクセス方式 |
JPH06119218A (ja) * | 1992-10-08 | 1994-04-28 | Nippon Telegr & Teleph Corp <Ntt> | ファイルキャッシュ制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0675429B1 (en) * | 1988-11-11 | 2001-10-24 | Victor Company Of Japan, Limited | Data handling apparatus |
US5150472A (en) * | 1989-10-20 | 1992-09-22 | International Business Machines Corp. | Cache management method and apparatus for shared, sequentially-accessed, data |
JP2618149B2 (ja) * | 1991-04-22 | 1997-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | キャッシュ内のデータ記憶スペースを管理する方法及びキャッシュ内でページ置換を行う装置 |
EP0653886B1 (en) * | 1993-11-17 | 1999-12-15 | Alcatel | Video on demand network |
-
1996
- 1996-12-26 JP JP8348030A patent/JPH09265429A/ja active Pending
-
1997
- 1997-01-22 KR KR1019970001780A patent/KR19980063245A/ko not_active Abandoned
- 1997-01-22 CN CN97101034A patent/CN1167946A/zh active Pending
- 1997-01-22 EP EP97100948A patent/EP0786718A3/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03231339A (ja) * | 1990-02-07 | 1991-10-15 | Toshiba Corp | データベースアクセス方式 |
JPH06119218A (ja) * | 1992-10-08 | 1994-04-28 | Nippon Telegr & Teleph Corp <Ntt> | ファイルキャッシュ制御方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003502956A (ja) * | 1999-06-18 | 2003-01-21 | インテル・コーポレーション | インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法 |
JP2002149477A (ja) * | 2000-11-10 | 2002-05-24 | Sony Corp | データ蓄積装置およびその方法、ならびに記録媒体 |
JP2007004326A (ja) * | 2005-06-22 | 2007-01-11 | Kobe Steel Ltd | データアクセス方法及びそのプログラム |
JPWO2010058790A1 (ja) * | 2008-11-21 | 2012-04-19 | 日本電気株式会社 | コンテンツ配信装置、コンテンツ配信制御方法、コンテンツ配信制御プログラム、キャッシュ制御装置 |
WO2013136855A1 (ja) * | 2012-03-15 | 2013-09-19 | 株式会社 東芝 | ビデオ配信サーバ及びビデオ配信方法 |
JP2013191148A (ja) * | 2012-03-15 | 2013-09-26 | Toshiba Corp | ビデオ配信サーバ及びビデオ配信方法 |
JP2018109903A (ja) * | 2017-01-05 | 2018-07-12 | Kddi株式会社 | コンテンツ配信システムの転送装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP0786718A2 (en) | 1997-07-30 |
KR19980063245A (ko) | 1998-10-07 |
EP0786718A3 (en) | 1997-09-24 |
CN1167946A (zh) | 1997-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8010985B2 (en) | Method and system for resource management in a video on-demand server | |
US10049704B2 (en) | Methods and systems of dynamically managing content for use by a media playback device | |
US7882260B2 (en) | Method of data management for efficiently storing and retrieving data to respond to user access requests | |
US6978348B2 (en) | Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters | |
KR100747519B1 (ko) | 티브이의 프로그램 공유 서비스 제공 장치 | |
JP2742390B2 (ja) | ビデオ・システムにおけるポーズ・レジュームをサポートする方法およびシステム | |
JPH09265429A (ja) | データ配信装置、記憶装置とその制御方法およびデータ転送システム | |
JP2003167813A (ja) | ストリームデータの蓄積・配信方法及びストリームデータの蓄積・配信システム | |
KR102274466B1 (ko) | 실시간 캐싱 기법을 이용한 동영상 스트리밍 방법 및 그 시스템 | |
CN1113623A (zh) | 宽域网络范围的多方式分配 | |
JP2007080161A (ja) | データ配信システム、部分コンテンツ格納サーバ、応答高速化方法、及びプログラム | |
JP2000209258A (ja) | 時系列デ―タ蓄積配信システム | |
CN101102434A (zh) | 信息处理装置 | |
JP2008234629A (ja) | データ配信およびバッファリング | |
EP1362290A1 (en) | Device and method for managing the access to a storage medium | |
CN100559487C (zh) | 管理记录设备的记录容量的方法和系统 | |
JPH0981455A (ja) | クライアント装置、サーバ装置及び記憶装置制御方法 | |
KR100606681B1 (ko) | 주문형 비디오 시스템(vod)의 서버 데이터 구조와 빨리 보기/빨리 되감아보기 서비스 제공 방법 | |
JP4736830B2 (ja) | 配信システム、制御装置、配信先装置、ノード装置、制御装置用プログラム、配信先装置用プログラム及びノード装置用プログラム | |
JP2011097471A (ja) | 映像再生装置、映像受信方法及び映像コンテンツダウンロードプログラム | |
JP2010087556A (ja) | 録画再生装置、録画再生プログラム、録画再生方法 | |
WO2005119490A2 (en) | Method and system for resource management in a video on-demand server | |
JP2012231412A (ja) | 制御装置およびその動作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19980818 |