以下、店舗情報送信装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は、同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、繰り返しユーザ位置情報を受信することで、最新のユーザ位置情報に基づいて、ユーザの現在位置の周辺にある店舗情報を送信する店舗情報送信装置1について説明する。
図1は、本実施の形態におけるシステムの概念図である。店舗情報送信装置1を含むシステムは、店舗情報送信装置1とユーザの端末装置2とを含む。また、図1において、店舗情報送信装置1と、1または2以上のユーザの端末装置2とは、ネットワーク100を介して接続されている。ネットワーク100は、有線、または無線の通信回線であり、例えば、インターネットやイントラネット、LAN(Local Area Network)、公衆電話回線等である。また、ユーザの端末装置2は、ユーザが持ち運び可能な端末装置であることが好適であるが、ネットワーク100に接続可能な端末であれば何でも良い。例えば、ユーザの端末装置2は、ノートパソコン、スマートフォン、またはPDA等であっても良い。
図2は、本実施の形態における店舗情報送信装置1のブロック図である。店舗情報送信装置1は、店舗関連情報格納部101、ユーザ情報格納部102、訪問店舗受信部103、ユーザ訪問履歴追加部104、受信部105、種類距離情報格納部106、店舗位置情報特定部107、店舗属性期間情報格納部108、条件要素情報格納部109、条件構成部110、および送信部111を備える。
店舗関連情報格納部101には、1または2以上の店舗関連情報が格納される。店舗関連情報は、店舗に関する情報である店舗情報と、その店舗の店舗位置情報とを含む。店舗情報は、店舗に関する情報であれば、あらゆる情報が含まれていても良い。例えば、店舗情報は、店舗の名称を含んでいても良く、種類情報を含んでいても良く、優先度情報を含んでいても良く、1または2以上の店舗属性情報等を含んでいても良い。また、店舗関連情報は、さらに、店舗希望距離情報を含んでも良く、送信期間情報を含んでも良い。
店舗の名称は、その店舗を識別できる情報であれば何でも良い。例えば、店舗の名称は、略称であっても良く、正式名称であっても良く、「株式会社」等の定型句を省略した名称であっても良く、図示しない格納部、または外部の格納装置に格納されている名称を識別できるID等であっても良い。
種類情報は、その店舗の種類を示す情報であれば何でも良い。例えば、種類情報は、店舗の種類の名称であっても良く、その名称の略称であっても良く、店舗が扱っている主要な商品の名称であっても良く、店舗が扱っている料理の種類の名称であっても良く、店舗が扱っている料理の名称であっても良く、図示しない格納部、または外部の格納装置に格納されている名称を識別できるIDであっても良く、総務省等の機関が定めた業種コードの様なID等であっても良い。具体的には、種類情報は、「居酒屋」や「ドラッグストア」等のような情報であっても良い。
優先度情報は、店舗情報を送信する際の優先度を示す情報である。優先度情報は、N段階評価の数値、または記号情報で表現された情報であっても良く、優先順位を示す情報であっても良く、店舗情報送信装置1に登録する際に店舗の関係者が支払った資金の金額や、その残高等の金額を示す情報であっても良い。なお、Nは2以上の自然数であるものとする。また、優先度情報が種々の金額を示す情報である場合は、その金額が高いものほど優先度が高いことを示しているとしても良い。
店舗属性情報は、店舗に関する属性を示す情報である。店舗に関する属性は、期間と対応付けることが可能な情報であっても良く、期間と対応付けることが不可能な情報であっても良い。期間に対応付けることが可能な情報は、例えば、店舗が期間を定めて行うサービス等の情報である。期間と対応付けることが可能な情報は、具体的には、「ディナー」、「ランチ」、「営業時間」、または「サービスタイム」等の情報であっても良い。また、期間と対応付けることが不可能な情報は、例えば、店舗の設備の情報であっても良く、店舗に割り当てられている情報等であっても良い。具体的には、期間と対応付けることが不可能な情報は、「個室有り」、「水槽有り」、「電話番号」、または「住所」等の情報であっても良い。なお、店舗情報送信装置1の説明の都合上、店舗情報と店舗属性情報とに区分けがあるように説明しているが、店舗属性情報の各情報は、直接店舗情報が有していても良い。また、店舗属性情報は、店舗の関係者が設定しても良く、店舗情報送信装置1を利用したユーザが設定しても良く、その他の第三者が設定しても良い。
店舗位置情報は、店舗の位置を示す情報である。店舗位置情報は、店舗の位置を表現できればどのような方法で表現されても良い。例えば、店舗位置情報は、店舗の位置の座標値であっても良く、商店や施設の住所を示す情報であっても良く、商店や施設の名称等を示す情報であっても良い。なお、座標値は、緯度経度であっても良く、その他の座標系の座標値であっても良い。また、店舗情報送信装置1の説明の都合上、店舗情報と店舗位置情報とに区分けがあるように説明しているが、店舗位置情報は、店舗情報が有していても良い。
店舗希望距離情報は、店舗の関係者が設定した情報であり、距離条件を満たすかどうかを判断するための閾値を示す情報である。店舗希望距離情報は、地理的な距離を示す情報であっても良く、時間的な距離を示す情報であっても良い。地理的な距離は、地図上で算出できる距離である。地理的な距離は、例えば、直線距離であっても良く、道路等を利用した場合の経路の距離であっても良い。時間的な距離は、ある位置から別の位置に到着するまでに要する時間である。例えば、時間的な距離は、電車や車、徒歩等の移動手段を考慮した結果かかる時間であっても良く、道路の渋滞状況、または交通機関の障害状況、交通機関の待ち時間等を考慮した結果かかる時間であっても良く、これらを組み合わせて結果かかる時間であっても良い。なお、距離条件に関する詳細は、後述する。また、店舗希望距離情報は、店舗の関係者が適宜変更できるようにしても良い。その場合の処理は、後述する。
送信期間情報は、送信可能な期間の情報である。送信期間情報は、ある期間を示すものである。その期間はどのように表現しても良い。なお、期間は、始期と終期とを有するものである。終期は、時点で表現されていても良く、始期と始期を起点とした期間によって表現されていても良い。また、始期は、時点で表現されていても良く、終期と終期を起点とした期間によって表現されていても良い。また、送信期間情報は、年単位で指定しても良く、月単位で設定しても良く、日単位で設定しても良く、時間単位で設定しても良い。送信期間情報を日単位で設定する場合は、例えば、送信期間情報は、特定の年月日であっても良く、特定の曜日であっても良く、毎年、および毎月訪れる特定の日付であっても良く、上記特定の日を含む特定の期間であっても良く、上記期間を2以上組み合わせたものであっても良い。また、送信期間情報は、人手で設定しても良く、OCR等を用いてチラシ等に記載されている文字列から取得して設定しても良い。
なお、以下において、同一の店舗関連情報が有する情報どうしは、対応する情報とも記載することもある。具体的には、ある店舗位置情報を含む店舗関連情報が有する店舗情報は、その店舗位置情報に対応する店舗情報と記載することもある。同様に、店舗情報が有する情報どうしも、対応する情報と記載することもある。また、店舗位置情報を含む店舗関連情報が有する店舗情報に含まれる店舗属性情報等についても、同様に店舗位置情報に対応する店舗属性情報と記載することもある。上記のような記載は、以下の説明する各格納部に格納されている他の情報についても同様の方法で省略して記載することもある。また、店舗関連情報格納部101に格納される各情報は、ユーザの端末装置2で表示される情報であっても良く、表示されない情報であっても良い。
ユーザ情報格納部102には、1または2以上のユーザ情報が格納される。ユーザ情報は、ユーザが訪問した店舗の店舗情報を識別する情報である店舗識別情報を1または2以上含む情報であっても良く、そのユーザの属性を示す情報である1または2以上のユーザ属性情報を含む情報であっても良い。
店舗識別情報は、店舗関連情報格納部101に格納されている店舗情報を一意に識別できる情報である。店舗識別情報は、店舗関連情報格納部101に格納されている店舗関連情報を識別できるIDのような情報であっても良く、店舗関連情報そのものであっても良く、店舗情報そのものであっても良く、店舗関連情報の一部の情報であっても良い。
ユーザ属性情報は、ユーザに関する属性を示す情報である。ユーザに関する属性は、例えば、そのユーザの年齢を示す情報であっても良く、そのユーザの性別を示す情報であっても良く、そのユーザの趣味を示す情報であっても良く、そのユーザの好きな食べ物を示す情報であっても良く、そのユーザの行動範囲を示す情報であっても良く、そのユーザの住所を示す情報等であっても良い。
訪問店舗受信部103は、ユーザが訪問した店舗に関する店舗情報を識別する店舗識別情報と、ユーザを識別するユーザ識別情報とを対応付けて受信する。ユーザ識別情報は、ユーザ情報格納部102に格納されているユーザ情報を識別できるIDのような情報であっても良く、ユーザ情報そのものであっても良く、ユーザ情報の一部の情報であっても良い。なお、対応付けて受信するとは、店舗識別情報とユーザ識別情報とを同時に受信することであっても良く、同一のIDを含む店舗識別情報、およびユーザ識別情報をそれぞれ別々に受信することであっても良く、店舗識別情報と、ユーザ識別情報とを順番に受信することであっても良い。
訪問店舗受信部103は、ユーザの操作によって選択された店舗を示す店舗情報を識別する店舗識別情報を受信しても良く、ユーザの端末装置2が取得したGPS等の現在位置情報が示す位置の店舗を示す店舗情報を識別する店舗識別情報を受信しても良い。訪問店舗受信部103は、通常、無線または有線の通信手段で実現される。
ユーザ訪問履歴追加部104は、訪問店舗受信部103が受信したユーザ識別情報に対応するユーザ情報に、そのユーザ識別情報に対応付けて受信された店舗識別情報が含まれるように追加する。ユーザ訪問履歴追加部104は、すでにあるユーザ情報に店舗識別情報を追加しても良く、訪問店舗受信部103が受信したユーザ識別情報で識別できるユーザ情報を新たに作成し、そのユーザ情報に、訪問店舗受信部103でそのユーザ識別情報と対応付けて受信された店舗識別情報を含めて蓄積しても良い。
受信部105は、ユーザの端末装置から、ユーザの現在位置を示す情報であるユーザ位置情報を繰り返し受信する。ユーザ位置情報は、ユーザの現在位置を示す情報である。ユーザ位置情報は、ユーザの位置を表現できればどのような方法で表現されても良い。例えば、ユーザ位置情報は、ユーザの位置の座標値であっても良く、ユーザが居る商店や施設の住所を示す情報であっても良く、ユーザが居る商店や施設の名称等を示す情報であっても良い。なお、座標値は、緯度経度であっても良く、その他の座標系の座標値であっても良い。
上述のように、受信部105は、ユーザ位置情報を適宜受信する。つまり、ユーザの端末装置2は、ユーザ位置情報を繰り返し送信する。受信部105が受信するタイミングは、どのようなタイミングであっても良い。受信部105は、定期的に受信しても良く、不定期に受信しても良い。受信部105が定期的にユーザ位置情報を受信する場合は、そのタイミングは、10秒ごとであっても良く、1分ごと等であっても良く、予め設定された時点ごとであっても良い。受信部105が不定期にユーザ位置情報を受信する場合は、そのタイミングは、ランダムであっても良く、特定の距離を移動するごとであっても良く、停止状態から移動状態に変わった時ごと等であっても良い。なお、受信部105が受信するタイミングは、上記の定期的、または不定期なタイミングのうち2以上のタイミングを組み合わせたものであっても良い。
受信部105は、ユーザが設定した情報であり、店舗位置情報特定部107における判断に用いられる閾値を示す情報であるユーザ希望距離情報をさらに受信しても良く、店舗に関する条件を示すユーザ希望情報をも受信しても良く、ユーザが送信してほしい情報を指定した情報である送信情報指定情報を受信しても良く、ユーザ位置情報を送信する端末装置を使用するユーザを識別するユーザ識別情報をも受信しても良い。
ユーザ希望距離情報は、距離条件を満たすかどうかを判断するためにユーザが設定した閾値を示す情報である。ユーザ希望距離情報は、地理的な距離を示す情報であっても良く、時間的な距離を示す情報であっても良い。なお、距離条件に関する詳細は、後述する。
ユーザ希望情報は、ユーザが欲しいと考えている店舗を示す情報であれば何でも良い。例えば、ユーザ希望情報は、店舗情報に含まれる情報を限定する情報であっても良い。具体的には、ユーザ希望情報は、店舗の名称を限定する情報であっても良く、種類情報を限定する情報であっても良く、店舗属性情報を限定する情報等であっても良く、上記の情報を組み合わせた情報であっても良い。具体的には、居酒屋を探しているユーザのユーザ希望情報は、「店舗の種類:居酒屋」等であっても良い。
送信情報指定情報は、送信部111が送信する情報をユーザが指定する場合に用いる情報である。送信情報指定情報は、店舗情報に含まれる情報の名称を指定する情報であっても良い。例えば、送信情報指定情報は、「店舗の名称,種類情報」等であっても良い。
ユーザ希望距離情報、ユーザ希望情報、ユーザ識別情報、または送信情報指定情報は、ユーザ位置情報と対応付けられていることが必須である。ユーザ位置情報と各情報との対応付けは、ユーザ位置情報と他の情報とを同時に受信することで対応付けられても良く、同一のIDを含むユーザ位置情報、および他の情報をそれぞれ別々に受信することで対応付けられても良く、ユーザ位置情報と、他の情報とを順番に受信することで対応付けられても良い。同一のIDを含むユーザ位置情報等を受信する場合は、受信部105は、ユーザ希望距離情報、ユーザ希望情報、ユーザ識別情報、および送信情報指定情報をそのIDで参照できるようにして図示しない格納部、または外部の格納装置に蓄積しても良い。なお、図示しない格納部、または外部の格納装置に格納されたユーザ希望距離情報、ユーザ希望情報、ユーザ識別情報、および送信情報指定情報は、ユーザ希望距離情報、ユーザ希望情報、ユーザ識別情報、および送信情報指定情報が新たに受信されたときに上書きされても良い。また、そのIDは、ユーザ識別情報であっても良く、ユーザ名とパスワード等で管理されている場合は、その認証の際に発行されるセッションID等であっても良い。なお、IDがユーザ識別情報である場合は、ユーザ識別情報は、IDを含まずに受信しても良い。
また、受信部105は、図示しない経路を介して、店舗の関係者から、店舗希望距離情報と店舗識別情報とを対応付けて受信しても良い。受信部105によって受信された店舗希望距離情報は、図示しない追加部によって、店舗関連情報格納部101に追加されても良い。その場合は、図示しない追加部は、受信部105によって受信された店舗希望距離情報を、その店舗希望距離情報に対応する店舗識別情報で識別される店舗関連情報に追加する。また、受信部105は、通常、無線または有線の通信手段で実現される。
種類距離情報格納部106には、店舗の種類を示す種類情報と、店舗位置情報特定部107における判断に用いられる閾値を示す種類距離情報とが対応付けて、1または2以上格納される。種類距離情報は、距離条件を満たすかどうかを判断するための閾値を示す情報である。ユーザ希望距離情報は、地理的な距離を示す情報であっても良く、時間的な距離を示す情報であっても良い。なお、距離条件に関する詳細は、後述する。種類距離情報は、種類情報ごとに、その種類情報で示される店舗の種類に合った距離が設定されることが好適である。店舗の種類に合った距離は、例えば、その店舗の種類において集客が見込める商圏の範囲を示す距離であっても良い。
店舗位置情報特定部107は、あらかじめ決められた条件である距離条件を満たす位置を示す店舗位置情報を特定する。店舗位置情報特定部107が特定する店舗位置情報は、受信部105が受信したユーザ位置情報によって示される位置から、その店舗位置情報によって示される位置までの距離が距離条件を満たすほど近い店舗位置情報である。距離条件とは、例えば、受信部105が受信したユーザ位置情報によって示される位置から、その店舗位置情報によって示される位置までの距離が、店舗の関係者が設定した距離より近いことであっても良く、ユーザが設定した距離より近いことであっても良く、店舗の種類に応じて設定された距離より近いことであっても良い。よって、店舗位置情報特定部107は、ユーザ位置情報によって示される位置から、店舗位置情報によって示される位置までの距離が、店舗位置情報を含む店舗関連情報が有する店舗希望距離情報によって示される閾値より小さい店舗位置情報を特定しても良く、ユーザ位置情報によって示される位置から、店舗位置情報によって示される位置までの距離が、ユーザ位置情報を送信した端末装置のユーザが設定したユーザ希望距離情報によって示される閾値より小さい店舗位置情報を特定しても良く、ユーザ位置情報によって示される位置から、店舗位置情報によって示される位置までの距離が、店舗位置情報を含む店舗関連情報が有する店舗情報に含まれる種類情報に対応する種類距離情報によって示される閾値より小さい店舗位置情報を特定しても良い。なお、店舗位置情報特定部107は、上記各閾値のうち、1種類以上の閾値より小さい場合に距離条件を満たすとしても良く、一部の閾値より小さい場合に距離条件を満たすとしても良く、すべての閾値より小さい場合に距離条件を満たすとしても良い。また、近いとは、地理的距離が近いことでも良く、時間的距離が近いことであっても良い。また、「より小さい」は、イコールを含む概念であっても良く、含まない概念であっても良い。
店舗位置情報特定部107は、地理的な距離を算出するためにユーザ位置情報が示す位置から店舗位置情報が示す位置までの経路を特定しても良い。経路を特定する方法は、交差点または駅等であるノードと、道路または線路等であるエッジとからなるネットワークを構築し、遺伝的アルゴリズム等で経路探索をする方法や、第三者の移動履歴の統計を用いる方法等、様々な提案がなされている公知技術であるため、説明を省略する。なお、店舗位置情報特定部107は、図示しない格納部、またはネットワーク100を介する外部のサーバ装置に格納されている地図に関する情報である地図情報にアクセスして経路を特定しても良く、ネットワーク100を介する外部の経路特定装置に経路を特定させても良い。時間的な距離を算出する場合は、地理的な距離を各移動手段の平均速度で割って算出しても良く、駅または停留所間等のノード間の所要時間を用いて算出しても良く、これら算出方法を2以上組み合わせて算出しても良い。なお、店舗位置情報特定部107は、駅または停留所間の所要時間から時間的な距離を算出する場合は、予め図示しない格納部、またはネットワーク100を介した外部のサーバに格納部に格納されている駅または停留所間等の所要時間や時刻表等にアクセスして算出しても良い。
店舗位置情報特定部107は、ユーザ位置情報、または店舗位置情報の表現が距離を算出するのに不適切な場合は、算出するのに適切な表現に変換しても良い。例えば、店舗位置情報特定部107は、地理的な距離を算出する際に、位置情報が商店や施設等の場所の名称、または住所等で表現されていた場合に、位置情報を座標値に変換しても良く、時間的な距離を算出する際に、各位置情報が座標値であった場合に、座標値に一致する駅、または停留所、商店等の施設の名称に変換しても良い。なお、この場合の一致とは、座標値が施設の領域内に含まれている場合であっても良く、座標値が施設内の特定の座標値から予め決められた閾値以下の距離にある場合であっても良い。予め決められた閾値は、適切に測位したGPSによる許容誤差の値(例えば10m等)に設定しても良く、適切に測位したGPSによる許容誤差の値に1よりも大きな実数(1.1や1.2等)を掛けた値に設定しても良く、ユーザ、または管理者が経験的に距離を設定しても良い。座標値と住所と位置を示すキーワードの相互変換方法は、例えば、Google(登録商標)が運営する地図検索サービス等で利用されている公知技術であるため、説明を省略する。Google(登録商標)が運営する地図検索サービスの詳細については、次のサイトを参照されたい。
URL:http://maps.google.co.jp/
また、店舗位置情報特定部107は、店舗関連情報格納部101に格納されているすべての店舗関連情報が有する店舗位置情報が示す位置との距離を算出しても良く、一部の店舗関連情報が有する店舗位置情報が示す位置との距離を算出しても良い。一部の店舗関連情報が有する店舗位置情報が示す位置との距離を算出する場合は、後述する送信部111で選択されるような店舗情報に対応する店舗位置情報との距離のみを算出しても良く、店舗位置情報に対応する優先度情報の示す優先度が高い店舗位置情報との距離のみを算出しても良い。
店舗属性期間情報格納部108には、店舗属性情報と、その店舗属性情報に対応する期間を示す属性期間情報とが対応付けて、1または2以上格納される。属性期間情報は、店舗属性情報のうち、期間と対応付けることが可能な情報に対して、その期間を示す情報である。期間と対応付けることが可能な店舗属性情報とは、「ランチ」や「夜景」等のような情報である。例えば、「ランチ」は、属性期間情報「12:00〜15:00」等のような情報と対応付けることができる。
条件要素情報格納部109には、ユーザ属性情報と、特定の店舗情報を選択するための条件の要素である条件要素情報とが対応付けて、1または2以上格納される。条件要素情報は、1または2以上の店舗属性情報を含む情報である。条件要素情報は、ユーザ属性情報のうち、店舗属性情報と対応付けることが可能な情報に対して、その店舗属性情報を示す情報である。店舗属性情報と対応付けることが可能なユーザ属性情報とは、「20歳以上」等のような情報である。例えば、「20歳以上」は、条件要素情報「[・カクテルの種類多め,・日本酒の種類多め]」等のような情報と対応付けることができる。なお、条件要素情報は、上記のように対応するユーザ属性情報を有するユーザに適切な条件要素情報であっても良く、ユーザに不適切な条件要素情報であっても良い。
条件構成部110は、ユーザの端末装置に送信するべき店舗情報の条件を構成する。条件構成部110が構成する条件は、現時点が含まれる期間を示す属性期間情報に対応する店舗属性情報を組み合わせた条件であっても良く、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する各ユーザ属性情報にそれぞれ対応する条件要素情報を組み合わせた条件であっても良い。店舗属性情報を組み合わせた条件は、現時点が含まれる期間を示す属性期間情報に対応する1以上の店舗属性情報のすべてを含むことであっても良く、一部を含むことであっても良く、1個を含むことであっても良い。条件要素情報を組み合わせた条件は、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する各ユーザ属性情報にそれぞれ対応する条件要素情報に含まれる各店舗属性情報のすべてを含むことであっても良く、一部を含むことであっても良く、1個を含むことであっても良い。条件要素情報を組み合わせた条件が、各店舗属性情報の一部を含むことである場合は、条件は、1以上の店舗属性情報を含むことであっても良く、1以上の条件要素情報が有する店舗属性情報をすべて含むことであっても良い。
送信部111は、店舗情報の少なくとも一部をユーザの端末装置2へ送信する。送信部111が送信する店舗情報は、店舗位置情報特定部107が特定した店舗位置情報を含む店舗関連情報が有する店舗情報である。送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報を取得する。送信部111が送信する店舗情報の少なくとも一部とは、店舗位置情報特定部107が特定した情報から、さらに一部の店舗情報に絞り込むという意味ではない。送信部111が送信する店舗情報の少なくとも一部は、絞り込んだ個々の情報の一部であっても良く、すべてであっても良い。つまり、送信部111が送信する店舗情報の少なくとも一部とは、店舗情報が有する店舗の名称や店舗の属性情報等のうちの1以上の情報であっても良い。なお、受信部105が送信情報指定情報を受信していた場合は、送信部111が送信する店舗情報の少なくとも一部は、その送信情報指定情報で指定されている情報であっても良い。また、送信部111は、店舗関連情報格納部101に送信期間情報が格納されている場合は、現時点が送信期間情報によって示される期間内であるときに、その送信期間情報を含む店舗関連情報が有する店舗情報の少なくとも一部を送信するようにしても良く、送信しないようにしても良い。
また、送信部111は、店舗位置情報特定部107が特定した店舗位置情報を含む店舗関連情報が有する店舗情報のうち、所定の条件に合致する店舗情報の少なくとも一部を送信しても良い。つまり、送信部111は、所定の条件に合致する店舗情報を選択し、選択した店舗情報の少なくとも一部を送信しても良い。所定の条件は、受信部105が受信したユーザ位置情報を送信した端末装置のユーザが設定したユーザ希望情報によって示される条件であっても良く、店舗情報が有する優先度情報が示す優先度が高いことであっても良く、条件構成部110が構成した条件であっても良い。
所定の条件が、ユーザ希望情報によって示される条件である場合は、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、ユーザ希望情報が示す情報とすべて一致する店舗情報を選択しても良く、一部が一致する店舗情報を有する店舗情報を選択しても良い。
所定の条件が、店舗情報が有する優先度情報が示す優先度が高いことである場合は、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、その店舗情報に対応する優先度情報が高いものから順にM個の店舗情報を選択しても良く、優先度情報が高いものからPパーセントの店舗情報を選択しても良く、所定の値以上の優先度を示す優先度情報を含む店舗関連情報が有する店舗情報を選択しても良い。Mは、1以上の自然数であればなんであっても良い。例えば、Mは、店舗位置情報特定部107が特定した店舗位置情報の個数を2で割った値を自然数に丸めた値であっても良く、その2で割った値に1以上の実数(1.1や1.2等)を掛けた値を自然数に丸めた値であっても良い。Pは、0より多く100以下の実数であれば何であっても良い。なお、この場合の送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応するすべての店舗情報に対して優先度情報を用いて選択しても良く、同じ種類情報を含む店舗情報に対してのみ優先度情報を用いて選択しても良い。
所定の条件が、条件構成部110が構成した条件である場合は、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、条件構成部110が構成した条件に合致する店舗情報を選択する。
所定の条件が、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報を用いた条件である場合は、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、ユーザが過去に訪れたことがある店舗を選択しても良く、ユーザが過去に訪れた店舗と類似する店舗を選択しても良く、ユーザが過去に訪れた店舗を訪れている他のユーザが過去に訪れた店舗を選択しても良く、ユーザと類似する他のユーザが過去に訪れた店舗を選択しても良い。
つまり、所定の条件は、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報で識別されることあっても良い。この条件を用いる場合は、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報で識別される店舗情報のみを選択しても良い。
また、所定の条件は、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報で識別される店舗情報が有する店舗属性情報に類似する店舗属性情報を含むことであっても良い。この条件を用いる場合は、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報で識別される店舗情報が有する店舗属性情報と類似する店舗情報のみを選択しても良い。この場合における類似するとは、店舗情報が有する店舗属性情報の多くが重複することである。店舗情報が有する店舗属性情報の多くが重複することとは、一方の店舗情報が有するすべての店舗属性情報が、他方の店舗情報に含まれていることであっても良く、一方の店舗情報に含まれるN個以上の店舗属性情報が他方の店舗情報に含まれていることであっても良く、一方の店舗情報に含まれるPパーセント以上の店舗属性情報が他方の店舗情報に含まれていることであっても良い。Nは、2以上の自然数であっても良い。例えば、Nは、一方の店舗情報に含まれる情報の個数を2で割った値を自然数に丸めた値であっても良く、その2で割った値に1以上の実数(1.1や1.2等)を掛けた値を自然数に丸めた値であっても良い。Pは、0より多く100以下の実数であれば何であっても良い。
また、所定の条件は、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報と、他のユーザ情報が有する店舗識別情報とが類似する場合に、他のユーザ情報が有する店舗識別情報のうち、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報に含まれない店舗識別情報で識別されることであっても良い。この条件を用いる場合は、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報に類似する店舗識別情報を有する他のユーザ情報を特定し、その特定した他のユーザ情報に含まれる店舗識別情報で識別される店舗情報から、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報を除いた店舗情報のみを選択しても良い。この場合における類似するとは、ユーザ情報に含まれる店舗識別情報の多くが重複することである。多くが重複することとは、一方のユーザ情報に含まれるすべての店舗識別情報が他方のユーザ情報に含まれていることであっても良く、一方のユーザ情報に含まれるN個以上の店舗識別情報が他方のユーザ情報に含まれていることであっても良く、一方のユーザ情報に含まれるPパーセント以上の店舗識別情報が他方のユーザ情報に含まれていることであっても良い。Nは、2以上の自然数であっても良い。例えば、Nは、一方のユーザ情報に含まれる店舗識別情報の個数を2で割った値を自然数に丸めた値であっても良く、その2で割った値に1以上の実数(1.1や1.2等)を掛けた値を自然数に丸めた値であっても良い。Pは、0より多く100以下の実数であれば何であっても良い。
また、所定の条件は、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有するユーザ属性情報と、他のユーザ情報が有するユーザ属性情報とが類似する場合に、他のユーザ情報が有する店舗識別情報のうち、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報に含まれない店舗識別情報で識別されることであっても良い。この条件を用いる場合は、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有するユーザ属性情報に類似するユーザ属性情報を有する他のユーザ情報を特定し、その特定した他のユーザ情報に含まれる店舗識別情報で識別される店舗情報から、受信部105が受信したユーザ位置情報に対応するユーザ識別情報に対応するユーザ情報が有する店舗識別情報を除いた店舗情報のみを選択しても良い。この場合における類似するとは、ユーザ情報に含まれるユーザ属性情報の多くが重複することである。多くが重複することとは、一方のユーザ情報に含まれるすべてのユーザ属性情報が他方のユーザ情報に含まれていることであっても良く、一方のユーザ情報に含まれるN個以上のユーザ属性情報が他方のユーザ情報に含まれていることであっても良く、一方のユーザ情報に含まれるPパーセント以上のユーザ属性情報が他方のユーザ情報に含まれていることであっても良い。Nは、2以上の自然数であっても良い。例えば、Nは、一方のユーザ情報に含まれるユーザ属性情報の個数を2で割った値を自然数に丸めた値であっても良く、その2で割った値に1以上の実数(1.1や1.2等)を掛けた値を自然数に丸めた値であっても良い。Pは、0より多く100以下の実数であれば何であっても良い。
なお、本説明では、送信部111が所定の条件に合致する店舗情報を選択する処理を行う場合について説明したが、所定の条件に合致する店舗情報を選択する処理は、店舗位置情報特定部107や図示しない他の処理部で行っても良い。つまり、送信部111は、結果的に、所定の条件に合致する店舗情報の少なくとも一部の情報を送信できれば良い。送信部111は、通常、無線または有線の通信手段で実現される。
店舗関連情報格納部101、ユーザ情報格納部102、種類距離情報格納部106、店舗属性期間情報格納部108、および条件要素情報格納部109は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、店舗関連情報格納部101等は、情報を一時的に格納するものであっても良い。例えば、店舗関連情報格納部101等は、外部の装置から受信した情報が一時的に格納されるものであっても良い。店舗関連情報格納部101等に情報が蓄積される過程は問わない。例えば、記録媒体を介して情報が店舗関連情報格納部101等に蓄積されるようになっても良く、通信回線等を介して送信された情報が店舗関連情報格納部101等に蓄積されるようになっても良く、あるいは、入力デバイスを介して入力された情報が店舗関連情報格納部101等に蓄積されるようになっても良い。なお、店舗属性情報をユーザが設定する場合は、図示しない受信部が受け付けた店舗属性情報を店舗関連情報格納部101に追加する図示しない追加部によってさらに追加、または蓄積されても良い。また、ユーザ情報格納部102に格納される店舗識別情報は、ユーザ訪問履歴追加部104によって追加、または蓄積される。
ユーザ訪問履歴追加部104、店舗位置情報特定部107、条件構成部110、および送信部111は、通常、MPUやメモリ等から実現され得る。ユーザ訪問履歴追加部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ユーザの端末装置2は、ユーザ位置情報を取得する図示しないユーザ位置情報取得部と、そのユーザ位置情報取得部が取得したユーザ位置情報を店舗情報送信装置1へ繰り返し送信する図示しない送信部とを具備する。また、ユーザの端末装置2は、店舗情報送信装置1が送信した店舗情報の少なくとも一部の情報を受信する図示しない店舗情報受信部と、その店舗情報受信部が受信した店舗情報の少なくとも一部の情報を表示する図示しない表示部とを具備していても良い。
ユーザ位置情報取得部は、GPSを用いてユーザ位置情報を取得しても良く、携帯電話、またはPHS等の基地局の位置を用いてユーザ位置情報を取得しても良く、Wi−Fiのアクセスポイントを用いてユーザ位置情報を取得しても良い。上記ユーザ位置情報を取得する方法は、いずれも公知技術であるため、詳細な説明は省略する。
送信部は、ユーザ位置情報を定期的に送信しても良く、不定期に送信しても良い。送信部がユーザ位置情報を送信するタイミングは、店舗情報送信装置1の受信部105がユーザ位置情報を取得するタイミングと同様である。なお、送信部は、ユーザ希望情報、ユーザ希望距離情報、またはユーザ識別情報を送信しても良い。
表示部は、図示しない地図格納部に格納されている地図情報を取得し、その地図情報で示される地図上の、店舗情報に対応する店舗位置情報が示す位置に店舗情報を表示しても良い。表示は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
ユーザ位置情報取得部、送信部、店舗情報受信部、および表示部は、通常、MPUやメモリ等から実現され得る。ユーザ位置情報取得部等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本実施の形態による店舗情報送信装置1の動作について図3のフローチャートを用いて説明する。
(ステップS201)受信部105は、ユーザの端末装置2から、ユーザ位置情報を受信したかどうかを判断する。受信した場合は、ステップS202へ進み、受信しなかった場合は、ステップS205へ進む。
(ステップS202)店舗位置情報特定部107は、店舗関連情報格納部101に格納されている店舗位置情報から、ステップS201で受信したユーザ位置情報が示すユーザの位置に近い店舗位置情報を特定する。ステップS202の詳細は、後述する。なお、ステップS202の処理は、図4Aから図4Cの処理うち、いずれの処理であっても良い。
(ステップS203)送信部111は、ステップS202で特定した店舗位置情報に対応する店舗情報から、送信する店舗情報を選択する。ステップS203の詳細は、後述する。なお、ステップS203の処理は、図5Aから図5D、および図7Aから図7Dの処理うち、いずれの処理であっても良い。
(ステップS204)送信部111は、ステップS203で選択した店舗情報に含まれる少なくとも一部の情報をユーザの端末装置2に送信する。そして、ステップS201へ戻る。
(ステップS205)受信部105、または訪問店舗受信部103は、ユーザの端末装置2から、ユーザ位置情報以外の情報を受信したかどうかを判断する。受信した場合は、ステップS206へ進み、受信しなかった場合は、ステップS201へ戻る。例えば、受信部105が、ユーザ希望距離情報、またはユーザ希望情報をユーザ識別情報と対応付けて受信した場合は、ステップS206へ進み、受信しなかった場合は、ステップS201へ戻る。また、例えば、訪問店舗受信部103は、ユーザ識別情報と店舗識別情報とを受信した場合は、ステップS206へ進み、受信しなかった場合は、ステップS201へ戻る。
(ステップS206)ユーザ訪問履歴追加部104等は、ステップS205で受信した情報に対して、その情報に応じた処理を行う。そして、ステップS201に戻る。例えば、受信部105は、ユーザ希望距離情報、またはユーザ希望情報をユーザ識別情報と対応付けて図示しない格納部に格納する。また、例えば、ユーザ訪問履歴追加部104は、ユーザ識別情報と店舗識別情報とを対応付けてユーザ情報格納部102に追加する。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による店舗位置情報特定部107の動作について説明する。図4Aは、図3のフローチャートのステップS202の処理の一例を示す図である。
(ステップS301)店舗位置情報特定部107は、カウンタnを1に設定する。
(ステップS302)店舗位置情報特定部107は、店舗関連情報格納部101にn番目の店舗関連情報が格納されているかどうかを判断する。格納されていた場合は、ステップS303へ進み、格納されていなかった場合は、図3のフローチャートへ戻る。
(ステップS303)店舗位置情報特定部107は、n番目の店舗関連情報が有する店舗位置情報が示す位置と、ステップS201で受信したユーザ位置情報が示す位置との距離を算出する。
(ステップS304)店舗位置情報特定部107は、ステップS303で算出した距離が、n番目の店舗関連情報が有する店舗希望距離情報が示す距離より短いかどうかを判断する。短い場合は、ステップS305へ進み、長い場合は、ステップS306へ進む。
(ステップS305)店舗位置情報特定部107は、n番目の店舗関連情報が有する店舗位置情報を特定する。
(ステップS306)店舗位置情報特定部107は、カウンタnを1だけインクリメントする。そして、ステップS302へ戻る。
次に、本実施の形態による店舗位置情報特定部107の動作について説明する。図4Bは、図3のフローチャートのステップS202の処理の一例を示す図である。なお、すでに説明したステップ番号の処理については、説明を省略する。
また、受信部105は、ステップS205において、ユーザ希望距離情報とユーザ識別情報とを対応付けて受信し、ステップS206において、受信したユーザ希望距離情報をユーザ識別情報と対応付けて図示しない格納部に格納していたものとする。また、受信部105は、ステップS201において、ユーザ位置情報をユーザ識別情報と対応付けて受信したものとする。
(ステップS401)店舗位置情報特定部107は、ステップS303で算出した距離が、ステップS201で受信したユーザ識別情報に対応付けられているユーザ希望距離情報が示す距離より短いかどうかを判断する。短い場合は、ステップS305へ進み、長い場合は、ステップS306へ進む。
次に、本実施の形態による店舗位置情報特定部107の動作について説明する。図4Cは、図3のフローチャートのステップS202の処理の一例を示す図である。なお、すでに説明したステップ番号の処理については、説明を省略する。
(ステップS501)店舗位置情報特定部107は、種類距離情報格納部106から、n番目の店舗関連情報が有する種類情報に対応する種類距離情報を取得する。
(ステップS502)店舗位置情報特定部107は、ステップS303で算出した距離が、ステップS501で取得した種類距離情報が示す距離より短いかどうかを判断する。短い場合は、ステップS305へ進み、長い場合は、ステップS306へ進む。
次に、本実施の形態による送信部111の動作について説明する。図5Aは、図3のフローチャートのステップS203の処理の一例を示す図である。
(ステップS601)送信部111は、ステップS202で特定された各店舗位置情報を、それぞれの店舗位置情報に対応する優先度情報を用いて、優先度が高い順に並び替える。なお、送信部111は、優先度情報が同じ場合は、送信部111は、同じ優先度情報を含む店舗情報をユーザ位置情報からの距離が近い順に並び替えても良い。
(ステップS602)送信部111は、ステップS601で並び替えられた店舗位置情報のうち、上位の店舗位置情報に対応する店舗情報を選択する。そして、図3のフローチャートへ戻る。
次に、本実施の形態による送信部111の動作について説明する。図5Bは、図3のフローチャートのステップS203の処理の一例を示す図である。
また、受信部105は、ステップS205において、ユーザ希望情報とユーザ識別情報とを対応付けて受信し、ステップS206において、受信したユーザ希望情報をユーザ識別情報と対応付けて図示しない格納部に格納していたものとする。また、受信部105は、ステップS201において、ユーザ位置情報をユーザ識別情報と対応付けて受信したものとする。
(ステップS701)送信部111は、カウンタmを1に設定する。
(ステップS702)送信部111は、ステップS202で特定された店舗位置情報にm番目の店舗位置情報があるかどうかを判断する。m番目の店舗位置情報があった場合は、ステップS703へ進み、m番目の店舗位置情報がなかった場合は、図3のフローチャートへ戻る。
(ステップS703)送信部111は、m番目の特定された店舗位置情報に対応する店舗情報が有する各店舗属性情報と、ステップS201で受け付けた現在位置情報を送信した端末装置のユーザのユーザ希望情報とが一致するかどうかを判断する。一致する場合は、ステップS704へ進み、一致しない場合は、ステップS705へ進む。なお、ユーザ希望情報は、ステップS205で受信され、ステップS206で図示しない格納部に格納されていたものとする。
(ステップS704)ステップS703で一致した店舗属性情報を含む店舗情報を選択する。
(ステップS705)送信部111は、カウンタmを1だけインクリメントする。そして、ステップS702へ戻る。
次に、本実施の形態による送信部111の動作について説明する。図5Cは、図3のフローチャートのステップS203の処理の一例を示す図である。なお、すでに説明したステップ番号の処理については、説明を省略する。
(ステップS801)送信部111は、m番目の特定された店舗位置情報に対応する送信期間情報に現時点が含まれているかどうかを判断する。含まれている場合は、ステップS704へ進み、含まれていない場合は、ステップS705へ進む。
次に、本実施の形態による条件構成部110、および送信部111の動作について説明する。図5Dは、図3のフローチャートのステップS203の処理の一例を示す図である。なお、すでに説明したステップ番号の処理については、説明を省略する。
(ステップS901)条件構成部110は、後述するステップS902で用いる条件を構成する。ステップS901の処理の詳細は、後述する。なお、ステップS202の処理は、図6Aおよび図6Bの処理うち、どちらの処理であっても良い。
(ステップS902)送信部111は、m番目の特定された店舗位置情報に対応する店舗情報が、ステップS901で構成された条件に合致するかどうかを判断する。合致する場合は、ステップS704へ進み、合致しない場合は、ステップS705へ進む。
次に、本実施の形態による条件構成部110の動作について説明する。図6Aは、図5DのフローチャートのステップS901の処理の一例を示す図である。
(ステップS1001)条件構成部110は、店舗属性期間情報格納部108に格納されている店舗属性情報から、現時点に対応する店舗属性情報を取得する。
(ステップS1002)条件構成部110は、ステップS1001で取得した店舗属性情報を組み合わせて条件を構成する。
次に、本実施の形態による条件構成部110の動作について説明する。図6Bは、図5DのフローチャートのステップS901の処理の一例を示す図である。
(ステップS1101)条件構成部110は、ユーザ情報格納部102から、ステップS201で受け付けた現在位置情報を送信した端末装置のユーザを識別するユーザ識別情報で識別されるユーザ情報を取得する。
(ステップS1102)条件構成部110は、条件要素情報格納部109に格納されている条件要素情報から、ステップS1101で取得したユーザ情報が有する各ユーザ属性情報にそれぞれ対応する条件要素情報を取得する。
(ステップS1103)条件構成部110は、ステップS1102で取得した条件要素情報を組み合わせて条件を構成する。
次に、本実施の形態による送信部111の動作について説明する。図7Aは、図3のフローチャートのステップS203の処理の一例を示す図である。なお、すでに説明したステップ番号の処理については、説明を省略する。
また、訪問店舗受信部103は、ステップS205において、ユーザ識別情報と、そのユーザ識別情報で識別されたユーザが訪れた店舗を識別する店舗識別情報とを対応付けて受信する。そしてユーザ訪問履歴追加部104は、ステップS206において、ステップS205で受信した店舗識別情報等をユーザ情報格納部102に対応付けて追加していたものとする。また、受信部105は、ステップS201において、ユーザ位置情報をユーザ識別情報と対応付けて受信したものとする。
(ステップS1201)送信部111は、m番目の特定された店舗位置情報に対応する店舗情報が、ステップS201で受信したユーザ識別情報で識別されるユーザ情報が有するいずれかの店舗識別情報で識別されるかどうかを判断する。識別される場合は、ステップS704へ進み、識別されない場合は、ステップS705へ進む。
次に、本実施の形態による送信部111の動作について説明する。図7Bは、図3のフローチャートのステップS203の処理の一例を示す図である。なお、すでに説明したステップ番号の処理については、説明を省略する。
また、訪問店舗受信部103は、ステップS205において、ユーザ識別情報と、そのユーザ識別情報で識別されたユーザが訪れた店舗を識別する店舗識別情報とを対応付けて受信する。そしてユーザ訪問履歴追加部104は、ステップS206において、ステップS205で受信した店舗識別情報等をユーザ情報格納部102に対応付けて追加していたものとする。また、受信部105は、ステップS201において、ユーザ位置情報をユーザ識別情報と対応付けて受信したものとする。
(ステップS1301)送信部111は、m番目の特定された店舗位置情報に対応する店舗情報が有する店舗属性情報が、ステップS201で受信したユーザ識別情報で識別されるユーザ情報が有する店舗識別情報で識別される店舗情報が有する店舗属性情報と類似するかどうかを判断する。類似する場合は、ステップS704へ進み、類似しない場合は、ステップS705へ進む。
次に、本実施の形態による送信部111の動作について説明する。図7Cは、図3のフローチャートのステップS203の処理の一例を示す図である。なお、すでに説明したステップ番号の処理については、説明を省略する。
また、訪問店舗受信部103は、ステップS205において、ユーザ識別情報と、そのユーザ識別情報で識別されたユーザが訪れた店舗を識別する店舗識別情報とを対応付けて受信する。そしてユーザ訪問履歴追加部104は、ステップS206において、ステップS205で受信した店舗識別情報等をユーザ情報格納部102に対応付けて追加していたものとする。また、受信部105は、ステップS201において、ユーザ位置情報をユーザ識別情報と対応付けて受信したものとする。
(ステップS1401)送信部111は、ステップS201で受信したユーザ識別情報で識別されるユーザ情報が有する店舗識別情報と、多く重複する店舗識別情報を含むユーザ情報の店舗識別情報を取得する。
(ステップS1402)送信部111は、ステップS1401で取得した店舗識別情報から、ステップS201で受信したユーザ識別情報で識別されるユーザ情報が有する店舗識別情報を除いた店舗識別情報を取得する。
(ステップS1403)送信部111は、m番目の特定された店舗位置情報に対応する店舗情報が、ステップS1402で取得した店舗識別情報のいずれかで識別されるかどうかを判断する。識別される場合は、ステップS704へ進み、識別されない場合は、ステップS705へ進む。
次に、本実施の形態による送信部111の動作について説明する。図7Dは、図3のフローチャートのステップS203の処理の一例を示す図である。なお、すでに説明したステップ番号の処理については、説明を省略する。
また、訪問店舗受信部103は、ステップS205において、ユーザ識別情報と、そのユーザ識別情報で識別されたユーザが訪れた店舗を識別する店舗識別情報とを対応付けて受信する。そしてユーザ訪問履歴追加部104は、ステップS206において、ステップS205で受信した店舗識別情報等をユーザ情報格納部102に対応付けて追加していたものとする。また、受信部105は、ステップS201において、ユーザ位置情報をユーザ識別情報と対応付けて受信したものとする。
(ステップS1501)送信部111は、ステップS201で受信したユーザ識別情報で識別されるユーザ情報が有するユーザ属性情報と類似するユーザ情報を取得する。
(ステップS1502)送信部111は、ステップS1501で取得したユーザ情報が有する店舗識別情報を取得する。
(ステップS1503)送信部111は、ステップS1502で取得した店舗識別情報から、ステップS201で受信したユーザ識別情報で識別されるユーザ情報が有する店舗識別情報を除いた店舗識別情報を取得する。
(ステップS1504)送信部111は、m番目の特定された店舗位置情報に対応する店舗情報が、ステップS1503で取得した店舗識別情報のいずれかで識別されるかどうかを判断する。識別される場合は、ステップS704へ進み、識別されない場合は、ステップS705へ進む。
以下、本実施の形態における店舗情報送信装置1の具体的な動作について説明する。なお、本具体例において示した各図面の情報は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。また、本実施例において、店舗情報送信装置1は、ユーザ登録を済ませたユーザのみが利用できるものとする。つまり、ユーザ情報格納部102には、店舗情報送信装置1を利用するユーザすべてのユーザ情報が予め格納されているものとする。また、本具体例において、ユーザは、普段から店舗情報送信装置1を利用しているものとする。そのため、訪問店舗受信部103は、このユーザを識別するユーザ識別情報と、このユーザが過去に訪問した店舗識別情報とを受信しており(ステップS205)、ユーザ訪問履歴追加部104は、そのユーザ識別情報によって識別されるユーザ情報に、その店舗識別情報を追加しているものとする(ステップS206)。
本具体例において、店舗関連情報格納部101には、図8で示されるテーブルが格納されているものとする。図8のテーブルは、店舗IDと店舗関連情報とを有している。なお、店舗関連情報は、店舗位置情報と店舗情報と店舗希望距離情報と送信期間情報とを有している。さらに店舗情報は、名称と種類情報と優先度情報と店舗属性情報とを有している。例えば、店舗ID「100」は、店舗位置情報「34.581496,135.165825」と、名称「ヴォーノ」と、種類情報「イタリアンレストラン」と、優先度情報「1」と、店舗属性情報「[・ランチ,・ワインの種類多め,・おしゃれ]」と、店舗希望距離情報「1000m」と、送信期間情報「[11:00〜14:00,18:00〜23:00]」とが登録されている。
ユーザは、ユーザの端末装置2を所持して町を歩いていたものとする。そして、ユーザの端末装置2は、店舗情報送信装置1に対して現在位置を示すユーザ位置情報「34.566302,135.165739」を送信したものとする。受信部105は、そのユーザ位置情報「34.566302,135.165739」を受信する(ステップS201)。
ユーザ位置情報が受信されると、店舗位置情報特定部107は、店舗関連情報格納部101に格納されている店舗関連情報の中から、ユーザの位置に近い店舗位置情報を特定する(ステップS202)。「特定する」は、特定される対象を識別する情報を図示しない格納部に記憶することであっても良く、特定される対象に対して、特定したことを示すフラグを設定することであっても良い。店舗位置情報特定部107が店舗ID「100」の店舗位置情報との距離を算出したとする(ステップS301〜ステップS303)。なお、ユーザ位置情報「34.566302,135.165739」と、店舗ID「100」に対応する店舗位置情報「34.581496,135.165825」との距離は、「約1691m」である。店舗位置情報特定部107は、距離「約1691m」が、店舗ID「100」に対応する店舗希望距離情報「1000m」より遠いことから条件を満たさないと判断する(ステップS304)。そして、店舗位置情報特定部107は、次の店舗ID「101」について同様に処理を行う(ステップS306)。店舗位置情報特定部107は、ユーザ位置情報「34.566302,135.165739」と、店舗ID「101」の店舗位置情報との距離「約274m」を算出する(ステップS303)。店舗位置情報特定部107は、距離「274m」が、店舗ID「101」の店舗希望距離情報「1500m」より近いことから条件を満たすと判断する(ステップS304)。条件を満たしたため、店舗位置情報特定部107は、店舗ID「101」の店舗位置情報を特定する(ステップS305)。さらに、店舗位置情報特定部107は、同様にして、ユーザ位置情報「34.566302,135.165739」との距離が「約330m」である店舗ID「102」の店舗位置情報と、「約297m」である店舗ID「103」の店舗位置情報と、「約269m」である店舗ID「104」の店舗位置情報等とを特定したものとする。
店舗位置情報特定部107が店舗位置情報を特定すると、送信部111は、その店舗位置情報に対応する店舗情報のうち、所定の条件に合致する店舗情報の一部を選択する(ステップS203)。送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する優先度情報を用いて、その店舗位置情報に対応する店舗情報を降順に並び替える(ステップS601)。送信部111は、並び替えた店舗位置情報の上位3件である店舗ID「102」の店舗情報と店舗ID「104」の店舗情報と店舗ID「101」の店舗情報とを選択する(ステップS602)。そして、送信部111は、選択した3件の店舗情報に含まれる一部の情報と店舗位置情報である「[調合ドラッグ,34.563404,135.166512,{・クーポン券有り,・薬剤師常駐,・タイムセール(10:00〜12:00)}],[酒心,34.563899,135.165997,{・焼酎の種類多め,・コース有り,・夜景スポット,・ディナー,・個室有り}],[なごみ庵,34.563969,135.164795,{・カクテルの種類多め,・個室有り,・ディナー,・ハッピータイム(16:00〜18:00)}]」をユーザの端末装置2に送信する(ステップS204)。その結果、ユーザの端末装置2のディスプレイには、図13のように、送信部111によって送信された情報をそれぞれ地図上に星型のアイコンで配置された様子が表示される。さらにユーザは、星型のアイコンを選択することで、その詳細を確認できる。
受信部105は、繰り返しユーザ位置情報を受信する。そのため、ユーザが現在位置「34.577004,135.156397」まで移動した場合は、店舗ID「100」の店舗位置情報との距離が、「約998m」となるため、送信部111は、店舗ID「100」の店舗情報を送信するようになる。
なお、受信部105が、ユーザ希望距離情報「300m」も、ユーザ位置情報「34.566302,135.165739」と対応付けて受信したとする場合は、店舗位置情報特定部107は、ユーザ希望距離情報「300m」よりも近い店舗ID「101」の店舗位置情報と店舗ID「103」の店舗位置情報と店舗ID「104」の店舗位置情報とを特定しても良い(ステップS401、およびステップS305)。
また、店舗情報送信装置1が種類距離情報格納部106を用いる場合は、店舗位置情報特定部107は、種類距離情報格納部106に格納されている情報を用いて店舗位置情報を特定しても良い。種類距離情報格納部106には、図9で示されるテーブルが格納されているものとする。図9のテーブルは、種類情報と種類距離情報とを有している。例えば、このテーブルには、種類情報「スポーツ用品店」と、種類距離情報「2000m」とが登録されている。この場合において、受信部105が、ユーザ位置情報「34.566302,135.165739」を受信したとするとき、店舗位置情報特定部107は、種類情報「居酒屋」に対応する種類距離情報「1500m」よりも近い店舗ID「101」の店舗位置情報と店舗ID「104」の店舗位置情報、種類情報「ドラッグストア」に対応する種類距離情報「1000m」よりも近い店舗ID「102」の店舗位置情報、および、種類情報「スポーツ用品店」に対応する種類距離情報「2000m」よりも近い店舗ID「103」の店舗位置情報を特定しても良い(ステップS501、ステップS502、およびステップS305)。
また、受信部105が、ユーザ希望情報「店舗情報:ドラッグストア」も、ユーザ位置情報「34.566302,135.165739」と対応付けて受信する場合で、店舗位置情報特定部107が、店舗ID「101」の店舗位置情報と、店舗ID「102」の店舗位置情報と、店舗ID「103」の店舗位置情報と、店舗ID「104」の店舗位置情報等とを特定したとするときは、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、その店舗位置情報に対応する種類情報が「ドラッグストア」である店舗ID「102」の店舗情報のみを選択しても良い(ステップS701〜ステップS705)。
また、店舗位置情報特定部107が、店舗ID「101」の店舗位置情報と、店舗ID「102」の店舗位置情報と、店舗ID「103」の店舗位置情報と、店舗ID「104」の店舗位置情報等とを特定したとする場合で、送信部111が現時点「月曜日 23:00」を取得したとするときは、送信部111は、店舗位置情報特定部107が特定した店舗位置情報に対応する店舗情報のうち、その店舗位置情報に対応する送信期間情報が現時点「月曜日 23:00」を含む送信期間情報である店舗ID「103」の店舗情報と、店舗ID「104」の店舗情報とを選択しても良い(ステップS701〜ステップS702、ステップS801、およびステップS704〜ステップS705)。
また、店舗情報送信装置1が店舗属性期間情報格納部108を用いる場合は、送信部111は、店舗属性期間情報格納部108に格納されている情報を用いて店舗情報を選択しても良い。店舗属性期間情報格納部108には、図10で示されるテーブルが格納されているものとする。図10のテーブルは、店舗属性情報と属性期間情報とを有している。例えば、このテーブルには、店舗属性情報「ランチ」と、属性期間情報「12:00〜15:00」とが登録されている。この場合において、現時点が「16:00」であるとするとき、条件構成部110は、現時点「16:00」を含む属性期間情報に対応する店舗属性情報「ハッピータイム(16:00〜18:00)」を取得し(ステップS1001)、その店舗属性を含むことを条件とする条件を構成しても良い(ステップS1002)。そして、店舗位置情報特定部107が、店舗ID「101」の店舗位置情報と、店舗ID「102」の店舗位置情報と、店舗ID「103」の店舗位置情報と、店舗ID「104」の店舗位置情報等とを特定していたとする場合は、送信部111は、条件構成部110が構成した条件「ハッピータイム(16:00〜18:00)を含む」に合致する店舗ID「101」の店舗情報のみを選択しても良い(ステップS701〜ステップS702、ステップS902、およびステップS704〜ステップS705)。
また、店舗情報送信装置1がユーザ情報格納部102と条件要素情報格納部109とを用いる場合は、送信部111は、ユーザ情報格納部102と条件要素情報格納部109とに格納されている情報を用いて店舗情報を選択しても良い。ユーザ情報格納部102には、図11で示されるテーブルが格納されているものとする。図11のテーブルは、ユーザ識別情報(ユーザIDともいう)とユーザ情報とを有している。なお、ユーザ情報は、店舗識別情報とユーザ属性情報とを有している。例えば、このテーブルには、ユーザ識別情報「200」と、店舗識別情報「[・101,・200]」と、ユーザ属性情報「[・20歳,・男性,・趣味:ゴルフ]」とが登録されている。また、条件要素情報格納部109には、図12で示されるテーブルが格納されているものとする。図12のテーブルは、ユーザ属性情報と属性期間情報とを有している。例えば、このテーブルには、ユーザ属性情報「20歳以上」と、条件要素情報「[・カクテルの種類多め,・日本酒の種類多め,・ワインの種類多め,・焼酎の種類多め]」とが登録されている。この場合において、受信部105がユーザ識別情報「204」をも受信したとするとき、条件構成部110は、ユーザ識別情報「204」に対応するユーザ属性情報「[・14歳,・女性]」に対応する条件要素情報「[・おしゃれ,・夜景スポット]」を取得し(ステップS1101〜ステップS1102)、その条件要素情報のいずれかを含むことを条件とする条件を構成しても良い(ステップS1103)。そして、店舗位置情報特定部107が、店舗ID「101」の店舗位置情報と、店舗ID「102」の店舗位置情報と、店舗ID「103」の店舗位置情報と、店舗ID「104」の店舗位置情報等とを特定していたとする場合は、送信部111は、条件構成部110が構成した条件「[・おしゃれ,・夜景スポット]のいずれかを含む」に合致する店舗ID「104」の店舗情報のみを選択しても良い(ステップS701〜ステップS702、ステップS902、およびステップS704〜ステップS705)。
また、店舗情報送信装置1が上述のユーザ情報格納部102を用いる場合は、送信部111は、ユーザ情報格納部102に格納されている情報を用いて店舗情報を選択しても良い。この場合において、受信部105がユーザ識別情報「200」を受信し、店舗位置情報特定部107が、店舗ID「101」の店舗位置情報と、店舗ID「102」の店舗位置情報と、店舗ID「103」の店舗位置情報と、店舗ID「104」の店舗位置情報等とを特定していたとするときは、送信部111は、ユーザ識別情報「200」に対応する店舗識別情報「[・101,・200]」に含まれる店舗ID「101」の店舗情報のみを選択しても良い(ステップS701〜ステップS702、ステップS1201、およびステップS704〜ステップS705)。また、送信部111は、ユーザ識別情報「200」に対応する店舗識別情報「[・101,・200]」に対応する店舗属性情報「[・カクテルの種類多め,・個室有り,・ディナー,・ハッピータイム(16:00〜18:00)等]」のうちの半分にあたる、「[・個室あり,・ディナー]」が重複する店舗属性情報に対応する店舗ID「104」の店舗情報のみを選択しても良い(ステップS701〜ステップS702、ステップS1301、およびステップS704〜ステップS705)。また、送信部111は、ユーザ識別情報「200」に対応する店舗識別情報「[・101,・200]」のすべてを含む店舗識別情報に対応するユーザID「202」の店舗識別情報「[・101,・103,・104・200]」を取得する(ステップS1401)。そして、送信部111は、店舗識別情報「[・101,・103,・104・150,・200]」から店舗識別情報「[・101,・200]」を除いた店舗識別情報「[103,104,150]」に含まれる店舗ID「103」の店舗情報と、店舗ID「104」の店舗情報とを選択しても良い(ステップS1402、ステップS701〜ステップS702、ステップS1403、およびステップS704〜ステップS705)。また、送信部111は、ユーザ識別情報「200」に対応するユーザ属性情報「[・20歳,・男性,・趣味:ゴルフ]」のうち、半分以上が重複するユーザ属性情報に対応するユーザID「203」の店舗識別情報「[・57,・75,・102]」を取得する(ステップS1501〜ステップS1502)。そして、送信部111は、店舗識別情報「[・57,・75,・102]」から、ユーザ識別情報「200」に対応する店舗識別情報「[・101,・200]」を除いた店舗識別情報「[・57,・75,・102]」に含まれる店舗ID「102」の店舗情報のみを選択しても良い(ステップS1503、ステップS701〜ステップS702、ステップS1504、およびステップS704〜ステップS705)。
以上、本実施の形態によれば、受信部105が繰り返しユーザ位置情報を受信することができる。これにより、ユーザは、現在位置周辺の店舗の情報を自動的に取得できる。よって、例えば、ユーザは、自分が意図しなかったタイミングでも周辺の店舗の情報が取得できるため、ユーザの利便性を向上させることができる。また、店舗位置情報特定部107が、店舗関連情報が有する店舗希望距離を用いて、店舗位置情報を特定できる。これにより、店舗の関係者は、情報を提供する距離の範囲を設定できる。よって、店舗側は、自身の商売の商圏を考慮して店舗の情報を提供できる。また、受信部105が、ユーザ希望距離情報を受信できる。これにより、ユーザは、情報を受信する距離の範囲を設定できる。よって、ユーザは、自分の行動範囲に合致した店舗の情報のみを取得できる。また、種類距離情報格納部106がある場合は、店舗位置情報特定部107は、種類距離情報格納部106に格納されている種類距離情報を用いて店舗位置情報を特定できる。これにより、店舗の種類に応じて設定された距離の範囲内にいるユーザに店舗の情報を提供できる。よって、ユーザや店舗の関係者は、設定を行わなくても良くなる。また、店舗位置情報特定部107が店舗希望距離情報、ユーザ希望距離情報、または種類距離情報のうち、いずれか2種類以上の閾値を満たすほど近いかどうかを判断する場合は、送信部111は、店舗位置情報特定部107が1種類のみの閾値を用いて判断する場合よりも、より適切な店舗情報を送信できる。また、送信部111は、所定の条件に合致する店舗情報のみを送信できる。これにより、店舗とユーザとの距離以外の情報を用いて送信する店舗の情報を限定できる。また、受信部105は、ユーザ希望情報を受信できる。これにより、ユーザは、興味のある情報を選択して取得できる。よって、ユーザは、自分にとって不要な店舗の情報を取得しないようにできる。また、条件構成部110は、現時点やユーザの情報を考慮した条件を構成できる。これにより、ユーザは、現時点やそのユーザの属性に応じて構成された条件に合致する店舗の情報を取得できる。よって、ユーザは、設定を行わなくても店舗の情報を取得できる。また、送信部111は、現時点が、店舗情報に対応する送信期間情報に含まれている送信情報のみを送信できる。これにより、現時点において適切な店舗の情報を提供できる。よって、ユーザは、現時点において意味のある店舗の情報のみを取得できる。
また、本実施の形態では、種類距離情報格納部106を備える場合について説明したが、店舗情報送信装置1は、種類距離情報格納部106を備えていなくても良い。その場合には、店舗位置情報特定部107は、店舗関連情報格納部101に格納されている店舗希望距離情報、または受信部105が受信したユーザ希望距離情報を用いて、距離条件を満たすほど近いかどうかを判断しても良い。
また、本実施の形態では、店舗属性期間情報格納部108を備える場合について説明したが、店舗情報送信装置1は、店舗属性期間情報格納部108を備えていなくても良い。その場合には、条件構成部110は、条件要素情報格納部109に格納されている条件要素情報を用いて条件を構成しても良い。
また、本実施の形態では、条件要素情報格納部109を備える場合について説明したが、店舗情報送信装置1は、条件要素情報格納部109を備えていなくても良い。その場合には、条件構成部110は、店舗属性期間情報格納部108に格納されている店舗属性情報を用いて条件を構成しても良い。
また、本実施の形態では、店舗属性期間情報格納部108と条件要素情報格納部109と条件構成部110を備える場合について説明したが、店舗情報送信装置1は、店舗属性期間情報格納部108と条件要素情報格納部109と条件構成部110を備えていなくても良い。その場合には、送信部111は、条件構成部110で構成された条件である所定の条件を用いて店舗情報を選択しなくても良い。
また、本実施の形態では、ユーザ情報格納部102と、訪問店舗受信部103と、ユーザ訪問履歴追加部104とを備える場合について説明したが、店舗情報送信装置1は、ユーザ情報格納部102と、訪問店舗受信部103と、ユーザ訪問履歴追加部104とを備えていなくても良い。その場合には、送信部111は、ユーザ情報格納部に格納されている店舗識別情報を用いた条件である所定の条件を用いて店舗情報を選択しなくても良い。
また、本実施の形態における店舗情報送信装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、プログラムは、店舗に関する情報である店舗情報と、店舗の位置を示す情報である店舗位置情報とを含む店舗関連情報が1以上格納される店舗関連情報格納部にアクセス可能なコンピュータを、ユーザの端末装置から、ユーザの現在位置を示す情報であるユーザ位置情報を繰り返し受信する受信部、受信部が受信したユーザ位置情報によって示される位置から、店舗位置情報によって示される位置までの距離が、距離条件を満たすほど近い位置を示す店舗位置情報を特定する店舗位置情報特定部、店舗位置情報特定部が特定した店舗位置情報を含む店舗関連情報が有する店舗情報の少なくとも一部を、ユーザの端末装置へ送信する送信部として機能させるためのプログラムである。
なお、本実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されても良く、または、複数の装置によって分散処理されることによって実現されても良い。また、本実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の手段で実現されても良いことは言うまでもない。
また、本実施の形態において、各構成要素は、専用のハードウェアにより構成されても良く、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されても良い。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行手段が読み出して実行することによって、各構成要素が実現され得る。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得手段や、情報を出力する出力手段等におけるモデムやインターフェースカード等のハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
図14は、上記プログラムを実行して、上記実施の形態による本発明を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。
図14において、コンピュータシステム1100は、CD−ROMドライブ1105、FDドライブ1106を含むコンピュータ1101と、キーボード1102と、マウス1103と、モニタ1104とを備える。
図15は、コンピュータシステム1100の内部構成を示す図である。図15において、コンピュータ1101は、CD−ROMドライブ1105、FDドライブ1106に加えて、MPU1111と、ブートアッププログラム等のプログラムを蓄積するためのROM1112と、MPU1111に接続され、アプリケーションプログラムの命令を一時的に蓄積すると共に、一時記憶空間を提供するRAM1113と、アプリケーションプログラム、システムプログラム、およびデータを蓄積するハードディスク1114と、MPU1111と、ROM1112等を相互に接続するバス1115とを備える。なお、コンピュータ1101は、LANへの接続を提供する図示しないネットワークカードを含んでいても良い。
コンピュータシステム1100に、上記実施の形態による本発明等の機能を実行させるプログラムは、CD−ROM1121、またはFD1122に蓄積されて、CD−ROMドライブ1105、またはFDドライブ1106に挿入され、ハードディスク1114に転送されても良い。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ1101に送信され、ハードディスク1114に蓄積されても良い。プログラムは実行の際にRAM1113にロードされる。なお、プログラムは、CD−ROM1121やFD1122、またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ1101に、上記実施の形態による本発明の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいても良い。コンピュータシステム1100がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。また、本発明における各手段の「部」は、「手段」や「回路」と読み替えても良い。