JP2007042115A - Switching method, device and program - Google Patents
Switching method, device and program Download PDFInfo
- Publication number
- JP2007042115A JP2007042115A JP2006229195A JP2006229195A JP2007042115A JP 2007042115 A JP2007042115 A JP 2007042115A JP 2006229195 A JP2006229195 A JP 2006229195A JP 2006229195 A JP2006229195 A JP 2006229195A JP 2007042115 A JP2007042115 A JP 2007042115A
- Authority
- JP
- Japan
- Prior art keywords
- server
- client
- data
- information
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、クライアントとサーバとの間に論理的に配置されるスイッチ装置に関し、特に、ネットワークを介してファイル処理を実行するリモートファイルシステムが実装されたクライアント・サーバ・システムにおいて、クライアントに透過なシングルシステムイメージ(SSI)の提供や負荷分散などのネットワークトラフィック制御を行うスイッチ装置に関する。 The present invention relates to a switch device that is logically arranged between a client and a server, and in particular, in a client / server system in which a remote file system that executes file processing via a network is implemented, it is transparent to the client. The present invention relates to a switch device that performs network traffic control such as provision of a single system image (SSI) and load distribution.
ネットワークを介したクライアント・サーバ・システムを実現する方法としては、RFC(request for comments) 1094やRFC 1813に記載されたネットワークファイルシステム(NFS;network file system)プロトコルを使用する方法が有名である。このNFSプロトコルは、NFSを実装するクライアントに、ネットワークを介した遠隔地にあるサーバに対するファイルの作成や消去、読み書き、移動等の、ファイルシステムとしての基本的な動作や、他のクライアントとのファイル共有などの利便性を提供する。NFSプロトコルでは、クライアントは、サーバ上のファイルなどのオブジェクトを識別するためのオブジェクトIDを使用し、リモートプロシージャコール(RPC)などのアプリケーションインターフェースを介してサーバにアクセスを行う。例えば、NFSでは、オブジェクトIDとして、ファイルハンドルとよばれるものがある。 As a method for realizing a client server system via a network, a method using a network file system (NFS) protocol described in RFC (request for comments) 1094 or RFC 1813 is well known. This NFS protocol allows a client that implements NFS to perform basic operations as a file system, such as file creation, deletion, read / write, and transfer to a server at a remote location via a network, and files with other clients. Provide convenience such as sharing. In the NFS protocol, a client uses an object ID for identifying an object such as a file on the server, and accesses the server via an application interface such as a remote procedure call (RPC). For example, in NFS, there is an object ID called a file handle.
(レイヤ4−7スイッチ)ネットワークファイルシステムの実装は、いわゆるIP(Internet Protocol)ネットワークのOSI(開放型システム間相互接続;open systems interconection)参照モデルに準拠したものが多く、OSIモデルのレイヤ3まで(物理層、データリンク層、ネットワーク層)の情報を利用して通常のルータなどの経路制御が行われることは広く知られている。さらに、近年では、OSI参照モデルのレイヤ4からレイヤ7まで(トランスポート層、セッション層、プレゼンテーション層、アプリケーション層)の情報を利用して、さらにさまざまな利便性を提供しようという動きが盛んになっている。
(Layer 4-7 switch) Many implementations of the network file system are based on the so-called IP (Internet Protocol) network OSI (open systems interconection) reference model, up to
レイヤ4情報を利用して送られてくるパケットのプロトコルの種類を判別し、プロトコルごとに対応するサーバへ振り分けるネットワークスイッチ装置は、ウェブ(web)ホスティングサービスなどで広く利用されている。さらに、最近では、レイヤ7情報を利用したウェブコンテンツごとのサーバ振り分けを実現するネットワークスイッチ装置が製品として発表されている。これらの技術の主な目的は、サーバの負荷分散や、サーバへのアクセスポリシーの制御(例えば、利用者の認証を行うSSL(secure socket layer)処理の単一サーバでの実行、年齢別の閲覧制限などである。SSL処理を行う場合には、負荷分散等の目的のためのサーバの切り換えは禁止される。)である。なお、スイッチ装置は、論理的なパケット・スイッチとして動作する。
2. Description of the Related Art A network switch device that discriminates the protocol type of a packet transmitted using
図42は、ウェブスイッチの機能を示すブロック図である。ウェブスイッチ900は、パケット処理部903と、HTTP(hypertext transfer protocol)処理部902とを備えている。パケット処理部903で受信したパケット処理を行った後、HTTP処理部902は、レイヤ4からレイヤ7に関する情報の収集を行い、レイヤ7に分類されるURL(uniform resource locator)に関する情報を取り出す。さらに、HTTP処理部902は、取り出したURLに関する情報に基づいて、このURLを扱うべきサーバを、その所在はもとより、負荷分散などのポリシーも考慮して検索、特定する。そして、HTTP処理部902は、そのサーバへパケットが転送されるように、グローバルアドレスからローカルアドレスの変換(NAT(network address translator)型変換)や、後述する仮想IPクラスタリングによるMAC(media access control)アドレスの書き換えを行うことによって、元パケットのMACアドレスやIPアドレスを変換し、その変換に伴うチェックサムなどのセキュリティの矛盾を訂正する。パケット処理部903は、書き換えおよび訂正されたパケットをネットワーク上に送出する。
FIG. 42 is a block diagram showing the function of the web switch. The web switch 900 includes a
また、上述したスイッチ装置の以外にも、負荷分散等の目的のためのさまざまな技術が公開されている。そのような技術として広く知られるものに、例えば、各ネットワークエリアに分散配置した各DNS(ドメインネームサーバ)が1つのドメイン名に複数のIPアドレスを対応させ、ラウンドロビン方式でIPアドレスを選択してクライアントへ伝えるという方法がある。 In addition to the switch device described above, various techniques for purposes such as load distribution have been disclosed. For example, each DNS (domain name server) distributed in each network area associates a plurality of IP addresses with a single domain name, and selects IP addresses in a round-robin manner. There is a way to tell the client.
(仮想IPクラスタリング)ところで、仮想IPアドレスをクラスタアドレスとして定義し、複数のサーバにIPエイリアスとしてこの仮想IPアドレスを設定し、スイッチとしての役割を有するコーディネータが、MACアドレスの書き換えによりパケットを適切なサーバへリダイレクトして負荷分散を行う方法が知られている。このような方法では、各サーバが、仮想IPアドレスをIPエイリアスとして設定しているので、クライアントからはあたかも1つのサーバが応答したように見える。この方法では、コーディネータを介さずに、直接対応したサーバからクライアントへ応答を返すことができる。応答を直接返す方法は、パケットがコーディネータを復路も通過する方法と比べ、ボトルネックが生じにくくなるという利点がある。この方法、およびこの方法に若干の改良を加えた方法は、現在、リナックス(Linux)などのOS(オペレーティングシステム)を用いたクラスタリングシステムの一構成法として広く普及しているものである。 (Virtual IP clustering) By the way, a virtual IP address is defined as a cluster address, this virtual IP address is set as an IP alias in a plurality of servers, and a coordinator having a role as a switch appropriately sets a packet by rewriting the MAC address. There is known a method of performing load distribution by redirecting to a server. In such a method, since each server sets a virtual IP address as an IP alias, it seems as if one server responded to the client. In this method, a response can be returned from the directly corresponding server to the client without using a coordinator. The method of returning a response directly has an advantage that a bottleneck is less likely to occur than a method in which a packet also passes through the coordinator on the return path. This method and a method obtained by slightly improving this method are currently widely used as a configuration method of a clustering system using an OS (operating system) such as Linux.
また、特許文献1には、LAN(ローカルエリアネットワーク;local area network)などのネットワーク上に分散した複数のファイルサーバの台数やストレージ装置の接続状態をクライアントに意識させないで済むようにする別の方法が開示されている。図43に示すように、この方法を実行するクライアント・サーバ・システムでは、ネットワーク2上に分散して構築され、互いにサーバ間専用結線7によって接続され、マルチキャストアドレスを共有する複数のファイルサーバ3を備えている。そして、各ファイルサーバ3にまたがって動作する仮想分散ファイルシステム4が実装されている。このシステムを構成する、各ファイルサーバ3上のモジュールは、クライアント1からマルチキャストされたファイル操作要求を受信すると、仮想分散ファイルシステム4と全ローカルファイルシステム6とのマッピングテーブルを利用して、自サーバが上記要求を処理可能な最適なサーバであるか否かを判断し、その判断結果に基づいて要求されたファイル操作を他のファイルサーバ3と重複することなく処理する。こうすることによって、ネットワーク上に分散した複数のファイルサーバ3を、クライアント1からは単一のサーバとして扱うことができるようになるため、サーバ3の台数やストレージ装置の接続状態をクライアント1に意識させない仮想分散ファイルサーバシステムを提供することができる。
しかし、分散型のネットワークを介したファイルシステムサービスに上述した従来技術を適用した場合には、以下に示す問題点が発生する。 However, when the above-described prior art is applied to a file system service via a distributed network, the following problems occur.
(1) レイヤ4−7スイッチを用いる方法も、仮想IPクラスタリングを用いる方法も、パケットのリダイレクションにあたって書き換える内容がMACアドレスもしくはIPアドレスに限定されている。そのため、NFSのファイルハンドルなどのオブジェクトIDをクライアントがキャッシュに保管する実装のプロトコルにおいて、管理者が負荷分散や容量分散の目的という本来クライアントに対して通知する必要のない操作を行う場合、例えば、クライアントに一度割り当てたサーバから別のサーバへオブジェクトを移動するような場合には、クライアントが、古いサーバのオブジェクトIDをパケット内に含めてサーバにアクセスしてしまう。したがって、スイッチが新しいサーバにそのパケットを転送しても、新しいサーバはそのパケット内のオブジェクトIDを判読できずに、クライアントにエラーを返してしまう。すなわち、負荷分散型ネットワークを介したファイルシステムサービスにおいては、従来の負荷分散の方法を適用しても、クライアントに対する透過性を実現することができない。 (1) In both the method using the layer 4-7 switch and the method using virtual IP clustering, the contents to be rewritten in the packet redirection are limited to the MAC address or the IP address. Therefore, in an implementation protocol in which an object ID such as an NFS file handle is stored in a cache by the client, when an administrator performs an operation that does not need to be notified to the client for the purpose of load distribution or capacity distribution, for example, When moving an object from a server once assigned to a client to another server, the client accesses the server by including the object ID of the old server in the packet. Therefore, even if the switch forwards the packet to the new server, the new server cannot read the object ID in the packet and returns an error to the client. In other words, in a file system service via a load balancing network, even if a conventional load balancing method is applied, transparency to the client cannot be realized.
(2) IPエイリアスの設定や仮想分散ファイルシステムの導入を行う際には、ユーザがすでに利用しているファイルサーバに対する改造が必須となるので、既存のクライアント・サーバのファイルシステムが稼動している場合にその構成を活かしたまま提供される利便性を得るためには、負荷分散という目的のみを解決する場合でも、煩雑なインストール作業が発生してしまう。 (2) When an IP alias is set or a virtual distributed file system is installed, the file server already used by the user must be modified, so the existing client / server file system is in operation. In order to obtain the convenience provided by utilizing the configuration in some cases, even when only the purpose of load distribution is solved, complicated installation work occurs.
本発明の目的は、クライアントおよびサーバが標準のネットワークを介したファイルシステムサービスプロトコル(例えば、NFS)さえサポートしていれば、それらの既存システムに手を加えることなく、複数のサーバを統合管理してクライアントにシングルシステムイメージ(SSI;single system image)のファイルサービスを提供し、負荷分散、容量割り当て等の管理目的によるオブジェクトの再配置をユーザから隠蔽してSSIを維持するなどの利便性を実現することができるスイッチ方法及び装置を提供することである。 An object of the present invention is to manage a plurality of servers in an integrated manner without modifying the existing systems as long as the client and server support only a file system service protocol (for example, NFS) via a standard network. Provides single system image (SSI) file services to clients, and hides the relocation of objects for management purposes such as load balancing and capacity allocation from the user to maintain SSI. It is an object of the present invention to provide a switch method and apparatus that can be used.
上記課題を解決するために、本発明のスイッチ方法は、少なくとも1つのクライアントと少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置されたスイッチ装置における、前記クライアントから送信された前記オブジェクトに関する要求を、当該オブジェクトを管理する前記サーバに転送し、当該要求に対する前記サーバからの応答を前記要求の送信元であるクライアントに転送するスイッチ方法において、転送する応答に、前記オブジェクトを識別するために前記サーバで生成された元オブジェクトIDが含まれている場合には、前記元オブジェクトIDに対応するオブジェクトを管理するサーバを他のサーバから識別するためのサーバ識別情報を挿入することによって前記元オブジェクトIDを情報付帯オブジェクトIDに書き換える段階と、転送する要求に、前記情報付帯オブジェクトIDが含まれている場合には、前記情報付帯オブジェクトIDを前記元オブジェクトIDに復元する段階と、前記サーバのアドレス情報と前記サーバ識別情報との組み合わせを管理するテーブルを参照して、転送する要求の情報付帯オブジェクトIDに含まれる前記サーバ識別情報に対応するサーバのアドレス情報を求め、当該アドレス情報に基づいて当該要求の転送先を決定する段階と、を備えることを特徴とする。 In order to solve the above-mentioned problem, the switching method of the present invention is transmitted from the client in a switching device logically arranged between at least one client and at least one server managing at least one object. In the switching method of transferring a request related to the object to the server that manages the object and transferring a response from the server to the client that is a transmission source of the request, the object is included in the response to be transferred. If the original object ID generated by the server for identification is included, server identification information for identifying the server that manages the object corresponding to the original object ID from other servers is inserted. Information on the original object ID by Rewriting to the band object ID, and if the request to be transferred includes the information incidental object ID, restoring the information incidental object ID to the original object ID; the server address information; By referring to a table managing combinations with server identification information, server address information corresponding to the server identification information included in the information supplementary object ID of the request to be transferred is obtained, and the request is transferred based on the address information. Determining a destination.
また、本発明の別のスイッチ方法は、少なくとも1つのクライアントと少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置されたスイッチ装置における、前記クライアントから送信された前記オブジェクトに関する要求を、当該オブジェクトを管理する前記サーバに転送し、当該要求に対する前記サーバからの応答を前記要求の送信元であるクライアントに転送するスイッチ方法において、前記オブジェクトIDと、当該元オブジェクトIDに対応するオブジェクトを管理するサーバを他のサーバから識別するためのサーバ識別情報との組み合わせを管理する第1のテーブルを参照して、要求に含まれるオブジェクトIDに対応するサーバ識別情報を求める段階と、前記サーバのアドレス情報と前記サーバ識別情報との組み合わせを管理する第2のテーブルを参照して、当該サーバ識別情報に対応するサーバのアドレス情報を求める段階と、当該アドレス情報に基づいて当該要求の転送先を決定する段階と、を備えることを特徴とする。 Another switching method of the present invention relates to the object transmitted from the client in a switching device logically arranged between at least one client and at least one server managing at least one object. In the switching method in which a request is transferred to the server that manages the object, and a response from the server to the request is transferred to a client that is a transmission source of the request, the object ID corresponds to the original object ID. Obtaining server identification information corresponding to the object ID included in the request with reference to a first table managing a combination of server identification information for identifying the server managing the object from other servers; Server address information and the server Referring to a second table for managing a combination with identification information, obtaining a server address information corresponding to the server identification information, determining a transfer destination of the request based on the address information, It is characterized by providing.
本発明のスイッチ装置は、少なくとも1つのクライアントと、少なくとも1つのオブジェクトを管理する少なくとも1つのサーバとの間に論理的に配置され、前記クライアントから送信された前記オブジェクトに関する要求を、当該オブジェクトを管理する前記サーバに転送し、当該要求に対する前記サーバからの応答を前記要求の送信元であるクライアントに転送するスイッチ装置において、転送する応答に、前記オブジェクトを識別するために前記サーバで生成された元オブジェクトIDが含まれている場合には、前記元オブジェクトIDに対応するオブジェクトを管理するサーバを他のサーバから識別するためのサーバ識別情報を挿入することによって前記元オブジェクトIDを情報付帯オブジェクトIDに書き換え、転送する要求に、前記情報付帯オブジェクトIDが含まれている場合には、前記情報付帯オブジェクトIDを前記元オブジェクトIDに復元するオブジェクトID書き換え手段と、前記サーバのアドレス情報と前記サーバ識別情報との組み合わせを管理するテーブルと、該テーブルを参照して、転送する要求の情報付帯オブジェクトIDに含まれる前記サーバ識別情報に対応するサーバのアドレス情報を求め、当該アドレス情報に基づいて当該要求の転送先を決定する転送手段とを備えることを特徴とする。 The switch device according to the present invention is logically arranged between at least one client and at least one server that manages at least one object, and manages requests related to the object transmitted from the client. In the switch device that forwards the request to the server and forwards the response from the server to the client that is the transmission source of the request, the source generated by the server to identify the object in the forwarded response If the object ID is included, the server ID information for identifying the server that manages the object corresponding to the source object ID from other servers is inserted into the source object ID. For requests to rewrite and forward A table for managing a combination of object ID rewriting means for restoring the information incidental object ID to the original object ID and the server address information and the server identification information when the information incidental object ID is included; Transfer means for obtaining address information of the server corresponding to the server identification information included in the information incidental object ID of the request to be transferred with reference to the table and determining a transfer destination of the request based on the address information It is characterized by providing.
本発明のスイッチ装置では、オブジェクトを管理するサーバとそのオブジェクトのオブジェクトIDとを対応付けすることができるスイッチを備え、そのスイッチが、クライアントに送信するオブジェクトIDに、そのオブジェクトを管理するサーバの識別情報を付与する。このようにすれば、次にクライアントがそのオブジェクトにアクセスしようとするときにクライアントが送信する要求中のオブジェクトIDに、そのオブジェクトを管理するサーバ識別情報が含まれるようになるため、スイッチ装置は、要求に含まれるサーバ識別情報から、転送先のサーバを決定することができるようになる。したがって、本発明のスイッチ装置を適用すれば、クライアント側で、オブジェクトを管理するサーバを特定する必要がなくなるため、クライアントに対する透過性を実現することができる。 The switch device of the present invention includes a switch that can associate a server that manages an object with an object ID of the object, and the switch identifies the server that manages the object in the object ID transmitted to the client. Give information. In this way, since the server ID information for managing the object is included in the object ID in the request sent by the client when the client next tries to access the object, the switch device It becomes possible to determine the transfer destination server from the server identification information included in the request. Therefore, when the switch device of the present invention is applied, it is not necessary to specify a server that manages objects on the client side, so that transparency to the client can be realized.
また、本発明のスイッチ装置を適用しても、クライアントおよびサーバの処理を変更する必要はない。したがって、クライアントおよびサーバが標準のネットワークを介したファイルシステムサービスプロトコルさえサポートしていれば、既存システムに手を加えることなく、複数のサーバを統合管理してクライアントにSSIのファイルサービスを提供することができる。 Even if the switch device of the present invention is applied, it is not necessary to change the processing of the client and the server. Therefore, as long as the client and server support only the file system service protocol via the standard network, the SSI file service is provided to the client by integrating and managing a plurality of servers without modifying the existing system. Can do.
本発明のスイッチ装置では、前記サーバ識別情報には、オブジェクトが公開される単位である共有オブジェクト単位を識別するための共有オブジェクト単位識別情報が含まれる。このようにすれば、サーバ単位よりもさらに分解能が高い共有オブジェクト単位でのきめ細かい転送管理を実現することが可能となる。 In the switch device of the present invention, the server identification information includes shared object unit identification information for identifying a shared object unit that is a unit in which an object is disclosed. In this way, it is possible to realize fine transfer management in units of shared objects having a higher resolution than in units of servers.
また、本発明のスイッチ装置では、前記要求および前記応答を関連づけ、前記要求および前記応答を前記クライアントおよび前記サーバで区別するために付与されているトランザクションIDとクライアントのアドレス情報との組み合わせを管理する第2のテーブルと、転送する応答に含まれるトランザクションIDに対応するアドレス情報を、前記第2のテーブルを参照して求め、当該アドレス情報に基づいて当該応答の転送先を決定する第2の転送手段とをさらに備えていてもよい。 In the switching device of the present invention, the request and the response are associated with each other, and a combination of a transaction ID and a client address information assigned to distinguish the request and the response between the client and the server is managed. A second transfer for obtaining address information corresponding to a transaction ID included in a response to be transferred and a second table with reference to the second table, and determining a transfer destination of the response based on the address information And a means.
また、本発明では、前記要求および前記応答を関連づけ、前記クライアントと前記サーバの組み合わせを一意に特定するのに利用可能なOSIモデル第4層以下のタグ情報とクライアントのアドレス情報との組み合わせを管理する分類テーブルと、応答を転送すべきクライアントのアドレス情報を、前記タグ情報と前記分類テーブルを参照して求め、当該アドレス情報に基づいて当該応答の転送先を決定する第3の転送手段とをさらに設けてもよく、あるいは、前記要求および前記応答を関連づけ、前記クライアントと前記サーバの組み合わせを一意に特定するのに利用可能なサーバとの通信セッション・ポート番号とクライアントのアドレス情報との組み合わせを管理する分類テーブルと、応答を転送すべきクライアントのアドレス情報を、前記ポート番号と前記分類テーブルを参照して求め、当該アドレス情報に基づいて当該応答の転送先を決定する第3の転送手段とをさらに設けてもよい。
In the present invention, the request and the response are associated with each other, and the combination of the tag information in the
このように分類テーブルと第3の転送手段とを設けることにより、ハードウエア処理が可能なOSIモデル第4層以下のタグ情報を用いることができるようになり、より高速に処理を行うことができるようになる。
By providing the classification table and the third transfer means in this way, tag information in the
本発明では、前記オブジェクトID書き換え手段は、前記元オブジェクトIDを前記情報付帯オブジェクトに書き換える際のアルゴリズムを識別するためのアルゴリズム識別情報と前記元オブジェクトIDに復元するための復元情報との組み合わせを管理する第3のテーブルと、前記サーバ識別情報および前記アルゴリズム識別情報を前記元オブジェクトIDに挿入して前記情報付帯オブジェクトIDに書き換えるとともに、前記アルゴリズム識別情報と前記復元情報とを前記第3のテーブルに登録する応答処理手段と、前記情報付帯オブジェクトIDに含まれるアルゴリズム識別情報に対応する復元情報を前記第3のテーブルを参照して求め、当該復元情報に基づいて前記情報付帯オブジェクトIDを前記元オブジェクトIDに復元する要求処理手段とを備えていてもよく、前記復元情報は、前記元オブジェクトIDから削除されたデータと、該データの位置が含んでいてもよい。 In the present invention, the object ID rewriting means manages a combination of algorithm identification information for identifying an algorithm for rewriting the original object ID into the information-accompanying object and restoration information for restoring the original object ID. And the server identification information and the algorithm identification information are inserted into the original object ID to rewrite the information-accompanying object ID, and the algorithm identification information and the restoration information are stored in the third table. Response processing means to register, restoration information corresponding to the algorithm identification information included in the information supplementary object ID is obtained with reference to the third table, and the information supplementary object ID is determined based on the restoration information. Need to restore to ID It may comprise a processing means, the reconstruction information, and data deleted from the source object ID, may contain the location of the data.
さらに、前記応答処理手段は、前記元オブジェクトIDのデータ長が固定長である場合には、前記元オブジェクトIDの一部を削除し、削除した位置に前記アルゴリズム識別情報と前記サーバ識別情報とを挿入することによって前記情報付帯オブジェクトIDを生成し、前記元オブジェクトIDのデータ長が可変長であって、前記元オブジェクトIDと前記アルゴリズム識別情報と前記サーバ識別情報とのデータ長の和が最大データ長を越えない場合には、前記元オブジェクトIDに前記アルゴリズム識別情報と前記サーバ識別情報とを追加することによって前記情報付帯オブジェクトIDを生成し、前記元オブジェクトIDと前記アルゴリズム識別情報と前記サーバ識別情報とのデータ長の和が最大データ長を越える場合には、前記元オブジェクトIDの一部を削除し、削除した位置に前記アルゴリズム識別情報と前記サーバ識別情報とを挿入することによって前記情報付帯オブジェクトIDを生成するようにしてもよい。 Further, when the data length of the original object ID is a fixed length, the response processing means deletes a part of the original object ID, and adds the algorithm identification information and the server identification information to the deleted position. The information-attached object ID is generated by inserting, the data length of the original object ID is variable, and the sum of the data lengths of the original object ID, the algorithm identification information, and the server identification information is the maximum data If the length does not exceed the length, the information identification object ID is generated by adding the algorithm identification information and the server identification information to the original object ID, and the original object ID, the algorithm identification information, and the server identification If the sum of the data length and the information exceeds the maximum data length, the original object Remove some-object ID, may generate the information adding object ID by inserting deleted the algorithm identification information to the location and with said server identification information.
さらに、本発明のスイッチ装置は、全ての要求および応答に含まれる情報付帯オブジェクトIDにおける前記アルゴリズム識別情報および前記サーバ識別情報の挿入位置やデータ長が同一であるのが望ましい。このようにすれば、オブジェクトIDに含まれる情報を抽出および検索するのに要する時間を短縮することができる。 Furthermore, it is desirable that the switch device of the present invention has the same insertion position and data length of the algorithm identification information and the server identification information in the information incidental object ID included in all requests and responses. In this way, the time required for extracting and searching for information included in the object ID can be shortened.
また、本発明の他のスイッチ装置では、前記サーバより公開されたオブジェクトのディレクトリツリーを組み合わせ、1つの統合ディレクトリツリーとして管理する擬似ファイルシステムをさらに備え、前記統合ディレクトリツリーにおける各共有オブジェクト単位のディレクトリツリーのつなぎ目に相当するオブジェクトのオブジェクトIDと当該オブジェクトIDに関連し、複数の送信先に渡るアクセスを必要とする命令情報との組み合わせを管理する第4のテーブルと、転送する要求に含まれるオブジェクトIDと命令情報との組み合わせが、前記第4のテーブルにエントリされている場合には、当該要求を、前記各送信先に転送する要求に分割し、前記各送信先から受信した全ての応答を、前記クライアントに転送する応答に合成するファイルシステム補完手段とをさらに備える。 The switch device according to the present invention further includes a pseudo file system that combines a directory tree of objects published from the server and manages the object directory tree as a single integrated directory tree, and each shared object unit directory in the integrated directory tree. A fourth table for managing a combination of an object ID corresponding to a joint of the tree and instruction information related to the object ID and requiring access to a plurality of transmission destinations, and an object included in the request to be transferred If the combination of ID and command information is entered in the fourth table, the request is divided into requests to be transferred to the destinations, and all responses received from the destinations are Synthesize the response to forward to the client Further comprising a file system complementing means.
本発明のスイッチ装置では、擬似ファイルシステムの統合ディレクトリツリーを参照して、複数のサーバあるいは複数のファイルシステムを結合しているツリー部分のみの名前解決処理を行い、その他のツリー部分についてはサーバに処理を任せる。このようにすれば、名前解決処理の負荷を、スイッチとサーバとの間で分散することができる。なお、検索処理の効率化から、前記第4のテーブルに登録されるオブジェクトIDは、要求に含まれるオブジェクトIDと同じ前記情報付帯オブジェクトIDであるのが望ましい。 In the switching device of the present invention, referring to the integrated directory tree of the pseudo file system, name resolution processing is performed only on a plurality of servers or a tree portion connecting a plurality of file systems, and other tree portions are handled by the server. Leave processing. In this way, the load of name resolution processing can be distributed between the switch and the server. In order to improve the efficiency of search processing, it is desirable that the object ID registered in the fourth table is the same information ID object ID as the object ID included in the request.
また、本発明の他のスイッチ装置では、前記サーバが公開するオブジェクトが移動したときの、移動前における当該オブジェクトの移動元オブジェクトIDと、移動後における当該オブジェクトの移動先オブジェクトIDと、移動先のサーバの識別情報である移動先サーバ識別情報との組み合わせを管理する第5のテーブルと、所定の基準に基づいて前記オブジェクトを前記擬似ファイルシステムによって管理されている統合ディレクトリツリーを参照して移動させるとともに、当該オブジェクトの移動元オブジェクトIDと、移動先オブジェクトIDと、移動先サーバ識別情報とを前記第5のテーブルにエントリするデータ移動処理手段と、転送する要求に含まれるオブジェクトIDが前記第5のテーブルの移動元オブジェクトIDと一致する場合には、前記第5のテーブルを参照し、当該オブジェクトIDを当該移動元オブジェクトIDに対応する移動先オブジェクトIDに変更し、当該移動元オブジェクトIDに対応するサーバ識別情報に基づいて送信先のサーバを決定する移動隠蔽手段とをさらに備える。 In another switch device of the present invention, when an object disclosed by the server moves, a source object ID of the object before the movement, a destination object ID of the object after the movement, and a destination A fifth table for managing a combination of destination server identification information, which is server identification information, and the object are moved with reference to the integrated directory tree managed by the pseudo file system based on a predetermined criterion. In addition, data movement processing means for entering the movement source object ID, movement destination object ID, and movement destination server identification information of the object in the fifth table, and the object ID included in the transfer request are the fifth object ID. Matches the source object ID of the table The fifth table is referred to, the object ID is changed to the movement destination object ID corresponding to the movement source object ID, and the transmission destination is determined based on the server identification information corresponding to the movement source object ID. And moving concealment means for determining the server.
本発明のスイッチ装置では、移動元オブジェクトID、移動先オブジェクトID、移動先サーバとを対応付け可能な移動隠蔽手段を備えているので、負荷分散、容量割り当て等の管理目的によるオブジェクトの再配置をユーザから隠蔽してSSIを維持するなどの利便性を実現することができる。 The switch device according to the present invention includes a movement concealment unit that can associate the movement source object ID, the movement destination object ID, and the movement destination server, so that the objects can be rearranged for management purposes such as load distribution and capacity allocation. Convenience such as concealing from the user and maintaining SSI can be realized.
また、本発明のスイッチ装置では、前記第5のテーブルには、移動元オブジェクトIDとして、前記情報付帯オブジェクトIDがエントリされるのが処理の効率化の観点から見て望ましい。 In the switch device according to the present invention, it is desirable that the information-attached object ID is entered in the fifth table as the movement source object ID from the viewpoint of improving processing efficiency.
また、前記オブジェクトID書き換え手段は、情報付帯オブジェクトIDに、データが移動したことを示すデータ移動フラグを組み込み、転送する要求に含まれるオブジェクトIDが前記第5のテーブルの移動元オブジェクトIDと一致する場合には、前記データ移動フラグを真に設定し、前記移動隠蔽手段は、前記データ移動フラグが真である場合に限って、前記第5のテーブルを検索するのが処理の効率化の観点から見て望ましい。 Further, the object ID rewriting means incorporates a data movement flag indicating that the data has moved into the information incidental object ID, and the object ID included in the transfer request matches the movement source object ID of the fifth table. In this case, the data movement flag is set to true, and the movement concealing means searches the fifth table only when the data movement flag is true from the viewpoint of improving processing efficiency. Desirable to see.
さらに、前記第5のテーブルでは、1回のデータ移動を1世代として付与される世代番号ごとにテーブルが作成され、前記オブジェクトID書き換え手段は、転送する要求に含まれるオブジェクトIDが前記第5のテーブルの移動元オブジェクトIDと一致する場合には、前記情報付帯オブジェクトIDに前記世代番号を組み込み、前記移動隠蔽手段は、前記第5のテーブルにおける各テーブルのうち、前記世代番号が付与されたテーブルだけを検索するのが処理の効率化の観点から見て望ましい。 Further, in the fifth table, a table is created for each generation number assigned with one data movement as one generation, and the object ID rewriting means sets the object ID included in the transfer request to the fifth number. If it matches the source object ID of the table, the generation number is incorporated in the information-attached object ID, and the movement concealing means is a table to which the generation number is assigned among the tables in the fifth table. It is desirable to search only from the viewpoint of improving processing efficiency.
本発明のさらに別のスイッチ装置は、前記サーバが公開しているオブジェクト群を別のサーバへ移動する処理を行う際、移動する全てのオブジェクトの移動処理の進行状態と、クライアントから移動処理中に要求された更新情報と、移動前における当該オブジェクトの移動元オブジェクトIDと、移動後における当該オブジェクトの移動先オブジェクトIDと、移動先のサーバの識別情報である移動先サーバ識別情報との組み合わせを管理する第6のテーブルと、前記擬似ファイルシステムを参照し、所定の基準に基づいて前記オブジェクトを移動させるとともに、移動処理の進行状態と、コピー処理中の更新ログと、当該オブジェクトの移動元IDと、移動先オブジェクトIDと、移動先サーバ識別情報とを前記第6のテーブルにエントリする移動処理管理手段と、を備え、移動処理を実行している際に、クライアントからの移動対象オブジェクトへの要求を転送する方法を、前記第6のテーブルに登録されている進行状態と前記要求の内容により転送先を変更して、移動処理中であることが隠蔽されるようにする。 Still another switch device according to the present invention, when performing the process of moving the object group disclosed by the server to another server, the progress state of the movement process of all moving objects, and during the movement process from the client Manages the combination of requested update information, source object ID of the object before movement, destination object ID of the object after movement, and destination server identification information that is identification information of the destination server The sixth table is referred to, the pseudo file system is referred to, the object is moved based on a predetermined criterion, the progress of the movement process, the update log during the copy process, and the movement source ID of the object , The destination object ID and the destination server identification information are entered in the sixth table. A moving process management means, and a method of transferring a request from the client to the object to be moved when the moving process is being executed, and a progress state registered in the sixth table and the request The transfer destination is changed in accordance with the contents of, so that the movement processing is being concealed.
この構成を採用することにより、管理者によるサーバ間でのオブジェクト再配置作業時においても、ユーザへは再配置作業を隠蔽させることで、システム停止や、ファイルアクセスサービス停止を発生させずに管理作業を実行することを可能にする。 By adopting this configuration, even when an object is relocated between servers by an administrator, the relocation work is hidden from the user, so that management work can be performed without causing a system or file access service stop. Makes it possible to execute
この場合、前記移動処理中のオブジェクト群に対し、移動先へのデータのコピーが終了した前記オブジェクト群の一部オブジェクトの前記第6のテーブルの移動処理の進行状態の情報を移動終了と共に、前記疑似ファイルシステムにおけるマッピング情報を、移動元のオブジェクトから移動先のオブジェクトに変更する、マッピング情報変更手段を備えるようにしてもよい。また、前記マッピング情報変更手段により、移動先オブジェクトにマッピングが変更され、移動終了となったオブジェクトに対し、移動元オブジェクトに関連付けられたオブジェクトIDによる要求であるかを、前記第6のテーブルにより判別し、該当する移動元オブジェクトIDを移動先オブジェクトIDへ書き換えて転送する、オブジェクトID書き換え手段を備えるようにしてもよい。 In this case, with respect to the object group being moved, information on the progress status of the movement process of the sixth table of the partial object of the object group for which data copying to the movement destination has ended is performed along with the movement end, You may make it provide the mapping information change means to change the mapping information in a pseudo file system from the movement origin object to the movement destination object. In addition, the mapping information changing means determines whether the request is based on the object ID associated with the source object for the object whose mapping has been changed to the destination object and has been moved. Then, an object ID rewriting unit that rewrites and transfers the corresponding movement source object ID to the movement destination object ID may be provided.
さらに、前記移動処理中にコピーが終了したオブジェクトに対し、クライアントからデータの書き込み要求がきた場合、移動元、および移動先へ書き込み要求を転送し、同期を維持するようにしてもよく、前記移動処理中にコピー処理中のオブジェクトに対し、クライアントからのデータの書き込み要求が来た場合、書き込みデータの位置を前記第6のテーブルに更新情報として登録した後、書き込み要求を移動元に転送し、前記コピー処理終了後に、前記更新情報を参照して、移動元から更新部分のデータを読み出し、移動先のオブジェクトへ書き込みを行うようにしてもよく、前記移動処理中にコピー処理中のオブジェクトに対し、クライアントからのデータの書き込み要求が来た場合、書き込み要求に含まれる更新データおよび、書き込みデータの位置を第6のテーブルに更新情報として登録した後、書き込み要求を移動元へ転送し、前記コピー処理終了後に、前記更新情報を用いて、移動先のオブジェクトへ書き込みを行うようにしてもよい。 Furthermore, when a client receives a data write request for an object that has been copied during the move process, the write request may be transferred to the move source and the move destination to maintain synchronization. When a data write request is received from the client for the object being copied during processing, the write data position is registered in the sixth table as update information, and then the write request is transferred to the source. After the copy process is completed, the update information may be referred to, the update part data may be read from the move source, and written to the move destination object. For the object being copied during the move process, When the client receives a data write request, the update data included in the write request and the write After the copy data is registered as update information in the sixth table, the write request is transferred to the movement source, and after the copy process is completed, the update information is used to write to the movement destination object. Also good.
本発明においてオブジェクトIDとは、典型的にはNFSにおけるファイルハンドルであるが、これに限定されるものではなく、ネットワークを介在することができる任意のファイルシステムにおいて、オブジェクトを識別するものであればいずれのものも含まれる。また、ファイルシステムとしても、NFSに限定されるものではなく、他のファイルシステムにも本発明は適用可能である。 In the present invention, the object ID is typically a file handle in NFS, but is not limited to this. Any object system can be used as long as it identifies an object in any file system that can intervene in a network. Any are included. Also, the file system is not limited to NFS, and the present invention can be applied to other file systems.
以上述べたように、本発明のスイッチ装置は以下に示す効果を有する。 As described above, the switch device of the present invention has the following effects.
(1) クライアントおよびサーバが標準のネットワークを介したファイルシステムサービスプロトコル(例えばNFS)さえサポートしていれば、それらの既存システムに手を加えることなく、複数のサーバを統合管理してクライアントにSSIのファイルサービスを実現できることにある。本発明のスイッチ装置の実装にあたっては、本発明のスイッチ装置を論理的にクライアントとサーバの間に配置するのみで、IPエイリアスの設定や仮想分散ファイルシステムの導入などのクライアントおよびサーバの処理の変更が不要であるからである。 (1) As long as the client and server support only a file system service protocol (for example, NFS) via a standard network, a plurality of servers can be integratedly managed and the SSI can be managed by the client without modifying those existing systems. The file service can be realized. When implementing the switch device of the present invention, the switch device of the present invention is logically arranged between the client and the server, and the client and server processing changes such as the IP alias setting and the introduction of the virtual distributed file system. This is because is unnecessary.
(2) 管理者が負荷や容量分散の目的という本来クライアントに対して通知する必要のない操作、例えばクライアントに一度割り当てたサーバから別のサーバへオブジェクトを移動するような場合に、クライアントに対して透過的に処理を実行することができ、クライアントに提示したSSIの一貫性を維持することができる。本発明のスイッチ装置は、リモートファイルシステムにおいてディレクトリやファイルなどのオブジェクトを特定するためのオブジェクトIDとそのオブジェクトを処理するサーバを対応付けし、オブジェクトをクライアント透過に移動させた場合の新旧オブジェクトIDの変換などを行い、その結果に基づきクライアントからの要求を適切なサーバへ、またサーバからのオブジェクトIDを含む応答を適切なクライアントへ振り分けることができるからである。 (2) Operations that the administrator originally does not need to notify the client of the purpose of load or capacity distribution, for example, when moving an object from a server once assigned to the client to another server The processing can be executed transparently, and the consistency of the SSI presented to the client can be maintained. The switch device according to the present invention associates an object ID for specifying an object such as a directory or a file in a remote file system with a server that processes the object, and the old and new object IDs when the object is moved transparently to the client. This is because conversion or the like is performed, and based on the result, a request from the client can be distributed to an appropriate server, and a response including the object ID from the server can be distributed to an appropriate client.
(3) 大量のオブジェクトIDを、検索操作を介さずに処理して、パケットを適切なサーバへ転送することが可能であり、高速化、およびハードウエア実装に有利となる。クライアントに渡すオブジェクトIDを、サーバが発行した元オブジェクトIDから情報付帯オブジェクトIDへ書き換えるためである。 (3) A large amount of object IDs can be processed without going through a search operation, and the packet can be transferred to an appropriate server, which is advantageous for speeding up and hardware implementation. This is because the object ID passed to the client is rewritten from the original object ID issued by the server to the information incidental object ID.
(4) 名前解決処理による負担をサーバとスイッチ装置とで分散して、名前解決処理の時間を短縮することができる。本発明によるスイッチ装置は、擬似ファイルシステムを備え、その擬似ファイルシステムがマウントポイントのみを管理し、そのマウントポイント配下の名前解決は矛盾なく各サーバへ委譲できるからである。 (4) The burden of name resolution processing can be distributed between the server and the switch device, and the time for name resolution processing can be shortened. This is because the switch device according to the present invention includes a pseudo file system, the pseudo file system manages only the mount point, and name resolution under the mount point can be delegated to each server without contradiction.
(5) 統合ディレクトリツリーにおける各共有オブジェクト単位のディレクトリツリーのつなぎ目を含むオブジェクトの移動要求があった場合に、つなぎ目以下のオブジェクトの実際の移動を行わず、そのつなぎ目以下のオブジェクトを所望の位置へと移動したと同等にクライアントに見せるようにテーブルを書き換えるので、非常に高速に移動を完了することができる。 (5) When there is a request to move an object including a joint of the directory tree of each shared object in the integrated directory tree, the object below the joint is not actually moved, and the object below the joint is moved to a desired position. Since the table is rewritten so that it appears to the client as if it were moved, the movement can be completed very quickly.
(6) OSI参照モデルの第4層以下のタグ情報を使用できるようにした場合には、これらのタグ情報を用いてハードウエアによるオブジェクトID書き換えが可能となるので、さらに処理を高速に行うことができる。 (6) When tag information in the fourth layer or lower of the OSI reference model can be used, it is possible to rewrite the object ID by hardware using these tag information, so that the processing is performed at higher speed. Can do.
(7) さらに、管理者によるサーバ間でのオブジェクト再配置作業時においても、ユーザへは再配置作業を隠蔽させることで、システム停止や、ファイルアクセスサービス停止を発生させずに管理作業を実行することを可能にする。 (7) Furthermore, even when an object is rearranged between servers by the administrator, the management work is executed without causing a system stop or a file access service stop by concealing the rearrangement work to the user. Make it possible.
次に、本発明の好ましい実施の形態のスイッチ装置について図面を参照して詳細に説明する。 Next, a switch device according to a preferred embodiment of the present invention will be described in detail with reference to the drawings.
(第1の実施形態)まず、本発明の第1の実施形態のスイッチ装置について説明する。 (First Embodiment) First, a switch device according to a first embodiment of the present invention will be described.
図1は、本発明の第1の実施形態のスイッチ装置が設けられたクライアント・サーバ形式のリモートファイルシステムであるネットワークファイルシステムのブロック図である。図1に示すように、このネットワークファイルシステムでは、少なくとも1つのクライアント1と、少なくとも1つのサーバ3と、本実施形態のスイッチ装置の一例であるスイッチ100とが、LANあるいはインターネット等であるネットワーク2に接続されている。各サーバ3は、ファイルアクセスサービスによってアクセスされるファイル等のデータを管理する少なくとも1つのファイルシステム4と、前述のデータを格納する記憶装置5とをそれぞれ備えており、各クライアント1にファイルアクセスサービスを提供するファイルサーバである。
FIG. 1 is a block diagram of a network file system which is a client / server type remote file system provided with the switch device according to the first embodiment of the present invention. As shown in FIG. 1, in this network file system, a
図1では、クライアント1とサーバ3とスイッチ100とが、同一のネットワーク2に接続されているが、論理的には、スイッチ100は各クライアント1と各サーバ3との間に配置されている。このようなリモートファイルシステムにおいては、全てのファイルアクセス操作は、クライアント1から送信されるファイルアクセス要求(例えば、いわゆるUnix(登録商標)系のシステムであればNFSプロトコルによる要求)と、そのファイルアクセス要求に対してサーバ3から返信される応答とで成り立っており、サーバ3から何らかの要求が出力されることはないものとする。
In FIG. 1, the
クライアント1から送信されるファイルアクセス要求には、アクセス対象となるディレクトリやファイルなどのオブジェクトを識別するためのオブジェクトIDが含まれている。クライアント1は、ディレクトリやファイルなどのオブジェクトを識別するためのオブジェクトIDをファイルアクセス要求の中に指定することによって、サーバ3によって管理されるオブジェクトへアクセスする。オブジェクトIDはサーバ3によって生成されるものであり、クライアント1は最初にアクセス可能なオブジェクトの一覧を有している。クライアント1は、まず、その一覧から、オブジェクトまでのアクセスパスを指定した要求データを送信し、最初にアクセス可能なオブジェクトのオブジェクトIDをサーバ3の応答データから取得する。また、オブジェクトIDをすでに取得しているオブジェクトの下位に配置されたオブジェクトについては、クライアント1は、すでに取得しているオブジェクトIDと、ファイルアクセスを行うオブジェクトの名前を指定した要求データを送信し、その応答データからオブジェクトIDを取得する。つまり、クライアント1は、サーバ3からの応答データを受信して、その応答データに含まれるオブジェクトIDを取得しない限り、そのオブジェクトIDに対応するオブジェクトを操作することができない。
The file access request transmitted from the
このネットワークファイルシステムでは、サーバ3の存在は、スイッチ100によってクライアント1から隠蔽されており、クライアント1からのファイルアクセス要求はスイッチ100に送信される。スイッチ100は、クライアント1から送信されたファイルアクセス要求を受信し、そのファイルアクセス要求を適切なサーバ3に振り分けて転送(ルーティング)し、サーバ3から送信された前述のファイルアクセス要求に対する応答を受信し、ファイルアクセス要求を送信したクライアント1へとその応答を転送(ルーティング)するように動作する。
In this network file system, the existence of the
スイッチ100は、クライアント1からファイルアクセス要求を受信したときには、そのファイルアクセス要求に含まれるオブジェクトIDを解析し、その解析結果に基づいて複数のサーバ3の中から、そのファイルアクセス要求を転送すべきサーバ3を決定し、そのファイルアクセス要求をそのサーバ3に転送する。しかし、サーバ3で生成されるオブジェクトIDは、一般的に、生成したサーバ3のみが解釈可能なデータ列によって構成されているため、スイッチ100およびクライアント1では、そのデータを解釈することができない。また、異なるサーバ3でまったく同一のデータ列を有するオブジェクトIDを生成する可能性もある。そのため、このままでは、スイッチ100がファイルアクセス要求の適切なルーティングを実行することができない。また、前述のように、クライアント1は、サーバ3からの応答データを受信して、その応答データに含まれるオブジェクトIDを取得しない限り、そのオブジェクトIDに対応するオブジェクトを操作することができない。
When the
そこで、本実施形態のスイッチ装置であるスイッチ100では、サーバ3から送信される応答データ中に含まれるオブジェクトIDに送信元のサーバ3を他のサーバ3から識別するためのサーバ識別情報を挿入し、サーバ識別情報が挿入されたオブジェクトIDを含む応答データによってパケットを再構成し、そのパケットをクライアント1に転送する。このようにすれば、クライアント1は、サーバ識別情報が挿入されたオブジェクトIDを含むファイルアクセス要求をスイッチ100に送信するようになり、スイッチ100では、そのオブジェクトIDに挿入されたサーバ識別情報を参照してそのファイルアクセス要求を転送すべきサーバを特定することができる。なお、スイッチ100は、ファイルアクセス要求をサーバ3に転送する際には、サーバ識別情報を挿入したオブジェクトIDを、サーバ3が生成した元のオブジェクトIDに変換する必要がある。このようにスイッチ100を備えることによって、ネットワークファイルシステムにおける複数のサーバによる分散処理が可能となる。
Therefore, in the
図2は、スイッチ100の構成を示すブロック図である。図2に示すように、スイッチ100は、オブジェクトID書き換え部101と、ファイルアクセス管理102と、パケット処理部103とを備えている。パケット処理部103は、ネットワーク2を介してクライアント1およびサーバ3から受信したパケットを解析して、パケットに含まれるデータをファイルアクセス管理部120に出力し、ファイルアクセス管理部120から出力されたデータをパケット化して、ネットワーク2を介してクライアント1およびサーバ3に送信する。ファイルアクセス管理部102は、パケット処理部103から出力されたデータを入力して解析し、パケット処理部103が受信したパケットの転送先を決定する。オブジェクトID書き換え部101は、ファイルアクセス管理部102が決定するパケットの転送先に応じて、前述のデータに含まれるオブジェクトIDの書き換えを行う。
FIG. 2 is a block diagram showing the configuration of the
図3は、ファイルアクセス管理部102の構成を示すブロック図である。図3に示すように、ファイルアクセス管理部102は、転送手段(第2の転送手段を含む)の一例であるデータ解析部124と、第2のテーブルの一例であるトランザクションID管理テーブル125と、サーバ情報管理テーブル126とを備えている。データ解析部124は、要求データおよび応答データを解析して、受信したパケットの適切な送信先を決定する。トランザクションID管理テーブル125には、各要求および応答データを関連づけ、個々の要求および応答データをクライアント1およびサーバ3で区別するために付与されているトランザクションIDが登録されている。サーバ管理テーブル126には、サーバ識別情報と、サーバ3のIPアドレスやMACアドレス等のサーバのアドレス情報との組み合わせがエントリされる。
FIG. 3 is a block diagram illustrating a configuration of the file
図4は、オブジェクトID書き換え部101の構成を示すブロック図である。図4に示すように、オブジェクトID書き換え部101は、要求応答分配部120と、要求処理部121と、応答処理部122と、第3のテーブルの一例であるアルゴリズムテーブル123とを備えている。要求応答分配部120は、ファイルアクセス管理部102から送信されたデータが要求データである場合には、そのデータを要求処理部121に分配し、応答データである場合には、そのデータを応答処理部122に分配する。アルゴリズムテーブル123には、データの書き換え方が登録されている。要求処理部121および応答処理部123は、アルゴリズムテーブル123に登録された書き換え方に基づいて、オブジェクトIDの書き換えを行い、書き換えたオブジェクトIDを要求応答分配部120に送信する。要求応答分配部120は、書き換えられたオブジェクトIDをファイルアクセス管理部102に返信する。
FIG. 4 is a block diagram illustrating a configuration of the object
<オブジェクトIDフォーマット>図5は、オブジェクト書き換え部101において書き換えられるオブジェクトIDのフォーマットの一例を示す図である。図5(a)は、サーバ3によって生成されるオブジェクトID、すなわち元オブジェクトID150である。元オブジェクトID150は、例えば、NFS等のネットワークファイルアクセスプロトコルの種類やバージョンによってデータ長の定義が異なる。つまり、元オブジェクトID150は、一般的に、データ長が固定であるものと、最大データ長のみが決まっており、最大データ長の範囲内でデータ長が可変であるものの2種類に分類される。図5(b)は、データ長が固定であるオブジェクトIDであって、オブジェクト書き換え部101によってサーバ識別情報154およびアルゴリズム識別情報153が挿入された情報付帯オブジェクトIDのフォーマットが示されている。図5(b)に示すように、このオブジェクトIDはデータ長が固定であるので、サーバ識別情報154およびアルゴリズム識別情報153が挿入されても、全体のデータ長は固定(元オブジェクトID150と同じ長さ)となっていなければならない。したがって、オブジェクトID書き換え部101は、図5(b)に示す情報付帯オブジェクトIDを生成する際には、図5(a)に示す元オブジェクトID150の一部を削除して圧縮データ152とし、サーバ識別情報154およびアルゴリズム識別情報153を先頭に付与する。なお、アルゴリズム識別情報153とは、元オブジェクトID150の一部を削除する際にオブジェクトID書き換え部101によって用いられる削除アルゴリズムを識別するための情報である。このように書き換えられた情報付帯オブジェクトIDを、圧縮型情報付帯オブジェクトID151と呼ぶ。
<Object ID Format> FIG. 5 is a diagram showing an example of the format of an object ID rewritten by the
図5(c)は、データ長が可変長であるオブジェクトIDであって、サーバ識別情報およびアルゴリズム識別情報が挿入された情報付帯オブジェクトIDが示されている。図5(c)では、元オブジェクトID150のデータは削除されずに、サーバ識別情報154およびアルゴリズム識別情報153がそのまま追加されている。このような情報付帯オブジェクトIDを追記型情報付帯オブジェクトID155と呼ぶ。なお、データ長が可変長であっても、最大のデータ長を越える場合には、オブジェクトID書き換え部101では、追記型情報付帯オブジェクトID155でなく、圧縮型情報付帯オブジェクトID152が生成される。
FIG. 5C shows an object ID having a variable data length, and an information incidental object ID into which server identification information and algorithm identification information are inserted. In FIG. 5C, the data of the
また、図5(b)に示すサーバ識別情報154およびアルゴリズム識別情報153とは、図5(c)に示すサーバ識別情報154およびアルゴリズム識別情報153と、それぞれデータ長が同じであるのが望ましく、サーバ識別情報154とアルゴリズム識別情報153とは、それぞれ同じデータ位置に設定されるのが望ましい。オブジェクトIDの大きさは、一般的にNFSバージョン2プロトコルでは、32バイト程度であり、サイズが大きい。また、NFSバージョン3では、そのサイズを変えることもある。そのため、その中からデータ長や位置がまちまちである情報を抽出および検索するのには時間を要する。したがって、情報付帯オブジェクトIDに含まれる各識別情報の抽出や検索するには、それらのデータを同じデータ長、同じ位置とするのが望ましい。
Further, it is desirable that the
図6は、アルゴリズムテーブル123の構成を示す図である。アルゴリズムテーブル123は、アルゴリズム識別情報153と、復元情報の一例である削除データ156と、同じく復元情報の一例である削除位置157との組によって構成されたエントリを有するテーブルである。このテーブルを参照すれば、要求処理部121は、削除データ156と、削除データ位置157とにより、圧縮データ152を元オブジェクト150へ戻すことが可能になる。なお、アルゴリズムテーブル123の削除データ156と、削除データ位置157の情報のないエントリは、圧縮データ152を生成せず、元オブジェクト150にそのままサーバ識別情報154およびアルゴリズム識別情報153を追加した追記型情報付帯オブジェクトIDのエントリである。
FIG. 6 is a diagram showing the configuration of the algorithm table 123. The algorithm table 123 is a table having entries configured by pairs of
なお、サーバ3において元オブジェクトID150が一定の生成規則で生成されている場合には、元オブジェクトID150は、データ列に周期性のある(各元オブジェクトID150中に同一のビット列が同一の場所に発生する)IDとなる。このような場合には、削除データ156と、削除データ位置157とが等しくし、同じアルゴリズム識別情報153を用いることによって、アルゴリズムテーブル123のエントリ数を削減することも可能である。
When the
<要求パケット受信の際の動作>次に、スイッチ100における、クライアント1から送られる要求パケットを受信した後、複数のサーバ3の中から適切なサーバを選択し、そのサーバにパケットを送信する場合の動作の手順について説明する。
<Operation when receiving a request packet> Next, after receiving a request packet sent from the
パケット処理部103は、クライアント1から送信された要求パケットを受信すると、そのパケットからファイルアクセス要求データ、クライアント1のクライアントIPアドレス情報160およびクライアントMACアドレス情報161を抽出し、それらのデータをファイルアクセス管理部102に送信する。
When receiving the request packet transmitted from the
ファイルアクセス管理部102のデータ解析部124は、それらのデータを受信すると、ファイルアクセス要求データを解析して、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155を抽出する。
When receiving the data, the
そして、データ解析部124は、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155に含まれるサーバ識別情報154を抽出して、図7に示すサーバ情報管理テーブル126を参照し、サーバ識別情報154に対応するサーバ3のサーバIPアドレス情報158とサーバMACアドレス情報159とを読み出す。
Then, the
ファイルアクセス要求データには、各要求データを区別するためのトランザクションID160が含まれている。データ解析部124は、トランザクションID160と、パケット管理部103より受信したクライアント1のクライアントIPアドレス情報161およびクライアントMACアドレス情報162と、ファイルアクセス要求データに含まれる、リードやライトなどのファイルアクセス命令情報163と、サーバ識別情報154とを、図8に示すトランザクションID管理テーブル125に登録する。
The file access request data includes a
その後、データ解析部124は、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155を、情報付帯オブジェクトID書き換え命令とともに、オブジェクトID書き換え部101に送信する。これらのオブジェクトIDは、オブジェクトID書き換え部101において元オブジェクトID150に変換された後、再びファイルアクセス管理部102に送信される。
Thereafter, the
ファイルアクセス管理部102は、元オブジェクトID150をファイルアクセス要求に組み込む。ファイルアクセス管理部102において、再構成されたファイルアクセス要求データと、サーバ情報管理テーブル126を検索することにより特定された、サーバ3のサーバIPアドレス情報158、およびサーバMACアドレス情報159とは、パケット処理部103に送信される。パケット処理部103は、それらを要求パケットとして再構成し、そのパケットをサーバ3に送信する。
The file
<要求データの受信の際のオブジェクトID書き換え部の動作>次に、クライアント1からの要求データに含まれる、圧縮型情報付帯オブジェクトIDもしくは追記型情報付帯オブジェクトID155を、元オブジェクトID150に復元する際の、オブジェクトID書き換え部101における動作の手順について説明する。
<Operation of Object ID Rewriting Unit upon Receiving Request Data> Next, when restoring the compression-type information incidental object ID 155 or the write-once information additional object ID 155 included in the request data from the
要求データの解析後に、ファイルアクセス処理部102から送信された、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155と、情報付帯オブジェクト書き換え命令とを受信すると、要求応答分配部120は、情報付帯オブジェクトID書き換え命令に基づいて、受信した圧縮型情報付帯オブジェクトID151、もしくは追記型情報付帯オブジェクトID155を要求処理部121に送信する。
Upon analysis of the request data, upon receiving the compressed information accompanying
要求処理部121は、アルゴリズムテーブル123を参照して、受信した情報付帯オブジェクトIDに含まれるアルゴリズム識別情報153に対応するエントリの削除データ156および削除データ位置157を特定し、それらに基づいて元オブジェクトID150を生成し、要求応答分配部120を介して、ファイルアクセス管理部102に生成した元オブジェクトID150を送信する。
The
<応答パケット受信の際の動作>次に、サーバ3から送られる応答パケットを、複数のクライアント1の中から適切なクライアントを選択して転送する際のスイッチ100における動作の手順について説明する。パケット処理部103は、受信したサーバ3からの応答パケットから、応答データ、サーバ3のサーバIPアドレス情報158もしくはサーバMACアドレス情報159等のサーバアドレス情報を抽出し、ファイルアクセス管理部102に送信する。
<Operation in Response Packet Reception> Next, the operation procedure in the
ファイルアクセス管理部102のデータ解析部124は、サーバ管理テーブル126を参照し、サーバIPアドレス情報158もしくはサーバMACアドレス情報159と等しい値を持つエントリを検索し、そのエントリのサーバ識別情報154を得る。さらに、データ解析部124は、応答データを解析することにより、応答データに含まれるトランザクションID160を抽出し、トランザクションID管理テーブル125を参照して、サーバ識別情報154とトランザクションID160がともに一致するエントリを検索し、受信した応答データに対応するファイルアクセス要求を送信したクライアント1のクライアントIPアドレス情報161と、クライアントMACアドレス情報162と、ファイルアクセス命令情報163とを得る。
The
サーバ3からの応答パケットには、オブジェクトIDが含まれていない場合もある。特定のファイルアクセスサービスのプロトコルやバージョンでは、ファイルアクセス命令情報が応答データに明示されていない場合があるため、データ解析部124は、ファイルアクセス命令情報163を用いて、どの種類の命令に対する応答データかを特定することにより、応答データ中に元オブジェクトIDが含まれているかどうかを判断することができる。
The response packet from the
応答データに元オブジェクトID150が含まれている場合は、データ解析部124は、元オブジェクトID150とともに、データ長の定義方法と、サーバ識別情報と、元オブジェクト書き換え命令とをオブジェクトID書き換え部101に送信する。オブジェクトID書き換え部101は、受信した元オブジェクトIDを、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155に書き換え、データ解析部124は、応答データを再構成する。データ解析部124は、応答データに元オブジェクトIDが含まれていない場合には、応答データに変更を加えない。その後、データ解析部124は、クライアントIPアドレス情報161と、クライアントMACアドレス情報162と、応答データをパケット処理部103に送信する。パケット処理部103は、応答パケットを生成し、応答パケットをクライアント1に送信する。
When the response object includes the
<応答データ受信の際のオブジェクト書き換え部の動作>図9は、応答データを受信した際のオブジェクト書き換え部101の動作を示すフローチャートである。図9に示すように、要求応答分配部120は、応答データに含まれる、元オブジェクトID150とともに、データ長の定義方法と、サーバ識別情報と、元オブジェクト書き換え命令をファイルアクセス管理部120から受信すると、元オブジェクト書き換え命令によって、応答処理部122へ受信したデータをすべて分配する(S100)。
<Operation of Object Rewriting Unit upon Response Data Reception> FIG. 9 is a flowchart showing the operation of the
応答処理部122は、受信したデータの定義方法を判別し、元オブジェクトIDのデータ長が固定長であるか否かチェックする(S101)。ステップS101において、固定長である場合には、応答処理部122は、元オブジェクトIDのデータ列の一部を削除して圧縮データを生成し(S102)、削除データ156と、削除データ位置157と、削除アルゴリズムを区別するために付けられたアルゴリズム識別情報153を、アルゴリズムテーブル123に登録する(S103)。
The
アルゴリズムテーブル123への登録終了後、応答処理部122は、サーバ識別情報154と、アルゴリズム識別情報153と、圧縮データ152を組み合わせて、圧縮型情報付帯オブジェクトID151を生成し(S104)、その圧縮型情報付帯オブジェクトID151を、要求応答分配部120を経由して、ファイルアクセス管理部102へ送信する(S105)。
After completing the registration in the algorithm table 123, the
ステップS101において、元オブジェクトID150のデータ長が固定長でない場合には、応答処理部122は、サーバ識別情報154と、アルゴリズム識別情報153と、元オブジェクトID150の3つのデータ長の和を計算し、計算値と定義されている最大データ長を比較する(S106)。
In step S101, if the data length of the
ステップS106において、最大データ長よりも3つのデータ長の和が長い場合には、応答処理部122は、データ長が固定長である場合と同様の手順で処理を行い(S102〜S105)、3つのデータ長の和が最大データ長よりも短い場合は、削除データ156および削除データ位置157の情報が登録されないエントリとしてのアルゴリズム識別情報153を生成し、アルゴリズムテーブル123へ登録する(S107)。
In step S106, when the sum of the three data lengths is longer than the maximum data length, the
応答処理部122は、アルゴリズムテーブル123への登録終了後、サーバ識別情報154と、アルゴリズム識別情報153と、元オブジェクトID150を組み合わせて、追記型情報付帯オブジェクトID155を生成し(S108)、要求応答分配部120を経由して、追記型情報付帯オブジェクトID155をファイルアクセス管理部102に送信する(S105)。
After completing the registration in the algorithm table 123, the
なお、本実施形態のスイッチ装置では、サーバ3で公開(エキスポート)する複数のオブジェクトの公開単位、すなわち共有オブジェクト単位で分割されている場合には、そのオブジェクトがその共有オブジェクト単位に含まれるかを識別するための共有オブジェクト単位IDの項目をサーバ情報管理テーブル126のエントリとして追加してもよい。このようにすれば、スイッチ100がオブジェクトを格納するサーバ3だけでなく、オブジェクトが含まれる共有オブジェクト単位も把握することができるようになるため、スイッチ100においてサーバ単位よりもさらに分解能が高い共有オブジェクト単位でのきめ細かい転送管理を実現することが可能となる。
In the switch device according to the present embodiment, when a plurality of objects to be disclosed (exported) by the
(第2の実施形態)次に、本発明の第2の実施形態のスイッチ装置について説明する。本実施形態のスイッチ装置は、第1の実施形態のスイッチ装置と同様に、図1に示すネットワークファイルシステムに用いられる装置である。 (Second Embodiment) Next, a switch device according to a second embodiment of the present invention will be described. The switch device of this embodiment is a device used for the network file system shown in FIG. 1, similarly to the switch device of the first embodiment.
図10は、本実施形態のスイッチ装置の構成を示すブロック図である。図10に示すように、本実施形態のスイッチ100は、第1の実施形態のスイッチ装置において備えられているオブジェクトID書き換え部101と、ファイルアクセス管理部102と、パケット処理部103とに加え、擬似ファイルシステム105を備えている。擬似ファイルシステム105は、複数のサーバ3のファイルシステム4で構成されている複数のディレクトリツリーを組み合わせ、1つの統合ディレクトリツリーとして管理するためのシステムである。ファイルシステム補完処理部104は、クライアント1からのファイルアクセス要求が、複数サーバ3もしくは複数のファイルシステム4等の複数の送信先に渡ってファイルアクセスを必要とする場合の補完処理を行う。
FIG. 10 is a block diagram showing the configuration of the switch device of the present embodiment. As shown in FIG. 10, in addition to the object
図11は、本実施形態のスイッチ装置におけるファイルアクセス管理部102の構成を示すブロック図である。図11に示すように、本実施形態のスイッチ装置におけるファイルアクセス管理部102は、第1の実施形態のスイッチ装置において備えられているデータ解析部124と、トランザクションID管理テーブル125と、サーバ情報管理テーブル126とに加え、第4のテーブルの一例である特殊オブジェクトID管理テーブル127を備えている。特殊オブジェクトID管理テーブル127は、複数のサーバ3もしくは複数のファイルシステム4等の複数の送信先に、ファイルアクセスが必要となるような、クライアント1からのファイルアクセス要求を判断するためのテーブルである。さらに、本実施形態のスイッチ装置におけるデータ解析部124は、オブジェクトID書き換え部101やパケット処理部103とのデータ入出力だけでなく、ファイルシステム補完処理部104とのデータの入出力が可能となっている。
FIG. 11 is a block diagram showing the configuration of the file
次に、本実施形態のスイッチ装置であるスイッチ100の動作について説明する。本実施形態のスイッチ装置は、第1の実施形態のスイッチ装置における要求パケットおよび応答パケットを、クライアント1もしくはサーバ3へ適切に振り分ける機能に加え、複数のサーバ3のファイルシステム4上に形成されている複数のディレクトリツリーを擬似ファイルシステム105のディレクトリツリーに統合することによって、複数のサーバ3における個々のファイルシステム4の存在をクライアント1に意識させることなく、スイッチ100の擬似ファイルシステム105のみにアクセスしているかのように振舞わせる機能を有している。
Next, the operation of the
擬似ファイルシステム105は、サーバ3によりネットワーク2を介してアクセス可能なものとして公開されているファイルシステム4上の複数のディレクトリツリーにおけるツリー構造を、擬似ファイルシステム105上で自由に組み合わせて、1つのディレクトリツリーにマッピングする。
The
スイッチ100は、クライアント1から受信したファイルアクセス要求パケットを、単に特定のサーバ3へ振り分けるだけでなく、複数のサーバ3もしくは異なるファイルシステム4にまたがるようなファイルアクセス要求を受け取った場合に、1つのファイルアクセス要求を、複数のファイルアクセス要求に分割して複数のサーバ3もしくはファイルシステム4へ送信し、複数のサーバ3もしくはファイルシステム4から送信された全ての応答データをスイッチ100で1つの応答データに再構成してクライアント1に返信する。
The
図12は、擬似ファイルシステム105のディレクトリツリー200の一例を示す図である。図12に示すように、擬似ファイルシステム105は、サーバA(250)で公開されているディレクトリb(221)、およびサーバB(251)で公開されているディレクトリc(221)からのディレクトリツリーのツリー構造を、擬似ファイルシステム105上に形成されたルートディレクトリ220のサブディレクトリからのディレクトリツリーとしてマッピングする。さらに、擬似ファイルシステム105は、サーバB(251)で公開されているディレクトリe(224)からのディレクトリツリーのツリー構造を、ディレクトリb(221)からのディレクトリツリーの下層に存在するディレクトリf(223)のサブディレクトリからのディレクトリツリーとして登録することによって、擬似ファイルシステムディレクトリツリー200を生成する。
FIG. 12 is a diagram illustrating an example of the
なお、本実施形態のスイッチ装置では、擬似ファイルシステムディレクトリツリー200上におけるディレクトリ名は、サーバ3のファイルシステム4で設定されたディレクトリ名と必ずしも同一にする必要はなく、別のディレクトリ名を設定して、クライアント1に公開してもよい。
In the switch device according to the present embodiment, the directory name on the pseudo file
擬似ファイルシステム105は、擬似ファイルシステム105のディレクトリツリー200のツリー構造のみを管理しており、オブジェクトのデータ、属性情報、各ファイルシステム4の接合部以外のツリー構造等は、すべてサーバ3が管理を行っている。したがって、スイッチ100では、複数のファイルシステム4を結合しているツリー部分のみの名前解決処理を行い、その他のツリー部分については、サーバ3に処理を任せている。このようにすれば、名前解決処理の負荷を、スイッチ100とサーバ3との間で分散することができる。
The
スイッチ100は、例えば、クライアント1から、ディレクトリe(224)に対応するオブジェクトIDや属性情報を取得する命令となる、ディレクトリf(223)に対応するオブジェクトIDを用いたファイルアクセス要求パケットを受信した場合には、その命令に対して正しく応答できるように新しい要求パケットを生成し、ディレクトリf(223)のデータを格納しているサーバA(250)と、ディレクトリe(224)のデータを格納しているサーバB(251)へ要求パケットをそれぞれ送信する。そして、その結果サーバA(250)、サーバB(251)から返信されてくる2つの応答パケットを再構成する処理を行うための管理情報として、擬似ファイルシステム105が用いられる。
For example, the
スイッチ100は、クライアント1からのファイルアクセス要求により、複数のサーバ3もしくはファイルシステム4へそれぞれ要求データを送るような補完処理を行わなければ正しい応答を返すことができない場合以外は、第1の実施形態のスイッチと同様の手順で処理を行うが、どちらの処理を行うかは、ファイルアクセス管理部102の特殊オブジェクトID管理テーブル127を用いて判断する。
The
特殊オブジェクトID管理テーブル127は、図13に示すように、ディレクトリb(221)や、ディレクトリe(224)などの、ディレクトリツリー200の異なるサーバ3上に存在するツリーのつなぎ目にあたるすべてのディレクトリのオブジェクトID164と、補完処理を行わなければならないすべてのファイルアクセス命令情報165からなるエントリによって構成されている。特殊オブジェクトID管理テーブル127には、擬似ファイルシステム105のディレクトリツリー200が生成された時点で、対応するすべてのディレクトリが登録されている。なお、特殊オブジェクトID管理テーブル127に登録するオブジェクトID164は、クライアント1から送信される要求データに含まれる情報付帯オブジェクトIDと照合するため、情報付帯オブジェクトID、すなわち圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155である。このようにすれば、照合時間を短縮することができる。
As shown in FIG. 13, the special object ID management table 127 includes objects of all directories corresponding to joints of trees existing on
次に、クライアント1からの要求パケットやサーバ3からの応答パケットを受信した場合のスイッチ100における動作の手順について詳細に説明する。図14は、本実施形態のスイッチ装置の動作を示すフローチャートである。
Next, an operation procedure in the
図14に示すように、クライアント1からのファイルアクセス要求パケットを受信すると、パケット処理部103は、ファイルアクセス要求データと、クライアント1のクライアントIPアドレス情報160およびクライアントMACアドレス情報161をパケットより抽出し、ファイルアクセス管理部102に送信する(S110)。
As shown in FIG. 14, when the file access request packet from the
ファイルアクセス管理部102のデータ解析部124は、受信した要求データに含まれるリードやライトといった命令情報と、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155を抽出し、特殊オブジェクトID管理テーブル127に登録されたオブジェクトID164と命令情報165とのエントリにそれらが該当するものがあるか否か確認する(S111)。
The
要求データから抽出した命令情報と、情報付帯オブジェクトID151もしくは155との2つのデータのうち、特殊オブジェクトID管理テーブル127のエントリに、どちらか1つでも該当しない場合、以降のスイッチ100における要求パケットに関する処理、および前記要求パケットに対応する応答パケットに関する処理は、第1の実施の形態のスイッチ装置における手順で処理が実行される(S112)。
If any one of the two pieces of data of the instruction information extracted from the request data and the information
要求データから取り出した命令情報と、オブジェクトID151もしくは155の2つのデータのうち、特殊オブジェクトID管理テーブル127のエントリにどちらも該当する場合、データ解析部124は、トランザクションID管理テーブル125に必要となるデータをすべて登録した後、受信した要求データをすべてファイルシステム補完処理部104へ送信する(S113)。
The
ファイルシステム補完処理部104は、擬似ファイルシステム105を参照して受信した要求データの解析を行った後、複数のサーバ3もしくはファイルシステム4へ送信する複数の要求データを生成し、パケット管理部103を介して、すべての要求パケットを、関連する複数あるいは1つのサーバ3へ送信する(S114)。なお、本ステップにおいて、1つのサーバ3へ全ての要求パケットの送信するのは、サーバ3が複数のファイルシステム4を備えており、擬似ファイルシステム105上のディレクトリツリー200構成のマッピングが、それぞれのファイルシステム4を接合することで構成されている場合に限られる。
The file system
スイッチ100のパケット処理部103は、サーバ3に送信した要求パケットに対する応答パケットを受信すると、その応答パケットから、応答データやサーバ3のアドレス情報158、159を抽出し、それらをファイルシステム補完処理部104に送信する(S115)。
When the
ファイルシステム補完処理部104は、応答データに元オブジェクトID150が含まれている場合には、オブジェクトIDの書き換え命令と、元オブジェクトID150と、サーバ3のアドレス情報158、159とをファイルアクセス管理部102へ送信する。
When the response data includes the
ファイルアクセス管理部102は、受信したすべての応答データに含まれる元オブジェクトID150をオブジェクトID書き換え部101に送信し、第1の実施形態と同様に、圧縮型情報付帯オブジェクトID151あるいは追記型情報付帯オブジェクトID155に書き換えさせ、その情報付帯オブジェクトIDと、受信したすべての応答データを用いて、クライアント1からの要求データに対する応答データを生成する(S116)。
The file
ファイルアクセス管理部102は、トランザクションID管理テーブル125に登録されているデータと一致するエントリを検索し、クライアント1のアドレス情報を得た後、応答データとクライアント1のアドレス情報をパケット処理部103に送信する(S117)。パケット処理部103は、受信した応答データとクライアント1のアドレス情報とに基づいて応答パケットを生成し、その応答パケットをクライアント1に送信する。
The file
(第3の実施形態)次に、本発明の第3の実施形態のスイッチ装置について説明する。本実施形態のスイッチ装置は、第1の実施形態および第2の実施形態と同様に、図1に示すネットワークファイルシステムに適用される。 (Third Embodiment) Next, a switch device according to a third embodiment of the present invention will be described. The switch device of this embodiment is applied to the network file system shown in FIG. 1 as in the first embodiment and the second embodiment.
図15は、本実施形態のスイッチ装置の構成を示すブロック図である。図15に示すように、本実施形態のスイッチ100は、第1、第2の実施形態のスイッチ装置に備えられているオブジェクトID書き換え部101と、ファイルアクセス管理部102と、パケット処理部103と、第2の実施形態に備えられているファイルシステム補完処理部104と、擬似ファイルシステム105とに加え、、データ移動処理部106を備えている。データ移動処理部106は、各サーバ3のファイルアクセス処理の負荷や、記憶装置5の残り容量に基づいて、擬似ファイルシステム105上の統合ディレクトリツリーのディレクトリ構造を変更することなく、複数サーバ3間でデータの移動を行う。
FIG. 15 is a block diagram showing the configuration of the switch device of this embodiment. As illustrated in FIG. 15, the
図16は、本実施形態のスイッチ装置におけるファイルアクセス管理部102の構成を示すブロック図である。図16に示すように、ファイルアクセス管理部102は、第1、第2の実施形態のスイッチ装置において備えられているトランザクションID管理テーブル125およびサーバ情報管理テーブル126と、第2の実施形態において備えられている特殊オブジェクトID管理テーブル127に加え、第5のテーブルの一例である移動オブジェクトID管理テーブル128を備えている。移動オブジェクトID管理テーブル128には、複数のサーバ3間でデータを移動した場合に生じるオブジェクトIDの変更による不具合を生じさせないようにする情報がエントリされている。また、移動隠蔽手段の一例を含むデータ解析部124では、オブジェクトID書き換え部101と、パケット処理部103と、ファイルシステム補完処理部104とのデータの入出力だけでなく、データ移動処理部106とのデータの入出力が可能となっている。
FIG. 16 is a block diagram illustrating a configuration of the file
次に、本実施形態のスイッチ装置の動作について説明する。本実施形態のスイッチ装置は、第1、第2の実施形態のスイッチ装置において備えられていた機能に加え、擬似ファイルシステム105上に構成されている統合ディレクトリツリーのツリー構造を保持したまま、その統合ディレクトリツリーを構成している各サーバ3の公開ディレクトリを元とするツリー構造を、別のサーバ3へコピーしてデータ移動を行った後、ツリー構造のマッピングを変更することによって、クライアント1にデータの移動を隠蔽し、統合ディレクトリツリーの構成を不変としたまま、サーバ3の記憶装置5における容量不足や、各サーバ3におけるファイルアクセス処理の負荷を軽減させる。
Next, the operation of the switch device of this embodiment will be described. In addition to the functions provided in the switch devices of the first and second embodiments, the switch device of the present embodiment retains the tree structure of the integrated directory tree configured on the
サーバ3間におけるデータ移動に伴い、各ディレクトリやファイルなどのオブジェクトに対応するオブジェクトIDも変更する必要があるため、スイッチ100では、データ移動前とデータ移動後のオブジェクトIDの変更履歴を管理し、クライアント1およびサーバ3において、オブジェクトIDの変更による不具合が生じないようにすることによって、データの移動の操作をクライアント1から隠蔽する。
Since the object ID corresponding to the object such as each directory or file needs to be changed along with the data movement between the
例えば、図12に示されている擬似ファイルシステム105では、サーバB(251)における記憶装置の残り容量が少なく、サーバA(250)の記憶装置の残り容量に余裕があり、サーバB(251)のディレクトリc(222)からのディレクトリツリーにおけるデータと、オブジェクトの所有者、アクセス権などの属性情報を、ツリー構造ごとサーバA(250)にコピーするのが望ましい状況であるとする。本実施形態のスイッチ装置は、図17に示すように、ディレクトリc(225)からのディレクトリツリーを擬似ファイルシステム105のディレクトリツリー200の構造を変えることなくマッピングし直すように擬似ファイルシステム105の情報を更新した後、サーバB(251)のディレクトリc(222)からのディレクトリツリーのデータを削除する。このようにすれば、本実施形態のスイッチ装置では、クライアント1にデータの移動を隠蔽しつつ残り容量を増やすことができるようになるため、ディレクトリc(225)からのディレクトリツリーやディレクトリe(224)からのディレクトリツリーにおけるデータの追加が可能となる。
For example, in the
次に、データ移動操作に関するスイッチ100での動作手順について説明する。データ移動処理部106は、すべてのサーバ3における記憶装置5の残り容量データの監視と、スイッチ100で処理されているファイルアクセス要求パケットや応答パケットに関する履歴データを記録している。そして、データ移動管理部106は、あらかじめ設定しておいた基準よりも、残り容量が少なくなった場合や、特定のサーバ3のみにファイルアクセス要求が集中していた場合に、擬似ファイルシステム105に登録されているデータを参照し、移動元のディレクトリツリーと、移動先を決定し、データのコピーを開始する。
Next, an operation procedure of the
データコピーを実行する際に、データ移動処理部106は、クライアント1が既に取得している情報付帯オブジェクトID151、155により、移動データの対象となっているデータにアクセスする場合の不具合に対応するために、データの移動の対象となっているすべてのオブジェクトに関連する情報として、移動元のサーバ3が生成した元オブジェクトID150をオブジェクトID書き換え部101で書き換えた情報付帯オブジェクトID151、155と、移動先のサーバ3で生成された元オブジェクトID150と、サーバ情報管理テーブル126に登録されている移動先のサーバ3に対応したサーバ識別情報154とを、図18に示す移動オブジェクトID管理テーブル128へ登録する。図18に示すように、移動オブジェクトID管理テーブル128は、移動元オブジェクトID166と、移動先オブジェクトID167と、移動先サーバ情報168の情報からなるエントリにより構成されている。
When executing the data copy, the data
移動オブジェクトID管理テーブル128に登録されているオブジェクトが再び移動する場合には、移動オブジェクトID管理テーブル128の移動先オブジェクトID167が移動元オブジェクトID166の項目に追加され、残りの移動先オブジェクトID167と移動先サーバ情報168の項目は最新の状態に更新される。
When an object registered in the moving object ID management table 128 moves again, the movement
移動先オブジェクトID167に登録された情報のうち、ファイルアクセス補完処理部104での処理が必要となる可能性のあるオブジェクトを示すオブジェクトIDとしては、元オブジェクト150ではなく、圧縮型情報付帯オブジェクトID151および追記型情報付帯オブジェクトID155を登録する。この場合には、移動先サーバ情報168へはサーバ識別情報154を登録しないでおく。
Of the information registered in the
すべてのデータのコピーが完了し、移動元のサーバ3のデータを削除した後、、データ移動処理部106は、移動先のサーバ3でコピーを行ったディレクトリツリーに対して、ネットワーク2を介したファイルアクセスを可能とする公開ディレクトリの設定が行われていない場合は、移動先のサーバ3へ公開ディレクトリの設定を行って、擬似ファイルシステム105におけるツリー構造のマッピング情報の更新と、特殊オブジェクトID管理テーブル127に登録されているエントリのデータの更新を行う。
After all the data has been copied and the data of the
次に、データ移動が行われた後で、クライアント1からの要求パケットおよびサーバ3からの応答パケットを受信した場合のスイッチ100における詳細な処理手順について詳細に説明する。図19は、パケットを受信した場合のスイッチ100の動作を示すフローチャートである。
Next, a detailed processing procedure in the
クライアント1からのファイルアクセス要求パケットを受信すると、パケット処理部103は、ファイルアクセス要求データと、クライアント1のクライアントIPアドレス情報160およびクライアントMACアドレス情報161がパケットから抽出し、それらをファイルアクセス管理部102に送信する(S120)。
When the file access request packet is received from the
データ解析部124は、受信した要求データを解析し、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155を抽出し、そのIDが移動オブジェクトID管理テーブル128に登録されているか否かを確認する(S121)。
The
ステップS121において、抽出された圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155が、移動オブジェクトID管理テーブル128の移動元オブジェクトID166として登録されていない場合には、以降の要求データ、およびその要求データに対応する応答データに関する処理は、第2の実施形態のステップS111からの処理が実行される(S122)。
In step S121, if the extracted compression type information
ステップS121において、抽出された圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155が、移動オブジェクトID管理テーブル128の移動元オブジェクトID166として登録されている場合には、データ解析部124は、移動先サーバ情報168にサーバ識別情報154が登録されているかを確認する(S123)。
In step S121, when the extracted compression type information
ステップS123における確認後、移動先サーバ情報168にサーバ識別情報154が登録されていない場合には、要求データに含まれていた圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155を、移動先オブジェクトID167に登録されている圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155に変更し(S124)、以降の要求データ、およびその要求データに対応する応答データに関する処理は第2の実施形態のステップS111からの処理が実行される(S125)。
After the confirmation in step S123, if the
ステップS123における確認後、移動先サーバ情報168にサーバ識別情報154が登録されている場合には、データ解析部124は、要求データに含まれていた圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155を、移動先オブジェクトID167として登録されている元オブジェクトID150に変更し、移動先サーバ情報168に登録されているサーバ識別情報154を抽出する(S126)。
After the confirmation in step S123, if the
データ解析部124は、トランザクションID管理テーブル125のエントリに必要な情報をすべて登録した後、移動オブジェクトID管理テーブル128から得られたサーバ識別情報154に基づいて、サーバ情報管理テーブル126から、サーバIPアドレス情報158、およびサーバMACアドレス情報159を抽出し、パケット処理部103へ、元オブジェクトID150に変更した要求データと、サーバIPアドレス情報158と、サーバMACアドレス情報159とを送信する(S127)。
After registering all necessary information in the entry of the transaction ID management table 125, the
パケット処理部103は、ファイルアクセス管理部102から送信されたデータを用いて要求パケットを生成し、サーバ3に送信する(S128)。
The
その要求パケットに対するサーバ3からの応答パケットに関するスイッチ100の処理は、第1の実施形態のスイッチでの応答パケットの処理が実行される(S129)。
As for the processing of the
(第4の実施形態)次に、本発明の第4の実施形態のスイッチ装置について説明する。本実施形態のスイッチ装置は、第3の実施形態のスイッチ装置を変形したものである。第3の実施形態のスイッチ装置では、一度にデータ移動するオブジェクトの数が非常に多い場合に、ファイルアクセス管理部102内の移動オブジェクトID管理テーブル128のエントリ数も非常に多くなって、それらのエントリを検索する時間が増大するようになる。
(Fourth Embodiment) Next, a switch device according to a fourth embodiment of the present invention will be described. The switch device of this embodiment is a modification of the switch device of the third embodiment. In the switching device according to the third embodiment, when the number of objects whose data is moved at a time is very large, the number of entries in the moving object ID management table 128 in the file
そこで、本実施形態のスイッチ装置では、図21に示すように、アルゴリズム識別情報153およびサーバ識別情報154とともに、データが移動したことを示すデータ移動フラグ169をオブジェクトIDに組み込み、オブジェクトID書き換え部101は、フラグ付き圧縮型情報付帯オブジェクトID171、もしくはフラグ付き追記型情報付帯オブジェクトID172を生成する際に、データ移動の対象となったオブジェクトに関しては、データ移動フラグ169を真に設定する。
Therefore, in the switch device of the present embodiment, as shown in FIG. 21, together with the
そして、本実施形態のスイッチ装置では、クライアント1からの要求データに含まれるフラグ付き圧縮型情報付帯オブジェクトID171もしくはフラグ付き追記型情報付帯オブジェクトID172を、データ解析部124において解析する際に、データ移動フラグが真である場合に限り、データ移動オブジェクトID管理テーブル128を検索する。このようにすれば、本実施形態のスイッチ装置では、第3の実施形態のスイッチ装置よりも効率のよい検索処理を行うことが可能となる。
In the switch device according to the present embodiment, when the
(第5の実施形態)次に、本発明の第5の実施形態のスイッチ装置について説明する。本実施形態のスイッチ装置は、第3の実施形態のスイッチ装置を変形したものである。第3の実施形態のスイッチ装置では、一度にデータ移動するオブジェクトの数が非常に多い場合に、ファイルアクセス管理部102内の移動オブジェクトID管理テーブル128のエントリ数が非常に多くなって、エントリを検索する時間が増大するようになる。
(Fifth Embodiment) Next, a switch device according to a fifth embodiment of the present invention will be described. The switch device of this embodiment is a modification of the switch device of the third embodiment. In the switch device according to the third embodiment, when the number of objects to which data is moved at a time is very large, the number of entries in the moving object ID management table 128 in the file
そこで、本実施形態のスイッチ装置では、1回のデータ移動を1世代として世代番号をつけ、1回のデータ移動が終了するたびに世代を1つずつ増やし、現在の世代番号をデータ解析部124で記憶しておき、移動オブジェクトID管理テーブル128では、世代番号ごとにテーブルが作成される。
Therefore, in the switch device of the present embodiment, a generation number is assigned with one data movement as one generation, and the generation is incremented by one every time one data movement is completed, and the current generation number is assigned to the
さらに、オブジェクトID書き換え部101では、図22に示すように、アルゴリズム識別情報153およびサーバ識別情報154とともに、データ移動世代番号172をオブジェクトIDに組み込むようにし、世代番号付き圧縮型情報付帯オブジェクトID173もしくは世代番号付き追記型情報付帯オブジェクトID174を生成する。
Further, as shown in FIG. 22, the object
データ解析部124は、クライアント1からの要求データに含まれる、世代番号付き圧縮型情報付帯オブジェクトID173もしくは世代番号付き追記型情報付帯オブジェクトID174をデータ解析部124にて解析して得られた世代番号に基づいて、移動オブジェクトID管理テーブル128におけるその世代番号のテーブルのみを検索する。このようにすれば、本実施形態のスイッチ装置は、第3の実施形態のスイッチ装置よりも効率の良い検索処理を行うことが可能となる。
The
(第6の実施形態)次に、図15および図23から図25を参照して、本発明の第6の実施形態を説明する。ここでは、本発明による擬似ファイルシステムのディレクトリツリーを具体的に説明する。図23は、本発明による擬似ファイルシステムのディレクトリツリー200を具体的に構成した場合の例を示している。サーバA(250)のディレクトリf(223)の下に、サーバB(251)にあるディレクトリe(224)を連結する場合、第6の実施形態では、ディレクトリf(223)の下にダミーディレクトリe’が作成される。そして、擬似ファイルシステム105のツリー構成情報より、ファイルアクセス管理部102の特殊オブジェクトIDテーブル127に、ディレクトリf(223)の下のオブジェクトを検索するコマンド(NFSのLookupなど)がクライアントから発行された場合をピックアップできるようにディレクトリf(223)のオブジェクトIDが登録される。その結果、当該要求がクライアントより発行された場合、サーバB(251)のディレクトリe(224)が擬似ファイルシステムのディレクトリツリー200通りに構成されているようにクライアントに見せるため、ファイルシステム補完処理部104はサーバA(250)とサーバB(251)に要求を分割送付して、その応答より必要な情報を集めて、クライアントに応答を返している。また、属性設定のコマンドがディレクトリe(224)に発行された場合も特殊処理が必要なため、ディレクトリe(224)のオブジェクトIDも特殊オブジェクトIDテーブル127に登録されている。この場合は、属性設定のコマンドをダミーディレクトリe’にも反映させるため、やはり、ファイルシステム補完処理部104はサーバA(250)とサーバB(251)に要求を分割送付する。
(Sixth Embodiment) Next, a sixth embodiment of the present invention will be described with reference to FIGS. 15 and 23 to 25. FIG. Here, the directory tree of the pseudo file system according to the present invention will be specifically described. FIG. 23 shows an example where the
いま、クライアントが、ディレクトリf(223)を、サーバA(250)のディレクトリgの下に移動させる要求を出したとする(この場合は管理者による移動ではないため、実際に擬似ファイルシステムの構成も変化する)。図24は、従来のファイルシステムの動作にならって、本発明によるスイッチ装置が移動を実施した結果を示している。この場合、ディレクトリgの下にディレクトリf(223)が移動されて、ディレクトリ新f(300)(実際のディレクトリの名前が変わるわけではないが、対応するオブジェクトIDは変わるため区別の目的で新fとした)が生成され、その下に見えていたディレクトリe(224)は、サーバB(251)からその実態が実際にサーバA(250)へ移動されて、特殊オブジェクトIDテーブル127の内容がクリアされる。これは正常な動作結果であり、クライアントは自分の操作が完遂されたと認識するが、サーバ間でのファイル移動が発生するため、移動させるファイルの分量によっては、完了までに非常に長い時間がかかることがあった。 Now, it is assumed that the client issues a request to move the directory f (223) to the directory g of the server A (250) (in this case, since it is not moved by the administrator, the configuration of the pseudo file system is actually set). Also changes). FIG. 24 shows the result of the movement of the switch device according to the present invention following the operation of the conventional file system. In this case, the directory f (223) is moved under the directory g and the directory new f (300) (the actual directory name does not change, but the corresponding object ID changes, so the new f is used for the purpose of distinction). The directory e (224) seen underneath is actually moved from the server B (251) to the server A (250), and the contents of the special object ID table 127 are cleared. Is done. This is a normal operation result, and the client recognizes that its own operation has been completed, but it takes a very long time to complete depending on the amount of files to be moved because files move between servers. There was a thing.
これに対し図25は、第6の実施形態による同じ移動の結果を示している。この場合、ディレクトリf(223)が、ディレクトリ新f(300)となるところは図24の例と同じであるが、次に、データ移動処理部106のクライアント操作対応部は、このディレクトリ新f(300)の下に同時にダミーディレクトリe’(225)を新しいダミーディレクトリ新e’(301)として移動する。そして、特殊オブジェクトIDテーブル127の内容のうち、登録されているオブジェクトIDをディレクトリf(223)のものからディレクトリ新f(300)のものに変更する。これにより、同様にクライアントの要求は完遂されるが、サーバB(251)のディレクトリe(224)配下のファイルは移動する必要がないため、非常に高速に移動を完了することができる。
In contrast, FIG. 25 shows the result of the same movement according to the sixth embodiment. In this case, the directory f (223) becomes the directory new f (300), which is the same as in the example of FIG. 24. Next, the client operation handling unit of the data
(第7の実施形態)次に、本発明の第7の実施形態のスイッチ装置について図面を参照して詳細に説明する。本実施形態のスイッチ装置は、第1の実施形態および第2の実施形態のスイッチ装置を変形したものである。本実施形態は第1の実施形態および第2の実施形態の処理の高速化を目的としている。 (Seventh Embodiment) Next, a switch device according to a seventh embodiment of the present invention will be described in detail with reference to the drawings. The switch device of this embodiment is a modification of the switch device of the first embodiment and the second embodiment. The purpose of this embodiment is to increase the processing speed of the first and second embodiments.
第1の実施形態で、スイッチ100は応答データにオブジェクトIDが含まれている場合にはオブジェクトID書き換え部101でオブジェクトIDを書き換える必要があるため、応答データに含まれるトランザクションIDを元にトランザクションID管理テーブル125からどの種類の命令に対する応答データであるか検索して求めている。また、第2の実施形態では応答パケットがファイルシステム補完処理部104により生成された要求に対する応答であるかを上記と同じくトランザクションID管理テーブル125を検索して求めている。この処理はトランザクションIDがOSIモデルの第5〜7層に属するため、ソフトウエアによりトランザクションIDを抽出してトランザクションID管理テーブル125のエントリと逐次比較をすることになり、時間のかかる処理となっている。
In the first embodiment, since the
本実施形態ではハードウエア処理ができるOSIモデルの第4層以下の情報を用いてどの種類の命令に対する応答であるかを判定できるようにする。例としてOSIモデルの第4層に属するポート番号を用いた場合を説明する。ここでいうポート番号としては、TCP(transmission control protocol)/IPやUDP(user datagram protocol)でのポート番号が例示される。 In the present embodiment, it is possible to determine which type of instruction is a response using information in the fourth and lower layers of the OSI model capable of hardware processing. As an example, a case where a port number belonging to the fourth layer of the OSI model is used will be described. Examples of the port numbers here include port numbers in TCP (transmission control protocol) / IP and UDP (user datagram protocol).
図26は、第7の実施形態でのファイルアクセス管理部を示しており、新たに、分類テーブルの一例である処理分類テーブル129が追加されている。図27に処理分類テーブル129の構成の一例を示す。 FIG. 26 shows a file access management unit in the seventh embodiment, and a processing classification table 129 which is an example of a classification table is newly added. FIG. 27 shows an example of the configuration of the processing classification table 129.
まずサーバ3からの応答パケットに対して行う処理の違いに着目して命令の種類を分けて処理分類情報176を割り当てる。この分け方は命令ごとに分けてもよいし、処理の違いに着目して同様な処理を行う複数の命令をグループ化してもよい。ただし少なくとも、応答データにオブジェクトIDが含まれない命令グループ、応答データにオブジェクトIDが含まれる命令グループ、ファイルシステム補完処理部で生成された命令グループの3つに分けることにより高速化が可能になる。
First, paying attention to the difference in processing to be performed on the response packet from the
スイッチ100はクライアント1からの要求データをサーバ3に転送する際にどの種類の命令であるかによってスイッチ100からサーバ3へのポート番号を変える。そのポート番号情報175と処理分類情報176を処理分類テーブル129に格納しておく。ポート番号の選択はクライアント1からの要求ごとに空きポート番号を割り当てる方法でもよいし、命令の種類に対してあらかじめ固定的にポート番号を決めておく方法でもよい。ただし前者の方法では命令ごとに処理分類テーブル129のエントリを作ることになるため、処理高速化のためには後者の方法が望ましい。
The
サーバ3からの応答パケットはスイッチ100が要求を送ったポート番号に対して送られる。ファイルアクセス管理部102で、サーバ情報管理テーブル126を検索して得たサーバ識別情報154とポート番号情報175をもとに処理分類テーブル129を検索し、処理分類情報176、クライアントIPアドレス情報161、クライアントMACアドレス情報162を得る。ここまでの処理はOSIモデルの第4層以下をハードウエアで検索できるLSIを使えば高速に処理可能である。
The response packet from the
処理分類情報176から、応答パケットにオブジェクトIDが含まれない命令の場合には上記で得たクライアントIPアドレス情報161、クライアントMACアドレス情報162を元にIPアドレスとMACアドレスを変換するのみで応答パケットを転送することができるためきわめて高速な処理が可能になる。オブジェクトIDが含まれる命令の場合にはオブジェクトID書き換え部101で第1の実施形態と同様な処理を行う。ファイルシステム補完処理部104で生成された命令の場合にはファイルシステム補完処理部104で第2の実施形態と同様な処理を行う。
In the case of a command from which the object ID is not included in the response packet from the processing classification information 176, the response packet is simply converted from the IP address and the MAC address based on the client
このように、処理分類情報176によりサーバ3からの応答パケットを分類し、必要な処理のみ行うようにすることで処理の高速化が可能になる。
As described above, by classifying the response packet from the
図28で以上のことを実際のハードウエア構成に即したブロックに分けて説明する。データ解析部124は高速処理が可能なデータ解析高速処理部107と処理に時間のかかるデータ解析非高速処理部108に分けることができる。データ解析高速処理部107にはサーバ情報管理テーブル126と処理分類テーブル129がつながり、データ解析非高速処理部108にはトランザクションID管理テーブル125と特殊オブジェクトID管理テーブル127がつながっている。応答データにオブジェクトIDが含まれない命令はポートX、応答データにオブジェクトIDが含まれる命令はポートY、ファイルシステム補完処理部104で生成する命令はポートZを用いてサーバ3に送信する。サーバ3からの応答はポートXの場合はデータ解析高速処理部107だけで処理されるため高速処理が可能となる。ポートYの場合はデータ解析非高速処理部108で処理される。第2の実施形態の場合にファイルシステム補完処理部104を経由していたのに比較して、高速に処理可能である。ポートZの場合はファイルシステム補完処理部104で処理される。この場合もあらかじめファイルシステム補完処理部104で生成された命令に対する応答であることがわかっているので余計な処理が割愛できる効果がある。
The above will be described with reference to FIG. 28 divided into blocks according to the actual hardware configuration. The
なお本実施形態では、命令の区別にポート番号を用いる場合を例に説明したが、ポート番号以外にもIPアドレス、VLAN(Virtual LAN)タグ、MPLS(multiprotocol label switching)ラベル、MACアドレス等のOSIモデル第4層以下情報であれば同様に実施可能である。 In this embodiment, the case where the port number is used for distinguishing the instruction has been described as an example. However, in addition to the port number, OSI such as an IP address, a VLAN (Virtual LAN) tag, an MPLS (multiprotocol label switching) label, and a MAC address are used. The information can be similarly implemented as long as it is information on the model fourth and lower layers.
(第8の実施形態)次に、本発明の第8の実施形態のスイッチ装置について説明する。本実施形態のスイッチ装置は、第2の実施形態のスイッチ装置を変形したものである。本実施形態では第2の実施形態の処理を高速化することを目的としている。 (Eighth Embodiment) Next, a switch device according to an eighth embodiment of the present invention will be described. The switch device of this embodiment is a modification of the switch device of the second embodiment. The purpose of this embodiment is to speed up the processing of the second embodiment.
第2の実施形態ではステップS111においてクライアント1からの要求パケットに含まれるオブジェクトID、命令情報が特殊オブジェクトID管理テーブル127のエントリに該当するかを全ての要求について行う必要がある。オブジェクトIDは例えばNFSでは32バイトの長さがあり、OSIモデルの第5〜7層に属するためソフトウエア処理になり時間がかかる。またほとんどの場合には特殊オブジェクトID管理テーブルのエントリに該当しないため、結果的には行わなくてもよい処理を行っていることになる。
In the second embodiment, in step S111, it is necessary for all requests to check whether the object ID and command information included in the request packet from the
本実施形態ではファイルシステムのつなぎ目となるオブジェクトに特殊な属性を記録しておき、ステップS111の判定を行わずに全ての要求をサーバ3に転送し、応答パケットに含まれる属性が前述の特殊な属性であるかをスイッチ100で判定し、特殊な属性である場合のみファイルシステム補完処理を行うことで処理を高速化する。
In the present embodiment, a special attribute is recorded in an object serving as a joint of the file system, all requests are transferred to the
図29を例に説明する。第2の実施形態では、サーバA(250)、サーバB(251)の全てのオブジェクトに対する要求についてオブジェクトIDが特殊オブジェクトID管理テーブル127のエントリに該当するか比較を行う。しかし図29のオブジェクトグループA(226)、オブジェクトグループB(227)はエントリに該当しないため、結果的には行わなくてよい処理を行っている。そこで本実施形態ではあらかじめサーバA(250)のディレクトリf(223)の下のダミーのディレクトリe’(225)に特殊な属性を記憶させておく。スイッチ100はクライアント1からのディレクトリeに対応するオブジェクトIDや属性情報を取得する命令に対して第1の実施形態と同様な処理を行いサーバA(250)に転送する。サーバAはダミーのディレクトリe’(225)のオブジェクトIDと疑似ファイルシステム105により記憶された特殊な属性を含む応答パケットをスイッチ100に送る。スイッチ100は応答パケットに特殊な属性が含まれているかを判定し、この例の場合は含まれているのでファイルシステム補完処理部にデータを送りステップS113からの処理が行われる。もし含まれていない場合は第1の実施形態と同様な処理を行う。上記フローチャートは、図30のようになる。ステップS130で第1の実施形態と同様な処理を行い、サーバ3からの応答をステップS131で属性をチェックする。特殊な属性であれば第2の実施形態のステップS113へ移り、特殊な属性でなければステップS132で第1の実施形態と同様な処理を行う。
An example will be described with reference to FIG. In the second embodiment, it is compared whether the object ID corresponds to an entry in the special object ID management table 127 for requests for all objects of the server A (250) and the server B (251). However, since object group A (226) and object group B (227) in FIG. 29 do not correspond to entries, processing that does not need to be performed as a result is performed. Therefore, in this embodiment, special attributes are stored in advance in a dummy directory e ′ (225) under the directory f (223) of the server A (250). The
このように、本実施形態では、スイッチ100は、クライアント1からの要求パケット受信時に結果的に行わなくてもよい特殊オブジェクトID管理テーブル127の検索を行わないため、高速な処理が可能になる。その代わりにステップS131でサーバ3からの応答パケットに特殊な属性が含まれているかを判定する必要があるが、特殊オブジェクトID管理テーブル127が複数のエントリがありえることに対してこの判定は応答パケットの特定位置を特殊な属性と比較するだけであり、データ長もオブジェクトIDがNFSであれば32バイトの比較が最低必要なのに対して実装次第で短くすることが可能である。よってステップS111とステップS131を比較するとステップS131は高速な処理が可能である。
As described above, in the present embodiment, the
(第9の実施形態)以下では、図15、図31および図32を参照して、本発明の第9の実施形態を詳細に説明する。サーバL(310)およびサーバM(311)はマルチプロトコル対応サーバであり、ネットワークを介したファイルシステムのサービスを行うプロトコルとして、プロトコルAとプロトコルBを解釈することができる。また、プロトコルAは、本発明によるスイッチ装置およびサーバAも対応しているとする。図31に示したように、本発明以外にも、同様の目的を達成するため、クライアントに改造を施す、あるいはサーバに分散ファイルシステムを導入するなどして、プロトコルBによるアクセスに対して他の統合ディレクトリツリーのイメージ320を提供している事例がある。このような環境下において、本発明のスイッチ装置は、プロトコルB向けの統合ディレクトリツリーのイメージ320を取り込み、プロトコルAによるアクセスに対しても同様の統合ディレクトリツリーのイメージ320を提供することができる。
(Ninth Embodiment) In the following, the ninth embodiment of the present invention will be described in detail with reference to FIGS. The server L (310) and the server M (311) are multi-protocol compatible servers, and can interpret the protocol A and the protocol B as protocols for performing file system services via the network. Further, it is assumed that the protocol A corresponds to the switch device and the server A according to the present invention. As shown in FIG. 31, other than the present invention, in order to achieve the same purpose, other modifications are made to access by protocol B by modifying the client or introducing a distributed file system to the server. There is an example where an
具体的には、擬似ファイルシステム105内のエージェントが、統合ディレクトリツリーのイメージ320の情報を入手する。次に、管理者の指示により、統合ディレクトリツリーのイメージ320のルートであるディレクトリAを、スイッチ装置上の擬似ファイルシステムディレクトリツリー200のどこに配置するかを決定する。この例では、擬似ファイルシステムディレクトリツリー200のディレクトリg(すなわち、サーバA(250)のディレクトリg)の下にディレクトリAが見えるように設定する場合を説明する。
Specifically, the agent in the
この場合、スイッチ装置はサーバAのディレクトリgの下にダミーディレクトリA’(302)を作成し、さらにサーバLにプロトコルAでアクセスして、そのディレクトリAの下にダミーディレクトリB’(303)を作成する。続いて、特殊オブジェクトID管理テーブル127の内容を、これら2箇所のファイルシステムのつなぎ目がシームレスにクライアントからアクセスできるよう、ディレクトリgとA、ディレクトリAとBのつなぎ目の情報を、たとえば図32に記したように登録する。以上により、上述のように、つなぎ目に関係するアクセス要求については、ファイルシステム補完処理部104は要求を分割し適切なサーバに送付して、その応答より必要な情報を集めて、クライアントに応答を返すので、擬似ファイルシステムディレクトリツリー200のイメージ通りの統合ツリーが提供できる。
In this case, the switching device creates a dummy directory A ′ (302) under the directory g of the server A, accesses the server L with the protocol A, and creates a dummy directory B ′ (303) under the directory A. create. Next, the contents of the special object ID management table 127 are shown in FIG. 32, for example, for the joints of the directories g and A and the directories A and B so that the joints of these two file systems can be seamlessly accessed from the client. Register as you did. As described above, for the access request related to the joint as described above, the file system
(第10の実施形態)次に、本発明の第10の実施の形態のスイッチ装置について説明する。本実施形態のスイッチ装置は、第1、第2および第3の実施形態と同様に、図1に示すネットワークファイルシステムに適用される。本実施形態は、複数のサーバ3間でのオブジェクト群の移動操作を、クライアント1からの移動対象オブジェクト群へのファイルアクセスを停止させずに行うことを目的としている。すなわち第1〜第3の実施形態のスイッチ装置では、複数のサーバを統合管理してクライアントにシングルシステムイメージのファイルサービスを提供することができるが、ユーザがサーバ上のオブジェクト(ファイル)に実際にアクセス(書込みや読出し)を行っている最中にオブジェクトの再配置を行おうとすると、そのアクセスの期間中はアクセスしようとした際に決定したオブジェクトIDを使い続ける形態となっているので、ユーザのアクセスが中断したり、適切な再配置を行えないことになる。そこでこの第10の実施形態では、ユーザが現にサーバ上のオブジェクトにアクセスしているタイミングであっても管理者側ではオブジェクトの再配置を行うことができ、しかも、オブジェクトの再配置などが行われたことをユーザに隠蔽できるスイッチ装置について説明する。
(Tenth Embodiment) Next, a switch device according to a tenth embodiment of the present invention will be described. The switch device of this embodiment is applied to the network file system shown in FIG. 1 as in the first, second, and third embodiments. The object of the present embodiment is to perform an object group movement operation between a plurality of
この実施形態では、第3の実施形態に関連して図15を用いて説明したスイッチ装置を使用する。すなわちスイッチ100は、第1、第2、第3の実施形態のスイッチ装置に備えられているオブジェクトID書き換え部101と、ファイルアクセス管理部102と、パケット処理部103と、第2、第3の実施形態に備えられているファイルシステム補完処理部104と、擬似ファイルシステム105とに加え、第3の実施形態に備えられているデータ移動処理部106を備えている。
In this embodiment, the switch device described with reference to FIG. 15 in relation to the third embodiment is used. That is, the
図33は、本実施形態におけるファイルアクセス管理部102を示すブロック図である。ファイルアクセス管理部102は、第1、第2、第3の実施形態のスイッチ装置において備えられているトランザクションID管理テーブル125およびサーバ情報管理テーブル126と、第2、第3の実施形態において備えられている特殊オブジェクトID管理テーブル127に加えて、移動処理を行うオブジェクト群の管理を行う移動オブジェクト状態管理テーブル130を備えている。
FIG. 33 is a block diagram showing the file
次に、本実施形態のスイッチ装置の動作について説明する。本実施の形態のスイッチ装置は、第1、第2、第3の実施形態のスイッチ装置において備えられていた機能に加え、擬似ファイルシステム105上に構成されている統合ディレクトリツリーを構成している、各サーバ3のオブジェクトとディレクトリツリー構造を別のサーバ3へコピーをして、移動処理を行っている際に、クライアント1からの移動処理対象オブジェクトへの読み出しや書き込みなどのファイルアクセス要求の転送処理を、オブジェクトの移動処理状態によって変化させることにより、データ移動処理中であることをクライアント1に隠蔽する。
Next, the operation of the switch device of this embodiment will be described. The switch device according to the present embodiment constitutes an integrated directory tree configured on the
例えば、第3の実施形態の例で挙げたように、サーバB(251)のディレクトリc(222)からのディレクトリツリーにおけるオブジェクト群のデータと、オブジェクトの所有者、アクセス権などの属性情報を、ストレージ容量の不足といった理由により、ツリー構造ごとサーバA(250)へコピーするのが望ましい状況であったとする。オブジェクトの移動は、前記オブジェクト群のデータをコピーして、図12の擬似ファイルシステム105のマッピング情報を更新し、サーバB(251)からコピーを行った部分を削除することで終了するが、オブジェクトのコピー中に、データの更新などのファイルアクセス操作を要求された際、データの不一致が生じないように、クライアント1からのファイルアクセスをスイッチ100で制御することで、ファイルアクセスを停止することのない、移動処理を実行することが可能となる。
For example, as described in the example of the third embodiment, the object group data in the directory tree from the directory c (222) of the server B (251), and the attribute information such as the owner of the object, the access right, etc. Assume that it is desirable to copy the entire tree structure to the server A (250) because of a shortage of storage capacity. The movement of the object is terminated by copying the data of the object group, updating the mapping information of the
次に、データの移動処理中の操作に関するスイッチ100での動作について説明する。データ移動処理部106は、すべてのサーバ3における記憶装置5の残り容量データの監視と、スイッチ100で処理されているファイルアクセス要求パケットや応答パケットに関する履歴データを記録している。そして、データ移動処理部106は、あらかじめ設定しておいた基準よりも、残り容量が少なくなった場合や、特定のサーバ3のみにファイルアクセス要求が集中していた場合に、擬似ファイルシステム105に登録されているデータを参照し、移動元のサーバ3のディレクトリツリーと、移動先のサーバ3の移動場所を決定する。
Next, the operation of the
データのコピーを実行する前に、データ移動処理部106は、移動元のサーバ3から、移動元のディレクトリツリーのオブジェクト群のディレクトリツリーの構成情報と、すべての元オブジェクトID150を抽出し、前記元オブジェクトID150は、オブジェクトID書き換え部101において、圧縮型情報付帯オブジェクトID151、および追記型情報付帯オブジェクトIDに変換した後、ファイルアクセス管理部102の移動オブジェクト状態管理テーブル130へ登録する。
Before executing the data copy, the data
移動オブジェクト状態管理テーブル130は、図34のように、移動元の圧縮型情報付帯オブジェクトID151、もしくは追記型情報付帯オブジェクトID155が登録されている移動元オブジェクトID166と、移動先の追記型情報付帯オブジェクトID151と追記型情報付帯オブジェクトID155が登録される移動先オブジェクトID167、移動処理の進行状態の情報を表す進行状態情報177と、対象オブジェクトのディレクトリツリー上の親オブジェクトに相当するオブジェクトの移動オブジェクト状態管理テーブル130上の付与番号を情報としてもつ、親オブジェクト番号178、コピー動作中のクライアント1からの更新履歴情報を登録する更新ログ情報179、対象オブジェクトがディレクトリであるかファイルであるかを示すオブジェクト属性情報180、移動先のサーバ3に対応したサーバ識別情報154を登録する移動先サーバ情報168からなるエントリにより構成されている。
As shown in FIG. 34, the moving object state management table 130 includes a movement
進行状態情報177へは、コピー処理が行われていないことを表す、未コピー状態、実際にコピー処理を行っている最中であることを表す、コピー中状態、コピーが終了したことを表す、コピー終了状態、移動処理が終了したことを示す、移動終了状態が登録され、各処理の状態により、未コピー状態→コピー中状態→コピー終了状態→移動終了状態という順番で登録が変更される。
The
したがって、データ移動処理部106によって、データコピーが実行される前に、移動対象となったすべてのオブジェクトに対し、移動元オブジェクトID166と、ディレクトリ構成情報として、親オブジェクト番号178、およびオブジェクト属性情報180と、移動先サーバ情報168が登録されるとともに、進行状態情報177が、未コピー状態にセットされる。また、移動処理を行うオブジェクト群のディレクトリツリー上、最上位に位置するディレクトリに相当するオブジェクトのエントリの親オブジェクト番号178は0を登録する。
Therefore, before the data copy is executed by the data
ここで、この実施形態の処理の概要を図35を用いて説明する。まず、移動対象のオブジェクトを決定するとともに、移動対象となる全てのオブジェクトに関する情報を移動オブジェクト状態管理テーブル130にマップとして登録する。次に、オブジェクトの移動を開始し、それに伴なって、マップ(移動オブジェクト状態管理テーブル130)の更新を行い、移動の終了を確認する。その際、オブジェクトを小さな移動処理単位に分割し、移動処理単位を1つずつ移動元から移動先にコピーするものとし、コピー後、コピーされたオブジェクトの同期を確認するとともに、上述した擬似ファイルシステムにおけるディレクトリの付け替えを行う(FS分岐の作成)。その際、コピー終了領域への更新は、データ移動処理部106によってブロックする。1つずつ移動処理単位をコピーすることを繰り返して、最終的に移動が終了したら、移動元にあるオリジナルのオブジェクトを削除し、これによって処理が完了する。
Here, the outline of the processing of this embodiment will be described with reference to FIG. First, an object to be moved is determined and information regarding all objects to be moved is registered in the moving object state management table 130 as a map. Next, the movement of the object is started, and accordingly, the map (moving object state management table 130) is updated to confirm the end of the movement. At that time, the object is divided into small movement processing units, and the movement processing units are copied one by one from the movement source to the movement destination. After copying, the synchronization of the copied object is confirmed, and the pseudo file system described above is used. Change the directory in (Create FS branch). At this time, the update to the copy end area is blocked by the data
次に、データ移動処理部106によって行われるオブジェクト群の移動処理の詳細について、図36のフローチャートを用いて説明する。オブジェクト移動処理部106は、まず、移動オブジェクト状態管理テーブル130へ移動対象となるすべてのオブジェクトに関する情報を登録した後(S140)、親オブジェクト番号178より判別した、ディレクトリ階層上もっとも上位のディレクトリとなるオブジェクトと、親オブジェクト番号178より判別した、前述のオブジェクトの下層に含まれる1階層分のすべてのオブジェクトの移動処理を開始し(S141)、移動元サーバ3から移動先サーバ3へのコピーを実行する(S142)。データ移動処理部106は、実際にコピー処理を行うオブジェクトの移動オブジェクト状態管理テーブル130中の移動先オブジェクトID167へ、移動先のサーバ3から抽出した元オブジェクトID150を、オブジェクトID書き換え部101により、圧縮型情報付帯オブジェクトID151、および追記型情報付帯オブジェクトID155に変換したものを登録後、進行状態情報177がコピー中状態にセットし、移動元から移動先へのコピーを開始する。処理移動先へのコピー処理の終了とともに、進行状態情報177は、コピー終了状態にセットされる。進行状態情報177が、コピー中状態であるオブジェクトへクライアント1からの更新要求が発生した場合、データ解析部124は、更新データ以外の書き込み位置情報などを履歴情報として、更新ログ情報179に追記すする。当初のコピー処理が終了した後、更新ログ情報179に情報が登録されているかを確認し(S143)、登録されていれば、更新ログ情報179より更新差分のみのコピー処理を実行して、更新ログ情報179をクリアした後、進行状態情報177をコピー終了状態へセットする(S144)。
Next, details of object group movement processing performed by the data
一方、ステップS143において更新ログ情報が登録されていない場合には、1階層分のオブジェクトの進行状態情報177がすべてコピー終了状態にセットされた後、データ移動処理部106は、擬似ファイルシステム105に登録されている統合ディレクトリツリー情報のうち、コピーが終了した部分の移動元のオブジェクト部分のマッピングを移動先のオブジェクトへのマッピングとして変更を加えた後、マッピングを変更したオブジェクトの進行状態情報177を移動終了状態へセットする(S145)。そして前述の最上位ディレクトリに相当するオブジェクトの下層に含まれる1階層分のオブジェクトの中に、オブジェクト属性情報180に登録されている情報がディレクトリの属性であるオブジェクトが存在する、つまりサブディレクトリとなるオブジェクトが存在するかを確認し(S146)、サブディレクトリが存在する場合、データ移動処理部106は、そのサブディレクトリとなるオブジェクトから1階層分のすべてのオブジェクトを、最上位ディレクトリの場合と同様にして、コピー処理を行い(S147)、擬似ディレクトリ105のマッピング情報を変更する。サブディレクトリが存在しない場合、すなわち全ての処理が終了している場合には、ステップS148に移行して、移動元のデータを削除する。
On the other hand, if the update log information is not registered in step S143, after all the
このようにして、サブディレクトリの有無を確認し、1階層分ずつディレクトリごとにディレクトリツリーをたどって移動処理を実行し、移動オブジェクト状態管理テーブル130に登録されたすべてのオブジェクトの進行状態情報177が、移動終了状態にセットされた後、移動元のサーバ3に存在する移動対象となったオブジェクトをすべて削除して、すべての移動処理を終了する(S148)。
In this way, the presence / absence of sub-directories is confirmed, the migration process is executed by following the directory tree for each directory one layer at a time, and the
次に、データ移動処理部106により移動処理が行われている時のクライアント1からのファイルアクセス要求パケット、および応答パケットのスイッチ100での処理方法の詳細について説明する。クライアント1からのファイルアクセス要求は、データや属性の読み出しを実行する読み出し操作、データの書き込みや属性変更などを実行する更新操作、オブジェクトを新しく作成する新規作成操作、オブジェクトを削除する削除操作があり、スイッチ100は各操作によって処理方法を変更している。各操作におけるスイッチ100での処理方法を図37から図41までのフローチャートを用いて説明する。
Next, details of a method of processing the file access request packet from the
クライアント1のファイルアクセス要求パケットを受信すると、パケット処理部103は、ファイルアクセス要求データと、クライアント1のクライアントIPアドレス情報160およびクライアントMACアドレス情報161を要求パケットから抽出し、それらをファイルアクセス管理部102へ送信する(S150)。
When the file access request packet of the
データ解析部124は、受信した要求データを解析し、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155に含まれるサーバ識別情報154を抽出し、移動オブジェクト状態管理部130の移動先サーバ情報168に一致するサーバ識別情報154がないか確認する(S151)。
The
前述したサーバ識別情報154が移動先サーバ情報168に存在しない場合、以降のスイッチ100における操作は第2の実施形態における要求パケット、および応答パケットの処理と同様の方法とる(S152)。
When the
一方、ステップS151においてサーバ識別情報154が移動先サーバ情報168に存在する場合は、移動オブジェクト状態管理テーブル130の移動元オブジェクトID166に圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155が登録されているか、エントリを検索して確認する(S153)。
On the other hand, if the
ここで、移動元オブジェクトID166に、一致する圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトIDがない場合、以降のスイッチ100における操作は第2の実施形態における要求パケット、および応答パケットの処理と同様の方法をとる(S154)。一方、移動元オブジェクトID166に圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトIDが存在する場合、データ解析部124は、要求データからどのような操作要求であるかを判別する(S155)。
Here, when the
ステップS155において、要求データから得られた操作要求が読み出し操作であった場合(S160)には、移動オブジェクト状態管理テーブル130の該当する移動元オブジェクトID166のエントリの進行状態情報177を参照し、未コピー状態、コピー中状態、コピー済み状態のいずれかの状態であった場合(S161)、移動元のサーバ3へ要求パケットを転送することになり(S162)、以降のスイッチ100における操作は、第2の実施形態における要求パケット、および応答パケットの処理と同様の方法をとる(S163)。
In step S155, when the operation request obtained from the request data is a read operation (S160), the
ステップS161において、未コピー、コピー中、コピー済みのいずれでもない場合は、移動済み状態であった場合(S164)であり、移動先のサーバ3へ要求パケットを転送することになり(S165)、移動オブジェクト状態管理テーブル130の該当した移動元オブジェクトID166のエントリの移動先オブジェクトID167に登録されている圧縮型情報付帯オブジェクトID151、もしくは追記型情報付帯オブジェクトID155に変換し(S166)、以降のスイッチ100における操作は、第2の実施形態における要求パケット、および応答パケットの処理と同様の方法をとる(S163)。
In step S161, if it is not uncopied, being copied, or copied, it is in the moved state (S164), and the request packet is transferred to the destination server 3 (S165). The object is converted into the compression type information accompanying
ステップS155において要求データから得られた操作要求が更新操作であった場合(S170)、移動オブジェクト状態管理テーブル130の該当する移動元オブジェクトID166のエントリの進行状態情報177を参照し、未コピー状態であった場合(S171)、移動元のサーバ3へ要求パケットを転送することになり(S172)、以降のスイッチ100における操作は、第2の実施形態における要求パケット、および応答パケットの処理と同様の方法をとる(S173)。
If the operation request obtained from the request data in step S155 is an update operation (S170), the
ステップS171において未コピー状態でない場合には、進行状態情報177から操作対象がコピー中かどうかを判断し、コピー中状態であった場合(S174)、移動元サーバ3へ要求パケットを転送することになり(S175)、その該当エントリの更新ログ情報179に、書き込み位置情報などの更新データ以外のメタ情報を追記し(S176)、以降のスイッチ100における操作は、第2の実施形態における要求パケット、および応答パケットの処理と同様に方法をとる。ただし、移動元サーバ3からの応答データが、クライアント1に削除権限がないなどの理由でエラーとなっている場合は、応答データをクライアント1へ転送し、移動オブジェクト状態管理テーブル130の更新ログ情報179へ登録したデータを削除する(S177)。
If it is not in the uncopied state in step S171, it is determined whether or not the operation target is being copied from the
ステップS174においてコピー中でない場合には、進行状態情報177を参照して操作対象がコピー済みであるかどうかを判断し、コピー終了状態であった場合(S178)、移動元サーバ3および移動先サーバ3の両方へ転送することになり(S179)、トランザクションID管理テーブル125に必要な情報を登録した後、要求パケットに含まれる圧縮型情報付帯オブジェクトID151、もしくは追記型情報付帯オブジェクトID155をオブジェクトID書き換え部101で変換した元オブジェクトID150と、圧縮型情報付帯オブジェクトID151もしくは追記型情報付帯オブジェクトID155から抽出したサーバ識別情報154を元に、サーバ情報管理テーブル126から抽出した移動元サーバ3のIPアドレスやMACアドレス情報などの転送先のアドレス情報をファイルシステム補完処理部104に送る。
If copying is not in progress in step S174, it is determined whether or not the operation target has been copied by referring to the
同様にして、該当移動元オブジェクトID166のエントリの移動先オブジェクトID167に登録されている、圧縮型情報付帯オブジェクトID151、もしくは追記型情報付帯オブジェクトID155をオブジェクトID書き換え部101で変換した元オブジェクトID150と、移動先サーバ情報168に登録されているサーバ識別情報154を元に、サーバ情報管理テーブル126から抽出した移動先サーバ3のIPアドレスやMACアドレス情報などの転送先のアドレス情報をファイルシステム補完処理部104に送る。
Similarly, the
ファイルシステム補完処理部104では、ファイルアクセス管理部102より受け取った、移動元サーバ3向けのデータと、移動先サーバ3向けのデータを元に、要求パケットを移動元サーバ3、および移動先サーバ3へパケット処理部103を介してスイッチ100から送信する(S180)。
In the file system complementing
移動元サーバ3、および移動先サーバ3からのそれぞれの応答パケットをスイッチ100で受け取り、パケット処理部103でそれぞれの応答データを抽出して、ファイルシステム補完処理部104に送り、ファイルシステム補完処理部104において、2つの応答データを受け取ったことを確認した後、応答データをファイルアクセス管理部102へ送る。以降のスイッチ100での操作は、第1の実施形態の応答パケットの処理方法と同様な方法をとり、クライアント1へ応答パケットが返される(S181)。
The
ステップS178においてコピー済みでない場合は、操作対象が移動済み状態であるので(S182)、移動先のサーバ3へ要求パケットを転送することになり(S183)、移動オブジェクト状態管理テーブル130の該当した移動元オブジェクトID166のエントリの移動先オブジェクトID167に登録されている圧縮型情報付帯オブジェクトID151、もしくは追記型情報付帯オブジェクトID155に変換し(S184)、以降のスイッチ100における操作は、第2の実施形態における要求パケット、および応答パケットの処理と同様の方法をとる(S185)。
If it is not copied in step S178, the operation target is in the moved state (S182), so the request packet is transferred to the destination server 3 (S183), and the corresponding movement in the moving object state management table 130 is performed. It is converted into the compression type information accompanying
ステップS155において要求データから得られた操作要求が新規作成操作であった場合(S190)、移動オブジェクト状態管理テーブル130の新規作成を行うディレクトリに相当するオブジェクトに該当する移動元オブジェクトID166のエントリの進行状態情報177を参照し、未コピー状態、コピー中状態、コピー済み状態のいずれかであるかを判定し(S191)、未コピー状態、コピー中状態、コピー済み状態のいずれかである場合には、移動元のサーバ3へ要求パケットを転送することになり(S192)、以降のスイッチ100におけるパケット転送操作は、第2の実施の形態における要求パケット、および応答パケットの処理と同様の方法をとる(S193)とともに、データ移動処理部106は移動オブジェクト状態管理テーブル130へ作成されたオブジェクトのエントリを加える(S194)。
If the operation request obtained from the request data in step S155 is a new creation operation (S190), the
ステップ190において未コピー状態、コピー中状態、コピー済み状態のいずれでもない場合、すなわち移動済み状態であった場合(S195)、移動先のサーバ3へ要求パケットを転送することになり(S196)、移動オブジェクト状態管理テーブル130の該当した移動元オブジェクトID166のエントリの移動先オブジェクトID167に登録されている圧縮型情報付帯オブジェクトID151、もしくは追記型情報付帯オブジェクトID155に変換し(S197)、以降のスイッチ100における操作は、第2の実施形態における要求パケット、および応答パケットの処理と同様の方法をとる(S198)。
If none of the uncopied state, the copying state, or the copied state is found in step 190, that is, if it has been moved (S195), the request packet is transferred to the destination server 3 (S196). The object is converted into the compression type information attached
ステップS155において 要求データから得られた操作要求が削除操作であった場合(S200)、移動オブジェクト状態管理テーブル130の該当する移動元オブジェクトID166のエントリの進行状態情報177を参照し、未コピー状態であるかどうかを判定し(S201)、未コピー状態であった場合には、移動元のサーバ3へ要求パケットを転送することになり(S202)、以降のスイッチ100におけるパケット転送操作は、第2実施の形態における要求パケット、および応答パケットの処理と同様の方法をとる(S203)とともに、データ移動処理部106は、移動オブジェクト状態管理テーブル130に登録されている削除操作されるオブジェクトのエントリを削除する。ただし、移動元サーバ3から返答される応答データが、クライアント1に削除権限がないなどの理由でエラーとなっている場合は、応答データをクライアント1へ転送し、該当するオブジェクトの移動オブジェクト状態管理テーブル130からの削除は行わない(S204)。
If the operation request obtained from the request data is a delete operation in step S155 (S200), the
ステップ201において未コピー状態でない場合には、進行状態情報177によりコピー中状態であるかどうかを判断し(S205)、コピー中状態であれば、移動元のサーバ3、および移動先のサーバ3へ要求を送信することになり(S206)、データ移動処理部106へ該当するオブジェクトのコピー処理を停止させる(S207)。書き込み操作の場合と同様にして、移動元サーバ3、および移動先サーバ3へ要求パケットの送信と、それぞれから返答される応答パケット処理を実行(S208)した後、データ移動処理部106は、該当するオブジェクトの移動オブジェクト状態管理テーブル130のエントリを削除する。ただし、移動元サーバ3および移動先サーバ3から返答される応答データが、クライアント1に削除権限がないなどの理由によりエラーとなった場合は、応答データをクライアント1へ転送するとともに、該当するオブジェクトの移動オブジェクト状態管理テーブル130からの削除は行わずに、データ移動処理部106での該当するオブジェクトのコピーを再開させる(S209)。
If it is not in the uncopied state in
ステップS205においてコピー中状態でない場合には、進行状態情報177によりコピー終了状態であるかどうかを判断し(ステップS210)、コピー終了状態である場合には、移動元のサーバ3および移動先のサーバ3に転送することになり(S211)、コピー中状態の場合と同様にして、ステップS180か〜S171と同様の、移動元サーバ3、および移動先サーバ3へ要求パケットの送信と、それぞれから返答される応答パケット処理を実行した後(S212)、ステップS204に移行し、データ移動処理部106は、該当するオブジェクトの移動オブジェクト状態管理テーブル130のエントリを削除する。ただし、移動元サーバ3および移動先サーバ3から返答される応答データが、クライアント1に削除権限がないなどの理由でエラーとなっている場合は、応答データをクライアント1へ転送し、該当するオブジェクトの移動オブジェクト状態管理テーブル130からの削除は行わない。
If it is not in the copying state in step S205, it is determined from the
ただし、要求データから得られたさ操作対象のオブジェクトがディレクトリであり、かつ進行処理状態情報177がコピー中、もしくはコピー終了状態であった場合、移動元サーバ3と移動先サーバ3への要求送信の方法は、同時に要求を送信するのではなく、まず移動元サーバ3へ削除要求を送信し、削除操作要求が成功した場合のみ、移動先サーバに要求を送信することとし、移動元サーバ3においてエラーとなった場合は、移動先サーバ3へは削除要求を送らない。
However, if the object to be manipulated obtained from the request data is a directory and the progress
ステップS210においてコピー済み状態でない場合は、操作対象が移動済み状態である場合であるから(S213)、移動先のサーバ3へ要求パケットを転送することになり(S214)、移動オブジェクト状態管理テーブル130の該当した移動元オブジェクトID166のエントリの移動先オブジェクトID167に登録されている圧縮型情報付帯オブジェクトID151、もしくは追記型情報付帯オブジェクトID155に変換し(S215)、以降のスイッチ100における操作は、第2の実施形態における要求パケット、および応答パケットの処理と同様の方法をとる(S216)。
If it is not in the copied state in step S210, it is a case where the operation target is in the moved state (S213), so that the request packet is transferred to the destination server 3 (S214), and the moving object state management table 130 is displayed. Is converted into the compression type information-added
データ移動処理部106によるオブジェクト群の移動処理がすべて完了し、移動元サーバ3の該当するオブジェクトが削除された後、移動オブジェクト状態管理テーブル130を用いた、要求パケット、および応答パケット処理は、移動オブジェクト状態管理テーブル130のエントリを一定時間後にデータ移動処理部106によって削除されるまで有効となる。
After all the movement processing of the object group by the data
(第11の実施形態)本実施形態は、第10の実施形態をさらに変更した実施形態である。第10の実施形態では、移動対象となったすべてのオブジェクトの移動処理の終了後、移動元サーバ3の移動対象オブジェクトを削除していたが、本実施の形態では、前記移動元サーバ3の移動対象オブジェクトの削除を行なわない。また、移動処理中に、クライアント1からの更新操作要求、新規作成要求、削除要求のいずれかの操作要求が来た場合、操作対象オブジェクトの移動オブジェクト管理テーブル130の進行状態情報177が移動済み状態であっても、コピー済み状態と同じ処理をスイッチ100で行うことで、移動元の移動対象のオブジェクトとそのオブジェクトの複製である移動先の移動対象のオブジェクト間で同期を取り続けることが可能となる。
(Eleventh Embodiment) This embodiment is an embodiment obtained by further modifying the tenth embodiment. In the tenth embodiment, the movement target object of the
(第12の実施形態)本実施形態は、第10の実施形態および第11の実施形態をさらに変更した実施形態である。第10の実施形態、もしくは第11の実施形態では、スイッチ100での移動処理中にクライアント1からの更新操作要求が来た場合、操作対象となっているオブジェクトに移動オブジェクト状態管理テーブル130の更新ログ情報179に更新のメタ情報だけでなく、更新データも登録し、後々の更新部分のコピー処理時に、移動元サーバ3から読み出しを行わずに、直接移動先サーバ3の更新操作対象オブジェクトへ更新処理を行う。
(Twelfth Embodiment) This twelfth embodiment is an embodiment obtained by further modifying the tenth embodiment and the eleventh embodiment. In the tenth embodiment or the eleventh embodiment, when an update operation request is received from the
(まとめ)なお、前述のように、各実施形態に示すスイッチ装置は、図1に示すネットワーク構成のネットワークファイルシステムに適用することができるが、各実施形態のスイッチ装置は、図20に示すように、ネットワーク2ではなく、スイッチ100にサーバ3を直接接続する構成であっても、上述の機能を提供することが可能である。このようなネットワーク構成とすれば、クライアント1からサーバ3へのスイッチ100を経由しないアクセスを完全に遮断することができるため、クライアント1から直接サーバ3へ不正にアクセスすることによって発生するシステムダウンを防ぐことが可能となる。
(Summary) As described above, the switch device shown in each embodiment can be applied to the network file system having the network configuration shown in FIG. 1, but the switch device in each embodiment is shown in FIG. In addition, even if the
また、各実施形態に示すスイッチ装置では、オブジェクトID書き換え部101の代わりに、サーバ3が生成した元オブジェクトID150とサーバ識別情報154との組み合わせから成るエントリを有するテーブル(第1のテーブル)を備えていてもよい。この場合、データ解析部124は、このテーブルを参照して、ファイルアクセス要求に含まれるオブジェクトIDに対応するサーバ識別情報を求め、サーバ情報管理テーブル126を参照して、そのサーバ識別情報に対応するサーバのアドレス情報を求め、そのアドレス情報に基づいてそのファイルアクセス要求の転送先を決定する。このようにすれば、元オブジェクトID150をクライアント1へそのまま渡しても同様の機能を実現することができる。しかし、この場合には、同じデータ列を有する元オブジェクトID150が生成される可能性もあるため、そのテーブルに既に登録されている元オブジェクトID150と同一のデータ列を有するオブジェクトIDをスイッチ100で受信した場合は、スイッチ100において、そのオブジェクトIDを別のデータ列に書き換え、前述のテーブルに書き換えられたデータ列を登録するエントリを設けるなどの処理が必要となる。
In addition, the switch device shown in each embodiment includes a table (first table) having an entry made up of a combination of the
また、上述した各実施形態のスイッチ装置は、ネットワークファイルシステムに適用されているが、本発明はこれに限定されるものではなく、複数のサーバが所有するリソース(オブジェクト)をクライアントが利用するシステムであれば、ネットワークファイルシステム以外にも適用することができる。 Moreover, although the switch device of each embodiment described above is applied to a network file system, the present invention is not limited to this, and a system in which a client uses resources (objects) owned by a plurality of servers. If so, it can be applied to other than the network file system.
なお、スイッチ100には、スイッチ100の動作を実行するためのプログラムが記録されている。このプログラムは、コンピュータサーバであるスイッチ100のハードウエアの動作を制御するものであり、上述したスイッチ100の処理は、全てそのプログラムによって指定されているものである。
Note that a program for executing the operation of the
1 クライアント
2 ネットワーク
3 サーバ
4 ファイルシステム
5 記憶装置
6 ローカルファイルシステム
7 サーバ間専用結線
100 スイッチ
101 オブジェクトID書き換え部
102 ファイルアクセス管理部
103 パケット処理部
104 ファイルシステム補完処理部
105 擬似ファイルシステム
106 データ移動処理部
107 データ解析高速処理部
108 データ解析非高速処理部
120 要求応答分配部
121 要求処理部
122 応答処理部
123 アルゴリズムテーブル
124 データ解析部
125 トランザクションID管理テーブル
126 サーバ情報管理テーブル
127 特殊オブジェクトID管理テーブル
128 移動オブジェクトID管理テーブル
129 処理分類テーブル
130 移動オブジェクト状態管理テーブル
150 元オブジェクトID
151 圧縮型情報付帯オブジェクトID
152 圧縮データ
153 アルゴリズム識別情報
154 サーバ識別情報
155 追記型情報付帯オブジェクトID
156 削除データ
157 削除データ位置
158 サーバIPアドレス情報
159 サーバMACアドレス情報
160 トランザクションID
161 クライアントIPアドレス情報
162 クライアントMACアドレス情報
163 ファイルアクセス命令情報
164 オブジェクトID
165 命令情報
166 移動元オブジェクトID
167 移動先オブジェクトID
168 移動先サーバ情報
169 データ移動フラグ
170 フラグ付き圧縮型情報付帯オブジェクトID
171 フラグ付き追記型情報付帯オブジェクトID
172 データ移動世代番号
173 世代番号付き圧縮型情報付帯オブジェクトID
174 世代番号付き追記型情報付帯オブジェクトID
175 ポート番号情報
176 処理分類情報
177 進行状態情報
178 親オブジェクト番号
179 更新ログ情報
180 オブジェクト属性情報
200 擬似ファイルシステムディレクトリツリー
220 ルートディレクトリ
221〜224、300 ディレクトリ
225、301〜303 ダミーディレクトリ
226〜27 オブジェクトグループ
250 サーバA
251 サーバB
310 サーバL
311 サーバM
320 他の統合ディレクトリツリーのイメージ
900 ウェブスイッチ
902 HTTP処理部
903 パケット処理部
S100〜108、S110〜S117、S120〜S132 ステップ
S140〜148、S150〜S155、S160〜S166 ステップ
S170〜185、S190〜S198、S200〜S216 ステップ
DESCRIPTION OF
151 Compressed information incidental object ID
152
156
161 Client
165
167 Move destination object ID
168 Move
171 Write-once informational object ID with flag
172 Data movement generation number 173 Generation type attached object ID with generation number
174 Write-once information attached object ID with generation number
175 Port number information 176
251 Server B
310 Server L
311 server M
320 Image of Other Integrated Directory Tree 900
Claims (8)
前記サーバが公開しているオブジェクト群を別のサーバへ移動する処理を行う際、移動する全てのオブジェクトの移動処理の進行状態と、クライアントから移動処理中に要求された更新情報と、移動前における当該オブジェクトの移動元オブジェクトIDと、移動後における当該オブジェクトの移動先オブジェクトIDと、移動先のサーバの識別情報である移動先サーバ識別情報との組み合わせを管理するテーブルを参照し、
所定の基準に基づいて前記オブジェクトを移動させるとともに、移動処理の進行状態と、コピー処理中の更新ログと、当該オブジェクトの移動元IDと、移動先オブジェクトIDと、移動先サーバ識別情報とを前記テーブルにエントリする段階と、
移動処理を実行している際に、クライアントからの移動対象オブジェクトへの要求を転送する方法を、前記テーブルに登録されている進行状態と前記要求の内容により転送先を変更し、移動処理中であることを隠蔽する段階と、を備えるスイッチ方法。 In the switch apparatus logically arranged between at least one client and at least one server that manages at least one object, a request regarding the object transmitted from the client is sent to the server that manages the object. A switch method for forwarding and forwarding a response from the server to the request to a client that is a transmission source of the request;
When performing the process of moving the object group published by the server to another server, the progress status of all the moving objects, the update information requested during the movement process from the client, Refer to a table that manages a combination of a movement source object ID of the object, a movement destination object ID of the object after movement, and movement destination server identification information that is identification information of the movement destination server.
The object is moved based on a predetermined criterion, and the progress status of the movement process, the update log during the copy process, the movement source ID of the object, the movement destination object ID, and the movement destination server identification information are Entering the table,
A method for transferring a request from the client to the object to be moved during execution of the move process is performed by changing the transfer destination according to the progress state registered in the table and the content of the request. Concealing something, and a switching method.
前記サーバが公開しているオブジェクト群を別のサーバへ移動する処理を行う際、移動する全てのオブジェクトの移動処理の進行状態と、クライアントから移動処理中に要求された更新情報と、移動前における当該オブジェクトの移動元オブジェクトIDと、移動後における当該オブジェクトの移動先オブジェクトIDと、移動先のサーバの識別情報である移動先サーバ識別情報との組み合わせを管理するテーブルと、
所定の基準に基づいて前記オブジェクトを移動させるとともに、移動処理の進行状態と、コピー処理中の更新ログと、当該オブジェクトの移動元IDと、移動先オブジェクトIDと、移動先サーバ識別情報とを前記テーブルにエントリする移動処理管理手段と、を備え、
移動処理を実行している際に、クライアントからの移動対象オブジェクトへの要求を転送する方法を、前記テーブルに登録されている進行状態と前記要求の内容により転送先を変更して、移動処理中であることが隠蔽されるようにする、スイッチ装置。 Logically placed between at least one client and at least one server managing at least one object, and forwarding a request for the object sent from the client to the server managing the object; In a switching device that transfers a response from the server to the request to a client that is a transmission source of the request,
When performing the process of moving the object group published by the server to another server, the progress status of all the moving objects, the update information requested during the movement process from the client, A table for managing a combination of a movement source object ID of the object, a movement destination object ID of the object after movement, and movement destination server identification information which is identification information of the movement destination server;
The object is moved based on a predetermined criterion, and the progress status of the movement process, the update log during the copy process, the movement source ID of the object, the movement destination object ID, and the movement destination server identification information are A movement processing management means for entering the table,
While executing the move process, the method for transferring the request from the client to the object to be moved is changing the transfer destination according to the progress state registered in the table and the content of the request, and the move process is in progress. Switch device that makes it concealed.
When a data write request is received from the client for the object being copied during the move process, the update data included in the write request and the position of the write data are registered as update information in the table and then written. The switch device according to claim 5, wherein a request is transferred to a movement source, and writing to a movement destination object is performed using the update information after completion of the copy process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006229195A JP2007042115A (en) | 2001-11-02 | 2006-08-25 | Switching method, device and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001337838 | 2001-11-02 | ||
JP2006229195A JP2007042115A (en) | 2001-11-02 | 2006-08-25 | Switching method, device and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002168620A Division JP3879594B2 (en) | 2001-11-02 | 2002-06-10 | Switch method, apparatus and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007042115A true JP2007042115A (en) | 2007-02-15 |
Family
ID=37799971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006229195A Pending JP2007042115A (en) | 2001-11-02 | 2006-08-25 | Switching method, device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007042115A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234568A (en) * | 2007-03-23 | 2008-10-02 | Hitachi Ltd | Intermediate device for achieving virtualization of file level |
JP2008234264A (en) * | 2007-03-20 | 2008-10-02 | Nec Software Chubu Ltd | Load balancing device for file server, program for load balancing, and load balancing method |
JP2013045218A (en) * | 2011-08-23 | 2013-03-04 | Fujitsu Ltd | Data copy processing system, storage device, and data copy processing method |
JP2013515303A (en) * | 2010-11-29 | 2013-05-02 | ▲ホア▼▲ウェイ▼技術有限公司 | Method and system for virtual storage migration and virtual machine monitor |
US9000353B2 (en) | 2010-06-22 | 2015-04-07 | President And Fellows Of Harvard College | Light absorption and filtering properties of vertically oriented semiconductor nano wires |
JP2015125463A (en) * | 2013-12-25 | 2015-07-06 | エヌ・ティ・ティ・コムウェア株式会社 | Load balancing device, load balancing method, and load balancing program |
JP2016504700A (en) * | 2013-03-14 | 2016-02-12 | ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. | Method and system for object-based transactions in a storage system |
JP2016525256A (en) * | 2013-07-24 | 2016-08-22 | アルカテル−ルーセント | Method and apparatus for providing redundant data access |
-
2006
- 2006-08-25 JP JP2006229195A patent/JP2007042115A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234264A (en) * | 2007-03-20 | 2008-10-02 | Nec Software Chubu Ltd | Load balancing device for file server, program for load balancing, and load balancing method |
JP2008234568A (en) * | 2007-03-23 | 2008-10-02 | Hitachi Ltd | Intermediate device for achieving virtualization of file level |
US8380815B2 (en) | 2007-03-23 | 2013-02-19 | Hitachi, Ltd. | Root node for file level virtualization |
US8909753B2 (en) | 2007-03-23 | 2014-12-09 | Hitachi, Ltd. | Root node for file level virtualization |
US9000353B2 (en) | 2010-06-22 | 2015-04-07 | President And Fellows Of Harvard College | Light absorption and filtering properties of vertically oriented semiconductor nano wires |
JP2013515303A (en) * | 2010-11-29 | 2013-05-02 | ▲ホア▼▲ウェイ▼技術有限公司 | Method and system for virtual storage migration and virtual machine monitor |
US9411620B2 (en) | 2010-11-29 | 2016-08-09 | Huawei Technologies Co., Ltd. | Virtual storage migration method, virtual storage migration system and virtual machine monitor |
JP2013045218A (en) * | 2011-08-23 | 2013-03-04 | Fujitsu Ltd | Data copy processing system, storage device, and data copy processing method |
JP2016504700A (en) * | 2013-03-14 | 2016-02-12 | ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. | Method and system for object-based transactions in a storage system |
JP2016525256A (en) * | 2013-07-24 | 2016-08-22 | アルカテル−ルーセント | Method and apparatus for providing redundant data access |
JP2015125463A (en) * | 2013-12-25 | 2015-07-06 | エヌ・ティ・ティ・コムウェア株式会社 | Load balancing device, load balancing method, and load balancing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3879594B2 (en) | Switch method, apparatus and program | |
US20200218701A1 (en) | Consistent data storage in distributed computing systems | |
US8190741B2 (en) | Customizing a namespace in a decentralized storage environment | |
US11647097B2 (en) | Providing access to managed content | |
JP2007042115A (en) | Switching method, device and program | |
JP4154893B2 (en) | Network storage virtualization method | |
US7139747B1 (en) | System and method for distributed web crawling | |
US8990270B2 (en) | Protocol virtualization for a network file system | |
US8180747B2 (en) | Load sharing cluster file systems | |
US7647461B2 (en) | Method and apparatus for allocating resources among virtual filers on a filer | |
JP5167225B2 (en) | Technology that allows multiple virtual filers on one filer to participate in multiple address spaces with overlapping network addresses | |
US7373406B2 (en) | Method and system for effectively communicating file properties and directory structures in a distributed file system | |
EP2557514A1 (en) | Cloud Storage System with Distributed Metadata | |
US20040059866A1 (en) | System and method for representing named data streams within an on-disk structure of a file system | |
US20080281908A1 (en) | Hybrid segment-oriented file server and wan accelerator | |
JP2001526814A (en) | Distributed cache, prefetch, copy method and system | |
US20040267831A1 (en) | Large file support for a network file server | |
JP2004500660A (en) | Network storage system | |
JP2005539289A (en) | Transparent request routing for partitioned application services | |
JP2007012077A (en) | Access to content addressable data via network | |
US8527586B1 (en) | Multi-protocol global namespace mechanism for network attached storage | |
JP2017107556A (en) | Key catalogs in content-centric network | |
US7707299B2 (en) | Data package with recovery data | |
CN111400261A (en) | Method for rapidly adding or deleting folders by IPFS (Internet protocol file system) | |
JP2004054607A (en) | Switch device, method of distributed object management, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070118 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080619 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100209 |