JP5872535B2 - ネットワーク化サービスとしての情報に対するクエリモデル - Google Patents

ネットワーク化サービスとしての情報に対するクエリモデル Download PDF

Info

Publication number
JP5872535B2
JP5872535B2 JP2013500107A JP2013500107A JP5872535B2 JP 5872535 B2 JP5872535 B2 JP 5872535B2 JP 2013500107 A JP2013500107 A JP 2013500107A JP 2013500107 A JP2013500107 A JP 2013500107A JP 5872535 B2 JP5872535 B2 JP 5872535B2
Authority
JP
Japan
Prior art keywords
data
query
data set
information
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013500107A
Other languages
English (en)
Other versions
JP2013522768A (ja
Inventor
コスラヴィ ムー
コスラヴィ ムー
グオゼス ルカシュ
グオゼス ルカシュ
リーンズバーガー クリスチャン
リーンズバーガー クリスチャン
デービッド スウェドバーグ グレゴリー
デービッド スウェドバーグ グレゴリー
ジャコ ボウ ルネ
ジャコ ボウ ルネ
ソウレン モール ロジャー
ソウレン モール ロジャー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013522768A publication Critical patent/JP2013522768A/ja
Application granted granted Critical
Publication of JP5872535B2 publication Critical patent/JP5872535B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24547Optimisations to support specific applications; Extensibility of optimisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、発行者によって様々な消費オプションのためにネットワーク化されたストレージサービスに発行されたデータセットに対して、異なるクエリを柔軟に定義することに関する。
いくつかの従来のシステムに関する背景としては、コンピューティング装置は従来的に、その装置に対してローカルに、アプリケーション、およびデータサービスを実行する。さらに、オンラインおよびクラウドサービスの進化により、アプリケーションおよびデータサービスは、装置の代わりに所与のサービスの一部または全てを行うネットワークプロバイダに移動しつつある。テラバイトのデータ(将来的に、ペタバイト、エクサバイト等のデータの可能性もある)を記憶することができるネットワークストレージファームの進化は、主装置と外部記憶装置との分離により、クラウドにおいてローカルシナリオを模倣する機会を作っている。
しかしながら、データ所有者および発行者からのデータの記憶の分離は、アプリケーション開発者およびデータの消費者からの分離のように、データが以前のように消費者のローカル装置で無制限に表現される場合には存在しない問題を作り出す。それはデータの情報漏洩、再分配、無制限使用の可能性のためにコンテンツ所有者に関係した状況である。しかしながら、いずれのクラウドサービスおよびネットワークストレージプロバイダも、任意のプラットフォームにおけるサービスとしての情報を、容易に発行し、アプリケーションを指定し、および任意の種類のデータを使用することができるように発行者、開発者および消費者に、関与される全てについて追跡および監査することができ、そしてその結果それらのコンテンツに対する制限を実施できることを発行者に保証することができる方法で効果的に提供することができていない。さらに、特に有益なデータを有するコンテンツ所有者または発行者のために、データへのアクセスを制御することに関する問題はさらに重要になる。そのような有益なデータをネットワーク化ストレージサービスに渡してしまうと、誰がアクセスを得るのか、どのような種類のクエリが消費者または開発者に提示されるのか等の問題に、特定の種類のデータ用に設計された専用のカスタム解決策なしに回答することは難しい。
上記した今日のネットワーク化ストレージサービスの欠陥は単に、従来のシステムの問題のいくつかの概要を提供することを意図しており、網羅的なものではない。先端の技術分野に関連する他の問題および様々な非限定的な実施形態の一部の対応する利点は、以下の詳細な説明からさらに明らかになる。
本明細書において、詳細な説明および添付図面に続く例示の非限定的な実施形態の様々な態様の基本的なまたは一般的な理解を可能にするのを助けるため簡略な要約を提供する。しかしながら、本概要は、広範囲のまたは完全な概要として意図されていない。代わって、本概要の1つの目的は、一部の例示的の非限定的な実施形態に関連する一部の概念を、以下の様々な実施形態の詳細な説明の前置きとして簡略化した形提示することである。
様々な実施形態において、データは、発行者によって、データセットを受信するように構成された情報サービスに発行され、消費者がクエリを介してそのデータセットを使用することを可能にする。そのデータセットの構造情報(例えば、コラム情報)は、発行者が、データセットのどの情報を検索パラメータとするか、およびどの情報がクエリ結果として返されるべきかを選択するために、個別の対話の一部として発行時またはその後に発行者に提示される。
発行者による選択に基づいてクエリインタフェースを自動的に作成することができ、そのようなクエリインタフェース、例えば、発行者によって選択された検索パラメータまたはクエリ結果に基づいたインデックスの作成のため、バックエンドデータベースを自動的に最適化することができる。クエリアグリゲータは、所与のクエリインタフェースおよび他のクエリインタフェースに対する許可のインタセクションに基づいて、所与のクエリインタフェースを他のクエリインタフェースと自動的に組み合わせて、より複雑な(しかし、まだ許可されている)クエリを形成することができる。
他の実施形態および様々な非限定的な実施例、シナリオおよび実施を、以下に詳細に説明する。
様々な非限定の実施形態は添付図面を参照してさらに説明される。
一実施形態に係るテーブルまたは他の構造化データの例を示すブロック図である。 本明細書で説明される1つまたは複数の実施形態によって対処される従来のシステムの1つまたは複数の制限を示すブロック図である。 1つまたは複数の実施形態に従って、発行されたデータセットに対して異なるクエリを定義するクエリ定義モデルおよび対応するインタフェースを示すブロック図である。 1つまたは複数の実施形態について本明細書で説明される、クエリの形成および最適化に関連して使用するための検索の述語および結果に対する制限を含むデータセットからの構造化情報の選択を示すブロック図である。 1つまたは複数の実施形態について本明細書で説明される、クエリの形成および最適化に関連して使用するための検索の述語および結果に対する制限を含むデータセットからの構造化情報の選択を示すブロック図である。 一実施形態に従って、指定された検索可能な情報および指定された戻り結果に基づいたアクセスクエリの生成を示すブロック図である。 1つまたは複数の実施形態に従って自動的に生成されるクエリAPIの消費を示すブロック図である。 クエリ比較および/または類似に基づいたAPIの集合またはハイブリッドAPIの形成のブロック図である。 一実施形態に従って、指定された検索可能な情報および指定された戻り結果に基づいたデータベース最適化を示すブロック図である。 任意のプラットフォームからサービスとして提供された情報に対する非限定のインフラストラクチャに従ってデータをホストするか、またはホストされたデータに接続して、クエリインタフェースを自動的に作成するシーケンスの例を示すフロー図である。 任意のプラットフォームからサービスとして提供された情報に対する非限定のインフラストラクチャと関連して、データを発行し、クエリのための検索パラメータの入力を指定するシーケンスの例を示すフロー図である。 任意のプラットフォームからサービスとして提供された情報に対する非限定のインフラストラクチャと関連して、データを発行し、クエリのための検索結果を指定するシーケンス例を示すフロー図である。 任意のプラットフォームからサービスとして提供された情報に対する1つまたは複数の非限定的なインフラストラクチャの実施形態に従って生成されたクエリに基づいて、データストアを最適化するシーケンス例を示すフロー図である。 任意のプラットフォームからサービスとして提供された情報に対する非限定のインフラストラクチャによってトラッキングされたパートナー識別子メタデータを含む、メタデータの非限定の態様の例を示すブロック図である。 任意のプラットフォームからサービスとして提供された情報に対する非限定のインフラストラクチャのシーケンス例を示すフロー図である。 任意のプラットフォームからサービスとして提供された情報に対する非限定のインフラストラクチャの例を示すブロック図である。 任意のプラットフォームからサービスとして提供された情報に対するインフラストラクチャの実装の詳細の非限定なセットの例を示すブロック図である。 任意のプラットフォームからサービスとして提供された情報に対する例示のインフラストラクチャからのデータの使用例を示している。 本明細書で説明された様々な実施形態を実装することができる非限定のネットワーク化環境例を表すブロック図である。 本明細書で説明された様々な実施形態の1つまたは複数の態様を実装することができる非限定のコンピューティングシステムまたはオペレーティング環境を表すブロック図である。
<概要>
背景技術で説明したように、有益なデータを有するコンテンツ所有者または発行者のために、データへのアクセスを制御することに関する懸念事項は、今日のネットワーク化ストレージサービスに沢山ある。今日、ネットワーク化ストレージサービスにそのような有益なデータを渡してしまうと、誰がアクセスを得るのか、どのような種類のクエリが消費者または開発者に提示されるのか等の問題に、特定の種類のデータのために設計された専用のカスタムの解決策なしに回答することは難しい。
この点について、ダンアンドブラッドストリート(Dun and Bradstreet)の企業情報やレキシス−ネキシス(Lexis-Nexis)のオンラインケース法律およびニュースサービス等の「数百万」ドルのデータセットに関して、異なるユーザまたはユーザのクラスによってデータまたはデータの一部にアクセスするために異なる複数の最小在庫管理単位(SKU:stock-keeping unit)へのアクセスをユーザに与えるという観点から、あまり多くの柔軟性がない。この理由のため、様々な加入モデルが考え出されているが、事実上、利用不足に対する過大請求、または大量消費者の過少請求がある。
よって、様々な実施形態において、発行者は、発行者が発行したデータについてクエリを行い、また異なるSKUに対応する生成されたAPI(application programming interface)等のクエリインタフェースを自動的に備えるために、異なるSKUを容易に選択する。データの構造情報がクエリインタフェースの検索パラメータおよび/または検索結果の一部であることを制御することによって、発行者はデータを検索することができること、および結果が戻されることを制御することができる。これを可能にする多くの例およびシナリオの1つとして、熱心なスポーツリーダ(消費者)は、発行者が結果セットの一部としてスポーツコンテンツだけのSKUを作ることによって、新聞のスポーツコンテンツだけを見て、支払いをすることができる。あるいはまた、発行者は、元となるデータへのアクセスにわたって自由でおよび無制限な状態を可能にする(例えば、データのサブセットを検索すること、またはそのデータのサブセットに関する結果の戻りを拒否することによって、消費コンピュータにおいて1つずつ有益なデータセットの再構築を防ぐこと)のではなく、所与のデータセットについてどのコラムを検索することができるかを制御することができる。サービスとしての情報のコンテキストにおいて発行されたデータをクエリするために異なるSKUの作成を可能にすることによって、価格を可変的に設定することができ、価格モデルを定期的に変えるよりも、柔軟で容易な方法で新しいSKUを作り、または古いSKUを削除することができる。この点について、クエリの類似が存在する複数のSKUを統合することができる。加えて、発行者によって指定された検索基準に基づいて、そのような検索に対して例えば、指定の検索クエリSKUによって関係された検索コラムについてのインデックスを作成するなど、バックエンドでデータを自動的に最適化することができる。
さらに、それらのおよび他の様々な例としての非限定の実施形態およびシナリオの詳細は以下に提供される。
<ネットワーク化サービスとしての情報に対するクエリモデル>
上記したように、サービスとしての情報のコンテキストにおいて、様々な実施形態では、クエリモデルは異なる検索SKUを作成ために検索するデータの異なるコラムを取り出すために発行者に対して提供される。例えば、名称(Name)、緯度(latitude)、経度(longitude)、クレジット(Credit)というコラムを有するテーブルのために、本明細書で説明された1つまたは複数の実施形態の使用例は、入力として企業の名称+クレジットをとり、企業の名称と関連付けられた緯度および経度を返すクエリAPIを自動的に作成することを含む(例えば、ダン(Dun)+ブラッドストリート(Bradstreet)データ)。SKUなどの結果を用いて、信用力のある企業のヒートマップを作成することができる。これを達成するための非限定のシーケンス例が図1〜6に示されている。
例えば、図1のテーブルに示されているように、発行者が企業名称102、緯度104、経度106およびクレジット106のコラムを含む有益なデータセット100を発行することを望むとする。しかしながら、それにも関わらず、誰かのアクセスのためにデータセットをクラウドに簡単に手放すのではなく、その制御を維持するために、どのようにそのデータが検索され得るのか、また、どの結果セットが検索に基づいて戻され得るのかについて制御を保持する。この問題は図2のブロック図によって示され、複数の発行者200はサービス220として情報を提供するインフラストラクチャにデータセット210を発行することを望む一方、複数の開発者230または複数の消費者240に対するそれらのデータの普及および検索エントリポイントを制御することを望む。
様々な実施形態に応じて、図3に示されたように、データセット310を発行する複数の発行者300はサービス320として情報のために発行するが、クエリ定義モデルおよびインタフェースコンポーネント330へのアクセスを有し、ここで、発行者はインタラクション340を介して発行されたデータセットにわたって異なるクエリを定義することができる。
図4に示された一実施形態において、サービスとしての情報は、発行されたデータセットの分析に基づいてクエリ定義ユーザインタフェース400を表し、そのデータセットに関する情報の様々な構造的ビットを提示する。例えば、名称402、緯度404、経度406、およびクレジット408を有するテーブルの本例では、発行者は名称402とクレジット408等のコラム名称を選択することができ、それは結果を戻すためにクエリの検索述語の一部として用いられ得る。同様に、発行者は図5に示されたように、インタフェース400を介して戻り結果情報420を指定することができる。例えば、発行者は、検索からクエリ結果420の一部として、クレジット408を除いて(全ての情報を返すことができる場合、ユーザはそのテーブルを再度作成し、発行者も「除外する」ことができる)、名称402、緯度404および経度406が返されるように指定することができる。
そして、クエリ生成器430によって、クエリについて指定された検索可能な情報410に基づいて、およびクエリ戻り情報420に基づいて、クエリAPI600は自動的に生成される。例えば、本例では、クエリAPIまたはSKUを、図6にも示すように、次のように定義することができる。
Get(Name,latitude,longitude)
{
Name
Credit
}
この点について、発行者は任意の数のSKUを定義し、それに応じて、例えば、アクセスされている情報の範囲および価値に一致するように、SKUの使用に対する価格を設定することができる。また、どのエンティティが検索しているのか(例えば、学生または非営利エンティティ、対営利エンティティ)に応じて、価格設定を行うこともできる。図7に示されるように、図6のAPI600は、複数の開発者230によって、一方では複数の消費者24によって使用されているように示されている。示されたように、異なる価格設定を、例えば、以下に詳細に説明されるように、会計監査能力およびトランザクショントラッキング能力に基づいてクエリAPI600の使用のために実装することができる。
図8は例示的な非限定の実施形態を示すブロック図であり、ここで自動的に生成されたAPIの消費者の観点から、消費者が第1のクエリ600を使用する能力を有し、および第2のクエリ602を使用する能力を有する場合に、そのクエリ間に論理的な重複があれば、API集約コンポーネントは、(非限定の例として)ハイブリッドAPI604を作成することができ、その後ハイブリッドAPI604は、開発者230または消費者240によって使用され得る。この意味において、その許可が適所にある限り、開発者230および消費者240は、コラム等の同一または類似の構造情報を有する個々のクエリから集約されたクエリの一部がより複雑なほどより豊富なデータを返すように権限を与えられる。
図9は、使用すべき検索パラメータまたは戻されるべき検索結果の仕様に基づいたAPIの生成の別の態様を示している。例えば、検索可能な情報410が発行者によって指定され、戻り結果420も指定される図4および図5の例では、クエリインタフェース600の作成をパラメータ410および結果420またはクエリインタフェース600に基づいて導き、クエリ最適化エンジン900は、それがデータに対して提示されている既知のSKUであるので、クエリ600の実行のために基礎となるストレージ910を自動的に最適化することができる。例えば、データを実際に予めソートすることによって、またはクエリをより速くまたはより効率的にする他の最適化技術の適用によってクエリ600などのクエリの実行をスピードアップするインデックス920を作成することができる。この意味において、システムは検索されることを自動的に学習し、それによりデータベースを最適化し、関連付けられたSKUについてより高いパフォーマンスを可能にし、経時的なストレージスケーリングとして自己回復ストレージエコシステムを可能にする。
上記したように、データについて問い合わせを行うため異なる複数のSKUを容易に発行者に選択させ、かつ基礎となるデータの所与のストレージのために最適化された対応するAPIを自動的に作成する能力は、発行者が、データを消費する方法を柔軟に定義することを可能にする。例えば、通常、世界ニュースを読まない熱心なスポーツ読者は、検索だけを必要とし、そのようにSKUを利用可能できると仮定するならば、新聞のスポーツコンテンツだけために支払いを行う。加えて、複数のSKUを集約することができ、価格をクエリの使用量または戻されたデータ量に基づいて可変的に設定することができる。加えて、発行者によって指定された検索基準に基づいて、そのような検索のために、例えば、検索コラムにわたるインデックスを作成するなど、データをバックエンドで自動的に最適化することができる。
一実施形態において、複数の発行者によって発行され、かつクエリを介して複数の消費者によって消費されたデータをホストするためのシステムまたはホストされたデータに接続するためのシステムは、発行装置によって発行された少なくとも1つのデータセットを受信するように構成された情報サービスと、情報サービスによって判別された少なくとも1つのデータセットのデータの少なくとも1つのサブセットと関連付けられた構造情報を表すように構成され、かつ構造情報からの少なくとも1つの入力の選択を受信して、情報サービスによる少なくとも1つのデータセットにわたる実施のための少なくとも1つのクエリ能力を定義するように構成されたクエリ定義コンポーネントと、を含む。
そのシステムは、少なくとも1つの入力の選択を受信することに応答して、少なくとも1つの消費装置によって少なくとも1つのデータセットにわたる問い合わせを行うために、クエリインタフェースを生成するように構成されたクエリ生成器をさらに含むことができる。そのシステムは、クエリインタフェースを、少なくとも1つの他のクエリインタフェースと組み合わせるように構成されたクエリアグリゲータをさらに含むことができる。クエリインタフェースのその少なくとも1つの他のクエリインタフェースとの比較に基づいて同一または類似のクエリ定義に従ってクエリインタフェースを少なくとも1つの他のクエリインタフェースと組み合わせるようにそのクエリアグリゲータを設定することができる。
そのシステムは、その入力の少なくとも1つの選択を受信することに応答して、少なくとも1つのデータセットにわたる問い合わせの最適化のために、少なくとも1つのデータセットを保存する少なくとも1つのデータストアを最適化するように構成されたクエリオプティマイザをさらに含む。少なくとも1つのデータセットの分析から情報サービスによって判別された少なくとも1つのデータセットのコラム情報を表すようにクエリ定義コンポーネントを構成することができる。
図10は、データをホストするか、ホストされたデータを接続するための非限定的方法を示すフロー図である。1000において、第1の制御領域内のコンピューティング装置(複数を含む)は第2の制御領域内のコンピューティング装置(複数を含む)から少なくとも1つのネットワークを介して、第2の制御領域内のコンピューティング装置によって発行されたデータセット(複数を含む)を受信する。1010において、データセットは、そのデータセットのデータの少なくとも1つのサブセットと関連付けられた構造情報(例えば、コラム情報)を判別するために分析される。1020において、構造情報は第1の制御領域内のコンピューティング装置によってそのデータセット(複数を含む)にわたって実施するクエリ能力についての入力を受信するために、第2の制御領域内のコンピューティング装置に対してレンダリングされる。
1030において、検索パラメータ入力が、構造情報の第1の構造情報を定義する第2の制御領域内のコンピューティング装置から受信される。少なくとも1つの許可された消費装置に、構造情報にわたるデータセット(複数を含む)を検索する権限が与えられる。1040において、検索結果入力が、構造情報の第2の構造情報を定義する第2の制御領域内のコンピューティング装置から受信される。少なくとも1つの許可された消費装置に、構造情報に関してデータセット(複数を含む)からの結果を受信するように権限が与えられる。当該方法を繰り返して、データセットにわたる様々な任意のクエリを定義することができる。
検索パラメータ入力および検索結果入力によって定義されたクエリ制約に従ってデータセット(複数を含む)を検索するために使用する少なくとも1つの許可された消費装置について、検索パラメータ入力および検索結果入力に基づいてクエリインタフェースを自動的に生成することができる。加えて、クエリインタフェースを、少なくとも1つの他のクエリインタフェースとの比較に基づいてクエリインタフェースを同一または類似の検索パラメータ入力に従って、例えば、クエリインタフェースと少なくとも1つの他のクエリインタフェースとの比較に基づいて同一または類似の検索結果入力に従って、少なくとも1つの他のクエリインタフェースと組み合わせることができる。
図11は、データを発行する非限定の方法を例示するフロー図である。1100において、第1の制御領域内の発行コンピューティング装置が、第2の制御領域内の受信コンピューティング装置にデータセット(複数を含む)を発行する。1110において、発行コンピューティング装置は、例えば、受信コンピューティング装置によるデータセット(複数を含む)の分析に基づいてデータセット(複数を含む)に関連付けられた構造情報(例えば、コラム情報)に関係した情報に対してインタフェースする。1120において、検索パラメータに基づいてデータセット(複数を含む)にわたる消費装置による検索のために構造情報から検索パラメータを選択することができる。1130において、検索パラメータを受信コンピューティング装置に送信してデータセット(複数を含む)にわたって問い合わせを行うクエリインタフェースを自動的に生成することができる。
図12は、データを発行する非限定の方法を例示するフロー図である。1200において、発行コンピューティング装置は、第2の制御領域内の受信コンピューティング装置に第1の制御領域内でデータセット(複数を含む)を発行する。1210において、発行コンピューティング装置は、例えば、受信コンピューティング装置によるデータセット(複数を含む)の分析に基づいてデータセット(複数を含む)に関連付けられた構造情報(例えば、コラム情報)に関係した情報に対してインタフェースを行う。1220において、検索パラメータによる検索に応答して消費装置により結果を受信するために、検索パラメータを構造情報から選択することができる。1230において、検索結果オプション(複数を含む)を受信コンピューティング装置に送信してデータセット(複数を含む)にわたって問い合わせを行うクエリインタフェースを自動的に生成することができる。
図13は、データをホストするか、ホストされたデータを接続するための非限定の方法を例示するフロー図である。1300において、第1の制御領域内のコンピューティング装置(複数を含む)は、第2の制御領域内のコンピューティング装置(複数を含む)から少なくとも1つのネットワークを介して、第2の制御領域内のコンピューティング装置(複数を含む)によって発行されたデータセット(複数を含む)を受信する。1310において、データセット(複数を含む)を分析して、該データセットのデータの少なくとも1つのサブセットと関連付けられた構造情報を判別する。1320において、構造情報(例えば、コラム情報)が第2の制御領域内のコンピューティング装置(複数を含む)に対してレンダリングされる。1330において、そのデータセット(複数を含む)にわたって実行する少なくとも1つのクエリ能力についての構造情報からの入力が第1の制御領域内のコンピューティング装置(複数を含む)によって受信される。1340において、データセット(複数を含む)と関連付けられたデータストレージメタデータが、データセット(複数を含む)にわたるクエリの実行を最適化するために入力の受信に応答して自動的に増大される。例えば、データストレージメタデータの増大は構造情報からの入力に基づいてデータセット(複数を含む)と関連付けられたインデックス情報を生成するか、増大させることを含むことができる。
次に図14を参照すると、一実施形態に係る、発行されたデータセット(複数を含む)にわたるAPIリクエストの例が図示されている。示されているように、API要求1400は、ヘッダ部1410および本体部1420を含むことができる。一態様において、ヘッダ部1410は開発者キーフィールド1412、一意の識別子フィールド1414、およびパートナー識別子フィールド1416を含むことができる。この実施形態では、一意の識別子フィールド1414は、複数のユーザに対する一意の識別子を含むことによってマルチシート(multi-seat)API使用のトラッキングを容易にすることができることを理解されたい。さらに、パートナー識別子1416に関しては、特定のAPI要求と関連するパートナーがいないこと示すヌル値を指定することができることを理解されたい。
この点に関して、図13について説明したように、様々なデータストレージメタデータを、クエリの実行を最適化するためにデータセット(複数を含む)の発行の一部として記憶し、自動的に更新することができる。加えて、発行時に、データセット(複数を含む)と関連付けられたメタデータを、パートナー識別子フィールド1414を含むように自動的に更新することができ、これを、所与のパートナーのデータセット(複数を含む)の会計検査等の使用へのアクセスをトラッキングする目的で所与のパートナーに適用する所与のパートナー識別子に関してクエリとマッチングさせるために用いることができる。この方法において、複数のパートナーのデータセット(複数を含む)が、開発者、消費者、加入者等からのAPI要求によって消費される場合、全てのパートナーのデータセットは適用可能なデータアクセスのためにクレジットを与え得る。
追加の実施形態においては、データを発行する方法が、第2の制御領域内の受信コンピューティング装置(複数を含む)に第1の制御領域内の発行コンピューティング装置(複数を含む)によって、データセット(複数を含む)を発行し、第2の制御領域内の受信コンピューティング装置(複数を含む)によって生成され、かつ受信コンピューティング装置(複数を含む)によるデータセット(複数を含む)の分析に基づいてデータセット(複数を含む)と関連付けられた構造情報と関係した情報を含むインタフェースに対してインターフェーシングを行うことを含むことができる。その方法は、検索バラメータ(複数を含む)で検索することに応答して消費装置によって結果を受信するために構造情報から検索結果オプション(複数を含む)を選択することをさらに含むことができる。インターフェーシングを行うことはデータセット(複数を含む)と関連付けられたコラムと関係した情報を含むインタフェースにインターフェーシングを行うことを含むことができる。
その方法は、検索結果オプション(複数を含む)に基づいて検索結果を戻すクエリインタフェースの自動生成のために、受信装置に検索結果オプション(複数を含む)を送信することを含むことができる。その方法は、検索パラメータ(複数を含む)に基づいてデータセット(複数を含む)にわたって消費装置によって検索する構造情報から検索パラメータ(複数を含む)を選択することができる。その方法は、データセット(複数を含む)にわたって問い合わせを行うクエリインタフェースの自動生成のために受信装置に検索パラメータ(複数を含む)を送信することを含むことができる。
他の実施形態においては、データを管理するまたは管理されたデータに繋ぐ方法が、第2の制御領域内のコンピューティング装置(複数を含む)から第1の制御領域内のコンピューティング装置(複数を含む)によって、第2の制御領域内のコンピューティング装置によって発行されたデータセット(複数を含む)を受信し、そのデータセット(複数を含む)のデータのサブセット(複数を含む)と関連付けられた構造情報を判別するためにデータセット(複数を含む)を分析することを含むことができる。その方法は、第2の制御領域内のコンピューティング装置(複数を含む)に構造情報を提供し、第1の制御領域内のコンピューティング装置(複数を含む)によってデータセット(複数を含む)にわたって実行するクエリ能力についての構造情報から入力を受信し、その入力の受信に応答して、そのデータセット(複数を含む)と関連付けられたデータストレージメタデータを自動的に増大させることを含むことができる。
その増大は、構造情報からの入力に基づいてデータセット(複数を含む)と関連付けられたインデックス情報を生成するまたは増大させることを含むことができる。また、その増大は、データセット(複数を含む)と関連付けられたパートナー識別子(複数を含む)を含むためにデータストレージメタデータを更新することを含むことができる。その分析はデータセット(複数を含む)と関連付けられたコラム情報を判別することを含むことができる。
<サービスとしての情報についての追加コンテキスト>
次の説明は、可能性のある非限定のインフラストラクチャ、アーキテクチャ、および/または関連付けられたサービスを含み、上記した実施形態の1つまたは複数を理解することにおいてさらに手助けとなる。この章に説明される追加の特徴の1つまたは複数は、様々な消費オプションのためのネットワーク化ストレージサービスに複数の発行者によって発行されたデータのセット(複数を含む)にわたって異なるクエリを柔軟に定義することについて上記した実施形態の1つまたは複数に適応させることができる。そのような実施形態または特徴の組み合わせが可能である一方、誤解を避けるために、本開示で示した実施形態は本明細書で説明した他の実施形態での限定を考慮すべきではない。
いくつかの追加の背景として、今日、インターネット等のネットワークを介して情報を得ることができる一方、今日の提供はアクセスおよびフレームワークの観点から独占する傾向にあり、サードパーティのプロバイダ加入の観点から限定される。例えば、現在、商業用コンテンツの価値の少なくとも一部を手放さない方法でそれらのデータを発行する、商業用コンテンツプロバイダのための適正なビジネスモデルがなく、歴史的に、有益なコンテンツの所有者は限定された所有手段を介してそのコンテンツを提示する傾向にある。あるいは、そのようなコンテンツの記憶が安全なクラウドストレージプロバイダによって提供される場合には、消費者が、興味があるアイテムを潜在的に見つけ出すために何千ものテーブルをかき分けなければならないときに単独での記憶に少しの価値がある。加えて、クラウドストレージプロバイダが様々なプロバイダからデータを収集することを試みる場合にさえ、よくてもそのようなプロバイダは適度の、小さいまたは不完全なデータのカタログを誇ることができる程度である。
この領域の潜在的な成長の妨げの多くは、取り扱いおよびIP(例えば、著作権)についての不信の結果である。要するに、ビッグプレーヤは重要資産を有するクラウドプロバイダを信じていないが、これは、1つの情報漏洩がデータの価値を終わらせる可能性があるからである。加えて、そのような時代遅れのクラウドプロバイダは、それらの情報の必要性のためにそのようなデータから価値を取り出すことを望む情報インフォメーションワーカーについて弱い立場におり、さらに、そのようなシステムの財産的価値のため、開発者は情報上の可能性を発展させるツールを拡張するのに能力が制限されている。
よって、1つまたは複数の実施形態について説明したように、個々の、すなわち、発行者、開発者、インフォメーションワーカー、および消費者の全てのクラスを適応させるサービスとしての情報用のインフラストラクチャが提供される。そのインフラストラクチャは、情報発見、例えば、任意のプラットフォームおよび任意の形成要因(例えば、スクリーンサイズ)で任意のアプリケーションにパワーを与えるために構造化されかつブロブ(blob)のデータセットを発見し、獲得し、消費する能力を可能にする。インフラストラクチャは、仲介業、例えば、パートナー駆動エコシステム、並びに開発者およびインフォメーションワーカーにデータおよび機能を配信する世界的規模をさらに可能にする。また、インフラストラクチャは、分析および報告、例えば、私的データを公的データで補強するシングルクリック分析を可能にする。この点において、インフラストラクチャの様々な実施の分かり易い性質のため、どんなアプリケーション開発者でもモバイル、クラウド、および/またはデスクトップアプリケーションを開発してデータの発行、処理問い合わせ、および/または取り出しを容易にすることができる。
アプリケーションを書くために、人はアカウント情報(例えば、ライブIDで署名)を登録することができ、本明細書で1つまたは複数の実施形態のために説明されたようにサービスとしての情報用のインフラストラクチャのために可能にされた構造化されかつリアルタイムウェブサービスを介して「ブロブ」にアクセスするためにアカウントキーが人には提供され得る。1つの態様において、開発者はコーディング(符号化)を始める前にAPIを視覚的に探索することができる。例えば、限定されないが、XML(extensible markup language)、ATOM、RAW(ブロブおよびリアルタイムコンテンツ用)等の様々なパッケージに従って、またはテーブルビュー(例えば、構造化データ用)において、REST(representational state transfer)APIクエリを視覚的に構築し、コンテンツをプレビューするために開発者によってサービスエキスブロワーモジュールまたはモジュールのセットを用いることができる。例えば、開発者は単に彼または彼女のアカウントキーを提供し、コンテンツをプレビューするのを選択する。
よって、開発者は任意のプラットフォーム上でモバイル、デスクトップまたはサービスアプリケーションを作ることができる。結果としてのRESTクエリを新しい開発者アプリケーションに複製することができる一方、サービスとしての情報用のインフラストラクチャは、ローカルオブジェクトモデルを作る、またはXMLまたはウェブサービスコードの詳細を生成および理解する必要性を排除するために自動的に生成されたC#プロキシクラスを消費する能力を有効にする。この点において、他の非限定の有利な態様では、プロキシクラスをダウンロードすることができ、わずか2〜3ラインのコードを有するサービスデータを消費することを開発者のアプリケーションに含むことができる。
この点では、サービスとしての情報用のインフラストラクチャの様々な実施形態は、開発者およびインフォメーションワーカーがそれらのアプリケーションおよび分析のシナリオにおいて瞬時に、定期的に、またはアプリケーション開発者によって指定された時間のいくつかの他の機能にわたってデータを見つけ出し、獲得し、そして消費することを可能にする。上記したように、開発者は、コンテンツ要求のために本明細書では1つまたは複数の実施形態のために説明されたようにサービスとしての情報を有効にし、興味があるコンテンツに登録するネットワークサービスに対するウェブサービスコールに付随するアカウントキーを取得する。
よって、1つの態様では、本明細書では1つまたは複数の実施形態について説明されたようにサービスとしての情報用のインフラストラクチャによって提供されたアカウントキーは開発者の秘密鍵である。このキーは、開発者のアプリケーションと関連して使用されるコンテンツについて課金および報告を可能にする。このように、この秘密の開発者キーは目的もなく共有されることはなく、また、そのキーを安全にすることにおいての予防措置をとることができ、そこではモバイルまたはデスクトップソリューション上で動作しているネイティブアプリケーションを開発し、また展開の一部としてキーを統合することを計画する。例えば、暗号ストレージを、キーが割れていないことを確認するために使用することができる。
コンテンツを消費するアプリケーションをトラッキングするために使用されるアカウントキーに加えて、一意のユーザIDは、開発者の個々のユーザを表すGUID(グローバル一意の識別子)である。このフィールドは、プログラムでユーザ単位に販売されているコンテンツに対する課金を可能にする。例えば、開発者がアプリケーションを消費して個々のユーザを持つモバイルアプリケーションを開発しているならば、開発者は各時刻要求がその個々のユーザに代わって行われているのと同じGUIDを戻すことができる。しかしながら、開発者がウェブポータルを開発し、様々なユーザに代わってウェブサービス要求を発しているならば、ポータルを訪れる一意のユーザ毎に新しいGUIDを割り当てることは開発者に任されている。例えば、各登録ユーザにはGUID、または一意のID GUID等を割り当てた各IPアドレス/ポートの組み合わせを割り当ていることができる。
REST APIは本明細書で1つまたは複数の実施形態について説明されたように、サービスとしての情報用のインフラストラクチャからコンテンツを消費する任意のプラットフォーム上で構築することができる一方、一実施形態では、プロキシクラスを動的にC#でのサービスのために動的に生成することができる。これを達成することは、オブジェクトモデルをダウンロードし、それらを現在の開発者プロジェクトに追加し、アカウントおよび一意のユーザ値を更新するということである。
開発者が手動でリクエストを発したいならば、一例が以下に提供されるが、任意のサービスに対して、プレビュー機能を使用することができ、またはサービスエクスプローラ(Service Explorer)から作成された複数のURLもその上呼び出すことができる。サンプルデータセットに対する非限定的なRESTクエリ例が以下に示される。なお、一部または全てのコールを保護されたSSL(secure socket layer)にすることができる。
https://api.sqlazureservices.com/UnService.svc/UNESCO(120)
$accountKeyおよびSuniqueUserldエレメントはリクエストのヘッダに配置され、それは次のように表され、例えば、
SaccountKey={developer acccount key}
$uniqueUserID={a GUID representing the unique user}
SaccountKeyの値はアカウントタブ(Accounts Tab)で見つけ出される開発者のアカウントキーを表し、$uniqueUserIDはサービスにアクセスする一意のユーザのGUIDを表す。
よって、本明細書で1つまたは複数の実施形態で説明したように、サービスとしての情報用のインフラストラクチャは、開発者およびインフォメーションワーカーが任意のプラットフォームにおけるプレミアムデータサブスクリプションを簡単に検索、購入、および管理することを可能にする新しいサービスおよびフレームワークである。インフラストラクチャは、共通のプロビジョニングおよび課金のフレームワークの元で統一している単一または複数の場所に一緒に、非正式発行者と共に、リードする商用データプロバイダおよび権威ある公的データソースデータから画像、およびリアルタイムのウェブサービスをもたらす情報市場である。さらに、開発者およびインフォメーションワーカーは、任意のプラットフォーム、アプリケーションまたはビジネスワークフローを視覚的に用いてこのプレミアムコンテンツを消費することができる。
本明細書で1つまたは複数の実施形態で説明したように、サービスとしての情報用のインフラストラクチャを使用するいくつかの非限定的なシナリオ例は、(a)消費者および企業のシナリオのための次世代の「キラーアプリ」にプレミアムコンテンツを見つけること、(b)既存のアプリケーションおよびレポートを改善するために有益なデータを発見してライセンス供与すること、(c)は本質的に異なるデータを持って来ることは、ビジネスのパフォーマンスと処理、例えば、集約アルゴリズムに新たな洞察(インサイト)を得るために革新的な方法で一緒に全く異なるデータセットをもたらすこと、(d)ブロブ、構造化された、およびリアルタイムのウェブサービスのための全てのコンテンツブロブのプロバイダにわたってAPIを瞬時にかつ視覚的に探索すること、および(e)既存のアプリケーション、および既存のワープロ、表計算、データベースクエリシステム等のデータベースシステム内で豊富なレポートおよび分析のためにサードパーティのデータを消費することを含む。
開発者のための利点は、(a)試用サブスクリプションがデータのロイヤリティを支払うことなくコンテンツの調査およびアプリケーションの開発を可能にすること、(b)簡単なトランザクションおよびサブスクリプションモデルが数百万ドル規模のデータセットへの「あなたが行くかまたは成長に合わせて支払う(pay as you go or grow)」アクセスを可能にすること、(c)任意のプラットフォーム上での開発を容易にするデータセットにわたるAPIに基づいた一貫したREST、(d)APIを視覚的に構築し、模索し、結果をプレビューすること、および(e)自動C#プロキシクラスが、インスタントオブジェクトモデルを提供し、面倒なXMLおよびウェブサービスのコードを記述する必要性を除去すること、を含む。
インフォメーションワーカーのための利点は、(a)限定されないがExcel既存の表計算ソフトでデータを簡単に操作するためにPowerPivotとの統合、(b)コンテンツを取得する単純で予測可能なライセンスモデル、 および(c)SQL Server、SQL Azureデータベース、および他の既存資産からデータを消費する能力、を含む。
コンテンツパートナーのための利点は、(a)ブロブデータ、構造化されたデータ、または動的なウェブサービスに関係なく簡単な発行およびオンボーディング処理、(b)例えば、Visual Studioおよび.NETまたはその他のランタイムシステム開発を通じて開発を容易にするために選択されたプラットフォーム上での開発者ツーリング、(c)グローバル開発者およびインフォメーションワーカーコミュニティに開発者向けコンテンツを公開すること、(d)既存のコンテンツ消費アプリケーション内部のコンテンツの発見および統合、および(e)スケーラブルクラウドコンピューティングプラットフォームが全ての当事者に代わって、記憶、配信、課金、および報告を処理すること、を含む。
本明細書で1つまたは複数の実施形態で説明したように、サービスとしての情報用のインフラストラクチャの非限定的な実装では、Rich Web Serviceのためのいくつかの特徴は、(a)全コンテンツカタログにわたるサービスを消費する安全でRESTベースのモデル、(b)アクセスを簡素化するためにAPIに組み込まれたダイナミックページネーション、(c)Standard ATOM 1.0フィードはサービスの大部分のために利用可能であること、および(d)一貫性のある課金、プロビジョニング、および全てのサービスにわたる使用報告、を含む。
本明細書で1つまたは複数の実施形態で説明したように、サービスとしての情報用のインフラストラクチャの非限定的な実装では、Service Explorerコンポーネントのためのいくつかの特徴は、(a)開発を簡素化するために生成されたC#のプロキシクラス、(b)サポートされるならば表形式でおよびATOM 1.0フィード等のフィードのようにデータのプレビュー、(c)コンパイルされたサービスコールが戻す結果を理解するためにサービスの呼び出し、(d)パラメータ毎のドキュメントおよびサンプル値の発見、および(e)開発を容易にするためのクリップボードへのサービスコールの視覚的に構築されたURLのインスタントコピー動作、を含む。
本明細書で1つまたは複数の実施形態で説明したように、サービスとしての情報用のインフラストラクチャの非限定的な実装では、Marketplace IntegrationおよびDiscovery Portalコンポーネントのためのいくつかの特徴は、(a)消費者および企業を含むドメインにわたる新しいデータの発見、(b)サービスのサブスクリプションと使用制限の管理、(c)サービスにアクセスするためのアカウントキーの管理、および(d)アクセスされ、かつ日付とアカウントキーによってグループ化されたサービス/データセットを含む詳細なアクセス報告、を含む。
そのインフラストラクチャは、コンテンツ所有者、アプリケーション開発者/ISVのため、並びにインフォメーションワーカーおよび他の消費者/加入者のために様々な価値ある提案を提供する。コンテンツ所有者に対しては、インフラストラクチャはデータに課金しないデータプロバイダのための社会的な利点に加えて、データ(データに課金するデータプロバイダのための)から収益化を可能とするが、他の方法でそのようなデータの発行から利益を得る。インフラストラクチャの開放のために、コンテンツの所有者は、ISVや消費者/インフォメーションワーカーに対するデータのより大きな可用性および広がりを享受し、これの全ては、特に過去のように、独自のモデルを開発する上で低コストで生じる。
アプリケーション開発者/ISVのために、そのインフラストラクチャは、一貫した形式、データアクセスのための可変および低コストの価格設定モデル、予測可能な価格設定、データを用いて構築されたアプリケーションを使用して消費者/IWからの潜在的利益、任意のプラットフォームを介して消費者へのより広い範囲および単一の課金とデータソースでデータへのアクセスを可能にする。
インフォメーションワーカー/消費者のために、そのインフラストラクチャは、単一の課金やデータに加えて、アプリケーションからの追加の値、現在のラージオブジェクト(LOB)またはIWソフトウェアにおけるデータの消費、データアクセスのための可変および低コスト価格設定を可能にする。
よって、インフラストラクチャは、潜在的に大きな収益上昇傾向を有して現在の顧客と開発者の悩みの種を解決し、モデリング、報告、分析、および傾向のためのインスタントデータが付加された一意のビジネスインテリジェンスの機会を作り、インフラストラクチャを介してそれらのデータの保存をデータ所有者を促すことによって任意のプラットフォームについての適用と粘りを作り出し、それによって従来のクラウドストレージ環境と比較したときインフラストラクチャの価値課題を差別化する。
図15のフローに示されるように、1500では、インフラストラクチャを介してデータを発行するためのコンテンツの所有者または発行者のために様々な方法が本明細書に説明されている。1510では、インフラストラクチャを介してデータを消費するために開発者がアプリケーションを開発することを可能にする様々なツールがある。1520では、消費者またはインフォメーションワーカーはデータを消費するためにアプリケーションを使用するかまたはそのデータにわたって直接問い合わせを行うことができる。最後に、インフラストラクチャは、1530でトランザクションモデルでは有効になって、コンテンツチェーン内の全ての当事者に代わって自動管理、監査、課金等を可能にする様々なツールを提供する。
この点においては、インフラストラクチャ内のいくつかの主要当事者は、データ所有者、アプリケーション開発者/ISVおよび消費者/インフォメーションワーカーを含む。一般的に、データ所有者はデータに課金したいエンティティ(実在者)、あるいは他の理由のために無料でデータを提供するかまたはデータを介して他の条件を実行したいエンティティである。同様に、アプリケーション開発者/ISVは、それらのアプリケーションを収益化したいエンティティ(例えば、広告を通じて、直接支払い、間接的な支払い等)、またはそのようなエンティティにいくつかの有益な理由で無料でそれらのアプリケーションを提供するエンティティである。インフォメーションワーカーおよび消費者は生データを使用することができる人々、またはアプリケーション開発者によって提供されたアプリケーションを使用する人々である。
図16は本明細書で説明されたようにサービスとしての情報を提供するエコシステムに参加することができる様々な当事者を概略的に示すブロック図である。例えば、ネットワークアクセス可能な情報サービス1600のセットは、データの感度および他の特性に応じて、様々な信頼できるまたは信頼のないデータストア1610へのアクセスを提供する。よって、示されたように、エコシステムは、あらゆる種類のデータ、ブロブ、構造化、非構造化等をサポートしているので、データストア1612,1614,...,1616がどんな種類であるかはそれほど重要ではない。上記したように、システムは、エコシステムにデータを加える発行者1620、データを消費する加入者1630、並びにそれらのアプリケーションとのデータの消費を助けるアプリケーションの開発者およびプロバイダ1650を含む。また、アクセス情報生成部1670は、アカウント情報、キー情報等を維持しまたは実行することを介して様々な当事者によってデータへのアクセスを管理することができる。この点において、コンテンツ所有者1660は、コンテンツ所有者1660が発行者1620、加入者1630および/またはその上アプリケーション開発者であることができるという点において役割のいずれかに広がることができる。1つの態様では、全ての当事者のための共通のインフラストラクチャは、管理1665、監査1675、課金1675、およびインフラストラクチャにわたって生じるデータトランザクションに対する他の目的の補助的なサービスを可能にする。
この点において、任意のプラットフォームからのサービスとしての情報を可能にするユーザーフレンドリなデータプラットフォームのための様々な実施形態は、データの消費者(IW、開発者、ISV)およびデータの消費者が簡単で、費用効率が高くかつ便利な方法で取り引きすることを可能にする。インフラストラクチャは、IWSが急速に洞察(インサイト)を描くことを可能にし、開発者が創造的方法で多くのデータソースを用いて革新的なアプリケーションを構築することを可能にし、また、開発者が任意のプラットフォーム上でそれらの努力を収益化することを可能するために現実的な方法でプレミアム(私的)およびコミュニティ(公的)データを民主的にする。例えば、そのインフラストラクチャは、Pay Per Use(使用当たりの支払い)およびSubscription Pricing for Content(コンテンツに対するサブスクリプション価格)、さらに、Pay for Content(コンテンツに対する支払い)(「小売価格」−コンテンツ所有者によって設定された)、Pay Data Fee(支払いデータ料)(「配送および処理」)並びにBWをサポートし、さらに論理トランザクションベース単位(報告当たり、API当たり、ダウンロード当たり等)で仲介手数料としてのデータ費用をサポートする。
インフォメーションワーカー(例えば、オフィス、SQL Server、Dynamicsのユーザ)のために、インフラストラクチャは、将来のEAの統合だけでなく、予測可能なスペンド特性(オンおよびオフプレミスBI並びに「HPC」ワードロードをサポートするためにキャッシングすること)を可能にするためにサブスクリプションをサポートする。よって、代替はユーザ毎の月額価格のコンテンツを含み、それは、コンテンツパックまたはトランザクションごとの価格設定を配信するためにバンドリングするまたはしないかもしれず、例えば、大量のデータを移動する必要性を排除するために、クラウド報告/ビジネスインテリジェンスオンデマンドの価格設定を可能にする一方、データ報告ギャラリを介して、従量料金、またはバーティカルアプリを可能にする。
コンテンツプロバイダ(任意のデータタイプ;任意のクラウド)のために、任意のプラットフォームを使用して、インフラストラクチャは任意の特定の所望のプラットフォーム内でインセントセールに対して価値問題となる。自動スケーリング、追加費用なしでより高いレベルのSLAの可能性。いくつかの非限定的な例では、データは次のドメイン:ロケーションアウェアサービス&データ、商業用および住宅用不動産、財務データおよびサービス等内の安全および関連したデータであることができる。非制限的なシナリオは、非政府組織(NGO)のデータセットのトップ30までのデータの配信を含んでも良い。加えて、インフラストラクチャは、HPCの「サービスとしての情報についてビング」を通して、BI&ビジュアライゼーションを披露する能力を含んでいても良い。バーティカルアプリケーションの機会も同様に存在する。
1つの非限定的な実施形態において、データの仲介を、従来のブリックおよびモルタル戦略になぞらえることができる。例えば、容量を棚スペース(例えば、構造化、および非構造化/ブログデータの混合)として表すことができ、商品原価(COGS)を面積(SA、プラットフォーム依存性、バンド幅)として表すことができ、コンテンツを商品(例えば、COGSをカバーするためにコンテンツプロバイダを最適化し、IWおよび開発者からの利益を最大化する)として表すことができる。様々な実施形態において、サービスレベルアグリーメント(SLA:サービス品質保証制度)の適応と共に、データやサービスのために品質バーでオンボーディング処理を実装することができる。
図17は、1以上の特徴に応じて上記のようにサービスとしての情報用のインフラストラクチャ1710の非限定的な実装例である。インタラクション側では、インフラストラクチャとSSL/RESTベースのAPI1706を介して通信することができるインフォメーションワーカー1700、開発者1702、および消費者1704はインタラクション側である。最適な方法でトラフィックの誘導を助けるためにロードバランサ1708を用いることができる。この点において、入力は、ポータルウェブロール1720またはAPIウェブロール1722にルーティングされる。インフラストラクチャ1710からデータ側までは、クラウドストレージフレームワーク1740のブロブデータセット1742またはブロブデータセット1755、またはリレーショナルデータベースフレームワーク1750のデータセット1752またはデータセット1762にアクセスするための追加のロードバランシング1724または1726(例えば、WAまたはSA)である。サードパーティのクラウド1760のデータ1762またはデータ1764にアクセするためにプロキシレイヤ1728を用いることができる。必要に応じ、コンテンツにアクセスするためにコンテンツデータアブストラクトレイヤ(DAL)1730を用いることができる。この点において、異なる種類のストレージにわたってデータセットの複製または重複して存在することができ、例えば、同一のデータをブロブデータとして、また、構造化されたデータ、例えば、SQLとして表される可能性がある。
データに対する補足サービスとして、課金およびディスカバリサービス1770がオンライン課金1772(例えば、MOCP)またはディスカバリサービス1774(例えば、ピンポイント)を含むことができ、認証サービス1780は、認証情報管理1782(例えば、ライブID)またはコンテンツ認証1784、例えば、認証コンテンツサービス(ACS)を含むことができる。アカウントサービス1790は、ロギング/監査サービス1786またはアカウント管理1788を含むことができる。管理および運用サービス1792は、運用ダッシュボードサービス1794およびネットワーク運用サービス1796、例えば、ゴメス(Gomez)を含むことができる。
図18は、サービスとしての情報を有効にする一般的なインフラストラクチャの1つまたは複数の実施形態に応じて、データからデータの消費者への流れを終了するエンドを例示するブロック図である。例えば、サービス1800としての情報は、商用データ1802および無料データ1804を含むことができ、それは営利の開発者1810、非営利の動機の非営利の開発者1812、および生産的目標に対して一般的にデータを消費することに興味を持っている他のインフォメーションワーカーのために様々に興味を持つことができる。これらのエンティティは、どのアプリケーション1822,1824,...,1826がそれらに興味があるかを判別し、最終的にデータを似ているILA消費者1830およびDLA消費者1832に送信するためにディスカバリサービス1820を使用することができる。
<オープンデータプロトコル>
この分野の当業者は、ネットワークインタラクションおよび情報サービスを様々なコンピュータシステム設定およびプロトコルで実施することができることを理解し得る。この点において、本明細書で説明さけた1つまたは複数の実施形態で使用することができるデータの問い合わせおよび更新のための非限定的な1つの実装には、オープンデータプロトコル(Open Data Protocol:OData)てある。
ODataは、データを問い合わせおよび更新するためのウェブプロトコルである。ODataは、様々なアプリケーション、サービスおよびストアから情報へのアクセスを提供するためにHTTP(ハイパーテキスト転送プロトコル)、アトム出版プロトコル(AtomPub)およびJavaScript Object Notation(JSON)等のウェブ技術を適用する。いくつかの一般的な背景については、ODataは過去数年間にわたる様々な製品に、AtomPubクライアントおよびサーバの実装の経験に基づいて組織的に出現した。限定されないが、リレーショナルデータベース、ファイルシステム、コンテンツ管理システム、および伝統的なウェブサイトを含む様々なソースからの情報を公開しかつアクセスするためにODataを用いることができる。エコシステムの成長を促すために、誰でもODataの実装と自由に相互運用できるようにOSP(Open Specification Promise)の元でリリースされた。ネットワークデータの問い合わせおよび更新を行う類似の機能を有するハイブリッドプロトコルを形成するために同様に他のプロトコルにODataの特徴を組み込むことができる。
ODataはウェブワークの方法と一致している。1つの態様では、ODataは、リソースを識別するための方法としてURI(ユニバーサルリソース識別子)を使用し、例えば、インターネットワークの方法と類似し、それらのリソースとインタラクションを行う一定のインタフェースを有するHTTP中心プロトコルを使用する。1つの非限定の態様では、ODataは、独自に開発された複数のシステムにわたってデータ、コンテンツおよび情報を共有するプロセスを簡略化しているAtomPubによって普及されたHTTP上での規則に基づいている。ODataは、実装が交換されるべき基本的なクエリおよびスキーマ情報をサポートするために任意に実行できるという追加の規則を定義している。HTMLとJavaScript(登録商標)クライアントとの統合を簡素化するため、ODataは、XMLベースのAtomPub形式を補完するプロトコルの任意のJSON表現を定義している。理解できるように、ODataプロトコルに関する追加実装仕様または他の詳細はwww.odata.orgで見つけ出すことができる。
<例示的なネットワークおよび分散環境>
この分野の当業者は、本明細書で説明された任意のプラットフォームおよび関連した実施形態から、サービスとしての情報用のインフラストラクチャのための方法および装置の様々な実施形態を、任意のコンピュータまたは他のクライアントまたはサーバ装置と関連して実現することができることを理解され得る。それは、コンピュータネットワークの一部として、または分散コンピューティング環境で展開することができ、データストアのいずれかの種類に接続され得る。この点において、いくつかのメモリまたはストレージユニット、およびいくつかのストレージユニットを有する任意のコンピュータシステムまたは環境、およびいくつかのストレージユニットにわたって起きるいくつかのアプリケーションおよびプロセスで、本明細書で説明された様々な実施形態を実行することができる。これは、限定されないが、リモートまたはローカルストレージを有する、ネットワーク環境または分散コンピューティング環境に展開されたサーバコンピュータおよびクライアントコンピュータを有する環境を含む。
図19はネットワーク化または分散コンピューティング環境例の非限定的な概略図を提供している。分散コンピューティング環境は、コンピューティングオブジェクトまたは装置1910,1912等、およびコンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等を備え、それらは、アプリケーション1930,1932,1934,1936,1938によって表されたように、プログラム、メソッド、データストア、プログラマブルロジック等を含むことができる。当然のことであるが、コンピューティングオブジェクトまたは装置1910,1912等、およびコンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等はPDA、オーディオ/ビデオ装置、モバイルフォン、MP3プレーヤ、ラップトップ等の異なる装置を備えても良い。
各オブジェクト1910,1912等およびコンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等は、1以上の他のコンピューティングオブジェクトまたは装置1910,1912等およびコンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等と通信ネットワーク1940によって直接または間接的に通信することができる。図19には単一の要素として示されたけれども、ネットワーク1940は、図19のシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピューティング装置を備えても良く、および/または多数の相互接続された図示しないネットワークを表しても良い。また、各コンピューティングオブジェクトまたは装置1910,1912等、または1920,1922,1924,1926,1928等は、様々な実施形態に従って提供される任意のプラットフォームからのサービスとしての情報用のインフラストラクチャとの通信またはそれの実装に適した、API、または他のオブジェクト、ソフトウェア、ファームウェア、および/またはハードウェアを利用することがあるアプリケーション1930,1932,1934,1936,1938等のアプリケーションを含むことができる。
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク設定がある。例えば、コンピューティングシステムを、ローカルネットワークまたは広域分散ネットワークにより、有線または無線のシステムによって一緒に接続することができる。様々な実施形態で説明したように技術に伴った典型的な通信のために多くのネットワークインフラストラクチャを用いることができるけれども、現在、多くのネットワークは、広く分散コンピューティングのためのインフラストラクチャを提供し、多くの異なるネットワークを包含するインターネットに接続されている。
よって、クライアント/サーバ、ピアツーピア、またはハイブリッドアーキテクチャ等のネットワークトポロジーおよびネットワークインフラストラクチャのホストを利用することができる。クライアント/サーバアーキテクチャ、特にネットワーク化システムでは、クライアントは通常、他のコンピュータ、例えば、サーバによって提供される共有ネットワークリソースにアクセスするコンピュータである。任意のコンピュータを状況に応じてクライアント、サーバ、またはその両方と考えることができるけれども、図19の描画では、非限定的な例として、コンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等をクライアントとして考えることができ、コンピューティングオブジェクトまたは装置1910,1912等をサーバとして考えることができ、ここで、コンピューティングオブジェクトまたは装置1910,1912等は、コンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等からデータを受信し、データを保存し、データを処理し、コンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等へデータを送信する等のデータサービスを提供する。これらのコンピューティング装置のいずれかがデータを処理し、1つまたは複数の実施形態のために本明細書に説明されたように任意のプラットフォームおよび関連した技術からサービスとしての情報用のインフラストラクチャを関係させることができるサービスまたはタスクを要求することができる。
サーバは、通常、インターネットまたはワイヤレスネットワークインフラストラクチャ等のリモートまたはローカルネットワークを介してアクセス可能なリモートコンピュータシステムである。クライアント処理は、第1のコンピュータシステム内でアクティブであることができ、サーバ処理は、通信媒体を介して互いに通信する第2のコンピュータシステム内でアクティブであることができ、それにより分散機能を提供し、複数のクライアントがサーバの情報収集能力を活用することができる。ユーザプロファイルに従って利用される任意のソフトウェアオブジェクトはスタンドアロンで提供されるか、または複数のコンピューティング装置またはオブジェクトに分散させることができる。
通信ネットワーク/バス1940がインターネットであるネットワーク環境では、例えば、コンピューティングオブジェクトまたは装置1910,1912等は、コンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等がHTTP等の既知のプロトコルのいくつかを介して通信するウェブサーバであることができる。上記したように、コンピューティングオブジェクトまたは装置1910,1912等はまた、分散コンピューティング環境の特性であるように、コンピューティングオブジェクトまたは装置1920,1922,1924,1926,1928等またはその逆として機能しても良い。
<例示的なコンピューティング装置>
前述したように、本明細書で説明された様々な実施形態は任意の装置に適用し、そこにおいては任意のプラットフォームからサービスとしての情報用の1つのインフラストラクチャまたはその一部(複数を含む)を実装することが望ましいこともある。よって、ハンドヘルド、ポータブル、並びに全ての種類の他のコンピューティング装置およびコンピューティングオブジェクトが、本明細書で説明された様々な実施形態と関連して使用のために、すなわち、装置は任意のプラットフォームからサービスとしての情報用のインフラストラクチャと関連していくつかの機能を提供することができるところならばどこでも考慮されることが理解され得る。よって、図19に説明された以下の汎用リモートコンピュータは、一例であるが、ネットワーク/バス相互運用性およびインタラクションを有する任意のクライアントを使用して本開示の実施形態を実装することができる。
必須ではないけれども、装置またはオブジェクトのためのサービスの開発者による使用のために、および/または動作可能なコンポーネント(複数を含む)と関連して動作するアプリケーションソフトウェア内に含まれた、オペレーティングシステムを介して実施形態のいずれかを部分的に実行することができる。ソフトウェアは、クライアントワークステーション、サーバ、またはその他の装置等の1以上のコンピュータによって実行されているプログラムモジュール等のコンピュータ実行可能な命令の一般的なコンテキストで説明されても良い。この分野の当業者は、ネットワークインタラクションが様々なコンピュータシステム設定およびプロトコルで実施されても良いことを理解し得る。
図20は適切なコンピューティングシステム環境2000の例を示しており、そこにおいて1つまたは複数の実施形態を実装することができる。上記したように明らかにされているが、コンピューティングシステム環境2000は、適切なコンピューティング環境の一例に過ぎず、実施形態のいずれかの使用または機能の範囲について何らかの限定を示唆するつもりはない。また、コンピューティング環境2000は、動作環境2000例に示されたコンポーネントのいずれか1つまたは組み合わせに関連して何らかの依存または要件を有するものとして解釈されるべきではない。
図20を参照すると、本明細書の1つまたは複数の実施形態を実行するためのリモート装置例は、ハンドヘルドコンピュータ2010の形で汎用コンピューティング装置を含むことができる。ハンドヘルドコンピュータ2010のコンポーネントは、限定されないが、処理ユニット2020、システムメモリ2030、およびシステムメモリを含む様々なシステムコンポーネントを処理ユニット2020に接続するシステムバス2021を含むことができる。
コンピュータ2010は、通常、様々なコンピュータ可読媒体を含み、コンピュータ2010によってアクセス可能な任意の利用可能な媒体であることができる。システムメモリ2030は、ROM(リードオンリメモリ)および/またはRAM(ランダムアクセスメモリ)等の揮発性および/または不揮発性メモリの形でコンピュータ記憶媒体を含むことができる。例えば、限定はしないが、メモリ2030はオペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、およびプログラムデータを含んでも良い。
ユーザが入力装置2040を介してコンピュータ2010にコマンドおよび情報を入力することができる。また、モニタおよびディスプレイ装置の他のタイプは、出力インタフェース2050等のインタフェースを介してシステムバス2021に接続されている。モニタに加えて、コンピュータは、出力インタフェース2050を介して接続することができるスピーカおよびプリンタ等の他の周辺出力装置を含むことができる。
コンピュータ2010は、リモートコンピュータ2070等の1以上の他のリモートコンピュータとの論理接続を用いてネットワーク化または分散環境で動作することができる。リモートコンピュータ2070は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置または他の共通ネットワークノード、あるいは他の任意のリモートメディア消費または伝送装置であっても良いし、コンピュータ2010に関連して上記した様相のいずれかまたは全てを含んでも良い。図20に示した論理接続は、LAN(ローカルエリアネットワーク)またはWAN(広域ネットワーク)等のネットワーク2071を含むが、他のネットワーク/バスを含んでも良い。このようなネットワーキング環境は、家庭、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
上記したように、例示的な実施形態は、様々なコンピューティング装置、ネットワーク、および広告アーキテクチャと関連して説明されているが、任意のネットワークシステムおよび任意のコンピューティング装置またはシステムに根本的なコンセプトを適用することができ、そこでは、クラウドまたはネットワークサービスとのインタラクションと関連してデータを発行し、データについてアプリケーションを構築し、データを消費することが望まれる。
本明細書で説明された1つまたは複数の実施形態を実行する多くの方法があり、アプリケーションおよびサービスが任意のプラットフォームからのサービスとしての情報用のインフラストラクチャを使用することを可能にする、例えば、適切なAPI、ツールキット、ドライバコード、オペレーティングシステム、制御、スタンドアロンまたはダウンロード可能なソフトウェアオブジェクト等である。実施形態は、API(または他のソフトウェアオブジェクト)の観点から、同様に、説明した実施形態の1以上に従って任意のプラットフォームからサービスとしての情報用インフラストラクチャの提供を容易にするソフトウェアまたはハードウェアオブジェクトから検討されても良い。本明細書で説明された様々な実装および実施形態は、ハードウェアで全体的、ハードウェアで部分的、ソフトウェアで、およびソフトウェアで部分的である態様を持っても良い。
用語「例示」は、例えば、例、事例、または実例として意味するために使用される。誤解を避けるために、本明細書で開示された主題は、そのような例によって限定されない。加えて、「例示」として本明細書で説明された任意の態様または設計は、他の態様または設計より好ましいまたは有利であると必ずしも解釈されるべきではなく、この分野の当業者に知られている同等の例示的な構造および技術を排除することを意味しない。さらに、用語「含む」、「有する」、「含有する」および他の類似の言葉は詳細な説明または請求の範囲で使用される限りでは、誤解を避けるために、そのような用語は、いくつかの追加のまたは他の要素を排除することなくオープントランジッションワードとして用語「備える」に類似した方法で包括的であることを意図している。
上記したように、ハードウェアまたはソフトウェア、あるいは、必要に応じてその両方の組み合わせに関連して本明細書で説明した様々な技術を実装することができる。本明細書において使用されるように、用語「コンポーネント」、「システム」等は同様に、コンピュータに関連したエンティティ、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中のソフトウェアを指すものとする。例えば、コンポーネントは限定されないが、プロセッサ上で動作する処理、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであっても良い。例としては、コンピュータ上で動作するアプリケーションおよびそのコンピュータをコンポーネントとしても良い。1以上のコンポーネントは、処理内および/または実行中スレッド内に常駐しても良く、コンポーネントは、1つのコンピュータ上にローカライズおよび/または2以上のコンピュータ間で分配されても良い。
上記したシステムは、いくつかのコンポーネント間でのインタラクションについて説明されている。当然のことであるが、そのようにシステムおよびコンポーネントは、それらのコンポーネントまたは指定のサブコンポーネント、その指定のコンポーネント他はサブコンポーネント、および/または追加のコンポーネントを含み、また様々な置換と前述の組み合わせに応じてすることができる。また、親コンポーネント(階層)内に含まれるよりむしろ他のコンポーネントに通信可能で接続されたコンポーネントとしてサブコンポーネントを実装することができる。加えて、1以上のコンポーネントは集合機能を提供する単一のコンポーネントに組み合わされてもまたはいくつかの独立したサブコンポーネントに分割されても良い。管理レイヤ等の何らかの1以上中間レイヤが統合機能を提供するためにそのようなサブコンポーネントに通信可能に接続されても良い。本明細書で説明された、いくつかのコンポーネントは、特に本明細書では説明されていないが、この分野の当業者によって一般的に知られた1以上の他のコンポーネントとインタラクションを行っても良い。
上記した例示的なシステムの観点からは、開示された構成に従って実装され得る方法は様々な図のフローチャートを参照して理解され得る。説明を簡単にするために、方法が示され、かつ一連のブロックとして説明されているが、いくつかのブロックが本明細書で図示または説明されたことから異なる順序とおよび/または他のブロックと同時に生じる可能性があるので、請求項に記載の構成はブロックの順については限定されないことは理解されるべきである。非シーケンシャルなまたは分岐したフローがフローチャートを介して示されている場合に、同じまたは類似の結果を達成する様々な他の枝路、フロー、ブロックの順番を実施しても良い。さらに、図示していない全てのブロックは以下に説明された手法を実装するために必要とされても良い。
いくつかの実施形態では、クライアント側の視点が示されているが、それは疑いを避けるために、対応するサーバの視点またはその逆が存在していると理解されるべきである。同様に、方法が実行されている場合には、対応する装置はストレージと、1以上のコンポーネントを介する方法を実行するように構成された少なくとも1つのプロセッサとを有して提供されても良い。
様々な実施形態が様々な図により好ましい実施形態に関連して説明されたが、他の同様の実施形態が用いられても良く、または変更や追加がそこから逸脱することなく、同じ機能を実行するために、説明された実施形態に行われても良いことが理解されるべきである。さらに、上記した実施形態の1以上の態様は複数の処理チップまたは装置内で、または全体にわたって実装されても良く、ストレージは同様に複数の装置にわたって変化を与えても良い。よって、本発明は、何らかの単一の実施形態に限定されるべきではなく、添付の特許請求の範囲に応じた大きさおよび範囲で解釈されるべきである。

Claims (15)

  1. データをホストするか、またはホストされたデータに接続するための方法であって、
    第1の制御領域内の少なくとも1つのコンピューティング装置によって、第2の制御領域内の少なくとも1つのコンピューティング装置から少なくとも1つのネットワークを介して、前記第2の制御領域内の少なくとも1つのコンピューティング装置によって発行された少なくとも1つのデータセットを受信するステップと、
    前記第1の制御領域内の前記少なくとも1つのコンピューティング装置によって、前記受信した少なくとも1つのデータセットを分析して、前記受信した少なくとも1つのデータセットのデータの少なくともサブセットと関連付けられた構造情報を判定するステップと、
    前記判定した構造情報を、前記第1の制御領域内の前記少なくとも1つのコンピューティング装置から前記第2の制御領域内の前記少なくとも1つのコンピューティング装置に対して送信するステップと、
    前記判定した構造情報の送信に応答して、前記第1の制御領域内の前記少なくとも1つのコンピューティング装置によって前記少なくとも1つのデータセットに対して実施する少なくとも1つのクエリ能力に関する入力を、前記第2の制御領域内の前記少なくとも1つのコンピューティング装置から受信するステップと
    を含むことを特徴とする、方法。
  2. 前記分析することは、前記少なくとも1つのデータセットと関連付けられたコラム情報を決定することを含むことを特徴とする、請求項1記載の方法。
  3. 前記レンダリングすることは、前記構造情報を前記第2の制御領域内の少なくとも1つのコンピューティング装置にレンダリングして前記少なくとも1つのデータセットに対して実施する複数の異なるクエリ能力に関する入力を受信することを含むことを特徴とする、請求項1記載の方法。
  4. 前記構造情報のうち第1の構造情報を定義する前記第2の制御領域内の少なくとも1つのコンピューティング装置から、検索パラメータ入力を受信するステップをさらに含み、少なくとも1つの許可された消費装置が、前記第1の構造情報に対して前記少なくとも1つのデータセットを検索する権限を与えられていることを特徴とする、請求項1記載の方法。
  5. 前記構造情報のうち第2の構造情報を定義する前記第2の制御領域内の少なくとも1つのコンピューティング装置から、検索結果入力を受信するステップをさらに含み、少なくとも1つの許可された消費装置が、前記第2の構造情報について前記少なくとも1つのデータセットから結果を受信する権限を与えられていることを特徴とする、請求項1記載の方法。
  6. 前記構造情報のうち第2の構造情報を定義する前記第2の制御領域内の少なくとも1つのコンピューティング装置から、検索結果入力を受信するステップをさらに含み、少なくとも1つの許可された消費装置が、前記第2の構造情報について前記少なくとも1つのデータセットから結果を受信する権限を与えられていることを特徴とする、請求項4記載の方法。
  7. 少なくとも1つの許可された消費装置が使用するために前記検索パラメータ入力および前記検索結果入力に基づいてクエリインタフェースを自動的に生成し、前記検索パラメータ入力および前記検索結果入力によって定義されたクエリ制約に従って前記少なくとも1つのデータセットを検索するステップをさらに含むことを特徴とする、請求項6記載の方法。
  8. 前記クエリインタフェースを少なくとも1つの他のクエリインタフェースと比較することに基づいて同一または類似の検索パラメータ入力に従って前記クエリインタフェースを前記少なくとも1つの他のクエリインタフェースと組み合わせるステップをさらに含むことを特徴とする、請求項7記載の方法。
  9. 前記クエリインタフェースを少なくとも1つの他のクエリインタフェースと比較することに基づいて同一または類似の検索結果入力に従って前記クエリインタフェースを前記少なくとも1つの他のクエリインタフェースと組み合わせるステップをさらに含むことを特徴とする、請求項7記載の方法。
  10. クエリにより、発行者によって発行され、消費者によって消費されたデータをホストするか、またはホストされたデータに接続するためのコンピューティング・システムであって、
    発行装置によって発行された少なくとも1つのデータセットを受信し、前記発行装置によって発行された前記受信した少なくとも1つのデータセットのデータの少なくとも1つのサブセットと関連付けられた構造情報を判定するように構成された情報サービス・コンポーネントと、
    前記少なくとも1つのデータセットのデータの前記少なくとも1つのサブセットと関連付けられた前記判定された構造情報を前記発行装置に提示するように構成され、および前記発行装置から、前記提示された構造情報の構造特徴の少なくとも1つの選択を受信して、前記情報サービス・コンポーネントによる前記少なくとも1つのデータセットに対する実施のための少なくとも1つのクエリ能力を定義するように構成されたクエリ定義コンポーネントと
    を備えたことを特徴とする、コンピューティング・システム。
  11. 前記入力の前記少なくとも1つの選択を受信することに応答して、少なくとも1つの消費装置によって前記少なくとも1つのデータセットに対してクエリするためのクエリインタフェースを生成するように構成されたクエリ生成器をさらに含むことを特徴とする、請求項10記載のコンピューティング・システム。
  12. 前記クエリインタフェースを少なくとも1つの他のクエリインタフェースと組み合わせるように構成されたクエリアグリゲータをさらに含むことを特徴とする、請求項10記載のコンピューティング・システム。
  13. 前記クエリアグリゲータは、前記クエリインタフェースの前記少なくとも1つの他のクエリインタフェースとの比較に基づいて同一または類似のクエリ定義に従って前記クエリインタフェースを前記少なくとも1つの他のクエリインタフェースと組み合わせるように構成されていることを特徴とする、請求項12記載のコンピューティング・システム。
  14. 前記入力の前記少なくとも1つの選択を受信することに応答して、前記少なくとも1つのデータセットを記憶する少なくとも1つのデータストアを最適化するように構成された、前記少なくとも1つのデータセットに対するクエリの最適化のためのクエリオプティマイザをさらに含むことを特徴とする、請求項10記載のコンピューティング・システム。
  15. 前記クエリ定義コンポーネントは、前記少なくとも1つのデータセットの分析から前記情報サービスによって決定された前記少なくとも1つのデータセットのコラム情報を表すように構成されていることを特徴とする、請求項10記載のコンピューティング・システム。
JP2013500107A 2010-03-12 2011-03-11 ネットワーク化サービスとしての情報に対するクエリモデル Active JP5872535B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US31318410P 2010-03-12 2010-03-12
US61/313,184 2010-03-12
US12/781,957 2010-05-18
US12/781,957 US9009137B2 (en) 2010-03-12 2010-05-18 Query model over information as a networked service
PCT/US2011/028133 WO2011112957A2 (en) 2010-03-12 2011-03-11 Query model over information as a networked service

Publications (2)

Publication Number Publication Date
JP2013522768A JP2013522768A (ja) 2013-06-13
JP5872535B2 true JP5872535B2 (ja) 2016-03-01

Family

ID=44560899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013500107A Active JP5872535B2 (ja) 2010-03-12 2011-03-11 ネットワーク化サービスとしての情報に対するクエリモデル

Country Status (6)

Country Link
US (3) US9009137B2 (ja)
EP (1) EP2545470A4 (ja)
JP (1) JP5872535B2 (ja)
CN (1) CN102918528B (ja)
AU (1) AU2011224190B2 (ja)
WO (1) WO2011112957A2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903891B2 (en) * 2010-06-24 2014-12-02 Sap Se User interface communication utilizing service request identification to manage service requests
CN103003823A (zh) * 2010-06-30 2013-03-27 惠普发展公司,有限责任合伙企业 用于授权的自助配置的系统和方法
WO2012002952A1 (en) 2010-06-30 2012-01-05 Hewlett-Packard Development Company, L.P. System and method for a serialized data service
EP2588968A4 (en) 2010-06-30 2016-03-23 Hewlett Packard Development Co SYSTEM AND METHOD FOR A SERVICE RECOMMENDATION SERVICE
US20120054626A1 (en) * 2010-08-30 2012-03-01 Jens Odenheimer Service level agreements-based cloud provisioning
US9208211B2 (en) 2011-03-23 2015-12-08 Red Hat, Inc. Performing object relational mapping for a data grid
US8949294B2 (en) * 2011-03-23 2015-02-03 Red Hat, Inc. Data grid supporting multiple protocols
US20120316892A1 (en) * 2011-06-08 2012-12-13 Huster Keith A System and method of bed data aggregation, normalization and communication to third parties
US9128780B2 (en) * 2012-02-22 2015-09-08 Microsoft Technology Licensing, Llc Validating license servers in virtualized environments
WO2013147821A1 (en) * 2012-03-29 2013-10-03 Empire Technology Development, Llc Determining user key-value storage needs from example queries
US9286571B2 (en) 2012-04-01 2016-03-15 Empire Technology Development Llc Machine learning for database migration source
EP2657858A3 (en) * 2012-04-26 2014-03-26 Sap Ag Odata service provisioning on top of genil layer
CN103377168B (zh) * 2012-04-26 2016-12-14 Sap欧洲公司 在通用交互层顶部提供开放数据协议服务
US10061807B2 (en) * 2012-05-18 2018-08-28 Splunk Inc. Collection query driven generation of inverted index for raw machine data
US8516008B1 (en) 2012-05-18 2013-08-20 Splunk Inc. Flexible schema column store
US8682925B1 (en) 2013-01-31 2014-03-25 Splunk Inc. Distributed high performance analytics store
US10157229B1 (en) * 2012-06-29 2018-12-18 Open Text Corporation Methods and systems for building a search service application
US10031978B1 (en) 2012-06-29 2018-07-24 Open Text Corporation Methods and systems for providing a search service application
US20140136937A1 (en) * 2012-11-09 2014-05-15 Microsoft Corporation Providing and procuring worksheet functions through an online marketplace
US9525603B2 (en) * 2012-12-19 2016-12-20 Teledyne Lecroy, Inc. Field selection graphical user interface
CN103064962B (zh) * 2012-12-31 2016-08-24 科大讯飞股份有限公司 信息查询方法及系统
US9165031B2 (en) 2013-06-13 2015-10-20 Microsoft Technology Licensing, Llc Retrieving stored data using a web service
US9002835B2 (en) * 2013-08-15 2015-04-07 Google Inc. Query response using media consumption history
US10417612B2 (en) 2013-12-04 2019-09-17 Microsoft Technology Licensing, Llc Enhanced service environments with user-specific working sets
EP3001336A1 (en) * 2014-09-29 2016-03-30 Services Petroliers Schlumberger Presenting publisher data sets in context
US10229150B2 (en) 2015-04-23 2019-03-12 Splunk Inc. Systems and methods for concurrent summarization of indexed data
US11379530B2 (en) * 2017-01-31 2022-07-05 Splunk Inc. Leveraging references values in inverted indexes to retrieve associated event records comprising raw machine data
US10474674B2 (en) * 2017-01-31 2019-11-12 Splunk Inc. Using an inverted index in a pipelined search query to determine a set of event data that is further limited by filtering and/or processing of subsequent query pipestages
US10742651B2 (en) * 2017-09-07 2020-08-11 The Toronto-Dominion Bank Digital identity network interface system
US10540187B2 (en) 2017-10-13 2020-01-21 International Business Machines Corporation User-initiated dynamic data application programming interface creation
CN108156242B (zh) * 2017-12-26 2020-11-10 深圳市海恒智能科技有限公司 图书自助设备与图书馆后台的通讯方法及系统
US10922145B2 (en) 2018-09-04 2021-02-16 Target Brands, Inc. Scheduling software jobs having dependencies
US10977325B2 (en) 2018-11-27 2021-04-13 International Business Machines Corporation Automatic context adaptive enterprise search and result generation on behalf of a user
CN110083650B (zh) * 2019-04-25 2023-06-30 中电科嘉兴新型智慧城市科技发展有限公司 一种基于元数据自发现的数据查询接口自动生成方法
WO2021243347A1 (en) * 2020-05-29 2021-12-02 Jezewski Joni Solution automation & interface analysis implementations
CN112231542B (zh) * 2020-10-12 2024-05-03 中国民航信息网络股份有限公司 一种标准化航空公司附加服务销售的方法及装置

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2843768B2 (ja) * 1994-08-22 1999-01-06 日本電気株式会社 データベースアクセス制御方式
JPH08171508A (ja) * 1994-12-19 1996-07-02 Canon Inc データベース管理方法及び装置
US7293228B1 (en) * 1997-01-31 2007-11-06 Timebase Pty Limited Maltweb multi-axis viewing interface and higher level scoping
US5873075A (en) * 1997-06-30 1999-02-16 International Business Machines Corporation Synchronization of SQL actions in a relational database system
US6745203B1 (en) * 1998-05-15 2004-06-01 E.Piphany, Inc. User interface for a distributed messaging framework
US7383228B2 (en) * 1998-08-13 2008-06-03 International Business Machines Corporation Method and system for preventing unauthorized rerecording of multimedia content
US6253195B1 (en) * 1998-09-21 2001-06-26 Microsoft Corporation Optimized query tree
US6285997B1 (en) * 1998-11-16 2001-09-04 International Business Machines Corporation Query optimization with deferred update and autonomous sources
US6442559B1 (en) * 1999-06-22 2002-08-27 Microsoft Corporation Dynamic SKU management
US6526438B1 (en) * 1999-07-12 2003-02-25 Divine, Inc. Method for distributing information to subscribers over a network
US8849693B1 (en) * 1999-07-12 2014-09-30 Verizon Laboratories Inc. Techniques for advertising in electronic commerce
US6381594B1 (en) 1999-07-12 2002-04-30 Yahoo! Inc. System and method for personalized information filtering and alert generation
US7185016B1 (en) * 2000-09-01 2007-02-27 Cognos Incorporated Methods and transformations for transforming metadata model
US6772396B1 (en) * 1999-10-07 2004-08-03 Microsoft Corporation Content distribution system for network environments
US7890491B1 (en) * 1999-12-22 2011-02-15 International Business Machines Corporation Query optimization technique for obtaining improved cardinality estimates using statistics on automatic summary tables
US6732100B1 (en) * 2000-03-31 2004-05-04 Siebel Systems, Inc. Database access method and system for user role defined access
US7299412B1 (en) * 2000-05-15 2007-11-20 Ricoh Co., Ltd. Methods and apparatuses for publication of unconsciously captured documents
AU2001270069A1 (en) * 2000-06-23 2002-01-08 The Johns-Hopkins University Architecture for distributed database information access
US6944662B2 (en) * 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US20030208392A1 (en) * 2000-10-27 2003-11-06 Manugistics, Inc. Optimizing resource plans
DE10104831A1 (de) 2001-02-01 2002-08-08 Sap Ag Datenstruktur für Informationssysteme
US20020184170A1 (en) * 2001-06-01 2002-12-05 John Gilbert Hosted data aggregation and content management system
US6801905B2 (en) * 2002-03-06 2004-10-05 Sybase, Inc. Database system providing methodology for property enforcement
US7627603B2 (en) * 2002-03-28 2009-12-01 Precache Inc. Method and apparatus for implementing query-response interactions in a publish-subscribe network
US20050050030A1 (en) * 2003-01-30 2005-03-03 Decode Genetics Ehf. Set definition language for relational data
US7010538B1 (en) * 2003-03-15 2006-03-07 Damian Black Method for distributed RDSMS
US7331015B2 (en) * 2003-03-27 2008-02-12 Microsoft Corporation Defining a report based on data regions and including custom data in a report definition
US7895191B2 (en) * 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US7743391B2 (en) * 2003-07-15 2010-06-22 Lsi Corporation Flexible architecture component (FAC) for efficient data integration and information interchange using web services
US7814093B2 (en) * 2003-07-25 2010-10-12 Microsoft Corporation Method and system for building a report for execution against a data store
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7660805B2 (en) * 2003-12-23 2010-02-09 Canon Kabushiki Kaisha Method of generating data servers for heterogeneous data sources
US7483870B1 (en) * 2004-01-28 2009-01-27 Sun Microsystems, Inc. Fractional data synchronization and consolidation in an enterprise information system
JP4359177B2 (ja) 2004-03-30 2009-11-04 積水化成品工業株式会社 防音性を付与した車両用下肢部衝撃吸収パッド
US7979456B2 (en) * 2004-04-08 2011-07-12 International Business Machines Corporation Method of managing and providing parameterized queries
JP4709213B2 (ja) * 2004-06-23 2011-06-22 オラクル・インターナショナル・コーポレイション 変換を使用したクエリの効率的な評価
US7962449B2 (en) * 2004-06-25 2011-06-14 Apple Inc. Trusted index structure in a network environment
GB0414332D0 (en) * 2004-06-25 2004-07-28 British Telecomm Data storage and retrieval
US7720858B2 (en) * 2004-07-22 2010-05-18 International Business Machines Corporation Query conditions-based security
US7546335B2 (en) * 2004-09-02 2009-06-09 Broadway Technology, Llc System and method for a data protocol layer and the transfer of data objects using the data protocol layer
US7751417B2 (en) * 2004-11-15 2010-07-06 Sap, Ag Accelerated system and methods for synchronizing, managing and publishing business information
US20080104039A1 (en) * 2004-11-24 2008-05-01 Linda Lowson System and method for resource management
US20060112123A1 (en) * 2004-11-24 2006-05-25 Macnica, Inc. Spreadsheet user-interfaced business data visualization and publishing system
US7383253B1 (en) * 2004-12-17 2008-06-03 Coral 8, Inc. Publish and subscribe capable continuous query processor for real-time data streams
JP4700462B2 (ja) * 2005-09-27 2011-06-15 株式会社野村総合研究所 データベース利用システム
US20080301227A1 (en) * 2005-10-07 2008-12-04 Clayton James D Hierarchical document publishing
US7818756B2 (en) * 2005-10-12 2010-10-19 Microsoft Corporation SKU determination mechanism and API
US7472116B2 (en) * 2005-12-22 2008-12-30 International Business Machines Corporation Method for filtering query results using model entity limitations
US20070294631A1 (en) * 2006-06-02 2007-12-20 Business Objects, S.A. Apparatus and method for embedding and utilizing report controls within an online report
EP1881447A1 (en) 2006-07-21 2008-01-23 Microsoft Corporation Software release management
US7899837B2 (en) * 2006-09-29 2011-03-01 Business Objects Software Ltd. Apparatus and method for generating queries and reports
US20080082480A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Data normalization
US20080109481A1 (en) * 2006-11-06 2008-05-08 Sergio Catanzariti Context based network search
US8150662B2 (en) * 2006-11-29 2012-04-03 American Express Travel Related Services Company, Inc. Method and computer readable medium for visualizing dependencies of simulation models
US7840515B2 (en) * 2007-02-16 2010-11-23 Panasonic Corporation System architecture and process for automating intelligent surveillance center operations
US20080256056A1 (en) * 2007-04-10 2008-10-16 Yahoo! Inc. System for building a data structure representing a network of users and advertisers
US7912816B2 (en) * 2007-04-18 2011-03-22 Alumni Data Inc. Adaptive archive data management
US8176476B2 (en) * 2007-06-15 2012-05-08 Microsoft Corporation Analyzing software usage with instrumentation data
EP2015196A1 (en) 2007-06-28 2009-01-14 Siemens Aktiengesellschaft Programmer interface for manufacturing execution system
US7979711B2 (en) * 2007-08-08 2011-07-12 International Business Machines Corporation System and method for privacy preserving query verification
JP5146057B2 (ja) * 2008-03-31 2013-02-20 大日本印刷株式会社 検索仲介システム
US8521867B2 (en) * 2007-10-20 2013-08-27 Oracle International Corporation Support for incrementally processing user defined aggregations in a data stream management system
US8812440B2 (en) * 2007-11-14 2014-08-19 Xuefu Zhang Web-based information delivery method, system, and apparatus
DE102007056496A1 (de) * 2007-11-22 2009-06-10 Phoenix Contact Gmbh & Co. Kg Steuerungsvorrichtung
US8326873B2 (en) * 2008-01-09 2012-12-04 Credit Suisse Securities (Usa) Llc Enterprise architecture system and method
JP5133796B2 (ja) * 2008-06-30 2013-01-30 ヤフー株式会社 検索支援装置
US8209342B2 (en) * 2008-10-31 2012-06-26 At&T Intellectual Property I, Lp Systems and associated computer program products that disguise partitioned data structures using transformations having targeted distributions
US8805861B2 (en) * 2008-12-09 2014-08-12 Google Inc. Methods and systems to train models to extract and integrate information from data sources
US20100325124A1 (en) * 2009-06-17 2010-12-23 Sybase, Inc. Tuning query execution performance of a database system
US8732163B2 (en) * 2009-08-04 2014-05-20 Sybase, Inc. Query optimization with memory I/O awareness
US8712972B2 (en) * 2009-09-22 2014-04-29 Sybase, Inc. Query optimization with awareness of limited resource usage
US9483313B2 (en) * 2010-10-19 2016-11-01 Microsoft Technology Licensing, Llc Availability management for reference data services

Also Published As

Publication number Publication date
US20150213128A1 (en) 2015-07-30
EP2545470A2 (en) 2013-01-16
CN102918528B (zh) 2015-11-25
US10019524B2 (en) 2018-07-10
US20160267191A1 (en) 2016-09-15
US9009137B2 (en) 2015-04-14
JP2013522768A (ja) 2013-06-13
AU2011224190B2 (en) 2015-02-26
EP2545470A4 (en) 2016-04-27
US9367623B2 (en) 2016-06-14
AU2011224190A1 (en) 2012-09-20
WO2011112957A3 (en) 2012-01-12
CN102918528A (zh) 2013-02-06
US20110225143A1 (en) 2011-09-15
WO2011112957A2 (en) 2011-09-15

Similar Documents

Publication Publication Date Title
JP5872535B2 (ja) ネットワーク化サービスとしての情報に対するクエリモデル
US11038812B2 (en) Availability management for reference data services
JP5805677B2 (ja) サービスとしての情報に関連するセマンティックスの更新および適応性のあるインタフェース
US11301523B2 (en) Semantic analysis of information
US9477730B2 (en) Web services runtime for dataset transformation
US20140149589A1 (en) Enforcing Conditions of Use Associated with Disparate Data Sets

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160113

R150 Certificate of patent or registration of utility model

Ref document number: 5872535

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250