(58)【調査した分野】(Int.Cl.,DB名)
前記集約店舗訪問データが前記少なくとも閾値数分の店舗識別子を含むかどうかを決定するステップは、前記少なくとも閾値数分の店舗識別子がある時間フレーム内に受信されたかどうかを決定するステップを含み、前記集約店舗訪問データは、前記少なくとも閾値数分の店舗識別子が前記時間フレーム内に受信されたと決定したことに応じて前記分析サーバに送信される、請求項1に記載の方法。
前記時間フレームは、1日であり、前記集約店舗訪問データは、前記少なくとも閾値数分の店舗識別子が前記1日内に受信されたと決定したことに応じて前記分析サーバに送信される、請求項2に記載の方法。
前記集約店舗訪問データを前記分析サーバに送信するステップは、前記分析サーバが、前記分析サーバに送信される前記集約店舗訪問データ内の内包物から、前記ユーザデバイスまたは前記ユーザデバイスのユーザの識別子を決定することができる情報を制限するステップをさらに含む、請求項1に記載の方法。
前記集約店舗訪問データとともにデバイス識別子を送信するステップであって、前記デバイス識別子は、前記店舗識別子のうちの1つに関連付けられ、前記デバイス識別子は、前記分析サーバが前記ユーザデバイスまたは前記ユーザデバイスのユーザの識別子を決定することができる情報を提供することなく、前記分析サーバが前記物理的店頭のうちの特定の1つへの前記ユーザデバイスによるリピート訪問を検出することができるように構成される、ステップをさらに含む、請求項1に記載の方法。
前記時間フレームは、1日であり、前記集約店舗訪問データは、前記少なくとも閾値数分の店舗識別子が前記1日内に受信されたと決定したことに応じて前記分析サーバに送信される、請求項9に記載のシステム。
前記集約店舗訪問データが前記少なくとも閾値数分の店舗識別子を含むかどうかを決定するステップは、前記少なくとも閾値数分の店舗識別子がある時間フレーム内に受信されたかどうかを決定するステップを含み、前記集約店舗訪問データは、前記少なくとも閾値数分の店舗識別子が前記時間フレーム内に受信されたと決定したことに応じて前記分析サーバに送信される、請求項15に記載の方法。
前記時間フレームは、1日であり、前記集約店舗訪問データは、前記少なくとも閾値数分の店舗識別子が前記1日内に受信されたと決定したことに応じて前記分析サーバに送信される、請求項16に記載の方法。
前記ランダムデバイス識別子は、前記店舗識別子のうちの1つに関連付けられており、前記ランダムデバイス識別子は、前記分析サーバが前記ユーザデバイスまたは前記ユーザデバイスのユーザの識別子を決定することができる情報を提供することなく、前記分析サーバが前記物理的店頭のうちの特定の1つへの前記ユーザデバイスによるリピート訪問を検出することができるように構成される、請求項15に記載の方法。
【発明を実施するための形態】
【0008】
以下の記載は、コンピュータネットワークを使用して情報を提供するための方法、装置、およびシステムに関連する様々な概念のより詳細な説明であるとともに、そのような方法、装置、およびシステムの実施形態となっている。上記で触れるとともに下記でより詳細に説明している様々な概念は、説明した概念として様々な方法のいずれかで実施され得るが、実施形態の特定の方式のいずれかに限定されるわけではない。特定の実施形態および適用の例については、主に事例的な目的のために提供している。
【0009】
概して、図を参照すれば、様々な例示的なシステムおよび方法を、店舗の顧客のプライバシーを維持しつつ店舗オーナーのための分析データを生成および提供するために提供している。本明細書に記載のシステムおよび方法は、店舗付近の複数のユーザデバイスからのデータの収集と、データを使用して店舗オーナーのための分析を生成することを可能としている。いくつかの実施形態においては、ユーザデバイスは、店舗デバイスからのプッシュ信号を受信すること以外は店舗の店舗デバイスと通信することなくデータを分析サーバに提供し得る。
【0010】
物理的店頭には、1つまたは複数の店舗デバイスが配備され得る。店舗デバイスは、一例としては、ビーコン(例えば、Bluetooth(登録商標)ビーコン)またはWiFiルータであり得る。いくつかの実施形態においては、店舗は、周囲のユーザデバイスに無線ネットワークを一般的に提供するWiFiルータを含み得る。本明細書に記載のシステムおよび方法においては、WiFiルータまたは他の店舗デバイスは、デバイスのうちの範囲内にあるユーザデバイスに信号をプッシュするために使用される。信号は、ユーザデバイスへの店舗識別子または店舗を識別する他の情報を含み得る。そして、店舗デバイスは、信号をプッシュした後にユーザデバイスから応答または他の情報を受信しないように構成され得る。
【0011】
ユーザデバイス(例えば、スマートフォン)、およびより具体的にはユーザデバイス上のアプリケーションが、信号を受信し、ユーザデバイスのための店舗訪問データを作成し得る。店舗訪問データは、ユーザデバイスが訪問して信号を受信した店舗に一般的に関連し得る。例えば、店舗データは、訪問に関連付けられた時間を表す時間データとともに、ユーザデバイスのユーザが訪れた店舗からの舗識別子を含み得る。店舗訪問データの収集が、店舗デバイス(例えば、WiFiルータ)を介して生じる代わりに、ユーザデバイスにおいて生じるため、店舗デバイスとユーザとの間のプライバシーを保証している。いくつかの実施形態においては、店舗デバイスとユーザデバイスとの間のインタラクションは、店舗デバイスがメッセージをユーザデバイスにプッシュする場合だけである。したがって、店舗デバイスからのプッシュ信号を受信すること以外店舗デバイスと通信しないことによって、ユーザデータのセキュリティを強化している。他の実施形態においては、店舗デバイスおよびユーザデバイスはまた、標準的なWiFi通信にも関与し得る。
【0012】
ユーザデバイスは、ユーザデバイスにプッシュされた複数の信号に関する店舗訪問データを集約し得る。ユーザデバイスは、店舗訪問データを継続して集約し得る。いくつかの実施形態においては、ユーザデバイスは、閾値数分の店舗識別子に達するまで店舗訪問データを集約してもよい。例えば、ユーザデバイスは、最大1千件分の店舗訪問または店舗識別子を蓄積してもよい。閾値に達したことに応じて、ユーザデバイスは、その後、店舗訪問データを分析サーバに送信し得る。様々な実施形態において、ユーザデバイスは、所与の時間フレームに関する閾値(例えば、1日、1週間、1月など)に達すると店舗訪問データを送信し得るし、訪問閾値または時間閾値を満たしていない場合には店舗訪問データを送信し得ない。
【0013】
店舗訪問データを送信する前に、いくつかの実施形態では、ユーザデバイスは、店舗訪問データを匿名化し得る。例えば、ユーザデバイスは、集約店舗訪問データから時間データの少なくとも一部を除去してもよい。例えば、訪問の特定の時間を店舗訪問データから除去してもよいし、訪問に関連付けられた日、曜日、週などに置換することもできる。別の例としては、ユーザデバイスは、分析サーバがユーザデバイスを識別することを可能にし得る情報を制限するように構成され得る。いくつかの実施形態においては、ランダムユーザデバイス識別子が、店舗訪問データで送信されてもよく、ランダムユーザデバイス識別子は、分析サーバが(ランダムユーザデバイス識別子に基づいて)ユーザデバイスを識別することを防ぐ一方で、分析サーバが店舗へのユーザによるリピート訪問を検出することを可能にしている。他の実施形態においては、ユーザデバイス識別子を、分析サーバから全面的に制限してもよい。
【0014】
分析サーバは、店舗訪問データを複数のユーザデバイスから受信し得る。分析サーバが分析データに関する要求を店舗オーナーから受信する場合には、分析サーバは、店舗オーナーに関連する店舗訪問データを集約し得る。例えば、店舗オーナーは、関連店舗訪問データを識別するために使用され得る、ユーザデバイスにメッセージをプッシュする店舗デバイスのための識別子(例えば、MACアドレス)を提供し得る。集約店舗訪問データが、その後、店舗オーナーに提供され得る。いくつかの実施形態においては、分析サーバは、何らかの方法で店舗訪問データをさらに匿名化し得る。
【0015】
本明細書に記載のシステムおよび方法は、店舗オーナーによる環境構築を低減してプロセスを容易にすることができる。例えば、いくつかの実施形態においては、(店舗デバイスにユーザデバイスを検出させてユーザデバイスから情報を収集させるために)ビーコンを設置しようとしているまたはWiFiルータのための特別な環境構築を準備しようとしている店舗オーナーの代わりに、店舗デバイスが、信号をユーザデバイスを(例えば、既存のWiFiルータから)ただプッシュするだけでよい。このことは、店舗オーナーにとって導入を容易にするとともに環境構築要件を低減することになる。ユーザデバイスおよび分析サーバは、その後、本明細書に記載のシステムおよび方法を実行するために使用され得る。
【0016】
本明細書に記載のシステムが、ユーザに関する個人情報を収集および/または利用する、または、個人情報を使用し得る状況については、ユーザは、プログラムまたは機能が個人情報(例えば、ユーザのソーシャルネットワークに関する情報、ソーシャルアクションもしくはアクティビティ、ユーザのプリファレンス、ユーザの現在のロケーションなど)を収集してもよいかどうかを制御するための機会、または、ユーザにより関連し得るコンテンツサーバからのコンテンツを受信するかどうかおよび/もしくはどのように受信するかを制御するための機会が提供され得る。加えて、パラメータ(例えば、人口学的パラメータ)を生成する際に個人を識別可能な情報を除去するために、あるデータは、それが記憶または使用される前に1つまたは複数の方法で匿名化されてもよい。例えば、個人を識別可能な情報がユーザを決定することができないように、ユーザの識別子を匿名化してもよいし、ユーザの詳細位置を決定することができないように、ユーザの地理的ロケーションをロケーション情報を取得できる程度(市、ZIPコード、または州レベルなどに)に汎化してもよい。そのため、ユーザは、どのようにして情報が彼または彼女に関して収集されコンテンツサーバによって使用されるかの制御を有していてもよい。さらに、個々のユーザ情報自体が、コンテンツプロバイダに浮上することはなく、そのため、コンテンツプロバイダは、特定のユーザに関連付けられたインタラクションを識別することはできない。本明細書のシステムおよび方法によるユーザ情報の使用は、以下でより詳細に説明する。
【0017】
ここで
図1を参照すれば、簡潔な概観で、分析システム150および関連環境100のブロック図を事例的な実施形態により示している。1つまたは複数のユーザデバイス104が、様々なアクションを行いおよび/またはそのうちのいくつかがネットワーク102(例えば、インターネット、LAN、WANなど)を介して提供される様々なタイプのコンテンツにアクセスするためにユーザによって使用され得る。例えば、ユーザデバイス104が、ウェブサイト(例えば、インターネットブラウザを使用して)、メディアファイル、および/または任意の他のタイプのコンテンツにアクセスするために使用され得る。コンテンツ管理システム108は、リソース(例えば、ウェブページ、アプリケーションなど)内でユーザに表示するためのコンテンツを選択し、リソース内に表示するためにネットワーク102を介してコンテンツアイテム112をコンテンツデータベース110からユーザデバイス104に提供するように構成され得る。コンテンツ管理システム108が選択するコンテンツアイテムは、1つまたは複数のコンテンツプロバイダデバイス106を使用してネットワーク102を介して1つまたは複数のコンテンツプロバイダによって提供され得る。
【0018】
環境100を、物理的店頭118(例えば、店舗)を含むように示している。ユーザデバイス104のユーザが物理的店頭118を訪問すると(例えば、ユーザが店舗を訪問すると)、ユーザデバイスが、物理的店頭内または近辺に設置されている1つまたは複数の店舗デバイス114の近辺にいる場合がある。店舗デバイス114近辺では、ユーザデバイス104は、信号を店舗デバイスから受信し得る。店舗デバイス114は、一般的に、信号をユーザデバイス104にプッシュするように構成され得る。さらに、店舗デバイス114は、一般的に、物理的店頭118内のデバイス間の無線通信を支援にし得る。例えば、店舗デバイス114は、物理的店頭118内のデバイスが互いにまたはリモートソースと通信することを可能にするローカル無線ネットワークを作成するために使用され得るWiFiルータであってもよい。別の例としては、店舗デバイス114は、Bluetooth(登録商標)ビーコンなどといった、(例えば、他のデバイスから信号を受信する機能を有していない)信号を近隣のデバイスに送信するビーコンであってもよいし、ビーコンとして機能してもよい。環境100を、物理的店頭118の店舗オーナー(または、管理者もしくは店舗に関連付けられた他のユーザ)のための店舗オーナーデバイス116を含むようにさらに示している。店舗オーナーデバイス116はまた、ネットワーク102を介して他のデバイスおよびシステムに接続され得る。
【0019】
分析システム150は、1つまたは複数のユーザデバイス104または店舗オーナーデバイス116から情報を受信するように構成され得る。分析システム150は、例えば、1つまたは複数のユーザデバイスからの情報を集約および匿名化し、情報を使用してコンテンツプロバイダデバイス106または店舗オーナーデバイス114に分析情報を提供し得る。分析システム150は、いくつかの実施形態では、分析データベース160に分析情報を記憶し得る。
【0020】
図1をより詳細に参照すれば、ユーザデバイス104、コンテンツプロバイダデバイス106、および/または店舗オーナーデバイス116は、テレビおよび/またはセットトップボックス、モバイル通信デバイス(例えば、セルラ電話、スマートフォンなど)、コンピュータおよび/または媒体デバイス(デスクトップコンピュータ、ラップトップまたはノードブックコンピュータ、ネットブックコンピュータ、タブレットデバイス、ゲーミングシステムなど)、または任意の他のタイプのコンピュータデバイスなどといった、(例えば、プロセッサおよびメモリまたは他のタイプのコンピュータ可読記憶媒体を有する)任意のタイプのコンピュータデバイスであり得る。いくつかの実施形態においては、1つまたは複数のユーザデバイス104は、セットトップボックスまたはテレビセットとともに使用される他のデバイスであり得る。いくつかの実施形態においては、コンテンツは、ウェブベースのアプリケーションおよび/またはユーザデバイス104に常住しているアプリケーションを介して提供され得る。いくつかの実施形態においては、ユーザデバイス104および/またはコンテンツプロバイダデバイス106は、様々なタイプのソフトウェアおよび/またはオペレーティングシステムを使用するように設計され得る。様々な事例的な実施形態において、ユーザデバイス104および/またはコンテンツプロバイダデバイス106は、1つまたは複数のユーザ入力デバイス(例えば、キーボード、マウス、リモート制御、タッチスクリーンなど)および/または1つまたは複数の表示デバイス(例えば、テレビ、モニタ、CRT、プラズマ、LCD、LED、タッチスクリーンなど)が備え付けおよび/または関連付けられていてもよい。
【0021】
ユーザデバイス104、コンテンツプロバイダデバイス106および/または店舗オーナーデバイス116は、ネットワーク102を使用して様々なソースからデータを受信するように構成され得る。いくつかの実施形態においては、ネットワーク102は、デバイスが任意のタイプのネットワーク接続(例えば、イーサネット(登録商標)、電話線、電力線などといった有線、またはWiFi、WiMAX、3G、4G、衛星などといった無線)を介して接続され得るコンピューティングネットワーク(例えば、LAN、WAN、インターネットなど)を含み得る。いくつかの実施形態においては、ネットワーク102は、メディア番組および/またはデータコンテンツを配信するように構成される、ケーブル(例えば、同軸メタルケーブル)、衛星、光ファイバなどの、メディア配信ネットワークを含み得る。
【0022】
図1をさらに参照して、分析システム150のアクティビティをさらに詳細に説明する。分析システム150は、ネットワーク102を介してユーザデバイス104、コンテンツプロバイダデバイス106、店舗オーナーデバイス116、および様々な他のソースからのデータを受信および分析し、ユーザアクティビティに関連するコンテンツプロバイダデバイスおよび店舗オーナーデバイスに分析情報を提供し得る。分析システム150は、1つまたは複数のプロセッサ(例えば、任意の汎用または特殊用途プロセッサ)を含み得るし、1つまたは複数のメモリ(例えば、磁気ストレージ、光学ストレージ、フラッシュストレージ、RAMなどといった任意のコンピュータ可読記憶媒体)を含み得るおよび/または動作可能に接続され得る。様々な実施形態において、分析システム150は、別個のシステムとして実装されてもよいし、または、環境100(例えば、コンテンツ管理システム108)内の別のシステムに統合されてもよい。分析システム150を、本開示のいくつかの実施形態では、情報を複数のデバイスから受信するシステムとして説明しているが、分析システム150は、ユーザデバイス104から情報を何も受信しなくてもよい。
【0023】
分析システム150は、様々な機能を行うように構成される(例えば、プロセッサによってコンピュータ可読命令実行ファイルとして実施される)1つまたは複数のモジュールを含み得る。分析システム150は、複数のユーザデバイス104から店舗訪問データを集約するように構成される、集約モジュール152を含む。個々のユーザデバイス104は、ユーザによる1つまたは複数の店舗訪問に関連する店舗訪問データを受信または生成し得るし、店舗訪問データを分析システム150に送信し得る。集約モジュール152は、店舗訪問データを複数のユーザデバイス104から受信し得る。店舗訪問データは、例えば、店舗識別子(例えば、ユーザデバイスが信号を受信した物理的店頭のための識別子)、タイムスタンプ(または、いつユーザが物理的店頭を訪れたかを示す他の情報)、店舗デバイス識別子(例えば、信号をユーザデバイスに送信した特定の店舗デバイスの識別子)、および物理的店頭におけるユーザアクティビティ、ユーザデバイスアクティビティ、または他のアクティビティに関連する他の情報を含み得る。いくつかの実施形態においては、店舗訪問データの一部またはすべてを、分析システム150への送信の前にユーザデバイス104によって匿名化してもよい。集約モジュール152は、分析データベース160に受信した店舗訪問データを記憶し得る。保存されているデータは、その後、店舗オーナーまたは他のユーザに関する分析データを生成するために使用され得る。
【0024】
分析システム150は、店舗訪問データを匿名化するように構成される、匿名化モジュール154を含み得る。匿名化モジュール154は、何らかの方法で店舗データを匿名化し得る。例えば、店舗オーナーに分析システム150によって提供されるデータが、店舗訪問データが発信された具体的な物理的店頭を公開しないように、一部またはすべての店舗識別子(例えば、特定の店舗の名称)を店舗訪問データから除去してもよい(例えば、複数の店頭にまたがる集約情報のみ公開する)。別の例としては、分析システム150が店舗オーナーに店舗訪問データに関連付けられたユーザデバイスの特定の購買傾向をレポートしないように、店舗のタイプ(例えば、レストラン、食料品店、衣料品店、電器店など)を店舗訪問データから除去してもよい。別の例としては、分析システム150が店舗訪問データに関連付けられた詳細位置を識別しないように、ロケーションデータ(例えば、ジオロケーション)を店舗訪問データから除去してもよい(例えば、より大きな地理的エリアに汎化されたロケーションのみ、店舗オーナーのすべての分析された店頭に関して集約されたデータのみなど)。匿名化モジュール154は、店舗訪問データを全体的にまたは部分的に匿名化するように構成され得る(例えば、ロケーション情報を完全に削除するか、ロケーション情報を単一の市または州に汎化するかをする)。匿名化モジュール154は、データをユーザデバイス104から受信すると店舗訪問データを匿名化し得る、または、分析データベース160に既に記憶されている店舗訪問データを匿名化し得る。例えば、匿名化モジュール154は、店舗オーナーデバイス116から店舗訪問データに関する要求を受信すると店舗訪問データを匿名化してもよい。
【0025】
上述したように、データを匿名化する匿名化モジュール154に加えてまたはその代わりに、ユーザデバイス104が、データを分析システム150に送信する前に、店舗訪問データを匿名化するように構成されてもよい。例えば、ユーザデバイス104は、ユーザが分析システム150と共有することを望まない任意の態様の店舗訪問データを匿名化し得る。
【0026】
分析システム150は、店舗オーナーデバイス116に関する分析情報を生成するように構成される、レポートモジュール156を含む。いくつかの実施形態においては、店舗オーナーが彼または彼女の店舗に関連する分析データを閲覧することを希望する場合に、店舗オーナーデバイス116は、情報をレポートモジュール156に送信し得る。情報は、レポートモジュール156への店舗オーナーデバイス116を識別する店舗識別子または他の識別子を含み得る。例えば、情報は、1つまたは複数の店舗デバイス114のための1つまたは複数のデバイス識別子を含み得る。デバイス識別子は、信号をユーザデバイス104に送信するように構成される、1つまたは複数の店舗デバイス114を識別し、ユーザデバイス104が店舗訪問データを生成することを可能にしている。デバイス識別子を使用して、レポートモジュール156は、(例えば、デバイス識別子を店舗訪問データ内に記憶されている店舗デバイス識別子とマッチングすることによって)店舗に関連する店舗訪問データを識別し得る。店舗訪問データのマッチングは、その後、集約され(必要ならばモジュール154によって匿名化され)、店舗オーナーデバイス116に提供され得る。集約データは、一般的に、どれくらい多くのユーザデバイスが識別された店舗デバイスからの信号を受信したかを店舗オーナーに示し、(ユーザデバイスが追加の情報を提供したのであれば)店舗訪問データ内に記憶された他のデータも含み得る。レポートは、任意のフォーマット(例えば、ウェブページ、スプレッドシート、または任意の他のタイプのファイルもしくはフォーマット)で店舗オーナーデバイス116に提供され得る。
【0027】
分析データベース160は、上述したように、分析システム150から店舗訪問データ162を受信し得る。店舗訪問データ162は、店舗識別子164(例えば、店舗の名称、または、特定の店舗および店舗ロケーションを識別する他の識別子)を含み得る。店舗訪問データ162は、店舗タイプ166を含み得る。例えば、店舗は、小売店、レストラン、食料品店、電器店などであってもよい。店舗タイプ166は、任意の粒度であり得る(例えば、店舗タイプは、単純に「レストラン」であってもよいし、または、レストランにおける食べ物のタイプをさらに識別してもよい)。店舗訪問データ162は、店舗デバイス識別子168を含み得る。店舗デバイス識別子168は、店舗訪問データを作成するプロセスをトリガしたユーザデバイスに信号を送信した物理的店頭内の特定のデバイスを識別する。店舗訪問データ162は、店舗訪問データが作成された時間を識別するタイムスタンプ170をさらに含む。タイムスタンプ170は、特定の時間、具体的な日付、時刻、または任意の他の期間を示し得る。店舗訪問データ162は、ロケーション172をさらに含み得る。ロケーション172は、店舗の詳細位置(例えば、物理的店頭の住所)、または、より大まかなロケーション(例えば、物理的店頭が位置する市、状態、または他の領域)を識別し得る。店舗訪問データ162は、ユーザデバイス識別子174をさらに含み得る。ユーザデバイス識別子174は、店舗訪問データが発信されたユーザデバイス104を識別するために使用され得る。ユーザデバイス識別子174は、ユーザデバイス104によって選択されたランダム識別子であってもよく、ユーザデバイスに関する情報を識別することができなくとも特定のユーザデバイスに由来するすべての店舗訪問データを分析システム150が識別することを可能にしている。
【0028】
本開示の様々な実施形態において、店舗訪問データは、分析データベース160に記憶されている。様々な実施形態において、データを、任意のソースもしくはソースの組合せから読み出してもよい、または、記憶されることなくデータがユーザデバイス104から読み出される際にのみ使用されてもよい。さらに、データは、分析データベース160または任意の他のデータストレージデバイス内に任意のフォーマットで記憶され得る。分析データベース160を、ほんの一例として、例示的データストレージとして提供している。
【0029】
ここで
図2を参照して、ユーザデバイス104のアクティビティをより詳細に説明する。上述したように、ユーザデバイス104は、店舗訪問データを生成し、データを記憶およびメンテナンスし、データを分析システム150に送信するように構成される、アプリケーションを含み得る。
【0030】
ユーザデバイス104は、信号をユーザデバイスに送信するように構成された物理的店頭118内に1つまたは複数の店舗デバイス114が存在している場合に、店舗訪問データを生成し得る。物理的店頭は、エリア内のデバイスに様々な無線ネットワーク機能を提供するように構成される、様々なロケーションに位置する1つまたは複数の店舗デバイス114を含み得る。例えば、店舗デバイス114は、1つまたは複数のデバイスに対して無線ネットワークへのアクセスを提供するように構成される、WiFiルータを含み得る。別の例としては、店舗デバイス114は、低エネルギー信号を1つまたは複数のデバイスに送信するように構成される、1つまたは複数のビーコンを含み得る。店舗デバイス114は、他のデバイスとの無線通信のために構成される、任意のタイプのデバイスであり得るし、物理的店頭118内の様々なロケーションに位置してエリアの一部またはすべてに無線ネットワークカバレッジを提供し得る。
【0031】
いくつかの実施形態においては、店舗デバイス114は、信号を1つまたは複数のユーザデバイス104にプッシュするように構成され得る。信号は、(ユーザデバイスが存在する特定の店舗を識別する)店舗識別子、または店舗デバイス識別子(例えば、MACアドレスもしくは店舗デバイスを特に識別する他の識別子)などの識別子を含み得る。ユーザデバイス104は、識別子を含む送信信号を受信し得る。店舗デバイス114は、ユーザデバイス104とのさらなる通信をしないように構成され得る。例えば、店舗デバイス114は、信号を1つまたは複数のユーザデバイスにプッシュしてもよく、ユーザデバイスは、店舗デバイスになんら返信することなく信号からの情報を使用してもよい。すなわち、店舗デバイス114は、ユーザデバイス104からのフィードバックまたはさらなる情報を受信することを必要とせずに、情報をユーザデバイス104にプッシュし得る。
【0032】
ユーザデバイス104を、店舗訪問データを受信し、生成し、メンテナンスするように構成される、店舗データアプリケーション202を含むように示している。例えば、店舗データアプリケーション202は、信号を店舗デバイス114から受信し、信号から店舗識別子または店舗デバイス識別子を抽出し、店舗訪問データの一部として識別子を記憶し、店舗訪問データをリモートサーバ(例えば、分析システム150)に送信してもよい。店舗データアプリケーション202は、受信した信号から識別情報を抽出するように構成される、デバイス識別モジュール204を含む。例えば、ユーザデバイス104が店舗デバイス114からのプッシュ信号を受信した場合に、デバイス識別モジュール204は、信号が送信されたデバイスおよび/または店舗の識別情報を決定してもよい。識別情報は、例えば、WiFiルータのMACアドレス、ビーコン識別子、店舗名称、または他の識別子などを含み得る。
【0033】
店舗データアプリケーション202は、信号を店舗デバイス114から受信する際に店舗訪問データを生成するように構成される、店舗訪問データモジュール206を含む。生成された店舗訪問データは、識別モジュール204によって抽出された店舗識別子または店舗デバイス識別子を含み得る。そのような情報は、店舗のタイプに関する情報をさらに含み得る。店舗訪問データは、ユーザデバイス104の現在のロケーションをさらに含み得る。例えば、店舗データアプリケーション202は、ユーザデバイス104上のGPSまたは他のナビゲーションもしくはロケーションアプリケーションからジオロケーションまたは他のロケーション情報を読み出し得る。店舗訪問データは、信号がユーザデバイス104によって受信された現在の時刻または日付をさらに含み得る。店舗訪問データは、ユーザデバイスが物理的店頭118および/または店舗デバイス114に存在している間の現在のユーザまたはユーザデバイスの挙動に関連する任意の情報をさらに含み得る。
【0034】
いくつかの実施形態においては、店舗訪問データモジュール206は、店舗訪問データを匿名化し得る。例えば、店舗識別子、店舗デバイス識別子、店舗のタイプ、タイムスタンプ、またはロケーションのうちの1つまたは複数が、店舗訪問データは、記憶する前に匿名化されてもよい。店舗訪問データの匿名化は、店舗訪問データが分析システムに送信される場合にユーザおよびユーザデバイスが分析システム150によって識別されないようにすることができる。
【0035】
店舗データアプリケーション202は、リモートサーバ(例えば、分析システム150)への店舗訪問データの送信を支援するように構成される、送信モジュール208を含む。いくつかの実施形態においては、ユーザデバイス104は、分析システム150に店舗訪問データを周期的に(例えば、1日に一度、1週間に一度など)送信するように構成され得る。いくつかの実施形態においては、ユーザデバイス104は、ユーザデバイスにおいて生成された店舗訪問データの量に基づいて店舗訪問データを分析システム150に送信し得る。例えば、送信モジュール208は、店舗訪問データを分析システム150に送信する前に、(各訪問に関して生成された店舗訪問データを有する)閾値の総計分のロケーション(例えば、1千箇所のロケーション)を訪れるまで、または、閾値の総計分の訪問が生じるまで待機し得る。いくつかの実施形態においては、店舗訪問データを送信する前に、店舗訪問データの一部またはすべてを店舗訪問データモジュール206によって匿名化し得る。例えば、1千箇所のロケーションを訪問して送信を開始した時点で、店舗訪問データモジュール206は、分析システム150への送信の前にデータからすべてのタイムスタンプ情報を除去してもよい。
【0036】
いくつかの実施形態においては、ユーザデバイス104は、店舗訪問データを一部またはすべてのデバイスと共有しないように構成され得るし、送信モジュール208を含んでいなくてもよい。例えば、ユーザデバイス104は、店舗訪問データを任意の他のデバイスと共有しないように構成され得るし、店舗訪問データのみを使用してどのコンテンツアイテムをユーザデバイス上に表示するかを決定し得る。別の例としては、ユーザデバイス104は、店舗訪問データを分析システム150などのリモートサーバと共有だけするように構成され得る。ユーザデバイス104は、いくつかの実施形態では、店舗訪問データを店舗デバイス114と絶対共有することがないように構成され得る。
【0037】
店舗データアプリケーション202は、ユーザデバイス104のメモリ内の店舗訪問データをメンテナンスするように構成される、メンテナンスモジュール210を含み得る。例えば、ユーザは、店舗デバイス114から(例えば、特定の物理的店頭に関する店舗デバイスから、または、すべての物理的店頭から)信号を受信することの「オプトアウト」を選択してもよい。メンテナンスモジュール210は、そのような状況においてはユーザデバイス104に記憶されているすべての店舗訪問データを削除するように構成され得る。別の例としては、メンテナンスモジュール210は、「古い」店舗訪問データ(例えば、閾値日時より前に作成された店舗訪問日の、一年以上前などといった、店舗訪問データなど)を削除するように構成され得る。
【0038】
店舗データアプリケーション202を本開示において説明したアクティビティを実行するためのモバイルデバイス用のアプリケーションとして説明しているが、そのようなアクティビティをモバイルデバイスのオペレーティングシステムの別のコンポーネントによって実行してもよく、モバイルデバイスにおけるアプリケーションの説明に限定されないことを理解されたい。
【0039】
ここで
図3を参照すれば、店舗訪問データを生成するためのプロセス300のフロー図を事例的な実施形態により示している。プロセス300は、
図1〜2を参照して記載しているように、例えば、ユーザデバイス104およびより具体的には店舗データアプリケーション202によって実行され得る。プロセス300は、ユーザデバイス(およびユーザデバイスのユーザ)が信号をユーザデバイスにプッシュするように構成された複数の店舗デバイスを含む物理的店頭に存在している場合に実行され得る。
【0040】
プロセス300は、ユーザデバイスにプッシュされた複数の信号を複数の物理的店頭に位置する複数の店舗デバイスから受信する(305)ステップを含む。いくつかの実施形態においては、店舗デバイスは、WiFiルータを含み得る。無線通信を物理的店頭に提供することに加えて、WiFiルータは、信号をユーザデバイスにプッシュするように構成され得る。他の実施形態においては、店舗デバイスは、信号をユーザデバイスにプッシュするように構成される、ビーコンを含み得る。
【0041】
ユーザデバイスにプッシュされた信号は、1つまたは複数の識別子を含み得る。例えば、店舗デバイスがWiFiルータである場合には、信号は、信号をプッシュした特定のWiFiルータを識別するMACアドレスまたは他の識別子を含んでいてもよい。別の例としては、店舗デバイスがビーコンである場合には、信号は、信号をプッシュしたビーコンのビーコン識別子を含み得る。識別子は、例えば、店舗識別子(例えば、店舗名称)をさらに含み得る。信号は、信号の発信(すなわち、ユーザデバイスのロケーション)をリモートサーバが識別することができる任意の情報をさらに含み得る。
【0042】
プロセス300は、信号を受信したことに応じて店舗訪問データを生成する(310)ステップをさらに含む。店舗訪問データは、一般的に、店舗識別子(および信号によって記憶されている他の情報)および時間データを含み得る。時間データは、物理的店頭を訪れたユーザデバイスに関連付けられた時間を表し得る。店舗訪問データは、(ユーザデバイスによって推測されるか、プッシュ信号を介して受信される)物理的店頭へのユーザデバイスの現在の訪問に関連する任意の他のデータをさらに含み得る。例えば、店舗のタイプは、店舗訪問データとして記憶してもよく、信号から受信されるまたは店舗識別子から推測される情報のいずれかで決定されてもよい。
【0043】
プロセス300は、ユーザデバイスにプッシュされた複数の信号に関する店舗訪問データを集約する(315)ステップをさらに含む。概して、プロセス300を参照すれば、信号の収集および店舗訪問データの作成は、長期間(例えば、1日、1月、1年など)にわたって生じ得る。ユーザデバイスは、その期間にわたって複数の物理的店頭内の複数の店舗デバイスから複数の信号を受信し得る。
【0044】
プロセス300は、集約店舗訪問データから時間データの少なくとも一部を除去する(320)ステップをさらに含む。いくつかの実施形態においては、ユーザデバイスは、データを受信することになるリモートサーバから店舗訪問データを少なくとも部分的に匿名化することを希望する場合がある。ある実施形態においては、時間データの一部またはすべてが、各訪問に関する店舗訪問データから除去され得る。例えば、特定の日付および時間を除去することができ、特定の日付、特定の週もしくは月、曜日、またはほかの一般的な期間をとにかく取り去り、任意の他のシステムがいつユーザデバイスが特定の訪問に関して店舗訪問データを作成したかを決定することを防いでいる。
【0045】
プロセス300は、集約店舗訪問データが少なくとも閾値数分の店舗識別子を含むかどうかを決定する(325)ステップをさらに含む。ある実施形態においては、閾値は、物理的店頭を訪れたユーザデバイスの総数、または閾値数分の訪問された店頭を表し得る。例えば、閾値は、1千件分の一意な店舗訪問であってもよい。別の実施形態においては、閾値は、ある期間にわたる店舗訪問の数(例えば、1週間に5件の訪問、1年に100件の訪問など)を表し得る。いくつかの実施形態においては、プロセス300は、閾値数分の店舗識別子をチェックするステップを含んでいなくてもよく、ブロック325をスキップして(ブロック330に記載しているような店舗訪問データの送信を継続して)もよい。
【0046】
プロセス300は、ユーザデバイスまたはユーザデバイスのユーザを識別するために使用され得る、集約店舗訪問データからの情報を制限する(327)ステップを必要に応じて含む。例えば、ユーザデバイス(例えば、デバイスタイプ、電話番号など)、またはユーザデバイスのユーザ(例えば、名前、ユーザIDなど)を識別する任意の情報を、集約店舗訪問データから除去してもよい。いくつかの実施形態においては、ランダムデバイス識別子を、集約店舗訪問データに関連付けてもよい。ランダムデバイス識別子は、ユーザデバイスまたはユーザの識別子に関するいかなる情報も含んでいなくてもよい。
【0047】
プロセス300は、集約店舗訪問データが少なくとも閾値数分の店舗識別子を含むと決定したことに応じて、集約店舗訪問データを分析システムに送信する(330)ステップをさらに含む。分析システムは、その後、
図4に記載しているように集約店舗訪問データを使用して店舗オーナーのために分析データを生成し得る。
【0048】
プロセス300は、集約店舗訪問データを送信する場合には、分析システムに、デバイス識別子、ランダムデバイス識別子を送信するステップ、またはデバイス識別子を送信しないステップもさらに含み得る。デバイス識別子は、分析サーバが店舗訪問データを複数のユーザデバイスから受信するように構成されているため、特定の店舗訪問データについての発信を分析サーバが識別することができるようにし得る。いくつかの実施形態においては、ユーザデバイスは、分析サーバが店舗訪問データを特定のユーザデバイスと関連付けることができるようにする、標準ユーザデバイス識別子を送信し得る。分析サーバは、店舗訪問データを店舗オーナーに提供する前に前記ユーザデバイス識別子を匿名化し得る。
【0049】
いくつかの実施形態においては、ユーザデバイスは、店舗訪問データでランダムユーザデバイス識別子を分析システムに送信し得る。ランダムユーザデバイス識別子は、分析システムによって記憶される、ランダムに選択/割り当てられた識別子であり得る。ランダムユーザデバイス識別子は、分析サーバが店舗訪問データからユーザデバイスを識別することをできなくし得る。しかしながら、ランダムユーザデバイス識別子は、分析システムによって記憶されてもよく、店舗訪問データの後続送信の間にユーザデバイスによって再び使用されてもよい。このことは、分析サーバが実際のユーザデバイスを識別しないようにしつつ、分析サーバが同一のユーザデバイスに属する店舗訪問データを識別することができるようにし得る。このことは、分析サーバが、例えば、物理的店頭へのリピート訪問客を識別するのに役立ち得る。
【0050】
いくつかの実施形態においては、ユーザデバイスは、ユーザデバイス識別子を送信しなくてもよく、分析サーバは、受信した店舗訪問データを用いて任意のユーザデバイス情報を記憶しなくてもよい。しかしながら、このことは、分析サーバが物理的店頭へのリピート訪問客を識別することを妨げ得る。
【0051】
ここで
図4を参照すれば、事例的な実施形態による、店舗オーナーのための分析データを生成するためのプロセス400のフロー図を示している。プロセス400は、
図1〜2を参照して記載しているように、例えば、分析システム150によって実行されてもよい。
【0052】
プロセス400は、店舗訪問データを複数のユーザデバイスから受信する(405)ステップを含む。店舗訪問データは、ユーザデバイスのための集約店舗訪問データを含み得る。例えば、ユーザデバイスは、1千件分の訪問から店舗訪問データを集約し、店舗訪問データを分析システムに送信し得る。店舗訪問データは、各訪問のための店舗識別子を含み得るし、店舗識別子は、物理的店頭におけるユーザデバイスの存在を示す。
【0053】
プロセス400は、分析データに関する要求を店舗オーナーデバイスから受信する(410)ステップをさらに含む。要求は、分析データが要求された店舗を識別する店舗識別子を含み得る。例えば、識別子は、店舗に関連付けられた店舗識別子を含み得る。別の例としては、識別子は、店舗内の特定のデバイス(例えば、ルータ、ビーコン)を識別する1つまたは複数の店舗デバイス識別子を含み得る。要求は、店舗オーナーデバイス用に分析データをカスタマイズするために使用され得る、任意のパラメータ(例えば、日付/時刻パラメータ、訪問客パラメータなど)をさらに含み得る。
【0054】
プロセス400は、店舗識別子を含む店舗訪問データのサブセットを識別するために店舗訪問データをフィルタリングする(415)ステップをさらに含む。いくつかの実施形態においては、分析システムは、店舗識別子を含むすべての店舗訪問データを読み出し得る。いくつかの実施形態においては、分析システムは、店舗デバイス識別子が店舗オーナーデバイス要求の店舗デバイス識別子とマッチングするすべての店舗訪問データを読み出し得る。店舗訪問データをフィルタリングするステップは、日付/時刻によって、または、店舗訪問データに関連付けられた任意の他のプロパティによって、データをフィルタリングするステップをさらに含む。
【0055】
プロセス400は、店舗訪問データのサブセットを集約および匿名化する(420)ステップをさらに含む。個々の訪問または個々のユーザデバイスに固有の情報を店舗訪問データから突き止めることができないように、店舗訪問データは、集約および匿名化される。例えば、店舗訪問データに関連付けられた特定のタイムスタンプを匿名化してもよい。別の例としては、任意のデバイス識別子または店舗訪問データに関連付けられたランダムデバイス識別子を除去してもよい。いくつかの実施形態においては、ブロック420のアクティビティは、店舗訪問データ内のユーザ特性(例えば、平均年齢、性別特性、関心データなど)をメンテナンスするステップを含んでいてもよく、分析システムがユーザ特性を集約することを可能にしている。
【0056】
プロセス400は、集約店舗訪問データを店舗オーナーデバイスに提供する(425)ステップをさらに含む。集約店舗訪問データは、任意のフォーマットで店舗訪問データに提供されてもよい。集約店舗訪問データは、店舗オーナーデバイスが個々の店舗訪問または個々のユーザデバイスに固有のいかなる情報も閲覧することができないように、店舗オーナーデバイスに提供され得る。しかしながら、店舗オーナーは、店舗データの一部としてユーザに関する集約済みの特性を引き続き閲覧し得る。
【0057】
いくつかの実施形態においては、プロセス400は、店舗デバイス識別子を含み得るまたは関連付けられ得る、店舗オーナー要求に応じて実行され得る。要求を受信すると、分析システムは、要求と同一の店舗デバイス識別子を共有するすべての店舗訪問データをフィルタリングするように構成され得る。このことは、特定のデバイスから信号を受信したすべてのユーザデバイスに関する店舗訪問データを店舗オーナーが閲覧できるようにする。他の実施形態においては、店舗オーナー要求が店舗識別子を含む場合には、店舗オーナーは、その後、物理的店頭内の任意のデバイスから信号を受信したすべてのユーザデバイスのための店舗訪問データを受信し得る。店舗オーナーは、どのくらい多くの訪問客が所与の期間店舗にいたか、どのくらい多くの訪問客が店舗の特定のセクションを訪問していたかを決定するために、彼または彼女の要求を設定することができ得るし、一般的に、任意のタイプのカスタマイズされた情報を受信し得る。店舗オーナーは、店舗訪問データを生成した訪問客に関する任意の情報およびユーザデバイスを絶対見つけることがないように、そのような店舗訪問データを受信し得る。
【0058】
図5は、例えば、事例的なユーザデバイス104、事例的なコンテンツ管理システム108、事例的なコンテンツプロバイダデバイス106、事例的な分析システム150、および/または本開示において説明した様々な他の事例的なシステムを実装するために使用され得る、コンピュータシステム500の図を示している。コンピューティングシステム500は、情報を通信するためのバス505または他の通信コンポーネントと、情報を処理するためにバス505に接続されているプロセッサ510とを含む。コンピューティングシステム500はまた、情報およびプロセッサ510によって実行されることになる命令を記憶するためにバス505に接続された、ランダムアクセスメモリ(RAM)などのメインメモリ515または他の動的ストレージデバイスを含む。メインメモリ515は、プロセッサ510による命令の実行中に、位置情報、一時変数、または他の中間情報を記憶するために使用され得る。コンピューティングシステム500は、プロセッサ510のための静的情報および命令を記憶するためにバス505に接続された、リードオンリーメモリ(ROM)520または他の静的ストレージデバイスをさらに含み得る。ソリッドステートデバイス、磁気ディスク、または光ディスクなどといったストレージデバイス525が、情報および命令を永続的に記憶するためにバス505に接続されている。
【0059】
コンピューティングシステム500は、情報をユーザに表示するために、バス505を介して液晶ディスプレイ、またはアクティブマトリクスディスプレイなどといったディスプレイ535に接続され得る。英数字および他のキーを含むキーボードなどといった入力デバイス530が、情報、およびコマンド選択をプロセッサ510に通信するために、バス505に接続され得る。別の実施形態においては、入力デバイス530は、タッチスクリーンディスプレイ535を有する。入力デバイス530は、方向情報およびコマンド選択をプロセッサ510に通信するとともにディスプレイ535上でのカーソル移動を制御するために、マウス、トラックボール、またはカーソル方向キーなどといったカーソル制御を含み得る。
【0060】
いくつかの実施形態においては、コンピューティングシステム500は、ネットワークアダプタなどといった通信アダプタ540を含み得る。通信アダプタ540は、バス505に接続され得るし、コンピューティングもしくは通信ネットワーク545および/または他のコンピューティングシステムとの通信を可能にするように構成され得る。様々な事例的な実施形態では、任意のタイプのネットワーク構成は、有線(例えば、イーサネット(登録商標)を介して)、無線(例えば、WiFi(登録商標)、Bluetooth(登録商標)などを介して)、プレコンフィギュアド、アドホック、LAN、WANなどといった通信アダプタ540を使用して実現され得る。
【0061】
様々な実施形態に従って、本明細書に記載の事例的な実施形態を達成するプロセスを、プロセッサ510がメインメモリ515内に含まれる命令の配列を実行することに応じて、コンピューティングシステム500によって実現し得る。そのような命令は、ストレージデバイス525などの別のコンピュータ可読媒体からメインメモリ515に読み出され得る。メインメモリ515内に含まれる命令の配列の実行は、コンピューティングシステム500に本明細書に記載の事例的なプロセスを実行させる。マルチプロセッシング構成内の1つまたは複数のプロセッサを、メインメモリ515に含まれる命令を実行するために使用してもよい。別の実施形態においては、ハード・ワイヤード回路が、事例的な実施形態を実施するためにソフトウェア命令と置換してまたはソフトウェア命令と組み合わせて使用され得る。そのため、実施形態は、ハードウェア回路とソフトウェアとのいかなる特定の組合せにも限定されない。
【0062】
本開示において説明したような分析システムは、任意のタイプのサードパーティコンテンツアイテムにとって実施可能であり得る。ある実施形態においては、コンテンツアイテムは、広告を含み得る。ある実施形態においては、コンテンツアイテムは、ファーストパーティコンテンツプロバイダのウェブページ上への表示のためにサードパーティによって提供される、任意のテキスト、画像、ビデオ、記事(例えば、ニュース記事)、ソーシャルメディアコンテンツ、リンク、または任意の他のタイプのコンテンツを含み得る。分析システムが使用されることになり得るコンテンツアイテムのタイプは限定されない。
【0063】
例示的処理システムを
図5に記載しているが、発明特定事項および本明細書において説明した機能演算の実施形態は、他のタイプのデジタル電子回路を使用して、または、本明細書において開示した構造およびそれらの構造的均等物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェア内で、または、1つまたは複数のそれらの組合せで、実行され得る。
【0064】
発明特定事項および本明細書において説明した演算の実施形態は、デジタル電子回路を使用して、または、本明細書において開示した構造およびそれらの構造的均等物を含む、有形媒体に組み込まれたコンピュータソフトウェア、ファームウェア、またはハードウェア内で、または、1つまたは複数のそれらの組合せで、実行され得る。本明細書において説明した発明特定事項の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置による実行のための1つまたは複数のコンピュータ記憶媒体上に符号化された、または、データ処理装置の演算を制御する、コンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。あるいはまたは加えて、プログラム命令は、データ処理装置による実行のために適切な受信機装置への送信のための情報を符号化するように生成された、人工的に生成された伝搬信号、例えば、機械生成された、電気、光、または電磁気信号上に符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶回路基板、ランダムもしくはシリアルアクセスメモリアレイまたはデバイス、または1つまたは複数のそれらの組合せであり得る、または含まれ得る。さらに、コンピュータ記憶媒体は伝搬信号ではない一方で、コンピュータ記憶媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個のコンポーネントまたは媒体(例えば、複数のCD、ディスク、または他のストレージデバイス)であり得るまたは含まれ得る。それゆえ、コンピュータ記憶媒体は、有形および非一時的の両方である。
【0065】
本明細書において説明した演算は、1つまたは複数のコンピュータ可読ストレージデバイス上に記憶された、または、他のソースから受信した、データに対してデータ処理装置によって行われる演算として実施され得る。
【0066】
「データ処理装置」または「コンピュータデバイス」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システム・オン・チップ、または、それら複数、または、前述の組合せを含む、処理データのためのすべての種類の装置、デバイス、および機械を含む。装置は、特殊用途論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。装置はまた、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの組合せのうちの1つまたは複数を構成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラなどといった様々な異なるコンピューティングモデルインフラを実現し得る。
【0067】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイル型またはインタプリタ型言語、宣言型または手続き型言語を含む、任意の形式のプログラミング言語で書かれ得るし、スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境における使用に適した他のユニットとしてといったことを含む、任意の形式でデプロイされ得る。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよい必ずしも対応する必要はない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部に、当該のプログラム専用の単一のファイルに、または、複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に、記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1箇所に位置するもしくは複数のサイトにわたって分散され通信ネットワークによって相互通信する複数のコンピュータ上で、実行されるようにデプロイされ得る。
【0068】
本明細書において説明したプロセスおよびロジックフローは、入力データを処理するとともに出力を生成することによってアクションを行うために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよびロジックフローはまた、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった特殊用途論理回路によって行われ得るし、装置はまた、そういった特殊用途論理回路として実装され得る。
【0069】
コンピュータプログラムの実行に適したプロセッサは、例として、一般および特殊両方の用途のマイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令に従ってアクションを行うためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、例えば、磁気、光磁気ディスク、または光ディスクといったデータを記憶するための1つまたは複数のマスストレージデバイスを含み得る、または、そのようなマスストレージデバイスからデータを受信もしくはそのようなマスストレージデバイスにデータを送信もしくはその両方を行うように動作可能に接続され得る。しかしながら、コンピュータは、必ずしもそのようなデバイスを有する必要はない。さらに、コンピュータは、ほんの数例挙げれば、例えば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、Global Positioning System(GPS)受信機、またはポータブルストレージデバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)といった別のデバイスに組み込まれ得る。コンピュータプログラム命令およびデータを記憶することに適したデバイスは、例として、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスといった半導体メモリデバイス、例えば、内部ハードディスクまたはリムーバブルディスクといった磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形式の不揮発性メモリ、メディア、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊用途論理回路によって補完され得る、または、特殊用途論理回路に組み込まれ得る。
【0070】
ユーザとのインタラクションを提供するために、本明細書において説明した発明特定事項の実施形態は、情報をユーザに表示するための、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタといった、表示デバイスと、ユーザが入力をコンピュータに提供することができる、例えば、マウスまたはトラックボールといった、キーボードおよびポインティングデバイスとを有するコンピュータを使用して実行し得る。他の種類のデバイスも、ユーザとのインタラクションを提供するために使用し得る。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックといった任意の形式の感覚フィードバックであり得るし、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信およびユーザによって使用されるデバイスからドキュメントを受信することによって、例えば、ウェブブラウザからの要求に応じてユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザとやり取りし得る。
【0071】
本明細書において説明した発明特定事項の実施形態は、例えば、データサーバといった、バックエンドコンポーネントを含む、または、例えば、アプリケーションサーバといった、ミドルウェアコンポーネントを含む、または、フロントエンドコンポーネント、例えば、それを介してユーザが本明細書において説明した発明特定事項の実施形態とやり取りし得る、グラフィックユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含む、または、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せのうちの1つまたは複数を含む、コンピューティングシステムを使用して実行され得る。システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互通信され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、ならびにピア・ツー・ピアネットワーク(例えば、アドホックピア・ツー・ピアネットワーク)を含む。
【0072】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般的に互いにリモートに存在しており、通信ネットワークを介して通常はやりとりする。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作するとともに互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態においては、サーバは、(例えば、データをクライアントデバイスに表示するとともに、ユーザのクライアントデバイスとのやり取りからユーザ入力を受信するために、)データ(例えば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイス(例えば、ユーザインタラクションの結果)において生成されたデータを、サーバにおいてクライアントデバイスから受信し得る。
【0073】
いくつかの事例的な実施形態においては、本明細書に開示の特徴は、インターネット接続機能を(例えば、ケーブル、衛星、オーバー・ジ・エア、または他の信号介して受信される)より多くの従来のテレビ番組のソースと統合するように構成される、処理回路を含み得る、スマートテレビモジュール(または、コネクティッドテレビモジュール、ハイブリッドテレビモジュールなど)上に実装され得る。スマートテレビモジュールは、テレビセットに物理的に組み込まれてもよいし、または、セットトップボックス、Blu-ray(登録商標)または他のデジタルメディアプレーヤ、ゲームコンソール、ホテルテレビシステム、および他のコンパニオンデバイスなどといった別個のデバイスを含んでいてもよい。スマートテレビモジュールは、ウェブ上の、ローカルケーブルTVチャネル上の、衛星TVチャネル上の、または、ローカルハードドライブに記憶された、ビデオ、映画、写真、および他のコンテンツをビューアが検索および探索することができるように構成され得る。セットトップボックス(STB)またはセットトップユニット(STU)は、チューナを含むとともにテレビセットおよび外部ソースの信号に接続し得る、信号をテレビスクリーンまたは他の表示デバイスによってその後表示されるコンテンツに変換する、情報家電機器デバイスを含み得る。スマートテレビモジュールは、ウェブブラウザおよび複数のストリーミングメディアサービス、コネクティッドケーブルまたは衛星メディアソース、他のウェブ「チャネル」などといった複数の異なるアプリケーションのためのアイコンを含む、ホームスクリーンまたはトップレベルスクリーンを提供するように構成され得る。スマートテレビモジュールは、電子番組ガイドをユーザに提供するようにさらに構成され得る。スマートテレビモジュールに対するコンパニオンアプリケーションは、利用可能な番組に関する追加の情報をユーザに提供する、ユーザがスマートテレビモジュールを制御するなどを行うように、モバイルコンピュータデバイス上で動作可能であり得る。代替の実施形態においては、前記特徴は、ラップトップコンピュータもしくは他のパーソナルコンピュータ、スマートフォン、他の携帯電話、ハンドヘルドコンピュータ、タブレットPC、または他のコンピュータデバイス上で実施され得る。
【0074】
本明細書は多くの特定の実施形態詳細を含んでいるが、これらは、任意の発明または特許請求の範囲の範囲を限定するものとして解釈すべきではなく、特定の発明の特定の実施形態に特有の特徴についての説明として解釈すべきである。別個の実施形態に関連する本明細書において説明した特徴はまた、組合せでまたは単一の実施形態で実行され得る。反対に、単一の実施形態に関連して説明した様々な特徴はまた、複数の実施形態で、別々に、または、任意の適切なサブコンビネーションで実行され得る。さらに、特徴をある組合せで動作するように上述しているとしても、たとえそのようにはじめは主張していたとしても、いくつかのケースでは、主張した組合せのうちの1つまたは複数の特徴を組合せから削除し得るし、主張した組合せをサブコンビネーションまたはサブコンビネーションのバリエーションを対象とし得る。加えて、特定の見出しに関して説明した特徴は、他の見出しの下で説明した事例的な実施形態に関しておよび/または組合せで利用されてもよく、本明細書で提供した見出しは、ただ可読性を目的としたものであり、そのような見出しに関して提供される任意の特徴に限定するものとして解釈すべきではない。
【0075】
同様に、処理を特定の順序で図面に図示しているが、このことを、望ましい結果を実現するためには、図示した特定の順序でもしくはシーケンシャルな順序でそのような処理を行う必要がある、または、図示した処理をすべて行う必要がある、と理解すべきではない。ある状況においては、マルチタスク処理およびパラレル処理が有利となり得る。さらに、上述した実施形態における様々なシステムコンポーネントの分離がすべての実施形態におけるそのような分離が必要であると理解すべきではないし、説明したプログラムコンポーネントおよびシステムを単一のソフトウェア製品に一緒に統合することまたは有形媒体上に具現化された複数のソフトウェア製品にパッケージすることが一般的にできることを理解されたい。
【0076】
このように、発明特定事項の特定の実施形態を説明してきた。他の実施形態も特許請求の範囲の範囲内にある。いくつかのケースでは、特許請求の範囲に記載したアクションは、異なる順序で実施され得るし、さらに望ましい結果を実現し得る。加えて、添付の図面に記載したプロセスは、望ましい結果を実現するために、必ずしも図示した特定の順序またはシーケンシャルな順序を必要とするわけではない。ある実施形態においては、マルチタスク処理およびパラレル処理が有利となり得る。