説明

電話交換機主装置、電話交換機システム及び電話帳データ管理方法

【課題】 ネットワークに対する主装置の追加、削除を容易に行える電話交換機システムを提供する。
【解決手段】 ネットワークに電話交換機主装置10を接続し、他の電話交換機主装置20及び30とピアツーピアで接続する。DHT(分散ハッシュテーブル)16及びDHT制御プログラム18により、各主装置が有する電話帳データを分散管理する。これにより、各主装置は、他の主装置が有する電話帳データを保持する必要がない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の電話交換機主装置がネットワークを介して互いに接続された電話交換機システムに関し、特にその電話帳データの管理方法に関する。
【背景技術】
【0002】
電話交換機システムは、電話交換機主装置と、それ接続される複数の電話機により構成され、ネットワークを介して複数の電話交換機システムを相互に接続することにより、より大規模の電話交換機システムを構成することができる。
【0003】
複数の電話交換機システムがネットワークで接続された従来の電話交換機システムは、例えば、図6に示すように、ネットワークを介して接続される複数の電話交換機主装置100,200,300と、これら複数の電話交換機主装置にそれぞれ接続される複数の電話機(各々1台のみ示す)とからなる。
【0004】
電話交換機主装置100は、CPU101、IPインターフェース102、VoIP用CODEC103、メモリ104、及び電話機インターフェース108を備えている。
【0005】
メモリ104は、電話帳データなどの管理データを格納するメモリ空間107と、他システム(電話交換機主装置200あるいは300とそれに接続される電話機)の情報を設定するためのメモリ空間105、および呼毎に相手の名称や電話番号(内線番号)などを管理するためのメモリ空間106を含む。
【0006】
電話交換機主装置100は、電話機インターフェース108を介して電話機からの発呼を受け取ると、メモリ空間107に格納されている電話帳データを検索して接続先を認識する。そして、電話交換機主装置100は、認識した接続先に対して接続要求を行い、応答すれば呼を設定する。
【0007】
電話交換機主装置200及び300は、それぞれ、電話交換機主装置100と同一に構成され、同様に動作する。
【0008】
このような電話交換機システムは、例えば、特許文献1に記載されている。
【0009】
他方、コンピュータネットワークシステムの分野では、ピアツーピアネットワークに分散ハッシュテーブルを用い、高速検索、高速ルーティングが可能で、頻繁なノードの参加・離脱にも対応可能、といった特徴を持つネットワークシステムが種々提案されている(例えば、特許文献2参照。)。
【0010】
【特許文献1】特開2004−312440号公報
【特許文献2】特開2004−266796号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
従来の電話交換機システムでは、ネットワークに新たな電話交換機主装置を接続する場合に、新たに接続される電話交換機主装置の設定だけでなく、既にネットワークに接続されている電話交換機主装置の設定変更も行う必要がある。また、ネットワーク接続されているいずれかの電話交換機主装置をネットワークから切り離す場合にも、他の電話交換機主装置の設定変更を行う必要がある。これは、各電話交換機主装置が他の電話交換機主装置が有するデータを参照する仕組みを持っていないので、ネットワークに接続された全ての電話交換機主装置が同一の電話帳データを持つように更新しなければならない、などのためである。
【0012】
このように、従来の電話交換機システムでは、ネットワークに対する電話交換機主装置の追加・削除に伴い、煩雑な作業が必要であるという問題点がある。また、各電話交換機主装置の設定作業は手作業で行われるため、誤設定が生じやすいという問題点もある。
【0013】
また、従来のピアツーピアネットワークは、電話交換機システムへの適用が全く考慮されていないという問題点がある。
【0014】
そこで、本発明は、ネットワークに対する主装置の追加、削除が容易に行える電話交換機システムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明は、IPネットワークに接続可能な電話交換機主装置において、前記IPネットワークに接続された1以上の他の電話交換機主装置とピアツーピア接続するためのネットワーク接続手段と、電話帳データを前記他の電話交換機主装置との間で分散管理するための分散ハッシュテーブルを備えたデータ管理手段と、を有していることを特徴とする。
【0016】
また、本発明の電話交換機システムは、上記電話交換機主装置が前記IPネットワークに複数接続されたことを特徴とする。
【0017】
さらに、本発明は、複数の主装置がIPネットワークを介して互いに接続される電話交換機システムの電話帳データ管理方法において、前記複数の主装置が夫々有する電話帳データを、分散ハッシュテーブルを用いて前記複数の主装置で分散管理するようにしたことを特徴とする。
【発明の効果】
【0018】
本発明によれば、ピアツーピアにより複数の主装置を接続し、分散ハッシュテーブルを用いて電話帳データを管理するようにしたことで、主装置の追加及び削除を容易に行うことができる。
【0019】
また、いずれかの主装置に障害が発生しても、それ以外のシステムの機能を維持することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の一実施の形態に係る(大規模)電話交換機システムについて図面を参照して詳細に説明する。
【0021】
図1において、電話交換機主装置(以下、単に主装置という。)10,20,30は、夫々電話機40,50,60に接続され、小規模電話交換機システム(以下、単にシステムという場合は、小規模電話交換システムを指す。)を構成している。これら主装置10,20,30は、また、IPネットワーク40に接続され、大規模電話交換機システムを構成している。主装置10,20及び30の構成は全て同一なので、以下では主装置10について説明する。
【0022】
主装置10は、プログラム制御により動作するCPU11、IPインターフェース12、音声を音声パケットに変換するCODEC13、電話帳データやDHT(分散ハッシュテーブル)を格納するメモリ14、DHTを制御するためのDHT制御プログラム18、及び電話機とのインターフェース19を有している。
【0023】
CPU11は、IPインタフェース及びメモリ14に格納された制御プログラムとともに、ネットワークに接続された他の主装置とのビアツーピア接続を実現するネットワーク接続手段として機能する。また、CPU11は、メモリ14に格納されたDHT及びDHT制御プログラム18とともに、他の主装置と電話帳データなどを分散管理するデータ管理手段として機能する。
【0024】
メモリ14は、分散ハッシュテーブルを用いた検索結果を一次記憶するキャッシュ空間15、DHTを格納するメモリ空間16、電話帳データを格納するメモリ空間17を有する。メモリ14は、また、図示しないルーチングテーブルやスキップリスト、その他必要な情報を格納するメモリ空間(図示せず)を有する。メモリ14は、DHT制御プログラム18を格納してもよい。
【0025】
次に、図1の電話交換機システムの動作について図2乃至図4を参照して説明する。なお、ここではChordアルゴリズムを想定している。
【0026】
主装置10は、起動されると(ステップS301)、まず、自ノードID(ユニークなID)を生成する(ステップS302)。自ノードIDの生成は、CPU11がDHT制御プログラム18を実行することにより、予め定義されているハッシュ関数(例えば、SHA−1)を用いてハッシュ値(=ノードID)を求めることにより行われる。
【0027】
次に、主装置10は、IPインターフェース12を介して、自ノードIDを近隣のシステムにブロードキャストし(ステップS303)、近隣システムからの応答を待つ。
【0028】
近隣システムの主装置は、ブロードキャストによるノードIDを受け取ると、予め定められたルールに従って応答信号を生成し、主装置10へ送信する。応答信号には、例えば、近隣システムの主装置が保持するルーチングテーブルやスキップリストにより管理される他システムのノードIDが含まれる。
【0029】
主装置10は、自ノードIDをブロードキャストした後、所定時間が経過するまで、近隣システムからの応答を待つ。応答がなければ、主装置10は、そのまま待機状態に移行する。
【0030】
主装置10は、近隣システムからの応答を受信することにより、他システムのノードIDを取得する(ステップS204)。そして、主装置10は、近隣システムからの応答に基づいてDHT(分散ハッシュテーブル)16を生成する(ステップS205)。
【0031】
次に、主装置10は、近隣システムの応答に含まれる他システムのノードIDを利用するなどして、論理ネットワーク上の検索順が自システムの次に当たるシステム(ノードID=X)を特定する。そして、主装置10は、ノードID=Xのシステムに対し、そのシステムが管理しているハッシュデータの一部を、自システムへ委譲するように要求する(ステップS206)。
【0032】
データ委譲の要求を受けたノードID=Xの主装置は、自身が管理するハッシュデータのうち、主装置10が管理すべきものとなったデータを主装置10へ送信する。
【0033】
主装置10は、ノードID=Xの主装置から送信されたデータを受信すると(ステップS207)、受信したデータをDHTに登録する。また、自身が管理する電話帳データ17をハッシュデータに変換し、自身が管理すべきハッシュデータ以外のデータを対応する他の主装置に送信する。その後、主装置10は、待機状態へ移行する(ステップS208)。
【0034】
主装置10からのハッシュデータを受け取った他の主装置は、受け取ったハッシュデータを自身のDHTに追加登録する。
【0035】
主装置10を含むシステムの大規模電話交換機システムへの追加及びデータの分散管理が実現する。
【0036】
次に、図3を参照して、上記の動作についてさらに説明する。
【0037】
Chordアルゴリズムにおいては、複数の主装置が論理的に図3の上部に示されるようにリング状に接続される。ここでは、説明を簡単にするため、最大ノード数を2=16個としている。また、主装置A,B,D,及びEが、夫々、ノード11,0,13および9に接続されているものとし、他のノードは空状態であるとする。
【0038】
いま、主装置Cがネットワークに接続され、自身のノードIDとしてノードID=5を生成したとする。
【0039】
上述したように、主装置Cは、ノードID=5をネットワーク上にブロードキャストする。ネットワーク上には、主装置A,B,DおよびEが存在するので、これらからの応答が得られる。
【0040】
各主装置A,B,D,Eは、少なくとも論理ネットワーク上で両隣に位置する主装置のノードID及びIPアドレスを知っている。例えば、主装置Aは、ノードID=9に位置する主装置EとノードID=13に位置する主装置DのIPアドレスを知っている。したがって、主装置Cは、主装置A,B,DおよびEからの応答に基づいて、論理ネットワーク上でノードID=5の次に位置する主装置がノードID=9の主装置Eであること、及びその物理ネットワーク上の位置(IPアドレス)を認識できる。また、論理ネットワーク上でノードID=5の前に位置する主装置がノードID=0の主装置Bであること、及びその物理ネットワーク上の位置(IPアドレス)を認識できる。
【0041】
一方、ノードID=0の主装置Bは、主装置Cのブロードキャストにより、論理ネットワーク上で次に位置する主装置が、ノードID=9の主装置Eから、ノードID=5の主装置Cとなったことを認識する。同様に、ノードID=9の主装置Eは、主装置Cのブロードキャストにより、論理ネットワーク上で前に位置する主装置が、ノードID=0の主装置Bから、ノードID=5の主装置Cとなったことを認識する。
【0042】
また、各主装置が分散管理すべきハッシュデータは、ノードIDの生成と同一のハッシュ関数を使用して生成されるため、論理ネットワークの最大ノード数と同じ16個のグループに分類される。つまり、論理ネットワーク上の全てのノードに主装置が接続されている場合には、各主装置が1グループのハッシュデータを管理する。主装置が接続されていないノードが存在する場合には、次のノードに接続された主装置がそのデータを管理する。次のノードにも主装置が接続されていなければ、さらに次のノードに接続された主装置がそれらの空ノードに対応するデータを管理する。例えば、図3において、主装置Cが接続される以前は、ノードID=9に接続された主装置Eが、ノードID=1〜9に接続される主装置が管理すべき9個のグループのハッシュデータを管理する。
【0043】
主装置Cは、論理ネットワーク上で次に位置する主装置がノードID=9の主装置Eであると認識したならば、ノードID=5より前のハッシュデータの委譲を要求する。主装置Eは、ノードID=1〜5に接続される主装置が管理すべきハッシュデータを主装置Cに引き渡す。
【0044】
主装置Cが有するデータはハッシュデータに変換され、対応する主装置のDHTに登録管理される。
【0045】
以上のようにして、主装置Cの大規模電話交換機システムへの追加が行われる。
【0046】
次に、上記電話交換機システムにおけるデータ検索について説明する。
【0047】
Chordアルゴリズムにおけるデータ検索は、常に時計回りの行われる線型探索を基本とするが、スキップリストという概念を導入することにより高速サーチを可能にしている。
【0048】
例えば、ノードID=0の主装置BがノードID=11の主装置Aが管理するデータを参照する場合、単純線形検索では、ノードID=0→ノードID=5→ノードID9→ノードID11の順に検索が行われる。しかし、スキップリストを利用すると、ノードID=0→ノードID9→ノードID11となる。
【0049】
さらに、図1及び図4を参照して、主装置10のデータ検索動作について説明する。
【0050】
(小規模)電話交換機システムの処理において(ステップS401)、他システムにて管理しているデータが必要となったときに、データの要求が発生する(ステップS402)。
【0051】
主装置10は、データ要求が発生すると、DHT制御プログラムを用いて、要求データのハッシュ値を求める(ステップS403)。
【0052】
それから主装置10は、求めたハッシュ値が、キャッシュ用メモリ空間15に存在しないかチェックする(ステップS404)。
【0053】
求めたハッシュ値が既にキャッシュ用メモリ空間15に格納されているならば、それに関連付けて同じくキャッシュ用メモリ空間15に格納されている関連データを取り出し、内部処理に用いる(ステップS409)。
【0054】
キャッシュ用メモリ空間15に求めたハッシュ値が格納されていなければ、ルーティングテーブルやスキップリストに基づき、検索を依頼すべき主装置のIPアドレスを取得する(ステップS405)。
【0055】
次に、主装置10は、取得したIPアドレスの主装置に対して先に求めたハッシュ値の検索を依頼する(ステップS406)。検索依頼を受けた主装置は、受け取ったハッシュ値が自身の管理するデータでない場合は、ルーティングテーブルに従って、論理ネットワーク上の次の主装置に検索を依頼する。検索依頼の対象となったハッシュ値が見つかると、それに関連付けられた関連データが、検索依頼とは逆の経路をたどって、主装置10に送られる(ステップS407)。
【0056】
主装置10は、受け取ったハッシュ値及び関連データをキャッシュ用メモリ空間15に格納した後(ステップS408)、内部処理に使用する(ステップS409)。
【0057】
主装置10が、他の主装置からの検索依頼を受けた場合、受け取ったハッシュ値が自身の管理するデータでなければ、ルーティングテーブルに従って、論理ネットワーク上の次の主装置に検索を依頼する。受け取ったハッシュ値が自身が管理するデータの場合は、DHT16を検索し、対応する関連データを読み出して、依頼元の主装置へ送信する。
【0058】
以上のようにして、本実施の形態に係る大規模電話交換機システムでは、データの分散管理と高速検索が実現できる。
【0059】
本実施の形態に係る大規模電話交換機システムによれば、電話交換機主装置をIPインターフェースにてネットワークに接続し、電話交換機主装置間をピアツーピア接続としたことにより、システム追加の際には名称設定(ID設定)のみ行えばよく、接続先の人手による設定等の必要がない。また、システム削除の際には、何ら人手による設定変更を行う必要がない。つまり、本実施の形態に係る大規模電話交換機システムでは、主装置(小規模電話交換機システム)の追加、削除に伴うDHT等の書き換えが自立的に行われるので、システムの追加削除が容易に行える。また、システム削除のDHT等の書き換えが自立的に行われるので、障害発生時にも同様の処理を行うことにより、障害が発生したシステム以外のシステムは正常に動作することができる。
【0060】
また、本実施の形態に係る大規模電話交換機システムでは、分散ハッシュテーブルの利用により、ネットワーク上の負荷分散と負荷軽減とを実現できる。
【0061】
また、一度検索したデータは、キャッシュ用メモリ空間に格納されるので、検索頻度の高いデータについては、他の主装置に検索依頼することなく検索結果が得られ、より高速な検索と、ネットワークの負荷軽減が可能である。
【0062】
次に、本発明の他の実施の形態に係る大規模電話交換機システムについて図5を参照して詳細に説明する。
【0063】
図5はCAN(Content-Addressable Network)アルゴリズムを用いて分散ハッシュテーブルを管理する様子を示している。各主装置の構成は、図1に示すものと同じであり、動作もまた、図2及び図4に示すフローチャートとほぼ同じである。
【0064】
CANでは、各システムが管理するデータはn次元トーラス空間として表される。
【0065】
今、(1,0)×(0,1)の2次元正方空間を考える。ネットワークに接続されているシステムはhash_x()とhash_y()というハッシュ関数により、論理空間上のハッシュ値(x,y)(但し、0<x<1,0<y<1)を持ち、そのハッシュ値を含む空間を個々に管理する。
【0066】
図5において、主装置Aはハッシュ値(a,b)を持ち、(0,m)(u,t)(u,1)(0,1)で囲まれた空間を管理している。ここで、ハッシュ値(a,b)がノードIDに相当する。同様に、主装置Bはハッシュ値(e,f)を持ち、(u,0)(1,0)(1,t)(u,t)で囲まれた空間を管理している。また、主装置Dはハッシュ値(g,h)(但し、u<i<1,t<j<s)を持ち、(u,t)(1,t)(1,1)(u,1)で囲まれた空間を管理している。さらに、主装置Eはハッシュ値(c,d)を持ち、(0,0)(u,0)(u,t)(0,t)で囲まれた空間を管理している。
【0067】
以上の状態において、新たにハッシュ値(i,j)を持つシステムCがネットワークに接続されたとすると、そのハッシュ値(i,j)(但し、u<i<1,s<j<1)は、システムDが管理する空間に含まれる。そこで、システムCは、ネットワークに接続されたことを近隣のシステムにブロードキャストし、自身を含む空間を管理しているのがシステムDであることを知る。
【0068】
その後システムC及びDは、自立的にシステムDが管理する空間を分割し、(u,s)(1,s)(1,1)(u,1)で囲まれた空間についての管理をシステムCへ委譲する。また、隣接するシステムに対して、(u,s)(1,s)(1,1)(u,1)で囲まれた空間について管理がシステムCに委譲されたことを通知する。
【0069】
データを探索するときは、要求するデータのハッシュ値(x,y)をあらかじめ定義されているハッシュ関数にて計算し、取得する。そのハッシュ値に基づいて、近隣の空間を管理しているシステムであって、その値に最も近いハッシュ値を持つシステムに対して要求を送信し、データを取得する。
【0070】
たとえば、システムEがシステムCにて管理されているデータ(q,r)を取得する場合、要求されているポイントは自分の管理空間にいないので、システムAに対して要求を送信する。システムAでは、ポイント(q,r)は隣のシステムCが管理している空間にいることがわかるので、システムCにデータの要求を送信する。
【0071】
以上のようにして、本アルゴリズムを使用した場合にも、高速な探索が可能となる。またキャッシュ用のメモリを利用することにより、さらに高速なデータ取得が可能となる。
【0072】
以上本発明について2つの実施の形態に即して説明したが、本発明は上記実施の形態に限定されるものではない。
【0073】
例えば、本発明は、同一電話機交換機システム内のVoIP電話機の接続にも利用できる。また、電話交換機システムとコンピュータとが混在するネットワークにも適用できる。
【0074】
電話交換機システムとコンピュータとが混在するネットワークでは、互いのデータを共有することにより、各ユーザによるシステムデータの変更や、電話交換機による各ユーザに関する情報収集(在席状況や、現在のステータス)などを行い、電話交換機システム内部のアプリケーションで利用するといったことが考えられる。
【図面の簡単な説明】
【0075】
【図1】本発明の一実施の形態に係る電話交換機システムの一構成例を示すブロック図である。
【図2】図1の電話交換機システムの主装置の起動時(ネットワークに接続されたとき)の動作を説明するためのフローチャートである。
【図3】図1の電話交換機システムの論理接続とデータ検索動作を説明するための図である。
【図4】図1の電話交換機システムのデータ検索動作を説明するためのフローチャートである。
【図5】本発明の他の実施の形態に係る電話交換システムにおけるデータ管理に利用されう論理空間を説明するための図である。
【図6】従来の電話交換機システムの一構成例を示すブロック図である。
【符号の説明】
【0076】
10,20,30 電話交換機主装置
11 CPU
12 IPインターフェース
13 CODEC
14 メモリ
15 キャッシュ用メモリ空間
16 DHT
17 電話帳データ用メモリ空間
18 DHT制御プログラム
19 電話機インタフェース
40 IPネットワーク
50,60,70 電話機
100,200,300 電話交換機主装置
101 CPU
102 IPインターフェース
103 CODEC
104 メモリ
105 接続先情報用メモリ空間
106 呼制御管理用メモリ空間
107 電話帳データ用メモリ空間
108 DHT制御プログラム

【特許請求の範囲】
【請求項1】
IPネットワークに接続可能な電話交換機主装置において、
前記IPネットワークに接続された1以上の他の電話交換機主装置とピアツーピア接続するためのネットワーク接続手段と、電話帳データを前記他の電話交換機主装置との間で分散管理するための分散ハッシュテーブルを備えたデータ管理手段と、を有していることを特徴とする電話交換機主装置。
【請求項2】
請求項1に記載された電話交換機主装置において、
前記データ管理手段がChordアルゴリズムを利用することを特徴とする電話交換機主装置。
【請求項3】
請求項1に記載された電話交換機主装置において、
前記データ管理手段がCANアルゴリズムを用いることを特徴とする電話交換機主装置。
【請求項4】
請求項1乃至3のいずれかに記載された電話交換機主装置が前記IPネットワークに複数接続されてなることを特徴とする電話交換機システム。
【請求項5】
複数の電話交換機主装置がIPネットワークを介して互いに接続される電話交換機システムの電話帳データ管理方法において、
前記複数の主装置が夫々有する電話帳データを、分散ハッシュテーブルを用いて前記複数の主装置で分散管理するようにしたことを特徴とする電話帳データ管理方法。
【請求項6】
請求項5に記載された電話帳データ管理方法において、
Chordアルゴリズムを用いることを特徴とする電話帳データ管理方法。
【請求項7】
請求項5に記載された電話帳データ管理方法において、
CANアルゴリズムを用いることを特徴とする電話帳データ管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−67667(P2007−67667A)
【公開日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願番号】特願2005−249556(P2005−249556)
【出願日】平成17年8月30日(2005.8.30)
【出願人】(000227205)NECインフロンティア株式会社 (1,047)
【Fターム(参考)】