JP2009211688A - Method, system, and computer program for migrating file - Google Patents

Method, system, and computer program for migrating file Download PDF

Info

Publication number
JP2009211688A
JP2009211688A JP2009019589A JP2009019589A JP2009211688A JP 2009211688 A JP2009211688 A JP 2009211688A JP 2009019589 A JP2009019589 A JP 2009019589A JP 2009019589 A JP2009019589 A JP 2009019589A JP 2009211688 A JP2009211688 A JP 2009211688A
Authority
JP
Japan
Prior art keywords
file system
file
application
destination
source
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
Application number
JP2009019589A
Other languages
Japanese (ja)
Inventor
Nils Haustein
ニルス・ホイシュタイン
Troppens Ulf
ウルフ・トロッペンス
Sven Oehme
スベン・ウーメ
Rainer Wolafka
ライナー・ボラフカ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009211688A publication Critical patent/JP2009211688A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To perform data migration between different local file systems so that migration during normal business hours is possible. <P>SOLUTION: A proxy component is constituted between an application and a source file system being a migration source and a file system being a migration destination. The proxy component is interoperated with the source file system and the migration destination file system and migrates data from the source file system to the migration destination file system and is transparent to the application. The proxy component converts the source file system and the migration destination file system to standard file system protocols represented by the application. The application does not need to cope with different file systems and makes data migration process completely transparent. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は電子データ・ストレージ管理の技術分野に関し、特にソース(移行元)ファイル・システムから移行先ファイル・システムにデータを移行させる即ちマイグレートする方法およびシステムに関する。 The present invention relates to the technical field of electronic data storage management, and more particularly, to a method and system for migrating data from a source file system to a destination file system.

ファイルをストアし、編成するのにファイル・システムが使用される。従来技術によれば、種々のタイプのネイティブな(ローカルな)ファイル・システム(NTFS、JFS、JFS2、およびXFSなど)がある。更に、種々のタイプのネットワーク・ファイル・システム・プロトコル(NFS、Fast connectsamba pc netlinkなどのCIFS、Apple File ProtocolおよびAFS、DCE/DFS)がある。ネットワーク・ファイル・システム・プロトコルはプロトコル・ベースでのクライアントへのファイル・システムを表し、ネイティブ・ファイル・システムにデータをストアする。多くのタイプのファイル・システムはプラットフォーム特有であり、例えばNTFS(New TechnologyFile System)が Microsoft Windows(登録商標)により使用されるだけであり、JFS(Journaled FileSystem)がAIXおよびLinuxのプラットフォームのために使用されるだけである。ネイティブ・ファイル・システムは、またウイキペディアのファイル・システム比較で示されるように、異なる特性を有している。
http://en.wikipedia.org/wiki/Comparison_of_file_systems.
A file system is used to store and organize files. According to the prior art, there are various types of native (local) file systems (such as NTFS, JFS, JFS2, and XFS). In addition, there are various types of network file system protocols (NFS, CIFS such as Fast connects amba pc netlink, Apple File Protocol and AFS, DCE / DFS). The network file system protocol represents a file system to clients on a protocol basis and stores data in the native file system. Many types of file systems are platform specific, for example NTFS (New Technology File System) is only used by Microsoft Windows (R) and JFS (Journaled FileSystem) is used for the AIX and Linux platforms. It is only done. Native file systems also have different characteristics, as shown in the Wikipedia file system comparison.
http://en.wikipedia.org/wiki/Comparison_of_file_systems.

例えば、NTFSはNTスタイルのACL(Access ControlLists)を許容し、JFSはmodbitするだけか、もしくは拡張属性(Extended Attributes)に改良版ACLをストアさせる。ネイティブ・ファイル・システムの種々の特性、およびITで強化したユーザーなど他の動作上の側面のせいで、ユーザーは一つのタイプのファイル・システムから他のタイプのファイル・システムにデータをマイグレートする必要があるかもしれない。更にストレージ技術の分野での変化のペースが速いせいで、ユーザーは一つのストレージ・システムから他の、例えば新しいストレージ・システムにデータをマイグレートすることを強いられる。このストレージ・システムはこれによって同じタイプのもしくは異なるタイプのものであってもよい。このストレージ・システムはまた同じ業者のでも異なる業者のでもよい。 For example, NTFS allows NT-style ACL (Access Control Lists), and JFS only modbits, or stores an improved version ACL in an extended attribute (Extended Attributes). Because of the various characteristics of native file systems and other operational aspects such as IT-enhanced users, users migrate data from one type of file system to another type of file system. You may need it. In addition, the rapid pace of change in the field of storage technology forces users to migrate data from one storage system to another, for example a new storage system. This storage system may thereby be of the same type or of a different type. The storage system may also be from the same vendor or a different vendor.

従来技術によるファイル・システムを配設(deploy)する種々の構成および目的がある。即ち、アプリケーション・サーバー構成およびファイル・サーバー構成である。 There are various configurations and purposes for deploying prior art file systems. That is, an application server configuration and a file server configuration.

図1は、従来技術によるローカル(ネイティブ)・ファイル・システムを配設するアプリケーション・サーバーのための例示の配置(セットアップ)を示す。 FIG. 1 shows an exemplary deployment (setup) for an application server deploying a local (native) file system according to the prior art.

アプリケーション・サーバー102はアプリケーション104を実行する。例えば、これは製品のための図面および明細書を創り出すのに使用されるアプリケーションであり得る。このデータ(図面および明細書)は通常はファイルにストアされる。このファイルはネイティブのファイル・システム106aにストアされる。このファイル・システムはそのアプリケーションに論理ストレージを提供し、そのデータはハード・ディスクなどのストレージ・システム108上に物理的にストアされる。アプリケーション104はネイティブのファイル・システム106aへの直接インターフェイス103を有し、ファイルの読み書きができるようにする。このインターフェイスをアプリケーション・プログラミング・インターフェイス(API)が代表してもよい。このシナリオでは、アプリケーション104およびネイティブのファイル・システム106aが同じアプリケーション・サーバー102上に存在する。 Application server 102 executes application 104. For example, this can be an application used to create drawings and specifications for a product. This data (drawings and specification) is usually stored in a file. This file is stored in the native file system 106a. This file system provides logical storage for the application, and the data is physically stored on a storage system 108 such as a hard disk. The application 104 has a direct interface 103 to the native file system 106a so that it can read and write files. This interface may be represented by an application programming interface (API). In this scenario, application 104 and native file system 106a reside on the same application server 102.

例えばファイル・システム106aが陳腐化すると、ファイル・システム106aから新しいファイル・システム106bにデータを移行すなわちマイグレートする必要がある。ネイティブのソース(すなわち移行元)ファイル・システム106aから移行先のファイル・システム106bへのデータ・マイグレーションは、従来技法によればアプリケーション104によって行われる。これによってそのアプリケーション104はソース・ファイル・システム106aから全てのファイルを読み出し、そのファイルを移行先のファイル・システム106bに書き込む。このことはアプリケーション104のためにより多くのオーバーヘッドを必要とし、そのことが前記のアプリケーション104がその実際のビジネス目的に仕えるのを妨げかねないことを意味する。 For example, when the file system 106a becomes obsolete, data needs to be migrated or migrated from the file system 106a to the new file system 106b. Data migration from the native source (ie source) file system 106a to the destination file system 106b is performed by the application 104 according to conventional techniques. As a result, the application 104 reads all the files from the source file system 106a and writes the files to the migration destination file system 106b. This requires more overhead for the application 104, which may prevent the application 104 from serving its actual business purpose.

図3で説明するファイル・サーバー306を含むセットアップのためにも同様の問題がある。ファイル・サーバー306はストレージ・システム310上にデータをストアするネイティブ・ファイル・システム308を配設している。 A similar problem exists for a setup that includes the file server 306 described in FIG. The file server 306 has a native file system 308 that stores data on the storage system 310.

ファイル・サーバー306はファイルが複数のクライアント・システム302のためのファイルのファイル共有を許容する。従来のファイル共有はネットワーク304に跨る幾つかのクライアント・システム302にファイル(データ)を利用させるというプロセスである。これはNFSやCIFSなどの標準化されたファイル・システムを介して行われることができる。NFSやCIFSは本発明を開示するために例示的に使用される。しかしまた、任意の他のファイル・システム・プロトコルが適当であるかもしれない。 File server 306 allows file sharing of files for multiple client systems 302. Conventional file sharing is a process in which files (data) are used by several client systems 302 across the network 304. This can be done via a standardized file system such as NFS or CIFS. NFS and CIFS are used illustratively to disclose the present invention. But also any other file system protocol may be appropriate.

クライアント・システム302はファイル・サーバー306にデータをストアするコンピュータおよび1個以上のアプリケーション301aを含む。アプリケーション301aおよびファイル・サーバー間のインターフェイスはファイル・サーバー・クライアント301bによって表される。このファイル・サーバー・クライアント301bはNFSやCIFSのクライアントであってもよいが、これに限るものではない。従って、ファイル・サーバーはNFSやCIFSのサーバーであってもよいが、これに限るものではない。NFSおよびCIFSは従来技術に従うファイル・システム・プロトコルである。 The client system 302 includes a computer that stores data in the file server 306 and one or more applications 301a. The interface between the application 301a and the file server is represented by a file server client 301b. The file server client 301b may be an NFS or CIFS client, but is not limited thereto. Accordingly, the file server may be an NFS or CIFS server, but is not limited thereto. NFS and CIFS are file system protocols according to the prior art.

データが書き込まれると、アプリケーション301aがファイル・サーバー・クライアント301bを介し、ネットワーク304を経てファイル・サーバー306にファイルを送る。ファイル・サーバー306はネイティブ(ローカル)のファイル・システム308中にデータをストアする。このネイティブのファイル・システム308はファイル・サーバーへの論理ストレージを表し、データはハード・ディスクなどのストレージ・システム310上に物理的にストアされる。従って、アプリケーション301aがファイルを読み出すと、それはファイル・サーバー・クライアント301bを用いてファイル・サーバー306にリクエストを送る。ファイル・サーバー306はネイティブ・ファイル・システム308中にそのファイルを置き、それをストレージ・システム310から取り出し、それをアプリケーション301aにファイル・サーバー・クライアント301bを介して送る。これが従来技術である。 When the data is written, the application 301a sends the file to the file server 306 via the network 304 via the file server client 301b. File server 306 stores data in native (local) file system 308. This native file system 308 represents logical storage to the file server, and data is physically stored on a storage system 310 such as a hard disk. Thus, when the application 301a reads a file, it sends a request to the file server 306 using the file server client 301b. File server 306 places the file in native file system 308, retrieves it from storage system 310, and sends it to application 301a via file server client 301b. This is the prior art.

例えばファイル・サーバー306が陳腐化するようになると、ファイル・サーバー306から新しいファイル・サーバー306にデータを移行すなわちマイグレートする必要がある。ソース即ち移行元のファイル・サーバー306から移行先のファイル・サーバー306へのデータ・マイグレーションは、従来技法によればアプリケーション301aによって行われる。これによってそのアプリケーションはファイル・サーバー306からのファイルを読み出し、そのファイルを移行先のファイル・サーバー306に書き込む。このことはアプリケーション104のためにより多くのオーバーヘッドを必要とし、そのことが前記のアプリケーション104がその実際のビジネス目的に仕えるのを妨げかねないことを意味する。 For example, when the file server 306 becomes obsolete, data needs to be migrated or migrated from the file server 306 to the new file server 306. Data migration from the source or source file server 306 to the destination file server 306 is performed by the application 301a according to conventional techniques. As a result, the application reads the file from the file server 306 and writes the file to the migration destination file server 306. This requires more overhead for the application 104, which may prevent the application 104 from serving its actual business purpose.

要約すると、図1および図3の両方のシナリオにおけるデータ・マイグレーション・プロセスは、まず第1にこれを行うためのアプリケーション104もしくは幾つかのアプリケーションを必要とする。従来技法では、通常の動作のために使用されるのと同じインフラストラクチャが使用される。従って、通常の動作のために利用できる処理能力(一定時間内に処理できる情報量)はそのマイグレーション・プロセスのせいで減ってしまう。それに加えて、多くのビジネス・アプリケーションはそのようなファイル・マイグレーション・タスクをサポートする組み込んだ機能を提供しない。従って、そのファイルは追加のツールの助けを借りて、そのアプリケーションの外側でコピーされる必要がある。 In summary, the data migration process in both the scenarios of FIGS. 1 and 3 first requires an application 104 or several applications to do this. Conventional techniques use the same infrastructure that is used for normal operation. Therefore, the processing capability (the amount of information that can be processed within a certain time) that can be used for normal operation is reduced due to the migration process. In addition, many business applications do not provide built-in functionality to support such file migration tasks. Therefore, the file needs to be copied outside of the application with the help of additional tools.

あまりにも多くのアプリケーションの反復および品質低下を防ぐためにマイグレーションは通常の動作が比較的アクティブでないときにスケジュールされることができる。しかし、このことはマイグレーションが長い時間かかるか、もしくは特定のマイグレーション時間窓を必要とする。更に、従来技法によるこの種のマイグレーションは、管理者がマイグレーションをモニターしなければならないので、時間および資源が不都合にも多くかかる。また更に多くのオーバーヘッド必要であり、従ってデータの完全性を検証するのにも不利である。これにより移行元のファイル・システムから読み出されるデータを、移行先のファイル・システムに書き込まれるデータにマイグレーション中に比較しなければならない。これによって、移行元のファイル・システムにおけるデータが再び変化しかねず、その結果再度それをマイグレートする必要を生じさせる。これはアプリケーションによってか、または外部ツールによって行われる必要がある。このように、実際上、マイグレーション・プロセスと並行してユーザーもしくはアプリケーションがファイル・システム使用している間に、そのファイル・システムをマイグレートすることは殆どいつも不可能である。 Migration can be scheduled when normal operation is relatively inactive to prevent too many application iterations and quality degradation. However, this may take a long time to migrate or require a specific migration time window. Furthermore, this type of migration according to conventional techniques is inconveniently time consuming and resource intensive as the administrator must monitor the migration. It also requires more overhead and is therefore disadvantageous for verifying data integrity. As a result, the data read from the migration source file system must be compared with the data written to the migration destination file system during migration. This can cause the data in the source file system to change again, resulting in the need to migrate it again. This needs to be done by the application or by an external tool. Thus, in practice, it is almost always impossible to migrate a file system while a user or application is using the file system in parallel with the migration process.

従って本発明の目的は、ビジネス目的でソース(移行元)ファイル・システムを使用する通常の業務時間中でもマイグレーションを可能にするように、異なるローカルのファイル・システム間ならびに異なるファイル・サーバー間のデータ・マイグレーションを行うための改良された方法を提供することである。 Accordingly, the object of the present invention is to enable data migration between different local file systems as well as between different file servers so as to enable migration during normal business hours using the source (source) file system for business purposes. It is to provide an improved method for performing migration.

本発明の前記の目的は、特許請求の範囲の独立請求項に示されている。更に本発明の有利な構成および実施例が夫々の実施態様項に開示されている。ここで各請求項について言及する。 The object of the invention is indicated in the independent claims. Further advantageous configurations and examples of the invention are disclosed in the respective embodiments. Reference is now made to each claim.

要約すると、本発明は発明のプロキシ・コンポーネントを含む。単にプロキシと呼んでもよい。これはアプリケーション、移行元のソース・ファイル・システムおよび移行先のファイル・システムの間に構成される。前記ファイル・システムはファイル・サーバー上でホストされるネットワーク・ファイル・システムもしくはネイティブの(ローカルの)ファイル・システムであってよい。これによってプロキシ・コンポーネントはソース・ファイル・システムおよび移行先ファイル・システムと相互運用される。本発明のプロキシ・コンポーネントはソース・ファイル・システムから移行先ファイル・システムにデータをマイグレートする。それはアプリケーションにトランスペアレントである。そのアプリケーションはそのデータ・マイグレーション・プロセスに含まれていない。これによってプロキシ・コンポーネントはソース・ファイル・システムおよび移行先のファイル・システムを、そのアプリケーションに代表される標準のファイル・システム・プロトコルに変換する。このようにして、アプリケーションは異なるファイル・システムに対処する必要がなく、このデータ・マイグレーション・プロセスを完全にトランスペアレントにする。 In summary, the present invention includes an inventive proxy component. It may simply be called a proxy. This is configured between the application, the source file system of the migration source, and the file system of the migration destination. The file system may be a network file system hosted on a file server or a native (local) file system. This allows the proxy component to interoperate with the source file system and the destination file system. The proxy component of the present invention migrates data from the source file system to the destination file system. It is transparent to the application. The application is not included in the data migration process. This causes the proxy component to convert the source file system and the destination file system to a standard file system protocol represented by the application. In this way, the application does not have to deal with different file systems, making this data migration process completely transparent.

本発明は、その基本的な側面によれば、アプリケーションにより使用されるファイルをソース・ファイル・システムから移行先ファイル・システムにマイグレートする方法および個々のシステムを開示する。前記アプリケーションは所定のアプリケーション・プログラミング・インターフェイス経由、すなわちそれ自身のAPIもしくは個々のファイル・サーバーと通信するファイル・サーバー・クライアント経由で前記ファイルに読み書きアクセスを行う。
そして、その方法は、以下のステップを含む。すなわち
a)マイグレーション制御用のプロキシ・コンポーネント(202、402)が、
前記アプリケーションにならびに前記ソース・ファイル・システムおよび移行先ファイル・システムの両方にAPIを導入し、かつ通常の動作中、前記アプリケーションにより標準のファイル・システム・プロトコルを介して発行される読み書きリクエストを行うステップと、
b)前記ステップa)に加えて、前記アプリケーションが発行し、かつ前記マイグレーション中、前記ソース・ファイル・システムが受け取ったファイルへの読み出しリクエストの場合に、前記プロキシ・コンポーネントが、
前記ソース・ファイル・システムから前記ファイルを読み出し(534)、かつ前記前記移行先ファイル・システムが必要とする特定のファイル・システム・プロトコルに従って前記移行先ファイル・システムに前記ファイルを書き込む(538)ステップと、
c)前記ステップa)に加えて、前記マイグレーション中、前記アプリケーションにが発行し、かつ前記ソース・ファイル・システムが受け取ったファイルへの書き込みリクエストの場合に、前記プロキシ・コンポーネントが、
前記ソース・ファイル・システムおよび前記移行先ファイル・システムに、前記前記移行先ファイル・システムが必要とする前記特定のファイル・システム・プロトコルに従って前記ファイルを書き込む(510)ステップとを含む。
The present invention, according to its basic aspects, discloses a method and individual systems for migrating files used by an application from a source file system to a destination file system. The application provides read / write access to the file via a predetermined application programming interface, ie via its own API or a file server client communicating with an individual file server.
The method includes the following steps. A) Migration control proxy components (202, 402)
Introduce APIs into the application and both the source file system and the destination file system and make read / write requests issued by the application via standard file system protocols during normal operation Steps,
b) In addition to step a), in the case of a read request to a file issued by the application and received by the source file system during the migration, the proxy component:
Reading the file from the source file system (534) and writing the file to the destination file system according to the specific file system protocol required by the destination file system (538) When,
c) In addition to step a), in the event of a write request to a file issued by the application and received by the source file system during the migration, the proxy component includes:
Writing the file to the source file system and the destination file system according to the particular file system protocol required by the destination file system (510).

前記の方法ステップは以下のステップに効果的に埋め込まれる。
‐マイグレーションの始めに、そして前記マイグレーションを終了するために、
ソース・ファイル・システムおよび移行先ファイル・システムを定義し、マイグレートされるべきファイルを定義し、そしてそのマイグレーション・プロセスのために開始時間をセットすることによってファイル・システム・マイグレーションのプロセスを初期化するステップと、
‐前記マイグレーション・プロセス中、前記ソース・ファイル・システムに既に書き込まれたファイルを含む全てのファイルがマイグレートされてしまったとき、前記マイグレーション・プロセスを終了するステップと、
‐前記アプリケーションが前記移行先ファイル・システムを実装する際の実装プロセスを初期化するステップと、
‐前記アプリケーションを開始もしくは再開し、かつ新しい読み書きリクエストのために前記移行先ファイル・システムを用いるステップとである。
Said method steps are effectively embedded in the following steps.
-At the beginning of the migration and to end the migration
Initialize the file system migration process by defining the source and destination file systems, defining the files to be migrated, and setting the start time for that migration process And steps to
-Ending the migration process when all files including files already written to the source file system have been migrated during the migration process;
-Initializing an implementation process when the application implements the destination file system;
Starting or restarting the application and using the destination file system for new read / write requests.

本発明の方法は、有利なことに、前記ファイル・システムが、ファイル・サーバー上でホストされるネットワーク・ファイル・システムもしくはネイティブの(ローカルの)ファイル・システムであり得るという前述の事実の故に、非常に広範な用法を有する。 The method of the present invention advantageously allows for the aforementioned fact that the file system can be a network file system hosted on a file server or a native (local) file system. Has a very wide range of usage.

前記プロキシ・コンポーネントはまた現在あるファイル・システム・プロトコルを適用してもよい。前記アプリケーションは前記プロキシ・コンポーネントによりエクスポートされるソース・ファイル・システムを表すファイル共有を実装し、前記ソース・ファイル・システム中の全てのデータへのアクセスを得る。前記ソース・ファイル・システムへの前記サーバーもしくはアプリケーションによる全てのその後のアクセス動作は、これによって前記プロキシ・コンポーネントによってインターセプトされるように構成される。前記プロキシ・コンポーネントは前記ソース・ファイル・システム中のファイルへのアクセスを扱うように、かつ前記移行先ファイル・システムに前記ファイルを同時にコピーするように構成される。 The proxy component may also apply existing file system protocols. The application implements a file share that represents the source file system exported by the proxy component and gains access to all data in the source file system. All subsequent access operations by the server or application to the source file system are thereby configured to be intercepted by the proxy component. The proxy component is configured to handle access to files in the source file system and to copy the files simultaneously to the destination file system.

一実施例では、前記プロキシ・コンポーネントが、NFSもしくはCIFSのような標準的なネットワーク・ファイル・システム・プロトコルに多くの異なるタイプのネイティブのファイル・システムを基本的に変換する。もし移行先ファイル・システム中の特定の機能が利用できないなら、前記プロキシ・コンポーネントはこれらの機能をマップし、それらを前記移行先ファイル・システムの拡張された属性にストアする。 In one embodiment, the proxy component essentially converts many different types of native file systems into standard network file system protocols such as NFS or CIFS. If specific functions in the destination file system are not available, the proxy component maps these functions and stores them in the extended attributes of the destination file system.

好適な実施例において、前記プロキシ・コンポーネントは、移行先ファイル・システムの前記ファイル共有を前記データ・マイグレーション中の前記アプリケーションにエクスポートしない。こうして、前記アプリケーションはそのプロセスによって影響されない。 In a preferred embodiment, the proxy component does not export the file share of the destination file system to the application during data migration. Thus, the application is not affected by the process.

重要で発明的な特徴は、本発明の方法が一つのファイル・システムから他のファイル・システムにデータ・マイグレーションを自律的に行い、一方で、ユーザーおよびアプリケーションは前記マイグレーション・プロセスと同時に前記ファイル・システムを使用することができることである。このことを達成するために、前記プロキシ・コンポーネントに含まれる発明的な制御コンポーネントが、アプリケーションもしくはファイル・サーバーからの読み書きコマンドをインターセプトし、前記ソース・ファイル・システムから前記移行先ファイル・システムへの前記データ・マイグレーションを自律的に行う。これはアプリケーションもしくはサーバーに夫々トランスペアレントに行われ、そしてそれはマイグレーションのための余分なアプリケーション介入の必要性を取り除く。その必要性を取り除けなければ前記マイグレーション・プロセスのための専用のインフラストラクチャを展開することになろう。その管理オーバーヘッドは非常に低い。何故ならば本発明によるシステムおよび方法が自律的に働くからであり、前記アプリケーションにはトランスペアレントだからである。 An important and inventive feature is that the method of the present invention autonomously performs data migration from one file system to another, while the user and application are simultaneously The system can be used. To accomplish this, an inventive control component included in the proxy component intercepts read / write commands from an application or file server and transfers from the source file system to the destination file system. The data migration is performed autonomously. This is done transparently to the application or server respectively, which removes the need for extra application intervention for migration. If this need is not removed, a dedicated infrastructure for the migration process will be deployed. Its management overhead is very low. This is because the system and method according to the invention works autonomously and is transparent to the application.

本発明はまたファイル・システム・ベースのデータを一つのストレージ・サブシステムから他のストレージ・サブシステムに自律した態様でマイグレートし、同時に一つのタイプのファイル・システムから他のタイプのファイル・システムにデータをマイグレートする方法を提供する。 The present invention also migrates file system-based data from one storage subsystem to another storage subsystem in an autonomous manner and simultaneously from one type of file system to another type of file system. Provides a way to migrate data.

本発明のシステムおよび方法は顧客もしくはプロバイダに提供されるサービスとして導入され得る。チャージングは、マイグレートされた能力、もしくはどれだけ長くそのシステムが使用されるかというタイミングに基づき得る。従って、本発明のシステムは従来技術によるレポーティング・ツールを含むことができる。 The system and method of the present invention can be implemented as a service provided to a customer or provider. Charging can be based on migrated capabilities or the timing of how long the system is used. Thus, the system of the present invention can include prior art reporting tools.

本発明は、実施例に沿って説明されているが、図面における各図の形状によって制限されるものではない。 Although the present invention has been described with reference to the embodiments, it is not limited by the shape of each drawing in the drawings.

図2は図1に基づくネイティブのファイル・システム106aを用いる、アプリケーション・サーバーのために使用される発明のデータ・マイグレーション・システムの好適な実施例を示す。プロキシ・コンポーネント202において導入される本発明のシステムおよび方法はネイティブのソース・ファイル・システム106aから、アプリケーション・サーバー102に属するネイティブの移行先ファイル・システム106bへのファイル・データ・マイグレーションのために使用される。ネイティブのソース・ファイル・システム106aおよびネイティブの移行先ファイル・システム106bは同じタイプのものであっても異なるタイプのものであってもよい。ファイル・サーバー203aおよびファイル・サーバー・クライアント201に対し、NFSは、NFSのファイル・サーバー・クライアント201およびNFSのファイル・サーバー203a間のデータ転送のためのファイル・システム・プロトコルとして使用される実施例であってよい。代替実施例において、NFSはCIFSに置き換えることができる。本発明はこれらのファイル・システム・プロトコルに限定されない。全てのコンポーネント(例えば、アプリケーション104、プロキシ・コンポーネント202、ネイティブのファイル・システム106aおよび106b)は同じアプリケーション・サーバー102上でホストされる。 FIG. 2 shows a preferred embodiment of the inventive data migration system used for an application server using the native file system 106a based on FIG. The system and method of the present invention introduced in proxy component 202 is used for file data migration from native source file system 106a to native destination file system 106b belonging to application server 102. Is done. The native source file system 106a and the native destination file system 106b may be of the same type or different types. For file server 203a and file server client 201, NFS is used as a file system protocol for data transfer between NFS file server client 201 and NFS file server 203a. It may be. In an alternative embodiment, NFS can be replaced by CIFS. The present invention is not limited to these file system protocols. All components (eg, application 104, proxy component 202, native file systems 106a and 106b) are hosted on the same application server 102.

アプリケーション・サーバー102によりホストされるアプリケーション104は発明のプロキシ・コンポーネント202に接続される。アプリケーション104はファイル・システムのデータを読み出したり書き込んだりする任意のアプリケーションであり得る。アプリケーション104はオフィス・アプリケーションおよびCADシステムのような同じサーバー上のファイルを処理してもよい。アプリケーション104はまた遠隔のクライアントにローカルのファイルを提供してもよい。この場合アプリケーション104はウエッブ・サーバーもしくはファイル・サーバーであってよい。プロキシ202というコンポーネントはアプリケーション読み出しおよび書き込みのリクエストのためのインターフェイスとして働くファイル・サーバー・クライアント201を含む。プロキシ・コンポーネント202はまた図5のプロセス500において概略説明する新規なデータ・マイグレーション・プロセスを導入するプロキシ・メソッド203cを含む。プロキシ・コンポーネント202はまたファイル・サーバー203aおよび異なるタイプのAPI203bを含む。そのAPIは、ファイル・システム106aおよび106bのタイプごとに1個のAPIである。ファイル・サーバー・クライアント201はファイル・サーバー203aと通信し、そのファイル・サーバーはソース・ファイル・システム106aおよび移行先ファイル・システム106b中のデータにAPI203bを介してアクセスする。ファイル・サーバー203aは、ソース・ファイル・システム106aからターゲットである移行先ファイル・システム106bにファイルのシームレスなマイグレーションを可能ならしめるように読み出しおよび書き込みのリクエスト中、プロキシ・メソッド203cと相互作用する。ソース・ファイル・システム106aはストレージ・システム108上にデータをストアし、移行先ファイル・システム106bはストレージ・システム208上にデータをストアする。ストレージ・システム108および208は同じタイプであっても異なるタイプであってもよい。代替実施例のファイル・システム106aおよび106bは、1個の同じストレージ・システム108上にデータをストアする。 An application 104 hosted by the application server 102 is connected to the proxy component 202 of the invention. The application 104 can be any application that reads and writes file system data. Application 104 may process files on the same server, such as office applications and CAD systems. Application 104 may also provide local files to remote clients. In this case, the application 104 may be a web server or a file server. The proxy 202 component includes a file server client 201 that serves as an interface for application read and write requests. Proxy component 202 also includes a proxy method 203c that introduces a new data migration process as outlined in process 500 of FIG. Proxy component 202 also includes a file server 203a and a different type of API 203b. The API is one API for each type of file system 106a and 106b. The file server client 201 communicates with the file server 203a, and the file server accesses data in the source file system 106a and the destination file system 106b via the API 203b. The file server 203a interacts with the proxy method 203c during read and write requests to enable seamless migration of files from the source file system 106a to the target destination file system 106b. The source file system 106 a stores data on the storage system 108 and the destination file system 106 b stores data on the storage system 208. Storage systems 108 and 208 may be the same type or different types. Alternate embodiment file systems 106a and 106b store data on one and the same storage system 108.

プロキシ・コンポーネント202の一部としてのファイル・サーバー203aはソース・ファイル・システム106aをファイル・システム・プロトコルに変換し、これをそのアプリケーションへのファイル・サーバー・クライアント201を介して表す。アクセス制御リストなどソース・ファイル・システムからのファイル・システム・メタ・データはまたファイル・システム・プロトコルに従ってプロキシ・コンポーネント202によりマップされる。アプリケーション104はソース・ファイル・システム106a上の以前の全てのデータを、ファイル・サーバー・クライアント201を介してアクセスしている。プロキシ・コンポーネント202は両ファイル・システム106aおよび106bにアクセスするが、アプリケーション104はプロキシ・コンポーネント202により、一層正確にはファイル・サーバー・クライアント201により表される1個のファイル・システムを見るだけである。 The file server 203a as part of the proxy component 202 converts the source file system 106a to a file system protocol and represents this via the file server client 201 to that application. File system meta data from the source file system, such as an access control list, is also mapped by the proxy component 202 according to the file system protocol. Application 104 is accessing all previous data on source file system 106 a via file server client 201. Although proxy component 202 has access to both file systems 106a and 106b, application 104 only sees one file system represented by proxy component 202, or more precisely, file server client 201. is there.

ファイル・サーバー203aおよびファイル・サーバー・クライアント201により展開されるファイル・システム・プロトコルは、NFSもしくはCIFSに基づく例示的なものであり得る。従来技法による任意の他のファイル・システム・プロトコルも同様に使用できる。 The file system protocol deployed by file server 203a and file server client 201 may be exemplary based on NFS or CIFS. Any other file system protocol according to conventional techniques can be used as well.

プロキシ・コンポーネント202、特にプロキシ・メソッド203cにおいて導入されるデータ・マイグレーション・プロセス500は図5で詳細に説明する。 The data migration process 500 introduced in the proxy component 202, particularly the proxy method 203c, is described in detail in FIG.

このプロセスはステップ502で開始し、ステップ502に続く。そのステップでは、アプリケーション104から仕掛かり中のコマンドがあるか判定される。アプリケーションからのコマンドはプロキシ・コンポーネント202の一部であるファイル・サーバー・クライアント201に送られる。もしステップ504の答えがイエス(Y)なら、そのプロセスは、プロキシ・コンポーネントがコマンドを受取るというステップ506に進む。そうでなく、ステップ504の答えがノー(N)なら、プロセスはメモリ・コントローラ520に進む。 The process starts at step 502 and continues to step 502. In this step, it is determined whether there is a command in progress from the application 104. Commands from the application are sent to the file server client 201 that is part of the proxy component 202. If the answer to step 504 is yes (Y), the process proceeds to step 506 where the proxy component receives the command. Otherwise, if the answer to step 504 is no (N), the process proceeds to the memory controller 520.

ステップ520では、ソース・ファイル・システム106aから移行先ファイル・システム106bにマイグレートされるべきファイルがもっとあるかそのプロセスがチェックする。もしステップ520の答えがイエスなら、そのプロセスはステップ522に進み、そこでファイルがソース・ファイル・システムから移行先ファイル・システムにプロキシ・コンポーネントによってコピーされる。ステップ522からはプロセスがステップ502に戻る。そうでなく、もしステップ520がノーなら、プロセスは以下で説明するようなステップ540に進む。 In step 520, the process checks whether there are more files to be migrated from the source file system 106a to the destination file system 106b. If the answer to step 520 is yes, the process proceeds to step 522 where the file is copied by the proxy component from the source file system to the destination file system. From step 522, the process returns to step 502. Otherwise, if step 520 is no, the process proceeds to step 540 as described below.

ステップ506に続くステップ507では、そのコマンドがファイル「書き込み」コマンドであるかそのプロセスがチェックする。もしその答えがイエスなら、そのプロセスはステップ508に進み、そこでは書き込まれるべきデータをファイル・サーバー203aが受取る。ステップ510では、ソース・ファイル・システム106aおよび移行先ファイル・システム106bにデータが書き込まれる。従ってそのデータは両方のファイル・システムに今は存在する。 In step 507 following step 506, the process checks whether the command is a file “write” command. If the answer is yes, the process proceeds to step 508 where the file server 203a receives the data to be written. In step 510, data is written to the source file system 106a and the destination file system 106b. So that data now exists in both file systems.

ステップ512では、そのコマンドが完遂される。これはそのオペレーションの結果をチェックし、そしてファイル・サーバー・クライアント201を介してそのアプリケーション104に適当な復帰コードを与える。ことを含む。ステップ512からそのプロセスはステップ502に戻る。 In step 512, the command is completed. This checks the result of the operation and provides an appropriate return code to the application 104 via the file server client 201. Including that. From step 512, the process returns to step 502.

もしステップ507の答えがノーであれば、そしてそのコマンドが「書き込み」でなければ、それは読み出しコマンドの筈であり、そのプロセスはステップ530に進む。ステップ530では、読み出されるべきデータが図2における両方のファイル・システム106a および106bに存在するか判定する。もしその答えがイエス(Y)なら、そのプロセスはステップ532に進み、そこで一つのファイル・システムがその読み出し動作のために選択される。その選択は、もっとも利用されていないファイル・システムが選択されるというポリシーに基づく。ステップ534では、そのデータがその選択されたファイル・システムから読み出され、そしてそのプロセスはステップ512に進み、その読み出しコマンドが完遂される。 If the answer to step 507 is no, and the command is not “write”, it is a read command trap and the process proceeds to step 530. In step 530, it is determined whether the data to be read exists in both file systems 106a and 106b in FIG. If the answer is yes (Y), the process proceeds to step 532 where a file system is selected for the read operation. The selection is based on the policy that the least utilized file system is selected. In step 534, the data is read from the selected file system and the process proceeds to step 512 where the read command is completed.

もしステップ530の答えがノーであって、読み出されるべきデータが両方のファイル・システムにないことを示すなら、そのプロセスはステップ536に進む。ステップ536では、そのデータがストアされているファイル・システムからデータが読み出される。ステップ538では、そのデータが他のファイル・システムにコピーされ、その結果今や両方のファイル・システムにそれが存在することになる。ステップ538からは、プロセスがステップ512に進み、そこで読み出しコマンドが完遂される。 If the answer to step 530 is no, indicating that there is no data to be read in both file systems, the process proceeds to step 536. In step 536, the data is read from the file system where the data is stored. In step 538, the data is copied to the other file system so that it now exists in both file systems. From step 538, the process proceeds to step 512 where the read command is completed.

ステップ540で、データ・マイグレーション・プロセスが終了する。このステップでいろいろなデータ完全性チェックが行われてもよく、これによってソース・ファイル・システム106a上のデータが移行先ファイル・システム106b上のデータと同一であることを確実にする。更に、そのデータ・マイグレーションが完了したことを示すメッセージがユーザーに送られてもよい。そのメッセージはSNMP、SMI−Sもしくはeメールのような従来からある方法で送られてもよい。 At step 540, the data migration process ends. Various data integrity checks may be performed at this step to ensure that the data on the source file system 106a is identical to the data on the destination file system 106b. In addition, a message may be sent to the user indicating that the data migration is complete. The message may be sent in a conventional manner such as SNMP, SMI-S or email.

ステップ542では、移行先ファイル・システム106bがアプリケーション104に実装(mount)される。これによって本発明の好適な実施例では、プロキシ・コンポーネント202が取り外され、移行先ファイル・システム106bがそのアプリケーションに実装される。今や、プロキシ・コンポーネント202によりマイグレートされたソース・ファイル・システム106a上の全てのデータにそのアプリケーションは直接アクセスすることになる。 In step 542, the migration destination file system 106b is mounted on the application 104. Thus, in the preferred embodiment of the present invention, proxy component 202 is removed and destination file system 106b is implemented in the application. The application now has direct access to all data on the source file system 106a that has been migrated by the proxy component 202.

代替実施例では、プロキシ・コンポーネント202が取り外されない。これは将来のマイグレーション・リクエストに対し柔軟性を確保するのには適切であろう。代わりに、プロキシ・コンポーネント202がファイル・サーバー・クライアントを介して移行先ファイル・システム106bを提供する。例えば、NFSプロトコルについていえば、プロキシ・コンポーネントが移行先ファイル・システムをアプリケーション104にエクスポートする。そのエクスポートされるファイル共有の名称はそのデータ・マイグレーションレーション中に使用される名称と同じであってよい。そこでソース・ファイル・システム106aがプロキシ・コンポーネントから除去され、完全に削除されることができる。このプロセスはステップ550で終了する。 In an alternative embodiment, proxy component 202 is not removed. This may be appropriate to ensure flexibility for future migration requests. Instead, proxy component 202 provides destination file system 106b via a file server client. For example, for the NFS protocol, the proxy component exports the migration destination file system to the application 104. The name of the exported file share may be the same as the name used during the data migration. The source file system 106a can then be removed from the proxy component and completely deleted. The process ends at step 550.

ビジネスの継続性の要求をアドレスする本発明の方法の他の重要な側面がある。ステップ510およびステップ538では、データが両方のファイル・システム、即ちソース・ファイル・システム106aおよび移行先ファイル・システム106bにコピーされる。もしステップ540においてマイグレーションの終了に至る前に例えばそのソース・ファイル・システムに欠陥があるなら、プロキシ・コンポーネントは移行先ファイル・システム106b中にストアされた全てのデータへの連続的なアクセスを許容するであろう。これはそのアプリケーションにトランスペアレントであり、高い可用性の目的に資する。 There are other important aspects of the method of the invention for addressing business continuity requirements. In step 510 and step 538, the data is copied to both file systems, namely the source file system 106a and the destination file system 106b. If in step 540, for example, the source file system is defective before reaching the end of the migration, the proxy component will allow continuous access to all data stored in the destination file system 106b. Will do. This is transparent to the application and serves the purpose of high availability.

次に、図4に言及すると、図3に示した従来例のファイル・サーバー・ベースのアーキテクチャのために適用可能な本発明のデータ・マイグレーション・システムおよび方法がもっと詳細に示される。ここでファイルはネットワークにおける異なるクライアント相互間で共有されるであろう。図5に示されるプロセス500の制御フローは殆ど同じままである。 Referring now to FIG. 4, the data migration system and method of the present invention applicable for the prior art file server based architecture shown in FIG. 3 is shown in more detail. Here the file will be shared between different clients in the network. The control flow of the process 500 shown in FIG. 5 remains almost the same.

プロキシ・コンポーネント402において実装される本発明のファイル・サーバー構成をベースとするシステムおよび方法は、ソース・ファイル・サーバー306から移行先ファイル・サーバー306bへのファイル・データ・マイグレーションのために使用される。ソース・ファイル・サーバー306および移行先ファイル・サーバー306bはそれらのファイル・システム308および308bを、その同じネットワーク・ファイル・システム・プロトコルを介してもしくは異なるネットワーク・ファイル・システム・プロトコルを介して共有してもよい。NFSもしくはCIFSはファイル・サーバー・クライアント301b とファイル・サーバー401aとの間のデータ転送のためのファイル・システム・プロトコルとして例示的に使用される。本発明はこれらのファイル・システム・プロトコルには限定されない。 The system and method based on the file server configuration of the present invention implemented in the proxy component 402 is used for file data migration from the source file server 306 to the destination file server 306b. . Source file server 306 and destination file server 306b share their file systems 308 and 308b via their same network file system protocol or via different network file system protocols. May be. NFS or CIFS is illustratively used as a file system protocol for data transfer between the file server client 301b and the file server 401a. The present invention is not limited to these file system protocols.

サーバー302上で実行するアプリケーション301aはソース・ファイル・サーバー306中にファイルをストアするためにファイル・サーバー・クライアント301bと通信する。 Application 301a running on server 302 communicates with file server client 301b to store files in source file server 306.

ファイル・サーバー・クライアント301bはネットワークネットワーク304を介して発明のプロキシ・コンポーネント402に接続される。プロキシ・コンポーネント402はファイル・サーバー401a、図5のプロセス500で詳細に説明するプロキシ・メソッド401b、ソース・ファイル・システムAPI401cおよび移行先ファイル・システムAPI401dを含む。 File server client 301b is connected to proxy component 402 of the invention via network 304. The proxy component 402 includes a file server 401a, a proxy method 401b described in detail in the process 500 of FIG. 5, a source file system API 401c, and a destination file system API 401d.

ファイル・サーバー401aおよびファイル・サーバー・クライアント301bはNFSもしくはCIFSに基づくのでもよいが、これに限るものではない。 ソース・ファイル・システムAPI401cはプロキシ・コンポーネント402をソース・ファイル・サーバー306に接続する。移行先ファイル・システムAPI401dはそのプロキシ・コンポーネントを移行先ファイル・サーバー306bに接続する。 The file server 401a and the file server client 301b may be based on NFS or CIFS, but are not limited thereto. The source file system API 401 c connects the proxy component 402 to the source file server 306. The migration destination file system API 401d connects the proxy component to the migration destination file server 306b.

プロキシ・コンポーネント402に従うファイル・サーバー401aは図3によるソース・ファイル・サーバー306と同じ、クライアント・システム302へのインターフェイスを示す。従って、クライアント・システム302を変更する必要はない。プロキシ・コンポーネント402はまたソース・ファイル・サーバー306からNFSプロトコルへのアクセス制御リストのようなファイル・システム・メタ・データをマップする。 File server 401a according to proxy component 402 shows the same interface to client system 302 as source file server 306 according to FIG. Therefore, there is no need to change the client system 302. Proxy component 402 also maps file system meta data, such as access control lists from the source file server 306 to the NFS protocol.

ソース・ファイル・サーバー306は図3にあるようなプロキシ・コンポーネント402にその同じファイル共有をエクスポートし、かくしてソース・ファイル・サーバー306は何の変化も必要としない。プロキシ・コンポーネント402はソース・ファイル・サーバー306からファイル・サーバー・クライアント301bにエクスポートされるファイル・システムを提供する。これはアプリケーション301a図3に関連して以前説明したのと同じデータを、アプリケーション301aが読み書きするのを可能にする。こうして、そのアプリケーションも何の変化もない。 The source file server 306 exports that same file share to the proxy component 402 as in FIG. 3, and thus the source file server 306 does not require any changes. Proxy component 402 provides a file system that is exported from source file server 306 to file server client 301b. This enables the application 301a to read and write the same data as previously described in connection with FIG. Thus, there is no change in the application.

更に、ソース・ファイル・サーバー306はファイル・システム308を、ストレージ・システム310上に物理的にストアされるデータのためのレポジトリとして配備し続ける。 In addition, source file server 306 continues to deploy file system 308 as a repository for data physically stored on storage system 310.

移行先ファイル・サーバー306bはストレージ・システム408b上にデータをストアする。代替実施例では、移行先のファイル・システム308bがリンク407を介してストレージ・システム310中にデータをストアする。ファイル・システム308および308bは同じタイプかもしくは異なるタイプのものであってよい。ストレージ・システム310および408bは同じタイプかもしくは異なるタイプのものであってよい。 The migration destination file server 306b stores data on the storage system 408b. In an alternative embodiment, the destination file system 308 b stores the data in the storage system 310 via link 407. File systems 308 and 308b may be of the same type or different types. Storage systems 310 and 408b may be of the same type or different types.

前述のプロセス500のプロセスの流れは殆ど同じままである。代替実施例では、プロキシ・コンポーネント402は、ステップ540で一旦マイグレーションが完遂すると除去されない。これは将来のマイグレーション・リクエストのための柔軟性を確保するのには適切かもしれない。代わりに、プロキシ・コンポーネント202がファイル・サーバー・クライアントを介して移行先のファイル・システム308bを提供する。例えば、NFSプロトコルについていえば、プロキシ・コンポーネントが移行先のファイル・システムをアプリケーション301aにエクスポートする。そのエクスポートされたファイル共有の名称はデータ・マイグレーション中に使用されるのと同じ名称であってもよい。それからソース・ファイル・システム106aはプロキシ・コンポーネントから除去されそして完全に削除される。 The process flow of the aforementioned process 500 remains almost the same. In an alternative embodiment, proxy component 402 is not removed once the migration is complete at step 540. This may be appropriate to ensure flexibility for future migration requests. Instead, proxy component 202 provides the destination file system 308b via a file server client. For example, regarding the NFS protocol, the proxy component exports the migration destination file system to the application 301a. The name of the exported file share may be the same name used during data migration. The source file system 106a is then removed from the proxy component and completely deleted.

本発明はまた互換性のないファイル・サーバー相互間のファイルのマイグレーションをも可能にする。これによって、ソースおよび移行先のファイル・システム106a、106bならびにソースおよびターゲットのファイル・サーバー306、306bは夫々同じタイプのものであるかもしくは異なるタイプのものであり得る。実際にも、本発明は一つのベンダーのファイル・サーバーから他のベンダーのファイル・サーバーへのデータ・マイグレーションを許容する。その際、同時にファイル・システムのタイプを変更も許容する。そしてもっとも重要かつ有利なことに、データ・マイグレーションがアプリケーションにトランスペアレントなことである。そのアプリケーションはデータ・マイグレーションのために時間も資源も使う必要がない。更に、そのアプリケーションのインフラ構造がデータ・マイグレーション中使用されることがより少ない。 The present invention also allows migration of files between incompatible file servers. Thereby, the source and destination file systems 106a, 106b and the source and target file servers 306, 306b may each be of the same type or of different types. Indeed, the present invention allows data migration from one vendor's file server to another vendor's file server. At the same time, the file system type can be changed. And most importantly and advantageously, data migration is transparent to the application. The application does not need to use time or resources for data migration. Furthermore, the application infrastructure is less used during data migration.

図2は一つのファイル・システムから他のファイル・システムにマイグレーションするためのアーキテクチャを示し、図4は一つのファイル・サーバーから他のファイル・サーバーへのマイグレーションを示す。これらの発明の方法およびアーキテクチャが、ファイル・サーバーからネイティブのファイル・システムにまたネイティブのファイル・システムからファイル・サーバーにマイグレートにファイルをマイグレートするのにも使用されることができることを当業者は理解できよう。 FIG. 2 shows the architecture for migrating from one file system to another, and FIG. 4 shows the migration from one file server to another. Those skilled in the art that these inventive methods and architectures can also be used to migrate files from a file server to a native file system and from a native file system to a file server. Can understand.

本発明は完全にハードウエアの実施例、完全にソフトウエアの実施例、またはハードウエアおよびソフトウエアの両方のエレメントを含む実施例の形態をとることができる。好適な実施例では、本発明は、ファームウエア、常駐のソフトウエア、マイクロコードなどを含むがそれらに限定されないソフトウエアで実装される。 The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the present invention is implemented in software, including but not limited to firmware, resident software, microcode, etc.

更に、本発明は、コンピュータが利用可能もしくはコンピュータ読み出し可能な媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることができ、コンピュータもしくは任意の命令実行システムによりもしくはそれと関連して使用するためのプログラム・コードを提供する。この説明のために、コンピュータが使用可能なもしくはコンピュータが読み出し可能な媒体であって、命令を実行するシステム、装置もしくはデバイスによりもしくはそれと関連して使用するためのプログラムを含み、ストアし、通信し、伝播し、もしくは搬送することができる任意の装置であってもよい。 Furthermore, the present invention may take the form of a computer program product that is available to a computer or accessible from a computer readable medium, and a program for use by or in connection with a computer or any instruction execution system.・ Provide code. For the purpose of this description, a computer usable or computer readable medium containing, storing and communicating with a program for use by or in connection with a system, apparatus or device for executing instructions. Any device capable of propagating or transporting.

その媒体は電子的、磁気的、光学的、電磁気的、赤外線、もしくは半導体のシステム(装置もしくはデバイス)、または伝播媒体であり得る。コンピュータ読み取り可能な媒体は半導体もしくは固体のメモリ、磁気テープ、取り外し可能なコンピュータ・フロッピー(登録商標)・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、ハード磁気ディスクおよび光ディスクを含む。光ディスクの現在の例はCD−ROM(コンパクト・ディスクの読み出し専用メモリ)、CD−R/W(コンパクト・ディスクの読み書きメモリ)およびDVDを含む。 The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (apparatus or device), or a propagation medium. Computer readable media include semiconductor or solid state memory, magnetic tape, removable computer floppy disk, random access memory (RAM), read only memory (ROM), hard magnetic disk and optical disk Including. Current examples of optical disks include CD-ROM (compact disk read-only memory), CD-R / W (compact disk read / write memory) and DVD.

プログラム・コードをストアしたり実行したりするのに適するデータ処理システムは、メモリ・エレメントにシステム・バスを介して直接もしくは間接に結合される少なくとも1個のプロセッサを含む。そのメモリ・エレメントは、プログラム・コード、大容量ストレージおよびキャッシュ・メモリの実際の実行中に用いられるローカル・メモリを含むことができる。そのキャッシュ・メモリは大容量ストレージから実行中にコードを取り出さねばならない回数を少なくするために少なくとも幾つかのプログラム・コードを一時的に記憶する役割がある。 A data processing system suitable for storing and / or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory used during actual execution of program code, mass storage, and cache memory. The cache memory is responsible for temporarily storing at least some program code to reduce the number of times code must be fetched during execution from mass storage.

入出力装置即ちI/O装置(キーボード、ディスプレイ、ポインティング装置などを含む)がそのシステムに直接にもしくは中間のI/Oコントローラを介して結合されることができる。 Input / output devices or I / O devices (including keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through an intermediate I / O controller.

そのシステムにはネットワーク・アダプタもまた結合されてもよい。これによりそのデータ処理システムが他のデータ処理システムに、または中間の私的もしくは公的なネットワークを介して遠隔のプリンタもしくはストレージ装置に結合されるようになるのが可能となる。モデム、ケーブル・モデム、およびイーサーネット・カードは現在利用可能なタイプのネットワーク・アダプタのほんの一部である。 A network adapter may also be coupled to the system. This allows the data processing system to be coupled to other data processing systems or to a remote printer or storage device via an intermediate private or public network. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters.

ネイティブ・ファイル・システムを用い、従来のアプリケーション・サーバー・ベースのシステムのために使用されるハードウエアおよびソフトウエアの環境よりなる、従来技法の最も基本的な構成のコンポーネントを示す。Figure 2 illustrates the most basic configuration components of the prior art using a native file system and consisting of the hardware and software environment used for a conventional application server based system. 図1によるアプリケーション・サーバー・ベースのシステムにおける本発明の方法の好適な実施例のために使用される発明のハードウエアおよびソフトウエアの環境よりなるもっとも基本的な構成のコンポーネントを示す。Fig. 2 shows the most basic components of the hardware and software environment of the invention used for the preferred embodiment of the method of the present invention in an application server based system according to Fig. 1; 従来技術のファイル・サーバー・ベースのシステムために使用される従来技術のハードウエアおよびソフトウエアの環境の最も基本的な構成のコンポーネントを示す。2 illustrates the most basic components of a prior art hardware and software environment used for a prior art file server based system. 図3によるファイル・サーバー・ベースのシステムにおける本発明の方法の好適な実施例のために使用される発明のハードウエアおよびソフトウエアの環境よりなるもっとも基本的な構成のコンポーネントを示す。Fig. 4 shows the most basic components of the hardware and software environment of the invention used for the preferred embodiment of the method of the invention in a file server based system according to Fig. 3; 本発明の方法の好適な実施例の重要な諸ステップの制御フローを示す。Fig. 4 shows a control flow of the important steps of a preferred embodiment of the method of the invention.

102 アプリケーション・サーバー
104 アプリケーション
106a (ソース)ファイル・システム
106b (移行先)ファイル・システム
108 ストレージ・システム
201 ファイル・サーバー・クライアント
202 プロキシ・コンポーネント
203a ファイル・サーバー
203b API(アプリケーション・プログラミング・インターフェイス)
203c プロキシ・メソッド
208 ストレージ・システム
301a アプリケーション
301b ファイル・サーバー・クライアント
302 クライアント・システム
304 ネットワーク
306 ファイル・サーバー
308 ネイティブ・ファイル・システム
310 ストレージ・システム
401a ファイル・サーバー
401b プロキシ・メソッド
401c ソース・ファイル・システムAPI
401d 移行先ファイル・システムAPI
402 プロキシ・コンポーネント
102 Application Server 104 Application 106a (Source) File System 106b (Destination) File System 108 Storage System 201 File Server Client 202 Proxy Component 203a File Server 203b API (Application Programming Interface)
203c proxy method 208 storage system 301a application 301b file server client 302 client system 304 network 306 file server 308 native file system 310 storage system 401a file server 401b proxy method 401c source file system API
401d Migration destination file system API
402 Proxy component

Claims (8)

ファイルへの読み書きアクセスを所定のアプリケーション・プログラミング・インターフェイス(API)203b、401dを介して行うアプリケーション104、301aがあり、該アプリケーションにより使用される前記ファイルをソース・ファイル・システム106a、308から移行先ファイル・システム106b、308bにマイグレートする方法であって、
a)マイグレーション制御用のプロキシ・コンポーネント202、402が、
前記アプリケーションにならびに前記ソース・ファイル・システムおよび移行先ファイル・システムの両方に前記APIを実装し、かつ通常の動作中、前記アプリケーションにより標準のファイル・システム・プロトコルを介して発行される読み書きリクエストを行うステップと、
b)前記ステップa)に加えて、前記アプリケーションが発行し、かつ前記マイグレーション中、前記ソース・ファイル・システムが受け取ったファイルへの読み出しリクエストの場合に、前記プロキシ・コンポーネントが、
前記ソース・ファイル・システムから前記ファイルを読み出し、かつ前記移行先ファイル・システムが必要とする特定のファイル・システム・プロトコルに従って前記移行先ファイル・システムに前記ファイルを書き込むステップ534、538と、
c)前記ステップa)に加えて、前記マイグレーション中、前記アプリケーションが発行し、かつ前記ソース・ファイル・システムが受け取ったファイルへの書き込みリクエストの場合に、前記プロキシ・コンポーネントが、
前記ソース・ファイル・システムおよび前記移行先ファイル・システムに、前記移行先ファイル・システムが必要とする前記特定のファイル・システム・プロトコルに従って前記ファイルを書き込むステップ510と
を含む方法。
There is an application 104, 301a that performs read / write access to a file via a predetermined application programming interface (API) 203b, 401d, and the file used by the application is migrated from the source file system 106a, 308 A method for migrating to file systems 106b, 308b,
a) Proxy components 202 and 402 for migration control are
The API is implemented in the application and in both the source file system and the destination file system, and read / write requests issued by the application via standard file system protocols during normal operation. Steps to do,
b) In addition to step a), in the case of a read request to a file issued by the application and received by the source file system during the migration, the proxy component:
Reading the file from the source file system and writing the file to the destination file system according to the specific file system protocol required by the destination file system; 534, 538;
c) In addition to step a), in the case of a write request to a file issued by the application and received by the source file system during the migration, the proxy component
Writing 510 the source file system and the destination file system according to the specific file system protocol required by the destination file system.
d)前記マイグレーション・プロセス中、前記ソース・ファイル・システムに既に書き込まれたファイルを含む全てのファイルがマイグレートされてしまったとき、前記マイグレーション・プロセスを終了するステップ530と、
e)前記アプリケーションが前記移行先ファイル・システムを実装する際の実装プロセスを初期化するステップ542と、
f)前記アプリケーションの読み書きリクエストを開始もしくは再開し、かつ新しい読み書きリクエストのために前記移行先ファイル・システムを用いるステップと
を更に含む、請求項1に記載の方法。
d) ending the migration process when all files including files already written to the source file system have been migrated during the migration process;
e) step 542 for initializing an implementation process when the application implements the destination file system;
2. The method of claim 1, further comprising: f) initiating or resuming the application read / write requests and using the destination file system for new read / write requests.
前記移行先ファイル・システムが標準のファイル・システムである、
請求項1に記載の方法。
The destination file system is a standard file system;
The method of claim 1.
前記のステップa)、b)、およびc)が、
前記アプリケーションからの前記読み書きリクエストをインターセプトするクライアント部分201、301bと、前記ソース・ファイル・システムおよび前記移行先ファイル・システムとの相互作用を管理するサーバー部分203a、401aとを有するマイグレーション・コントローラにより行われる、
請求項1に記載の方法。
Steps a), b), and c) above are
Performed by a migration controller having client portions 201, 301b that intercept the read / write requests from the application, and server portions 203a, 401a that manage interactions with the source file system and the destination file system. Called
The method of claim 1.
前記ソース・ファイル・システムおよび/もしくは前記移行先ファイル・システムがファイル・サーバー上でホストされるネットワーク・ファイル・システム、もしくはローカル・ファイル・システムである、
請求項1に記載の方法。
The source file system and / or the destination file system is a network file system hosted on a file server, or a local file system;
The method of claim 1.
前記ステップa)、b)、およびc)がウエブ・サービスとして実装される、
請求項1に記載の方法。
The steps a), b), and c) are implemented as web services;
The method of claim 1.
ファイルへの読み書きアクセスを所定のアプリケーション・プログラミング・インターフェイス(API)203b、401dを介して行うアプリケーション104、301aがあり、該アプリケーションが使用する前記ファイルをソース・ファイル・システム106a、308から移行先ファイル・システム106b、308bにマイグレートするための電子データ処理システムであって、プロキシ・コンポーネント202、402を含み、前記プロキシ・コンポーネントが、
a)前記アプリケーションにならびに前記ソース・ファイル・システムおよび移行先ファイル・システムの両方に前記APIを実装し、かつ通常の動作中、前記アプリケーションにより標準のファイル・システム・プロトコルを介して発行される読み書きリクエストを行う手段と、
b)前記アプリケーションが発行し、かつ前記マイグレーション中、前記ソース・ファイル・システムが受け取ったファイルへの読み出しリクエストの場合に、
前記ソース・ファイル・システムから前記ファイルを読み出し、かつ前記移行先ファイル・システムが必要とする特定のファイル・システム・プロトコルに従って前記移行先ファイル・システムに前記ファイルを書き込む手段534、538と、
c)前記マイグレーション中、前記アプリケーションが発行し、かつ前記ソース・ファイル・システムが受け取ったファイルへの書き込みリクエストの場合に、
前記ソース・ファイル・システムおよび前記移行先ファイル・システムに、前記移行先ファイル・システムが必要とする前記特定のファイル・システム・プロトコルに従って前記ファイルを書き込む手段510と
を含む、電子データ処理システム。
There are applications 104 and 301a that perform read / write access to files via predetermined application programming interfaces (APIs) 203b and 401d, and the files used by the applications are transferred from the source file systems 106a and 308 to the destination file An electronic data processing system for migrating to systems 106b, 308b, including proxy components 202, 402, wherein the proxy components include:
a) Implement the API in the application and in both the source file system and the destination file system, and read / write issued by the application via standard file system protocols during normal operation Means to make the request;
b) In the case of a read request to a file issued by the application and received by the source file system during the migration,
Means 534, 538 for reading the file from the source file system and writing the file to the destination file system according to a specific file system protocol required by the destination file system;
c) During the migration, in the case of a write request to a file issued by the application and received by the source file system,
Means 510 for writing the file to the source file system and the destination file system according to the specific file system protocol required by the destination file system.
ファイルへの読み書きアクセスを所定のアプリケーション・プログラミング・インターフェイス(API)203b、401dを介して行うアプリケーション104、301aがあり、該アプリケーションが使用する前記ファイルをソース・ファイル・システム106a、308から移行先ファイル・システム106b、308bにマイグレートするためのコンピュータ・プログラムであって、プロキシ・コンポーネント202、402の機能を含み、
a)前記アプリケーションにならびに前記ソース・ファイル・システムおよび移行先ファイル・システムの両方に前記APIを実装し、かつ通常の動作中、前記アプリケーションにより標準のファイル・システム・プロトコルを介して発行される読み書きリクエストを行うステップと、
b)前記ステップa)に加えて、前記アプリケーションが発行し、かつ前記マイグレーション中、前記ソース・ファイル・システムが受け取ったファイルへの読み出しリクエストの場合に、前記プロキシ・コンポーネントが、
前記ソース・ファイル・システムから前記ファイルを読み出し、かつ前記移行先ファイル・システムが必要とする特定のファイル・システム・プロトコルに従って前記移行先ファイル・システムに前記ファイルを書き込むステップ534、538と、
c)前記ステップa)に加えて、前記マイグレーション中、前記アプリケーションが発行し、かつ前記ソース・ファイル・システムが受取ったファイルへの書き込みリクエストの場合に、前記プロキシ・コンポーネントが、
前記ソース・ファイル・システムおよび前記移行先ファイル・システムに、前記移行先ファイル・システムが必要とする前記特定のファイル・システム・プロトコルに従って前記ファイルを書き込むステップ510と
をコンピュータに実行させるコンピュータ・プログラム。
There are applications 104 and 301a that perform read / write access to files via predetermined application programming interfaces (APIs) 203b and 401d, and the files used by the applications are transferred from the source file systems 106a and 308 to the destination file A computer program for migrating to systems 106b, 308b, including the functionality of proxy components 202, 402;
a) Implement the API in the application and in both the source file system and the destination file system, and read / write issued by the application via standard file system protocols during normal operation Making a request,
b) In addition to step a), in the case of a read request to a file issued by the application and received by the source file system during the migration, the proxy component:
Reading the file from the source file system and writing the file to the destination file system according to the specific file system protocol required by the destination file system; 534, 538;
c) In addition to step a), in the case of a write request to a file issued by the application and received by the source file system during the migration, the proxy component
A computer program that causes a computer to execute 510 to write the file to the source file system and the destination file system according to the specific file system protocol required by the destination file system.
JP2009019589A 2008-02-29 2009-01-30 Method, system, and computer program for migrating file Pending JP2009211688A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP08152115 2008-02-29

Publications (1)

Publication Number Publication Date
JP2009211688A true JP2009211688A (en) 2009-09-17

Family

ID=41184726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009019589A Pending JP2009211688A (en) 2008-02-29 2009-01-30 Method, system, and computer program for migrating file

Country Status (1)

Country Link
JP (1) JP2009211688A (en)

Similar Documents

Publication Publication Date Title
US11467755B2 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
CN107506258B (en) Method and apparatus for data backup
US9146755B2 (en) System and method for transporting platform independent power configuration parameters
US10747724B2 (en) System and method of using data blocks to optimize file storage
US8364638B2 (en) Automated filer technique for use in virtualized appliances and applications
TWI533213B (en) Storing and resuming application runtime state
US9813485B2 (en) Communication of virtual machine data
US8645672B2 (en) Configuring a computer system for a software package installation
US20140007092A1 (en) Automatic transfer of workload configuration
US11080041B1 (en) Operating system management for virtual workspaces
US11627169B2 (en) Network-based Media Processing (NBMP) workflow management through 5G Framework for Live Uplink Streaming (FLUS) control
US11768740B2 (en) Restoring operation of data storage systems at disaster recovery sites
JP5951002B2 (en) Selective policy enables component propagation between a host and multiple guests
US10552404B2 (en) Retrospective snapshots in log-structured storage systems
CN111459619A (en) Method and device for realizing service based on cloud platform
CN110870275B (en) Method and apparatus for shared memory file transfer
JP7422705B2 (en) METHODS, SYSTEMS AND COMPUTER-READABLE MEDIA
US9984097B2 (en) Systems and computer program products for transferring reserves when moving virtual machines across systems
US11363113B1 (en) Dynamic micro-region formation for service provider network independent edge locations
US10884621B2 (en) Block volume mount synchronization to prevent data corruption
JP2009211688A (en) Method, system, and computer program for migrating file
US10366104B2 (en) Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
TWI537750B (en) Method for supporting file management for physical file systems and file server using such method
US10209923B2 (en) Coalescing configuration engine, coalescing configuration tool and file system for storage system
US11435948B2 (en) Methods and systems for user space storage management