(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザ投稿の前記主題に関連付けられた地理的位置を決定するステップが、前記ユーザ投稿のジオタグに少なくとも部分的に基づいて、前記地理的位置を決定するステップを含む、請求項2に記載の方法。
前記ユーザ投稿の前記主題に関連付けられた地理的位置を決定するステップが、前記1つまたは複数の対象物の地理的情報に少なくとも部分的に基づいて、前記地理的位置を決定するステップを含む、請求項2に記載の方法。
前記ユーザ投稿の前記主題に関連付けられた地理的位置を決定するステップが、前記ユーザ投稿のジオタグに少なくとも部分的に基づいて、前記地理的位置を決定するステップを含む、請求項10に記載のシステム。
前記ユーザ投稿の前記主題に関連付けられた地理的位置を決定するステップが、前記1つまたは複数の対象物の地理的情報に少なくとも部分的に基づいて、前記地理的位置を決定するステップを含む、請求項10に記載のシステム。
【発明を実施するための形態】
【0017】
様々な図において、同じ参照番号および符号は、同じ要素を示す。
【0018】
本説明は、一般に、ユーザによるソーシャルネットワークへの写真および/または映像の投稿などのユーザ投稿を実時間で、または実時間に近い状態で解析し、ユーザ投稿の主題およびタイミング、そのような主題の地理的位置、関連するユーザ投稿の頻度もしくは投稿率、またはそれらの組合せに基づいて、珍しい、興味深い、かつ/または現在のイベントを識別することに関する。たとえば、そのような主題/イベントの識別を用いて、どのコンテンツ(たとえば、ニュースフィード)がソーシャルネットワークのメンバの関心が高く、そうしたメンバに配信すべきであるかを決定することができる。
【0019】
より詳細には、ユーザ投稿の写真または映像の対象物を解析して、ユーザ投稿の主題を識別することができる。たとえば、対象物ベースの様々な検出アルゴリズムを用いて、ユーザ投稿の写真の対象物を識別することができ、また、識別された対象物の主題を、ユーザ投稿の主題として決定することができる。ユーザ投稿/写真に関連付けられた地理的位置は、写真内の対象物(たとえば、目印)を既知の場所で識別することによって、また、たとえば写真のジオタグ、IPアドレス照合、および他の位置決定プロセスによって決定することができる。
【0020】
ユーザ投稿を解析すると、共通の主題を有するユーザ投稿のクラスタが決定される。ユーザ投稿のクラスタを決定することによって、そのクラスタの主題に関連した、重要で、ニュース性があり、または他の点において興味深いイベントを示唆することができる。そのようなクラスタの決定を用いて、どのコンテンツをソーシャルネットワークのメンバに配信すべきかを決定することができ、これについて以下で説明する。
【0021】
図1は、コンテンツ配信調整システム110を実施することができる環境の一例のブロック図である。この環境100の例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのネットワーク102を含む。ネットワーク102は、ウェブサイト104、ユーザデバイス106、ソーシャルネットワークシステム108、コンテンツ配信調整システム110、および検索システム112に接続することができる。環境100のこの例は、数千ものウェブサイト104、およびユーザデバイス106を含むことができる。
【0022】
ウェブサイト104は、ドメイン名に関連付けられ、1つまたは複数のサーバによってホスト管理された1つまたは複数のリソース105でよい。ウェブサイトの一例は、テキスト、画像、マルチメディアコンテンツ、およびスクリプトなどのプログラミング要素を含むことができるハイパーテキストマークアップ言語(HTML)形式のウェブページの集合体である。各ウェブサイト104は、ウェブサイト104を制御し、管理し、かつ/または所有するエンティティである発行者によって維持することができる。
【0023】
リソース105は、ネットワーク102を介して提供することができるいかなるデータでもよい。リソース105は、リソース105に関連付けられたリソースアドレスによって識別することができる。リソースには、ほんの数例を挙げると、HTMLページ、ワードプロセッシング文書、およびポータブルドキュメントフォーマット(PDF)文書、画像、写真、映像、およびフィードソースが含まれる。リソース105は、埋込み情報(ハイパーリンクのメタ情報など)、および/または埋込み命令(スクリプトなど)を含み得る語、句、画像、および音声などのコンテンツを含むことができる。
【0024】
ユーザデバイス106は、ユーザの制御下にあり、ネットワーク102を介してリソースを要求し、受け取ることが可能である電子デバイスでよい。ユーザデバイス106の例には、パーソナルコンピュータ、モバイル通信デバイス、およびネットワーク102を介してデータを送受信することができる他のデバイスが含まれる。ユーザデバイス106は、典型的には、ネットワーク102を介したデータの送受信を容易にするウェブブラウザなどのユーザアプリケーションを含む。
【0025】
リソース105およびウェブサイト104の検索がしやすいように、環境100は、ウェブサイト104の発行者によって設けられたリソース105をクローリングし、インデックスすることよってリソース105を識別できる検索システム112を含むことができる。リソース105に関するデータは、そのデータの対応するリソース105に基づいてインデックスすることができる。インデックスされ、任意選択でキャッシュに入れられたリソース105のコピーを、インデックス済みキャッシュ114に記憶させることができる。
【0026】
ユーザデバイス106は、ネットワーク102を介して検索システム112に検索クエリを送信することができる。それに応答して、検索システム112は、インデックス済みキャッシュ114にアクセスして、その検索クエリに関連するリソース105を識別することができる。検索システム112は、リソース105を検索結果の形で識別することができ、検索結果ページで検索結果をユーザデバイス106に返すことができる。検索結果は、特定の検索クエリに応答するリソース105を識別する、検索システム112によって生成されたデータとすることができ、リソース105へのリンクを含む。検索結果の例には、ウェブページのタイトル、ウェブページから抽出されたテキストの抜粋または画像の一部分、およびウェブページのURLが含まれ得る。
【0027】
ソーシャルネットワークシステム108は、オンラインソーシャルネットワークを実施する、またはその他の形で存在させる(subsist)ことができるシステムを含むことができる。上述のように、オンラインソーシャルネットワークは、ユーザ(たとえば、ソーシャルネットワークメンバ)が他のユーザと交流することができる環境を提供することができる。たとえば、ユーザは、ユーザデバイス106を用いて、ソーシャルネットワークシステム108を介してソーシャルネットワークにアクセスし、情報を投稿し、自身の友人、家族、および同僚などの他のユーザと通信することができる。いくつかの実装形態では、ソーシャルネットワークシステム108は、1つまたは複数のウェブサイト104を含む。いくつかの実装形態では、ユーザは、ソーシャルネットワークシステム108上でユーザメンバウェブページ(たとえば、リソース105)を作成し、維持することができ、ユーザは、そのユーザメンバのウェブページにたとえばユーザ投稿を投稿することができる。
【0028】
いくつかの実装形態では、ユーザメンバウェブページに加えて、ソーシャルネットワークシステム108は、ユーザコミュニティウェブページ、および一般コンテンツウェブページが含むことができ、そこにアクセスすることができる。たとえば、そのような他のウェブページは、時事、トレンドトピック(たとえば、最も検索されているトピックまたは主題)に関するニュース記事などのコンテンツ、および広告、最近投稿されたユーザ投稿の概要などの対象がしぼられたコンテンツを含めることができる。いくつかの実装形態では、そのようなコンテンツは、ユーザメンバウェブページ上の見出しとしてユーザデバイス106に表示される。
【0029】
上述のように、ユーザ(たとえば、ソーシャルネットワークメンバ)は、ユーザデバイス106を用いてコンテンツを作成し、ソーシャルネットワークサービス(たとえば、ソーシャルネットワークシステム108または別の種類のユーザ生成コンテンツサービス)に投稿を投稿することができる。たとえば、ソーシャルネットワークメンバは、自身の関心のあるイベントの写真(または映像)を撮影し、その写真、またはその写真と、その写真についてのテキストによる説明もしくはコメントとをソーシャルネットワークサービスに投稿することができ、したがってその写真または写真とコメントとをソーシャルネットワークの他のメンバが見ることができる。いくつかの実装形態では、ソーシャルネットワークメンバは、自身のプロファイルウェブページに写真を投稿することができ、その投稿したソーシャルネットワークメンバと関係を有する(たとえば、友人である)他のソーシャルネットワークメンバは、ユーザデバイス106を用いて、その投稿したソーシャルネットワークメンバのプロファイルページにアクセスを要求することによってその投稿を見ることができる。
【0030】
本明細書では、ユーザ投稿とは、ソーシャルネットワークシステム108に投稿または提供された一アイテム(たとえば、写真、映像、テキストによるコメント、またはそれらの組合せ)であり、1つまたは複数のユーザデバイス106によってアクセスされるものである。たとえば、ユーザ投稿は、リソース105(たとえば、ソーシャルネットワークメンバのプロファイルウェブページ)でよく、またはそこを介してアクセス可能とすることができる。いくつかの実装形態では、ユーザ投稿は、(たとえば、ソーシャルネットワークシステム108によって)ユーザ投稿データストア124に記憶させることができる。ユーザ投稿は、たとえばそのユーザ投稿が投稿された時刻、投稿の主題、投稿された主題の地理的位置、または他の任意の要因に従って記憶させ、インデックスすることができる。
【0031】
いくつかの実装形態では、ウェブサイト104、ソーシャルネットワークシステム108、および/または検索システム112によって提供されるコンテンツ、またはそれらからアクセス可能なコンテンツは、ユーザ投稿に基づき、コンテンツ配信調整システム110によって調整または他の形で影響を与えることができる。たとえば、ソーシャルネットワークシステム108に関して、コンテンツ配信調整システム110は、どの時事をメンバウェブページに表示される見出しとして代表とすべきかを、それらの時事に関するユーザ投稿の件数または投稿率に基づいて決定(または調整)することができる。別の例として、検索システム112によって提供される検索結果に関して、コンテンツ配信調整システム110は、最近の関心事のトピックまたは主題について、それらのトピックまたは主題に関するユーザ投稿の件数または投稿率に基づいて検索システム112に示唆を提供することができる。次に、検索システム112は、その示唆を用いて、送信された検索クエリについて追加のコンテクストおよび意味論的意味を与え、それによって応答検索結果が、送信したユーザの情報ニーズを満たす可能性を高めることができる。
【0032】
上述のように、写真または映像を含むユーザ投稿は、テキストコンテンツしか含まないユーザ投稿よりも関心をより強く示唆することが多い。したがって、いくつかの実装形態では、コンテンツ配信調整システム110は、コンテンツの配信をどのように調整するかを決定する際に、写真を含むユーザ投稿を少なくとも部分的に解析することができる。コンテンツの配信の調整、ならびにコンテンツ配信調整システム110の対象物識別装置116、主題識別装置118、地理的位置識別装置120、およびクラスタ決定装置122の動作について、
図2A、
図2B、および
図2Cを参照しながら説明する。
【0033】
図2Aを参照すると、コンテンツの配信を調整するためのプロセスの一例の流れ図であり、プロセス200では、ネットワークへのユーザ投稿を解析する(202)。ネットワークは、別のネットワークのメンバの真部分集合であるメンバのコミュニティを含むネットワークでよい。たとえば、このネットワークは、ソーシャルネットワークシステム108によって表されるソーシャルネットワークのメンバでよく、他方のネットワークは、インターネットの全ユーザでよい。
【0034】
いくつかの実装形態では、コンテンツ配信調整システム110は、ソーシャルネットワークシステム108に通信可能に結合されている。したがって、コンテンツ配信調整システム110は、(たとえば、ユーザ投稿データストア124から)ユーザ投稿を受け取る、または他の形でユーザ投稿にアクセスすることができ、それらのユーザ投稿を解析して、ユーザ投稿群を、たとえば、共通の主題などの共通性で識別することができる(たとえば、ユーザ投稿のクラスタ)。たとえば、ユーザ投稿には、写真を含めることができ、以下で説明するように、コンテンツ配信調整システム110は、写真の主題に基づいて共通性を決定することができる。
【0035】
コンテンツ配信調整システム110は、識別されたユーザ投稿のクラスタを用いて、どのコンテンツをたとえばソーシャルネットワークシステム108を介してソーシャルネットワークメンバに対して配信すべきかを決定または調整することができる。たとえば、識別されるクラスタには、5分間の窓中に、オクラホマ州オクラホマシティの竜巻に関して投稿された1万件ものユーザ投稿が含まれ得る。クラスタ内のユーザ投稿の投稿率(たとえば、所与の期間にわたって受け取られたユーザ投稿件数)に基づいて、コンテンツ配信調整システム110は、竜巻に関するニュースフィードを、ソーシャルネットワークシステム108を介してソーシャルネットワークメンバに配信すべきであることを決定することができる。
【0036】
いくつかの実装形態では、ユーザ投稿の解析は、各ユーザ投稿についてプロセス202A〜202Dを含む。プロセス200では、ユーザ投稿が行われた時刻を識別する(202A)。いくつかの実装形態では、コンテンツ配信調整システム110は、ユーザ投稿がソーシャルネットワークシステム108に投稿された時刻に基づいて、またはユーザ投稿の写真が撮影された時刻(たとえば、写真のメタデータから求められる)に基づいて、ユーザ投稿が行われた時刻を識別することができる。たとえば、コンテンツ配信調整システム110は、サーバのシステムクロック、またはコンテンツ配信調整システム110が実施されている他のコンピューティングデバイスのシステムクロックに基づいて、ユーザ投稿を、そのユーザ投稿がソーシャルネットワークシステム108に投稿された時刻で「タイムスタンプ(time stamping)」することによって、ユーザ投稿が行われた時刻を識別することができる。いくつかの実装形態では、コンテンツ配信調整システム110は、ソーシャルネットワークシステム108を介して、ユーザ投稿データストア124からのユーザ投稿にアクセスし、そのユーザ投稿に関連付けられたメタデータからそのユーザ投稿が行われた時刻を識別することができる。
【0037】
プロセス200では、ユーザ投稿からの写真に示された1つまたは複数の対象物を識別する(202B)。対象物は、写真に捕捉または他の形で示された可視または有形のいかなる要素または物体でもよい。たとえば、対象物は、ほんの数例を挙げると、人物、建物、車両、または気象でよい。いくつかの実装形態では、対象物識別装置116は、ユーザ投稿に含まれた写真に示された対象物を識別することができる。対象物識別装置116は、スケール不変特徴量変換(SIFT: scale invariant feature transform)、エッジ検出、特徴点検出、画素マッチング、および他の適切な画像処理技術など、様々な技術を用いて、写真の対象物を識別することができる。プロセス202Bについて、一例のユーザ投稿からの写真210である
図2Bを参照しながらさらに説明する。
【0038】
写真210は、前景の消防車212および交通標識216の表示と、背景の橋梁214の表示とを含む。したがって、写真210を含むユーザ投稿の投稿に応答して、対象物識別装置116は、たとえば、消防車212を第1の対象物として識別し、橋梁214を第2の対象物として識別することができる。たとえば、対象物識別装置116は、画素または特徴マッチングプロセスを用いて、消防車212を画定している写真210の画素または特徴(「画素群」)を、(たとえば、対象物識別装置116がアクセス可能な画像データストアに記憶された)既知の主題を有する画像のコーパスからの消防車の写真または画像の画素または特徴と比較して、消防車212を写真210の対象物として識別する。本明細書では、基準画像とは、既知の主題を有する画像もしくは対象物、または画像もしくは対象物の特性もしくは特徴とすることができ、こうした基準画像に対してユーザ投稿からの写真を比較することができる。いくつかの実装形態では、基準画像と、写真(たとえば、消防車212)からの画素群との間でマッチングした画素または特徴の数が類似性閾値を超える場合、対象物識別装置116は、その画素群を対象物として識別することができる。たとえば、類似性閾値は、画素の90%マッチングまたは90%類似でも、特徴ベクトル比較に基づいた閾値余弦類似値(threshold cosine similarity value)でも、他のいかなるマッチング値もしくは類似値でもよい。
【0039】
プロセス200では、ユーザ投稿からの1つまたは複数の対象物に少なくとも部分的に基づいて、ユーザ投稿の主題を決定する(202C)。いくつかの実装形態では、主題識別装置118は、ユーザ投稿の写真から識別された対象物に少なくとも部分的に基づいて(たとえば、既知の画像、共通の対象物、およびロゴなどの認識可能な概念に基づいて)、ユーザ投稿の主題を決定することができる。たとえば、主題識別装置118は、写真210を含むユーザ投稿が、火事および消防車に関する主題を有することを、消防車212を写真210の対象物として識別することに基づいて決定することができる。
【0040】
主題識別装置118は、ユーザ投稿の主題を、ユーザ投稿の写真に類似した画像のメタデータから、その写真に類似した画像をホスト管理しているウェブページから、その写真に類似した基準画像が検索結果として選択された検索クエリから、ユーザ投稿に含まれたテキストのコンテンツから、またはそれらの何らかの組合せなど、数多くの手法で決定することができる。上述のように、いくつかの実装形態では、対象物識別装置116は、基準画像に対するマッチングプロセス(たとえば、画素間(pixel-to-pixel)または特徴間(feature-to-feature)比較プロセス)に基づいて、ユーザ投稿の写真の画素群を対象物であるとして識別することができる。そのような実装形態では、基準画像データストアに記憶された各基準画像を、1つまたは複数のキーワードに関連付けることができる(たとえば、各基準画像用のメタデータは、その基準画像用のキーワードを含む)。
【0041】
主題識別装置118は、基準画像のメタデータからキーワードを抽出することができ、その基準画像に対して、写真の画素群のマッチングが行われ(または類似しているか判定され)、マッチングした基準画像からのキーワードが、ユーザ投稿の主題としてそのユーザ投稿に割り当てられる。たとえば、消防車212がマッチングした基準画像に「火事」というキーワードが関連付けられている場合、主題識別装置118は、写真210を含むユーザ投稿が、火事の主題を有すると決定することができる。画像マッチングプロセス以外の他の技術を用いて、写真の対象物が基準画像に類似している、または同じであると識別することもできる(たとえば、相互相関、スケール不変特徴量変換、同じ主題の縦型分類(categorizations in the same subject matter verticals))。写真の対象物が基準画像(「マッチングした基準画像」)にいかにマッチングしているか、または類似していると判定されるかにかかわらず、主題識別装置118は、マッチングした基準画像に関連付けられたキーワードに基づいて、ユーザ投稿の主題を決定することができる。
【0042】
いくつかの実装形態では、主題識別装置118は、マッチングした基準画像を用いて検索システム112に問い合わせて、(たとえば、インデックス済みキャッシュ114から)そのマッチングした基準画像をホスト管理しているウェブページのキーワードを決定するか、または他の形でそのキーワードにアクセスすることができる。主題識別装置118は、これらのウェブページのキーワードを、それぞれのユーザ投稿の主題として割り当てることができる。そのようなウェブページのキーワードは、それぞれのウェブページのタイトルでも、それぞれのウェブページの見出しでも、それぞれのウェブページのマッチングした基準画像用の注釈またはキャプションなどでもよい。
【0043】
いくつかの実装形態では、インデックス済みキャッシュ114は、ウェブページのホスト管理された基準画像用のウェブページキーワードを記憶することができる。したがって、主題識別装置118は、特定のマッチングした基準画像に基づいて、インデックス済みキャッシュ114から、または検索システム112から、関連するウェブページのキーワードを要求するか、または他の形でそこにアクセスすることができる。たとえば、主題識別装置118は、消防車212についてマッチングした基準画像を用いて、検索システム112から、消防車212についてマッチングした基準画像をホスト管理している1つまたは複数のウェブページからのウェブページキーワードを要求し、これらのウェブページキーワードの1つまたは複数を、ユーザ投稿の主題として割り当てることができる。以下で説明するように、ユーザ投稿の主題として割り当てられる、または決定される特定のキーワードは、ウェブページのキーワード頻度または用語頻度に基づくことができる。
【0044】
いくつかの実装形態では、主題識別装置118は、マッチングした基準画像を検索システム112に通信または提供することができる。次いで、検索システム112は、検索結果が選択された1つまたは複数の検索クエリを提供することができ、これらの検索クエリは、マッチングした基準画像を参照している(たとえば、リンクを含む)ものであり、より一般的には、マッチングした基準画像のマッチングが行われた写真の対象物または画素群を参照しているものである。
【0045】
主題識別装置118は、返された検索クエリからの1つまたは複数の用語(たとえば、返された検索クエリのうち最も多く見られた検索用語)を、対応するユーザ投稿の主題として割り当てられる用語として使用することができる。たとえば、主題識別装置118は、消防車212についてマッチングした基準画像(たとえば、消防車212と同じ造作および同じモデルの消防車の写真)を検索システム112に提供することができる。次に、検索システム112は、過去の検索クエリのデータを記憶している検索クエリログをパースし、過去の検索クエリの結果選集のデータを記憶しているクリックログをパースして、消防車212についてマッチングする基準画像を参照している、またはそこにリンクするリンクが提供される応答検索結果が選択された検索クエリを識別することができる。検索システム112は、これらの検索クエリを主題識別装置118に返すことができる。
【0046】
主題識別装置118は、返された検索クエリから1つまたは複数の用語を選択して、関連する写真を含むユーザ投稿の主題として割り当てることができる。たとえば、返された検索クエリが「消火機器(firefighting equipment)」、「火事(fire)」、「消防車(fire truck)」、および「山火事はいかに発生するのか(how is a forest fire started)」であった場合、主題識別装置118は、返された検索クエリで最も多く出現する検索クエリ用語、すなわち「火事(fire)」を選択することができる。しかし、返されたすべての検索クエリにわたって最も頻度が高く使用されている、文法上の冠詞または前置詞でない用語を選択するなど、他の選択方法を用いてもよい。
【0047】
いくつかの実装形態では、主題識別装置118は、ユーザ投稿の主題を、テキストコンテンツを有するユーザ投稿に含まれたテキストコンテンツに基づいて決定することができる。より詳細には、主題識別装置118は、ユーザ投稿に含まれたテキストコンテンツを(たとえば、用語頻度分布、パターン認識、タグ付け/注釈、情報抽出、および/または他のデータマイニング技術によって)解析して、ユーザ投稿の主題を決定することができる。たとえば、写真210を有するユーザ投稿に含まれたテキストコンテンツが「消防車が!(omg fire trucks!)」である場合、主題識別装置118は、そのテキストコンテンツの解析に基づいて「消防車」または「火事」をユーザ投稿の主題として割り当てることができる。
【0048】
いくつかの実装形態では、主題識別装置118は、多数のユーザ投稿(たとえば、直近の10分間など、特定の期間中に投稿されたもの、または同じ地理的地域から得られたもの)のテキストコンテンツを解析して、ユーザ投稿の主題決定を容易にすることができる。これらの特定のユーザ投稿のいずれについても、主題を決定する前に多数のユーザ投稿のテキストコンテンツを解析することによって、主題識別装置118は、ユーザ投稿間の共通性または意味論的トレンドを識別して、ユーザ投稿の一部または全部の主題の決定を容易にすることができる。たとえば、5分間に100件のユーザ投稿が投稿され、それらのユーザ投稿のうちの85件に「火事」または「消防車」という用語が含まれていた場合、主題識別装置118は、「火事」または「消防車」という用語を含むユーザ投稿が火に関連した主題を有すると高い信頼性で決定することができる。
【0049】
一群のユーザ投稿を解析することによって、主題識別装置118は、そのようなユーザ投稿の主題を、単一のユーザ投稿を単独で解析するよりも高い信頼性で決定することができる。たとえば、第1のユーザ投稿のテキストコンテンツが、「私のいるホテルのバルコニーから大きな火事が見える。ところでこのホテルの海の眺めは素晴らしい。」であり、火事の写真が添付されている場合、このユーザ投稿が主に火事を対象としていると決定するのは困難となることがあり、その理由は、このテキストコンテンツにはまた、ホテルに関する言及も含まれているからである。しかし、この第1のユーザ投稿が投稿されてから2分以内に、数十件の他のユーザ投稿が投稿され、すべてが明らかに火事に関連していた場合、これらのユーザ投稿をすべて解析することによって、主題識別装置118は、他のユーザ投稿もやはりすべて火事を対象としているので、より高い信頼性で、第1のユーザ投稿が主に火事を対象としているものであると決定する(たとえば、火事かホテルかを決定する)ことができる。
【0050】
より一般的には、主題識別装置118は、関連した(たとえば、時間的に関連した、地理的発生源が関連した、共通性を有するユーザによって投稿された、など)一群のユーザ投稿を解析することができる。その一群のユーザ投稿内の閾値レベルが共通の主題を有すると判定された場合、主題識別装置118は、その共通の主題を入力として用いて、その一群内(または他の形で関連のある)の、主題が認識されてない、または主題が多数ある、もしくは曖昧であるいかなるユーザ投稿についても主題を決定しやすくすることができる。
【0051】
いくつかの実装形態では、主題識別装置118は、上述のいかなる技術も、またはそれらのいかなる組合せも用いて、ユーザ投稿の主題を決定することができる。
【0052】
プロセス200では、ユーザ投稿のコンテンツに少なくとも部分的に基づいて、ユーザ投稿の主題に関連付けられた地理的位置を決定する(202D)。いくつかの実装形態では、地理的位置識別装置120は、ユーザ投稿の写真の対象物、ユーザ投稿に関連付けられたメタデータ、またはその両方など、ユーザ投稿のコンテンツに基づいて、地理的位置を決定することができる。たとえば、地理的位置識別装置120は、対象物識別装置116、および主題識別装置118と協働して、写真の目印となる対象物(または他の形で意味のある位置情報を提供するもの)を識別し、その目印の位置に基づいて地理的位置を決定する。したがって、たとえば、地理的位置識別装置120は、写真210の橋梁214をカリフォルニア州サンフランシスコ付近のゴールデンゲートブリッジとして識別することができ、したがって対応するユーザ投稿の主題(たとえば、火事)に関連付けられた地理的位置がカリフォルニア州サンフランシスコであるか、またはその付近であると決定する。
【0053】
上述のように、いくつかの実装形態では、地理的位置識別装置120は、ユーザ投稿に関連付けられたメタデータに基づいて地理的位置を決定することができる。たとえば、メタデータは、写真が撮影された位置を特定する、写真用EXIFデータでよい。地理的位置識別装置120は、ユーザ投稿の地理的位置が、EXIFデータで特定された位置と同じであると決定することができる。
【0054】
いくつかの実装形態では、地理的位置識別装置120は、ユーザ投稿自体の位置情報に基づいて地理的位置を決定することもできる。たとえば、ユーザ投稿には、そのユーザ投稿を投稿しているユーザデバイス106の位置(たとえば、ユーザデバイス106の全地球位置把握システムによって決定される)でジオタグを付けることができる。地理的位置識別装置120は、このジオタグ情報を用いて、地理的位置を決定することができる。たとえば、地理的位置識別装置120は、対応するユーザ投稿の主題に関連付けられた地理的位置が、ユーザ投稿のジオタグ情報で特定された位置と同じであると決定することができる。
【0055】
いくつかの実装形態では、地理的位置識別装置120は、ユーザ投稿を投稿しているユーザデバイス106のIPアドレスに基づいて地理的位置を決定することができる。たとえば、地理的位置識別装置120は、IPアドレス/位置ルックアップデータストアから、ユーザ投稿を投稿しているユーザデバイス106のIPアドレスに関する位置情報にアクセスし、地理的位置が、投稿しているユーザデバイス106のIPアドレスに関連付けられた位置と同じであると決定することができる。地理的位置識別装置120は、上述のいかなる技術、またはそれらのいかなる組合せも用いて、地理的位置を決定することができる。
【0056】
上記で説明したように、プロセス200では、ユーザ投稿を解析して、一部にはユーザ投稿が投稿された時刻を識別し、ユーザ投稿の主題、およびそのような主題に関連付けられた地理的位置を決定する。類似した主題および地理的位置を有するユーザ投稿の頻度が、所与の時間間隔にわたって増大する場合、そのような主題および地理的位置に関連した何らかの重要なイベントが生じた可能性が高い。したがって、そのようなイベントに関連した情報をソーシャルネットワークのメンバに提供することが望ましい。そのようなイベントの識別について、以下で説明する。
【0057】
プロセス200では、ユーザ投稿のクラスタを決定する(204)。特定のクラスタ内の各ユーザ投稿は、ユーザ投稿が行われた時刻、ユーザ投稿の主題、ユーザ投稿の主題に関連付けられた地理的位置、またはそれらの組合せを少なくとも部分的に基づいて、その特定のクラスタ内の他の各ユーザ投稿に類似している。したがって、クラスタは、時刻、主題、または地理的位置の少なくとも1つにおいて関連した一群のユーザ投稿と言える。たとえば、クラスタは、特定の3分間窓内で投稿された、同じまたは類似の主題および地理的位置を有するユーザ投稿で構成され得る。
【0058】
たとえば、ユーザ投稿の主題が、同じ垂直/主題カテゴリに分類される場合、またはユーザ投稿が同じ、または関連した(たとえば、意味論的に関連した)テキストコンテンツ(たとえば、キーワード)もしくは画像コンテンツ(たとえば、画像マッチング技術によって決定されたもの)を含む場合、それらのユーザ投稿は、類似の、または関連した主題を有すると決定することができる。たとえば、ユーザ投稿が、互いに指定された期間内、または特定の日または日中の特定の時刻に関して特定の期間内に投稿された場合、それらのユーザ投稿は、時刻に関して類似している、または関連があると決定することができる。たとえば、ユーザ投稿が、特定の地理的地域で、もしくはその地域内で投稿された場合、または特定の地理的地域に関連付けられたコンテンツを含む場合(たとえば、ユーザ投稿がカリフォルニアにいるユーザによって投稿された、またはユーザ投稿にゴールデンゲートブリッジの写真が含まれている)、それらのユーザ投稿は、地理的位置に関して類似している、または関連があると決定することができる。いくつかの実装形態では、クラスタ決定装置122は、ユーザ投稿のクラスタを決定することができる。
【0059】
クラスタ決定装置122は、たとえば、k平均クラスタ法、階層的クラスタ法、または密度ベースクラスタ法などの様々な技術に基づいてクラスタを決定することができる。クラスタの決定について、ユーザ投稿クラスタの一例のグラフ280である
図2Cを参照しながら説明する。グラフ280は、指定された期間(たとえば1時間)中に受け取られた特定のユーザ投稿をそれぞれが表す多数の指示子281を含む。グラフ280は、二次元空間を表し、y軸はユーザ投稿の主題の地理的位置を表し、x軸はユーザ投稿の主題を表している。ユーザ投稿の三次元表示では、z軸は、たとえばユーザ投稿が投稿された時刻を表すことになる。
【0060】
グラフ280に関して、クラスタ決定装置122は、たとえば、3つのユーザ投稿クラスタ、すなわちクラスタ282、284、および286を決定または識別する。クラスタ282内のユーザ投稿は、(主題と、地理的位置とに関して)比較的小さい領域に集中しているので、主題(たとえば、火事)と地理的位置(たとえば、サンフランシスコ)との両方において類似している。言い換えれば、このクラスタ内のユーザ投稿の、x軸およびy軸にわたる主題と地理的位置とのばらつきは、そのクラスタを画定している指定されたある範囲内に収まっている。
【0061】
同様に、クラスタ284内のユーザ投稿も、主題(たとえば、ワールドカップ決勝戦)と、地理的位置(たとえば、シカゴ)との両方において類似している。しかし、クラスタはまた、対応するイベントの性質が地理的に不可知となり得る、または分散し得るため、主題だけが関連したユーザ投稿で構成されることもある。たとえば、クラスタ286内のユーザ投稿は、主題のばらつきが低く(たとえば、x軸にわたる範囲が小さい)、地理的位置のばらつきが高い(たとえば、y軸にわたる範囲が大きい)ことよって示されるように、地理的に分散しているが(たとえば、類似していない)、主題に関しては類似している。類似した主題を有するが、地理的には分散しているというユーザ投稿のクラスタのそのような一例として、大統領選挙日の、米国全土にわたる選挙結果のユーザ投稿が挙げられる。
【0062】
いくつかの実装形態では、クラスタ決定装置122は、関連したユーザ投稿のクラスタのためのクラスタ閾値を超える、いくつかの関連した(たとえば、主題、時刻、地理的位置、またはそれらの任意の組合せにおいて関連した)ユーザ投稿を有するクラスタを識別することができる。クラスタ閾値は、関連したユーザ投稿がクラスタを構成するために超えなければならないユーザ投稿の閾値測定値でよい。クラスタ閾値は、たとえば、関連したユーザ投稿の件数、または指定された間隔にわたって投稿されたユーザ投稿の件数もしくは分量(たとえば、ユーザ投稿率)に基づくことができる。たとえば、サンフランシスコでの火事に関連した主題を有するユーザ投稿を含む特定のクラスタでは、クラスタ閾値は、1時間あたり200件の関連したユーザ投稿があることである。したがって、クラスタ決定装置122は、1時間の間隔中にサンフランシスコの火事に関連したユーザ投稿が少なくとも200件投稿されたと判定したことに応答して、そのような一群のユーザ投稿をクラスタとして識別することができる。
【0063】
クラスタ閾値のレベルまたは値は、ソーシャルネットワークメンバのほんの一部にしか関心のない主題に関連したユーザ投稿が、クラスタとして決定される、またはどのコンテンツを、もしくはそのようなコンテンツをどのくらいの分量で、たとえばソーシャルネットワークのメンバに配信するかを決定する際に使用される可能性を低減させるように設定することができる。以下で説明するように、ソーシャルネットワーク全体にわたって配信されるコンテンツは、決定されたクラスタに基づいて、または特定のクラスタ群に基づいて選択することができるので、ソーシャルネットワークメンバのほんの一部にしか関心のない主題は、配信にふさわしい候補とはなりにくい。したがって、クラスタ決定装置122またはソーシャルネットワーク管理者は、クラスタ閾値を、クラスタが限定されたユーザ投稿件数に基づいて識別または決定される可能性を低減させる値に設定することができる。このため、そのようなユーザ投稿に関連したコンテンツが、一般のソーシャルネットワーク観衆に配信される可能性が低減する。
【0064】
上述のように、グラフ280は、指定された期間中に受け取られたユーザ投稿に基づいている。クラスタ決定装置122は、ユーザ投稿のクラスタが決定される時間窓を変更することができる。いくつかの実装形態では、クラスタ決定装置122は、主題の種類に基づいて時間窓を変更することができる。たとえば、ある主題は、比較的短期間にわたって生じるイベント(たとえば、建物の火事または地震などの緊急事態)に関連付けられ、一方、他の主題は、比較的長期間にわたって生じるイベント(たとえば、落葉などの緩やかな季節的イベント)に関連付けられる。
【0065】
したがって、短期間にわたって生じるイベントに関連付けられた主題では、関連するユーザ投稿の投稿頻度(たとえば、単位時間あたりの投稿件数)が比較的高くなることが予想される。したがって、そのような主題では、クラスタ決定装置122がそのようなイベント/ユーザ投稿群を見落とす可能性を最小限に抑えるために、いくつかの実装形態では、クラスタ決定装置122は、そのようなクラスタのユーザ投稿を頻繁な間隔で解析することができる。そのような頻繁な確認は、クラスタをそれほど頻繁でない間隔で確認するよりも多くのシステムリソースを消費する。
【0066】
同様に、長期間にわたって生じるイベントに関連付けられた主題では、関連するユーザ投稿の投稿頻度は、短期間にわたって生じるイベントに関連したユーザ投稿の投稿頻度よりも低くなるものである。したがって、そのようなより長期間で生じるイベントでは、いくつかの実装形態では、クラスタ決定装置122は、短期間にわたって生じるイベントに関連したユーザ投稿のクラスタほど頻繁でない間隔で、対応するクラスタのユーザ投稿を解析することができる。このため、システムリソースにかかる負担が、短期間にわたって生じるイベントに関連したユーザ投稿のクラスタの頻繁な間隔の際の負担よりも軽減される。
【0067】
短期間、または長期間にわたって発生するイベントに関連付けられた主題のユーザ投稿頻度のレベルが上述のように相対的であることを考えると、いくつかの実装形態では、クラスタ決定装置122は、予想される頻度レベルに基づいてクラスタ閾値を設定することができる。予想される頻度レベルは、たとえば過去の測定値に基づくことができる。したがって、クラスタ決定装置122は、短期間にわたって生じるイベントに関連したユーザ投稿のクラスタについては、長期間にわたって発生するイベントに関連したユーザ投稿のクラスタよりも高い頻度レベルでクラスタ閾値を設定することができる。たとえば、落葉イベントに関連付けられた主題を有するユーザ投稿は、いかなる一地理的地域においても、紅葉は徐々に進み、また、異なる地理的地域の落葉イベントはタイミングが異なることを考えると、比較的低い頻度レベルで投稿される傾向となるため、クラスタ決定装置122は、クラスタ閾値を、短期間にわたって生じるイベントに関連し、そのため高いユーザ投稿頻度レベルが予想されるユーザ投稿のクラスタ向けのクラスタ閾値よりも低いレベルに設定することになる。
【0068】
いくつかの実装形態では、クラスタ決定装置122はまた、特定の主題を有するユーザ投稿のクラスタを探す頻度を、その特定の主題を有するユーザ投稿の過去の発生に基づいて変更することができる。たとえば、クラスタ決定装置122は、過去のユーザ投稿のデータベースにアクセスし、特定のクラスタが過去にいつ識別されたかを決定する。したがって、クラスタ決定装置122が落葉に関連付けられたクラスタを昨年の10月に識別していた場合、クラスタ決定装置122は、そのクラスタの昨年10月の先の識別を考慮して、落葉に関連付けられたユーザ投稿のクラスタを、それまでよりも、たとえば6月よりも高い頻度で今年の10月に探し始めることができる。
【0069】
所定のクラスタが、1組のソーシャルネットワークメンバの関心を示す良好な指示子となる傾向があるため、クラスタ決定装置122は、決定されたクラスタを用いて、ソーシャルネットワーク全体にわたってソーシャルネットワークメンバに配信するコンテンツを以下で説明するように調整または選択することができる。
【0070】
いくつかの実装形態では、クラスタ決定装置122は、ユーザ投稿を解析(またはさらに解析)して、「珍しい」イベントのクラスタを識別する。珍しいイベントとは、当該イベントが分類されるイベントカテゴリの基準線または規格から(たとえば、指定された閾値偏位だけ)逸脱したイベントである。イベントまたはそのイベントに関するユーザ投稿は、そのイベントの主題と、特定のカテゴリの主題との間の類似性に基づいて、1つまたは複数の特定のカテゴリに分類される。たとえば、消防車に関連したイベントに関するユーザ投稿のカテゴリでは、ユーザ投稿の大多数が消防署にある消防車の写真(たとえば、そのカテゴリの規格または基準線)を含む。したがって、橋梁にある消防車の写真を含むユーザ投稿は、消防署にある消防車の写真を含むユーザ投稿よりも発生頻度が稀となる(たとえば、消防車の写真を含むユーザ投稿の規格から逸脱する)。そのような希少性または規格からの逸脱は、珍しい、または異例のイベントを示し得る。
【0071】
いくつかの実装形態では、クラスタ決定装置122は、珍しいユーザ投稿(たとえば、珍しい、または異例のイベントを含むユーザ投稿)のクラスタを識別する。たとえば、ユーザ投稿を時系列として扱うことによって、クラスタ決定装置122は、たとえば、最小二乗解析などの様々な統計技術を用いて、異例の、または珍しいユーザ投稿を識別することができる。したがって、クラスタ決定装置122は、特定の時間枠(たとえば、ユーザ投稿の時系列)の間に投稿された一群のユーザ投稿を解析することができ、たとえば、ユーザ投稿の統計解析に基づいて、珍しいユーザ投稿のクラスタを識別することができる。たとえば、橋梁にある消防車の写真を含む珍しいユーザ投稿のクラスタを識別することができる。
【0072】
プロセス200では、クラスタの1つまたは複数の決定に基づいて、第2のネットワークのメンバへのコンテンツの配信を調整する(206)。たとえば、決定されたクラスタが、サンフランシスコの火事に関連する場合、クラスタ決定装置122は、「サンフランシスコで火事」というタイトルの見出しを生成し、そのコンテンツをソーシャルネットワーク全体に配信することができる。見出しには、たとえばそのクラスタからのユーザ投稿のアルバムまたは集合体にリンクするリンクを含めることができる。別の例では、クラスタ決定装置122は、火事に関するニュースフィードを選択し、そのニュースフィードを配信する、またはトレンドトピックとしてその火事を示すことができる。クラスタは、実時間または実時間に近いプロセスで決定することができるので、クラスタ決定装置122は、決定されたクラスタの主題に関連するコンテンツを、関連付けられたイベントの発生に対してタイムリーに配信または提供することができる。
【0073】
より一般的には、コンテンツ配信調整システム110は、ユーザ投稿のクラスタのユーザ投稿率に基づいてコンテンツの配信を調整することができる。たとえば、コンテンツ配信調整システム110は、クラスタ(たとえば、プロセス204から決定されたクラスタ)内の、それぞれのクラスタ閾値を超えているユーザ投稿の主題に類似した主題を有するコンテンツの配信量(たとえば、配信されるコンテンツアイテムの数またはコンテンツアイテムの配信率)を増大させることができる。
【0074】
いくつかの実装形態では、クラスタ決定装置122は、たとえば、決定されたクラスタを検索システム112に提供し、検索システム112は、その決定されたクラスタに関連付けられた主題を用いて、検索クエリに意味論的コンテクストを提供し、検索クエリに応答して返される検索結果との関連性を増大させることができる。たとえば、僅かに曖昧な検索クエリが受け取られた場合、検索システム112は、受け取られたクラスタ(およびそのような主題が現在トレンドとなっているコンテクスト)に関連付けられた主題を用いて、検索クエリの曖昧性を解決する、または解決を助けることができる。
【0075】
上記では写真を有するユーザ投稿に焦点を当てて説明してきたが、本明細書に記載の方法およびプロセスは、音声クリップ、音声/ビデオクリップ、図面などを含むユーザ投稿に等しく適用可能である。たとえば、コンテンツ配信調整システム110は、様々な音声解析技術を用いて、音声クリップの主題を決定し、抽出された主題を、対応するユーザ投稿の主題として割り当てることができる。同様に、コンテンツ配信調整システム110は、様々な画像および音声解析技術を用いて、音声/ビデオクリップの主題を決定し、抽出された主題を、対応するユーザ投稿の主題として割り当てることができる。
【0076】
本明細書に記載の主題および動作の実施形態は、本明細書に開示された構造体、およびそれらの構造的均等物、またはそれらの1つまたは複数の組合せを含む、デジタル電子回路で実施することも、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェアで実施することもできる。本明細書に記載の主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわちデータ処理装置によって実行されるように、またはデータ処理装置の動作を制御するようにコンピュータ記憶媒体にエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。あるいは、またはさらに、プログラム命令は、データ処理装置によって実行するために、適切な受信装置に送信するように情報をエンコードするために生成された人工生成伝搬信号、たとえば、機械生成電気信号、光信号、または電磁信号でエンコードしてもよい。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、あるいはそれらの1つまたは複数の組合せでよく、あるいはそれらに含まれてもよい。さらに、コンピュータ記憶媒体は、伝搬信号ではないが、コンピュータ記憶媒体は、人工生成伝搬信号でエンコードされたコンピュータプログラム命令のソースまたは宛先となり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理的構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)でもよく、あるいはそれらに含まれてもよい。
【0077】
本明細書に記載の動作は、データ処理装置によって、1つまたは複数のコンピュータ可読記憶デバイスに記憶されたデータ、または他のソースから受け取られたデータに対して実施される動作として実装することができる。
【0078】
「データ処理装置」という用語には、データを処理するためのあらゆる種類の装置、デバイス、マシンが包含され、例としてプログラム可能プロセッサ、コンピュータ、システムオンチップ(system on a chip)、またはそれらの複数、または組合せが含まれる。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、当該のコンピュータプログラムの実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時間環境、仮想マシン、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。こうした装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャ、およびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルのインフラストラクチャを実現することができる。
【0079】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイルまたは解釈された言語、宣言型または手続き型言語を含めて、いかなる形態のプログラム言語でも書き込むことができ、こうしたプログラムは、スタンドアロン型プログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、もしくはコンピューティング環境で使用するのに適した他のユニットとしての形態を含めて、いかなる形態としても導入することができる。コンピュータプログラムは、ファイルシステムのファイルに対応させることができるが、必ずしもそうである必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を保持するファイルの一部分に記憶させても、当該プログラム専用の単一ファイルに記憶させても、多数の協働ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部分を記憶したファイル)に記憶させてもよい。コンピュータプログラムは、1つのコンピュータで実行されるように導入しても、1箇所に配置された複数のコンピュータで実行されるように導入しても、複数個所にわたって分散配置され、通信ネットワークによって相互接続された複数のコンピュータで実行されるように導入してもよい。
【0080】
本明細書に記載のプロセスおよび論理フローは、1つまたは複数のプログラム可能プロセッサが、入力データに作用し、出力を生成することによって、1つまたは複数のコンピュータプログラムを実行して、行為を実施することによって実施することができる。コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方が含まれ、また、いかなる種類のデジタルコンピュータの1つまたは複数のプロセッサも含まれる。一般に、プロセッサは、読出し専用メモリから、またはランダムアクセスメモリから、またはそれらの両方から、命令およびデータを受け取る。コンピュータの必須要素は、命令に従って行為を実施するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般に、コンピュータはまた、データを受け取る、データを転送する、またはそのどちらともを行うために、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、光磁気ディスク、もしくは光ディスクを含み、あるいは、そうした大容量記憶デバイスに動作可能に結合されているものである。しかし、コンピュータはかかるデバイスを有しなくともよい。コンピュータプログラム命令、およびデータを記憶するのに適したデバイスには、例として、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、たとえば内蔵ハードディスクまたは取外し可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含めてあらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補充することも、そこに組み込むこともできる。
【0081】
本明細書に記載の主題の実施形態は、たとえばデータサーバとしてのバックエンド構成要素を含むコンピューティングシステムで、またはたとえばアプリケーションサーバであるミドルウェア構成要素を含むコンピューティングシステムで、またはたとえばユーザが、本明細書に記載の主題の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータであるフロントエンド構成要素を含むコンピューティングシステムで実施することができ、あるいは1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素のいかなる組合せでも実施することができる。このシステムの構成要素は、いかなる形態または媒体のデジタルデータ通信、たとえば通信ネットワークによっても相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)が含まれる。
【0082】
コンピューティングシステムは、クライアント、およびサーバを含むことができる。クライアントとサーバとは、概ね互いに遠隔にあり、典型的には通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバの関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、(たとえば、クライアントデバイスと対話しているユーザにデータを表示し、そのユーザからユーザ入力を受け取る目的で)データ(たとえば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイスで生成されたデータ(たとえば、ユーザの対話の結果)をクライアントデバイスからサーバで受け取ることができる。
【0083】
そのような種類のコンピュータの一例が
図3に示され、この図では、プログラム可能処理システム(システム)のブロック図が示されている。システム300を用いて、本明細書に記載のシステムおよび方法を実施することができる。システム300のアーキテクチャを用いて、たとえば、コンピュータクライアント、コンピュータサーバ、または他のいくつかのコンピュータデバイスを実施することができる。
【0084】
システム300は、プロセッサ310、メモリ320、記憶デバイス330、および入出力デバイス340を含む。構成要素310、320、330、および340はそれぞれ、たとえばシステムバス350を用いて相互接続することができる。プロセッサ310は、システム300内で実行する命令を処理することが可能である。一実装形態では、プロセッサ310は、シングルスレッドプロセッサである。別の実装形態では、プロセッサ310は、マルチスレッドプロセッサである。プロセッサ310は、メモリ320に記憶された命令、または記憶デバイス330上の命令を処理することが可能である。
【0085】
メモリ320は、システム300内に情報を記憶する。一実装形態では、メモリ320は、コンピュータ可読媒体である。一実装形態では、メモリ320は、揮発性メモリユニットである。別の実装形態では、メモリ320は、不揮発性メモリユニットである。
【0086】
記憶デバイス330は、システム300の大容量記憶デバイスとなることが可能である。一実装形態では、記憶デバイス330は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス330は、たとえば、ハードディスクデバイス、光ディスクデバイス、または他の何らかの大容量記憶デバイスを含むことができる。
【0087】
入出力デバイス340は、システム300の入出力動作を行う。一実装形態では、入出力デバイス340は、ネットワークインターフェースデバイス、たとえば、イーサネット(登録商標)カード、シリアル通信デバイス、たとえばRS-232ポート、および/または無線インターフェースデバイス、たとえば802.11カードの1つまたは複数を含むことができる。別の実装形態では、入出力デバイスは、入力データを受信し、出力データを他の入出力デバイス、たとえば、キーボード、プリンタ、および表示デバイス360に送信するように構成されたドライバデバイスを含むことができる。
【0088】
本明細書には、多くの特定の実施詳細が含まれているが、これらの詳細は、いずれかの実装形態の範囲に対する限定、または特許請求され得るものに対する限定として解釈すべきではなく、特定の実装形態の特定の実施形態に特有の特徴の説明として解釈されたい。本明細書で、別個の実施形態の例によって説明したある特徴はまた、単一の実施形態に組み合わせて実施してもよい。逆に、単一の実施形態の例において記載した様々な特徴もやはり、複数の実施形態として別個に、または適切ないかなる下位組合せとしても実施することができる。さらに、上記では、諸特徴をある組合せで作用するとして説明し、特許請求の範囲においても当初はそのように記載されることがあるが、特許請求の範囲に記載の組合せから1つまたは複数の特徴を場合によってはその組合せから削除することができ、また、特許請求の範囲に記載の組合せは、下位組合せ、または下位組合せの変形形態を対象とすることもある。
【0089】
同様に、動作について図面では特定の順序で示しているが、所望の結果を実現するためには、そのような動作は、図示の特定の順序で、または連続した順序で実施される必要があると理解すべきではなく、また例示されたすべての動作が実施される必要があると理解すべきでもない。状況によっては、マルチタスキング処理、およびパラレル処理が有利となり得る。さらに、上述の実施形態の様々なシステム構成要素の分離は、すべての実施形態においてそのような分離が必要であるとして理解すべきではなく、上述のプログラム構成要素とシステムとは、一般に単一のソフトウェア製品として統合することも、多数のソフトウェア製品としてパッケージングすることもできることを理解されたい。
【0090】
以上、本主題の特定の実施形態について説明してきた。他の実施形態も以下の特許請求の範囲に含まれる。場合によっては、特許請求の範囲に記載の行為は、異なる順序で実施しても所望の結果を実現することができる。さらに、添付の図に示したプロセスは、所望の結果を実現するために、必ずしも図示の特定の順序、または連続した順序である必要はない。ある実装形態では、マルチタスキング処理、およびパラレル処理が有利となり得る。