(57)【特許請求の範囲】
【請求項１】
広告でアプリケーション・プログラムをターゲッティングするシステムであって、
複数の計算デバイスから受信したアプリケーション実行データーを格納するためのメモリー・エリアであって、前記アプリケーション実行データーが、前記複数の計算デバイスの各々の実行環境を記述し、前記メモリー・エリアがプッシュ・サービスと関連付けられた、メモリー・エリアと、
プロセッサーであって、
前記メモリー・エリアに格納された前記アプリケーション実行データーに基づいて、前記実行環境に対応するアプリケーション統計を生成し、該アプリケーション統計が、前記複数の計算デバイスのうちの１つの計算デバイスにおいて同時に実行されている複数のアプリケーション・プログラムを少なくとも記述し、
広告主によって定められた少なくとも１つの広告キャンペーンにアクセスし、
生成した前記アプリケーション統計およびアクセスした前記広告キャンペーンに基づいて、前記複数の計算デバイスのうちの前記１つの計算デバイスにおいて同時に実行している前記複数のアプリケーションから、広告を受信する少なくとも１つのアプリケーション・プログラムを特定し、
前記プッシュ・サービスによって、特定した前記アプリケーション・プログラムに前記広告を配信し、
特定した前記アプリケーション・プログラムとこれに関連する生成した前記アプリケーション統計とに少なくとも基づいて、前記広告を特定した前記アプリケーション・プログラムに配信したことに対して前記広告主に課金する額を計算する、
ようにプログラミングされた、プロセッサーと、
を含む、システム。
【請求項２】
請求項１記載のシステムにおいて、前記プロセッサーが、
前記アプリケーション・プログラムの人気、
前記アプリケーション・プログラムのタイプ、
前記アプリケーション・プログラムの実行頻度、および
前記アプリケーション・プログラムの実行場所、
のうち１つ以上に基づいて、前記額を計算するようにプログラムされた、システム。
【請求項３】
請求項１記載のシステムにおいて、前記プロセッサーが、更に、
前記複数の計算デバイスのうちの前記１つの計算デバイスの位置を記述する位置情報を受信し、該位置情報が、前記複数の計算デバイスのうちの前記１つの計算デバイスからのハートビート・メッセージとして受信され、
少なくとも受信した前記位置情報に基づいて、前記複数の計算デバイスのうちの前記１つの計算デバイスの前記位置を判定し、
前記複数の計算デバイスのうちの前記１つの計算デバイスの判定した前記位置に基づいて、前記広告を選択する、
ようにプログラムされた、システム。
【請求項４】
請求項１記載のシステムにおいて、前記アプリケーション実行データーが、
アプリケーション名、
アプリケーション・タイプ、
サービス名、
アプリケーション・バージョン、および
アプリケーション販売業者、
のうち１つ以上を含む、システム。
【請求項５】
請求項１記載のシステムにおいて、前記プロセッサーが、前記アプリケーション・プログラムの実行頻度を判定し、前記アプリケーション・プログラムが受信するまたは該アプリケーション・プログラムから送られるメッセージの量を判定することによって、前記アプリケーション統計を生成する、システム。
【請求項６】
請求項１記載のシステムにおいて、前記複数の計算デバイスは、プッシュ・サービスを有する単一のプッシュ・チャンネルを有し、前記プロセッサーは、特定した前記アプリケーション・プログラムに対し前記単一のプッシュ・チャンネルを介して前記広告を配信し、前記アプリケーション・プログラムの各々は、前記単一のプッシュ・チャンネルと１対１マッピングを有する、システム。
【請求項７】
請求項１記載のシステムであって、更に、
広告でアプリケーション・プログラムをターゲッティングする手段と、
前記広告を配信したことに対して前記広告主に課金する金銭額を計算する手段と、
を含む、システム。
【請求項８】
プッシュ・サービスが、計算デバイスからアプリケーション実行データーを受信するステップであって、前記アプリケーション実行データーが、前記計算デバイスの実行環境を記述する、ステップと、
少なくとも１つのプロセッサーが、前記実行環境に対応するアプリケーション統計を生成するために、受信した前記アプリケーション実行データーを分析するステップであって、該アプリケーション統計が、前記計算デバイスにおいて同時に実行されている複数のアプリケーション・プログラムを記述する、ステップと、
少なくとも１つのプロセッサーが、広告主によって定められた少なくとも１つの広告キャンペーンにアクセスするステップと、
少なくとも１つのプロセッサーが、生成した前記アプリケーション統計およびアクセスした前記広告キャンペーンに少なくとも基づいて、前記計算デバイスにおいて同時に実行している前記複数のアプリケーション・プログラムから、広告を受信する少なくとも１つのアプリケーション・プログラムを特定するステップであって、前記プッシュ・サービスが、特定した前記アプリケーション・プログラムに、前記広告を提供する、ステップと、
を含む、方法。
【請求項９】
請求項８記載の方法であって、更に、生成した前記アプリケーション統計に基づいて、前記広告キャンペーンを選択するステップを含む、方法。
【請求項１０】
請求項８記載の方法であって、更に、
アクセスした前記広告キャンペーン、および
生成した前記統計、
のうちの１つ以上に基づいて、前記広告を選択するステップを含む、方法。
【請求項１１】
請求項８記載の方法であって、更に、特定した前記アプリケーションに基づいて、前記広告を提供したことに対する金銭的課金を計算するステップを含む、方法。
【請求項１２】
請求項８記載の方法であって、更に、生成した前記統計を広告システムに提供するステップを含み、前記広告システムが、生成した前記統計に基づいて、サンプル広告キャンペーンを作り、前記広告主が、カスタムの広告キャンペーンを定めるために前記サンプル広告キャンペーンを変更する、方法。
【請求項１３】
請求項８記載の方法であって、更に、複数の広告主から複数の広告キャンペーンを受信するステップを含む、方法。
【請求項１４】
請求項８記載の方法であって、更に、
前記計算デバイスの位置を判定するステップと、
判定した前記位置に基づいて、前記広告キャンペーンまたは前記広告を選択するステップと、
を含む、方法。
【請求項１５】
コンピューター実行可能コンポーネントを有する１つ以上のコンピューター読み取り可能媒体であって、前記コンピューター実行可能コンポーネントが、
少なくとも１つのプロセッサーによって実行されると、前記少なくとも１つのプロセッサーに、複数の計算デバイスからアプリケーション実行データーを受信させるプッシュ・サービス・コンポーネントであって、前記アプリケーション実行データーが、前記複数の計算デバイスの各々の実行環境を記述する、プッシュ・サービス・コンポーネントと、
少なくとも１つのプロセッサーによって実行されると、前記少なくとも１つのプロセッサーに、前記複数の計算デバイスのうちの１つの計算デバイスの位置を判定させる、位置検出コンポーネントと、
少なくとも１つのプロセッサーによって実行されると、前記少なくとも１つのプロセッサーに、前記プッシュ・サービス・コンポーネントが受信した前記アプリケーション実行データーに基づいて、前記実行環境に対応するアプリケーション統計を生成させるビジネス・インテリジェンス・コンポーネントであって、前記アプリケーション統計が、前記複数の計算デバイスのうちの１つの計算デバイスにおいて同時に実行される複数のアプリケーション・プログラムを記述する、ビジネス・インテリジェンス・コンポーネントと、
少なくとも１つのプロセッサーによって実行されると、前記少なくとも１つのプロセッサーに、前記ビジネス・インテリジェンス・コンポーネントによって生成された前記アプリケーション統計と、広告主によって定められた広告キャンペーンと、前記位置検出コンポーネントによって判定された前記複数の計算デバイスのうちの前記１つの計算デバイスの位置とに基づいて、前記複数の計算デバイスのうちの前記１つの計算デバイスにおいて同時に実行している前記複数のアプリケーション・プログラムから、広告を受信する少なくとも１つのアプリケーション・プログラムを特定させる、広告サービス・コンポーネントと、
を含み、
前記プッシュ・サービス・コンポーネントが、前記広告サービス・コンポーネントによって特定された前記アプリケーション・プログラムに、前記広告を配信し、前記広告サービス・コンポーネントが、特定された前記アプリケーション・プログラムとこれに関連する生成した前記アプリケーション統計とに基づいて、前記広告を特定した前記アプリケーション・プログラムに配信したことに対して前記広告主に課金する額を計算する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  既存の広告システムの中には、ウェブ・ページのエッジに沿ったバナーまたはフレームの中というように、ユーザ・デバイスのウェブ・ページにおいて表示するために広告を提供するものがある。広告はユーザ・デバイスにローカルにキャッシュされる。ウェブ・ページが表示されるときに、これらの広告のうち１つ以上がキャッシュから選択され、ウェブ・ページに含まれる。例えば、広告は総当たりで選択される。この広告システムは、広告の表示頻度に基づいて、選択された広告を表示することに対して、広告主に課金する。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]  移動体デバイスにおける既存の広告システムでは、広告システムからの広告を表示するために、移動体デバイスにおいて様々なアプリケーション・プログラムを実行することができる。これらのアプリケーション・プログラムは、非同期で広告システムにポールして広告を求めるので、バッテリ寿命が徐々に短くなり、移動体デバイスにおけるユーザ体験が劣化する。
【課題を解決するための手段】
【０００３】
[0003]  本開示の実施形態は、広告によるアプリケーション・プログラムのターゲッティング(targeting)を可能にする。プッシュ・サービスが、少なくとも1つの計算デバイスからアプリケーション実行データーを受信する。このアプリケーション実行データーは、当の計算デバイスの実行環境を記述する。受信されたアプリケーション実行データーは、分析され、この実行環境に対応するアプリケーション統計を生成する。広告主によって定められた少なくとも１つの広告キャンペーンにアクセスする。この計算デバイスにおける少なくとも１つのアプリケーション・プログラムが、少なくとも、生成されたアプリケーション統計およびアクセスした広告キャンペーンに基づいて、広告を受信するために特定される。プッシュ・サービスは、特定されたアプリケーション・プログラムに広告を提供する。
【０００４】
[0004]  この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを紹介するために、設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するときに補助として使用されることを意図するのでもない。
【図面の簡単な説明】
【０００５】
【図１】図１は、計算デバイスにおいて実行しているアプリケーション・プログラムを広告によってターゲッティングするシステムを示すブロック図例である。
【図２】図２は、アプリケーション・プログラムを広告によってターゲッティングする、コンピューター実行可能コンポーネントを示すブロック図例である。
【図３】図３は、移動体計算デバイスからビジネス・インテリジェンス・データーを収集し、この移動体計算デバイスに広告を送るプッシュ・サービスを示すブロック図例である。
【図４】図４は、選択されたアプリケーション・プログラムに広告を配信する動作を示すフロー・チャート例である。
【０００６】
[0009]  対応する参照符号は、図面を通じて、対応する部分を示すものとする。
【発明を実施するための形態】
【０００７】
[0010]  図を参照すると、本開示の実施形態は、少なくとも広告主１０８が、広告３２２によってアプリケーション・プログラム１１０をターゲッティングすることを可能にする。実施形態の中には、プッシュ・サービス３０２が複数の計算デバイス１０２からアプリケーション実行データー３１４を収集し、収集したデーターを分析し、広告主１０８からの広告キャンペーンのターゲットにするためにアプリケーション・プログラム１１０を選択し、この選択したアプリケーション・プログラム１１０に広告３２２を送るものがある。アプリケーション実行データー３１４は、アプリケーション・プログラムの活動を記述し、時間属性（例えば、１日の時刻、期間等）および地理的属性（例えば、場所）を関連付ける。更に他の実施形態では、広告主１０８は、選択されたアプリケーション・プログラム１１０に基づいて、広告３２２を配信したことに対して課金される。
【０００８】
[0011]  本開示の態様は、広告主１０８が、人気、活動、場所、ユーザ識別、ユーザ年齢層、１日の時刻、１週間の日、月、およびその他の因子に基づいて、アプリケーション・プログラム１１０を効果的にターゲッティングすることを可能にする。更に、プッシュ・サービス３０２を使用することによって（例えば、計算デバイス１０２の各々は、プッシュ・サービス３０２毎に１つのプッシュ・チャネルを有する）、計算デバイス１０２におけるバッテリ寿命が改善される。何故なら、アプリケーション・プログラム１１０は、ポーリングすることなく、そして能動的に広告３２２を要求することなく、広告３２２を受信するからである。また、追加の広告対応アプリケーション・プログラム１１０も計算デバイス１０２にインストールすることもでき、ユーザ体験を劣化させることも（例えば、永続的な接続を作り維持するために各アプリケーション・プログラム１１０にかかる負担が軽減される）、余分な帯域幅を消費することもない。
【０００９】
[0012]  再度図１を参照すると、ブロック図例が、計算デバイス１０２において実行するアプリケーション・プログラム１１０を広告３２２によってターゲッティングするシステム１０４を示す。計算デバイス１０２は、計算デバイス＃１から計算デバイス＃Ｎまでのような、計算および／またはデーター表示が可能な任意のデバイスを含む。実施形態の中には、計算デバイス１０２が、移動体電話機、ラップトップ、ネットブック、ゲーミング・デバイス、および／または携帯用メディア・プレーヤーのような、携帯用計算デバイスを含む場合もある。更に、計算デバイス１０２の各々が、クラウド計算環境におけるような、演算装置または他の計算デバイスのグループを表すこともできる。
【００１０】
[0013]  計算デバイス１０２は、アプリケーション＃１からアプリケーション＃Ｍまでのような、アプリケーション・プログラム１１０の１つ以上を実行する。アプリケーション・プログラム１１０は、計算デバイス１０２において動作を実行する命令を含む。これらの命令は、実行可能なオブジェクトおよび／またはテキストを含む任意のフォーマットであり、人間読み取り可能、装置読み取り可能、または双方であってもよい。実施形態の中には、アプリケーション・プログラム１１０がウェブ・ブラウザーを含む場合もある。
【００１１】
[0014]  システム１０４は、少なくとも１つのネットワーク１０６を介して、計算デバイス１０２と通信する。ネットワーク１０６の例には、有線および／またはワイヤレス・ネットワークが含まれ、ローカル・エリア・ネットワークまたはインターネットのようなグローバル・ネットワークを表すこともできる。ネットワーク１０６がワイヤレス・ネットワークを含む実施形態では、計算デバイス１０２は、BLUETOOTHブランドのワイヤレス通信サービス（安全確保されたまたはされていない）、無線周波識別（ＲＦＩＤ）、ピア・ツー・ピアＷｉ−Ｆｉのようなワイヤレス・フィデリティ（Ｗｉ−Ｆｉ）、ＺＩＧＢＥＥブランドのワイヤレス通信サービス、近傍磁界通信（ＮＦＣ）、および短距離または長距離ワイヤレス通信を可能にする他の技術というような、技術に対応することもできる。
【００１２】
[0015]  システム１０４は、広告主１０８の1つ以上と通信する。広告主１０８は、電子的に（例えば、コンピューターを介して）、または手作業で（例えば、広告主１０８の人間の代理人がシステム１０４またはそれを表すものと対話処理を行う）システム１０４と相互作用を行う。システム１０４は、広告主１０８からターゲットにしたアプリケーション・プログラム１１０への広告３２２の配信を可能にする。これについては、図２参照しながら次に説明する。
【００１３】
[0016]  次に図２を参照すると、ブロック図例が、広告３２２によってアプリケーション・プログラム１１０をターゲッティングする、コンピューター実行可能コンポーネントを示す。システム１０４は、少なくとも１つのプロセッサー２０２と、１つ以上のコンピューター読み取り可能媒体２０４とを有する。
【００１４】
[0017]  プロセッサー２０２は、任意の個数の演算装置を含み、本開示の態様を実現するコンピューター実行可能命令を実行するようにプログラミングされている。これらの命令は、プロセッサー２０２によって、またはシステム１０４内で実行する複数のプロセッサーによって実行することができ、あるいはシステム１０４外部のプロセッサーによって（例えば、クラウド・サービスによって）実行することができる。実施形態の中には、プロセッサー２０２が、図（例えば、図４）に示されるような命令を実行するようにプログラミングされる場合もある。
【００１５】
[0018]  コンピューター読み取り可能媒体２０４は、システム１０４にアクセス可能な任意の個数の媒体を含む。コンピューター読み取り可能媒体２０４は、システム１０４に対して内部にあっても（例えば、図２に示すように）、システム１０４に対して外部にあっても（図示せず）、または双方であっても（図示せず）よい。
【００１６】
[0019]  コンピューター読み取り可能媒体２０４は、本開示の態様を実現する１つ以上のコンピューター実行可能コンポーネントを含む。コンポーネントの例には、プッシュ・サービス・コンポーネント２０６、位置検出コンポーネント(locator component)２０８、ビジネス・インテリジェンス・コンポーネント２１０、および広告サービス・コンポーネント２１２が含まれる。プッシュ・サービス・コンポーネント２０６は、プロセッサー２０２によって実行されると、プロセッサー２０２に、計算デバイス１０２のうち少なくとも１つからアプリ-ション実行データー３１４を受信させる。アプリケーション実行データー３１４は、計算デバイス１０２の実行環境を記述する。アプリケーション実行データー３１４の例には、アプリケーション名、アプリケーション・タイプ、サービス名、アプリケーション・バージョン、およびアプリケーション販売業者が含まれる。アプリケーション実行データー３１４の追加の例には、計算デバイス１０２の地理的位置、計算デバイス１０２の識別、アプリケーション・プログラム１１０を実行するユーザの識別、デバイス・データー（例えば、オペレーティング・システムのバージョン、モデル、連番等）、およびアプリケーション・プログラム１１０の実行回数が含まれる。
【００１７】
[0020]  位置検出コンポーネント２０８は、プロセッサー２０２によって実行されると、プロセッサー２０２に計算デバイス１０２の少なくとも１つの位置を判定させる。実施形態の中には、ロケーター・コンポーネント２０８が特定の地理的エリア内にある複数の計算デバイス１０２の位置を判定する場合もある。位置検出コンポーネント２０８は、例えば、クラウドから得られたデーターおよび／または汎地球測位システムからのデーターに基づいて、計算デバイス１０２の位置を判定する。
【００１８】
[0021]  ビジネス・インテリジェンス・コンポーネント２１０は、プロセッサー２０２によって実行されると、プロセッサー２０２に、プッシュ・サービス・コンポーネント２０６によって受信されたアプリケーション実行データー３１４に基づいて、実行環境に対応するアプリケーション統計３１６を生成させる。例えば、ビジネス・インテリジェンス・コンポーネント２１０は、アプリケーション・プログラム１１０の実行頻度を判定する、および／またはアプリケーション・プログラムによって受信されたメッセージまたはアプリケーション・プログラム１１０に送られたメッセージの量を判定する。アプリケーション統計３１６の例には、アプリケーション・プログラム１１０の各々についての活動インデックスおよび／または人気インデックスを含むことができる。活動インデックスは、アプリケーション・プログラム１１０を実行する活動の尺度または指標を表す（例えば、受信した通知の量というようなメッセージ活動、処理活動、記憶活動等）。人気インデックスは、アプリケーション・プログラム１１０の実行頻度または回数の尺度または指標を表す。アプリケーション統計３１６の各々は、１日の時刻、１週の日、年の月、実行の場所、または他の規準と関連付けることもできる。他のアプリケーション統計３１６には、例えば、計算デバイス１０２の自宅領域、およびユーザ識別とデバイス識別との間のマッピングが含まれる。
【００１９】
[0022]  プッシュ・サービス・コンポーネント２０６がアプリケーション実行データー３１４を複数の計算デバイス１０２から受信する実施形態では、ビジネス・インテリジェンス・コンポーネント２１０が以下のうち１つ以上に基づいて、アプリケーション・プログラム１１０をグループ化する。ユーザの識別、計算デバイス１０２の場所、アプリケーション・プログラム１１０の活動、およびアプリケーション・プログラム１１０の人気。例えば、特定のユーザと関連のあるアプリケーション・プログラム１１０を一纏めにグループ化するか、互いに物理的に近接して位置する計算デバイス１０２において実行するアプリケーション・プログラム１１０を一纏めにグループ化するか、あるいは頻繁に実行される上位５つのアプリケーション・プログラム１１０を一纏めにグループ化する。
【００２０】
[0023]  実施形態の中には、ビジネス・インテリジェンス・コンポーネント２１０が、プッシュ・サービス・コンポーネント２０６がアプリケーション実行データー３１４を受信する毎に、アプリケーション統計３１６を生成する場合もある。他の実施形態では、ビジネス・インテリジェンス・コンポーネント２１０は、予め定められた時間間隔（例えば、バッチで）アプリケーション統計３１６を生成する。
【００２１】
[0024]  広告サービス・コンポーネント２１２は、プロセッサー２０２によって実行されると、プロセッサー２０２に、ビジネス・インテリジェンス・コンポーネント２１０によって生成されたアプリケーション統計３１６、広告主１０８によって定められた広告キャンペーン、および位置検出コンポーネント２０８によって判定された計算デバイス１０２の位置に基づいて、広告３２２の少なくとも１つを受信するために、計算デバイス１０２において利用可能なアプリケーション・プログラム１１０のうち少なくとも１つを特定させる。広告キャンペーンは、広告主１０８の広告３２２をある種のデバイス・タイプにおいて、またはある種のキーワードに基づいて公開するための仕様を表す。例えば、広告キャンペーンは、アプリケーション・タイプと、このアプリケーション・タイプで表示するための広告３２２のリストとを指定することができる。他の例では、計算デバイス１０２は、ユーザによって実行された最近のサーチのログを維持し、このログをハートビート・パケット(heartbeat packet)においてプッシュ・サービス３０２に送る。このように、ユーザが「車」をサーチし、車に関する広告キャンペーンがある場合、プッシュ・サービス３０２は車の広告でそれらのデバイスをターゲッティングすることができる。サーチ・キーワードは、ビジネス・インテリジェンス・コンポーネント２１０によるユーザ識別および／または人口層情報でグループ化することができる。
【００２２】
[0025]  広告キャンペーンの例は、広告主１０８によって定められおよび／または提供され、所望のターゲット・アプリケーション・プログラム１１０の１つ以上のプロファイルを含む。他の実施形態では、広告キャンペーンはシステム１０４によって生成される。システム１０４は、広告キャンペーンの仕様に基づいて、その広告キャンペーンに対して関連のあるターゲットであるアプリケーション・プログラム１１０のうち１つ以上を特定し、更に、特定したアプリケーション・プログラム１１０に配信するために、広告３２２から１つ以上を選択する。
【００２３】
[0026]  プッシュ・サービス・コンポーネント２０６は、広告サービス・コンポーネント２１２によって特定されたアプリケーション・プログラム１１０に広告３２２を配信する。プッシュ・サービス・コンポーネント２０６は、特定されたアプリケーション・プログラム１１０から承認（例えば、印象情報）を受信し、この印象情報でサービス・コンポーネント２１２（または広告主１０８または広告システム）を更新する。実施形態の中には、広告サービス・コンポーネント２１２が、特定されたアプリケーションに基づいて、そしておそらくは印象情報のような他の因子にも基づいて、広告３２２を配信することに対して広告主１０８に課金する額を計算する。あるいはまたは加えて、広告サービス・コンポーネント２１２は、計算および請求書発行(billing)をオフラインで実行する。また、広告サービス・コンポーネント３１２は、層状価格構造を提供することもできる。例えば、広告主には、最初の１００回の広告３２２配給に対しては第１の金額が課金され、次の１００回の広告３２２に対しては第２の金額が課金される。
【００２４】
[0027]  実施形態の中には、システム１０４の機能が、次に説明する図３の例のような種々のエレメント間で分割される場合もある。
[0028]  次に図３を参照すると、ブロック図例が、少なくとも１つの移動体計算デバイス３０４からビジネス・インテリジェンス・データー３１２を収集し、広告３２２を移動体計算デバイス３０４に送るプッシュ・サービス３０２を示す。図３の例示および説明は、プッシュ・サービス３０２と移動体計算デバイス３０４との間における通信に言及するが、プッシュ・サービス３０２は、他の計算デバイスとも通信することができる。更に、実施形態の中には、システム１０４が以下のうち１つ以上を含む場合もある。プッシュ・サービス３０２、位置検出サービス３１８、広告サービス３２０、およびメモリー・エリア３１０。
【００２５】
[0029]  プッシュ・サービス３０２は、プッシュ・サービス３０２と、１つ以上の移動体計算デバイス３０４において実行する少なくとも１つの移動体アプリケーション・プログラム３０６との間にある永続的接続を介してプッシュ・チャネルを使用する。プッシュ・サービス３０２の例には、インターネット・プロトコル（ＩＰ）、ハイパーテキスト・トランスファ・プロトコル（ＨＴＴＰ）、ショート・メッセージ・システム（ＳＭＳ）、および８０２．１１規格ファミリーを使用して送られるメッセージというような、メッセージ・プッシュ技術が含まれる。更に、プッシュ・サービス３０２は、近接度に基づく手段に加えてまたはその代わりに、近接度に基づかない手段を介して、移動体計算デバイス３０４と通信する。
【００２６】
[0030]  実施形態の中には、プッシュ・チャネルと各移動体アプリケーション・プログラム３０６との間に、１対１のマッピングがある場合もある。ウェブ・サービスのようなサービスは、プッシュ・チャネルを使用して、そのサービスに対応する相手方の移動体アプリケーション・プログラム３０６に通知を送る。このような実施形態では、移動体計算デバイス３０４におけるプッシュ・サービス・クライアント・スタック（図示せず）が、プッシュ・サービス３０２との永続的接続を作る。例えば、永続的接続を作るために、プッシュ・サービス・クライアント・スタックは、以下のデーター項目のうち１つ以上をプッシュ・サービス３０２に送る。国コード、操作者コード、ロケール(locale)、デバイス識別子、デバイス・モデル、製造業者、およびオペレーティング・システムのバージョン。
【００２７】
[0031]  移動体計算デバイス３０４において実行する移動体アプリケーション・プログラム３０６の各々は、プッシュ・サービス・クライアント・スタックを使用して、永続的接続を介したプッシュ・チャネルを作る。例えば、プッシュ・チャネルを作るために、プッシュ・サービス・クライアント・スタックは、アプリケーション名、アプリケーション・タイプ、サービス名、アプリケーション・バージョン、アプリケーション販売業者、および／または他のアプリケーション実行データー３１４をプッシュ・サービス３０２に送る。
【００２８】
[0032]  プッシュ・チャネルが作られると、移動体アプリケーション・プログラム３０６は、このプッシュ・チャネルと関連付けられたトークンを受信する。移動体アプリケーション・プログラム３０６は、このトークンを、移動体計算デバイス３０４から離れて実行するサービスに受け渡す。例えば、このトークンは、プッシュ・サービス３０２エンドポイント情報およびプッシュ・チャネル情報を有するユニフォーム・リソース識別子（ＵＲＩ）とすることができる。プッシュ・チャネル情報は、平文であっても暗号化されていてもよい。このサービスは、プッシュ・チャネル情報をＵＲＩから抜き取り、通知を移動体アプリケーション・プログラム３０６に送る。例えば、プッシュ・サービス３０２は、サービスから通知を受信し、この通知を、プッシュ・チャネルを介して、移動体計算デバイス３０４に転送する(forward)。プッシュ・サービス・クライアント・スタックは、この通知を受信し、受信した通知を、意図する移動体アプリケーション・プログラム３０６に転送する。プッシュ・サービス・クライアント・スタックは、通知を受信したときに、承認をプッシュ・サービス３０２に送る。
【００２９】
[0033]  プッシュ・サービス３０２は、メモリー・エリア３１０と通信する。メモリー・エリア３１０は、データーの中でもとりわけ、ビジネス・インテリジェンス・データー３１２を格納する。例えば、ビジネス・インテリジェンス・データー３１２は、計算デバイス１０２（例えば、移動体計算デバイス３０４を含む）から受信したアプリケーション実行データー３１４およびアプリケーション統計３１６を含む。プッシュ・サービス３０２は、実行環境に対応するアプリケーション統計３１６を生成する。実施形態の中には、アプリケーション統計３１６が、メモリー・エリア３１０に格納されているアプリケーション実行データー３１４に基づく場合もある。実施形態の中には、広告サービス３２０のような他の動作エレメントが、メモリー・エリア３１０におけるアプリケーション実行データー３１４にアクセスして、アプリケーション統計３１６を生成する場合もある。
【００３０】
[0034]  メモリー・エリア３１０は、更に、１つ以上の広告３２２および広告キャンペーン情報３２４も格納する。広告３２２および広告キャンページ情報３２４は、広告主１０８のうち１つ以上によって定められ、および／または提供される。例えば、広告主１０８は、広告３２２のコピー（例えば、オーディオ、ビデオ、静止画像、テキスト等）を提供する。広告サービス３２０は、広告キャンペーン情報３２４にアクセスする。実施形態の中には、広告システムが、アプリケーション統計３１６に基づいて、サンプルまたはテンプレート広告キャンペーンを定める場合もある。広告キャンペーンおよびテンプレートの例には、以下が含まれる。非常に人気のある移動体アプリケーション・プログラム３０６で広告３２２を表示する。非常にアクティブな移動体アプリケーション・プログラム３０６で広告３２２を表示する。特定のタイプの移動体アプリケーション・プログラム３０６で広告３２２を表示する。所望の人口層のユーザ３０８が実行する移動体アプリケーション・プログラム３０６で広告３２２を表示する。所望の場所または地理的領域において実行する移動体アプリケーション・プログラム３０６で広告３２２を表示する。または以上の任意の組み合わせ。広告主１０８は、次に、これらのテンプレート広告キャンペーンから１つを選択し、選択した広告キャンペーンを修正し、および／またはカスタム広告キャンペーンを定めることができる。
【００３１】
[0035]  広告サービス３２０は、移動体アプリケーション・プログラム３０６のうち少なくとも１つを、広告３２２の少なくとも１つに対するターゲットとして特定する。ターゲットにされた移動体アプリケーション・プログラム３０６は、アプリケーション統計３１６および／または広告キャンペーン情報３２４に基づいて特定される。プッシュ・サービス３０２は、特定された移動体アプリケーション・プログラム３０６に、広告３２２を配信する。例えば、広告３２２は、実行中に移動体アプリケーション・プログラム３０６のコンテキスト内部において広告３２２を表示する命令と共に、移動体計算デバイス３０４に送られる。広告３２２が移動体計算デバイス３０４にローカルなキャッシュにおいて入手可能な例では、移動体計算デバイス３０４は、特定された移動体アプリケーション・プログラム３０６に、キャッシュからの広告３２２を表示する。広告３２２がローカルに入手可能でない場合、広告３２２は広告システムから引き出される。
【００３２】
[0036]  広告システム、または他のエレメントは、移動体アプリケーション・プログラム３０６に提供された広告３２２と関連のある広告主１０８に課金する額を計算する。課金額は、例えば、以下のうち１つ以上に基づく。移動体アプリケーション・プログラム３０６の人気、移動体アプリケーション・プログラム３０６のタイプ、移動体アプリケーション・プログラム３０６の実行頻度、ターゲッティング・データー（例えば、アプリケーション実行データー３１４）の入手可能性、および移動体アプリケーション・プログラム３０６の実行場所。
【００３３】
[0037]  実施形態の中には、プッシュ・サービス３０２が位置情報を移動体計算デバイス３０４から受信する場合もある。この位置情報は、永続的接続を維持するために、プッシュ・サービス・クライアント・スタックから「ハートビート」メッセージとして送ることができる。位置情報は、移動体計算デバイス３０４の位置を記述し、例えば、汎地球測位システムからの緯度／経度座標、街路住所情報、陸標情報、約束場所情報（例えば、ユーザ３０８のカレンダーから）、および／または近隣のネットワーク・ビーコンの識別および信号強度（例えば、Ｗｉ−Ｆｉビーコン・マップまたはセル・タワー・マップ）が含まれる。受信した位置情報に基づいて、位置検出サービス３１８は移動体計算デバイス３０４の位置を判定および／または確認する。このような実施形態では、広告３２２は、移動体計算デバイス３０４の判定された位置または確認された位置に部分的に基づいて選択される。例えば、移動体計算デバイス３０４が競技場内にあると判定された場合、飲み物の広告を選択することができる。
【００３４】
[0038]  一般に、メモリー・エリア３１０は、プッシュ・サービス３０２と関連付けられている。しかしながら、メモリー・エリア３１０は、プッシュ・サービス３０２、広告サービス３２０、および広告主１０８にアクセス可能な任意のメモリー・エリアを含む。更に、メモリー・エリア３１０またはそこに格納されているデーターのうち任意のものを、プッシュ・サービス３０２からローカルまたはリモートの（例えば、ネットワークを介してアクセス可能な）任意のサーバまたは他のコンピューターと関連付けることができる。
【００３５】
[0039]  図３における種々のエレメントの機能のうち少なくとも一部は、図３における他のエレメント、または図３には示されていないエンティティ（例えば、プロセッサー、ウェブ・サービス、サーバ、アプリケーション・プログラム、計算デバイス等）によって実行される。
【００３６】
[0040]  次に図４を参照すると、フロー・チャートの一例が、選択されたアプリケーション・プログラム１１０に広告３２２を配信する動作を示す。プッシュ・サービス３０２は、アプリケーション実行データー３１４を受信する。４０２において、このアプリケーション実行データー３１４に基づいて、アプリケーション統計３１６が生成される。４０４において、広告キャンペーンにアクセスする。アプリケーション実行データー３１４およびアプリケーション統計３１６は、サポートする広告キャンペーン、送る広告３２２、および広告３２２を受信するアプリケーション・プログラム１１０の選択またはフィルタリングに影響を及ぼす。実施形態の中には、アプリケーション実行データー３１４および／またはアプリケーション統計３１６が、計算デバイス１０２についての位置情報を含む場合もある。４０６において、アプリケーション・プログラム１１０のうち少なくとも１つが、広告３２２のうち少なくとも１つ受信するために、特定される。プッシュ・サービス３０２は、４０８において、広告３２２を、ターゲット・アプリケーション・プログラム１１０（例えば、1つ以上のアプリケーション・プログラム）に配信するか、それ以外で提供する。
【００３７】
[0041]  実施形態の中には、プッシュ・サービス３０２が、広告３２２についてのテキスト・メタデーターをプッシュする場合もある。アプリケーション・プログラム１１０は、テキスト・メタデーターの通知を受信し、広告プロキシー・エージェント（図示せず）に、広告３２２を引き出すために問い合わせる。広告プロキシー・エージェントは、このテキスト・メタデーターに関する広告３２２をローカル・キャッシュからサーブするが、ない場合には、この広告３２２を広告サービス３２０から引き出す。広告プロキシー・エージェントは、ターゲットのアプリケーション・プログラム１１０毎に、または複数のターゲットのアプリケーション・プログラム１１０に対して、広告３２２を引き出すことができる。このような実施形態では、テキスト・メタデーターを有する通知はサイズが小さく、プッシュ・サービス３０２は、同じ計算デバイスにある複数のアプリケーション・プログラム１１０を同じ広告３２２でターゲッティングすることができ、一方帯域幅およびバッテリ寿命を保存することができる。
【００３８】
[0042]  ４１０において、広告システムは、広告３２２を提供したことに対して広告主１０８に課金する額（例えば、金銭的）を計算する。この額は、例えば、広告３２２を受信するように指定されたアプリケーション・プログラム１１０に基づいて計算される。例えば、この額は、人気のあるアプリケーション・プログラム１１０に対しては高く、一方実行する頻度が少ないアプリケーション・プログラム１１０では低い。実施形態の中には、実際の金額計算がオフラインで実行される場合もある。更に、広告３２２を予約する間に、広告主１０８には価格決定指針を提案することもできる。
【００３９】
[0043]  図４に示した動作は、コンピューター読み取り可能媒体にエンコードされたソフトウェア命令として、またはこれらの動作を実行するようにプログラミングまたは設計されたハードウェアで、またはその双方で実現することができる。
【００４０】
[0044]  実施形態の中には、図４に示した動作がシステム１０４によって実行される場合もある。他の実施形態では、図４に示した動作のうち１つ以上が他の計算デバイス（例えば、ウェブ・サービスのような）によって実行される場合もある。
動作環境例
[0045]  コンピューター読み取り可能媒体の例には、フラッシュ・メモリー・ドライブ、ディジタル・バーサタイル・ディスク（ＤＶＤ）、コンパクト・ディスク（ＣＤ）、フロッピー・ディスク、およびテープ・カセットが含まれる。限定ではない一例として、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含む。コンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報を格納する。通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、あるいは搬送波または他の伝達メカニズムというような、変調データー信号における他のデーターを具体化し、任意の情報配信媒体を含む。以上のうち任意のものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれる。
【００４１】
[0046]  計算システム環境の一例と関連付けて説明したが、本発明の実施形態は複数の他の汎用または特殊目的計算システム環境あるいは構成でも動作する。本発明の態様と共に使用するのに適していると考えられる周知の計算システム、環境、および／または構成の例には、移動体計算デバイス、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサー・システム、ゲーミング・コンソール、マイクロプロセッサー・ベースのシステム、セット・トップ・ボックス、プログラマブル消費者電子機器、移動体電話機、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、以上のシステムまたはデバイスのうち任意のものを含む分散型計算環境等が含まれるが、これらに限定されるのではない。
【００４２】
[0047]  本発明の実施形態は、１つ以上のコンピューターまたは他のデバイスによって実行される、プログラム・モジュールのような、コンピューター実行可能命令という一般的なコンテキストで説明することができる。コンピューター実行可能命令は、１つ以上のコンピューター実行可能コンポーネントまたはモジュールに編成することができる。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、および特定のタスクを実行するかまたは特定の抽象データー・タイプを実装するデーター構造を含む。本発明の態様は、任意の数のこのようなコンポーネントまたはモジュールによって、任意の編成で実現することができる。例えば、本発明の態様は、図に示し本明細書において説明した特定のコンピューター実行可能命令にも、特定のコンポーネントまたはモジュールにも限定されない。本発明の他の実施形態では、本明細書において図示し説明した機能よりも多いまたは少ない機能を有する、異なるコンピューター実行可能命令またはコンポーネントを含むこともできる。
【００４３】
[0048]  本発明の態様は、本明細書において説明した命令を実行するように構成されたときに、汎用コンピューターを特殊目的計算デバイスに変換する。
[0049]  本明細書において図示し説明した実施形態、および本明細書において具体的に記載しなかったが本発明の態様の範囲に入る実施形態は、広告３２２でアプリケーション・プログラム１１０をターゲッティングするための手段、および広告３２２を配信したことに対して広告主１０８に課金する金銭的額を計算するための手段の一例を構成する。
【００４４】
[0050]  本発明において図示し説明した本発明の実施形態における動作の実行または遂行順序は、特に指定されていない限り、必須ではない。即ち、特に指定されていない限り、これらの動作は任意の順序で行うことができ、本発明の実施形態は、本明細書に開示した動作よりも多い動作でも少ない動作でも含むことができる。例えば、特定の動作を他の動作よりも前に、同時に、または後に実行または遂行することは、本発明の態様の範囲内のことである。
【００４５】
[0051]  本発明またはその実施形態の態様のエレメントを紹介するとき、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、および「ｓａｉｄ」は、そのエレメントが１つ以上あることを意味することを意図している。「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、および「ｈａｖｉｎｇ」という用語は、包含的であることを意図しており、列挙されているエレメント以外に追加のエレメントがあってもよいことを意味する。
【００４６】
[0052]  以上、本発明の態様について詳細に説明したが、添付した請求項において定められる本発明の態様の範囲から逸脱することなく、変更や変形が可能であることは明白であろう。以上の構造、生産物、方法には、本発明の態様の範囲から逸脱することなく種々の変化を行うことができるので、本説明に含まれ添付図面に示された全ての要素は、例示的であり限定的な意味で解釈しないことを意図している。
【図１】
0005612122.tif 000002
【図２】
0005612122.tif 000003
【図３】
0005612122.tif 000004
【図４】
0005612122.tif 000005