本発明は、通信分野に関連し、特にトラフィック分散方法、デバイス、及びシステムに関する。
通信技術の発展に伴い、多くのゲートウェイデバイスがモバイルインターネット上に存在する。ネットワークが変化を続け、ユーザサービスの要件が増加したため、ネットワーク上のゲートウェイは、プロトコル変換などの従来のゲートウェイ機能を完了する必要があるだけでなく、ユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator)に基づくクラシフィケーション及びフィルタリング、リポート、ウェブサイト(Web)最適化、キャッシュメモリ(Cache)アクセラレーション、及び他のサービスなどの従来にはないいくつかのゲートウェイサービス上の処理をサポートする必要がある。これらのサービスのいくつかは、ゲートウェイの外部サービスサーバにより完了されている。さまざまな従来にないゲートウェイサービスの処理が、前記外部サービスサーバにより完了される必要がある場合、ネットワーク上の前記ゲートウェイは、トラフィック分散機能をサポートし、前記外部サービスサーバにトラフィックを分散することが可能である必要がある。
一般に、前記ゲートウェイにより適用されるトラフィック分散方法は、次のようである:受信したトラフィックは、ルーティング又はポリシーベースのルーティングに基づきマッチングされ、マッチングが成功すると、前記トラフィックは、その後前記外部サービスサーバに分配され、前記サービスサーバは、サービス処理を完了する。
しかし、上述のトラフィック分散方法におけるトラフィック分散方法は、ポートベースのトラフィック分散のみをサポートし、この方法は、フォールス検出及び欠落検出が不正確であり、したがって、アプリケーションベースのトラフィック分散を満たすことができない。加えて、このトラフィック分散方法では、外部サービスサーバに分散するための処理される必要のない大量のトラフィックが発生することがある。その結果、前記外部サービスサーバは、処理する必要のないプロセスを転送して処理する必要があり、これにより、全体的なシステムリソースの浪費をもたらし、オペレータのデバイスへの投資が増加する。
本発明は、トラフィック分散方法、デバイス、及びシステムを提供し、従来技術のトラフィック分散方法がポートベースのトラフィック分散のみをサポートし、前記方法は、偽陽性と偽陰性に不正確であるという、前記問題を解消するトラフィック分散方法を提供し、トラフィック分散デバイスのパフォーマンスを向上させ、オペレータの配置コストを削減する。
第1の態様において、本発明は、トラフィック分散方法を提供し、前記方法は、第1のエンティティにより送信された現在のパケットを受信するステップと、前記現在のパケットに従って、第7層アプリケーション情報を取得するステップと、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーと照合するステップと、前記現在のパケットが、前記第7層トラフィック分散ポリシーと合致した後、前記現在のパケットをサービスサーバに送信するステップと、を含む。前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップは、第7層トラフィック分散のために使用される前記第7層アプリケーション情報を取得するために、前記現在のパケット上でディープ・パケット・インスペクション(DPI)処理を実行するステップを、特に含む。
前記第1の態様の第1の可能な実施方法において、前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップの後に、前記方法は、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを処理するステップと、前記現在のパケットを第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、をさらに含み、前記バッファリングされたパケットは、過去の(historical)パケットとなる。
前記第1の態様及び前記第1の態様の前記第1の可能な実施方法に関連し、第2の可能な実施方法において、前記現在のパケットが前記第7層トラフィック分散ポリシーに合致した後、前記方法は、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットをトラフィック分散デバイスに送信するか、又は前記処理された過去のパケットを廃棄することができるように、前記現在のパケットより前にバッファリングされた前記過去のパケットを前記第7層トラフィック分散ポリシーに相当するサービスサーバに送信するステップをさらに含む。
前記第1の態様又は前記第1の態様の前記第1の可能な実施方法に関連し、第3の可能な実施方法において、前記現在のパケットが、前記第7層トラフィック分散ポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップの後に、前記方法は、前記サービスサーバにより返送された前記処理された現在のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、をさらに含む。
前記第1の態様又は前記第1の態様の前記第1の可能な実施方法に関連し、第4の可能な実施方法において、前記現在のパケットが、前記第7層トラフィック分散ポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップの後に、前記方法は、前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、前記処理された過去のパケットを廃棄するステップと、をさらに含む。
第2の態様において、本発明は、トラフィック分散デバイスを提供し、前記装置は、第1のエンティティにより送信された現在のパケットを受信し、前記現在のパケットをプロセッサに送信するように構成されている受信器と、前記受信器から前記現在のパケットを受信し、前記現在のパケットに従って、第7層アプリケーション情報を取得し、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーと照合するように構成されている前記プロセッサと、前記現在のパケットが前記第7層トラフィック分散ポリシーに合致した後、前記現在のパケットをサービスサーバに送信するように構成されているトラフィック分配器と、を含む。前記プロセッサは、前記現在のパケットにディープ・パケット・インスペクション(DPI)処理を実行し、第7層トラフィック分散のために使用される前記第7層アプリケーション情報を取得するように構成されている。
前記第2の態様の第1の可能な実施方法において、前記デバイスは、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを第2のエンティティに送信し、前記現在のパケットをバッファリングするように構成されているバッファを含み、前記バッファリングされたパケットは、過去のパケットとなる。
前記第2の態様及び前記第2の態様の前記第1の可能な実施方法に関連し、第2の可能な実施方法において、前記トラフィック分配器は、さらに、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットを前記トラフィック分散デバイスに送信するか、又は前記処理された過去のパケットを廃棄できるように、前記現在のパケットより前にバッファリングされた過去のパケットを、前記第7層トラフィック分散ポリシーに対応するサービスサーバに送信するようにさらに構成されている。
前記第2の態様又は前記第2の態様の前記第1の可能な実施方法に関連し、第3の可能な実施方法において、前記受信器は、前記サービスサーバにより返送された前記処理された現在のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信するようにさらに構成されている。
前記第2の態様又は前記第2の態様の前記第1の可能な実施方法に関連し、第4の可能な実施方法において、前記受信器は、前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信し、前記処理された過去のパケットを廃棄するようにさらに構成されている。
第3の態様において、本発明は、トラフィック分散デバイスを提供し、前記装置は、ネットワークインターフェースと、プロセッサと、メモリと、前記メモリに物理的に格納されているアプリケーションプログラムと、を含み、前記アプリケーションプログラムは、前記プロセッサ及び前記デバイスに以下のプロシージャ:第1のエンティティにより送信された現在のパケットを受信するステップと、前記現在のパケットに従って、第7層アプリケーション情報を取得するステップと、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーと照合するステップと、前記現在のパケットが、前記第7層トラフィック分散ポリシーと合致した後、前記現在のパケットをサービスサーバに送信するステップと、を実行するように指示するために使用される命令を含む。前記アプリケーションプログラムに含まれ、前記プロセッサ及び前記システムに前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップのプロシージャを実行するように指示するために使用される、前記命令は、第7層トラフィック分散のために使用される前記第7層アプリケーション情報を取得するために、前記現在のパケット上でディープ・パケット・インスペクション(DPI)処理を実行するステップをさらに含む。
前記第3の態様の第1の可能な実施方法において、前記アプリケーションプログラムは、前記プロセッサ及び前記システムに、前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップのプロシージャが実行された後に、以下のプロシージャ:前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを処理するステップと、前記現在のパケットを第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、を実行するように指示するために使用される命令をさらに含み、前記バッファリングされたパケットは、過去のパケットとなる。
第3の態様及び前記第3の態様の第1の可能な実施方法に関連し、第2の可能な実施方法において、前記アプリケーションプログラムは、前記プロセッサ及び前記システムに、前記現在のパケットが前記第7層トラフィック分散ポリシーに合致した後に、以下のプロシージャ:過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットを前記トラフィック分散デバイスに送信するか、又は前記処理された過去のパケットを廃棄できるように、前記現在のパケットより前にバッファリングされた前記過去のパケットを前記第7層トラフィック分散ポリシーに相当するサービスサーバに送信するステップと、を実行するように指示するために使用される命令をさらに含む。
第3の態様又は前記第3の態様の第1の可能な実施方法に関連し、第3の可能な実施方法において、前記アプリケーションは、前記プロセッサ及び前記システムに、前記現在のパケットが、前記第7層トラフィック分散ポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップのプロシージャを実行したあとに、以下のプロシージャ:前記サービスサーバにより返送された前記処理された現在のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、を実行するように指示するために使用される命令をさらに含む。
第3の態様又は、前記第3の態様の第1の可能な実施方法に関連し、第4の可能な実施方法において、前記アプリケーションは、前記プロセッサ及び前記システムに、前記現在のパケットが、前記第7層トラフィック分散ポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップのプロシージャを実行した後に、以下のプロシージャ:前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、前記処理された過去のパケットを廃棄するステップと、を実行するように指示するために使用される命令をさらに含む。
第4の態様において、本発明は、トラフィック分散システムを提供し、前記システムは、前記第1の態様に記載されているトラフィック分散デバイスと、第1のエンティティと、第2のエンティティと、サービスサーバと、を含むか、又は、前記第2の態様に記載されている前記トラフィック分散デバイスと、第1のエンティティと、第2のエンティティと、サービスサーバと、を含む。
先に提供された前記トラフィック分散方法、デバイス、及びシステムに従って、第1のエンティティにより送信された現在のパケットが受信され、第7層トラフィック分散のために使用される第7層アプリケーション情報が取得され、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットは、バッファリングされ、前記バッファリングされたパケットは、過去のパケットとなり、前記第7層アプリケーション情報が取得されたならば、前記現在のパケットと、第7層トラフィック分散ポリシーのマッチングが前記第7層アプリケーション情報に従って実行され、前記現在のパケットが前記第7層トラフィック分散ポリシーに合致しなければ、前記現在のパケットは、サービスサーバに分配され、これにより、第7層情報に基づくトラフィック分散が実施され、トラフィック分散デバイスのパフォーマンスを向上させ、オペレータの配置コストを減少させる。
図1は、本発明の第1の実施形態に従うトラフィック分散方法のフローチャートである。
図2は、本発明の第2の実施形態に従うトラフィック分散方法の情報交換図である。
図3は、本発明の第3の実施形態に従うトラフィック分散デバイスの概略図である。
図4は、本発明の第4の実施形態に従うトラフィック分散デバイスの概略図である。
本発明の実施形態の目的、技術的ソリューション、及び利点をより理解できるようにするために、以下では、本発明の実施形態において、添付の図面を参照しながら、本発明の実施形態における技術的ソリューションを明確にかつ完全に説明する。明らかに、説明される実施形態は、すべての本発明の実施形態ではなく、単に一部である。創造的な取り組みなしに本発明の実施形態に基づいて当業者によって得られる他のすべての実施形態は、本発明の保護範囲に含まれるものとする。
本発明の実施形態におけるトラフィック分散方法、デバイス、及びシステムによると、第1のエンティティにより送信された現在のパケット(current packet)が受信され、ディープ・パケット・インスペクション(DPI)処理が前記現在のパケットに実行され、第7層トラフィック分散のために使用される第7層アプリケーション情報が取得される。前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットがバッファリングされ、前記バッファリングされたパケットは、過去のパケット(historical packet)となる。前記第7層アプリケーション情報が取得されたならば、前記現在のパケットと第7層トラフィック分散ポリシーのマッチングが、前記第7層アプリケーション情報に従って実行される。前記現在のパケットが前記第7層トラフィック分散ポリシーと合致するならば、前記現在のパケットの前にバッファリングされた過去のパケットが前記第7層トラフィック分散ポリシーに対応するサービスサーバにリプレイされ、前記現在のパケットも前記サービスサーバに分配され、前記過去のパケットは、トラフィック分散デバイスが前記現在のパケットを受信する前にバッファリングされた全てのパケット又はいくつかのパケットを含み、前記過去のパケットのリプレイは、前記現在のパケットより前に他の情報を前記サービスサーバに送信する目的を達成し、サービス接続性を確保し、これにより、第7層情報に基づいて、トラフィック分散を実施し、トラフィック分散デバイスのパフォーマンスを高め、オペレータの配置コストを減少させる。
加えて、本発明の前記実施形態のすべてに関係する用語の具体的な意味は以下のとおりである。
本発明における第7層アプリケーション情報は、ハイパーテキスト・トランスファー・プロトコル(HTTP:hypertext transport protocol)、ファイル・トランスファー・プロトコル(FTP:File Transfer Protocol)、シンプルメールトランスファープロトコル(SMTP:Simple Mail Transfer Protocol)、リアルタイム・ストリーミング・プロトコル(RTSP:Real Time Streaming Protocol)、及びポストオフィス・プロトコル・バージョン3(POP3:Post Office Protocol-Version 3)などのアプリケーションプロトコルに基づいて運ばれる(borne)コンテンツを指す。前記第7層アプリケーション情報は、第7層(layer 7)アプリケーション情報又は第7層(Layer 7)アプリケーション情報としても参照されうる。
本発明における第7層トラフィック分散ポリシーは、前記第7層アプリケーション情報に基づくトラフィック分散ポリシーを指し、例えば、前記第7層アプリケーション情報とサーバ間の対応(correspondence)である。
本発明におけるトラフィック分散は、与えられたポリシーに基づいて、異なる外部サーバにトラフィックを分配することを指す。
本発明におけるリプレイ(Replay)は、接続先サーバが受信したパケットをサードパーティのサービスサーバに送信することを指す。
本発明におけるサービスサーバは、種々のサービスを完了する(completing)デバイスを指し、ウェブページ(Web)アクセラレーション、ビデオ(Video)アクセラレーション、アンチウイルス、URLフィルタリング、アンチアタック、広告挿入、データ圧縮、及びウェブ適応を含むがこれらには限定されない。
図1は、本発明の第1の実施形態に従うトラフィック分散方法のフローチャートである。図に示されているように、本発明の実施形態は以下のステップを特に含む。
ステップ110:トラフィック分散デバイスは、第1のエンティティにより送信された現在のパケットを受信する。
具体的には、前記トラフィック分散デバイスは、ゲートウェイであってよく、またトラフィック分散をサポートする他のネットワークデバイスであってもよい。それがゲートウェイならば、前記ゲートウェイ(Gateway)デバイスは、第3世代(3G:3rd-generation)3Gネットワーク上の、ゲートウェイ・ジェネラル・パケット・ラジオ・サービス・サポート・ノード(GGSN:Gateway General Packet Radio Service Support Node)及びパケット・データ・サービング・ノード(PDSN:Packet Data Serving Node)などの種々のゲートウェイデバイスを含み、例えば、ブロードバンド・アクセス・サーバ(BRAS:Broadband Remote Access Server)などの固定ネットワーク上に適用された関連するゲートウェイデバイスを含んでもよい。前記ゲートウェイは、パケット・スイッチ・ゲートウェイ(PSGW:Packet Switch Gateway)であってもよく、前記PSGWは、ロング・ターム・エボリューション(LTE:Long Term Evolution)における、別々に配置されたP−GW及び別々に配置されたS−GWである。前記第1のエンティティは、前記トラフィック分散デバイスを通じて通信を実行するエンティティを指し、前記エンティティは、ユーザ、ユーザ装置、又はアプリケーションソフトウェアでありうる。
ステップ120:前記トラフィック分散デバイスは、前記現在のパケットに従って、第7層アプリケーション情報を取得し、前記第7層アプリケーション情報は、第7層トラフィック分散のために使用される。
具体的には、第7層トラフィック分散のために使用される第7層アプリケーション情報を取得するための多くの方法があり、例えば、前記現在のパケットにディープ・パケット・インスペクション(DPI:Deep Packet Inspection)処理を実行することである。前記DPI技術は、トラフィック検査の技術であり、アプリケーション層に基づいて制御する。ここでは、前記DPI処理技術の使用についてのみ説明する。しかし、前記第7層アプリケーション情報を取得するために方法は、この処理方法に限定されるものではなく、方法は、前記第7層アプリケーション情報が取得されうる限り使用されることができるが、ここでは詳述しない。
ステップ130:前記トラフィック分散デバイスが前記第7層アプリケーション情報を取得したならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーとマッチングさせる。前記トラフィック分散ポリシーは、前記トラフィック分散デバイスにおいて事前設定されている。
具体的には、前記トラフィック分散デバイスにより実行される、前記現在のパケットと第7層トラフィック分散ポリシーのマッチングの間、例えば、HTTPプロトコルに対し、あるURLがマッチングされる場合、前記フローは、サービスサーバAに分配され、前記コンテンツがテキストの場合、HTTPプロトコルに対し、前記フローは、サービスサーバBに分配され、要求されたファイルの形式がビデオの場合、FTPプロトコルに対し、前記フローは、サービスサーバCに分配される。
さらに、ステップ130は、前記トラフィック分散デバイスが前記第7層アプリケーション情報を取得しないならば、前記現在のパケットを第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、をさらに含み、前記バッファリングされたパケットは、過去のパケットとなる。前記第1のエンティティのように、前記第2のエンティティは、前記トラフィック分散デバイスを通じて通信を実行するエンティティを指し、前記エンティティは、ユーザ、ユーザ装置、又はアプリケーションソフトウェアでありうる。
さらに、ステップ130において、前記トラフィック分散デバイスが前記第7層アプリケーション情報を取得しないならば、前記現在のパケットをバッファリングし、前記バッファリングされたパケットは、過去のパケットとなる、前記ステップは、前記現在のパケットが受信される前に、所定の数の連続パケットにDPI処理が実行された後、前記第7層アプリケーション情報が取得されず、前記現在のパケットにDPI処理が実行された後にも、前記第7層アプリケーション情報が、取得されなかったならば、バッファリングされた前記所定の数の連続パケットをクリアするステップと、前記現在のパケットに属しているデータフローに実行されているトラフィック分散をキャンセルするステップと、をさらに含み、前記所定の数は、前記現在のパケットに属しているデータフローに実行されているDPI処理の継続を避けるために、ユーザによりセットされる。
さらに、ステップ130において、前記トラフィック分散デバイスが、前記第7層アプリケーション情報に従って、前記現在のパケットと第7層トラフィック分散ポリシーをマッチングした後に、前記方法は、前記現在のパケットが前記第7層トラフィック分散ポリシーに合致しない場合には、前記パケットを前記第2のエンティティに送信するステップと、全てのパケットをクリアするステップと、ここで、前記パケットは、前記トラフィック分散デバイスが前記現在のパケットを受信する前に、バッファリングされており、前記現在のパケットに属しているデータフローに実行されている前記トラフィック分散をキャンセルするステップと、をさらに含む
ステップ140:前記現在のパケットが前記第7層トラフィック分散ポリシーに合致した後、前記現在のパケットをサービスサーバに送信する。
ステップ140は、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記現在のパケットより前にバッファリングされた過去のパケットを前記第7層トラフィック分散ポリシーに対応する前記サービスサーバに送信するステップをさらに含む。前記現在のパケットの前にバッファリングされたすべての過去のパケットは、前記第7層トラフィック分散ポリシーに対応する前記サービスサーバに送信され得るか、又は前記現在のパケットより前にバッファリングされたいくつかの過去のパケットは、前記第7層トラフィック分散ポリシーに対応する前記サービスサーバに送信されうる。
加えて、ステップ140において、前記現在のパケットより前にバッファリングされた過去のパケットは、前記第7層トラフィック分散ポリシーに対応する前記サービスサーバにリプレイされることもでき、その後、前記現在のパケットは、前記第7層トラフィック分散ポリシーに対応する前記サービスサーバに分配される。
具体的には、前記サービスサーバは、前記トラフィック分散デバイスがトラフィックを分配する外部サービスサーバである。前記サービスサーバは、従来にはないいくつかのゲートウェイサービスの処理をサポートし得る。受信された前記現在のパケット及び受信された前記リプレイされたパケットに前記サービスサーバにより実行される処理は、以下の:1)前記サービスサーバの機能である、ウェブページ(Web)アクセラレーション、ビデオ(Video)アクセラレーション、アンチウイルス、URLフィルタリング、アンチアタック、広告挿入、データ圧縮、及びウェブ適応などのサービス処理を完了させる、2)前記リプレイされたパケットを受信し、前記リプレイされたパケットから、TCPのMSSやTCPオプションなどの情報を取得することを含み、前記ゲートウェイにより送信されたリプレイされるパケットを処理する、ことを含む。
さらに、ステップ140の後、前記トラフィック分散デバイスは、前記サービスサーバにより返送された前記処理された現在のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信することをさらに含む。
具体的には、このステップにおいて、リプレイされた過去のパケットを受信するために、前記サービスサーバは、それを前記トラフィック分散デバイスに返送しない処理方法を採用しているが、受信される前記現在のパケットのために、前記サービスサーバは、前記現在のパケットを処理し、前記処理された現在のパケットを前記トラフィック分散デバイスに返送する処理方法を採用している。
さらに、ステップ140の後、前記トラフィック分散デバイスは、前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信し、前記処理された過去のパケットを廃棄することをさらに含む。前記処理された現在のパケットは、前記サービスサーバが前記現在のパケットを処理した後に、前記サービスサーバにより返送されたパケットである。
具体的には、このステップにおいて、前記リプレイされた過去のパケットが受信されるために、前記サービスサーバは、前記トラフィック分散デバイスにそれを返送する処理方法を採用し、前記トラフィック分散デバイスは、前記返送された過去のパケットを受信した後に、前記過去のパケットを直接廃棄する。そして、前記現在のパケットが受信されるために、前記サービスサーバは、前記現在のパケットを処理し、前記処理された現在のパケットを前記トラフィック分散デバイスに返送し、前記トラフィック分散デバイスは、前記処理された現在のパケットを前記第2のエンティティに送信する。
図2は、本発明の第2の実施形態に従うトラフィック分散方法の情報交換図である。この実施形態は、第1のエンティティ、第2のエンティティ、ゲートウェイ、及びサービスサーバを含む。前記第1のエンティティ及び前記第2のエンティティは、通常、前記ゲートウェイを通じて通信する2つのエンティティを指し、すなわち、携帯電話、コンピュータ、ノートブック型コンピュータ、又はワイヤレス・アプリケーション・プロトコル(WAP:Wireless Application Protocol)サーバといった、通信における2つの組である。図に示されているように、本発明の実施形態は、以下のステップを特に含む。
ステップ210:前記第1のエンティティは、現在のパケットをトラフィック分散デバイスに送信する。前記現在のパケットは、前記ゲートウェイを通じて前記第1のエンティティから前記第2のエンティティに送信される必要のあるパケットである。
ステップ220:前記トラフィック分散デバイスは、前記現在のパケットにディープ・パケット・インスペクション(DPI)処理を実行する。前記DPI処理は、第7層トラフィック分散のために使用される第7層アプリケーション情報を取得しようとする。前記トラフィック分散デバイスが前記第7層アプリケーション情報を取得しないならば、ステップ230が実行される。前記トラフィック分散デバイスが前記第7層アプリケーション情報を取得したならば、ステップ240が実行される。
ステップ230:前記トラフィック分散デバイスが前記第7層アプリケーション情報を取得しないならば、前記トラフィック分散デバイスは、前記現在のパケットをバッファリングし、前記現在のパケットを処理し、前記処理された現在のパケットを前記第2のエンティティに送信し、すなわち、ステップ280が実行される。
具体的には、前記第7層アプリケーション情報が取得されなかったならば、前記トラフィック分散デバイスが所定の数の連続した現在のパケットをバッファリングした後、すなわち、前記トラフィック分散デバイスが、前記所定の数の連続した現在のパケットに、ディープ・パケット・インスペクション(DPI)処理を実行した後、バッファリングされた前記所定の数の連続した現在のパケットはクリアされ、前記現在のパケットが属するデータフローのトラフィック分散がキャンセルされる。前記所定の数は、前記現在のパケットに属しているデータフローに実行されているDPI処理の継続を避けるために、ユーザによりセットされる。
ステップ240:前記トラフィック分散デバイスは、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーとマッチングする。前記トラフィック分散デバイスが、前記現在のパケットを第7層トラフィック分散ポリシーとマッチできるならば、ステップ250が実行され、その後、ステップ260が実行される。前記トラフィック分散デバイスが、前記現在のパケットを第7層トラフィック分散ポリシーとマッチできないならば、ステップ280が実行され、その間に、前記トラフィック分散デバイスにより受信された、前記現在のパケットより前にバッファリングされた全てのパケットは、クリアされ、前記現在のパケットに属している前記データフローのトラフィック分散はキャンセルされる。
ステップ250:前記トラフィック分散デバイスは、過去のパケットを前記サービスサーバに送信する。
具体的には、前記トラフィック分散デバイスは、すべての過去のパケットを前記サービスサーバにリプレイし、又はいくつかの過去のパケットを前記サービスサーバにリプレイする。
ステップ260:前記トラフィック分散デバイスは、前記現在のパケットを前記サービスサーバに分配する。
ステップ270:前記サービスサーバは、前記受信されたパケットを処理し、前記処理されたパケットを、前記トラフィック分散デバイスに返送する。前記サービスサーバにより受信された前記パケットは、前記現在のパケット及び前記過去のパケットを含む。
具体的には、前記リプレイされた過去のパケットを受信するために、前記サービスサーバは、前記過去のパケットの処理を選択でき、その後前記処理された過去のパケットを前記トラフィック分散デバイスに返送でき、前記処理された過去のパケットを前記トラフィック分散デバイスに返送する代わりに、直接前記処理された過去のパケットを廃棄することを選択してもよい。前記サービスサーバが前記処理された過去のパケットを前記トラフィック分散デバイスに返送することを選択したならば、前記トラフィック分散デバイスは、前記処理された過去のパケットを受信した後、前記処理された過去のパケットを廃棄する。しかし、前記現在のパケットが受信されるために、前記サービスサーバは、前記現在のパケットを処理し、前記処理されたパケットを、前記トラフィック分散デバイスに返送し、その後、ステップ280が実行される。受信された前記現在のパケット及び受信された前記リプレイされたパケットに前記サービスサーバにより実行される処理は、以下の:1)前記サービスサーバの機能である、ウェブページ(Web)アクセラレーション、ビデオ(Video)アクセラレーション、アンチウイルス、URLフィルタリング、アンチアタック、広告挿入、データ圧縮、及びウェブ適応などのサービス処理を完了させる、2)前記リプレイされたパケットを受信し、前記リプレイされたパケットから、TCPのMSSやTCPオプションなどの情報を取得することを含み、前記ゲートウェイにより送信されたリプレイされるパケットを処理する、ことを含む。
他の実施形態において、ステップ270で、前記サービスサーバにより受信された前記パケットは、前記現在のパケットのみでなく、過去のパケットも含む。これは、前記トラフィック分散デバイスが前記現在のパケットを受信する前に過去のパケットをバッファリングしていないことを示している。
ステップ280:前記トラフィック分散デバイスは、前記処理された現在のパケットを前記第2のエンティティに送信する。
前記第1の実施形態及び本発明の第2の実施形態において提供されるトラフィック分散方法において、前記第1のエンティティは、前記第1のエンティティの現在のパケットを前記第2のエンティティに前記トラフィック分散デバイスを通じて送信し、前記第1のエンティティは、前記現在のパケットの終了(end)を開始し、前記第2のエンティティは、前記処理された現在のパケットの終了を受信する。
加えて、前記第2のエンティティが前記第2のエンティティの現在のパケットを前記第1のエンティティに送信する場合、前記第2のエンティティは、前記現在のパケットの終了を開始し、前記第1のエンティティは、前記処理された現在のパケットの終了を受信する。残りの処理は、先述のトラフィック分散方法の処理と同様であり、したがって、ここで、さらに詳細に説明しない。
したがって、本発明の実施形態において提供される前記トラフィック分散方法に従って、第1のエンティティにより送信された現在のパケットが受信され、前記現在のパケットにディープ・パケット・インスペクション(DPI)が実行され、第7層トラフィック分散のために使用される第7層アプリケーション情報が取得される。前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットはバッファリングされる。前記第7層アプリケーション情報が取得されたならば、前記現在のパケットは、前記第7層アプリケーション情報に従って、第7層トラフィック分散ポリシーとマッチされる。前記現在のパケットが前記第7層トラフィック分散ポリシーとマッチする場合、過去のパケットが、サービスサーバにリプレイされ、その後、前記現在のパケットが前記サービスサーバに分配され、前記過去のパケットは、トラフィック分散デバイスが前記現在のパケットを受信する前にバッファリングされた、全てのパケット又はいくつかのパケットを含み、これにより、第7層情報に基づいて、トラフィック分散を実施し、トラフィック分散デバイスのパフォーマンスを高め、オペレータの配置コストを減少させる。
図3は、本発明の第3の実施形態に従うトラフィック分散デバイスの概略図である。前記トラフィック分散デバイスは、前記第1の実施形態及び本発明の第2の実施形態において提供される前記トラフィック分散方法を実行するように構成されている。図に示されているように、本発明の実施形態は、分配器11と、プロセッサ12と、トラフィック分配器13と、を特に含む。
前記分配器11は、第1のエンティティにより送信された現在のパケットを受信し、前記現在のパケットを前記プロセッサ12に送信するように構成されており、前記プロセッサ12は、前記分配器11から前記現在のパケットを受信し、前記現在のパケットに従って、第7層アプリケーション情報を取得し、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーとマッチングし、マッチング結果を取得し、前記マッチング結果を前記トラフィック分配器13に送信するように構成されており、前記トラフィック分配器13は、前記プロセッサ12から前記マッチング結果を受信し、前記マッチング結果が、前記現在のパケットは前記第7層トラフィック分散ポリシーにマッチすることができることである場合、前記現在のパケットをサービスサーバに送信するように構成されている。前記プロセッサ12は、前記現在のパケットにディープ・パケット・インスペクション(DPI)処理を実行し、第7層トラフィック分散のために使用される前記第7層アプリケーション情報を取得するように構成されている。
さらに、本発明の実施形態において提供される、前記トラフィック分散デバイスは、バッファをさらに含む。
前記バッファは、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを処理し、前記現在のパケットを第2のエンティティに送信し、前記現在のパケットをバッファリングするように構成され、前記バッファリングされたパケットは、過去のパケットとなる。
実施形態において、前記トラフィック分配器13は、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記現在のパケットより前にバッファリングされた過去のパケットを、前記第7層トラフィック分散ポリシーに対応するサービスサーバに送信するようにさらに構成されている。前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットを前記トラフィック分散デバイスに送信するか、又は前記処理された過去のパケットを廃棄することができるように、前記現在のパケットより前にバッファリングされているすべての過去のパケットは、前記第7層トラフィック分散ポリシーに対応する前記サービスサーバに送信され得、又は前記現在のパケットの前にバッファリングされている、いくつかの過去のパケットは、前記第7層トラフィック分散ポリシーに対応する前記サービスサーバに送信されうる。
他の実施形態において、前記分配器11は、前記サービスサーバにより返送された前記処理された現在のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信するようにさらに構成されている。あるいは、前記受信器は、前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信し、前記処理された過去のパケットを廃棄するようにさらに構成されている。
さらに他の実施形態において、前記バッファは、前記現在のパケットが受信される前に、所定の数の連続パケットにDPI処理が実行された後、前記第7層アプリケーション情報が取得されず、前記現在のパケットにDPI処理が実行された後にも、前記第7層アプリケーション情報が、取得されなかったならば、バッファリングされている前記所定の数の連続パケットをクリアし、前記現在のパケットが属しているデータフローのトラフィック分散をキャンセルするようにさらに構成されている。
さらに、前記現在のパケットが、前記第7層アプリケーション情報に従って、第7層トラフィック分散ポリシーとマッチされた後、前記トラフィック分配器13は、前記現在のパケットが前記第7層トラフィック分散ポリシーに合致しない場合には、前記現在のパケットを処理し、その後それを前記第2のエンティティに送信し、全てのパケットをクリアし、ここで、前記パケットは、前記トラフィック分散デバイスが前記現在のパケットを受信する前に、バッファリングされており、前記現在のパケットが属している前記データフローのトラフィック分散をキャンセルするようにさらに構成されている。
本発明の実施形態における前記第1のエンティティは、携帯電話、コンピュータ、ノートブック型コンピュータ、又はWAPサーバを含み、前記第2のエンティティは、携帯電話、コンピュータ、ノートブック型コンピュータ、又はWAPサーバを含み、前記第1のエンティティ及び前記第2のエンティティは、前記トラフィック分散デバイスを通じて通信する2つのエンティティである。
したがって、発明実施形態において提供される前記トラフィック分散デバイスは、第1のエンティティにより送信された現在のパケットを受信し、ディープ・パケット・インスペクション(DPI)処理を前記現在のパケットに実行し、第7層トラフィック分散のために使用される第7層アプリケーション情報を取得する。前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットをバッファリングし、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーとマッチングし、前記現在のパケットが前記第7層トラフィック分散ポリシーとマッチするならば、過去のパケットをサービスサーバにリプレイし、その後、前記現在のパケットを前記サービスサーバに分配し、前記過去のパケットは、前記トラフィック分散デバイスが前記現在のパケットを受信する前にバッファリングされた全てのパケット又はいくつかのパケットを含み、これにより、第7層情報に基づいて、トラフィック分散を実施し、トラフィック分散デバイスのパフォーマンスを高め、オペレータの配置コストを減少させる。
図4は、本発明の第4の実施形態に従うトラフィック分散デバイスの概略図である。前記トラフィック分散デバイスは、前記第1の実施形態及び本発明の第2の実施形態において提供されるトラフィック分散方法を実行するように構成されている。図に示されているように、本発明の実施形態は、ネットワークインターフェース41と、プロセッサ42と、メモリ43と、を特に含む。デバイスバス44は、前記ネットワークインターフェース41、前記プロセッサ42、及び前記メモリ43を接続するように構成されている。
前記ネットワークインターフェース41は、第1のエンティティ、第2のエンティティ、及び複数の外部サービスサーバを接続するように構成されている。
前記メモリ43は、固定記憶装置、例えば、ハードディスクドライバ及びフラッシュメモリであってよく、前記メモリ43は、ソフトウェアモジュール及びデバイスドライバを有している。前記ソフトウェアモジュールは、本発明における先述の方法を実行可能な種々の機能モジュールであり、前記デバイスドライバは、ネットワークドライバ及びインターフェースドライバであってよい。
アプリケーションプログラムは、前記メモリ43に物理的に格納されており、前記アプリケーションプログラムは、前記プロセッサ42及び前記デバイスに以下のプロシージャ:
第1のエンティティにより送信された現在のパケットを受信するステップと、
前記現在のパケットに従って、第7層アプリケーション情報を取得するステップであって、ディープ・パケット・インスペクション(DPI)処理は、前記現在のパケットに実行され、第7層トラフィック分散のために使用される前記第7層アプリケーション情報を取得する、ステップと、
前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーと照合するステップと、
前記現在のパケットが、前記第7層トラフィック分散ポリシーと合致した後、前記現在のパケットをサービスサーバに送信するステップと、
を実行するように指示するために使用されうる命令を含む。
さらに、前記プロセッサが前記メモリ43のソフトウェア構成要素にアクセスした後、前記アプリケーションプログラムは、前記プロセッサ及び前記システムに、前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップのプロシージャが実行された後に、次の:前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを処理するステップと、前記現在のパケットを前記第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、前記バッファリングされたパケットは、過去のパケットとなる、プロシージャを実行するように指示するために使用されうる命令をさらに含む。
実施形態において、前記アプリケーションプログラムは、前記プロセッサ及び前記システムに、前記以下のプロシージャ:前記現在のパケットが前記第7層トラフィック分散ポリシーに合致した後、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記現在のパケットより前にバッファリングされた前記過去のパケットを前記第7層トラフィック分散ポリシーに相当するサービスサーバに送信するステップ、を実行するように指示するために使用されうる命令をさらに含む。前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットを前記トラフィック分散デバイスに送信するか、又は前記処理された過去のパケットを廃棄することができるように、前記現在のパケットより前にバッファリングされたすべての過去のパケットは、前記第7層トラフィック分散ポリシーに対応する前記サービスサーバに送信されうるか、又は前記現在のパケットより前にバッファリングされたいくつかの過去のパケットは、前記第7層トラフィック分散ポリシーに対応する前記サービスサーバに送信されうる。
他の実施形態において、前記アプリケーションは、前記プロセッサ及び前記システムに、前記現在のパケットが、前記第7層トラフィック分散ポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップのプロシージャが実行された後に、次の:前記サービスサーバにより返送された前記処理された現在のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップ、のプロシージャ、又は前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、前記処理された過去のパケットを廃棄するステップ、のプロシージャを実行するように指示するために使用されうる命令をさらに含む。
さらに他の実施形態において、前記プロセッサ及び前記システムに、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを前記第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、前記バッファリングされたパケットは、過去のパケットとなるプロシージャを実行するように指示するために使用されうる、前記アプリケーションプログラム内の前記命令は、前記現在のパケットが受信される前に、所定の数の連続パケットにDPI処理が実行された後、前記第7層アプリケーション情報が取得されず、前記現在のパケットにDPI処理が実行された後にも、前記第7層アプリケーション情報が、取得されなかったならば、バッファリングされた前記所定の数の連続パケットをクリアするステップと、前記現在のパケットに属しているデータフローのトラフィック分散をキャンセルするステップと、をさらに含む。
さらに、前記アプリケーションは、前記プロセッサ及び前記システムに、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーと照合する前記ステップのプロシージャが実行された後に、以下の:前記現在のパケットが前記第7層トラフィック分散ポリシーに合致しない場合には、前記現在のパケットを処理するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、全てのパケットをクリアするステップと、前記パケットは、前記トラフィック分散デバイスが前記現在のパケットを受信する前に、バッファリングされており、前記現在のパケットが属するデータフローのトラフィック分散をキャンセルするステップ、のプロシージャを実行するように指示するために使用されうる命令をさらに含む。
本発明の実施形態における前記第1のエンティティは、携帯電話、コンピュータ、ノートブック型コンピュータ、又はWAPサーバを含み、前記第2のエンティティは、携帯電話、コンピュータ、ノートブック型コンピュータ、又はWAPサーバを含み、前記第1のエンティティ及び前記第2のエンティティは、前記トラフィック分散デバイスを通じて通信する2つのエンティティである。
したがって、本発明実施形態において提供されるトラフィック分散デバイスは、第1のエンティティにより送信された現在のパケットを受信し、ディープ・パケット・インスペクション(DPI)処理を前記現在のパケットに実行し、第7層トラフィック分散のために使用される第7層アプリケーション情報を取得する。前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットをバッファリングし、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィック分散ポリシーとマッチングする。前記現在のパケットが前記第7層トラフィック分散ポリシーとマッチする場合、過去のパケットをサービスサーバにリプレイし、その後、前記現在のパケットを前記サービスサーバに分配し、前記過去のパケットは、前記トラフィック分散デバイスが前記現在のパケットを受信する前にバッファリングされた全てのパケット又はいくつかのパケットを含み、これにより、第7層情報に基づいて、トラフィック分散を実施し、トラフィック分散デバイスのパフォーマンスを高め、オペレータの配置コストを減少させる。
本発明の実施形態は、トラフィック分散システムをさらに提供する。前記システムは、本発明の第3又は第4の実施形態において提供されたトラフィック分散デバイス、第1のエンティティ、第2のエンティティ、及びサービスサーバを含む。少なくとも1つのサービスサーバがあり、複数のサービスサーバがあってもよく、例えば、HTTPプロトコルに対し、あるURLがマッチされた場合、前記トラフィック分散デバイスは、前記第1のエンティティにより送信されたパケット、すなわち、前記フローをサービスサーバAに分配する、HTTPプロトコルに対し、その内容物がテキストの場合、前記トラフィック分散デバイスは、前記第1のエンティティにより送信されたパケット、すなわち、前記フローをサービスサーバBに分配する、FTPプロトコルに対し、要求ファイルの形式がビデオの場合、前記トラフィック分散デバイスは、前記第1のエンティティにより送信されたパケット、すなわち、前記フローをサービスサーバCに分配する。
この明細書において開示された実施形態において説明された例の組み合わせにおいて、ユニットおよびアルゴリズムステップは、電子的ハードウェア、コンピュータソフトウェア、又はそれらの組み合わせにより実施されうることを当業者はさらに認識すべきである。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、前述したものは、機能に応じて各実施例の構成及びステップを一般に説明している。機能が、ハードウェア又はソフトウェアによって実行されるかどうかは、特定のアプリケーション及び技術的ソリューションの設計拘束条件による。当業者は、特定のアプリケーションに対し説明した機能を実施するための異なる方法を使用し得るが、その実施が本発明の範囲を超えるものと考えるべきではない。
明細書中に開示された実施形態と組み合わせて説明された方法のステップ又はアルゴリズムは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、又はそれらの組み合わせを用いて実現することができる。前記ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、メモリ、読み出し専用メモリ(ROM)、レジスタ、ハードディスク、リムーバブル磁気ディスク、CD−ROM、又は技術分野において既知の任意の他の形式の記録媒体内に配置することができる。
上述した特定の実施形態において、本発明の目的、技術的ソリューション、及び有益な効果は、さらに詳細に説明される。前述の説明は単に本発明の特定の実施形態であり、本発明の保護範囲を限定するものではないことを理解すべきである。すべての変更、均等物、改良、又は本発明の精神及び原則内でなされるものは、本発明の保護範囲に入る。
11 分配器
12 プロセッサ
13 トラフィック分配器
41 ネットワークインターフェース
42 プロセッサ
43 メモリ
44 デバイスバス
本発明は、通信分野に関連し、特にトラフィックステアリング方法、デバイス、及びシステムに関する。
通信技術の発展に伴い、多くのゲートウェイデバイスがモバイルインターネット上に存在する。ネットワークが変化を続け、ユーザサービスの要件が増加したため、ネットワーク上のゲートウェイは、プロトコル変換などの従来のゲートウェイ機能を完了する必要があるだけでなく、ユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator)に基づくクラシフィケーション及びフィルタリング、リポート、ウェブサイト(Web)最適化、キャッシュメモリ(Cache)アクセラレーション、及び他のサービスなどの従来にはないいくつかのゲートウェイサービス上の処理をサポートする必要がある。これらのサービスのいくつかは、ゲートウェイの外部サービスサーバにより完了されている。さまざまな従来にないゲートウェイサービスの処理が、前記外部サービスサーバにより完了される必要がある場合、ネットワーク上の前記ゲートウェイは、トラフィックステアリング機能をサポートし、前記外部サービスサーバにトラフィックをステアリングすることが可能である必要がある。
一般に、前記ゲートウェイにより適用されるトラフィックステアリング方法は、次のようである:受信したトラフィックは、ルーティング又はポリシーベースのルーティングに基づきマッチングされ、マッチングが成功すると、前記トラフィックは、その後前記外部サービスサーバにステアリングされ、前記サービスサーバは、サービス処理を完了する。
しかし、上述のトラフィックステアリング方法は、ポートベースのトラフィックステアリングのみをサポートし、この方法は、フォールス検出及び欠落検出が不正確であり、したがって、アプリケーションベースのトラフィックステアリングを満たすことができない。加えて、このトラフィックステアリング方法では、外部サービスサーバにステアリングするための処理される必要のない大量のトラフィックが発生することがある。その結果、前記外部サービスサーバは、処理する必要のないプロセスを転送して前記トラフィックを処理する必要があり、これにより、全体的なシステムリソースの浪費をもたらし、オペレータのデバイスへの投資が増加する。
本発明は、トラフィックステアリング方法、デバイス、及びシステムを提供し、従来技術のトラフィックステアリング方法がポートベースのトラフィックステアリングのみをサポートし、前記方法は、偽陽性と偽陰性に不正確であるという、前記問題を解消し、トラフィックステアリングデバイスのパフォーマンスを向上させ、オペレータの配置コストを削減する。
第1の態様において、本発明は、トラフィックステアリング方法を提供し、前記方法は、第1のエンティティにより送信された現在のパケットを受信するステップと、前記現在のパケットに従って、第7層アプリケーション情報を取得するステップと、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーと照合するステップと、前記現在のパケットが、前記第7層トラフィックステアリングポリシーと合致した後、前記現在のパケットをサービスサーバに送信するステップと、を含む。前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップは、第7層トラフィックステアリングのために使用される前記第7層アプリケーション情報を取得するために、前記現在のパケット上でディープ・パケット・インスペクション(DPI)処理を実行するステップを、特に含む。
前記第1の態様の第1の可能な実施方法において、前記方法は、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを処理するステップと、前記現在のパケットを第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、をさらに含み、前記バッファリングされたパケットは、過去の(historical)パケットとなる。
前記第1の態様及び前記第1の態様の前記第1の可能な実施方法に関連し、第2の可能な実施方法において、前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致した後、前記方法は、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットをトラフィックステアリングデバイスに送信するか、又は前記処理された過去のパケットを廃棄することができるように、前記現在のパケットより前にバッファリングされた前記過去のパケットを前記第7層トラフィックステアリングポリシーに相当するサービスサーバに送信するステップをさらに含む。
前記第1の態様又は前記第1の態様の前記第1の可能な実施方法に関連し、第3の可能な実施方法において、前記現在のパケットが、前記第7層トラフィックステアリングポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップの後に、前記方法は、前記サービスサーバにより返送された前記処理された現在のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、をさらに含む。
前記第1の態様又は前記第1の態様の前記第1の可能な実施方法に関連し、第4の可能な実施方法において、前記現在のパケットが、前記第7層トラフィックステアリングポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップの後に、前記方法は、前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、前記処理された過去のパケットを廃棄するステップと、をさらに含む。
第2の態様において、本発明は、トラフィックステアリングデバイスを提供し、前記デバイスは、第1のエンティティにより送信された現在のパケットを受信し、前記現在のパケットをプロセッサに送信するように構成されている受信器と、前記受信器から前記現在のパケットを受信し、前記現在のパケットに従って、第7層アプリケーション情報を取得し、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーと照合するように構成されている前記プロセッサと、前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致した後、前記現在のパケットをサービスサーバに送信するように構成されているトラフィックステアラ(steerer)と、を含む。前記プロセッサは、前記現在のパケットにディープ・パケット・インスペクション(DPI)処理を実行し、第7層トラフィックステアリングのために使用される前記第7層アプリケーション情報を取得するように構成されている。
前記第2の態様の第1の可能な実施方法において、前記デバイスは、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを第2のエンティティに送信し、前記現在のパケットをバッファリングするように構成されているバッファを含み、前記バッファリングされたパケットは、過去のパケットとなる。
前記第2の態様及び前記第2の態様の前記第1の可能な実施方法に関連し、第2の可能な実施方法において、前記トラフィックステアラは、さらに、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットを前記トラフィックステアリングデバイスに送信するか、又は前記処理された過去のパケットを廃棄できるように、前記現在のパケットより前にバッファリングされた過去のパケットを、前記第7層トラフィックステアリングポリシーに対応するサービスサーバに送信するようにさらに構成されている。
前記第2の態様又は前記第2の態様の前記第1の可能な実施方法に関連し、第3の可能な実施方法において、前記受信器は、前記サービスサーバにより返送された前記処理された現在のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信するようにさらに構成されている。
前記第2の態様又は前記第2の態様の前記第1の可能な実施方法に関連し、第4の可能な実施方法において、前記受信器は、前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信し、前記処理された過去のパケットを廃棄するようにさらに構成されている。
第3の態様において、本発明は、トラフィックステアリングデバイスを提供し、前記デバイスは、ネットワークインターフェースと、プロセッサと、メモリと、前記メモリに物理的に格納されているアプリケーションプログラムと、を含み、前記アプリケーションプログラムは、前記プロセッサ及び前記デバイスに以下のプロシージャ:第1のエンティティにより送信された現在のパケットを受信するステップと、前記現在のパケットに従って、第7層アプリケーション情報を取得するステップと、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーと照合するステップと、前記現在のパケットが、前記第7層トラフィックステアリングポリシーと合致した後、前記現在のパケットをサービスサーバに送信するステップと、を実行するように指示するために使用される命令を含む。前記アプリケーションプログラムに含まれ、前記プロセッサ及び前記デバイスに前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップのプロシージャを実行するように指示するために使用される、前記命令は、第7層トラフィックステアリングのために使用される前記第7層アプリケーション情報を取得するために、前記現在のパケット上でディープ・パケット・インスペクション(DPI)処理を実行するステップをさらに含む。
前記第3の態様の第1の可能な実施方法において、前記アプリケーションプログラムは、前記プロセッサ及び前記デバイスに、前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップのプロシージャが実行された後に、以下のプロシージャ:前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを処理するステップと、前記現在のパケットを第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、を実行するように指示するために使用される命令をさらに含み、前記バッファリングされたパケットは、過去のパケットとなる。
第3の態様及び前記第3の態様の第1の可能な実施方法に関連し、第2の可能な実施方法において、前記アプリケーションプログラムは、前記プロセッサ及び前記デバイスに、前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致した後に、以下のプロシージャ:過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットを前記トラフィックステアリングデバイスに送信するか、又は前記処理された過去のパケットを廃棄できるように、前記現在のパケットより前にバッファリングされた前記過去のパケットを前記第7層トラフィックステアリングポリシーに相当するサービスサーバに送信するステップと、を実行するように指示するために使用される命令をさらに含む。
第3の態様又は前記第3の態様の第1の可能な実施方法に関連し、第3の可能な実施方法において、前記アプリケーションは、前記プロセッサ及び前記デバイスに、前記現在のパケットが、前記第7層トラフィックステアリングポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップのプロシージャを実行したあとに、以下のプロシージャ:前記サービスサーバにより返送された前記処理された現在のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、を実行するように指示するために使用される命令をさらに含む。
第3の態様又は、前記第3の態様の第1の可能な実施方法に関連し、第4の可能な実施方法において、前記アプリケーションは、前記プロセッサ及び前記デバイスに、前記現在のパケットが、前記第7層トラフィックステアリングポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップのプロシージャを実行した後に、以下のプロシージャ:前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、前記処理された過去のパケットを廃棄するステップと、を実行するように指示するために使用される命令をさらに含む。
第4の態様において、本発明は、トラフィックステアリングシステムを提供し、前記システムは、前記第2の態様に記載されているトラフィックステアリングデバイスと、第1のエンティティと、第2のエンティティと、サービスサーバと、を含むか、又は、前記第3の態様に記載されている前記トラフィックステアリングデバイスと、第1のエンティティと、第2のエンティティと、サービスサーバと、を含む。
先に提供された前記トラフィックステアリング方法、デバイス、及びシステムに従って、第1のエンティティにより送信された現在のパケットが受信され、第7層トラフィックステアリングのために使用される第7層アプリケーション情報が取得され、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットは、バッファリングされ、前記バッファリングされたパケットは、過去のパケットとなり、前記第7層アプリケーション情報が取得されたならば、前記現在のパケットと、第7層トラフィックステアリングポリシーのマッチングが前記第7層アプリケーション情報に従って実行され、前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致しなければ、前記現在のパケットは、サービスサーバにステアリングされ、これにより、第7層情報に基づくトラフィックステアリングが実施され、トラフィックステアリングデバイスのパフォーマンスを向上させ、オペレータの配置コストを減少させる。
図1は、本発明の第1の実施形態に従うトラフィックステアリング方法のフローチャートである。
図2は、本発明の第2の実施形態に従うトラフィックステアリング方法の情報交換図である。
図3は、本発明の第3の実施形態に従うトラフィックステアリングデバイスの概略図である。
図4は、本発明の第4の実施形態に従うトラフィックステアリングデバイスの概略図である。
本発明の実施形態の目的、技術的ソリューション、及び利点をより理解できるようにするために、以下では、本発明の実施形態において、添付の図面を参照しながら、本発明の実施形態における技術的ソリューションを明確に説明する。明らかに、説明される実施形態は、すべての本発明の実施形態ではなく、単に一部である。創造的な取り組みなしに本発明の実施形態に基づいて当業者によって得られる他のすべての実施形態は、本発明の保護範囲に含まれるものとする。
本発明の実施形態におけるトラフィックステアリング方法、デバイス、及びシステムによると、第1のエンティティにより送信された現在のパケット(current packet)が受信され、ディープ・パケット・インスペクション(DPI)処理が前記現在のパケットに実行され、第7層トラフィックステアリングのために使用される第7層アプリケーション情報が取得される。前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットがバッファリングされ、前記バッファリングされたパケットは、過去のパケット(historical packet)となる。前記第7層アプリケーション情報が取得されたならば、前記現在のパケットと第7層トラフィックステアリングポリシーのマッチングが、前記第7層アプリケーション情報に従って実行される。前記現在のパケットが前記第7層トラフィックステアリングポリシーと合致するならば、前記現在のパケットの前にバッファリングされた過去のパケットが前記第7層トラフィックステアリングポリシーに対応するサービスサーバにリプレイされ、前記現在のパケットも前記サービスサーバにステアリングされ、前記過去のパケットは、トラフィックステアリングデバイスが前記現在のパケットを受信する前にバッファリングされた全てのパケット又はいくつかのパケットを含み、前記過去のパケットのリプレイは、前記現在のパケットより前に他の情報を前記サービスサーバに送信する目的を達成し、サービス接続性を確保し、これにより、第7層情報に基づいて、トラフィックステアリングを実施し、トラフィックステアリングデバイスのパフォーマンスを高め、オペレータの配置コストを減少させる。
加えて、本発明の前記実施形態のすべてに関係する用語の具体的な意味は以下のとおりである。
本発明における第7層アプリケーション情報は、ハイパーテキスト・トランスファー・プロトコル(HTTP:hypertext transport protocol)、ファイル・トランスファー・プロトコル(FTP:File Transfer Protocol)、シンプルメールトランスファープロトコル(SMTP:Simple Mail Transfer Protocol)、リアルタイム・ストリーミング・プロトコル(RTSP:Real Time Streaming Protocol)、及びポストオフィス・プロトコル・バージョン3(POP3:Post Office Protocol-Version 3)などのアプリケーションプロトコルに基づいて運ばれる(borne)コンテンツを指す。前記第7層アプリケーション情報は、第7層(layer 7)アプリケーション情報又は第7層(Layer 7)アプリケーション情報としても参照されうる。
本発明における第7層トラフィックステアリングポリシーは、前記第7層アプリケーション情報に基づくトラフィックステアリングポリシーを指し、例えば、前記第7層アプリケーション情報とサーバ間の対応(correspondence)である。
本発明におけるトラフィックステアリングは、与えられたポリシーに基づいて、異なる外部サーバにトラフィックをステアリングすることを指す。
本発明におけるリプレイ(Replay)は、接続先サーバが受信したパケットをサードパーティのサービスサーバに送信することを指す。
本発明におけるサービスサーバは、種々のサービスを完了する(completing)デバイスを指し、ウェブページ(Web)アクセラレーション、ビデオ(Video)アクセラレーション、アンチウイルス、URLフィルタリング、アンチアタック、広告挿入、データ圧縮、及びウェブ適応を含むがこれらには限定されない。
図1は、本発明の第1の実施形態に従うトラフィックステアリング方法のフローチャートである。図に示されているように、本発明の実施形態は以下のステップを特に含む。
ステップ110:トラフィックステアリングデバイスは、第1のエンティティにより送信された現在のパケットを受信する。
具体的には、前記トラフィックステアリングデバイスは、ゲートウェイであってよく、またトラフィックステアリングをサポートする他のネットワークデバイスであってもよい。それがゲートウェイならば、前記ゲートウェイ(Gateway)デバイスは、第3世代(3G:3rd-generation)3Gネットワーク上の、ゲートウェイ・ジェネラル・パケット・ラジオ・サービス・サポート・ノード(GGSN:Gateway General Packet Radio Service Support Node)及びパケット・データ・サービング・ノード(PDSN:Packet Data Serving Node)などの種々のゲートウェイデバイスを含み、例えば、ブロードバンド・アクセス・サーバ(BRAS:Broadband Remote Access Server)などの固定ネットワーク上に適用された関連するゲートウェイデバイスを含んでもよい。前記ゲートウェイは、パケット・スイッチ・ゲートウェイ(PSGW:Packet Switch Gateway)であってもよく、前記PSGWは、ロング・ターム・エボリューション(LTE:Long Term Evolution)における、P−GW及びS−GWである。前記第1のエンティティは、前記トラフィックステアリングデバイスを通じて通信を実行するエンティティを指し、前記エンティティは、ユーザ、ユーザ装置、又はアプリケーションソフトウェアでありうる。
ステップ120:前記トラフィックステアリングデバイスは、前記現在のパケットに従って、第7層アプリケーション情報を取得し、前記第7層アプリケーション情報は、第7層トラフィックステアリングのために使用される。
具体的には、第7層トラフィックステアリングのために使用される第7層アプリケーション情報を取得するための多くの方法があり、例えば、前記現在のパケットにディープ・パケット・インスペクション(DPI:Deep Packet Inspection)処理を実行することである。前記DPI技術は、トラフィック検査の技術であり、アプリケーション層に基づいて制御する。ここでは、前記DPI処理技術の使用についてのみ説明する。しかし、前記第7層アプリケーション情報を取得するために方法は、この処理方法に限定されるものではなく、方法は、前記第7層アプリケーション情報が取得されうる限り使用されることができるが、ここでは詳述しない。
ステップ130:前記トラフィックステアリングデバイスが前記第7層アプリケーション情報を取得したならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーとマッチングさせる。前記トラフィックステアリングポリシーは、前記トラフィックステアリングデバイスにおいて事前設定されている。
具体的には、前記トラフィックステアリングデバイスにより実行される、前記現在のパケットと第7層トラフィックステアリングポリシーのマッチングの間、例えば、HTTPプロトコルに対し、あるURLがマッチングされる場合、前記フローは、サービスサーバAにステアリングされ、前記コンテンツがテキストの場合、HTTPプロトコルに対し、前記フローは、サービスサーバBにステアリングされ、要求されたファイルの形式がビデオの場合、FTPプロトコルに対し、前記フローは、サービスサーバCにステアリングされる。
さらに、ステップ130は、前記トラフィックステアリングデバイスが前記第7層アプリケーション情報を取得しないならば、前記現在のパケットを第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、をさらに含み、前記バッファリングされたパケットは、過去のパケットとなる。前記第1のエンティティのように、前記第2のエンティティは、前記トラフィックステアリングデバイスを通じて通信を実行するエンティティを指し、前記エンティティは、ユーザ、ユーザ装置、又はアプリケーションソフトウェアでありうる。
さらに、ステップ130において、前記トラフィックステアリングデバイスが前記第7層アプリケーション情報を取得しないならば、前記現在のパケットをバッファリングし、前記バッファリングされたパケットは、過去のパケットとなる、前記ステップは、前記現在のパケットが受信される前に、所定の数の連続パケットにDPI処理が実行された後、前記第7層アプリケーション情報が取得されず、前記現在のパケットにDPI処理が実行された後にも、前記第7層アプリケーション情報が、取得されなかったならば、バッファリングされた前記所定の数の連続パケットをクリアするステップと、前記現在のパケットに属しているデータフローに実行されているトラフィックステアリングをキャンセルするステップと、をさらに含み、前記所定の数は、前記現在のパケットに属しているデータフローに実行されているDPI処理の継続を避けるために、ユーザによりセットされる。
さらに、ステップ130において、前記トラフィックステアリングデバイスが、前記第7層アプリケーション情報に従って、前記現在のパケットと第7層トラフィックステアリングポリシーをマッチングした後に、前記方法は、前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致しない場合には、前記パケットを前記第2のエンティティに送信するステップと、全てのパケットをクリアするステップと、ここで、前記パケットは、前記トラフィックステアリングデバイスが前記現在のパケットを受信する前に、バッファリングされており、前記現在のパケットに属しているデータフローに実行されている前記トラフィックステアリングをキャンセルするステップと、をさらに含む
ステップ140:前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致した後、前記現在のパケットをサービスサーバに送信する。
ステップ140は、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記現在のパケットより前にバッファリングされた過去のパケットを前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバに送信するステップをさらに含む。前記現在のパケットの前にバッファリングされたすべての過去のパケットは、前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバに送信され得るか、又は前記現在のパケットより前にバッファリングされたいくつかの過去のパケットは、前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバに送信されうる。
加えて、ステップ140において、前記現在のパケットより前にバッファリングされた過去のパケットは、前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバにリプレイされることもでき、その後、前記現在のパケットは、前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバにステアリングされる。
具体的には、前記サービスサーバは、前記トラフィックステアリングデバイスがトラフィックをステアリングする外部サービスサーバである。前記サービスサーバは、従来にはないいくつかのゲートウェイサービスの処理をサポートし得る。受信された前記現在のパケット及び受信された前記リプレイされたパケットに前記サービスサーバにより実行される処理は、以下の:1)前記サービスサーバの機能である、ウェブページ(Web)アクセラレーション、ビデオ(Video)アクセラレーション、アンチウイルス、URLフィルタリング、アンチアタック、広告挿入、データ圧縮、及びウェブ適応などのサービス処理を完了させる、2)前記リプレイされたパケットを受信し、前記リプレイされたパケットから、TCPのMSSやTCPオプションなどの情報を取得することを含み、前記ゲートウェイにより送信されたリプレイされるパケットを処理する、ことを含む。
さらに、ステップ140の後、前記トラフィックステアリングデバイスは、前記サービスサーバにより返送された前記処理された現在のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信することをさらに含む。
具体的には、このステップにおいて、リプレイされた過去のパケットを受信するために、前記サービスサーバは、それを前記トラフィックステアリングデバイスに返送しない処理方法を採用しているが、受信される前記現在のパケットのために、前記サービスサーバは、前記現在のパケットを処理し、前記処理された現在のパケットを前記トラフィックステアリングデバイスに返送する処理方法を採用している。
さらに、ステップ140の後、前記トラフィックステアリングデバイスは、前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信し、前記処理された過去のパケットを廃棄することをさらに含む。前記処理された現在のパケットは、前記サービスサーバが前記現在のパケットを処理した後に、前記サービスサーバにより返送されたパケットである。
具体的には、このステップにおいて、前記リプレイされた過去のパケットが受信されるために、前記サービスサーバは、前記トラフィックステアリングデバイスにそれを返送する処理方法を採用し、前記トラフィックステアリングデバイスは、前記返送された過去のパケットを受信した後に、前記過去のパケットを直接廃棄する。そして、前記現在のパケットが受信されるために、前記サービスサーバは、前記現在のパケットを処理し、前記処理された現在のパケットを前記トラフィックステアリングデバイスに返送し、前記トラフィックステアリングデバイスは、前記処理された現在のパケットを前記第2のエンティティに送信する。
図2は、本発明の第2の実施形態に従うトラフィックステアリング方法の情報交換図である。この実施形態は、第1のエンティティ、第2のエンティティ、ゲートウェイ、及びサービスサーバを含む。前記第1のエンティティ及び前記第2のエンティティは、通常、前記ゲートウェイを通じて通信する2つのエンティティを指し、すなわち、携帯電話、コンピュータ、ノートブック型コンピュータ、又はワイヤレス・アプリケーション・プロトコル(WAP:Wireless Application Protocol)サーバといった、通信における2つの組である。図に示されているように、本発明の実施形態は、以下のステップを特に含む。
ステップ210:前記第1のエンティティは、現在のパケットをトラフィックステアリングデバイスに送信する。前記現在のパケットは、前記ゲートウェイを通じて前記第1のエンティティから前記第2のエンティティに送信される必要のあるパケットである。
ステップ220:前記トラフィックステアリングデバイスは、前記現在のパケットにディープ・パケット・インスペクション(DPI)処理を実行する。前記DPI処理は、第7層トラフィックステアリングのために使用される第7層アプリケーション情報を取得しようとする。前記トラフィックステアリングデバイスが前記第7層アプリケーション情報を取得しないならば、ステップ230が実行される。前記トラフィックステアリングデバイスが前記第7層アプリケーション情報を取得したならば、ステップ240が実行される。
ステップ230:前記トラフィックステアリングデバイスが前記第7層アプリケーション情報を取得しないならば、前記トラフィックステアリングデバイスは、前記現在のパケットをバッファリングし、前記現在のパケットを処理し、前記処理された現在のパケットを前記第2のエンティティに送信し、すなわち、ステップ280が実行される。
具体的には、前記第7層アプリケーション情報が取得されなかったならば、前記トラフィックステアリングデバイスが所定の数の連続した現在のパケットをバッファリングした後、すなわち、前記トラフィックステアリングデバイスが、前記所定の数の連続した現在のパケットに、ディープ・パケット・インスペクション(DPI)処理を実行した後、バッファリングされた前記所定の数の連続した現在のパケットはクリアされ、前記現在のパケットが属するデータフローのトラフィックステアリングがキャンセルされる。前記所定の数は、前記現在のパケットに属しているデータフローに実行されているDPI処理の継続を避けるために、ユーザによりセットされる。
ステップ240:前記トラフィックステアリングデバイスは、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーとマッチングする。前記トラフィックステアリングデバイスが、前記現在のパケットを第7層トラフィックステアリングポリシーとマッチできるならば、ステップ250が実行され、その後、ステップ260が実行される。前記トラフィックステアリングデバイスが、前記現在のパケットを第7層トラフィックステアリングポリシーとマッチできないならば、ステップ280が実行され、その間に、前記トラフィックステアリングデバイスにより受信された、前記現在のパケットより前にバッファリングされた全てのパケットは、クリアされ、前記現在のパケットに属している前記データフローのトラフィックステアリングはキャンセルされる。
ステップ250:前記トラフィックステアリングデバイスは、過去のパケットを前記サービスサーバに送信する。
具体的には、前記トラフィックステアリングデバイスは、すべての過去のパケットを前記サービスサーバにリプレイし、又はいくつかの過去のパケットを前記サービスサーバにリプレイする。
ステップ260:前記トラフィックステアリングデバイスは、前記現在のパケットを前記サービスサーバにステアリングする。
ステップ270:前記サービスサーバは、前記受信されたパケットを処理し、前記処理されたパケットを、前記トラフィックステアリングデバイスに返送する。前記サービスサーバにより受信された前記パケットは、前記現在のパケット及び前記過去のパケットを含む。
具体的には、前記リプレイされた過去のパケットを受信するために、前記サービスサーバは、前記過去のパケットの処理を選択でき、その後前記処理された過去のパケットを前記トラフィックステアリングデバイスに返送でき、前記処理された過去のパケットを前記トラフィックステアリングデバイスに返送する代わりに、直接前記処理された過去のパケットを廃棄することを選択してもよい。前記サービスサーバが前記処理された過去のパケットを前記トラフィックステアリングデバイスに返送することを選択したならば、前記トラフィックステアリングデバイスは、前記処理された過去のパケットを受信した後、前記処理された過去のパケットを廃棄する。しかし、前記現在のパケットが受信されるために、前記サービスサーバは、前記現在のパケットを処理し、前記処理されたパケットを、前記トラフィックステアリングデバイスに返送し、その後、ステップ280が実行される。受信された前記現在のパケット及び受信された前記リプレイされたパケットに前記サービスサーバにより実行される処理は、以下の:1)前記サービスサーバの機能である、ウェブページ(Web)アクセラレーション、ビデオ(Video)アクセラレーション、アンチウイルス、URLフィルタリング、アンチアタック、広告挿入、データ圧縮、及びウェブ適応などのサービス処理を完了させる、2)前記リプレイされたパケットを受信し、前記リプレイされたパケットから、TCPのMSSやTCPオプションなどの情報を取得することを含み、前記ゲートウェイにより送信されたリプレイされるパケットを処理する、ことを含む。
他の実施形態において、ステップ270で、前記サービスサーバにより受信された前記パケットは、前記現在のパケットのみでなく、過去のパケットも含む。これは、前記トラフィックステアリングデバイスが前記現在のパケットを受信する前に過去のパケットをバッファリングしていないことを示している。
ステップ280:前記トラフィックステアリングデバイスは、前記処理された現在のパケットを前記第2のエンティティに送信する。
前記第1の実施形態及び本発明の第2の実施形態において提供されるトラフィックステアリング方法において、前記第1のエンティティは、前記第1のエンティティの現在のパケットを前記第2のエンティティに前記トラフィックステアリングデバイスを通じて送信し、前記第1のエンティティは、前記現在のパケットの終了(end)を開始し、前記第2のエンティティは、前記処理された現在のパケットの終了を受信する。
加えて、前記第2のエンティティが前記第2のエンティティの現在のパケットを前記第1のエンティティに送信する場合、前記第2のエンティティは、前記現在のパケットの終了を開始し、前記第1のエンティティは、前記処理された現在のパケットの終了を受信する。残りの処理は、先述のトラフィックステアリング方法の処理と同様であり、したがって、ここで、さらに詳細に説明しない。
したがって、本発明の実施形態において提供される前記トラフィックステアリング方法に従って、第1のエンティティにより送信された現在のパケットが受信され、前記現在のパケットにディープ・パケット・インスペクション(DPI)が実行され、第7層トラフィックステアリングのために使用される第7層アプリケーション情報が取得される。前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットはバッファリングされる。前記第7層アプリケーション情報が取得されたならば、前記現在のパケットは、前記第7層アプリケーション情報に従って、第7層トラフィックステアリングポリシーとマッチされる。前記現在のパケットが前記第7層トラフィックステアリングポリシーとマッチする場合、過去のパケットが、サービスサーバにリプレイされ、その後、前記現在のパケットが前記サービスサーバにステアリングされ、前記過去のパケットは、トラフィックステアリングデバイスが前記現在のパケットを受信する前にバッファリングされた、全てのパケット又はいくつかのパケットを含み、これにより、第7層アプリケーション情報に基づいて、トラフィックステアリングを実施し、トラフィックステアリングデバイスのパフォーマンスを高め、オペレータの配置コストを減少させる。
図3は、本発明の第3の実施形態に従うトラフィックステアリングデバイスの概略図である。前記トラフィックステアリングデバイスは、前記第1の実施形態及び本発明の第2の実施形態において提供される前記トラフィックステアリング方法を実行するように構成されている。図に示されているように、本発明の実施形態は、受信器11と、プロセッサ12と、トラフィックステアラ13と、を特に含む。
前記受信器11は、第1のエンティティにより送信された現在のパケットを受信し、前記現在のパケットを前記プロセッサ12に送信するように構成されており、前記プロセッサ12は、前記受信器11から前記現在のパケットを受信し、前記現在のパケットに従って、第7層アプリケーション情報を取得し、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーとマッチングし、マッチング結果を取得し、前記マッチング結果を前記トラフィックステアラ13に送信するように構成されており、前記トラフィックステアラ13は、前記プロセッサ12から前記マッチング結果を受信し、前記マッチング結果が、前記現在のパケットは前記第7層トラフィックステアリングポリシーにマッチすることができることである場合、前記現在のパケットをサービスサーバに送信するように構成されている。前記プロセッサ12は、前記現在のパケットにディープ・パケット・インスペクション(DPI)処理を実行し、第7層トラフィックステアリングのために使用される前記第7層アプリケーション情報を取得するように構成されている。
さらに、本発明の実施形態において提供される、前記トラフィックステアリングデバイスは、バッファをさらに含む。
前記バッファは、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを処理し、前記現在のパケットを第2のエンティティに送信し、前記現在のパケットをバッファリングするように構成され、前記バッファリングされたパケットは、過去のパケットとなる。
実施形態において、前記トラフィックステアラ13は、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記現在のパケットより前にバッファリングされた過去のパケットを、前記第7層トラフィックステアリングポリシーに対応するサービスサーバに送信するようにさらに構成されている。前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットを前記トラフィックステアリングデバイスに送信するか、又は前記処理された過去のパケットを廃棄することができるように、前記現在のパケットより前にバッファリングされているすべての過去のパケットは、前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバに送信され得、又は前記現在のパケットの前にバッファリングされている、いくつかの過去のパケットは、前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバに送信されうる。
他の実施形態において、前記受信器11は、前記サービスサーバにより返送された前記処理された現在のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信するようにさらに構成されている。あるいは、前記受信器は、前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信し、前記処理された現在のパケットを前記第2のエンティティに送信し、前記処理された過去のパケットを廃棄するようにさらに構成されている。
さらに他の実施形態において、前記バッファは、前記現在のパケットが受信される前に、所定の数の連続パケットにDPI処理が実行された後、前記第7層アプリケーション情報が取得されず、前記現在のパケットにDPI処理が実行された後にも、前記第7層アプリケーション情報が、取得されなかったならば、バッファリングされている前記所定の数の連続パケットをクリアし、前記現在のパケットが属しているデータフローのトラフィックステアリングをキャンセルするようにさらに構成されている。
さらに、前記現在のパケットが、前記第7層アプリケーション情報に従って、第7層トラフィックステアリングポリシーとマッチされた後、前記トラフィックステアラ13は、前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致しない場合には、前記現在のパケットを処理し、その後それを前記第2のエンティティに送信し、全てのパケットをクリアし、ここで、前記パケットは、前記トラフィックステアリングデバイスが前記現在のパケットを受信する前に、バッファリングされており、前記現在のパケットが属している前記データフローのトラフィックステアリングをキャンセルするようにさらに構成されている。
本発明の実施形態における前記第1のエンティティは、携帯電話、コンピュータ、ノートブック型コンピュータ、又はWAPサーバを含み、前記第2のエンティティは、携帯電話、コンピュータ、ノートブック型コンピュータ、又はWAPサーバを含み、前記第1のエンティティ及び前記第2のエンティティは、前記トラフィックステアリングデバイスを通じて通信する2つのエンティティである。
したがって、発明実施形態において提供される前記トラフィックステアリングデバイスは、第1のエンティティにより送信された現在のパケットを受信し、ディープ・パケット・インスペクション(DPI)処理を前記現在のパケットに実行し、第7層トラフィックステアリングのために使用される第7層アプリケーション情報を取得する。前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットをバッファリングし、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーとマッチングし、前記現在のパケットが前記第7層トラフィックステアリングポリシーとマッチするならば、過去のパケットをサービスサーバにリプレイし、その後、前記現在のパケットを前記サービスサーバにステアリングし、前記過去のパケットは、前記トラフィックステアリングデバイスが前記現在のパケットを受信する前にバッファリングされた全てのパケット又はいくつかのパケットを含み、これにより、第7層アプリケーション情報に基づいて、トラフィックステアリングを実施し、トラフィックステアリングデバイスのパフォーマンスを高め、オペレータの配置コストを減少させる。
図4は、本発明の第4の実施形態に従うトラフィックステアリングデバイスの概略図である。前記トラフィックステアリングデバイスは、前記第1の実施形態及び本発明の第2の実施形態において提供されるトラフィックステアリング方法を実行するように構成されている。図に示されているように、本発明の実施形態は、ネットワークインターフェース41と、プロセッサ42と、メモリ43と、を特に含む。デバイスバス44は、前記ネットワークインターフェース41、前記プロセッサ42、及び前記メモリ43を接続するように構成されている。
前記ネットワークインターフェース41は、第1のエンティティ、第2のエンティティ、及び複数の外部サービスサーバを接続するように構成されている。
前記メモリ43は、固定記憶装置、例えば、ハードディスクドライバ及びフラッシュメモリであってよく、前記メモリ43は、ソフトウェアモジュール及びデバイスドライバを有している。前記ソフトウェアモジュールは、本発明における先述の方法を実行可能な種々の機能モジュールであり、前記デバイスドライバは、ネットワークドライバ及びインターフェースドライバであってよい。
アプリケーションプログラムは、前記メモリ43に物理的に格納されており、前記アプリケーションプログラムは、前記プロセッサ42及び前記デバイスに以下のプロシージャ:
第1のエンティティにより送信された現在のパケットを受信するステップと、
前記現在のパケットに従って、第7層アプリケーション情報を取得するステップであって、ディープ・パケット・インスペクション(DPI)処理は、前記現在のパケットに実行され、第7層トラフィックステアリングのために使用される前記第7層アプリケーション情報を取得する、ステップと、
前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーと照合するステップと、
前記現在のパケットが、前記第7層トラフィックステアリングポリシーと合致した後、前記現在のパケットをサービスサーバに送信するステップと、
を実行するように指示するために使用されうる命令を含む。
さらに、前記プロセッサが前記メモリ43のソフトウェアモジュールにアクセスした後、前記アプリケーションプログラムは、前記プロセッサ及び前記デバイスに、前記現在のパケットに従って、第7層アプリケーション情報を取得する前記ステップのプロシージャが実行された後に、次の:前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを処理するステップと、前記現在のパケットを前記第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、前記バッファリングされたパケットは、過去のパケットとなる、プロシージャを実行するように指示するために使用されうる命令をさらに含む。
実施形態において、前記アプリケーションプログラムは、前記プロセッサ及び前記デバイスに、前記以下のプロシージャ:前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致した後、過去のパケットが前記現在のパケットより前にバッファリングされるならば、前記現在のパケットより前にバッファリングされた前記過去のパケットを前記第7層トラフィックステアリングポリシーに相当するサービスサーバに送信するステップ、を実行するように指示するために使用されうる命令をさらに含む。前記サービスサーバが、前記過去のパケットを処理し、前記処理された過去のパケットを前記トラフィックステアリングデバイスに送信するか、又は前記処理された過去のパケットを廃棄することができるように、前記現在のパケットより前にバッファリングされたすべての過去のパケットは、前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバに送信されうるか、又は前記現在のパケットより前にバッファリングされたいくつかの過去のパケットは、前記第7層トラフィックステアリングポリシーに対応する前記サービスサーバに送信されうる。
他の実施形態において、前記アプリケーションは、前記プロセッサ及び前記デバイスに、前記現在のパケットが、前記第7層トラフィックステアリングポリシーと合致した後、前記現在のパケットをサービスサーバに送信する前記ステップのプロシージャが実行された後に、次の:前記サービスサーバにより返送された前記処理された現在のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップ、のプロシージャ、又は前記サービスサーバにより返送された、前記処理された現在のパケット及び前記処理された過去のパケットを受信するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、前記処理された過去のパケットを廃棄するステップ、のプロシージャを実行するように指示するために使用されうる命令をさらに含む。
さらに他の実施形態において、前記プロセッサ及び前記デバイスに、前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットを前記第2のエンティティに送信するステップと、前記現在のパケットをバッファリングするステップと、前記バッファリングされたパケットは、過去のパケットとなるプロシージャを実行するように指示するために使用されうる、前記アプリケーションプログラム内の前記命令は、前記現在のパケットが受信される前に、所定の数の連続パケットにDPI処理が実行された後、前記第7層アプリケーション情報が取得されず、前記現在のパケットにDPI処理が実行された後にも、前記第7層アプリケーション情報が、取得されなかったならば、バッファリングされた前記所定の数の連続パケットをクリアするステップと、前記現在のパケットに属しているデータフローのトラフィックステアリングをキャンセルするステップと、をさらに含む。
さらに、前記アプリケーションは、前記プロセッサ及び前記デバイスに、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーと照合する前記ステップのプロシージャが実行された後に、以下の:前記現在のパケットが前記第7層トラフィックステアリングポリシーに合致しない場合には、前記現在のパケットを処理するステップと、前記処理された現在のパケットを前記第2のエンティティに送信するステップと、全てのパケットをクリアするステップと、前記パケットは、前記トラフィックステアリングデバイスが前記現在のパケットを受信する前に、バッファリングされており、前記現在のパケットが属するデータフローのトラフィックステアリングをキャンセルするステップ、のプロシージャを実行するように指示するために使用されうる命令をさらに含む。
本発明の実施形態における前記第1のエンティティは、携帯電話、コンピュータ、ノートブック型コンピュータ、又はWAPサーバを含み、前記第2のエンティティは、携帯電話、コンピュータ、ノートブック型コンピュータ、又はWAPサーバを含み、前記第1のエンティティ及び前記第2のエンティティは、前記トラフィックステアリングデバイスを通じて通信する2つのエンティティである。
したがって、本発明実施形態において提供されるトラフィックステアリングデバイスは、第1のエンティティにより送信された現在のパケットを受信し、ディープ・パケット・インスペクション(DPI)処理を前記現在のパケットに実行し、第7層トラフィックステアリングのために使用される第7層アプリケーション情報を取得する。前記第7層アプリケーション情報が取得されなかったならば、前記現在のパケットをバッファリングし、前記第7層アプリケーション情報が取得されたならば、前記第7層アプリケーション情報に従って、前記現在のパケットを第7層トラフィックステアリングポリシーとマッチングする。前記現在のパケットが前記第7層トラフィックステアリングポリシーとマッチする場合、過去のパケットをサービスサーバにリプレイし、その後、前記現在のパケットを前記サービスサーバにステアリングし、前記過去のパケットは、前記トラフィックステアリングデバイスが前記現在のパケットを受信する前にバッファリングされた全てのパケット又はいくつかのパケットを含み、これにより、第7層アプリケーション情報に基づいて、トラフィックステアリングを実施し、トラフィックステアリングデバイスのパフォーマンスを高め、オペレータの配置コストを減少させる。
本発明の実施形態は、トラフィックステアリングシステムをさらに提供する。前記システムは、本発明の第3又は第4の実施形態において提供されたトラフィックステアリングデバイス、第1のエンティティ、第2のエンティティ、及びサービスサーバを含む。少なくとも1つのサービスサーバがあり、複数のサービスサーバがあってもよく、例えば、HTTPプロトコルに対し、あるURLがマッチされた場合、前記トラフィックステアリングデバイスは、前記第1のエンティティにより送信されたパケット、すなわち、前記フローをサービスサーバAにステアリングする、HTTPプロトコルに対し、その内容物がテキストの場合、前記トラフィックステアリングデバイスは、前記第1のエンティティにより送信されたパケット、すなわち、前記フローをサービスサーバBにステアリングする、FTPプロトコルに対し、要求ファイルの形式がビデオの場合、前記トラフィックステアリングデバイスは、前記第1のエンティティにより送信されたパケット、すなわち、前記フローをサービスサーバCにステアリングする。
この明細書において開示された実施形態において説明された例の組み合わせにおいて、ユニットおよびアルゴリズムステップは、電子的ハードウェア、コンピュータソフトウェア、又はそれらの組み合わせにより実施されうることを当業者はさらに認識すべきである。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、前述したものは、機能に応じて各実施例の構成及びステップを一般に説明している。機能が、ハードウェア又はソフトウェアによって実行されるかどうかは、特定のアプリケーション及び技術的ソリューションの設計拘束条件による。当業者は、特定のアプリケーションに対し説明した機能を実施するための異なる方法を使用し得るが、その実施が本発明の範囲を超えるものと考えるべきではない。
明細書中に開示された実施形態と組み合わせて説明された方法のステップ又はアルゴリズムは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、又はそれらの組み合わせを用いて実現することができる。前記ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、メモリ、読み出し専用メモリ(ROM)、レジスタ、ハードディスク、リムーバブル磁気ディスク、CD−ROM、又は技術分野において既知の任意の他の形式の記録媒体内に配置することができる。
上述した特定の実施形態において、本発明の目的、技術的ソリューション、及び有益な効果は、さらに詳細に説明される。前述の説明は単に本発明の特定の実施形態であり、本発明の保護範囲を限定するものではないことを理解すべきである。すべての変更、均等物、改良、又は本発明の精神及び原則内でなされるものは、本発明の保護範囲に入る。
11 受信器
12 プロセッサ
13 トラフィックステアラ
41 ネットワークインターフェース
42 プロセッサ
43 メモリ
44 デバイスバス