WebSphere Application Server Network Deployment for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

SIP セッションの複製

このトピックでは、標準の SIP コール・フロー時に、セッションの複製が行われ、ダイアログ状態が起こる時期についての概要を示します。

このタスクについて

WebSphere Application Server バージョン 6.1 では、 SIP の複製は「ベストエフォート」で行われます。 一般に、SIP コンテナーは、Data Replication Service (DRS) を使用して、 すべての状態情報を複製します。DRS は、データの複製が完了した時期を確認する方法を提供しません。 したがって、唯一定量化できることは、複製用の状態情報の 1 つがキューに入れられた時期です。 このトピック内では、データの複製に対する参照では、複製用のデータがキューに入れられたことのみを意味します。

SIP コンテナーは、さまざまなタイプの情報を複製します。 このデータは、次の 2 つの一般カテゴリーに入ります。
  • ダイアログに関連付けられた SIP コンテナーの内部状態情報。
  • さまざまなセッション・オブジェクトに関連付けられたアプリケーションの状態情報。

カテゴリーにはさまざまなデータ型が含まれており、これらについては後述します。 複製の観点から、各データ・オブジェクトは別個に扱います。 言い換えると、アプリケーション・セッション・オブジェクトに対する変更 (複製の原因となる) は、 内部状態情報の複製をもたらすことはありません。

内部状態情報の複製

内部状態情報は、 コンテナーによって処理されているダイアログの状態に関連したものとして定義できます。 cseq、ダイアログ状態 (initial、early、confirmed、terminated)、 (initial, early, confirmed, terminated), セッションの有効期限、ローカル、リモート・パーティーなどが含まれています。 内部状態情報は、ダイアログの存在により複製のみ行われます。 したがって、SIP 関連の内部データは、関連付けられているダイアログが確立するまでは複製されません。 ダイアログの作成の原因となる SIP 要求のタイプは、以下のとおりです。
  • INVITE
  • SUBSCRIBE
  • REFER
内部状態の複製は、コール・フローの明確であり、予測可能なポイントで行われます。 例えば、ダイアログは、2xx 応答または「To」タグ付きの 1xx 応答が、上記のメソッド・タイプの 1 つにより送受信されるときに、コンテナーでのみ確立されます。 内部状態の複製を引き起こすイベントには、下記があります。
  • 新規 SIP ダイアログの作成
  • セッションのタイムアウトによるセッションの有効期限切れ
  • UAC への最終応答の送信
  • エンコード URI の作成
  • 内部ダイアログ状態の変更の原因となるメッセージの処理

トランザクション状態は、 WebSphere Application Server 6.1 バージョンの SIP コンテナーでは複製されないことに注意してください。複製されるのは、ダイアログ状態のみです。 トランザクション状態を複製しないことにより、 複製ドメインのすべてのサーバーで負荷が軽減されますが、 トランザクションの半ばに発生する障害問題の原因となる場合があります (例えば、ダイアログ関連の SIP メッセージの欠落など)。

B2BUA とプロキシー・アプリケーション間の重要な相違は、 作成され、複製されるセッション・オブジェクト数です。 どちらの場合も アプリケーション・セッションは 1 つしか作成されませんが、B2BUA の場合は、2 つのセッション・オブジェクトが 作成されます。1 つはインバウンド・レグ用、もう 1 つはアウトバウンド・レグ用です。 プロキシー・アプリケーションの場合は、単一セッション・オブジェクトのみが作成されます。

アプリケーション状態情報の複製

アプリケーション状態情報は、内部のダイアログ状態情報とは異なる扱いをされます。 それは、複製するダイアログの存在に左右されるからです。 アプリケーションの状態は、 JSR 116 データ構成体の使用によりアプリケーションによって保守されているデータを参照します。 これには、以下のものがあります。
  • javax.servlet.sip.SipApplicationSession
  • javax.servlet.sip.SipSession
  • javax.servlet.sip.ServletTimer
  • SipSession または SipApplicationSession に設定されている属性
内部状態の複製はコール・フロー内で明確であり、予測可能なポイントで発生するが、 アプリケーション状態の複製は予測することが困難です。それは、一般に、アプリケーションが JSR 116 API を使用してセッション・データおよびタイマーを作成、無効化、および変更を行う時期に依存しているためです。 この場合は、インバウンド・メッセージの処理または SIP タイマーの期限切れに起因します。 以下のすべては、アプリケーションに関連したセッション・データの複製の原因となります。
  • アプリケーション・セッション・オブジェクトの作成
  • SIP セッション・オブジェクトの作成
  • SIP セッション・タイマーの作成
  • setAttribute または removeAttribute によるセッション・オブジェクトの変更
  • SIP セッション・オブジェクトの無効化
  • セッション・タイマーの期限切れ
  • 要求を出すアプリケーション・コード *

    * 「最終アクセスのタイム・スタンプ」をクラスターのピア・コンテナー (複数可) と同期させるために、SipSession および SipApplicationSession の複製の原因となります。 これは、SipSession.getLastAccessedTime() および SipApplicationSession.getLastAccessedTime() に対して、将来の呼び出しの整合性をとるためのものです。

アプリケーションが request.getApplicationSession(true) を呼び出す場合と、 addTimer() および/または addAttribute() が結果であるアプリケーション・セッション・オブジェクトで 呼び出される場合は、ダイアログを確立していない要求に対して複製が発生する可能性があります。 これは、タイマーが期限切れになるときにリスナーが呼び出されるようにするために必要です。

SIP フェイルオーバーおよび複製のセットアップの考慮事項

複製およびフェイルオーバーを必要とする SIP クラスターは、 数多くの複製ドメインから構成することができます。また、それぞれの複製ドメインは、SIP コンテナーのセットで構成されています。 クラスターのコンテナー数には制限がありません。 パフォーマンス上の理由で、各複製ドメインに含めるコンテナーは、2 つに制限します。

複製ドメインは、ドメイン全体に設定する必要があります。つまり、状態は、 複製ドメインのすべてのコンテナーに複製されます。 複製モードは、クライアントとサーバーの両方に設定する必要があります。

コンテナーの分散セッションは、メモリー間の複製に設定する必要があります。 セッションの複製を必要とするアプリケーションには、 web.xml ファイルおよび sip.xml ファイルに <distributable/> タグが 含まれていなければなりません。SIP と HTTP の両方は、同一の複製トポロジーを使用しています。

複製ドメインのセットアップ
  1. 「複製ドメイン」パネルで、 「新規」を選択します。
  2. 次のパネルの「レプリカの数」 の下で、 「ドメイン全体」を選択します。
  3. 次のパネルの「コンテナー設定」 の下で、 「セッション管理」 を選択します。
  4. 次のパネルの「追加プロパティー」 の下で、「分散環境設定」 を選択します。
  5. 次のパネルで、「メモリー間の複製」を選択します。
  6. 次のパネルで、「複製モード」 「クライアントとサーバーの両方」 に設定します。
  7. 「メモリー間の複製」 は、保管後に有効になります。
SIP セッション複製トポロジー
  • 各メンバーは、すべての状態データを、その複製ドメインのあらゆるピアに複製します。
  • 各複製ドメインは、理想としては 2 サーバーにします。
  • 障害が発生すると、コア・グループのコーディネーターは、アクティブにするメンバーと、アクティブ・セッションの一部になるメンバーを通知します。



関連概念
SIP の高可用性
関連タスク
すべての SIP トピックをブラウズする
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 8:28:52 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/tsip_sessionrep.html