ルータにおいて、第1の複数のパケットに基づいて、第1のリモートコンピュータデバイスにおいて実行される、前記第1の複数のパケットに関連する第1のアプリケーションを特定することと、前記第1のアプリケーションに基づいて、前記第1の複数のパケットに関する第1のトラフィッククラスを特定することと、前記第2のトラフィッククラスに基づいて、前記ルータにおける前記第1の複数のパケットのルーティングを管理することとを備える方法。前記第1の複数のパケットのルーティングを管理することは、前記第1のトラフィッククラスに基づいて、前記複数のパケットのルーティングに優先度を付けることを備える、請求項1に記載の方法。前記第1の複数のパケットのルーティングを管理することは、前記第1のトラフィッククラスに基づいて、前記第1の複数のパケットに前記ルータの帯域幅を割り振ることを備える、請求項1に記載の方法。前記第1のアプリケーションを特定することは、前記第1のアプリケーションに関連するアプリケーションタイプを特定することを備える、請求項1に記載の方法。前記第1の複数のパケットのルーティングを管理することは、前記第1のトラフィッククラスに基づいて、前記第1の複数のパケットの確認応答を管理することを備える、請求項1に記載の方法。第1の情報は、前記第1の複数のパケットに関連するポート番号を含む、請求項1に記載の方法。前記第1のトラフィッククラスを特定することは、前記第1の複数のパケットを介して通信される第1のタイプの情報を特定することと、前記第1のタイプの情報に基づいて前記第1のトラフィッククラスを特定することとを備える、請求項1に記載の方法。前記第1のアプリケーションに関連する第2の複数のパケットを介して通信される第2のタイプの情報を特定することと、前記第1のアプリケーションおよび前記第2のタイプの情報に基づいて、前記第2の複数のパケットに関する第2のトラフィッククラスを特定することと、前記第2のトラフィッククラスに基づいて、前記ルータにおける前記第1の複数のパケットのルーティングを管理することとをさらに備える、請求項7に記載の方法。ルータにおいて、第1のリモートコンピュータデバイスにおいて実行される、第1の複数のパケットに関連する第1のアプリケーションを示す情報を外部ソースから受信することと、前記第1のアプリケーションに基づいて、前記第1の複数のパケットに関する第1のトラフィッククラスを特定することと、前記第2のトラフィッククラスに基づいて、前記ルータにおける前記第1の複数のパケットのルーティングを管理することとを備える方法。前記第1のトラフィッククラスを特定することは、リモートサーバに前記第1のトラフィッククラスを要求することを備える、請求項9に記載の方法。前記外部ソースは前記第1のアプリケーションを備える、請求項9に記載の方法。前記外部ソースは第2のリモートコンピュータデバイスを備える、請求項9に記載の方法。コンピュータデバイスにおいて実行される複数のアプリケーションを特定することに基づいて、ルータにおいて複数のパケットをルーティングすることに関連する複数のトラフィッククラスを特定することと、コンピュータデバイスにおいてグラフィカルユーザインターフェースGUIを介して前記複数のトラフィッククラスを表示することとを備える方法。前記トラフィッククラスの変更をGUIを介して受信することと、前記トラフィッククラスの前記変更を前記ルータに通信することとをさらに備える、請求項13に記載の方法。前記ルータから離れて位置する第1のコンピュータデバイスにおいて実行される第1のアプリケーションに関連する第1の複数のパケットを受信するための第1のネットワーク接続を備える複数のネットワーク接続と、前記第1の複数のパケットに基づいて前記第1のアプリケーションを特定し、前記第1のアプリケーションに基づいて前記第1のアプリケーションに関連する前記第1の複数のパケットに関する第1のトラフィッククラスを特定するためのルータ制御モジュールと、前記第1のトラフィッククラスに基づいて前記ルータにおける前記第1の複数のパケットのルーティングを管理するための前記ルータ制御モジュールとを備えるルータ。前記ルータ制御モジュールは、前記トラフィッククラスに基づいて前記複数のパケットのルーティングに優先度を付けることによって、前記複数のパケットのルーティングを管理するためのものである、請求項15に記載のルータ。前記ルータ制御モジュールは、前記トラフィッククラスに基づいて前記複数のパケットに前記ルータの帯域幅を割り振ることによって、前記複数のパケットのルーティングを管理するためのものである、請求項15に記載のルータ。パケットを記憶するためのパケットバッファをさらに備え、前記ルータ制御モジュールは、前記トラフィッククラスに基づく順序に従って前記パケットバッファからパケットを取り出すためのものである、請求項15に記載のルータ。前記ルータ制御モジュールは、前記第1のアプリケーションに関連するアプリケーションタイプを特定するためのものである、請求項15に記載のルータ。前記ルータ制御モジュールは、前記第1の複数のパケットを介して通信される第1のタイプの情報を特定することと、前記第1のタイプの情報に基づいて前記第1のトラフィッククラスを特定することとによって、前記第1のトラフィッククラスを特定するためのものである、請求項15に記載のルータ。前記ルータ制御モジュールは、前記第1のアプリケーションに関連する、前記ルータにおいて受信される第2の複数のパケットを介して通信される第2のタイプの情報を特定し、前記第1のアプリケーションおよび前記第2のタイプの情報に基づいて、前記第2の複数のパケットに関する第2のトラフィッククラスを特定し、前記第2のトラフィッククラスに基づいて、前記ルータにおける前記第1の複数のパケットのルーティングを管理するためのものである、請求項20に記載のルータ。図1~図7は、ルータに接続された1つまたは複数のエンドポイントデバイスにおいて実行される特定のアプリケーションの識別に基づいてパケット通信を管理するようにネットワークのルータを構成することによって、ネットワークの通信効率を向上させるための技法を示している。具体的には、ネットワークは、ネットワークに結合されたエンドポイント間で情報のパケットを通信する。ルータは、ネットワークノード間でパケットをルーティングするためにネットワークによって用いられ、パケットの通信を、各パケットに関連するトラフィッククラスに従って管理する。ルータは、パケットを提供したアプリケーションまたはパケットのターゲットであるアプリケーションに従ってパケットにトラフィッククラスを割り当てるように構成される。したがって、受信パケット優先順序に関するトラフィッククラスは、どのアプリケーションが1つまたは複数のエンドポイントで実行されているかの判断に基づいて、動的に特定されるdetermined。したがって、ルータは、帯域幅、優先度、および実行されるアプリケーションの他の通信要件に応じて、パケット通信をより効率的に管理することができる。例示すると、コンピュータデバイスのような通信エンドポイントが、オンラインゲームアプリケーションとピアツーピアP2Pファイル通信プログラムとを実行していることがある。一般に、オンラインゲームプログラムはユーザにとって、P2Pファイル通信プログラムよりも高い優先度を有する。具体的には、オンラインゲームプログラムの場合、キャラクターステータス更新などの情報をゲームサーバに比較的速く通信することが、楽しいゲームエクスペリエンスをもたらすために有用である。対照的に、P2Pファイル通信は一般に、比較的長い時間量を要求し、P2Pファイル通信プログラムに関連する特定のパケットの迅速な通信は、ユーザエクスペリエンスに大きく影響するものではない。したがって、本明細書で説明するルータデバイスは、ゲームプログラムに関連するパケットに対しより高いルーティング優先度が付与されるように、ゲームプログラムおよびP2Pファイル通信プログラムに関連するパケットに対しトラフィッククラスを割り当てるように構成され得る。さらに、各パケットに割り当てられるトラフィッククラスは、固定のルータポート番号ではなく、パケットに関連するアプリケーションに基づく。図1を参照すると、ルータ102のブロック図が示されている。ルータ102は通信システムに組み込まれており、それによって、ルータ102は通信ネットワークとの間でパケットを受信し、通信する。通信ネットワークはいくつかのノードを含み、それによって、ネットワークノードは、パケットの提供、パケットの受信、またはそれらの任意の組合せを行うことができるネットワーク内のポイントとなっている。したがって、ノードは一般に、特定の通信セッションに関してエンドポイントまたはルーティングノードに分類され得る。エンドポイントは、パケットに含まれるペイロード情報の発信源または最終的な宛先のいずれかを指す。ルーティングノードは、1つまたは複数のネットワークノードからパケットを受信し、各パケットに付帯しているアドレス情報に基づいて、1つまたは複数の他のネットワークノードにパケットを提供するノードを指す。ネットワークノードが、あるパケットに関してルーティングノードになる場合があり、別のパケットに関してエンドポイントになる場合があることが諒解されよう。したがって、たとえば、サーバデバイスがエンドポイントへの通信のために情報を発信することがあり、受信したパケットを他のネットワークノードにルーティングすることもある。したがってサーバは、サーバが発信したパケットに関してエンドポイントであり、サーバが他のノードにルーティングするためにネットワークから受信するパケットに関してルーティングノードである。ルータ102は、ネットワークのルーティングノードに組み込まれており、パケットの受信と他のネットワークノードへのパケットのルーティングとを容易にするためのいくつかのモジュールを含む。具体的には、図1の図示の例では、ルータ102はルータ制御モジュール104と、パケットバッファ106と、スイッチングファブリック110と、ネットワーク接続115~117とを含む。ネットワーク接続115~117の各々は、ネットワークのノードからパケットを受信することと、ネットワークのノードにパケットを通信することの両方が可能なネットワークに対する入力/出力接続である。具体的には、ネットワーク接続115~117の各々は、ネットワークに含まれるノードの異なるサブセットに接続される。したがって、あるネットワーク接続においてパケットを受信することと、別のネットワーク接続を介してパケットを送信することとによって、ルータ100はノードのあるサブセットから別のサブセットにパケットを通信する。スイッチングファブリック110は、ルータ102のモジュール間でパケットをルーティングする通信バックボーンである。スイッチングファブリックは、提供されたパケットをネットワークのどのモジュールが受信するかを示す制御シグナリングを受信する。したがって、スイッチングファブリック110は、ルータ102によるパケットの受信、記憶、および提供を容易にする。パケットバッファ106は、受信したパケットを記憶するランダムアクセスメモリRAM、不揮発性メモリ、または他のメモリなどのメモリ構造である。パケットバッファ106は、個別にアドレス指定可能な位置にパケットを記憶することができ、それによって、パケットバッファ106は、受信した制御シグナリングに基づいてアドレス指定可能な位置にパケット記憶し、または当該位置にあるパケットを取り出す。制御シグナリングは、パケットバッファ106へのアクセス要求が読取りアクセスであるか、それとも書込みアクセスであるかを示し、アクセスに関連する位置のアドレスを示す。それに応答して、パケットバッファ106は、書込みアクセスの場合には示された位置に受信パケットを記憶し、または読取りアクセスの場合には示された位置に記憶されたパケットを取り出す。ルータ制御モジュール104は、ルータ102の動作を制御するように動作可能なモジュールである。したがって、ルータ制御モジュール104は、汎用もしくは特定用途向けプロセッサ、状態機械などを実施するための1つもしくは複数の論理モジュール、またはそれらの任意の組合せであり得る。ルータ102の動作を制御するために、ルータ制御モジュール104は、ルータ102において受信したパケットを監視し、制御シグナリングを提供することで、受信したパケットを各パケットに関連するアドレス情報に基づいて記憶しルーティングすることを容易にする。例示すると、動作中に、ネットワーク接続115~117のうちの1つにおいてパケットが受信される。各受信パケットは、アプリケーションに関連付けられる。本明細書で使用するアプリケーションは、アプリケーションによって提供されたペイロード情報をパケットが含む場合、またはパケットがアプリケーションに向けられている場合に、パケットに関連付けられる。パケットを受信したことに応答して、ルータ制御モジュール104はスイッチングファブリック110に制御シグナリングを提供して、パケットがパケットバッファ106に提供されるようにする。ルータ制御モジュール104はパケットバッファ106にも制御シグナリングを提供して、ルータ制御モジュール104によって示されたアドレスに受信パケットが記憶されるようにする。ルータ制御モジュール104はまた、制御シグナリングを提供することで、パケットバッファ106からパケットを取り出し、パケットに含まれる宛先アドレス情報を分析し、スイッチングファブリック110を制御して、宛先アドレスによって示されるネットワーク接続115~117のうちの1つにパケットが提供されるようにすることができる。具体的には、ルータ制御モジュール104は、ルータ102に接続されたネットワークノードの各サブセットに関連する宛先アドレス範囲を示す1つまたは複数のルーティング表不図示にアクセスすることができる。アドレスによって示されるノードのサブセットに基づいて、ルータ制御モジュールはスイッチングファブリック110を制御して、ノードの示されたサブセットに関連するネットワーク接続115~117のうちの1つにパケットが提供されるようにすることができる。ルータ制御モジュール104は、トラフィッククラスセットに従って受信パケットの通信を管理することができ、それによって、各受信パケットは当該セット内のトラフィッククラスのうちの1つに関連付けられる。したがって、パケットの管理は、トラフィッククラスに基づくパケット通信の優先度付け、トラフィッククラスに基づく帯域幅の割当て、トラフィッククラスに基づく確認応答ポリシーの管理などを含むことができる。例示すると、ルータ制御モジュール104は、各トラフィッククラスに関連する優先度を特定して、より優先度の高いトラフィッククラスに関連するパケットが、より優先度の低いトラフィッククラスを有するパケットの前にルーティングされる可能性が高くなるようにすることができる。具体的には、ルータ制御モジュール104は、優先順序に従ってパケットバッファ106からパケットを取り出し、それによって、各パケットがネットワークに通信される際の優先度を制御することができる。パケットに関する優先順序は、各パケットのトラフィッククラスに関連する優先度に基づき得る。動作時に、ルータ制御モジュール104はパケットを、各パケットの優先度レベルによって示される順序に従ってネットワークに提供するためにバケットバッファ106から取り出す。したがって、パケットに関連するトラフィッククラスによって示されるように、より優先度レベルの高いパケットが、より優先度レベルの低いパケットの前にネットワークに通信される。ルータ制御モジュール104は、いくつかの方法のうちのいずれかによる優先順序に従ったパケットバッファ106からのパケットの取出しを実行し得る。一実施形態では、パケットを取り出す前に、ルータ制御モジュール104は、パケットバッファ106を横断してtraverse、バッファに記憶されているパケットのうちでどれが最も高い優先度レベルを有するかを判断することができる。別の実施形態では、パケットバッファ106を複数の領域に編成して、より高い優先度レベルを有するパケットがより低い優先度レベルを有するパケットとは異なる領域に記憶されるようにすることができる。ルータ制御モジュール104は、より優先度の高い領域のパケットが、より優先度の低い領域に記憶されたパケットの前にパケットバッファから取り出されるように、領域の順序に従って通信のためにパケットを取り出すことができる。一実施形態では、ルータ制御モジュール104は、パケットセットに関する帯域幅および待ち時間を、パケットに関連するトラフィッククラスに基づいて管理する。たとえば、トラフィッククラスは、トラフィッククラスに関連するパケットに関する待ち時間優先度レベルと帯域幅限度の両方を示し得る。ルータ制御モジュール104は、指定されたトラフィッククラスに関連するパケットを、トラフィッククラスに関連する待ち時間優先順序に基づいて、トラフィッククラスに関連する対応する帯域幅限度まで、パケットバッファ106から周期的に取り出し得る。パケットバッファ106に記憶されたパケットのトラフィッククラスに基づくパケットの周期的取出しを繰り返すことによって、各トラフィッククラスに関連する帯域幅および待ち時間が維持される。さらに、ルータ制御モジュール104は、パケットバッファ106に記憶されたパケットに関する確認応答ポリシーを、パケットに関連するトラフィッククラスに従って管理し得る。例示すると、クラス1に指定された第1のトラフィッククラスは、第1の確認応答ポリシーに関連付けられることがあり、それによって、ルータ制御モジュール104は、クラス1に関連するパケットを送信した後、確認応答が指定時間内に受信されない場合にパケットを再送する。クラス2に指定された第2のトラフィッククラスは、第2の確認応答ポリシーに関連付けられることがあり、それによって、ルータ制御モジュールは、クラス2に関連するパケットを、送信後、確認応答を待つことなく廃棄する。図示の実施形態では、ルータ102はルーティングポリシー103を記憶しており、これは、ルータ102を介してパケットを通信送信または受信する1つまたは複数のエンドポイントにおいて実行されるアプリケーションセットに関連するトラフィッククラスを示す表または他のデータ構造を含む。ルーティングポリシー103はまた、他の情報、たとえば相対的優先度、帯域幅、確認応答ポリシー、および各トラフィッククラスに関連する他の情報を示し得る。ルータ制御モジュール104は、上記のようにパケットに関連するトラフィッククラスに従ってパケットの通信を管理するためにルーティングポリシー103にアクセスするように構成される。したがって、ルータ102においてパケットを受信すると、ルータ制御モジュール104は、パケットに関連するアプリケーションを特定し得る。パケットに関連するアプリケーションは、パケットを受信したルータポート番号、パケットに含まれるヘッダ情報、たとえば、アプリケーション名、ポート番号、アドレスもしくは他の情報、またはそれらの任意の組合せに基づいて、ルータ制御モジュール104によって特定され得る。一実施形態では、ルータ制御モジュール104は、パケットのデータペイロードを調べることによって、またはヘッダ内の情報とデータペイロード内の情報との組合せに基づいて、パケットに関連するアプリケーションを特定することができる。したがって、ルータ制御モジュール104は、パケットを受信したポート番号以外の情報に基づいて、またはポート番号と他の情報の両方に基づいて、パケットに関連するアプリケーションを特定し得る。別の実施形態では、ルータ制御モジュール104は、パケットおよびそれらの通信の特性、たとえば、パケットのサイズ、パケットがルータ102に通信される頻度などに基づいて、パケットに関連するアプリケーションを特定し得る。他の実施形態では、ルータ制御モジュール104は、外部ソース、たとえばパケットを通信したアプリケーション、リモートサーバ、パケットを通信したコンピュータデバイスとは異なる外部コンピュータデバイスなどから受信した情報に基づいて、パケットに関連するアプリケーションを特定することができる。受信パケットに関連するアプリケーションを特定すると、ルータ制御モジュール104は、ルーティングポリシー103にアクセスして、アプリケーションに関連するトラフィッククラスを特定し、示されたトラフィッククラスをパケットに割り当てる。一実施形態では、ルータ制御モジュール104は、トラフィッククラスを示すようにパケットのヘッダを変更することによって、トラフィッククラスを割り当てることができる。別の実施形態では、ルータ制御モジュール104は、受信パケットに関するトラフィッククラスを別個のデータベースに記憶することができる。別の実施形態では、ルーティングポリシー103は、アプリケーションタイプのセットと各タイプに関連するトラフィッククラスとを示す。たとえば、ルーティングポリシー103は、優先度が比較的高いトラフィッククラスにゲームアプリケーションが関連付けられ、優先度が比較的低いトラフィッククラスにP2Pファイル通信アプリケーションが関連付けられることを示すことがある。この実施形態では、ルータ制御モジュール104は、たとえば通信エンドポイントから、各受信パケットに関連するアプリケーションのタイプを示す情報を受信し、受信パケットのトラフィッククラスを、各パケットに関連するアプリケーションタイプに従って特定することができる。ルーティングポリシー103は、アプリケーションまたはアプリケーションタイプに関連するトラフィッククラスが変化するのに伴い、各アプリケーションまたはアプリケーションタイプに関連するトラフィッククラスを反映するように、経時的に更新され得る。いくつかの実施形態では、アプリケーションは、異なるタイプの情報を通信して、アプリケーションとの間で通信される異なるパケットが異なるトラフィッククラスに関連付けられるようにすることができる。たとえば、あるアプリケーションは、あるパケットセットを介してパッチ更新を受信する一方で、異なるパケットセットを介してサーバにゲームセッション情報を通信することがある。したがって、ルーティングポリシー103は、1つのアプリケーションによって通信される異なるタイプの情報に関して異なるトラフィッククラスを示し得る。たとえば、ルーティングポリシー103は、アプリケーションに関するパッチ情報を通信するパケットが第1のトラフィッククラスに関連付けられ、ゲームセッションの対話を表す情報を通信するパケットが異なるトラフィッククラスに関連付けられることを示すことがある。ルータ制御モジュール104は、アプリケーションとの間で通信された各パケットによって通信された情報のタイプを特定し、ルーティングポリシー103によって示されるように各パケットにトラフィッククラスを割り当てることができる。パケットに関連する情報のタイプは、パケットを受信したルータポート番号、パケットに含まれるヘッダ情報、たとえば、アプリケーション名、ポート番号、アドレスもしくは他の情報、またはそれらの任意の組合せに基づいて特定され得る。一実施形態では、ルータ制御モジュール104は、パケットのデータペイロードを調べることによって、またはヘッダ内の情報とデータペイロード内の情報との組合せに基づいて、パケットに関連する情報のタイプを特定することができる。したがって、ルータ制御モジュール104は、パケットを受信したポート番号以外の情報に基づいて、またはポート番号と他の情報の両方に基づいて、パケットに関連する情報のタイプを特定し得る。ルーティングポリシー103は、通信エンドポイントまたは他の制御デバイスによって、ネットワークまたは他の通信経路を介してルータ102に提供され得る。したがって、たとえば、通信エンドポイントは、各アプリケーションに関する1つまたは複数のトラフィッククラス示すために、ルータ102にルーティングポリシー103を提供することがある。これは、たとえば、ルータ102がエンドポイントにネットワークへの一次インターフェースを提供する場合に有用なことがある。別の実施形態では、ルーティングポリシー103は、ソースまたは宛先エンドポイント以外のデバイスによって提供され得る。たとえば、サーバは、複数のエンドポイントに関する、たとえば共通ローカルエリアネットワークLANに接続された複数のコンピュータデバイスに関するトラフィッククラスを設定するために、ルーティングポリシー103をルータ102に提供することがある。さらに別の実施形態では、ルーティングポリシー103はルータ102において、エンドユーザに販売される前に事前構成され得る。別の実施形態では、各アプリケーションは、アプリケーションによってルータ102に通信されるパケットに関する1つまたは複数のトラフィッククラスを提供することができる。さらに別の実施形態では、ルータ102は、アプリケーションからのパケットまたはアプリケーションに向けられたパケットを受信したことに応答して、アプリケーションに対し、その1つまたは複数のトラフィッククラスを示す情報を提供するよう照会することができる。図2は、本開示の一実施形態による図1のルータ102を組み込んだ通信システム200を示している。通信システム200はまた、ネットワーク220とコンピュータデバイス230および231とを含み、これらの各々はルータ202に接続されている。図示の実施形態では、ルータ102はコンピュータデバイス230および231の間で、かつコンピュータデバイス230および231ならびにネットワーク220の間でパケットをルーティングする。コンピュータデバイス230および231の各々はアプリケーションを実行する。たとえば、コンピュータデバイス230はアプリケーション240および241を実行し、コンピュータデバイス231はアプリケーション242および243を実行する。コンピュータデバイス230はまた、コンピュータデバイス230において実行されているアプリケーションを特定するように動作可能なアプリケーションアナライザ235を実行する。アプリケーションアナライザ235は、プロセス情報、タスク情報、またはコンピュータデバイス230において実行されているオペレーティングシステムによって提供される他の情報にアクセスすることによって、実行されているアプリケーションを特定し得る。アプリケーションアナライザ235はまた、各アプリケーションによってアクセスされているソフトウェアライブラリ、デバイスドライバ、オペレーティングシステムリソース、または他のルーチン、プログラム、およびリソースに基づいて、実行されているアプリケーションを特定し得る。したがって、たとえば、アプリケーションアナライザが、ビデオデバイスドライバが特定のレートでアクセスされていると判断した場合、ビデオストリーミングアプリケーションが実行されている。実行されているアプリケーションに基づいて、アプリケーションアナライザ235は、ルータ102のルーティングポリシー103に記憶されるトラフィッククラス情報を設定または変更し、それにより、ネットワーク220、コンピュータデバイス230、またはコンピュータデバイス231に通信されるパケットに関連するトラフィッククラスを設定または変更することができる。一実施形態では、アプリケーションアナライザ235は、特定のアプリケーションとの間で通信されるパケットに関して異なるトラフィッククラスを設定するようにルーティングポリシー103を設定することができる。したがって、アプリケーションアナライザ235は、アプリケーション240に通信されるパケットに関しては、優先度が比較的高いトラフィッククラスを設定し、アプリケーション240から通信されるパケットに関しては、優先度が比較的低いトラフィッククラスを設定することができる。したがって、ルータ202は、アプリケーション240に向けられたパケットを、アプリケーション240から提供されるパケットを通信する場合よりも高い優先度で通信する。さらに、アプリケーションアナライザ235は、たとえば、アプリケーション240に向けられたパケットがアプリケーション241に向けられたパケットよりも高い優先度を有し、アプリケーション240によって提供されるパケットがアプリケーション241によって提供されるパケットよりも低い優先度を有するように、アプリケーション240および241に関するトラフィッククラスを設定することができる。したがって、ルータ202は、パケットのアップストリームアプリケーション240および241によって提供されるパケットおよびルータ202は、ダウンストリームアプリケーション240および241に提供されるパケットの通信を、アップストリームおよびダウンストリームのパケットトラフィックに関する異なるトラフィッククラスに基づいて個別に管理し得る。コンピュータデバイス231は、アプリケーションアナライザ235と同様の機能を実行するアプリケーションアナライザ237を実行する。一実施形態では、あるコンピュータデバイスにおいて実行されるアプリケーションアナライザは、異なるコンピュータデバイスにおいて実行されるアプリケーションに関するトラフィッククラスを設定することがある。アプリケーションアナライザは、パスワードやセキュリティコードなどの認証情報を、認証情報に基づいてアナライザを認証するルータ102に提供し得る。認証に基づいて、ルータ102は、異なるコンピュータデバイスにおいて実行されるアプリケーションに関するトラフィッククラスをアプリケーションアナライザが設定することを認めること、または認めないことがある。図3は、本開示の別の実施形態による図1のルータ102を組み込んだ通信システム300を示している。通信システム300はまた、ネットワーク320と、ルータ102に接続されたコンピュータデバイス330と、サーバ355とを含む。図示の実施形態では、ルータ102は、コンピュータデバイス330とネットワーク320との間でパケットをルーティングする。コンピュータデバイス330は、アプリケーション340および341を実行する。サーバ355は、ポート優先度ポリシー303を記憶する。動作時に、通信システム300は、図2の通信システム200と同様に構成される。したがって、ルータ102は、アプリケーション340および341との間のパケットのルーティングを、各アプリケーションに関連するトラフィッククラスおよびルーティングポリシー303に基づいて管理する。図示の実施形態では、ポートルーティングポリシー103は、サーバ355に記憶される。したがって、ルータ102が、未知のトラフィッククラスを有するアプリケーションからのパケットまたは当該アプリケーションに向けられたパケットを受信したとき、ルータ102はサーバ355に、ルーティングポリシー303によって示されるようにアプリケーションに関する1つまたは複数のトラフィッククラスを提供するように照会することができる。サーバ355にルーティングポリシー303を記憶することによって、ポリシーはより容易に更新および変更され得る。さらに、ルーティングポリシー303を使用して、ルータ102と同様に構成された複数の他のルータにトラフィッククラス情報を提供することができる。図4は、本発明の一実施形態によるグラフィカルユーザインターフェースGUI400を示している。GUI400は、図示のトラフィッククラス制御ウィンドウ402を介してルーティングポリシー103の表示および変更を可能にする。トラフィッククラス制御ウィンドウ402は、アプリケーション識別子を示す列403と、関連するアプリケーションのトラフィッククラスを示すトラフィッククラス列404と、ルータ102によって関連するアプリケーションに関して通知されるパケットの数を示すパケット数列405とを表示する。トラフィッククラス制御ウィンドウ402により、ユーザは各アプリケーションに関するトラフィッククラスを設定することによって、ルーティングポリシー103を変更することができる。一実施形態では、優先度列404のテキストがユーザによって編集されて、トラフィッククラスが変更され得る。たとえば、ユーザはアプリケーション241に関して番号2を入力することがある。GUI400は、アプリケーション列403におけるアプリケーションの表示を自動的に編成して、調整されたトラフィッククラスを反映させることができる。さらに、GUI400はトラフィッククラスの変更をルータ102に通知し、ルータはルーティングポリシー103を更新する。別の実施形態では、ユーザは、コンピュータマウスまたは他の入力デバイスを使用して列403におけるアプリケーション識別子をドラッグすることによって、アプリケーションのトラフィッククラスを変更することができる。別の実施形態では、GUI400により、ユーザは、1つのアプリケーションによって通信されている異なるタイプの情報に関して異なるトラフィッククラスを設定することができ得る。さらに別の実施形態では、GUI400は、特定のトラフィッククラスに関する管理特性をユーザが変更するためのインターフェースを提供することができる。したがって、ユーザは、優先度と、帯域幅と、確認応答ポリシーと、各トラフィッククラスに関連する他の基準とを設定することができる。さらに、異なるアプリケーションがGUI400を介して同じトラフィッククラスに関連付けられ得ることが諒解されよう。図5は、本開示の別の実施形態によるグラフィカルユーザインターフェースGUI500を示している。GUI500は、図示のトラフィッククラス制御ウィンドウ502を介してルーティングポリシー103の表示および変更を可能にする。トラフィッククラス制御ウィンドウ502がアプリケーションタイプに基づくトラフィッククラスの変更を可能にするという点で、トラフィッククラス制御ウィンドウ502は図4のトラフィッククラス制御ウィンドウ402とは異なる。したがって、トラフィッククラス制御ウィンドウ502は、アプリケーションタイプ識別子を示す列503と、関連するアプリケーションタイプのトラフィッククラスを示すトラフィッククラス列504と、ルータ102によって関連するアプリケーションタイプに関して通知されるパケットの数を示すパケット数列505とを表示する。トラフィッククラスウィンドウ502により、ユーザはテキスト入力、タイプ名のドラッグまたは他のインターフェース構成を通じて各アプリケーションタイプに関するトラフィッククラスを変更することによって、ルーティングポリシー103を変更することができる。GUI500はトラフィッククラスの変更をルータ102に通知し、ルータはそれに応答してルーティングポリシー103を更新する。図6は、本開示の一実施形態による、1つまたは複数のリモートコンピュータデバイスにおいて実行されるアプリケーションに基づいてルータ102においてポートに優先度を付ける方法のフロー図を示している。ブロック602において、ルータ102は、リモートコンピュータデバイスにおいて実行されているアプリケーションを特定する。一実施形態では、この特定は、各リモートコンピュータデバイスから、対応するデバイスにおいて実行されているアプリケーションまたはアプリケーションタイプを示す情報を受信することによって行われる。別の実施形態では、この特定は、ルータ制御モジュール104が1つまたは複数の受信パケット分析し、分析に基づいてアプリケーションまたはアプリケーションタイプを特定することによって行われる。このようにしてルータ制御モジュール104は、パケットを受信または通信したポートの番号以外の情報に基づいて、パケットに関連するアプリケーションまたはアプリケーションタイプを特定する。すなわち、特定は、ポート番号以外の情報のみに基づくこと、またはポート番号とポート番号以外の情報の両方に基づくことがある。ブロック604において、ルータ102はルーティングポリシー103にアクセスして、実行されている各アプリケーションに関するトラフィッククラスを特定する。ブロック608において、ルータ102は、リモートコンピュータデバイスにおいて実行されるアプリケーションから通信されるパケットを受信し、パケットバッファ106にパケットを記憶する。ブロック612において、ルータ102は、各パケットに関連するトラフィッククラスに基づいて、ネットワークへのパケットの通信を管理する。図7を参照すると、コンピュータデバイス704の特定の実施形態のブロック図が示されている。コンピュータデバイス704は、プロセッサ770とメモリ760とを含む。メモリ760は、プロセッサ770にとってアクセス可能である。プロセッサ770は、マイクロプロセッサ、マイクロコントローラなどであり得る。メモリ760はコンピュータ可読媒体であり、これはランダムアクセスメモリRAMなどの揮発性メモリ、またはハードディスクもしくはフラッシュメモリなどの不揮発性メモリであり得る。メモリ760は、プログラム750とオペレーティングシステム707とを格納する。プログラム750およびオペレーティングシステム707は、プロセッサ770を操作して本明細書で説明する方法のうちの1つまたは複数を実施するための命令を含む。アプリケーションなどの他のプログラムも、プロセッサを操作して説明する方法を実施するために、メモリ760に記憶され得る。上記の開示された主題は、限定的ではなく例示的であると考えられるものであり、添付の特許請求の範囲は、本発明の真の趣旨および範囲に入るすべてのそのような変更、改良、および他の実施形態をカバーすることが意図されている。したがって、法によって許容される最大の範囲で、本発明の範囲は、以下の特許請求の範囲およびそれらの同等物の最も幅広い許容される解釈によって判断されるものであり、前述の詳細な説明によって制限または限定されるものではない。