JP2010252091A - 通信装置、通信方法、及び記憶媒体 - Google Patents

通信装置、通信方法、及び記憶媒体 Download PDF

Info

Publication number
JP2010252091A
JP2010252091A JP2009099965A JP2009099965A JP2010252091A JP 2010252091 A JP2010252091 A JP 2010252091A JP 2009099965 A JP2009099965 A JP 2009099965A JP 2009099965 A JP2009099965 A JP 2009099965A JP 2010252091 A JP2010252091 A JP 2010252091A
Authority
JP
Japan
Prior art keywords
message
communication device
communication
call
communication terminal
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.)
Withdrawn
Application number
JP2009099965A
Other languages
English (en)
Inventor
Hiroyuki Shimoosawa
博之 下大沢
Akira Miyajima
晃 宮嶋
Yasuhiro Kato
康宏 加藤
Shusuke Terado
周介 寺戸
Reiko Mori
麗子 森
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009099965A priority Critical patent/JP2010252091A/ja
Priority to US13/264,313 priority patent/US20120113977A1/en
Priority to PCT/JP2010/002799 priority patent/WO2010119710A1/ja
Priority to GB1117762.3A priority patent/GB2482441B/en
Publication of JP2010252091A publication Critical patent/JP2010252091A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】 クロスコールが発生する状況を解消し、速やかにセッションの確立することのできる通信装置を提供する。
【解決手段】 通信端末103又は104の識別情報である第1の識別情報と、通信端末303又は304の識別情報である第2の識別情報と、を取得する識別情報取得部と、第1の識別情報及び第2の識別情報に基づいて、通信端末103又は104と通信端末303又は304とのセッション起動時の優先度を判定する優先度判定部142と、この優先度に基づいて、通信端末303又は304へ送信すべき呼制御に関するメッセージの種別を指定するメッセージ種別生成部143、指定された種別のメッセージを通信端末303又は304へ送信する送信部155と、を備える。
【選択図】図3

Description

本発明は、通信装置、通信方法、及び記憶媒体に関し、特に、通信装置が相互に対等な関係で接続された状態で情報を直接通信するネットワークにおいて、ピアツーピア(Peer to Peer、以下、P2Pと略称する)通信に関するものである。
P2P通信では、各通信装置がその時々に応じてサーバになったりクライアントになったりしながら動作し、通信を行うことができる。以下、相互に対等な関係で接続されたP2P通信に準じて、このようなP2P通信を行う通信装置をピアとも称する。
P2P通信を行うためのシステムとしては、ピア間のセッション確立を補助するためのサーバ(以下、インデックスサーバと称する)が存在するハイブリッドP2Pシステムや、ハイブリッドP2Pシステムの中でインデックスサーバを設けずにピアの中の特定のいくつかがインデックスサーバの役割を果たすスーパーノードP2Pシステムなどがある。
これらのシステムでは、インデックスサーバの技術のうち、通信相手を探すための手段として呼制御サーバを利用する方法がある。呼制御サーバでは、SIP(Session Initiation Protocol)に規定された呼制御確立技術を用いて通信装置間のセッションを確立する制御を行う。SIPによる呼制御確立を行う際には、発呼側の通信装置からINVITEメッセージ(発呼メッセージ)を着呼側の通信装置に送信し、これに対し着呼側の通信装置がINVITEメッセージ受信後にOKメッセージ(着呼メッセージ)を発呼側の通信装置に送信し、さらに発呼側の通信装置がOKメッセージ受信後にACKメッセージ(着呼応答メッセージ)を着呼側の通信装置に送信することによって、セッションを確立することが一般的に行われている。この呼制御処理の手順は、スリーウェイハンドシェイク(3 Way Hand Shake:以下、3WHSと称する)と称する。このようにしてセッションを確立した後、P2P通信を行ってファイル送受信をすることが行われる。
このような3WHSの一例として、INVITEメッセージを送信した後に他の呼制御処理を並行して行い、早期に通信を開始する技術が知られている(たとえば、特許文献1参照)。
特開2006−345407号公報
しかしながら、P2P通信において各ピアはセッション確立を行うために互いに発呼メッセージを同時(多少のタイムラグも含む)に送信する可能性がある。この場合、双方のピアは発呼メッセージを送信したにも関わらず共に発呼メッセージを受信するために、各ピアはイレギュラーな処理と判断することになる。例えば、電話アプリケーションの場合には、互いのピアが同時に発呼メッセージを送信し、互いの相手側ピアが同時に受信するため、相互に通話状態と判断され、待機状態となる。この状態はクロスコールと称され、何らかのイレギュラー解除処理を行わない限り発呼処理を継続するので、その場合にはセッションはいつまでも確立されないことになる。
本発明は上記事情を鑑みてなされたものであって、クロスコールが発生する状況を解消し、速やかにセッションを確立することのできる通信装置、通信方法、および記憶媒体を提供することを目的とする。
本発明の通信装置は、他の通信装置との間で通信を行う通信装置であって、当該通信装置により管理される第1の通信装置の識別情報である第1の識別情報と、他の通信装置により管理される第2の通信装置の識別情報である第2の識別情報と、を取得する識別情報取得部と、第1の識別情報及び第2の識別情報に基づいて、第1の通信装置と第2の通信装置とのセッション起動時の優先度を判定する優先度判定部と、優先度に基づいて、第2の通信装置へ送信すべき呼制御に関するメッセージの種別を指定するメッセージ種別指定部と、メッセージ種別指定部により指定された種別のメッセージを第2の通信装置へ送信するメッセージ送信部と、を備える。
この構成により、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。例えば、中継装置として機能する通信装置が配下の通信端末を管理する場合に、配下の通信端末と他の中継装置が管理する通信端末との通信において、優先関係を判断し、クロスコールを防止するための処置を行うことができる。
また、本発明の通信装置は、第1の通信装置が、当該通信装置自身であり、第2の通信装置が、他の通信装置自身である。
この構成により、実際に他の通信装置との間で通信を行う通信端末自身がクロスコール防止のための処理を行うことで、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。
また、本発明の通信装置は、メッセージ種別指定部が、優先度判定部により第2の通信装置より第1の通信装置の方が優先度が高いと判定された場合、メッセージの種別として発呼メッセージを指定する。
この構成により、発呼メッセージは優先度が低い通信端末が送信する発呼要求メッセージに優先してセッション起動を行うことができるため、クロスコールが発生する状況を解消し、速やかセッションを確立することができる。
また、本発明の通信装置は、メッセージ種別指定部が、優先度判定部により第2の通信装置よりも第1の通信装置の方が優先度が低いと判定された場合、メッセージの種別として発呼要求メッセージを指定する。
この構成により、発呼要求メッセージが通信相手の優先度の高い通信装置に対して発呼メッセージの送信を促すことができるため、確実にセッションを確立することができる。
また、本発明の通信装置は、呼制御に関するメッセージを受信するメッセージ受信部と、メッセージ送信部により発呼メッセージを送信した後にメッセージ受信部により発呼要求メッセージを受信した場合、発呼要求メッセージを無効と判定するメッセージ判定部と、を備える。
この構成により、複数の通信装置間で発呼が同時に発生したとしても、発呼メッセージを送信した優先度の高い通信装置が開始したシーケンスを優先させ、クロスコールの発生を防止し、速やかにセッションを確立することができる。
また、本発明の通信装置は、呼制御に関するメッセージを受信するメッセージ受信部を備え、優先度判定部が、メッセージ送信部により発呼メッセージを送信した後にメッセージ受信部により発呼メッセージを受信したとき、優先度を判定する。
この構成により、クロスコールの発生が発生したときに優先度判定を行い、セッション起動のためのシーケンスを再開することで、速やかにセッションを確立することができる。さらに、クロスコールが頻発しない場合には、通信装置の処理負荷を軽減することが可能である。
また、本発明の通信方法は、他の通信装置との間で通信を行う通信装置における通信方法であって、通信装置により管理される第1の通信装置の識別情報である第1の識別情報と、他の通信装置により管理される第2の通信装置の識別情報である第2の識別情報と、を取得するステップと、第1の識別情報及び第2の識別情報に基づいて、第1の通信装置と第2の通信装置とのセッション起動時の優先度を判定するステップと、優先度に基づいて、第2の通信装置へ送信すべき呼制御に関するメッセージの種別を指定するステップと、メッセージ種別指定部により指定された種別のメッセージを第2の通信装置へ送信するステップと、を有する。
この方法により、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。
また、本発明の記憶媒体は、上記通信方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体である。
この構成により、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。
本発明は、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる。
本発明の実施例1における通信システムの構成の一例を示す図 本発明の実施例1におけるVPN装置のハードウェア構成の一例を示す図 本発明の実施例1におけるVPN装置の機能構成の一例を示す図 本発明の実施例1における優先度の高い通信端末から優先度の低い通信端末へ発呼する場合の通信シーケンスの一例を示す図 本発明の実施例1における優先度の低い通信端末から優先度の高い通信端末へ発呼する場合の通信シーケンスの一例を示す図 本発明の実施例1における優先度の高い通信端末と優先度の低い通信端末とが同時に発呼する場合の通信シーケンスの一例を示す図 本発明の実施例1におけるVPN装置が配下の通信端末と通信先の通信端末との通信を中継する際の動作の一例を示すフローチャート 本発明の実施例2における通信システムの構成の一例を示す図 本発明の実施例2におけるVPN装置のハードウェア構成の一例を示す図 本発明の実施例2におけるVPN装置の機能構成の一例を示す図 本発明の実施例2における通信端末がセッション起動時の動作の一例を示すフローチャート
以下、本発明の実施例について、図面を参照して説明する。
図1は本発明の実施例1における通信システムの構成の一例を示す図である。図1に示した構成例においては、一方の拠点に設けられたローカルエリアネットワーク(以下、LANとも称する)100の配下に接続された通信端末103と、他方の拠点に設けられたローカルネットワーク300の配下に接続された端末303とをインターネット等の広域エリアネットワーク(グローバルエリアネットワーク)(以下、WANとも称する)200を介して安全な状態で通信可能にする場合を想定している。なお、具体的なVPN通信の用途(アプリケーションプログラムの区分等)としては、IP電話(通話)や、ネットミーティングや、ネットワークカメラなどが想定される。また、LAN100及び300は、例えば、ある支店の内部に或いはある事務所の1部署にイーサネット(登録商標)で構築されたネットワークである。
図1に示すように、LAN100とWAN200との間にはルータ102が設置され、WAN200とローカルネットワーク300との間にはルータ302が設置されている。また、仮想プライベートネットワーク(VPN)の接続を可能にするために、LAN100と通信端末103との間にVPN装置101を設置してあり、ローカルネットワーク300と端末303との間にVPN装置301を設置してある。なお、VPN装置101及び301は、通信の中継装置(ルータ)としての機能も有する。また、本実施例1において、VPN装置101は、本発明の通信装置(当該通信装置含む)に、VPN装置301は本発明の他の通信装置に、それぞれ対応する。
通信端末103や通信端末303がWAN200を介して通信する場合、WAN200上では、伝送するパケットの送信元や送信先を特定するためのアドレス情報としてグローバルIPアドレスが用いられる。しかし、各LAN100及び300上の通信においては、送信元や送信先を特定するためのアドレス情報としてローカルIPアドレスが用いられる。従って、各LAN100、300とWAN200との間の通信を可能にするために、ローカルなアドレス情報とグローバルなアドレス情報との相互変換を行うNAT(Network Address Translation)機能が各ルータ102及び302に搭載されている。ルータ102及び103のNAT機能により、通信端末103及び通信端末303同士は、グローバルIPアドレス及びローカルIPアドレスを特別に意識することなく、通信を行うことが可能である。
但し、特別な制御を実施しない限り、LAN100及び300の配下の通信端末101及び103はその端末自身に割り当てられたグローバルなアドレス情報を知ることはできない。また、例えばLAN100に属する通信端末103が他のLAN300に属している端末303と直接接続することはできない。接続相手にアクセスするためのアドレス情報が分からないからである。また、各ルータ102及び302のNAT機能のため、普通の状態ではWAN200側から各LAN100及び300側にアクセスすることもできない。
このような状況であっても、各拠点のLANに中継装置としてのVPN装置101及び301を接続することにより、端末103と端末303との間で直接通信(P2P通信)することが可能になる。また、このような通信を可能にするために、WAN200上にはSTUNサーバ201及び呼制御サーバ202を接続してある。なお、STUNサーバ201及び呼制御サーバ202を同様の機能を果たす他の装置で置き換えることも可能である。
STUNサーバ201は、STUN(Simple Traversal of UDP through NATs[RFC3489])プロトコルを実行するために必要なサーバである。STUNは、音声、映像、文章などの双方向リアルタイムIP通信を行うアプリケーションにおいて、NAT通過の方法の1つとして使われる標準化されたクライアントサーバ型のインターネットプロトコルである。
VPN装置101及び301は、STUNサーバ201との間で所定のテスト手順の通信を実行し、STUNサーバ201からVPN装置101及び301自身のグローバルアドレスが搭載された応答パケットを受信する。これにより、VPN装置101及び301は自身のグローバルアドレスを取得することができる。また、VPN装置101及び301の位置するLANとWANの間にルータ102及び302が複数存在する場合であっても、ルータ102及び302がUPnP(Universal Plug and Play)の機能を有していない場合であっても、確実にグローバルアドレスを取得できる。
なお、VPN装置101及び301がグローバルIPアドレスを取得するための方法に関しては、IETFのRFC 3489(STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs))にて記載された手法を利用することもできる。
呼制御サーバ202は、通信のために特定の相手先を呼び出すための制御を行うサーバである。例えば通信システムがIP電話の機能を有する場合には、接続相手先の電話番号に基づいて特定の相手先を呼び出すことができる。また、呼制御サーバ202は信号やデータを中継する機能を有しており(前述の3WHS参照)、通信端末103から送出されたパケットをWAN200を介して通信端末303に転送したり、通信端末303から送出されたパケットをWAN200を介して通信端末103に転送したりすることもできる。
次に、VPN装置101及び301について説明する。
VPN装置101及び301の構成及び動作は同一である。ここでは、VPN装置101を用いて説明する。図2は、VPN装置101のハードウェア構成の一例を示す図であり、図3は、VPN装置101の機能構成の一例を示す図である。
ハードウェア構成としては、図2に示すように、VPN装置101は、マイクロコンピュータ(CPU)111、不揮発性メモリ(フラッシュRAM)112、メモリ(SDRAM)113、ネットワークインタフェース(I/F)114及び115、ネットワーク制御部116及び117、通信中継部118、表示制御部119、表示器120を備える。
CPU111は、所定のプログラムを実行することによりVPN装置101全体の制御を実施する。
不揮発性メモリ112は、マイクロコンピュータ111が実行するプログラムや、運用データ、呼制御を行うための管理情報、制御プログラムを保持している。このプログラムの中には、後に詳述するクロスコールを判定するためのプログラムも含まれている。なお、CPU111が実行するプログラムについては、任意の通信経路を経由してオンラインで外部のサーバから取得することもできるし、例えばCD−ROMのような記録媒体から読み込んで取得することもできる。また、CPU111がプログラムを実行する時には、不揮発性メモリ112上のプログラムの一部がメモリ113上に展開され、メモリ113上のプログラムが実行される場合もある。
メモリ113は、VPN装置101に関する識別情報(本発明の識別情報であって、詳細は後述する)を記憶する。
ネットワークインタフェース114は、VPN装置101と配下の端末103とを通信可能な状態で接続するために利用される。ネットワークインタフェース115は、VPN装置101とローカルネットワーク100とを通信可能な状態で接続するために利用される。
ネットワーク制御部116は、ネットワークインタフェース114に関する通信制御を行う。ネットワーク制御部117はネットワークインタフェース115に関する通信制御を行う。
通信中継部118は、LAN側に接続された配下の通信端末103から外部のVPN装置301配下の通信端末303へのパケットデータを中継する。また、外部のVPN装置301配下の通信端末303からVPN装置101配下の端末103宛に到着したパケットデータを中継する。
表示器120は、VPN装置101として必要な各種状態をユーザあるいは管理者に知らせるための表示部であり、発光ダイオード(LED)や液晶表示器(LCD)で構成されている。
表示制御部119は、表示器120に表示する内容を制御する。
また、機能構成としては、図3に示すように、VPN装置101は、システム部130、呼制御部140、通信部150、設定用インターフェース(I/F)161、配下端末管理部162を備える。また、システム部130は、システム制御部131、識別情報管理部132、識別情報記憶部133を備える。また、呼制御部140は、メッセージ解析部141、優先度判定部142、メッセージ生成部143を備える。また、通信部150は、受信部151及び154、送信部152及び155、データ通信制御部153を備える。これらの各機能は、図2に示した各ブロックのハードウェアの動作、又はマイクロコンピュータ111が所定のプログラムを実行することにより実現する。
システム制御部131は、VPN装置101の全体の制御を統括する。
識別情報管理部132は、識別情報記憶部133に記憶される識別情報を管理する。また、メッセージ解析部141により認識された送信元の通信端末103及び送信先の通信端末303の識別情報を識別情報記憶部133から取得することができる。
識別情報記憶部133は、通信端末103や通信端末303の識別情報を記憶する。当該識別情報は、識別情報記憶部133にあらかじめ記憶しておく他に、呼制御サーバ202や他のサーバから取得してもよいし、あらかじめ記憶しておいてもよい。また、受信部151または受信部154によりメッセージを受信した際にメッセージに含まれる場合にはこの識別情報を用いてもよい。この識別情報により、セッション起動時の優先度が決定される。
なお、本実施例1では、識別情報として、例えば通信端末103や通信端末303のMACアドレス、IPアドレス、ID情報、電話番号を用いる。このような数字やアルファベットで表記される識別情報を用いる場合には、順序演算や加減算を行い、優先度判定を行うことが容易になる。
メッセージ解析部141は、受信部151により受信した通信端末103からの発呼情報を解析し、送信元としての通信端末103及び送信先としての通信端末303を認識する。発呼情報には、送信元及び送信先の通信端末を特定するための特定情報が含まれる。また、メッセージ解析部141は、受信部154により受信された呼制御に関するメッセージを解析する。
なお、通信端末103、303の各々は、図1のシステム構成を認識していないから、発信をする旨のトリガをVPN装置101、301へ送信する。このトリガを発呼情報と総称する。このとき各々の通信端末103、303を特定する情報を特定情報と総称する。VPN装置101、301はシステム構成を認識するため、発呼情報から発呼メッセージを生成し、特定情報から識別情報に変換する。また、通信端末103、303の各々はVPN装置を介して受信するから着呼情報はない。
また、メッセージ解析部141は、メッセージ解析の結果、送信部155により発呼メッセージを送信した後に受信部154により発呼要求メッセージを受信したと判断した場合、受信した発呼要求メッセージを無効と判定し、この発呼要求メッセージを無視することとする。
優先度判定部142は、メッセージ解析結果及び識別情報管理部132から取得する通信端末103及び通信端末303の識別情報に応じて、通信端末103と通信端末303とでいずれが優先度が高いかを判定する。例えば、受信部151により通信端末103からの発呼情報を受信した場合には、優先度判定部142は、通信端末103の識別情報と通信端末303の識別情報とを、発呼情報から、識別情報記憶部133から、もしくは外部サーバから取得する。そして、取得した双方の識別情報を比較し、優先度を判定する。また、この例において、通信端末103の識別情報は本発明の第1の識別情報に対応し、通信端末303の識別情報は同様に第2の識別情報に対応する。
優先度は、例えば識別情報の大小により決定することができ、例えばMACアドレスやその他の識別IDの数値が大きい方を高いものとすることができる。また、システムで管理する特有の優先順をあらかじめ決定しておいてもよく、例えば、VIP顧客の優先順・社員の役職順・ネットワークの優先順などに基づいて、優先度を決定してもよい。また、アルゴリズムの処理に有利になるように、優先度を決定してもよい。
また、優先度判定部142は、メッセージ解析部141により発呼メッセージまたは発呼要求メッセージを受信したと判断した場合には、受信された通信端末303からのメッセージをメッセージ解析部141が解析し、抽出した識別情報に応じて、送信元としての通信端末303と送信先としての通信端末103との間の優先度を優先度判定部142が判定し、メッセージの種別(発呼メッセージか発呼要求メッセージか)の適否を判定する。例えば、通信端末103、303の間で、発呼メッセージを受信部154により受信した場合には、通信端末303の方が優先度が高く、発呼要求メッセージを受信部154により受信した場合には、通信端末103の方が優先度が高いと、優先度判定部142が判定したことを意味する。
メッセージ生成部143は、優先度判定部142による判定結果に応じて、呼制御に関するメッセージの種別を指定し、このメッセージとして発呼メッセージもしくは発呼要求メッセージを生成する。具体的には、通信端末303が通信端末103よりも優先度が高い場合には、通信端末103が発呼要求メッセージを生成し、通信端末303が通信端末103よりも優先度が低い場合には、通信端末103が発呼メッセージを生成する。また、受信部154により着呼(発呼応答)メッセージを受信した場合には、メッセージ生成部143は、着呼応答メッセージを生成する。このように、メッセージ生成部143は、本発明のメッセージ指定部に対応する。
受信部151は、通信端末103から呼制御に関するメッセージや音声等の実データを受信する。
送信部152は、通信端末103へ呼制御に関するメッセージや音声等の実データを送信する。
受信部151は通信端末103から、受信部154は通信端末303から、それぞれ受信し、発呼メッセージ、発呼要求メッセージ、着呼メッセージ、着呼応答メッセージ等の呼制御に関するメッセージや、実データ等を受信する。なお、受信部151、154により受信するメッセージに関して、発呼メッセージはINVITEメッセージに相当し、着呼メッセージはACKメッセージに相当し、着呼応答メッセージはOKメッセージに相当する。
送信部152は通信端末103へ、送信部155は通信端末303へ、それぞれ送信し、の発呼メッセージ、発呼要求メッセージ、着呼メッセージ、着呼応答メッセージ等の呼制御に関するメッセージや、実データ等を送信する。
データ通信制御部153は、受信部151と送信部155との間で実データを中継し、受信部154と送信部152との間で実データを中継する。
設定用I/F部161は、管理者あるいはユーザがVPN装置101に対する操作を行うためのユーザインタフェースであり、例えばWebページなどが用いられる。
配下端末管理部162は、VPN装置101配下の通信端末103の管理を行う。
次に、通信端末103と通信端末303とがセッション起動時に行うデータの送受信について説明する。図4〜図6では、通信端末103の優先度が通信端末303の優先度よりも高い場合を想定している。セッション起動を行い、正常に処理されると、セッションが確立される。
図4は通信端末103から通信端末303へ発呼する場合の通信シーケンスの一例を示す図である。
まず、通信端末103が、通信端末303へデータを送るための発呼情報を通信端末103を管理するVPN装置101へ送信する(ステップS101)。VPN装置101は、通信端末103からの発呼情報を受信すると、通信端末103が高い優先度であるから、発呼メッセージを通信端末303を管理するVPN装置301へ送信する(ステップS102)。
VPN装置301は、VPN装置101からの発呼メッセージを受信すると、これに対する着呼メッセージをVPN装置101へ送信する(ステップS103)。VPN装置101は、VPN装置301からの着呼メッセージを受信すると、これに対する着呼応答メッセージをVPN装置301へ送信する(ステップS104)。
VPN装置301がVPN装置101からの着呼応答メッセージを受信すると、VPN装置101及び配下の通信端末103とVPN装置301及び配下の通信端末303とのセッションが確立される(ステップS105)。セッション確立後、通信端末103から送信されたデータが、VPN装置101及び301を介して、通信端末303へ送信される(ステップS106)。
また、図5は通信端末303から通信端末103へ発呼する場合の通信シーケンスの一例を示す図である。
まず、通信端末303が、通信端末103へデータを送るための発呼情報を通信端末303を管理するVPN装置301へ送信する(ステップS201)。VPN装置301は、通信端末303からの発呼情報を受信すると、通信端末303が低い優先度であるから、発呼要求メッセージを通信端末103を管理するVPN装置101へ送信する(ステップS202)。
VPN装置101は、VPN装置301からの発呼要求メッセージを受信すると、これに対する発呼メッセージをVPN装置301へ送信する(ステップS203)。VPN装置301は、VPN装置101からの発呼メッセージを受信すると、これに対する着呼メッセージをVPN装置101へ送信する(ステップS204)。VPN装置101は、VPN装置301からの着呼メッセージを受信すると、これに対する着呼応答メッセージをVPN装置301へ送信する(ステップS205)。
VPN装置301がVPN装置101からの着呼応答メッセージを受信すると、VPN装置101及び配下の通信端末103とVPN装置301及び配下の通信端末303とのセッションが確立される(ステップS206)。セッション確立後、通信端末303から送信されたデータが、VPN装置301及び101を介して、通信端末103へ送信される(ステップS207)。
また、図6は通信端末103から通信端末303への発呼と通信端末303から通信端末103への発呼が同時に発生した場合の通信シーケンスの一例を示す図である。
まず、通信端末103が通信端末303へデータを送るための発呼情報を通信端末103を管理するVPN装置301へ送信し(ステップS301)、通信端末303が通信端末103へデータを送るための発呼情報を通信端末303を管理するVPN装置301へ送信する(ステップS302)。
VPN装置101は、通信端末103からの発呼情報を受信すると、発呼メッセージをVPN装置301へ送信する(ステップS303)。VPN装置301は、通信端末303からの発呼情報を受信すると、発呼要求メッセージをVPN装置101へ送信する(ステップS304)。
VPN装置301は、VPN装置101からの発呼メッセージを受信すると、これに対する着呼メッセージをVPN装置101へ送信する(ステップS305)。一方、VPN装置101は、発呼メッセージを送信した後に、VPN装置301からの発呼要求メッセージを受信すると、このメッセージを無視する(ステップS306)。つまり、受信した発呼要求メッセージを破棄し、これに対する発呼メッセージの送信を中止する。
VPN装置101は、VPN装置301からの着呼メッセージを受信すると、これに対する着呼応答メッセージをVPN装置301へ送信する(ステップS307)。VPN装置301がVPN装置101からの着呼応答メッセージを受信すると、VPN装置101及び配下の通信端末103とVPN装置301及び配下の通信端末303とのセッションが確立される(ステップS308)。
セッション確立後、通信端末103が着呼情報を確認して通信端末303からの着呼に対する応答を許可した場合には、通信端末303から送信されたデータが、VPN装置301及び101を介して、通信端末103へ送信される(ステップS309)。また、セッション確立後、通信端末103から送信されたデータが、VPN装置101及び301を介して、通信端末303へ送信される(ステップS310)。
次に、VPN装置が通信端末間の通信を中継する際の動作について説明する。
図7は、VPN装置101が配下の通信端末103と通信先の通信端末303との通信を中継する際の動作の一例を示すフローチャートである。なお、VPN装置301についても、同様の動作を行う。
まず、受信部151が、配下の通信端末103からの発呼情報を受信すると(ステップS401)、メッセージ解析部141が、受信した発呼情報から、通信端末103の特定する特定情報及び通信端末303を特定する特定情報を抽出する。そして、優先度判定部142は、これらの特定情報に対応する、通信端末103の識別情報としての識別番号及び通信端末303の識別情報としての識別番号を、識別情報記憶部133や外部サーバ等から取得する(ステップS402)。また、特定情報が識別情報そのものであってもよい。
続いて、優先度判定部142が、取得した通信端末103及び303の識別番号に基づいて、通信端末103及び通信端末303の優先度を判定する(ステップS403)。例えば、通信端末103の識別IDが「1234」、通信端末303の識別IDが「5678」の場合には、通信端末103の優先度が低く、通信端末303の優先度が高いと判定することができる。
通信端末103の優先度が通信端末303の優先度よりも高い場合、メッセージ生成部143が発呼メッセージを生成し、生成した発呼メッセージを送信部155が送信する(ステップS404)。
続いて、受信部154は、送信部155により送信された発呼メッセージに対する通信端末303からの着呼メッセージを受信するまで待機する(ステップS405)。受信部154が着呼メッセージを受信すると、メッセージ生成部143が着呼応答メッセージを生成し、生成した着呼応答メッセージを送信部155が送信する(ステップS406)。
一方、ステップS403において通信端末103の優先度が通信端末303の優先度よりも低い場合、メッセージ生成部143が発呼要求メッセージを生成し、生成した発呼要求メッセージを送信部155が送信する(ステップS407)。
続いて、受信部154は、送信部155により送信された発呼要求メッセージに対する通信端末303からの発呼メッセージを受信するまで待機する(ステップS408)。受信部154が発呼メッセージを受信すると、メッセージ生成部143が着呼メッセージを生成し、生成した着呼メッセージを送信部155が送信する(ステップS409)。
続いて、受信部154は、送信部155により送信された着呼メッセージに対する通信端末303からの着呼応答メッセージを受信するまで待機する(ステップS410)。受信部154が着呼応答メッセージを受信すると、通信端末103及び303の間でセッションが確立され、両通信端末間での通信が可能な状態となる(ステップS411)。
このような本実施例の通信システムによれば、セッション起動時の権限に優先関係を導入することによって、クロスコールの発生を防止することができる。具体的には、優先度の高い通信端末にのみ発呼権限が与えられ、優先度の低い通信端末には発呼を要求する権限のみが与えられる。そして、優先度の高い通信端末からデータを送信する際には発呼メッセージを送信し、優先度の低い通信端末からデータを送信する際には発呼要求メッセージを送信することで、クロスコールが発生することによる誤動作を防止することができる。また、複数の通信端末間で同時にデータの送信を行おうとした場合には、優先度の高い通信端末が優先度の低い通信端末からの発呼要求メッセージを無視することで、通信を希望している通信端末同士で相互に通信中(例えば話し中)であるという状態を回避することができ、セッションの確立をスムーズに行うことができる。さらに、VPN装置101及び301がクロスコール防止のための処理を行うため、実際の送信元及び送信先となる通信端末103及び303自体の負荷が増大することはない。
なお、本実施例では、通常はセキュリティ強化のためにVPN通信を行うことが多いため、VPN装置として説明したが、VPN通信を行うことは必須ではない。つまり、VPN装置101及び301を単純な中継装置で代用可能である。なお、システム内の装置全てがグローバルアドレスを割り当てられている場合など、NAT(Network Address Translation)を越える必要がない場合には、STUNサーバ201を省略することが可能である。
図8は本発明の実施例2における通信システムの構成の一例を示す図である。ここでは、図8に示す通信システムにおいて、図1に示した通信システムと同一の構成については、同一の符号を付し、説明を省略または簡略化する。
本実施例の通信システムと実施例1の通信システムとの相違点は、ローカルエリアネットワーク100及び300配下の部分である。具体的には、図1に示したVPN装置101及び通信端末103とVPN装置301及び通信端末303が、図8に示す例では通信端末104及び304のみとなっている。この通信端末104及び304は、VPN装置101及び通信端末103とVPN装置301及び通信端末303との双方を機能を有して構成される。つまり、通信端末104は、通信端末104自身により管理される。この通信端末104及び304がP2P通信のピアとして機能する。
次に、通信端末104及び304について説明する。
通信端末104及び304の構成及び動作は同一である。ここでは、通信端末104を用いて説明する。図9は、通信端末104のハードウェア構成の一例を示す図であり、図10は、通信端末104の機能構成の一例を示す図である。図9において、図2に示したハードウェア構成と同一の構成については、同一の符号を付し、説明を省略または簡略化する。また、図10において、図3に示した機能構成と同一の構成については、同一の符号を付し、説明を省略または簡略化する。
ハードウェア構成としては、図9に示すように、通信端末104は、CPU111、不揮発性RAM(フラッシュRAM)112、メモリ(SDRAM)113、ネットワークインタフェース(I/F)115、ネットワーク制御部117、表示制御部119、表示器120、入出力制御部121、キーパッド122、マイク(Mic)123、スピーカ124を備える。つまり、本実施例の通信端末104では、実施例1のVPN装置101と比較して、配下の端末への中継を行うための構成がなく、データ入出力を行うための構成が追加されている。
入出力制御部121は、入出力デバイスとしてのキーパッド122、マイク123、スピーカ124の入出力制御を行う。キーパッド122は、データ入力を行うための入力デバイスである。マイク123は、音声データを入力するための入力デバイスである。スピーカ124は、音声データを出力するための出力デバイスである。
また、機能構成としては、図10に示すように、システム部130、呼制御部140、通信部150を備える。システム部130は、システム制御部131、識別情報管理部132、識別情報記憶部133、データ入出力部134を備える。呼制御部140は、メッセージ解析部141、優先度判定部142、メッセージ生成部143を備える。通信部150は、データ通信制御部153、受信部154、送信部155を備える。なお、通信端末104は、前述の理由から、受信部151、送信部152、設定用I/F部161、配下端末管理部162については備えていない。
データ入出力部134は、入力デバイスによるデータ入力に基づいて発呼情報を生成し、メッセージ解析部141へ送る。
次に、通信端末104と通信端末304とがセッション起動時のデータの送受信について説明する。
基本的には、図4〜図6に示したようなVPN装置101及び301の動作と同様の動作を行う。本実施例2において、通信端末104、304は、通信端末から発呼情報を受信してセッション起動を行うのではなく、通信端末104及び通信端末304自身の入力デバイスの入力に基づいて発呼情報を生成し、セッション起動を行うことを特徴とする。また、着呼情報により着呼を許可するか否かについても、配下の通信端末ではなく通信端末104及び304自身により行う。
次に、通信端末104がセッション起動を行う際の動作について説明する。
図11は、通信端末104がセッション起動を行う際の動作の一例を示すフローチャートである。なお、通信端末304についても、同様の動作を行う。
まず、データ入出力部134による入力に基づいてデータ通信制御部153が発呼情報を生成すると、メッセージ解析部141が、生成した発呼情報から、通信端末304を特定する特定情報を抽出する。そして、優先度判定部142は、これらの特定情報に対応する通信端末304の識別情報としての識別番号を、識別情報記憶部133、外部サーバ、発呼メッセージ、発呼要求メッセージ等から取得する(ステップS501)。また、特定情報が識別情報そのものであってもよい。また、通信端末104自身の識別情報としての識別番号を識別情報記憶部133、外部サーバ、発呼メッセージ、発呼要求メッセージ等から取得する。
ステップS501の後は、図7に示したステップS403〜S411と同様の処理を行う。図11中のステップ番号は、図7と同じ番号を表示して説明の重複を省略する。ただし、優先度の比較対象となるのは、自己の通信端末である通信端末104と通信先の通信端末である通信端末304である。
このような本実施例の通信システムによれば、P2P通信において相手先を指定したときに、セッション起動の優先関係が確定するため、クロスコールが発生することを防止できる。したがって、クロスコールが発生したときのために特別に解除手段を講じておく必要がなくなる。また、ユーザは、クロスコールの発生に特別な注意を払う必要がなくなる。また、クロスコールが発生しないため、P2P通信開始が速やかに行われ、快適なP2P通信環境を提供することができる。さらに、クロスコールを防止するために特別に中継装置を設けることがないため、通信システムの構成が複雑化することを防止できる。
実施例1及び2では、クロスコールが発生する前にあらかじめ優先度を判定しておき、クロスコールが発生することを防止することを説明したが、本実施例3の通信システムでは、クロスコールが発生したことを検出し、検出後に優先制御を行うことを特徴とする。本実施例3では、上記特徴の処理を行う主体として、実施例1に示したVPN装置、実施例2に示した通信端末のいずれも適用可能であるが、ここでは「通信装置」として説明を行う。
本実施例3の通信システムの構成、通信装置のハードウェア構成、通信装置の機能構成は、実施例1又は2において示した構成と同様であるが、メッセージ解析部141の動作が異なる。
メッセージ解析部141は、実施例1又は2において説明した動作の他に、呼制御に関するメッセージのシーケンスが3WHSに従って進行しているか否かを監視する。例えば、メッセージ解析部141が、送信部155により発呼メッセージを送信して着呼メッセージを待機しているときに、通信先の通信装置から発呼メッセージを受信した場合、クロスコールが発生したと判断する。
互いに通信中の通信装置同士は、先の実施例で説明したように、通信相手の識別情報を認識している。したがって、メッセージ解析部141が、メッセージの内容を解析し、通信相手の識別情報を取得することで、発呼メッセージを既に送信した通信相手から発呼メッセージを受信したか否か、つまりクロスコールが発生したか否かを判定することができる。
メッセージ解析部141によりクロスコールが発生したと判断すると、その際に、優先度判定部142が、自己の通信装置の識別情報と通信相手の通信装置の識別情報とに基づいて、優先度を判定する。そして、優先度が高い通信装置は、受信した発呼メッセージを無効と判断して無視し、図6に示したステップS306以降の処理を行うようにする。一方、優先度が低い通信装置は、受信した発呼メッセージを有効と判断し、図6に示したステップS305以降の処理を行うようにする。
なお、以上の実施例1ないし3の説明において、優先度判定部142の判定処理は、特定の1判定処理を行うものとして説明をした。しかしながら、本発明は、この内容に限定されるものではない。例えば、優先度判定部142は、複数の判定処理をとり得るものとし、時間帯・日付・曜日・LAN100、WAN200の種別などに応じて、いずれか1の判定処理に変更可能な様に応用することも可能である。それによって、例えば平日用、休日用など、様々な用途に適応する通信端末、通信方法を提供することができる。
このような本実施例の通信システムによれば、クロスコールが発生した後にメッセージのシーケンスを回復させることができ、クロスコールによりセッション確立が不可能となる状態を回避することができる。また、セッション起動毎にクロスコールを防止するための処理を行うものではないため、低処理負荷でこの通信システムを実現することができる。さらに、必要時のみ優先関係の判断を行うため、P2P通信開始に要する時間を短縮することができる。
本発明は、クロスコールが発生する状況を解消し、速やかにセッションを確立することができる通信装置、記憶媒体等に有用である。
100、300 ローカルエリアネットワーク(LAN)
101、301 VPN装置
102、302 ルータ
103、103a〜103c、303、303a〜303c 通信端末
104、304 通信端末
111 CPU
112 不揮発性メモリ(フラッシュRAM)
113 メモリ(SD RAM)
114、115 ネットワークI/F
116、117 ネットワーク制御部
118 通信中継部
119 表示制御部
120 表示器(LED/LCD)
121 入出力制御部
122 キーパッド
123 Mic
124 スピーカ
130 システム部
131 システム制御部
132 識別情報管理部
133 識別情報記憶部
134 データ入出力部
140 呼制御部
141 メッセージ解析部
142 優先度判定部
143 メッセージ生成部
150 通信部
151、154 受信部
152、155 送信部
153 データ通信制御部
161 設定用I/F部
162 配下端末管理部
200 グローバルネットワーク(WAN)
201 STUNサーバ
202 呼制御サーバ

Claims (8)

  1. 他の通信装置との間で通信を行う通信装置であって、
    当該通信装置により管理される第1の通信装置の識別情報である第1の識別情報と、前記他の通信装置により管理される第2の通信装置の識別情報である第2の識別情報と、を取得する識別情報取得部と、
    前記第1の識別情報及び前記第2の識別情報に基づいて、前記第1の通信装置と前記第2の通信装置とのセッション起動時の優先度を判定する優先度判定部と、
    前記優先度に基づいて、前記第2の通信装置へ送信すべき呼制御に関するメッセージの種別を指定するメッセージ種別指定部と、
    前記メッセージ種別指定部により指定された種別のメッセージを前記第2の通信装置へ送信するメッセージ送信部と、
    を備える通信装置。
  2. 請求項1に記載の通信装置であって、
    前記第1の通信装置は、当該通信装置自身であり、
    前記第2の通信装置は、前記他の通信装置自身である通信装置。
  3. 請求項1または2に記載の通信装置であって、
    前記メッセージ種別指定部は、前記優先度判定部により前記第2の通信装置より前記第1の通信装置の方が前記優先度が高いと判定された場合、前記メッセージの種別として発呼メッセージを指定する通信装置。
  4. 請求項1または2に記載の通信装置であって、
    前記メッセージ種別指定部は、前記優先度判定部により前記第2の通信装置よりも前記第1の通信装置の方が優先度が低いと判定された場合、前記メッセージの種別として発呼要求メッセージを指定する通信装置。
  5. 請求項1ないし4のいずれか1項に記載の通信装置であって、
    呼制御に関するメッセージを受信するメッセージ受信部と、
    前記メッセージ送信部により発呼メッセージを送信した後に前記メッセージ受信部により発呼要求メッセージを受信した場合、前記発呼要求メッセージを無効と判定するメッセージ判定部と、
    を備える通信装置。
  6. 請求項1ないし4のいずれか1項に記載の通信装置であって、更に、
    呼制御に関するメッセージを受信するメッセージ受信部を備え、
    前記優先度判定部は、前記メッセージ送信部により発呼メッセージを送信した後に前記メッセージ受信部により発呼メッセージを受信したとき、前記優先度を判定する通信装置。
  7. 他の通信装置との間で通信を行う通信装置における通信方法であって、
    前記通信装置により管理される第1の通信装置の識別情報である第1の識別情報と、前記他の通信装置により管理される第2の通信装置の識別情報である第2の識別情報と、を取得するステップと、
    前記第1の識別情報及び前記第2の識別情報に基づいて、前記第1の通信装置と前記第2の通信装置とのセッション起動時の優先度を判定するステップと、
    前記優先度に基づいて、前記第2の通信装置へ送信すべき呼制御に関するメッセージの種別を指定するステップと、
    前記メッセージ種別指定部により指定された種別のメッセージを前記第2の通信装置へ送信するステップと、
    を有する通信方法。
  8. 請求項7に記載の通信方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
JP2009099965A 2009-04-16 2009-04-16 通信装置、通信方法、及び記憶媒体 Withdrawn JP2010252091A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009099965A JP2010252091A (ja) 2009-04-16 2009-04-16 通信装置、通信方法、及び記憶媒体
US13/264,313 US20120113977A1 (en) 2009-04-16 2010-04-16 Vpn device and vpn networking method
PCT/JP2010/002799 WO2010119710A1 (ja) 2009-04-16 2010-04-16 Vpn装置及びvpnネットワーキング方法
GB1117762.3A GB2482441B (en) 2009-04-16 2010-04-16 VPN device and VPN networking method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009099965A JP2010252091A (ja) 2009-04-16 2009-04-16 通信装置、通信方法、及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2010252091A true JP2010252091A (ja) 2010-11-04

Family

ID=43313920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009099965A Withdrawn JP2010252091A (ja) 2009-04-16 2009-04-16 通信装置、通信方法、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2010252091A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014230125A (ja) * 2013-05-23 2014-12-08 富士通株式会社 通信端末装置、発信抑制方法、及び発信抑制プログラム
JP2017034716A (ja) * 2014-04-03 2017-02-09 シャオミ・インコーポレイテッド 話中回線を処理する方法、装置、およびシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014230125A (ja) * 2013-05-23 2014-12-08 富士通株式会社 通信端末装置、発信抑制方法、及び発信抑制プログラム
JP2017034716A (ja) * 2014-04-03 2017-02-09 シャオミ・インコーポレイテッド 話中回線を処理する方法、装置、およびシステム

Similar Documents

Publication Publication Date Title
US9497127B2 (en) System and method for a reverse invitation in a hybrid peer-to-peer environment
CA2792634C (en) System and method for providing a virtual peer-to-peer environment
US20120113977A1 (en) Vpn device and vpn networking method
US20090313386A1 (en) Communication apparatus, communication method and communication system
CA2793924C (en) System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US20110145426A1 (en) Networking method of communication apparatus, communication apparatus and storage medium
WO2011100742A2 (en) System and method for signaling and data tunneling in a peer-to-peer environment
WO2008044432A1 (fr) Dispositif, procédé et logiciel de communication d'informations
JP5988407B1 (ja) 通信経路制御装置、通信経路制御システム、通信経路制御方法及び通信経路制御プログラム
JP2010212793A (ja) 端末装置とコンピュータプログラム
JP2011211490A (ja) Vpn装置及びip通信装置、サーバ装置
JP4740683B2 (ja) Ip通信装置及びそれを備えた構内ネットワークシステム並びにip通信装置の制御方法
JP2010252091A (ja) 通信装置、通信方法、及び記憶媒体
JP2007060281A (ja) Ip通信装置及びその制御方法
JP2010283762A (ja) 通信経路設定装置、通信経路設定方法、プログラム、及び記憶媒体
JP2006050006A (ja) ネットワーク接続設定装置及びネットワーク接続設定方法
JP2008258917A (ja) 同一nat配下通信制御システム、nat装置、同一nat配下通信制御方法、及びプログラム
JP2014127866A (ja) 通信システムと装置と方法とプログラム
JP6293902B2 (ja) ブラウザ発信プロシージャのためのモバイルデバイスベースのプロキシ
JP2011239277A (ja) Vpn装置、vpnネットワーキング方法、プログラム、及び記憶媒体
JP2010283761A (ja) Vpn装置、vpnネットワーキング方法、プログラム、及び記憶媒体
JP4728933B2 (ja) Ip電話通信システム、ip電話通信方法、およびそのプログラム
JP2010252261A (ja) Vpn装置、vpnネットワーキング方法、及び記憶媒体
JP2007329791A (ja) ゲートウェイ装置
JP4372629B2 (ja) Fw制御を行うsip通信制御装置およびそのfw制御方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120703