(57)【要約】ストレージ非依存アプリケーション一貫性スナップショット及び複製が提供される。様々な実施形態では、スナップショットコマンドは、ボリュームスナップショットサービスに発行される。それによって、ボリュームスナップショットサービスは、１つ以上のアプリケーションをバックアップモードにさせるように指示される。スナップショットを取得するＬＵＮのリストは、ボリュームスナップショットサービスから読み出される。スナップショットコマンドは、リスト上のＬＵＮの下層にある１つ以上のストレージシステムに発行される。１つ以上のストレージシステムへのスナップショットコマンドが完了されると、制御はボリュームスナップショットサービスに戻される。【選択図】図１
2020516000.tif 000002
【特許請求の範囲】
【請求項１】
スナップショットコマンドをボリュームスナップショットサービスに発行し、それによって、前記ボリュームスナップショットサービスに、１つ以上のアプリケーションをバックアップモードにさせることを指示することと、
前記ボリュームスナップショットサービスから、スナップショットを取得するＬＵＮのリストを読み出すことと、
スナップショットコマンドを、前記リスト上の前記ＬＵＮの下層にある１つ以上のストレージシステムに発行することと、
前記１つ以上のストレージシステムへの前記スナップショットコマンドが完了されると、制御を前記ボリュームスナップショットサービスに戻すことと、
を含む、方法。
【請求項２】
前記１つ以上のアプリケーションは、データベースアプリケーションを含む、請求項１に記載の方法。
【請求項３】
スナップショットを取得する前記ＬＵＮは、前記１つ以上のアプリケーションを支える１つ以上のボリュームに対応する、請求項１に記載の方法。
【請求項４】
ポイントインタイムコピーで、前記１つ以上のストレージシステムから２次ストレージに前記ＬＵＮを複製すること、
をさらに含む、請求項１に記載の方法。
【請求項５】
１つ以上のストレージシステムと、
コンピューティングノードであって、前記コンピューティングノードは、コンピュータ可読ストレージ媒体で具体化されるプログラム命令を有する前記コンピュータ可読ストレージ媒体を含み、前記プログラム命令は、プロセッサによって実行可能であり、前記プロセッサに、
スナップショットコマンドをボリュームスナップショットサービスに発行し、それによって、前記ボリュームスナップショットサービスに、１つ以上のアプリケーションをバックアップモードにさせることを指示することと、
前記ボリュームスナップショットサービスから、スナップショットを取得するＬＵＮのリストを読み出すことと、
スナップショットコマンドを前記１つ以上のストレージシステムに発行することであって、前記１つ以上のストレージシステムは前記リスト上の前記ＬＵＮの下層にある、前記発行することと、
前記１つ以上のストレージシステムへの前記スナップショットコマンドが完了されると、制御を前記ボリュームスナップショットサービスに戻すことと、
を含む方法を行わせる、前記コンピューティングノードと、
を備える、システム。
【請求項６】
前記１つ以上のアプリケーションは、データベースアプリケーションを含む、請求項１に記載のシステム。
【請求項７】
スナップショットを取得する前記ＬＵＮは、前記１つ以上のアプリケーションを支える１つ以上のボリュームに対応する、請求項１に記載のシステム。
【請求項８】
ポイントインタイムコピーで、前記１つ以上のストレージシステムから２次ストレージに前記ＬＵＮを複製すること、
をさらに含む、請求項１に記載のシステム。
【請求項９】
スナップショット取得のためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、コンピュータ可読ストレージ媒体で具体化されるプログラム命令を有する前記コンピュータ可読ストレージ媒体を含み、前記プログラム命令は、プロセッサによって実行可能であり、前記プロセッサに、
スナップショットコマンドをボリュームスナップショットサービスに発行し、それによって、前記ボリュームスナップショットサービスに、１つ以上のアプリケーションをバックアップモードにさせることを指示することと、
前記ボリュームスナップショットサービスから、スナップショットを取得するＬＵＮのリストを読み出すことと、
スナップショットコマンドを、前記リスト上の前記ＬＵＮの下層にある１つ以上のストレージシステムに発行することと、
前記１つ以上のストレージシステムへの前記スナップショットコマンドが完了されると、制御を前記ボリュームスナップショットサービスに戻すことと、
を含む方法を行わせる、前記コンピュータプログラム製品。
【請求項１０】
前記１つ以上のアプリケーションは、データベースアプリケーションを含む、請求項９に記載のコンピュータプログラム製品。
【請求項１１】
スナップショットを取得する前記ＬＵＮは、前記１つ以上のアプリケーションを支える１つ以上のボリュームに対応する、請求項９に記載のコンピュータプログラム製品。
【請求項１２】
前記方法は、ポイントインタイムコピーで、前記１つ以上のストレージシステムから２次ストレージに前記ＬＵＮを複製すること、
を含む、請求項９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、仮特許出願第６２／４８０，０２０号（２０１７年３月３１日に出願され、その全体が本明細書によって参照により組み込まれる）の利点を主張する。
【背景技術】
【０００２】
本開示の実施形態は、スナップショットに関し、より具体的には、ストレージ非依存アプリケーション一貫性スナップショット及び複製に関する。
【発明の概要】
【０００３】
本開示の実施形態に従って、スナップショット取得の方法及びコンピュータプログラム製品が提供される。様々な実施形態では、スナップショットコマンドは、ボリュームスナップショットサービスに発行される。それによって、ボリュームスナップショットサービスは、１つ以上のアプリケーションをバックアップモードにさせるように指示される。スナップショットを取得するＬＵＮのリストは、ボリュームスナップショットサービスから読み出される。スナップショットコマンドは、リスト上のＬＵＮの下層にある１つ以上のストレージシステムに発行される。１つ以上のストレージシステムへのスナップショットコマンドが完了されると、制御はボリュームスナップショットサービスに戻される。
【０００４】
いくつかの実施形態では、１つ以上のアプリケーションは、データベースアプリケーションを含む。いくつかの実施形態では、スナップショットを取得するＬＵＮは、１つ以上のアプリケーションを支える１つ以上のボリュームに対応する。いくつかの実施形態では、ＬＵＮは、ポイントインタイムコピーで、１つ以上のストレージシステムから２次ストレージに複製される。
【図面の簡単な説明】
【０００５】
【図１】本開示の実施形態による、スナップショットを提供するためのシステムを示す。
【図２】本開示による、システム内のエージェント相互作用を示す。
【図３】本開示の実施形態による、スナップショットを提供するためのシステムを示す。
【図４】本開示の実施形態による、スナップショット取得のための方法を示す。
【図５】本開示の実施形態による、コンピューティングノードを示す。
【発明を実施するための形態】
【０００６】
Ｗｉｎｄｏｗｓのアプリケーション一貫性スナップショットは、Ｗｉｎｄｏｗｓ  ＶＳＳ  ｆｒａｍｅｗｏｒｋを使用して提供され得る。係る場合、スナップショットは、ＶＳＳスナップショットプロバイダを使用して取得される。Ｗｉｎｄｏｗｓは固有のソフトウェアスナップショット機能を提供し得、各ストレージシステムベンダは、そのストレージシステムのスナップショットを実施することに責任を負う。様々なストレージベンダは、プロバイダに、１次ストレージシステム上でスナップショットを取得することを提供し得る。しかしながら、２次コピーを作成するために、等価機能は、様々なストレージシステムにおいてサポートされない。いくつかのストレージシステムは、２次ストレージシステムへの１次スナップショットの複製を可能にし得る。しかしながら、多くのベンダは、スナップショットを複製することなく、ボリューム複製だけをサポートする。これは、２次ストレージシステム上にインプレースアプリケーション一貫性コピーを作成する能力を制限する。
【０００７】
本開示は、この制限と、ストレージアレイに関する代替案の他の制限とに対処するものである。本開示は、１次ストレージシステム及び２次ストレージシステムの両方でインプレースアプリケーション一貫性スナップショットを作成するために、いずれかのストレージシステムと連携するシステム及び方法を提供する。
【０００８】
様々な実施形態では、アプリケーション一貫性スナップショットが作成され、１次及び２次ストレージシステム上でインプレースコピーの複製が、その下層にある複製技術に関係なく提供される。様々な代替ストレージシステムの解決策は、ストレージシステム上の１次コピーの作成だけをサポートし、２次コピーを作成するために設計されていない。
【０００９】
スナップショットは、アプリケーションがそのデータへの書き込みを継続することを可能にしながら、ある時点で解凍されるデータセットの読取専用コピーを提供する。これは、高速データ利用システムにダウンタイムなしでバックアップを行うことを可能にする。いくつかのスナップショットの実施により、Ｏ（１）の時間でスナップショットを作成することができる。したがって、スナップショットを作成するために必要な時間及びＩ／Ｏは、データセットのサイズとともに増加しない。直接バックアップに必要な時間及びＩ／Ｏは、データセットのサイズに比例する。いくつかのシステムでは、いったんデータセットの最初のスナップショットが取得されると、後続のスナップショットは、変更されたデータだけをコピーし、最初のスナップショットを参照するためにポインタのシステムを使用する。このポインタベースのスナップショットの方法は、データセットが繰り返してクローン化された場合よりも少ないディスク容量を消費する。
【００１０】
ＮＴＦＳでは、スナップショットへのアクセスは、Ｗｉｎｄｏｗｓ  ＸＰ及びＷｉｎｄｏｗｓ  Ｓｅｒｖｅｒ  ２００３のボリュームシャドーコピー（ＶＳＳ）によって提供され、また、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａのシャドーコピーによって提供される。ＶＳＳは、コピーまたはスナップショットが使用中のときでさえも、コンピュータファイルまたはボリュームの手動または自動のバックアップコピーまたはスナップショットを取得することを可能にする。ＶＳＳは、ボリュームシャドーコピーサービスと呼ばれるＷｉｎｄｏｗｓサービスとして実装される。シャドーコピーは、この技術を使用する任意のＷｉｎｄｏｗｓコンポーネントによって、ローカル及び外部にある（取り外し可能なまたはネットワークの）ボリューム上で作成されることができる。
【００１１】
シャドーコピーのコアコンポーネントは、スナップショット作成プロセスを開始及び監督するボリュームシャドーコピーサービスである。全ての必要なデータ転送を行うコンポーネントはプロバイダと呼ばれる。したがって、ソフトウェア及びハードウェアプロバイダが提供され、ボリュームシャドーコピーサービスで、ソフトウェア及びハードウェアプロバイダを登録し得る。各プロバイダは、いくつかの実施形態では１０秒である、スナップショット生成を完了するための最長時間を有する。
【００１２】
ボリュームシャドーコピーサービスは、また、プラガブルライタに適応する。上記に説明したように、シャドーコピーの目的は、一貫性のある信頼性のあるスナップショットを作成する。いくつかの状況では、全てのペンディングファイル変更動作を完了することは十分ではない。例えば、データベースアプリケーションが一方のファイルから別のファイルにデータの一部を転送するとき、当該データベースアプリケーションは、ソースファイルから当該データの一部を削除し、当該データの一部を目的ファイルに作成する必要がある。したがって、スナップショットは、データの一貫性を維持するために、最初の削除と後続の作成との間で作成される必要がある。アプリケーション特有ライタは、この意味の一貫性を施行することに責任を負う。いくつかの実施形態では、プラガブルライタは、プロバイダがスナップショット作成を開始する前に、バックアップの安全状態を確立するのに６０秒かかる。
【００１３】
コンピュータストレージでは、論理ユニット番号またはＬＵＮは、論理ユニットを識別するために使用される番号であり、論理ユニットは、ＦｉｂｒｅチャネルまたはｉＳＣＳＩ等のＳＣＳＩをカプセル化するＳＣＳＩプロトコルまたはストレージエリアネットワークプロトコルによってアドレス指定されるデバイスである。ＬＵＮは、読み取り／書き込み動作をサポートするテープドライブ等の任意のデバイスとともに使用され得るが、ほとんどの場合、ＳＡＮ上で作成されるような論理ディスクを指すように使用される。用語「ＬＵＮ」は、また、論理ディスク自体を指すように使用され得る。
【００１４】
本開示に従ったシステム及び方法は、任意のストレージシステムをサポートすることができる汎用のインプレーススナップショットプロバイダを提供する。さらに、本明細書に提供されるシステム及び方法は、ストレージ非依存インプレーススナップショットプロバイダを可能にする。
【００１５】
ここで図１を参照して、本開示の実施形態に従ってスナップショットを提供するためのシステムを示す。アプリケーション１０１（ＡｐｐＡ）はデータベース１０２（データベースＡ）を含む。データベース１０２は、そのファイルをＬＵＮ−Ａ１０３及びＬＵＮ−Ｂ１０４上に保持する。具体的には、データベースファイルは、ＬＵＮ−Ａ１０３上で記憶される一方で、ログファイルはＬＵＮ−Ｂ１０４上で記憶される。ＬＵＮ−Ａ１０３はストレージシステムＡ１０５からマッピングされ、ＬＵＮ−Ｂ１０４はストレージシステムＢ１０６からマッピングされる。この例では、ストレージシステムＡ１０５はベンダＸからのものであり、ストレージシステムＢ１０６はベンダＹからのものである。したがって、アプリケーションデータベースは、異なるストレージベンダによって提供されるＬＵＮによって支えられる２つのボリューム上でホストされる。
【００１６】
コピー作成中、本開示に従ったデータ保護ソフトウェア（例えば、ＥＣＸ）は、ＶＳＳリクエスタ及びＶＳＳスナップショットプロバイダをＷｉｎｄｏｗｓ  ＶＳＳシステムに導入する。データ保護ソフトウェアは、アプリケーション構成及びストレージレイアウトを発見し、スナップショットコマンドをＶＳＳリクエスタに発行する。Ｗｉｎｄｏｗｓシステム上のＶＳＳリクエスタは、順に、ＶＳＳフレームワークに、アプリケーションデータベースをスナップショット取得することを要求する。ＶＳＳフレームワークは、アプリケーションのライタにコンタクトし、バックアップモードでアプリケーションを投入し、ＶＳＳスナップショットプロバイダに、スナップショットを取得することを要求する。
【００１７】
ＶＳＳスナップショットプロバイダは、データ保護ソフトウェアを、スナップショット取得または複製されたＬＵＮのリストとコンタクトさせる。この時点では、データ保護ソフトウェアは、ポリシーの一部として定義されたストレージワークフローに応じて、スナップショットコマンドまたは複製コマンドを、ＬＵＮ−Ａ１０３のストレージシステムＡ１０５及びＬＵＮ−Ｂ１０４のストレージシステムＢ１０６に発行するであろう。スナップショットの作成の完了が成功すると、または複製関係を確立すると、当該ソフトウェアは、ＶＳＳスナップショットプロバイダに戻るように制御を戻すであろう。当該プロセスは、これがＷｉｎｄｏｗｓによって施行される１０秒ウィンドウ以内に十分に行われることを確実にする。
【００１８】
ＶＳＳは、ライタに、アプリケーションをバックアップモードから取り出し、リクエスタに戻るように制御を戻すことを要求するであろう。リクエスタは、これをデータ保護ソフトウェアに戻すように中継するであろう。
【００１９】
ここで図２を参照して、本開示による、システム内部のエージェント相互作用（具体的には、データ保護ソフトウェアと、ＶＳＳリクエスタと、ＶＳＳスナップショットとの間のエージェント相互作用）を示す。この図は、どのように、データ保護ソフトウェア２０１（例えば、ＥＣＸ）と、Ｗｉｎｄｏｗｓ（または他のオペレーティングシステム）との間の通信及びレイアウトが、２つのストレージシステム（例えば、Ａ１０５及びＢ１０６）からのＬＵＮに関するアプリケーションスナップショット及びコピーの複製を作るのかを表す。
【００２０】
概して、ボリュームスナップショットサービス（ＶＳＳ）は、コンピュータファイルまたはボリュームが使用中のときでさえも、コンピュータファイルまたはボリュームの手動または自動のバックアップコピーまたはスナップショットを取得することを可能にする。ＶＳＳは、Ｗｉｎｄｏｗｓサービス、または別のオペレーティングシステム上の同等のコンポーネントとして実装され得る。概して、ＶＳＳは、ボリュームのブロックレベルで動作する。しかしながら、本開示がファイルレベルバックアップに適用され得ることを認識されるであろう。概して、スナップショットは、ボリュームの読取専用ポイントインタイムコピーである。スナップショットは、ボリュームの一貫性あるバックアップの作成を可能にし、コンテンツが変更しないことと、バックアップが行われている間にコンテンツがロックされないこととを確実にする。
【００２１】
ＶＳＳアーキテクチャ２０２の内部において、全ての必要なデータ転送を行うコンポーネントはプロバイダと呼ばれる。ソフトウェアまたはハードウェアプロバイダ２０４はＶＳＳ２０２で登録され得、ＶＳＳ２０２はスナップショット作成プロセスを開始及び監督する。ＶＳＳライタ２０５は、また、ＶＳＳ２０２で登録され得る。いくつかの場合、全てのペンディングファイル変更動作を完了することによって、一貫性のある信頼性のあるスナップショットを生成することができない。したがって、いくつかの関連ファイルに対する一連の相互に関係する変更を完了することが必要であり得る。例えば、データベースアプリケーションが一方のファイルから別のファイルにデータの一部を転送するとき、当該データベースアプリケーションは、ソースファイルから当該データを削除し、当該データを目的ファイルに作成し得る。したがって、スナップショットは、最初の削除と後続の作成との間で発生しないはずである。スナップショットは、削除前または作成後に発生するはずである。この意味の一貫性を施行することはＶＳＳライタ２０５に委任される。各ライタは、アプリケーション特有であり、プロバイダがスナップショット作成を開始する前に、バックアップ安全状態を確立する固定時間を有する。いくつかの実施形態では、時間制限は６０秒である。ＶＳＳがこの時間に対応するライタから成功の肯定応答を受信しない場合、動作が機能しなくなる。
【００２２】
本開示の様々な実施形態に従って、データ保護ソフトウェア２０１（例えば、ＥＣＸ）は、スナップショット要求をＶＳＳ２０２に、ＶＳＳリクエスタ２０３を介して送信する。いくつかの実施形態では、要求は、アプリケーション識別子及びボリューム識別子を含む。ＶＳＳスナップショットプロバイダ２０４は、ＬＵＮ識別子を含むＬＵＮデータを戻す。上記のプロセスは、例えば、固有の配列能力を使用して、リカバリ、ＤｅｖＯｐｓ、または分析のために使用されることができる１次または２次ストレージのいずれかにアプリケーション一貫性のコピーポイントを確立する。
【００２３】
ここで図３を参照して、本開示の実施形態に従ってスナップショットを提供するためのシステムを示す。様々な実施形態では、データ保護ソフトウェア／管理サーバ（例えば、ＥＣＸ）３０１は、データベースサーバ３０２．．．３０３と通信することによって、アプリケーション一貫性スナップショットを作成する。いくつかの実施形態では、データベースサーバ３０２．．．３０３は、ＳＱＬサーバであり得る。この例では、データベースサーバ３０２．．．３０３は、アプリケーション３０４を支える。データベースサーバ３０２．．．３０３は、順に、１次物理ストレージ３０６に位置する１つ以上のソースボリュームまたはスナップショット３０５によって支えられる。３１１において、上記に説明したようなＶＳＳは、アプリケーション３０４をバックアップモードに投入する。３１２において、ＶＳＳハードウェアプロバイダは、ストレージスナップショットを取得するために、またはポイントインタイムコピーを複製するために、管理サーバ３０１を呼び出す。上記に留意したように、特定の実施形態では、下層にあるオペレーティングシステムは、この動作のために１０秒ウィンドウを提供する。３１３において、管理サーバ３０１は、スナップショットを作成するために、１次物理ストレージ３０６を呼び出す。３１４において、管理サーバ３０１は、ポイントインタイムコピーで１次ストレージからボリュームを複製するために、２次物理ストレージ３０７を呼び出す。ボリューム及びスナップショット３０８の複製は、物理２次ストレージ３０７によってバックアップされる。
【００２４】
いったんスナップショットが作成されると、または複製が開始されると、制御は、ＶＳＳハードウェアプロバイダに戻る。ＶＳＳハードウェアプロバイダは、ＶＳＳリクエスタ（例えば、ＥＣＸエージェント）に呼び出しを戻す。管理サーバ３０１は、１次スナップショットまたは複製されたボリュームスナップショットを分類する。
【００２５】
上記に説明したような管理サーバ（例えば、ＥＣＸ）は、アドミニストレータが、数時間または数日かけずとも、数分でアプリケーション一貫性コピーの作成、クローン化、及びリカバリを調整することを可能にすることによって、ＳＱＬサーバコピー管理を簡略化する。このコピー管理は、下層にある記憶プラットフォームスナップショット特徴及び複製特徴を利用して、時間及び空間の両方で効率的に、データベース（例えば、ＳＱＬサーバ）のコピーを迅速に作成、複製、クローン化、及び復元する。
【００２６】
ここで図４を参照して、本開示の実施形態に従ってスナップショット取得の方法を示す。４０１において、スナップショットコマンドは、ボリュームスナップショットサービスに発行される。それによって、ボリュームスナップショットサービスは、１つ以上のアプリケーションをバックアップモードにさせるように指示される。４０２において、スナップショットを取得するＬＵＮのリストは、ボリュームスナップショットサービスから読み出される。４０３において、スナップショットコマンドは、リスト上のＬＵＮの下層にある１つ以上のストレージシステムに発行される。４０４において、１つ以上のストレージシステムへのスナップショットコマンドが完了されると、制御はボリュームスナップショットサービスに戻される。
【００２７】
ここで図５を参照すると、コンピューティングノードの例の概略図が示される。コンピューティングノード１０は、適切なコンピューティングノードの一例にすぎず、本明細書に説明される実施形態の使用または機能の範囲に関するいずれかの制限を示唆することが意図されない。それにもかかわらず、コンピューティングノード１０は、本明細書に説明される機能のいずれかを実施する及び／または行うことが可能である。
【００２８】
コンピューティングノード１０では、多くの他の汎用または専用コンピューティングシステム環境または構成で動作するコンピュータシステム／サーバ１２が存在する。コンピュータシステム／サーバ１２とともに使用されるのに適切であり得る周知のコンピューティングシステム、環境、及び／または構成の例は、限定ではないが、上記のシステムまたはデバイスのいずれかを含む、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能消費家電、ネットワークＰＣ、ミニコンピュータシステム、メインフレームコンピュータシステム、及び分散型クラウドコンピューティング環境等を含む。
【００２９】
コンピュータシステム／サーバ１２は、コンピュータシステムによって実行されるプログラムモジュール等のコンピュータシステム実行可能命令の一般的な状況で説明され得る。概して、プログラムモジュールは、特定のタスクを行う、または特定の抽象的データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造等を含み得る。コンピュータシステム／サーバ１２は、タスクが通信ネットワークを経由してリンクされるリモート処理デバイスによって行われる分散型クラウドコンピューティング環境で実践され得る。分散型クラウドコンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを含むローカル及びリモートコンピュータシステムストレージ媒体の両方に位置し得る。
【００３０】
図５に示されるように、コンピューティングノード１０のコンピュータシステム／サーバ１２は、汎用コンピューティングデバイスの形態で示される。コンピュータシステム／サーバ１２のコンポーネントは、限定ではないが、１つ以上のプロセッサまたは処理ユニット１６と、システムメモリ２８と、システムメモリ２８を含む様々なシステムコンポーネントをプロセッサ１６に結合するバス１８とを含み得る。
【００３１】
バス１８は、メモリバスまたはメモリコントローラと、周辺機器用バスと、アクセラレイティッドグラフィックスポートと、様々なバスアーキテクチャのいずれかを使用するプロセッサまたはローカルバスとを含む、いくつかの種類のバス構造のいずれかの１つ以上を表す。例として及び限定的ではなく、係るアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ベサ（ＶＥＳＡ）ローカルバス、及びペリフェラルコンポーネントインターコネクト（ＰＣＩ）バスを含む。
【００３２】
コンピュータシステム／サーバ１２は、一般的に、様々なコンピュータシステム可読媒体を含む。係る媒体はコンピュータシステム／サーバ１２によってアクセス可能である任意の利用可能である媒体であり得、当該媒体は、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不可能媒体の両方とを含む。
【００３３】
システムメモリ２８は、ランダムアクセスメモリ（ＲＡＭ）３０及び／またはキャッシュメモリ３２等の揮発性メモリの形態でコンピュータシステム可読媒体を含み得る。コンピュータシステム／サーバ１２は、さらに、他の取り外し可能／取り外し不可能である揮発性／不揮発性コンピュータシステムストレージ媒体を含み得る。単なる例として、ストレージシステム３４は、取り外し不可能な不揮発性磁気媒体（図示されず、一般的に、「ハードドライブ」と呼ばれる）から読み取り、それに書き込むために提供され得る。図示されないが、取り外し可能な不揮発性磁気ディスク（例えば、「フロッピーディスク」）から読み取り、それに書き込むための磁気ディスクドライブ、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光媒体等の取り外し可能な不揮発性光ディスクから読み取り、それに書き込むための光ディスクドライブが提供され得る。係る場合、それぞれ、１つ以上のデータ媒体インターフェースによって、バス１８に接続することができる。さらに下記に示され及び説明されるように、メモリ２８は、本開示の実施形態の機能を実行するように構成されているプログラムモジュールのセット（例えば、プログラムモジュールの少なくとも１つ）を有する少なくとも１つのプログラム製品を含み得る。
【００３４】
プログラムモジュール４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ４０は、例として及び限定的ではなく、メモリ２８内に記憶され得、同様に、オペレーティングシステム、１つ以上のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータに記憶され得る。オペレーティングシステム、１つ以上のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータのそれぞれ、またはそれらのいくつかの組み合わせは、ネットワーク環境の実施態様を含み得る。プログラムモジュール４２は、概して、本明細書に説明される実施形態の機能及び／または手法を実施する。
【００３５】
コンピュータシステム／サーバ１２は、また、キーボード、ポインティングデバイス、ディスプレイ２４等の１つ以上の外部デバイス１４と、ユーザがコンピュータシステム／サーバ１２と対話することを可能にする１つ以上のデバイスと、及び／またはコンピュータシステム／サーバ１２が１つ以上の他のコンピューティングデバイスと通信することを可能にする任意のデバイス（例えば、ネットワークカード、モデム等）と通信し得る。係る通信は、入力／出力（Ｉ／Ｏ）インターフェース２２を介して発生し得る。さらにまた、コンピュータシステム／サーバ１２は、ネットワークアダプタ２０を介して、ローカルエリアネットワーク（ＬＡＮ）、一般的な広域ネットワーク（ＷＡＮ）、及び／またはパブリックネットワーク（例えば、インターネット）等の１つ以上のネットワークと通信することができる。示されるように、ネットワークアダプタ２０は、バス１８を介して、コンピュータシステム／サーバ１２の他のコンポーネントと通信する。図示されないが、他のハードウェア及び／またはソフトウェアコンポーネントは、コンピュータシステム／サーバ１２と併せて使用され得ることを理解されたい。例として、限定ではないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、ＲＡＩＤシステム、テープドライブ、及びデータアーカイバルストレージシステム等を含む。
【００３６】
本開示は、システム、方法、及び／またはコンピュータプログラム製品を含み得る。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるために、その製品にコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体（または媒体）を含み得る。
【００３７】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用される命令を保持及び記憶することができる有形デバイスであり得る。コンピュータ可読ストレージ媒体は、例えば、限定ではないが、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁気ストレージデバイス、半導体ストレージデバイス、または前述の任意の適切な組み合わせであり得る。コンピュータ可読ストレージ媒体のより具体的な例の非包括的リストは、以下のポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、消去可能プログラム読取専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ポータブルコンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、それに記憶された命令を有する溝内のパンチカードまたは隆起構造等の機械的エンコードデバイス、及び前述の任意の適切な組み合わせを含む。本明細書に使用されるようなコンピュータ可読ストレージ媒体は、それ自体、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通して伝播する電磁波（例えば、光ファイバケーブルを通る光パルス）、または電線を通して伝送される電気信号等の一次的信号として解釈するべきではない。
【００３８】
本明細書に説明されるコンピュータ可読プログラム命令は、各々のコンピューティング／処理デバイスに、コンピュータ可読ストレージ媒体からダウンロードされることができる、または外部コンピュータもしくは外部ストレージデバイスに、ネットワーク（例えば、インターネット、ローカルエリアネットワーク、広域ネットワーク及び／または無線ネットワーク）を介してダウンロードされることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び／またはエッジサーバを含み得る。各コンピューティング／処理デバイスのネットワークアダプタカードまたはネットワークインターフェースは、コンピュータ可読プログラム命令をネットワークから受信し、各々のコンピューティング／処理デバイスの内部でコンピュータ可読ストレージ媒体内に記憶するために、コンピュータ可読プログラム命令を転送する。
【００３９】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクションセットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または「Ｃ」プログラミング言語もしくは同様のプログラミング言語等の、Ｓｍａｌｌｔａｌｋ言語、Ｃ＋＋等のオブジェクト指向プログラミング言語、及び従来の手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書き込まれたソースコードもしくはオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、独立型ソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に、及びリモートコンピュータ上で部分的に、またはリモートコンピュータもしくはサーバ上で全体的に実行され得る。後のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）もしくは広域ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを経由してユーザのコンピュータに接続され得る、または、（例えば、インターネットサービスプロバイダを使用して、インターネットを経由して）外部コンピュータに接続され得る。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラマブルロジックアレイ（ＰＬＡ）を含む電子回路は、本開示の態様を行うために、電子回路をパーソナライズするコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行し得る。
【００４０】
本開示の態様は、本開示の実施形態に従って、方法、装置（システム）、及びコンピュータプログラム製品のフローチャート図及び／またはブロック図を参照して、本明細書に説明される。フローチャート図及び／またはブロック図の各ブロック、ならびにフローチャート図及び／またはブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施されることができることが理解されるであろう。
【００４１】
これらのコンピュータ可読プログラム命令は、機械動作を生じさせる汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供され得、それにより、コンピュータのプロセッサまたは他のプログラム可能データ処理装置によって実行する命令は、フローチャート及び／またはブロック図のブロックまたは複数のブロックに指定された機能／行為を実施するための手段を作る。これらのコンピュータ可読プログラム命令は、また、コンピュータ、プログラム可能データ処理装置、及び／または他のデバイスに、特定の方式で機能することを指示することができるコンピュータ可読ストレージ媒体内に記憶され得、それにより、コンピュータ可読ストレージ媒体（その中に記憶される命令を有する）は、フローチャート及び／またはブロック図のブロックまたは複数のブロックに指定された機能／行為の態様を実装する命令を含む製造品を備える。
【００４２】
コンピュータ可読プログラム命令は、また、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスの上にロードされ、一連の動作ステップをコンピュータ、他のプログラム可能装置、または他のデバイス上で行わせ、コンピュータ実施プロセスを生じさせ得、それにより、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令は、フローチャート及び／またはブロック図のブロックまたは複数のブロックに指定された機能／行為を実施する。
【００４３】
図のフローチャート及びブロック図は、本開示の様々な実施形態に従って、システム、方法、及びコンピュータプログラム製品の可能である実施態様のアーキテクチャ、機能、及び動作を示す。この点では、フローチャートまたはブロック図の各ブロックは、モジュール、区画、または命令の一部を表し得、それらは、指定された論理機能（複数可）を実施するための１つ以上の実行可能命令を含む。いくつかの代替実施態様では、ブロックで表される機能は、図で表されるものと違う順序で発生し得る。例えば、連続して示される２つのブロックは、実際に、実質的に同時に実行され得る、または、ブロックは、時々、関連する機能に応じて逆順に実行され得る。また、ブロック図及び／またはフローチャート図の各ブロック、ならびにブロック図及び／またはフローチャート図のブロックの組み合わせは、指定された機能もしくは行為を行う、または専用ハードウェア及びコンピュータ命令の組み合わせを実行する専用ハードウェアベースシステムによって実施され得ることが留意されるであろう。
【００４４】
本開示の様々な実施形態の説明は、例証の目的のために提示されているが、包括的であることが意図されない、または開示された実施形態に限定されることが意図されない。多くの修正及び変形例は、説明される実施形態の範囲及び主旨から逸脱することなく、当業者に明らかであろう。本明細書に使用される専門用語は、実施形態の原理、実用的応用もしくは市場で見られる技術を上回る技術的改善を最良に説明するために、または当業者が本明細書に開示された実施形態を理解することを可能にするために選ばれたものである。
【図１】
2020516000.tif 000003
【図２】
2020516000.tif 000004
【図３】
2020516000.tif 000005
【図４】
2020516000.tif 000006
【図５】
2020516000.tif 000007
【国際調査報告】
2020516000.tif 000008