(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023156471
(43)【公開日】2023-10-24
(54)【発明の名称】障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法及びシステム
(51)【国際特許分類】
H04L 41/0677 20220101AFI20231017BHJP
H04L 41/0631 20220101ALI20231017BHJP
【FI】
H04L41/0677
H04L41/0631
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023133444
(22)【出願日】2023-08-18
(62)【分割の表示】P 2022511352の分割
【原出願日】2020-08-20
(31)【優先権主張番号】10-2019-0102339
(32)【優先日】2019-08-21
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】522066311
【氏名又は名称】イノジーエス コリア コーポレーション
【氏名又は名称原語表記】INNOGS KOREA CORP.
【住所又は居所原語表記】#203, 57-5, Yangsan-ro, Yeongdeungpo-gu, Seoul, Republic of Korea
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】イム ヨン ソク
(72)【発明者】
【氏名】ソ ジョン ファン
(57)【要約】 (修正有)
【課題】障害対応エッジサーバのグルーピングを介してネットワーク障害を誘発する障害誘発クライアントを検出する障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法及びシステムを提供する。
【解決手段】方法は、エッジサーバに複数のクライアント端末で構成された第1クライアントグループの通信処理を割り当てるステップと、前記エッジサーバの動作に障害が発生した場合、障害対応エッジサーバに前記第1クライアントグループに属した少なくとも一つのクライアント端末を含む第2クライアントグループの通信処理を割り当てるステップと、前記障害対応エッジサーバの動作に障害が発生するかどうかを決定するステップと、を含む。
【選択図】
図17
【特許請求の範囲】
【請求項1】
クライアント端末接続制御装置によって実行されるクライアント端末接続制御方法であって、
複数のクライアント端末を備える第1クライアントグループの通信処理をサーバに割り当てることと、
前記サーバの動作に障害が発生した場合、前記第1クライアントグループに属する少なくとも1つのクライアント端末を備える第2クライアントグループの通信処理を障害対応サーバに割り当てることと、
障害対応サーバの動作に障害が発生したかどうかを決定することと、
前記障害対応サーバの動作に障害が発生した場合、前記障害対応サーバに割り当てられたクライアント端末の数に基づいて、第1の処理と第2の処理のいずれを実行するかを決定することと、
を備え、
前記第1の処理は、前記障害対応サーバに割り当てられたクライアント端末を障害発生クライアント端末として決定する処理であり、
前記第2の処理は、前記障害対応サーバに割り当てられた少なくとも1つのクライアント端末を備えるサブクライアントの通信処理を他の障害対応サーバに割り当てる処理である、
クライアント端末接続制御方法。
【請求項2】
前記障害対応サーバに割り当てられた前記クライアント端末の数が、所定の数を越えることに基づいて、前記第2の処理を進めることが決定される、
請求項1に記載のクライアント端末接続制御方法。
【請求項3】
前記障害対応サーバに割り当てられた前記クライアント端末の数が所定の数を越えないことに基づいて、前記第1の処理を行うことを決定する、
請求項1に記載のクライアント端末接続制御方法。
【請求項4】
前記所定の数は1である、請求項2に記載のクライアント端末接続制御方法。
【請求項5】
クライアント端末接続制御装置であって、
サーバおよび障害対応サーバとデータ通信を行うように構成された通信ユニットと、
複数のクライアント端末を備える第1クライアントグループの通信処理をサーバに割り当て、
前記サーバの動作に障害が発生した場合、前記第1クライアントグループに属する少なくとも1つのクライアント端末を備える第2クライアントグループの通信処理を障害対応サーバに割り当て、
障害対応サーバの動作に障害が発生したかどうかを決定し、
前記障害対応サーバの動作に障害が発生した場合、前記障害対応サーバに割り当てられたクライアント端末の数に基づいて、第1の処理と第2の処理のいずれを実行するかを決定するように構成されたプロセッサと、
を備え、
前記第1の処理は、前記障害対応サーバに割り当てられたクライアント端末を障害発生クライアント端末として決定する処理であり、
前記第2の処理は、前記障害対応サーバに割り当てられた少なくとも1つのクライアント端末を備えるサブクライアントの通信処理を他の障害対応サーバに割り当てる処理である、
クライアント端末接続制御装置。
【請求項6】
サーバと、障害対応サーバと、接続制御装置と、を備える、クライアント端末接続制御システムによって実行される、クライアント端末接続制御方法であって、
前記サーバによって、複数のクライアント端末を備える第1クライアントグループの通信処理を実行し、
前記サーバの動作に障害が発生した場合、前記障害対応サーバによって、前記第1クライアントグループに属する少なくとも1つのクライアント端末を備える第2クライアントグループの通信処理を実行し、
前記接続制御装置によって、前記障害対応サーバの動作に障害が発生したかどうかを決定し、
前記障害対応サーバの動作に障害が発生した場合、前記接続制御装置によって、前記障害対応サーバに割り当てられたクライアント端末の数に基づいて、第1の処理と第2の処理のいずれを実行するかを決定し、
前記第1の処理は、前記障害対応サーバに割り当てられたクライアント端末を障害発生クライアント端末として決定する処理であり、
前記第2の処理は、前記障害対応サーバに割り当てられた少なくとも1つのクライアント端末を備えるサブクライアントの通信処理を他の障害対応サーバに割り当てる処理である、
クライアント端末接続制御方法。
【請求項7】
クライアント端末接続制御システムであって、
サーバと、
障害対応サーバと、
接続制御装置と、
を備え、
前記サーバは、複数のクライアント端末を備える第1クライアントグループの通信処理を実行し、
前記サーバの動作に障害が発生した場合、前記障害対応サーバは、前記第1クライアントグループに属する少なくとも1つのクライアント端末を備える第2クライアントグループの通信処理を実行し、
前記接続制御装置は、前記障害対応サーバの動作に障害が発生したかどうかを判定し、
前記障害対応サーバの動作に障害が発生した場合、前記接続制御装置は、前記障害対応サーバに割り当てられたクライアント端末の数に基づいて、第1の処理と第2の処理のいずれを実行するかを決定し、
前記第1の処理は、前記障害対応サーバに割り当てられたクライアント端末を障害発生クライアント端末として判定する処理であり、
前記第2の処理は、前記障害対応サーバに割り当てられた少なくとも1つのクライアント端末を備えるサブクライアントの通信処理を他の障害対応サーバに割り当てる処理である、
クライアント端末接続制御システム。
【請求項8】
請求項1および6のいずれか1項に記載の方法を実行するためにコンピュータ読み取り可能な記録媒体に格納されたコンピュータプログラム。
【請求項9】
請求項1および6のいずれか1項に記載の方法をコンピュータによって実行するためのコンピュータプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク障害を誘発するクライアント検出に関し、特に障害対応エッジサーバのグルーピングを介してネットワーク障害を誘発する障害誘発クライアントを検出する、障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法及びシステムに関する。
【背景技術】
【0002】
クライアント経路制御システムを活用してネックワーク障害を誘発するクライアントを検出することは、例えばDDoS攻撃指示者のIPを識別することは、複数台のエッジサーバ(Edge Server)とクライアント経路制御サーバ(Client Route Control Server)及びDNS(Domain Name Server)を利用して、ユーザが接続するエッジサーバ(Edge Server)を指定することによって、クライアント経路を制御してDDoS攻撃を探知及び識別することを意味する。
【0003】
一般に、DDoS攻撃は、2通りの形態に分けられる。第1番目の形態は、サーバが処理できないほどの作業量がサーバに入ってサーバを麻痺させることである。このような攻撃が発生する場合、サーバは、あふれる作業量のため他の作業を処理できなくてサーバが麻痺する。
【0004】
そして、第2番目の形態は、ネットワーク回線にトラフィック(traffic)を氾濫させて回線自体を初めから使えないようにする方法である。このような攻撃は、サーバには問題がないが、サーバと接続した回線を使用できないのでサーバとクライアントとが通信できなくなる。すなわち、サーバには問題がなくても、ネットワークに問題が発生するので、サービス維持が難しいという状況が発生する。こういう状況に対比して、多くのDDoSセキュリティー技術が出たが、根本的な解決策にはならないというのが実状である。従来のDDoS防御技術は、DDoS攻撃自体は防御できるが、その攻撃の主体になる攻撃指示者IPを探索及び識別することができない。
【0005】
そして、DDoS攻撃を防止するために、攻撃が発生した回線またはIP帯域を遮断する場合、該当回線及び帯域に属した正常的なユーザもサービスを利用できないという問題点が発生するようになる。これは、24時間持続的にサービスを維持しなければならない金融機関、公共機関、ゲームのようなサービス提供者等には、致命的な費用及び時間損害が発生するようになる。
【0006】
このような問題を解決するために、複数のステージ(stage)に配置されたエッジサーバ(Edge Server)を利用して、いくつかの経路を組み合わせて一つだけの固有経路を各クライアントに提供することによって、ネットワーク障害を誘発するクライアントを探知及び検出することを発明して特許登録されたことがある(韓国登録特許10-1569857、2015.11.11)。
【0007】
しかしながら、従来の登録特許であるクライアント経路制御システムを活用した障害誘発クライアント検出方式は、ネックワーク障害を誘発するクライアントが一つである場合には、本発明と大きく差はないが、複数のクライアントにおいて同時多発的にネットワーク障害を起こすとき、誤検出が発生する蓋然性があるという問題点がある。
【0008】
例えば、従来の特許によれば、6個のエッジサーバで構成されたエッジサーバグループに3x2のマトリックス配列で障害原因クライアント索出のためのエッジサーバIP割り当てメトリックスを構成するとする場合、
図11のように構成されることができる。エッジサーバグループには、エッジサーバ1からエッジサーバ6まで6個のエッジサーバがあり、6個のエッジサーバを利用して3x2マトリックスを利用してクライアントにエッジサーバを割り当てると、クライアントA~Hまで8個のクライアントを識別できる。すなわち、クライアントA~Dにはエッジサーバ1を割り当て、クライアントE~Hには、エッジサーバ4を割り当てる。そして、エッジサーバ1に障害が発生すると、エッジサーバIP割り当てメトリックスに従ってクライアントAとBは、エッジサーバ2が割り当てられ、クライアントCとDは、エッジサーバ5が割り当てられる。エッジサーバ5に障害が発生すると、クライアントCは、エッジサーバIP割り当てメトリックスによりエッジサーバ3が割り当てられ、クライアントDは、エッジサーバ6が割り当てられる。その後、クライアント6に障害が発生すると、クライアントDが障害を誘発するクライアントとして検出される。
【0009】
しかしながら、
図12のようにクライアントAとFが同時に障害を発生させる 場合には、エッジサーバIP割り当てメトリックスによりまずエッジサーバ1とエッジサーバ4に障害が発生し、次には、エッジサーバ2に障害が発生し、その次には、エッジサーバ3とエッジサーバ6に障害が発生する。結局、クライアントAとFが同時に障害を発生させると、エッジサーバ1、2、3、4、6に障害が発生する。このようになる場合、エッジサーバ1、2、6が割り当てられるクライアントBとエッジサーバ4、2、3が割り当てられるクライアントEも障害誘発クライアントとして検出される。すなわち、実際に障害を誘発するクライアントは、クライアントAとFであるが、クライアントBとEも障害を誘発するクライアントとして認識されるという問題が発生する。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明が解決しようとする課題は、上述した従来技術の問題点を解決するために案出されたものであって、ネットワーク障害を誘発する障害誘発クライアントを探し出してサービスサーバにもうこれ以上ネットワーク障害によるサービス障害に影響を受けないようにするために、エッジサーバに障害が発生すると、障害が発生したエッジサーバを複数の障害対応エッジサーバからなる障害対応エッジサーバグループから選択された障害対応エッジサーバサブグループで代替し、代替された障害対応エッジサーバに障害が発生すると、さらに他の障害対応エッジサブサブグループで代替する過程を繰り返しながら障害を誘発するクライアントを検出する、障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法及びシステムを提供することである。
【課題を解決するための手段】
【0011】
前記技術的課題をなすための本発明による、障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法は、クライアントがサービスサーバに接近する経路に複数のエッジサーバが存在するネットワークにおいて前記エッジサーバの障害発生をチェックするステップと、前記エッジサーバに障害が発生すると、複数の障害対応エッジサーバからなる障害対応エッジサーバグループから選択された、前記障害が発生したエッジサーバの数より多くの数の障害対応エッジサーバ(障害対応エッジサーバサブグループ)を前記障害が発生したエッジサーバの代わりに前記障害発生エッジサーバに接続したクライアントに提供するステップと、障害発生チェック結果、前記代替された障害対応エッジサーバにおいて障害が発生すると、前記障害対応エッジサーバグループから選択された、障害対応エッジサーバサブグループを前記障害が発生した障害対応エッジサーバの代わりにクライアントに提供するステップと、障害対応エッジサーバに障害が発生するたびに障害対応エッジサーバグループから選択された障害対応エッジサーバサブグループで障害が発生した障害対応エッジサーバを代替して障害が発生した障害対応エッジサーバに割り当てられたクライアントが一つだけである場合、前記一つのクライアントを障害誘発クライアントとして検出するステップとを含む。
【0012】
前記障害対応エッジサーバサブグループは、エッジサーバまたは障害対応エッジサーバに障害が発生すると、障害が発生したエッジサーバまたは障害対応エッジサーバに割り当てられたクライアントの数及び接続記録を分析して、前記障害対応エッジサーバグループから割り当てられなかった障害対応エッジサーバの数に基づいて複数の障害対応エッジサーバからなることを特徴とする。前記エッジサーバまたは障害対応エッジサーバの障害発生チェックは、クライアントからDNSクエリーが受信される時、またはクライアントからDNSクエリーの受信に関係なく前記エッジサーバまたは障害対応エッジサーバの障害発生をモニタリングすることにより行われることを特徴とする。
【0013】
本発明による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法は、エッジサーバまたは障害対応エッジサーバに障害が発生すると、前記障害が発生したエッジサーバまたは障害対応エッジサーバを使用しているクライアントIPまたはユーザ情報を検索し、DNSクエリー要請を受信すると、前記障害対応エッジサーバグループから選択された障害対応エッジサーバを前記検索されたクライアントに提供することを特徴とする。
【0014】
前記クライアントは、エッジサーバまたは障害対応エッジサーバに障害が発生すると、障害対応エッジサーバグループから選択された障害対応エッジサーバと接続するためにDNSクエリーを送信するエージェントを含み、前記エージェントは、ユーザ情報を含んだDNSクエリーを要請し、前記クライアントのエージェントからDNSクエリーを受信すると、クライアントのDNSクエリーからユーザ情報を抽出し、前記障害対応エッジサーバグループから選択された、前記抽出されたユーザ情報に相応する障害対応エッジサーバIPを前記クライアントに提供することを特徴とする。
【0015】
前記技術的課題をなすための本発明による、障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出システムは、クライアントがサービスサーバに接近する経路に存在する複数のエッジサーバを含んでいるエッジサーバグループと、クライアントがサービスサーバに接近する経路に存在し、前記エッジサーバに障害が発生する場合、前記障害が発生したエッジサーバを代替する障害対応エッジサーバ、前記障害対応エッジサーバを代替する他の障害対応エッジサーバからなり、エッジサーバまたは障害対応エッジサーバに障害が発生する場合、前記障害が発生したエッジサーバまたは障害対応エッジサーバの数より多い数の障害対応エッジサーバからなる障害対応エッジサーバサブグループを含む障害対応エッジサーバグループと、クライアントが要請したDNSクエリーに応答して、クライアントIPまたはユーザ情報別にエッジサーバIPまたは障害対応エッジサーバIPを提供するDNS制御部と、エッジサーバ及び障害対応エッジサーバの障害発生をチェックする障害発生チェック部と、エッジサーバまたは障害対応エッジサーバの障害が発生すると、前記障害対応エッジサーバグループから選択された前記障害対応エッジサーバサブグループを前記障害が発生したエッジサーバまたは障害対応エッジサーバを代替してクライアントに提供し、前記障害対応エッジサーバに割り当てられるクライアントが一つしかない場合、前記一つのクライアントを障害誘発クライアントとして検出するエッジサーバ制御部を含む。
【0016】
前記障害発生チェック部は、DNSクエリーに応答して前記エッジサーバ制御部により前記DNS制御部に提供されるエッジサーバまたは障害対応エッジサーバに障害があるかどうかをチェックし、このとき、前記DNS制御部は、前記提供されたエッジサーバまたは障害対応エッジサーバに障害がないと、前記提供されていたエッジサーバまたは障害対応エッジサーバ情報をDNSサーバを介してクライアントに提供することを特徴とする。
【0017】
前記障害発生チェック部は、DNSクエリーに関係なくエッジサーバまたは障害対応エッジサーバの障害をモニタリングし、このとき、前記エッジサーバ制御部は、前記エッジサーバまたは障害対応エッジサーバに障害が発生すると、前記障害が発生したエッジサーバまたは障害対応エッジサーバを使用しているクライアントIPまたはユーザ情報を検索して、前記障害対応エッジサーバグループから選択された障害対応エッジサーバIPを前記検索されたクライアントIPまたはユーザ情報に割り当て、前記DNS制御部は、前記検索されたクライアントIPまたはユーザ情報に該当するクライアントがDNSクエリーを要請すると、前記エッジサーバ制御部により割り当てられた障害対応エッジサーバIPをDNSサーバを介して前記検索されたクライアントに提供するか、またはDNSクエリーに関係なく前記エッジサーバ制御部により割り当てられた障害対応エッジサーバIPをDNSサーバを介して前記検索されたクライアントに提供することを特徴とする。
【0018】
前記クライアントは、エッジサーバまたは障害対応エッジサーバに障害が発生すると、前記障害対応エッジサーバグループから選択された障害対応エッジサーバと再度接続するために、ユーザ情報を含んだDNSクエリーを送信するエージェントを含み、このとき、前記エッジサーバ制御部は、前記クライアントのエージェントからDNSクエリーを受信すると、クライアントのDNSクエリーからユーザ情報を抽出するユーザ情報を抽出することを特徴とする。前記エッジサーバまたは障害対応エッジサーバは、クライアントとサーバを接続し、サービス中継機能があるか、またはサービス機能があるプログラム、サーバ及びハードウェア装備のうち、少なくとも一つを含むことを特徴とする。
【0019】
また、本発明によるクライアント端末接続制御装置が行うクライアント端末接続制御方法は、エッジサーバに複数のクライアント端末で構成された第1クライアントグループの通信処理を割り当てるステップと、前記エッジサーバの動作に障害が発生した場合、障害対応エッジサーバに前記第1クライアントグループを分割して生成された第2クライアントグループの通信処理を割り当てるステップと、前記障害対応エッジサーバの動作に障害が発生するかどうかを決定するステップとを含む。
【0020】
前記障害対応エッジサーバの動作に障害が発生し、前記障害対応エッジサーバに割り当てられたクライアント端末が複数であると、前記障害対応エッジサーバに割り当てられたクライアントグループを分割して生成されたサブクライアントグループの通信処理が障害対応エッジサーバに割り当てられることができる。
【0021】
前記障害対応エッジサーバの動作に障害が発生し、前記障害対応エッジサーバに割り当てられたクライアント端末が一個であると、前記一個のクライアント端末は、障害誘発クライアント端末に決定されることができる。
【0022】
また、本発明によるクライアント端末接続制御装置は、クライアント端末、エッジサーバ及び障害対応エッジサーバとデータ通信を行う通信部と、エッジサーバに複数のクライアント端末で構成された第1クライアントグループの通信処理を割り当て、前記エッジサーバの動作に障害が発生した場合、障害対応エッジサーバに前記第1クライアントグループを分割して生成された第2クライアントグループの通信処理を割り当て、前記障害対応エッジサーバの動作に障害が発生するかどうかを決定するプロセッサを含む。
【0023】
前記障害対応エッジサーバの動作に障害が発生し、前記障害対応エッジサーバに割り当てられたクライアント端末が複数であると、前記プロセッサは、前記障害対応エッジサーバに割り当てられたクライアントグループを分割して生成されたサブクライアントグループの通信処理を障害対応エッジサーバに割り当てることができる。前記障害対応エッジサーバの動作に障害が発生し、前記障害対応エッジサーバに割り当てられたクライアント端末が一個であると、前記プロセッサは、前記一個のクライアント端末を障害誘発クライアント端末に決定できる。
【0024】
そして、本発明は、前記記載された発明を実行させるために、プロセッサにより実行されるプログラムと、前記プログラムを記録したプロセッサにより読むことができる記録媒体とを提供する。
【0025】
本発明による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法及びシステムによれば、ネットワーク障害を誘発する障害誘発クライアントを探し出してサービスサーバにもうこれ以上ネットワーク障害によるサービス障害に影響を受けないようにする。したがって、クライアントに提供するサービスの連続性を保障でき、クライアントは、一部経路に障害が発生しても障害対応エッジサーバを介してネットワーク通信を持続的に維持できる。
【0026】
そして、本発明によれば、障害が発生したエッジサーバと障害対応エッジサーバを障害対応エッジサーバサブグループで代替して障害を誘発するクライアントを正確に検出することで、DDoS攻撃指示者IPを容易に識別しDDoS攻撃を遮断できる。すなわち、クライアントごとに使用するエッジサーバまたは障害対応エッジサーバを障害対応エッジサーバサブグループを動的に割り当てることによって、エッジサーバまたは障害対応エッジサーバに障害が発生すると、障害を発生させたクライアントだけを即刻探索することができる。これにより障害を発生させたクライアントだけを遮断させることによって、正常にサービスを使用しているユーザには影響を及ぼさない。また、DDoS探索のためにログを分析する時間が減少するので、時間的損害を減らすことができる。
【0027】
本発明によれば、クライアント情報に基づいて経路を指定するから汎用的である。換言すれば、本発明は、クライアント情報に基づいて経路を指定するから、クライアントがどんな方法を使用するとしても必ず経路指定システムに適用されて、それに適合な経路を使用するようになる。これは、IPまたはポート(Port)だけでフィルタリングするACLまたはNull Routing技法に比べてかなり汎用的であるといえる。
【0028】
また、本発明によれば、多様な形態のDDoS攻撃を防御することが可能である。本発明は、エッジサーバまたは障害対応エッジサーバを使用することによって、クライアントは、サーバと直接接続できなくなる。これは、DDoS攻撃指示者もやはり、サーバに直接干渉することが不可能であるというのを意味するから、サーバにDDoS攻撃を直接加えることが不可能であるということを意味する。DDoS攻撃指示者がネットワーク回線に攻撃を加えるとしても、該当回線は、DDoS攻撃指示者のみ接続しているので、これを遮断して他の回線に影響を及ぼさないで防御することが可能である。少ない数のエッジサーバでDDoS攻撃指示者を探し出すという点でセキュリティー維持のための費用低減とそれに必要な装備と管理に必要な人力及び時間的損失が大幅低減する。
【0029】
また、本発明によるエッジサーバと障害対応エッジサーバは、実質的に同じハードウェア/ソフトウェア構成により具現化されることができ、システム管理者は、ネットワーク環境によってエッジサーバと障害対応エッジサーバの構成を適応的に管理できる。より具体的に、ネットワークに接続したクライアント端末に十分なトラフィックを提供するために、一部障害対応エッジサーバをエッジサーバとして使用することができる。同様に、ネットワークに接続したクライアント端末のうち、多数の障害誘発クライアントが含まれたと推定される場合、ネットワーク安定性のために、一部エッジサーバを障害対応エッジサーバに転換して使用することによって、クライアント端末に含まれた障害誘発クライアントを迅速に選別できる。
【0030】
このように、本発明による障害誘発クライアント検出方法は、一つのエッジサーバに接続した障害誘発クライアント探索にかかる時間複雑度は、O(logSn)と計算されることができ、速くてかつ安定した障害誘発クライアント検出環境を提供できる。ここで、ステップSは、障害対応エッジサーバの数、nは、エッジサーバに接続したクライアントの数を示す。
【図面の簡単な説明】
【0031】
【
図1】本発明が適用される全体システムの構成に対した一例をブロックで示したものである。
【
図2】本発明の一実施形態による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出システムに対する構成をブロックで示したものである。
【
図3】本発明の一実施形態による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法をフローチャートで示したものである。
【
図4】クライアントからDNSクエリーが受信される時、前記エッジサーバまたは障害対応エッジサーバの障害が発生したかどうかをチェックして、障害が発生したエッジサーバまたは障害対応エッジサーバを障害対応エッジサーバサブグループで代替して障害誘発クライアントを検出する一実施形態をフローチャートで示したものである。
【
図5】クライアントからDNSクエリーの受信に関係なく前記エッジサーバまたは障害対応エッジサーバの障害が発生したかどうかをチェックして、障害が発生したエッジサーバまたは障害対応エッジサーバを障害対応エッジサーバサブグループで代替して、障害誘発クライアントを検出する一実施形態をフローチャートで示したものである。
【
図6】本発明の一実施形態によるエッジサーバ割り当て方式を示す。
【
図7】クライアント1が悪性コード、あるいはハッキングの影響により障害原因クライアントになった場合を示している。
【
図8】攻撃を受けるエッジサーバ1に接続しているクライアントを障害対応エッジサーバで対応するために、クライアント1、4、7を障害対応エッジサーバサブグループ1に割り当てることを示している。
【
図9】クライアント1とクライアント4を分離して障害対応エッジサーバサブグループ2に再度割り当てることを示している。
【
図10】障害対応エッジサーバ1台に接続されて該当障害対応エッジサーバを攻撃するクライアントを障害原因クライアントとして認知する過程を示している。
【
図11】従来の登録特許であるクライアント経路制御システムを活用した障害誘発クライアント検出方式を説明する図である。
【
図12】従来の登録特許であるクライアント経路制御システムを活用した障害誘発クライアント検出方式を説明する図である。
【
図13】本発明による障害対応エッジサーバのグルーピングを利用した障害誘発クライアント検出方式を説明する図である。
【
図14】本発明による障害対応エッジサーバのグルーピングを利用した障害誘発クライアント検出方式を説明する図である。
【
図15】本発明による障害対応エッジサーバのグルーピングを利用した障害誘発クライアント検出方式を説明する図である。
【
図16】本発明による障害対応エッジサーバのグルーピングを利用した障害誘発クライアント検出方式を説明する図である。
【
図17】一実施形態による障害誘発クライアント検出方法を説明する図である。
【
図18】一実施形態による障害誘発クライアント検出方法を説明する図である。
【発明を実施するための形態】
【0032】
以下、添付された図面を参照して本発明の好ましい実施形態を詳細に説明する。本明細書に記載された実施形態と図面に示す構成は、本発明の好ましい一実施形態に過ぎず、本発明の技術的思想を全部代弁するものではないので、本出願時点においてこれらを代替することのできる多様な均等物と変形例がありえることを理解しなければならない。
【0033】
図1は、本発明が適用される全体システムの構成に対した一例をブロックで示したものである。本発明が適用されるシステムは、複数のクライアント100、DNSサーバ110、クライアント経路制御サーバ120、サービス中継ネットワーク130、サービスサーバ140を含んでなる。
【0034】
本発明においてサービス中継ネットワーク130は、サービス中継機能があるか、またはサービス機能があるサーバまたはハードウェア装備を含んでいる複数のエッジサーバからなるエッジサーバグループ132とゲートウェイ(Gateway)、ルーター(Router)、スイッチ(Switch)、ハーブ(Hub)などのネットワーク装備からなることができる。また、サービス中継ネットワーク130は、エッジサーバに障害が発生した場合、障害が発生したエッジサーバの代わりをしながら障害誘発クライアントを検出する障害対応エッジサーバグループ134を含む。
【0035】
一般にネットワークは、ウェブサーバ(Web Server)、DNS等色々なサーバとゲートウェイ(Gateway)、ルーター(Router)、スイッチ(Switch)、ハーブ(Hub)などのネットワーク装備を含むことができる。このうち、サーバは、クライアントの要請を受信し前記要請を解決する機能を主に果たし、ネットワーク装備は、クライアントが送受信するパケットを伝達する機能を果たす。このような装備は、クライアントから受けたパケットを送信時間が速いルートで損失無しでサーバに伝達し、サーバは、クライアントの要請を速かに処理してクライアントに伝達する。しかしながら、このような装備は、装備または回線に問題が生じた場合、その問題を対処する能力が不足して脆弱である。
【0036】
本発明において使用されるエッジサーバは、本発明を実現するための用途としてプロキシ(proxy)サーバ、キャッシュ(cache)サーバなどのようにサービス中継機能があるか、またはサービス機能があるサーバ及びハードウェア装備により具現化されることができる。また、前記エッジサーバは、サービス中継機能があるか、またはサービス機能があるプログラムになることができ、クライアントが接続するサービス経路として使用され、クライアントが接続するサービスサーバの機能を果たすことができる。
【0037】
クライアント100がサーバに接続する時、大部分のクライアントは、DNSを利用してサービスサーバ140と接続する。本発明は、エッジサーバと障害対応エッジサーバ及びこれを管理するクライアント経路制御サーバ(Client Route Control Server、以下、CRCSとする)120を含む。
【0038】
クライアント100は、サービスを受けるためにサービスサーバ140に接続するが、このとき、まずDNSサーバ110を介してサービスサーバ140のIPが提供される。このために、クライアント100は、DNSサーバ110にDNSクエリーを送信する。
【0039】
DNSサーバ110は、クライアント102、104からDNSクエリーを受けて該当するサービスサーバのIPが格納されていないと、クライアント経路制御サーバ120にDNSクエリーを伝達する。
【0040】
クライアント経路制御サーバ120は、DNSサーバ110からクライアントのDNSクエリーを受けて、サービス中継ネットワーク130に属するエッジサーバのIPをクライアント別に割り当てて提供し、割り当てられたエッジサーバのIPをDNSサーバ110を介してクライアントに送信する。
【0041】
クライアント経路制御サーバ(CRCS)120をさらに詳細に説明すると、クライアント経路制御サーバ(CRCS)120は、エッジサーバ及び障害対応エッジサーバの状態を確認し、クライアントとエッジサーバ及び障害対応エッジサーバのデータを管理する。そして、クライアント別にエッジサーバIPまたは障害対応エッジサーバIPを指定して伝達する。CRCS120は、DNS要請を受信し、エッジサーバ及び障害対応エッジサーバの状態を確認し、ドメイン名(domain name)及びクライアントIPまたはクライアントIPに該当するエッジサーバのIPまたは障害対応エッジサーバIPを指定し、指定情報を格納し、DNS応答を送信できる。
【0042】
DNSクエリーを要請したクライアント100は、エッジサーバのIP情報または障害対応エッジサーバIPを受信し、エッジサーバまたは障害対応エッジサーバに接続してサービスサーバ140からサービスを受ける。
【0043】
さらに具体的に説明すれば、クライアント100は、サーバのアドレスを把握するために、DNSクエリーをDNSサーバ110に要請する。DNSサーバ110は、自身のサーバにクライアントが要請したドメイン名(Domain name)がない場合、上位DNSサーバに要請してドメイン名(Domain name)に該当するIPを探索する。
【0044】
DNSサーバ110をさらに詳細に説明すると、DNSサーバ110は、クライアントが要請するドメイン名を受信して、ドメイン名に該当するIPに応答する一般的なDNS装備になることができ、またそれに相応する概念及び技術を含むことができる。DNSサーバ110は、クライアントにドメイン名に該当するIPを送信する。上述した過程を介してDNSクエリーは、クライアント100が要請したドメイン名及びクライアントIPを有しているCRCS120にくるようになる。このとき、CRCS120は、経路制御アルゴリズムに従ってクライアントのIP別に固有経路に使用されるエッジサーバのIPまたは障害対応エッジサーバのIPを準備する。
【0045】
図2は、本発明の一実施形態による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出システムの構成をブロックで示したものである。
図2を参照すると、本発明による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出システム20に対した一実施形態は、エッジサーバグループ260、障害対応エッジサーバグループ270及びクライアント経路制御サーバ20からなる。
【0046】
エッジサーバグループ260は、クライアント210がサービスサーバ280に接近する経路に存在する複数のエッジサーバ260-1、260-nを含み、クライアントとサービスサーバとの間にトラフィックを監視し、クライアントからきたパケットをサービスサーバに伝達する機能を果たすエッジサーバの集合である。エッジサーバは、1個以上のクライアントの接続を受け入れることができ、初めてクライアントがサービスサーバに接続する時には、エッジサーバグループのエッジサーバが割り当てられるようになる。
【0047】
障害対応エッジサーバグループ270は、クライアント210がサービスサーバ280に接近する経路に存在し、エッジサーバ260-1、260-nに障害が発生する場合、前記障害が発生したエッジサーバを代替する障害対応エッジサーバ270-1、270-m、270-n-m、270-n、前記障害対応エッジサーバを代替する他の障害対応エッジサーバ270-1、270-m、270-n-m、270-nからなり、エッジサーバまたは障害対応エッジサーバに障害が発生する場合、前記障害が発生したエッジサーバまたは障害対応エッジサーバの数より多い数の障害対応エッジサーバ270-1、270-mからなる障害対応エッジサーバサブグループ275を含む。
【0048】
障害対応エッジサーバグループ270は、障害が発生したエッジサーバに割り当てられて使用されたクライアントがエッジサーバを再度割り当てられる時、障害誘発クライアント索出のために割り当てられる障害対応エッジサーバの集合であって、障害対応エッジサーバは、1個以上のクライアントの接続を受け入れることができ、障害対応エッジサーバは、一般的な状況では、割り当てられずにクライアント経路制御サーバ20の障害発生チェック部240で障害が発生したエッジサーバに割り当てられたクライアントがエッジサーバ割り当てを要請する時に割り当てられる。
【0049】
障害対応エッジサーバが実際に障害対応を進行する時には、障害対応エッジサーバグループ270全体が進行されることではなく、クライアント経路制御サーバ20のエッジサーバ制御部250で障害対応エッジサーバサブグループ制御メカニズムを介して論理的に障害対応エッジサーバサブグループを生成し、その中に障害対応エッジサーバを含めた後に生成した障害対応エッジサーバサブグループ275内の障害対応エッジサーバを割り当てる。
【0050】
障害対応エッジサーバサブグループ275は、障害対応エッジサーバグループ270内の論理的に生成される仮像の障害対応エッジサーバグループであって、実際にエッジサーバに障害が発生して障害対応エッジサーバで対応を始める時には、障害対応エッジサーバグループ全体を対象に割り当てることではなく、エッジサーバ制御部250の障害対応エッジサーバサブグループ制御メカニズムにおいて仮像で障害対応エッジサーバサブグループを作り、障害が発生したエッジサーバに既に割り当てられたクライアントの数及び接続記録を分析して、障害対応エッジサーバグループから割り当てられなかった障害対応エッジサーバの数などを考慮して、適当な数を選定して仮像で生成された障害対応エッジサーバサブグループに割り当てた後に、エッジサーバグルーピング割り当てメカニズムを介して生成された障害対応エッジサーバサブグループ275内の障害対応エッジサーバに割り当てるようになる。
【0051】
障害対応過程が終わった障害対応エッジサーバサブグループは削除され、その中に割り当てられていた障害対応エッジサーバもやはり、割り当てられないまま障害対応エッジサーバグループに置かれるようになる。障害対応エッジサーバサブグループは、エッジサーバの障害対応時に必要な時だけ生成され、終われば削除される仮像のグループにより具現化されることができる。
【0052】
エッジサーバと障害対応エッジサーバは、クライアントとサービスサーバとの間にトラフィックを制御する役割をするサーバであって、クライアント210とサービスサーバ280との間の接続情報、エッジサーバ自体のシステム情報(CPU、メモリ、ネットワーク、ストレージ使用量、使用率等)、障害発生関連情報などをクライアント経路制御サーバ20に伝達する。一般的な状況では、クライアントは、エッジサーバを介してサービスサーバ280に接続され、障害発生状態である場合、クライアントは、障害対応エッジサーバを介してサービスサーバ280に接続される。エッジサーバと障害対応エッジサーバとは、構成が同一である。
【0053】
クライアント経路制御サーバ20は、クライアントとサービスサーバとの間の通信経路をエッジサーバを介して進行できるように経路を制御し、DNSを介してクライアントの要請に対してエッジサーバ及び障害対応エッジサーバを割り当て、エッジサーバ及び障害対応エッジサーバから通信関連情報(接続、システム状態、トラフィック関連情報)を受けて、障害が発生したかどうかをチェックし障害誘発クライアントを検出する。また、クライアント経路制御サーバ20は、障害誘発クライアントのブラックリストを管理し、DNSを介してブラックリストに登録されたクライアントのDNS要請に対してサービスサーバ接近を遮断し、DNS制御部230、障害発生チェック部240及びエッジサーバ制御部250を含む。これにより、クライアント経路制御サーバ20は、クライアント端末の接続を制御するクライアント端末接続制御装置としても機能できる。
【0054】
DNS制御部230は、クライアント100が要請したDNSクエリーに応答して、クライアントIPまたはユーザ情報別にエッジサーバIPまたは障害対応エッジサーバIPを提供する。すなわち、DNSサーバ220からクライアントのDNS要請を受信し、クライアント経路制御サーバ20にエッジサーバ割り当てを要請し、エッジサーバ制御部250の結果を受けてDNSサーバ220に伝達する。
【0055】
障害発生チェック部240は、エッジサーバ及び障害対応エッジサーバの障害発生をチェックし、エッジサーバと障害対応エッジサーバから接続関連情報及びシステム状態情報、トラフィック関連情報など通信関連情報を受けて該当エッジサーバ(障害対応エッジサーバ含む)に障害が発生したかどうかを確認する。また障害発生チェック部240は、障害関連ポリシーに従って該当エッジサーバ(障害対応エッジサーバを含む)に障害が発生したと判別した場合、その内容をエッジサーバ制御部250に伝達する。
【0056】
そして障害発生チェック部240は、DNSクエリーに応答して前記エッジサーバ制御部250によりDNS制御部230に提供されるエッジサーバまたは障害対応エッジサーバに障害があるかどうかをチェックできる。このとき、DNS制御部230は、前記提供されたエッジサーバまたは障害対応エッジサーバに障害がないと、前記提供されたエッジサーバまたは障害対応エッジサーバ情報をDNSサーバ220を介してクライアント210に提供する。
【0057】
また、障害発生チェック部240は、DNSクエリーに関係なくエッジサーバまたは障害対応エッジサーバの障害をモニタリングでき、このとき、エッジサーバ制御部250は、前記エッジサーバまたは障害対応エッジサーバに障害が発生すると、前記障害が発生したエッジサーバまたは障害対応エッジサーバを使用しているクライアントIPまたはユーザ情報を検索して、前記障害対応エッジサーバグループ270で選択された障害対応エッジサーバIPを前記検索されたクライアントIPまたはユーザ情報に割り当てる。このとき、DNS制御部230は、前記検索されたクライアントIPまたはユーザ情報に該当するクライアントがDNSクエリーを要請すると、前記エッジサーバ制御部250により割り当てられた障害対応エッジサーバIPをDNSサーバ220を介して前記検索されたクライアント100に提供できる。また、DNS制御部230は、前記DNSクエリーに関係なく、前記エッジサーバ制御部250により割り当てられた障害対応エッジサーバIPをDNSサーバ220を介して前記検索されたクライアント100に提供することができる。
【0058】
エッジサーバ制御部250は、エッジサーバまたは障害対応エッジサーバの障害が発生すると、前記障害対応エッジサーバグループ270で選択された前記障害対応エッジサーバサブグループ275を前記障害が発生したエッジサーバまたは障害対応エッジサーバの代わりにクライアントに提供し、前記障害対応エッジサーバに割り当てられるクライアントが一つしかない場合、前記一つのクライアントを障害誘発クライアントとして検出し、エッジサーバ割り当て部252、障害対応エッジサーバサブグループ制御部254及び障害誘発クライアント検出部256を具備する。
【0059】
エッジサーバ割り当て部252は、クライアント210からDNS要請がDNS制御部230を介して受信される時、エッジサーバグルーピング割り当てメカニズムを介してエッジサーバグループのエッジサーバを割り当てる。エッジサーバ割り当て部252は、障害誘発クライアント検出メカニズムを介して障害誘発クライアントが確認されると、該当クライアントをブラックリストに追加し、障害誘発クライアントが索出された後に障害対応エッジサーバに割り当てられたクライアントをエッジサーバグループの空いているエッジサーバに再度割り当て、ブラックリストとして登録されたクライアントのDNS要請がある場合には、エッジサーバまたは障害対応エッジサーバを割り当てない。
【0060】
障害対応エッジサーバサブグループ制御部254は、障害発生チェック部240でエッジサーバ障害が確認された以後に該当クライアントのDNS要請が受信されると、障害対応エッジサーバサブグループ制御メカニズムを介して障害対応エッジサーバグループ270内の障害発生クライアント索出のための障害対応エッジサーバサブグループ275を論理的に生成し、その中に障害対応エッジサーバを割り当てた後、エッジサーバグルーピング割り当てメカニズムを介して論理的に生成された障害対応エッジサーバサブグループ275内の障害対応エッジサーバを割り当てる。
【0061】
障害誘発クライアント検出部256は、障害誘発クライアント検出メカニズムを介して障害対応エッジサーバの割り当て状態と該当クライアントの情報を分析して、障害誘発クライアントを捜し出す。
【0062】
クライアント部210は、エッジサーバまたは障害対応エッジサーバに障害が発生すると、前記障害対応エッジサーバグループから選択された障害対応エッジサーバと再度接続するために、ユーザ情報を含んだDNSクエリーを送信するエージェント212、214を含むことができる。このとき、エッジサーバ制御部250は、クライアントのエージェント212、214からDNSクエリーを受信すると、クライアントのDNSクエリーからユーザ情報を取り出す。
【0063】
クライアント部210は、サービスサーバ280に接続するクライアントで構成され、エージェントが設置されているクライアントを含むことができ、エージェントは、クライアントのユーザ情報を含んでDNSにサービスサーバ280の情報を要請し、エッジサーバあるいは障害対応エッジサーバ情報を受けて、クライアントのインターネットアプリケーションに伝達する。
【0064】
本発明の一実施形態によるエッジサーバ260-1、260-nまたは障害対応エッジサーバ270-1、270-m、270-n-m、270-nは、クライアント100とサービスサーバ280とを接続し、プロキシサーバ、キャッシュサーバなどのようにサービス中継機能があるか、またはサービス機能があるプログラム、サーバ及びハードウェア装備により具現化されることができ、クライアントが接続するサービス経路として使用され、クライアントが接続するサービスサーバの役割を行うこともできる。
【0065】
また、エッジサーバグループ260と障害対応エッジサーバグループ270は、サービス中継ネットワークを構成でき、前記サービス中継ネットワークは、サービス中継機能があるか、またはサービス機能があるサーバまたは装備の概念を含んでいるエッジサーバと障害対応エッジサーバ、ゲートウェイ(Gateway)、ルーター(Router)、スイッチ(Switch)、ハーブ(Hub)などのネットワーク装備からなることができる。
【0066】
図3は、本発明の一実施形態による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法をフローチャートで示したものである。
図1ないし
図3を参照して、一実施形態による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法を説明する。
【0067】
まず、クライアント210がサービスサーバ280に接近する経路に複数のエッジサーバが存在するサービス中継ネットワーク130において障害発生チェック部240が前記エッジサーバの障害発生をチェックする(ステップS310)障害発生チェック結果、前記エッジサーバに障害が発生すると、エッジサーバ制御部250は、障害対応エッジサーバグループ270から選択された、前記障害が発生したエッジサーバの数より多い数の障害対応エッジサーバからなる障害対応エッジサーバサブグループ275を前記障害が発生したエッジサーバの代わりに前記障害発生エッジサーバに接続したクライアントに提供する(ステップS320)。
【0068】
それから障害発生チェック部240が前記クライアントに提供した障害対応エッジサーバの障害発生をチェックする(ステップS330)。障害発生チェック結果、前記代替された障害対応エッジサーバから障害が発生すると、前記エッジサーバ制御部250は、前記障害対応エッジサーバグループ270にある、クライアントに提供されない他の障害対応エッジサーバサブグループを前記障害が発生した障害対応エッジサーバの代わりにクライアントに提供する(ステップS340)。ここで、障害対応エッジサーバサブグループ275は、エッジサーバまたは障害対応エッジサーバに障害が発生すると、障害が発生したエッジサーバまたは障害対応エッジサーバに割り当てられたクライアントの数及び接続記録を分析して、前記障害対応エッジサーバグループから割り当てられなかった障害対応エッジサーバの数に基づいて、複数の障害対応エッジサーバからなることができる。
【0069】
障害発生チェック部240が前記クライアントに提供した障害対応エッジサーバの障害発生をチェックして(ステップS350)、障害対応エッジサーバに障害が発生するたびに、エッジサーバ制御部250は、障害対応エッジサーバグループ270でクライアントに提供されない障害対応エッジサーバサブグループを生成して、障害が発生した障害対応エッジサーバの代わりをして、障害が発生した障害対応エッジサーバに割り当てられたクライアントが一つだけの場合、前記一つのクライアントを障害誘発クライアントとして検出する(ステップS360)。
【0070】
前記エッジサーバまたは障害対応エッジサーバの障害発生チェックは、クライアントからDNSクエリーが受信される時、またはクライアントからDNSクエリーの受信に関係なく、前記エッジサーバまたは障害対応エッジサーバの障害発生をモニタリングすることにより行われることができる。
【0071】
図4は、クライアントからDNSクエリーが受信される時、前記エッジサーバまたは障害対応エッジサーバの障害が発生したかどうかをチェックして、障害が発生したエッジサーバまたは障害対応エッジサーバを障害対応エッジサーバサブグループで代替して障害誘発クライアントを検出する一実施形態をフローチャートで示したものである。
図2と
図4を参照すると、DNS制御部230は、DNSサーバ220からDNSクエリーを受信して(ステップS410)、受信されたDNSクエリーにユーザ情報があるかどうかをチェックする(ステップS415)。ユーザ情報があると、ユーザ情報を取り出す(ステップS420)。
【0072】
エッジサーバ制御部250においてエッジサーバ割り当て部252は、抽出されたユーザ情報に相応するエッジサーバIPを割り当てる(ステップS430)。
【0073】
一方、ステップS415においてDNSクエリーにユーザ情報がないと、エッジサーバ割り当て部252は、DNSクエリーを要請したクライアントに割り当てられたエッジサーバIPを提供する(ステップS425)。
【0074】
エッジサーバIPが割り当てられると、障害発生チェック部240は、割り当てられたエッジサーバに障害が発生したかどうかをチェックする(ステップS435)。
【0075】
障害発生チェック部240のチェック結果(S440)、障害が発生しないと、エッジサーバ割り当て部252により割り当てられたエッジサーバIPまたは障害対応エッジサーバIPを提供する(ステップS445)。
【0076】
万が一、障害が発生した場合、エッジサーバまたは障害対応エッジサーバに割り当てられたクライアントが一つだけであるかどうかをチェックする(ステップS450)。万が一、エッジサーバまたは障害対応エッジサーバに割り当てられたクライアントが一つだけであると、該当クライアントを障害誘発クライアントとして検出する(ステップS460)。万が一、エッジサーバまたは障害対応エッジサーバに割り当てられたクライアントが複数であると、障害が発生したエッジサーバまたは障害対応エッジサーバを障害対応エッジサーバグループで代替する (ステップS455)。
【0077】
図5は、クライアントからDNSクエリーの受信に関係なく前記エッジサーバまたは障害対応エッジサーバの障害が発生したかどうかをチェックして、障害が発生したエッジサーバまたは障害対応エッジサーバを障害対応エッジサーバサブグループで代替して、障害誘発クライアントを検出する一実施形態をフローチャートで示したものである。そして、障害が発生したエッジサーバまたは障害対応エッジサーバを障害対応エッジサーバサブグループで代替した後、エッジサーバまたは障害対応エッジサーバに障害が発生すると、前記障害が発生したエッジサーバまたは障害対応エッジサーバを使用しているクライアントIPまたはユーザ情報を検索し、DNSクエリー要請を受信すると、前記障害対応エッジサーバグループから選択された障害対応エッジサーバを前記検索されたクライアントに提供できる。
【0078】
図2と
図5を参照すると、障害発生チェック部240は、DNSクエリーを受信したかどうかに関係なく、エッジサーバまたは障害対応エッジサーバに障害が発生するかどうかをモニタリングする(ステップS510)。
【0079】
モニタリング結果、エッジサーバまたは障害対応エッジサーバに障害が発生する(ステップS520)と、エッジサーバ制御部250は、障害が発生したエッジサーバまたは障害対応エッジサーバをサービスサーバ280に接近するための経路として使用しているクライアントを検索してクライアント情報を格納する(ステップS530)。
【0080】
その後、エッジサーバまたは障害対応エッジサーバに割り当てられたクライアントが一つだけであるかどうかをチェックする(ステップS540)。万が一、エッジサーバまたは障害対応エッジサーバに割り当てられたクライアントが一つだけであると、該当クライアントを障害誘発クライアントとして検出する(ステップS550)。万が一、エッジサーバまたは障害対応エッジサーバに割り当てられたクライアントが複数であると、障害が発生したエッジサーバまたは障害対応エッジサーバを障害対応エッジサーバグループで代替する(ステップS560)。
【0081】
それから前記検索されたクライアントからDNSクエリーが受信されると(S570)、DNS制御部230は、DNSクエリーを要請したクライアントに前記割り当てられたエッジサーバIPまたは障害対応エッジサーバIPを提供する(ステップS580)。
【0082】
一方、前記クライアントは、エッジサーバまたは障害対応エッジサーバに障害が発生すると、障害対応エッジサーバグループから選択された障害対応エッジサーバと接続するために、DNSクエリーを送信するエージェント212、214を含み、エージェント212、214は、ユーザ情報を含んだDNSクエリーを要請できる。前記DNSクエリーに含まれることができるユーザ情報は、ユーザを識別できる情報または装備を識別できる情報が含まれ、少なくともログインID、デバイスID(MAC、CPU ID、HDD Serial、etc)、電話番号、IP Addressのうち、いずれか一つ以上の情報を含むことができる。
【0083】
エッジサーバ制御部250は、前記クライアントのエージェントからDNSクエリーを受信すると、クライアントのDNSクエリーからユーザ情報を抽出し、前記障害対応エッジサーバグループから選択された、前記抽出されたユーザ情報に相応する障害対応エッジサーバIPを前記クライアントに提供できる。
【0084】
一方、本発明の一実施形態による障害対応エッジサーバグルーピングを利用した障害誘発クライアント検出方法及びシステムにおいて障害誘発クライアント索出についてさらに具体的に説明する。まず、本発明の一実施形態においてエッジサーバ割り当ては、次のようになされることができる。
図6は、本発明の一実施形態によるエッジサーバ割り当て方式を示す。
図6を参照すると、まずクライアント610がDNSサーバ620を介してサービスサーバ650の情報を要請する時、DNSサーバ620は、クライアント経路制御サーバ630にクライアント610のDNS要請を伝達する。クライアント経路制御サーバ620のエッジサーバ割り当て部(図示せず)は、管理しているエッジサーバグループ640内のエッジサーバに順に要請が入るクライアントを割り当てる。第1クライアント 611は、エッジサーバ1 641に、クライアント2 612は、エッジサーバ2 642に、クライアント3 613は、エッジサーバ3 643に割り当てるように順次に割り当てる。エッジサーバグループ640内のエッジサーバの数よりさらに多くのクライアントの要請が入る場合、エッジサーバグループ内にエッジサーバをはじめから再度割り当てる。エッジサーバグループ内のエッジサーバが3個存在する場合、既に第1クライアント~3がエッジサーバ1~3を全部割り当てられたから、クライアント4 614は、エッジサーバ1 641に再度割り当てられ、クライアント5 615は、エッジサーバ2 642に割り当てられる。既に割り当てられたクライアントは、変動なしで割り当てられたエッジサーバをそのまま利用できる。エッジサーバは、1個以上のクライアントを受け入れることができ、最大収容量は、エッジサーバのシステム性能に影響を受ける。
【0085】
そして、エッジサーバが割り当てられた後、エッジサーバに障害が発生した場合、障害誘発クライアント索出は、次のようになされることができる。
図7は、クライアント1 611が悪性コード、あるいはハッキングの影響により障害原因クライアントになった場合を示している。
図7を参照すると、クライアント1、4、7が接続したエッジサーバ1 641がクライアント1 611からトラフィック攻撃を受けると、エッジサーバ1 611は、状態が不安定になり、エッジサーバ1 641は、システム情報及びトラフィック情報、クライアント接続情報など、通信関連情報をクライアント経路制御サーバ630の障害発生チェック部(図示せず)に伝達し、クライアント経路制御サーバ630の障害発生チェック部(図示せず)は、該当情報をクライアント経路制御サーバ630のエッジサーバ制御部(図示せず)に伝達する。
【0086】
図8は、攻撃を受けるエッジサーバ1 641に接続しているクライアントを障害対応エッジサーバで対応するために、クライアント1、4、7を障害対応エッジサーバサブグループ1 810に割り当てることを示している。
図8を参照すると、エッジサーバ制御部(図示せず)の障害対応エッジサーバサブグループ制御メカニズムを介して障害が発生したエッジサーバ1 641に接続したクライアントの数(3個)を確認した後、障害対応エッジサーバグループ(図示せず)内に障害対応エッジサーバサブグループ1 810を論理的に生成し、障害対応エッジサーバ1 812、障害対応エッジサーバ2 814を該当障害対応エッジサーバサブグループ1 810に含めた後、障害対応エッジサーバサブグループ1 810に割り当てる。
【0087】
エッジサーバ1 641に割り当てられたクライアント1 611、クライアント4 614、クライアント7 617は、再度エッジサーバの割り当てを受けるためにDNS要請をするようになると、クライアント経路制御サーバ630のエッジサーバ割り当て部(図示せず)は、エッジサーバグループでない障害対応エッジサーバグループ内の障害対応エッジサーバサブグループ1 810にある障害対応エッジサーバに割り当てる。ここで、障害対応エッジサーバサブグループ1 810には、2台の障害対応エッジサーバ812、814があると仮定する(障害対応エッジサーバサブグループ制御メカニズムにより障害対応エッジサーバサブグループ1 810に2台の障害対応エッジサーバが含まれたとする)。
【0088】
エッジサーバ1 641に割り当てられたクライアントが3個(クライアント1、4、7)であるから、クライアント1 611とクライアント4 614は、障害対応エッジサーバ1 812に、クライアント7 617は、障害対応エッジサーバ1 812に割り当てられる。クライアント1、4が接続した障害対応エッジサーバ1 812は、クライアント1 611からのトラフィック攻撃によりシステム状態が不安定になる。障害対応エッジサーバ1 812は、通信関連情報をクライアント経路制御サーバ630の障害発生チェック部(図示せず)に伝達する。クライアント経路制御サーバ630の障害発生チェック部(図示せず)は、該当情報をクライアント経路制御サーバ630のエッジサーバ制御部(図示せず)に伝達する。ここで、クライアント経路制御サーバのエッジサーバ制御部内にある障害誘発クライアント検出メカニズムは、まだ障害対応エッジサーバとクライアントが一対一の割合で割り当てられる時点ではないから、判断を保留する。
【0089】
その後、攻撃を受ける障害対応エッジサーバグループ1 810の障害対応エッジサーバ1 812に接続しているクライアントを分離した後、エッジサーバ制御部(図示せず)の障害対応エッジサーバサブグループ制御メカニズムを介して、新しい障害対応エッジサーバサブグループ2 910を論理的に生成し、障害対応エッジサーバ3 912と障害対応エッジサーバ4 914を障害対応エッジサーバサブグループ2 910に含めた後、障害対応エッジサーバサブグループ2 910に割り当てる。
【0090】
図9は、クライアント1 611とクライアント4 614を分離して障害対応エッジサーバサブグループ2 910に再度割り当てることを示している。
図9を参照すると、障害対応エッジサーバサブグループ1 810の障害対応エッジサーバ1 812に割り当てられたクライアント1 611とクライアント4 614は、エッジサーバを再度割り当てられるためにDNS要請をするようになると、クライアント経路制御サーバ630のエッジサーバ割り当て部(図示せず)において障害対応エッジサーバサブグループ1 810でない障害対応エッジサーバサブグループ2 910にある障害対応エッジサーバに割り当てる。ここで、障害対応エッジサーバサブグループ2 910には、2個の障害対応エッジサーバ912、914があると仮定する(障害対応エッジサーバサブグループ制御メカニズムにより障害対応エッジサーバサブグループ2に2個の障害対応エッジサーバが含まれたとする)。
【0091】
また、障害対応エッジサーバサブグループ1 810の障害対応エッジサーバ2 814に接続していたクライアント7 617は、障害誘発クライアント対象でないから、クライアント経路制御サーバ630のエッジサーバ割り当て部(図示せず)においてエッジサーバグループの新しいエッジサーバであるエッジサーバ4 644に割り当てる。空いているエッジサーバに割り当てるか、または既に割り当てられたエッジサーバのうち、システム的に余裕のあるエッジサーバに割り当てを行うことができる。
【0092】
障害対応エッジサーバサブグループ1 810の障害対応エッジサーバ1 812に割り当てられたクライアントが2個(クライアント1、4)であり障害対応エッジサーバサブグループ2 910に属した障害対応エッジサーバもやはり2個であるから、クライアント1 611は、障害対応エッジサーバ3 912、クライアント4 614は、障害対応エッジサーバ4 914に割り当てられる。クライアント経路制御サーバ630のエッジサーバ割り当て部(図示せず)は、該当割り当て情報をクライアント経路制御サーバ630の障害誘発クライアント検出部(図示せず)に伝達する。クライアント1 611が接続した障害対応エッジサーバ3 912は、クライアント1 611からのトラフィック攻撃によりシステム状態が不安定になる。障害対応エッジサーバ3 912は、通信関連情報をクライアント経路制御サーバ630の障害発生チェック部(図示せず)に伝達し、クライアント経路制御サーバ630の障害発生チェック部(図示せず)は、該当情報をクライアント経路制御サーバ630のエッジサーバ制御部(図示せず)に伝達する。
【0093】
図10は、障害対応エッジサーバ1個に接続して該当障害対応エッジサーバを攻撃するクライアントを障害原因クライアントとして認知する過程を示している。
図10を参照すると、クライアント経路制御サーバ630の障害誘発クライアント検出部(図示せず)は、障害対応エッジサーバとクライアントの割り当て割合が一対一であり、障害対応エッジサーバ1 812が障害を起こしたから、障害対応エッジサーバ1 812に接続していたクライアント1 611を障害原因クライアントとして認知する。クライアント経路制御サーバ630の障害誘発クライアント検出部(図示せず)は、クライアント1 611をブラックリストに記録し、その情報をクライアント経路制御サーバ630のエッジサーバ割り当て部(図示せず)に伝達する。そして、クライアント経路制御サーバ630のエッジサーバ割り当て部(図示せず)は、クライアント4 614が障害誘発クライアントではないから、エッジサーバグループ内のエッジサーバのうち、システム的に余裕のあるエッジサーバ4644に割り当てを行うことができる。
【0094】
ブラックリストに登録された障害原因クライアントであるクライアント1 611は、再度サービスサーバ650情報要請のためにDNS要請があってもクライアント経路制御サーバ630のエッジサーバ割り当て部(図示せず)は、エッジサーバを割り当てずにnull処理して応答をするから、エッジサーバ割り当ても受けることができず、サービスサーバ650に接続も不可能な状態となる。
【0095】
一方、従来の登録特許であるクライアント経路制御システムを活用した障害誘発クライアント検出方式と本発明による障害対応エッジサーバのグルーピングを利用した障害誘発クライアント検出方式の差異をさらに具体的に説明する。
【0096】
従来の特許方式と本発明の方式は、障害が一つのクライアントにおいてのみ発生する場合、大きな差はないが、複数のクライアントにおいて同時多発的に障害が発生する場合、検出方式及び正確度の側面において差があり、本発明が誤検出なしで障害誘発クライアントを正確に検出できる。
【0097】
図11及び
図12は、従来の登録特許であるクライアント経路制御システムを活用した障害誘発クライアント検出方式を説明する図である。
図13ないし
図16は、本発明による障害対応エッジサーバのグルーピングを利用した障害誘発クライアント検出方式を説明する図である。
【0098】
本発明の背景技術において上述したように、
図11を参照すると、6個のエッジサーバで構成されたエッジサーバグループ11に3x2のマトリックス配列で障害原因クライアント索出用マトリックス12を構成するとする場合、次のように構成される。クライアントA~Hが前記マトリックスのようにエッジサーバが割り当てられた時、クライアントA、Fが障害原因クライアントであるとすると、エッジサーバグループでエッジサーバ1、2、3、4、6がクライアントA、Fによって障害が発生する。
【0099】
しかしながら、
図12のマトリックスから見ると、クライアントA、Fだけでなくエッジサーバグループの障害が生じたエッジサーバ1、2、3、4、6を割り当てられた他のクライアントもやはり、障害誘発クライアントとして指定されるから、クライアントB、Eもやはり、障害原因クライアントとして認識されるという問題が生じる。すなわち、クライアントB、Eを障害誘発クライアントとして誤検出することができる。
【0100】
一方、本発明による障害対応エッジサーバのグルーピングを利用した障害誘発クライアント検出方式を従来の方式と対比して説明すると、メトリックス方式と同じクライアントA~Hがあり、
図13に示すようにグルーピングのためのエッジサーバグループ13に2個のエッジサーバ1、2、障害対応エッジサーバグループ14には、9台の障害対応エッジサーバ11~19が存在すると仮定する。
【0101】
図14を参照すると、クライアントA~Hは、エッジサーバグループ内のエッジサーバが2個しかないから、
図14に示すように、エッジサーバを割り当てられサービスを行い、このうち、クライアントA、Fが障害誘発クライアントの場合、エッジサーバグループ13のエッジサーバ1、2ともが障害が発生する。
【0102】
エッジサーバ制御部(図示せず)の障害対応エッジサーバサブグループ制御メカニズムとエッジサーバグルーピング割り当てメカニズムにより障害対応エッジサーバグループにまず障害対応エッジサーバサブグループ1、2が生成され、障害対応エッジサーバグループ1には、障害対応エッジサーバ11、12が、障害対応エッジサーバグループ2には、障害対応エッジサーバ13、14が含まれる。そして障害が発生したエッジサーバ1、2に割り当てられたクライアントA~Hは、
図15に示すように障害対応エッジサーバサブグループ1、2に割り当てられる。
【0103】
図15を参照すると、障害原因クライアントであるクライアントAとクライアントFが障害対応エッジサーバサブグループ1 13-1の障害対応エッジサーバ11と障害対応エッジサーバサブグループ2 13-2の障害対応エッジサーバ13に割り当てられたから、該当障害対応エッジサーバは障害を起こすようになる。
【0104】
エッジサーバ制御部(図示せず)の障害対応エッジサーバサブグループ制御メカニズムとエッジサーバグルーピング割り当てメカニズムにより障害対応エッジサーバサブグループ3 13-3、障害対応エッジサーバサブグループ4 13-4が生成され、
図16に示すように割り当てられなかった障害対応エッジサーバのうち、障害対応エッジサーバ15、16を障害対応エッジサーバサブグループ3 13-3、障害対応エッジサーバ17、18を障害対応エッジサーバサブグループ4 13-4に含め、障害を起こした障害対応エッジサーバ11、13に接続したクライアントA、B、E、Fを割り当てる。
【0105】
図16を参照すると、障害対応エッジサーバサブグループ3 13-3の障害対応エッジサーバ15と障害対応エッジサーバサブグループ4 13-4の障害対応エッジサーバ18が障害を起こし、クライアントと障害対応エッジサーバが一対一にマッピングされた状態であるから、障害対応エッジサーバ15に割り当てられたクライアントAと障害対応エッジサーバ18に割り当てられたクライアントFが障害原因クライアントと判別される。以上、本発明の方式は、A、Fのみを障害誘発クライアントとして検出し、従来の方式により誤検出されたクライアントB、Eを障害誘発クライアントとして検出しない。
【0106】
以下、
図17を参照して一実施形態によるクライアント端末接続制御装置が前述した障害誘発クライアント検出方式を利用してクライアント端末接続制御を行う方法を説明する。クライアント端末接続制御装置は、クライアント端末、エッジサーバ及び障害対応エッジサーバのうち、少なくとも一つとデータ通信を行う通信部、及び以下の処理を行うためのプロセッサを含むことができる。
【0107】
まず、クライアント端末接続制御装置は、複数のクライアント端末で構成された第1クライアントグループの通信処理をエッジサーバに割り当てることができる(S1710)。次に、クライアント端末接続制御装置は、前記エッジサーバの動作に障害が発生した場合、前記第1クライアントグループに属した少なくとも一つのクライアント端末を含む第2クライアントグループの通信処理を障害対応エッジサーバに割り当てることができる(S1720)。ここで、第2クライアントグループは、第1クライアントグループに属した少なくとも一つのクライアント端末だけを含むように構成されることができる。または、第2クライアントグループは、第1クライアントグループに属した少なくとも一つのクライアント端末と共に他のクライアント端末をさらに含むように構成されることもできる。
【0108】
次に、クライアント端末接続制御装置は、前記障害対応エッジサーバの動作に障害が発生するかどうかを決定できる(S1730)。クライアント端末接続制御装置は、障害が発生したかどうかによってクライアント端末の接続を制御できる。例えば、クライアント端末接続制御装置は、前記障害対応エッジサーバの動作に障害が発生し、前記障害対応エッジサーバに割り当てられたクライアント端末が所定の数以上であると、前記障害対応エッジサーバに割り当てられたクライアントグループに属した少なくとも一つのクライアント端末を含むサブクライアントグループの通信処理を障害対応エッジサーバに割り当てることができる。例えば、クライアント端末接続制御装置は、前記サブクライアントグループの通信処理を障害が発生しない障害対応エッジサーバに割り当てることができる。ここで、前記所定の数は、1個または2個でありえ、またはその他の任意の設定値でありうる。
【0109】
さらに詳細に、クライアント端末接続制御装置は、前記障害対応エッジサーバに割り当てられたクライアントグループに属した少なくとも一つのクライアント端末を含むサブクライアントグループを生成し、生成されたサブクライアントグループの通信処理を障害対応エッジサーバに割り当てることができる。前述したように、サブクライアントグループは、障害が発生した障害対応エッジサーバに割り当てられたクライアントグループに属した少なくとも一つのクライアント端末だけを含むように構成されることができる。または、サブクライアントグループは、障害が発生した障害対応エッジサーバに割り当てられたクライアントグループに属した少なくとも一つのクライアント端末と共に他のクライアント端末をさらに含むように構成されることもできる。
【0110】
一方、前記障害対応エッジサーバの動作に障害が発生し、前記障害対応エッジサーバに割り当てられたクライアント端末が所定の数であると、クライアント端末接続制御装置は、前記所定の数のクライアント端末を障害誘発クライアント端末に決定できる。
【0111】
以下、
図18を参照して、一実施形態によるクライアント端末接続制御システムが前述した障害誘発クライアント検出方式を利用してクライアント端末接続制御を行う方法を説明する。クライアント端末接続制御システムは、エッジサーバ、障害対応エッジサーバ及び接続制御装置を含んで構成されることができる。
【0112】
まず、エッジサーバは、複数のクライアント端末で構成された第1クライアントグループの通信処理を行うことができる(S1810)。次に、前記エッジサーバの動作に障害が発生した場合、障害対応エッジサーバが前記第1クライアントグループに属した少なくとも一つのクライアント端末を含む第2クライアントグループの通信処理を行うことができる(S1820)。
【0113】
次に、前記接続制御装置が前記障害対応エッジサーバの動作に障害が発生するかどうかを決定できる(S1830)。その後、接続制御装置は、障害が発生したかどうかによってクライアント端末の接続を制御できる。例えば、前記障害対応エッジサーバの動作に障害が発生し、前記障害対応エッジサーバに割り当てられたクライアント端末が所定の数であると、接続制御装置は、前記障害対応エッジサーバに割り当てられたクライアントグループに属した少なくとも一つのクライアント端末を含むサブクライアントグループの通信処理を障害対応エッジサーバに割り当てることができる。例えば、接続制御装置は、前記サブクライアントグループの通信処理を障害が発生しない障害対応エッジサーバに割り当てることができる。ここで、前記所定の数は、1個または2個でありえ、またはその他の任意の設定値でありうる。
【0114】
一方、前記障害対応エッジサーバの動作に障害が発生し、前記障害対応エッジサーバに割り当てられたクライアント端末が所定の数であると、接続制御装置は、前記所定の数のクライアント端末を障害誘発クライアント端末に決定できる。
【0115】
上述の実施形態による方法、装置及びシステムは、コンピュータで読むことのできる記録媒体にコンピュータ(情報処理機能を有する装置を全部含む)が読むことができるプログラムコードとして具現することが可能である。コンピュータが読むことのできる記録媒体は、コンピュータシステムによって読まれることができるデータが格納されるすべての種類の記録装置を含む。コンピュータが読むことができる記録装置の例には、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ格納装置などがある。
【0116】
本発明は、図面に示す実施形態を参考として説明されたが、これは、例示に過ぎず、本技術分野における通常の知識を有した者であれば、これから多様な変形及び均等な他の実施形態が可能であるという点を理解できるはずである。よって、本発明の真の技術的保護範囲は、添付された登録請求範囲の技術的思想により決まるべきである。
【産業上の利用可能性】
【0117】
本開示は、ネットワーク障害を誘発するクライアントを検出するために利用できる。
【符号の説明】
【0118】
100 クライアント部
102、104 クライアント
14 エージェント
110 DNSサーバ
120 クライアント経路制御サーバ
130 サービス中継ネットワーク
132 エッジサーバグループ
134 障害対応エッジサーバグループ
140 サービスサーバ
20 クライアント経路制御サーバ
210 クライアント
210-1 クライアント1
212 エージェント
201-n クライアントn
124 エージェント
220 DNSサーバ
230 DNS制御部
240 障害発生チェック部
250 エッジサーバ制御部
252 エッジサーバ割り当て部
254 障害対応エッジサーバサブグループ制御部
256 障害誘発クライアント検出部
260 エッジサーバグループ
260-1 エッジサーバ1
260-n エッジサーバn
270 障害対応エッジサーバグループ
275 障害対応エッジサーバサブグループ
270-1 障害対応エッジサーバ1
270-m 障害対応エッジサーバm
270-n-m 障害対応エッジサーバn-m
270-n 障害対応エッジサーバn
610 クライアント
611 クライアント1
612 クライアント2
613 クライアント3
614 クライアント4
615 クライアント5
620 DNSサーバ
630 クライアント経路制御サーバ
640 エッジサーバグループ
641 エッジサーバ1
642 エッジサーバ2
643 エッジサーバ3
644 エッジサーバ4
650 サービスサーバ
810 障害対応エッジサーバサブグループ1
812 障害対応エッジサーバ1
814 障害対応エッジサーバ2
910 障害対応エッジサーバサブグループ2
912 障害対応エッジサーバ3
914 障害対応エッジサーバ4
11 エッジサーバグループ
12 エッジサーバ割り当てマトリックス
13 エッジサーバグループ
14 障害対応エッジサーバグループ
13-1 障害対応エッジサーバサブグループ1
13-2 障害対応エッジサーバサブグループ2
13-3 障害対応エッジサーバサブグループ3
13-4 障害対応エッジサーバサブグループ4