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

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

▶ 株式会社コナミデジタルエンタテインメントの特許一覧

<>
  • 特許5802143-サーバ、制御方法およびプログラム 図000002
  • 特許5802143-サーバ、制御方法およびプログラム 図000003
  • 特許5802143-サーバ、制御方法およびプログラム 図000004
  • 特許5802143-サーバ、制御方法およびプログラム 図000005
  • 特許5802143-サーバ、制御方法およびプログラム 図000006
  • 特許5802143-サーバ、制御方法およびプログラム 図000007
  • 特許5802143-サーバ、制御方法およびプログラム 図000008
  • 特許5802143-サーバ、制御方法およびプログラム 図000009
  • 特許5802143-サーバ、制御方法およびプログラム 図000010
  • 特許5802143-サーバ、制御方法およびプログラム 図000011
  • 特許5802143-サーバ、制御方法およびプログラム 図000012
  • 特許5802143-サーバ、制御方法およびプログラム 図000013
  • 特許5802143-サーバ、制御方法およびプログラム 図000014
  • 特許5802143-サーバ、制御方法およびプログラム 図000015
  • 特許5802143-サーバ、制御方法およびプログラム 図000016
  • 特許5802143-サーバ、制御方法およびプログラム 図000017
  • 特許5802143-サーバ、制御方法およびプログラム 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5802143
(24)【登録日】2015年9月4日
(45)【発行日】2015年10月28日
(54)【発明の名称】サーバ、制御方法およびプログラム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20151008BHJP
   A63B 71/06 20060101ALI20151008BHJP
   G06Q 30/02 20120101ALI20151008BHJP
【FI】
   G06Q50/10
   A63B71/06 U
   A63B71/06 F
   G06Q30/02 130
   G06Q50/10 160
【請求項の数】10
【全頁数】31
(21)【出願番号】特願2012-24450(P2012-24450)
(22)【出願日】2012年2月7日
(65)【公開番号】特開2013-161366(P2013-161366A)
(43)【公開日】2013年8月19日
【審査請求日】2013年12月2日
(73)【特許権者】
【識別番号】506113602
【氏名又は名称】株式会社コナミデジタルエンタテインメント
(74)【代理人】
【識別番号】100125689
【弁理士】
【氏名又は名称】大林 章
(72)【発明者】
【氏名】夏目 恭行
(72)【発明者】
【氏名】篠田 健吾
(72)【発明者】
【氏名】橋本 卓也
【審査官】 山本 雅士
(56)【参考文献】
【文献】 特開平05−137825(JP,A)
【文献】 特開2006−334032(JP,A)
【文献】 特開2002−024466(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 − 50/34
A63B 71/06
(57)【特許請求の範囲】
【請求項1】
スポーツ施設でスポーツをプレイした利用者のプレイ結果と、プレイした日を示す日付情報とを含むプレイ情報を管理し、当該プレイ情報を利用者が操作する端末に提供するサーバであって、
前記利用者のプレイ情報および前記利用者がプレイしたスポーツ施設を示す施設情報を、前記利用者を識別する第1の利用者識別情報と関連付けて管理する管理部と、
前記管理部が管理する情報の中から、前記端末から指定されたプレイ情報に関連付けられている第1の利用者識別情報および施設情報を特定する特定部と、
前記特定部が特定した第1の利用者識別情報で特定される利用者の個人情報を取得する第1取得部と、
前記特定部が特定した施設情報が示すスポーツ施設での各利用者の前記プレイ情報および個人情報を当該利用者を識別する第2の利用者識別情報と関連付けて管理する管理装置にアクセスし、前記第1取得部が取得した個人情報と、前記指定されたプレイ情報に含まれる前記日付情報または前記端末から入力されたプレイ日を示す日時情報とに適合する前記第2の利用者識別情報を取得する第2取得部と、
前記指定されたプレイ情報と前記第2取得部が取得した第2の利用者識別情報とを前記管理装置に送信する送信部と、
を備えることを特徴とするサーバ。
【請求項2】
前記管理部は、前記第2取得部が取得した第2の利用者識別情報を、前記特定部が特定した第1の利用者識別情報および施設情報と関連付けて管理し、
前記第2取得部は、
前記特定部が特定した第1の利用者識別情報および施設情報と関連付けて前記管理部に第2の利用者識別情報が管理されている場合は、当該第2の利用者識別情報を前記管理部から取得し、
前記特定部が特定した第1の利用者識別情報および施設情報と関連付けて前記管理部に第2の利用者識別情報が管理されていない場合は、前記管理装置にアクセスし、前記第1取得部が取得した個人情報と、前記指定されたプレイ情報に含まれる前記日付情報または前記端末から入力されたプレイ日を示す日時情報とに適合する第2の利用者識別情報を取得する
ことを特徴とする請求項1に記載のサーバ。
【請求項3】
前記第1取得部は、前記端末から第1の利用者識別情報および施設情報が指定されると、指定された第1の利用者識別情報で特定される利用者の個人情報を取得し、
前記第2取得部は、前記指定された施設情報に対応する前記管理装置にアクセスし、前記第1取得部が取得した個人情報に適合する第2の利用者識別情報と、当該第2の利用者識別情報と関連付けられているプレイ情報とを取得し、
前記管理部は、前記第2取得部が取得したプレイ情報を、前記指定された第1の利用者識別情報および施設情報と関連付けて管理する
ことを特徴とする請求項1に記載のサーバ。
【請求項4】
前記管理部は、前記第2取得部が取得した第2の利用者識別情報を、前記指定された第1の利用者識別情報および施設情報と関連付けて管理し、
前記第2取得部は、
前記指定された第1の利用者識別情報および施設情報と関連付けて前記管理部に第2の利用者識別情報が管理されている場合は、当該第2の利用者識別情報と関連付けられているプレイ情報を前記管理装置から取得し、
前記指定された第1の利用者識別情報および施設情報と関連付けて前記管理部に第2の利用者識別情報が管理されていない場合は、前記管理装置にアクセスし、前記第1取得部が取得した個人情報に適合する第2の利用者識別情報と、当該第2の利用者識別情報と関連付けられているプレイ情報とを取得する
ことを特徴とする請求項に記載のサーバ。
【請求項5】
前記第2取得部は、前記第2の利用者識別情報と関連付けられているプレイ情報のうち、前記管理部が管理していないプレイ情報を取得する
ことを特徴とする請求項またはに記載のサーバ。
【請求項6】
前記端末からプレイ情報の閲覧が要求されると、閲覧が要求されたプレイ情報と、当該プレイ情報に関連付けられている施設情報とを前記管理部から取得して前記端末に送信する閲覧制御部をさらに備える
ことを特徴とする請求項1乃至のうちいずれか1項に記載のサーバ。
【請求項7】
前記管理部は、一緒にプレイした複数の利用者の各々のプレイ情報に対し、同伴プレイ識別情報として同じ識別情報を関連付けて管理し、
前記閲覧制御部は、閲覧が要求されたプレイ情報に前記同伴プレイ識別情報が関連付けられている場合は、当該同伴プレイ識別情報が関連付けられている複数のプレイ情報を前記管理部から取得して前記端末に送信する
ことを特徴とする請求項に記載のサーバ。
【請求項8】
一緒にプレイした複数の利用者の各々のプレイ情報を前記端末から受信する受信部と、
前記受信部が受信した複数のプレイ情報の各々に対し、前記同伴プレイ識別情報を付与する付与部と、をさらに備える
ことを特徴とする請求項に記載のサーバ。
【請求項9】
スポーツ施設でスポーツをプレイした利用者のプレイ結果と、プレイした日を示す日付情報とを含むプレイ情報を管理し、当該プレイ情報を利用者が操作する端末に提供するサーバの制御方法であって、
前記利用者のプレイ情報および前記利用者がプレイしたスポーツ施設を示す施設情報を、前記利用者を識別する第1の利用者識別情報と関連付けて管理し、
管理する情報の中から、前記端末から指定されたプレイ情報に関連付けられている第1の利用者識別情報および施設情報を特定し、
特定した第1の利用者識別情報で特定される利用者の個人情報を取得し、
特定した施設情報が示すスポーツ施設での各利用者の前記プレイ情報および個人情報を当該利用者を識別する第2の利用者識別情報と関連付けて管理する管理装置にアクセスし、前記取得した個人情報と、前記指定されたプレイ情報に含まれる前記日付情報または前記端末から入力されたプレイ日を示す日時情報とに適合する前記第2の利用者識別情報を取得し、
前記指定されたプレイ情報と取得した第2の利用者識別情報とを前記管理装置に送信する、
ことを特徴とするサーバの制御方法。
【請求項10】
スポーツ施設でスポーツをプレイした利用者のプレイ結果と、プレイした日を示す日付情報とを含むプレイ情報を管理し、当該プレイ情報を利用者が操作する端末に提供するコンピュータを、
前記利用者のプレイ情報および前記利用者がプレイしたスポーツ施設を示す施設情報を、前記利用者を識別する第1の利用者識別情報と関連付けて管理する管理部、
前記管理部が管理する情報の中から、前記端末から指定されたプレイ情報に関連付けられている第1の利用者識別情報および施設情報を特定する特定部、
前記特定部が特定した第1の利用者識別情報で特定される利用者の個人情報を取得する第1取得部、
前記特定部が特定した施設情報が示すスポーツ施設での各利用者の前記プレイ情報および個人情報を当該利用者を識別する第2の利用者識別情報と関連付けて管理する管理装置にアクセスし、前記第1取得部が取得した個人情報と、前記指定されたプレイ情報に含まれる前記日付情報または前記端末から入力されたプレイ日を示す日時情報とに適合する前記第2の利用者識別情報を取得する第2取得部、および
前記指定されたプレイ情報と前記第2取得部が取得した第2の利用者識別情報とを前記管理装置に送信する送信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スポーツ施設でスポーツをプレイした利用者のプレイ情報(プレイ結果やプレイ日等)を管理する技術に関する。
【背景技術】
【0002】
例えば、特許文献1には、ゴルフ場の会員に対し、スコアの管理サービスを提供するゴルフ場管理装置が記載されている。また、特許文献2,3には、複数のゴルフ場でゴルフをプレイしたユーザのスコアをサーバで一元管理することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−113535号公報
【特許文献2】特開2004−246858号公報
【特許文献3】特開2004−078492号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、利用者のスコアを一元管理するサーバとゴルフ場管理装置とは別個のシステムであるため、各々独自に利用者IDを付与して各利用者のスコアデータを管理している。つまり、同じ利用者であっても、サーバで付与される利用者IDと、ゴルフ場管理装置で付与される利用者IDとは異なる。このようにサーバで使用される利用者IDと、ゴルフ場管理装置で使用される利用者IDとは異なるため、サーバとゴルフ場管理装置との間でスコアデータの受け渡しを行うことができないという問題があった。
【0005】
本発明は、上述した事情に鑑みてなされたものであり、サーバと管理装置が各々独自の利用者識別情報を使用して各利用者のプレイ情報を管理している場合であっても、両者の間でプレイ情報の受け渡しができるようにすることを解決課題とする。
【課題を解決するための手段】
【0006】
以上の課題を解決するため本発明が採用する手段を以下に説明する。なお、本発明の理解を容易にするため添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の態様に限定されるものではない。
【0007】
本発明に係るサーバ(10)は、スポーツ施設(G)でスポーツをプレイした利用者のプレイ結果を含むプレイ情報を管理し、当該プレイ情報を利用者が操作する端末(50)に提供するサーバ(10)であって、前記利用者のプレイ情報および前記利用者がプレイしたスポーツ施設(G)を示す施設情報を、前記利用者を識別する第1の利用者識別情報と関連付けて管理する管理部(110,150)と、前記管理部(110,150)が管理する情報の中から、前記端末(50)から指定されたプレイ情報に関連付けられている第1の利用者識別情報および施設情報を特定する特定部(110)と、前記特定部(110)が特定した第1の利用者識別情報で特定される利用者の個人情報を取得する第1取得部(110)と、前記特定部(110)が特定した施設情報が示すスポーツ施設(G)での各利用者のプレイ情報および個人情報を当該利用者を識別する第2の利用者識別情報と関連付けて管理する管理装置(20)にアクセスし、前記第1取得部(110)が取得した個人情報に適合する前記第2の利用者識別情報を取得する第2取得部(110,140)と、前記指定されたプレイ情報と前記第2取得部(110,140)が取得した第2の利用者識別情報とを前記管理装置(20)に送信する送信部(110,140)と、を備えることを特徴とする。
【0008】
以上の構成によれば、サーバは、例えば、スポーツ施設Aでの利用者Xのプレイ情報をスポーツ施設Aの管理装置に送信する場合に、スポーツ施設Aの管理装置から利用者Xの個人情報に適合する第2の利用者識別情報を取得し、取得した第2の利用者識別情報と利用者Xのプレイ情報とをスポーツ施設Aの管理装置に送信する。このようにスポーツ施設Aの管理装置から利用者Xの個人情報に適合する第2の利用者識別情報を取得することで、利用者Xに対してスポーツ施設Aの管理装置が付与した第2の利用者識別情報を取得することができる。したがって、サーバと管理装置が各々独自の利用者識別情報を使用して各利用者のプレイ情報を管理している場合であっても、サーバが使用している第1の利用者識別情報と、管理装置が使用している第2の利用者識別情報との不整合を解消し、サーバから送信した利用者Xのプレイ情報を、スポーツ施設Aの管理装置でも利用者Xのプレイ情報として登録することが可能になる。
【0009】
なお、「スポーツ施設」とは、例えば、ゴルフ場、ボーリング場、テニス場、スポーツジム、スイミングクラブ、陸上競技場等である。また、バーチャルゴルフマシンが設置されたゴルフバーも「スポーツ施設」に含まれる。また、ここから明らかとなるように「スポーツ」には、例えば、ゴルフ、ボーリング、テニス、水泳、各種の陸上競技等が含まれる。「プレイ結果」は、例えば、スコア、勝敗、順位、タイム等である。「プレイ情報」には、プレイ結果の他に、例えば、プレイ日、天候、一緒にプレイした利用者に関する情報等が含まれてもよい。「施設情報」は、スポーツ施設を一意に識別する施設識別情報の他、施設名や、施設名とその所在地の名称とを組み合わせた情報等を使用することができる。「個人情報」は、例えば、氏名、生年月日、住所、電話番号(自宅または携帯電話機)、メールアドレスのいずれか1以上である。「第1の利用者識別情報」は、サーバでプレイ情報等の管理に用いる利用者識別情報であり、「第2の利用者識別情報」は、管理装置でプレイ情報等の管理に用いる利用者識別情報である。管理部が管理する情報は、サーバ内に記憶されていてもよいし、サーバとは別の装置に記憶されていてもよい。つまり、「プレイ情報」、「施設情報」および「第1の利用者識別情報」を関連付けて格納するデータベースは、サーバに備わる記憶部に記憶されていてもよいし、サーバとは別の装置に備わる記憶部に記憶されていてもよい。第1取得部は、利用者の個人情報を、サーバ内から取得してもよいし、サーバとは別の装置から取得してもよい。つまり、利用者の個人情報についても、サーバに備わる記憶部に記憶されていてもよいし、サーバとは別の装置に備わる記憶部に記憶されていてもよい。
【0010】
また、管理装置が管理する情報も、管理装置内に記憶されていてもよいし、管理装置とは別の装置に記憶されていてもよい。つまり、「プレイ情報」、「個人情報」および「第2の利用者識別情報」を関連付けて格納するデータベースは、管理装置に備わる記憶部に記憶されていてもよいし、管理装置とは別の装置に備わる記憶部に記憶されていてもよい。また、このデータベースは、「プレイ情報」と「第2の利用者識別情報」とを関連付けて格納する第1のデータベースと、「個人情報」と「第2の利用者識別情報」とを関連付けて格納する第2のデータベースとに分かれていてもよい。また、管理装置は、プレイ情報を第2の利用者識別情報と関連付けて管理可能な構成であればよく、必ずしもプレイ情報を保持している必要はない。また、管理装置は、例えば、「プレイ情報」と「第2の利用者識別情報」とを関連付けて管理する第1の管理サーバと、「個人情報」と「第2の利用者識別情報」とを関連付けて管理する第2の管理サーバとで構成されてもよい。サーバで管理される「プレイ情報」と、管理装置で管理される「プレイ情報」は、データ構成が異なってもよい。例えば、サーバで管理される「プレイ情報」は、プレイ結果、プレイ日および天候で構成される一方、管理装置で管理される「プレイ情報」は、プレイ結果およびプレイ日で構成されてもよい。また、両者のデータフォーマット(データ記録形式)が異なってもよい。送信部は、管理装置に対し、「プレイ情報」と「第2の利用者識別情報」を一緒に送信しなくてもよい。例えば、送信部は、まず「プレイ情報」を送信し、管理装置から利用者に関する問い合わせがあると、この問い合わせに応じて「第2の利用者識別情報」を送信してもよい。
【0011】
また、上述したサーバ(10)において、前記管理部(110,150)は、前記第2取得部(110,140)が取得した第2の利用者識別情報を、前記特定部(110)が特定した第1の利用者識別情報および施設情報と関連付けて管理し、前記第2取得部(110,140)は、前記特定部(110)が特定した第1の利用者識別情報および施設情報と関連付けて前記管理部(110,150)に第2の利用者識別情報が管理されている場合は、当該第2の利用者識別情報を前記管理部(110,150)から取得し、前記特定部(110)が特定した第1の利用者識別情報および施設情報と関連付けて前記管理部(110,150)に第2の利用者識別情報が管理されていない場合は、前記管理装置(20)にアクセスし、前記第1取得部(110)が取得した個人情報に適合する第2の利用者識別情報を取得してもよい。
【0012】
この場合、過去に一度でもプレイ情報を送信したことのある「利用者」と「管理装置」の組み合わせについては、次回以降、プレイ情報を送信する場合に、第1取得部による処理と第2取得部による処理を省略することができる。このためプレイ情報の送信に要する処理を簡素化し、処理時間を短縮することができる。なお、この場合も、第2取得部が取得した「第2の利用者識別情報」と、特定部が特定した「第1の利用者識別情報」および「施設情報」とを関連付けて格納するデータベースは、サーバに備わる記憶部に記憶されてもよいし、サーバとは別の装置に備わる記憶部に記憶されてもよい。
【0013】
また、上述したサーバ(10)において、前記プレイ情報には、プレイした日を示す日付情報がさらに含まれ、前記第2取得部(110,140)は、前記管理装置(20)にアクセスし、前記第1取得部(110)が取得した個人情報と、前記指定されたプレイ情報に含まれる前記日付情報または前記端末(50)から入力されたプレイ日を示す日時情報とに適合する第2の利用者識別情報を取得してもよい。
【0014】
例えば、個人情報として氏名を用いて第2の利用者識別情報を取得した場合、同姓同名の人がいる可能性があるので、第2の利用者識別情報を1つに絞りきれないことがある。また、個人情報として自宅の住所や自宅の電話番号を用いて第2の利用者識別情報を取得した場合も、家族内に同じスポーツ施設の利用者が複数存在する可能があるので、第2の利用者識別情報を1つに絞りきれないことがある。管理装置には、「第2の利用者識別情報」と関連付けて「個人情報」の他に「プレイ情報」が管理されており、この「プレイ情報」にはプレイ日の情報が含まれている。また、管理装置には、プレイ結果は未登録であっても、スポーツ施設の利用予約や、プレイ日の当日に利用者がスポーツ施設のフロントで受付を済ましたことに応じて、第2の利用者識別情報とプレイ日の日付情報が登録されるケースが多々ある。したがって、個人情報の他に、送信するプレイ情報に含まれるプレイ日の日付情報、または端末の利用者が入力した過去のプレイ日の日付情報を用いて第2の利用者識別情報を取得することで、第2の利用者識別情報の取得精度を高めることができる。なお、プレイ日の日付情報には、プレイした時刻の情報が含まれてもよい。
【0015】
また、上述したサーバ(10)において、前記第2取得部(110,140)は、前記第1取得部(110)が取得した個人情報に適合する第2の利用者識別情報が複数ある場合、当該複数の第2の利用者識別情報の各々に関連付けられている個人情報を前記管理装置(20)から取得して前記端末(50)に送信し、送信した個人情報のうち前記端末(50)から指定された個人情報に関連付けられている第2の利用者識別情報を、前記指定されたプレイ情報と関連付けて前記管理装置(20)に送信する第2の利用者識別情報に決定してもよい。
この構成によれば、第2の利用者識別情報を1つに絞りきれなかった場合に、複数の候補者の個人情報を端末の利用者に提示し、最終的な選択を端末の利用者に行わせることができる。
【0016】
また、上述したサーバ(10)において、前記第1取得部(110)は、前記端末(50)から第1の利用者識別情報および施設情報が指定されると、指定された第1の利用者識別情報で特定される利用者の個人情報を取得し、前記第2取得部(110,140)は、前記指定された施設情報に対応する前記管理装置(20)にアクセスし、前記第1取得部(110)が取得した個人情報に適合する第2の利用者識別情報と、当該第2の利用者識別情報と関連付けられているプレイ情報とを取得し、前記管理部(110,150)は、前記第2取得部(110,140)が取得したプレイ情報を、前記指定された第1の利用者識別情報および施設情報と関連付けて管理してもよい。
【0017】
以上の構成によれば、サーバは、例えば、利用者Xのプレイ情報をスポーツ施設Aの管理装置から取得する場合に、スポーツ施設Aの管理装置から利用者Xの個人情報に適合する第2の利用者識別情報を取得することで、利用者Xに対してスポーツ施設Aの管理装置が付与した第2の利用者識別情報を取得することができるから、この第2の利用者識別情報に関連付けられているプレイ情報をスポーツ施設Aの管理装置から取得することで、利用者Xのプレイ情報を取得することが可能になる。したがって、サーバと管理装置が各々独自の利用者識別情報を使用して各利用者のプレイ情報を管理している場合であっても、サーバが使用している第1の利用者識別情報と、管理装置が使用している第2の利用者識別情報との不整合を解消し、スポーツ施設Aの管理装置から利用者Xのプレイ情報を取得し、これをサーバでも利用者Xのプレイ情報として管理することができる。また、利用者Xのプレイ情報を各管理装置から取得してサーバで管理することが可能になるので、利用者Xのプレイ情報をサーバで一元管理することができる。
【0018】
また、上述したサーバ(10)において、前記管理部(110,150)は、前記第2取得部(110,140)が取得した第2の利用者識別情報を、前記指定された第1の利用者識別情報および施設情報と関連付けて管理し、前記第2取得部(110,140)は、前記指定された第1の利用者識別情報および施設情報と関連付けて前記管理部(110,150)に第2の利用者識別情報が管理されている場合は、当該第2の利用者識別情報と関連付けられているプレイ情報を前記管理装置(20)から取得し、前記指定された第1の利用者識別情報および施設情報と関連付けて前記管理部(110,150)に第2の利用者識別情報が管理されていない場合は、前記管理装置(20)にアクセスし、前記第1取得部(110)が取得した個人情報に適合する第2の利用者識別情報と、当該第2の利用者識別情報と関連付けられているプレイ情報とを取得してもよい。
【0019】
この場合、過去に一度でもプレイ情報を送信または取得したことのある「利用者」と「管理装置」の組み合わせについては、次回以降、プレイ情報を取得する場合に、個人情報を取得する処理と、取得した個人情報に適合する第2の利用者識別情報を管理装置から取得する処理とを省略することができる。このためプレイ情報の送信に要する処理を簡素化し、処理時間を短縮することができる。
【0020】
また、上述したサーバ(10)において、前記第2取得部(110,140)は、前記第2の利用者識別情報と関連付けられているプレイ情報のうち、前記管理部(110,150)が管理していないプレイ情報を取得してもよい。
この場合、既にサーバで管理しているプレイ情報については管理装置からの取得を控えることができるので、無駄なデータの取得を行わずに済む。
【0021】
また、上述したサーバ(10)において、前記端末(50)からプレイ情報の閲覧が要求されると、閲覧が要求されたプレイ情報と、当該プレイ情報に関連付けられている施設情報とを前記管理部(110,150)から取得して前記端末(50)に送信する閲覧制御部(110,140)をさらに備えてもよい。
この場合、プレイ情報と施設情報を端末で閲覧することができる。
【0022】
また、上述したサーバ(10)において、前記管理部(110,150)は、一緒にプレイした複数の利用者の各々のプレイ情報に対し、同伴プレイ識別情報として同じ識別情報を関連付けて管理し、前記閲覧制御部(110,140)は、閲覧が要求されたプレイ情報に前記同伴プレイ識別情報が関連付けられている場合は、当該同伴プレイ識別情報が関連付けられている複数のプレイ情報を前記管理部(110,150)から取得して前記端末(50)に送信してもよい。
この場合、一緒にプレイした利用者のプレイ情報についても端末で閲覧することが可能になる。
【0023】
また、上述したサーバ(10)において、一緒にプレイした複数の利用者の各々のプレイ情報を前記端末(50)から受信する受信部(110,140)と、前記受信部(110,140)が受信した複数のプレイ情報の各々に対し、前記同伴プレイ識別情報を付与する付与部(110)と、をさらに備えてもよい。
この場合、同伴プレイ識別情報をサーバで付与することができる。
【0024】
本発明は、サーバの制御方法としても捉えることができる。この場合、本発明に係るサーバ(10)の制御方法は、スポーツ施設(G)でスポーツをプレイした利用者のプレイ結果を含むプレイ情報を管理し、当該プレイ情報を利用者が操作する端末(50)に提供するサーバ(10)の制御方法であって、前記利用者のプレイ情報および前記利用者がプレイしたスポーツ施設(G)を示す施設情報を、前記利用者を識別する第1の利用者識別情報と関連付けて管理し、管理する情報の中から、前記端末(50)から指定されたプレイ情報に関連付けられている第1の利用者識別情報および施設情報を特定し、特定した第1の利用者識別情報で特定される利用者の個人情報を取得し、特定した施設情報が示すスポーツ施設(G)での各利用者のプレイ情報および個人情報を当該利用者を識別する第2の利用者識別情報と関連付けて管理する管理装置(20)にアクセスし、取得した個人情報に適合する前記第2の利用者識別情報を取得し、前記指定されたプレイ情報と取得した第2の利用者識別情報とを前記管理装置(20)に送信することを特徴とする。
以上の構成によれば、本発明のサーバ(10)と同様の効果を奏する。
【0025】
また、本発明は、上述したサーバ(10)としてコンピュータを機能させるためのプログラムとしても特定される。この場合、本発明に係るプログラムは、スポーツ施設(G)でスポーツをプレイした利用者のプレイ結果を含むプレイ情報を管理し、当該プレイ情報を利用者が操作する端末(50)に提供するコンピュータ(10)を、前記利用者のプレイ情報および前記利用者がプレイしたスポーツ施設(G)を示す施設情報を、前記利用者を識別する第1の利用者識別情報と関連付けて管理する管理部(110,150)、前記管理部(110,150)が管理する情報の中から、前記端末(50)から指定されたプレイ情報に関連付けられている第1の利用者識別情報および施設情報を特定する特定部(110)、前記特定部(110)が特定した第1の利用者識別情報で特定される利用者の個人情報を取得する第1取得部(110)、前記特定部(110)が特定した施設情報が示すスポーツ施設(G)での各利用者のプレイ情報および個人情報を当該利用者を識別する第2の利用者識別情報と関連付けて管理する管理装置(20)にアクセスし、前記第1取得部(110)が取得した個人情報に適合する前記第2の利用者識別情報を取得する第2取得部(110,140)、および前記指定されたプレイ情報と前記第2取得部(110,140)が取得した第2の利用者識別情報とを前記管理装置(20)に送信する送信部(110,140)、として機能させる。
以上の構成によれば、本発明のサーバ(10)と同様の効果を奏する。なお、本発明のプログラムは、例えば、コンピュータが読取可能な記録媒体に記録された形態で管理者等に提供されてコンピュータにインストールされる他、通信網を介した配信の形態で提供されてコンピュータにインストールされる。記録媒体には、例えばCD−ROMやUSBメモリ等が含まれる。
【発明の効果】
【0026】
本発明によれば、サーバと管理装置が各々独自の利用者識別情報を使用して各利用者のプレイ情報を管理している場合であっても、両者の間でプレイ情報の受け渡しを行うことができる。
【図面の簡単な説明】
【0027】
図1】管理システムの全体構成を例示するブロック図である。
図2】ゴルフ場サーバの利用者管理DBのデータ構造を例示する図である。
図3】ゴルフ場サーバのプレイ情報管理DBのデータ構造を例示する図である。
図4】SNSサーバのハードウェア構成を例示するブロック図である。
図5】プロフィール管理DBのデータ構造を例示する図である。
図6】ゴルフ場管理DBのデータ構造を例示する図である。
図7】プレイ情報管理DBのデータ構造を例示する図である。
図8】利用者ID登録DBのデータ構造を例示する図である。
図9】ラウンド前処理の流れを例示するフローチャートである。
図10】プレイ情報記録テーブルのデータ構造を例示する図である。
図11】閲覧処理の流れを例示するシーケンスチャートである。
図12】スマートフォンの画面表示例を示す図である。
図13】プレイ情報の送信処理の流れを例示するシーケンスチャートである。
図14】スマートフォンの画面表示例を示す図である。
図15】スマートフォンの画面表示例を示す図である。
図16】プレイ情報の取得処理の流れを例示するシーケンスチャートである。
図17】送信処理の変形例を示すシーケンスチャートである。
【発明を実施するための形態】
【0028】
以下、図面を参照して本発明の実施の形態を説明する。
<1.実施形態>
図1は、管理システム1の全体構成を例示するブロック図である。
同図に示す管理システム1は、ゴルフ場でゴルフをプレイした利用者のプレイ情報(スコアやプレイ日等)を管理するシステムである。例えば、管理システム1は、SNS(Social Networking Service)サーバ10と、ゴルフ場G,G,…Gに対応して設けられたm台のゴルフ場サーバ20,20,…20と、インターネット30と、移動体通信網40と、n台のスマートフォン50,50,…50とを備える。なお、m,nは、いずれも2以上の整数である。また、移動体通信網40は、図示を省略しているが基地局,交換局,ゲートウェイサーバ等を備える。SNSサーバ10は、インターネット30および移動体通信網40を介してスマートフォン50,50,…50の各々とパケット通信を行うことができる。また、SNSサーバ10は、インターネット30を介してゴルフ場サーバ20,20,…20の各々ともパケット通信を行うことができる。
【0029】
以降、本明細書では、特に区別をする必要がない限り、ゴルフ場G,G,…Gの各々を「ゴルフ場G」と記載し、ゴルフ場サーバ20,20,…20の各々を「ゴルフ場サーバ20」と記載し、スマートフォン50,50,…50の各々を「スマートフォン50」と記載する。
【0030】
SNSサーバ10は、会員制のサイトであって、会員同士の間で、趣味や嗜好,居住地域,出身校等といったつながりを通じて新たな人間関係を構築したり、友人との交流を深めたりするコミュニケーションの場を提供する。例えば、SNSサーバ10が提供する機能には、自分のプロフィールを他の会員に公開する機能、会員同士の間でメッセージを交換する機能、友人やサークル仲間(共に会員)を登録しておくアドレス帳の機能、趣味や地域などテーマを決めて掲示板を作り、同じ趣味を持つ会員や同じ地域に住む会員と交流する機能等がある。これらの機能により、例えば、SNSサーバ10を介してゴルフを趣味に持つ会員同士で情報交換を行ったり、一緒にゴルフをプレイするメンバーを募ったりすることができる。
【0031】
また、SNSサーバ10は、ゴルフ場Gでゴルフをプレイした会員のプレイ情報(スコアやプレイ日等)を管理する機能を備える。会員は、自身のスマートフォン50を操作してSNSサーバ10にアクセスし、SNSサーバ10で管理されているプレイ情報を閲覧することができる。また、SNSサーバ10は、SNSサーバ10で管理している会員のプレイ情報をゴルフ場サーバ20に送信する機能や、会員の過去のプレイ情報をゴルフ場サーバ20から取得する機能を備える。
【0032】
ゴルフ場サーバ20は、例えばゴルフ場G毎に設けられ、ゴルフ場Gの利用者に対し、スコアやプレイ日等のプレイ情報の管理サービスや、ゴルフ場Gの利用予約サービスを提供する。なお、ゴルフ場Gの利用者には、ゴルフ場Gの会員権を有するメンバーの他に、メンバー以外のビジターが含まれる。例えば図1に示すように、ゴルフ場Gに対してゴルフ場サーバ20が設けられ、ゴルフ場Gに対してゴルフ場サーバ20が設けられ、…ゴルフ場Gに対してゴルフ場サーバ20が設けられている場合、ゴルフ場サーバ20には、ゴルフ場Gの利用者の個人情報を管理する利用者管理DB(DataBase)21と、ゴルフ場Gの利用者のプレイ情報を管理するプレイ情報管理DB22とが記憶される。また、ゴルフ場サーバ20には、ゴルフ場G用の利用者管理DB21およびプレイ情報管理DB22が記憶され、ゴルフ場サーバ20には、ゴルフ場G用の利用者管理DB21およびプレイ情報管理DB22が記憶される。
【0033】
なお、ゴルフ場サーバ20は、ゴルフ場G毎に設けられる態様に限らない。例えば、1台のゴルフ場サーバ20で複数のゴルフ場Gを管理してもよい。また、ゴルフ場サーバ20の設置場所は、ゴルフ場G内であってもよいし、ゴルフ場Gの外であってもよい。また、各ゴルフ場サーバ20は、各々独自に利用者ID(IDentification)を付与して利用者の個人情報やプレイ情報を管理しており、各ゴルフ場サーバ20は、管理している利用者の個人情報やプレイ情報が異なることに加え、使用している利用者IDも異なる。以降、本明細書では、特に区別をする必要がない限り、利用者管理DB21,21,…21の各々を「利用者管理DB21」と記載し、プレイ情報管理DB22,22,…22の各々を「プレイ情報管理DB22」と記載する。
【0034】
スマートフォン50は、携帯電話機の機能を兼ね備えた小型のコンピュータである。例えば、スマートフォン50は、音声通話機能、ウェブ閲覧機能、電子メールの送受信機能、GPS(Global Positioning System)による測位機能等を備える。会員は、自身のスマートフォン50を操作してSNSサーバ10にアクセスし、SNSサーバ10が提供する各種のサービスを享受することができる。また、スマートフォン50のストレージ(補助記憶装置)には、GPS機能を利用してゴルフのプレイを支援するゴルフナビゲーション用のアプリケーション51(以下、「ゴルフナビアプリ51」と記載する)がインストールされている。
【0035】
ゴルフナビアプリ51は、例えば、スマートフォン50を携帯してゴルフをプレイしている利用者の現在位置を測定し、プレイしているゴルフ場Gやホールを特定する機能、プレイしているホールのコースレイアウトを表示する機能、プレイしているホールの攻略方法をアドバイスする機能、グリーン,ハザード,ピン位置までの距離やショットの飛距離を算出して通知する機能等を備える。また、ゴルフナビアプリ51は、スコア等のプレイ情報を入力する機能、入力されたプレイ情報をSNSサーバ10にアップロードする機能、SNSサーバ10で管理されているプレイ情報を閲覧する機能、ゴルフ場Gの利用予約を行う機能等を備える。
【0036】
図2は、ゴルフ場サーバ20のハードディスクに記憶されている利用者管理DB21のデータ構造を例示する図である。利用者管理DB21には、ゴルフ場Gの利用者毎に、利用者IDと、利用者の個人情報(氏名、生年月日、住所および電話番号)とが関連付けて格納される。利用者IDは、ゴルフ場Gの利用者を一意に識別する識別情報である。例えば、ゴルフ場サーバ20は、ゴルフ場Gの新規の利用者に対して新たな利用者IDを付与し、付与した利用者IDを、利用者の個人情報と関連付けて利用者管理DB21に登録する。なお、利用者管理DB21には、利用者の個人情報として、性別,年齢,職業,メールアドレス,勤務先等の情報がさらに格納されてもよい。
【0037】
図3は、ゴルフ場サーバ20のハードディスクに記憶されているプレイ情報管理DB22のデータ構造を例示する図である。プレイ情報管理DB22には、ゴルフ場Gの利用者のプレイ情報(プレイ日およびスコア)が利用者IDと関連付けて格納される。プレイ日は、ゴルフをプレイした年月日を示す日付情報である。また、本実施形態では、プレイ情報としてプレイ日およびスコアを管理する場合について説明するが、スコアには、18ホールでのトータルの打数の他、ホール毎の打数やアゲインストパー等の情報が含まれる。なお、“NULL”は、スコアが登録されていない空の状態を示す。つまり、スコアの項目が“NULL”の場合は、スコアが未登録であることを意味する。
【0038】
例えば、利用者がゴルフ場Gでゴルフをプレイした後、フロントにスコアカードを提出した場合や、利用者がスマートフォン50を操作してSNSサーバ10からゴルフ場サーバ20にプレイ情報の送信を指示した場合に、利用者IDおよびプレイ情報がプレイ情報管理DB22に登録される。また、利用者がスマートフォン50を操作してゴルフ場Gの利用予約を行った場合や、利用者がプレイ日の当日にゴルフ場Gのフロントで受付を済ましたことに応じて、スコアを除く利用者IDおよびプレイ日がプレイ情報管理DB22に登録されることもある。
【0039】
なお、図2および図3には、ゴルフ場サーバ20に記憶されている利用者管理DB21とプレイ情報管理DB22を例示したが、ゴルフ場サーバ20以外の各ゴルフ場サーバ20に記憶されている利用者管理DB21とプレイ情報管理DB22についても、概ね同様のデータ構造を有する。但し、前述したように各ゴルフ場サーバ20は各々独自に利用者IDを付与しているので、同じ利用者であっても各ゴルフ場サーバ20で付与される利用者IDは異なる。
【0040】
図4は、SNSサーバ10のハードウェア構成を例示するブロック図である。
SNSサーバ10は、CPU(Central Processing Unit)110と、ROM(Read Only Memory)120と、RAM(Random Access Memory)130と、通信IF(InterFace)140と、ハードディスク150とを備える。なお、SNSサーバ10は、キーボードやマウス等の入力部や、液晶ディスプレイ等の表示部をさらに備えてもよい。CPU110は、ROM120やハードディスク150に記憶されている各種のプログラムを実行することでSNSサーバ10の各部を制御する。ROM120には、SNSサーバ10の各部の基本制御を司るプログラム等が記憶されている。RAM130は、CPU110のワークエリアとして用いられる。通信IF140は、CPU110の制御の下、スマートフォン50やゴルフ場サーバ20との間で行われるパケット通信を制御する。ハードディスク150には、例えば、後述するプレイ情報の送信処理(図13)や取得処理(図16)のうちSNSサーバ10で行われる処理を制御するためのプログラムの他、プロフィール管理DB151、ゴルフ場管理DB152、プレイ情報管理DB153および利用者ID登録DB154が記憶されている。
【0041】
図5は、プロフィール管理DB151のデータ構造を例示する図である。
プロフィール管理DB151には、SNSサーバ10の会員毎に、会員IDと、会員のプロフィール情報(氏名、生年月日および電話番号)とが関連付けて格納される。会員IDは、SNSサーバ10の会員を一意に識別する識別情報である。例えば、SNSサーバ10は、会員登録を行った新規の会員に対して新たな会員IDを付与し、付与した会員IDを、会員登録の際に入力された会員のプロフィール情報と関連付けてプロフィール管理DB151に登録する。なお、会員IDは、SNSサーバ10によって付与される識別情報であるので、各ゴルフ場サーバ20で使用される利用者IDとは異なる。つまり、SNSサーバ10で使用される会員IDと、各ゴルフ場サーバ20で使用される利用者IDとは異なる。また、プロフィール管理DB151には、会員のプロフィール情報として、住所,性別,年齢,職業,メールアドレス,自宅の電話番号,勤務先等の情報や、顔写真の画像データがさらに格納されてもよい。また、会員IDとして、例えば、会員のメールアドレスや、会員が所有するスマートフォン50の電話番号を使用することもできる。
【0042】
図6は、ゴルフ場管理DB152のデータ構造を例示する図である。
ゴルフ場管理DB152には、ゴルフ場G毎に、ゴルフ場ID、ゴルフ場名およびアクセス方法が関連付けて格納される。ゴルフ場IDは、ゴルフ場Gを一意に識別する識別情報であり、SNSサーバ10によって付与される。なお、ゴルフ場サーバ20がゴルフ場G毎に設けられている場合、ゴルフ場IDは、ゴルフ場Gだけでなくゴルフ場サーバ20を一意に識別する識別情報でもある。アクセス方法の項目には、例えば、同図に示す“Aカントリークラブ”の場合であれば、“Aカントリークラブ”のゴルフ場サーバ20のURL(Uniform Resource Locator)と、“Aカントリークラブ”のゴルフ場サーバ20との間でプレイ情報の受け渡しや後述するプロフィールマッチングを行う際の通信手順等を規定したAPI(Application Program Interface)とが登録される。
【0043】
SNSサーバ10の運営者は、予め全てのゴルフ場Gについて、ゴルフ場名およびアクセス方法(URLおよびAPI)を調べ、これらをゴルフ場IDと関連付けてゴルフ場管理DB152に登録しておく。また、新たなゴルフ場Gがオープンした場合、SNSサーバ10の運営者は、新たにオープンしたゴルフ場Gについて、ゴルフ場名およびアクセス方法を調べ、SNSサーバ10によって新たに付与されたゴルフ場IDと関連付けてゴルフ場管理DB152に登録する。なお、ゴルフ場IDとして、例えば、ゴルフ場名や、ゴルフ場名とその所在地の名称とを組み合わせた文字列を使用することもできる。
【0044】
図7は、プレイ情報管理DB153のデータ構造を例示する図である。
プレイ情報管理DB153には、会員のプレイ情報(プレイ日およびスコア)が、会員ID、ゴルフ場IDおよびラウンドIDと関連付けて格納される。なお、本実施形態では、プレイ情報管理DB153(SNSサーバ10)で管理されるプレイ情報と、プレイ情報管理DB22(ゴルフ場サーバ20)で管理されるプレイ情報とが同じであり、スコアには、前述したように18ホールでのトータルの打数の他、ホール毎の打数やアゲインストパー等の情報が含まれる。ラウンドIDは、パーティ(一緒にラウンドする3〜4人の組)毎に固有の識別情報であり、例えばSNSサーバ10によって付与される。このラウンドIDは、同伴競技者を特定するために使用される。例えば、同図に示すプレイ情報管理DB153において、会員IDが“M00000001”〜“M00000003”および“M00000698”の計4人は、いずれもラウンドIDが“R00000001”であるので、一緒にゴルフをプレイしたメンバーであることがわかる。
【0045】
SNSサーバ10は、スマートフォン50からアップロードされた会員のプレイ情報をプレイ情報管理DB153に登録する。また、SNSサーバ10は、会員の過去のプレイ情報をゴルフ場サーバ20から取得してプレイ情報管理DB153に登録することもできる。なお、プレイ情報管理DB153には、1つのプレイ情報を登録するにつき、1つのレコードが追加される。例えば、ある会員のプレイ情報として、3つのプレイ情報をプレイ情報管理DB153に登録する場合、3つのプレイ情報の各々は、それぞれ別のレコードとしてプレイ情報管理DB153に格納される。このようにプレイ情報管理DB153には、複数のプレイ情報がそれぞれ別のレコードとして登録される。したがって、CPU110は、例えば、会員ID“M00000001”を検索キーとしてプレイ情報管理DB153を検索することで、会員IDが“M00000001”の会員のプレイ情報を抽出することができる。また、CPU110は、例えば、ゴルフ場ID“G00001”を検索キーとしてプレイ情報管理DB153を検索することで、ゴルフ場IDが“G00001”のゴルフ場Gにおける各会員のプレイ情報を抽出することができる。
【0046】
図8は、利用者ID登録DB154のデータ構造を例示する図である。
前述したように各ゴルフ場サーバ20は、各々独自に利用者IDを付与して利用者のプレイ情報等を管理しており、使用している利用者IDが異なる。また、SNSサーバ10で使用している会員IDも、各ゴルフ場サーバ20で使用している利用者IDとは異なる。例えば、同図に示す利用者ID登録DB154からも明らかとなるように、会員IDが“M00000001”の会員に対し、ゴルフ場IDが“G00001”のゴルフ場サーバ20では利用者ID“001612”を付与しており、ゴルフ場IDが“G00732”のゴルフ場サーバ20では利用者ID“YA-0001-1235”を付与しており、ゴルフ場IDが“G00112”のゴルフ場サーバ20では利用者ID“GM0033361”を付与している。したがって、SNSサーバ10と各ゴルフ場サーバ20との間でプレイ情報の受け渡しを行うためには、会員IDと利用者IDとの不整合を解消する必要がある。このためSNSサーバ10は、プレイ情報の受け渡しを行うゴルフ場サーバ20との間でプロフィール情報(個人情報)を用いたプロフィールマッチングを行う。
【0047】
例えば、図7に示したプレイ情報管理DB153において、レコード番号が“1”のプレイ情報は、会員IDが“M00000001”の会員が、ゴルフ場IDが“G00001”のゴルフ場Gでゴルフをプレイしたときのプレイ日やスコアを示す情報である。このプレイ情報をゴルフ場IDが“G00001”のゴルフ場サーバ20(例えばゴルフ場サーバ20)に送信する場合、SNSサーバ10は、会員IDが“M00000001”の会員に対してゴルフ場サーバ20が付与した利用者IDを特定する必要がある。このため詳細については後述するが、SNSサーバ10は、ゴルフ場サーバ20にアクセスし、会員IDが“M00000001”の会員の個人情報(例えば氏名や電話番号等)を用いたプロフィールマッチングを行い、この会員の利用者IDが“001612”であることを特定する。また、SNSサーバ10は、プロフィールマッチングによって特定した利用者ID“001612”を、会員ID“M00000001”およびゴルフ場ID“G00001”と関連付けて利用者ID登録DB154に登録する(図8のレコード番号“1”)。
【0048】
このように利用者ID登録DB154には、プロフィールマッチングによって特定された利用者IDが、対応する会員IDおよびゴルフ場IDと関連付けて登録される。なお、同じ会員であっても利用者IDはゴルフ場サーバ20毎に異なるので、プロフィールマッチングで特定された利用者IDは、会員IDおよびゴルフ場IDの組と関連付けて利用者ID登録DB154に登録しておく必要がある。
【0049】
図9は、スマートフォン50において実行されるラウンド前処理の流れを示すフローチャートである。SNSサーバ10の会員は、SNSサーバ10の掲示板機能等を利用して一緒にゴルフをプレイするメンバーを募ることができる。また、一緒にゴルフをプレイする会員のうちいずれか1人(代表者)がスマートフォン50を携帯してゴルフをプレイすることになるが、代表者は、例えば、プレイ日の当日にゴルフ場Gに到着すると、プレイを開始する前にスマートフォン50を操作してゴルフナビアプリ51を起動し、ラウンド前処理の実行を指示する。
【0050】
ラウンド前処理が開始されると、まず、スマートフォン50は、プレイするゴルフ場Gの選択処理を行う(ステップS101)。例えば、スマートフォン50は、ゴルフ場Gの一覧リストを画面に表示し、その中から代表者にゴルフ場Gを選択させることができる。また、スマートフォン50は、GPS機能を利用して測位した現在位置からゴルフ場Gを特定し、特定したゴルフ場Gの名称を画面に表示して代表者に確認を求めてもよい。また、スマートフォン50は、プレイするゴルフ場Gの名称を代表者に直接入力させてもよい。なお、ゴルフナビアプリ51は、ゴルフ場G毎に、ゴルフ場IDとゴルフ場名とゴルフ場Gの位置情報とを関連付けて記録したデータベースを有しており、スマートフォン50は、プレイするゴルフ場Gが選択されると、このデータベースを参照して対応するゴルフ場IDを特定する。
【0051】
次に、スマートフォン50は、プレイ日の入力処理を行う(ステップS102)。例えば、スマートフォン50は、プレイ日(年月日)を代表者に直接入力させてもよいし、カレンダー機能を利用して現在日の情報を取得し、これをプレイ日としてもよい。なお、スマートフォン50は、プレイの開始を指示するプレイ開始ボタンを画面に表示し、プレイ開始ボタンがタッチ操作されると、カレンダー機能を利用して現在日の情報を取得し、これをプレイ日としてもよい。また、同じゴルフ場Gで1日に複数回ラウンドすることもあるので、プレイ日の代わりにプレイ開始時刻を含むプレイ日時情報(年月日時分)を使用してもよい。
【0052】
次に、スマートフォン50は、同伴競技者の選択処理を行う(ステップS103)。一緒にゴルフをプレイするメンバーが全てSNSサーバ10の会員である場合、同伴競技者は、SNSサーバ10において代表者のアドレス帳(例えば、お友達リストやゴルフ仲間リスト)に登録されていることが多い。したがって、スマートフォン50は、SNSサーバ10にログインして代表者のアドレス帳を画面に表示し、その中から代表者に同伴競技者を選択させる。例えば、代表者によって3人の同伴競技者が選択された場合、SNSサーバ10は、プロフィール管理DB151(図5)を参照して、代表者と同伴競技者の計4人の会員の会員IDおよび氏名を特定し、特定した情報をスマートフォン50に送信する。なお、代表者や同伴競技者の情報として、会員IDや氏名の他に顔写真の画像データを取得してもよい。
【0053】
次に、スマートフォン50は、プレイ情報記録テーブルの作成処理を行う(ステップS104)。ここでは、ステップS101〜S103で得られた情報を用いて、例えば図10に示すプレイ情報記録テーブルTBL1を作成する。同図に示すようにプレイ情報記録テーブルTBL1には、一緒にゴルフをプレイする各会員のプレイ情報(プレイ日およびスコア)が、ゴルフ場名、ゴルフ場ID、会員IDおよび氏名と関連付けて記録される。なお、図10には、スコアの項目データが既に記録されているプレイ情報記録テーブルTBL1を例示しているが、ステップS104でプレイ情報記録テーブルTBL1を作成している段階では、スコアの項目データは未登録である。また、図10に示すプレイ情報記録テーブルTBL1において、「ゴルフ場名」および「氏名」の項目はなくてもよい。例えば、プレイ情報記録テーブルTBL1に「ゴルフ場名」が記憶されていなくても「ゴルフ場ID」が記憶されていれば、プレイ情報記録テーブルTBL1がアップロードされたSNSサーバ10では、ゴルフ場管理DB152を参照して対応する「ゴルフ場名」を取得することができる。同様に、プレイ情報記録テーブルTBL1に「氏名」が記憶されていなくても「会員ID」が記憶されていれば、SNSサーバ10は、プロフィール管理DB151を参照して対応する「氏名」を取得することができる。
【0054】
以上説明したラウンド前処理は、プレイ日に限らず、プレイ日の前日等に行うことが可能である。また、ラウンド前処理を実行する場所もゴルフ場Gに限らない。例えば、自宅やゴルフ場Gに向う車中等でラウンド前処理を行ってもよい。また、一緒にゴルフをプレイするメンバーが全てSNSサーバ10の会員である必要もない。
【0055】
ラウンド前処理を行った後、ゴルフのプレイを開始すると、代表者は、スマートフォン50を携帯してコースを回り、1ホール毎に自分と各同伴競技者のスコアをスマートフォン50に入力する。入力されたスコアは、プレイ情報記録テーブルTBL1に記録される。また、代表者は、ゴルフのプレイを終えると、スマートフォン50を操作してプレイ情報記録テーブルTBL1に記録された各会員のプレイ情報をSNSサーバ10にアップロードする。アップロードの際には、例えば、図10に示したプレイ情報記録テーブルTBL1のうち、ゴルフ場名と氏名を除く各項目のデータが送信される。また、アップロードされるデータには、図10に示したプレイ情報記録テーブルTBL1の場合であれば、このプレイ情報記録テーブルTBL1に記録されている4人の会員が一緒にゴルフをプレイしたメンバーであることを示す同伴ラウンド情報が付与される。
【0056】
SNSサーバ10のCPU110は、スマートフォン50からアップロードされたデータを通信IF140を介して受信すると、受信したデータをプレイ情報管理DB153(図7)に登録する。この際、CPU110は、アップロードされたデータに同伴ラウンド情報が付与されている場合は、ラウンドIDを発行し、発行したラウンドIDを、受信した各会員のプレイ情報と関連付けてプレイ情報管理DB153に登録する。例えば、図10に示したプレイ情報記録テーブルTBL1に記録されているデータをアップロードすると、プレイ情報管理DB153には、図7のレコード番号“1”〜“4”に示すようにデータが登録される。
【0057】
なお、プレイ情報は、ラウンド後に一括してアップロードするのではなく、1ホール終了毎に逐次アップロードしてもよい。また、ラウンドIDは、スマートフォン50で発行することも可能である。この場合、スマートフォン50は、例えば、電話番号やメールアドレス等、スマートフォン50毎に固有の端末IDと、タイムスタンプとを組み合わせてラウンドIDを生成し、生成したラウンドIDを、アップロードするデータと共にSNSサーバ10に送信する。
【0058】
また、例えば、一緒にゴルフをプレイする4人の会員の全てがスマートフォン50を携帯し、各々自分のプレイ情報のみを自身のスマートフォン50に入力してSNSサーバ10にアップロードする態様が考えられる。この場合、各会員が前述したラウンド前処理で、ゴルフ場Gとプレイ日と同伴競技者の情報を設定していれば、SNSサーバ10では、4人の会員が異なるタイミングで各々自分のプレイ情報のみを自身のスマートフォン50からアップロードした場合であっても、ゴルフ場Gとプレイ日と同伴競技者の情報に基づいて、これら4人の会員のプレイ情報に対し、同一のラウンドIDを付与してプレイ情報管理DB153に登録することができる。
【0059】
図11は、閲覧処理の流れを例示するシーケンスチャートである。
会員は、スマートフォン50を操作してSNSサーバ10にログインし、自身のマイページで自分や同伴競技者のスコア等を閲覧することができる。例えば、会員がスマートフォン50を操作してマイページのうちゴルフのスコアを閲覧するスコア閲覧ページに移行すると、スマートフォン50は、この会員の会員IDを含む閲覧要求をSNSサーバ10に送信する(ステップS201)。例えば、会員IDとして“M00000001”が付与された会員がスマートフォン50を操作してスコア閲覧ページに移行すると、スマートフォン50は、会員ID“M00000001”を含む閲覧要求をSNSサーバ10に送信する。
【0060】
SNSサーバ10のCPU110は、スマートフォン50から閲覧要求を受信すると、受信した閲覧要求に含まれる会員IDを検索キーとしてプレイ情報管理DB153(図7)を検索し、該当する1以上のレコードデータを特定する(ステップS202)。ここで特定されるのは、閲覧を要求した会員のレコードデータである。例えば、CPU110は、受信した閲覧要求に会員ID“M00000001”が含まれていた場合、会員ID“M00000001”を検索キーとして図7に示したプレイ情報管理DB153を検索し、レコード番号が“1”のレコードデータを特定する。
【0061】
次に、CPU110は、特定したレコードデータ毎に、レコードデータに含まれるラウンドIDを有する他のレコードデータを特定する(ステップS203)。ここで特定されるのは、同伴競技者のレコードデータである。例えば、上述したステップS202で特定したレコードデータが図7に示したプレイ情報管理DB153のレコード番号“1”であった場合、このレコードデータに含まれるラウンドIDは“R00000001”である。したがって、CPU110は、ラウンドID“R00000001”を有する他のレコードデータとして、プレイ情報管理DB153(図7)の中からレコード番号が“2”〜“4”の3つのレコードデータを特定する。なお、ステップS202で特定したレコードデータが複数ある場合は、特定したレコードデータ毎に同伴競技者のレコードデータが特定される。
【0062】
次に、CPU110は、閲覧用データを取得する(ステップS204)。例えば、CPU110は、閲覧用データとして、ステップS202,S203で特定した各レコードデータのうち会員ID以外の項目データを取得する。また、CPU110は、閲覧用データとして、閲覧を要求した会員とその同伴競技者の氏名や顔写真の画像データをプロフィール管理DB151(図5)から取得する。この後、CPU110は、ステップS204で取得した閲覧用データをスマートフォン50に返信する(ステップS205)。
【0063】
スマートフォン50は、SNSサーバ10から閲覧用データを受信すると、受信した閲覧用データに基づいて、閲覧を要求した会員とその同伴競技者のスコア一覧を画面に表示する(ステップS206)。なお、閲覧用データには、ゴルフ場名ではなくゴルフ場IDが含まれているが、前述したようにゴルフナビアプリ51は、ゴルフ場IDとゴルフ場名との対応関係を記録したデータベースを有しているので、スマートフォン50では、このデータベースを参照することで、ゴルフ場IDに対応するゴルフ場名を特定することができる。勿論、SNSサーバ10は、ゴルフ場IDの代わりにゴルフ場名を閲覧用データに含めてスマートフォン50に送信することもできる。この場合、SNSサーバ10は、ゴルフ場IDに対応するゴルフ場名をゴルフ場管理DB152(図6)から取得すればよい。また、閲覧用データにはラウンドIDが含まれているが、ラウンドIDは、閲覧を要求した会員のスコアが複数あった場合に、個々のスコア毎に同伴競技者とそのスコアを特定するために用いられる。
【0064】
図12は、スマートフォン50の画面表示例を示す図である。
同図に示すように、会員は、自身のスコア閲覧ページで自分と同伴競技者のスコアの履歴を閲覧することができる。また、スコア一覧には、ゴルフ場名やプレイ日の情報も表示される。なお、同図において“AP”はアゲインストパーである。また、同図においてアンダーラインはリンクを示す。例えば、同図において“Aカントリークラブ”の部分をタッチ操作すると、“Aカントリークラブ”のみについての“鈴木太朗”のスコア一覧を表示することができる。また、同図において“佐藤一郎”のAPの項目データ“E”の部分をタッチ操作すると、“佐藤一郎”についてホール毎のスコア(18ホール分)を表示することができる。また、同図において“高橋花子”の部分をタッチ操作すると、“高橋花子”のスコア閲覧ページに移行し、“高橋花子”のスコア一覧を閲覧することができる。
【0065】
このようにSNSサーバ10では、自分のスコアだけでなく同伴競技者のスコアも閲覧することができる。また、SNSサーバ10では、同伴競技者以外の他の会員のスコアも閲覧することが可能である。但し、会員は、自分のスコアを誰が閲覧してもよいか、閲覧を許可する相手(自分のスコアの公開範囲)を任意に設定することができる。例えば、会員は、自分のスコアの公開範囲を、「SNSサーバ10の全会員」、「一緒にゴルフをプレイした会員」、「アドレス帳に友達として登録している会員」、「アドレス帳にゴルフ仲間として登録している会員」、「自分のみ(非公開)」のいずれか設定することができる。なお、スコアの閲覧を許可した場合は、ゴルフ場名やプレイ日の情報もスコアと共に公開される。また、スコア毎に公開範囲や非公開を設定することや、「同伴競技者の個人情報やスコアは公開しない」、「プレイ日の情報は公開しない」、「同伴競技者として一緒にゴルフをプレイした会員のスコア一覧に自分のスコア等が公開されることは許可するが、自分のスコア一覧を他人が閲覧することは禁止する」等といった設定を行うことも可能である。
【0066】
例えば、“高橋花子”が自分のスコアの公開範囲を「同伴競技者として一緒にゴルフをプレイした会員のスコア一覧に自分のスコア等が公開されることは許可するが、自分のスコア一覧を他人が閲覧することは禁止する」に設定していた場合、図12において“高橋花子”の部分をタッチ操作しても、“高橋花子”のスコア一覧は表示されず、閲覧が禁止されている旨のメッセージが表示される。なお、以上の閲覧処理では、自分のスコアを同伴競技者のスコアと共に表示する場合について説明したが、自分のスコアのみの一覧を表示することも可能である。
【0067】
図13は、プレイ情報の送信処理の流れを例示するシーケンスチャートである。
SNSサーバ10は、プレイ情報管理DB153(図7)に登録されている会員のプレイ情報(スコアやプレイ日)を、対応するゴルフ場サーバ20に送信する機能を備える。なお、プレイ情報を対応するゴルフ場サーバ20に送信するとは、例えば、ゴルフ場Gでゴルフをプレイした結果得られたプレイ情報であればゴルフ場サーバ20に送信し、ゴルフ場Gでゴルフをプレイした結果得られたプレイ情報であればゴルフ場サーバ20に送信することを意味する。
【0068】
例えば、図14(A)に示すように、スコア一覧をスマートフォン50の画面に表示した際に、自分のスコアの右脇には、このプレイ情報をまだゴルフ場サーバ20に送信していない場合は、プレイ情報をゴルフ場サーバ20に送信することを指示する表示ボタンBN1が表示される。会員は、プレイ情報をゴルフ場サーバ20に送信する場合、表示ボタンBN1をタッチ操作する。なお、プレイ情報が既に送信済みの場合は、図14(B)に示すように送信済みであることを示す表示ボタンBN2が表示される。
【0069】
スマートフォン50は、表示ボタンBN1がタッチ操作されたことを検知すると、送信するプレイ情報を指定するプレイ情報指定データを含む送信要求をSNSサーバ10に送信する(ステップS301)。なお、プレイ情報指定データは、例えば、会員IDとプレイ日で構成されてもよいし、会員IDとプレイ日とスコアで構成されてもよいし、会員IDとゴルフ場IDとプレイ日とスコアで構成されもよい。また、プレイ情報指定データは、プレイ情報管理DB153におけるレコード番号を指定する情報であってもよい。
【0070】
SNSサーバ10のCPU110は、スマートフォン50から送信要求を受信すると、プレイ情報管理DB153(図7)を参照し、受信した送信要求に含まれるプレイ情報指定データで指定されるプレイ情報と同じレコードに含まれる会員IDおよびゴルフ場IDを特定する(ステップS302)。例えば、プレイ情報指定データで指定されるプレイ情報が図7のレコード番号“1”に含まれるプレイ情報であった場合、CPU110は、会員ID“M00000001”およびゴルフ場ID“G00001”を特定する。次に、CPU110は、ゴルフ場管理DB152(図6)を参照し、ステップS302で特定したゴルフ場IDに対応するアクセス方法(URLおよびAPI)を特定する(ステップS303)。例えば、ステップS302で特定したゴルフ場IDが“G00001”であった場合、CPU110は、“Aカントリークラブ”のゴルフ場サーバ20へのアクセス方法を特定する。
【0071】
この後、CPU110は、利用者IDが取得済みであるか否かを判定する(ステップS304)。ここでは、利用者ID登録DB154を参照し、ステップS302で特定した会員IDおよびゴルフ場IDの組と関連付けて利用者IDが登録されているか否かを調べることで、利用者IDが登録されていれば利用者IDが取得済みであると判定し(ステップS304:YES)、利用者IDが登録されていなければ利用者IDが取得済みでないと判定する(ステップS304:NO)。例えば、ステップS302で会員ID“M00000001”およびゴルフ場ID“G00001”が特定された場合、図8に示した利用者ID登録DB154には、会員ID“M00000001”およびゴルフ場ID“G00001”の組と関連付けて利用者ID“001612”が登録されているので(レコード番号“1”)、ステップS304では利用者IDが取得済みであると判定される。
【0072】
CPU110は、ステップS304の判定結果がYESの場合、ステップS308に進む。一方、ステップS304の判定結果がNOの場合、CPU110は、プロフィール管理DB151(図5)を参照し、ステップS302で特定した会員IDに対応するプロフィール情報の一部または全部を取得する(ステップS305)。例えば、ステップS302で特定した会員IDが“M00000001”であった場合、CPU110は、図5に示したプロフィール管理DB151から、プロフィール情報として、“鈴木太朗(氏名)”、“1969/05/23(生年月日)”および“090-1111-1111(電話番号)”のいずれか1以上を取得する。
【0073】
次に、CPU110は、プレイ情報の送信先となるゴルフ場サーバ20との間でプロフィールマッチングを行う(ステップS306)。CPU110は、まず、ステップS303で特定したURLが示すゴルフ場サーバ20にアクセスする。また、CPU110は、ステップS303で特定したAPIを使用してゴルフ場サーバ20との通信を行う。そして、CPU110は、ステップS305で取得したプロフィール情報をゴルフ場サーバ20に通知し、通知したプロフィール情報に一致する利用者IDを問い合わせる。なお、全てのゴルフ場サーバ20との通信を行うために必要となるAPIの種類が少ない場合は、ゴルフ場管理DB152(図6)に各APIを登録するのではなく、SNSサーバ10用の制御プログラム中に各APIをサブルーチンやモジュールとして組み込んでもよい。
【0074】
ゴルフ場サーバ20は、SNSサーバ10からプロフィール情報を受信すると、利用者管理DB21(図2)を参照し、受信したプロフィール情報(個人情報)に一致する利用者IDを特定する。また、ゴルフ場サーバ20は、特定した利用者IDをSNSサーバ10に返信する。例えば、プレイ情報の送信先となる、ゴルフ場IDが“G00001”のゴルフ場サーバ20(例えばゴルフ場サーバ20)は、SNSサーバ10から受信したプロフィール情報が“鈴木太朗”であった場合、図2に示した利用者管理DB21を参照して“鈴木太朗”に一致する利用者ID“001612”を取得し、これをSNSサーバ10に返信する。これによりSNSサーバ10は、会員IDが“M00000001”の会員(鈴木太朗)に対してゴルフ場サーバ20が付与した利用者ID“001612”を取得することができる。
【0075】
なお、プロフィールマッチングで使用する個人情報は、例えば、氏名,自宅の住所,メールアドレス,所有するスマートフォン50の電話番号,自宅の電話番号のいずれかを単独で用いることができる。但し、氏名の場合は、同姓同名の人がいる可能性がある。また、自宅の住所や自宅の電話番号の場合は、家族内に同じゴルフ場Gの利用者が複数存在する可能がある。このため氏名,自宅の住所,自宅の電話番号のいずれかを単独で使用した場合、プロフィールマッチングで利用者IDを1つに絞りきれないことがある。したがって、プロフィール情報(個人情報)のうちいずれか1つを単独で使用する場合は、メールアドレスやスマートフォン50の電話番号を用いることがマッチングの精度を高める上で好適である。
【0076】
但し、この場合も、ゴルフ場サーバ20の中には、昔から利用者管理DB21が更新されておらず、利用者の個人情報として、メールアドレスやスマートフォン50の電話番号が登録されていない場合がある。このためメールアドレスやスマートフォン50の電話番号を単独で使用した場合、プロフィールマッチングで利用者IDを特定できないことがある。以上のようなことから、例えば、メールアドレスやスマートフォン50の電話番号によるプロフィールマッチングで利用者IDが特定できなかった場合は、氏名や自宅の住所や自宅の電話番号によるプロフィールマッチングを行うようにしてもよい。また、氏名や自宅の住所や自宅の電話番号によるプロフィールマッチングで利用者IDを1つに絞りきれなかった場合は、さらに性別,年齢,生年月日,職業,勤務先等の情報を適宜組み合わせてプロフィールマッチングを行うようにしてもよい。このように氏名,自宅の住所,メールアドレス,所有するスマートフォン50の電話番号,自宅の電話番号,性別,年齢,生年月日,職業,勤務先等のうちの2以上を適宜組み合わせてプロフィールマッチングを行うことで、マッチングの精度を高めることができる。なお、プロフィールマッチングで用いる利用者の個人情報の組み合わせを利用者自身が任意に設定できるようにしてもよい。
【0077】
次に、CPU110は、プロフィールマッチングで特定した利用者IDを、ステップS302で特定した会員IDおよびゴルフ場IDの組と関連付けて利用者ID登録DB154に登録する(ステップS307)。例えば、プロフィールマッチングで特定した利用者IDが“001612”であって、ステップS302で会員ID“M00000001”およびゴルフ場ID“G00001”を特定した場合、CPU110は、利用者ID“001612”を、会員ID“M00000001”およびゴルフ場ID“G00001”の組と関連付けて利用者ID登録DB154に登録する(図8のレコード番号“1”)。
【0078】
また、上述したステップS304の判定結果がYESの場合、CPU110は、利用者ID登録DB154を参照し、ステップS302で特定した会員IDおよびゴルフ場IDの組と関連付けて登録されている利用者IDを取得して(ステップS308)、ステップS309に進む。ここで、会員が過去に一度でもプレイ情報を送信したことのあるゴルフ場サーバ20については、ステップS304の判定結果がYESとなって、プロフィールマッチングを含むステップS305〜S307までの処理を実行せずとも、利用者ID登録DB154から利用者IDを取得することができる。よって、プレイ情報の送信処理を簡素化し、処理時間を短縮することができる。
【0079】
この後、CPU110は、ステップS304の判定結果がNOの場合は、ステップS306で行われたプロフィールマッチングで特定した利用者IDと、プレイ情報指定データで指定されるプレイ情報(スコアおよびプレイ日)とを通信IF140を介してゴルフ場サーバ20に送信し、ステップS304の判定結果がYESの場合は、ステップS308で利用者ID登録DB154から取得した利用者IDと、プレイ情報指定データで指定されるプレイ情報とをゴルフ場サーバ20に送信する(ステップS309)。なお、ステップS309においてSNSサーバ10は、ゴルフ場サーバ20に対して利用者IDとプレイ情報を同時(一緒)に送信しなくてもよい。例えば、SNSサーバ10は、まず、プレイ情報を送信し、ゴルフ場サーバ20から利用者についての問い合わせがあると、この問い合わせに応じて利用者IDを送信してもよい。
【0080】
ゴルフ場サーバ20は、SNSサーバ10から利用者IDおよびプレイ情報を受信すると、受信した利用者IDおよびプレイ情報を関連付けてプレイ情報管理DB22(図3)に登録する(ステップS310)。例えば、スマートフォン50からSNSサーバ10に対して、図7に示したプレイ情報管理DB153のうちレコード番号が“1”のレコードデータに含まれるプレイ情報、すなわち会員IDが“M00000001”の会員のプレイ情報(スコア“71”およびプレイ日“20011/10/09”)の送信が指示された場合、このプレイ情報と、プロフィールマッチングによって取得された利用者ID“001612”とがゴルフ場ID“G00001”のゴルフ場サーバ20に送信され、図3に示すプレイ情報管理DB22に登録される。
【0081】
ここで、プロフィール管理DB151(図5)と利用者管理DB21(図2)を参照すると明らかとなるように、会員ID“M00000001”と利用者ID“001612”は、いずれも“鈴木太朗”に対して付与されたものである。したがって、SNSサーバ10で管理している“鈴木太朗”のプレイ情報を、ゴルフ場サーバ20でも“鈴木太朗”のプレイ情報としてプレイ情報管理DB22に登録することができる。なお、ゴルフ場Gの利用予約や、利用者がプレイ日の当日にゴルフ場Gのフロントで受付を済ましたことに応じて、既にプレイ情報管理DB22にスコアを除く利用者IDおよびプレイ日が登録されている場合は、未登録になっているスコアの項目データのみが登録される。
【0082】
この後、ゴルフ場サーバ20は、プレイ情報の登録が完了したことを示す完了通知をSNSサーバ10に送信する(ステップS311)。SNSサーバ10は、ゴルフ場サーバ20から完了通知を受信すると、プレイ情報の送信処理が完了したことを示す完了通知をスマートフォン50に送信する(ステップS312)。
【0083】
なお、プロフィールマッチングは、以上説明したプレイ情報の送信処理とは別個の処理として任意のタイミングで行うことができる。この場合、例えば、図15(A)に示すように、スコア一覧をスマートフォン50の画面に表示した際に、自分のスコアの右脇には、プレイ情報の送信先となるゴルフ場サーバ20から利用者IDを取得していない場合は、プロフィールマッチングの実行を指示する表示ボタンBN3が表示される。会員は、プロフィールマッチングを行う場合、表示ボタンBN3をタッチ操作する。プレイ情報の送信先となるゴルフ場サーバ20から既に利用者IDを取得済みの場合は、図15(B)に示すようにマッチング済みであることを示す表示ボタンBN4が表示される。
【0084】
また、プロフィールマッチングや、ゴルフ場サーバ20に対してプレイ情報を送信する処理は、基本的に会員毎に行われる処理であり、例えば、会員Aが会員Bのプロフィールマッチングを行うことや、会員Aが会員Bのプレイ情報の送信を指示することは基本的に禁止されている。しかしながら、他の会員のプレイ情報の送信を指示することについては、これを禁止せずに許可する構成としてもよい。この場合、例えば、一緒にゴルフをプレイしたメンバー全員が既にプロフィールマッチングを済ませていれば、メンバーの代表者がメンバー全員のプレイ情報をまとめて送信することができる。例えば、図15(C)に示すように、スコア一覧をスマートフォン50の画面に表示した際に、一緒にゴルフをプレイしたメンバー全員が既にプロフィールマッチングを済ませている場合は、メンバー全員のスコアの右脇に、全員のプレイ情報をゴルフ場サーバに送信することを指示する表示ボタンBN5が表示される。メンバーの代表者は、全員のプレイ情報をゴルフ場サーバ20に送信する場合、表示ボタンBN5をタッチ操作する。
【0085】
なお、他の会員によって自分のプレイ情報の送信が指示されることを禁止する設定を設けてもよい。この場合、メンバーの代表者が表示ボタンBN5をタッチ操作すると、禁止設定を有効にしていないメンバーのプレイ情報のみがゴルフ場サーバ20に送信され、禁止設定を有効にしているメンバーのプレイ情報については、ゴルフ場サーバ20への送信がキャンセルされる。また、プレイ情報の送信処理を終えた後、例えば「会員Aさんについては送信禁止設定によりゴルフ場サーバ20にプレイ情報を送信することができませんでした」等といったメッセージが表示される。
【0086】
図16は、プレイ情報の取得処理の流れを例示するシーケンスチャートである。
SNSサーバ10は、会員の過去のプレイ情報をゴルフ場サーバ20から取得する機能を備える。なお、以下の動作説明において、図13に示したプレイ情報の送信処理と同様の処理を行う部分については、説明を適宜簡略化している。
【0087】
例えば、会員がスマートフォン50を操作して、自分のプレイ情報を取得するゴルフ場Gをゴルフ場リストの中から選択すると、スマートフォン50は、ゴルフ場名とゴルフ場IDとの対応関係を記録したデータベースを参照し、会員が選択したゴルフ場Gに対応するゴルフ場IDを特定する。また、スマートフォン50は、この会員の会員IDと、特定したゴルフ場IDとを含む取得要求をSNSサーバ10に送信する(ステップS401)。例えば、会員IDとして“M00000001”が付与された会員が自分のプレイ情報を“Aカントリークラブ”のゴルフ場サーバ20から取得することを指示すると、スマートフォン50は、会員ID“M00000001”とゴルフ場ID“G00001”とを含む取得要求をSNSサーバ10に送信する。
【0088】
SNSサーバ10のCPU110は、スマートフォン50から取得要求を受信すると、ゴルフ場管理DB152(図6)を参照し、受信した取得要求に含まれるゴルフ場IDに対応するアクセス方法(URLおよびAPI)を特定する(ステップS402)。例えば、取得要求に含まれているゴルフ場IDが“G00001”であった場合、CPU110は、“Aカントリークラブ”のゴルフ場サーバ20へのアクセス方法を特定する。
【0089】
次に、CPU110は、利用者IDが取得済みであるか否かを判定する(ステップS403)。ここでは、利用者ID登録DB154(図8)を参照し、ステップS401で受信した取得要求に含まれる会員IDおよびゴルフ場IDの組と関連付けて利用者IDが登録されているか否かを調べることで、利用者IDが登録されていれば利用者IDが取得済みであると判定し(ステップS403:YES)、利用者IDが登録されていなければ利用者IDが取得済みでないと判定する(ステップS403:NO)。例えば、取得要求に会員ID“M00000001”およびゴルフ場ID“G00001”が含まれていた場合、図8に示した利用者ID登録DB154には、会員ID“M00000001”およびゴルフ場ID“G00001”の組と関連付けて利用者ID“001612”が登録されているので(レコード番号“1”)、ステップS403では利用者IDが取得済みであると判定される。
【0090】
CPU110は、ステップS403の判定結果がYESの場合、ステップS407に進む。一方、ステップS403の判定結果がNOの場合、CPU110は、プロフィール管理DB151(図5)を参照し、ステップS401で受信した取得要求に含まれる会員IDに対応するプロフィール情報の一部または全部を取得する(ステップS404)。例えば、取得要求に含まれている会員IDが“M00000001”であった場合、CPU110は、図5に示したプロフィール管理DB151から、プロフィール情報として、“鈴木太朗(氏名)”、“1969/05/23(生年月日)”および“090-1111-1111(電話番号)”のいずれか1以上を取得する。
【0091】
次に、CPU110は、プレイ情報の取得先となるゴルフ場サーバ20との間でプロフィールマッチングを行う(ステップS405)。CPU110は、まず、ステップS402で特定したURLが示すゴルフ場サーバ20にアクセスする。また、CPU110は、ステップS402で特定したAPIを使用してゴルフ場サーバ20との通信を行う。そして、CPU110は、ステップS404で取得したプロフィール情報をゴルフ場サーバ20に通知し、通知したプロフィール情報に一致する利用者IDを問い合わせる。
【0092】
ゴルフ場サーバ20は、SNSサーバ10からプロフィール情報を受信すると、利用者管理DB21(図2)を参照し、受信したプロフィール情報(個人情報)に一致する利用者IDを特定する。また、ゴルフ場サーバ20は、特定した利用者IDをSNSサーバ10に返信する。例えば、プレイ情報の取得先となる、ゴルフ場IDが“G00001”のゴルフ場サーバ20(例えばゴルフ場サーバ20)は、SNSサーバ10から受信したプロフィール情報が“鈴木太朗”であった場合、図2に示した利用者管理DB21を参照して“鈴木太朗”に一致する利用者ID“001612”を取得し、これをSNSサーバ10に返信する。これによりSNSサーバ10は、会員IDが“M00000001”の会員(鈴木太朗)に対してゴルフ場サーバ20が付与した利用者ID“001612”を取得することができる。なお、プロフィールマッチングで使用する個人情報については、上述したプレイ情報の送信処理で説明した通りである。
【0093】
次に、CPU110は、プロフィールマッチングで特定した利用者IDを、ステップS401で受信した取得要求に含まれる会員IDおよびゴルフ場IDの組と関連付けて利用者ID登録DB154に登録する(ステップS406)。例えば、プロフィールマッチングで特定した利用者IDが“001612”であって、取得要求に会員ID“M00000001”およびゴルフ場ID“G00001”が含まれていた場合、CPU110は、利用者ID“001612”を、会員ID“M00000001”およびゴルフ場ID“G00001”の組と関連付けて利用者ID登録DB154に登録する(図8のレコード番号“1”)。
【0094】
また、上述したステップS403の判定結果がYESの場合、CPU110は、利用者ID登録DB154を参照し、ステップS401で受信した取得要求に含まれる会員IDおよびゴルフ場IDの組と関連付けて登録されている利用者IDを取得する(ステップS407)。ここで、会員が過去に一度でもプレイ情報を送信または取得したことのあるゴルフ場サーバ20については、ステップS403の判定結果がYESとなって、プロフィールマッチングを含むステップS404〜S406までの処理を実行せずとも、利用者ID登録DB154から利用者IDを取得することができる。よって、プレイ情報の取得処理を簡素化し、処理時間を短縮することができる。
【0095】
この後、CPU110は、ステップS403の判定結果がNOの場合は、ステップS405で行われたプロフィールマッチングで特定した利用者IDを含む取得要求を通信IF140を介してゴルフ場サーバ20に送信し、ステップS403の判定結果がYESの場合は、ステップS407で利用者ID登録DB154から取得した利用者IDを含む取得要求をゴルフ場サーバ20に送信する(ステップS408)。
【0096】
ゴルフ場サーバ20は、SNSサーバ10から取得要求を受信すると、プレイ情報管理DB22(図3)を参照し、受信した取得要求に含まれる利用者IDに対応する1以上のプレイ情報を特定する(ステップS409)。例えば、プレイ情報の取得先となる、ゴルフ場IDが“G00001”のゴルフ場サーバ20(例えばゴルフ場サーバ20)は、SNSサーバ10から受信した取得要求に含まれている利用者IDが“001612”であった場合、図3に示したプレイ情報管理DB22を参照して利用者ID“001612”に対応するプレイ情報(スコア“NULL”およびプレイ日“20011/10/09”)を特定する。
【0097】
次に、ゴルフ場サーバ20は、ステップS409で特定したプレイ情報をSNSサーバ10に返信する(ステップS410)。SNSサーバ10のCPU110は、ゴルフ場サーバ20からプレイ情報を受信すると、受信したプレイ情報を、ステップS401で受信した取得要求に含まれる会員IDおよびゴルフ場IDと関連付けてプレイ情報管理DB153(図7)に登録する(ステップS411)。この後、CPU110は、プレイ情報の取得処理が完了したことを示す完了通知をスマートフォン50に送信する(ステップS412)。例えば、ゴルフ場サーバ20から受信したプレイ情報がスコア“NULL”およびプレイ日“20011/10/09”であって、取得要求に会員ID“M00000001”およびゴルフ場ID“G00001”が含まれていた場合、SNSサーバ10は、プレイ情報(スコア“NULL”およびプレイ日“20011/10/09”)を、会員ID“M00000001”およびゴルフ場ID“G00001”と関連付けてプレイ情報管理DB153に登録する。
【0098】
なお、ゴルフ場サーバ20から取得したプレイ情報は、スコアが未登録の場合もあるが、その場合でもプレイ日の情報を取得することができるので、会員が個人的に自分の過去のスコアを管理している場合は、スマートフォン50を操作してSNSサーバ10にアクセスし、未登録のスコアを入力することが可能である。また、SNSサーバ10のCPU110は、ステップS410でゴルフ場サーバ20からプレイ情報を受信するにあたり、特にプレイ情報が複数ある場合は、既にプレイ情報管理DB153に登録されているプレイ情報については受信を控え、プレイ情報管理DB153に登録されていないプレイ情報のみを受信するようにしてもよい。この場合、SNSサーバ10は無駄なプレイ情報の受信を行わずに済む。
【0099】
以上説明したプレイ情報の取得処理によれば、例えば、ゴルフ場サーバ20から“鈴木太朗”のプレイ情報を取得し、これをSNSサーバ10でも“鈴木太朗”のプレイ情報としてプレイ情報管理DB153に登録することができる。また、会員は、必要に応じて各ゴルフ場サーバ20から自分の過去のプレイ情報を取得してSNSサーバ10のプレイ情報管理DB153に登録することができるから、各地のゴルフ場Gでゴルフをプレイした会員のプレイ情報をSNSサーバ10で一元管理することが可能になる。
【0100】
なお、ステップS405で行われるプロフィールマッチングについても、プレイ情報の取得処理とは別個の処理として任意のタイミングで行うことができる。また、ゴルフ場サーバ20からプレイ情報を取得する処理も、基本的に会員毎に行われる処理であり、例えば、会員Aが会員Bのプレイ情報の取得を指示することは基本的に禁止されている。しかしながら、他の会員のプレイ情報の取得を指示することを禁止せずに許可する構成としてもよいし、他の会員によって自分のプレイ情報の取得が指示されることを禁止する設定を設けてもよい。
【0101】
<2.変形例>
本発明は上述した実施形態に限定されるものではなく、例えば以下の変形が可能である。また、以下に示す2以上の変形を適宜組み合わせることもできる。
【0102】
[変形例1]
図13に示した送信処理でプロフィールマッチング(ステップS306)を行う場合に、個人情報に加えてプレイ日の情報を使用してもよい。前述したようにゴルフ場サーバ20のプレイ情報管理DB22には、ゴルフ場Gの利用予約等に応じて、スコアを除く利用者IDおよびプレイ日が登録されることが多々ある。したがって、個人情報の他に、送信するプレイ情報に含まれるプレイ日の情報、または会員が覚えている過去のプレイ日の情報を利用してプロフィールマッチングを行うことで、マッチングの精度を高めることができる。
【0103】
この場合、SNSサーバ10は、ステップS306でプロフィールマッチングを開始する場合に、ステップS305で取得したプロフィール情報に加え、プレイ情報指定データで指定されるプレイ日の情報、または会員がスマートフォン50を操作して入力した過去のプレイ日の情報をゴルフ場サーバ20に通知する。ゴルフ場サーバ20は、SNSサーバ10からプロフィール情報およびプレイ日の情報を受信すると、例えば、利用者管理DB21(図2)を参照しても、受信したプロフィール情報に一致する利用者IDが1つに絞りきれなかった場合に、プレイ情報管理DB22(図3)を参照し、受信したプレイ日の情報に一致する利用者IDを特定する。次に、ゴルフ場サーバ20は、プロフィール情報に一致する複数の利用者IDと、プレイ日の情報に一致する1以上の利用者IDとのANDをとって利用者IDを特定し、特定した利用者IDをSNSサーバ10に送信する。
【0104】
なお、プロフールマッチングで使用するプレイ日の情報は、1つに限らず複数であってもよい。プレイ日の情報を複数使用した方がマッチングの精度をより高めることができる。また、図16に示した取得処理でプロフィールマッチング(ステップS405)を行う場合についても、個人情報に加えてプレイ日の情報を使用してもよい。
【0105】
[変形例2]
図17は、図13に示した送信処理の変形例を示すシーケンスチャートである。
同図に示す処理は、プロフィールマッチング(図13のステップS306)で、ゴルフ場サーバ20がスマートフォン50から受信したプロフィール情報(個人情報)に一致する利用者IDを特定すると開始される。
【0106】
ゴルフ場サーバ20は、まず、プロフィールマッチングによって特定した利用者IDが複数あるか否かを判定する(ステップS501)。ステップS501の判定結果がNOの場合は、図13に示したステップS307に移行する。また、ゴルフ場サーバ20は、ステップS501の判定結果がYESの場合、すなわちプロフィールマッチングによって利用者IDを1つに絞りきれなかった場合は、利用者管理DB21(図2)を参照し、特定した複数の利用者IDの各々に対応する個人情報(例えば、氏名,生年月日,住所,電話番号)を取得する(ステップS502)。次に、ゴルフ場サーバ20は、特定した利用者ID毎に、利用者IDと、この利用者IDに対応する個人情報との組を生成する。また、ゴルフ場サーバ20は、生成した利用者IDと個人情報の組(複数)をSNSサーバ10に送信する(ステップS503)。
【0107】
SNSサーバ10は、ゴルフ場サーバ20から利用者IDと個人情報の組(複数)を受信すると、これをRAM130に記憶すると共に、受信した複数人分の個人情報をスマートフォン50に送信する(ステップS504)。スマートフォン50は、SNSサーバ10から個人情報(複数人分)を受信すると、受信した複数人分の個人情報を画面に表示する(ステップS505)。また、スマートフォン50は、例えば「マッチングによって利用者IDを1つに絞りきれませんでした。複数の候補が見つかりましたので選択してください」等といったメッセージを表示し、会員に対して選択を促す。これに応じて会員がスマートフォン50を操作して画面に表示された複数人分の個人情報の中からいずれかを選択すると、スマートフォン50は、会員が選択した個人情報を指定する選択情報をSNSサーバ10に送信する(ステップS506)。SNSサーバ10は、スマートフォン50から選択情報を受信すると、RAM130に記憶した情報の中から、受信した選択情報が指定する個人情報と同じ組の利用者IDを特定し、特定した利用者IDをプロフィールマッチングによって得られた最終的な利用者IDとして決定する(ステップS507)。
【0108】
以上説明したようにプロフィールマッチングによって利用者IDを1つに絞りきれなかった場合に、最終的な選択を利用者に行わせるようにしてもよい。なお、本変形例の内容は、図16に示した取得処理で行われるプロフィールマッチング(ステップS405)に対しても同様に適用可能である。
【0109】
[変形例3]
上述したプレイ情報の送信処理(図13)では、プロフィールマッチングで特定した利用者IDを、ステップS302で特定した会員IDおよびゴルフ場IDの組と関連付けて利用者ID登録DB154(図8)に登録する場合について説明したが(ステップS307)、ステップS304,S307,S308を削除すると共に利用者ID登録DB154(図8)を備えない構成とし、SNSサーバ10は、プレイ情報の送信が指示される都度、プロフィールマッチングを行うようにしてもよい。これはプレイ情報の取得処理(図16)についても同様である。すなわち、ステップS403,S406,S407を削除すると共に利用者ID登録DB154(図8)を備えない構成とし、SNSサーバ10は、プレイ情報の取得が指示される都度、プロフィールマッチングを行うようにしてもよい。
【0110】
[変形例4]
SNSサーバ10や各ゴルフ場サーバ20で管理しているプレイ情報には、プレイ日およびスコアの他、ハンディキャップ、天候、風速、一緒にラウンドしたメンバーに関する情報等が含まれてもよい。また、プレイ情報は、プレイ日を含まずスコアのみであってもよい。また、スコアには、ホール毎のパット数、全ホールでの平均パット数、一緒にラウンドしたメンバー間での順位等の情報が含まれてもよい。SNSサーバ10で管理しているプレイ情報と、各ゴルフ場サーバ20で管理しているプレイ情報は、データ構成が異なってもよい。例えば、SNSサーバ10で管理しているプレイ情報は、プレイ日、スコアおよび天候で構成される一方、各ゴルフ場サーバ20で管理しているプレイ情報は、プレイ日およびスコアで構成されてもよい。この場合、SNSサーバ10からゴルフ場サーバ20にプレイ情報を送信するときは、天候を除くプレイ日およびスコアがSNSサーバ10から送信される。また、ゴルフ場サーバ20からプレイ情報を取得するときは、プレイ日およびスコアがゴルフ場サーバ20から取得され、天候の項目は“NULL”となる。また、例えば、プレーンテキストフォーマットとリッチテキストフォーマット等、SNSサーバ10と各ゴルフ場サーバ20とでプレイ情報のデータ記録形式が異なってもよい。この場合、SNSサーバ10にデータ記録形式を変換する機能を持たせればよい。
【0111】
[変形例5]
利用者管理DB21には、利用者の個人情報として、例えば、氏名,生年月日,住所,電話番号,メールアドレスのうち少なくともいずれか1項目が設けられていればよい。同様にプロフィール管理DB151についても、会員のプロフィール情報として、例えば、氏名,生年月日,住所,電話番号,メールアドレスのうち少なくともいずれか1項目が設けられていればよい。但し、プロフィールマッチングを行うので、利用者管理DB21に格納される個人情報と、プロフィール管理DB151に格納されるプロフィール情報とは、少なくとも1項目以上が同じである必要がある。
【0112】
[変形例6]
プロフィール管理DB151は、SNSサーバとは別に設けられた会員管理サーバに記憶されていてもよい。この場合、SNSサーバ10は、会員管理サーバに問い合わせを行なってプロフィールマッチングの対象となる会員のプロフィール情報を取得する。また、プレイ情報管理DB153においてラウンドIDの項目はなくてもよい。
【0113】
[変形例7]
プロフィール管理DB151、ゴルフ場管理DB152、プレイ情報管理DB153および利用者ID登録DB154は、SNSサーバ10とは別の装置(例えば情報蓄積サーバ)に記憶されていてもよい。この場合、SNSサーバ10は、必要に応じて情報蓄積サーバにアクセスし、情報の取得や新たな情報の蓄積を行う。同様に利用者管理DB21およびプレイ情報管理DB22についても、ゴルフ場サーバ20とは別の装置(例えば情報蓄積サーバ)に記憶され、ゴルフ場サーバ20は、必要に応じて情報蓄積サーバにアクセスし、情報の取得や新たな情報の蓄積を行う構成であってもよい。また、ゴルフ場サーバ20は、利用者管理DB21を記憶する利用者管理サーバと、プレイ情報管理DB22を記憶するプレイ情報管理サーバとで構成されてもよい。
【0114】
[変形例8]
端末は、スマートフォンに限らず、例えば、ウェブ閲覧機能を備えた携帯電話機、無線通信機能を備えたタブレットコンピュータ、GPSゴルフナビゲーション用の専用端末等であってもよい。また、端末は、GPSを利用したゴルフのナビゲーション機能を備えていなくてもよい。また、端末は、SNSサーバ10で管理しているプレイ情報の閲覧や、SNSサーバ10に対してプレイ情報の送信や取得を指示することができればよいから、携帯型の通信装置に限らず、例えば据置型のパーソナルコンピュータ等であってもよい。
【0115】
[変形例9]
スポーツ施設は、ゴルフ場以外に、例えば、1または複数のバーチャルゴルフマシンが設置されたゴルフバーであってもよい。この場合、ゴルフバーでバーチャルゴルフをプレイした日やそのスコアがプレイ情報として管理される。また、本発明は、ゴルフ以外のスポーツにも適用可能であり、スポーツ施設は、ゴルフ場やゴルフバー以外に、例えば、ボーリング場、テニス場、スポーツジム、スイミングクラブ、陸上競技場等であってもよい。例えば、ボーリング場の場合、ボーリング場でボーリングをプレイした日やそのスコアがプレイ情報として管理される。また、プレイ情報として管理されるスポーツのプレイ結果は、スコア以外に、勝敗、順位、タイム等であってもよい。
【0116】
[変形例10]
本発明に係るサーバはSNSサーバに限定されない。すなわちサーバは、会員制のサーバや、ソーシャルネットワークサービスを主要なサービスとするサーバに限らず、1以上のスポーツ施設の管理装置と通信を行って、スポーツ施設の利用者のプレイ情報を管理することが可能なサーバであればよい。また、サーバと端末との間に介在するネットワークは、インターネットや移動体通信網に限らず、WAN(Wide Area Network)やLAN(Local Area Network)等であってもよい。
【符号の説明】
【0117】
1…管理システム、10…SNSサーバ、G,G〜G…ゴルフ場、20,20〜20…ゴルフ場サーバ、21,21〜21…利用者管理DB、22,22〜22…プレイ情報管理DB、30…インターネット、40…移動体通信網、50,50〜50…スマートフォン、51…ゴルフナビアプリ、110…CPU、120…ROM、130…RAM、140…通信IF、150…ハードディスク、151…プロフィール管理DB、152…ゴルフ場管理DB、153…プレイ情報管理DB、154…利用者ID登録DB、TBL1…プレイ情報記録テーブル、BN1〜BN5…表示ボタン。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17