(57)【要約】【課題】クライアントサーバシステム、たとえばSIPサーバ上におけるトランザクションを管理する方法、およびこのトランザクションが管理されるクライアントサーバシステムを提供。【解決手段】SIPサーバ10は、トランスポートコンポーネント12でSIPメッセージを受け取り、トランザクション管理コンポーネント14でSIPメッセージに応じてトランザクション管理を行い、SIPクライアント管理コンポーネント16でトランザクションに対応してSIPクライアント18を生成および管理することにより、SIPサーバ10上にSIPクライアント18を備えてSIPにおける複雑なトランザクション管理を避けることができる。【選択図】図１
2005242670.tif 000002
【特許請求の範囲】
【請求項１】
システム環境を特定する通信プロトコルを用いて構築され、所定の処理を示す第１の要求、および第１の要求に応じた第１の応答をクライアントと送受信するサーバシステムにおける、第１の要求および第１の応答からなるトランザクションの管理方法において、該管理方法は、
前記トランザクションの処理を管理する第１の管理工程と、
前記トランザクションと対応付けて前記クライアントを管理する第２の管理工程とを含み、
前記クライアントを前記サーバシステム上に備えることを特徴とするトランザクション管理方法。
【請求項２】
請求項１に記載のトランザクション管理方法において、該管理方法は、
前記トランザクションの内、前記クライアントから送信されるものを、第２の管理工程で管理してから第１の管理工程に送り、
第１の管理工程から送信されるものを、第２の管理工程で管理してから前記クライアントに送ることを特徴とするトランザクション管理方法。
【請求項３】
請求項１または２に記載のトランザクション管理方法において、第２の管理工程は、前記トランザクションが新規トランザクションか否かを判別する判別工程と、
前記トランザクションを再利用する再利用工程と、
前記新規トランザクションに対応するクライアントを新規に生成する生成工程とを含み、
前記判別工程の結果、新規トランザクションである場合、前記再利用工程に進んで前記トランザクションを実行し、新規トランザクションでない場合、前記生成工程に進んで前記新規トランザクションを実行することを特徴とするトランザクション管理方法。
【請求項４】
請求項３に記載のトランザクション管理方法において、前記判別工程は、前記トランザクションに関するトランザクション情報と、該トランザクションに対応するクライアントに関するクライアント情報とを対応付けて格納したトランザクションキャッシュを用いて、該トランザクションキャッシュを参照して前記トランザクションが新規トランザクションか否かを判別し、
前記トランザクションが新規トランザクションである場合、前記トランザクション情報と前記クライアント情報とを対応付けてトランザクションキャッシュに格納することを特徴とするトランザクション管理方法。
【請求項５】
請求項４に記載のトランザクション管理方法において、前記再利用工程は、前記トランザクションキャッシュを参照して、前記トランザクションに相当する前記トランザクション情報を検出し、該トランザクション情報に対応する前記クライアント情報を取り出して前記クライアントを判別して、前記トランザクションを実行することを特徴とするトランザクション管理方法。
【請求項６】
請求項３ないし５のいずれかに記載のトランザクション管理方法において、前記生成工程は、前記対応クライアントを生成するための生成情報を格納した定義テーブルを参照することにより、前記対応クライアントを生成することを特徴とするトランザクション管理方法。
【請求項７】
請求項１ないし６のいずれかに記載のトランザクション管理方法において、該管理方法は、前記クライアントと、該クライアントを使用する他のクライアントとを、ネットワークを介して接続して相互に通信する通信工程を含むことを特徴とするトランザクション管理方法。
【請求項８】
請求項７に記載のトランザクション管理方法において、前記通信工程は、前記クライアントに備えた第１の通信モジュールと、前記他のクライアントに備えた第２の通信モジュールとをネットワークを介して接続し、相互に通信することを特徴とするトランザクション管理方法。
【請求項９】
請求項１ないし８のいずれかに記載のトランザクション管理方法において、前記通信プロトコルは、セッション開始プロトコル（Session Initiation Protocol：SIP）であることを特徴とするトランザクション管理方法。
【請求項１０】
請求項９に記載のトランザクション管理方法において、該管理方法は、前記トランザクションに関する情報を含んだSIPメッセージを前記サーバシステムが受け取り、前記SIPメッセージに応じた前記トランザクションの処理を第１の管理工程で管理することを特徴とするトランザクション管理方法。
【請求項１１】
システム環境を特定する通信プロトコルを用いて構築され、
所定の処理を示す第１の要求、および第１の要求に応じた第１の応答をクライアントと送受信し、
第１の要求および第１の応答からなるトランザクションを管理するサーバシステムにおいて、該サーバシステムは、
前記トランザクションの処理を管理する第１の管理手段と、
前記トランザクションと対応付けて前記クライアントと管理する第２の管理手段とを含み、
前記クライアントを該サーバシステム上に備えることを特徴とするサーバシステム。
【請求項１２】
請求項１１に記載のサーバシステムにおいて、該システムは、
前記トランザクションの内、前記クライアントから送信されるものを、第２の管理手段で管理してから第１の管理手段に送り、
第１の管理手段から送信されるものを、第２の管理手段で管理してから前記クライアントに送ることを特徴とするサーバシステム。
【請求項１３】
請求項１１または１２に記載のサーバシステムにおいて、第２の管理手段は、前記トランザクションが新規トランザクションか否かを判別する判別手段と、
前記トランザクションを再利用する再利用手段と、
前記新規トランザクションに対応するクライアントを新規に生成する生成手段とを含み、
前記判別手段の結果、新規トランザクションである場合、前記再利用手段に進んで前記トランザクションを実行し、新規トランザクションでない場合、前記生成手段に進んで前記新規トランザクションを実行することを特徴とするサーバシステム。
【請求項１４】
請求項１３に記載のサーバシステムにおいて、第２の管理手段は、前記生成手段に対する生成の指示をユーザが直接することができるインタフェースを含むことを特徴とするサーバシステム。
【請求項１５】
請求項１３に記載のサーバシステムにおいて、前記判別手段は、前記トランザクションに関するトランザクション情報と、該トランザクションに対応するクライアントに関するクライアント情報とを対応付けて格納したトランザクションキャッシュを用いて、該トランザクションキャッシュを参照して前記トランザクションが新規トランザクションか否かを判別し、
前記トランザクションが新規トランザクションである場合、前記トランザクション情報と前記クライアント情報とを対応付けてトランザクションキャッシュに格納することを特徴とするサーバシステム。
【請求項１６】
請求項１５に記載のサーバシステムにおいて、前記再利用手段は、前記トランザクションキャッシュを参照して、前記トランザクションに相当する前記トランザクション情報を検出し、該トランザクション情報に対応する前記クライアント情報を取り出して前記クライアントを判別して、前記トランザクションを実行することを特徴とするサーバシステム。
【請求項１７】
請求項１３ないし１６のいずれかに記載のサーバシステムにおいて、前記生成手段は、前記対応クライアントを生成するための生成情報を格納した定義テーブルを参照することにより、前記対応クライアントを生成することを特徴とするサーバシステム。
【請求項１８】
請求項１１ないし１７のいずれかに記載のサーバシステムにおいて、該システムは、前記クライアントと、該クライアントを使用する他のクライアントとを、ネットワークを介して接続して相互に通信する通信手段を含むことを特徴とするサーバシステム。
【請求項１９】
請求項１８に記載のサーバシステムにおいて、前記通信手段は、前記クライアントに備えた第１の通信モジュールと、前記他のクライアントに備えた第２の通信モジュールとをネットワークを介して接続し、相互に通信することを特徴とするサーバシステム。
【請求項２０】
請求項１１ないし１９のいずれかに記載のサーバシステムにおいて、前記通信プロトコルは、セッション開始プロトコル（Session Initiation Protocol：SIP）であることを特徴とするサーバシステム。
【請求項２１】
請求項２０に記載のサーバシステムにおいて、該システムは、前記トランザクションに関する情報を含んだSIPメッセージを該サーバシステムが受け取り、前記SIPメッセージに応じた前記トランザクションの処理を第１の管理手段で管理することを特徴とするサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントサーバシステム、たとえばSIPサーバ上におけるトランザクションを管理する方法、およびこのトランザクションが管理されるクライアントサーバシステムに関するものである。
【背景技術】
【０００２】
従来から、クライアントサーバシステムには、IETF（Internet Engineering Task Force）で標準化されているセッション開始プロトコル（Session Initiation Protocol：SIP）などの、端末間でセッション開始・終了を行う呼制動プロトコルで環境が構築されたものがある。このSIPで環境が構築されたシステムでは、一般に、SIPに基づいてクライアントの要求（リクエスト）に応じて応答（レスポンス）するSIPサーバと、クライアント環境を有して、たとえばユーザのPCなどで動作するSIPクライアントとが、別々に配置されて接続している。
【非特許文献１】RFC3261 インターネット＜URL: http://www.ietf.org/rfc/rfc3261.txt＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述したようなSIPサーバとSIPクライアントとを接続するクライアントサーバシステムでは、たとえば、SIPクライアントがSIPメッセージにより要求を発行し、SIPサーバがこのSIPメッセージを受け取って応答することを繰り返すような、要求および応答からなるトランザクションモデルに基づいているが、このSIPのトランザクション管理をSIPクライアントごとに毎回実装することは複雑で、開発期間を長くすることになる。
【０００４】
本発明はこのような従来技術の欠点を解消し、開発期間を短縮でき、クライアント部分の開発に専念できるクライアントサーバシステム、およびそのシステムのトランザクション管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は上述の課題を解決するために、システム環境を特定する通信プロトコルを用いて構築され、所定の処理を示す第１の要求、および第１の要求に応じた第１の応答をクライアントと送受信するサーバシステムにおける、第１の要求および第１の応答からなるトランザクションの管理方法は、このトランザクションの処理を管理する第１の管理工程と、このトランザクションと対応付けてこのクライアントを管理する第２の管理工程とを含み、このクライアントをこのサーバシステム上に備えることを特徴とする。
【０００６】
また、システム環境を特定する通信プロトコルを用いて構築され、所定の処理を示す第１の要求、および第１の要求に応じた第１の応答をクライアントと送受信し、第１の要求および第１の応答からなるトランザクションを管理するサーバシステムは、このトランザクションの処理を管理する第１の管理手段と、このトランザクションと対応付けてこのクライアントと管理する第２の管理手段とを含み、このクライアントをこのサーバシステム上に備えることを特徴とする。
【発明の効果】
【０００７】
本発明のSIPサーバによれば、SIPサーバ上にSIPクライアントを実装して管理することによって、同じトランザクションを再利用することができ、またトランザクションに対する実装を最小限にしてSIPにおける複雑なトランザクション管理を行わずにSIPクライアントを生成および管理することができる。
【０００８】
また、本発明によれば、SIPサーバにおいて、SIPサーバ上に実装したSIPクライアントと通信する他のSIPクライアントを実装する際に、ユーザが利用可能なグラフィカル・ユーザ・インタフェース（Graphical User Interface：GUI）を提供する他のSIPクライアントを実装することができる。
【発明を実施するための最良の形態】
【０００９】
次に添付図面を参照して、本発明によるSIPサーバの実施例を詳細に説明する。たとえば、本発明のSIPサーバ10は、図１に示すように、トランスポートコンポーネント12でSIPメッセージを受け取り、トランザクション管理コンポーネント14でSIPメッセージに応じてトランザクション管理を行い、SIPクライアント管理コンポーネント16でトランザクションに対応してSIPクライアント18を生成および管理して、SIPサーバ10上にSIPクライアント18を備えるものである。たとえば、SIPサーバ10は、図示しないが、ネットワークと接続して、他のSIPサーバやユーザエージェントなどとSIPメッセージをやりとりするものでよい。なお、本発明の理解に直接関係のない部分は、図示を省略し、冗長な説明を避ける。
【００１０】
本実施例において、トランスポートコンポーネント12は、たとえばSIPサーバ10の外部、たとえばネットワークと接続して、他のSIPサーバなどからSIPメッセージを受信してトランザクション管理コンポーネント14に渡す機能を有し、他方、トランザクション管理コンポーネント14から渡されるSIPメッセージを外部に送信する機能を有する。
【００１１】
トランザクション管理コンポーネント14は、トランスポートコンポーネント12およびSIPクライアント管理コンポーネント16とSIPメッセージを送受信し、SIPメッセージに応じたトランザクションの処理を管理するものである。本実施例において、トランザクション管理コンポーネント14は、このトランザクションの生成、管理および再利用などの処理を管理するものでよい。
【００１２】
SIPクライアント管理コンポーネント16は、トランザクション管理コンポーネント14とSIPメッセージを送受信し、SIPメッセージが示すトランザクションに応じてSIPクライアント18を管理するものである。本実施例では、SIPクライアント管理コンポーネント16は、図２に示すように、クライアント・トランザクション管理コンポーネント20、SIPクライアント生成コンポーネント22およびSIPクライアント定義コンポーネント24を含んで、SIPクライアント18の生成や管理などを行い、またトランザクションにおけるメソッドをSIPクライアント18と送受信するものである。
【００１３】
クライアント・トランザクション管理コンポーネント20は、トランザクション管理コンポーネント14およびSIPクライアント18とSIPメッセージを送受信するもので、本実施例では特に、トランザクション管理コンポーネント14からのSIPメッセージが示すトランザクションに対応するSIPクライアントを判別する機能を有する。このとき、クライアント・トランザクション管理コンポーネント20は、トランザクションが新規トランザクションであるか否かを判別して、新規トランザクションである場合、このトランザクションに対応するSIPクライアントの生成をSIPクライアント生成コンポーネント22に要求し、新規トランザクションでない場合、再利用できるトランザクションを検出して対応するSIPクライアントを検出することにより、SIPメッセージを送信すべきSIPクライアントを判別してSIPメッセージを送信することができる。クライアント・トランザクション管理コンポーネント20は、SIPメッセージが要求を示す場合、このような新規トランザクションの判別によりSIPクライアントを検出し、SIPメッセージが応答を示す場合、SIPメッセージが示すトランザクションから対応するSIPクライアントを検出するようにしてもよい。
【００１４】
他方、クライアント・トランザクション管理コンポーネント20は、SIPクライアント18からのSIPメッセージが示すトランザクションが新規トランザクションであるか否かを判別する機能を有してもよい。このとき、クライアント・トランザクション管理コンポーネント20は、SIPメッセージが要求を示す場合に限り、新規トランザクションの判別を行うようにしてもよい。
【００１５】
また、クライアント・トランザクション管理コンポーネント20は、受け取ったトランザクションが新規トランザクションであると判別した場合、このトランザクションに関する情報を格納する機能をも有する。
【００１６】
本実施例において、クライアント・トランザクション管理コンポーネント20は、図３に示すように、SIPメッセージ受信部26でトランザクション管理コンポーネント14からSIPメッセージを受け取り、クライアント管理部28でSIPメッセージが示すトランザクションが新規か否かを判別する。このとき、トランザクションが新規である場合、SIPメッセージに含まれるトランザクション情報（またはダイアログ情報）およびクライアント情報をトランザクションキャッシュ30に格納し、SIPクライアント生成コンポーネント22にSIPクライアント18の生成を要求する。他方、トランザクションが新規でない場合、SIPメッセージに含まれるトランザクション情報をトランザクションキャッシュ30から検出し、対応するクライアント情報も検出する。このトランザクションキャッシュ30は、たとえば、その性能に基づいてメモリ（図示せず）上に格納されてもよく、ネットワークを介してデータベース（Data Base：DB）に格納されてもよい。
【００１７】
クライアント・トランザクション管理コンポーネント20は、SIPクライアント18からのSIPメッセージが示すトランザクションが新規か否かを判別するとき、トランザクションが新規である場合に、SIPメッセージに含まれるトランザクション情報およびクライアント情報をトランザクションキャッシュ30に格納してもよい。
【００１８】
本実施例のトランザクションキャッシュ30には、各トランザクションに対応するデータとして、たとえば図７に示すように、トランザクション情報300およびクライアントID（Identify Code）310を有するデータが保存される。
【００１９】
トランザクション情報300は、Call-ID 302、Fromタグ304、Toタグ306およびCSeq番号308を含んで構成されるものでよい。このとき、Call-ID 302、Fromタグ304、Toタグ306およびCSeq番号308は、SIPメッセージに含まれて規定されているもので、これらの組合せによって、SIPシステムにおける様々なトランザクションまたはダイアログの構成が表される。
【００２０】
クライアントID 310は、トランザクション情報300に対応するクライアント固有の識別コードを示し、たとえば、クライアントが生成されるときに自動的に割り当てられる一意のIDである。
【００２１】
本実施例のクライアント管理部28では、トランザクション情報300に含まれるCall-ID 302、Fromタグ304、Toタグ306およびCSeq番号308、ならびにクライアントID 310の組み合わせにより、SIPメッセージのトランザクション情報が新規か否かを判別し、SIPメッセージをどのSIPクライアントに割り振って送信するべきかを判断して処理する。
【００２２】
SIPクライアント生成コンポーネント22は、クライアント・トランザクション管理コンポーネント20からSIPクライアント生成の要求を受けて、このSIPメッセージをSIPクライアント定義コンポーネント24に渡して生成すべきSIPクライアントを判断し、この判断結果に応じてSIPクライアント18を生成する。
【００２３】
本実施例では、SIPクライアント生成コンポーネント22は、図４に示すように、メッセージ解析部32でSIPメッセージを受け付けてSIPクライアント定義コンポーネント24に渡して生成すべきSIPクライアントの情報が返され、このSIPクライアントの情報に応じてクライアント生成部34でSIPクライアント18を生成する。本実施例のSIPクライアント生成コンポーネント22は、クライアントAPI（Application Program Interface）36を有して、SIPクライアントを使用するユーザが、SIPクライアント18を直接生成することもできる。
【００２４】
クライアントAPI 36は、ユーザから、たとえばSIPクライアント生成などの指示を受けて、この指示をメッセージ解析部32に送るものでよい。また、クライアントAPI 36は、SIPクライアント管理コンポーネント16に直接備えてもよく、このとき、ユーザは、クライアントAPI 36を介してクライアント・トランザクション管理コンポーネント20に対して指示することもでき、たとえば、SIPクライアントを指定してREGISTER要求を指示することもできる。
【００２５】
SIPクライアント定義コンポーネント24は、SIPクライアント生成コンポーネント22からのSIPメッセージに応じてどのようなSIPクライアントを生成するかを定義するものである。本実施例では、図４に示すように、クライアント判断部38において、クライアント定義テーブル40を参照して、受け取ったSIPメッセージから生成すべきSPIクライアントの情報を判断し、判断結果をメッセージ解析部32に返すものである。
【００２６】
クライアント定義テーブル40は、生成すべきクライアントの情報を格納するもので、たとえば、クライアント生成情報400は、図８に示すように、クライアント名402、クライアントクラス名404、初期化パラメータ406およびマッピング情報408などを含んで一つの情報として構成し、クライアント定義テーブル40に複数格納してよい。
【００２７】
たとえば、クライアント定義テーブル40がXMLで記述される場合、クライアント生成情報400は、図９に示すように、その定義内容500が表わされ、ここでは、コード502において定義テーブル名として「test」が定義されている。また、コード504にクライアント名402として「testClient」が定義され、コード506にクライアントクラス名404として「MessageClient」が定義されている。また、初期パラメータ406として、コード508にパラメータ名「helloMessage」が、コード510にパラメータ値「Hello」が定義されている。また、マッピング情報408として、コード512において、SIPメッセージのリクエストメソッド名が「MESSAGE」の場合にクライアント名「testClient」を使用するように定義されている。
【００２８】
本実施例のSIPクライアント18は、クライアント・トランザクション管理コンポーネント20とSIPメッセージを送受信して、要求の実行および応答の受け取りなどの機能を有するものである。また、SIPクライアント18は、GUIを伴って構成されるSIPクライアントでもよく、SIPメッセージを受け取ったことをSIPサーバ外へ通知するような軽量なSIPクライアントでもよい。本実施例において、SIPクライアント18は、SIPサーバ10に複数生成されてよく、実際には多数のSIPクライアントを有することができるが、図１、図２、図３および図４では複雑化を避けるため、少数のSIPクライアントしか図示しない。
【００２９】
次に、本実施例におけるSIPサーバ10の動作について、基本的なSIPメッセージ、たとえば登録（REGISTER）の要求などが、ユーザからSIPサーバの外部に送信されるまでの動作を図５のシーケンスチャートを参照しながら説明する。
【００３０】
本実施例では、まず、ユーザ42は、たとえば、クライアントAPI 36を介してREGISTERを行うためのSIPクライアント生成指示102をSIPクライアント生成コンポーネント22に対して行う。なお、以下の説明において、各信号はその現れる接続線の参照番号で特定する。
【００３１】
このとき、SIPクライアント生成コンポーネント22では、SIPクライアント生成指示102をメッセージ解析部32で受けて、さらにこの生成指示102に応じて、SIPクライアント定義コンポーネント24において、クライアント判断部38およびクライアント定義テーブル40によりクライアント生成情報400が判断される。この生成情報400は、メッセージ解析部32を介してクライアント生成部34に送信され、SIPクライアント18の生成104が実行される。
【００３２】
次に、本実施例では、ユーザ42が、生成したSIPクライアント18に対して、REGISTERの要求の指示106を行う。
【００３３】
SIPクライアント18では、この要求指示106に応じて、REGISTERメソッドの発行108が行われ、クライアント・トランザクション管理コンポーネント20に対してREGISTERメソッドの要求110が送られる。
【００３４】
クライアント・トランザクション管理コンポーネント20では、REGISTERメソッド要求110に応じて、SIPクライアント18に関するSIPクライアント情報、およびREGISTERメソッドに関するトランザクション情報の格納112が、たとえば、トランザクションキャッシュ30に対して行われる。
【００３５】
次に、クライアント・トランザクション管理コンポーネント20では、REGISTERメソッド要求110に応じて、REGISTERメソッドの要求を示すSIPメッセージ114がトランザクション管理コンポーネント14に対して送られ、トランザクション管理コンポーネント14では、SIPメッセージ114に応じて、REGISTERメソッドの要求を示すSIPメッセージ116がトランスポートコンポーネント12に対して送られる。
【００３６】
トランスポートコンポーネント12では、SIPメッセージ116に応じて、REGISTERメソッドの要求を示すSIPメッセージ118がREGISTER先のSIPサーバ44に対して、たとえばネットワークを介して送信される。
【００３７】
次に、本実施例におけるSIPサーバ10の動作について、基本的なSIPメッセージの応答、たとえば登録（REGISTER）の要求などに対する応答を受信するまでの動作を図６のシーケンスチャートを参照しながら説明する。
【００３８】
本実施例では、まず、REGISTERが実行された他のSIPサーバ44からのREGISTERの応答202が、トランスポートコンポーネント12で受信される。
【００３９】
トランスポートコンポーネント12では、REGISTERの応答202に応じたSIPメッセージ204がトランザクション管理コンポーネント14に対して送られ、トランザクション管理コンポーネント14では、SIPメッセージ204に応じて、REGISTERの応答を示すSIPメッセージ206がクライアント・トランザクション管理コンポーネント20に送られる。
【００４０】
次に、クライアント・トランザクション管理コンポーネント20では、SIPメッセージ206に含まれるトランザクション情報に応じて、SIPメッセージ206を渡すSIPクライアントの判別208を行い、このとき、このトランザクション情報に相当するトランザクションをクライアント管理部28においてトランザクションキャッシュ30を参照して検出し、検出されたトランザクションに対応するSIPクライアントを検出する。さらに、クライアント・トランザクション管理コンポーネント20では、SIPメッセージ206に応じて、REGISTERの応答を示すSIPメッセージ210が、判別されたSIPクライアント18に対して送られる。
【００４１】
SIPクライアント18では、SIPメッセージ210に応じて、メソッド判別などのSIPメッセージ受信後に必要な処理が行われる。
【００４２】
また、他の実施例として、SIPサーバ10は、図10に示すように、SIPメッセージの送受信を行うSIPクライアント管理コンポーネント16、ならびにSIPクライアント52および54を有している。SIPサーバ10は、トランスポートコンポーネント12やトランザクション管理コンポーネント14を有して構成されてもよい。
【００４３】
SIPクライアント52および54は、図10に示すように、それぞれ、通信モジュール56および60と、処理モジュール58および62とを含んでいる。これらの通信モジュール56および60は、それぞれ、処理モジュール58および62と対になって、処理モジュール58および62からの要求によって通信を行うものである。本実施例では、SIPサーバ10は、実際には多数のSIPクライアントを有することができるが、図10では複雑化を避けるため、少数のSIPクライアントしか図示しない。
【００４４】
また、本実施例において、SIPクライアント52および54は、ネットワーク82を介して、ユーザが直接使用するクライアント装置などにおけるSIPクライアント70と接続している。SIPクライアント70は、図10に示すように、GUI 72と、処理モジュール74および78と、通信モジュール76および80とを有して構成されている。これらの通信モジュール76および80は、それぞれ、処理モジュール74および78と対になっている。
【００４５】
このGUI 72は、ユーザによる操作が必要な場合に用いられるインタフェースでよい。本実施例において、SIPクライアント70は、一つのGUI 72に対して複数の処理モジュールを備えてよく、処理モジュールの数に応じた通信モジュールが備えられる。
【００４６】
本実施例では、このようにSIPサーバ10を構成することにより、ユーザ側のSIPクライアントに対して、ネットワーク越しに機能を提供することができる。
【００４７】
次に、本実施例におけるSIPサーバ10の動作について、たとえばREGISTERメソッドの要求などのSIPメッセージが送信されるときの動作を図11のシーケンスチャートを参照しながら説明する。
【００４８】
本実施例では、まず、ユーザが、SIPクライアント70におけるGUI 72を介してREGISTERの要求を操作して、このREGISTER要求602がSIPクライアント70における処理モジュール76に送られる。
【００４９】
処理モジュール76では、REGISTER要求602に応じて、REGISTER要求を示すデータ作成604が行われ、このREGISTER要求データ606は、SIPクライアント70における通信モジュール74へ送られる。
【００５０】
次に、通信モジュール74では、REGISTER要求データ608がSIPクライアント52における通信モジュール56へ送信される。
【００５１】
また、通信モジュール56では、REGISTER要求データ610がSIPクライアント52における処理モジュール58へ送られる。
【００５２】
ここで、処理モジュール58では、REGISTER要求データの確認およびREGISTER要求を示すSIPメッセージの作成612が行われる。また、処理モジュール58では、作成したREGISTER要求を示すSIPメッセージ614が、SIPクライアント管理コンポーネント16へ送られる。
【００５３】
SIPクライアント管理コンポーネント16では、SIPメッセージ614に応じて、図示しないが、たとえば、トランザクション管理コンポーネントに対してREGISTER要求を示すSIPメッセージ616が送られ、このトランザクション管理コンポーネントでは、トランスポートコンポーネントに対してSIPメッセージが送られる。このトランスポートコンポーネントでは、このSIPメッセージに応じて、REGISTER要求を示すSIPメッセージが他のSIPサーバに送信される。
【００５４】
次に、本実施例におけるSIPサーバ10の動作について、たとえばREGISTERメソッドへの応答などのSIPメッセージを受信したときの動作を図12のシーケンスチャートを参照しながら説明する。
【００５５】
本実施例では、まず、SIPクライアント管理コンポーネント16において、REGISTERメソッドへの応答を示すSIPメッセージ702が、たとえば、他のSIPサーバからトランスポートコンポーネントおよびトランザクション管理コンポーネントを介して、受信される。
【００５６】
SIPクライアント管理コンポーネント16では、SIPメッセージ702に含まれるトランザクション情報に応じて、SIPメッセージ702を渡すSIPクライアントの判別704を行い、このとき、このトランザクション情報に相当するトランザクションをクライアント・トランザクション管理コンポーネント20におけるクライアント管理部28においてトランザクションキャッシュ30を参照して検出し、検出されたトランザクションに対応するSIPクライアントを検出する。さらに、SIPクライアント管理コンポーネント16では、この判別したSIPクライアント52における処理モジュール58に対して、SIPメッセージ702に応じて、REGISTERメソッドへの応答を示すSIPメッセージ706が送られる。
【００５７】
処理モジュール58では、SIPメッセージ706に含まれるトランザクション情報に応じてユーザへ通知するデータの作成708を行い、本実施例では、このトランザクション情報からREGISTER完了を判別してユーザへREGISTER完了を通知するためのデータ710を作成し、このREGISTER完了通知データ710がSIPクライアント52における通信モジュール56に送られる。
【００５８】
通信モジュール56では、REGISTER完了通知データ710に応じて、SIPクライアント70における通信モジュール74に対して、REGISTER完了を通知するデータ712が送信される。
【００５９】
通信モジュール74では、REGISTER完了通知データ712に応じて、SIPクライアント70における処理モジュール76に対して、REGISTER完了を通知するデータ714が送られる。
【００６０】
処理モジュール76では、REGISTER完了通知データ714に応じてデータ確認716が実行されて、REGISTER完了が確認され、GUI 72に対してREGISTER完了通知718が送られる。GUI 72では、このREGISTER完了通知718に応じて、たとえば、REGISTER要求を実行したユーザに対して、REGISTER完了通知720が送られる。このとき、ユーザへのREGISTER完了通知720は、たとえば図示しない表示部などで表示して送ってもよい。
【図面の簡単な説明】
【００６１】
【図１】本発明に係るSIPサーバの一実施例を示すブロック図である。
【図２】図１に示す実施例のSIPサーバにおけるSIPクライアント管理コンポーネントを例示した図である。
【図３】図２に示すSIPクライアント管理コンポーネントにおけるSIPクライアント・トランザクション管理コンポーネントを例示した図である。
【図４】図２に示すSIPクライアント管理コンポーネントにおけるSIPクライアント定義コンポーネントおよびSIPクライアント生成コンポーネントを例示した図である。
【図５】図１に示したSIPサーバにおける動作手順を説明するシーケンスチャートである。
【図６】図１に示したSIPサーバにおける動作手順を説明するシーケンスチャートである。
【図７】図３に示すSIPクライアント・トランザクション管理コンポーネントにおけるトランザクションキャッシュに格納されるトランザクション情報を示すデータを例示した図である。
【図８】図４に示すSIPクライアント定義コンポーネントにおけるクライアント定義テーブルに格納されるクライアント生成情報を例示した図である。
【図９】図８に示すクライアント生成情報の定義内容を例示した図である。
【図１０】本発明に係るSIPサーバの他の実施例を示すブロック図である。
【図１１】図１０に示したSIPサーバにおける動作手順を説明するシーケンスチャートである。
【図１２】図１０に示したSIPサーバにおける動作手順を説明するシーケンスチャートである。
【符号の説明】
【００６２】
10  SIPサーバ
12  トランスポートコンポーネント
14  トランザクション管理コンポーネント
16  SIPクライアント管理コンポーネント
18  SIPクライアント
【図１】
2005242670.tif 000003
【図２】
2005242670.tif 000004
【図３】
2005242670.tif 000005
【図４】
2005242670.tif 000006
【図５】
2005242670.tif 000007
【図６】
2005242670.tif 000008
【図７】
2005242670.tif 000009
【図８】
2005242670.tif 000010
【図９】
2005242670.tif 000011
【図１０】
2005242670.tif 000012
【図１１】
2005242670.tif 000013
【図１２】
2005242670.tif 000014