(58)【調査した分野】(Int.Cl.,DB名)
前記送信手段は、前記複数の通信端末の内で、当該情報処理装置側に記憶された前記電話帳データの送信を要求してきた通信端末に対して、前記更新手段で更新された電話帳データを送信する、
ことを特徴とする請求項1に記載の情報処理装置。
前記更新手段による更新は、前記電話帳データに含まれる複数の通信端末の内で、最新の状態が現在通信可能な状態にある通信端末に絞られた連絡先情報を含む新たな電話帳データを生成することを含み、
前記送信手段は、前記更新手段で新たに生成された前記電話帳データを前記各通信端末に対して送信する、
ことを特徴とする請求項1又は2に記載の情報処理装置。
【発明を実施するための形態】
【0021】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【0022】
図1は、本発明の一実施形態による通信システム1の主要構成を示す図である。
通信システム1は、サーバ10と、VoIP端末20と、無線アクセスポイント30と、を有する。通信システム1は、複数のVoIP端末20をその構成に含み、サーバ10は、無線アクセスポイント30を介して複数のVoIP端末20との通信を行う情報処理装置として機能する。無線アクセスポイント30は、サーバ10とVoIP端末20との間の無線通信を仲介する。なお、
図1に示す一実施形態では、便宜上、1つの無線アクセスポイント30を図示しているが、実際の通信システム1としては、サーバ10がネットワーク回線Nを介して複数の無線アクセスポイント30に接続されているものとする。
【0023】
図2は、サーバ10の主要構成を示すブロック図である。
サーバ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、記憶部13、入力部14、表示部15及び通信部16を備え、これらの各構成はバス17により接続される。
【0024】
CPU11は、記憶部13に記憶されたプログラムをRAM12に読み出して処理する。CPU11は、記憶部13内に記憶されたプログラムと協働して、RAM12に展開されたプログラムやデータ等に従ってサーバ10の動作制御を行う。
RAM12は、CPU11の処理によって展開されたデータや、当該処理によって一時的に生じたデータ等を格納する。
記憶部13は、CPU11によって読み出されるプログラムやデータ等を記憶する。記憶部13は、例えばハードディスクドライブやフラッシュメモリ、その他の書き換え可能な記憶装置又はそれらの記憶装置の組合せ等によって構成される。
【0025】
入力部14は、サーバ10に対して入力操作を可能とする。入力部14は、例えばキーボードやマウス、その他の入力装置又はそれらの入力装置の組合せ等によって構成される。入力部14は、利用者による入力操作を受け付けてその入力操作内容に応じた信号をCPU11へ入力する。CPU11は、入力部14から入力された内容に応じた処理を行う。
表示部15は、CPU11の処理内容に応じた表示出力を行う。表示部15は、例えば液晶表示装置、有機エレクトロルミネセンス(Electro-Luminescence、EL)ディスプレイ、その他の表示装置又はそれらの表示装置の組合せ等によって構成される。
【0026】
通信部16は、複数のVoIP端末20との間でデータ伝送を行う。通信部16は、例えばネットワークインターフェースカード(Network Interface Card、NIC)等の通信装置を有し、ネットワーク回線N及び無線アクセスポイント30を通じて複数のVoIP端末20と通信を行う。
無線アクセスポイント30は、通信部16とネットワーク回線Nを介して接続され、サーバ10とVoIP端末20との間の無線通信を仲介する。
【0027】
図3は、VoIP端末20の主要構成を示すブロック図である。
VoIP端末20は、それぞれ、CPU21、RAM22、記憶部23、入力部24、表示部25、通信部26、音声入力部27及び音声出力部28を備え、これらの各構成はバス29により接続される。
【0028】
CPU21は、記憶部23に記憶されたプログラムをRAM22に読み出して処理する。CPU21は、記憶部23内に記憶されたプログラムと協働して、RAM22に展開されたプログラムやデータ等に従ってVoIP端末20の動作制御を行う。
RAM22は、CPU21の処理によって展開されたデータや、当該処理によって一時的に生じたデータ等を格納する。
記憶部23は、CPU21によって読み出されるプログラムやデータ等を記憶する。記憶部23は、例えばハードディスクドライブやフラッシュメモリ、その他の書き換え可能な記憶装置又はそれらの記憶装置の組合せ等によって構成される。
【0029】
入力部24は、VoIP端末20に対して入力操作を可能とする。入力部24は、例えばキーボードやマウス、その他の入力装置又はそれらの入力装置の組合せ等によって構成される。入力部24は、利用者による入力操作を受け付けてその入力操作内容に応じた信号をCPU21へ入力する。CPU21は、入力部24から入力された内容に応じた処理を行う。
表示部25は、CPU21の処理内容に応じた表示出力を行う。表示部25は、例えば液晶表示装置、有機エレクトロルミネセンス(Electro-Luminescence、EL)ディスプレイ、その他の表示装置等を用いて構成される。
【0030】
通信部26は、サーバ10との間でデータ伝送を行う。通信部16は、例えば無線を用いた通信を行うためのネットワークインターフェースカード(Network Interface Card、NIC)等の通信装置を有し、無線アクセスポイント30及びネットワーク回線Nを通じてサーバ10と通信を行う。
【0031】
音声入力部27は、外部からの音声入力を受け付けて符号化(データ化)し、符号化された音声データをCPU21へ入力する。音声入力部27は、例えばマイク等の集音装置(図示略)や、マイクに入力された音声を符号化する符号化処理部(図示略)等を有する。
音声出力部28は、サーバ10から受信した音声データを復号化して音声に戻し、当該音声を出力する。音声出力部28は、例えば音声データを復号化する復号化処理部(図示略)や、復号化された音声を出力するスピーカ(図示略)等を有する。
【0032】
図4は、サーバ10及びVoIP端末20のそれぞれが記憶するデータ、サーバ10及びVoIP端末20のそれぞれで実行されるプログラムならびにサーバ10とVoIP端末20との間で伝送されるデータを示す図である。
【0033】
まず、サーバ10のデータに関して説明する。
サーバ10の記憶部23は、電話帳管理ツール設定ファイル及びマスター電話帳ファイルを記憶する。
【0034】
図5は、電話帳管理ツール設定ファイルの内容の一例を示す図である。
電話帳管理ツール設定ファイルは、電話帳更新間隔と、パケット送信対象IPアドレス範囲と、を示すパラメータを含む。
電話帳更新間隔は、サーバ10から全てのVoIP端末20に対して応答を要請する時間の周期を示す。
パケット送信対象IPアドレス範囲は、複数のVoIP端末20のそれぞれに割り当てられるIPアドレスの範囲を示す。全てのVoIP端末20は、電話帳管理ツール設定ファイルのパケット送信対象IPアドレス範囲に設定されたIPアドレスの範囲内に含まれるIPアドレスのいずれかを割り振られる。それぞれのVoIP端末20に割り振られるIPアドレスは異なる。
【0035】
本実施形態では、それぞれのVoIP端末20に割り振られるIPアドレスは固定のIPアドレスであり、サーバ10とVoIP端末20との間の通信状態によらず一定である。VoIP端末20のそれぞれに対して割り当てるIPアドレスを動的に変更するようにしてもよい。
【0036】
図6は、マスター電話帳ファイルの内容の一例を示す図である。
マスター電話帳ファイルは、IPアドレスと、登録名称と、状態フラグと、を示すパラメータを含む。
IPアドレスは、それぞれのVoIP端末20に割り振られたIPアドレスを示す。登録名称は、それぞれのVoIP端末20に割り与えられた名称を示す。状態フラグは、それぞれのVoIP端末20について、最近行われた応答要請に対して応答があったか否かを示す。
【0037】
マスター電話帳ファイルは、複数のVoIP端末20のそれぞれに割り当てられたIPアドレスを含む電話帳データとして機能する。よって、記憶部23は、電話帳データ(マスター電話帳ファイル)を記憶する電話帳データ記憶手段として機能する。
また、電話帳管理ツール設定ファイルは、複数のVoIP端末20のそれぞれに割り当てられるIPアドレスの範囲を示す情報であるパケット送信対象IPアドレス範囲を含み、電話帳データ(マスター電話帳ファイル)の更新に用いる設定情報として機能する。よって、記憶部23は、設定情報(電話帳管理ツール設定ファイル)を記憶する設定情報記憶手段として機能する。
【0038】
また、サーバ10のCPU11は記憶部13に記憶された電話帳管理ツールプログラムを読み出して実行処理する。
電話帳管理ツールプログラムは、全てのVoIP端末20に対して応答を要請し、応答を要請されたVoIP端末20からの応答を検知し、応答の有無に基づいてマスター電話帳ファイルを更新する機能をサーバ10に与えるプログラムである。
【0039】
以下、電話帳管理ツールプログラムの動作について説明する。
サーバ10のCPU11は、まず、記憶部23から電話帳管理ツール設定ファイルを読み出し、電話帳更新間隔及びパケット送信対象IPアドレス範囲を取得する。
【0040】
次に、CPU11は、電話帳更新間隔に基づいて応答要請を行うタイミングを決定する。例えば、CPU11は、電話帳管理ツール設定ファイルを読み出した直後に最初の応答要請を行い、その後、最近行われた応答要請から電話帳更新間隔に設定された時間が経過するたびに応答要請を行う。上記の応答要請の実施タイミングは一例であり、最初の応答要請のタイミング及び電話帳更新間隔は、任意に設定することができる。
【0041】
CPU11は、VoIP端末20に対する応答要請として、所定のデータ(パケット)を全てのVoIP端末20に対して送信する。具体的には、CPU11は、通信部16を介して、パケット送信対象IPアドレス範囲に含まれるすべてのIPアドレスに対して所定のデータ(パケット)を送信する。なお、応答要請のための通信コマンドを設けてもよいし、既存の通信コマンドを応答要請に用いてもよい。
ここで、CPU11は、設定情報(電話帳管理ツール設定ファイル)に基づいて複数のVoIP端末20の全てに対して応答を要請する応答要請手段として機能する。
【0042】
VoIP端末20に対する応答要請後、CPU11は、応答を要請されたVoIP端末20からの応答を検知する。応答要請に対する応答を示す所定のデータ内容は予め定められており、CPU11は、通信部16を介して、VoIP端末20から応答を示す所定のデータ(パケット)を受信することで応答を検知する。
応答の検知には、制限時間が設けられている。CPU11は、予め設定された制限時間内に応答が検知されたVoIP端末20を、応答があったVoIP端末20とし、予め設定された所定時間内に応答が検知されなかったVoIP端末20を、応答がなかったVoIP端末20とする。応答の検知に用いる制限時間は、任意に設定することができる。
ここで、CPU11は、応答を要請されたVoIP端末20からの応答を検知する応答検知手段として機能する。
【0043】
応答の検知処理を終了すると、CPU11は、応答の有無に基づいてマスター電話帳ファイルを更新する。本実施形態の状態フラグは、応答の有無を示すフラグ値(0又は1)により管理され、応答がなかった場合0が、応答があった場合1が設定される。CPU11は、マスター電話帳に含まれるIPアドレスのうち、応答を検知したIPアドレスと対応付けられたフラグ値を1とし、応答を検知しなかったIPアドレスと対応付けられたフラグ値を0とする。
つまり、マスター電話帳ファイルは、それぞれのVoIP端末20のIPアドレス、名称及び最近の応答要請に対する有無を対応付ける。
ここで、CPU11は、応答の有無に基づいて電話帳データ(マスター電話帳ファイル)を更新する電話帳データ更新手段として機能する。
【0044】
なお、本実施形態では、パケット送信対象IPアドレス範囲に含まれるIPアドレスのうち一つに対して応答要請を行い、応答の検知を行う処理を繰り返すことで全てのVoIP端末20に対して応答要請及び応答の検知を行うが、応答要請及び応答の検知を全てのVoIP端末20に対して一括して行うようにしてもよい。
また、フラグ値(0又は1)は一例であり、応答の有無を判別できる内容であれば何でもよい。
【0045】
次に、VoIP端末20のデータに関して説明する。
VoIP端末20の記憶部23は、電話帳ファイルを記憶する。電話帳ファイルの内容は、
図6に示すマスター電話帳ファイルと同様である。
【0046】
また、VoIP端末20のCPU21は記憶部23に記憶されたVoIPソフトウェアを読み出して実行処理する。
VoIPソフトウェアは、サーバ10からの応答要請に対して応答を行う機能をVoIP端末20に与えるプログラムである。CPU21は、通信部26を介してサーバ10から応答要請のデータ(パケット)を受信すると、通信部26を介して応答を示す所定のデータ(パケット)をサーバ10へ送信する。
【0047】
次に、マスター電話帳ファイルの更新後の処理について説明する。
マスター電話帳ファイルの更新後、サーバ10のCPU11は、複数のVoIP端末20のそれぞれに更新されたマスター電話帳ファイルを取得させるための処理を行う。
【0048】
まず、サーバ10のCPU11が、通信部16を介して、パケット送信対象IPアドレス範囲に含まれるすべてのIPアドレスに対してマスター電話帳ファイルが更新されたことを示すデータ(更新フラグデータ)をブロードキャスト送信する。
ここで、CPU11は、電話帳データ(マスター電話帳ファイル)の更新後に複数のVoIP端末20のそれぞれに対して電話帳データ(マスター電話帳ファイル)の更新を通知する更新通知手段として機能する。
【0049】
VoIP端末20のCPU21は、通信部26を介して更新フラグデータを受信すると、電話帳ファイルを更新するための処理を行う。具体的には、CPU21が、サーバ10のマスター電話帳ファイル取得のための通信要求を行う。ここで、CPU21及び通信部26は、更新通知(更新フラグデータ)を受信する更新通知受信手段として機能する。
サーバ10は、VoIP端末20からマスター電話帳ファイル取得のための通信要求を受けると、CPU11が、当該通信要求に対する応答を行う。マスター電話帳ファイル取得のための通信要求及びその応答は、それぞれ所定の内容のデータ(パケット)により行われる。
【0050】
VoIP端末20は、マスター電話帳ファイル取得のための通信要求に対する応答を受信すると、CPU21が、サーバ10からマスター電話帳ファイルを取得する。具体的には、サーバ10がVoIP端末20へマスター電話帳ファイルを送信し、CPU21は、サーバ10から送信されたマスター電話帳ファイルを受信(ダウンロード)する。ここで、サーバ10のCPU11及び通信部16は、電話帳データ(マスター電話帳ファイル)の更新後に複数のVoIP端末20のそれぞれに更新された電話帳データ(マスター電話帳ファイル)を送信する電話帳データ送信手段として機能する。また、VoIP端末20のCPU21及び通信部26は、サーバから送信された電話帳データ(マスター電話帳ファイル)を受信する電話帳データ受信手段として機能する。また、CPU21は、更新通知(更新フラグデータ)を受信した場合、通信を介して電話帳データ(マスター電話帳ファイル)を情報処理装置(サーバ10)から取得する電話帳データ取得手段として機能する。
マスター電話帳ファイルの取得を完了すると、CPU21は、主得したマスター電話帳ファイルにより記憶部23に記憶された電話帳ファイルを上書き更新する。なお、マスター電話帳ファイルと電話帳ファイルのファイル形式は同一であり、マスター電話帳データの取得及び上書き更新により、マスター電話帳ファイルと電話帳ファイルとは同一となる。
【0051】
また、マスター電話帳ファイルの取得を完了すると、CPU21は、通信部26を介してマスター電話帳ファイルの取得完了を示すデータ(パケット)をサーバ10へ送信する。
【0052】
なお、サーバ10は、いずれかのVoIP端末20からVoIP端末20からマスター電話帳ファイル取得のための通信要求を受けると、そのVoIP端末20からマスター電話帳ファイルの取得完了を示すデータ(パケット)を受信するまで、マスター電話帳ファイルの更新を禁止するための処理を行う。つまり、いずれかのVoIP端末20がマスター電話帳ファイルの取得を行っている間、マスター電話帳ファイルの更新は行われない。サーバ10は、マスター電話帳ファイルの取得のための通信要求を送信してきた全てのVoIP端末20からマスター電話帳ファイルの取得完了を示すデータ(パケット)を受信すると、マスター電話帳ファイルの更新禁止を解除する。
【0053】
また、本実施形態では、最近の応答要請に対する応答の検知の有無が変化したVoIP端末20があった場合、即ちフラグ値の変更を生じたIPアドレスが一つ以上あった場合、サーバ10は、更新フラグデータの送信を行うが、応答の検知の有無に関わらず応答要請及び応答の検知完了後に自動的にマスター電話帳ファイルをVoIP端末20に取得させるようにしてもよい。
【0054】
本実施形態において、電話帳ファイルの更新に係る処理は、サーバ10の電話帳管理ツール及びVoIP端末20のVoIPソフトウェアにより担われる。電話帳ファイル更新のためのソフトウェアをサーバ10、VoIP端末20又はその両方に別途設けてもよい。
【0055】
VoIP端末20は、電話帳ファイルに基づいて他のVoIP端末20を発呼することができる。入力部24を介した入力等により発呼を行う旨の入力がなされた場合、CPU21は他のVoIP端末20を発呼するための処理を行う。発呼に係る処理は、VoIPソフトウェアにより担われる。発呼のためのソフトウェアをVoIP端末20に別途設けてもよい。
【0056】
発呼に係り、CPU21は、まず、記憶部23から電話帳ファイルを読み出す。次に、CPU21は、電話帳ファイルに含まれるIPアドレスのうち、最近の応答要請に対して応答があったIPアドレス即ちフラグ値が1であるIPアドレスのいずれか一つを取得する。そして、CPU21は、取得したIPアドレスのVoIP端末20を発呼する処理を行う。
【0057】
他のVoIP端末20から発呼を受けたVoIP端末20のCPU21は、発呼を受けた旨を報知するための処理を行う。当該報知は、例えば、所定の呼び出し音を音声出力部28から出力する音声報知や、発呼を受けた旨を示す表示を表示部25により行う表示通知、図示しないバイブレーター用電動機(モータ)を駆動することによりVoIP端末20を振動させることによる通知やこれらの組合せ等により行われる。
発呼を受けたVoIP端末20に対して、入力部24を介した入力等により発呼を受ける旨の入力がなされると、発呼を受けたVoIP端末20のCPU21は、当該VoIP端末20を発呼したVoIP端末20に対して発呼を受け付けた旨の応答(発呼応答)を行う。
【0058】
他のVoIP端末20を発呼したVoIP端末20が発呼応答を受けると、発呼したVoIP端末20と発呼を受けたVoIP端末20のCPUはそれぞれ、発呼したVoIP端末20と発呼を受けたVoIP端末20との間で音声通話を行うための処理(音声通話処理)を行う。音声通話処理はVoIPソフトウェアにより担われる。音声通話処理のためのソフトウェアをVoIP端末20に別途設けてもよい。
【0059】
音声通話処理では、音声入力部27を介して音声データが入力されると、CPU21は、音声通話処理を行っている他のVoIP端末20に対して当該音声データを送信する。他のVoIP端末20から音声データを受信すると、CPU21は、音声出力部28に音声データを復号化させ、音声出力を行わせる。
音声通話処理を行っているVoIP端末20の少なくともいずれか一方において音声通話処理を終了させる旨の入力がなされると、双方のVoIP端末20は音声通話処理を終了する。
【0060】
VoIP端末20は、電話帳データに基づいて他のVoIP端末20を所定の順序で順次発呼する。具体的には、音声通話処理が終了すると、他のVoIP端末20を発呼した側のVoIP端末20のCPU21は、電話帳データのうち発呼開始後にまだ発呼していないIPアドレスであって最近の応答要請に対して応答したIPアドレスを特定し、特定されたIPアドレスのVoIP端末20を自動的に発呼する。
発呼の順番は、電話帳ファイルに設定されているIPアドレスの番号の順序(例えば昇順、降順等)や、登録名称に基づく順序(例えば読みやアルファベット表記の昇順、降順等)に基づいてもよいし、他の何らかの条件によって決定されてもよい。順次行われる発呼は、電話帳ファイルに含まれる全てのIPアドレスのうち最近の応答要請に対して応答した全てのIPアドレスに対して行ってもよいし、発呼中断を指示する入力を受けた場合に発呼を中断するようにしてもよい。
【0061】
このように、CPU21は、電話帳データ(マスター電話帳ファイルにより更新された電話帳ファイル)に基づいて他のVoIP端末20を所定の順序で順次発呼する発呼手段として機能する。
発呼及び音声通話に係るVoIP端末20同士の間のデータの送受信は、サーバ10を経由して行ってもよいし、VoIP端末20同士の間で行うようにしてもよい。
なお、
図4では、一つのVoIP端末20についてサーバ10との間のデータのやりとりを示しているが、実際には全てのVoIP端末20が同様のデータのやり取りを行う。
【0062】
以下、フローチャートを用いて、通信システム1の動作の流れを示す。
図7は、サーバ10によるマスター電話帳ファイル更新処理の流れを示すフローチャートである。
サーバ10のCPU11は、まず、記憶部23から電話帳管理ツール設定ファイルを読み出し(ステップS1)、電話帳更新間隔及びパケット送信対象IPアドレス範囲を取得する。次に、CPU11は、電話帳更新間隔に基づいて、応答要請を行うタイミングを迎えたか否かを判定し(ステップS2)、応答要請を行うタイミングを迎えていない場合(ステップS2:NO)、待機する(ステップS3)。
【0063】
ステップS2の処理において、応答要請を行うタイミングを迎えた場合(ステップS2:YES)、CPU11は応答要請及び応答の検知処理を行う(ステップS4)。
【0064】
ここで、
図7のステップS4に示す応答要請及び応答の検知処理について、
図8のフローチャートを用いて説明する。
CPU11は、応答要請を行うための所定のデータ(パケット)を生成する(ステップS11)。次に、CPU11は、パケット送信対象IPアドレス範囲に含まれるIPアドレスのうち一つに対して応答要請のための所定のデータ(パケット)を送信する(ステップS12)。その後、CPU11は、制限時間内にVoIP端末20から応答を示す所定のデータ(パケット)を受信したか否かをチェックする(ステップS13)。制限時間内にVoIP端末20から応答を示す所定のデータ(パケット)を受信した場合(ステップS13:YES)、そのIPアドレスと対応付けるフラグ値を1として、RAM12に一時的に生成したテンポラリファイルに記憶させる(ステップS14)。一方、ステップS13において制限時間内にVoIP端末20から応答を示す所定のデータ(パケット)を受信しなかった場合(ステップS14:YES)、そのIPアドレスと対応付けるフラグ値を0として、テンポラリファイルに記憶させる(ステップS15)。ステップS14、ステップS15におけるテンポラリファイルへの記憶において、一つのIPアドレスと当該IPアドレスのフラグ値とが1レコードとして扱われる。
【0065】
ステップS14又はステップS15の処理後、CPU11は、パケット送信対象IPアドレス範囲に含まれる全てのIPアドレスに対して応答要請を行ったか否かをチェックする(ステップS16)。パケット送信対象IPアドレス範囲に含まれる全てのIPアドレスに対して応答要請を行っていない場合(ステップS16:NO)、まだ応答要請を行っていないIPアドレスについて、ステップS12の処理を行う。一方、ステップS16においてパケット送信対象IPアドレス範囲に含まれる全てのIPアドレスに対して応答要請を行った場合(ステップS16:YES)、CPU11は応答要請及び応答の検知処理を終了する。
【0066】
応答の検知処理の終了後、CPU11は、どのVoIP端末20からもマスター電話帳ファイルのダウンロードが行われていないか否かをチェックする(ステップS5)。どのVoIP端末20からもマスター電話帳ファイルのダウンロードが行われていないか否かのチェックは、マスター電話帳ファイルの取得のための通信要求を送信してきた全てのVoIP端末20からマスター電話帳ファイルの取得完了を示すデータ(パケット)を受信したか否かに基づく。
ステップS5において、いずれかのVoIP端末20によりマスター電話帳ファイルのダウンロードが行われていた場合(ステップS5:NO)、ダウンロードを行っている全てのVoIP端末20についてマスター電話帳ファイルのダウンロードが完了するまで待機する(ステップS6)。一方、ステップS5において、どのVoIP端末20からもマスター電話帳ファイルのダウンロードが行われていない場合、CPU11は、マスター電話帳ファイルの更新処理を行う(ステップS7)。
【0067】
ここで、
図7のステップS7に示すマスター電話帳ファイルの更新処理について、
図9のフローチャートを用いて説明する。
CPU11は、テンポラリファイルから1レコード読み込み(ステップS21)、マスター電話帳ファイルに含まれるIPアドレスのうち、当該レコードに含まれるIPアドレスと同一のIPアドレスのフラグ値を、当該レコードのフラグ値で上書きする(ステップS22)。
次に、CPU11は、テンポラリファイルの全レコードを読み込んだか否かチェックする(ステップS23)。テンポラリファイルの全レコードを読み込んでいない場合(ステップS23:NO)、CPU11は、まだ読み込んでいないレコードについて、ステップS21の処理を行う。一方、ステップS23においてテンポラリファイルの全レコードを読み込んだ場合(ステップS23:YES)、CPU11はテンポラリファイルを削除する(ステップS24)。そして、CPU11は、マスター電話帳ファイルのフラグ値が1つ以上変更されたか否か判定する(ステップS25)。マスター電話帳ファイルのフラグ値が1つ以上変更された場合(ステップS25:YES)、CPU11はパケット送信対象IPアドレス範囲に含まれるすべてのIPアドレスに対して更新フラグデータを送信する(ステップS26)。ステップS26の処理後又はステップS25においてマスター電話帳ファイルのフラグ値が1つも変更されていない場合(ステップS25:NO)、CPU11は処理を終了する。
マスター電話帳ファイルの更新処理を以って、CPU11はマスター電話帳ファイル更新処理を終了する。
【0068】
次に、VoIP端末20の処理の流れについて、
図10及至
図12のフローチャートを用いて説明する。
図10は、サーバ10からの応答要請に対する応答処理の流れを示すフローチャートである。
VoIP端末20のCPU21は、通信部26を介してサーバ10から応答要請のデータ(パケット)を受信すると(ステップS31:YES)、通信部26を介して応答を示す所定のデータ(パケット)をサーバ10へ送信する(ステップS32)。
本実施形態では、ステップS31に示す応答要請の受信検知は、VoIP端末20の電源が入っている間は常に行われており、電源が切られない限り(ステップS33:NO)、ステップS32の処理後又は応答要請の受信が検知されない場合(ステップS31:NO)、ステップS31の処理に戻る。VoIPの電源が切られると(ステップS33:YES)、応答要請に対する応答処理は終了する。
【0069】
図11は、電話帳ファイルの更新処理の流れを示すフローチャートである。
VoIP端末20のCPU21は、更新フラグデータを受信したか否かを判定する(ステップS41)。更新フラグデータを受信した場合(ステップS41:YES)、CPU21は、サーバ10のマスター電話帳ファイル取得のための通信要求を行う(ステップS42)。その後、CPU21は、サーバ10からステップS42の通信要求に対する応答があるまで(ステップS43:NO)待機し(ステップS44)、通信要求に対する応答が得られた場合(ステップS43:YES)、CPU21はサーバ10からマスター電話帳ファイルをダウンロードする(ステップS45)。マスター電話帳ファイルのダウンロードが完了するまで(ステップS46:NO)、CPU21はマスター電話帳ファイルのダウンロードを続ける。ステップS46において、マスター電話帳ファイルのダウンロードが完了した場合(ステップS46:YES)、CPU21は、マスター電話帳ファイルにより電話帳ファイルを更新する(ステップS47)。そして、CPU21は、マスター電話帳ファイルの取得完了を示すデータ(パケット)をサーバ10へ送信する(ステップS48)。
本実施形態では、ステップS41に示す更新フラグデータの受信検知は、VoIP端末20の電源が入っている間は常に行われており、電源が切られない限り(ステップS49:NO)、ステップS48の処理後又は更新フラグデータの受信が検知されない場合(ステップS41:NO)、ステップS41の処理に戻る。VoIPの電源が切られると(ステップS49:YES)、電話帳ファイルの更新処理は終了する。
【0070】
図12は、他のVoIP端末20への発呼処理の流れを示すフローチャートである。
VoIP端末20のCPU21は、記憶部23から電話帳ファイルを読み出す(ステップS51)。次に、CPU21は、電話帳ファイルに含まれるIPアドレスのうち、最近の応答要請に対して応答があったIPアドレス即ちフラグ値が1であるIPアドレスのいずれか一つを取得する(ステップS52)。そして、CPU21は、取得したIPアドレスのVoIP端末20を発呼する(ステップS53)。
【0071】
発呼したVoIP端末20から発呼応答を受けた場合(ステップS54:YES)、CPU21は、音声通話処理を行う(ステップS55)。その後、音声通話処理を行っているVoIP端末20の少なくともいずれか一方において音声通話処理を終了させる旨の入力がなされるまで(ステップS56:NO)、CPU21はステップS55の音声通話処理を継続する。ステップS56において音声通話処理を終了させる旨の入力がなされると(ステップS56:YES)、CPU21は音声通話処理を終了する(ステップS57)。
【0072】
ステップS57の終了後又はステップS54において発呼したVoIP端末20から発呼応答を受けなかった場合(ステップS54:NO)、CPU21は、電話帳データのうち発呼開始後にまだ発呼していないIPアドレスであって最近の応答要請に対して応答したIPアドレスがあるか否か判定する(ステップS58)。発呼したVoIP端末20から発呼応答を受けなかった場合とは、発呼応答を受ける前に発呼を行ったVoIP端末20に対して現在発呼対象としている他のVoIP端末20に対する発呼を終了させる旨の入力がなされた場合や、発呼の対象となったVoIP端末20から発呼を拒否する旨の応答があった場合、予め定められた所定の時間(スキップ時間)が経過しても発呼応答を受けない場合等が挙げられる。
ステップS58において、電話帳データのうち発呼開始後にまだ発呼していないIPアドレスであって最近の応答要請に対して応答したIPアドレスがある場合(ステップS58:YES)、CPU21は電話帳データのうち発呼開始後にまだ発呼していないIPアドレスであって最近の応答要請に対して応答したIPアドレスについて、ステップS52の処理を行う。一方、ステップS58において、電話帳データのうち発呼開始後にまだ発呼していないIPアドレスであって最近の応答要請に対して応答したIPアドレスがない場合(ステップS58:NO)、CPU21は他のVoIP端末20への発呼処理を終了する。
【0073】
以上のように、本実施形態の通信システム1によれば、サーバ10のCPU11は全てのVoIP端末20に対して応答を要請し、VoIP端末20による応答を検知してその応答の有無に基づいてマスター電話帳ファイルを更新する。
これによって、VoIP端末20で用いられる電話帳ファイルの元となるマスター電話帳ファイルに、それぞれのVoIP端末20の応答の有無即ち最近の通信状態(通信可能又は通信不可能)を反映することができる。
そして、マスター電話帳ファイルの更新後、サーバ10は、複数のVoIP端末20のそれぞれに更新されたマスター電話帳ファイルを送信する。これによって、VoIP端末20は更新されたマスター電話帳ファイルを受信することができ、マスター電話帳ファイルに基づいて電話帳ファイルが更新されるので、VoIP端末20は、それぞれのVoIP端末20の最近の通信状態を反映した電話帳ファイルを用いて発呼を行うことができる。つまり、最近の応答要請に対して応答をしなかったVoIP端末20即ち現在通信を行うことができない可能性の高いVoIP端末20に対する発呼を行わず、最近の応答要請に対して応答をしたVoIP端末20即ち現在通信を行うことができる可能性の高いVoIP端末20に対してのみ発呼を行うことができる。よって、VoIP端末を用いた音声通信における発呼の効率をより向上させることができる。
【0074】
さらに、サーバ10のCPU11は、更新フラグデータを送信して電話帳データの更新後に複数のVoIP端末20のそれぞれに対してマスター電話帳ファイルの更新を通知する。そして、VoIP端末20は、更新フラグデータを受信した場合、サーバ10からマスター電話帳ファイルを取得し、電話帳ファイルを更新する。
これによって、VoIP端末20の電話帳ファイルの更新の動作主体をそれぞれのVoIP端末20にすることができ、サーバ10の処理負担を軽減させることができる。また、更新フラグデータを受信可能な、通信可能な状態にあるVoIP端末20が自発的にダウンロードをすることで、受信されるかどうか不明な状態でマスター電話帳ファイルの配信をサーバ10にさせる等の処理を行わずに済むので、サーバ10の処理負担及び通信回線の負荷を軽減させることができる。
【0075】
さらに、電話帳管理ツール設定ファイルは、その内容にサーバ10から全てのVoIP端末20に対して応答を要請する時間の周期を示す情報である電話帳更新間隔を含む。これによって、サーバ10による応答要請を周期的に実施させることができる。また、電話帳更新間隔は任意に変更可能であることから、応答要請の周期を任意に決定することができる。
【0076】
さらに、VoIP端末20のCPU21は、電話帳ファイルに基づいて他のVoIP端末20を所定の順序で順次発呼する。
これによって、個別に発呼の対象とする他のVoIP端末20を指定せずとも自動的に順次他のVoIP端末20に対する発呼が行われるので、VoIP端末を用いた音声通信における発呼の効率をより向上させることができる。
【0077】
なお、本発明は、上記の各実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
【0078】
例えば、マスター電話帳ファイルの更新後、マスター電話帳ファイルの配信をサーバ10に行わせてもよい。この場合、複数のVoIP端末20のそれぞれに更新されたマスター電話帳ファイルを取得させるための処理として、サーバ10のCPU11がマスター電話帳ファイルの送信要求をVoIP端末20に対して行い、当該送信要求に対する応答があったVoIP端末20に対してマスター電話帳ファイルを転送する。この場合でも、上記の実施形態と同様の効果を得られる。
【0079】
また、サーバ10からの応答要請に対する応答に、応答を行うVoIP端末20の情報を含めるようにしてもよい。例えば、応答要請をなされたVoIP端末20が応答として送信するデータが、そのVoIP端末20のIPアドレス及び登録名称を含む場合等が挙げられる。この場合、サーバ10のCPU11は、応答に含まれるIPアドレス及び登録名称を用いて新たなマスター電話帳ファイルを生成することができるので、マスター電話帳ファイルに含まれるIPアドレスを割り振られたVoIP端末20は全て最近の応答要請に対して応答を行ったVoIP端末20となる。つまり、マスター電話帳ファイルそのものが現在通信可能である可能性が高いVoIP端末20を示す情報となる。このため、フラグ値を用いなくてもよいので、マスター電話帳ファイルのデータ量を低減させることができる。加えて、現在通信不可能な状態にあるVoIP端末20に係る情報を含まないマスター電話帳ファイルを生成することができるので、マスター電話帳ファイルのデータ量をより低減させることができる。
【0080】
また、マスター電話帳ファイル及び電話帳ファイルに含まれる複数のVoIP端末20のそれぞれに割り当てられたIPアドレスのうち一部又は全部について、それぞれのVoIP端末20の所属を示す所属情報を付加してもよい。
【0081】
図13は、所属情報を付加したマスター電話帳ファイル(電話帳ファイル)の内容の一例を示す図である。なお、
図13はフラグ値を含まないマスター電話帳ファイル(電話帳ファイル)の場合について説明しているが、フラグ値を含んでもよい。
図13に示すように、マスター電話帳ファイルは、それぞれのVoIP端末20の所属を示す情報を含んでいる。
図13に示す例では、所属として「用途」と「グループ」とを設け、さらに「用途」の中で「発注用」及び「状況確認用」の分類を行い、「グループ」の中で「開発部」及び「知的財産部」の分類を行い、それぞれのVoIP端末20のIPアドレス及び登録名称について、そのVoIP端末20に係る所属にフラグ値(1)を立てているが、あくまで一例であり、それぞれのVoIP端末20の所属を判別可能なデータ構成であればその形式は問わない。
なお、
図13では、全てのIPアドレスが何らかの所属に含まれているが、どの所属にも含まれないIPアドレスがあってもよい。
【0082】
また、マスター電話帳ファイル及び電話帳ファイルを複数の所属(又は複数の所属内の分類等)のそれぞれについて個別に設けてもよい。
この場合、電話帳管理ツール設定ファイルも複数の所属のそれぞれについて個別に設けることで、それぞれのマスター電話帳ファイルの更新及び電話帳ファイルの更新を、所属ごとに独立して行うことができる。
【0083】
そして、所属を含む電話帳ファイルを有するVoIP端末20は、所属に基づいて発呼を行うことができる。例えば、ある一つの所属に含まれるVoIP端末20のみに対して順次発呼を行うこと等が挙げられる。
このように、マスター電話帳ファイル及び電話帳ファイルに、それぞれのVoIP端末20の所属を示す所属情報を付加することで、VoIP端末20は、所属に基づいて発呼を行うことができるので、発呼を順次行う対象とする他のVoIP端末20を所属に基づいて決定することができる。
【0084】
また、VoIP端末20に対する入力により、発呼を行うVoIP端末20の所属を選択することができるようにしてもよい。例えば、表示部25により電話帳ファイルに設定された所属を一覧表示し、入力部24を介してユーザによる所属の選択指示を受け付けるようにする仕組み等が考えられる。この場合、CPU21は、選択された所属に含まれる他のVoIP端末20を順次発呼する。ここで、入力部24は、所属を選択する所属選択手段として機能する。
これによって、ユーザは発呼を行うVoIP端末20の所属を任意に選択することができ、必要に応じた発呼の対象選定を容易に行うことができる。
【0085】
また、何らかの理由によりマスター電話帳ファイルの取得にエラーを生じたVoIP端末20からマスター電話帳ファイルの取得完了を示すデータ(パケット)が送られてこない場合等を考慮し、最後にマスター電話帳ファイルの取得のための通信要求を受信したときから所定の待機時間を経過した場合にはマスター電話帳ファイルの更新禁止を解除する等の例外処理を設けてもよい。
【0086】
また、VoIP端末20が発呼を行うとき、発呼前に電話帳ファイルの更新を行うようにしてもよい。この場合、発呼を行う必要が生じたときに電話帳ファイルの更新を行うことで、常に最新の電話帳ファイルに基づく発呼を行うことができる。また、それぞれのVoIP端末20の発呼のタイミングがばらつくことにより、電話帳ファイルの更新に係る通信の負荷を分散させることができる。
【0087】
また、サーバ10はマスター電話帳ファイルの更新後、更新フラグデータを定期的に配信するようにしてもよい。定期的な更新フラグデータの配信を予め定められた所定期間に限定してもよい。
また、上記の実施形態では、パケット送信対象IPアドレス範囲に含まれるすべてのIPアドレスに対して更新フラグデータを送信しているが、最近の応答要請に対する応答があったVoIP端末20のIPアドレスに限定してもよい。
その他、本発明の趣旨を逸脱しない範囲において、上記の実施形態の各構成は適宜変更することができる。