説明

情報処理装置、情報処理プログラム、情報処理方法

【課題】処理性能を低下させずに暫定レスポンスを送信する。
【解決手段】受信部11は、処理依頼要求を示すリクエスト信号を受信する。負荷判定部12は、自装置の処理負荷が閾値以上か否かを判定する。即時送信部13は、負荷判定部により処理負荷が閾値以上と判定された場合に、リクエスト信号が受信されると即時に、リクエスト信号の再送を停止させる暫定レスポンス信号をリクエスト信号の送信元に送信する。経過後送信部14は、負荷判定部により処理負荷が閾値未満と判定された場合に、リクエスト信号が受信されてから所定時間経過後に、暫定レスポンス信号を送信元に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理プログラム、情報処理方法に関する。
【背景技術】
【0002】
従来、IP(Internet Protocol)ネットワーク上で端末間をSIP(Session Initiation Protocol)を利用して接続するSIPサーバが利用されている。SIPサーバは、リクエスト及びレスポンスと呼ばれるSIP信号の送受信によって端末間の接続を制御する。レスポンスは、作業の進行状況を示すための暫定応答と、作業の完了を示すための最終応答に分類される。
【0003】
例えば、SIPサーバが、端末Aからの要求に応じて端末Bとの接続を制御する場合について説明する。SIPサーバは、端末Bとの接続を要求するINVITE信号を端末Aから受信した場合、受信したINVITE信号を端末Bへ転送する。INVITE信号を受信した端末Bは、端末Aのリクエストが成功したことを通知するレスポンスを作成し、作成したレスポンスをSIPサーバへ送信する。続いて、SIPサーバは、端末Bからのレスポンスを受信し、受信したレスポンスを端末Aへ転送する。レスポンスを受信した端末Aは、接続を確認するリクエストであるACK信号をSIPサーバへ送信する。SIPサーバは、端末Aから受信したACK信号を端末Bへ送信することで端末AとBとの接続が確立できる。
【0004】
SIPサーバは、これらのリクエスト及びレスポンスの送受信に、高速処理可能であるが、信頼性を確保する仕組みを有さないUDP(User Datagram Protocol)を利用する。したがって、INVITE信号を送信した端末Aは、SIPサーバから最終レスポンスを受信できない場合、リクエストが到達していないのか、若しくはSIPサーバが処理中なのかを判定することができない。このため、端末Aは、一定時間を経過してもSIPサーバからレスポンスを受信できない場合には、リクエストが到達していないと判定しINVITE信号を再送する。
【0005】
端末AからINVITE信号を受信したにもかかわらず、端末AからINVITE信号の再送を受信した場合、SIPサーバの処理が増える。このため、SIPサーバは、端末AからINVITE信号を受信したが、ある一定時間内に端末Aへレスポンスを送信できない場合には、暫定レスポンスを送信する。暫定レスポンスは、最終レスポンスとは異なる信号であり、端末Aに対してSIPサーバがINVITE信号を受信したことを通知する暫定的なレスポンスである。そして、SIPサーバから暫定レスポンスを受信した端末Aは、一定時間経過後SIPサーバから最終レスポンスを受信できない場合でも、INVITE信号を再送せず、SIPサーバからの最終レスポンスを待つ。
【0006】
具体的には、SIPサーバは、INVITE信号を受信後、即座に暫定レスポンスを送信する。例えば、図11Aに示したように、SIPサーバは、INVITE信号を受信すると最終レスポンス200OK(A)の送信を待たず即座に暫定レスポンス100Tring(A)を送信する。なお、図11Aは、即座に暫定レスポンス信号を送信する一例を示す図である。
【0007】
また、図11Bに示したように、SIPサーバは、INVITE信号を受信した後、200ms経過しても最終レスポンス200OK(A)を送信していない場合に、暫定レスポンス100Tring(A)を送信する。なお、図11Bは、200ms待ってから暫定レスポンス信号を送信する一例を示す図である。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2008−118313号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来の技術では、暫定レスポンスを送信することによって処理性能が低下するという課題があった。
【0010】
具体的には、SIPサーバがINVITE信号を受信後、即座に暫定レスポンスを送信する場合、SIPサーバの負荷C1は、C1=X+Yとして表すことができる。なお、Xは、INVITEを受信することで生じる負荷、Yは、暫定レスポンスを送信することで生じる負荷である。かかる場合の負荷を加味したSIPサーバの性能と単位時間あたりのリクエスト数を、図12の(1)に示す。
【0011】
図12(1)において、単位時間当たりのリクエスト数が少ない状態では、SIPサーバの性能が低下する。例えば、単位時間当たりのリクエスト数が少ない状態では、SIPサーバは、200ms以内に最終レスポンスを送信できれば端末からのINVITE信号の再送を抑止できるので、暫定レスポンスを送信する必要はない。しかし、即座に暫定レスポンスを送信する場合、SIPサーバは、結果として不要な暫定レスポンスを送信することになる。したがって、単位時間あたりのリクエスト数が少ない状態において、即座に暫定レスポンスを送信する場合には、SIPサーバの性能が低下する。なお、図12は、従来技術に係る暫定レスポンス送信タイミングによる、単位時間当たりのリクエスト数とサーバ性能の相関を示す図である。
【0012】
一方、SIPサーバがINVITE信号を受信後、200msを経過しても最終レスポンスを送信していなければ、暫定レスポンスを送信する場合、サーバの負荷C2は、C2=X+l×X+k×Y+m×Zとして表すことができる。なお、Xは、INVITEを受信することで生じる負荷、Yは、暫定レスポンスを送信することで生じる負荷、Zは、200ms待つ処理で生じる負荷である。また、lは、INVITEの再送信号を受信する確率、kは、暫定レスポンスを送信する確率、mは、200ms待つ処理の負荷に対応する変動係数である。なお、k、l、mはSIPサーバの負荷に応じて増加する。かかる場合の負荷を加味したSIPサーバの性能と単位時間あたりのリクエスト数を、図12の(2)に示す。
【0013】
図12(2)において、単位時間当たりのリクエスト数が多い状態では、SIPサーバは、性能が低下する。例えば、単位時間あたりのリクエスト数が多い状態では、SIPサーバは、INVITE信号を受信してから200msの計測を開始するまでに遅れが生じる。すなわち、SIPサーバの暫定レスポンスを送信するタイミングが遅延する。この結果、SIPサーバは、端末からのINVITE信号の再送を抑止できず、受信するリクエスト数が増加する。したがって、単位時間あたりのリクエスト数が多い状態において、SIPサーバは、性能が低下する。
【0014】
開示の技術は、上記に鑑みてなされたものであって、暫定レスポンスの送信に応じた処理性能の低下を抑制することができる情報処理装置、情報処理プログラム、情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0015】
本願の開示する情報処理装置は、処理依頼要求を示すリクエスト信号を受信し、自装置の処理負荷が閾値以上か否かを判定する。情報処理装置は、処理負荷が閾値以上と判定された場合に、リクエスト信号が受信されると、リクエスト信号の再送を停止させる暫定レスポンス信号をリクエスト信号の送信元に即時に送信する。情報処理装置は、処理負荷が閾値未満と判定された場合に、リクエスト信号が受信されてから所定時間経過後に、暫定レスポンス信号を送信元に送信する。
【発明の効果】
【0016】
本願の開示する情報処理装置、情報処理プログラム、情報処理方法の一つの態様によれば、暫定レスポンスの送信に応じた処理性能の低下を抑制することができるという効果を奏する。
【図面の簡単な説明】
【0017】
【図1】図1は、実施例1に係るSIPサーバを含むネットワーク構成を示す図である。
【図2】図2は、実施例2に係るSIPサーバの構成を示すブロック図である。
【図3】図3は、信号受信部が受信するSIP信号の一例を示す図である。
【図4】図4は、ヘッダ情報記憶部が格納する解析結果オブジェクトの一例を示す図である。
【図5A】図5Aは、再送率記憶部が格納する情報の一例を示す図である。
【図5B】図5Bは、信号数記憶部が格納する情報の一例を示す図である。
【図5C】図5Cは、再送率閾値記憶部が格納する情報の一例を示す図である。
【図5D】図5Dは、信号数閾値記憶部が格納する情報の一例を示す図である。
【図6】図6は、トランザクション情報記憶部が格納する情報の一例を示す図である。
【図7】図7は、ダイアログ情報記憶部が格納する情報の一例を示す図である。
【図8】図8は、SIPサーバによる暫定レスポンス送信処理の処理手順を示すフローチャートである。
【図9】図9は、実施例2に係るSIPサーバによる、単位時間当たりのリクエスト数とサーバ性能の相関を示す図である。
【図10】図10は、暫定レスポンス送信プログラムを実行するコンピュータシステムを示す図である。
【図11A】図11Aは、即座に暫定レスポンス信号を送信する一例を示す図である。
【図11B】図11Bは、200ms待ってから暫定レスポンス信号を送信する一例を示す図である。
【図12】図12は、従来技術に係る暫定レスポンス送信タイミングによる、単位時間当たりのリクエスト数とサーバ性能の相関を示す図である。
【発明を実施するための形態】
【0018】
以下に、本願の開示する情報処理装置、情報処理プログラム、情報処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0019】
図1は、実施例1に係るSIPサーバ10を含むネットワーク構成を示す図である。図1に示すように、実施例1に係るSIPサーバ10は、クライアント端末20とクライアント端末30とをSIP網40を介して接続する。
【0020】
SIPサーバ10は、受信部11と負荷判定部12と即時送信部13と経過後送信部14とを有する。受信部11は、処理依頼要求を示すリクエスト信号を受信する。負荷判定部12は、自装置の処理負荷が閾値以上か否かを判定する。即時送信部13は、負荷判定部により処理負荷が閾値以上と判定された場合に、リクエスト信号が受信されると即時に、リクエスト信号の再送を停止させる暫定レスポンス信号をリクエスト信号の送信元に送信する。経過後送信部14は、負荷判定部により処理負荷が閾値未満と判定された場合に、リクエスト信号が受信されてから所定時間経過後に、暫定レスポンス信号を送信元に送信する。
【0021】
この結果、実施例1に係るSIPサーバ10は、暫定レスポンス信号をリクエスト信号が受信されると即時に送信するか又は所定時間経過後に送信するかを判定することができる。
【実施例2】
【0022】
[実施例2に係るSIPサーバの構成]
次に、図2を用いて実施例2に係るSIPサーバ100の構成を説明する。図2は、実施例2に係るSIPサーバ100の構成を示すブロック図である。図2に示すように、実施例2に係るSIPサーバ100は、信号受信部110と信号送信部120とタイマ管理部130と記憶部140と制御部150とを有する。
【0023】
信号受信部110は、クライアント端末からSIP信号を受信し、受信したSIP信号を信号解析部151へ転送する制御部である。また、信号受信部110は、SIP信号を受信した時刻についての情報を記録する。
【0024】
ここで、信号受信部110が受信する信号の一例を説明する。図3は、信号受信部110が受信するSIP信号の一例を示す図である。図3に示すように、信号受信部110が受信するSIP信号は、リクエストライン3001とヘッダ3002とを有する。
【0025】
リクエストライン3001は、受信した信号の種別を示し、例えば、図3に示す受信信号の場合は、SIPサーバ100へ相手との接続を依頼する信号であることを示す「INVITE」である。また、ヘッダ3002は、ヘッダ名とヘッダ値とを有し、信号が要求する内容の実行に必要な機能を指定する。例えば、図3に示す受信信号の場合は、ヘッダ名として「From」と「Via」と「Max−Forwards」と「To」と「CSeq」と「Call−Id」と「Content−Length」と「Contact」とを有する。
【0026】
ヘッダ名「From」は、リクエストの送信元の論理的な情報を示す。また、ヘッダ名「Via」は、リクエストの送信元がレスポンスの受信を望むアドレスに関する情報を示し、これを参照することで、リクエスト送信元にレスポンスを返信することができる。また、ヘッダ名「Max−Forwards」は、ホップ数の上限に関する情報を示す。また、ヘッダ名「To」は、リクエストの論理的な宛先を示す。また、ヘッダ名「CSeq」は、新しいトランザクションと、再送を区別するためのインクリメント値に関する情報を示す。また、ヘッダ名「Call−Id」は、「呼」を識別する固有のIDに関する情報を示す。また、ヘッダ名「Content−Length」は、ヘッダのボディの長さに関する情報を示す。また、ヘッダ名「Contact」は、後続のリクエストを次にどこへ送信するかを示す。
【0027】
例えば、図3の場合、ヘッダ名「From」に対応するヘッダ値は「"abc" <sip:abc@sipas.fujitsu.com>;tag=1838-a7-2e-8f-cd361869」である。また、ヘッダ名「Via」に対応するヘッダ値は、「SIP/2.0/UDP 123.456.789.012:35070;branch=z9hG4bK-07d902120e270600f0-16」である。また、ヘッダ名「Max−Forwards」に対応するヘッダ値は「70」である。ヘッダ名「To」に対応するヘッダ値は「<sip:abc@sipas.fujitsu.com>」である。また、ヘッダ名「CSeq」に対応するヘッダ値は「1 INVITE」である。また、ヘッダ名「Call−Id」に対応するヘッダ値は「07d902120e270600f0@123.456.789.012」である。また、ヘッダ名「Content−Length」に対応するヘッダ値は「153」である。また、ヘッダ名「Contact」に対応するヘッダ値は「<sip:abc@123.456.789.012:35070>」である。
【0028】
信号送信部120は、SIP信号をクライアント端末へSIP信号を送信する制御部である。例えば、信号送信部120は、後述する信号生成部157が生成したSIP信号を受信すると、受信したSIP信号のヘッダから送信先を特定し、特定した送信先へSIP信号を送信する。
【0029】
タイマ管理部130は、SIPサーバにおける各種タイマを監視し、必要な処理を行う制御部である。タイマ管理部130は、例えば、信号受信部110がSIP信号を受信した場合、SIP信号を受信した時刻を信号受信部110へ通知する。また、タイマ管理部130は、例えば、端末間の接続時間を計測し、計測した接続時間をダイアログ管理部154に通知する。
【0030】
記憶部140は、ヘッダ情報記憶部141と再送率記憶部142と信号数記憶部143と再送率閾値記憶部144と信号数閾値記憶部145とトランザクション情報記憶部146とダイアログ情報記憶部147とを有する。例えば、記憶部140は、半導体メモリ素子、又はハードディスクなどの記憶装置である。
【0031】
ヘッダ情報記憶部141は、解析結果オブジェクトを記憶する。例えば、ヘッダ情報記憶部141は、図4に示すように、「ヘッダ名」と「ヘッダ値」とを対応付けて記憶する。具体的には、ヘッダ名「From」に対応するヘッダ値は、「"abc" <sip:abc@sipas.fujitsu.com>;tag=1838-a7-2e-8f-cd361869」である。また、ヘッダ名「Via」に対応するヘッダ値は、「SIP/2.0/UDP 123.456.789.012:35070;branch=z9hG4bK-07d902120e270600f0-16」である。また、ヘッダ名「Max−Forwards」に対応するヘッダ値は、「70」である。また、ヘッダ名「To」に対応するヘッダ値は、「<sip:abc@sipas.fujitsu.com>」である。また、ヘッダ名「CSeq」に対応するヘッダ値は、「1 INVITE」である。また、ヘッダ名「Call−Id」に対応するヘッダ値は、「07d902120e270600f0@123.456.789.012」である。また、ヘッダ名「Content−Length」に対応するヘッダ値は、「153」である。また、ヘッダ名「Contact」に対応するヘッダ値は、「<sip:abc@123.456.789.012:35070>」である。なお、図4は、ヘッダ情報記憶部141が格納する解析結果オブジェクトの一例を示す図である。
【0032】
再送率記憶部142は、信号監視部152によって測定された単位時間あたりの受信リクエストに含まれる再送リクエストの割合を送信元端末ごとに記憶する。例えば、図5Aに示すように、再送率記憶部142は、「送信元アドレス」と「単位時間当たりの受信リクエストに含まれる再送リクエストの割合」の項目とを有する。「送信元アドレス」には、送信元端末を識別するアドレスが格納される。また、「単位時間当たりの受信リクエストに含まれる再送リクエストの割合」には、単位時間当たりの受信リクエストに含まれる再送リクエストの割合が格納される。なお、図5Aは、再送率記憶部142が格納する情報の一例を示す図である。
【0033】
具体的には、図5Aに示す再送率記憶部142は、送信元アドレスが「123.456.789.256」である送信元端末からの再送リクエストが0%であることを示す。また、再送率記憶部142は、送信元アドレスが「123.456.789.089」である送信元端末からの再送リクエストが10%であることを示す。また、再送率記憶部142は、送信元アドレスが「123.456.789.9」である送信元端末からの再送リクエストが70%であることを示す。
【0034】
信号数記憶部143は、信号監視部152によって測定された単位時間あたりのINVITE数を記憶する。例えば、図5Bに示すように、信号数記憶部143は、「送信元アドレス」と「単位時間あたりのINVITE数」の項目とを有する。「送信元アドレス」には、送信元端末を識別するアドレスが格納される。また、「単位時間あたりのINVITE数」は、送信元端末から単位時間当たりに受信したINVITE数を格納する。
【0035】
具体的には、図5Bに示す信号数記憶部143は、送信元アドレスが「123.456.789.256」である送信元端末から単位時間当たり「200」のリクエスト数を受信したことを示す。また、信号数記憶部143は、送信元アドレスが「123.456.789.089」である送信元端末から単位時間当たり「90」のリクエスト数を受信したことを示す。また、信号数記憶部143は、送信元アドレスが「123.456.789.9」である送信元端末から単位時間当たり「70」のリクエスト数を受信したことを示す。なお、図5Bは、信号数記憶部143が格納する情報の一例を示す図である。
【0036】
再送率閾値記憶部144は、再送リクエストの割合の閾値を記憶する。例えば、図5Cに示す再送率閾値記憶部144は、「再送リクエストの割合の閾値」が「50%」であることを示す情報を記憶する。なお、図5Cは、再送率閾値記憶部144が格納する情報の一例を示す図である。
【0037】
信号数閾値記憶部145は、動作パターンを切り替える単位時間当たりのINVITE数を記憶する。例えば、図5Dに示す信号数閾値記憶部145は、「単位時間あたりのINVITE数」が「100」である場合に動作パターンを切り替えることを示す情報を記憶する。なお、図5Dは、信号数閾値記憶部145が格納する情報の一例を示す図である。
【0038】
トランザクション情報記憶部146は、トランザクション管理部153によって作成されたSIPトランザクション処理の状態情報を記憶する。例えば、トランザクション情報記憶部146は、図6に示すように、「トランザクションID」と「トランザクションタイプ」と「セッション開始時間」と「状態」とを関連付けて記憶する。なお、図6は、トランザクション情報記憶部146が格納する情報の一例を示す図である。
【0039】
ここで記憶される「トランザクションID」には、トランザクションを一意に識別する識別子が格納される。また、「トランザクションタイプ」には、受信した要求信号の種類として、例えば、セッションの確立を要求する信号である「INVITE」やIPアドレスの登録を要求する信号である「REGISTER」が格納される。また、「セッション開始時間」には、要求信号を最初に受信した時間が格納される。また、「状態」には、例えば、セッションが終了した場合には「終了」、セッションが進行中の場合には「暫定応答」や「成功応答」など送受信した最新の信号の種類を示す情報が格納される。
【0040】
図6に示したように「トランザクションID」が「0001」であるトランザクションは、2010年3月3日14時50分03秒に「INVITE」信号を受信し、現在、セッションが終了したことを示す。また、「トランザクションID」が「0002」であるトランザクションは、2010年3月3日14時52分01秒に「REGISTER」信号を受信し、セッションが終了したことを示す。また、「トランザクションID」が「0003」であるトランザクションは、2010年3月3日14時52分45秒に「INVITE」信号を受信し、暫定応答が送信されたことを示す。
【0041】
ダイアログ情報記憶部147は、ダイアログ管理部154によって作成されたダイアログに関する情報を記憶する。例えば、ダイアログ情報記憶部147は、図7に示すように、「ダイアログID」と「「Call−Id」と「From」と「To」と「通話情報」とを関連付けて記憶する。なお、図7は、ダイアログ情報記憶部147が格納する情報の一例を示す図である。また、ダイアログ情報記憶部147は、一般的には、ダイアログごとに個別に生成される。
【0042】
図7に示すように、「ダイアログID」には、ダイアログを一意に識別する識別子が格納され「Call−Id」には「呼」を識別する固有のIDに関する情報が格納される。また、「From」にはダイアログにおける接続元アドレスが格納され、「To」にはダイアログにおける接続先アドレスが格納され、「通話情報」には通話の開始時刻及び通話の終了時刻を示す情報が格納される。
【0043】
例えば、「ダイアログID」が「aaaaa」であるダイアログは、「Call−Id」が「a−11111」で識別される「0010001」と「0020001」との接続を示す。そして、この通話は、2010年3月3日14時50分17秒から開始し、2010年3月3日14時55分23秒に終了したことを示す。また、「ダイアログID」が「bbbbb」であるダイアログは、「Call−Id」が「b−11111」で識別される「0010010」と「0020010」との接続を示す。そして、この通話は、2010年3月3日14時58分03秒から通話が開始し、現在通話中であることを示す。
【0044】
制御部150は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部150は、信号解析部151と信号監視部152とトランザクション管理部153とダイアログ管理部154と信号数判定部155と再送率判定部156と信号生成部157とを有する。例えば、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、又は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
【0045】
信号解析部151は、信号受信部110によって受信された信号を解析する。例えば、信号解析部151は、信号受信部110から転送されたSIP信号を受信した場合、SIP信号のヘッダからヘッダ名とヘッダ値を抽出し、抽出したヘッダ名とヘッダ値とを対応付けて記録することで解析結果オブジェクトを生成する。信号解析部151は、解析したSIP信号を信号監視部152とトランザクション管理部153とへ転送する。
【0046】
信号監視部152は、SIPサーバが受信する信号を監視する制御部である。例えば、信号監視部152は、信号解析部151からSIP信号を受信すると、当該信号から受信時刻と、送信元端末アドレスと、信号種別とを抽出し、記憶部140に記録する。例えば、2010年3月17日13時23分45秒に送信元アドレス123.456.789.089からINVITE信号を受信した場合を例に説明する。信号監視部152は、「2010年3月17日13時23分45秒」と「123.456.789.089」と「INVITE」とを対応付けて記録する。また、例えば、2010年3月17日13時25分07秒に送信元アドレス123.456.789.089からINVITE信号の再送を受信した場合を例に説明する。信号監視部152は、「2010年3月17日13時25分07秒」と「123.456.789.089」と「INVITE」と「再送」とを対応付けて記録する。ここで、信号監視部152は、受信した信号と過去に受信した信号とを比較し、ヘッダ名「Via」に対応するヘッダ値の「branch」の値が同一であり、かつヘッダ名「CSeq」に対応するヘッダ値が同一である場合に、受信した信号が再送信号であると判定する。なお、信号監視部152は、ヘッダ情報記憶部141の解析結果オブジェクトを過去に受信した信号として参照する。
【0047】
そして、信号監視部152は、タイマ管理部130から所定の時間間隔で通知を受付けると、送信元端末毎に受信した信号数と、受信した信号に含まれる再送信号の割合を集計する。例えば、信号監視部152は、送信元アドレス123.456.789.089から単位時間当たりにINVITE信号を90回受信していた場合を例に説明する。信号監視部152は、送信元アドレス「123.456.789.089」と単位時間当たりのINVITE数「90」とを対応付けて信号数記憶部143に記録する。また、例えば、信号監視部152は、送信元アドレス123.456.789.089から単位時間当たりにINVITE信号の再送を9回受信していた場合を例に説明する。信号監視部152は、送信元アドレス「123.456.789.089」と単位時間当たりの受信リクエストに含まれる再送リクエストの割合「10%」とを対応付けて再送率記憶部142に記録する。
【0048】
トランザクション管理部153は、トランザクションの処理状態を管理する制御部である。例えば、トランザクション管理部152は、処理を要求するリクエスト信号とこれに対する回答であるレスポンス信号から「トランザクションタイプ」と「セッション開始時間」と「状態」とを抽出して、トランザクション情報記憶部146に書き込む。
【0049】
ダイアログ管理部154は、接続された端末間の接続関係を管理する制御部であり、例えば、クライアント端末Aとクライアント端末Bとの通話状態に関する情報を管理する。例えば、ダイアログ管理部154は、トランザクション管理部153から受信した信号が有するヘッダから「Call−Id」と「From」と「To」とに関する情報を抽出し、ダイアログ情報記憶部147を生成する。ダイアログ管理部154は、トランザクション管理部153から受信した信号を信号数判定部155へ転送する。
【0050】
信号数判定部155は、ダイアログ管理部154から受信した信号がINVITE信号であった場合に、単位時間当たりに受信したリクエスト信号数が所定の閾値を超えたか否かを判定する制御部である。言い換えると、信号数判定部155は、単位時間当たりに受信したリクエスト信号数が所定の閾値を超えた場合にはSIPサーバ100の処理負荷が閾値以上と判定する。すなわち、信号数判定部155は、処理負荷が高いと判定する。一方、信号数判定部155は、単位時間当たりに受信したリクエスト信号数が所定の閾値を超えていない場合にはSIPサーバ100の処理負荷が閾値未満と判定する。すなわち、信号数判定部155は、処理負荷が低いと判定する。
【0051】
例えば、信号数判定部155は、受信信号からリクエストラインを抽出し、当該信号がINVITE信号であるか否かを判定する。信号数判定部155は、受信信号がINVITE信号であった場合には、送信元端末を特定する。そして、信号数判定部155は、特定した送信元端末に対応した信号数記憶部143と信号数閾値記憶部145とを読み出し、単位時間あたりのINVITE数が所定の閾値を超えたか否かを判定する。
【0052】
図5Bに示した信号数記憶部と図5Dに示した信号数閾値記憶部とを用いて具体的な例を示す。信号数判定部155は、図5Bの送信元アドレス「123.456.789.256」に対応する単位時間当たりのINVITE数「200」と、図5Dの閾値「100」を比較し、INVITE数が閾値を超えていると判定する。かかる場合、信号数判定部155は、当該信号を信号生成部157へ転送し、転送した信号に対する暫定レスポンスを即座に送信するように通知する。
【0053】
一方、信号数判定部155は、信号数記憶部143に格納された値が信号数閾値記憶部145に格納された値よりも小さい場合には、当該信号を再送率判定部156へ転送する。具体的には、信号数判定部155は、図5Bの送信元アドレス「123.456.789.089」に対応する単位時間当たりのINVITE数「90」と、図5Dの閾値「100」を比較し、INVITE数が閾値を超えていないと判定する。かかる場合、信号数判定部155は、当該信号を再送率判定部156へ転送する。同様に、信号数判定部155は、送信元アドレス「10.25.123.9」からのSIP信号もINVITE数が閾値を超えていないと判定する。また、信号数判定部155は、受信信号がINVITE信号ではないと判定した場合、当該信号を信号生成部157へ転送する。
【0054】
再送率判定部156は、単位時間あたりのリクエスト信号数が所定の閾値を超えた場合に、再送リクエストの割合が所定の閾値を超えたか否かを判定する制御部である。言い換えると、再送率判定部156は、単位時間当たりに受信した再送リクエストの割合が所定の閾値を超えた場合には処理負荷が閾値以上と判定する。すなわち、再送率判定部156は、処理負荷が高いと判定する。一方、再送率判定部156は、単位時間当たりに受信した再送リクエストの割合が所定の閾値を超えていない場合には処理負荷が閾値未満と判定する。すなわち、再送率判定部156は、処理負荷が低いと判定する。
【0055】
例えば、再送率判定部156は、再送率記憶部142と再送率閾値記憶部144とを読み出し、再送リクエストの割合が所定の閾値を超えたか否かを判定する。具体的には、再送率判定部156は、送信元アドレス「123.456.789.089」について、図5Aに示した再送リクエストの割合「10%」と図5Cに示した再送リクエストの割合の閾値「50%」とを比較する。かかる場合、再送率判定部156は、再送リクエストの割合は、閾値を超えていないと判定する。そして、再送率判定部156は、当該信号を信号生成部157へ転送し、転送した信号に対する最終レスポンスが200ms以内に送信されなければ暫定レスポンスを送信するように通知する。
【0056】
また、再送率判定部156は、送信元アドレス「123.456.789.9」について、図5Aに示した再送リクエストの割合「70%」と図5Cに示した再送リクエストの割合の閾値「50%」とを比較する。かかる場合、再送率判定部156は、再送リクエストの割合は、閾値を超えていると判定し、当該信号を信号生成部157へ転送し、転送した信号に対する暫定レスポンスを即座に送信するように通知する。
【0057】
信号生成部157は、信号数判定部155又は再送率判定部156から受信した信号に対する応答信号を生成し、生成した信号を信号送信部120へ転送する制御部である。例えば、信号生成部157は、信号数判定部155又は再送率判定部156から受信したSIP信号がINVITE信号であるか否か判定する。
【0058】
信号生成部157は、信号数判定部155又は再送率判定部156から受信したSIP信号がINVITE信号であると判定した場合には、暫定レスポンスを即座に送信する通知を受付けたか否かを判定する。信号生成部157は、暫定レスポンスを即座に送信する通知を受付けた場合には、暫定レスポンスを生成し、生成した暫定レスポンスを信号送信部へ転送するとともに、即座に送信するように通知する。また、信号生成部157は、暫定レスポンスを即座に送信する通知を受付けていない場合には、最終レスポンスを送信したか否かを判定する。信号生成部157は、200ms以内に最終レスポンスが送信されていないと判定した場合には、暫定レスポンスを信号送信部120へ転送し、転送した暫定レスポンスを送信するように通知する。
【0059】
信号生成部157は、受信したSIP信号がINVITE信号ではないと判定すると、例えば、信号のヘッダを更新することで新たな信号を生成する。信号生成部157は、生成した新たな信号を信号送信部120へ転送する。
【0060】
[SIPサーバによる暫定レスポンス送信処理の処理手順]
図8を用いて、SIPサーバ100による暫定レスポンス送信処理の処理手順を説明する。図8は、SIPサーバ100による暫定レスポンス送信処理の処理手順を示すフローチャートである。図8に示すように、SIPサーバ100において、信号受信部110がSIP信号を受信した場合(ステップS10、Yes)、信号監視部152は、送信元の特定と、再送信号の割合を計測する(ステップS11)。続いて、信号監視部152は、計算結果を再送率記憶部142に格納する(ステップS12)。続いて、信号監視部152は、単位時間当たりのINVITE信号数を計測し(ステップS13)、計測結果を信号数記憶部143に格納する(ステップS14)。
【0061】
信号数判定部155は、再送率記憶部142、信号数記憶部143、再送率閾値記憶部144、信号数閾値記憶部145の情報を読み出す(ステップS15)。そして、信号数判定部155は、単位時間あたりのリクエスト数が所定の閾値を超えたか否かを判定する(ステップS16)。ここで、信号数判定部155は、単位時間あたりのリクエスト数が所定の閾値を超えたと判定した場合(ステップS16、Yes)、受信した信号を信号生成部157へ転送して、暫定レスポンスを生成させる。そして、送信部120は、信号生成部157が生成した暫定レスポンスを送信する(ステップS20)。
【0062】
一方、信号数判定部155は、単位時間あたりのリクエスト数が所定の閾値を超えていないと判定した場合(ステップS16、No)、信号を再送率判定部156へ転送する。そして、再送率判定部156は、再送リクエストの割合が所定の閾値を超えたか否かを判定する(ステップS17)。ここで、再送率判定部156は、再送リクエストの割合が所定の閾値を超えたと判定した場合(ステップS17、Yes)、受信した信号を信号生成部157へ転送して、暫定レスポンスを生成させる。そして、信号送信部120は、信号生成部157が生成した暫定レスポンスを送信する(ステップS20)。
【0063】
一方、再送率判定部156は、再送リクエストの割合が所定の閾値を超えていないと判定した場合(ステップS17、No)、受信した信号を信号生成部157へ転送する。信号生成部157は、200ms待ち(ステップS18)、この間に最終レスポンスを送信したか否かを判定する(ステップS19)。ここで、信号生成部157は、最終レスポンスを送信していないと判定した場合(ステップS19、No)、暫定レスポンスを生成する。そして、信号送信部120は、信号生成部157が生成した暫定レスポンスを送信する(ステップS20)。一方、信号生成部157は、最終レスポンスを送信したと判定した場合には(ステップS19、Yes)、処理を終了する。
【0064】
[実施例2の効果]
本実施例におけるSIPサーバ100において、信号監視部152は、信号受信部110によって単位時間当たりに受信されたSIP信号数を監視する。また、信号数判定部155は、単位時間当たりの信号数が閾値を超えたか否かを判定する。信号数判定部155は、単位時間当たりの信号数が信号数閾値を超えたと判定した場合には、即座に暫定レスポンスを送信する。また、信号数判定部155は、単位時間当たりの信号数が信号数閾値を超えていないと判定した場合には、200ms待って、最終レスポンスが送信されていなければ暫定レスポンスを送信する。この結果、実施例2に係るSIPサーバ100は、自装置の負荷状況に応じて、暫定レスポンスの送信タイミングを変更できる。すなわち、実施例2に係るSIPサーバ100は、不要な暫定レスポンスの送信や受信信号の再送を抑止できる。
【0065】
また、実施例2に係るSIPサーバ100において、再送率判定部156は、単位時間当たりのリクエスト数が閾値を超えていない場合には、単位時間当たりの再送率を計測し、計測した再送率が再送率閾値を超えていないか判定する。再送率判定部156は、計測した単位時間当たりの再送率が再送率閾値を超えている場合には、即座に暫定レスポンスを送信する。また、再送率判定部156は、計測した単位時間当たりの再送率が再送率閾値を超えていない場合には、200ms待って、最終レスポンスが送信されていなければ暫定レスポンスを送信する。この結果、実施例2に係るSIPサーバ100は、単位時間当たりの信号数が信号数閾値を超えていない場合においても、再送率を判定することで、再送を抑止することができる。この結果、SIPサーバ100は、ネットワーク上の信号量を軽減できる。
【0066】
図9を用いて具体的な例を説明する。SIPサーバ100は、単位時間当たりの信号数が少ない場合には、200ms待って、最終レスポンスが送信されていなければ暫定レスポンスを送信するので、不要な暫定レスポンスの送信を抑止でき、サーバ性能を向上することができる。また、SIPサーバ100は、単位時間当たりの信号数が多い場合には、即座に暫定レスポンスを送信するので、送信元端末からの再送を抑止することができ、サーバ性能を向上することができる。
【0067】
また、本実施例に係るSIPサーバ100は、送信元端末毎に再送率閾値及び信号数閾値を設定することができる。例えば、SIPサーバ100は、特定の送信元端末に対して再送率閾値を低く設定することによって、当該送信元端末に対して優先的に暫定レスポンスを送信することが可能になる。また、SIPサーバ100は、特定の送信元端末に対して信号数閾値を低く設定することによって、当該送信元端末に対して優先的に暫定レスポンスを送信することが可能になる。したがって、本実施例に係るSIPサーバ100は、特定の送信元端末に対して優先度を設定して通信することが可能である。
【実施例3】
【0068】
ところで、本願の開示するSIPサーバは、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例3では、本願の開示する情報処理装置の他の実施例について説明する。
【0069】
(システム構成等)
本実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。
【0070】
また、図示した記憶部が格納する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。また、再送率記憶部142、信号数記憶部143は、関連する通信終了時などの適当な時点で、信号監視部152によって、二次記憶装置に退避され、退避された情報を再利用可能な状態にしてもよい。また、再送率閾値記憶部144、信号数閾値記憶部145は、二次記憶装置に格納されていてもよい。例えば、二次記憶装置は、SIPサーバ100に挿入される、例えば、フレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」であってもよい。
【0071】
また、本実施例において情報処理装置をSIPサーバとして説明したが、本願が適用可能な情報処理装置は、SIPサーバに限定されない。例えば、本願が適用可能な情報処理装置は、UDPを利用するサーバ装置にも適用することが可能である。例えば、UDPを利用するHTTP(Hyper Text Transfer Protocol)サーバであってもよい。
【0072】
また、SIPサーバ100は、単位時間当たりの信号数を監視することで自装置の処理負荷が高いか否かを判定するとして説明したが、これに限定されない。例えば、SIPサーバ100は、単位時間当たりの信号数以外にも、CPU又はメモリの使用量を監視することによって負荷を判定するように設計、構築されてもよい。
【0073】
また、SIPサーバ100は、送信元端末毎に再送率及び信号数を計測し負荷を判定した。しかし、SIPサーバ100は、システム全体として再送率及び信号数を計測し負荷を判定しても良い。例えば、再送率記憶部142、信号数記憶部143は、送信元端末毎ではなく、SIPサーバ100として受信した再送信号数及び信号数を計測し、負荷を判定してもよい。
【0074】
また、SIPサーバ100は、単位時間当たりの信号数によって自装置の処理負荷が高いか否かを判定し、処理負荷が低いと判定された場合には、再送率を判定することで自装置の処理負荷が高いか否かを判定した。しかし、単位時間当たりの信号数だけによって自装置の処理負荷が高いか否かを判定してもよく、また、再送率だけによって自装置の処理負荷が高いか否かを判定してもよい。すなわち、SIPサーバ100は、実施例2で用いた負荷が高いか否かを判定する方法を任意に組み合わせて、自装置の処理負荷が高いか否かを判定することが可能である。
【0075】
また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、SIPサーバ100は、信号解析部151と信号監視部152とは統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0076】
(プログラム)
ところで、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【0077】
図10は、暫定レスポンス送信プログラムを実行するコンピュータシステムを示す図である。図10に示すように、コンピュータシステム500は、RAM510と、ROM530と、CPU520とを有する。ここで、ROM530には、上記実施例と同様の機能を発揮するプログラムを予め記憶されている。つまり、図10に示すように、ROM530には、信号数判定プログラム531と再送率判定プログラム532と信号生成プログラム533とが予め記憶されている。
【0078】
そして、CPU520には、信号数判定プログラム531と再送率判定プログラム532と信号生成プログラム533とを読み出してRAM510に展開する。そして、CPU520は、信号数判定プログラム531を信号数判定プロセス521として実行する。またCPU520は、再送率判定プログラム532を再送率判定プロセス522として実行する。またCPU520は、信号生成プログラム533を信号生成プロセス523として実行する。なお、信号数判定プロセス521は、図2に示した信号数判定部155に対応する。同様に、再送率判定プロセス522は、再送率判定部156に対応し、信号生成プロセス523は、信号生成部157に対応する。
【0079】
ところで、上記したプログラム531〜533は、必ずしもROM530に記憶させておく必要はない。例えば、コンピュータシステム500に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータシステム500の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを介してコンピュータシステム500に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム500がこれらからプログラムを読み出して実行するようにしてもよい。
【0080】
すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記憶されるものである。そして、コンピュータシステム500は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム500によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【0081】
10 SIPサーバ
11 受信部
12 負荷判定部
13 即時送信部
14 経過後送信部
100 SIPサーバ
110 信号受信部
120 信号送信部
130 タイマ管理部
140 記憶部
141 ヘッダ情報記憶部
142 再送率記憶部
143 信号数記憶部
144 再送率閾値記憶部
145 信号数閾値記憶部
146 トランザクション情報記憶部
147 ダイアログ情報記憶部
150 制御部
151 信号解析部
152 信号監視部
153 トランザクション管理部
154 ダイアログ管理部
155 信号数判定部
156 再送率判定部
157 信号生成部

【特許請求の範囲】
【請求項1】
処理依頼要求を示すリクエスト信号を受信する受信部と、
自装置の処理負荷が閾値以上か否かを判定する負荷判定部と、
前記負荷判定部により処理負荷が閾値以上と判定された場合に、前記リクエスト信号が受信されると即時に、前記リクエスト信号の再送を停止させる暫定レスポンス信号を前記リクエスト信号の送信元に送信する即時送信部と、
前記負荷判定部により処理負荷が閾値未満と判定された場合に、前記リクエスト信号が受信されてから所定時間経過後に、前記暫定レスポンス信号を前記送信元に送信する経過後送信部と
を有することを特徴とする情報処理装置。
【請求項2】
前記負荷判定部は、前記受信部によって単位時間当たりに受信されたリクエスト数が所定値以上である場合に、前記処理負荷が閾値以上であると判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記受信部は、前記リクエスト信号に対する応答信号を受信していない送信元から送信された再送リクエスト信号を受信し、
前記負荷判定部は、前記受信部によって単位時間当たりに受信された再送リクエスト信号数が所定値以上である場合に、前記処理負荷が閾値以上であると判定することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記受信部は、前記リクエスト信号に対する応答信号を受信していない送信元から送信された再送リクエスト信号を受信し、
前記負荷判定部は、前記受信部によって単位時間当たりに受信された信号に対する再送リクエスト信号の割合が所定値以上である場合に、前記処理負荷が閾値以上であると判定することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
情報処理装置に、
処理依頼要求を示すリクエスト信号を受信する受信手順と、
自装置の処理負荷が閾値以上か否かを判定する負荷判定手順と、
前記負荷判定手順により処理負荷が閾値以上と判定された場合に、前記リクエスト信号が受信されると即時に、前記リクエスト信号の再送を停止させる暫定レスポンス信号を前記リクエスト信号の送信元に送信する即時送信手順と、
前記負荷判定手順により処理負荷が閾値未満と判定された場合に、前記リクエスト信号が受信されてから所定時間経過後に、前記暫定レスポンス信号を前記送信元に送信する経過後送信手順と
を実行させることを特徴とする情報処理プログラム。
【請求項6】
情報処理装置が、
処理依頼要求を示すリクエスト信号を受信する受信ステップと、
自装置の処理負荷が閾値以上か否かを判定する負荷判定ステップと、
前記負荷判定ステップにより処理負荷が閾値以上と判定された場合に、前記リクエスト信号が受信されると即時に、前記リクエスト信号の再送を停止させる暫定レスポンス信号を前記リクエスト信号の送信元に送信する即時送信ステップと、
前記負荷判定ステップにより処理負荷が閾値未満と判定された場合に、前記リクエスト信号が受信されてから所定時間経過後に、前記暫定レスポンス信号を前記送信元に送信する経過後送信ステップと
を有することを特徴とする情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図5D】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12】
image rotate


【公開番号】特開2012−14452(P2012−14452A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−150426(P2010−150426)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】