JP5046863B2 - 情報処理システム及びデータ管理方法 - Google Patents

情報処理システム及びデータ管理方法 Download PDF

Info

Publication number
JP5046863B2
JP5046863B2 JP2007285524A JP2007285524A JP5046863B2 JP 5046863 B2 JP5046863 B2 JP 5046863B2 JP 2007285524 A JP2007285524 A JP 2007285524A JP 2007285524 A JP2007285524 A JP 2007285524A JP 5046863 B2 JP5046863 B2 JP 5046863B2
Authority
JP
Japan
Prior art keywords
data
application
identifier
access
update
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.)
Expired - Fee Related
Application number
JP2007285524A
Other languages
English (en)
Other versions
JP2009116414A (ja
Inventor
昇司 児玉
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007285524A priority Critical patent/JP5046863B2/ja
Priority to US12/068,320 priority patent/US8473636B2/en
Publication of JP2009116414A publication Critical patent/JP2009116414A/ja
Application granted granted Critical
Publication of JP5046863B2 publication Critical patent/JP5046863B2/ja
Priority to US13/924,761 priority patent/US9609045B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、異なる複数のアプリケーション装置が稼動するシステムにおいて、クライアント装置に対して全アプリケーション装置のデータに統一的なアクセス手段を提供する技術分野に関する。
異なる複数のアプリケーション装置のデータに統一的な手段でアクセスするための従来技術としては、例えば、エンタープライズ・サーチ(Enterprise Search)技術、SRB(Storage Resource Broker)技術、GNS(Global Name Space)技術、XML(Extensible Markup Language)技術、Gmailファイル・システム(G mail File System)技術及びWebサービス(Web Services)技術がある。
エンタープライズ・サーチ技術は、システム内に存在するデータを、アプリケーション装置を横断して検索可能にする技術である。エンタープライズ・サーチ技術は、各アプリケーション装置からデータを参照し、データ内容に含まれるキーワードからインデックスを作成し、クライアント装置からのデータ検索要求に対して、検索に該当するデータの格納先をリストにして返す技術である。
この技術では、実際のデータにアクセスする場合は、そのデータを管理するアプリケーション装置が提供するインタフェースを利用するため、統一的なアクセス方法は提供していない。しかしながら、この技術では、データをテキストに変換し、テキスト化したデータを検索サーバ側にキャッシュしておくことで、クライアント装置はテキスト・データをテキスト表示ツール等など統一的な方法で参照することができる(非特許文献1参照)。
SRB技術及びGNS技術は、地理的な分散したストレージ内のデータに統一的にアクセスする手段を提供する。ストレージ装置は、インターネットに接続しており、任意の場所からデータの検索やアクセスを実現する。ストレージ装置は、主にファイル・サーバを対象としている(非特許文献2及び非特許文献3参照)。
XML技術は、データ・フォーマットをXMLで統一し、全アプリケーションがXMLインタフェースを提供することで、クライアント装置が全アプリケーション装置に対して統一的なXML形式でデータにアクセスすることを実現する(非特許文献4参照)。XML技術と同様にWebサービス技術は、アプリケーション装置がHTTPをベースとしたデータにアクセスするためのインタフェースを提供することで、クライアント装置がアプリケーション装置に統一的なWebサービスインタフェースでデータにアクセスすることを実現する(非特許文献5参照)。
Gmailファイル・システム技術は、メール・サーバをファイル・システムとして利用するための技術である。メール・サーバ内のメッセージとして、ファイル・システムを管理するための管理情報やファイル自体を格納する(非特許文献6参照)。
エンタープライズ・サーチ技術http://www.fastsearch.com/thesolution.aspx?m=376 SRB技術http://www.sdsc.edu/srb/Pappres/SRB-overview.ppt GNS技術http://www.onstor.com/global_namespace.php XML技術http://www.w3.org/TR/xml11/ Webサービス技術http://www.w3.org/TR/ws-arch/ Gmailファイル・システム技術http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html[非特許文献1〜6 平成19年10月31日URL検索]
しかしながら、従来技術であるエンタープライズ・サーチ技術やGmailファイル・システム技術では、変換後のテキスト・データへの参照は統一的な方法で行う事ができるが、データの更新が出来ないという問題がある。
また、従来技術であるSRB技術やGNS技術は、ファイル・サーバのようなデータ・アクセスのためのインタフェースが予め決まっているストレージ装置が対象であり、インタフェースが異なるアプリケーション装置を対象にはできないという問題がある。例えば、ネットワーク・ファイル・システム(Network File System :NFS)と呼ぶファイル共有プロトコルがデータ・アクセスのためのインタフェースとして使用されている。
従来技術であるXML技術は、アプリケーション装置をXMLに対応させる必要があり、既存のXMLをサポートしていないアプリケーション装置には対応できないという問題がある。Webサービス技術についても、同様に、サポートしていないアプリケーション装置には対応することができない。
このように、従来技術では、異なる複数のアプリケーション装置のデータに対して、データを利用するクライアント装置に対して統一的な方法でデータを参照・更新することができず、クライアント装置のユーザにとって使い勝手が悪いという問題がある。
本発明は以上の点を考慮してなされたもので、ユーザの使い勝手を格段的に向上させ得る情報処理システム及びデータ管理方法を提案するものである。
上述の課題を解決するために本発明においては、所定のフォーマットで記録される第1のデータをストレージ装置のボリュームにおいて管理する第1のアプリケーション装置と、前記第1のデータとは異なるフォーマットで記録される第2のデータを前記ストレージ装置の前記ボリュームにおいて管理する第2のアプリケーション装置と、前記第1のデータ及び前記第2のデータにアクセスするサーバ装置と、前記サーバ装置にアクセスして、前記第1のデータ及び前記第2のデータを使用するクライアント装置とを備え、前記サーバ装置は、前記第1のデータ及び前記第2のデータのそれぞれに固有の識別子を割り当てる割当て部と、前記識別子と前記識別子で識別される前記第1のデータ又は前記第2のデータにアクセスするためのアクセス方法との対応関係を管理する管理部と、前記管理部により管理される前記識別子を、前記クライアント装置に対して提示する提示部と、前記クライアント装置から前記識別子を指定して要求された前記第1のデータ又は前記第2のデータへのアクセス要求を、前記管理部により前記識別子に対応づけられた前記アクセス方法により、前記識別子に対応する前記第1のデータ又は前記第2のデータにアクセスするためのアクセス要求に変換する変換部と、前記変換部により変換された前記アクセス方法により、前記第1のデータ又は前記第2のデータへのアクセス要求を行って、アクセス結果を、前記クライアント装置に送信するデータアクセス部とを備える。
また、本発明においては、所定のフォーマットで記録される第1のデータをストレージ装置のボリュームにおいて管理する第1のアプリケーション装置と、前記第1のデータとは異なるフォーマットで記録される第2のデータを前記ストレージ装置の前記ボリュームにおいて管理する第2のアプリケーション装置と、前記第1のデータ及び前記第2のデータにアクセスするサーバ装置と、前記サーバ装置にアクセスして、前記第1のデータ及び前記第2のデータを使用するクライアント装置とを有する情報処理システムのデータアクセス方法であって、前記サーバ装置の割当て部が、前記第1のデータ及び前記第2のデータのそれぞれに固有の識別子を割り当てる第1のステップと、前記サーバ装置の管理部が、前記識別子と前記識別子で識別される前記第1のデータ又は前記第2のデータにアクセスするためのアクセス方法との対応関係を管理する第2のステップと、前記サーバ装置の提示部が、前記第2のステップにおいて管理した前記識別子を、前記クライアント装置に対して提示する第3のステップと、前記サーバ装置の変換部が、前記クライアント装置から前記識別子を指定して要求された前記第1のデータ又は前記第2のデータへのアクセス要求を、前記第2のステップにおいて前記識別子に対応づけた前記アクセス方法により、前記識別子に対応する前記第1のデータ又は前記第2のデータにアクセスするためのアクセス要求に変換する第4のステップと、前記サーバ装置のデータアクセス部が、前記第4のステップにおいて変換した前記アクセス方法により、前記第1のデータ又は前記第2のデータへのアクセス要求を行って、アクセス結果を、前記クライアント装置に送信する第5のステップとを備える。
さらに、本発明においては、所定のフォーマットで記録される第1のデータをストレージ装置のボリュームにおいて管理する第1のアプリケーション装置と、前記第1のデータとは異なるフォーマットで記録される第2のデータを前記ストレージ装置の前記ボリュームにおいて管理する第2のアプリケーション装置と、前記第1のデータ及び前記第2のデータが格納されるストレージ装置にアクセスするサーバ装置と、前記サーバ装置にアクセスして、前記第1のデータ及び前記第2のデータを使用するクライアント装置とを備え、前記サーバ装置は、前記第1のデータ及び前記第2のデータのコピーデータを作成するコピーデータ作成部と、前記第1のデータ及び前記第2のデータのコピーデータのそれぞれに固有の識別子を割り当てる割当て部と、前記識別子と前記識別子で識別される前記第1のデータ又は前記第2のデータのコピーデータのフォーマットを共有のフォーマットに変換するための方法との対応関係を管理する管理部と、前記管理部により管理される前記識別子を、前記クライアント装置に対して提示する提示部と、前記クライアント装置から前記識別子を指定して前記第1のデータ又は前記第2のデータのコピーデータを参照する参照要求が受信されたときに、指定された識別子に対応する前記第1のデータ又は前記第2のデータのコピーデータを前記ストレージ装置から読み出して、前記第1のデータ又は前記第2のデータのコピーデータのフォーマットを、前記管理部により前記識別子に対応づけられた前記共有のフォーマットに変換する変換部と、前記変換部により共有フォーマットに変換された前記第1のデータ又は前記第2のデータのコピーデータを、前記クライアント装置に送信するデータ送信部とを備える。
従って、クライアント装置のデータ利用者がアプリケーション装置毎のアクセス手段の違いを気にすることなく、統一的な方法で複数のアプリケーション装置をまたがってデータにアクセスすることができるため、データの再利用性を高めることができる。
本発明によれば、ユーザの使い勝手を格段的に向上させ得る情報処理システム及びデータ管理方法を実現できる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
(1)実施例1
図1は、アプリ・データ仮想化システム1の構成について示している。アプリ・データ仮想化システム1は、1台以上のクライアント装置2、アプリ・データ(アプリケーション装置4が管理しているデータ、以下同じ)仮想化ファイル・サーバ3、1台以上のアプリケーション装置4(アプリとも呼ぶ)及び1台以上のストレージ装置5から構成される。
クライアント装置2は、アプリ・データ仮想化ファイル・サーバ3経由でアプリケーション・データ(アプリケーション装置4が管理しているデータ、以下同じ)に統一的な方法でデータのアクセスを行うコンピュータであり、統一ファイル・システム・クライアントプログラム11を有する。
図2に、クライアント装置2のハード構成を示す。クライアント装置2は、CPU(Central Processing Unit)12、メモリ13、HDD(Hard Disk Drive)14、ネットワーク・インタフェース15を内部構成要素として有し、それらが内部バス16で接続されている。さらに、クライアント装置2には、ユーザ・インタフェースとして、ディスプレイ17、キーボード18及びマウス19が接続されている。
クライアント装置2は、ネットワーク・インタフェース15を介してネットワークに接続され、アプリ・データ仮想化ファイル・サーバ3と通信を行う。例えば、ネットワークは、イーサネット(登録商標)を使い、通信プロトコルとしてTCP/TP(Transmission Control Protocol/Internet Protocol)を利用することができる。なお、統一ファイル・システム・クライアントプログラム11は、HDD14に格納されている。
アプリ・データ仮想化ファイル・サーバ3は、複数のアプリケーション・データを仮想化し、クライアント装置2に対して統一的なデータへのアクセス方法を提供するサーバであり、データ・ディスカバリプログラム21、データ関連情報入手プログラム22、統一ファイル・サーバプログラム23、ストレージ制御プログラム24及び変換プログラム25を有する。また、アプリ・データ仮想化ファイル・サーバ3は、管理情報として、データ管理テーブル26、アプリ登録・管理テーブル27、アプリ用LU管理テーブル28、データ関連情報テーブル29及びインデックス30を有する。
図3に、アプリ・データ仮想化ファイル・サーバ3のハード構成を示す。アプリ・データ仮想化ファイル・サーバ3は、CPU31、メモリ32、HDD33、ネットワーク・インタフェース34を内部構成要素として有し、それらが内部バス35で接続されている。
アプリ・データ仮想化ファイル・サーバ3は、ネットワーク・インタフェース34を介してネットワークに接続され、クライアント装置2、アプリケーション装置4及びストレージ装置5と通信を行う。
なお、データ・ディスカバリプログラム21、データ関連情報入手プログラム22、統一ファイル・サーバプログラム23、ストレージ制御プログラム24、変換プログラム25、データ管理テーブル26、アプリ登録・管理テーブル27、アプリ用LU管理テーブル28、データ関連情報テーブル29及びインデックス30は、HDD33に格納されている。
アプリケーション装置4は、アプリケーション・データを使って業務を行うサーバである。例えば、アプリケーション装置4には、メール・サーバや、WEBサーバ、ファイル・サーバ(Network Attached Storage :NAS)などがある。本特許では、各アプリケーション装置4の業務内容の詳細やその実現方式の詳細については説明しない。本特許を実現するに当たって、アプリケーション装置4は、データ・アクセスプログラム41の実行し、データ・アクセス機能を提供する。このデータ・アクセス機能は、アプリ・データ仮想化ファイル・サーバ3に対して、アプリケーション装置4毎に特有な方法で、ネットワーク経由で、それぞれ所定のフォーマットで記録されているアプリ・データにアクセスさせるためのプログラムである。例えば、アプリケーション装置4は、メール・サーバの場合、IMAP4(Internet Message Access Protocol v4)プロトコルを使って、外部のコンピュータがメール・サーバ内のメールにアクセスすることができる。
アプリケーション装置4のハード構成は、そのアプリケーション装置4に依存するが、例えば、図3に示したアプリ・データ仮想化ファイル・サーバ3と同様のPCサーバ構成がある。
アプリケーション装置4は、ネットワーク・インタフェースを介してネットワークに接続し、アプリ・データ仮想化ファイル・サーバ3及びストレージ装置5と通信を行う。なお、データ・アクセスプログラム41は、アプリケーション装置4のHDDに格納されている。
図1には示していないが、アプリケーション装置4には、当該アプリケーション装置4を直接使うユーザやクライアント装置が存在する。アプリケーション装置4を直接使うユーザやクライアント装置は、アプリケーション・データを更新する。例えば、アプリケーション装置4を直接使うユーザやクライアント装置は、メール・サーバの場合、メーラーがクライアント装置側ソフトウェアに対応し、アプリケーション装置4と直接メールの読み書きを行うことで、アプリケーション・データの内容を更新する。
ストレージ装置5は、アプリケーション・データと、アプリ・データ仮想化ファイル・サーバ3の更新データをボリューム(Logical Unit :LU)53、54に格納する。ストレージ装置5は、データ・アクセスプログラム51を実行し、ボリューム53、54内のデータにアクセスするためにデータ・アクセス機能を提供する。例えば、ストレージ装置5は、SCSI(Small Computer System Interface)や、NFS(Network File System)などのデータ・アクセス用のプロトコルを使って、アプリ・データ仮想化ファイル・サーバ3及びアプリケーション装置4に対してデータへのアクセス手段を提供する。
また、ストレージ装置5は、ストレージ制御プログラム52を実行し、当該ストレージ装置5の構成を変更したり、ボリューム53、54のコピーを取得したりするためのストレージ制御機能をアプリ・データ仮想化ファイル・サーバ3に提供する。アプリ・データ仮想化ファイル・サーバ3は、ストレージ制御プログラム24を実行し、ストレージ装置5の構成情報参照や変更の要求、ボリューム53、54のコピー作成要求などをストレージ装置5に要求する。ストレージ制御機能は、要求内容に基づいて処理を行う。データ・アクセス機能や、ストレージ制御機能の実現方式は、既に公知の技術で実現できるため、本実施例では説明を省略する。
図4に、ストレージ装置5のハード構成を示す。ストレージ装置5は、ネットワーク・インタフェース55、コントローラ56、キャッシュメモリ57、ディスク・インタフェース58、HDD59から構成され、HDD59以外は内部バス60で接続されている。HDD59は、ディスク・インタフェース58に接続されている。
ストレージ装置5は、ネットワーク・インタフェース55を介してネットワークに接続され、アプリ・データ仮想化ファイル・サーバ3及びアプリケーション装置4と通信を行う。なお、データ・アクセスプログラム51及びストレージ制御プログラム52は、アプリケーション装置4のHDD59に格納されている。
図5に、データ管理テーブル26の例を示す。データ管理テーブル26は、アプリ・データ仮想化ファイル・サーバ3がディスカバリした全アプリケーション・データを管理するための管理情報である。データ管理テーブル26は、仮想識別子26A、オリジナル格納位置26B、オリジナル更新時刻26C、アカウント情報26D、コピー数26E及び更新先格納位置26Fから構成される。
仮想識別子26Aは、アプリ・データ仮想化ファイル・サーバ3が、後述する方法でアプリケーション・データをディスカバリした後に、データ各々にユニークに割り当てる識別子である。クライアント装置2は、この仮想識別子を指定してデータ・アクセスをアプリ・データ仮想化ファイル・サーバ3に要求する。
オリジナル格納位置26Bは、特定した各々のデータのアクセス先を示す情報である。オリジナル格納位置26Bは、アプリ・データ仮想化ファイル・サーバ3が、アプリケーション装置4内のデータにアクセスするときには、データを格納するアプリケーション装置4のIPアドレス26G、アプリケーション装置4の種別であるアプリ種別26H、そのアプリケーション装置4内でデータを識別するための識別子であるアプリ内識別子26Iを指定する。IPアドレス26Gにより、アプリケーション装置4への通信先が分かり、アプリ種別26Hによりデータ・アクセスのためにどのプロトコルやインタフェースを使うのかが分かり、アプリ内識別子26Iによってアプリケーション装置4内のデータを特定する。例えば、アプリケーション装置4がメール・サーバの場合には、プロトコルはIMAP4となり、アプリ内識別子26IはIMAP4が規定するUID(Unique Identifier)となる。
オリジナル更新時刻26Cは、アプリケーション・データがいつ更新されたかを示す情報である。オリジナル更新時刻26Cは、アプリ・データ仮想化ファイル・サーバ3がアプリケーション・データをディスカバリする際に、前回のディスカバリ時からデータが更新されたかどうかを調べるために利用する。詳細は後述するが、クライアント装置2がアプリ・データ仮想化ファイル・サーバ3経由でライト更新不可のデータを更新した場合、更新データは、当該更新データを格納するボリューム54に格納される。一方、アプリケーション装置4のユーザは、アプリ・データ仮想化ファイル・サーバ3を経由せずに、直接同データを更新する状況がある。この状況を検知するために、アプリ・データ仮想化ファイル・サーバ3は、オリジナル更新時刻26Cを利用する。
アカウント情報26Dは、そのデータにアクセスするためのアカウント名とパスワード、及びデータのアクセス権を示す情報である。詳細は後述するが、アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2からデータへのアクセス要求があったとき、このアカウント情報26Dを使って、クライアント装置2が該データにアクセスする権利があるかを判定し、権利があれば、アカウント情報26Dに記載したアカウント名とパスワードを使ってデータへのアクセスを行う。
コピー数26Eは、アプリケーション・データへの統一アクセスを実現する目的においては必要のない情報である。コピー数26Eは、本発明のもう一つの目的である、データ間の依存関係情報を使って、クライアント装置2がデータにアクセスする際の効率を向上させるために利用する。
本実施例では、データの関係情報としてデータ間のコピー関係情報を例に説明する。ストレージ装置5がデータのコピー機能を使ってデータの複製を別のボリューム53に作成したり、バックアップ・ソフトがデータのバックアップを別のボリューム53に行うと、ストレージ装置5は、オリジナルのデータのコピーを作成する。データ間のコピー関係情報とは、どのデータとどのデータがコピー関係にあるかを示す情報である。さらに、データ管理テーブル26で管理するコピー数とは、そのデータが複数回コピーされている場合、そのコピーの合計数を示す情報である。本実施例では、重要な情報ほどデータ・ロスが発生しないようコピー数が増えるため、データの重要度とコピー数には関連性があると仮定している。
アプリ・データ仮想化ファイル・サーバ3は、ストレージ装置5や、データをバックアップするためのバックアップ・サーバ(図示せず)からコピー関係情報を入手する。アプリ・データ仮想化ファイル・サーバ3は、データの検索時には、検索結果にデータを並べる順序をコピー数の高い順に行うことで、重要なデータが検索結果の先頭に並ぶ為、ユーザにとって重要なデータを見つけやすいというメリットが出てくる。
更新先格納位置26Fには、更新不可能なデータを更新する場合に、更新データをアプリケーション・データとは別のボリューム54に格納する。この際、アプリ・データ仮想化ファイル・サーバ3は、更新データの格納位置を管理するために更新先格納位置26Fの情報を使う。
図6に、アプリ登録・管理テーブル27の例を示す。アプリ登録・管理テーブル27は、アプリ・データ仮想化ファイル・サーバ3が管理対象とするアプリケーション装置4のリストを管理することと、アプリケーション・データにアクセスするための方法を特定するために利用する。アプリ登録・管理テーブル27は、アプリケーション装置4のIPアドレス27A、アプリ種別27B、アカウント情報リスト27C、更新可否27D及び変換プログラム27Eから構成される。
アプリ登録・管理テーブル27の内容は、アプリ・データ仮想化ファイル・サーバ3の管理者が、予めシステム起動前に管理端末経由で設定する。仮想化するアプリケーション装置4の増減など、内容に変更が必要になった場合は、管理者は、アプリ登録・管理テーブル27の内容を変更し、必要があればアプリ・データ仮想化ファイル・サーバ3への通知もしくは再起動を行う。
IPアドレス27Aとアプリ種別27Bは、アプリケーション装置4を特定するために利用する。
アカウント情報リスト27Cは、アプリケーション・データを利用するユーザが複数存在し、かつアプリケーション・データがユーザ毎に分離していた場合に、アプリ・データ仮想化ファイル・サーバ3が全アプリケーション・データにアクセスするために必要なアカウント名とパスワードを示す情報のリストである。全アプリ・データに一つのアカウントでアクセスできるルート権限を持つアカウントがあれば、必要なアカウントは、ルート・アカウントのみになる。もし、全アプリ・データにアクセスするために複数のアカウントを使ってデータにアクセスしなければならない場合、複数のアカウント情報が必要になり、必要なアカウントは、リストとして管理する。例えば、メール・サーバの場合、ユーザ毎に個別のアカウント名を有し、ユーザ毎にアクセスできるメールは異なるため、クライアント装置4のユーザは、全メールにアクセスするためには全ユーザのアカウント名が必要になる。
更新可否27Dは、アプリケーション・データをアプリ・データ仮想化ファイル・サーバ3経由で更新しても良いかどうかを示す情報である。更新可否27Dは、更新しても良い場合は可となり、更新できない場合は不可となる。例えば、メール・サーバの場合、通常時は、ユーザがメーラー経由でメールの送受信を行っているため、第三者であるアプリ・データ仮想化ファイル・サーバ3がメールを書き換えてしまうとデータ内容の一貫性が保てず問題が発生する。そのため、更新可否27Dは、不可となる。また別の例では、WEBサーバの場合、そもそもデータの更新手段が存在しないため、更新可否27Dは、不可となる。ファイル・サーバ(NAS)の場合、権限があれば誰がデータの更新を行っても運用上問題は発生せず、またデータを更新する手段を提供しているため、更新可否27Dは、可となる。
変換プログラム情報27Eは、統一アクセスを行う手段とアプリケーション装置4固有のデータ・アクセス手段を変換する変換プログラム25の所在を示すために用いる。例えば、統一アクセス手段でデータの参照要求をクライアント装置2が行った場合、アプリ・データ仮想化ファイル・サーバ3は、要求データを有するアプリケーション装置4を特定し、そのアプリケーション装置4が提供するアクセス手段でデータ参照要求を、当該アプリケーション装置4に行うために、そのアプリケーション装置4に対応する変換プログラム25を起動もしくはコールする。そして、アプリ・データ仮想化ファイル・サーバ3は、統一アクセス手段のデータ参照要求を、そのアプリケーション装置4固有のデータ参照要求に変換した上で、その変換したデータ参照要求をアプリケーション装置4に送信する。変換プログラム情報27Eは、どの変換プログラム25を使うのかを指定する。
変換プログラム25は、統一アクセス手段とアプリ固有のアクセス手段の違いによって様々な実施例が考えられる。本実施例では、すべての統一アクセス手段とすべてのアプリ固有のアクセス手段の組み合わせすべてについて変換プログラム25の実施例を記述することはできないため、統一アクセス手段がネットワーク・ファイル・システム(NFS)、アプリ固有アクセス手段がIMAP4の場合について簡単に説明する。
図7は、変換プログラム25による変換の一例として、NFSとIMAP4の変換の例の場合に使用するテーブルである変換テーブル61を示している。この変換テーブル61は、IMAP4をアプリ独自のアクセス手段61A、NFSを統一アクセス手段61Bとして構成される。以下、両アクセス手段間の変換方式について説明する。
変換方式を検討する場合、大きく2点を決定する必要がある。一つがデータの対応関係であるデータ対応関係61C、もう一つがコマンドの対応関係であるコマンド対応関係61Dである。このため、変換テーブル61は、データ対応関係61C及びコマンド対応関係61Dを有する。
データ対応関係61Cは、アプリ種別61E、データ単位61F、データ名61G、データ識別子61H、属性情報61I、アプリ拡張情報61J、ユーザ名61K、パスワード61L、アクセス権61Mに関する対応関係を決定する情報を有する。
アプリ種別61Eは、各々のアクセス手段を区別する名称である。
データ単位61Fは、クライアント装置2が一つのデータとして扱う単位である。この変換テーブル61では、データ単位61Fは、IMAP4が管理するメッセージを一つのデータとして扱い、それをNFS側の一つのファイルに対応付けている。例えば、ファイルの参照要求は、メッセージの参照要求として解釈する。
データ名61Gは、ユーザが可読できるデータに付与する名称である。この変換テーブル61では、データ名61Gは、メッセージ内のサブジェクトをデータ名とし、それをNFS側のファイル名に対応付けている。例えば、NFS側(クライアント装置2)でファイルのリスティングを行うと、メッセージのサブジェクト名のリストが出力される。
データ識別子61Hは、データを識別するための情報である。この変換テーブル61では、データ名61Gは、メッセージを識別するためにIMAPがメッセージにUIDを付与しているので、それを識別子とし、それをNFS側のデータへのパス名を識別子として使う。例えば、NFS側でパス名を指定してデータ・アクセス要求があった場合、アプリ・データ仮想化ファイル・サーバ3は、対応するメッセージのUIDを使ってメッセージにアクセスする。
属性情報61Iは、データに付属する情報である。この変換テーブル61では、属性情報61Iは、メッセージの場合、メッセージのサイズが属性情報になり、これをNFS側のファイル・サイズに対応させる。例えば、NFS側でファイルの属性情報を表示する場合、対応するメッセージの属性情報を表示する。NFS側では、メッセージにはない作成時刻や最終アクセス時刻なども情報をクライアント装置2に提示する必要がある。クライアント装置2がそれらの情報提供を求めてきた場合は、常に無効な情報を返すか、データ管理テーブル26にエントリを増やしてアプリ・データ仮想化ファイル・サーバ3内で情報を管理する。
アプリ拡張情報61Jは、NFS側にはないが、IMAP4側には存在する属性情報を指す。例えば、IMAP4側には存在する属性情報は、メッセージの未読フラグや返信済みフラグなどがある。これら情報は、クライアント装置2がNFS経由でデータにアクセスする際には不要な情報であり、基本的には考慮する必要がない。なお、本発明は、これに限らず、NFSをこれらアプリケーション装置4に特化した属性情報もクライアント装置2が参照・更新できるよう拡張しても良い。
ユーザ名61Kは、データへアクセスする前の認証に使うアカウント名(アカウント情報)を指す。NFS側のアカウント名と、IMAP4側のアカウント名が異なる場合、両者の対応関係を変換テーブル61で管理する必要がある。例えば、NFS側のアカウント名(User A)は、IMAP4側のアカウント名(Account X)に対応させる。この変換テーブル61のユーザ名61Kにより対応関係を管理することで、クライアント装置2のアカウント名(User A)を使ってデータへのアクセス要求があった場合、アプリ・データ仮想化ファイル・サーバ3は、IMAP4側のアカウント名(Account X)を使ってIMAP4のメッセージにアクセスすることになる。
パスワード61Lについても、ユーザ名と同様61Kに、対応関係を変換テーブル61で管理しておく。
アクセス権61Mは、データへのアクセス権を示している。NFS側では、データ毎に誰がどういう権限でデータにアクセスできるかを判定する必要がある。その際、アプリ・データ仮想化ファイル・サーバ3は、IMAP4側のメッセージへのアクセス権61Mを参照し、判定を行う。例えば、IMAP4の場合、メッセージの所有者しかそのメッセージへのアクセス権がないため、NFS経由で、メッセージの所有者ではないユーザからそのメッセージへのアクセス要求があった場合、アプリ・データ仮想化ファイル・サーバ3は、アクセスを拒否する処理になる。
コマンド対応関係61Dは、NFS側でサポートするデータ・アクセス時のコマンドがIMAP4側ではどのコマンドに対応させるかを決定する。具体的に、コマンド対応関係61Dは、ログイン61N、リスティング61O、属性参照61P、属性更新61Q、作成61R、リード61S、ライト61T、削除61Uがコマンドとして存在しており、それぞれについてNFS側のコマンドにIMAP4側のコマンドを対応させる。
ログイン61Nは、IMAP4を利用する際にログインするためのコマンドである。ログイン61Nは、NFS側には存在しない。アプリ・データ仮想化ファイル・サーバ3は、IMAP4側のデータにアクセスする場合、IMAP4のログイン・コマンドとアカウント情報を使って、まずログインを行う。また、アプリ・データ仮想化ファイル・サーバ3は、データ・アクセスが完了した場合、IMAP4からログオフ処理を行う。以降、データ・アクセスの前後でログイン、ログオフ処理を行うことは、説明が冗長になるため省略する。
リスティング61Oは、存在するデータのリストを得るためのコマンドである。リスティング61Oは、NFS側では、検索によってアクセスするデータを決定するユースケースが考えられるため、ルックアップ・コマンド(LOOKUP)が対応する。また、リスティング61Oは、IMAP4側では、データのディスカバリをする際にメッセージのリスティングを行うため、サーチ・コマンド(SEARCH)が対応する。
属性参照61Pは、ファイルの属性情報を参照するコマンドである。属性参照61Pは、NFS側ではゲットアトリビュート・コマンド(GETATTR)、IMAP4側ではストア・コマンド(STORE)が対応する。アプリ・データ仮想化ファイル・サーバ3がクライアント装置2からゲットアトリビュート・コマンド(GETATTR)で属性参照の要求を受けた場合、アプリ・データ仮想化ファイル・サーバ3は、IMAP4のストア・コマンド(STORE)を使ってメール・サーバ(アプリケーション装置4)からメッセージの属性情報を参照する。
属性更新61Qは、ファイルの属性情報を更新するコマンドである。属性参照61Pは、NFS側ではセットアトリビュート・コマンド(SETATTR)が対応するが、IMAP4側では属性情報の更新コマンドが存在しない。そこで、アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2からセットアトリビュート・コマンド(SETATTR)で属性更新の要求を受けた場合、メッセージを更新データ格納用のボリューム54にコピーした後、そのコピーしたメッセージの属性情報を直接更新する。
作成61Rは、ファイルを新規に作成するコマンドである。作成61Rは、NFS側ではクリエイト・コマンド(CREATE)が対応し、IMAP4側ではアペンド・コマンド(APPEND)が対応する。しかし、NFS側は内容のない空のファイルを作成するのに対して、IMAP4側は内容が確定したメッセージを作成するため、同じ作成コマンドでも仕様が異なる。仕様が異なる場合、アプリ・データ仮想化ファイル・サーバ3は、ファイルの追加をメール・サーバ(アプリケーション装置4)に対して行うのではなく、更新データ格納用のボリューム54に行う。ただし、統一インタフェース側(NFS側)でファイルのクローズ・コマンドがあれば、作成コマンドの仕様が異なっていても、そのタイミングでファイルの内容が確定するため、確定ファイルをメッセージとしてメール・サーバ側に書き込む実装も考えられる。
リード61Sは、ファイルを参照するコマンドである。リード61Sは、NFS側ではリード・コマンド(READ)が対応し、IMAP4側ではフェッチ・コマンド(FETCH)が対応する。アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2からファイルの参照要求(リード・コマンド(READ))を受け取った場合、IMAP4のフェッチ・コマンド(FETCH)を使ってメッセージを読み、その結果をクライアント装置2に返す。
ライト61Tは、ファイルを更新するコマンドである。ライト61Tは、NFS側ではライト・コマンド(WRITE)が対応するが、IMAP4側ではメッセージを更新するコマンドがない。そこで、アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2からファイルの更新要求(ライト・コマンド(WRITE))を受け取った場合、対応するメッセージを一度更新データ格納用のボリューム54にコピーした後に、そのメッセージを更新する処理を行う。
削除61Uは、ファイルを削除するコマンドである。削除61Uは、NFS側ではリムーブ・コマンド(REMOVE)が対応し、IMAP4側ではエクスパンジ・コマンド(EXPUNGE)が対応する。アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2からファイルの削除要求(リムーブ・コマンド(REMOVE))を受け取った場合、アプリ・データ仮想化ファイル・サーバ3は対応するメッセージを、エクスパンジ・コマンド(EXPUNGE)を使って削除する。
図8に、アプリ用LU管理テーブル28の例を示す。アプリ用LU管理テーブル28は、アプリ毎にストレージ装置5内のどのボリューム53、54にアプリ・データを格納しているかをアプリ・データ仮想化ファイル・サーバ3が参照するためのものである。アプリ用LU管理テーブル28は、アプリケーション装置4のIPアドレス28Aと、アプリ種別28Bでアプリケーション装置4を特定し、利用LUN28Cにアプリ・データが入ったLUNが示されている。アプリ用LU管理テーブル28は、管理者の操作により手動で入力するか、データを格納するボリューム53を設定するストレージ管理サーバ(図示せず)がストレージ装置5を管理するサーバに問い合わせて、アプリケーション装置4とボリューム53、54の対応関係情報を解析することで自動的に作成しても良い。
図9に、データ関連情報テーブル29の例を示す。データ関連情報テーブル29は、アプリケーション装置4からは入手できないデータに関する情報を入手し、管理するためのテーブルである。アプリケーション装置4から入手できない情報としては、ストレージ装置5のコピー機能を使ったデータの複製関係、バックアップ管理ソフトによるデータのバックアップ情報、データが格納されているストレージ装置5の信頼性や性能に関する情報などがある。ストレージ装置5の信頼性に関する情報としては、アプリ・データが格納されているボリューム53のRAIDレベルが例として挙げられる。ストレージ装置5の信頼性に関する情報としては、同ボリューム53のドライブ種別がファイバチャネル(Fibre Channel)ドライブかSATA(Serial AT Attachment)ドライブかの違いなどが例として挙げられる。
対象とする関連情報によってデータ関連情報テーブル29の内容は異なる。図9の例では、ストレージ装置5によるボリューム53のコピーと、バックアップ管理サーバ(図示せず)のバックアップ管理ソフトによるアプリケーション・データのバックアップを対象にした。以下、この前提で説明を続ける。
データ関連情報テーブル29は、データ管理ソフトのIPアドレス29A、データ管理ソフト種別29B、データ関連情報入手方法29C、コピー元LUN29D、コピー先LUN29Eから構成される。
データ管理ソフトとは、アプリケーション装置4以外にアプリケーション・データを管理するソフトウェアのことであり、ストレージ装置5上でボリューム53のコピーを作成するプログラムや、バックアップ管理ソフトなどを指す。
アプリ・データ仮想化ファイル・サーバ3は、IPアドレス29Aによってデータ管理ソフトのアクセス先が分かり、データ管理ソフト種別29Bによりデータ管理ソフトを特定する。データ関連情報入手方法29Cは、データ管理ソフトからデータ関連情報を参照するための方法について示している。例えば、アプリ・データ仮想化ファイル・サーバ3は、データ関連情報入手方法29Cがストレージ制御プログラム24の場合、アプリ・データ仮想化ファイル・サーバ3上で該プログラムを動作させることでストレージ装置5からデータ関連情報を取得することができる。コピー元LUN29Dとは、データコピーやバックアップの対象となるデータが入ったストレージ装置5内でのLUNを指す。例えば、バックアップの場合、アプリケーション・データが格納されたボリューム53がコピー元LUN29Dになる。コピー先LUN29Eとは、コピー先やバックアップ・データが格納されたストレージ装置5内のLUNを指す。
図10、図11に、アプリ・データ仮想化ファイル・サーバ3のCPU31がデータ・ディスカバリプログラム21を実行することにより実現するデータ・ディスカバリ機能の処理フローについて説明する。このデータ・ディスカバリ機能により、データ管理テーブル26が作成・更新され、インデックスが作成・更新される。
アプリ・データ仮想化ファイル・サーバ3は、例えば、1時間ごとに、アプリ登録・管理テーブル27のエントリの先頭から順に、IPアドレス27Aに対応する各アプリケーション装置4に対してステップSP2以下の処理を行う(ステップSP1)。
アプリ・データ仮想化ファイル・サーバ3は、アプリ登録・管理テーブル27内のすべてのエントリについて処理を完了したか否かをチェックする(ステップSP2)。アプリ・データ仮想化ファイル・サーバ3は、もし、アプリ登録・管理テーブル27内のすべてのエントリについて処理を完了した場合(ステップSP2:YES)、データ・ディスカバリ機能の処理を完了する。
アプリ・データ仮想化ファイル・サーバ3は、アプリ登録・管理テーブル27内のすべてのエントリについて処理を完了していない場合(ステップSP2:NO)、アプリ登録・管理テーブル27のアカウント情報リスト27Cを参照し、当該アカウント情報リスト27Cの先頭から順に、アカウント情報を使ってステップSP4以下の処理を行う(ステップSP3)。
アプリ・データ仮想化ファイル・サーバ3は、アカウント情報リスト27C内のすべてのアカウントで処理を終えたか否かをチェックする(ステップSP4)。アプリ・データ仮想化ファイル・サーバ3は、もし、アカウント情報リスト27C内のすべてのアカウントで処理を終えた場合(ステップSP4:YES)、ステップSP2に戻る。
アプリ・データ仮想化ファイル・サーバ3は、アカウント情報リスト27C内のすべてのアカウントで処理を終えていない場合(ステップSP4:NO)、ステップSP3で選択したアカウント情報リスト27Cのアカウント情報を使って、アプリケーション装置4にログインを行う(ステップSP5)。
アプリ・データ仮想化ファイル・サーバ3は、アプリケーション装置4のリスティング61O(例えば、サーチ・コマンド)を使って、利用しているアカウント(クライアント装置2)がアクセス可能な全データのリストを得る(ステップSP6)。
アプリ・データ仮想化ファイル・サーバ3は、リスト内の各データについてステップSP8以下の処理を行う(ステップSP7)。
アプリ・データ仮想化ファイル・サーバ3は、リスト内の全てのデータについて処理が終わったか否かをチェックする(ステップSP8)。アプリ・データ仮想化ファイル・サーバ3は、もし、リスト内の全てのデータについて処理が終わった場合(ステップSP8:YES)、ステップSP15に進む。
アプリ・データ仮想化ファイル・サーバ3は、リスト内の全てのデータについて処理が終わっていない場合(ステップSP8:NO)、データ管理テーブル26のエントリを検索し、該データがエントリとして登録されているかどうかをチェックする(ステップSP9)。チェックには、オリジナル格納位置の情報が一致するかで判断する。アプリ・データ仮想化ファイル・サーバ3は、もし、検索したデータがエントリとして登録されていない、すなわち、新規データであった場合(ステップSP9:YES)、ステップSP10に進む。アプリ・データ仮想化ファイル・サーバ3は、もし、既に登録済みであった、すなわち、新規データでない場合(ステップSP9:NO)、ステップSP11に進む。
アプリ・データ仮想化ファイル・サーバ3は、新規データであった場合(ステップSP9:YES)、該データをデータ管理テーブル26に新規登録する(ステップSP10)。その際、アプリ・データ仮想化ファイル・サーバ3は、オリジナル格納位置26Bに、該データの格納位置情報を入れる。アプリ・データ仮想化ファイル・サーバ3は、該データの更新時刻をアプリケーション装置4の属性参照61P(例えば、ストア・コマンド)を使って入手し、オリジナル更新時刻26Cに入れる。アプリ・データ仮想化ファイル・サーバ3は、現在アプリケーション装置4にログインしているアカウント情報26Dとする。また、アプリ・データ仮想化ファイル・サーバ3は、アプリの属性参照61Pを使ってデータへのアクセス権情報を入手し、それもアカウント情報26Dとする。アプリ・データ仮想化ファイル・サーバ3は、コピー数26Eをゼロ、更新先格納位置26Fをクリアする。その後、アプリ・データ仮想化ファイル・サーバ3は、ステップSP14に進む。
アプリ・データ仮想化ファイル・サーバ3は、登録済みデータの場合(ステップSP9:NO)、そのデータが前回のディスカバリ時から更新されたかどうかをチェックする(ステップSP11)。アプリ・データ仮想化ファイル・サーバ3は、現時点でのデータの更新時刻を、アプリケーション装置4の属性参照61Pを使って得る。アプリ・データ仮想化ファイル・サーバ3は、前回の更新時刻を、データ管理テーブル26のオリジナル更新時刻26Cを参照する。アプリ・データ仮想化ファイル・サーバ3は、両者を比較して、一致していなければ更新されたと判断する。アプリ・データ仮想化ファイル・サーバ3は、更新されていた場合(ステップSP12:YES)、ステップSP13に進む。アプリ・データ仮想化ファイル・サーバ3は、更新されていなかった場合(ステップSP12:NO)、ステップSP8に戻る。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26の更新先格納位置26Fを参照し、そのデータの更新データが更新データ用のボリューム53に存在しているかどうかをチェックする(ステップSP12)。アプリ・データ仮想化ファイル・サーバ3は、更新データが更新データ用のボリューム53に存在している場合(ステップSP13:YES)、ステップSP13に進む。アプリ・データ仮想化ファイル・サーバ3は、更新データが更新データ用のボリューム53に存在していない場合(ステップSP13:NO)、データ管理テーブル26のオリジナル更新時刻26Cを最近の更新時刻で更新し、ステップSP14に進む。
アプリ・データ仮想化ファイル・サーバ3は、更新されたオリジナル・データを新規データとして、データ管理テーブル26に登録する(ステップSP13)。登録処理内容は、ステップSP10と同じである。
アプリ・データ仮想化ファイル・サーバ3は、アプリケーション装置4のリード61Sを使って該データの内容を参照し、検索用のインデックスを作成・更新する(ステップSP14)。その後、アプリ・データ仮想化ファイル・サーバ3は、ステップSP8に戻る。インデックスのデータ構造やインデックスの作成方法は、従来の検索技術と同じであるため、説明を省略する。
アプリ・データ仮想化ファイル・サーバ3は、全データについて処理を終えた場合(ステップSP8:YES)、データのリストとデータ管理テーブル26のエントリを比較し、データ管理テーブル26には存在するがデータ・リストには存在しない、削除されたデータがあるかをチェックする(ステップSP15)。アプリ・データ仮想化ファイル・サーバ3は、もし、削除されたデータがない場合(ステップSP15:NO)、ステップSP4に戻る。アプリ・データ仮想化ファイル・サーバ3は、もし、削除されたデータがある場合(ステップSP15:YES)、ステップSP16に進む。
アプリ・データ仮想化ファイル・サーバ3は、削除されたデータに関し、データ管理テーブル26の更新先格納位置26Fを参照し、そのデータの更新データが更新データ用のボリューム54に存在するかどうかをチェックする(ステップSP16)。アプリ・データ仮想化ファイル・サーバ3は、もし、更新データが更新データ用のボリューム54に存在する場合(ステップSP15:YES)、データをそのまま残すため、ステップSP4に戻る。アプリ・データ仮想化ファイル・サーバ3は、もし、更新データが更新データ用のボリューム54に存在しない場合(ステップSP15:NO)、ステップSP17に進む。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26から削除されたデータのエントリを削除し(ステップSP16)、その後、ステップSP4に戻る。
図12に、アプリ・データ仮想化ファイル・サーバ3のCPU31がデータ関連情報入手プログラム22を実行することにより実現するデータ関連情報入手機能の処理フローについて説明する。このデータ関連情報入手機能により、データ関連情報テーブル29が作成・更新される。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26の全エントリにつき、コピー数の欄をゼロでクリアされると(初期化されると)、データ関連情報テーブル29にあるエントリの先頭から順番に、各データ管理ソフトに対して、ステップSP22以下の処理を実行する(ステップSP21)。
アプリ・データ仮想化ファイル・サーバ3は、全てのデータ管理ソフトについて処理が完了した場合(ステップSP22:YES)、ステップSP27に進む。
アプリ・データ仮想化ファイル・サーバ3は、全てのデータ管理ソフトについて処理が完了していない場合(ステップSP22:NO)、データ関連情報テーブル29のデータ関連情報入手方法29Cの手段を使って、データ管理ソフトからその管理ソフトが管理している全ボリューム53、54のリストを取得する(ステップSP23)。ここで、アプリ・データ仮想化ファイル・サーバ3は、データ管理ソフトがストレージ制御プログラム52の場合、直接ボリューム53、54の情報を入手することができる。しかし、アプリ・データ仮想化ファイル・サーバ3は、データ管理ソフトがバックアップ管理ソフトの場合、通常データのバックアップを、ファイル・システムやアプリケーション装置4をバックアップ元として指定するため、それらデータが格納されるLUNが特定できない。そこで、アプリ・データ仮想化ファイル・サーバ3は、バックアップの定義ファイルを元に、バックアップ対象データが格納されたLUNをストレージ制御ソフトなどを使って決定する。この決定方法は、従来技術で実施可能である。
アプリ・データ仮想化ファイル・サーバ3は、得られたボリューム53、54のリストを元に、個々のボリューム53、54についてコピー関係情報を取得する(ステップSP24)。アプリ・データ仮想化ファイル・サーバ3は、データ管理ソフトがストレージ装置5の場合、コピー元LUNとコピー先LUNを得ることができる。アプリ・データ仮想化ファイル・サーバ3は、データ管理ソフトがバックアップ管理ソフトの場合、バックアップ先がテープ装置のときにはコピー先LUNを決定できないため、コピー元LUNだけ決定する。
アプリ・データ仮想化ファイル・サーバ3は、得られたコピー元LUNとコピー先LUNの関連情報をデータ関連情報テーブルに、コピー元LUN29Dとコピー先LUN29Eとして記録する(ステップSP25)。
アプリ・データ仮想化ファイル・サーバ3は、全てのボリューム53、54について関連情報を取得したか否かをチェックする(ステップSP26)。アプリ・データ仮想化ファイル・サーバ3は、全てのボリューム53、54についてコピー関係情報を取得した場合(ステップSP26:YES)、ステップSP22に戻る。アプリ・データ仮想化ファイル・サーバ3は、まだ、全てのボリューム53、54についてコピー関係情報を取得していない場合(ステップSP26:NO)、ステップSP24に戻る。
アプリ・データ仮想化ファイル・サーバ3は、データ関連情報テーブル29内のコピー元LUN29Dとコピー先LUN29E、及びアプリ用LU管理テーブル28内の利用LUN28Cを比較し、利用LUN28Cがコピー元LUN29Dもしくはコピー先LUN29Eのどちらかに一致しているかをチェックする(ステップSP27)。
アプリ・データ仮想化ファイル・サーバ3は、コピー元LUN29Dと一致していた場合(ステップSP26:YES)、データ管理テーブル26の該アプリケーション装置4が持つ全データのコピー数26Eを1加算すること等により、データ関連情報テーブル29を更新する(ステップSP28)。例えば、利用LUN28Cがストレージ制御プログラム52によってコピーされ、さらに、バックアップ管理ソフトによってバックアップされていた場合、コピー数は、2となる。
アプリ・データ仮想化ファイル・サーバ3は、全利用LUN28Cについてデータ関連情報テーブル29との一致性をチェックした場合(ステップSP29:YES)、データ関連情報入手処理を完了する。アプリ・データ仮想化ファイル・サーバ3は、まだ、全利用LUN28Cについてデータ関連情報テーブル29との一致性をチェックしていない場合(ステップSP29:NO)、ステップSP27に戻る。
図13に、アプリ・データ仮想化ファイル・サーバ3のCPU31が統一ファイル・サーバプログラム23を実行することにより実現する統一ファイル・サーバ機能の処理フローを説明する。統一ファイル・サーバ機能では、クライアント装置2から統一アクセス手段でデータへのアクセス要求を受領し、その要求を下位のアプリケーション装置4に特化したアクセス手段に変換して転送することで、アクセス要求を処理する機能を実現する。
アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2から統一アクセス手段(図7の例ではNFS)によってデータへのアクセス要求を受領する(ステップSP31)。アクセス要求のフォーマットは、アクセス内容によって異なるため、アクセス内容毎の処理の説明時に説明する。
アプリ・データ仮想化ファイル・サーバ3は、アクセス要求内のコマンド種別を参照し、コールする処理ルーチンを決定する(ステップSP32)。コマンド種別としては、検索、作成、ライト、リード、削除、属性参照、属性更新がある。アプリ・データ仮想化ファイル・サーバ3は、それぞれのコマンド種別に対応した処理ルーチン(ステップSP33〜SP39)を呼び出して実行する。アプリ・データ仮想化ファイル・サーバ3は、コマンド毎の処理が完了した場合、統一ファイル・サーバ機能の処理を終える。
図14に、クライアント装置2からのアクセス要求が、データの検索だった場合の要求フォーマットである検索要求71を示す。検索要求71では、アクセス要求内のコマンド種別を省略している。検索要求71では、検索キーワード71Aが指定され、検索対象を絞りこみたいときには、検索するアプリケーション装置4を絞りこむためのアプリ71Bがさらに指定される。アプリ・データ仮想化ファイル・サーバ3は、検索キーワードを含むデータのリストをクライアント装置2に返す。アプリ71B指定時は、そのアプリケーション装置4が持つデータのみを検索対象とする。検索対象データの絞込みかたは、アプリケーション装置4だけに限らず、アプリケーション装置4独自の属性情報を指定したりする実施例も考えられる。
図15に、検索処理であるステップSP33の処理フローを示す。本処理は、統一ファイル・サーバ機能のサブ・ルーチンとして呼び出される。
アプリ・データ仮想化ファイル・サーバ3は、検索要求71内に、アプリ71Bが指定されているかどうかをチェックする(ステップSP41)。アプリ・データ仮想化ファイル・サーバ3は、アプリ71Bが指定されている場合(ステップSP41:YES)、ステップSP43に進む。アプリ・データ仮想化ファイル・サーバ3は、アプリ71Bが指定されていない場合(ステップSP41:NO)、ステップSP42に進む。
アプリ・データ仮想化ファイル・サーバ3は、ユーザ(クライアント装置2)がアクセス権を持つデータ群を対象に、インデックスから検索キーワードにマッチするデータ群を検索する(ステップSP42)。ユーザがアクセス権を持つかどうかは、データ管理テーブル26のアカウント情報26Dを参照する。
アプリ・データ仮想化ファイル・サーバ3は、ユーザがアクセス権を持ち、かつ、指定されたアプリ71Bのデータ群を対象に、インデックスから検索キーワードにマッチするデータ群を検索する(ステップSP43)。ユーザがアクセス権を持つかどうかは、データ管理テーブル26のアカウント情報26Dの欄を参照する。指定されたアプリ71Bのデータかどうかは、データ管理テーブル26のIPアドレス26Gとアプリ種別26Hを参照する。
アプリ・データ仮想化ファイル・サーバ3は、マッチした(検索された)データ群に対して、データ管理テーブル26からデータに対応する仮想識別子26Aをリードする(ステップSP44)。アプリ・データ仮想化ファイル・サーバ3は、検索結果に仮想識別子26Aを含め、続くデータの参照・更新時にはクライアント装置2に仮想識別子26Aを指定させるためである。
アプリ・データ仮想化ファイル・サーバ3は、アプリ用LU管理テーブル28とデータ関連情報テーブル29を参照し、そのデータが格納されているボリューム53、54がコピー先のボリューム53、54かどうかをチェックし、もしコピー先のボリューム53、54であれば、検索結果に含めない(ステップSP45)。これにより、検索結果のリストが短くなり、ユーザは、必要なデータを探しやすくなる。
次に、アプリ・データ仮想化ファイル・サーバ3は、ステップSP45を実行した後の残った検索結果のデータを、図16の並び替え結果81に示すように、データ管理テーブル26のコピー数26Eが多い順に並べ替える(ステップSP46)。
アプリ・データ仮想化ファイル・サーバ3は、データ名とその仮想識別子26Aをセットにし、これを検索処理結果としてクライアント装置2に返す。その後、アプリ・データ仮想化ファイル・サーバ3は、検索処理であるステップSP33を完了する。
なお、ステップSP45とステップSP46の別の実施例として、図16の並び替え結果82に示すように、コピー関係にあるデータの親子関係を元に、検索処理結果でオリジナル・データをトップに、コピー・データをオリジナル・データから段下げして表示することも考えられる。これにより、ユーザは、データの親子関係を視覚的に理解しやすくなる。
さらに、ステップSP45とステップSP46の別の実施例として、図16の並び替え結果83に示すように、先に述べた信頼性や性能の情報を、検索処理結果やデータのリスティング結果に合わせて表示することも考えられる。これにより、ユーザは、データが格納されているボリューム53、54の信頼性や性能の情報を視覚的に理解しやすくなる。
図17に、新規データ作成時の要求フォーマットである新規データ作成要求72の例を示す。新規データ作成要求72では、アプリケーション・データ内か更新データ用のボリューム54内に新しいデータを作成する。新規データ作成要求72は、ファイル名72Aが指定され、必要であれば新規データを作成するアプリケーション装置4であるアプリ72Bが指定される。
図18に、データの作成処理であるステップSP34の処理フローを示す。本処理は、統一ファイル・サーバ機能のサブ・ルーチンとして呼び出される。
アプリ・データ仮想化ファイル・サーバ3は、新規データ作成要求72内に、アプリ72Bが指定されているかどうかをチェックする(ステップSP51)。アプリ・データ仮想化ファイル・サーバ3は、アプリ72Bが指定されている場合(ステップSP51:YES)、ステップSP53に進む。アプリ・データ仮想化ファイル・サーバ3は、アプリ72Bが指定されていない場合(ステップSP51:NO)、ステップSP52に進む。
アプリ・データ仮想化ファイル・サーバ3は、更新データ用のボリューム54に指定されたファイル名でデータを作成する(ステップSP52)。更新データ用のボリューム54には、ファイル単位でデータが書き込めるようファイル・システムやNASを利用する。
アプリ・データ仮想化ファイル・サーバ3は、アプリ72B指定がある場合(ステップSP51:YES)、アプリ登録・管理テーブル27の更新可否27Dを参照し、そのアプリケーション装置4がデータ更新可能かどうかを判定する(ステップSP53)。アプリ・データ仮想化ファイル・サーバ3は、更新不可のアプリケーション装置4である場合(ステップSP53:NO)、そのアプリケーション装置4内にはデータを作成できないので、ステップSP52に進む。
アプリ・データ仮想化ファイル・サーバ3は、更新可能なアプリケーション装置4の場合(ステップSP53:YES)、そのアプリケーション装置4のデータ作成コマンドを使ってデータを作成するために、新規データ作成要求72を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、変換プログラム25内で、実際そのアプリケーション装置4用のデータ作成用コマンドを使って、アプリケーション装置4内にデータを作成する(ステップSP54)。
アプリ・データ仮想化ファイル・サーバ3は、作成したデータをデータ管理テーブル26に新規登録する。その際、アプリ・データ仮想化ファイル・サーバ3は、新しい仮想識別子26Aをそのデータに割り当てる。アプリ・データ仮想化ファイル・サーバ3は、必要があれば、データ関連情報テーブル29を使って、そのデータのコピー数を計算する。
アプリ・データ仮想化ファイル・サーバ3は、仮想識別子26Aをクライアント装置2に返す。この仮想識別子26Aは、クライアント装置2が継続して作成したファイルにデータを書き込む際に利用する。その後、アプリ・データ仮想化ファイル・サーバ3は、データの作成処理であるステップSP34を完了する。
図19に、データ・ライト時の要求フォーマットであるライト要求73の例を示す。データ・ライト時は、アプリ・データ自体を更新可能な場合はアプリ・データを更新し、アプリ・データが更新不可能な場合は、更新対象のデータを一旦更新データ用のボリューム54にコピーし、そのコピーしたデータを更新する。ライト要求73では、データ・ライトを行うデータを特定する仮想識別子73A、データを更新する位置(ファイルの先頭位置からのオフセット)73B、更新データのデータ長73C、及びデータ73D自体が指定される。
図20に、データ・ライト処理であるステップSP35の処理フローを示す。本処理は、統一ファイル・サーバ機能のサブ・ルーチンとして呼び出される。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のオリジナル格納位置26BのIPアドレス26Gとアプリ種別26Hを参照し、指定された仮想識別子26Aに対応するアプリケーション装置4を特定する(ステップSP61)。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のアカウント情報26Dを参照し、ライト要求73をしたクライアント装置2にそのデータのアクセス権限があるかどうかをチェックする(ステップSP62)。アプリ・データ仮想化ファイル・サーバ3は、もし、ライト要求73をしたクライアント装置2にそのデータのアクセス権限がない場合(ステップSP62:NO)、ステップSP63に進む。
アプリ・データ仮想化ファイル・サーバ3は、ライト要求73をしたクライアント装置2がアプリ・データへのライト権限がないため、クライアント装置2にエラーを返して(ステップSP63)、その後、データ・ライト処理であるステップSP35を完了する。
アプリ・データ仮想化ファイル・サーバ3は、ライト要求73をしたクライアント装置2にそのデータのアクセス権限がある場合(ステップSP62:YES)、アプリ登録・管理テーブル27の更新可否27Dを参照し、特定したデータのアプリケーション装置4が更新可能なアプリケーション装置4かどうかをチェックする(ステップSP64)。アプリ・データ仮想化ファイル・サーバ3は、更新可能なアプリケーション装置4の場合(ステップSP64:YES)、ステップSP65に進む。アプリ・データ仮想化ファイル・サーバ3は、更新不可のアプリケーション装置4である場合(ステップSP64:NO)、ステップSP66に進む。
アプリ・データ仮想化ファイル・サーバ3は、そのアプリケーション装置4のデータ・ライト用コマンドを使ってデータを更新するために、ライト要求73を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、変換プログラム25内で、実際にそのアプリケーション装置4用のデータ・ライト用コマンドを使ってアプリケーション装置4内のデータを更新する(ステップSP65)。また、アプリ・データ仮想化ファイル・サーバ3は、更新データのフォーマットも、アプリケーション装置4のフォーマットに変換したのちに、アプリ・データをそのデータで更新する。
アプリ・データ仮想化ファイル・サーバ3は、更新不可のアプリケーション装置4である場合(ステップSP64:NO)、データ管理テーブル26の更新先格納位置26Fを参照し、既に更新データが存在するかどうかをチェックする(ステップSP66)。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在しない場合(ステップSP66:NO)、ステップSP67に進む。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在する場合(ステップSP66:YES)、ステップSP69に進む。
アプリ・データ仮想化ファイル・サーバ3は、アプリケーション装置4から更新対象のデータを更新データ用のボリューム54にコピーするため、ライト要求73に基づいて作成されるリード要求を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、その結果リードしたデータを、データ・フォーマットを統一フォーマットに変換してから、更新データ用のボリューム54に新規データとして書き込む(ステップSP67)。
アプリ・データ仮想化ファイル・サーバ3は、データ更新テーブル26の更新先格納位置26Fに、更新データ用のボリューム54にコピーしたデータの情報を記録する(ステップSP68)。
アプリ・データ仮想化ファイル・サーバ3は、更新データ用のボリューム54内の更新データを更新する(ステップSP69)。
アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2に処理終了の旨を応答して(ステップSP70)、その後、データ・ライト処理であるステップSP35を完了する。
図21に、データ・リード時の要求フォーマットであるリード要求74の例を示す。データ・リード時は、アプリ・データ自体をリードする。ただし、アプリ・データが更新不可の場合で、すでにそのデータを更新していた場合は、最新データが更新データ用のボリューム54に存在するため、そちらのデータをリードする。リード要求74では、データ・リードを行うデータを特定する仮想識別子74A、データをリードする位置(ファイルの先頭位置からのオフセット)74B、及びリードするデータ長74Cが指定される。
図22に、データ・リード処理であるステップSP36の処理フローを示す。本処理は、統一ファイル・サーバ機能のサブ・ルーチンとして呼び出される。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のオリジナル格納位置26BのIPアドレス26Gとアプリ種別26Hを参照し、指定された仮想識別子26Aに対応するアプリケーション装置4を特定する(ステップSP71)。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のアカウント情報26Dを参照し、リード要求74をしたクライアント装置2にそのデータのアクセス権限があるかどうかをチェックする(ステップSP72)。アプリ・データ仮想化ファイル・サーバ3は、もし、リード要求74をしたクライアント装置2にそのデータのアクセス権限がない場合(ステップSP72:NO)、ステップSP73に進む。
アプリ・データ仮想化ファイル・サーバ3は、リード要求74をしたクライアント装置2がアプリ・データへのリード権限がないため、クライアント装置2にエラーを返して(ステップSP73)、その後、データ・リード処理であるステップSP36を完了する。
アプリ・データ仮想化ファイル・サーバ3は、リード要求74をしたクライアント装置2にそのデータのアクセス権限がある場合(ステップSP72:YES)、データ管理テーブル26の更新先格納位置26Fを参照し、更新データが存在するかどうかをチェックする(ステップSP74)。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在しない場合(ステップSP74:NO)、ステップSP75に進む。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在する場合(ステップSP74:YES)、ステップSP77に進む。
アプリ・データ仮想化ファイル・サーバ3は、そのアプリケーション装置4のデータ・リード用コマンドを使ってデータをリードするために、リード要求74を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、変換プログラム25内で、実際にそのアプリケーション装置4用のデータ・リード用コマンドを使ってアプリケーション装置4内のデータをリードする(ステップSP75)。
アプリ・データ仮想化ファイル・サーバ3は、そのアプリケーション装置4からリードしたデータのフォーマットを統一フォーマット(図7の例ではNFS)に変換する(ステップSP76)。
アプリ・データ仮想化ファイル・サーバ3は、更新データ用のボリューム54からデータをリードする(ステップSP77)。
アプリ・データ仮想化ファイル・サーバ3は、リード・データをクライアント装置2に送信して(ステップSP78)、その後、データ・リード処理であるステップSP36を完了する。
図23に、データ削除時の要求フォーマットある削除要求75の例を示す。データ削除時は、アプリ・データ自体を削除する。ただし、更新データが存在する場合は、更新データの方を削除する。削除要求75では、削除したデータの仮想識別子75Aを指定する。
図24に、削除処理であるステップSP37の処理フローを示す。本処理は、統一ファイル・サーバ機能のサブ・ルーチンとして呼び出される。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のオリジナル格納位置26BのIPアドレス26Gとアプリ種別26Hを参照し、指定された仮想識別子26Aに対応するアプリケーション装置4を特定する(ステップSP81)。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のアカウント情報26Dを参照し、削除要求75をしたクライアント装置2にそのデータのアクセス権限があるかどうかをチェックする(ステップSP82)。アプリ・データ仮想化ファイル・サーバ3は、もし、削除要求75をしたクライアント装置2にそのデータのアクセス権限がない場合(ステップSP82:NO)、ステップSP83に進む。
アプリ・データ仮想化ファイル・サーバ3は、削除要求75をしたクライアント装置2がアプリ・データへの削除権限がないため、クライアント装置2にエラーを返して(ステップSP83)、その後、削除処理であるステップSP37を完了する。
アプリ・データ仮想化ファイル・サーバ3は、削除要求75をしたクライアント装置2にそのデータのアクセス権限がある場合(ステップSP82:YES)、データ管理テーブル26の更新先格納位置26Fを参照し、既に更新データが存在するかどうかをチェックする(ステップSP84)。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在しない場合(ステップSP84:NO)、ステップSP85に進む。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在する場合(ステップSP84:YES)、ステップSP87に進む。
アプリ・データ仮想化ファイル・サーバ3は、アプリ登録・管理テーブル27の更新可否27Dを参照し、特定したデータのアプリケーション装置4が削除可能(更新可能)なアプリケーション装置4かどうかをチェックする(ステップSP85)。アプリ・データ仮想化ファイル・サーバ3は、削除可能(更新可能)なアプリケーション装置4の場合(ステップSP85:YES)、ステップSP86に進む。アプリ・データ仮想化ファイル・サーバ3は、削除不可(更新不可)のアプリケーション装置4である場合(ステップSP85:NO)、ステップSP83に進む。なお、この場合、ステップSP83では、アプリ・データ仮想化ファイル・サーバ3は、アプリケーション装置4が削除不可のライアント装置2であるため、クライアント装置2にエラーを返す。
アプリ・データ仮想化ファイル・サーバ3は、そのアプリケーション装置4のデータ・削除用コマンドを使ってデータを削除するために、削除要求75を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、変換プログラム25内で、実際にそのアプリケーション装置4用のデータ・削除用コマンドを使ってアプリケーション装置4内のデータを削除する(ステップSP86)。
アプリ・データ仮想化ファイル・サーバ3は、更新データ用のボリューム54内からデータを削除する(ステップSP87)。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26から削除したデータのエントリを削除し、クライアント装置2へ応答して(ステップSP88)、その後、削除処理であるステップSP37を完了する。
図25に、属性参照時の要求フォーマットある属性参照要求76の例を示す。属性参照時は、アプリ・データの属性情報を参照する。ただし、更新データが存在する場合は、その属性情報を参照する。属性参照要求76では、属性を参照したいデータの仮想識別子76Aを指定する。なお、参照する属性情報としては、例えば、図7に示す属性情報61Iのファイル・サイズや、作成時刻等である。
図26に、属性参照処理であるステップSP38の処理フローを示す。本処理は、統一ファイル・サーバ機能のサブ・ルーチンとして呼び出される。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のオリジナル格納位置26BのIPアドレス26Gとアプリ種別26Hを参照し、指定された仮想識別子26Aに対応するアプリケーション装置4を特定する(ステップSP91)。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のアカウント情報26Dを参照し、属性参照要求76をしたクライアント装置2にそのデータのアクセス権限があるかどうかをチェックする(ステップSP92)。アプリ・データ仮想化ファイル・サーバ3は、もし、属性参照要求76をしたクライアント装置2にそのデータのアクセス権限がない場合(ステップSP92:NO)、ステップSP93に進む。
アプリ・データ仮想化ファイル・サーバ3は、属性参照要求76をしたクライアント装置2がアプリ・データの属性参照権限がないため、クライアント装置2にエラーを返して(ステップSP93)、その後、属性参照処理であるステップSP38を完了する。
アプリ・データ仮想化ファイル・サーバ3は、属性参照要求76をしたクライアント装置2にそのデータのアクセス権限がある場合(ステップSP92:YES)、データ管理テーブル26の更新先格納位置26Fを参照し、更新データが存在するかどうかをチェックする(ステップSP94)。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在しない場合(ステップSP94:NO)、ステップSP95に進む。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在する場合(ステップSP94:YES)、ステップSP97に進む。
アプリ・データ仮想化ファイル・サーバ3は、そのアプリケーション装置4のデータ・リード用コマンドを使ってデータをリードするために、リード要求76を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、変換プログラム25内で、実際にそのアプリケーション装置4用のデータ・リード用コマンドを使ってアプリケーション装置4内のデータをリードする(ステップSP75)。
アプリ・データ仮想化ファイル・サーバ3は、そのアプリケーション装置4の属性参照用コマンドを使ってデータの属性情報を参照するために、属性参照要求を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、変換プログラム25内で、実際にそのアプリケーション装置4用の属性参照用コマンドを使ってアプリケーション装置4内のデータの属性情報をリードする(ステップSP95)。
アプリ・データ仮想化ファイル・サーバ3は、そのアプリケーション装置4からリードしたデータの属性情報を統一フォーマット(図7の例ではNFS)に変換する(ステップSP96)。
アプリ・データ仮想化ファイル・サーバ3は、更新データ用のボリューム54からデータの属性情報をリードする(ステップSP97)。
アプリ・データ仮想化ファイル・サーバ3は、リードしたデータの属性情報をクライアント装置2に送信して(ステップSP98)、その後、属性参照処理であるステップSP38を完了する。
図27に、データの属性更新時の要求フォーマットである属性更新要求77の例を示す。属性更新時は、アプリ・データ自体の属性情報を更新可能な場合はそれを更新し、更新不可能な場合は、対象のデータを一旦更新データ用のボリューム54にコピーし、そのコピーしたデータの属性情報を更新する。属性更新要求77では、データを特定する仮想識別子77A、及び属性情報77Bを指定する。なお、更新する属性情報としては、例えば、図7に示す属性情報61Iのタグ情報や、任意の属性情報等である。
図28に、属性更新処理であるステップSP39の処理フローを示す。本処理は、統一ファイル・サーバ機能のサブ・ルーチンとして呼び出される。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のオリジナル格納位置26BのIPアドレス26Gとアプリ種別26Hを参照し、指定された仮想識別子26Aに対応するアプリケーション装置4を特定する(ステップSP101)。
アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26のアカウント情報26Dを参照し、属性更新要求77をしたクライアント装置2にそのデータのアクセス権限があるかどうかをチェックする(ステップSP102)。アプリ・データ仮想化ファイル・サーバ3は、もし、属性更新要求77をしたクライアント装置2にそのデータのアクセス権限がない場合(ステップSP102:NO)、ステップSP63に進む。
アプリ・データ仮想化ファイル・サーバ3は、属性更新要求77をしたクライアント装置2がアプリ・データの属性更新権限がないため、クライアント装置2にエラーを返して(ステップSP103)、その後、属性更新処理であるステップSP39を完了する。
アプリ・データ仮想化ファイル・サーバ3は、属性更新要求77をしたクライアント装置2にそのデータのアクセス権限がある場合(ステップSP102:YES)、アプリ登録・管理テーブル27の更新可否27Dを参照し、特定したデータのアプリケーション装置4が更新可能なアプリケーション装置4かどうかをチェックする(ステップSP104)。アプリ・データ仮想化ファイル・サーバ3は、更新可能なアプリケーション装置4の場合(ステップSP104:YES)、ステップSP105に進む。アプリ・データ仮想化ファイル・サーバ3は、更新不可のアプリケーション装置4である場合(ステップSP104:NO)、ステップSP107に進む。
アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2が指定した属性情報を、そのアプリケーション装置4独自の属性情報のフォーマットに変換する(ステップSP104)。
アプリ・データ仮想化ファイル・サーバ3は、そのアプリケーション装置4の属性更新用コマンドを使って属性情報を更新するために、属性更新要求77を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、変換プログラム25内で、実際にそのアプリケーション装置4用の属性更新用コマンドを使ってアプリ・データの属性情報を更新する(ステップSP106)。
アプリ・データ仮想化ファイル・サーバ3は、更新不可のアプリケーション装置4である場合(ステップSP104:NO)、データ管理テーブル26の更新先格納位置26Fを参照し、既に更新データが存在するかどうかをチェックする(ステップSP107)。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在しない場合(ステップSP107:NO)、ステップSP108に進む。アプリ・データ仮想化ファイル・サーバ3は、更新データが存在する場合(ステップSP107:YES)、ステップSP110に進む。
アプリ・データ仮想化ファイル・サーバ3は、アプリケーション装置4から属性更新対象のデータを更新データ用のボリューム54にコピーするため、属性更新要求77に基づいて作成されるリード要求を指定して変換プログラム25を呼び出す。アプリ・データ仮想化ファイル・サーバ3は、その結果リードしたデータを、データ・フォーマットを統一フォーマットに変換してから、更新データ用のボリューム54に新規データとして書き込む(ステップSP108)。
アプリ・データ仮想化ファイル・サーバ3は、データ更新テーブル26の更新先格納位置26Fに、更新データ用のボリューム54にコピーしたデータの情報を記録する(ステップSP109)。
アプリ・データ仮想化ファイル・サーバ3は、更新データ用のボリューム54内の更新データの属性情報をクライアント装置2が指定した属性情報で更新する(ステップSP110)。
アプリ・データ仮想化ファイル・サーバ3は、クライアント装置2に処理終了の旨を応答して(ステップSP111)、その後、属性更新処理であるステップSP39を完了する。
このようにして、アプリ・データ仮想化ファイル・システム1では、アプリ・データ仮想化ファイル・サーバ3が統一アクセス手段(図7の例ではNFS)とアプリケーション装置4毎のアクセス手段(図7の例ではIMAP4)とを変換する変換プログラム25を使い、アプリ登録・管理テーブル27内にある全IPアドレス27に対応するアプリケーション装置4に対して、データ・ディスカバリ処理を行う。その結果、アプリ・データ仮想化ファイル・サーバ3は、全データを仮想識別子で区別するデータ管理テーブル26を作成する。
アプリ・データ仮想化ファイル・サーバ3は、内部でクライアント装置2からのアクセス要求をアプリケーション装置4毎のアクセス要求に変換プログラム25を使って変換することで、アクセス要求を処理する。アプリ・データ仮想化ファイル・サーバ3は、もし、アクセス要求がデータの更新であり、アプリケーション・データの更新ができない場合には、アプリ・データを一度更新データ用のボリューム54に格納し、そのデータを更新する。その際、アプリ・データ仮想化ファイル・サーバ3は、データ管理テーブル26で、更新されたデータがどこにあるかを管理する。
これにより、アプリ・データ仮想化ファイル・システム1では、クライアント装置2が、アプリ・データ仮想化ファイル・サーバ3が提供する統一アクセス手段により、異なるアプリケーション装置4であっても、全データにアクセスすることができ、クライアント装置2のユーザがアプリケーション装置4毎のアクセス手段の違いを気にすることなく、統一的な方法で複数のアプリケーション装置4をまたがってデータにアクセスすることができるため、データの再利用性を高めることができる。
また、アプリ・データ仮想化ファイル・サーバ3は、データ・ディスカバリ時には、データの関連情報をストレージ制御プログラム24などを使って、ストレージ装置5から入手する。アプリ・データ仮想化ファイル・サーバ3は、その情報をデータ関連情報テーブル29に記録し、それに基づいてデータ管理テーブル26内の各データについて検索結果の並び順序を決めるためのスコアを計算し、データ管理テーブル26に記録する。例えば、コピー回数を計算することで、コピー回数が多い方が重要なデータであると考えられるため、コピー回数を計算することで、検索順位を並び替える処理を行う。
これにより、アプリ・データ仮想化ファイル・システム1では、データ検索を行う場合に、データ間のコピー関係や、データが格納されているストレージ装置5の信頼性などによって検索結果をフィルタリングすることで、クライアント装置のデータ利用者が必要なデータを見つけやすくすることができる。
(2)実施例2
図1とは異なる構成の実施例として、図29を説明する。
このアプリ・データ仮想化システム91は、クライアント装置2、アプリ・データ仮想化ファイル・サーバ92、アプリケーション装置4及びストレージ装置93から構成される。
図1と比較して、アプリ・データ仮想化ファイル・サーバ92は、アプリケーション装置4と直接データ・アクセスを行わない点が異なる。本実施例では、アプリケーション装置4経由でデータ・アクセスを行うのではなく、一旦アプリ・データをストレージ装置93側でコピーし、そのコピー・データを仮想化の対象としている。
アプリ・データ仮想化ファイル・サーバ92のプログラムは、データ・ディスカバリプログラム21の代わりにデータ・ディスカバリプログラム94がある点と、変換プログラム25の代わりにフォーマット解析プログラム95がある点を除いて、実施例1と同じである。ただし、アプリ・データ仮想化ファイル・サーバ92は、各プログラムによる機能を実現する際に、図1ではアプリケーション装置4経由でデータにアクセスしていたが、本実施例ではコピー・データにアクセスする点が異なる。異なる箇所については後述する。
アプリ・データ仮想化ファイル・サーバ92の管理データに関しては、データ管理テーブル96の構造がデータ管理テーブル26と一部違っている。具体的には、データ管理テーブル96は、図30に示したように、当該データ管理テーブルにおいてアプリ・データのオリジナル格納位置96Aを決定するために、アプリケーション装置4のIPアドレス26Gではなく、アプリ・データのコピー・データが入ったボリューム97のLUNを指定する情報であるコピーLU96Bで構成される。
ストレージ装置93には、アプリ・データのコピー・データを入れるボリューム97がある。
図31に、アプリ・データ仮想化ファイル・サーバ92のCPU31がデータ・ディスカバリプログラム94を実行することにより実現するデータ・ディスカバリ機能の処理フローを示す。本実施例では、アプリ・データのコピー・データに対してデータのディスカバリを行う。コピー・データ利用中にも、オリジナルのアプリ・データは更新されるため、定期的にコピー・データを作成することで、データ管理テーブル96を最新の状態に保つ。
アプリ・データ仮想化ファイル・サーバ92は、例えば、一日に一回程度、定期的に以下を実行する(ステップSP121)。
アプリ・データ仮想化ファイル・サーバ92は、アプリ登録・管理テーブル27にある各IPアドレス27Aに対応するアプリケーション装置4に対してステップSP123以下を実行する(ステップSP122)。
アプリ・データ仮想化ファイル・サーバ92は、アプリ登録・管理テーブル27内のすべてのエントリについて処理を完了したか否かをチェックする(ステップSP123)。アプリ・データ仮想化ファイル・サーバ3は、もし、アプリ登録・管理テーブル27内のすべてのエントリについて処理を完了した場合(ステップSP123:YES)、ステップSP121に戻る。
アプリ・データ仮想化ファイル・サーバ92は、アプリ登録・管理テーブル27内のすべてのエントリについて処理を完了していない場合(ステップSP123:NO)、ストレージ制御プログラム24を使って、アプリ・データのコピー・データを作成する(ステップSP124)。
アプリ・データ仮想化ファイル・サーバ92は、コピー・データ内に格納されている全データのリストを得る(ステップSP125)。このとき、アプリ・データ仮想化ファイル・サーバ3は、フォーマット解析プログラム95を実行することにより、アプリ・データの格納フォーマットを解析できるものと仮定する。アプリ・データをアプリケーション装置4を介さずに読み書きする技術は、従来技術で実現可能である。
アプリ・データ仮想化ファイル・サーバ92は、入手したデータに対して、図11におけるステップSP8以下の処理を行う。データ参照時は、アプリ・データの格納フォーマットを解析して直接リードする。ステップSP8以下の処理は実施例1と同様である。
図10、図18、図20、図22、図24、図26、図28については、フローチャートの枠が二重線になっているステップが、本実施例と実施例1で異なる部分である。差異は、コピー・データを解析してデータやデータの属性情報にアクセスするのか、アプリケーション装置4経由でデータやデータの属性情報にアクセスするのかである。
例えば、図22のデータ・リード時では、ステップSP75が異なる。実施例1ではアプリケーション装置4のデータ・リード用コマンドを使ってアプリケーション装置4経由でデータをリードしたが、本実施例ではコピー・データを解析して要求されたデータをリードする。また、実施例1では変換プログラム25を使って、統一アクセス手段からアプリケーション装置4固有のアクセス手段に変換していたが、本実施例ではフォーマット解析プログラム95を使って、ボリューム97に格納されているコピー・データのフォーマットを解析して、アプリケーション装置4固有のアクセス手段(フォーマット)からアプリケーション装置4のコピー・データを直接アクセスする統一アクセス手段(共有フォーマット)への変換を行っている。他の図も同様である。
このようにして、アプリ・データ仮想化システム91では、アプリ・データのコピー・データを複数世代取得することで、コピー・データが変更されていた場合、ステップSP124で更新した内容が失われることを防ぐことができる。その場合、アプリ・データ仮想化システム91では、新しく作成したコピー・データで、古いコピー・データと内容が異なるデータを、新しいデータとしてデータ管理テーブル96に登録する。
また、アプリ・データ仮想化システム91では、アプリ・データ仮想化ファイル・サーバ92が、アプリケーション装置4経由でデータ・アクセスを行うのではなく、一旦アプリ・データをストレージ装置93側でコピーし、そのコピー・データを仮想化の対象とする。
これにより、アプリ・データ仮想化システム91では、ボリューム97に対してデータ・アクセスがなされるため、アプリケーション装置4のデータが万が一にも加工されてしまうような事態を未然かつ有効に防止すると共に、ボリューム53へのアクセスがなくなるため、アプリケーション装置4を直接使うユーザやクライアント装置に対するアプリケーション装置4の性能を向上することができる。
本発明は、異なる複数のアプリケーション装置が稼動するシステムにおいて、クライアント装置に対して全アプリケーション装置のデータに統一的なアクセス手段を提供するシステムに利用することができる。
実施例1のアプリ・データ仮想化システムの概略的な構成を示すブロック図である。 クライアント装置のハード構成を示すブロック図である。 アプリ・データ仮想化ファイル・サーバのハード構成を示すブロック図である。 ストレージ装置のハード構成を示すブロック図である。 データ管理テーブルの説明に供する概念図である。 アプリ登録・管理テーブルの説明に供する概念図である。 NFSとIMAP4の変換の例の説明に供する概念図である。 アプリ用LU管理テーブルの説明に供する概念図である。 データ関連情報テーブルの説明に供する概念図である。 データ・ディスカバリ機能の処理手順を示すフローチャートである。 データ・ディスカバリ機能の処理手順を示すフローチャートである。 データ関連情報入手機能の処理手順を示すフローチャートである。 統一ファイル・サーバ機能の処理手順を示すフローチャートである。 検索要求の要求フォーマットの説明に供する概念図である。 検索処理手順を示すフローチャートである。 データ関係情報に基づく検索結果の並び替えの例の説明に供する概念図である。 データ作成要求の要求フォーマットの説明に供する概念図である。 データ作成処理手順を示すフローチャートである。 データ・ライト要求の要求フォーマットの説明に供する概念図である。 データ・ライト処理手順を示すフローチャートである。 データ・リード要求の要求フォーマットの説明に供する概念図である。 データ・リード処理手順を示すフローチャートである。 データ削除要求の要求フォーマットの説明に供する概念図である。 データ削除処理手順を示すフローチャートである。 属性参照要求の要求フォーマットの説明に供する概念図である。 属性参照処理手順を示すフローチャートである。 属性更新要求の要求フォーマットの説明に供する概念図である。 属性更新処理手順を示すフローチャートである。 実施例2のアプリ・データ仮想化システムの概略的な構成を示すブロック図である。 実施例2のデータ管理テーブルの説明に供する概念図である。 実施例2のデータ・ディスカバリ機能の処理手順を示すフローチャートである。
符号の説明
1、91……アプリ・データ仮想化システム、2……クライアント装置、3……アプリ・データ仮想化ファイル・サーバ、4……アプリケーション装置、5……ストレージ装置、11……統一ファイル・システム・クライアントプログラム、21、94……データ・ディスカバリプログラム、22……データ関連情報入手プログラム、23……統一ファイル・サーバプログラム、24……ストレージ制御プログラム、25……変換プログラム、26、96……データ管理テーブル、27……アプリ登録・管理テーブル、28……アプリ用LU管理テーブル、29……データ関連情報テーブル、30……インデックス、31……CPU、41……データ・アクセスプログラム、51……データ・アクセスプログラム、52……ストレージ制御プログラム、53、54、97……ボリューム、61……変換テーブル、71……検索要求、72……データ作成要求、73……データ・ライト要求、74……データ・リード要求、75……削除要求、76……属性参照要求、77……属性更新要求

Claims (14)

  1. ストレージ装置と、
    所定のフォーマットで記録されて前記ストレージ装置に格納され複数の第1のデータの各々第1の識別子を用いて管理する第1のアプリケーション装置と、
    前記第1のデータとは異なるフォーマットで記録されて前記ストレージ装置に格納され複数の第2のデータの各々前記第1の識別子とは異なる第2の識別子を用いて管理する第2のアプリケーション装置と、
    複数の前記第1のデータ及び前記第2のデータにアクセスするサーバ装置と、
    前記サーバ装置にアクセスして、複数の前記第1のデータ及び前記第2のデータを使用するクライアント装置と
    を備え、
    前記サーバ装置は、
    所定期間ごとに、前記第1のアプリケーション装置及び前記第2のアプリケーション装置のそれぞれが管理する全ての前記第1のデータ及び前記第2のデータを抽出し、抽出した前記第1のデータ及び前記第2のデータについて、新規データ、更新データ及び削除データの有無をチェックし、前記第1のデータ及び前記第2のデータの各々に対して前記第1の識別子及び前記第2の識別子とは異なる第3の識別子を割り当てるとともに、前記第1のデータ及び前記第2のデータの各々に対してインデックスを作成又は更新するデータディスカバリ部と、
    前記第3の識別子と、前記第3の識別子で識別される前記第1のデータ又は前記第2のデータの前記第1の識別子又は前記第2の識別子と、前記第3の識別子で識別される前記第1のデータ又は前記第2のデータにアクセスするためのアクセス方法との対応関係を管理する管理部と、
    前記クライアント装置からの検索要求に応じて前記インデックスを用いて検索された1以上の前記第1のデータ若しくは前記第2のデータ又は前記クライアント装置からのデータ作成要求に応じて作成された前記第1のデータ若しくは前記第2のデータのそれぞれに割り当てられ、前記管理部により管理されている前記第3の識別子を、前記クライアント装置に対して提示する提示部と、
    前記クライアント装置から前記第3の識別子を指定して要求された前記第1のデータ又は前記第2のデータへのアクセス要求を、前記管理部により前記第3の識別子に対応づけられた前記アクセス方法及び前記第1の識別子又は前記第2の識別子により、前記第3の識別子に対応する前記第1のデータ又は前記第2のデータにアクセスするためのアクセス要求に変換する変換部と、
    前記変換部により変換された前記アクセス要求により、前記第1のデータ又は前記第2のデータへのアクセス要求を行って、アクセス結果を、前記クライアント装置に送信するデータアクセス部と
    を備えることを特徴とする情報処理システム。
  2. 前記サーバ装置は、
    前記クライアント装置から前記第3の識別子を指定して前記第1のデータ又は前記第2のデータを更新するアクセス要求である更新要求が受信されたときに、前記第1のデータ又は前記第2のデータの更新データを前記第1のデータ及び前記第2のデータが格納されるボリュームとは異なる更新用のボリュームに書き込むデータ書き込み部
    を備え、
    前記管理部は、
    前記データ書き込み部により前記更新データが書き込まれた後には、当該更新データにアクセス要求するように、前記第3の識別子と前記更新データとの対応関係を管理し、
    前記データアクセス部は、
    前記更新データに対応する前記第1のデータ又は前記第2のデータへの前記アクセス要求が受信されたときに、前記変換部により変換された前記アクセス要求により、対応する前記第1のデータ又は前記第2のデータの更新データへのアクセス要求を行う
    ことを特徴とする請求項1に記載の情報処理システム。
  3. 前記データ書き込み部は、
    前記第1のデータ又は前記第2のデータを管理する前記第1のアプリケーション装置又は前記第2のアプリケーション装置がデータ更新をすることができない場合に、前記第1のデータ又は前記第2のデータの更新データを前記更新用のボリュームに書き込む
    ことを特徴とする請求項2に記載の情報処理システム。
  4. 前記管理部は、
    前記第1のデータ又は前記第2のデータの作成要求が受信されたときに、受信された前記第1のデータ又は前記第2のデータと前記第3の識別子との対応関係を管理し、
    前記データアクセス部は、
    前記変換部により変換された前記アクセス要求により、前記受信された前記第1のデータ又は前記第2のデータの作成要求を行って、作成結果を、作成された前記第1のデータ又は前記第2のデータに対応する前記第3の識別子と共に、前記クライアント装置に送信する
    ことを特徴とする請求項1に記載の情報処理システム。
  5. 前記データアクセス部は、
    前記第1のデータ又は前記第2のデータの検索要求が受信されたときに、前記変換部により変換された前記アクセス要求により、対応する前記第1のデータ又は前記第2のデータの検索要求を行って、検索結果を、検索された前記第1のデータ又は前記第2のデータに対応する前記第3の識別子と共に、前記クライアント装置に送信する
    ことを特徴とする請求項1に記載の情報処理システム。
  6. 前記サーバ装置は、
    前記ストレージ装置から前記第1のデータ又は前記第2のデータのデータ関係情報を取得するデータ関係情報取得部を備え、
    前記データ関係情報は、
    複数の前記第1のデータ間又は複数の前記第2のデータ間のコピー関係であり、
    前記データアクセス部は、
    コピー関係にある前記第1のデータ又は前記第2のデータが存在するときには、オリジナルの前記第1のデータ又は前記第2のデータのみとなるように、前記検索結果を変更する
    ことを特徴とする請求項に記載の情報処理システム。
  7. 前記データ関係情報は、
    前記第1のデータ又は前記第2のデータを格納する前記ボリュームの種別又は前記ボリュームのハードディスクドライブの種別であり、
    前記データアクセス部は、
    前記ボリュームの種別又は前記ハードディスクドライブの種別の信頼性や性能が高い順となるように、前記検索結果を変更する
    ことを特徴とする請求項に記載の情報処理システム。
  8. 所定のフォーマットで記録されてストレージ装置に格納され複数の第1のデータの各々第1の識別子を用いて管理する第1のアプリケーション装置と、前記第1のデータとは異なるフォーマットで記録されて前記ストレージ装置に格納され複数の第2のデータの各々前記第1の識別子とは異なる第2の識別子を用いて管理する第2のアプリケーション装置と、複数の前記第1のデータ及び前記第2のデータにアクセスするサーバ装置と、前記サーバ装置にアクセスして、複数の前記第1のデータ及び前記第2のデータを使用するクライアント装置とを有する情報処理システムのデータアクセス方法であって、
    所定時間ごとに、前記第1のアプリケーション装置及び前記第2のアプリケーション装置のそれぞれが管理する全ての前記第1のデータ及び前記第2のデータを抽出し、抽出した前記第1のデータ及び前記第2のデータについて、新規データ、更新データ及び削除データの有無をチェックし、前記第1のデータ及び前記第2のデータの各々に対して前記第1の識別子及び前記第2の識別子とは異なる第3の識別子を割り当てるとともに、前記第1のデータ及び前記第2のデータの各々に対してインデックスを作成又は更新する第1のステップと、
    前記第3の識別子と、前記第3の識別子で識別される前記第1のデータ又は前記第2のデータの前記第1の識別子又は前記第2の識別子と、前記第3の識別子で識別される前記第1のデータ又は前記第2のデータにアクセスするためのアクセス方法との対応関係を管理する第2のステップと、
    前記クライアント装置からの検索要求に応じて前記インデックスを用いて検索された1以上の前記第1のデータ若しくは前記第2のデータ又は前記クライアント装置からのデータ作成要求に応じて作成された前記第1のデータ若しくは前記第2のデータのそれぞれに割り当てられている前記第3の識別子を、前記クライアント装置に対して提示する第3のステップと、
    前記クライアント装置から前記第3の識別子を指定して要求された前記第1のデータ又は前記第2のデータへのアクセス要求を、前記第3の識別子に対応づけられている前記アクセス方法及び前記第1の識別子又は前記第2の識別子により、前記第3の識別子に対応する前記第1のデータ又は前記第2のデータにアクセスするためのアクセス要求に変換する第4のステップと、
    前記第4のステップにおいて変換した前記アクセス要求により、前記第1のデータ又は前記第2のデータへのアクセス要求を行って、アクセス結果を、前記クライアント装置に送信する第5のステップと
    を備えることを特徴とするデータアクセス方法。
  9. 前記クライアント装置から前記第3の識別子を指定して前記第1のデータ又は前記第2のデータを更新する前記アクセス要求である更新要求を受信したときに、前記第1のデータ又は前記第2のデータの更新データを前記第1のデータ及び前記第2のデータが格納されるボリュームとは異なる更新用のボリュームに書き込むデータ書き込みステップ
    を備え、
    前記第2のステップでは、
    前記データ書き込みステップにおいて前記更新データ書き込んだ後には、当該更新データにアクセスするように、前記第3の識別子と前記更新データとの対応関係を管理し、
    前記第5のステップでは、
    前記更新データに対応する前記第1のデータ又は前記第2のデータへの前記アクセス要求を受信したときに、前記第4のステップにおいて変換した前記アクセス要求により、対応する前記第1のデータ又は前記第2のデータの更新データへのアクセス要求を行う
    ことを特徴とする請求項に記載のデータアクセス方法。
  10. 前記データ書き込みステップでは、
    前記第1のデータ又は前記第2のデータを管理する前記第1のアプリケーション装置又は前記第2のアプリケーション装置がデータ更新をすることができない場合に、前記第1のデータ又は前記第2のデータの更新データを前記更新用のボリュームに書き込む
    ことを特徴とする請求項に記載のデータアクセス方法。
  11. 前記第2のステップでは、
    前記第1のデータ又は前記第2のデータの作成要求を受信したときに、受信した前記第1のデータ又は前記第2のデータと前記第3の識別子との対応関係を管理し、
    前記第5のステップでは、
    前記第4のステップにおいて変換した前記アクセス要求により、前記受信した前記第1のデータ又は前記第2のデータの作成要求を行って、作成結果を、作成された前記第1のデータ又は前記第2のデータに対応する前記第3の識別子と共に、前記クライアント装置に送信する
    ことを特徴とする請求項に記載のデータアクセス方法。
  12. 前記第5のステップでは、
    前記第1のデータ又は前記第2のデータの検索要求を受信したときに、前記第4のステップにおいて変換した前記アクセス要求により、対応する前記第1のデータ又は前記第2のデータの検索要求を行って、検索結果を、検索された前記第1のデータ又は前記第2のデータに対応する前記第3の識別子と共に、前記クライアント装置に送信する
    ことを特徴とする請求項に記載のデータアクセス方法。
  13. 前記サーバは、
    前記ストレージ装置から前記第1のデータ又は前記第2のデータのデータ関係情報を取得するデータ関係情報取得部を備え、
    前記データ関係情報は、
    複数の前記第1のデータ間又は複数の前記第2のデータ間のコピー関係であり、
    前記第5のステップでは、
    コピー関係にある前記第1のデータ又は前記第2のデータが存在するときには、オリジナルの前記第1のデータ又は前記第2のデータのみとなるように、前記検索結果を変更する
    ことを特徴とする請求項12に記載のデータアクセス方法。
  14. 前記データ関係情報は、
    前記第1のデータ又は前記第2のデータを格納する前記ボリュームの種別又は前記ボリュームのハードディスクドライブの種別であり、
    前記第5のステップでは、
    前記ボリュームの種別や前記ハードディスクドライブの種別の信頼性又は性能が高い順となるように、前記検索結果を変更する
    ことを特徴とする請求項12に記載のデータアクセス方法。
JP2007285524A 2007-11-01 2007-11-01 情報処理システム及びデータ管理方法 Expired - Fee Related JP5046863B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007285524A JP5046863B2 (ja) 2007-11-01 2007-11-01 情報処理システム及びデータ管理方法
US12/068,320 US8473636B2 (en) 2007-11-01 2008-02-05 Information processing system and data management method
US13/924,761 US9609045B2 (en) 2007-11-01 2013-06-24 Information processing system and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007285524A JP5046863B2 (ja) 2007-11-01 2007-11-01 情報処理システム及びデータ管理方法

Publications (2)

Publication Number Publication Date
JP2009116414A JP2009116414A (ja) 2009-05-28
JP5046863B2 true JP5046863B2 (ja) 2012-10-10

Family

ID=40589298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007285524A Expired - Fee Related JP5046863B2 (ja) 2007-11-01 2007-11-01 情報処理システム及びデータ管理方法

Country Status (2)

Country Link
US (2) US8473636B2 (ja)
JP (1) JP5046863B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187309A (ja) * 2008-02-06 2009-08-20 Canon Inc 認証サーバ及び認証システム及びアカウント保守方法
US8135838B2 (en) 2008-04-08 2012-03-13 Geminare Incorporated System and method for providing data and application continuity in a computer system
JP5539126B2 (ja) * 2010-09-09 2014-07-02 キヤノン株式会社 データ処理装置、制御方法、及びプログラム
JP2012084119A (ja) * 2010-09-16 2012-04-26 Ricoh Co Ltd 機器管理装置および機器管理プログラム
JP5548825B2 (ja) * 2011-02-28 2014-07-16 株式会社日立製作所 情報処理装置
US9396277B2 (en) * 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Access to supplemental data based on identifier derived from corresponding primary application data
NO20120022A1 (no) * 2012-01-10 2013-07-11 Magnus Skraastad Gulbrandsen System og fremgangsmate for kontroll av tilgang til opphavsrettsbeskyttede data
US8799746B2 (en) * 2012-06-13 2014-08-05 Caringo, Inc. Erasure coding and replication in storage clusters
CN102752457B (zh) * 2012-07-19 2014-09-03 腾讯科技(深圳)有限公司 一种安装应用的方法及系统
FI20126010A (fi) * 2012-09-28 2014-03-29 Tekla Corp Lähdekohteiden muuntaminen kohdekohteiksi
US9521197B2 (en) * 2012-12-05 2016-12-13 International Business Machines Corporation Utilizing data object storage tracking in a dispersed storage network
US10587691B2 (en) 2012-12-05 2020-03-10 Pure Storage, Inc. Impatient writes
US9305007B1 (en) * 2013-02-08 2016-04-05 Symantec Corporation Discovering relationships using deduplication metadata to provide a value-added service
EP3089421A4 (en) * 2013-12-31 2017-01-18 Huawei Technologies Co., Ltd. Network element data access method and apparatus, and network management system
US10735514B2 (en) * 2017-08-29 2020-08-04 Western Digital Technologies, Inc. Remote application configuration on network-attached storage
CN112055849B (zh) * 2018-04-19 2024-01-16 村田机械株式会社 排他控制系统以及排他控制方法
US11520742B2 (en) * 2018-12-24 2022-12-06 Cloudbrink, Inc. Data mesh parallel file system caching
GB2581504A (en) * 2019-02-20 2020-08-26 Smartpipe Tech Ltd Processing data in a network
US11061927B2 (en) * 2019-04-03 2021-07-13 Sap Se Optimization of relocated queries in federated databases using cross database table replicas

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2404319A1 (en) * 2000-03-31 2001-10-11 Andrei Mikheev Method and system for gathering, organizing, and displaying information from data searches
US6976060B2 (en) 2000-12-05 2005-12-13 Agami Sytems, Inc. Symmetric shared file storage system
JP2003345810A (ja) * 2002-05-28 2003-12-05 Hitachi Ltd 文書検索方法、文書検索システム及び文書検索結果示方システム
US6938038B2 (en) * 2002-06-04 2005-08-30 Sap Aktiengesellschaft Method and apparatus for generating and utilizing qualifiers and qualified taxonomy tables
JP2005530280A (ja) * 2002-06-13 2005-10-06 アガミ システムズ, インコーポレイテッド 関連アプリケーション相互参照対称的共有ファイル記憶システム
JP2004178337A (ja) * 2002-11-28 2004-06-24 Hitachi Ltd 記憶装置システム、記憶装置、計算機およびプログラム
JP4294353B2 (ja) * 2003-03-28 2009-07-08 株式会社日立製作所 ジョブ管理機能を有するストレージ系障害管理方法及び装置
US20050086192A1 (en) * 2003-10-16 2005-04-21 Hitach, Ltd. Method and apparatus for improving the integration between a search engine and one or more file servers
US7516133B2 (en) * 2003-10-17 2009-04-07 Hitachi, Ltd. Method and apparatus for file replication with a common format
JP4391265B2 (ja) * 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
US7185030B2 (en) * 2004-03-18 2007-02-27 Hitachi, Ltd. Storage system storing a file with multiple different formats and method thereof
US20060218146A1 (en) * 2005-03-28 2006-09-28 Elan Bitan Interactive user-controlled relevance ranking of retrieved information in an information search system
JP4720303B2 (ja) * 2005-06-08 2011-07-13 株式会社日立製作所 ストレージシステムを含む計算機システムの構成管理方法
JP4877921B2 (ja) * 2006-01-25 2012-02-15 株式会社日立製作所 ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法
KR100772872B1 (ko) * 2006-02-24 2007-11-02 삼성전자주식회사 다중 자바 어플리케이션 환경에서 가상 아이디를 이용하여자원을 관리하는 장치 및 그 방법
JP2007280324A (ja) * 2006-04-12 2007-10-25 Hitachi Ltd 計算機システム、管理計算機および仮想ストレージ装置
US20070245107A1 (en) * 2006-04-14 2007-10-18 Hitachi, Ltd. System and method for processing a plurality kinds of event markers of a continuous data protection
US7882077B2 (en) * 2006-10-17 2011-02-01 Commvault Systems, Inc. Method and system for offline indexing of content and classifying stored data
US20080228771A1 (en) * 2006-12-22 2008-09-18 Commvault Systems, Inc. Method and system for searching stored data
JP4951331B2 (ja) * 2006-12-26 2012-06-13 株式会社日立製作所 ストレージシステム
US7801993B2 (en) * 2007-07-19 2010-09-21 Hitachi, Ltd. Method and apparatus for storage-service-provider-aware storage system
US8396838B2 (en) * 2007-10-17 2013-03-12 Commvault Systems, Inc. Legal compliance, electronic discovery and electronic document handling of online and offline copies of data

Also Published As

Publication number Publication date
US20130282799A1 (en) 2013-10-24
US8473636B2 (en) 2013-06-25
US20090119395A1 (en) 2009-05-07
JP2009116414A (ja) 2009-05-28
US9609045B2 (en) 2017-03-28

Similar Documents

Publication Publication Date Title
JP5046863B2 (ja) 情報処理システム及びデータ管理方法
US8504797B2 (en) Method and apparatus for managing thin provisioning volume by using file storage system
JP5775177B2 (ja) クローンファイル作成方法と、それを用いたファイルシステム
US10210167B1 (en) Multi-level page caching for distributed object store
US9208181B2 (en) Migrating data from legacy storage systems to object storage systems
US10852976B2 (en) Transferring snapshot copy to object store with deduplication preservation and additional compression
JP5608811B2 (ja) 情報処理システムの管理方法、及びデータ管理計算機システム
JP5066415B2 (ja) ファイルシステム仮想化のための方法および装置
US9015123B1 (en) Methods and systems for identifying changed data in an expandable storage volume
US9128942B1 (en) On-demand operations
US11797477B2 (en) Defragmentation for objects within object store
US20090319736A1 (en) Method and apparatus for integrated nas and cas data backup
US11016943B2 (en) Garbage collection for objects within object store
US20090089335A1 (en) Method and apparatus for nas/cas unified storage system
US20090043828A1 (en) Method and apparatus for nas/cas integrated storage system
US20090198704A1 (en) Method for automated network file and directory virtualization
JP2007272874A (ja) クラスタ化ファイルシステムにおいてデータのバックアップを取る方法
JP2008117322A (ja) 情報提供システム及び情報提供方法
WO2014183708A1 (zh) 一种实现分布式文件系统块存储的方法及系统
US9760457B2 (en) System, method and computer program product for recovering stub files
US10838641B2 (en) Defragmenting backup objects
US8612495B2 (en) Computer and data management method by the computer
US8627446B1 (en) Federating data between groups of servers
US20160048529A1 (en) Coalescing storage operations
US8332351B2 (en) Method and system for preserving files with multiple links during shadow migration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees