特許第6441817号(P6441817)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フェイスブック,インク.の特許一覧

特許6441817入札の予想収益に基づくリアルタイム入札の開始
<>
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000002
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000003
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000004
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000005
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000006
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000007
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000008
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000009
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000010
  • 特許6441817-入札の予想収益に基づくリアルタイム入札の開始 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6441817
(24)【登録日】2018年11月30日
(45)【発行日】2018年12月19日
(54)【発明の名称】入札の予想収益に基づくリアルタイム入札の開始
(51)【国際特許分類】
   G06Q 30/02 20120101AFI20181210BHJP
【FI】
   G06Q30/02 438
   G06Q30/02 446
【請求項の数】11
【全頁数】24
(21)【出願番号】特願2015-556951(P2015-556951)
(86)(22)【出願日】2014年1月17日
(65)【公表番号】特表2016-507116(P2016-507116A)
(43)【公表日】2016年3月7日
(86)【国際出願番号】US2014011947
(87)【国際公開番号】WO2014123677
(87)【国際公開日】20140814
【審査請求日】2016年12月9日
(31)【優先権主張番号】13/764,750
(32)【優先日】2013年2月11日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ガルシア−マルティネス、アントニオ フェリペ
(72)【発明者】
【氏名】ラブキン、マーク
【審査官】 谷川 智秀
(56)【参考文献】
【文献】 米国特許出願公開第2010/0241511(US,A1)
【文献】 国際公開第2011/035156(WO,A2)
【文献】 国際公開第2011/111167(WO,A1)
【文献】 特表2013−502018(JP,A)
【文献】 米国特許出願公開第2012/0158522(US,A1)
【文献】 特表2012−503246(JP,A)
【文献】 特開2007−122592(JP,A)
【文献】 特開2001−283049(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00−99/00
(57)【特許請求の範囲】
【請求項1】
複数の広告主からオンライン・システムにおいて受け取った入札履歴情報にアクセスする工程であって、広告主から受け取った前記入札履歴情報は、前記オンライン・システムの1以上のユーザに広告を提示することに対して前記広告主から以前に受け取った入札および前記広告主から以前に受け取った前記入札の入札値について記述している、工程と、
アクセスされた前記入札履歴情報を使用して、前記複数の広告主からの入札値についての確率分布を決定する工程であって、前記確率分布は、様々な入札値を前記広告主から受け取る確率を示している、確率分布決定工程と、
入札値についての前記確率分布に基づいて、前記オンライン・システムのユーザに広告する機会を埋めるために前記ユーザに広告を提示するための入札のリアルタイム受取りに対する前記オンライン・システムの予想収益を決定する工程であって、前記予想収益は、前記確率分布の各入札値による収益を通常オークションの清算価格と比較して得た増加分の平均として計算される、予想収益決定工程と、
前記オンライン・システムが、前記予想収益をしきい値と比較する工程と、
前記予想収益が前記しきい値を超えていることを示す比較に応答して、前記オンライン・システムの前記ユーザに広告をする機会を埋めるための広告に対して前記広告主のうちの1以上によるリアルタイム入札を要求する工程と、
前記機会を埋めるための広告を前記ユーザに提示することに対する1以上のリアルタイム入札を前記1以上の広告主から受け取る工程と、
前記1以上の広告主から受け取った前記入札に基づいて、前記機会を埋めるための広告を選択する工程とを含む、方法。
【請求項2】
前記しきい値は、以前に受け取った入札値に基づいて実行されるオークションの清算価格である、請求項1に記載の方法。
【請求項3】
前記確率分布決定工程は、
前記入札履歴情報から選択されたランダム・サンプルのデータを使用して複数のオークションにおける入札値のシミュレーションを行う工程と、
前記シミュレーションが行われた入札値に基づいて前記確率分布を決定する工程とを含む、請求項1に記載の方法。
【請求項4】
前記広告主から受け取った前記入札履歴情報は、前記ユーザに広告を提示するために前記広告主から以前に受け取った入札値を記述している情報を含む、請求項1に記載の方法。
【請求項5】
複数の広告主から複数の広告要求をオンライン・システムにおいて受け取る工程であって、各広告要求は前記広告要求に関連付けられている広告を提示することに対する前記オンライン・システムの収益を表している入札値を含む、工程と、
前記オンライン・システムのユーザに広告を提示する機会を決定する工程と、
前記複数の広告要求に含まれている前記入札値に基づいて清算価格を決定する工程であって、前記清算価格は、前記ユーザに前記広告を提示する機会に対する前記オンライン・システムの最低収益を示している、工程と、
前記複数の広告主から受け取った入札履歴情報にアクセスする工程であって、広告主から受け取った前記入札履歴情報は、前記オンライン・システムの1以上のユーザに広告を提示することに対して前記広告主から以前に受け取った入札の入札値について記述している、工程と、
アクセスされた前記入札履歴情報から前記複数の広告主からの入札値についての確率分布を決定する工程であって、前記確率分布は、様々な入札値の入札を前記広告主から受け取る確率を示している、確率分布決定工程と、
入札値についての前記確率分布に基づいて、前記機会を埋めるために前記ユーザに広告を提示するための広告主から受け取った追加の入札に対する前記オンライン・システムの予想収益を決定する工程であって、前記予想収益は、前記確率分布の入札値の予想値として計算される、工程と、
前記予想収益を前記清算価格と比較する工程と、
前記予想収益が前記清算価格よりも高いしきい値を超えるか否かを決定する工程と、
前記予想収益が前記清算価格よりも高い前記しきい値を超えていることに応答して、前記機会を埋めるために前記ユーザに広告を提示するためのリアルタイム入札を前記広告主のうちの1以上に要求する工程と、
前記ユーザに広告を提示するための1以上のリアルタイム入札を前記広告主のうちの1以上から受け取る工程と、
前記機会を埋めるために前記ユーザに提示するための前記広告主のうちの1以上から受け取った前記リアルタイム入札の1つに関連付けられている前記広告のうちの1以上を選択する工程とを含む、方法。
【請求項6】
前記確率分布決定工程は、
前記入札履歴情報から選択されたデータに基づいて複数のオークションのシミュレーションを行う工程と、
前記シミュレーションに基づいて前記確率分布を決定する工程とを含む、請求項に記載の方法。
【請求項7】
前記確率分布は、前記予想収益が前記しきい値より高くなる確率を示す、請求項に記載の方法。
【請求項8】
前記広告主から受け取った前記入札履歴情報は、前記ユーザに広告を提示するために前記広告主から以前に受け取った入札値を記述している情報を含む、請求項に記載の方法。
【請求項9】
前記広告主から受け取った前記入札履歴情報は、前記ユーザと1以上の特徴を共有している1以上のユーザに広告を提示するために前記広告主から以前に受け取った入札値を記述している情報を含む、請求項に記載の方法。
【請求項10】
前記予想収益が前記しきい値を超えていないことに応答して、記憶された前記広告要求に含められた前記入札値に基づいて前記広告を選択する工程をさらに含む、請求項に記載の方法。
【請求項11】
選択された前記広告を前記ユーザに表示するために提示する工程をさらに含む、請求項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に広告に関し、さらに詳細には、ソーシャル・ネットワーキングおよびその他のオンライン・システムにおけるインプレッション広告のリアルタイム入札に関する。
【背景技術】
【0002】
広告主は、様々なオンライン・システムに料金を支払って、オンライン・システムのユーザに自社の広告(「アド」)を提示している。広告主は、往々にして、自社の製品またはサービスに関心を持つ可能性が高く、かつ広告した製品またはサービスを購入する可能性が最も高いユーザに対して広告を提示しようとする。したがって、あるオンライン・システムのユーザが、広告した製品またはサービスを購入する可能性がより高い場合、広告主は、そのユーザに対して広告を提示するために、そのオンライン・システムに支払う金額を増加することもある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
広告と対話する可能性が高い、または広告した製品またはサービスを購入する可能性が高いユーザを識別するために、広告主または広告パートナは、ユーザのオンライン・ブラウズ・アクティビティを記憶することが多い。ユーザのブラウズ・アクティビティに基づいて、広告主または広告パートナは、特定のウェブサイトを訪問して特定のアイテムを購入したユーザに対して広告を提示するためにオンライン・システムに提示する金額を増加することもある。しかし、広告主は、通常は、ブラウズを行うために使用されたブラウザに基づいて、記憶されたブラウズ・アクティビティにインデックス付けを行う。ユーザは、複数のブラウザを用いてオンライン・ブラウズを行うこともあり、また複数のユーザが同じブラウザを使用することもあるので、広告主は、ブラウザ索引履歴に頼って関心を持っている可能性がある潜在的なユーザを識別していると、広告を打つ対象を誤る恐れもある。
【課題を解決するための手段】
【0004】
ソーシャル・ネットワーキング・システムは、広告主または広告パートナが、ユーザに対する広告の提示に入札することができるようにする。これらの入札は、ユーザがソーシャル・ネットワーキング・システムのサービスにアクセスしたときに、そのユーザに対して広告を提示する機会がある間に、リアルタイムに受け取られる。これにより、広告主は、ユーザがコンテンツにアクセスしているときに、そのユーザに対して提示する特定の広告を選択することができる。一実施形態では、ソーシャル・ネットワーキング・システムは、以前に広告主から受け取った入札を取り出して、そのユーザ、またはそのユーザと同様の特徴を有する複数のユーザに対して、広告を提示する。以前に受け取った入札に基づいて、ソーシャル・ネットワーキング・システムは、様々な入札値を有する入札を受け取る蓋然性を記述した確率分布を生成する。この確率分布から、ソーシャル・ネットワーキング・システムは、リアルタイムに受け取った入札など、広告主から追加入札を受け取ることによる予想収益を決定する。予想収益がしきい値より大きい場合、ソーシャル・ネットワーキング・システムは、広告主に対して追加入札を要求し、広告主は、広告および入札値を識別し、ソーシャル・ネットワーキング・システムは、それらの追加入札から広告を選択する。一実施形態では、しきい値は、以前に記憶した入札値に基づいて広告を選択することによる清算価格であるので、追加入札は、それらがソーシャル・ネットワーキング・システムの収益を増加させる可能性が高いときに受け取られ、ソーシャル・ネットワーキング・システムの収益を増加させる見込みがないときには受け取られない。
【0005】
この要約および以下の詳細な説明に記載する特徴および利点は、全てを含むものではない。多くのさらなる特徴および利点は、図面、明細書および特許請求の範囲に鑑みて、当業者には明らかになるであろう。例えば、ソーシャル・ネットワーキング・システムに関連して本発明のいくつかの実施形態について述べるが、本発明の実施形態は、複数の装置の間でユーザの識別を一致させることができるシステムであればその他のオンライン・システムとともに使用することができ、かつ/または複数のブラウザを使用することができる。
【図面の簡単な説明】
【0006】
図1】一実施形態によるソーシャル・ネットワーキング・システムを示すブロック図。
図2】一実施形態による例示的な広告要求を示す図。
図3】一実施形態による、パートナ識別子とブラウザ識別およびユーザ識別とをペアリングするプロセスを示す対話図。
図4】一実施形態による、例示的な識別マッチング・テーブルを示す図。
図5】一実施形態によるオークション・モジュールを示すブロック図。
図6A】一実施形態による例示的な過去の入札を示すプロット。
図6B】一実施形態による例示的な収益分布を示すヒストグラム。
図7】一実施形態による、確率分布を使用してオークションをリアルタイム入札に公開するか否かを決定する方法を示すフローチャート。
図8】一実施形態によるマッチング・テーブルとパートナ・テーブルとの間の例示的なマッチングを示す図。
図9】一実施形態によるリアルタイムに広告入札を要求する方法を示すフローチャート。
【発明を実施するための形態】
【0007】
これらの図面は、例示のみを目的として、本発明の様々な実施形態を示すものである。当業者であれば、以下の説明から、本明細書に記載する本発明の原理を逸脱することなく、本明細書に例示する構造および方法の代替実施形態を利用することができることを、容易に理解されるであろう。
【0008】
システム・アーキテクチャ
図1は、ソーシャル・ネットワーキング・システム100のシステム・アーキテクチャの一実施形態を示すブロック図である。このシステム・アーキテクチャは、コンピュータ実行可能プログラム・モジュールとして構成される。本明細書で使用する「モジュール」という用語は、特定の機能を提供するコンピュータ・プログラム論理および/またはデータに及ぶ。モジュールは、ハードウェア、ファームウェアおよび/またはソフトウェアにより実装される。ソーシャル・ネットワーキング・システム100は、アクション・ロガー115、アクション・ログ120、広告(「アド」)サーバ125、ニュースフィード・ジェネレータ130、オークション・モジュール135、広告ストア140、ユーザ・プロフィール・ストア145、つながりストア150、クッキー同期モジュール155、通信モジュール160、および広告アプリケーション・プログラム・インタフェース(API)165を含む。他の実施形態では、ソーシャル・ネットワーキング・システム100は、様々なアプリケーションに対して、追加のモジュールを含んでいてもよいし、モジュールの数がこれより少なくてもよいし、あるいはこれらと異なるモジュールを含んでいてもよい。ネットワーク・インタフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク操作コンソールなどの従来の構成要素は、システムの詳細が分かりにくくならないように図示を省略してある。
【0009】
ソーシャル・ネットワーキング・システム100は、他のユーザと通信および対話する機能をユーザに提供する。使用時には、ユーザは、ソーシャル・ネットワーキング・システム100に参加し、次いで、自分が接続したいと思ういくつかの他のユーザへのつながりを追加する。本明細書で使用する「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム100を通じてつながり、関連または関係を形成した任意の他のユーザに及ぶ。つながりは、ユーザ(例えば友達となる別のユーザを選択するユーザなど)によって明示的に追加されてもよいし、ユーザ(例えば同じ教育機関の同窓生であるユーザなど)の共通の特徴に基づいてソーシャル・ネットワーキング・システム100が作成してもよい。
【0010】
ソーシャル・ネットワーキング・システムにおけるつながりは、通常は双方向であるが、必ずしも双方向でなくてもよいので、「ユーザ」および「友達」という用語は、参照構造に依存する。例えば、ボブおよびジョーがともにソーシャル・ネットワーキング・システム100のユーザで、互いに接続している場合、ボブおよびジョーは、互いの友達でもある。ユーザ間のつながりは、直接的なつながりであってもよいが、実施形態によっては、ユーザ間のつながりは、1以上のつながりレベルを通じた間接的なものであってもよい。また、「友達」という用語は、ユーザ同士が実世界でも実際に友達であることを必ずしも必要としないが(一般に、ユーザの1人が事業体またはその他のエンティティである場合などが該当する)、本明細書では、ソーシャル・ネットワーキング・システム100におけるつながりを示すものとして使用される。
【0011】
ソーシャル・ネットワーキング・システム100は、ソーシャル・ネットワーキング・システム100によって維持される様々なタイプのアイテムに対してそのユーザが様々な運用を行うことを可能にする。これらのアイテムとしては、ソーシャル・ネットワーキング・システム100のユーザが属することができるグループまたはネットワーク(ここでの「ネットワーク」は、物理的な通信ネットワークではなく、人と人との間の社会的ネットワークに及ぶ)、ユーザが関心を抱くかもしれないイベントまたはカレンダのエントリ、ユーザがソーシャル・ネットワーキング・システム100を通じて使用する可能性のあるコンピュータ・ベース・アプリケーション、およびユーザがソーシャル・ネットワーキング・システム100を通じてアイテムの購入、売却、オークション、レンタルまたは交換を行うことを可能にする取引などが挙げられる。これらは、ユーザがソーシャル・ネットワーキング・システム100上で運用することができるアイテムの単なる一例であり、その他にも多くのアイテムが考えられる。
【0012】
クライアント・デバイス102は、クライアント・デバイス102、パートナ・システム105、広告システム170、および/またはソーシャル・ネットワーキング・システム100の間の通信経路であるネットワーク110を通じて、ソーシャル・ネットワーキング・システム100と対話する。ネットワーク110は、通常はインターネットであるが、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、広域ネットワーク(WAN)、有線または無線のモバイル・ネットワーク、私設ネットワークまたは仮想私設ネットワークなど、任意の通信経路とすることができる。一実施形態では、ネットワーク110は、標準的な通信技術および/またはプロトコルを使用する。ネットワーク110で使用されるプロトコルの例としては、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)などが挙げられる。ネットワーク110を通じて交換されるデータは、ハイパーテキスト・マークアップ言語(HTML)、拡張可能なマークアップ言語(XML)などの技術および/またはフォーマットを用いて表現される。実施形態によっては、エンティティは、上述の技術の代わりに、またはそれらに加えて、カスタムおよび/または専用のデータ通信技術を使用してもよい。
【0013】
クライアント・デバイス102は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ポータブル・コンピュータ、携帯情報端末(PDA)、スマートフォン、またはその他の任意の、計算機能およびデータ通信能力を備えたデバイスとすることができる。複数のクライアント・デバイス102がネットワーク110を通じて通信するように構成することもできる。分かりやすくするために、図1にはクライアント・デバイス102を1つしか示していないが、多数のクライアント・デバイス102がソーシャル・ネットワーキング・システム100と対話していてもよい。
【0014】
一実施形態では、クライアント・デバイス102は、1以上のブラウザ175を実行し、ユーザは、これらのブラウザを使用してソーシャル・ネットワーキング・システム100にアクセスすることができる。一実施形態では、ユーザは、ソーシャル・ネットワーキング・システム100のアカウントにログインし、ブラウザ175を用いて、ユーザ・プロフィール・ページおよびニュースフィード・ページなど、個人用のウェブ・ページ・セットにアクセスする。ユーザがソーシャル・ネットワーキング・システム100における自分のアカウントにログインすると、ソーシャル・ネットワーキング・システム100は、1以上のクッキーを、ブラウザ175に書き込むなどしてクライアント・デバイス102に書き込み、ユーザおよびブラウザを識別する。例えば、ソーシャル・ネットワーキング・システム100によってユーザに関連付けられているユーザ識別子を含むクッキーが記憶され、またブラウザ識別子を含むクッキーが記憶され、ブラウザ識別子を含むクッキーは、ブラウザのタイプを識別するデータを含むことができる。ユーザがブラウザ175を用いてソーシャル・ネットワーキング・システム100にログインしている間に、ユーザ識別子を含むクッキーがブラウザ175によって記憶される。ブラウザ識別子を含むクッキーは、ユーザによって削除されるまで、またはブラウザ175がその全てのクッキーを削除するまで記憶される。一実施形態では、ユーザは、ソーシャル・ネットワーキング・システム100からクッキーの受け取りをオプトアウトすることもでき、その場合、ソーシャル・ネットワーキング・システム100は、ブラウザ175にクッキーを書き込まない。
【0015】
アクション・ロガー120は、ソーシャル・ネットワーキング・システム100の内部においてその他のシステムに対して行われたユーザの対話を識別し、その情報をアクション・ログ115にログ(記録)する。ソーシャル・ネットワーキング・システム100の内部におけるユーザ対話としては、ユーザ間の対話、ユーザとソーシャル・ネットワーキング・システム100内のページとの間の対話、ユーザとページ上の投稿との間の対話、およびソーシャル・ネットワーキング・システム100にデータを通信するためのプラグインを含むソーシャル・ネットワーキング・システム100の外部のページに対するユーザの訪問またはそのようなページとのユーザの対話などが挙げられる。ソーシャル・ネットワーキング・システム100の外部におけるユーザ・アクションの例としては、サードパーティ・ウェブサイトがホストするオンライン・マーケットを用いて製品またはサービスを購入または閲覧する、サードパーティ・アプリケーション・サーバがホストするウェブサイトに登録または加入する、サードパーティ・ウェブサイトに情報を要求する、などのアクションが挙げられる。ソーシャル・ネットワーキング・システム上、および/またはソーシャル・ネットワーキング・システムの外部でアクションが行われると、アクション・ロガー120によってそのアクションのエントリが生成され、アクション・ログ115に記憶される。
【0016】
一定時間経過すると、アクション・ログ115には、ソーシャル・ネットワーキング・システムのユーザによって行われたアクションを記述したいくつかのエントリが記憶される。こうして、アクション・ログ115は、ユーザ・アクションを記述したデータの豊富なセットを備えるので、アクション・ログ115を解析およびフィルタリングを行って、ユーザ・アクションの傾向および関係、ならびにユーザと様々なオブジェクトとの間の親
和性を識別することができる。
【0017】
ソーシャル・ネットワーキング・システム100は、各ユーザのユーザ・プロフィールを維持する。ユーザによって行われ、アクション・ロガー120によって識別された任意のアクションは、そのユーザのユーザ・プロフィールに関連付けられる。アクションの例としては、他のユーザとのつながりを確立する、他のユーザに関連付けられたコンテンツを見る、グループに参加する、イベントに出席する、アプリケーションを追加する、別のユーザとの取引を完了する、などが挙げられる。ユーザ・プロフィール・ストア145は、ソーシャル・ネットワーキング・システムのユーザについて記述したユーザ・プロフィールを記憶する。ユーザ・プロフィールに含まれる情報の例としては、経歴情報、人口統計学的情報、および職業経験、学歴、趣味または好み、住所などその他のタイプの記述的情報が挙げられる。ユーザが名前、住所、性別、年齢、および生年月日などの情報を対応するユーザ・プロフィールに入力すると、この情報は、ユーザ・プロフィール・ストア145に記憶される。一実施形態では、ユーザ・プロフィール・ストア145は、ユーザがソーシャル・ネットワーキング・システム100にログインを試みたときに参照される、ユーザのログインまたは認証情報も記憶する。
【0018】
通信モジュール160は、ユーザまたはエンティティに関連付けられたページにおける投稿、ニュースフィードの提示、電子メールの送信、またはサイドバーまたはフライアウトなどのカスタム・ユーザ・インタフェースを提供するなど(ただしこれらに限定されない)、ユーザが通信を行うための様々な方法を提供する。つながりストア150は、ユーザ間、またはユーザとオブジェクトとの間のつながりを記述した情報を記憶する。例えば、つながりストア150は、あるユーザに接続された複数のユーザのリストのユーザ同士を関連付け、そのユーザとそのユーザに接続された複数のユーザとの間の対話のタイプを記述した情報を含むことができる。そのユーザとそのユーザに接続された他のユーザとの間の親和性など追加の情報を、つながりストアに維持することもできる。あるユーザとそのユーザに接続された他のユーザとの間の通信は、つながりストア150に記憶される。したがって、ユーザについて、アクション・ログ115、ユーザ・プロフィール・ストア145およびつながりストア150に記憶されたそのユーザに関連付けられた情報を使用して、そのユーザの特徴を予測することができる。
【0019】
ニュースフィード・ジェネレータ130は、各ユーザごとの、そのユーザに関連する可能性がある情報に関する通信を生成する。これらの通信は、ストーリであってもよい。ストーリとは、特定のユーザに関連のあるアクション・ログ115におけるアクションを記述したデータを含む情報メッセージである。これらのストーリは、例えば各ユーザのプロフィール・ページまたはニュースフィード・ページなど、ソーシャル・ネットワーキング・システム100のウェブサイトの1以上のページを通じて、ユーザに提示される。あるいは、ストーリは、通知メッセージ、電子メール、テキスト・メッセージ、ソーシャル・ネットワーキング・システム100の外部のウェブ・ページに含まれるソーシャル・プラグインにおける提示、またはその他の任意の方法など、任意の適当な通信方法を通じてユーザに提示される。
【0020】
広告システム170は、ネットワーク110を通じてソーシャル・ネットワーキング・システム100と対話する。図1には広告システム170を1つしか示していないが、多数の広告システム170がソーシャル・ネットワーキング・システム100と対話してもよい。広告主は、広告システム170を用いて、ソーシャル・ネットワーキング・システム100を通して提示することができる広告を作成し、管理する。一実施形態では、広告主は、広告を作成するために、ソーシャル・ネットワーキング・システム100の広告アプリケーション・プログラム・インタフェース(API)165も使用する。例えば、広告主は、広告システム170を使用して、広告API165と対話し、ソーシャル・ネッ
トワーキング・システム100に広告要求を送信する。広告要求は、ユーザに提示するコンテンツ、入札額、予算、コンテンツを見る資格のあるユーザを識別するためのターゲティング基準、またはその他の情報など、広告の特徴を記述したものである。広告API165は、広告要求に記述された広告をフォーマットに従って作成し、それらを広告ストア140に記憶する。
【0021】
広告システム170によって生成される例示的な広告要求200を、図2に示す。この例示的な広告要求200は、タイトル・フィールド205、ボディ・フィールド210、リンク・フィールド215、および広告識別子フィールド220を含む。タイトル・フィールド205およびボディ・フィールド210は、ソーシャル・ネットワーキング・システム100が使用して、ストーリ・フォーマット、サイド・パネル、またはその他の任意の適当なフォーマットで広告を発行することができる。発行された広告は、タイトル・フィールド205のコンテンツを広告のヘッダとして含み、ボディ・フィールド210のコンテンツをテキスト・ストーリとして含むことができる。例えば、ボディ・フィールド210のコンテンツは、「マルク=アンドレ・アムラン:ポール・デュカスの素晴らしいピアノ・ソナタ変ホ短調をお近くのコンサート・ホールで演奏!チケットの購入はお早めに!」と記されていることもある。リンク・フィールド215は、ユーザがこのコンサートのチケットを購入することができるウェブサイトへのリンクを含むことができる。出来上がった広告は、ボディ・フィールド210にこのテキストを提示し、リンク・フィールド215にこのリンクを提示する。広告識別子フィールド220は、この広告を識別する情報を指定して、広告システム170およびソーシャル・ネットワーキング・システム100が各広告要求200に関連付けられた共通の識別子を有するようにする。
【0022】
広告要求200は、広告に添付される追加の広告コンテンツ225を含むこともできる。このコンテンツ225は、写真、映像、音声、ハイパーリンク、またはその他の任意の適当なコンテンツなど、ウェブ・ページ上で提示するのに適した任意のタイプのメディア・コンテンツを含むことができる。広告要求200は、広告を提示するのに適したユーザの特徴を指定するターゲティング基準230を含むこともできる。ターゲティング基準230により、広告主は、広告主から製品またはサービスを購入する可能性が最も高いソーシャル・ネットワーキング・システムのユーザを識別することができる。ターゲティング基準の一例では、20世紀初頭の音楽に関心を持つ18歳から30歳までのユーザを指定する。あるいは、ターゲティング基準230は、ソーシャル・ネットワーキング・システム100内における、またはソーシャル・ネットワーキング・システム100の外部のウェブサイトにおける、ユーザのアクションを指定することもできる。例えば、ターゲティング基準は、ユーザが検索したキーワードを指定することもできる。一実施形態では、ターゲティング基準230は、ユーザ・プロフィールのフィールドまたはその他のオブジェクトに適用されるフィルタであり、かつ/または自由形式のテキストを含むこともできる。
【0023】
一実施形態では、広告要求200は、広告要求200に対応する広告がユーザに対して表示される都度(1インプレッション当たりのコスト、すなわちCPM)、あるいはユーザが広告をクリックする都度(1クリック当たりのコスト、すなわちCPC)に広告主がソーシャル・ネットワーキング・システム100に支払う金額を示す入札値を指定する。入札値は、ターゲティング基準230に関係することもある。例えば、広告主は、全てのターゲティング基準に一致するユーザに関連付けられた高い入札値を指定し、ターゲティング基準の大部分に一致するユーザに対してはそれよりわずかに低い入札値を指定することもできる。あるいは、またはこれに加えて、入札値は、「リアルタイム」で、またはユーザに対して広告が提示されるのと実質的に同時に指定されるようにして、広告主または広告主のパートナが異なるユーザごとに異なる入札値を選択できるようにすることもできる。
【0024】
図1に戻ると、パートナ・システム105も、ネットワーク110を通じてソーシャル・ネットワーキング・システム100および広告システム170と対話する。一実施形態では、パートナ・システム105は、広告主のインプレッション広告(すなわち広告の提示)に対して入札を行って購入するデマンド・サイド・プラットフォーム(DSP)である。例えば、広告主は、広告システム170を用いてパートナ・システム105と対話して、ターゲティング基準および予算の上限などの広告制約を指定することができる。広告システム170を用いる広告主は、ソーシャル・ネットワーキング・システム100に記憶された広告または広告の広告識別子をパートナ・システム105に提供することもできる。広告制約を用いて、パートナ・システム105は、ソーシャル・ネットワーキング・システム100のユーザ、または他のオンライン・システムのユーザに対する広告主の広告の提示に対して入札する。図1にはパートナ・システム105を1つしか示していないが、複数のパートナ・システム105がソーシャル・ネットワーキング・システム100と対話して、インプレッション広告に対して入札してもよい。各パートナ・システム105は、多数の広告主の代理として入札を行うこともできる。
【0025】
一実施形態では、パートナ・システム105は、ユーザのインターネット・ブラウズ挙動をモニタリングすることによって、ユーザが広告要求に関連付けられたターゲティング基準を満たすか否かを決定する。例えば、パートナ・システム105は、訪問されたウェブ・ページ、検索されたキーワード、購入されたアイテムなど、他のウェブサイト上でのユーザの挙動に基づいて、ソーシャル・ネットワーキング・システム100のユーザへの広告の提示に入札する。ユーザは、トラッキングをオプトアウトして、パートナ・システム105がユーザをモニタリングすることを防止することもできる。一実施形態では、パートナ・システム105は、サードパーティ・ウェブサイトに配置されたウェブ・バグまたはトラッキング・ピクセルを使用して、トラッキングをオプトアウトしていないウェブサイトを訪問するユーザをモニタリングする。トラッキング・ピクセルは、パートナ・システム105がサードパーティ・ウェブサイトに追加するHTMLコードのセグメントである。例えば、トラッキング・ピクセルは、1×1の透明画像、インラインフレーム、またはその他の適当なオブジェクトとすることができる。ユーザのブラウザ175がトラッキング・ピクセルを有するページのコンテンツを要求すると、このピクセルのコンテンツも、パートナ・システム105に要求される。このピクセルのコンテンツの要求は、クライアント・デバイス102のインターネット・プロトコル(IP)およびパートナ・システム105がブラウザ175に設定したクッキーなど、クライアント・デバイス102およびブラウザ175に関する情報を含む。一実施形態では、パートナ・システム105によって設定されるクッキーは、パートナ・システム105によるブラウザ175の識別を含む。この識別を、本明細書では「パートナ識別子」と呼ぶ。
【0026】
例えば、あるユーザが、パートナ・システム105と提携している旅行ウェブサイト上でオーストリアのウィーンへのフライトを検索することもある。パートナ・システム105によってこの旅行ウェブサイトに含められたトラッキング・ピクセルは、この検索のことをパートナ・システム105に通知する。このウェブサイトに訪問するために使用されたブラウザ175が、パートナ・システム105によって以前に設定されたクッキーを含まない場合、パートナ・システム105は、ブラウザ175にクッキーを設定し、このブラウザのパートナ識別子および検索情報を記録する。ブラウザ175が、パートナ・システム105に関連付けられているクッキーを含む場合、パートナ・システム105は、このクッキーからブラウザのパートナ識別子を取り出し、このウィーンへのフライトについての検索を、ブラウザ175のアクティビティについて記述している取り出されたパートナ識別子に関連付けられている以前に記憶された情報に追加する。
【0027】
パートナ・システム105は、ウェブ・ページへの訪問、情報または製品の検索、およ
び製品の購入など、パートナ識別子に関連付けられているブラウズ・アクティビティのログを維持することができる。パートナ識別子に関連付けられているブラウザ175を用いて広告を提示する機会が発生すると、パートナ・システム105は、インプレッション機会の1以上に対して入札して、広告主の広告をブラウザ175に提供する。例えば、ウェブサイトは、ウェブサイトのコンテンツとともに、3つの広告を提示するためのスペースを割り当てることができる。ウェブサイトは、この3つのスペースを埋めるための広告をパートナ・システム105に要求することができ、パートナ・システム105は、この3つのスペースのうちの1以上のための1以上の広告を識別する入札を行う。これらの入札は、ブラウザ175に対応するパートナ識別子に関連付けられたオンライン・アクティビティおよび任意の広告ターゲティング基準に基づいて行われる。例えば、航空会社は、パートナ・システム105と協働して、その航空会社が提供するヨーロッパの様々な目的地へのフライトを広告することができる。ユーザがウィーンへのフライトを最近(例えば前日など)検索していた場合、パートナ・システム105は、ブラウザ175を用いたウィーンへのフライトのこの以前の検索に基づいて、フライトを検索するために使用されたブラウザ175を使用して、広告機会に入札することができる。
【0028】
パートナ・システム105によって行われた入札は、パートナ・システム105(またはパートナ・システム105が代表している広告主)がその公告を提示するためにソーシャル・ネットワーキング・システム100に支払う値段を指定する。一実施形態では、入札値は、ユーザの関心と広告のターゲティング基準との間の類似性の程度に基づく。例えば、航空会社は、年齢層(例えば21歳から35歳までなど)および特定のヨーロッパの目的地へのフライトに関連付けられている最近の対話を指定するなど、ヨーロッパへのフライトの広告のターゲティング基準を指定することができる。したがって、パートナ・システム105は、最近ウィーンへのフライトを検索した25歳のユーザに対してウィーンへのフライトの広告を提示するための入札は高い値段で行い、一方、同じユーザに対してベルリンへのフライトの広告を提示するための入札はそれより低い値段で行うことができる。
【0029】
クッキー同期モジュール155は、ソーシャル・ネットワーキング・システムのユーザを識別するクッキーと、そのユーザがソーシャル・ネットワーキング・システム100にアクセスするために使用するブラウザとのマッチングを行う。一実施形態では、クッキー同期モジュール155は、ソーシャル・ネットワーキング・システムのユーザ識別子とブラウザ識別子とを関連付ける。さらに、クッキー同期モジュール155は、パートナ識別子と、ユーザ識別子およびブラウザ識別子の間の関連付けとを関連付ける。例えば、パートナ識別子は、ユーザ識別子とブラウザ識別子とのペアリングに関連付けられ、パートナ・システム105がパートナ識別子からソーシャル・ネットワーキング・システムのユーザを識別することができるようにする。クッキー同期モジュール155について、以下でさらに詳細に説明する。
【0030】
オークション・モジュール135は、広告を提示するためのオークションを管理し、広告に関連付けられている入札値に基づいてユーザに提示する広告を選択する。一実施形態では、オークション・モジュール135は、複数の広告候補要求に関連付けられている入札値に基づいて提示する広告を選択する。オークション・モジュール135は、記憶された広告ならびにユーザについてのアクション・ログ115、ユーザ・プロフィール・ストア145およびつながりストア150内の情報に関連付けられたターゲティング基準230に基づいて広告ストア140内の広告のフィルタリングを行うことによって、1組の広告候補のセットを決定する。広告の入札値が1インプレッション当たりのコストによる価格である場合、最高の入札値を有する広告候補が、オークションの落札広告として選択される。あるいは、広告の入札値が1クリック当たりのコストによる価格である場合、オークション・モジュール135は、各広告候補の予想値を決定し、最高の予想値を有する広
告候補を選択する。広告候補の予想値は、その広告にユーザがアクセスする推定確率で重み付けした広告に対する1クリック当たりの入札価格の関数であってもよい。
【0031】
別の実施形態では、オークション・モジュール135は、ユーザがソーシャル・ネットワーキング・システム100にアクセスしたときにそのユーザに対して広告を提示するための入札をパートナ・システム105から受け取る。各入札は、入札値と、ユーザに提示する広告ストア140内の広告(例えば広告識別子220など)とを指定する。例えば、ソーシャル・ネットワーキング・システム100によって運営されるウェブ・ページが、広告1つ分のスペースを有するとする。このウェブ・ページをソーシャル・ネットワーキング・システム100に要求しているユーザのブラウザ175とこのウェブ・ページを提供するソーシャル・ネットワーキング・システム100との間で、オークション・モジュール135は、広告をこのスペースに提示するための入札をパートナ・システム105に要求する。この要求は、ウェブ・ページを要求しているユーザを識別することができる。例えば、この要求は、ユーザ識別子およびブラウザ識別子に基づいてクッキー同期モジュール155から決定されたパートナ識別子を含む。パートナ・システム105は、この要求に基づいてターゲット・ユーザに対して提示する広告を選択し、選択した各広告の入札値をオークション・モジュール135に提供する。オークション・モジュール135は、パートナ・システム105から受け取った1組のリアルタイム入札のセットから落札した入札を識別する。オークション・モジュール135のさらなる機能については、以下でさらに詳細に説明する。
【0032】
広告サーバ125は、オークション・モジュール135、ユーザ・プロフィール・ストア145および広告ストア140とデータを交換する。広告サーバ125は、ユーザに対して提示する広告ストア140内の1以上の広告を指定する1以上の広告識別子をオークション・モジュール135から受け取る。一実施形態では、広告サーバ125は、例えばユーザのニュースフィード中のストーリとしてなど、ソーシャル・ネットワーキング・システム100を通じて、広告をユーザに提示する。あるいは、またはこれに加えて、広告サーバ125は、ソーシャル・ネットワーキング・システム100上のユーザの識別へのアクセス権を有する外部のアプリケーションに、広告を送信して提示することもできる。例えば、ユーザは、スマートフォンのモバイル・アプリケーションを通じてソーシャル・ネットワーキング・システム100にログインすることもできる。モバイル・アプリケーションは、ソーシャル・ネットワーキング・システム100に広告を要求することができ、これらの広告は、広告サーバ125によってモバイル・アプリケーションに提供される。
【0033】
クッキー同期
ユーザがソーシャル・ネットワーキング・システム100からのクッキーの受け取りをオプトアウトしていない場合、ソーシャル・ネットワーキング・システム100にアクセスするために使用されるクライアント・デバイス102上で実行されるブラウザ175は、ソーシャル・ネットワーキング・システム100によって設定された1以上のクッキーを有することがある。一実施形態では、ソーシャル・ネットワーキング・システム100は、ユーザがシステム100にログインするときに、ユーザのブラウザ175にユーザ識別クッキーを設定する。ユーザ識別クッキーは、ソーシャル・ネットワーキング・システム100にアクセスするユーザに関連付けられているユーザ識別子を含む。ユーザがソーシャル・ネットワーキング・システムからログアウトするまで、またはユーザがブラウザ175上のクッキーを削除するまで、ソーシャル・ネットワーキング・システム100は、ユーザ識別クッキーからユーザ識別子を取得することができる。
【0034】
一実施形態では、ソーシャル・ネットワーキング・システム100は、ブラウザ175にブラウザ識別クッキーも設定する。ブラウザ識別クッキーは、ソーシャル・ネットワー
キング・システム100によってブラウザ175に関連付けられているブラウザ識別子を含む。ユーザまたはブラウザ175によってブラウザ識別クッキーが削除されるまで、ソーシャル・ネットワーキング・システム100は、ブラウザ識別からブラウザ識別子を取り出す。
【0035】
クッキー同期モジュール155は、ユーザ識別子を識別し、ブラウザ識別子に関連付ける。これらの関連付けにより、ソーシャル・ネットワーキング・システム100にアクセスし、クッキーを許可したユーザとブラウザ175との既知の組合せが識別される。例えば、ユーザは、同一のクライアント・デバイス102または異なるクライアント・デバイス102上で実行される複数のブラウザからソーシャル・ネットワーキング・システム100上のアカウントにアクセスすることができる。したがって、クッキー同期モジュール155は、ユーザのユーザ識別子とソーシャル・ネットワーキング・システム100にアクセスするために使用されるブラウザ175のそれぞれに関連付けられている異なるブラウザ識別子との間の関連付けを複数記憶する。同様に、複数のユーザが、同一のブラウザ(例えば、公共図書館のコンピュータ上で実行されるブラウザなど)からソーシャル・ネットワーキング・システム100にアクセスすることもあり、その場合、クッキー同期モジュール155は、共通のブラウザ識別子と様々なユーザ識別子との間の複数の関連付けを記憶する。
【0036】
一実施形態では、クッキー同期モジュール155は、パートナ識別子と、ユーザ識別子とブラウザ識別子との間の関連付けとのマッチングを行う。受け取ったパートナ識別子をユーザ識別子とブラウザ識別子との間の関連付けと同期させるプロセスを、図3に示す。図3には、ユーザがウェブサイト300を訪問したときのブラウザ175と、ウェブサイト300と、パートナ・システム105と、ソーシャル・ネットワーキング・システム100との間の対話が示される。図示の実施形態では、ウェブサイト300は、パートナ・システム105に関連付けられているトラッキング・ピクセルを有するページを含み、ブラウザ175のユーザは、パートナ・システム105によるトラッキングをオプトアウトしていない。
【0037】
ユーザがブラウザ175を用いてウェブサイト300にアクセスすると、ブラウザ175は、ウェブサイト300にコンテンツを提供するサーバにコンテンツを要求する(302)。ウェブサイト300にコンテンツを提供するサーバは、要求されたコンテンツをブラウザ175に返す(304)。上述のように、ウェブサイトのコンテンツは、パートナ・システム105に関連付けられているトラッキング・ピクセルを含むので、ブラウザ175は、トラッキング・ピクセル・コンテンツをパートナ・システム105に要求する(306)。分かりやすくするために、図3はウェブサイト300およびパートナ・システム105を示しているが、様々なエンティティが、ブラウザ175から受け取った要求に基づいて、ブラウザ175から要求されたコンテンツの一部分を提供することができる。
【0038】
ブラウザ175がパートナ・システム105にコンテンツを要求すると(306)、パートナ・システム105は、ブラウザ175に記憶されているクッキーへのアクセス権を受け取る。ブラウザ175がパートナ・システム105に関連付けられているクッキーを記憶していない場合(例えば、パートナ・システム105によってモニタリングされているウェブサイトをユーザが以前に訪問していない場合、またはユーザがそのパートナ・システムのクッキーを削除した場合など)には、パートナ・システム105は、1以上のクッキーをブラウザ175に記憶する。さらに、パートナ・システム105は、この1以上のクッキーに基づいてブラウザ175のブラウザ識別子を作成し、コンテンツ要求をブラウザ識別子に関連付けてログ(記録)する(308)。
【0039】
ブラウザ175が、トラッキング・ピクセル・コンテンツを要求する(306)前にパ
ートナ・システム105に関連付けられている1以上のクッキーを含んでいる場合(例えば、パートナ・システム105によってモニタリングされているウェブサイトをユーザが以前に訪問している場合など)には、パートナ・システム105は、この1以上のクッキーにアクセスして、ブラウザ175に関連付けられているブラウザ識別子を取り出し、コンテンツ要求を、取り出したブラウザ識別子に関連付けて記録する(308)。要求について記述する記録されたデータは、ウェブサイト300の識別、要求の時刻、ウェブ・ページ上でのユーザのアクティビティ(例えばウェブサイト300を通してユーザが購入したアイテムなど)、ならびにその他の任意の適当な情報を含むことができる。要求を記録した(308)後で、パートナ・システム105は、トラッキング・ピクセル・コンテンツをブラウザ175に返す(310)。
【0040】
一実施形態では、パートナ・システム105は、ソーシャル・ネットワーキング・システム100にリダイレクトするコマンドをブラウザ175に伝送する(312)。例えば、パートナ・システム105は、トラッキング・ピクセル・コンテンツを返す(310)ときに、HTTPリダイレクト・コマンドを返すことができる。リダイレクト・コマンドは、ソーシャル・ネットワーキング・システム100に関連付けられている統一資源位置指定子(URL)またはその他のネットワーク識別子を識別することができる。パートナ・システム105は、伝送されたリダイレクト・コマンドに指定されたURLにパートナ識別子を埋め込む。ブラウザ175は、ソーシャル・ネットワーキング・システム100にリダイレクトして、URLに埋め込まれたパートナ識別子をソーシャル・ネットワーキング・システム100に提供する(314)。
【0041】
ソーシャル・ネットワーキング・システム100にリダイレクトすることにより、ブラウザ175に記憶されたクッキーへのアクセス権も、ソーシャル・ネットワーキング・システム100に提供される。例えば、ブラウザ175がソーシャル・ネットワーキング・システム100によって設定されたブラウザ識別子およびユーザ識別子のうちの一方または両方を指定するクッキーを含む場合、ソーシャル・ネットワーキング・システム100は、ブラウザ識別子およびユーザ識別子を取り出し、受け取ったパートナ識別子と、取り出したブラウザ識別子および/または取り出したユーザ識別子とをペアリングする(416)。パートナ識別子をブラウザ識別子および/またはユーザ識別子に関連付け、クッキー同期モジュール155は、図4に示すようにマッチング・テーブル400を生成する。このマッチング・テーブルは、後のユーザ識別のために記憶される。マッチング・テーブル400の各行は、ユーザ識別子とブラウザ識別子とのペアリング、ならびに図3に示すプロセス中にこのペアリングとマッチングが行われたパートナ識別子を識別する。
【0042】
例えば、クッキー同期モジュール155は、ユーザ識別子「セバスチャン」を有するユーザが、ソーシャル・ネットワーキング・システム100にブラウザ識別子「B_987」として識別されるブラウザ175を用いてソーシャル・ネットワーキング・システム100にログインしたときに、行402を作成する。ユーザがパートナ・システム105によってモニタリングされているウェブサイトを訪問したときに、パートナ・システム105は、上述のようにパートナ識別子「ABC」をブラウザ175に関連付ける。パートナ・システム105は、ブラウザ175をソーシャル・ネットワーキング・システム100にリダイレクトし、パートナ識別子「ABC」をリダイレクト要求に埋め込む。クッキー同期モジュール155は、ブラウザ175に記憶されている1以上のクッキーからユーザ識別子およびブラウザ識別子を取り出し、パートナ識別子「ABC」を「セバスチャン」と「B_987」とのペアリングに関連付ける。同様のプロセスを、行404、406、408および410について繰り返す。図4はマッチング・テーブル400に5行しか示していないが、テーブル400は、数千または数百万のエントリを有することができる。マッチング・テーブル400は、異なるパートナ・システムに対応する追加の列を有することもでき、これらの様々な識別は、単なる例示のためのものである。他の実施形態では
、これらの関連付けは、エントリ・テーブル以外の構成により編成されてもよい。
【0043】
パートナ識別子をユーザ識別子とブラウザ識別子との間の関連付けと相関させることにより、クッキー同期モジュール155は、同一のブラウザを用いる異なるユーザを識別したり、あるいは複数のブラウザを用いる単一のユーザを識別したりすることができる。図4を参照すると、マッチング・テーブル400の行402および行406は、パートナ識別子「ABC」を用いて識別されるブラウザに対応する。しかし、異なる2つのユーザ識別子がパートナ識別子「ABC」に関連付けられており、ユーザ「セバスチャン」とユーザ「ビオラ」がともにブラウザ識別子「B_987」を有するブラウザを使用したことを示している。別の例では、行406および行408は、ユーザ識別子「ビオラ」をブラウザ識別子「B_987」(パートナ識別子「ABC」に対応する)およびブラウザ識別子「B_123」(パートナ識別子「TSV」に対応する)に関連付けており、ユーザ「ビオラ」が2つの異なるブラウザ175を使用してソーシャル・ネットワーキング・システム100にアクセスしたことを示している。
【0044】
クッキー同期モジュール155は、異なる時刻に受け取ったクッキーのマッチングを行うことによってユーザを識別することができる。例えば、マッチング・テーブル400の行404および行410は、ブラウザ識別子「B_654」およびパートナ識別子「ZYQ」のエントリを含む。行410を生成するために、クッキー同期モジュール155は、ユーザ識別子「オリビア」とブラウザ識別子「B_654」とのマッチングを行う。ユーザ「オリビア」が、行404が生成された後でブラウザ識別子「B_654」を有するブラウザ175を使用してソーシャル・ネットワーキング・システムにアクセスしたので、行410が生成される。
【0045】
一実施形態では、クッキー同期モジュール155は、同じ情報に対応する行同士を組み合わせることによって、マッチング・テーブル400を定期的にクリーニングすることができる。例えば、行410を作成した後、行410は行404には欠けているユーザ識別子を提供するので、クッキー同期モジュール155は、行404を除去することができる。一実施形態では、クッキー同期モジュール155は、データ中に見られるパターンに基づいて、マッチング・テーブル400のデータ行を組み合わせるか、または除去するか否かを決定する。例えば、しきい値数のユーザ識別子が単一のブラウザ識別子にペアリングされている場合、クッキー同期モジュール155は、このブラウザ175が公共のコンピュータのものであると識別し、この共通のブラウザ識別子に関連付けられている各ユーザ識別子について一意的なマッチング・テーブル・エントリを維持する。
【0046】
リアルタイム入札
ユーザがブラウザ175を用いてソーシャル・ネットワーキング・システム100のページなどのコンテンツを要求するとき、このコンテンツは、ソーシャル・ネットワーキング・システム100の1以上のサーバから取り出される。要求を受け取ってからコンテンツをブラウザ175に送信するまでの時間で、オークション・モジュール135は、コンテンツとともにユーザに対して提示する1以上の広告を識別する。オークション・モジュール135は、通常オークションを運用するか、リアルタイム・オークションを運用するかを決定することができる。通常オークションでは、オークション・モジュール135は、広告要求中のターゲティング基準およびユーザに関連付けられている情報に基づいて、広告ストア104から広告候補要求を識別する。広告候補要求のセットから、オークション・モジュール135は、1以上の最高の入札値または1以上の予想値を有する1以上の広告候補要求を選択して、広告要求に記述されている広告をユーザに対して提示する。一実施形態では、選択された広告要求に関連付けられている広告主は、選択された広告要求の最低入札値未満で最も高い入札値となる金額をソーシャル・ネットワーキング・システムに支払う。例えば、あるページが2つの広告用のスロットを有し、入札値がそれぞれ0
.50ドル、0.40ドルおよび0.30ドルの3つの広告候補要求がある場合、オークション・モジュール135は、入札値が0.50ドルの広告要求および入札値が0.40ドルの広告要求を選択し、それぞれの広告主に0.30ドルを請求する。上述のように、入札値は、CPMまたは1クリック当たりのコスト(CPC)の観点によって提供される。
【0047】
リアルタイム・オークションでは、オークション・モジュール135は、特定の時刻にユーザに広告を提示するためのパートナ・システム105または広告システム170からの入札を要求することによって、広告提示のリアルタイム入札を可能にする。例えば、ソーシャル・ネットワーキング・システム100のサーバがユーザのブラウザに送信するコンテンツを取り出しているときに、オークション・モジュール135は、広告システム170またはパートナ・システム105からの入札を要求することができる。受け取った入札に基づいて、オークション・モジュール135は、1以上の落札した入札を決定し、それらの落札した入札に対応する広告を広告ストア140から取り出し、取り出した広告をページのコンテンツとともにユーザに提示するために送信する。
【0048】
図5は、広告提示のためのリアルタイム入札を可能にするオークション・モジュール135の構成の一実施形態を示すブロック図である。図5に示す構成では、オークション・モジュール135は、オークション・モデル505、識別子選択モジュール510、リアルタイム入札(RTB)モジュール515、および通知モジュール520を含む。オークション・モジュール135のその他の実施形態では、これらとは異なるモジュール、または追加のモジュールを含むこともでき、これらの機能を異なる形でモジュール間で分散することもできる。
【0049】
オークション・モデリング
オークション・モジュール135のオークション・モデル505は、広告を提示するためのオークションをモデリングし、そのオークションをリアルタイム入札に公開するか否かを決定する。一実施形態では、オークションは、オークションの予想収益がオークションの清算価格より高い場合に、リアルタイム入札に公開される。例えば、オークション・モデル505は、上記で定義したように、等価通常オークションの予想収益を決定する。通常オークションの予想CPM収益は、最低落札した入札未満で最も高い入札値であり、通常オークションの予想CPC収益は、最低落札した入札値である。例えば、上記の例の2つの広告スロットに対して3つのCPM入札値0.50ドル、0.40ドルおよび0.30ドルがある場合、通常オークションの清算価格、または予想収益は、0.30ドルである。
【0050】
オークション・モデル505は、パートナ・システム105および広告システム170による入札履歴の分布に基づいて、リアルタイム・オークションの予想収益も決定する。一実施形態では、オークション・モデル505は、あるユーザ、またはそのユーザと同様の特徴を有する他のユーザに対して広告を提示するために様々なパートナ・システム105によって以前に提供された入札値にアクセスする。入札履歴値を用いて、オークション・モデル505は、ユーザとパートナ・システム105または広告システム170との各組合せごとに、過去の入札を生成する。図6Aは、例示的な過去の入札を示す図である。図6Aにおいて、曲線605は、特定の広告システム170またはパートナ・システム105が様々な入札値で行った入札の数を示す。例えば、図示の過去の入札は、入札値0.20ドルでは約400の入札が行われたことを示している。図6Aは、また、清算価格610も示しており、同一のユーザに対して行われた通常オークションの予想CPMを示している。
【0051】
各パートナ・システム105は、異なるパートナ識別子に対応する1人のユーザについ
て複数のペルソナを維持することができる。例えば、図4のマッチング・テーブル400では、ユーザ識別子「ビオラ」は、2つのパートナ識別子「ABC」および「TSV」に関連付けられる。オークション・モデル505は、各ペルソナごとに異なる過去の入札を構築することができる。
【0052】
一実施形態では、ユーザのパートナ・システム105および/または広告システム170が入札履歴に基づいて過去の入札を構築するのではなく、オークション・モデル505が、そのユーザと同様の特徴を有する他のユーザのパートナ・システム105または広告システム170から受け取った入札履歴値を取り出すこともできる。例えば、ユーザが14歳から18歳の年齢層の男性である場合、オークション・モデル505は、他の14歳から18歳の男性のパートナ・システム105による入札の入札履歴値に基づいて過去の入札を構築することができる。
【0053】
オークション・モデル505は、過去の入札を使用して、ユーザのパートナ・システム105または広告システム170からの入札の確率分布を決定する。曲線605で表される過去の入札など、過去の入札が比較的単純である場合、オークション・モデル505は、ガウス分布の合計として先天的確率をモデリングし、このモデル分布を積分して、所与の値段で入札を行う確率を決定することができる。例えば、パートナが清算価格610より高い入札を行う確率を決定するために、オークション・モデル505は、清算価格610より高い分布の予想値を計算する。
予想値がしきい値より高い場合、オークション・モデル505は、ソーシャル・ネットワーキング・システム100が通常オークションよりリアルタイム・オークションの方がより多くの収益を得ることになると決定する。例えば、オークション・モデル505は、0.10ドルのしきい値を設定することができる。分布の予想値が清算価格より10セント高い価格未満である場合、オークション・モデル505は、この価格の差がリアルタイム・オークションで使用する帯域幅を埋め合わせないと決定し、通常オークションを実行する。
【0054】
あるいは、過去の入札をガウス分布として容易にモデリングすることができない場合、オークション・モデル505は、モンテ・カルロ・シミュレーションを使用して、確率分布を決定することができる。例えば、モンテ・カルロ・シミュレーションが反復される都度、オークション・モデル505は、各パートナ・システム105または広告システム170の過去の入札をランダムにサンプリングして、これらのランダム・サンプルを用いてオークションのシミュレーションを行うことができる。このサンプリングは数回反復され、これらのサンプルに基づいて、オークション・モデル505は、様々なレベルの収益の確率を示すヒストグラムを構築する。例示的なヒストグラム620を、図6Bに示す。x軸のビンは、通常オークションの清算価格に対するリアルタイム・オークションのCPMの予想増加ΔeCPM625を表す。したがって、ΔeCPM625はリアルタイム・オークションの予想収益を表す。ヒストグラムのy軸、すなわち確率630は、モンテ・カルロ・シミュレーションで決定される、あるいは所与のユーザに関連付けられているいくつかのパートナの過去の入札に適合する1以上のガウス分布を積分することによって決定される、所与のΔeCPM625を有するリアルタイム・オークションの確率を示す。
【0055】
オークション・モデル505は、確率ヒストグラム620を積分して、リアルタイム・オークションの平均ΔeCPMを決定する。一実施形態では、オークション・モデル505は、この平均ΔeCPMを、0.10ドルなどの既定のしきい値と比較する。平均ΔeCPMがしきい値より低い場合、オークション・モデル505は、リアルタイム・オークションが通常オークションより多くの収益を生み出す見込みがないと決定する。平均ΔeCPMがしきい値より高い場合、オークション・モデル505は、利用可能なインプレッション広告のリアルタイム入札を開始する。
【0056】
図7は、オークションをリアルタイム入札に公開するか否かを決定する方法の一実施形態を示すフローチャートである。一実施形態では、この方法の各ステップは、オークション・モデル505によって実行される。図7に示す実施形態以外の実施形態では、これとは異なるステップ、および/または追加のステップを含むこともでき、それらのステップを異なる順序で実行してもよい。
【0057】
オークション・モデル505は、等価通常オークションに基づいてオークションの清算価格を計算する(702)。清算価格は、広告をユーザに提示することに対するソーシャル・ネットワーキング・システム100の運営者の最低予想収益を表す。
【0058】
オークション・モデル505は、ユーザについての複数の過去の入札を生成する(704)。それぞれの過去の入札は、広告をそのユーザに提示するために広告システム170またはパートナ・システム105が行う入札履歴の分布を識別している。あるいは、生成された過去の入札は、そのユーザと同様の特徴を有する他のユーザに対して広告を提示するために以前に行われた入札に基づく。生成された過去の入札に基づいて、オークション・モデル505は、等価通常オークションの清算価格より高い値段で行われた入札の確率分布を決定する(706)。例えば、オークション・モデル505は、モンテ・カルロ法を使用して、通常オークションの清算価格より高い過去の入札をランダムにサンプリングしてリアルタイム・オークションをシミュレーションし、いくつかのシミュレーション・オークションの落札した入札値を識別する。これらのシミュレーションの落札した入札値に基づいて、オークション・モデル505は、確率分布を構築する。
【0059】
この確率分布に基づいて、オークション・モデル505は、予想収益を計算し(708)、その予想収益が通常オークションの清算価格より高いか否かを決定する(710)。予想収益が通常オークションの清算価格より高くない場合、オークション・モデル505は、通常オークションを実行する(712)。予想収益が清算価格より高い場合、オークション・モデル505は、リアルタイム入札を開始して(714)、提示する広告を選択する。
【0060】
識別子の選択
識別子選択モジュール510は、パートナ・システム105にリアルタイム入札を要求するときに、どのパートナ識別子をパートナ・システム105に送信するかを決定する。上述のように、各ユーザ識別子は、それぞれがパートナ識別子に関連付けられている複数のブラウザ識別子に関連付けることができる。ユーザがソーシャル・ネットワーキング・システム100からコンテンツにアクセスすると、識別子選択モジュール510は、このコンテンツにアクセスしているユーザのユーザ識別子を受け取り、クッキー同期モジュール155によって生成されたマッチング・テーブルにアクセスして、受け取ったユーザ識別子に関連付けられているパートナ識別子を識別する。マッチング・テーブルは、複数のパートナ・システム105に関連付けられているパートナ識別子を含むことができ、単一のパートナ・システム105に関連付けられている複数のパートナ識別子は、単一のユーザに関連付けられる。
【0061】
一実施形態では、識別子選択モジュール510は、リアルタイム入札を要求する1組のパートナ・システム105のセットを決定する。この決定は、各パートナ・システム105に関連付けられているターゲット・ユーザの過去の入札に基づいて行うことができる。例えば、識別子選択モジュール510は、少なくともリアルタイム・オークションの収益が通常オークションの清算価格より高くなるしきい値の確率が存在するパートナ・システム105を選択する。別の実施形態では、識別子選択モジュール510は、競争を増加させるように、ソーシャル・ネットワーキング・システム100に関連付けられている全て
のパートナ・システム105を選択する。
【0062】
パートナ・システム105が異なるパートナ識別子をユーザに関連付ける場合(例えば、ユーザが複数のブラウザからコンテンツにアクセスした場合など)には、識別子選択モジュール510は、マッチング・テーブルにおいてユーザのユーザ識別子に関連付けられているどのパートナ識別子を各パートナ・システム105に送信するか決定する。一実施形態では、識別子選択モジュール510は、パートナ・システム105に、ユーザが現在使用しているブラウザ識別子に関連付けられているパートナ識別子を送信する。例えば、図4のマッチング・テーブル400を参照すると、ユーザ「ビオラ」が現在ブラウザ識別子「B_123」(パートナ識別子「TSV」に対応する)に関連付けられているブラウザを使用している場合、識別子選択モジュール510は、パートナ識別子「ABC」は現在使用されていないブラウザのブラウザ識別子に関連付けられているので、「ビオラ」に関連付けられているパートナ識別子「ABC」ではなく、パートナ識別子「TSV」をパートナ・システム105に送信する。別の実施形態では、識別子選択モジュール510は、パートナ識別子に関連付けられている過去の入札に基づいてパートナ識別子を選択する。例えば、ユーザ「ビオラ」が、パートナ識別子「ABC」およびパートナ識別子「TSV」の両方を使用するパートナ・システム105に対して既知であり、パートナ識別子「TSV」に関連付けられている過去の入札の方が、パートナ・システム105が通常オークションの清算価格より高い入札を提供する確率が高い場合、識別子選択モジュール510は、「ビオラ」が現在使用しているブラウザに関わらず、パートナ識別子「TSV」を選択する。
【0063】
図8は、同期したクッキーに基づくユーザ識別の一例を示す図である。図8に示すように、パートナ・システム105は、パートナ識別子を、そのパートナ・システム105に関する他の情報(例えば、列「ID_A」、列「ID_B」、または図示していないテーブル800のその他の列などに記憶される情報など)に関連付けるパートナ・テーブル800を生成することができる。例えば、パートナ識別子「ABC」で識別されるユーザがパートナ・システム105によってモニタリングされているウェブサイトを訪問すると、パートナ・システム105は、そのウェブサイトにアクセスするために使用されたブラウザ175からパートナ識別子を取り出し、そのウェブサイト、訪問時刻、およびそのウェブサイト上でのアクティビティを記録することができる。パートナ・システム105によって記録された情報に対して、パートナ識別子105に基づいてインデックス付けが行われる。
【0064】
図8の例に示すように、パートナ・テーブル800は、パートナ識別子「ABC」に関係する情報についての1つのリスト802を含むが、ソーシャル・ネットワーキング・システムのマッチング・テーブル500は、パートナ識別子「ABC」を異なるユーザ識別子に関連付ける2つのエントリ502および506を有する。例えば、マッチング・テーブル400中のユーザ「ビオラ」は、2つの異なるブラウザ識別子ならびに2つの異なるパートナ識別子「ABC」および「TSV」に関連付けられているが、パートナ・テーブル800は、パートナ識別子「ABC」および「TSV」について別個のエントリ802および804を含む。例えば、「ビオラ」が広告を提示されるユーザである場合、識別子選択モジュール510は、ユーザ識別子「ビオラ」とペアリングされているどのパートナ識別子を、入札を要求するためにパートナ・システム105に送信するかを決定する。例えば、ソーシャル・ネットワーキング・システム100が、パートナ識別子「ABC」に関連付けられているブラウザ識別子「B_987」が公共のコンピュータのブラウザ175であると決定した場合、識別子選択モジュール510は、パートナ・システム105に送信するためにパートナ識別子「TSV」を選択する。
【0065】
ソーシャル・ネットワーキング・システム100は、パートナ識別子とユーザ識別子と
の間の関連付けを識別するマッチング・テーブル400を維持しているので、ソーシャル・ネットワーキング・システム100は、特定の時刻にユーザに広告を提示するために様々なパートナ・システム105または広告システム170に入札を要求する。ソーシャル・ネットワーキング・システム100がユーザに広告するためにパートナ・システム105に入札を要求するとき、ソーシャル・ネットワーキング・システム100は、その要求に、ユーザのユーザ識別子に関連付けられているパートナ識別子を含める。パートナ・システム105は、パートナ識別子に対応するブラウズ履歴など、パートナ識別子に関連付けられている情報を取り出し(例えば、要求に含まれるパートナ識別子に関連付けられているパートナ・テーブル800のデータを取り出すなど)、広告ならびにその広告の入札値を選択する。入札値は、選択した広告に関連付けられているターゲティング基準と、パートナ識別子に関連付けられているブラウズ履歴がターゲティング基準と一致する程度とに基づいて決定される。
【0066】
リアルタイム・オークション
リアルタイム入札(RTB)モジュール515は、リアルタイム・オークションを管理する。一実施形態では、RTBモジュール515は、識別子選択モジュール510によって選択されたパートナ識別子を含む要求をパートナ・システム105に送信して、パートナ・システム105に入札を要求する。要求中の情報に基づいて、パートナ・システム105は、広告を選択し、パートナ・システム105rによるパートナ識別子に関連付けられている情報に基づいて、選択した広告(アド)の入札値を決定する。RTBモジュール515は、入札値とパートナ・システム105によって選択された広告ストア140中の広告に対応する広告識別子とを指定する入札を受け取る。これらの入札に基づいて、RTBモジュール515は、広告サーバ125に通信される広告識別子を選択し、広告サーバ125は、この選択された広告識別子に対応する広告をユーザに送信する。
【0067】
通知モジュール520は、パートナ・システム105に、オークションにより落札した入札を通知する。一実施形態では、この通知は、提示された広告と、パートナ・システム105がソーシャル・ネットワーキング・システム100に支払うべき金額とを識別する。一実施形態では、通知モジュール520は、サーバ間の通知を使用して、ユーザの情報を保護する。例えば、通知モジュール520は、
partner.com?ad_ID&bid_value
の形式の統一資源位置指定子(URL)によって、パートナ・システム105にオークションにより落札した入札を通知する。ここで、「ad_ID」は、選択された広告の広告識別子であり、「bid_value」は、パートナ・システム105が支払うべき金額であり、「partner.com」は、パートナ・システム105に関連付けられているアドレスである。
【0068】
パートナ・システム105に提供される情報を落札した入札に関連する情報に限定することにより、通知モジュール520は、パートナ・システム105がユーザのブラウザから情報を取得することを防止する。例えば、識別子選択モジュール510が、ユーザが現在使用しているブラウザとは異なるブラウザに関連付けられているパートナ識別子を選択した場合、およびパートナ・システム105がユーザのブラウザへのアクセスを許可されている場合、パートナ・システム105は、ユーザが複数のパートナ識別子に関連付けられていると推測することができる。通知のコンテンツを入札に関する情報に限定することにより、通知モジュール520は、ソーシャル・ネットワーキング・システムのユーザのプライバシを保護する。
【0069】
一実施形態では、ソーシャル・ネットワーキング・システム100は、信頼できる解析パートナが、広告を表示しているページ上のビュー・スルー・ピクセルにアクセスすることを許可する。解析パートナは、特定のユーザに対して表示される広告と、それらのユー
ザの後続アクティビティ(例えばアイテムの購入など)をモニタリングすることによって、広告のパフォーマンスを測定することができる。これにより、信頼できる解析パートナは、広告主に、広告主の広告の有効性を通知することができる。
【0070】
図9は、クッキー同期を使用してリアルタイム入札を可能にする方法の一実施形態を示すフローチャートである。上述のように、ソーシャル・ネットワーキング・システム100は、ソーシャル・ネットワーキング・システム100にアクセスするために使用されたブラウザ175が記憶するクッキーに基づいて、ユーザ識別子とブラウザ識別子との間の関連付けを決定する(902)。例えば、ユーザがパートナ・システム105によってモニタリングされているサードパーティ・サイトにアクセスすると、パートナ・システム105は、使用されたブラウザ175をソーシャル・ネットワーキング・システム100にリダイレクトする。ソーシャル・ネットワーキング・システム100は、このリダイレクトからブラウザ175のパートナ識別子を受け取り(904)、ブラウザにアクセスして、ブラウザ175に記憶されたクッキーからユーザ識別子および/またはブラウザ識別子を識別する。ブラウザ175から識別されたユーザ識別子および/またはブラウザ識別子を用いて、ソーシャル・ネットワーキング・システム100は、マッチング・テーブルにアクセスして、受け取ったパートナ識別子と、ユーザ識別子とブラウザ識別子との既存のペアリングとのマッチングを行う(906)。
【0071】
ユーザがソーシャル・ネットワーキング・システム100にアクセスするために複数のブラウザ175を使用していた場合、ソーシャル・ネットワーキング・システム100は、共通のユーザ識別子に関連付けられている2つ以上のパートナ識別子をリンクする(908)。例えば、ユーザは、複数のデバイスから、または1つのデバイス上で実行される複数のブラウザ175から、ソーシャル・ネットワーキング・システム100にアクセスすることができ、その場合、ソーシャル・ネットワーキング・システムは、ユーザのユーザ識別子を複数のブラウザ識別子に関連付ける。したがって、様々なブラウザに関連付けられた複数のパートナ識別子を、ユーザのユーザ識別子にリンクすることができる。
【0072】
ユーザ識別子にリンクされたパートナ識別子のうちの1つを選択して(910)、広告に入札するパートナ・システム105に対してユーザを識別する。一実施形態では、ソーシャル・ネットワーキング・システム100は、ユーザが現在使用しているブラウザとは異なるブラウザに関連付けられているパートナ識別子を選択する(910)。複数のパートナ識別子を1つのユーザ識別子にリンクし、ユーザに対する広告を要求するパートナ識別子を選択する(910)ことによって、ソーシャル・ネットワーキング・システム100は、広告を特定のブラウザ175ではなく特定のユーザにターゲティングすることができる。パートナ・システム105は、ブラウザ175に対応するパートナ識別子に基づいて情報にインデックス付けを行うが、パートナ識別子をユーザ識別子にリンクすることによって、複数のブラウザ175を用いたユーザのアクティビティが特定のブラウザを通して提示される広告に影響を及ぼすようにすることができる。さらに、ソーシャル・ネットワーキング・システム100は、ユーザ識別子とブラウザ識別子との間のリンクに関する情報を提供することなくパートナ識別子をパートナ・システム105に提供することにより、ユーザの識別を保護する。
【0073】
概要
様々な実施形態、およびそれらの実施形態を実装するモジュールについて上記で説明したが、これらの説明は、本発明の範囲を制限するものではなく、例示を目的としたものである。当業者であれば、本発明をその他の実施形態で実施することもできることを理解されるであろう。構成要素の具体的な名称、用語における大文字の使用、属性、データ構造、あるいはその他の任意のプログラミングまたは構造の特徴は、必須でも重要でもなく、本発明またはその特徴を実装する機構は、異なる名称、フォーマットまたはプロトコルを
有していてもよい。また、本明細書に記載する様々なシステム構成要素間の機能の具体的な区分は単なる例示であり、必須のものではない。すなわち、単一のシステム構成要素によって実行される複数の機能を、その代わりに複数の構成要素によって実行してもよいし、複数の構成要素のよって実行される複数の機能を、その代わりに単一の構成要素で実行してもよい。
【0074】
本発明は、本明細書の動作を実行するデバイスにも関する。このデバイスは、所要の目的のために特別に構築したものであってもよいし、かつ/あるいはコンピュータに記憶されたコンピュータ・プログラムによって選択的に起動または再構成される汎用計算装置を含んでいてもよい。このようなコンピュータ・プログラムは、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、光磁気ディスク、読取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、EPROM、EEPROM、磁気カードまたは光カード、特定用途向け集積回路(ASIC)、あるいは電子命令を記憶するのに適した任意の媒体などの任意のタイプのディスクなど(ただしこれらに限定されない)、有形のコンピュータ可読記憶媒体に記憶され、これらはそれぞれ、コンピュータ・システム・バスに結合される。さらに、本明細書で言及する任意の計算システムは、単一のプロセッサを含んでいてもよいし、計算能力を向上させるために複数のプロセッサ設計を利用したアーキテクチャであってもよい。
【0075】
本発明は、多数のトポロジを通じた様々なコンピュータ・ネットワーク・システムに適している。本分野において、大規模ネットワークの構成および管理は、インターネットなどのネットワークを通じて異種のコンピュータおよび記憶装置に通信可能に結合された記憶装置およびコンピュータを含む。さらに、本発明は、任意の特定のプログラミング言語に限定されない。様々なプログラミング言語を使用して、本明細書に記載したように本発明の教示を実装することができることを理解されたい。
【0076】
最後に、本明細書で使用する表現は、読み易さおよび教育的な目的を念頭に選択したものであり、発明性のある主題を描写または制限するために選択されたものではない場合もある。本発明の範囲は、以下の特許請求の範囲に記載されている。
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9