(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】コンテンツ管理方法、システム、プログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20241210BHJP
G06F 21/60 20130101ALI20241210BHJP
H04L 9/14 20060101ALI20241210BHJP
【FI】
G06F21/62 318
G06F21/60 360
H04L9/14
(21)【出願番号】P 2022567735
(86)(22)【出願日】2021-05-17
(86)【国際出願番号】 CN2021094033
(87)【国際公開番号】W WO2021244268
(87)【国際公開日】2021-12-09
【審査請求日】2023-10-26
(32)【優先日】2020-06-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ソフィア、アントニー、トーマス
(72)【発明者】
【氏名】ジョーダン、マイケル ジョセフ
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2002-314525(JP,A)
【文献】特開2006-025236(JP,A)
【文献】国際公開第2019/215782(WO,A1)
【文献】特開2003-208355(JP,A)
【文献】米国特許第09298942(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60-62
H04L 9/14
(57)【特許請求の範囲】
【請求項1】
コンピュータの情報処理による方法であって、前記方法が、
データ所有者から第三者によって取得されたデータにアクセスするための利用者からの要求を受信することであって、前記データは、前記利用者によって読み出せない暗号化されたフォーマットである、前記受信することと、
前記データにアクセスするための前記利用者からの前記要求の受信に応答して、
前記第三者からの第三者鍵を要求すること
であって、前記第三者鍵を要求するために、前記第三者のセキュリティ機器と通信することを含み、前記セキュリティ機器は、前記利用者が前記データへのアクセスを有することを前記第三者が認可するとの決定に応答して、前記第三者鍵を返信し、さらに前記データが前記利用者によって取得された後も、前記第三者のセキュリティ機器は1つの時点で前記利用者による前記データへのアクセスを前記第三者が認可しないことを決定可能とし、前記データへのアクセス管理を前記第三者に提供する、前記第三者鍵を要求することと、
前記データ所有者からのデータ所有者鍵を要求すること
であって、前記データ所有者鍵を要求するために、前記データ所有者のセキュリティ機器と通信することを含み、前記セキュリティ機器は、前記利用者が前記データへのアクセスを有することを前記データ所有者が認可するとの決定に応答して、前記データ所有者鍵を返信し、さらに前記データが第三者によって利用者に送信された後も、前記データ所有者のセキュリティ機器は1つの時点で前記利用者による前記データへのアクセスを前記データ所有者が認可しないことを決定可能とし、前記データへのアクセス管理を前記データ所有者に提供する、前記データ所有者鍵を要求することと、
前記第三者鍵および前記データ所有者鍵の受信に応答して、
前記第三者鍵および前記データ所有者鍵を、前記暗号化されたフォーマットでの前記データに適用して、前記利用者によって読み出し可能な暗号化されていないフォーマットでのデータを生成することと、
前記利用者に、前記暗号化されていないフォーマットでの前記データへのアクセスを
提供することと
を含む方法。
【請求項2】
前記第三者は、データ・ブローカである、請求項1に記載の方法。
【請求項3】
前記データの前記暗号化されたフォーマットは、前記データ所有者鍵を用いて前記データを暗号化することによって、および前記第三者鍵を用いて、前記データ所有者鍵を用いて暗号化された前記データを暗号化することによって生成された、請求項1に記載の方法。
【請求項4】
前記データにアクセスするための前記利用者からの前記要求の受信に応答して、前記データにアクセスするための前記利用者からの前記要求をログ記録することをさらに含む、請求項1に記載の方法。
【請求項5】
前記利用者に、前記暗号化されていないフォーマットでの前記データへのアクセスをもたらすことに応答して、前記利用者に、前記暗号化されていないフォーマットでの前記データへのアクセスを前記もたらすことをログ記録することをさらに含む、請求項1に記載の方法。
【請求項6】
前記暗号化されていないフォーマットでの前記データは、少なくとも、マスクされたまたは編集された前記データのサブセットを含む、請求項1に記載の方法。
【請求項7】
システムであって、
コンピュータ可読命令を実行するための1つまたは複数のプロセッサを備え、前記コンピュータ可読命令は、動作を行うように前記1つまたは複数のプロセッサを制御し、前記動作は、
データ所有者から第三者によって取得されたデータにアクセスするための利用者からの要求を受信することであって、前記データは、前記利用者によって読み出せない暗号化されたフォーマットである、前記受信することと、
前記データにアクセスするための前記利用者からの前記要求の受信に応答して、
前記第三者からの第三者鍵を要求すること
であって、前記第三者鍵を要求するために、前記第三者のセキュリティ機器と通信することを含み、前記セキュリティ機器は、前記利用者が前記データへのアクセスを有することを前記第三者が認可するとの決定に応答して、前記第三者鍵を返信し、さらに前記データが前記利用者によって取得された後も、前記第三者のセキュリティ機器は1つの時点で前記利用者による前記データへのアクセスを前記第三者が認可しないことを決定可能とし、前記データへのアクセス管理を前記第三者に提供する、前記第三者鍵を要求することと、
前記データ所有者からのデータ所有者鍵を要求すること
であって、前記データ所有者鍵を要求するために、前記データ所有者のセキュリティ機器と通信することを含み、前記セキュリティ機器は、前記利用者が前記データへのアクセスを有することを前記データ所有者が認可するとの決定に応答して、前記データ所有者鍵を返信し、さらに前記データが第三者によって利用者に送信された後も、前記データ所有者のセキュリティ機器は1つの時点で前記利用者による前記データへのアクセスを前記データ所有者が認可しないことを決定可能とし、前記データへのアクセス管理を前記データ所有者に提供する、前記データ所有者鍵を要求することと、
前記第三者鍵および前記データ所有者鍵の受信に応答して、
前記第三者鍵および前記データ所有者鍵を、前記暗号化されたフォーマットでの前記データに適用して、前記利用者によって読み出し可能な暗号化されていないフォーマットでのデータを生成することと、
前記利用者に、前記暗号化されていないフォーマットでの前記データへのアクセスを
提供することと
を含むシステム。
【請求項8】
前記第三者は、データ・ブローカである、請求項
7に記載のシステム。
【請求項9】
前記データの前記暗号化されたフォーマットは、前記データ所有者鍵を用いて前記データを暗号化することによって、および前記第三者鍵を用いて、前記データ所有者鍵を用いて暗号化された前記データを暗号化することによって生成された、請求項
7に記載のシステム。
【請求項10】
前記動作は、前記データにアクセスするための前記利用者からの前記要求の受信に応答して、前記データにアクセスするための前記利用者からの前記要求をログ記録することをさらに含む、請求項
7に記載のシステム。
【請求項11】
前記動作は、前記利用者に、前記暗号化されていないフォーマットでの前記データへのアクセスをもたらすことに応答して、前記利用者に、前記暗号化されていないフォーマットでの前記データへのアクセスを前記もたらすことをログ記録することをさらに含む、請求項
7に記載のシステム。
【請求項12】
前記暗号化されていないフォーマットでの前記データは、少なくとも、マスクされたまたは編集された前記データのサブセットを含む、請求項
7に記載のシステム。
【請求項13】
請求項1~
6の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
【請求項14】
請求項
13に記載の前記コンピュータ・プログラムを、コンピュータ可読記憶媒体に記憶した、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にコンピュータ・システムに関し、より具体的には、第三者データ集約サービスを通したコンテンツ管理をもたらすことに関する。
【背景技術】
【0002】
データ集約の一般的な目的は、年齢、職業、または所得などの特定の変数に基づいて、特定の人々のグループについてのより多くの情報を得ることである。データ・ブローカ、またはデータ集約サービスは通常、多様なソースから情報を集約し、データを処理してそれを充実させる、浄化する、または分析し、および処理されたデータを他の組織にライセンス供与する。いくつかのデータ・ブローカは、多様な公開または非公開のソースから消費者についての個人情報を収集し、その情報を他のデータ・ブローカまたはデータ利用者に販売する。データは、公的記録、オンライン行動、および購入履歴などのソースから収集されることができ、次いでマーケティングの目的で他の会社に販売され得る。
【発明の概要】
【0003】
本発明の実施形態は、第三者データ集約サービスを通したコンテンツ管理をもたらすことを対象とする。非限定的な方法は、データ所有者から第三者によって取得されたデータにアクセスするための利用者からの要求を受信することを含み、データは、利用者によって読み出せない暗号化されたフォーマットである。データにアクセスするための利用者からの要求の受信に応答して、第三者からの第三者鍵が要求され、およびデータ所有者からのデータ所有者鍵が要求される。第三者鍵およびデータ所有者鍵は、暗号化されたフォーマットでのデータに適用されて、利用者によって読み出し可能な暗号化されていないフォーマットでのデータを生成する。利用者には、暗号化されていないフォーマットでのデータへのアクセスがもたらされる。
【0004】
本発明の他の実施形態は、コンピュータ・システムおよびコンピュータ・プログラム製品における上述の方法の特徴を実施する。
【0005】
さらなる技術的特徴および利点が、本発明の技術を通して実現される。本発明の実施形態および態様は、本明細書で詳しく述べられ、特許請求される主題の一部と考えられる。より良い理解のために、詳しい説明および図面を参照されたい。
【0006】
本明細書で述べられる独占的権利の詳細は、本明細書の結びにおける「特許請求の範囲」において具体的に指摘され、明確に請求される。本発明の実施形態の上記および他の、特徴および利点は、以下の詳しい説明を添付の図面と併せ読めば明らかになる。
【図面の簡単な説明】
【0007】
【
図1】本発明の1つまたは複数の実施形態による、第三者データ集約サービスを通したコンテンツ管理をもたらすためのシステムのブロック図である。
【
図2】本発明の1つまたは複数の実施形態による、第三者データ集約サービスを通して制御され得るコンテンツを生成するフロー図である。
【
図3】本発明の1つまたは複数の実施形態による、第三者データ集約サービスを通したコンテンツ管理をもたらすためのフロー図である。
【
図4】本発明の1つまたは複数の実施形態によるクラウド・コンピューティング環境を示す図である。
【
図5】本発明の1つまたは複数の実施形態による抽象化モデル・レイヤを示す図である。
【
図6】本発明の1つまたは複数の実施形態による、エンタープライズ・システムの自己報告および自己アップグレードをもたらすためのシステムを示す図である。
【発明を実施するための形態】
【0008】
本明細書で示される図は、説明のためのものである。図またはそこで述べられる動作には、本発明の思想から逸脱せずに、多くの変形が存在し得る。例えば、アクションは異なる順序で行われることができ、またはアクションは追加、削除、または変更され得る。また、「結合される」という用語およびその変形は、2つの要素の間に通信経路を有することを記述し、それらの間に介在する要素/接続がない、要素の間の直接の接続を意味しない。これらの変形のすべては、本明細書の一部と考えられる。
【0009】
本発明の1つまたは複数の実施形態は、第三者データ集約サービスを通したコンテンツ管理をもたらす。本発明の1つまたは複数の実施形態によれば、セキュアな第三者データ集約は、データの管理がデータ所有者およびデータ・ブローカの両方によって維持されることを可能にするために、セキュリティ機器およびプロトコルのシステムを用いてもたらされる。
【0010】
データ・ブローカは、しばしば複数のデータ所有者からデータを買い求め、次いで彼等が購入したデータに広がるデータ・セットを作成する。これらのデータ・セットは、次いでデータ利用者に再販売され、データ利用者は市場調査など、様々な理由のためにデータを使用することができる。現在は、データ所有者が、データ・ブローカなど、第三者にデータを供給するとき、データ・ブローカはデータのコピーを作り、データ所有者は、データに対して次に何が起こるか(例えば、誰がデータにアクセスするか)に対する管理を、データ・ブローカに完全に譲渡する。データ・ブローカの侵害の場合には、データ・ブローカにデータを供給するすべての当事者からのすべてのデータは、データ流出に対して無防備である。データ流出は、データの認可されていない複製、転送、または検索を指す。データ所有者が彼等のデータへのアクセスを管理または追跡できないというこの問題は、データ・ブローカが、他のデータ・ブローカまたはデータ利用者などさらなる当事者にデータを販売するときに範囲が増大する。
【0011】
本発明の1つまたは複数の実施形態は、データ所有者に対して、当事者のそれぞれがデータへのアクセスを有する状態でオンプレミスで、またはデータ・ネットワークに参加することを望む当事者のいくつかのためにクラウドにおいて展開されて、分散されたセキュリティ機器のネットワークを用いて、彼等のデータへのアクセスを管理することを含み、彼等がデータ・ブローカなど、第三者に供給するデータにおける権利を維持することを可能にすることによって、上記の欠点の1つまたは複数に対処する。
【0012】
本発明の1つまたは複数の実施形態によれば、データ・ブローカは、それがデータ所有者から購入するデータのコンテンツに対するアクセスを有しない。代わりに、データ・ブローカは、データを記述するメタデータを有し、データのコンテンツは、データ所有者の鍵を用いて安全性が保証される。例えば、データ・ブローカは、メタデータに基づいて、それがデータ所有者から受信したデータのコンテンツは、それぞれが暗号化された顧客名、業者名、取引金額、および暗号化された顧客アカウント番号を含んだ、クレジット・カード取引を含むことを知り得る。暗号化された顧客名および暗号化された顧客アカウント番号にアクセスする唯一の方法は、その分散が、例えば、データ所有者のセキュリティ機器を通じてデータ所有者によって管理される、データ所有者の鍵を用いることである。本発明の1つまたは複数の実施形態によれば、データ所有者は、データの異なる要求元に対するアクセスの、異なるアクセスのレベルを与える異なる鍵を有し得る。
【0013】
本発明の1つまたは複数の実施形態によれば、データ・ブローカは、データ・ブローカがデータ所有者から受信する暗号化されたデータに、別の暗号化鍵、データ・ブローカ鍵を適用することによって、データ・ブローカがデータ所有者から購入するデータに対して、セキュリティおよびトレーサビリティのもう1つのレイヤをもたらす。データ・ブローカ鍵が適用された後、暗号化された顧客名および暗号化された顧客アカウント番号にアクセスする唯一の方法は、その分散が、例えば、データ・ブローカのセキュリティ機器を通じてデータ・ブローカによって管理される、データ所有者の鍵およびデータ・ブローカの鍵の両方を用いることである。これらの1つまたは複数の実施形態において、データ所有者およびデータ・ブローカの両方は、データがデータ利用者に供給される前に、データへのアクセスを許可しなければならない。従って、データ利用者またはデータ・ブローカのいずれかがデータ侵害を被った場合、データ利用者による使用のためにデータを復号するためには両方の鍵が必要であるので、データは依然として保護される。
【0014】
本発明の1つまたは複数の実施形態によれば、データ所有者は、第三者が見ることができる表示を管理するために用いられる、データの表示に対してポリシー・ベースの管理を強制することができる。例えば、第三者は、クレジット・カード番号全体または最初の4桁のみを見ることが可能となり得る。
【0015】
本発明の1つまたは複数の実施形態によれば、データ・ブローカまたはデータ所有者あるいはその両方は、例えば、データへの将来のアクセスを制限することに対応して、データへのアクセスを動的に制限することができる。例えば、データ所有者は、データ・ブローカがデータに対するデータ所有者のサービス規約に違反した場合には、データ利用者による将来のアクセスを動的に制限することができる。データ・ブローカはまた、例えば、データの利用の期間が満了した場合、データ利用者に対するデータの将来のアクセスを制限することができる。
【0016】
本発明の1つまたは複数の実施形態によれば、データ所有者またはデータ・ブローカあるいはその両方は、誰がデータにアクセスしたかを追跡するために、ログへのアクセスを有することができる。この情報は、例えば、データ所有者によって、彼等のデータが第三者(例えば、データ・ブローカ)およびデータ利用者にどのように分散されているかについての可視性を有するように、用いられ得る。
【0017】
次に
図1を参照すると、第三者データ集約サービスを通したコンテンツ管理をもたらすためのシステムのブロック
図100が、本発明の1つまたは複数の実施形態に従って全体的に示される。
図1に示されるブロック
図100は、データ所有者122ならびにそれの対応するセキュリティ機器102およびデータ・ソース108と、データ・ブローカ124ならびにそれの対応するセキュリティ機器104および購入されたデータ・ソース110と、データ利用者126ならびにそれの対応するセキュリティ機器105、購入されたデータ・ソース112、および用意されたデータ114とを含む。
【0018】
セキュリティ機器102、104、106はそれぞれ、データ要素またはデータを暗号化するために用いられる鍵材料を含む。それらはまた、他のセキュリティ機器と通信し、それらにデータ要素を復号するために用いられることになる鍵材料を供給することができる。
図1に示されるように、セキュリティ機器106は、セキュリティ機器102およびセキュリティ機器104と通信して、鍵要求118、120を行う。本発明の1つまたは複数の実施形態によれば、セキュリティ機器102、104、106は、非限定的に、利用者ログイン、または実行しているシステムのソフトウェアまたはメモリへのアクセスをサポートしない、サーバまたはコンテナあるいはその両方など、当技術分野で知られている任意の方法によって実施される。本発明の1つまたは複数の実施形態によれば、セキュリティ機器102、104、106は、アプリケーション・プログラミング・インターフェース(API)を通じて、アクセスされる、または通信される。
【0019】
図1に示されるように、データ所有者122は、データ所有者122が収益化することを望む、
図1にデータ・ソース108として示されるデータを有する。これらのデータ・ソース108は、モノのインターネット(IoT)、利用者データ、またはリレーショナル・データ・ソースあるいはその組合せからのデータを含むことができるが、それらに限定されない。データ所有者122は、データを、それがデータ・ブローカ124に供給することを望むものである識別したとき、データ所有者122のデータ・セキュリティ機器102は、データ、またはデータ・セットの一部であるデータ要素を、データを記述するメタデータを用いてラップする。次いでデータは、データ所有者122によって所有される鍵を用いて暗号化され、メタデータと共にデータ・ブローカ124に送られ、データ・ブローカ124は、購入されたデータ・ソース110として、暗号化されたデータおよびメタデータを記憶する(例えば、データベースまたは他の記憶構成内に)。
【0020】
本発明の1つまたは複数の実施形態によれば、データ・ブローカ124は、データ所有者鍵へのアクセスをもたず、従って、データ所有者によって供給されるデータを開くまたは読み出すことができない。本発明の1つまたは複数の実施形態によれば、データ・ブローカ124は、データ所有者122から受信されたデータの、コンテンツまたは実際のデータ値を知らない。データ所有者によって供給されるメタデータに基づいて、データ・ブローカ124は、データ・コンテンツのタイプが分かり、データ・ブローカは、メタデータを用いて、再販売されるカタログにデータを加えることができる。
図1に示されるように、データ・ブローカ124は、1つまたは複数のデータ所有者122から、購入されたデータ・ソース110として
図1に示されるデータ・セットを購入する。これらの購入されたデータ・ソースは、クリアな(暗号化されていない)データ、および匿名化されたまたは匿名化されていない個人を特定できる情報(Personally Identifiable Information:PII)の組合せを含み得る。当技術分野で知られているように、PIIとは、非限定的に、氏名、社会保障番号、運転免許証番号、銀行口座番号、パスポート番号、または電子メール・アドレスあるいはその組合せなど、特定の個人を識別するために潜在的に用いられる任意のデータを指す。
【0021】
データ・ブローカ124がデータを販売するとき、データ・ブローカ124は、データ所有者が行ったのと同じプロセス、データ要素のラッピングおよび暗号化を繰り返すが、データ・ブローカ124によって所有される鍵を用いる。
図1に示されるように、セキュリティ機器104は、データ所有者122から受信された、(すでに暗号化された)データのラッピングおよび暗号化を行う。データがデータ利用者126によって受信されたとき、それは今度は所有者鍵、次いで再びデータ・ブローカ鍵を用いて暗号化される。データ利用者126は、購入されたデータ・ソース112として、記憶場所にデータを記憶する。
【0022】
本発明の1つまたは複数の実施形態によれば、利用者116が、購入されたデータ・ソース112からデータを用いることを望むとき、セキュリティ機器106を通してデータ・アクセスに対する要求がなされる。要求の受信に応答して、セキュリティ機器106は、セキュリティ機器102およびセキュリティ機器104の両方からの鍵を要求する。これは
図1に、セキュリティ機器104からのデータ・ブローカ鍵を要求する鍵要求120として、およびセキュリティ機器102からのデータ所有者鍵を要求する鍵要求118として示される。本発明の1つまたは複数の実施形態によれば、利用者116の観点から、これは単一のアトミック操作であり、利用者116によって要求されたデータは、データ・ブローカ鍵を用いて、次いでデータ所有者鍵を用いて復号される。結果としてのクリアなデータ、またはクリアなデータ要素は、用意されたデータ114として記憶される。利用者116は、市場調査、および彼等のビジネス・オファリングでの追加の収益を促進するために、この用意されたデータ114を用いることができる。
【0023】
本発明の1つまたは複数の実施形態によれば、データ所有者122からのポリシーは、利用者116にクリアなデータが供給されるかどうか、あるいはセキュリティ機器106を出るデータはマスクされる、編集される、またはそれに何らかの他の難読化技術が適用されるべきかどうかについて、影響を与えることができる。
【0024】
本発明の1つまたは複数の実施形態によれば、いずれかの当事者、データ所有者122またはデータ・ブローカ124が、利用者116が彼等のデータへのアクセスを有することをもはや望まない場合には、彼等は、その利用者116のための彼等のそれぞれの鍵へのアクセスを除去することができる。除去は、特定の利用者116に対して、またはデータ利用者126のすべての利用者(例えば、データ利用者126が、データ・アクセスを要求する複数の個別の利用者116を含む場合)に適用することができる。追加として、除去は、他の時間フレームの間はアクセスが許される状態で、特定の時間フレームに対して適用することができる。代替として、データ所有者122またはデータ・ブローカ124は、彼等のそれぞれの鍵を削除することができ、これは購入されたデータ・ソース112内のデータを恒久的に無効化することになる。
【0025】
データ所有者122およびデータ・ブローカ124の両方は、彼等のデータへの粒度の細かいアクセスを可能にするために、複雑な方式を有することができる。例えば、データ所有者122は、異なるデータ・ブローカ124に対して異なる鍵を用いることができ、その結果彼等は、単一のデータ・ブローカのデータだけを無効化することができる。またデータ・ブローカ124は、異なるデータ利用者126に対して異なる鍵を用いることができ、その結果彼等は、単一のデータ・セットだけを無効化することができる。
【0026】
データを暗号化するために、1つまたは複数の鍵が関わる任意の種類の暗号化アルゴリズムが利用され得る。例は、高度暗号化方式(AES)、データ暗号化標準(DES)、またはリベスト・シャミア・エーデルマン(RSA)暗号化あるいはその組合せの変形例を含むが、それらに限定されない。
【0027】
図1に、データ所有者122とデータ利用者126との間には、1つの第三者、データ・ブローカ124のみが示されるが、本発明の実施形態は、データ利用者126によって用いられる前に、単一の第三者によって処理されるデータに限定されない。本発明の1つまたは複数の実施形態によれば、2つ以上のデータ・ブローカ124が存在し、それぞれは彼等自体のデータ・ブローカ鍵を順次にデータに適用し、およびそれぞれは彼等自体のセキュリティ機器104を有する。この場合、データ利用者126は、セキュリティ機器102からのデータ所有者鍵を要求する鍵要求118と共に、データ・ブローカ124のそれぞれに関連付けられたセキュリティ機器104から、2つ以上のデータ・ブローカ鍵を取得するために、2つ以上の鍵要求120を開始する。
【0028】
図1に示される構成要素のいずれも、ネットワークを通じて互いに結合され得る。例えば、セキュリティ機器102は、ネットワークを通じて、セキュリティ機器106または購入されたデータ・ソース110あるいはその両方に結合され得る。ネットワークは、非限定的に、ローカル・エリア・ネットワーク(LAN)、直接ケーブル接続、以下で
図4に示されるものなどのクラウド・コンピューティング環境、またはインターネットあるいはその組合せなど、当技術分野で知られている任意のネットワークによって実施され得る。
【0029】
図1のブロック
図100に関して本明細書で述べられる実施形態は、任意の適切なロジックを用いて実施されることができ、本明細書において呼ばれるロジックとは、様々な実施形態において、任意の適切なハードウェア(例えば、中でも、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(例えば、中でも、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組合せを含むことができる。追加として、
図1の様々なブロックは、
図1に示されるものとは異なるやり方で構成され得る。
【0030】
次に
図2を参照すると、第三者データ集約サービスを通して管理されるコンテンツを生成する方法200のフロー図が、本発明の1つまたは複数の実施形態に従って全体的に示される。
図2のブロック202~208に示される処理のすべてまたは一部分は、例えば、
図6のコンピュータ601上に位置するプロセッサ605上で実行する、または
図4のクラウド・コンピューティング・ノード10上に位置するプロセッサ上で実行する、
図1のセキュリティ機器102によって行われ得る。
図2に示されるプロセスは、ブロック202で、
図1のデータ所有者122など、データ所有者が、第三者に供給されることになる、データ・ソース108などの、データを識別することで開始する。第三者は、
図1のデータ・ブローカ124など、データ・ブローカとすることができるが、それに限定されない。ブロック204で、識別されたデータは、データのコンテンツを記述するためのメタデータを用いてラップされ、ブロック206で、データは、データ所有者鍵を用いて暗号化される。メタデータ、およびデータ所有者鍵を用いて暗号化されたデータは、ブロック208で第三者に送られる。
図2に示される例において、第三者は、データ・ブローカである。本発明の1つまたは複数の実施形態によれば、第三者は、データを収集し分配する任意のエンティティとすることができる。
【0031】
処理は、
図2のブロック210で継続する。
図2のブロック210~214に示される処理のすべてまたは一部分は、例えば、
図6のコンピュータ601上に位置するプロセッサ605上で実行する、または
図4のクラウド・コンピューティング・ノード10上に位置するプロセッサ上で実行する、
図1のセキュリティ機器104によって行われ得る。ブロック210で、メタデータ、およびデータ所有者鍵を用いて暗号化されたデータは、データ・ブローカによって受信される。受信されたデータは、
図1の購入されたデータ・ソース110などの記憶場所に記憶され得る。ブロック212で、データ所有者鍵を用いて暗号化された受信されたデータは、データ・ブローカ鍵を用いてさらに暗号化される。データ所有者鍵およびデータ・ブローカ鍵の両方を用いて暗号化されたデータは、ブロック214で、
図1のデータ利用者126などの、データ利用者に送られる。本発明の1つまたは複数の実施形態によれば、メタデータはまた、データ利用者に送られる。データ所有者鍵およびデータ・ブローカ鍵の両方を用いて暗号化されたデータは、
図1の購入されたデータ・ソース112などの、記憶場所に記憶され得る。本発明の1つまたは複数の実施形態によれば、メタデータはまた、データ利用者に送られ、記憶場所に記憶され得る。
【0032】
図2のプロセス・フロー図は、方法200の動作が何らかの特定の順序で実行されること、または方法200の動作のすべてがあらゆる場合に含まれることを示すものではない。加えて、方法200は、任意の適切な数の追加の動作を含むことができる。
【0033】
次に
図3を参照すると、第三者データ集約サービスを通したコンテンツ管理をもたらす方法300のフロー図が、本発明の1つまたは複数の実施形態に従って全体的に示される。
図3に示される処理のすべてまたは一部分は、例えば、
図6のコンピュータ601上に位置するプロセッサ605上で実行する、または
図4のクラウド・コンピューティング・ノード10上に位置するプロセッサ上で実行する、
図1のセキュリティ機器106によって行われ得る。
図3における処理は、ブロック302で、
図1のデータ・ブローカ124など、第三者から受信されたデータにアクセスするために、
図1の利用者116など、利用者から要求を受信することで始まる。利用者がアクセスを要求するデータは、データ・ブローカ鍵およびデータ所有者鍵の両方によって暗号化され、それの現在の暗号化されたフォーマットにおいて利用者によって読み出し可能である。本発明の1つまたは複数の実施形態によれば、要求は、
図1のセキュリティ機器106など、データ利用者のセキュリティ機器によって受信される。
【0034】
図3のブロック304で、データ利用者のセキュリティ機器は、データ・ブローカからのデータ・ブローカ鍵を要求する。本発明の1つまたは複数の実施形態によれば、データ・ブローカ鍵に対する要求は、
図1のセキュリティ機器104など、データ・ブローカのセキュリティ機器に対してなされる。要求の受信に応答して、データ・ブローカのセキュリティ機器は、利用者が有効である、または認可された、データへのアクセスを有するべき利用者であると決定した場合、データ・ブローカ鍵を利用者に返信する。追加として、データ・ブローカのセキュリティ機器は、アクセス要求をログ記録することができる。前に述べられたように、データ・ブローカのセキュリティ機器は、1つの時点で利用者がデータへのアクセスを有することをデータ・ブローカが認可すること、および別の時点で利用者によるアクセスをデータ・ブローカが認可しないことを決定することができる。追加として、アクセスの範囲(例えば、完全なアクセス、編集されたアクセスなど)は、データ・ブローカによって変更されることができ、異なる時点で異なり得る。このようにして、データ・ブローカは、データがデータ利用者に送られた後であっても、誰がデータへのアクセスを有するかを管理することができる。
【0035】
ブロック306で、データ利用者のセキュリティ機器は、データ所有者からのデータ所有者鍵を要求する。本発明の1つまたは複数の実施形態によれば、データ所有者鍵に対する要求は、
図1のセキュリティ機器102など、データ所有者のセキュリティ機器に対してなされる。要求の受信に応答して、データ所有者のセキュリティ機器は、利用者が有効である、または認可された、データへのアクセスを有するべき利用者であると決定した場合、データ所有者鍵を利用者に返信する。追加として、データ所有者のセキュリティ機器は、アクセス要求をログ記録することができる。前に述べられたように、データ所有者のセキュリティ機器は、1つの時点で利用者がデータへのアクセスを有することをデータ所有者が認可すること、および別の時点で利用者によるアクセスをデータ所有者が認可しないことを決定することができる。追加として、アクセスの範囲(例えば、完全なアクセス、編集されたアクセスなど)は、データ所有者によって変更されることができ、異なる時点で異なり得る。このようにして、データ所有者は、データがデータ・ブローカによってデータ利用者に送られた後であっても、誰がデータへのアクセスを有するかを管理することができる。
【0036】
図3のブロック308で、ブロック304および306での要求に応答して、データ・ブローカ鍵およびデータ所有者鍵の両方が受信されたかどうかが決定される。ブロック308でデータ・ブローカ鍵およびデータ所有者鍵の両方が受信されたと決定された場合、処理はブロック310で継続する。ブロック310で、データ・ブローカ鍵は、暗号化されたデータに適用されて、データ所有者鍵によって暗号化されたデータを生成する。次いでデータ所有者鍵は、データ所有者鍵によって暗号化されたデータに適用されて、利用者によって読み出し可能な暗号化されていないフォーマットでのデータを生成する。このデータは、
図1の用意されたデータ114など、用意されたデータとして記憶され得る。
図3のブロック312で、要求する利用者には、暗号化されていない、または用意されたデータへのアクセスがもたらされる。前に述べられたように、暗号化されていないデータは、編集またはデータ・マスキングあるいはその両方などの技術によって、利用者に対して難読化された、データまたはデータのサブセットの諸部分を含み得る。
【0037】
ブロック308で、データ・ブローカ鍵およびデータ所有者鍵の一方または両方が受信されていないと決定された場合、処理はブロック314で継続する。ブロック314で、データを復号するための鍵が利用者に使用可能になっていないので、利用者がアクセスを要求したデータに、利用者がアクセスすることは防止され得る。
図3の実施形態に示されないが、方法300は、鍵が受信されたかどうかを決定するために、ブロック314からブロック308へのループ・バックを含むことができる(例えば、設定された期間の後に、または検出されたイベントに応答して)。
【0038】
本発明の1つまたは複数の実施形態において、データ・ブローカおよびデータ所有者のセキュリティ機器は、データ利用者のセキュリティ機器からの要求に対する応答を常にもたらす。応答は、鍵、または利用者要求元はデータへのアクセスが拒否された旨の表示を含むことができる。
【0039】
図3のプロセス・フロー図は、方法300の動作が何らかの特定の順序で実行されること、または方法300の動作のすべてがあらゆる場合に含まれることを示すものではない。加えて、方法300は、任意の適切な数の追加の動作を含むことができる。
【0040】
本開示はクラウド・コンピューティングについての詳しい説明を含むが、本明細書に記載される教示の実施は、クラウド・コンピューティング環境に限定されないことが理解されるべきである。むしろ本発明の実施形態は、現在知られているまたは後に開発される任意の他のタイプのコンピューティング環境と共に実施される能力を有する。
【0041】
クラウド・コンピューティングは、最小の管理努力またはサービスのプロバイダとの対話により迅速に用意され、リリースされる、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有されたプールへの便利な、オンデマンド・ネットワーク・アクセスを可能にするためのサービス供給のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含み得る。
【0042】
特徴は以下の通りである。
【0043】
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人的対話を必要とせずに、自動的に必要に応じて、サーバ時間およびネットワーク・ストレージなど、コンピューティング能力を一方的に用意することができる。
【0044】
広いネットワーク・アクセス:能力はネットワークを通して使用可能であり、標準の機構を通してアクセスされ、これは異種のシンまたはシック・クライアント・プラットフォーム(例えば携帯電話、ラップトップ、およびPDA)による使用を促進する。
【0045】
リソース・プーリング:プロバイダのコンピューティング・リソースは、異なる物理および仮想リソースが需要に従って動的に割り当てられおよび再割り当てされながら、マルチ・テナント・モデルを用いて複数の消費者に供給するようにプールされる。消費者は一般に、もたらされるリソースの正確な位置に対する制御または知識をもたないが、抽象化のより高いレベルにおいて位置(例えば国、州、またはデータセンタ)を指定することが可能になり得るという点で、位置的な独立性の感覚がある。
【0046】
迅速な融通性:能力は、いくつかの場合において自動的に、速やかにスケール・アウトするように迅速におよび弾力的に用意されることができ、および速やかにスケール・インするように迅速に解放され得る。消費者には、プロビジョニングのために使用可能な能力は、しばしば無制限であるように見え、任意の時点で任意の量において購入され得る。
【0047】
測定されるサービス:クラウド・システムは、サービスのタイプ(例えばストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適した、何らかのレベルの抽象化における計量能力を活用することによって、リソース使用を自動的に制御および最適化する。リソース使用量は監視され、制御され、および報告されることができ、利用されるサービスのプロバイダおよび消費者の両方に対して透明性をもたらす。
【0048】
サービス・モデルは以下の通りである。
【0049】
サービスとしてのソフトウェア(SaaS):消費者にもたらされる能力は、クラウド・インフラストラクチャ上で実行するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えばウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通して、様々なクライアント・デバイスからアクセス可能である。限られたユーザ固有のアプリケーション構成設定を可能性のある例外として、消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個別のアプリケーション能力を含む、基礎をなすクラウド・インフラストラクチャを管理または制御しない。
【0050】
サービスとしてのプラットフォーム(PaaS):消費者にもたらされる能力は、消費者により作成された、またはプロバイダによってサポートされるプログラミング言語およびツールを用いて作成された取得されたアプリケーションを、クラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎をなすクラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションに対する制御を有する。
【0051】
サービスとしてのインフラストラクチャ(IaaS):消費者にもたらされる能力は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースを用意することであり、消費者は任意のソフトウェアを展開および実行することができ、これはオペレーティング・システムおよびアプリケーションを含むことができる。消費者は、基礎をなすクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、および場合によっては選択ネットワーキング構成要素(例えばホスト・ファイアウォール)の限られた制御を有する。
【0052】
展開モデルは以下の通りである。
【0053】
プライベート・クラウド:クラウド・インフラストラクチャは、専ら組織のために運用される。これは組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在し得る。
【0054】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共通の関心(例えばミッション、セキュリティ要件、ポリシー、およびコンプライアンス配慮)を有する特定のコミュニティをサポートする。これは組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在し得る。
【0055】
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大きな業界グループに対して使用可能とされ、クラウド・サービスを販売する組織によって所有される。
【0056】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるがデータおよびアプリケーション可搬性(例えばクラウドの間の負荷バランスのためのクラウド・バースティング)を可能にする標準化されたまたは独自開発の技術によって一緒に結び付けられた、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の構成である。
【0057】
クラウド・コンピューティング環境は、ステートレスであること、低いカップリング、モジュール性、およびセマンティック相互運用性に焦点を当てて方向付けられたサービスである。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0058】
次に
図4を参照すると、例示のクラウド・コンピューティング環境50が示される。示されるように、クラウド・コンピューティング環境50は、例えば携帯情報端末(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなどの、クラウド消費者によって用いられるローカル・コンピューティング・デバイスがそれと通信することができる、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は互いに通信することができる。それらは上記で述べられたようなプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組合せなどの、1つまたは複数のネットワークにおいて物理的または仮想的にグループ化され得る(図示せず)。これはクラウド・コンピューティング環境50が、クラウド消費者はそのためにローカル・コンピューティング・デバイス上にリソースを維持する必要がない、サービスとしてのインフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せを提供することを可能にする。
図4に示されるコンピューティング・デバイス54A~Nのタイプは例示のためのみであること、ならびにコンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続(例えばウェブ・ブラウザを用いた)あるいはその両方を通して、任意のタイプのコンピュータ化されたデバイスと通信できることが理解される。
【0059】
次に
図5を参照すると、クラウド・コンピューティング環境50(
図4)によってもたらされる、機能抽象化レイヤのセットが示される。
図5に示される構成要素、レイヤ、および機能は、例示のためのみであり、本発明の実施形態はそれらに限定されないことが予め理解されるべきである。示されるように、以下のレイヤおよび対応する機能がもたらされる。
【0060】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、記憶デバイス65、ならびにネットワークおよびネットワーキング構成要素66を含む。いくつかの実施形態において、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0061】
仮想化レイヤ70は抽象化レイヤをもたらし、それから以下の仮想エンティティの例、すなわち仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75がもたらされ得る。
【0062】
一例において管理レイヤ80は、以下に述べられる機能をもたらすことができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを行うために利用される、コンピューティング・リソースおよび他のリソースの動的調達をもたらす。計量および価格設定82は、クラウド・コンピューティング環境内でリソースが利用されるのに従って、コスト追跡、およびこれらのリソースの消費に対する請求書作成または請求をもたらす。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド消費者およびタスクに対する識別情報検証、ならびにデータおよび他のリソースに対する保護をもたらす。ユーザ・ポータル83は、消費者およびシステム管理者のために、クラウド・コンピューティング環境へのアクセスをもたらす。サービス・レベル管理84は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソース割り振りおよび管理をもたらす。サービス・レベル・アグリーメント(SLA)計画および履行85は、SLAに従って将来の要件が予想される、クラウド・コンピューティング・リソースの事前準備および調達をもたらす。
【0063】
作業負荷レイヤ90は、クラウド・コンピューティング環境がそれのために利用される機能性の例を示す。このレイヤからもたらされる作業負荷および機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、ならびにブレークポイント生成96を含む。
【0064】
本発明の1つまたは複数の実施形態は、現在知られているまたは後に開発される任意のタイプのコンピューティング環境と共に実施される能力を有することが理解される。
【0065】
次に
図6を参照すると、第三者データ集約サービスを通したコンテンツ管理をもたらすためのコンピュータ・システム600が、本発明の1つまたは複数の実施形態に従って全体的に示される。本明細書で述べられる方法は、ハードウェア、ソフトウェア(例えば、ファームウェア)、またはそれらの組合せにおいて実施され得る。本発明の1つまたは複数の例示的実施形態において、本明細書で述べられる方法は、汎用コンピュータ、ワークステーション、ミニコンピュータ、またはメインフレーム・コンピュータなど、専用または汎用デジタル・コンピュータのマイクロプロセッサの一部として、ハードウェアにおいて実施される。従ってシステム600は、O/Sの複数のインスタンスを同時に実行する能力を有する、汎用コンピュータまたはメインフレーム601を含み得る。
【0066】
本発明の1つまたは複数の例示的実施形態において、ハードウェア・アーキテクチャの観点から、
図6に示されるように、コンピュータ601は、1つまたは複数のプロセッサ605、メモリ・コントローラ615に結合されたメモリ610、およびローカル・入出力コントローラ635を通じて通信可能に結合された1つまたは複数の入力または出力あるいはその両方(I/O)のデバイス640、645(または周辺装置)を含む。入出力コントローラ635は、例えば、当技術分野で知られているように、1つまたは複数のバス、または他の有線もしくは無線接続とすることができるが、それらに限定されない。入出力コントローラ635は、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、および受信器など、簡単にするために省かれている、追加の要素を有し得る。さらに、ローカル・インターフェースは、前述の構成要素の間の適切な通信を可能にするために、アドレス、制御、またはデータ接続あるいはその組合せを含み得る。入出力コントローラ635は、出力デバイス640および645にアクセスするように構成された複数のサブチャネルを含み得る。サブチャネルは、光ファイバ通信ポートを含み得る。
【0067】
プロセッサ605は、ソフトウェア、特にキャッシュ記憶装置、またはメモリ610など、ストレージ620に記憶されたものを実行するためのハードウェア・デバイスである。プロセッサ605は、任意の特注のまたは市販のプロセッサ、中央処理装置(CPU)、コンピュータ601に関連付けられたいくつかのプロセッサの中の補助プロセッサ、半導体ベースのマイクロプロセッサ(マイクロチップまたはチップ・セットの形での)、マクロプロセッサ、または命令を実行するための一般に任意のデバイスとすることができる。
【0068】
メモリ610は、揮発性メモリ要素(例えば、ランダム・アクセス・メモリ(DRAM、SRAM、SDRAMその他などの、RAM))、および不揮発性メモリ要素(例えば、ROM、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、プログラマブル読み出し専用メモリ(PROM)、テープ、コンパクト・ディスク読み出し専用メモリ(CD-ROM)、ディスク、ディスケット、カートリッジ、カセットその他など)のいずれかまたは組合せを含むことができる。さらにメモリ610は、電子、磁気、光、または他のタイプあるいはその組合せの記憶媒体を組み込むことができる。メモリ610は、様々な構成要素が互いに遠隔に位置するが、プロセッサ605によってアクセスされることができる分散型アーキテクチャを有し得ることが留意される。
【0069】
メモリ610内の命令は、1つまたは複数の別個のプログラムを含むことができ、そのそれぞれは、論理機能を実施するための実行可能命令の順序付けられたリストを備える。オペレーティング・システム611は、本質的に他のコンピュータ・プログラムの実行を制御し、スケジューリング、入出力制御、ファイルおよびデータ管理、メモリ管理、および通信制御、ならびに関連するサービスをもたらす。
【0070】
本発明の1つまたは複数の実施形態によれば、メモリ610は、それぞれがオペレーティング・システムのインスタンスを実行する、複数の論理パーティション(Logical Partition:LPAR)を含み得る。LPARは、メモリ610に記憶され、プロセッサ605によって実行されるプログラムとすることができる、ハイパーバイザによって管理され得る。
【0071】
本発明の1つまたは複数の例示的実施形態において、従来型のキーボード650およびマウス655は、入出力コントローラ635に結合され得る。I/Oデバイス640、645などの他の出力デバイスは、例えば、プリンタ、スキャナ、マイクロホンなど、入力デバイスを含み得るが、それらに限定されない。最後に、I/Oデバイス640、645は、入力および出力を通信するデバイス、例えば、ネットワーク・インターフェース・カード(NIC)または変調器/復調器(他のファイル、デバイス、システム、またはネットワークにアクセスするための)、無線周波数(RF)または他のトランシーバ、電話インターフェース、ブリッジ、ルータなどをさらに含み得るが、それらに限定されない。システム600は、ディスプレイ630に結合されたディスプレイ・コントローラ625をさらに含むことができる。
【0072】
本発明の1つまたは複数の例示的実施形態において、システム600は、ネットワーク665に結合するためのネットワーク・インターフェース660をさらに含むことができる。ネットワーク665は、コンピュータ601と、任意の外部サーバ、クライアントなどとの間の、ブロードバンド接続を通じた通信用のIPベースのネットワークとすることができる。ネットワーク665は、コンピュータ601と外部システムとの間で、データを送信および受信する。例示的実施形態において、ネットワーク665は、サービス・プロバイダによって運営される管理されたIPネットワークとすることができる。ネットワーク665は、例えば、WiFi、WiMaxなど、無線プロトコルおよび技術を用いた、無線のやり方で実施され得る。ネットワーク665はまた、ローカル・エリア・ネットワーク、広域ネットワーク、メトロポリタン・エリア・ネットワーク、インターネット・ネットワーク、または他の同様なタイプのネットワーク環境などの、パケット交換ネットワークとすることができる。ネットワーク665は、固定無線ネットワーク、無線ローカル・エリア・ネットワーク(LAN)、無線広域ネットワーク(WAN)、パーソナル・エリア・ネットワーク(PAN)、仮想プライベート・ネットワーク(VPN)、イントラネットまたは他の適切ネットワーク・システムとすることができ、信号を受信および送信するための機器を含む。
【0073】
コンピュータ601が、PC、ワークステーション、インテリジェント・デバイスなどである場合、メモリ610内の命令は、基本入出力システム(BIOS)(簡単にするために省略される)をさらに含み得る。BIOSは、スタートアップにおいてハードウェアを初期化およびテストし、OS611を開始し、ハードウェア・デバイスの間のデータの転送をサポートする、必須のソフトウェア・ルーチンのセットである。BIOSは、コンピュータ601が起動されたときにBIOSが実行されるように、ROMに記憶される。
【0074】
コンピュータ601が動作中のとき、プロセッサ605は、メモリ610に記憶された命令を実行し、メモリ610におよびそれからデータを通信し、命令に従ってコンピュータ601の動作を全体的に制御するように構成される。本発明の1つまたは複数の実施形態によれば、コンピュータ601は、
図4のクラウド・コンピューティング・ノード10の例である。
【0075】
本発明の様々な実施形態は、本明細書において、関連する図面を参照して述べられる。本発明の範囲から逸脱せずに、本発明の代替実施形態が考案され得る。以下の説明において、および図面において、要素の間の様々な接続および位置関係(例えば、上に、下に、隣接してなど)が記述される。これらの接続または位置関係あるいはその両方は、他に明記されない限り、直接または間接とすることができ、本発明はこの点に関して限定するものではない。従って、エンティティの結合は、直接または間接結合を指すことができ、エンティティの間の位置関係は、直接または間接の位置関係とすることができる。さらに、本明細書で述べられる様々なタスクおよび処理ステップは、本明細書では詳しく述べられない追加のステップまたは機能を有する、より包括的な手順またはプロセスに組み込まれ得る。
【0076】
本明細書で述べられる方法の1つまたは複数は、当技術分野ではよく知られている以下の技術、すなわちデータ信号に対して論理機能を実施するための論理ゲートを有するディスクリート論理回路、適切な組合せ論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブル・ゲート・アレイ(PGA)、フィールド・プログラマブル・ゲート・アレイ(FPGA)などのいずれかまたは組合せによって実施され得る。
【0077】
簡潔にするために、本発明の態様の製作および使用に関する従来の技術は、本明細書で詳しく述べられる場合または述べられない場合がある。具体的には、本明細書で述べられ様々な技術的特徴を実施するためのコンピューティング・システムおよび特定のコンピュータ・プログラムの様々な態様は、よく知られている。従って、簡略にするために、多くの従来の実装形態の詳細は、本明細書では簡潔に述べられるだけであるか、またはよく知られたシステムまたはプロセスあるいはその両方の詳細を示さずに全く省かれる。
【0078】
いくつかの実施形態において、様々な機能または作用は、所与の場所において、または1つまたは複数の装置もしくはシステムの動作に関連して、あるいはその両方で生じ得る。いくつかの実施形態において、所与の機能または作用の一部分は、第1のデバイスまたは場所において行われることができ、残りの機能または作用は、1つまたは複数の追加のデバイスまたは場所において行われ得る。
【0079】
本明細書で用いられる専門用語は、特定の実施形態を述べるためのみであり、限定するものではない。本明細書で用いられる単数形「a」、「an」、および「the」は、文脈が異なる解釈を明らかに示す場合を除き、複数形も含むものである。さらに本明細書で用いられるとき、用語「備える(comprises)」または「備える(comprising)」あるいはその両方は、記載された特徴、整数、ステップ、動作、要素、または構成要素あるいはその組合せの存在を明記するものであるが、1つまたは複数の他の特徴、整数、ステップ、動作、要素構成要素、またはそれらのグループあるいはその組合せの存在または追加を除外するものではないことが理解されるであろう。
【0080】
以下の「特許請求の範囲」における対応する構造、材料、作用、およびすべての手段またはステップおよび機能要素の等価物は、具体的に特許請求されるものとして、他の特許請求される要素との組合せにおいて機能を行うための、任意の構造、材料、または作用を含むことが意図される。本開示は、例示および説明のために提示されているが、網羅的であること、または開示された形に限定されることを意図するものではない。当業者には、本開示の範囲および思想から逸脱せずに、多くの変更形態および変形形態が明らかになるであろう。実施形態は、本開示の原理、および実際の応用例を最もよく説明するように、ならびに他の当業者が、企図される特定の使用に適するように様々な変更を有する様々な実施形態に対して本開示を理解することを可能にするように選ばれ、述べられた。
【0081】
本明細書で示される図は、説明のためのものである。図またはそこで述べられるステップ(または動作)には、本開示の思想から逸脱せずに、多くの変形が存在し得る。例えば、アクションは異なる順序で行われることができ、またはアクションは追加、削除、または変更され得る。また、「結合される」という用語は、2つの要素の間に信号経路を有することを記述し、それらの間に介在する要素/接続がない、要素の間の直接の接続を意味しない。これらの変形のすべては、本開示の一部と考えられる。
【0082】
以下の定義および略語は、「特許請求の範囲」および本明細書の解釈のために用いられるものである。本明細書で用いられる、用語「備える(comprises、 comprising)」、「含む(includes、 including)」、「有する(has、 having)」、「含む(containsもしくはcontaining)」、またはそれらの任意の他の変形は、非排他的包含を包括するものである。例えば、要素のリストを備える組成物、混合物、プロセス、方法、製品、または装置は、必ずしもそれらの要素のみに限定されず、明示的に列挙されないまたはこのような組成物、混合物、プロセス、方法、製品、または装置に固有でない他の要素を含むことができる。
【0083】
加えて、本明細書では「例示的」という用語は、「例、事例、または例証として役立つ」ことを意味するように用いられる。「例示的」として本明細書で述べられるいずれの実施形態または設計も、必ずしも他の実施形態または設計より好ましいまたは有利であると解釈されるものではない。「少なくとも1つ」および「1つまたは複数」という用語は、1以上の任意の整数、すなわち1、2、3、4などを含むものと理解される。「複数(a plurality)」という用語は、2以上の任意の整数、すなわち2、3、4、5などを含むものと理解され得る。「接続」という用語は、間接的「接続」および直接的「接続」の両方を含み得る。
【0084】
「約(about)」、「実質的に(substantially)」、「おおよそ(approximately)」という用語およびそれらの変形は、本出願を申請する時点で使用可能な機器に基づいて、特定の量の測定に関連付けられる誤差の程度を含むことが意図される。例えば、「約」は所与の値の±8%または5%または2%を含み得る。
【0085】
本発明は、統合の任意の可能な技術的詳細レベルにおける、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を遂行させるためのコンピュータ可読プログラム命令を有する、コンピュータ可読記憶媒体を含み得る。
【0086】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる、有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の適切な組合せとすることができるが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカードまたはその上に記録された命令を有する溝状の隆起構造などの機械的エンコード型デバイス、およびこれらの任意の適切な組合せを含む。本明細書で用いられるコンピュータ可読記憶媒体とは、電波または他の自由に伝搬する電磁波、導波路または他の伝送媒体を通して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または線材を通して伝送される電気信号など、それ自体が一時的信号であるものと解釈されるものではない。
【0087】
本明細書で述べられるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワークあるいはその組合せを通じて、外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを備え得る。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体における記憶のために転送する。
【0088】
本発明の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存型命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様なプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンド・アロン・ソフトウェア・パッケージとして、専らユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、あるいは専らリモート・コンピュータまたはサーバ上で、実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む、任意のタイプのネットワークを通してユーザのコンピュータに接続されることができ、または外部コンピュータへの接続がなされ得る(例えば、インターネット・サービス・プロバイダを用いてインターネットを通して)。いくつかの実施形態において、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を行うために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人化することによって、コンピュータ可読プログラム命令を実行し得る。
【0089】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の、フローチャート図またはブロック図あるいはその両方を参照して本明細書で述べられる。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施されることが理解されるであろう。
【0090】
これらのコンピュータ可読プログラム命令は、コンピュータのプロセッサまたは他のプログラム可能なデータ処理装置を通じて実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/作用を実施するための手段を作成するように、マシンを生じるべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに供給され得る。これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/作用の態様を実施する命令を含んだ製品を備えるように、特定のやり方で機能するようにコンピュータ、プログラム可能なデータ処理装置、または他のデバイスあるいはその組合せに指示することができる、コンピュータ可読記憶媒体に記憶され得る。
【0091】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能な装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/作用を実施するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上にロードされて、コンピュータによって実施されるプロセスを生じるべく、一連の動作ステップがコンピュータ、他のプログラム可能な装置、または他のデバイス上で行われるようにさせることができる。
【0092】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この関連において、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を備えるモジュール、セグメント、または命令の一部分を表すことができる。いくつかの代替的実装形態において、ブロック内に記された機能は、図に記されたものとは異なる順序で生じ得る。例えば、連続して示される2つのブロックは、実際は、実質的に並行して実行されることができ、またはブロックは関わる機能性に応じて、時には逆の順序で実行され得る。またブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能または作用を行う、または専用ハードウェアおよびコンピュータ命令の組合せを遂行する、専用ハードウェア・ベースのシステムによって実施されることが留意されるであろう。
【0093】
本発明の様々な実施形態の説明は、例示のために提示されたが、網羅的であること、または開示される実施形態に限定されるものではない。当業者には、述べられる実施形態の範囲および思想から逸脱せずに、多くの変更形態および変形形態が明らかになるであろう。本明細書で用いられる専門用語は、実施形態の原理、実用的な応用例、または市場で見出される技術に対する技術的改良を最もよく説明するように、または当業者が本明細書で述べられる実施形態を理解することを可能にするように選ばれている。