JP7004184B2 - テープ処理をオブジェクト・ストレージにオフロードするためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム - Google Patents

テープ処理をオブジェクト・ストレージにオフロードするためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム Download PDF

Info

Publication number
JP7004184B2
JP7004184B2 JP2019527826A JP2019527826A JP7004184B2 JP 7004184 B2 JP7004184 B2 JP 7004184B2 JP 2019527826 A JP2019527826 A JP 2019527826A JP 2019527826 A JP2019527826 A JP 2019527826A JP 7004184 B2 JP7004184 B2 JP 7004184B2
Authority
JP
Japan
Prior art keywords
data
tenant
storage
data set
computer
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.)
Active
Application number
JP2019527826A
Other languages
English (en)
Other versions
JP2020504861A (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.)
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 JP2020504861A publication Critical patent/JP2020504861A/ja
Application granted granted Critical
Publication of JP7004184B2 publication Critical patent/JP7004184B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明はデータ・ストレージに関連し、より詳細には、本発明は接続されたデータ・ストレージ・システム全体でデータ・ストレージを管理することに関連する。
従来のコンピュータ・ファイル・システムは、ツリー構造を使用して情報をデータベースに格納する。それらの従来のシステムは、ローカル・ハード・ドライブ上のデータなどの、少量のデータに対しては問題ないが、大量のデータを処理するように設計されておらず、したがって、大量のデータを処理することができない。したがって、企業がますます増える大量の構造化されていないコンテンツに対して、収集、格納、アクセス、転送などを行い続けるにつれて、従来のコンピュータ・ファイル・システムは、企業の要求を満たすことができなくなる。
ストレージ・エリア・ネットワーク(SAN:storage area network)は、統合されたブロック・レベルのデータ・ストレージへのアクセスを提供するネットワークである。SANは、ディスク・アレイやテープ・ライブラリなどのストレージ・デバイスが、オペレーティング・システムにとって、ローカルに取り付けられたデバイスのように見えるように、サーバがストレージ・デバイスにアクセスできるようにすることによって、ストレージ・デバイスを拡張するために主に使用される。したがって、データ・ストレージ・システムに含まれているデータを管理するために、さまざまなレベルの処理能力を有するストレージ・デバイスが集合的に使用されてよい。さらに、SANは、広い地理的領域をカバーする広域ネットワーク(WAN:wide area network)上で実装されてよい。SANに含まれる物理データ・ストレージ・インフラストラクチャは、クラウドベースのネットワークと統合されてもよい。したがって、ストレージ・デバイス同士の近接性に関わらず、それらのストレージ・デバイス間のアクセスを容易にすることができる。
オブジェクト・ストレージは、情報がオブジェクトして格納される、情報を格納する高度な技術を提供する。各オブジェクトは、ユーザまたはシステムあるいはその両方によって定義されたタグを含むことができるメタデータに加えて、データ自体(例えば、ビットおよびバイト)を格納する。メタデータは、対応するオブジェクトが他のオブジェクトにどのように関連しているか、データがどのように処理、複製、またはバックアップされるべきかなどの、データの内容を説明することができる。
さまざまなレベルの処理能力を有するデータ処理デバイスが集合的に使用されることがあるが、既存のデータ・ストレージ・システムは、多様なスループットを効率的に利用して、データ処理を実行することができない。
本発明は、テープ処理をオブジェクト・ストレージにオフロードするためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステムを提供する。
一実施形態によれば、コンピュータ実装方法は、複数のテナントからのデータを含んでいるデータ・セット(以下、データ・ボリュームという)を受信することと、このデータ・ボリューム内のデータを、データの部分に対応するメタデータからのテナント識別子を使用してオブジェクトに分離することであって、各オブジェクトが各テナントに対応する、分離することと、オブジェクトをオブジェクト・ストレージに格納することとを含む。
別の実施形態によれば、コンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含んでおり、それらのプログラム命令は、プロセッサによって、複数のテナントからのデータを含んでいるデータ・ボリュームを受信することと、プロセッサによって、データの部分に対応するメタデータからのテナント識別子を使用して、データ・ボリューム内のデータをオブジェクトに分離することであって、各オブジェクトが各テナントに対応する、分離することと、プロセッサによって、オブジェクトをオブジェクト・ストレージに格納することとを、プロセッサに実行させるために、プロセッサによって実行可能である。
さらに別の実施形態によれば、システムは、プロセッサと、このプロセッサと統合されたか、このプロセッサによって実行可能であるか、またはこのプロセッサと統合され、かつこのプロセッサによって実行可能である論理とを含んでおり、この論理は、複数のテナントからのデータを含んでいるデータ・ボリュームを受信することと、データの部分に対応するメタデータからのテナント識別子を使用して、データ・ボリューム内のデータをオブジェクトに分離することであって、各オブジェクトが各テナントに対応する、分離することと、オブジェクトをオブジェクト・ストレージに格納することとを実行するように、構成されている。
本発明のその他の態様および実施形態は、本発明の原理を図面と併せて例として説明する、以下の詳細な説明から明らかになる。
ここで、添付の図面を単に例として参照し、本発明の実施形態について説明する。
一実施形態に記載されたクラウド・コンピューティング・ノードを示す図である。 一実施形態に記載されたクラウド・コンピューティング環境を示す図である。 一実施形態に記載された抽象モデル・レイヤを表す図である。 一実施形態に記載された層型データ・ストレージ・システムを示す図である。 一実施形態に記載されたデータ・ストレージ・ネットワーク・アーキテクチャを示す図である。 一実施形態に記載された方法のフローチャートを示す図である。 一実施形態に記載された、図6の方法のサブプロセスのフローチャートを示す図である。 一実施形態に記載された、図7のサブプロセスの下位の動作のフローチャートを示す図である。
以下の説明は、本発明の一般的原理を説明する目的で行われるのであり、本明細書において請求される本発明の概念を制限するように意図されていない。さらに、本明細書に記載された特定の特徴を、さまざまな可能な各組み合わせおよび並べ替えで、その他の説明された特徴と組み合わせて使用することができる。
本明細書では、特に定義されない限り、すべての用語には、本明細書から示される意味、および当業者によって理解される意味、または辞書、論文などにおいて定義された意味、あるいはその両方を含む、最も広い可能な解釈が与えられる。
本明細書および添付の特許請求の範囲において使用されるとき、単数形「a」、「an」および「the」が、特に規定されない限り、複数の指示対象を含むということにも注意しなければならない。「備える(comprise)」または「備えている(comprising)」あるいはその両方の用語は、本明細書で使用される場合、記載された機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組み合わせの存在を示すが、1つまたは複数のその他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組み合わせの存在または追加を除外していないということが、さらに理解されるであろう。
以下の説明は、接続されたデータ・ストレージ・システム全体でデータ・ストレージを管理するためのシステム、方法、およびコンピュータ・プログラム製品の複数の好ましい実施形態を開示する。本明細書に記載されたさまざまな実施形態は、ストレージ・ネットワーク全体で異なるデバイスによって提供されるさまざまなレベルの処理能力の効率的な使用を実現できる。結果として、システム・リソースを効率的に使用することができ、それによって、下でさらに詳細に説明されているように、データ・ストレージ・ネットワークの性能を全体的に向上させる。
1つの一般的な実施形態では、コンピュータ実装方法は、複数のテナントからのデータを含んでいるデータ・ボリュームを受信することと、このデータ・ボリューム内のデータを、データの部分に対応するメタデータからのテナント識別子を使用してオブジェクトに分離することであって、各オブジェクトが各テナントに対応する、分離することと、オブジェクトをオブジェクト・ストレージに格納することとを含む。
別の一般的な実施形態では、コンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含んでおり、それらのプログラム命令は、プロセッサによって、複数のテナントからのデータを含んでいるデータ・ボリュームを受信することと、プロセッサによって、データの部分に対応するメタデータからのテナント識別子を使用して、データ・ボリューム内のデータをオブジェクトに分離することであって、各オブジェクトが各テナントに対応する、分離することと、プロセッサによって、オブジェクトをオブジェクト・ストレージに格納することとを、プロセッサに実行させるために、プロセッサによって実行可能である。
さらに別の一般的な実施形態では、システムは、プロセッサと、このプロセッサと統合されたか、このプロセッサによって実行可能であるか、またはこのプロセッサと統合され、かつこのプロセッサによって実行可能である論理とを含んでおり、この論理は、複数のテナントからのデータを含んでいるデータ・ボリュームを受信することと、データの部分に対応するメタデータからのテナント識別子を使用して、データ・ボリューム内のデータをオブジェクトに分離することであって、各オブジェクトが各テナントに対応する、分離することと、オブジェクトをオブジェクト・ストレージに格納することとを実行するように、構成されている。
本開示にはクラウド・コンピューティングの詳細な説明が含まれているが、本明細書において示された教示の実装は、クラウド・コンピューティング環境に限定されないということが、あらかじめ理解される。本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含むことができる。
特徴は、次のとおりである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を指定できる場合がある。
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、無制限に見え、任意の量をいつでも購入できる。
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した何らかの抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
サービス・モデルは、次のとおりである。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御する。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御し、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御する。
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、および適合性に関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースティング)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを備えるインフラストラクチャである。
ここで図1を参照すると、クラウド・コンピューティング・ノードの例の概略図が示されている。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載された本発明の実施形態の使用または機能の範囲に関して、いかなる制限を示唆することも意図されていない。いずれにせよ、クラウド・コンピューティング・ノード10は、前述した機能のいずれかを実装すること、または実行すること、あるいはその両方を行うことができる。
クラウド・コンピューティング・ノード10内には、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用できるコンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12と共に使用するのに適した周知のコンピューティング・システム、環境、または構成、あるいはその組み合わせの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらの任意のシステムまたはデバイスを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。コンピュータ・システム/サーバ12は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境で実行されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
図1に示されているように、クラウド・コンピューティング・ノード10内のコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つまたは複数のプロセッサまたはプロセッシング・ユニット16、システム・メモリ28、およびシステム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に接続するバス18を含んでよいが、これらに限定されない。
バス18は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、および任意のさまざまなバス・アーキテクチャを使用するプロセッサまたはローカル・バスを含む、複数の種類のバス構造のうちのいずれか1つまたは複数を表す。例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)バスを含むが、これらに限定されない。
コンピュータ・システム/サーバ12は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体を含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM:random access memory)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性メモリの形態でのコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、その他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単に例として、取り外し不可、不揮発性の磁気媒体(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム34を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブを提供することができる。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス18に接続することができる。下で詳細に示され、説明されているように、メモリ28は、本発明の実施形態の機能を実行するように構成された一連の(例えば、少なくとも1つの)プログラム・モジュールを備える少なくとも1つのプログラム製品を含んでよい。
例えば、一連の(少なくとも1つの)プログラム・モジュール42を含んでいるプログラム/ユーティリティ40がメモリ28に格納されてよいが、これに限定されず、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データも格納されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データまたはこれらの何らかの組み合わせは、それぞれネットワーク環境の実装を含んでよい。プログラム・モジュール42は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。
コンピュータ・システム/サーバ12は、キーボード、ポインティング・デバイス、ディスプレイ24などの1つまたは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と情報をやりとりできるようにする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ12が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組み合わせと通信してもよい。そのような通信は、入出力(I/O:Input/Output)インターフェイス22を介して行うことができる。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN:local area network)、一般的な広域ネットワーク(WAN:wide area network)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組み合わせなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図示されているように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム/サーバ12と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
ここで図2を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、PDA(personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含んでいる。ノード10は、互いに通信してよい。ノード10は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図2に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
ここで図3を参照すると、クラウド・コンピューティング環境50(図2)によって提供される機能的抽象レイヤのセットが示されている。図3に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体を提供できる抽象レイヤを備える。
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用された際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うと共に、データおよびその他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ分析処理94、トランザクション処理95、および例えば下でさらに詳細に説明されている、クラウドベースの分散システム96が挙げられる。
ここで図4を参照すると、一実施形態に従ってストレージ・システム300が示されている。さまざまな実施形態に従って、図4に示された要素の一部が、ハードウェアまたはソフトウェアあるいはその両方として実装されてよいということに注意する。ストレージ・システム300は、少なくとも1つの上位ストレージ層302上および少なくとも1つの下位ストレージ層306上の複数の媒体と通信するために、ストレージ・システム・マネージャ312を含んでよい。上位ストレージ層302は、好ましくは、ハード・ディスク・ドライブ(HDD:hard disk drive)内のハード・ディスク、不揮発性メモリ(NVM:nonvolatilememory)、半導体ドライブ(SSD:solid state drive)内の半導体メモリ、フラッシュ・メモリ、SSDアレイ、フラッシュ・メモリ・アレイなど、または本明細書に記載されたか、もしくは従来技術において知られているその他の媒体、あるいはその組み合わせなどの、1つまたは複数のランダム・アクセスまたは直接アクセスあるいはその両方の媒体304を含むことができる。下位ストレージ層306は、好ましくは、テープ・ドライブ内の磁気テープもしくは光媒体またはその両方、低速アクセスHDD(slower accessing HDDs)、低速アクセスSDD(slower accessing SSDs)など、または本明細書に記載されたか、もしくは従来技術において知られているその他の順次アクセス媒体、あるいはその組み合わせなどの順次アクセス媒体を含む、1つまたは複数の下位で実行されるストレージ媒体308を含むことができる。1つまたは複数の追加ストレージ層316は、システム300の設計者の要求に従って、ストレージ・メモリ媒体の任意の組み合わせを含むことができる。また、上位ストレージ層302または下位ストレージ層306あるいはその両方のうちのいずれかは、ストレージ・デバイスまたはストレージ媒体あるいはその両方の何らかの組み合わせを含むことができる。
ストレージ・システム・マネージャ312は、図4に示されたストレージ・エリア・ネットワーク(SAN:storage area network)またはその他の何らかの適切なネットワーク・タイプなどのネットワーク310を介して、上位ストレージ層302上および下位ストレージ層306上のストレージ媒体304、308と通信することができる。ストレージ・システム・マネージャ312は、ストレージ・システム・マネージャ312の一部であってもなくてもよいホスト・インターフェイス314を介して、1つまたは複数のホスト・システム(図示されていない)と通信することもできる。ストレージ・システム300のストレージ・システム・マネージャ312または任意のその他のコンポーネントあるいはその両方は、ハードウェア内またはソフトウェア内またはその両方に実装されてよく、従来技術において知られているタイプのコマンドを実行するために、中央処理装置(CPU:central processing unit)、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)、特定用途向け集積回路(ASIC:application specific integrated circuit)などのプロセッサ(図示されていない)を利用することができる。当然、当業者が本説明を読んだときに明らかであろうように、ストレージ・システムの任意の配置が使用されてよい。
その他の実施形態では、ストレージ・システム300は、任意の数のデータ・ストレージ層を含むことができ、各ストレージ層内の同じであるか、または異なるストレージ・メモリ媒体を含むことができる。例えば、各データ・ストレージ層は、HDD、SSD、順次アクセス媒体(テープ・ドライブ内のテープ、光ディスク・ドライブ内の光ディスクなど)、直接アクセス媒体(CD-ROM、DVD-ROMなど)、または媒体のストレージ・タイプの任意の組み合わせなどの、同じタイプのストレージ・メモリ媒体を含むことができる。そのような1つの構成において、上位ストレージ層302は、上位で実行されるストレージ環境内にデータを格納するためのSSDストレージ媒体の大部分を含むことができ、下位ストレージ層306および追加ストレージ層316を含む残りのストレージ層は、データを下位で実行されるストレージ環境内に格納するために、SSD、HDD、テープ・ドライブなどの任意の組み合わせを含むことができる。このようにして、より頻繁にアクセスされるデータ、優先度の高いデータ、より素早くアクセスされる必要のあるデータなどは、上位ストレージ層302に格納されてよく、これらの属性のいずれかを持たないデータは、下位ストレージ層306を含む追加ストレージ層316に格納されてよい。当然、当業者は、本説明を読んだときに、本明細書において提示された実施形態に従って、異なるストレージ方式で実装するために、ストレージ媒体のタイプの多くのその他の組み合わせを考案することができる。
一部の実施形態に従って、ストレージ・システム(300など)は、データ・セットを開くための要求を受信するように構成された論理、要求されたデータ・セットが、複数の関連する部分において、層型データ・ストレージ・システム300の下位ストレージ層306に格納されているかどうかを判定するように構成された論理、要求されたデータ・セットの関連する各部分を層型データ・ストレージ・システム300の上位ストレージ層302に移動するように構成された論理、および層型データ・ストレージ・システム300の上位ストレージ層302上の要求されたデータ・セットを関連する部分から組み立てるように構成された論理を含むことができる。
当然、この論理は、さまざまな実施形態に従って、任意のデバイス上またはシステム上あるいはその両方での方法として、またはコンピュータ・プログラム製品として実装されてよい。
前述したように、さまざまなレベルの処理能力(例えば、スループット)を有するデータ処理デバイスが集合的に使用されることがあるが、既存のデータ・ストレージ・システムは、それらの多様なスループットを効率的に利用しない。より大きいスループットを有しているデバイスは、より多くのシステム・リソースを使用する。例えば、メインフレーム・タイプのデバイスは、特により低いスループットを有している他の分散型デバイスと比較して、膨大な処理能力を有しているが、それに相当する量のシステム・リソースも使用する。しかし、高スループットのデバイスを使用して重要でないタスクを実行する場合、かなりの量のシステム・リソースが非効率的に使用される。
それとは際立って対照的に、本明細書に記載されたさまざまな実施形態は、ネットワーク全体で異なるデバイスによって提供されるさまざまなレベルの処理能力の効率的な使用を実現するデータ・ストレージ・ネットワークを含んでよい。結果として、システム・リソースを節約し、効率的に使用することができ、それによって、データ・ストレージ・ネットワークの性能を全体的に向上させる。さらに、下でさらに詳細に説明されているように、データを格納する方法によって、データ・アクセス要求のシステム性能をさらに向上させることができる。
一部の実施形態によれば、高スループットのデバイスからデータをオフロードし、そのデータに対して特定の動作を実行することによって、システム・リソースをより効率的に使用することができる。図5を参照すると、一実施形態に従って、データ・ストレージ・ネットワーク400が示されている。任意選択として、本データ・ストレージ・ネットワーク400は、他の図を参照して説明されている特徴などの、本明細書に示されている任意の他の実施形態からの特徴と共に、実装されてよい。ただし、そのようなデータ・ストレージ・ネットワーク400および本明細書において提示されている他のものは、本明細書に示されている例示的な実施形態において具体的に説明されていることもあれば、説明されていないこともあるさまざまな応用または並べ替えあるいはその両方において、使用されてよい。さらに、本明細書において提示されているデータ・ストレージ・ネットワーク400は、任意の望ましい環境内で使用されてよい。図5(および他の図)は、可能性のある任意の並べ替えを含むと見なされてよい。
データ・ストレージ・ネットワーク400は、データ処理デバイス404に接続された高スループットのデバイス402と、クラウドベース、WANベースなどであってよい分散システム406とを含む。次に、分散システム406は、いずれかの望ましいオペレーティング・システムを使用して動作してよい任意の数の分散ハードウェア・プラットフォーム(distributed hardware platforms)408に接続されてよい。高スループットのデバイス402は、ユーザ、テナント、他のストレージ・システム、またはネットワーク、あるいはその組み合わせなどからデータのストリームを受信する、メインフレームであってよく、それによって、データ処理デバイス404よりも高いスループットを有してよい。本発明を限定するよう全く意図されていない例示的なアプローチによれば、高スループットのデバイス402は、z/OS、z/TPF、z/VM、z/VSEなどのオペレーティング・システムを実装するIBM z Systemsメインフレームであってよい。さらに、別のアプローチによれば、データ処理デバイス404は、例えば図4を参照して上で説明されたような、仮想テープ・システムであってよい。したがって、高スループットのデバイス402が、大量のリソースを使用するデータ処理動作を実行するために使用されてよく、一方、デバイス404が、あまりリソースを使用しない処理動作を実行するために使用される。
本発明を限定するよう全く意図されていない1つのアプローチによれば、高スループットのデバイス402は、重要でないデータ・ボリューム処理を、データ処理デバイス404にオフロードするか、または分散システム406を介して、他の分散システムもしくはハードウェア・プラットフォーム408にオフロードするか、あるいはその両方にオフロードしてよい。このデータ・ボリューム処理のオフロードは、高スループットのデバイス402での、そのような処理の実行に関連付けられたシステム・リソースの不必要な利用を防ぐために、実行されてよい。代替として、重要でないデータ・ボリューム処理は、この処理を実行するためにシステム・リソースをあまり利用しないデータ処理デバイスを使用して、実行されてよい。一部のアプローチによれば、データ・ボリュームは、1つまたは複数の仮想テープ・ライブラリ・ボリュームとして、ストレージ・システム内の位置間で移動されてよい。
一部の実施形態によれば、例えばデータが処理された後に、データが格納され得る方法をさらに改善するために、オブジェクト・ストレージが利用されてよい。下でさらに詳細に説明されているように、データをオブジェクトとしてオブジェクト・ストレージに格納することによって、アクセス時間を短縮し、データ・ストリームの汚染のリスクをさらに低下させることができる。
ここで図6を参照すると、一実施形態に従って、コンピュータ実装方法500のフローチャートが示されている。方法500は、他の図(図5など)を参照して説明されている環境などの、本明細書において示されているいずれかの環境内で、本発明に従って実行されてよい。当然、当業者が本説明を読んだときに理解するであろうように、図6において具体的に説明された動作よりも多いか、または少ない動作が方法500に含まれてよい。
方法500の各ステップは、動作環境の任意の適切なコンポーネントによって実行されてよい。例えば、さまざまな実施形態では、方法500は、コントローラ、プロセッサなど、または1つまたは複数のプロセッサを備えているその他の何らかのデバイスによって、部分的に、または全体的に実行されてよい。ハードウェアまたはソフトウェアあるいはその両方において実装され、好ましくは少なくとも1つのハードウェア・コンポーネントを含んでいるプロセッサ(例えば、処理回路、チップ、またはモジュール、あるいはその組み合わせ)が、方法500の1つまたは複数のステップを実行するために任意のデバイス内で利用されてよい。プロセッサの例は、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)など、これらの組み合わせ、または従来技術において知られた任意のその他の適切なコンピューティング・デバイスを含むが、これらに限定されない。
図6に示されているように、方法500の動作502は、複数のテナントからのデータを含んでいる1つまたは複数のデータ・ボリュームを受信することを含む。前述したように、メインフレームなどの高スループットのデバイスは、ユーザ、テナント、他のストレージ・システム、またはネットワーク、あるいはその組み合わせなどから、データを受信してよい。さらに、データは、1つまたは複数の仮想テープ・ライブラリ・ボリュームとして受信されてよい。本説明を参照するときに、「テナント」は、例えば図5に示されているシステムを使用して、方法500のプロセスのいずれかに従って格納されるか、または処理されるか、あるいはその両方が実行されるようにデータをサブミットする、任意の人または実体であってよい。
本発明を限定するよう全く意図されていない例によれば、クレジット・カード会社が、複数の小売業に対応するデータを含んでいる1つまたは複数のデータ・ボリュームを送信してよい。この例では、複数の小売業が、テナントであると見なされる。したがって、クレジット・カード会社から受信されたデータ・ボリュームには、複数のテナントからのデータが含まれている。したがって、例えば間もなく明らかになるであろうように、含まれている複数の異なるテナントに従って、動作502で受信された1つまたは複数のデータ・ボリュームを分離することが望ましいことがある。
さらに図6を参照すると、動作504が、受信されたデータに対応するメタデータからテナント識別子を抽出することを含んでいる。やはり、データ・ボリュームは、複数のテナントからのデータを含んでよい。したがって、受信された1つまたは複数のデータ・ボリュームが、各データ・ボリュームに含まれている各テナントに対応するメタデータも含むのが好ましい。1つのアプローチによれば、テナント識別子を含んでいるメタデータが、受信された仮想テープ・ライブラリ・ボリュームの一部(例えば、仮想ボリュームのヘッダーまたはトレーラーあるいはその両方)に含まれてよい。
テナント識別子は、各テナントに関連付けられたデータを区別するために使用されてよい。したがって、動作506は、メタデータからのテナント識別子を使用してデータ・ボリューム内のデータをオブジェクトに分離することを含んでいる。やはり、各テナント識別子は、特定のテナントに関連付けられたデータの部分に対応しており、したがって、データが関連付けられているテナントに従う部分によって、データ・ボリュームを分離するために使用されてよい(例えば、図7を参照)。したがって、各オブジェクトが各テナントに対応するのが好ましい。さらに、データ・ボリューム内のデータがオブジェクトに分離された後に、方法500が、オブジェクトをオブジェクト・ストレージに格納することを含む動作508に進む。
オブジェクト・ストレージは、情報がオブジェクトして格納される、情報を格納する高度な技術を提供する。各オブジェクトは、ユーザまたはシステムあるいはその両方によって定義されたタグを含むことができるメタデータに加えて、データ自体(例えば、ビットおよびバイト)を格納する。メタデータは、対応するオブジェクトが他のオブジェクトにどのように関連しているか、データがどのように処理、複製、またはバックアップされるべきかなどの、データの内容を説明することができる。好ましいアプローチによれば、特定のオブジェクトのメタデータは、データが関連付けられているテナントを含む。
オブジェクト・ストレージの価値を高め、オブジェクト内のデータにアクセスできる速度を向上するように、オブジェクト・ストレージが開発されているという進歩を考慮して、分離されたデータはオブジェクト・ストレージに格納されてよい。一実施形態によれば、通常は「ストアレット(storlet)」と呼ばれる組み込みの計算エンジンが、オブジェクト・ストレージ内で実装されてよい。したがって、ストアレットは、計算コンポーネントが内部に格納されているデータ・ストレージ・オブジェクトであり、これによって、オブジェクト・ストレージがデータに対して計算を実行できるようにする。これは、データを計算ノードまたはサーバに移動して任意の望ましい計算を実行する別の従来のプロセスと比較した場合に、特に望ましい。例示的なアプローチによれば、Openstack Swiftストアレットが使用されてよい。Swiftオブジェクト・ストレージに関しては、動的な大きいオブジェクトをサポートする機能が存在してよく、この機能を使用して、OpenStack Swiftが、固定されたセグメント・サイズに従って大きいオブジェクトをより小さい複数のオブジェクトに分離できるようにしてよく、この機能は、読み取り要求の受信時に、複数のセグメントを1つのオブジェクトに再び組み立てる能力を提供する。
ストアレットは、さまざまな構文解析モジュールを受け入れるように一般化されてよく、これらの構文解析モジュールを使用して、データを構文解析する方法に関する基準を決定し、テナント識別子に基づいてデータをサブオブジェクトに分離することができる。例えば、データの形式または分離されたデータ(オブジェクト)の分散あるいはその両方に関連付けられたさまざまなキーが提供されてよい。上で示唆したように、ストアレットを使用してデータ・ボリュームを構文解析し、提供されること、メモリに格納されることなどが行われてよい構文解析キーに従って、一意のテナント・レコード(tenant records)を検出することができる。一部のアプローチによれば、関連付けられたテナントに基づいてデータを分離するために使用される構文解析キーは、使用できるテープのヘッダー情報またはトレーラー情報あるいはその両方に格納されてよい。
呼び出し方法と共にストアレットの計算タスクを登録するためのフレームワークが、提供されてもよい。一部のアプローチによれば、ストアレットは、計算ノードによる実行のために、計算ノード上でプロビジョニングされるか、またはデプロイされるか、あるいはその両方を実行され得る。ストアレットが実行される場合、計算ノード上でストアレットを実行する効率が、ストアレットが実行する動作のタイプ、または計算ノードの機能および役割、あるいはその両方によって決まってよい、ということにも注意するべきである。
図6に含まれている動作の実行は、方法500が実行される(executed)(例えば、実行される(performed))場所または方法あるいはその両方に応じて変化してよい。例えば、オブジェクトをオブジェクト・ストレージに格納するプロセスは、データ・ボリュームが受信されるか、または処理される(分離される)か、あるいはその両方が実行される場所に応じて、オブジェクト・ストレージの場所または実装あるいはその両方に関して、変化してよい。
図5および6を一緒に参照すると、本発明を限定するよう全く意図されていない1つの実施形態例によれば、動作502で受信される1つまたは複数のデータ・ボリュームは、高スループットのデバイス402(例えば、メインフレーム)からデータ処理デバイス404(例えば、仮想テープ層(virtual tape tier))で受信されてよい。したがって、データ・ボリュームは、高スループットのデバイス402ではなく、データ処理デバイス404で分離されてよく、それによって、前述したように、システム・リソースを節約するのが望ましい。一実施形態によれば、データ処理デバイス404は仮想テープ・ライブラリであってよく、1つまたは複数のデータ・ボリュームが、ファイバ接続(FICON:fibre connection)のテープを使用して受信されてよい。ただし、本説明を読んでいる当業者によって理解されるであろうように、異なる実施形態では、任意のその他の望ましいタイプのプロトコルが使用されてよい。さらに、一部のアプローチでは、仮想テープ・ライブラリは二重機能性を有してよい。例えば、受信されたデータ・ボリュームは、仮想テープ・ライブラリ内のメモリの第1の指定された部分に格納されてよく、一方、オブジェクト・ストレージは、仮想テープ・ライブラリ内のメモリの第2の指定された部分であってよい。したがって、データ処理デバイス404によってデータ・ボリューム内のデータがオブジェクトに分離された後に、それらのオブジェクトは、データ処理デバイス404内のメモリの第2の指定された部分で、オブジェクト・ストレージに格納されてよい。
引き続き図5および6を一緒に参照すると、やはり本発明を限定するよう全く意図されていない別の実施形態例によれば、動作502で受信される1つまたは複数のデータ・ボリュームは、データ処理デバイス404(例えば、仮想テープ層)または高スループットのデバイス402(例えば、メインフレーム)あるいはその両方から分散システム406で受信されてよい。したがって、分散システム406で動作する少なくとも1つのプログラムが、動作506を実行するために使用されてよく、それによって、ボリューム内のデータをオブジェクトに分離する。前述したように、少なくとも1つのプログラムは、分散システム406自体のオブジェクト・ストレージ内に実装されたストアレットであってよい。したがって、やはりデータ・ボリュームは、高スループットのデバイス402ではなく、分散システム406によって分離されてよく、それによって、システム・リソースを節約するのが望ましい。
一部の実施形態によれば、分離された部分が格納される場所とは異なる場所で、データ・ボリュームが分離されてよい、ということにも注意するべきである。例えば、仮想テープ・ライブラリは、1つまたは複数の仮想テープ・ライブラリ・ボリュームをメインフレームから受信してよく、これらの仮想テープ・ライブラリ・ボリュームは複数のテナントからのデータを含んでいる。仮想テープ・ライブラリ自体は、例えばテナント識別子を使用して、仮想テープ・ライブラリ・ボリューム内のデータをオブジェクトに分離してよい。一部のアプローチでは、それらのオブジェクトは、仮想テープ・ライブラリに(例えば、前述したように、オブジェクト・ストレージとして指定されている、仮想テープ・ライブラリ内のメモリの一部に)格納されてよい。ただし、他のアプローチでは、データがオブジェクトに分離された後に、それらのオブジェクトは、1つまたは複数の異なるストレージの場所で、オブジェクト・ストレージに送信されてよい。1つのアプローチによれば、それらのオブジェクトは、クラウドベースの分散システム内のオブジェクト・ストレージに送信されてよい。ただし、例えば冗長性の目的で、オブジェクトのコピーが仮想テープ・ライブラリで保持されてもよい。
ここで図7を参照すると、一実施形態に従ってサブプロセスが示されており、それらのサブプロセスうちの1つまたは複数が、方法500の動作506を実行するために使用されてよい。上で提示されたように、動作506は、メタデータからのテナント識別子を使用してデータ・ボリューム内のデータをオブジェクトに分離することを含んでいる。
したがって、動作506で説明されているように、データを分離することは、まず、動作504で抽出されたテナント識別子のうちの特定の1つがオブジェクト・ストレージ内の既存のオブジェクトに対応するかどうかを判定することを含んでよい。判定520を参照する。1つのアプローチによれば、判定520は、テナントに関連付けられた一意の識別子(例えば、テナントの名前)を構文解析し、オブジェクト・ストアに問い合わせて、テナント識別子がすでにオブジェクト・ストア内に存在するかどうかを確認することによって、実行されてよい。サブプロセス522は、テナント識別子が既存のオブジェクトに対応していないということの決定に応答して、テナント識別子を使用して、新しいオブジェクトを含んでいる新しいテナント・アカウントを作成することを含む。例示的なアプローチによれば、新しいテナント・アカウントおよび新しいオブジェクトは、下でさらに詳細に説明されている図8に含まれている下位の動作のうちのいずれか1つまたは複数を使用して作成されてよい。
さらに図7を参照すると、サブプロセス524は、テナント識別子に関連付けられたデータの部分を新たに作成されたオブジェクトに追加することを含む。前述したように、データ・ボリューム内のデータは、テナント識別子を使用してオブジェクトに分離されてよい。したがって、新たに作成されたオブジェクトに追加されるデータの部分は、オブジェクトの形態であってよい。やはり、各テナント識別子は、特定のテナントに関連付けられたデータの部分に対応しており、したがって、部分によってデータ・ボリュームを分離してオブジェクトを作成するために使用されてよい。
判定520に戻り、テナント識別子が既存のオブジェクトに対応するということの決定に応答して、動作506のフローが判定526に進む。そこで、判定526が、既存のオブジェクトのオブジェクト・サイズがしきい値を超えているかどうかを判定する。異なるアプローチによれば、しきい値は、既定の値、ユーザによって設定される値、時間と共に更新される値、リアルタイムに計算される値、などの値であってよい。オブジェクト・サイズのしきい値は、オブジェクトがオーバーフローすることによって引き起こされる追加動作の失敗を防ぐように実装されてよい。ただし、「しきい値を超える」は、本発明を限定するよう全く意図されていないということに、注意するべきである。値がしきい値を超えているかどうかを判定するのではなく、同等の判定が、望ましいアプローチに応じて、例えば、値が既定の範囲内であるかどうか、値が既定の範囲外であるかどうか、絶対値がしきい値を超えているかどうか、値がしきい値を下回っているかどうか、などに関して行われてよい。
サブプロセス528は、既存のオブジェクトのオブジェクト・サイズがしきい値を超えているということの決定に応答して、テナント識別子を使用して新しいオブジェクトを作成することを含む。オブジェクト自体は、本説明を読んでいる当業者にとって明らかであろうように、任意の方法を実装することによって作成されてよい。さらに、サブプロセス530は、テナント識別子に関連付けられたデータの部分を新しいオブジェクトに追加することを含む。
判定526に戻り、動作506を実行するフローチャートが、既存のオブジェクトのオブジェクト・サイズがしきい値を超えていないということの決定に応答して、サブプロセス532に進む。そこで、サブプロセス532は、テナント識別子に関連付けられたデータの部分を既存のオブジェクトに追加することを含む。1つのアプローチによれば、このデータの部分は、オブジェクトの末尾に追加されてよい。
図7は、各下位の動作524、530、および532からそれぞれ下位の動作534に進むように、動作506を実行するフローチャートを示している。下位の動作534は、データの部分がオブジェクト・ストレージに格納された位置に関する情報でメモリを更新することを含む。1つのアプローチによれば、下位の動作534で更新されるメモリは、データの部分が分離された元の受信されたデータ・ボリュームに対応するメタデータであってよい。別のアプローチによれば、更新されるメモリは、オブジェクト・ストレージ、メインフレーム、仮想テープ・ライブラリ、クラウドベースまたはWANベースあるいはその両方の分散システム、分散されたストレージの場所などに格納されたルックアップ・テーブルであってよい。
図7に示されたサブプロセスが、特定のデータ・ボリュームから抽出されたテナント識別子ごとに繰り返されるのが好ましい、ということにも注意するべきである。したがって、判定536は、オブジェクトに分離する必要があるデータがデータ・ボリューム内にまだあるかどうかを判定することを含む。示されているように、図7のプロセスは、まだオブジェクトに分離されていないデータがデータ・ボリューム内に存在するということの決定に応答して、判定520に戻り、それによって、前述のサブプロセスが繰り返されてよい。ただし、図7のプロセスは、データ・ボリューム内のすべてのデータがオブジェクトに分離されたということの決定に応答して、例えば方法500の残りの部分を実行できるように、図6の動作508に進んでよい。
前述したように、テナント識別子は、テナント識別子が既存のオブジェクトに対応しないということの決定に応答して、新しいオブジェクトを作成するために使用されてよい(例えば、サブプロセス522を再び参照)。図8を参照すると、一実施形態に従って、新しいオブジェクトを作成する例示的な下位の動作が示されており、これらの下位の動作のうちの1つまたは複数が、図7のサブプロセス528を実行するために使用されてよい。ただし、図8の下位の動作が、本発明を限定するよう全く意図されていない一実施形態に従って示されているということに、注意するべきである。
図8に示されているように、下位の動作550が、新しいオブジェクトの認証情報を作成することを含んでおり、下位の動作552が、新しいファイルの認証情報を作成することを含んでいる。ファイルの認証情報またはオブジェクトの認証情報あるいはその両方は、本説明を読んでいる当業者にとって明らかであろうように、任意の方法に従って作成されてよい。本発明を限定するよう全く意図されていない例によれば、ファイルの認証情報またはオブジェクトの認証情報あるいはその両方を作成することは、Openstack SwiftストアレットのKeystoneコンポーネント(Keystone component)を利用することによって実現されてよい。別の例では、Keystoneサーバ(Keystone server)がライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP:Lightweight Directory Access Protocol)サーバと統合されてよく、これらが、Spectrum Scaleファイル・プロトコルと統合されてよい。
新しいオブジェクトを作成するプロセスは、ストレージ・ポリシーを作成することを含んでもよい。下位の動作554を参照する。ストレージ・ポリシーは、新しいオブジェクトに関連付けられた新しいテナントの認証情報に関して、統一されたファイルおよびオブジェクトのストレージ・ポリシーを形成することによって、作成されてよい。したがって、例示的なアプローチによれば、Spectrum Scaleファイルセットまたは新しいストアレット・デバイス・リングあるいはその両方が作成されてよく、これらがファイルセットにマッピングされる。
下位の動作556は、暗号化ポリシーを作成することを含んでもよい。一部のアプローチでは、マルチテナントの適合性を有するオブジェクト・ストレージに関連して実装されたオブジェクトが、オブジェクトの相互汚染を防ぐために暗号化されるのが、望ましいことがある。例えば、テナント固有の機密データの相互汚染を防ぐために、暗号化ポリシーが使用されてもよい。
さらに、下位の動作558は、テナント識別子を使用して新しいオブジェクトを作成することを含む。新しいオブジェクトは、上で確立された認証情報および暗号化の境界内でテナント・レコードを使用して作成されるのが好ましい。一部のアプローチでは、テナント識別子は、例えば図7の判定520において判定されているように、オブジェクト・ストレージ内に存在する他のどのオブジェクトにも対応しないテナント固有のレコードであってよい。したがって、特定のテナント識別子を使用して作成された新しいオブジェクトは、一意であってよい。ただし、他のアプローチでは、新しいオブジェクトの作成に使用されるテナント識別子は、しきい値を超えるサイズを有していると決定された既存のオブジェクトに対応してよい(例えば、判定526を参照)。
さらに、下位の動作560は、下位の動作558で作成された新しいオブジェクトに対応するファイル・アクセス制御リスト(ACL:file access control lists)を変更することを含む。ACLを適切に変更して、正しい認証情報を持つテナントのみが適切なデータにアクセスできることを保証するのが望ましい。一部のアプローチによれば、ACLを変更することは、特定のオブジェクトに関連付けられたアクセス認証情報を追加することまたは調整することあるいはその両方を実行することを含んでよい。下位の動作562は、例えば特定のテナント・アカウントに対して、ファイル・アクセス・プロトコルを有効化することも含む。ファイル・アクセス・プロトコルは、ユーザによって指定されたファイル・アクセス・プロトコルを使用して有効化されてよい。例えば、ストレージ・ポリシーに関連付けられたファイルセットまたは特定のテナントに関連付けられた認証情報、あるいはその両方に関して、ネットワーク・ファイル・システム(NFS:network file system)のエクスポートが構成されてよい。前述したように、マルチテナントの適合性を有するオブジェクト・ストレージの場合、オブジェクトの相互汚染を防ぐことが望ましい。一部のアプローチによれば、本説明を読んでいる当業者よって理解されるであろうように、ACLを変更すること、またはファイル・アクセス・プロトコルを有効化すること、あるいはその両方を実行することが、オブジェクトの相互汚染を防ぐために利用されてよい。
代替の実施形態では、データ・ボリュームと、それに対応する格納されたテナント・オブジェクトとの間の関係に関連付けられたメタデータが、オブジェクト・ストア内のメタデータ検索データベース内に配置されてよい。一部のアプローチによれば、この関係に関連付けられたメタデータが新しいオブジェクト内に配置されてよく、他の例では、要求に応答してこの情報を返すように、REST(Representational State Transfer)アプリケーション・プログラム・インターフェイス(API:Application Program Interface)が拡張されてよい。他のアプローチによれば、仮想テープ・ライブラリが、テナントとオブジェクトをマッピングするデータ・ボリュームのメタデータを、内部データベースに、または仮想テープ・ライブラリの基盤になるファイル・システム内のデータ・ボリューム・ファイルのiノードに、あるいはその両方に格納してよい。さらに、一部のアプローチでは、オブジェクト・ストレージのストアレットによって実行されるアルゴリズムは、例えば前述したように、仮想テープ・ライブラリ自体によって実行されてよい。
本明細書に記載されたさまざまな実施形態は、既定の条件が満たされること(例えば、メインフレームが特定の量のデータを受信したこと)に応答する、(例えば、ホストから)要求を受信することに応答する、一定の時間が経過した後、などによって、実施されてよい。一部の実施形態によれば、受信されたデータ・ボリュームに含まれているデータは、それらのデータにアクセスすることのデータ要求をテナントのうちの1つまたは複数から受信することに応答して、テナント固有のオブジェクトに分離されてよい。例えば、仮想テープ・ライブラリ(例えば、図5の404を参照)は、複数のデータ・ボリュームをメインフレームから受信してよく、それらのデータ・ボリュームは、複数の異なるテナントに対応するデータを含んでいる。その後、仮想テープ・ライブラリは、データ・ボリュームをメモリに格納してよい。ただし、テナントのうちの1つによる、そのテナントに対応するデータ・ボリューム内のデータにアクセスすることの要求の受信時に、仮想テープ・ライブラリは、テナントのデータ要求が満たされるように、図6~8に含まれているプロセスのうちのいずれか1つまたは複数を実行して、テナント別にデータを分離してよい。
さらに、テナント別にデータが分離された後に、読み取り要求またはデータ・アクセス要求あるいはその両方に対応するオブジェクトが、要求によって指定されたとおりに、例えば要求元のテナントにとって利用可能になるのが好ましい。これは、ストレージの場所から、受信された要求に関連付けられたリモート・ホストの場所にオブジェクトを転送することによって、達成されてよい。このデータの転送は、従来技術において知られているタイプのファイル転送プロトコル(FTP:file transfer protocol)を使用して達成されてよい。さらに、例えば望ましいアプローチに応じて、顧客関係管理(CRM:customer relationship management)アプリケーションが、オブジェクトが転送される前に、オブジェクトに対してさらに実行されてよい。
他の実施形態によれば、受信されたデータ・ボリュームに含まれているデータが、受信時にのみ、テナント固有のオブジェクトに分離されてよい。例えば、クラウドベースの分散システム(例えば、図5の分散システム406を参照)は、複数のデータ・ボリュームをメインフレームまたは仮想テープ・ライブラリあるいはその両方から受信してよく、それらのデータ・ボリュームは、複数の異なるテナントに対応するデータを含んでいる。その後、クラウドベースの分散システムは、図6~8に含まれているプロセスのうちのいずれか1つまたは複数を実行して、テナント別にデータを分離してから、メモリに格納するためにデータを分散してよい。したがって、最初にデータを分離する必要なしに、テナントからのデータ要求を満たすことができ、それによって、データ・アクセス時間を削減する。
本発明を限定するよう全く意図されていない使用中の例によれば、システムでの処理の利用を全体的に減らすために、z/TPFボリューム処理が、メインフレーム・システムから分散システムに移動されてよい。具体的には、ユーザは、z/TPFアプリケーションでFICONテープ・プロトコルを使用して、大量のデータをメインフレームの仮想テープ・ライブラリに書き込んでよい。データの書き込みは、複数の異なるテナント・アカウントからのデータを同じ仮想テープ・カートリッジに結合することを伴ってよい。CRMアプリケーション(例えば、Siebel)は、データに対して分析を実行し、付加価値および競争優位性を提供するために使用されてよい。ただし、処理が、アカウントが分離され、異なるテナントからのデータの汚染がないように、規格に準拠することを保証するために、レコードが、最初に仮想テープ・ライブラリに書き込まれた後に、CRMアプリケーションに提供される前に分離されるのが好ましい。したがって、前述したように、本明細書に記載された実施形態のうちのいずれか1つまたは複数が、テナント別にデータを分離するように実装されてよい。
本明細書に記載されたマルチテナントの方法は、データ・ボリュームを安全に処理するように分散システムを有効化して、(例えば、メインフレームの使用を減らすことによって)システム・リソースを節約するだけでなく、仮想テープ・リソースも節約する。TS7700仮想テープは、仮想テープ・ライブラリ・ボリュームを、オブジェクトとして、クラウドベースの分散システム内のオブジェクト・ストアにエクスポートすることができる。そこではオブジェクト・ストアは、ストアレットを実装してよく、このストアレットは、仮想テープ・ライブラリ・ボリュームに含まれているデータを、それに対応するテナントに従って、別々のアクセス認証情報および暗号化を使用して別々のオブジェクトに分離する。作成された各オブジェクトは、各仮想テープ・ライブラリ・ボリュームに関連付けられた各ボリューム・シリアル(volser)番号と同じ名前を有してもよい。新たに作成されたテナント固有のオブジェクトの名前は、それに対応するvolserと同じ名前を使用して、オブジェクトのメタデータ内で修正されてよい。その後、オブジェクトは、FTP、ネットワーク・ファイル・システム(NFS:Network File System)、CIFS(Common InternetFile System)などの1つまたは複数のプロトコルを使用して、アクセス可能にされてよい。さらに、これらのプロトコルは、CRMアプリケーション(例えば、Siebel)とシームレスに統合するために、同じ名前空間内で実行されてよい。
結果として、システムは、処理をメインフレーム・サーバおよびTS7700仮想テープから分散システムにオフロードすることができ、それによって、データ転送およびネットワーク通信を最小限に抑える。システムは、環境内の既存のアプリケーションとシームレスに統合しながら、安全なマルチテナントの、規格に準拠する処理を保証することができる。さらに、本明細書に記載された実施形態の一部は、他のプロトコルを介してデータをアクセス可能にするために、データの追加コピーを作成する必要なしに、統一されたファイルまたはオブジェクト・アクセス機能あるいはその両方を利用することができてよい。
さらに、データの柔軟な分離が、異なるテナント・レコードに従って、安全でマルチテナントの方法で実現されてよい。さらに、追加のカスタム・データ属性(例えば、テナント別の分離後にデータを移動せずに、ファイル・プロトコルを直接使用して、分離されたレコードをファイルとして読み取る能力など)が実現されてもよい。
再び、本発明を限定するよう全く意図されていない使用中の例によれば、z/TPFアプリケーションがFICONテープ上でデータをTS7700仮想テープに転送してよく、TS7700が、レコードを含んでいるデータ・ボリュームをローカルのSpectrum Scale(GPFS)ファイル・システムに書き込む。ただし、テナントが、z/TPFレコード・データをCRMアプリケーションで使用できるようにすることを要求した場合、TS7700は、好ましくはデータ・ボリュームと、対応するオブジェクトとを1対1にマッピングして、(例えば、MCStoreを使用して)データ・ボリュームをオブジェクト・ストアにエクスポートしてよい。テナントの要求の受信時に、オブジェクト・ストアは、ストアレットを呼び出して、テナントに従ってデータ・ボリューム内のレコードを分離してよい。その後、テナント・レコードのセットごとに、新しいマルチテナントのセキュリティ境界およびオブジェクトが作成されてよい。元のオブジェクトに対応するメタデータが、テナント別に分離されたオブジェクトの名前、場所、セキュリティ認証情報、サイズなどによって、更新されてもよい。さらに、Spectrum Scaleの統一されたファイルおよびオブジェクト・アクセスを実装することにより、分散システムのCRMアプリケーションが、従来のファイル・プロトコルを介して、ストアレットによって作成されたオブジェクトに直接アクセスすることを可能にしてよい。
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読記憶媒体を含んでよい。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスにすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-onlymemory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasableprogrammable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されているコンピュータ可読記憶媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一時的信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行されてよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide areanetwork)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読記憶媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読記憶媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ実装プロセスを生成するべく、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれて、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で一連の動作可能なステップを実行させるものであってもよい。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
さらに、さまざまな実施形態に従うシステムは、プロセッサ、およびプロセッサに統合された論理またはプロセッサによって実行可能な論理あるいはその両方を含むことができ、この論理は、本明細書において列挙された処理ステップのうちの1つまたは複数を実行するように構成される。プロセッサは、処理ハードウェア、メモリ、I/Oインターフェイスなどの多くのコンポーネントを含んでいる、個別のプロセッサまたは処理回路などの、本明細書に記載されているような任意の構成であってよい。統合されるということは、つまり、プロセッサに論理が、特定用途向け集積回路(ASIC:application specific integrated circuit)、FPGAなどのハードウェア論理として組み込まれるということである。プロセッサによって実行可能であるということは、つまり、論理が、プロセッサによってアクセス可能なハードウェア論理、ソフトウェア論理(ファームウェア、オペレーティング・システムの一部、アプリケーション・プログラムの一部など)など、またはハードウェア論理とソフトウェア論理の何らかの組み合わせであり、プロセッサによって実行されたときに何らかの機能をプロセッサに実行させるように構成されているということである。ソフトウェア論理は、従来技術において知られた任意のメモリ・タイプの、ローカルまたはリモートあるいはその両方のメモリに格納されてよい。ASIC、FPGA、中央処理装置(CPU:central processing unit)、集積回路(IC:integratedcircuit)、グラフィック処理装置(GPU:graphics processing unit)といった、ソフトウェア・プロセッサ・モジュールまたはハードウェア・プロセッサあるいはその両方などの、従来技術において知られた任意のプロセッサが使用されてよい。
上で提示された説明から複数の組み合わせを作成して、前述のシステムまたは方法あるいはその両方のさまざまな特徴が任意の方法で組み合わせられてよいということが明らかである。
本発明の実施形態が、サービスをオンデマンドで提供するように顧客のために展開されるサービスの形態で提供されてよいということが、さらに理解されるであろう。
上ではさまざまな実施形態が説明されたが、これらの実施形態は単に例として提示されており、これらに限定されないということが理解されるべきである。したがって、好ましい実施形態の広さおよび範囲は、前述された実施形態例のいずれによっても限定されるべきではなく、添付の特許請求の範囲およびそれらと均等なもののみに従って定められるべきである。

Claims (13)

  1. 複数のテナントからのデータを含むデータ・セットを受信することと、
    前記データの部分に対応しているメタデータからのテナント識別子を使用して前記データ・セット内のデータをオブジェクトに分離すること、ここで、各オブジェクトが各テナントに対応している、
    前記オブジェクトをオブジェクト・ストレージに格納することと
    前記データ・セット内の前記データの分離先になった前記オブジェクトに関する情報で前記メタデータを更新すること
    を含む、コンピュータ実装方法。
  2. 前記データ・セットがクラウドベースの分散システムで受信され、前記クラウドベースの分散システム内で動作する少なくとも1つのプログラムが、前記データ・セット内の前記データを前記オブジェクトに分離するために使用される、請求項1に記載のコンピュータ実装方法。
  3. 前記データ・セットが仮想テープ・ライブラリで受信され、前記仮想テープ・ライブラリが前記データ・セット内の前記データを前記オブジェクトに分離する、請求項1に記載のコンピュータ実装方法。
  4. 前記データ・セットが、メインフレームから受信された仮想テープ・ライブラリ・ボリュームを含む、請求項1に記載のコンピュータ実装方法。
  5. 前記データ・セットが仮想テープ・ライブラリで受信され、前記データ・セットが前記仮想テープ・ライブラリ内のメモリの第1の指定された部分に格納され、前記オブジェクト・ストレージが前記仮想テープ・ライブラリ内のメモリの第2の指定された部分である、請求項4に記載のコンピュータ実装方法。
  6. テナント識別子を使用して前記データ・セット内のデータをオブジェクトに分離することが、
    テナント識別子が前記オブジェクト・ストレージ内の既存のオブジェクトに対応するかどうかを判定することと、
    前記テナント識別子が既存のオブジェクトに対応していないということの決定に応答して、前記テナント識別子を使用して、新しいオブジェクトを含む新しいテナント・アカウントを作成することと、
    前記テナント識別子に関連付けられた前記データの部分を前記新しいオブジェクトに追加することと、
    前記テナント識別子が既存のオブジェクトに対応するということの決定に応答して、前記既存のオブジェクトのオブジェクト・サイズがしきい値を超えているかどうかを判定することと、
    前記既存のオブジェクトの前記オブジェクト・サイズがしきい値を超えているということの決定に応答して、前記テナント識別子を使用して新しいオブジェクトを作成することと、
    前記テナント識別子に関連付けられた前記データの前記部分を前記新しいオブジェクトに追加することと、
    前記既存のオブジェクトの前記オブジェクト・サイズが前記しきい値を超えていないということの決定に応答して、前記テナント識別子に関連付けられた前記データの前記部分を前記既存のオブジェクトに追加することと
    を含む、請求項1に記載のコンピュータ実装方法。
  7. 新しいテナント・アカウントを作成することが、
    新しいオブジェクトの認証情報を作成することと、
    新しいファイルの認証情報を作成することと、
    ストレージ・ポリシーを作成することと、
    暗号化ポリシーを作成することと、
    ファイル・アクセス制御リストを変更することと、
    ファイル・アクセス・プロトコルを有効化することと
    を含む、請求項6に記載のコンピュータ実装方法。
  8. 前記テナントのうちの1つからデータ要求を受信することに応答して、前記データ・セット内の前記データがオブジェクトに分離される、請求項1に記載のコンピュータ実装方法。
  9. コンピュータ実装方法であって、
    複数のテナントからのデータを含むデータ・セットを受信することと、
    前記データの部分に対応しているメタデータからのテナント識別子を使用して前記データ・セット内のデータをオブジェクトに分離すること、ここで、各オブジェクトが各テナントに対応している、
    前記オブジェクトをオブジェクト・ストレージに格納することと
    を含み、
    前記データ・セットが仮想テープ・ライブラリで受信され、前記仮想テープ・ライブラリが前記データ・セット内の前記データを前記オブジェクトに分離する、
    、前記コンピュータ実装方法。
  10. コンピュータ実装方法であって、
    複数のテナントからのデータを含むデータ・セットを受信することと、
    前記データの部分に対応しているメタデータからのテナント識別子を使用して前記データ・セット内のデータをオブジェクトに分離すること、ここで、各オブジェクトが各テナントに対応している、
    前記オブジェクトをオブジェクト・ストレージに格納することと
    を含み、
    前記データ・セットが、メインフレームから受信された仮想テープ・ライブラリ・ボリュームを含む
    、前記コンピュータ実装方法。
  11. コンピュータ実装方法であって、
    複数のテナントからのデータを含むデータ・セットを受信することと、
    前記データの部分に対応しているメタデータからのテナント識別子を使用して前記データ・セット内のデータをオブジェクトに分離すること、ここで、各オブジェクトが各テナントに対応している、
    前記オブジェクトをオブジェクト・ストレージに格納することと
    を含み、
    テナント識別子を使用して前記データ・セット内のデータをオブジェクトに分離することが、
    テナント識別子が前記オブジェクト・ストレージ内の既存のオブジェクトに対応するかどうかを判定することと、
    前記テナント識別子が既存のオブジェクトに対応していないということの決定に応答して、前記テナント識別子を使用して、新しいオブジェクトを含む新しいテナント・アカウントを作成することと、
    前記テナント識別子に関連付けられた前記データの部分を前記新しいオブジェクトに追加することと、
    前記テナント識別子が既存のオブジェクトに対応するということの決定に応答して、前記既存のオブジェクトのオブジェクト・サイズがしきい値を超えているかどうかを判定することと、
    前記既存のオブジェクトの前記オブジェクト・サイズがしきい値を超えているということの決定に応答して、前記テナント識別子を使用して新しいオブジェクトを作成することと、
    前記テナント識別子に関連付けられた前記データの前記部分を前記新しいオブジェクトに追加することと、
    前記既存のオブジェクトの前記オブジェクト・サイズが前記しきい値を超えていないということの決定に応答して、前記テナント識別子に関連付けられた前記データの前記部分を前記既存のオブジェクトに追加することと
    を含む、
    、前記コンピュータ実装方法。
  12. コンピュータ・プログラムであって、プロセッサに、請求項1~11のいずれか1項に記載のコンピュータ実装方法の各ステップを実行させる前記コンピュータ・プログラム。
  13. プロセッサと、
    前記プロセッサと統合されたか、前記プロセッサによって実行可能であるか、または前記プロセッサと統合され、かつ前記プロセッサによって実行可能である論理と
    を備えているシステムであって、前記論理が、
    請求項1~11のいずれか1項に記載のコンピュータ実装方法の各ステップを実行するよう構成されている、前記システム。
JP2019527826A 2016-12-16 2017-11-14 テープ処理をオブジェクト・ストレージにオフロードするためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム Active JP7004184B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/382,397 2016-12-16
US15/382,397 US10430602B2 (en) 2016-12-16 2016-12-16 Tape processing offload to object storage
PCT/IB2017/057099 WO2018109578A1 (en) 2016-12-16 2017-11-14 Tape processing offload to object storage

Publications (2)

Publication Number Publication Date
JP2020504861A JP2020504861A (ja) 2020-02-13
JP7004184B2 true JP7004184B2 (ja) 2022-01-21

Family

ID=62559798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019527826A Active JP7004184B2 (ja) 2016-12-16 2017-11-14 テープ処理をオブジェクト・ストレージにオフロードするためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム

Country Status (5)

Country Link
US (2) US10430602B2 (ja)
JP (1) JP7004184B2 (ja)
CN (1) CN110088743B (ja)
DE (1) DE112017005022T5 (ja)
WO (1) WO2018109578A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430602B2 (en) 2016-12-16 2019-10-01 International Business Machines Corporation Tape processing offload to object storage
US11290532B2 (en) 2016-12-16 2022-03-29 International Business Machines Corporation Tape reconstruction from object storage
US11061605B1 (en) 2020-01-09 2021-07-13 International Business Machines Corporation Dynamically performing managed file transfer based on policies
CN111291429B (zh) * 2020-01-21 2023-04-25 李岗 一种数据保护方法和系统
US11868310B2 (en) * 2020-02-25 2024-01-09 International Business Machines Corporation Composite storage of objects in multi-tenant devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252024A (ja) 2003-02-19 2004-09-09 Komatsu Forklift Co Ltd 作業車両の運転操作シミュレーション装置、及びそれを用いた作業車両の運転操作講習方法
US20110191394A1 (en) 2010-01-29 2011-08-04 Winteregg Joel Method of processing log files in an information system, and log file processing system
JP2014502767A (ja) 2011-01-12 2014-02-03 インターナショナル・ビジネス・マシーンズ・コーポレーション クラウド環境をサポートするマルチテナント監査認識

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE36989E (en) 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
US8200622B2 (en) 2002-05-31 2012-06-12 Informatica Corporation System and method for integrating, managing and coordinating customer activities
US7107417B2 (en) * 2002-08-29 2006-09-12 International Business Machines Corporation System, method and apparatus for logical volume duplexing in a virtual tape system
US6883083B1 (en) 2002-12-20 2005-04-19 Veritas Operating Corporation System and method for maintaining and accessing information regarding virtual storage devices
WO2004107160A2 (en) 2003-05-23 2004-12-09 Computer Associates Think, Inc. Cross-platform virtual tape device emulation
US7627617B2 (en) 2004-02-11 2009-12-01 Storage Technology Corporation Clustered hierarchical file services
US7401253B2 (en) 2005-05-09 2008-07-15 International Business Machines Corporation Convolution-encoded data storage on a redundant array of independent devices
US8458422B1 (en) 2005-12-22 2013-06-04 Oracle America, Inc. Policy based creation of export sets and backup media
US7831793B2 (en) 2006-03-01 2010-11-09 Quantum Corporation Data storage system including unique block pool manager and applications in tiered storage
US7814074B2 (en) 2008-03-14 2010-10-12 International Business Machines Corporation Method and system for assuring integrity of deduplicated data
CN101639835A (zh) 2008-07-30 2010-02-03 国际商业机器公司 多租户场景中应用数据库分区的方法和装置
US8407205B2 (en) * 2008-09-11 2013-03-26 Salesforce.Com, Inc. Automating sharing data between users of a multi-tenant database service
US20110145517A1 (en) 2009-12-10 2011-06-16 International Business Machines Corporation Dynamic reuse and reconfiguration of logical data objects in a virtual tape system
CN102236762A (zh) * 2010-04-30 2011-11-09 国际商业机器公司 用于处理对多租户应用的文件访问的方法和文件代理装置
US9053339B2 (en) 2010-10-27 2015-06-09 Hytrust, Inc. System and method for secure storage of virtual machines
US8707302B2 (en) * 2011-01-06 2014-04-22 International Business Machines Corporation Techniques for personalizing feed content in virtualized computing environments
US9244951B2 (en) * 2012-03-08 2016-01-26 International Business Machines Corporation Managing tenant-specific data sets in a multi-tenant environment
CN103218175B (zh) 2013-04-01 2015-10-28 无锡成电科大科技发展有限公司 多租户的云存储平台访问控制系统
JP2014219750A (ja) * 2013-05-02 2014-11-20 富士通株式会社 仮想ライブラリコントローラ及び制御方法
CN104182414A (zh) * 2013-05-24 2014-12-03 国际商业机器公司 用于在多租户系统中管理数据库的方法和设备
US10366056B2 (en) * 2013-11-15 2019-07-30 Salesforce.Com, Inc. Asynchronous search for big objects
US9430490B1 (en) * 2014-03-28 2016-08-30 Formation Data Systems, Inc. Multi-tenant secure data deduplication using data association tables
US9398016B1 (en) * 2014-09-30 2016-07-19 Emc Corporation Cache-free and lock-free handling of security information for multiple distributed objects in protection storage systems
CN104506487B (zh) 2014-11-21 2017-12-08 北京工业大学 云环境下隐私策略的可信执行方法
US20160162210A1 (en) 2014-12-09 2016-06-09 Bdt Media Automation Gmbh Openstack swift interface for tape library (ossitl)
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US10430602B2 (en) 2016-12-16 2019-10-01 International Business Machines Corporation Tape processing offload to object storage
US11290532B2 (en) 2016-12-16 2022-03-29 International Business Machines Corporation Tape reconstruction from object storage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252024A (ja) 2003-02-19 2004-09-09 Komatsu Forklift Co Ltd 作業車両の運転操作シミュレーション装置、及びそれを用いた作業車両の運転操作講習方法
US20110191394A1 (en) 2010-01-29 2011-08-04 Winteregg Joel Method of processing log files in an information system, and log file processing system
JP2014502767A (ja) 2011-01-12 2014-02-03 インターナショナル・ビジネス・マシーンズ・コーポレーション クラウド環境をサポートするマルチテナント監査認識

Also Published As

Publication number Publication date
CN110088743B (zh) 2023-05-23
DE112017005022T5 (de) 2019-08-01
CN110088743A (zh) 2019-08-02
US11132458B2 (en) 2021-09-28
US10430602B2 (en) 2019-10-01
WO2018109578A1 (en) 2018-06-21
US20190340378A1 (en) 2019-11-07
JP2020504861A (ja) 2020-02-13
US20180173423A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
JP7004184B2 (ja) テープ処理をオブジェクト・ストレージにオフロードするためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム
US9986031B2 (en) Container provisioning based on communications patterns between software components
US9727578B2 (en) Coordinated access to a file system's shared storage using dynamic creation of file access layout
US9607004B2 (en) Storage device data migration
US10075515B2 (en) Deploying operators of a streaming application based on physical location attributes of a virtual machine
US11188499B2 (en) Storing and retrieving restricted datasets to and from a cloud network with non-restricted datasets
US11068465B2 (en) Scalable virtual namespace and semantic policy management for object storage
US11076020B2 (en) Dynamically transitioning the file system role of compute nodes for provisioning a storlet
US11003658B2 (en) Selectively retrieving data from remote share nothing computer clusters
US10983826B2 (en) Application restore time from cloud gateway optimization using storlets
US11290532B2 (en) Tape reconstruction from object storage
CN112231282A (zh) 在网络文件共享环境中管理服务质量
US20190065582A1 (en) Cognitive data curation on an interactive infrastructure management system
US11287982B2 (en) Associating data management policies to portions of data using connection information
US11182076B2 (en) Managing unequal network shared disks (NSD) in a computer network
US20230079199A1 (en) Utilizing federation relationship settings among different systems
JP2023541244A (ja) ユニファイド・ストレージ環境内のストレージ階層化

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210506

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210803

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210803

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211019

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20211019

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: 20211208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20211214

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20211214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211214

R150 Certificate of patent or registration of utility model

Ref document number: 7004184

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150