(57)【特許請求の範囲】
【請求項１】
SIPクライアントとSIPサーバとを有するSIP通信システムであって、
前記SIPクライアントは、
所定のデータを要求するデータ要求を前記SIPサーバに送信する送信手段と、
前記SIPサーバから前記データの分割データをSIPデータとして受信する受信手段と、
前記受信手段が受信した各分割データを記憶する記憶手段と、
前記記憶手段に記憶された分割データから元のデータを再構成する再構成手段と、を有し、
前記SIPサーバは、
前記SIPクライアントから前記データ要求を受信する受信手段と、
前記要求されたデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する分割手段と、
各分割データが最後の分割データか否かを判別する判別手段と、
前記判別手段が最後の分割データでないと判別した場合は未送信の分割データが存在することを示すサーバ側テンポラリキーを当該分割データに付加するとともに、最後の分割データであると判別した場合は前記サーバ側テンポラリキーを当該分割データに付加することなく、各分割データをSIPデータとして前記SIPクライアントに送信する送信手段と、を有し、
前記SIPクライアントの前記再構成手段は、前記サーバ側テンポラリキーが付加されていない分割データを受信した場合に、前記記憶手段に記憶された分割データから元のデータを再構成し、
前記SIPクライアントの前記送信手段は、前記サーバ側テンポラリキーが付加されている分割データを受信した場合に、当該分割データを受信したセッションとは別のセッションで、次の分割データを要求するためのデータ要求を前記SIPサーバに送信すること
を特徴とするSIP通信システム。
【請求項２】
請求項１に記載のSIP通信システムであって、
前記SIPサーバは、前記サーバ側テンポラリキーを生成するテンポラリキー生成手段を、さらに有すること
を特徴とするSIP通信システム。
【請求項３】
請求項１または請求項２に記載のSIP通信システムであって、
前記SIPクライアントは、
次の分割データを要求するためのクライアント側テンポラリキーを生成するテンポラリキー生成手段と、
前記受信手段が受信した分割データに前記サーバ側テンポラリキーが付加されているか否かを判別する判別手段と、をさらに有し、
前記送信手段は、前記判別手段が前記分割データに前記サーバ側テンポラリキーが付加されていると判別した場合、次の分割データを要求するためのデータ要求を前記クライアント側テンポラリキーとともに前記SIPサーバに送信すること
を特徴とするSIP通信システム。
【請求項４】
請求項３に記載のSIP通信システムであって、
前記サーバ側テンポラリキーおよび前記クライアント側テンポラリキーは、それぞれ固定値または変動値であること
を特徴とするSIP通信システム。
【請求項５】
SIPサーバと通信するSIPクライアントであって、
所定のデータを要求するデータ要求を前記SIPサーバに送信する送信手段と、
前記要求したデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割した複数の分割データの各々を、SIPデータとして前記SIPサーバから受信する受信手段と、
前記受信手段が受信した各分割データを記憶する記憶手段と、
前記受信手段が受信した分割データに、未送信の分割データが存在することを示すサーバ側テンポラリキーが付加されているか否かを判別する判別手段と、
前記判別手段が前記分割データに前記サーバ側テンポラリキーが付加されていると判別した場合、次の分割データを要求するためのクライアント側テンポラリキーを生成するテンポラリキー生成手段と、
前記記憶手段に記憶された分割データから元のデータを再構成する再構成手段と、を有し、
前記送信手段は、前記判別手段が前記分割データに前記サーバ側テンポラリキーが付加されていると判別した場合、当該分割データを受信したセッションとは別のセッションで、次の分割データを要求するためのデータ要求を前記クライアント側テンポラリキーとともに前記SIPサーバに送信し、
前記再構成手段は、前記判別手段が前記分割データに前記サーバ側テンポラリキーが付加されていないと判別した場合、前記記憶手段に記憶された分割データから元のデータを再構成すること
を特徴とするSIPクライアント。
【請求項６】
SIPクライアントと通信するSIPサーバであって、
前記SIPクライアントから所定のデータの要求を受信する受信手段と、
前記要求されたデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する分割手段と、
各分割データが最後の分割データか否かを判別する判別手段と、
前記判別手段が最後の分割データでないと判別した場合、未送信の分割データが存在することを示すサーバ側テンポラリキーを当該分割データに付加するとともに、最後の分割データであると判別した場合は前記サーバ側テンポラリキーを当該分割データに付加することなく、各分割データをSIPデータとして前記SIPクライアントに送信する送信手段と、を有し、
前記送信手段は、前記サーバ側テンポラリキーが含まれたデータ要求を前記SIPクライアントから受信した場合に、前回の分割データを送信したセッションとは別のセッションで、次の分割データを送信すること
を特徴とするSIPサーバ。
【請求項７】
SIPクライアントとSIPサーバとを有するSIP通信システムが行うSIP通信方法であって、
前記SIPクライアントは、
所定のデータを要求するデータ要求を前記SIPサーバに送信する送信ステップと、
前記SIPサーバから前記データの分割データをSIPデータとして受信し、記憶部に記憶する受信ステップと、
前記記憶部に記憶された分割データから元のデータを再構成する再構成ステップと、を行い、
前記SIPサーバは、
前記SIPクライアントから前記データ要求を受信する受信ステップと、
前記データ要求で要求されたデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する分割ステップと、
各分割データが最後の分割データか否かを判別する判別ステップと、
前記判別ステップで最後の分割データでないと判別した場合は未送信の分割データが存在することを示すサーバ側テンポラリキーを当該分割データに付加し、最後の分割データであると判別した場合は前記サーバ側テンポラリキーを当該分割データに付加することなく、各分割データをSIPデータとして前記SIPクライアントに送信する送信ステップと、を行い、
前記SIPクライアントの再構成ステップは、前記サーバ側テンポラリキーが付加されていない分割データを受信した場合に、前記記憶部に記憶された分割データから元のデータを再構成し、
前記SIPクライアントの前記送信ステップは、前記サーバ側テンポラリキーが付加されている分割データを受信した場合に、当該分割データを受信したセッションとは別のセッションで、次の分割データを要求するためのデータ要求を前記SIPサーバに送信すること
を特徴とするSIP通信方法。
【請求項８】
SIPサーバと通信するSIPクライアントが実行するSIP通信プログラムであって、
前記SIPクライアントに、
所定のデータを要求するデータ要求を前記SIPサーバに送信するデータ要求送信ステップ、
前記要求したデータが所定のサイズを超える場合に当該データを所定のサイズ毎に分割した複数の分割データの各々を、SIPデータとして前記SIPサーバから受信し、記憶部に記憶する受信ステップ、
前記受信ステップで受信した分割データに、未送信の分割データが存在することを示すサーバ側テンポラリキーが付加されているか否かを判別する判別ステップ、
前記判別ステップで前記分割データに前記サーバ側テンポラリキーが付加されていると判別した場合、当該分割データを受信したセッションとは別のセッションで、次の分割データを要求するためのクライアント側テンポラリキーとともに次の分割データを要求するデータ要求を前記SIPサーバに送信する分割データ取得要求ステップ、
前記判別ステップで前記分割データに前記サーバ側テンポラリキーが付加されていないと判別した場合、前記記憶部に記憶された分割データから元のデータを再構成する再構成ステップ、
を実行させるためのSIP通信プログラム。
【請求項９】
SIPクライアントと通信するSIPサーバが実行するSIP通信プログラムであって、
前記SIPサーバに、
前記SIPクライアントから所定のデータの要求を受信する受信ステップ、
前記要求されたデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する分割ステップ、
各分割データが最後の分割データか否かを判別する判別ステップ、
前記判別ステップが最後の分割データでないと判別した場合、未送信の分割データが存在することを示すサーバ側テンポラリキーを当該分割データに付加するとともに、最後の分割データであると判別した場合は前記サーバ側テンポラリキーを当該分割データに付加することなく、各分割データをSIPデータとして前記SIPクライアントに送信する送信ステップ、を実行させ、
前記送信ステップは、前記サーバ側テンポラリキーが含まれたデータ要求を前記SIPクライアントから受信した場合に、前回の分割データを送信したセッションとは別のセッションで、次の分割データを送信すること
を特徴とするSIP通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、SIP（Session Initiation Protocol）を用いて大容量のデータを送受するためのSIP通信技術に関する。
【背景技術】
【０００２】
大容量のデータを１つのメッセージで送信しようとした場合、中継ノードを含め当該メッセージを送受信する個々のノードにおいて、当該メッセージが属するレイヤにおけるバッファサイズをメッセージの最大サイズに合わせて拡大するか、または動的にメッセージのサイズに対応できるように可変にバッファサイズを設定可能とすることで対応している（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−７２６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
送信対象のメッセージをSIPとした場合、通常の呼処理では情報量が小さく、大きなバッファイサイズを必要としない。このため、SIPレイヤでのバッファサイズを拡大してしまうと、通常の呼処理に影響を与え、呼処理性能を低下させてしまうという問題がある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、SIPによる呼処理の処理性能を維持しつつ、SIPを用いて大容量のデータをより効率的に送受信することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は、SIPクライアントとSIPサーバとを有するSIP通信システムであって、前記SIPクライアントは、所定のデータを要求するデータ要求を前記SIPサーバに送信する送信手段と、前記SIPサーバから前記データの分割データをSIPデータとして受信する受信手段と、前記受信手段が受信した各分割データを記憶する記憶手段と、前記記憶手段に記憶された分割データから元のデータを再構成する再構成手段と、を有し、前記SIPサーバは、前記SIPクライアントから前記データ要求を受信する受信手段と、前記要求されたデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する分割手段と、各分割データが最後の分割データか否かを判別する判別手段と、前記判別手段が最後の分割データでないと判別した場合は未送信の分割データが存在することを示すサーバ側テンポラリキーを当該分割データに付加するとともに、最後の分割データであると判別した場合は前記サーバ側テンポラリキーを当該分割データに付加することなく、各分割データをSIPデータとして前記SIPクライアントに送信する送信手段と、を有し、前記SIPクライアントの前記再構成手段は、前記サーバ側テンポラリキーが付加されていない分割データを受信した場合に、前記記憶手段に記憶された分割データから元のデータを再構成し、前記SIPクライアントの前記送信手段は、前記サーバ側テンポラリキーが付加されている分割データを受信した場合に、当該分割データを受信したセッションとは別のセッションで、次の分割データを要求するためのデータ要求を前記SIPサーバに送信する。
【０００７】
本発明は、SIPサーバと通信するSIPクライアントであって、所定のデータを要求するデータ要求を前記SIPサーバに送信する送信手段と、前記要求したデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割した複数の分割データの各々を、SIPデータとして前記SIPサーバから受信する受信手段と、前記受信手段が受信した各分割データを記憶する記憶手段と、前記受信手段が受信した分割データに、未送信の分割データが存在することを示すサーバ側テンポラリキーが付加されているか否かを判別する判別手段と、前記判別手段が前記分割データに前記サーバ側テンポラリキーが付加されていると判別した場合、次の分割データを要求するためのクライアント側テンポラリキーを生成するテンポラリキー生成手段と、前記記憶手段に記憶された分割データから元のデータを再構成する再構成手段と、を有し、前記送信手段は、前記判別手段が前記分割データに前記サーバ側テンポラリキーが付加されていると判別した場合、当該分割データを受信したセッションとは別のセッションで、次の分割データを要求するためのデータ要求を前記クライアント側テンポラリキーとともに前記SIPサーバに送信し、前記再構成手段は、前記判別手段が前記分割データに前記サーバ側テンポラリキーが付加されていないと判別した場合、前記記憶手段に記憶された分割データから元のデータを再構成する。
【０００８】
本発明は、SIPクライアントと通信するSIPサーバであって、前記SIPクライアントから所定のデータの要求を受信する受信手段と、前記要求されたデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する分割手段と、各分割データが最後の分割データか否かを判別する判別手段と、前記判別手段が最後の分割データでないと判別した場合、未送信の分割データが存在することを示すサーバ側テンポラリキーを当該分割データに付加するとともに、最後の分割データであると判別した場合は前記サーバ側テンポラリキーを当該分割データに付加することなく、各分割データをSIPデータとして前記SIPクライアントに送信する送信手段と、を有し、前記送信手段は、前記サーバ側テンポラリキーが含まれたデータ要求を前記SIPクライアントから受信した場合に、前回の分割データを送信したセッションとは別のセッションで、次の分割データを送信する。
【０００９】
本発明は、SIPクライアントとSIPサーバとを有するSIP通信システムが行うSIP通信方法であって、前記SIPクライアントは、所定のデータを要求するデータ要求を前記SIPサーバに送信する送信ステップと、前記SIPサーバから前記データの分割データをSIPデータとして受信し、記憶部に記憶する受信ステップと、前記記憶部に記憶された分割データから元のデータを再構成する再構成ステップと、を行い、前記SIPサーバは、前記SIPクライアントから前記データ要求を受信する受信ステップと、前記データ要求で要求されたデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する分割ステップと、各分割データが最後の分割データか否かを判別する判別ステップと、前記判別ステップで最後の分割データでないと判別した場合は未送信の分割データが存在することを示すサーバ側テンポラリキーを当該分割データに付加し、最後の分割データであると判別した場合は前記サーバ側テンポラリキーを当該分割データに付加することなく、各分割データをSIPデータとして前記SIPクライアントに送信する送信ステップと、を行い、前記SIPクライアントの再構成ステップは、前記サーバ側テンポラリキーが付加されていない分割データを受信した場合に、前記記憶部に記憶された分割データから元のデータを再構成し、前記SIPクライアントの前記送信ステップは、前記サーバ側テンポラリキーが付加されている分割データを受信した場合に、当該分割データを受信したセッションとは別のセッションで、次の分割データを要求するためのデータ要求を前記SIPサーバに送信する。
【００１０】
本発明は、SIPサーバと通信するSIPクライアントが実行するSIP通信プログラムであって、前記SIPクライアントに、所定のデータを要求するデータ要求を前記SIPサーバに送信するデータ要求送信ステップ、前記要求したデータが所定のサイズを超える場合に当該データを所定のサイズ毎に分割した複数の分割データの各々を、SIPデータとして前記SIPサーバから受信し、記憶部に記憶する受信ステップ、前記受信ステップで受信した分割データに、未送信の分割データが存在することを示すサーバ側テンポラリキーが付加されているか否かを判別する判別ステップ、前記判別ステップで前記分割データに前記サーバ側テンポラリキーが付加されていると判別した場合、当該分割データを受信したセッションとは別のセッションで、次の分割データを要求するためのクライアント側テンポラリキーとともに次の分割データを要求するデータ要求を前記SIPサーバに送信する分割データ取得要求ステップ、前記判別ステップで前記分割データに前記サーバ側テンポラリキーが付加されていないと判別した場合、前記記憶部に記憶された分割データから元のデータを再構成する再構成ステップ、を実行させるためのSIP通信プログラムである。
【００１１】
本発明は、SIPクライアントと通信するSIPサーバが実行するSIP通信プログラムであって、前記SIPサーバに、前記SIPクライアントから所定のデータの要求を受信する受信ステップ、前記要求されたデータが所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する分割ステップ、各分割データが最後の分割データか否かを判別する判別ステップ、前記判別ステップが最後の分割データでないと判別した場合、未送信の分割データが存在することを示すサーバ側テンポラリキーを当該分割データに付加するとともに、最後の分割データであると判別した場合は前記サーバ側テンポラリキーを当該分割データに付加することなく、各分割データをSIPデータとして前記SIPクライアントに送信する送信ステップ、を実行させ、前記送信ステップは、前記サーバ側テンポラリキーが含まれたデータ要求を前記SIPクライアントから受信した場合に、前回の分割データを送信したセッションとは別のセッションで、次の分割データを送信する。
【発明の効果】
【００１２】
本発明によれば、SIPによる呼処理の処理性能を維持しつつ、SIPを用いて大容量のデータをより効率的に送受信することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るSIP通信システムの構成図である。
【図２】SIPクライアントの構成を示すブロック図である。
【図３】SIPサーバの構成を示すブロック図である。
【図４】SIP通信システムの動作を示すシーケンス図である。
【図５】SIP通信システムの動作を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１５】
図１は、本発明の実施形態に係るSIP通信システムの一例を示す構成図である。図示するSIP通信システムは、ユーザ端末装置１と、SIPクライアント３と、中継SIPサーバ４１、４２と、SIPサーバ５とを有する。SIPクライアント３は、ユーザ端末装置１および中継SIPサーバ４１と接続され、SIPサーバ５は、中継SIPサーバ４２と接続されている。
【００１６】
ユーザ端末装置１は、ユーザが操作する端末装置であって、サービス網２に各種のサービスを要求する。サービス網２は、SIPクライアント３、中継SIPサーバ４１、４２およびSIPサーバ５を含み、ユーザに所定のサービスを提供する網（ネットワーク）である。
【００１７】
SIPクライアント３は、ユーザ端末装置１からの要求を受信すると、SIPサーバ５から要求された情報・データを取得し、ユーザ端末装置１の要求を処理する。中継SIPサーバ４１、４２は、SIPクライアント３とSIPサーバ５が送受信するSIPメッセージを中継する。SIPサーバ５は、SIPクライアント３からの要求に対して応答する。
【００１８】
本実施形態は、SIPによる呼処理の処理性能を維持しつつSIPを用いて大容量のデータを送受信するため、データ送信側のSIPサーバ５では、SIPレイヤで大容量のデータを所定のサイズで分割した分割データのSIPメッセージを送信し、データ受信側のSIPクライアント３では、受信した複数の分割データのSIPメッセージから元のデータを再構成する。
【００１９】
図１に示すサービス網２の場合において、SIPクライアント３、中継SIPサーバ４１、４２およびSIPサーバ５のSIPレイヤにおける各バッファサイズは、図示するようにＡ、Ｂ、Ｃ、Ｄであり、Ａ＝Ｄ＞Ｂ＞Ｃの関係にあるものとする。この場合、サービス網２の通信系路上の全ての装置３、４１、４２、５の中で最も小さいバッファサイズＣを所定のサイズとし、当該サイズに分割してデータを送受信する。
【００２０】
図２は、図１のSIP通信システムにおけるSIPクライアント３の構成例を示す図である。なお、図２では、本発明に関係する部分のみを概念的に示している。
【００２１】
図示するSIPクライアント３は、HTTPメッセージ送受信部３１と、アプリケーション部３２と、SIPメッセージ送受信部３３と、テンポラリキー付与部３４と、SIPメッセージ再構成部３５と、セッション制御部３６と、記憶部３７と、を有する。
【００２２】
HTTPメッセージ送受信部３１は、HTTPによるユーザ端末装置１からの要求を受信し、当該要求をアプリケーション部３２に送出するとともに、アプリケーション部３２からの応答をユーザ端末装置１にHTTPにより送信する。
【００２３】
SIPメッセージ送受信部３３は、所定のデータを要求するデータ要求をSIPメッセージとしてSIPサーバ５に送信とともに、要求したデータが所定のサイズを超える場合に所定のサイズ毎に分割された分割データのSIPメッセージをSIPサーバ５から受信する。セッション制御部３６は、SIPメッセージ送受信部３３の指示によりSIPメッセージを生成する。
【００２４】
テンポラリキー付与部３４は、アプリケーション部３２からの指示により、UACテンポラリキーを生成する。UACテンポラリキーは、次の分割データを要求することを示すものである。
【００２５】
SIPメッセージ再構成部３５は、記憶部３７に記憶された分割データから元のデータを再構成する。
【００２６】
アプリケーション部３２は、他の各部３１、３３〜３７を制御する。また、アプリケーション部３２は、SIPメッセージ送受信部３３が受信した分割データに、未送信の分割データが存在することを示すサーバ側テンポラリキーが付加されているか否かを判別し、サーバ側テンポラリキーが付加されている場合は、クライアント側テンポラリキーを付加したデータ要求をSIPメッセージ送受信部３３に送信させる。また、アプリケーション部３２は、サーバ側テンポラリキーが付加されていない場合、SIPメッセージ再構成部３５に分割データから元のデータを再構成させる。
【００２７】
記憶部３７には、SIPメッセージ送受信部３３が受信した分割データが記憶される。
【００２８】
図３は、図１のSIP通信システムにおけるSIPサーバ５の構成例を示す図である。なお、図３では、本発明に関係する部分のみを概念的に示している。
【００２９】
SIPサーバ５は、SIPメッセージ送受信部５１と、アプリケーション部５２と、セッション制御部５３と、ユーザデータ蓄積部５４と、SIPメッセージ分割部５５と、テンポラリキー付与部５６と、記憶部５７と、を有する。
【００３０】
SIPメッセージ送受信部５１は、SIPクライアント３からのSIPメッセージによるデータ要求を受信するとともに、要求されたデータが所定のサイズを超える場合、当該サイズで分割された分割データをSIPメッセージとしてSIPクライアント３に送信する。セッション制御部５３は、SIPメッセージ送受信部５１の指示によりSIPメッセージを生成する。
【００３１】
SIPメッセージ分割部５５は、要求されたデータが記憶部５７に記憶された所定のサイズを超える場合に、当該データを所定のサイズ毎に分割し、複数の分割データを生成する。
【００３２】
テンポラリキー付与部５６は、アプリケーション部５２からの指示により、UASテンポラリキーを生成する。UASテンポラリキーは、未送信の分割データが存在することを示すためのものである。
【００３３】
アプリケーション部５２は、他の各部５１、５３〜５７を制御する。また、アプリケーション部５２は、送信すべき各分割データが最後の分割データか否かを判別し、最後の分割データでないと判別した場合、サーバ側テンポラリキーを当該分割データに付加したSIPメッセージをSIPメッセージ送受信部５１に送信させるとともに、最後の分割データであると判別した場合はサーバ側テンポラリキーを付加しない分割データのSIPメッセージをSIPメッセージ送受信部５１に送信させる。
【００３４】
ユーザデータ蓄積部５５には、各ユーザに関するデータが蓄積されている。
【００３５】
上記説明したSIPクライアント３およびSIPサーバ５は、例えば、ＣＰＵと、メモリと、ＨＤＤ等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、SIPクライアント３およびSIPサーバ５の各機能は、SIPクライアント３用のプログラムの場合はSIPクライアント３のＣＰＵが、そして、SIPサーバ５用のプログラムの場合はSIPサーバ５のＣＰＵがそれぞれ実行することにより実現される。
【００３６】
また、SIPクライアント３用のプログラムおよびSIPサーバ５用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００３７】
次に、本実施形態のSIP通信システムの動作の概要を説明する。
【００３８】
ここでは、ユーザ端末装置１がサービス網２のサービス条件の設定変更を行う際に、HTTPを用いてSIPクライアント３に設定変更要求を送信し、SIPクライアント３はSIPを用いてSIPサーバ５にユーザデータを要求し、SIPサーバ５は、ユーザデータを所定のサイズに分割してSIPを用いてSIPクライアント３に送信し、SIPクライアント３は分割データからユーザデータを再構成しユーザ端末装置１へ送信する動作を例に説明する。この動作例では、ユーザデータは３つの分割データに分割され、送受信されるものとする。
【００３９】
まず、SIPクライアント３は、ユーザ端末装置１からサービス条件設定変更要求を受信し、ユーザデータ取得のため、第一のセッションとしてリクエスト（１）をSIPサーバ５に送信する（ステップB1）。
【００４０】
SIPサーバ５は、ユーザデータ蓄積部５４から取得したユーザデータが予め定められたSIPメッセージの送信バッファサイズ（所定のサイズ）より大きい場合、当該送信バッファサイズにデータを分割し、分割データにUASテンポラリキーを付与して、SIPクライアント３にレスポンス（１）を送信する（ステップB2）。
【００４１】
SIPクライアント３は、レスポンス（１）にUASテンポラリキーが付与されているため、分割データによる分割送信と判別し、後続の分割データを要求するため、レスポンス（１）で受信したUASテンポラリキーと自ら払い出したUACテンポラリキーを付与して、第一のセッションとは別の第二のセッションのリクエスト（２）をSIPサーバ５に送信する（ステップB3）。
【００４２】
SIPサーバ５は、リクエスト（２）にUASテンポラリキーが付与されているため、分割送信と判別し、付与されたUASテンポラリキーに該当する後続の分割データを送信する。この時、さらに後続のユーザデータがあることを示すために、前回のセッションと同一の（すなわち、リクエスト（２）で受信した）UASテンポラリキーとUACテンポラリキーとを分割データに付与してレスポンス（２）でSIPクライアント３に送信する（ステップB4）。
【００４３】
SIPクライアント３は、レスポンス（２）にUASテンポラリキーが付与されているため、分割送信と判別し、後続のユーザデータを要求するため、レスポンス（２）で受信したUASテンポラリキーとUACテンポラリキーを付与して、第一、第二とは別の第三のセッションのリクエスト（３）をSIPサーバ５に送信する（ステップB5）。
【００４４】
SIPサーバ５は、リクエスト（３）にUASテンポラリキーが付与されているため、分割送信と判別し、付与されたUASテンポラリキーに該当する後続の分割データを送信する。ただし、SIPサーバ５は、後続の分割データの有無を確認し、この場合、後続に分割データがないため、UASテンポラリキーは付与せず、UACテンポラリキーのみを付与してレスポンス（３）でSIPクライアント３に送信する（ステップB6）。
【００４５】
SIPクライアント３は、レスポンス（３）にUASテンポラリキーが付与されていないため、後続の分割データはないと判別し、受信した複数の分割データから元のユーザデータを再構成し、要求元のユーザ端末装置１に送信する。
【００４６】
なお、以上説明した動作例では、UASテンポラリキーおよびUACテンポラリキーは、１つのユーザデータから分割された複数の分割データを送受信する間はそれぞれ所定の固定値を用いることとしたが、１つのユーザデータから分割された各分割データ毎にUASテンポラリキーおよびUACテンポラリキーをランダムに変化させた変動値を用いることとしてもよい。
【００４７】
図４は、UASテンポラリキーおよびUACテンポラリキーが固定値の場合における、本実施形態の動作の詳細を示すシーケンス図である。なお、図４では、中継SIPサーバ４１、４２を図示していないが、SIPクライアント３とSIPサーバ５とは、中継SIPサーバ４１、４２を介してデータの送受信を行うものとする。
【００４８】
S1：SIPクライアント３のアプリケーション部３２は、ユーザ端末装置１からの要求を受信すると、SIPサーバ５へデータを要求するため、SIPメッセージ送受信部３３に少なくとも要求先のSIPサーバ５と、要求するデータ名（データ識別情報）とを含むデータ要求を送出する。
【００４９】
S2：SIPメッセージ送受信部３３は、アプリケーション部３２からのデータ要求を受け付け、当該データ要求に含まれる情報をセッション制御部３６に送出し、セッション制御部３６を用いて当該データ要求で指定されたデータ名を含むセッションAのリクエストを生成し、当該データ要求で指定されたSIPサーバ５へ、SIPメッセージの形式でデータ要求のリクエストを送信する。また、SIPメッセージ送受信部３３は、データ要求元アプリケーション部３２と、セッションAとを関連付けて、記憶部３７に記憶する。
【００５０】
S3：SIPサーバ５のSIPメッセージ送受信部５１は、SIPクライアント３からセッションAのデータ要求を受信し、当該データ要求を識別する識別子（以下、「データ要求識別子」という。）と、受信したデータ要求をアプリケーション部５２へ送出する。また、SIPメッセージ送受信部５１は、セッションAと、アプリケーション部５２と、データ要求識別子とを関連付けて記憶部５７に記憶する。
【００５１】
S4：アプリケーション部５２は、データ要求で要求されたデータを、ユーザデータ蓄積部５４から取得する。
【００５２】
S5：アプリケーション部５２は、取得したデータが分割を要する容量か否かを判別する。すなわち、所定のバッファサイズを越える容量か否かを判別する。なお、所定のバッファサイズは、記憶部５７にあらかじめ記憶されている。アプリケーション部５２は、取得したデータが分割を要する容量の場合（所定のバッファサイズを越える場合）、当該データをSIPメッセージ分割部５５に送出する。
【００５３】
S6：SIPメッセージ分割部５５は、受け付けたデータを所定のデータ量（バッファサイズ）に分割し、アプリケーション部５２へ送出する。
【００５４】
S7：アプリケーション部５２は、分割されたデータ（以下、「分割データ」という。）の各々の順序性を担保する。
【００５５】
S8：アプリケーション部５２は、データが分割された場合、これらの分割データを送信する際に付与するUASテンポラリキーをテンポラリキー付与部５６に要求する。
【００５６】
S9：テンポラリキー付与部５６は、所定のアルゴリズムによりUASテンポラリキーを生成し、アプリケーション部５２へ送出する。
【００５７】
S10：アプリケーション部５２は、付与されたUASテンポラリキーを用いて、分割データを管理し、未送信の分割データの中で最も早く送信すべき分割データ（早い順番の分割データ）と、UASテンポラリキーと、データ要求識別子とを含む情報をSIPメッセージ送受信部５１へ送出する 。
【００５８】
S11：SIPメッセージ送受信部５１は、記憶部５７を参照し、当該情報を送出したアプリケーション部５２と、データ要求識別子とから、セッションAに対するレスポンスであることを判別する。そして、SIPメッセージ送受信部５１は、送信すべき分割データと、UASテンポラリキーとを含むレスポンスを送信するために、セッション制御部５３を用いてセッションAへのレスポンスを生成し 、SIPクライアント３へSIPメッセージの形式でセッションAへのレスポンスを送信する。
【００５９】
S12：SIPクライアント３のSIPメッセージ送受信部３３は、セッションAのレスポンスを受信すると、記憶部３７を参照してセッションAに関連付けたデータ要求元のアプリケーション部３２へ当該レスポンスを送出する。 
S13：アプリケーション部３２は、UASテンポラリキーを含むレスポンスを受信した場合は、後続の分割データがあると判別する。
【００６０】
S14：アプリケーション部３２は、UACテンポラリキーを既に取得しているか否かを判別し、UACテンポラリキーを取得していない場合、後続の分割データを取得してデータを再構築するために、テンポラリキー付与部３４にUACテンポラリキーの払出を要求する。
【００６１】
S15：テンポラリキー付与部３４は、所定のアルゴリズムによりUACテンポラリキーを生成し アプリケーション部３２へ送出する。
【００６２】
S16：アプリケーション部３２は、払い出されたUACテンポラリキーを記憶部３７に記憶するとともに、UACテンポラリキーと対応付けて分割データを受信した順に記憶部３７に記憶する。
【００６３】
S17：アプリケーション部３２は、SIPメッセージ送受信部３３に、要求先のSIPサーバ、UASテンポラリキー、UACテンポラリキーを含むデータ要求を送出する。
【００６４】
S18：SIPメッセージ送受信部３３は、アプリケーション部３２からのデータ要求を受け付け、セッション制御部３６を用いて当該データ要求で指定されたUASテンポラリキーおよびUACテンポラリキーを含むセッションBのリクエストを生成し、当該データ要求で指定されたSIPサーバ５へ、SIPメッセージの形式でデータ要求のリクエストを送信する。また、SIPメッセージ送受信部３３は、データ要求元アプリケーション部５２とセッションBとを関連付けて記憶部３７に記憶する。
【００６５】
S19：SIPサーバ５のSIPメッセージ送受信部５１は、SIPクライアント３からのセッションBのデータ要求のリクエストを受信し、当該データ要求を識別する新たな識別子と、データ要求とをアプリケーション部５２へ送出する。また、SIPメッセージ送受信部５１は、セッションBと、アプリケーション部５２と、データ要求識別子とを関連付けて記憶部５７に記憶する。
【００６６】
S20：アプリケーション部５２は、データ要求の中にUASテンポラリキーが含まれているか否かを判別する。
【００６７】
S21：アプリケーション部５２は、UASテンポラリキーが含まれている場合、当該UASテンポラリキーに関連付けて記憶部５７に管理されている未送信の分割データの中で最も早く送信すべき分割データが最後の分割データか否かを判別する。最後の分割データでない場合、アプリケーション部５２は、当該UASテンポラリキーに関連付けて管理されている未送信の分割データの中で最も早く送信すべき分割データと、UASテンポラリキーと、受信したUACテンポラリキーと、データ要求識別子とを含む情報をSIPメッセージ送受信部５１へ送出する。
【００６８】
S22：SIPメッセージ送受信部５１は、記憶部５７を参照し、送信したアプリケーション部５２とデータ要求識別子とから、セッションBへのレスポンスであることを判別し、分割データと、UASテンポラリキーと、UACテンポラリキーとを含むレスポンスを送信するためにセッション制御部５３にセッションBへのレスポンスを生成させ、SIPクライアント３へSIPメッセージの形式でセッションBへのレスポンスを送信する。
【００６９】
S23：SIPクライアント３のSIPメッセージ送受信部３３は、セッションBのレスポンスを受信すると、記憶部３７を参照してセッションBに関連付けたデータ要求元のアプリケーション部３２へ送出する。 
S24：アプリケーション部３２はUASテンポラリキーを含むレスポンスを受信した場合は、後続の分割データがあると判別する。 
S25：アプリケーション部３２は、当該UACテンポラリキーが記憶部３７に記憶されているか否かを判別する。
【００７０】
S26：アプリケーション部３２は、当該UACテンポラリキーが記憶部３７に記憶されている場合、当該UACテンポラリキーに対応して記憶されている分割データに継続する分割データとして、受信した分割データを記憶部３７に記憶する。
【００７１】
S27：アプリケーション部３２は、SIPメッセージ送受信部３３に、要求先のSIPサーバ、UASテンポラリキー、UACテンポラリキーを含むデータ要求を送出する。
【００７２】
S28：SIPメッセージ送受信部３３は、アプリケーション部３２からのデータ要求を受け付け、セッション制御部３６を用いてUASテンポラリキー、UACテンポラリキーを含むセッションCのリクエストを生成し、データ要求で指定されたSIPサーバ５へSIPメッセージの形式でリクエストを送信する。また、SIPメッセージ送受信部３３は、データ要求元アプリケーション部３２とセッションCとを関連付けて記憶部３７に記憶する。
【００７３】
S29：SIPサーバ５のSIPメッセージ送受信部５１は、SIPクライアント３からのセッションCのデータ要求のリクエストを受信し、当該データ要求を識別する新たなデータ要求識別子と、受信したリクエストとをアプリケーション部５２へ送出する。また、SIPメッセージ送受信部５１は、セッションCと、アプリケーション部５２と、データ要求識別子とを関連付けて記憶部５７に記憶する。
【００７４】
S30：アプリケーション部５２は、UASテンポラリキーがリクエストに含まれているか否かを判別する。
【００７５】
S31：アプリケーション部５２は、UASテンポラリキーが含まれている場合、当該UASテンポラリキーに関連付けて記憶部５７で管理されている未送信の分割データの中で最も早く送信すべき分割データが最後の分割データか否かを判別する。最後の分割データの場合、アプリケーション部５２は、最後の分割データと、受信したUACテンポラリキーと、データ要求識別子とを含む情報をSIPメッセージ送受信部５１へ送出する。このとき、最後の分割データであるため、UASテンポラリキーは含めないものとする。
【００７６】
S32：SIPメッセージ送受信部５１は、記憶部５７を参照し、送信元のアプリケーション部５２とデータ要求識別子とからセッションCへのレスポンスであることを判別し、最後の分割データと、受信したUACテンポラリキーを情報としてレスポンスを返すためにセッション制御部５３にセッションCへのレスポンスを生成させ、SIPクライアント３へSIPメッセージの形式でセッションCへのレスポンスを送信する。
【００７７】
S33：SIPクライアント３のSIPメッセージ送受信部３３は、セッションCのレスポンスを受信すると、記憶部３７を参照し、セッションCに関連付けたデータ要求元のアプリケーション部３２へ送出する。
【００７８】
S34：アプリケーション部３２は、UASテンポラリキーがレスポンスに含まれているか否かを判別する。
【００７９】
S35：アプリケーション部３２は、UACテンポラリキーの有無を判別し、UASテンポラリキーがなく、UACテンポラリキーのみがある場合、最後の分割データであると判別し、当該UACテンポラリキーに対応して記憶部３７に記憶している分割データに継続する最後のデータとして、受信した分割データを記憶部３７に記憶する。
【００８０】
S36：アプリケーション部３２は、SIPサーバ５から受信した各分割データを再構成するためにUACテンポラリキーに対応して記憶部３７に記憶している一連の分割データをSIPメッセージ再構成部３５に送出する。
【００８１】
S37：SIPメッセージ再構成部３５は、分割データを再構成して１つのデータとし、アプリケーション部３２へ送出する。アプリケーション部３２は、再構成されたデータを、ユーザ端末装置１に送信する。
【００８２】
図５は、分割データ毎にUASテンポラリキーおよびUACテンポラリキーをランダムに変化させた変動値を用いる場合の本SIP通信システムの動作を示すシーケンス図である。なお、図５では、中継SIPサーバ４１、４２を図示していないが、SIPクライアント３とSIPサーバ５とは、中継SIPサーバ４１、４２を介してデータの送受信を行うものとする。
【００８３】
S51からS70までは、図４のS1からS20までと同じであるため、ここでは説明を省略する。
【００８４】
S71：アプリケーション部５２は、データ要求の中にUASテンポラリキーが含まれている場合、記憶部５７を参照してセッションAで送信したUASテンポラリキーであることを確認する。また、アプリケーション部５２は、記憶部５７を参照して次に送信すべき未送信の分割データが最後の分割データか否かを判別する。最後の分割データでない場合、アプリケーション部５２は、後続の分割データがあることを示すために、新たなUASテンポラリキーの払い出しを、テンポラリキー付与部５６に要求する。
【００８５】
S72：テンポラリキー付与部５６は、所定のアルゴリズムによりUASテンポラリキーを生成し、アプリケーション部５２へ送出する。
【００８６】
S73：アプリケーション部５２は、付与されたUASテンポラリキーと、次に送信すべき分割データと、受信したUACテンポラリキーと、データ要求識別子とを含む情報をSIPメッセージ送受信部５１へ送出する。
【００８７】
S74：SIPメッセージ送受信部５１は、記憶部５７を参照し、送信したアプリケーション部５２とデータ要求識別子とから、セッションBへのレスポンスであることを判別し、分割データと、UASテンポラリキーと、UACテンポラリキーとを含むレスポンスを送信するためにセッション制御部５３にセッションBへのレスポンスを生成させ、SIPクライアント３へSIPメッセージの形式でセッションBへのレスポンスを送信する。
【００８８】
S75：SIPクライアント３のSIPメッセージ送受信部３３は、セッションBのレスポンスを受信すると、記憶部３７を参照してセッションBに関連付けたデータ要求元のアプリケーション部３２へ送出する。 
S76：アプリケーション部３２はUASテンポラリキーを含むレスポンスを受信した場合は、後続の分割データがあると判別する。 
S77：アプリケーション部３２は、当該UACテンポラリキーが記憶部３７に記憶されているか否かを判別し、当該UACテンポラリキーが記憶部３７に記憶されている場合、当該UACテンポラリキーに対応して記憶されている分割データに継続する分割データとして、受信した分割データを記憶部３７に記憶する。図示する例では、セッションAで受信した分割データと、セッションBで受信した分割データとを関連付けて記憶部３７に記憶する。
【００８９】
S78：アプリケーション部３２は、後続の分割データを要求するために、新たなUACテンポラリキーの払い出しを、テンポラリキー付与部３４に要求する。
【００９０】
S79：テンポラリキー付与部３４は、所定のアルゴリズムによりUACテンポラリキーを生成し、アプリケーション部３２へ送出する。アプリケーション部３２は、UACテンポラリキーと、既に受信し記憶部３７に記憶した分割データ（セッションAおよびセッションBの分割データ）とを関連付けて記憶部３７に記憶する。
【００９１】
S80：アプリケーション部３２は、SIPメッセージ送受信部３３に、要求先のSIPサーバ、UASテンポラリキー、UACテンポラリキーを含むデータ要求を送出する。
【００９２】
S81：SIPメッセージ送受信部３３は、アプリケーション部３２からのデータ要求を受け付け、当該データ要求に含まれる情報をセッション制御部３６に送出し、セッション制御部３６を用いてUASテンポラリキー、UACテンポラリキーを含むセッションCのリクエストを生成し、データ要求で指定されたSIPサーバ５へSIPメッセージの形式でリクエストを送信する。また、SIPメッセージ送受信部３３は、データ要求元アプリケーション部３２とセッションCとを関連付けて記憶部３７に記憶する。
【００９３】
S82：SIPサーバ５のSIPメッセージ送受信部５１は、SIPクライアント３からのセッションCのデータ要求のリクエストを受信し、当該データ要求を識別する新たなデータ要求識別子と、受信したリクエストとをアプリケーション部５２へ送出する。また、SIPメッセージ送受信部５１は、セッションCと、アプリケーション部５２と、データ要求識別子とを関連付けて記憶部５７に記憶する。
【００９４】
S83：アプリケーション部５２は、UASテンポラリキーがリクエストに含まれているか否かを判別する。
【００９５】
S84：アプリケーション部５２は、UASテンポラリキーが含まれている場合、記憶部５７を参照してセッションBで送信したUASテンポラリキーであることを確認する。また、アプリケーション部５２は、記憶部５７を参照して次に送信すべき未送信の分割データが最後の分割データか否かを判別する。最後の分割データの場合、アプリケーション部５２は、最後の分割データと、受信したUACテンポラリキーと、データ要求識別子とを含む情報をSIPメッセージ送受信部５１へ送出する。このとき、最後の分割データであるため、UASテンポラリキーは含めないものとする。
【００９６】
S85：SIPメッセージ送受信部５１は、記憶部５７を参照し、送信元のアプリケーション部５２とデータ要求識別子とからセッションCへのレスポンスであることを判別し、最後の分割データと、受信したUACテンポラリキーを情報としてレスポンスを返すためにセッション制御部５３にセッションCへのレスポンスを生成させ、SIPクライアント３へSIPメッセージの形式でセッションCへのレスポンスを送信する。
【００９７】
S86：SIPクライアント３のSIPメッセージ送受信部３３は、セッションCのレスポンスを受信すると、記憶部３７を参照し、セッションCに関連付けたデータ要求元のアプリケーション部３２へ送出する。
【００９８】
S87：アプリケーション部３２は、UASテンポラリキーがレスポンスに含まれているか否かを判別する。
【００９９】
S88：アプリケーション部３２は、UACテンポラリキーの有無を判別し、UASテンポラリキーがなく、UACテンポラリキーのみの場合、最後の分割データであると判別し、当該UACテンポラリキーを用いて、セッションAおよびセッションBの分割データと関連付けてセッションCで受信した分割データを最後の分割データとして記憶部３７に記憶する。
【０１００】
S89：アプリケーション部３２は、SIPサーバ５から受信した各分割データを再構成するためにUACテンポラリキーに対応して記憶部３７に記憶している一連の分割データをSIPメッセージ再構成部３５に送出する。
【０１０１】
S90：SIPメッセージ再構成部３５は、分割データを再構成して１つのデータとし、アプリケーション部３２へ送出する。アプリケーション部３２は、再構成されたデータを、ユーザ端末装置１に送信する。
【０１０２】
以上説明した本実施形態では、データ送信側（SIPサーバ５）では、所定のバッファサイズを越えるデータの場合、所定のバッファサイズで分割した分割データのSIPメッセージを送信し、データ受信側（SIPクライアント３）では、受信した複数の分割データのSIPメッセージから元のデータを再構成する。これにより、本実施形態では、SIPによる呼処理の処理性能を維持しつつ、SIPを用いて大容量のデータを効率的に送受信することができる。
【０１０３】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、SIPクライアント３−SIPサーバ５間で使用されるメソッドとしては、RFC3428で定義されるMESSAGEが最も適しているが、このメソッドに限定されることなく、その他のINFO、INVITE、NOTIFY、OPTIONS、PUBLISH、REFER、REGISTER、SUBSCRIBE、UPDATE等でもよい。また、body部がテキストかつユーザによる設定が可能であれば、いかなるメソッドでも利用可能である。
【０１０４】
また上記実施形態の図４および図５のシーケンスでは、UASテンポラリキーおよびUACテンポラリキーの両方が、固定値もしくは毎回ランダムに変更される変動値であったが、一方が固定値で他方が変動値となってもよい。
【０１０５】
また、固定値のテンポラリキーの場合、記憶部に記憶される分割データのデータ管理もテンポラリキーを元に行う場合を記載しているが、一旦、他の識別子と関連付け、データ管理は関連付けられた識別子で行うこととしてもよい。
【０１０６】
また、同様に、変動値のテンポラリキーの場合、テンポラリキーと関連付けられた識別子を生成し、当該識別子によるデータ管理を行うように記載しているが、新たにテンポラリキーを生成する毎に、直前のテンポラリキーで管理していたデータを、生成したテンポラリキーで管理するようにすることとしてもよい。
【符号の説明】
【０１０７】
１  ：ユーザ端末装置
３  ：SIPクライアント
３１：HTTPメッセージ送受信部
３２：アプリケーション部
３３：SIPメッセージ送受信部
３４：テンポラリキー付与部
３５：SIPメッセージ再構成部
３６：セッション制御部
３７：記憶部
４１、４２：中継SIPサーバ
５  ：SIPサーバ
５１：SIPメッセージ送受信部
５２：アプリケーション部
５３：セッション制御部
５４：ユーザデータ蓄積部
５５：SIPメッセージ分割部
５６：テンポラリキー付与部 
５７：記憶部
【図１】
0005406798.tif 000002
【図２】
0005406798.tif 000003
【図３】
0005406798.tif 000004
【図４】
0005406798.tif 000005
【図５】
0005406798.tif 000006