JP2004287477A - 大容量記憶装置におけるデータの格納・読み出し制御 - Google Patents
大容量記憶装置におけるデータの格納・読み出し制御 Download PDFInfo
- Publication number
- JP2004287477A JP2004287477A JP2003075187A JP2003075187A JP2004287477A JP 2004287477 A JP2004287477 A JP 2004287477A JP 2003075187 A JP2003075187 A JP 2003075187A JP 2003075187 A JP2003075187 A JP 2003075187A JP 2004287477 A JP2004287477 A JP 2004287477A
- Authority
- JP
- Japan
- Prior art keywords
- data
- volume
- providing device
- virtual
- data providing
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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
- 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/0656—Data buffering arrangements
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
【解決手段】ストレージ装置300のディスク装置に、共通ボリュームPDcと固有ボリュームPDa、PDbを定義する。共通ボリュームには各クライアントに共通のデータ、固有ボリュームにはクライアントごとに固有のデータを格納する。各クライアントが、仮想ボリュームVDa、VDbに対してデータの読み出しを要求すると、ストレージ装置は、共通ボリュームまたは固有ボリュームから対応するデータを読み出す。こうすることにより、複数クライアントからのアクセスが集中した場合でも、共通ボリュームからのデータの読み出しが主となるため、読みだし速度の低下を抑制することができる。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は、ストレージ装置、ノード装置など、複数のクライアントからアクセスを受ける大容量記憶装置におけるデータの格納・読み出し制御に関する。
【0002】
【従来の技術】
企業などでは、複数のクライアントコンピュータ(以下、単にクライアントと称する)をネットワークで接続した大規模な計算機システムが構築されている。このような計算機システムでは、各クライアントで業務を遂行する際に使用する種々のデータやプログラムを提供するため、ストレージ装置と呼ばれる大容量の記憶装置が接続されている。ストレージ装置は、大容量のハードディスクを備えており、各クライアントのユーザは、自己に割り当てられた領域、または共有の領域に対して、データやプログラムなどの格納・読み出しを行う。通常、ストレージ装置へのアクセスには、SCSI(Small Computer System Interface)と呼ばれるプロトコルが使用される。近年では、SCSI用のコマンドを、いわゆるIPパケットに分割してネットワーク上を転送するためのiSCSIと呼ばれるプロトコルが提案されている。iSCSIを用いることにより、従来よりも更に多数のクライアント、および遠隔地のクライアントがストレージ装置にアクセス可能な環境が提供されつつある。
【0003】
ストレージ装置の活用方法の一つとして、リモートブートと呼ばれるクライアントの起動方法が挙げられる。リモートブートでは、起動に必要なオペレーティングシステム、環境設定ファイルなどの各種ファイルが、予めストレージ装置の各ユーザ用の領域に格納されている。各クライアントは、ネットワークを介してこれらのファイルをストレージ装置から読み込むことにより、起動することができる。
【0004】
リモートブートする場合、クライアントは、ストレージ装置へのアクセスを実現するための比較的小さなブートプログラムをROMに記憶していれば十分であり、ハードディスクを備えている必要がない。ハードディスクに格納されるべきデータはストレージ装置で一元管理されるから、仮にクライアントコンピュータが破損、盗難などに遭っても、重要なデータの遺失、漏洩を逃れることができるというセキュリティ上の利点がある。また、各ユーザは、ネットワーク上に接続されたいずれのクライアントも、一定の環境設定で起動させることができるという実用上の利点もある。リモートブートについては、例えば、特許文献1〜3に開示されている。
【0005】
【特許文献1】
特開平6−332716号公報
【特許文献2】
特開2001−75853号公報
【特許文献3】
特開2000−259583号公報
【0006】
【発明が解決しようとする課題】
リモートブートを行う場合、多数のクライアントがほぼ同時に起動すると、ストレージ装置へのアクセスが集中し、各クライアントへのファイル供給が遅れ、ひいては起動に長時間かかるという状況を招くことがあった。本願発明者の調査によれば、10台程度のクライアントが同時に起動した場合には、既にユーザが支障を感じる程度に起動時間が長引くことが見いだされている。クライアントの起動は、通常、企業の始業時に集中する傾向が強いため、このような状況は比較的起きやすかった。
【0007】
ストレージ装置へのアクセスを緩和するため、クライアントとストレージ装置との間に、キャッシュ用のメモリを備えたノード装置を設けることがある。かかるシステムでは、ノード装置にキャッシュ済みのデータは、ストレージ装置にアクセスするまでなくクライアントに供給可能であるため、ストレージ装置へのアクセスが緩和される。しかし、かかるシステムにおいても、複数のクライアントが同時に起動する場合には、ノード装置へのアクセスが集中するため、起動時間が長くなるという課題は、十分に解決できなかった。
【0008】
上述の課題は、リモートブートに限るものではなく、またストレージ装置、ノード装置に限るものでもない。いわゆる複数のクライアントからアクセスを受け得る記憶装置におけるデータの読み出し時に共通の課題であった。本発明は、かかる課題に鑑み、複数のクライアントから記憶装置へのアクセスが集中した場合でも、記憶装置からの円滑なデータ供給を実現することを目的とする。
【0009】
【課題を解決するための手段】
本発明では、データ提供装置に次の構成を適用することで、上記課題の少なくとも一部の解決を図る。データ提供装置とは、ディスク装置に記憶されたデータを複数のクライアントからの要求に応じて提供する装置であり、例えば、ストレージ装置やノード装置などが含まれる。
【0010】
本発明のデータ提供装置に備えられたディスク装置は、複数のクライアントが共通して使用する所定容量の共通ボリュームと、複数のクライアントに対応付けて区切られた複数の固有ボリュームとを有する。データ提供装置は、これらの共通ボリューム、固有ボリュームとは別に、各クライアントに個別に仮想的なボリュームを割り当てる。この仮想的なボリューム内にはクライアントとのデータ授受で使用される仮想的に定義されたデータ格納場所として仮想ブロックが用意されている。データ提供装置は、この仮想ブロックと、共通ボリュームおよび固有ボリュームについて物理的に規定された各物理ブロックとの対応づけを管理している。
【0011】
本発明において、仮想ブロックの論理的な管理単位としてのクライアントは、例えば、データ提供装置に接続される計算機単位、各計算機を利用するユーザ単位、各ユーザの環境設定単位などの設定が可能である。計算機単位とする場合、各計算機を使用するユーザに関わらず、計算機ごとに一定の利用環境を提供することができる。ユーザ単位とすれば、どの計算機を利用するかに関わらず、ユーザ固有の利用環境を提供することができる。環境設定単位とすれば、各ユーザは複数の利用環境を使い分けることができる。以下、本明細書において、「クライアント」という用語は、仮想ブロックの論理的な管理単位を意味するものとして用い、ハードウェアとしてのクライアントコンピュータに対しては「計算機」という用語を用いるものとする。
【0012】
クライアントからデータ提供装置へは、仮想ブロックを指定してデータの読出コマンドが送信される。データ提供装置は、上述の対応付けに基づき、この読出コマンドで指定された仮想ブロックに対応するデータを、クライアントに対応する固有ボリュームまたは共通ボリュームから読み出す。クライアントの識別は、計算機を特定するアドレス情報や、ユーザやその利用環境を特定するためのID情報によって行うことができる。
【0013】
本発明のデータ提供装置によれば、共通ボリュームと固有ボリュームに区分けして、データを格納することができる。このように区分けしてデータを格納していても、仮想ボリュームを用いることにより、クライアントは、共通ボリュームおよび固有ボリュームという区分を考慮することなく、データにアクセスすることができる。
【0014】
一般に、ディスク装置では、データを読み出すためのヘッドの物理的な移動量がデータの読み出し速度に少なからず影響を与える。本発明のデータ提供装置は、上述のデータ格納方法を採ることにより、複数のクライアントから共通して読み出されるデータを共通ボリュームでまとめて管理することができる。共通ボリュームにまとめて格納されたデータについては、複数のクライアントからのアクセスが集中しても、ヘッドの移動量を抑制することができ、データの読み出し速度低下を抑制することができる。本発明において、共通ボリュームは一つに限る必要はなく、複数設けても構わない。但し、読み出し速度確保という観点からは、共通ボリュームは一つにまとめておくことが好ましい。
【0015】
共通ボリュームには、複数のクライアントからのアクセスが集中する可能性のあるデータを格納することが好ましい。例えば、データ提供装置を用いて、クライアントのリモートブートを行う場合には、リモートブート時に各クライアントに供給すべきデータ、例えば、オペレーティングシステムなどのファイルを共通ボリュームに格納することができる。また、企業内で固有の業務を遂行するための専用システムでは、その業務専用のアプリケーションプログラムを共通ボリュームに格納してもよい。
【0016】
共通ボリュームには、必ずしも複数のクライアントに共通して提供されるデータのみを格納する必要はなく、いずれかのクライアントに固有のデータが混在していても構わない。例えば、企業内において出納業務を行うクライアントと、生産管理を行うクライアントが混在している場合を考える。各クライアントは、起動時に、出納業務用のアプリケーションおよび生産管理用のアプリケーションをそれぞれ起動させる。このような場合、これらのアプリケーションプログラムは始業時にそれぞれのクライアントから同時に読み出される可能性が高くなるから、共通ボリュームに格納しておくことが好ましい。
【0017】
本発明において、異なるクライアントの仮想ブロックを同一の共通ブロックに対応づけてもよい。こうすることにより、各クライアントは同一の共通ブロックからデータを読み出すことが可能となる。従って、複数のクライアントに共通して提供されるデータが存在する場合には、共通ボリュームに一組のデータを格納しておけば足り、複数のデータを重複して格納しておく必要がなくなる。
【0018】
本発明のデータ提供装置は、ノード装置を備える計算機システムに適用することも可能である。ノード装置とは、データ提供装置と複数のクライアントとの間に接続され、両者間でデータの中継を行う装置である。中継されるデータは、ノード装置のディスク装置にキャッシュされる。この場合、キャッシュされたデータの読み出し速度の低下を抑制するためには、ノード装置においても、データ提供装置の共通ボリュームに格納されているデータと固有ボリュームに格納されているデータとを区分して取扱可能とすることが好ましい。
【0019】
ノード装置における上記取扱を可能とするため、データ提供装置は、例えば、各データが共通ボリュームおよび固有ボリュームのいずれに格納されているかを特定するための特定情報をノード装置に出力可能としてもよい。特定情報は、例えば、仮想ブロックと物理ブロックとの対応関係とすることができる。共通ボリュームおよび固有ボリュームのいずれに格納されているかを表すフラグを、データごとに特定情報として添付するようにしてもよい。
【0020】
データ提供装置がノード装置に特定情報を送出するタイミングは、種々の設定が可能である。例えば、ノード装置の起動時など、読出コマンドに関わらない所定のタイミングとしてもよい。この場合、複数の仮想ブロックに関する特定情報をまとめて出力することが好ましい。こうすることにより、ノード装置は、クライアントからの読出コマンドの受信時に、データが共通ボリューム、固有ボリュームのいずれに格納されているかを確認する必要がなくなるため、読み出し時の処理を簡略化することができる。
【0021】
別の態様として、ノード装置からデータ提供装置に、仮想ブロックを指定して特定情報の送出を要求したタイミングとしてもよい。データ提供装置は、この要求に応じて、指定された仮想ブロックに関する特定情報を送出する。特定情報のみを送出してもよいし、データとともに送出してもよい。かかる態様では、ノード装置は、キャッシュされていないデータについての特定情報を管理する必要がなくなるため、ハードウェア資源の節約、管理負荷の軽減を図ることができる。
【0022】
特定情報は、各クライアントの仮想ブロックと物理ブロックとを対応づける情報であるから、クライアントに依存した情報である。データ提供装置は、あるクライアントに対応した特定情報を、そのクライアントが利用するノード装置に対してのみ送出してもよいし、クライアントが利用するか否かに関わらず複数のノード装置に送出するようにしてもよい。前者によれば、無駄な通信を省きトラフィックの軽減を図ることができる。また、ノード装置にとっても無用な特定情報を管理する必要がなくなるという利点がある。後者によれば、ユーザが別のノード装置に接続されている計算機に移動した場合でも、従前の特定情報を活用することができる利点がある。
【0023】
本発明は、ノード装置として構成することもできる。ノード装置には、データ提供装置とクライアントの間でデータを中継するという機能を有する点を除けば、基本的にデータ提供装置と同等の構成を適用することができる。この意味で、本発明のノード装置は、データ提供装置の一形態、即ち、上位のデータ提供装置からデータの供給を受け、クライアントにデータを提供する機能を有するデータ提供装置としてとらえることもできる。以下、説明の便宜上、データの供給源となる装置をデータ提供装置、中継機能を備える装置をノード装置と称し、ノード装置における物理ブロックを「キャッシュブロック」と称する。
【0024】
本発明としてのノード装置は、データ提供装置と同様の構成を適用することにより、クライアントから指定された仮想ブロックに対応するデータを、共通ボリュームまたは固有ボリュームから読み出すことができる。また、ノード装置は、データ提供装置から受信したデータを、共通ボリュームと固有ボリュームに分けてディスク装置内にキャッシュする。
【0025】
このようなキャッシュ機能は次の構成によって実現される。ノード装置は、クライアントから指定されたデータが、ノード装置のディスク装置に格納されていない場合には、そのデータの読出コマンドをデータ提供装置に送信する。データ提供装置からは、指定したデータ、及びそのデータが共通ボリュームおよび固有ボリュームのいずれに格納されていたデータであるかを表す特定情報を受信する。ノード装置は、受信したデータをクライアントに転送するとともに、特定情報に応じて共通ボリュームおよび固有ボリュームのいずれかに格納する。また、格納先に応じて、ノード装置における仮想ブロックとキャッシュブロックとの対応づけを更新する。
【0026】
特定情報は、格納先だけでなく、仮想ブロックと他の仮想ブロックとのデータの共通性も特定可能とすることが好ましい。こうすれば、ノード装置は、各クライアントからの読出コマンドで指定された仮想ブロック間の共通性を判断することができ、既にキャッシュされているか否かの判断に活用することができる。また、既にキャッシュ済みのデータについては、キャッシュを省略することが可能となり、ノード装置のハードウェア資源の節約を図ることも可能となる。
【0027】
このような特定情報の取得は、種々のタイミングで行うことができる。例えば、ノード装置からデータ提供装置への読出コマンドの送信に先立って、特定情報の出力をデータ提供装置に要求してもよい。こうすれば、データの受信前にキャッシュ済みか否かを確認することができ、トラフィックの軽減を図ることができる。こうして取得された特定情報をノード装置内で管理し、以後、キャッシュ済みか否かの判断に活用してもよい。特定情報をデータ提供装置から事前に取得して管理しておいてもよい。
【0028】
ここで、特定情報としては、仮想ブロックとデータ提供装置における物理ブロックとの対応関係を用いることができる。この対応関係は、データ提供装置がデータの格納場所を管理するために保有している情報をそのまま活用することができる。ノード装置では、この物理ブロックとキャッシュブロックとの対応関係を管理することにより、間接的に仮想ブロックとキャッシュブロックを対応づけることができる。こうすることにより、データの格納、キャッシュ済みか否かの判断に、データ提供装置が有する情報を活用することができる。
【0029】
本発明において、上述した種々の特徴は、適宜、組み合わせたり、一部を省略したりすることが可能である。また、本発明は、上述したデータ提供装置、ノード装置に限らず種々の態様で構成することが可能である。例えば、これらの装置を接続した計算機システムとして構成してもよいし、データ提供装置、ノード装置、計算機システムの制御方法として構成してもよい。コンピュータによりこの制御を実現するためのコンピュータプログラムおよびこれを記録した記憶媒体として構成してもよい。ここで、記憶媒体としては、フレキシブルディスクやCD−ROM、DVD、光ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置などコンピュータが読取り可能な種々の媒体を利用できる。
【0030】
【発明の実施の形態】
本発明の実施の形態について以下の順序で説明する。
A.システム構成;
B.データの格納状態;
C.機能ブロック;
D.テーブルのデータ構造;
E.データ読出処理;
F.変形例;
【0031】
A.システム構成;
図1は実施例としての計算機システムの構成を示す説明図である。この計算機システムでは、ストレージ装置300に、複数のノード装置200および計算機100がIPパケットを授受可能なネットワークで接続されている。ネットワークとしては、LAN(Local Area Network)、イントラネット、インターネットなどを適用することができる。
【0032】
ストレージ装置300は、図示するハードウェア構成を有するコンピュータとして構成されており、大容量のディスク装置310に蓄積されたデータをノード装置200経由で各計算機100に提供することができる。また、各計算機100はハードディスク310にデータを格納することもできる。NIC(Network Interface Card)304は、ネットワークを介してデータを授受するためのインタフェースである。I/O305は、入出力装置用のインタフェースである。
【0033】
ストレージ装置300では、CPU301が、ディスク装置310およびROM303に記憶された制御用のプログラムに従って、データの授受を制御する。メモリ302は、このプログラムの動作時に使用される主記憶である。
【0034】
ノード装置200は、図示するハードウェア構成を有するコンピュータとして構成されており、ストレージ装置300と計算機100の間で授受されるデータを中継する機能を奏する。ディスク装置210およびメモリ202は、中継されるデータを一時的に蓄積するキャッシュのために利用される。NIC(Network Interface Card)204は、ネットワークを介してデータを授受するためのインタフェースである。I/O205は、入出力装置用のインタフェースである。
【0035】
ノード装置200では、CPU201が、ディスク装置210およびROM203に記憶された制御用のプログラムに従って、データの中継およびキャッシュを制御する。メモリ202は、このプログラムの動作時に使用される主記憶である。
【0036】
計算機100は、ハードディスクを備えないディスクレスコンピュータである。内部には、CPU101、RAM102、ROM103、NIC104およびI/O105が備えられている。計算機100は、起動時には、必要なオペレーティングシステムなどのファイルをストレージ装置300から読み込むことで、リモートブートする。ROM103には、リモートブート用のプログラムが予め記憶されている。
【0037】
ストレージ装置300、ノード装置200、計算機100の動作を制御するためのプログラムは、CD−ROMなどの記録媒体によってストレージ装置に供給してもよい。
【0038】
B.データの格納状態;
図2はデータの格納および読出状態を模式的に示す説明図である。ここでは、2台のクライアント100a、100bが接続されている状態を示した。クライアント100a、100bは、単にハードウェアとしての計算機というだけでなく、その計算機を使用するユーザが確定している状態を意味する。
【0039】
ストレージ装置300では、クライアント100a、100bのそれぞれに対応する仮想ボリュームVDa、VDbが定義されている。仮想ボリュームVDa、VDbとは、ストレージ装置300のディスク装置310内に設けられた物理的な領域ではなく、各クライアントのデータを管理するための論理的なディスクを意味する。ディスク装置310の物理的な領域には、クライアント100a、100bのそれぞれに固有に割り当てられる固有ボリュームPDa、PDbと、両者が共通して使用する共通ボリュームPDcがパーティションによって定義されている。図示する通り、仮想ボリュームVDaは固有ボリュームPDaおよび共通ボリュームPDcに割り当てられており、仮想ボリュームVDbは固有ボリュームPDbおよび共通ボリュームPDcに割り当てられている。以下、仮想ボリュームVDa、VDbにおけるデータの格納場所を仮想ブロック、ディスク装置310内におけるデータの格納場所を物理ブロックと称する。
【0040】
ノード装置200においても同様に、クライアント100a、100bのそれぞれに対応する仮想ボリュームVCa、VCbが定義されている。ノード装置200のディスク装置210の物理的な領域には、クライアント100a、100bのそれぞれに固有に割り当てられる固有ボリュームPCa、PCbと、両者が共通して使用する共通ボリュームPCcが定義されている。図示する通り、仮想ボリュームVCaは固有ボリュームPCaおよび共通ボリュームPCcに割り当てられており、仮想ボリュームVCbは固有ボリュームPCbおよび共通ボリュームPCcに割り当てられている。以下、ノード装置200のディスク装置210におけるデータの格納場所をキャッシュブロックと称する。
【0041】
クライアント100aは、リモートブート時など種々のタイミングで、仮想ブロックを指定してデータの読み出し要求をノード装置200に送信する。ノード装置200は、指定されたデータが仮想ボリュームVCaにキャッシュ済みであるか否かを確認する。キャッシュ済みである場合、ノード装置200は、仮想ボリュームVCaに対応する固有ボリュームPCaまたは共通ボリュームPCcからデータを読みだし、クライアント100aに返信する。
【0042】
仮想ボリュームVcaにキャッシュされていない場合には、ノード装置200は、読出コマンドをストレージ装置300に送信する。ストレージ装置300は、読出コマンドで指定された仮想ブロックに対応するデータを、固有ボリュームPDaおよび共通ボリュームPDcから読み出し、ノード装置200に返信する。ノード装置200は、このデータをクライアント100aに返信するとともに、仮想ボリュームVCaに対応する固有ボリュームPCaまたは共通ボリュームPCcに格納する。クライアント100bからの読出コマンドについても同様の処理が行われる。
【0043】
図3はデータの格納例を示す説明図である。図の左側には、ストレージ装置300で管理される仮想ボリュームVDa、VDbに格納されているファイルを示し、右側には固有ボリュームPDa、PDbおよび共通ボリュームPDcに格納されているファイルを示した。仮想ボリュームVDaには、クライアント100aで使用されるオペレーティングシステムOSa用のファイル、および種々のアプリケーションプログラムや文書データが格納されている。オペレーティングシステムOSaには図示する6つのファイルが含まれており、IPL, DOS.SYS, INOUT.SYS, COM.COMはユーザの環境設定等に依存しないファイル、CONF.SYS, AUTO.BATはデフォルトの環境設定を表すファイルであるものとする。仮想ボリュームVDbには、クライアント100bで使用されるオペレーティングシステムOSb用のファイル等が格納されている。オペレーティングシステムOSbは、環境設定を表すファイルCONF.SYSb, AUTO.BATbがオペレーティングシステムOSaと相違している。
【0044】
本実施例では、各クライアントに固有のファイルを固有ボリュームPDa、PDbに格納し、各クライアントが共通して使用するファイルを共通ボリュームPDcに格納する。従って、クライアント100aが仮想ボリュームVDaに格納されているファイルのうち、アプリケーション1、アプリケーション2、および文書ファイルaは、実際には固有ボリュームPDaに格納されている。オペレーティングシステムOSa用の6つのファイルは、共通して使用されるファイルであるため、共通ボリュームPDcに格納される。
【0045】
一方、クライアント100bについては、仮想ボリュームVDbに格納されているファイルのうち、アプリケーション1、アプリケーション3、文書ファイルbは、実際には固有ボリュームPDbに格納されている。オペレーティングシステムOSb用の6つのファイルのうち、環境設定に依存しないファイルは共通ボリュームPDcに格納されている。環境設定を表すファイルCONF.SYSb, AUTO.BATbは、クライアント100bに固有のファイルとして扱われており、固有ボリュームPDbに格納される。
【0046】
固有ボリュームPDa、PDbおよび共通ボリュームPDcに格納すべきデータの分類については、種々の設定が可能である。例えば、デフォルトの環境設定を表すファイルCONF.SYS, AUTO.BATについても、クライアント100aの固有のファイルとして扱い、固有ボリュームPDaに格納してもよい。別の設定として、クライアント100bの環境設定を表すファイルCONF.SYSb, AUTO.BATbも含め、リモートブートで使用するファイルを全て共通ボリュームPDcに格納するものとしてもよい。更に、別の設定として、クライアント100a、100bが共通して使用するアプリケーション1を共通ボリュームPDcに格納してもよい。
【0047】
C.機能ブロック;
図4は計算機システムを構成する各装置内の機能ブロックを示す説明図である。本実施例では、図示する各機能ブロックは、それぞれコンピュータプログラムをインストールすることによりソフトウェア的に構成される。各機能ブロックは、ハードウェア的に構成することも可能である。
【0048】
計算機100の機能ブロックは、次の通りである。TCP/IPモジュール120は、ネットワークを介してIPパケットを通信する。SCSIモジュール122は、ストレージ装置300に対してデータの読み出し、書き込み用のコマンド送受信などを行う。iSCSIモジュール121は、SCSIコマンドとIPパケットの変換を行うことによって、SCSIコマンドをTCP/IPで送受信可能とする。ブートプログラム130は、計算機100でリモートブートを実現する。ブートプログラム130は、計算機100の初期化を行う機能、起動に必要なオペレーティングシステムなどのファイルをストレージ装置から読み込む機能、これらのファイルを起動してブートする機能などを実現することができる。ID入力モジュール131は、リモートブートを行う際に、ストレージ装置300に送信すべきユーザID、パスワードを入力する。本実施例では、これらのモジュールは、ROM103に記憶されているプログラムによって実現される。
【0049】
上述の各機能ブロックによってリモートブートが完了すると、計算機100には、ストレージ装置300から供給されたファイルによってオペレーティングシステム140が起動する。計算機100上の各処理に利用されるアプリケーション150は、ストレージ装置300から供給され、オペレーティングシステム140の上で稼働する。
【0050】
ノード装置200には、ネットワークを介してSCSIコマンドを授受するため、TCP/IPモジュール220、iSCSIモジュール221、SCSIモジュール222が備えられている。ノード装置200には、所定のオペレーティングシステムがインストールされており、このオペレーティングシステム上で稼働するアプリケーションによってキャッシュ制御モジュール230が実現されている。
【0051】
キャッシュ制御モジュール230は、物理ブロック管理テーブル234、キャッシュ管理テーブル232を参照して、ノード装置200におけるキャッシュを制御する。物理ブロック管理テーブル234とは、仮想ボリュームにおけるデータの格納場所、即ち仮想ブロックと、ストレージ装置300におけるデータの格納場所、即ち物理ブロックとを対応づけるテーブルである。キャッシュ管理テーブル232とは、物理ブロックと、ノード装置200におけるデータの格納場所、即ちキャッシュブロックとを対応づけるテーブルである。これらのテーブルのデータ構造については後述する。物理ブロック管理テーブル234およびキャッシュ管理テーブル232を順次参照することにより、クライアントから指定された仮想ブロックに対応するデータが格納されているキャッシュブロックを特定することができる。
【0052】
ストレージ装置300には、ネットワークを介してSCSIコマンドを授受するため、TCP/IPモジュール320、iSCSIモジュール321、SCSIモジュール322が備えられている。ストレージ装置300には、所定のオペレーティングシステムがインストールされており、このオペレーティングシステム上で稼働するアプリケーションによってアクセス制御モジュール330が実現されている。
【0053】
アクセス制御モジュール330は、ユーザ管理テーブル334、物理ブロック管理テーブル332を参照して、ディスク装置310のデータの読み書きを制御する。ユーザ管理テーブル334は、ユーザIDと仮想ボリュームとを対応づけるテーブルである。物理ブロック管理テーブル332とは、仮想ブロックと物理ブロックとを対応づけるテーブルである。アクセス制御モジュール330は、計算機100の起動時に、計算機100からユーザIDを取得する。このユーザIDに基づいてユーザ管理テーブル334を参照することで、ユーザに対応する仮想ボリュームを計算機100に割り当てる。本明細書では、このように仮想ボリュームが特定された状態を「クライアント」と称する。
【0054】
アクセス制御モジュール330は、以後、クライアントから指定された仮想ブロックに対して、物理ブロック管理テーブル332を参照して、ディスク装置310のデータの読み書きを制御することができる。
【0055】
D.テーブルのデータ構造;
図5はユーザ管理テーブル334の構造を示す説明図である。ユーザ管理テーブル334は、ユーザID、パスワード、仮想ボリューム、属性、IPアドレスを対応づけて管理する。属性とは、仮想ボリュームに対する他のユーザのアクセスの可否を表している。「専有」は他のユーザのアクセスが禁止されていることを意味し、「共有」は許可されていることを意味する。IPアドレスは、ユーザがログインした計算機によって変動する。属性、IPアドレスは、ユーザ管理テーブル334から省略してもよい。
【0056】
図6は物理ブロック管理テーブル332の構造を示す説明図である。図の上方にデータ構造を示し、下方に仮想ブロックと物理ブロックとの対応関係を模式的に示した。先に説明した通り、物理ブロック管理テーブル332は、仮想ブロックと物理ブロックの対応関係を示すテーブルであり、仮想ボリューム単位で設けられている。図中には、仮想ボリュームVDaに対応するテーブルを例示した。このテーブルでは、仮想ボリュームVDaの仮想ブロックBL0〜BLnに対して、実際にデータが格納されている物理ブロックが記憶されている。物理ブロックは、物理ボリュームとブロック番号との組み合わせで定義される。
【0057】
図に例示したテーブルは、下方に模式的に示した対応関係を表している。つまり、仮想ブロックBL0のデータは、共通ボリュームPDcのブロックBL0に格納されている。同様にして、仮想ブロックBL1〜BLnの各データは、それぞれ共通ボリュームPDcまたは固有ボリュームPDaのいずれかのブロックに格納されている。このテーブルを参照することにより、クライアントが指定した仮想ブロックに対応するデータを、共通ボリュームPDcまたは固有ボリュームPDaから読み出すことが可能となる。物理ブロック管理テーブル332は、仮想ブロックVDbに対しても同様の形式でデータを記録している。仮想ブロックVDbに対しては、共通ボリュームPDcと固有ボリュームPDbのブロックが割り当てられることになる。共通ボリュームPDcのブロックに対しては、仮想ブロックVDa、VDbの双方が対応づけられる可能性がある。かかる対応付けにより、共通ボリュームPDcのデータを複数のクライアントで共有することが可能となる。
【0058】
ノード装置200が備える物理ブロック管理テーブル234も同様の形式でデータを格納する。ノード装置は、物理ブロック管理テーブル234として、ストレージ装置300に格納されている全てのデータに関する情報を管理してもよいし、キャッシュされているデータに関する部分の情報のみを管理してもよい。
【0059】
図7はキャッシュ管理テーブル232の構造を示す説明図である。このテーブルは、図の右側に示す通り、ストレージ装置300における物理ブロックと、ノード装置200におけるキャッシュブロックとを対応づけている。物理ブロックは、物理ボリュームとブロック番号で特定される。
【0060】
図中の左側には、2つの仮想ボリュームVDa、VDbにそれぞれ対応する物理ブロック管理テーブル234a、234bの内容を併せて例示した。ノード装置200は、物理ブロック管理テーブル234a、234bおよびキャッシュ管理テーブル232を参照することにより、仮想ブロックに対応するデータの格納場所を特定することができる。例えば、仮想ボリュームVDaの仮想ブロックBL0は、物理ブロック管理テーブル234aにより、物理ボリュームPDcのブロックBL0に対応するデータであることが特定される。次に、キャッシュ管理テーブル232を参照すると、物理ボリュームPDcのブロックBL0は、キャッシュブロックBL0に格納されていることがわかる。
【0061】
図では、キャッシュブロックは、物理ボリュームと無関係に割り当てられる場合を例示した。ノード装置200においても、共通ボリュームPCcと固有ボリュームPCa、PCbが定義されているから、これらに振り分けてデータを格納してもよい。例えば、ストレージ装置300において共通ボリュームPDcに格納されているデータを、共通ボリュームPCcに格納し、固有ボリュームPDa、PDbに格納されているデータを、それぞれ固有ボリュームPCa、PCbに格納してもよい。
【0062】
別の態様として、固有ボリュームについてはクライアントを区別することなくデータを格納するようにしてもよい。例えば、ストレージ装置300において固有ボリュームPDa、PDbに格納されているデータを区別することなく、同一の固有ボリュームに格納するようにしてもよい。
【0063】
E.データ読出処理;
図8はデータ読み出し処理のフローチャートである。リモートブート時を例にとり、左側にクライアント100の処理、中央にノード装置200の処理、右側にストレージ装置300の処理を示した。
【0064】
ユーザが計算機の電源をオンにすると、ID入力モジュール131によって、ユーザID、パスワード等の入力画面が提示される。ユーザが、ユーザID、パスワードを入力し、ログインすると、クライアント100は、IPアドレスとともにこれらの情報を、ノード装置200およびストレージ装置300に送信する(ステップS10)。ストレージ装置300は、この情報に基づいてユーザ管理テーブル334を参照し、ユーザの認証を行う(ステップS30)。正規なユーザであることが確認されると、ストレージ装置300は、ユーザ管理テーブル334に、クライアント100のIPアドレスを記録するとともに、ユーザに対応した仮想ボリューム名を通知する。この通知は、ノード装置200を介してクライアント100に送信される。以後、クライアント100からのデータの読み出し要求等は、この仮想ボリューム名に基づいて行われる。
【0065】
クライアント100は、ROMに記録されているブートプログラム130を起動する(ステップS11)。ブートプログラム130は、ブートに必要な初期化処理を行った上で、オペレーティングシステムのデータ読み出し要求をノード装置に対して送信する(ステップS12)。
【0066】
ノード装置200は、読み出し要求を受信し、既にキャッシュ済みであるか否かを確認する(ステップS20)。この確認は、図7で説明した通り、物理ブロック管理テーブル234とキャッシュ管理テーブル232を参照して行う。キャッシュ済みの場合は(ステップS20)、キャッシュブロックから該当するデータを読み出し、クライアント100に返信する(ステップS25)。クライアント100は、このデータを受信して起動処理を継続する(ステップS13)。
【0067】
要求されたデータがキャッシュされていない(以下、「未キャッシュ」と呼ぶ)場合(ステップS20)、ノード装置は、ストレージ装置に対して、クライアント100から要求された仮想ブロックがどの物理ブロックに格納されているかを問い合わせる(ステップS21)。ストレージ装置300は、この問い合わせを受けると、物理ブロック管理テーブル332を参照して、仮想ブロックが格納されている物理ブロックの物理ボリュームおよびブロック番号を、ノード装置200に返信する(ステップS31)。
【0068】
ノード装置200は、物理ブロック管理テーブル234に、ストレージ装置300から受信した情報を格納し、クライアント100から要求されたデータがキャッシュ済みか否かを、再度確認する(ステップS22)。この時点では、物理ブロック管理テーブル234が更新されただけであり、ストレージ装置300から新たにデータを受信した訳ではないが、キャッシュ済みと判断される場合が起こり得る。例えば、クライアント100が、共通ボリュームに格納されているデータの読み出しを要求している場合である。共通ボリュームに格納されているデータは、既に他のクライアントの読み出し要求に応じて、ノード装置200にキャッシュされている場合がある。新たに接続されたクライアント100から要求された仮想ブロックについて、ストレージ装置300から物理ブロックに関する情報を取得して初めて、キャッシュ済みのデータとの対応関係が判明した場合には、この時点で、キャッシュ済みと判断される。キャッシュ済みと判断した場合には(ステップS22)、ノード装置200は、キャッシュされているデータをクライアントに返信し(ステップS25)、クライアントはこれを受信する(ステップS13)。
【0069】
物理ブロック管理テーブル234を更新したにもかかわらず、未キャッシュと判断した場合(ステップS22)、ノード装置200はストレージ装置300にデータの読み出しを要求する(ステップS23)。ストレージ装置300は、この要求に応じて、共通ボリュームまたは固有ボリュームからデータを読み出し、ノード装置200に返信する(ステップS32)。
【0070】
ノード装置200は、ストレージ装置300からデータを受信すると、これをキャッシュし、キャッシュ管理テーブル232を更新する(ステップS24)。また、受信したデータをクライアントに返信し(ステップS25)、クライアントはこれを受信する(ステップS13)。
【0071】
上述の処理において、ノード装置200において、ステップS20で未キャッシュと判断されたデータが、物理ブロック管理テーブル234を更新することにより、ステップS22でキャッシュ済みと判断される具体例を示す。図7において、先に仮想ボリュームVDb、BL0のデータがキャッシュブロックBL0に既にキャッシュ済みであり、クライアントから仮想ボリュームVDa、BL0のデータについて読み出し要求を受けた場合を考える。ノード装置200は、この時点では、物理ブロック管理テーブル234aの仮想ブロックBL0に対応するデータを管理していないため、要求されたデータは未キャッシュと判断する。その後、ストレージ装置300から、物理ブロック管理テーブル234aの1行目のデータ、即ち、仮想ブロックBL0が物理ディスクPDc、ブロックBL0に格納されている情報を取得する。このデータを取得すると、ノード装置200は、更新後の物理ブロック管理テーブル234a、およびキャッシュ管理テーブル232を参照することにより、要求されたデータがキャッシュブロックBO0にキャッシュ済みであると判断することができる。
【0072】
以上の処理を繰り返し行うことにより、クライアント100は、ブートに必要なファイルを取得し、リモートブートを完了することができる。図8ではリモートブート時の読み出し処理を示したが、リモートブートと無関係に通常のデータ読み出し時にも、データ読み出し要求(ステップS12)からデータ受信(ステップS13)の処理が同様にして行われる。
【0073】
以上で説明した実施例の計算機システムでは、リモートブート用のデータは、複数のクライアントに共有される共通ボリュームに格納され、ノード装置においても複数のクライアントに共通のデータとしてキャッシュされる。従って、これらのデータについて複数のクライアントからのアクセスが集中しても、データ読み出し時におけるディスク装置のヘッド移動量を抑制することができ、読み出し速度低下を抑制することができる。
【0074】
F.変形例;
(1) 実施例では、ノード装置200は、クライアントから要求されたデータが未キャッシュと判断された場合に(図8のステップS20)、ストレージ装置300に物理ブロックに関する情報の問い合わせを行う場合を例示した。これに対し、ストレージ装置300で管理している物理ブロック管理テーブル332の全データを、予めノード装置200に送信しておいてもよい。こうすることにより、ノード装置200は、ストレージ装置300への問い合わせ(図8のステップS21)を行うまでなく、要求されたデータがキャッシュ済みかを判断することが可能となる。
【0075】
(2) 実施例では、ストレージ装置300は、物理ブロックに関する情報の問い合わせを受けたノード装置200に対してのみ、物理ブロック管理テーブルの情報を返信する場合を例示した(図8のステップS31)。これに対して、ストレージ装置300は、全てのノード装置に対して、物理ブロック管理テーブルの情報をマルチキャストしてもよい。こうすることにより、ユーザが別のノード装置に接続されている計算機100で再ログインした場合でも、ノード装置は、ストレージ装置300から得られた情報を有効活用して、キャッシュ済みか否かの判断を迅速に行うことが可能となる。
【0076】
(3) 実施例では、ノード装置が設けられている計算機システムを例示した。これに対し、本発明は、ストレージ装置に計算機が直接、接続されている計算機システムに適用することも可能である。かかる計算機システムでは、図8におけるノード装置の処理が省略される。ストレージ装置は、クライアントからの要求(ステップS12)に応じて、物理ブロック管理テーブル332を参照し、データの返信を行えばよい(ステップS32,S13)。かかる処理でも、複数のクライアントに共通するデータを共通ボリュームで管理することにより、読み出し速度の低下を抑制するという効果を得ることができる。
【0077】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。
【0078】
【発明の効果】
本発明によれば、共通ボリュームと固有ボリュームに区分けして、データを格納することにより、複数のクライアントから共通して読み出されるデータを共通ボリュームでまとめて管理することができる。共通ボリュームにまとめて格納されたデータについては、複数のクライアントからのアクセスが集中しても、ヘッドの移動量を抑制することができ、データの読み出し速度低下を抑制することができる。
【図面の簡単な説明】
【図1】実施例としての計算機システムの構成を示す説明図である。
【図2】データの格納および読出状態を模式的に示す説明図である。
【図3】データの格納例を示す説明図である。
【図4】計算機システムを構成する各装置内の機能ブロックを示す説明図である。
【図5】ユーザ管理テーブル334の構造を示す説明図である。
【図6】物理ブロック管理テーブル332の構造を示す説明図である。
【図7】キャッシュ管理テーブル232の構造を示す説明図である。
【図8】データ読み出し処理のフローチャートである。
【符号の説明】
100、100a、100b…クライアント
101、201、301…CPU
102、202、302…メモリ(RAM)
103、203、303…ROM
104、204、304…NIC
105、205、305…I/O
120、220、320…TCP/IPモジュール
121、221、321…iSCSIモジュール
122、222、322…SCSIモジュール
130…ブートプログラム
131…ID入力モジュール
140…オペレーティングシステム
150…アプリケーション
200…ノード装置
210、310…ディスク装置
230…キャッシュ制御モジュール
232…キャッシュ管理テーブル
234、234a、234b…物理ブロック管理テーブル
300…ストレージ装置
330…アクセス制御モジュール
332…物理ブロック管理テーブル
334…ユーザ管理テーブル
Claims (13)
- ディスク装置に記憶されたデータを複数のクライアントからの要求に応じて提供するデータ提供装置であって、
前記ディスク装置は、
前記複数のクライアントが共通して使用する所定容量の共通ボリュームと、
前記複数のクライアントに対応付けて区切られた複数の固有ボリュームとを有し、
前記複数のクライアントごとに個別に仮想的なボリュームを割り当てる仮想ボリューム管理部と、
該仮想的なボリューム内に仮想的に定義された仮想ブロックと、前記共通ボリュームおよび固有ボリュームについて物理的に規定された各物理ブロックとの対応づけを管理するブロック対応管理部と、
前記クライアントから前記仮想ブロックの指定を伴う読出コマンドを受け付けるコマンド受付部と、
前記ブロック対応管理部を参照して、該仮想ブロックに対応するデータを、該クライアントに対応する固有ボリュームまたは前記共通ボリュームから読み出し、該読出コマンドを発信したクライアントに対して出力する読出制御部とを備えるデータ提供装置。 - 請求項1記載のデータ提供装置であって、
前記クライアントは、該データ提供装置からのデータ供給を受けてリモートブート可能であり、
前記共通ボリュームは、該リモートブート時に前記複数のクライアントに供給すべきデータを格納したデータ提供装置。 - 請求項1記載のデータ提供装置であって、
前記ブロック対応管理部は、前記複数の仮想ボリュームにおける少なくとも一部の仮想ブロックを、同一の共通ブロックに対応づけるデータ提供装置。 - 請求項1記載のデータ提供装置であって、
該データ提供装置と前記複数のクライアントとの間には、データのキャッシュ機能を備える複数のノード装置が接続されており、
該データ提供装置は、
前記ノード装置からの要求に応じて、各データが共通ボリュームおよび固有ボリュームのいずれに格納されているかを特定するための特定情報を該ノード装置に出力する特定情報出力部を備えるデータ提供装置。 - 請求項4記載のデータ提供装置であって、
前記特定情報は、前記仮想ブロックと前記物理ブロックとの対応関係であるデータ提供装置。 - 請求項4記載のデータ提供装置であって、
前記特定情報出力部は、前記読出コマンドに関わらず所定のタイミングで、複数の仮想ブロックに関する前記特定情報を出力するデータ提供装置。 - 請求項4記載のデータ提供装置であって、
前記ノード装置からの要求は、仮想ブロックの指定を含んでおり、
前記特定情報出力部は、該指定された仮想ブロックに関する前記特定情報を出力するデータ提供装置。 - 請求項1記載のデータ提供装置であって、
所定の上位データ提供装置と前記複数のクライアントに接続され、両者間でのデータの授受を中継するノード装置として構成されており、
前記クライアントからの読出コマンドで指定された仮想ブロックに対応するデータが、前記ディスク装置に格納されていない場合には、該データの読出コマンドを前記上位データ提供装置に送信するコマンド送信部と、
前記上位データ提供装置から、該データ、および該データが共通ボリュームおよび固有ボリュームのいずれに格納されていたデータであるかを表す特定情報を受信するデータ受信部と、
該受信したデータを前記クライアントに転送する転送部と、
該受信したデータを前記特定情報に応じて前記共通ボリュームおよび固有ボリュームのいずれかに格納するとともに、該格納場所に応じて前記ブロック対応管理部における前記仮想ブロックと前記物理ブロックとの対応づけを更新する格納制御部とを備えるデータ提供装置。 - 請求項8記載のデータ提供装置であって、
前記特定情報は、前記仮想ブロックと他の仮想ブロックとのデータの共通性も特定可能であり、
前記コマンド送信部による読出コマンドの送信に先立って、該特定情報の出力を前記上位データ提供装置に要求する特定情報要求部と、
前記コマンド送信部は、該出力要求に応じて該上位データ提供装置から受信した前記特定情報に基づいて、前記データが、前記ディスク装置に格納されているか否かを判断するデータ提供装置。 - 請求項8記載のデータ提供装置であって、
前記特定情報は、前記仮想ブロックと他の仮想ブロックとのデータの共通性も特定可能であり、
該特定情報を前記上位データ提供装置から取得し、管理する特定情報管理部を備え、
前記コマンド送信部は、該特定情報管理部を参照して、前記データが、前記ディスク装置に格納されているか否かを判断するデータ提供装置。 - 請求項10記載のデータ提供装置であって、
前記特定情報管理部は、前記特定情報として、前記仮想ブロックと前記上位データ提供装置における物理ブロックとの対応関係を管理しており、
前記ブロック対応管理部は、
前記上位データ提供装置における物理ブロックと、該データ提供装置における物理ブロックとの対応関係を管理する物理ブロック管理部を有し、
前記特定情報管理部および物理ブロック管理部を参照して、前記仮想ブロックと該データ提供装置における物理ブロックとの対応関係を特定するデータ提供装置。 - ディスク装置に記憶されたデータを複数のクライアントからの要求に応じて提供するデータ提供装置の制御方法であって、
前記ディスク装置について、前記複数のクライアントが共通して使用する所定容量の共通ボリュームと、前記複数のクライアントに対応付けて区切られた複数の固有ボリュームとを定義する設定情報を管理するステップと、
前記複数のクライアントごとに個別に仮想的なボリュームを割り当てるステップと、
該仮想的なボリューム内に仮想的に定義された仮想ブロックと、前記共通ボリュームおよび固有ボリュームについて物理的に規定された各物理ブロックとの対応づけを管理するステップと、
前記クライアントから前記仮想ブロックの指定を伴う読出コマンドを受け付けるステップと、
前記ブロック対応管理部を参照して、該仮想ブロックに対応するデータを、該クライアントに対応する固有ボリュームまたは前記共通ボリュームから読み出し、該読出コマンドを発信したクライアントに対して出力するステップとを備えるデータ提供装置の制御方法。 - ディスク装置に記憶されたデータを複数のクライアントからの要求に応じて提供するデータ提供装置の動作を制御するためのコンピュータプログラムであって、
前記ディスク装置について、前記複数のクライアントが共通して使用する所定容量の共通ボリュームと、前記複数のクライアントに対応付けて区切られた複数の固有ボリュームとを定義する設定情報を管理する機能と、
前記複数のクライアントごとに個別に仮想的なボリュームを割り当てる機能と、
該仮想的なボリューム内に仮想的に定義された仮想ブロックと、前記共通ボリュームおよび固有ボリュームについて物理的に規定された各物理ブロックとの対応づけを管理する機能と、
前記クライアントから前記仮想ブロックの指定を伴う読出コマンドを受け付ける機能と、
前記ブロック対応管理部を参照して、該仮想ブロックに対応するデータを、該クライアントに対応する固有ボリュームまたは前記共通ボリュームから読み出し、該読出コマンドを発信したクライアントに対して出力する機能とを該データ提供装置において実現するためのコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075187A JP4233900B2 (ja) | 2003-03-19 | 2003-03-19 | 大容量記憶装置におけるデータの格納・読み出し制御 |
US10/648,252 US7051165B2 (en) | 2003-03-19 | 2003-08-27 | Method and apparatus for a data source device with shared storage for a plurality of clients |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075187A JP4233900B2 (ja) | 2003-03-19 | 2003-03-19 | 大容量記憶装置におけるデータの格納・読み出し制御 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004287477A true JP2004287477A (ja) | 2004-10-14 |
JP4233900B2 JP4233900B2 (ja) | 2009-03-04 |
Family
ID=32984772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003075187A Expired - Fee Related JP4233900B2 (ja) | 2003-03-19 | 2003-03-19 | 大容量記憶装置におけるデータの格納・読み出し制御 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7051165B2 (ja) |
JP (1) | JP4233900B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156933A (ja) * | 2005-12-07 | 2007-06-21 | Nippon Telegr & Teleph Corp <Ntt> | ストレージアクセス中継装置並びにそのプログラム |
JP2008522279A (ja) * | 2004-11-25 | 2008-06-26 | ソフトキャンプ カンパニー リミテッド | アクセスが制御される仮想ディスク間のオンラインによるデータのセキュリティ伝送システムおよび、これを通じたセキュリティ伝送方法 |
US7809935B2 (en) | 2005-09-28 | 2010-10-05 | Hitachi, Ltd. | Computer system for selecting a useable computer board to power on and accessing corresponding storage based on terminal request that includes user information |
KR101232654B1 (ko) | 2012-09-11 | 2013-02-13 | 효성아이티엑스(주) | 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4252828B2 (ja) * | 2003-03-19 | 2009-04-08 | 株式会社日立製作所 | キャッシュ制御方法、ノード装置、プログラム |
JP2005157867A (ja) | 2003-11-27 | 2005-06-16 | Hitachi Ltd | 記憶システム、記憶制御装置及び記憶制御装置を用いたデータ中継方法 |
JP2005301708A (ja) * | 2004-04-13 | 2005-10-27 | Hitachi Ltd | 記憶装置システムにおけるソフトウェア管理方法及び記憶装置システム |
JP2005310025A (ja) * | 2004-04-26 | 2005-11-04 | Hitachi Ltd | ストレージ装置、計算機システムおよびイニシエータ認可方法 |
JP2006011541A (ja) * | 2004-06-22 | 2006-01-12 | Hitachi Ltd | 計算機および共用記憶装置を含む計算機システムにおける情報記録方法 |
US7580981B1 (en) | 2004-06-30 | 2009-08-25 | Google Inc. | System for determining email spam by delivery path |
US7157327B2 (en) * | 2004-07-01 | 2007-01-02 | Infineon Technologies Ag | Void free, silicon filled trenches in semiconductors |
US8862785B2 (en) * | 2005-03-31 | 2014-10-14 | Intel Corporation | System and method for redirecting input/output (I/O) sequences |
US7536529B1 (en) | 2005-06-10 | 2009-05-19 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for provisioning space in a data storage system |
US8010485B1 (en) | 2005-10-20 | 2011-08-30 | American Megatrends, Inc. | Background movement of data between nodes in a storage cluster |
US8498967B1 (en) | 2007-01-30 | 2013-07-30 | American Megatrends, Inc. | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome |
US8352716B1 (en) | 2008-01-16 | 2013-01-08 | American Megatrends, Inc. | Boot caching for boot acceleration within data storage systems |
US8799429B1 (en) | 2008-05-06 | 2014-08-05 | American Megatrends, Inc. | Boot acceleration by consolidating client-specific boot data in a data storage system |
US8893160B2 (en) * | 2008-06-09 | 2014-11-18 | International Business Machines Corporation | Block storage interface for virtual memory |
US8443153B1 (en) * | 2010-01-06 | 2013-05-14 | Netapp, Inc. | Dynamic balancing of performance with block sharing in a storage system |
US9558074B2 (en) * | 2010-06-11 | 2017-01-31 | Quantum Corporation | Data replica control |
JP5545141B2 (ja) * | 2010-09-09 | 2014-07-09 | 富士ゼロックス株式会社 | データ中継システム、中継装置、およびプログラム |
US8732518B2 (en) | 2011-04-13 | 2014-05-20 | Netapp, Inc. | Reliability based data allocation and recovery in a storage system |
US9319350B2 (en) * | 2011-04-21 | 2016-04-19 | Hewlett Packard Enterprise Development Lp | Virtual address for virtual port |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332716A (ja) | 1993-05-26 | 1994-12-02 | Hitachi Ltd | リモートブートシステム |
US6148377A (en) * | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US6295575B1 (en) * | 1998-06-29 | 2001-09-25 | Emc Corporation | Configuring vectors of logical storage units for data storage partitioning and sharing |
JP3837953B2 (ja) * | 1999-03-12 | 2006-10-25 | 株式会社日立製作所 | 計算機システム |
JP2001075853A (ja) | 1999-09-03 | 2001-03-23 | Hitachi Ltd | 計算機システム、及び該計算機システムに用いられる計算機並びに記憶装置 |
US6556998B1 (en) * | 2000-05-04 | 2003-04-29 | Matsushita Electric Industrial Co., Ltd. | Real-time distributed file system |
US6925528B2 (en) * | 2000-06-20 | 2005-08-02 | Storage Technology Corporation | Floating virtualization layers |
JP4252828B2 (ja) * | 2003-03-19 | 2009-04-08 | 株式会社日立製作所 | キャッシュ制御方法、ノード装置、プログラム |
-
2003
- 2003-03-19 JP JP2003075187A patent/JP4233900B2/ja not_active Expired - Fee Related
- 2003-08-27 US US10/648,252 patent/US7051165B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008522279A (ja) * | 2004-11-25 | 2008-06-26 | ソフトキャンプ カンパニー リミテッド | アクセスが制御される仮想ディスク間のオンラインによるデータのセキュリティ伝送システムおよび、これを通じたセキュリティ伝送方法 |
US7809935B2 (en) | 2005-09-28 | 2010-10-05 | Hitachi, Ltd. | Computer system for selecting a useable computer board to power on and accessing corresponding storage based on terminal request that includes user information |
JP2007156933A (ja) * | 2005-12-07 | 2007-06-21 | Nippon Telegr & Teleph Corp <Ntt> | ストレージアクセス中継装置並びにそのプログラム |
KR101232654B1 (ko) | 2012-09-11 | 2013-02-13 | 효성아이티엑스(주) | 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US7051165B2 (en) | 2006-05-23 |
JP4233900B2 (ja) | 2009-03-04 |
US20040186898A1 (en) | 2004-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4233900B2 (ja) | 大容量記憶装置におけるデータの格納・読み出し制御 | |
US7529885B2 (en) | Cache control method for node apparatus | |
JP5337633B2 (ja) | 分散型ストレージシステムのファイルアクセス性能を改善する方法と装置 | |
EP1148416B1 (en) | Computer system and snapshot data management method | |
JP4452064B2 (ja) | 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム | |
US7386598B2 (en) | Computer system with virtualization function | |
US6606651B1 (en) | Apparatus and method for providing direct local access to file level data in client disk images within storage area networks | |
US20050216668A1 (en) | Mode device, administrative server, routing method and authentication method | |
JPWO2005001700A1 (ja) | ストレージ容量管理方法、そのサーバ、記録媒体 | |
US8001323B2 (en) | Network storage system, management method therefor, and control program product therefor | |
JP2008159027A (ja) | ファイルシステム仮想化のための方法および装置 | |
JP2003345631A (ja) | 計算機システム及び記憶領域の割当方法 | |
US20060074943A1 (en) | Computer system | |
JP4855516B2 (ja) | アクセス制御プログラム、アクセス制御装置およびアクセス制御方法 | |
JP2003114806A (ja) | Os更新方法及びセキュリティ制御方法並びにその実施装置 | |
JP2010009573A (ja) | Nas及びcas統合体でデータをバックアップする為の方法と装置 | |
JP4285058B2 (ja) | ネットワーク管理プログラム、管理計算機及び管理方法 | |
WO2011036707A1 (en) | Computer system for controlling backups using wide area network | |
US20050235005A1 (en) | Computer system configuring file system on virtual storage device, virtual storage management apparatus, method and signal-bearing medium thereof | |
US20060206588A1 (en) | Information processing system and method | |
JP4440608B2 (ja) | ネットワークブートシステム,ネットワークブート方法およびネットワークブート用キャッシュ装置 | |
JP5605847B2 (ja) | サーバ、クライアント、これらを有するバックアップシステム、及びこれらのバックアップ方法 | |
US20060193263A1 (en) | Method and system to simulate delays in geographically distributed computing environments | |
JP5494363B2 (ja) | ファイル管理プログラム,ファイル管理方法およびファイル管理装置 | |
JP2009070359A (ja) | ハードディスクレス型コンピュータの起動効率を向上可能な広域通信網起動システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080617 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080814 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081210 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |