JP5208954B2 - Sip構文解析性能を改善する方法、装置、及びコンピュータ・プログラム - Google Patents

Sip構文解析性能を改善する方法、装置、及びコンピュータ・プログラム Download PDF

Info

Publication number
JP5208954B2
JP5208954B2 JP2009533825A JP2009533825A JP5208954B2 JP 5208954 B2 JP5208954 B2 JP 5208954B2 JP 2009533825 A JP2009533825 A JP 2009533825A JP 2009533825 A JP2009533825 A JP 2009533825A JP 5208954 B2 JP5208954 B2 JP 5208954B2
Authority
JP
Japan
Prior art keywords
sip
message
text
header
token
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.)
Expired - Fee Related
Application number
JP2009533825A
Other languages
English (en)
Other versions
JP2010507951A (ja
Inventor
リャン、ジー、ヨン
ルー、ウェイ
サビキ、ラヴィンダー、クーマー
シャオ、リン
ヤン、ボー
ツァオ、イー、シン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010507951A publication Critical patent/JP2010507951A/ja
Application granted granted Critical
Publication of JP5208954B2 publication Critical patent/JP5208954B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1066Session management
    • H04L65/1101Session protocols
    • 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/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は一般に通信分野に関するものであり、より詳細には、SIP構文解析(SIP parse)性能を改善する方法及び装置に関するものである。
セッション開始プロトコル(SIP)は、1999年にインターネット技術特別調査委員会(IETF)によって提案されたシグナリング・プロトコルである。SIPの詳細情報については、IETFのコメント要求3261(RFC 3261)を参照されたい。
基礎的なセッション制御プロトコルとして、SIPは、電気通信分野の次世代ネットワーク(NGN)及びIT協調ソリューションで益々人気が高まっている。
SIPは、テキスト・ベース・メッセージ・プロトコルである。SIP構文解析は、例えばCPUサイクル等のリソースを大量に消費する。特に、トークン化及びストリング・マッチングは、リソース消費量(例えば、CPUサイクル)が多い2つの動作である。SIPの普及に伴い、SIP構文解析は、SIPプロキシ・サーバ、SIPリダイレクト・サーバ、及び様々なSIP対応アプリケーション・サーバを含むSIPベース・サーバの潜在的なボトルネックの1つとなる。
SIP構文解析の最適化に関して、現行の仕組みは、IBM WebSphere SIP Application Serverのようなソフトウェア・ベースの構文解析の最適化に焦点を当てている。拡張マークアップ言語(XML)のような他のテキスト・ベース・プロトコルの構文解析の最適化では、ハードウェア・オフロードが利用される。しかし、これらの仕組みは、構文検証及びセキュリティ処理以外の構文解析処理には焦点を当てていない。(「IBM」及び「WebSphere」は、インターナショナル・ビジネス・マシーンズ・コーポレーションの米国及び他の国、又はその両方における商標である。)
より高いSIPメッセージ・スループット及びより良好なリソース利用率を達成するために、SIP構文解析性能を改善する方法及び装置が提供されることが好ましい。
本発明の第1の態様によれば、SIP構文解析性能を改善する方法であって、SIPサーバに送信すべきテキスト・ベースSIPメッセージを受信するステップと、SIPメッセージ・フィルタ・テーブルに従って、前記テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要があるかどうかを判定するステップと、前記テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要がある場合には、前記変換を実行し、変換された前記トークン・ベース・メッセージを前記SIPサーバに送信し、前記変換の必要がない場合には、前記テキスト・ベースSIPメッセージを前記SIPサーバに直接送信するステップと、を含む方法が提案される。
本発明の第2の態様によれば、SIP構文解析性能を改善する装置であって、前記装置に入力されたSIPサーバに送信すべきテキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要があるかどうかに関するルールを含むSIPメッセージ・フィルタ・テーブルと、前記SIPメッセージ・フィルタ・テーブルに従って、前記テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要があるかどうかを判定し、前記テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要がある場合には、前記変換を実行し、変換された前記トークン・ベース・メッセージを前記SIPサーバに送信し、前記変換の必要がない場合には、前記テキスト・ベースSIPメッセージを前記SIPサーバに直接送信する変換モジュールと、を備える装置が提案される。
本発明の第3の態様によれば、SIP構文解析性能を改善する方法であって、SIPサーバのSIPスタック又は上位レイヤSIPアプリケーションあるいはその両方を監視して前記SIPサーバの負荷情報を取得するステップと、いくつかの事前定義されたルールに従って、テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換するフロント・エンド・デバイスへのオフロードが必要かどうかを判定するステップと、前記フロント・エンド・デバイスへのオフロードが必要である場合は、前記フロント・エンド・デバイスに制御メッセージを送信するステップと、を含む方法が提案される。
本発明の第4の態様によれば、SIP構文解析性能を改善する装置であって、SIPサーバのSIPスタック又は上位レイヤSIPアプリケーションあるいはその両方を監視して前記SIPサーバの負荷情報を取得し、いくつかの事前定義されたルールに従って、テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換するフロント・エンド・デバイスへのオフロードが必要かどうかを判定し、前記フロント・エンド・デバイスへのオフロードが必要である場合は、前記フロント・エンド・デバイスに制御メッセージを送信する負荷モニタ(load monitor)と、前記トークン・ベース・メッセージを受信し、前記トークン・ベース・メッセージをSIPスタックで使用されるトークンに構文解析する第1の構文解析モジュールと、前記テキスト・ベースSIPメッセージを受信し、前記テキスト・ベースSIPメッセージをSIPスタックで使用されるトークンに構文解析する第2の構文解析モジュールと、を備える装置が提案される。
本発明は、コンピュータ・ソフトウェアの形で実施することができる。
本発明の上記の各態様によれば、本願は好適には以下の効果を奏する。
好適には、フロント・エンド・デバイス(例えば、スイッチ、ルータ、又は他のネットワーク機器)は、テキスト・ベースSIPメッセージをトークン・ベース・メッセージ(SOEメッセージと呼ばれる)に変換し、SIPサーバは、単純なSOEメッセージの構文解析を行うだけで済み、したがって、SIPサーバの構文解析負荷が大幅に軽減される。
好適には、SIPサーバは、SIPスタック又は上位レイヤSIPアプリケーションあるいはその両方を監視し、フロント・エンド・デバイスへのオフロードは、動的に調整され、フロント・エンド・デバイスのリソース利用率の改善が達成される。
したがって、本発明は、好適には、SIPサーバのSIPメッセージ・スループットを高めることができ、フロント・エンド・デバイスのリソース利用率を改善することができる。
以下では単なる例示として、本発明の好ましい諸実施形態について添付図面を参照しながら説明する。
好ましい一実施形態に従って本発明を実施することが可能なシステムを示す図である。 本発明の一実施形態に係るSIPサーバ及びフロント・エンド・デバイスと、それらの関係とを示すブロック図である。 SIPメッセージ・フィルタ・テーブルの一例を示す図である。 SIPヘッダ・フィルタ・テーブルの一例を示す図である。 本発明の一実施形態に係るフロント・エンド・デバイスによって実行される各ステップを示す図である。 本発明の一実施形態に係るSIPサーバの負荷モニタによって実行される各ステップを示す図である。
添付図面の全体をとおして、同様の参照番号は同一の又は類似の又は対応する特徴又は機能を示す。
以下では、本発明の好ましい諸実施形態について詳細に説明する。
図1は、好ましい一実施形態に従って本発明を実施することが可能なシステム100を示している。図1に示されるように、システム100は、ユーザ・エージェント110a及び110bと、ネットワーク120と、SIPサーバ130a及び130bとを備える。
ここで、ユーザ・エージェント110aは、SIPユーザ・エージェント・クライアント(UAC)であり、ユーザ・エージェント110bは、SIPユーザ・エージェント・サーバ(UAS)であり、UACは、要求を開始するのに使用され、UASは、要求に応答するのに使用される。ユーザ・エージェント110a及び110bはどちらもSIP音声端末やSIPビデオ端末等のエンティティ上に実装することができる。
SIPサーバ130a及び130bは、SIPエージェント・サーバ、SIPリダイレクト・サーバ、及び様々なSIP対応アプリケーション・サーバとすることができる。
ネットワーク120は、無線ネットワーク、有線ネットワーク、あるいはその組合せとすることができる。また、ネットワーク120は、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、ワイド・エリア・ネットワーク、あるいはそれらの組合せとすることができる。ネットワーク120は、スイッチやルータ等(図示せず)多くのネットワーク機器を含むことができる。
ユーザ・エージェント110a及び110bは、リンク112を介してネットワーク120に接続される。SIPサーバ130a及び130bは、リンク114を介してネットワーク120に接続される。リンク112及び114は、同軸ケーブル、光ファイバ、衛星リンク等の有線リンクあるいは無線リンクとすることができる。
SIPサーバ130a及び130bはネットワーク120上のネットワーク機器の背後に設置され、即ち、SIPサーバ130a及び130bに送信されるメッセージはネットワーク120上のネットワーク機器を通過することになるため、各ネットワーク機器は、フロント・エンド・デバイスと呼ばれる。更に、これらのフロント・エンド・デバイスは一般に、利用可能な多数のリソース(例えば、CPUサイクル)を有する。換言すると、それらのフロント・エンド・デバイスのリソースは、ほとんどの時間アイドル状態にある。
言うまでもなく、ユーザ・エージェント及びSIPサーバの数は例示的なものであり、限定的なものではないことが当業者には理解されるはずである。
好適には、本明細書に開示の解決策は、SIPサーバの機能の一部をフロント・エンド・デバイスに流用する。即ち、フロント・エンド・デバイスは、特定の条件下でリソース消費量が多い処理(テキスト・ベースSIPメッセージからトークン・ベース・メッセージ(SOEメッセージと呼ばれる)への変換、即ち、フロント・エンド・デバイスによるトークン化処理)を実行する。それ故、SIPサーバは、単純なSOEメッセージの構文解析を行うだけで済む。したがって、SIPサーバの構文解析負荷が大幅に軽減され、SIPサーバのSIPメッセージ・スループットを高めることができ、フロント・エンド・デバイスのリソース利用率を改善することができる。
SIPサーバは、それ自体のSIPスタック及び上位レイヤ(up‐layer)SIPアプリケーションを監視して、フロント・エンド・デバイスへのオフロードを実行する(即ち、フロント・エンド・デバイスがトークン化を実行する)必要があるかどうかを判定する。
図2は、本発明の一実施形態に係るSIPサーバ220及びフロント・エンド・デバイス210と、それらの関係とを示すブロック図である。SIPサーバ220は、例えば図1のSIPサーバ130aあるいはSIPサーバ130bであってよい。
図2に示されるように、SIPサーバ220は、トークン・ベース・メッセージを受信し、当該トークン・ベース・メッセージをSIPスタックで使用されるトークンに構文解析するSOE構文解析モジュール(第1の構文解析モジュール)221と、テキスト・ベースSIPメッセージを受信し、当該テキスト・ベースSIPメッセージをSIPスタックで使用されるトークンに構文解析するSIP構文解析モジュール(第2の構文解析モジュール)と、SIPサーバ220を監視する負荷モニタ223とを備える。例えば、負荷モニタ223は、SIPサーバ220のSIPスタック又は上位レイヤSIPアプリケーションあるいはその両方を監視してSIPサーバ220の負荷情報を取得する。更に、負荷モニタ223は、いくつかの事前定義されたルール(例えば、負荷閾値)に従ってフロント・エンド・デバイスへのオフロードが必要かどうかを判定し、そうである場合は、後で詳述するように、当該フロント・エンド・デバイスに対してそれ自体のSIPメッセージ・フィルタ・テーブル及びSIPヘッダ・フィルタ・テーブルを更新することを示す制御メッセージを送信する。事前定義されたルールは動的に調整可能であることに留意していただきたい。
フロント・エンド・デバイス210は、フロント・エンド・デバイス210に入力されたSIPサーバ220に送信すべきテキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要があるかどうかを判定するルール(粗粒度)を含むSIPメッセージ・フィルタ・テーブル212と、SIPメッセージ・フィルタ・テーブル212に従って、テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要があるかどうかを判定し、テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要がある場合には、その変換を実行し、変換されたトークン・ベース・メッセージをSIPサーバ220に送信し、変換の必要がない場合には、テキスト・ベースSIPメッセージをSIPサーバ220に直接送信するSOE変換モジュール211とを備える。
テキスト・ベースSIPメッセージは、ヘッダを含み、フロント・エンド・デバイス210は、SIPヘッダ・フィルタ・テーブル213を更に備え、SOE変換モジュール211は、SIPヘッダ・フィルタ・テーブル213に従って、SIPメッセージ・フィルタ・テーブル212に従って変換すべきことが判定されたテキスト・ベースSIPメッセージのヘッダをトークン・ベース・フォーマットに変換する必要があるかどうかを判定し、ヘッダをトークン・ベース・フォーマットに変換する必要がある場合には、テキスト・ベースSIPメッセージのヘッダの変換を実行し、変換されたヘッダをSIPサーバ220に送信し、変換の必要がない場合には、ヘッダを変換することなくSIPサーバ220に送信する。
図3は、SIPメッセージ・フィルタ・テーブル212の一例を示している。
図3に示されるように、このテーブルでは、各SIPサーバ(SIPサーバを一意に識別する識別子(例えば、SIPサーバ・アドレス)で表される)は、SOE変換を実行すべきかどうかを示す標識を有する。例えば、「SIPサーバ1」は「Yes」を示す標識を、「SIPサーバ2」は「No」を示す標識を、「SIPサーバ3」は「Yes」を示す標識を有し、以下もまた同様である。換言すると、SIPサーバ1に送信すべきテキスト・ベースSIPメッセージは、フロント・エンド・デバイス210でSOE変換する必要があり、SIPサーバ2に送信すべきテキスト・ベースSIPメッセージは、フロント・エンド・デバイス210でSOE変換する必要がなく、SIPサーバ3に送信すべきテキスト・ベースSIPメッセージは、フロント・エンド・デバイス210でSOE変換する必要がある。これは、フロント・エンド・デバイス210に入力されるテキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換すべきか否かについてSOE変換モジュール211を制御する粗粒度ルール(coarse‐granularity rule)である。
フロント・エンド・デバイス210に入力されるテキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換すべきか否かについてSOE変換モジュール211を良好な粒度で制御するために、また、SIPメッセージが「Via」ヘッダ、「To」ヘッダ、「From」ヘッダのような様々なヘッダを含むことを考慮して、本発明の本実施形態は更にSIPヘッダ・フィルタ・テーブル213も含む。
図4は、SIPヘッダ・フィルタ・テーブル213の一例を示している。
図4に示されるように、SIPサーバ1の「Via」タイプ・ヘッダの優先度は1、SIPサーバ1の「To」タイプ・ヘッダの優先度は2、SIPサーバ1の「From」タイプ・ヘッダの優先度は3であり、以下もまた同様である。本発明の本実施形態では、2以上の優先度を有するヘッダをフロント・エンド・デバイス210で変換する必要があるものと仮定する。換言すると、SIPサーバ1に送信すべき「Via」ヘッダのテキスト・ベースSIPメッセージは、フロント・エンド・デバイス210で変換する必要がなく、SIPサーバ1に送信すべき「To」ヘッダのテキスト・ベースSIPメッセージは、フロント・エンド・デバイス210で変換する必要があり、SIPサーバ1に送信すべき「From」ヘッダのテキスト・ベースSIPメッセージも、フロント・エンド・デバイス210で変換する必要がある。
ここで、SIPヘッダ・フィルタ・テーブル213は、SOE変換を実行することを示す標識を有するすべてのSIPサーバ(SIPサーバ1、SIPサーバ3)に関するヘッダの優先度を含む。言うまでもなく、SIPヘッダ・フィルタ・テーブルは、SOE変換を実行することを示す標識を有するSIPサーバ毎に記憶することができることが当業者には理解されるだろう。
上述のとおり、SIPサーバの負荷モニタは、フロント・エンド・デバイスへのオフロードが必要であることを判定した場合は、例えばそれ自体のSIPメッセージ・フィルタ・テーブル及びSIPヘッダ・フィルタ・テーブルを更新し、SOE変換を実行すべきか否かを示す標識を「No」から「Yes」に変更し、当該SIPサーバの様々なヘッダの優先度をSIPヘッダ・フィルタ・テーブルに追加することを示す制御メッセージを当該フロント・エンド・デバイスに送信する。
言うまでもなく、負荷モニタは、単にSIPヘッダ・フィルタ・テーブルを更新するのに使用される制御メッセージをフロント・エンド・デバイスに送信するだけであってもよいことが当業者には理解されるだろう。
以下のコードは、「SIP INVITE」メッセージの一例を示す。
Figure 0005208954
表1は、SOE変換モジュール211が上記の「SIP INVITE」メッセージを処理した結果を示す。表1から分かるように、テキスト・ベースSIPメッセージは、バイナリ・メッセージであるSOEメッセージに変換される。
Figure 0005208954
以下のコードは、「SIP REGISTER」メッセージの一例を示す。
Figure 0005208954
表2は、SOE変換モジュール211が上記の「SIP REGISTER」メッセージを処理した結果を示す。表2から分かるように、テキスト・ベースSIPメッセージは、バイナリ・メッセージであるSOEメッセージに変換される。
Figure 0005208954
図5は、本発明の一実施形態に係るフロント・エンド・デバイス210によって実行される各ステップを示している。
まず、フロント・エンド・デバイス210のSOE変換モジュール211は、ネットワーク120からテキスト・ベースSIPメッセージを取得する(ステップ301)。
次に、SOE変換モジュール211は、フロント・エンド・デバイス210のSIPメッセージ・フィルタ・テーブル212にアクセスしてテキスト・ベースSIPメッセージを変換する必要があるかどうかを判定する(判定302)。テーブル212において、各SIPサーバ(SIPサーバを一意に識別する識別子(例えば、SIPサーバ・アドレス)で表される)は、SOE変換を実行すべきか否かを示す標識を有する(図3参照)。例えば、SOE変換モジュール211は、SIPメッセージ・フィルタ・テーブル212に従って、SIPサーバ1に送信すべきテキスト・ベースSIPメッセージについてはフロント・エンド・デバイス210でSOE変換する必要があり、SIPサーバ2に送信すべきテキスト・ベースSIPメッセージについてはフロント・エンド・デバイス210でSOE変換する必要がなく、SIPサーバ3に送信すべきテキスト・ベースSIPメッセージについてはフロント・エンド・デバイス210でSOE変換する必要があることを判定することができる。
変換の必要がない場合には(判定302の「No」分岐)、SOE変換モジュール211は、テキスト・ベースSIPメッセージをSIPサーバ220のSIP構文解析モジュール222に直接送信し(ステップ308)、当該テキスト・ベースSIPメッセージは、SIP構文解析モジュール222によって構文解析され、当該SIPメッセージのトークンがSIPスタックに配信される。その後フローは終了する。
変換の必要がある場合には(判定302の「Yes」分岐)、SOE変換モジュール211は、SIPメッセージのヘッダが取得されているかどうかを判定する(判定303)。
SIPメッセージのヘッダが取得されている場合には(判定303の「Yes」分岐)、SOE変換モジュール211は、SIPヘッダ・フィルタ・テーブル213にアクセスしてヘッダの優先度を判定する(ステップ304)。SIPヘッダ・フィルタ・テーブル213は、SOE変換を実行することを示す標識を有する各SIPサーバに関する様々なタイプのヘッダの優先度を含む(図4参照)。
例えば、SIPサーバ1の「Via」タイプ・ヘッダの優先度は1、SIPサーバ1の「To」タイプ・ヘッダの優先度は2、SIPサーバ1の「From」タイプ・ヘッダの優先度は3であり、以下もまた同様である。対応する優先度は、前記SIPメッセージのヘッダのタイプに従って取得される。次に、SOE変換モジュール211は、ヘッダをトークン・ベース・フォーマットに変換する必要があるかどうかを判定し(判定305)、ヘッダをトークン・ベース・フォーマットに変換する必要がある場合には(判定305の「Yes」分岐)、当該ヘッダの変換を実行する(ステップ307)。次に、判定303に戻って次のヘッダが取得されているかどうかが判定される。ヘッダをトークン・ベース・フォーマットに変換する必要がない場合には(判定305の「No」分岐)、SOE変換モジュール211は、当該ヘッダの変換を実行せず、その後判定303に戻って次のヘッダが取得されているかどうかが判定される。本発明の本実施形態では、例えば2以上の優先度を有するヘッダをフロント・エンド・デバイス210で変換する必要があるものと仮定する。つまり、ヘッダの優先度が2以上である場合には、SOE変換モジュール211によるヘッダの変換が行われ、ヘッダの優先度が2未満である場合には、SOE変換モジュール211によるヘッダの変換は行われず、ヘッダはテキスト・ベース・フォーマットのままとなる。
SIPメッセージのヘッダが取得されていない場合には(判定303の「No」分岐)、SOE変換モジュール211は、SOE構文解析モジュール221に送信される変換済みヘッダ(単数又は複数)と、SIP構文解析モジュール222に送信される未変換ヘッダ(単数又は複数)とを含み得るメッセージをSIPサーバ220に送信する(ステップ306)。その後フローは終了する。
図6は、本発明の一実施形態に係るSIPサーバ220の負荷モニタ223によって実行される各ステップを示している。
図6に示されるように、ステップ601で、負荷モニタ223は、先述の場合と同様にSIPサーバ220のSIPスタック又は上位レイヤSIPアプリケーションあるいはその両方を監視してSIPサーバ220の負荷情報を取得する。
次に、負荷モニタ223は、いくつかの事前定義されたルール(例えば、負荷閾値)に従ってフロント・エンド・デバイス210へのオフロードが必要かどうかを判定する。
フロント・エンド・デバイス210へのオフロードが必要である場合には(判定602の「Yes」分岐)、負荷モニタ223は、フロント・エンド・デバイス210に対してそれ自体のSIPメッセージ・フィルタ・テーブル212及びSIPヘッダ・フィルタ・テーブル213を更新することを示す制御メッセージを送信する(ステップ603)。
フロント・エンド・デバイス210へのオフロードが必要ない場合には(判定602の「No」分岐)、負荷モニタ223は、ステップ601に戻ってSIPサーバ220のSIPスタック又は上位レイヤSIPアプリケーションあるいはその両方を監視してSIPサーバ220の負荷情報を取得する。
上記の説明では本発明の理解を容易にするために、当業者に周知の技術的詳細については、それらが本発明の実施に不可欠であっても詳しい説明を省略していることに留意していただきたい。
本発明の上記の記載は例示及び説明のために提示されるものであり、本発明を余すところのないものとし、又は開示の形態に限定することは、本出願人の意図するところではない。当業者には多くの修正形態及び変更形態が明らかとなるであろう。
例えば、SIPメッセージ・フィルタ・テーブル212及びSIPヘッダ・フィルタ・テーブル213は、SOE変換モジュール211内に収容することもできる。
したがって、上記実施形態は、本発明の諸原理及び実際の応用例を最良の形で説明するために、また、本発明の趣旨から逸脱しない範囲で施されるすべての修正及び変更が添付の特許請求範囲で定義される本発明の保護範囲に含まれることを他の当業者が理解することができるように選択され説明されている。

Claims (11)

  1. SIP構文解析性能を改善する方法であって、
    SIPサーバに送信すべきテキスト・ベースSIPメッセージを受信するステップと、
    SIPメッセージ・フィルタ・テーブルに従って、前記テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要があるかどうかを判定するステップであって、前記テキスト・ベースSIPメッセージがヘッダを含む、前記判定するステップと、
    前記テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要がある場合には、前記変換を実行し、前記変換されたトークン・ベース・メッセージを前記SIPサーバに送信し、前記変換の必要がない場合には、前記テキスト・ベースSIPメッセージを前記SIPサーバに直接送信するステップと
    含み、
    前記方法は、
    SIPヘッダ・フィルタ・テーブルに従って、前記テキスト・ベースSIPメッセージのヘッダをトークン・ベース・フォーマットに変換する必要があるかどうかを判定するステップと、
    前記テキスト・ベースSIPメッセージの前記ヘッダを前記トークン・ベース・フォーマットに変換する必要がある場合には、前記ヘッダの前記変換を実行し、前記変換されたヘッダを前記SIPサーバに送信し、前記変換の必要がない場合には、前記ヘッダを変換することなく前記SIPサーバに直接送信するステップと
    を更に含み、
    前記方法は、
    前記SIPサーバのSIPスタック又は上位レイヤSIPアプリケーションあるいはその両方を監視して前記SIPサーバの負荷情報を取得するステップと、
    いくつかの事前定義されたルールに従って、テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換するフロント・エンド・デバイスへのオフロードが必要かどうかを判定するステップと、
    前記フロント・エンド・デバイスへのオフロードが必要である場合は、前記フロント・エンド・デバイスに制御メッセージを送信するステップと
    を更に含む、
    前記方法。
  2. 前記SIPメッセージ・フィルタ・テーブル及び前記SIPヘッダ・フィルタ・テーブルは、前記SIPサーバからの制御メッセージに従って更新される、請求項に記載の方法。
  3. 前記制御メッセージは、前記フロント・エンド・デバイスの前記SIPメッセージ・フィルタ・テーブルを更新するのに使用される、請求項に記載の方法。
  4. 記制御メッセージは更に、前記フロント・エンド・デバイスの前記SIPヘッダ・フィルタ・テーブルを更新するのに使用される、請求項に記載の方法。
  5. 前記トークン・ベース・メッセージを受信し、前記トークン・ベース・メッセージをSIPスタックで使用されるトークンに構文解析するステップと、
    前記テキスト・ベースSIPメッセージを受信し、前記テキスト・ベースSIPメッセージをSIPスタックで使用されるトークンに構文解析するステップと
    を更に含む、請求項1〜3のいずれか一項に記載の方法。
  6. SIP構文解析性能を改善する装置であって、
    前記装置に入力されたSIPサーバに送信すべきテキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要があるかどうかに関するルールを含むSIPメッセージ・フィルタ・テーブルであって、前記テキスト・ベースSIPメッセージがヘッダを含む、前記SIPメッセージ・フィルタ・テーブルと、
    SIPヘッダ・フィルタ・テーブルと、
    前記SIPメッセージ・フィルタ・テーブルに従って、前記テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要があるかどうかを判定し、前記テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換する必要がある場合には、前記変換を実行し、前記変換されたトークン・ベース・メッセージを前記SIPサーバに送信し、前記変換の必要がない場合には、前記テキスト・ベースSIPメッセージを前記SIPサーバに直接送信する変換モジュールと
    を備えており、
    前記変換モジュールは、前記SIPヘッダ・フィルタ・テーブルに従って、前記テキスト・ベースSIPメッセージのヘッダをトークン・ベース・フォーマットに変換する必要があるかどうかを判定し、前記テキスト・ベースSIPメッセージの前記ヘッダを前記トークン・ベース・フォーマットに変換する必要がある場合には、前記ヘッダの前記変換を実行し、前記変換されたヘッダを前記SIPサーバに送信し、前記変換の必要がない場合には、前記ヘッダを変換することなく前記SIPサーバに直接送信し、
    前記装置は、前記SIPサーバのSIPスタック又は上位レイヤSIPアプリケーションあるいはその両方を監視して前記SIPサーバの負荷情報を取得し、いくつかの事前定義されたルールに従って、テキスト・ベースSIPメッセージをトークン・ベース・メッセージに変換するフロント・エンド・デバイスへのオフロードが必要かどうかを判定し、前記フロント・エンド・デバイスへのオフロードが必要である場合は、前記フロント・エンド・デバイスに制御メッセージを送信する負荷モニタを更に備えている、前記装置。
  7. 前記SIPメッセージ・フィルタ・テーブル及び前記SIPヘッダ・フィルタ・テーブルは、前記SIPサーバからの制御メッセージに従って更新される、請求項に記載の装置。
  8. 前記制御メッセージは、前記フロント・エンド・デバイスの前記SIPメッセージ・フィルタ・テーブルを更新するのに使用される、請求項6又は7に記載の装置。
  9. 記制御メッセージは更に、前記フロント・エンド・デバイスの前記SIPヘッダ・フィルタ・テーブルを更新するのに使用される、請求項に記載の装置。
  10. 前記トークン・ベース・メッセージを受信し、前記トークン・ベース・メッセージをSIPスタックで使用されるトークンに構文解析する第1の構文解析モジュールと、
    前記テキスト・ベースSIPメッセージを受信し、前記テキスト・ベースSIPメッセージをSIPスタックで使用されるトークンに構文解析する第2の構文解析モジュールと
    更に備えている、請求項6〜9のいずれか一項に記載の装置。
  11. SIP構文解析性能を改善するコンピュータ・プログラムであって、コンピュータに、請求項1〜5のいずれか一項に記載の方法の各ステップ実行させる前記コンピュータ・プログラム。
JP2009533825A 2006-10-24 2007-10-24 Sip構文解析性能を改善する方法、装置、及びコンピュータ・プログラム Expired - Fee Related JP5208954B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2006101371589A CN101170538B (zh) 2006-10-24 2006-10-24 用于改善sip解析性能的方法和装置
CN200610137158.9 2006-10-24
PCT/EP2007/061403 WO2008049853A2 (en) 2006-10-24 2007-10-24 Methods, apparatuses and computer program for improving sip parse performance

Publications (2)

Publication Number Publication Date
JP2010507951A JP2010507951A (ja) 2010-03-11
JP5208954B2 true JP5208954B2 (ja) 2013-06-12

Family

ID=39004458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009533825A Expired - Fee Related JP5208954B2 (ja) 2006-10-24 2007-10-24 Sip構文解析性能を改善する方法、装置、及びコンピュータ・プログラム

Country Status (6)

Country Link
US (2) US8412830B2 (ja)
EP (1) EP2090072A2 (ja)
JP (1) JP5208954B2 (ja)
KR (1) KR101033449B1 (ja)
CN (1) CN101170538B (ja)
WO (1) WO2008049853A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010025763A1 (en) * 2008-09-02 2010-03-11 Telefonaktiebolaget Lm Ericsson (Publ) Protocol message parsing
RU2606754C2 (ru) 2010-11-10 2017-01-10 Телефонактиеболагет Лм Эрикссон (Пабл) Обмен сигнальными сообщениями в сети связи с интернет-протоколом между объектами, применяющими объектно-ориентированную обработку сигнальных сообщений
CN102571805A (zh) * 2012-01-21 2012-07-11 重庆邮电大学 一种嵌入式sip服务器
US20170257682A1 (en) * 2016-03-01 2017-09-07 Yaniv SHTALRYD Monitoring Device, System and Method for Monitoring an Individual
CN109348485B (zh) * 2018-10-15 2022-10-04 中国电子科技集团公司第三十六研究所 一种多用户上下行突发非连续低速率业务传输方法
CN112929335B (zh) * 2021-01-20 2022-09-06 号百信息服务有限公司 一种基于灵活配置的基带信令过滤系统及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807173B1 (en) * 2000-08-23 2004-10-19 Nortel Networks Limited Method and system for improving bandwidth availability in a data communication network by tokenizing messages
US20020116605A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for initiating execution of software in response to a state
GB2372180A (en) * 2001-02-07 2002-08-14 Motorola Inc Compression of SIP/SDP headers by omitting standard fields from transmission and insertion of omitted fields from cache at receiver
US7143191B2 (en) 2002-06-17 2006-11-28 Lucent Technologies Inc. Protocol message compression in a wireless communications system
KR100472952B1 (ko) * 2002-10-30 2005-03-10 한국전자통신연구원 세션 초기화 프로토콜(sip)기반의 부하 분산장치 및방법
US7289464B2 (en) * 2003-02-18 2007-10-30 Qualcomm Incorporated Compression using program tokens
US7412541B1 (en) * 2003-07-18 2008-08-12 Core Mobility, Inc. Tokenized compression of session initiation protocol data
US8024476B2 (en) * 2004-05-21 2011-09-20 Microsoft Corporation Efficient message routing when using server pools
US20060068761A1 (en) 2004-09-28 2006-03-30 Lucent Technologies Inc. System and method for prioritizing a store-and-forward message
US7817630B2 (en) * 2006-12-18 2010-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Method, communications node, and memory for dynamic dictionary updating and optimization for compression and decompression of messages
CN101272378B (zh) * 2007-03-23 2011-05-11 国际商业机器公司 用于处理会话启动协议消息的方法和系统

Also Published As

Publication number Publication date
CN101170538B (zh) 2013-01-16
WO2008049853A2 (en) 2008-05-02
US8412830B2 (en) 2013-04-02
US8589567B2 (en) 2013-11-19
JP2010507951A (ja) 2010-03-11
US20130007276A1 (en) 2013-01-03
EP2090072A2 (en) 2009-08-19
CN101170538A (zh) 2008-04-30
KR101033449B1 (ko) 2011-05-09
US20100070633A1 (en) 2010-03-18
KR20090058569A (ko) 2009-06-09
WO2008049853A3 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
US8838705B2 (en) Session initiation protocol stack optimisation
JP4681968B2 (ja) サービス要求装置、サービス要求方法、サービス要求プログラム、及び記録媒体
JP5208954B2 (ja) Sip構文解析性能を改善する方法、装置、及びコンピュータ・プログラム
US20050182843A1 (en) Computer system instrumentation information
JP2018536935A (ja) アクセス要求変換方法および装置
JP5716795B2 (ja) サービス制御装置、サービス制御システム及び方法
US11115498B2 (en) Multi-path management
US20190045238A1 (en) Method and system of push-template and url list for dash on full-duplex protocols
US9876841B2 (en) Context-aware content delivery
US20090327394A1 (en) Information providing server, program, information providing method, and information providing system
US7689648B2 (en) Dynamic peer network extension bridge
KR20070050670A (ko) 웹 서비스 제공 장치, 웹 서비스 요청 장치, 웹 서비스제공 방법 및 웹 서비스 요청 방법
CN102438048B (zh) 一种互联网中远程服务调用的方法和系统
US10880393B2 (en) Method for caching a piece of content in a content distribution network
US8788688B2 (en) Method and device for duplicating multicast packets
EP1551142B1 (en) A gateway for coupling of passive and active networks
WO2022199306A1 (en) A method of processing an incoming service request by a first network function, nf, instance, as well as the corresponding network functions
Liao et al. A demand-driven parsing method for SIP offload in home network
CN116567090A (zh) 一种服务数据传输方法、系统、电子设备及存储介质
CN118101642A (zh) 一种文件云输出系统、方法及装置
CAO et al. Selective parsing to enhance SIP performance
Ghosh Towards the rapid network-wide deployment of new application specific network protocols, using application level active networking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120719

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120719

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120910

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121227

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121227

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130207

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130220

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5208954

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees