JP5981344B2 - 寄与分析を用いた、データへのアクセスの価格設定 - Google Patents

寄与分析を用いた、データへのアクセスの価格設定 Download PDF

Info

Publication number
JP5981344B2
JP5981344B2 JP2012539923A JP2012539923A JP5981344B2 JP 5981344 B2 JP5981344 B2 JP 5981344B2 JP 2012539923 A JP2012539923 A JP 2012539923A JP 2012539923 A JP2012539923 A JP 2012539923A JP 5981344 B2 JP5981344 B2 JP 5981344B2
Authority
JP
Japan
Prior art keywords
price
data
result
query
user
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.)
Expired - Fee Related
Application number
JP2012539923A
Other languages
English (en)
Other versions
JP2013511105A (ja
JP2013511105A5 (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 JP2013511105A publication Critical patent/JP2013511105A/ja
Publication of JP2013511105A5 publication Critical patent/JP2013511105A5/ja
Application granted granted Critical
Publication of JP5981344B2 publication Critical patent/JP5981344B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Calculators And Similar Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、寄与分析を用いた、データへのアクセスの価格設定に関する。
データ消費システムは、ネットワーク環境内のプロバイダのデータをホストして、当該システムのユーザが当該データにアクセスできるようにする。当該システムは、データが格納される記憶域を備える。記憶域は、データを格納できる記憶システム(例えば、データベース)である。ユーザは例えば、ネットワークを介してクエリを記憶域に送信することができる。記憶域はクエリを解析して、ユーザのクエリに対する応答を生成するためにどのデータを分析すべきかを判定することができる。分析されるデータは寄与データと呼ばれることがある。寄与データをユーザのクエリに従って分析すると、記憶域が、寄与データのサブセットを含む結果を生成する。記憶域は次いで、例えばネットワークを介して当該結果をユーザに提供する。
記憶域に格納されたデータへのアクセスに対してユーザに課金することができる。しかし、かかる課金に関する従来の価格設定モデルには制限があった。従来の価格設定モデルの1つにはサブスクリプション価格設定モデル(subscription pricing model)がある。サブスクリプション価格設定モデルによれば、ユーザにはサブスクリプション料が課金され、これによりユーザがデータに指定の期間(例えば、一か月、一年、等)だけアクセスする権限が与えられる。しばしば、追加の定期サブスクリプション料を支払うことによって、次の期間についてサブスクリプションを更新することができる。しかし、サブスクリプション価格設定モデルでは、一般に、大量のデータにアクセスするユーザと少量のデータにアクセスするユーザが区別されない。例えば、サブスクリプション価格設定モデルでは、データへの無制限のアクセスがユーザに与えられることがよくある。
別の従来の価格設定モデルは、要求単位の価格設定モデル(per−request pricing model)である。要求単位の価格設定モデルによると、ユーザには、ユーザが記憶域に送信したクエリごとに指定の料金が課金される。しかし、要求単位の価格設定モデルでは、一般に、ユーザが送信できる様々な種類のクエリが区別されず、または、クエリに応答してアクセスされるデータの種類が区別されない。
本明細書ではとりわけ、寄与分析を用いた、データへのアクセスに価格設定するための様々なアプローチを説明する。例えば、ユーザは、データを格納する記憶域にクエリを発行することができる。データを任意の適切な形式で表現することができる。例えば、データを、プロパティを有するオブジェクトとして表現してもよい。この例によれば、オブジェクトが、XML(extensible markup language)ドキュメントの要素、関係データベースの行、列記憶域(column store)の列、等であってもよい。記憶域がデータのサブセットを分析して、クエリに応答してユーザに提供すべき結果を決定することができる。分析されるデータのサブセットを寄与データと称する。
データ・アクセス価格計算器が寄与分析を行って、結果にアクセスするユーザに課金すべき価格を決定する。寄与分析では、寄与データに含まれるデータの行および/または列の数、結果に含まれるデータの行および/または列の数、記憶域が寄与データを分析している間に使用した関数、またはこれらの任意の組合せを考慮する。例えば、データ・アクセス価格計算器がかかる情報を、記憶域から受け取られるインジケータから導出してもよい。別の例では、データ・アクセス価格計算器が、結果に含まれるデータの行および/または列の数を当該結果自体から導出してもよい。
データを複数のテーブルに格納する記憶域に対してクエリを実行する方法の例を説明する。各テーブルはそれぞれ、データの行と列を含む。結果が、クエリに基づいて受け取られる。結果にはデータのサブセットが含まれる。サブセット内のデータの行数を決定する。当該結果にアクセスするためのクエリを発行したユーザに課金すべき価格を、決定したサブセット内のデータの行数に基づいて決定する。
クエリに関する非インラインのクエリ・プランが記憶域から要求される、別の方法の例を説明する。クエリ・プランとは、記憶域によって実施され、記憶域に対するクエリの実行に応答して結果を生成する1組の動作である。非インラインのクエリ・プランとは、全ての関数がインライン化されるわけではないクエリ・プランである。関数とは、クエリ内で参照されるサブ・クエリである。その定義が記憶域によってクエリに取り込まれる(即ち、インライン化される)場合、関数はインライン化されるといい、クエリが記憶域に対して実行されるときにそれが記憶域により呼び出される場合、関数は非インライン化されるという。このように、インライン化された関数は、当該関数の定義をクエリ・プランに取り込むことによってクエリ・プランに含まれ、非インライン化された関数はその関数に対する関数呼出しを列挙することによってクエリ・プランに含まれる。非インライン化されたクエリ・プランが要求されると、クエリ・プランが当該クエリに関して実行すべき関数を含むと判定される。関数の関数価格が決定される。クエリに対応する結果にアクセスするためのクエリを発行したユーザに課金すべき価格は、関数価格に基づいて決まる。
クエリ実行モジュール、結果行決定モジュール、およびアクセス価格決定モジュールを備えるシステムの例を説明する。クエリ実行モジュールは、データを複数のテーブルに記憶する記憶域に対してクエリを実行するように構成される。各テーブルはそれぞれ、データの行と列を含む。結果行決定モジュールは、クエリの実行に応答して受け取られる結果内のデータの行数を決定するように構成される。当該結果は、データのサブセットを含む。アクセス価格決定モジュールは、当該結果にアクセスするためのクエリを発行したユーザに課金すべき価格を、決定した当該結果内のデータの行数に基づいて決定するように構成される。
クエリ・プラン要求モジュール、関数決定モジュール、関数価格決定モジュール、およびアクセス価格決定モジュールを含む、別のシステムの例を説明する。クエリ・プラン要求モジュールは、クエリに関する非インラインのクエリ・プランを記憶域から要求するように構成される。関数決定モジュールは、クエリに関して実行すべき関数をクエリ・プランが含むと判定するように構成される。関数価格決定モジュールは、関数の関数価格を決定するように構成される。アクセス価格決定モジュールは、クエリに対応する結果にアクセスするためのクエリを発行したユーザに課金すべき価格を関数価格に基づいて決定するように構成される。
本発明の概要は、選択した概念を簡潔な形で導入するために与えたものである。当該概念は後の発明を実施するための形態でさらに説明する。本発明の概要は、クレーム主題の主要な特徴または本質的な特徴を特定しようとするものではなく、クレーム主題の範囲を限定するために使用しようとするものでもない。さらに、本発明は発明を実施するための形態および/または本明細書の他の節で説明する特定の実施形態には限定されないことに留意されたい。かかる実施形態は、本明細書で例示の目的でのみ提示するものである。さらなる実施形態は、本明細書に含まれる教示事項を基にすれば当業者には明らかであろう。
添付図面は、本明細書に取り込まれて本明細書の一部を形成し、本発明の諸実施形態を例示し、その説明とともに、必要な原理を説明し当業者が開示された技術を利用できるようにする役割をさらに果たす。
一実施形態に従うデータ消費システムの例のブロック図である。 諸実施形態に従う、寄与分析を用いてデータへのアクセスに価格設定するための方法の流れ図である。 諸実施形態に従う、図1に示すデータ・アクセス価格計算器の実装形態の例のブロック図である。 諸実施形態に従う、寄与分析を用いてデータへのアクセスに価格設定するための方法の流れ図である。 諸実施形態に従う、図1に示すデータ・アクセス価格計算器の実装形態の例のブロック図である。 諸実施形態に従う、寄与分析を用いてデータへのアクセスに価格設定するための方法の流れ図である。 諸実施形態に従う、図1に示すデータ・アクセス価格計算器の実装形態の例のブロック図である。 諸実施形態に従う、寄与分析を用いてデータへのアクセスに価格設定するための方法の流れ図である。 諸実施形態に従う、図1に示すデータ・アクセス価格計算器の実装形態の例のブロック図である。 諸実施形態を実装できるコンピュータの例を示す図である。
開示した技術の機能および利点は、以下で説明する詳細な説明を添付図面と関連して検討すればより明らかになろう。添付図面では、図面全体にわたって同じ参照文字は対応する要素を示す。添付図面では、同じ参照番号は一般に、同一の、機能的に類似の、かつ/または構造的に類似の要素を示す。要素が最初に出現する図面を、対応する参照番号の左端の数字(複数可)により示す。
I.導入
以下の詳細な説明では、本発明の例示的な諸実施形態を示す添付図面を参照する。しかし、本発明の範囲はこれらの諸実施形態に限定されず、添付の特許請求の範囲により定義される。したがって、添付図面に示すものを越える諸実施形態、例えば、図示した諸実施形態の修正版は、添付図面に示すものを越えるものであっても、本発明により包含することができる。
本明細書における「一実施形態」、「実施形態」、「実施形態の例」、等への参照は、説明した実施形態が特定の機能、構造、または特徴を含みうることを示すが、全ての実施形態が必ずしも当該特定の機能、構造、または特徴を含まなくともよい。さらに、かかる語句は必ずしも同一の実施形態に言及しない。さらに、特定の機能、構造、または特徴を一実施形態と関連して説明するとき、明示するとしないとに関わらずかかる特定の機能、構造、または特徴を他の実施形態と関連して実装することは当業者の知識の範囲内にあると考えている。
II.寄与分析を用いた、データへのアクセスの価格設定
諸実施形態の例では、寄与分析を用いた、データへのアクセスに価格設定することができる。例えば、ユーザが、データを格納した記憶域に対してクエリを発行することができる。データを任意の適切な形式で表現してもよい。例えば、データを、プロパティを有するオブジェクトとして表現してもよい。この例によれば、オブジェクトが、XML(extensible markup language)ドキュメントの要素、関係データベースの行、列記憶域の列、等であってもよい。記憶域がデータのサブセットを分析して、クエリに応答してユーザに提供すべき結果を決定することができる。分析されるデータのサブセットを寄与データと称する。データ・アクセス価格計算器が寄与分析を行って、結果にアクセスするユーザに課金すべき価格を決定する。寄与分析では、寄与データに含まれるデータの行および/または列の数、結果に含まれるデータの行および/または列の数、記憶域が寄与データを分析している間に使用した関数、またはこれらの任意の組合せを考慮する。例えば、データ・アクセス価格計算器がかかる情報を、記憶域から受け取られるインジケータから導出してもよい。別の例では、データ・アクセス価格計算器が、結果に含まれるデータの行および/または列の数を当該結果自体から導出してもよい。
本明細書で説明した寄与分析を用いた、データへのアクセスに価格設定するための技術はストアド・プロシージャに適用可能であるが、諸実施形態の例の範囲はこの点に限定されない。ストアド・プロシージャ(proc、sproc、StoPro、SP、等としても知られる)は、毎回クエリを記憶域に送信する必要がなく、かつ、毎回クエリを再コンパイルする必要がなく、複数回実行できる事前コンパイル型のクエリである。例えば、(他種のクエリと対照的に)ストアド・プロシージャを用いると、データ消費システムにおけるネットワーク・トラフィックおよび/またはプロセッサ負荷を軽減することができる。ストアド・プロシージャはクエリ・タイプの一例である。本明細書で説明した技法を任意の適切なクエリ・タイプに適用可能であることは理解されよう。
本明細書で説明した技法には、データへのアクセスの価格設定に関して、従来の技法と比べて様々な利益がある。例えば、本明細書で説明した技法を用いるとより細かいレベルで(例えば、行単位、列単位、またはセル単位で)データを販売することができる。セルは、データの1行および1列に対応する。結果における列数および/もしくは行数ならびに/またはそれらの中のデータ・タイプを価格設定において考慮してもよい。比較的大量のデータにアクセスしたユーザに、比較的少量のデータにアクセスしたユーザよりも高く課金してもよい。例えば、大量の寄与データが分析されるクエリを送信したユーザに、少量の寄与データが分析されるクエリを送信したユーザよりも高く課金してもよい。クエリ・タイプ、当該クエリに応答して分析されるデータ・タイプ、等に基づいて価格設定を行ってもよい。指定の関数に対して価格を設定してもよい。当該指定の関数は、寄与データの分析中に実施可能な動作を定義する。指定の関数の価格が、当該関数に関して分析される寄与データの量と独立であってもよい。
図1は、一実施形態に従うデータ消費システム100の例のブロック図である。一般的には、データ消費システム100は、プロバイダのデータをホストして当該システムのユーザが当該データにアクセスできるようにするように動作する。諸実施形態の例によれば、データ消費システム100は、データにアクセスするユーザに課金すべき価格を、寄与分析を用いて決定するように動作する。寄与分析を用いた、データへのアクセスに価格設定するための技法についてのさらなる詳細は後述する。
図1に示すように、データ消費システム100は複数のユーザ・システム102A〜102M、ネットワーク104、データ・アクセス価格計算器106、および記憶域108を備える。ユーザ・システム102A〜102Mとデータ・アクセス価格計算器106の間の通信が、良く知られたネットワーク通信プロトコルを用いてネットワーク104上で実行される。ネットワーク104は広域ネットワーク(例えば、インターネット)、LAN(local area network)、別の種類のネットワーク、またはそれらの組合せであってもよい。データ・アクセス価格計算器106と記憶域108の間の通信は、SQL(Structured Query Language)、JPQL(Java Persistence Query Language)、等のような良く知られた問合せ言語を用いて実行される。
ユーザ・システム102A〜102Mは、記憶域108に格納したデータを要求する(または記憶域108にアクセス可能な)データ・アクセス価格計算器106へクエリを提供できる処理システムである。処理システムの一例として、1組の命令に従ってデータを操作できる少なくとも1つのプロセッサを備えるシステムがある。例えば、処理システムが、コンピュータ、携帯情報端末、等であってもよい。例えば、ユーザが、当該ユーザが所有するかまたはアクセス可能なユーザ・システム102に展開したクライアント(例えば、ウェブ・ブラウザ、ウェブ・クローラ、または他種のクライアント)を用いて、データに対するクエリを開始してもよい。
図1では、ユーザ・システム102A〜102Mをデスクトップ・コンピュータとして示しているが、ユーザ・システム102A〜102Mが任意のクライアント可能なシステムまたは装置であってもよいことは当業者には理解されよう。当該システムまたは装置には、ラップトップ・コンピュータ、携帯情報端末、携帯電話、等が含まれるがこれらに限らない。
データ・アクセス価格計算器106は、記憶域108に格納された(または記憶域108にアクセス可能な)データにアクセスするためのクエリを発行したユーザに課金すべき価格を決定できる処理システムである。ユーザのクエリを受け取ると、データ・アクセス価格計算器106は、記憶域108に対するクエリを実行する。データ・アクセス価格計算器106は、当該クエリに基づく結果を記憶域108から受け取る。データ・アクセス価格計算器106が、寄与分析インジケータを記憶域108から受け取ってもよい。寄与分析インジケータは、データ・アクセス価格計算器106による寄与分析の実施を容易にするための情報を含む。例えば、寄与分析インジケータが、ユーザのクエリに関する寄与データに含まれるデータの行数および/または列数、結果に含まれるデータの行数および/または列数、寄与データの分析中に使用された関数、等を指定してもよい。データ・アクセス価格計算器106は、結果および/または寄与分析インジケータを分析して、当該結果にアクセスしたユーザに課金すべき価格を決定する。データ・アクセス価格計算器106は当該結果を、クエリが開始されたユーザ・システム102に転送する。
記憶域108は、データを複数のテーブルに格納する記憶装置または記憶システムである。各テーブルには、それぞれ、データの行および列が含まれる。記憶域108が処理機能を備えてもよいが、諸実施形態の例の範囲はこの点に限定されることはない。例えば、記憶域108が、記憶域108に格納されている(または記憶域108にアクセス可能な)どのデータが、データ・アクセス価格計算器106により実行されるクエリに基づいて分析されるべきかを決定してもよい。この例によれば、記憶域108が、当該データを分析してクエリに基づいて結果を決定してもよい。分析されるデータを寄与データと称する。記憶域108が寄与分析インジケータを生成してもよいが、諸実施形態の例の範囲はこの点に限定されることはない。寄与分析インジケータは、寄与データに含まれるデータの行および/または列の数、結果に含まれるデータの行および/または列の数、記憶域が寄与データを分析している間に使用した関数、またはこれらの任意の組合せを指定する。記憶域108が結果を提供し、(適用可能ならば)寄与分析インジケータをデータ・アクセス価格計算器106に提供して、寄与分析に関してさらに処理を行う。
図2は、一実施形態に従う寄与分析を用いてデータへのアクセスに価格設定するための方法の流れ図200を示す。流れ図200を、例えば図1に示すデータ消費システム100のデータ・アクセス価格計算器106により実施してもよい。例示の目的のため、一実施形態に従って、流れ図200を図3に示すデータ・アクセス価格計算器300に関して説明する。データ・アクセス価格計算器300はデータ・アクセス価格計算器106の一例である。図3に示すように、データ・アクセス価格計算器300はクエリ実行モジュール302、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、結果列決定モジュール310、関係決定モジュール312、基本価格決定モジュール314、プレミアム価格決定モジュール316、およびアクセス価格決定モジュール318を備える。別の構造的および動作にかかる諸実施形態は、流れ図200に関する議論を基にすれば当業者には明らかであろう。流れ図200を以下で説明する。
図2に示すように、流れ図200の方法はステップ202で開始する。ステップ202で、データを複数のテーブルに格納する記憶域に対してクエリ実行する。各テーブルは、それぞれ、データの行および列を含む。記憶域に格納されたデータが様々なトピックに関するものであってもよい。例えば、第1のテーブルが、指定の地域で売りに出されている家に関するデータを含んでもよく、第2のテーブルが指定のジャンルの映画に関するデータを含んでもよく、第3のテーブルがレシピに関するデータを含んでもよい、等である。例示の目的のため、流れ図200の各ステップを、ロサンゼルスにある全ての食料品店の一覧を要求するクエリの例に関して論ずる。この例を以下の議論では「食料品店の例」と称する。食料品店の例で実行されるクエリはクエリの一例にすぎず、任意の適切なクエリを記憶域に対して実行してもよいことは理解されよう。実施形態の例では、クエリ実行モジュール302がクエリを実行する。
ステップ204で、クエリに基づいて結果を受け取る。当該結果はデータのサブセットを含む。食料品店の例によれば、当該結果が、要求されたロサンゼルスにある全ての食料品店の一覧を含んでもよい。当該結果における食料品店の一覧は記憶域に格納されるデータのサブセットであることは理解されよう。例えば、記憶域が他のデータ、例えば、売りに出されている家に関するデータ、映画に関するデータ、レシピに関するデータ、等を格納してもよい。実装形態の例では、結果受領モジュール304が当該結果を受け取る。
ステップ206で、サブセット内のデータの行数を決定する。食料品店の例によれば、各行は、結果に含まれる食料品店の一覧内の各食料品店を表してもよい。実装形態の例では、結果行決定モジュール306がサブセット内のデータの行数を決定する。
ステップ208で、結果にアクセスするためのクエリを発行したユーザに課金すべき価格がサブセット内のデータの列数に基づくべきかどうかを判定する。食料品店の例によれば、各列が食料品店の各特性を表してもよい。例えば、当該特性として、営業時間、電話番号、住所、顧客評価、等を含めてもよい。ユーザに課金すべき価格が、結果が含む特性の数に依存してもよい。実装形態の例では、価格コンポーネント決定モジュール308が、結果にアクセスするユーザに課金すべき価格がサブセット内のデータの列数に基づくべきかどうかを判定する。価格が当該サブセット内のデータの列数に基づくべき場合は、フローはステップ212に続く。そうでなければ、フローはステップ210に続く。
ステップ210で、結果にアクセスするためのクエリを発行したユーザに課金すべき価格を決定したサブセット内のデータの行数に基づいて決定する。食料品店の例によれば、価格は結果の食料品店の一覧に含まれる食料品店の数に基づく。実装形態の例では、アクセス価格決定モジュール318が、価格を、決定したサブセット内のデータの行数に基づいて決定する。ステップ210が完了すると、流れ図200は終了する。
ステップ212で、サブセット内のデータの列数を決定する。食料品店の例によれば、結果に含まれる食料品店の特性の数を決定する。実装形態の例では、結果列決定モジュール310が、サブセット内のデータの列数を決定する。
ステップ214で、プレミアム価格がサブセット内のデータの少なくとも1つの列に関連付けられているかどうかを判定する。食料品店の例によれば、例示のため、結果に含まれる食料品店の顧客評価に対してプレミアム価格を課金できると仮定する。実装形態の例では、関係決定モジュール312が、プレミアム価格がサブセット内のデータの少なくとも1つの列に関連付けられているかを判定する。プレミアム価格がサブセット内のデータの少なくとも1つの列に関連付けられている場合は、フローはステップ218に続く。そうでなければフローはステップ216に続く。
ステップ216で、結果にアクセスしたユーザに課金すべき価格を、決定したサブセット内のデータの行数と決定したサブセット内のデータの列数に基づいて決定する。食料品店の例によれば、価格は、結果に含まれる食料品店の数と食料品店の特性の数に基づく。実装形態の例では、アクセス価格決定モジュール318が、価格を、決定したサブセット内のデータの行数と決定したサブセット内のデータの列数に基づいて決定する。ステップ216が完了すると、流れ図200は終了する。
ステップ218で、サブセット内のデータの列数に対する基本価格を決定する。例えば、基本価格が、サブセット内のデータの列数と独立な固定価格であってもよい。あるいは、基本価格がサブセット内のデータの列数に比例してもよい。食料品店の例によれば、基本価格は、結果に含まれる食料品店の特性の数に対して決まる。実装形態の例では、基本価格決定モジュール314が基本価格を決定する。
ステップ220で、プレミアム価格を決定する。実装形態の例では、プレミアム価格決定モジュール316がプレミアム価格を決定する。
ステップ222で、結果にアクセスするユーザに課金すべき価格を、決定したサブセット内のデータの行数に基づいて、決定したサブセット内のデータの列数に基づいて、基本価格、サブセット内のデータの少なくとも1つの列に関連付けられたプレミアム価格に基づいて、決定する。食料品店の例によると、価格は、結果に含まれる食料品店の数、結果に含まれる食料品店の特性の数、基本価格、およびプレミアム価格に基づく。実装形態の例では、アクセス価格決定モジュール318が、ユーザに課金すべき価格を、決定したサブセット内のデータの行数、決定したサブセット内のデータの列数、基本価格、およびプレミアム価格に基づいて決定する。ステップ222が完了すると、流れ図200は終了する。
一実施形態の例によれば、記憶域の幾つかのテーブルに含まれる行に、当該記憶域の他のテーブルに含まれる行よりも高い価格を関連付けてもよい。例えば、第1のテーブル内の行を第1の価格に関連付け、第2のテーブル内の行を第2の価格に関連付けてもよい、等である。ユーザに課金すべき価格を決定するときに、行の間のかかる価格差を考慮してもよい。
幾つかの諸実施形態の例では、流れ図200のステップ202、204、206、208、210、212,214、216、218、220、および/または222のうち1つまたは複数を実施しなくともよい。さらに、ステップ202、204、206、208、210、212、214、216、218、220、および/または222に対する追加または代替のステップを実施してもよい。
データ・アクセス価格計算器300がクエリ実行モジュール302、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、結果列決定モジュール310、関係決定モジュール312、基本価格決定モジュール314、プレミアム価格決定モジュール316、および/または価格決定モジュール318のうち1つまたは複数を備えなくともよい。さらに、データ・アクセス価格計算器300が、クエリ実行モジュール302、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、結果列決定モジュール310、関係決定モジュール312、基本価格決定モジュール314、プレミアム価格決定モジュール316、および/またはアクセス価格決定モジュール318に対する追加または代替のモジュールを備えてもよい。
一実施形態の例によれば、流れ図200のステップ208、210、212、214、216、218、220、および/または222を、図4の流れ図400に示すステップで置き換えてもよい。一実施形態に従って、流れ図400を図5に示すデータ・アクセス価格計算器500に関して説明する。データ・アクセス価格計算器500はデータ・アクセス価格計算器106の一例である。図5に示すように、データ・アクセス価格計算器500は第1の列価格決定モジュール502、第2の列価格決定モジュール504、およびアクセス価格決定モジュール318を備える。別の構造的および動作にかかる諸実施形態は、流れ図400に関する議論を基にすれば当業者には明らかであろう。流れ図400を以下で説明する。
図4に示すように、流れ図400の方法はステップ402で開始する。ステップ402で、サブセット内のデータの第1の列の第1の価格を決定する。実装形態の例では、第1の列価格決定モジュール502が当該第1の列の当該第1の価格を決定する。
ステップ404で、サブセット内のデータの第2の列の第2の価格を決定する。第2の価格は第1の価格よりも高い。図2を参照して食料品店の例で上述したように、食料品店の顧客評価の価格を、当該食料品店の電話番号よりも高く設定してもよい。したがって、データの第1の列の第1の価格は食料品店の電話番号の価格に対応し、データの第2の列の第2の価格は食料品店の顧客評価の価格に対応してもよい。実装形態の例では、第2の列価格決定モジュール504が第2の列の第2の価格を決定する。
ステップ406で、結果にアクセスするユーザに課金すべき価格を、決定したサブセット内のデータの行数、第1の価格、および第2の価格に基づいて決定する。食料品店の例によれば、価格は、結果の食料品店の一覧に含まれる食料品店の数、食料品店の電話番号の価格、および食料品店の顧客評価の価格に基づく。実装形態の例では、アクセス価格決定モジュール308が、ユーザに課金すべき価格を、決定したサブセット内のデータの行数、第1の価格、および第2の価格に基づいて決定する。
図2および図4の流れ図200および400に示した方法では、クエリに基づく結果に含まれるデータの量を考慮している。これらの方法によれば、大量のデータを含む結果へアクセスするユーザに、少量のデータを含む結果にアクセスするユーザよりも多く課金してもよい。しかし、クエリを実行するのに大量の寄与データを分析する必要があったかもしれないが、関連する結果に比較的ごくわずかな(例えば1行の)データが含まれるクエリもある。かかる事例では、結果にアクセスするユーザに課金すべき価格を決定するために寄与データの量を考慮する価格設定モデルを利用することが望ましいかもしれない。
図6は、一実施形態に従ってクエリに関して分析される寄与データの量を考慮した、データへのアクセスに価格設定するための方法の流れ図600を示す。例示の目的のため、一実施形態に従って、流れ図600を図7のデータ・アクセス価格計算器700に関して説明する。データ・アクセス価格計算器700はデータ・アクセス価格計算器106の一例である。図7に示すように、データ・アクセス価格計算器700はクエリ実行モジュール302、インジケータ受領モジュール702、寄与行決定モジュール704、寄与列決定モジュール706、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、およびアクセス価格決定モジュール318を備える。別の構造的および動作にかかる諸実施形態は、流れ図600に関する議論を基にすれば当業者には明らかであろう。流れ図600を以下で説明する。
図6に示すように、流れ図600の方法はステップ202で開始する。ステップ202で、データを複数のテーブルに格納する記憶域に対してクエリ実行する。各テーブルは、それぞれ、データの行および列を含む。例示の目的のため、流れ図600の各ステップを、最も評価の高いロサンゼルスの中華レストランを要求するクエリの例に関して論ずる。本例を、以下の議論では「レストランの例」と称する。レストランの例で実行されるクエリはクエリの一例にすぎず、任意の適切なクエリを当該記憶域に対して実行できることは理解されよう。一実施形態の例では、クエリ実行モジュール302がクエリを実行する。
ステップ602で、クエリの実行に関して分析されるデータの第1のサブセットに含まれるデータの行数を指定する、インジケータを受け取る。レストランの例では、データの第1のサブセットがロサンゼルスの全ての中華レストランの一覧を含んでもよい。例えば、データの第1のサブセットに含まれるデータの各行が各々の中華レストランを表してもよい。ロサンゼルスの全ての中華レストランの一覧を、本例では寄与データと称する。実装形態の例では、インジケータ受領モジュール702がインジケータを受け取る。
一実施形態の例では、寄与行決定モジュール704が、第1のサブセットに含まれるデータの行数をインジケ一タに基づいて決定する。別の実施形態の例によれば、インジケータがさらに、データの第1のサブセットに含まれるデータの列数を指定する。本実施形態によれば、寄与列決定モジュール706が、第1のサブセットに含まれるデータの列数をインジケータに基づいて決定してもよい。
別の実施形態の例では、インジケータが、記憶域から受け取ったクエリ・プランを含む。クエリ・プランとは、記憶域によって実施され、記憶域に対するクエリの実行に応答して結果を生成する1組の動作である。例えば、クエリ・プランにより、第1のテーブル内の第1の行数、第2のテーブル内の第2の行数、等がクエリの実行に関して記憶域により分析されると指定してもよい。本実施形態によれば、第1のサブセットに含まれるデータの行数は第1の行数、第2の行数、等の和である。
ステップ604で、クエリに基づいて結果を受け取る。当該結果はデータの第2のサブセットを含む。第1のサブセットは、第2のサブセットよりも多くの、記憶域に格納されたデータを含む。例えば、データの第2のサブセットが、データの第1のサブセットのサブセットであってもよい。レストランの例によれば、当該結果に、最も評価の高いロサンゼルスの中華レストランが含まれる。最も評価の高いロサンゼルスの中華レストランが寄与データ(即ち、本例ではロサンゼルスの全ての中華レストランの一覧)のサブセットであることが分かる。実装形態の例では、結果受領モジュール304が結果を受け取る。
ステップ606で、第2のサブセット内のデータの行数を決定する。レストランの例によれば、結果が、最も評価の高いロサンゼルスの中華レストランを表す1つのデータ行を含むと判定する。実装形態の例では、結果行決定モジュール306が第2のサブセット内のデータの行数を決定する。
ステップ608で、結果にアクセスするためのクエリを発行したユーザに課金すべき価格が、第1のサブセットに含まれるデータの列数に基づくべきかどうかを判定する。レストランの例によれば、寄与データ内の各列が、中華レストランの各特性を表してもよい。例えば、当該特性として、営業時間、電話番号、住所、顧客評価、等を含めてもよい。ユーザに課金すべき価格が、結果が含む特性の数に依存してもよい。実装形態の例では、価格コンポーネント決定モジュール308が、結果にアクセスしたユーザに課金すべき価格を第1のサブセット内のデータの列数に基づくべきかどうかを判定する。価格が第1のサブセット内のデータの列数に基づくべき場合は、フローはステップ612に続く。そうでなければ、フローはステップ610に続く。
ステップ610で、結果にアクセスするためのクエリを発行したユーザに課金すべき価格を、決定した第2のサブセット内のデータの行数と、第1のサブセットに含まれるデータの行数とに基づいて決定する。レストランの例によれば、価格は結果(即ち、本例における結果)に含まれる中華レストランの数と、寄与データに含まれる中華レストランの数とに基づく。実装形態の例では、アクセス価格決定モジュール318が価格を、決定した第2のサブセット内のデータの行数と第1のサブセットに含まれるデータの行数とに基づいて決定する。ステップ610が完了すると、流れ図600は終了する。
ステップ612で、結果にアクセスするためのクエリを発行したユーザに課金すべき価格を、決定した第2のサブセット内のデータの行数、第1のサブセットに含まれるデータの行数、および第1のサブセットに含まれるデータの列数に基づいて決定する。レストランの例によれば、価格は結果(即ち、本例における結果)に含まれる中華レストランの数と、寄与データに含まれる中華レストランの数と、寄与データに含まれる中華レストランの特性の数とに基づく。実装形態の例では、アクセス価格決定モジュール318が価格を、決定した第2のサブセット内のデータの行数、第1のサブセットに含まれるデータの行数、および第1のサブセットに含まれるデータの列数に基づいて決定する。ステップ612が完了すると、流れ図600は終了する。
幾つかの諸実施形態の例では、流れ図600のステップ602、604、606、608、610、および/または612のうち1つまたは複数を実施しなくともよい。さらに、ステップ602、604、606、608、610、および/または612に対する追加または代替のステップを実施してもよい。
データ・アクセス価格計算器700がクエリ実行モジュール302、インジケータ受領モジュール702、寄与行決定モジュール704、寄与列決定モジュール706、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、および/またはアクセス価格決定モジュール318のうち1つまたは複数を備えなくともよいことは理解されよう。さらに、データ・アクセス価格計算器700がクエリ実行モジュール302、インジケータ受領モジュール702、寄与行決定モジュール704、寄与列決定モジュール706、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、および/またはアクセス価格決定モジュール318に対して追加または代替のモジュールを備えてもよい。
図6の流れ図600に示した方法では、寄与データに含まれるデータの量を考慮している。当該寄与データは、結果を決定するためにクエリに関して記憶域により分析されるものである。本方法によれば、大量の寄与データが分析される結果へアクセスするユーザに、少量の寄与データが分析される結果にアクセスするユーザよりも多く課金してもよい。しかし、クエリに関して分析される寄与データの量と必ずしも関係しない当該クエリ内で参照される幾つかの関数に対して指定の価格を設定する価格設定モデルを使用することが望ましいかもしれない。例えば、関数ベースの価格設定により、寄与データが大量であるときに、寄与データの量を考慮に入れた割引を価格設定に関して提供してもよい。
図8は、一実施形態に従ってクエリに関して実行される関数の関数価格を考慮した、データへのアクセスに価格設定するための方法の流れ図800を示す。例示の目的のため、一実施形態に従って、流れ図800を図9のデータ・アクセス価格計算器900に関して説明する。データ・アクセス価格計算器900はデータ・アクセス価格計算器106の一例である。図9に示すように、データ・アクセス価格計算器900はクエリ・プラン要求モジュール902、関数決定モジュール904、関数価格決定モジュール906、アクセス価格決定モジュール318、インジケータ決定モジュール908、および価格表示モジュール910を備える。別の構造的および動作にかかる諸実施形態は、流れ図800に関する議論を基にすれば当業者には明らかであろう。流れ図800を以下で説明する。
図8に示すように、流れ図800の方法はステップ802で開始する。ステップ802で、クエリに関する非インラインのクエリ・プランを記憶域から要求する。実装形態の例では、クエリ・プラン要求モジュール902が非インラインのクエリ・プランを要求する。クエリ・プランとは、記憶域によって実施され、記憶域に対するクエリの実行に応答して結果を生成する1組の動作である。非インラインのクエリ・プランとは、全ての関数がインライン化されるわけではないクエリ・プランである。関数とは、クエリ内で参照されるサブ・クエリである。その定義が記憶域によってクエリに取り込まれる(即ち、インライン化される)場合に関数はインライン化されるといい、クエリが記憶域に対して実行されるときに記憶域により呼び出される場合に関数は非インライン化されるという。このように、インライン化された関数は、当該関数の定義をクエリ・プランに取り込むことによってクエリ・プランに含まれ、非インライン化された関数はその関数に対する関数呼出しを列挙することによってクエリ・プランに含まれる。
例示の目的のため、クエリが、「5マイル以内の関心点を取得」から全ての中華レストランを要求すると仮定する。「5マイル以内の関心点を取得」というフレーズは関数を表し、記憶域が、当該関数がインライン化または非インライン化されているとして扱ってもよい。記憶域が当該関数をインライン化されているとして扱う場合は、記憶域が当該クエリを修正して、中華レストランである関心点を選択し、ユーザのX座標をレストランのX座標から減じて各々のX距離を提供し、ユーザのY座標をレストランのY座標から減じて各々のY距離を提供し、当該X距離を二乗して各々の二乗X距離を提供し、当該Y距離を二乗して各々の二乗Y距離を提供し、各二乗X距離を対応する二乗Y距離に加算して、その和の平方根をとって各距離を提供し、5マイル未満の距離にある中華レストランを結果として提供してもよい。
他方、記憶域が、当該関数が非インライン化されているとして扱う場合は、記憶域が関数呼出しを行って、ユーザの位置から5マイルの範囲内の全ての関心点を含む中間結果を取得してもよい。当該中間結果はデータの行および列を含むので、当該中間結果をテーブルとして記述してもよい。当該記憶域が当該クエリの他の態様を当該中間結果に対して実行してもよい。本例によれば、記憶域が、中間結果に含まれる関心点のうちどれが中華レストランであるかを判定してもよい。
ステップ804で、クエリ・プランが、クエリに関して実行すべき関数を含むと決定する。例えば、クエリ・プランが当該関数に対する関数呼出しを含むと決定してもよい。実装形態の例では、関数決定モジュール904が、クエリ・プランがクエリに関して実行すべき関数を含むと決定する。
ステップ806で、関数の関数価格を決定する。実装形態の例では、関数価格決定モジュール906が関数の関数価格を決定する。
ステップ808で、クエリに対応する結果にアクセスするためのクエリを発行したユーザに課金すべき価格を、関数価格に基づいて決定する。実装形態の例では、アクセス価格決定モジュール318が、当該結果にアクセスしたユーザに課金すべき価格を関数価格に基づいて決定する。
ステップ810で、結果にアクセスしたユーザに課金すべき価格を指定する価格インジケータをユーザに提供すべきかどうかを判定する。実装形態の例では、インジケータ決定モジュール908が、当該価格インジケータをユーザに提供すべきかどうかを判定する。価格インジケータをユーザに提供すべき場合は、フローはステップ812に続く。そうでなければ、流れ図800は終了する。
ステップ812で、結果にアクセスしたユーザに課金すべき価格を指定する価格インジケータをユーザに提供する。例えば、ユーザに対して、当該結果へのアクセスがユーザに与えられる前に当該価格を受け入れるオプションを与えてもよい。実装形態の例では、価格表示モジュール910が価格インジケータをユーザに提供する。ステップ812が完了すると、流れ図800が終了する。
記憶域が、インライン化された関数または非インライン化された関数を用いてクエリを処理してもよいことに留意されたい。非インライン化されたクエリ・プランは、記憶域がインライン化された関数を利用してクエリを処理する能力には影響を及ぼさない。実際、インライン化された関数を利用したクエリの処理は、非インライン化された関数を利用したクエリの処理よりも効率が良い。なぜならば、当該記憶域が、クエリに関して実施すべき動作の順序を選択できるからである。例えば、クエリがユーザの位置から5マイルの範囲内にある全ての中華レストランを要求する場合、ユーザの位置から5マイルの範囲内にある全ての関心点を決定した後にこれらの関心点のうちどれが中華レストランであるかを判定すればより迅速に結果を生成できると記憶域が判定してもよい。あるいは、全ての中華レストランを決定した後にこれらの中華レストランのうちどれがユーザの位置から5マイルの範囲内にあるかを判定すればより迅速に結果を生成できると記憶域が判定してもよい。インライン化された関数により、記憶域がかかる判定を行うことができる。
幾つかの諸実施形態の例では、流れ図800のステップ802、804、806、808、810、および/または812のうち1つまたは複数を実施しなくともよい。さらに、ステップ802、804、806、808、810、および/または812に対する追加または代替のステップを実施してもよい。
データ・アクセス価格計算器900がクエリ・プラン要求モジュール902、関数決定モジュール904、関数価格決定モジュール906、アクセス価格決定モジュール318、インジケータ決定モジュール908、および/または価格表示モジュール910のうち1つまたは複数を備えなくともよいことは理解されよう。さらに、データ・アクセス価格計算器900がクエリ・プラン要求モジュール902、関数決定モジュール904、関数価格決定モジュール906、アクセス価格決定モジュール318、インジケータ決定モジュール908、および/または価格表示モジュール910に対して追加または代替のモジュールを備えてもよい。
クエリ実行モジュール302、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、結果列決定モジュール310、関係決定モジュール312、基本価格決定モジュール314、プレミアム価格決定モジュール316、アクセス価格決定モジュール318、第1の列価格決定モジュール502、第2の列価格決定モジュール504、インジケータ受領モジュール702、寄与行決定モジュール704、寄与列決定モジュール706、クエリ・プラン要求モジュール902、関数決定モジュール904、関数価格決定モジュール906、インジケータ決定モジュール908、および価格表示モジュール910をハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装してもよい。
例えば、クエリ実行モジュール302、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、結果列決定モジュール310、関係決定モジュール312、基本価格決定モジュール314、プレミアム価格決定モジュール316、アクセス価格決定モジュール318、第1の列価格決定モジュール502、第2の列価格決定モジュール504、インジケータ受領モジュール702、寄与行決定モジュール704、寄与列決定モジュール706、クエリ・プラン要求モジュール902、関数決定モジュール904、関数価格決定モジュール906、インジケータ決定モジュール908、および/または価格表示モジュール910を、1つまたは複数のプロセッサで実行されるように構成したコンピュータ・プログラム・コードとして実装してもよい。
別の例では、クエリ実行モジュール302、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、結果列決定モジュール310、関係決定モジュール312、基本価格決定モジュール314、プレミアム価格決定モジュール316、アクセス価格決定モジュール318、第1の列価格決定モジュール502、第2の列価格決定モジュール504、インジケータ受領モジュール702、寄与行決定モジュール704、寄与列決定モジュール706、クエリ・プラン要求モジュール902、関数決定モジュール904、関数価格決定モジュール906、インジケータ決定モジュール908、および/または価格表示モジュール910を、ハードウェア論理または電子回路として実装してもよい。
図10は、諸実施形態を実装できるコンピュータの例1000を示す。図1に示す、ユーザ・システム102A〜102M、データ・アクセス価格計算器106、または記憶域108のうち任意の1つまたは複数(または図3、5、7、および9に示すそれらの任意の1つまたは複数のサブコンポーネント)を、コンピュータ1000の1つもしくは複数の機能および/または代替機能を含めて、コンピュータ1000を用いて実装してもよい。コンピュータ1000が、例えば従来型のパーソナル・コンピュータ、モバイル・コンピュータ、またはワークステーションの形の汎用目的のコンピューティング装置であってもよく、または、コンピュータ1000が特殊目的のコンピューティング装置であってもよい。本明細書で提供したコンピュータ1000の説明は例示の目的で提供したものであり、限定を意図したものではない。諸実施形態を別の種類のコンピュータ・システムで実装してもよく、これは当業者には明らかであろう。
図10に示すように、コンピュータ1000は処理装置1002、システム・メモリ1004、システム・メモリ1004を含む様々なシステム・コンポーネントを処理装置1002に接続するバス1006を備える。バス1006は任意の数種のバス構造のうち1つまたは複数を表わす。当該バス構造には、メモリ・バスまたはメモリ・コントローラ、周辺バス、高速グラフィック・ポート、様々なバス構造のうち任意のものを利用したプロセッサまたはローカル・バスが含まれる。システム・メモリ1004には、ROM(read only memory)1008およびRAM(random access memory)1010が含まれる。BIOS(basic input/output system)1012がROM1008に格納される。
コンピュータ1000はまた、1つまたは複数の以下のドライブ、即ち、ハードディスクを読書きするためのハードディスク・ドライブ1014、取外し可能磁気ディスク1018を読書きするための磁気ディスク・ドライブ1016、および、CD ROM、DVD ROM、または他の光媒体のような取外し可能光ディスク1022を読書きするための光ディスク・ドライブ1020を有する。ハードディスク・ドライブ1014、磁気ディスク・ドライブ1016、光ディスク・ドライブ1020は、それぞれ、ハードディスク・ドライブ・インタフェース1024、磁気ディスク・ドライブ・インタフェース1026、および光ドライブ・インタフェース1028によってバス1006に接続される。ドライブおよびその関連するコンピュータ可読記憶媒体により、コンピュータ可読命令、データ構造、プログラム・モジュールおよびコンピュータの他のデータの不揮発性記憶を提供する。ハードディスク、取外し可能磁気ディスクおよび取外し可能光ディスクを説明したが、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、RAM(random access memory)、ROM(read only memory)、等のような他種のコンピュータ可読記憶媒体を使用してデータを記憶することができる。
幾つかのプログラム・モジュールをハードディスク、磁気ディスク、光ディスク、ROM、またはRAMに格納してもよい。これらのプログラムは、オペレーティング・システム1030、1つまたは複数のアプリケーション・プログラム1032、他のプログラム・モジュール1034、およびプログラム・データ1036を備える。アプリケーション・プログラム1032またはプログラム・モジュール1034が、例えば、本明細書で説明した、クエリ実行モジュール302、結果受領モジュール304、結果行決定モジュール306、価格コンポーネント決定モジュール308、結果列決定モジュール310、関係決定モジュール312、基本価格決定モジュール314、プレミアム価格決定モジュール316、アクセス価格決定モジュール318、第1の列価格決定モジュール502、第2の列価格決定モジュール504、インジケータ受領モジュール702、寄与行決定モジュール704、寄与列決定モジュール706、クエリ・プラン要求モジュール902、関数決定モジュール904、関数価格決定モジュール906、インジケータ決定モジュール908、価格表示モジュール910、流れ図200(流れ図200の任意のステップを含む)、流れ図400(流れ図400の任意のステップを含む)、流れ図600(流れ図600の任意のステップを含む)、および/または流れ図800(流れ図800の任意のステップを含む)、を実装するためのコンピュータ・プログラム論理を備えてもよい。
ユーザは、コマンドおよび情報を、キーボード1038およびポインティング・デバイス1040のような入力装置を介してコンピュータ1000に入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、パラボラ・アンテナ、スキャナ、等を含めてもよい。これらおよび他の入力装置はしばしば、バス1006に接続されたシリアル・ポート・インタフェース1042を介して処理装置1002に接続されるが、パラレル・ポート、ゲーム・ポート、またはUSB(universal serial bus)のような他のインタフェースにより接続してもよい。
ディスプレイ装置1044(例えば、モニタ)も、ビデオ・アダプタ1046のようなインタフェースを介してバス1006に接続される。ディスプレイ装置1044に加えて、コンピュータ1000がスピーカおよびプリンタのような他の周辺出力装置(図示せず)を備えてもよい。
コンピュータ1000は、ネットワーク・インタフェースもしくはアダプタ1050、モデム1052、またはネットワーク上で通信を確立するための他の手段を介してネットワーク1048(例えば、インターネット)に接続される。モデム1052は、内部または外部にあることができ、シリアル・ポート・インタフェース1042を介してバス1006に接続される。
本明細書で使用する際、「コンピュータ・プログラム媒体」および「コンピュータ可読媒体」という用語は、一般に、ハードディスク・ドライブ1014に関連付けられたハードディスク、取外し可能磁気ディスク1018、取外し可能光ディスク1022のような媒体、ならびにフラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、RAM(random access memory)、ROM(read only memory)、等のような他の媒体を指す。
上述したように、コンピュータ・プログラムおよびモジュール(アプリケーション・プログラム1032および他のプログラム・モジュール1034を含む)をハードディスク、磁気ディスク、光ディスク、ROM、またはRAMに格納してもよい。かかるコンピュータ・プログラムを、ネットワーク・インタフェース1050またはシリアル・ポート・インタフェース1042を介して受け取ってもよい。かかるコンピュータ・プログラムがアプリケーションによって実行またはロードされると、コンピュータ1000は本明細書で論じた諸実施形態の諸機能を実装することができる。したがって、かかるコンピュータ・プログラムはコンピュータ1000の制御装置を表す。
諸実施形態の例はまた、コンピュータ使用可能媒体に格納したソフトウェア(例えば、コンピュータ可読命令)を含むコンピュータ・プログラム製品に関する。かかるソフトウェアが1つまたは複数のデータ処理装置で実行されると、データ処理装置(複数可)は本明細書で説明したように動作する。諸実施形態では、現在公知であるかまたは将来公知となる任意のコンピュータ使用可能媒体またはコンピュータ可読媒体を採用してもよい。コンピュータ可読媒体の例には、RAM、ハード・ドライブ、フロッピー・ディスク、CD ROM、DVD ROM、ジップ・ディスク、テープ、磁気記憶装置、光記憶装置、MEMSベースの記憶装置、ナノテクノロジ・ベースの記憶装置、等のような記憶装置が含まれるがこれらに限らない。
III.結論
以上で様々な実施形態を説明したが、これらは例として提示したにすぎず限定ではないことは理解されよう。本発明の精神および範囲を逸脱することなく様々な変更を形態および詳細の点で加えることができることは当業者には明らかであろう。したがって、本発明の外延と範囲は上述した諸実施形態の例の何れによっても限定されず、添付の特許請求の範囲とその均等物によってのみ制限されるべきである。

Claims (12)

  1. ネットワーク環境におけるデータベースに対するクエリをプロセッサが実行する方法であって、前記クエリを実行する方法は、
    結果を決定するために分析されるデータを複数のテーブルに格納する記憶域に対して、クエリを実行するステップと、
    少なくとも前記クエリに基づいて、結果を受け取るステップと、
    前記結果に含まれるサブセット内のデータの行数を決定するステップと、
    前記結果にアクセスする前記クエリを発行したユーザに課金すべき価格が、前記結果を決定するために分析されるデータの列数に基づくべき場合に、前記ユーザに課金すべき価格を、前記サブセット内のデータの行数と、前記結果を決定するために分析されるデータの行数および列数に基づいて決定するステップ
    を含むことを特徴とする方法。
  2. 前記結果にアクセスする前記クエリを発行したユーザに課金すべき価格が、前記結果を決定するために分析されるデータの列数に基づくべきでない場合に、前記ユーザに課金すべき価格を、前記サブセット内のデータの行数と、前記結果を決定するために分析されるデータの行数に基づいて決定するステップをさらに含む、請求項1に記載の方法。
  3. 前記結果にアクセスする前記クエリを発行したユーザに課金すべき価格が、前記結果を決定するために分析されるデータの列数に基づくべき場合に、
    前記サブセット内のデータの列数に対して基本価格を決定するステップと、
    前記基本価格に加えて課金すべき、前記サブセット内のデータの少なくとも1つの列に関連付けられたプレミアム価格を決定するステップと、
    をさらに含み、
    前記結果にアクセスしたユーザに課金すべき価格を決定するステップは、
    前記結果にアクセスしたユーザに課金すべき価格を、さらに前記基本価格、および前記プレミアム価格に基づいて決定するステップ
    を含むことを特徴とする請求項1に記載の方法。
  4. 前記サブセット内のデータの第1の列の第1の価格を決定するステップと、
    前記サブセット内のデータの第2の列の第2の価格を決定するステップと、
    をさらに含み、
    前記第2の価格は前記第1の価格よりも高く、
    前記結果にアクセスしたユーザに課金すべき価格を決定するステップが、
    前記結果にアクセスしたユーザに課金すべき価格を、さらに、前記第1の価格、および前記第2の価格に基づいて決定するステップ
    を含むことを特徴とする請求項1又は2に記載の方法。
  5. 前記結果にアクセスしたユーザに課金すべき価格を指定する価格インジケータを前記ユーザに提供するステップをさらに含むことを特徴とする請求項1に記載の方法。
  6. 前記記憶域に対して前記クエリを実行するステップが、
    前記記憶域に対してストアド・プロシージャを実行するステップを含み、
    前記結果を少なくとも前記クエリに基づいて受け取るステップが、
    前記結果を少なくとも前記ストアド・プロシージャに基づいて受け取るステップ
    を含むことを特徴とする請求項1に記載の方法。
  7. データ・アクセス価格計算器であって
    1または複数のプロセッサと、
    複数のテーブルに結果を決定するために分析されるデータを含むデータを格納する記憶域に対してクエリを実行するよう構成される、前記1または複数のプロセッサのうち少なくとも1つを用いて実行されるクエリ実行モジュールと、
    前記クエリの実行に応答して受け取られる、結果におけるデータの行数を決定するよう構成される、前記1または複数のプロセッサのうち少なくとも1つを用いて実行される結果行決定モジュールと、
    前記結果内のデータの列数を決定するよう構成される、前記1または複数のプロセッサのうち少なくとも1つを用いて実行される結果列決定モジュールと、
    前記結果にアクセスする前記クエリを発行したユーザに課金すべき価格が、前記結果を決定するために分析されるデータの列数に基づくべき場合に、前記ユーザに課金すべき価格を、前記結果内のデータの行数と、前記結果を決定するために分析されるデータの行数および列数とに基づいて決定するアクセス価格決定モジュールと
    を備えることを特徴とするデータ・アクセス価格計算器。
  8. 前記アクセス価格決定モジュールは、さらに、
    前記ユーザに課金すべき価格が、前記結果を決定するために分析されるデータの列数に基づくべきでない場合に、前記ユーザに課金すべき価格を、前記結果内のデータの行数と、前記結果を決定するために分析されるデータの行数とに基づいて決定する、請求項7に記載のデータ・アクセス価格計算器。
  9. 前記結果内のデータの列数に対して基本価格を決定するよう構成される基本価格決定モジュールと、
    前記基本価格に加えて課金すべき、前記結果内のデータの少なくとも1つの列に関連付けられたプレミアム価格を決定するよう構成されるプレミアム価格決定モジュールと、
    をさらに備え、
    前記結果にアクセスしたユーザに課金すべき前記価格はさらに前記基本価格と前記プレミアム価格とを考慮している
    ことを特徴とする請求項7に記載のデータ・アクセス価格計算器。
  10. 前記記憶域から前記クエリに関する非インラインのクエリ・プランを要求するよう構成されるクエリ・プラン要求モジュールと、
    前記クエリ・プランが前記クエリに関して実行すべき関数を含むと判定するよう構成される関数決定モジュールと、
    前記関数の関数価格を決定するよう構成される関数価格決定モジュールと、
    をさらに備え、
    前記結果にアクセスしたユーザに課金すべき価格はさらに少なくとも前記関数価格に基づいている
    ことを特徴とする請求項7に記載のデータ・アクセス価格計算器。
  11. 前記結果にアクセスしたユーザに課金すべき価格を指定する価格インジケータを前記ユーザに提供するよう構成される価格表示モジュール
    をさらに備えることを特徴とする請求項7に記載のデータ・アクセス価格計算器。
  12. 前記結果を決定するために分析されるデータは寄与データであり、
    前記結果を決定するために分析されるデータの量は、前記寄与データの行数または列数のうちの少なくとも1つに対応する
    ことを特徴とする請求項1に記載の方法。
JP2012539923A 2009-11-17 2010-10-29 寄与分析を用いた、データへのアクセスの価格設定 Expired - Fee Related JP5981344B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/620,246 2009-11-17
US12/620,246 US20110119252A1 (en) 2009-11-17 2009-11-17 Pricing Access to Data Using Contribution Analysis
PCT/US2010/054706 WO2011062741A2 (en) 2009-11-17 2010-10-29 Pricing access to data using contribution analysis

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015078556A Division JP2015158933A (ja) 2009-11-17 2015-04-07 寄与分析を用いた、データへのアクセスの価格設定

Publications (3)

Publication Number Publication Date
JP2013511105A JP2013511105A (ja) 2013-03-28
JP2013511105A5 JP2013511105A5 (ja) 2013-12-12
JP5981344B2 true JP5981344B2 (ja) 2016-08-31

Family

ID=44012084

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012539923A Expired - Fee Related JP5981344B2 (ja) 2009-11-17 2010-10-29 寄与分析を用いた、データへのアクセスの価格設定
JP2015078556A Pending JP2015158933A (ja) 2009-11-17 2015-04-07 寄与分析を用いた、データへのアクセスの価格設定

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015078556A Pending JP2015158933A (ja) 2009-11-17 2015-04-07 寄与分析を用いた、データへのアクセスの価格設定

Country Status (5)

Country Link
US (1) US20110119252A1 (ja)
EP (1) EP2502158A4 (ja)
JP (2) JP5981344B2 (ja)
CN (1) CN102612688A (ja)
WO (1) WO2011062741A2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140324735A1 (en) * 2013-04-24 2014-10-30 International Business Machines Corporation Maximizing the utility of information in multiple intersecting data structures using platonic solids and related polyhedra and polytopes

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4989141A (en) * 1987-06-01 1991-01-29 Corporate Class Software Computer system for financial analyses and reporting
US5930777A (en) * 1997-04-15 1999-07-27 Barber; Timothy P. Method of charging for pay-per-access information over a network
US6195646B1 (en) * 1997-05-13 2001-02-27 Data Junction Corp System and method for facilitating the valuation and purchase of information
US6578079B1 (en) * 1997-10-22 2003-06-10 British Telecommunications Public Limited Company Communications node for providing network based information service
US5974416A (en) * 1997-11-10 1999-10-26 Microsoft Corporation Method of creating a tabular data stream for sending rows of data between client and server
US6704803B2 (en) * 1998-01-26 2004-03-09 International Business Machines Corporation Method and system for distributing data events over an information bus
US6253203B1 (en) * 1998-10-02 2001-06-26 Ncr Corporation Privacy-enhanced database
US20040078300A1 (en) * 1999-01-25 2004-04-22 Smith John R. Method and apparatus for progressive information querying on proprietary data and for the progressive selling of information
US7080062B1 (en) * 1999-05-18 2006-07-18 International Business Machines Corporation Optimizing database queries using query execution plans derived from automatic summary table determining cost based queries
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
JP2001216235A (ja) * 2000-02-03 2001-08-10 Efgenex Corp 地図関連データの配信サービス方法
JP2001337733A (ja) * 2000-05-25 2001-12-07 Sony Corp ソフトウエア提供システムおよびソフトウエア提供方法
GB2366882A (en) * 2000-09-19 2002-03-20 Ncr Int Inc A data warehouse and brokerage system
US7043471B2 (en) * 2001-08-03 2006-05-09 Overture Services, Inc. Search engine account monitoring
JP2003116081A (ja) * 2001-10-04 2003-04-18 Nippon Telegr & Teleph Corp <Ntt> データ保存方法及び装置
US7499907B2 (en) * 2001-10-12 2009-03-03 Teradata Us, Inc. Index selection in a database system
US6931378B2 (en) * 2001-12-10 2005-08-16 Halliburton Energy Services, Inc. Method, systems, and program product for selecting and acquiring data to update a geophysical database
US7664830B2 (en) * 2002-03-29 2010-02-16 Sony Corporation Method and system for utilizing embedded MPEG-7 content descriptions
US6917932B2 (en) * 2002-05-01 2005-07-12 International Business Machines Corporation Dynamic optimization of multi-feature queries
US8775330B2 (en) * 2003-06-23 2014-07-08 International Business Machines Corporation Establishing a data management fee structure based on fine grained data entities
ITRM20030341A1 (it) * 2003-07-14 2005-01-15 Michele Giudilli Metodo per l'addebito dei costi di fruizione di contenuti
US20050193054A1 (en) * 2004-02-12 2005-09-01 Wilson Eric D. Multi-user social interaction network
US7792878B2 (en) * 2004-07-29 2010-09-07 International Business Machines Corporation Fee-based model based on database federation and query support
US7853574B2 (en) * 2004-08-26 2010-12-14 International Business Machines Corporation Method of generating a context-inferenced search query and of sorting a result of the query
US20060247944A1 (en) * 2005-01-14 2006-11-02 Calusinski Edward P Jr Enabling value enhancement of reference data by employing scalable cleansing and evolutionarily tracked source data tags
US20060235714A1 (en) * 2005-01-14 2006-10-19 Adinolfi Ronald E Enabling flexible scalable delivery of on demand datasets
KR100751777B1 (ko) * 2005-01-25 2007-08-23 권승욱 유료 온라인 컨텐츠 유통 시스템 및 그 방법
US7272582B2 (en) * 2005-02-10 2007-09-18 Data Gater, Llc Fee determination device
US7356524B2 (en) * 2005-05-13 2008-04-08 Sap Ag Query runtime estimation using statistical query records
KR100692650B1 (ko) * 2005-11-14 2007-03-13 주식회사 케이티프리텔 개방형 모바일 비즈니스 지원 시스템에서의 과금 처리방법및 장치
JP4771881B2 (ja) * 2006-07-20 2011-09-14 生活協同組合コープさっぽろ 商品情報提供システム
US8656271B2 (en) * 2006-07-31 2014-02-18 Sap Ag Adapting a spreadsheet for use with a complex object
US8032875B2 (en) * 2006-11-28 2011-10-04 Oracle America, Inc. Method and apparatus for computing user-specified cost metrics in a data space profiler
US8082242B1 (en) * 2006-12-29 2011-12-20 Google Inc. Custom search
US8812481B2 (en) * 2007-07-12 2014-08-19 International Business Machines Corporation Management of interesting database statistics
US20090024563A1 (en) * 2007-07-17 2009-01-22 Vibhuti Singh Sengar Method and system for estimating per query resource consumption
US20100030728A1 (en) * 2008-07-29 2010-02-04 Oracle International Corporation Computing selectivities for group of columns and expressions
US20110004510A1 (en) * 2009-07-01 2011-01-06 Arash Bateni Causal product demand forecasting system and method using weather data as causal factors in retail demand forecasting

Also Published As

Publication number Publication date
JP2013511105A (ja) 2013-03-28
EP2502158A4 (en) 2014-11-26
JP2015158933A (ja) 2015-09-03
EP2502158A2 (en) 2012-09-26
CN102612688A (zh) 2012-07-25
US20110119252A1 (en) 2011-05-19
WO2011062741A3 (en) 2011-08-25
WO2011062741A2 (en) 2011-05-26

Similar Documents

Publication Publication Date Title
US10679246B2 (en) Selecting advertisements from one or more databases for sending to a publisher
KR20200123015A (ko) 정보를 추천하는 방법, 장치, 기기 및 저장 매체
Edlin et al. The role of switching costs in antitrust analysis: a comparison of Microsoft and Google
US8126877B2 (en) Arranging search engine results
TW201937429A (zh) 一種判定行銷方案的方法、裝置及電子設備
US8626769B1 (en) Community contributed rules in online accounting systems
US11615439B2 (en) Method and apparatus for clustering platform sessions and user accounts associated with the platform sessions
US10546348B1 (en) Cleaning noise words from transaction descriptions
CN111127051B (zh) 多渠道动态归因方法、装置、服务器及存储介质
KR101042901B1 (ko) 광고 구매 히스토리에 기초하여 검색 광고용 키워드 페어를생성하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US20110055229A1 (en) System and method for generating a valuation of revenue opportunity for a keyword from a valuation of online sessions on a website from user activities following a keyword search
US20090248186A1 (en) Methods and Systems for Matching Configurable Manufacturing Capacity Requirements and Availability
US10861038B2 (en) Methods and systems for efficient promotional price adjustment
US10929418B2 (en) Systems and methods for flexible streaming aggregation for electronic transaction analysis
JP5981344B2 (ja) 寄与分析を用いた、データへのアクセスの価格設定
US9754319B2 (en) Source document framework for accounting systems
US20140195462A1 (en) Data management system and tool
US20120109783A1 (en) Product information search
JP4962984B2 (ja) 評価集計装置及び評価集計方法
US20110196722A1 (en) Marketplace for captcha developers
CN115114295B (zh) 用于确定复合索引的方法和装置
US10229440B2 (en) Accelerated price calculation using in-memory technology
TWM560616U (zh) 提供關聯功能表選單的電子裝置
TW201901493A (zh) 資料搜尋方法
US20150186960A1 (en) Multi-Item Access of Pricing Condition Tables

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140711

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150407

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150420

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150514

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20150619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160728

R150 Certificate of patent or registration of utility model

Ref document number: 5981344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees