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

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

▶ マイクロソフト コーポレーションの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5934410
(24)【登録日】2016年5月13日
(45)【発行日】2016年6月15日
(54)【発明の名称】コンテキストベースの情報集約システム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20160602BHJP
【FI】
   G06F17/30 340A
   G06F17/30 110C
   G06F17/30 310Z
【請求項の数】9
【外国語出願】
【全頁数】26
(21)【出願番号】特願2015-82202(P2015-82202)
(22)【出願日】2015年4月14日
(62)【分割の表示】特願2013-515371(P2013-515371)の分割
【原出願日】2011年6月2日
(65)【公開番号】特開2015-156231(P2015-156231A)
(43)【公開日】2015年8月27日
【審査請求日】2015年4月14日
(31)【優先権主張番号】12/818,106
(32)【優先日】2010年6月17日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】500046438
【氏名又は名称】マイクロソフト コーポレーション
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(72)【発明者】
【氏名】サレット,チェーザレ・ジョン
(72)【発明者】
【氏名】キンブリュー,ピーター・トビアス
(72)【発明者】
【氏名】カムダ,ニコラス・フェリアンク
(72)【発明者】
【氏名】ソムア,ヘンリー・フーパー
(72)【発明者】
【氏名】マックロスキー,マシュー・ジョン
(72)【発明者】
【氏名】ヘベンサル,ダグラス・シー
(72)【発明者】
【氏名】ムルカイ,キャスリーン・ピー
【審査官】 早川 学
(56)【参考文献】
【文献】 特開2008−287693(JP,A)
【文献】 特表2008−541267(JP,A)
【文献】 特開2001−134706(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のクライアントと通信しているレーダーサービスを備える1つまたは複数のコンピューターの第1のセットであって、興味のあるトピックを示す情報を第1のユーザーに関連付けられる第1のクライアントから受信する、1つまたは複数のコンピューターの第1のセットと、
前記レーダーサービスを備える1つまたは複数のコンピューターの前記第1のセットと通信しているインテリジェンスサービスを備える1つまたは複数のコンピューターの第2のセットであって、1つまたは複数のコンピューターの前記第2のセットは集約するために利用可能な情報の1つまたは複数のインデックスを格納し、1つまたは複数のコンピューターの前記第2のセットは、ユーザーが特定の位置にいること以外の、前記第1のユーザーの行動に基づく推論から導出される前記第1のユーザーの意図を含む前記第1のユーザーについてのコンテキスト情報を作成し、1つまたは複数のコンピューターの前記第1のセットは、前記興味のあるトピックを示す情報、前記コンテキスト情報ならびに1つまたは複数のコンピューターの前記第2のセットに格納された情報の前記1つまたは複数のインデックスを集約することによって、前記興味のあるトピックについてのコンテンツを自動的かつ継続的に収集し、1つまたは複数のコンピューターの前記第1のセットは、前記収集されたコンテンツを前記第1のユーザーについてのクライアントにプッシュする、コンテンツを配信するシステム。
【請求項2】
1つまたは複数のコンピューターの前記第1のセットは、前記第1のクライアントによって前記第1のユーザーから検出されたスピーチにおいて自動的に識別される1つまたは複数のキーワードに基づいて、前記興味のあるトピックについてのコンテンツを収集する、請求項1に記載のシステム。
【請求項3】
1つまたは複数のコンピューターの前記第1のセットが、前記収集されたコンテンツが前記コンテキスト情報にとってどれくらい適切かに基づいて、前記収集されたコンテンツに関連性スコアを割り当てることによって前記収集されたコンテンツのフィルタリングに参加する関連性エンジンを含む、請求項1又は2に記載のシステム。
【請求項4】
1つまたは複数のコンピューターの前記第1のセットが、興味のあるトピックを示す情報を自動的かつ継続的に収集する、持続的で、個人専用にされたソフトウェア処理であるマグネットを含み、
前記マグネットが、前記興味のあるトピックについてのコンテンツを自動的かつ継続的に収集する、請求項1〜3のいずれか一項に記載のシステム。
【請求項5】
1つまたは複数のコンピューターの前記第1のセットが、1つまたは複数のリコメンデーションエンジンを含み、前記マグネットが前記リコメンデーションエンジンを使用してネットワークを介してコンテンツを識別し、
1つまたは複数のコンピューターの前記第1のセットが、前記収集されたコンテンツが前記コンテキスト情報にとってどれくらい適切かに基づいて、前記収集されたコンテンツに関連性スコアを割り当てることによって前記収集されたコンテンツのフィルタリングに参加する関連性エンジンを含む、請求項4に記載のシステム。
【請求項6】
1つまたは複数のコンピューターの前記第2のセットが、ネットワークを介して利用可能なコンテンツについてのパブリックインデックス、前記ネットワークを介して利用可能なコンテンツについての1つまたは複数のプライベートインデックス、広告および提示のためのデータ構造、ならびにユーザープロファイルデータを含み、
前記マグネットが、前記パブリックインデックス、前記1つまたは複数のプライベートインデックス、広告および提示のための前記データ構造、ならびにユーザープロファイルデータに基づいて、興味のある前記トピックについての前記コンテンツを自動的かつ継続的に収集する、請求項4又は5に記載のシステム。
【請求項7】
前記コンテキスト情報が、前記第1のユーザーによって実行されている動作を示す情報を含む、請求項1〜6のいずれか一項に記載のシステム。
【請求項8】
1つまたは複数のコンピューターの前記第1のセットは、前記収集されたコンテンツを、前記第1のユーザーに関連付けられる第2のクライアントにプッシュする、請求項1〜7のいずれか一項に記載のシステム。
【請求項9】
1つまたは複数のコンピューターの前記第1のセットは、前記収集されたコンテンツを、前記第1のユーザーに関連付けられる前記第1のクライアントにプッシュする、請求項1〜8のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテキストベースの情報集約システムに関する。
【背景技術】
【0002】
[0001]インターネットの広範な普及によって、より多くの人々がこれまで以上により多
くの情報にアクセスできるようになった。たとえば、人々は、ソーシャルネットワーキン
グサイト、コンテンツを集約するウェブサイト、およびオンラインコミュニティー上で、
友人、音楽グループ、および著名な人物を追うことができる。人々は、RSSフィード、
コンテンツ集約ウェブサイト、およびブログを介して、興味のあるトピックに精通し続け
ることができる。情報がすぐに利用できない場合、またはショッピングをしている場合、
ユーザーはインターネット検索エンジンを参照する。さらに、多くのイベント、商品の販
売者、およびサービスは、インターネット上に広告を掲載する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
これら全ての情報源にもかかわらず、人々は依然として、参加したかったであろうイベ
ントや経験を見逃すことがある。
【課題を解決するための手段】
【0004】
[0002]あるシステムは、ユーザーが関心を持っている人々および物事についての関連す
るおよび現在の情報を自動的かつ継続的に発見および集約する。情報は、現在のコンテキ
スト(たとえば、ユーザーがいる場所、ユーザーがしていること、ユーザーが言っている
/タイプしていること等)、および/またはユーザーにとって興味深いトピックに基づい
てフィルタリングされる。情報収集の結果は、ユーザーによって操作される様々な物理的
デバイスのうちのいずれかのユーザーインターフェース上に遍在的に提示される。
【0005】
[0003]一実施形態は、興味のあるトピックの表示を第1のクライアントから(サーバー
システムで)受信するステップと、表示を受信するステップに応じて識別されたトピック
についてのコンテンツを自動的に収集するステップと、サーバーシステムでクライアント
からコンテキスト情報を受信するステップと、受信されたコンテキスト情報に基づいて収
集されたコンテンツのサブセットを識別するステップと、収集されたコンテンツの識別さ
れたサブセットを報告するステップとを含む。
【0006】
[0004]一実施形態は、グローバルネットワークと通信するネットワークインターフェー
ス、記憶装置、ならびにネットワークインターフェースおよび記憶装置と通信する1つま
たは複数のプロセッサーを含む。1つまたは複数のプロセッサーは、クライアントから複
数のトピックの表示を受信するステップに応じて、複数のトピックに関連するコンテンツ
を収集する。1つまたは複数のプロセッサーは、第1のクライアントから受信したコンテ
キストの表示に関連する収集されたコンテンツのサブセットを識別する。1つまたは複数
のプロセッサーは、収集されたコンテンツの識別されたサブセットを報告する。
【0007】
[0005]一実施形態は、1つまたは複数のプロセッサー可読記憶装置に組み入れられたプ
ロセッサー可読コードを有する、1つまたは複数のプロセッサー可読記憶装置を含む。プ
ロセッサー可読コードは、1つまたは複数のプロセッサーに、第1のユーザーにとって興
味のある1つまたは複数のトピックを識別するステップと、興味のある1つまたは複数の
トピックをリモートコンピューティングシステムに送信するステップと、第1のユーザー
についての第1のコンテキスト情報を自動的に取得するステップと、第1のコンテキスト
情報をリモートコンピューティングシステムに自動的に送信するステップと、現在のコン
テキスト情報に基づいてリモートコンピューティングシステムからコンテンツを受信する
ステップと、受信したコンテンツを第1のユーザーに報告するステップとを備える方法を
実行させるようプログラムする。
【0008】
[0006]この発明の概要は、概念の選択を簡単な形式で紹介するために提供されるもので
あり、以下の発明を実施するための形態においてさらに説明する。この発明の概要は、特
許請求の範囲に記載された対象の主要な特徴または基本的な特徴を識別することを意図す
るものではなく、また、特許請求の範囲に記載された対象の範囲を決定する際の補助とし
て使用されることを意図するものでもない。さらに、特許請求の範囲に記載された対象は
、本開示のいずれかの部分に記載された欠点のいずれかまたは全てを解決する実装形態に
限定されない。
【図面の簡単な説明】
【0009】
図1】[0007]現在のコンテキストに基づいて、ユーザーが関心を持っている人々および物事についての関連するおよび現在の情報を自動的かつ継続的に発見および集約して、その情報をユーザーに報告するための処理の一実施形態を説明する流れ図である。
図2】[0008]現在のコンテキストに基づいて、ユーザーが関心を持っている人々および物事についての関連するおよび現在の情報を自動的かつ継続的に発見および集約して、その情報をユーザーに報告するシステムにおけるハードウェアコンポーネントの一実施形態のブロック図である。
図3】[0009]現在のコンテキストに基づいて、ユーザーが関心を持っている人々および物事についての関連するおよび現在の情報を自動的かつ継続的に発見および集約して、その情報をユーザーに報告するソフトウェアコンポーネントの一実施形態のブロック図である。
図4A】[0010]クライアントデバイスのユーザーインターフェースの様々な実施形態を示す図である。
図4B】クライアントデバイスのユーザーインターフェースの様々な実施形態を示す図である。
図4C】クライアントデバイスのユーザーインターフェースの様々な実施形態を示す図である。
図4D】クライアントデバイスのユーザーインターフェースの様々な実施形態を示す図である。
図4E】クライアントデバイスのユーザーインターフェースの様々な実施形態を示す図である。
図4F】クライアントデバイスのユーザーインターフェースの様々な実施形態を示す図である。
図5A】[0011]現在のコンテキストに基づいて、ユーザーが関心を持っている人々および物事についての関連するおよび現在の情報を自動的かつ継続的に発見および集約して、その情報をユーザーに報告するソフトウェアコンポーネントの一実施形態を表す論理ブロック図である。
図5B】[0012]現在のコンテキストに基づいて、ユーザーが関心を持っている人々および物事についての関連するおよび現在の情報を自動的かつ継続的に発見および集約して、その情報をユーザーに報告するソフトウェアコンポーネントの一実施形態を表す論理ブロック図である。
図6】[0013]現在のコンテキストに基づいて、ユーザーが関心を持っている人々および物事についての関連するおよび現在の情報を自動的かつ継続的に発見および集約して、その情報をユーザーに報告するための処理の一実施形態を説明する流れ図である。
図7】[0014]クライアントが対話による方法でデータを取得する処理の一実施形態を説明する流れ図である。
図8】[0015]クライアントが能動的な方法でデータを取得する処理の一実施形態を説明する流れ図である。
図9A】[0016]クライアントが受動的な方法でデータを取得する処理の一実施形態を説明する流れ図である。
図9B】[0017]クライアントが受動的な方法でデータを取得する処理の一実施形態を説明する流れ図である。
図10】[0018]クライアントがユーザーに報告する処理の一実施形態を説明する流れ図である。
図11】[0019]マグネットの操作の一実施形態を説明する流れ図である。
図12】[0020]サーバーがクライアントから情報を受信する処理の一実施形態を説明する流れ図である。
図13】[0021]イベントに応答して、ユーザーについてのコンテンツを識別するための処理の一実施形態を説明する流れ図である。
図14】[0022]図2のコンポーネントを実装して、本明細書に記載の処理を実行するために使用されうる例示的コンピューティングシステムのコンポーネントを説明するブロック図である。
【発明を実施するための形態】
【0010】
[0023]ユーザーが興味を持っているトピックおよび場所、ユーザーのソーシャルネット
ワーク内の人々、ユーザーのデモグラフィックおよびブラウジング履歴、ならびにユーザ
ーがいる場所、ユーザーが一緒にいる人、およびユーザーがしていることについてのコン
テキスト情報を学習して識別するシステムが開示される。クラウド(たとえば、インター
ネット)に接続されたサービスは、その情報を常に評価して、ユーザーが興味を示すと思
われるインターネット(または他のソース)上で利用できる関連コンテンツを収集する。
収集された情報は、ユーザーのコンテキストに基づいてフィルタリングされる。このフィ
ルタリングされた情報は、ユーザーが操作する任意のデバイス上でユーザーエクスペリエ
ンスの一部としてユーザーにプッシュされる。ユーザーエクスペリエンスはスクリーンに
よって異なる場合があるが、表示するデータは同じである(またはほぼ同じである)。シ
ステムは、多くの異なるタイプのサイトからコンテンツが収集され、コンテキストに基づ
いて自動的にフィルタリングされ、ユーザーの異なるタイプのコンピューティングデバイ
スの多くとの対話に基づいてユーザーに提供されるという点で、他のデータ発見システム
よりも優れた利点を提供する。
【0011】
[0024]現在のコンテキストに基づいて、ユーザーが関心を持っている人々および物事に
ついての最も関連するおよび現在の情報を自動的かつ継続的に発見および集約して、その
情報を、ユーザーによって操作される様々な物理的デバイスのうちのいずれかのユーザー
インターフェース上で遍在的にユーザーに報告するシステムが開示される。図1は、この
ようなシステムを説明する高レベルの流れ図を提供する。図1の処理のステップ2で、シ
ステムはユーザーにとって興味深い情報(たとえば、ユーザーが関心を持っている人々お
よび物事についての現在の情報)を自動的かつ常に収集する。ステップ4で、システムは
、それぞれのユーザーおよび彼らのコンテキストについての知識に基づいて、収集された
情報を自動的かつ常に評価およびフィルタリングする。ステップ6で、ユーザーにとって
興味があるとシステムが決定した情報がユーザーに報告される(たとえば、プッシュされ
る)。ステップ8で、システムはその情報に関するユーザー要求に応答する(ユーザーが
このような要求をした場合)。たとえば、ユーザーが報告されたことについてのさらなる
情報を要求することもあり、ユーザーが報告されたトピックについてのさらなる情報を要
求することもある。たとえば、ユーザーが購入したことがある特定の対象が近隣の店舗で
入手可能であることをシステムが報告すると、ユーザーはその店舗への道順および営業時
間などのさらなる情報を要求する場合がある。次いで、システムはその店舗についての関
連情報とともに、地図および/または道順を提供する。
【0012】
[0025]以下の例を考察する。第1の女性がバスに乗っており、彼女のモバイルコンピュ
ーティングデバイス(たとえば、セルラー式電話、タブレット、ラップトップ等)でビデ
オを視聴している。ビデオを視聴している間、第1の女性は、バスの車内の通路の反対側
に座っている第2の女性が履いている、彼女が好きな靴に気付く。第1の女性は、第2の
女性に気付かれずに、彼女のモバイルコンピューティングデバイスを使用してその靴の写
真を撮影する。その写真は、本明細書に記載のシステムに提供される。システムはその靴
の正確な型およびモデル、ならびにその靴を購入する場所を識別する。その情報は全て、
第1の女性に彼女のモバイルコンピューティングデバイス上で提供される。次いで、第1
の女性はビデオの視聴を再開する。後に、バスがデパートメントストアーに近づくと、シ
ステムは、(GPS、または他のトラッキング技術を使用して)第1の女性がデパートメ
ントストアーの近くにいること、およびそのデパートメントストアーで、興味がある靴の
セールが行われていることを識別する。モバイルコンピューティングデバイスは、第1の
女性に警告を表示する(または警告を鳴らす)。第1の女性が警告を選択する(たとえば
、アイコンをタップする、ボタンをプッシュする等)と、第1の女性のコンピューティン
グデバイスのディスプレイスクリーン上に、近隣の店舗にて、彼女が興味を持っている靴
の1日セールが行われていることを示すメッセージが提供される。この情報に応答して、
第1の女性は適切なバス停でバスを降りて、靴を購入する。この女性は満足する。
【0013】
[0026]他の例では、バンドで演奏する第1の男性が劇場でショーを行っている。彼は、
ソーシャルネットワーキングページ上で彼のショーを開示する。本明細書に記載のサービ
スは、そのショーの開示を取り上げて、その情報を第1の男性とつながりがある全てのユ
ーザーに提供する。彼らが第1の男性のソーシャルネットワーキングページを訪れるかど
うかは問わない。たとえば、第1の男性の友人が在宅してソファに座っており、第1の男
性が今夜劇場で演奏するという警告を彼女の電話で受信する。このシステムは、その友人
に、第2の友人がその劇場にいて、ショーのライブビデオをストリーミングすることも告
げるので、彼女はより多くのデータを求めてリンクをクリックして、ライブビデオを取得
する。彼女がショーからライブビデオをストリーミングしているとわかると、システムは
彼女が公共交通機関(知られている、彼女の好みの移動方法)を使用してショーに行くこ
とができる方法をすぐに計算して、その情報を彼女のセルラー式電話上で自動的に彼女に
提供する。それに応じて女性はショーに行き、退屈な夜が回避される。
【0014】
[0027]次に、上述の機能を実行できるシステムの一実施形態のさらなる詳細を提供する
図2は、本明細書に記載の機能を実行するために使用されうるコンポーネントの一実施
形態を表すブロック図である。図2のブロック図は、インターネット、他のグローバルネ
ットワーク、あるいは他のタイプのネットワークまたは通信手段でよいクラウド10を示
している。コンピューティングデバイスのセットがクラウド10を介して他のコンポーネ
ントと通信している。これらのコンピューティングデバイスは、セルラー式電話12、テ
レビ(またはセットトップボックス)14、デスクトップコンピューティングデバイス1
6、モバイルコンピューティングデバイス18、ゲーム機20、および自動車22を含む
。コンピューティングデバイス12〜22は、特定のユーザーによって操作されうる複数
のコンピューティングデバイスの例である。他のコンピューティングデバイスも、本明細
書に記載の技術で使用されうる。ユーザーは、デバイス12〜22のうちのいずれかを使
用して、クラウド10を介して様々なエンティティと対話できる。
【0015】
[0028]やはりクラウド10と通信しているのはシステム30であり、現在のコンテキス
トに基づいて、ユーザーが関心を持っている人々および物事についての最も関連するおよ
び現在の情報を自動的かつ継続的に発見および集約して、その情報をユーザーのデバイス
12〜22のうちのいずれかのユーザーインターフェース上で遍在的にユーザーに報告す
る。一実施形態では、システム30は1つまたは複数のサーバーを含む。システム30を
実装するために使用されるサーバーの数は要件ではなく、サーバーの帯域幅、需要、性能
、および実装固有の他の要因に基づく。ある例では、システム30は複数のサーバーファ
ームによって実装される。図2のシステムは、友人および家族のデバイス42、44、4
6、および48も示している。これらは、ユーザーの友人または使用の家族によって使用
される任意のコンピューティングデバイス(たとえば、セルラー式電話、テレビ、デスク
トップコンピューティングデバイス、モバイルコンピューティングデバイス、ゲーム機、
自動車等)でよい。図2には、4つの友人/家族のデバイスが示されているが、5つ以上
または3つ以下の家族デバイスが使用されてもよい。ユーザーには、ユーザーが興味を持
っている多くの友人および家族がいることが考えられる。したがって、本明細書の議論に
関連する友人/家族のデバイスが、4つよりもさらに多い場合がある。もう1つの留意す
べき点は、図2はある特定のユーザーに関連するデバイス(ユーザーのデバイス、および
ユーザーの友人/家族のデバイス)を示していることである。しかし、実装されたシステ
ムは、多くのユーザーの(たとえば、数千人のユーザーの)デバイスと通信している可能
性が高い。
【0016】
[0029]操作中、ユーザーは様々なタスク(たとえば、仕事、娯楽、社交等)を実行する
ために、任意のデバイス12〜22を(別の時間に、または同時に)使用する。これらの
デバイスを操作している間に、ユーザーは興味のあるトピックを示し、これらのデバイス
内のソフトウェアが、ユーザーについてのコンテキスト情報を(手動または自動で)検知
する。また、システムはユーザーの行動に基づいて興味のあるトピックを検知する。ある
人が野球のウェブサイトをよく見る場合、システムはその人が野球を好きであると仮定で
きる。興味のあるトピックについての情報およびコンテキストがシステム30に送信され
、システム30は受信した情報を使用して、デバイス12〜22のうちのいずれかを介し
てユーザーについてのデータを識別するために、データをさらに検索、集約、および/ま
たはフィルタリングする。システム30に送信された情報は、ユーザーについてのデジタ
ル履歴を作成するためにも使用される。さらに、システムをより賢くするために使用され
るので、システムはユーザーについてより多くのことを学習して、プッシュされる情報の
関連性を改善できる。図3は、ユーザーについての関連するおよび現在の情報を自動的か
つ継続的に発見、集約、およびフィルタリングできるようにするソフトウェアコンポーネ
ントの一実施形態を表すブロック図である。図3は、ユーザーに関連付けられるユーザー
デバイス60および66を示しており、それは任意のデバイス12〜22(ならびに他の
コンピューティングデバイス)でよい。図3は2つのユーザーデバイスだけを示している
が、システムは3つ以上のユーザーデバイスと連絡を取り合っていることが考えられる。
それぞれのユーザーデバイスはクライアントソフトウェアモジュール(たとえば、ユーザ
ーデバイス60上のクライアントモジュール62、およびユーザーデバイス66上のクラ
イアントモジュール68)を有し、それらはシステム58のインターフェースソフトウェ
ア72と通信している。インターフェースソフトウェア72は、クライアントモジュール
と通信するために使用される。システム58は集約システム30の例示的な一実施形態で
ある。
【0017】
[0030]システム58は、マグネット74、コントローラー76、リコメンデーションエ
ンジン78、および検索エンジン80も含む。マグネット74は、興味のあるトピック(
たとえば、人、場所、または物事)についての情報を自動的かつ継続的に収集するソフト
ウェア処理である。たとえば、マグネットはシード(たとえば、トピックまたは特定のコ
ンテンツ)に関連するコンテンツを(クラウド10を介して)探す。たとえば、シードト
ピック(たとえば、靴のタイプ、音楽グループ、対象等)がマグネットに提供されると、
マグネットはインターネット(または他のソース)を検索して、そのシードに関連する利
用可能な情報を見つける。マグネットが一般的なインターネット検索エンジンと異なる点
は、マグネットは持続的で、マグネットがその人について知っていることに基づいて個人
専用にされており、いくつかのコンテキスト上の側面を有し、他のマグネットと対話でき
、パブリックおよびプライベートインデックスの両方から多くのタイプのコンテンツ(ゲ
ーム、音楽、ツイート)を表示でき、返されたコンテンツがコンテキストを有する(場所
を返す、およびそこには他に誰がいるかを言う)ことである。
【0018】
[0031]マグネットは、(特定のトピックについての情報を取得するために)マグネット
と対話するためだけに自身のユーザーインターフェースを有することができる。たとえば
、ユーザーはマグネットの結果をセットアップ、構成、および見るために、ユーザーイン
ターフェース(たとえば、タッチスクリーン)を介してマグネットと対話できる。ユーザ
ーが互いに近くにある(たとえば、ユーザーインターフェース上の)2つのマグネットを
プルすると、それらは互いに影響し合う。たとえば、ある人がタッチスクリーンディスプ
レイ上でニューヨークマグネットの近くにあるレストランマグネットをプルすると、それ
に応答して、2つのマグネットが対話して、検索されているトピックの共通部分(たとえ
ば、ニューヨークにあるレストラン)を出力する。
【0019】
[0032]マグネットは「枝刈りする(取り除く、prune)」こともできる。ユーザーは、
ある歌手についてのマグネットを、ファッション、音楽、およびゴシップは表示するが、
刑務所関連は表示しないように個人専用にすることができる。
【0020】
[0033]一実施形態では、マグネットは、ある人、およびその人のコンテキスト用にカス
タマイズされた同様の粒子を引き付ける仮想オブジェクトである。マグネットは、トピッ
クまたは興味を中心としている。マグネットはそのトピックに関連し、マグネットを所有
する人のプロファイル、および彼らの現在のコンテキスト(時間、位置、デバイス、一緒
にいる人)に基づいてフィルタリングおよび優先順位付けをされた粒子の集合を引き付け
る。
【0021】
[0034]粒子は、意見または提案である、意見粒子は、「株は現在下がっている」、また
は「母の誕生日は明日である」などの少量のテキスト情報で構成される。提案粒子は、「
カルマクラブDJナイト」または「Halo 2」などのいくつかのデジタルコンテンツ
へのリンクで構成される。提案粒子は、あなたをどこかへ送る(すなわち、カルマイベン
トの全詳細を見つける、またはそのゲームで遊ぶ)。全ての粒子は作用されうる。ユーザ
ーは、粒子を磁化する、粒子についてのフィードバックを与える、粒子を隠す、または保
存することができる。粒子は値および動作を有することができる。値の例には、実際のコ
ンテンツへのポインタ、メタデータ(タイプ、フォーマット、サムネイル)、活力(pi
zzazz)(関連性しきい値を超えて、活力を取得し、注目を集める)、および関連性
(システムが関連性を見つけ出して、これらの値を適用する)がある。動作の例には、「
コンテンツに移動する」、「この粒子を磁化して(同様の粒子を引き付けて、要するに一
時的マグネットにする」、「コンテンツについてのフィードバック(賛成、反対)を与え
る」、「コンテンツを隠す(コンテンツを消し去る)」、および「コンテンツにピンを指
し、戻ってこられるようにする」がある。他の値および動作も含むことができる。マグネ
ットは、特定の主題または興味に関連する粒子を引き付ける。デジタル履歴は、ある人が
過去のいくつかの時点で動作を行った、または閲覧した粒子の軌跡である。集約システム
30は、現在のコンテキスト(位置、時間、一緒にいる人、デバイス、アクティビティ、
意図等)に基づいて最も関連する粒子を示す。
【0022】
[0035]再び図3を参照すると、クラウド10を介して利用可能な様々なソースを検索す
るために検索エンジン80が使用されている。一実施形態では、マグネット74は検索エ
ンジン80を使用して検索する。他の実施形態では、マグネット74および検索エンジン
80は単独で情報を検索する。リコメンデーションエンジン78は、マグネット74およ
び検索エンジン80からの結果に基づいて、情報のリコメンデーションをユーザーに提供
する。
【0023】
[0036]コントローラー76は、インターフェース72、マグネット74、リコメンデー
ションエンジン78、および検索エンジン80の動作を調整する中央脳(central
brain)の機能を果たす。操作中、興味のあるトピックおよびコンテキスト情報が
インターフェース72で受信されて、コントローラー76に提供される。一実施形態では
、コントローラー76は、さらなるデータを取得するために、および/または既に見つけ
たデータをフィルタリングするために、トピック/およびまたはコンテキスト情報をマグ
ネット74、リコメンデーションエンジン78、および検索エンジン80に提供する。い
くつかの実施形態では、マグネット74、リコメンデーションエンジン78、および検索
エンジン80が全てのデータをコントローラー74に提供して、コントローラー74がコ
ンテキスト情報に基づいてそのデータをフィルタリングして、インターフェース72を介
してフィルタリングの結果を適切なクライアントモジュール(62または68)に提供す
る。ある状況では、情報は、コンテキスト情報をシステム58に提供したのと同じデバイ
ス/クライアントでユーザーに報告される。他の状況では、コンテキスト情報がユーザー
に関連付けられる第1デバイス(たとえば、デバイス60)からシステム30に提供され
、ユーザーが作業しているデバイスを変更したか、あるいは第2のデバイスの方が情報を
報告するためにより適したプラットフォームであるため、システム30からの情報がユー
ザーに関連付けられる第2のデバイス(たとえば、デバイス66)にプッシュされる。
【0024】
[0037]一実施形態では、システム30を作成する(または操作する)ソフトウェア開発
者は、クライアントモジュール62および68も作成(または配布)する。他の実施形態
では、多くの異なるエンティティがシステム30と対話できるクライアントモジュールを
開発できるように、システム30はアプリケーションプログラムインターフェース(AP
I)を含む。
【0025】
[0038]システム30が報告するべき情報を有していることをユーザーに警告するための
多くの方法がある。図4A〜4Fは、ユーザーのための情報がないことを報告できるクラ
イアントデバイスのユーザーインターフェースの様々な実施形態を表している。たとえば
図4Aは、2つのウインドウ102および104を表示するディスプレイを備えたモバ
イルコンピューティングデバイス100を示している。ユーザーはウインドウ102でビ
デオを視聴している。インジケーター(たとえば、アイコン)のセットがウインドウ10
4に表示されている。それぞれのアイコンは、様々なタイプのコンテンツを表している。
たとえば、インジケーターSはショッピングに関連するコンテンツを表し、インジケータ
ーEは娯楽に関連するコンテンツを表し、インジケーターFは家族および/または友人に
関連するコンテンツを表し、インジケーターWは仕事に関連するコンテンツを表し、イン
ジケーターNはニュースに関連するコンテンツを表し、インジケーターOは他のタイプの
コンテンツを表している。システム30がコンテンツをデバイス100にプッシュすると
、適切なインジケーター(たとえば、S、E、F、W、N、またはO)が、そのカテゴリ
について新しいコンテンツがプッシュされたことを示すために強調される。たとえば、図
4Aは、Fをボールドにして下線を付けることによって、Fが強調されていることを示し
ている。ユーザーは、新たにプッシュされたコンテンツを示すウインドウを表示するため
に「F」をタップできる
[0039]図4Bは、ビデオを表示するウインドウ112を備えたモバイルコンピューティ
ングデバイス110を示している。ビデオを表示する間、システム30は新しいコンテン
ツをデバイス100にプッシュする。図4Aに表されるようにインジケーターのセットを
表示するのではなく、新しいコンテンツがビデオ上のウインドウ114に自動的に表示さ
れる(「あなたの現在の位置から3ブロック離れた店舗Yで、ブランドXの靴がセール中
である」)。
【0026】
[0040]図4Cは、ビデオを表示するウインドウ118を備えたモバイルコンピューティ
ングデバイス116を含む、他の実施形態を示している。システム30によってモバイル
コンピューティングデバイス116にコンテンツがプッシュされると、ディスプレイスク
リーンの一部にインジケーター120が表示される。ユーザーはインジケーター120を
タップでき、新しいコンテンツを示すウインドウ(ウインドウ114と類似している)が
表示される。
【0027】
[0041]図4Dは、アンロックスクリーン124を備えたモバイルコンピューティングデ
バイス122を含む、他の実施形態を示している。たとえば、コンピューティングデバイ
スが長時間使用されないか、あるいはスリープモードまたは休止モードにされている場合
、ユーザーがデバイスを再び活性化したい時にシステムはアンロックスクリーンに入る。
ユーザーは、デバイスを操作するために、デバイスをアンロックスクリーンからアンロッ
クする必要がある。たとえば、アンロックスクリーン124は、デバイス122をアンロ
ックするために左から右に動かされるスライダーを含む。ユーザーがアンロックスクリー
ンにアクセスすると、システム30からデバイス122にプッシュされた最新のコンテン
ツがウインドウ126に表示される。同様に、テレビは、テレビが最初に電源を入れられ
た時、またはショー/映画の合間に、システム30からプッシュされた最新のコンテンツ
を表示するように構成されうる。
【0028】
[0042]図4Eは、2つのウインドウ132および134を表示するディスプレイを備え
たモバイルコンピューティングデバイス130を示している。ユーザーはウインドウ13
2でビデオを視聴している。アイコンのセットがウインドウ134に表示されている。そ
れぞれのアイコンは、現在の活動の人々、場所、または物事(興味がある事)を表してい
る。図4Eはアイコンを四角で示しているが、アイコンは人々、場所、または物事を表す
画像でもよい。たとえば、友人を表すアイコンは、その友人のサムネイル写真でよい。バ
ンドを表すアイコンは、そのバンドのロゴでよい。
【0029】
[0043]図4Fは、ディスプレイ142を備えたモバイルコンピューティングデバイス1
40を示している。ディスプレイ142は、タッチスクリーンでもよく、他のタイプのデ
ィスプレイでもよい。図4Fに表されるように、ディスプレイ142はレーダーのような
スクリーンを示している。レーダー上に印をつけられているのは、システム30が新しい
情報を配信した人々、場所、または物事を表す丸およびテキストである。Uはユーザーを
表す。Uにより近いアイテムほど、システム30がより関連性が高いと考えるアイテムで
ある。
【0030】
[0044]図4A〜4Eは、新しいコンテンツがシステム30からモバイルコンピューティ
ングデバイスにプッシュされたことをユーザーに警告する、6つの例を提供する。これら
は、可能なユーザーインターフェースの例の小さなセットにすぎない。本明細書に記載の
技術のために、特定のユーザーインターフェースは必要ない。本明細書に記載の技術で、
多くの異なるタイプのユーザーインターフェースを使用できる。たとえば、他の実施形態
は、テキストメッセージ警告を送信すること、または「ティッカー」上に何かをポップア
ップすることを含み、それは見つけられた興味のあるアイテムのうちのいくつかを表示す
る、バックグラウンドで実行する目立たないUIである。さらに、モバイルコンピューテ
ィングデバイスにプッシュされた情報の複数のビュー、タイムラインビュー、地図ビュー
、リストビュー、コラージュビュー等がある場合がある。
【0031】
[0045]図5Aは、ユーザーについての関連するおよび現在の情報を自動的かつ継続的に
発見、集約、およびフィルタリングできるようにするソフトウェアコンポーネントの他の
実施形態を表すブロック図である。図5Aのシステム150は、図3の集約システム30
の他の実施形態である。システム150は、1つまたは複数のコンピューターによって実
装されうる。データは、多くの異なるタイプの入力ソース、たとえば、データベース15
2、センサー154(たとえば、カメラ、温度センサー、GPSセンサー、他の位置セン
サー等)、ウェブサイト156、イベントストアー158、ニュースソース160、およ
びウェブサーバー162から、システム150によって取得される。他のソース(たとえ
ば、ソーシャルネットワーキングシステム、通信システム、データウェアハウジングシス
テム等)も使用できる。これらのソースからのデータは、データを取得して、データをス
クラブして、データを再フォーマットして、データを1つまたは複数の適切なスタンディ
ングクエリー166、168、170、...に提供する、1つまたは複数の入力アダプ
ター164に提供される。一実施形態では、スタンディングクエリー166、168、1
70、...はマグネット74に対応する。スタンディングクエリーがクエリーに関連す
る情報を識別すると、入力ソースから見つかったものについての情報でデータベースレコ
ードが生成される。この生成されたデータベースレコードは、図5のシステムについての
イベントである。そのデータベースレコードは、データベース172に格納される。
【0032】
[0046]イベントに応答して、インテリジェント処理モジュール174は、データストア
ー172内の適切なデータ、ユーザープロファイルデータ176、およびコンテキストデ
ータ178を取得する。ユーザープロファイルデータは、デモグラフィック情報、行動情
報等のユーザーについての情報でよい。コンテキストデータは、ユーザーについて、ユー
ザーの友人/家族について、またはユーザーが興味を持っている人についてなどの現在の
コンテキストデータである。コンテキストデータの例には、エンティティの位置、エンテ
ィティがしていること、エンティティが対話しているデバイス、エンティティが対話して
いる相手、エンティティが言っていること、エンティティのための時刻、エンティティの
現在の人物(たとえば、両親、被雇用者、配偶者、指導者、通勤者等)がある。インテリ
ジェント処理174(コントローラー76の一部)は、上述の情報を評価して、その評価
に基づいて特定のユーザーにとって興味のある情報を識別する。
【0033】
[0047]一実施形態では、ユーザープロファイルデータ、ユーザーの履歴、行動(および
、可能であれば、電子メール、メッセンジャー、インターネット検索などのプロパティを
使用することから知られる、彼らについての全てのこと)などを取り込んで、そのデータ
を結合してインテリジェント推論を作成する、インテリジェント処理の第2の形式がある
。たとえば、推論エンジンは、ある人が金融について詳しく、スポーツには興味がないこ
とがわかるだろう。いくつかのことは、その人がそれについてのマグネットを作成したこ
とによって確実にわかり、他のことは、推論エンジンが考え出す。推論エンジンが、その
人について考えるこれらのそれぞれの物事には、その人がそのトピックにどれくらい興味
があるとシステムが考えるか、およびその人が興味を持つことの信頼度はどれくらい高い
かについての値がある。たとえば、我々が考え出したことというのは、あなたから明確に
聞いたことよりも信頼度が低いものである。これは、調べるべきデータが非常に多いので
、非同期処理であると考えられる。それは、推論を行うためにユーザーを見渡すという点
で、もう一つの側面を有する。たとえば、類似の行動またはプロファイルを有する他の人
々が全てあるバンドを好む場合、システムはそのバンドを(低い信頼度で)推薦したくな
る場合がある。
【0034】
[0048]ユーザーにとって興味深いであろうとインテリジェント処理174が信じるあら
ゆる情報が出力アダプター180に送信され、出力アダプター180はそのデータを特定
のターゲットモバイルコンピューティングデバイスに適合させる。図5Aに示されたター
ゲットは、セルラー式電話186、テレビ(またはセットトップボックス)188、デス
クトップコンピューティングデバイス190、モバイルコンピューティングデバイス19
2、ゲーム機194、および自動車196(ユーザーデバイス12〜22に対応する)を
含む。他のターゲットも利用できる。出力アダプター180は、適切なターゲットについ
てのデータをまとめて、適切なプロトコルを使用して通信する。一実施形態では、入力ア
ダプター164および出力アダプター180はインターフェース72の一部である。さら
に、インテリジェント処理174は、1つまたは複数のリコメンデーションエンジン、お
よび/または検索エンジンを利用できる。
【0035】
[0049]図5Aのコンポーネントのうちの任意の1つまたは複数は、システムが多くの異
なるユーザーを同時に処理できるように、オブジェクト指向方法で作成されうる。このよ
うな実施形態では、システムは複数のユーザーごとにそれ自体のインスタンスを作成する
。単一のインスタンスは、ストリーム処理において中心点または焦点として使用されてい
る、1つまたは複数のモザイクアイデンティティファセットおよび他のコンテキストデー
タに関連付けられる。一例を挙げると、あるインスタンスはフェイスブックアイデンティ
ティを、他のインスタンスはコーポレートアイデンティティを、および第3のアイデンテ
ィティはそれらの組合せを中心とすることができる。あるインスタンスは、異なるファセ
ットのグループをその焦点として構成することもできる。
【0036】
[0050]図5Bは、ユーザーについての関連するおよび現在の情報を自動的かつ継続的に
発見、集約、およびフィルタリングできるようにするソフトウェアコンポーネントの他の
実施形態を表すブロック図である。レーダークライアント250以外の図5Bのコンポー
ネントは、図3の集約システム30の他の実施形態である。レーダークライアント250
は、ユーザーの任意の物理的コンピューティングデバイス(たとえば、図2のデバイス1
2〜22)上で実行しているソフトウェアである。図5Bは、アプリケーションプログラ
ムインターフェース(API)254を介してレーダーサービス252と通信しているレ
ーダークライアント230を示している。レーダークライアント250はコンテキスト情
報(および、任意選択で、ユーザーの興味についての情報)をレーダーサービス252に
提供して、ユーザーにとっての興味のある事のリコメンデーションを返答として受信する
。受信した、ユーザーにとっての興味のある事のリコメンデーションは、上述のようにユ
ーザーに報告されうる(図4A〜4Fを参照)。
【0037】
[0051]レーダーサービス252は、リコメンデーションエンジン254、256、25
8、および260のセットについてのAPIを含み、それぞれが異なるタイプのコンテン
ツについての異なるタイプのリコメンデーションを作成する。たとえば、あるリコメンデ
ーションエンジンは音楽について、他のリコメンデーションエンジンはショッピングにつ
いて、他のリコメンデーションエンジンはパーティーについて、他のリコメンデーション
エンジンはレストランについてのリコメンデーションなどを作成できる。システムは、5
つ以上のリコメンデーションエンジンを有することができる。レーダーサービス252は
、上述のマグネット265、および関連性エンジン264を含む。マグネットは、リコメ
ンデーションエンジンを利用してユーザーのためのコンテンツを識別する。さらに、リコ
メンデーションエンジンはマグネットの関与なしにリコメンデーションを作成できる。マ
グネットは、インテリジェンスシステムAPIを使用して、特定のトピックに興味がある
特定のユーザーにとって有用であると思われる情報についての大量の知識を取り出す。マ
グネットは、リコメンデーションエンジンを使用して、特定のトピックについて、特定の
ユーザーにとって興味のあるリコメンデーションを作成する。リコメンデーションエンジ
ンは、ユーザーのコンテキストおよびインテリジェンスシステムAPIを利用して、現在
のコンテキストおよびユーザープロファイルに基づいて、特定のユーザーにとって興味の
あるリコメンデーションを作成する。マグネットとリコメンデーションエンジンとの両方
によって作成された全ての情報およびリコメンデーションは、次に関連性エンジンによっ
てソートされて、レーダークライアントに提供される。
【0038】
[0052]マグネットは、リコメンデーションエンジンを利用してユーザーについてのコン
テンツを識別し、関連性エンジンは、感知した関連性に基づいてコンテンツのそれぞれの
アイテムを記録する。一実施形態では、関連性エンジン264は、アイテムコンテンツが
ユーザーの現在のコンテキストにとってどれくらい適切かに基づいて、数値関連性スコア
を提供する。たとえば、レストランリコメンデーションは、午後3時〜5時の間は深夜よ
りも高い関連性スコアを得ることができる。同様に、サッカーチームについての情報は、
サッカーシーズン中はシーズンオフよりも高い関連性スコアを得ることができる。ユーザ
ーが一緒にいる、または会う予定である人についての情報は、他の人についての情報より
も高いスコアを得ることになる。ユーザーが聴いているバンドについての情報は、より高
いスコアを得ることになる。ユーザーがたった今写真を撮影した靴についての情報は、よ
り高いスコアを得ることになる。
【0039】
[0053]レーダーサービス252は、API272を介してインテリジェンスシステム2
70と通信する。インテリジェンスシステム270は、レーダーサービス252にとって
利用可能なデータについての情報を作成、取得、および格納する。一実施形態では、レー
ダーサービス252はコンピューターのセット(たとえば、サーバーファーム)によって
実装され、インテリジェンスシステム270は異なるコンピューターのセット(たとえば
、サーバーファーム)によって実装される。他の実施形態では、同じコンピューターのう
ちの1つまたは複数は、レーダーサービス252とインテリジェンスシステム270との
両方を実装できる。
【0040】
[0054]インテリジェンスシステム270は、パブリックインデックス274、広告およ
び提示(Ads and Offers)ストアー(またはインデックス)278、プラ
イベートインデックス280、ならびにユーザープロファイルデータ282を含む。パブ
リックインデックス274は、ワールドワイドウェブ上のウェブサイトのインターネット
検索インデックスである。プライベートインデックス280は、ユーザーごとにプライベ
ートサイトの別々のインデックスを含む。たとえば、それぞれのユーザーは、彼らのソー
シャルネットワーキングページ、電子メール、連絡先等についての情報を提供するプライ
ベートインデックスを有する。広告および提示ストアーは、全ての広告のリスト(そこへ
のポインタ、または実際のコンテンツを備えた)を提供して、利用可能な消費者に提示す
る。ユーザープロファイルデータ282は、ユーザーごとに知られている、および推測さ
れた情報を提供する。一実施形態では、ユーザープロファイルデータ282は、ユーザー
の行動に基づいて彼らについての情報を推測するソフトウェアである推論エンジンを含む
。推論エンジンは、第1のユーザーの動作に基づいて、推論から派生した第1のユーザー
の意図を含む、ユーザーについてのコンテキスト情報を提供できる。たとえば、ユーザー
がレストランについて読んでいる場合、推論エンジンはユーザーが食事をしたい(たとえ
ば、ユーザーは空腹である)と仮定できる。応答は、過去にユーザーが食べることが観察
された食事を提供する近隣のレストランをユーザーに表示することでよい。パブリックイ
ンデックス274、広告および提示ストアー(またはインデックス)278、およびプラ
イベートインデックス280は、ワールドワイドウェブ、ソーシャルネットワーキングシ
ステム、コラボレートしたサービス、マルチプレイヤーゲームサービス、検索エンジン、
および/あるいは他のネットワークまたはソース(フィード284を参照)上をクロール
または検索することに基づいて作成される。
【0041】
[0055]操作中、マグネット265は、リコメンデーションエンジン、パブリックインデ
ックス274、広告および提示ストアー(またはインデックス)278、プライベートイ
ンデックス280、ならびにユーザープロファイルデータ282を利用して、ユーザーに
とって興味のあるコンテンツを識別する。関連性エンジン264は、ユーザーの現在のコ
ンテキストに基づいて見つけられたアイテムについての関連性スコアを提供するために使
用される。ユーザーの現在のコンテキストに最も近いコンテンツのアイテムに、より高い
スコアが与えられる。より高いスコアを有するアイテムが、レーダーサービス252によ
ってレーダークライアント250にプッシュされる。
【0042】
[0056]図6は、現在のコンテキストに基づいて、ユーザーが関心を持っている人々およ
び物事についての最も関連するおよび現在の情報を自動的かつ継続的に発見および集約し
て、現在のコンテキストに基づいてフィルタリングして、その情報をユーザーに報告/プ
ッシュするための上述のシステムの動作の一実施形態を説明する流れ図である。ステップ
200で、クライアントモジュールが、ユーザーにとって興味のあるトピックを取得する
。クライアントモジュールはこの情報を対話形式で、受動的または能動的に、あるいは上
記の組合せで、同時にまたは別の時に取得できる。以下で、興味のあるトピックを取得す
ることについてのより多くの情報を提供する。ステップ202で、ユーザーと対話するこ
と、またはユーザーを観察することに応じて、クライアントモジュールはトピックデータ
を生成して、そのトピックデータをシステム30の一部であるサーバーに通信する。
【0043】
[0057]ステップ202でトピックを受信することに応答して、ステップ204で、シス
テム30が新しいマグネットを作成するか、既存のマグネット(または他のソフトウェア
コンポーネント)をアップデートして、ユーザーがコンテンツの収集を要求することなし
に、興味のあるトピックについてのコンテンツを自動的かつ継続的に検索およびフィルタ
リングする。興味のあるトピックが新しいものである場合、新しい基準を作成して、その
新しい基準に関連するコンテンツを求めてインターネットまたは他の領域を検索する処理
を開始することによって、新しいマグネットが作成される。ステップ202で受信された
トピックが既存のマグネットの焦点と類似している場合、既存のマグネットを変更して、
新しいトピックに基づいてその焦点を修正できる。ステップ206で、マグネットが、マ
グネットごとのシードに関連するコンテンツを自動的かつ繰り返し検索および収集する。
たとえば、マグネットはトピックのうちの1つまたは複数に関連するイベントまたはニュ
ースを識別できる。図6はステップを特定の順序で示しているが、これらのステップは他
の順序で実行されうる。一実施形態では、ステップ206は継続的に実行される。したが
って、ステップ206は、図6の他のステップのうちの多くの前、後、およびその間に実
行される。
【0044】
[0058]ステップ208で、1つまたは複数のクライアントモジュールが、それらのクラ
イアントモジュールに関連付けられるユーザーについての、およびユーザーにとって興味
のある人々についてのコンテキスト情報を取得する。コンテキスト情報は、対話形式で、
受動的または能動的に(同時にまたは別の時に)取得できる。ステップ210で、ステッ
プ208で取得されたコンテキスト情報がシステム30に提供される。たとえば、情報は
システム230の一部であるサーバーに送信される。ステップ212で、システム230
が、ステップ210で提供された現在のコンテキスト情報に基づいて、1つまたは複数の
マグネットからのコンテンツをフィルタリングする。ユーザーに関連付けられる様々なマ
グネットが、大量の情報を検索して識別することが考えられる。現在のコンテキスト情報
は、その情報をより小さいサブセットにフィルタリングするために使用されうる。たとえ
ば、マグネットが靴についての情報を検索している場合、および現在のコンテキスト情報
がユーザーの位置を示す場合、靴についての情報は、ユーザーに地理的に近い店舗で販売
されている靴についての情報だけを提供するためにフィルタリングされうる。ステップ2
14で、普通ならマグネットのうちのいずれによっても取得されないコンテキスト情報に
関連するさらなる情報が検索および集約されうる。ステップ216で、ステップ212で
(および、可能であればステップ214で)識別された情報が使用されて出力メッセージ
が作成され、その出力メッセージがユーザーについてのクライアントに送信される。
【0045】
[0059]ユーザーとって能動的である全てのクライアントにコンテンツが送信される。あ
る例では、興味のある情報を送信した、および/またはコンテキスト情報を送信したクラ
イアントは、現在能動的なクライアントであり、したがって、結果データが同じクライア
ントに送信される。他の実施形態では、ユーザーは、コンテキスト情報がシステム30に
送信されると第1のクライアントデバイスと対話して、返答として結果が報告されると第
2のデバイスと対話する。したがって、結果は、全く異なるタイプのデバイスである場合
がある、異なるクライアントデバイスに報告される。たとえば、ユーザーは情報がシステ
ム30に送信された時にゲーム機で遊んでいることもあり、情報が返送された時にセルラ
ー式電話を使用していることもある。したがって、情報はユーザーのゲーム機ではなくセ
ルラー式電話用にまとめられる。ステップ218で、ステップ216でデータを受信した
クライアントデバイスが、上述のように、または他の何らかの適切な方法で、ステップ2
18で新しいコンテンツを報告する。図6のステップの多くについてのより多くの情報は
、以下で図7〜13に関連して提供する。
【0046】
[0060]図7は、クライアントモジュールが、ユーザーから対話形式でデータを取得して
、そのデータをシステム30に提供する処理の一実施形態を表す流れ図である。図7の処
理は、ステップ200でユーザーにとって興味のあるトピックを取得してシステム30に
送信するために、またはステップ208でシステム30に通信するためのコンテキスト情
報を取得するために使用されうる。図7のステップ302で、ユーザーは興味のあるコン
テンツを明確に表示する。たとえばユーザーは、写真を撮影してその写真についての情報
を要求する、ユーザーのコンピューティングデバイス上の既存の写真から写真を選択する
、キーワードを言う、キーワードをタイプする、ドキュメント内のキーワードを強調する
、コンピューティングデバイス上のコンテンツを選択することなどができる。これらのい
ずれの場合にも、ユーザーがより多くの情報を望んでいるコンテンツを識別するために、
ユーザーは意図的に選んでいる。この情報は、興味のあるトピックでよい。いくつかの実
施形態では、情報はコンテキストも提供する。ステップ304で、ステップ302からの
コンテンツの表示のコンテンツが、クライアントモジュールからシステム30に(たとえ
ば、システム30を実装する1つまたは複数のサーバーに)送信される。
【0047】
[0061]図8は、クライアントモジュールが能動的にデータ(たとえば、コンテキストデ
ータまたは興味のあるトピック)を取得する処理の一実施形態を表す流れ図である。この
処理は、ステップ200またはステップ208の一部として使用されうる。図8のステッ
プ240で、クライアントデバイスが、ユーザーによって要求された機能を実行する。た
とえば、クライアントデバイスは、ウェブページをロードする、通話を実装する、テキス
トメッセージを実装する、電子メールを送信する、ゲームで遊ぶ、チャットする、ソーシ
ャルネットワーキングサイトで対話する、または他の何らかの機能を実行する。ステップ
342で、クライアントモジュールが、実行されている機能をシステム30に報告する。
ステップ344で、クライアントモジュールが、機能の結果もシステム30に報告する。
たとえば、ユーザーがゲームで遊んでいる場合、ゲームの結果が報告される。ユーザーが
電話をかけている場合、電話の結果(誰に電話をかけたが、およびユーザーがこれまでに
連絡を取ったことがあるか)をシステムに報告でき、システムは、ユーザーについてのデ
ジタル履歴を作成するため、およびユーザーについて知っていることを改良して、システ
ムをより賢くし、最終的によりよい結果をシステム30に提供するための両方に、この情
報を使用する。
【0048】
[0062]図9Aは、データ(たとえば、コンテキストデータ、または興味のあるトピック
)を受動的に取得するステップの一実施形態を表す流れ図である。図9Aの処理は、図6
のステップ200または208の一部として実行されうる。たとえば、セルラー式電話は
ユーザーが誰か、およびユーザーのいる場所がわかる。スマートフォンは、ユーザーが会
議中か、およびその会議が何についての会議かがわかる。また、スマートフォンは、スピ
ーチを聞き取って、スピーチのパターンからキーワードを見つけて、それらのキーワード
をシステム30に提供して、それらのキーワードに基づいてインターネット検索を実行す
ることができる。したがって、ユーザーおよびユーザーの友人がお気に入りのスポーツチ
ームについて話していると、そのチームについての統計が、セルラー式電話に自動的に表
示されうる。クライアントデバイスは、データを取得するためにクライアントデバイスの
アプリケーションにアクセスできる。あるいは、クライアントモジュールはクライアント
デバイス内の様々なセンサーに直接アクセスできる。ステップ360で、クライアントモ
ジュールが、現在の状態の情報を求めてクライアントデバイスのアプリケーションにアク
セスする。たとえば、クライアントデバイスでGPSまたは地図ソフトウェアを実行して
いる場合、クライアントモジュールは位置ソフトウェアにアクセスして、モバイルコンピ
ューティングデバイスの現在の位置を取得できる。同様に、現在受信した電子メールを識
別するために、電子メールアプリケーションにアクセスできる。ステップ362で、クラ
イアントモジュールが、現在の状況を求めてクライアントデバイスのセンサーにアクセス
する。たとえば、クライアントモジュールは、クライアントデバイスの方位センサー、マ
イク、光センサー、温度センサー等にアクセスして、ユーザーが現在いる環境の様々な状
況を取得できる。ステップ364で、ステップ360からの状態情報およびステップ36
2からの現在の状況が、クライアントデバイスについての識別情報とともにシステム30
に送信される。このドキュメントのために、データが送信されると、通常はメッセージを
最初に作成するために使用されて、次いでそのメッセージが送信される。図7の処理はユ
ーザーとの対話形式で実行される点に留意されたい。しかし、図8および9Aの処理は、
データを送信するというユーザーによる要求なしに自動的に実行される。
【0049】
[0063]図9Bは、図9Aの処理の実装形態の一例を提供する。ステップ380で、クラ
イアントモジュールが、スマートフォン内のカレンダーアプリケーションにアクセスする
。たとえば、クライアントモジュールが、カレンダーアプリケーションからユーザーは人
Aおよび人Bと会議中であることを決定する。しかし、この例では、カレンダーアプリケ
ーション内の会議情報は位置を識別しない。ステップ382で、クライアントモジュール
はGPS位置アプリケーションにアクセスして、ユーザーの位置を決定する。ステップ3
80および382は、図9Aのステップ360の例である点に留意されたい。ステップ3
84〜388は、図9Aのステップ362の例である。ステップ384で、クライアント
モジュールが、スマートフォン内の運動センサーにアクセスして、ユーザーが動いている
かどうかを決定する。ステップ386で、クライアントモジュールが、スマートフォン内
のマイクを利用してユーザーの位置で会話を聴く。デバイスは、検索可能なテキストを作
成するために、テキストから音声への変換を実行する。デバイスは、検索可能なテキスト
からキーワードを識別しようとする。運動の表示とともにステップ386で識別されたキ
ーワード、カレンダーから取得したクライアントデバイスの位置、および会議の表示が、
作成されるメッセージに全てまとめられて、システム30に送信される。
【0050】
[0064]図10は、システム30から結果情報を受信する場合の、クライアントモジュー
ル(たとえば、クライアントモジュール62またはクライアントモジュール68)の動作
を表す流れ図である。すなわち、図7、8、および9Aの処理は、興味のあるトピックお
よびコンテキスト情報をクライアントモジュールからシステム30に送信するために使用
される。システム30で受信されたその情報に基づいて、システム30は、ユーザーにと
って興味のある情報を識別して、その情報をクライアントにプッシュして戻す。図10
処理は、システム30によってプッシュで戻されたその情報をクライアントモジュールが
受信すると、クライアントモジュールによって実行される動作を説明する。
【0051】
[0065]図10のステップ400で、クライアントモジュールが、ユーザーがコンテンツ
を要求することなしに、システム30からコンテンツを受信する。ステップ402で、ク
ライアントモジュールが、新しいコンテンツについてユーザーに警告する。ステップ40
2もやはり、ユーザーがコンテンツを要求することなしに実行される。警告を提供する例
は、図4A〜Fに関連して上述している。ステップ404で、クライアントが、ユーザー
から警告の選択を(任意で)受信できる。警告の選択を受信すると、ステップ400で受
信された、警告に関連付けられるコンテンツが、ステップ406で表示される。たとえば
、ステップ402は、図4Cの警告120を表示するステップを含み、ステップ406は
図4Bのウインドウ114または図4Dのウインドウ126を表示するステップを含みう
る。ステップ408で、システムが、さらなる情報を求める要求をユーザーから受信でき
る。たとえば、一実施形態では、ユーザーがさらなる情報を要求するためのリンクととも
にコンテンツが表示される。ユーザーがそのリンクを選択すると、次いでステップ410
で、システムがさらなる情報を取得または報告する。たとえば、図4Dのウインドウ12
6についてユーザーがより多くの情報を望む場合、ユーザーがそのウインドウを選択する
ことに応答して、クライアントモジュールが、より多くの情報が要求されていることをシ
ステム30に知らせることができる。より多くの情報を求める要求に応答して、システム
30は、公共交通機関を利用する指示を提供する、運転の指示を提供するなど、ユーザー
がセールを行っている店舗にナビゲートするための明確な詳細を提供できる。あるいは、
ステップ408は、図4FのUIに表された丸のうちの1つをユーザーが選択するステッ
プを含みうる。
【0052】
[0066]上述のように、マグネットは、シードに関連するコンテンツを検索するソフトウ
ェア処理である。コンテンツが見つかると、マグネットはデータベースエントリーを作成
して、そのデータベースエントリーに関連付けられるイベントを生成する。次いで、デー
タベースエントリーが格納されて、イベントが上述のフィルタリングをトリガする。図1
1は、これらのイベントを生成するためにマグネットによって実行される処理の一実施形
態を表す流れ図である。図11のステップ450で、上述のように、ユーザーにとって興
味のあるトピックなどのシードトピックに基づいて、1つまたは複数のマグネットがコン
テンツを検索する。ステップ452で、マグネットはコンテンツを識別する。ステップ4
54でイベントが生成され、識別されたコンテンツが使用されてデータベースエントリー
が作成され、そのデータベースエントリーが格納される。次いで、上述のように、ユーザ
ーにプッシュされるべきデータを潜在的に識別するためのフィルタリング処理の一部とし
て、そのデータが使用される。
【0053】
[0067]図7、8、および9Aは、興味のあるトピックおよびユーザーコンテキストデー
タをシステム30に送信するステップを説明している。図12は、その情報を受信するス
テップに応答してシステム30によって実行される処理の他の実施形態を表す流れ図であ
る。たとえば、図12の処理は、図6のステップ204および212を実行するステップ
の一例である。ステップ500で、システムはユーザーAからコンテンツを受信する。ス
テップ502で、システムはそのコンテンツについてのマグネットが存在するかどうかを
決定する。マグネットが存在する場合、ステップ504で、そのマグネットがアップデー
トされる。マグネットが存在しない場合、ステップ506で、マグネットを作成すること
が適切かどうかを決定する。適切である場合、ステップ508で、1つまたは複数のマグ
ネットが作成される。たとえば、ステップ500で受信した情報が、検索されるべき興味
のあるトピックの場合、マグネットが作成されるべきである。既存のマグネットをアップ
デートするステップ、1つまたは複数の新しいマグネットを作成するステップ、または新
しいマグネットを作成することは適切ではないことを決定するステップの後、ステップ4
10で、システムが、ステップ500で受信した情報がユーザーAについてのユーザープ
ロファイルをアップデートするために使用されるべきかどうかを決定する。たとえば、ス
テップ500で受信した情報がユーザーAについてのデモグラフィック情報(年齢、氏名
、性別、興味がある事等)を含む場合、ステップ512で、ユーザーAについてのユーザ
ープロファイルがアップデートされるべきである。ステップ514で、システムが、ステ
ップ500で受信したデータのうちのいずれかが、ユーザーAについての現在のコンテキ
ストデータかどうかを決定する。そうである場合、ステップ516で、コンテキストデー
タストアー178に格納されたユーザーAについてのコンテキストデータがアップデート
される。ステップ518で、システムが、ステップ500で受信したデータのうちのいず
れかが、他のユーザー(たとえば、ユーザーA以外のユーザー)についてのコンテキスト
データを含むかどうかを決定する。他のユーザーについてのコンテキストデータを含む場
合、ステップ520で、他のユーザーについてのコンテキストデータがアップデートされ
る。ステップ522で、図12の処理においてデータをアップデートした任意のユーザー
について1つまたは複数のイベントが作成される。したがって、ユーザーAがユーザーB
と会話しており、システム30に提供された情報がユーザーAとユーザーBとの位置、お
よびユーザーAとユーザーBとの間で話された単語を含む場合、ステップ516および5
20で、ユーザーAとユーザーBとの両方の現在のコンテキストデータがアップデートさ
れて、ユーザーAとユーザーBとについての位置、機能、およびキーワードを示す。
【0054】
[0068]図11および12は、興味のあるコンテンツが見つかると、マグネットがデータ
ベースイベントを生成するステップを含む処理を説明する。図13は、イベントの生成に
応答して図5の実施形態においてシステムによって実行される処理の一実施形態を説明す
る流れ図である。一実施形態では、図13の処理は、図5のインテリジェント処理モジュ
ール174(図3のコントローラー76の一部)によって実行されうる。ステップ600
で、ユーザーについてのイベントが受信される(例示のために、ユーザーはユーザーAと
呼ばれる)。ステップ602で、イベントについてのコンテンツがアクセスされる。上述
のように、イベントが生成されると、データベースレコードが生成されて、データストア
ー172に格納される。そのデータベースレコードは、ステップ602でアクセスされる
。ステップ604で、コンテキストデータ178から、ユーザーAについてのコンテキス
トデータがアクセスされる。ステップ606で、ユーザーAについてのマグネットデータ
がアクセスされる。ユーザーAに代わってデータを収集したマグネットのうちのいずれか
が、データストアー172にそのデータを格納する。ステップ606で、データの全てま
たはサブセットがアクセスされる。ステップ608で、リコメンデーションエンジン78
を使用して、上記でアクセスされたイベントデータ、コンテキストデータ、およびマグネ
ットデータに基づいて、ユーザーAのためのリコメンデーションを識別する。さらに、友
人および家族であるユーザーについてのコンテキストデータ、あるいはユーザーAにとっ
て重要であるコンテキストデータも、分析に含まれる。ユーザーAは、電子メールアプリ
ケーション、ソーシャルネットワーキングアプリケーション、インスタントメッセージン
グアプリケーション等の1つまたは複数のアプリケーションにおいて、友人および家族は
誰かを表示している場合がある。リコメンデーションが生成されると(ステップ610)
、ステップ612で、コンテンツをクライアントデバイスにプッシュすることによって、
そのリコメンデーションがユーザーAに送信される。リコメンデーションが識別されない
場合(ステップ610)、ユーザーAのクライアントデバイスにどのコンテンツもプッシ
ュされない(ステップ614)。リコメンデーションの例には、店舗でのセール、劇場で
のショー、コンサート等をユーザーに知らせることがある。
【0055】
[0069]図14は、図2のデバイスのうちのいずれかを実装するための例示的コンピュー
ティングシステム710を表している。図14のコンピューティングシステム710は、
図3〜5において説明した機能を実行するため、ならびに図6〜13に関連して本明細書
に記載した様々な処理を実行するために使用されうる。コンピューター710のコンポー
ネントは、これに限定されないが、処理装置720(本明細書に記載の処理を実行できる
1つまたは複数のプロセッサー)、システムメモリー730(本明細書に記載の処理を実
行するために、1つまたは複数のプロセッサーをプログラムするためのコードを格納でき
る)、およびシステムメモリーを含む様々なシステムコンポーネントと処理装置720と
を結合するシステムバス721を含みうる。システムバス721は、メモリーバスまたは
メモリーコントローラー、周辺バス、および様々なバスアーキテクチャのいずれかを使用
するローカルバスを含むいくつかのタイプのバス構造のいずれでもよい。例を挙げると、
これに限定されないが、このようなアーキテクチャは、業界標準アーキテクチャ(ISA
)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス
、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、メ
ザニンバスとしても知られるペリフェラルコンポーネントインターコネクト(PCI)バ
ス、およびPCIエクスプレスを含む。
【0056】
[0070]コンピューティングシステム710は、一般的に様々なコンピューター可読メデ
ィアを含む。コンピューター可読メディアは、コンピューティングシステム710によっ
てアクセスされうる任意の利用可能なメディアでよく、RAM、ROM、EEPROM、
フラッシュメモリーまたは他のメモリー技術、CD−ROM、デジタル多用途ディスク(
DVD)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクス
トレージまたは他の磁気記憶装置、あるいは所望の情報を格納するために使用されうる、
およびコンピューティングシステム710によってアクセスされうる他の何らかのメディ
アを含む、揮発性メディアおよび不揮発性メディアと、リムーバブルおよび非リムーバブ
ルメディアとの両方を含む。
【0057】
[0071]システムメモリー730は、読出し専用メモリー(ROM)731およびランダ
ムアクセスメモリー(RAM)732などの、揮発性および/または不揮発性メモリーの
形式のコンピュータストレージメディアを含む。たとえばスタートアップの間に、コンピ
ューター710内の要素間の情報の送信に役立つ基本的なルーチンを含む基本的な入力/
出力システム733(BIOS)は、通常ROM731に格納されている。通常RAM7
32は、処理装置720によってすぐにアクセス可能な、および/または現在操作されて
いる、データおよび/またはプログラムモジュールを含む。例を挙げると、これに限定さ
れないが、図14はオペレーティングシステム734、アプリケーションプログラム73
5、他のプログラムモジュール736、およびプログラムデータ737を示している。
【0058】
[0072]コンピューター710は、他のリムーバブル/非リムーバブル、揮発性/不揮発
性コンピューター記憶メディアも含みうる。例を挙げると、図14は、非リムーバブルの
不揮発性磁気メディアから読み出すか、そこに書き込むハードディスクドライブ740、
リムーバブルの不揮発性磁気ディスク752から読み出すか、そこに書き込む磁気ディス
クドライブ351、およびCD−ROMまたは他の光メディアなどのリムーバブルの不揮
発性光ディスク756から読み出すか、そこに書き込む光ディスクドライブ755を示し
ている。例示的オペレーティング環境で使用されうる、他のリムーバブル/非リムーバブ
ル、揮発性/不揮発性コンピューター記憶メディアには、これに限定されないが、磁気テ
ープカセット、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテ
ープ、ソリッドステートRAM、ソリッドステートROM、および同様のものがある。ハ
ードディスクドライブ741は、一般にインターフェース740などの非リムーバブルメ
モリーインターフェースを通じてシステムバス721に接続されており、磁気ディスクド
ライブ751および光ディスクドライブ755は、一般にインターフェース750などの
リムーバブルメモリーインターフェースによってシステムバス721に接続されている。
【0059】
[0073]上述の、および図14に示されるドライブおよびそれらの関連コンピューター記
憶メディアは、コンピューター710についてのコンピューター可読命令、データ構造、
プログラムモジュール、および他のデータのストレージを提供する。図14には、たとえ
ばハードディスクドライブ741が、オペレーティングシステム344、アプリケーショ
ンプログラム745、他のプログラムモジュール746、およびプログラムデータ747
を格納するように示されている。これらのコンポーネントはオペレーティングシステム7
34、アプリケーションプログラム735、他のプログラムモジュール736、およびプ
ログラムデータ737と同じでもよく、異なってもよい点に留意されたい。この図では、
少なくともこれらが異なるコピーであることを示すために、オペレーティングシステム7
44、アプリケーションプログラム745、他のプログラムモジュール746、およびプ
ログラムデータ747に異なる番号が与えられている。ユーザーは、キーボード762、
および一般にマウス、トラックボール、またはタッチパッドなどと呼ばれるポインティン
グデバイス761などの入力デバイスを通じて、コマンドおよび情報をコンピューターに
入力できる。他の入力デバイス(図示せず)は、マイク、ジョイスティック、ゲームパッ
ド、パラボラアンテナ、スキャナー、および同様のものを含みうる。これらおよび他の入
力デバイスは、しばしばシステムバスに結合されたユーザー入力インターフェース760
を通じて処理装置720に接続されるが、パラレルポート、ゲームポート、またはユニバ
ーサルシリアルバス(USB)などの他のインターフェースおよびバス構造によって接続
されてもよい。モニター791または他のタイプのディスプレイデバイスも、ビデオイン
ターフェース790などのインターフェースを介してシステムバス721に接続される。
モニターに加えて、コンピューターは、出力周辺インターフェース790を通じて接続さ
れうるスピーカー797およびプリンター796などの他の周辺出力デバイスも含みうる
【0060】
[0074]コンピューター710は、リモートコンピューター780などの1つまたは複数
のリモートコンピューターへの論理的な接続を使用して、ネットワーク化された環境にお
いて動作できる。リモートコンピューター780は、パーソナルコンピューター、サーバ
ー、ルーター、ネットワークPC、ピアデバイス、または他の共通ネットワークノードで
よく、一般的にコンピューティングデバイス710に関連する上述の要素のうちの多くま
たは全てを含むが、図14には1つのメモリー記憶装置781だけが示されている。図1
4に示した論理的な接続は、ローカルエリアネットワーク(LAN)771、およびワイ
ドエリアネットワーク(WAN)773を含むが、他のネットワークも含みうる。このよ
うなネットワーキング環境は、オフィス、企業規模のコンピューターネットワーク、イン
トラネット、およびインターネットによく見られる。
【0061】
[0075]LANネットワーキング環境で使用される場合、コンピューター710は、ネッ
トワークインターフェースまたはアダプター770を通じてLAN771に接続される。
WANネットワーキング環境で使用される場合、コンピューター710は一般的にインタ
ーネットなどのWAN773を介して通信を確立するために、モデム772または他の手
段を含む。内部にあっても外部にあってもよいモデム772は、ユーザー入力インターフ
ェース760、または他の適切なメカニズムを介して、システムバス721に接続されう
る。ネットワーク化された環境では、コンピューター710に関連して示されるプログラ
ムモジュール、またはその一部が、リモートメモリー記憶装置に格納されうる。例を挙げ
ると、これに限定されないが、図14は、メモリーデバイス781に常駐するものとして
リモートアプリケーションプログラム785を示している。図示したネットワーク接続は
例示的なものであり、コンピューター間に通信リンクを確立する他の手段が使用されうる
ことが理解されよう。
【0062】
[0076]本発明の対象を、構造的特徴および/または方法論的行為に特有の文言で説明し
たが、添付の特許請求の範囲に定められた対象は、上述の特定の特徴または行為に必ずし
も限定されないことが理解されるべきである。むしろ、上述の特定の特徴および行為は、
特許請求の範囲を実装する例示的形式として開示したにすぎない。本発明の範囲は、本明
細書に添付の特許請求の範囲によって定められることが意図される。
図4A
図4C
図4E
図1
図2
図3
図4B
図4D
図4F
図5A
図5B
図6
図7
図8
図9A
図9B
図10
図11
図12
図13
図14