以下に添付図面を参照して、本発明にかかる行き先決定プログラム、および行き先決定方法を詳細に説明する。
図1は、本発明の一例を示す説明図である。サーバ100は、複数の利用者の行き先を、行き先データベース110を用いて管理する。行き先データベース110は、利用者を識別するユーザID、利用者の氏名、行き先のフィールドを有する。各フィールドに情報が設定されることにより、行き先情報(たとえば、行き先情報111−1〜111−4)がレコードとして記憶される。
たとえば、AさんのユーザIDが「00001234」であり、BさんのユーザIDが「00001235」であり、CさんのユーザIDが「00001236」であり、DさんのユーザIDが「00001237」である。
ここでは、複数の利用者のうちのAさんの行き先に着目して説明する。たとえば、Aさんが所持する携帯端末101−1が、近距離無線通信での通信圏内にある他の携帯端末に接続する。近距離無線通信としては、たとえば、BluetoothやZigbeeが例に挙げられる。ここでは、携帯端末101−1は、Bさんが所持する携帯端末101−2とCさんが所持する携帯端末101−3とのそれぞれに接続する。携帯端末101−1が、携帯端末101−2から、携帯端末101−2を所持するそれぞれの利用者のユーザIDを受信する。携帯端末101−1が、携帯端末101−3から、携帯端末101−3を所持するそれぞれの利用者のユーザIDを受信する。
携帯端末101−1が、携帯端末101−1を所持する利用者のユーザIDと、受信した携帯端末101−2を所持する利用者のユーザIDと、受信した携帯端末101−3を所持する利用者のユーザIDと、を有する通知情報をサーバ100へ通知する。
サーバ100は、携帯端末101−1からの接続を受け付けると、携帯端末101−1から通知情報を受信する。サーバ100は、行き先データベース110を参照し、通知情報に含まれる携帯端末101−1の通信圏内である携帯端末101−2と携帯端末101−3を所持する利用者のユーザIDを含む行き先情報の行き先を特定する。ここでは、行き先情報111−2の行き先が「会議室1」であり、行き先情報111−3の行き先が「会議室1」である。
サーバ100が、特定した行き先情報111−2の行き先と行き先情報111−3の行き先に基づいて、通知情報の送信元の携帯端末101−1を所持する利用者の行き先を決定する。サーバ100が、行き先データベース110に記憶された、携帯端末101−1を所持する利用者のユーザIDを含む行き先情報111−1の行き先のフィールドに、決定した行き先である「会議室1」を出力する。
ここで、実施の形態1〜実施の形態5を用いて詳細に説明する。まず、実施の形態1では、ある利用者の行き先とある利用者の近距離にいる他の利用者の行き先のうち、最多の行き先をある利用者の行き先にある利用者の行き先を決定する例を示す。
つぎに、実施の形態2では、ある利用者の行き先とある利用者の近距離にいる他の利用者の行き先のうち、更新日時が最新である利用者の行き先をある利用者の行き先にある利用者の行き先を決定する例を示す。
つぎに、実施の形態3では、ある利用者が行き先を更新した更新回数と、ある利用者の近距離にいる他の利用者が行き先を更新した更新回数と、のうち、更新回数が最多の利用者の行き先に、ある利用者の行き先を決定する例を示す。
つぎに、実施の形態4では、ある利用者の行き先を、ある利用者の近距離にいる他の利用者の所持する携帯端末とある利用者の所持する携帯端末との間の信号の受信強度が最も強い携帯端末を所持する利用者の行き先に決定する。
つぎに、実施の形態5では、ある利用者の行き先を、実施の形態1〜実施の形態4で示した決定方法を組み合わせて決定する例を示す。
(実施の形態1)
まず、実施の形態1では、ある利用者の行き先を、ある利用者の行き先とある利用者の近距離にいる他の利用者の行き先のうち、最多の行き先に決定する例を示す。
図2は、掲示板管理システムの一例を示す説明図である。図2では、利用者の行き先掲示板を管理する掲示板管理システムを示す。複数の利用者は、それぞれ携帯端末201−1〜携帯端末201−i(i≧2)を所持して移動することとする。携帯端末201−1〜携帯端末201−iは、それぞれ近接ユーザIDデータベース220−1〜近接ユーザIDデータベース220−iを有する。また、各携帯端末には、あらかじめ所持者のユーザIDが登録されていることとする。
図2では、Aさん〜Cさんが会議室1に居り、DさんとFさんが会議室2に居り、Eさんが自席に居る。Aさん〜Fさんは、それぞれ携帯端末201−1〜携帯端末201−6を所持している。
サーバ200は、各利用者の行き先を管理する。サーバ200は、サーバ室に配置されていることとする。サーバ200は、行き先データベース210を有する。実施の形態1では、Aさんの居場所を推定し、Aさんの行き先を自動更新する例を説明する。また、実施の形態1では、サーバ200が行き先掲示板を管理し、かつ本行き先決定に関する処理を実行している、これに限らず、行き先掲示板を管理する装置とは異なる装置が本行き先決定に関する処理を実行してもよい。
(サーバ200のハードウェア例)
図3は、サーバ200のハードウェア例を示すブロック図である。図3において、サーバ200は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F(Interface)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、サーバ200の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F309は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置や携帯端末201−1〜携帯端末201−iに接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、携帯端末201−iや外部装置からのデータの入出力を制御する。I/F309には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ312は、画像を光学的に読み取り、サーバ200内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(携帯端末のハードウェア例)
図4は、携帯端末のハードウェア例を示すブロック図である。図4において、携帯端末201−x(x=1〜i)は、CPU401−xと、無線LAN用のI/F402−xと、Bluetooth用のI/F403−xと、ディスプレイ404−xと、キーボード405−xと、ROM406−xと、RAM407−xと、を有している。携帯端末201−xは、フラッシュROM408−xと、フラッシュROMコントローラ409−xと、フラッシュROM410−xと、を有している。CPU401−xと、ディスプレイ404−xと、キーボード405−xと、ROM406−xと、RAM407−xと、フラッシュROM408−xと、フラッシュROMコントローラ409−xとは、バス411−xを介して接続されている。
ここで、CPU401−xは、携帯端末201−xの全体の制御を司り、レジスタとコアとキャッシュを有している。ディスプレイ404−xは、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ404−xは、たとえば、TFT液晶ディスプレイなどを採用することができる。キーボード405−xは、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、キーボード405−xは、タッチパネル式の入力パッドやテンキーなどであってもよい。
Bluetooth用のI/F403−xは、近距離無線通信によって他の携帯端末201−xに直接接続される。そして、Bluetooth用のI/F403−xは、他の携帯端末201−xと内部のインターフェースを司り、他の携帯端末201−xからのデータの入出力を制御する。たとえば、近距離無線通信にBluetoothを使用する場合は、他の携帯端末と相互に通信可能にするために、あらかじめペアリングの設定をしておく。または、他の携帯端末201−y(y=1〜i≠x)のBluetooth用のI/Fの発見時には、自動的に共通の認証鍵を携帯端末間で送信し合ってペアリングを行ってもよい。
無線LAN用のI/F402−xは、無線通信回線を通じてLAN(Local Area Network)などのネットワーク314に接続され、ネットワーク314を介してサーバ200や他の携帯端末201−yに接続される。そして、無線LAN用のI/F402−xは、ネットワークと内部のインターフェースを司り、サーバ200や他の携帯端末201−xからのデータの入出力を制御する。無線LAN用のI/F402−xには、たとえば、モデムやLANアダプタなどを採用することができる。
ROM406−xは、ブートプログラムなどのプログラムを記憶している。RAM407−xは、CPU401−xのワークエリアとして使用される。フラッシュROM408−xは、OSなどのシステムソフトウェアやアプリケーションのプログラムを記憶している。RAM407−xはフラッシュROM408−xよりもCPU401−xからのアクセス速度が速い。
フラッシュROMコントローラ409−xは、CPU401−xの制御に従ってフラッシュROM410−xに対するデータのリード/ライトを制御する。フラッシュROM410−xは、フラッシュROMコントローラ409−xの制御で書き込まれたデータを記憶する。データの具体例としては、携帯端末201−xを使用するユーザが無線LAN用のI/F402−xを通して取得した画像データ、映像データなどである。フラッシュROM410−xは、たとえば、メモリカード、SDカードなどを採用することができる。
図5は、実施の形態1にかかる行き先データベース210の一例を示す説明図である。行き先データベース210では、各利用者の行き先情報を有している。行き先データベース210は、ユーザID、氏名、行き先のフィールドを有する。ユーザIDは、利用者を識別する識別情報である。ユーザIDとしては、たとえば、社員番号のように利用者によって異なる番号である。
氏名は、ユーザIDで識別される利用者の氏名である。氏名については、本行き先決定の処理では用いていないが、理解の容易化のために、行き先データベース210に示している。行き先は、各ユーザIDで識別される利用者の行き先である。行き先としては、たとえば、自席や休憩室や会議室の名称などの場所名が挙げられる。
各フィールドに情報が設定されることで、行き先情報(たとえば、行き先情報500−1〜行き先情報500−7)がレコードとして記憶されている。行き先データベース210は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されていることとする。
図6は、実施の形態1にかかる近接ユーザIDデータベース220−1の一例を示す説明図である。近接ユーザIDデータベース220−1は、近接ユーザID、サーチ時刻のフィールドを有する。近接ユーザIDは、携帯端末201−1がBluetooth用のI/F403−1を用いる無線通信での通信圏内にある他の携帯端末を所持する利用者のユーザIDである。ここで、携帯端末201−1の通信圏内にある他の携帯端末を近接携帯端末と称する。携帯端末201−1を所持する利用者のユーザIDを携帯端末201−1のユーザIDと称する。
サーチ時刻は、近接ユーザIDのフィールドに登録されたユーザIDで識別される利用者が所持する携帯端末201−1の近接携帯端末と該利用者が所持する携帯端末201−1とがユーザIDを交換した最新の時刻である。各フィールドに情報が設定されることで、近接ユーザ情報(たとえば、近接ユーザ情報600−1〜近接ユーザ情報600−3)がレコードとして記憶されている。近接ユーザIDデータベース220−1は、RAM407−1、フラッシュROM408−1などの記憶装置に記憶されていることとする。
(実施の形態1にかかる携帯端末201−xとサーバ200とのそれぞれの機能例)
図7は、実施の形態1にかかる携帯端末201−xとサーバ200のそれぞれの機能例を示すブロック図である。サーバ200は、受信部701と、特定部702と、決定部703と、判定部704と、出力部705と、受付部711と、更新部712と、を有している。携帯端末201−x(x=1〜i)は、受信部721−xと、送信部722−xと、設定部723−xと、検出部724−xと、を有している。携帯端末201−y(y=1〜i≠x)は、受信部721−yと、送信部722−yと、設定部723−yと、検出部724−yと、を有している。携帯端末201−yは、携帯端末201−xを所持する利用者と異なる利用者の携帯端末である。
受信部721−x〜検出部724−xの処理がプログラムにコーディングされ、該プログラムはROM406−x、RAM407−x、フラッシュROM408−xなどの記憶装置に記憶されている。CPU401−xが、記憶装置に記憶された該プログラムを読み出し、該プログラムにコーディングされた処理を実行することにより、受信部721−x〜検出部724−xの処理がCPU401−xによって実行される。
受信部721−y〜検出部724−yの処理がプログラムにコーディングされ、該プログラムはROM406−y、RAM407−y、フラッシュROM408−yなどの記憶装置に記憶されている。CPU401−yが、記憶装置に記憶された該プログラムを読み出し、該プログラムにコーディングされた処理を実行することにより、受信部721−y〜検出部724−yの処理がCPU401−yによって実行される。
受信部701〜出力部705と受付部711と更新部712との処理が行き先決定プログラムにコーディングされ、行き先決定プログラムはROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。CPU301が、記憶装置に記憶された行き先決定プログラムを読み出し、行き先決定プログラムにコーディングされた処理を実行する。これにより、受信部701〜出力部705と受付部711と更新部712との処理がCPU301によって実行される。ここで、実施の形態1では、xが1である例を示す。
図8は、実施の形態1にかかる携帯端末201―1と近接携帯端末とのユーザIDの交換例を示す説明図である。まず、たとえば、送信部722−1が、Bluetooth用のI/F403−1を用いて、携帯端末201−1と通信可能か否かに関する情報を周辺の携帯端末に通知する。ここで、周辺の携帯端末とは、携帯端末201−1が有するBluetooth用のI/F403−1を用いて無線通信可能な通信圏内の携帯端末である。受信部721−2〜受信部721−4が、携帯端末201−1からの通信可否に関する情報を受信し、送信部722−2〜送信部722−4が、携帯端末201−1へ通信可能を示す情報を送信する。
受信部721−1が、携帯端末201−2〜携帯端末201−4から通信可能を示す情報を受信すると、送信部722−1と受信部721−1が、(1)携帯端末201−2〜携帯端末201−4のそれぞれとユーザIDを交換する。ここでは、受信部721−1が、ユーザIDの交換により、「00001235」と、「00001236」と、「00001237」と、を受信する。設定部723−1が、現時刻を取得する。
設定部723−1が、近接ユーザIDデータベース220−1を参照し、「00001235」、「00001236」、「00001237」のいずれかを含む近接ユーザ情報を特定する。ここでは、近接ユーザ情報600−1が「00001235」を近接ユーザIDのフィールドに有し、近接ユーザ情報600−2が「00001236」を近接ユーザIDのフィールドに有している。設定部723−1が、(2)近接ユーザ情報600−1のサーチ時刻のフィールドの時刻と、近接ユーザ情報600−2のサーチ時刻のフィールドの時刻と、をそれぞれ現時刻に更新する。ここで、現時刻を16:00とする。
「00001237」を含む近接ユーザ情報が近接ユーザIDデータベース220−1から特定されないため、設定部723−1が、(2)近接ユーザIDデータベース220−1のユーザIDのフィールドに「00001237」を登録する。設定部723−1が、近接ユーザIDデータベース220−1のサーチ時刻のフィールドに現時刻を設定し、新たな近接ユーザ情報600−4を作成する。
設定部723−1が、近接ユーザIDデータベース220−1を参照し、交換したユーザID以外のユーザIDを含む近接ユーザ情報を特定する。ここでは、たとえば、近接ユーザIDのフィールドに「00001238」が登録されている近接ユーザ情報600−3が特定される。
設定部723−1が、特定した近接ユーザ情報600−3のサーチ時刻のフィールドに登録されている時刻から現時刻までの時間が所定時間以上であるか否かを判断する。たとえば、所定時間を15[分]とする。ここでは、該時間が30[分]あるため、所定時間以上であると判断される。設定部723−1が、(3)近接ユーザ情報600−3を近接ユーザIDデータベース220−1から削除する。また、図示していないが、該時間が所定時間以上でないと判断された場合、設定部723−1が、(3)近接ユーザ情報600−3を近接ユーザIDデータベース220−1から削除しない。
送信部722−1が、(4)近接ユーザIDデータベース220−1の変化を検出する。送信部722−1が、(5)近接ユーザIDデータベース220−1の近接ユーザIDのフィールドに登録されているユーザIDと携帯端末201−1を所持する利用者のユーザIDと、を有する通知情報を、ネットワーク314を介してサーバ200へ送信する。
図9は、実施の形態1にかかる通知情報例を示す説明図である。通知情報900は、XML(Extensible MarkUp Language)文書である。通知情報900には、<userid>のタグから</userid>のタグまでの間に、通知情報900の通知元の携帯端末201−1を所持する利用者のユーザIDが記述されている。
通知情報900には、<near_userid>のタグから</near_userid>のタグまでの間に、通知元の携帯端末201−1の通信圏内にある1近接携帯端末を所持する利用者のユーザIDが記述されている。すなわち、通知情報900では、通知元の携帯端末201−1を所持する利用者のユーザIDが「00001234」であることを示している。通知情報900では、通知元の携帯端末201−1の通信圏内にある近接携帯端末を所持する利用者のユーザIDが「00001235」、「00001236」、「00001237」であることを示している。
図10は、実施の形態1にかかる携帯端末201−1を所持する利用者の行き先の決定例を示す説明図である。具体的には、たとえば、受信部701が、携帯端末からの接続を受け付けると、携帯端末201−1から通知情報900を受信する。受信部701が、通知情報900に含まれる<userid>のタグと</userid>のタグとの間に記述された番号を、携帯端末201−1を所持する利用者のユーザIDとして検出する。受信部701が、通知情報900に含まれる<near_userid>のタグから</near_userid>のタグまでの間に記述された番号を、携帯端末201−1の通信圏内にある近接携帯端末のユーザIDとして検出する。
つぎに、特定部702が、携帯端末201−1を所持する利用者のユーザIDに関連付けられた行き先を行き先データベース210から特定する。特定部702が、携帯端末201−2〜携帯端末201−4を所持するそれぞれの利用者のユーザIDに関連付けられた行き先を行き先データベース210から特定する。
具体的には、たとえば、特定部702が、行き先データベース210を参照し、ユーザIDのフィールドに「00001234」が登録されている行き先情報を検索する。ここでは、行き先情報500−1が検索される。具体的には、たとえば、特定部702が、検索した行き先情報500−1の行き先のフィールドに登録された行き先を抽出する。これにより、(1)行き先情報500−1から、携帯端末201−1を所持する利用者の行き先が特定される。すなわち、携帯端末201−1を所持する利用者の行き先は、「自席」である。
具体的には、たとえば、特定部702が、行き先データベース210を参照し、ユーザIDのフィールドに「00001235」と、「00001236」と、「00001237」と、が登録されている行き先情報をそれぞれ検索する。ここでは、行き先情報500−2と、行き先情報500−3と、行き先情報500−4が検索される。具体的には、たとえば、特定部702が、検索した行き先情報500−2〜行き先情報500−4の行き先のフィールドに登録されているそれぞれの行き先を抽出する。
これにより、(1)携帯端末201−1の通信圏内にある携帯端末201−2〜携帯端末201−4を所持する利用者のそれぞれの行き先が特定される。すなわち、携帯端末201−2を所持する利用者の行き先は、「会議室1」であり、携帯端末201−3を所持する利用者の行き先は、「会議室1」である。携帯端末201−4を所持する利用者の行き先は、「会議室2」である。
つぎに、決定部703が、携帯端末201−1を所持する利用者の行き先を、特定部702により特定された行き先情報の行き先のうち、最多の行き先に決定する。具体的には、たとえば、決定部703が、特定した行き先から、未選択の行き先を選択する。具体的には、たとえば、決定部703が、選択した行き先がテーブル1000に登録されているか否かを判断する。具体的には、たとえば、決定部703が、(2)選択した行き先がテーブル1000に登録されている場合、該選択した行き先に対応するカウント値をカウントアップする。具体的には、たとえば、決定部703が、(2)選択した行き先がテーブル1000に登録されていない場合、該選択した行き先をテーブル1000に登録し、カウント値を1に設定する。
テーブル1000では、「自席」のカウント値が1であり、「会議室1」のカウント値が2であり、「会議室2」のカウント値が1である。具体的には、たとえば、決定部703が、携帯端末201−1を所持する利用者の行き先を、(3)カウント値が最も多い「会議室1」に決定する。
具体的には、たとえば、判定部704が、(4)特定部702により特定された行き先情報500−1の行き先と、決定部703により決定された携帯端末201−1を所持する利用者の行き先と、が一致するか否かを判定する。決定された携帯端末201−1を所持する利用者の行き先は「会議室1」であり、行き先情報500−1の行き先は「自席」である。そのため、決定された携帯端末201−1を所持する利用者の行き先と、行き先情報500−1の行き先と、が一致しないと判定される。
出力部705は、決定部703による決定結果と携帯端末201−1を所持する利用者のユーザIDとを関連付けて出力する。具体的には、たとえば、出力部705が、(5)行き先データベース210に記憶された行き先情報500−1の行き先を「会議室1」に更新する。
ここでは、決定された決定された携帯端末201−1を所持する利用者の行き先と、特定された行き先情報500−1の行き先とが不一致の際に、行き先データベース210を更新している。これに限らず、たとえば、不一致であることを示す情報を行き先データベース210の行き先情報500−1に関連付けてもよい。たとえば、いずれかの携帯端末が、行き先データベース210から、行き先情報500−1の行き先を参照する際に、不一致であることを示す情報が関連付けられて取得されてもよい。
また、受付部711が、利用者の操作入力により、利用者の識別情報と利用者の行き先とを有する更新指示を受け付ける。利用者の操作入力による更新指示は、サーバ200へ利用者が所持する携帯端末202−i(i≧1)や利用者が保有するPCなどから送信される。具体的には、たとえば、利用者としてAさんを挙げると、Aさんが所持する携帯端末201−1のキーボード405−1を用いて該携帯端末201−1へ更新指示を入力し、受付部711が、携帯端末201−1から該更新指示をネットワーク314を介して受信することにより受け付ける。具体的には、たとえば、利用者が所持するPCのキーボードを用いて該PCへ更新指示を入力し、受付部711が、該PCから該更新指示を受信することにより受け付けてもよい。
また、具体的には、たとえば、サーバ200のマウス311やキーボード310を用いて利用者がサーバ200へ更新指示を入力し、受付部711が該更新指示を受け付けてもよい。更新部712が、行き先データベース220を参照し、更新指示に含まれる利用者のユーザIDを含む行き先情報の行き先を更新指示に含まれる利用者の行き先に更新する。
(実施の形態1にかかる携帯端末201−xによるユーザIDの交換処理手順)
図11は、実施の形態1にかかる携帯端末201−xによるユーザIDの交換処理手順の一例を示すフローチャートである。まず、携帯端末201−xが、前回のサーチから一定時間経過したか否かを判断する(ステップS1101)。携帯端末201−xが、前回のサーチから一定時間経過していないと判断した場合(ステップS1101:No)、ステップS1101へ戻る。携帯端末201−xが、前回のサーチから一定時間経過したと判断した場合(ステップS1101:Yes)、近接する携帯端末をサーチする(ステップS1102)。近接する携帯端末とは、携帯端末201−xの通信圏内にある携帯端末である。
携帯端末201−xが、サーチした携帯端末とユーザIDを交換し(ステップS1103)、現時刻を取得し(ステップS1104)、交換したユーザIDのうち、未選択なユーザIDがあるか否かを判断する(ステップS1105)。携帯端末201−xが、交換したユーザIDのうち、未選択なユーザIDがあると判断した場合(ステップS1105:Yes)、未選択なユーザIDから1つのユーザIDを選択する(ステップS1106)。
携帯端末201−xが、選択したユーザIDが近接ユーザIDデータベース220−xに登録済みであるか否かを判断する(ステップS1107)。携帯端末201−xが、選択したユーザIDが近接ユーザIDデータベース220−xに登録済みであると判断した場合(ステップS1107:Yes)、近接ユーザIDデータベース220−xの選択したユーザIDを有する近接ユーザ情報のサーチ時刻を現時刻に更新し(ステップS1108)、ステップS1105に戻る。
携帯端末201−xが、選択したユーザIDが近接ユーザIDデータベース220−xに登録済みでないと判断した場合(ステップS1107:No)、選択したユーザIDと現時刻とを近接ユーザIDデータベース220−xに登録することにより、あらたに近接ユーザ情報を作成し(ステップS1109)、ステップS1105に戻る。
携帯端末201−xが、交換したユーザIDのうち、未選択なユーザIDがないと判断した場合(ステップS1105:No)、近接ユーザIDデータベース220−xを参照し、交換したユーザIDを除くユーザIDを有する近接ユーザ情報を特定する(ステップS1110)。携帯端末201−xが、交換したユーザIDを除くユーザIDを有する近接ユーザ情報を特定したか否かを判断する(ステップS1111)。
携帯端末201−xが、交換したユーザIDを除くユーザIDを有する近接ユーザ情報を特定したと判断した場合(ステップS1111:Yes)、ステップS1112へ移行する。携帯端末201−xが、特定した近接ユーザ情報のサーチ時刻から現時刻までの時間が所定時間以上であるか否かを判断する(ステップS1112)。
携帯端末201−xが、特定した近接ユーザ情報のサーチ時刻から現時刻までの時間が所定時間以上であると判断した場合(ステップS1112:Yes)、特定した近接ユーザ情報を近接ユーザIDデータベース220−xから削除し(ステップS1113)、ステップS1101へ戻る。
ステップS1111において、携帯端末201−xが、交換したユーザIDを除くユーザIDを有する近接ユーザ情報を特定しなかったと判断した場合(ステップS1111:No)、ステップS1101へ戻る。ステップS1112において、携帯端末201−xが、特定した近接ユーザ情報のサーチ時刻から現時刻までの時間が所定時間以上でないと判断した場合(ステップS1112:No)、ステップS1101へ戻る。
図12は、実施の形態1にかかる携帯端末201−yによるユーザIDの交換処理手順の一例を示すフローチャートである。ここでは、携帯端末201−xがユーザIDの交換処理を開始した場合における携帯端末201−xの無線通信による通信圏内である他の携帯端末201−yのユーザIDの交換処理手順について説明する。携帯端末201−yが、受信部721−yにより、他の携帯端末からの接続を受け付けたか否かを判断する(ステップS1201)。携帯端末201−yが、他の携帯端末201−yからの接続を受け付けていないと判断した場合(ステップS1201:No)、ステップS1201へ戻る。
携帯端末201−yが、他の携帯端末からの接続を受け付けたと判断した場合(ステップS1201:Yes)、現時刻を取得し(ステップS1202)、送信部722−yと受信部721−yにより、接続元の他の携帯端末とユーザIDを交換する(ステップS1203)。携帯端末201−yが、設定部723−yにより、交換したユーザIDと現時刻を近接ユーザIDデータベース220−yに登録することにより、あらたな近接ユーザ情報を作成し(ステップS1204)、ステップS1201へ戻る。
図13は、実施の形態1にかかる携帯端末201−xによる通知情報の送信処理手順の一例を示すフローチャートである。携帯端末201−xが、近接ユーザIDデータベース220−xの更新を検出したか否かを判断する(ステップS1301)。携帯端末201−xが、近接ユーザIDデータベース220−xの更新を検出していないと判断した場合(ステップS1301:No)、ステップS1301へ戻る。
携帯端末201−xが、近接ユーザIDデータベース220−xの更新を検出したと判断した場合(ステップS1301:Yes)、携帯端末201−xを所持する利用者のユーザIDと近接ユーザIDデータベース220−xに登録されているユーザIDとを含む通知情報900をサーバ200へ送信し(ステップS1302)、ステップS1301へ戻る。
(実施の形態1にかかるサーバ200による行き先決定処理手順)
図14は、実施の形態1にかかるサーバ200による行き先決定処理手順の一例を示すフローチャートである。まず、サーバ200が、携帯端末からの接続を受け付けたか否かを判断する(ステップS1401)。サーバ200が、携帯端末からの接続を受け付けていないと判断した場合(ステップS1401:No)、ステップS1401へ戻る。サーバ200が、携帯端末からの接続を受け付けたと判断した場合(ステップS1401:Yes)、携帯端末から、送信元の携帯端末を所持する利用者のユーザIDと送信元の携帯端末の通信圏内の近接携帯端末を所持する利用者のユーザIDとを含む通知情報900を受信する(ステップS1402)。
つぎに、サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を特定し(ステップS1403)、近接携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を特定する(ステップS1404)。サーバ200が、送信元の携帯端末を所持する利用者の行き先を、特定した行き先情報の行き先のうち、最多の行き先に決定する(ステップS1405)。
サーバ200が、特定された送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なるか否かを判断する(ステップS1406)。サーバ200が、特定された送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なると判断した場合(ステップS1406:Yes)、ステップS1407へ移行する。サーバ200が、行き先データベース210に記憶された送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を決定した行き先に更新し(ステップS1407)、ステップS1401へ戻る。サーバ200が、特定された送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が一致すると判断した場合(ステップS1406:No)、ステップS1401へ戻る。
(実施の形態1にかかるサーバ200による更新処理手順)
図15は、実施の形態1にかかるサーバ200による更新処理手順を示すフローチャートである。まず、サーバ200が、利用者の操作入力による更新指示を受け付けたか否かを判断し(ステップS1501)、利用者の操作入力による更新指示を受け付けていないと判断した場合(ステップS1501:No)、ステップS1501へ戻る。
サーバ200が、利用者の操作入力による更新指示を受け付けたと判断した場合(ステップS1501:Yes)、行き先データベース210を参照し、更新指示に含まれる利用者のユーザIDを含む行き先情報の行き先を更新指示に含まれる利用者の行き先に更新する(ステップS1502)。そして、サーバ200が、ステップS1502のつぎにステップS1501へ戻る。
(実施の形態2)
つぎに、実施の形態2では、ある利用者の行き先を、ある利用者の行き先とある利用者の近距離にいる他の利用者の行き先のうち、更新日時が最新である利用者の行き先に決定する例を示す。実施の形態2では、実施の形態1と同一機能や同一情報については同一符号を付し、詳細な説明については省略する。
図16は、実施の形態2にかかる行き先データベース210の一例を示す説明図である。行き先データベース210では、各利用者の行き先情報を有している。行き先データベース210は、ユーザID、氏名、行き先、更新日時のフィールドを有する。ユーザIDは、利用者を識別する識別情報である。ユーザIDとしては、たとえば、社員番号のように利用者によって異なる番号である。
氏名は、ユーザIDで識別される利用者の氏名である。氏名については、本行き先決定の処理では用いていないが、理解の容易化のために、行き先データベース210に示している。行き先は、各ユーザIDで識別される利用者の行き先である。行き先としては、たとえば、自席や休憩室や会議室の名称などが挙げられる。更新日時は、ユーザIDで識別される利用者が行き先を更新した日時である。
各フィールドに情報が設定されることで、行き先情報(たとえば、行き先情報1600−1〜1600−7)がレコードとして記憶されている。行き先データベース210は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されていることとする。
ここで、携帯端末201−xによるユーザIDの交換処理については、実施の形態1で説明した携帯端末201−xによるユーザIDの交換処理と同一であるため、ここでは詳細な説明を省略する。
図17は、実施の形態2にかかる携帯端末201−1を所持する利用者の行き先の決定例を示す説明図である。具体的には、たとえば、受信部701が、携帯端末201−1からの接続を受け付けると、携帯端末201−1から通知情報900を受信する。受信部701が、通知情報900に含まれる<userid>のタグと</userid>のタグとの間に記述された番号を、携帯端末201−1を所持する利用者のユーザIDとして検出する。受信部701が、通知情報900に含まれる<near_userid>のタグから</near_userid>のタグまでの間に記述された番号を、携帯端末201−1の通信圏内にある近接携帯端末のユーザIDとして検出する。
つぎに、特定部702が、近接携帯端末を所持する利用者の行き先と携帯端末201−1を所持する利用者の行き先とのうち更新日時が最新の行き先を特定する。
具体的には、たとえば、特定部702が、行き先データベース210を参照し、ユーザIDのフィールドに「00001234」が登録されている行き先情報を検索する。ここでは、行き先情報1600−1が検索される。具体的には、たとえば、特定部702が、検索した行き先情報1600−1の行き先のフィールドに登録された行き先と更新日時のフィールドに登録された日時を抽出する。
具体的には、たとえば、特定部702が、行き先データベース210を参照し、ユーザIDのフィールドに「00001235」と、「00001236」と、「00001237」と、が登録されている行き先情報をそれぞれ検索する。ここでは、行き先情報1600−2と、行き先情報1600−3と、行き先情報1600−4が検索される。具体的には、たとえば、特定部702が、検索した行き先情報1600−2〜行き先情報1600−4の行き先のフィールドに登録されているそれぞれの行き先と更新日時のフィールドに登録されたそれぞれの日時を抽出する。
具体的には、たとえば、特定部702が、(2)抽出した行き先のうち、日時が最新の日時である行き先を特定する。ここでは、「会議室1」が特定される。
決定部703が、携帯端末201−1を所持する利用者の行き先を、特定部702により特定された更新日時が最新の行き先に決定する。具体的には、たとえば、決定部703が、(2)所持する利用者の行き先を「会議室1」を携帯端末201−1に決定する。
具体的には、たとえば、判定部704が、(3)検索された行き先情報1600−1の行き先と、決定部703により決定された携帯端末201−1を所持する利用者の行き先と、が一致するか否かを判定する。決定された携帯端末201−1を所持する利用者の行き先は「会議室1」であり、行き先情報1600−1の行き先は「自席」である。そのため、決定された携帯端末201−1を所持する利用者の行き先と、行き先情報1600−1の行き先と、が一致しないと判定される。
具体的には、たとえば、出力部705が、(4)行き先データベース210に記憶された行き先情報1600−1の行き先を「会議室1」に更新する。
また、受付部711が、利用者の操作入力による更新指示を受け付ける。利用者の操作入力による更新指示は、サーバ200へ利用者が所持する携帯端末201−i(i≧1)や利用者が保有するPCなどから送信されてもよいし、サーバ200のマウス311やキーボード310を用いて利用者が直接入力してもよい。更新部712が、更新指示に含まれる利用者のユーザIDを含む行き先情報の行き先を更新指示に含まれる利用者の行き先に更新する。更新部712が、現日時を取得し、行き先情報の更新日時を現日時に更新する。
(実施の形態2にかかるサーバ200による行き先決定処理手順)
図18は、実施の形態2にかかるサーバ200による行き先決定処理手順の一例を示すフローチャートである。まず、サーバ200が、携帯端末からの接続を受け付けたか否かを判断する(ステップS1801)。サーバ200が、携帯端末からの接続を受け付けていないと判断した場合(ステップS1801:No)、ステップS1801へ戻る。サーバ200が、携帯端末からの接続を受け付けたと判断した場合(ステップS1801:Yes)、送信元の携帯端末を所持する利用者のユーザIDと送信元の携帯端末の通信圏内の近接携帯端末を所持する利用者のユーザIDとを含む通知情報を受信する(ステップS1802)。
つぎに、サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と更新日時を特定する(ステップS1803)。サーバ200が、近接携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と更新日時を特定する(ステップS1804)。
サーバ200が、特定した行き先から、更新日時が最新である行き先を特定する(ステップS1805)。サーバ200が、送信元の携帯端末を所持する利用者の行き先を、更新日時が最新である行き先に決定し(ステップS1806)、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なるか否かを判断する(ステップS1807)。
サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なると判断した場合(ステップS1807:Yes)、ステップS1808へ移行する。サーバ200が、行き先データベース210に記憶された送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を決定した行き先に更新し(ステップS1808)、ステップS1801へ戻る。
サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が一致すると判断した場合(ステップS1807:No)、ステップS1801へ戻る。
(実施の形態2にかかるサーバ200による更新処理手順)
図19は、実施の形態2にかかるサーバ200による更新処理手順を示すフローチャートである。まず、サーバ200が、利用者の操作入力による更新指示を受け付けたか否かを判断し(ステップS1901)、利用者の操作入力による更新指示を受け付けていないと判断した場合(ステップS1901:No)、ステップS1901へ戻る。
サーバ200が、利用者の操作入力による更新指示を受け付けたと判断した場合(ステップS1901:Yes)、更新指示に含まれる利用者のユーザIDを含む行き先情報の行き先を更新指示に含まれる利用者の行き先に更新する(ステップS1902)。サーバ200が、現日時を取得し(ステップS1903)、更新指示に含まれる利用者のユーザIDを含む行き先情報の更新日時を取得した現日時に更新し(ステップS1904)、ステップS1901へ戻る。
(実施の形態3)
つぎに、実施の形態3では、ある利用者の行き先を、ある利用者が行き先を更新した更新回数と、ある利用者の近距離にいる他の利用者が行き先を更新した更新回数と、のうち、更新回数が最多の利用者の行き先に決定する例を示す。
実施の形態3では、実施の形態1や実施の形態2と同一機能や同一情報については同一符号を付し、詳細な説明については省略する。
図20は、実施の形態3にかかる行き先データベース210の一例を示す説明図である。行き先データベース210では、各利用者の行き先情報を有している。行き先データベース210は、ユーザID、氏名、行き先、更新回数(本日)、更新回数(昨日)のフィールドを有する。ユーザIDは、利用者を識別する識別情報である。ユーザIDとしては、たとえば、社員番号のように利用者によって異なる番号である。
氏名は、ユーザIDで識別される利用者の氏名である。氏名については、本行き先決定の処理では用いていないが、理解の容易化のために、行き先データベース210に示している。行き先は、各ユーザIDで識別される利用者の行き先である。行き先としては、たとえば、自席や休憩室や会議室の名称などが挙げられる。更新回数(本日)は、ユーザIDで識別される利用者が更新した本日の更新回数である。更新回数(昨日)は、ユーザIDで識別される利用者が更新した昨日の更新回数である。
各フィールドに情報が設定されることで、行き先情報(たとえば、行き先情報2000−1〜2000−7)がレコードとして記憶されている。行き先データベース210は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されていることとする。
ここで、携帯端末201−1によるユーザIDの交換処理については、実施の形態1で説明した携帯端末201−xによるユーザIDの交換処理と同一であるため、ここでは詳細な説明を省略する。
図21は、実施の形態3にかかる携帯端末201−1を所持する利用者の行き先の決定例を示す説明図である。具体的には、たとえば、受信部701が、携帯端末からの接続を受け付けると、携帯端末201−1から通知情報900を受信する。受信部701が、通知情報900に含まれる<userid>のタグと</userid>のタグとの間に記述された番号を、携帯端末201−1を所持する利用者のユーザIDとして検出する。受信部701が、通知情報900に含まれる<near_userid>のタグから</near_userid>のタグまでの間に記述された番号を、携帯端末201−1の通信圏内にある近接携帯端末のユーザIDとして検出する。
つぎに、特定部702が、行き先データベース210を参照して、携帯端末201−1を保持する利用者と、携帯端末201−1の通信圏内に近接携帯端末を保持する利用者とのうち、更新回数が最多の利用者の行き先を特定する。
具体的には、たとえば、特定部702が、行き先データベース210を参照し、ユーザIDのフィールドに「00001234」が登録されている行き先情報を検索する。ここでは、行き先情報2000−1が検索される。具体的には、たとえば、特定部702が、(1)検索した行き先情報2000−1の行き先のフィールドに登録された行き先と更新回数(本日)のフィールドに登録された本日の更新回数と、更新回数(昨日)のフィールドに登録された昨日の更新回数と、を抽出する。
具体的には、たとえば、特定部702が、行き先データベース210を参照し、ユーザIDのフィールドに「00001235」、「00001236」、「00001237」が登録されている行き先情報をそれぞれ検索する。ここでは、行き先情報2000−2と、行き先情報2000−3と、行き先情報2000−4が検索される。
具体的には、たとえば、特定部702が、(1)検索した行き先情報2000−2〜行き先情報2000−4の行き先のフィールドに登録されているそれぞれの行き先を抽出する。具体的には、たとえば、特定部702が、(1)検索した行き先情報2000−2〜行き先情報2000−4の更新回数(本日)のフィールドに登録されたそれぞれの本日の更新回数を抽出する。具体的には、たとえば、特定部702が、(1)検索した行き先情報2000−2〜行き先情報2000−4の更新回数(昨日)のフィールドに登録されたそれぞれの昨日の更新回数を抽出する。
具体的には、たとえば、特定部702が、(2)利用者ごとに抽出した本日の更新回数と昨日の更新回数との合計値を算出する。具体的には、たとえば、特定部702が、算出した合計値が最多の利用者の行き先を特定する。テーブル2100では、合計更新回数が最多である行き先が「会議室1」である。
決定部703が、携帯端末201−1を所持する利用者の行き先を、特定部702により特定された更新回数が最多の利用者の行き先に決定する。具体的には、たとえば、決定部703が、(2)携帯端末201−1を所持する利用者の行き先を「会議室1」に決定する。
具体的には、たとえば、判定部704が、(3)検索された行き先情報2000−1の行き先と、決定部703により決定された携帯端末201−1を所持する利用者の行き先と、が一致するか否かを判定する。決定された携帯端末201−1を所持する利用者の行き先は「会議室1」であり、行き先情報2000−1の行き先は「自席」である。そのため、決定された携帯端末201−1を所持する利用者の行き先と、行き先情報2000−1の行き先と、が一致しないと判定される。
具体的には、たとえば、出力部705が、(4)行き先データベース210に記憶された行き先情報2000−1の行き先を「会議室1」に更新する。
また、受付部711が、利用者の操作入力による更新指示を受け付ける。利用者の操作入力による更新指示は、サーバ200へ利用者が所持する携帯端末201−i(i≧1)や利用者が保有するPCなどから送信される。更新部712が、更新指示に含まれる利用者のユーザIDを含む行き先情報の行き先を更新指示に含まれる利用者の行き先に更新する。更新部712が、更新指示に含まれる利用者のユーザIDを含む行き先情報の更新回数(本日)をカウントアップする。
また、受付部711が、日付の更新を受け付ける。たとえば、あらかじめサーバ200のカレンダー機能等を用いて日付が変わると、受付部711に日付の更新が入力されることとする。更新部712が、各行き先情報の更新回数(昨日)を各行き先情報の更新回数(本日)に更新する。更新部712が、各行き先情報の更新回数(本日)に0を設定する。
また、実施の形態3では、本日の更新回数と昨日の更新回数を利用する例を示したが、これに限らず、たとえば、1年間分の利用者の行き先の更新回数をカウントし、該1年間分の更新回数を用いてもよい。これにより、各利用者の更新の頻度の傾向を判別することができる。
(実施の形態3にかかるサーバ200による行き先決定処理手順)
図22は、実施の形態3にかかるサーバ200による行き先決定処理手順の一例を示すフローチャートである。まず、サーバ200が、携帯端末からの接続を受け付けたか否かを判断する(ステップS2201)。サーバ200が、携帯端末からの接続を受け付けていないと判断した場合(ステップS2201:No)、ステップS2201へ戻る。サーバ200が、携帯端末からの接続を受け付けたと判断した場合(ステップS2201:Yes)、送信元の携帯端末を所持する利用者のユーザIDと送信元の携帯端末の通信圏内の近接携帯端末を所持する利用者のユーザIDとを含む通知情報を受信する(ステップS2202)。
つぎに、サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と本日の更新回数と昨日の更新回数とを特定する(ステップS2203)。つぎに、サーバ200が、近接携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と本日の更新回数と昨日の更新回数とを特定する(ステップS2204)。サーバ200が、利用者ごとに本日の更新回数と昨日の更新回数の合計値を算出し(ステップS2205)、合計値が最多の利用者の行き先を特定する(ステップS2206)。サーバ200が、送信元の携帯端末を所持する利用者の行き先を特定した行き先に決定する(ステップS2207)。サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なるか否かを判断する(ステップS2208)。
サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なると判断した場合(ステップS2208:Yes)、ステップS2209へ移行する。サーバ200が、行き先データベース210に記憶された送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を決定した行き先に更新し(ステップS2209)、ステップS2201へ戻る。
サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が一致すると判断した場合(ステップS2208:No)、ステップS2201へ戻る。
(実施の形態3にかかるサーバ200による更新処理手順)
図23は、実施の形態3にかかるサーバ200による更新処理手順を示すフローチャートである。まず、サーバ200が、利用者の操作入力による更新指示を受け付けたかまたは日付の変更を受け付けたか否かを判断し(ステップS2301)、利用者の操作入力による更新指示および日付の変更を受け付けていないと判断した場合(ステップS2301:No)、ステップS2301へ戻る。
サーバ200が、利用者の操作入力による更新指示を受け付けたと判断した場合(ステップS2301:更新)、行き先データベース210を参照し、更新指示に含まれる利用者のユーザIDを含む行き先情報の行き先を更新指示に含まれる利用者の行き先に更新する(ステップS2302)。サーバ200が、更新指示に含まれる利用者のユーザIDを含む行き先情報の本日の更新回数をカウントアップし(ステップS2303)、ステップS2301へ戻る。
サーバ200が、日付の変更を受け付けたと判断した場合(ステップS2301:日付)、行き先情報の昨日の更新回数をそれぞれの行き先情報の本日の更新回数に設定する(ステップS2304)。サーバ200が、行き先情報の本日の更新回数を0に設定し(ステップS2305)、ステップS2301へ戻る。
(実施の形態4)
つぎに、実施の形態4では、ある利用者の行き先を、ある利用者の近距離にいる他の利用者の所持する携帯端末とある利用者の所持する携帯端末との間の信号の受信強度が最も強い携帯端末を所持する利用者の行き先に決定する。実施の形態4では、実施の形態1〜実施の形態3と同一機能や同一情報については同一符号を付し、詳細な説明については省略する。
実施の形態4にかかる行き先データベース210は、図5で示した行き先データベース210と同一であるため詳細な説明を省略する。
図24は、実施の形態4にかかる近接ユーザIDデータベース220−1の一例を示す説明図である。近接ユーザIDデータベース220−1は、近接ユーザID、サーチ時刻、受信信号強度のフィールドを有する。近接ユーザIDは、携帯端末201−1がBluetooth用のI/F403−1を用いて無線通信での通信圏内にある他の携帯端末を所持する利用者のユーザIDである。ここで、他の携帯端末を近接携帯端末と称する。携帯端末201−1を所持する利用者のユーザIDを携帯端末のユーザIDと称する。
サーチ時刻は、近接ユーザIDのフィールドに登録されたユーザIDで識別される利用者が所持する携帯端末201−1の近接携帯端末と該利用者が所持する携帯端末201−1とがユーザIDを交換した最新の時刻である。受信信号強度は、携帯端末201−1と近接携帯端末との間の信号の受信強度である。受信信号強度は、たとえば、RSSI(Received Signal Strength Indicator)値で示される。RSSI値は所定範囲内の数値である、RSSI値では、数値が大きい方が強いことを示す。各フィールドに情報が設定されることで、近接ユーザ情報(たとえば、近接ユーザ情報2400−1〜近接ユーザ情報2400−3)がレコードとして記憶されている。近接ユーザIDデータベース220−1は、RAM407−1、フラッシュROM408−1などの記憶装置に記憶されていることとする。
図25は、実施の形態4にかかる携帯端末201―1と近接携帯端末とのユーザIDの交換例を示す説明図である。携帯端末201−1を所持する利用者のユーザIDと近接携帯端末を所持する利用者のユーザIDとの交換例については、実施の形態1で説明した例と同一であるため、図25で示す(1)と(3)〜(6)との詳細な説明を省略する。
受信部721−1が、携帯端末201−2〜携帯端末201−4のそれぞれから該それぞれを所持する利用者のユーザIDを受信する。検出部724−1が、(2)該ユーザIDの受信時の信号に基づいて携帯端末201−2〜携帯端末201−4のそれぞれの受信信号強度を検出する。
図26は、実施の形態4にかかる通知情報例を示す説明図である。通知情報2600は、XML文書である。通知情報2600には、<userid>のタグから</userid>のタグまでの間に、通知情報2600の通知元の携帯端末201−1を所持する利用者のユーザIDが記述されている。
通知情報2600には、<near_userid rssi=数値>のタグから</userid>のタグまでの間に、通知元の携帯端末201−1の通信圏内にある1近接携帯端末を所持する利用者のユーザIDが記述されている。<near_userid rssi=数値>のタグの数値の箇所にRSSI値が設定される。すなわち、通知情報2600では、通知元の携帯端末201−1を所持する利用者のユーザIDが「00001234」であることを示している。通知情報2600では、通知元の携帯端末201−1の通信圏内にある近接携帯端末を所持する利用者のユーザIDが「00001235」、「00001236」、「00001237」であることを示している。
また、ユーザIDが「00001235」で識別される利用者が所持する携帯端末のRSSI値が23であり、ユーザIDが「00001236」で識別される利用者が所持する近接携帯端末のRSSI値が15である。ユーザIDが「00001237」で識別される利用者が所持する携帯端末のRSSI値が1である。
図27は、実施の形態4にかかる携帯端末201−1を所持する利用者の行き先の決定例を示す説明図である。具体的には、たとえば、受信部701が、携帯端末からの接続を受け付けると、携帯端末201−1から通知情報12000を受信する。受信部701が、通知情報12000に含まれる<userid>のタグと</userid>のタグとの間に記述された番号を、携帯端末201−1を所持する利用者のユーザIDとして検出する。受信部701が、通知情報12000に含まれる<near_userid>のタグから</near_userid>のタグまでの間に記述された番号を、携帯端末201−1の通信圏内にある近接携帯端末のユーザIDとして検出する。
つぎに、特定部702が、行き先データベース210を参照して、携帯端末201−1の通信圏内である携帯端末を保持する利用者のうち、受信信号強度が最大の利用者の行き先を特定する。
具体的には、たとえば、特定部702が、行き先データベース210を参照し、ユーザIDのフィールドに「00001234」が登録されている行き先情報を検索する。ここでは、行き先情報500−1が検索される。具体的には、たとえば、特定部702が、(1)検索した行き先情報500−1の行き先のフィールドに登録された行き先を抽出する。
具体的には、たとえば、特定部702が、行き先データベース210を参照し、ユーザIDのフィールドに「00001235」と、「00001236」と、「00001237」と、が登録されている行き先情報をそれぞれ検索する。ここでは、行き先情報500−2と、行き先情報500−3と、行き先情報500−4が検索される。
具体的には、たとえば、特定部702が、(1)検索した行き先情報500−2〜行き先情報500−4の行き先のフィールドに登録されているそれぞれの行き先を抽出する。特定部702が、RSSI値を通知情報2000から取得する。特定部702が、取得したRSSI値と抽出した行き先とを各ユーザIDに基づいて関連付ける。テーブル2700が、関連付けられた結果である。
具体的には、たとえば、特定部702が、(2)テーブル2700から、受信信号強度が最大である行き先を特定する。テーブル2700では、受信信号強度が最大である行き先が「会議室1」である。
決定部703が、携帯端末201−1を所持する利用者の行き先を特定部702により特定された受信信号強度が最大の携帯端末を所持する利用者の行き先に決定する。具体的には、たとえば、決定部703が、(2)携帯端末201−1を所持する利用者の行き先を「会議室1」に決定する。
具体的には、たとえば、判定部704が、(3)検索された行き先情報500−1の行き先と、決定部703により決定された携帯端末201−1を所持する利用者の行き先と、が一致するか否かを判定する。決定された携帯端末201−1を所持する利用者の行き先は「会議室1」であり、行き先情報500−1の行き先は「自席」である。そのため、決定された携帯端末201−1を所持する利用者の行き先と、行き先情報500−1の行き先と、が一致しないと判定される。
具体的には、たとえば、出力部705が、(4)行き先データベース210に記憶された行き先情報500−1の行き先を「会議室1」に更新する。
また、受付部711と更新部712による更新処理については、実施の形態1で説明した更新処理と同一であるため、詳細な説明を省略する。
(実施の形態4にかかる携帯端末201−xによるユーザIDの交換処理手順)
図28は、実施の形態4にかかる携帯端末201−xによるユーザIDの交換処理手順の一例を示すフローチャートである。まず、携帯端末201−xが、前回のサーチから一定時間経過したか否かを判断する(ステップS2801)。携帯端末201−xが、前回のサーチから一定時間経過していないと判断した場合(ステップS2801:No)、ステップS2801へ戻る。携帯端末201−xが、前回のサーチから一定時間経過したと判断した場合(ステップS2801:Yes)、近接する携帯端末をサーチする(ステップS2802)。近接する携帯端末とは、携帯端末201−xの通信圏内にある携帯端末である。
携帯端末201−xが、サーチした携帯端末とユーザIDを交換し(ステップS2803)、サーチした携帯端末ごとに受信信号強度を受信する(ステップS2804)。携帯端末201−xが、現時刻を取得し(ステップS2805)、交換したユーザIDのうち、未選択なユーザIDがあるか否かを判断する(ステップS2806)。携帯端末201−xが、交換したユーザIDのうち、未選択なユーザIDがあると判断した場合(ステップS2806:Yes)、未選択なユーザIDから1つのユーザIDを選択し(ステップS2807)。
携帯端末201−xが、選択したユーザIDが近接ユーザIDデータベース220−xに登録済みであるか否かを判断する(ステップS2808)。携帯端末201−xが、選択したユーザIDが近接ユーザIDデータベース220−xに登録済みであると判断した場合(ステップS2808:Yes)、サーチ時刻を現時刻に更新し(ステップS2809)、強度を受信した受信信号強度に更新し(ステップS2810)、ステップS2806に戻る。
携帯端末201−xが、選択したユーザIDが近接ユーザIDデータベース220−xに登録済みでないと判断した場合(ステップS2808:No)、選択したユーザIDと現時刻と受信信号強度を近接ユーザIDデータベース220−xに登録し(ステップS2811)、ステップS2806に戻る。
携帯端末201−xが、交換したユーザIDのうち、未選択なユーザIDがないと判断した場合(ステップS2806:No)、交換したユーザIDを除くユーザIDを有する近接ユーザ情報を特定する(ステップS2812)。携帯端末201−xが、近接ユーザIDデータベースを参照し、交換したユーザIDを除くユーザIDを有する近接ユーザ情報を特定したか否かを判断する(ステップS2813)。
携帯端末201−xが交換したユーザIDを除くユーザIDを有する近接ユーザ情報を特定したと判断した場合(ステップS2813:Yes)、ステップS2814へ移行する。携帯端末201−xが、特定した近接ユーザ情報のサーチ時刻から現時刻までの時間が所定時間以上であるか否かを判断する(ステップS2814)。
携帯端末201−xが、特定した近接ユーザ情報のサーチ時刻から現時刻までの時間が所定時間以上であると判断した場合(ステップS2814:Yes)、特定した近接ユーザ情報を近接ユーザIDデータベース220−xから削除し(ステップS2815)、ステップS2801へ戻る。
ステップS2813において、交換したユーザIDを除くユーザIDを有する近接ユーザ情報を特定していないと判断した場合(ステップS2813:No)、ステップS2801へ戻る。ステップS2814において、携帯端末201−xが、特定した近接ユーザ情報のサーチ時刻から現時刻までの時間が所定時間以上でないと判断した場合(ステップS2814:No)、ステップS2801へ戻る。
(実施の形態4にかかるサーバ200による行き先決定処理手順)
図29は、実施の形態4にかかるサーバ200による行き先決定処理手順の一例を示すフローチャートである。まず、サーバ200が、携帯端末からの接続を受け付けたか否かを判断する(ステップS2901)。サーバ200が、携帯端末からの接続を受け付けていないと判断した場合(ステップS2901:No)、ステップS2901へ戻る。サーバ200が、携帯端末からの接続を受け付けたと判断した場合(ステップS2901:Yes)、ステップS2902へ移行する。サーバ200が、送信元の携帯端末を所持する利用者のユーザIDと送信元の携帯端末の通信圏内の近接携帯端末を所持する利用者のユーザIDと近接携帯端末を所持する利用者の受信信号強度と、を含む通知情報2600を受信する(ステップS2902)。利用者の受信信号強度とは、利用者が所持する携帯端末と送信元の携帯端末との間の信号の受信強度である。
つぎに、サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する。行き先情報の行き先を特定する(ステップS2903)。つぎに、サーバ200が、近接携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を特定する(ステップS2904)。サーバ200が、近接携帯端末を保持する利用者のうち、受信信号強度が最大の利用者の行き先を特定し(ステップS2905)、送信元の携帯端末を所持する利用者の行き先を受信信号強度が最大の利用者の行き先に決定する(ステップS2906)。サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なるか否かを判断する(ステップS2907)。
サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なると判断した場合(ステップS2907:Yes)、ステップS2908へ移行する。サーバ200が、行き先データベース210に記憶された送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を決定した行き先に更新し(ステップS2908)、ステップS2901へ戻る。
サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が一致すると判断した場合(ステップS2907:No)、ステップS2901へ戻る。
また、サーバ200による更新処理手順については、実施の形態1で説明したサーバ200による更新処理手順と同一であるため、詳細な説明を省略する。
(実施の形態5)
実施の形態5では、実施の形態1〜実施の形態4のある利用者の行き先の決定方法を組み合わせた例を示す。
図30は、実施の形態5にかかる行き先データベース210の一例を示す説明図である。行き先データベース210では、各利用者の行き先情報を有している。行き先データベース210は、ユーザID、氏名、行き先、更新日時、更新回数(本日)、更新回数(昨日)のフィールドを有する。行き先データベース210では、各利用者の行き先情報を有している。ユーザIDは、利用者を識別する識別情報である。ユーザIDとしては、たとえば、社員番号のように利用者によって異なる番号である。
氏名は、ユーザIDで識別される利用者の氏名である。氏名については、本行き先決定の処理では用いていないが、理解の容易化のために、行き先データベース210に示している。行き先は、各ユーザIDで識別される利用者の行き先である。行き先としては、たとえば、自席や休憩室や会議室の名称などが挙げられる。更新日時は、ユーザIDで識別される利用者が行き先を更新した日時である。更新回数(本日)は、ユーザIDで識別される利用者が更新した本日の更新回数である。更新回数(昨日)は、ユーザIDで識別される利用者が更新した昨日の更新回数である。
各フィールドに情報が設定されることで、行き先情報(たとえば、行き先情報3000−1〜行き先情報3000−6)がレコードとして記憶されている。行き先データベース210は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されていることとする。また、実施の形態5にかかる近接ユーザIDデータベースについては、図24で示した近接ユーザIDデータベースと同一であるため、詳細な説明を省略する。
図31は、実施の形態5にかかる携帯端末201―1と近接携帯端末とのユーザIDの交換例を示す説明図である。まず、たとえば、送信部722−1が、Bluetooth用のI/F403−1を用いて、携帯端末201−1と通信可能か否かに関する情報を周辺の携帯端末に通知する。ここで、周辺の携帯端末とは、携帯端末201−1が有するBluetooth用のI/F403を用いて無線通信可能な通信圏内の携帯端末である。受信部721−2〜受信部721−4(携帯端末201−2〜携帯端末201−4)が、携帯端末201−1からの通信可否に関する情報を受信し、送信部722−2〜送信部722−4(携帯端末201−2〜携帯端末201−4)が、携帯端末201−1へ通信可能を示す情報を送信する。
受信部721−1が、携帯端末201−2〜携帯端末201−4から通信可能を示す情報を受信すると、送信部722−1と受信部721−1が、(1)携帯端末201−2〜携帯端末201−4のそれぞれとユーザIDを交換する。ここでは、ユーザIDの交換により、「00001235」と、「00001236」と、「00001237」と、「00001239」と、を取得する。
検出部724−1が、(2)受信部721−1により携帯端末201−2〜携帯端末201−4のそれぞれとユーザIDが受信される際に、携帯端末201−1と携帯端末201−2〜携帯端末201−4との間の信号のRSSI値を検出する。設定部723−1が、現時刻を取得する。
設定部723−1が、近接ユーザIDデータベース220−1を参照し、「00001235」と、「00001236」と、「00001237」と、「00001239」と、のいずれかを含む近接ユーザ情報を特定する。ここでは、近接ユーザ情報2400−1が「00001235」を近接ユーザIDのフィールドに有し、近接ユーザ情報2400−2が「00001236」を近接ユーザIDのフィールドに有している。
設定部723−1が、(3)近接ユーザ情報2400−1のサーチ時刻のフィールドの時刻と、近接ユーザ情報2400−2のサーチ時刻のフィールドの時刻と、をそれぞれ現時刻に更新する。ここで、現時刻を16:00とする。設定部723−1が、(2)近接ユーザ情報2400−1の受信信号強度のフィールドの値を、検出部724−1により検出された携帯端末201−1と携帯端末201−2との間の信号のRSSI値に更新する。設定部723−1が、(3)近接ユーザ情報2400−2の受信信号強度のフィールドの値を、検出部724−1により検出された携帯端末201−1と携帯端末201−3との間の信号のRSSI値に更新する。
「00001237」を含む近接ユーザ情報が近接ユーザIDデータベース220−1から特定されないため、設定部723−1が、(3)近接ユーザIDデータベース220−1のユーザIDのフィールドに「00001237」を設定する。設定部723−1が、近接ユーザIDデータベース220−1のサーチ時刻のフィールドに現時刻を設定する。設定部723−1が、近接ユーザIDデータベース220−1の受信信号強度のフィールドの値に、検出部724−1により検出された携帯端末201−1と携帯端末201−4との間の信号のRSSI値を設定し、新たな近接ユーザ情報2400−4を作成する。
「00001239」を含む近接ユーザ情報が近接ユーザIDデータベース220−1から特定されないため、設定部723−1が、(3)近接ユーザIDデータベース220−1のユーザIDのフィールドに「00001239」を登録する。設定部723−1が、近接ユーザIDデータベース220−1のサーチ時刻のフィールドに現時刻を設定し、新たな近接ユーザ情報2400−5を作成する。設定部723−1が、近接ユーザIDデータベース220−1の受信信号強度のフィールドの値に、検出部724−1により検出された携帯端末201−1と携帯端末201−6との間の信号のRSSI値を設定し、新たな近接ユーザ情報2400−5を作成する。
たとえば、設定部723−1が、近接ユーザIDデータベース220−1を参照し、交換したユーザID以外のユーザIDを含む近接ユーザ情報を特定する。ここでは、たとえば、近接ユーザIDのフィールドに「00001238」が登録されている近接ユーザ情報2400−3が特定される。
たとえば、設定部723−1が、特定した近接ユーザ情報2400−3のサーチ時刻のフィールドに登録されている時刻から現時刻までの時間が所定時間以上であるか否かを判断する。たとえば、所定時間を15[分]とする。ここでは、該時間が30[分]であるため、所定時間以上であると判断される。設定部723−1が、(4)近接ユーザ情報2400−3を近接ユーザIDデータベース220−1から削除する。また、図示していないが、該時間が所定時間以上でないと判断された場合、設定部723−1が、(4)近接ユーザ情報600−3を近接ユーザIDデータベース220−1から削除しない。
送信部722−1が、(5)近接ユーザIDデータベース220−1の変化を検出する。送信部722−1が、(6)近接ユーザIDデータベース220−1の近接ユーザIDのフィールドに登録されているユーザIDと携帯端末201−1を所持する利用者のユーザIDと、を有する通知情報を、ネットワーク314を介してサーバ200へ送信する。
図32は、実施の形態5にかかる通知情報例を示す説明図である。通知情報3200は、XML文書である。通知情報3200には、<userid>のタグから</userid>のタグまでの間に、通知情報3200の通知元の携帯端末201−1を所持する利用者のユーザIDが記述されている。
通知情報3200には、<near_userid rssi=数値>のタグから</userid>のタグまでの間に、通知元の携帯端末201−1の通信圏内にある1近接携帯端末を所持する利用者のユーザIDが記述されている。<near_userid rssi=数値>のタグの数値の箇所にRSSI値が設定される。すなわち、通知情報3200では、通知元の携帯端末201−1を所持する利用者のユーザIDが「00001234」であることを示している。通知情報3200では、通知元の携帯端末201−1の通信圏内にある近接携帯端末を所持する利用者のユーザIDが「00001235」、「00001236」、「00001237」、「00001239」であることを示している。
また、ユーザIDが「00001235」で識別される利用者が所持する携帯端末のRSSI値が23であり、ユーザIDが「00001236」で識別される利用者が所持する近接携帯端末のRSSI値が15である。ユーザIDが「00001237」で識別される利用者が所持する携帯端末のRSSI値が1であり、ユーザIDが「00001239」で識別される利用者が所持する携帯端末のRSSI値が5である。
図33は、実施の形態5にかかる携帯端末201−1を所持する利用者の行き先の決定例を示す説明図(その1)である。まず、受信部701と特定部702を用いて実施の形態1で説明した決定方法を用いて、近接携帯端末を所持する利用者の行き先のうち、最多の行き先を特定する。
図33で示す(1)、(2)の処理については、実施の形態1で説明した処理と同一であるため、詳細な説明を省略する。テーブル3300では、「自席」のカウント値が1であり、「会議室1」のカウント値が2であり、「会議室2」のカウント値が2である。よって、「会議室1」と「会議室2」とのカウント値が同一値であるため、最多の行き先が一意に特定されない。
図34は、実施の形態5にかかる携帯端末201−1を所持する利用者の行き先の決定例を示す説明図(その2)である。具体的には、たとえば、特定部702が、行き先データベース210を参照し、行き先情報3000−1〜行き先情報3000−4と行き先情報3000−6のうち、行き先のフィールドが「会議室1」または「会議室2」である行き先情報を特定する。ここでは、行き先情報3000−2〜行き先情報3000−4と行き先情報3000−6が特定される。
具体的には、たとえば、特定部702が、(1)特定した行き先情報の更新日時のフィールドに登録されている更新日時を抽出する。特定部702が、(2)抽出した更新日時が古い順に特定し、古い順に0〜3までのポイントを付与する。
具体的には、たとえば、特定部702が、(3)特定した行き先情報の更新回数(本日)のフィールドに登録されている本日の更新回数を抽出する。具体的には、たとえば、特定部702が、(3)特定した行き先情報の更新回数(昨日)のフィールドに登録されている昨日の更新回数を抽出する。具体的には、たとえば、特定部702が、抽出した本日の更新回数と昨日の更新回数との合計値を利用者ごとに算出する。特定部702が、(4)算出した合計値が少ない順に特定し、少ない順に0〜3までのポイントを付与する。
具体的には、たとえば、特定部702が、(5)特定した行き先情報のユーザIDのフィールドに登録されているユーザIDに基づいて、通知情報3200のRSSI値と特定した行き先情報に含まれる行き先とを関連付けて抽出する。具体的には、たとえば、特定部702が、(6)受信信号強度が弱い順に特定する。
具体的には、たとえば、特定部702が、受信信号強度が第1所定値以下であれば、0ポイントを付与する。具体的には、たとえば、特定部702が、受信信号強度が第2所定値以上であれば、2ポイントを付与する。具体的には、たとえば、特定部702が、受信信号強度が第1所定値より大きく、第2所定値未満であれば、1ポイントを付与する。たとえば、第1所定値が4であり、第2所定値が14である。
テーブル3401〜テーブル3403では、行き先ごとにスコアが登録されている。具体的には、たとえば、特定部702が、同一行き先ごとに合計スコアを算出することにより、同一行き先ごとにスコアを集約する。テーブル3404では、同一行き先ごとに合計スコアが登録されている。具体的には、たとえば、特定部702が、(8)合計スコアが最多の行き先を特定する。具体的には、たとえば、決定部703が、(9)携帯端末201−1を所持する利用者の行き先を特定した行き先に決定する。
具体的には、たとえば、判定部704が、(10)特定部702により特定された行き先情報3000−1の行き先と、決定部703により決定された携帯端末201−1を所持する利用者の行き先と、が一致するか否かを判定する。決定された携帯端末201−1を所持する利用者の行き先は「会議室1」であり、行き先情報3000−1の行き先は「自席」である。そのため、決定された携帯端末201−1を所持する利用者の行き先と、行き先情報3000−1の行き先と、が一致しないと判定される。
出力部705は、決定部703による決定結果と携帯端末201−1を所持する利用者のユーザIDとを関連付けて出力する。具体的には、たとえば、出力部705が、(5)行き先データベース210に記憶された行き先情報3000−1の行き先を「会議室1」に更新する。
上述した例では、最多の行き先が複数ある場合に、他の確度を基準にポイントを付与して、携帯端末201−1を所持する利用者の行き先を決定している。これに限らず、更新日時が最新の利用者が複数いる場合に、他の確度を基準にポイントを付与して、携帯端末201−1を所持する利用者の行き先を決定してもよい。
また、更新回数が最多の利用者が複数いる場合に、他の確度を基準にポイントを付与して、携帯端末201−1を所持する利用者の行き先を決定してもよい。また、受信信号強度が最大の利用者が複数いる場合に、他の確度を基準にポイントを付与して、携帯端末201−1を所持する利用者の行き先を決定してもよい。
実施の形態1〜実施の形態4では、携帯端末201−1を所持する利用者の行き先を決定するための確度がそれぞれ異なる。よって、どの確度が最良かは一意でないため、どのように確度を組み合わせてもよいこととする。
また、実施の形態5にかかる携帯端末201−xによるユーザIDの交換処理手順については、実施の形態4にかかる携帯端末201−xによるユーザIDの交換処理手順と同一手順であるため、詳細な説明を省略する。
(実施の形態5にかかるサーバ200による行き先決定処理手順)
図35〜図37は、実施の形態5にかかるサーバ200による行き先決定処理手順を示すフローチャートである。まず、サーバ200が、携帯端末からの接続を受け付けたか否かを判断する(ステップS3501)。サーバ200が、携帯端末からの接続を受け付けていないと判断した場合(ステップS3501:No)、ステップS3501へ戻る。
サーバ200が、携帯端末からの接続を受け付けたと判断した場合(ステップS3501:Yes)、ステップS3502へ移行する。サーバ200が、携帯端末から、送信元の携帯端末を所持する利用者のユーザIDと、送信元の携帯端末の通信圏内の近接携帯端末を所持する利用者のユーザIDと、近接携帯端末を所持する利用者の受信信号強度と、を含む通知情報900を受信する(ステップS3502)。
つぎに、サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を特定し(ステップS3503)、近接携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を特定する(ステップS3504)。サーバ200が、特定した行き先情報の行き先のうち、最多の行き先を特定する(ステップS3505)。
サーバ200が、最多の行き先が複数あるか否かを判断する(ステップS3506)。サーバ200が、最多の行き先が複数ないと判断した場合(ステップS3506:No)、送信元の携帯端末を所持する利用者の行き先を特定した行き先に決定する(ステップS3507)。
サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なるか否かを判断する(ステップS3508)。サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が異なると判断した場合(ステップS3508:Yes)、ステップS3509へ移行する。
サーバ200が、行き先データベース210に記憶された送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先を決定した行き先に更新し(ステップS3509)、ステップS3501へ戻る。サーバ200が、送信元の携帯端末を所持する利用者のユーザIDを有する行き先情報の行き先と、決定した行き先と、が一致すると判断した場合(ステップS3508:No)、ステップS3501へ戻る。
サーバ200が、最多の行き先が複数あると判断した場合(ステップS3506:Yes)、送信元の携帯端末の行き先情報と、近接携帯端末の行き先情報とから、特定した最多の行き先を有する行き先情報を特定する(ステップS3510)。送信元の携帯端末の行き先情報とは、送信元の携帯端末を所持する利用者のユーザIDを含む行き先情報であり、近接携帯端末の行き先情報とは、近接携帯端末を所持する利用者のユーザIDを含む行き先情報である。
サーバ200が、特定した最多の行き先を有する行き先情報の更新日時を抽出し(ステップS3511)、抽出した更新日時が古い順に利用者の行き先にポイントを付与する(ステップS3512)。
サーバ200が、送信元の携帯端末の行き先情報と、近接携帯端末の行き先情報とから、特定した最多の行き先を有する行き先情報の本日の更新回数と昨日の更新回数を抽出する(ステップS3513)。
サーバ200が、抽出した行き先情報ごとに本日の更新回数と昨日の更新回数の合計値を算出し(ステップS3514)、算出した合計値が小さい順に利用者の行き先にポイントを付与する(ステップS3515)。
サーバ200が、特定した最多の行き先を有する行き先情報のユーザIDのうち、未選択なユーザIDがあるか否かを判断する(ステップS3516)。サーバ200が、特定した最多の行き先を有する行き先情報のユーザIDのうち、未選択なユーザIDがあると判断した場合(ステップS3516:Yes)、選択したユーザIDの受信信号強度を通知情報から特定する(ステップS3517)。
サーバ200が、特定した受信信号強度が第1所定値以下であるか否かを判断する(ステップS3518)。サーバ200が、特定した受信信号強度が第1所定値以下であると判断した場合(ステップS3518:Yes)、選択したユーザIDを有する行き先情報の行き先に第1ポイントを付与し(ステップS3519)、ステップS3516へ戻る。たとえば、第1ポイントが0ポイントである。
サーバ200が、特定した受信信号強度が第1所定値以下でないと判断した場合(ステップS3518:No)、特定した受信信号強度が第2所定値以上であるか否かを判断する(ステップS3520)。サーバ200が、特定した受信信号強度が第2所定値以上でないと判断した場合(ステップS3520:No)、選択したユーザIDを有する行き先情報の行き先に第2ポイントを付与し(ステップS3521)、ステップS3516へ戻る。
サーバ200が、特定した受信信号強度が第2所定値以上であると判断した場合(ステップS3520:Yes)、選択したユーザIDを有する行き先情報の行き先に第3ポイントを付与し(ステップS3522)、ステップS3516へ戻る。
ステップS3516において、サーバ200が、特定した最多の行き先を有する行き先情報のユーザIDのうち、未選択なユーザIDがないと判断した場合(ステップS3516:No)、同一行き先ごとにポイントを集約する(ステップS3523)。サーバ200が、ポイント数が最多の行き先を特定し(ステップS3524)、ステップS3507へ移行する。
(実施の形態5にかかるサーバ200による更新処理手順)
図38は、実施の形態3にかかるサーバ200による更新処理手順を示すフローチャートである。まず、サーバ200が、利用者の操作入力による更新指示を受け付けたかまたは日付の変更を受け付けたか否かを判断し(ステップS3801)、利用者の操作入力による更新指示および日付の変更を受け付けていないと判断した場合(ステップS3801:No)、ステップS3801へ戻る。
サーバ200が、利用者の操作入力による更新指示を受け付けたと判断した場合(ステップS3801:更新)、行き先データベース210を参照し、更新指示に含まれる利用者のユーザIDを含む行き先情報の行き先を更新指示に含まれる利用者の行き先に更新する(ステップS3802)。サーバ200が、更新指示に含まれる利用者のユーザIDを含む行き先情報の本日の更新回数をカウントアップする(ステップS3803)。サーバ200が、現日時を取得し(ステップS3804)、更新指示に含まれる利用者のユーザIDを含む行き先情報の更新日時を取得した現日時に更新し(ステップS3805)、ステップS3801へ戻る。
ステップS3801において、サーバ200が、日付の変更を受け付けたと判断した場合(ステップS3801:日付)、行き先情報の昨日の更新回数をそれぞれの行き先情報の本日の更新回数に設定する(ステップS3806)。サーバ200が、行き先情報の本日の更新回数を0に設定し(ステップS3807)、ステップS3801へ戻る。
実施の形態1〜5では、携帯端末201−1がサーバ200へ行き先の決定を依頼しているが、複数の携帯端末が同時にサーバ200へ行き先の決定依頼を行った場合、サーバ200は、同時に行き先決定処理を行わなくてもよい。
以上実施の形態1〜5で説明したように、行き先決定プログラム、および行き先決定方法によれば、利用者が所持する第1の携帯端末の近距離にいる第2の携帯端末の所持者の行き先に応じて利用者の居場所を推定することができる。これにより、利用者が行き先掲示板への更新を忘れたとしても、行き先掲示板の行き先の更新後に従業員が該行き先と異なる場所に向かったとしても、利用者の行き先を特定することができる。さらに、特定した利用者の行き先を行き先掲示板に反映することで、行き先掲示板上の利用者の行き先を自動更新することができる。また、PCやRFIDなどの高価な機器の設置することなく、利用者の居場所を推定するため、費用を抑制することができる。また、利用者の行き先として場所名が特定されるため、各PCやRFIDなどの機器と場所名との対応付ける処理や、緯度・経度などの情報と場所名を対応付ける処理が不要となる。
また、行き先掲示板上の利用者の行き先と、第2の携帯端末の所持者の行き先とに、応じて利用者の居場所を推定する。これにより、利用者自身の更新にも信頼をおいて、利用者の行き先を自動更新することができる。
また、実施の形態1で説明したように、利用者の行き先と、第2の携帯端末の所持者の行き先のうち、最多の行き先を利用者の居場所として推定する。複数のユーザの中から最も多く設定されている行き先を高く信頼することができ、利用者の行き先を自動更新することができる。
また、実施の形態2で説明したように、利用者が行き先を更新した更新日時と、第2の携帯端末の所持者が行き先を更新した更新日時と、のうち、最新の更新日時である行き先を利用者の居場所として推定する。更新日時が新しく信頼性の高い行き先に応じて、利用者の行き先を自動更新することができる。
また、実施の形態3で説明したように、利用者の行き先掲示板の更新頻度と、第2の端末の所持者の行き先掲示板の更新頻度とに、応じて、利用者の居場所を推定する。更新頻度が高い利用者は行き先掲示板の更新を確実に行う可能性があり、信頼性の高い行き先により、利用者の行き先を自動更新することができる。
また、実施の形態4で説明したように、第1の携帯端末と第2の携帯端末との間の受信信号強度に応じて、利用者の居場所を推定する。たとえば、通信圏内であっても、利用者と異なる部屋にいる他の利用者の受信信号強度は弱くなる可能性があるため、誤った行き先によって、利用者の行き先が自動更新されるのを防止することができる。
また、利用者の入力操作により、行き先掲示板の行き先を更新することにより、行き先掲示板に登録された利用者の行き先の精度を向上させることができる。
なお、本実施の形態で説明した行き先決定方法は、あらかじめ用意された行き先決定プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本行き先決定プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本行き先決定プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数の利用者の各々の利用者の識別情報と前記各々の利用者の行き先とを関連付けて記憶するデータベースにアクセス可能なコンピュータに、
前記複数の利用者のうちいずれかの利用者が所持する第1の携帯端末から、前記いずれかの利用者の識別情報と、前記第1の携帯端末の通信圏内にある1以上の第2の携帯端末から受信された前記第2の携帯端末を所持する他の利用者の識別情報とを受信する受信処理と、
前記データベースを参照して、前記受信処理により受信された前記他の利用者の識別情報と関連付けて記憶されている前記他の利用者の行き先を特定する特定処理と、
前記特定処理により特定された前記他の利用者の行き先に基づいて、前記いずれかの利用者の行き先を決定する決定処理と、
前記決定処理による決定結果と前記受信処理により受信された前記いずれかの利用者の識別情報とを関連付けて出力する出力処理と、
を実行させることを特徴とする行き先決定プログラム。
(付記2)前記特定処理は、
さらに、前記データベースを参照して、前記いずれかの利用者の識別情報と関連付けて記憶されている前記いずれかの利用者の行き先を特定し、
前記決定処理は、
前記特定処理により特定された前記他の利用者の行き先と前記いずれかの利用者の行き先とに基づいて、前記いずれかの利用者の行き先を決定することを特徴とする付記1に記載の行き先決定プログラム。
(付記3)前記決定処理は、
前記いずれかの利用者の行き先を、前記特定処理により特定された前記他の利用者の行き先と前記いずれかの利用者の行き先とのうち最多の行き先に決定することを特徴とする付記2に記載の行き先決定プログラム。
(付記4)前記データベースは、前記各々の利用者の識別情報と前記各々の利用者の行き先と前記各々の利用者の行き先が更新された更新日時とを関連付けて記憶しており、
前記特定処理は、
前記データベースを参照して、前記他の利用者の行き先と前記いずれかの利用者の行き先とのうち更新日時が最新の行き先を特定し、
前記決定処理は、
前記いずれかの利用者の行き先を、前記特定処理により特定された前記更新日時が最新の行き先に決定することを特徴とする付記2または3に記載の行き先決定プログラム。
(付記5)前記データベースは、前記各々の利用者の識別情報と前記各々の利用者の行き先と前記各々の利用者が行き先を更新した更新回数とを関連付けて記憶しており、
前記特定処理は、
前記データベースを参照して、前記他の利用者と前記いずれかの利用者とのうち更新回数が最多の利用者の行き先を特定し、
前記決定処理は、
前記いずれかの利用者の行き先を、前記特定処理により特定された前記更新回数が最多の利用者の行き先に決定することを特徴とする付記2〜4のいずれか一つに記載の行き先決定プログラム。
(付記6)前記受信処理は、
さらに、前記第1の携帯端末と前記第2の携帯端末との間の信号の受信強度を前記第1の携帯端末から受信し、
前記特定処理は、
前記データベースを参照して、前記他の利用者のうち前記受信処理により受信された信号の受信強度が最大の利用者の行き先を特定し、
前記決定処理は、
前記いずれかの利用者の行き先を、前記特定処理により特定された前記受信強度が最大の利用者の行き先に決定することを特徴とする付記1〜5のいずれか一つに記載の行き先決定プログラム。
(付記7)前記出力処理は、
前記データベースに記憶されている前記いずれかの利用者の行き先を、前記決定処理により決定された前記いずれかの利用者の行き先に更新することを特徴とする付記1〜6のいずれか一つに記載の行き先決定プログラム。
(付記8)前記コンピュータに、
前記いずれかの利用者の操作入力により、前記いずれかの利用者の識別情報と前記いずれかの利用者の行き先を受け付ける受付処理と、
前記受付処理により受け付けられた前記いずれかの利用者の識別情報と関連付けて前記データベースに記憶されている前記いずれかの利用者の行き先を、前記受付処理により受け付けられた前記いずれかの利用者の行き先に更新する更新処理と、
を実行させることを特徴とする付記1〜7のいずれか一つに記載の行き先決定プログラム。
(付記9)前記コンピュータに、
前記特定処理により特定された前記いずれかの利用者の行き先と、前記決定処理により決定された前記いずれかの利用者の行き先と、が一致するか否かを判定する判定処理を実行させ、
前記出力処理は、
前記判定処理により不一致であると判定された場合、前記不一致を示す情報を前記いずれかの利用者の識別情報に関連付けて出力することを特徴とする付記1〜8のいずれか一つに記載の行き先決定プログラム。
(付記10)複数の利用者の各々の利用者の識別情報と前記各々の利用者の行き先とを関連付けて記憶するデータベースにアクセス可能なコンピュータが、
前記複数の利用者のうちいずれかの利用者が所持する第1の携帯端末から、前記いずれかの利用者の識別情報と、前記第1の携帯端末の通信圏内にある1以上の第2の携帯端末から受信された前記第2の携帯端末を所持する他の利用者の識別情報とを受信する受信処理と、
前記データベースを参照して、前記受信処理により受信された前記他の利用者の識別情報と関連付けて記憶されている前記他の利用者の行き先を特定する特定処理と、
前記特定処理により特定された前記他の利用者の行き先に基づいて、前記いずれかの利用者の行き先を決定する決定処理と、
前記決定処理による決定結果と前記受信処理により受信された前記いずれかの利用者の識別情報とを関連付けて出力する出力処理と、
を実行することを特徴とする行き先決定方法。