(57)【要約】【課題】  クロスコールが発生する状況を解消し、速やかにセッションの確立することのできる通信装置を提供する。【解決手段】  通信端末１０３又は１０４の識別情報である第１の識別情報と、通信端末３０３又は３０４の識別情報である第２の識別情報と、を取得する識別情報取得部と、第１の識別情報及び第２の識別情報に基づいて、通信端末１０３又は１０４と通信端末３０３又は３０４とのセッション起動時の優先度を判定する優先度判定部１４２と、この優先度に基づいて、通信端末３０３又は３０４へ送信すべき呼制御に関するメッセージの種別を指定するメッセージ種別生成部１４３、指定された種別のメッセージを通信端末３０３又は３０４へ送信する送信部１５５と、を備える。【選択図】図３
2010252091.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置との間で通信を行う通信装置であって、
当該通信装置により管理される第１の通信装置の識別情報である第１の識別情報と、前記他の通信装置により管理される第２の通信装置の識別情報である第２の識別情報と、を取得する識別情報取得部と、
前記第１の識別情報及び前記第２の識別情報に基づいて、前記第１の通信装置と前記第２の通信装置とのセッション起動時の優先度を判定する優先度判定部と、
前記優先度に基づいて、前記第２の通信装置へ送信すべき呼制御に関するメッセージの種別を指定するメッセージ種別指定部と、
前記メッセージ種別指定部により指定された種別のメッセージを前記第２の通信装置へ送信するメッセージ送信部と、
を備える通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記第１の通信装置は、当該通信装置自身であり、
前記第２の通信装置は、前記他の通信装置自身である通信装置。
【請求項３】
請求項１または２に記載の通信装置であって、
前記メッセージ種別指定部は、前記優先度判定部により前記第２の通信装置より前記第１の通信装置の方が前記優先度が高いと判定された場合、前記メッセージの種別として発呼メッセージを指定する通信装置。
【請求項４】
請求項１または２に記載の通信装置であって、
前記メッセージ種別指定部は、前記優先度判定部により前記第２の通信装置よりも前記第１の通信装置の方が優先度が低いと判定された場合、前記メッセージの種別として発呼要求メッセージを指定する通信装置。
【請求項５】
請求項１ないし４のいずれか１項に記載の通信装置であって、
呼制御に関するメッセージを受信するメッセージ受信部と、
前記メッセージ送信部により発呼メッセージを送信した後に前記メッセージ受信部により発呼要求メッセージを受信した場合、前記発呼要求メッセージを無効と判定するメッセージ判定部と、
を備える通信装置。
【請求項６】
請求項１ないし４のいずれか１項に記載の通信装置であって、更に、
呼制御に関するメッセージを受信するメッセージ受信部を備え、
前記優先度判定部は、前記メッセージ送信部により発呼メッセージを送信した後に前記メッセージ受信部により発呼メッセージを受信したとき、前記優先度を判定する通信装置。
【請求項７】
他の通信装置との間で通信を行う通信装置における通信方法であって、
前記通信装置により管理される第１の通信装置の識別情報である第１の識別情報と、前記他の通信装置により管理される第２の通信装置の識別情報である第２の識別情報と、を取得するステップと、
前記第１の識別情報及び前記第２の識別情報に基づいて、前記第１の通信装置と前記第２の通信装置とのセッション起動時の優先度を判定するステップと、
前記優先度に基づいて、前記第２の通信装置へ送信すべき呼制御に関するメッセージの種別を指定するステップと、
前記メッセージ種別指定部により指定された種別のメッセージを前記第２の通信装置へ送信するステップと、
を有する通信方法。
【請求項８】
請求項７に記載の通信方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、及び記憶媒体に関し、特に、通信装置が相互に対等な関係で接続された状態で情報を直接通信するネットワークにおいて、ピアツーピア（Peer to Peer、以下、Ｐ２Ｐと略称する）通信に関するものである。
【背景技術】
【０００２】
Ｐ２Ｐ通信では、各通信装置がその時々に応じてサーバになったりクライアントになったりしながら動作し、通信を行うことができる。以下、相互に対等な関係で接続されたＰ２Ｐ通信に準じて、このようなＰ２Ｐ通信を行う通信装置をピアとも称する。
【０００３】
Ｐ２Ｐ通信を行うためのシステムとしては、ピア間のセッション確立を補助するためのサーバ（以下、インデックスサーバと称する）が存在するハイブリッドＰ２Ｐシステムや、ハイブリッドＰ２Ｐシステムの中でインデックスサーバを設けずにピアの中の特定のいくつかがインデックスサーバの役割を果たすスーパーノードＰ２Ｐシステムなどがある。
【０００４】
これらのシステムでは、インデックスサーバの技術のうち、通信相手を探すための手段として呼制御サーバを利用する方法がある。呼制御サーバでは、ＳＩＰ（Session Initiation Protocol）に規定された呼制御確立技術を用いて通信装置間のセッションを確立する制御を行う。ＳＩＰによる呼制御確立を行う際には、発呼側の通信装置からＩＮＶＩＴＥメッセージ（発呼メッセージ）を着呼側の通信装置に送信し、これに対し着呼側の通信装置がＩＮＶＩＴＥメッセージ受信後にＯＫメッセージ（着呼メッセージ）を発呼側の通信装置に送信し、さらに発呼側の通信装置がＯＫメッセージ受信後にＡＣＫメッセージ（着呼応答メッセージ）を着呼側の通信装置に送信することによって、セッションを確立することが一般的に行われている。この呼制御処理の手順は、スリーウェイハンドシェイク（3 Way Hand Shake：以下、３ＷＨＳと称する）と称する。このようにしてセッションを確立した後、Ｐ２Ｐ通信を行ってファイル送受信をすることが行われる。
【０００５】
このような３ＷＨＳの一例として、ＩＮＶＩＴＥメッセージを送信した後に他の呼制御処理を並行して行い、早期に通信を開始する技術が知られている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３４５４０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、Ｐ２Ｐ通信において各ピアはセッション確立を行うために互いに発呼メッセージを同時（多少のタイムラグも含む）に送信する可能性がある。この場合、双方のピアは発呼メッセージを送信したにも関わらず共に発呼メッセージを受信するために、各ピアはイレギュラーな処理と判断することになる。例えば、電話アプリケーションの場合には、互いのピアが同時に発呼メッセージを送信し、互いの相手側ピアが同時に受信するため、相互に通話状態と判断され、待機状態となる。この状態はクロスコールと称され、何らかのイレギュラー解除処理を行わない限り発呼処理を継続するので、その場合にはセッションはいつまでも確立されないことになる。
【０００８】
本発明は上記事情を鑑みてなされたものであって、クロスコールが発生する状況を解消し、速やかにセッションを確立することのできる通信装置、通信方法、および記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の通信装置は、他の通信装置との間で通信を行う通信装置であって、当該通信装置により管理される第１の通信装置の識別情報である第１の識別情報と、他の通信装置により管理される第２の通信装置の識別情報である第２の識別情報と、を取得する識別情報取得部と、第１の識別情報及び第２の識別情報に基づいて、第１の通信装置と第２の通信装置とのセッション起動時の優先度を判定する優先度判定部と、優先度に基づいて、第２の通信装置へ送信すべき呼制御に関するメッセージの種別を指定するメッセージ種別指定部と、メッセージ種別指定部により指定された種別のメッセージを第２の通信装置へ送信するメッセージ送信部と、を備える。
【００１０】
この構成により、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。例えば、中継装置として機能する通信装置が配下の通信端末を管理する場合に、配下の通信端末と他の中継装置が管理する通信端末との通信において、優先関係を判断し、クロスコールを防止するための処置を行うことができる。
【００１１】
また、本発明の通信装置は、第１の通信装置が、当該通信装置自身であり、第２の通信装置が、他の通信装置自身である。
【００１２】
この構成により、実際に他の通信装置との間で通信を行う通信端末自身がクロスコール防止のための処理を行うことで、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。
【００１３】
また、本発明の通信装置は、メッセージ種別指定部が、優先度判定部により第２の通信装置より第１の通信装置の方が優先度が高いと判定された場合、メッセージの種別として発呼メッセージを指定する。
【００１４】
この構成により、発呼メッセージは優先度が低い通信端末が送信する発呼要求メッセージに優先してセッション起動を行うことができるため、クロスコールが発生する状況を解消し、速やかセッションを確立することができる。
【００１５】
また、本発明の通信装置は、メッセージ種別指定部が、優先度判定部により第２の通信装置よりも第１の通信装置の方が優先度が低いと判定された場合、メッセージの種別として発呼要求メッセージを指定する。
【００１６】
この構成により、発呼要求メッセージが通信相手の優先度の高い通信装置に対して発呼メッセージの送信を促すことができるため、確実にセッションを確立することができる。
【００１７】
また、本発明の通信装置は、呼制御に関するメッセージを受信するメッセージ受信部と、メッセージ送信部により発呼メッセージを送信した後にメッセージ受信部により発呼要求メッセージを受信した場合、発呼要求メッセージを無効と判定するメッセージ判定部と、を備える。
【００１８】
この構成により、複数の通信装置間で発呼が同時に発生したとしても、発呼メッセージを送信した優先度の高い通信装置が開始したシーケンスを優先させ、クロスコールの発生を防止し、速やかにセッションを確立することができる。
【００１９】
また、本発明の通信装置は、呼制御に関するメッセージを受信するメッセージ受信部を備え、優先度判定部が、メッセージ送信部により発呼メッセージを送信した後にメッセージ受信部により発呼メッセージを受信したとき、優先度を判定する。
【００２０】
この構成により、クロスコールの発生が発生したときに優先度判定を行い、セッション起動のためのシーケンスを再開することで、速やかにセッションを確立することができる。さらに、クロスコールが頻発しない場合には、通信装置の処理負荷を軽減することが可能である。
【００２１】
また、本発明の通信方法は、他の通信装置との間で通信を行う通信装置における通信方法であって、通信装置により管理される第１の通信装置の識別情報である第１の識別情報と、他の通信装置により管理される第２の通信装置の識別情報である第２の識別情報と、を取得するステップと、第１の識別情報及び第２の識別情報に基づいて、第１の通信装置と第２の通信装置とのセッション起動時の優先度を判定するステップと、優先度に基づいて、第２の通信装置へ送信すべき呼制御に関するメッセージの種別を指定するステップと、メッセージ種別指定部により指定された種別のメッセージを第２の通信装置へ送信するステップと、を有する。
【００２２】
この方法により、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。
【００２３】
また、本発明の記憶媒体は、上記通信方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体である。
【００２４】
この構成により、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。
【発明の効果】
【００２５】
本発明は、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施例１における通信システムの構成の一例を示す図
【図２】本発明の実施例１におけるＶＰＮ装置のハードウェア構成の一例を示す図
【図３】本発明の実施例１におけるＶＰＮ装置の機能構成の一例を示す図
【図４】本発明の実施例１における優先度の高い通信端末から優先度の低い通信端末へ発呼する場合の通信シーケンスの一例を示す図
【図５】本発明の実施例１における優先度の低い通信端末から優先度の高い通信端末へ発呼する場合の通信シーケンスの一例を示す図
【図６】本発明の実施例１における優先度の高い通信端末と優先度の低い通信端末とが同時に発呼する場合の通信シーケンスの一例を示す図
【図７】本発明の実施例１におけるＶＰＮ装置が配下の通信端末と通信先の通信端末との通信を中継する際の動作の一例を示すフローチャート
【図８】本発明の実施例２における通信システムの構成の一例を示す図
【図９】本発明の実施例２におけるＶＰＮ装置のハードウェア構成の一例を示す図
【図１０】本発明の実施例２におけるＶＰＮ装置の機能構成の一例を示す図
【図１１】本発明の実施例２における通信端末がセッション起動時の動作の一例を示すフローチャート
【発明を実施するための形態】
【００２７】
以下、本発明の実施例について、図面を参照して説明する。
【実施例１】
【００２８】
図１は本発明の実施例１における通信システムの構成の一例を示す図である。図１に示した構成例においては、一方の拠点に設けられたローカルエリアネットワーク（以下、ＬＡＮとも称する）１００の配下に接続された通信端末１０３と、他方の拠点に設けられたローカルネットワーク３００の配下に接続された端末３０３とをインターネット等の広域エリアネットワーク（グローバルエリアネットワーク）（以下、ＷＡＮとも称する）２００を介して安全な状態で通信可能にする場合を想定している。なお、具体的なＶＰＮ通信の用途（アプリケーションプログラムの区分等）としては、ＩＰ電話（通話）や、ネットミーティングや、ネットワークカメラなどが想定される。また、ＬＡＮ１００及び３００は、例えば、ある支店の内部に或いはある事務所の１部署にイーサネット（登録商標）で構築されたネットワークである。
【００２９】
図１に示すように、ＬＡＮ１００とＷＡＮ２００との間にはルータ１０２が設置され、ＷＡＮ２００とローカルネットワーク３００との間にはルータ３０２が設置されている。また、仮想プライベートネットワーク（ＶＰＮ）の接続を可能にするために、ＬＡＮ１００と通信端末１０３との間にＶＰＮ装置１０１を設置してあり、ローカルネットワーク３００と端末３０３との間にＶＰＮ装置３０１を設置してある。なお、ＶＰＮ装置１０１及び３０１は、通信の中継装置（ルータ）としての機能も有する。また、本実施例１において、ＶＰＮ装置１０１は、本発明の通信装置（当該通信装置含む）に、ＶＰＮ装置３０１は本発明の他の通信装置に、それぞれ対応する。
【００３０】
通信端末１０３や通信端末３０３がＷＡＮ２００を介して通信する場合、ＷＡＮ２００上では、伝送するパケットの送信元や送信先を特定するためのアドレス情報としてグローバルＩＰアドレスが用いられる。しかし、各ＬＡＮ１００及び３００上の通信においては、送信元や送信先を特定するためのアドレス情報としてローカルＩＰアドレスが用いられる。従って、各ＬＡＮ１００、３００とＷＡＮ２００との間の通信を可能にするために、ローカルなアドレス情報とグローバルなアドレス情報との相互変換を行うＮＡＴ（Network Address Translation）機能が各ルータ１０２及び３０２に搭載されている。ルータ１０２及び１０３のＮＡＴ機能により、通信端末１０３及び通信端末３０３同士は、グローバルＩＰアドレス及びローカルＩＰアドレスを特別に意識することなく、通信を行うことが可能である。
【００３１】
但し、特別な制御を実施しない限り、ＬＡＮ１００及び３００の配下の通信端末１０１及び１０３はその端末自身に割り当てられたグローバルなアドレス情報を知ることはできない。また、例えばＬＡＮ１００に属する通信端末１０３が他のＬＡＮ３００に属している端末３０３と直接接続することはできない。接続相手にアクセスするためのアドレス情報が分からないからである。また、各ルータ１０２及び３０２のＮＡＴ機能のため、普通の状態ではＷＡＮ２００側から各ＬＡＮ１００及び３００側にアクセスすることもできない。
【００３２】
このような状況であっても、各拠点のＬＡＮに中継装置としてのＶＰＮ装置１０１及び３０１を接続することにより、端末１０３と端末３０３との間で直接通信（Ｐ２Ｐ通信）することが可能になる。また、このような通信を可能にするために、ＷＡＮ２００上にはＳＴＵＮサーバ２０１及び呼制御サーバ２０２を接続してある。なお、ＳＴＵＮサーバ２０１及び呼制御サーバ２０２を同様の機能を果たす他の装置で置き換えることも可能である。
【００３３】
ＳＴＵＮサーバ２０１は、ＳＴＵＮ（Simple Traversal of UDP through NATs［RFC3489］）プロトコルを実行するために必要なサーバである。ＳＴＵＮは、音声、映像、文章などの双方向リアルタイムＩＰ通信を行うアプリケーションにおいて、ＮＡＴ通過の方法の１つとして使われる標準化されたクライアントサーバ型のインターネットプロトコルである。
【００３４】
ＶＰＮ装置１０１及び３０１は、ＳＴＵＮサーバ２０１との間で所定のテスト手順の通信を実行し、ＳＴＵＮサーバ２０１からＶＰＮ装置１０１及び３０１自身のグローバルアドレスが搭載された応答パケットを受信する。これにより、ＶＰＮ装置１０１及び３０１は自身のグローバルアドレスを取得することができる。また、ＶＰＮ装置１０１及び３０１の位置するＬＡＮとＷＡＮの間にルータ１０２及び３０２が複数存在する場合であっても、ルータ１０２及び３０２がＵＰｎＰ（Universal Plug and Play）の機能を有していない場合であっても、確実にグローバルアドレスを取得できる。
【００３５】
なお、ＶＰＮ装置１０１及び３０１がグローバルＩＰアドレスを取得するための方法に関しては、ＩＥＴＦのＲＦＣ ３４８９（STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)）にて記載された手法を利用することもできる。
【００３６】
呼制御サーバ２０２は、通信のために特定の相手先を呼び出すための制御を行うサーバである。例えば通信システムがＩＰ電話の機能を有する場合には、接続相手先の電話番号に基づいて特定の相手先を呼び出すことができる。また、呼制御サーバ２０２は信号やデータを中継する機能を有しており（前述の３ＷＨＳ参照）、通信端末１０３から送出されたパケットをＷＡＮ２００を介して通信端末３０３に転送したり、通信端末３０３から送出されたパケットをＷＡＮ２００を介して通信端末１０３に転送したりすることもできる。
【００３７】
次に、ＶＰＮ装置１０１及び３０１について説明する。
ＶＰＮ装置１０１及び３０１の構成及び動作は同一である。ここでは、ＶＰＮ装置１０１を用いて説明する。図２は、ＶＰＮ装置１０１のハードウェア構成の一例を示す図であり、図３は、ＶＰＮ装置１０１の機能構成の一例を示す図である。
【００３８】
ハードウェア構成としては、図２に示すように、ＶＰＮ装置１０１は、マイクロコンピュータ（ＣＰＵ）１１１、不揮発性メモリ（フラッシュＲＡＭ）１１２、メモリ（ＳＤＲＡＭ）１１３、ネットワークインタフェース（Ｉ／Ｆ）１１４及び１１５、ネットワーク制御部１１６及び１１７、通信中継部１１８、表示制御部１１９、表示器１２０を備える。
【００３９】
ＣＰＵ１１１は、所定のプログラムを実行することによりＶＰＮ装置１０１全体の制御を実施する。
【００４０】
不揮発性メモリ１１２は、マイクロコンピュータ１１１が実行するプログラムや、運用データ、呼制御を行うための管理情報、制御プログラムを保持している。このプログラムの中には、後に詳述するクロスコールを判定するためのプログラムも含まれている。なお、ＣＰＵ１１１が実行するプログラムについては、任意の通信経路を経由してオンラインで外部のサーバから取得することもできるし、例えばＣＤ−ＲＯＭのような記録媒体から読み込んで取得することもできる。また、ＣＰＵ１１１がプログラムを実行する時には、不揮発性メモリ１１２上のプログラムの一部がメモリ１１３上に展開され、メモリ１１３上のプログラムが実行される場合もある。
【００４１】
メモリ１１３は、ＶＰＮ装置１０１に関する識別情報（本発明の識別情報であって、詳細は後述する）を記憶する。
【００４２】
ネットワークインタフェース１１４は、ＶＰＮ装置１０１と配下の端末１０３とを通信可能な状態で接続するために利用される。ネットワークインタフェース１１５は、ＶＰＮ装置１０１とローカルネットワーク１００とを通信可能な状態で接続するために利用される。
【００４３】
ネットワーク制御部１１６は、ネットワークインタフェース１１４に関する通信制御を行う。ネットワーク制御部１１７はネットワークインタフェース１１５に関する通信制御を行う。
【００４４】
通信中継部１１８は、ＬＡＮ側に接続された配下の通信端末１０３から外部のＶＰＮ装置３０１配下の通信端末３０３へのパケットデータを中継する。また、外部のＶＰＮ装置３０１配下の通信端末３０３からＶＰＮ装置１０１配下の端末１０３宛に到着したパケットデータを中継する。
【００４５】
表示器１２０は、ＶＰＮ装置１０１として必要な各種状態をユーザあるいは管理者に知らせるための表示部であり、発光ダイオード（ＬＥＤ）や液晶表示器（ＬＣＤ）で構成されている。
【００４６】
表示制御部１１９は、表示器１２０に表示する内容を制御する。
【００４７】
また、機能構成としては、図３に示すように、ＶＰＮ装置１０１は、システム部１３０、呼制御部１４０、通信部１５０、設定用インターフェース（Ｉ／Ｆ）１６１、配下端末管理部１６２を備える。また、システム部１３０は、システム制御部１３１、識別情報管理部１３２、識別情報記憶部１３３を備える。また、呼制御部１４０は、メッセージ解析部１４１、優先度判定部１４２、メッセージ生成部１４３を備える。また、通信部１５０は、受信部１５１及び１５４、送信部１５２及び１５５、データ通信制御部１５３を備える。これらの各機能は、図２に示した各ブロックのハードウェアの動作、又はマイクロコンピュータ１１１が所定のプログラムを実行することにより実現する。
【００４８】
システム制御部１３１は、ＶＰＮ装置１０１の全体の制御を統括する。
【００４９】
識別情報管理部１３２は、識別情報記憶部１３３に記憶される識別情報を管理する。また、メッセージ解析部１４１により認識された送信元の通信端末１０３及び送信先の通信端末３０３の識別情報を識別情報記憶部１３３から取得することができる。
【００５０】
識別情報記憶部１３３は、通信端末１０３や通信端末３０３の識別情報を記憶する。当該識別情報は、識別情報記憶部１３３にあらかじめ記憶しておく他に、呼制御サーバ２０２や他のサーバから取得してもよいし、あらかじめ記憶しておいてもよい。また、受信部１５１または受信部１５４によりメッセージを受信した際にメッセージに含まれる場合にはこの識別情報を用いてもよい。この識別情報により、セッション起動時の優先度が決定される。
【００５１】
なお、本実施例１では、識別情報として、例えば通信端末１０３や通信端末３０３のＭＡＣアドレス、ＩＰアドレス、ＩＤ情報、電話番号を用いる。このような数字やアルファベットで表記される識別情報を用いる場合には、順序演算や加減算を行い、優先度判定を行うことが容易になる。
【００５２】
メッセージ解析部１４１は、受信部１５１により受信した通信端末１０３からの発呼情報を解析し、送信元としての通信端末１０３及び送信先としての通信端末３０３を認識する。発呼情報には、送信元及び送信先の通信端末を特定するための特定情報が含まれる。また、メッセージ解析部１４１は、受信部１５４により受信された呼制御に関するメッセージを解析する。
【００５３】
なお、通信端末１０３、３０３の各々は、図１のシステム構成を認識していないから、発信をする旨のトリガをＶＰＮ装置１０１、３０１へ送信する。このトリガを発呼情報と総称する。このとき各々の通信端末１０３、３０３を特定する情報を特定情報と総称する。ＶＰＮ装置１０１、３０１はシステム構成を認識するため、発呼情報から発呼メッセージを生成し、特定情報から識別情報に変換する。また、通信端末１０３、３０３の各々はＶＰＮ装置を介して受信するから着呼情報はない。
【００５４】
また、メッセージ解析部１４１は、メッセージ解析の結果、送信部１５５により発呼メッセージを送信した後に受信部１５４により発呼要求メッセージを受信したと判断した場合、受信した発呼要求メッセージを無効と判定し、この発呼要求メッセージを無視することとする。
【００５５】
優先度判定部１４２は、メッセージ解析結果及び識別情報管理部１３２から取得する通信端末１０３及び通信端末３０３の識別情報に応じて、通信端末１０３と通信端末３０３とでいずれが優先度が高いかを判定する。例えば、受信部１５１により通信端末１０３からの発呼情報を受信した場合には、優先度判定部１４２は、通信端末１０３の識別情報と通信端末３０３の識別情報とを、発呼情報から、識別情報記憶部１３３から、もしくは外部サーバから取得する。そして、取得した双方の識別情報を比較し、優先度を判定する。また、この例において、通信端末１０３の識別情報は本発明の第１の識別情報に対応し、通信端末３０３の識別情報は同様に第２の識別情報に対応する。
【００５６】
優先度は、例えば識別情報の大小により決定することができ、例えばＭＡＣアドレスやその他の識別ＩＤの数値が大きい方を高いものとすることができる。また、システムで管理する特有の優先順をあらかじめ決定しておいてもよく、例えば、ＶＩＰ顧客の優先順・社員の役職順・ネットワークの優先順などに基づいて、優先度を決定してもよい。また、アルゴリズムの処理に有利になるように、優先度を決定してもよい。
【００５７】
また、優先度判定部１４２は、メッセージ解析部１４１により発呼メッセージまたは発呼要求メッセージを受信したと判断した場合には、受信された通信端末３０３からのメッセージをメッセージ解析部１４１が解析し、抽出した識別情報に応じて、送信元としての通信端末３０３と送信先としての通信端末１０３との間の優先度を優先度判定部１４２が判定し、メッセージの種別（発呼メッセージか発呼要求メッセージか）の適否を判定する。例えば、通信端末１０３、３０３の間で、発呼メッセージを受信部１５４により受信した場合には、通信端末３０３の方が優先度が高く、発呼要求メッセージを受信部１５４により受信した場合には、通信端末１０３の方が優先度が高いと、優先度判定部１４２が判定したことを意味する。
【００５８】
メッセージ生成部１４３は、優先度判定部１４２による判定結果に応じて、呼制御に関するメッセージの種別を指定し、このメッセージとして発呼メッセージもしくは発呼要求メッセージを生成する。具体的には、通信端末３０３が通信端末１０３よりも優先度が高い場合には、通信端末１０３が発呼要求メッセージを生成し、通信端末３０３が通信端末１０３よりも優先度が低い場合には、通信端末１０３が発呼メッセージを生成する。また、受信部１５４により着呼（発呼応答）メッセージを受信した場合には、メッセージ生成部１４３は、着呼応答メッセージを生成する。このように、メッセージ生成部１４３は、本発明のメッセージ指定部に対応する。
【００５９】
受信部１５１は、通信端末１０３から呼制御に関するメッセージや音声等の実データを受信する。
【００６０】
送信部１５２は、通信端末１０３へ呼制御に関するメッセージや音声等の実データを送信する。
【００６１】
受信部１５１は通信端末１０３から、受信部１５４は通信端末３０３から、それぞれ受信し、発呼メッセージ、発呼要求メッセージ、着呼メッセージ、着呼応答メッセージ等の呼制御に関するメッセージや、実データ等を受信する。なお、受信部１５１、１５４により受信するメッセージに関して、発呼メッセージはＩＮＶＩＴＥメッセージに相当し、着呼メッセージはＡＣＫメッセージに相当し、着呼応答メッセージはＯＫメッセージに相当する。
【００６２】
送信部１５２は通信端末１０３へ、送信部１５５は通信端末３０３へ、それぞれ送信し、の発呼メッセージ、発呼要求メッセージ、着呼メッセージ、着呼応答メッセージ等の呼制御に関するメッセージや、実データ等を送信する。
【００６３】
データ通信制御部１５３は、受信部１５１と送信部１５５との間で実データを中継し、受信部１５４と送信部１５２との間で実データを中継する。
【００６４】
設定用Ｉ／Ｆ部１６１は、管理者あるいはユーザがＶＰＮ装置１０１に対する操作を行うためのユーザインタフェースであり、例えばＷｅｂページなどが用いられる。
【００６５】
配下端末管理部１６２は、ＶＰＮ装置１０１配下の通信端末１０３の管理を行う。
【００６６】
次に、通信端末１０３と通信端末３０３とがセッション起動時に行うデータの送受信について説明する。図４〜図６では、通信端末１０３の優先度が通信端末３０３の優先度よりも高い場合を想定している。セッション起動を行い、正常に処理されると、セッションが確立される。
【００６７】
図４は通信端末１０３から通信端末３０３へ発呼する場合の通信シーケンスの一例を示す図である。
【００６８】
まず、通信端末１０３が、通信端末３０３へデータを送るための発呼情報を通信端末１０３を管理するＶＰＮ装置１０１へ送信する（ステップＳ１０１）。ＶＰＮ装置１０１は、通信端末１０３からの発呼情報を受信すると、通信端末１０３が高い優先度であるから、発呼メッセージを通信端末３０３を管理するＶＰＮ装置３０１へ送信する（ステップＳ１０２）。
ＶＰＮ装置３０１は、ＶＰＮ装置１０１からの発呼メッセージを受信すると、これに対する着呼メッセージをＶＰＮ装置１０１へ送信する（ステップＳ１０３）。ＶＰＮ装置１０１は、ＶＰＮ装置３０１からの着呼メッセージを受信すると、これに対する着呼応答メッセージをＶＰＮ装置３０１へ送信する（ステップＳ１０４）。
ＶＰＮ装置３０１がＶＰＮ装置１０１からの着呼応答メッセージを受信すると、ＶＰＮ装置１０１及び配下の通信端末１０３とＶＰＮ装置３０１及び配下の通信端末３０３とのセッションが確立される（ステップＳ１０５）。セッション確立後、通信端末１０３から送信されたデータが、ＶＰＮ装置１０１及び３０１を介して、通信端末３０３へ送信される（ステップＳ１０６）。
【００６９】
また、図５は通信端末３０３から通信端末１０３へ発呼する場合の通信シーケンスの一例を示す図である。
【００７０】
まず、通信端末３０３が、通信端末１０３へデータを送るための発呼情報を通信端末３０３を管理するＶＰＮ装置３０１へ送信する（ステップＳ２０１）。ＶＰＮ装置３０１は、通信端末３０３からの発呼情報を受信すると、通信端末３０３が低い優先度であるから、発呼要求メッセージを通信端末１０３を管理するＶＰＮ装置１０１へ送信する（ステップＳ２０２）。
ＶＰＮ装置１０１は、ＶＰＮ装置３０１からの発呼要求メッセージを受信すると、これに対する発呼メッセージをＶＰＮ装置３０１へ送信する（ステップＳ２０３）。ＶＰＮ装置３０１は、ＶＰＮ装置１０１からの発呼メッセージを受信すると、これに対する着呼メッセージをＶＰＮ装置１０１へ送信する（ステップＳ２０４）。ＶＰＮ装置１０１は、ＶＰＮ装置３０１からの着呼メッセージを受信すると、これに対する着呼応答メッセージをＶＰＮ装置３０１へ送信する（ステップＳ２０５）。
ＶＰＮ装置３０１がＶＰＮ装置１０１からの着呼応答メッセージを受信すると、ＶＰＮ装置１０１及び配下の通信端末１０３とＶＰＮ装置３０１及び配下の通信端末３０３とのセッションが確立される（ステップＳ２０６）。セッション確立後、通信端末３０３から送信されたデータが、ＶＰＮ装置３０１及び１０１を介して、通信端末１０３へ送信される（ステップＳ２０７）。
【００７１】
また、図６は通信端末１０３から通信端末３０３への発呼と通信端末３０３から通信端末１０３への発呼が同時に発生した場合の通信シーケンスの一例を示す図である。
【００７２】
まず、通信端末１０３が通信端末３０３へデータを送るための発呼情報を通信端末１０３を管理するＶＰＮ装置３０１へ送信し（ステップＳ３０１）、通信端末３０３が通信端末１０３へデータを送るための発呼情報を通信端末３０３を管理するＶＰＮ装置３０１へ送信する（ステップＳ３０２）。
ＶＰＮ装置１０１は、通信端末１０３からの発呼情報を受信すると、発呼メッセージをＶＰＮ装置３０１へ送信する（ステップＳ３０３）。ＶＰＮ装置３０１は、通信端末３０３からの発呼情報を受信すると、発呼要求メッセージをＶＰＮ装置１０１へ送信する（ステップＳ３０４）。
ＶＰＮ装置３０１は、ＶＰＮ装置１０１からの発呼メッセージを受信すると、これに対する着呼メッセージをＶＰＮ装置１０１へ送信する（ステップＳ３０５）。一方、ＶＰＮ装置１０１は、発呼メッセージを送信した後に、ＶＰＮ装置３０１からの発呼要求メッセージを受信すると、このメッセージを無視する（ステップＳ３０６）。つまり、受信した発呼要求メッセージを破棄し、これに対する発呼メッセージの送信を中止する。
【００７３】
ＶＰＮ装置１０１は、ＶＰＮ装置３０１からの着呼メッセージを受信すると、これに対する着呼応答メッセージをＶＰＮ装置３０１へ送信する（ステップＳ３０７）。ＶＰＮ装置３０１がＶＰＮ装置１０１からの着呼応答メッセージを受信すると、ＶＰＮ装置１０１及び配下の通信端末１０３とＶＰＮ装置３０１及び配下の通信端末３０３とのセッションが確立される（ステップＳ３０８）。
セッション確立後、通信端末１０３が着呼情報を確認して通信端末３０３からの着呼に対する応答を許可した場合には、通信端末３０３から送信されたデータが、ＶＰＮ装置３０１及び１０１を介して、通信端末１０３へ送信される（ステップＳ３０９）。また、セッション確立後、通信端末１０３から送信されたデータが、ＶＰＮ装置１０１及び３０１を介して、通信端末３０３へ送信される（ステップＳ３１０）。
【００７４】
次に、ＶＰＮ装置が通信端末間の通信を中継する際の動作について説明する。
図７は、ＶＰＮ装置１０１が配下の通信端末１０３と通信先の通信端末３０３との通信を中継する際の動作の一例を示すフローチャートである。なお、ＶＰＮ装置３０１についても、同様の動作を行う。
【００７５】
まず、受信部１５１が、配下の通信端末１０３からの発呼情報を受信すると（ステップＳ４０１）、メッセージ解析部１４１が、受信した発呼情報から、通信端末１０３の特定する特定情報及び通信端末３０３を特定する特定情報を抽出する。そして、優先度判定部１４２は、これらの特定情報に対応する、通信端末１０３の識別情報としての識別番号及び通信端末３０３の識別情報としての識別番号を、識別情報記憶部１３３や外部サーバ等から取得する（ステップＳ４０２）。また、特定情報が識別情報そのものであってもよい。
【００７６】
続いて、優先度判定部１４２が、取得した通信端末１０３及び３０３の識別番号に基づいて、通信端末１０３及び通信端末３０３の優先度を判定する（ステップＳ４０３）。例えば、通信端末１０３の識別ＩＤが「１２３４」、通信端末３０３の識別ＩＤが「５６７８」の場合には、通信端末１０３の優先度が低く、通信端末３０３の優先度が高いと判定することができる。
【００７７】
通信端末１０３の優先度が通信端末３０３の優先度よりも高い場合、メッセージ生成部１４３が発呼メッセージを生成し、生成した発呼メッセージを送信部１５５が送信する（ステップＳ４０４）。
【００７８】
続いて、受信部１５４は、送信部１５５により送信された発呼メッセージに対する通信端末３０３からの着呼メッセージを受信するまで待機する（ステップＳ４０５）。受信部１５４が着呼メッセージを受信すると、メッセージ生成部１４３が着呼応答メッセージを生成し、生成した着呼応答メッセージを送信部１５５が送信する（ステップＳ４０６）。
【００７９】
一方、ステップＳ４０３において通信端末１０３の優先度が通信端末３０３の優先度よりも低い場合、メッセージ生成部１４３が発呼要求メッセージを生成し、生成した発呼要求メッセージを送信部１５５が送信する（ステップＳ４０７）。
【００８０】
続いて、受信部１５４は、送信部１５５により送信された発呼要求メッセージに対する通信端末３０３からの発呼メッセージを受信するまで待機する（ステップＳ４０８）。受信部１５４が発呼メッセージを受信すると、メッセージ生成部１４３が着呼メッセージを生成し、生成した着呼メッセージを送信部１５５が送信する（ステップＳ４０９）。
【００８１】
続いて、受信部１５４は、送信部１５５により送信された着呼メッセージに対する通信端末３０３からの着呼応答メッセージを受信するまで待機する（ステップＳ４１０）。受信部１５４が着呼応答メッセージを受信すると、通信端末１０３及び３０３の間でセッションが確立され、両通信端末間での通信が可能な状態となる（ステップＳ４１１）。
【００８２】
このような本実施例の通信システムによれば、セッション起動時の権限に優先関係を導入することによって、クロスコールの発生を防止することができる。具体的には、優先度の高い通信端末にのみ発呼権限が与えられ、優先度の低い通信端末には発呼を要求する権限のみが与えられる。そして、優先度の高い通信端末からデータを送信する際には発呼メッセージを送信し、優先度の低い通信端末からデータを送信する際には発呼要求メッセージを送信することで、クロスコールが発生することによる誤動作を防止することができる。また、複数の通信端末間で同時にデータの送信を行おうとした場合には、優先度の高い通信端末が優先度の低い通信端末からの発呼要求メッセージを無視することで、通信を希望している通信端末同士で相互に通信中（例えば話し中）であるという状態を回避することができ、セッションの確立をスムーズに行うことができる。さらに、ＶＰＮ装置１０１及び３０１がクロスコール防止のための処理を行うため、実際の送信元及び送信先となる通信端末１０３及び３０３自体の負荷が増大することはない。
【００８３】
なお、本実施例では、通常はセキュリティ強化のためにＶＰＮ通信を行うことが多いため、ＶＰＮ装置として説明したが、ＶＰＮ通信を行うことは必須ではない。つまり、ＶＰＮ装置１０１及び３０１を単純な中継装置で代用可能である。なお、システム内の装置全てがグローバルアドレスを割り当てられている場合など、ＮＡＴ（Network Address Translation）を越える必要がない場合には、ＳＴＵＮサーバ２０１を省略することが可能である。
【実施例２】
【００８４】
図８は本発明の実施例２における通信システムの構成の一例を示す図である。ここでは、図８に示す通信システムにおいて、図１に示した通信システムと同一の構成については、同一の符号を付し、説明を省略または簡略化する。
【００８５】
本実施例の通信システムと実施例１の通信システムとの相違点は、ローカルエリアネットワーク１００及び３００配下の部分である。具体的には、図１に示したＶＰＮ装置１０１及び通信端末１０３とＶＰＮ装置３０１及び通信端末３０３が、図８に示す例では通信端末１０４及び３０４のみとなっている。この通信端末１０４及び３０４は、ＶＰＮ装置１０１及び通信端末１０３とＶＰＮ装置３０１及び通信端末３０３との双方を機能を有して構成される。つまり、通信端末１０４は、通信端末１０４自身により管理される。この通信端末１０４及び３０４がＰ２Ｐ通信のピアとして機能する。
【００８６】
次に、通信端末１０４及び３０４について説明する。
通信端末１０４及び３０４の構成及び動作は同一である。ここでは、通信端末１０４を用いて説明する。図９は、通信端末１０４のハードウェア構成の一例を示す図であり、図１０は、通信端末１０４の機能構成の一例を示す図である。図９において、図２に示したハードウェア構成と同一の構成については、同一の符号を付し、説明を省略または簡略化する。また、図１０において、図３に示した機能構成と同一の構成については、同一の符号を付し、説明を省略または簡略化する。
【００８７】
ハードウェア構成としては、図９に示すように、通信端末１０４は、ＣＰＵ１１１、不揮発性ＲＡＭ（フラッシュＲＡＭ）１１２、メモリ（ＳＤＲＡＭ）１１３、ネットワークインタフェース（Ｉ／Ｆ）１１５、ネットワーク制御部１１７、表示制御部１１９、表示器１２０、入出力制御部１２１、キーパッド１２２、マイク（Ｍｉｃ）１２３、スピーカ１２４を備える。つまり、本実施例の通信端末１０４では、実施例１のＶＰＮ装置１０１と比較して、配下の端末への中継を行うための構成がなく、データ入出力を行うための構成が追加されている。
【００８８】
入出力制御部１２１は、入出力デバイスとしてのキーパッド１２２、マイク１２３、スピーカ１２４の入出力制御を行う。キーパッド１２２は、データ入力を行うための入力デバイスである。マイク１２３は、音声データを入力するための入力デバイスである。スピーカ１２４は、音声データを出力するための出力デバイスである。
【００８９】
また、機能構成としては、図１０に示すように、システム部１３０、呼制御部１４０、通信部１５０を備える。システム部１３０は、システム制御部１３１、識別情報管理部１３２、識別情報記憶部１３３、データ入出力部１３４を備える。呼制御部１４０は、メッセージ解析部１４１、優先度判定部１４２、メッセージ生成部１４３を備える。通信部１５０は、データ通信制御部１５３、受信部１５４、送信部１５５を備える。なお、通信端末１０４は、前述の理由から、受信部１５１、送信部１５２、設定用Ｉ／Ｆ部１６１、配下端末管理部１６２については備えていない。
【００９０】
データ入出力部１３４は、入力デバイスによるデータ入力に基づいて発呼情報を生成し、メッセージ解析部１４１へ送る。
【００９１】
次に、通信端末１０４と通信端末３０４とがセッション起動時のデータの送受信について説明する。
基本的には、図４〜図６に示したようなＶＰＮ装置１０１及び３０１の動作と同様の動作を行う。本実施例２において、通信端末１０４、３０４は、通信端末から発呼情報を受信してセッション起動を行うのではなく、通信端末１０４及び通信端末３０４自身の入力デバイスの入力に基づいて発呼情報を生成し、セッション起動を行うことを特徴とする。また、着呼情報により着呼を許可するか否かについても、配下の通信端末ではなく通信端末１０４及び３０４自身により行う。
【００９２】
次に、通信端末１０４がセッション起動を行う際の動作について説明する。
図１１は、通信端末１０４がセッション起動を行う際の動作の一例を示すフローチャートである。なお、通信端末３０４についても、同様の動作を行う。
【００９３】
まず、データ入出力部１３４による入力に基づいてデータ通信制御部１５３が発呼情報を生成すると、メッセージ解析部１４１が、生成した発呼情報から、通信端末３０４を特定する特定情報を抽出する。そして、優先度判定部１４２は、これらの特定情報に対応する通信端末３０４の識別情報としての識別番号を、識別情報記憶部１３３、外部サーバ、発呼メッセージ、発呼要求メッセージ等から取得する（ステップＳ５０１）。また、特定情報が識別情報そのものであってもよい。また、通信端末１０４自身の識別情報としての識別番号を識別情報記憶部１３３、外部サーバ、発呼メッセージ、発呼要求メッセージ等から取得する。
【００９４】
ステップＳ５０１の後は、図７に示したステップＳ４０３〜Ｓ４１１と同様の処理を行う。図１１中のステップ番号は、図７と同じ番号を表示して説明の重複を省略する。ただし、優先度の比較対象となるのは、自己の通信端末である通信端末１０４と通信先の通信端末である通信端末３０４である。
【００９５】
このような本実施例の通信システムによれば、Ｐ２Ｐ通信において相手先を指定したときに、セッション起動の優先関係が確定するため、クロスコールが発生することを防止できる。したがって、クロスコールが発生したときのために特別に解除手段を講じておく必要がなくなる。また、ユーザは、クロスコールの発生に特別な注意を払う必要がなくなる。また、クロスコールが発生しないため、Ｐ２Ｐ通信開始が速やかに行われ、快適なＰ２Ｐ通信環境を提供することができる。さらに、クロスコールを防止するために特別に中継装置を設けることがないため、通信システムの構成が複雑化することを防止できる。
【実施例３】
【００９６】
実施例１及び２では、クロスコールが発生する前にあらかじめ優先度を判定しておき、クロスコールが発生することを防止することを説明したが、本実施例３の通信システムでは、クロスコールが発生したことを検出し、検出後に優先制御を行うことを特徴とする。本実施例３では、上記特徴の処理を行う主体として、実施例１に示したＶＰＮ装置、実施例２に示した通信端末のいずれも適用可能であるが、ここでは「通信装置」として説明を行う。
【００９７】
本実施例３の通信システムの構成、通信装置のハードウェア構成、通信装置の機能構成は、実施例１又は２において示した構成と同様であるが、メッセージ解析部１４１の動作が異なる。
【００９８】
メッセージ解析部１４１は、実施例１又は２において説明した動作の他に、呼制御に関するメッセージのシーケンスが３ＷＨＳに従って進行しているか否かを監視する。例えば、メッセージ解析部１４１が、送信部１５５により発呼メッセージを送信して着呼メッセージを待機しているときに、通信先の通信装置から発呼メッセージを受信した場合、クロスコールが発生したと判断する。
【００９９】
互いに通信中の通信装置同士は、先の実施例で説明したように、通信相手の識別情報を認識している。したがって、メッセージ解析部１４１が、メッセージの内容を解析し、通信相手の識別情報を取得することで、発呼メッセージを既に送信した通信相手から発呼メッセージを受信したか否か、つまりクロスコールが発生したか否かを判定することができる。
【０１００】
メッセージ解析部１４１によりクロスコールが発生したと判断すると、その際に、優先度判定部１４２が、自己の通信装置の識別情報と通信相手の通信装置の識別情報とに基づいて、優先度を判定する。そして、優先度が高い通信装置は、受信した発呼メッセージを無効と判断して無視し、図６に示したステップＳ３０６以降の処理を行うようにする。一方、優先度が低い通信装置は、受信した発呼メッセージを有効と判断し、図６に示したステップＳ３０５以降の処理を行うようにする。
【０１０１】
なお、以上の実施例１ないし３の説明において、優先度判定部１４２の判定処理は、特定の１判定処理を行うものとして説明をした。しかしながら、本発明は、この内容に限定されるものではない。例えば、優先度判定部１４２は、複数の判定処理をとり得るものとし、時間帯・日付・曜日・ＬＡＮ１００、ＷＡＮ２００の種別などに応じて、いずれか１の判定処理に変更可能な様に応用することも可能である。それによって、例えば平日用、休日用など、様々な用途に適応する通信端末、通信方法を提供することができる。
【０１０２】
このような本実施例の通信システムによれば、クロスコールが発生した後にメッセージのシーケンスを回復させることができ、クロスコールによりセッション確立が不可能となる状態を回避することができる。また、セッション起動毎にクロスコールを防止するための処理を行うものではないため、低処理負荷でこの通信システムを実現することができる。さらに、必要時のみ優先関係の判断を行うため、Ｐ２Ｐ通信開始に要する時間を短縮することができる。
【産業上の利用可能性】
【０１０３】
本発明は、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる通信装置、記憶媒体等に有用である。
【符号の説明】
【０１０４】
１００、３００  ローカルエリアネットワーク（ＬＡＮ）
１０１、３０１  ＶＰＮ装置
１０２、３０２  ルータ
１０３、１０３ａ〜１０３ｃ、３０３、３０３ａ〜３０３ｃ  通信端末
１０４、３０４  通信端末
１１１  ＣＰＵ
１１２  不揮発性メモリ（フラッシュＲＡＭ）
１１３  メモリ（ＳＤ  ＲＡＭ）
１１４、１１５  ネットワークＩ／Ｆ
１１６、１１７  ネットワーク制御部
１１８  通信中継部
１１９  表示制御部
１２０  表示器（ＬＥＤ／ＬＣＤ）
１２１  入出力制御部
１２２  キーパッド
１２３  Ｍｉｃ
１２４  スピーカ
１３０  システム部
１３１  システム制御部
１３２  識別情報管理部
１３３  識別情報記憶部
１３４  データ入出力部
１４０  呼制御部
１４１  メッセージ解析部
１４２  優先度判定部
１４３  メッセージ生成部
１５０  通信部
１５１、１５４  受信部
１５２、１５５  送信部
１５３  データ通信制御部
１６１  設定用Ｉ／Ｆ部
１６２  配下端末管理部
２００  グローバルネットワーク（ＷＡＮ）
２０１  ＳＴＵＮサーバ
２０２  呼制御サーバ
【図１】
2010252091.tif 000003
【図２】
2010252091.tif 000004
【図３】
2010252091.tif 000005
【図４】
2010252091.tif 000006
【図５】
2010252091.tif 000007
【図６】
2010252091.tif 000008
【図７】
2010252091.tif 000009
【図８】
2010252091.tif 000010
【図９】
2010252091.tif 000011
【図１０】
2010252091.tif 000012
【図１１】
2010252091.tif 000013