(57)【要約】  本発明は、エンドユーザまたはクライアントコンピュータ上で実行されているアプリケーション内でコンテンツ連動広告を表示することを容易にする独自のシステムおよび方法を実現する。プライバシーに対する懸念を緩和するために、クライアントコンピュータ上に１つまたは複数の広告を格納することができる。ユーザとクライアントとの双方向のやり取りに関係するコンテキストに少なくとも一部は基づきクライアント上に少なくとも１つの広告を表示することができる。そうすることにより、ユーザのプライベートデータは、サーバーに渡らず、その一方で、どの広告を表示すべきかを決定するために、コンテンツ連動広告処理をユーザのコンテンツについて実行することができる。クライアントがオフラインまたはオンラインであるときに異なる形態の広告をユーザに対して表示することで、広告との対話的使用および課金機能を最適化することを容易にできる。コンテンツがクライアント上に表示されたときに広告が必ず表示されるように、広告表示コードの改ざんを軽減するさまざまな暗号化および復号技術を使用することができる。
2008546075.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ連動広告の表示を容易にするシステムであって、
コンテンツ連動広告を受信し、前記広告の部分集合をクライアントコンピュータ上に格納するコンポーネントと、
ユーザ−コンピュータ間の双方向のやり取りに関係するコンテキストに応じて前記広告の部分集合からの広告を表示する広告表示コンポーネントとを備え、前記コンテキストは、オンライン／オフライン状態、テキストによる双方向のやり取りの内容、またはユーザに関する地理的またはコンテンツ購読者層情報のうちの少なくとも１つに関係することを特徴とするコンテンツ連動広告の表示を容易にするシステム。
【請求項２】
前記クライアントコンピュータがオンラインであるか、またはオフラインであるかを判定する管理コンポーネントをさらに備え、前記広告表示コンポーネントは前記コンピュータがオンラインであるか、またはオフラインであるかに応じて表示する広告を選択することを特徴とする請求項１に記載のシステム。
【請求項３】
前記ユーザによって許可された広告表示レベルに応じて前記クライアントコンピュータにより使用されるアプリケーションプログラムとの関連で与えられる機能のレベルを制御するコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項４】
広告表示に関係するソフトウェアが修正されたかどうかを判定するセキュリティコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項５】
前記クライアントコンピュータがオンラインの場合に前記クライアントコンピュータ上に格納されている広告を選択的に更新する更新コンポーネントをさらに備えることを特徴とする請求項２に記載のシステム。
【請求項６】
前記広告の部分集合は、一部は、前記クライアントコンピュータの少なくとも１人のユーザに関係する地理的および／またはコンテンツ購読者層情報に応じて選択されることを特徴とする請求項１に記載のシステム。
【請求項７】
前記クライアントコンピュータにより受信され、復号されたコンテンツを暗号化形式で格納するサーバーをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項８】
コンテンツベースの広告の配信を容易にするコンピュータ実装方法であって、
クライアントコンピュータ上に広告を格納することと、
前記コンピュータがオンラインであるか、オフラインであるかを判定することと、
前記コンピュータがオンラインであるか、オフラインであるかに応じて前記クライアントコンピュータ上に前記広告の部分集合を表示することとを含むことを特徴とするコンテンツ連動広告の配信を容易にするコンピュータ実装方法。
【請求項９】
前記クライアントコンピュータ上のクリックスルー活動を監視し、前記クライアントコンピュータがオンラインになると、前記クリックスルー活動情報を他のコンピュータに配信することをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
オークションモデルを介して前記広告を販売することをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記広告の部分集合に対しタイムアウト期間を使用することをさらに含み、前記タイムアウト期間は、表示の頻度、前記クライアントコンピュータ上の格納期間、前記広告の不適用性、および／または前記クライアントコンピュータの記憶容量によって決められることを特徴とする請求項８に記載の方法。
【請求項１２】
前記広告の部分集合は、コンテンツ連動型であることを特徴とする請求項８に記載の方法。
【請求項１３】
前記広告の部分集合は、少なくとも一部は、ユーザの地理的および／またはコンテンツ購読者層プロファイルに応じて選択されることを特徴とする請求項８に記載の方法。
【請求項１４】
前記広告の部分集合は、ペイパーコール広告を含むことを特徴とする請求項８に記載の方法。
【請求項１５】
請求項８に記載の活動を実行するためのコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【請求項１６】
コンテンツの表示を容易にするコンピュータ実装方法であって、
コンテンツおよび広告をクライアントコンピュータに配信することと、
前記コンテンツを表示すべきである場合に前記広告の表示が必ず行われるようにすることとを含むことを特徴とするコンテンツ連動広告の表示を容易にするコンピュータ実装方法。
【請求項１７】
前記コンテンツを暗号化することさらに含むことを特徴とする方法。
【請求項１８】
前記コンテンツを暗号化することは、信頼できるクライアントのみが対応する秘密鍵を有するように公開鍵を使用する暗号法を使用することを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
信頼できる当事者により提供される前記公開鍵の実物証明書を受信することをさらに含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記コンピュータ上で実行されている広告関係ソフトウェアの改ざんを監視することと、改ざんに応じて前記アプリケーションプログラムの機能を制限することとをさらに含むことを特徴とする請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、広告に関するものであり、具体的には、オフラインおよびオンライン環境においてエンドユーザのコンピュータ上で実行されるアプリケーションプログラムに広告を表示することに関するものある。
【背景技術】
【０００２】
広告は、一般に、ほぼどのような商業市場においても重要な収益源である。広告は、できる限り多くの消費者に伝わるように、典型的には、広告看板、テレビ、ラジオ、および新聞および雑誌などの印刷媒体を介して提示される。しかし、インターネットが出現し、普及するとともに、広告主は、地理的に大きく多様に広がる膨大な数の潜在的顧客に対応できる、新しい、おそらく安上がりの媒体を見つけることになった。インターネット上の広告は、主に、ＷｅｂページまたはＷｅｂサイトに掲載されるが、それだけでなく、特定のサイトにアクセスしたときに表示されるポップアップウィンドウにも掲載できる。
【０００３】
収益を生み出すことに関心のある企業体は、インターネット上のＷｅｂサイトに加えて、広告に適していると思われる他のチャネルを探し続けている。例えば、現行の配信様式の１つでは、電子メールシステムのユーザが自分のシステム上にあるメッセージを表示したときにそのユーザに広告を提示することを伴う。これは、典型的には、電子メールサーバーソフトウェアのプロバイダが、多くのＷｅｂベースの電子メールサービスなどのサービスを無料で提供している場合に行われる。広告の件名は、着信メールの内容に応じて選択することができる。残念なことに、こうした状況により、特にメール受信者に関してプライバシーに対する多くの懸念が生じている。また、この配信様式だと、現在広告は自動的にフィルタがかけられ、受信者側で読むことが決してできないため、広告主にとって問題となることがある。そのため、広告収益の損失とともに、潜在的顧客の喪失の可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
今日の典型的な広告サポートソフトウェアシステムは、Ｗｅｂベースの電子メールシステムなど、Ｗｅｂベースであり、電子メールプロバイダは、電子メールが格納されるサーバーを所有し、電子メールの内容を含むＨＴＭＬページをエンドユーザに送り、このときに広告がＨＴＭＬページに埋め込まれる。この場合、エンドユーザは、すでに、自分のデータの内容を持つサービスプロバイダを信頼する決定を下しており、サービスプロバイダがコンテンツ連動広告（ｃｏｎｔｅｎｔ  ｔａｒｇｅｔｅｄ  ａｄｖｅｒｔｉｓｉｎｇ）をうつ目的のためデータを自動的にスキャンするというプライバシーに関わることについて過度に心配しないと思われる。しかし、無料の広告サポートワードプロセッサなどの他の考えられるシナリオでは、データは、典型的には、格納される、またはソフトウェアのプロバイダからアクセス可能であるというわけではない。そのため、プライバシーが侵害されないように広告をユーザに絞り込む方法を見つけることが望ましい。
【課題を解決するための手段】
【０００５】
以下では、本発明のいくつかの態様の基本的な内容を理解できるように、発明の開示を簡単に説明する。この発明の開示は、本発明の概要を広範囲にわたって述べたものではない。この発明の開示は、本発明の鍵となる／決定的な要素を示したり、本発明の範囲を定めることを目的としていない。後で述べる詳細な説明の前置きとして、本発明のいくつかの概念を簡略化した形式で述べることのみを目的とする。
【０００６】
本発明は、文書処理プログラム、電子メールプログラム、またはエンドユーザマシン上で実行することができる他のアプリケーションなどのアプリケーションプログラムでコンテンツ連動広告の配信および表示を容易に行えるようにするシステムおよび方法を実現する。コンテンツ連動広告は、ネットワークまたはサーバーからクライアントまたはユーザのコンピュータに送信することができる。現在、連動型広告は、インターネットをブラウズしたり、インターネット経由でメッセージを送受信する場合などのオンラインコンピューティング環境に集中している。これらのシナリオのいずれにおいても、ユーザは、どの広告を表示させるかを決定するために自分のメッセージがメッセージサーバーまたはプロバイダによりスクリーニングされることを了承している。アプリケーションプログラムは、連動型広告に対するはっきり異なる問題点を提起する。ユーザは、自分の文書、ファイルなどをスクリーニングするサーバーを快く感じない傾向がある。それに加えて、アプリケーションプログラムは、オフラインでもオンラインでも使用することができ、そのため、広告主が超えなければならないハードルがさらに高くなる。広告は、企業に高い収益と利益をもたらしうるものである。その投資を保護するために、広告主は、自社の広告がアプリケーションプログラムを介して表示されているという何らかの保証を得たがる。そのため、克服すべき他の障害は、広告表示コードがアプリケーションプログラム内で修正または改ざんされていないことを検証することに関する懸念である。
【０００７】
本発明では、これらのさまざまな問題点を異なる方法で解決しようとするものである。プライバシーに対する懸念に関して、本発明は、複数の広告をサーバー（例えば、インターネット、イントラネット、または他のネットワーク）からユーザのコンピュータにダウンロードすることを伴う。適切な時期に、コンテンツ連動広告をユーザのプライベートデータの少なくとも一部と突き合わせて処理し、関連するアクティブまたは非アクティブなアプリケーションプログラム（例えば、文書処理アプリケーション）で、ユーザにどの広告を表示すべきかを決定することができる。その結果、ユーザのプライベートデータは、サーバーに公開されない。
【０００８】
電子メールまたは他のメッセージングプログラムなどの一部のアプリケーションプログラムでは、サーバー上にデータを格納することができる。このような場合、データは、サーバー上に暗号化形式で格納することができ、クライアント側には、鍵を保持することができる。そのため、サーバー側では、ユーザのプライベートデータを見る必要はないが、それでも、そのようなデータに関する連動型広告を実施することができる。これは、一部は、クライアントを介して所望のデータをクライアント上にダウンロードして、復号し、復号されたデータと突き合わせてクライアント上に格納されているコンテンツ連動広告を実行することにより実行することができる。
【０００９】
オンラインであろうとオフラインであろうと、広告は、ユーザに対し表示することができるが、広告の種類または形式は、ユーザがオンラインと決定されるか、またはオフラインであると決定されるかに応じて異なる場合がある。例えば、ユーザがオフラインの場合、ブランド広告、ペイパーコール広告、および／または印刷可能クーポンは、広告主が利用できる数少ないオプションである。これらのオフライン形式は、ユーザがオンラインになっている間に、ユーザのコンピュータにダウンロードされ、キャッシュされるようにできる。場合によっては、ユーザは、オフラインであっても、追加の情報を求めて広告をクリックすることができる。これらの場合、追加の情報は、ユーザがオンラインになっている間に、オフラインコンテンツとともにすでにキャッシュされている可能性がある。そのため、ユーザは、オフライン広告をクリックしたときに、追加の情報のある方へ導かれるようにできる。
【００１０】
ユーザがサーバーに再接続した場合、オフラインの間に記録されているクリックスルー活動をサーバーを介して適切な当事者に送ることができる。それに加えて、広告は、ユーザのコンピュータ上で更新することができる。
【００１１】
ユーザのコンテンツ（例えば、電子メール）がメッセージングクライアントなどのある種のアプリケーションに表示されるときに、連動型広告がユーザのコンピュータ上に必ず表示されるようにするために、暗号化技術を採用することができる。特に、メッセージ（例えば、電子メール）および対応する（複数の）連動型広告は、サーバー側で暗号化されうる。このようなメッセージへのアクセスがユーザによって望まれている場合、メッセージクライアントまたはクライアントソフトウェアで、クライアント側のみが知っている鍵を使用してデータを復号することができる。そのため、クライアントは、メッセージおよび（複数の）広告の内容を復号し、その内容をユーザに対し表示することができる。広告を表示することが知られているクライアントのみに、復号鍵が与えられる。復号鍵は、広告の表示の改ざんを緩和しようとするユーザとは共有されない。このため、広告主および広告プロバイダにとって、そのような広告が実際に意図された通りに表示されているという追加の保証となる。さらにもう１つの保護層として、鍵を保持するクライアントソフトウェアの少なくとも一部も同様に暗号化することができる。
【００１２】
一般に、広告または広告スペースは、オークションモデルを介して販売されうる。他のセキュリティ機能も、アプリケーション内の広告表示プログラムが修正されていないこと、および広告が広告主によって意図された通りに示されることを確認するために使用することができる。いくつかの広告の表示は、タイムアウトまたは他の使用期限関係の期間を条件としうる。広告がタイムアウトになるか、またはその使用期限の条件が満たされると、広告をコンピュータのキャッシュから削除するか、または何らかの方法で、広告が再び表示されないようにするマーク付けを行うことができる。
【００１３】
前記の関係する目的を達成するために、本発明のいくつかの例示されている態様について、以下の説明および付属の図面に関して本明細書で説明される。ただし、これらの態様は本発明の原理を採用するさまざまな方法の少数のみを示しており、本発明はこのような態様およびその等価物すべてを含むことを意図している。本発明の他の利点および新規性のある特徴は、図面を参照しつつ本発明の以下の詳細な説明を読むと明白になるであろう。
【発明を実施するための最良の形態】
【００１４】
次に、本発明は、本明細書全体を通して類似の番号は類似の要素を示すために使用される図面を参照しつつ説明される。以下の説明では、説明を目的として、本発明を完全に理解できるようにする多数の具体的詳細を述べている。しかし、本発明は具体的詳細を知らなくても実施できることは明白であろう。他の場合には、本発明を説明しやすくするために、よく知られている構造およびデバイスがブロック図形式で示されている。
【００１５】
本出願で使用されているように、用語「コンポーネント」および「システム」は、コンピュータ関連のエンティティ、つまりハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかを指すことを意図されている。例えば、コンポーネントとして、限定はしないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、およびコンピュータなどがある。例えば、サーバー上で実行されているアプリケーションとサーバーは両方ともコンポーネントであってよい。１つまたは複数のコンポーネントは、１つのプロセスおよび／または実行スレッド内に常駐することができ、またコンポーネントは、１台のコンピュータにローカルとして配置され、および／または２台以上のコンピュータ間に分散されることも可能である。
【００１６】
本発明は、ユーザのアクティブな文書または（複数の）ファイルオブジェクトの内容および／またはユーザの地理的情報、コンテンツ購読者層情報、および／またはプロファイル情報に基づいてコンテンツ連動広告を選択し、および／またはユーザに提示することに関連するさまざまな推論方式および／または技術を組み込むことができる。本明細書で使用しているように、「推論（ｉｎｆｅｒｅｎｃｅ）」という用語は、一般に、イベントおよび／またはデータを介して得られるような一組の観察結果から、システム、環境、および／またはユーザの状態を推理または推論するプロセスを指す。推論は、特定のコンテキストまたはアクションを識別するために使用されることができ、または例えば、複数の状態にわたる確率分布を生成することができる。推論は確率的であってよい、つまり、データおよびイベントの考察に基づいて注目している状態にわたる確率分布を計算することができる。推論は、さらに、一組のイベントおよび／またはデータから高水準のイベントを構成するために使用される手法を指す場合もある。このような推論を行うことで、イベント同士が時間的に近い関係による相関関係があるかどうか、またイベントおよびデータが１つまたは複数のイベントおよびデータソースを発生元としているかどうかに関係なく、一組の観察されたイベントおよび／または格納されているイベントデータから新しいイベントまたはアクションが構築される。
【００１７】
そこで、図１を参照すると、本発明の一態様により、コンテンツ連動広告の表示を容易にするシステム１００の高水準ブロック図がある。システム１００は、ネットワーク１２０またはサーバーから１つまたは複数のコンテンツ連動広告を受信することができる広告受信コンポーネント１１０を備える。これらの広告の少なくとも部分集合は、クライアント上の広告データストア１３０などに格納することができる。広告表示コンポーネント１４０は、ユーザ−コンピュータ間の双方向のやり取りに関係するコンテキストに応じて広告の部分集合の中から少なくとも１つの広告を表示することができる。
【００１８】
実際、システム１００は、一部はユーザのプライベートデータ（例えば、アプリケーション内の文書、ファイルなどの内容）をサーバーまたはネットワーク１２０から遮ることによりプライバシーに対する懸念を緩和する。つまり、ユーザが文書処理アプリケーションで文書を読んでいるときに、どの連動型広告がその文書に最も密接に関係しているかを判定するために、文書の内容がネットワーク１２０によりスクリーニングされないということである。その代わりに、複数の広告を、ユーザのコンピュータ（クライアント）にダウンロードし、格納することができる。ユーザが文書またはファイルにアクセスしたときに、クライアントは、文書をスクリーニングし、コンテンツ連動広告プロセスを実行し、ユーザの文書の内容に基づき最も関連性の高い広告を決定し表示することができる。したがって、サーバーとの接触はなく、ユーザが報告をクリックしない限り、サーバーに情報はいっさい渡らない。広告のユーザのクリックがトリガとなって、サーバーは、クリックデータに基づいて広告との関連性の高い情報にアクセスし、それをユーザに送信することができる。
【００１９】
データまたはコンテンツがサーバー上に格納されるいくつかのアプリケーションでは、コンテンツは、実際には、サーバー上に暗号化形式で格納されうる。クライアントは、ネットワーク１２０またはそのネットワークに接続されたサーバー１５０からユーザのプライベートコンテンツが見えないように、それでいてサーバー上に格納されているコンテンツについてコンテンツ連動広告を実施できるように鍵を保有し続ける。一実施例として、「スカイ内バックアップ」型アプリケーションまたは「クラウド内データ」アプリケーションが考えられ、ユーザは、自分のコンテンツをどこからでもアクセス可能なサーバー上に格納することができる。コンテンツは、文書、電子メール、写真などの格納可能なオブジェクトを含むことができる。
【００２０】
次に図２を参照すると、本発明の一態様により、オフラインまたはオンラインのときに、コンテンツ連動広告をユーザに表示することを容易にするシステム２００が示されている。システム２００は、クライアント２２０がオンラインであるか、オフラインであるかを検出し、および／または判定することができる管理コンポーネント２１０、およびクライアント２２０がオンラインであるか、オフラインであるかに基づいて表示する１つまたは複数の広告を選択することができる広告表示コンポーネント２３０を備える。オフラインの場合、ネットワーク２４０（例えば、インターネット）では、広告のクリックスルー（例えば、請求書発行のため）を監視することはできず、また新しい広告もしくは広告関係情報を、ユーザに表示するためにクライアント２２０に送信することはできない。そのため、「Ｃｌｉｃｋ  ｈｅｒｅ  ｔｏ  ｂｕｙ  ｔｈｉｓ  ｂｏｏｋ  ａｔ  Ｇｉａｎｔｂｏｏｋｓｔｏｒｅ．ｃｏｍ」などのクリック連動広告は、ユーザおよびクライアント２２０がオフラインのときには完全にというわけではないとしても概して効果がない。
【００２１】
クライアント２２０がオフラインのときには、異なる種類または形式の報告を使用するとよい。実施例としては、「Ｄｒｉｎｋ  Ｃｏｌａ  Ｗ」などのブランド広告および電話に基づく広告がある。電話に基づく広告の一種に、ペイパーコール広告がある。ペイパーコール広告は、「Ｃａｌｌ  ８００−５５５−５５５５  ｔｏ  ａｐｐｌｙ  ｆｏｒ  Ｂａｎｋ  ＄  Ｃｒｅｄｉｔ  Ｃａｒｄ」などのメッセージを読み上げることができる。例えば、Ｂａｎｋ  ＄が、ＭＮＯ  Ｎｅｔｗｏｒｋｓを通して広告を出すとする。ＭＮＯ  ＮｅｔｗｏｒｋｓまたはＢａｎｋ  ＄は、この広告に固有の専用電話番号を設定することができる。ＭＮＯ  Ｎｅｔｗｏｒｋｓは、その電話回線のすべてのトラヒックを監視することができるか、またはＢａｎｋ  ＄がＭＮＯ  Ｎｅｔｗｏｒｋｓにその着呼リストおよび／または通話記録を送信することができる。いずれの場合も、ＭＮＯ  Ｎｅｔｗｏｒｋｓは、広告により電話回線上に発生したトラヒックの量を確認し、通話毎にまたは時間増分毎にＢａｎｋ  ＄に料金を請求することができる。
【００２２】
印刷可能なクーポンも、広告として表示することができる。使用されるオフライン広告に関係なく、これらは、クライアントがオンラインになっている間、クライアントの広告格納データベース２５０に格納されるべきである。
【００２３】
オフラインのときにネットワークとのクリックスルー活動は、実現可能でないけれども、ユーザは、それでも、オフライン広告をクリックして追加のコンテンツを表示することができる。しかし、追加のコンテンツは、クライアントがオンラインである間に、クライアントコンピュータ上にキャッシュされるべきである。したがって、ユーザがオフライン広告をクリックした場合、ユーザは、広告に関する詳細な情報のあるところに導かれるか、またはその情報を表示されうるが、ただし、この情報は、オフラインになる前にクライアントのメモリに格納されている情報であると仮定する。クリックデータ（例えば、それぞれの広告のインプレッションの数およびユーザが詳細情報を求めてクリックした広告の数）は、クライアントがオフラインである間に、記録され、および／または追跡されうる。
【００２４】
管理コンポーネント２１０が、クライアントが再びオンラインになっていることを検出すると、更新コンポーネント２６０は、広告格納データベース２５０内の広告を選択的に更新することができる。更新は、期限切れ広告を削除すること、新しい広告を追加すること、および／または旧バージョンの広告を新バージョンの広告で置き換えることを含むことができる。定期的にネットワーク２４０に接続し、広告と同期をとるように、ユーザに義務付けることができる。例えば、無料バージョンのアプリケーションソフトウェアを継続使用するためにネットワーク２４０に定期的に再接続するようユーザに義務付けることができる。さもなければ、ネットワーク２４０への接続をユーザが確立するまで、ソフトウェア内のいくつかの機能を無効にすることができる（例えば、読み取り専用モードにする）。
【００２５】
次に図３を参照すると、本発明の一態様により、ユーザによって許可された広告のレベルに基づきクライアント上のアプリケーションプログラムの機能を制御することを容易にするシステム３００が示されている。システム３００は、クライアントコンピュータまたはマシン３２０上でユーザによって許可された広告のレベルを決定する管理コンポーネント３１０を備える。高レベルの広告では、アプリケーション制御コンポーネント３３０はアプリケーションのフル機能をクライアントマシン３２０に提供することができる。しかし、低レベルの広告機能では、アプリケーションの１つまたは複数の機能を無効にするか、または他の何らかの方法で制限することができる。
【００２６】
次に図４を参照すると、本発明の一態様により、アプリケーションプログラムでコンテンツ連動広告を表示することを容易にするシステム４００が示されている。システム４００は、サーバー４１０および少なくとも１つのクライアントマシン４２０を備える。サーバー４１０は、暗号化されたコンテンツおよびそのようなコンテンツに対応しうる暗号化された広告４３０を格納している。サーバー４１０からの特定のコンテンツがユーザによって望まれている場合、そのような暗号化データがクライアント４２０に送信され、その後、復号コンポーネント４４０により復号され、好適なデータベース４５０内に格納されるようにできる。クライアント４２０は、ユーザには公開されない復号鍵を使用して、ユーザがそのような広告の表示を改善しないように、また改ざんできないようにすることができる。実際、クライアント上に復号鍵を保持するプログラムまたはソフトウェアコードは、追加されたセキュリティ対策とともに暗号化することができる。
【００２７】
システム４００は、サーバーと通信している間にクライアントコンピュータ上でクライアントコードを実行することができるいくつかのアプリケーションに特に関連している場合がある。サーバーは、広告対応とすることができる。サーバーソフトウェアでは、さらに、広告をクライアントソフトウェアに配信し、必ず表示されるようにしたい場合もある。標準ＰＯＰ電子メールプロトコルのような単純なプロトコルが使用された場合、クライアントソフトウェアは、接続することが可能であり、広告は必ずしも表示されない。それとは別に、専用プロトコルを使用できる。しかし、不道徳なユーザだと、この専用プロトコルを使用し、広告を伴わない電子メールを表示する電子メールクライアントソフトウェアを作成することも可能であろう。そのため、サーバーソフトウェアは、クライアントソフトウェアに固有の鍵を使用して電子メールを暗号化することができる。
【００２８】
しかし、不道徳なユーザだと、クライアントソフトウェアをデコードし、秘密鍵が格納されている場所を突き止めて、広告を表示しない専用クライアントソフトウェアを作成することが可能であろう。それとは別に、不道徳なユーザだと、クライアントソフトウェアをデコードし、広告を表示するコードの部分を削除することも可能であろう。これら両方のシナリオの発生を防ぐために、クライアントソフトウェアでは、デジタル権利管理に使用される技術と似た、秘密鍵を隠す技術、またコードの鍵部分、特に広告を表示するセクションがいかなる方法でも修正または改ざんされていないことを確認する技術を採用することができる。この目標を達成するために、多くの技術を使用することができる。例えば、ソフトウェアコード自体は、暗号化および復号をオンザフライで行える。特に、秘密鍵を含むコードは、暗号化することができる。コードが復号される前に、クライアントまたは他の何らかのシステムコンポーネントは、デバッガまたはブレークポイントをチェックすることができる。さらに、広告コードを含むクリティカルセクションのチェックサムを計算するコードを挿入することができ、コードは、望ましくない修正が検出された場合にメッセージの復号に失敗するか、または他の何らかの機能を正常に行えない。最後に、信頼できるハードウェアを使用することで、復号コードが秘密のままであるようにできる。信頼できるハードウェアでは、広告コードが改ざんされていないことを確認することができる。
【００２９】
暗号化に公開鍵暗号法を使用すると特に都合がよいと思われる。公開鍵は、サーバーソフトウェア用に自由に与えることができるが、秘密鍵は、クライアント内に格納（暗号化）することができる。すべてのクライアントソフトウェアに対し単一の公開鍵を用意するか、またはクライアントソフトウェアのユーザ毎に１つの公開鍵／秘密鍵の対を用意することができる。公開鍵暗号法を使用することで、複数のサーバーが与えられたクライアントについて広告を表示することができる。例えば、多くの異なるメールサーバーと連携するであろう、あるバージョンの電子メールアプリケーションが販売されうる。公開鍵は、署名され、失効チェックを受けることができる。このようにして、クライアントは、そのサーバーに接続し、その署名付き公開鍵を配送することができる。サーバーは、署名をチェックし、次いで、公開鍵を使用し、公開鍵とともにメッセージを暗号化し、広告を送信する専用ＡＰＩを使用して、暗号化されたコンテンツを配信することができる。広告は、修正を防ぐために、メッセージコンテンツとともに暗号化されるべきである。公開鍵情報は、広告（例えば、コンテンツ連動広告）なしでクライアントソフトウェアの複数のバージョンをビルドすることが可能か心配せずにさまざまなメールサーバーに送ることが可能である。サーバーでは、代わりに、公開鍵を使用して、対称暗号アルゴリズム用のセッション鍵をクライアントに送信し、次いで、保護の仕方は似ているが、より効率的である可能性のある、このセッション鍵を使用してデータおよび広告を暗号化することができる。
【００３０】
特定の公開鍵を異常に多くのクライアントが使用している場合、その公開鍵は、無効にされ、証明書失効リストに記載できる。このリストを定期的にチェックするか、または参照し、公開鍵の証明書が失効してしまったかどうかを調べることができる。
【００３１】
次に本発明によるさまざまな方法が、一連の活動として説明されるが、本発明は活動の順序によって制限されるわけではなく、本発明による、いくつかの活動は本明細書において図に示され、説明されているのと異なる順序で、および／または他の活動と同時に実行することも可能であることが理解され、認識されるであろう。例えば、当業者であれば、代替えとして方法を一連の相互に関連のある状態またはイベントとして状態図などの中に表されることが可能であることを理解し、認識するであろう。さらに、本発明による方法を実施するために、例示されているすべての活動が必要なわけではない。
【００３２】
次に図５を参照すると、本発明の一態様により、アプリケーションプログラムに関してコンテンツ連動広告の表示を容易にする例示的な方法５００の流れ図が示されている。方法５００は、５１０においてクライアントマシン上に広告を格納することを伴う。例えば、広告は、インターネットまたは他のネットワークまたはサーバーからダウンロードされ、クライアント上に格納されるようにできる。方法５００は、５２０で、クライアントはオンラインであるか、オフラインであるかを判定することができる。クライアント上に格納されている広告の少なくとも部分集合は、５３０で、クライアントの状態（オフラインまたはオンライン）に基づいてユーザに対し表示することができる。つまり、ユーザが広告を対話操作できる能力をある程度制限できるため、オフラインのときに、異なる形態広告をユーザに対して表示することができるということである。例えば、広告主は、クライアントがオフラインのときに、クリック連動広告ではなく、ブランド広告または電話回線に基づく広告を表示することを選択することができる。
【００３３】
続いて図６を参照すると、クライアントがオンラインのときに図５のクライアントに格納されている広告の更新を容易にする例示的な方法６００が示されている。オンラインであれば、クライアント上に格納されている広告は、６１０で、選択的に更新できる。例えば、「タイムアウト」または期限切れになった広告は、クライアントの記憶装置から削除し、より新しい広告で置き換えることができる。それに加えて、限定はしないが、ユーザのコンテンツ購読者層情報および／または地理的情報を含むユーザのプロファイル情報に基づく広告をクライアントの記憶装置に送るように選択することができる。
【００３４】
次に図７を参照すると、クライアント上のアプリケーションの機能のレベルを制御することを容易にする例示的な方法７００の流れ図が例示されている。方法７００は、７１０において、クライアントコンピュータ上で１つまたは複数のコンテンツ連動広告を受け取り、７２０において、クライアントコンピュータ上に広告の少なくとも部分集合を格納することを伴う。７３０において、クライアント上でユーザにより許可されている広告のレベルを決定し、７４０においてユーザによって許可された広告のレベルに基づき、クライアント上で実行されている少なくとも１つのアプリケーションの機能のレベルを調節または制御することができる。
【００３５】
図８には、本発明の一態様による、クライアント実行アプリケーション上に表示するため選択されたコンテンツ連動広告が必ず表示されるようにすることを容易にする例示的な方法８００を示す流れ図がある。方法８００は、８１０においてコンテンツおよび広告をクライアントマシンに配信し、８２０においてコンテンツが表示された場合および／または表示されたときに広告が表示されることを保証することを伴う。
【００３６】
図９に示されているような例示的な方法９００にしたがって、さらにクライアント実行アプリケーション上で表示するように選択されたコンテンツ連動広告が必ず表示されるようにすることを容易にすることができる。方法９００は、コンテンツの暗号化を続けることができ、このため、使用される暗号法では、信頼できるクライアントのみが対応する秘密鍵を持つように公開鍵を使用することができる。それに加えて、公開鍵の実物証明書も、信頼できる当事者から提示されるようにできる。９２０において、方法９００は、クライアント上で実行している広告関係アプリケーションの改ざんを監視することができる。改ざんが発見された場合、クライアント上の少なくとも１つのアプリケーションの機能は、（９３０で）検出された改ざんのレベルに基づいて制限することができる。
【００３７】
本発明のさまざまな態様の他の背景状況を示すために、図１０および以下の説明は、本発明のさまざまな態様を実装できる好適な動作環境１０１０の簡潔な概要的説明を行うことを意図している。本発明は、１つまたは複数のコンピュータまたは他のデバイスにより実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な背景状況において説明されているが、当業者であれば、本発明は、他のプログラムモジュールと組み合わせて、および／またはハードウェアとソフトウェアとの組み合わせとしても実装できることを理解するであろう。
【００３８】
しかし、一般に、プログラムモジュールは、特定のタスクを実行する、または特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作環境１０１０は、好適な動作環境の一例にすぎず、本発明の用途または機能性の範囲に関する制限を示唆する意図はない。本発明とともに使用するのに適していると思われる他のよく知られているコンピュータシステム、環境、および／または構成として、限定はしないが、パーソナルコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスを含む分散コンピューティング環境などがある。
【００３９】
図１０を参照すると、本発明のさまざまな態様を実装するための例示的環境１０１０はコンピュータ１０１２を含んでいる。コンピュータ１０１２は、演算処理装置１０１４、システムメモリ１０１６、およびシステムバス１０１８を備える。システムバス１０１８は、限定はしないが、システムメモリ１０１６を含むシステムコンポーネントを演算処理装置１０１４に結合する。演算処理装置１０１４は、さまざまな市販プロセッサがあるがそのうちのどれでもよい。デュアルマイクロプロセッサおよびその他のマルチプロセッサアーキテクチャも、演算処理装置１０１４として採用されうる。
【００４０】
システムバス１０１８は、メモリバスまたはメモリコントローラ、周辺機器バスまたは外部バス、および／または１１ビットバス、Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）、Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＳＡ）、Ｅｘｔｅｎｄｅｄ  ＩＳＡ（ＥＩＳＡ）、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）、ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ  （ＶＬＢ）、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）、Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎバス（ＰＣＭＣＩＡ）、およびＳｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）をはじめとする利用可能な各種バスアーキテクチャを使用するローカルバスなど数種類のバス構造のうちのいずれでもよい。
【００４１】
システムメモリ１０１６は、揮発性メモリ１０２０および不揮発性メモリ１０２２を含む。起動時などにコンピュータ１０１２内の要素間の情報転送を行うための基本ルーチンを含む基本入出力システム（ＢＩＯＳ）は、不揮発性メモリ１０２２に格納される。例えば、限定はしないが、不揮発性メモリ１０２２には、読み取り専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、電気的プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、またはフラッシュメモリなどがある。揮発性メモリ１０２０には、外部キャッシュメモリとして動作するランダムアクセスメモリ（ＲＡＭ）がある。例えば、限定はしないが、使用可能なＲＡＭには、同期ＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、Ｅｎｈａｎｃｅｄ  ＳＤＲＡＭ（ＥＳＤＲＡＭ）、Ｓｙｎｃｈｌｉｎｋ  ＤＲＡＭ（ＳＬＤＲＡＭ）、およびＤｉｒｅｃｔ  Ｒａｍｂｕｓ  ＲＡＭ（ＤＲＲＡＭ）などさまざまな形態のものがある。
【００４２】
コンピュータ１０１２は、さらに、取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体も備える。図１０は、例えばディスク記憶装置１０２４を示している。ディスク記憶装置１０２４は、限定はしないが、磁気ディスクドライブ、フロッピディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、またはメモリスティックを含む。さらに、ディスク記憶装置１０２４は、記憶媒体を、単独で備えることも、また限定はしないが、コンパクトディスクＲＯＭデバイス（ＣＤ−ＲＯＭ）、ＣＤ書き込み可能ドライブ（ＣＤ−Ｒドライブ）、ＣＤ書き換え可能ドライブ（ＣＤ−ＲＷドライブ）、またはデジタル多用途ディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ）などの光ディスクドライブを含む他の記憶媒体と組み合わせて備えることもできる。ディスク記憶装置１０２４をシステムバス１０１８に接続しやすくするために、通常、インターフェイス１０２６などの取り外し可能または取り外し不可能インターフェイスを使用する。
【００４３】
図１０は、ユーザと適当な動作環境１０１０内の説明されている基本コンピュータ資源との媒介手段として動作するソフトウェアを説明していることは理解されるであろう。このようなソフトウェアとして、オペレーティングシステム１０２８がある。オペレーティングシステム１０２８は、ディスク記憶装置１０２４に格納されることができ、コンピュータシステム１０１２の資源の制御および割り当てを行う働きをする。システムアプリケーション１０３０は、システムメモリ１０１６またはディスク記憶装置１０２４に格納されているプログラムモジュール１０３２およびプログラムデータ１０３４を通じてオペレーティングシステム１０２８により資源の管理を利用する。本発明は、さまざまなオペレーティングシステムまたはオペレーティングシステムの組み合わせで実装できることは理解されるであろう。
【００４４】
ユーザは（複数の）入力デバイス１０３６を使用してコマンドまたは情報をコンピュータ１０１２に入力する。入力デバイス１０３６は、限定はしないが、マウスなどのポインティングデバイス、トラックボール、ペン、タッチパッド、キーボード、マイク、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、ＴＶチューナーカード、デジタルカメラ、デジタルビデオカメラ、Ｗｅｂカメラなどを含む。これらの入力デバイスやその他の入力デバイスは、（複数の）インターフェイスポート１０３８を介してシステムバス１０１８を通じて演算処理装置１０１４に接続する。例えば、（複数の）インターフェイスポート１０３８には、シリアルポート、パラレルポート、ゲームポート、およびユニバーサルシリアルバス（ＵＳＢ）がある。（複数の）出力デバイス１０４０は、（複数の）入力デバイス１０３６と同じ種類のポートのうちいくつかを使用する。したがって、例えば、ＵＳＢポートは、コンピュータ１０１２に入力し、コンピュータ１０１２からの情報を出力デバイス１０４０に出力するために使用されることができる。出力アダプタ１０４２が備えられており、特別なアダプタを必要とする他の出力デバイス１０４０のうちモニタ、スピーカ、およびプリンタなどいくつかの出力デバイスがあることを示している。出力アダプタ１０４２は、例えば、限定はしないが、出力デバイス１０４０とシステムバス１０１８とを接続する手段となるビデオおよびサウンドカードを含む。他のデバイスおよび／またはデバイスのシステムは（複数の）リモートコンピュータ１０４４などの入出力機能を備えることに留意されたい。
【００４５】
コンピュータ１０１２は、（複数の）リモートコンピュータ１０４４などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続環境で動作させることができる。（複数の）リモートコンピュータ１０４４は、パーソナルコンピュータ、サーバー、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースの機器、ピアデバイス、またはその他の共通ネットワークノードなどとすることができ、通常は、コンピュータ１０１２に関係する上述の要素の多くまたはすべてを含む。簡単のため、メモリ記憶デバイス１０４６のみ（複数の）リモートコンピュータ１０４４とともに例示されている。（複数の）リモートコンピュータ１０４４は、ネットワークインターフェイス１０４８を通じてコンピュータ１０１２に論理的に接続され、通信接続１０５０を介して物理的に接続される。ネットワークインターフェイス１０４８は、ローカルエリアネットワーク（ＬＡＮ）およびワイドエリアネットワーク（ＷＡＮ）などの通信ネットワークを含む。ＬＡＮ技術には、Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ（ＦＤＤＩ）、Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ（ＣＤＤＩ）、Ｅｔｈｅｒｎｅｔ（登録商標）／ＩＥＥＥ  １１０２．３、Ｔｏｋｅｎ  Ｒｉｎｇ／ＩＥＥＥ  １１０２．５などがある。ＷＡＮ技術には、２地点間接続リンク、統合デジタル通信網（ＩＳＤＮ）などの回線交換ネットワークとその変種、パケット交換ネットワーク、およびデジタル加入者回線（ＤＳＬ）などがある。
【００４６】
（複数の）通信接続１０５０とは、ネットワークインターフェイス１０４８をバス１０１８に接続するために使用されるハードウェア／ソフトウェアのことである。通信接続１０５０はわかりやすくするためにコンピュータ１０１２内に示されているが、コンピュータ１０１２の外部にあってもかまわない。ネットワークインターフェイス１０４８の接続に必要なハードウェア／ソフトウェアには、例えば、通常の電話グレードのモデム、ケーブルモデム、およびＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、およびＥｔｈｅｒｎｅｔ（登録商標）カードなどの内部および外部技術がある。
【００４７】
上述した内容は、本発明の複数の実施例を含む。もちろん、本発明を説明するためにコンポーネントまたは方法の考えられるすべての組み合わせを説明することは不可能であるが、当業者であれば、本発明の他の多くの組み合わせおよび置換が可能であることを理解できるであろう。したがって、本発明は、付属の請求項の精神と範囲内に収まるすべてのそのような変更、修正、および変更形態を包含することが意図されている。さらに、「含む、備える（ｉｎｃｌｕｄｅ）」という言い回しが詳細な説明または請求項で使用されている範囲において、「備える、含む、からなる（ｃｏｍｐｒｉｓｉｎｇ）」が使用された場合に請求項の中で接続語として解釈されるのでこのような用語は「備える、含む、からなる（ｃｏｍｐｒｉｓｉｎｇ）」という用語と同様の使い方で包含的であることが意図される。
【図面の簡単な説明】
【００４８】
【図１】本発明の一態様によりコンテンツ連動広告の表示を容易にし、プライバシーに対する懸念を緩和するシステムの高水準ブロック図である。
【図２】本発明の一態様によりクライアントがオンラインであるかオフラインであるかに応じてクライアントにコンテンツ連動広告を配信し、表示する操作を容易にするシステムのブロック図である。
【図３】本発明の一態様により、ユーザによって許可された広告のレベルに基づきクライアント上のアプリケーションプログラムの機能を制御することを容易にするシステムのブロック図である。
【図４】本発明の一態様により、クライアントによってアクセスされるそのコンテンツの少なくとも一部においてコンテンツ連動広告処理を実行しながらサーバー上に格納されているコンテンツのプライバシーを保護することを容易にするシステムのブロック図である。
【図５】本発明の一態様により、クライアントマシン上のアプリケーションに含まれるコンテンツ連動広告の配信および表示を容易にする例示的な方法を示す流れ図である。
【図６】本発明の一態様により、クライアントがオンラインである場合に図５のクライアント上に格納されている広告を更新することを容易にする例示的な方法を示す流れ図である。
【図７】本発明の一態様により、ユーザによって許可された広告のレベルに基づきクライアント上のアプリケーションの機能のレベルを制御することを容易にする例示的な方法を示す流れ図である。
【図８】本発明の一態様により、クライアント実行アプリケーション上に表示するため選択されたコンテンツ連動広告が必ず表示されるようにすることを容易にする例示的な方法を示す流れ図である。
【図９】本発明の一態様により、クライアント実行アプリケーション上に表示するため選択されたコンテンツ連動広告が必ず表示されるようにすることをさらに容易にする例示的な方法を示す流れ図である。
【図１０】本発明のさまざまな態様を実装するための例示的な環境を示す図である。
【図１】
2008546075.tif 000003
【図２】
2008546075.tif 000004
【図３】
2008546075.tif 000005
【図４】
2008546075.tif 000006
【図５】
2008546075.tif 000007
【図６】
2008546075.tif 000008
【図７】
2008546075.tif 000009
【図８】
2008546075.tif 000010
【図９】
2008546075.tif 000011
【図１０】
2008546075.tif 000012