JP2008205988A - データ通信システムおよびセッション管理サーバ - Google Patents

データ通信システムおよびセッション管理サーバ Download PDF

Info

Publication number
JP2008205988A
JP2008205988A JP2007041670A JP2007041670A JP2008205988A JP 2008205988 A JP2008205988 A JP 2008205988A JP 2007041670 A JP2007041670 A JP 2007041670A JP 2007041670 A JP2007041670 A JP 2007041670A JP 2008205988 A JP2008205988 A JP 2008205988A
Authority
JP
Japan
Prior art keywords
communication device
communication
message
session management
sip
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.)
Pending
Application number
JP2007041670A
Other languages
English (en)
Inventor
Tadashi Kaji
鍛忠司
Takahiro Fujishiro
藤城孝宏
Akishi Yato
矢戸晃史
Kazuyoshi Hoshino
星野和義
Munetoshi Tsuge
柘植宗俊
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007041670A priority Critical patent/JP2008205988A/ja
Priority to EP20080003203 priority patent/EP1962459A2/en
Priority to CNA2008100808499A priority patent/CN101252581A/zh
Priority to US12/071,592 priority patent/US20080256224A1/en
Publication of JP2008205988A publication Critical patent/JP2008205988A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Abstract

【課題】通信装置の識別情報にセッション管理サーバの識別情報を含めることなく,セッション管理サーバの台数を柔軟に増減でき,かつ,セッション管理サーバと通信装置との間で共有情報が必要な通信を実施している場合でも,セッション管理サーバにかかるメッセージ処理の負荷を分散しながら,データ通信を実現できるデータ通信システムを提供する。
【解決手段】相互にデータ通信を行う,多数の通信装置と,通信装置間のデータ通信のセッションを管理する,複数のセッション管理サーバと,事前に定めた基準にしたがって通信装置から受信したメッセージを処理するセッション管理サーバを振り分ける負荷分散装置と,を備えるデータ通信システムにおいて,セッション管理サーバに,現在ログインしている通信装置と,当該通信装置が行っている通信の状態と,を管理する手段と,通信装置と通信するために必要な情報を取得する手段と,を設ける。
【選択図】 図1

Description

本発明は,データ通信方法およびシステムに関し,更に詳しくは,セッション管理サーバ装置を利用して,通信装置間でのデータ通信を可能にしたデータ通信方法およびシステムに関する。
2つのエンティティ(例えば,装置,または装置上でソフトウェアが実行されることにより具現化されるプロセス)間のデータ通信を行う場合に,当該データ通信を可能にしたり,切断したり,といったデータ通信の制御を行うため,データ通信とは独立した制御用通信プロトコルを用いることがある。例えば,IP電話では,制御用通信プロトコルとしてSIP (Session Initiation Protocol)というプロトコルが広く利用されている(SIPの詳細は非特許文献1参照)。
以下,SIPにおいて,セッション管理サーバを利用して第一の通信装置が第二の通信装置との間の通信セッション(以下,単にセッションともいう)を確立してデータ通信を可能にする場合の動作を簡単に説明する。
まず,第一の通信装置は通信セッション確立処理に先立って,当該通信装置のIPアドレスをセッション管理サーバに登録する。すなわち,当該通信装置は, セッション管理サーバにおいて当該通信装置または通信装置のユーザを一意に識別するための識別子(SIP-URIとも呼ばれる)と,当該通信装置のIPアドレスと,を含む登録要求メッセージ(REGISTERメッセージとも呼ばれる)をセッション管理サーバに送信する。セッション管理サーバは,登録要求メッセージに記載された前記識別子とIPアドレスとを対応付けて記録しておく。
なお,セッション管理サーバに記録されている,ある通信装置の識別子とIPアドレスとの対応付けは,対応付けが記録されたときに設定された有効期間が経過すると削除されるようになっている。また,当該通信装置から登録削除要求メッセージ(たとえば,前記REGISTERメッセージにおいて,対応付けの有効期間を0と設定するように指示する)を送信することによっても削除することができる。
また,本明細書では,ある通信装置(エンティティ)の識別子とIPアドレスとがセッション管理サーバに対応付けて記録されている状態を,当該通信装置はセッション管理サーバにログインしている,とも呼び,記録されていない状態を,当該通信装置はセッション管理サーバからログアウトしている,とも呼ぶ。
ログインすることにより,セッション管理サーバが接続元通信装置から受信したINVITEメッセージ(後述する)を接続先通信装置に送信できるようになる。逆に,接続先通信装置がINVITEメッセージ等をセッション管理サーバに受け付けてもらえるようになる。
同様に,第二の通信装置もセッション確立処理に先立って,セッション管理サーバにログインしておく。
次に,第一の通信装置が第二の通信装置とのセッションを確立する処理を行う。
すなわち,第一の通信装置は,セッション管理サーバに第二の通信装置とのセッション確立を要求するセッション確立要求メッセージ(以下,INVITEメッセージともいう)を送信する。当該INVITEメッセージには,第一の通信装置の識別子と第二の通信装置の識別子とが記載されている。INVITEメッセージを受信したセッション管理サーバは,当該INVITEメッセージを第二の通信装置に送信する。INVITEメッセージを受信した第二の通信装置は,セッション確立要求を受理する場合には,その旨を示す応答メッセージ(200OKメッセージとも呼ばれる)を前記セッション管理サーバに送信する。前記セッション管理サーバは,第一の通信装置に前記応答メッセージを返信する。第一の通信装置が応答メッセージを受信することにより,第二の通信装置との間で通信セッションが確立したことになる。
以上が,SIPにおいて,セッション管理サーバを利用して第一の通信装置が第二の通信装置との間のセッションを確立しデータ通信を可能にする場合の動作である。
セッション管理サーバでは,通信装置からメッセージを受信した場合に,どの通信装置が現在ログインしているのか,といった情報や,任意の通信装置間の通信の状態を適宜更新しながらメッセージの処理を行う。通信の状態とは,呼状態,とも呼び,通信中,通信確立処理中,通信切断処理中,等を示す。このため,セッション管理サーバにログインしている通信装置の数が多くなるにしたがってセッション管理サーバの負荷が重くなってしまう。
そこで,非特許文献1に記載されているような, 2つの通信装置間の通信セッションを制御する機能を備えるセッション管理サーバが複数連携して,を利用して,1つのセッション管理サーバで管理する通信装置を少数にすることによって,セッション管理サーバの負荷を低減する方法が知られている。すなわち,第一の通信装置は第一のセッション管理サーバにログインし,第二の通信装置は第二のセッション管理サーバにログインしているような状態で第一の通信装置が第二の通信装置との間でセッションを確立する場合には,まず,第一の通信装置は,前記INVITEメッセージを第一のセッション管理サーバに送信する。当該INVITEメッセージを受信した第一のセッション管理サーバは,当該INVITEメッセージを第二のセッション管理サーバに転送する。第二のセッション管理サーバは当該INVITEメッセージを第二の通信装置に転送する。同様に,第二の通信装置は,前記応答メッセージを第二のセッション管理サーバに送信する。応答メッセージを受信した第二のセッション管理サーバは,当該応答メッセージを第一のセッション管理サーバに転送する。第一のセッション管理サーバは,当該応答メッセージを第一の通信装置に転送する,という具合である。
なお,非特許文献1に記載の,複数のセッション管理サーバ同士が連携する機能を利用する場合には,通信装置のSIP-URIは当該通信装置がどのセッション管理サーバで管理されているかを示す情報を含んでいる。例えば,“USER1@SIPSERVER1.HITACHI.COM”というSIP-URIの場合には“SIPSERVER1.HITACHI.COM”がセッション管理サーバを識別する情報(通常,ドメイン,と呼ばれる)であることが一般的である。セッション管理サーバは,連携する他のセッション管理サーバの識別情報と,当該セッション管理サーバのIPアドレスを対応付けるテーブルを管理し,メッセージを送信するセッション管理サーバを決定する。
あるいは,複数のセッション管理サーバと,事前に定めた基準にしたがって通信装置からのメッセージを振り分ける,負荷分散装置と,を用いてセッション管理サーバの負荷を分散する方法が存在する。
例えば,特許文献1では,呼状態を複数のセッション管理サーバから読み書き可能なデータベースに記憶し,複数のサーバのうち利用可能なサーバが処理を実施する方法が開示されている。
なお,非特許文献1では,セッション管理サーバと通信装置との間の通信データの盗聴や改ざんを防ぐためにTLSやS/MIMEといった暗号化通信プロトコルを用いることが記載されている。
特許3730545号明細書 IETF,RFC3261:SIP: Session Initiation Protocol,[2005年11月29日検索] ,インターネット<URL:http://www.ietf.org/rfc/rfc3261.txt>
今日,ドメインにはセッション管理サーバの識別情報ではなく,当該通信装置の所属組織を記載したい,という場合が多い。すなわち,同じ組織に所属する通信装置は,“USER1@HITACHI.COM”や“USER2@HITACHI.COM”等のように,同じドメインにしたいという要求がある。このようにすることで,通信装置のドメイン名を確認するだけで,当該通信装置の所属組織を一意に特定することができる。
しかしながら,複数のセッション管理サーバ同士が連携する機能を利用して負荷分散を行う場合,通信装置のSIP-URIのドメインにはセッション管理サーバを特定するための識別情報が含まれている必要があるため,上記の要求を実現することはできない,という課題がある。
また,複数のセッション管理サーバ同士が連携する機能を利用して負荷分散を行う場合には,管理者が通信管理装置の初期設定を行う等によって,一旦,通信装置に対してSIP-URIを割り当ててしまうと,通信装置の設定を変更することなしにはログインするセッション管理サーバを変更できない,という課題もある。このため,例えば,10台のセッション管理サーバで運用していたシステムで,通信装置の数が少なくなったために,セッション管理サーバを8台に減らす,といった運用の手間が大きくなってしまう。
特許文献1に記載の負荷分散方法では,通信装置のメッセージ単位で,負荷分散装置が当該メッセージを処理するセッション管理サーバを動的に選択してメッセージを振り分けるため,上記のような課題は存在しない。
しかしながら,特許文献1に記載の負荷分散方法は,セッション管理サーバと通信装置の間でTLS通信を使用している場合,ある通信装置は当該通信装置のREGISTERメッセージを処理したセッション管理サーバとの間で通信セッションを保持している。このため,例えば,第一の通信装置から第二の通信装置との通信を要求するINVITEメッセージを受信したセッション管理サーバが,第二の通信装置のREGISTERメッセージを処理したセッション管理サーバでなかった場合には,第二の通信装置と通信ができない,という課題がある。
通信セッションの保持とは,例えば,データの送信元,受信元双方が,どこまでデータを送信したか,受信したかという状態を共有することを指す。したがって,上記のような課題を持つものは,TLSだけでなく,TCPに代表される,データ送信中も,データが届いているかを確認しながら通信を行うコネクション型の通信が該当する。
したがって,特許文献1に記載の負荷分散方法では、信頼できる通信と,安全な通信との両立が難しい、という課題がある。
本発明は,通信装置の識別情報にセッション管理サーバの識別情報を含めることなく,セッション管理サーバの処理負荷を分散することができるデータ通信システムを提供する。
また,本発明は,セッション管理サーバの台数を柔軟に増減できるデータ通信システムを提供する。
さらに,本発明は,セッション管理サーバと通信装置との間で共有情報が必要な通信を実施している場合でも,セッション管理サーバにかかるメッセージ処理の負荷を分散しながら,データ通信を実現できるデータ通信システムを提供する。
具体的には,本発明は,相互にデータ通信を行う,複数の通信装置と,通信装置間のデータ通信のセッションを管理する,複数のセッション管理サーバと,事前に定めた基準にしたがって通信装置から受信したメッセージを処理するセッション管理サーバを振り分ける負荷分散装置と,からなるデータ通信システムにおいて,現在ログインしている通信装置と,当該通信装置が行っている通信の状態と,を管理する手段と,通信装置と通信するために必要な情報を取得する手段と,をセッション管理サーバに設けたことを主な特徴とする。
上記通信装置と通信するために必要な情報とは,当該通信装置を管理しているセッション管理サーバに関する情報や,通信装置との通信セッションを保持するための共有情報が該当する。
本発明が提供するデータ通信システムは,より具体的には,当該通信装置間のデータ通信のセッションを管理する,複数のセッション管理サーバと,事前に定めた基準にしたがって,通信装置1から通信装置2への通信メッセージであって,上記通信装置2を管理するセッション管理サーバを特定する情報を備えない通信メッセージを,いずれかの上記セッション管理サーバに振り分ける負荷分散装置と,上記負荷分散装置から上記通信メッセージを受信したセッション管理サーバに,上記通信装置2と通信するために必要な情報を取得させる手段と,を備えることを特徴とする,複数の通信装置相互のデータ通信を管理するデータ通信システムである。
また,上記通信装置2と通信するために必要な情報とは,当該通信装置2がログインしているセッション管理サーバを特定するための識別情報であってもよい。
また,上記通信装置2と通信するために必要な情報を取得させる手段は,上記通信装置2がログインしているか否かを,上記セッション確立要求メッセージを受信したセッション管理サーバが他のセッション管理サーバに問い合わせる手段と,上記通信装置2がログインしているセッション管理サーバが,当該通信装置2がログインしていることを,上記セッション確立要求メッセージを受信したセッション管理サーバに応答する手段と,を含んでもよい。
また,上記通信装置2と通信するために必要な情報を取得させる手段は,上記複数のセッション管理サーバがアクセス可能で,かつ,上記通信装置がログインしているセッション管理サーバを特定するための識別情報を記録した共有データベースと,上記セッション確立要求メッセージを受信したセッション管理サーバが,当該共有データベースを検索する手段と,を含んでもよい。
また,上記通信メッセージは,セッション確立要求メッセージまたはセッション確立応答メッセージであってもよい。
また,上記通信装置2と通信するために必要な情報は,当該通信装置2と通信する際に使用する暗号化通信設定であって,上記通信装置2と通信するために必要な情報を取得させる手段は,当該通信装置2と通信する際に使用する暗号化通信設定を記録する,上記複数のセッション管理サーバがアクセス可能な共有データベースと,上記セッション確立要求メッセージを受信したセッション管理サーバが,当該共有データベースを検索する手段と,を含んでもよい。
また,上記通信メッセージは,呼情報検索要求メッセージまたは呼情報検索応答メッセージであってもよい。
なお,セッション管理サーバを特定するための識別情報とは,ドメイン名、ホスト名、IPアドレス、URI等であってもよい。
上記態様によれば,通信装置がログインするセッション管理サーバは,通信装置がREGISTERメッセージを送信した際に負荷分散装置によって選択されるため,通信装置のSIP-URIのドメインには,セッション管理サーバの識別情報ではなく,所属組織の情報を記載することができると同時に,セッション管理サーバの数を通信装置の数に合わせて増減させる運用が可能である。
さらに,上記態様によれば,セッション管理サーバはメッセージの送信先である通信装置と通信するために必要な情報を取得してメッセージを送信するため,セッション管理サーバと通信装置との間で共有情報が必要な通信を実施している場合でも,セッション管理サーバにかかるメッセージ処理の負荷を分散しながら,データ通信を実現できる。
本発明によれば,信頼できる通信や安全な通信との両立が可能な負荷分散方法が可能になる。
また,同じドメインに属する複数のSIPサーバを用いる場合であっても負荷分散が可能になる。
以下,図面を用いて本発明の実施の形態について説明する。なお,これらの実施形態によって本発明が限定されるものではない。
また,以下,SIPへの適用例を説明するが,SIP以外にも,通信セッションを確立する場合にセッション管理サーバを介してセッション確立要求メッセージや応答メッセージを送受するようなシステムにも,本発明は適用できる。
さらに,以下の各実施例における各装置は,例えば,図2にその構成例を示すような,プロセッサ(CPU)91と,プロセッサ91が実行する各種ソフトウェア(プログラム)とデータを記憶するためのメモリ92および/またはハードディスク93と,ネットワーク0(LAN1,LAN2)に接続するためのネットワークインタフェース94と,マウス,キーボードなどの入力装置,表示装置,そして外部記憶媒体の読み書き装置を含む入出力装置95とからなり,これらの構成要素がバスなどの内部通信線(バスという)16によって相互接続されている一般的な電子計算機上に実現されるものである。
すなわち,以下の各実施例における各装置が備える処理部とその処理は,それぞれの装置においてハードディスク93またはメモリ92に格納された必要なプログラムを必要なタイミングでプロセッサ91が実行することにより,実現される。これらのプログラムは予め,各装置のハードディスク93またはメモリ92に格納されていても良いし,必要なときに,当該装置が利用可能な媒体を介して,他の装置から上記記憶部に導入されてもよい。媒体とは,たとえば,入出力装置95にて利用可能な着脱可能な記憶媒体,またはネットワークインタフェース94を介して利用可能な通信媒体(すなわちネットワークまたはネットワークを伝搬する搬送波やディジタル信号)を指す。また,上述の各々の処理部を集積回路などのハードェアとして構成することも可能である。
また,以下の実施例に於いて使用しているドメイン名,URL,URI,IPアドレス等の識別子は,説明のために用いる架空のものであり,実在するものがあったとしても関係はない。
まず,図1から図7を参照して,第一の実施例について説明する。
図1は,第一の実施例におけるシステム構成を示した図である。
ここに示したシステムは,セッション管理サーバ装置である,3台のSIPサーバ(SIPサーバ11,SIPサーバ12,SIPサーバ13)と,負荷分散装置30と,ユーザが使用してサービスとのデータ通信を実施する通信装置(ユーザ端末という)51と,サービスを提供する通信装置52と,からなり,3台のSIPサーバと負荷分散装置30とはLAN1を介して接続されており,さらに,負荷分散装置30と通信装置51と通信装置52とはネットワーク0を介して接続されている。
また,SIPサーバ11は192.168.10.11というIPアドレスが割り当てられており,SIPサーバ11にログインしている通信装置を管理するためのレジストラDB21と,SIPサーバ11が管理している通信セッションの情報を管理するための呼情報DB41とを備えている。SIPサーバ11のソフトウェア構造は,LAN1を介して,他のSIPサーバや負荷分散装置30と通信するためのネットワークインタフェースカード(NIC)制御部101と,SIPメッセージを処理するSIPメッセージ処理部102と,レジストラDB21への処理を制御するレジストラ処理部103と,呼情報DB41への処理を制御するセッション制御部104と,ある通信管理装置がログインしているSIPサーバを検索するSIPサーバ検索部105と,からなる。
また,SIPサーバ12は192.168.10.12というIPアドレスが割り当てられており,SIPサーバ12にログインしている通信装置を管理するためのレジストラDB22と,SIPサーバ12が管理している通信セッションの情報を管理するための呼情報DB42とを備え,SIPサーバ11と同様のソフトウェア構造をしている。さらに,SIPサーバ13は192.168.10.13というIPアドレスが割り当てられており,SIPサーバ13にログインしている通信装置を管理するためのレジストラDB23と,SIPサーバ13が管理している通信セッションの情報を管理するための呼情報DB43とを備え,SIPサーバ11と同様のソフトウェア構造をしている。
また,負荷分散装置30はネットワーク0を介した通信装置からメッセージを一元的に受信し,SIPサーバにメッセージを転送する機能を持つ装置であり,192.168.10.1というIPアドレスが割り当てられている。なお,本実施例で使用する負荷分散装置30は,あらかじめ定められた期間内に同じ通信装置からメッセージを受信した場合には,当該メッセージを直前にメッセージを転送したSIPサーバに転送する機能を備えている。
さらに,通信装置51は,192.168.20.11というIPアドレスと,user@hitachi.comというSIP-URIとが割り当てられている。通信装置51のソフトウェア構造は,ネットワーク0を介して,負荷分散装置30や通信装置52と通信するためのネットワークインタフェースカード(NIC)制御部511と,SIPメッセージを処理するSIPメッセージ処理部512と,通信装置52が提供するサービスを享受するサービス通信装置処理部513と,からなる。
また,通信装置52は,192.168.30.11というIPアドレスと,service@hitachi.comというSIP-URIとが割り当てられている。通信装置52のソフトウェア構造は,ネットワーク0を介して,負荷分散装置30や通信装置51と通信するためのネットワークインタフェースカード(NIC)制御部521と,SIPメッセージを処理するSIPメッセージ処理部522と,通信装置51にサービスを提供するサービス通信装置処理部523と,からなる。
以下,図1に示した通信装置51が,通信装置52とデータ通信を行う場合の通信手順を例にして,第1の実施例について説明する。
図3および4は,第1の実施例によるデータ通信を示すシーケンス図である。
まず,第一の実施例では,通信装置51および通信装置52はSIPサーバへのログイン処理を行う。
図3は,通信装置51および通信装置52がSIPサーバへのログイン処理を行う場合のシーケンスを示した図である。
まず,図3では,通信装置52がSIPサーバにログイン処理を行う。
すなわち,通信装置52は,負荷分散装置30を介して,SIPサーバとTLS通信のネゴシエーションを行う(S1)。このとき,通信装置52からTLS通信のネゴシエーションを要求するメッセージを受信した負荷分散装置30は,3台のSIPサーバの中からメッセージを転送するSIPサーバを選択すると,選択したSIPサーバにメッセージを転送する。図3では,SIPサーバ13が選択され,通信装置52とSIPサーバ13との間でTLS通信が確立される。
TLS通信では,通信装置52やSIPサーバ13は通信セッションが切断されていないことを確認するメッセージを定期的に送信する。このため,負荷分散装置30は,通信装置52とSIPサーバ13との間でTLS通信が確立している間は,通信装置52からのメッセージを常にSIPサーバ13に転送するようになる。
次に,通信装置52はロケーション登録を要求するため,負荷分散装置30にSIPメッセージの中のREGISTERメッセージを送信する(S2)。REGISTERメッセージを受信した負荷分散装置30は,当該メッセージをSIPサーバ13に転送する(S3)。
REGISTERメッセージを受信したSIPサーバ13は,レジストラ処理部103がレジストラDB23に,受信したREGISTERメッセージのFromヘッダが示す要求元SIP-URI(service@hitachi.com)とContactヘッダが示す要求元IPアドレス(192.168.30.11)との関係を示すロケーションデータを登録すると,SIPメッセージ処理部102がロケーション登録の成功を伝えるために通信装置52宛のSIP応答メッセージを送信する(S4)。
SIP応答メッセージを受信した負荷分散装置30は,当該メッセージを通信装置52に送信する(S5)。
以上により,通信装置52のSIPサーバにログインが完了し,通信装置52は通信装置51からのサービス提供要求を待ち受ける。
続いて,本実施例では,通信装置51がSIPサーバへのログイン処理を行う。
すなわち,通信装置51は,負荷分散装置30を介して,SIPサーバとTLS通信のネゴシエーションを行う(S6)。このとき,通信装置51からTLS通信のネゴシエーションを要求するメッセージを受信した負荷分散装置30は,3台のSIPサーバの中からメッセージを転送するSIPサーバを選択すると,選択したSIPサーバにメッセージを転送する。図3では,SIPサーバ11が選択され,通信装置51とSIPサーバ11との間でTLS通信が確立される。以降,通信装置51とSIPサーバ11との間でTLS通信が確立している間は,負荷分散装置30は通信装置51からのメッセージを常にSIPサーバ11に転送する。
次に,通信装置51はロケーション登録を要求するため,負荷分散装置30にREGISTERメッセージを送信する(S7)。REGISTERメッセージを受信した負荷分散装置30は,当該メッセージをSIPサーバ11に転送する(S8)。
REGISTERメッセージを受信したSIPサーバ11は,レジストラ処理部103がレジストラDB21に,受信したREGISTERメッセージのFromヘッダが示す要求元SIP-URI(user@hitachi.com)とContactヘッダが示す要求元IPアドレス(192.168.20.11)との関係を示すロケーションデータを登録すると,SIPメッセージ処理部102がロケーション登録の成功を伝えるために通信装置51宛のSIP応答メッセージを送信する(S9)。
SIP応答メッセージを受信した負荷分散装置30は,当該メッセージを通信装置51に送信する(S10)。
以上により,通信装置51のSIPサーバにログインが完了する。
ログイン処理が完了した通信装置51は通信装置52にサービス提供を要求する。
図4は,ログイン処理が完了した通信装置51が通信装置52にサービスの提供を受ける場合のシーケンスを示した図である。
まず,通信装置51が通信装置52にサービスの提供を受ける場合,通信装置51はINVITEメッセージを送信する(S11)と,負荷分散装置30は,通信装置51とTLS通信が確立しているSIPサーバ11に当該INVITEメッセージを転送する(S12)。
INVITEメッセージを受信したSIPサーバ11は,図5に示す処理フローにしたがって,当該INVITEメッセージを処理する。
すなわち,SIPサーバ11は,レジストラ処理部103がレジストラDB21にアクセスして,受信したINVITEメッセージのToヘッダが示す受信者SIP-URIのIPアドレスを検索する(ステップ1001)。
ここで,レジストラDB21から該当するIPアドレスが検索できた場合には,ステップ1007に遷移して,SIPサーバ11のセッション管理部104が,INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報と,当該通信セッションが「確立処理中(受信先からの応答待ち)」状態であることを呼情報DB41に記録する。
次に,検索したIPアドレスにINVITEメッセージを送信する(ステップ1008)。このとき,SIPサーバ11はINVITEメッセージのViaヘッダにSIPサーバ11の識別情報を追加する。
一方,ステップ1001で,レジストラDB21から該当するIPアドレスが検索できなかった場合には,当該SIP-URIが示す通信装置を管理しているSIPサーバを検索するため,SIPサーバ検索部105がSIPサーバ検索要求メッセージ81を作成し,ブロードキャスト通信によってLAN1に当該SIPサーバ検索要求メッセージ81を送信する(ステップ1003,S13)。
本実施例のSIPサーバ検索要求メッセージ81は,図6に示すように,検索対象SIP-URIを含むコマンドライン行(図6では「SEARCH_REQUEST sip:service@hitachi.com」と記載されているが,これは,service@hitachi.comというSIP-URIを持つ通信装置を管理しているSIPサーバを検索していることを意味する)から構成される。
一方,SIPサーバ検索要求メッセージ81を受信したSIPサーバは,図7に示す処理フローにしたがって,当該SIPサーバ検索要求メッセージ81を処理する。
すなわち,SIPサーバは,ステップ1011でSIPサーバ検索要求メッセージ81を受信すると,レジストラ処理部103がレジストラDBにアクセスして,当該SIPサーバ検索要求メッセージ81のコマンドライン行が示すSIP-URIのIPアドレスを検索する(ステップ1012)。
ここで,レジストラDB21から該当するIPアドレスが検索できなかった場合には,そのまま処理を終了する。
一方,レジストラDB21から該当するIPアドレスが検索できた場合,SIPサーバ検索部105がSIPサーバ検索応答メッセージ82を作成し,SIPサーバ検索要求メッセージ81の送信元行が示す送信先にメッセージを送信する(ステップ1014)。
本実施例のSIPサーバ検索応答メッセージ82は,図6に示すように,検索対象SIP-URIの検索結果を示すコマンドライン行(図6では「SEARCH_RESULT SUCCESS」と記載されているが,これは検索に成功したことを意味する)と,検索対象SIP-URIを管理しているSIPサーバを特定するための識別情報(図6では「IP_ADDRESS: 192.168.10.13」と記載されているが,これは,検索対象SIP-URIを管理しているSIPサーバのIPアドレスが192.168.10.13であることを意味する)と,から構成される。
図4では,通信装置52はSIPサーバ13にログインしているため,SIPサーバ13がSIPサーバ検索応答メッセージ82をSIPサーバ11に送信する(S14)。
SIPサーバ検索応答メッセージ82を受信したSIPサーバ11は,当該メッセージを参照して,通信装置を管理しているSIPサーバのIPアドレスを取得する(ステップ1005)。
SIPサーバ11は,取得したIPアドレスがSIPサーバのIPアドレスとして妥当なアドレスである(例えば,SIPサーバがローカルに全SIPサーバのIPアドレスのリストを管理しているような場合,IPアドレスが当該リストに記載されている,等)と判断する(ステップ1006)と,ステップ1007に遷移して,SIPサーバ11のセッション管理部104が,INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報と,当該INVITEメッセージの送信元のSIP-URIと,当該INVITEメッセージの送信先のSIP-URIと,当該通信セッションが「確立処理中(受信先からの応答待ち)」状態であることを呼情報DB41に記録する。
次に,SIPサーバ検索応答メッセージ82から取得したIPアドレス,すなわち,図4ではSIPサーバ13にINVITEメッセージを送信する(ステップ1008,S15)。このとき,SIPサーバ11はINVITEメッセージのViaヘッダにSIPサーバ11の識別情報を追加する。
INVITEメッセージを受信したSIPサーバ13は,図5に示す処理フローにしたがって,当該INVITEメッセージを処理する。
すなわち,SIPサーバ13は,ステップ1001で,レジストラ処理部103がレジストラDB23にアクセスして,受信したINVITEメッセージのToヘッダが示す受信者SIP-URIのIPアドレスを検索する。
ここで,SIPサーバ13は通信装置52がログインしているSIPサーバであるため,レジストラDB23から該当するIPアドレスが検索できる。
そこで,SIPサーバ13はステップ1007に遷移して,SIPサーバ13のセッション管理部104が,INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報と,Fromメッセージが示す通信元の識別情報と,Toメッセージが示す通信先の識別情報と,当該通信セッションが「確立処理中(受信先からの応答待ち)」状態であることを呼情報DB41に記録すると,レジストラDB23から検索したIPアドレス,すなわち,通信装置52に負荷分散装置30を介してINVITEメッセージを送信する(ステップ1008,S16,S17)。このとき,SIPサーバ13はINVITEメッセージのViaヘッダにSIPサーバ13の識別情報を追加する。
INVITEメッセージを受信した通信装置52は,SIPメッセージ処理部523が当該メッセージで要求されている通信が受け入れ可能かどうかを検査し,検査結果をSIP応答メッセージとして作成すると,当該メッセージを負荷分散装置30に送信する(S18)。負荷分散装置30は当該メッセージをSIPサーバ13に送信する(S19)。
SIP応答メッセージを受信したSIPサーバ13は,SIPメッセージ処理部102が当該メッセージの内容を確認し,「通信許可」であれば,セッション管理部104が呼情報DB43にアクセスして,当該メッセージのCall-IDヘッダが示す通信セッションの状態を「接続中」状態に更新する。
一方,「通信拒否」である場合には,セッション管理部104が呼情報DB43にアクセスして,当該メッセージのCall-IDヘッダが示す通信セッションに関するエントリを削除する。
次に,SIPサーバ13は,SIP応答メッセージのViaヘッダを確認して,SIPサーバ11に当該メッセージを送信する(S20)。
SIP応答メッセージを受信したSIPサーバ11は,SIPサーバ13と同様に,SIPメッセージ処理部102が当該メッセージの内容にしたがって呼情報DB41を更新すると,負荷分散装置30を介して通信装置51にSIP応答メッセージを送信する(S21,S22)。
SIP応答メッセージを受信した通信装置51は,SIPメッセージ処理部512が当該メッセージの内容を確認し,「通信許可」であれば,サービス通信装置処理部513が通信装置52のサービスサーバ処理部523とデータ通信を実施し(S23),サービスを享受する。
サービスの利用を終了すると,通信装置51は負荷分散装置30にBYEメッセージを送信する(S24)。BYEメッセージを受信した負荷分散装置30は当該メッセージをSIPサーバ11に送信する(S25)。
BYEメッセージを受信したSIPサーバ11は,図5の処理フローにしたがってメッセージを処理する。この結果,SIPサーバ11は,ステップ1004でSIPサーバ検索要求メッセージ81をブロードキャスト通信し(S26),SIPサーバ13からSIPサーバ検索応答メッセージ82を受信する(S27)。また,ステップ1007でセッション管理部104が呼情報DB41にアクセスして,当該BYEメッセージのCall-IDヘッダが示す通信セッションの状態を「通信切断中(受信先からの応答待ち)」に更新する。さらに,SIPサーバ11は,ステップ1008で, SIPサーバ13に当該BYEメッセージを送信する(S28)。このとき,SIPサーバ11はBYEメッセージのViaヘッダにSIPサーバ11の識別情報を追加する。
次に,BYEメッセージを受信したSIPサーバ13も,図5の処理フローにしたがってメッセージを処理する。この結果,SIPサーバ13は,ステップ1007でセッション管理部104が呼情報DB43にアクセスして,当該BYEメッセージのCall-IDヘッダが示す通信セッションの状態を「通信切断中(受信先からの応答待ち)」に更新する。
さらに,SIPサーバ13は,ステップ1008で,負荷分散装置30を介して通信装置52に当該BYEメッセージを送信する(S29,S30)。このとき,SIPサーバ13はBYEメッセージのViaヘッダにSIPサーバ13の識別情報を追加する。
BYEメッセージを受信した通信装置52は,SIPメッセージ処理部523が当該メッセージで要求されている通信の切断処理を実施し,SIP応答メッセージを負荷分散装置30に送信する(S31)。負荷分散装置30は当該メッセージをSIPサーバ13に送信する(S32)。
SIP応答メッセージを受信したSIPサーバ13は,セッション管理部104が呼情報DB43にアクセスして,当該メッセージのCall-IDヘッダが示す通信セッションに関するエントリを削除する。
次に,SIPサーバ13は,SIP応答メッセージのViaヘッダを確認して,SIPサーバ11に当該メッセージを送信する(S33)。
SIP応答メッセージを受信したSIPサーバ11は,SIPサーバ13と同様に,SIPメッセージ処理部102が当該メッセージの内容にしたがって呼情報DB41を更新すると,負荷分散装置30を介して通信装置51にSIP応答メッセージを送信する(S34,S35)。
なお,図5のステップ1004においてSIPサーバ検索応答メッセージ82があらかじめ定めた期間を超えても戻ってこない場合や,図5のステップ1006においてSIPサーバ検索応答メッセージ82から当該メッセージの送信元が取得できない場合には,SIPサーバはステップ1009に遷移して,SIPメッセージ処理部102がエラーの発生を意味するSIP応答メッセージを作成し,SIPメッセージの送信元に返信する。例えば,通信装置52がログアウトした後に,通信装置51が通信装置52にINVITEメッセージを送信するような場合,このような状態が発生する。
以上が,本実施例に置いて,ログイン処理が完了した通信装置51が通信装置52にサービスの提供を受ける場合の動作である。
なお,第一の実施例では,呼情報はセッション管理サーバが管理し,共有データベースは持っていなくてもよい。
一方,特許文献1に記載の負荷分散方法は,1つのメッセージを処理する毎に共有データベースの更新が発生する。このため,非常に高い処理性能を持った共有データベースや,セッション管理サーバと共有データベースとの間に高速な通信手段が要求される,という課題がある。また,特許文献1に記載の負荷分散方法は,同一の呼情報を複数のセッション管理サーバが同時に制御しようとすると共有データベースの状態が一意に確定できなくなってしまう,という課題もある。
すなわち,本実施例によれば,高性能な共有データベースや,当該共有データベースとセッション管理サーバとの間の高速な通信手段は必要ない上,共有データベースの状態が一意に確定できなくなってしまうような状態も発生しない,という効果がある。
また,第一の実施例では,SIPサーバ検索応答メッセージ82に記載するSIPサーバを特定するための識別情報としてIPアドレスを用いているが、本発明はこれに限定されない。SIPサーバを特定するための識別情報として、IPアドレスの代わりに、IPアドレスとポート番号の組み合わせやドメイン名、ホスト名、URI、MACアドレス等を使用してもよい。
また,第一の実施例では,INVITEメッセージやBYEメッセージの送信先の通信装置を検索するために,SIPサーバ検索メッセージをLAN1にブロードキャストするようにしているが,本発明はこれに限定されない。LAN1の管理者が複数のSIPサーバに届くマルチキャスト通信を設定し,SIPサーバは当該マルチキャスト通信を利用してSIPサーバ検索メッセージを送信するようにしても良い。すなわち,特殊なIPアドレスをマルチキャスト用のIPアドレスとして使用し,LAN1の管理者が該IPアドレス宛のパケットを受信した場合に、複数のSIPサーバにパケットを転送するよう、LAN1内のルータを設定してもよい。
このようにすることで,ブロードキャスト通信を利用する場合に比べてLAN1のネットワーク負荷を低減することができる。あるいは,SIPサーバが他のSIPサーバのIPアドレスを管理しておき,個々のSIPサーバに対してSIPサーバ検索メッセージを個別に送信するようにしても良い。このようにすることで,異なるサブドメインに属するSIPサーバとの間でも負荷分散を行えるようになる。
また,第一の実施例では,通信装置51が通信の切断処理を開始するようにしているが,本発明はこれに限定されない。通信装置52から切断処理を実行してもよい。
次に,図8から図14を参照して,第二の実施例について説明する。
上述した第一の実施例では,通信装置を管理しているSIPサーバの情報を取得するためにSIPサーバ検索部105がSIPサーバ検索要求メッセージ81をブロードキャスト通信し,SIPサーバ検索要求メッセージ81を受信した,SIPサーバが自身のレジストラDBを検索し,検索に成功したSIPサーバがSIPサーバ検索応答メッセージ82を応答するようにしていた。
第二の実施例では,SIPサーバからアクセス可能で,かつ,現在ログインしている通信装置がどのSIPサーバにログインしているかを管理する,管理DBを設けたことを特徴とする。
図8は,第二の実施例におけるシステム構成を示した図である。
ここに示したシステムは,セッション管理サーバである,3台のSIPサーバ(SIPサーバ11,SIPサーバ12,SIPサーバ13)と,負荷分散装置30と,本実施例の特徴である管理DB40と,ユーザが使用してサービスとのデータ通信を実施する通信装置(ユーザ端末ということもある)51と,サービスを提供する通信装置52と,からなり,3台のSIPサーバと負荷分散装置30とはLAN1を介して接続されており,3台のSIPサーバと管理DB40とはLAN2を介して接続されており,さらに,負荷分散装置30と通信装置51と通信装置52とはネットワーク0を介して接続されている。
なお,管理DB40は,図2に示すハードウェア構成を備えた情報処理装置である。
また,SIPサーバ11は192.168.10.11というIPアドレスが割り当てられており,SIPサーバ11にログインしている通信装置を管理するためのレジストラDB21と,SIPサーバ11が管理している通信セッションの情報を管理するための呼情報DB41とを備えている。SIPサーバ11のソフトウェア構造は,LAN1を介して,他のSIPサーバや負荷分散装置30と通信するためのネットワークインタフェースカード(NIC)制御部101と,SIPメッセージを処理するSIPメッセージ処理部102と,レジストラDB21への処理を制御するレジストラ処理部103と,呼情報DB41への処理を制御するセッション制御部104と,ある通信管理装置がログインしているSIPサーバを検索するSIPサーバ検索部105と,からなる。
また,SIPサーバ12は192.168.10.12というIPアドレスが割り当てられており,SIPサーバ12にログインしている通信装置を管理するためのレジストラDB22と,SIPサーバ12が管理している通信セッションの情報を管理するための呼情報DB42とを備え,SIPサーバ11と同様のソフトウェア構造をしている。さらに,SIPサーバ13は192.168.10.13というIPアドレスが割り当てられており,SIPサーバ13にログインしている通信装置を管理するためのレジストラDB23と,SIPサーバ13が管理している通信セッションの情報を管理するための呼情報DB43とを備え,SIPサーバ11と同様のソフトウェア構造をしている。
また,負荷分散装置30はネットワーク0を介した通信装置からメッセージを一元的に受信し,SIPサーバにメッセージを転送する機能を持つ装置であり,192.168.10.1というIPアドレスが割り当てられている。なお,実施例で使用する負荷分散装置30は,あらかじめ定められた期間内に同じ通信装置からメッセージを受信した場合には,当該メッセージを直前にメッセージを転送したSIPサーバに転送する機能を備えている。
さらに,通信装置51は,192.168.20.11というIPアドレスと,user@hitachi.comというSIP-URIとが割り当てられている。通信装置51のソフトウェア構造は,ネットワーク0を介して,負荷分散装置30や通信装置52と通信するためのネットワークインタフェースカード(NIC)制御部511と,SIPメッセージを処理するSIPメッセージ処理部512と,通信装置52が提供するサービスを享受するサービス通信装置処理部513と,からなる。
また,通信装置52は,192.168.30.11というIPアドレスと,service@hitachi.comというSIP-URIとが割り当てられている。通信装置52のソフトウェア構造は,ネットワーク0を介して,負荷分散装置30や通信装置51と通信するためのネットワークインタフェースカード(NIC)制御部521と,SIPメッセージを処理するSIPメッセージ処理部522と,通信装置51にサービスを提供するサービス通信装置処理部523と,からなる。
以下,図8に示した通信装置51が,通信装置52とデータ通信を行う場合の通信手順を例にして,第二の実施例について説明する。
図9および図10は,第二の実施例によるデータ通信を示すシーケンス図である。図3,図4と同一符号で示された第一実施例で説明済みのステップとメッセージについてはできる限り説明を省略する。
まず,第二の実施例でも,通信装置51および通信装置52はSIPサーバへのログイン処理を行う。
図9は,通信装置51および通信装置52がSIPサーバへのログイン処理を行う場合のシーケンスを示した図である。
本実施例でも,通信装置52はSIPサーバ13とTLS通信を確立した後,REGISTERメッセージを送信して,ログイン処理を要求する(S1〜S3,S6〜S8)。
このとき,SIPサーバ13は図11に示す処理フローにしたがってREGISTERメッセージを処理する。すなわち,REGISTERメッセージを受信したSIPサーバ13は,ステップ2001で,SIPサーバ検索要求メッセージ81を管理DB40に送信し(図9のS301),管理DB40にREGISTERメッセージを送信してきた通信装置,すなわち,通信装置52のSIP-URIがすでに登録済みかを検索する。管理DB40からSIPサーバ検索応答メッセージ82を受信し(図9のS302),管理DB40に通信装置52のSIP-URIがすでに登録済みであった場合,SIPサーバ13は,負荷分散装置30を介して,通信装置52にエラーを意味するSIP応答メッセージを送信する(ステップ2110)。
なお,本実施例では,検索対象SIP-URIが未だ登録されていない場合,SIPサーバ検索応答メッセージ82のコマンドライン行は,検索に失敗したことを示すため,「SEARCH_RESULT FAILURE」と記載される。
一方,管理DB40に通信装置52のSIP-URIが未だ登録されていなかった場合,SIPサーバ13はステップ2103で,レジストラDB23に通信装置52のSIP-URIとIPアドレスとを関連付けて保存する。
次に,SIPサーバ13は,ステップ2104で,SIPサーバ登録要求メッセージ83を送信し(図9のS303),管理DB40に通信装置52のSIP-URIと,通信装置52がログインしているSIPサーバ,すなわちSIPサーバ13の情報と,を関連付けて登録する。
なお,本実施例のSIPサーバ登録要求メッセージ83は,図6に示すように,登録対象SIP-URIを含むコマンドライン行(図6では「REGISTER_REQUEST sip:service@hitachi.com」と記載されているが,これは,service@hitachi.comというSIP-URIの登録を要求することを意味する)と,当該登録対象SIP-URIを管理しているSIPサーバの情報(図6では「CONTACT: 192.168.10.13:5060/UDP」と記載されているが,これは,検索対象SIP-URIを管理しているSIPサーバのIPアドレスが192.168.10.13であり,UDPの5060番ポートで通信を待ち受けていることを意味する)と,から構成される。
次に,SIPサーバ13は,管理DB40からSIPサーバ登録応答メッセージ82を受信する(図9のS304)と,負荷分散装置30を介して,通信装置52にログイン成功を意味するSIP応答メッセージを送信する(ステップ2105)。
なお,本実施例のSIPサーバ登録応答メッセージ84は,図6に示すように,登録対象SIP-URIの登録結果を含むコマンドライン行(図6では「REGISTER_RESULT SUCCESS」と記載されているが,これは,登録に成功したことを意味する)と,登録対象SIP-URIを示す行(図6では「SIP-URI: sip:service@hitachi.com」と記載されている)と,から構成される。
以上により,通信装置52のログインが完了する。
通信装置51も同様にしてログインを実施する。
次に,ログイン処理が完了した通信装置51は通信装置52にサービス提供を要求する。
図10は,ログイン処理が完了した通信装置51が通信装置52にサービスの提供を受ける場合のシーケンスを示した図である。
図10のS11〜S12のシーケンスで通信装置51から負荷分散装置30を介してINVITEメッセージを受信したSIPサーバ11は,図12に示す処理フローにしたがって当該INVITEメッセージを処理する。
すなわち,SIPサーバ11は,まず,本システムが通信装置とSIPサーバとの通信にコネクション型の通信を使用しているかどうかを判定する(ステップ2000)。
ここで,コネクション型の通信を使用している場合,ステップ2006以降を実行する。
一方,コネクション型の通信を使用していない場合には,ステップ2001に遷移して,レジストラDB21に上記INVITEメッセージの送信者(図10では通信装置51)のSIP-URIが登録されているかを検索する。
ここで,上記INVITEメッセージの送信者のSIP-URIが登録されている場合には,ステップ2006以降を実行する。
一方,上記INVITEメッセージの送信者のSIP-URIが登録されていない場合には,ステップ2003に遷移して,管理DB40にSIPサーバ検索要求メッセージ81を送信し,上記INVITEメッセージの送信者がログインしているSIPサーバを検索する。この結果,上記INVITEメッセージの送信者がログインしているSIPサーバが存在しない場合には,ステップ2020に遷移して,上記INVITEメッセージの送信者にエラーを意味するSIP応答メッセージを送信する。
一方,上記INVITEメッセージの送信者がログインしているSIPサーバが存在した場合には,当該SIPサーバに関する情報が上記INVITEメッセージのViaヘッダに存在するかを確認する(ステップ2005)。ステップ2005で,上記INVITEメッセージのViaヘッダに上記INVITEメッセージの送信者がログインしているSIPサーバに関する情報が存在しなかった場合,SIPサーバ11は,上記INVITEメッセージの送信者がログインしているSIPサーバにINVITEメッセージを送信する。(なお,このときには,SIPサーバ11はINVITEメッセージのViaヘッダにSIPサーバ11の情報を含めなくても良い)
一方,ステップ2005で,上記INVITEメッセージのViaヘッダに上記INVITEメッセージの送信者がログインしているSIPサーバに関する情報が存在した場合,SIPサーバ11は,ステップ2006以降を実行する。
コネクション型でない通信を使用している場合,ある通信装置がINVITEメッセージを送信した時に,負荷分散装置30が当該INVITEメッセージを上記通信装置がログインしていないSIPサーバに転送してしまうことが発生するが,ステップ2001からステップ2005までの処理を行うことにより,INVITEメッセージを上記通信装置がログインしているSIPサーバに送信することができ,上記通信装置がログインしているSIPサーバの呼情報DBを正しく更新することができる。
本実施例でSIPサーバと通信装置との間の通信に使用しているTLS通信はコネクション型の通信であるため,ステップ2000の判定で,ステップ2006に遷移する。
ステップ2006では,SIPサーバ11はレジストラDB21にINVITEメッセージの受信者(図10では通信装置52)のSIP-URIが登録されているかを検索する。
ここで,レジストラDB21にINVITEメッセージの受信者のSIP-URIが登録されていた場合,SIPサーバ11は,セッション管理部104が,当該INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報と,Fromメッセージが示す通信元の識別情報と,Toメッセージが示す通信先の識別情報と,当該通信セッションが「確立処理中(受信先からの応答待ち)」状態であることを呼情報DB41に記録する(ステップ2010)と,当該SIP-URIに関連付けられているIPアドレスに対してINVITEメッセージを送信する(ステップ2011)。このとき,SIPサーバ11は上記INIVTEメッセージのViaヘッダにSIPサーバ11の情報を含める。
一方,レジストラDB21にINVITEメッセージの受信者のSIP-URIが登録されていない場合には,SIPサーバ11はステップ2008でSIPサーバ検索要求メッセージ81を管理DB40に送信し(図10のS103),INVITEメッセージの受信者がログインしているSIPサーバを検索する。
管理DB40からSIPサーバ検索応答メッセージ82を受信し(図10のS104),上記INVITEメッセージの受信者がログインしているSIPサーバ(図10ではSIPサーバ13が該当する)の情報が取得できた場合,SIPサーバ11は,セッション管理部104が,当該INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報と,当該通信セッションが「確立処理中(受信先からの応答待ち)」状態であることを呼情報DB41に記録する(ステップ2010)と,SIPサーバ検索応答メッセージ82から取得したSIPサーバのIPアドレスに対して上記INVITEメッセージを送信する(S15)。このとき,SIPサーバ11は上記INIVTEメッセージのViaヘッダにSIPサーバ11の情報を含める。
なお,上記INVITEメッセージの受信者がログインしているSIPの情報が取得できなかった場合,SIPサーバ11は上記INVITEメッセージの送信者に,エラーを示すSIP応答メッセージを送信する(ステップ2020)。
図10において,SIPサーバ11からINVITEメッセージを受信したSIPサーバ13は,SIPサーバ11と同様に図12に示す処理フローにしたがってINIVITEメッセージを処理する。この結果,SIPサーバ13は,ステップ2010で,セッション管理部104が,当該INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報と,当該通信セッションが「確立処理中(受信先からの応答待ち)」状態であることを呼情報DB43に記録すると,レジストラDB23から取得したIPアドレスに対して,負荷分散装置30を介して上記INVITEメッセージを送信する(S16,S17)。
S17からS23までのシーケンスおよび処理は第一の実施例と同じであるため,説明を省略する。
また,通信を切断する場合の処理についても,BYEメッセージを受信したSIPサーバは図12に示した処理フローにしたがってBYEメッセージを処理する以外は,第一の実施例とシーケンスおよび処理は同じであるので説明を省略する。
以上が,ログイン処理が完了した通信装置51が通信装置52にサービスの提供を受ける場合の第二の実施例のシステムの動作である。
次に,通信装置51や通信装置52はサービスの利用や提供が終了し,ログアウトする場合の処理について説明する。
図13は,通信装置51がログアウトをする場合のシーケンスを示した図である。
図13では,通信装置51がログアウトする場合の処理がS51からS57まで,のシーケンスで示されている。
通信装置51がログアウトする場合,まず,通信装置51が負荷分散装置30にExpiresヘッダの値を0に設定したREGISTERメッセージを送信する(S51)。REGISTERメッセージを受信した,負荷分散装置30は,当該REGISTERメッセージをSIPサーバ11に転送する(S52)。
REGISTERメッセージを受信したSIPサーバ11は,図14に示したフローにしたがってREGISTERメッセージを処理する。
すなわち,SIPサーバ11は,まず,本システムが通信装置とSIPサーバとの通信にコネクション型の通信を使用しているかどうかを判定する(ステップ2200)。
ここで,コネクション型の通信を使用している場合,ステップ2204以降を実行する。
一方,コネクション型の通信を使用していない場合には,ステップ2201に遷移して,管理DB40にSIPサーバ検索要求メッセージ81を送信し,上記REGISTERメッセージの送信者(図13では通信装置51)がログインしているSIPサーバを検索する。この結果,上記REGISTERメッセージの送信者がログインしているSIPサーバが存在しない場合には,ステップ2230に遷移して,上記REGISTERメッセージの送信者にエラーを意味するSIP応答メッセージを送信する。
一方,上記RESIGERメッセージの送信者がログインしているSIPサーバが存在した場合には,当該SIPサーバのIPアドレスが自分のIPアドレスと一致するかを確認する(ステップ2203)。ステップ2203で,IPアドレスが一致しなかった場合,SIPサーバ11は,上記REGISTERメッセージの送信者がログインしているSIPサーバにREGISTERメッセージを送信する。(なお,このときには,SIPサーバ11はREGISTERメッセージのViaヘッダにSIPサーバ11の情報を含めなくても良い)
一方,ステップ2203でIPアドレスが一致した場合,上記REGISTERメッセージのViaヘッダに上記REGISTERメッセージの送信者がログインしているSIPサーバに関する情報が存在した場合,SIPサーバ11は,ステップ2204以降を実行する。
コネクション型でない通信を使用している場合,ある通信装置がREGISTERメッセージを送信した時に,負荷分散装置30が当該REGISTERメッセージを上記通信装置がログインしていないSIPサーバに転送してしまうことが発生するが,ステップ2201からステップ2203までの処理を行うことにより,REGISTERメッセージを上記通信装置がログインしているSIPサーバに送信することができ,上記通信装置がログインしているSIPサーバのレジストラDBを正しく更新することができる。
ステップ2204では,SIPサーバ11は呼情報DB41を検索して,REGISTERメッセージの送信者のSIP-URIを含むようなエントリが存在するかを検索する。
このとき,該当するエントリが存在しなかった場合(ステップ2205でNo)は,ステップ2207に遷移する。
一方,該当するエントリが存在した場合(ステップ2205でYes),SIPサーバは該当する通信を終了させる処理を実施する。該当する通信を終了させると,ステップ2207に遷移する。
ステップ2207では,SIPサーバ11はレジストラDB21にREGISTERメッセージの送信者のSIP-URIが登録されているかを検索する。
このとき,該当するSIP-URIが登録されていない場合(ステップ2208でNo)は,ステップ2230に遷移して,上記REGISTERメッセージの送信者にエラーを意味するSIP応答メッセージを送信する。
一方,該当するSIP-URIが登録されていた場合(ステップ2208でYes),SIPサーバ11は管理DB40にSIPサーバ削除要求メッセージ85を送信する(図13のS53)。
なお,本実施例のSIPサーバ削除要求メッセージ85は,図6に示すように,削除対象SIP-URIを含むコマンドライン行(図6では「DELETE_REQUEST sip:user@hitachi.com」と記載されているが,これは,user@hitachi.comというSIP-URIの削除を要求することを意味する)から構成される。
SIPサーバ削除要求メッセージ85を受信した管理DB40は,SIPサーバ削除要求メッセージ85で指定されたSIP-URIを含むエントリを削除すると,SIPサーバ削除応答メッセージ86をSIPサーバ11に送信する(図13のS54)。
なお,本実施例のSIPサーバ削除応答メッセージ86は,図6に示すように,削除対象SIP-URIの削除結果を含むコマンドライン行(図6では「DELETE_RESULT SUCCESS」と記載されているが,これは,削除に成功したことを意味する)と,削除対象SIP-URIを示す行(図6では「SIP-URI: sip:user@hitachi.com」と記載されている)と,から構成される。
SIPサーバ削除応答メッセージ86を受信したSIPサーバ11は,ステップ2210に遷移して,レジストラDB21から上記REGISTERメッセージの送信者のSIP-URIを含むエントリを削除する。
次に,SIPサーバ11は,負荷分散装置30を介して通信装置51に,REGISTERメッセージの送信者に処理の成功を意味するSIP応答メッセージを送信する(図13のS55,S56)。
以上が,REGISTERメッセージを受信したSIPサーバ11の動作である。
SIP応答メッセージを受信した通信装置51は,TLS通信を終了する(S57)。
以上が,通信装置51がログアウトをする場合の動作である。通信装置52がログアウトする場合も同様の動作をSIPサーバ13との間で行う。
本実施例によれば,呼情報はセッション管理サーバが管理するので,管理DBには少なくとも通信装置がログインしているSIPサーバに関する情報を記録しておけばよい。
このことによって,特許文献1に記載の負荷分散方法では,1つのメッセージを処理する毎に共有データベースの更新が発生するために非常に高い処理性能を持った共有データベースや,セッション管理サーバと共有データベースとの間に高速な通信手段が要求されるが,本実施例では管理DBにはそれほど高い処理性能やSIPサーバと管理DBの間で高速な通信手段は要求されない。また,同一の呼情報を複数のセッション管理サーバが同時に制御しようとしても,特許文献1に記載の負荷分散方法とは異なって,管理DBの状態が一意に確定できなくなってしまうような状態も発生しない。
さらに,本実施例では,通信装置を管理しているSIPサーバの情報を取得するためにブロードキャスト通信ではなく,共有データベースを使用するため,SIPサーバ間で送受される通信量を抑えることができる,という効果がある。
次に,図15から図17を参照して,第三の実施例について説明する。
上述した第一および第二の実施例では,SIPメッセージを受信したSIPサーバは,SIPメッセージの送信先がログインしているSIPサーバの情報を取得し,当該SIPサーバにSIPメッセージを送信するようにしていた。
第三の実施例では,SIPサーバからアクセス可能で,かつ,現在ログインしている通信装置と通信するための通信設定を管理する管理DBを設け,SIPメッセージを受信したSIPサーバは,管理DBから通信設定を取得して,SIPメッセージの送信先と通信することを主な特徴とする。
図15は,第三の実施例におけるシステム構成を示した図である。
ここに示したシステムは,第二の実施例と同様に,3台のSIPサーバ(SIPサーバ11,SIPサーバ12,SIPサーバ13)と,負荷分散装置30と,管理DB40と,通信装置51と,通信装置52と,からなり,3台のSIPサーバと負荷分散装置30とはLAN1を介して接続されており,3台のSIPサーバと管理DB40とはLAN2を介して接続されており,さらに,負荷分散装置30と通信装置51と通信装置52とはネットワーク0を介して接続されている。
また,SIPサーバ11は192.168.10.11というIPアドレスが割り当てられており,レジストラDB21を備えている。SIPサーバ12は192.168.10.12というIPアドレスが割り当てられており,レジストラDB22を備えている。さらに,SIPサーバ13は192.168.10.13というIPアドレスが割り当てられており,レジストラDB23を備えている。
また,負荷分散装置30には192.168.10.1というIPアドレスが割り当てられている。なお,本実施例で使用する負荷分散装置30も,あらかじめ定められた期間内に同じ通信装置からメッセージを受信した場合には,当該メッセージを直前にメッセージを転送したSIPサーバに転送する機能を備えている。
さらに,通信装置51は,192.168.20.11というIPアドレスと,user@hitachi.comというSIP-URIとが割り当てられおり,通信装置52は,192.168.30.11というIPアドレスと,service@hitachi.comというSIP-URIとが割り当てられている。通信装置51および通信装置52のソフトウェア構造は,第二の実施例の通信装置51および通信装置52のソフトウェア構造と同じである。
さらに,本実施例の管理DB40は,SIPサーバ11,SIPサーバ12,SIPサーバ13が管理している呼情報を記録する呼情報テーブル401と,SIPサーバ11,SIPサーバ12,SIPサーバ13が通信装置51や通信装置52と通信するための通信設定を記録する通信共有情報テーブル402と,から構成されている。ここで,呼情報テーブル401には,ある通信セッションの識別情報であるCall-IDと,ある通信セッションの発信者のSIP-URIと,ある通信セッションの受信者のSIP-URIと,当該通信セッションの状態と,が記録されている。また,通信共有情報テーブル402には,通信装置の識別情報であるSIP-URIと,当該通信装置と通信する場合のアクセスポイント情報(すなわち,IPアドレスとポート番号とトランスポート層プロトコルの種別の組)と,当該通信装置との間での暗号化通信に使用している暗号アルゴリズムの種別と,暗号化通信に使用している鍵の値と,メッセージの順序を識別するためのシーケンス番号と,が記録されている。
以下,図15に示した通信装置51が,通信装置52とデータ通信を行う場合の通信手順を例にして,第二の実施例について説明する。
図16および図17は,第1の実施例によるデータ通信を示すシーケンス図である。図3,図4と同一符号で示された第一実施例で説明済みのステップとメッセージについてはできる限り説明を省略する。
図16は,通信装置51がSIPサーバへのログイン処理を行う場合のシーケンスを示した図である。
本実施例では,通信装置51がSIPサーバ(図16ではSIPサーバ11)と暗号化通信のネゴシエーションを行って暗号化通信を確立する(S6)と,SIPサーバ11は確立した暗号化通信の通信設定を管理DB40に登録する(S401,S402)。
次に,通信装置51が送信したREGISTERメッセージを受信したSIPサーバ11は,管理DB40から通信装置51との間の通信設定を取得し(S403,S404),当該設定を用いてREGISTERメッセージを復号する。ここで,正しくメッセージを復号できた場合,管理DB40に記録されている,通信装置51との間の通信設定を更新する(S405,S406)。
次に,SIPサーバ11は,REGISTERメッセージに対するSIP応答メッセージを作成すると,管理DB40から通信装置51との間の通信設定を取得し(S407,S408),当該設定を用いてSIP応答メッセージを暗号化して,通信装置51に送信する(S9,S10)。ここで,メッセージの送信が完了すると,管理DB40に記録されている,通信装置51との間の通信設定を更新する(S409,S410)。
以上により,通信装置51のログインが完了する。
上記のように,本実施例ではSIPサーバは,ある通信装置とSIPメッセージやSIP応答メッセージを送受信する毎に管理DB40から当該通信装置との間の通信設定を取得して,暗号化や復号の処理を行うとともに,管理DB40に記録されている上記通信設定を更新する。以下では,簡単のために,管理DB40からの通信設定の取得や更新の処理は説明を省略する。
図17は,通信装置51が通信装置52と通信セッションを確立する場合のシーケンスを示した図である。
まず,通信装置51が通信装置52と通信セッションを確立する場合,通信装置51は,負荷分散装置30にINVITEメッセージを送信する(S501)。
負荷分散装置30はINVITEメッセージを受信すると,3台のSIPサーバの中から当該INVITEメッセージを転送するSIPサーバを選択すると,選択したSIPサーバにINVITEメッセージを転送する(S502)。図17では,転送するSIPサーバとしてSIPサーバ11が選択された場合を示している。
INVITEメッセージを受信したSIPサーバ11は,管理DB40の呼情報テーブル402を検索して,当該INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報を持つ呼情報が登録されているかどうかを検索する(S503,S504)。
ここで,当該INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報を持つ呼情報が登録されていた場合には,負荷分散装置30を介して既に処理中であることを意味するSIP応答メッセージを通信装置51に送信する。
一方,当該INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報を持つ呼情報が登録されていない場合,管理DB40の呼情報テーブル402に呼情報更新要求メッセージを送信して,呼情報テーブル402に上記INVITEメッセージのCall-IDヘッダが示す通信セッションの識別情報と,当該INVITEメッセージの送信元のSIP-URIと,当該INVITEメッセージの送信先のSIP-URIと,当該通信セッションが「確立処理中(受信先からの応答待ち)」状態であることを記録する。(S505,S506)
次に,SIPサーバ11は,負荷分散装置30を介して上記INVITEメッセージの送信先として指定された通信装置52にINVITEメッセージを送信する(S507,S508)。
INVITEメッセージを受信した通信装置52は,当該INVITEメッセージに対するSIP応答メッセージを作成し,負荷分散装置30に送信する(S509)。
負荷分散装置30はSIP応答メッセージを受信すると,3台のSIPサーバの中から当該SIP応答メッセージを転送するSIPサーバを選択すると,選択したSIPサーバに当該SIP応答メッセージを転送する(S510)。図17では,転送するSIPサーバとしてSIPサーバ13が選択された場合を示している。
SIP応答メッセージを受信したSIPサーバ13は,管理DB40の呼情報テーブル402を検索して,当該SIP応答メッセージのCall-IDヘッダが示す通信セッションの識別情報を持つ呼情報が登録されているかどうかを検索する(S511,S512)。
ここで,当該SIP応答メッセージのCall-IDヘッダが示す通信セッションの識別情報を持つ呼情報が登録されていない場合には,負荷分散装置30を介してエラーが発生したことを意味するSIP応答メッセージを通信装置52に送信する。
一方,当該SIP応答メッセージのCall-IDヘッダが示す通信セッションの識別情報を持つ呼情報が登録されていた場合,SIP応答メッセージの内容が「通信許可」であれば管理DB40の呼情報テーブル402に呼情報更新要求メッセージを送信して,呼情報テーブル402に上記SIP応答メッセージのCall-IDヘッダが示す通信セッションの呼情報を削除する。一方,SIP応答メッセージの内容が「通信許可」であれば管理DB40の呼情報テーブル402に呼情報更新要求メッセージを送信して,呼情報テーブル402に上記SIP応答メッセージのCall-IDヘッダが示す通信セッションの呼情報の状態を「接続中」状態に更新する。(S513,S514)
次に,SIPサーバ13は,負荷分散装置30を介して上記SIP応答メッセージの送信先として指定された通信装置51に上記SIP応答メッセージを送信する(S515,S516)。
上記のように,本実施例ではSIPサーバは,ある通信装置とINVITEメッセージやINVITEメッセージに対するSIP応答メッセージを受信する毎に管理DB40から当該通信セッションに関する呼情報を取得してメッセージを処理する。そして,処理した結果に応じて,管理DB40に記録されている上記呼情報を更新する。なお,本実施例でBYEメッセージやBYEメッセージに対するSIP応答メッセージを受信した場合にも管理DB40から当該通信セッションに関する呼情報を取得してメッセージを処理する。そして,処理した結果に応じて,管理DB40に記録されている上記呼情報を更新する。
本実施例では,SIPサーバからアクセス可能な共有データベースを設け,通信装置と通信するための通信設定を当該共有データベースに記録するようにしている。このため,SIPメッセージやSIP応答メッセージを受信したSIPサーバは共有データベースを参照して通信設定を取得することによって,SIPメッセージやSIP応答メッセージの送信元がログインしたSIPサーバでなくても,当該メッセージを処理できる(例えば,暗号化通信を行っている場合には,正しく復号することができる),という効果がある。
また,本実施例では,SIPメッセージやSIP応答メッセージを送信する場合にも,SIPサーバは上記共有データベースを参照して通信設定を取得するようにしている。このため,SIPメッセージやSIP応答メッセージの送信先である通信装置がログインしているSIPサーバに当該メッセージを送信することなく,直接,通信装置にメッセージを送信することができる,という効果がある。
第一の実施例におけるシステム構成を例示した図。 各実施例における各装置のハードウェア構成を例示するブロック図。 図1に示した通信装置51および通信装置52がSIPサーバへのログイン処理を行う場合のシーケンスを例示した図。 図1に示した通信装置51が通信装置52にサービスの提供を受ける場合のシーケンスを例示した図。 図1に示したSIPサーバにおけるINVITEメッセージの処理フローを例示した図。 図1に示したSIPサーバが通信に必要な情報を取得するためのメッセージを例示した図。 図1に示したSIPサーバにおけるSIPサーバ検索要求メッセージの処理フローを例示した図。 第二の実施例におけるシステム構成を例示した図。 図8に示した通信装置51および通信装置52がSIPサーバへのログイン処理を行う場合のシーケンスを例示した図。 図8に示した通信装置51が通信装置52にサービスの提供を受ける場合のシーケンスを例示した図。 図8に示した通信装置がログインする場合のSIPサーバにおける処理フローを例示した図。 図8に示したSIPサーバにおけるINVITEメッセージの処理フローを例示した図。 図8に示した通信装置がログアウトをする場合のシーケンスを例示した図。 図8に示した通信装置がログアウトをする場合のSIPサーバにおける処理フローを例示した図。 第三の実施例におけるシステム構成を例示した図。 図15に示した通信装置51がSIPサーバへのログイン処理を行う場合のシーケンスを例示した図。 図15に示した通信装置51が通信装置52にサービスの提供を受ける場合のシーケンスを例示した図。
符号の説明
0:ネットワーク,1,2:LAN,11,12,13:SIPサーバ,21,22,23:レジストラDB,30:負荷分散装置,40:管理DB,41,42,43:呼情報DB,45:共有情報管理サーバ,51,52:通信装置,81:SIPサーバ検索要求メッセージ,82:SIPサーバ検索応答メッセージ,83:SIPサーバ登録要求メッセージ,84:SIPサーバ登録応答メッセージ,85:SIPサーバ削除要求メッセージ,86:SIPサーバ削除応答メッセージ,91:CPU,92:メモリ,93:ハードディスク,94:ネットワークインタフェース,95:入出力インタフェース。

Claims (14)

  1. 複数の通信装置相互のデータ通信を管理するデータ通信システムであって,
    当該通信装置間のデータ通信のセッションを管理する,複数のセッション管理サーバと,
    事前に定めた基準にしたがって,通信装置1から通信装置2への通信メッセージであって,前記通信装置2を管理するセッション管理サーバを特定する情報を備えない通信メッセージを,いずれかの前記セッション管理サーバに振り分ける負荷分散装置と,
    前記負荷分散装置から前記通信メッセージを受信したセッション管理サーバに,前記通信装置2と通信するために必要な情報を取得させる手段と,を備える
    ことを特徴とするデータ通信システム。
  2. 請求項1記載のデータ通信システムであって,
    前記通信装置2と通信するために必要な情報とは,当該通信装置2がログインしているセッション管理サーバを特定するための識別情報である
    ことを特徴とするデータ通信システム。
  3. 請求項2記載のデータ通信システムであって,
    前記通信装置2と通信するために必要な情報を取得させる手段は,
    前記通信装置2がログインしているか否かを,前記セッション確立要求メッセージを受信したセッション管理サーバが他のセッション管理サーバに問い合わせる手段と,
    前記通信装置2がログインしているセッション管理サーバが,当該通信装置2がログインしていることを,前記セッション確立要求メッセージを受信したセッション管理サーバに応答する手段と,を含む
    ことを特徴とするデータ通信システム。
  4. 請求項2記載のデータ通信システムであって,
    前記通信装置2と通信するために必要な情報を取得させる手段は,
    前記複数のセッション管理サーバがアクセス可能で,かつ,前記通信装置がログインしているセッション管理サーバを特定するための識別情報を記録した共有データベースと,
    前記セッション確立要求メッセージを受信したセッション管理サーバが,当該共有データベースを検索する手段と,を含む
    ことを特徴とするデータ通信システム。
  5. 請求項2記載のデータ通信システムであって,
    前記通信メッセージは,セッション確立要求メッセージまたはセッション確立応答メッセージである
    ことを特徴とするデータ通信システム。
  6. 請求項1記載のデータ通信システムであって,
    前記通信装置2と通信するために必要な情報は,当該通信装置2と通信する際に使用する暗号化通信設定であって,
    前記通信装置2と通信するために必要な情報を取得させる手段は,
    当該通信装置2と通信する際に使用する暗号化通信設定を記録する,前記複数のセッション管理サーバがアクセス可能な共有データベースと,
    前記セッション確立要求メッセージを受信したセッション管理サーバが,当該共有データベースを検索する手段と,を含む
    ことを特徴とするデータ通信システム。
  7. 請求項6記載のデータ通信システムであって,
    前記通信メッセージは,呼情報検索要求メッセージまたは呼情報検索応答メッセージである
    ことを特徴とするデータ通信システム。
  8. 複数の通信装置相互データ通信のセッションを管理するセッション管理サーバであって,
    通信装置1から通信装置2への通信メッセージであって,通信装置2を管理するセッション管理サーバを特定しない通信メッセージを,負荷分散装置から受信する手段と,
    前記通信装置1または前記通信装置2と通信するために必要な情報を取得する手段と,を備える
    ことを特徴とするセッション管理サーバ。
  9. 請求項8記載のセッション管理サーバであって,
    前記通信装置1または前記通信装置2と通信するために必要な情報とは,当該通信装置がログインしているセッション管理サーバを特定するための識別情報である
    ことを特徴とするセッション管理サーバ。
  10. 請求項9記載のセッション管理理サーバであって,
    前記通信装置1または前記通信装置2と通信するために必要な情報を取得する手段とは,
    前記通信装置1または前記通信装置2がログインしているセッション管理サーバかどうかを他のセッション管理サーバに問い合わせる手段と,
    前記通信装置1または前記通信装置2がログインしているセッション管理サーバから,当該通信装置がログインしていることを,受信する手段と,を含む
    ことを特徴とするセッション管理サーバ。
  11. 請求項9記載のセッション管理サーバであって,
    前記通信装置1または前記通信装置2と通信するために必要な情報を取得する手段は,
    前記複数のセッション管理サーバがアクセス可能で,かつ,前記通信装置がログインしているセッション管理サーバを特定するための識別情報を記録した共有データベースを検索する手段を含む
    ことを特徴とするセッション管理サーバ。
  12. 請求項8記載のデータ通信システムであって,
    前記通信メッセージは,セッション確立要求メッセージまたはセッション確立応答メッセージである
    ことを特徴とするセッション管理サーバ。
  13. 請求項8記載のセッション管理サーバであって,
    前記通信装置2と通信するために必要な情報は,当該通信装置2と通信する際に使用する暗号化通信設定であって,
    前記通信装置1または前記通信装置2と通信するために必要な情報を取得する手段は,
    当該通信装置と通信する際に使用する暗号化通信設定を記録するデータベースを検索する手段を含む
    ことを特徴とするセッション管理サーバ。
  14. 請求項13記載のデータ通信システムであって,
    前記通信メッセージは,呼情報検索要求メッセージまたは呼情報検索応答メッセージである
    ことを特徴とするセッション管理サーバ。
JP2007041670A 2007-02-22 2007-02-22 データ通信システムおよびセッション管理サーバ Pending JP2008205988A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007041670A JP2008205988A (ja) 2007-02-22 2007-02-22 データ通信システムおよびセッション管理サーバ
EP20080003203 EP1962459A2 (en) 2007-02-22 2008-02-21 Data communication system and session management server
CNA2008100808499A CN101252581A (zh) 2007-02-22 2008-02-22 数据通信系统及会话管理服务器
US12/071,592 US20080256224A1 (en) 2007-02-22 2008-02-22 Data communication system and session management server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007041670A JP2008205988A (ja) 2007-02-22 2007-02-22 データ通信システムおよびセッション管理サーバ

Publications (1)

Publication Number Publication Date
JP2008205988A true JP2008205988A (ja) 2008-09-04

Family

ID=39643031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007041670A Pending JP2008205988A (ja) 2007-02-22 2007-02-22 データ通信システムおよびセッション管理サーバ

Country Status (4)

Country Link
US (1) US20080256224A1 (ja)
EP (1) EP1962459A2 (ja)
JP (1) JP2008205988A (ja)
CN (1) CN101252581A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015122666A (ja) * 2013-12-24 2015-07-02 富士通株式会社 通信システム、通信方法および呼制御サーバ装置
JPWO2015122177A1 (ja) * 2014-02-12 2017-03-30 日本電気株式会社 情報処理装置、通信方法、ネットワーク制御装置、ネットワーク制御方法、およびプログラム
JP2022503686A (ja) * 2019-09-19 2022-01-12 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 通信接続方法、装置、コンピュータ機器、及びコンピュータプログラム

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380854B2 (en) 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
EP2266269B1 (en) 2008-04-02 2019-01-02 Twilio Inc. System and method for processing telephony sessions
US8806053B1 (en) 2008-04-29 2014-08-12 F5 Networks, Inc. Methods and systems for optimizing network traffic using preemptive acknowledgment signals
US8516126B2 (en) * 2008-09-24 2013-08-20 International Business Machines Corporation Processing SIP messages based on multiple cores
EP2335402A4 (en) 2008-10-01 2013-04-24 Twilio Inc TELEPHONY WEB EVENT SYSTEM AND METHOD
US8566444B1 (en) 2008-10-30 2013-10-22 F5 Networks, Inc. Methods and system for simultaneous multiple rules checking
US20100211544A1 (en) * 2009-02-19 2010-08-19 Jyshyang Chen System with session synchronization
CA2789942C (en) 2009-03-02 2017-05-23 Jeffrey Lawson Method and system for a multitenancy telephone network
US10157280B2 (en) 2009-09-23 2018-12-18 F5 Networks, Inc. System and method for identifying security breach attempts of a website
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US8868961B1 (en) 2009-11-06 2014-10-21 F5 Networks, Inc. Methods for acquiring hyper transport timing and devices thereof
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US9141625B1 (en) 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US10015286B1 (en) 2010-06-23 2018-07-03 F5 Networks, Inc. System and method for proxying HTTP single sign on across network domains
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
JP5693065B2 (ja) * 2010-07-06 2015-04-01 キヤノン株式会社 通信端末、通信端末の制御方法及びプログラム
US8908545B1 (en) 2010-07-08 2014-12-09 F5 Networks, Inc. System and method for handling TCP performance in network access with driver initiated application tunnel
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9083760B1 (en) 2010-08-09 2015-07-14 F5 Networks, Inc. Dynamic cloning and reservation of detached idle connections
US8630174B1 (en) 2010-09-14 2014-01-14 F5 Networks, Inc. System and method for post shaping TCP packetization
US8886981B1 (en) 2010-09-15 2014-11-11 F5 Networks, Inc. Systems and methods for idle driven scheduling
US8804504B1 (en) 2010-09-16 2014-08-12 F5 Networks, Inc. System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device
US9554276B2 (en) 2010-10-29 2017-01-24 F5 Networks, Inc. System and method for on the fly protocol conversion in obtaining policy enforcement information
WO2012058486A2 (en) 2010-10-29 2012-05-03 F5 Networks, Inc. Automated policy builder
US8627467B2 (en) 2011-01-14 2014-01-07 F5 Networks, Inc. System and method for selectively storing web objects in a cache memory based on policy decisions
US10135831B2 (en) 2011-01-28 2018-11-20 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US9578126B1 (en) 2011-04-30 2017-02-21 F5 Networks, Inc. System and method for automatically discovering wide area network optimized routes and devices
WO2012162397A1 (en) 2011-05-23 2012-11-29 Twilio, Inc. System and method for connecting a communication to a client
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US9246819B1 (en) 2011-06-20 2016-01-26 F5 Networks, Inc. System and method for performing message-based load balancing
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
EP2759123B1 (en) 2011-09-21 2018-08-15 Twilio, Inc. System and method for authorizing and connecting application developers and users
FR2984063A1 (fr) * 2011-12-12 2013-06-14 France Telecom Enrichissement, gestion de contenus multimedia et etablissement d'une communication en fonction de contenus multimedia enrichis
US9270766B2 (en) 2011-12-30 2016-02-23 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof
EP2813044A1 (en) * 2012-02-07 2014-12-17 Telefonaktiebolaget L M Ericsson (publ) Session persistent data and method of use thereof
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9172753B1 (en) 2012-02-20 2015-10-27 F5 Networks, Inc. Methods for optimizing HTTP header based authentication and devices thereof
US9231879B1 (en) 2012-02-20 2016-01-05 F5 Networks, Inc. Methods for policy-based network traffic queue management and devices thereof
WO2013163648A2 (en) 2012-04-27 2013-10-31 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US9167041B2 (en) * 2012-06-01 2015-10-20 International Business Machines Corporation Maintaining session initiation protocol application session affinity in SIP container cluster environments
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US9160696B2 (en) 2013-06-19 2015-10-13 Twilio, Inc. System for transforming media resource into destination device compatible messaging format
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
EP2833307A1 (en) * 2013-07-30 2015-02-04 Google, Inc. Handling search queries
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US10637929B1 (en) * 2013-09-23 2020-04-28 Ribbon Communications Operating Company, Inc. Methods and apparatus for storing and/or retrieving session state information
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
JP2015099954A (ja) 2013-11-18 2015-05-28 株式会社リコー 制御システム、通信システム、プログラム、及び制御方法
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US10015143B1 (en) 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10122630B1 (en) 2014-08-15 2018-11-06 F5 Networks, Inc. Methods for network traffic presteering and devices thereof
WO2016065080A1 (en) 2014-10-21 2016-04-28 Twilio, Inc. System and method for providing a miro-services communication platform
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
CN104992288A (zh) * 2015-07-01 2015-10-21 上海众材工程检测有限公司 一种楼宇能耗监测信息系统
CN105516245B (zh) * 2015-11-25 2018-12-14 国家计算机网络与信息安全管理中心 一种基于流的负载均衡的系统以及实现方法
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10447773B2 (en) * 2015-12-29 2019-10-15 General Motors Llc Aggregating vehicle-related big data
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10791088B1 (en) 2016-06-17 2020-09-29 F5 Networks, Inc. Methods for disaggregating subscribers via DHCP address translation and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US11496438B1 (en) 2017-02-07 2022-11-08 F5, Inc. Methods for improved network security using asymmetric traffic delivery and devices thereof
US10791119B1 (en) 2017-03-14 2020-09-29 F5 Networks, Inc. Methods for temporal password injection and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10931662B1 (en) 2017-04-10 2021-02-23 F5 Networks, Inc. Methods for ephemeral authentication screening and devices thereof
US10972453B1 (en) 2017-05-03 2021-04-06 F5 Networks, Inc. Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11122083B1 (en) 2017-09-08 2021-09-14 F5 Networks, Inc. Methods for managing network connections based on DNS data and network policies and devices thereof
US11658995B1 (en) 2018-03-20 2023-05-23 F5, Inc. Methods for dynamically mitigating network attacks and devices thereof
US11044200B1 (en) 2018-07-06 2021-06-22 F5 Networks, Inc. Methods for service stitching using a packet header and devices thereof
CN112039729B (zh) * 2020-08-28 2022-04-01 中移(杭州)信息技术有限公司 设备识别方法、服务器、电子设备和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2287813C (en) * 1998-10-22 2005-03-29 At&T Corp. System and method for network load balancing
US6564261B1 (en) * 1999-05-10 2003-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Distributed system to intelligently establish sessions between anonymous users over various networks
US7606909B1 (en) * 2001-02-20 2009-10-20 Michael Ely Method and apparatus for a business contact center
JP3730545B2 (ja) 2001-08-16 2006-01-05 日本電信電話株式会社 サービス制御アプリケーション実行方法及びシステム
WO2003061242A1 (en) * 2002-01-15 2003-07-24 Avaya Technology Corp. Communication application server for converged communication services
JP3855909B2 (ja) * 2002-10-23 2006-12-13 株式会社日立製作所 ポリシ設定可能なピアツーピア通信システム
JP4345368B2 (ja) * 2003-06-17 2009-10-14 株式会社日立製作所 プレゼンス管理装置および情報配信システム
EP1503558A1 (de) * 2003-08-01 2005-02-02 Siemens Aktiengesellschaft Verbindung von Teilnehmern in hybriden Kommunikationsnetzen
WO2006048759A1 (en) * 2004-11-08 2006-05-11 Nokia Corporation Method enabling sessions and applications in instant messaging and presence serviced
JP2007041670A (ja) 2005-08-01 2007-02-15 Matsushita Electric Ind Co Ltd 半導体集積回路の設計データ構造、設計装置および設計方法
JP4830503B2 (ja) * 2006-01-18 2011-12-07 株式会社日立製作所 個人情報を保護した通信セッション確立仲介システムおよび方法
JP4770494B2 (ja) * 2006-02-03 2011-09-14 株式会社日立製作所 暗号通信方法およびシステム
US8862746B2 (en) * 2006-05-17 2014-10-14 Sonim Technologies, Inc. Systems and methods for integrating applications on user equipment utilizing special URI control messages

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015122666A (ja) * 2013-12-24 2015-07-02 富士通株式会社 通信システム、通信方法および呼制御サーバ装置
JPWO2015122177A1 (ja) * 2014-02-12 2017-03-30 日本電気株式会社 情報処理装置、通信方法、ネットワーク制御装置、ネットワーク制御方法、およびプログラム
JP2022503686A (ja) * 2019-09-19 2022-01-12 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 通信接続方法、装置、コンピュータ機器、及びコンピュータプログラム
JP7301125B2 (ja) 2019-09-19 2023-06-30 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 通信接続方法、装置、コンピュータ機器、及びコンピュータプログラム
US11750417B2 (en) 2019-09-19 2023-09-05 Tencent Technology (Shenzhen) Company Limited Method for establishing communication connection

Also Published As

Publication number Publication date
CN101252581A (zh) 2008-08-27
US20080256224A1 (en) 2008-10-16
EP1962459A2 (en) 2008-08-27

Similar Documents

Publication Publication Date Title
JP2008205988A (ja) データ通信システムおよびセッション管理サーバ
US10972436B1 (en) System and method for session affinity in proxy media routing
US8335852B2 (en) Contact destination information registration method, network system, node, and contact destination information registration program
US8205074B2 (en) Data communication method and data communication system
JP4690767B2 (ja) ネットワークシステム、サーバ装置および通信方法
JP5046811B2 (ja) データ通信システム
JP6345816B2 (ja) ネットワーク通信システムおよび方法
US20070233844A1 (en) Relay device and communication system
US20070143488A1 (en) Virtual universal plug and play control point
US8874911B2 (en) Terminal device, system, connection management server, and computer readable medium
JP2006120139A (ja) 登録識別子の再利用
JP2009230256A (ja) 通信制御装置、通信制御方法および通信制御プログラム
JP4886712B2 (ja) アクセス制御システム、アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
US11716222B2 (en) Communications bridge
US20100257274A1 (en) Communication system, communication method, and shared-authentication apparatus
JP2006109152A (ja) ネットワーク上で通信を行う接続要求機器、応答機器、接続管理装置、及び通信システム
JP4078594B2 (ja) 情報処理装置および方法、並びにプログラム
US20100268833A1 (en) Communication system, communication method, and communication session centralizing apparatus
JP2009152691A (ja) 通信サービス提供システム、アドレス割当装置および信号処理装置
JP2006309777A (ja) 負荷分散システム
US20100250758A1 (en) Communication system, communication method, and server management apparatus
JP5022474B2 (ja) サーバ装置、通信方法およびプログラム
US7904506B2 (en) Context information management system
JP5415388B2 (ja) 仮想通信路接続システム、制御方法、制御プログラム、第1の端末及び第2の端末
KR20210066641A (ko) Icn 시스템에서의 푸시 데이터 처리 방법 및 장치