(57)【特許請求の範囲】
【請求項１】
ネットワークを介して少なくとも１つのクライアントに接続されたネットワークファイルサーバであり、二次記憶装置と、入出力バスを介して上記二次記憶装置に接続された計算機とを備え、上記計算機は上記入出力バスを介して上記二次記憶装置に接続された主記憶装置と、上記入出力バスを介して上記二次記憶装置及び主記憶装置に接続された中央演算処理装置と、上記入出力バスを介して上記主記憶装置に接続されると共に、上記ネットワークを介して上記少なくとも１つのクライアントに接続され、上記少なくとも１つのクライアントから上記ネットワークを介して送られるファイルアクセス要求を受け付けると共に、上記主記憶装置内の複数のアドレス上の情報を１つのパケットとして上記少なくとも１つのクライアントにデータ転送する通信制御装置とを有し、上記主記憶装置は、バッファと、上記入出力バスを介して上記通信制御装置から送られるファイルアクセス要求を受付け、該ファイルアクセス要求に応じて該ファイルアクセス要求に対応するデータを格納するための上記バッファ内のエリアを割り当てると共に、二次記憶装置アクセス制御部にアクセス要求を発行し、更にデータ転送制御部に通信要求を与えて上記通信制御装置と上記二次記憶装置との間でのデータ転送を行うファイルアクセス要求制御部と、上記ファイルアクセス要求制御部からの上記アクセス要求に従い上記二次記憶装置からデータを読み出して上記入出力バスを介して上記バッファの上記割り当てられたエリアに転送する上記二次記憶装置アクセス制御部と、上記ファイルアクセス要求制御部からの上記通信要求に基づき上記バッファの上記割り当てられたエリア内の上記データに対するヘッダを生成し、該生成したヘッダのアドレスとサイズ及び上記バッファの上記割り当てられたエリア内の上記データのアドレスとサイズを上記入出力バスを介して上記通信制御装置に送り、上記ヘッダとデータを一括して上記少なくとも１つのクライアントに転送するよう上記通信制御装置に通信要求を発行する上記データ転送制御部とを有し、上記通信制御装置は、上記データ転送制御部からの通信要求に従い、上記データ転送制御部からの上記ヘッダのアドレスとサイズ及び上記データのアドレスとサイズに基づきＤＭＡ転送により、上記データ転送制御部で生成された上記ヘッダ及び上記バッファ内の上記割り当てられたエリア内の上記データを読み出し、これら読み出された上記ヘッダ及び上記データを一つのパケットとして上記ネットワークを介して上記クライアントにデータ転送することを特徴とするネットワークファイルサーバ。
【請求項２】
請求項１のネットワークファイルサーバにおいて、上記ファイルアクセス要求処理部と上記データ転送制御部との少なくとも一方は、上記主記憶装置内の上記情報を上記通信制御装置を介してデータ転送するためのテーブルとして、上記ファイルアクセス要求に基づき、上記主記憶装置内の上記情報に対する上記中央演算処理装置のオペレーティングシステムで管理される仮想アドレスと、上記主記憶装置内の上記情報に対する物理アドレスと、上記主記憶装置内の上記情報のデータサイズと、次テーブルへのポインタとを格納するデータ転送情報テーブルを設け、上記データ転送制御部は、上記データ転送情報テーブルに基づき上記ヘッダのアドレスとサイズ及び上記バッファの上記割り当てられたエリア内の上記データのアドレスとサイズを上記通信制御装置に送ることを特徴とする上記ネットワークファイルサーバ。
【請求項３】
請求項１のネットワークファイルサーバにおいて、上記ファイルアクセス要求処理部は、上記１つのパケットを上記通信制御装置を介してデータ転送するための第１のテーブルとして、上記ファイルアクセス要求に基づき、上記割り当てられたエリア内の上記データに対する上記中央演算処理装置のオペレーティングシステムで管理される仮想アドレスと、上記割り当てられたエリア内の上記データに対する物理アドレスと、上記割り当てられたエリア内の上記データのデータサイズと、次テーブルへのポインタとを格納する第１のデータ転送情報テーブルを設け、上記データ転送制御部は、上記１つのパケットを上記通信制御装置を介してデータ転送するための第２のテーブルとして、上記ヘッダに対する上記中央演算処理装置のオペレーティングシステムで管理される仮想アドレスと、上記ヘッダに対する物理アドレスと、上記ヘッダのデータサイズと、上記第１のデータ転送情報テーブルへのポインタとを格納する第２のデータ転送情報テーブルを設け、上記データ転送制御部は、上記第１、第２データ転送情報テーブルに基づき上記ヘッダのアドレスとサイズ及び上記バッファの上記割り当てられたエリア内の上記データのアドレスとサイズを上記通信制御装置に送ることを特徴とする上記ネットワークファイルサーバ。
【請求項４】
請求項１のネットワークファイルサーバにおいて、上記ネットワークには複数のクライアントが接続され、上記主記憶装置の上記バッファと上記ファイルアクセス要求制御部は、上記複数のクライアント毎に設けられたことを特徴とする上記ネットワークファイルサーバ。
【請求項５】
請求項４のネットワークファイルサーバにおいて、上記主記憶装置は、更に、上記複数のクライアントごとに設けられた上記バッファ間のデータの一貫性を保つファイルアクセス排他制御部を有することを特徴とする上記ネットワークファイルサーバ。
【請求項６】
請求項１のネットワークファイルサーバにおいて、上記ネットワークには複数のクライアントが接続され、上記主記憶装置は、更に、上記複数のクライアントのうちの一つのクライアントから上記ネットワーク、上記通信制御装置を介して送られた接続要求を受け、上記接続要求に対して上記１つのクライアントを上記ネットワークファイルサーバに接続可能な場合に、上記１つのクライアントに対応して上記バッファ内にエリアを確保し、かつ上記ファイルアクセス要求処理部を生成するファイルアクセス要求処理部起動部を有することを特徴とする上記ネットワークファイルサーバ。
【請求項７】
請求項６のネットワークファイルサーバにおいて、上記主記憶装置は、更に、上記ネットワークファイルサーバの資源を管理するリソーステーブルを有し、上記ファイルアクセス要求処理部起動部は、上記１つのクライアントからの上記接続要求を受けた際に該リソーステーブルを参照することにより上記接続要求に対して上記１つのクライアントを上記ネットワークファイルサーバに接続可能かどうかを判定することを特徴とする上記ネットワークファイルサーバ。
【請求項８】
請求項７のネットワークファイルサーバにおいて、上記リソーステーブルは、上記ネットワークファイルサーバの最大のデータ転送帯域と現在使用中の帯域との情報を持ち、上記ファイルアクセス要求処理部起動部は、上記１つのクライアントからの上記接続要求を受けた際に、該接続要求が示す上記１つのクライアントの要求帯域に基づき、該リソーステーブルを参照することにより上記接続要求に対して上記１つのクライアントを上記ネットワークファイルサーバに接続可能かどうかを判定することを特徴とする上記ネットワークファイルサーバ。
【請求項９】
計算機ネットワークシステムであり、ネットワークファイルサーバと、該ネットワークファイルサーバに接続されたネットワークと、該ネットワークを介して上記ネットワークファイルサーバに接続された少なくとも１つのクライアントとを備え,上記ネットワークファイルサーバは二次記憶装置と、入出力バスを介して上記二次記憶装置に接続された計算機とを備え、上記計算機は上記入出力バスを介して上記二次記憶装置に接続されバッファを有する主記憶装置と、上記入出力バスを介して上記二次記憶装置及び主記憶装置に接続された中央演算処理装置と、上記入出力バスを介して上記二次記憶装置及び主記憶装置に接続された制御部と、上記入出力バスを介して上記主記憶装置及び上記制御部に接続されると共に、上記ネットワークを介して上記少なくとも１つのクライアントに接続され、上記少なくとも１つのクライアントから上記ネットワークを介して送られるファイルアクセス要求を受け付けると共に、上記主記憶装置内の複数のアドレス上の情報を１つのパケットとして上記少なくとも１つのクライアントにデータ転送する通信制御装置とを有し、上記制御部は、上記入出力バスを介して上記通信制御装置から送られるファイルアクセス要求を受付け、該ファイルアクセス要求に応じて該ファイルアクセス要求に対応するデータを格納するための上記バッファ内のエリアを割り当てると共に、二次記憶装置アクセス制御部にアクセス要求を発行し、更にデータ転送制御部に通信要求を与えて上記通信制御装置と上記二次記憶装置との間でのデータ転送を行うファイルアクセス要求制御部と、上記ファイルアクセス要求制御部からの上記アクセス要求に従い上記二次記憶装置からデータを読み出して上記入出力バスを介して上記バッファの上記割り当てられたエリアに転送する上記二次記憶装置アクセス制御部と、上記ファイルアクセス要求制御部からの上記通信要求に基づき上記バッファの上記割り当てられたエリア内の上記データに対するヘッダを生成し、該生成したヘッダのアドレスとサイズ及び上記バッファの上記割り当てられたエリア内の上記データのアドレスとサイズを上記入出力バスを介して上記通信制御装置に送り、上記ヘッダとデータを一括して上記少なくとも１つのクライアントに転送するよう上記通信制御装置に通信要求を発行する上記データ転送制御部とを有し、上記通信制御装置は、上記データ転送制御部からの通信要求に従い、上記データ転送制御部からの上記ヘッダのアドレスとサイズ及び上記データのアドレスとサイズに基づきＤＭＡ転送により、上記データ転送制御部で生成された上記ヘッダ及び上記バッファ内の上記割り当てられたエリア内の上記データを読み出し、これら読み出された上記ヘッダ及び上記データを一つのパケットとして上記ネットワークを介して上記クライアントにデータ転送することを特徴とする計算機ネットワークシステム。
【請求項１０】
ネットワークを介して少なくとも１つのクライアントに接続され主記憶装置内の複数のアドレス上の情報を１つのパケットとして上記少なくとも１つのクライアントにデータ転送する通信制御装置、バッファを有する上記主記憶装置、中央演算処理装置、及び上記通信制御装置と上記中央演算処理装置と上記主記憶装置とを相互に接続する入出力バスを含む計算機と、上記計算機に接続された二次記憶装置とを備えたネットワークファイルサーバにおけるデータ転送制御方法であり、上記クライアントからアクセス要求が発行されると、該アクセス要求に対応するデータを格納するエリアを上記主記憶装置の上記バッファ内に割り当てる第一のステップと、上記二次記憶装置から上記アクセス要求に対応するデータを読み出し上記バッファに転送して上記割り当てられたエリアにストアする第二のステップと、上記アクセス要求に基づき、上記バッファ内の上記割り当てられたエリア内の上記データに対するヘッダ、上記ヘッダのアドレスとサイズ及び上記データのアドレスとサイズを上記主記憶装置内に生成する第三のステップと、上記ヘッダのアドレスとサイズ及び上記データのアドレスとサイズを上記通信制御装置に通知することにより、上記通信制御装置による上記ヘッダのアドレスとサイズ及び上記データのアドレスとサイズに基づくＤＭＡ転送により、上記主記憶装置内に生成された上記ヘッダ及び上記バッファ内の上記割り当てられたエリア内の上記データを読み出し、これら読み出された上記ヘッダ及び上記データを一つのパケットとして上記ネットワークを介して上記少なくとも１つのクライアントにデータ転送する第四のステップからなることを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数台の計算機がネットワークを介して接続され、データを計算機間でパケット転送するようにした計算機ネットワークシステム、及び該計算機ネットワークシステムにおけるネットワークファイルサーバおよびそのデータ転送制御方法に関する。
【０００２】
【従来の技術】
近年、ＣＰＵ（中央演算処理装置）の高速化やメモリ、磁気ディスクの大容量化、低価格化、およびネットワークの高速化が急速に進んできている。  そのため、一つ以上のコンピュータをネットワークを介して接続し、お互いに協調させて運用するクライアント・サーバシステムの構築が盛んに行われている。  クライアント・サーバシステムでは、データをサーバに格納しておき、クライアントはサーバにアクセスすることによってサーバに格納されたデータをアクセスする。これにより、複数のクライアントがサーバのデータを共有できるという利点がある。
【０００３】
一方、マルチメディア分野においては、例えば、“Media Processing: A NewDesign Target"ＩＥＥＥ  ＭＩＣＲＯ、August, 1996, pp.6-9に記載されているように、映像・音声のデジタル化技術と圧縮技術の進歩によって、大容量の映像や音声を計算機で手軽に扱えるようになってきている。  そのため、例えば、日経マルチメディア  １９９５／８月号、P.86に記載されているように、放送局などの業界においても、パーソナルコンピュータ（PC）やワークステーション(WS)で映像や音声をデジタル情報として扱い、編集や送出等を行なうデジタルスタジオシステムが普及しつつある。
【０００４】
デジタルスタジオシステムとは、従来のテープによる映像編集を、ランダムアクセス可能な磁気ディスクを用いてPCやWSで効率良く編集するシステムである。現状は、このようなPCやWSは、主として、スタンドアロンシステム、すなわち、他のデジタルスタジオ装置などとはデータを共有しないシステムとして構成されている。  しかし、映像の編集作業は一人だけで行うものではないこと、編集した結果をなるべく多くの人と共有したいということなどから、スタンドアロンシステムよりも上述したクライアント・サーバシステムの形態が望ましい。  デジタルスタジオシステムは、標準のファイルアクセスインタフェース、例えば、“THE C PROGRAMING LANGUAGE SECOND EDITION” 1988, P.169-174や"Win 32 System Services: The Heart of Windows 95 & Windows NT" 1996, ｐ２４で定義されているファイルアクセス関数を用いているため、クライアント・サーバシステムの形態にするためには、ネットワーク・ファイルシステム（NFS）を用いる必要がある。  ネットワークファイルシステムの一例としては、ＮＦＳが挙げられる。  ＮＦＳ については株式会社アスキー発行の“NFS & NIS”, HAL Stern著,  1992, P.184-P.218に記載されている。
【０００５】
ネットワークファイルシステムは、クライアントと、サーバ、およびそれらを接続するネットワーク、更にサーバに接続された二次記憶装置から構築される。
【０００６】
従来のネットワークファイルシステムにおいては、クライアントからサーバへファイルアクセス要求が発行されると、サーバは主記憶装置上に二次記憶装置用バッファを用意し、二次記憶装置からアクセス要求に該当するデータを読み出し二次記憶装置用バッファにストアする。  次に、二次記憶装置用バッファにストアされたデータをネットワークを介してクライアントに転送するために、データ転送長や要求元のクライアントの識別子などから構成されるヘッダを該データに付加してパケットの形式にし、該パケットをネットワークを介してクライアントに転送する。  この際、パケットの形に整えるために、パケット用バッファを主記憶装置上に上記二次記憶装置用バッファとは別に用意して、まずヘッダ情報を主記憶装置内の連続した物理アドレス空間からなるパケット用バッファ内に記載する。  次に、二次記憶装置用バッファ内の上記データをパケット用バッファ内の残りのエリアにコピーする。  これにより、パケット用バッファ内において、ヘッダとデータとは主記憶装置内の連続した物理アドレス空間に配置されることとなり、パケットデータとしてネットワークに転送することができるようになる
【０００７】
【発明が解決しようとする課題】
しかしながら、従来のネットワークファイルシステムをディジタルスタジオシステムに適用しようとする場合には、以下に述べるように性能上の問題が生じてくる。  即ち、ディジタルスタジオシステムで扱うデータは映像データや音声データであり、品質にも依存するが、短時間のうちに大量のデータアクセスを必要とする実時間アクセスが必要なデータである。  しかし、従来のネットワークファイルシステムでは、上記のように二次記憶装置用バッファからパケット用バッファにデータをコピーする必要があり、その際のオーバヘッドが大きい。  このように大きいオーバヘッドのために、サーバからクライアントへのデータのパケット転送速度は遅くなり、映像データや音声データ等の大量のデータの実時間アクセスは事実上不可能であった。
【０００８】
本発明の目的は、上記の従来技術の問題点を解消しうる計算機ネットワークシステム、及び該計算機ネットワークシステムにおけるネットワークファイルサーバおよびその制御方法を提供することである。
【０００９】
本発明の別の目的は、二次記憶装置からデータを読み出してパケットを作成する際に行うデータコピーの回数を減らすことで、サーバからクライアントへのデータ転送速度を向上させることにより、ディジタルスタジオシステムのように映像データや音声データなどの実時間アクセスを必要とする大量のデータに対しても適用できる、計算機ネットワークシステム、及び該計算機ネットワークシステムにおけるネットワークファイルサーバおよびその制御方法を提供することである。
【００１０】
【課題を解決するための手段】
上述した課題を解決するために、本発明の一面によれば、ネットワークを介して少なくとも１つのクライアントに接続されたネットワークファイルサーバは二次記憶装置と、入出力バスを介して上記二次記憶装置に接続された計算機とを備え、上記計算機は、上記入出力バスを介して上記二次記憶装置に接続された主記憶装置と；上記入出力バスを介して上記二次記憶装置及び主記憶装置に接続された中央演算処理装置と；上記入出力バスを介して上記主記憶装置に接続されると共に、上記ネットワークを介して上記少なくとも１つのクライアントに接続され、上記少なくとも１つのクライアントから上記ネットワークを介して送られるファイルアクセス要求を受け付けると共に、上記主記憶装置内の複数のアドレス上の情報を１つのパケットとして上記少なくとも１つのクライアントにデータ転送する通信制御装置とを有し、
上記主記憶装置は、バッファと；
上記入出力バスを介して上記通信制御装置から送られるファイルアクセス要求を受付け、該ファイルアクセス要求に応じて該ファイルアクセス要求に対応するデータを格納するための上記バッファ内のエリアを割り当てると共に、二次記憶装置アクセス制御部にアクセス要求を発行し、更にデータ転送制御部に通信要求を与えて上記通信制御装置と上記二次記憶装置との間でのデータ転送を行うファイルアクセス要求制御部と；
上記ファイルアクセス要求制御部からの上記アクセス要求に従い上記二次記憶装置からデータを読み出して上記入出力バスを介して上記バッファの上記割り当てられたエリアに転送する上記二次記憶装置アクセス制御部と；
上記ファイルアクセス要求制御部からの上記通信要求に基づき上記バッファの上記割り当てられたエリア内の上記データに対するヘッダを生成し、該生成したヘッダのアドレスとサイズ及び上記バッファの上記割り当てられたエリア内の上記データのアドレスとサイズを上記入出力バスを介して上記通信制御装置に送り、上記ヘッダとデータを一括して上記少なくとも１つのクライアントに転送するよう上記通信制御装置に通信要求を発行する上記データ転送制御部とを有し、
上記通信制御装置は、上記データ転送制御部からの通信要求に従い、上記バッファ内の上記割り当てられたエリア内の上記データを読み出すと共に、上記データ転送制御部で生成された上記ヘッダを読み出し、上記データ転送制御部からの上記ヘッダのアドレスとサイズ及び上記データのアドレスとサイズに基づきこれら読み出された上記データ及び上記ヘッダから一つのパケットを生成して上記ネットワークを介して上記クライアントにデータ転送する。
【００１１】
このように構成された本発明によるネットワークファイルサーバにおいては、クライアントからネットワークファイルサーバにファイルアクセス要求が発行されると、ネットワークファイルサーバのアクセス要求処理部（ネットワークファイルシステム部）は該アクセス要求に従ってバッファ内のエリアを割り当て、二次記憶装置アクセス制御部（ファイルシステム部）を用いて二次記憶装置から該アクセス要求に対応するファイルのデータを読み出してバッファの上記割り当てられたエリアに転送しストアする。  二次記憶装置からバッファへのデータ転送が終了すると、ネットワークファイルシステム部は、データ転送制御部（通信制御部）に、バッファに格納されたデータをクライアントへ転送するよう、クライアントの識別子やデータのバッファアドレスおよびデータ転送長等を引数として要求する。  要求を受けた通信制御部はクライアントの識別子やデータのバッファアドレスおよびデータ転送長等から構成されるヘッダを生成し、生成し終わると、ヘッダのアドレスとヘッダのデータサイズとバッファ内のデータのアドレスとバッファ内のデータのサイズをセットして、通信制御装置に通信要求を発行する。  すると、通信制御装置はセットされたヘッダとバッファ内のデータのそれぞれのアドレスとサイズをもとにヘッダとデータを一つのパケットとしてまとめ、該パケットをネットワークを経由してクライアントに転送する。
【００１２】
このように、本発明によれば、通信制御部はヘッダを生成し、ヘッダのアドレスとヘッダのデータサイズとバッファ内のデータのアドレスとバッファ内のデータのサイズをセットして、通信制御装置に対して通信要求を発行しているため、通信制御装置はこれらの情報及びバッファ内のデータに基づきパケットを生成可能である。  従って、上記二次記憶装置用のバッファの他にパケット用バッファを設けて二次記憶装置用のバッファからパケット用バッファにデータをコピーするという上記従来技術の動作を必要とせずに、複数のアドレス上の情報、即ち、別々のアドレス空間にあるヘッダとバッファ内のデータとを一つのパケットとしてデータ転送することが可能になる。  即ち、従来技術のようにわざわざパケット用バッファを用意してその中の一つの連続したアドレス空間にパケットを生成する必要がなくなり、その結果、パケット生成に要するデータコピーをなくすことができる。  これにより、高速なデータ転送が可能な、計算機ネットワークシステム、及び該計算機ネットワークシステムにおけるネットワークファイルサーバおよびその制御方法を提供することができる。
【００１３】
【発明の実施の形態】
本発明の実施例を添付図面を参照して以下に説明する。
【００１４】
本発明の第１実施例を図１に示す。  本発明の第１実施例においては、クライアント２００とサーバ４００とがネットワーク３００を介して互いに接続されている。  図１においては、説明の簡単化のためにクライアントは１つのみ示したが、複数のクライアントがネットワークを介してサーバと接続された場合にも本実施例は適用可能である。  図１から明らかなように、サーバ４００は計算機４０５と二次記憶装置４５０とを有し、計算機４０５は、ＣＰＵ（中央演算処理装置）４１０と主記憶装置４２０と通信制御装置４３０とこれらを接続する入出力バス４４０とから構成される。  通信制御装置４３０は、主記憶装置４２０上の複数の物理アドレス上の情報を一括して転送できるスキャッタ・アンド・ギャザリング（scatter and gathering）機能を有している。
【００１５】
尚、図１及び以下の説明において参照符号６００−６８０はそれぞれ図７に示す対応するステップ６００−６８０の処理を示す。  同様に、後述する図５及びその関連する説明において参照符号６０１−７００は図９、図１０のステップ６０１−７００に対応する。  同様に、図１１―１５及びその関連する説明において参照符号６００−７３０は図１６−２０のステップ６００−７３０に対応する。  更に、同様に、図２１、２４及びその関連する説明において参照符号７４０−７５０は図２４のステップ７４０−７５０に対応する。  更に、同様に、図２５，２７−２９，３３−３４及びその関連する説明においては図２６等と同一の参照符号はそれらの図の同一参照符号のステップに対応する。
【００１６】
本実施例ではクライアント２００に対してサーバ４００が高速なファイルアクセス手段を提供することが目的である。  このために、特に、サーバ４００からクライアント２００へアクセス対象のデータを転送する際に、サーバ４００内の主記憶装置４２０内においてアクセス対象のデータのコピーを不要とする。
【００１７】
そのために、サーバ４００は、主記憶装置４２０内に、二次記憶装置４５０から読み出したファイルアクセス対象のデータ５００を格納するバッファ１２０と、二次記憶装置アクセス制御部（以下、ファイルシステム部と称する）１３０と、データ転送制御部（以下、通信制御部と称する）１１０と、ファイルアクセス要求制御部（以下、ネットワークファイルシステム部と称する）１００とを有する。  ここで、ネットワークファイルシステム部１００，ファイルシステム部１３０，通信制御部１１０は、CPU４１０内のオペレーティングシステム上で動作するプログラムモジュールで構成されている。  尚、これら各部をハードウエアで構成するようにしても良い。
【００１８】
ネットワークファイルシステム部１００は、バッファ１２０を管理するバッファ管理テーブル１４０を有し、クライアント２００からネットワーク３００及び通信制御部１１０を介して通信制御装置４３０から送られるファイルアクセス要求８８０を受付け、該ファイルアクセス要求に応じてファイルアクセス要求に対応するデータ５００を格納するためのバッファ１２０内のエリアをバッファ管理テーブル１４０を用いて割り当てる。  更に、ネットワークファイルシステム部１００は、ファイルアクセス要求に応じてファイルシステム部１３０にデータ５００をDMA（direct memory access）転送するようアクセス要求を発行する（６１０）。  それに応答してファイルシステム部１３０が二次記憶装置４５０にアクセス要求を発行し（６２０）、二次記憶装置４５０からデータ５００を読み出してバッファ１２０にデータ５００をDMA転送すると、その後、ネットワークファイルシステム部１００は、通信制御部１１０に通信要求を与える（６６０）。
【００１９】
ファイルシステム部１３０は、上記の様に、ネットワークファイルシステム部１００からのアクセス要求６１０に従い二次記憶装置４５０をアクセスして対応するデータ５００を読み出し、入出力バス４４０を介してバッファ１２０の上記割り当てられたエリアにDMA転送する（６８０）。
【００２０】
通信制御部１１０は、ネットワークファイルシステム部１００からの通信要求（６６０）に基づき、バッファ１２０内の上記データ５００に対するヘッダ５１０を生成し、該ヘッダに基づきヘッダ５１０のデータ転送情報テーブル８３２（図４）を作成し、更に、バッファ１２０内のデータ５００に基づき該データ５００のデータ転送情報テーブル８３１（図４）を作成する。  通信制御部１１０は、これらテーブル８３１，８３２の内容に基づき、ヘッダ５１０のアドレスとサイズ及びデータ５００のアドレスとサイズを入出力バス４４０を介して通信制御装置１３０に送り、ヘッダとデータを一括してパケットとしてクライアント２００に転送するよう通信制御装置４３０に通信要求を発行する（６７０）。  通信制御装置４３０は、通信制御部１１０からの通信要求（６７０）に従い、バッファ１２０内のデータ５００を読み出すと共に、通信制御部１１０で生成された上記ヘッダ５１０を読み出し、通信制御部１１０からの上記ヘッダ５１０のアドレスとサイズ及び上記データ５００のアドレスとサイズに基づき、これら読み出された上記データ５００及び上記ヘッダ５１０から一つのパケットを生成してネットワーク３００を介してクライアント２００にデータ転送する（６８０）。
【００２１】
本実施例の全体の動作フローを図１と図７を用いて説明する。
【００２２】
先ず、ステップ６００において、クライアント２００より発行されたファイルアクセス要求８８０はネットワーク３００及び通信制御装置４３０を介して主記憶装置４２０内のネットワークファイルシステム部１００に与えられる（６００）。
【００２３】
尚、本実施例及び以下の各実施例においては、ファイルアクセス要求８８０は通信制御装置４３０を介して主記憶装置４２０に与えられるが、通信制御装置４３０とは別に設けられた通信制御装置を介して与えられるようにしても良い。  また、ファイルアクセス要求８８０は主記憶装置４２０において通信制御部１１０を介してネットワークファイルシステム部１００に与えられるようにしても良い。
【００２４】
ステップ６１０では、ネットワークファイルシステム部１００はファイルアクセス要求８８０を解析し、バッファ管理テーブル１４０を用いて、アクセス要求８８０に対応するデータ５００を格納するバッファ１２０内のエリアを割り当て、ファイルシステム部１３０に対してデータ５００を二次記憶装置４５０から読み出しバッファ１２０内の上記割り当てられたエリアに格納するようにアクセス要求を発行する（６１０）。
【００２５】
ステップ６２０では、ファイルシステム部１３０はアクセス要求（６１０）に応答して二次記憶装置４５０にアクセス要求を発行する（６２０）。
【００２６】
ステップ６４０では、アクセス要求（６２０）に応答して二次記憶装置４５０はデータ５００を読み出してバッファ１２０にＤＭＡ転送し（６３０）、二次記憶装置４５０はファイルシステム部１３０に終了通知を発行する（６４０）。
【００２７】
ステップ６５０では、終了通知（６４０）に応答して、ファイルシステム部１３０はネットワークファイルシステム部１００にＤＭＡ転送の終了の通知を発行する（６５０）。
【００２８】
ステップ６６０では、 ＤＭＡ転送の終了通知（６５０）に応答して、ネットワークファイルシステム部１００は、バッファ１２０のデータ５００をクライアント２００へ転送するように通信制御部１１０に対して通信要求８００を発行する（６６０）。
【００２９】
ステップ６７０では、通信要求８００に応答して、通信制御部１１０はヘッダ５１０を生成し、ヘッダ５１０の物理アドレス８５２とサイズ８６２およびバッファ１２０内のデータ５００の物理アドレス８５１とサイズ８６１を通信制御装置４３０に通知し、通信制御装置４３０に通信要求を発行する（６７０）。
【００３０】
ステップ６８０では、通信制御装置４３０は通信要求（６７０）に応答して、ヘッダ５１０とバッファ１２０のデータ５００を１つのパケットとしてＤＭＡ転送してネットワーク３００を介してクライアント２００に転送する（６８０）。
【００３１】
図２は、ステップ６７0に示すようにヘッダ５１０等を生成することができる通信制御部１１０の一例の詳細な構成を示すブロック図である。
【００３２】
図２では、通信制御部１１０は通信要求受付部１１１とヘッダ生成部１１２と通信要求発行部１１３から構成される。  図２に示すように、ネットワークファイルシステム部１１０からの通信要求８００は、コマンド８１０と、通信先識別子８２０と（ここで、通信先とはクライアントである）、図３に示されるデータ転送情報テーブル８３０の形式を有する、バッファ１２０内のデータ５００についてのデータ転送情報テーブル８３１とからなる三つのパラメータで構成される。  図３に示されるデータ転送情報テーブル８３０は、CPU４１０内のオペレーティングシステムが管理する情報（主記憶装置上のエリア又は空間）の仮想アドレス８４０と、主記憶装置４２０上の当該情報の物理アドレス８５０と、当該情報のサイズ８６０と、該テーブル８３０とリンクしている次のテーブルへのポインタ８７０と,から構成される。
図２で示す通信制御部１１０の動作を図８のフローチャートを用いて説明する。
【００３３】
先ず、ステップ６６１では、通信要求８００がネットワークファイルシステム部１００から発行されると(ステップ６６０)、通信要求受付部１１１は通信要求８００を受付け、通信要求８００をヘッダ生成部１１２に渡す。
【００３４】
ステップ６６２では、ヘッダ生成部１１２は通信要求８００の情報をもとにヘッダ５１０を生成する。
【００３５】
ステップ６６３では、ヘッダ生成部１１２はヘッダ５１０のデータ転送情報テーブル832を作成する。  ヘッダ５１０用のデータ転送情報テーブル832は、図４に示すように、図３に示されるデータ転送情報テーブル８３０の形式を有し、 CPU410内のオペレーティングシステムが管理するヘッダ５１０の仮想アドレス８４２と、主記憶装置４２０上の当該ヘッダ５１０の物理アドレス８５２と、当該ヘッダのサイズ８６２と、該テーブル８３２とリンクしている次のテーブル８３１へのポインタ８７２と,から構成される。  ヘッダ５１０用のデータ転送情報テーブル８３２内の、次ぎのテーブルへのポインタ８７２として、バッファ１２０のデータ転送情報テーブル８３１へのポインタを格納することによって、ヘッダ５１０用のデータ転送情報テーブル８３２と通信要求８００内のバッファ１２０内のデータ用データ転送情報テーブル８３１とをポインタで接続し、このようにリンクされたこれらテーブル８３１，８３２を通信要求発行部１１３に渡す。尚、図２及び図４に示すデータ用のデータ転送情報テーブル８３１の構成は図３に示すデータ転送情報テーブル８３０と同一であり、 CPU４１０内のオペレーティングシステムが管理するデータ５００の仮想アドレス８４１と、主記憶装置４２０上の当該データの物理アドレス８５１と、当該データのサイズ８６１と、該テーブル８３１とリンクしている次のテーブルへのポインタ８７１とで構成されている。  尚、ここではデータ用データ転送情報テーブル８３１とリンクしている次のテーブルは無く、従って、次のテーブルへのポインタ８７１はNULLである。
【００３６】
ステップ６７０では、通信要求発行部１１３は渡されたヘッダ５１０用のデータ転送情報テーブル８３２とバッファ１２０内のデータ用のデータ転送情報テーブル８３１とのチェインを解析し、ヘッダ５１０の物理アドレス８５２とデータサイズ８６２、及びバッファ１２０内のデータ５００の物理アドレス８５１とデータサイズ８６１とを通信制御装置４３０に通知し、更に通信制御装置４３０に通信要求を発行する。
【００３７】
次に、本実施例で使用されるネットワークファイルシステム部１００の一例の詳細図を  図５に示す。  図５ではネットワークファイルシステム部１００は、ファイルアクセス要求受付部１０１と、バッファ管理部１０２と、アクセス要求発行部１０４と、通信要求発行部１０３と、バッファ管理テーブル１４０を管理するバッファプール１５０とから構成される。
【００３８】
また、クライアント２００からのファイルアクセス要求８８０は、当該ファイルアクセス要求の種別を示すアクセス種別８８１と、アクセス対象のファイルの識別子８８２と、通信先識別子８８３（ここで、通信先とはクライアントである）と、アクセスするファイルの先頭アドレス８８４と、アクセスサイズ８８５との五つの引数からなる。  また、バッファ管理テーブル１４０としては、オペレーティングシステムが管理するバッファ１２０内のデータ５００の仮想アドレス１４１と、ファイル識別子１４２と、アクセス対象であるファイル中のデータ５００のブロック番号１４３と、バッファの状態（読み出し中等）１４４の４つのメンバからなるテーブルを用いる。
【００３９】
図５のネットワークファイルシステム部１００の動作を図９に示すフローチャートを用いて説明する。
【００４０】
先ず、ステップ６０１において、ファイルアクセス要求８８０が発行されると(６６０)、ファイルアクセス要求受付部１０１がファイルアクセス要求８８０を受付け、ファイルアクセス要求８８０内のファイル識別子８８２と先頭アドレス８８４とアクセスサイズ８８５とをバッファ管理部１０２に渡す。
【００４１】
ステップ６０２では、バッファ管理部１０２は、渡されたファイル識別子８８２と先頭アドレス８８４とアクセスサイズ８８５等とに基づきバッファ管理テーブル１４０を作成する。  バッファ管理部１０２は、バッファ管理テーブル１４０を用いてバッファ１２０内にデータ５００を格納するエリアを割り当て、バッファ管理テーブル１４０をファイルアクセス要求受付部１０１に返す。
【００４２】
ステップ６０３では、ファイルアクセス要求受付部１０１は、アクセス要求発行部１０４にアクセス種別とバッファ管理テーブル１４０とを渡す。
【００４３】
次いで、ステップ６１０では、アクセス要求発行部１０４はバッファ１２０にデータ５００を格納するようにアクセス要求をファイルシステム部１３０に発行する。
【００４４】
ステップ６５０では、ファイルシステム部１３０が二次記憶装置４５０からデータ５００を読み出してバッファ１２０にＤＭＡ転送６３０を行うと、 ＤＭＡ転送の終了通知をアクセス要求発行部１０４に通知する。
【００４５】
ステップ６５１では、アクセス要求発行部１０４はファイルアクセス要求受付部１０１にＤＭＡ転送の終了を通知する。
【００４６】
すると、ステップ６５２において、ファイルアクセス要求受付部１０１は通信要求発行部１０３に通信先識別子８８２とバッファ管理テーブル１４０を渡す。
尚、ここでは“通信先”とはクライアントを指す。
【００４７】
ステップ６５３では、通信要求発行部１０３は通信先識別子８８２とバッファ管理テーブル１４０に基づき通信要求８００を生成する。
【００４８】
ステップ６６０では、通信要求発行部１０３は通信要求８００を用いて通信制御部１１０へ通信要求を発行する。
【００４９】
ステップ７００では、通信制御部４３０がヘッダ５１０のＤＭＡ転送を行う、ＤＭＡ転送が終了すると、通信制御部１１０はＤＭＡ転送の終了を通信要求発行部１０３に通知する。
【００５０】
図５で使用されるネットワークファイルシステム部１００のバッファ管理部１０２の一例を図６に示す。 図６では、バッファ管理部１０２は、バッファ割り当て要求受付部１０５とバッファ検索部１０６と新規バッファ割り当て部１０７とから構成される。  また、バッファ管理テーブル１４０はバッファプール１５０内で管理され、図６では１４０−０から１４０−３の複数（この例では４つ）のテーブルで構成され、それぞれ、バッファ１２０内のデータ格納エリア１２０−００から１２０−０３に対応している。  尚、バッファ管理テーブル１４０は４つに限らず３つ未満、５個以上でも構わない。  これらのバッファ格納エリアにはそれぞれアクセス要求に対応して読み出されたデータが格納され、該エリアは対応するバッファ管理テーブルで管理される。
【００５１】
図６のバッファ管理部１０２の動作を図１０に示すフローチャートを用いて説明する。
【００５２】
先ず、ステップ６０１では、バッファ割り当て要求受付部１０５はファイルアクセス要求受付部１０１からファイル識別子、先頭アドレス、アクセスサイズを渡されバッファ１２０内のデータ格納エリアを割り当てるよう要求される。
【００５３】
ステップ６０４では、バッファ割り当て要求受付部１０５はファイル識別子とブロック番号をバッファ検索部１０６に渡し、該当するバッファ内の格納エリアの検索を要求する。  ここで、ブロック番号は先頭アドレスより求まる。
【００５４】
ステップ６０８では、バッファ検索部１０６はバッファプール１５０内のバッファ管理テーブル１４０−０〜１４０−３の中から、渡されたファイル識別子とブロック番号とに一致するバッファ管理テーブルを検索する。
【００５５】
ステップ６０５では、一致するバッファ管理テーブルが見つかった場合には、バッファ検索部１０６は、見つかったバッファ管理テーブルをバッファ割り当て要求受付部１０５に返す。  見つからなかった場合には、“０”をバッファ割り当て要求受付部１０５に返す。  バッファ割り当て要求受付部１０５は、バッファ管理テーブルが見つかった場合にはステップ６０２に処理を進め、見つからなかった場合にはステップ６０６に処理を進める。
【００５６】
ステップ６０６では、バッファ割り当て要求受付部１０５は新規バッファ割り当て部１０７にファイル識別子とブロック番号を渡し、新規にバッファを割り当てるように要求する。
【００５７】
ステップ６０９では、新規バッファ割り当て部１０７はバッファ管理テーブル１４０−０から１４０−３に対してＬＲＵ（least recently used）アルゴリズムを使用して使用するバッファのエリアを決定し、そのバッファエリアに対してファイル識別子とブロック番号を設定する。
【００５８】
ステップ６０７では、新規バッファ割り当て部１０７は使用するバッファエリアに対応するバッファ管理テーブル１４０をバッファ割り当て要求受付部１０５に返す。
【００５９】
ステップ６０２では、バッファ割り当て要求受付部１０５はバッファ管理テーブル１４０をファイルアクセス要求受付部１０１に返す。  バッファ管理テーブルが見つからなかった場合には見つからなかったことをファイルアクセス要求受付部１０１に通知する。
【００６０】
上述したように、本実施例によれば、主記憶装置４２０上の別々のアドレスに存在するヘッダとデータとを一括してネットワーク３００を介してクライアント２００にデータ転送することが可能になる。  その結果、バッファ１２０内のデータ５００をヘッダ５１０と連続するアドレス空間にデータコピーし、ヘッダとバッファを連続したアドレスに配置し直す従来方法に比べて、データコピーを回避でき、性能が向上する。
【００６１】
尚、上記実施例及び以下に述べる各実施例においては、バッファ１２０以外の主記憶装置４２０の構成要素である通信制御部１１０，ネットワークファイルシステム部１００，ファイルシステム部１３０等を主記憶装置４２０内に設けているが、これらバッファ１２０以外の主記憶装置４２０の構成要素を制御部として主記憶装置以外に設けて入出力バス６４０に接続しても良い。  その場合、この制御部は主記憶装置及び二次記憶装置以外の記憶装置としても良い。
【００６２】
また、上記実施例及び以下に述べる各実施例においては、バッファ１２０以外の主記憶装置４２０の構成要素である上記通信制御部１１０，ネットワークファイルシステム部１００，ファイルシステム部１３０等の制御部をプログラムで構成した場合、この制御部のプログラムを予め主記憶装置にストアしているものである。  しかし、その代わりに、この制御部のプログラムをCD-ROM,DVD等の記憶媒体にストアし、該記憶媒体を図１に示すような入出力バス４４０に接続した記録媒体読み出し装置５０に装填し、該プログラムを読み出し主記憶装置にストアするようにしても良い。  また、この制御部のプログラムをネットワーク３００を介して主記憶装置にストアするようにしても良い。
【００６３】
次に本発明の第二の実施例について図１１を用いて説明する。  本実施例ではネットワーク３００には複数の（図１１の例では説明の簡単化のためにクライアントが２つの場合を示す）クライアント２００―１，２００−２が接続され、そこで、主記憶装置４２０においては、クライアント２００−１，２００−２毎にネットワークファイルシステム部１６０−１、１６０−２およびバッファ１２０−１、１２０−２を設け、更にバッファ１２０−１と１２０−２との間で同一のデータ５００を保有しないようにするためのデータ排他管理部１７０を設けたことが特徴である。
【００６４】
第一の実施例では、サーバ４００にネットワークファイルシステム部１００が一つしか設けられていないため、複数のクライアントがネットワークに接続されている場合に、同時に複数のクライアント２００からの要求を受け付けることができない。  従って、この場合、複数のクライアント２００のトータルのファイルアクセス性能は一つのクライアント２００のファイルアクセス性能と同じである。  本実施例では、クライアント２００−１、２００−２ごとにネットワークファイルシステム部１６０−１，１６０−２とバッファ１２０−１、１２０−２を設けることにより、複数のクライアント２００から同時にファイルアクセス要求が発行されても、それらを並列に処理できるようにし、複数のクライアント２００のトータルのファイルアクセス性能を一つのクライアント２００のファイルアクセス性能以上とすることを可能にする。
【００６５】
なお、バッファ１２０−１，１２０−２を各クライアント２００−１，２００−２に対応して別々に設けることにより、複数のクライアントから同一ファイルデータをアクセスする時にはデータの一貫性の保持が問題となるが、これをデータ排他管理部１７０を用いて解決している。
【００６６】
本実施例の全体の動作を図１６のフローチャートを用いて説明する。  以下の説明では、クライアント２００−１，２００−２の一方、例えば、クライアント２００−１よりファイルアクセス要求を発行された場合について説明するが、クライアント２００−２よりファイルアクセス要求を発行された場合も同様であり説明を省略する。
【００６７】
先ず、ステップ６００では、クライアント２００―１は通信制御装置４３０を介してネットワークファイルシステム部１６０―１にファイルアクセス要求を発行する
ステップ７１０では、ネットワークファイルシステム部１６０―１はファイルアクセス要求を解析しバッファ管理テーブル１４０を用いてクライアント２００―１対応するバッファ１２０―１内のエリアを割り当て、データ排他管理部１７０に登録要求を発行する
ステップ６１０では、ネットワークファイルシステム部１６０―１は、ファイルシステム部１３０に対してバッファ１２０―１の上記エリアにデータを格納するようにアクセス要求を発行する
ステップ６２０では、ファイルシステム部１３０は二次記憶装置４５０にアクセス要求を発行する
ステップ６４０では、二次記憶装置４５０からアクセス要求に対応するデータ５００がバッファ１２０―１の上記エリアにＤＭＡ転送されると(６３０)、二次記憶装置４５０はファイルシステム部１３０に終了通知を発行する
ステップ６５０では、ファイルシステム部１３０はネットワークファイルシステム部１６０―１に終了通知を発行する
ステップ６６０では、ネットワークファイルシステム部１６０―１は、バッファ１２０―１にストアされたデータ５００をクライアント２００―１へ転送するように通信制御部１１０に対して通信要求を発行する
ステップ６７０では、通信要求に応答して通信制御部１１０はヘッダ５１０を生成し、ヘッダ５１０のアドレスとサイズ、およびバッファ１２０−１内の上記データのアドレスとサイズを通信制御装置430に通知し、かつ通信要求を発行する。
【００６８】
ステップ６８０では、通信制御装置４３０はヘッダ５１０とバッファ１２０内のデータ５００をＤＭＡ転送して、ネットワーク３００を介してクライアント２００―１に転送する。
【００６９】
上述した図１６のフローチャートと第一の実施例のフローチャートとの差異は、図１６においてはステップ７１０が加わったことである。  すなわち、第１の実施例に加えて、他のクライアント２００−２用のバッファ１２０―２がすでに該当するデータを保有しているかどうかをデータ排他管理部１７０でチェックする動作が加わっている。
【００７０】
たとえば、ネットワークファイルシステム部１６０―１は、データ排他管理部１７０を用いて各クライアント用のバッファ１２０―１、１２０−２が現在どのファイルデータのアクセス用に使用されているかをチェックできるようにしている。  そのために、ネットワークファイルシステム部１６０―１では、ステップ７１０にて,使用するバッファ１２０―１がどのファイルデータアクセス用なのかをデータ排他管理部１７０に登録する。  データ排他管理部１７０は、登録しようとするバッファ１２０−１に対して、すでに他のクライアント用のバッファ１２０―２が同一のファイルデータ用として使用されているときには、ステップ７３０にて該他のクライアント１６０−２に対して該他のクライアント用のバッファ１２０―２のパージ（purge）要求を発行し、該他のクライアントのバッファ１２０―２のデータをパージさせる。  これは、ネットワークファイルシステム部１６０―２についても同様である。
【００７１】
図１２に本実施例における各ネットワークファイルシステム部１６０―１，１６０−２の一例の構成を示す。  ここでは、ネットワークファイルシステム部１６０―１の構成について説明するがネットワークファイルシステム部１６０―２の構成も同一である。
【００７２】
図１２では、ネットワークファイルシステム部１６０―１は、図５のネットワークファイルシステム部１００と同様に、ファイルアクセス要求受付部１０１と通信要求発行部１０３とアクセス要求発行部１０４とバッファプール１５０とバッファ管理テーブル１４０を有する。  しかし、図５のネットワークファイルシステム部１００におけるバッファ管理部１０２に代えて、データ排他管理部１７０に登録要求を発行するバッファ管理部１０８を用い、また、新たにバッファパージ部１０９を加えた構成である。
【００７３】
図１２のネットワークファイルシステム部１６０―１の動作を図１７に示すフローチャートを用いて説明する。  尚、ネットワークファイルシステム部１６０―２の動作も同様である。
【００７４】
先ず、ステップ６０１では、クライアント２００−１よりファイルアクセス要求８８０が発行されると(６６０)、ファイルアクセス要求受付部１０１がファイルアクセス要求８８０を受付け、ファイルアクセス要求８８０内のファイル識別子と先頭アドレスとアクセスサイズとをバッファ管理部１０２に渡す。
【００７５】
ステップ７１０では、バッファ管理部１０２はアクセス要求８８０に応答してバッファ管理テーブル１４０を用いてクライアント２００−１に対応するバッファ１２０―１内のエリアを割り当て、割り当てたバッファ内のエリアのファイル識別子、ブロック番号およびクライアント識別子を引数にデータ排他管理部７１０に登録する。
【００７６】
ステップ６０２では、バッファ管理部１０２は、バッファ管理テーブル１４０をファイルアクセス要求受付部１０１に返す。
【００７７】
ステップ６０３では、ファイルアクセス要求受付部１０１はアクセス要求発行部１０４にアクセス種別とバッファ管理テーブル１４０をアクセス要求発行部１０４に渡す。
【００７８】
ステップ６１０では、アクセス要求発行部１０４はバッファ１２０―１にデータ５００を格納するようにアクセス要求をファイルシステム部１３０に発行する。
【００７９】
ステップ６５０では、ファイルシステム部１３０がデータ５００のＤＭＡ転送６３０を終了し終了通知をアクセス要求発行部104に通知する。
【００８０】
ステップ６５１では、アクセス要求発行部１０４はファイルアクセス要求受付部１０１に終了を通知する。
【００８１】
ステップ６５２では、ファイルアクセス要求受付部１０１は通信要求発行部１０３に通信先識別子とバッファ管理テーブル１４０を渡す。
【００８２】
ステップ６５３では、通信要求発行部１３０は通信先識別子とバッファ管理テーブル１４０から通信要求８００を生成する。
【００８３】
ステップ６６０では、通信要求発行部１３０は通信要求８００を用いて通信制御部１１０へ通信要求を発行する。
【００８４】
ステップ７００では、通信制御部１１０が終了を通知する。
【００８５】
また、図１３に図１２のネットワークファイルシステム部１６０―１，１６０−２の各々で使用されるバッファ管理部１０８の構成例の詳細図を示す。  図１３において、バッファ管理テーブル１４０はここでは１４０−０から１４０−３の複数（この例では４つ）のテーブルで構成され、それぞれ、バッファ１２０―１内のデータ格納エリア１２０−１−０から１２０−１−３に対応している。  尚、図１３ではネットワークファイルシステム部１６０―１で使用されるバッファ管理部１０８の構成を示すが、ネットワークファイルシステム部１６０―１で使用されるバッファ管理部１０８の構成も同様である。  図１２のバッファ管理部１０８は、図６で示したバッファ管理部１０２と比較して、データ排他管理部１７０に登録要求７１０を発行する新規バッファ割り当て部１２１を用いていることが異なる。  バッファ管理部１０８の動作を図１８に示すフローチャートを用いて説明する。
【００８６】
先ず、ステップ６０１では、ファイルアクセス要求受付部１０１からファイル識別子、先頭アドレス、アクセスサイズを渡されバッファ１２０−１のエリアを割り当てるよう要求される。
【００８７】
ステップ６０４では、バッファ割り当て要求受付部１０５はファイル識別子とブロック番号をバッファ検索部１０６に渡し、該当するバッファの検索を要求する。
【００８８】
ステップ６０８では、バッファ検索部１０６はバッファプール１５０内のバッファ管理テーブル１４０−０〜１４０−３の中から、渡されたファイル識別とブロック番号と一致するバッファ管理テーブルを検索する。
【００８９】
ステップ６０５では、一致するバッファ管理テーブルが見つかった場合には該見つかったバッファ管理テーブルを、見つからなかった場合には“０”をバッファ割り当て要求受付部１０５に返す。  バッファ割り当て要求受付部１０５は、一致するバッファ管理テーブルが見つかった場合にはステップ６０２に処理を進め、見つからなかった場合にはステップ６０６に処理を進める。
【００９０】
ステップ６０６では、バッファ割り当て要求受付部１０５は新規バッファ割り当て部１０７にファイル識別子とブロック番号を渡し、新規にバッファを割り当てるように要求する。
【００９１】
ステップ６０９では、新規バッファ割り当て部１０７はバッファ管理テーブル１４０−０から１４０−３に対してＬＲＵアルゴリズムを使用して使用するバッファを決定しそのバッファに対してファイル識別子とブロック番号を設定する。
【００９２】
ステップ７１０では、新規バッファ割り当て部１０７は使用するバッファの書き換える前のファイル識別子とブロック番号および書き換え後のファイル識別子とブロック番号を引数にデータ排他管理部１７０に登録要求を発行する。
【００９３】
ステップ６０７では、新規バッファ割り当て部１０７は使用するバッファのバッファ管理テーブル１４０をバッファ割り当て要求受付部１０５に返す。
【００９４】
ステップ６０２では、バッファ割り当て要求受付部１０５は上記見つかったバッファ管理テーブル１４０をファイルアクセス要求受付部１０１に返す。  一致するバッファ管理テーブルが見つからなかった場合には見つからなかったことをファイルアクセス要求受付部１０１に通知する。
【００９５】
図１４に図１２の各ネットワークファイルシステム部１６０―１，１６０−２内のバッファパージ部１０９の構成例の詳細図を示す。  尚、図１４はネットワークファイルシステム部１６０―１内のバッファパージ部１０９の例であるが、ネットワークファイルシステム部１６０―２内のバッファパージ部１０９も同様の構成である。  図１４に示すように、バッファパージ部１０９はバッファフラッシュ部１７３とバッファ管理テーブル操作部１７４から構成される。
【００９６】
また、データ排他管理部１７０から送られてくるパージ要求はファイル識別子とブロック番号からなる。  次にネットワークファイルシステム部１６０―１内のバッファパージ部１０９の動作を図１９に示すフローチャートを参照して説明する。  尚、ネットワークファイルシステム部１６０―２内のバッファパージ部１０９の動作も同様である。
【００９７】
先ず、ステップ７３０では、データ排他管理部１７０からバッファパージ部１０９に対してファイル識別子とブロック番号を引数にパージ要求が発行される。
【００９８】
ステップ７２５では、バッファフラッシュ部１７３は発行されたパージ要求から該当するバッファ管理テーブル（１４０−０~１４０−３）を検索し、もし対応するバッファ１２０−１のエリアをフラッシュする必要があればステップ６０３へ処理を進め、必要がなければステップ７３０に処理を進める。
【００９９】
ステップ６０３では、バッファフラッシュ部１７３はアクセス要求発行部１０４にアクセス要求を発行する。
【０１００】
ステップ６５１では、バッファフラッシュ部１７３はアクセス要求発行部１０４から終了通知を受ける。
【０１０１】
ステップ７３０では、バッファフラッシュ部１７３はファイル管理テーブル操作部１７４を検索したバッファ管理テーブルを引数に起動する。
【０１０２】
ステップ７２１では、バッファ管理テーブル操作部174は検索したバッファ管理テーブルに対応するバッファのエリアを無効にする。
【０１０３】
次に本実施例のデータ排他管理部１７０の一例の詳細図を図１５に示す。
【０１０４】
図１５では、データ排他管理部１７０は、登録要求受付部１７１とパージ要求発行部１７２とバッファ排他制御部１７３と各クライアント２００−１から２００−２のバッファ１２０−０から１２０−１の状況を表すバッファ排他管理テーブル１７４から構成される。  データ排他管理部１７０の動作を図２０に示すフローチャートを用いて説明する。
【０１０５】
先ず、ステップ７１０では、ネットワークファイルシステム部１６０、例えば、クライアント２００−１に対応するネットワークファイルシステム部１６０―１から登録要求が発行される。
【０１０６】
ステップ７２１では、登録要求受付部１７１は該登録要求をバッファ排他制御部１７５に発行する
ステップ７２３では、バッファ排他制御部１７５は該登録要求に応答してバッファ排他管理テーブル１７６に対応するバッファ（１２０−１）のエリアに対するクライアント識別子とファイル識別子とブロック番号を登録する。
【０１０７】
ステップ７２４では、バッファ排他制御部１７５はバッファ排他管理テーブル１７６から、登録したバッファエリアのファイル識別子とブロック番号をキーとして検索し、他のクライアント（この例ではクライアント２００−２）が同一のデータをすでに保持しているか否かの情報を取得する。  すでに他のクライアントが同一のデータを保持している場合にはステップ７２２に処理を進め、保持していない場合には処理を終了する。
【０１０８】
ステップ７２２では、バッファ排他制御部１７５はパージ要求発行部１７２に対してパージ要求を発行する。
【０１０９】
ステップ７３０では、パージ要求発行部１７２は対象クライアントに対応するネットワークファイルシステム部１６０―１にパージ要求を発行する。  こうして、他のクライアント２００−２のバッファ１２０−２内に同一データがある場合にはそのデータをパージする。
【０１１０】
上述したように、本実施例によれば、ネットワークファイルシステム部１６０とバッファ１２０を各クライアント２００−１、２００−２ごとに対応させて有することにより、クライアント２００−１，２００−２が同時にファイルアクセス要求を発行しても、並列して処理できるようになり、トータルの性能が向上する。  また、データ排他管理部１７０を設けたことにより、クライアント２００−１，２００−２が同一データをアクセスしてもデータの一貫性が保持されるようになる。
【０１１１】
次に、第三の実施例を図２1を参照して説明する。
【０１１２】
本実施例では、第二の実施例のように複数のクライアント毎に予めバッファとネットワークファイルシステム部を設けるのではなく、クライアントからの接続要求に応じてバッファのエリアを確保すると共にネットワークファイルシステム部を設けるようにしている。  従って、そのために、ネットワークファイルシステム起動部（ファイルアクセス要求処理部起動部）１８０とネットワークファイルシステム部のリソースを管理するリソーステーブル１９０とを設けている。  即ち、クライアント２００から通信制御装置４３０を介して送られたサーバに対する接続要求をネットワークファイルシステム起動部１８０が受けると、起動部１８０はリソーステーブル１９０を参照して、動的に、バッファ１２０上に該クライアントに対応するメモリエリアを確保し、かつ該クライアントに対応するネットワークファイルシステム部１２０を生成するものである。
【０１１３】
本実施例では、クライアントからの接続要求に応じて動的にネットワークファイルシステム部１６０やバッファ１２０を割り当てることにより、サーバ４００の所有するリソースを効率よく使用することができるようになる。  また、クライアント数が増えすぎることにより、サーバの一クライアント当たりのファイルアクセス性能が低下し、映像素材などの実時間アクセスが必要なデータに対して実時間アクセスが不可能になるといった事態を回避することもできる。
【０１１４】
尚、本実施例では複数のクライアント２００がネットワークに接続されているが、図２１においては、説明の簡単化のためにクライアントは２つのみ（２００−１，２００−２）示している。
【０１１５】
本実施例で、ネットワークファイルシステム起動部１８０が参照、変更するリソーステーブル１９０の構成例を図２２に示す。  図２２では、リソーステーブル１９０は、サーバがトータルでどのくらいの帯域のデータを転送できる能力を持つかを表す最大帯域と、現在接続中のクライアント２００が使用している帯域と、サーバが許容する最大接続可能クライアント数と、現在接続中のクライアントの数から構成されている。
【０１１６】
また、ネットワークファイルシステム起動部１８０は、図２３に示すように、接続要求受付部１８１、リソース監視部１８２、リソーステーブル修正部１８３、バッファ確保部１８４、ネットワークファイルシステム部生成部１８５から構成されており、クライアント２００からの接続要求はクライアント識別子と要求帯域から構成される。
【０１１７】
本実施例のネットワークファイルシステム起動部１８０の動作を図２４に示すフローチャートを用いて説明する。
【０１１８】
先ず、ステップ７４０では、クライアント２００（例えば、クライアント２００−１）は、要求帯域を引数に接続要求を通信制御装置７４１を介してネットワークファイルシステム部１８０に発行する。
【０１１９】
ステップ７４２では、ネットワークファイルシステム起動部１８０内の接続要求受付部１８１が接続要求を受け付け、該接続要求受付部１８１は該接続要求のクライアント識別子と要求帯域とをリソース監視部１８２に渡して該リソース監視部１８２を呼び出す。
【０１２０】
ステップ７４３では、リソース監視部１８２はリソーステーブル１９０を参照し(７４９)、クライアント２００―１の要求帯域に対して、該クライアント２００−１を該サーバ４００に接続可能かどうかを判断し、その判断結果を接続要求受付部181に通知する。  判断結果が、接続不可能である場合には、接続要求受付部１８１はステップ７４１に処理を進め、接続可能な場合にはステップ７４４に処理を進める。
【０１２１】
ステップ７４４では、接続要求受付部１８１は上記接続要求のクライアント識別子と要求帯域を引数にリソーステーブル修正部１８３を呼び出す。
【０１２２】
ステップ７５０では、リソーステーブル修正部１８３は上記接続要求を元にリソーステーブル１９０を変更する。
【０１２３】
ステップ７４５では、接続要求受付部１８１はバッファ確保部１８４にバッファ１２０内にメモリエリアを確保するように要求する。
【０１２４】
ステップ７４６では、バッファ確保部１８４は該要求に従ってメモリエリアを確保できた場合にはメモリアドレスを、確保できない場合には確保できないことを接続要求受付部１８１に報告する。  すると、接続要求受付部１８１はメモリが確保できない場合にはステップ７４１に処理を進め、確保できた場合にはステップ７４７に処理を進める。
【０１２５】
ステップ７４７では、接続要求受付部１８１は確保したメモリのアドレスを引数にネットワークファイルシステム部生成部１８５を呼び出す。
【０１２６】
ステップ７４８では、ネットワークファイルシステム部生成部１８５はネットワークファイルシステム部１６０を生成し、その結果を接続要求受付部１８１に報告する。
【０１２７】
ステップ７４１では、ステップ７４８まですべて成功した場合には接続要求の受け入れの報告をクライアント２００―１に通知する。  一方、ステップ７４３で接続不可能とされた場合や、ステップ７４６やステップ７４８でメモリの確保やネットワークファイルシステム部生成失敗の場合には、接続要求の受け入れ拒否の報告をクライアント２００―１に通知する。
【０１２８】
上述したように、本実施例によれば、ネットワークファイルシステム部１６０やバッファ１２０は、クライアント２００から接続要求が発行された時点で作成、確保されていくため、サーバのリソースを効率よく使用できる。  また、映像素材などの実時間アクセスが必要なデータをクライアントがアクセスする場合などで、クライアント２００からの要求帯域をもとに接続可能かどうかを判断するため、必要以上にクライアントを接続しすぎて、映像素材などの実時間アクセスができなくなるようなケースを防ぐことができるようになる。
【０１２９】
次に本発明の第四の実施例を図２５に示す。  本発明の第四の実施例では、複数のクライアント１２００（ここでは説明の簡単化のためにクライアント数は２つとする）とサーバ４００とがネットワーク３００により相互に接続されている例を示す。  第四の実施例では、映像の表示や編集を行う映像データ処理プログラムを備えたクライアントが標準的なファイルアクセスインタフェースを介して映像データが格納されているサーバにアクセスできるようにし、かつ、その際にサーバは高品質の映像データをクライアントに転送できるだけの充分な性能を達成できるようにするものである。
【０１３０】
そのために、サーバ４００は、映像データ５１０が格納されている一つ以上の二次記憶装置（磁気ディスク装置等）４５０と、計算機４０５とを備える。  計算機４０５は、二次記憶装置４５０を制御し映像データ５１０の読み出し及び書き込みを行うデータアクセス部１１３０と、ネットワーク３００に接続された他の計算機（クライアント）からのファイルアクセス要求を受け付けこれをデータアクセス部１１３０に渡すネットワークファイルシステム部１１００と、ネットワーク３００を制御する通信制御部１１１０と、二次記憶装置４５０とネットワーク３００との間で映像データの転送を行うためのバッファ１１２０とから構成される。  これら構成要素１１００，１１１０，１１３０は計算機４０５内の主記憶装置にストアされたプログラムモジュールで構成されて良く、又はハードウエアで構成されても良い。
【０１３１】
また、各クライアント１２００―１，１２００−２は、標準的なファイルアクセスインタフェースを使用して映像データの表示や編集を行う映像データ処理部１２１０と、映像データ処理部１２１０からのアクセス要求を後述のネットワークデータアクセス部１２２０のインタフェースに変換するインタフェース変換部１２１２と、ネットワーク３００を介してサーバ４００の二次記憶装置４５０に格納された映像データ５１０をアクセスするネットワークデータアクセス部１２２０と、通信制御部１２３０から構成される。
【０１３２】
本実施例の構成では、サーバ４００は一つ、クライアント１２０は二つ、ネットワーク３００は一本となっているが、いずれも一つ以上であれば数に制限はない。
【０１３３】
以下，本実施例の全体の動作を第２６図に示すフローチャートを用いて説明する。  以下の説明では、クライアント１２００−１、１２００−２の内クライアント１２００−１からファイル読み出し要求が発行された場合について説明するが、クライアント１２００−２からファイル読み出し要求が発行された場合も同様である。
【０１３４】
先ず、ステップ１７１０では、クライアント１２００―１の映像データ処理部１２１０は，ファイル読み出し要求をネットワークデータアクセス部１２２０に発行する。
【０１３５】
ステップ１７２０では、ネットワークデータアクセス部１２２０は通信制御部１２３０およびネットワーク３００を介してサーバ４００のネットワークファイルシステム部１１００に読み出し要求を発行する。
【０１３６】
ステップ１７３０では、ネットワークファイルシステム部１１００はデータアクセス部１１３０に読み出し要求を発行する。
【０１３７】
ステップ６３０では、データアクセス部１１３０は読み出し要求に応答して、二次記憶装置４５０から映像データ５１０を読み出しバッファ１１２０に転送する。
【０１３８】
ステップ６８０では、ネットワークファイルシステム部１１００は通信制御部１１１０およびネットワーク３００を介してバッファ１１２０内のデータ５１０をクライアント１２００―１に転送する。
【０１３９】
次に図２５および図２６で説明したネットワークファイルシステム部１１００，データアクセス部１１３０，通信制御部１１１０の詳細を説明する。
【０１４０】
ネットワークファイルシステム部１１００の構成例を図２７に示す。  図２７に示すように、ネットワークファイルシステム部１１００は、通信制御部１１１０を経由してクライアント１２００―１のネットワークデータアクセス部１２２０から送られてきたアクセス要求を解析し解析結果をアクセス要求発行部１１０２に通知するアクセス要求解析部１１０１と、通知されたアクセス要求をディスクアクセス要求としてデータアクセス部１１３０に発行するアクセス要求発行部１１０２と、バッファの管理を行うバッファ管理部１１０３から構成される。
【０１４１】
アクセス要求解析部１１０１はネットワークデータアクセス部１２２０からアクセス要求が発行されるとこれを解析し、バッファ１１２０が必要な場合にはバッファ管理部１１０３に問い合わせを行い必要なバッファ１１２０のエリアを獲得する。  獲得したバッファ１１２０のエリアにすでに映像データが格納されている場合には、該バッファのエリアの内容を通信制御部１２３０を介してクライアント１２００―１のネットワークデータアクセス部１２２０に転送する。  また、獲得したバッファ１１２０のエリアに映像データが格納されていない場合には、バッファ１１２０の当該エリアに映像データを格納するために、アクセス要求発行部１１０２に通知し、これを受けたアクセス要求発行部１１０２はデータアクセス部１１３０にディスクアクセス要求を発行する。  データアクセス部１１３０は二次記憶装置４５０をアクセスし二次記憶装置４５０からディスクアクセス要求に対応するデータを読み出しバッファ１１２０の上記エリアにデータを転送する。
【０１４２】
この際、アクセス要求解析部１１０１は、クライアントからのアクセス要求をそのまま用いたのではサーバ４００の性能を引き出すことができないと判断した場合には、そのアクセス要求サイズを変更する。
【０１４３】
上記判断には、次のステップ１）からステップ３）を用いても良い。  以下、ステップ１）からステップ３）について説明する。
【０１４４】
ステップ１）では、サーバの二次記憶装置４５０のアクセスサイズをパラメータにしたデータアクセス性能特性を求める。  本性能特性を求める方法としては、実測結果を用いても良いし、シュミレーション等を用いて計算しても良い。
【０１４５】
二次記憶装置４５０が磁気ディスク装置である場合、通常、磁気ディスク装置の物知的特性としてアクセスサイズが大きければ大きいほど性能が良くなる。  これをデータアクセス性能=F（アクセスサイズ）という式で表す。
【０１４６】
ステップ２）では、サーバにクライアントがN台接続されており、扱う映像データが毎秒T(MB)（メガバイト）程度の情報量を持っている場合、のサーバに必要なデータ転送性能を求める。  本性能を求めるために、以下の式を用いても良い。  それはサーバのデータ転送性能= T x Nである。
【０１４７】
ステップ３）では、F（アクセスサイズ）>サーバのデータ転送性能となるようなアクセスサイズを求める。
【０１４８】
クライアントからのアクセス要求がステップ１）~ステップ３）から求めたアクセスサイズよりも小さい場合には、そのアクセスサイズをステップ１）~ステップ３）で求めたアクセスサイズに変更する。
【０１４９】
例えば、図３２のような性能特性を持った磁気ディスク装置４５０の場合で、２０Mbpsの映像データを８個のクライアントで接続する場合には、クライアントからのアクセス要求サイズが1MBよりも小さい場合には、全て１MBに変更される。
【０１５０】
また、図２７のネットワークファイルシステム部１１０0は図２８に示すネットワークファイルシステム部１１０４のように構成しても良い。  図２８は図２７の構成にデータ転送部１１０５を加えた構成である。  この構成によればクライアント１２００へのデータ転送はデータ転送部１１０５が行う。  アクセス要求解析部１１０１の代わりにデータ転送部１１０５がデータ転送を行うことにより、クライアント１２００―１からのアクセス要求の受付とデータ転送とを並列して行うことができるようになる。  従って、複数のクライアント１２００がサーバ４００にアクセスしてきた場合の性能が向上するという効果がある。
【０１５１】
また、図２７のネットワークファイルシステム部１１０0は図２９に示すネットワークファイルシステム部１１０６のように構成しても良い。  図２９の構成ではアクセス要求解析部１１０１とバッファ管理部１１０３およびデータ転送部１１０５をクライアント１２００毎に設置し（図２９の例ではクライアント数が３つの場合を示す）、また、アクセス要求発行部１１０２は二次記憶装置４５０毎に設置する（図２９の例では二次記憶装置の数が３つの場合を示す）。  クライアント１２００毎にアクセス要求解析部１１０１とバッファ管理部１１０３およびデータ転送部１１０５を設置することにより、クライアント１２００毎にデータアクセスを並列に行うことができる。  また、アクセス要求発行部１１０２を二次記憶装置４５０毎に設置することにより、二次記憶装置４５０毎に実際のアクセス要求を独立して行うことができるようになるという効果がある。
【０１５２】
また、バッファ管理部１１０３はLeast Recently Usedアルゴリズム、First In Fist Outアルゴリズム、Last In First Outアルゴリズムのいずれを使用しても構わない。
【０１５３】
次に、データアクセス部１１３０の構成の一例を図３０に示す。  図３０に示すように、データアクセス部１１３０は、ネットワークファイルシステム部１１００からのアクセス要求を解析するデータアクセス要求解析部１１３１と、映像データ５１０が二次記憶装置４５０内のどこに格納されているかを管理するデータ格納位置管理部１１３２と、二次記憶装置４５０にデータアクセス要求を発行するデータアクセス要求発行部１１３４と、二次記憶装置４５０を制御する二次記憶装置制御部１１３３から構成される。
【０１５４】
データアクセス要求解析部１１３１は、ネットワークファイルシステム部１１００から発行されたアクセス要求を受け取り、これを解析し、必要であればデータ格納位置管理部１１３２を起動しデータ格納位置情報を獲得し、データアクセス要求発行部１１３４を起動する。データアクセス要求発行部１１３４は二次記憶装置制御部１１３３を介して二次記憶装置４５０内の映像データ５１０をアクセスし、このデータをバッファ１１２０に転送する。
【０１５５】
このように、データアクセス部１１３０により、二次記憶装置４５０内の映像データ５１０を直接バッファ１１２０に転送することができるようになる。
【０１５６】
次に、通信制御部１１１０の構成の一例を図３１に示す。  図３１に示すように、通信制御部１１１０は、ネットワークデータアクセス部１２２０やネットワークファイルシステム部１１００からの通信要求を制御する通信要求制御部１１１１と、送信データ１３４０に必要なヘッダ１３４１を付加する送信データヘッダ付加部１１１２と、受信バッファ１３２０と、受信バッファ３２０に格納された受信データ１３５０からヘッダ１３５１を取り出し解析する受信データヘッダ解析部１１１５と、通信機器を制御する通信機器制御部１１１３から構成される。
【０１５７】
このような構成において、通信要求制御部１１１１に送信要求が発行されると、通信要求制御部１１１１は送信データヘッダ付加部１１１４を起動し、送信データ１３４０にヘッダ１３４１を付加し、通信機器制御部１１１３を介してネットワーク３００にデータを送信する。
【０１５８】
通信要求制御部１１１１に受信要求が発行されると、通信要求制御部１１１１は通信機器制御部１１１３からの受信通知が来るのを待つ。  通信機器制御部１１１３はネットワーク３００からデータを受け取りそのデータを受信バッファ３２０に格納すると、受信データヘッダ解析部１１１５を起動する。  受信データヘッダ解析部１１１５はヘッダ１３５１を解析し、ヘッダ１３５１とデータ１３５０とを切り分けると通信要求制御部１１１１を介して通信要求制御部１１１１に受信通知を発行する。  通信要求制御部１１１１は受信通知を受け取ると、ネットワークデータアクセス部１２２０やネットワークファイルシステム部１１００といった受信要求の発行元に対応するバッファ１１２０内のエリアに、受信バッファ１３２０の受信データ１３５０を転送する。
【０１５９】
図３１の構成により、送信時はバッファ１１２０のデータを直接ネットワーク３００に転送することができるようになり、送信時のオーバヘッドを低減することができるという効果がある。
【０１６０】
本発明の第五の実施例の構成例を図３３に示す。  本発明の第五実施例では、第四の実施例の構成に加えて、クライアント１２００の映像データ処理部１２１１とネットワークデータアクセス部１２２０との間に、インターフェイス変換部１２１２を挿入したものである。  インターフェイス変換部１２１２は映像データ処理部１２１１が標準的な（一般に用いられている）インターフェイスを用いて、サーバ４００にアクセスできるようにするものである。  そのために、インターフェイス変換部１２１２は、映像データ処理部１２１１から発行された標準的なインターフェイスを用いた要求を、ネットワークデータアクセス部１２２０のインターフェイスに変換する。
【０１６１】
これにより、映像データ処理部１２１１には各社の様々な映像データ処理部を用いることができるようになり、オープンな環境でクライアントサーバシステム（CSS）を構築できる。
【０１６２】
本発明の第六の実施例の構成例を図３４に示す。  本発明の第六実施例では、第四の実施例のネットワーク３００として非同期転送モード(ATM)プロトコルを使用したネットワーク３０１で構成したものである。  ATMでは帯域保証ができるため、これを用いることにより、映像データのように決められた時間内にデータを転送する必要があるデータ転送を信頼性の高いものにすることができるという効果がある。
【０１６３】
このように、転送速度の向上、及び決められた時間内に映像データをアクセス可能とすることにより、CSS型のデジタルスタジオ装置等のネットワークファイルサーバを実現できる。  このため、本ネットワークファイルサーバを標準的なインターフェイスを用いて利用できるようになりオープンなプラットフォームでのネットワークファイルサーバを提供できる。
【０１６４】
【発明の効果】
本発明により、二次記憶装置からデータを読み出してパケットを作成する際に行うデータコピーの回数を減らすことができ、サーバからクライアントへのデータ転送速度を向上させることができる。
【０１６５】
また、これにより、ディジタルスタジオシステムのように映像データや音声データなどの実時間アクセスを必要とする大量のデータに対しても適用できる、計算機ネットワークシステム、及び該計算機ネットワークシステムにおけるネットワークファイルサーバおよびその制御方法を提供することができる。
【図面の簡単な説明】
【図１】は本発明の第１実施例による計算機ネットワークシステムの構成を示すブロック図、
【図２】は、図１の計算機ネットワークシステムにおける通信制御部の構成例を示すブロック図、
【図３】は、第一の実施例で使用するデータ転送情報テーブルを示す図、
【図４】は、第一の実施例における、ヘッダ用のデータ転送テーブル及びそれとリンクしたデータ用のデータ転送テーブルを示す図、
【図５】は、第一の実施例におけるネットワークファイルシステム部の構成例を示すブロック図、
【図６】は、第一の実施例におけるバッファ管理部の構成例を示すブロック図、
【図７】は、第一の実施例の全体の動作を説明するフローチャート、
【図８】は、第一の実施例における通信制御部の動作を説明するフローチャート、
【図９】は、第一の実施例におけるネットワークファイルシステム部の動作を説明するフローチャート、
【図１０】は、第一の実施例におけるバッファ管理部の動作を説明するフローチャート、
【図１１】は、本発明の第２実施例による計算機ネットワークシステムの構成を示すブロック図、
【図１２】は、第二の実施例におけるネットワークファイルシステム部の構成例を示すブロック図、
【図１３】は、第二の実施例におけるバッファ管理部の構成例を示すブロック図、
【図１４】は、第二の実施例におけるバッファパージ部の構成例を示すブロック図、
【図１５】は、第二の実施例におけるデータ排他管理部の構成例を示すブロック図、
【図１６】は、第二の実施例の全体の動作を説明するフローチャート、
【図１７】は、第二の実施例におけるネットワークファイルシステム部の動作を説明するフローチャート、
【図１８】は、第二の実施例におけるバッファ管理部の動作を説明するフローチャート、
【図１９】は、第二の実施例におけるバッファパージ部の動作を説明するフローチャート、
【図２０】は、第二の実施例におけるデータ排他管理部の動作を説明するフローチャート、
【図２１】は、本発明の第３実施例による計算機ネットワークシステムの構成を示すブロック図、
【図２２】は、第三の実施例で使用するリソーステーブルを示す図、
【図２３】は、第三の実施例におけるネットワークファイルシステム起動部の構成例を示すブロック図、
【図２４】は、第三の実施例におけるネットワークファイルシステム起動部の動作を説明するフローチャート、
【図２５】は、本発明の第４実施例による計算機ネットワークシステムの構成を示すブロック図、
【図２６】は、第四の実施例の全体の動作を説明するフローチャート、
【図２７】は、第四の実施例におけるネットワークファイルシステム部の構成例を示すブロック図、
【図２８】は、第四の実施例におけるネットワークファイルシステム部の構成例を示すブロック、
【図２９】は、第四の実施例におけるネットワークファイルシステム部の構成例を示すブロック図、
【図３０】は、第四の実施例におけるデータアクセス部の構成例を示すブロック図、
【図３１】は、第四の実施例における通信制御部の構成例を示すブロック図、
【図３２】は、第四の実施例における二次記憶装置の性能特性を示す図、
【図３３】は、本発明の第５実施例による計算機ネットワークシステムの構成を示すブロック図、
【図３４】は、本発明の第６実施例による計算機ネットワークシステムの構成を示すブロック図である。
【符号の説明】
１００…ネットワークファイルシステム手段
１１０…通信制御手段
１２０…バッファ
１３０…ファイルシステム手段
１４０…バッファ管理テーブル
１６０…第二の実施の形態のネットワークファイルシステム手段
２００…クライアント装置
３００…ネットワーク
４００…サーバ装置
４１０…サーバ装置４００のＣＰＵ
４２０…サーバ装置４００の主記憶装置
４３０…サーバ装置４００の通信制御装置
４４０…サーバ装置４００の入出力バス
４５０…二次記憶装置
５００…クライアント装置２００のアクセス要求に対するデータ
５１０…ヘッダ
【図１】
0003845993.tif 000002
【図２】
0003845993.tif 000003
【図３】
0003845993.tif 000004
【図４】
0003845993.tif 000005
【図５】
0003845993.tif 000006
【図６】
0003845993.tif 000007
【図７】
0003845993.tif 000008
【図８】
0003845993.tif 000009
【図９】
0003845993.tif 000010
【図１０】
0003845993.tif 000011
【図１１】
0003845993.tif 000012
【図１２】
0003845993.tif 000013
【図１３】
0003845993.tif 000014
【図１４】
0003845993.tif 000015
【図１５】
0003845993.tif 000016
【図１６】
0003845993.tif 000017
【図１７】
0003845993.tif 000018
【図１８】
0003845993.tif 000019
【図１９】
0003845993.tif 000020
【図２０】
0003845993.tif 000021
【図２１】
0003845993.tif 000022
【図２２】
0003845993.tif 000023
【図２３】
0003845993.tif 000024
【図２４】
0003845993.tif 000025
【図２５】
0003845993.tif 000026
【図２６】
0003845993.tif 000027
【図２７】
0003845993.tif 000028
【図２８】
0003845993.tif 000029
【図２９】
0003845993.tif 000030
【図３０】
0003845993.tif 000031
【図３１】
0003845993.tif 000032
【図３２】
0003845993.tif 000033
【図３３】
0003845993.tif 000034
【図３４】
0003845993.tif 000035