JP6463393B2 - テナント移行にわたるテナント・データのリカバリ - Google Patents

テナント移行にわたるテナント・データのリカバリ Download PDF

Info

Publication number
JP6463393B2
JP6463393B2 JP2017038336A JP2017038336A JP6463393B2 JP 6463393 B2 JP6463393 B2 JP 6463393B2 JP 2017038336 A JP2017038336 A JP 2017038336A JP 2017038336 A JP2017038336 A JP 2017038336A JP 6463393 B2 JP6463393 B2 JP 6463393B2
Authority
JP
Japan
Prior art keywords
data
tenant
storage location
tenant data
backup
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
JP2017038336A
Other languages
English (en)
Other versions
JP2017123188A (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017123188A publication Critical patent/JP2017123188A/ja
Application granted granted Critical
Publication of JP6463393B2 publication Critical patent/JP6463393B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Computer And Data Communications (AREA)

Description

[0001] テナント・データは、様々な理由により異なる位置へ移行されることがある。例えば、ファームのアップグレードの際に、テナント・データが移行されることがあり、より多くのスペースがテナント・データ等に必要とされる。このような場合にテナント・データの新規バックアップが実施される。
[0002] ここで要約することにより、簡略化した形態での概念についての選択を導入し、以下の詳細な説明において更に説明する。本要約は、クレームされた主題についての重要な特徴または必須の特徴を特定することを意図するものではなく、また、クレームされた手段の範囲を決定する補助として用いることを意図するものでもない。
[0003] テナント・データの位置に関するヒストリが保持される。テナント・データは、テナントが現在使用しているデータ、および対応するバックアップ・データを含む。テナントのデータが1つの位置から別の位置に変更される場合、位置および時間がヒストリ内に格納される。ヒストリは、特定の時間におけるテナントのデータの位置を決定するためにアクセスすることができる。異なる動作が、ヒストリ内の位置/時間の格納をトリガする。通常は、テナントのデータの位置の変更(例えばファームのアップグレード、テナントの移行、テナントの追加、データの負荷バランシングなど)がヒストリ内の位置の格納をトリガする。テナント・データが動作(例えばリストア)のために要求される際、このヒストリにアクセスして、データの位置を決定することができる。
[0004]図1は、例示的なコンピューティング環境を示す。 [0005]図2は、テナント移行にわたるテナント・データの位置を保持するためのシステムを示す。 [0006]図3は、テナント・データ位置変更のレコードを含むヒストリを示す。 [0007]図4は、テナントのデータ位置変更のヒストリを更新するためのプロセスを示す。 [0008]図5は、バックアップ位置からのテナント・データのリストアの要求を処理するためのプロセスを示す。
[0009] これより図面を参照する。類似の符号は類似の構成要素を表し、様々な実施形態を説明することになる。特に、図1および対応の説明は、複数の実施形態が実装される適切なコンピューティング環境についての簡潔且つ一般的な説明に供することを意図している。
[0010] 通常、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行し、または特定の抽象データ・タイプを実装する他のタイプの構造を含む。他のコンピュータ・システム構成はまた、ハンド・ヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースまたはプログラム可能なコンシューマ・エレクトロニクス、ミニコンピューター、メインフレーム・コンピュータなどを含んで使用することもできる。分散コンピューティング環境をまた用いることができ、タスクは、通信ネットワークを通じてリンクされる遠隔処理デバイスが実行する。分散コンピューティング環境では、プログラム・モジュールは、ローカルおよび遠隔のメモリ・ストレージ・デバイス双方に位置してもよい。
[0011] これより図1を参照して、様々な実施形態において利用されるコンピュータ100のための例示のコンピュータ環境について説明する。図1に示すコンピュータ環境は、複数のコンピューティング・デバイスを含み、各々がモバイル・コンピューティング・デバイス(例えば、電話、タブレット、ネット・ブック、ラップトップ)、サーバ、デスクトップまたは他のタイプのコンピュータとして構成することができる。また、このコンピュータ環境は、中央演算処理装置5(「CPU」)、ランダム・アクセス・メモリ9(「RAM」)およびリードオンリ・メモリ(「ROM」)10を含むシステム・メモリ7、並びにメモリを中央演算処理装置(「CPU」)5に結合するシステム・バス12を含む。
[0012] 基本ルーチンを収容する基本入出力システムは、スタートアップの間のような、コンピュータ内のエレメント間での情報の移送を支援し、ROM10に格納される。コンピュータ100は更に、オペレーティング・システム16、アプリケーション(1つまたは複数)24、ウェブ・ブラウザ25およびバックアップ・マネージャ26を格納するための大容量ストレージ・デバイス14を含み、これより以下に詳細に説明する。
[0013] 大容量ストレージ・デバイス14は、バス12に接続される大容量記憶コントローラー(図示せず)を通じてCPU5に接続される。大容量ストレージ・デバイス14および付随するコンピュータ可読媒体は、不揮発性ストレージをコンピュータ100に設ける。本明細書では、コンピュータ可読媒体について、例えばハード・ディスクやCD-ROMドライブのような大容量ストレージ・デバイスと称する。このコンピュータ可読媒体は、コンピュータ100によってアクセスできる如何なる利用可能媒体とすることができる。
[0014] 例えば、この例には限定しないが、コンピュータ可読媒体は、コンピュータ・ストレージ媒体および通信媒体を含むことができる。コンピュータ・ストレージ媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータのような情報の記憶について任意の方法または技術で実装される揮発性および不揮発性のもので、取り外し可能および取り外し不能な媒体を含む。コンピュータ・ストレージ媒体は、これに限定されないが、RAM、ROM、消去可能プログラム可能リードオンリ・メモリ(「EPOM」;Erasable Programmable Read Only Memory)、電気的消去可能プログラム可能リードオンリ・メモリ(「EEPROM」;Electrically Erasable Programmable Read Only Memory)、フラッシュ・メモリ、若しくは他の固体メモリ技術、CD−ROM、デジタル多用途ディスク(「DVD」)、若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、若しくは他の磁気ストレージ・デバイス、または所望の情報を格納するのに用いることができ、且つコンピュータ100がアクセス可能な他の任意の媒体を含む。
[0015] コンピュータ100は、インターネットのようなネットワーク18を通じ、遠隔コンピュータへの論理接続を用いたネットワーク化された環境において動作する。コンピュータ100は、バス12に接続されるネットワーク・インターフェース・ユニット20を通じてネットワーク18に接続してもよい。ネットワーク接続は、無線および/または有線としてもよい。ネットワーク・インターフェース・ユニット20はまた、他のタイプのネットワークおよび遠隔コンピュータ・システムに接続するために利用してもよい。コンピュータ100はまた、キーボード、マウスまたは電子ペン(図1には図示せず)を含む数多くの他のデバイスからの入力を受信および処理するための入出力用コントローラ22を含むこともできる。同様に、入出力用コントローラ22は、ディスプレイ・スクリーン23、プリンタ、または他のタイプの出力デバイスに入力/出力を提供してもよい。
[0016] 先に簡潔に言及したように、多くのプログラム・モジュールおよびデータ・ファイルは、コンピュータ100が有する大容量ストレージ・デバイス14およびRAM9に格納することができる。これらは、ワシントン州のレドモンドにあるマイクロソフト社による、WINDOWS 7(登録商標)、WINDOWS SERVER(登録商標)、WINDOWS PHONE(登録商標)におけるオペレーティング・システムのような、コンピュータの動作を制御するのに適したオペレーティング・システム16を含む。大容量ストレージ・デバイス14およびRAM9はまた、1つ以上のプログラム・モジュールを格納することもできる。特に、大容量ストレージ・デバイス14およびRAM9は、1つ以上のアプリケーション・プログラムを格納することができ、これは、1つ以上のアプリケーション24およびウェブ・ブラウザ25を含む。一実施形態によれば、アプリケーション24は、異なるテナントに複数のサービスを提供するソリューション・サービスのビジネス・ポイントのような、オンライン・サービスと相互作用するように構成される。他のアプリケーションも使用することができる。例えば、アプリケーション24は、データと相互作用するように構成されるクライアント・アプリケーションとすることができる。アプリケーションは、限定ではないが、ドキュメント、スプレッドシート、スライド、ノート等を含む多くの異なるデータ・タイプと相互作用するように構成することができる。
[0017] ネットワーク・ストア27は、テナントについてのテナント・データを格納するように構成される。ネットワーク・ストア27は、IPネットワーク18を介して1以上のコンピュータ/ユーザにアクセス可能である。例えば、ネットワーク・ストア27は、オンライン・サービス17のようなオンライン・サービスに対し1つ以上のテナントについてのテナント・データを格納することができる。他のネットワーク・ストアがまた、テナントについてデータを格納するように構成することもできる。テナント・データはまた、ネットワーク・ストアからの別のネットワーク・ストアに移行することもできる。
[0018] バックアップ・マネージャ26は、ヒストリ21のような履歴内にテナント・データの位置を保持するように構成される。バックアップ・マネージャ26は、オンライン・サービス17のようなオンライン・サービスの一部とすることができ、また、バックアップ・マネージャ26から提供される全て/幾つかの機能性は、アプリケーションから内部的に/外部的に位置させることができる。テナント・データは、テナントによって現在使用されているデータおよび対応するバックアップ・データを含む。テナントのデータが1つの位置から別の位置に変更されると、位置および時間がヒストリ21内に格納される。ヒストリ21は、特定の時間においてテナントのデータにおける位置を決定するのにアクセスすることができる。異なる動作が、ヒストリ内の位置/時間の格納をトリガする。通常、テナントのデータの位置を変更する動作(例えば、ファームの更新、テナントの移動、テナントの追加、データの負荷バランスなど)は、ヒストリ内の位置の格納をトリガする。テナント・データが、ある動作(例えば、リストア)に必要とされる際、そのヒストリはデータの位置を決定するのにアクセスされることができる。バックアップ・マネージャに関するより多くの詳細について以下に開示する。
[0019] 図2は、テナントの移行にわたるテナント・データの位置を保持するためのシステムを示す。図示のように、システム200は、サービス210、データ・ストア220、データ・ストア230およびコンピューティング・デバイス240を含む。
[0020] 使用するコンピューティング・デバイスは、当該コンピューティング・デバイスの使用に関連する動作を実行するように構成される任意のタイプのデバイスとすることができる。例えば、コンピューティング・デバイスの幾らかは、以下のようにすることができる。すなわち、モバイル・コンピューティング・デバイス(例えば携帯電話、タブレット、スマートフォン、ラップトップなど)、また幾らかはデスクトップ・コンピューターでも、サーバとして構成される他のコンピューティング・デバイスでもよい。幾らかのコンピューティング・デバイスは、オンラインのクラウド・ベースのサービス(例えば、サービス210)を提供するように配置し、幾らかは、データ・ストレージ・サービスを提供するデータ・シェアとして配置し、また幾らかは、インターネットを通じてアクセス可能なようにネットワークに配置する等としてもよい。
[0021] コンピューティング・デバイスは、ネットワーク18によって結合される。ネットワーク18は、多くの異なるタイプのネットワークとしてもよい。例えば、ネットワーク18は、IPネットワーク、セルラ通信のためのキャリア・ネットワーク等としてもよい。通常、ネットワーク18は、コンピューティング・デバイス240、データ・ストア220、データ・ストア230、およびサービス210のようなコンピューティング・デバイス間においてデータを送信するために使用される。
[0022] コンピューティング・デバイス240は、アプリケーション242、ウェブ・ブラウザ244およびユーザ・インターフェース246を含む。図示のように、コンピューティング・デバイス240は、ユーザに使用されて、サービス210のようなサービスと相互作用する。一実施形態によれば、サービス210は、マルチ・テナント性のサービスである。一般的に、マルチ・テナント性(multi-tenancy)とは、バックアップを含むデータの分離(isolation)、使用(usage)、およびカスタマ間の管理(administration)に関するものである。換言すれば、1つのカスタマ(テナント1)からのデータは、たとえ、各テナントからのデータが同一のデータ・ストア内で同一のデータベース内に格納することができる場合であっても、他のカスタマ(テナント2)によりアクセス可能ではない。
[0023] ユーザ・インターフェース(UI)246は、様々なアプリケーションと相互作用するために用いられる。これらアプリケーションは、コンピューティング・デバイス240に対しローカル/非ローカルとしてもよい。1つ以上のタイプの1つ以上のユーザ・インターフェースを、ドキュメントと相互作用するために用いてもよい。例えば、UI246は、コンテキスト・メニュー、メニューバー内のメニュー、リボン・ユーザ・インターフェースから選択されるメニュー項目、グラフィック・メニューなどの使用を含んでもよい。通常UI246は、ユーザがアプリケーションの機能性と容易に相互作用できるように構成される。例えば、ユーザは、UI246内で単に選択肢を単に選択してもよく、その結果、サービス210によって保持されるテナント・データをリストアするように選択する。
[0024] データ・ストア220およびデータ・ストア230は、テナント・データを格納するように構成される。データ・ストアは、様々なコンピューティング・デバイスによりアクセス可能である。例えば、ネットワーク・ストアは、ソリューション・サービスのオンライン・ビジネス・ポイントをサポートするオンライン・サービスに付随してもよい。例えば、オンライン・サービスは、データ・サービス、文書処理サービス、スプレッドシート・サービスなどを提供してもよい。
[0025] 図示のように、データ・ストア220は、N個の異なるテナントについて、対応するバックアップ・データを含んだテナント・データを含む。データ・ストアは、テナントのデータの全部/一部を格納することができる。例えば、幾らかのテナントが2つ以上のデータ・ストアを使用することがある一方で、他のテナントは、他の多くのテナントとデータ・ストアを共有することがある。テナントについて対応するバックアップ・データが同一のデータ・ストア内に示されているが、このバックアップ・データは他の位置に格納することもある。例えば、1つのデータ・ストアがテナント・データを格納するために使用されることがあり、また、1つ以上の他のデータ・ストアが対応するバックアップ・データを格納するために使用されることもある。
[0026] データ・ストア230は、異なるデータ・ストアから変更されているテナント・データおよびバックアップ・データの位置を示す。この例では、テナント・データ2および対応するバックアップ・データが、データ・ストア220からデータ・ストア230に変更されている。テナント3のバックアップ・データが、データ・ストア220からデータ・ストア230に変更されている。テナント・データ8は、データ・ストア220からデータ・ストア230に変更されている。位置の変更は、様々な理由のために生じることがある。例えば、テナントにとってより多くの空間が必要になり、データ・ストアは負荷バランシングされ、テナントが位置するファームがアップグレードされ、データ・ストアが故障し、データベースが移行/更新されること等があり得る。他の多くのシナリオが、テナントのデータを変更させることがある。この例からも分かるように、テナントのデータは、1つのデータ・ストアに格納することができ、また、対応するバックアップ・データは、他のデータ・ストアに格納することができる。
[0027] サービス210は、バックアップ・マネージャ26、ヒストリ212およびウェブ・アプリケーション216を含み、ウェブ・アプリケーション216はウェブ・レンダラ216を構成する。サービス210は、オンライン・サービスとして構成され、複数のテナントからのデータとの相互作用を表示するのに付随するサービスを提供する。サービス210は、複数のテナントに共有したインフラストラクチャを提供する。一実施形態によれば、サービス210は、マイクロソフト社のSHAREPOINT ONLINEサービスである。異なるテナントは、サービス210を使用しているテナントのウェブ・アプリケーション/サイト・コレクションの収集をホストしてもよい。テナントはまた、専用アローンでも、またはサービス210によって提供されるサービスとの組み合わせを使用してもよい。ウェブ・アプリケーション214は、データに関連する要求を受け取り、また応答するように構成される。例えば、サービス210は、ネットワーク・ストア220および/またはネットワーク・ストア230に格納されたテナントのデータにアクセスしてもよい。ウェブ・アプリケーション214は、コンピューティング・デバイス240のようなコンピューティング・デバイスのユーザにインターフェースを提供し、ネットワーク18を介してアクセス可能なデータと相互作用するように動作する。ウェブ・アプリケーション214は、サービスに関連する動作を実行するために使用される他のサーバと通信することができる。
[0028] サービス210は、コンピューティング・デバイス240のようなコンピューティング・デバイスから要求を受ける。コンピューティング・デバイスは、ドキュメントおよび/または他のデータと相互作用するために、要求をサービス210に送信する。このような要求に応答して、ウェブ・アプリケーション214は、ネットワーク・シェア230のような位置からデータを取得する。表示に対するデータは、ISO/IEC 29500フォーマットのようなマークアップ言語フォーマットに変換される。データは、サービス210によって、または、1つ以上の他のコンピューティング・デバイスによって変換することができる。一旦ウェブ・アプリケーション214がデータについてマークアップ言語表現を受け取ると、サービスは、ウェブ・レンダラを利用して、当該マークアップ言語フォーマットのドキュメントを、コンピューティング・デバイス240上のウェブ・ブラウザのようなウェブ・ブラウザ・アプリケーションによってレンダリングされるデータ表現へと変換することができる。レンダリングされたデータは、同一のデータをビューするのに利用される際の、対応のデスクトップ・アプリケーションにおける出力と実質的に同じである。一旦ウェブ・レンダラがファイルのレンダリングを完了すると、ファイルはサービス210によって、要求元のコンピューティング・デバイスに戻され、そこではウェブ・ブラウザ244によってレンダリングされることができる。
[0029] ウェブ・レンダラ216はまた、コンピューティング・デバイス240のようなコンピューティング・デバイスのユーザがウェブ・ブラウザ244のコンテキスト内のデータと相互作用するのを可能にするために、1つ以上のスクリプトをマークアップ言語ファイルにレンダリングするようにも構成される。ウェブ・レンダラ216は、ウェブ・ブラウザ・アプリケーション244によって実行可能なスクリプト・コードを返される(returned)ウェブ・ページにレンダリングするように動作する。スクリプトは、例えばユーザがデータ・セクションを変更でき、および/またはそのデータに関連する値を修正できるような機能性を提供することができる。特定タイプのユーザ入力に応答して、スクリプトが実行されることができる。スクリプトが実行されると、ドキュメントが作用(act upon)されたことを示す応答をサービス210に送信することができ、行われた相互作用のタイプを識別し、更に、データに実行されるべき機能を、ウェブ・アプリケーション214に対して識別することができる。
[0030] テナントのデータについて位置の変更の要因となった動作に応じて、バックアップ・マネージャ26は、エントリをヒストリ212に置く(place)。ヒストリ212は、テナントのデータおよび対応するバックアップ・データの位置のレコードを保持する。一実施形態によれば、ヒストリ212は、テナントのデータを格納するのに用いるデータベース名および位置、テナントのデータのバックアップ位置についての名前および位置、およびその位置にデータを格納した時間を格納する(図3および関連の記載を参照のこと。)。ヒストリ情報は、様々な方法で格納することができる。例えば、テナントごとのヒストリ・レコードをデータベース内に格納することができ、ヒストリ情報がデータ・ファイル内に格納されることができる等である。
[0031] 一実施形態によれば、バックアップ・マネージャ26は、テナント・データについてフル・バックアップやインクリメント式バックアップ、およびフル・バックアップの時間内でのトランザクション・ログ入力を実行するように構成される。フル・バックアップのスケジューリングは設定可能である。一実施形態によれば、フル・バックアップは週次で実行され、インクリメント式バックアップは日次で実行される。また、トランザクションは5分毎に格納される。他のスケジュールをまた使用することができ、これもまた設定可能である。異なるバックアップを、同一の位置および/または異なる位置に格納してもよい。例えば、フル・バックアップは、第1の位置に格納することができ、インクリメント式バックアップおよびトランザクション・ログは異なる位置に格納してもよい。
[0032] 図3は、テナント・データ位置変更についてのレコードを含むヒストリを示す。ヒストリ300は、管理されているテナントごとにレコードを含んでいる。例示の目的で、ヒストリ300は、テナント1(310)、テナント2(320)およびテナント3(330)を示す。
[0033] 図示のように、ヒストリのレコード310は、付与されているテナント1に応答して作成されたものである。一実施形態によれば、ヒストリ・レコードは、コンテンツ位置、時間、バックアップ位置、および時間についてのフィールドを含む。コンテンツ位置は、テナントのコンテンツがどこに格納されたかについての情報(例えば、データベース名、コンテンツ位置へのURL等)を提供する。時間1フィールドは、テナントのデータが特定の位置にあった最新の時間を示す。一実施形態によれば、時間1フィールドが空(empty)であるときに、時間2の値がそのレコードのために用いられる。時間1フィールドおよび時間2フィールドが共に空であるときは、データは、そのコンテンツ位置およびレコードにリストされたバックアップ位置に更に位置する。バックアップ位置フィールドは、そのコンテンツに対しバックアップがどこに位置されるかの位置を特定する。時間2は、テナントのバックアップ・データが特定の位置にあった最新の時間を特定する。
[0034] テナント1のヒストリ(310)を参照すると、テナント1のデータはコンテンツ位置「コンテンツ12」(例えばデータベース名)に位置し、テナント1のデータのバックアップ・データが「backups\ds220\Content12」に位置することが見てとれる。この場合、テナント1付与されたために、テナント1のデータは変更してない。
[0035] テナント2のデータは、「コンテンツ12」から「コンテンツ56」に、そして「コンテンツ79」にその位置が変更している。2010年3月4日の午前10時より前で、2010年1月2日の午前1時4分よりも後の時間では、データは「Content 56」に格納され、対応のバックアップ・データが「backups\ds220\Content56」に格納されている。2010年1月2日の午前1時4分よりも前の時間では、データは「コンテンツ12」に格納されており、対応のバックアップ・データは"backups\ds220\Content12"に格納されている。
[0036] テナント3のデータは、「コンテンツ12」から「コンテンツ15」にその位置が変更している。対応のバックアップ・データは、「backups\ds220\Content12」から「backups\ds220\Content15」に、そして「backups\ds230\Content79」に変更されている。テナント3のデータは2010年3月12日午前7時35分より後の時間に「コンテンツ15」に格納されている。2010年3月24日午前1時22分より前で、2010年3月12日7時35分より後の時間では、対応のバックアップ・データが「backups\ds220\Content15」に格納されている。2010年3月12日7時35分より前では、データは、「コンテンツ12」に格納され、対応のバックアップ・データが「backups\ds220\Content12」に格納されている。この例では、テナント3でのバックアップ・データの位置を変更しているが、テナント・データの位置は「コンテンツ15」からは変更していない。
[0037] 他の多くの方法を、テナント・データの位置に関連する情報を格納するために用いることができる。例えば、時間フィールドは、開始時間および終了時間を含む、開始時間を含むが終了時間を含まない、または終了時間を含むが開始時間を含まないとすることができるであろう。位置は、名前、識別子、URL等として特定することができる。他のフィールドも含むことができ、例えばサイズ・フィールド、レコード数フィールド、最新アクセス・フィールドなどを含むことができる。
[0038] 図4および図5は、テナント移行にわたりテナント・データをリカバリするプロセスを示す。本明細書において提示するルーチンに関しての考察を読む際には、様々な実施形態の論理動作が、(1)コンピューティング・システム上でランする、コンピュータで実装したアクションまたはプログラム・モジュールのシーケンスとして、および/または(2)コンピューティング・システム内で相互接続したマシン論理回路または回路モジュールとして実施されることが理解されるべきである。本実施は、本発明を実施するコンピュータ・システムの性能要件に依存した選択の問題である。したがって、例示の論理動作および本明細書に説明した実施形態の製造(making up)は、動作、構造上のデバイス、アクション、またはモジュールとして様々なものに関連する。これら動作、構造デバイス、アクションおよびモジュールは、ソフトウェア、ファームウェア、特定目的のデジタル・ロジック、およびこれら如何なる組み合わせで実装されることもある。
[0039] 図4は、テナントのデータの位置変更のヒストリを更新するためのプロセスを示す。
[0040] 開始ブロックの後、プロセス400は動作410に移る。ここでは、動作がテナント・データの位置を変更したことの判定がなされる。変更は、全部/一部のテナントのデータに関連することもある。多くの別の動作が、テナント・データの位置の変更の要因となることもある。例えば、テナントの追加、ファームのアップグレード、テナント移行、テナントのデータの負荷バランシング、対応のバックアップ・データの負荷バランシング、保守動作、故障等がある。通常は、テナントのデータおよび/または対応のバックアップ・データの位置変更の要因となる任意の動作は規定される。
[0041] 動作420に移り、データが位置を変更しているテナントについてヒストリにアクセスする。このヒストリは、ローカル・データ・ストア、共有データ・ストア、および/または他のメモリ位置内にアクセスされることもある。
[0042] 動作430へ移り、テナントのヒストリが更新されて、当該テナントのデータについて現在のステータスおよび任意の以前のステータスを反映する。一実施形態によれば、各テナントは、その対応するヒストリを示すテーブルを含む。ヒストリは、多くの異なるタイプの構造を用いて多くの異なる方法を使用して格納することができる。例えば、ヒストリは、メモリ、ファイル、スプレッドシート、データベース等に格納することができる。ヒストリ・レコードは、リストやスプレッドシート等のようなデータ・ストア内で混在させることもできる。一実施形態によれば、ヒストリ・レコードは、コンテンツ位置、時間、バックアップ位置およびバックアップ時間のフィールドを備える。コンテンツ位置は、テナントのコンテンツが格納されるところに情報を供給する(例えば、データベース名、コンテンツ位置へのURLなど)。時間1フィールドは、テナントのデータが特定の位置あった最新の時間を示す。一実施形態によれば、時間1フィールドが空であるときに、時間1の値は時間2フィールドのものと同一となる。時間1フィールドおよび時間2フィールドが空であるときは、データは現在のコンテンツ位置およびバックアップ位置に更にある。バックアップ位置フィールドは、コンテンツのバックアップがどこに位置するかについてその位置を特定する。時間2フィールドは、テナントのバックアップ・データが特定の位置にあった最新の時間を特定する。
[0043] 次いで、本プロセスは、終了ブロックに移り、他のアクションの処理に戻る。
[0044] 図5は、直前の位置からテナント・データをリストアするための要求を処理するためのプロセスを示す。
[0045] 開始ブロックの後、本プロセスは動作510に移り、ここでは要求を受け取ってテナント・データをリストアする。例えば、テナントは、リストアしたいデータを偶然削除してしまった場合もある。一実施形態によれば、この要求は、データを削除したと考えたかを示す時間を含む。別の実施形態によれば、時間レンジが付与される。更に別の実施形態によれば、テナントのヒストリ内の各位置は、要求内の時間を供給することなくデータを検索してもよい。
[0046] 動作520に移って、テナントのヒストリについて、データがどこに位置するかを決定するためにアクセスする。先に述べたように、ヒストリはテナント・データおよび対応のバックアップ・データの現在の位置、並びにそのデータの直前の各位置を含む。
[0047] 動作530に移って、テナントのデータは、テナントの現在のデータは所望でない直前のデータで上書きされないよう、一時的な位置にリストアされる。
[0048] 動作540に移行して、要求されたデータは、一時的な位置から抽出され、そしてテナントのデータの現在の位置にリストアされる。一時的な位置にあったデータを消去してもよい。
[0049] プロセスは、次いで、終了ブロックに移り、他のアクションの処理に戻る。
[0050] 上記の明細書、例示およびデータは、本発明の構成物を製造および使用することについて完全な説明を提供するものである。本発明の多くの実施形態が本発明の趣旨および範囲を逸脱することなく為され得るために、本発明は、添付の特許請求の範囲に帰するものとなる。

Claims (14)

  1. クラウド・コンピューティング環境のマルチ・テナントサービスにおいてテナントの移行にわたるテナント・データをリカバリするために、プロセッサ上で実施する方法であって、
    テナントのバックアップ・データを生成するために、バックアップ動作を前記テナント・データに対して実行するステップと、
    前記テナント・データのヒストリ・データベースを保持するステップであって、前記ヒストリ・データベースが、前記テナント・データの第1ストレージ位置と、対応する前記テナントのバックアップ・データの第2ストレージ位置とを少なくとも含む、ステップと、
    前記テナント・データの第1ストレージ位置を、異なる第3ストレージ位置に変更する変更動作を判断するステップと、
    前記変更動作に応じて、前記ヒストリ・データベースを更新するステップであって、
    前記テナント・データの格納位置前記第3ストレージ位置を示すように、レコードを追加し、
    前記テナント・データの格納位置についての前記レコードの追加に関連付けられる時間を追加する、
    ことを含む、ステップと、
    要求されたときに、前記テナント・データの第1ストレージ位置を判断するために、前記ヒストリ・データベースにアクセスするステップと、
    前記第1ストレージ位置に格納された前記テナント・データを用いて、前記テナント・データを前記第3ストレージ位置にリストアするステップと
    を含む、方法。
  2. 前記ヒストリ・データベースが、テナント・データおよびバックアップ・データの内少なくとも1つの負荷バランシングに応じて更新される、請求項1記載の方法。
  3. 前記ヒストリ・データベースが、テナントの移行に応じて更新される、請求項1記載の方法。
  4. 前記ヒストリ・データベースが、ファーム・アップグレードに応じて更新される、請求項1記載の方法。
  5. 前記ヒストリ・データベースを更新するステップが、前記テナント・データのバックアップに対応するバックアップ・データのストレージ位置を格納するステップを含む、請求項1記載の方法。
  6. 請求項5記載の方法において、前記バックアップ・データが、前記テナント・データのフル・バックアップ、前記テナント・データのインクリメント式バックアップ、および前記テナント・データのトランザクション・ログ・バックアップを含む、方法。
  7. 請求項1記載の方法において、前記ヒストリ・データベースにアクセスする前記ステップが、前記要求内で特定される時間を、前記ヒストリ・データベース内で前記テナント・データに関連付けられた少なくとも1つの時間と比較することに基づいて、前記テナント・データの第1ストレージ位置を判断するステップを含む、方法。
  8. 請求項1記載の方法であって、前記テナント・データをリストアする前記ステップが、前記テナント・データを一時的ストレージ位置にリストアするステップと、要求されたデータを前記一時的ストレージ位置から抽出するステップと、前記抽出したデータを前記テナント・データの第3ストレージ位置に配置するステップとを含む、方法。
  9. クラウド・コンピューティング環境のマルチ・テナントサービスにおいてテナントの移行にわたるテナント・データをリカバリするためのコンピューター実行可能命令を格納するコンピューター可読ストレージ媒体であって、該コンピューター実行可能命令が、
    テナント・バックアップ・データを生成するために、バックアップ動作を前記テナント・データに対して実行するステップと、
    前記テナント・データのヒストリ・データベースを保持するステップであって、前記ヒストリ・データベースが、前記テナント・データの第1ストレージ位置と、対応する前記テナントのバックアップ・データの第2ストレージ位置とを少なくとも含む、ステップと、
    前記第1ストレージ位置を、異なる第3ストレージ位置に変更する変更動作を判断するステップと、
    前記変更動作に応じて、前記ヒストリ・データベースを更新するステップであって、
    前記テナント・データの格納位置前記第3ストレージ位置を示すように、レコードを追加
    前記テナント・データの格納位置についての前記レコードの追加に関連付けられる時間を追加する、
    ことを含む、ステップと、
    要求されたときに、前記テナント・データの第1ストレージ位置を判断するために、前記ヒストリ・データベースにアクセスするステップと、
    前記第1ストレージ位置に格納された前記テナント・データを用いて前記テナント・データを前記第3ストレージ位置にリストアするステップと、
    を含む、コンピューター可読ストレージ媒体。
  10. 請求項9記載のコンピューター可読ストレージ媒体において、前記ヒストリ・データベースが、テナント・データおよびバックアップ・データの内少なくとも1つへの負荷バランシング、テナントの移行、並びにファーム・アップグレードの内少なくとも1つに応じて更新される、コンピューター可読ストレージ媒体。
  11. 前記ヒストリ・データベースを更新するステップが、前記テナント・データのバックアップに対応するバックアップ・データのストレージ位置を格納するステップを含む、請求項9記載のコンピューター可読ストレージ媒体。
  12. 前記バックアップ・データが、前記テナント・データのフル・バックアップ、前記テナント・データのインクリメント式バックアップ、および前記テナントのデータのトランザクション・ログ・バックアップを含む、請求項11記載のコンピューター可読ストレージ媒体。
  13. 前記ヒストリ・データベースにアクセスする前記ステップが、前記要求内で特定される時間を前記ヒストリ・データベース内で前記テナント・データに関連付けられた少なくとも1つの時間と比較することに基づいて、前記テナント・データの第1ストレージ位置を判断するステップを含む、請求項9記載のコンピューター可読ストレージ媒体。
  14. 前記テナント・データをリストアする前記ステップが、前記テナント・データを一時的なストレージ位置にリストアするステップと、要求されたデータを前記一時的なストレージ位置から抽出するステップと、前記抽出したデータを前記テナント・データの前記第3ストレージ位置に配置するステップとを含む、請求項9記載のコンピューター可読ストレージ媒体。
JP2017038336A 2011-03-31 2017-03-01 テナント移行にわたるテナント・データのリカバリ Expired - Fee Related JP6463393B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/077,620 US20120254118A1 (en) 2011-03-31 2011-03-31 Recovery of tenant data across tenant moves
US13/077,620 2011-03-31

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014502584A Division JP6140145B2 (ja) 2011-03-31 2012-03-03 テナント移行にわたるテナント・データのリカバリ

Publications (2)

Publication Number Publication Date
JP2017123188A JP2017123188A (ja) 2017-07-13
JP6463393B2 true JP6463393B2 (ja) 2019-01-30

Family

ID=46928602

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014502584A Expired - Fee Related JP6140145B2 (ja) 2011-03-31 2012-03-03 テナント移行にわたるテナント・データのリカバリ
JP2017038336A Expired - Fee Related JP6463393B2 (ja) 2011-03-31 2017-03-01 テナント移行にわたるテナント・データのリカバリ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014502584A Expired - Fee Related JP6140145B2 (ja) 2011-03-31 2012-03-03 テナント移行にわたるテナント・データのリカバリ

Country Status (11)

Country Link
US (1) US20120254118A1 (ja)
EP (1) EP2691890A4 (ja)
JP (2) JP6140145B2 (ja)
KR (1) KR102015673B1 (ja)
CN (1) CN102750312B (ja)
AU (1) AU2012238127B2 (ja)
BR (1) BR112013024814A2 (ja)
CA (1) CA2831381C (ja)
MX (1) MX340743B (ja)
RU (1) RU2598991C2 (ja)
WO (1) WO2012134711A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063787B2 (en) 2011-01-28 2015-06-23 Oracle International Corporation System and method for using cluster level quorum to prevent split brain scenario in a data grid cluster
CN102693169B (zh) * 2011-03-25 2015-01-28 国际商业机器公司 在多租户环境下恢复租户数据的方法、设备和数据库系统
US9703610B2 (en) * 2011-05-16 2017-07-11 Oracle International Corporation Extensible centralized dynamic resource distribution in a clustered data grid
CN103415848B (zh) * 2011-05-27 2018-07-13 英派尔科技开发有限公司 使用元数据进行应用程序的无缝备份和恢复的方法和系统
US20150169598A1 (en) * 2012-01-17 2015-06-18 Oracle International Corporation System and method for providing a persistent snapshot of a running system in a distributed data grid
US20140236892A1 (en) * 2013-02-21 2014-08-21 Barracuda Networks, Inc. Systems and methods for virtual machine backup process by examining file system journal records
US10664495B2 (en) 2014-09-25 2020-05-26 Oracle International Corporation System and method for supporting data grid snapshot and federation
CN111404992B (zh) 2015-06-12 2023-06-27 微软技术许可有限责任公司 承租人控制的云更新
US10585599B2 (en) 2015-07-01 2020-03-10 Oracle International Corporation System and method for distributed persistent store archival and retrieval in a distributed computing environment
US10860378B2 (en) 2015-07-01 2020-12-08 Oracle International Corporation System and method for association aware executor service in a distributed computing environment
US10798146B2 (en) 2015-07-01 2020-10-06 Oracle International Corporation System and method for universal timeout in a distributed computing environment
US11163498B2 (en) 2015-07-01 2021-11-02 Oracle International Corporation System and method for rare copy-on-write in a distributed computing environment
US10860597B2 (en) * 2016-03-30 2020-12-08 Workday, Inc. Reporting system for transaction server using cluster stored and processed data
US11550820B2 (en) 2017-04-28 2023-01-10 Oracle International Corporation System and method for partition-scoped snapshot creation in a distributed data computing environment
US10769019B2 (en) 2017-07-19 2020-09-08 Oracle International Corporation System and method for data recovery in a distributed data computing environment implementing active persistence
US10862965B2 (en) 2017-10-01 2020-12-08 Oracle International Corporation System and method for topics implementation in a distributed data computing environment

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256634B1 (en) * 1998-06-30 2001-07-03 Microsoft Corporation Method and system for purging tombstones for deleted data items in a replicated database
US6658436B2 (en) * 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
JP2002108677A (ja) * 2000-10-02 2002-04-12 Canon Inc 文書管理装置及び方法、並びに記憶媒体
US6981210B2 (en) * 2001-02-16 2005-12-27 International Business Machines Corporation Self-maintaining web browser bookmarks
US7546354B1 (en) * 2001-07-06 2009-06-09 Emc Corporation Dynamic network based storage with high availability
US7685126B2 (en) * 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
AU2003262965A1 (en) * 2002-08-30 2004-03-19 Arkivio, Inc. Techniques for moving stub files without recalling data
DE60327329D1 (de) * 2002-09-10 2009-06-04 Exagrid Systems Inc Primär- und ferndatensicherung mit knoten-failover
US7242950B2 (en) * 2003-02-18 2007-07-10 Sbc Properties, L.P. Location determination using historical data
US7359975B2 (en) * 2003-05-22 2008-04-15 International Business Machines Corporation Method, system, and program for performing a data transfer operation with respect to source and target storage devices in a network
US7069411B1 (en) * 2003-08-04 2006-06-27 Advanced Micro Devices, Inc. Mapper circuit with backup capability
KR20060123078A (ko) * 2003-08-29 2006-12-01 코닌클리케 필립스 일렉트로닉스 엔.브이. 포인터들의 업데이트를 제어하는 파일 이동 히스토리
JP2005141555A (ja) * 2003-11-07 2005-06-02 Fujitsu General Ltd データベースのバックアップ方法、及びそれを用いたオンラインシステム
US20060004879A1 (en) * 2004-05-28 2006-01-05 Fujitsu Limited Data backup system and method
JP4624829B2 (ja) * 2004-05-28 2011-02-02 富士通株式会社 データバックアップシステム及び方法
US7489939B2 (en) * 2005-04-13 2009-02-10 Wirelesswerx International, Inc. Method and system for providing location updates
US7761732B2 (en) * 2005-12-07 2010-07-20 International Business Machines Corporation Data protection in storage systems
JP4800046B2 (ja) * 2006-01-31 2011-10-26 株式会社日立製作所 ストレージシステム
US20080162509A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Methods for updating a tenant space in a mega-tenancy environment
WO2008103429A1 (en) 2007-02-22 2008-08-28 Network Appliance, Inc. Data management in a data storage system using data sets
US7844596B2 (en) * 2007-04-09 2010-11-30 International Business Machines Corporation System and method for aiding file searching and file serving by indexing historical filenames and locations
US7783604B1 (en) * 2007-12-31 2010-08-24 Emc Corporation Data de-duplication and offsite SaaS backup and archiving
CN101620609B (zh) * 2008-06-30 2012-03-21 国际商业机器公司 多租户数据存储和访问方法和装置
US20100217866A1 (en) * 2009-02-24 2010-08-26 Thyagarajan Nandagopal Load Balancing in a Multiple Server System Hosting an Array of Services
JP5608995B2 (ja) * 2009-03-26 2014-10-22 日本電気株式会社 情報処理システム、情報復旧制御方法、履歴保存プログラム、履歴保存装置及び履歴保存方法
US20100318782A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
CN101714107A (zh) * 2009-10-23 2010-05-26 金蝶软件(中国)有限公司 一种erp系统中的数据库备份、恢复方法和装置
AU2011205748B2 (en) * 2010-01-15 2014-06-26 Endurance International Group, Inc. Unaffiliated web domain hosting service based on a common service architecture
US8762340B2 (en) * 2010-05-14 2014-06-24 Salesforce.Com, Inc. Methods and systems for backing up a search index in a multi-tenant database environment
US8452726B2 (en) * 2010-06-04 2013-05-28 Salesforce.Com, Inc. Sharing information between tenants of a multi-tenant database
US8296267B2 (en) * 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US8676763B2 (en) * 2011-02-08 2014-03-18 International Business Machines Corporation Remote data protection in a networked storage computing environment

Also Published As

Publication number Publication date
AU2012238127B2 (en) 2017-02-02
CA2831381A1 (en) 2012-10-04
US20120254118A1 (en) 2012-10-04
KR102015673B1 (ko) 2019-08-28
BR112013024814A2 (pt) 2016-12-20
WO2012134711A1 (en) 2012-10-04
RU2598991C2 (ru) 2016-10-10
MX340743B (es) 2016-07-20
JP2014512601A (ja) 2014-05-22
CN102750312A (zh) 2012-10-24
CN102750312B (zh) 2018-06-22
KR20140015403A (ko) 2014-02-06
CA2831381C (en) 2020-05-12
JP6140145B2 (ja) 2017-05-31
AU2012238127A1 (en) 2013-09-19
MX2013011345A (es) 2013-12-16
RU2013143790A (ru) 2015-04-10
EP2691890A4 (en) 2015-03-18
EP2691890A1 (en) 2014-02-05
JP2017123188A (ja) 2017-07-13

Similar Documents

Publication Publication Date Title
JP6463393B2 (ja) テナント移行にわたるテナント・データのリカバリ
US11200044B2 (en) Providing access to a hybrid application offline
US11032140B2 (en) Using a template to update a stack of resources
US11741046B2 (en) Method and apparatus for creating system disk snapshot of virtual machine
CA2800723A1 (en) Methods for utilizing a javascript emulator in a web content proxy server and devices thereof
CN108509207A (zh) Web应用程序的跨系统安装
US20120311375A1 (en) Redirecting requests to secondary location during temporary outage
CN112947992A (zh) 代码版本管理的方法和装置
EP2718817A2 (en) Crawl freshness in disaster data center
US20180004767A1 (en) REST APIs for Data Services
US9342530B2 (en) Method for skipping empty folders when navigating a file system
JP5317182B2 (ja) Pos端末、モジュールアップデート方法およびモジュールアップデートプログラム
CN117633382A (zh) 一种页面加载方法、装置、电子设备及计算机可读介质
JP2014174615A (ja) メンテナンス作業支援装置
KR20150116343A (ko) 멀티 스케일 맞춤형 융합 서비스 플랫폼 제공 방법 및 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180806

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181228

R150 Certificate of patent or registration of utility model

Ref document number: 6463393

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees