JP5943866B2 - 情報処理装置、方法およびプログラム - Google Patents

情報処理装置、方法およびプログラム Download PDF

Info

Publication number
JP5943866B2
JP5943866B2 JP2013056967A JP2013056967A JP5943866B2 JP 5943866 B2 JP5943866 B2 JP 5943866B2 JP 2013056967 A JP2013056967 A JP 2013056967A JP 2013056967 A JP2013056967 A JP 2013056967A JP 5943866 B2 JP5943866 B2 JP 5943866B2
Authority
JP
Japan
Prior art keywords
user
connection
request
priority
management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013056967A
Other languages
English (en)
Other versions
JP2014183477A (ja
Inventor
哲也 向井
哲也 向井
昌夫 山本
昌夫 山本
勲 渡邊
勲 渡邊
千種 浅井
千種 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PFU Ltd
Original Assignee
PFU Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PFU Ltd filed Critical PFU Ltd
Priority to JP2013056967A priority Critical patent/JP5943866B2/ja
Publication of JP2014183477A publication Critical patent/JP2014183477A/ja
Application granted granted Critical
Publication of JP5943866B2 publication Critical patent/JP5943866B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、コネクション管理のためのリソースを割り当てる技術に関する。
従来、HTTP Proxy Serverに対して、外部へのアクセス要求を送信する各クライアント等それぞれのアクセス拒否の基準となる閾値およびアクセスを拒否する時間を算出する計算式を記憶しておき、前記各クライアント等からのアクセス要求のうち認証エラーになる回数を計測し、当該計測の結果、前記閾値を超えるクライアントが存在する場合、対応する計算式を用いてアクセス拒否時間を算出し、当該クライアント等からのアクセス要求について、算出されたアクセス拒否時間分のアクセスを拒否するアクセス制御方法が提案されている(特許文献1を参照)。
その他、端末からのアクセスを管理するための様々な方法が提案されている(特許文献2から5を参照)。
特開2012−146104号公報 特開2009−104332号公報 特開2006−120080号公報 特開2011−192021号公報 国際公開第2009/017181号
従来、コネクションの管理を行う装置では、管理可能なコネクション数の上限を予め設定しておき、上限に達した場合に、新たなコネクションの確立を制限する制御が行われている。しかし、このような方法では、管理されているコネクション数が上限に達した場合、確立されているコネクションが解放されない限り、新たなコネクションを確立することが出来ない、という問題が発生してしまう。
本開示は、上記した問題に鑑み、コネクションの管理において、リソース割り当ての効率を高めることを課題とする。
本開示に係る情報処理装置の一例は、端末から送信された、サーバ宛のコネクション確立リクエストを受信して、該リクエストを中継する中継手段と、前記中継手段による中継の結果確立された、前記端末と前記サーバとの間のコネクションを管理する管理手段と、前記リクエストに係る前記端末のユーザの優先度を算出する優先度算出手段と、前記優先度に従って、前記管理手段によるコネクション管理の負荷が閾値以上となった場合の、前記リクエストの中継の許可または不許可を決定する決定手段と、前記管理手段によるコネクション管理の負荷が前記閾値以上である場合に、前記決定手段によって不許可決定されたリクエストの、前記中継手段による中継を制限する制限手段と、を備える情報処理装置である。
また、本開示は、コンピュータによって実行される方法、またはコンピュータに実行させるプログラムとしても把握することが可能である。また、本開示は、そのようなプログ
ラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
本開示によれば、コネクションの管理において、リソース割り当ての効率を高めることが可能となる。
実施形態に係るシステムの構成の概略を示す図である。 実施形態に係る通信管理装置の機能構成の概略を示す図である。 実施形態に係るコネクション管理テーブルの構成の概略を示す図である。 実施形態に係るユーザ管理テーブルの構成の概略を示す図である。 実施形態に係る、通信管理処理の流れを示すフローチャートである。 実施形態に係る、アイドルコネクション切断処理の流れを示すフローチャートである。 実施形態に係る、優先ユーザ設定処理の流れを示すフローチャートである。 実施形態に係る、通信管理装置が内部ネットワークと外部ネットワークとの間に設置されたシステムの構成の概略を示す図である。
以下、本開示に係る情報処理装置、情報処理システム、方法およびプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置、情報処理システム、方法およびプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施形態に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
本実施形態では、本開示に係る情報処理装置、方法およびプログラムを、ユーザ端末とサーバとの間のコネクションを管理・制御する、通信管理装置、通信管理方法および通信管理用プログラムとして実施した場合の実施の形態について説明する。但し、本開示に係る情報処理装置、方法およびプログラムは、端末とサーバとの間のコネクションを管理する技術に対して広く用いることが可能であり、本開示の適用対象は、本実施形態において示した例に限定されない。
<システムの構成>
図1は、本実施形態に係るシステムの構成の概略を示す図である。本実施形態に係るシステムは、通信管理装置1と、LAN(Local Area Network)やインターネット等のネットワークを介して通信管理装置1と通信可能に接続される複数のサーバ3と、を備える。また、本実施形態においてサーバ3は、通信管理装置1およびネットワークを介して複数のユーザ端末9と通信可能に接続される。
通信管理装置1は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12およびROM(Read Only Memory)13等からなる制御部10と、補助記憶装置14と、ネットワークインターフェース15a、15bと、ディスプレイ等の出力装置17と、を備える情報処理装置である。但し、通信管理装置1の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。
サーバ3は、CPU、RAMおよびROMからなる制御部と、補助記憶装置と、ユーザ
端末9や通信管理装置1との通信を行うためのネットワークインターフェースと、が電気的に接続された情報処理装置である。但し、サーバ3の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。
ユーザ端末9は、CPU、RAMおよびROMからなる制御部と、補助記憶装置と、サーバ3や通信管理装置1との通信を行うためのネットワークインターフェースと、マウスやキーボード等の入力装置と、ディスプレイ等の出力装置と、が電気的に接続された情報処理装置である。但し、ユーザ端末9の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。
本実施形態に係る通信管理装置1は、ユーザ端末9とサーバ3との間の通信を中継するプロキシとして動作し、ユーザ端末9とサーバ3との間の通信を複数のサーバ3のうち適切なサーバ3に割り当てる負荷分散装置として動作する。また、通信管理装置1は、ユーザ端末9とサーバ3との間で確立されたコネクションを管理する。この際、通信管理装置1のリソースは限られているため、コネクション管理には、リソースを効率よく割り当てる必要がある。以下、通信管理装置1における、コネクション管理のためのリソース割り当てについて、より詳細に説明する。本実施形態に係る通信管理装置1は、ユーザ端末9からサーバ3宛に送信された、コネクション確立リクエストの中継を制御することで、コネクション管理のためのリソース割り当てを制御する。
図2は、本実施形態に係る通信管理装置1の機能構成の概略を示す図である。本実施形態に係る通信管理装置1は、CPU11が、RAM12に展開された各種プログラムを解釈および実行して、通信管理装置1に備えられた各種ハードウェアを制御することで、保留部21、ユーザ認証部22、中継部23、管理部24、切断部25、優先度算出部26、決定部27、制限部28、拒否応答部29、設定部30および出力部31を備える情報処理装置として機能する。また、本実施形態では、これらの機能がいずれも汎用のCPU11によって実行される例について説明しているが、これらの機能は、その一部または全部が、1または複数の専用のプロセッサによって実現されてもよい。
保留部21は、通信管理装置1によって受信された、サーバ3宛のコネクション確立リクエストを、制限部28による制限の対象とするか否かが決定されるまで、一時的に保留する。
ユーザ認証部22は、通信管理装置1によって受信されたコネクション確立リクエストの、送信元ユーザ端末9のユーザを認証する。本開示に係る技術を実施するためには、ユーザ認証はユーザ端末9を区別可能なものであればよく、ユーザ認証部22が採用する認証方法は本実施形態の例示に限定されない。例えば、ユーザ認証には、ユーザ識別子とパスワードをユーザ端末9から受信することによる認証や、Cookie等の情報をユーザ端末9から受信することによる認証、等を採用することが出来る。また、ユーザ認証部22は、ユーザ認証においてユーザ識別子を取得し、ユーザ管理テーブルおよびコネクション管理テーブルにおいて、ユーザの識別に用いる。ユーザ識別子は、ユーザ認証のための通信においてユーザ端末9から取得されてもよいし、Cookie等の情報と予め関連付けて所定の記憶装置に保持されていたものが取得されてもよい。本実施形態によれば、コネクションの管理がユーザ認証機能と連携することで、ユーザのネットワーク使用状況に応じた帯域制御を行うことが可能となる。
中継部23は、ユーザ端末9から送信された、サーバ3宛のコネクション確立リクエストを受信して、当該リクエストを中継する。中継部23によってリクエストが中継されることで、ユーザ端末9から送信されたリクエストがサーバ3に到達し、ユーザ端末9とサーバ3との間でコネクションが確立される。
管理部24は、中継部23による中継の結果確立された、ユーザ端末9とサーバ3との間のコネクション、およびユーザ端末9のユーザを管理する。本実施形態では、コネクションおよびユーザは、コネクション管理テーブルおよびユーザ管理テーブルを用いて管理される。図3および図4は、本実施形態において通信管理装置1が処理のために用いるコネクション管理テーブルおよびユーザ管理テーブルの構成の概略を示す図である。
図3は、本実施形態に係るコネクション管理テーブルの構成の概略を示す図である。コネクション管理テーブルは、コネクション管理全体に係る情報が保持される管理域と、個々のコネクションに係る情報が保持されるコネクションレコードとを有する。コネクション管理テーブルの管理域には、通信管理装置1が管理するコネクション数の上限N、アイドルコネクション切断の要否を判断するためのコネクション数の閾値(警告値)、コネクション管理テーブルによって現在管理されているコネクション数、およびアイドルコネクションの判定を行うためのアイドルタイマー閾値、が保持される。ここで、閾値と上限Nは、通信管理装置1の性能(CPU11の処理性能やRAM12のサイズ等)に基づいて管理者が決定することが出来る。上限Nは、閾値よりも大きな値である。そして、コネクション管理テーブルには、管理域に設定されている上限Nと同数のコネクションレコードが予め確保され、RAM12に展開されている。
夫々のコネクションレコードには、ユーザ端末9とサーバ3との間で確立されているコネクション毎に、ユーザ認証部22によって認証されたユーザ端末9のユーザ識別子、ユーザ端末9の端末IPアドレス、ユーザ端末9とサーバ3との間のコネクション状態、コネクションの接続時間(コネクション確立時刻からの経過時間)、ユーザ端末9とサーバ3との間で最後にデータが送受信された最終アクセス時刻、当該コネクションにおいてユーザ端末9とサーバ3との間で送受信された累積データ量、接続先サーバ3のIPアドレスである宛先IPアドレス、および、当該コネクションに係るユーザの優先度が保持される。なお、コネクションレコードに保持される情報は、コネクションが確立されている間、管理部24によって定期的に更新される。
図4は、本実施形態に係るユーザ管理テーブルの構成の概略を示す図である。ユーザ管理テーブルは、ユーザ管理全体に係る情報が保持される管理域と、個々のユーザに係る情報が保持されるユーザレコードとを有する。ユーザ管理テーブルの管理域には、通信管理装置1が管理するユーザ数の上限N2(コネクション数の上限Nとは異なってよい)、ユ
ーザ管理テーブルによって現在管理されているユーザ数、およびユーザ管理テーブルによって現在管理されているユーザ端末9のIPアドレス数、が保持される。ユーザ数の上限N2についても、通信管理装置1の性能(CPU11の処理性能やRAM12のサイズ等
)に基づいて管理者が決定することが出来る。そして、ユーザ管理テーブルには、管理域に設定されているユーザ数の上限N2と同数のユーザレコードが予め確保され、RAM1
2に展開されている。
夫々のユーザレコードには、ユーザ毎に、ユーザ認証部22によって認証されたユーザ端末9のユーザ識別子、ユーザ端末9のIPアドレス、当該ユーザに係るコネクション数(同一ユーザ識別子が設定されているコネクションレコードの数)、当該ユーザに係る接続時間の最大値である最大接続時間、当該ユーザに係る接続時間の平均である平均接続時間、当該ユーザに係る接続時間の累計である累積接続時間、当該ユーザに係るデータ量、および、管理者によってユーザ毎に任意に設定された重み(優先値、nice値とも称する。優先度とは異なる)が保持される。ユーザ毎に設定された重みは、後述するユーザ毎の優先度の算出に用いられる。管理者は、ユーザ毎に適切な重みを設定することで、ユーザ毎に優先度の調整を行うことが出来る。管理者は、例えば、ユーザの役割(管理者/一般ユーザなど)に応じて、異なる重みを設定することが出来る。なお、ユーザレコードに
保持される情報は、ユーザ認証部22による当該ユーザの認証が有効である間、管理部24によって定期的に更新される。
切断部25は、負荷が予め設定された閾値(警告値)以上である場合に、管理部24によって管理されているコネクションのうち、所定のコネクションを切断する。ここで切断の対象となる所定のコネクションは、例えば、コネクションは確立されているが、データは流れておらずアイドルタイムアウト待ちのコネクションであるアイドルコネクションである。本実施形態では、確立されたコネクションにおいて所定時間(本実施形態では、コネクション管理テーブルの管理域に設定されているアイドルタイマー閾値)以上データの送受信が発生していないことをもって、当該コネクションがアイドルコネクションであると判断される。但し、切断対象のコネクションは、アイドルコネクション以外のコネクションであってもよい。例えば、後述する優先度算出部26によって算出された優先度が低いユーザのコネクションを、切断対象としてもよい。
優先度算出部26は、リクエストまたはコネクションに係るユーザ端末9のユーザの優先度を算出する。この際、優先度算出部26は、ユーザの接続時間、当該ユーザに係る通信量、およびユーザ毎に設定された設定値(重み、優先値、nice値等)の少なくとも何れか1つ以上を用いて優先度を算出する。本実施形態では、累積接続時間(ユーザの接続時間)、データ量(ユーザに係る通信量)および重み(ユーザ毎に設定された設定値)が、ユーザ管理テーブルのユーザレコードから取得され、優先度の算出に用いられる。
決定部27は、優先度算出部26によって算出された優先度に従って、コネクション管理の負荷が閾値以上となった場合の、リクエストの中継の許可または不許可を決定する。
制限部28は、管理部24によるコネクション管理の負荷(本実施形態では、コネクション数)が閾値以上である場合に、決定部27によって不許可決定されたリクエストの、中継手段による中継を制限する。また、本実施形態では、制限部28は、負荷が閾値以上であり且つ上限Nを超えない場合、不許可決定されたリクエストの中継を制限し、負荷が上限Nを超えた場合、決定手段による決定の内容によらずにリクエストの中継を制限する。
なお、本実施形態では、管理部24によるコネクション管理の負荷を判定する基準としてコネクション数を採用しているが、コネクション管理の負荷の判定基準は、コネクション数に限定されない。コネクション管理の負荷を判定する方法としては、例えば、コネクション管理に用いられているRAM12の量やRAM12の占有率、およびコネクション管理に用いられているCPU11の占有時間や占有率、等を、所定の閾値と比較する方法が採用されてもよい。
拒否応答部29は、決定部27によって不許可決定されたリクエストの送信元ユーザ端末9に対して、コネクション確立を拒否する応答を行う。
設定部30は、閾値、上限Nおよび上限N2を、時間帯ごとに予め設定された値に設定
する。即ち、本実施形態において、閾値、上限Nまたは上限N2は、予め、日時と、この
日時において閾値、上限Nまたは上限N2に設定したい値と、を設定しておくことによっ
て、当該日時が到来した際に、設定値を自動的に変更することが出来る。
出力部31は、管理部24による管理状況を、出力装置17等を介して出力する。出力部31によって出力される管理状況には、例えば、コネクション管理テーブルおよびユーザ管理テーブルによって管理されている情報(最大接続時間や平均接続時間、コネクション数等)が含まれてよい。また、出力部31によって出力される情報には、通信管理装置
1によるリクエストおよびコネクションの処理状況が含まれてもよい。コネクションの処理状況としては、例えば、保留部21によって保留されている受付待ちリクエストの数および内容、更に通信中のコネクションの内容、等が挙げられる。また、コネクション数が閾値(警告値)を超えている場合、出力部31は、管理者に対して通信管理装置1の負荷が増大していることを通知する警告メッセージを出力してもよい。なお、出力部31によって出力される情報は、管理者へのレポートファイル出力や電子メール出力、プリント出力等、ディスプレイ出力以外の方法で出力されてもよい。このような情報が出力されることで、管理者は、ネットワークの負荷状態を確認することができ、システム拡張計画の立案等に活用することができる。
<処理の流れ>
次に、本実施形態に係る処理の詳細を説明する。なお、本実施形態において説明される処理の具体的な内容および順序等は、実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されてよい。
図5は、本実施形態に係る、通信管理処理の流れを示すフローチャートである。本フローチャートに示された通信管理処理は、通信管理装置1が、ユーザ端末9から送信されたコネクションの確立リクエストを受信したことを契機として開始される。
ステップS101では、ユーザ端末9からのリクエストが受信され、ユーザ認証が行われる。通信管理装置1の中継部23は、ユーザ端末9からサーバ3宛に送信された、コネクションの確立リクエストを受信する。ここで、通信管理装置1は、受信したリクエストを即座にサーバ3宛に中継(転送)することなく、通信管理装置1でバッファする。このバッファは、RAM12やネットワークインターフェース15aのバッファ領域等に蓄積することで行われる。また、ユーザ認証部22は、受信されたリクエストに係るユーザ端末9のユーザを認証し、ユーザ識別子を取得する。その後、処理はステップS102へ進む。
ステップS102では、管理されているコネクション数が閾値未満であるか否かが確認される。新たなコネクション確立リクエストが受信されると、通信管理装置1の管理部24は、当該通信管理装置1が現在管理しているコネクションの数をコネクション管理テーブルの管理域から取得し、同じくコネクション管理テーブルの管理域から取得された閾値と比較することで、管理部24によるコネクション管理の負荷が閾値未満であるか否かを判断する。比較の結果、現在管理しているコネクションの数が閾値未満であると判定された場合、処理はステップS103へ進む。一方、現在管理しているコネクションの数が閾値以上であると判定された場合、処理はステップS107へ進む。
ステップS103およびステップS104では、リクエストが受け付けられ、中継される。通信管理装置1の中継部23は、ステップS102においてコネクション数が閾値未満であると判定されたことを受けて、ステップS101で受信されたリクエストの中継を許可し、ユーザ端末9へリクエストの受付通知およびサーバ3へのリクエストの中継(転送)を行う。その後、処理はステップS105へ進む。
ステップS105では、コネクション管理テーブルの更新が行われる。通信管理装置1の管理部24は、コネクション管理テーブル上に、中継されたリクエストに応じてサーバ3とユーザ端末9との間に確立されたコネクションを管理するためのコネクションレコードを確保し、確保されたコネクションレコードに、当該コネクションに係る情報を記録する。具体的には、管理部24は、ユーザ識別子に、ユーザ認証部22によって認証されたユーザ端末9のユーザ識別子を設定し、端末IPアドレスに、リクエストの送信元アドレスを設定し、コネクション状態を「確立(ESTABLISHED)」に設定し、接続時
間にコネクション確立時刻からの経過時間を設定し、最終アクセス時刻に、ユーザ端末9とサーバ3との間で最後にデータが送受信された時刻を設定し、データ量に、当該コネクションにおいてユーザ端末9とサーバ3との間で送受信された累積データ量を記録し、宛先IPアドレスに接続先サーバ3のIPアドレスを設定し、優先度に、優先度算出部26によって算出された、当該コネクションのユーザの優先度を設定する。優先度算出部26による優先度の算出方法は、図7を用いて後述する方法と概略同様である。なお、これらの情報は、コネクションが確立している間、管理部24によって定期的に更新される。その後、処理はステップS106へ進む。
ステップS106では、ユーザ管理テーブルの更新が行われる。通信管理装置1の管理部24は、ユーザ管理テーブル上に、確立されたコネクションに係るユーザを管理するためのユーザレコードを確保し、確保されたユーザレコードを更新する。具体的には、管理部24は、ユーザ識別子に、ユーザ認証部22によって認証されたユーザ端末9のユーザ識別子を設定し、端末IPアドレスに、リクエストの送信元アドレスを設定し、コネクション数に、当該ユーザにかかるコネクションの数を設定し、最大接続時間に、当該ユーザに係る接続時間の最大値を設定し、平均接続時間に、当該ユーザに係る接続時間の平均を設定し、累積接続時間に、当該ユーザに係る接続時間の累計を設定し、データ量に、当該ユーザに係るデータ量を設定する。
ここで、ユーザにかかるコネクションの数は、コネクション管理テーブルをユーザ識別子で検索することで取得可能である。また、ユーザに係る接続時間の最大値は、コネクション管理テーブルに記録された、当該ユーザに係るコネクションの接続時間のうち最も長いものを索出することで取得可能であり、ユーザに係る接続時間の平均は、コネクション管理テーブルに記録された、当該ユーザに係るコネクションの接続時間を平均することで取得可能であり、ユーザに係る接続時間の累計は、コネクション管理テーブルに記録された、当該ユーザに係るコネクションの接続時間を累計することで取得可能である。更に、ユーザに係るデータ量は、コネクション管理テーブルに記録された、当該ユーザに係るコネクションのデータ量を合計することで取得可能である。また、重みについては、管理者によって後で設定される。その後、本フローチャートに示された処理は終了する。
次に、ステップS102において、現在管理されているコネクションの数が閾値以上であると判定された場合の処理を説明する。
ステップS107およびステップS108では、リクエストが保留され、アイドルコネクション切断処理が実行される。通信管理装置1の保留部21は、ステップS102において現在管理しているコネクションの数が閾値以上であると判定されたことを受けて、ステップS101で受信されたリクエストの中継を一旦保留し(ステップS107)、通信管理装置1の切断部25は、アイドルコネクション切断処理を実行する(ステップS108)。アイドルコネクション切断処理の詳細については、図6を用いて後述する。その後、処理はステップS109へ進む。
ステップS109では、アイドルコネクション切断処理によるコネクションの切断によってもコネクション数が閾値以上であるか否かが判定される。管理部24は、当該通信管理装置1が現在管理しているコネクションの数をコネクション管理テーブルの管理域から取得し、閾値と比較することで、管理部24によるコネクション管理の負荷が閾値以上であるか否かを判断する。ここで、ステップS108におけるアイドルコネクション切断処理の結果、現在管理されているコネクションの数が閾値未満となった場合、処理はステップS103へ進む。即ち、切断部25によって1または複数のコネクションが切断された結果、負荷(コネクション数)が閾値未満となった場合、ステップS103からステップS106の処理が実行されることで、保留部21によって保留されていたユーザ端末9か
らのリクエストが中継され、コネクションが確立される。
一方、アイドルコネクション切断処理によってコネクションが切断できなかったか、または切断されたコネクションの数が不十分であるためにコネクション数が閾値以上のままである場合、処理はステップS110へ進む。
ステップS110では、管理されているコネクション数が上限N以下であるか否かが確認される。通信管理装置1の管理部24は、当該通信管理装置1が現在管理しているコネクションの数をコネクション管理テーブルの管理域から取得し、同様にコネクション管理テーブルの管理域から取得された上限Nと比較することで、管理部24によるコネクション管理の負荷が上限N以下であるか否かを判断する。比較の結果、現在管理しているコネクションの数が上限N以下であると判定された場合、処理はステップS111へ進む。一方、現在管理しているコネクションの数が閾値を超えていると判定された場合、処理はステップS113へ進む。
ステップS111では、優先ユーザ設定処理が実行される。通信管理装置1の優先度算出部26は、当該リクエストに係るユーザの優先度を算出し、優先度に応じて、当該リクエストに係るユーザを「優先ユーザ」または「非優先ユーザ」に設定する。優先ユーザ設定処理の詳細については、図7を用いて後述する。その後、処理はステップS112へ進む。
ステップS112では、リクエストの中継の許可または不許可が決定される。通信管理装置1の決定部27は、ステップS111で決定された内容を参照し、「優先ユーザ」に設定されているユーザのリクエストの中継を許可し、「非優先ユーザ」に設定されているユーザのリクエストの中継を許可しない(不許可)。リクエストの中継が「許可」に決定された場合、ステップS103からステップS106の処理が実行されることで、ユーザ端末9からのリクエストが中継され、コネクションが確立される。一方、リクエストの中継が「不許可」に決定された場合、処理はステップS113へ進む。
ステップS113では、リクエストの受付が拒否される。通信管理装置1の制限部28は、リクエストの中継が「不許可」に決定されたことを受けて、ステップS107で保留されていたリクエストについて、中継部23による中継を制限し、リクエストの破棄を行う。また、拒否応答部29は、ユーザ端末9へリクエストの受付を拒否する応答を通知する。即ち、リクエストはサーバ3へ中継(転送)されない。その後、本フローチャートに示された処理は終了する。
図6は、本実施形態に係る、アイドルコネクション切断処理の流れを示すフローチャートである。本フローチャートに示されたアイドルコネクション切断処理は、上述した通信管理処理のステップS108を詳述したものであり、ステップS107においてリクエストが保留されたことを契機として開始される。
ステップS201およびステップS202では、コネクション管理テーブルからコネクションレコードが読み出され、コネクション状態が確認される。通信管理装置1の管理部24は、コネクション管理テーブルから、本フローチャートに示された処理の開始後、コネクションレコードの判定が完了していないコネクションレコードを読み出し(ステップS201)、当該コネクションレコードのコネクション状態を参照する(ステップS202)。ここで、コネクション状態が「確立(ESTABLISHED)」に設定されていない場合(即ち、コネクションが未確立の状態である場合)、処理はステップS205へ進む。一方、コネクション状態が「確立(ESTABLISHED)」に設定されている場合、処理はステップS203へ進む。
ステップS203では、コネクションが所定時間以上アイドル状態であるか否かが判定される。ステップS202でコネクション状態が「確立(ESTABLISHED)」に設定されていると判定された場合、切断部25は、当該コネクションにおいてアイドル状態(データの送受信を行っていない状態)が継続している時間(アイドル時間)を算出する。なお、アイドル時間は、以下の式を用いて算出することが出来る。
アイドル時間=現在時刻−最終アクセス時刻
なお、現在時刻は、通信管理装置1のシステムクロック等(図示は省略する)から取得することが出来る。また、最終アクセス時刻は、ステップS201で読み出されたコネクションレコードから取得することが出来る。
そして、切断部25は、算出されたアイドル時間をアイドルタイマー閾値と比較することで、当該コネクションがアイドルタイマー閾値より長い時間アイドル状態となっているか否かを判定する。アイドルタイマー閾値は、コネクション管理テーブルの管理域から取得される。ここで、当該コネクションのアイドル時間がアイドルタイマー閾値以下である(即ち、当該コネクションはアイドルコネクションではない)と判定された場合、処理はステップS205へ進む。一方、当該コネクションのアイドル時間がアイドルタイマー閾値より長い(即ち、当該コネクションはアイドルコネクションである)と判定された場合、処理はステップS204へ進む。
ステップS204では、コネクションが切断される。ここでは、ステップS201で読み出されたコネクションレコードに係るコネクションがアイドルコネクションであると判断されている。このため、切断部25は、当該コネクションを強制的に切断する。コネクションの切断は、例えば、通信管理装置1が、ユーザ端末9およびサーバ3に対してコネクションの解放を指示することで行うことが出来る。その後、処理はステップS205へ進む。
ステップS205では、全てのコネクションについてコネクションレコードの判定が完了したか否かが判定される。切断部25は、現在コネクション管理テーブルに記録され、管理部24による管理対象となっている全てのコネクションのコネクションレコードが、ステップS202およびステップS203の判定の対象となったか否かを判定する。全てのコネクションについて判定が完了した場合、本フローチャートに示された処理は終了する。一方、判定が完了していないコネクションが残っている場合、処理はステップS201へ進み、コネクション管理テーブルから次のコネクションレコードが読み出される。
即ち、本フローチャートに示された処理によれば、全てのコネクションについてコネクションレコードの判定が行われるまで、ステップS201からステップS205の処理が繰り返される。このようにすることで、コネクション管理テーブルから切断可能なアイドルコネクションを索出し、アイドルコネクションについて切断を試みることが出来る。
また、本フローチャートに示された処理によれば、管理部24によるコネクションの管理負荷(本実施形態では、コネクション数)が閾値を超えた場合に、自動的にコネクションが切断(解放)されるため、ユーザの利便性を低下させずに、通信管理装置1のリソースを有効活用することができる。
図7は、本実施形態に係る、優先ユーザ設定処理の流れを示すフローチャートである。本フローチャートに示された優先ユーザ設定処理は、上述した通信管理処理のステップS111を詳述したものであり、ステップS110において現在管理しているコネクションの数が上限N以下であると判定されたことを契機として開始される。
ステップS301では、リクエストに係るユーザがユーザ管理テーブルに登録済みであるか否かが判定される。管理部24は、ステップS107で保留されたリクエストに係るユーザのユーザ識別子を用いてユーザ管理テーブルを検索することで、当該ユーザが、ユーザ管理テーブルに登録済みであるか否かを判定する。なお、検索には、ステップS101でユーザ認証部22によって取得されたユーザ識別子が用いられる。登録済みであると判定された場合、処理はステップS302へ進む。一方、登録済みでない(未登録である)と判定された場合、処理はステップS305へ進む。
ステップS302では、リクエストに係るユーザの優先度が算出される。優先度は、通信の状態(データ送受信の有無等)、ユーザ毎に設定された重みおよびユーザの通信履歴(過去の接続時間、送受信データサイズ等)等に基づいて算出することが出来る。本実施形態では、優先度算出部26は、ユーザ管理テーブルより、当該ユーザの累積接続時間、データ量および重みを取得し、これらのパラメータを用いて、リクエストに係るユーザの優先度を計算する。ユーザの優先度は、例えば以下の式を用いて計算することが出来る。優先度=累積接続時間×α+データ量×β+重み×γ
なお、上記の式においてα、β、γは各値のための補正値である。また、ここで算出された優先度は、コネクション管理テーブルにおける、当該ユーザのコネクションを管理するコネクションレコードに記録される。その後、処理はステップS303へ進む。
但し、優先度の算出には、本実施形態に例示していないその他の式や方法が用いられてよい。なお、優先度は、累積接続時間やデータ量が少ないユーザ程、コネクションの確立において優先されるように算出されることが好ましい。
ステップS303、ステップS304およびステップS305では、優先度に従って、リクエストに係るユーザについて優先設定または非優先設定が行われる。優先度算出部26は、ステップS302で算出された優先度を、予め算出されている他のユーザの優先度(コネクション管理テーブルから取得される)と比較し、比較の結果に応じて、リクエストに係るユーザを「非優先ユーザ」または「優先ユーザ」に設定する。より具体的には、例えば、優先度算出部26は、ステップS302で算出された優先度、および予め算出されている他のユーザの優先度に従って、ユーザ管理テーブルによって管理されているユーザを優先度の値が小さい順に並べ、リクエストに係るユーザの順位が、この並びにおいて下位所定の範囲(例えば、下位30%)内であるか否かを判定する(ステップS303)。
リクエストに係るユーザの順位が下位所定の範囲内であると判定された場合、優先度算出部26は、当該ユーザを「非優先ユーザ」に設定する(ステップS304)。一方、リクエストに係るユーザの順位が下位所定の範囲内ではない(上位所定の範囲内である)と判定された場合、優先度算出部26は、当該ユーザを「優先ユーザ」に設定する(ステップS306)。その後、本フローチャートに示された処理は終了する。
なお、本実施形態では、ユーザ毎の優先度に従って一旦「優先ユーザ」および「非優先ユーザ」の設定を行い、この設定内容に従ってリクエスト中継の許可または不許可を決定することとしているが、このような設定を省略し、ユーザ毎の優先度に従って直接リクエスト中継の許可または不許可を決定することとしてもよい。
ステップS305およびステップS306では、リクエストに係るユーザのユーザ情報が新たに登録され、当該ユーザについて優先設定が行われる。管理部24は、リクエストに係るユーザがユーザ管理テーブルに登録済みでないため(ステップS301を参照)、当該ユーザを、ユーザ管理テーブルに登録する(ステップS305)。即ち、管理部24は、ユーザ管理テーブルに、当該ユーザのためのユーザレコードを確保し、ユーザ識別子
、端末IPアドレス、コネクション数、最大接続時間、平均接続時間、累積接続時間およびデータ量等を設定する。具体的な設定内容は、ステップS106と概略同様であるため、説明を省略する。また、重みについては、管理者によって後で設定される。更に、優先度算出部26は、ステップS301において新規ユーザであると判定されたユーザを、「優先ユーザ」に設定する(ステップS306)。その後、本フローチャートに示された処理は終了する。
本実施形態に示された通信管理装置1、通信管理方法および通信管理用プログラムによれば、既に十分な通信を行っているユーザ(累積接続時間やデータ量が大きなユーザ)を非優先ユーザに設定し、新たなユーザや、十分な通信を行っていないユーザ(累積接続時間やデータ量が小さなユーザ)を優先ユーザに設定することで、ユーザ間の公平を図りつつ、ネットワークリソースを有効に利用することが出来る。
また、本開示に係る技術は、特に、リソース不足時でもメモリなどのリソース拡張ができないタイプの装置や、メンテナンスのための運転停止が困難な、連続運転を前提とした装置に有用である。但し、本開示の適用対象は、そのような装置に限定されない。
なお、上記説明した実施形態では、ユーザ端末9とサーバ3との間の通信を中継するプロキシとして動作する通信管理装置1が、ユーザ端末9とサーバ3との間の通信を複数のサーバ3のうち適切なサーバ3に割り当てる負荷分散装置として動作する例について説明した。但し、本開示の適用対象は、上記において示した例に限定されない。
図8は、通信管理装置1が内部ネットワークと外部ネットワークとの間に設置されたシステムの構成の概略を示す図である。即ち、本開示は、内部ネットワークと外部ネットワークとの間に設置されてプロキシとして動作する通信管理装置1が、内部ネットワークに属する複数のユーザ端末9による、外部ネットワーク上のサーバ3等へのアクセスを中継する通信管理装置として動作するシステムに適用されてもよい。このような構成が採用された場合も、通信管理装置1の機能構成、データ構成および処理の流れは、上記説明した実施形態と概略同様であるため、説明を省略する。
1 通信管理装置
3 サーバ
9 ユーザ端末

Claims (14)

  1. 端末から送信された、サーバ宛のコネクション確立リクエストを受信して、該リクエストを中継する中継手段と、
    前記中継手段による中継の結果確立された、前記端末と前記サーバとの間のコネクションを管理する管理手段と、
    前記リクエストに係る前記端末のユーザの優先度を算出する優先度算出手段と、
    前記優先度に従って、前記管理手段によるコネクション管理の負荷が閾値以上となった場合の、前記リクエストの中継の許可または不許可を決定する決定手段と、
    前記管理手段によるコネクション管理の負荷が前記閾値以上である場合に、前記決定手段によって不許可決定されたリクエストの、前記中継手段による中継を制限する制限手段と、を備え、
    前記決定手段は、前記優先度算出手段によって算出された前記ユーザの優先度と、予め算出された他のユーザの優先度とを比較することによって定まるユーザの順位において、上位所定の割合内であるユーザに係るリクエストの中継を許可に決定する、
    情報処理装置。
  2. 前記制限手段は、前記負荷が前記閾値以上であり且つ上限を超えない場合、前記不許可決定されたリクエストの中継を制限し、前記負荷が前記上限を超えた場合、前記決定手段による決定の内容によらずにリクエストの中継を制限する、
    請求項1に記載の情報処理装置。
  3. 前記閾値または前記上限を、時間帯ごとに予め設定された値に設定する設定手段を更に備える、
    請求項2に記載の情報処理装置。
  4. 前記負荷が前記閾値以上である場合に、前記管理手段によって管理されているコネクションのうち、所定のコネクションを切断する切断手段を更に備える、
    請求項1から3の何れか一項に記載の情報処理装置。
  5. 前記切断手段は、前記負荷が前記閾値以上である場合、所定時間以上データの送受信が発生していないアイドルコネクションを切断する、
    請求項4に記載の情報処理装置。
  6. 前記リクエストを一時的に保留する保留手段を更に備え、
    前記中継手段は、前記切断手段による切断の結果、前記負荷が前記閾値未満となった場合に、前記保留手段によって保留されていた前記リクエストを中継する、
    請求項4または5に記載の情報処理装置。
  7. 前記優先度算出手段は、前記リクエストに係るユーザの接続時間、該ユーザに係る通信量、およびユーザ毎に設定された設定値の少なくとも何れか1つ以上を用いて前記優先度を算出する、
    請求項1から6の何れか一項に記載の情報処理装置。
  8. 前記決定手段は、新たなユーザに係るリクエストの中継を許可に決定する、
    請求項1から7の何れか一項に記載の情報処理装置。
  9. 前記制限手段は、前記管理手段によって管理されているコネクション数が前記閾値以上である場合に、前記不許可決定されたリクエストの中継を制限する、
    請求項1から8の何れか一項に記載の情報処理装置。
  10. 前記決定手段によって不許可決定されたリクエストの送信元端末に対して、コネクション確立を拒否する応答を行う拒否応答手段を更に備える、
    請求項1から9の何れか一項に記載の情報処理装置。
  11. 前記管理手段による管理状況を出力する出力手段を更に備える、
    請求項1から10の何れか一項に記載の情報処理装置。
  12. 前記リクエストに係る前記端末のユーザを認証するためのユーザ認証手段を更に備える、
    請求項1から11の何れか一項に記載の情報処理装置。
  13. コンピュータが、
    端末から送信された、サーバ宛のコネクション確立リクエストを受信して、該リクエストを中継する中継ステップと、
    前記中継ステップにおける中継の結果確立された、前記端末と前記サーバとの間のコネクションを管理する管理ステップと、
    前記リクエストに係る前記端末のユーザの優先度を算出する優先度算出ステップと、
    前記優先度に従って、前記管理ステップにおけるコネクション管理の負荷が閾値以上となった場合の、前記リクエストの中継の許可または不許可を決定する決定ステップと、
    前記管理ステップにおけるコネクション管理の負荷が前記閾値以上である場合に、前記決定ステップにおいて不許可決定されたリクエストの、前記中継ステップによる中継を制限する制限ステップと、を実行し、
    前記決定ステップでは、前記優先度算出ステップで算出された前記ユーザの優先度と、予め算出された他のユーザの優先度とを比較することによって定まるユーザの順位において、上位所定の割合内であるユーザに係るリクエストの中継が許可に決定される、
    方法。
  14. コンピュータを、
    端末から送信された、サーバ宛のコネクション確立リクエストを受信して、該リクエストを中継する中継手段と、
    前記中継手段による中継の結果確立された、前記端末と前記サーバとの間のコネクショ
    ンを管理する管理手段と、
    前記リクエストに係る前記端末のユーザの優先度を算出する優先度算出手段と、
    前記優先度に従って、前記管理手段によるコネクション管理の負荷が閾値以上となった場合の、前記リクエストの中継の許可または不許可を決定する決定手段と、
    前記管理手段によるコネクション管理の負荷が前記閾値以上である場合に、前記決定手段によって不許可決定されたリクエストの、前記中継手段による中継を制限する制限手段と、として機能させ、
    前記決定手段は、前記優先度算出手段によって算出された前記ユーザの優先度と、予め算出された他のユーザの優先度とを比較することによって定まるユーザの順位において、上位所定の割合内であるユーザに係るリクエストの中継を許可に決定する、
    プログラム。
JP2013056967A 2013-03-19 2013-03-19 情報処理装置、方法およびプログラム Expired - Fee Related JP5943866B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013056967A JP5943866B2 (ja) 2013-03-19 2013-03-19 情報処理装置、方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013056967A JP5943866B2 (ja) 2013-03-19 2013-03-19 情報処理装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2014183477A JP2014183477A (ja) 2014-09-29
JP5943866B2 true JP5943866B2 (ja) 2016-07-05

Family

ID=51701787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013056967A Expired - Fee Related JP5943866B2 (ja) 2013-03-19 2013-03-19 情報処理装置、方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5943866B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6213084B2 (ja) * 2013-09-17 2017-10-18 富士通株式会社 無線通信装置および無線帯域制御方法
TWI785688B (zh) * 2021-07-20 2022-12-01 聚騰科技股份有限公司 網路連線的管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09321795A (ja) * 1996-05-30 1997-12-12 Fujitsu Ltd パケット交換システムのルーティング方式
US6377548B1 (en) * 1997-10-14 2002-04-23 Lucent Technologies Inc. Method for admitting new connections based on measured quantities in a multiple access system for communications networks
JP2002135307A (ja) * 2000-10-19 2002-05-10 Nippon Telegr & Teleph Corp <Ntt> ストリーム状態通知方法および装置、ならびにプログラム記録媒体
JP2008005257A (ja) * 2006-06-23 2008-01-10 Oki Electric Ind Co Ltd 呼中継装置
JP2011171962A (ja) * 2010-02-18 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信システムおよびコンテンツ配信方法
JP5662129B2 (ja) * 2010-12-16 2015-01-28 株式会社日立システムズ セッション管理システム及びその方法

Also Published As

Publication number Publication date
JP2014183477A (ja) 2014-09-29

Similar Documents

Publication Publication Date Title
CN108183950B (zh) 一种网络设备建立连接的方法及装置
JP5173388B2 (ja) 情報処理装置および情報処理方法
CN103986741A (zh) 云数据系统、云数据中心及其资源管理方法
JP2007088580A (ja) 通信システム及び通信管理方法
US20200104177A1 (en) Resource allocation system, management device, method, and program
JPWO2014080994A1 (ja) 輻輳制御システム、制御装置、輻輳制御方法およびプログラム
JP5923376B2 (ja) Tcp中継装置
EP2988460A1 (en) Traffic management system and wireless network system
US8538455B2 (en) Storage medium storing relay control program, relay server device, and relay control method
US11537336B2 (en) Resource service system, control method, and storage medium
US20190104174A1 (en) Load processing method and apparatus
KR101515102B1 (ko) 네트워크 통신 시스템 및 단말
CN109155939A (zh) 一种负载迁移方法、装置及系统
US10534570B2 (en) Image forming system for relaying communication between a server on an internet and an image forming device, relay server, communication controlling method and non-transitory computer readable recording medium
Samouylov et al. Analytical Modelling And Simulation For Performance Evaluation Of SIP Server With Hysteretic Overload Control.
WO2009131387A2 (en) Discontinuous access management method using waiting ticket for resource allocation control, waiting ticket management method, and resource allocation control method
JP5943866B2 (ja) 情報処理装置、方法およびプログラム
AU2015261758A1 (en) Method for managing floor control on a communication channel in the context of half-duplex communications
US20120226787A1 (en) Optimizing use of internet protocol addresses
CN103023943A (zh) 任务处理方法及其装置、终端设备
CN112737806B (zh) 网络流量的迁移方法及装置
CN115412609B (zh) 一种业务处理方法、装置、服务器及存储介质
JP6117345B2 (ja) 処理性能低下を回避するメッセージシステム
US20160006643A1 (en) Communication system
JP6953759B2 (ja) 認証装置、認証方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160524

R150 Certificate of patent or registration of utility model

Ref document number: 5943866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees