JP2006302065A - ファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末 - Google Patents
ファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末 Download PDFInfo
- Publication number
- JP2006302065A JP2006302065A JP2005124573A JP2005124573A JP2006302065A JP 2006302065 A JP2006302065 A JP 2006302065A JP 2005124573 A JP2005124573 A JP 2005124573A JP 2005124573 A JP2005124573 A JP 2005124573A JP 2006302065 A JP2006302065 A JP 2006302065A
- Authority
- JP
- Japan
- Prior art keywords
- client terminal
- disk device
- management server
- information
- input
- 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
Images
Classifications
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 広域なネットワークによるシステム構築及びその管理が容易で、システム構築及び運用管理のコストを抑制できるファイル共有システムを提供する。
【解決手段】 ファイル共有システムは、サーバ2に、I/Oの制御情報のみを送信し、サーバ2から受信したI/O対象特定情報に基づいて自らディスク装置3とI/Oを行うクライアント1と、クライアント1から制御情報を受信し、I/Oの対象となるディスク装置3を特定する情報又はI/Oの終了処理がなされたことを知らせる情報をクライアント1に送信するサーバ2と、ネットワーク回線4を介してクライアント1と、サーバ2と接続しており、クライアント1から受信した、I/Oプロトコルに合った形式に変換されたI/O情報から、SCSI等のI/Oプロトコルに基づくコマンドを取り出すプロトコル変換手段31を備えるディスク装置3とを備える。
【選択図】 図1
【解決手段】 ファイル共有システムは、サーバ2に、I/Oの制御情報のみを送信し、サーバ2から受信したI/O対象特定情報に基づいて自らディスク装置3とI/Oを行うクライアント1と、クライアント1から制御情報を受信し、I/Oの対象となるディスク装置3を特定する情報又はI/Oの終了処理がなされたことを知らせる情報をクライアント1に送信するサーバ2と、ネットワーク回線4を介してクライアント1と、サーバ2と接続しており、クライアント1から受信した、I/Oプロトコルに合った形式に変換されたI/O情報から、SCSI等のI/Oプロトコルに基づくコマンドを取り出すプロトコル変換手段31を備えるディスク装置3とを備える。
【選択図】 図1
Description
本発明は、ファイルの共有に関し、特に、ネットワークを介してアクセス可能に設置されたディスク装置を有するファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末に関する。
に関する。
に関する。
図14は、従来のファイル共有システムの一例を示す概略図である。
図14に示されるような従来のネットワークファイルシステムによるファイル共有においては、TCP/IPなどネットワークのプロトコルを用いることによって、クライアント、サーバ間でI/O(In/Out:入出力)データを送受信し、ファイル共有を実現している。
このような構成を有する従来のファイル共有方法は、次のように動作する。
すなわち、サーバ、クライアントがそれぞれ通信制御手段を備えており、ディスク装置へデータを書き込む場合、サーバが、細かく分割されたサイズ毎にI/Oデータをクライアントから受信し、ファイルシステム管理手段を介して、当該ディスク装置にI/Oを発行し、入出力制御手段及びファイルシステム管理手段を介して、通信制御手段によって、クライアントへ当該I/Oの終了通知を送信する。
しかし、上述した従来のファイル共有システムにおいては、以下に述べるような問題点が存在する。
第1の問題点は、サーバのメモリやCPUの資源の消費量が多い点である。
その理由は、I/Oデータが、サーバを経由してクライアントとディスク装置間で送受信されるため、サーバのメモリ上に一旦I/Oデータを保持する領域を確保する必要が生じ、また、I/Oデータそのものを処理するために多くのCPU資源を消費するからである。このため、サーバにクライアントが多数接続される環境においては、サーバの処理負担及びネットワークの負荷が増大するので、好ましいシステム構成とは言えない。
第2の問題点は、サーバがディスク装置に対して発行するI/Oのデータサイズが小さくなり、I/Oの効率が悪い点である。
その理由は、ネットワークを介してI/Oデータを転送するためには、通信プロトコルが要求する条件を満たす必要があるので、ネットワークを介して転送するI/Oデータのデータサイズを、分割して小さくする必要があるからである。
第3の問題点は、ディスク装置が、サーバと物理的に近い位置に設置されなければならないという点である。
その理由は、I/Oデータを転送するためには、ディスク装置が、サーバとファイバチャネル等のI/O系プロトコルで接続される必要があるためである。
また、上記問題点は、ネットワークアタッチドストレージ(一般にNASと呼ばれる)においても同様である。
一方、従来のファイル共有システムの他の例が、特許文献1(特開2000−250821号広報)に記載されている。
これは、図15に示したように記憶装置を交換機を介して共有しており、TPT(Third−Party Trnsfer)入出力管理手段を用いて、周辺装置と直接データ転送をすることで、データ転送の高速化を実現することにより、上記問題点を解決する。
このような構成例を有する従来のファイル共有方法は、次のように動作する。
すなわち、サーバ、クライアントは、それぞれ通信制御手段を備え、サーバの通信制御手段は、クライアントの通信制御手段によって送信されたI/O要求情報をファイルシステム管理手段に提供し、さらに当該I/O要求情報に関するファイル内オフセットやI/Oサイズ等の情報を入出力制御手段に提供する。
次いで、周辺装置とクライアントの間で実際のI/Oが行われる。
その後、通信制御手段によって、サーバの入出力制御手段及びファイルシステム管理手段を介して、クライアントへ当該I/Oの終了通知を送信する。
このように、図15に示すようなネットワーク及びストレージエリアネットワークを基本とする従来のファイル共有システムの場合、ディスク装置とホストコンピュータ間のデータ転送には、イーサーネット(R)等の通信回線を用いたネットワークを使用しないため、ネットワークの負荷を低減できる効果を有する。
特開2000−250821号公報
しかし、上述した特許文献1を含む従来のファイル共有システムにおいては、以下に述べるような課題が存在する。
第1の課題は、イーサーネット(R)等によるネットワークと、ファイバチャネル等に基づくストレージエリアネットワークをそれぞれ独立して構築しなければならないため、構築コストが多くかかる点である。
第2の課題は、イーサーネット(R)等によるネットワークと、ファイバチャネル等に基づくストレージエリアネットワークをそれぞれ独立して構築しなければならないため、システム管理に高いスキルが要求される点である。
第3の課題は、グリッドコンピューティングのような広域に分散されたコンピュータ間でのファイル共有においては、ファイバチャネルを用いてイーサーネット(R)のような広域なネットワークを構築することができないため、ファイバチャネル等のI/O系のプロトコルで接続することが、事実上不可能な点である。
なお、以下、単に「ネットワーク」と記載した場合は、イーサーネット(R)等を用いたネットワークを指し、「SAN(Storage Area Network)」と記載した場合は、ファイバチャネル等を用いたストレージエリアネットワークを指すこととする。
本発明の目的は、広域なネットワークによるシステム構築及びその管理が容易で、システム構築及び運用管理のコストを抑制できるファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末を提供することにある。
上記目的を達成するため本発明は、ディスク装置を、ネットワークを介してクライアント端末からアクセス可能に設置し、管理サーバが、クライアント端末からのデータの入出力要求に基づいて、入出力要求の対象のディスク装置とそのディスク装置上の入出力要求の対象の領域との位置情報を含む特定情報をクライアント端末に送信する構成としている。
本発明の好ましい態様では、クライアント端末が、管理サーバから送信された特定情報に基づいて、ディスク装置上の入出力要求の対象の領域に対し、ネットワークを介して直接アクセスする構成としている。
(作用)
クライアント端末が、データの入出力要求したデータが存在するディスク装置とそのデータの位置情報を含む特定情報を管理サーバから受信し、ネットワークにおけるディスク装置上のデータの位置を認識する。
クライアント端末が、データの入出力要求したデータが存在するディスク装置とそのデータの位置情報を含む特定情報を管理サーバから受信し、ネットワークにおけるディスク装置上のデータの位置を認識する。
また、クライアント端末が、ディスク装置上のデータに対して直接アクセスして、入出力要求したデータにネットワークを介して直接到達する。
本発明によれば、ネットワーク上で広域に分散されたコンピュータ間でのファイルの共有を、コストを抑制して行えることである。
その理由は、管理サーバが、クライアント端末からのデータの入出力要求に基づいて、ネットワークを介してクライアント端末からアクセス可能に設置される入出力要求の対象のディスク装置とディスク装置上の入出力要求の対象の領域との位置情報を含む特定情報をクライアント端末に送信するので、クライアント端末が、ネットワークにおけるディスク装置上のデータの位置を認識して直接アクセスするため、ファイバチャネルを用いてイーサーネット(R)のような広域なネットワークを構築する必要がなく、イーサーネット(R)等によるネットワークと、ファイバチャネル等に基づくストレージエリアネットワークをそれぞれ独立して構築する必要がないことから、ネットワークによるシステム構築及びその管理が容易であるため、システム管理に高いスキルが要求されず、システム構築及び運用管理のコストを抑制できるからである。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
(ファイル共有システムの構成)
図1及び図2は、本発明の実施の形態によるファイル共有システムの構成を示す図であり、図1は、ファイル共有システムの構成単位例を示すブロック図、図2は、ファイル共有システムの概略を示す図である。
図1及び図2は、本発明の実施の形態によるファイル共有システムの構成を示す図であり、図1は、ファイル共有システムの構成単位例を示すブロック図、図2は、ファイル共有システムの概略を示す図である。
図1及び図2を参照すると、本実施の形態によるファイル共有システムは、ネットワーク回線4を介して接続された、クライアント1と、サーバ2と、ディスク装置3とを備えている。
本実施の形態によるファイル共有システムは、以下に示す所定の処理によってI/O(In/Out:入出力)に関する情報を送受信し、ファイルに対する排他制御機能を用いて、ファイルの共有を実現する。
クライアント1は、計算サーバやスーパーコンピュータなどであって、I/O要求プロセス11と、送信キュー12と、送信プロセス13と、受信プロセス14と、受信キュー15と、割り込み処理16と、受信待ちキュー17とを備えている。
また、クライアント1は、サーバ2に、制御情報のみを送信し、サーバ2から受信した制御情報に基づいて自らディスク装置3とI/Oを行う。
クライアント1がサーバ2に送信する制御情報は、I/Oに関する情報であるI/O情報に含まれる情報であって、クライアント1が、ディスク装置3との間でのI/Oの対象となる領域を特定する情報を要求することを示すI/O要求情報、又は、クライアント1が、ディスク装置3との間でのI/Oを終了することを通知するI/O終了通知情報を有する。
一方、クライアント1がサーバ2から受信する制御情報は、I/O対象特定情報を有する。
I/O対象特定情報は、クライアント1がI/Oを要求する、対象ファイルシステム、対象ファイルの情報と、I/O要求情報を送信したクライアント1、及びI/O要求情報を送信したクライアント1内のI/O要求プロセス11などを特定し、該当するディスク装置3、そのディスク装置3内のI/O対象の物理的な位置、位置を特定されたディスクに対するリード又はライトの別、及びI/O要求情報を送信したクライアント1のネットワーク回線4上のアドレスについての情報とを含む。
I/O対象特定情報は、クライアント1がI/Oを要求する、対象ファイルシステム、対象ファイルの情報と、I/O要求情報を送信したクライアント1、及びI/O要求情報を送信したクライアント1内のI/O要求プロセス11などを特定し、該当するディスク装置3、そのディスク装置3内のI/O対象の物理的な位置、位置を特定されたディスクに対するリード又はライトの別、及びI/O要求情報を送信したクライアント1のネットワーク回線4上のアドレスについての情報とを含む。
I/O要求プロセス11は、I/Oに必要なI/O情報のうち、制御情報としてI/O要求情報のみを含んだパケットを生成し、送信キュー12へ追加して送信プロセス13を起動する機能を有し、I/O要求手段111と、パケット待機手段112と、パケット判別手段113と、I/O発行手段114と、プロトコル変換手段115と、I/O処理終了手段116とを備えている。
また、I/O要求プロセス11は、I/O要求手段111によって送信キュー12の最後尾にパケットを追加した後や、プロトコル変換手段115を介してディスク装置3へI/Oを発行した後において、受信キュー15を検索する機能を有し、I/O要求プロセス11自身に対応するI/O要求の受信パケットが受信キュー15になければ、自身のプロセス(I/O要求プロセス11)を受信待ちキュー17の最後尾に追加し、CPUを放棄して、受信キュー15が当該I/O要求の受信パケットを受信することをパケット待機手段112において待機する状態となる。
なお、I/O要求プロセス11は、ユーザプログラムを実行するプロセスであり、このユーザプログラムから、ディスクへI/Oを行うread/write等のシステムコールを呼び出すことによりクライアント1のOS(オペレーティングシステム)内部に入り、上記I/O要求手段111等の各手段の手続きを実行する。
I/O要求手段111は、制御情報としてI/O要求情報を含んだパケットを生成して送信キュー12の最後尾へ追加した後、送信プロセス13を起動する機能を有する。
パケット待機手段112は、受信プロセス14によって起動されるまでCPUを放棄して受信待ち状態を維持する機能、及び受信キュー15から取り出したパケットをパケット判別手段113に提供する機能を有する。
パケット判別手段113は、パケット待機手段112を介し、受信キュー15から取り出されたパケットがI/Oに関するI/O対象特定情報であるか、I/O終了処理通知情報であるかを判別し、I/O対象特定情報と判別した場合はこのパケットを、I/O発行手段114に提供し、一方、I/O終了処理通知情報と判別した場合はこのパケットをI/O処理終了手段116に提供する機能を有する。
I/O発行手段114は、パケット判別手段113から提供されたI/O対象特定情報に基づいて、実際にI/O処理を行う対象を特定してI/Oを行うI/O情報を作成し、作成したI/O情報をSCSI等のI/Oプロトコルに合った形式に変換してプロトコル変換手段115に提供する機能を有する。
プロトコル変換手段115は、I/O発行手段114によってI/Oプロトコルに合った形式に変換されて提供されたI/O情報を、TCP/IP等のネットワークのプロトコルを用いて、ネットワーク回線4を介して該当するディスク装置3へ送信し、実際にI/Oを行う機能を有する。
I/O処理終了手段116は、パケット判別手段113により提供されたI/O終了処理通知情報から取得した、実際にクライアント1とディスク装置3間でI/Oができたサイズと、エラー情報とを、呼び出し元であるread/writeシステムコールへ返す機能を有する。
送信キュー12は、I/O要求手段111によって追加されたI/O要求情報を含んだパケットと、割り込み処理16によって追加されたI/O終了処理通知情報を含んだパケットとを格納し、送信プロセス13に提供する機能を有する。
送信プロセス13は、送信キュー12内のパケットの内容から宛先のサーバ2を調べる機能を有する。また、送信プロセス13は、このパケットを同サーバ2へ送信する送信手段131を備えている。
受信プロセス14は、サーバ2からパケットを受信する受信手段141を備え、サーバ2からパケットを受信すると受信待ち状態から復帰し、同パケット内の情報に基づき、受信待ちキュー17を検索し、該当するI/O要求プロセス11を特定して起動し、受信したパケットを受信キュー15に追加する。
受信キュー15は、受信プロセス14によって追加されたパケットを格納し、I/O要求プロセス11に提供する機能を有する。
割り込み処理16は、該当するディスク装置3にI/O要求プロセス11が送信したI/Oの終了を知らせる信号に応答するパケットを、ネットワーク回線4経由でディスク装置3から受信し、受信したパケットからI/Oの終了を了承するI/O終了通知を取り出してI/O終了通知情報を生成し、制御情報として送信キュー12へ追加して送信プロセス13を起動する。
受信待ちキュー17は、I/O要求手段111が送信キュー12にパケットをキューイングした後や、プロトコル変換手段115がディスク装置3へI/Oを発行した後において、当該I/O要求プロセス11自身に対応するI/O要求の受信パケットが受信キュー15にない場合に、当該I/O要求プロセス11がキューイングされる機能を有する。
サーバ2は、ネットワーク回線4を介してクライアント1と、ディスク装置3と接続し、受信プロセス21と、I/O要求情報キュー22と、I/O終了通知情報キュー23と、I/O処理プロセス24と、送信キュー25と、送信プロセス26とを備えており、クライアント1からI/Oに関する制御情報を受信し、I/Oの対象となるディスク装置3を特定する情報又はI/Oの終了処理がなされたことを知らせる情報をクライアント1に送信する。
受信プロセス21は、クライアント1から制御情報に関するパケットを受信する受信手段211と、受信手段211で受信したパケットがI/O要求情報を有するか、又は、I/O終了通知情報を有するかを判別するパケット判別手段212とを備えており、受信したパケットがI/O要求情報を有する場合は、I/O要求情報キュー22に追加し、一方、受信したパケットがI/O終了通知情報を有する場合は、I/O終了通知情報キュー23に追加する機能を有する。
I/O要求情報キュー22は、受信プロセス21によって提供されたI/O要求情報を有するパケットを格納し、I/O処理プロセス24に提供する機能を有する。
I/O終了通知情報キュー23は、受信プロセス21によって提供されたI/O終了通知情報を有するパケットを格納し、I/O処理プロセス24に提供する機能を有する。
I/O処理プロセス24は、I/O要求情報キュー22からI/O要求情報を有するパケットを取り出して、又は、I/O終了通知情報キュー23からI/O終了通知情報を有するパケットを取り出して所定の処理を行ったパケットを、送信キュー25に追加する機能を有し、I/O要求情報選択手段241と、ファイルシステム管理手段242と、I/O終了処理通知手段243とを備える。
I/O処理プロセス24は、I/O要求情報及びI/O終了通知情報に含まれるI/O識別番号によって識別されたI/O要求プロセス11と一対一に対応して動作する。
I/O要求情報選択手段241は、I/O要求情報キュー22から取り出したI/O要求情報を有するパケットの内容から、クライアント1がI/Oを要求する、対象ファイルシステム、対象ファイルなどのI/O対象を特定する機能を備えている。
ファイルシステム管理手段242は、ディスク装置3を構成要素とするファイルシステム(不図示)を階層構造により管理しており、ディスク装置3及びディスク装置3を構成する構成ディスクを特定するディスク特定情報を含むファイルシステムの管理情報を有している。
また、ファイルシステム管理手段242は、I/O要求情報選択手段241で選択されたI/O要求情報と、I/O要求情報を発行したクライアント1及びクライアント1内のI/O要求プロセス11を識別するI/O識別番号等とを含むI/O対象特定情報から構成されるパケットを生成して送信キュー25に追加し、送信プロセス26を起動する機能を備えている。
図3は、本発明の実施の形態によるファイル共有システムの構成の1例を示すブロック図である。
図3を参照すると、図1と異なる点は、ネットワーク4にクライアント1、ディスク装置3が複数接続し(クライアント1A、1B、1C、ディスク装置3A、3B、3C)し、各クライアント1A〜1Cがそれぞれ有するI/O要求プロセス11A、11B、11C、送信プロセス13A、13B、13C、受信プロセス14A、14B、14Cに対応して、サーバ2が、受信プロセス21A、21B、21C、I/O処理プロセス24A、24B、24C、送信プロセス26A、26B、26Cを有する点である。
また、図4は、本発明の実施の形態によるファイル共有システムの構成の他の例を示すブロック図である。
図4を参照すると、図1と異なる点は、クライアント1が、I/O要求プロセス11を複数有し(11A−1、11A−2、11A−3)、各I/O要求プロセス11が、それぞれシステムコールを呼び出してI/O要求を行うことにより、サーバ2が、各I/O要求プロセス11A−1〜11A−3に対応するI/O処理プロセス24A−1〜24A−3を有する点である。
さらに、図5は、I/O識別番号によって示される対応関係を表す図であり、ファイルシステム管理手段242が、I/O要求情報を含むパケットの受信時に、記憶する対応関係である。
図5を参照すると、複数のI/O要求情報を発行したクライアント1と、サーバ2とにおいて、各I/O要求情報について、クライアントごとに、受信プロセスと送信プロセスとの対応関係、I/O処理プロセスとクライアント(クライアントレベル)との対応関係が示されている。また、1台のクライアントが複数のI/O要求情報を発行した場合における、I/O要求プロセスとI/O処理プロセス(I/O処理プロセスレベル)との対応関係が示されている。
I/O要求情報が有する、I/O識別番号を示す情報によれば、クライアントが複数ある場合においても、ファイルシステム管理手段242は、そのI/O要求情報を発行したクライアントを識別することができ、1台のクライアント中に、異なるI/O要求情報を発行したI/O要求プロセスが複数ある場合においても、そのI/O要求情報を発行したI/O要求プロセスを識別できる。
さらに、ファイルシステム管理手段242は、I/O終了通知情報キュー23から取り出したI/O終了通知情報が有するパケットの内容に基づいて、ファイルシステムの管理情報を更新し、エラー情報、クライアント1とディスク装置3間で実際にI/O出来たサイズ、及びI/O終了通知情報を送信したクライアント1の識別情報を含むパケットを生成してI/O終了処理通知手段243に提供する機能を備えている。
I/O終了処理通知手段243は、ファイルシステム管理手段242から提供されたパケットの内容に基づいて、サーバ2におけるI/Oの終了処理がなされたことを知らせるI/O終了処理通知情報を含むパケットを生成して送信キュー25へ追加し、送信プロセス26を起動する機能を備えている。
送信キュー25は、I/O処理プロセス24から提供されたI/O対象特定情報又はI/O終了処理通知情報を含むパケットを格納し、送信プロセス26に提供する機能を有する。
送信プロセス26は、送信キュー25から取り出したパケットをクライアント1に送信する送信手段261を備える。
ディスク装置3は、ネットワーク回線4を介してクライアント1と、サーバ2と接続しており、クライアント1から受信した、I/O対象特定情報に対応し、I/O情報から、SCSI等のI/Oプロトコルに基づくコマンドを取り出すプロトコル変換手段31を備え、一般的なディスク装置と同様に同コマンドに基づいたI/O処理を行う。
なお、送信キュー12、受信キュー15、受信待ちキュー17、I/O要求情報キュー22、I/O終了通知情報キュー23、送信キュー25は、FIFO(First In First Out)と呼ばれるデータの入出力方式によってデータを扱うキュー構造を有する。FIFOは、格納したデータが、古く格納した順に取り出されるようにする方式であるため、一番新しく格納されたデータが最後に取り出される。
また、図1に示されるファイル共有システムは、簡単のためにクライアント1、サーバ2、ディスク装置3が共に1つだけであるが、実際には図2に示したような1台のサーバと、複数台のクライアントと、複数台のディスク装置とがネットワーク回線4を介して接続し、同サーバに対して複数のクライアントからI/Oが要求され、同ディスク装置に対してネットワーク回線4を介して複数のクライアントが直接アクセスする場合を対象としている。
また、サーバ2内の受信プロセス21、送信プロセス26は、クライアント1内の送信プロセス13、受信プロセス14と1対1の関係にある。このため、クライアントが複数存在する場合は、サーバ2の受信プロセス21、送信プロセス26は、クライアントの数だけ存在する。
さらに、サーバ2内のI/O処理プロセス24は、1つのI/O要求情報の処理がサーバ2において完了するまで、そのI/O要求情報によって占有される。このため、クライアント1内で複数のI/O要求プロセス11が、それぞれユーザプログラムからread/writeシステムコールを呼び出すことで、OS内部に入ってI/O要求手段111の手続きを実行することにより、複数のI/Oを要求する場合は、サーバ2で、複数のI/O要求情報を処理するために、これら複数のI/O要求プロセス11に1対1で対応する複数のI/O処理プロセス24が起動する。
なお、I/O処理プロセス24は、受信したI/O要求情報が有する固有の識別情報であるI/O識別番号に基づいて、処理対象のI/O要求情報を発行したI/O要求プロセス11に対応付けられる。
次いで、本発明の実施の形態によるファイル共有システムの主要な構成要素の動作の概略を説明する。
I/O要求プロセス11は、read/writeシステムコールがユーザモードで呼び出されると、I/O要求手段111において、I/Oに関する制御情報として、I/O要求情報のみを含んだパケットを生成して送信キュー12の最後尾へ追加した後、送信プロセス13を起動する。
その後、I/O要求プロセス11は、受信キュー15を検索し、I/O要求プロセス11自身に対応するI/O要求の受信パケットが受信キュー15になければ、自身のプロセス(I/O要求プロセス11)を受信待ちキュー17の最後尾に追加し、CPUを放棄して、受信プロセス14によって起動されることを待つ状態となる。
I/O要求プロセス11は、受信プロセス14によって起動されると、パケット判別手段113により、受信キュー15を検索して該当するパケットを取り出し、パケット内のフラグを参照してそのパケットがI/O対象特定情報であるかI/O終了処理通知情報であるかを判別する。
パケット判別手段113による判別の結果、I/O対象特定情報である場合、I/O発行手段114が、I/O対象特定情報に基づいてI/Oを行うディスク装置3を特定する。そして、I/O対象特定情報に対応するI/O情報をSCSI等のI/Oプロトコルに合った形式に変換してプロトコル変換手段115へ提供する。
次いで、プロトコル変換手段115が、I/O発行手段114によってI/Oプロトコルに合った形式に変換されて提供されたI/O情報を、TCP/IP等のネットワークのプロトコルを用いて、ネットワーク回線4を介して該当するディスク装置3へ送信する。
次いで、プロトコル変換手段115が、I/O発行手段114によってI/Oプロトコルに合った形式に変換されて提供されたI/O情報を、TCP/IP等のネットワークのプロトコルを用いて、ネットワーク回線4を介して該当するディスク装置3へ送信する。
その後、I/O要求プロセス11は、受信キュー15を検索し、I/O要求プロセス11自身に対応するI/O要求の受信パケットが受信キュー15になければ、自身のプロセス(I/O要求プロセス11)を受信待ちキュー17の最後尾に追加し、CPUを放棄して、再び受信プロセス14によって起動されることを待つ状態となる。
一方、パケット判別手段113による判別の結果、I/O終了処理通知情報である場合、I/O処理終了手段116が、I/O終了処理通知情報からエラー情報及び実際にI/Oができたサイズを取得して呼び出し元であるread/writeシステムコールに返す。
送信プロセス13は、起動すると、送信手段131により送信キュー12内の先頭のパケットを1つ取り出してその内容から宛先のサーバ2を調べ、同サーバ2へこのパケットを送信する。その後、送信プロセス13は、送信手段131により再度送信キュー12を調べ、他にパケットがなければCPUを放棄して送信待ち状態となる。
受信プロセス21は、受信手段211において受信待ち状態となっている。クライアント1からパケットを受信すると起動し、受信したパケット内のフラグを参照し、受信パケットがクライアント1からのI/O要求情報であるか、I/O終了通知情報であるかを確認する。
I/O要求情報である場合、I/O要求情報キュー22の最後尾へ同パケットを追加し、現在処理中ではないI/O処理プロセス24を1つ起動する。
一方、I/O終了通知情報である場合、I/O終了通知情報キュー23の最後尾へ同パケットを追加し、対応するI/O処理プロセス24を起動する。
クライアント1から受信したパケットがI/O要求情報である場合、現在処理中ではないI/O処理プロセス24、すなわち、現在I/O要求情報待ち状態(I/O処理開始待ち)のI/O処理プロセス24が、受信プロセス21によって起動する。
そして、起動したI/O処理プロセス24は、I/O要求情報選択手段241によりI/O要求情報キュー22を調べ、I/O要求情報キュー22内にパケットがある場合は、その先頭から1つパケットを取り出す。
ファイルシステム管理手段242は、I/O要求情報選択手段241から取得したパケットの内容から、I/O対象となる対象ファイルシステム、I/O要求の対象となる対象ファイル、I/O要求情報を送信したクライアント1、及びI/O要求情報を送信したクライアント1のI/O要求プロセス11などを特定し、該当するディスク装置3、そのディスク装置3内のI/O対象の物理的な位置、位置を特定されたディスクに対するリード又はライトの別、及びI/O要求情報を送信したクライアント1のネットワーク回線4上のアドレスについての情報を含むパケットを生成して送信キュー25の最後尾に格納し、送信プロセス26を起動する。
従って、送信キュー25に格納されたパケットは、ファイルシステム管理手段242がI/O要求情報選択手段241から取得したパケットが有する情報と、ファイルシステム管理手段242が新たに追加した情報とからなるI/O対象特定情報を有している。
その後、I/O処理プロセス24は、CPUを一旦放棄し、ファイルシステム管理手段242において、クライアント1から送信されるI/O終了通知情報の待ち状態(I/O処理終了待ち状態)となる。
一方、クライアント1から受信したパケットがI/O終了通知情報である場合、受信プロセス21によって起動した、現在I/O処理終了待ち状態(I/O処理通知情報待ち)のI/O処理プロセス24が、I/O終了通知情報キュー23を検索し、該当するI/O終了通知情報を含むパケットを同I/O終了通知情報キュー23から取り出してファイルシステム管理手段242に提供する。
そして、ファイルシステム管理手段242は、受信したI/O終了通知情報を含むパケットに基づいて、管理する管理情報を更新し、エラー情報、実際にI/Oできたサイズ、及びI/O要求情報を発行したクライアント1のネットワーク回線4上のアドレスについての情報を含むパケットを生成してI/O終了処理通知手段243に送信する。
I/O終了処理通知手段243は、ファイルシステム管理手段242から提供されたパケットの内容に基づいて、サーバ2におけるI/Oの終了処理がなされたことを知らせるI/O終了処理通知情報を含むパケットを生成して送信キュー25へ追加し、送信プロセス26を起動する。
送信プロセス26は、I/O処理プロセス24によって起動すると、送信手段261が、送信キュー25を調べ、送信キュー25内にパケットがあればその先頭から1つ取り出し、パケット内の送り先であるクライアント1のネットワーク回線4上のアドレスを参照してそのクライアント1へ送信する。
その後、送信プロセス26は、送信手段261が再度送信キュー25を調べて他にパケットがなければ、CPUを放棄し送信待ち状態となる。
受信プロセス14は、サーバ2からパケットを受信すると受信待ち状態から復帰し、同パケット内の情報に基づき、受信待ちキュー17を検索し、該当するI/O要求プロセス11を特定して起動し、受信したパケットを受信キュー15の最後尾に追加する。
割り込み処理16は、プロトコル変換手段115によってI/Oプロトコルに合った形式に変換されて該当するディスク装置3に送信されたI/Oを終了する旨のパケットに応答するパケット(終了通知を有するパケット)を、ネットワーク回線4を介してディスク装置3から受信する。
この際、割り込み処理16は、オペレーティングシステム内の割り込み処理の延長において、ディスク装置3から受信したパケットからI/Oプロトコルに基づく終了通知を取り出し、ディスクドライバのコールバック関数を呼び出す。そして、当該I/Oのエラー情報からI/O終了通知情報を生成し、送信キュー12の最後尾へ追加して送信プロセス13を起動する。
ディスク装置3内のプロトコル変換手段31は、クライアント1よりネットワーク回線4を介して受信したI/O情報から、SCSI等のI/Oプロトコルに基づくコマンドを取り出し、その後は、一般的なディスク装置と同様に同コマンド基づいたI/O処理を行う。
(ファイル共有システムの動作の説明)
次に、図1及び図6〜図12のフローチャートを参照して本実施の形態によるファイル共有システムの動作について詳細に説明する。
次に、図1及び図6〜図12のフローチャートを参照して本実施の形態によるファイル共有システムの動作について詳細に説明する。
図6は、本実施の形態によるファイル共有システムのI/O要求プロセス11の動作を示すフローチャートである。
図6より、I/O要求プロセス11は、ファイル識別情報、ファイルのオフセット、I/Oサイズ、認証情報、I/O識別番号、及びパケット識別フラグを含むI/Oに関する制御情報であるI/O要求パケットを生成(ステップS601)して送信キュー12へ投入し(ステップS602)、送信プロセス13を起動する(ステップS603)。
I/O要求パケットは、クライアント1が、I/O要求の対象となる対象ファイルシステム、対象ファイルの情報と、該当するディスク装置3、そのディスク装置3内のI/O対象の物理的な位置の情報とを、サーバ2に要求することを示すI/O要求情報を有するパケットである。
次いで、I/O要求プロセス11は、I/O要求プロセス11が送信したI/O要求パケットに応答してサーバ2が送信することで、受信キュー15にキューイングされたパケットが、当該I/O要求のI/O識別番号を有するパケットであるか否かを判別し(ステップS604)、当該I/O要求のI/O識別番号を有するパケットでないと判別した場合には、パケットの受信待ち状態となる(ステップS605)。
ステップS604において、当該I/O要求のI/O識別番号を有するパケットであると判別した場合、又は、ステップS605において、I/O要求プロセス11が、受信プロセス14により起動し、再度ステップS604で判別を行い、受信キュー15にキューイングされたパケットが当該I/O要求のI/O識別番号を有するパケットであると判別した場合には、I/O要求プロセス11は、同パケットを受信キュー15から取り出す。
次いで、パケット内のパケット識別フラグを参照して、そのパケットがI/O終了処理通知情報を有するか否かを判別する(ステップS606)。
ステップS606において、I/O終了処理通知情報を有さないと判別した場合、すなわち、I/O対象特定情報を有すると判別した場合、I/O要求プロセス11は、同I/O対象特定情報に対応するI/O情報をディスクドライバに渡せる形式へ変換し(ステップS607)、ディスクドライバを呼び出し(ステップS608)、さらに、コマンドをネットワークプロトコルに載せ、対象とするディスク装置3へ送信し、ディスク装置3との間でI/Oを行う(ステップS609)。
上記において、I/O対象特定情報に対象とするディスク装置3の物理的な位置に関する情報が複数含まれていた場合や、ディスク装置3を構成し、対象となる構成ディスクの物理的な位置に関する情報が複数含まれていた場合、I/O要求プロセス11は、ステップS607〜ステップS609をその数だけ繰り返す。
その後、再びステップS604において判別を行い、I/O識別番号を有するパケットがなければ、CPUを放棄してステップS605において受信待ち状態となる。
ステップS606において、I/O終了処理通知情報であると判別した場合、I/O要求プロセス11は、エラー情報、ファイルの更新情報、実際にI/Oが出来たサイズを呼び出し元のread/writeシステムコールへ返し(ステップS610)、ユーザモードへ復帰(ステップS611)する。
図7は、本実施の形態によるファイル共有システムの送信プロセス13の動作を示すフローチャートである。
図7より、送信プロセス13は、I/O要求プロセス11内のI/O要求手段111、または割り込み処理16のコールバック関数内から起動されると、送信キュー12に送信待ちのパケットがあるか否かを判別する(ステップS701)。
ステップS701で、送信キュー12に送信待ちのパケットがあると判別した場合、送信プロセス13は、送信キュー12の先頭から1つパケットを取り出し(ステップS702)、同パケットの内容から宛先のサーバ2のネットワーク上のアドレスを確認し、同アドレスへパケットを送信する(ステップS703)。
ステップS701で、送信キュー12に送信待ちのパケットがないと判別した場合、送信プロセス13は、CPUを放棄し送信待ち状態となる(ステップS704)。
その後、再度送信キュー12を確認し(ステップS701)、パケットがあればステップS702及びステップS703を繰り返し、他にパケットがなければCPUを放棄し送信待ち状態となる(ステップS704)。
図8は、本実施の形態によるファイル共有システムの受信プロセス14の動作を示すフローチャートである。
図8より、クライアント1が、サーバ2から送信されたパケットを受信すると、オペレーティングシステムの機能により、パケットの受信を待って受信処理関数内で停止していた受信プロセス14が起動する。起動した受信プロセス14は、サーバ2からのパケットの受信の有無を判別し(ステップS801)、パケットの受信がある場合は、受信したパケットを受信キュー15の最後尾に追加する(ステップS802)。
次いで、ステップS802でパケットを追加する際に参照した同パケット内のI/O識別番号をキーにして受信待ちキュー17を検索し、該当するI/O要求プロセス11を起動する(ステップS803)。
一方、ステップS801でパケットの受信がない場合は、同関数内で受信待ち状態となる(ステップS804)
その後、再度受信処理関数を呼び出してサーバ2からのパケットの受信の有無を判別し(ステップS801)、受信したパケットがあればステップS802及びステップS803を繰り返し、他に受信したパケットがなければ同関数内で受信待ち状態となる(ステップS804)。
その後、再度受信処理関数を呼び出してサーバ2からのパケットの受信の有無を判別し(ステップS801)、受信したパケットがあればステップS802及びステップS803を繰り返し、他に受信したパケットがなければ同関数内で受信待ち状態となる(ステップS804)。
図9は、本実施の形態によるファイル共有システムの割り込み処理16の動作を示すフローチャートである。
図9より、割り込み処理16は、ディスク装置3からI/O終了通知を受信した時に実行される。ディスク装置3から送信されたI/O終了通知は、ネットワーク回線4を介してクライアント1へ送信されるので、その中のI/Oプロトコルのみを取り出し、ディスクドライバのコールバック関数を起動する(ステップS901)。
コールバック関数は、エラー情報等をチェックしてI/O終了通知情報を生成する。すなわち、I/O終了通知情報として、I/O識別番号、パケット識別フラグを付加したパケットを生成する(ステップS902)。
次いで、ステップS902で生成したパケットを送信キュー12の最後尾へ追加して(ステップS903)、送信プロセス13を起動する(ステップS904)。
ただし、I/O要求プロセス11が複数のコマンドをディスク装置3へ送信した場合は、上記ステップS902において、送信した個数に応じた個数のI/O終了通知を受信したことを確認した時点でステップS903へ進む。
図10は、本実施の形態によるファイル共有システムの受信プロセス21の動作を示すフローチャートである。
図10より、サーバ2が、クライアント1から送信されたパケットを受信すると、オペレーティングシステムの機能により、パケットの受信を待って受信処理関数内で受信待ち状態であった受信プロセス21が起動する。起動した受信プロセス21は、パケットを受信したか否かを判別し(ステップS1001)、パケットを受信した場合は、パケット内のパケット識別フラグを参照してこのパケットの種類を判別する(ステップS1002)。
ステップS1002で、I/O要求情報であると判別した場合、パケット内に同受信プロセス21に対応する送信プロセス13のプロセス番号を付加してI/O要求情報キュー22の最後尾へ同パケットを追加し(ステップS1003)、現在処理中ではない(I/O処理開始待ちの)I/O処理プロセス24を1つ起動する(ステップS1004)。
一方、ステップS1002で、I/O終了通知情報であると判別した場合、パケット内に同受信プロセス21に対応する送信プロセス13のプロセス番号を付加してI/O終了通知情報キュー23の最後尾へ同パケットを追加し(ステップS1005)、このプロセス番号及びI/O識別番号により対応するI/O要求のI/O処理プロセス24を起動する(ステップS1006)。
また、ステップS1001でパケットの受信がなければ、同関数内で受信待ち状態となる(ステップS1007)。
その後、再度受信処理関数を呼び出し、パケットの受信の有無を判別し(ステップS1001)、受信したパケットがあればステップS1002〜ステップS1004又はステップS1002〜ステップS1005〜ステップS1006を繰り返し、他に受信したパケットがなければ同関数内で受信待ち状態となる(ステップS1007)。
図11は、本実施の形態によるファイル共有システムのI/O処理プロセス24の動作を示すフローチャートである。
まず、受信プロセス21が、上記ステップS1004で示すように、I/O処理プロセス24を起動する。
図11より、I/O処理プロセス24は、I/O要求情報キュー22がパケットを有するか否かを判別し(ステップS1101)、I/O要求情報キュー22がパケットを有さない場合は、I/O要求情報キュー22がパケットを有するまで待機する(ステップS1102)。
図11より、I/O処理プロセス24は、I/O要求情報キュー22がパケットを有するか否かを判別し(ステップS1101)、I/O要求情報キュー22がパケットを有さない場合は、I/O要求情報キュー22がパケットを有するまで待機する(ステップS1102)。
一方、I/O要求情報キュー22がパケットを有する場合は、I/O処理プロセス24が、I/O要求情報キュー22内にあるパケットのうちもっとも古くから格納されているパケットを、I/O要求情報キュー22の先頭から1つ取り出す(ステップS1103)。
そのパケットの内容から、対象ファイルシステム、対象ファイルを特定し、ファイルシステム管理手段242により、該当するディスク装置3、そのディスク装置3内のI/O対象の物理的な位置(開始セクタ番号とセクタ数)、ディスク装置3を構成する構成ディスクに対するリードかライトの別、I/O要求情報を送信したクライアント1のネットワーク上のアドレス、I/O識別番号、及びパケット識別フラグについての情報(I/O対象特定情報)を含むパケットを生成し(ステップS1104)、送信キュー25の最後尾に追加し(ステップS1105)、受信プロセス21に指定されたプロセス番号を持つ送信プロセス26を起動する(ステップS1106)。
なお、I/O対象のファイルが、複数のディスク装置3上に存在する場合や、ディスク装置3を構成する構成ディスク上のうち、物理的な位置が連続しておらず複数の領域に分かれて存在している場合がある。
このため、このような場合は、上記ステップS1103において、I/O対象の物理的な位置に関する情報をパケットに複数格納する必要がある。I/O対象の物理的な位置とは、例えば、特定されたディスクの開始セクタ番号とセクタ数等で示される、書き込み開始位置や、読み出し開始位置などである。
その後、I/O処理プロセス24は、CPUを一旦放棄し、クライアント1からの制御情報(I/O終了通知情報)の受信待ち状態となる(ステップS1107)。
次いで、受信プロセス21が、上記ステップS1006で示すように、I/O終了通知情報に対応するI/O処理プロセス24を起動し、起動したI/O処理プロセス24は、I/O終了通知情報キュー23がパケットを有するか否かを判断する(ステップS1108)。
I/O終了通知情報キュー23がパケットを有する場合は、I/O処理プロセス24が、I/O要求情報の受信時にI/O要求情報から取得したI/O識別番号をキーにして、該当するI/O終了通知情報を含むパケットを検索し、I/O終了通知情報キュー23から取り出す(ステップS1109)。
一方、I/O終了通知情報キュー23がパケットを有さない場合は、ステップS1107に戻り、I/O処理プロセス24は、クライアント1からのI/O終了通知情報の受信待ち状態となる。
次いで、ファイルシステム管理手段242により、ファイルシステムの管理情報を更新し、エラー情報、実際にI/Oできたサイズ、及びI/O終了通知情報を送信したクライアント1のネットワーク上のアドレス、I/O識別番号、パケット識別フラグについての情報を含むパケットを生成し(ステップS1110)、I/O終了処理通知手段243に提供する。
次いで、I/O終了処理通知手段243は、ファイルシステム管理手段242から提供されたパケットの内容に基づいて、サーバ2におけるI/Oの終了処理がなされたことを知らせるI/O終了処理通知情報を生成して送信キュー25の最後尾へ追加し(ステップS1111)、受信プロセス21に指定されたプロセス番号を持つ送信プロセス26を起動する(ステップS1112)。
次いで、受信プロセス21によって起動したI/O処理プロセス24が終了すると、本実施の形態によるI/O処理プロセスは、リターンし、再度、受信プロセス21がI/O処理プロセス24を起動すると、ステップS1101から繰り返す。
図12は、本実施の形態によるファイル共有システムの送信プロセス26の動作を示すフローチャートである。
図12より、送信プロセス26は、I/O処理プロセス24内のファイルシステム管理手段242、またはI/O終了処理通知手段243により起動し、送信キュー25に送信待ちのパケットがあるか否かを判別する(ステップS1201)。
ステップS1201で送信キュー25に送信待ちのパケットがある場合、送信プロセス26は、自プロセスのプロセス番号と同一のプロセス番号の入ったパケットがあるか否かを判別する(ステップS1202)。
ステップS1202で、自プロセスのプロセス番号と同一のプロセス番号の入ったパケットがあると判別した場合、このパケットを送信キュー25の先頭から1つ取り出し(ステップS1203)、同パケットの内容から宛先のクライアント1のネットワーク上のアドレスを確認し、同アドレスのクライアント1にパケットを送信する(ステップS1204)。
一方、ステップS1201で送信待ちのパケットがない場合及びステップS1202で自プロセスのプロセス番号の入ったパケットがない場合、送信プロセス26は、CPUを放棄して送信待ち状態となる(ステップS1205)。
その後、再度送信キュー25に送信待ちのパケットがあるか否かを判別し(ステップS1201)、送信待ちのパケットがあれば、自プロセスのプロセス番号と同一のプロセス番号の入ったパケットがあるか否かを再度判別し(ステップS1202)、自プロセスのプロセス番号と同一のプロセス番号の入ったパケットがあればステップS1203及びステップS1204を繰り返し、ステップS1201で送信待ちのパケットがない場合及びステップS1202で自プロセスのプロセス番号と同一のプロセス番号の入ったパケットがない場合、CPUを放棄し送信待ち状態となる(ステップS1205)。
なお、上記において、送信キュー12、受信キュー15、受信待ちキュー17、I/O要求情報キュー22、I/O終了通知情報キュー23、送信キュー25を操作する場合は、排他制御をして、競合が発生しないようにする。
図13は、本発明の実施の形態によるファイル共有システム上のコンピュータ処理装置400のハードウェア構成を示すブロック図である。
コンピュータ処理装置400は、CPU401、メインメモリである主記憶部402、ネットワーク回線4と接続してデータの送受信を行う通信部403、ディスプレイやプリンタ等の表示部404、キーボードやマウス等の入力部405、周辺装置とデータの送受信を行うインタフェース部406、磁気ディスク、半導体メモリその他の記録媒体が挙げられる補助記憶部407を備えている。
本実施の形態のファイル共有システムは、その動作をハードウェア的に実現することは勿論として、上記した各手段、各プロセス等の各機能を実行するプログラムをコンピュータ処理装置のCPU401で実行することにより、ソフトウェア的に実現することができる。このプログラムは、補助記憶部407に格納され、その補助記憶部407から主記憶部402を介してCPU401にロードされ、その動作を制御することにより、上述した各機能を実現する。
(本実施の形態による効果)
第1の効果は、サーバ2上のメモリ、CPU等のシステム資源を効率的に使用できることである。
第1の効果は、サーバ2上のメモリ、CPU等のシステム資源を効率的に使用できることである。
その理由は、クライアント1が、サーバ2から送信された、I/O対象特定情報に基づいて、ディスク装置3上のデータに対し、ネットワークを介して直接アクセスするので、I/O対象となるデータがサーバ2を介さないためである。
第2の効果は、ファイバチャネル等ではSANを構成出来ないような遠隔地にあるクライアント1、サーバ2、ディスク装置3間において、ファイル共有を実現できることである。
その理由は、クライアント1、サーバ2、ディスク装置3は、全てネットワーク回線4に接続されており、ネットワーク回線4とは別にSANを構築しなくてもファイル共有を実現できるためである。
第3の効果は、クライアント端末が、I/O対象特定情報により、ネットワークにおけるディスク装置上のデータの位置を特定でき、クライアント1がネットワーク回線4を介してディスク装置3とデータの入出力を直接行えるので、サーバ2とディスク装置3が、物理的に近い位置に置かれていなくてもよいことである。また、複数のディスク装置3をそれぞれネットワーク回線4上の複数の場所に分散させて設置することができるため、地震等の自然災害による被害に対して危険分散でき、万一の場合に被害を最小限に留めることができる。
第4の効果は、既存のローカルエリアネットワークを持つ施設において、複数のコンピュータ間でファイル共有システムを構築したい場合に新たにストレージエリアネットワークを構築する必要がないので容易に構築でき、システム構築コストを抑制できること、及び容易にシステム管理が行えるので、高度の管理スキルが要求されないことである。
である。
である。
第5の効果は、ストレージエリアネットワークを構築する必要がないので、システム管理者がファイバチャネルなどによるストレージエリアネットワークの構築や保守についてのスキルを要求されないため、運用コストを抑制できることである。
第6の効果は、汎用のネットワーク回線を介して、ディスク装置3が、I/Oプロトコルに合った形式に変換されたI/O情報から、SCSI等のI/Oプロトコルに基づくコマンドを取り出してI/Oを行うので、グリッドコンピューティングのような広域に分散されたコンピュータ間でのファイル共有が可能であることである。
以上好ましい複数の実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
1,1A,1B,1n:クライアント
11,11A,11B,11n:I/O要求プロセス
111:I/O要求手段
112:パケット待機手段
113:パケット判別手段
114:I/O発行手段
115:プロトコル変換手段
116:I/O処理終了手段
100:命令選択回路SEL
12,25:送信キュー
13,13A,13B,13n:送信プロセス
131:送信手段
14,14A,14B,14n:受信プロセス
141:受信手段
15:受信キュー
16:割り込み処理
17:受信待ちキュー
2:サーバ
21,21A,21B,21n:受信プロセス
211:受信手段
212:パケット判別手段
22:I/O要求情報キュー
23:I/O終了通知情報キュー
24,24A,24B,24n:I/O処理プロセス
241:I/O要求情報選択手段
242:ファイルシステム管理手段
243:I/O終了処理通知手段
26,26A,26B,26n:送信プロセス
261:送信手段
3,3A,3B,3n:ディスク装置
31:プロトコル変換手段
400:コンピュータ処理装置
401:CPU
402:主記憶部
403:通信部
404:表示部
405:入力部
406:インタフェース部
407:補助記憶部
11,11A,11B,11n:I/O要求プロセス
111:I/O要求手段
112:パケット待機手段
113:パケット判別手段
114:I/O発行手段
115:プロトコル変換手段
116:I/O処理終了手段
100:命令選択回路SEL
12,25:送信キュー
13,13A,13B,13n:送信プロセス
131:送信手段
14,14A,14B,14n:受信プロセス
141:受信手段
15:受信キュー
16:割り込み処理
17:受信待ちキュー
2:サーバ
21,21A,21B,21n:受信プロセス
211:受信手段
212:パケット判別手段
22:I/O要求情報キュー
23:I/O終了通知情報キュー
24,24A,24B,24n:I/O処理プロセス
241:I/O要求情報選択手段
242:ファイルシステム管理手段
243:I/O終了処理通知手段
26,26A,26B,26n:送信プロセス
261:送信手段
3,3A,3B,3n:ディスク装置
31:プロトコル変換手段
400:コンピュータ処理装置
401:CPU
402:主記憶部
403:通信部
404:表示部
405:入力部
406:インタフェース部
407:補助記憶部
Claims (23)
- クライアント端末がネットワーク接続される管理サーバを介してディスク装置に格納されるデータを共有するファイル共有システムであって、
前記ディスク装置を、前記ネットワークを介して前記クライアント端末からアクセス可能に設置し、
前記管理サーバが、前記クライアント端末からのデータの入出力要求に基づいて、入出力要求の対象の前記ディスク装置と前記ディスク装置上の入出力要求の対象の領域との位置情報を含む特定情報を前記クライアント端末に送信することを特徴とするファイル共有システム。 - クライアント端末がネットワーク接続される管理サーバを介してディスク装置に格納されるデータを共有するファイル共有システムであって、
前記ディスク装置を、前記ネットワークを介して前記クライアント端末からアクセス可能に設置し、
前記管理サーバが、前記クライアント端末からのデータの入出力要求に基づいて、前記要求されたデータが存在する前記ディスク装置とそのデータとの位置情報を含む特定情報を前記クライアント端末に送信することを特徴とするファイル共有システム。 - 前記クライアント端末が、前記管理サーバから送信された前記特定情報に基づいて、前記ディスク装置上の領域又はデータに対し、ネットワークを介して直接アクセスすることを特徴とする請求項1又は請求項2に記載のファイル共有システム。
- 前記管理サーバが、複数の前記クライアント端末からの複数の前記入出力要求を受付け、
前記入出力要求に含まれる前記クライアント端末の識別情報から特定される前記クライアント端末に対して、対応する入出力要求に対する前記特定情報を送信することを特徴とする請求項1から請求項3に記載のファイル共有システム。 - 前記クライアント端末と前記入出力要求を互いに対応付けたテーブルを備えることを特徴とする請求項4に記載のファイル共有システム。
- 前記管理サーバが、前記クライアント端末から送信されるアクセスの終了通知を受信すると、前記クライアント端末のアクセスによって変更された前記ディスク装置上のデータの管理情報を更新することを特徴とする請求項1から請求項5に記載のファイル共有システム。
- コンピュータ処理装置上で実行され、クライアント端末がネットワーク接続される管理サーバを介してディスク装置に格納されるデータを共有するファイル共有プログラムにおいて、
前記コンピュータ処理装置に、
前記管理サーバが、前記クライアント端末からのデータの入出力要求に基づいて、前記ネットワークを介して前記クライアント端末からアクセス可能に設置される入出力要求の対象のディスク装置と前記ディスク装置上の入出力要求の対象の領域との位置情報を含む特定情報を前記クライアント端末に送信する機能を持たせることを特徴とするファイル共有プログラム。 - コンピュータ処理装置上で実行され、クライアント端末がネットワーク接続される管理サーバを介してディスク装置に格納されるデータを共有するファイル共有プログラムにおいて、
前記コンピュータ処理装置に、
前記管理サーバが、前記クライアント端末からのデータの入出力要求に基づいて、前記要求されたデータが存在し、前記ネットワークを介して前記クライアント端末からアクセス可能に設置されるディスク装置とそのデータとの位置情報を含む特定情報を前記クライアント端末に送信する機能を持たせることを特徴とするファイル共有プログラム。 - 前記コンピュータ処理装置に、
前記クライアント端末が、前記管理サーバから送信された前記特定情報に基づいて、前記ディスク装置上の領域又はデータに対し、ネットワークを介して直接アクセスする機能を持たせることを特徴とする請求項7又は請求項8に記載のファイル共有プログラム。 - 前記コンピュータ処理装置に、
前記管理サーバが、複数の前記クライアント端末からの複数の前記入出力要求を受付ける機能と、
前記入出力要求に含まれる前記クライアント端末の識別情報から特定される前記クライアント端末に対して、対応する入出力要求に対する前記特定情報を送信する機能を持たせることを特徴とする請求項7から請求項9に記載のファイル共有プログラム。 - 前記コンピュータ処理装置に、
前記クライアント端末と前記入出力要求とを互いに対応付けたテーブルを備える機能を持たせることを特徴とする請求項10に記載のファイル共有プログラム。 - 前記コンピュータ処理装置に、
前記管理サーバが、前記クライアント端末から送信されるアクセスの終了通知を受信すると、前記クライアント端末のアクセスによって変更された前記ディスク装置上のデータの管理情報を更新する機能を持たせることを特徴とする請求項7から請求項11に記載のファイル共有プログラム。 - クライアント端末がディスク装置に格納されるデータを共有する際に、ネットワークを介して接続する管理サーバであって、
前記クライアント端末からのデータの入出力要求に基づいて、前記ネットワークを介して前記クライアント端末からアクセス可能に設置される入出力要求の対象のディスク装置と前記ディスク装置上の入出力要求の対象の領域との位置情報を含む特定情報を前記クライアント端末に送信することを特徴とする管理サーバ。 - クライアント端末がディスク装置に格納されるデータを共有する際に、ネットワークを介して接続する管理サーバであって、
前記クライアント端末からのデータの入出力要求に基づいて、前記要求されたデータが存在し、前記ネットワークを介して前記クライアント端末からアクセス可能に設置されるディスク装置とそのデータとの位置情報を含む特定情報を前記クライアント端末に送信することを特徴とする管理サーバ。 - 前記クライアント端末が、前記管理サーバから送信された前記特定情報に基づいて、前記ディスク装置上のデータに対し、ネットワークを介して直接アクセスするための前記特定情報を前記クライアント端末に送信することを特徴とする請求項13又は請求項14に記載の管理サーバ。
- 複数の前記クライアント端末からの複数の前記入出力要求を受付け、
前記入出力要求に含まれる前記クライアント端末の識別情報から特定される前記クライアント端末に対して、対応する入出力要求に対する前記特定情報を送信することを特徴とする請求項13から請求項15に記載の管理サーバ。 - 前記クライアント端末と前記入出力要求とを互いに対応付けたテーブルを備えることを特徴とする請求項16に記載の管理サーバ。
- 前記クライアント端末から送信されるアクセスの終了通知を受信すると、前記クライアント端末のアクセスによって変更された前記ディスク装置上のデータの管理情報を更新することを特徴とする請求項13から請求項17に記載の管理サーバ。
- ネットワーク接続される管理サーバを介してディスク装置に格納されるデータを共有するクライアント端末であって、
前記管理サーバにデータの入出力要求をし、
前記管理サーバから、前記入出力要求の対象の前記ディスク装置と前記ディスク装置上の入出力要求の対象の領域との位置情報を含む特定情報を受信し、
前記特定情報に基づいて、前記ネットワークを介して前記クライアント端末からアクセス可能に設置される前記ディスク装置上のデータに直接アクセスすることを特徴とするクライアント端末。 - ネットワーク接続される管理サーバを介してディスク装置に格納されるデータを共有するクライアント端末であって、
前記管理サーバにデータの入出力要求をし、
前記管理サーバから、前記入出力要求の対象のデータが存在する前記ディスク装置とそのデータとの位置情報を含む特定情報を受信し、
前記特定情報に基づいて、前記ネットワークを介して前記クライアント端末からアクセス可能に設置される前記ディスク装置上のデータに対し、ネットワークを介して直接アクセスすることを特徴とするクライアント端末。 - ネットワーク接続される管理サーバを介してディスク装置に格納されるデータを共有する複数のクライアント端末であって、
前記管理サーバに、データの入出力要求をし、
前記管理サーバから、自身が要求した前記入出力要求に対応する、前記入出力要求の対象の前記ディスク装置と前記ディスク装置上の入出力要求の対象の領域との位置情報を含む特定情報を受信し、
前記特定情報に基づいて、前記ネットワークを介して前記複数のクライアント端末からアクセス可能に設置される前記ディスク装置上のデータに直接アクセスすることを特徴とするクライアント端末。 - 前記管理サーバから送信された前記特定情報に基づいて、前記ディスク装置上の領域又はデータに対し、ネットワークを介して直接アクセスすることを特徴とする請求項19から請求項21に記載のクライアント端末。
- 前記管理サーバに、前記アクセスを終了することの通知及び前記アクセスによって変更された前記ディスク装置上のデータの管理情報を更新させる通知を送信することを特徴とする請求項19から請求項22に記載のクライアント端末。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005124573A JP2006302065A (ja) | 2005-04-22 | 2005-04-22 | ファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末 |
US11/407,983 US20060242258A1 (en) | 2005-04-22 | 2006-04-21 | File sharing system, file sharing program, management server and client terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005124573A JP2006302065A (ja) | 2005-04-22 | 2005-04-22 | ファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006302065A true JP2006302065A (ja) | 2006-11-02 |
Family
ID=37188359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005124573A Pending JP2006302065A (ja) | 2005-04-22 | 2005-04-22 | ファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060242258A1 (ja) |
JP (1) | JP2006302065A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075808A (ja) * | 2007-09-20 | 2009-04-09 | Kddi Corp | オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2268083B1 (en) * | 2008-03-31 | 2016-10-19 | Kyushu University, National University Corporation | Network system, node, packet forwarding method, program, and recording medium |
US8255476B2 (en) * | 2009-03-30 | 2012-08-28 | International Business Machines Corporation | Automated tape drive sharing in a heterogeneous server and application environment |
US8639769B2 (en) | 2009-12-18 | 2014-01-28 | International Business Machines Corporation | Handling of data transfer in a LAN-free environment |
CN108512844B (zh) * | 2018-03-28 | 2020-09-29 | 湖南东方华龙信息科技有限公司 | 电子档案袋的共享方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63138439A (ja) * | 1986-12-01 | 1988-06-10 | Hitachi Ltd | 分散データベースアクセス要求処理方法 |
US4994963A (en) * | 1988-11-01 | 1991-02-19 | Icon Systems International, Inc. | System and method for sharing resources of a host computer among a plurality of remote computers |
US6020885A (en) * | 1995-07-11 | 2000-02-01 | Sony Corporation | Three-dimensional virtual reality space sharing method and system using local and global object identification codes |
US6973455B1 (en) * | 1999-03-03 | 2005-12-06 | Emc Corporation | File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator |
US6978324B1 (en) * | 2000-06-27 | 2005-12-20 | Emc Corporation | Method and apparatus for controlling read and write accesses to a logical entity |
US20030233455A1 (en) * | 2002-06-14 | 2003-12-18 | Mike Leber | Distributed file sharing system |
US7519726B2 (en) * | 2003-12-12 | 2009-04-14 | International Business Machines Corporation | Methods, apparatus and computer programs for enhanced access to resources within a network |
-
2005
- 2005-04-22 JP JP2005124573A patent/JP2006302065A/ja active Pending
-
2006
- 2006-04-21 US US11/407,983 patent/US20060242258A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075808A (ja) * | 2007-09-20 | 2009-04-09 | Kddi Corp | オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム |
US8356301B2 (en) | 2007-09-20 | 2013-01-15 | Kddi Corporation | Optimization of queued events by deletion/integration based on CPU load calculation |
Also Published As
Publication number | Publication date |
---|---|
US20060242258A1 (en) | 2006-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8972615B2 (en) | Communication with input/output system devices | |
JP2000339259A (ja) | デバイス検索システム及びデバイス検索方法 | |
US8266400B2 (en) | Computer system remote copying system and computer system | |
JP2007272357A (ja) | ストレージクラスタシステム、データ処理方法、及びプログラム | |
WO2016030973A1 (ja) | マルチテナントリソース調停方法 | |
JP2008234258A (ja) | アクセス制御装置およびアクセス制御方法 | |
CN104104705B (zh) | 分布式存储系统的接入方法和设备 | |
JP2005321959A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2006302065A (ja) | ファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末 | |
CN111273854A (zh) | 多节点存储系统以及多节点存储系统的队列控制方法 | |
JP2023529947A (ja) | 命令送信方法、命令送信装置、電子機器、記憶媒体およびコンピュータプログラム | |
EP2845110B1 (en) | Reflective memory bridge for external computing nodes | |
JP5298594B2 (ja) | 割当制御プログラム、割当制御装置、および割当制御方法 | |
JP4208506B2 (ja) | 高性能記憶装置アクセス環境 | |
JP2005115603A (ja) | 記憶デバイス制御装置及びその制御方法 | |
JP4792358B2 (ja) | 資源ノード選択方法、プログラム、資源ノード選択装置および記録媒体 | |
JPWO2011039887A1 (ja) | 計算機装置 | |
WO2019232933A1 (zh) | 基于分布式数据库的数据存储方法及系统 | |
JP2019164661A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP5305754B2 (ja) | 情報処理装置、クライアント、情報処理方法およびプログラム | |
JP2005339079A (ja) | データベース管理システムにおける処理代行方法 | |
JP7081014B2 (ja) | インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
JP6821313B2 (ja) | データ処理システム及びデータ処理方法 | |
WO2024082773A1 (zh) | 一种迁移文件系统的方法和相关设备 | |
US10762011B2 (en) | Reflective memory bridge for external computing nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090317 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090518 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090812 |