通信管理装置及び通信管理方法及びプログラム
【課題】サーバ装置への同時接続数に制限がある環境で、効率的にサーバ装置への接続を管理する。
【解決手段】クライアント14が品質保証通信でのサービス提供部22への接続を要求し、接続判定部08が現在の接続状況及び予約状況に基づき、接続の許否判断を行い、接続が許可されない場合に、接続予約部07が、クライアント14がサービス提供部22への接続を開始できる時刻を算出し、算出した時刻をクライアント14に通知し、クライアント14が当該時刻を許容する場合に、当該時刻以降の接続をクライアント14に対して予約し、クライアント14は予約時刻以降のサービス提供部22との接続を確保する。また、予約のあるクライアント14が予約時刻においてサービス提供部22への接続を行っていない場合は、接続予約部07は、他のクライアント14からの接続予約がある場合は、他のクライアント14に暫定的な接続を認める。
【解決手段】クライアント14が品質保証通信でのサービス提供部22への接続を要求し、接続判定部08が現在の接続状況及び予約状況に基づき、接続の許否判断を行い、接続が許可されない場合に、接続予約部07が、クライアント14がサービス提供部22への接続を開始できる時刻を算出し、算出した時刻をクライアント14に通知し、クライアント14が当該時刻を許容する場合に、当該時刻以降の接続をクライアント14に対して予約し、クライアント14は予約時刻以降のサービス提供部22との接続を確保する。また、予約のあるクライアント14が予約時刻においてサービス提供部22への接続を行っていない場合は、接続予約部07は、他のクライアント14からの接続予約がある場合は、他のクライアント14に暫定的な接続を認める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ある通信装置に同時に接続できる同時接続数に上限がある通信システムにおいて通信装置間の通信確立を管理する技術に関する。
【背景技術】
【0002】
近年のインターネットの普及に加えて、通信品質(例えば、通信帯域)を保証するネットワークインフラが普及してきている。
従来のインターネット環境を利用するWebサーバでは、サーバ装置(以下、サーバともいう)へのクライアント装置(以下、クライアントともいう)からのサービス利用要求は、すべてサーバに到達し、サーバにてサービス提供可否を判定し、サービスを運用していた。
【0003】
従来のインターネット環境では、ネットワークは通信要求をクライアントからサーバへ転送する機能のみを提供するため、クライアントが発行するサービス利用要求はすべてサーバに到達する。
しかし、通信品質を保証するネットワークインフラは、ネットワークがクライアントからサーバに到達する通信確立数(以下、接続数ともいう)を管理する。
そのため、クライアントからの通信確立(接続)が集中した場合、ネットワークインフラがサービス利用要求を破棄するためクライアントが発行するサービス利用要求がサーバに到達しない状態が発生する場合がある。
サービス提供サーバはクライアントからのサービス利用要求が集中している状況を管理できないため、クライアントに対して対応策を提示することができない。
【0004】
このような背景により、クライアントがサーバに同時に接続できる同時接続数が限られ、かつ同時接続数の上限に達した場合には通信確立要求が通信確立先に到達しないネットワークを利用してサービスを提供する際に、アクセスが集中した場合であっても、クライアントからのサービス利用要求をすべてサーバに到達させ、サーバがサービスレベルを安定させてサービスを行える技術が求められている。
【0005】
同時接続数が限られる通信において、通信確立数に閾値を設定し、輻輳状態となり通信の確立が困難となった際に、通信の確立を要求する利用者に対して、非接続となったこと、つまり、サーバに接続できない状態になったことを告知するためのメッセージを返信する技術がある(たとえば、特許文献1)。
【特許文献1】特開2006−14021号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1の技術では、輻輳状態になった場合に、クライアントに対して非接続になったことを告知するメッセージを返信するのみであり、クライアントは、いつサーバに接続でき、いつサービスを利用できるようになるのかを知ることができないという課題がある。
また、サーバに接続できる時刻を知ることができないので、クライアントは接続できるまで繰り返し接続要求を送信することになり、輻輳を増長させ、また、サーバ側において接続要求に応答するための処理負荷が増大するという課題がある。
【0007】
本発明は、このような課題を鑑みたものであり、同時接続数に制限がある環境において、接続数に空きがないため接続が許可されない通信装置が存在する場合に、当該通信装置に接続が許可される時刻を算出するとともに、当該通信装置に対して算出時刻からの接続を保証することができるシステムを実現することを主な目的の一つとする。
【課題を解決するための手段】
【0008】
本発明に係る通信管理装置は、
第1通信装置と複数の第2通信装置との間の通信を管理する通信管理装置であって、
複数の第2通信装置が同時に前記第1通信装置に接続できる同時接続数の上限を上限同時接続数として記憶する同時接続数記憶部と、
前記上限同時接続数のうち既にいずれかの第2通信装置に割り当てられている接続数を割当済み接続数として管理する割当済み接続数管理部と、
前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求を受信する通信部と、
前記上限同時接続数と前記割当済み接続数とに基づき同時接続数の空き状況を判断し、接続要求の送信元である要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定する接続判定部と、
前記接続判定部が前記要求第2通信装置に対して前記第1通信装置との接続を許可しない場合に、前記要求第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約する接続予約部とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、同時接続数に空きがなく、第1通信装置との接続が許可されない第2通信装置が存在する場合に、当該第2通信装置が第1通信装置との接続を開始できる接続可能時刻を算出し、当該第2通信装置に対して接続可能時刻からの接続を予約するので、接続可能時刻からの接続を第2通信装置に保証することができる。
【発明を実施するための最良の形態】
【0010】
実施の形態1.
以下、添付の図面を参照しながら、本実施の形態について説明する。
まず、図1を用いて本実施の形態に係るシステムの全体構成について説明する。
【0011】
図1は、本実施の形態のシステム全体の機能ブロック図である。
本実施の形態のシステムは、ネットワークに接続された複数の情報処理装置であるサーバ装置01とクライアント装置14とを備える。
サーバ装置01は通信機器13を介してクライアント装置14からのサービス利用要求を受け付ける。
クライアント装置14は、サーバ装置01に対する要求をネットワーク30経由で送信するクライアントアプリケーション15を備える。
図1では、クライアント装置14は1つしか示されていないが、複数のクライアント装置14が存在するものとする。
なお、クライアント装置14は、第2通信装置の例である。
【0012】
サーバ装置01は、サービス要求管理部02とサービス提供部22に大別される。
サービス要求管理部02は、クライアント装置14を一意に識別するサービス要求元情報を基にサービス要求を受け付けるか否かを判定する。より具体的には、サービス要求管理部02は、サービス提供部22とクライアント装置14との間の通信を管理し、クライアント装置14がサービス提供部22と接続できるか、つまり通信を確立することができるか否かを判断する。サービス要求管理部02は通信管理装置の例である。
サービス提供部22は、サービス要求管理部02によって、クライアント装置14とサービス提供部22との接続が許可され、サービス提供可能であると判定された場合に、クライアント装置14にサービスを提供する。サービス提供部22は、第1通信装置の例である。
図1では、サービス要求管理部02とサービス提供部22はサーバ装置01に実装されている構成を示しているが、サービス要求管理部02とサービス提供部22は別の装置に実装される構成であってもよい。
【0013】
サーバ装置01とクライアント装置14との間の通信は、通信品質(通信帯域等)が保証される品質保証通信と通信品質が保証されないベストエフォート通信の2つがある。
クライアント装置14は、品質保証通信にてサービス要求管理部02からサービスを受ける。このために、クライアント装置14は、サービス要求管理部02に接続要求を送信し、サービス提供部22と品質保証通信での接続が可能か否かを問い合わせ、サービス提供部22が品質保証通信での接続を許可した場合に、クライアント装置14はサービス提供部22からサービスを受けることができる。
品質保証通信は、クライアント装置14とサービス提供部22との間で同時に確立できるコネクションの数の上限が決められている。この上限を上限同時接続数又は上限同時通信確立数という。
サービス要求管理部02は、上限同時接続数と、他のクライアント装置14に対して既に割り当てられている接続数とに基づき、接続要求を送信したクライアント装置14に対してサービス提供部22との接続を許可するか否かを判定する。
なお、以下では、ベストエフォート通信と明記していない場合は、接続、通信確立の語は、品質保証通信における接続、通信確立を意味するものとする。また、原則として接続と通信確立の語は。同じ意味として用いる。
【0014】
サービス提供部22は、サーバアプリケーション12と1つ以上のサービスコンポーネント11を連携させることによって構成される。
サービスコンポーネント11は、SOAPなどのプロトコルを介してメッセージを交換することにより機能を提供するwebサービスなどで構築される。
サービスコンポーネント11は、クライアントアプリケーション15を介してユーザが利用するサービスを構成する機能単位であり、サーバアプリケーション12は一つ以上のサービスコンポーネント11により構成される。
例えば具体的には、薬局における窓口業務を支援するアプリケーションをネットワーク経由にてサービスとして提供するサーバアプリケーション12は、薬剤の処方箋情報をサーバ装置01によって管理するサービスコンポーネント11と薬局に来局した患者ごとにサーバ装置01に蓄積される薬歴情報を参照するサービスコンポーネント11と前記処方箋情報に基づき、医療機関が保険者に診療報酬をネットワーク経由で請求するレセプトを実施するサービスコンポーネント11などから構成される。
【0015】
サービス要求管理部02は、通信機器13を介してクライアントアプリケーション15からの接続要求を受信する通信部10と、通信部10と接続判定部08を連結する通信部連携インタフェース09を備える。
通信部10は、クライアント装置14からの接続要求を受信する。
また、サービス要求管理部02は、上限同時接続数及び制御用接続数(制御用通信確立数ともいう)を記憶する接続数記憶部21を備える。制御用接続数の詳細は、後述するが、クライアント装置14からのサーバ装置01への接続が収集しても常に一定数のクライアント装置14はサーバ装置01と通信できるようにするためにリザーブしている予備のコネクションの数である。なお、接続数記憶部21は、同時接続数記憶部及び制御用接続数記憶部の例である。
また、サービス要求管理部02は、サーバ装置01と通信するクライアント装置14の情報を格納する接続管理テーブルを記憶する接続管理テーブル記憶部05を備え、サーバ装置01と通信を確立する予定のクライアント装置14の情報を格納する予約管理テーブルを記憶する予約管理テーブル記憶部04と、接続判定部08の判断によりサーバ装置01との通信を切断されたクライアント装置14の情報を管理する規制履歴テーブルを記憶する規制履歴テーブル記憶部03を備える。
つまり、接続管理テーブル記憶部05は、接続管理テーブルを用いて、現在サービス提供部22と接続しているクライアント装置14(接続第2通信装置)の数(以下、通信確立数ともいう)を管理する。接続管理テーブル記憶部05は、接続管理部の例である。
また、予約管理テーブル記憶部04は、予約管理テーブルを用いて、サービス提供部22とクライアント装置14との接続の予約状況及び予約数等を管理する。予約管理テーブル記憶部04は予約管理部の例である。
また、接続管理テーブル記憶部05で管理されるサービス提供部22と接続中のクライアント装置14の数及び予約管理テーブル記憶部04で管理される予約数は、すでにクライアント装置14に割当済みの接続数であり、合わせて割当済み接続数ともいう。このため、予約管理テーブル記憶部04及び接続管理テーブル記憶部05は、割当済み接続数管理部の例である。
なお、上限同時接続数は原則として変化しないが、通信確立数及び予約数はクライアント装置14からサービス提供部22への接続状況により変動する。
【0016】
接続判定部08は、クライアントアプリケーション15からの接続要求を通信部連携インタフェース09を介して通信部10及び通信機器13より受け取る。
接続判定部08は、接続数記憶部21に記憶されている上限同時接続数と予約管理テーブル記憶部04及び接続管理テーブル記憶部05で管理されている割当済み接続数に基づき同時接続数の空き状況を判断し、接続要求の送信元であるクライアント装置14(要求第2通信装置)に対してサービス提供部22との接続を許可するか否かを判定する。そして、通信部連携インタフェース09を介してその判定結果を通信部10に返却する。
また、接続判定部08は、所定の場合に、現在サービス提供部22と通信中のクライアント装置14の接続を切断する場合がある。
また、接続判定部08は、クライアント装置14への接続の可否の判定結果を接続管理テーブル記憶部05の接続管理テーブルに格納する。
【0017】
接続予約部07は、接続判定部08がクライアント装置14に対してサービス提供部22との接続を許可しない場合に、当該クライアント装置14がサービス提供部22との接続を開始できる時刻である接続可能時刻を算出し、当該クライアント装置14に対して接続可能時刻以降のサービス提供部22との接続を予約する。
また、接続予約部07は、予約状況を予約管理テーブル記憶部04の予約管理テーブルに格納し、また、所定の場合に、予約管理テーブルから予約状況を読み出す。
【0018】
規制管理部06は、接続判定部08によりサービス提供部22との接続を切断されたクライアント装置14の情報を規制履歴テーブル記憶部03の規制履歴テーブルに書き込み、また、所定の場合に、規制履歴テーブルから規制の対象となったクライアント装置14の情報を読み出す。
【0019】
クライアント装置14は、ユーザからのサービス利用要求を受け付けるクライアントアプリケーション15を備える。
クライアントアプリケーション15は、ネットワークを介してサーバ装置01にユーザの要求を送信するプログラムである。
【0020】
ここで、本実施の形態に係るサービス要求管理部02の動作の概要を図23を参照して説明し、その後、サービス要求管理部02、サービス提供部22、クライアント装置14の動作の詳細を説明する。
【0021】
図23において、まず、通信部10が、サービス提供部22に未接続のクライアント装置14から送信された接続要求情報(以下、接続要求ともいう)を受信し(S1000)(通信ステップ)、通信部連携インタフェース09を介して、接続要求を接続判定部08に渡す。
接続要求情報には、例えば、図7に示すように、接続元であるクライアント装置14の識別子(接続元識別子502)、接続先であるサービス提供部22の識別子(接続先識別子503)等が含まれている。なお、図7の詳細は、後述する。
次に、接続判定部08は、同時接続数に空きがあるか否かを判定する(S1100)(接続判定ステップ)。この判断は、例えば、接続管理テーブル記憶部05において管理されている通信確立数と予約管理テーブル記憶部04において管理されている予約数と接続数記憶部21において管理されている制御用接続数の和(通信確立数+予約数+制御用接続数)が上限同時接続数に達しているか否かを判断し、上限同時接続数に達していなければ空きがあり、上限同時接続数に達していれば空きがない状態である。
なお、予約は接続可能時刻とともに管理されており、接続判定部08は、接続可能時刻が現在時刻より前の予約、すなわち、既に接続可能時刻が開始している予約の数を通信確立数と制御用接続数に加算して、上限同時接続数と比較する。
また、同時接続数の空き判断において、接続判定部08は、既に接続可能時刻が開始している予約ごとに、予約を受けているクライアント装置14(予約第2通信装置)がサービス提供部22との接続を開始しているか否かを判断する。そして、いずれかの予約に対してクライアント装置14がサービス提供部22との接続を開始していない場合は、その予約のために確保されているコネクションは未使用であるため、接続判定部08は空きがあると判断する。
【0022】
S12の判断において空きがある場合(S12でYES)は、接続判定部08は、接続要求を行ったクライアント装置14に対してサービス提供部22との接続を許可し(S1200)(接続判定ステップ)、接続を許可するとの通知を通信部連携インタフェース09、通信部10を介して通信機器13からクライアント装置14に送信する。
また、接続判定部08は、接続を許可したクライアント装置14が接続予約部07により予約を受けているか否かを判断し(S1300)(接続判定ステップ)、予約を受けていない場合(S1300でNO)は、接続判定部08は、S1200における接続許可を反映させて、接続管理テーブルに当該通信許可の内容を示すレコードを追加し、通信確立数を1つ増加させ(S1400)(割当済み接続数管理ステップ)、更新後の接続管理テーブルを接続管理テーブル記憶部05が記憶する。なお、接続管理テーブルに追加するレコードには、クライアント装置14の識別子や通信確立が予約を伴うか否かを示すフラグ(品質保証フラグという)が含まれる。この場合は、品質保証フラグには、予約なしを示す0を設定する。
一方、S1300において予約ありと判断した場合(S1300でYES)は、接続判定部08は、通信確立数と予約数を更新する(S2400)(割当済み接続数管理ステップ)。
つまり、接続判定部08は、S2300における接続許可を反映させて、接続管理テーブルに当該通信許可の内容を示すレコードを追加し、通信確立数を1つ増加させ、更新後の接続管理テーブルを接続管理テーブル記憶部05が記憶する。この場合に、接続管理テーブルに追加するレコードの品質保証フラグには、予約ありを示す1を設定する。
また、予約管理テーブルに当該接続許可を反映させる。例えば、当該予約に対応するレコードに予約が実現したことを示す情報を書き込むようにする(例えばフラグ値を0から1にする)。そして、予約管理テーブル記憶部04が更新後の予約管理テーブルを記憶する。
その後、クライアント装置14がサービス提供部22との接続を確立する(S2500)。
【0023】
一方、S1100の判断において空きがない場合(S1100でNO)は、接続判定部08は、接続要求を行ったクライアント装置14に対してサービス提供部22との通信確立を許可しないが(S1500)(接続判定ステップ)、並行して、当該クライアント装置14が接続予約部07により予約がなされていたクライアント装置14(予約第2通信装置)に一致し、また、接続要求を送信した時刻が接続開始時刻以降であるかを判断する(S1600)(接続判定ステップ)。
S1600の判断において、接続要求を送信してきたクライアント装置14に予約がない場合、または、予約があっても接続開始時刻以降の接続要求でない場合(S1600でNO)は、接続予約部07が、当該クライアント装置14がサービス提供部22との接続を開始できる接続可能時刻を算出する(S1700)(接続予約ステップ)。接続可能時刻の算出方法の詳細は後述する。
次に、接続予約部07は、算出した接続可能時刻を通信部連携インタフェース09及び通信部10を介して通信機器13から、クライアント装置14に通知する(S1800)(接続予約ステップ)。
S1800において通知した接続可能時刻を許容する(接続可能時刻まで接続を待つ)との応答をクライアント装置14から得た場合には、接続予約部07は、当該クライアント装置14の識別子、接続開始時刻等を予約管理テーブルに登録し(クライアント装置14の接続を予約し)(S1900)(接続予約ステップ)、当該予約により予約管理テーブルで管理している予約数が増加する(S2000)(割当済み接続数管理ステップ)。これにより、接続判定部08により接続が許可されなかったクライアント装置14は、接続開始時刻以降の接続が保証される。
【0024】
一方、S1600の判断において、クライアント装置14に対して接続予約部07により予約がなされており、また接続開始時刻以降に接続要求がなされている場合(S1600でYES)は、接続判定部08は、予約なしで通信中のクライアント装置14の接続を切断する必要があるか否かを判断する(S2100)(接続判定ステップ)。
前述したように、S1100において空きがある場合(YESの場合)は、接続予約部07による予約がないクライアント装置14でもサービス提供部22との通信確立が許可される(S1200)。このため、サービス提供部22と通信を確立しているクライアント装置14は、予約に基づいてサービス提供部22と通信をしている予約ありクライアント装置14(予約あり接続第2通信装置)と予約に基づかずにサービス提供部22と通信をしている予約なしクライアント装置14(予約なし接続第2通信装置)がある。
詳細は後述するが、接続管理テーブルでは、通信中のクライアント装置14を予約の有無を識別して管理している。このため、接続判定部08は、接続管理テーブルから予約ありクライアント装置14の数(以下、予約あり通信確立数という)、予約なしクライアント装置14の数(以下、予約なし通信確立数という)、予約なしクライアント装置14の識別子を抽出することができる。
【0025】
予約なしクライアント装置14の接続の切断が必要と判断した場合(S2100でYES)は、接続判定部08は、予約なしクライアント装置14の接続を切断し(S2200)(接続判定ステップ)、接続要求を行ったクライアント装置14(予約ありクライアント装置)の接続を許可する(S2300)(接続判定ステップ)。
ここで、接続が切断された予約なしクライアント装置14(切断第2通信装置)が、再度サーバ装置01に接続した際に、切断された際にサーバアプリケーション12により提供されたサービスを再開できるように、接続が切断された予約なしクライアント装置14の識別情報及び切断の際にサーバアプリケーション12により行われていた処理内容をサービス提供部22又はサービス要求管理部02において記憶するようにする。
なお、接続が切断されたクライアント装置14が、再度通信を確立した際の処理は、実施の形態3において説明する。
【0026】
次に、接続判定部08は、通信確立数と予約数を更新する(S2400)(割当済み接続数管理ステップ)。
つまり、接続判定部08は、S2300における接続許可を反映させて、接続管理テーブルに当該接続許可の内容を示すレコードを追加し、通信確立数を1つ増加させ、更新後の接続管理テーブルを接続管理テーブル記憶部05が記憶する。この場合に、接続管理テーブルに追加するレコードの品質保証フラグには、予約ありを示す1を設定する。
また、予約管理テーブルに当該接続許可を反映させる。例えば、当該予約に対応するレコードに予約が実現したことを示す情報を書き込むようにしてもよいし(例えばフラグ値を0から1にする)、予約管理テーブルから当該予約に対応するレコードを削除して予約数を1つ減らしてもよい。そして。予約管理テーブル記憶部04が更新後の予約管理テーブルを記憶する。
その後、クライアント装置14がサービス提供部22との接続を確立する(S2500)。
【0027】
図23のS2100の判断は、具体的には、接続判定部08は、予約ありクライアント装置14の数と予約の数と制御用接続数との和(予約あり通信確立数+予約数+制御用接続数)と上限同時接続数とを比較し、和の値が上限同時接続数に達している場合は、通信規制を行う。
なお、この場合の予約数とは、接続可能時刻が現在時刻より前の予約、すなわち、既に接続可能時刻が開始している予約の数である。
【0028】
例えば、図24は、S2100の判断の具体例を示す。
図24では、上限同時接続数を10とし、これに対応させて、10個のマス目を示している。
また、制御用接続数は1(番号10)である。
図24(a)では、予約あり通信確立数が7つ(番号1〜7)であり、予約なし通信確立数が1つ(番号8)であり、予約数が1つ(番号9)である。
予約あり通信確立数+予約数+制御用接続数=7+1+1=9であり、上限同時接続数に達していないので、通信規制は必要ない。
一方、図24(b)では、予約あり通信確立数が8つ(番号1〜8)であり、予約数が1つ(番号9)である。
予約あり通信確立数+予約数+制御用接続数=8+1+1=10であり、上限同時接続数に達していなるので、通信規制が必要である。
そして、接続判定部08は、予約なしクライアント装置14の有無を調べ、図24(b)の場合は、予約なしクライアント装置14が存在する。予約なしクライアント装置14は予約のために確保されている資源を用いてサービス提供部22と接続しているので、予約なしクライアント装置14の接続を切断する。
また、図24(c)では、予約あり通信確立数が7つ(番号1〜7)であり、予約数が2つ(番号8、9)である。
予約あり通信確立数+予約数+制御用接続数=7+2+1=10であり、上限同時接続数に達していなるので、通信規制が必要である。
この場合は、予約なしクライアント装置14が1つ存在するが、予約は2つ存在し、他方の予約の対象となっているクライアント装置14からはまだ接続要求が来ていない状態なので、予約なしクライアント装置14の接続を維持していても、予約に基づいて接続要求を行ったクライアント装置14はサービス提供部22と接続を開始することができる。このため、この場合は、予約なしクライアント装置14の接続を切断しなくてもよい。ただし、図24(c)に示す場合において、予約なしクライアント装置14の接続を切断するようにしてもよい。
図24(d)では、予約あり通信確立数が7つ(番号1〜7)であり、予約数が2つ(番号8、9)である。
予約あり通信確立数+予約数+制御用接続数=7+2+1=10であり、上限同時接続数に達していなるので、通信規制が必要である。
この場合は、予約なしクライアント装置14が2つ存在し、予約が2つ存在する。2つの予約なしクライアント装置14のいずれか一方の接続を切断しないと、予約に基づいて接続要求を行ったクライアント装置14はサービス提供部22と接続することができないので、2つの予約なしクライアント装置14のいずれか一方の接続を切断する。ただし、図24(d)に示す場合において、2つの予約なしクライアント装置14の両者の接続を切断するようにしてもよい。
【0029】
次に、図1から図5を基にサービス要求管理部02の機能構成について説明する。
【0030】
サービス要求管理部02は、クライアントアプリケーション15からのサービス要求の受付可否を判断する際に、接続管理テーブル記憶部05に格納される接続管理テーブル、予約管理テーブル記憶部04に格納される予約管理テーブル、規制履歴テーブル記憶部03に格納される規制履歴テーブルの各々のデータを必要に応じて取得する。
ここで、接続管理テーブル、予約管理テーブル、規制履歴テーブルの詳細を説明する。
【0031】
接続管理テーブル記憶部05に格納されている接続管理テーブルは、サーバ装置01と通信を確立するクライアント装置14との通信確立情報を格納するデータ領域である。
接続管理テーブルは、SQL言語を利用可能なDBMS(DatabaSe Management SyStem)によって管理可能なリレーショナルデータベースから構成されるものであってよい。
接続管理テーブルは、例えば、図2に示すように、接続識別子カラム101、接続元カラム102、接続先カラム103、開始日時カラム104、切断日時カラム105、品質保証フラグカラム106から構成される。
【0032】
接続識別子カラム101は、接続管理テーブルのカラムの組、つまり、接続管理テーブルの各レコードを一意に識別するための接続識別子を格納するカラムである。
接続元カラム102は、サーバ装置01と通信を確立するクライアント装置14をネットワーク上で一意に識別する情報を格納するカラムである。
接続先カラム103は、クライアント装置14が通信を確立するサーバ装置01をネットワーク上で一意に識別する情報を格納するカラムである。
開始日時カラム104は、サーバ装置01とクライアント装置14が通信を開始した日時情報を格納するカラムである。
切断日時カラム105は、サーバ装置01とクライアント装置14が通信を終了した日時情報を格納するカラムである。
品質保証フラグカラム106は、サーバ装置01とクライアント装置14との通信が予約に基づくか否かを示す品質保証フラグの値を格納する。品質保証フラグは、予約に基づかない通信であれば0が設定され、予約に基づく通信であれば1が設定される。
【0033】
予約管理テーブル記憶部04に格納されている予約管理テーブルは、サーバ装置01と通信が予約されたクライアント装置14の情報が格納されるデータ領域である。
予約管理テーブルは、SQL言語を利用可能なDBMSによって管理可能なリレーショナルデータベースから構成されるものであってもよい。
予約管理テーブルは、例えば、図3に示すように、予約識別子カラム201、接続元カラム202、接続先カラム203、開始日時カラム204、終了日時カラム205、帯域カラム206、m−typeカラム207、状態カラム208から構成される。
【0034】
予約識別子カラム201は、予約管理テーブルのカラムの組、つまり、予約管理テーブルの各レコードを一意に識別する予約識別子を格納するカラムである。
接続元カラム202は、サーバ装置01との通信確立を要求するクライアント装置14をネットワーク上で一意に識別する情報を格納するカラムである。
接続先カラム203は、クライアント装置14が通信確立を要求するサーバ装置01をネットワーク上で一意に識別する情報を格納するカラムである。
開始日時カラム204は、サーバ装置01との接続が許可されなかったクライアント装置14がサーバ装置01と接続できるようになる接続可能時刻、つまり、通信確立を開始できる予定の日時情報を格納するカラムである。
終了日時カラム205は、クライアント装置14とサーバ装置01との通信確立を終了する予定日時情報を格納するカラムである。
帯域カラム206は、クライアント装置14とサーバ装置01間の通信を確立する際の帯域が示されるカラムである。
m−typeカラム207は、クライアント装置14とサーバ装置01間の通信で送受信される映像や音声、データなどの情報種別を格納するカラムである。
状態カラム208は、接続元カラム202に登録されるクライアント装置14から接続先カラム202に登録されるサーバ装置01との間で開始日時カラム204に登録される日時から終了日時カラム205に登録される日時までの通信確立予約の実施状況を格納するカラムである。つまり、状態カラム208の値が1であれば、クライアント装置14が既にサーバ装置01と通信を確立していることを示す。一方、状態カラム208の値が0であれば、サーバ装置01との接続が可能となる開始日時が到来しているにもかかわらず、クライアント装置14は未だサーバ装置01と通信を確立していないことを示す。
【0035】
規制履歴テーブル記憶部03に格納されている規制履歴テーブルは、サービス要求管理部02により通信が切断されたクライアント装置の情報が格納されるデータ領域である。
規制履歴テーブルは、SQL言語を利用可能なDBMSによって管理可能なリレーショナルデータベースから構成されるものであってよい。
規制履歴テーブルは、例えば、図4に示すように、接続識別子カラム301、接続元カラム302、接続先カラム303、規制実施時刻カラム304から構成される。
【0036】
接続識別子カラム301は、規制履歴テーブルカラムの組、つまり、規制履歴テーブルの各レコードを一意に特定する接続識別子を格納するカラムである。
接続元カラム302は、サーバアプリケーション12との通信を切断されたクライアント装置14を一意に識別する情報を格納するカラムである。
接続先カラム303は、クライアント装置14が通信を確立するために通信部10に送信した通信確立要求から取得されるサーバ装置を一意に識別する情報を格納するカラムである。
規制実施時刻カラム304は、通信切断が実施された時刻を格納するカラムである。
接続元カラム302と接続先カラム303に格納される情報は、クライアント装置14から通信機器13に送信されたSIP−INVITEなどの通信確立要求から取得される情報である。
【0037】
次に、接続予約部07と規制管理部06を説明する。
【0038】
接続予約部07は、予約管理テーブル(図3)を構成する予約識別子カラム201によって識別されるレコードから成る通信確立予約情報を操作する機能を有する。
接続予約部07は、DBMSに対応した標準化されたドライバソフトウェアを利用して予約管理テーブルに格納されるレコードに対するSELECT命令、INSERT命令、UPDATE命令、DELETE命令を実行する機能を有する。
また、接続予約部07は、アプリケーションプログラムインタフェースとして構成されるものであってよい。
【0039】
規制管理部06は、規制履歴テーブル(図4)を構成する接続識別子301によって識別されるレコードから成る通信規制履歴情報を操作する機能を有する。
規制管理部06は、DBMSに対応した標準化されたドライバソフトウェアを利用して規制履歴テーブルに格納されるレコードに対するSELECT命令を実行する機能を有する。
また、規制管理部06は、アプリケーションプログラムインタフェースとして構成されるものであってよい。
【0040】
また、サーバアプリケーション12は、アプリケーションプログラムインタフェースとして接続予約部07を利用することにより、クライアント装置14からの通信確立予約の要求に基づき、サービス要求管理部02の予約管理テーブル(図3)の前記カラムから成る通信確立予約情報の登録、変更、削除要求を受け付ける機能を備えていてもよい。
また、サーバアプリケーション12は、アプリケーションプログラムインタフェースとして規制管理部06を利用することにより、サービス要求管理部02によって通信を切断されたクライアント装置14の情報を取得する機能を有していてもよい。
【0041】
規制管理部06は、通信規制によりサーバ装置01とクライアント装置14間との通信が切断された際に、図5に示す規制履歴通知リストをサーバアプリケーション12に送信し、通信が切断されたクライアント装置14をサーバアプリケーション12に通知することができる。
規制履歴通知リストには、通信が切断されたサーバ装置01をネットワーク上で一意に特定する情報を格納する接続先カラム402と、通信の切断情報を送信する宛先IPアドレス情報を格納するIPカラム403と、ポート情報を格納するPortカラム404と、これらカラムの組を一意に識別する情報を格納するリスト識別子カラム401がある。
【0042】
次に、図6、図7を基にクライアント装置14とサーバ装置01間における通信確立までの処理手順の詳細を説明する。
【0043】
S1において、クライアント装置14がネットワーク通信機能を有するクライアントアプリケーション15を起動する。
クライアントアプリケーション15は、予め通信を確立するクライアント装置14をネットワークで一意に識別する情報を保持しており、この識別情報に基づき、ネットワーク通信機能を介してサーバ装置01との接続要求を送信する。
ここで、通信を確立するクライアント装置14をネットワークで一意に識別する情報は、ユーザが入力する形態をとってもよい。
S1において、クライアントアプリケーション15が保有する、サーバ装置01をネットワーク上で一意に識別する情報は、既知の通信技術であるSIP(Session Initiation Protocol)に基づき記述される通信接続先をネットワーク上で一意に特定する識別子である。
S1において、クライアントアプリケーション15は、サーバ装置01と通信を確立する際にSIPを利用した通信を行うための機能を備える。
S1において、クライアントアプリケーション15はSIP通信機能を利用してサーバ装置01との接続を要求するINVITEメッセージを接続要求として送信する。
【0044】
S2において、サーバ装置01に接続された通信機器13は、クライアントアプリケーション15が送信したINVITEメッセージを受信し、接続要求の到着を検知する。
S2において、通信機器13はSIP通信機能を備えた機器であり、ネットワークとサーバ装置01の間に設置されるハードウェア装置である。
【0045】
S3において、サーバ装置01と接続された通信機器13は、クライアントアプリケーション15から送信されたINVITEメッセージを取得し、INVITEメッセージに記された通信確立要求元をネットワーク上で一意に識別する情報を取得する。
S3において通信機器13が取得する通信確立要求元を一意に特定する情報は、INVITEメッセージのヘッダー部に記述されるFrom記述に基づくものであってよい。
S3において、通信機器13は、ボディ部に記述されるSDP(Session Description Protocol)に従って記される通信メディア形態や通信帯域を指定するパラメータを取得する。
S3において、通信機器13は、少なくとも前記取得した通信確立元の識別情報502と通信確立先識別情報503とメディア形態504と通信帯域505を接続要求情報501(図7)に示す構造体を通信パラメータ変換してサービス要求管理部02に送信する。
【0046】
S4において、サービス要求管理部02は、通信部10にて通信機器13が取得した前記接続要求情報501(図7)を取得し、通信パラメータ形式から構造体へ変換する。
S4において、通信部10は通信部連携インタフェース09にて指定される接続判定関数を呼び出す。
S4において、接続判定関数は、引数として少なくとも前記接続要求情報501構造体に示される情報と通信部からの要求を識別する接続ハンドラを備える。
【0047】
S5において、接続判定部08は接続管理テーブルから確立中の品質保証通信の通信情報を取得する。
S5において、接続判定部08が取得する前記通信情報は、少なくとも図2に示す情報を含む。
S5において、接続判定部08は前記通信情報から開始日時104が現在時刻以前で切断日時105がnullであるレコードの数を通信確立数として取得する。
ここでnull値は切断されていない通信確立を意味するものであれば、他の値であってもよい。
また、S5において、接続判定部08は予約管理テーブル(図2)より開始時刻204と終了日時205の間に現在時刻が含まれており、かつ状態カラム208の値が0であるレコードの総数を予約数として取得する。
ここで状態カラム208の値0とは、予約管理テーブル(図3)に格納されたサービス要求予約が未実施であることを意味しており、実施と未実施を判別可能であるならばその値は0以外であってもよい。
【0048】
S6において、接続判定部08は、前記取得した通信確立数と予約数と制御用通信確立数の合計値と予めサーバ装置01とサーバ装置01がネットワークを利用する通信事業者との間で規定された上限同時通信確立数を比較し、前記合計値が上限同時通信確立数に達しているか否かを判定する。
ここで制御用通信確立数は、サーバ装置01の処理速度と対象ユーザ数により策定されるものであり、サーバ装置01の同時通信数が通信事業者の定める同時接続数の上限に到達することを防ぐ制御用の通信確立の数である。
S6において前記合計値が前記上限同時通信確立数未満の場合(接続数に空きがある場合)はS7へ処理が移行する。前記合計値が前記上限同時通信確立数以上の場合(接続数に空きがない場合)はS9へ処理が移行する。
【0049】
S6でNOの場合は、S7において、前記通信確立数が前記上限同時通信確立数以下の場合、接続判定部08は前記接続要求情報501(図7)に格納される情報を基に、図2に示す接続管理テーブルのレコード挿入データを作成する。
このとき、当該通信確立を要求する接続元情報と現在時刻を基に予約管理テーブル(図3)を検索する。開始日時204と終了日時205の間に現在時刻が含まれ、かつ前記接続元情報が接続元カラム202と一致するレコードが予約管理テーブルに存在する場合は通信予約が実施されたものと判定し、接続管理テーブルの品質保証フラグ106に1を指定し、レコードを作成する。また、この場合は、予約管理テーブルの状態カラム208の値を1にする。状態カラム208の値1は、予約が実施されたことを意味する。
一方、予約管理テーブルにレコードが存在しない場合は、事前に通信予約が登録されていない通信要求と判定し、品質保証フラグ106に0を指定する。
ここで品質保証フラグ106の値0とは、予約管理テーブルに登録された通信でないことを意味するものであり、同義を示す値であれば0、1以外の値を格納してもよい。
【0050】
S71において、接続判定部08は、S7で作成したレコードを接続管理テーブルに挿入する。
S8において、接続判定部08は、通信確立可能であると判定した結果を通信部連携インタフェース09および通信部10を介して、通信機器13に返却する。
S8において接続判定部08は、クライアントアプリケーション15から送信されたINVITEメッセージにOKを返却し、サーバ装置01とサービス要求元クライアント装置14との品質保証通信を確立する。
【0051】
また、上記のS6でYESの場合、つまり、前記取得した通信確立数と予約数と制御用通信確立数の合計値が前記上限同時通信確立数以上の場合は、S9において、接続判定部08は前記接続管理テーブルから取得したレコードにおいて品質保証フラグの値に0が格納されているレコードを除いたレコードの数を求め、取得したレコード数(品質保証フラグの値が1のレコードの数)と予約数と制御用通信確立数との合計値が前記上限同時通信確立数以上であるか否かを判定し、合計値が上限同時通信確立数以上である場合は規制実施が必要として、規制実施フラグを立てる。
【0052】
また、S10において、接続判定部08は前記接続要求情報501(図7)に格納される接続元識別子502と現在時刻を基に予約管理テーブル(図3)に対して接続元識別子502が接続元カラム202に含まれ、かつ現在時刻が開始日時204と終了日時205の間に含まれる予約レコードの有無を検索する。つまり、接続判定部08は、接続の予約が行われているクライアント装置14が予約された時刻に接続要求情報501を送信してきたものであるか否かを判断するために、予約管理テーブルを検索する。
ここで接続判定部08の予約レコード取得の処理手順については、図16を用いて後述するため説明を省略する。
【0053】
次に、接続判定部08は、S11において、予約管理テーブルに前記条件に該当する予約レコードが存在するか否かを判定する。レコードが存在しない場合(接続要求情報501が予約に基づかない場合)は、S16へ処理が移行する。レコードが存在する場合(接続要求情報501が予約に基づく場合)は、S12へ処理が移行する。
【0054】
S11でNOの場合、つまり、予約管理テーブルに条件に該当する予約レコードが存在しない場合は、S16において、接続判定部08は通信部連携インタフェース09および通信部10を介して通信機器13に対して通信確立不可能を返却する。
S16において、接続判定部08はクライアントアプリケーション15に対して通信確立不可能とのSIPメッセージを返却する。
なお、このS16のステップとともに、図23に示したS1700〜S2000の処理が行われるが、これらの処理の詳細は、図8及び図9とともに後述する。
【0055】
S11でYESの場合、つまり、予約管理テーブルに条件に該当する予約レコードが存在する場合は、S12において、接続判定部08は規制実施フラグが立っているか否かを判定する。
規制実施フラグが立っている場合は、S13へ処理を移行し、規制実施フラグが立っていない場合は、S15へ処理を移行する。
【0056】
S12でYESの場合、つまり、規制実施フラグが立っている場合は、S13において、接続判定部08は、接続管理テーブル(図2)より品質保証フラグの値に0が格納されるレコードを対象に開始日時104に格納される値が最も小さいレコードを取得し、当該レコードの接続元カラム102に示されるクライアント装置と接続先カラム103に示されるサービス提供部22との通信を切断する。
つまり、品質保証フラグの値に0が格納されているレコードは、予約に基づかずにサービス提供部22と接続しているクライアント装置についてのレコードであり、予約に基づいて接続要求情報501を送信してきたクライアント装置の接続を可能とするために、予約に基づかずに接続しているクライアント装置の通信を切断する。
【0057】
次に、S14において、接続判定部08は前記通信を規制した接続元情報と接続先情報と規制を実施した時刻を図4に示す規制履歴テーブル(図4)のレコードとして格納する。
また、S14において、規制履歴テーブル(図4)にレコードが挿入されたことを検出した規制管理部06は図5に示す規制履歴通知リストの接続先カラム402と前記挿入されたレコードの接続先カラム303が一致するレコードに格納されたIPカラム403とPort404に対して(IPカラム403とPort404で特定されるサーバアプリケーション12に対して)前記規制履歴テーブルに挿入されたレコードの接続識別子を通知する。
S14の通知に対して行われる処理は、実施の形態3で説明する。
【0058】
また、S12でNOである場合、または、S14の処理が終了した後に、S15において、接続判定部08は、S2で受信した接続要求は事前に通信確立が予約されている要求と判断し、接続管理テーブル(図2)に通信情報レコードを挿入する。このとき、通信情報レコードの品質保証フラグ106の値は1を格納する。
ここで品質保証フラグ106の値1とは、予約管理テーブルに登録された通信(予約に基づく通信)であることを意味するものであり、同義を示す値であれば1以外の値を格納してもよい。
【0059】
次に図8と図9を基に本実施の形態のサービス要求管理部02とクライアントアプリケーション15における通信要求からサービス提供開始までの処理手順の詳細を述べる。
【0060】
S101において、クライアント装置14においてユーザはクライアントアプリケーション15を起動する。
クライアントアプリケーション15は、SIP通信機能を備え、クライアント装置14のOS上で実行するソフトウェアプログラムである。
【0061】
S102において、クライアントアプリケーション15は、ユーザに対してサーバアプリケーション12利用のための認証情報を取得する。具体的には、サーバアプリケーション12が管理するログインユーザ文字列、パスワード文字列が該当する。
なお、サーバアプリケーション12の仕様により、前記認証情報の取得は省略されてもよい。
S102において、SIP通信による品質保証通信をサーバ装置と確立するための接続先情報は予めクライアントアプリケーションの設定情報として登録されていても、認証情報取得時にユーザが入力してもよい。
【0062】
S103において、クライアントアプリケーション15はユーザから入力された認証情報をメモリ上に保持し、サーバ装置01と通信を確立するためのSIPメッセージ(INVITEメッセージ)を送信し、サーバ装置01に接続された通信機器13からの応答を待つ。
なお、本実施の形態において、SIPメッセージは、品質保証通信の確立を要求するものとする。
【0063】
S104において、サーバ装置01から通信確立可能とのSIPメッセージが返却された場合、ネットワーク経由にてサービスアプリケーションの機能を利用するS108の処理へ移行し、通信確立不可能とのSIPメッセージが返却された場合、S105へ処理を移行する。
【0064】
S104においてNOの場合、つまり通信確立不可能とのSIPメッセージがサービス要求管理部02から返却された場合は、S105において、クライアントアプリケーション15はクライアント装置14のユーザにサーバアプリケーション12のサービスを提供するため、品質保証通信の確立可能な最短時間の取得要求をサービス要求管理部02に送信する。
S105において、最短時間の取得をサービス要求管理部02に要求する際は同時通信確立数の上限に関与しないベストエフォート品質にてサーバ装置と通信を確立する。
S105において、クライアントアプリケーション15は品質保証通信の確立最短時間がサービス要求管理部02から返却されるのを待つ。このときの確立最短時間の算出処理の流れは後述するため、ここでは説明を省略する。
【0065】
S106において、クライアントアプリケーション15は、サーバ装置との通信不可能をクライアント装置14のユーザに表示すると共に、サービス要求管理部02から返却された品質保証通信確立までの最短時間を表示する。また、クライアントアプリケーション15は、更に、品質保証通信確立までの待ち時間をユーザが許容できるか否かを確認をユーザに求める内容の画面を表示する。
【0066】
S107において、品質保証通信確立の待ち時間をユーザが許容した場合、クライアントアプリケーション15は許容可能である旨をサービス要求管理部02に通知し、待ち時間経過後にS103の処理に移行する。
ユーザが待ち時間を許容しない場合は、許容不可能をサービス要求管理部02に通知し、S111の処理に移行する。
【0067】
S104でYESの場合、つまり、通信確立可能とのSIPメッセージが返却された場合、S108において、サーバ装置01と品質保証通信を確立したクライアントアプリケーション15はサーバアプリケーション12にサービス実行の要求を送信する。
サーバアプリケーション12はクライアントアプリケーション15からの要求に応じて実行対象となるサービスコンポーネント11を設定し、サービスコンポーネント11を呼び出し、取得した実行結果を適切な形式に加工しクライアントアプリケーション15に品質保証通信ネットワークを介して送信することによりサービスを提供する。
S108の処理は、少なくとも一回以上繰り返し、S109の処理へ移行する。
【0068】
S109においてクライアントアプリケーション15は、ユーザへのサービス提供を終了する。
S110においてクライアントアプリケーション15は、サーバ装置01に品質保証通信切断のSIPメッセージを送信する。
そして、クライアントアプリケーション15は、サーバ装置01に接続される通信機器13から切断可能のSIPメッセージが返却されるのを待つ。
S111において。クライアントアプリケーション15は、サーバ装置01から通信切断SIPメッセージが返却されたことを確認し、終了する。
【0069】
次に、図9を参照して、サービス要求管理部02の接続予約部07にて実施する通信飽和時における品質保証通信の確立予約の処理手順を述べる。
【0070】
図8のS105においてクライアントアプリケーション15から通信確立可能な最短の予約時間問い合わせを受けた際に、接続予約部07は、S201の処理へ移行する。
S201において、接続予約部07は、クライアントアプリケーション15より送信されたSIP通信接続元情報を含む予約時間問い合わせ要求を通信部10及び通信部連携インタフェース09を通じて受信する。
【0071】
次に、接続予約部07は、S202において、受信した予約時間問い合わせ要求から、最短の予約時間を問い合わせるクライアント装置14のSIP通信接続元情報を取得する。
【0072】
次に、接続予約部07は、S203において、予約情報を取得する。
より具体的には、接続予約部07は、予約管理テーブル(図3)から終了日時205が現在時刻以降である予約レコードを取得する。
【0073】
次に、S204において、接続予約部07は、S203で取得した予約レコードから単位時間当たりの予約登録数を取得する。
この単位時間は、クライアントアプリケーション15がサービス提供を要求するサーバアプリケーション12において提供されるサービスの一連の処理(ビジネスプロセス)の実施に必要な時間によって決定されるものとする。
また、接続予約部07は、S204において、接続管理テーブル(図2)から、開始日時104が現在時刻以前であり切断日時105がnullの通信確立レコードを取得する。
また、接続予約部07は、S204において、前記制御用通信確立数と前記通信確立レコードと前記単位時間当たりの予約登録数を基に、単位時間当たりの想定接続数を求め、想定接続数が通信事業者の定める上限同時接続数以下となる直近の単位時間の開始時刻と終了時刻を取得する。
【0074】
次に、S205において、接続予約部07は、現在時刻と前記取得した直近の単位時間の開始時刻の差分を算出し、算出した差分を待ち時間としてクライアントアプリケーション15に送信し、許容可能であるか否かの応答を待つ。
そして、S206においてクライアントアプリケーション15からの通信接続待ち時間が許容できるか否かの応答を取得し、S207へ移行する。
【0075】
S207において、サービスを要求しているクライアント装置14のユーザがクライアントアプリケーション15を介して待ち時間が許容可能であると応答した場合、接続予約部07は、S208へ処理を移行する。
ユーザが待ち時間許容不可能と判断し、クライアントアプリケーション15を介して応答した場合、S210へ処理を移行する。
【0076】
S207でYESの場合は、接続予約部07は、S208において、S202にて取得した接続元情報とS204によって算出した最短待ち時間である開始日時(接続可能時刻)と当該開始日時に単位時間を追加した終了日時を予約管理テーブル(図3)に書き込み、通信接続予約を登録する。
また、接続予約部07は、S209において、クライアントアプリケーション15に予約結果を送信する。
【0077】
以上の説明では、接続予約部07が、接続可能時刻を算出する例を説明したが、サーバアプリケーション12が接続予約部07を用いて接続可能時刻を算出するようにしてもよい。
この場合の処理を図9に沿って説明する。
【0078】
図8のS105においてクライアントアプリケーション15から通信確立可能な最短の予約時間問い合わせを受けたサーバアプリケーション12は、S201の処理へ移行する。
S201において、サーバアプリケーション12は、クライアントアプリケーション15よりSIP通信接続元情報を含む予約時間問い合わせ要求を受信する。
【0079】
S202において、サーバアプリケーション12は、受信した予約時間問い合わせ要求から、最短の予約時間を問い合わせるクライアント装置14のSIP通信接続元情報を取得する。
【0080】
次に、S203において、サーバアプリケーション12は、接続予約部07に対して予約問い合わせ処理を実施する。
S203において、予約管理テーブル(図3)から終了日時205が現在時刻以降である予約レコードを取得する。
【0081】
次に、S204において、サーバアプリケーション12は、接続予約部07が取得した予約レコードのから単位時間当たりの予約登録数を取得する。
また、S204において、サーバアプリケーション12は、接続予約部07から、接続管理テーブル(図2)において開始日時104が現在時刻以前であり切断日時105がNULLの通信確立レコードを取得する。
また、S204において、サーバアプリケーション12は、前記制御用通信確立数と前記通信確立レコードと前記単位時間当たりの予約登録数を基に、単位時間当たりの想定接続数を求め、想定接続数が通信事業者の定める上限同時接続数以下となる直近の単位時間の開始時刻と終了時刻を取得する。
この単位時間は、サーバアプリケーション12が提供するサービスの一連の処理(ビジネスプロセス)の実施に必要な時間によって決定されるものとする。
【0082】
次に、S205において、サーバアプリケーション12は、現在時刻と前記取得した直近の単位時間の開始時刻の差分を算出し、算出した差分を待ち時間としてクライアントアプリケーション15に送信し、許容可能であるか否かの応答を待つ。
そして、S206においてクライアントアプリケーション15からの通信接続待ち時間が許容できるか否かの応答を取得し、S207へ移行する。
【0083】
S207において、サーバアプリケーション12は、サービスを要求しているクライアント装置14のユーザがクライアントアプリケーション15を介して待ち時間が許容可能であると応答した場合、S208へ処理を移行する。
ユーザが待ち時間許容不可能と判断し、クライアントアプリケーション15を介して応答した場合、S210へ処理を移行する。
【0084】
S207でYESの場合は、S208において、サーバアプリケーション12は、S202にて取得した接続元情報とS204によって算出した最短待ち時間である開始日時(接続可能時刻)と当該開始日時に単位時間を追加した終了日時を基に接続予約部07を介して、予約管理テーブルに書き込み、通信接続予約を登録する。
また、S209において、サーバアプリケーション12は接続予約部07の実行結果を取得し、クライアントアプリケーション15に予約結果を送信する。
【0085】
次に、図16を基に、接続予約部07が、予約管理テーブル(図3)から所定のレコードを取得する際の手順について述べる。
図16の処理が行われるのは、図6のS10や図9のS203においてである。
【0086】
S400において、サービス要求管理部02の接続予約部07が呼び出された際に指定される引数を取得する。
接続予約部07は、引数として少なくとも予約管理テーブルに格納される接続元カラム202、開始日時204、終了日時205から構成され、それら全てが指定される必要はない。
S401において、引数に接続元カラム202情報が指定されているか否かを判定する。
S402において、引数に指定される接続元カラム202情報をプログラムメモリ上に格納する。
S403において、引数に開始日時204情報が指定されているか否かを判定する。
S404において、引数に指定される開始日時204情報をプログラムメモリ上に格納する。
S405において、引数に終了日時205情報に指定されているか否かを判定する。
S406において、引数に指定される終了日時205情報をプログラムメモリ上に格納する。
S407において、プログラムメモリ上に格納された接続元カラム202情報と開始日時カラム204情報と終了日時カラム205情報の値を取得し、前記プログラムメモリ上に格納された値を基にSQLのwhere句の条件式を生成し、それぞれの条件式をAND句にて接続し、予約管理テーブルの全てのカラムを取得する検索文字列を生成する。
S408において、予約管理テーブルを操作するDBMSに対してS407で生成した検索文字列によるSQLのSELECT処理を実施し、検索結果として取得したレコードを返却パラメータとして呼び出し基に返却する。
【0087】
以上説明したように、本実施の形態では、サーバ装置01への通信確立要求が重複し、サービス要求元クライアント装置14とサーバ装置01間の品質保証通信が不確立となる状態であっても、制御用通信確立数を設けることによりクライアント装置14からサーバ装置01への通信要求が到着しない状態を回避することを可能とする。
【0088】
また、予約管理テーブルにて次接続要求の予約を管理することにより、次接続までの待ち時間をユーザに示すことが可能となる。
これにより、通信不確立状態にて接続可能となるまでユーザが繰り返し通信確立を要求する事態を回避することができ、接続判定部の処理負荷増大を抑制することが可能となる。
また、接続可能となるまでユーザが繰り返し通信確立を要求する事態を回避することで、輻輳を制限することができる。
【0089】
また、特定の接続元情報を予約管理テーブルに継続的に登録することにより、特別な優先管理手段を設けることなく特定のユーザから品質保証通信を常に受け付けるユーザの優先度管理を実現することが可能となる。
【0090】
また、通信部10と通信部連携インタフェース09を備えることにより、サーバ装置01と接続する通信機器13を変更することにより、通信機器13から通信部10への複数種類の通信方式から接続判定部を呼び出すことを可能とする。これにより通信機器13を変更した場合であっても接続判定部08を変更する開発コストの発生を抑えることができる。
【0091】
同時接続数が制限される通信システムにおいては、サービス要求に対する接続数に閾値を設定することと接続待ちキューを設けることによって、すべてのサービス要求がサーバに到達することを可能とする方式が考えられる。このような方式では、サーバがサービス要求到達順序を管理し、接続数飽和状態が回復した際にサービス要求順序に基づき、クライアントと通信を確立することが可能となる。
この方式では、接続数飽和状態により通信が確立できなかったクライアントは接続待ちキューに登録されるが、サービスが開始される時刻を知ることができない。このため、キューに登録されていても、利用者は、サービスが提供される時刻を知りえないため、接続数飽和状態が解消しサービスの利用が可能な状態になっても、キューに登録されているクライアントからの再接続がなく、キューサイズが減少しない可能性がある。このような場合は、キューに登録されているクライアントからの再接続が行われるかどうかが不明の状態で、キューに登録されているクライアントからの再接続のために接続数を確保し続けなければならない。
つまり、この方式では、キューに登録されているクライアントにサービスを提供するための接続と、キューに登録されていない新規クライアントとサーバとの接続を確保するため、同時接続可能数はキューサイズ以上である必要があるが、接続数飽和状態から回復した際に、接続数が飽和する状態でサービス利用を要求したクライアント(キューに登録されているクライアント)から再度サービス利用要求が到着しない場合、キューサイズが減少せず、システム全体の接続可能数とキューサイズの差分、すなわち新規接続数が困窮する課題がある。
【0092】
以上説明したように優先度を設ける方式および、接続待ちキューを設ける方式ともに、クライアントは通信が確立される時間を知ることができないため、クライアントからサービス利用が再度要求されない場合は、サービスレベルを保つために不要な接続を担保することになるが、本実施の形態では、接続数飽和状態の場合は、接続予約部07が接続可能時刻を算出し、接続可能時刻以降の接続を予約し、クライアントに接続可能時刻を通知することで、クライアントが接続可能時刻に再接続を行うことが期待でき、不要な接続を担保する必要がないと効果を持つ。
【0093】
また、従来方式では、他クライアントの利用が終了しない場合には、接続待ちキューに登録されても通信が確立せずにサービスを提供できない場合が発生するが、本実施の形態によれば、予約管理テーブルがアプリケーションと通信を連携させるデータとなり、接続可能時刻が予約された際には、確実に通信接続を確立可能できるためサービスレベルを一定以上に保つことが可能となる効果を持つ。
つまり、クライアントからすると、接続可能時刻以降の接続が予約により確保されるので、確実にサービスの提供を受けることができる。
また、接続可能時刻を過ぎても予約のあるクライアントからの再接続がない場合は、予約のないクライアントに、予約のあるクライアントのために確保している接続を暫定的に割り当てることができ、通信リソースを有効に活用することができる。
また、予約のないクライアントに、予約のあるクライアントのために確保している接続を暫定的に割り当てている際に、予約のあるクライアントからの再接続があった場合には、予約のないクライアントの接続を切断し、予約のあるクライアントに割り当て直すので、予約のあるクライアントは確実にサービスの提供を受けることができる。
【0094】
また、本実施の形態に示すサービスシステムにより、特定のユーザの接続元情報を予約管理テーブルに随時登録することにより特別にユーザの優先度を管理する装置を追加することなく、特定のユーザからの品質保証通信を常に確立する優先度管理を実施するなどの処理が可能となる。
また、本実施の形態に示すサービスシステムにより、サービスを提供するアプリケーションが自動的に品質保証通信を確立するために通信予約を実施するなどの処理が可能となる。
【0095】
以上、本実施の形態では、
サーバ装置にたいしてサービス利用要求を発行する複数のクライアント装置と前記クライアント装置からのサービス利用要求を受信する通信機器と、前記サービス利用要求に対応してサービスを提供するサーバ装置と前記クライアントと前記サーバ装置との通信を管理する通信予約管理装置からなるサービスシステムにおいて、
通信予約管理装置は、
前記クライアント装置からのサービス利用要求に対応して前記サーバ装置へのサービス提供のための通信確立を管理する接続管理テーブルと、
前記通信機器からの接続判定要求を受け付ける手段と、
サービス利用要求に対応するサービス提供のための通信確立数の上限を管理する手段と、
前記クライアント装置からのサービス利用要求への対応可否を判定する接続判定部と、
判定結果を前記通信機器に通知する手段と、
前記クライアント装置からのサービス利用のための通信確立の予約を受け付ける接続予約部とを、
備えるサービス要求管理システムを説明した。
【0096】
また、本実施の形態では、
前記通信予約管理装置が、更に、
前記接続予約部が受け付けた通信確立の予約情報を格納する予約管理テーブルを備え、
接続可否を判定する際に、前記予約管理テーブルに格納された情報を基に接続判定を行う前記接続判定部を備えることを説明した。
【0097】
また、本実施の形態では、
前記通信予約管理装置が、更に、
前記サービス提供のための通信確立数を管理する手段であって、
サービス提供数の上限を前記予約管理テーブルに格納された情報を基に算出する手段を備えることを説明した。
【0098】
また、本実施の形態では、
前記通信予約管理装置が、更に、
前記予約管理テーブルに格納された情報を基に算出されたサービス提供のための通信確立数の変動に応じて、サービス提供数の上限を管理する接続判定部を備えることを説明した。
【0099】
また、本実施の形態では、
前記通信予約管理装置が、更に、
同時接続数が増加した場合、前記サービス利用を予約しているクライアントへサービスを提供するために他クライアントとの通信を切断する接続判定部を備えることを説明した。
【0100】
また、本実施の形態では、
前記通信予約管理装置が、更に、
接続判定部が通信を切断したクライアントの情報を管理する規制履歴テーブルを備えることを説明した。
【0101】
また、本実施の形態では、
前記通信予約管理装置が、更に、
規制履歴テーブルに格納された情報を取得する規制管理部を備えることを説明した。
【0102】
また、本実施の形態では、
前記サーバ装置が、更に、
クライアント装置からのサービス利用要求に応じて自動的に前記接続予約部を介して前記予約管理テーブルに情報を登録する手段を備えることを説明した。
【0103】
また、本実施の形態では、
前記サーバ装置が、更に、
クライアント装置からの要求に応じて予約管理テーブルに通信確立の予約を登録する手段を備えることを説明した。
【0104】
また、本実施の形態では、
サーバ装置にたいしてサービス利用要求を発行する複数のクライアント装置と前記クライアント装置からのサービス利用要求を受信する通信機器と、前記サービス利用要求に対応してサービスを提供するサーバ装置と前記クライアントと前記サーバ装置との通信を管理する通信予約管理装置からなるサービスシステムにおいて、
前記通信機器からの接続判定要求を受け付ける手段、
サービス利用要求に対応するサービス提供のための通信確立数の上限を管理する手段、
前記クライアント装置からのサービス利用要求への対応可否を判定する接続判定部、
判定結果を前記通信機器に通知する手段、
前記クライアント装置からのサービス利用のための通信確立の予約を受け付ける接続予約部、
として機能させる通信予約管理装置のプログラムおよびその方法を説明した。
【0105】
実施の形態2.
図10を基に第2の実施の形態におけるサービス要求管理部02の処理手順を述べる。
【0106】
S1からS5までの処理の手順は、実施の形態1に示した図6のS1からS5までと同様であるため、記述を省略する。
S6において、接続判定部08は、通信確立数と上限同時接続数のみを比較し、通信確立数が上限同時接続数未満の場合には予約数及び制御用通信確立数を取得せずに、S72へ移行する。
つまり、実施の形態1では、通信確立数、予約数、制御用通信確立数の合計値と上限同時接続数を比較していたが、本実施の形態では、通信確立数と上限同時接続数のみを比較する。
【0107】
S6でNOの場合は、S72において、接続判定部08は、図2に示す接続管理テーブルのレコード挿入データを作成する。このとき、品質保証フラグ106は値を1に指定し、前記レコードを接続管理テーブルに挿入する。
また、S81において、接続判定部08は、通信機器13を介して、クライアントアプリケーション15から送信されたINVITEメッセージにOKを返却し、サーバ装置01とサービス要求元クライアント装置14との品質保証通信を確立する。
また、接続判定部08は、通信確立可能の返却値を通信機器13に返却したのち、S73において、予約管理テーブルに対して通信確立可能と判定した接続元情報と接続元カラム202が一致し、かつ現在時刻が開始日時204と終了日時205の間に含まれるレコードを検索する。つまり、接続判定部08は、通信確立可能との応答を返した接続要求が、予約に基づいて送信されてきたものであるかどうかを確認する。
接続判定部08は、前記レコードが存在しない場合、S74において、S71にて接続管理テーブル(図2)に挿入したレコードの品質保証フラグ106の値を0に更新する。
ここで品質保証フラグ106の値0とは、予約管理テーブルに登録された通信でないことを意味するものであり、同義を示す値であれば0以外の値を格納してもよい。
一方、接続判定部08は、条件に合致するレコードが存在する場合は、S74において、S71にて接続管理テーブル(図2)に挿入したレコードの品質保証フラグ106の値を1に更新する。
【0108】
なお、S6でYESの場合のS9以降の処理は、実施の形態1で示したものと同様であり、説明を省略する。
【0109】
このように、本実施の形態によれば、サービス要求元クライアントからの通信確立要求がサービス要求管理部に到着した際に、通信確立判定を行い通信確立判定結果を返却するまでのデータベース接続回数を接続管理テーブルへの接続のみとし、サービス要求判定に要する処理時間を削減することが可能である。
【0110】
実施の形態3.
図11、図12を基に第3の実施の形態を述べる。
【0111】
本実施の形態では、通信確立の飽和時に予約管理テーブルに登録されたサービス要求元クライアントから通信確立要求がサーバ装置に到着した際、規制管理部より通知を受けたサーバアプリケーションとクライアントアプリケーションが、図11、図12に示す処理の手順を実施することにより、通信規制実施により中断したサービスを効率的に再開する例を説明する。
【0112】
図11に基づき規制管理部06より通知を受けたサーバアプリケーション12の処理手順を述べる。
図11に示す処理は、図6のS13の通信規制により予約に基づかずに接続を確立していたクライアント装置14の通信が接続され、S14の規制管理部06による通知がなされた際のサーバアプリケーション12の処理である。
【0113】
S301において、サーバアプリケーション12は、規制管理部06からクライアント装置14と確立された通信を切断した規制実施の通知を受け、S302へ処理を移行する。
S302において、サーバアプリケーション12は、通信が切断されたクライアント装置14のクライアントアプリケーション15と通信を実施していたプロセスについて、実施中のサービスメニューに対する処理内容をトレースファイルに出力する。このトレースファイルには、通信が接続されたクライアント装置14の識別情報、通信が切断された際にサーバアプリケーション12が行っていた処理の内容が記述される。
S303において、サーバアプリケーション12は、クライアント装置14よりベストエフォート通信により再開された通信を受け付け、通信の再確立の際に、S304において、前記クライアント装置14の接続元情報を取得する。
また、S305において、前記再開した通信を受け付けたサーバアプリケーション12は前記取得した接続元情報と前記出力されたトレース出力を読み込み、通信規制実施までの処理内容を反映し、結果をクライアントアプリケーション15に通知する。
【0114】
以上の説明では、通信が切断されたクライアント装置14の識別情報、通信が切断された際にサーバアプリケーション12が行っていた処理の内容が記述されるこのトレースファイルは、サービス提供部22に記憶される例を示したが、このトレースファイルは、サービス要求管理部02において記憶してもよい。例えば、規制履歴テーブル記憶部03の規制履歴テーブルで記憶してもよい。
【0115】
次に、図12に基づき規制管理部06より規制を受けたクライアントアプリケーション15の処理手順を述べる。
【0116】
S310において、通信規制の対象となったサービス要求元クライアント装置14のクライアントアプリケーション15は、通信の切断を検知し、S311へ処理を移行する。
S311において、前記クライアントアプリケーション15は、グラフィカルユーザインタフェースなどユーザからの操作を受け付けるコンテンツを無効化し、通信切断状態での操作の継続を不可能とし、S312へ処理を移行する。
S312において、前記クライアントアプリケーション15は、前記通信規制の対象時に接続していたサーバ装置01に対して同時接続数の上限に関与しないベストエフォート品質による通信の確立を要求する。
S313において、前記クライアントアプリケーション15は、品質保証通信を実施する際の接続元情報をサーバアプリケーション12に送信し、処理の再開を要求する。
S314において、サーバ装置01から処理の再開の通知を受信した前記クライアントアプリケーション15は、S311にて無効化したグラフィカルユーザインタフェースなどユーザからの操作を受け付けるコンテンツを有効化し、ユーザによる操作を再開する。
【0117】
このように、本実施の形態によれば、同時接続数が飽和状態となり通信予約を予約管理テーブルに登録せず一時的に品質保証通信を実施するクライアントアプリケーションに対して、通信規制を実施した際に通信規制実施までサーバ装置で実行されたビジネスプロセスが全て破棄されることを抑制し、通信規制の実施による著しいサービスレベルの低下を抑制することを可能とする。
【0118】
実施の形態4.
図13、図14、図15を基に第4の実施の形態を述べる。
【0119】
本実施の形態では、クライアント装置14がサーバ装置01へサービスを要求する際に、サービス利用時間を通知し、接続予約部07が、クライアント装置14から通知されたサービス利用時間に基づき、品質保証通信の利用を確保するための予約処理を実施する例を説明する。
【0120】
つまり、本実施の形態では、接続予約部07は、サーバアプリケーション12と通信を確立していないクライアント装置14から、サービス利用を要求するサービス利用時間、すなわち品質保証通信による接続を要求する時間(接続要求時間)が示される予約要求を受信し、サービス利用時間における同時接続数の空き状況を判断し、サービス利用時間における同時接続数に空きがある場合に、予約要求の送信元のクライアント装置14に対してサービス利用時間における通信確立を予約する。
一方、サービス利用時間における同時接続数に空きがなく、サービス利用時間における通信確立を予約できない場合に、接続予約部07は、サービス利用時間以外で当該クライアント装置14が品質保証通信を確立できる接続可能時刻を算出し、当該クライアント装置14に対して接続可能時刻以降の接続を予約する。
【0121】
図13、図15に基づき、クライアント装置14の処理手順を説明する。
【0122】
ユーザがクライアント装置14上で稼動するクライアントアプリケーション15を起動する。
S320において、クライアントアプリケーション15はサービス利用時間の入力を取得する。
ここで、サービス利用時間の取得機能は、クライアント装置上でクライアントアプリケーション15がスタンドアロン機能として取得してもよい。また、クライアントアプリケーション15はユーザに利用時間の入力をGUI(グラフィカルユーザインタフェース)などを利用して促しても、設定ファイルなどに予め指定された時間を取得してもよい。
次に、S321において、クライアントアプリケーション15はサーバ装置01と通信を確立し、接続予約部07が提供する品質保証通信確立の予約確認サービスを実行し、通信確立予約の要求を送信する。
通信確立予約の要求は予約パラメータ600(予約要求)を送信することにより行う。
この予約パラメータ600は、少なくとも図15に示すような予約情報を一意に特定する要求ハンドル601、予約実施・予約中止などの値を指定する要求内容602、サーバアプリケーション12を品質保証通信確立して利用する予約開始時刻603、終了時刻604の組など、接続予約部07が予約処理を実施した結果を格納する予約可能時刻605などから構成される。予約開始時刻603、終了時刻604の組が、サービス利用時間(接続要求時間)を表わす。
このとき、クライアントアプリケーション15とサーバ装置01間の通信は、同時接続数の制限対象とならないベストエフォート通信を利用する。
【0123】
次に、S322において、クライアントアプリケーション15は、S321にて接続予約部07に送信した品質保証通信予約サービスの結果を取得し、接続予約部07が返却する予約された品質保証通信の開始時刻から通信確立までの待ち時間を算出する。
S322において、クライアントアプリケーション15は、前記待ち時間が許容可能であるか否かを判定し、許容可能であればS323の処理へ移行し、許容不可能であればS328へ移行する。
ここで、前記待ち時間の許容判定は、クライアントアプリケーション15がGUI(グラフィカルユーザインタフェース)などを介してユーザに判定を入力させる方式であっても、クライアントアプリケーション15が予め設定された閾値などの値に基づき待ち時間許容を自動的に判定する方式であってもよい。
後述するように、予約パラメータ600で予約を要求したサービス利用時間では予約が取れない場合もあり、このような場合には、待ち時間が許容されないこともある。
一方、サービス利用時間通りに予約が取れた場合には、原則として、待ち時間が許容される。
【0124】
S322でNOの場合は、S328において、クライアントアプリケーション15は、接続予約部07に対して更に予約確認サービスを要求するか否かを判定し、サービス利用要求を終了する場合はS329へ処理を移行し、予約確認サービスを要求する場合は、S320へ処理を移行する。
予約確認サービスを要求する場合は、例えば、サービス利用時間を短時間にして再度予約パラメータ600を送信する。
S329では、クライアントアプリケーション15は、サーバ装置01との通信の切断を確認し、処理を終了する。
【0125】
一方、S322でYESの場合は、S323において、クライアントアプリケーション15は、接続予約部07から予約確認サービスの返却値として取得した待ち時間経過後に、サーバアプリケーション12利用のためにサーバ装置01に対して品質保証通信を利用して通信確立要求を送信する。
また、S324において、クライアント装置14はサーバ装置01より品質保証通信の確立可能との返信を受信し、サーバ装置01と品質保証通信を確立する。
また、S325において、クライアントアプリケーション15はユーザに対してサーバアプリケーション12と品質保証通信を利用したサービスの提供を開始する。
また、S326において、サーバアプリケーション12が提供する品質保証通信を介したサービスの利用を終了する。
また、S327において、クライアントアプリケーション15はサーバ装置01との品質保証通信の切断メッセージをサーバ装置01へ送信し、品質保証通信を切断する。
【0126】
次に、図14、図15を参照して、サーバ装置01の処理手順を説明する。
【0127】
S330において、接続予約部07は、クライアントアプリケーション15からの品質保証通信の予約確認サービスの実行要求を取得する。より具体的には、予約パラメータ600を受信する。
次に、S331において、接続予約部07は品質保証通信の予約確認サービスの予約パラメータ600の要求内容602が予約処理の実行の場合はS332へ処理を以降し、予約中止であればS339で予約を取り消す処理を行う。
【0128】
S332において、接続予約部07は、クライアントアプリケーション15が指定する図15に示す予約パラメータ600を基に図3に示す接続元カラム202、接続先カラム203、開始日時カラム204、終了日時カラム205、帯域カラム206、m−typeカラム207をパラメータに指定する。
このとき、接続予約部07は、サーバアプリケーション12が提供するサービスの内容に応じて、帯域カラム206、m−typeカラム207に示す値を指定する。たとえば具体的には、m−typeカラム207には映像、音声、その他アプリケーションを指定するなど通信事業者が定めた値を接続予約部07が指定する。
【0129】
また、S333において、接続予約部07は、予約パラメータ600に示されているサービス利用時間において同時接続数に空きがあり、サービス利用時間においてクライアント装置14に対して接続の予約を取得できるか否かを判断する。この予約取得可否の判断は、実施の形態1の図9のS204において説明した処理と同様であり、対象となる時刻が実施の形態1では現在時刻であったのに対し、本実施の形態では、予約パラメータ600に示されている時刻である点が異なるのみである。
そして、予約取得可能であればS336へ処理を移行し、予約取得不可能であればS334へ処理を移行する。
【0130】
S333でNOの場合は、S334において、接続予約部07は、クライアントアプリケーション15が指定した予約開始時刻と終了時刻以外の時間帯において品質保証通信の予約を取得可能な時間の存在有無を確認する。
つまり、接続予約部07はS330にて取得した図15に示す予約パラメータ600の予約開始時刻603、予約終了時刻604よりクライアントアプリケーション15がサーバアプリケーション12を品質保証通信を介して利用する時間を算出する。
S334において、接続予約部07は現在時刻を引数とする予約レコードを取得する。
また、S334において、接続予約部07は、現在時刻以降を開始日時204とする予約レコードを基に、単位時間辺りに予約されるレコードの数とサービス要求管理部02が指定する制御用通信確立数の和が通信事業者の規定する上限同時接続数以下となる直近の単位時間の開始時刻を算出し、予約パラメータ600の予約開始時刻603と予約終了時刻604以外の時間帯で品質保証通信を利用してサーバアプリケーション12を利用可能な時間帯の有無を確認する。
ここで単位時間とは、予約パラメータに指定された予約開始時刻603と予約終了時刻604の差分時間とする。
【0131】
次に、S335において、接続予約部07は、品質保証通信の予約確認サービスの返却値として、クライアントアプリケーション15からの予約パラメータ600の予約可能時刻605にS334で算出した直近の予約取得可能時間の開始時刻を指定し、クライアントアプリケーション15に返却する。
【0132】
一方、S333でYESの場合は、S336において、接続予約部07は、品質保証通信予約サービスの返却値として、クライアントアプリケーション15からの予約パラメータ600の予約可能時刻605に予約開始時刻603を指定し、クライアントアプリケーション15に返却し、また、予約可能時刻においてクライアントアプリケーション15からの接続要求を受信した場合は、接続判定部08が通信を確立する。
【0133】
次に、S337において、サーバアプリケーション12が、前記確立した品質保証通信を介してサービスコンポーネント11と連携したサービスをクライアントアプリケーション15に提供する。
また、S338において、サーバアプリケーション12は、クライアントアプリケーション15からのサービス終了要求を受付サービスの提供を終了する。
【0134】
このように、本実施の形態によれば、サービス要求管理部02の接続予約部07によりクライアントアプリケーション15が利用する品質保証通信を事前に予約するので、指定の時刻に通信の確立を確保することができる。
また、これにより、サーバアプリケーション12は、通信保証通信の要求を全て把握することができる。
また、事前に予約している時刻に接続が確保されるので、品質保証通信の要求が飽和状態となっても、クライアントアプリケーション15は、接続判定部08の通信規制の対象とされずに、サービスを利用することができる。
【0135】
実施の形態5.
本実施の形態では、接続数輻輳により予約を行う際に、ビジネスプロセスの提供に要する時間であるサービス単位時間を参酌して、接続可能時刻を算出する例を説明する。
【0136】
図17は、実施の形態1にて述べたサービス要求管理部02を備えたサーバ装置01によるサービス提供システムにおける第5の実施の形態を説明するための説明図である。
【0137】
図17では、ビジネスプロセス管理部16を備え、サーバアプリケーション12が提供するサービスの実施に必要な時間を予め策定し、ビジネスプロセス管理部16に管理する。
これにより、クライアントアプリケーション15がサーバアプリケーション12のサービスを要求した際に、接続予約部07が指定されたサービス内容に応じてビジネスプロセス管理部16よりサービス実施に必要な時間を取得し、品質保証通信の予約を自動的に取得する。
なお、図17において、ビジネスプロセス管理部16以外の要素は、図1に示したものと同様である。
【0138】
図20を基に、接続予約部07、サーバアプリケーション12、ビジネスプロセス管理部16による、通信飽和時における品質保証通信の確立予約の処理手順を述べる。
【0139】
例えば、図8のS105においてクライアントアプリケーション15から通信確立可能な最短の予約時間問い合わせを受けた際に、接続予約部07は、S601の処理を開始する。
S601において、接続予約部07は、クライアントアプリケーション15よりSIP通信接続元情報を含む予約時間問い合わせ要求を受信する。このとき接続予約部07は、クライアントアプリケーション15よりクライアントアプリケーション15が実施を要求するサーバアプリケーションが提供するサービスメニューを取得する。
【0140】
次に、S602において、接続予約部07は、予約時間問い合わせを要求するクライアント装置14のSIP通信接続元情報を予約時間問い合わせ要求より取得する。
【0141】
S603において、接続予約部07は、予約情報を取得する。
より具体的には、接続予約部07は予約管理テーブル(図3)から終了日時205が現在時刻以降である予約レコードを取得する。
【0142】
次に、S604において、接続予約部07は、サーバアプリケーション12を介してビジネスプロセス管理部16から、クライアントアプリケーション15が要求するサービスメニューに該当するビジネスプロセスの実施時間を取得する。
ビジネスプロセス管理部16では、予めサーバアプリケーションの提供者により定義されたサービスメニュー701と、サービスメニュー701を実施するために利用される構成サービスコンポーネント702を少なくとも組とするテーブル(図18)と、構成サービスコンポーネント703と、構成サービスコンポーネント703の実施に必要なビジネスプロセス実施時間704を少なくとも組とするテーブル(図19)が管理されている。
S604において、接続予約部07は、S601にて取得したサービスメニュー番号をキーとしてビジネスプロセス管理部16よりサービスメニューの実施に必要な時間をサービス単位時間として取得する。
【0143】
次に、S605において、接続予約部07は、S603で取得した予約レコードからサービス単位時間当たりの予約登録数を取得する。
S605において、接続予約部07は、接続管理テーブル(図2)から、開始日時104が現在時刻以前であり切断日時105がnullの通信確立レコードを取得する。
また、S605において、接続予約部07は、前記制御用通信確立数と前記通信確立レコードと前記サービス単位時間当たりの予約登録数を基に、前記サービス単位時間当たりの想定接続数を求め、想定接続数が通信事業者の定める上限同時接続数以下となる直近のサービス単位時間の開始時刻と終了時刻を取得する。
【0144】
次に、S606において、接続予約部07は、現在時刻と前記取得した直近のサービス実施のために取得可能な品質保証通信予約の開始時刻との差分を算出し、算出した差分を待ち時間としてクライアントアプリケーション15に送信し、許容可能であるか応答を待つ。
そして、S607においてクライアントアプリケーション15からの通信接続待ち時間が許容できるか否かの応答を取得し、S608へ移行する。
【0145】
S608において、クライアント装置14のユーザがクライアントアプリケーション15を介して待ち時間が許容可能であると応答した場合、接続予約部07は、S609へ処理を移行する。
ユーザが待ち時間許容不可能と判断し、クライアントアプリケーション15を介して応答した場合、S611へ処理を移行する。
【0146】
S608でYESの場合は、接続予約部07は、S609において、S602にて取得した接続元情報とS605によって算出した最短待ち時間である開始日時(接続可能時刻)と当該開始日時にサービス単位時間を追加した終了日時を予約管理テーブル(図3)に書き込み、通信接続予約を登録する。
また、S610において、接続予約部07は、クライアントアプリケーション15に予約取結果を送信する。
【0147】
これにより、通信飽和時において一連のビジネスプロセス実施に必要な時間の品質保証通信が予約により確保されるため、他ユーザのサービス要求により、ビジネスプロセスの途中で品質保証ネットワークの利用をサービス要求管理部に規制させることによるデータベースのロールバックなどの発生を抑制することが可能となる。
【0148】
実施の形態6.
図21を基に、実施の形態1で述べたサービス要求管理部02を備えたサーバ装置01によるサービス提供システムの第6の実施の形態を述べる。
【0149】
本実施の形態は、サービス要求元クライアントにSIP通信機能を備えたSIPクライアントソフトウェア18をクライアントアプリケーション15と独立させて、備える。あるいは、クライアント装置14と独立したハードウェア上に備える。
このことにより、クライアントアプリケーション15は、WebブラウザソフトウェアなどのSIP通信機能を保持しないWebブラウザソフトウェアなどのアプリケーションであり、前記SIPクライアントソフトウェア18は、サービス要求元ユーザがWebブラウザソフトウェアを起動して入力したサーバ装置のアドレス情報を元にSIP通信のINVITEメッセージを生成し、サーバ装置に送信する。
【0150】
これにより、SIP通信機能を備えることのない既存のネットワーク通信機能を備えるソフトウェアを利用した場合であっても、サーバ装置01に接続された通信機器13に対して品質保証通信の確立を要求することを可能とする。
【0151】
実施の形態7.
図22を基に、実施の形態1で述べたサービス要求管理部02を備えたサーバ装置19によるサービス提供システムの第7の実施の形態を述べる。
【0152】
本実施の形態は、実施の形態1で述べた通信機器13をソフトウェアモジュールである通信機器ソフトウェア20として構成したサーバ装置19を備え、通信機器ソフトウェア20が検知したSIPによる品質保証通信の確立要求を通信部10および通信部連携インタフェースを介してサービス要求管理部02の接続判定部08に発信する。
【0153】
こうした構成において、通信機器を新たに設置することなくSIP通信機能を有するサーバ装置19で同時接続数の上限に到達することなく通信要求をサーバ装置19に到着させ、予約管理テーブル(図3)にて管理される品質保証通信の判定を実施し、通信リソースを有効に活用することができる。
【0154】
最後に、実施の形態1〜7に示したサーバ装置01、19のハードウェア構成例について説明する。
図25は、実施の形態1〜7に示すサーバ装置01、19のハードウェア資源の一例を示す図である。
なお、図25の構成は、あくまでもサーバ装置01、19のハードウェア構成の一例を示すものであり、サーバ装置01、19のハードウェア構成は図25に記載の構成に限らず、他の構成であってもよい。
【0155】
図25において、サーバ装置01、19は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0156】
通信ボード915は、図1等に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0157】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0158】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0159】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
サーバ装置01、19の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0160】
上記プログラム群923には、実施の形態1〜7の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0161】
ファイル群924には、実施の形態1〜7の説明において、「〜の判断」、「〜の計算」、「〜の算出」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜7で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0162】
また、実施の形態1〜7の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜7の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜7の「〜部」の手順や方法をコンピュータに実行させるものである。
【0163】
このように、実施の形態1〜7に示すサーバ装置01、19は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【0164】
【図1】実施の形態1に係るサーバ装置及びクライアント装置の構成例を示す図。
【図2】実施の形態1に係る接続管理テーブルの例を示す図。
【図3】実施の形態1に係る予約管理テーブルの例を示す図。
【図4】実施の形態1に係る規制履歴テーブルの例を示す図。
【図5】実施の形態1に係る規制履歴通知リストの例を示す図。
【図6】実施の形態1に係るサーバ装置の動作例を示すフローチャート図。
【図7】実施の形態1に係る接続要求情報の例を示す図。
【図8】実施の形態1に係るクライアント装置の動作例を示すフローチャート図。
【図9】実施の形態1に係るサーバ装置の動作例を示すフローチャート図。
【図10】実施の形態2に係るサーバ装置の動作例を示すフローチャート図。
【図11】実施の形態3に係るサーバ装置の動作例を示すフローチャート図。
【図12】実施の形態3に係るクライアント装置の動作例を示すフローチャート図。
【図13】実施の形態4に係るクライアント装置の動作例を示すフローチャート図。
【図14】実施の形態4に係るサーバ装置の動作例を示すフローチャート図。
【図15】実施の形態4に係る予約パラメータの例を示す図。
【図16】実施の形態1に係るサーバ装置の動作例を示すフローチャート図。
【図17】実施の形態5に係るサーバ装置及びクライアント装置の構成例を示す図。
【図18】実施の形態5に係るメニュー番号とコンポーネントとの組のテーブルの例を示す図。
【図19】実施の形態5に係るとコンポーネントと実施時間の組のテーブルの例を示す図。
【図20】実施の形態5に係るサーバ装置の動作例を示すフローチャート図。
【図21】実施の形態6に係るサーバ装置及びクライアント装置の構成例を示す図。
【図22】実施の形態7に係るサーバ装置及びクライアント装置の構成例を示す図。
【図23】実施の形態1に係るサーバ装置の動作例を示すフローチャート図。
【図24】実施の形態1に係る通信規制の原理を示す図。
【図25】実施の形態1〜7に係るサーバ装置及びクライアント装置のハードウェア構成例を示す図。
【符号の説明】
【0165】
01 サーバ装置、02 サービス要求管理部、03 規制履歴テーブル記憶部、04 予約管理テーブル記憶部、05 接続管理テーブル記憶部、06 規制管理部、07 接続予約部、08 接続判定部、09 通信部連携インタフェース、10 通信部、11 サービスコンポーネント、12 サーバアプリケーション、13 通信機器、14 クライアント装置、15 クライアントアプリケーション、16 ビジネスプロセス管理部、18 SIPクライアントソフトウェア、19 サーバ装置、20 通信機器ソフトウェア、21 接続数記憶部、22 サービス提供部、30 ネットワーク。
【技術分野】
【0001】
本発明は、ある通信装置に同時に接続できる同時接続数に上限がある通信システムにおいて通信装置間の通信確立を管理する技術に関する。
【背景技術】
【0002】
近年のインターネットの普及に加えて、通信品質(例えば、通信帯域)を保証するネットワークインフラが普及してきている。
従来のインターネット環境を利用するWebサーバでは、サーバ装置(以下、サーバともいう)へのクライアント装置(以下、クライアントともいう)からのサービス利用要求は、すべてサーバに到達し、サーバにてサービス提供可否を判定し、サービスを運用していた。
【0003】
従来のインターネット環境では、ネットワークは通信要求をクライアントからサーバへ転送する機能のみを提供するため、クライアントが発行するサービス利用要求はすべてサーバに到達する。
しかし、通信品質を保証するネットワークインフラは、ネットワークがクライアントからサーバに到達する通信確立数(以下、接続数ともいう)を管理する。
そのため、クライアントからの通信確立(接続)が集中した場合、ネットワークインフラがサービス利用要求を破棄するためクライアントが発行するサービス利用要求がサーバに到達しない状態が発生する場合がある。
サービス提供サーバはクライアントからのサービス利用要求が集中している状況を管理できないため、クライアントに対して対応策を提示することができない。
【0004】
このような背景により、クライアントがサーバに同時に接続できる同時接続数が限られ、かつ同時接続数の上限に達した場合には通信確立要求が通信確立先に到達しないネットワークを利用してサービスを提供する際に、アクセスが集中した場合であっても、クライアントからのサービス利用要求をすべてサーバに到達させ、サーバがサービスレベルを安定させてサービスを行える技術が求められている。
【0005】
同時接続数が限られる通信において、通信確立数に閾値を設定し、輻輳状態となり通信の確立が困難となった際に、通信の確立を要求する利用者に対して、非接続となったこと、つまり、サーバに接続できない状態になったことを告知するためのメッセージを返信する技術がある(たとえば、特許文献1)。
【特許文献1】特開2006−14021号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1の技術では、輻輳状態になった場合に、クライアントに対して非接続になったことを告知するメッセージを返信するのみであり、クライアントは、いつサーバに接続でき、いつサービスを利用できるようになるのかを知ることができないという課題がある。
また、サーバに接続できる時刻を知ることができないので、クライアントは接続できるまで繰り返し接続要求を送信することになり、輻輳を増長させ、また、サーバ側において接続要求に応答するための処理負荷が増大するという課題がある。
【0007】
本発明は、このような課題を鑑みたものであり、同時接続数に制限がある環境において、接続数に空きがないため接続が許可されない通信装置が存在する場合に、当該通信装置に接続が許可される時刻を算出するとともに、当該通信装置に対して算出時刻からの接続を保証することができるシステムを実現することを主な目的の一つとする。
【課題を解決するための手段】
【0008】
本発明に係る通信管理装置は、
第1通信装置と複数の第2通信装置との間の通信を管理する通信管理装置であって、
複数の第2通信装置が同時に前記第1通信装置に接続できる同時接続数の上限を上限同時接続数として記憶する同時接続数記憶部と、
前記上限同時接続数のうち既にいずれかの第2通信装置に割り当てられている接続数を割当済み接続数として管理する割当済み接続数管理部と、
前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求を受信する通信部と、
前記上限同時接続数と前記割当済み接続数とに基づき同時接続数の空き状況を判断し、接続要求の送信元である要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定する接続判定部と、
前記接続判定部が前記要求第2通信装置に対して前記第1通信装置との接続を許可しない場合に、前記要求第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約する接続予約部とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、同時接続数に空きがなく、第1通信装置との接続が許可されない第2通信装置が存在する場合に、当該第2通信装置が第1通信装置との接続を開始できる接続可能時刻を算出し、当該第2通信装置に対して接続可能時刻からの接続を予約するので、接続可能時刻からの接続を第2通信装置に保証することができる。
【発明を実施するための最良の形態】
【0010】
実施の形態1.
以下、添付の図面を参照しながら、本実施の形態について説明する。
まず、図1を用いて本実施の形態に係るシステムの全体構成について説明する。
【0011】
図1は、本実施の形態のシステム全体の機能ブロック図である。
本実施の形態のシステムは、ネットワークに接続された複数の情報処理装置であるサーバ装置01とクライアント装置14とを備える。
サーバ装置01は通信機器13を介してクライアント装置14からのサービス利用要求を受け付ける。
クライアント装置14は、サーバ装置01に対する要求をネットワーク30経由で送信するクライアントアプリケーション15を備える。
図1では、クライアント装置14は1つしか示されていないが、複数のクライアント装置14が存在するものとする。
なお、クライアント装置14は、第2通信装置の例である。
【0012】
サーバ装置01は、サービス要求管理部02とサービス提供部22に大別される。
サービス要求管理部02は、クライアント装置14を一意に識別するサービス要求元情報を基にサービス要求を受け付けるか否かを判定する。より具体的には、サービス要求管理部02は、サービス提供部22とクライアント装置14との間の通信を管理し、クライアント装置14がサービス提供部22と接続できるか、つまり通信を確立することができるか否かを判断する。サービス要求管理部02は通信管理装置の例である。
サービス提供部22は、サービス要求管理部02によって、クライアント装置14とサービス提供部22との接続が許可され、サービス提供可能であると判定された場合に、クライアント装置14にサービスを提供する。サービス提供部22は、第1通信装置の例である。
図1では、サービス要求管理部02とサービス提供部22はサーバ装置01に実装されている構成を示しているが、サービス要求管理部02とサービス提供部22は別の装置に実装される構成であってもよい。
【0013】
サーバ装置01とクライアント装置14との間の通信は、通信品質(通信帯域等)が保証される品質保証通信と通信品質が保証されないベストエフォート通信の2つがある。
クライアント装置14は、品質保証通信にてサービス要求管理部02からサービスを受ける。このために、クライアント装置14は、サービス要求管理部02に接続要求を送信し、サービス提供部22と品質保証通信での接続が可能か否かを問い合わせ、サービス提供部22が品質保証通信での接続を許可した場合に、クライアント装置14はサービス提供部22からサービスを受けることができる。
品質保証通信は、クライアント装置14とサービス提供部22との間で同時に確立できるコネクションの数の上限が決められている。この上限を上限同時接続数又は上限同時通信確立数という。
サービス要求管理部02は、上限同時接続数と、他のクライアント装置14に対して既に割り当てられている接続数とに基づき、接続要求を送信したクライアント装置14に対してサービス提供部22との接続を許可するか否かを判定する。
なお、以下では、ベストエフォート通信と明記していない場合は、接続、通信確立の語は、品質保証通信における接続、通信確立を意味するものとする。また、原則として接続と通信確立の語は。同じ意味として用いる。
【0014】
サービス提供部22は、サーバアプリケーション12と1つ以上のサービスコンポーネント11を連携させることによって構成される。
サービスコンポーネント11は、SOAPなどのプロトコルを介してメッセージを交換することにより機能を提供するwebサービスなどで構築される。
サービスコンポーネント11は、クライアントアプリケーション15を介してユーザが利用するサービスを構成する機能単位であり、サーバアプリケーション12は一つ以上のサービスコンポーネント11により構成される。
例えば具体的には、薬局における窓口業務を支援するアプリケーションをネットワーク経由にてサービスとして提供するサーバアプリケーション12は、薬剤の処方箋情報をサーバ装置01によって管理するサービスコンポーネント11と薬局に来局した患者ごとにサーバ装置01に蓄積される薬歴情報を参照するサービスコンポーネント11と前記処方箋情報に基づき、医療機関が保険者に診療報酬をネットワーク経由で請求するレセプトを実施するサービスコンポーネント11などから構成される。
【0015】
サービス要求管理部02は、通信機器13を介してクライアントアプリケーション15からの接続要求を受信する通信部10と、通信部10と接続判定部08を連結する通信部連携インタフェース09を備える。
通信部10は、クライアント装置14からの接続要求を受信する。
また、サービス要求管理部02は、上限同時接続数及び制御用接続数(制御用通信確立数ともいう)を記憶する接続数記憶部21を備える。制御用接続数の詳細は、後述するが、クライアント装置14からのサーバ装置01への接続が収集しても常に一定数のクライアント装置14はサーバ装置01と通信できるようにするためにリザーブしている予備のコネクションの数である。なお、接続数記憶部21は、同時接続数記憶部及び制御用接続数記憶部の例である。
また、サービス要求管理部02は、サーバ装置01と通信するクライアント装置14の情報を格納する接続管理テーブルを記憶する接続管理テーブル記憶部05を備え、サーバ装置01と通信を確立する予定のクライアント装置14の情報を格納する予約管理テーブルを記憶する予約管理テーブル記憶部04と、接続判定部08の判断によりサーバ装置01との通信を切断されたクライアント装置14の情報を管理する規制履歴テーブルを記憶する規制履歴テーブル記憶部03を備える。
つまり、接続管理テーブル記憶部05は、接続管理テーブルを用いて、現在サービス提供部22と接続しているクライアント装置14(接続第2通信装置)の数(以下、通信確立数ともいう)を管理する。接続管理テーブル記憶部05は、接続管理部の例である。
また、予約管理テーブル記憶部04は、予約管理テーブルを用いて、サービス提供部22とクライアント装置14との接続の予約状況及び予約数等を管理する。予約管理テーブル記憶部04は予約管理部の例である。
また、接続管理テーブル記憶部05で管理されるサービス提供部22と接続中のクライアント装置14の数及び予約管理テーブル記憶部04で管理される予約数は、すでにクライアント装置14に割当済みの接続数であり、合わせて割当済み接続数ともいう。このため、予約管理テーブル記憶部04及び接続管理テーブル記憶部05は、割当済み接続数管理部の例である。
なお、上限同時接続数は原則として変化しないが、通信確立数及び予約数はクライアント装置14からサービス提供部22への接続状況により変動する。
【0016】
接続判定部08は、クライアントアプリケーション15からの接続要求を通信部連携インタフェース09を介して通信部10及び通信機器13より受け取る。
接続判定部08は、接続数記憶部21に記憶されている上限同時接続数と予約管理テーブル記憶部04及び接続管理テーブル記憶部05で管理されている割当済み接続数に基づき同時接続数の空き状況を判断し、接続要求の送信元であるクライアント装置14(要求第2通信装置)に対してサービス提供部22との接続を許可するか否かを判定する。そして、通信部連携インタフェース09を介してその判定結果を通信部10に返却する。
また、接続判定部08は、所定の場合に、現在サービス提供部22と通信中のクライアント装置14の接続を切断する場合がある。
また、接続判定部08は、クライアント装置14への接続の可否の判定結果を接続管理テーブル記憶部05の接続管理テーブルに格納する。
【0017】
接続予約部07は、接続判定部08がクライアント装置14に対してサービス提供部22との接続を許可しない場合に、当該クライアント装置14がサービス提供部22との接続を開始できる時刻である接続可能時刻を算出し、当該クライアント装置14に対して接続可能時刻以降のサービス提供部22との接続を予約する。
また、接続予約部07は、予約状況を予約管理テーブル記憶部04の予約管理テーブルに格納し、また、所定の場合に、予約管理テーブルから予約状況を読み出す。
【0018】
規制管理部06は、接続判定部08によりサービス提供部22との接続を切断されたクライアント装置14の情報を規制履歴テーブル記憶部03の規制履歴テーブルに書き込み、また、所定の場合に、規制履歴テーブルから規制の対象となったクライアント装置14の情報を読み出す。
【0019】
クライアント装置14は、ユーザからのサービス利用要求を受け付けるクライアントアプリケーション15を備える。
クライアントアプリケーション15は、ネットワークを介してサーバ装置01にユーザの要求を送信するプログラムである。
【0020】
ここで、本実施の形態に係るサービス要求管理部02の動作の概要を図23を参照して説明し、その後、サービス要求管理部02、サービス提供部22、クライアント装置14の動作の詳細を説明する。
【0021】
図23において、まず、通信部10が、サービス提供部22に未接続のクライアント装置14から送信された接続要求情報(以下、接続要求ともいう)を受信し(S1000)(通信ステップ)、通信部連携インタフェース09を介して、接続要求を接続判定部08に渡す。
接続要求情報には、例えば、図7に示すように、接続元であるクライアント装置14の識別子(接続元識別子502)、接続先であるサービス提供部22の識別子(接続先識別子503)等が含まれている。なお、図7の詳細は、後述する。
次に、接続判定部08は、同時接続数に空きがあるか否かを判定する(S1100)(接続判定ステップ)。この判断は、例えば、接続管理テーブル記憶部05において管理されている通信確立数と予約管理テーブル記憶部04において管理されている予約数と接続数記憶部21において管理されている制御用接続数の和(通信確立数+予約数+制御用接続数)が上限同時接続数に達しているか否かを判断し、上限同時接続数に達していなければ空きがあり、上限同時接続数に達していれば空きがない状態である。
なお、予約は接続可能時刻とともに管理されており、接続判定部08は、接続可能時刻が現在時刻より前の予約、すなわち、既に接続可能時刻が開始している予約の数を通信確立数と制御用接続数に加算して、上限同時接続数と比較する。
また、同時接続数の空き判断において、接続判定部08は、既に接続可能時刻が開始している予約ごとに、予約を受けているクライアント装置14(予約第2通信装置)がサービス提供部22との接続を開始しているか否かを判断する。そして、いずれかの予約に対してクライアント装置14がサービス提供部22との接続を開始していない場合は、その予約のために確保されているコネクションは未使用であるため、接続判定部08は空きがあると判断する。
【0022】
S12の判断において空きがある場合(S12でYES)は、接続判定部08は、接続要求を行ったクライアント装置14に対してサービス提供部22との接続を許可し(S1200)(接続判定ステップ)、接続を許可するとの通知を通信部連携インタフェース09、通信部10を介して通信機器13からクライアント装置14に送信する。
また、接続判定部08は、接続を許可したクライアント装置14が接続予約部07により予約を受けているか否かを判断し(S1300)(接続判定ステップ)、予約を受けていない場合(S1300でNO)は、接続判定部08は、S1200における接続許可を反映させて、接続管理テーブルに当該通信許可の内容を示すレコードを追加し、通信確立数を1つ増加させ(S1400)(割当済み接続数管理ステップ)、更新後の接続管理テーブルを接続管理テーブル記憶部05が記憶する。なお、接続管理テーブルに追加するレコードには、クライアント装置14の識別子や通信確立が予約を伴うか否かを示すフラグ(品質保証フラグという)が含まれる。この場合は、品質保証フラグには、予約なしを示す0を設定する。
一方、S1300において予約ありと判断した場合(S1300でYES)は、接続判定部08は、通信確立数と予約数を更新する(S2400)(割当済み接続数管理ステップ)。
つまり、接続判定部08は、S2300における接続許可を反映させて、接続管理テーブルに当該通信許可の内容を示すレコードを追加し、通信確立数を1つ増加させ、更新後の接続管理テーブルを接続管理テーブル記憶部05が記憶する。この場合に、接続管理テーブルに追加するレコードの品質保証フラグには、予約ありを示す1を設定する。
また、予約管理テーブルに当該接続許可を反映させる。例えば、当該予約に対応するレコードに予約が実現したことを示す情報を書き込むようにする(例えばフラグ値を0から1にする)。そして、予約管理テーブル記憶部04が更新後の予約管理テーブルを記憶する。
その後、クライアント装置14がサービス提供部22との接続を確立する(S2500)。
【0023】
一方、S1100の判断において空きがない場合(S1100でNO)は、接続判定部08は、接続要求を行ったクライアント装置14に対してサービス提供部22との通信確立を許可しないが(S1500)(接続判定ステップ)、並行して、当該クライアント装置14が接続予約部07により予約がなされていたクライアント装置14(予約第2通信装置)に一致し、また、接続要求を送信した時刻が接続開始時刻以降であるかを判断する(S1600)(接続判定ステップ)。
S1600の判断において、接続要求を送信してきたクライアント装置14に予約がない場合、または、予約があっても接続開始時刻以降の接続要求でない場合(S1600でNO)は、接続予約部07が、当該クライアント装置14がサービス提供部22との接続を開始できる接続可能時刻を算出する(S1700)(接続予約ステップ)。接続可能時刻の算出方法の詳細は後述する。
次に、接続予約部07は、算出した接続可能時刻を通信部連携インタフェース09及び通信部10を介して通信機器13から、クライアント装置14に通知する(S1800)(接続予約ステップ)。
S1800において通知した接続可能時刻を許容する(接続可能時刻まで接続を待つ)との応答をクライアント装置14から得た場合には、接続予約部07は、当該クライアント装置14の識別子、接続開始時刻等を予約管理テーブルに登録し(クライアント装置14の接続を予約し)(S1900)(接続予約ステップ)、当該予約により予約管理テーブルで管理している予約数が増加する(S2000)(割当済み接続数管理ステップ)。これにより、接続判定部08により接続が許可されなかったクライアント装置14は、接続開始時刻以降の接続が保証される。
【0024】
一方、S1600の判断において、クライアント装置14に対して接続予約部07により予約がなされており、また接続開始時刻以降に接続要求がなされている場合(S1600でYES)は、接続判定部08は、予約なしで通信中のクライアント装置14の接続を切断する必要があるか否かを判断する(S2100)(接続判定ステップ)。
前述したように、S1100において空きがある場合(YESの場合)は、接続予約部07による予約がないクライアント装置14でもサービス提供部22との通信確立が許可される(S1200)。このため、サービス提供部22と通信を確立しているクライアント装置14は、予約に基づいてサービス提供部22と通信をしている予約ありクライアント装置14(予約あり接続第2通信装置)と予約に基づかずにサービス提供部22と通信をしている予約なしクライアント装置14(予約なし接続第2通信装置)がある。
詳細は後述するが、接続管理テーブルでは、通信中のクライアント装置14を予約の有無を識別して管理している。このため、接続判定部08は、接続管理テーブルから予約ありクライアント装置14の数(以下、予約あり通信確立数という)、予約なしクライアント装置14の数(以下、予約なし通信確立数という)、予約なしクライアント装置14の識別子を抽出することができる。
【0025】
予約なしクライアント装置14の接続の切断が必要と判断した場合(S2100でYES)は、接続判定部08は、予約なしクライアント装置14の接続を切断し(S2200)(接続判定ステップ)、接続要求を行ったクライアント装置14(予約ありクライアント装置)の接続を許可する(S2300)(接続判定ステップ)。
ここで、接続が切断された予約なしクライアント装置14(切断第2通信装置)が、再度サーバ装置01に接続した際に、切断された際にサーバアプリケーション12により提供されたサービスを再開できるように、接続が切断された予約なしクライアント装置14の識別情報及び切断の際にサーバアプリケーション12により行われていた処理内容をサービス提供部22又はサービス要求管理部02において記憶するようにする。
なお、接続が切断されたクライアント装置14が、再度通信を確立した際の処理は、実施の形態3において説明する。
【0026】
次に、接続判定部08は、通信確立数と予約数を更新する(S2400)(割当済み接続数管理ステップ)。
つまり、接続判定部08は、S2300における接続許可を反映させて、接続管理テーブルに当該接続許可の内容を示すレコードを追加し、通信確立数を1つ増加させ、更新後の接続管理テーブルを接続管理テーブル記憶部05が記憶する。この場合に、接続管理テーブルに追加するレコードの品質保証フラグには、予約ありを示す1を設定する。
また、予約管理テーブルに当該接続許可を反映させる。例えば、当該予約に対応するレコードに予約が実現したことを示す情報を書き込むようにしてもよいし(例えばフラグ値を0から1にする)、予約管理テーブルから当該予約に対応するレコードを削除して予約数を1つ減らしてもよい。そして。予約管理テーブル記憶部04が更新後の予約管理テーブルを記憶する。
その後、クライアント装置14がサービス提供部22との接続を確立する(S2500)。
【0027】
図23のS2100の判断は、具体的には、接続判定部08は、予約ありクライアント装置14の数と予約の数と制御用接続数との和(予約あり通信確立数+予約数+制御用接続数)と上限同時接続数とを比較し、和の値が上限同時接続数に達している場合は、通信規制を行う。
なお、この場合の予約数とは、接続可能時刻が現在時刻より前の予約、すなわち、既に接続可能時刻が開始している予約の数である。
【0028】
例えば、図24は、S2100の判断の具体例を示す。
図24では、上限同時接続数を10とし、これに対応させて、10個のマス目を示している。
また、制御用接続数は1(番号10)である。
図24(a)では、予約あり通信確立数が7つ(番号1〜7)であり、予約なし通信確立数が1つ(番号8)であり、予約数が1つ(番号9)である。
予約あり通信確立数+予約数+制御用接続数=7+1+1=9であり、上限同時接続数に達していないので、通信規制は必要ない。
一方、図24(b)では、予約あり通信確立数が8つ(番号1〜8)であり、予約数が1つ(番号9)である。
予約あり通信確立数+予約数+制御用接続数=8+1+1=10であり、上限同時接続数に達していなるので、通信規制が必要である。
そして、接続判定部08は、予約なしクライアント装置14の有無を調べ、図24(b)の場合は、予約なしクライアント装置14が存在する。予約なしクライアント装置14は予約のために確保されている資源を用いてサービス提供部22と接続しているので、予約なしクライアント装置14の接続を切断する。
また、図24(c)では、予約あり通信確立数が7つ(番号1〜7)であり、予約数が2つ(番号8、9)である。
予約あり通信確立数+予約数+制御用接続数=7+2+1=10であり、上限同時接続数に達していなるので、通信規制が必要である。
この場合は、予約なしクライアント装置14が1つ存在するが、予約は2つ存在し、他方の予約の対象となっているクライアント装置14からはまだ接続要求が来ていない状態なので、予約なしクライアント装置14の接続を維持していても、予約に基づいて接続要求を行ったクライアント装置14はサービス提供部22と接続を開始することができる。このため、この場合は、予約なしクライアント装置14の接続を切断しなくてもよい。ただし、図24(c)に示す場合において、予約なしクライアント装置14の接続を切断するようにしてもよい。
図24(d)では、予約あり通信確立数が7つ(番号1〜7)であり、予約数が2つ(番号8、9)である。
予約あり通信確立数+予約数+制御用接続数=7+2+1=10であり、上限同時接続数に達していなるので、通信規制が必要である。
この場合は、予約なしクライアント装置14が2つ存在し、予約が2つ存在する。2つの予約なしクライアント装置14のいずれか一方の接続を切断しないと、予約に基づいて接続要求を行ったクライアント装置14はサービス提供部22と接続することができないので、2つの予約なしクライアント装置14のいずれか一方の接続を切断する。ただし、図24(d)に示す場合において、2つの予約なしクライアント装置14の両者の接続を切断するようにしてもよい。
【0029】
次に、図1から図5を基にサービス要求管理部02の機能構成について説明する。
【0030】
サービス要求管理部02は、クライアントアプリケーション15からのサービス要求の受付可否を判断する際に、接続管理テーブル記憶部05に格納される接続管理テーブル、予約管理テーブル記憶部04に格納される予約管理テーブル、規制履歴テーブル記憶部03に格納される規制履歴テーブルの各々のデータを必要に応じて取得する。
ここで、接続管理テーブル、予約管理テーブル、規制履歴テーブルの詳細を説明する。
【0031】
接続管理テーブル記憶部05に格納されている接続管理テーブルは、サーバ装置01と通信を確立するクライアント装置14との通信確立情報を格納するデータ領域である。
接続管理テーブルは、SQL言語を利用可能なDBMS(DatabaSe Management SyStem)によって管理可能なリレーショナルデータベースから構成されるものであってよい。
接続管理テーブルは、例えば、図2に示すように、接続識別子カラム101、接続元カラム102、接続先カラム103、開始日時カラム104、切断日時カラム105、品質保証フラグカラム106から構成される。
【0032】
接続識別子カラム101は、接続管理テーブルのカラムの組、つまり、接続管理テーブルの各レコードを一意に識別するための接続識別子を格納するカラムである。
接続元カラム102は、サーバ装置01と通信を確立するクライアント装置14をネットワーク上で一意に識別する情報を格納するカラムである。
接続先カラム103は、クライアント装置14が通信を確立するサーバ装置01をネットワーク上で一意に識別する情報を格納するカラムである。
開始日時カラム104は、サーバ装置01とクライアント装置14が通信を開始した日時情報を格納するカラムである。
切断日時カラム105は、サーバ装置01とクライアント装置14が通信を終了した日時情報を格納するカラムである。
品質保証フラグカラム106は、サーバ装置01とクライアント装置14との通信が予約に基づくか否かを示す品質保証フラグの値を格納する。品質保証フラグは、予約に基づかない通信であれば0が設定され、予約に基づく通信であれば1が設定される。
【0033】
予約管理テーブル記憶部04に格納されている予約管理テーブルは、サーバ装置01と通信が予約されたクライアント装置14の情報が格納されるデータ領域である。
予約管理テーブルは、SQL言語を利用可能なDBMSによって管理可能なリレーショナルデータベースから構成されるものであってもよい。
予約管理テーブルは、例えば、図3に示すように、予約識別子カラム201、接続元カラム202、接続先カラム203、開始日時カラム204、終了日時カラム205、帯域カラム206、m−typeカラム207、状態カラム208から構成される。
【0034】
予約識別子カラム201は、予約管理テーブルのカラムの組、つまり、予約管理テーブルの各レコードを一意に識別する予約識別子を格納するカラムである。
接続元カラム202は、サーバ装置01との通信確立を要求するクライアント装置14をネットワーク上で一意に識別する情報を格納するカラムである。
接続先カラム203は、クライアント装置14が通信確立を要求するサーバ装置01をネットワーク上で一意に識別する情報を格納するカラムである。
開始日時カラム204は、サーバ装置01との接続が許可されなかったクライアント装置14がサーバ装置01と接続できるようになる接続可能時刻、つまり、通信確立を開始できる予定の日時情報を格納するカラムである。
終了日時カラム205は、クライアント装置14とサーバ装置01との通信確立を終了する予定日時情報を格納するカラムである。
帯域カラム206は、クライアント装置14とサーバ装置01間の通信を確立する際の帯域が示されるカラムである。
m−typeカラム207は、クライアント装置14とサーバ装置01間の通信で送受信される映像や音声、データなどの情報種別を格納するカラムである。
状態カラム208は、接続元カラム202に登録されるクライアント装置14から接続先カラム202に登録されるサーバ装置01との間で開始日時カラム204に登録される日時から終了日時カラム205に登録される日時までの通信確立予約の実施状況を格納するカラムである。つまり、状態カラム208の値が1であれば、クライアント装置14が既にサーバ装置01と通信を確立していることを示す。一方、状態カラム208の値が0であれば、サーバ装置01との接続が可能となる開始日時が到来しているにもかかわらず、クライアント装置14は未だサーバ装置01と通信を確立していないことを示す。
【0035】
規制履歴テーブル記憶部03に格納されている規制履歴テーブルは、サービス要求管理部02により通信が切断されたクライアント装置の情報が格納されるデータ領域である。
規制履歴テーブルは、SQL言語を利用可能なDBMSによって管理可能なリレーショナルデータベースから構成されるものであってよい。
規制履歴テーブルは、例えば、図4に示すように、接続識別子カラム301、接続元カラム302、接続先カラム303、規制実施時刻カラム304から構成される。
【0036】
接続識別子カラム301は、規制履歴テーブルカラムの組、つまり、規制履歴テーブルの各レコードを一意に特定する接続識別子を格納するカラムである。
接続元カラム302は、サーバアプリケーション12との通信を切断されたクライアント装置14を一意に識別する情報を格納するカラムである。
接続先カラム303は、クライアント装置14が通信を確立するために通信部10に送信した通信確立要求から取得されるサーバ装置を一意に識別する情報を格納するカラムである。
規制実施時刻カラム304は、通信切断が実施された時刻を格納するカラムである。
接続元カラム302と接続先カラム303に格納される情報は、クライアント装置14から通信機器13に送信されたSIP−INVITEなどの通信確立要求から取得される情報である。
【0037】
次に、接続予約部07と規制管理部06を説明する。
【0038】
接続予約部07は、予約管理テーブル(図3)を構成する予約識別子カラム201によって識別されるレコードから成る通信確立予約情報を操作する機能を有する。
接続予約部07は、DBMSに対応した標準化されたドライバソフトウェアを利用して予約管理テーブルに格納されるレコードに対するSELECT命令、INSERT命令、UPDATE命令、DELETE命令を実行する機能を有する。
また、接続予約部07は、アプリケーションプログラムインタフェースとして構成されるものであってよい。
【0039】
規制管理部06は、規制履歴テーブル(図4)を構成する接続識別子301によって識別されるレコードから成る通信規制履歴情報を操作する機能を有する。
規制管理部06は、DBMSに対応した標準化されたドライバソフトウェアを利用して規制履歴テーブルに格納されるレコードに対するSELECT命令を実行する機能を有する。
また、規制管理部06は、アプリケーションプログラムインタフェースとして構成されるものであってよい。
【0040】
また、サーバアプリケーション12は、アプリケーションプログラムインタフェースとして接続予約部07を利用することにより、クライアント装置14からの通信確立予約の要求に基づき、サービス要求管理部02の予約管理テーブル(図3)の前記カラムから成る通信確立予約情報の登録、変更、削除要求を受け付ける機能を備えていてもよい。
また、サーバアプリケーション12は、アプリケーションプログラムインタフェースとして規制管理部06を利用することにより、サービス要求管理部02によって通信を切断されたクライアント装置14の情報を取得する機能を有していてもよい。
【0041】
規制管理部06は、通信規制によりサーバ装置01とクライアント装置14間との通信が切断された際に、図5に示す規制履歴通知リストをサーバアプリケーション12に送信し、通信が切断されたクライアント装置14をサーバアプリケーション12に通知することができる。
規制履歴通知リストには、通信が切断されたサーバ装置01をネットワーク上で一意に特定する情報を格納する接続先カラム402と、通信の切断情報を送信する宛先IPアドレス情報を格納するIPカラム403と、ポート情報を格納するPortカラム404と、これらカラムの組を一意に識別する情報を格納するリスト識別子カラム401がある。
【0042】
次に、図6、図7を基にクライアント装置14とサーバ装置01間における通信確立までの処理手順の詳細を説明する。
【0043】
S1において、クライアント装置14がネットワーク通信機能を有するクライアントアプリケーション15を起動する。
クライアントアプリケーション15は、予め通信を確立するクライアント装置14をネットワークで一意に識別する情報を保持しており、この識別情報に基づき、ネットワーク通信機能を介してサーバ装置01との接続要求を送信する。
ここで、通信を確立するクライアント装置14をネットワークで一意に識別する情報は、ユーザが入力する形態をとってもよい。
S1において、クライアントアプリケーション15が保有する、サーバ装置01をネットワーク上で一意に識別する情報は、既知の通信技術であるSIP(Session Initiation Protocol)に基づき記述される通信接続先をネットワーク上で一意に特定する識別子である。
S1において、クライアントアプリケーション15は、サーバ装置01と通信を確立する際にSIPを利用した通信を行うための機能を備える。
S1において、クライアントアプリケーション15はSIP通信機能を利用してサーバ装置01との接続を要求するINVITEメッセージを接続要求として送信する。
【0044】
S2において、サーバ装置01に接続された通信機器13は、クライアントアプリケーション15が送信したINVITEメッセージを受信し、接続要求の到着を検知する。
S2において、通信機器13はSIP通信機能を備えた機器であり、ネットワークとサーバ装置01の間に設置されるハードウェア装置である。
【0045】
S3において、サーバ装置01と接続された通信機器13は、クライアントアプリケーション15から送信されたINVITEメッセージを取得し、INVITEメッセージに記された通信確立要求元をネットワーク上で一意に識別する情報を取得する。
S3において通信機器13が取得する通信確立要求元を一意に特定する情報は、INVITEメッセージのヘッダー部に記述されるFrom記述に基づくものであってよい。
S3において、通信機器13は、ボディ部に記述されるSDP(Session Description Protocol)に従って記される通信メディア形態や通信帯域を指定するパラメータを取得する。
S3において、通信機器13は、少なくとも前記取得した通信確立元の識別情報502と通信確立先識別情報503とメディア形態504と通信帯域505を接続要求情報501(図7)に示す構造体を通信パラメータ変換してサービス要求管理部02に送信する。
【0046】
S4において、サービス要求管理部02は、通信部10にて通信機器13が取得した前記接続要求情報501(図7)を取得し、通信パラメータ形式から構造体へ変換する。
S4において、通信部10は通信部連携インタフェース09にて指定される接続判定関数を呼び出す。
S4において、接続判定関数は、引数として少なくとも前記接続要求情報501構造体に示される情報と通信部からの要求を識別する接続ハンドラを備える。
【0047】
S5において、接続判定部08は接続管理テーブルから確立中の品質保証通信の通信情報を取得する。
S5において、接続判定部08が取得する前記通信情報は、少なくとも図2に示す情報を含む。
S5において、接続判定部08は前記通信情報から開始日時104が現在時刻以前で切断日時105がnullであるレコードの数を通信確立数として取得する。
ここでnull値は切断されていない通信確立を意味するものであれば、他の値であってもよい。
また、S5において、接続判定部08は予約管理テーブル(図2)より開始時刻204と終了日時205の間に現在時刻が含まれており、かつ状態カラム208の値が0であるレコードの総数を予約数として取得する。
ここで状態カラム208の値0とは、予約管理テーブル(図3)に格納されたサービス要求予約が未実施であることを意味しており、実施と未実施を判別可能であるならばその値は0以外であってもよい。
【0048】
S6において、接続判定部08は、前記取得した通信確立数と予約数と制御用通信確立数の合計値と予めサーバ装置01とサーバ装置01がネットワークを利用する通信事業者との間で規定された上限同時通信確立数を比較し、前記合計値が上限同時通信確立数に達しているか否かを判定する。
ここで制御用通信確立数は、サーバ装置01の処理速度と対象ユーザ数により策定されるものであり、サーバ装置01の同時通信数が通信事業者の定める同時接続数の上限に到達することを防ぐ制御用の通信確立の数である。
S6において前記合計値が前記上限同時通信確立数未満の場合(接続数に空きがある場合)はS7へ処理が移行する。前記合計値が前記上限同時通信確立数以上の場合(接続数に空きがない場合)はS9へ処理が移行する。
【0049】
S6でNOの場合は、S7において、前記通信確立数が前記上限同時通信確立数以下の場合、接続判定部08は前記接続要求情報501(図7)に格納される情報を基に、図2に示す接続管理テーブルのレコード挿入データを作成する。
このとき、当該通信確立を要求する接続元情報と現在時刻を基に予約管理テーブル(図3)を検索する。開始日時204と終了日時205の間に現在時刻が含まれ、かつ前記接続元情報が接続元カラム202と一致するレコードが予約管理テーブルに存在する場合は通信予約が実施されたものと判定し、接続管理テーブルの品質保証フラグ106に1を指定し、レコードを作成する。また、この場合は、予約管理テーブルの状態カラム208の値を1にする。状態カラム208の値1は、予約が実施されたことを意味する。
一方、予約管理テーブルにレコードが存在しない場合は、事前に通信予約が登録されていない通信要求と判定し、品質保証フラグ106に0を指定する。
ここで品質保証フラグ106の値0とは、予約管理テーブルに登録された通信でないことを意味するものであり、同義を示す値であれば0、1以外の値を格納してもよい。
【0050】
S71において、接続判定部08は、S7で作成したレコードを接続管理テーブルに挿入する。
S8において、接続判定部08は、通信確立可能であると判定した結果を通信部連携インタフェース09および通信部10を介して、通信機器13に返却する。
S8において接続判定部08は、クライアントアプリケーション15から送信されたINVITEメッセージにOKを返却し、サーバ装置01とサービス要求元クライアント装置14との品質保証通信を確立する。
【0051】
また、上記のS6でYESの場合、つまり、前記取得した通信確立数と予約数と制御用通信確立数の合計値が前記上限同時通信確立数以上の場合は、S9において、接続判定部08は前記接続管理テーブルから取得したレコードにおいて品質保証フラグの値に0が格納されているレコードを除いたレコードの数を求め、取得したレコード数(品質保証フラグの値が1のレコードの数)と予約数と制御用通信確立数との合計値が前記上限同時通信確立数以上であるか否かを判定し、合計値が上限同時通信確立数以上である場合は規制実施が必要として、規制実施フラグを立てる。
【0052】
また、S10において、接続判定部08は前記接続要求情報501(図7)に格納される接続元識別子502と現在時刻を基に予約管理テーブル(図3)に対して接続元識別子502が接続元カラム202に含まれ、かつ現在時刻が開始日時204と終了日時205の間に含まれる予約レコードの有無を検索する。つまり、接続判定部08は、接続の予約が行われているクライアント装置14が予約された時刻に接続要求情報501を送信してきたものであるか否かを判断するために、予約管理テーブルを検索する。
ここで接続判定部08の予約レコード取得の処理手順については、図16を用いて後述するため説明を省略する。
【0053】
次に、接続判定部08は、S11において、予約管理テーブルに前記条件に該当する予約レコードが存在するか否かを判定する。レコードが存在しない場合(接続要求情報501が予約に基づかない場合)は、S16へ処理が移行する。レコードが存在する場合(接続要求情報501が予約に基づく場合)は、S12へ処理が移行する。
【0054】
S11でNOの場合、つまり、予約管理テーブルに条件に該当する予約レコードが存在しない場合は、S16において、接続判定部08は通信部連携インタフェース09および通信部10を介して通信機器13に対して通信確立不可能を返却する。
S16において、接続判定部08はクライアントアプリケーション15に対して通信確立不可能とのSIPメッセージを返却する。
なお、このS16のステップとともに、図23に示したS1700〜S2000の処理が行われるが、これらの処理の詳細は、図8及び図9とともに後述する。
【0055】
S11でYESの場合、つまり、予約管理テーブルに条件に該当する予約レコードが存在する場合は、S12において、接続判定部08は規制実施フラグが立っているか否かを判定する。
規制実施フラグが立っている場合は、S13へ処理を移行し、規制実施フラグが立っていない場合は、S15へ処理を移行する。
【0056】
S12でYESの場合、つまり、規制実施フラグが立っている場合は、S13において、接続判定部08は、接続管理テーブル(図2)より品質保証フラグの値に0が格納されるレコードを対象に開始日時104に格納される値が最も小さいレコードを取得し、当該レコードの接続元カラム102に示されるクライアント装置と接続先カラム103に示されるサービス提供部22との通信を切断する。
つまり、品質保証フラグの値に0が格納されているレコードは、予約に基づかずにサービス提供部22と接続しているクライアント装置についてのレコードであり、予約に基づいて接続要求情報501を送信してきたクライアント装置の接続を可能とするために、予約に基づかずに接続しているクライアント装置の通信を切断する。
【0057】
次に、S14において、接続判定部08は前記通信を規制した接続元情報と接続先情報と規制を実施した時刻を図4に示す規制履歴テーブル(図4)のレコードとして格納する。
また、S14において、規制履歴テーブル(図4)にレコードが挿入されたことを検出した規制管理部06は図5に示す規制履歴通知リストの接続先カラム402と前記挿入されたレコードの接続先カラム303が一致するレコードに格納されたIPカラム403とPort404に対して(IPカラム403とPort404で特定されるサーバアプリケーション12に対して)前記規制履歴テーブルに挿入されたレコードの接続識別子を通知する。
S14の通知に対して行われる処理は、実施の形態3で説明する。
【0058】
また、S12でNOである場合、または、S14の処理が終了した後に、S15において、接続判定部08は、S2で受信した接続要求は事前に通信確立が予約されている要求と判断し、接続管理テーブル(図2)に通信情報レコードを挿入する。このとき、通信情報レコードの品質保証フラグ106の値は1を格納する。
ここで品質保証フラグ106の値1とは、予約管理テーブルに登録された通信(予約に基づく通信)であることを意味するものであり、同義を示す値であれば1以外の値を格納してもよい。
【0059】
次に図8と図9を基に本実施の形態のサービス要求管理部02とクライアントアプリケーション15における通信要求からサービス提供開始までの処理手順の詳細を述べる。
【0060】
S101において、クライアント装置14においてユーザはクライアントアプリケーション15を起動する。
クライアントアプリケーション15は、SIP通信機能を備え、クライアント装置14のOS上で実行するソフトウェアプログラムである。
【0061】
S102において、クライアントアプリケーション15は、ユーザに対してサーバアプリケーション12利用のための認証情報を取得する。具体的には、サーバアプリケーション12が管理するログインユーザ文字列、パスワード文字列が該当する。
なお、サーバアプリケーション12の仕様により、前記認証情報の取得は省略されてもよい。
S102において、SIP通信による品質保証通信をサーバ装置と確立するための接続先情報は予めクライアントアプリケーションの設定情報として登録されていても、認証情報取得時にユーザが入力してもよい。
【0062】
S103において、クライアントアプリケーション15はユーザから入力された認証情報をメモリ上に保持し、サーバ装置01と通信を確立するためのSIPメッセージ(INVITEメッセージ)を送信し、サーバ装置01に接続された通信機器13からの応答を待つ。
なお、本実施の形態において、SIPメッセージは、品質保証通信の確立を要求するものとする。
【0063】
S104において、サーバ装置01から通信確立可能とのSIPメッセージが返却された場合、ネットワーク経由にてサービスアプリケーションの機能を利用するS108の処理へ移行し、通信確立不可能とのSIPメッセージが返却された場合、S105へ処理を移行する。
【0064】
S104においてNOの場合、つまり通信確立不可能とのSIPメッセージがサービス要求管理部02から返却された場合は、S105において、クライアントアプリケーション15はクライアント装置14のユーザにサーバアプリケーション12のサービスを提供するため、品質保証通信の確立可能な最短時間の取得要求をサービス要求管理部02に送信する。
S105において、最短時間の取得をサービス要求管理部02に要求する際は同時通信確立数の上限に関与しないベストエフォート品質にてサーバ装置と通信を確立する。
S105において、クライアントアプリケーション15は品質保証通信の確立最短時間がサービス要求管理部02から返却されるのを待つ。このときの確立最短時間の算出処理の流れは後述するため、ここでは説明を省略する。
【0065】
S106において、クライアントアプリケーション15は、サーバ装置との通信不可能をクライアント装置14のユーザに表示すると共に、サービス要求管理部02から返却された品質保証通信確立までの最短時間を表示する。また、クライアントアプリケーション15は、更に、品質保証通信確立までの待ち時間をユーザが許容できるか否かを確認をユーザに求める内容の画面を表示する。
【0066】
S107において、品質保証通信確立の待ち時間をユーザが許容した場合、クライアントアプリケーション15は許容可能である旨をサービス要求管理部02に通知し、待ち時間経過後にS103の処理に移行する。
ユーザが待ち時間を許容しない場合は、許容不可能をサービス要求管理部02に通知し、S111の処理に移行する。
【0067】
S104でYESの場合、つまり、通信確立可能とのSIPメッセージが返却された場合、S108において、サーバ装置01と品質保証通信を確立したクライアントアプリケーション15はサーバアプリケーション12にサービス実行の要求を送信する。
サーバアプリケーション12はクライアントアプリケーション15からの要求に応じて実行対象となるサービスコンポーネント11を設定し、サービスコンポーネント11を呼び出し、取得した実行結果を適切な形式に加工しクライアントアプリケーション15に品質保証通信ネットワークを介して送信することによりサービスを提供する。
S108の処理は、少なくとも一回以上繰り返し、S109の処理へ移行する。
【0068】
S109においてクライアントアプリケーション15は、ユーザへのサービス提供を終了する。
S110においてクライアントアプリケーション15は、サーバ装置01に品質保証通信切断のSIPメッセージを送信する。
そして、クライアントアプリケーション15は、サーバ装置01に接続される通信機器13から切断可能のSIPメッセージが返却されるのを待つ。
S111において。クライアントアプリケーション15は、サーバ装置01から通信切断SIPメッセージが返却されたことを確認し、終了する。
【0069】
次に、図9を参照して、サービス要求管理部02の接続予約部07にて実施する通信飽和時における品質保証通信の確立予約の処理手順を述べる。
【0070】
図8のS105においてクライアントアプリケーション15から通信確立可能な最短の予約時間問い合わせを受けた際に、接続予約部07は、S201の処理へ移行する。
S201において、接続予約部07は、クライアントアプリケーション15より送信されたSIP通信接続元情報を含む予約時間問い合わせ要求を通信部10及び通信部連携インタフェース09を通じて受信する。
【0071】
次に、接続予約部07は、S202において、受信した予約時間問い合わせ要求から、最短の予約時間を問い合わせるクライアント装置14のSIP通信接続元情報を取得する。
【0072】
次に、接続予約部07は、S203において、予約情報を取得する。
より具体的には、接続予約部07は、予約管理テーブル(図3)から終了日時205が現在時刻以降である予約レコードを取得する。
【0073】
次に、S204において、接続予約部07は、S203で取得した予約レコードから単位時間当たりの予約登録数を取得する。
この単位時間は、クライアントアプリケーション15がサービス提供を要求するサーバアプリケーション12において提供されるサービスの一連の処理(ビジネスプロセス)の実施に必要な時間によって決定されるものとする。
また、接続予約部07は、S204において、接続管理テーブル(図2)から、開始日時104が現在時刻以前であり切断日時105がnullの通信確立レコードを取得する。
また、接続予約部07は、S204において、前記制御用通信確立数と前記通信確立レコードと前記単位時間当たりの予約登録数を基に、単位時間当たりの想定接続数を求め、想定接続数が通信事業者の定める上限同時接続数以下となる直近の単位時間の開始時刻と終了時刻を取得する。
【0074】
次に、S205において、接続予約部07は、現在時刻と前記取得した直近の単位時間の開始時刻の差分を算出し、算出した差分を待ち時間としてクライアントアプリケーション15に送信し、許容可能であるか否かの応答を待つ。
そして、S206においてクライアントアプリケーション15からの通信接続待ち時間が許容できるか否かの応答を取得し、S207へ移行する。
【0075】
S207において、サービスを要求しているクライアント装置14のユーザがクライアントアプリケーション15を介して待ち時間が許容可能であると応答した場合、接続予約部07は、S208へ処理を移行する。
ユーザが待ち時間許容不可能と判断し、クライアントアプリケーション15を介して応答した場合、S210へ処理を移行する。
【0076】
S207でYESの場合は、接続予約部07は、S208において、S202にて取得した接続元情報とS204によって算出した最短待ち時間である開始日時(接続可能時刻)と当該開始日時に単位時間を追加した終了日時を予約管理テーブル(図3)に書き込み、通信接続予約を登録する。
また、接続予約部07は、S209において、クライアントアプリケーション15に予約結果を送信する。
【0077】
以上の説明では、接続予約部07が、接続可能時刻を算出する例を説明したが、サーバアプリケーション12が接続予約部07を用いて接続可能時刻を算出するようにしてもよい。
この場合の処理を図9に沿って説明する。
【0078】
図8のS105においてクライアントアプリケーション15から通信確立可能な最短の予約時間問い合わせを受けたサーバアプリケーション12は、S201の処理へ移行する。
S201において、サーバアプリケーション12は、クライアントアプリケーション15よりSIP通信接続元情報を含む予約時間問い合わせ要求を受信する。
【0079】
S202において、サーバアプリケーション12は、受信した予約時間問い合わせ要求から、最短の予約時間を問い合わせるクライアント装置14のSIP通信接続元情報を取得する。
【0080】
次に、S203において、サーバアプリケーション12は、接続予約部07に対して予約問い合わせ処理を実施する。
S203において、予約管理テーブル(図3)から終了日時205が現在時刻以降である予約レコードを取得する。
【0081】
次に、S204において、サーバアプリケーション12は、接続予約部07が取得した予約レコードのから単位時間当たりの予約登録数を取得する。
また、S204において、サーバアプリケーション12は、接続予約部07から、接続管理テーブル(図2)において開始日時104が現在時刻以前であり切断日時105がNULLの通信確立レコードを取得する。
また、S204において、サーバアプリケーション12は、前記制御用通信確立数と前記通信確立レコードと前記単位時間当たりの予約登録数を基に、単位時間当たりの想定接続数を求め、想定接続数が通信事業者の定める上限同時接続数以下となる直近の単位時間の開始時刻と終了時刻を取得する。
この単位時間は、サーバアプリケーション12が提供するサービスの一連の処理(ビジネスプロセス)の実施に必要な時間によって決定されるものとする。
【0082】
次に、S205において、サーバアプリケーション12は、現在時刻と前記取得した直近の単位時間の開始時刻の差分を算出し、算出した差分を待ち時間としてクライアントアプリケーション15に送信し、許容可能であるか否かの応答を待つ。
そして、S206においてクライアントアプリケーション15からの通信接続待ち時間が許容できるか否かの応答を取得し、S207へ移行する。
【0083】
S207において、サーバアプリケーション12は、サービスを要求しているクライアント装置14のユーザがクライアントアプリケーション15を介して待ち時間が許容可能であると応答した場合、S208へ処理を移行する。
ユーザが待ち時間許容不可能と判断し、クライアントアプリケーション15を介して応答した場合、S210へ処理を移行する。
【0084】
S207でYESの場合は、S208において、サーバアプリケーション12は、S202にて取得した接続元情報とS204によって算出した最短待ち時間である開始日時(接続可能時刻)と当該開始日時に単位時間を追加した終了日時を基に接続予約部07を介して、予約管理テーブルに書き込み、通信接続予約を登録する。
また、S209において、サーバアプリケーション12は接続予約部07の実行結果を取得し、クライアントアプリケーション15に予約結果を送信する。
【0085】
次に、図16を基に、接続予約部07が、予約管理テーブル(図3)から所定のレコードを取得する際の手順について述べる。
図16の処理が行われるのは、図6のS10や図9のS203においてである。
【0086】
S400において、サービス要求管理部02の接続予約部07が呼び出された際に指定される引数を取得する。
接続予約部07は、引数として少なくとも予約管理テーブルに格納される接続元カラム202、開始日時204、終了日時205から構成され、それら全てが指定される必要はない。
S401において、引数に接続元カラム202情報が指定されているか否かを判定する。
S402において、引数に指定される接続元カラム202情報をプログラムメモリ上に格納する。
S403において、引数に開始日時204情報が指定されているか否かを判定する。
S404において、引数に指定される開始日時204情報をプログラムメモリ上に格納する。
S405において、引数に終了日時205情報に指定されているか否かを判定する。
S406において、引数に指定される終了日時205情報をプログラムメモリ上に格納する。
S407において、プログラムメモリ上に格納された接続元カラム202情報と開始日時カラム204情報と終了日時カラム205情報の値を取得し、前記プログラムメモリ上に格納された値を基にSQLのwhere句の条件式を生成し、それぞれの条件式をAND句にて接続し、予約管理テーブルの全てのカラムを取得する検索文字列を生成する。
S408において、予約管理テーブルを操作するDBMSに対してS407で生成した検索文字列によるSQLのSELECT処理を実施し、検索結果として取得したレコードを返却パラメータとして呼び出し基に返却する。
【0087】
以上説明したように、本実施の形態では、サーバ装置01への通信確立要求が重複し、サービス要求元クライアント装置14とサーバ装置01間の品質保証通信が不確立となる状態であっても、制御用通信確立数を設けることによりクライアント装置14からサーバ装置01への通信要求が到着しない状態を回避することを可能とする。
【0088】
また、予約管理テーブルにて次接続要求の予約を管理することにより、次接続までの待ち時間をユーザに示すことが可能となる。
これにより、通信不確立状態にて接続可能となるまでユーザが繰り返し通信確立を要求する事態を回避することができ、接続判定部の処理負荷増大を抑制することが可能となる。
また、接続可能となるまでユーザが繰り返し通信確立を要求する事態を回避することで、輻輳を制限することができる。
【0089】
また、特定の接続元情報を予約管理テーブルに継続的に登録することにより、特別な優先管理手段を設けることなく特定のユーザから品質保証通信を常に受け付けるユーザの優先度管理を実現することが可能となる。
【0090】
また、通信部10と通信部連携インタフェース09を備えることにより、サーバ装置01と接続する通信機器13を変更することにより、通信機器13から通信部10への複数種類の通信方式から接続判定部を呼び出すことを可能とする。これにより通信機器13を変更した場合であっても接続判定部08を変更する開発コストの発生を抑えることができる。
【0091】
同時接続数が制限される通信システムにおいては、サービス要求に対する接続数に閾値を設定することと接続待ちキューを設けることによって、すべてのサービス要求がサーバに到達することを可能とする方式が考えられる。このような方式では、サーバがサービス要求到達順序を管理し、接続数飽和状態が回復した際にサービス要求順序に基づき、クライアントと通信を確立することが可能となる。
この方式では、接続数飽和状態により通信が確立できなかったクライアントは接続待ちキューに登録されるが、サービスが開始される時刻を知ることができない。このため、キューに登録されていても、利用者は、サービスが提供される時刻を知りえないため、接続数飽和状態が解消しサービスの利用が可能な状態になっても、キューに登録されているクライアントからの再接続がなく、キューサイズが減少しない可能性がある。このような場合は、キューに登録されているクライアントからの再接続が行われるかどうかが不明の状態で、キューに登録されているクライアントからの再接続のために接続数を確保し続けなければならない。
つまり、この方式では、キューに登録されているクライアントにサービスを提供するための接続と、キューに登録されていない新規クライアントとサーバとの接続を確保するため、同時接続可能数はキューサイズ以上である必要があるが、接続数飽和状態から回復した際に、接続数が飽和する状態でサービス利用を要求したクライアント(キューに登録されているクライアント)から再度サービス利用要求が到着しない場合、キューサイズが減少せず、システム全体の接続可能数とキューサイズの差分、すなわち新規接続数が困窮する課題がある。
【0092】
以上説明したように優先度を設ける方式および、接続待ちキューを設ける方式ともに、クライアントは通信が確立される時間を知ることができないため、クライアントからサービス利用が再度要求されない場合は、サービスレベルを保つために不要な接続を担保することになるが、本実施の形態では、接続数飽和状態の場合は、接続予約部07が接続可能時刻を算出し、接続可能時刻以降の接続を予約し、クライアントに接続可能時刻を通知することで、クライアントが接続可能時刻に再接続を行うことが期待でき、不要な接続を担保する必要がないと効果を持つ。
【0093】
また、従来方式では、他クライアントの利用が終了しない場合には、接続待ちキューに登録されても通信が確立せずにサービスを提供できない場合が発生するが、本実施の形態によれば、予約管理テーブルがアプリケーションと通信を連携させるデータとなり、接続可能時刻が予約された際には、確実に通信接続を確立可能できるためサービスレベルを一定以上に保つことが可能となる効果を持つ。
つまり、クライアントからすると、接続可能時刻以降の接続が予約により確保されるので、確実にサービスの提供を受けることができる。
また、接続可能時刻を過ぎても予約のあるクライアントからの再接続がない場合は、予約のないクライアントに、予約のあるクライアントのために確保している接続を暫定的に割り当てることができ、通信リソースを有効に活用することができる。
また、予約のないクライアントに、予約のあるクライアントのために確保している接続を暫定的に割り当てている際に、予約のあるクライアントからの再接続があった場合には、予約のないクライアントの接続を切断し、予約のあるクライアントに割り当て直すので、予約のあるクライアントは確実にサービスの提供を受けることができる。
【0094】
また、本実施の形態に示すサービスシステムにより、特定のユーザの接続元情報を予約管理テーブルに随時登録することにより特別にユーザの優先度を管理する装置を追加することなく、特定のユーザからの品質保証通信を常に確立する優先度管理を実施するなどの処理が可能となる。
また、本実施の形態に示すサービスシステムにより、サービスを提供するアプリケーションが自動的に品質保証通信を確立するために通信予約を実施するなどの処理が可能となる。
【0095】
以上、本実施の形態では、
サーバ装置にたいしてサービス利用要求を発行する複数のクライアント装置と前記クライアント装置からのサービス利用要求を受信する通信機器と、前記サービス利用要求に対応してサービスを提供するサーバ装置と前記クライアントと前記サーバ装置との通信を管理する通信予約管理装置からなるサービスシステムにおいて、
通信予約管理装置は、
前記クライアント装置からのサービス利用要求に対応して前記サーバ装置へのサービス提供のための通信確立を管理する接続管理テーブルと、
前記通信機器からの接続判定要求を受け付ける手段と、
サービス利用要求に対応するサービス提供のための通信確立数の上限を管理する手段と、
前記クライアント装置からのサービス利用要求への対応可否を判定する接続判定部と、
判定結果を前記通信機器に通知する手段と、
前記クライアント装置からのサービス利用のための通信確立の予約を受け付ける接続予約部とを、
備えるサービス要求管理システムを説明した。
【0096】
また、本実施の形態では、
前記通信予約管理装置が、更に、
前記接続予約部が受け付けた通信確立の予約情報を格納する予約管理テーブルを備え、
接続可否を判定する際に、前記予約管理テーブルに格納された情報を基に接続判定を行う前記接続判定部を備えることを説明した。
【0097】
また、本実施の形態では、
前記通信予約管理装置が、更に、
前記サービス提供のための通信確立数を管理する手段であって、
サービス提供数の上限を前記予約管理テーブルに格納された情報を基に算出する手段を備えることを説明した。
【0098】
また、本実施の形態では、
前記通信予約管理装置が、更に、
前記予約管理テーブルに格納された情報を基に算出されたサービス提供のための通信確立数の変動に応じて、サービス提供数の上限を管理する接続判定部を備えることを説明した。
【0099】
また、本実施の形態では、
前記通信予約管理装置が、更に、
同時接続数が増加した場合、前記サービス利用を予約しているクライアントへサービスを提供するために他クライアントとの通信を切断する接続判定部を備えることを説明した。
【0100】
また、本実施の形態では、
前記通信予約管理装置が、更に、
接続判定部が通信を切断したクライアントの情報を管理する規制履歴テーブルを備えることを説明した。
【0101】
また、本実施の形態では、
前記通信予約管理装置が、更に、
規制履歴テーブルに格納された情報を取得する規制管理部を備えることを説明した。
【0102】
また、本実施の形態では、
前記サーバ装置が、更に、
クライアント装置からのサービス利用要求に応じて自動的に前記接続予約部を介して前記予約管理テーブルに情報を登録する手段を備えることを説明した。
【0103】
また、本実施の形態では、
前記サーバ装置が、更に、
クライアント装置からの要求に応じて予約管理テーブルに通信確立の予約を登録する手段を備えることを説明した。
【0104】
また、本実施の形態では、
サーバ装置にたいしてサービス利用要求を発行する複数のクライアント装置と前記クライアント装置からのサービス利用要求を受信する通信機器と、前記サービス利用要求に対応してサービスを提供するサーバ装置と前記クライアントと前記サーバ装置との通信を管理する通信予約管理装置からなるサービスシステムにおいて、
前記通信機器からの接続判定要求を受け付ける手段、
サービス利用要求に対応するサービス提供のための通信確立数の上限を管理する手段、
前記クライアント装置からのサービス利用要求への対応可否を判定する接続判定部、
判定結果を前記通信機器に通知する手段、
前記クライアント装置からのサービス利用のための通信確立の予約を受け付ける接続予約部、
として機能させる通信予約管理装置のプログラムおよびその方法を説明した。
【0105】
実施の形態2.
図10を基に第2の実施の形態におけるサービス要求管理部02の処理手順を述べる。
【0106】
S1からS5までの処理の手順は、実施の形態1に示した図6のS1からS5までと同様であるため、記述を省略する。
S6において、接続判定部08は、通信確立数と上限同時接続数のみを比較し、通信確立数が上限同時接続数未満の場合には予約数及び制御用通信確立数を取得せずに、S72へ移行する。
つまり、実施の形態1では、通信確立数、予約数、制御用通信確立数の合計値と上限同時接続数を比較していたが、本実施の形態では、通信確立数と上限同時接続数のみを比較する。
【0107】
S6でNOの場合は、S72において、接続判定部08は、図2に示す接続管理テーブルのレコード挿入データを作成する。このとき、品質保証フラグ106は値を1に指定し、前記レコードを接続管理テーブルに挿入する。
また、S81において、接続判定部08は、通信機器13を介して、クライアントアプリケーション15から送信されたINVITEメッセージにOKを返却し、サーバ装置01とサービス要求元クライアント装置14との品質保証通信を確立する。
また、接続判定部08は、通信確立可能の返却値を通信機器13に返却したのち、S73において、予約管理テーブルに対して通信確立可能と判定した接続元情報と接続元カラム202が一致し、かつ現在時刻が開始日時204と終了日時205の間に含まれるレコードを検索する。つまり、接続判定部08は、通信確立可能との応答を返した接続要求が、予約に基づいて送信されてきたものであるかどうかを確認する。
接続判定部08は、前記レコードが存在しない場合、S74において、S71にて接続管理テーブル(図2)に挿入したレコードの品質保証フラグ106の値を0に更新する。
ここで品質保証フラグ106の値0とは、予約管理テーブルに登録された通信でないことを意味するものであり、同義を示す値であれば0以外の値を格納してもよい。
一方、接続判定部08は、条件に合致するレコードが存在する場合は、S74において、S71にて接続管理テーブル(図2)に挿入したレコードの品質保証フラグ106の値を1に更新する。
【0108】
なお、S6でYESの場合のS9以降の処理は、実施の形態1で示したものと同様であり、説明を省略する。
【0109】
このように、本実施の形態によれば、サービス要求元クライアントからの通信確立要求がサービス要求管理部に到着した際に、通信確立判定を行い通信確立判定結果を返却するまでのデータベース接続回数を接続管理テーブルへの接続のみとし、サービス要求判定に要する処理時間を削減することが可能である。
【0110】
実施の形態3.
図11、図12を基に第3の実施の形態を述べる。
【0111】
本実施の形態では、通信確立の飽和時に予約管理テーブルに登録されたサービス要求元クライアントから通信確立要求がサーバ装置に到着した際、規制管理部より通知を受けたサーバアプリケーションとクライアントアプリケーションが、図11、図12に示す処理の手順を実施することにより、通信規制実施により中断したサービスを効率的に再開する例を説明する。
【0112】
図11に基づき規制管理部06より通知を受けたサーバアプリケーション12の処理手順を述べる。
図11に示す処理は、図6のS13の通信規制により予約に基づかずに接続を確立していたクライアント装置14の通信が接続され、S14の規制管理部06による通知がなされた際のサーバアプリケーション12の処理である。
【0113】
S301において、サーバアプリケーション12は、規制管理部06からクライアント装置14と確立された通信を切断した規制実施の通知を受け、S302へ処理を移行する。
S302において、サーバアプリケーション12は、通信が切断されたクライアント装置14のクライアントアプリケーション15と通信を実施していたプロセスについて、実施中のサービスメニューに対する処理内容をトレースファイルに出力する。このトレースファイルには、通信が接続されたクライアント装置14の識別情報、通信が切断された際にサーバアプリケーション12が行っていた処理の内容が記述される。
S303において、サーバアプリケーション12は、クライアント装置14よりベストエフォート通信により再開された通信を受け付け、通信の再確立の際に、S304において、前記クライアント装置14の接続元情報を取得する。
また、S305において、前記再開した通信を受け付けたサーバアプリケーション12は前記取得した接続元情報と前記出力されたトレース出力を読み込み、通信規制実施までの処理内容を反映し、結果をクライアントアプリケーション15に通知する。
【0114】
以上の説明では、通信が切断されたクライアント装置14の識別情報、通信が切断された際にサーバアプリケーション12が行っていた処理の内容が記述されるこのトレースファイルは、サービス提供部22に記憶される例を示したが、このトレースファイルは、サービス要求管理部02において記憶してもよい。例えば、規制履歴テーブル記憶部03の規制履歴テーブルで記憶してもよい。
【0115】
次に、図12に基づき規制管理部06より規制を受けたクライアントアプリケーション15の処理手順を述べる。
【0116】
S310において、通信規制の対象となったサービス要求元クライアント装置14のクライアントアプリケーション15は、通信の切断を検知し、S311へ処理を移行する。
S311において、前記クライアントアプリケーション15は、グラフィカルユーザインタフェースなどユーザからの操作を受け付けるコンテンツを無効化し、通信切断状態での操作の継続を不可能とし、S312へ処理を移行する。
S312において、前記クライアントアプリケーション15は、前記通信規制の対象時に接続していたサーバ装置01に対して同時接続数の上限に関与しないベストエフォート品質による通信の確立を要求する。
S313において、前記クライアントアプリケーション15は、品質保証通信を実施する際の接続元情報をサーバアプリケーション12に送信し、処理の再開を要求する。
S314において、サーバ装置01から処理の再開の通知を受信した前記クライアントアプリケーション15は、S311にて無効化したグラフィカルユーザインタフェースなどユーザからの操作を受け付けるコンテンツを有効化し、ユーザによる操作を再開する。
【0117】
このように、本実施の形態によれば、同時接続数が飽和状態となり通信予約を予約管理テーブルに登録せず一時的に品質保証通信を実施するクライアントアプリケーションに対して、通信規制を実施した際に通信規制実施までサーバ装置で実行されたビジネスプロセスが全て破棄されることを抑制し、通信規制の実施による著しいサービスレベルの低下を抑制することを可能とする。
【0118】
実施の形態4.
図13、図14、図15を基に第4の実施の形態を述べる。
【0119】
本実施の形態では、クライアント装置14がサーバ装置01へサービスを要求する際に、サービス利用時間を通知し、接続予約部07が、クライアント装置14から通知されたサービス利用時間に基づき、品質保証通信の利用を確保するための予約処理を実施する例を説明する。
【0120】
つまり、本実施の形態では、接続予約部07は、サーバアプリケーション12と通信を確立していないクライアント装置14から、サービス利用を要求するサービス利用時間、すなわち品質保証通信による接続を要求する時間(接続要求時間)が示される予約要求を受信し、サービス利用時間における同時接続数の空き状況を判断し、サービス利用時間における同時接続数に空きがある場合に、予約要求の送信元のクライアント装置14に対してサービス利用時間における通信確立を予約する。
一方、サービス利用時間における同時接続数に空きがなく、サービス利用時間における通信確立を予約できない場合に、接続予約部07は、サービス利用時間以外で当該クライアント装置14が品質保証通信を確立できる接続可能時刻を算出し、当該クライアント装置14に対して接続可能時刻以降の接続を予約する。
【0121】
図13、図15に基づき、クライアント装置14の処理手順を説明する。
【0122】
ユーザがクライアント装置14上で稼動するクライアントアプリケーション15を起動する。
S320において、クライアントアプリケーション15はサービス利用時間の入力を取得する。
ここで、サービス利用時間の取得機能は、クライアント装置上でクライアントアプリケーション15がスタンドアロン機能として取得してもよい。また、クライアントアプリケーション15はユーザに利用時間の入力をGUI(グラフィカルユーザインタフェース)などを利用して促しても、設定ファイルなどに予め指定された時間を取得してもよい。
次に、S321において、クライアントアプリケーション15はサーバ装置01と通信を確立し、接続予約部07が提供する品質保証通信確立の予約確認サービスを実行し、通信確立予約の要求を送信する。
通信確立予約の要求は予約パラメータ600(予約要求)を送信することにより行う。
この予約パラメータ600は、少なくとも図15に示すような予約情報を一意に特定する要求ハンドル601、予約実施・予約中止などの値を指定する要求内容602、サーバアプリケーション12を品質保証通信確立して利用する予約開始時刻603、終了時刻604の組など、接続予約部07が予約処理を実施した結果を格納する予約可能時刻605などから構成される。予約開始時刻603、終了時刻604の組が、サービス利用時間(接続要求時間)を表わす。
このとき、クライアントアプリケーション15とサーバ装置01間の通信は、同時接続数の制限対象とならないベストエフォート通信を利用する。
【0123】
次に、S322において、クライアントアプリケーション15は、S321にて接続予約部07に送信した品質保証通信予約サービスの結果を取得し、接続予約部07が返却する予約された品質保証通信の開始時刻から通信確立までの待ち時間を算出する。
S322において、クライアントアプリケーション15は、前記待ち時間が許容可能であるか否かを判定し、許容可能であればS323の処理へ移行し、許容不可能であればS328へ移行する。
ここで、前記待ち時間の許容判定は、クライアントアプリケーション15がGUI(グラフィカルユーザインタフェース)などを介してユーザに判定を入力させる方式であっても、クライアントアプリケーション15が予め設定された閾値などの値に基づき待ち時間許容を自動的に判定する方式であってもよい。
後述するように、予約パラメータ600で予約を要求したサービス利用時間では予約が取れない場合もあり、このような場合には、待ち時間が許容されないこともある。
一方、サービス利用時間通りに予約が取れた場合には、原則として、待ち時間が許容される。
【0124】
S322でNOの場合は、S328において、クライアントアプリケーション15は、接続予約部07に対して更に予約確認サービスを要求するか否かを判定し、サービス利用要求を終了する場合はS329へ処理を移行し、予約確認サービスを要求する場合は、S320へ処理を移行する。
予約確認サービスを要求する場合は、例えば、サービス利用時間を短時間にして再度予約パラメータ600を送信する。
S329では、クライアントアプリケーション15は、サーバ装置01との通信の切断を確認し、処理を終了する。
【0125】
一方、S322でYESの場合は、S323において、クライアントアプリケーション15は、接続予約部07から予約確認サービスの返却値として取得した待ち時間経過後に、サーバアプリケーション12利用のためにサーバ装置01に対して品質保証通信を利用して通信確立要求を送信する。
また、S324において、クライアント装置14はサーバ装置01より品質保証通信の確立可能との返信を受信し、サーバ装置01と品質保証通信を確立する。
また、S325において、クライアントアプリケーション15はユーザに対してサーバアプリケーション12と品質保証通信を利用したサービスの提供を開始する。
また、S326において、サーバアプリケーション12が提供する品質保証通信を介したサービスの利用を終了する。
また、S327において、クライアントアプリケーション15はサーバ装置01との品質保証通信の切断メッセージをサーバ装置01へ送信し、品質保証通信を切断する。
【0126】
次に、図14、図15を参照して、サーバ装置01の処理手順を説明する。
【0127】
S330において、接続予約部07は、クライアントアプリケーション15からの品質保証通信の予約確認サービスの実行要求を取得する。より具体的には、予約パラメータ600を受信する。
次に、S331において、接続予約部07は品質保証通信の予約確認サービスの予約パラメータ600の要求内容602が予約処理の実行の場合はS332へ処理を以降し、予約中止であればS339で予約を取り消す処理を行う。
【0128】
S332において、接続予約部07は、クライアントアプリケーション15が指定する図15に示す予約パラメータ600を基に図3に示す接続元カラム202、接続先カラム203、開始日時カラム204、終了日時カラム205、帯域カラム206、m−typeカラム207をパラメータに指定する。
このとき、接続予約部07は、サーバアプリケーション12が提供するサービスの内容に応じて、帯域カラム206、m−typeカラム207に示す値を指定する。たとえば具体的には、m−typeカラム207には映像、音声、その他アプリケーションを指定するなど通信事業者が定めた値を接続予約部07が指定する。
【0129】
また、S333において、接続予約部07は、予約パラメータ600に示されているサービス利用時間において同時接続数に空きがあり、サービス利用時間においてクライアント装置14に対して接続の予約を取得できるか否かを判断する。この予約取得可否の判断は、実施の形態1の図9のS204において説明した処理と同様であり、対象となる時刻が実施の形態1では現在時刻であったのに対し、本実施の形態では、予約パラメータ600に示されている時刻である点が異なるのみである。
そして、予約取得可能であればS336へ処理を移行し、予約取得不可能であればS334へ処理を移行する。
【0130】
S333でNOの場合は、S334において、接続予約部07は、クライアントアプリケーション15が指定した予約開始時刻と終了時刻以外の時間帯において品質保証通信の予約を取得可能な時間の存在有無を確認する。
つまり、接続予約部07はS330にて取得した図15に示す予約パラメータ600の予約開始時刻603、予約終了時刻604よりクライアントアプリケーション15がサーバアプリケーション12を品質保証通信を介して利用する時間を算出する。
S334において、接続予約部07は現在時刻を引数とする予約レコードを取得する。
また、S334において、接続予約部07は、現在時刻以降を開始日時204とする予約レコードを基に、単位時間辺りに予約されるレコードの数とサービス要求管理部02が指定する制御用通信確立数の和が通信事業者の規定する上限同時接続数以下となる直近の単位時間の開始時刻を算出し、予約パラメータ600の予約開始時刻603と予約終了時刻604以外の時間帯で品質保証通信を利用してサーバアプリケーション12を利用可能な時間帯の有無を確認する。
ここで単位時間とは、予約パラメータに指定された予約開始時刻603と予約終了時刻604の差分時間とする。
【0131】
次に、S335において、接続予約部07は、品質保証通信の予約確認サービスの返却値として、クライアントアプリケーション15からの予約パラメータ600の予約可能時刻605にS334で算出した直近の予約取得可能時間の開始時刻を指定し、クライアントアプリケーション15に返却する。
【0132】
一方、S333でYESの場合は、S336において、接続予約部07は、品質保証通信予約サービスの返却値として、クライアントアプリケーション15からの予約パラメータ600の予約可能時刻605に予約開始時刻603を指定し、クライアントアプリケーション15に返却し、また、予約可能時刻においてクライアントアプリケーション15からの接続要求を受信した場合は、接続判定部08が通信を確立する。
【0133】
次に、S337において、サーバアプリケーション12が、前記確立した品質保証通信を介してサービスコンポーネント11と連携したサービスをクライアントアプリケーション15に提供する。
また、S338において、サーバアプリケーション12は、クライアントアプリケーション15からのサービス終了要求を受付サービスの提供を終了する。
【0134】
このように、本実施の形態によれば、サービス要求管理部02の接続予約部07によりクライアントアプリケーション15が利用する品質保証通信を事前に予約するので、指定の時刻に通信の確立を確保することができる。
また、これにより、サーバアプリケーション12は、通信保証通信の要求を全て把握することができる。
また、事前に予約している時刻に接続が確保されるので、品質保証通信の要求が飽和状態となっても、クライアントアプリケーション15は、接続判定部08の通信規制の対象とされずに、サービスを利用することができる。
【0135】
実施の形態5.
本実施の形態では、接続数輻輳により予約を行う際に、ビジネスプロセスの提供に要する時間であるサービス単位時間を参酌して、接続可能時刻を算出する例を説明する。
【0136】
図17は、実施の形態1にて述べたサービス要求管理部02を備えたサーバ装置01によるサービス提供システムにおける第5の実施の形態を説明するための説明図である。
【0137】
図17では、ビジネスプロセス管理部16を備え、サーバアプリケーション12が提供するサービスの実施に必要な時間を予め策定し、ビジネスプロセス管理部16に管理する。
これにより、クライアントアプリケーション15がサーバアプリケーション12のサービスを要求した際に、接続予約部07が指定されたサービス内容に応じてビジネスプロセス管理部16よりサービス実施に必要な時間を取得し、品質保証通信の予約を自動的に取得する。
なお、図17において、ビジネスプロセス管理部16以外の要素は、図1に示したものと同様である。
【0138】
図20を基に、接続予約部07、サーバアプリケーション12、ビジネスプロセス管理部16による、通信飽和時における品質保証通信の確立予約の処理手順を述べる。
【0139】
例えば、図8のS105においてクライアントアプリケーション15から通信確立可能な最短の予約時間問い合わせを受けた際に、接続予約部07は、S601の処理を開始する。
S601において、接続予約部07は、クライアントアプリケーション15よりSIP通信接続元情報を含む予約時間問い合わせ要求を受信する。このとき接続予約部07は、クライアントアプリケーション15よりクライアントアプリケーション15が実施を要求するサーバアプリケーションが提供するサービスメニューを取得する。
【0140】
次に、S602において、接続予約部07は、予約時間問い合わせを要求するクライアント装置14のSIP通信接続元情報を予約時間問い合わせ要求より取得する。
【0141】
S603において、接続予約部07は、予約情報を取得する。
より具体的には、接続予約部07は予約管理テーブル(図3)から終了日時205が現在時刻以降である予約レコードを取得する。
【0142】
次に、S604において、接続予約部07は、サーバアプリケーション12を介してビジネスプロセス管理部16から、クライアントアプリケーション15が要求するサービスメニューに該当するビジネスプロセスの実施時間を取得する。
ビジネスプロセス管理部16では、予めサーバアプリケーションの提供者により定義されたサービスメニュー701と、サービスメニュー701を実施するために利用される構成サービスコンポーネント702を少なくとも組とするテーブル(図18)と、構成サービスコンポーネント703と、構成サービスコンポーネント703の実施に必要なビジネスプロセス実施時間704を少なくとも組とするテーブル(図19)が管理されている。
S604において、接続予約部07は、S601にて取得したサービスメニュー番号をキーとしてビジネスプロセス管理部16よりサービスメニューの実施に必要な時間をサービス単位時間として取得する。
【0143】
次に、S605において、接続予約部07は、S603で取得した予約レコードからサービス単位時間当たりの予約登録数を取得する。
S605において、接続予約部07は、接続管理テーブル(図2)から、開始日時104が現在時刻以前であり切断日時105がnullの通信確立レコードを取得する。
また、S605において、接続予約部07は、前記制御用通信確立数と前記通信確立レコードと前記サービス単位時間当たりの予約登録数を基に、前記サービス単位時間当たりの想定接続数を求め、想定接続数が通信事業者の定める上限同時接続数以下となる直近のサービス単位時間の開始時刻と終了時刻を取得する。
【0144】
次に、S606において、接続予約部07は、現在時刻と前記取得した直近のサービス実施のために取得可能な品質保証通信予約の開始時刻との差分を算出し、算出した差分を待ち時間としてクライアントアプリケーション15に送信し、許容可能であるか応答を待つ。
そして、S607においてクライアントアプリケーション15からの通信接続待ち時間が許容できるか否かの応答を取得し、S608へ移行する。
【0145】
S608において、クライアント装置14のユーザがクライアントアプリケーション15を介して待ち時間が許容可能であると応答した場合、接続予約部07は、S609へ処理を移行する。
ユーザが待ち時間許容不可能と判断し、クライアントアプリケーション15を介して応答した場合、S611へ処理を移行する。
【0146】
S608でYESの場合は、接続予約部07は、S609において、S602にて取得した接続元情報とS605によって算出した最短待ち時間である開始日時(接続可能時刻)と当該開始日時にサービス単位時間を追加した終了日時を予約管理テーブル(図3)に書き込み、通信接続予約を登録する。
また、S610において、接続予約部07は、クライアントアプリケーション15に予約取結果を送信する。
【0147】
これにより、通信飽和時において一連のビジネスプロセス実施に必要な時間の品質保証通信が予約により確保されるため、他ユーザのサービス要求により、ビジネスプロセスの途中で品質保証ネットワークの利用をサービス要求管理部に規制させることによるデータベースのロールバックなどの発生を抑制することが可能となる。
【0148】
実施の形態6.
図21を基に、実施の形態1で述べたサービス要求管理部02を備えたサーバ装置01によるサービス提供システムの第6の実施の形態を述べる。
【0149】
本実施の形態は、サービス要求元クライアントにSIP通信機能を備えたSIPクライアントソフトウェア18をクライアントアプリケーション15と独立させて、備える。あるいは、クライアント装置14と独立したハードウェア上に備える。
このことにより、クライアントアプリケーション15は、WebブラウザソフトウェアなどのSIP通信機能を保持しないWebブラウザソフトウェアなどのアプリケーションであり、前記SIPクライアントソフトウェア18は、サービス要求元ユーザがWebブラウザソフトウェアを起動して入力したサーバ装置のアドレス情報を元にSIP通信のINVITEメッセージを生成し、サーバ装置に送信する。
【0150】
これにより、SIP通信機能を備えることのない既存のネットワーク通信機能を備えるソフトウェアを利用した場合であっても、サーバ装置01に接続された通信機器13に対して品質保証通信の確立を要求することを可能とする。
【0151】
実施の形態7.
図22を基に、実施の形態1で述べたサービス要求管理部02を備えたサーバ装置19によるサービス提供システムの第7の実施の形態を述べる。
【0152】
本実施の形態は、実施の形態1で述べた通信機器13をソフトウェアモジュールである通信機器ソフトウェア20として構成したサーバ装置19を備え、通信機器ソフトウェア20が検知したSIPによる品質保証通信の確立要求を通信部10および通信部連携インタフェースを介してサービス要求管理部02の接続判定部08に発信する。
【0153】
こうした構成において、通信機器を新たに設置することなくSIP通信機能を有するサーバ装置19で同時接続数の上限に到達することなく通信要求をサーバ装置19に到着させ、予約管理テーブル(図3)にて管理される品質保証通信の判定を実施し、通信リソースを有効に活用することができる。
【0154】
最後に、実施の形態1〜7に示したサーバ装置01、19のハードウェア構成例について説明する。
図25は、実施の形態1〜7に示すサーバ装置01、19のハードウェア資源の一例を示す図である。
なお、図25の構成は、あくまでもサーバ装置01、19のハードウェア構成の一例を示すものであり、サーバ装置01、19のハードウェア構成は図25に記載の構成に限らず、他の構成であってもよい。
【0155】
図25において、サーバ装置01、19は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0156】
通信ボード915は、図1等に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0157】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0158】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0159】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
サーバ装置01、19の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0160】
上記プログラム群923には、実施の形態1〜7の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0161】
ファイル群924には、実施の形態1〜7の説明において、「〜の判断」、「〜の計算」、「〜の算出」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜7で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0162】
また、実施の形態1〜7の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜7の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜7の「〜部」の手順や方法をコンピュータに実行させるものである。
【0163】
このように、実施の形態1〜7に示すサーバ装置01、19は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【0164】
【図1】実施の形態1に係るサーバ装置及びクライアント装置の構成例を示す図。
【図2】実施の形態1に係る接続管理テーブルの例を示す図。
【図3】実施の形態1に係る予約管理テーブルの例を示す図。
【図4】実施の形態1に係る規制履歴テーブルの例を示す図。
【図5】実施の形態1に係る規制履歴通知リストの例を示す図。
【図6】実施の形態1に係るサーバ装置の動作例を示すフローチャート図。
【図7】実施の形態1に係る接続要求情報の例を示す図。
【図8】実施の形態1に係るクライアント装置の動作例を示すフローチャート図。
【図9】実施の形態1に係るサーバ装置の動作例を示すフローチャート図。
【図10】実施の形態2に係るサーバ装置の動作例を示すフローチャート図。
【図11】実施の形態3に係るサーバ装置の動作例を示すフローチャート図。
【図12】実施の形態3に係るクライアント装置の動作例を示すフローチャート図。
【図13】実施の形態4に係るクライアント装置の動作例を示すフローチャート図。
【図14】実施の形態4に係るサーバ装置の動作例を示すフローチャート図。
【図15】実施の形態4に係る予約パラメータの例を示す図。
【図16】実施の形態1に係るサーバ装置の動作例を示すフローチャート図。
【図17】実施の形態5に係るサーバ装置及びクライアント装置の構成例を示す図。
【図18】実施の形態5に係るメニュー番号とコンポーネントとの組のテーブルの例を示す図。
【図19】実施の形態5に係るとコンポーネントと実施時間の組のテーブルの例を示す図。
【図20】実施の形態5に係るサーバ装置の動作例を示すフローチャート図。
【図21】実施の形態6に係るサーバ装置及びクライアント装置の構成例を示す図。
【図22】実施の形態7に係るサーバ装置及びクライアント装置の構成例を示す図。
【図23】実施の形態1に係るサーバ装置の動作例を示すフローチャート図。
【図24】実施の形態1に係る通信規制の原理を示す図。
【図25】実施の形態1〜7に係るサーバ装置及びクライアント装置のハードウェア構成例を示す図。
【符号の説明】
【0165】
01 サーバ装置、02 サービス要求管理部、03 規制履歴テーブル記憶部、04 予約管理テーブル記憶部、05 接続管理テーブル記憶部、06 規制管理部、07 接続予約部、08 接続判定部、09 通信部連携インタフェース、10 通信部、11 サービスコンポーネント、12 サーバアプリケーション、13 通信機器、14 クライアント装置、15 クライアントアプリケーション、16 ビジネスプロセス管理部、18 SIPクライアントソフトウェア、19 サーバ装置、20 通信機器ソフトウェア、21 接続数記憶部、22 サービス提供部、30 ネットワーク。
【特許請求の範囲】
【請求項1】
第1通信装置と複数の第2通信装置との間の通信を管理する通信管理装置であって、
複数の第2通信装置が同時に前記第1通信装置に接続できる同時接続数の上限を上限同時接続数として記憶する同時接続数記憶部と、
前記上限同時接続数のうち既にいずれかの第2通信装置に割り当てられている接続数を割当済み接続数として管理する割当済み接続数管理部と、
前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求を受信する通信部と、
前記上限同時接続数と前記割当済み接続数とに基づき同時接続数の空き状況を判断し、接続要求の送信元である要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定する接続判定部と、
前記接続判定部が前記要求第2通信装置に対して前記第1通信装置との接続を許可しない場合に、前記要求第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約する接続予約部とを有することを特徴とする通信管理装置。
【請求項2】
前記割当済み接続数管理部は、
前記接続判定部が前記要求第2通信装置に対して前記第1通信装置との接続を許可した場合に、当該許可を反映させて割当済み接続数を増加させ、
前記接続予約部が前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約した場合に、当該予約を反映させて前記接続可能時刻以降の割当済み接続数を増加させることを特徴とする請求項1に記載の通信管理装置。
【請求項3】
前記割当済み接続数管理部は、
前記第1通信装置と接続している接続第2通信装置の数を管理する接続管理部と、
前記接続予約部による予約の数を管理する予約管理部とを有し、
前記接続判定部は、
前記割当済み接続数として、前記接続第2通信装置の数と前記予約の数との和を用いて、前記要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定することを特徴とする請求項1又は2に記載の通信管理装置。
【請求項4】
前記予約管理部は、
前記接続予約部による予約を接続可能時刻とともに管理し、
前記接続判定部は、
前記予約管理部により管理されている予約の中から接続可能時刻が既に開始している予約を抽出し、前記割当済み接続数として、抽出した予約の数と前記接続第2通信装置の数との和を用いて、前記要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定することを特徴とする請求項3に記載の通信管理装置。
【請求項5】
前記通信管理装置は、更に、
制御用に割り当てられている接続数を制御用接続数として記憶する制御用接続数記憶部を有し、
前記接続判定部は、
前記割当済み接続数と前記制御用接続数との和と前記上限同時接続数とを比較し、
前記割当済み接続数と前記制御用接続数との和が前記上限同時接続数に達していない場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可し、
前記割当済み接続数と前記制御用接続数との和が前記上限同時接続数に達している場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可しないことを特徴とする請求項1〜4のいずれかに通信管理装置。
【請求項6】
前記接続判定部は、
同時接続数の空き状況により前記要求第2通信装置に対して前記第1通信装置との接続を許可しない場合に、前記要求第2通信装置が、前記接続予約部により前記第1通信装置との接続が予約されている予約第2通信装置に一致し接続可能時刻以降に接続要求を送信しているか否かを判断し、前記要求第2通信装置が予約第2通信装置に一致し接続可能時刻以降に接続要求を送信している場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可することを特徴とする請求項1〜5のいずれかに記載の通信管理装置。
【請求項7】
前記接続判定部は、
前記要求第2通信装置が予約第2通信装置に一致し接続可能時刻以降に接続要求を送信している場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可するとともに、前記第1通信装置と接続しているいずれかの接続第2通信装置の前記第1通信装置との接続を切断することを特徴とする請求項6に記載の通信管理装置。
【請求項8】
前記通信管理装置は、更に、
制御用に割り当てられている接続数を制御用接続数として記憶する制御用接続数記憶部を有し、
前記割当済み接続数管理部は、
前記第1通信装置と接続している接続第2通信装置の数を、前記接続予約部の予約に基づき前記第1通信装置と接続している予約あり接続第2通信装置の数と前記接続予約部の予約に基づかずに前記第1通信装置と接続している予約なし接続第2通信装置の数とに識別して管理する接続管理部と、
前記接続予約部による予約の数を管理する予約管理部とを有し、
前記接続判定部は、
前記予約あり接続第2通信装置の数と前記予約の数と前記制御用接続数との和と前記上限同時接続数とを比較し、
前記予約あり接続第2通信装置の数と前記予約の数と前記制御用接続数との和が前記上限同時接続数に達している場合に、予約なし接続第2通信装置の前記第1通信装置との接続を切断することを特徴とする請求項7に記載の通信管理装置。
【請求項9】
前記予約管理部は、
前記接続予約部による予約を接続可能時刻とともに管理し、
前記接続判定部は、
前記予約管理部により管理されている予約の中から接続可能時刻が既に開始している予約を抽出し、抽出した予約の数と前記予約あり接続第2通信装置の数と前記制御用接続数との和と前記上限同時接続数とを比較することを特徴とする請求項8に記載の通信管理装置。
【請求項10】
前記通信管理装置は、
前記接続判定部により前記第1通信装置との接続が切断された切断第2通信装置の識別情報と、前記切断第2通信装置と前記第1通信装置との接続が切断された際に前記第1通信装置が前記切断第2通信装置に対して行っていた処理の内容を記憶することを特徴とする請求項7〜9のいずれかに記載の通信管理装置。
【請求項11】
前記接続判定部は、
同時接続数の空き状況を判断する際に、接続可能時刻が既に開始している予約ごとに、予約を受けた予約第2通信措置が前記第1通信装置との接続を開始しているか否かを判断し、いずれかの予約に対して予約第2通信装置が前記第1通信装置との接続を開始していない場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可することを特徴とする請求項4に記載の通信管理装置。
【請求項12】
前記割当済み接続数管理部は、
前記第1通信装置と接続している接続第2通信装置の数を管理し、
前記接続判定部は、
前記割当済み接続数として前記接続第2通信装置の数を用いて、前記要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定することを特徴とする請求項1又は2に記載の通信管理装置。
【請求項13】
前記通信管理装置は、
サービスを提供する第1通信装置と前記第1通信装置からサービスの提供を受ける複数の第2通信装置との間の通信を管理し、
前記通信部は、
前記要求第2通信装置から、前記第1通信装置に対して要求するサービスの表示が含まれる接続要求を受信し、
前記接続予約部は、
前記接続要求に表示されているサービスの提供に要する時間を参酌して、前記接続可能時刻を算出することを特徴とする請求項1〜12に記載の通信管理装置。
【請求項14】
前記通信部は、
前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求時間が示され、前記接続要求時間における接続の予約を要求する予約要求を受信し、
前記接続予約部は、
前記接続要求時間における同時接続数の空き状況を判断し、接続要求時間における同時接続数に空きがある場合に、前記予約要求の送信元の第2通信装置に対して前記接続要求時間における前記第1通信装置との接続を予約することを特徴とする請求項1〜13のいずれかに記載の通信管理装置。
【請求項15】
前記接続予約部は、
前記接続要求時間における同時接続数に空きがなく、前記接続要求時間における前記第1通信装置との接続を予約できない場合に、前記接続要求時間以外で前記予約要求の送信元の第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記予約要求の送信元の第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約することを特徴とする請求項14に記載の通信管理装置。
【請求項16】
コンピュータが、第1通信装置と複数の第2通信装置との間の通信を管理する通信管理方法であって、
前記コンピュータが、複数の第2通信装置が同時に前記第1通信装置に接続できる同時接続数の上限である上限同時接続数のうち既にいずれかの第2通信装置に割り当てられている接続数を割当済み接続数として管理する割当済み接続数管理ステップと、
前記コンピュータが、前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求を受信する通信ステップと、
前記コンピュータが、前記上限同時接続数と前記割当済み接続数とに基づき同時接続数の空き状況を判断し、接続要求の送信元である要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定する接続判定ステップと、
前記接続判定ステップにおいて前記要求第2通信装置に対して前記第1通信装置との接続が許可されない場合に、前記コンピュータが、前記要求第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約する接続予約ステップとを有することを特徴とする通信管理方法。
【請求項17】
第1通信装置と複数の第2通信装置との間の通信を管理するコンピュータに、
複数の第2通信装置が同時に前記第1通信装置に接続できる同時接続数の上限である上限同時接続数のうち既にいずれかの第2通信装置に割り当てられている接続数を割当済み接続数として管理する割当済み接続数管理処理と、
前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求を受信する通信処理と、
前記上限同時接続数と前記割当済み接続数とに基づき同時接続数の空き状況を判断し、接続要求の送信元である要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定する接続判定処理と、
前記接続判定処理において前記要求第2通信装置に対して前記第1通信装置との接続が許可されない場合に、前記要求第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約する接続予約処理とを実行させることを特徴とするプログラム。
【請求項1】
第1通信装置と複数の第2通信装置との間の通信を管理する通信管理装置であって、
複数の第2通信装置が同時に前記第1通信装置に接続できる同時接続数の上限を上限同時接続数として記憶する同時接続数記憶部と、
前記上限同時接続数のうち既にいずれかの第2通信装置に割り当てられている接続数を割当済み接続数として管理する割当済み接続数管理部と、
前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求を受信する通信部と、
前記上限同時接続数と前記割当済み接続数とに基づき同時接続数の空き状況を判断し、接続要求の送信元である要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定する接続判定部と、
前記接続判定部が前記要求第2通信装置に対して前記第1通信装置との接続を許可しない場合に、前記要求第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約する接続予約部とを有することを特徴とする通信管理装置。
【請求項2】
前記割当済み接続数管理部は、
前記接続判定部が前記要求第2通信装置に対して前記第1通信装置との接続を許可した場合に、当該許可を反映させて割当済み接続数を増加させ、
前記接続予約部が前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約した場合に、当該予約を反映させて前記接続可能時刻以降の割当済み接続数を増加させることを特徴とする請求項1に記載の通信管理装置。
【請求項3】
前記割当済み接続数管理部は、
前記第1通信装置と接続している接続第2通信装置の数を管理する接続管理部と、
前記接続予約部による予約の数を管理する予約管理部とを有し、
前記接続判定部は、
前記割当済み接続数として、前記接続第2通信装置の数と前記予約の数との和を用いて、前記要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定することを特徴とする請求項1又は2に記載の通信管理装置。
【請求項4】
前記予約管理部は、
前記接続予約部による予約を接続可能時刻とともに管理し、
前記接続判定部は、
前記予約管理部により管理されている予約の中から接続可能時刻が既に開始している予約を抽出し、前記割当済み接続数として、抽出した予約の数と前記接続第2通信装置の数との和を用いて、前記要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定することを特徴とする請求項3に記載の通信管理装置。
【請求項5】
前記通信管理装置は、更に、
制御用に割り当てられている接続数を制御用接続数として記憶する制御用接続数記憶部を有し、
前記接続判定部は、
前記割当済み接続数と前記制御用接続数との和と前記上限同時接続数とを比較し、
前記割当済み接続数と前記制御用接続数との和が前記上限同時接続数に達していない場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可し、
前記割当済み接続数と前記制御用接続数との和が前記上限同時接続数に達している場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可しないことを特徴とする請求項1〜4のいずれかに通信管理装置。
【請求項6】
前記接続判定部は、
同時接続数の空き状況により前記要求第2通信装置に対して前記第1通信装置との接続を許可しない場合に、前記要求第2通信装置が、前記接続予約部により前記第1通信装置との接続が予約されている予約第2通信装置に一致し接続可能時刻以降に接続要求を送信しているか否かを判断し、前記要求第2通信装置が予約第2通信装置に一致し接続可能時刻以降に接続要求を送信している場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可することを特徴とする請求項1〜5のいずれかに記載の通信管理装置。
【請求項7】
前記接続判定部は、
前記要求第2通信装置が予約第2通信装置に一致し接続可能時刻以降に接続要求を送信している場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可するとともに、前記第1通信装置と接続しているいずれかの接続第2通信装置の前記第1通信装置との接続を切断することを特徴とする請求項6に記載の通信管理装置。
【請求項8】
前記通信管理装置は、更に、
制御用に割り当てられている接続数を制御用接続数として記憶する制御用接続数記憶部を有し、
前記割当済み接続数管理部は、
前記第1通信装置と接続している接続第2通信装置の数を、前記接続予約部の予約に基づき前記第1通信装置と接続している予約あり接続第2通信装置の数と前記接続予約部の予約に基づかずに前記第1通信装置と接続している予約なし接続第2通信装置の数とに識別して管理する接続管理部と、
前記接続予約部による予約の数を管理する予約管理部とを有し、
前記接続判定部は、
前記予約あり接続第2通信装置の数と前記予約の数と前記制御用接続数との和と前記上限同時接続数とを比較し、
前記予約あり接続第2通信装置の数と前記予約の数と前記制御用接続数との和が前記上限同時接続数に達している場合に、予約なし接続第2通信装置の前記第1通信装置との接続を切断することを特徴とする請求項7に記載の通信管理装置。
【請求項9】
前記予約管理部は、
前記接続予約部による予約を接続可能時刻とともに管理し、
前記接続判定部は、
前記予約管理部により管理されている予約の中から接続可能時刻が既に開始している予約を抽出し、抽出した予約の数と前記予約あり接続第2通信装置の数と前記制御用接続数との和と前記上限同時接続数とを比較することを特徴とする請求項8に記載の通信管理装置。
【請求項10】
前記通信管理装置は、
前記接続判定部により前記第1通信装置との接続が切断された切断第2通信装置の識別情報と、前記切断第2通信装置と前記第1通信装置との接続が切断された際に前記第1通信装置が前記切断第2通信装置に対して行っていた処理の内容を記憶することを特徴とする請求項7〜9のいずれかに記載の通信管理装置。
【請求項11】
前記接続判定部は、
同時接続数の空き状況を判断する際に、接続可能時刻が既に開始している予約ごとに、予約を受けた予約第2通信措置が前記第1通信装置との接続を開始しているか否かを判断し、いずれかの予約に対して予約第2通信装置が前記第1通信装置との接続を開始していない場合に、前記要求第2通信装置に対して前記第1通信装置との接続を許可することを特徴とする請求項4に記載の通信管理装置。
【請求項12】
前記割当済み接続数管理部は、
前記第1通信装置と接続している接続第2通信装置の数を管理し、
前記接続判定部は、
前記割当済み接続数として前記接続第2通信装置の数を用いて、前記要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定することを特徴とする請求項1又は2に記載の通信管理装置。
【請求項13】
前記通信管理装置は、
サービスを提供する第1通信装置と前記第1通信装置からサービスの提供を受ける複数の第2通信装置との間の通信を管理し、
前記通信部は、
前記要求第2通信装置から、前記第1通信装置に対して要求するサービスの表示が含まれる接続要求を受信し、
前記接続予約部は、
前記接続要求に表示されているサービスの提供に要する時間を参酌して、前記接続可能時刻を算出することを特徴とする請求項1〜12に記載の通信管理装置。
【請求項14】
前記通信部は、
前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求時間が示され、前記接続要求時間における接続の予約を要求する予約要求を受信し、
前記接続予約部は、
前記接続要求時間における同時接続数の空き状況を判断し、接続要求時間における同時接続数に空きがある場合に、前記予約要求の送信元の第2通信装置に対して前記接続要求時間における前記第1通信装置との接続を予約することを特徴とする請求項1〜13のいずれかに記載の通信管理装置。
【請求項15】
前記接続予約部は、
前記接続要求時間における同時接続数に空きがなく、前記接続要求時間における前記第1通信装置との接続を予約できない場合に、前記接続要求時間以外で前記予約要求の送信元の第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記予約要求の送信元の第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約することを特徴とする請求項14に記載の通信管理装置。
【請求項16】
コンピュータが、第1通信装置と複数の第2通信装置との間の通信を管理する通信管理方法であって、
前記コンピュータが、複数の第2通信装置が同時に前記第1通信装置に接続できる同時接続数の上限である上限同時接続数のうち既にいずれかの第2通信装置に割り当てられている接続数を割当済み接続数として管理する割当済み接続数管理ステップと、
前記コンピュータが、前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求を受信する通信ステップと、
前記コンピュータが、前記上限同時接続数と前記割当済み接続数とに基づき同時接続数の空き状況を判断し、接続要求の送信元である要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定する接続判定ステップと、
前記接続判定ステップにおいて前記要求第2通信装置に対して前記第1通信装置との接続が許可されない場合に、前記コンピュータが、前記要求第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約する接続予約ステップとを有することを特徴とする通信管理方法。
【請求項17】
第1通信装置と複数の第2通信装置との間の通信を管理するコンピュータに、
複数の第2通信装置が同時に前記第1通信装置に接続できる同時接続数の上限である上限同時接続数のうち既にいずれかの第2通信装置に割り当てられている接続数を割当済み接続数として管理する割当済み接続数管理処理と、
前記第1通信装置に未接続の第2通信装置から、前記第1通信装置との接続を要求する接続要求を受信する通信処理と、
前記上限同時接続数と前記割当済み接続数とに基づき同時接続数の空き状況を判断し、接続要求の送信元である要求第2通信装置に対して前記第1通信装置との接続を許可するか否かを判定する接続判定処理と、
前記接続判定処理において前記要求第2通信装置に対して前記第1通信装置との接続が許可されない場合に、前記要求第2通信装置が前記第1通信装置との接続を開始できる接続可能時刻を算出し、前記要求第2通信装置に対して前記接続可能時刻以降の前記第1通信装置との接続を予約する接続予約処理とを実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2010−130440(P2010−130440A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−303933(P2008−303933)
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]