特表2019-536332(P2019-536332A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧
特表2019-536332オンプレミスとオフプレミスとの通信方法、システム、プログラム
<>
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000003
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000004
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000005
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000006
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000007
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000008
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000009
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000010
  • 特表2019536332-オンプレミスとオフプレミスとの通信方法、システム、プログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2019-536332(P2019-536332A)
(43)【公表日】2019年12月12日
(54)【発明の名称】オンプレミスとオフプレミスとの通信方法、システム、プログラム
(51)【国際特許分類】
   H04L 12/721 20130101AFI20191115BHJP
   G06F 13/00 20060101ALI20191115BHJP
   G06F 16/13 20190101ALI20191115BHJP
【FI】
   H04L12/721
   G06F13/00 520C
   G06F16/13 200
【審査請求】未請求
【予備審査請求】未請求
【全頁数】34
(21)【出願番号】特願2019-521806(P2019-521806)
(86)(22)【出願日】2017年10月31日
(85)【翻訳文提出日】2019年5月29日
(86)【国際出願番号】IB2017056750
(87)【国際公開番号】WO2018083588
(87)【国際公開日】20180511
(31)【優先権主張番号】15/340,034
(32)【優先日】2016年11月1日
(33)【優先権主張国】US
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】リーブ、ジョン
(72)【発明者】
【氏名】ゴルビー−カーク、マシュー
(72)【発明者】
【氏名】ドルビー、トレバー、クリフォード
【テーマコード(参考)】
5B084
5K030
【Fターム(参考)】
5B084AA01
5B084AA11
5B084AB18
5B084AB31
5B084BB16
5B084CD02
5B084CD22
5B084CD26
5B084DB01
5B084DC02
5B084DC03
5B084DC04
5B084DC06
5K030GA15
5K030KA05
5K030LB05
(57)【要約】
【課題】オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するための概念を提供する。
【解決手段】第1のサーバ(オフプレミス・サーバまたはオンプレミス・サーバなど)のアプリケーションからのファイル・システム・イベント要求が受信され、受信したファイル・システム・イベント要求に基づいて、要求されたファイル・システムが判断される。次に、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定することができる。ファイル・システム・イベント要求は、次に、特定されたファイル・システム・パス・データに基づいて第2のサーバ(オンプレミス・サーバまたはオフプレミス・サーバなど)に伝達される。
【選択図】図1
【特許請求の範囲】
【請求項1】
コンピュータ・システムであって、
メモリと、
前記メモリと通信するプロセッサとを含み、
前記コンピュータ・システムは方法を実行するように構成され、前記方法は、
1つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することと、
第1のサーバのアプリケーションからファイル・システム・イベント要求を受信することと、
受信した前記ファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断することと、
要求された前記ファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定することと、
特定された前記ファイル・システム・パス・データに基づいて、前記ファイル・システム・イベント要求を第2のサーバに伝達することを含む、コンピュータ・システム。
【請求項2】
前記第1のサーバがオフプレミス・サーバを含み前記第2のサーバがオンプレミス・サーバを含むか、または前記第1のサーバがオンプレミス・サーバを含み前記第2のサーバがオフプレミス・サーバを含む、請求項1に記載のコンピュータ・システム。
【請求項3】
前記第1のサーバがオフプレミス・クラウド・サーバを含み、前記アプリケーションが前記オフプレミス・クラウド・サーバのサービスとして提供される、請求項1に記載のコンピュータ・システム。
【請求項4】
前記方法は、オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとからなるグループから選択された少なくとも1つから、ファイル・システム・パス・データを受信することをさらに含み、登録モジュールが、受信したファイル・システム・パス・データを前記ファイル・システム・パス・データ・ストアに記憶するようになされた、請求項1に記載のコンピュータ・システム。
【請求項5】
前記登録モジュールは、アプリケーションと、サーバと、ファイル・システムとからなるグループから選択された少なくとも1つがアクセス不能になることに応答して、前記ファイル・システム・パス・データ・ストアからファイル・システム・パス・データを除去するようになされた、請求項4に記載のコンピュータ・システム。
【請求項6】
前記ファイル・システム・パス・データが、ファイル・システム名と、サーバ識別情報と、サーバ・アドレスと、ファイル・システムのバージョン識別子と、サポートされているファイル・システム・イベントと、許可されているファイル・システム・イベントと、許可情報と、認証情報と、チェックサム情報とからなるグループから選択された少なくとも1つを含む、請求項4に記載のコンピュータ・システム。
【請求項7】
前記ファイル・システム・イベント要求が、ファイル・システム名と、ファイル・システム・イベントと、データ・ペイロードと、エントリ・ポイント・データとからなるグループから選択された少なくとも1つを含む、請求項1に記載のコンピュータ・システム。
【請求項8】
前記第1のサーバがオフプレミス・サーバを含み、前記第2のサーバがオンプレミス・サーバを含み、前記ファイル・システム・イベント要求の前記受信は、前記オフプレミス・サーバから前記ファイル・システム・イベント要求を受信し、前記ファイル・システム・イベント要求の前記伝達は、特定された前記ファイル・システム・パス・データに基づいて前記ファイル・システム・イベント要求を前記オンプレミス・サーバに伝達する、請求項1に記載のコンピュータ・システム。
【請求項9】
前記第1のサーバがオンプレミス・サーバを含み、前記第2のサーバがオフプレミス・サーバを含み、前記ファイル・システム・イベント要求の前記受信は、前記オンプレミス・サーバから前記ファイル・システム・イベント要求を受信し、前記ファイル・システム・イベント要求の前記伝達は、特定された前記ファイル・システム・パス・データに基づいて前記ファイル・システム・イベント要求を前記オフプレミス・サーバに伝達する、請求項1に記載のコンピュータ・システム。
【請求項10】
伝達された前記ファイル・システム・イベント要求に対する応答を受信することと、受信した前記応答を前記アプリケーションに伝達することをさらに含む、請求項1に記載のコンピュータ・システム。
【請求項11】
オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ実装方法であって、
1つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することと、
第1のサーバのアプリケーションからファイル・システム・イベント要求を受信することと、
受信した前記ファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断することと、
要求された前記ファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定することと、
特定された前記ファイル・システム・パス・データに基づいて、前記ファイル・システム・イベント要求を第2のサーバに伝達することを含む、コンピュータ実装方法。
【請求項12】
前記第1のサーバがオフプレミス・サーバを含み前記第2のサーバがオンプレミス・サーバを含むか、または前記第1のサーバがオンプレミス・サーバを含み前記第2のサーバがオフプレミス・サーバを含む、請求項11に記載の方法。
【請求項13】
オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとからなるグループから選択された少なくとも1つから、エンドポイント・データを受信することと、
受信したファイル・システム・パス・データを前記ファイル・システム・パス・データ・ストアに記憶することをさらに含む、請求項11に記載の方法。
【請求項14】
アプリケーションと、サーバと、ファイル・システムとからなるグループから選択された少なくとも1つがアクセス不能になることに応答して、前記ファイル・システム・パス・データ・ストアからファイル・システム・パス・データを除去することをさらに含む、請求項13に記載の方法。
【請求項15】
前記第1のサーバがオフプレミス・サーバを含み、前記第2のサーバがオンプレミス・サーバを含み、前記ファイル・システム・イベント要求の前記受信は、前記オフプレミス・サーバから前記ファイル・システム・イベント要求を受信することを含み、前記ファイル・システム・イベント要求の前記伝達は、特定された前記ファイル・システム・パス・データに基づいて前記ファイル・システム・イベント要求を前記オンプレミス・サーバに伝達することを含む、請求項11に記載の方法。
【請求項16】
前記第1のサーバがオンプレミス・サーバを含み、前記第2のサーバがオフプレミス・サーバを含み、前記ファイル・システム・イベント要求の前記受信は、前記オンプレミス・サーバから前記ファイル・システム・イベント要求を受信することを含み、前記ファイル・システム・イベント要求の前記伝達は、特定された前記ファイル・システム・パス・データに基づいて前記ファイル・システム・イベント要求を前記オフプレミス・サーバに伝達することを含む、請求項11に記載の方法。
【請求項17】
伝達された前記ファイル・システム・イベント要求に対する応答を受信することと、受信した前記応答を前記アプリケーションに伝達することをさらに含む、請求項11に記載の方法。
【請求項18】
オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するためのコンピュータ・プログラムであって、
プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、前記プログラム命令は、処理ユニットによって実行可能であり、前記処理ユニットに、
1つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することと、
第1のサーバのアプリケーションからファイル・システム・イベント要求を受信することと、
受信した前記ファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断することと、
要求された前記ファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定することと、
特定された前記ファイル・システム・パス・データに基づいて、前記ファイル・システム・イベント要求を第2のサーバに伝達することと、を含む方法を実行させる、コンピュータ・プログラム。
【請求項19】
前記第1のサーバがオフプレミス・サーバを含み前記第2のサーバがオンプレミス・サーバを含むか、または前記第1のサーバがオンプレミス・サーバを含み前記第2のサーバがオフプレミス・サーバを含む、請求項18に記載のコンピュータ・プログラム。
【請求項20】
前記第1のサーバがオフプレミス・クラウド・サーバを含み、前記アプリケーションが前記オフプレミス・クラウド・サーバのサービスとして提供される、請求項19に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の態様は、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の通信に関し、さらに、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間で通信する方法を実装するためのコンピュータ・プログラム製品および接続コンポーネント(例えばスイッチ・コンポーネントなど)に関する。
【背景技術】
【0002】
ソフトウェア・アズ・ア・サービス(Software as a Service(SaaS))環境においては、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の通信が行われる。SaaSは、加入契約に基づいてソフトウェアがライセンス供与され、(例えばインターネットを介してアクセス可能な共用コンピューティング資源またはクラウド・コンピューティング資源など)オフプレミス・プラットフォームによって一元的に運営される、ソフトウェア・ライセンス供与および配布モデルである。SaaSは、典型的には、(例えばウェブ・ブラウザを介したシン・クライアントを使用して)オンプレミス・プラットフォームのユーザによってアクセスされる。
【0003】
オンプレミス・プラットフォームは、データが内部、例えば内部プライベート・ネットワーク内で記憶され、処理されるため、良好なセキュリティ・レベルを実現するように十分に確立され、考慮されている。
【0004】
オフプレミス・プラットフォーム(クラウド・コンピューティング資源など)は、比較的最近の、発展過程にある概念である。一般に、オフプレミス資源またはプラットフォームと言う場合、インターネットを介してアクセス可能な、ネットワーク、ファイル・システム・サーバ、ストレージ、アプリケーション、機能などの構成可能なオフプレミス(例えば遠隔場所にある)コンピューティング資源の共用プールへの、インターネットを介したユビキタスで便利なオンデマンド・アクセスを可能にする概念を指すものと捉えられる。それに対して、オンプレミス資源またはプラットフォームと言う場合、ローカルに、または仮想境界の内部/背後(多くの場合ファイアウォールの背後)にあるネットワーク、サーバ、ストレージ・デバイス、アプリケーションなどのローカルまたはプライベート・コンピューティング資源の概念を指すものと捉えられる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
SaaS環境におけるオンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の通信の理由から、SaaS環境におけるデータ・ファイル・システムは、ファイアウォールの背後にあるデータセンター内のレコードのシステムに組み込まれる必要があることが多い。典型的には、これは、仮想プライベート・ネットワーク(Virtual Private Network:VPN)技術を使用して行われる。この設定は、複雑であり、(VPN技術は、ファイル・システムにおける単なるディレクトリに比べ終端システムへより多くアクセスさせる可能性を有するため)セキュリティ上の問題がある。また、クラウド・コンピューティングの性質は、ファイル・システムへのアクセスを必要とするシステム(およびファイル・システムを提供するシステム)がきわめて動的であり、システムが繰り返し、または連続的に、あるいはその両方により破棄または再作成されることである。
【課題を解決するための手段】
【0006】
メモリと、メモリと通信するプロセッサとを含むコンピュータ・システムを設けることにより、従来技術の欠点が克服されるとともに、追加の利点が与えられる。このコンピュータ・システムは、方法を実行するように構成され、この方法は1つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することを含む。この方法は、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信することをさらに含む。この方法は、受信したファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断する。この方法は、さらに、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定する。また、この方法は、特定されたファイル・システム・パス・データに基づいて、オンプレミス・サーバまたはオフプレミス・サーバにファイル・システム・イベント要求を伝達する。
【0007】
また、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ実装方法が提供される。この方法は、1つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することを含む。この方法は、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信することをさらに含む。この方法は、受信したファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断する。この方法は、さらに、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定する。また、この方法は、特定されたファイル・システム・パス・データに基づいてオンプレミス・サーバまたはオフプレミス・サーバにファイル・システム・イベント要求を伝達する。
【0008】
さらに、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、プログラム命令は処理ユニットによって実行可能であって、処理ユニットに、1つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することを含む方法を実行させる。この方法は、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信することをさらに含む。この方法は、受信したファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断する。この方法は、さらに、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定する。また、この方法は、特定されたファイル・システム・パス・データに基づいて、オンプレミス・サーバまたはオフプレミス・サーバにファイル・システム・イベント要求を伝達する。
【0009】
本明細書に記載の態様は、本明細書の最後にある特許請求の範囲において具体的に示され、例として明確に特許請求される。本発明の上記およびその他の目的、特徴および利点は、以下の詳細な説明を添付図面とともに読めば明らかになる。
【図面の簡単な説明】
【0010】
図1】本明細書に記載の一実施形態の例示の実装形態を示す略ブロック図である。
図2】本明細書に記載の態様による、スイッチング・コンポーネントのコンポーネントを示す図1の変形バージョンを示す図である。
図3】本明細書に記載の態様による、第1のサーバのクラウド・ベースのアプリケーションが第1のファイル・システムのファイル・イベントを要求する、図1の実施形態の一例を示す図である。
図4】本明細書に記載の一実施形態による、ファイル・システム・パス・データ登録方法の流れ図である。
図5】本明細書に記載の一実施形態による、オフプレミス資源とオンプレミス資源との間の通信を管理する方法の流れ図である。
図6】本明細書に記載の一実施形態による、ファイル・システム・パス・データ登録解除方法の流れ図である。
図7】本明細書に記載の態様によるクラウド・システム・ノードを示す図である。
図8】本明細書に記載の一実施形態によるクラウド・コンピューティング環境を示す図である。
図9】本明細書に記載の一実施形態によるクラウド抽象モード層を示す図である。
【発明を実施するための形態】
【0011】
本明細書に記載の態様は、VPNまたはマウントされたネットワーク・ファイル・システム(Network File System:NFS)を必要とせずに、ファイル・システムを露出させることができ、動的アクセスを可能にすることができる、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を管理するためのコンポーネントを提供する。また、プロセッサ上で実行されると提案の通信概念を実装するためのコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品と、このコンピュータ・プログラム・コードを実行するようになされたネットワーク・コンポーネント(接続コンポーネントなど)も提供される。
【0012】
一実施形態によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するようになされた接続コンポーネントが提供される。この接続コンポーネントは、1つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データを記憶するようになされたファイル・システム・パス・データ・ストアと、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信するようになされた第1の通信コンポーネントと、受信したファイル・システム・イベント要求に基づいて要求されたファイル・システムを判断し、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定するようになされたルーティング・コンポーネントと、特定されたファイル・システム・パス・データに基づいてオンプレミス・サーバまたはオフプレミス・サーバにファイル・システム・イベント要求を伝達するようになされた第2の通信コンポーネントとを含み得る。
【0013】
オフプレミス・サイト/資源とオンプレミス・サイト/資源との間でファイル・システム・イベント要求を伝達する概念が提案される。これによって、例えば、クラウド・システムで稼働するエージェントが、オンプレミス・ファイル・システムのディレクトリのように機能することが可能になる。その場合、このファイル・システムを使用するクラウド・ベースのアプリケーションが、それ自体のローカル・ファイル・システム上の任意の他のディレクトリに対して行う場合と同様に、このディレクトリヘの書き込み/読み取りを行うことができる。
【0014】
このような提案は、文書またはファイルの共用に関するというよりは、ログ・ファイル(例えばファイル・システム・イベント・ログ)または、ファイルに追加されるときに処理される一時データに関するものであると見なすことができる。したがって、これらの場合におけるファイル・データは、クラウドに記憶される必要はなく、クラウド・ベースのアプリケーションがファイルからデータを処理するかまたはファイルに活動をログすることができるように単にアクセスされるだけでよい。このオンプレミス・ファイル・システムに直接書き込まれる利点は、ユーザがクラウド・ベースのシステムに接続するために現在のファイル処理アプリケーションを変更する必要がないことであり得る。その代わりに、ユーザは標準ファイル・システムへのアクセスを続けることが可能となり得る。これは、オンプレミスで稼働するアプリケーションとオフプレミスで稼働するアプリケーションの両方に当てはまる(例えばクラウドにおいて、アプリケーションはそのアプリケーションが稼働しているコンテナのローカル・ファイル・システムに書き込むことができる)。
【0015】
(ファイルへのすべての書き込みが完了した後)ファイルをシステム内で転送する従来の製品とは異なり、提案の実施形態は、ファイルへの連続追加を可能にすることができ、その際、例えばすべての書き込みの後に、追加された部分が、終端システムに送信されてもよい。したがって、実施形態は、ログ/トレース・ファイル、またはリアルタイムで処理されている間に一度に書き込まれる単一レコードを有するファイルに適し得る。
【0016】
提案の概念は、ファイル・システムが、オフプレミス(例えばクラウド)環境またはオンプレミス環境で稼働するように構成することができる1組のファイル・システムに分割されることを可能にする。その場合、ファイル・システムが互いを呼び出し、最適な方式でデータを交換することを可能にすることができる。例えば、レコードのオンプレミス・システムへのアクセスを必要とするファイル・システムがオンプレミス・サーバで稼働し、演算集約的処理の負荷を軽減することで恩恵が得られるファイル・システムがオフプレミス・インフラストラクチャで稼働するように、ファイル・システムを分離することができる。したがって、オフプレミス・サーバからファイル・システム・イベント要求を受信し、次に、特定されたファイル・システム・パス・データに基づいてその要求をオンプレミス・サーバに伝達することによって、オフプレミス・システムとオンプレミス・システムとの間の通信を管理することができるスイッチ・コンポーネントなどの接続コンポーネントが提案される。このようなファイル・システム・パス・データは、オンプレミス・ファイル・システムに関連付けられたファイル・システム・パス・データを記憶するようになされたデータ・ストアを使用して、接続コンポーネントによって特定され得る。
【0017】
提案の概念は、オフプレミス・システム(例えばSaaS環境)とオンプレミス・システムとの間でのファイル・システム・パスのマッピングを回避することができる。その代わりに、実施形態は、各環境で利用可能なファイル・システム・データ・パス間でのデータの交換のみを行うように構成され得る。これにより、インターネットを介したネットワーク・トラフィックの量を削減するというパフォーマンス上の恩恵が得られる。また、オフプレミス部分に対する信用証明情報の露出の必要も回避することができる。
【0018】
一部の実施形態では、接続コンポーネントの第1の通信コンポーネントが、ファイル・システム・イベント要求を受信するためのセキュア・トンネルを確立するようになされ得る。同様に、第2の通信コンポーネントが、ファイル・システム・イベント要求を伝達するセキュア・トンネルを確立するようになされ得る。例えば、相互認証されたTLSトンネル接続が、2つの環境間でデータを転送するようにしてもよい。したがって、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間のセキュア通信が実現され得る。
【0019】
一実施形態では、接続コンポーネントは、オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとのうちの少なくとも1つからファイル・システム・パス・データを受信するようになされた登録モジュールをさらに含み得る。登録モジュールは、次に、受信したファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶するようになされ得る。したがって、実施形態は、接続コンポーネントがファイル・システムの要求をどのように処理するか(例えばどこに伝達するか)を特定することができるように、当該ファイル・システムへのアクセスまたは当該ファイル・システムの利用に関する情報を接続コンポーネントに登録するという概念を採用することができる。このような登録概念を使用することによって、利用可能なファイル・システムまたはサーバにおける変化を反映させるようにファイル・システム・パス・データのデータ・ストアを動的に更新またはメンテナンスすることができる。
【0020】
例えば、登録モジュールは、アプリケーションと、サーバと、ファイル・システムとのうちの少なくとも1つがアクセス不能になる(例えば接続切断、終了または電源遮断される)ことに基づいて、または応答して、データ・ストアからファイル・システム・パス・データを除去するようになされてもよい。したがって、提案の概念は、アクセス可能であり得るデータ・ファイル・システムと、どのようにしてアクセス可能であるか(例えばファイル・システム名、サーバの場所/アドレス、サポートされているファイル・システム・イベントなど)を表すファイル・システム・パス情報の動的に更新されるストアを提供することができる。したがって、実施形態は、実装上の詳細に適応することができ、利用可能な資源(例えばアプリケーション、またはサービス、またはファイル・システムあるいはその組合せ)における変化に応じることができる、接続コンポーネントを提供することができ、それによって高度な柔軟性と適応性をもたらし得る。
【0021】
一例として、ファイル・システム・パス・データは、ファイル・システム名と、サーバ識別情報と、サーバ・アドレスと、ファイル・システムのバージョン識別子と、サポートされているファイル・システム・イベントと、許可されているファイル・システム・イベントと、許可情報と、認証情報と、チェックサム情報とのうちの少なくとも1つを含み得る。ファイル・システム・パス・データは、例えば、ファイル・システムの識別に関する情報を含み得る。このような識別情報は、次に、ファイル・システム要求を、必要なファイル・システムを稼働させているシステムと突き合わせるために使用することができる。これに代えて、またはこれに加えて、ファイル・システム・パス・データは、より複雑な突き合わせを可能にするために、バージョンまたはチェックサムに関する情報を含んでもよい。例えば、要求側は、少なくともレベル3以上の「filesystem1」という名前のファイル・システムを呼び出す/要求する、条件付き呼び出し/要求を提供することもできる。同様に、要求側は、関連付けられた正しいコードを有するファイル・システムを呼び出していることを保証することができるように、22983098923というチェックサムを有する「filesystem2」という名前のファイル・システムを稼働させるように求めることもできる。
【0022】
これに代えて、またはこれに加えて、ファイル・システム・パス・データは、ファイル・システム・パスの相対的な場所に関する情報を含んでよい。
【0023】
ファイル・システム・パス・データは、ファイル・システムが稼働しているシステムを特定するための情報を含み得る。これは、どのシステムが特定のファイル・システムを提供しているかを管理者にわかるように、単に運用情報として使用されてもよい。しかし、特定のシステムのみを登録することができる追加のセキュリティ・レベルにも使用することができる。したがって、ファイル・システム・パス・データは、(i)ファイル・システム、または(ii)ファイル・システムのデータ・パスの場所に関する情報を含み得る。
【0024】
一実施形態では、オフプレミス・サーバはクラウド・サーバを含むことができ、アプリケーションはクラウド・サーバのクラウド・アプリケーションを含むことができる。したがって、実施形態は、例えばインターネットを介したクラウド・ベースのサービスの提供のためにSaaS環境において採用することができる。
【0025】
一例として、ファイル・システム・イベント要求は、ファイル・システム名と、ファイル・システム・イベントと、データ・ペイロードと、エントリ・ポイント・データとのうちの少なくとも1つを含み得る。したがって、ファイル・システム・イベント要求は、ファイル・システム、またはそのファイル・システムによって達成されるイベント(例えば読み取り、書き込み、削除、追加、パージ、編集など)、またはそのファイル・システムによって処理されるデータ、またはその要求が行われる対象となるファイル・システムにおけるエントリ・ポイント、あるいはその組合せに関する情報を含み得る。したがって、ファイル・システム・イベント要求は、識別部とペイロード部とを含み得る。ファイル・システム・イベント要求にエントリ・ポイント・データ(例えばパス識別情報など)を含めることにより、要求を行う対象のファイル・システムにおけるエントリ・ポイントの指定を可能にすることができる。例えば、「filesystem1」というファイル・システムが、「path1」および「path2」という2つのエントリ・ポイントを有し得る。その場合、ファイル・システム・イベント要求は、例えば「file system1/path1」のように、ファイル・システム名とファイル・システム内のエントリ・ポイントとを含んでよい。エントリ・ポイント情報を採用しない場合、デフォルトのエントリ・ポイント(例えばホーム/ルート・ディレクトリまたはパス)が使用されてもよい。
【0026】
実施形態では、第1の通信コンポーネントがオフプレミス・サーバからファイル・システム・イベント要求を受信するようになされてよく、第2の通信コンポーネントが特定されたファイル・システム・パス・データに基づいてそのファイル・システム・イベント要求をオンプレミス・サーバに伝達するようになされてよい。このようにして、接続コンポーネントによって、オフプレミス資源から要求を受信し、適切なオンプレミス資源にルーティングすることができる。
【0027】
これに代えて、またはこれに加えて、第1の通信コンポーネントがオンプレミス・サーバからファイル・システム・イベント要求を受信するようになされてよく、第2の通信コンポーネントが特定されたファイル・システム・パス・データに基づいてそのファイル・システム・イベント要求をオフプレミス・サーバに伝達するようになされてよい。この構成によって、オンプレミス資源は、要求が適切なオフプレミス資源にルーティングされるように接続コンポーネントを介してオフプレミス資源を求める要求を送信することができる。
【0028】
また、一部の実施形態では、第2の通信コンポーネントは、伝達されたファイル・システム・イベント要求に対する応答を受信するようになされてよく、第1の通信コンポーネントは、受信した応答をアプリケーションに伝達するようになされてよい。このようにして、ファイル・システム・イベント要求に対する応答を、そのファイル・システム・イベント要求を発信したアプリケーションに返すことができる。したがって、提案の接続コンポーネントは、余分の通信トラフィックを回避しながら要求と応答とが適切に配信されるように、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理を実現することができる。
【0029】
実施形態は、スイッチ・モジュールにおいて採用または実装されてもよい。例えば、提案の一実施形態による接続コンポーネントを含むスイッチ・モジュールが提供されてよい。また、実施形態はサーバ・デバイスで実装されることができる。そのようなサーバ・デバイスは、インターネットを介してアクセス可能なクラウド・ベースのサーバ資源であってもよい。
【0030】
別の態様によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ実装方法が提供される。この方法は、ファイル・システム・パス・データ・ストアに、1つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データを記憶することと、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信することと、受信したファイル・システム・イベント要求に基づいて要求されたファイル・システムを判断することと、要求されたファイル・システムに関連付けられた記憶されているファイル・システム・パス・データを特定することと、特定されたファイル・システム・パス・データに基づいてオンプレミス・サーバまたはオフプレミス・サーバにそのファイル・システム・イベント要求を伝達することとを含み得る。
【0031】
ファイル・システム・イベント要求の受信は、そのファイル・システム・イベント要求を受信するためのセキュア・トンネルを確立することを含んでよく、ファイル・システム・イベント要求の伝達は、そのファイル・システム・イベント要求を伝達するためのセキュア・トンネルを確立することを含んでよい。
【0032】
実施形態は、オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとのうちの少なくとも1つからファイル・システム・パス・データを受信することと、受信したファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することとを含み得る。
【0033】
また、一部の実施形態は、アプリケーションと、サーバと、ファイル・システムとのうちの少なくとも1つがアクセス不能になることに応答して、ファイル・システム・パス・データ・ストアからファイル・システム・パス・データを除去することをさらに含み得る。
【0034】
ファイル・システム・イベント要求の受信は、例えば、オフプレミス・サーバからファイル・システム・イベント要求を受信することを含み得る。また、ファイル・システム・イベント要求の伝達は、特定されたファイル・システム・パス・データに基づいてファイル・システム・イベント要求をオンプレミス・サーバに伝達することを含み得る。
【0035】
一部の実施形態では、ファイル・システム・イベント要求の受信は、オンプレミス・サーバからファイル・システム・イベント要求を受信することを含み得る。また、ファイル・システム・イベント要求の伝達は、特定されたファイル・システム・パス・データに基づいてファイル・システム・イベント要求をオフプレミス・サーバに伝達することを含み得る。
【0036】
実施形態は、伝達されたファイル・システム・イベント要求に対する応答を受信することと、受信した応答をアプリケーションに伝達することとをさらに含み得る。
【0037】
別の実施形態によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するためのコンピュータ・プログラム製品が提供され、コンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、プログラム命令は、データ処理システム/コンピュータ・システムの少なくとも1つのプロセッサ上で実行されると、1つまたは複数の提案の実施形態による方法を処理ユニット/プロセッサに実行させるように、処理ユニット/プロセッサによって実行可能である。
【0038】
さらに別の態様によると、少なくとも1つのプロセッサと、1つまたは複数の実施形態によるコンピュータ・プログラム製品とを含む処理システム/コンピュータ・システムであって、少なくとも1つのプロセッサがコンピュータ・プログラム製品のコンピュータ・プログラム・コードを実行するようになされた、処理システム/コンピュータ・システムが提供される。
【0039】
処理システムは、オンプレミス・サーバとオフプレミス・サーバとの間のスイッチング・コンポーネントとして機能するようになされてよい。
【0040】
処理システムは、クラウド・ベースのシステムまたはサーバなどのオフプレミス・プラットフォームの一部を実装するようになされてよい。
【0041】
したがって、ファイル・システム・イベント要求を評価し、ファイル・システムに関連付けられた記憶されているデータに基づいて、要求をどこに伝達するかを判断するシステムを提案することができる。このような手法をとることによって、VPNまたはNFS(または同様のマウントされたファイル・システム)を必要とせずに、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の動的ファイル・システム・アクセスを可能にすることができる。例えば、クラウド・ベースのエージェントがTCP/IPを使用して(例えばクラウドで稼働している)スイッチ・コンポーネント/アプリケーションに接続することができるようにし、受信する各ファイル・イベントについてファイル・システムのサーバにファイル・システム・イベントを送信することができるようにすることができる。オンプレミス・エージェントは、TCP/IPを介してこれらのファイル・イベントを受信し、次に、それらをオンプレミス・ファイル・システム上で模倣することになる。オンプレミス・エージェントは、クラウド・ベースのエージェントがいかなる変更も知ることなく、オンプレミスマシン間で置き換えまたは移動させることができる。その逆を可能にすることもでき、オンプレミス・エージェントが変更を知ることまたは変更することを必要とせずに、クラウド・ベースのエージェントを異なるクラウド・コンテナに移動することができる。
【0042】
図面は概略図に過ぎず、一律の縮尺に従って描かれたものではないことを理解されたい。また、同じかまたは類似の部分を示すために全図面を通じて同じ参照番号が使用されていることも理解されたい。
【0043】
実施形態が方法を構成する本願の文脈では、そのような方法がコンピュータによる実行のためのプロセスであること、すなわち、コンピュータ実装可能方法であることを理解されたい。したがって方法のステップなどの様々な態様は、コンピュータ・プログラムの様々な部分、例えば1つまたは複数のアルゴリズムの様々な部分を反映する。
【0044】
また、本開示の文脈では、(処理/コンピュータ)システムとは、本明細書に記載の方法またはプロセスの1つまたは複数の実施形態を実行するようになされた単一のデバイスまたは分散デバイスの集合とすることができる。例えば、システムは、本明細書に記載の方法またはプロセスの少なくとも1つの実施形態を協働して実行するようにローカル・エリア・ネットワーク、インターネットなどのネットワークを介して接続された、パーソナル・コンピュータ(PC)、またはサーバ、またはPCもしくはサーバあるいはその両方の集合であってよい。
【0045】
「ファイル・システム」とは、例えば、ディレクトリおよびサブディレクトリの階層構造または階層的順序を提供し得るファイルまたはデータの記憶構造体であるものと理解することができる。したがって、(例えば構造体内の場所にあるデータにアクセスする目的で)そのデータ記憶構造体内の場所を表すためにパスを使用することができる。そのような構造体内では、その構造体内に記憶されているファイルまたはデータのアクセス、修正、変更、除去、改変などのためにアクションまたはイベントを行うことができる。そのようなイベントには、読み取り、書き込み、削除、修正、パージ、追加などが含まれ得る。したがって、(オンプレミス資源のユーザへのソフトウェアのクラウド・ベースの提供において、またはSaaS環境の一部として行われることがあるような)オフプレミス資源とオンプレミス資源との統合のために採用される場合、ファイル・システムのファイルまたはデータのうちの1つまたは複数に外部システムがアクセスすることができ、したがってオフプレミス資源とオンプレミス資源との間の通信を必要とすることができる。
【0046】
データ処理ファイル・システムをオフプレミス環境またはオンプレミス環境で実装可能なファイル・システムに分割または分離することができ、ファイル・システムが接続コンポーネント(例えばスイッチング・モジュール)を介して互いを呼び出すことができ、データを交換することができる、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を確立または管理あるいはその両方を行うための概念が提案される。したがって、ファイル・システム要求を受信し、そのような要求を適切な宛先(例えばファイル・システム・パス)に転送するように接続コンポーネントが実装されてよく、適切な宛先はファイル・システムに関する情報を含むデータ・ストアに基づいて判断される。
【0047】
したがって、実装形態は、ネットワーク・トラフィックの削減、またはオフプレミス部分への信用証明情報の露出の必要の回避、あるいはその両方を行うことができる。
【0048】
例えば、提案の概念は、オンプレミス・ファイル・システムによってオフプレミス・ファイル・システムが呼び出されること、またはその逆、あるいはその両方を可能にすることができる。したがって、オフプレミス・システム上で実装されることにより恩恵を得ることができるファイル・システムはオフプレミス・サーバで稼働させてよく、一方、オンプレミス・システム上で実装されることにより恩恵を得ることができるファイル・システム(例えばオンプレミス・システムの記憶能力またはセキュリティを期待するファイル・システム)は、オンプレミス・サーバで稼働させてよい。
【0049】
したがって、例示の実施形態は、オフプレミス資源とオンプレミス資源との間の通信のための概念を提供することができる。したがって、提案の実施形態によって動的分散処理およびデータ記憶最適化を実現することができる。
【0050】
提案の概念の価値および有用性を向上させることができる、従来のSaaS実装形態に加えられる変更および追加のステップも提案される。
【0051】
例示の実施形態は、多くの異なる種類の分散処理環境で利用可能である。例示の実施形態の要素および機能を説明するための文脈を与えるために、以下に、例示の実施形態の態様を実装することができる例示の環境として図面を示す。これらの図面は例示に過ぎず、本発明の態様または実施形態を実装可能な環境に関していかなる限定も主張または含意することを意図していないものと理解されたい。本発明の思想および範囲から逸脱することなく、図示されている環境に多くの変更を加えることができる。
【0052】
また、当業者は、図中のハードウェアまたはアーキテクチャあるいはその両方が実装形態に応じて異なり得ることがわかるであろう。さらに、例示の実施形態のプロセスは、提案の概念の範囲から逸脱することなく、図示されているもの以外のマルチプロセッサ/サーバ・システムにも適用可能である。
【0053】
また、システムは、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話またはその他の通信デバイス、携帯情報端末(PDA)などを含む、いくつかの異なる処理デバイスのうちのいずれかの形態をとることができる。一部の例示の例では、オフプレミス・デバイスおよびオンプレミス・デバイスが、例えばオペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を記憶するための不揮発性メモリを提供するフラッシュ・メモリを備えて構成された可搬コンピューティング・デバイスを含み得る。したがって、システムは、アーキテクチャ上の限定なしに、基本的に任意の既知の、または今後開発される処理システムとすることができる。
【0054】
提案の概念は、ネットワーク・トラフィックを削減することによって、または動作をより効率的にすることによって、クラウド・ベースのサービス・プロビジョニング・システムを改良することができる。実施形態は、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間に接続を確立するように、ファイル・システム・イベント要求の解析と、オフプレミスまたはオンプレミスの適切な宛先への転送とを可能にすることができる。このような提案は、クラウド・ベースのソフトウェア配信システムの処理能力または効率を拡張または向上させることができる。
【0055】
次に、図1および図2を参照して、一実施形態の例示の実装形態について説明する。ここでは、クラウド・ベースのソフトウェア配信サービスが、インターネット通信回線74を介してオンプレミス資源73にアクセス可能なクラウド72におけるオフプレミス資源70を含む。
【0056】
オフプレミス資源70は、第1のオフプレミス・サーバ75と第2のオフプレミス・サーバ76とを含む。第1のオフプレミス・サーバ75はクラウド・ベースのサーバ75であり、アプリケーション77と第1のサーバ・モジュール/エージェント78(符号「エージェント_C」で示す)とを含む。第2のオフプレミス・サーバ76はクラウド・ベースのサーバ76であり、第1のオフプレミス・サーバ75とオンプレミス資源73との間の通信を管理するようになされたスイッチング・コンポーネント(すなわち接続コンポーネント)80を含む。
【0057】
オンプレミス資源73は、ローカル・モジュール/エージェント90(「エージェント_P」)と、第1のファイル・システム110(「ファイル・システムA」)と、第2のファイル・システム120(「ファイル・システムB」)と、第3のファイル・システム130(「ファイル・システムC」)と、第1のファイル・システム110および第2のファイル・システム130を実装するデータベース・サーバ100とを含む。
【0058】
次に図2を参照すると、スイッチング・コンポーネント80がより詳細に示されており、スイッチング・コンポーネント80は、データ・ストア140と、ルーティング・コンポーネント150と、第1の通信コンポーネント160と、第2の通信コンポーネント170とを含む。
【0059】
データ・ストア140は、オンプレミス資源30によって実装されるファイル・システムに関連付けられたファイル・システム・パス・データを記憶するようになされたファイル・システム・パス・データ・ストアを含む。一例として、ファイル・システム・パス・データは、例えば、ファイル・システム名、またはサーバ識別情報、またはサーバ・アドレス、またはファイル・システムのバージョン識別子、またはサポートされているファイル・システム・イベント、または許可されているファイル・システム・イベント、または許可情報、または認証情報、またはチェックサム情報、あるいはその組合せに関する情報を含み得る。ファイル・システム・パス・データは、オンプレミス資源73によって利用可能とされる場合に、サーバまたはアプリケーション(例えばファイル・システム・アプリケーション)によってデータ・ストア140に提供されてよい。このために、スイッチング・コンポーネント80は、オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとのうちの少なくとも1つから、ファイル・システム・パス・データを受信するようになされた登録モジュール175も含む。登録モジュール175は、受信したファイル・システム・パス・データをファイル・システム・パス・データ・ストア140に記憶するようになされてよく、したがって、ファイル・システム要求をどのように処理するか(例えばどこに伝達するか)を特定することができるように、スイッチング・コンポーネント80に情報を登録するという概念を可能にすることができる。また、登録モジュール175は、アプリケーション、またはサーバ、またはファイル・システム、あるいはその組合せがアクセス不能になる(例えば接続切断、終了または電源遮断される)のに応答して、ファイル・システム・パス・データ・ストア140から情報を除去するようになされてよい。したがって、登録サーバまたはアプリケーションが、提供するファイル・システムを特定するための情報を登録することができる。この登録された情報は、その後、ファイル・システムについてのイベント呼び出し/要求を、必要なファイル・システムを稼働させているシステムと突き合わせるために使用することができる。
【0060】
言い換えると、データ・ストア140は、利用可能なファイル・システムまたは資源の変化を反映するために、動的に更新またはメンテナンスされるようになされることができる。
【0061】
したがって、データ・ストア140は、アクセス可能とすることができるファイル・システムを表すエンドポイント情報の動的に更新されるストアを提供することができる。このようにして、スイッチング・コンポーネント80は、例えば、ファイル・システム・パス・データのデータ・ストア140への登録/データ・ストア140からの登録解除のために、実装上の詳細に適応し、利用可能資源(例えばアプリケーション、またはサービス、またはファイル・システムあるいはその組合せ)の変化に応じるようになされることができる。
【0062】
第1の通信コンポーネント160は、第1のオフプレミス・サーバ75のアプリケーション77から(第1のサーバ・モジュール/エージェント78を介して)ファイル・システム・イベント要求を受信するようになされる。このために、第1の通信コンポーネント160は、ファイル・システム・イベント要求を受信するためのセキュア・トンネルを確立するようになされる。
【0063】
ファイル・システム・イベント要求は、オンプレミス資源73によって提供されるファイル・システムをアクセスするかまたは呼び出す要求である。一例として、この実施形態のファイル・システム・イベント要求は識別部とペイロード部とを含み、識別部はファイル・システムの識別情報(例えばファイル・システム名など)に関する情報を含み、ペイロード部は、データ・ペイロード(ファイル場所情報(例えばディレクトリまたはパス)と、ファイル・システムによって達成されるファイル・システム・イベント(例えば読み取り、書き込み、削除、追加、パージ、編集など)と、例えばファイル・システムにおける/による使用のためのデータなど)とを含む。
【0064】
ファイル・システム・イベント要求を受信すると、第1の通信コンポーネント160は受信した要求をルーティング・コンポーネント150に渡す。ルーティング・コンポーネント150は、要求されたファイル・システムと、要求されたファイル・システムに関連付けられた記憶されているファイル・システム・パス・データとを判断するために、受信した要求をデータ・ストア140に記憶されているデータとともに処理するようになされる。一例として、ルーティング・コンポーネント150は、(例えば識別部に含まれるファイル・システム名に基づいて)要求されたファイル・システムを特定するために、受信したファイル・システム・イベント要求の識別部を解析するようになされる。また、ルーティング・コンポーネント150は次に、特定された要求ファイル・システムに基づいて、特定された要求ファイル・システムに関連付けられたファイル・システム・パス・データを特定するためにデータ・ストア140に照会するようになされる。
【0065】
ルーティング・コンポーネント150は、受信したファイル・システム・イベント要求を、特定された要求ファイル・システムに関連付けられた特定されたファイル・システム・パス・データとともに第2の通信コンポーネント170に渡す。第2の通信コンポーネント170は、特定された要求ファイル・システムに関連付けられた特定されたファイル・システム・パス・データに基づいて、受信したファイル・システム・イベント要求をオンプレミス資源73に伝達するようになされる。このために、第2の通信コンポーネント170は、ファイル・システム・イベント要求を伝達するためのセキュア・トンネルを確立するようになされる。例えば、第2の通信コンポーネント170は、スイッチング・コンポーネント80とローカル・モジュール/エージェント90との間に相互認証されたTLSトンネル接続を確立してもよい。
【0066】
したがって、上記の説明から、スイッチング・コンポーネント80は、それぞれオフプレミス・サーバ・モジュールおよびオンプレミス・サーバ・モジュールとのトンネルを確立するための第1および第2のセキュア・コンポーネントを有することができる。スイッチング・コンポーネント80は、ファイル・システムに関連付けられたファイル・システム・パス・データ(例えばファイル・システム名、サーバID、サーバ・アドレス、ファイル・システムのバージョン識別子、サポートされているファイル・システム・イベント、許可されているファイル・システム・イベント、許可情報、認証情報およびチェックサム情報)を、(スイッチング・コンポーネント80のデータ・ストアに)登録し、記憶するようになされた登録コンポーネントも有することができる。したがって、アプリケーションまたはサーバは、接続する場合、または構成が変わる場合、あるいはその両方の場合に、スイッチング・コンポーネント80に情報を登録することができる。このような情報は、アプリケーションまたはサーバがアクセス不能になる場合(例えば、接続切断、電源遮断またはその他の理由で利用不能な場合)に、登録解除もされ得る(例えばデータ・ストアから除去または削除される)。したがって、ファイル・システム・イベントを実行するために受信した呼び出し(例えば要求)は、スイッチング・コンポーネント80によって解析され、要求されたイベントをどこに伝達するかを示すファイル・システム・パス・データを特定するために、動的にメンテナンスされるデータ・ストアに照会するために使用することができる。
【0067】
したがって、スイッチング・コンポーネント80は、クラウド・アプリケーションがオンプレミス・サーバのファイル・システムを呼び出すことができるようにすることができ、呼び出しはスイッチング・コンポーネント80によって処理され、適切なオンプレミス・サーバに伝達される。逆に、スイッチング・コンポーネント80は、オンプレミス・ファイル・システムがオフプレミス・サーバのファイル・システムを呼び出すことができるようにしてよい。
【0068】
一例として、図3を参照しながら、(オンプレミス・データベース・サーバ100上にある)第1のファイル・システム110「ファイル・システムA」を呼び出す第1のサーバ75のクラウド・ベースのアプリケーション77の例について、以下に説明する。
【0069】
まず、符号「A」が付された矢印で示すように、第1のサーバ75のアプリケーション77は、ファイル・システム・イベント要求を第1のサーバ・モジュール/エージェント78(符号「エージェント_C」で示す)を介してスイッチング・コンポーネント80に伝達する。この通信は、第1のサーバ・モジュール/エージェント78(符号「エージェント_C」で示す)とスイッチング・コンポーネント80の第1の通信コンポーネント160(図2を参照)との間のセキュア・トンネルを使用して確立される。この例におけるファイル・システム・イベント要求は、第1のファイル・システム110の名前すなわちサブファイル・システムAを含む識別部と、ファイル・システム・イベント(例えば「読み取り」など)を含むイベント・データとそのイベントのためのデータの場所を表すエントリ・ポイント・データとファイル・システム110内に記憶されているファイルを表すデータを含むペイロードとを含むペイロード部とを含む。
【0070】
次に、符号「B」で示すように、スイッチング・コンポーネント80は、ファイル・システム・イベント要求の識別部から、要求されたファイル・システムを判断し、その後、要求されたファイル・システム(ファイル・システムA)に関連付けられたファイル・システム・パス・データを判断するためにスイッチング・コンポーネント80のデータ・ストア140に照会する。
【0071】
次に、判断されたファイル・システム・パス・データに基づいて、第2の通信コンポーネント170(図2を参照)が、符号「C」および「D」で示す矢印で示すように、ファイル・システム・イベント要求をオンプレミス資源73の第1のファイル・システム110(「ファイル・システムA」)に伝達する。この通信は、第2の通信コンポーネント170とローカル・モジュール/エージェント90(「エージェント_P」)との間のセキュア・トンネルを使用して確立される。
【0072】
最後に、第1のファイル・システム110が、(ファイル・システム・イベント要求の)データ・ペイロードによって示された要求されたファイル・システム・イベント、例えばファイル・システムの指定場所に記憶されている特定のファイルのデータの読み取りを実行する。
【0073】
このように、上記の例から、スイッチング・コンポーネント80と、第1のサーバ・モジュール/エージェント78(符号「エージェント_C」で示す)と、ローカル・モジュール/エージェント90(「エージェント_P」)とが、相互認証されたTLS接続を管理することがわかるであろう。この図では、第1のファイル・システム110はオンプレミス・データベース・サーバ100上で実装され、データベース・サーバ100にアクセスするために必要な信用証明情報はオンプレミス資源に知られるだけで済む(オフプレミス・サーバには知られない)。
【0074】
また、図3の上述の例では、第1の通信コンポーネント160がオフプレミス・サーバ75からファイル・システム・イベント要求を受信するようになされ、第2の通信コンポーネント170が(ローカル・エージェント90などの)オンプレミス資源にそのファイル・システム・イベント要求を伝達するようになされる。このようにして、オフプレミス(例えばクラウド・ベースの)資源から要求が受信され、スイッチング・コンポーネント80によって適切なオンプレミス資源にルーティングされることができる。
【0075】
ただし、他の実施形態では、オンプレミス資源から要求が受信され、スイッチング・コンポーネント80によって適切なオフプレミス(例えばクラウド・ベースの)資源にルーティングされてよいことを理解すべきである。例えば、第2の通信コンポーネント170がオンプレミス資源/サーバからファイル・システム・イベント要求を受信するようになされてよく、第1の通信コンポーネント160がファイル・システム・イベント要求をオフプレミス・サーバに伝達するようになされてよい。このような構成は、オンプレミス資源がスイッチング・コンポーネント80を介してオフプレミス・ファイル・システム資源を要求/呼び出しすることを可能にすることができ、要求/呼び出しのルーティングはスイッチング・コンポーネントによって処理される。
【0076】
また、実施形態は、要求/呼び出しされたファイル・システムからの応答を呼び出し側アプリケーションに返すことができるようにもなされてよい。一例として、図3に示す例において、第2の通信コンポーネント170が、伝達されたファイル・システム・イベント要求に対する応答を受信するようになされてよい。次に、ルーティング・コンポーネント150が、(例えば応答の解析または、以前に伝達された要求に関する記憶されたデータあるいはその両方に基づいて)応答の意図された宛先を判断し、次に、その要求を発信した(応答の返送先の)アプリケーションに伝達するために第1の通信コンポーネント160に応答を渡す。このようにして、ファイル・システム・イベント要求/呼び出しに対する応答を、要求/呼び出しを発信したアプリケーション(または資源)に返すことができる。したがって、提案の実施形態は、余分な通信トラフィックを回避しながら要求と応答とが適切に配信されるように、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理を可能にすることができる。
【0077】
以上で詳述したように、ファイル・システムに関連付けられたデータ・パス情報を含むデータ・ストア(例えばデータベースまたはルックアップ・テーブル)に基づいて、ファイル・システム・イベント要求のルーティングを実装することができる。データ・ストアは、利用可能なファイル・システムまたは資源に応じて最新のファイル・システム・パス・データを含むように動的または自動的にメンテナンスされ得る。一例として、データ・ストアは、ファイル・システム名、またはサーバ識別情報、またはサーバ・アドレス、またはファイル・システムのバージョン識別子、またはチェックサム情報あるいはその組合せに関する情報を含んでよい。このようなファイル・システム・パス・データは、登録プロセスを使用してサーバまたはアプリケーションによってデータ・ストアに提供されてよく、それによってデータ・ストアを動的または自動的に更新/メンテナンスするという概念が可能になる。
【0078】
次に図4を参照すると、一実施形態により採用可能なファイル・システム・パス・データ登録方法300の流れ図が示されている。ここでは、この方法について、提案の一実施形態による接続コンポーネント(例えばスイッチング・モジュール)の登録モジュール(図2の175など)によって実装されるものとして説明する。
【0079】
この方法300は310で開始し、オフプレミス資源またはオンプレミス資源(例えばサーバ・モジュールなど)によって接続コンポーネントへの接続が開始される。一例として、オフプレミス資源またはオンプレミス資源は、接続コンポーネントの通信コンポーネント/インターフェースとの相互認証されたTLS接続を設定することができる。
【0080】
次に、320で、少なくとも1つのファイル・システムに関連付けられたファイル・システム・パス・データが設定される。これは、例えば、接続コンポーネントへの接続を確立した資源からファイル・システムのファイル・システム情報を受信することによって行うことができる。一例として、ファイル・システム・パス・データは、ファイル・システム名と、サーバ識別情報と、サーバ・アドレスと、ファイル・システムのバージョン識別子と、サポートされているファイル・システム・イベントと、許可されているファイル・システム・イベントと、許可情報と、認証情報と、チェックサム情報とのうちの少なくとも1つを含み得る。したがって、ファイル・システム・パス・データは、例えば、ファイル・システムの識別に関する情報を含む。このような識別情報は、次に、ファイル・システム要求を、要求されたファイル・システムを稼働させているシステムと突き合わせるために使用することができる。これに代えて、またはこれに加えて、ファイル・システム・パス・データは、より複雑な突き合わせを可能にするために、バージョンまたはチェックサムに関する情報を含んでよい。これに代えて、またはこれに加えて、ファイル・システム・パス・データは、ファイル・システム・パスの相対的な場所に関する情報を含んでよい。
【0081】
このようにして、サーバまたはアプリケーションが、接続コンポーネントによる登録または記憶のためにファイル・システム・パス・データを直接提供してよい。あるいは、資源に照会することによって、したがって(そのような情報を受動的に単に自動的に受信するのではなく)ファイル・システムのエンドポイント情報を能動的に探求することによって、ファイル・システム・パス・データを得てもよい。一例として、ファイル・システム・パス・データを確立された接続の解析により抽出または判断してもよい。
【0082】
最後に、330で、この少なくとも1つのファイル・システムに関連付けられた、設定されたファイル・システム・パス・データが、接続コンポーネントのデータ・ストアに登録/記憶される。このようなファイル・システム・パス・データの記憶は、例えばリレーショナル・データベースまたはテーブルを使用して構造的に行われることができる。
【0083】
したがって、このようなファイル・システム・パス・データ登録方法300の反復実行により、接続コンポーネントへの接続を介して新たな資源またはファイル・システムが利用可能にされたときにデータ・ストアを構築し、メンテナンスすることができる。
【0084】
次に図5を参照すると、一実施形態による、オフプレミス資源とオンプレミス資源との間の通信を管理する方法350の流れ図が示されている。図4の方法と同様に、図5の方法350は、提案の実施形態による接続コンポーネント(例えばスイッチング・モジュール)によって実装されるものとして説明する。
【0085】
方法350は、300で、(図4を参照しながら説明したような)ファイル・システム・パス・データ登録から開始する。言い換えると、この方法は、利用可能なファイル・システムに関連付けられたファイル・システム・パス・データが接続コンポーネントのデータ・ストアに記憶されるように、最初に、図4に示すそのファイル・システム・パス・データ登録方法を実施することができる。ファイル・システム・パス・データ登録プロセス300が完了し、したがってデータ・ストアに適切にデータが入れられると、この方法は360に移行する。
【0086】
360で、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションから接続コンポーネントによってファイル・システム・イベント要求が受信される。ここでは、ファイル・システム・イベント要求は、(事前に)確立されたセキュア・トンネルを介して受信される。また、この例のファイル・システム・イベント要求は、ヘッダもしくは識別部とペイロード部とからなる、またはそれらを含むファイル・システム実行または呼び出し要求を含み得る。ヘッダ/識別部は、要求されたファイル・システムの識別に関する情報(例えばファイル・システム名など)を含んでよく、ペイロード部はデータ・ペイロード(例えばファイル・システムにおける/による使用のためのデータなど)を含み得る。一例として、ファイル・システム・イベント要求は、ファイル・システム名と、ファイル・システム・イベントと、データ・ペイロードと、エントリ・ポイント・データとのうちの少なくとも1つを含み得る。したがって、ファイル・システム・イベント要求は、ファイル・システム、またはそのファイル・システムによって達成されるイベント(例えば読み取り、書き込み、削除、追加、パージ、編集など)、またはそのファイル・システムによって処理されるデータ、またはその要求が行われる対象となるファイル・システムにおけるエントリ・ポイント、あるいはその組合せに関する情報を含み得る。ファイル・システム・イベント要求にエントリ・ポイントデータ(例えばパス識別情報など)を含めることにより、要求を行う対象のファイル・システムにおけるエントリ・ポイントの指定を可能にすることができる。例えば、「filesystem1」というファイル・システムが「path1」および「path2」という2つのエントリ・ポイントを有し得る。その場合、ファイル・システム・イベント要求は、例えば「file system1/path1」のように、ファイル・システム名とそのファイル・システム内のエントリ・ポイントとを含んでよい。エントリ・ポイント情報を採用しない場合、デフォルトのエントリ・ポイント(例えばホーム/ルート・ディレクトリまたはパス)が使用されてよい。
【0087】
次に、370で、要求されたファイル・システムを判断するために、受信したファイル・システム・イベント要求が、データ・ストアに記憶されているデータとともに処理される。例えば、接続コンポーネントが、(例えば識別部に含まれるファイル・システム名に基づいて)受信したファイル・システム・イベント要求の識別部を解析して要求されたファイル・システムを特定する。この方法は次に380に移行し、接続コンポーネントは、特定された要求ファイル・システムに基づいて、特定された要求ファイル・システムに関連付けられたファイル・システム・パス・データを特定するためにデータ・ストアに照会する。言い換えると、特定された要求ファイル・システムに基づいて、接続コンポーネントが要求されたファイル・システムのデータ・エントリ/レコードを見つけるためにデータ・ストアを検索し、次に、要求されたファイル・システムのデータ・エントリ/レコードに記憶されているファイル・システム・パス・データを抽出する。
【0088】
390で、接続コンポーネントは、次に、特定されたファイル・システム・パス・データに基づいてファイル・システム・イベント要求をオフプレミス資源またはオンプレミス資源に伝達する。この目的のために、ファイル・システム・イベント要求を伝達するために確立されたセキュア・トンネルが使用される。
【0089】
したがって、図5の方法の以上の説明から、ファイル・システム・イベント要求を受信し、その要求を適切なエンドポイント(例えば要求されたファイル・システムを実装するアプリケーションまたはサーバ・モジュール)に伝達する(例えば転送する)方法を提供することができることがわかるであろう。ファイル・システム・イベント要求は、(例えば要求の発信元に返送される)応答が与えられることを必要としてもしなくてもよいことを理解されたい。
【0090】
応答が与えられる場合、方法350は追加の態様400および410を含む。態様400は、接続コンポーネントにおいて、ファイル・システム・イベント要求を伝達するために使用された同じセキュア・トンネルを介して、ファイル・システム・イベント要求に対する応答を受信することを含む。次に、410で、接続コンポーネントが応答を適切な方向、例えばファイル・システム・イベント要求の発信元にルーティングする。この目的のために、接続コンポーネントは、応答のルーティング先を判断するためにデータ・ストアまたは他の情報の集合を使用してよい。例えば、接続コンポーネントは、伝達されたファイル・システム・イベント要求のレコードを、宛先または発信元情報とともに維持するようになされてよい。次に、そのような記録された情報を解析して、受信した応答をどこに伝達するかを判断することができる。
【0091】
上記で詳述したように、接続コンポーネントのデータ・ストアは、利用可能なファイル・システムまたは資源の変化を反映するように、登録/登録解除プロセスを使用して動的にまたは自動的にメンテナンスすることができる。したがって、図4のファイル・システム・パス・データ登録方法300を実装することに加えて、ファイル・システム・パス・データ登録解除方法を採用してもよい。そのような登録解除プロセスは、例えば、接続またはファイル・システム資源における変化に応答して実行されてよい。このような変化は、資源もしくは通信回線の除去によって通知されるか、またはファイル・システム資源が利用不能/アクセス不能になることを示す信号もしくは要求によって示されるか、あるいはその両方とすることができる。したがって、ファイル・システム・パス・データは、登録解除プロセスを使用してデータ・ストアから除去することができ、それによって、データ・ストアを動的または自動的に更新/メンテナンスするという概念が可能になる。
【0092】
次に図6を参照すると、一実施形態によって採用可能なファイル・システム・パス・データ登録解除方法450の流れ図が示されている。ここでは、この方法について、提案の一実施形態による接続コンポーネント(例えばスイッチング・モジュール)の登録モジュールによって実装されるものとして説明する。
【0093】
方法450は、460で開始し、オフプレミス資源またはオンプレミス資源(例えば、ファイル・システム、サーバ、サーバ・モジュール、またはセキュア・トンネルなど)がアクセス不能であることが検出される。一例として、オフプレミス資源またはオンプレミス資源が、アクセス不能になる直前に接続コンポーネントに信号を伝達するように設定されてもよい。その場合、そのような信号の検出を使用して、オフプレミス資源もしくはオンプレミス資源の起ころうとしている、またはまもなく発生するアクセス不能を検出してもよい。これに代えて、またはこれに加えて、例えばサーバの接続切断、終了、または電源遮断によりセキュア・トンネル接続が失われることを検出することによって、アクセス不能が検出されてもよい。
【0094】
次に、470で、アクセス不能オフプレミス資源またはオンプレミス資源に関連付けられたファイル・システム・パス・データが特定される。これは、例えば、アクセス不能になる前に資源から情報を受信することによって行われてよい。このようにして、サーバまたはアプリケーションが、接続コンポーネントによる登録解除または削除のためにファイル・システム・パス・データを直接与えることができる。あるいは、データ・ストアを照会すること、したがってデータ・ストア内のエンドポイント情報を能動的に照会することによって、データ・ストアから登録解除または除去するためファイル・システム・パス・データを特定してもよい。一例として、データ・ストアと併用して、失われた接続の解析によってファイル・システム・パス・データを特定または判断してもよい。
【0095】
最後に、480で、アクセス不能オフプレミス資源またはオンプレミス資源に関連付けられた特定されたファイル・システム・パス・データが、接続コンポーネントのデータ・ストアから登録解除(例えば除去)される。
【0096】
したがって、このようなファイル・システム・パス・データ登録解除方法450の反復実行により、資源またはファイル・システムが接続コンポーネントにとって利用不能になるときにデータ・ストアのメンテナンスおよび更新を可能にすることができる。
【0097】
したがって、実施形態は、オフプレミス資源およびオンプレミス資源のアプリケーション、またはサーバ、またはファイル・システム、あるいはその組合せにおける状態変化に応答してファイル・システム・パス・データ・ストアに対して情報の追加および除去を行うようになされてよいことがわかるであろう。言い換えると、実施形態は、利用可能なファイル・システムにおける変化を反映させるために、任意の構造化データ資源を動的に更新またはメンテナンスすることができる。
【0098】
図面を参照しながら上記に示したものなどの実施形態は、オフプレミス・プラットフォームとオンプレミス・プラットフォームにおけるデータ・ファイル・システム間で受け渡しされるデータの量を削減するという恩恵をもたらすことができることがわかるであろう。これは、以下の2通りの方式で行うことができる。
(i)開発者は、ファイル・システムを呼び出すために必要なもののみを渡すことができ、
(ii)セキュア・トンネルを通るデータの形式を、Efficient XML Interchange(EXI)、プロトコル・バッファ、または同様の方式などのバイナリ形式に圧縮する。
【0099】
また、実施形態は、オフプレミス・ファイル・システムがセキュア情報(例えばデータベース・ユーザ信用証明情報、ポート、IPアドレスなど)を必要としないようにすることもできることも留意されたい。
【0100】
プログラム・フロー解析によって、実施形態はアプリケーション要件をよりよく理解することができるようにすることができ、したがって同時に複数のデータ形式が伝播するのを回避し、それによって、付随する必要メモリが削減される。
【0101】
以上の説明から明らかなように、オフプレミス資源をクラウド・コンピューティング・システムによって提供することができる。また、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を管理する接続コンポーネントまたは方法を、クラウド・コンピューティング・システムによって提供または実装することができる。
【0102】
クラウド・コンピューティング・システムに関して行う以下の説明に関連して、本開示はクラウド・コンピューティングの詳細な説明を含むが、本明細書に記載されている教示の実装はクラウド・コンピューティング環境には限定されないことを前もって了解されたい。むしろ、本発明の実施形態は、現在知られている、または今後開発される任意の他の種類のコンピューティング環境とともに実装することができる。以下のクラウド・コンピューティング・システムおよび環境の説明は、単に説明と理解のために示すものである。
【0103】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの相互連絡で迅速にプロビジョニングし、リリースすることができる、構成可能なコンピューティング資源(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするサービス配布のモデルである。このオフプレミス・クラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの配備モデルとを含み得る。
【0104】
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの間で人間の介在を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的に提供することができる。
広帯域ネットワーク・アクセス:ネットワークを介して機能が利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば携帯電話、ラップトップ、およびPDA)による使用を促進する標準機構を介してアクセスされる。
資源プール:マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング資源がプールされ、需要に応じて異なる物理資源および仮想資源が動的に割り当てられ、再割り当てされる。消費者は一般に、提供される資源の厳密な場所について制御することができないかまたは知らないが、より高い抽象化レベルの場所(例えば、国、州、またはデータセンター)を指定し得るという点で、場所独立感がある。
迅速な伸縮性:迅速かつ伸縮性をもって、場合によっては自動的に機能をプロビジョニングして、迅速にスケールアウトすることができ、また、迅速に機能をリリースして迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能は多くの場合、無限であるように見え、いつでも好きなだけ購入することができる。
従量制サービス:クラウド・システムが、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に応じて適切な何らかの抽象化レベルの計量機能を活用することによって、資源利用を自動的に制御し、最適化する。資源使用量を監視、制御および報告することができ、利用サービスの透明性をプロバイダと消費者の両方に与えることができる。
【0105】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である(例えばウェブ・ベースのEメール)。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能まで含めて、基礎にあるクラウド・インフラストラクチャを管理または制御しない。
プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上に、消費者作成アプリケーション、またはプロバイダによってサポートされるプログラミング言語およびツールを使用して作成された取得アプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎にあるクラウド・インフラストラクチャを管理または制御しないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS):消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング資源をプロビジョニングすることであり、その際、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを配備し、稼働させることができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システムと、ストレージと、配備されたアプリケーションとを制御することができ、場合によっては選択されたネットワーキング・コンポーネント(例えばホスト・ファイアウォール)の限定的な制御を行うことができる。
【0106】
配備モデルは以下の通りである。
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在してよい。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス事項)を有する特定のコミュニティをサポートする。組織または第三者によって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
パブリック・クラウド:このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、独自の実体のままであるが、データ可搬性およびアプリケーション可搬性を可能にする標準化技術または専有技術(例えば、クラウド間の負荷バランシングのためのクラウド・バースティング)によって結合された、2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の複合体である。
【0107】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0108】
次に、図7を参照すると、クラウド・コンピューティング・ノードの一例の概略図が示されている。クラウド・コンピューティング・ノード10は、適合するクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用の範囲または機能に関していかなる限定も示唆することを意図していない。いずれにしても、クラウド・コンピューティング・ノード10は、上述の機能のいずれでも実装または実行あるいはその両方が可能である。
【0109】
クラウド・コンピューティング・ノード10には、多くの他の汎用または専用コンピューティング・システム環境または構成とともに動作可能なコンピュータ・システム/サーバ12がある。コンピュータ・システム/サーバ12とともに使用するのに適合し得る周知のコンピューティング・システム、または環境、または構成あるいはその組合せの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち型デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家庭用電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスのうちのいずれかを含む分散クラウド・コンピューティング環境などがあるが、これらには限定されない。
【0110】
コンピュータ・システム/サーバ12について、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般には、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム/サーバ12は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実施可能である。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルとリモートの両方のコンピュータ・システム記憶媒体に格納することができる。
【0111】
図7に示すように、クラウド・コンピューティング・ノード10におけるコンピュータ・システム/サーバ12が汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つもしくは複数のプロセッサまたは処理ユニット16と、システム・メモリ28と、システム・メモリ28を含む様々なシステム・コンポーネントをプロセッサ16に結合するバス18とを含み得るが、これらには限定されない。
【0112】
バス18は、様々なバス・アーキテクチャのうちのいずれかのアーキテクチャを使用する、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィクス・ポート、およびプロセッサ・バスまたはローカル・バスを含む、数種類のバス構造のうちのいずれかの1つまたは複数に相当する。例として、そのようなアーキテクチャとしては、これらには限定されないが、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture:MCA)バス、拡張(Enhanced)ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(Video Electronics Standards Association:VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(Peripheral Component Interconnect:PCI)バスがある。
【0113】
コンピュータ・システム/サーバ12は、典型的には様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12がアクセスすることができる任意の利用可能な媒体であってよく、揮発性媒体と不揮発性媒体の両方と、取り外し可能媒体と取り外し不能媒体とを含む。
【0114】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ・システム記憶媒体をさらに含んでよい。一例に過ぎないが、ストレージ・システム34を、取り外し不能な不揮発性磁気媒体(図示されておらず、一般に「ハード・ドライブ」と呼ばれる)の読み書きのために設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば「フロッピィ・ディスク」)の読み書きのための磁気ディスク・ドライブと、CD−ROM、DVD−ROMまたはその他の光学媒体などの、取り外し可能な不揮発性光ディスクの読み書きのための光ディスク・ドライブとを備えることができる。そのような場合、それぞれを1つまたは複数のデータ・メディア・インターフェースによってバス18に接続することができる。以下でさらに図示し、説明するように、メモリ28は、本発明の実施形態の機能を実施するように構成された1組の(例えば少なくとも1つの)プログラム・モジュールを有する少なくとも1つのプログラム製品を含み得る。
【0115】
一例として、これには限らないが、1組の(少なくとも1つの)プログラム・モジュール42を有するプログラム/ユーティリティ40のほか、オペレーティング・システムと、1つまたは複数のアプリケーション・プログラムと、その他のプログラム・モジュールと、プログラム・データとがメモリ28に記憶されてよい。オペレーティング・システムと、1つまたは複数のアプリケーション・プログラムと、その他のプログラム・モジュールと、プログラム・データまたはこれらの何らかの組合せとのうちのそれぞれが、ネットワーキング環境の実装形態を含み得る。プログラム・モジュール42は、一般には、本明細書に記載の本発明の実施形態の機能または方法あるいはその両方を実施する。
【0116】
コンピュータ・システム/サーバ12は、キーボード、ポインティング・デバイス、ディスプレイ24など、または、ユーザがコンピュータ・システム/サーバ12と対話することができるようにする1つもしくは複数のデバイス、または、コンピュータ・システム/サーバ12が1つもしくは複数の他のコンピューティング・デバイスと通信することができるようにする任意のデバイス(例えばネットワーク・カード、モデムなど)、あるいはその組合せなどの、1つまたは複数の外部デバイス14とも通信することができる。このような通信は、入出力(I/O)インターフェース22を介して行うことができる。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN)、または汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えばインターネット)、あるいはその組合せなどの1つもしくは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図のように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方もコンピュータ・システム/サーバ12とともに使用することができることを理解されたい。例としては、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどが含まれるが、これらには限定されない。
【0117】
次に、図8を参照すると、例示のクラウド・コンピューティング環境またはクラウド・コンピューティング環境50が示されている。これは、実施形態では、例えば図1に示すクラウド・コンピューティング・システムに相当するものと見なすことができる。図のように、クラウド・コンピューティング環境50は、例えば携帯情報端末(PDA)もしくはセルラー電話54A、またはデスクトップ・コンピュータ54B、またはラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10が互いに通信してもよい。これらは、上述のプライベート、コミュニティ、パブリックもしくはハイブリッド・クラウドまたはその組合せなどの1つまたは複数のネットワークにおいて物理的または仮想的にグループ化(図示せず)されてよい。これによって、クラウド・コンピューティング環境50は、インフラストラクチャ、またはプラットフォーム、またはソフトウェアあるいはその組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上で資源を維持する必要がないサービスとして提供することができる。図8に示すコンピューティング・デバイス54Aないし54Nの種類は、例示のみを意図したものであり、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、(例えばウェブ・ブラウザを使用して)任意の種類のネットワークまたはネットワーク・アドレス指定可能接続あるいはその両方を介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【0118】
次に、図9を参照すると、クラウド・コンピューティング環境50(図8)によって提供される1組の機能抽象化層が示されている。なお、図9に示すコンポーネント、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって了解されたい。図のように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層60は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム、一例ではIBM(R)zSeries(R)システム、縮小命令セット・コンピュータ(Reduced Instruction Set Computer:RISC)アーキテクチャ・ベースのサーバ、一例ではIBM pSeries(R)システム、IBM xSeries(R)システム、IBM BladeCenter(R)システム、ストレージ・デバイス、ネットワークおよびネットワーキング・コンポーネントがある。ソフトウェア・コンポーネントの例としては、ネットワーク・アプリケーション・サーバ・ソフトウェア、一例ではIBM WebSphere(R)アプリケーション・サーバ・ソフトウェア、およびデータベース・ソフトウェア、一例ではIBM DB2(R)データベース・ソフトウェアがある。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界の多くの地域で登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。)
【0119】
仮想化層62は、以下の仮想実体の例を実現することができる抽象化層を提供する。すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントである。
【0120】
一例では管理層64は、以下に記載の機能を提供することができる。資源プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング資源およびその他の資源の動的調達を行う。メータリングおよびプライシングは、クラウド・コンピューティング環境内で資源が利用されるときのコスト追跡と、これらの資源の消費に対する対価の請求またはインボイス処理を行う。一例ではこれらの資源にはアプリケーション・ソフトウェア・ライセンスが含まれてもよい。セキュリティは、クラウド消費者およびタスクのための本人検証と、データおよびその他の資源の保護とを行う。ユーザ・ポータルは、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング資源割り当ておよび管理を行う。オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理により、上記で詳述したような提案の概念によるオフプレミス資源とオンプレミス資源との間のファイル・システムの呼び出しまたは要求が実現される。
【0121】
ワークロード層66は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ分析処理、トランザクション処理、ならびにモバイル・デスクトップがある。
【0122】
本発明の実施形態が方法を構成する本願の文脈では、そのような方法はコンピュータによる実行のためのプロセスであり、すなわちコンピュータ実装可能方法であることを理解されたい。したがって、この方法の様々な態様は、コンピュータ・プログラムの様々な部分、例えば、1つまたは複数のアルゴリズムの様々な部分を反映する。
【0123】
本発明は、任意の可能な技術的詳細の統合レベルでのシステム、方法またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0124】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるための命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、可搬コンパクト・ディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を伝播する電磁波(例えば光ファイバ・ケーブルを通る光パルス)、または電線を介して伝送される電気信号などの、一時的な信号自体であると解釈すべきではない。
【0125】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを含んでよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【0126】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語または同様のプログラム言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意の種類のネットワークを介してユーザのコンピュータに接続されることができ、または接続は外部コンピュータ(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)に対して行われてもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0127】
本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の各ブロックおよび、フローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
【0128】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで規定されている機能/動作を実装する手段を形成するように、汎用コンピュータ、専用コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで規定されている機能/動作の態様を実装する命令を含む製造品を含むように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他のデバイスあるいはその組合せに対して特定の方式で機能するように指示することができるものであってもよい。
【0129】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで規定されている機能/動作を実装するように、コンピュータ実装プロセスを実現するために、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされ、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0130】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。一部の代替の実装形態では、ブロックに記載されている機能は、図面に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、規定されている機能または動作を実行する専用ハードウェア・ベースのシステムによって実装されるか、または専用ハードウェアとコンピュータ命令との組合せを実施することができることもわかるであろう。
【0131】
本発明の様々な実施形態の説明は例示を目的として示したものであるが、網羅的であること、または開示されている実施形態に限定されることを意図したものではない。当業者には、記載されている実施形態の範囲および思想から逸脱することなく、多くの変更および変形が明らかであろう。本明細書で使用されている用語は、実施形態の原理と、実際の適用、または市場に見られる技術に対する技術的改良を最もよく説明するため、または当業者が本明細書で開示されている実施形態を理解することができるようにするために、選定された。
【0132】
本明細書で使用されている用語は、特定の実施形態を説明することのみを目的としたものであり、限定的であることを意図したものではない。本明細書で使用されている単数形の「1つ(a)」、「1つの(an)」および「それ(the)」は、文脈が明確に他の解釈を示していない限り複数形も含むことを意図している。また、「含む(comprises)」または「含んでいる(comprising)」あるいはその両方の用語が本明細書で使用されている場合、記載されている特徴、整数、ステップ、動作、要素またはコンポーネントあるいはその組合せの存在を規定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、またはコンポーネントあるいはそのグループの存在または追加を排除しないことがわかるであろう。
【0133】
添付の特許請求の範囲のすべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作および均等物は、もしある場合、具体的に特許請求されている他の特許請求対象要素と組み合わせて機能を実行するための任意の構造、材料または動作を含むことを意図している。例示および説明を目的として1つまたは複数の実施形態の説明を示したが、網羅的であること、または、開示されている形態に限定することを意図したものではない。当業者には多くの変更および変形が明らかであろう。これらの実施形態は、様々な態様および実際の適用を最もよく説明するためと、当業者が、企図された特定の用途に適合するように様々な変更を加えた様々な実施形態を理解することができるようにするために選定し、説明した。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】