(57)【特許請求の範囲】
【請求項１】
ユーザに個人別コンテンツを推奨するための方法であって、
ロジック回路によって、所定の期間内に、或るユーザに関連付けられる１つ以上の過去のオーダーを含む第一電子信号を第一ストレージデバイスから取得するステップと、
前記ロジック回路によって、前記１つ以上の過去のオーダーに基づいて、前記ユーザに関連付けられるポイントオブインタレスト（ＰＯＩ）の第一セットを前記第一ストレージデバイスから読み出すステップと、
前記ロジック回路によって、前記ユーザに関連付けられるＰＯＩの前記第一セットを含む第二電子信号を前記第一ストレージデバイスへ送るステップであって、ＰＯＩの前記第一セットは前記第一ストレージデバイスに保存される、送るステップと、
前記ロジック回路によって、第二ストレージデバイスにアクセスして前記第二ストレージデバイスに格納されているＰＯＩの第二セットを読み出すために、第三電子信号を前記第二ストレージデバイスへ送信するステップと、
前記ロジック回路によって、前記第一ストレージデバイス中に格納されたＰＯＩのセットの各ＰＯＩと前記第二ストレージデバイス中に格納された対応するＰＯＩとの間の地理的距離を計算することにより、ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて、前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するステップと、
前記ロジック回路によって、ユーザ装置の第三ストレージデバイスにアクセスして、前記ユーザ装置の測位機能によって突き止められた前記ユーザの位置情報を読み出すために、第四電子信号を前記ユーザ装置へ送信するステップと、
前記ロジック回路によって、前記更新されたＰＯＩの第一セット及び前記ユーザの前記位置情報に基づいて、１つ以上の個人別コンテンツ項目を決定するステップと、
前記ロジック回路によって、前記ユーザ装置に表示されるべき前記１つ以上の個人別コンテンツ項目を含む第五電子信号を前記ユーザ装置へ送信するステップと、
を含む、方法。
【請求項２】
前記１つ以上の過去のオーダーは、前記ユーザに提供されるロケーションベースサービスに関連付けられる、請求項１に記載の方法。
【請求項３】
前記第二ストレージデバイスは、複数のユーザに提供されたロケーションベースサービスに関連付けられたリアルタイムのデータを格納する、請求項１に記載の方法。
【請求項４】
ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するステップは、
前記１つ以上の過去のオーダー中のＰＯＩの前記第一セットの各々の存在の数を計算するステップと、
各々が前記第二ストレージデバイス中に存在する対応ＰＯＩと、前記１つ以上の過去のオーダー中に存在するＰＯＩの、第三セットを識別するステップと、
前記第一ストレージデバイス中に存在するＰＯＩの前記第三セットの各々と前記第二ストレージデバイス中に存在する前記対応ＰＯＩとの間の地理的距離を計算するステップと、
を含む、請求項１に記載の方法。
【請求項５】
ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて、前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するステップは、
前記第一ストレージデバイス中に存在するＰＯＩの前記第三セットの１つと前記第二ストレージデバイス中に存在する対応ＰＯＩとの間の前記地理的距離が第一閾値より小さく、且つ前記１つ以上の過去のオーダー中に存在するＰＯＩの前記第三セットの前記１つの存在の数が第二閾値よりも大きいとき、前記第一ストレージデバイス中に存在するＰＯＩの前記第三セットの前記１つを前記第二ストレージデバイス中に存在する前記対応ＰＯＩによって更新するステップ、
をさらに含む、請求項４に記載の方法。
【請求項６】
ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて、前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するステップは、
前記第一ストレージデバイス中に存在するＰＯＩの前記第三セットの１つと前記第二ストレージデバイス中に存在する対応ＰＯＩとの間の前記地理的距離が前記第一閾値より小さく、且つ前記１つ以上の過去のオーダー中に存在するＰＯＩの前記第三セットの前記１つの存在の数が前記第二閾値よりも小さいとき、前記第一ストレージデバイスから、ＰＯＩの前記第三セットの前記１つを削除するために、第七信号を前記第一ストレージデバイスへ送信するステップ、
をさらに含む、請求項５に記載の方法。
【請求項７】
ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて、前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するステップは、
前記１つ以上の過去のオーダーと前記第二ストレージデバイスとの両方中に存在するＰＯＩがないと判断された場合であって、
前記１つ以上の過去のオーダー中のＰＯＩの前記第一セットの１つの存在の数が前記第二閾値よりも小さいとき、前記第一ストレージデバイスから、ＰＯＩの前記第一セットの前記１つを削除するために、第八信号を前記第一ストレージデバイスへ送信するステップ、
をさらに含む、請求項６に記載の方法。
【請求項８】
ＰＯＩの前記第一セットに対し冗長さ低減を実行するステップ、
をさらに含む、請求項１に記載の方法。
【請求項９】
ＰＯＩの前記第一セットに対し冗長さ低減を実行するステップは、
ＰＯＩの前記第一セットから第一ＰＯＩ及び第二ＰＯＩを読み出すステップと、
前記第一ＰＯＩと前記第二ＰＯＩとの間の第一距離を計算するステップと、
前記第一ＰＯＩと前記第二ＰＯＩとの間の第二距離を計算するステップと、
前記第一距離と前記第二距離とに基づいて、前記第一ＰＯＩと前記第二ＰＯＩとが同一の地理的エンティティを示しているかどうかを判断するステップと、
第一ＰＯＩと前記第二ＰＯＩとが同一の地理的エンティティを示していると判断される場合、前記第一ストレージデバイス中の前記第一ＰＯＩと前記第二ＰＯＩとを併合するために、第九信号を前記第一ストレージデバイスへ送信するステップと、
を含む、請求項８に記載の方法。
【請求項１０】
前記第一距離と前記第二距離とに基づいて、前記第一ＰＯＩと前記第二ＰＯＩとが同一の地理的エンティティを示しているかどうかを判断するステップは、
前記第二距離の値が０〜１の間になるように、前記第二距離を正規化するステップと、
前記第一距離が第三閾値以下で、且つ正規化第二距離が第四閾値以下のとき、前記第一ＰＯＩと前記第二ＰＯＩとは前記同一の地理的エンティティを示していると判断するステップと、
をさらに含む、請求項９に記載の方法。
【請求項１１】
ユーザに個人別コンテンツを推奨するためのシステムであって、前記システムは、
バスと、
前記バスと電子的に接続され、命令のセットを含むストレージ媒体と、
前記バスを介して前記ストレージ媒体と通信しているロジック回路と、
を含み、前記ロジック回路は、前記命令のセットを実行する際に、前記システムに、
所定の期間内に、ユーザに関連付けられる１つ以上の過去のオーダーを含む第一電子信号を第一ストレージデバイスから取得させ、
前記１つ以上の過去のオーダーに基づいて、前記ユーザに関連付けられるポイントオブインタレスト（ＰＯＩ）の第一セットを前記第一ストレージデバイスから読み出させ、
前記ユーザに関連付けられるＰＯＩの前記第一セットを含む第二電子信号を前記第一ストレージデバイスへ送らせ、ＰＯＩの前記第一セットは前記第一ストレージデバイスに保存され、
第二ストレージデバイスにアクセスして前記第二ストレージデバイスに格納されているＰＯＩの第二セットを読み出すために、第三電子信号を前記第二ストレージデバイスへ送信させ、
前記第一ストレージデバイス中に格納されたＰＯＩのセットの各ＰＯＩと前記第二ストレージデバイス中に格納された対応するＰＯＩとの間の地理的距離を計算することにより、ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて、前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新させ、
ユーザ装置の第三ストレージデバイスにアクセスして、前記ユーザ装置の測位機能によって突き止められた前記ユーザの位置情報を読み出すために、第四電子信号を前記ユーザ装置へ送信させ、
前記更新されたＰＯＩの第一セット及び前記ユーザの前記位置情報に基づいて、１つ以上の個人別コンテンツ項目を決定させ、
前記ユーザ装置に表示されるべき前記１つ以上の個人別コンテンツ項目を含む第五電子信号を前記ユーザ装置へ送信させる、
ように構成される、システム。
【請求項１２】
前記１つ以上の過去のオーダーは、前記ユーザに提供されるロケーションベースサービスに関連付けられる、請求項１１に記載のシステム。
【請求項１３】
前記第二ストレージデバイスは、複数のユーザに提供されたロケーションベースサービスに関連付けられるリアルタイムのデータを格納する、請求項１１に記載のシステム。
【請求項１４】
ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するために、前記ロジック回路は、前記システムに、
前記１つ以上の過去のオーダー中のＰＯＩの前記第一セットの各々の存在の数を計算させ、
各々が前記第二ストレージデバイス中に存在する対応ＰＯＩと、前記１つ以上の過去のオーダー中に存在するＰＯＩの第三セットを識別させ、
前記第一ストレージデバイス中に存在するＰＯＩの前記第三セットの各々と、前記第二ストレージデバイス中に存在する前記対応ＰＯＩとの間の地理的距離を計算させる、
ようさらに構成される、請求項１１に記載のシステム。
【請求項１５】
ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するために、前記ロジック回路は、前記システムに、
前記第一ストレージデバイス中に存在するＰＯＩの前記第三セットの１つと前記第二ストレージデバイス中に存在する前記対応ＰＯＩとの間の前記地理的距離が第一閾値より小さく、且つ前記１つ以上の過去のオーダー中に存在するＰＯＩの前記第三セットの前記１つの存在の数が第二閾値よりも大きいとき、前記第一ストレージデバイス中に存在するＰＯＩの前記第三セットの前記１つを前記第二ストレージデバイス中に存在する前記対応ＰＯＩによって更新するために、第六信号を前記第一ストレージデバイスへ送信させる、
ようさらに構成される、請求項１４に記載のシステム。
【請求項１６】
ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するために、前記ロジック回路は、前記システムに、
前記第一ストレージデバイス中に存在するＰＯＩの前記第三セットの１つと前記第二ストレージデバイス中に存在する前記対応ＰＯＩとの間の前記地理的距離が前記第一閾値より小さく、且つ前記１つ以上の過去のオーダー中に存在するＰＯＩの前記第三セットの前記１つの存在の数が前記第二閾値よりも小さいとき、前記第一ストレージデバイスから、ＰＯＩの前記第三セットの前記１つを削除するために、第七信号を前記第一ストレージデバイスへ送信させる、
ようにさらに命令される、請求項１５に記載のシステム。
【請求項１７】
ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するために、前記ロジック回路は、前記システムに、
前記１つ以上の過去のオーダーと前記第二ストレージデバイスとの両方中に存在するＰＯＩがないと判断された場合であって、前記１つ以上の過去のオーダー中のＰＯＩの前記第一セットの１つの存在の数が前記第二閾値よりも小さいとき、前記第一ストレージデバイスから、ＰＯＩの前記第一セットの前記１つを削除するために、第八信号を前記第一ストレージデバイスへ送信させる、
ようにさらに構成される、請求項１６に記載のシステム。
【請求項１８】
前記ロジック回路は、前記システムに、ＰＯＩの前記第一セットに対し冗長さ低減を実行させるようさらに構成される、請求項１１に記載のシステム。
【請求項１９】
ＰＯＩの前記第一セットに対し冗長さ低減を実行するために、前記ロジック回路は、前記システムに、
ＰＯＩの前記第一セットから第一ＰＯＩ及び第二ＰＯＩを読み出させ、
前記第一ＰＯＩと前記第二ＰＯＩとの間の第一距離を計算させ、
前記第一ＰＯＩと前記第二ＰＯＩとの間の第二距離を計算させ、
前記第一距離と前記第二距離とに基づいて、前記第一ＰＯＩと前記第二ＰＯＩとが同一の地理的エンティティを示しているかどうかを判断させ、
第一ＰＯＩと前記第二ＰＯＩとが前記同一の地理的エンティティを示していると判断される場合、前記第一ストレージデバイス中の前記第一ＰＯＩと前記第二ＰＯＩとを併合するために、第九信号を前記第一ストレージデバイスへ送信させる、
ようさらに構成される、請求項１８に記載のシステム。
【請求項２０】
非一時的コンピュータ可読媒体であって、コンピューティング装置に、
ロジック回路によって、所定の期間内に、ユーザに関連付けられる１つ以上の過去のオーダーを含む第一電子信号を第一ストレージデバイスから取得するステップと、
前記ロジック回路によって、前記１つ以上の過去のオーダーに基づいて、前記ユーザに関連付けられるポイントオブインタレスト（ＰＯＩ）の第一セットを前記第一ストレージデバイスから読み出すステップと、
前記ロジック回路によって、前記ユーザに関連付けられるＰＯＩの前記第一セットを含む第二電子信号を前記第一ストレージデバイスへ送るステップであって、ＰＯＩの前記第一セットは前記第一ストレージデバイスに保存される、送るステップと、
前記ロジック回路によって、第二ストレージデバイスにアクセスして前記第二ストレージデバイスに格納されているＰＯＩの第二セットを読み出すために、第三電子信号を前記第二ストレージデバイスへ送信するステップと、
前記ロジック回路によって、前記第一ストレージデバイス中に格納されたＰＯＩのセットの各ＰＯＩと前記第二ストレージデバイス中に格納された対応するＰＯＩとの間の地理的距離を計算することにより、ＰＯＩの前記第二セット及び前記１つ以上の過去のオーダーに基づいて、前記第一ストレージデバイス中のＰＯＩの前記第一セットを更新するステップと、
前記ロジック回路によって、ユーザ装置の第三ストレージデバイスにアクセスして、前記ユーザ装置の測位機能によって突き止められた前記ユーザの位置情報を読み出すために、第四電子信号を前記ユーザ装置へ送信するステップと、
前記ロジック回路によって、更新されたＰＯＩの前記第一セット及び前記ユーザの前記位置情報に基づいて、１つ以上の個人別コンテンツ項目を決定するステップと、
前記ロジック回路によって、前記ユーザ装置に表示されるべき前記１つ以上の個人別コンテンツ項目を含む第五電子信号を前記ユーザ装置へ送信するステップと、
を実行させるように構成される命令を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１６年５月１０日に出願された中国特許出願第２０１６１０３０９３３７．Ｘ号、２０１６年５月２５日に出願された中国特許出願第２０１６１０３５６４０４．３号の優先権を主張し、これらの各々の全内容は、参照することによって本出願に組み込まれる。
【０００２】
技術分野
本出願は、一般に、エンドユーザにロケーションベースサービスを提供するシステム及び方法に関する。具体的には、本開示は、ポイントオブインタレスト（ＰＯＩ：ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ）のデータベースを更新し、更新されたＰＯＩのデータベースに基づいてエンドユーザに個人別コンテンツを推奨するシステム及び方法に関する。
【背景技術】
【０００３】
ビッグデータ及び携帯インターネットアプローチの時代であり、サービスプロバイダは、ユーザの位置に基づき、ユーザ装置（ＵＥ：ｕｓｅｒ  ｅｑｕｉｐｍｅｎｔ）に提示して、ユーザに個人別コンテンツを推薦することが可能である。この個人別コンテンツは、ユーザ及び／又はそのＵＥに関連付けられる過去のデータにさらに基づいて生成される。既存のロケーションベースサービスは、ロケーションの参照としてポイントオブインタレスト（ＰＯＩ）の情報を使用する。しかしながら、ＰＯＩの情報中の矛盾が、推奨されたコンテンツ項目とユーザの嗜好又は意図との間のミスマッチにつながることがある。また、ＰＯＩの情報中の冗長さが、コンテンツの検索と推奨の効率の低下をもたらすことがある。しかして、もっと効率的で正確なコンテンツ推奨を達成するために、ＰＯＩの情報中の矛盾を改善し、ＰＯＩの情報内の冗長さを低減することが望まれていよう。
【発明の概要】
【０００４】
本開示の第一態様において、システムが提供される。本システムは、少なくとも１つのプロセッサと、対象車両のモニタリングのための命令の第一セットを格納するコンピュータ可読のストレージ媒体とを含む。この命令の第一セットを実行するとき、少なくとも１つのプロセッサは、所定の期間内にユーザに関連付けられる１つ以上の過去のオーダーを取得し、これら１つ以上の過去のオーダーに基づいて、ユーザに関連付けられるポイントオブインタレスト（ＰＯＩ）の第一セットを読み出し、該ユーザに関連付けられるＰＯＩの第一セットを第一データベース中に格納し、第二データベースからＰＯＩの第二セットを読み出し、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて、第一データベース中のＰＯＩの第一セットを更新し、ユーザ装置からユーザの位置情報を受信し、更新されたＰＯＩの第一セット及びユーザの位置情報に基づいて、１つ以上の個人別コンテンツ項目を決定し、ユーザ装置に表示するため、これら１つ以上の個人別コンテンツ項目を送信する、ように命令される。
【０００５】
上記で提供されるシステムにおいて、該１つ以上の過去のオーダーは、ユーザに提供されるロケーションベースサービスに関連付けることができ、第二データベースは、複数のユーザに提供されたロケーションベースサービスに関連付けられたリアルタイムのデータを格納する。
【０００６】
さらに、上記で提供されるシステムでは、ＰＯＩの第一セット及びＰＯＩの第二セットの各ＰＯＩは、各ＰＯＩに関連付けられた経度及び緯度情報を含む。
【０００７】
さらに、上記で提供されるシステムでは、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて第一データベース中のＰＯＩの第一セットを更新するために、該少なくとも１つのプロセッサは、１つ以上の過去のオーダー中のＰＯＩの第一セットの各々の存在の数を計算し、各々が第二データベース中に存在する対応ＰＯＩを有する、１つ以上の過去のオーダー中に存在するＰＯＩの第三セットを識別し、第一データベース中に存在するＰＯＩの第三セットの各々と、第二データベース中に存在する対応ＰＯＩとの間の地理的距離を計算する、ようさらに命令される。
【０００８】
さらに、上記で提供されるシステムでは、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて第一データベース中のＰＯＩの第一セットを更新するために、該少なくとも１つのプロセッサは、第一データベース中に存在するＰＯＩの第三セットの１つと第二データベース中に存在する対応ＰＯＩとの間の地理的距離が第一閾値より小さく、且つ１つ以上の過去のオーダー中に存在するＰＯＩの第三セットの該１つの存在の数が第二閾値よりも大きいとき、第一データベース中に存在するＰＯＩの第三セットの該１つを、第二データベース中に存在する対応ＰＯＩによって更新する、ようさらに命令される。
【０００９】
さらに、上記で提供されるシステムでは、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて第一データベース中のＰＯＩの第一セットを更新するために、該少なくとも１つのプロセッサは、第一データベース中に存在するＰＯＩの第三セットの１つと第二データベース中に存在する対応ＰＯＩとの間の地理的距離が第一閾値より小さく、且つ１つ以上の過去のオーダー中に存在するＰＯＩの第三セットの該１つの存在の数が第二閾値よりも小さいとき、第一データベースから、ＰＯＩの第三セットのその１つを削除する、ようにさらに命令される。
【００１０】
さらに、上記で提供されるシステムでは、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて第一データベース中のＰＯＩの第一セットを更新するために、該少なくとも１つのプロセッサは、１つ以上の過去のオーダーと第二データベースとの両方中に存在するＰＯＩがないと判断された場合であって、１つ以上の過去のオーダー中のＰＯＩの第一セットの１つの存在の数が第二閾値よりも小さいとき、第一データベースから、ＰＯＩの第一セットのその１つを削除するように、さらに命令される。
【００１１】
さらに、上記で提供されるシステムにおいて、該少なくとも１つのプロセッサは、ＰＯＩの第一セットに対し冗長さ低減を実行するようさらに命令される。
【００１２】
さらに、上記で提供されるシステムにおいて、ＰＯＩの第一セットに対し冗長さ低減を実行するステップは、ＰＯＩの第一セットから第一ＰＯＩ及び第二ＰＯＩを読み出すステップと、第一ＰＯＩと第二ＰＯＩとの間の第一距離を計算するステップと、第一ＰＯＩと第二ＰＯＩとの間の第二距離を計算するステップと、第一距離と第二距離とに基づいて、第一ＰＯＩと第二ＰＯＩとが同一の地理的エンティティを示しているかどうかを判断するステップと、第一ＰＯＩと第二ＰＯＩとが同一の地理的エンティティを示していると判断される場合、第一データベース中の第一ＰＯＩと第二ＰＯＩとを併合するステップと、をさらに含む。
【００１３】
さらに、上記で提供されるシステムでは、ＰＯＩの第一セットに対し冗長さ低減を実行するステップは、第二距離の値が０〜１の間になるように第二距離を正規化するステップを含む。
【００１４】
さらに、上記で提供されるシステムでは、第一距離と第二距離とに基づいて、第一ＰＯＩと第二ＰＯＩとが同一の地理的エンティティを示しているかどうかを判断するために、該少なくとも１つのプロセッサは、第一距離が第三閾値以下で、且つ正規化第二距離が第四閾値以下のとき、第一ＰＯＩと第二ＰＯＩとは同一の地理的エンティティを示していると判断するようさらに命令される。
【００１５】
本開示の第二態様において、方法が提供される。本方法は、データベース中のＰＯＩのセットを更新し、ユーザ／ユーザ装置に対し個人別コンテンツを推奨する方法に関する。本方法は、所定の期間内に、ユーザに関連付けられる１つ以上の過去のオーダーを取得するステップと、これら１つ以上の過去のオーダーに基づいて、ユーザに関連付けられるポイントオブインタレスト（ＰＯＩ）の第一セットを読み出すステップと、ユーザに関連付けられるＰＯＩの第一セットを第一データベースに格納するステップと、第二データベースからＰＯＩの第二セットを読み出すステップと、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて、第一データベース中のＰＯＩの第一セットを更新するステップと、ユーザ装置からユーザの位置情報を受信するステップと、更新されたＰＯＩの第一セット及びユーザの位置情報に基づいて、１つ以上の個人別コンテンツ項目を決定するステップと、ユーザ装置に表示するため、これら１つ以上のコンテンツ項目を送信するステップと、を含む。
【００１６】
上記で提供される方法において、該１つ以上の過去のオーダーは、ユーザに提供されるロケーションベースサービスに関連付けることができ、第二データベースは、複数のユーザに提供されたロケーションベースサービスに関連付けられたリアルタイムのデータを格納する。
【００１７】
さらに、上記で提供される方法では、ＰＯＩの第一セット及びＰＯＩの第二セットの各ＰＯＩは、各ＰＯＩに関連付けられた経度及び緯度情報を含む。
【００１８】
さらに、上記で提供される方法では、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて第一データベース中のＰＯＩの第一セットを更新するために、少なくとも１つのプロセッサは、１つ以上の過去のオーダー中のＰＯＩの第一セットの各々の存在の数を計算し、各々が第二データベース中に存在する対応ＰＯＩを有する、１つ以上の過去のオーダー中に存在するＰＯＩの第三セットを識別し、第一データベース中に存在するＰＯＩの第三セットの各々と第二データベース中に存在する対応ＰＯＩとの間の地理的距離を計算するよう、さらに命令される。
【００１９】
さらに、上記で提供される方法では、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて第一データベース中のＰＯＩの第一セットを更新するために、該少なくとも１つのプロセッサは、第一データベース中に存在するＰＯＩの第三セットの１つと第二データベース中に存在する対応ＰＯＩとの間の地理的距離が第一閾値より小さく、且つ１つ以上の過去のオーダー中に存在するＰＯＩの第三セットの１つの存在の数が第二閾値よりも大きいとき、第一データベース中に存在するＰＯＩの第三セットの該１つを第二データベース中に存在する対応ＰＯＩによって更新するよう、さらに命令される。
【００２０】
さらに、上記で提供される方法では、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて第一データベース中のＰＯＩの第一セットを更新するために、該少なくとも１つのプロセッサは、第一データベース中に存在するＰＯＩの第三セットの１つと第二データベース中に存在する対応ＰＯＩとの間の地理的距離が第一閾値より小さく、且つ１つ以上の過去のオーダー中に存在するＰＯＩの第三セットの１つの存在の数が第二閾値よりも小さいとき、第一データベースから、ＰＯＩの第三セットの該１つを削除するように、さらに命令される。
【００２１】
さらに、上記で提供される方法では、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて第一データベース中のＰＯＩの第一セットを更新するために、該少なくとも１つのプロセッサは、該１つ以上の過去のオーダー及び第二データベースの両方中に存在するＰＯＩがないと判断された場合であって、且つ１つ以上の過去のオーダー中のＰＯＩの第一セットの１つの存在の数が第二閾値よりも小さいとき、第一データベースからＰＯＩの第一セットのその１つを削除するように、さらに命令される。
【００２２】
さらに、上記で提供される方法では、該少なくとも１つのプロセッサは、ＰＯＩの第一セットに対し冗長さ低減を実行するようさらに命令される。
【００２３】
さらに、上記で提供される方法では、ＰＯＩの第一セットに対し冗長さ低減を実行するステップは、ＰＯＩの第一セットから第一ＰＯＩ及び第二ＰＯＩを読み出すステップと、第一ＰＯＩと第二ＰＯＩとの間の第一距離を計算するステップと、第一ＰＯＩと第二ＰＯＩとの間の第二距離を計算するステップと、第一距離と第二距離とに基づいて、第一ＰＯＩと第二ＰＯＩとが同一の地理的エンティティを示しているかどうかを判断するステップと、第一ＰＯＩと第二ＰＯＩとが同一の地理的エンティティを示していると判断される場合、第一データベース中の第一ＰＯＩと第二ＰＯＩとを併合するステップと、をさらに含む。
【００２４】
さらに、上記で提供される方法では、ＰＯＩの第一セットに対し冗長さ低減を実行するステップは、第二距離の値が０〜１の間になるように第二距離を正規化するステップをさらに含む。
【００２５】
さらに、上記で提供される方法では、第一距離と第二距離とに基づいて、第一ＰＯＩと第二ＰＯＩとが同一の地理的エンティティを示しているかどうかを判断するために、該少なくとも１つのプロセッサは、第一距離が第三閾値以下で、且つ正規化第二距離が第四閾値以下のとき、第一ＰＯＩと第二ＰＯＩとは同一の地理的エンティティを示していると判断するようさらに命令される。
【００２６】
本開示の第三態様において、非一時的機械可読媒体が提供される。本非一時的機械可読媒体は、データベース中のＰＯＩのセットを更新し、ユーザ／ユーザ装置に対し個人別コンテンツを推奨することに関する。本非一時的機械可読媒体は、ユーザに個人別コンテンツを推奨するため該媒体上に記録された情報を含み、この情報は、機械に読み取られるとその機械に、所定の期間内にユーザに関連付けられる１つ以上の過去のオーダーを取得するステップと、これら１つ以上の過去のオーダーに基づいて、ユーザに関連付けられるポイントオブインタレスト（ＰＯＩ）の第一セットを読み出すステップと、ユーザに関連付けられるＰＯＩの第一セットを第一データベースに格納するステップと、第二データベースからＰＯＩの第二セットを読み出すステップと、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて、第一データベース中のＰＯＩの第一セットを更新するステップと、ユーザ装置からユーザの位置情報を受信するステップと、更新されたＰＯＩの第一セット及びユーザの位置情報に基づいて、１つ以上の個人別コンテンツ項目を決定するステップと、ユーザ装置に表示するため、これら１つ以上の個人別コンテンツ項目を送信するステップと、を実行させる。
【００２７】
さらなる特徴は、部分的には以下の説明において述べられることになり、部分的には後記及び添付の図面を検証することにより当業者には明白となろう、又は例の産物又はオペレーションから習得することができよう。本開示の特徴は、以下に説明する詳細な例で述べる方法、手段、及び組み合せの様々な態様の実践又は使用によって認識し、習得することができよう。
【００２８】
本明細書に記述する方法、システム、及びプログラミングは、例示的な実施形態に関連付けてさらに説明される。これらの例示的な実施形態は、図面を参照しながら詳細に述べられる。これらの実施形態は、非限定の例示的な実施形態であり、これらの中の同じ参照符号は、いくつかの図面全体を通して類似の構造体を表す。
【図面の簡単な説明】
【００２９】
【図１】本開示のいくつかの実施形態による、例示的なロケーションベースサービス提供システムのブロック図である。
【図２】本開示のいくつかの実施形態による、例示的な個人別コンテンツ推奨エンジンを示すブロック図である。
【図３】本開示のいくつかの実施形態による、ユーザ／ユーザ装置に対して個人別コンテンツ項目を推奨するための例示的な方法及び／又はプロセスのフローチャートである。
【図４】本開示のいくつかの実施形態による、例示的なポイントオブインタレスト（ＰＯＩ）解析モジュールを示すブロック図である。
【図５】本開示のいくつかの実施形態による、第二データベースに格納されたリアルタイムＰＯＩ情報に基づいて第一データベース中のＰＯＩを更新するための例示的な方法及び／又はプロセスのフローチャートである。
【図６】本開示のいくつかの他の実施形態による、該第二データベースに格納されたリアルタイムＰＯＩ情報に基づいて該第一データベース中のＰＯＩを更新するための例示的な方法及び／又はプロセスのフローチャートである。
【図７】本開示のいくつかの実施形態による、例示的な冗長さ低減エンジンを表すブロック図である。
【図８】本開示のいくつかの実施形態による、第一データベース中のＰＯＩの冗長さを低減するための例示的な方法及び／又はプロセスのフローチャートである。
【図９Ａ】本開示のいくつかの実施形態による、エンドユーザにロケーションベースサービスを提供する例示的なネットワーク環境である。
【図９Ｂ】本開示のいくつかの他の実施形態による、エンドユーザにロケーションベースサービスを提供する例示的なネットワーク環境である。
【図１０】本開示の実装が可能な携帯デバイスのアーキテクチャを表す。
【図１１】本開示のいくつかの実施形態による、個人別コンテンツ推奨エンジン、ユーザ装置、及び／又はプロバイダ端末が実装可能な、コンピューティングデバイスの例示的なハードウェア及びソフトウェアコンポーネントを示す概略図である。
【発明を実施するための形態】
【００３０】
以降の詳細な説明において、関連する教示の徹底した理解を提供するために、例示を目的として数々の具体的な細部が述べられる。但し、当業者には当然のことながら、本開示はかかる細部がなくても実践することが可能である。他の例では、本開示の態様を不必要にあいまいにするのを避けるために、周知の方法、手順、システム、コンポーネント、及び／又は回路は、細部なしに比較的にハイレベルで説明されている。
【００３１】
本開示では、エンドユーザにロケーションベースサービス（ＬＢＳ：ｌｏｃａｔｉｏｎ  ｂａｓｅｄ  ｓｅｒｖｉｃｅ）を提供するための方法及びシステムを説明する。具体的には、本開示は、ポイントオブインタレスト（ＰＯＩ）のデータベースを更新し、更新されたデータベースに基づいてエンドユーザに個人別コンテンツを推奨するシステム及び方法に関する。エンドユーザにロケーションベースサービスを提供するにあたり、ロケーションベースサービス提供システムは、対象ユーザに個人別コンテンツを推奨することができる。この推奨は、エンドユーザに固有の過去の（ヒストリカル）データ及び／又はポイントオブインタレストについての情報に基づくことが可能である。本開示は、推奨されたコンテンツと対象ユーザの嗜好及び／又は意図との合致が効率的に行えるように、ポイントオブインタレストの情報の中の矛盾を低減するために使用できるシステム及び方法に関する。本開示で開示されるシステム及び方法を用い、ＰＯＩのデータを様々なＰＯＩのデータベースの間に割り当てて、携帯性及び最新性への必要をバランスさせることができる。
【００３２】
本開示は、データベース中に格納されたＰＯＩデータが最新であるように、リアルタイムのＰＯＩ入力を用いて、個人別コンテンツ推奨のためのデータベースを更新する。しかして、本開示は、より正確にユーザの個人的ニーズに一致するコンテンツを、ユーザに推奨することができる。さらに、本開示は、ＰＯＩの名称の意味内容及びＰＯＩの地理的位置を解析することによって、データベース中のＰＯＩデータのストレージの冗長さを低減する。したがって、データベースのストレージ容量をもっと効率的に利用することが可能である。加えて、データベース中の複数のＰＯＩが１つのエントリに併合されるので、検索効率を向上できる。
【００３３】
エンドユーザにロケーションベースサービスを提供するための本システム及び方法は、タクシー及び／又はリムジン、市内特急配達システムなど、又はこれらの組み合せのために使用される車両ナビゲーションシステムを含め、各種のＬＢＳシステム（ロケーションは、以下に限らないが、陸地のロケーション、海上のロケーション、空中のロケーションなど、又はこれらの組み合せを含む）に用いることが可能である。当然のことながら、本明細書で開示されるシステム及び方法のこれらの代表的な応用例は、例示目的のために提示されたもので、本開示の範囲を限定することは意図されていない。本開示のシステム及び方法は、例えば、他のサービス提供システムなど、他の環境に応用することも可能である。
【００３４】
本開示のこれらの及び他の特徴ならびに特色、さらに、構造体の関連素子及び部品の組み合せのオペレーション及び機能の方法、ならびに製造上の経済性は、全てが本開示の部分を形成する添付の図面を参照しながら、以下の説明を考察することによりさらに明らかにできよう。但し当然のことながら、これらの図面は例示及び説明のためのものであり、本開示の範囲を限定することは意図されていない。当然ながらこれら図面は一定比率で縮尺されていない。
【００３５】
本開示で用いられるフローチャートは、本開示中のいくつかの実施形態に従ってシステムが実行するオペレーションを表す。当然のことながら、フローチャートのオペレーションは、順序の通りでなくても実行が可能である。それどころか、これらのオペレーションは逆の順序でも、又は同時にでも実行ができる。さらに、１つ以上の他のオペレーションをこれらフローチャートに追加することも可能である。１つ以上のオペレーションをフローチャートから除去することも可能である。
【００３６】
本開示では、サービスを要求する又はオーダーする個人を呼称するため、「ユーザ」、「エンドユーザ」、「要求者」、「サービス要求者」、及び「顧客」が互換的に使用される。また、サービスを提供、又はサービスの提供を促進することができる、個人、エンティティ、又はツールを呼称するため、「プロバイダ」、「サービスプロバイダ」、及び「供給者」が互換的に使用される。用語「当事者」は、サービスを要求する又はオーダーする個人、あるいはサービスを提供することができる個人又はエンティティを称し得る。本開示における用語「ユーザ装置」は、サービスを要求する、サービスをオーダーする、サービスの要求を促進する、サービスを提供する、又はサービスの提供を促進する、ために使用が可能なツールを称し得る。
【００３７】
本開示における用語「オーダー」及び「サービス要求」は、乗客、要求者、サービス要求者、顧客、運転者、プロバイダ、サービスプロバイダ、供給者など、又はこれらの組み合せによって開始が可能な要求を呼称するため、互換的に使用される。オーダーは、乗客、要求者、サービス要求者、顧客、運転者、プロバイダ、サービスプロバイダ、又は供給者のだれによっても受け取ることができる。オーダーは有料でも無料でもよい。
【００３８】
本開示の或る態様は、ポイントオブインタレスト（ＰＯＩ）のデータベースを更新し、更新されたＰＯＩのデータベースに基づいてエンドユーザに対する個人別コンテンツを推奨するためのシステム及び方法に関する。サービス提供システムは、過去のＰＯＩデータとリアルタイムＰＯＩデータとの比較に基づいてバックエンドデータベース中のＰＯＩの情報を更新することができる。過去のＰＯＩデータとリアルタイムＰＯＩデータとは相異なるデータベース中に格納すればよい。次いで、このサービス提供システムは、更新されたＰＯＩデータとユーザの位置とに基づいて当該ユーザに対する個人別コンテンツ項目を決定することができる。
【００３９】
図１は、本開示のいくつかの実施形態による、例示的なロケーションベースサービス提供システム１００のブロック図である。例えば、ロケーションベースサービス提供システム１００は、オンライン輸送サービス（ＯＴＳ：ｏｎｌｉｎｅ  ｔｒａｎｓｐｏｒｔａｔｉｏｎ  ｓｅｒｖｉｃｅ）のプラットフォームであってよい。ＯＴＳプラットフォームは、タクシー配車、運転サービス、小荷物車、相乗り、バスサービス、運転者ハイヤ、及びシャトルサービスなどの輸送サービスを提供することが可能である。ロケーションベースサービス提供システム１００は、ユーザ装置（ＵＥ）１０２、測位システム１０４、個人別コンテンツ推奨（ＰＣＲ：ｐｅｒｓｏｎａｌｉｚｅｄ  ｃｏｎｔｅｎｔ  ｒｅｃｏｍｍｅｎｄｉｎｇ）エンジン１０６、第一データベース１０８、第二データベース１１０、及び冗長さ低減エンジン１１２を含むことができる。個人別コンテンツ推奨エンジン１０６は、ＵＥ１０２を備えるユーザ１２０とのやり取りが可能である。
【００４０】
ＰＣＲエンジン１０６は、本開示で説明する１つ以上の機能を遂行するために、ユーザ１２０からのサービス要求に関連する情報及び／又はデータを処理することができる。別の例として、ＰＣＲエンジン１０６は、第一データベース１０８に格納されているポイントオブインタレスト（ＰＯＩ）情報を、第二データベース１１０に格納されているリアルタイムＰＯＩ情報に定期的に更新することが可能である。いくつかの実施形態において、ＰＣＲエンジン１０６は、１つ以上のプロセッサ（例えば、単一コア処理エンジン又はマルチコアプロセッサ）を含んでよい。単なる例示であるが、ＰＣＲエンジン１０６は、中央処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、特定用途向け命令セットプロセッサ（ＡＳＩＰ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ  ｐｒｏｃｅｓｓｏｒ）、グラフィックス処理ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、物理演算ユニット（ＰＰＵ：ｐｈｙｓｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、デジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、プログラマブル論理デバイス（ＰＬＤ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ（ＲＩＳＣ：ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ  ｃｏｍｐｕｔｅｒ）、マイクロプロセッサなど、又はこれらの任意の組み合せを含んでよい。
【００４１】
ＰＣＲエンジン１０６はユーザ１２０とやり取りすることができる。いくつかの実施形態において、ＰＣＲエンジン１０６は、ユーザ１２０との複数のトランザクションを処理することが可能である。例えば、ＰＣＲエンジン１０６は、第一データベース１０８から、ユーザ１２０に関連付けられた過去のオーダーを読み出すことができる。これら過去のオーダーは、複数のポイントオブインタレスト、及び／又は該複数のポイントオブインタレストの近辺で、ユーザ１２０によって発行された物品及び／又はサービスの１つ以上のオーダーを包含してよい。ＰＣＲエンジン１０６は、所定の期間内に、これら過去のオーダーを読み出すことが可能である。別の例として、ＰＣＲエンジン１０６は、物品及び／又はサービスの特定のカテゴリに関連付けられた過去のオーダーを選択的に読み出すことができる。
【００４２】
ＰＣＲエンジン１０６は、ユーザ装置１０２を介してユーザ１２０とやり取りが可能である。いくつかの実施形態において、ユーザ装置１０２は、携帯デバイス１０２−１、輸送システム中の組み込みデバイス１０２−２、ラップトップコンピュータ１０２−３、メインフレームコンピュータ１０２−４など、又はこれらの任意の組み合せを含んでよい。いくつかの実施形態において、携帯デバイス１０２−１は、ウェアラブルデバイス、スマート携帯デバイス、バーチャルリアリティデバイス、拡張リアリティデバイスなど、又はこれらの任意の組み合せを含んでよい。いくつかの実施形態において、ウェアラブルデバイスは、スマートブレスレット、スマート履物、スマートグラス、スマートヘルメット、スマートウォッチ、スマート衣類、スマートバックパック、スマートアクセサリなど、又はこれらの任意の組み合せを含んでよい。いくつかの実施形態において、スマート携帯デバイスは、スマートフォン、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｃｅ）、ゲームデバイス、ナビゲーションデバイス、ポイントオブセール（ＰＯＳ：ｐｏｉｎｔ  ｏｆ  ｓａｌｅ）デバイスなど、又はこれらの任意の組み合せを含んでよい。いくつかの実施形態において、バーチャルリアリティデバイス及び／又は拡張リアリティデバイスは、バーチャルリアリティヘルメット、バーチャルリアリティグラス、バーチャルリアリティパッチ、拡張現実ヘルメット、拡張現実グラス、拡張現実パッチなど、又はこれらの任意の組み合せを含んでよい。例えば、バーチャルリアリティデバイス及び／又は拡張現実デバイスは、グーグルグラス、オキュラスリフト、ホロレンズ、ギアＶＲなどを含んでよい。いくつかの実施形態において、輸送システム中の組み込みデバイス１０２−２は、車載コンピュータ（カーピュータ）、車載テレビジョンなどを含んでよい。この輸送システムとは、異なる場所の間で人間もしくは物体を輸送できる乗り物又はデバイスを称し得る。例えば、輸送システムの乗り物は、馬、馬車、人力者（例えば、一輪車、自転車、三輪車など）、自動車（例えば、タクシー、バス、列車、地下鉄、個人用自動車など）、列車、地下鉄、船舶、航空機（例えば、飛行機、ヘリコプタ、スペースシャトル、ロケット、熱気球など）等、又はこれらの任意の組み合せを含んでよい。
【００４３】
いくつかの実施形態において、ユーザ装置１０２は、ユーザ及び／又はユーザ装置１０２の位置を突き止めるための測位機能を備えて構成することが可能である。本開示において用いられる測位技術は、全地球測位システム（ＧＰＳ：ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）、全地球型衛星航法システム（ＧＬＯＮＡＳＳ：ｇｌｏｂａｌ  ｎａｖｉｇａｔｉｏｎ  ｓａｔｅｌｌｉｔｅ  ｓｙｓｔｅｍ）、コンパスナビゲーションシステム（ＣＯＭＰＡＳＳ：ｃｏｍｐａｓｓ  ｎａｖｉｇａｔｉｏｎ  ｓｙｓｔｅｍ）、ガリレオ測位システム、準天頂衛星システム（ＱＺＳＳ：ｑｕａｓｉ−ｚｅｎｉｔｈ  ｓａｔｅｌｌｉｔｅ  ｓｙｓｔｅｍ）、ワイヤレスフィディリティ（ＷｉＦｉ：ｗｉｒｅｌｅｓｓ  ｆｉｄｅｌｉｔｙ）測位技術など、又はこれらの任意の組み合せに基づくものとすればよい。本開示では、上記の測位システムの１つ以上を互換的に使用することができる。いくつかの実施形態において、ＵＥ１０２の測位機能は、測位システム１０４を使って設けることが可能である。例えば、この測位システム１０４は、衛星、無人航空機システム、ヘリコプタなど、又はこれらの任意の組み合せであってよい。測位システム１０４とユーザ／ユーザ装置１０２との間の通信は、ネットワーク（図示せず）を介して設けられてもよい。同様に、ロケーションベースサービス提供システム１００とユーザ／ユーザ装置との間の通信も同様な又は異なったネットワーク（図示せず）を介して設定されてもよい。
【００４４】
ネットワークは、情報及び／又はデータの交換を容易にすることができる。いくつかの実施形態において、ロケーションベースサービス提供システム１００中の１つ以上のコンポーネント（例えば、ＰＣＲエンジン１０６、ユーザ装置１０２、及び第一データベース１０８及び／又は第二データベース１１０）は、ネットワークを介して、ロケーションベースサービス提供システム１００の他のコンポーネントに情報及び／又はデータを送信することができる。例えば、ＰＣＲエンジン１０６は、ネットワークを介してユーザ装置１０２からのサービス要求を入手／取得することが可能である。いくつかの実施形態において、このネットワークは、有線又は無線ネットワークの任意の種類、又はそれらの組み合せであってよい。単なる例示であるが、このネットワーク１０２は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ：ｗｉｒｅｌｅｓｓ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、メトロポリタンエリアネットワーク（ＭＡＮ：ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、公衆電話交換ネットワーク（ＰＳＴＮ：ｐｕｂｌｉｃ  ｔｅｌｅｐｈｏｎｅ  ｓｗｉｔｃｈｅｄ  ｎｅｔｗｏｒｋ）、ブルートゥース（登録商標）ネットワーク、ＺｉｇＢｅｅネットワーク、近距離無線通信（ＮＦＣ：ｎｅａｒ  ｆｉｅｌｄ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）ネットワークなど、又はこれらの任意の組み合せであってよい。いくつかの実施形態において、ネットワークは、１つ以上のネットワークアクセスポイントを含み得る。例えば、ネットワークは、ロケーションベースサービス提供システム１００の１つ以上のコンポーネントが、データ及び／又は情報を交換するため、経由してネットワークに接続することが可能な、基地局及び／又はインターネット交換ポイントなどの有線又は無線ネットワークアクセスポイントを含み得る。
【００４５】
第一データベース１０８及び第二データベース１１０は、データ及び／又は命令を格納することができる。いくつかの実施形態において、第一データベース１０８及び／又は第二データベース１１０は、ユーザ装置１０２から得たデータを格納することが可能である。いくつかの実施形態において、第一データベース１０８及び／又は第二データベース１１０は、ＰＣＲエンジン１０６が、本開示中で説明された例示的な方法を遂行するために実行又は使用可能なデータ及び／又は命令を格納することができる。図示の実施形態によれば、第一データベース１０８は、過去のデータを格納するバックエンドデータベースであり得、第二データベース１１０は、リアルタイムデータを格納するフロントエンドデータベースであり得る。いくつかの実施形態において、第一データベース１０８及び／又は第二データベース１１０は、大量ストレージ、リムーバブルストレージ、揮発性読み出し及び書き込みメモリ、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）など、又はこれらの任意の組み合せであってよい。代表的な大量ストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含み得る。代表的なリムーバブルストレージは、フラッシュドライブ、フロッピディスク、光ディスク、メモリカード、ジップディスク、磁気テープなどを含み得る。代表的な揮発性読み出し及び書き込みメモリは、ランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）を含み得る。代表的なＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ＲＡＭ）、ダブルデータレートシンクロナスダイナミックＲＡＭ（ＤＤＲ  ＳＤＲＡＭ：ｄｏｕｂｌｅ  ｄａｔｅ  ｒａｔｅ  ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ＲＡＭ）、スターティックＲＡＭ（ＳＲＡＭ：ｓｔａｔｉｃ  ＲＡＭ）、サイリスタＲＡＭ（Ｔ−ＲＡＭ：ｔｈｙｒｉｓｔｏｒ  ＲＡＭ）、及びゼロキャパシタＲＡＭ（Ｚ−ＲＡＭ：ｚｅｒｏ−ｃａｐａｃｉｔｏｒ  ＲＡＭ）などを含み得る。代表的なＲＯＭは、マスクＲＯＭ（ＭＲＯＭ：ｍａｓｋ  ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ：ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、消去可能プログラマブルＲＯＭ（ＰＥＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ  ＲＯＭ）、及びデジタル多用途ディスクＲＯＭなどを含み得る。いくつかの実施形態において、第一データベース１０８及び／又は第二データベース１１０は、クラウドプラットフォーム上に実装することも可能である。単なる例示であるが、このクラウドプラットフォームは、プライベートクラウド、公衆クラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、又はこれらの任意の組み合せを含んでよい。
【００４６】
いくつかの実施形態において、第一データベース１０８及び／又は第二データベース１１０は、ネットワークに接続して、ロケーションベースサービス提供システム１００中の１つ以上のコンポーネント（例えば、ＰＣＲエンジン１０６、ユーザ装置１０２など）と通信することができる。ロケーションベースサービス提供システム１００中の１つ以上のコンポーネントは、ネットワークを介し、第一データベース１０８及び／又は第二データベース１１０中に格納されたデータ又は命令にアクセスすることが可能である。いくつかの実施形態において、第一データベース１０８及び／又は第二データベース１１０は、ロケーションベースサービス提供システム１００中の１つ以上のコンポーネント（例えば、ＰＣＲエンジン１０６、ユーザ装置１０２など）と直接接続又は通信することができる。いくつかの実施形態において、第一データベース１０８及び／又は第二データベース１１０は、ＰＣＲエンジン１０６の一部としてもよい。
【００４７】
冗長さ低減エンジン１１２は、本開示で説明された１つ以上の機能を実行するため、第一データベース１０８及び／又は第二データベース１１０に関連する情報及び／又はデータを処理することができる。一例として、冗長さ低減エンジン１１２は、第一データベース１０８中に格納されたＰＯＩの冗長さ状態をチェックするため、第一データベース１０８中に格納されたポイントオブインタレスト（ＰＯＩ）情報を走査することが可能である。別の例として、冗長さ低減エンジン１１２は、第一データベース１０８及び／又は第二データベース１１０中の冗長なＰＯＩエントリを取り除くために、定期的な冗長さ低減作業をスケジュールすることができる。いくつかの実施形態において、冗長さ低減エンジン１１２は、１つ以上のプロセッサ（例えば、シングルコア処理エンジン又はマルチコアプロセッサ）を含んでよい。単なる例示であるが、冗長さ低減エンジン１１２は、中央処理ユニット（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け命令セットプロセッサ（ＡＳＩＰ）、グラフィックス処理ユニット（ＧＰＵ）、物理演算ユニット（ＰＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理デバイス（ＰＬＤ）、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ（ＲＩＳＣ）、マイクロプロセッサなど、又はこれらの任意の組み合せを含んでよい。
【００４８】
図２は、本開示のいくつかの実施形態による、例示的な個人別コンテンツ推奨エンジン１０６を示すブロック図である。ＰＣＲエンジン１０６は、ポイントオブインタレスト（ＰＯＩ）解析モジュール２０２、ロケーション読み出しモジュール２０４、コンテンツ推奨モジュール２０６、及び送信モジュール２０８を含むことができる。
【００４９】
ポイントオブインタレスト（ＰＯＩ）解析モジュール２０２は、第一データベース１０８中に格納された１つ以上の過去のオーダーから、複数のポイントオブインタレストを含むデータを取得し解析することが可能である。一例において、解析された複数のポイントオブインタレストは、第一データベース１０８中に別個のデータエントリとして格納することができる。別の例として、解析された複数のポイントオブインタレストは、第一データベース１０８とは別のＰＯＩデータベース中に格納されてもよい。ＰＯＩは、建物又は道路に関連付けられる情報を含んでよい。例えば、ＰＯＩは、ショッピングモール、公園、学校、病院、ホテル、レストラン、スーパーマーケット、観光名所、境界標など、又はこれらの任意の組み合せを参照してもよい。ＰＯＩは、ＰＯＩの名称、ＰＯＩの位置、ＰＯＩの分類など、又はこれらの任意の組み合せをさらに含んでもよい。ＰＯＩの位置は、そのＰＯＩの経度及び緯度情報を含んでもよい。単なる例示であるが、ニューヨーク市において、ＰＯＩの名称はタイムズスクエアであってよく、ＰＯＩの位置はタイムズスクエアの経度と緯度との座標で表してよく、ＰＯＩの分類はエンタテインメントランドマークであってよい。
【００５０】
ＰＯＩデータベース又は第一データベース１０８は、様々なフォーマットでポイントオブインタレストのデータを格納することができる。例えば、ＰＯＩのデータを格納するために、ＡＳＣＩＩテキストフォーマット（例えば、．ｔｘｔ、．ａｓｃ、．ｃｓｖ又は．ｐｌｔなどの接尾辞を有するファイル）、トポグラフィックスＧＰＸフォーマット（例えば、．ｇｐｘの接尾辞を有するファイル）、及び／又はガーミンマップソースフォーマット（．ｇｄｂの接尾辞を有するファイル）を用いればよい。異なったフォーマットを使ったＰＯＩのデータエントリは、それらを使用する前に共通のフォーマットに変換する必要があり得る。
【００５１】
第一データベース１０８及び第二データベース１１０中のＰＯＩに関連付けられるデータエントリは、相異なるときに、相異なるユーザによって生成されており、冗長さを有し得る。例えば、過去のオーダーからの或るＰＯＩＰ１が、他の過去のオーダーからの別のＰＯＩＰ２と同じ名称又は称号を有するが、別のＰＯＩＰ２とは異なる位置を有することがある。別の例において、過去のオーダーからのＰＯＩＰ１が、別のＰＯＩＰ２と同じ位置を有するが、別のＰＯＩＰ２とは異なる名称又は称号を有することがある。
【００５２】
いくつかの実施形態において、ＰＯＩ解析モジュール２０２は、ＰＯＩの第一セットと標準化されたＰＯＩの第二セットとの間の比較に基づいて、ＰＯＩの第一セットを更新することができる。例えば、ＰＯＩ解析モジュール２０２は、ＰＯＩの第一セット中の、相異なる名称／称号を有するが同じ位置を対象としている１つ以上のＰＯＩを識別することが可能である。ＰＯＩ解析モジュール２０２は、同じ位置を対象とするこれら１つ以上のＰＯＩの名称／称号を統一することができる。ＰＯＩの第一セットは、ＰＯＩのデータベース、例えば第一データベース１０８からのものであり得る。標準化されたＰＯＩの第二セットは、異なるＰＯＩのデータベース、例えば、第二データベース１１０からのものであり得る。
【００５３】
いくつかの実施形態において、ＰＣＲエンジン１０６によって処理されるＰＯＩ情報は、例えば、ブロック、市、地区、郡など、又はこれらの任意の組み合せなど、地理的地域内であってよい。ＰＯＩ情報は、人手による収集、パッケージのアップロード、ストリートビューの収集、衛星データの収集など、又はこれらの任意の組み合せで取得すればよい。いくつかの実施形態において、ＰＣＲエンジン１０６は、端末（例えば、ユーザ装置１０２など）のフィードバック情報に基づいてＰＯＩ情報を更新することが可能である。
【００５４】
ロケーション読み出しモジュール２０４は、ユーザが携行しているユーザ装置を介してユーザの位置を検知することができる。いくつかの実施形態において、ユーザの位置は、経度及び緯度の座標で表せばよい。いくつかの実施形態では、ユーザの位置を所番地又は標識としてもよい。例えば、ブロック、ストリート、街路、大通り、地区、市、国など、又はこれらの任意の組み合せなど。
【００５５】
コンテンツ推奨モジュール２０６は、ユーザに推奨するためのコンテンツを検索することができる。コンテンツ推奨モジュール２０６は、ユーザの位置及びユーザに関連付けられる過去のオーダーに基づいて、推奨するためのコンテンツを決めることが可能である。いくつかの実施形態において、ユーザは、コンテンツ推奨モジュール２０６によって推奨された１つ以上のコンテンツ項目についてインターフェースを介してやり取りすることができる。別の例として、ユーザは、ＷｅＣｈａｔ、ＭａｐＱｕｅｓｔなど、インターネット携帯アプリケーションのインターフェースを介して、特定の種類のコンテンツを推奨するように、コンテンツ推奨モジュール２０６を事前設定することができる。
【００５６】
送信モジュール２０８は、コンテンツ推奨モジュール２０６によって検索されたコンテンツをユーザに送信することが可能である。この送信は無線でも有線でも成し遂げることができる。送信対象のコンテンツは、音声ファイル、映像ファイル、ウェブページ、ウェブページへのリンク、実行可能ファイル、アプリ、ミニプログラム、テキストファイルなど、又はこれらの任意の組み合せであってよい。
【００５７】
ＰＣＲエンジン１０６中のモジュールは、有線接続又は無線接続を介し、相互に接続されるか又は通信することが可能である。この有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、又はこれらの任意の組み合せを含んでよい。この無線接続は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、ブルートゥース、ＺｉｇＢｅｅ、近距離無線通信（ＮＦＣ）など、又はこれらの任意の組み合せを含んでよい。これらモジュールの２つ以上を単一のモジュールに組み合せることが可能で、モジュールのどの１つも２つ以上のユニットに分割することが可能である。例えば、送信モジュール２０８をコンテンツ推奨モジュール２０６に統合し、推奨対象コンテンツを決定することと、その推奨コンテンツをユーザに送信することと、の両方ができる単一のモジュールとすることが可能である。
【００５８】
図３は、本開示のいくつかの実施形態による、個人別コンテンツ項目をユーザ／ユーザ装置に推奨するための例示的な方法及び／又はプロセスのフローチャートである。本プロセス及び／又は方法は、ロケーションベースサービス提供システム１００の、オンライン輸送サービスプラットフォームのコンピュータサーバ（例えばＰＣＲエンジン１０６）によって作動することが可能である。例えば、本方法及び／又はプロセスは、命令のセットとして実装され、オンライン輸送サービスプラットフォームの少なくとも１つのストレージ媒体に格納されてよい。このプラットフォームのコンピュータサーバの少なくとも１つのプロセッサは、該ストレージ媒体と通信し、以下のステップを実施するため、当該命令のセットを実行することが可能である。
【００５９】
いくつかの実施形態において、ロケーションベースサービス提供システム１００などのオンライン輸送サービスプラットフォームを介して、一人以上のユーザがオンライン輸送サービスを予約及び／又は入手することができ、他方で、このオンライン輸送サービスプラットフォームを介して、一人以上の運転者が輸送サービスを提供することができる。ユーザ（達）は、ユーザ装置（例えばユーザ装置１０２−１）を介してオンライン輸送サービスプラットフォームにアクセスすればよい。このユーザ装置は、携帯端末又はパソコン（ＰＣ：ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）とすることができる。該ユーザ装置は、スマートフォン、携帯情報端末（ＰＤＡ）、タブレットコンピュータ、ラップトップ、カーピュータ（車載コンピュータ）、プレイステーションポータブル（ＰＳＰ：ｐｌａｙ  ｓｔａｔｉｏｎ  ｐｏｒｔａｂｌｅ）、スマートグラス、スマートウォッチ、ウェアラブルデバイス、バーチャルディスプレイデバイス、表示拡張装置（例えば、グーグルグラス、オキュラスリフト、ホロレンズ、ギアＶＲ）など、又はこれらの任意の組み合せを含んでよい。
【００６０】
ステップ３０１で、ロケーションベースサービス提供システムは、第一データベースから１つ以上の過去のオーダーに関連付けられるポイントオブインタレスト（ＰＯＩ）の第一セット、及び第二データベースからＰＯＩの第二セットを読み出すことができる。これら過去のオーダーは、１以上のユーザ装置及び／又はユーザに関連付けることが可能である。これら過去のオーダーとは、ロケーションベースサービス提供システムが推奨コンテンツをユーザ装置及び／又はユーザに送信する以前に、ユーザ及び／又は１つ以上のユーザ装置によって発行された物品及び／又はサービスの１つ以上のオーダーを称し得る。いくつかの実施形態において、過去のオーダーは、所定の期間から選択することができる。例えば、これら過去のオーダーは、１週間、１月、２月、１年などの期間内、又はこれらの任意の組み合せから選択されてよい。いくつかの実施形態において、過去のオーダーを標識し、これら過去のオーダーに関連付けられたＰＯＩの第一セットを該標識によって分類することが可能である。ロケーションベースサービス提供システムは、ＰＯＩの第一セットの分類及び／又は過去のオーダーの標識に従って、過去のオーダーに関連付けられたＰＯＩの第一セットを読み出すことができる。例えば、過去のオーダーは、ユーザ（達）の性別によって標識してもよい。女性の性別を有する過去のオーダーに関連付けられたＰＯＩの第一セットは、「託児施設あり」と「託児施設なし」とのクラスに分類されてよい。ロケーションベースサービス提供システムは、ユーザ（達）の性別が女性の場合、クラス「託児施設あり」のＰＯＩの第一セットを読み出すことが可能である。
【００６１】
このＰＯＩの第一セットは、さらなる処理のため１つ以上の第一データベースの中に格納することが可能である。いくつかの実施形態において、これら第一データベースは携帯データベースであってよい。第一データベース中に格納されるＰＯＩは様々なフォーマットでよく、ＰＯＩデータの最新性及び／又はサイズに関しては厳しくなくてもよい。例えば、この第一データベースはリアルタイムで更新しなくてもよい。過去のオーダーに関連付けられたＰＯＩは、名称、フォーマット、位置、分類など、又はこれらの任意の組み合せに関し一貫性がなくてもよい。
【００６２】
他方、ロケーションベースサービス提供システムによって、第二データベースから読み出されたＰＯＩの第二セットは、名称、フォーマット、位置、分類など、又はこれらの任意の組み合せに関し一貫性があるようにすることができる。例えば、第二データベース中には、２つのＰＯＩの間の距離が所定の閾値より小さく近似しているのに、別の名称の２つのＰＯＩがないようにすることができる。ＰＯＩの間での一貫性を達成するため、第二データベースはリアルタイムで更新することが可能である。さらに、第二データベースは、ブロック、コミュニティ、地区、市、郡、州、国、大陸など、又はこれらの任意の組み合せなど、全世界に亘る場所からのＰＯＩのデータを包含するグローバルなデータベースであってよい。いくつかの実施形態において、第二データベースは、インターネットに接続されたサーバデバイスのバックエンドデータベースとして機能することができる。
【００６３】
第二データベースから読み出されたＰＯＩの第二セットは、ＰＯＩの第一セットと関連付けることが可能である。いくつかの実施形態において、ＰＯＩの第一セットの１つと同じＰＯＩ名称を持つ第二データベース中のＰＯＩが、ＰＯＩの第二セットとして選択されてよい。いくつかの実施形態において、ＰＯＩの第一セットの１つと同じＰＯＩ位置を持つ第二データベース中のＰＯＩが、ＰＯＩの第二セットとして選択されてよい。
【００６４】
ステップ３０４で、第一データベース中のＰＯＩの第一セットは、ＰＯＩの第二セット及び１つ以上の過去のオーダーに基づいて更新することができる。この更新の過程で、ＰＯＩの第一セットに対し冗長さ低減を同時に実行すればよい。第一データベース中の冗長なＰＯＩの一部を削除又は修正することが可能である。第一データベース中のＰＯＩの第一セットを更新する例示的なプロセスは、後記の図５及び図６の説明で示すこととする。
【００６５】
ステップ３０６で、ロケーションベースサービス提供システムは、ユーザの位置情報をユーザ装置から受信することができる。次いで、ステップ３０８で、ロケーションベースサービス提供システムは、更新されたＰＯＩの第一セット及びユーザの位置情報に基づいて、１つ以上の個人別コンテンツ項目を決めればよい。いくつかの実施形態において、ロケーションベースサービス提供システムは、更新されたＰＯＩの第一セットの分類を用いて、個人別コンテンツ項目を決めることも可能である。例えば、ロケーションベースサービス提供システムは、更新されたＰＯＩの第一セットの分類についての情報を用いて、ユーザの趣味、嗜好、動機付け、必要性などを解析することができる。次いで、ロケーションベースサービス提供システムによって識別された個人別コンテンツ項目に、ユーザの趣味、嗜好、動機付け、必要性などに一致する、ユーザの位置の近辺のＰＯＩを含めればよい。いくつかの実施形態において、ロケーションベースサービス提供システムによって識別される個人別コンテンツ項目には、ユーザの推測されるルート沿いの、ユーザの趣味、嗜好、動機付け、必要性などに合致するＰＯＩを含めればよい。いくつかのさらなる実施形態において、これら個人別コンテンツ項目は、ユーザの位置の近辺のＰＯＩに関連する商業広告を含んでよい。ステップ３１０で、ロケーションベースサービス提供システムは、ユーザ装置上に表示するための１つ以上の個人別コンテンツ項目を送信することができる。これら個人別コンテンツ項目は、音声ファイル、映像ファイル、ウェブページ、ウェブページへのリンク、実行可能ファイル、アプリケーション、ミニプログラム、テキストファイルなど、又はこれらの任意の組み合せであってよい。個人別コンテンツ項目は、ユーザ装置の表示特性に適用可能なフォーマットにすればよい。
【００６６】
図４は、本開示のいくつかの実施形態による、例示的なポイントオブインタレスト（ＰＯＩ）解析モジュール２０２を示すブロック図である。ポイントオブインタレスト解析モジュール２０２は、オーダー読み出しユニット４０２と、ＰＯＩ読み出しユニット４０４と、格納ユニット４０６と、第一コンピューティングユニット４０８と、更新決定ユニット４１０と、データベース更新ユニット４１２とを含むことができる。
【００６７】
オーダー読み出しユニット４０２は、第一データベース１１０から１つ以上の過去のオーダーを読み出すことができる。これらの過去のオーダーは或るユーザに関連付けることが可能である。いくつかの実施形態において、ユーザに関連付けられた過去のオーダーは、或る期間に従って読み出すことが可能である。例えば、過去のオーダーは、時間、日、週、月、年など、又はこれらの任意の組み合せの期間で探索することができる。オーダー読み出しユニット４０２によって読み出された過去のオーダーは、ＰＯＩ読み出しユニット４０４に送信すればよい。
【００６８】
ＰＯＩ読み出しユニット４０４は、過去のオーダーからＰＯＩの第一セットを読み出すことができる。例えば、ＰＯＩ読み出しユニット４０４に送信された、各々の読み出された過去のオーダーＯ１に対して、ＰＯＩ読み出しユニット４０４は、過去のオーダーＯ１の過程で判断される、ルートに沿って出現するＰＯＩを識別することが可能である。ＰＯＩの第一セットは、過去のオーダーと一緒に格納ユニット４０６に送信され、続いて第一データベース１１０に格納されてよい。
【００６９】
過去のオーダーに関連付けられたＰＯＩの第一セットに対し、ＰＯＩ読み出しユニット４０４は、第二データベース１０８から対応するＰＯＩの第二セットを読み出すことができる。ＰＯＩの第二セット中の各ＰＯＩは、ＰＯＩの第一セット中のＰＯＩと同じＰＯＩ名称を有することがある。ＰＯＩの第二セットは、ＰＯＩの第一セット及び過去のオーダーと一緒に、それぞれ、ＰＯＩ読み出しユニット４０４によって第一コンピューティングユニット４０８に送信されてよい。
【００７０】
第一コンピューティングユニット４０８は、ＰＯＩの第一セット、ＰＯＩの第二セット、及び過去のオーダーに基づいて、１つ以上のパラメータを計算することができる。例えば、第一コンピューティングユニット４０８は、ＰＯＩの第一セットの各々に対するその存在の数Ｍを計算することが可能である。別の例として、第一コンピューティングユニット４０８は、第一データベース中に存在するＰＯＩの第一セットの各々と第二データベース中に存在する対応ＰＯＩとの間の地理的な距離Ｄを計算することが可能である。第一コンピューティングユニット４０８によって計算されたパラメータは、更新決定ユニット４１０に送信することができる。更新決定ユニット４１０は、第一コンピューティングユニット４０８によって計算された１つ以上のパラメータ、及び１つ以上の更新閾値４１４に基づいて、第一データベース中のＰＯＩの第一セットを更新するかどうかを決めればよい。更新決定ユニット４１０によって与えられた更新決定の結果は、データベース更新ユニット４１２に送信することができる。データベース更新ユニット４１２は、これに従いデータベース１０８中のＰＯＩの第一セットを更新すればよい。
【００７１】
図５は、本開示のいくつかの実施形態による、第二データベースに格納されたリアルタイムＰＯＩ情報に基づいて第一データベース中のＰＯＩを更新するための例示的な方法及び／又はプロセスのフローチャートである。本プロセス及び／又は方法は、ロケーションベースサービス提供システム１００の、オンライン輸送サービスプラットフォームのコンピュータサーバ（例えばＰＣＲエンジン１０６）によって作動することが可能である。いくつかの実施形態において、例示のプロセス及び／又は方法は、ＰＣＲエンジン１０６のポイントオブインタレスト（ＰＯＩ）解析モジュール２０２によって作動することが可能である。例えば、本方法及び／又はプロセスは、命令のセットとして実装し、オンライン輸送サービスプラットフォームの少なくとも１つのストレージ媒体に格納することができる。このプラットフォームのコンピュータサーバの少なくとも１つのプロセッサは、該ストレージ媒体と通信し、以下のステップを実施するため、当該命令のセットを実行することが可能である。
【００７２】
ステップ５０２で、関連する１つ以上の過去のオーダー中のＰＯＩの第一セットの各々に対する存在の数Ｍを計算することができる。この数Ｍは、ＰＯＩの第一セットの各々に対する出現の頻度を見積もるために使うことができる。数Ｍは、第一データベース、又はＰＣＲエンジン１０６のメモリ（図示せず）などの中に格納されてよい。関連する１つ以上の過去のオーダー中のＰＯＩの第一セットは、第一データベース中に格納できる。
【００７３】
ステップ５０４で、少なくとも１つのＰＯＩが、１つ以上の過去のオーダーと第二データベースとの両方の中に存在するかどうかの判断を行うことができる。関連する１つ以上の過去のオーダーと第二データベースとの両方の中に存在するＰＯＩがないと判断された場合、本プロセスはステップ５１２で終了する。１つ以上の過去のオーダーと第二データベースとの両方の中に少なくとも１つのＰＯＩが存在すると判断された場合、プロセスは、さらなる処理のため次のステップ５０６に進めばよい。
【００７４】
ステップ５０６で、各々が第二データベース中に存在する対応ＰＯＩを有する、１つ以上の過去のオーダーの中に存在するＰＯＩの第三セットが識別される。例えば、同じＰＯＩ名称を持つＰＯＩが、関連する１つ以上の過去のオーダー及び第二データベースの両方に出現することが可能である。いくつかの実施形態において、１つ以上の過去のオーダーに関連付けられたＰＯＩの第三セットが矛盾を包含し、しかして修正又は更新を必要とすることがある。
【００７５】
ステップ５０８で、第一データベース中に格納されたＰＯＩの第三セットの各々Ｐ１に対し、Ｐ１と、第二データベース中に格納された対応するＰＯＩＰ２との間の地理的距離Ｄを計算することができる。ＰＯＩＰ１とＰ２との間の対応性は、Ｐ１とＰ２とが同一のＰＯＩ名称を有することを指すものとしてよい。なお、第一データベース中に格納されたＰＯＩの第三セットからの複数のＰＯＩが、相互に遠方ではないが別個の位置でありながら同一又は類似のＰＯＩ名称を有することがある。そうであっても、第一データベースに格納されたＰＯＩの第三セットからの複数のＰＯＩは、第二データベース中に格納された同一の対応するＰＯＩを有し得る。
【００７６】
地理的距離Ｄは、Ｐ１及びＰ２の経度及び緯度座標を用いて計算すればよい。例えば、地理的距離Ｄは、Ｐ１とＰ２との間の経度座標及び緯度座標の差の最大値とすればよい。
【００７７】
ステップ５１０で、第二データベース中に存在する対応ＰＯＩを有する、第一データベース中に存在するＰＯＩは、計算された地理的距離Ｄ、存在の数Ｍ、及び少なくとも１つの更新閾値に基づいて更新することが可能である。以下で示すように、詳細な更新プロセスは図６で説明することができる。
【００７８】
図６は、本開示のいくつかの実施形態による、該第二データベースに格納されたリアルタイムＰＯＩ情報に基づいて該第一データベース中のＰＯＩを更新するための例示的な方法及び／又はプロセスのフローチャートである。本プロセス及び／又は方法は、ロケーションベースサービス提供システム１００の、オンライン輸送サービスプラットフォームのコンピュータサーバ（例えばＰＣＲエンジン１０６）によって作動することが可能である。いくつかの実施形態において、この例示のプロセス及び／又は方法は、ＰＣＲエンジン１０６のポイントオブインタレスト（ＰＯＩ）解析モジュール２０２によって作動することが可能である。例えば、本方法及び／又はプロセスは、命令のセットとして実装して、オンライン輸送サービスプラットフォームの少なくとも１つのストレージ媒体に格納することができる。このプラットフォームのコンピュータサーバの少なくとも１つのプロセッサは、該ストレージ媒体と通信し、以下のステップを実施するために当該命令のセットを実行することが可能である。
【００７９】
ステップ６０２で、１つ以上の過去のオーダー中の或るＰＯＩの存在の数Ｍを得ることができる。
【００８０】
ステップ６０４で、第一データベース中に存在するＰＯＩと第二データベース中に存在する対応ＰＯＩとの間の地理的距離Ｄを得ることができる。
【００８１】
ステップ６０６で、存在の数Ｍが第一閾値より大きいかどうかの判断を行うことができる。この第一閾値は或る整数を指すことができる。いくつかの実施形態において、第一閾値は５以下の整数とすればよい。いくつかの他の実施形態では、第一閾値は２以下の整数とすればよい。存在の数Ｍが第一閾値以下の場合、第一データベース中の当該ＰＯＩの存在は希少であると判断され、しかしてそのＰＯＩはステップ６１２で第一データベースから削除される。存在の数Ｍが第一閾値を超える場合、プロセスは次のステップ６０８に進むことができる。
【００８２】
ステップ６０８で、地理的距離Ｄが第二閾値より大きいかどうかの判断を行うことができる。この第二閾値は距離を指すことができる。例えば、第二閾値は１０００メートルとしてもよい。いくつかの実施形態において、第二閾値は５００メートル以下の距離であってもよい。地理的距離Ｄが第二閾値よりも大きい場合、第一データベース中に存在するＰＯＩは第二データベース中に存在する対応ＰＯＩとは異なると判断され、しかして第一データベース中に存在するＰＯＩは、ステップ６１４でそのまま保持することができる。地理的距離Ｄが第二閾値以下の場合、第一データベース中に存在するＰＯＩは第二データベース中に存在する対応ＰＯＩと同じである判断され、本プロセスは次のステップ６１０に進むことができる。
【００８３】
ステップ６１０で、第一データベース中に存在するＰＯＩを、第二データベース中に存在する対応ＰＯＩによって更新することができる。第一データベース中に存在するＰＯＩＰ１を、第二データベース中に存在する対応ＰＯＩＰ２によって更新するということは、Ｐ１（Ｐ１）のＰＯＩ名称、経度座標、緯度座標、分類、及び／又はＰＯＩフォーマットが、Ｐ２（Ｐ２）の対応するＰＯＩ名称、経度座標、緯度座標、分類、及び／又はＰＯＩフォーマットによって置き換えられることを言う。第二データベース中のＰＯＩデータはリアルタイムで更新され維持されるので、更新後の第一データベース中のＰＯＩは、より高い一貫性及び正確性で提示されることになろう。
【００８４】
図７は、本開示のいくつかの実施形態による、例示的な冗長さ低減エンジン１１２を表すブロック図である。冗長さ低減エンジン１１２は、データ読み出しユニット７０２、第二コンピューティングユニット７０４、併合決定ユニット７０６、及びデータ併合ユニット７０８を含むことができる。
【００８５】
データ読み出しユニット７０２は、第一データベース１０８からＰＯＩのデータを読み出すことができる。いくつかの実施形態において、第一データベース１０８から少なくとも２つのＰＯＩが読み出されてよい。第二コンピューティングユニット７０４は、データ読み出しユニット７０２によって読み出されたＰＯＩのデータを受信し、読み出されたＰＯＩのデータに基づいていくつかの計算を実行することが可能である。いくつかの実施形態において、第二コンピューティングユニット７０４は、２つのＰＯＩＰ１１とＰ１２との間の距離を計算することができる。Ｐ１１とＰ１２との間の距離は、地理的距離、編集距離（もしくはレーベンシュタイン距離）など、又はこれらの任意の組み合せであってよい。計算された距離は、Ｐ１１とＰ１２との間の少なくとも２つの異なる種類の距離を包含することが可能である。
【００８６】
いくつかの実施形態において、Ｐ１１とＰ１２との間の距離は正規化されてよい。Ｐ１１とＰ１２との間の距離を正規化する仕方は、正規化モデル７１０に基づけばよい。正規化モデル７１０は、複数の正規化定数、正規化式、正規化周波数など、又はこれらの任意の組み合せを定義することが可能である。
【００８７】
併合決定ユニット７０６は、Ｐ１１とＰ１２とのデータを併合すべきかどうかに関する決定をするために、併合閾値７１２からの複数の閾値と一緒に、読み出されたＰ１１及びＰ１２のデータ、及びＰ１１とＰ１２とのデータの間の少なくとも２つの異なった種類の距離、を読み出せばよい。Ｐ１１とＰ１２とが同一の地理的エンティティを対象としていると判断される場合、データ併合ユニット７０８は、Ｐ１１とＰ１２とを単一のＰＯＩに併合することができる。併合されたＰＯＩは、データ併合ユニット７０８によって第一データベース１０８に送信することが可能である。
【００８８】
当業者には当然のことながら、これらユニットの２つ以上を単一のユニットとして組み合せることが可能であり、これらユニットのどの１つも２つ以上のサブユニットに分割することが可能である。例えば、第二コンピューティングユニット７０４を併合決定ユニット７０６に統合して、ＰＯＩのデータ間の距離を計算することと、両ＰＯＩのデータが同一の地理的エンティティのものかどうかを判断することとの双方ができる単一のユニットにしてもよい。図７に示された冗長さ低減エンジン１１２は、第一データベース１０８に適用される。但し、本開示は限定することを意図してはいない。冗長さ低減エンジン１１２は、第二データベース１１０及び任意の種類のデータベースに適用することも同様に可能である。
【００８９】
図８は、本開示のいくつかの実施形態による、第一データベース中のＰＯＩの冗長さを低減するための例示的な方法及び／又はプロセスのフローチャートである。本プロセス及び／又は方法は、ロケーションベースサービス提供システム１００の、オンライン輸送サービスプラットフォームのコンピュータサーバ（例えばＰＣＲエンジン１０６）によって作動することが可能である。いくつかの実施形態において、例示のプロセス及び／又は方法は、ＰＣＲエンジン１０６の冗長さ低減エンジン１１２によって作動することができる。例えば、本方法及び／又はプロセスは、命令のセットとして実装し、オンライン輸送サービスプラットフォームの少なくとも１つのストレージ媒体に格納することができる。このプラットフォームのコンピュータサーバの少なくとも１つのプロセッサは、該ストレージ媒体と通信し、以下のステップを実施するために当該命令のセットを実行することが可能である。
【００９０】
ステップ８０２で、第一ＰＯＩＰ１１及び第二ＰＯＩＰ１２がＰＯＩのセットから読み出される。第一ＰＯＩＰ１１と第二ＰＯＩＰ１２とは、部分的に共通のＰＯＩ情報を共有してよい。例えば、第一ＰＯＩＰ１１は、第二ＰＯＩＰ１２と同じ又は類似のＰＯＩ名称を有し得る。別の例では、第一ＰＯＩＰ１１は、第二ＰＯＩＰ１２と同じ又は近くのＰＯＩ位置を有し得る。第一ＰＯＩＰ１１と第二ＰＯＩＰ１２とは相異なる過去のオーダーからのものであってよい。
【００９１】
ステップ８０４で、第一ＰＯＩＰ１１と第二ＰＯＩＰ１２との間の第一距離を計算することができる。いくつかの実施形態において、第一距離は、第一ＰＯＩＰ１１と第二ＰＯＩＰ１２との間の地理的距離であってよい。例えば、第一距離は、Ｐ１１とＰ１２との間の経度座標及び緯度座標の差の最大値とすればよい。
【００９２】
ステップ８０６で、第一ＰＯＩＰ１１と第二ＰＯＩＰ１２との間の第二距離を計算することができる。いくつかの実施形態において、この第二距離は、第一ＰＯＩＰ１１と第二ＰＯＩＰ１２との間の編集距離（もしくはレーベンシュタイン距離）であってよい。ＰＯＩＰ１１とＰＯＩＰ１２との間の編集距離とは、Ｐ１１の名称をＰ１２の名称に変換するための編集オペレーションの最少回数を指すものとしてよい。この編集オペレーションは、ＰＯＩの名称の一文字を別の文字に置き換えること、ＰＯＩ名称に中に文字を挿入すること、及び／又はＰＯＩ名称の文字を削除することを含み得る。当業者には当然のことながら、Ｐ１１とＰ１２との間の編集距離が小さいほど、Ｐ１１とＰ１２との名称はより近似している。いくつかの実施形態において、例えば編集距離などの第二距離は、さらなる処理を容易化するために正規化されてよい。Ｐ１１とＰ１２との間の正規化編集距離は、Ｐ１１とＰ１２との間の編集距離に或るスケール係数を乗ずることによって得ることができ、このスケール係数はＰ１１及びＰ１２のＰＯＩ名称の長さに基づけばよい。正規化編集距離の範囲はゼロから１までとすればよい。例えば、次の式によって正規化編集距離を得ることができる。
【００９３】
ＮｏｒｍＥｄｉｔＤｉｓ（Ｐ１１，Ｐ１２）＝ＥｄｉｔＤｉｓ（Ｐ１１，Ｐ１２）／Ｍａｘ（Ｌｅｎ（Ｐ１１），Ｌｅｎ（Ｐ１２））
この式のＮｏｒｍＥｄｉｔＤｉｓ（Ｐ１１，Ｐ１２）はＰ１１とＰ１２との間の正規化編集距離であり、ＥｄｉｔＤｉｓ（Ｐ１１，Ｐ１２）はＰ１１とＰ１２との間の編集距離である。Ｌｅｎ（Ｐ１１）及びＬｅｎ（Ｐ１２）は、それぞれ、Ｐ１１及びＰ１２のＰＯＩ名称の長さである。Ｍａｘ（Ｌｅｎ（Ｐ１１），Ｌｅｎ（Ｐ１２））は、Ｐ１１とＰ１２とのＰＯＩ名称の２つの長さのうちの最大値を意味する。
【００９４】
ステップ８０８で、第一距離及び第二距離に基づいて、第一ＰＯＩＰ１１と第二ＰＯＩＰ１２とが同一の地理的エンティティを示しているかどうかが判断される。いくつかの実施形態において、Ｐ１１とＰ１２との間の類似性を判断するために何らかの方策又は基準が適用できる。例えば、第一距離に対する第三閾値、及び第二距離に対する第四閾値を指定することができる。第三閾値及び／又は第四閾値は、過去のデータを使って事前設定又は導出することができる。Ｐ１１とＰ１２との間の第一距離が第三閾値より小さく、且つＰ１１とＰ１２との間の正規化第二距離が第四閾値より小さい場合、第一ＰＯＩＰ１１と第二ＰＯＩＰ１２とは同一の地理的エンティティを示していると判断される。
【００９５】
ステップ８１０で、Ｐ１１とＰ１２とが同一の地理的エンティティを示していると判断された場合、第一データベース中の第一ＰＯＩＰ１１と第二ＰＯＩＰ１２とを併合することが可能である。いくつかの実施形態において、この併合プロセスに対し１つ以上の基準を適用することが可能である。例えば、この併合プロセスは、より低い存在頻度を有するＰＯＩをより高い存在頻度を有するＰＯＩで置き換える、１つ以上の基準に基づくことができる。別の例として、これら１つ以上の基準は、併合対象のＰＯＩが相互に極めて近接しているという第一基準、及び併合対象のＰＯＩは意味的に同一の地理的エンティティを対象としているという第二基準を含み得る。ＰＯＩの近接性は、ストリート、事業エンティティ、郡、郵便番号、又はこれらの組み合せに基づいて判断すればよい。
【００９６】
いくつかの実施形態では、第一データベース中のＰＯＩに統一された命名及び／又は分類システムを用いることができる。この統一された命名及び／又は分類システムに従って、第一データベース中のＰＯＩを併合すればよい。例えば、一緒に併合することに決まった、「クラウンプラザホテル」の名称を有するＰＯＩと「クラウンホテル」の名称を有する別のＰＯＩを、統一名称「サウスカレッジロード３０、クラウンホテル」によって単一のＰＯＩに併合することができる。
【００９７】
図９Ａは、本開示のいくつかの実施形態による、エンドユーザにロケーションベースサービスを提供する例示的なネットワーク環境である。図９Ａに示されるように、ユーザ１２０は、ユーザ装置１０２を用いネットワーク９１０を介して個人別コンテンツ推奨（ＰＣＲ）エンジン１０６と通信することが可能である。ＰＣＲエンジン１０６は、所定の期間内に、ユーザ１２０に関連付けられた１つ以上の過去のオーダーを特定することができる。これら１つ以上の過去のオーダーは、第一データベース１０８又は第二データベース１１０から読み出せばよい。ＰＣＲエンジン１０６は、過去のオーダーに関連付けられたＰＯＩの第一セットを読み出すことができる。次いで、このＰＯＩの第一セットは第一データベース１０８の中に格納されてよい。ＰＯＩの第一セットは、ファイル、テーブル、リストなど、又はこれらの任意の組み合せとして、第一データベース中に格納することができる。
【００９８】
ＰＯＩの第一セット内の一貫性を向上するために、ＰＣＲエンジン１０６は、第二データベース１１０から対応するＰＯＩの第二セットを読み出すことが可能である。次いで、ＰＣＲエンジン１０６は、ＰＯＩの第一セットとＰＯＩの第二セットとの比較に基づいてＰＯＩの第一セットを更新すればよい。ＰＯＩの第一セットとＰＯＩの第二セットとを使ってＰＯＩの第一セットを更新するプロセスは、図５及び６で説明した例示的なプロセスを用いて実装することが可能である。加えて、ＰＣＲエンジン１０６は、周期的に冗長さ低減エンジン１１２にＰＯＩの第一セット内の冗長さを低減するよう求めることができる。この例示の実施形態によれば、冗長さ低減エンジン１１２は、個人別コンテンツ推奨エンジン１０６に対するバックエンドコンピュータサーバとして機能することが可能である。ＰＯＩの第一セット中の冗長さを低減するプロセスは、図８で説明した例示的なプロセスを用いて実装することができる。さらに、第一データベース１０８中のＰＯＩを走査するために、冗長さ低減エンジン１１２によってポーリングアルゴリズムを実装することが可能である。例えば、冗長さ低減エンジン１１２によって、逐次的ポーリングアルゴリズム、ツリー走査アルゴリズム、グラフ走査アルゴリズムなど、又はこれらの任意の組み合せを実装することができる。
【００９９】
いくつかの実施形態において、ＰＣＲエンジン１０６は、ユーザ装置１０２を介してユーザ１２０からの要求を受信することが可能である。ＰＣＲエンジン１０６は、ユーザ装置１０２を介してユーザ１２０の位置を突き止めることができる。ＰＣＲエンジン１０６は、次いで、ユーザ１２０に推奨するコンテンツを決めるために、更新されたＰＯＩの第一セット、及び／又はユーザ１２０の位置に基づいて、おそらくはネットワーク９１０を介して、コンテンツ情報源９０８を検索することが可能である。このコンテンツ情報源９０８は、オンラインニュース、ウェブサイト、ソシアルメディアコンテンツなど、又はこれらの任意の組み合せを含んでよい。
【０１００】
図９Ｂは、本開示のいくつかの他の実施形態による、エンドユーザにロケーションベースサービスを提供する例示的なネットワーク環境である。この例示の実施形態によるネットワーク環境は、冗長さ低減エンジン１１２が独立したコンピュータサーバとして機能できることを除けば、図９Ａに示されたネットワーク環境と同様である。冗長さ低減エンジン１１２は、直接ネットワーク９１０に接続し、ロケーションベースサービス提供システム１００以外の当事者にもデータベースの冗長さ低減サービスを提供することができる。
【０１０１】
図１０は、本開示の実装が可能な携帯デバイスのアーキテクチャを表す。この例では、サービスのオーダーに関する情報又はスケジューリングシステムからの他の情報が、その上で提示されやり取りされるユーザデバイスは、以下に限らないが、スマートフォン、タブレット、ミュージックプレイヤー、ハンドル付きゲームコンソール、全地球測位システム（ＧＰＳ）レシーバ、及びウェアラブルコンピューティングデバイス（例えば、眼鏡型、腕時計型など）、又は任意の他の形の要素を含む、携帯デバイス１０００である。この例の中の携帯デバイス１０００は、１つ以上の中央処理装置（ＣＰＵ）１００２、１つ以上のグラフィック処理ユニット（ＧＰＵ）１００４、ディスプレイ１００６、メモリ１００８、ワイヤレス通信モジュールなどの通信プラットフォーム１０１０、ストレージ１０１２、及び１つ以上の入力／出力（Ｉ／Ｏ）デバイス１０１４を含む。携帯デバイス１０００中には、以下に限らないが、システムバス、又はコントローラ（図示せず）を含め任意の他の適切なコンポーネントを含めることが可能である。図１０に示されるように、ＣＰＵ１００２によって実行するため、例えば、ｉＯＳ、アンドロイド、ウィンドウズ（登録商標）フォンなどの携帯用オペレーティングシステム１０１６、及び１つ以上のアプリケーション１０１８を、ストレージ１０１２からメモリ１００８中にロードすればよい。アプリケーション１０１８は、携帯デバイス１０００上のロケーションベースサービス提供システムへのサービスのオーダー又は他の情報に関する情報を受信し応答するための、ブラウザ又は任意の適切な携帯用アプリを含んでよい。ユーザの情報ストリームとのやり取りは、Ｉ／Ｏデバイス１０１４を介して遂行され、ロケーションベースサービス提供システム１００、及び／又は、例えばネットワークを介して、システム１００の他のコンポーネントに提示されてよい。
【０１０２】
本開示で説明した様々なモジュール、ユニット、及びそれらの機能を実装するために、コンピュータのハードウェアプラットフォームは、本明細書で説明した１つ以上の素子（例えば、ロケーションベースサービス提供システム１００、及び／又は、図１〜９に関連して説明したロケーションベースサービス提供システム１００の他のコンポーネント）のためのハードウェアプラットフォームとして使用されてよい。ハードウェア素子、オペレーティングシステム、及びかかるコンピュータのプログラム言語は事実上従来式のものであり、当業者は、これらの技術を本明細書で説明したサービスの供給の管理に適応させるため、これらに十分に精通していることが前提とされている。パソコン（ＰＣ）又は他の種類のワークステーションもしくは端末デバイスに実装するために、ユーザインタフェース素子を備えたコンピュータに使用が可能であるが、但し、コンピュータは適切にプログラムすればサーバとしても機能する。当業者は、かかるコンピュータ装置の構造、プログラミング、及び一般的動作については精通していると考えられ、それによりこれらの図面は自明のはずである。
【０１０３】
図１１は、本開示のいくつかの実施形態による、ＰＣＲエンジン１０６、ユーザ装置１０２、及び／又はプロバイダ端末１４０が実装可能な、コンピューティングデバイス１１００の例示的なハードウェア及びソフトウェアコンポーネントを示す概略図である。例えば、ＰＣＲエンジン１０６は、コンピューティングデバイス１１００上に実装し、本開示で開示されたＰＣＲエンジン１０６の機能を遂行するように構成することが可能である。
【０１０４】
コンピューティングデバイス１１００は、汎用コンピュータであっても特定用途コンピュータであってもよく、両方とも、本開示のためのオンデマンドシステムを実装するために用いることが可能である。コンピューティングデバイス１１００は、本明細書で説明したように、オンデマンドサービスの任意のコンポーネントを実装するのに用いることができる。例えば、ＰＣＲエンジン１０６は、そのハードウェア、ソフトウェアプログラム、ファームウェア、又はこれらの組み合せを使って、コンピューティングデバイス１１００上に実装することが可能である。便宜上、かかるコンピュータの１つだけが示されているが、本明細書で説明したオンデマンドサービスに関するコンピュータ機能は、処理の負荷を分散するために、分散方式でいくつか類似のプラットフォーム上に実装することもできる。
【０１０５】
例えば、コンピューティングデバイス１１００は、データ通信を容易にするために、接続ネットワークに行き来接続されたＣＯＭポート１１０２を含んでよい。また、コンピューティングデバイス１１００は、プログラム命令を実行するために、１つ以上のプロセッサの形で中央処理装置（ＣＰＵ）１１０４を含むことができる。この例示的なコンピュータプラットフォームは、コンピュータによる処理及び／又は送信対象となる多様なデータファイルのため、内部通信バス１１０６、例えばディスク１１０８及び読み取り専用メモリ（ＲＯＭ）１１１０もしくはランダムアクセスメモリ（ＲＡＭ）１１１２など、各種形態のプログラムストレージならびにデータストレージを含んでよい。また、この例示的なコンピュータプラットフォームは、ＲＯＭ１１１０、ＲＡＭ１１１２、及び／又は他の種類の非一時的ストレージ媒体に格納された、ＣＰＵ１１０４による実行対象のプログラム命令も含むことが可能である。本開示の方法及び／又はプロセスは、プログラム命令として実装されてもよい。コンピューティングデバイス１１００は、コンピュータと、ユーザインタフェース素子２８０など該デバイス中の他のコンポーネントとの間の入力／出力をサポートするＩ／Ｏコンポーネント１１１４も含んでよい。また、コンピューティングデバイス１１００は、ネットワーク通信を介してプログラミング及びデータを受信することも可能である。
【０１０６】
例示のためだけに、コンピューティングデバイス１１００中には、１つだけのＣＰＵ及び／又はプロセッサが表されている。しかしながら、本開示におけるコンピューティングデバイス１１００は、複数のＣＰＵ及び／又はプロセッサを含んでもよく、しかして、本開示中に記載されたように１つのＣＰＵ及び／又はプロセッサで実行されるオペレーション及び／又は方法ステップが、複数のＣＰＵ及び／又はプロセッサによって、共同で又は別々に実行されてもよい。例えば、本開示においてコンピューティングデバイス１１００のＣＰＵ及び／又はプロセッサがステップＡ及びステップＢの両方を実行する場合、当然のことながら、ステップＡとステップＢとを、２つの異なるＣＰＵ及び／又はプロセッサによってコンピューティングデバイス１１００中で共同で又は別々に実行することも可能である（例えば、第一プロセッサがステップＡを実行し第二プロセッサがステップＢを実行する、あるいは第一及び第二プロセッサが共同でステップＡ及びＢを実行する）。
【０１０７】
以上で基本的な構想を説明してきたが、当業者には、この詳細な開示を読んだ後に、前述の詳細な開示が例示のためだけの提示を意図したものであり限定するものでないことは自明であろう。本明細書で明示で述べられてはいないが、様々な変形、改良、及び修改があり得、当業者に対し用意されている。これらの変形、改良、及び修改は、本開示による提案として意図されており、本開示の代表的な実施形態の趣意及び範囲内にある。
【０１０８】
さらに、本開示の実施形態を説明するために特定の用語法が使われている。例えば、用語「１つの実施形態」、「或る実施形態」、及び／又は「いくつかの実施形態」は、当該実施形態に関連して説明された特定の特徴、構造、又は特性が、本開示の少なくとも１つの実施形態に含まれていることを意味する。したがって、当然のことながら、本明細書中の様々な箇所における「或る実施形態」、「１つの実施形態」、又は「別の実施形態」への２つ以上の参照は、必ずしも全てが同じ実施形態への参照ではない。さらに、これら特定の特徴、構造、又は特性は、適切な場合、本開示の１つ以上の実施形態において組み合せることが可能である。
【０１０９】
さらに、当業者には当然のことながら、本開示の態様は、一切の新規及び有用な工程、機械、製造、もしくは合成物、又はこれらの一切の新規及び有用な改良を含め、多くの特許可能なクラス又はコンテキストのいずれかとして、本明細書中に例示し説明することが可能である。したがって、本開示の態様は、全体をハードウェアで、全体をソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）で、又は、本明細書では全てが一般的に「モジュール」、「ユニット」、「コンポーネント」、「デバイス」、又は「システム」と称される、ソフトウェア及びハードウェア実装の組み合せによって実装することができる。さらに、本開示の態様は、具現化されたコンピュータ可読プログラムコードを有する、１つ以上のコンピュータ可読媒体中に具現化されたコンピュータプログラム製品の形を取ることもできる。
【０１１０】
コンピュータ可読信号媒体は、例えば、ベースバンド中に又は搬送波の部分として、具現化されたコンピュータ可読プログラムコードを備える伝播データ信号を含み得る。かかる伝播信号は、電磁気、光など、又はこれらの任意の適切な組み合せを含め、様々な形の任意の形を取ってよい。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、又はデバイスによって、又はこれらに関連させて使用するためのプログラムを通信、伝播、又は搬送することが可能な任意のコンピュータ可読媒体であってよい。コンピュータ可読信号媒体上に具現化されたプログラムコードは、ワイヤレス、ワイヤライン、光ファイバケーブル、ＲＦなど、又は前述の任意の適切な組み合せを含め、任意の適切な媒体を用いて送信することができる。
【０１１１】
本開示の態様のオペレーションを実行するためのコンピュータプログラムコードは、Ｊａｖａ（登録商標）、Ｓｃａｌａ、Ｓｍａｌｌｔａｌｋ、Ｅｉｆｆｅｌ、ＪＡＤＥ、Ｅｍｅｒａｌｄ、Ｃ＋＋、Ｃ＃、ＶＢ．ＮＥＴ、Ｐｙｔｈｏｎなどのオブジェクト指向プログラミング言語、「Ｃ」プログラミング言語、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｆｏｒｔｒａｎ１１００３、Ｐｅｒｌ、ＣＯＢＯＬ１１００２、ＰＨＰ、ＡＢＡＰなどの従来式手続き型プログラミング言語、Ｐｙｔｈｏｎ、Ｒｕｂｙ、及びＧｒｏｏｖｙなどのダイナミックプログラミング言語、又は他のプログラミング言語を含め、１つ以上のプログラミング言語の任意の組み合せで記述することができる。このプログラムコードは、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータ又はサーバで専ら実行することもできる。後者のシナリオの場合は、ローカルエリアネットワーク（ＬＡＮ）もしくは広域ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、又は（例えばインターネットサービスプロバイダを使いインターネットを介し）、あるいはクラウドコンピューティング環境中で、又はサービスとしてのソフトウェア（ＳａａＳ：Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）などのサービスとして提供されて、外部のコンピュータへの接続を行うことも可能である。
【０１１２】
さらに、処理要素又はシーケンスの記載された順序、又は数、文字もしくは他の記号の使用は、特許請求の範囲に明示されているものを除き、請求対象のプロセス及び方法をいかなる順序に限定することも意図されていない。前述の開示では、本開示の有用な実施形態のバラエティと現時点で考えられる様々な例を介して説明をしているが、当然のことながら、かかる詳細は単に前述の目的のためであり、添付の特許請求の範囲は、これら開示の実施形態に限定されるものでなく、それとは逆に、開示された実施形態の趣意及び範囲内にある修改及び等価の改作を網羅するように意図されている。例えば、前述の様々なコンポーネントの実装はハードウェアデバイスで具現化できるが、同様に、ソフトウェアだけのソリューション、例えば、既存のサーバ又は携帯デバイスへのインストールとしての実装が可能である。
【０１１３】
同様に、本開示の実施形態の前述の説明では、当然のことながら、本開示を簡潔にし、１つ以上の様々な実施形態の理解を助力する目的で、様々な特徴が場合によって単一の実施形態、図、又はその説明に一緒にまとめられている。但し、この開示方法が、請求されている主題が各請求項中に明示で記載されているよりも多くの特徴を必要とする、との意図を反映していると解釈されるべきではない。むしろ、請求の主題は、前述で開示された単一の実施形態の全ての特徴よりも少ない特徴の中にある。
【図１】
0006640880.tif 000002
【図２】
0006640880.tif 000003
【図３】
0006640880.tif 000004
【図４】
0006640880.tif 000005
【図５】
0006640880.tif 000006
【図６】
0006640880.tif 000007
【図７】
0006640880.tif 000008
【図８】
0006640880.tif 000009
【図９Ａ】
0006640880.tif 000010
【図９Ｂ】
0006640880.tif 000011
【図１０】
0006640880.tif 000012
【図１１】
0006640880.tif 000013