【新規性喪失の例外の表示】特許法第30条第2項適用 令和1年6月24日に、ウェブサイト https://bajji.life/で発明に関わるシステムを公表した。
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、図面を参照しつつ本開示の実施形態を説明する。ただし、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施形態は、技術的に好ましい種々の限定が付されているが、実施形態はこれらの形態に限られるものではない。
【0012】
(A:実施形態)
図1は、本開示の実施形態による通信システム1の構成例を示す図である。
図1に示すように、通信システム1は、通信網10に接続されたサーバ20と、各々通信網10に収容される移動端末30A及び移動端末30Bと、を含む。通信システム1は、移動端末30Aのユーザ及び移動端末30Bのユーザに対して、コミュニケーションの一態様としてユーザ間で仮想バッジを授受できるようにし、仮想バッジの授受の履歴をユーザの評価に反映させるシステムである。
【0013】
仮想バッジとは、徽章又は記章の画像を表す電子データのことをいう。仮想バッジは、通信システム1を運用する事業者等が各ユーザに有料で販売してもよく、また、各ユーザが自らデザインして作成してもよい。なお、本実施形態では、各ユーザの移動端末に当該ユーザの所有する仮想バッジが記憶されるのではなく、各ユーザの所有する仮想バッジの種類及び数等の仮想バッジに関する情報はサーバ20において一元管理される。なお、本実施形態では、仮想バッジに関する情報をサーバ20に記憶するがブロックチェーンに保存してもよい。
【0014】
また、通信システム1は、ユーザ同士のコミュニケーションの前提として、移動端末30Aのユーザ及び移動端末30Bのユーザが現実に対面すること(以下、エンカウント)の支援サービスを提供する。
図1では、詳細な図示を省略したが、通信網10には、インターネット等の一般公衆回線と、この一般公衆回線に接続される無線通信網とが含まれる。移動端末30A及び移動端末30Bは、この無線通信網に収容される。通信網10に含まれる無線通信網は無線LAN(Local Area Network)であってもよいし、移動パケット通信網であってもよい。本実施形態の通信システム1には、2台の移動端末が含まれるが、3台以上の移動端末が通信システム1に含まれてもよい。要は、複数の移動端末が通信システム1に含まれていればよい。
【0015】
サーバ20は、例えばパーソナルコンピュータなどのコンピュータ装置である。
図1に示すように、サーバ20は、通信装置210と、記憶装置220と、処理装置230と、を含む。処理装置230は例えばCPU(Central Processing Unit)であり、サーバ20の制御中枢として機能する。通信装置210は、例えばNIC(Network Interface Card)である。通信装置210は、通信網10から送信されてくるデータを受信し、受信したデータを処理装置230へ引き渡す一方、処理装置230から引き渡されるデータを通信網10へ送信する。記憶装置220はRAM(Random Access Memory)、ROM(Read Only Memory)及びハードディスクにより構成される。記憶装置220には、本実施形態の特徴を顕著に示す機能を処理装置230に実現させるプログラムP1が予め記憶されている。
【0016】
図2は、プログラムP1に従って処理装置230が実現する機能ブロックの一例を示す機能ブロック図である。
図2に示すように、処理装置230は、プログラムP1を読み出して実行することにより、割り当て部230a、候補通知部230b、更新部230c、及びスコア算出部230dとして機能する。本実施形態における割り当て部230a、候補通知部230b、更新部230c及びスコア算出部230dの各々はCPUをプログラムに従って作動させることにより実現されるソフトウェアモジュールであるが、ASIC等の電子回路によりこれら各部の一部又は全部を実現してもよい。
【0017】
割り当て部230aは、通信システム1に含まれる複数の移動端末の各々の位置を検出する。位置を検出する方法としては、無線通信網に含まれる複数の基地局の何れに移動端末が収容されているかを特定することにより位置を検出する方法、又はGPS等の測位システムを利用して位置を検出する方法等の既存技術を適宜用いるようにすればよい。
【0018】
次いで、割り当て部230aは、位置が検出された移動端末に予め定められた複数の識別子のうちの何れかと検出した位置と位置を検出した時刻とを含む識別情報を割り当る。本実施形態における複数の識別子は、互いに異なる色を示す情報である。なお、本実施形態の識別情報には、位置を検出した時刻が含まれるが、当該時刻を識別情報に含めなくてもよい。少なくとも上記複数の識別子のうちの何れか一つと検出した位置とが識別情報に含まれていればよい。
【0019】
そして、割り当て部230aは、割り当てた識別情報を通信装置210により割り当て先へ送信する一方、割り当てた識別情報と割り当て先の移動端末とを対応付けて記憶装置220に記憶させる。
【0020】
候補通知部230bは、複数の移動端末のうちの何れかの移動端末(以下、第1の移動端末)から送信される識別子を通信装置210により受信し、受信した識別子を含む識別情報の割り当て先であって、第1の移動端末とは異なる第2の移動端末と第1の移動端末との間の距離が所定の条件(例えば、500m以内の距離である等)を満たすか否かを判定する。この判定結果が“Yes”である場合、候補通知部230bは、第2の移動端末に関する情報を、エンカウント候補を示す情報として通信装置210により第1の移動端末へ送信する。エンカウント候補を示す情報、すなわち第2の移動端末に関する情報には、当該第2の移動端末に割り当てた識別情報が含まれる。この識別情報の他に、第2の移動端末のユーザが使用するハンドル名、アバター或いはアイコン等の情報が含まれてもよい。
【0021】
更新部230cは、互いにエンカウント候補である2つの移動端末からエンカウントの成立を示す情報を通信装置210により受信した場合に、これら2つの移動端末のユーザ同士を対応付けるエンカウント情報を生成し、生成したエンカウント情報を記憶装置220に記憶させる。記憶装置220には、エンカウント情報の他に、各ユーザの所有する仮想バッジの種類及び数を示す情報と、各ユーザに対応付けて、他のユーザに贈った仮想バッジの種類、贈り先の他のユーザ及び贈った日時(以下、送信日時)を示す情報と、他のユーザから贈られた仮想バッジの種類、贈り元の他のユーザ及び贈られた日時(以下、受信日時)を示す情報と、を含む授受履歴が記憶される。更新部230cは、他のユーザに贈る仮想バッジと贈り先とに関する通知を通信装置210により受信したことを契機として、ユーザの所有する仮想バッジの種類及び数を示す情報を更新するととともに、当該通知の送信元の移動端末のユーザ及び贈り先の他のユーザについての授受履歴を更新する。
【0022】
スコア算出部230dは、移動端末30Aのユーザ及び移動端末30Bのユーザの各々の評価を表すスコアを、記憶装置220の記憶内容に基づいて算出する。本実施形態のスコア算出部230dは、エンカウント情報の示す他のユーザとのエンカウントの回数と、授受履歴の示す他のユーザから贈られた仮想バッジ及び他のユーザへ贈った仮想バッジと、に基づいてスコアを算出する。より詳細に説明すると、スコア算出部230dは、他のユーザとのエンカウントの回数が多いほどスコアを高く算出し、他のユーザから贈られた仮想バッジについては受け取ってからの経過時間が短いほどスコアを高く算出し、他のユーザに送った仮想バッジについては送ってからの経過時間が短いほどスコアを高く算出する。また、贈った仮想バッジ又は贈られた仮想バッジの希少性が高いほど、スコアを高く算出してもよい。仮想バッジの希少性は、仮想バッジの販売価格又は発行枚数に応じて定まり、例えば、仮想バッジの販売価格が高いほど又は仮想バッジの発行枚数が少ないほど希少性は高くなる。また、仮想バッジの贈り元のスコアが高いほど当該仮想バッジの希少性を高くしてもよい。
【0023】
処理装置230は、サーバ20の電源(図示略)の投入を契機としてプログラムP1を記憶装置220から読み出し、読み出したプログラムP1の実行を開始する。プログラムP1に従って作動している処理装置230は、
図3のフローチャートに示す処理、
図4のフローチャートに示す処理、及び
図5〜
図8のフローチャートに示す処理を実行する。
図3のフローチャートに示す処理は、割り当て部230aにより実行される割り当て処理である。
図4のフローチャートに示す処理には、候補通知部230bにより実行される候補通知処理と、更新部230cにより実行される第1更新処理とが含まれる。
図5〜
図8のフローチャートに示す処理は、スコア算出部230dにより実行される処理である。なお、詳細な図示は省略したが、プログラムP1に従って作動している処理装置230は、移動端末30A又は移動端末30Bからの要求に応じて要求元の移動端末のユーザのスコアを返信する処理、仮想バッジを他のユーザに贈ることを示す通知の受信を契機として授受履歴を更新する第2更新処理、及び当該通知の示す仮想バッジを当該通知の示す贈り先へ送信する処理を実行する。
【0024】
割り当て処理のステップSA100では、割り当て部230aは、通信システム1に含まれる複数の移動端末の各々について位置の検出を行う。ステップS100に後続するステップSA110では、割り当て部230aは、位置情報を取得できたか否かを判定する。通信システム1に含まれる全ての移動端末について位置情報を取得できなかった場合にステップSA110の判定結果は“No”となり、この場合、割り当て部230aは、ステップSA100の処理を再度実行する。これに対して、少なくとも1つの移動端末について位置情報を取得できた場合にはステップSA110の判定結果は“Yes”となり、割り当て部230aはステップSA120以降の処理を実行する。なお、ステップSA100にて複数の移動端末の位置情報が取得された場合には、割り当て部230aは、ステップSA120以降の処理を、位置情報が取得された複数の移動端末の各々について実行する。
【0025】
ステップSA120では、割り当て部230aは、複数の識別子のうちから1の識別子を選択して識別情報を生成する。複数の識別子のうちから1の識別子を選択する方法としては、疑似乱数を用いる手法等、既存技術を適宜用いるようにすればよい。ステップSA130では、割り当て部230aは、位置情報の取得された移動端末にステップSA120にて生成した識別情報を送信し、当該移動端末を示す情報(例えば、移動端末の通信アドレス等)と当該識別情報とを対応づけて記憶装置220に書き込む。ステップSA130に後続するステップSA140では、割り当て部230aは、一定時間が経過したか否かを、リアルタイムクロック等を参照して判定する。ステップSA140の判定結果が“Yes”であれば、割り当て部230aはステップSA120以降の処理を再度実行する。これに対してステップSA140の判定結果が“No”であれば、割り当て部230aはステップSA140の処理を再度実行する。
以上が割り当て処理の処理内容である。
【0026】
次いで、
図4を参照しつつ、候補通知処理及び第1更新処理を説明する。候補通知処理は、
図4のステップSB100〜SB130の処理であり、第1更新処理は、
図4のステップSB140及びSB150の処理である。
【0027】
ステップSB100では、候補通知部230bは、第1の移動端末から送信される識別子を通信装置210により受信する。ステップSB110では、候補通知部230bは、ステップSB100にて受信した識別子を含む識別情報を割り当てられた移動端末であって、第1の移動端末以外の移動端末(すなわち、第2の移動端末)が有るか否かを、記憶装置220に記憶されている情報を参照して判定する。ステップSB110の判定結果が“No”の場合、すなわち該当する移動端末が一つもない場合には、候補通知部230bは、ステップSB100の処理を再度実行する。ステップSB110の判定結果が“Yes”である場合、すなわち1又は複数の第2の移動端末がある場合には、候補通知部230bは、ステップSB120の処理を実行する。
【0028】
ステップSB120では、候補通知部230bは、1又は複数の第2の通信端末のなかに第1の移動端末との間の距離が所定条件を満たす第2の通信端末があるか否かを判定する。ステップSB120の判定結果が“No”の場合、すなわち第1の移動端末との間の距離が所定条件を満たす第2の移動端末が1つもない場合、候補通知部230bは、ステップSB100の処理を再度実行する。ステップSB120の判定結果が“Yes”である場合、候補通知部230bは、ステップSB130の処理を実行する。なお、ステップSB110とステップSB120の実行順序を入れ替え、第1の移動端末との間の距離が所定条件を満たす移動端末を絞り込み、絞り込んだ移動端末のなかに第2の移動端末に該当する移動端末があるか否かを判定してもよい。ステップSB130では、候補通知部230bは、第1の移動端末との間の距離が所定条件を満たす第2の移動端末に関する情報を、エンカウント候補を示す情報として通信装置210により第1の移動端末へ送信する。なお、複数の第2の移動端末が上記所定の条件を満たす場合には、候補通知部230bは、複数の第2の移動端末の各々に関する情報を、エンカウント候補に関する情報として第1の移動端末へ送信する。以上が候補通知処理の処理内容である。
【0029】
ステップSB140では、更新部230cは、エンカウントの成立を示す通信メッセージをペアで受信したか否かを判定する。具体的には、互いにエンカウント候補である2つの移動端末の各々からエンカウントの成立を示す通信メッセージを受信した場合に、更新部230cは、エンカウントの成立を示す通信メッセージをペアで受信したと判定する。従って、エンカウント候補に関する情報を送信してから所定時間が経過するまでに、互いにエンカウント候補である2つの移動端末の一方からしかエンカウントの成立を示す通信メッセージを受信しなかった場合、又はエンカウント候補に関する情報を送信してから所定時間が経過するまでに上記通信メッセージを受信しなかった場合にはステップSB140の判定結果は“No”となる。ステップSB140の判定結果が“Yes”である場合には、更新部230cは、ステップSB150の処理を実行して第1更新処理を終了する。ステップSB140の判定結果が“No”である場合には、更新部230cは、ステップSB150の処理を実行することなく、第1更新処理を終了する。ステップSB150では、更新部230cは、エンカウント情報を生成し、生成したエンカウント情報を記憶装置220に書き込む。
【0030】
次いで、
図5〜
図8を参照しつつ、スコア算出処理を説明する。
図5はスコア算出処理の流れを示すフローチャートである。
図5に示すスコア算出処理は、移動端末30Aのユーザ及び移動端末30Bのユーザの各々を算出対象ユーザとし、算出対象ユーザ毎に実行される。
図5に示すように、スコア算出処理には、エンカウントスコア算出処理SE100、送信バッジスコア算出処理SE110、受信バッジスコア算出処理SE120、及びスコア合算処理SE130が含まれる。
【0031】
エンカウントスコア算出処理SE100では、スコア算出部230dは、エンカウント情報を参照し、エンカウント回数に基づくスコア(エンカウントスコア)を算出する。送信バッジスコア算出処理SE110では、スコア算出部230dは、授受履歴を参照し、他のユーザに贈った仮想バッジに基づくスコア(送信バッジスコア)を算出する。受信バッジスコア算出処理SE120では、スコア算出部230dは、授受履歴を参照し、他のユーザから贈られた仮想バッジに基づくスコア(受信バッジスコア)を算出する。エンカウントスコア算出処理SE100、送信バッジスコア算出処理SE110、及び受信バッジスコア算出処理SE120の各処理の処理内容の詳細については後に明らかにする。
【0032】
スコア合算処理SE130では、スコア算出部230dは、エンカウントスコア、送信バッジスコア及び受信バッジスコアを合算し、スコアを算出する。以上がスコア算出処理の流れである。本実施形態では、エンカウントスコア算出処理SE100、送信バッジスコア算出処理SE110、及び受信バッジスコア算出処理SE120の各処理がこの順に実行されるが、これら各処理の実行順を入れ替えてもよい。
【0033】
次いで、
図6を参照しつつ、エンカウントスコア算出処理SE100の詳細な処理内容を説明する。エンカウントスコア算出処理SE100のステップSE1000では、スコア算出部230dは、算出対象ユーザとエンカウント済の他の全てのユーザを、エンカウント情報を参照して抽出する。ステップSE1000では、1又は複数の他のユーザが抽出される。ステップSE1010では、スコア算出部230dは、ステップSE1000にて抽出された1又は複数のユーザのうちで未選択状態の1のユーザを選択する。
【0034】
ステップSE1020では、スコア算出部230dは、ステップSE1010にて選択したユーザとのエンカウントスコアとして、所定の初期値(初回のエンカウントに対して定められたスコア)V1を設定する。ステップSE1030では、スコア算出部230dは、ステップSE1010にて選択したユーザとのエンカウント回数が1よりも多いか否かを、エンカウント情報を参照して判定する。ステップSE1030の判定結果が“Yes”の場合、スコア算出部230dは、ステップSE1040の処理を実行した後にステップSE1050の処理を実行する。ステップSE1030の判定結果が“No”の場合、スコア算出部230dは、ステップSE1040の処理を実行することなく、ステップSE1050の処理を実行する。
【0035】
ステップSE1040では、スコア算出部230dは、ステップSE1010にて選択したユーザとのエンカウントスコアに2回目以降のエンカウントの回数に応じた再会スコアを加算する。例えば、ステップSE1010にて選択したユーザとのエンカウント回数がN(Nは2以上の整数)であり、2回目以降のエンカウントの一回当たりのスコアがV2(V2<V1)である場合、スコア算出部230dは、エンカウントスコアに(n−1)×V2を加算する。本実施形態では、V1>V2としてエンカウントスコアに対する初回のエンカウントの寄与を大きくするが、V1=V2であってもよく、また、V1<V2であってもよい。また、初回、2回目、3回目・・・とエンカウントスコアに対する寄与を順次減衰させる態様であってもよい。
【0036】
ステップSE1050では、スコア算出部230dは、ステップSE1000にて抽出した1又は複数のユーザを全て選択済であるか否かを判定する。ステップSE1050の判定結果が“No”である場合、スコア算出部230dは、ステップSE1010以降の処理を再度実行する。これに対して、ステップSE1050の判定結果が“Yes”である場合、スコア算出部230dは、ステップSE1060の処理を実行する。
【0037】
ステップSE1060では、スコア算出部230dは、ステップSE1000にて抽出した1又は複数のユーザの各々について算出したエンカウントスコアを合算し、その合算結果を処理対象ユーザについてのエンカウントスコアとする。
以上がエンカウントスコア算出処理の処理内容である。
【0038】
次いで、
図7を参照しつつ、送信バッジスコア算出処理SE110の詳細な処理内容を説明する。送信バッジスコア算出処理SE110のステップSE1100では、スコア算出部230dは、算出対象ユーザがエンカウント済の他のユーザに贈った仮想バッジを、授受履歴を参照して抽出する。処理対象ユーザが他のユーザに仮想バッジを少なくとも1つ送っている場合、ステップSE1100では少なくとも1つの仮想バッジが抽出される。ステップSE1010では、スコア算出部230dは、ステップSE1100にて抽出された仮想バッジのうちで未選択状態の1の仮想バッジを選択する。
【0039】
ステップSE1120では、スコア算出部230dは、送信バッジスコアとして、所定の初期値(1つの仮想バッジ当たりのスコア)を設定する。ステップSE1130では、スコア算出部230dは、ステップSE1110にて選択した仮想バッジが劣化しているか否かを、授受履歴を参照して判定する。具体的には、スコア算出部230dは、ステップSE1110にて選択した仮想バッジの送信日時を履歴情報を参照して特定し、現在日時が当該送信日時を起算点とする所定の期間(例えば、1か月)内の日時であるか否かを判定する。現在日時が上記所定の期間内の日時である場合には、スコア算出部230dは、ステップSE1110にて選択した仮想バッジは劣化していないと判定する。仮想バッジを贈るのはその贈り先に対する信頼の証であり、仮想バッジを贈ったときからの時間経過と共にその信頼は少なからず低下する。本開示では、この信頼の低下が仮想バッジの劣化という概念で表現される。別の観点では、エンカウト回数に加えて授受された仮想バッジの数値の変化を加味することによって、例えばグラフ理論によれば各ユーザに対応するノード同士を結ぶリンクの太さが変化するので、両者の繋がりが顕在化し、本当の関係性が顕在化すると考えられる。ステップSE1130の判定結果が“Yes”である場合には、スコア算出部230dは、ステップSE1140の処理を実行した後にステップSE1150の処理を実行する。ステップSE1130の判定結果が“No”の場合、スコア算出部230dは、ステップSE1140の処理を実行することなく、ステップSE1150の処理を実行する。
【0040】
ステップSE1140では、スコア算出部230dは、ステップSE1120にて設定した送信バッジスコアを引き下げる劣化処理を実行する。具体的には、スコア算出部230dは、ステップSE1120にて設定した送信バッジスコアを半分の値に更新する。ステップSE1150では、スコア算出部230dは、ステップSE1100にて抽出した仮想バッジを全て選択済であるか否かを判定する。ステップSE1150の判定結果が“No”である場合、スコア算出部230dは、ステップSE1110以降の処理を再度実行する。これに対して、ステップSE1150の判定結果が“Yes”である場合、スコア算出部230dは、ステップSE1160の処理を実行する。
【0041】
ステップSE1160では、スコア算出部230dは、ステップSE1100にて抽出した仮想バッジについて算出した送信バッジスコアを合算し、その合算結果を処理対象ユーザについての送信バッジスコアとする。
以上が送信バッジスコア算出処理の処理内容である。
【0042】
次いで、
図8を参照しつつ、受信バッジスコア算出処理SE120の詳細な処理内容を説明する。
図8では
図7におけるものと同じ処理には同じ符号が付されている。
図8と
図7とを対比すれば明らかなように、受信バッジスコア算出処理SE120は、ステップS1100に代えてステップSE1200の処理を有する点が送信バッジスコア算出処理SE110と異なる。受信バッジスコア算出処理SE120のステップSE1200では、スコア算出部230dは、算出対象ユーザがエンカウント済の他のユーザから贈られた仮想バッジを、授受履歴を参照して抽出する。処理対象ユーザが他のユーザから少なくとも1つの仮想バッジを贈られている場合、ステップSE1100では少なくとも1つの仮想バッジが抽出される。
【0043】
ステップSE1110以降の処理の内容は、送信バッジスコア算出処理SE110において対応する処理の内容と基本的には同じである。ただし、受信バッジスコア算出処理SE120のステップSE1110では、スコア算出部230dは、ステップSE1200にて抽出された仮想バッジのうちで未選択状態の一の仮想バッジを選択する。また、ステップSE1120では、スコア算出部230dは、受信バッジスコアとして、所定の初期値(1つの仮想バッジ当たりのスコア)を設定する。ステップSE1130では、スコア算出部230dは、ステップSE1110にて選択した仮想バッジの受信日時を履歴情報を参照して特定し、現在日時が当該受信日時を起算点とする所定の期間内の日時であるか否かを判定し、所定の期間内にある場合には劣化していないと判定する。前述したように仮想バッジの劣化は、贈られた日を起算点とし、所定の期間経過した時点から始まる。このため、同じ仮想バッジであっても、贈られた日によって劣化が始まるタイミングが異なるため、後に贈られたバッジの受信スコア値は、先に贈られたバッジの受信スコア値より高くなることがある。そして、ステップSE1140では、スコア算出部230dは、ステップSE1120にて設定した受信バッジスコアを引き下げる劣化処理を実行する。
以上が受信バッジスコア算出処理SE120の処理内容である。
以上がサーバ20の構成である。
【0044】
次いで、移動端末30A及び移動端末30Bについて説明する。
移動端末30A及び移動端末30Bの各々は何れもスマートフォンである。本実施形態における移動端末30A及び移動端末30Bはスマートフォンであるが、何れか一方又は両方がタブレット端末又はノート型パーソナルコンピュータであってもよい。移動端末30Aの構成と移動端末30Bの構成は同一である。このため、
図1では、移動端末30Aについてのみ、構成例が図示されている。以下では、移動端末30Aと移動端末30Bとを区別する必要がない場合には、移動端末30と表記する。
図2に示すように、移動端末30は、通信装置310と、記憶装置320と、処理装置330と、入力装置340と、出力装置350と、を有する。
【0045】
処理装置330は例えばCPU(Central Processing Unit)であり、移動端末30Aの制御中枢として機能する。通信装置310は、例えば無線通信回路である。通信装置310は、通信網10から送信されてくるデータを受信し、受信したデータを処理装置330へ引き渡す一方、処理装置330から引き渡されるデータを通信網10へ送信する。
【0046】
出力装置350は、液晶ディスプレイ等の表示装置とスピーカ等の放音装置とを含む。出力装置350は、処理装置330から与えられるデータを出力する。処理装置330から与えられるデータが画像データであれば、出力装置350は当該画像データの表す画像を表示装置により表示する。処理装置330から与えられるデータが音データであれば、出力装置350は当該音データの表す音を放音装置から放音する。
【0047】
入力装置340は、表示装置の表示面を覆う透明な感圧センサ及びボタン等の操作子を含む。移動端末30のユーザは。感圧センサに対するタッチ操作或いはフリック操作、又は操作子の押下等の入力操作を行うことで、移動端末30に対する情報の入力を行うことができる。入力装置340は、ユーザにより為された操作を示す情報を処理装置330に引き渡す。これにより、ユーザの操作が処理装置330に伝達される。
【0048】
記憶装置320はRAM及びフラッシュROMにより構成される。記憶装置320には、本実施形態の特徴を顕著に示す機能を処理装置330に実現させるプログラムP2が予め記憶されている。
図3は、プログラムP2に従って処理装置330が実現する機能ブロックの一例を示す機能ブロック図である。
図2に示すように、処理装置330は、プログラムP2を読み出して実行することにより、選択支援部330a、エンカウント支援部330b、及び通知部330cとして機能する。選択支援部330a、エンカウント支援部330b、及び通知部330cの各々はCPUをプログラムに従って作動させることにより実現されるソフトウェアモジュールであるが、ASIC等の電子回路によりこれら各部の一部又は全部を実現してもよい。
【0049】
選択支援部330aは、サーバ20から受信した識別情報に含まれる識別子をユーザに通知するとともに、複数の識別子のうちの何れか1の識別子を選択することをユーザに促す。より詳細に説明すると、選択支援部330aは、サーバ20から識別情報を受信したことを契機として
図9に示す選択画面を表示装置に表示させる。この選択画面は、領域A01〜A04の4つの表示領域を有する。領域A01には、受信した識別情報に含まれる識別子の示す色が表示され、領域A02〜A04には、複数の識別子の各々が示す色が表示される。
図9には、予め定められた複数の識別子の数が3の場合について例示されているが、4個以上の識別子が定められている場合には、領域A02〜A04の数を増やせばよい。
図9に示す例では、横線のハッチングは赤色を、縦線のハッチングは緑色を、斜め線のハッチングは青色を夫々表す。
【0050】
図9に示す例は、移動端末30Aのユーザに対して赤色が割り当てられていることを示す。
図9に示す選択画面は、移動端末30Aのユーザに対して領域A02〜A04に表示されている色のうちの何れか1の色を選択することを促す。移動端末30Aのユーザは、領域A02〜A04の各々に表示される色のうちの何れか1の色を入力装置340に対するタッチ操作等により指定することで、エンカウント対象のユーザを示す識別子を選択することができる。選択支援部330aは、入力装置340に対する入力により選択された識別子を通信装置310によりサーバ20へ送信する。
【0051】
また、選択支援部330aは、自端末のユーザとエンカウント済の1又は複数の他のユーザに関する情報を出力装置350の表示装置に出力して1の他のユーザを入力装置340に対する入力により選択することを促すとともに、ユーザの所有する1又は複数の仮想バッジに関する情報を表示装置に出力して1の仮想バッジを入力装置340に対する入力により選択することを促す。より詳細に説明すると、選択支援部330aは、自端末のユーザとエンカウント済の1又は複数の他のユーザに関する情報(例えば、当該ユーザのアバター及びユーザ名称)をリスト形式で表示するユーザ選択画面(
図10参照)を表示装置に表示し、仮想バッジの贈り先となる他のユーザを選択することを自端末のユーザに促す。
【0052】
図10に示すように、ユーザ選択画面の領域A05には、自端末のユーザとエンカウント済の1又は複数の他のユーザに関する情報がリスト形式で表示される。
図10に示すユーザ選択画面を視認したユーザは、仮想バッジの贈り先となる他のユーザを入力装置340に対するタッチ操作により選択することができる。また、選択支援部330aは、自端末のユーザの所有する1又は複数の仮想バッジに関する情報(例えば、仮想バッジの画像及び名称)をリスト形式で表示する仮想バッジ選択画面(
図11参照)を表示装置に表示し、他のユーザに贈る仮想バッジを選択することを自端末のユーザに促す。
図11に示すように、仮想バッジ選択画面の領域A06には、自端末のユーザの所有する仮想バッジに関する情報がリスト形式で表示される。
図11に示す仮想バッジ選択画面を視認したユーザは、他のユーザに贈る仮想バッジを入力装置340に対するタッチ操作により選択することができる。
【0053】
エンカウント支援部330bは、通信装置310によりサーバ20から受信するエンカウント候補に関する情報を出力装置350に出力させてエンカウントの成否をユーザに問い合わせる。より詳細に説明すると、エンカウント支援部330bは、エンカウント候補に関する情報の受信を契機として、
図12に示す確認画面を表示装置に表示させる。
図12に示す確認画面は、領域A10及び領域A11の2つの表示領域と、仮想操作子B01及び仮想操作子B02の2つの仮想操作子を有する。領域A10は、移動端末30Aのユーザに割り当てられた識別子を表示する表示領域であり、領域A11は、エンカウント候補の識別子を表示する表示領域である。仮想操作子B01はエンカウントの成立を示す情報を移動端末30のユーザに入力させるための仮想操作子であり、仮想操作子B02はエンカウントの不成立を示す情報を移動端末30のユーザに入力させるための仮想操作子である。なお、複数のエンカウント候補に関する情報がサーバ20から返信される場合には、各エンカウント候補をリスト形式等で表示する領域を
図6の確認画面に設け、当該領域に対する操作により何れかのエンカウント候補をユーザに選択させ、当該選択されたユーザについてエンカウントの成否をユーザに入力させればよい。
【0054】
エンカウント支援部330bは、入力装置340に対してエンカウントの成立を示す情報が入力されたこと契機としてエンカウントの成立を通知する通信メッセージを通信装置310によりサーバ20へ送信する。具体的には、エンカウント支援部330bは、
図12に示す確認画面において仮想操作子B01に対するタッチ操作が為されると、エンカウントの成立を示す通信メッセージをサーバ20へ送信する。
【0055】
通知部330cは、ユーザ選択画面(
図10参照)に対する操作により選択された他のユーザと、仮想バッジ選択画面(
図11参照)に対する操作により選択された仮想バッジとを、通信装置210によりサーバ20へ通知する。
【0056】
処理装置330は、プログラムP2の実行開始を指示されたことを契機としてプログラムP2を記憶装置320から読み出し、読み出したプログラムP2の実行を開始する。プログラムP2に従って作動している処理装置330は、通信装置310を介してサーバ20と通信して自端末のユーザのスコアを取得し、
図13に示すメニュー画面を表示する。
図13に示すように、メニュー画面には、上記ユーザに関する情報(例えば、当該ユーザのアバター及びユーザ名、スコア)が表示される。
【0057】
図13に示す例では、ユーザ名は“ユーザ0”であり、当該ユーザのスコアは“V0”である。
図13に示すように、メニュー画面には仮想操作子B03及び仮想操作子B04が設けられている。移動端末30のユーザは仮想操作子B03に対するタッチ操作を行うことにより、通信システム1により提供されるエンカウント支援サービスを利用することができる。また、移動端末30のユーザは仮想操作子B04に対するタッチ操作を行うことにより、自身の所有する仮想バッジをエンカウント済の他のユーザに贈ることができる。
【0058】
仮想操作子B03に対するタッチ操作が為されると、処理装置330は、
図14のフローチャートに示す第1選択支援処理、及び
図15のフローチャートに示すエンカウント支援処理をこの順に実行する。これに対して、仮想操作子B04に対するタッチ操作が為されると、処理装置330は、
図16に示す第2選択支援処理及び通知処理を実行する。
【0059】
図14に示す第1選択支援処理では、処理装置330は選択支援部330aとして機能する。
図14のステップSC100では、選択支援部330aは、前述の選択画面(
図9参照)を表示装置に表示させる。以降、選択支援部330aは、ユーザによる識別子の選択を待ち受ける(ステップSC110)。そして、入力装置340に対する操作により識別子の選択が為されると(ステップSC110:Yes)、選択支援部330aは、選択された識別子を通信装置310によりサーバ20へ送信し(ステップSC120)、第1選択支援処理を終了する。なお、ステップSC110の判定結果が“No”である間は、選択支援部330aは再度ステップSC100の処理を実行し、選択画面を表示し続ける。
【0060】
図15に示すエンカウント支援処理は、エンカウント候補に関する情報の受信を契機として開始される。このエンカウント支援処理では、処理装置330はエンカウント支援部330bとして機能する。
図15のステップSD100では、エンカウント支援部330bは、前述の確認画面(
図12参照)を表示装置に表示させる。以降、エンカウント支援部330bは、ユーザによる操作を待ち受ける(ステップSD110)。そして、入力装置340に対する操作によりエンカウントの成立を示す情報が入力されると、ステップSD110の判定結果は“Yes”となり、エンカウント支援部330bは、エンカウントの成立を通知する通信メッセージを通信装置310によりサーバ20へ送信し(ステップSD120)、エンカウント支援処理を終了する。これに対して、入力装置340に対する操作によりエンカウントの不成立を示す情報が入力されると、ステップSD110の判定結果は“No”となり、エンカウント支援部330bは、ステップSD120の処理を実行することなく、エンカウント支援処理を終了する。
【0061】
次いで、
図16を参照しつつ、第2選択支援処理及び通知処理について説明する。
図16に示すステップSF100〜SF140の処理のうち、ステップSF100〜SF130の処理が第2選択支援処理であり、ステップSF140の処理が通知処理である。第2選択支援処理では、処理装置330は選択支援部330aとして機能し、通知処理では処理装置330は通知部330cとして機能する。
【0062】
図16のステップSF100では、選択支援部330aは、前述のユーザ選択画面(
図10参照)を表示装置に表示させる。以降、選択支援部330aは、仮想バッジの贈り先となる他のユーザが選択されることを待ち受ける(ステップSF110)。そして、入力装置340に対する操作により仮想バッジの贈り先が選択されると(ステップSF110:Yes)、選択支援部330aは、選択された贈り先を示す情報(以下、贈り先識別情報)を記憶装置320のRAMに書き込み、ステップSF120の処理を実行する。なお、ステップSF110の判定結果が“No”である間は、選択支援部330aは再度ステップSF100の処理を実行し、ユーザ選択画面を表示し続ける。
【0063】
図16のステップSF120では、選択支援部330aは、前述の仮想バッジ選択画面(
図11参照)を表示装置に表示させる。以降、選択支援部330aは、送信対象の仮想バッジが選択されることを待ち受ける(ステップSF130)。ステップSF130の判定結果が“No”である間は、選択支援部330aは再度ステップSF120の処理を実行し、仮想バッジ選択画面を表示し続ける。そして、入力装置340に対する操作により送信対象の仮想バッジが選択されると(ステップSF130:Yes)、選択支援部330aは、選択された仮想バッジを示す情報(以下、仮想バッジ識別情報)を記憶装置320のRAMに書き込み、ステップSF140の処理を実行する。ステップSF140の通知処理では、通知部330cは、送信先識別情報と仮想バッジ識別情報とを含む通知を通信装置310によりサーバ20へ送信する。
以上が移動端末30の構成である。
【0064】
例えば、移動端末30Aの位置情報と移動端末30Bの位置情報とがサーバ20により取得され、移動端末30Aに対しては赤色を示す識別子が割り当てられ、移動端末30Bには青色を示す識別子が割り当てられたとする。この場合、移動端末30Aには、赤色を示す識別子を含む識別情報がサーバ20から送信され、移動端末30Bには、青色を示す識別子を含む識別情報がサーバ20から送信される。移動端末30Aの処理装置330は、識別情報の受信を契機として選択支援処理を実行し、
図17に示す選択画面GA1を表示装置に表示させる。一方、移動端末30Bの処理装置330も、識別情報の受信を契機として選択支援処理を実行し、
図17に示す選択画面GB1を表示装置に表示させる。
図17に示すように、選択画面GA1では、あなたの色として赤色が領域A01に表示され、選択画面GB1では、あなたの色として青色が領域A01に表示される。
【0065】
移動端末30Aのユーザは、選択画面GA1を視認すると、相手の色として赤色、青色又は緑色のうちの何れか1の色を選択する。一方、移動端末30Bのユーザは、選択画面GB1を視認すると、相手の色として赤色、青色又は緑色のうちの何れか1の色を選択する。以下では、移動端末30Aのユーザが青色を選択し、移動端末30Bのユーザが赤色を選択し、且つ移動端末30Aと移動端末30Bとの間の距離が所定条件を満たしている場合を例にとって、サーバ20及び移動端末30の動作を説明する。
【0066】
移動端末30Aのユーザは青色を選択したため、移動端末30Aの処理装置330は青色を示す識別子をサーバ20へ送信する。一方、移動端末30Bのユーザは赤色を選択したため、移動端末30Bの処理装置330は赤色を示す識別子をサーバ20へ送信する。前述したように、本動作例では、移動端末30Aと移動端末30Bとの間の距離は所定条件を満たしている。このため、サーバ20の処理装置230は、移動端末30Aのユーザに対するエンカウント候補として移動端末30Bのユーザを選択し、移動端末30Bのユーザに対するエンカウント候補として移動端末30Aのユーザを選択する。その結果、移動端末30Aには、移動端末30Bのユーザに関する情報がエンカウント候補に関する情報としてサーバ20から送信され、移動端末30Bには、移動端末30Aのユーザに関する情報がエンカウント候補に関する情報としてサーバ20から送信される。
【0067】
移動端末30Aの処理装置330は、エンカウント候補に関する情報の受信を契機としてエンカウント支援処理を実行し、
図18に示す確認画面GA2を表示装置に表示させる。一方、移動端末30Bの処理装置330も、エンカウント候補に関する情報の受信を契機としてエンカウント支援処理を実行し、
図18に示す選択画面GB2を表示装置に表示させる。
図18に示すように、確認画面GA2では、相手の色として青色が領域A12に表示され、選択画面GB2では、相手の色として赤色が領域A12に表示される。
【0068】
以降、移動端末30Aのユーザと移動端末30Bのユーザとが実際にエンカウントし、各ユーザがエンカウントの成立を示す情報の入力を行うと、移動端末30Aの処理装置330と移動端末30Bの処理装置330は、エンカウントの成立を通知する通信メッセージを各々サーバ20へ送信する。その結果、サーバ20において実行される第1更新処理のステップSB140の判定結果は“Yes”となり、移動端末30Aのユーザと移動端末30Bのユーザとを対応付けるエンカウント情報が記憶装置220に記憶される。
【0069】
以上説明したように、本実施形態によれば、移動端末30を利用するユーザ同士をマッチングし、現実にエンカウントできたか否かを把握することが可能になる。
【0070】
各ユーザの評価値であるスコアは、エンカウント済のユーザが多い程高くなり、また、再エンカウントの回数が多い程高くなる。また、上記のように移動端末30Aのユーザと移動端末30Bのユーザとのエンカウントが完了すると、移動端末30Aのユーザと移動端末30Bのユーザの一方は、メニュー画面(
図13参照)にて仮想操作子B04に対するタッチ操作を行い、ユーザ選択画面(
図10参照)にて他方のユーザを選択し、仮想バッジ選択画面(
図11参照)にて仮想バッジを選択することで、選択した仮想バッジを他方のユーザに贈り、仮想バッジの授受の履歴を各ユーザの評価に反映させることができる。
【0071】
具体的には、各ユーザのスコアは、他のユーザから贈られた仮想バッジが多い程高くなり、他のユーザへ贈った仮想バッジが多いほど高くなる。さらに、各ユーザのスコアは、他のユーザから贈られた仮想バッジについては受け取ってからの経過時間が短いほど高くなり、他のユーザに送った仮想バッジについては送ってからの経過時間が短いほど高くなる。このように、本実施形態によれば、移動端末30のユーザ同士のコミュニケーションの一態様としてユーザ間で仮想バッジを授受できるようなる。加えて、本実施形態によれば、仮想バッジの授受の履歴をユーザの評価に反映することが可能になる。
【0072】
(C:変形)
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の変形が可能である。以下に記載した変形例中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、或いは本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0073】
(1)上記実施形態では、移動端末30の表示装置に表示される選択画面に対する操作により識別子が選択されると、当該識別子を割り当てられた移動端末に関する情報がエンカウント候補に関する情報としてリアルタイムでサーバ20から移動端末30へ返信された。しかし、移動端末30が通信網10に収容されていないオフラインの状況下で選択画面に対する操作により識別子が選択された場合には、当該識別子を記憶装置320に記憶させ、移動端末30が通信網10に収容されてオンラインの状況となったことを契機として、移動端末30の処理装置330は、記憶装置320に記憶済の識別子をサーバ20へ送信してもよい。
【0074】
(2)上記実施形態における割り当て処理では、処理装置230は、通信システム1に含まれる複数の移動端末のうち位置が検出された移動端末に対して複数の識別子のうちから1の識別子と検出した位置を示す位置情報とを含む識別情報を割り当てた。しかし、位置情報は、エンカウントの精度を向上させるための補助的な情報であり、位置の検出は必ずしも必須ではない。具体的には、割り当て処理では、処理装置230は、通信システム1に含まれる複数の移動端末の各々に対して、複数の識別子のうちの何れか1の識別子を含む識別情報を割り当てればよい。このように、位置の検出とは無関係に識別情報を割り当てる場合には、候補通知処理では、処理装置230は、第1の移動端末から受信した識別子を含む識別情報を割り当てられた第2の移動端末が有るか否かを判定し、その判定結果が“Yes”である場合には、第2の移動端末に関する情報をエンカウント候補を示す情報として第1の移動端末に返信する。
【0075】
(3)上記実施形態では、複数の移動端末30とサーバ20とを含む通信システム1について説明したが、移動端末30を単体で製造又は販売してもよく、サーバ20を単体で製造又は販売してもよい。
【0076】
(4)上記実施形態では、エンカウント候補の絞り込みのために、エンカウント対象とする他のユーザの識別子を移動端末30のユーザに指定させたが、識別子の他に、ユーザの趣味又は趣向を示す情報を入力させ、この情報に基づくマッチングによる絞り込みを併用しても勿論よい。また、移動端末を利用するユーザ同士が現実にエンカウントできたか否かを把握する方法は上記実施形態の方法には限定されず、他の方法であってもよい。
【0077】
(5)上記実施形態における複数の識別子は、互いに異なる色を示す情報であったが、互いに異なる図形を示す情報、又は互いに異なる模様を示す情報、又は互いに異なる文字を示す情報を複数の識別子として用いてもよい。また、本開示における複数の識別子は視覚に訴える情報には限定されず、異なる音を示す情報等、聴覚に訴える情報であってもよい。互いに異なる音を示す情報を複数の識別情報として用いる態様によれば、本開示の通信システム、移動端末及びサーバの視覚障碍者による利用を促進できる。
【0078】
(6)上記実施形態では、仮想バッジの授受履歴に加えて他のユーザとのエンカウント回数を加味してスコアを算出したが、仮想バッジの授受履歴のみに基づいてスコアを算出してもよい。要は、仮想バッジの授受の履歴がユーザの評価に反映される態様であればよい。また、スコアの高いユーザ程、大きなインセンティブを与える等、スコアに応じたインセンティブを移動端末30のユーザに与えてもよい。例えば、サーバ20により提供されるエンカウント支援のサービスが有料の通信サービスである場合、サービス利用代金からスコアに応じた金額を割り割り引くことが上記インセンティブの具体例として挙げられる。また、スコアを計算する際に、エンカウントが成立した時点からの経過時間に応じた重みで当該エンカウントによるスコアへの寄与を引き下げてもよい。
【0079】
(7)上記実施形態では、処理装置230を、割り当て部230a、候補通知部230b、更新部230c及びスコア算出部230dとして機能させるプログラムP1が記憶装置220に予め記憶されていた。しかし、プログラムP1をフラッシュROM等のコンピュータ読み取り可能な記録媒体に書き込んで配布してもよく、また、インターネット等の電気通信回線経由のダウンロードによりプログラムP1を配布してもよい。これらの態様により配布されるプログラムP1を一般的なコンピュータ装置に実行させることで、当該コンピュータ装置を本開示のサーバとして機能させることが可能になる。処理装置330を、選択支援部330a、エンカウント支援部330b及び通知部330cとして機能させるプログラムP2についても同様に、フラッシュROM等のコンピュータ読み取り可能な記録媒体に書き込んで配布してもよく、また、インターネット等の電気通信回線経由のダウンロードにより配布してもよい。
【解決手段】互いにエンカウント済のユーザの使用する移動端末30A及び移動端末30Bの一方から他方へ仮想バッジを贈ることを当該一方の移動端末からサーバ20に通知させ、サーバ20には当該通知に応じて各ユーザについての仮想バッジの授受履歴を更新させる。サーバ20は、移動端末30A及び移動端末30Bの各々のユーザの評価を表すスコアを、他のユーザとのエンカウントの回数と、他のユーザから贈られた仮想バッジと、他のユーザへ贈った仮想バッジとに基づいて算出する。