(57)【要約】  いくつかの開示された主題の中で、モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法は、モバイル装置のためのアプリケーションを開発するためにソフトウェア開発キットを開発者に提供するステップを含む。ソフトウェア開発キットは、アプリケーション内に挿入されるべき、およびアプリケーションのためのコンテンツを要求するように構成されたオブジェクトを含む。本方法は、モバイル装置上のアプリケーションに配信されるべきコンテンツを選択する際に使用するためのアプリケーションに関するコンテキストパラメータを識別するステップを含む。本方法は、コンテンツをモバイル装置に転送するステップであって、そのコンテンツがコンテキストパラメータを使用して選択され、モバイル装置のユーザに提示されるように構成されたステップを含む。
2011530742.tif 000002
【特許請求の範囲】
【請求項１】
モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法であって、
モバイル装置のためのアプリケーションを開発するためのソフトウェア開発キットを開発者に提供するステップであって、前記ソフトウェア開発キットが、前記アプリケーション内に挿入されて、前記アプリケーションのためのコンテンツを要求するように構成されるべきオブジェクトを備えるステップと、
前記モバイル装置上の前記アプリケーションに配信されるべきコンテンツを選択する際に使用するための前記アプリケーションに関するコンテキストパラメータを識別するステップと、
前記コンテンツを前記モバイル装置に転送するステップであって、前記コンテンツが、前記コンテキストパラメータを使用して選択され、前記モバイル装置のユーザに提示されるように構成されたステップとを備える方法。
【請求項２】
前記コンテンツを要求する際に前記オブジェクトによって使用されるように構成されたアプリケーションプログラムインターフェースを提供するステップであって、前記オブジェクトが、前記開発者によるカスタマイゼーションに基づいてコンテンツ要求を構築し、前記コンテンツを受信して、前記コンテンツを前記モバイル装置上に提示するために備えるように構成されているステップをさらに備える、請求項1に記載のコンピュータ実施の方法。
【請求項３】
前記コンテキストパラメータを識別するステップが、
前記開発者から前記アプリケーションを受信するステップと、
前記アプリケーションのコンテンツから前記コンテキストパラメータを抽出するステップとを備える、請求項1に記載のコンピュータ実施の方法。
【請求項４】
後に前記開発者から前記アプリケーションの新しいバージョンを受信するステップと、
前記アプリケーションの前記新しいバージョンを使用して前記コンテキストパラメータを修正するステップとをさらに備える、請求項3に記載のコンピュータ実施の方法。
【請求項５】
前記コンテキストパラメータを識別するステップが、
前記開発者から前記コンテキストパラメータを受信するステップと、前記オブジェクトに関連して前記コンテンツパラメータを記録するステップとを備える、請求項1に記載のコンピュータ実施の方法。
【請求項６】
前記コンテンツを転送するステップが、
複数のページのうちのどのページが前記アプリケーション内で現在アクティブかを決定するステップと、
前記ページに少なくとも部分的に基づいて前記コンテンツを選択するステップとを備える、請求項1に記載のコンピュータ実施の方法。
【請求項７】
前記アプリケーション内でどのページが現在アクティブかを決定するステップが、
前記オブジェクトによって転送された識別子を受信するステップであって、前記識別子が前記ページを示すステップを備える、請求項6に記載のコンピュータ実施の方法。
【請求項８】
前記識別子が、前記アプリケーションの実行時にアップデートされた広域変数を使用して前記アプリケーション内で取得される、請求項7に記載のコンピュータ実施の方法。
【請求項９】
前記コンテンツを転送するステップが、
前記コンテンツをプリフェッチするステップと、
前記コンテンツを前記モバイル装置に転送するステップであって、前記後に提示するためにコンテンツが前記モバイル装置に格納されるように構成されているステップと、
前記コンテンツが提示されたという確認を前記モバイル装置から受信するステップとを備える、請求項1に記載のコンピュータ実施の方法。
【請求項１０】
開発者にとって利用可能であって、(1)前記開発者がモバイル装置のために構成されたアプリケーションを作成するためのプログラム開発プラットフォームと、(2)コンテキストパラメータに基づいて前記アプリケーションのためのコンテンツを求める要求を生成するために、および前記コンテンツを前記モバイル装置のユーザに提示するために、前記開発者によって前記アプリケーション内に挿入されるように構成されたオブジェクトとを含む第1システムと、
前記第1システムから前記要求を受信して、前記コンテキストパラメータに基づいて前記コンテンツを選択して、前記コンテンツを前記モバイル装置に転送するように構成された第2システムとを備える、システム。
【請求項１１】
前記第1システムが、
コンテンツ配信を提供するためのソフトウェア開発キットであって、少なくとも前記プログラム開発プラットフォームおよび前記オブジェクトを備えるソフトウェア開発キットをさらに備える、請求項10に記載のシステム。
【請求項１２】
前記第1システムが、
前記コンテンツを要求する際に前記オブジェクトによって使用されるように構成されたアプリケーションプログラムインターフェースであって、前記オブジェクトが、前記開発者によるカスタマイゼーションに基づいてコンテンツ要求を構築し、前記コンテンツを受信して、前記コンテンツを前記モバイル装置上で提示するために備えるように構成されたアプリケーションプログラムインターフェースをさらに備える、請求項10に記載のシステム。
【請求項１３】
前記第1システムが、前記アプリケーションのコンテンツから前記コンテキストパラメータを抽出するために、前記アプリケーションを前記第2システムに転送するようにさらに構成された、請求項10に記載のシステム。
【請求項１４】
前記第1システムが、前記アプリケーションの新しいバージョンを使用して前記コンテキストパラメータを修正するために、後に前記アプリケーションの前記新しいバージョンを前記第2システムに転送するようにさらに構成された、請求項13に記載のシステム。
【請求項１５】
前記第1システムが、前記オブジェクトに関連して前記コンテンツパラメータを記録するために、前記第2システムに前記コンテキストパラメータを転送するようにさらに構成された、請求項11に記載のシステム。
【請求項１６】
前記オブジェクトが、複数のページのうちのどのページが前記アプリケーション内で現在アクティブかを決定して、前記ページの識別子を前記第2システムに転送するように構成され、前記第2システムが前記ページに少なくとも部分的に基づいて前記コンテンツを選択する、請求項10に記載のシステム。
【請求項１７】
前記オブジェクトが、前記アプリケーションの実行時にアップデートされた広域変数を使用して、前記アプリケーション内の前記識別子を取得するように構成された、請求項16に記載のシステム。
【請求項１８】
コンテンツがプリフェッチされて後に提示するために前記モバイル装置に格納され、前記オブジェクトが、前記コンテンツが提示されたという前記モバイル装置からの確認を転送するように構成された、請求項16に記載のシステム。
【請求項１９】
前記オブジェクトが、前記ユーザと前記モバイル装置上の前記コンテンツとの対話をトラックするように構成された、請求項10に記載のシステム。
【請求項２０】
モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法であって、
ソフトウェア開発キットを使用してモバイル装置のためのアプリケーションを生成するステップと、
あらかじめ構成されたオブジェクトを、コンパイレーション前に前記アプリケーションに追加するステップであって、前記オブジェクトが、前記ソフトウェア開発キットから取得され、前記アプリケーションのためのコンテンツを要求するように構成されたステップと、
前記アプリケーションに関連付けられるコンテキストパラメータをコンテンツディストリビュータに提供するステップであって、前記コンテキストパラメータが、前記モバイル装置に転送するための前記コンテンツを選択する際に前記コンテンツディストリビュータによって使用されるように構成されたステップとを備える方法。
【請求項２１】
前記コンテキストパラメータを提供するステップが、
前記アプリケーションを前記コンテンツディストリビュータに転送するステップを備える、請求項20に記載の方法。
【請求項２２】
モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法であって、
ソフトウェア開発キットを使用してモバイル装置のためのアプリケーションを生成するステップであって、前記アプリケーションが、前記アプリケーションのためのコンテンツを要求するように構成されたあらかじめ構成されたオブジェクトを含むステップと、
前記モバイル装置に前記アプリケーションを提供するステップであって、前記オブジェクトが、前記モバイル装置を使用する間、コンテンツプロバイダに前記コンテンツを要求し、前記コンテンツディストリビュータが前記コンテンツを選択する際にコンテキストパラメータを使用するステップと、
ユーザと前記モバイル装置上の前記コンテンツとの対話をトラックすることによって取得した情報を、前記モバイル装置から受信するステップとを含む方法。
【請求項２３】
モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法であって、
モバイル装置アプリケーション内に挿入されるべき、および前記アプリケーションのためのコンテンツを要求するように構成されたオブジェクトを提供するステップと、
前記アプリケーションに関するコンテキストパラメータを識別するステップと、
前記コンテキストパラメータを使用して前記モバイル装置上の前記アプリケーションに配信されるべきコンテンツを選択するステップと、
提示されるべき前記コンテンツを前記モバイル装置のユーザに転送するステップとを備える方法。
【請求項２４】
前記モバイル装置に遠隔に接続されているサーバ装置で前記コンテンツが選択され、前記サーバ装置が前記コンテンツを求める要求を受信して、前記コンテンツが前記サーバ装置から前記モバイル装置に転送される、請求項23に記載の方法。
【請求項２５】
コンテキストパラメータに基づいてコンテンツを識別するように構成されたサーバ装置と、
開発者にとって利用可能な開発者システムであって、前記開発者がアプリケーションを作成するためのプログラム開発プラットフォームと、前記開発者が前記アプリケーションプログラム内に含むためのオブジェクトとを含む開発者システムと、
前記開発者システムで作成された前記アプリケーションを実行し、前記オブジェクトを使用して前記サーバ装置に前記コンテンツを要求し、前記コンテンツをユーザに提示するためのモバイル装置とを備える、システム。
【請求項２６】
前記開発者システムが前記アプリケーションを作成する際に使用されるソフトウェア開発キットを含み、前記ソフトウェア開発キットが、前記オブジェクトを含み、前記プログラム開発プラットフォームに準拠する、請求項25に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、情報処理に関する。
【０００２】
（関連出願の相互参照）
本出願は、2008年8月7日に出願された米国出願第12/187,992号「CONTENT DISTRIBUTION FOR MOBILE DEVICE」の優先権を主張し、その開示内容を参照により本明細書に組み込む。
【背景技術】
【０００３】
オンラインメディアにおける広告と従来の印刷ベースの広告には、いくつかの類似点がある。たとえば、一般的に広告主は、宣伝されている商品またはサービスにほとんどまたはまったく関心がない人ではなく、多くの見込み客に広告が到達する場合にその広告に投資したいので、通常は広告のターゲットを対象の、または期待される視聴者に定めることが望ましい。印刷メディアでは、このターゲッティングは、読者が誰であるかについての一般的知識に基づいてもよく、または読者の関心をより正確に決定するために、読者に市場調査が行われてもよい。
【０００４】
オンライン環境においても、ユーザは同様に特定の関心および無関心を有するので、発行人は時々ページ上に表示される広告を特定の閲覧者にできるだけ適合させようとする。しかし、閲覧者が誰かを理解するために必要な情報の多くは知ることができないか、あるいは容易に入手できず、したがって広告ターゲッティングは関連情報に殆ど又は全く基づかない場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、モバイル装置へのコンテンツ配信に関する。
【課題を解決するための手段】
【０００６】
第1の態様では、モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法が、モバイル装置のためのアプリケーションを開発するためのソフトウェア開発キットを開発者に提供するステップを含む。ソフトウェア開発キットは、アプリケーション内に挿入されて、アプリケーションのためのコンテンツを要求するように構成されるべきオブジェクトを含む。この方法は、モバイル装置上のアプリケーションに配信されるべきコンテンツを選択する際に使用するためのアプリケーションに関するコンテキストパラメータを識別するステップを含む。この方法は、コンテンツをモバイル装置に転送するステップであって、そのコンテンツがコンテキストパラメータを使用して選択され、モバイル装置のユーザに提示されるように構成されたステップを含む。
【０００７】
実装形態は、以下の特徴のうちのいくつか、またはすべてを含んでもよく、まったく含まなくてもよい。この方法は、コンテンツを要求する際にオブジェクトによって使用されるように構成されたアプリケーションプログラムインターフェースを提供するステップであって、オブジェクトが、開発者によるカスタマイゼーションに基づいてコンテンツ要求を構築し、コンテンツを受信して、そのコンテンツをモバイル装置上に提示するために備えるように構成されているステップをさらに含む。コンテキストパラメータを識別するステップは、開発者からアプリケーションを受信するステップと、アプリケーションのコンテンツからコンテキストパラメータを抽出するステップとを含むことができる。この方法は、後に開発者からアプリケーションの新しいバージョンを受信するステップと、アプリケーションの新しいバージョンを使用してコンテキストパラメータを修正するステップとをさらに含むことができる。コンテキストパラメータを識別するステップは、開発者からコンテキストパラメータを受信するステップと、オブジェクトに関連してコンテンツパラメータを記録するステップとを含むことができる。コンテンツを転送するステップは、複数のページのうちのどのページがアプリケーション内で現在アクティブかを決定するステップと、そのページに少なくとも部分的に基づいてコンテンツを選択するステップとを含むことができる。どのページがアプリケーション内で現在アクティブかを決定するステップは、オブジェクトによって転送された識別子を受信するステップであって、識別子がページを示すステップを含むことができる。識別子は、アプリケーションの実行時にアップデートされた広域変数を使用してアプリケーション内で取得できる。コンテンツを転送するステップは、コンテンツをプリフェッチするステップと、コンテンツをモバイル装置に転送するステップであって、後に提示するためにコンテンツがモバイル装置に格納されるように構成されているステップと、コンテンツが提示されたという確認をモバイル装置から受信するステップとを含むことができる。
【０００８】
第2の態様では、あるシステムが、開発者にとって利用可能であって、(1)開発者がモバイル装置のために構成されたアプリケーションを作成するためのプログラム開発プラットフォームと、(2)コンテキストパラメータに基づいてアプリケーションのためのコンテンツを求める要求を生成するために、およびそのコンテンツをモバイル装置のユーザに提示するために、開発者によってアプリケーション内に挿入されるように構成されたオブジェクトとを含む、第1システムを含む。このシステムは、第1システムから要求を受信して、コンテキストパラメータに基づいてコンテンツを選択して、そのコンテンツをモバイル装置に転送するように構成された、第2システムを含む。
【０００９】
実装形態は、以下の特徴のうちのいくつか、またはすべてを含んでもよく、まったく含まなくてもよい。第1システムは、コンテンツ配信を提供するためのソフトウェア開発キットであって、少なくともプログラム開発プラットフォームおよびオブジェクトを備えるソフトウェア開発キットをさらに含むことができる。第1システムは、コンテンツを要求する際にオブジェクトによって使用されるように構成されたアプリケーションプログラムインターフェースであって、オブジェクトが、開発者によるカスタマイゼーションに基づいてコンテンツ要求を構築し、コンテンツを受信して、そのコンテンツをモバイル装置上で提示するために備えるように構成されたアプリケーションプログラムインターフェースをさらに含むことができる。第1システムは、アプリケーションのコンテンツからコンテキストパラメータを抽出するために、アプリケーションを第2システムに転送するようにさらに構成できる。第1システムは、アプリケーションの新しいバージョンを使用してコンテキストパラメータを修正するために、後にアプリケーションの新しいバージョンを第2システムに転送するようにさらに構成できる。第1システムは、オブジェクトに関連してコンテンツパラメータを記録するために、第2システムにコンテキストパラメータを転送するようにさらに構成できる。オブジェクトは、複数のページのうちのどのページがアプリケーション内で現在アクティブかを決定して、そのページの識別子を第2システムに転送するように構成することができ、第2システムはそのページに少なくとも部分的に基づいてコンテンツを選択できる。オブジェクトは、アプリケーションの実行時にアップデートされた広域変数を使用して、アプリケーション内の識別子を取得するように構成できる。コンテンツはプリフェッチされて後に提示するためにモバイル装置に格納されてよく、オブジェクトはコンテンツが提示されたというモバイル装置からの確認を転送するように構成できる。オブジェクトは、ユーザとモバイル装置上のコンテンツとの対話をトラックするように構成できる。
【００１０】
第3の態様では、モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法が、ソフトウェア開発キットを使用してモバイル装置のためのアプリケーションを生成するステップを含む。この方法は、あらかじめ構成されたオブジェクトを、コンパイレーション前にアプリケーションに追加するステップであって、オブジェクトが、ソフトウェア開発キットから取得され、アプリケーションのためのコンテンツを要求するように構成されたステップを含む。この方法は、アプリケーションに関連付けられるコンテキストパラメータをコンテンツディストリビュータに提供するステップであって、コンテキストパラメータが、モバイル装置に転送するためのコンテンツを選択する際にコンテンツディストリビュータによって使用されるように構成されたステップを含む。
【００１１】
実装形態は、以下の特徴のうちのいくつか、またはすべてを含んでもよく、まったく含まなくてもよい。コンテキストパラメータを提供するステップは、アプリケーションをコンテンツディストリビュータに転送するステップを含むことができる。
【００１２】
第4の態様では、モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法が、ソフトウェア開発キットを使用してモバイル装置のためのアプリケーションを生成するステップであって、アプリケーションが、アプリケーションのためのコンテンツを要求するように構成されたあらかじめ構成されたオブジェクトを含むステップを含む。この方法は、モバイル装置にアプリケーションを提供するステップであって、オブジェクトが、モバイル装置を使用する間、コンテンツプロバイダにコンテンツを要求し、コンテンツディストリビュータがコンテンツを選択する際にコンテキストパラメータを使用するステップを含む。この方法は、ユーザとモバイル装置上のコンテンツとの対話をトラックすることによって取得した情報を、モバイル装置から受信するステップを含む。
【００１３】
第5の態様では、モバイル装置にコンテンツ配信を提供するためのコンピュータ実施の方法が、モバイル装置アプリケーション内に挿入されるべき、およびアプリケーションのためのコンテンツを要求するように構成されたオブジェクトを提供するステップを含む。この方法は、アプリケーションに関するコンテキストパラメータを識別するステップを含む。この方法は、コンテキストパラメータを使用してモバイル装置上のアプリケーションに配信されるべきコンテンツを選択するステップを含む。この方法は、提示されるべきコンテンツをモバイル装置のユーザに転送するステップを含む。
【００１４】
実装形態は、モバイル装置に遠隔に接続されているサーバ装置でコンテンツが選択され、サーバ装置がコンテンツを求める要求を受信でき、コンテンツがサーバ装置からモバイル装置に転送されるという特徴を含むことができる。
【００１５】
第6の態様では、あるシステムが、コンテキストパラメータに基づいてコンテンツを識別するように構成されたサーバ装置を含む。このシステムは、開発者にとって利用可能な開発者システムであって、開発者がアプリケーションを作成するためのプログラム開発プラットフォームと、開発者がアプリケーションプログラム内に含むためのオブジェクトとを含む開発者システムを含む。このシステムは、開発者システムで作成されたアプリケーションを実行し、オブジェクトを使用してサーバ装置にコンテンツを要求し、そのコンテンツをユーザに提示するためのモバイル装置を含む。
【００１６】
実装形態は、開発者システムがアプリケーションを作成する際に使用されるソフトウェア開発キットを含み、ソフトウェア開発キットがオブジェクトを含み、プログラム開発プラットフォームに準拠するという特徴を含むことができる。
【００１７】
実装形態は、以下の諸利点のうちのいくつか、またはすべてを提供してもよく、まったく提供しなくてもよい。モバイル装置へのコンテンツ配信を改善できる。発行人がモバイル装置アプリケーションにコンテンツ提示特徴を追加するための、便利な方法を提供できる。モバイル装置上の広告などのコンテンツのフェッチング、提示、およびトラッキングに備えるために、コンパイルする前にアプリケーションコードに挿入できるソフトウェア開発キット内にオブジェクトを提供できる。
【００１８】
1つまたは複数の実施形態の詳細は、添付の図面および以下の記述で説明する。他の諸特徴および諸利点は、記述、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１９】
【図１】モバイル装置のためのアプリケーションを含むシステムの例を示す図である。
【図２】例示的方法の流れ図である。
【図３】例示的方法の流れ図である。
【図４】例示的なUMLダイアグラムである。
【図５】本明細書に記載のコンピュータ実施の方法に関連して使用できる、コンピューティングシステムのブロック図である。
【発明を実施するための形態】
【００２０】
様々な図面における同様の参照記号は、同様の要素を示している。
【００２１】
図1は、モバイル装置のためのアプリケーションを含むシステム100の例を示している。この例では、開発者システム102は、開発者がセルラー式電話、携帯情報端末、または他の何らかのタイプのモバイル装置などの、1つまたは複数のモバイル装置104のためのアプリケーションなどのプログラムコンテンツを作成するために使用できる。特に、開発者はプログラムコードを生成して、モバイル装置104と互換性がある実行可能なプログラムにコンパイルすることなどによって、アプリケーション106を作成できる。アプリケーション106は、モバイル装置104のグラフィカルユーザインターフェース110において、たとえばディスプレイスクリーン上で、1つまたは複数のページ108を提示するように開発できる。個々のシステム、および/またはコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せを使用して実装することができ、異なる数のユニットに分割または結合できる。以下の例は、アプリケーション106が実行されているときに、第3者からの広告などのコンテンツ112をページ108上に提示できるように、開発者がどのようにアプリケーション106を構成できるかを示している。
【００２２】
ソフトウェア開発キット114は、アプリケーション106および/または他のプログラムを作成するために開発者に提供できる。ソフトウェア開発キット114は、いくつか例を挙げると、コード、および/または擬似コードのためのエディタ、1つまたは複数のコンパイル機能、ディスプレイコンテンツをプレビューするためのエミュレート機能、ならびにデバッグ機能を提供できる。いくつかの実装形態では、ソフトウェア開発キット114は、広告などの第3者コンテンツをモバイル装置のために作成されたプログラムに追加するための便利な方法を開発者に提供するように構成できる。たとえば、ソフトウェア開発キット114は、広告が要求され、ユーザに表示され、およびユーザと広告との間のどのような対話もトラックされるように、必要なコード、および/または他のアプリケーションコンテンツを開発者に提供できる。
【００２３】
ソフトウェア開発キット114は、1つまたは複数のオブジェクト116を提供できる。いくつかの実装形態では、アプリケーションを作成する際に、開発者はオブジェクト116をコードに組み込むことができる。たとえば、ソフトウェア開発キット114は、開発者がオブジェクトを選択して、対応するマテリアルをアプリケーションが作成される際にそのアプリケーション内に含めることができるように、開発者が全体的なアプリケーションコンテンツを生成する場所などのスクリーン上にオブジェクト116を提供できる。
【００２４】
ソフトウェア開発キットは、特定のプラットフォーム118に従ってアプリケーション106を作成できるように構成できる。いくつかの実装形態では、プラットフォーム118は、いくつか例を挙げると、セル方式電話、ハンドヘルド装置、携帯情報端末を含むことができるモバイル装置104のタイプなどの、モバイル装置にターゲットを定めることができる。たとえば、プラットフォーム118は、Open Handset Allianceによって作成、またはサポートされたプラットフォームでよい。いくつかの実装形態では、アプリケーションコードが実行可能プログラム内にコンパイルされる前に、オブジェクト116が含まれる。たとえば、コンパイレーション前にコードを挿入することによって、オブジェクトをアプリケーションの統合された部分として組み込むことができる。
【００２５】
オブジェクト116は1つまたは複数の機能を実行できる。いくつかの実装形態では、オブジェクトは広告112などの第3者コンテンツをモバイル装置104上に表示させることができる。たとえば、オブジェクト116は関連広告を要求すること、その広告を適切な方法でユーザに表示すること、およびユーザがその広告をクリックするか、または別の方法で広告と対話するかどうかトラックすることを担当できる。
【００２６】
いくつかの実装形態では、オブジェクト116は、アプリケーション106のユーザインターフェースに追加されて、広告などのコンテンツのフェッチングおよびレンダリング、ならびに広告などのコンテンツとの対話を処理するように構成されたJava（登録商標）オブジェクトである。たとえば、開発者は、アプリケーション106に関連付けられるビュークラスを拡張するビューオブジェクトを実装できる。いくつかの実装形態では、広告ビューオブジェクトは、以下を含むことができる:
GoogleBaseAdView(String client)
【００２７】
これは、広告ビューを作成するためのベースクラスを表すことができる。コンストラクタは、コンテンツ要求内に含まれるフロントエンドのURLを含むことができる、コンテンツ広告要求内のクライアントパラメータを設定できる。上記のオブジェクトは、Google Inc.からのいくつかの実装形態において使用されるWebViewクラスなどの、より一般的なビュークラスを拡張でき、いくつかの実装形態では、広告を対象とする他のより特定のクラスによって拡張できる。いくつかの例では、コンテンツを要求するビューの上部および/または下部の配置を指定するために、このような拡張は、
void setAdLayoutType(int placement)
を使用できる。画像コンテンツのサムネイルをギャラリービュー内に配置するギャラリーなどの、コンテンツ(たとえば広告)を表示する他の方法を使用できる。さらなる例を、図4を参照して以下で記述する。
【００２８】
オブジェクトとともに、1つまたは複数の機能を使用できる。このような機能は、コンテンツが表示されるときにそのコンテンツのルックアンドフィールをカスタマイズできる。いくつかの実装形態では、このような機能は、コンテンツ要求における1つまたは複数のCGIパラメータを設定できる。たとえば、以下の機能のうちのいずれか、またはすべてを使用できる:
void setAdType(String adType)
void setChannels(String[] channels)
void setBackgroundColor(Color color)
void setBorderColor(Color color)
void setTitleColor(Color color)
void setTextColor(Color color)
void setUrlColor(Color color)
void setScreenContent(String content)
void setFormat(String format)
void setCity(String city)
void setCountryString country)
void setRegion(String region)
void setLanguage(String languageCode)
void setlp(String ip)
void setKeywords(String[] keywords)
void setOutputEncoding(String encoding)
void setScreenWidth(int width)
void setScreenHeight(int height)
void setUserAgent(String userAgent)
【００２９】
アプリケーションプログラムインターフェース(API)120を、オブジェクト116とともに使用できる。いくつかの実装形態では、APIは、広告などのコンテンツをアプリケーション106内に組み込むときに開発者が呼び出すことができるJava（登録商標）APIである。たとえば、オブジェクト116は、開発者がアプリケーション106内にコードを挿入できるように、Java（登録商標）API 120を使用するJava（登録商標）コードスニペットを含むことができる。前述のように、このようなコードスニペットは、開発者のカスタマイゼーションに基づいて広告などのコンテンツを求める要求を構築して、そのコンテンツをフェッチして、アプリケーション106のユーザインターフェースに書き込むことができる。
【００３０】
広告112は、あらゆる種類のコンテンツを含むことができる。いくつかの実装形態では、これに限定されないが、テキスト広告、画像広告(アニメーションGIF、および/またはフラッシュベースの画像など)、およびビデオ広告を含む広告タイプを使用できる。たとえば広告は、広告主に関連付けられる他のコンテンツにユーザナビゲーション(たとえばリンク)を提供できる。他のタイプのコンテンツ(たとえば非広告コンテンツ)も可能である。
【００３１】
広告ディストリビュータシステム122は、広告112などのあらゆるタイプのコンテンツをモバイル装置104、および/または開発者システム102に転送するために使用できる。いくつかの実装形態では、広告ディストリビュータシステム122は、コンテンツを求める要求をモバイル装置104から受信し、1つまたは複数の適合する広告または他のコンテンツをレポジトリ124からフェッチし、および適合するコンテンツをモバイル装置に転送するように構成される。たとえば、広告112のマッチングは、適合するコンテンツ/広告を識別するように構成されたアプリケーション106に関連付けられる、1つまたは複数のコンテキストパラメータを提供できる、コンテキストコンポーネント126を使用して実行できる。
【００３２】
開発者システム102、モバイル装置104、および/または広告ディストリビュータシステム122は、インターネットなどのあらゆる種類のネットワーク123を使用して接続できる。たとえば、開発者システム102と広告ディストリビュータシステム122はTCP/IPプロトコル群を使用して通信でき、モバイル装置104はIEEE 802.11、WAP、および/またはBluetoothなどのあらゆる種類の無線プロトコルを使用して通信できる。
【００３３】
アプリケーション106、および/またはモバイル装置104の関連コンテキストは、異なる方法で共有できる。いくつかの実装形態では、開発者は、アプリケーション106についてのメタデータを含むコンテキストを広告ディストリビュータシステム122と共有できる。ソフトウェア開発キット114内のコンテキスト共有コンポーネント128によって、開発者は、広告などのコンテンツを取り出して提示することと関係があると開発者が決定する1つまたは複数のキーワードを入力できるようになる。たとえば、アプリケーションを作成する開発者は、格納するためにコンテキストコンポーネント126によって受信されるように、コンテキスト共有コンポーネント128を使用してキーワードを提出できる。いくつかの実装形態では、提出されたメタデータがどれだけアプリケーション106と相互に関連があるかを決定するために監視を実行することができ、使用されたコンテキストパラメータ内の修正を必要に応じて行うことができる。
【００３４】
いくつかの実装形態では、アプリケーション106を広告ディストリビュータシステム122に提出している開発者によって、コンテキストを共有できる。コンテキストを評価する際に使用するために、アプリケーション106のうちのいくつかまたはすべてを提出する際に、コンテキスト共有コンポーネント128を使用できる。これは、転送されるべきコンテンツ/広告のコンテキストを決定するために、広告ディストリビュータシステム122がアプリケーションを検査できるように、セットアッププロセスの一部として行うことができる。考慮できる態様の例には、これに限定されないが、モバイル装置104上の以前のスクリーンまたはページのテキストコンテンツ、全体的なアプリケーション106のコンテンツ、および/または同胞オブジェクトなどの他のビューオブジェクトのコンテンツがある。アプリケーション106の分析は、コードを分析する(静的分析などによって)ステップ、アプリケーション106の一般的なコンテキストを決定するステップ、または特定のページ108のうちの1つまたは複数の具体的なコンテキストを決定するステップを含むことができる。これは、モバイル装置104において、ページ108のうちのどのページが現在アクティブかを決定するために、コンテキストコンポーネント126を要求できる。たとえば、これは開発者によって提供されたアプリケーション106のバージョンを使用して行うことができる。アプリケーション106が後にアップデートされる場合、またはアップデートされるときに、必要に応じてコンテキストがアップデートできるように、たとえばコンテキスト共有コンポーネント128を使用して、広告ディストリビュータシステム122に修正されたバージョンを転送できる。
【００３５】
別の例としては、開発者がアプリケーション106のコード内の1つまたは複数のフックを指定できると定めることによって、コンテキストを決定できる。いくつかの実装形態では、ソフトウェア開発キット114、および/またはプラットフォーム118は、このような特徴を提供できる。たとえば、アプリケーション106の1つまたは複数の段階で状態を変更するために、広域変数を作成できる。このような変数は、Java（登録商標）コードのスニペットなどによって、オブジェクト116によって読み取ることができる。
【００３６】
広告などの適合するコンテキストを探し出す際に使用するコンテキストパラメータは、様々なフォームのうちのいずれで格納されてもよい。たとえば、コンテキストコンポーネント126は、1つまたは複数のキーワード、カテゴリ、ラベル、トピック、コンテキスト情報、および/または、広告ディストリビュータシステム122によって使用される他のあらゆる種類のパラメータを格納できる。
【００３７】
以下は、上述の実装形態をどのように使用できるかの例である。開発者は、ソフトウェア開発キット114を使用して、モバイル装置104向けのアプリケーション106を作成できる。特に、アプリケーション106はプラットフォーム118に従って作成することができ、オブジェクト116を含むことができる。開発者は、たとえば装置104が最初に販売されたとき、または後にダウンロード処理などによってアップデートされたときに、使用するためのアプリケーション106をモバイル装置に転送できる。開発者は、コンテキスト共有コンポーネント128を使用して、1つまたは複数のキーワードを提出すること、および/あるいはアプリケーション106のバージョンを提供することなどによって、アプリケーション106に関連するコンテキストも提供できる。広告ディストリビュータシステム122に1つまたは複数のコンテキストパラメータを登録できる。
【００３８】
ユーザがモバイル装置104を操作すると、1つまたは複数の広告112などのコンテンツがページ108上に提示されうる。コンテキストパラメータに基づいて、広告ディストリビュータシステム122によって提示するためのコンテンツが選択されうる。いくつかの実装形態では、広告112をクリックすること、開発者指定のキープレスの組合せ(たとえば、単一のキーを2度タップすること、または2つのキーを素早く連続してタップすること)を実行すること、またはタッチスクリーン装置上の広告をタップすることなどの1つまたは複数の方法で、ユーザは広告112と対話できる。
【００３９】
広告などのコンテンツの選択は、モバイル装置104の位置を使用して実行できる。いくつかの実装形態では、開発者は、コンテンツのターゲットをモバイル装置104に定める際にユーザ位置を使用できるように、モバイル装置104のユーザが許可する機会を提供できる。ユーザが同意すれば、アプリケーション106、および/またはオブジェクト116は、広告ディストリビュータシステム122に転送された要求に関連してユーザの位置が送信されると定めることができる。たとえば、モバイル装置104は、GPSおよび/またはwi-fi信号などを使用して、位置を決定するためのAPIを有することができ、Java（登録商標）ベースであってよいこのAPI120に基づいて、モバイル装置104の位置を取り出すためにロジックを使用できる。いくつかの例では、このような位置情報は、考慮されるコンテキストを構成するか、またはコンテキストの一部になることができる。
【００４０】
広告などのコンテンツは、様々な方法のいずれでも取り出すことができる。いくつかの実装形態では、コンテンツは基本的にオンデマンド手法に従って取り出すことができる。たとえば、広告または他のコンテンツを広告ディストリビュータシステム122に要求でき、実質的にすぐに表示するためにそこから転送できる。このような実装形態は、ユーザに表示された広告がアプリケーション106および/またはモバイル装置の特定の状態について非常に最新であることができるという利点を有することができる。
【００４１】
いくつかの実装形態では、プリフェッチ手法を使用できる。たとえば、開発者は、広告ディストリビュータシステム122から広告などの複数のコンテンツ部分を要求されるように、アプリケーション106を構成できる。モバイル装置104上、および/またはモバイル装置104と通信するサーバなどの他のコンピュータ装置上などの適切な位置に、広告を格納できる。ある時点で、アプリケーション106によって実行される決定などによって、たとえばオフラインであった後にオンラインモードに戻るときに、広告をモバイル装置104上に表示できる。開発者は、たとえばソフトウェア開発キット114からアプリケーション106内に特徴を組み込むことによって、どのコンテンツ/広告が表示されたかという報告に備えることができる。いくつかの実装形態では、たとえば、コンテンツ/広告提示に関連付けられるクラスに、以前に提供されたコンテンツ/広告を追跡させて、規則(たとえば、1セッションつきあらかじめ定められた回数まで)に従って同じコンテンツ/広告が確実に提示されるようにすることによって、クライアント側の頻度キャッピングを使用できる。コンテンツをフェッチするための他の手法も使用できる。
【００４２】
いくつかの実装形態では、コンテンツ/広告提示に関連付けられるクラスを使用するアクティビティが初めて表示されるときに、広告112などの新しいコンテンツ部分を提示できる。別の例としては、モバイル装置104内のアクティビティスタックからアクティビティが削除されたときに、新しい広告/コンテンツを提示できる。さらに別の例では、モバイル装置104がアクティブであり続ける場合(たとえば、装置上のディスプレイのバックライトがオンのままの場合)、以前の広告/コンテンツがあらかじめ定められた時間表示されると、コンテンツ/広告を提示できる。いくつかの実装形態では、開発者は、たとえば広告の回転式ブラウジングを提供するために、ギャラリービューを生成することを担当するクラスを介して、ユーザが開始したコンテンツ/広告のリフレッシュを容易にすることができる。
【００４３】
上記の例において、ソフトウェア開発キット114について言及してきた。いくつかの実装形態では、発行人向けのインターフェース内のウィザードを使用して、キット114を拡張または向上できる。たとえば、広告ディストリビュータシステム122は、発行人が広告プログラムのアフィリエイトになるためのアカウントを確立できるユーザインターフェースを提供でき、このインターフェースは、開発者がアプリケーション106に関連して表示されるべきコンテンツ/広告のルックアンドフィールをカスタマイズする方法として、ウィザードを特徴付けることができる。いくつかの実装形態では、これはたとえば広告および/または他のコンテンツとともに提供するアプリケーションを向上する機会を可能にするための、開発者のためのセルフサービスサインアップ処理として実装できる。別の例としては、および、ユーザのプライバシー権利が考慮されると仮定すると、このようなインターフェースは、広告クリック、インプレッション、クエリ、収益、および/または他の態様についての報告統計を、広告ディストリビュータシステム122に提供できる。
【００４４】
いくつかの実装形態では、ユーザは、モバイル装置104に転送された広告または他のコンテンツを有する機会を停止できる。たとえば、これは利用回数ベースで、または開発者によって決定された他の何らかのポリシーの一部として行うことができる。いくつかの例では、プラットフォーム118は、ユーザによって維持されうる「広告を表示する」基本設定を提供できる。広告または他のコンテンツを求めるモバイル要求が構築される前に、たとえばAPI120を使用してこの基本設定をチェックできる。
【００４５】
図2および3は、例示的方法200および300の流れ図である。いくつかの実装形態では、方法200および/または300は、コンピュータ可読記憶メディア内の命令を実行しているプロセッサによって実行できる。たとえば、方法200および/または300は、システム100の内部で実行できる。実行されるステップはより多くてもよく、より少なくてもよい。別の例としては、1つまたは複数のステップを異なる順序で実行できる。
【００４６】
方法200のステップ210は、モバイル装置のためのアプリケーションを開発するために、ソフトウェア開発キットを開発者に提供するステップを含む。ソフトウェア開発キットは、アプリケーション内に挿入されて、アプリケーションのためのコンテンツを要求するように構成されるべきオブジェクトを含む。たとえば、広告ディストリビュータシステム122などから、開発者システム102にソフトウェア開発キット114を提供できる。ソフトウェア開発キット114は、コンパイルする前にアプリケーション106内に挿入されうる、および広告112を要求できる、オブジェクト116を含むことができる。
【００４７】
ステップ220は、モバイル装置上のアプリケーションに配信されるべきコンテンツを選択する際に使用するためのアプリケーションに関するコンテキストパラメータを取得するステップを含む。たとえば、広告または他のコンテンツをモバイル装置104に適合させる際に使用するコンテキストを提供するために、コンテキスト共有コンポーネント128はコンテキストコンポーネント126と対話できる。
【００４８】
ステップ230は、コンテンツをモバイル装置に転送するステップであって、コンテンツがコンテキストパラメータを使用して選択され、モバイル装置のユーザに提示されるように構成されているステップを含む。たとえば、広告ディストリビュータシステム122は、広告112をモバイル装置104に転送できる。
【００４９】
次に方法300を参照すると、ステップ310は、ソフトウェア開発キットを使用してモバイル装置のためのアプリケーションを生成するステップを含む。たとえば開発者は、ソフトウェア開発キット114を使用して、モバイル装置104のためのアプリケーション106を生成できる。
【００５０】
ステップ320は、あらかじめ構成されたオブジェクトをコンパイレーション前にアプリケーションに追加するステップであって、オブジェクトがソフトウェア開発キットから取得され、アプリケーションのためのコンテンツを要求するように構成されたステップを含む。たとえば、開発者はオブジェクト116を、コンパイレーション前にアプリケーション106のコードに追加できる。
【００５１】
ステップ330は、アプリケーションに関連付けられるコンテキストパラメータをコンテンツディストリビュータに提供するステップであって、コンテキストパラメータがモバイル装置に転送するためのコンテンツを選択する際にコンテンツディストリビュータによって使用されるように構成されているステップを含む。
【００５２】
図4は例示的なUMLダイアグラム400を示している。たとえば、ダイアグラム400は、システム100などのいくつかの実装形態で使用できるクラス間の関係を図で表すことができる。ここでは、ダイアグラムはBaseAdViewクラス410を含む。いくつかの例では、クラス410は、広告コンテンツのビューなどのコンテンツビューを作成するためのベースクラスとして供給できる。たとえば、クラス410は広告などのコンテンツを求める要求を構築し、コンテンツをフェッチしてそのコンテンツを表示するための機能を含むことができる。いくつかの実装形態では、クラス410は、ウェブコンテンツのビューを生成することを目的とするクラスなどの、より一般的なクラスを拡張できる。
【００５３】
1つまたは複数の方法でクラス410を拡張できる。ここでは、クラス410は、たとえばスクリーン上のどこにコンテンツが提示されるべきか(たとえば、上部または下部)などの、1つまたは複数の異なるタイプのコンテンツレイアウトを指定するために、AdViewクラス420によって拡張される。いくつかの実装形態では、クラス420のために機能430を定義できる。ここでは、機能430は「setAdLayoutTyp()」と名付けられ、「配置」変数などの1つまたは複数の引数を使用する。他の機能、および/または引数も使用できる。
【００５４】
ここでは、クラス410はGalleryAdViewクラス440によって拡張される。いくつかの実装形態では、クラス440は、広告などのコンテンツが1つまたは複数の特定の方法で表示されると定めることができる。たとえば、クラス440は、ディスプレイ装置上に回転式フォーマットでコンテンツを表示できるように、BaseAdViewクラス410を向上できる。
【００５５】
クラス410のより多くの、またはより少ない拡張を使用できる。
【００５６】
図5は、一般的なコンピュータシステム500の概略図である。システム500は、一実装形態によれば、以前に説明したコンピュータ実施の方法のうちのいずれかに関連して説明した操作のために使用できる。システム500は、プロセッサ510、メモリ520、記憶装置530、および入力/出力装置540を含む。それぞれのコンポーネント510、520、530、および540は、システムバス550を使用して相互に接続されている。プロセッサ510は、システム500の内部で実行するための命令を処理できる。一実装形態では、プロセッサ510はシングルスレッドプロセッサである。他の実装形態では、プロセッサ510はマルチスレッドプロセッサである。プロセッサ510は、ユーザインターフェースのためのグラフィカル情報を入力/出力装置540上に表示するために、メモリ520、または記憶装置530に格納された命令を処理できる。
【００５７】
メモリ520は、情報をシステム500の内部に格納する。一実装形態では、メモリ520はコンピュータ可読メディアである。一実装形態では、メモリ520は揮発性メモリユニットである。他の実装形態では、メモリ520は不揮発性メモリユニットである。
【００５８】
記憶装置530は、システム500に大容量記憶装置を提供できる。一実装形態では、記憶装置530はコンピュータ可読メディアである。様々な異なる実装形態では、記憶装置530はフロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置でもよく、またはテープ装置でもよい。
【００５９】
入力/出力装置540は、システム500に入力/出力操作を提供する。一実装形態では、入力/出力装置540は、キーボードおよび/またはポインティングデバイスを含む。一実装形態では、入力/出力装置540は、グラフィカルユーザインターフェースを表示するためのディスプレイユニットを含む。
【００６０】
説明した特徴は、デジタル電子回路、あるいはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せ内に実装できる。装置は、プログラム可能プロセッサによって実行するために、機械可読記憶装置または伝搬された信号などの情報担体内に有形に組み入れられたコンピュータプログラム製品内に実装することができ、方法ステップは、入力データを操作すること、および出力を生成することによって、説明した実装形態の機能を実行するために、命令のプログラムを実行しているプログラム可能プロセッサによって実行できる。説明した特徴は、データ記憶システムからデータおよび命令を受信するために、およびデータ記憶システムにデータおよび命令を送信するために結合された少なくとも1つのプログラム可能プロセッサ、少なくとも1つの入力装置、ならびに少なくとも1つの出力装置を含む、プログラム可能システム上で実行可能な1つまたは複数のコンピュータプログラムに好都合に実装できる。コンピュータプログラムは、一定のアクティビティを実行するために、または一定の結果をもたらすために、コンピュータにおいて直接または間接に使用できる命令のセットである。コンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語を含むどのような形式のプログラミング言語で書かれてもよく、スタンドアロン型プログラムとして、あるいはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットとしてを含む、どのような形式で配布されてもよい。
【００６１】
命令のプログラムの実行に適したプロセッサには、例として汎用および特殊用途マイクロプロセッサの両方、ならびに単一のプロセッサまたはあらゆる種類のコンピュータの複数のプロセッサのうちの1つがある。一般的にプロセッサは、読出し専用メモリまたはランダムアクセスメモリから、あるいはその両方から命令およびデータを受信することになる。コンピュータの基本的要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つまたは複数のメモリである。一般的にコンピュータは、データファイルを格納するための1つまたは複数の大容量記憶装置も含むか、通信するために操作可能に結合されており、このような装置は内蔵ハードディスクおよび着脱可能ディスクなどの磁気ディスク、光磁気ディスク、ならびに光ディスクを含む。コンピュータプログラム命令およびデータを有形に組み入れるために適した記憶装置には、例としてEPROM、EEPROM、およびフラッシュメモリ装置などの半導体メモリ装置を含むすべての形式の不揮発性メモリ、内蔵ハードディスクおよび着脱可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクがある。プロセッサおよびメモリはASIC(特定用途向け集積回路)によって補完することもでき、その中に組み込むこともできる。
【００６２】
ユーザとの対話を提供するために、情報をユーザに表示するためのCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイ装置、ならびにユーザがコンピュータに入力を提供できるキーボードおよびマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータに特徴を実装できる。
【００６３】
データサーバなどのバックエンドコンポーネントを含むコンピュータシステム、あるいはアプリケーションサーバまたはインターネットサーバなどのミドルウェアを含むコンピュータシステム、あるいはグラフィカルユーザインターフェースまたはインターネットブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピュータシステム、あるいはそれらのどのような組合せにも特徴を実装できる。システムのコンポーネントは、通信ネットワークなどのデジタルデータ通信のあらゆる形式またはメディアによって接続できる。通信ネットワークの例には、たとえばLAN、WAN、ならびにインターネットを形成するコンピュータおよびネットワークがある。
【００６４】
コンピュータシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは一般的に互いに離れており、典型的には上述したネットワークなどのネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行しており、相互にクライアント-サーバ関係を有するコンピュータプログラムによって発生する。
【００６５】
いくつかの実施形態を説明してきた。しかし、本開示の趣旨および範囲を逸脱することなしに様々な修正が行われてよいことが理解されよう。したがって、他の実施形態は以下の特許請求の範囲内である。
【符号の説明】
【００６６】
100  システム
102  開発者システム
104  モバイル装置
106  アプリケーション
108  ページ
110  グラフィカルユーザインターフェース
112  コンテンツ
114  ソフトウェア開発キット
116  オブジェクト
118  プラットフォーム
120  アプリケーションプログラムインターフェース(API)
122  広告ディストリビュータシステム
123  ネットワーク
124  レポジトリ
126  コンテキストコンポーネント
128  コンテキスト共有コンポーネント
400  UMLダイアグラム
410  BaseAdViewクラス
420  AdViewクラス
430  「setAdLayoutTyp()」機能
440  GalleryAdViewクラス
500  コンピュータシステム
510  プロセッサ
520  メモリ
530  記憶装置
540  入力/出力装置
550  システムバス
【図１】
2011530742.tif 000003
【図２】
2011530742.tif 000004
【図３】
2011530742.tif 000005
【図４】
2011530742.tif 000006
【図５】
2011530742.tif 000007
【国際調査報告】
2011530742.tif 000008
2011530742.tif 000009