(57)【要約】データセットを記述する追加のセマンティック情報が、データセットからのデータの要求に応じて推論され、例えば、データの要求に基づいて抽出された結果のサブセットを分析して追加のセマンティック情報を判断するなど、データセットについてのクエリに応じて推論される。追加のセマンティック情報は、発行者によって正しいことを検証される、または確率的に正当性を満たすことが可能である。システムが追加のセマンティック情報（例えば、所与のカラムおよびデータタイプが表すものに関する情報）を習得するとき、追加のセマンティック情報に基づいたマッピング情報を管理し、更新することができ、更新された追加のセマンティック情報により厳密に対応するように、将来のデータ要求の形式（例えば、ＵＲＬによるクエリ）を更新することができる。
2013522733.tif 000002
【特許請求の範囲】
【請求項１】
データをホストするための方法であって、
コントロールの第１の領域にある少なくとも１つのコンピューティングデバイスによって、少なくとも１つのネットワークを介してコントロールの第２の領域にある少なくとも１つのコンピューティングデバイスから、前記コントロールの第１の領域にある前記少なくとも１つのコンピューティングデバイスによって格納された少なくとも１つのデータセットに適用できるデータ要求を受信するステップと、
前記データ要求に応じて、前記データ要求に基づいて前記少なくとも１つのデータセットから結果のサブセットを抽出するステップと、
前記結果の前記サブセットから、前記少なくとも１つのデータセットを記述する追加のセマンティック情報を推論するステップと、
前記追加のセマンティック情報に基づいて前記少なくとも１つのデータセットの識別子を記述するマッピング情報を形成するまたは更新するステップと
を含むことを特徴とする方法。
【請求項２】
前記追加のセマンティックス情報に基づいて前記少なくとも１つのデータセットを通じて将来のデータ要求と関連したセマンティックスを更新するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記形成するまたは前記更新するステップは、前記追加のセマンティック情報に基づいて前記少なくとも１つのデータセットの少なくとも１つのカラム名を形成するまたは更新するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記受信するステップは、少なくとも１つの構造データセットに適用できるクエリを受信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記抽出するステップは、前記データ要求を実行することから返される前記結果のサブセットを抽出するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記抽出するステップは、前記データ要求を実行することから返される前記結果のサブセットをランダムにまたはセミランダムに抽出するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記抽出するステップは、前記データ要求から生じた少なくとも１つのデータ要求を実行することから返される前記結果のサブセットを抽出するステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記推論するステップは、前記少なくとも１つのデータセットのデータタイプを記述する前記結果のセマンティック情報の前記サブセットから推論するステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記推論するステップは、前記サブセットと少なくとも１つのあらかじめ決定されたデータのタイプとの間の関係を記述する前記結果のセマンティック情報の前記サブセットから推論するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記推論するステップは、前記サブセットと少なくとも１つのあらかじめ決定されたデータのタイプのカテゴリとの間の関係を記述するする前記結果のセマンティック情報の前記サブセットから推論するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
データを発行するための方法であって、
コントロールの第１の領域にある少なくとも１つの受信コンピューティングデバイスによって、コントロールの第２の領域にある少なくとも１つの発行コンピューティングデバイスから、前記少なくとも１つのコンピューティングデバイスによって発行された少なくとも１つのデータセットを受信するステップと、
前記少なくとも１つのデータセットのサブセットを分析し、前記少なくとも１つのデータセットのデータと関連する情報を識別することに関して、または前記少なくとも１つのデータセットの前記データのタイプに関して、前記少なくとも１つのデータセットに関するセマンティック情報を推論するステップと、
前記推論するステップによって推論される前記セマンティック情報が正しいという、前記少なくとも１つの発行コンピューティングデバイスからの検証を要求するステップと
を含むことを特徴とする方法。
【請求項１２】
前記検証を受信することに応じて、前記セマンティック情報に基づいて前記少なくとも１つのデータセットの識別子を記述するマッピング情報を形成するまたは更新するステップ
をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記検証を受信することに応じて、前記セマンティック情報に基づいて少なくとも１つの構造データセットのカラムを記述するマッピング情報を形成するまたは更新するステップ
をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記検証を受信することに応じて、前記セマンティックス情報に基づいて前記少なくとも１つのデータセットに対するクエリと関連するセマンティックスを再定義するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記検証を受信することに応じて、前記セマンティックス情報に基づいて、少なくとも１つのユニバーサルリソース識別子（ＵＲＩ）またはユニバーサルリソースロケータ（ＵＲＬ）を介して実行されるクエリと関連したセマンティックスを再定義するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、１つまたは複数のネットワークを介してアクセス可能な１つまたは複数のデータを照会することに応じて、１つまたは複数のインタフェースに基づいたセマンティックスおよび／またはインタフェースを更新することに関する。
【背景技術】
【０００２】
いくつかの従来のシステムに関する背景として、コンピューティングデバイスは伝統的に情報を格納し、アプリケーションおよびデータサービスをローカルにデバイスに関連づけてきた。しかし、オンラインサービスおよびクラウドサービスの発達とともに情報は、デバイスに代わってサービスを行わない、サービスの一部を行う、またはサービスの全部を行うネットワークプロバイダにますます移されつつある。テラバイトのデータ（将来的にはペタバイト、エクサバイトの可能性を有する)を格納することができるネットワークストレージファームの発達は、一次デバイスと外部ストレージを分離して、クラウドにおいてローカシナリオを模倣する機会を作り出した。
【０００３】
しかしながら、発行者、開発者、および消費者が、ある方法で含まれているものすべてに対して追跡して監査できるいかなる種類のデータも容易に発行し、そのためのアプリケーションを特殊化し、消費して、いかなるプラットフォームでもサービスとしての情報を有効に提供できたクラウドサービスやネットワークストレージプロバイダはない。さらに、今日では、異なるいくつかのコンテンツプロバイダおよびその一般に固有の（ｐｒｏｐｒｉｅｔａｒｙ）データを定義するための方式によって、異なるコンテンツプロバイダは、クラウドへのそれらの発行行為を互いに協調させず、このような異なる発行行為の結集した力を活用する機会がほとんどない。実際に、購読者または開発者のような、パブリシング（ｐｕｂｌｉｓｈｉｎｇ）の消費者層には、２つの異なるデータセットは、たとえデータまたはデータタイプの一部の重複または実質的な重複がある可能性があっても、２つの異なる形状を有するように見える。
【０００４】
より詳細には、現在、様々な関係者によってデータがアップロードされる方法は、異なるデータセットの同様のカラム（例えば、共に都市を表わしている）が、たとえ仮に名前を付けられるとしても、似ているまたは似ていない可能性のある異なる名前を有することになる。いずれの場合も、どのカラムが同じまたは同様に名前を付けられるべきかを決定する、またはその他の場合はデータのタイプまたはカラム間の関係を判断するために、基となるデータおよび検証に人が介入することが従来の方法である。スケーラブルでないことに加えて、基となるデータにおけるこのような介入は、データが変更されないままであることの保証を望む発行者にとって望ましくない可能性があり、クラウドに発行される可能性がある固有のデータセットのホストの場合も同様である。
【０００５】
今日のデバイスおよびデータサービスの上述の欠陥は、単に、従来のシステムの問題の一部の概要を提供することを意図しており、網羅的であることを意図していない。当技術の状態に伴う他の問題および様々な非限定的実施形態の対応する利点は、次の詳細な説明を検討すればさらに明らかになるであろう。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】www.odata.org
【発明の概要】
【０００７】
以下のより詳細な説明および添付の図面にある例示的、非限定的実施形態の様々な態様の基本的な理解または総合的な理解を可能にする助けとなるように、本明細書では簡略化した要約を提供する。しかしながらこの要約は、広範囲にわたる、または網羅的な概要とするつもりはない。代わりにこの要約の唯一の目的は、いくつかの例示的非限定的実施形態と関連するいくつかの概念を、次の様々な実施形態のより詳細な説明への前置きとして簡略化した形式で提示することである。
【０００８】
任意のプラットフォームからのサービスとしての情報と関連して、例えばＵＲＩ（ｕｎｉｖｅｒｓａｌ  ｒｅｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｅｒ、統一資源識別子）によるクエリなど、クエリＡＰＩを介してプログラムによるアクセスを行って、様々なデータセットをクラウドに格納することができる。データについてますます多くのクエリが実行されて、データセットに関する情報を推論するさらなる機会をもたらすにつれて、システムが発展的方法で発行されるその格納データを学習して自己記述する（ｓｅｌｆ−ｄｅｓｃｒｉｂｅ）ので、データセットを記述するＡＰＩおよびセマンティックスは適応性がある。
【０００９】
データセットを記述する追加のセマンティック情報は、例えば、データセットへのクエリに応じて、データの要求に基づいて抽出された結果のサブセットを分析して追加のセマンティック情報を判断するなど、データセットからのデータの要求に応じて推論することができる。追加のセマンティック情報は、発行者によって正確であると検証される、または確率論的に正しいことを満たすことが可能である。システムが追加のセマンティック情報（例えば、所与のカラムが表すものおよびデータ型が表すものに関する情報）を学習するので、追加のセマンティック情報に基づくマッピング情報を維持して、更新することができ、将来のデータ要求の形式（例えばＵＲＬによるクエリ）は、更新された追加のセマンティック情報により厳密に対応するように更新することができる。
【００１０】
他の実施形態および様々な非限定的例、シナリオ、および実行について、以下により詳細に説明する。
【図面の簡単な説明】
【００１１】
様々は非限定的実施形態について、添付の図面を参照してさらに説明する。
【００１２】
【図１】任意のプラットフォームからのサービスとして提供される情報と関連するマッピング情報を更新するための例示的非限定的実施形態を示す流れ図である。
【図２】任意のプラットフォームからのサービスとして提供される情報と関連した発行者の推論されたセマンティックスの検証を要求するための例示的非限定的実施形態を示す流れ図である。
【図３】任意のプラットフォームからのサービスとして提供される情報と関連するデータ要求ＡＰＩを更新するための例示的非限定的実施形態を示す流れ図である。
【図４】任意のプラットフォームからのサービスとして提供される情報の一実施形態と関連した、発行者による発行の例示的非限定的行為を示すブロック図である。
【図５】任意のプラットフォームからのサービスとして提供される情報の一実施形態と関連した、発行されたデータセットからデータを要求する開発者または他の消費者の例示的非限定的行為を示すブロック図である。
【図６】任意のプラットフォームからのサービスとして提供される情報の一実施形態と関連した、データ要求に応じてセマンティック情報を推論する例示的非限定的行為を示すブロック図である。
【図７】任意のプラットフォームからのサービスとして提供される情報の一実施形態と関連した、発行者による推論された情報を検証する例示的非限定的行為を示すブロック図である。
【図８】任意のプラットフォームからのサービスとして提供される情報の一実施形態と関連した、自動的に更新されるアクセスＡＰＩに基づくより豊富な将来のデータ要求の例示的非限定的行為を示すブロック図である。
【図９】任意のプラットフォームからのサービスとして提供される情報のための非限定的インフラストラクチャの例示的シーケンスを示す流れ図である。
【図１０】任意のプラットフォームからのサービスとして提供される情報のための例示的非限定的インフラストラクチャを示すブロック図である。
【図１１】任意のプラットフォームからのサービスとして提供される情報のためのインフラストラクチャの例示的非限定的な一連の実施の特定の詳細を示すブロック図である。
【図１２】任意のプラットフォームからのサービスとして提供される情報のための例示的インフラストラクチャからのデータの例示的消費を示す図である。
【図１３】本明細書に記載する様々な実施形態を実施することができる例示的非限定的ネットワーク化された環境を表すブロック図である。
【図１４】本明細書に記載する様々な実施形態の１つまたは複数の態様を実施することができる例示的非限定的コンピューティングシステムまたは動作環境を表すブロック図である。
【発明を実施するための形態】
【００１３】
概要
背景で説明したように、異なるデータセットを提供する異なるコンテンツプロバイダは、一般に互いのデータセットの知識がない、またはそうすべきいかなる特定の動機もないので、一般に調和して機能せず、それらのデータセット中に表される情報またはデータのタイプに重複が起こり得る。発行後に基となるデータセットへ干渉しないことがストレージエンティティによる保証の１つである情報サービスでは、したがって発行されたデータは変更されないままであり、現在では、内部知識およびカスタムアプリケーションの開発によるものを除いて、開発者または消費者側でこの結集した力を利用する方法がない。
【００１４】
例えば、コンテンツプロバイダＡは、例えばｌａｔ、ｌｏｎｇおよびｃｒｉ＿ｒａｔｅというカラム名など、犯罪率に対応する緯度、経度のカラムを含むテーブルを発行することができる。コンテンツプロバイダＢは、ｘ座標およびｙ座標が緯度および経度に対応した都市の映画館情報を発行することができるが、ただし、都市のカラムは代わりに「名前」で呼ばれる、例えば、＿ｔｈｅａｔｒｅ、＿Ｎａｍｅ、＿ｘおよび＿ｙというカラム名である場合がある。したがって、異なるカラムのセマンティック的意味は依然として難解であるため、発行者に保持される適切なアクセス許可なしではストレージ側でデータそのものを調べることはできない場合、２つのセットをつなぎ合わせることによって、最も犯罪率の低い都市の映画館を実際に判断することができることは、消費側の従来のいかなる手段によっても不明である。
【００１５】
したがって、＿ｘおよび＿ｙはｌａｔおよびｌｏｎｇであること、＿Ｎａｍｅは都市名を意味すること、ならびに＿ｔｈｅａｔｒｅは映画館の名前を指すことを判断することが望ましい。次いで、２つのデータセットについての１つのクエリは、適切なクエリに従って賢明な方法でテーブルをつなぎ合わせ、映画館付近の犯罪率に関する有用なデータ、すなわちこのような情報なしでは識別されなかった情報を返すことができる。従来からこの作業はサーバ側で内密にデータセットを直接調べることにより手動によって行うことができるが、データはサーバ側では効果的に見ることができず、例えば開発者は、一定の特権に基づいてデータについて一定のタイプのクエリしか実行できないので、現在はこのような相関結合を行うことに窮している。
【００１６】
したがって、様々な非限定的実施形態では、データセットについての開発者の実際の（許可された）クエリに基づいて、このようなクエリの結果、またはこのようなクエリに基づく自動的なクエリに基づいた結果を調べる、または部分的に調べて、データに関する一定の推論を行い、学習したセマンティック情報でデータセットを実質的に増大させ、以前は異なるデータ／タイプを表わすと思われていたコラム間の（１つまたは複数の）マッピングを提供することによって結合の可能性を向上させるだけでなく、このような知識に基づいてクエリに使用される言語を改善し、より多くの記述的および論理的クエリを生み出すことができる。したがって、クエリに使用される言語は、このような推論にも適合して、このようなデータ要求を行うためのより明瞭で、より表現に富み、直観的な構文を作り出す。この点において、様々な実施形態に従って、このようなネットワークは、例えばクエリを行うなど、情報を要求して、結合、フィルタリング、マージなどの能力、および使い勝手の良さを有効性の観点で適応的に改善する。
【００１７】
これらおよびその他の様々な例示的非限定的実施形態およびシナリオのさらなる詳細を以下に提供する。
【００１８】
サービスとしての情報に関連するデータセットのセマンティックスおよび（１つまたは複数の）アクセスＡＰＩを更新する
上述のように、サービスとしての情報の状況では、データセットに表すことができるもの（電話番号、都市名コード、住所、都市、国家、郵便番号など）は限られており、これらはカラム名によって推論することができる、またはデータ自体についての重み付けされたマッチングアルゴリズム（例えば、最初の１０００件など）によって推論されることが可能である。重要なデータについては、データを分類するために人を採用することができるが、大量のデータについては、このような従来の人による分類は十分にスケール調整（ｓｃａｌｅ）せず、異なるセマンティックスを用いる発行者によってデータが再発行される場合、人による特性解析（ｃｈａｒａｃｔｅｒｉｚａｔｉｏｎ）はすでに無効である可能性がある。
【００１９】
したがって、様々な実施形態では、データセットを照会した結果もたらされるランダムサンプルを分析して、データのタイプを推論することができるかどうかを判断する。例えば、コンテンツプロバイダが、例えば固有の方式に従って、不完全に記述されたデータのセットを提供する。このデータについて受信されたデータ要求に基づいて、またはこれに応じて、一組のアルゴリズムを適用するためにデータセットからサンプルのセットを抽出して、このデータのセマンティック的意味を推論する、例えばデータもしくはカラム名の中の手掛かり、または他のカラム名に基づいてデータタイプまたはカラム名を推論することができる。一般に発行者は、発行する自身のデータを改ざんされたくないので、一組の増大したセマンティックス、例えばマッピングをシステムが管理し、システムによって行われる推論を記述する、例えば、先の例については＿ｘ  ＝  ｌａｔｉｔｕｄｅを記述することができる。この関連では、結果として次の開発者は、このデータセットの問い合わせに関するより多くの情報を与えられ、この場合、経度のカラムを有する他のデータセットを用いてより多くの結合、フィルタリングなどを行うことができ、さらに、構文の一部として「＿ｘ（．．．）」をすでに含んでいたアクセスＡＰＩ自体を更新して「ｌａｔｉｔｕｄｅ（．．．）」にし、さらに開発者を援助するためにアクセスＡＰＩを時間とともに自己記述型にすることができる。１つの例では、例えばＯＤａｔａなど、ＵＲＬによってクエリＡＰＩを実行するが、これについてのさらなる詳細は以下に記載する。
【００２０】
１つの実施形態では、所与の母集団の年齢分布など、周知のデータの分布に基づいて重み付けされたアルゴリズムを使用して、所与のデータセットまたはカラム名が表すものを確率的に判断することができ、例えば、一組の浮動小数点数が年齢を表すことを判断することができる。
【００２１】
このようにして、データの発行を現状のまま、より難しくすることなく、電話番号および住所などの一定の規則を、例えばセマンティックマッピングを保守管理するなどの間接的な処置によりコンテンツプロバイダで実施することができる。このように、コンテンツプロバイダは発行を促されるが、消費者は依然としてデータの統一感から恩恵を受ける。例えば、電話番号は、比較的容易にそのようなものとして識別できる数値データの一例であるが、局番の丸括弧、ダッシュなどの変形が存在する。例えば、「ＰＮ」というカラム名を「電話番号」もしくは他のより記述的なものに変更するなど、時間とともにアクセスＡＰＩをより一層自己記述型に適応させることに加えて、推論に基づいたセマンティックマッピングによってこの表現を標準化すると、開発者および購読者によるこのデータの消費がさらに容易になる。
【００２２】
さらに、発行者は、関与することを選択することもできる。発行者は、アップロード時に関与するよう要求されないが、システムは推論を行って、発行者にこの推論を確認させることができ、したがってマッピング情報および記述的アクセスＡＰＩが最初から公開される可能性がある。例えば、システムが発行者は給与情報をアップロードしていると推論するとき、システムは発行者にそれは手取り給与額を表わすか税込給与額を表わすかを尋ねることができる。
【００２３】
増大したセマンティックスにより、以前は互いに関連のなかった２つのより小さいテーブルを結合する、マージする、フィルタリングすることなどが可能になり、最初は異なるセマンティックスにもかかわらず、これらは同様のデーブル、カラム、データタイプなどを含むと推論される。
【００２４】
様々なアルゴリズムを使用して、セマンティックスに関する情報を推論することができ、例えば重み付けされたマッチング技術を使用することができる、クエリ結果のサブセットを手動で調べる、クエリ結果のサブセットのコミュニティレビュー（例えば、Ｗｉｋｉｐｅｄｉａの同意など)、データ品質スコアの割当て、データから個々にカラムのデータを発送するなどである。上述のように、データが表わすものを推論することに加えて、データを「クリーンアップ」することもできる。例えば、多くの様々な方法で時刻が表わされ、所与のカラムが時刻を表わすことがわかる場合があるが、このような様々なフォーマットを世界時フォーマットに変換すると、データセット間の操作に関連する利点がある。上述のように、電話番号およびアドレスは、様々な表示フォーマットにわたって標準化することができる情報のもう１つの例である。
【００２５】
また、実際の結果のセットからランダムなサンプルのサブセットを取り出して、このような推論を行うことができ、したがってさらなるクエリが行われて、サンプル母集団はより一層多数および多様になるので、システムは時間とともに向上することができる。カラム名は、方向を決定する、または情報を与えるものとすることもでき、例えばカラムをｃｉｔｃｏｄｅという名前にする場合、システムは本質的に何を表しているかがわかる。このような追加のセマンティック情報を推論するために、複数の上述の技術のいずれも階層的に適用することができる。この点において、発行者のデータベースの問題によって発行されるようなデータセット全体を単に調べることにより問題を処理するのではなく、アクセスＡＰＩコールのメカニズムを通してこのようなセマンティック更新を実現できるので、学習した情報を反映し始めるときＡＰＩコール自体の構文内で、動的な更新、ならびに時間とともにより正確に記述的になるシステムが可能になる。
【００２６】
上述のように、任意のプラットフォームからのサービスとしての情報に関連したオープンデータプロトコルによりＵＲＬを通してデータを更新することができる。消費者が要求しているものに基づいて、データに名前を付ける方法をチェックすることによって、また返される実際のデータセットに基づいて、データの推論を行うことができる。結果として、次にはより良い名前を有し、ＡＰＩ（ＵＲＬで表される）は自動的に更新され、ｈｔｔｐ：／／ｄａｌｌａｓ／．．．／＿ａ（ＳＥＡ）と示していたクエリのセマンティックスは次には、ｈｔｔｐ：／／ｄａｌｌａｓ／．．．／Ｃｉｔｙ  （Ｓｅａｔｔｌｅ）と次にはより良く表示するようになる。言い換えれば、データについての論理的セマンティックスを、ＵＲＬを通して要求されて処理されるように構築し続けて、カラム間のマッピングを決定するだけでなく、ＵＲＬまたはアクセスＡＰＩのセマンティックスをより一般的に向上させる。
【００２７】
図１は、任意のプラットフォームからのサービスとして提供される情報と関連するマッピング情報を更新するための例示的非限定的実施形態を示す流れ図である。１００において第１の制御領域のコンピューティングデバイスは、ネットワークを介して第２の制御領域のコンピューティングデバイスからデータ要求を受信する。例えばクエリ、より具体的な例としてはＵＲＬによるクエリなどのデータ要求は、第１の制御領域のコンピューティングデバイスに対して発行され、第１の制御領域のコンピューティングデバイスによって格納される１つまたは複数のデータセットに適用することができる。１１０において、データ要求に応えて、データ要求に基づいて１つまたは複数のデータセットから結果のサブセット（例えばランダムまたはセミランダムなサブセット）を抽出する。結果のサブセットは、データ要求自体から、または並行して実行される派生的なデータ要求から、ただしデータ要求の構文に基づいて返されるまたは抽出されることが可能である。
【００２８】
１２０において、結果のサブセットから、１つまたは複数のデータセットを記述するさらなるセマンティック情報を推論する。セマンティック情報は、少なくとも１つのデータセットのデータのタイプまたはサブセットと少なくとも１つのあらかじめ決定されたデータのタイプとの間の関係（例えば、データまたはデータのタイプとデータまたはデータのタイプのあらかじめ定義されたカテゴリとの関係）を記述するセマンティック情報を含むことができるが、これらに限定されない。１３０において、追加のセマンティック情報に基づいて、１つまたは複数のデータセットの識別子（例えばカラム名）を記述するマッピング情報を形成する、または更新する。さらに１つまたは複数のデータセットについての将来のデータ要求と関連するセマンティックスもまた、追加のセマンティック情報に基づいて更新することができる。
【００２９】
図２は、任意のプラットフォームからのサービスとして提供される情報に関連した発行者の推論されたセマンティックスの検証を要求するための例示的非限定的実施形態を示す流れ図である。
【００３０】
２００において、発行コンピューティングデバイスによって発行された１つまたは複数のデータセットが、第２の制御領域の発行コンピューティングデバイスから第１の制御領域の受信コンピューティングデバイスによって受信される。２１０において、１つまたは複数のデータセットのサブセットが分析される。この分析に基づき２２０において、１つもしくは複数のデータセットのデータと関連する情報を識別することに関して、または１つもしくは複数のデータセットのデータのタイプに関して、１つもしくは複数のデータセットについてセマンティック情報が推論される。２３０において、発行者（例えば発行コンピューティングデバイス）の推論されたセマンティック情報の検証を要求して、推論によって推論されたセマンティック情報が正しいことを確認することができる。
【００３１】
様々な実施形態では、発行者からの検証を受信することに応じて、セマンティック情報に基づいた少なくとも１つのデータセットの識別子（例えばカラム名）を記述するマッピング情報を形成する、もしくは更新することができる、または、セマンティックス情報に基づいた１つもしくは複数のデータセットについてのデータ要求（例えばクエリ、またはＵＲＬクエリ）と関連するセマンティックスを再定義する、もしくは改良することができる。
【００３２】
図３は、任意のプラットフォームからのサービスとして提供される情報と関連するデータ要求ＡＰＩを更新するための例示的非限定的実施形態を示す流れ図である。３００において、ネットワークを介してアクセスできる（１つまたは複数の）データセットに適用できるデータ要求がネットワークを介して受信される。３１０において、データ要求に基づいて（１つまたは複数の）データセットからの結果のサブセットが検索される。３２０において、（１つまたは複数の）データセットを記述する補助的セマンティック情報が、サブセットから推論される。３３０において、（１つまたは複数）のデータセットについてのデータ要求に関連するセマンティックスが、補助的セマンティック情報に基づいて変更される。
【００３３】
１つまたは複数の実施形態に関するさらなる説明については、任意のプラットフォームからのサービスとしての情報が、リソースとして発行者に提供され、データのアップロードを促すとき、発行者が「醜悪な（ｕｇｌｙ）」データセット、すなわちいかなる特定の規約または規格にも準拠せず、本来表すものの観点から正しく認識することを困難にする可能性があるデータセットをアップロードすると予想することはもっともである。さらに、発行されたコンテンツに対して絶対的な機密性および完全性の期待が持たれるとき、発行者は監査エンティティに対して以外はこのような条件が実施されることを望むと予想することもまたもっともである。このような場合、このようなセマンティック的意味のためにバックエンドでデータを分析することができず、それどころか認可されたクエリがデータコンテンツを表す結果をさらす機会が発生する。１つの非限定的実施において、このようなクエリは、オープンデータプロトコルによってシステムに提示されるが、これについてのさらなる詳細を以下に示す。例えば、開発者または他の許可された購読者が、次のＵＲＬ、ｈｔｔｐ：／／ＩｎｆｏａｓＳｅｒｖｉｃｅ／．．．／ｃｉｔｙ  （Ｓｅａｔｔｌｅ）で、Ｓｅａｔｔｌｅの都市に関連する情報をクエリすることができる。この点において、１つまたは複数の実施形態では、ＡＰＩ要求の結果、またはそのサブセットについての推論に基づくことによって、またＵＲＬ／ＵＲＩのパラメータに基づいて、データに関するセマンティック情報が推論され、推論された情報に基づいてそこから動的再マッピングを処理し、時間とともに自己記述型システム、すなわちより多くのクエリ、より優れた推論を生み出すことができる。
【００３４】
１つの非限定的実施形態では、メタデータはカラムに付加される。例えば、最初に文書化に基づいて、開発者が「都市」カラムからＳｅａｔｔｌｅを要求することを知ることができる。しかしながら、特定のクエリに基づいて１００個のランダムサンプルが返された後に、実際には「都市」が「西海岸の都市」を表すと推論することができる。この点において、データの種類に関して推論を行い、時間とともにより正確な論理的セマンティックスが構築される。例えば、最初に＿Ａとラベル表示されたカラムが都市情報を表すと推論される例では、さらなるクエリの後に、西海岸の都市以外のいずれも排除する結果は、＿Ａがアメリカ合衆国の西海岸にある都市をさすという特徴付けに至ることができる。したがって、西海岸の都市に関するメタデータが最終的に付加されるとき、このような＿Ａカラムと関連するセマンティックスは、時間とともに改善される。さらに、アクセスＡＰＩは、改善されたセマンティックスに基づいて自動的に更新することができる。例えば、クエリｈｔｔｐ：／／ＩｎｆｏａｓＳｅｒｖｉｃｅ／．．．／＿Ａ（Ｓｅａｔｔｌｅ）は、ｈｔｔｐ：／／ＩｎｆｏａｓＳｅｒｖｉｃｅ／．．．／ＷｅｓｔＣｏａｓｔＣｉｔｙ  （Ｓｅａｔｔｌｅ）に進化し、結果としてより記述的および直感的（したがって、サービスとしての情報を消費する側にとってより有用）になる。
【００３５】
この点において、様々な実施形態は、例えば購読者、開発者などデータの消費者が調べているものの適応性のあるＡＰＩおよびセマンティックスを提供する。データが使用されればされるほど、ＡＰＩのセマンティックスを形成することができ、新しい方法で結合、フィルタリングなどを行うことができるテーブルにより豊富なクエリを形成することができる。上述のように、発行されたデータの管理人がデータを変更しないということが、発行者への要求である場合があるので、補助データは、発行された基となるデータの上に、またはこのデータとは分離して格納することができる。例えばシステムは、テーブルの基となるデータのいずれも変えることなくテーブルに公開されるテーブル間のマッピングを作成することができる。サービス側または消費側が、システムからの推論に基づいて、このような結合、マージ、フィルタリングなどを行うことができる。
【００３６】
さらに、２つのデータセット／テーブルが関連していることがわかると、この２つのデータセット／テーブルを結合するＡＰＩを自動的に定義することができる。したがって、１つの態様ではシステムはカラムのマッピングを維持し、別の態様では上述の推論は、ＡＰＩコールに基づいて所与のデータセット上で自動的に行われる。したがってデータ要求とデータ格納との間には、あるレベルの間接的行動（ｉｎｄｉｒｅｃｔｉｏｎ）がある。ランダムサンプルの結果またはパターンを用いて、ストレージ自体にアクセスすることなくカラムタイプを推論することができる。
【００３７】
図４は、任意のプラットフォームからのサービスとして提供される情報の一実施形態と関連した発行者による発行の例示的非限定的行為を示すブロック図である。図５から８は、図４の例示的な、ただし非限定的な例をもとに作成され、同様の参照符号が同様の要素を示すが、このような要素は単に説明のために例証および例示となることに注意する。図４に示すように、発行者４００は、本質的に形式に関する規制なしで、任意のプラットフォーム４１０からサービスとしての情報にデータを発行するが、しかしながら所与の開発者にとってはアップロード形式を変えないことが重要である場合がある。したがってデータセット４１２は変更されないままであり、データセット４１４は変更されないままであり、データセット４１６は変更されないままであり、その他同様である。
【００３８】
図５は、発行されたデータセットからデータを要求する開発者または他の消費者の例示的非限定的行為を示すブロック図である。この点において、発行されると情報４１０は、発行されたＡＰＩを介して開発者４２０または他の購読者によって様々な方法で消費される可能性がある。１つの実施形態では、これはＵＲＬによるクエリの仕様によって実現されるが、データ要求４２５を行うためのいかなるプロトコルを採用することもできる。この点において、データ要求４２５に基づいて一般には、例えば結果セットなどのデータ結果４３５が返される。
【００３９】
図６は、データ要求に応じてセマンティック情報を推論する例示的非限定的行為を示すブロック図である。この点において、図５の結果４３５を返すことに加えて、またはこの前に、図６は、セマンティックス推論コンポーネント４３０がデータ要求４２５に基づいてサンプル結果４４５に作用できることを示している。推論コンポーネント４３０の出力は、情報４１０からの関連情報および、記述的もしくは直感的使用の点で改善された将来のデータ要求４５５を行うための更新されたルールを記述する増大したセマンティック情報である可能性がある。更新されたセマンティックスおよびルール４５５は、別々に搬送することもできる。
【００４０】
図７は、発行者によって推論された情報を検証する例示的非限定的行為を示すブロック図である。１つの実施形態では、補助的セマンティックスが決定されると、発行者４００の関連する発行エンティティに推論検証要求（ｖｅｒｉｆｙ  ｉｎｆｅｒｅｎｃｅ  ｒｅｑｕｅｓｔ）４８０を送信することができる。例えば、発行エンティティが推論を確認する４９０場合、関連する発行済みデータセットの上にセマンティックスを更新することができる。
【００４１】
図８は、自動的に更新されるアクセスＡＰＩに基づいたより豊富な将来のデータ要求の例示的非限定的行為を示すブロック図である。上述のように、推論エンジンによって補助的セマンティックスを提供することに加えて、アクセスＡＰＩ自体も改善することができる。より豊富なデータ要求４６５および改善されたデータセットのセマンティックスを用いて、以前は関係のなかったデータセットを、結合、フィルタリング、マージ、クエリのためにより大きなデータの集積を提供する操作によって関連付けることができる。時間とともに、テーブルの幾何学的または指数関数的マージの力は、スープからナッツまですべてを記述する強固な中央集中型の（および大規模な）知識の集まりを作り出すという点で強力であり、これに対してクエリを実行することができ、相関エンジンが人類に関する潜在的に役立つ新しいものを発見することができる。任意のプラットフォームからのサービスとして情報を消費またはデータ分析する側においての推論ツールの潜在的な力の一例として、以前に関連付けられなかった項目が、結局推論の力によって潜在的に相互に関連している可能性があるとわかるので、健康のコンテキストでは２つの病気が相互に関連付けられ、その結果共通の治療の取り組みとなることを発見される可能性がある。
【００４２】
時間が経つにつれて自己記述的な、すなわち、次のクエリが加わって、別のルールのセットを形成するとき、適応性のあるクエリＡＰＩとなる。上述のように、行われる推論は、例えば、データ型の分析から重み付けされたマッチング／マッピング技術まで、カラム名の分析まで、発行者タイプの分析まで、他のすべてが失敗する場合は人の介入までなど、推論時の試行の階層が、時間とともに自己記述するデータを推論するための一連の階層的な方法に従って行われることが可能であり、サンプルクエリの結果が表わすものを推論する方法の階層的な順序を確立する。
【００４３】
サービスとしての情報のための補足コンテキスト
次の説明は、上述の実施形態の１つまたは複数を理解する際にさらに助けになる、潜在的非限定的インフラストラクチャ、アーキテクチャ、および／または関連サービスに関する補足コンテキストを含んでいる。この節で説明するさらなる特徴のいずれか１つまたは複数は、任意のプラットフォームからのサービスとしての情報に対してデータセットのセマンティックスおよび対応するアクセスＡＰＩを更新することに関して上述した実施形態のいずれか１つまたは複数において適応させることができる。諸実施形態もしくは特徴のこのような組合せが可能であるが、誤解を避けるために、本開示に示す前述の実施形態は、本明細書に記載するいかなる他の実施形態を限定するとみなされるべきではない。
【００４４】
いくつかの追加の背景として、今日では、インターネットなどのネットワークを通じて情報を取得することができるが、今日の提供は、アクセスおよびフレームワークに関して独占の傾向があり、したがって第三者プロバイダの参加に関して制限される。例えば現在、商業コンテンツプロバイダがそのような商業コンテンツの価値の少なくとも一部を放棄しない方法でそのデータを発行するための適切なビジネスモデルがなく、したがって歴史的に、価値あるコンテンツの所有者は、限られた専有手段（ｐｒｏｐｒｉｅｔａｒｙ  ｍｅａｎｓ）を通じてそのコンテンツを公開する傾向にあった。または、このようなコンテンツの格納が、安全なクラウドストレージプロバイダによって行われる場合は、消費者が興味のあるアイテムを潜在的に見つけるために何千ものテーブルを苦労して調べなければならないとき、ストレージ単体にはほとんど価値がない。さらに、クラウドストレージプロバイダが様々なプロバイダからデータを収集しようと試みる場合でも、このようなプロバイダは、ささやかな、小規模な、または不完全なデータのカタログを自慢できる程度である。
【００４５】
この領域の潜在的な成長を妨げるものの多くは、取り扱いおよびＩＰ（例えば、著作権）についての不信感の結果であった。要するに、たった１つの情報漏えいがデータの価値を破壊する可能性があるので、大企業は、重要資産を持つクラウドプロバイダを信用していない。さらにこのようなクラウドプロバイダは今日まで、情報上の必要性のためにこのようなデータから価値を取り出すことを希望する情報労働者に対して弱い立場を有し、さらにはこのようなシステムの固有の性質により、開発者はしたがって情報機能を開発するためのツールを拡張する能力を制限してきた。
【００４６】
したがって、１つまたは複数の実施形態に対して説明するように、すべてのクラスの個人、すなわち発行者、開発者、情報労働者、および消費者に対応できる、サービスとしての情報のインフラストラクチャが提供される。このインフラストラクチャは、例えば、任意のプラットフォームおよび任意の形式要素（例えば、任意の画面サイズ）で任意のアプリケーションに電力を供給するための構造化されたｂｌｏｂデータセットを発見、取得、および消費する能力など、情報の発見を可能にする。このインフラストラクチャはさらに、例えば、パートナー主導型エコシステムおよびデータおよび機能を開発者および情報労働者に配信するための全世界的な広がりがなど、仲介ビジネスを可能にする。このインフラストラクチャはまた、例えばシングルクリックの分析など、分析および報告を許可して、公開データとともにプライベートデータを増大させる。この点において、このインフラストラクチャの様々な実装の公開の性質により、いかなるアプリケーション開発者も、データの発行、処理、クエリおよび／または検索を容易にするためのモバイル、クラウド、および／またはデスクトップアプリケーションを開発することができる。
【００４７】
アプリケーションを書き込むには、アカウント情報を登録し（例えば、Ｌｉｖｅ  ＩＤを用いてサインインする）、アカウントキーを提供され、これによって、本明細書で１つまたは複数の実施形態について記載するサービスとしての情報のインフラストラクチャに使用可能な構造化されたリアルタイムウェブサービスを介して「ｂｌｏｂ」にアクセスする。１つの態様では、開発者は、符号化が始まる前にＡＰＩを視覚的に探ることができる。例えば、サービス探査モジュールまたはモジュールのセットは開発者によって使用され、ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  ｓｔａｔｅ  ｔｒａｎｓｆｅｒ（ＲＥＳＴ）のＡＰＩクエリを視覚的に構築し、および、ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ（ＸＭＬ）、ＡＴＯＭ、ＲＡＷ（ｂｌｏｂおよびリアルタイムコンテンツ用）、またはテーブルビュー（例えば、構造化されたデータ用）に、様々なパッケージに従ってコンテンツをプレビューする。例えば、開発者は単に、自身のアカウントキーを提供して、コンテンツをプレビューするため選択する。
【００４８】
したがって、開発者は、いかなるプラットフォームにもモバイルアプリケーション、デスクトップアプリケーション、またはサービスアプリケーションを構築することができる。結果として生じるＲＥＳＴクエリは、新しい開発者アプリケーションにコピーすることができる一方で、サービスとしての情報のインフラストラクチャもまた、自動的に生成されたＣ＃プロキシクラスを消費する機能を使用可能にして、ローカルオブジェクトモデルを作成する、またはＸＭＬもしくはウェブサービスコードの詳細を生成して理解するいかなる必要性もなくす。この関連で、別の非限定的有益な態様では、開発者はプロキシクラスをダウンロードし、これらを開発者のアプリケーションに含めてわずか数行のコードでサービスデータを消費することができる。
【００４９】
この関連で、サービスとしての情報のインフラストラクチャの様々な実施形態により、開発者および情報労働者が自身のアプリケーションおよび分析シナリオにおいて即座に、定期的に、またはアプリケーションの開発者によって指定されるその他の時間の関数にわたってデータを発見し、取得し、消費することができるようになる。上述のように、開発者がアカウントキーを取得し、次いでこのアカウントキーがネットワークサービスへのウェブサービスコールに付随し、コンテンツ要求および興味あるコンテンツの定期利用のために、本明細書で１つまたは複数の実施形態について記載するサービスとしての情報を使用可能にする。
【００５０】
したがって、１つの態様では、本明細書で１つまたは複数の実施形態について記載するサービスとしての情報のためにインフラストラクチャによって提供されるアカウントキーは、開発者のプライベートキーである。このキーは、開発者のアプリケーションと関連して使用されるコンテンツにおける課金およびレポート作成を使用可能にする。このようにこのプライベートな開発者のキーは、目的もなく共有されるべきではなく、モバイルソリューションまたはデスクトップソリューションで実行するネイティブアプリケーションを開発し、展開の一部としてキーを組み込む計画である場合、キーをセキュリティ保護する（ｓｅｃｕｒｉｎｇ）際の予防措置を取るべきである。例えば、キーが解読されないことを保証するために、暗号化によるデータ保存を使用することができる。
【００５１】
コンテンツを消費するアプリケーションを追跡するために使用されるアカウントキーに加えて、一意のユーザＩＤは、開発者の個々のユーザを表すグローバルに一意の識別子（ＧＵＩＤ）である。このフィールドにより、プログラムに基づいてユーザごとに価格を調べるコンテンツの課金が可能になる。例えば、開発者が、個々のユーザがアプリケーションを消費するモバイルアプリケーションを開発している場合、開発者はその個々のユーザに代わってリクエストが行われるたびに同じＧＵＩＤを返すべきである。しかしながら、開発者がウェブポータルを開発し、様々なユーザに代わってウェブサービスリクエストを発行している場合、ポータルを訪問する各一意のユーザに対して新しいＧＵＩＤを割り当てるかどうかは開発者次第である。例えば各登録ユーザは、ＧＵＩＤまたは一意のユーザＩＤのＧＵＩＤを割り当てられた各ＩＰアドレス／ポートの組合せを割り当てられる。
【００５２】
本明細書で１つまたは複数の実施形態について記載するサービスとしての情報のインフラストラクチャからのコンテンツを消費するために、任意のプラットフォームにＲＥＳＴ  ＡＰＩを組み立てることができる一方で、１つの実施形態では、Ｃ＃でサービスに対してプロキシクラスを動的に生成することができる。これを実現することは、オブジェクトモデルをダウンロードし、これらを現在の開発者のプロジェクトに追加し、アカウントおよび一意のユーザの値を更新するということである。
【００５３】
開発者がリクエストを手動で発行したい場合、一例を以下に提供するが、いかなるサービスに対してもプレビュー機能を使用することができる、またはＳｅｒｖｉｃｅ  Ｅｘｐｌｏｒｅｒから作成されたＵＲＬを呼び出すこともできる。サンプルデータセットへの例示的非限定的ＲＥＳＴクエリについて、以下に説明する。一部または全部のコールが、セキュアソケットレイヤ（ｓｅｃｕｒｅ  ｓｏｃｋｅｔ  ｌａｙｅｒ、ＳＳＬ）で保護されたものとすることができることに注意する。
ｈｔｔｐｓ：／／ａｐｉ．ｓｑｌａｚｕｒｅｓｅｒｖｉｃｅｓ．ｃｏｍ／ＵｎＳｅｒｖｉｃｅ．ｓｖｃ／ＵＮＥＳＣＯ（１２０）
【００５４】
＄ａｃｃｏｕｎｔＫｅｙ要素および＄ｕｎｉｑｕｅＵｓｅｒＩｄ要素もまた、リクエストのヘッダに配置され、例えば次のようになる：
＄ａｃｃｏｕｎｔＫｅｙ＝｛開発者のアカウントキー｝
＄ｕｎｉｑｕｅＵｓｅｒＩＤ＝｛一意のユーザを表すＧＵＩＤ｝
【００５５】
＄ａｃｃｏｕｎｔＫｅｙの値は、Ａｃｃｏｕｎｔｓ  Ｔａｂで見つけられる開発者のアカウントキーを表し、＄ｕｎｉｑｕｅＵｓｅｒＩＤの値は、サービスにアクセスしている一意のユーザのＧＵＩＤを表す。
【００５６】
したがって、本明細書で１つまたは複数の実施形態について記載するサービスとしての情報のインフラストラクチャは、開発者および情報労働者がプレミアムデータのサブスクリプションをいかなるプラットフォームでも容易に発見、購入、および管理することができるようになる新しいサービスまたはフレームワークである。インフラストラクチャは、共通のプロビジョニングおよび課金フレームワークの下に統一された単一または複数の場所に同時に、主要な商業データのプロバイダおよび信頼できる公開データソース、ならびに信頼できない発行者から、データ、画像、およびリアルタイムのウェブサービスを運ぶ情報市場である。さらに、開発者および情報労働者は、仮想的に任意のプラットフォーム、アプリケーション、またはビジネスワークフローを用いてこのプレミアムコンテンツを消費することができる。
【００５７】
本明細書の１つまたは複数の実施形態について記載するサービスとしての情報のインフラストラクチャを使用するための一部の例示的非限定的シナリオには、次のものが含まれる：（ａ）消費者およびビジネスシナリオの次世代「キラーアプリケーション（ｋｉｌｌｅｒ  ａｐｐｓ）」にプレミアムコンテンツを見つけること、（ｂ）既存のアプリケーションまたはレポートを改善するために価値のあるデータを発見してライセンスを与えること、（ｃ）異種データセットを革新的方法で併せて運び、例えば集約アルゴリズムなど、ビジネスパフォーマンスおよびプロセスの新しい洞察を得ること、（ｄ）ｂｌｏｂの構造化されたリアルタイムウェブサービスについてすべてのコンテンツプロバイダにわたってＡＰＩを直ちに視覚的に調査すること、（ｅ）充実した記録および分析を行うために既存の文書処理、スプレッドシート、データベースクエリシステムなど、既存のアプリケーションおよびデータベースシステム内の第三者のデータを消費すること。
【００５８】
開発者の利点には、次のものが含まれる：（ａ）試験サブスクリプションにより、データ使用料（ｄａｔａ  ｒｏｙａｌｔｉｅｓ）を支払うことなくコンテンツを詳細に調べ、アプリケーションを開発することが可能になる、（ｂ）単純なトランザクションおよびサブスクリプションモデルにより、数百万ドルのデータセットへの「従量課金制（ｐａｙ  ａｓ  ｙｏｕ  ｇｏ  ｏｒ  ｇｒｏｗ）」のアクセスが可能になる、（ｃ）データセットにわたる一貫したＲＥＳＴベースのＡＰＩにより、いかなるプラットフォームにおいても開発が容易になる、（ｄ）ＡＰＩを視覚的に構築して探査し、結果をプレビューする、（ｅ）自動的なＣ＃プロキシクラスにより、インスタントオブジェクトモデルを提供し、長たらしいＸＭＬおよびウェブサービスコードを書き込む必要をなくす。
【００５９】
情報労働者の利点には、次のものが含まれる：（ａ）ＰｏｗｅｒＰｉｖｏｔと統合し、既存のスプレッドシートソフトウェアのデータと容易に動作すること、（ｂ）コンテンツの取得が簡単で予測可能なライセンス交付モデル、（ｃ）ＳＱＬサーバ、ＳＱＬ  Ａｚｕｒｅ  Ｄａｔａｂａｓｅ、および前から存在する他の資産からデータを消費できること。
【００６０】
コンテンツパートナーの利点には、次のものが含まれる：（ａ）ｂｌｏｂデータ、構造化されたデータ、または動的ウェブサービスにかかわらず発行およびオンボードプロセスが簡単、（ｂ）選択したプラットフォームに開発者がツーリングして、例えばＶｉｓｕａｌ  Ｓｔｕｄｉｏおよび．ＮＥＴまたは他のランタイムシステムの開発によって開発を容易にする、（ｃ）開発者のコンテンツをグローバル開発者および情報労働者のコミュニティに公開する、（ｄ）前から存在するコンテンツ消費アプリケーション内部のコンテンツ発見および統合（ｅ）スケーラブルなクラウドコンピューティングプラットフォームが、すべての関係者に代わって格納、配信、課金、および記録を処理する。
【００６１】
本明細書の１つまたは複数の実施形態について記載するサービスとしての情報のインフラストラクチャの非限定的実装において、Ｒｉｃｈ  Ｗｅｂ  Ｓｅｒｖｉｃｅｓのいくつかの特徴には、次のものが含まれる：（ａ）コンテンツカタログ全体にわたってサービスを消費するための安全なＲＥＳＴベースのモデル、（ｂ）アクセスを簡素化するためにＡＰＩに組み込まれた動的ページネーション（ｐａｇｉｎａｔｉｏｎ）、（ｃ）標準ＡＴＯＭ  １．０フィードがサービスのほとんどに使用可能である、（ｄ）すべてのサービスにわたって一貫した課金、プロビジョニング、および使用報告。
【００６２】
本明細書の１つまたは複数の実施形態について記載するサービスとしての情報のインフラストラクチャの非限定的実装において、Ｓｅｒｖｉｃｅ  Ｅｘｐｌｏｒｅｒコンポーネントのいくつかの特徴には、次のものが含まれる：（ａ）開発を簡略化するために生成されたＣ＃プロキシクラス、（ｂ）表形式およびサポートされている場合はＡＴＯＭ  １．０フィードなどフィードとしてのデータのプレビュー、（ｃ）コンパイルされたサービスコールが返す結果を理解するためのサービスの呼び出し、（ｄ）パラメータのそれぞれに対するドキュメンテーションおよびサンプル値の発見、（ｅ）サービスコールに対して視覚的に構築されたＵＲＬをクリップボードにインスタントコピーして開発を容易にすること。
【００６３】
本明細書の１つまたは複数の実施形態について記載するサービスとしての情報のインフラストラクチャの非限定的実装において、Ｍａｒｋｅｔｐｌａｃｅ  Ｉｎｔｅｇｒａｔｉｏｎ（マーケットプレイス統合）およびＤｉｓｃｏｖｅｒｙ  Ｐｏｒｔａｌ（発見ポータル）コンポーネントのいくつかの特徴には次のものが含まれる：（ａ）消費者および企業を含むドメイン全体で新しいデータを発見すること、（ｂ）サービスのサブスクリプションおよび使用制限を管理すること、（ｃ）サービスにアクセスするためのアカウントキーを管理すること、（ｄ）日付およびアカウントキーによりグループ化された、アクセスされたサービス／データセットを含む詳細なアクセス報告を行うこと。
【００６４】
インフラストラクチャは、コンテンツ所有者、アプリケーション開発者／ＩＳＶに対して、ならびに情報労働者および他の消費者／購読者に対して様々な価値命題（ｖａｌｕｅ  ｐｒｏｐｏｓｉｔｉｏｎｓ）を提供する。コンテンツ所有者については、インフラストラクチャにより、データに課金しないが、他の方法でこのようなデータの発行から利益を引き出すデータ提供者にとっての社会的利益に加えて、（データに対し課金するデータ提供者のために）データの収益化が可能になる。インフラストラクチャの開放性により、コンテンツ所有者はより利用しやすく、ＩＳＶおよび消費者／情報労働者へデータを届けやすくなり、このすべてが、特にこれまで通りの独自のモデルの開発について、低コストで提供される。
【００６５】
アプリケーション開発者／ＩＳＶについては、インフラストラクチャにより一貫した形式でのデータへのアクセス、データアクセスを予測可能な料金設定に対して調節可能で低コストの料金設定モデル、データを使用して構築されるアプリケーションを使用する消費者／ＩＷからの利益の可能性、任意のプラットフォームを介してより広範囲の消費者へ届けることが可能になる。
【００６６】
情報労働者／消費者については、インフラストラクチャにより、アプリケーションからの値の追加、現在のラージオブジェクト（ＬＯＢ）またはＩＷソフトウェアでのデータの消費、単一の課金およびデータソースに加えてデータアクセスに対して調節可能で低コストの価格設定モデルが可能になる。
【００６７】
したがって、インフラストラクチャは、潜在的に大幅な収益上昇を伴って現在の顧客および開発者の弱点（ｐａｉｎ  ｐｏｉｎｔ）を解決し、モデル化、報告、分析、およびトレンド化のためにインスタントデータを添付された固有のビジネスインテリジェンスの機会を作り出し、データ所有者にそのデータをインフラストラクチャを介して格納するように奨励し、それによってインフラストラクチャの価値命題を差別化することによっていかなるプラットフォームに対しても採用（ａｄｏｐｔｉｏｎ）および粘着性（ｓｔｉｃｋｉｎｅｓｓ）を作り出す。
【００６８】
図９の流れ図の９００に示すように、本明細書ではコンテンツ所有者または発行者がインフラストラクチャを介してデータを発行する様々な方法について説明する。９１０には、開発者が、インフラストラクチャを介してデータを消費するアプリケーションを開発できるようにする様々なツールがある。９２０において、消費者または情報労働者が、アプリケーションを使用する、またはデータを消費するためにデータを直接照会することができる。最後に、インフラストラクチャは、トランザクションモデルによって可能にされる、コンテンツチェーン（ｃｏｎｔｅｎｔ  ｃｈａｉｎ）におけるすべての関係者に代わって自動的な管理、監査、課金などを可能にする多くの様々なツールを９３０において提供する。
【００６９】
この点において、インフラストラクチャにおける一部の主要な関係者は、データの所有者、アプリケーションの開発者／ＩＳＶ、および消費者／情報労働者を含む。一般にデータ所有者は、データに対して課金することを希望する、または他の理由のために無料でデータを提供する、もしくはデータに他の条件を強いることを希望するエンティティである。同じく、アプリケーションの開発者／ＩＳＶは、そのアプリケーションを（例えば広告、直接報酬、間接報酬などによって）収益化すること、またはそのようなエンティティにとってある有益な理由のためにそのアプリケーションを無料で提供することを望むエンティティである。情報労働者および消費者は、未加工データを使用することができる人々、またはアプリケーション開発者によって提供されるアプリケーションを使用することを希望する人々である。
【００７０】
図１０は、一般に、本明細書に記載するサービスとしての情報を提供するエコシステムに参加することができる。様々な関係者を示しているブロック図である。例えば、情報サーバ１０００にアクセスできる一連のネットワークは、データのさまざまな信頼できるもしくは信頼できないデータストア１０１０へのアクセスを提供する。図のように、エコシステムはいかなる種類のデータも、すなわちｂｌｏｂ、構造化、非構造化などもサポートするので、データストア１０１２、１０１４、…、１０１６のタイプはそれほど重要ではない。上述のように、システムはエコシステムにデータを追加する発行者１０２０、データを消費する購読者１０３０、およびそのアプリケーションでデータの消費を助けるアプリケーション開発者またはプロバイダ１０５０を含む。アクセス情報ジェネレータ１０７０が、アカウント情報、キー情報などを管理するまたは強化することにより、様々な関係者によるデータへのアクセスを支配することもできる。この点において、コンテンツの所有者１０６０は、発行者１０２０、購読者１０３０、および／またはアプリケーション開発者でもありうるので、コンテンツの所有者１０６０は役割のいずれを補うこともできる。１つの態様では、すべての関係者に共通のインフラストラクチャにより、インフラストラクチャにわたって発生するデータトランザクションに対して、管理１０６５、監査１０７５、請求１０７５、ならびに他の所望の補助サービスが可能になる。
【００７１】
この点において、任意のプラットフォームからのサービスとしての情報を使用可能にする使いやすいデータプラットフォームの様々な実施形態は、データの消費者（ＩＷ、開発者、ＩＳＶ）およびデータの消費者が、単純で、費用効率が高く、便利な方法で処理する（ｔｒａｎｓａｃｔ）ことができるインフラストラクチャである。このインフラストラクチャは、ＩＷが速やかに洞察を引き出すことができる無理のない方法でプレミアム（プライベート）データおよびコミュニティ（パブリック）データを大衆化し、創造的な方法で複数のデータソースを使用して開発者が革新的なアプリケーションを構築することができるようにし、開発者がその努力を任意のプラットフォームで収益化することができるようにする。例えば、インフラストラクチャは、ペイパーユーズ（Ｐａｙ  Ｐｅｒ  Ｕｓｅ）ならびにＳｕｂｓｃｒｉｐｔｉｏｎ  Ｐｒｉｃｉｎｇ  ｆｏｒ  Ｃｏｎｔｅｎｔ、Ｐａｙ  ｆｏｒ  Ｃｏｎｔｅｎｔ（コンテンツ所有者によって設定された「販売価格」）、Ｐａｙ  Ｄａｔａ  Ｆｅｅ（「送料および手数料」）およびＢＷをサポートし、さらに、論理トランザクション単位（レポート単位、ＡＰＩ単位、ダウンロード単位など）で仲介手数料としてのデータ料金をサポートする。
【００７２】
情報労働者（例えば、Ｏｆｆｉｃｅ、ＳＱＬ  Ｓｅｒｖｅｒ、Ｄｙｎａｍｉｃｓのユーザ）については、インフラストラクチャは将来のＥＡ統合ならびに予測可能な消費（ｓｐｅｎｄ）要求（ならびに構内および構外のＢＩならびに「ＨＰＣ」作業量）を考慮に入れるサブスクリプションをサポートする。したがって、代替形態は、ユーザ毎に１か月あたりで価格設定されたコンテンツを含み、これは、コンテンツパックの配信またはトランザクション単位の価格設定と抱き合わせる場合があり、または抱き合わせない場合があり、例えば、クラウドレポーティング／ビジネスインテリジェンスのオンデマンド価格設定を可能にして、大量のデータを移動する必要性をなくす一方で、使用量による価格設定、またはレポートギャラリーによる垂直アプリケーション（ｖｅｒｔｉｃａｌ  ａｐｐｓ）を可能にする。
【００７３】
任意のプラットフォームを使用するコンテンツプロバイダ（任意のデータタイプ、任意のクラウド）については、インフラストラクチャは、いかなる特定の所望のプラットフォーム内の販売も奨励するための価値命題になる。一部の非限定的例については、データは、次の領域における安全で、関連するデータであることが可能である：位置認識サービスおよびデータ、商業用および住宅用不動産、金融データおよびサービスなど。非限定的シナリオには、上位３０の非政府組織（ＮＧＯ）のデータセットへのデータの配信が含まれる。さらに、インフラストラクチャは、ＢＩを展示する能力および「サービスとしての情報を求めるＢｉｎｇ」、ＨＰＣなどを介する視覚化を含むことができる。垂直アプリケーションの機会も同様にある。
【００７４】
１つの非限定的実施形態では、データ仲介手数料は、従来のブリックアンドモルタル戦略（ｂｒｉｃｋ  ａｎｄ  ｍｏｒｔａｒ  ｓｔｒａｔｅｇｉｅｓ）になぞらえることができる。例えば、容量は、棚スペースとして表すことができ（例えば構造化されたデータと構造化されていない／ｂｌｏｂデータの混合）、商品原価（ＣＯＧＳ）は、平方フィート面積（ｓｑｕａｒｅ  ｆｏｏｔａｇｅ）として表すことができ、（ＳＡ、プラットフォーム依存、帯域幅）およびコンテンツは、商品として表すことができる（例えば、コンテンツプロバイダを最適化してＣＯＧＳを保護し、ＩＷおよび開発者からの利益を最大にする）。様々な実施形態では、データおよびサービス用の品質バー、ならびにサービスレベルの同意（ＳＬＡ）の調整を用いて、オンボードプロセスを実行することができる。
【００７５】
図１１は、１つまたは複数の特徴に従った、上述のサービスとしての情報のインフラストラクチャ１１１０の例示的非限定的実行である。対話側に、ＳＳＬ／ＲＥＳＴベースのＡＰＩ１１０６を介してインフラストラクチャと通信することができる情報労働者１１００、開発者１１０２、および消費者１１０４がいる。ロードバランサ１１０８を使用して、最適な方法でトラフィックを操縦する（ｓｔｅｅｒ）助けとすることができる。この点において、入力は、ポータルウェブロール１１２０またはＡＰＩウェブロール１１２２にルーティングされる。インフラストラクチャ１１１０からデータ側まで、ｂｌｏｂデータセット１１４２、またはクラウドストレージフレームワーク１１４０のｂｌｏｂデータセット１１５５に、またはデータセット１１５２もしくは関係データベースフレームワーク１１５０のデータセット１１５４にアクセスするための追加のロードバランシング１１２４または１１２６（例えばＷＡまたはＳＡ）がある。プロキシレイヤ１１２８を使用して、第三者のクラウド１１６０のデータ１１６２またはデータ１１６４にアクセスすることができる。適用できる場合は、コンテンツデータ抽象層（ＤＡＬ）１１３０を使用して、コンテンツにアクセスすることができる。この点においては、様々なタイプのストレージにわたってデータセットの重複またはオーバラップがある可能性があり、例えば、同じデータは、例えばＳＱＬなど、ｂｌｏｂデータとしておよび構造化されたデータとして表される可能性がある。
【００７６】
データへの補助的なサービスとして、請求および発見サービス１１７０がオンライン請求１１７２（例えばＭＯＣＰ）または発見サービス１１７４（例えばピンポイント）を含むことができ、認証サービス１１８０は、信用情報管理（ｃｒｅｄｅｎｔｉａｌｓ  ｍａｎａｇｅｍｅｎｔ）１１８２（例えばＬｉｖｅ  ＩＤ）またはコンテンツ認証１１８４、例えば認証コンテンツサービス（ａｕｔｈｅｎｔｉｃａｔｅｄ  ｃｏｎｔｅｎｔ  ｓｅｒｖｉｃｅｓ、ＡＣＳ）を含むことができる。アカウントサービス１１９０が、ロギング／監査サービス１１８６またはアカウント管理１１８８を含むことができる。管理および運用サービス１１９２は、例えばＧｏｍｅｚなど、運用ダッシュボードサービス１１９４およびネットワーク運用サービス１１９６を含むことができる。
【００７７】
図１２は、サービスとしての情報を使用可能にするための一般的なインフラストラクチャの１つまたは複数の実施形態に従ってデータからデータの顧客までの例示的エンドツーエンドのフローを示すブロック図である。例えば、サービスとしての情報１２００は、商業データ１２０２および無料データ１２０４を含むことができ、これらは営利目的の開発者（ｆｏｒ  ｐｒｏｆｉｔ  ｄｅｖｅｌｏｐｅｒｓ）１２１０、非営利的な動機を有する営利目的でない開発者（ｎｏｎｐｒｏｆｉｔ  ｄｅｖｅｌｏｐｅｒｓ）１２１２、および一般に生産的目標のためにデータを消費することに関与している他の情報労働者１２１４にとって、様々に興味深いものである可能性がある。こうしたエンティティは、発見サービス１２２０を使用してどのアプリケーション１２２２、１２２４、……、１２２６が自身にとって興味あるものであるかを判断し、最終的にはＩＬＡ消費者１２３０およびＤＬＡ消費者１２３２に同様にデータを送信することができる。
【００７８】
オープンデータプロトコル
ネットワーク対話および情報サービスは、様々なコンピュータシステム構成およびプロトコルで実行できることを当業者は理解するであろう。この点において、本明細書に記載する１つまたは複数の実施形態で使用することができるデータを照会および更新するための１つの非限定的実行が、オープンデータプロトコル（ＯＤａｔａ）である。
【００７９】
ＯＤａｔａは、データを照会および更新するためのウェブプロトコルである。ＯＤａｔａは、ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  （ＨＴＴＰ）、Ａｔｏｍ  Ｐｕｂｌｉｓｈｉｎｇ  Ｐｒｏｔｏｃｏｌ  （ＡｔｏｍＰｕｂ）、およびＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ  （ＪＳＯＮ）のようなウェブ技術を適用して、様々なアプリケーション、サービス、および記憶装置から情報にアクセスできるようにする。一部の一般的な背景については、ＯＤａｔａは、過去数年にわたって様々な製品にＡｔｏｍＰｕｂのクライアントおよびサーバを実装した経験に組織的に基づいて登場した。ＯＤａｔａを使用して、リレーショナルデータベース、ファイルシステム、コンテンツ管理システム、および伝統的なウェブサイトなど、これらに限定されないが、様々なソースからの情報を公開してアクセスすることができる。ＯＤａｔａは、エコシステムの発展を奨励するために、Ｏｐｅｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｐｒｏｍｉｓｅ（ＯＳＰ）の下で公開されて、誰でも自由にＯＤａｔａ実行と相互運用することができるようにした。ＯＤａｔａの機能は、他のプロトコルにも同様に組み込んで、ネットワークデータを照会および更新するための同様の機能を有する混成プロトコル（ｈｙｂｒｉｄ  ｐｒｏｔｏｃｏｌ）を形成することができる。
【００８０】
ＯＤａｔａは、ウェブの動作と一致する。１つの態様では、ＯＤａｔａは、リソースを識別する方法として統一資源識別子（ｕｎｉｖｅｒｓａｌ  ｒｅｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｅｒ、ＵＲＩ）を使用し、例えばインターネットが動作する方法と同様に、これらのリソースと対話するための統一インタフェース（ｕｎｉｆｏｒｍ  ｉｎｔｅｒｆａｃｅ）を用いてＨＴＴＰ中心のプロトコルを使用する。１つの非限定的態様では、ＯＤａｔａは、ＡｔｏｍＰｕｂによって普及されたＨＴＴＰの規則を基にしており、個々に開発されたシステムにわたってデータ、コンテンツ、および情報を共有するプロセスを簡略化した。ＯＤａｔａは、交換される基本的なクエリおよびスキーマ情報をサポートするように必要に応じて実行を行うという追加の規則を定義する。ＨＴＭＬおよびＪａｖａＳｃｒｉｐｔ（登録商標）クライアントとの統合を簡単にするために、ＯＤａｔａは、ＸＭＬベースのＡｔｏｍＰｕｂフォーマットを補完するプロトコルのオプションのＪＳＯＮ表現を定義する。理解できるように、ＯＤａｔａプロトコルに関するさらなる実行の特性または他の詳細は、非特許文献１に見つけることができる。
【００８１】
例示的なネットワーク環境および分散環境
任意のプラットフォームからのサービスとしての情報インフラストラクチャのための方法およびデバイスの様々な実施形態、および本明細書に記載する関連実施形態は、いかなるコンピュータもしくは他のクライアントもしくはサーバデバイスとも接続して実装することができ、コンピュータネットワークの一部として、または分散コンピューティング環境においてこれを配置することができ、いかなる種類のデータストアと接続することもできることを、当業者は理解することができる。この点において、本明細書に記載する様々な実施形態は、任意の数のメモリまたはストレージユニット、ならびに任意の数のストレージユニットにわたって行われる任意の数のアプリケーションおよびプロセスを有するいかなるコンピュータシステムまたは環境でも実行することができる。これは、リモートまたはローカルストレージを有して、ネットワーク環境または分散コンピューティング環境にサーバコンピュータおよびクライアントコンピュータを配置した環境を含むが、これに限定されない。
【００８２】
図１３は、例示的なネットワークコンピューティング環境、または分散コンピューティング環境の非限定的概略図を提供する。分散コンピューティング環境は、コンピューティングオブジェクトもしくはデバイス１３１０、１３１２など、およびコンピューティングオブジェクトもしくはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などを備え、これらはアプリケーション１３３０、１３３２、１３３４、１３３６、１３３８が表すように、プログラム、メソッド、データストア、プログラム可能ロジックなどを含むことができる。コンピューティングオブジェクトもしくはデバイス１３１０、１３１２など、およびコンピューティングオブジェクトもしくはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などは、ＰＤＡ、オーディオ／ビデオデバイス、携帯電話、ＭＰ３プレーヤ、ラップトップなど、様々なデバイスを含むことができると理解することができる。
【００８３】
各コンピューティングオブジェクトもしくはデバイス１３１０、１３１２など、およびコンピューティングオブジェクトもしくはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などは、１つまたは複数の他のコンピューティングオブジェクトもしくはデバイス１３１０、１３１２など、およびコンピューティングオブジェクトもしくはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などと、通信網１３４０を介して直接にまたは間接的に通信することができる。図１３では単一要素として示しているが、ネットワーク１３４０は、図１３のシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピューティングデバイスを備えることができる、および／または、図示していないが、複数の相互に接続されたネットワークを表すことができる。各コンピューティングオブジェクトもしくはデバイス１３１０、１３１２など、または１３２０、１３２２、１３２４、１３２６、１３２８などは、ＡＰＩを利用することができるアプリケーション１３３０、１３３２、１３３４、１３３６、１３３８などのアプリケーション、または様々な実施形態に従って提供される任意のプラットフォームからのサービスとしての情報のためのインフラストラクチャと通信する、またはこれを実装するのに好適な、他のオブジェクト、ソフトウェア、ファームウェア、および／またはハードウェアを含むこともできる。
【００８４】
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成がある。例えば、コンピューティングシステムは、ローカルネットワークまたは広く分散されたネットワークにより有線システムまたは無線システムによって共に接続することができる。現在、多くのネットワークは、インターネットに結合され、インターネットが広く分散されたコンピューティングのインフラストラクチャを提供し、多くの異なるネットワークを含むが、様々な実施形態で記載する技術に付随して行われる例示的通信に、任意のネットワークインフラストラクチャを使用することができる。
【００８５】
したがって、クライアント／サーバ、ピアツーピア、または混成アーキテクチャなど、ネットワークトポロジおよびネットワークインフラストラクチャのホストを利用することができる。クライアント／サーバのアーキテクチャ、詳細にはネットワーク化されたシステムでは、クライアントは通常、例えばサーバなど、別のコンピュータによって提供される共有ネットワークリソースにアクセスするコンピュータである。非限定的な例としての図１３の説明図では、コンピューティングオブジェクトまたはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などをクライアントと考えることができ、コンピューティングオブジェクトまたはデバイス１３１０、１３１２などをサーバと考えることができ、コンピューティングオブジェクトまたはデバイス１３１０、１３１２などが、コンピューティングオブジェクトまたはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などからデータを受信する、データを格納する、データを処理する、コンピューティングオブジェクトまたはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などにデータを送信するなどのデータサービスを提供するが、状況に応じていかなるコンピュータも、クライアント、サーバ、または両方とみなすことができる。こうしたコンピューティングデバイスのいずれかがデータを処理している、または１つまたは複数の実施形態について本明細書に記載するプラットフォームおよび関連技術からのサービスとしての情報のインフラストラクチャを意味することができるサービスもしくはタスクを要求している可能性がある。
【００８６】
サーバは一般に、インターネットまたは無線網のインフラストラクチャなどのリモートまたはローカルネットワークを通じてアクセスできるリモートコンピュータシステムである。クライアントプロセスは、第１のコンピュータシステムでアクティブである可能性があり、サーバプロセスは、第２のコンピュータシステムでアクティブである可能性があり、通信媒体を通じて互いに通信し、そうして分散化された機能を提供し、多数のクライアントがサーバの情報収集機能を利用できるようにする。ユーザプロファイリングに従って使用されるいかなるソフトウェアオブジェクトも、単独で提供する、または複数のコンピューティングデバイスまたはオブジェクトに分散させることができる。
【００８７】
例えば通信網／バス１３４０がインターネットであるネットワーク環境では、コンピューティングオブジェクトまたはデバイス１３１０、１３１２などはウェブサーバである可能性があり、これを使用してコンピューティングオブジェクトまたはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などは、ＨＴＴＰのようないくつかの既知のプロトコルのいずれかにより通信する。上述のように、コンピューティングオブジェクトまたはデバイス１３１０、１３１２などは、コンピューティングオブジェクトまたはデバイス１３２０、１３２２、１３２４、１３２６、１３２８などとして働くことも可能であり、逆もまた同様であり、分散型コンピューティング環境の特徴である。
【００８８】
例示的コンピューティングデバイス
上述のように、本明細書に記載する様々な実施形態はいかなるデバイスにも適用され、任意のプラットフォームからのサービスとしての情報のインフラストラクチャの１部分または複数の部分を実装することが望ましい可能性がある。したがって、あらゆる種類のハンドヘルド型、ポータブル型、ならびにその他のコンピューティングデバイスおよびコンピューティングオブジェクトが、本明細書に記載する様々な実施形態に関連しての使用を検討されると理解されたい。したがって、図１４の以下に記載する以下の汎用リモートコンピュータは一例にすぎず、開示対象の実施形態は、ネットワーク／バスの相互運用性および対話を有するいかなるクライアントと共に実装されることも可能である。
【００８９】
必須ではないが、実施形態のいずれも、デバイスまたはオブジェクトに対してサービスの開発者が使用するために、オペレーティングシステムによって部分的に実装されること、および／または（１つもしくは複数の）動作可能なコンポーネントと接続して動作するアプリケーションソフトウェアに含まれることが可能であるソフトウェアは、クライアントのワークステーション、サーバ、または他のデバイスなどの１つまたは複数のコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能な命令の一般的なコンテキストで記述されることが可能である。ネットワーク対話は、様々なコンピュータシステム構成およびプロトコルで実行できることを当業者は理解するであろう。
【００９０】
図１４はしたがって、諸実施形態の１つまたは複数を実行することができる好適なコンピューティングシステム環境１４００の一例を示しているが、上記で明らかなように、このコンピューティングシステム環境１４００は、好適なコンピューティングシステム環境の一例にすぎず、諸実施形態のいずれかの使用法および機能の範囲に関する制限を提案することを意図していない。またコンピューティング環境１４００は、例示的動作環境１４００で説明するコンポーネントのいずれか１つまたはその組合せに関連するなんらかの依存または要件を有すると解釈されるべきではない。
【００９１】
図１４を参照すると、本明細書の１つまたは複数の実施形態を実行するための例示的リモートデバイスは、ハンドヘルドコンピュータ１４１０の形態の汎用コンピューティングデバイスを含むことができる。ハンドヘルドコンピュータ１４１０のコンポーネントは、処理ユニット１４２０と、システムメモリ１４３０と、処理ユニット１４２０にシステムメモリなどの様々なシステムコンポーネントを結合するシステムバス１４２１とを含むことができるが、これらに限定されない。
【００９２】
コンピュータ１４１０は、一般に様々なコンピュータ可読媒体を含み、コンピュータ１４１０がアクセスすることができるいかなる利用可能な媒体であることも可能である。システムメモリ１４３０は、リードオンリメモリ（ＲＯＭ）および／またはランダムアクセスメモリ（ＲＡＭ）のような揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含むことができる。一例として、限定としてではなく、メモリ１４３０は、オペレーティングシステム、アプリケーションプログラム、その他のプログラムモジュール、およびプログラムデータを含むことができる。
【００９３】
ユーザは、入力デバイス１４４０を介してコンピュータ１４１０にコマンドおよび情報を入力することができる。モニタまたは他のタイプのディスプレイデバイスもまた、出力インタフェース１４５０などのインタフェースを介してシステムバス１４２１に接続される。モニタに加えて、コンピュータはまた、スピーカおよびプリンタなど、出力インタフェース１４５０によって接続可能な他の周辺出力デバイスを含むこともできる。
【００９４】
コンピュータ１４１０は、リモートコンピュータ１４７０のような１つまたは複数の他のリモートコンピュータへの論理接続を使用してネット枠環境または分散環境で動作することができる。リモートコンピュータ１４７０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスもしくは他の一般的なネットワークノード、またはその他のリモートメディア消費もしくは送信デバイスであることが可能であり、コンピュータ１４１０に関連して上述した要素の一部または全部を含むことができる。図１４に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）などのネットワーク１４７１を含むが、他のネットワーク／バスを含むこともできる。このようなネットワーキング環境は、家庭、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットにおいて常識的である。
【００９５】
上述のように、様々なコンピューティングデバイス、ネットワーク、および広告アーキテクチャに関連して例示的実施形態について説明したが、基本的概念は、クラウドまたはネットワークサービスとの対話に関連してデータを発行する、データのアプリケーションを構築する、またはデータを消費することが望ましい、いかなるネットワークシステムおよびいかなるコンピューティングデバイスもしくはシステムにも適用することができる。
【００９６】
例えば適切なＡＰＩ、ツールキット、ドライバコード、オペレーティングシステム、コントロール、スタンドアロンもしくはダウンロード可能なソフトウェアオブジェクトなど、本明細書に記載する実施形態の１つまたは複数を実行する複数の方法がある。諸実施形態は、ＡＰＩ（または他のソフトウェアオブジェクト）の観点から、ならびに記載した実施形態の１つまたは複数に従って任意のプラットフォームからのサービスとしての情報のインフラストラクチャの提供を容易にするソフトウェアまたはハードウェアオブジェクトから、検討することができる。本明細書に記載する様々な実行および実施形態は、全体的にハードウェア、一部がハードウェアで一部がソフトウェア、ならびにソフトウェアである態様を有することができる。
【００９７】
「例示的」という用語は、本明細書では一例、事例、または実例として機能することを意味するように使用される。誤解を避けるために、本明細書に開示する対象物は、このような例に限定されない。さらに、「例示的」として本明細書に記載するいかなる態様または設計も、必ずしも他の態様または設計よりも好ましいまたは有利であるとは限らず、当業者に知られている等価の例示的構造および技術を排除することを意図されていない。さらに、「含む」、「有する」、「含有する」、および他の同様の用語が詳細な説明または特許請求の範囲で使用される範囲では、誤解を避けるために、このような用語は、追加の要素または他の要素を排除することなく公開された遷移語として「含んでいる」という用語と同様に包含的であることを意図される。
【００９８】
上述のように、本明細書に記載した様々な技術は、ハードウェアまたはソフトウェアと関連して、必要に応じて両方を組み合わせて実行することができる。本明細書で使用する、「コンポーネント」、「システム」などの用語は、同様に、コンピュータ関連のエンティティ、すなわちハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアを指すものとする。例えばコンポーネントは、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および／またはコンピュータである場合があるが、これらに限定されない。実例としては、コンピュータで実行中のアプリケーションとそのコンピュータの両方が、コンポーネントである可能性がある。１つまたは複数のコンポーネントは、実行のプロセスおよび／またはスレッドの中にある場合があり、またコンポーネントは、１つのコンピュータに局在化される、および／または２つ以上のコンピュータ間で分散される場合がある。
【００９９】
前述のシステムは、いくつかのコンポーネント間の対話に関して説明した。このようなシステムおよびコンポーネントは、そうしたコンポーネントまたは指定されたサブコンポーネント、指定されたコンポーネントまたはサブコンポーネントの一部、および／または追加のコンポーネントを含むことができ、前述のものの様々な並べ換えおよび組合せに従うと理解することができる。サブコンポーネントは、親コンポーネント（階層型）内に含まれるのではなく、他のコンポーネントと通信可能に結合されるコンポーネントとして実装されることも可能である。さらに、１つまたは複数のコンポーネントは、機能を集約する、またはいくつかの別個のサブコンポーネントに分ける場合、単一コンポーネントに結合することができ、管理層など、いずれか１つまたは複数の中間層は、統合された機能を提供するために、このようなサブコンポーネントに通信可能に結合するように提供される場合があることに注意すべきである。本明細書に記載するいかなるコンポーネントも、本明細書に詳細に記載していないが一般に当業者に知られている１つまたは複数の他のコンポーネントと対話することができる。
【０１００】
上述した例示的システムを考えると、開示の対象物に従って実行することができる方法は、様々な図のフローチャートを参照してよりよく理解されるであろう。説明を簡単にするために、方法を一連のブロックとして示して説明しているが、請求される対象物は、ブロックの順序に限定されず、本明細書に示して説明するものから、一部のブロックは異なる順序で発生する可能性がある、および／または他のブロックと同時に発生する場合があることを理解されたい。非順次的な、すなわち枝分かれしたフローが、フローチャットによって示される場合、同じまたは同様の結果をもたらす他の様々な分岐、流路、およびブロックの順序を実行することができると理解することができる。さらに、図示したすべてのブロックが、以下に記載する方法を実施するのに必要であるというわけではない。
【０１０１】
一部の実施形態では、クライアント側の視点を示しているが、誤解を避けるために、対応するサーバの視点が存在すること、逆もまた同様であることを理解されたい。同様に、方法が実行される場合、１つまたは複数のコンポーネントによってこの方法を実行するように構成されたストレージおよび少なくとも１つのプロセッサを有する対応するデバイスを設けることができる。
【０１０２】
様々な図の好ましい実施形態と関連して様々な実施形態について説明したが、他の同様の実施形態を使用することができる、または、同じ機能を行うために説明した実施形態に変更および追加を行うことができることを理解されたい。またさらに、上述の実施形態の１つまたは複数の態様は、複数の処理チップまたはデバイスでまたはこれら全体にわたって実行されることが可能であり、ストレージは複数のデバイスにわたって同様に実施されることが可能である。したがって、本発明は、いかなる単一の実施形態にも限定されるべきではなく、もっと正確には添付の特許請求の範囲に従った幅および範囲で解釈されるべきである。
【図１】
2013522733.tif 000003
【図２】
2013522733.tif 000004
【図３】
2013522733.tif 000005
【図４】
2013522733.tif 000006
【図５】
2013522733.tif 000007
【図６】
2013522733.tif 000008
【図７】
2013522733.tif 000009
【図８】
2013522733.tif 000010
【図９】
2013522733.tif 000011
【図１０】
2013522733.tif 000012
【図１１】
2013522733.tif 000013
【図１２】
2013522733.tif 000014
【図１３】
2013522733.tif 000015
【図１４】
2013522733.tif 000016
【国際調査報告】
2013522733.tif 000017
2013522733.tif 000018