JP2007150841A - 電話交換システム及び電話交換方法及び電話交換プログラム - Google Patents

電話交換システム及び電話交換方法及び電話交換プログラム Download PDF

Info

Publication number
JP2007150841A
JP2007150841A JP2005343937A JP2005343937A JP2007150841A JP 2007150841 A JP2007150841 A JP 2007150841A JP 2005343937 A JP2005343937 A JP 2005343937A JP 2005343937 A JP2005343937 A JP 2005343937A JP 2007150841 A JP2007150841 A JP 2007150841A
Authority
JP
Japan
Prior art keywords
terminal
group
information
storage area
call
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005343937A
Other languages
English (en)
Other versions
JP4037432B2 (ja
Inventor
Mitsuo Yae
光男 八重
Kikuo Miura
喜久夫 三浦
Tadakazu Uejima
督和 上島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Comware Corp
Original Assignee
NTT Comware Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Comware Corp filed Critical NTT Comware Corp
Priority to JP2005343937A priority Critical patent/JP4037432B2/ja
Publication of JP2007150841A publication Critical patent/JP2007150841A/ja
Application granted granted Critical
Publication of JP4037432B2 publication Critical patent/JP4037432B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】ソフトスイッチ等の集中システム(中継交換機)を用いず、複数のIP電話端末等の端末間で通話ネットワークを構成して通話を行う電話交換システムを提供する。
【解決手段】本発明の電話交換システムは、ネットワークに接続された複数の端末が、固有情報及び通信状態を示す端末情報を共有するグループを形成し、各グループ毎に、同一のグループに属する端末の端末情報を格納する共有記憶領域を複数の端末に設け、端末の編入又は離脱を含む端末状態の遷移による端末情報の変更毎に、共有記憶領域の情報の同期を取り、着呼先が発呼元と同一グループか否かを検出し、着呼先が同一グループの場合、グループ内の共有記憶領域で着呼先の通信情報を検出し、着呼先が異なるグループの場合、着呼先の端末の属するグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出し、この通信情報により着呼先の端末と通話処理を実行する。
【選択図】図1

Description

本発明は、ソフトスイッチ等の集中システム(中継交換機)を用いずに、複数のIP(Internet Protocol Address)電話端末等の端末装置(以下、端末)間で通話ネットワークを構成して通話を行う電話交換システム及び電話交換方法及び電話交換プログラムに関する。
従来、複数の端末からなるグループに設けられ、グループ内の端末間において、共有する情報(共有データ)を記憶する共有メモリ上に格納されたデータの整合性を保証するための技術が知られている。ここで、共有メモリとは、各端末それぞれに、各々共有記憶領域として存在し、グループ内において同一の共有データが各々記憶されている。
例えば、特許文献1には、複数の端末における処理の負荷の軽減を図りながら、各端末に格納されている共有データの整合性を保持するデータ共有方法が開示されている。
この発明によれば、まずネットワークを介して相互に接続された複数の端末によってデータを共有するグループを構成する。
そして、グループ内で共有する基本データおよびグループ内の各端末に関するメンバーデータを含んだ共有データにおいて、基本データに更新が発生した場合、予め定められた所定の決定方法にしたがって、更新に関する更新情報をグループ内の各端末に対して同報送信をデータ更新端末が行う。
また、共有データにおいて、メンバーデータの更新に際しての同報は、グループ内の各端末,窓口端末及び他の端末を監視している端末が行う(実施形態に詳細に記述)。
各端末は、この同報端末に更新情報を送信し、同報端末により、共有データにおける更新情報をグループの各メンバーである端末に対して同報送信する。
ここで、各端末は、更新情報とともに、更新情報に対応する判別用番号を同報端末に送信する。一方、更新情報とともに、判別用番号を受信すると、同報端末は、受信する判別用番号よりも大きな判別用番号を新たな判別用番号とし、更新情報を同報送信する。ただし、このとき、同報端末は、受信した判別用番号と記憶している判別用番号とを比較し、受信した判別用番号の方が大きい場合に、同報送信する。
一方、各端末は、更新情報および新たな判別用番号を受信し、新たな判別用番号と記憶している判別用番号とを比較し、新たに受信した判別用番号が記憶している判別用番号よりも大きい場合、更新情報により共有データを更新する
したがって、各端末に格納されている共有データの整合性を保持しつつ、各端末の処理負荷を軽減することができる。
特開2001−331469号公報
一方、近年、VoIP(Voice over IP)を利用したIP電話端末が普及しつつある。IP電話端末間のルーティング処理は、ソフトスイッチによって仲介される。
ソフトスイッチは、管理するIP電話端末のSIP(Session Initiation Protocol)URL(アドレスデータベース)を保有し、各IP電話端末は、起動時にソフトスイッチにアクセスすることで、自IPアドレスを登録する。
IPアドレスの登録後、相手のIP電話端末(着信側)をコールする場合、発信側のIP電話端末は、ソフトスイッチにアクセスすることで相手のIP電話端末のIPアドレスをSIP URLから取得し、リクエストを送信する。
相手のIP電話端末がこのリクエストに対して応答すると、それ以後は、ソフトスイッチを介さずに発呼側、着呼側のIP電話端末間で直接データストリーミングを開始することで音声通話を実現する。
すなわち、ソフトスイッチにおいては、IP電話端末の起動/終了時のSIP URLへのアドレス登録処理、通話の際のコネクション接続制御処理、転送電話の際の相手のIP電話端末の応答状態監視処理等の処理が実施される。また、アドレス登録や端末監視処理については、各要求ごとにソフトウェアによる並列処理が実施される。
このように、現状ではVoIPを実現するにあたり、ソフトスイッチのような集中システムを採用している。なぜ集中システムを使用するかというと、通信サービスは発呼側のIP電話端末と着呼側のIP電話端末とが連動して制御される必要があるためである。
すなわち、集中システムは、発呼側及び着呼側のIP電話端末の状態を管理し、これに連動した呼処理(相手が話中である場合はこの着信電話を転送する等)を発呼側及び着呼側のIP電話端末において実現するためには不可欠なものとなっている。
しかし、集中システムにおいて、実現すべきサービスが高度化(会議電話、留守番電話、保留転送機能)すると、発呼側及び着呼側のIP電話端末が連動して実行すべき呼処理の内容がより複雑になる。
すると、一つ一つのサービスを同時に集中して実現するためには、ソフトウェア構成が非常に複雑なものになってしまうという問題点がある。
すなわち、集中システムが一つのサービスを新たに実装するには、システム全体の大幅な性能劣化や運用上起こり得る問題などを引き起こし、開発から設備を含め多大なコストが発生する。このため、ネットワークの利用効率を上げることによるIP電話端末の低コストメリットよりも、開発コストや運用コストのデメリットが大きくなってしまうという問題点があった。
一方、既存の電話交換機等においては、この集中システムをサービス利用者数によって分割することで問題の解決を図っているが、この場合においては、新たに分割したシステム間の連動をどのようにして実現するかが問題となり、前述の問題を解決するには至っていない。
本発明は、このような事情を考慮してなされたものであり、その目的は、ソフトスイッチ等の集中システム(中継交換機)を用いずに、複数のIP電話端末等の端末間で通話ネットワークを構成して通話を行うことができる電話交換システム及び電話交換方法及び電話交換プログラムを提供することにある。
本発明(1)の電話交換システムは、ネットワークに接続された複数の端末が、各端末の固有情報及び通信状態を示す通信情報からなる端末情報を共有する、1つまたは複数の端末からなるグループを形成し、各グループ毎に、同一のグループに属する全ての端末の端末情報を格納する共有記憶領域が複数の端末に設けられ、端末の編入または離脱を含む端末状態の遷移により、グループに属する端末情報が変更される毎に、各グループ内の共有記憶領域の情報の同期を取るため、共有記憶領域に記憶されている端末情報の更新制御を行うネットワーク情報共有機能を有しており、前記各端末が、通話処理を行う際、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出手段と、着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出手段と、着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出手段と、検出された通信情報に基づき、着呼先の端末との間の通話処理を実行する通話処理手段とを有することを特徴とする
本発明(2)の電話交換システムは、前記グループ内着呼先端末状態検出手段及びグループ間着呼先端末状態検出手段が前記通信情報から着呼先が空き状態であることを検出すると、前記通話処理手段が着呼先の端末のグループの共有記憶領域に、通信情報として着呼情報を書き込むとともに、自身の通信情報として発信情報を書き込み、着呼先の端末の通話処理手段が前記着呼情報に基づき、自身の通信情報を変更することにより、相互の通話処理を行うことを特徴とする。
本発明(3)の電話交換システムは、共有記憶領域において各端末毎に、自身の端末情報を書き込む自端末情報記憶領域と、他の端末からみた通信状態を、該他の端末が端末情報として書き込む着信端末情報記憶領域とからなる状態テーブルが設けられていることを特徴とする。
本発明(4)の電話交換システムは、共有記憶領域において各端末毎に、端末が属するグループの全ての端末と、該端末のアドレスとが対応付けられたメンバテーブルが設けられていることを特徴とする。
本発明(5)の電話交換システムは、発呼元である端末が、通話処理において、着呼先の端末のグループに編入し、該着呼先の端末の着信端末情報記憶領域における通信情報欄に着呼情報として予約中の情報を書き込むことにより発呼処理を行うことを特徴とする。
本発明(6)の電話交換システムは、着呼先である端末が、自身の共有記憶領域の着信端末情報記憶領域における通信情報欄に、発呼元の端末の予約中の情報の書込を検出することにより、自身が着呼の受け状態にあることを検出することを特徴とする。
本発明(7)の電話交換システムは、発呼側が発呼中において、着呼側の着信端末情報記憶領域における通信情報欄に着呼情報として予約中の情報を書き込む際、あらかじめ設定されている所定の回数、予約中の情報の書き込み処理を行えなければ、呼の切断を行うことを特徴とする。
本発明(8)の電話交換システムは、発呼処理及び着呼処理の状態遷移後に、着呼側の共有記憶領域における自端末情報記憶領域及び着信端末情報記憶領域各々の経過時間を、着呼側及び発呼側双方が検出し、経過時間のずれが所定値を超えているか否かで呼の切断の有無を判定することを特徴とする。
本発明(9)の電話交換システムは、着信中のOFFフック期間において、着呼側が、自身の状態を変更してから計数した経過時間と、発呼側がOFFフック状態に変更するまでの経過時間とを検出して、経過時間の差が予め設定した時間を超えたか否かで呼の切断の有無の判定を行うことを特徴とする。
本発明(10)の電話交換システムは、着呼側が共有記憶領域の着信端末情報記憶領域における通信情報欄の発呼側の状態を参照し、自身への通話の状態でなくなったことを検出すると接続を切断することを特徴とする。
本発明(11)の電話交換システムは、端末がグループから離脱した際、該端末の情報が共有記憶部に残っている場合、所定の端末が共有記憶部から離脱した端末の情報を消去することを特徴とする。
本発明(12)の電話交換システムは、前記着呼先グループ検出手段が、発呼の処理の際に、前記着呼先の属するグループの識別番号を検出する処理を行うことを特徴とする。
本発明(13)の電話交換システムは、着呼先グループ検出手段が、着呼先の電話番号に対して所定の演算を行い、該演算結果としてグループの識別番号を求めることを特徴とする。
本発明(14)の電話交換システムは、着呼先グループ検出手段が、電話番号とグループの識別番号との対応表を有する端末管理サーバに問い合わせて、問い合わせ結果として、グループの識別番号を求めることを特徴とする。
本発明(15)の電話交換システムは、着呼先グループ検出手段が、グループ内の他の端末に対し、電話番号に対応するグループ番号を問い合わせて、問い合わせ結果として、グループの識別番号を求めることを特徴とする。
本発明(16)の電話交換システムは、着呼先グループ検出手段が、共有記憶部に記憶されている電話番号とグループ番号との対応表により、電話番号に対応したグループ番号を抽出し、抽出結果として、グループの識別番号を求めることを特徴とする。
本発明(17)の電話交換システムは、グループ内の各共有記憶領域の記憶内容の同期をとるため、共有記憶領域に記憶されている共有データの変更を検出して、各端末に変更内容を同報するデータ変更端末が設けられていることを特徴とする。
本発明(18)の電話交換システムは、前記データ変更端末が同報処理を行う毎に、グループ内の端末を順に次のデータ変更端末として設定することを特徴とする。
本発明(19)の電話交換システムは、前記データ変更端末の通知により、各端末がデータ変更端末の共有記憶領域のデータを読み込み、共有記憶領域の同期をとることを特徴とする。
本発明(20)の電話交換システムは、ネットワークに接続された複数の端末が、各端末の固有情報及び通信状態を示す通信情報からなる端末情報を共有する、1つまたは複数の端末からなるグループを形成し、各グループ毎に、同一のグループに属する全ての端末の端末情報を格納する共有記憶領域が複数の端末に設けられ、端末の編入または離脱を含む端末状態の遷移により、グループに属する端末情報が変更される毎に、各グループ内の共有記憶領域の情報の同期を取るため、共有記憶領域に記憶されている端末情報の更新制御を行うネットワーク情報共有機能を有する電話交換方法であり、前記各端末の行う通話過程が、通話処理を行う際、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出過程と、着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出過程と、着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出過程と、検出された通信情報に基づき、着呼先の端末との間の通話処理を実行する通話処理過程とを有する。
本発明(21)の電話交換システムは、ネットワークに接続された複数の端末が、各端末の固有情報及び通信状態を示す通信情報からなる端末情報を共有する、1つまたは複数の端末からなるグループを形成し、各グループ毎に、同一のグループに属する全ての端末の端末情報を格納する共有記憶領域が複数の端末に設けられ、端末の編入または離脱を含む端末状態の遷移により、グループに属する端末情報が変更される毎に、各グループ内の共有記憶領域の情報の同期を取るため、共有記憶領域に記憶されている端末情報の更新制御を行うネットワーク情報共有処理を有する電話交換をコンピュータに実行させるプログラムであり、前記各端末の行う通話処理が、通話処理を行う際、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出処理と、着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出処理と、着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出処理と、検出された通信情報に基づき、着呼先の端末との間の通話処理を実行する通話処理処理とを有するコンピュータの実行可能なプログラムである。
本発明(22)の端末は、ネットワークに接続された複数の端末が、各端末の固有情報及び通信状態を示す通信情報からなる端末情報を共有する、1つまたは複数の端末からなるグループを形成し、各グループ毎に、同一のグループに属する全ての端末の端末情報を格納する共有記憶領域が複数の端末に設けられ、端末の編入または離脱を含む端末状態の遷移により、グループに属する端末情報が変更される毎に、各グループ内の共有記憶領域の情報の同期を取るため、共有記憶領域に記憶されている端末情報の更新制御を行うネットワーク情報共有機能を有する電話交換システムに用いる端末であり、通話処理を行う際、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出手段と、着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出手段と、着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出手段と、検出された通信情報に基づき、着呼先の端末との間の通話処理を実行する通話処理手段とを有することを特徴とする。
以上説明したように、本発明によれば、各々の端末(例えば、IP電話端末)において、着呼先の端末の電話番号から、この端末の所属するグループ番号を求めて、着呼先を識別して、着呼先の端末と発呼元の端末(自端末)との間で回線を接続(確立)し、通話処理を実行するため、従来のIP電話のネットワークのように、ネットワーク間にソフトスイッチ等の中継交換機を介することなく、インターネット等の通信網を利用した電話通信網を構成することができ、網全体を安価に構成することが可能となる。
また、本発明によれば、ネットワークに接続されている端末において、単数または複数の端末によりグループを構成することにより、このグループに所属する端末に対し、共有記憶領域において電話通信に必要なデータを共有させることができ、グループに属する端末数を適正に制御することにより、共有記憶領域自体の記憶容量の大幅な増加を抑制させ、簡易にIP電話のシステムを構成させることができる。
本発明の電話交換システムは、図1に示すように、ネットワークに接続された複数の端末がグループを構成し、同一グループに参加(所属)している端末全ての固有情報及び通信情報からなる端末情報を共有するための共有記憶領域として、グループ内における共有メモリが設けられている。
また、この共有記憶領域は複数の端末に設けられ、例えば、全ての端末の記憶部に特定の領域として確保されている。
上記共有記憶領域は、各端末が各々有している異なるメモリ領域であるが、予め設定された、グループとなった端末間において共有される共有データが記憶され、他の端末の情報を読み込む際、他の端末の共有記憶領域からその情報が読み込まれ、自身の共有記憶領域に書き込まれる。
すなわち、共有記憶領域は、各端末の記憶部にそれぞれ設けられており、グループ内の各端末の通話処理に関して共有する必要のある共有データ(後に説明するメンバーテーブル及び状態テーブルなど)を記憶する領域として定義される。
上記共有記憶領域は、ネットワーク情報共有機能により、グループに属する端末の状態の遷移(参加,編入,離脱,故障など)によって、グループの端末情報(端末状態を示す情報、例えばメンバーテーブルや状態テーブルなどの記述)が変更となると、変更となった際に、共有記憶領域の対応する端末の端末情報(各端末が通信可能か否か、例えば他の端末と通信中であるか否かの通信状態を示す通信情報等からなる状態テーブル、及びグループに所属する端末を示すメンバーテーブルを少なくとも含む)が更新制御され、変更された内容に対応して同期が取られる。
ここで、参加は端末が自グループとなるグループに加わることを意味し、編入はすでにグループに参加している端末が他のグループに加わることを意味し、離脱は参加あるいは編入したグループから抜ける(グループのメンバーで無くなる)ことを意味し、故障は端末が通信を行う機能に障害を受けている状態を示している。
また、このグループ内に所属できる端末の数は、共有データを相互に読み出し及び書き込みが所定の時間内にて行われる範囲、また共有記憶領域として確保されるメモリ容量の上限から決定される。
また、上記各端末は、例えば、IP電話端末であり、通話処理を行う際、入力される電話番号から、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出部と、着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出部と、着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出部と、検出された通信情報に基づいて、着呼先の端末との間の通話処理を実行する通話処理手段とを有している。
これにより、本発明においては、発呼元の端末が中継交換機を介さずに、着呼先、すなわち通話先の端末の通信情報を、自身の記憶部にある共有記憶領域から読み出すことにより通信状態を取得し、通話可能な状態であることを検出した場合、発呼元の端末が自身の通信状態及び着呼先の端末の通信状態を変更することにより通話処理を行うことができる。
また、発呼元の各端末は、着呼先グループ検出部により、着呼先の端末の電話番号から、着呼先の端末のグループを所定の方法(後に述べる)により検出し、着呼先の端末が同一グループに所属していないことを検出した場合、通話処理部により着呼先の端末が所属するグループに編入する。
この結果、本発明においては、発呼側の端末が前述した集中システムの処理を、基本的に代行するため、複数の端末同士の通話処理を制御する複雑な接続処理を行う集中システムの必要が無くなる。
一方、本発明においては、発呼元となる各端末において、着呼先の端末の通信情報を処理する性能を保証することで、通話処理を行う通信サービス全体に参加する端末の総数が変動した場合においても、常に通話サービスに対して一定の品質及び性能等を保証することができる。
以下、本発明の一実施形態による電話交換システムを図面を参照して説明する。図1は同実施形態のネットワークの構成例を示すブロック図である。
この図において、ネットワークIに接続されている複数の端末A1〜A6,B1〜B6,C1〜C6,…が接続されており、複数の端末がグループを形成、すなわち、端末A1〜A6がグループA,端末B1〜B6がグループB,端末C1〜C6がグループCを形成している。
ここで、各端末(A1〜A6,B1〜B6,C1〜C6,…)は図2に示す構成となっている。図2は一実施形態における各端末の構成例を示すブロック図である。
通話処理部1は、通話処理にて生じる状態遷移、例えば、各グループに対して編入,参加,離脱などを含む端末状態の変化に対応して、共有記憶領域(本実施形態では状態テーブル及びメンバーテーブル)における発呼元(自身)及び着呼先の端末状態の書き替え処理を、グループに所属する(メンバーである)全端末の同期を取って行う。この同期を取ってグループ内の全ての端末が同期して、各々の共有記憶領域のデータの書き換えを行う処理については後に詳述する。
着呼先グループ検出部2は、着呼先の端末が発呼元の端末である自身と同一のグループに所属しているか否か、すなわち着呼先の端末が所属するグループを、着呼先の端末に付与されている電話番号から検出し、通話処理部1へ通知する。
グループ内着呼先端末状態検出部3は、上記着呼先グループ検出部2が着呼先の端末が、発呼元端末である自身と同一のグループに属していることを検出した場合、自身の属するグループの共有記憶領域に記憶されている着呼先の通信情報を参照して、着呼先の端末の通信状態を検出し、通話可能か否かを通話処理部1へ通知する。
グループ間着呼先端末状態検出部4は、上記着呼先グループ検出部2が着呼先の端末が、発呼元端末である自身と異なるグループに属していることを検出した場合、着呼先の端末が属するグループに参加した後、編入したグループの共有記憶領域に記憶されている着呼先の通信情報を参照して、着呼先の端末の通信状態を検出し、通話可能か否かを通話処理部1へ通知する。
記憶部5は、端子毎に設けられており、各端末における制御及び演算に必要なプログラムやデータが記憶されており、所定の容量の領域が、グループ内の端末で共有する共有データ(例えば、状態テーブル及びメンバーテーブルなどの全端末が通話処理を行うに際して常に同期する必要のあるデータ)を記憶する本実施形態における共有記憶領域として確保されている。
共有機能部6は、グループのメンバーである各端末の共有記憶領域に記憶されている端末情報の遷移にともない、グループにおける全ての端末における記憶部5の共有記憶領域に記憶されている共有データである端末情報の同期処理を行う。
ここで、グループ内の各端末の共有記憶領域にて同期をとるとは、上述したように、グループのメンバーである(所属する)各端末間における通信、すなわち通話処理に必要なデータを共有データとして、各端末間で同一内容の共有データを記憶している必要があるため、共有記憶領域に記憶されている共有データを、グループに所属する端末間で同一とする処理を行うことを示す。
また、他のグループに編入した端末は、参加している自グループの共有データを自グループの各端末と共有し、かつ編入した他グループの共有データを他グループの各端末と共有することとなる。
このとき、編入した端末の自グループの他の端末は他グループの共有データの共有を行わず、編入された他グループの端末は編入した端末の自グループの共有データの共有を行わない。
すなわち、グループAに参加している端末A1がグループBに編入した場合を例に取ると、端末A1はグループAに所属している他の端末と、グループAの状態テーブル及びメンバーテーブルを共有データとして共有し、かつ編入先のグループBの状態テーブル及びメンバーテーブルを共有データとして共有する。
しかしながら、端末A1以外のグループAの他の端末は、グループBの共有データをグループBに所属する端末(編入した端末A1を含む)と共有しない。
また、編入した端末A1以外のグループBの端末(グループBに参加している端末)は、グループAの共有データを共有しない。
<着呼先のグループ検出>
上述したように、発呼側の端末A1が着呼側の端末B1に電話をする際、発呼側の端末A1は、着呼側の端末の電話番号を入力して、着呼先グループ検出部により、この着呼側の端末が参加する共有記憶領域を共有するグループを識別して、グループ番号を得る。
上記着呼先グループ検出部2における着呼先の端末の所属するグループの検出は、着呼先グループ検出部2の処理において下記に示す方法のいずれを用いても良い。
A.着呼先の電話番号から所定の演算によって、一意に着呼先の端末の所属するグループ番号を求める。
B.着呼先の電話番号を専用サーバ(例えば、グループサーバ)に問い合わせて、検索結果として、着呼先の端末のグループ番号を得る。
この専用サーバは、システム内の全てのグループを管理し、各グループ番号とグループに属する端末(メンバー)の電話番号との対応関係を示すテーブルのグループDB(データベース)を有している。
C.着呼先の電話番号を自グループの他のメンバーに問い合わせて、いずれかのメンバーが他のグループに編入している場合、その他のグループの各メンバーに対しても上記電話番号の問い合わせを行うというように、メンバーが編入して関連している他のグループに電話番号の問い合わせを行い、目的とする電話番号の情報を徐々に手繰り寄せていく。
しかしながら、手繰り寄せるグループがなくなり、この時点で電話番号の所属するグループが検出されない場合、システム内の全てのグループを管理し、各グループ番号とメンバーの電話番号との対応関係を示すテーブルのグループDB(データベース)を有する特定のグループ(Bにおける専用サーバの集合体)に問い合わせ、電話番号の所属するグループ番号を得る。
初めから着呼先の電話番号を上記特定グループに対して問い合わせると、システム全体の各メンバーから問い合わせが集中し、大きな負荷がかかりシステム管理の処理効率の低下を招いてしまう。
このため、Cの着呼先の電話番号の検索処理は、電話番号の属するグループのグループ番号の検索において、できうる限り各端末間での問題解決を行わせて、特定グループへの負荷の集中を抑制する構成とされている。
D.すでに述べた様に、各グループ毎に、他のグループとの間におけるデータの送受信を行う特定の端末である窓口端末が1つあるいは複数個設けられており、この方法は窓口端末を利用して、電話番号が属するグループのグループ番号を検出する方法である。
すなわち、各グループが関連する他のグループの窓口端末のIDと電話番号とグループ番号との対応をしめすルーティングテーブルを共有記憶領に有している。
各グループにおいて、着呼先の電話番号が自グループ内のメンバーテーブルにて検出されない場合、電話番号の所属グループに検索を自グループの窓口端末に対して依頼する。
これにより、窓口端末は、上記ルーティングテーブルに記載されている他のグループのいずれかの窓口端末に対して、電話番号を通知して着呼先の端末の検索を依頼する。
このとき、上記窓口端末は、グループサーバに対して、電話番号を通知して他のグループの窓口端末のIPアドレスを検索する依頼のアクセスを行い、得られたIPアドレスを用いて、他のグループの窓口端末に対して、アクセスを行う。
また、この他のグループの窓口端末が自グループ内に依頼された電話番号がなければ、さらに、次のグループの窓口端末に電話番号の検索依頼を行う。
グループ内に上記窓口端末が複数設けられており、グループサーバに対して参加及び編入、離脱する窓口端末の通知を行う、すなわち参加に関しては予めグループに存在する窓口端末のいずれかが新たな窓口端末の参加及び編入をグループサーバに通知し、離脱に関してはグループに残留する窓口端末のいずれかが通知する。ここで、端末が存在しなかったグループに対して、端末が参加する際、最初に参加した端末が窓口端末となり、自身の参加をグループサーバに対して通知する。
以下、グループ検出方法AからDについて順次説明する。
−A.の方法−
電話する相手の番号から、演算によって一意にグループ番号を求める方法であり、例えば、以下のa,b,cの3つの方法がある。
a.電話番号を直接に演算する
着呼先グループ検出部2が、「電話番号 ÷ N = グループ番号」の演算を行い、演算結果をグループ番号として出力する。
電話番号を予め設定した任意の数値Nで除算して、グループ番号を演算により求める。
このとき、グループ番号が予め整数値となるように電話番号と数値Nとを設定しておくようにしても良いし、除算した結果の小数点以下を切り捨てて、整数値としたものをグループ番号として用いるようにしても良い。
b.電話番号の一部をグループ番号に対応付ける
電話番号「XXXX−YY」である場合、電話番号からグループを識別する方法として、電話番号の下2桁(YY)をワイルドカードの箇所として、グループと紐付けるように、すなわち、電話番号と、この電話番号の下2桁以外の上位桁(XXXX)のグループ番号とを対応付けて電話番号の体系を構築することが考えられる。
これにより、入力される電話番号から、設定された上位桁を抽出することにより、グループ番号を一意に求めることができる。
c.電話番号とグループ番号との対応関係テーブル
この構成の場合、共有記憶領域に、グループ番号と、このグループ番号の示すグループに属する端末の電話番号とを対応付けた対応関係テーブルが設定されている。
そして、着呼先グループ検出部は、電話番号が入力されると、上記対応関係テーブルを参照して、入力された電話番号に対応するグループ番号を抽出して出力する。
ここで、電話番号「XXXX−YY」である場合、電話番号からグループを識別する方法として、電話番号の下2桁(YY)をワイルドカードの箇所として、電話番号とグループとを紐付けるように、電話番号の下2桁以外の上位桁(XXXX)の番号とグループ番号との対応関係テーブルを構築することが考えられる。
具体的には、例えば、電話番号の下数桁をワイルドカードの箇所として、これに含まれる電話番号にグループを割り当てる(下2桁とすると00〜99までの100件分の電話番号を1つのグループに割り当てる)。
これにより、着呼先グループ検出部2は、下2桁以外の上位桁をグループ番号に対応付けておくことにより、電話番号を右側にシフトさせ、電話番号の下3桁目が1桁目となる演算を行い、この数値を上記対応関係テーブルにより検出し、対応するグループ番号を読み出すことにより、一意に着呼先のグループ番号を検出する処理を行うことができる。
−B.の方法−
例えば、グループ番号毎に、このグループ番号に属する端末の電話番号との対応関係が示された対応テーブルを有するルーティング専用の専用サーバを、各グループ毎に、あるいは複数のグループ単位に設けても良い。
端末は、上記ルーティング専用の専用サーバに対して、着呼先の端末の電話番号を出力し、着呼先の端末が属するグループのグループ番号の検索依頼を行う。
これにより、上記専用サーバは、記憶している対応テーブルを参照して、端末から入力される電話番号に対応したグループ番号を読み出し、このグループ番号を端末に対して通知する。
−C.の方法−
例えば、各端末が着呼先の端末の電話番号のグループを検索する際、自グループのメンバーである他の端末に対し、着呼先の端末の電話番号を送信し、この電話番号に対応するグループ番号の問い合わせを行う。
このとき、例えば、グループAの端末A1が着呼先の電話番号のグループ検出を行う際、自グループ内のグループ内メンバ共有記憶領域におけるメンバーテーブル存在していないことを検出した場合、電話番号を自グループ内の各端末A2〜A5に対して問い合わせて、この電話番号の検索を依頼する。
このとき、グループA内の端末A5が他のグループ(グループB)に属していると、端末A5が上記着呼先の電話番号がグループBの共有しているグループ内メンバ共有記憶領域のメンバーテーブルに存在しているか否かの検出、すなわち、グループB内の端末の電話番号の検索を行う。
ここで、端末A5は、グループBのメンバーテーブルに着呼先の電話番号が存在することを検出すると、端末A1に対して検出されたグループ番号を通知する。
一方、端末A5は、グループBのメンバーテーブルにおいて、着呼先の電話番号が存在しないことを検出すると、グループBの各端末に対して、着呼先の電話番号を通知して、グループ番号の問い合わせを行う。
このとき、グループBの端末のいずれかが他のグループに対して編入している場合、この端末が端末A5に検索することを通知し、グループBに編入した端末A5と同様の検索処理を行う。
また、グループBの各端末は他のグループに編入していない場合、端末Aに対して編入していないことを示す通知を行い、端末A5はグループB内の全ての端末から、編入していない通知を受信すると、端末Aの検索する着呼先の電話番号が属するグループ番号の検索ができないことを示す通知を端末A1に対して行う。
そして、端末A1は自グループ内の他の全ての端末からグループ番号検索ができないことを示す通知を受信すると、各グループから構成されるシステム内に存在する全ての端末の電話番号と、この電話番号が属するグループのグループ番号との対応関係を示すグループ管理テーブルを有する端末からなる特定グループに対して、着呼先の電話番号を通知して、グループ番号の検索を依頼する。
ここで、上記特定グループ(システム内の全端末の電話番号とグループ番号とが管理されているサーバ群)は、各グループに端末が参加する際に、通知を受けるグループサーバを含み、このグループサーバから各グループに参加する端末の情報を得る。
−D.の方法−
すでに述べた様に、各端末が窓口端末に着呼先の電話番号の属するグループの検索を依頼することにより、窓口端末は、自グループ内に設けられた、他のグループの窓口端末とこの窓口端末の電話番号との対応を示すルーティングテーブルから、問い合わせを行う他のグループの窓口端末を選択し、選択した他のグループの窓口端末のIPアドレスをグループサーバに対して問い合わせ、得られたIPアドレスにより他のグループの窓口端末にアクセスし、着呼先の端末の電話番号の所属するグループ番号の検索を行う。
すなわち、グループAにおいて端末A1が着呼先の電話番号の所属するグループの検索を行う場合、窓口端末として設定されている端末、例えば端末A2に対し、電話番号を通知してグループ番号の依頼を行う。
端末A2は、端末A1からの依頼を受信すると、ルーティングテーブルにあるグループBの窓口端末から、例えば、端末B1を選択し、この選択された端末B1の電話番号をグループサーバに対して送信して、グループサーバから端末B1のIPアドレスを得る。
そして、端末A2は、着呼先の電話番号を端末B1に送信して、この電話番号の端末がグループBに存在するか否かの検出を依頼する。
このとき、端末B1は、メンバーテーブルを参照して、依頼された電話番号の有無の検出を行い、自グループのメンバーテーブルにおいて存在を検出した場合、グループBに存在すること(すなわち、グループBのグループ番号)を端末A2へ通知する。
一方、端末B1は、自グループのメンバーテーブルにおいて、依頼された電話番号が検出されない場合、共有記憶領域内に記憶されているルーティングテーブルを参照し、グループA以外のグループを検索し、例えばグループCが検索されたとする。
端末B1は、グループCの窓口端末から、例えば端末C1を選択し、この選択された端末B1の電話番号をグループサーバへ送信して、グループサーバから端末C1のIPアドレスを得る。
そして、端末B1は、着呼先の電話番号を端末C1に送信して、この電話番号の端末がグループCに存在するか否かの検出を依頼する。
このとき、端末C1は、メンバーテーブルを参照して、依頼された電話番号の有無の検出を行い、自グループのメンバーテーブルにおいて存在を検出した場合、グループCに存在することを端末A2へ、端末B1を介して通知する。
<グループ内の共有記憶領域の同期処理>
また、共有機能部6は、グループ内の同期をとる場合、以下に示すいくつかの方法が考えられる。
a.所定の端末が同報を行い、同一グループ内にて共有する端末情報の一斉書き替え
各グループにおいて、グループを構成する端末の1つまたは複数がデータ変更端末として設定されている。
上記データ変更端末は、各グループの共有記憶領域、例えば、状態テーブル及びメンバーテーブルを所定数に分割した分割領域毎に対応づけられている。例えば、共有記憶領域における共有データである状態テーブル6個とメンバーテーブル1個からなる7個の分割領域に分割されていると、この状態テーブル6個の各分割領域毎に、各々データ変更端末が対応付けられることとなる。
そして、メンバーテーブルにおけるメンバーデータの更新に際しての同報は、グループ内の各端末,窓口端末及び他の端末を監視している端末が行う(後に詳細に記述)。
ここで、分割領域の生成は、本実施形態のアプリケーションの機能として、すなわち共有機能部6が予めグループにおいて設定されている共有記憶領域における共有データの容量に対応して、上述したような所定数に分割される。これにより、グループに所属する端末の全てが同様な分割領域を有することとなる。
これは共有記憶領域を容量的に分割するため、状態テーブルやメンバーテーブルに共有データが書き込まれていなくとも、所定容量の区分(共有記憶領域における共通のアドレス範囲)として分割されており、共有データが記録されていないことが、共有データの変化がないと認識されることとなる。
グループに端末が参加する際、初めは端末がなく、最初の端末が参加した場合、グループに所属する端末が1つしかないため、アプリケーションとしては外部からグループ内の情報をダウンロードすることができないため、最初に参加する端末がグループサーバによ窓口端末として指定され、かつ自身が共有記憶領域の全ての分割領域のデータ変更端末の担当となる。
その後に、端末が増加するごとに、メンバーテーブルの端末が増加するため、後に述べる様に、各分割領域の担当を、順次他の端末をデータ変更端末とすることにより変更させ、グループ全体の端末にデータ変更端末の動作を分担させて、データ変更の管理を順次行わせる。
各端末は、発呼元の端末であれば、状態テーブルにおける自身のID番号に対応する領域の通信情報I1の書き替え、及び状態テーブルにおける着呼先の端末のID番号に対応する領域の通信情報I2の書き換えを、各ID番号に対応した分割領域を担当するデータ変更端末に対して要求する。
また、各端末は、着呼先の端末であれば、自身のID番号に対応する領域の通信情報I1の書き換えを、自身のID番号の領域を担当するデータ変更端末に対して要求する。
これにより、データ変更端末は、自身の担当する領域のデータの変更を、各端末から依頼されることにより、すなわち、対応付けられた分割領域の端末情報の変更が通知されると、グループ内の各端末に対して、変更する分割領域を示す情報と、変更されるデータとを同報することにより、グループ内の全端末の共有記憶領域におけるデータの同期をとる。
そして、データ変更端末とデータ端末に対応付けられた分割領域との関係について、グループ内の各端末は予め通知されている。
例えば、初期状態としては端末がグループに参加する順番に、分割領域に対する対応付けが行われる(窓口端末が各端末にこの対応付けを同報)が、以降、同報処理を行う毎に、次にデータ更新端末となる端末のID及び対応する分割領域の情報を、上記変更されたデータとともに、グループ内の各端末に対して同報する。
このとき、データ更新端末は、例えば、次にデータ変更端末となる端末を、メンバーテーブルの順番にて設定する。
b.グループ内における共有データのサーバの集中管理
このbの集中管理は、上述したaのように、データ変更端末が複数あり、かつ他の端末に変更される構成ではなく、グループ全体で1つの端末がデータ変更端末として固定に設定され、全共有記憶領域の変更を全て担当する構成となっている。
このデータ変更端末は、いずれの端末であるかが、グループに参加する時点に、窓口端末からID番号として、予めグループ内の各端末に通知されている。
各端末は、発呼元の端末であれば、状態テーブルにおける自身のID番号に対応する領域の通信情報I1の書き替え、及び状態テーブルにおける着呼先の端末のID番号に対応する領域の通信情報I2の書き換えを、上記データ変更端末に対して要求する。
また、各端末は、着呼先の端末であれば、自身のID番号に対応する領域の通信情報I1の書き換えを、データ変更端末に対して要求する。
これにより、データ変更端末は、各端末から依頼されることにより、すなわち、依頼された端末情報の変更が通知されると、グループ内の各端末に対して、変更されたデータとを同報することで、グループ内の全端末の共有記憶領域におけるデータの同期をとる。
c、端末の共有記憶領域における端末情報の差分更新
各グループにおいて、グループを構成する端末の1つまたは複数が最新データを有する最新データ記憶端末として設定されている。
上記最新データ記憶端末は、aの同期処理におけるデータ変更端末と同様に、各グループの共有記憶領域、例えば、状態テーブルを所定数に分割した分割領域毎に対応づけられている。例えば、共有記憶領域における状態テーブルが6個の分割領域に分割されていると、この6個の各分割領域毎に、設定された端末として対応付けられている。
各最新データ記憶端末がいずれの分割領域を担当しているかは、最新データ記憶端末のID番号と、担当する分割領域の位置を示すデータとして、各端末に対してあらかじめ通知(暫定の最新データ記憶端末)されている。
そして、グループ内のいずれかの端末が、データ項目の書き換えを行う必要が発生した際、例えば、発呼元ととなり状態テーブルにおける着呼先の通信情報を書き替えを行う際、着呼先の最新のデータ項目を有する最新データ記憶端末から、その最新のデータ項目をダウンロードし、データの書き換えを行うとともに、その書き替えた分割領域を示すデータと、自身が最新データ記憶端末となったことをグループに所属している全てのメンバーに通知する。
<グループへの参加シーケンス>
次に、本発明の実施形態における通話処理の動作を、以下に図を参照して順次説明する。
まず、端末状態の情報(共有データ)を共有するグループに参加する動作について説明する。図3の概念図に示すように、通話処理における最も最初の動作として、端末B2〜B6により構成されているグループBに、電源を投入することによって、端末B1が参加する以下に示すログインの処理が共有機能部6により行われる。
この参加処理の動作について、図4のシーケンス図を用いて説明する。
端末B1は、電源が投入または通話シーケンスを行うアプリケーションの起動を契機として、通話シーケンスを行うアプリケーションが起動され、グループBに対して参加するため、アプリケーションに予め設定されているIPアドレスによりグループサーバにアクセスし、グループサーバにおける認証部の認証を受ける(ログインシーケンスL1)。
グループサーバにおける上記認証部には各端末固有の識別番号が予め登録処理等により記憶されており、上記識別番号の有無を検出することにより認証処理を行い、認証処理を要求する端末B1が登録されている場合、この端末B1の認証が正常に行われたこととし、ログインシーケンスL2へ処理を進め、一方、登録されていない場合、認証処理を終了するとともに、ログインシーケンス(グループへの参加処理)も終了する。
次に、認証部は、端末B1を認証すると、この端末B1に対し、通話シーケンス等で用いる端末B1のID番号を送信する(ログインシーケンスL2)。
上記ID番号は、予め上記識別番号に対応して設定された情報でも、認証することにより所定の方法で生成してもよい。
また、各グループにおいて、グループに参加した順に設定された、外部とのデータの送受信を行う専用の端末である窓口端末が設けられている。グループ内の窓口端末の数は予め所定の数(例えば、3台)に設定されており、窓口端末が離脱または故障などした場合、グループ内の他の端末(グループに参加した順に設定)に変更される。
上記グループサーバは、各グループのグループ番号と、このグループ毎に設けられた窓口端末と、この窓口端末のIPアドレスとの対応関係を示す窓口端末テーブルを、窓口端末テーブルとして記憶している。
端末B1は、自身のID番号とIPアドレスとをグループサーバに対して通知し、グループBに対する参加要求をへ行う(ログインシーケンスL3)。
これにより、グループサーバのダウンロード部は、窓口端末テーブルを参照し、窓口端末である端末B5に対して、グループBの共有記憶領域に記憶されている共有している情報のダウンロード処理の実行を依頼する。(ログインシーケンスL4)
例えば、図3においては、端末B5がこの時点の窓口端末として、あらかじめグループサーバに登録されている。この窓口端末の決定方法は、例えば、グループに参加した順番で、グループサーバにより設定されている。
すなわち、グループサーバは、各グループに参加依頼をする端末を、先着順に1つまたは複数個選択して、この選択した端末を窓口端末とし、グループを示すグループ番号に対応させて窓口端末のID番号とIPアドレスをグループ単位に記憶している。
したがって、グループサーバは、端末B1に対し、窓口端末である端末B5のIPアドレスを送信する。
この時点において、グループBに所属する各端末における共有記憶領域のメンバーテーブルには、グループのメンバー、すなわちグループを構成している端末(端末B2〜B5)各々のID番号に対応し、各端末のIPアドレスと、通信に使用しているポート番号(TCPまたはUDPのポート)との対応関係が記憶されている。
この状態テーブルの構成は、例えば、図3に示すように、状態テーブルにおける各端末毎の構成として、自端末の状態情報として自端末の情報(経過時間T1,通信情報I1)と、着信端末の情報(経過時間T2,通信情報I2)とを有し、この構成がID番号毎に、グループの全メンバーの端末情報を、全ての端末各々がそれぞれの記憶部に対し、アプリケーションの起動により生成された共有記憶領域に記憶している。
すなわち、各端末は、自身を含み、所属するグループのメンバーである全ての端末の状態情報が記載されている状態テーブルを、それぞれの共有記憶領域に記憶して保持することで、グループ単位にてグループ内で共有する共有データ(本実施形態においては、少なくとも状態テーブル及びメンバーテーブル)の共有を行っている。
そして、端末B5は、端末B1に対してグループBの共有記憶領域に記憶しているメンバーテーブルと、状態テーブルのテンプレートとを送信する(ログインシーケンスL5)。
これにより、端末B1において、共有機能部6は、記憶部5の所定の部分を共有記憶領域として設定し、入力される状態テーブルのテンプレートから、自身の状態テーブルを生成するとともに、メンバーテーブルを記憶する(ログインシーケンスL6)。
そして、窓口端末である端末B5は、端末B1が新たに参加することでメンバーテーブルが変更となったことにより、グループB内の各端末(B1〜B4)に対して、メンバーテーブルが変更されたことを通知する。
次に、各端末B1〜B4は、端末B1が書き込まれたメンバーテーブルを端末B5からダウンロードし、共有記憶領域のすでにあるメンバーテーブルに対して上書きして、書き替えた時刻を示すタイムスタンプを付加してメンバーテーブルの更新を行う。
これにより、端末B1のグループBへの参加が終了し、端末B1はユーザまたは他の端末からの着呼の待ち受け状態となる(ログインシーケンスL7)。
<グループ内におけるコールシーケンス>
次に、グループBに参加した端末B1(発呼側の端末)が同一グループBに所属する端末B2(着呼側の端末)に電話をかける場合を、図5,図6及び図7を参照して説明する。図5は通話処理における端末の状態遷移図であり、図6及び図7は通話処理の流れを示すコールシーケンスを示す図である。この処理の説明において、共有記憶領域における共有データの同期処理を、一例として、先に「グループ内の共有記憶領域の同期処理」における”a”の方法を用いて説明する。また、この処理の説明において、例えば、グループB内において窓口端末が端末B5であり、この時点でのデータ変更端末を端末B2及び端末B4とする。
例えば、共有データである状態テーブルをID番号の端末B1、B2,B3から構成される分割領域Q1と、端末B4及びB5とからなる分割領域Q2とに分割され、暫定的に、端末B3が分割領域Q1を担当するデータ変更端末とされ、端末B5が分割領域Q2を担当するデータ変更端末とされ、担当する分割領域とともにグループに所属する各端末に対しては予め通知されている。このとき、端末B5は窓口端末であり、かつデータ変更端末であり、2つの処理の担当を兼ねている。
また、各端末の共有記憶領域には、すでに述べたように、グループに所属する端末の個有情報(端末のID番号(あるいはID),IPアドレス,ポート番号など)が記憶されるメンバーテーブルとともに、通話処理監視用の自端末の端末情報(通信情報を含む)が記載された状態テーブルが生成される。
この状態テーブルには、自端末にて書き込む自端末のエリア(自身の端末情報の通信情報を書き込む自端末情報記憶領域)があり、発呼処理及び着呼処理における端末状態遷移後の経過時間T1と自端末の通信情報I1(発信情報または着呼情報)とを書き込むようになっており、また、発呼元の端末に書き込まれる着信端末のエリア(着呼先端末となった場合の着信端末情報記憶領域)があり、着呼処理における端末状態遷移後の経過時間T2と着信端末としての通信情報I2(着呼情報)とが書き込まれるようになっている。
上記メンバーテーブルには、各端末の個有情報である電話番号(または端末のID番号、すなわちID番号を電話番号として用いるように構成しても良い),IPアドレスとともに、通信に用いるポート番号などが記録されている。
受話器を下ろされたオンフック状態においては、端末B1が待ち受け状態であり、自端末の通信情報I1,着信端末としての通信情報I2ともに「空き」(発呼(発呼元)または着呼(着呼先)が可能な状態)であることが記録されており、経過時間T1,T2ともに記載されない状態である(ステップS1)。
次に、利用者が受話器を上げることにより、通話処理部1は、受話器が上げられたこと(オフフック状態に遷移したこと)を検出して、すなわち、端末B1が「空き」状態(着信可能状態)から「発呼」状態(発信状態)に遷移したことを検出して、自端末の通信情報I1を「空き」から「発呼」に書き替える同期処理を、自端末のID番号とともに、分割領域Q1を担当しているデータ変更端末B3へ送信して依頼する。
これにより、データ変更端末B3は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を書き替えるとともに、各端末(B1,B2,B4,B5)に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信情報I1を、「空き」から「発呼」への書き替え処理の実行を促す通知を同報する。
このとき、データ変更端末B3は、メンバーテーブルの次の欄にある端末B4を、次の分割領域Q1の担当のデータ変更端末に指定し、グループBに所属する端末に対し、次のデータ変更端末となる端末B4のID番号B4と、端末B4が担当する分割領域Q1を示す情報とを、上記書き替え処理の実行を促す通知とともに同報する。
そして、端末B1,B2,B4,B5各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B1の通信情報I1を「空き」から「発呼」に書き替え、データ変更端末B3の共有データの変更に対してグループ内にて同期をとる(ステップS2)。
そして、利用者が端末B2の電話番号を入力することにより、端末B1において、着呼先グループ検出部2は、入力された端末B2の電話番号により、この端末B2の所属するグループのグループ番号Bを求め(この求め方については後に詳述する)、求めたグループ番号を通話処理部1へ出力する。
一方、着呼先グループ検出部2は、電話番号が属するグループのグループ番号が後述する方法において検出できない場合、ルート検出が不完了であるとして、処理をステップS5へ進める。
そして、着呼先グループ検出部2からグループ番号が入力されると、通話処理部1は、入力されたグループ番号により、着呼先が発呼元の自身と同一のグループBに所属することを検出する。
これにより、グループ内着呼先端末状態検出部3は、共有記憶領域におけるメンバーテーブルから端末B2の電話番号に対応したIPアドレス及びポート番号を読み出し、端末B2に対してアクセスを行う(ステップS3)。
次に、端末B1のグループ内着呼先端末状態検出部3は、端末B2の共有記憶領域における状態テーブルの通信情報I2を参照し、「空き」状態であるか否かの検出を行う。
ここで、端末B1のグループ内着呼先端末状態検出部3は、端末B2の状態テーブルにおいて通信情報I2が「空き」状態であることを検出すると、相手である着呼先の端末B2が他の端末と通話状態ではなく、通話可能状態であることを検出して、処理をステップS4へ進める(ステップS3)。
一方、端末B1のグループ内着呼先端末状態検出部3は、端末B2の状態テーブルにおいて通信情報I2が「空き」状態でないことを検出すると、相手が他の端末と通話状態であり、自身と通話可能状態にないこと、すなわち、「話し中」状態であることを検出し、通話処理部1へ通知し、処理をステップS5へ進める(ステップS3)。
これにより、端末B1の通話処理部1は、コールシーケンスの処理を終了して、初期状態へ戻す(ステップS5)。
次に、端末B1の通話処理部1は、自身の記憶部5の状態テーブルの通信状態I1を、「発呼」の状態から「予約中」へ変更する同期処理を、自端末のID番号とともに、分割領域Q1を担当しているデータ変更端末B4へ送信して依頼する。
これにより、データ変更端末B4は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を書き替えるとともに、各端末(B1〜B3,B5)に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信情報I1を、「発呼」から「予約中」への書き替え処理の実行を促す通知を同報する。
このとき、データ変更端末B4は、メンバーテーブルの次の欄にある端末B5を、次の分割領域Q1の担当のデータ変更端末に指定し、グループBに所属する端末に対し、次のデータ変更端末となる端末B5のID番号B5と、端末B5が担当する分割領域Q1を示す情報とを、上記書き替え処理の実行を促す通知とともに同報する。
そして、端末B1〜B3,B5各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B1の通信情報I1を「発呼」から「予約中」に書き替え、データ変更端末B4の共有データの変更に対してグループ内にて同期をとる。
この時点において、端末B5は分割領域Q1及び分割領域Q2の2つの分割領域のデータ変更の同期をとる担当であるデータ変更端末に指定されている。
そして、端末B1のグループ内着呼先端末状態検出部3は、端末B2の共有記憶領域における状態テーブルの通信情報I2を参照し、「空き」状態であるか否かの検出を行う。
ここで、端末B1のグループ内着呼先端末状態検出部3は、端末B2の状態テーブルにおいて通信情報I2が「空き」状態であることを検出すると、端末B2が他の端末から通話の予約されておらず、通話予約(すなわち、予約を示すための予約中の情報を書き込むこと)が可能な状態であることを検出する。
次に、端末B1のグループ内着呼先端末状態検出部3は、端末B2の共有記憶領域における状態テーブルの通信情報I2を、「空き」状態から「予約中」に書き換える、すなわち共有データの変更を行う同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末B5へ送信して依頼する。
これにより、データ変更端末B5は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I2を書き替えるとともに、各端末(B1〜B4)に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信情報I2を、「空き」から「予約中」への書き替え処理の実行を促す通知を同報する。
このとき、データ変更端末B5は、メンバーテーブルの次の欄、すなわちテーブルの最初の欄にある端末B1を、次の分割領域Q1の担当のデータ変更端末に指定し、グループBに所属する端末に対し、次のデータ変更端末となる端末B5のID番号B1と、端末B1が担当する分割領域Q1を示す情報とを、上記書き替え処理の実行を促す通知とともに同報する。
そして、端末B1〜B4各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B2の通信情報I2を「空き」から「予約中」に書き替え、データ変更端末B5の共有データの変更に対してグループ内にて同期をとり、処理をステップS6へ進める(ステップS4)。
この時点において、端末B1は発呼元であり、かつ、分割領域Q1のデータ変更の同期をとる担当のデータ変更端末に指定されている。
一方、端末B1のグループ内着呼先端末状態検出部3は、端末B2の状態テーブルにおいて通信情報I2が「空き」状態でないことが検出された場合、所定の時間が経過した後、再度、端末B2にアクセスして、端末B2の記憶部5において通信情報I2を参照し、これを複数回(例えば、5回)繰り返しても、「空き」状態に遷移しないことが検出されると「話し中」状態として検出し、処理をステップS5へ進めるとともに、通話処理部1へ通知する(ステップS4)。
これにより、端末B1の通話処理部1は、コールシーケンスの処理を終了して、初期状態へ戻す(ステップS5)。
すなわち、ステップS5において、端末B1の通話処理部1は、自身の共有記憶領域における状態テーブルの通信情報I1を、「予約中」から「空き」状態に書き換える、すなわち共有データの変更を行う同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末B1、すなわち自身の共有機能部6へ依頼する。
これにより、データ変更端末である端末B1は、自身からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を書き替えるとともに、各端末(B2〜B5)に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信情報I1を、「予約中」から「空き」状態への書き替え処理の実行を促す通知を同報する。
このとき、データ変更端末B1は、メンバーテーブルの次の欄にある端末B2を、次の分割領域Q1の担当のデータ変更端末に指定し、グループBに所属する端末に対し、次のデータ変更端末となる端末B2のID番号B2と、端末B2が担当する分割領域Q1を示す情報とを、上記書き替え処理の実行を促す通知とともに同報する。
そして、端末B2〜B5各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B1の通信情報I1を「予約中」から「空き」状態に書き替え、データ変更端末B1の共有データの変更に対してグループ内にて同期をとる(ステップS5)。
次に、端末B2の通話処理部1は、自身の共有記憶領域の状態テーブルにおける通信情報I2が「空き」状態から「予約中」に遷移している(書き換えられている)ことを検出、すなわち他端末から着呼状態にあると検出すると、状態テーブルにおける通信状態I1を、「空き」状態から「着信呼出中」状態に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末B2、すなわち自身の共有機能部6へ送信して依頼するとともに、タイムスタンプとして経過時間T1の計数を開始し、ベル音等の着信音をスピーカから出力し、着信していることを利用者に通知する。
これにより、データ変更端末B2は、自身からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I1を書き替えるとともに、各端末(B1,B3〜B5)に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信情報I1を、「空き」から「着信呼出中」への書き替え処理の実行を促す通知を同報する。
このとき、データ変更端末B2は、メンバーテーブルの次の欄、すなわちテーブルの最初の欄にある端末B3を、次の分割領域Q1の担当のデータ変更端末に指定し、グループBに所属する端末に対し、次のデータ変更端末となる端末B3のID番号B3と、端末B3が担当する分割領域Q1を示す情報とを、上記書き替え処理の実行を促す通知とともに同報する。
そして、端末B1,B3〜B5各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B2の通信情報I1を「空き」から「着信呼出中」に書き替え、データ変更端末B2の共有データの変更に対してグループ内にて同期をとる。
ここで、グループ内で共有する共有データの変更を同期を取って行う処理は、上述してきた説明と同様のため、データ変更端末に同期処理を依頼するとして、データ変更端末の変更処理について、以降の説明において省略する。
次に、端末B2の通話処理部1は、経過時間T1の計数を開始した後、所定の時間毎に(一定の周期にて)端末B2の共有記憶領域の状態テーブルにおける経過時間T1に対して、計数した計数時間を書き込む同期処理を、自端末のID番号と自身の計数した計数時間とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B2からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T1を書き替えるとともに、グループBに所属する他の端末(グループBにおけるデータ変更端末以外の端末)に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の経過時間T1を、送信される端末B2の計数時間への書き替え処理の実行を促す通知を同報する。
そして、同報された端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B2の経過時間T1を、端末B2の計数時間へ書き替え、データ変更端末の共有データの変更に対してグループ内にて同期をとる。
同様に、端末B1の通話処理部1は、端末B2の共有記憶領域の状態テーブルにおける通信状態I1が「着信呼出中」となったことを検出すると、端末B2と同様にタイムスタンプとして、経過時間の計数を開始し、所定の時間毎に(一定の周期にて)端末B2の共有記憶領域の状態テーブルにおける経過時間T2に対して、計数した計数時間を書き込む同期処理を、自端末のID番号と自身の計数した計数時間とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T2を書き替えるとともに、グループBに所属する他の端末(グループBにおけるデータ変更端末以外の端末)に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の経過時間T2を、送信される端末B1の計数時間への書き替え処理の実行を促す通知を同報する。
そして、同報された端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B2の経過時間T2を、端末B1の計数時間へ書き替え、データ変更端末の共有データの変更に対してグループ内にて同期をとる。
また、端末B1の通話処理部1は、自身の共有記憶領域の状態テーブルにおける通信状態I1を「予約中」から「呼出中」に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信情報I1を、「予約中」から「呼出中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B1の通信情報I1を「予約中」から「呼出中」に書き替え、データ変更端末の共有データの変更に対してグループ内にて同期をとる。
同様に、端末B1の通話処理部1は、端末B2の共有記憶領域の状態テーブルにおける通信状態I2を「予約中」から「呼出中」に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信情報I2を、「予約中」から「呼出中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B2の通信情報I2を「予約中」から「呼出中」に書き替え、データ変更端末の共有データの変更に対してグループ内にて同期をとる(ステップS6)。
このとき、端末B1の通話処理部1は、スピーカから呼出音を出力して、呼出中であることを利用者に通知する。
また、このステップS6において、端末B1及び端末B2各々の通話処理部1は、通話に用いる通信経路にテスト用のパケットを相互に送信し合い、すなわち通信経路に所定の負荷を与えて(所定量のパケットを送信する等)、経過時間をチェックすることにより、その通信経路の通信状態を取得する。
これにより、一定時間経過後に端末B1及び端末B2双方の通話処理部1が端末B2の共有記憶領域の状態テーブルにおける経過時間T1と経過時間T2との比較を行う。
このとき、例えば、端末B1の通信処理部1は、経過時間T1と経過時間T2との差が所定の範囲以上の差(例えば、5秒)であることを検出すると、接続異常と判定して処理をステップS5へ進める。
ここで、発呼側及び着呼側双方の無線処理部1は、音声を通信し始めると、負荷が大きいものとなり、端末のハードウェアの処理能力が大幅に低下することとなるため、呼出中において、着呼側が受話器を取り通話中となる前に無理なく通信できる情報の共有を行う。
すなわち、発呼側及び着呼側双方の無線処理部1は、経過時間T1及び経過時間T2の時間が大幅にずれている場合、通信経路のトラフィックが高く音声通信が行えない場合や、一方が負荷によりシステムダウンしてしまった場合等により、端末間の通信状態が不良であり、通話処理を行うことが不可能であることを判定すると、処理をステップS5へ進めて通話処理を中止する。
次に、端末B2の通話処理部1は、利用者が受話器を取り上げたこと(オフフック状態)を検出すると、自身の共有記憶領域の状態テーブルにおける通信情報I1を「着信呼出中」から「着信通話中」に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼するとともに、経過時間T1をリセットして、新たに「着信通話中」に状態が変更してからの経過時間の計数を開始する。
これにより、データ変更端末は、端末B2からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信情報I1を、「着信呼出中」から「着信通話中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号B2の通信情報I1を「着信呼出中」から「着信通話中」に書き替え、データ変更端末の共有データの変更に対してグループ内にて同期をとる。
このとき、端末B2の通話処理部1は、スピーカから出力していた着信音を停止し、通話可能となったことを利用者に通知する。
また、端末B2の通話処理部1は、新たに計数を開始して以降、所定の時間毎に計数した時間を経過時間T1へ書き込む同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B2からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の経過時間T1を、端末B2が計数した時間への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T1を、端末B2が計数した時間への変更に対してグループ内にて同期をとる。
そして、端末B1の通話処理部1は、端末B2の共有記憶領域の状態テーブルにおける通信状態I1が「着信通話中」に遷移したこと検出すると、自身の共有記憶領域の状態テーブルにおける通信状態I1を「呼出中」から「通話中」に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼するとともに、端末B2の共有記憶領域の状態テーブルにおける経過時間T2をリセットして、新たに「通話中」に状態が変更してからの経過時間の計数(カウント)を開始する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信状態I1を、「呼出中」から「通話中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を、「呼出中」から「通話中」への変更に対してグループ内にて同期をとる。
このとき、端末B1の通話処理部1は、スピーカから出力していた呼び出し音を停止し、通話可能状態(すなわち、回線が接続された状態)となったことを利用者に通知し、通話を促す。
また、端末B1の通話処理部1は、新たに「通話中」に状態が変更してからの経過時間の計数を開始した後、所定の時間毎に計数した時間を経過時間T2へ書き込む同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T2を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の経過時間T2を、端末B1が計数した時間への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T2を、端末B1が計数した時間への変更に対してグループ内にて同期をとる(ステップS7)。
このステップS7においても、ステップS6の呼出中と同様に、発呼側及び着呼側双方の無線処理部1は、経過時間T1及び経過時間T2の時間が大幅にずれている場合、通信経路のトラフィックが高く音声通信が行えない場合や、一方が負荷によりシステムダウンしてしまった場合等により、端末間の通信状態が不良であり「故障」状態であるため、通話処理を継続することが不可能であることを判定すると通話処理を中止し、処理をステップS5へ進めて、通話処理を中止する。
次に、端末B1の通話処理部1は、利用者が受話器を端末B1に置いたこと(ONフック状態となったこと)を検出すると、自身の共有記憶領域の状態テーブルにおける通信情報I1を、「通話中」から「予約消中(予約の取り消し中)」へ書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信状態I1を、「通話中」から「予約消中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を、「通話中」から「予約消中」への変更に対してグループ内にて同期をとる。
また、端末B1の通話処理部1は、端末B2の共有記憶領域の状態テーブルにおける通信情報I2を、「通話中」から「空き」状態へ書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼するとともに、端末B2に対するアクセスの接続状態(接続された回線)を切断する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信状態I2を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信状態I2を、「通話中」から「空き」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I2を、「通話中」から「空き」への変更に対してグループ内にて同期をとる。
そして、端末B2の通話処理部1は、自身の共有記憶領域の状態テーブルにおける通信情報I2が「通話中」から「空き」に遷移したことを検出すると、通信情報I1を「着信通話中」から「空き」に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼するとともに、端末B1に対するアクセスの接続状態(接続された回線)を切断する(ステップS8)。
これにより、データ変更端末は、端末B2からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信状態I1を、「着信通話中」から「空き」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I1を、「着信通話中」から「空き」への変更に対してグループ内にて同期をとる。
このとき、端末B2の通話処理部1は、通話が終了したことを示す回線切断を通知する音をスピーカから出力し、利用者に通話のアクセスが切断されたことを通知する。
これにより、端末B1及び端末B2双方は、ステップS0の待ち受け状態(発呼及び着呼のいずれも可能な状態)へ戻る。
<グループ間におけるコールシーケンス>
次に、グループBに参加した端末B1(発呼側の端末)が異なるグループCに所属する端末C2(着呼側の端末)に電話をかける場合を、図5,図6及び図7を参照して説明する。図5は通話処理における端末の状態遷移図であり、図6及び図7は通話処理の流れを示すコールシーケンスを示す図である。
ここで、すでに述べた同一のグループに所属する端末B2に、電話をかける場合と異なるのは、着呼先グループ検出部2が端末C2の電話番号から所属するグループ番号(グループC)を抽出する処理と、端末B1がグループCに編入する処理とであり、この異なる処理部分のみを説明する。
この処理の説明において、共有記憶領域における共有データの同期処理を、一例として、先に「グループ内の共有記憶領域の同期処理」における”a”の方法を用いて説明する。また、この処理の説明において、例えば、グループBにおける窓口端末が端末B5であり、最初の時点でのデータ変更端末を端末B2及び端末B4とする。一方、グループCにおける窓口端末が端末C1であり、最初の時点でのデータ変更端末がC2及び端末C4とする。ここで、データ変更端末の変更処理については、上述の「グループ内におけるコールシーケンス」と同様に、同報処理毎にメンバーテーブル順に、次々にデータ変更端末を担当する端末が変化する。
このグループ内で共有する共有データの変更を同期を取って行う処理は、すでに説明した「グループ内におけるコールシーケンス」と同様のため、データ変更端末に同期処理を依頼するとして、データ変更端末の変更処理について、以降の説明において省略する。
例えば、図9におけるグループBにおいて、共有データである状態テーブルをID番号の端末B1、B2,B3,B4から構成される分割領域Q1と、端末B5,B6,B7,B8とからなる分割領域Q2とに分割され、暫定的に、端末B3が分割領域Q1を担当するデータ変更端末とされ、端末B5が分割領域Q2を担当するデータ変更端末とされ、担当する分割領域とともにグループBに所属する各端末に対しては予め通知されている。グループBにおいて、このとき、端末5は窓口端末であり、かつデータ変更端末であり、2つの処理の担当を兼ねている。
また、グループCにおいて、共有データである状態テーブルがID番号の端末C1、C2,C3,C4から構成される分割領域R1と、端末C5,C6,C7,C8及び編入する端末B1とからなる分割領域R2とに分割され、暫定的に、端末C3が分割領域R1を担当するデータ変更端末とされ、端末C5が分割領域R2を担当するデータ変更端末とされ、担当する分割領域とともにグループCに所属する各端末に対しては予め通知されている。
図5,図6及び図7のステップS2において、端末B1の着呼先グループ検出部2は、すでに説明したグループ番号の検出方法AからDのいずれかを用い、例えば検出方法Aを用いたとすると、着呼先の端末C2の電話番号から所定の演算によって、一意に着呼先の端末の所属するグループ番号が得られる。
そして、端末B1において、着呼先グループ検索部2は、上述した処理により検出されたグループ番号(グループCのグループ番号)を、通話処理部1へ通知する。
そして、通話処理部1は、上記グループ番号により、端末C2の所属するグループが自身のグループと異なることを検出すると、共有機能部6に対して、グループ番号とIPアドレスとを通知するとともに、グループCに対する編入を指示する。
次に、共有機能部6は、グループサーバに対してアクセスし、検出されたグループCのグループ番号を送信する。
そして、グループサーバは、入力されるグループ番号により、グループCの窓口端末のIPアドレスを検索し、この検索されたIPアドレスを共有機能部6に対して送信する。
これにより、共有機能部6は、入力されたIPアドレスにアクセスし、メンバーテーブルのダウンロードを要求する。
そして、グループCの窓口端末は、ダウンロード処理として、自身のメンバーテーブルを、端末B1の共有機能部6に対して送信する。
例えば、図9においては、端末C1がこの時点の窓口端末として、グループサーバに登録されているとする。
この時点において、グループCにおける共有記憶領域のメンバーテーブルには、グループ内メンバである端末C1から端末C8各々の端末のID番号に対応して、IPアドレスとポート番号(TCPまたはUDPのポート)とが記憶されている。
また、共有記憶領域には、グループBと同様に、各端末毎に、自身の通話状態を示す状態テーブルも記憶されている。
そして、端末B1の共有機能部6は、上記グループサーバに対して、自身の端末のID番号とIPアドレスとを通知することで、グループCに対する編入要求を行う。
これにより、グループサーバは、グループCにおける窓口端末として登録されている端末C1に対して、端末B1の端末ID番号とIPアドレスとを通知して、端末B1に対するダウンロード情報(グループC内において端末間にて共有している、メンバーテーブルを含む共有データ)の送信依頼を行う。
そして、窓口端末である端末C1は、端末B1に対してグループ内の上記ダウンロード情報を、送信して編入処理を行う。
そして、グループCにおける窓口端末である端末C1は、端末B1が新たに参加することでメンバーテーブルが変更となったことにより、グループC内の各端末(C2〜C8)に対して、メンバーテーブルが変更されたことを通知する。
次に、各端末C2〜C8は、端末B1が書き込まれたメンバーテーブルを端末C1からダウンロードし、共有記憶領域のすでにあるメンバーテーブルに対して上書きして、書き替えた時刻を示すタイムスタンプを付加してメンバーテーブルの更新を行う。
これにより、端末B1のグループCへの編入が終了し、端末B1のグループ間着呼先端末状態検出部3は、共有記憶領域におけるメンバーテーブルから端末B2の電話番号に対応したIPアドレス及びポート番号を読み出し、端末B2にアクセスする(ステップS3)。以降の処理は、着呼先が同一グループ内の端末でないため、着呼先の端末の通信状態を検出するのは、グループ内着呼先端末状態検出部3でなく、グループ間着呼先端末状態検出部4が行う以外、図6及び図7のステップS4以降の処理と同様である。
このとき、端末B1のグループ間着呼先端末状態検出部4は、共有記憶領域におけるメンバーテーブルから端末C2の電話番号に対応したIPアドレス及びポート番号を読み出し、端末C2にアクセスする(ステップS3)。
次に、端末B1のグループ間着呼先端末状態検出部4は、端末C2の共有記憶領域における状態テーブルの通信情報I1を参照し、「空き」状態であるか否かの検出を行う。
また、グループBの端末B1がグループCに編入した際のグループ内の共有データの同期処理としては、端末B1は自身の状態テーブルにおける通信情報I1の変更を行う場合、グループBにて共有している共有記憶領域における状態テーブルと、グループCにて共有している共有記憶領域における状態テーブルとの双方を、各々のグループ単位で同期を取って変更する必要がある。
すなわち、グループCに編入した端末B1は、グループBで共有している共有データである状態テーブルの通信情報I1の変更をグループBのデータ変更端末端末に対して依頼するとともに、グループCで共有している共有データである状態テーブルの通信情報I1の変更をグループCのデータ変更端末に依頼する。
これにより、グループBのデータ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信状態I1を書き替える処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を、グループBのデータ変更端末の変更に対して同期をとる。
同様に、グループCのデータ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信状態I1を書き替える処理の実行を促す通知を同報する。
そして、グループCに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を、グループCのデータ変更端末の変更に対して同期をとる。
ただし、通話終了時のステップS8において、端末B1の通話処理部1は、グループCから離脱する必要があるため、メンバーテーブルからの自身の削除をグループ内の全ての端末に対して同報通知する。
また、端末B1の通話処理部1は、自身のID番号に対応する状態テーブルの削除を、自身の含まれる分割領域を担当するデータ変更端末に依頼する。
これにより、グループCのメンバの各端末は、メンバーテーブル(離脱する端末自身の同報通知に対応して)及び状態テーブル(データ変更端末からの同報通知に対応して)を、同報通知されたデータ内容に変更して、グループ内の他の端末における共有記憶領域と共有データの同期を取る。
また、端末B1の共有機能部6は、自身の共有記憶領域からグループCに対するメンバーテーブルを消去する。上述した処理により、端末B1はグループCからの離脱処理を終了する。ここで、端末B1は、グループCに編入している期間において、グループBとグループCとの双方のメンバーテーブルに存在、すなわちグループBとグループCとの双方に所属しているしているが、グループCからの離脱処理により、グループBのメンバテーブルにのみ記載されることとなる。
また、グループのメンバーである各端末は、故障している端末あるいは編入して勝手に離脱した端末を定期的に(所定の期間毎に)検出するため、例えば、メンバーテーブルに記載されている順番に、すなわち、自身の次にテーブルに記載されているメンバーが存在するか、または正常に動作しているか否かを、上記メンバに対して確認パケットを送信して、この確認パケットに対する応答パケットにより検出する(他の端末の監視を行う)。このとき、テーブルの最後に記載されている端末は、テーブルの最初に記載されている端末の監視を行う。
ここで、例えば、メンバーテーブルにおけるn番目(メンバーテーブルに書き込まれている順番)の端末nは直後のn+1番目の端末を監視し(監視パケットの送信及び応答パケットの受信等により)、直前のn−1番目の端末n−1に監視され、同様にこの端末n−1は直前の端末n−2に監視されている。
そして、直前の端末n−1は、端末nの状態を上述した処理により検出し、端末nが正常に動作していない(異常である)ことを検出すると、メンバ全員に対し、メンバテーブルの書き換え処理を同報通知する。
このとき、端末n−1は、端末nが異常であることを検出した場合、同一グループ内における端末n以外の他の全ての端末に対して、端末nが異常か否かの判定を依頼する。
そして、端末n−1は、他の1台以上の端末から、すなわちいずれかの端末から、端末nが異常であるとの判定結果が応答されると、メンバの端末全てに対して、端末nのメンバテーブル及び状態テーブルの書き換えを行うことを指示するため、同報通知を行う。
一方、端末n−1は、いずれの端末からも応答が無い場合、自身が異常である場合もあるため、グループサーバに対して、端末n及び端末n−1の状態を問い合わせる。
そして、端末n−1は、端末nが異常であるとグループサーバから通知されると、共有記憶領域からの端末nの削除を依頼する同報通知を行い、自身が異常であることを通知されると、自身を共有記憶領域から削除する事を依頼する同報通知を行い、グループから離脱する。
また、グループ内に2台しか端末が存在しないとき、互いに異常であると検出した場合、上述したように監視対象以外の端末に確認を依頼することができないため、直接に、グループサーバに対して、端末n及び端末n−1の状態を問い合わせる。
これにより上述したように、端末n−1は、グループに所属する全ての端末に対して、端末nの状態テーブルを削除することを同報通知する。
同様に、端末n−1は、グループに所属する全ての端末に対して、メンバーテーブルから端末nを削除することを同報通知する。
そして、グループに所属する各端末は、端末nの異常を検出した端末、すなわち端末n−1からの同報通知により、端末nの状態テーブルのデータを削除し、かつメンバーテーブルから端末nを削除する。
上述した検出処理により、グループ内の各端末は、自身の監視する端末がすでにグループに存在しないことを検出した場合や、その端末が故障して通話処理が行えないことを検出した場合、グループメンバである全ての端末に対して同報通知し、メンバーテーブルにおけるこの端末(異常が検出された端末)の削除、及び状態テーブルのデータの削除を要求し、グループ内の各端末が相互に異常か否かを監視している。
<着呼先でオンフックとした場合の回線の切断シーケンス>
次に、グループBに参加した端末B1(発呼元)が同一グループBに所属する端末B2(着呼先)に電話をかけ、着呼先の端末B2が先にオンフック状態になった場合の回線の切断のシーケンスを図8を用いて説明する。
図8のシーケンス図は、図6及び図7のステップS7から後のシーケンス処理を示している。
この処理の説明において、共有記憶領域における共有データの同期処理を、一例として、「グループ内におけるコールシーケンス」と同様に、先の「グループ内の共有記憶領域の同期処理」における”a”の方法を用いて説明する。
また、グループ内で共有する共有データの変更を同期を取って行う処理は、すでに説明した「グループ内におけるコールシーケンス」と同様のため、データ変更端末に同期処理を依頼するとして、データ変更端末の変更処理について、以降の説明において省略する。
ステップS7において、端末B2の通話処理部1は、利用者が受話器を取り上げたこと(オフフック状態)を検出すると、自身の共有記憶領域の状態テーブルにおける通信情報I1を「着信呼出中」から「着信通話中」に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼するとともに、経過時間T1をリセットして、新たに「着信通話中」に状態が変更してからの経過時間の計数を開始する。
これにより、データ変更端末は、端末B2からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信状態I1を、「着信呼出中」から「着信通話中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I1を、「着信呼出中」から「着信通話中」への変更に対してグループ内の同期をとる。
また、端末B2の通話処理部1は、新たに「着信通話中」に状態が変更してからの経過時間の計数を開始した後、所定の時間毎に計数した時間を経過時間T1へ書き込む同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B2からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の経過時間T1を、端末B2が計数した時間への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T1を、端末B2が計数した時間への変更に対してグループ内の同期をとる。
このとき、端末B2の通話処理部1は、スピーカから出力していた着信音を停止し、通話可能となったことを利用者に通知する。
そして、端末B1の通話処理部1は、端末B2の供給記憶領域の状態テーブルにおける通信状態I1が「着信通話中」に遷移したこと検出すると、自身の共有記憶領域の状態テーブルにおける通信状態I1を「呼出中」から「通話中」に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼するとともに、端末B2の共有記憶領域の状態テーブルにおける経過時間T2をリセットして、新たに「通話中」に状態が変更してからの経過時間の計数(カウント)を開始する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B1の通信状態I1を、「呼出中」から「通話中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B1の通信情報I1を、「呼出中」から「通話中」への変更に対してグループ内の同期をとる。
また、端末B1の通話処理部1は、新たに「通話中」に状態が変更してからの経過時間の計数を開始した後、所定の時間毎に計数した時間を経過時間T2へ書き込む同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T2を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の経過時間T2を、端末B1が計数した時間への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の経過時間T2を、端末B1が計数した時間への変更に対してグループ内の同期をとる(ステップS7)。
このとき、端末B1の通話処理部1は、スピーカから出力していた読び出し音を停止し、通話可能状態(すなわち、回線が接続された状態)となったことを利用者に通知し、通話を促す。
このステップS7においても、ステップS6の呼出中と同様に、発呼側及び着呼側双方の無線処理部1は、経過時間T1及び経過時間T2の時間が大幅にずれている場合、通信経路のトラフィックが高く音声通信が行えない場合や、一方が負荷によりシステムダウンしてしまった場合等により、端末間の通信状態が不良であり「故障」状態であるため、通話処理を継続することが不可能であることを判定すると通話処理を中止し、処理をステップS5へ進めて、通話処理を中止する。
次に、端末B2の通話処理部1は、利用者が受話器を端末B2に置いたこと(オンフック状態となったこと)を検出すると、自身の共有記憶領域の状態テーブルにおける通信情報I1を、「着信通話中」から「切断中(回線を切断する処理中であることを示す)」へ書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼する。
これにより、データ変更端末は、端末B2からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信状態I1を、「着信通話中」から「切断中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I1を、「着信通話中」から「切断中」への変更に対してグループ内の同期をとる。
そして、ステップS8’において、端末B1の通話処理部1は、端末B2の通信情報I1が「着信通話中」から「切断中」に遷移したことを検出すると、自身の共有記憶領域の状態テーブルにおける通話情報I1を「通話中」から「予約消中」に変更するとともに、端末B2の共有記憶領域の状態テーブルにおける通話情報I2を、「通話中」から「空き」に書き替える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼し、端末B1に対するアクセスの接続状態(接続された回線)を切断する。
これにより、データ変更端末は、端末B1からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信状態I2を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信状態I2を、「通話中」から「予約消中」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I2を、「通話中」から「予約消中」への変更に対してグループ内の同期をとる。
そして、端末B2の通話処理部1は、自身の共有記憶領域の状態テーブルにおける通信情報I2が「通話中」から「空き」に遷移したことを検出すると、通信情報I1を「着信通話中」から「空き」に書き換える同期処理を、自端末のID番号とともに、分割領域Q2を担当しているデータ変更端末へ送信して依頼し、端末B1に対するアクセスの接続状態(接続された回線)を切断する。
これにより、データ変更端末は、端末B2からの依頼により、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信状態I1を書き替えるとともに、グループ内の他の各端末に対して、共有記憶領域の状態テーブルにおけるID番号が端末B2の通信状態I1を、「着信通話中」から「空き」への書き替え処理の実行を促す通知を同報する。
そして、グループBに所属する各端末各々は、上記同報を受信することにより、自身の記憶部の共有記憶領域における状態テーブルのID番号が端末B2の通信情報I1を、「着信通話中」から「空き中」への変更に対してグループ内の同期をとる。
このとき、端末B2の通話処理部1は、通話が終了したことを示す回線切断を通知する音をスピーカから出力し、利用者に通話のアクセスが切断されたことを通知する。
これにより、端末B1及び端末B2双方は、ステップS0の待ち受け状態(発呼及び着呼のいずれも可能な状態)へ戻る。
上述の説明は、同一グループBにおける着呼先の端末B2とにおける回線の切断(着呼先が先にオンフック状態となった際の回線の切断)のシーケンスを説明したが、グループ間においても同様の処理が行われる。
<グループからの端末の離脱シーケンス>
端末のグループからの離脱は、参加しているグループから、また編入しているグループからも、処理方法として同様である。
すでに述べたように、通話終了時のステップS8において、端末B1の通話処理部1は、グループCから離脱する必要があるため、メンバーテーブルからの自身の削除をグループ内の他の全ての端末に対して同報通知する。
また、端末B1の通話処理部1は、データ変更端末に対して、自身のID番号に対応する状態テーブルの削除を、グループCにおけるそれぞれの分割領域の担当のデータ変更端末に依頼する。
すなわち、端末B1自身がグループCに所属する各端末に対して、メンバーテーブルから端末B1を消去することを同報通知し、また、端末B1の状態テーブルのある分割領域に対応するデータ変更端末がグループCに所属する各端末に対して、端末B1の状態テーブルを消去することを同報通知する。
そして、グループCのメンバの各端末は、メンバーテーブルから離脱する端末B1の削除を行い、かつ状態テーブルを、データ変更端末から同報通知されたデータ内容に変更して、各データ変更端末の共有記憶領域と共有データの同期を取る。
また、グループのメンバーである各端末は、参加または編入している端末が、離脱を通知せずに勝手にグループから離脱した場合を検出するため、グループに所属するメンバである端末を定期的に(所定の期間毎に)監視、すなわち、メンバーテーブルに記載されている順番に、すなわち、自身の次にテーブルに記載されているメンバーが存在するか、または正常に動作しているか否かを、上記メンバに対して確認パケットを送信して、この確認パケットに対する応答パケットにより検出する(他の端末の監視を行う)。このとき、テーブルの最後に記載されている端末は、テーブルの最初に記載されている端末の監視を行う。
ここで、例えば、メンバーテーブルにおけるn番目(メンバーテーブルに書き込まれている順番)の端末nは直後のn+1番目の端末を監視し(監視パケットの送信及び応答パケットの受信等により)、直前のn−1番目の端末n−1に監視され、同様にこの端末n−1は直前の端末n−2に監視されている。
そして、直前の端末n−1は、端末nの状態を上述した処理により検出し、端末nが正常に動作していない(異常である)ことを検出すると、メンバ全員に対し、メンバテーブルの書き換え処理を同報通知する。
このとき、端末n−1は、端末nが異常であることを検出した場合、同一グループ内における端末n以外の他の全ての端末に対して、端末nが異常か否かの判定を依頼する。
そして、端末n−1は、他の1台以上の端末から、すなわちいずれかの端末から、端末nが異常であるとの判定結果が応答されると、メンバの端末全てに対して、端末nのメンバテーブル及び状態テーブルの書き換えを行うことを指示するため、同報通知を行う。
一方、端末n−1は、いずれの端末からも応答が無い場合、自身が異常である場合もあるため、グループサーバに対して、端末n及び端末n−1の状態を問い合わせる。
そして、端末n−1は、端末nが異常であるとグループサーバから通知されると、共有記憶領域からの端末nの削除を依頼する同報通知を行い、自身が異常であることを通知されると、自身を共有記憶領域から削除する事を依頼する同報通知を行い、グループから離脱する。
また、グループ内に2台しか端末が存在しないとき、互いに異常であると検出した場合、上述したように監視対象以外の端末に確認を依頼することができないため、直接に、グループサーバに対して、端末n及び端末n−1の状態を問い合わせる。
これにより上述したように、端末n−1は、グループに所属する全ての端末に対して、端末nの状態テーブルを削除することを同報通知する。
同様に、端末n−1は、グループに所属する全ての端末に対して、メンバーテーブルから端末nを削除することを同報通知する。
そして、グループに所属する各端末は、端末nの異常を検出した端末、すなわち端末n−1からの同報通知により、端末nの状態テーブルのデータを削除し、かつメンバーテーブルから端末nを削除する。
上述した検出処理により、グループ内の各端末は、自身の監視する端末がすでにグループに存在しないことを検出した場合や、その端末が故障して通話処理が行えないことを検出した場合、グループメンバである全ての端末に対して同報通知し、メンバーテーブルにおけるこの端末(異常が検出された端末)の削除、及び状態テーブルのデータの削除を要求し、グループ内の各端末が相互に異常か否かを監視している。
なお、図2における通話処理部1,着呼先グループ検出部2,グループ内着呼先端末状態検出部3,グループ間着呼先端末状態検出部4,共有機能部6の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりコールシーケンスの処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
本発明の一実施形態における電話交換システムの接続例を示す概念図である。 本発明の一実施形態の電話交換システムにおいて使用する端末の構成例を示すブロック図である。 端末のグループへの参加の処理を説明する概念図である。 端末のグループへの参加の処理を示すシーケンス図である。 コールシーケンスにおける発呼及び着呼の処理を説明する状態遷移図である。 コールシーケンスにおける発呼及び着呼の処理を示すシーケンス図である。 コールシーケンスにおける発呼及び着呼の処理を示すシーケンス図である。 コールシーケンスにおいて、着呼先が回線の切断を行う場合のシーケンス図である。 参加しているグループと異なるグループへの編入処理を説明する概念図である。
符号の説明
1…通話処理部
2…着呼先グループ検出部
3…グループ内着呼先端末状態検出部
4…グループ間着呼先端末状態検出部
5…記憶部
6…共有機能部

Claims (22)

  1. ネットワークに接続された複数の端末が、各端末の固有情報及び通信状態を示す通信情報からなる端末情報を共有する、1つまたは複数の端末からなるグループを形成し、各グループ毎に、同一のグループに属する全ての端末の端末情報を格納する共有記憶領域が複数の端末に設けられ、端末の編入または離脱を含む端末状態の遷移により、グループに属する端末情報が変更される毎に、各グループ内の共有記憶領域の情報の同期を取るため、共有記憶領域に記憶されている端末情報の更新制御を行うネットワーク情報共有機能を有する電話交換システムであり、
    前記各端末が、
    通話処理を行う際、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出手段と、
    着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出手段と、
    着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出手段と、
    検出された通信情報に基づき、着呼先の端末との間の通話処理を実行する通話処理手段と
    を有することを特徴とする電話交換システム。
  2. 前記グループ内着呼先端末状態検出手段及びグループ間着呼先端末状態検出手段が前記通信情報から着呼先が空き状態であることを検出すると、前記通話処理手段が着呼先の端末のグループの共有記憶領域に、通信情報として着呼情報を書き込むとともに、自身の通信情報として発信情報を書き込み、着呼先の端末の通話処理手段が前記着呼情報に基づき、自身の通信情報を変更することにより、相互の通話処理を行うことを特徴とする請求項1記載の電話交換システム。
  3. 共有記憶領域において各端末毎に、自身の端末情報を書き込む自端末情報記憶領域と、他の端末からみた通信状態を、該他の端末が端末情報として書き込む着信端末情報記憶領域とからなる状態テーブルが設けられていることを特徴とする請求項1または請求項2に記載の電話交換システム。
  4. 共有記憶領域において各端末毎に、端末が属するグループの全ての端末と、該端末のアドレスとが対応付けられたメンバテーブルが設けられていることを特徴とする請求項1から請求項3のいずれかに記載の電話交換システム。
  5. 発呼元である端末が、通話処理において、着呼先の端末のグループに編入し、該着呼先の端末の着信端末情報記憶領域における通信情報欄に着呼情報として予約中の情報を書き込むことにより発呼処理を行うことを特徴とする請求項4記載の電話交換システム。
  6. 着呼先である端末が、自身の共有記憶領域の着信端末情報記憶領域における通信情報欄に、発呼元の端末の予約中の情報の書込を検出することにより、自身が着呼の受け状態にあることを検出することを特徴とする請求項4記載の電話交換システム。
  7. 発呼側が発呼中において、着呼側の着信端末情報記憶領域における通信情報欄に着呼情報として予約中の情報を書き込む際、あらかじめ設定されている所定の回数、予約中の情報の書き込み処理を行えなければ、呼の切断を行うことを特徴とする請求項3から請求項6のいずれかに記載の電話交換システム。
  8. 発呼処理及び着呼処理の状態遷移後に、着呼側の共有記憶領域における自端末情報記憶領域及び着信端末情報記憶領域各々の経過時間を、着呼側及び発呼側双方が検出し、経過時間のずれが所定値を超えているか否かで呼の切断の有無を判定することを特徴とする請求項6または請求項7に記載の電話交換システム。
  9. 着信中のOFFフック期間において、着呼側が、自身の状態を変更してから計数した経過時間と、発呼側がOFFフック状態に変更するまでの経過時間とを検出して、経過時間の差が予め設定した時間を超えたか否かで呼の切断の有無の判定を行うことを特徴とする請求項8記載の電話交換システム。
  10. 着呼側が共有記憶領域の着信端末情報記憶領域における通信情報欄の発呼側の状態を参照し、自身への通話の状態でなくなったことを検出すると接続を切断することを特徴とする請求項3から請求項9のいずれかに記載の電話交換システム。
  11. 端末がグループから離脱した際、該端末の情報が共有記憶部に残っている場合、所定の端末が共有記憶部から離脱した端末の情報を消去することを特徴とする請求項1から請求項10のいずれかに記載の電話交換システム。
  12. 前記着呼先グループ検出手段が、発呼の処理の際に、前記着呼先の属するグループの識別番号を検出する処理を行うことを特徴とする請求項1から請求項11のいずれかに記載の電話交換システム。
  13. 着呼先グループ検出手段が、着呼先の電話番号に対して所定の演算を行い、該演算結果としてグループの識別番号を求めることを特徴とする請求項12に記載の電話交換システム。
  14. 着呼先グループ検出手段が、電話番号とグループの識別番号との対応表を有する端末管理サーバに問い合わせて、問い合わせ結果として、グループの識別番号を求めることを特徴とする請求項12に記載の電話交換システム。
  15. 着呼先グループ検出手段が、グループ内の他の端末に対し、電話番号に対応するグループ番号を問い合わせて、問い合わせ結果として、グループの識別番号を求めることを特徴とする請求項12に記載の電話交換システム。
  16. 着呼先グループ検出手段が、共有記憶部に記憶されている電話番号とグループ番号との対応表により、電話番号に対応したグループ番号を抽出し、抽出結果として、グループの識別番号を求めることを特徴とする請求項12に記載の電話交換システム。
  17. グループ内の各共有記憶領域の記憶内容の同期をとるため、共有記憶領域に記憶されている共有データの変更を検出して、各端末に変更内容を同報するデータ変更端末が設けられていることを特徴とする請求項1から請求項16のいずれかに記載の電話交換システム。
  18. 前記データ変更端末が同報処理を行う毎に、グループ内の端末を順に次のデータ変更端末として設定することを特徴とする請求項17に記載の電話交換システム。
  19. 前記データ変更端末の通知により、各端末がデータ変更端末の共有記憶領域のデータを読み込み、共有記憶領域の同期をとることを特徴とする請求項17または請求項18に記載の電話交換システム。
  20. ネットワークに接続された複数の端末が、各端末の固有情報及び通信状態を示す通信情報からなる端末情報を共有する、1つまたは複数の端末からなるグループを形成し、各グループ毎に、同一のグループに属する全ての端末の端末情報を格納する共有記憶領域が複数の端末に設けられ、端末の編入または離脱を含む端末状態の遷移により、グループに属する端末情報が変更される毎に、各グループ内の共有記憶領域の情報の同期を取るため、共有記憶領域に記憶されている端末情報の更新制御を行うネットワーク情報共有機能を有する電話交換方法であり、
    前記各端末の行う通話過程が、
    通話処理を行う際、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出過程と、
    着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出過程と、
    着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出過程と、
    検出された通信情報に基づき、着呼先の端末との間の通話処理を実行する通話処理過程と
    を有することを特徴とする電話交換方法。
  21. ネットワークに接続された複数の端末が、各端末の固有情報及び通信状態を示す通信情報からなる端末情報を共有する、1つまたは複数の端末からなるグループを形成し、各グループ毎に、同一のグループに属する全ての端末の端末情報を格納する共有記憶領域が複数の端末に設けられ、端末の編入または離脱を含む端末状態の遷移により、グループに属する端末情報が変更される毎に、各グループ内の共有記憶領域の情報の同期を取るため、共有記憶領域に記憶されている端末情報の更新制御を行うネットワーク情報共有処理を有する電話交換をコンピュータに実行させるプログラムであり、
    前記各端末の行う通話処理が、
    通話処理を行う際、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出処理と、
    着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出処理と、
    着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出処理と、
    検出された通信情報に基づき、着呼先の端末との間の通話処理を実行する通話処理処理と
    を有するコンピュータの実行可能なプログラム。
  22. ネットワークに接続された複数の端末が、各端末の固有情報及び通信状態を示す通信情報からなる端末情報を共有する、1つまたは複数の端末からなるグループを形成し、各グループ毎に、同一のグループに属する全ての端末の端末情報を格納する共有記憶領域が複数の端末に設けられ、端末の編入または離脱を含む端末状態の遷移により、グループに属する端末情報が変更される毎に、各グループ内の共有記憶領域の情報の同期を取るため、共有記憶領域に記憶されている端末情報の更新制御を行うネットワーク情報共有機能を有する電話交換システムに用いる端末であり、
    通話処理を行う際、着呼先と発呼元である自身とが同一グループに属しているか否かを検出する着呼先グループ検出手段と、
    着呼先が自身と同一グループである場合、グループ内の共有記憶領域における着呼先の通信情報を検出するグループ内着呼先端末状態検出手段と、
    着呼先が自身の所属するグループと異なるグループの場合、着呼先の端末の属するグループの共有記憶領域に自身の端末情報の登録処理を行い、着呼先のグループに編入し、このグループ内の共有記憶領域における着呼先の通信情報を検出するグループ間着呼先端末状態検出手段と、
    検出された通信情報に基づき、着呼先の端末との間の通話処理を実行する通話処理手段と
    を有することを特徴とする端末。
JP2005343937A 2005-11-29 2005-11-29 電話交換システム及び電話交換方法及び電話交換プログラム Expired - Fee Related JP4037432B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005343937A JP4037432B2 (ja) 2005-11-29 2005-11-29 電話交換システム及び電話交換方法及び電話交換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005343937A JP4037432B2 (ja) 2005-11-29 2005-11-29 電話交換システム及び電話交換方法及び電話交換プログラム

Publications (2)

Publication Number Publication Date
JP2007150841A true JP2007150841A (ja) 2007-06-14
JP4037432B2 JP4037432B2 (ja) 2008-01-23

Family

ID=38211692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005343937A Expired - Fee Related JP4037432B2 (ja) 2005-11-29 2005-11-29 電話交換システム及び電話交換方法及び電話交換プログラム

Country Status (1)

Country Link
JP (1) JP4037432B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009033258A (ja) * 2007-07-24 2009-02-12 Nippon Telegr & Teleph Corp <Ntt> 通信装置、通信方法および通信プログラム
WO2012014824A1 (en) * 2010-07-28 2012-02-02 Ricoh Company, Ltd. Transmission management system and transmission system
JP2013232931A (ja) * 2010-07-28 2013-11-14 Ricoh Co Ltd 伝送管理システム、伝送システム、伝送管理システム用プログラム、及び、接続方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009033258A (ja) * 2007-07-24 2009-02-12 Nippon Telegr & Teleph Corp <Ntt> 通信装置、通信方法および通信プログラム
WO2012014824A1 (en) * 2010-07-28 2012-02-02 Ricoh Company, Ltd. Transmission management system and transmission system
JP2012050063A (ja) * 2010-07-28 2012-03-08 Ricoh Co Ltd 伝送管理システム及び伝送システム
US20130117373A1 (en) * 2010-07-28 2013-05-09 Naoki Umehara Transmission management system and transmission system
JP2013232931A (ja) * 2010-07-28 2013-11-14 Ricoh Co Ltd 伝送管理システム、伝送システム、伝送管理システム用プログラム、及び、接続方法
US8782229B2 (en) 2010-07-28 2014-07-15 Ricoh Company, Ltd. Transmission management system and transmission system
US9043399B2 (en) * 2010-07-28 2015-05-26 Ricoh Company, Ltd. Transmission management system and transmission system
US20150256998A1 (en) * 2010-07-28 2015-09-10 Naoki Umehara Transmission management system and transmission system
US9578491B2 (en) 2010-07-28 2017-02-21 Ricoh Company, Ltd. Transmission management system and transmission system

Also Published As

Publication number Publication date
JP4037432B2 (ja) 2008-01-23

Similar Documents

Publication Publication Date Title
JP4386905B2 (ja) 遠距離通信のエンドポイントのための効率的な負荷分散およびハートビート機構
TW201006272A (en) Method and apparatus for maintaining communications connections over a distributed wireless network
CN1894936B (zh) 网络器件的后备
EP1797688A1 (en) System and methods for a survivable remote network
JP2009518879A (ja) 通信システムおよび方法
JP4522449B2 (ja) 電話装置
US7609663B2 (en) Method for establishing a communication connection in a direct communication network
JP2006101528A (ja) ループ通信チャネルの検出
JP4037432B2 (ja) 電話交換システム及び電話交換方法及び電話交換プログラム
US8515458B2 (en) Wireless telephone system, relay device, and wireless telephone device
KR102185260B1 (ko) 호 처리를 위한 릴레이 장치, 릴레이 장치에 의해 수행되는 호 처리 방법 및 호 처리 방법을 실행하는 프로그램이 기록된 기록매체
JP4679483B2 (ja) Ip通話端末切り替え装置及び方法
CN103001987B (zh) 一种数据处理方法和数据处理节点
JP5110915B2 (ja) 無線ip電話機及び無線ip電話機システム
US20060067327A1 (en) Information distribution system, method and network devices
JP3915570B2 (ja) インターネット電話装置及びプログラム
WO2009107494A1 (ja) コールバックシステム、発信端末、電話中継サーバ、コールバック方法、及びコールバックプログラム
US8630254B2 (en) Telephone line switching apparatus, telephone line switching system, telephone relay system, telephone relay method, telephone relay program
KR101397543B1 (ko) 원넘버 VoIP 브릿지 호(Call) 제어시스템 및 방법
JP5094163B2 (ja) 無線ip電話機及び無線ip電話機システム
WO2017000482A1 (zh) 一种语音协议切换方法和语音终端设备
KR101041386B1 (ko) 푸쉬서버를 이용하여 스마트폰에서 인터넷 전화를 연결하도록 하는 인터넷 전화 시스템
JP5282439B2 (ja) 電話アダプタ、電話端末および呼接続方法
JP2006270195A (ja) 発信規制装置及び発信規制方法
JP2013211686A (ja) サーバ装置、プログラム及び情報処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071023

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071031

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131109

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141109

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees