(57)【特許請求の範囲】
【請求項１】
通信ネットワークがインターネットプロトコル（ＩＰ）通信のプライオリティレベルのバイラルアップグレードを実行することを可能にする方法であって、
第１のエンドポイントデバイスから発信されるＩＰ通信がバイラルアップグレードを実行する資格を有している場合に、前記第１のエンドポイントデバイスから発信されるＩＰ通信においてバイラルアップグレードフラグを設定するために、前記通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることであって、前記第１のエンドポイントデバイスから発信されるＩＰ通信がバイラルアップグレードを実行する資格を有しているか否かは再定義可能である、ことと、
前記第１のエンドポイントデバイスから発信されたＩＰ通信に応答する応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、前記通信ネットワーク内の第２のエンドポイントデバイスをセットアップすることと、
前記通信ネットワーク内のルータを、
応答ベースのアップグレードフラグについてのフラグが前記応答ＩＰ通信において立てられているのを識別し、
前記第１のエンドポイントデバイスに関連するバイラルアップグレードプライオリティレベルになるようにプライオリティレベルを前記応答ＩＰ通信に割り当て、
前記バイラルアップグレードプライオリティレベルに対応するルータプライオリティ転送待ち行列に前記応答ＩＰ通信を入れるために、
セットアップすることと、
を含む方法。
【請求項２】
前記通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることが、前記第１のエンドポイントデバイス内のエンドポイントバイラルアップグレードモジュールを起動することを含む、請求項１に記載の方法。
【請求項３】
前記通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることが、前記第１のエンドポイントデバイスから発信されるＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを設定するために、前記第１のエンドポイントデバイスをセットアップすることを含む、請求項１に記載の方法。
【請求項４】
応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、前記通信ネットワーク内の前記第２のエンドポイントデバイスをセットアップすることが、指定されたバイラルアップグレードビットが、受信したＩＰ通信のＩＰパケットヘッダ内に設定されているかどうかを識別し、前記指定されたバイラルアップグレードビットが設定されている場合、前記応答ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを設定することによって、前記受信したＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成されたエンドポイントバイラルアップグレードモジュールを用いて、前記第２のエンドポイントデバイスをセットアップすることを含む、請求項１に記載の方法。
【請求項５】
応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別することと、
前記初期プライオリティＩＰ通信からのフロー情報をデータ構造内に記録することであって、前記フロー情報が応答ＩＰ通信を決定するように構成される、記録することと、
バイラルアップグレードプライオリティレベル情報を前記データ構造内に記録することであって、前記バイラルアップグレードプライオリティレベルが前記応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成される、記録することと、
を行うために、前記通信ネットワーク内の前記ルータをセットアップすることをさらに含む、請求項１に記載の方法。
【請求項６】
プロセッサによって実行可能なコンピュータ実行可能命令を備えるコンピュータプログラムであって、前記命令が、前記プロセッサによって実行されたときに、前記プロセッサに、
第１のエンドポイントデバイスから発信されるインターネットプロトコル（ＩＰ）通信がバイラルアップグレードを実行する資格を有している場合に、前記第１のエンドポイントデバイスから発信されるＩＰ通信においてバイラルアップグレードフラグを設定するために、通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることであって、前記第１のエンドポイントデバイスから発信されるＩＰ通信がバイラルアップグレードを実行する資格を有しているか否かは再定義可能である、ことと、
前記第１のエンドポイントデバイスから発信されたＩＰ通信に応答する応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、前記通信ネットワーク内の第２のエンドポイントデバイスをセットアップすることと、
前記通信ネットワーク内のルータを、
応答ベースのアップグレードについてのフラグが前記応答ＩＰ通信において立てられているのを識別し、
前記第１のエンドポイントデバイスに関連するバイラルアップグレードプライオリティレベルになるようにプライオリティレベルを前記応答ＩＰ通信に割り当て、
前記バイラルアップグレードプライオリティレベルに対応するルータプライオリティ転送待ち行列に前記応答ＩＰ通信を入れるために、
セットアップすることと、
を行わせることによって、前記通信ネットワークが前記ＩＰ通信のプライオリティレベルのバイラルアップグレードを実行することを可能にする、コンピュータプログラム。
【請求項７】
前記通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることが、前記第１のエンドポイントデバイス内のエンドポイントバイラルアップグレードモジュールを起動することを含む、請求項６に記載のコンピュータプログラム。
【請求項８】
前記通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることが、前記第１のエンドポイントデバイスから発信されるＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを設定するために、前記第１のエンドポイントデバイスをセットアップすることを含む、請求項６に記載のコンピュータプログラム。
【請求項９】
応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、前記通信ネットワーク内の前記第２のエンドポイントデバイスをセットアップすることが、指定されたバイラルアップグレードビットが、受信したＩＰ通信のＩＰパケットヘッダ内に設定されているかどうかを識別し、前記指定されたバイラルアップグレードビットが設定されている場合、前記応答ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを設定することによって、前記受信したＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成されたエンドポイントバイラルアップグレードモジュールを用いて、前記第２のエンドポイントデバイスをセットアップすることを含む、請求項６に記載のコンピュータプログラム。
【請求項１０】
応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別することと、
前記初期プライオリティＩＰ通信からのフロー情報をデータ構造内に記録することであって、前記フロー情報が応答ＩＰ通信を決定するように構成される、記録することと、
バイラルアップグレードプライオリティレベル情報を前記データ構造内に記録することであって、前記バイラルアップグレードプライオリティレベルが前記応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成される、記録することと、
を行うために、前記プロセッサに前記通信ネットワーク内の前記ルータをセットアップさせる命令をさらに含む、請求項６に記載のコンピュータプログラム。
【請求項１１】
通信ネットワークがインターネットプロトコル（ＩＰ）通信のプライオリティレベルのバイラルアップグレードを実行することを可能にするように構成されたコンピューティングデバイスであって、
プロセッサと、
メモリと、
前記プロセッサによって実行可能な、前記メモリ内のエンドポイントバイラルアップグレードモジュールであって、前記エンドポイントバイラルアップグレードモジュールが、
第１のエンドポイントデバイスから発信されるＩＰ通信がバイラルアップグレードを実行する資格を有している場合に、前記第１のエンドポイントデバイスから発信されるＩＰ通信においてバイラルアップグレードフラグを設定するために、前記通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることであって、前記第１のエンドポイントデバイスから発信されるＩＰ通信がバイラルアップグレードを実行する資格を有しているか否かは再定義可能である、ことと、
前記第１のエンドポイントデバイスから発信されたＩＰ通信に応答する応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、前記通信ネットワーク内の第２のエンドポイントデバイスをセットアップすることと、
前記通信ネットワーク内のルータを、
応答ベースのアップグレードについてのフラグが前記応答ＩＰ通信において立てられているのを識別し、
前記第１のエンドポイントデバイスに関連するバイラルアップグレードプライオリティレベルになるようにプライオリティレベルを前記応答ＩＰ通信に割り当て、
前記バイラルアップグレードプライオリティレベルに対応するルータプライオリティ転送待ち行列に前記応答ＩＰ通信を入れるために、
セットアップすることと、
を行うように構成される、エンドポイントバイラルアップグレードモジュールと、
を備えるコンピューティングデバイス。
【請求項１２】
前記通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることが、前記第１のエンドポイントデバイス内のエンドポイントバイラルアップグレードモジュールを起動することを含む、請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記通信ネットワーク内の前記第１のエンドポイントデバイスをセットアップすることが、前記第１のエンドポイントデバイスから発信されるＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを設定するために、前記第１のエンドポイントデバイスをセットアップすることを含む、請求項１１に記載のコンピューティングデバイス。
【請求項１４】
応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、前記通信ネットワーク内の前記第２のエンドポイントデバイスをセットアップすることが、指定されたバイラルアップグレードビットが、受信したＩＰ通信のＩＰパケットヘッダ内に設定されているかどうかを識別し、前記指定されたバイラルアップグレードビットが設定されている場合、前記応答ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを設定することによって、前記受信したＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成されたエンドポイントバイラルアップグレードモジュールを用いて、前記第２のエンドポイントデバイスをセットアップすることを含む、請求項１１に記載のコンピューティングデバイス。
【請求項１５】
前記エンドポイントバイラルアップグレードモジュールが、
応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別することと、
前記初期プライオリティＩＰ通信からのフロー情報をデータ構造内に記録することであって、前記フロー情報が応答ＩＰ通信を決定するように構成される、記録することと、
バイラルアップグレードプライオリティレベル情報を前記データ構造内に記録することであって、前記バイラルアップグレードプライオリティレベルが前記応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成される、記録することと、
を行うように構成される、請求項１１に記載のコンピューティングデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書において別途指摘がない限り、本セクションで説明される構成要素は、本出願の特許請求の範囲の先行技術ではなく、また本セクションに含まれることによって先行技術であると認められることはない。
【０００２】
モバイルサービスの使用が増大するにつれて、ネットワーク容量は、特にピーク時間中には、ますます制約されるようになる。モバイル加入者の中には、向上したサービス品質に対してより多く支払うことをおそらく厭わない人達もいるが、価格がより安くなるならばある程度のサービス低下を嫌がらずに受け入れる他の人達もいる。差別化サービス品質（ＱｏＳ）方法は、モバイル通信事業者などのサービスプロバイダが、サービスレベルを顧客の期待により良く合致させる助けとなり得る。
【０００３】
（ＲＦＣ２４７４、ＲＦＣ２４７５、ＲＦＣ２５９７、ＲＦＣ３１４０、ＲＦＣ３２４６、ＲＦＣ３２６０、およびＲＦＣ４５９４において説明されるような）ＤｉｆｆＳｅｒｖアーキテクチャは、プライオリティが高いエンドポイントから発信されたＩＰパケットの配送が、プライオリティがより低いエンドポイントからのＩＰパケットの配送よりも優先され得るような、ＩＰパケット優先順位付けを可能にする。ＤｉｆｆＳｅｒｖアーキテクチャは、比較的ネットワークオーバヘッドが低い、トラフィック管理のためのクラスベースのメカニズムを提供するが、ＤｉｆｆＳｅｒｖは、プライオリティが低いエンドポイントと通信している場合、プライオリティが高いエンドポイントにそのプライオリティの利益を十分に与えない。その理由は、プライオリティが高いエンドポイントからプライオリティが低いエンドポイントに向かう場合、プライオリティが高いＩＰパケットを優先して、高速で高品質な配送を行うことができるが、逆方向では、プライオリティが低いＩＰパケットに対して、より低速のよりエラーの多い配送しか行われないことがあり、その結果、状況によっては、プライオリティが高いエンドポイントについても全体として貧弱なＱｏＳがもたらされるためである。
【０００４】
ＤｉｆｆＳｅｒｖとは対照的に、ＲＦＣ１６３３において説明されるような統合サービス（ＩｎｔＳｅｒｖ）は、トラフィック管理のためのフローベースのメカニズムを提供し、指定されたデータフロー、たとえば、２つのエンドポイント間でやり取りされる通信に対して、ＱｏＳを保証しようと努める。しかし、ＩｎｔＳｅｒｖは、通信ネットワーク内に配備するには、ネットワークオーバヘッドに関してコストが高い。
【発明の概要】
【０００５】
本開示は、バイラルサービス品質アップグレードのための方法およびデバイスについて説明する。いくつかの例示的なデバイスは、初期プライオリティインターネットプロトコル（ＩＰ）通信に応答する応答ＩＰ通信のプライオリティレベルのバイラルアップグレードを実行するように構成されたルータを備えることができる。ルータは、複数の異なるプライオリティレベルに関連する複数の転送待ち行列を備えることができ、ルータは、ルータによって転送されるＩＰパケットのプライオリティレベルを決定し、対応する転送待ち行列にＩＰパケットを入れるように構成される。ルータは、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別するように構成されたバイラルアップグレードモジュールをさらに備えることができる。ルータは、初期プライオリティＩＰ通信からのフロー情報とバイラルアップグレードプライオリティレベル情報とを含む情報を記録するように構成されたデータ構造をさらに備えることができる。フロー情報は、応答ＩＰ通信を決定するように構成することができ、バイラルアップグレードプライオリティレベル情報は、応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成することができる。バイラルアップグレードモジュールは、ルータが応答ＩＰ通信をバイラルアップグレードプライオリティレベルのプライオリティレベルに対応するプライオリティ転送待ち行列に入れるようにするために、応答ＩＰ通信からのフロー情報をデータ構造内のフロー情報と照合し、データ構造からのバイラルアップグレードプライオリティレベルを応答ＩＰ通信に割り当てることによって、データ構造内に記録されたフロー情報およびバイラルアップグレードプライオリティレベルを使用して、応答ＩＰ通信にプライオリティレベルを割り当てるように構成することができる。バイラルアップグレードモジュールは、初期プライオリティＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを検査することによって、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別するように構成することができる。バイラルアップグレードモジュールは、応答ベースのアップグレードについてのフラグがＩＰ通信において立てられているかどうかを識別することによって、たとえば、ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを検査することによって、ＩＰ通信が応答ＩＰ通信であるかどうかを識別するように構成することができる。
【０００６】
いくつかの例示的なデバイスは、通信ネットワークにおけるエンドポイントとしてＩＰパケットを送信および受信するように構成されたコンピューティングデバイスを備えることができ、コンピューティングデバイスは、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが、受信したプライオリティＩＰ通信において立てられているかどうかを識別し、受信したプライオリティＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成されたエンドポイントバイラルアップグレードモジュールを備える。エンドポイントバイラルアップグレードモジュールは、受信したプライオリティＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを検査することによって、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが受信したプライオリティＩＰ通信において立てられているかどうかを識別するように構成することができる。また、エンドポイントバイラルアップグレードモジュールは、応答ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを設定することによって、受信したプライオリティＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成することができる。
【０００７】
いくつかの例示的な方法は、初期プライオリティＩＰ通信に応答する応答ＩＰ通信のプライオリティレベルのバイラルアップグレードを実行するように構成することができ、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別すること、初期プライオリティＩＰ通信からのフロー情報をデータ構造内に記録することであって、フロー情報が応答ＩＰ通信を決定するように構成される、記録すること、バイラルアップグレードプライオリティレベル情報をデータ構造内に記録することであって、バイラルアップグレードプライオリティレベルが応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成される、記録すること、応答ベースのアップグレードについてのフラグが応答ＩＰ通信において立てられているのを識別すること、応答ＩＰ通信からのフロー情報をデータ構造内のフロー情報と照合し、データ構造からのバイラルアップグレードプライオリティレベルを応答ＩＰ通信に割り当てることによって、データ構造内に記録されたフロー情報およびバイラルアップグレードプライオリティレベルを使用して、応答ＩＰ通信にプライオリティレベルを割り当てること、ならびに／またはバイラルアップグレードプライオリティレベルのプライオリティレベルに対応するルータプライオリティ転送待ち行列に応答ＩＰ通信を入れることを含むことができる。応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別することが、初期プライオリティＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを検査することを含むことができる。また、応答ベースのアップグレードについてのフラグがＩＰ通信において立てられているかどうかを識別することが、ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを検査することを含むことができる。
【０００８】
いくつかの例示的な方法は、通信ネットワークがインターネットプロトコル（ＩＰ）通信のプライオリティレベルのバイラルアップグレードを実行することを可能にするように構成することができ、プライオリティエンドポイントデバイスから発信されるＩＰ通信においてバイラルアップグレードフラグを設定するために、通信ネットワーク内のプライオリティエンドポイントデバイスをセットアップする（provisioning）ことと、プライオリティエンドポイントデバイスから発信されたＩＰ通信に応答する応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、通信ネットワーク内のエンドポイントデバイスをセットアップすることと、応答ベースのアップグレードフラグについてのフラグが応答ＩＰ通信において立てられているのを識別し、プライオリティエンドポイントデバイスに関連するバイラルアップグレードプライオリティレベルになるようにプライオリティレベルを応答ＩＰ通信に割り当て、バイラルアップグレードプライオリティレベルに対応するルータプライオリティ転送待ち行列に応答ＩＰ通信を入れるために、通信ネットワーク内のルータをセットアップすることとを含むことができる。通信ネットワーク内のプライオリティエンドポイントデバイスをセットアップすることは、プライオリティエンドポイントデバイス内のエンドポイントバイラルアップグレードモジュールを起動することを含むことができ、エンドポイントバイラルアップグレードモジュールは、たとえば、プライオリティエンドポイントデバイスから発信されるＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを設定するために、プライオリティエンドポイントデバイスをセットアップすることができる。応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、通信ネットワーク内のエンドポイントデバイスをセットアップすることは、指定されたバイラルアップグレードビットが、受信したＩＰ通信のＩＰパケットヘッダ内に設定されているかどうかを識別するように構成されたエンドポイントバイラルアップグレードモジュールを用いて、エンドポイントデバイスをセットアップすることを含むことができる。指定されたバイラルアップグレードビットが設定されている場合、エンドポイントバイラルアップグレードモジュールは、応答ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを設定することによって、受信したＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てることができる。通信ネットワーク内のルータは、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別すること、初期プライオリティＩＰ通信からのフロー情報をデータ構造内に記録することであって、フロー情報が応答ＩＰ通信を決定するように構成される、記録すること、および／またはバイラルアップグレードプライオリティレベル情報をデータ構造内に記録することであって、バイラルアップグレードプライオリティレベルが応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成される、記録することを行うようにセットアップすることもできる。
【０００９】
上述の要約は、例示的なものにすぎず、決して限定的であることは意図していない。上で説明した例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以下の詳細な説明を参照することによって明らかになろう。
【００１０】
本開示の上記および他の特徴は、添付の図面と併せて理解される、以下の説明および添付の特許請求の範囲からより十分に明らかになろう。これらの図面は、本開示に従ったいくつかの実施形態を示しているにすぎず、したがって、本開示の範囲を限定するものと見なされるべきではないことを理解したうえで、添付の図面の使用を通して、本開示が、さらなる特定性と詳細さで説明される。
【図面の簡単な説明】
【００１１】
【図１】本開示の少なくともいくつかの実施形態に従って構成された、バイラルＱｏＳアップグレードを実施するように構成された例示的な通信ネットワークを示す図である。
【図２】本開示の少なくともいくつかの実施形態に従って構成された、エンドポイントの一例としてのコンピューティングデバイスを示すブロック図である。
【図３】本開示の少なくともいくつかの実施形態に従って構成された、エンドポイントデバイスによって実行され得る例示的な方法を示すフロー図である。
【図４】本開示の少なくともいくつかの実施形態に従って構成された、バイラルアップグレードについてのフラグが立てられたＩＰパケットを受信したときの、ルータなどの通信ネットワークデバイスの例示的な動作を示す図である。
【図５】本開示の少なくともいくつかの実施形態に従って構成された、応答ベースのアップグレードについてのフラグが立てられたＩＰパケットを受信したときの、ルータなどの通信ネットワークデバイスの例示的な動作を示す図である。
【図６】本開示の少なくともいくつかの実施形態に従って構成された、ネットワーク通信デバイスによって実行され得る例示的な方法を示すフロー図である。
【図７】本開示の少なくともいくつかの実施形態に従って構成された、通信ネットワークワークステーションデバイスによって実行され得る例示的な方法を示すフロー図である。
【発明を実施するための形態】
【００１２】
以下の詳細な説明では、本明細書の一部を形成する添付の図面を参照する。図面では、文脈からそうではないと分かる場合を除いて、一般に、同様の記号は、同様の構成要素を識別する。詳細な説明、図面、および特許請求の範囲において説明される例示的な実施形態は、限定的であることを意図していない。本明細書で提示される本発明の主旨または範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を施すことができる。本明細書で一般的に説明され、図に示されるような、本開示の態様は、多種多様な異なる構成で配置、置換、結合、および設計することができ、それらのすべてが本明細書において明示的に企図されており、本開示の部分となることが容易に理解されよう。
【００１３】
本開示は、一般に、とりわけ、バイラルサービス品質アップグレードに関する方法、デバイス、および／またはシステムに関する。バイラルサービス品質アップグレードは、プライオリティ通信を転送するデバイスにプライオリティ通信が「感染」することで、その後、転送デバイスがプライオリティ通信に応答する通信のプライオリティレベルをアップグレードできるアーキテクチャを使用して、プライオリティ通信に応答する通信のアップグレードを可能にする。いくつかの実施形態では、バイラルサービス品質アップグレードは、差別化ＱｏＳをサポートするための比較的オーバヘッドが低い手法を提供しつつ、通信フローについてのエンドツーエンドＱｏＳを保証することに関連するネットワークオーバヘッドを招かずに、通信フローについてのＱｏＳを同時にサポートする。
【００１４】
図１は、本開示の少なくともいくつかの実施形態による、バイラルＱｏＳアップグレードを実施するように構成された例示的な通信ネットワーク１００を示す図である。図１は、高プライオリティ移動局エンドポイント１０１と、ルータ１０３を含む基地局１０２と、ルータ１０４と、ルータ１０５と、ルータ１０６と、ルータ１０８を含む基地局１０７と、低プライオリティ移動局エンドポイント１０９とを含む。アウトバウンド通信経路１１１は、高プライオリティ移動局エンドポイント１０１から始まり、基地局１０２およびルータ１０３、ルータ１０４、ルータ１０５、ルータ１０６、基地局１０７およびルータ１０８と辿って、低プライオリティ移動局エンドポイント１０９で終わる。インバウンド通信経路１１２は、低プライオリティ移動局エンドポイント１０９から始まり、基地局１０７およびルータ１０８、ルータ１０６、ルータ１０４、基地局１０２およびルータ１０３と辿って、低プライオリティ移動局エンドポイント１０１で終わる。図１では、通信経路１１１および通信経路１１２沿いの構成要素は、１つの構成要素から次の構成要素への通信データの伝送を可能にする有線または無線通信接続によって結合される。
【００１５】
図１では、高プライオリティ移動局エンドポイント１０１は、たとえば、エンドポイント１０１から発信される通信に、応答通信のバイラルアップグレードを行う資格を与えられたプライオリティ通信であるとして、フラグを立て、プライオリティ通信を通信ネットワーク１００を介して低プライオリティ移動局エンドポイント１０９に送信するように構成することができる。通信ネットワーク１００は、プライオリティ通信を基地局１０２において受信し、プライオリティ通信をアウトバウンド通信経路１１１に沿って低プライオリティ移動局エンドポイント１０９まで転送する。通信経路１１１内のルータ１０３、１０４、１０５、１０６、１０８の各々は、プライオリティ通信のＱｏＳを適切に優先し、プライオリティ通信が応答通信のバイラルアップグレードを行う資格を与えられていることを識別し、ルータが後で応答通信を識別し、優先することを可能にする情報を記録するように構成することができる。低プライオリティ移動局エンドポイント１０９は、プライオリティ通信が応答通信のバイラルアップグレードを行う資格を与えられていることを識別し、受信したプライオリティＩＰ通信に応答する通信において応答ベースのアップグレードについてのフラグを立て、応答通信を通信ネットワーク１００を介して高プライオリティ移動局エンドポイント１０１に送信するように構成することができる。通信ネットワーク１００は、応答通信を基地局１０７において受信し、応答通信をインバウンド通信経路１１２に沿って高プライオリティ移動局エンドポイント１０１まで転送するように構成することができる。通信経路１１２内のルータ１０８、１０６、１０４、１０３の各々は、応答通信が応答ベースのアップグレードを行う資格を与えられていることを識別し、応答通信のＱｏＳプライオリティレベルを、プライオリティ通信がバイラルアップグレードを行う資格を与えられたレベルまでアップグレードするように構成することができる。
【００１６】
いくつかの実施形態では、インバウンド通信経路１１２は、図１に示されるように、アウトバウンド通信経路１１１内に存在するルータだけを通過することができる。この場合、通信経路１１２内のルータのすべては、バイラルアップグレードを実行することができ、それによって、応答通信のプライオリティレベルを高めることができる。いくつかの実施形態では、インバウンド通信経路１１２は、アウトバウンド通信経路１１１内に存在しない、またはさもなければ、本明細書で説明するようなバイラルアップグレードを実行するようには構成されていない、ルータを通過することができる。この場合、通信経路１１２内のルータのいくつかは、バイラルアップグレードを実行することができず、応答通信のプライオリティレベルを高めることができない。それにもかかわらず、アウトバウンド通信経路１１１内に存在し、したがって、応答通信のバイラルアップグレードを実行するルータの集団的なアクションだけでも、応答通信のＱｏＳの向上を適切に保証するのに十分なことがある。
【００１７】
図２は、本開示の少なくともいくつかの実施形態に従って構成された、エンドポイントの一例としてのコンピューティングデバイス２００のブロック図である。コンピューティングデバイス２００は、モバイルフォンなど、フォームファクタが小さいポータブル（またはモバイル）電子デバイスの一部として実施することができる。コンピューティングデバイス２００は、ラップトップコンピュータと非ラップトップコンピュータの両方を含むパーソナルコンピュータとして実施することもできる。非常に基本的な構成２０１においては、コンピューティングデバイス２００は、１つまたは複数のプロセッサ２１０と、システムメモリ２２０とを含むことができる。メモリバス２３０は、プロセッサ２１０とシステムメモリ２２０の間で通信するために使用することができる。
【００１８】
所望の構成に応じて、プロセッサ２１０は、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはそれらの任意の組合せを含むが、それらに限定されない、任意のタイプを取ることができる。プロセッサ２１０は、レベル１キャッシュ２１１およびレベル２キャッシュ２１２などの１つまたは複数のレベルのキャッシングと、プロセッサコア２１３と、レジスタ２１４とを含むことができる。プロセッサコア２１３は、算術論理演算ユニット（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはそれらの任意の組合せを含むことができる。メモリコントローラ２１５も、プロセッサ２１０とともに使用することができ、またはいくつかの実施では、メモリコントローラ２１５は、プロセッサ２１０の内部部品とすることができる。
【００１９】
所望の構成に応じて、システムメモリ２２０は、（ＲＡＭなどの）揮発性メモリ、（ＲＯＭ、フラッシュメモリなどの）不揮発性メモリ、またはそれらの任意の組合せを含むが、それらに限定されない、任意のタイプを取ることができる。システムメモリ２２０は、一般に、オペレーティングシステム２２１と、１つまたは複数のアプリケーション２２２と、プログラムデータ２２５とを含むことができる。アプリケーション２２２は、たとえば、（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３を含むことができる。プログラムデータ２２５は、モジュール２２３によって使用できるエンドポイントバイラルアップグレードデータ２２６を含むことができる。いくつかの実施形態では、（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３は、理解されるように、オペレーティングシステム２２１内、または（１つまたは複数の）通信デバイス２８０内に配置することができる。
【００２０】
コンピューティングデバイス２００が、図１に示される高プライオリティ移動局エンドポイント１０１など、バイラルアップグレード特権を与えられた高プライオリティエンドポイントとして機能する場合、（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３は、プライオリティエンドポイントデバイスから発信されたＩＰ通信においてバイラルアップグレードフラグを設定するように構成することができる。たとえば、（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３は、アウトバウンドＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを設定することによって、バイラルアップグレードを行う資格を与えられたプライオリティＩＰ通信として、アウトバウンドＩＰ通信においてフラグを立てるように構成することができる。いくつかの実施形態では、指定されたバイラルアップグレードビットは、ＩＰヘッダの差別化サービスフィールド内の１つまたは複数のビットを含むことができる。いくつかの実施形態では、（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３は、デバイス２００において受信したセットアップ命令に基づいて、起動および／または停止することができる。たとえば、（１つまたは複数の）モジュール２２３は、加入者がモバイル通信プランにバイラルアップグレードサービスを追加した後、発信通信においてバイラルアップグレードフラグを設定するために起動することができ、加入者がモバイル通信プランからバイラルアップグレードサービスを外した場合、（バイラルアップグレードフラグの設定を中止するために）停止することができる。
【００２１】
コンピューティングデバイス２００が、図１に示される高プライオリティ移動局エンドポイント１０１および／または低プライオリティ移動局エンドポイント１０９など、任意のエンドポイントとして機能する場合、（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３は、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが受信したプライオリティＩＰ通信において立てられているかどうかを識別し、受信したプライオリティＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成することができる。（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３は、たとえば、受信したプライオリティＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを検査することによって、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが、受信したプライオリティＩＰ通信において立てられているかどうかを識別するように構成することができる。（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３は、たとえば、初期プライオリティ通信においてフラグを立てるために使用されるビットとは異なるビットとすることができる、たとえばＩＰヘッダの差別化サービスフィールド内の１つまたは複数のビットなどの、応答ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを設定することによって、受信したプライオリティＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成することができる。
【００２２】
いくつかの実施形態では、（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３、またはその部分、すなわち、高プライオリティエンドポイントがバイラルアップグレードフラグを設定することを可能にする部分は、上で説明したようなリモート起動／セットアップのために構成することができる。たとえば、現在はバイラルアップグレードに対する権利を与えられていない加入者は、加入者のモバイル通信プランのための機能として、バイラルアップグレードを追加することを望むことができる。ネットワークサービスプロバイダは、アウトバウンド通信におけるバイラルアップグレードフラグの設定を開始するために、加入者のモバイルフォン内の（１つまたは複数の）エンドポイントバイラルアップグレードモジュール２２３をリモートで起動することができる。
【００２３】
コンピューティングデバイス２００は、追加の特徴または機能、ならびに基本構成２０１と任意の必要なデバイスおよびインタフェースの間の通信を円滑化するための追加のインタフェースを有することができる。たとえば、バス／インタフェースコントローラ２４０は、ストレージインタフェースバス２４１を介する、基本構成２０１と１つまたは複数のデータ記憶装置２５０の間の通信を円滑化するために使用することができる。データ記憶装置２５０は、取外し式記憶装置２５１、非取外し式記憶装置２５２、またはそれらの組合せとすることができる。取外し式記憶装置および非取外し式記憶装置の例は、いくつかの名前を挙げると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）などの磁気ディスク装置、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、ならびにテープドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施された、揮発性および不揮発性の取外し式および非取外し式媒体を含むことができる。
【００２４】
システムメモリ２２０、取外し式ストレージ２５１、および非取外し式ストレージ２５２はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気記憶装置、または所望の情報を記憶するのに使用でき、コンピューティングデバイス２００によってアクセスできる他の任意の媒体を含むが、それらに限定されない。そのようなコンピュータ記憶媒体はいずれも、デバイス２００の一部とすることができる。
【００２５】
コンピューティングデバイス２００は、バス／インタフェースコントローラ２４０を介する、様々なインタフェース装置（たとえば、出力インタフェース、周辺インタフェース、および通信インタフェース）から基本構成２０１への通信を円滑化するための、インタフェースバス２４２も含むことができる。例示的な出力装置２６０は、１つまたは複数のＡ／Ｖポート２６３を介してディスプレイまたはスピーカなどの様々な外部装置と通信するように構成できる、グラフィックス処理ユニット２６１およびオーディオ処理ユニット２６２を含む。例示的な周辺インタフェース２７０は、１つまたは複数のＩ／Ｏポート２７３を介して入力装置（たとえば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など）または他の周辺装置（たとえば、プリンタ、スキャナなど）などの外部装置と有線または無線接続を介して通信するように構成できる、シリアルインタフェースコントローラ２７１またはパラレルインタフェースコントローラ２７２を含むことができる。マウスおよびキーボードなどの他の従来のＩ／Ｏ装置も同様に接続することができる。例示的な通信装置２８０は、１つまたは複数の通信ポート２８２を介する、ネットワーク通信による、たとえば、図１に示される基地局１０７および／もしくは１０２またはインターネットサービスプロバイダ（ＩＳＰ）サーバなどのサーバなど、１つまたは複数の他のコンピューティングデバイス２９０との通信を円滑化するように構成できる、ネットワークコントローラ２８１を含む。
【００２６】
コンピュータ記憶媒体は、通信媒体の一例とすることができる。通信媒体は、搬送波または他のトランスポートメカニズムなどの変調データ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって一般に具現することができ、任意の情報配送媒体を含むことができる。「変調データ信号」は、情報を信号内に符号化するような方法で、その特性の１つまたは複数が設定または変更された信号とすることができる。限定することなく、例を挙げると、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響、無線周波（ＲＦ）、赤外線（ＩＲ）、および他の無線媒体などの無線媒体を含むことができる。
【００２７】
図３は、本開示の少なくともいくつかの実施形態に従って構成された、エンドポイントデバイスによって実行され得る例示的な方法を示すフロー図である。例示的なフロー図は、ブロック３０１〜３０６によって示されるような１つまたは複数の動作／モジュールを含むことができ、それらは、方法において実行され得るような動作、デバイス２００内の機能モジュール、および／またはコンピュータ可読媒体３５０上に記録され得る命令を表す。示されたブロック３０１〜３０６は、ブロック３０１の「ＩＰ通信を受信する」、ブロック３０２の「バイラルアップグレードビットを検査する」、ブロック３０３の「バイラルアップグレードビットは設定されているか？」、ブロック３０４の「応答ＩＰ通信において応答アップグレードビットを設定する」、ブロック３０５の「応答アップグレードビットなし」、および／またはブロック３０６の「応答ＩＰ通信を送信する」のうちの１つまたは複数を含む機能的動作を提供するように構成することができる。
【００２８】
図３では、ブロック３０１〜３０３は、順番に実行されるブロックとして示されており、ブロック３０４〜３０５は、それぞれ、ブロック３０３の「はい」と「いいえ」の結果に応じた二者択一ブロックとして示されており、ブロック３０６は、ブロック３０４が実行されたか、それともブロック３０５が実行されたかにかかわらず、順番における最終ブロックとして示されている。しかし、都合に応じて特定の実施形態に適するようにブロックを並べ替えることができ、いくつかの実施形態ではブロックまたはその部分を同時に実行することができることが理解されよう。いくつかの例では、様々なブロックを除去すること、さらなるブロックに分割すること、および／または他のブロックと組み合わせることができることも理解されよう。
【００２９】
図３は、通信ネットワーク内のエンドポイントとしてＩＰパケットを送信および受信するように構成されたコンピューティングデバイスが、バイラルアップグレードについてのフラグが立てられた通信に応答する通信においてフラグを立てることができ、それによって、応答通信が、通信ネットワークによって、引き上げられたプライオリティレベルを用いて処理され得る、例示的な方法を示している。
【００３０】
ブロック３０１「ＩＰ通信を受信する」において、ＩＰ通信が、デバイス２００によって受信される。ＩＰ通信は、１つまたは複数のＩＰパケットを含むことができ、一般に、各ＩＰパケットは、ヘッダおよびペイロードを含む。ヘッダは、たとえばＩＰｖ４またはＩＰｖ６などの、適用可能なＩＰ仕様に規定されているような様々な情報を含む。ブロック３０１には、ブロック３０２が続くことができる。
【００３１】
ブロック３０２「バイラルアップグレードビットを検査する」において、受信したＩＰ通信に関連するＩＰパケットヘッダの１つまたは複数を、指定されたバイラルアップグレードビットの状態に関して検査することができる。たとえば、ＩＰヘッダの差別化サービスフィールド内のビットのうちの１つまたは複数を、バイラルアップグレードビットとして指定することができ、指定されたビットを検査することができる。ブロック３０２には、ブロック３０３が続くことができる。
【００３２】
ブロック３０３「バイラルアップグレードビットは設定されているか？」において、１つまたは複数のバイラルアップグレードビットの状態が決定される。エンドポイントバイラルアップグレードモジュールは、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが、受信したプライオリティＩＰ通信において立っているかどうかを識別するように構成することができる。いくつかの実施形態では、バイラルアップグレードビットの状態は、「はい」または「いいえ」のどちらかとすることができ、「はい」は、受信したＩＰ通信が、応答通信に応答ベースのアップグレードを行う資格を与えるバイラルアップグレード特権を有することを示し、「いいえ」は、バイラルアップグレード特権がないことを示す。いくつかの実施形態では、たとえば、バイラルアップグレード特権に関連するプライオリティレベル、および／または応答ベースのアップグレードを利用するためにデバイス２００が満たさなければならない条件など、さらなる情報を提供するために、複数のバイラルアップグレードビットを使用することができる。ブロック３０３には、ブロック３０４またはブロック３０５が続くことができる。
【００３３】
ブロック３０４「応答ＩＰ通信において応答アップグレードビットを設定する」において、エンドポイントバイラルアップグレードモジュールは、受信したプライオリティＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成することができる。ブロック３０４は、ブロック３０３における「はい」判定に応答して実行することができる。応答ＩＰ通信においてフラグを立てるため、受信したＩＰ通信に応答する通信において、指定された応答アップグレードビットを設定することができる。デバイスによって複数の通信が同時に送信される場合、どのＩＰ通信がバイラルアップグレード特権を有する通信に応答するものかを決定することができる。いくつかの実施形態では、これは、バイラルアップグレード特権を有するエンドポイントの宛先アドレスを識別するデータを通して達成することができる。バイラルアップグレード特権を有するエンドポイントを宛先とするＩＰパケットに対して、応答アップグレードビットを設定することができる。応答アップグレードビットを設定するため、応答通信に関連するＩＰパケットヘッダの、たとえば差別化サービスフィールド内の１つまたは複数の指定されたビットを、ＩＰパケットに応答ベースのアップグレードについての標識が施されていることを示すために事前決定しておいた状態に設定することができる。ブロック３０４には、ブロック３０６が続くことができる。
【００３４】
ブロック３０５「応答アップグレードビットなし」において、ブロック３０３における「いいえ」判定に応答して、受信したＩＰ通信に応答する通信において、指定された応答アップグレードビットを設定することはされない。たとえば、ＩＰパケットヘッダの差別化サービスフィールド内の１つまたは複数のビットを、ＩＰパケットに応答ベースのアップグレードを行う資格を与えないことを示すために事前決定しておいた状態に設定することができ、および／またはそのような状態のままにしておくことを可能にすることができる。ブロック３０５には、ブロック３０６が続くことができる。
【００３５】
ブロック３０６「応答ＩＰ通信を送信する」において、応答通信に対応するＩＰパケットを、通信ネットワークに送信して、宛先に転送することができる。ＩＰパケットは、通信ネットワークによって、１つまたは複数のバイラルアップグレードビットの状態に応じて選択的にアップグレードプライオリティレベルを用いて処理することができる。
【００３６】
図３の方法は、すべての実施形態において実施する必要はない。本明細書で説明するように、いくつかの実施形態では、通信ネットワーク内のルータなどのデバイスは、応答ベースのアップグレードを行う資格を与えられた応答通信を識別するために、応答アップグレードビット以外の情報を使用することによって、応答アップグレードビットの助けを借りずに、応答通信を識別するように構成することができる。たとえば、すべてのＩＰパケットヘッダは、送信元識別子および宛先識別子を含み、いくつかの実施形態では、応答ベースのアップグレードの対象となる応答通信を識別するために、送信元識別子および宛先識別子を使用することができる。
【００３７】
図４は、本開示の少なくともいくつかの実施形態に従って構成された、バイラルアップグレードについてのフラグが立てられたＩＰパケットを受信したときの、ルータなどの通信ネットワークデバイス４００の例示的な動作を示す図である。図４は、先行デバイス４６０と、ルータ４００と、後続デバイス４７０とを示している。ルータ４００は、受信したＩＰパケットヘッダ４１０と、バイラルアップグレードモジュール４２０と、バイラルアップグレードテーブル４３０と、ＱｏＳプライオリティ決定モジュール４４０と、転送待ち行列４５１、４５２、４５３とを備える。ＩＰパケットヘッダ４１０は、バイラルアップグレードビット４１１と、プライオリティレベル情報４１２と、フロー情報４１３とを含む。バイラルアップグレードテーブル４３０は、フロー情報の列と、プライオリティレベル情報の列とを含む。デバイス４６０、４００、４７０は、一般に、図２に示されるようなコンピューティングデバイス２００の任意の構成要素を備えることができ、バイラルアップグレードモジュール４２０およびバイラルアップグレードテーブル４３０が付加された、通信ネットワーク内のルータまたは他のデバイスとして構成することができる。
【００３８】
全体として、図４は、通信ネットワーク内の先行デバイス４６０から、ＩＰパケットおよび対応するＩＰパケットヘッダ４１０を受信する、ルータ４００を示している。ルータ４００は、通信ネットワーク内のいくつかの後続デバイス４７０にＩＰパケットを適切に転送するように構成することができる。ルータは、たとえば、ＱｏＳプライオリティ決定モジュール４４０の動作によって、ＩＰパケットを適切な転送待ち行列４５１、４５２、または４５３に入れるために、プライオリティレベル情報４１２を使用するように構成することができる。待ち行列４５１への実線は、たとえば、ＩＰパケットを転送待ち行列４５１に割り当てることができることを示しており、一方、待ち行列４５２および４５３への破線は、ＱｏＳプライオリティ決定モジュール４４０が、適切な場合には、待ち行列４５２および４５３への割り当ての選択肢も有することを示している。バイラルアップグレードモジュール４２０は、バイラルアップグレードについてのフラグがＩＰパケットにおいて立てられていることを、たとえばバイラルアップグレードビット４１１を読み取ることによって発見した場合、ヘッダ４１０に関連する通信に応答する通信のプライオリティレベルを識別し、設定する際に、後で使用するため、フロー情報およびプライオリティレベル情報をバイラルアップグレードテーブル４３０内に記録すること、または書き込むことができる。
【００３９】
より具体的には、図４は、ＩＰパケットヘッダ４１０を含む初期プライオリティＩＰ通信に応答する応答ＩＰ通信のプライオリティレベルのバイラルアップグレードを実行するように構成されたルータ４００を提供する。ルータ４００は、複数の異なるプライオリティレベルに関連する複数の転送待ち行列４４１、４４２、４４３を備え、たとえば、待ち行列４４１は、最高のＱｏＳプライオリティレベルに関連し、待ち行列４４２は、中間のＱｏＳプライオリティレベルに関連し、待ち行列４４３は、最低のＱｏＳプライオリティレベルに関連する。ルータ４００は、ＩＰパケットヘッダ４１０に関連するパケットなど、ルータ４００によって転送されるＩＰパケットのプライオリティレベルを決定し、対応する転送待ち行列にＩＰパケットを入れるように構成される。適切な転送待ち行列へのＩＰパケットの割り当ては、たとえば、ＱｏＳプライオリティ決定モジュール４４０によって達成することができる。いくつかの実施形態では、バイラルアップグレードモジュール４２０は、本開示の助けを受けて理解されるように、ＱｏＳプライオリティ決定モジュール４４０内に含めることができる。
【００４０】
ルータ４００は、たとえばＩＰパケットヘッダ４１０内に設定された指定されたバイラルアップグレードビットの使用を通して、初期プライオリティＩＰ通信、たとえばＩＰパケットヘッダ４１０を含む通信などにおいて、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが立てられているかどうかを識別するように構成された、バイラルアップグレードモジュール４２０をさらに備えることができる。バイラルアップグレードビットが設定されている場合、バイラルアップグレードモジュール４２０は、それに応答して、フロー情報４１３およびプライオリティレベル情報４１２をバイラルアップグレードテーブル４３０内に記録するように構成することができる。バイラルアップグレードテーブル４３０は、初期プライオリティＩＰ通信、たとえばＩＰパケットヘッダ４１０を含む通信などからのフロー情報と、バイラルアップグレードプライオリティレベル情報とを記録するように構成されたデータ構造を備えることができる。
【００４１】
フロー情報は、応答ＩＰ通信を決定するように構成された任意の情報を含むことができる。いくつかの実施形態では、フロー情報は、ＩＰパケットヘッダ４１０からの送信元アドレスおよび／または宛先アドレスを含むことができる。いくつかの実施形態では、フロー情報は、ＩＰパケットヘッダ４１０からのフローラベルを含むことができる。利用可能なフロー情報は、どのバージョンのインターネットプロトコル（ＩＰ）が実施されるかに依存し得る。たとえば、フローラベルは、ＩＰバージョン４（ＩＰｖ４）のパケットヘッダの一部ではなく、そのため、ＩＰｖ４のパケットヘッダを用いて動作するように構成された実施形態では、好ましくは他の情報に依存することができる。フローラベルは、近い将来に支配的なプロトコルになると予測されるＩＰバージョン６（ＩＰｖ６）のパケットヘッダのために使用され、そのため、ＩＰｖ６のパケットヘッダを用いて動作するように構成された実施形態では、フローラベルがフロー情報についての適切な選択となり得る。
【００４２】
バイラルアップグレードプライオリティレベル情報は、応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成された任意の情報を含むことができる。いくつかの実施形態では、バイラルアップグレードプライオリティレベル情報は、初期プライオリティＩＰ通信のＩＰパケットヘッダ４１０に関連するＩＰパケットのプライオリティレベルを含むことができる。バイラルアップグレードプライオリティレベルは、ＩＰパケットヘッダ４１０において指定される、またはルータ４００によって、たとえばＱｏＳプライオリティ決定モジュール４４０によって指定される、いくつかの異なるプライオリティレベルとすることも可能である。
【００４３】
図５は、本開示の少なくともいくつかの実施形態に従って構成された、応答ベースのアップグレードについてのフラグが立てられたＩＰパケットを受信したときの、ルータなどの通信ネットワークデバイス４００の例示的な動作を示す図である。図５は、受信したＩＰパケットヘッダ４１０を例外として、図４の構成要素を示している。受信したＩＰパケットヘッダ４１０の代わりに、応答アップグレードビット５１１と、ネイティブプライオリティレベル情報５１２と、フロー情報５１３とを含む、受信したＩＰパケットヘッダ５１０が存在する。
【００４４】
図５は、ヘッダ４１０を含む通信に応答する、ＩＰパケットヘッダ５１０を含むＩＰ通信を受信したときの、ルータ４００を示している。いくつかの実施形態では、バイラルアップグレードモジュール４２０は、ＩＰ通信において応答ベースのアップグレードについてのフラグが立てられているかどうかを識別することによって、ＩＰ通信が応答ＩＰ通信であるかどうかを識別するように構成することができる。これは、たとえば、ＩＰ通信のＩＰパケットヘッダ５１０内の指定された応答アップグレードビットを検査または読み取ることによって達成することができる。応答アップグレードビットが設定されている場合、バイラルアップグレードモジュール４２０は、バイラルアップグレードテーブル４３０によって表されるデータ構造内に記録されたフロー情報およびバイラルアップグレードプライオリティレベルを使用して、応答ＩＰ通信にプライオリティレベルを割り当てるように構成することができる。バイラルアップグレードモジュール４２０は、応答ＩＰ通信からのフロー情報をデータ構造内のフロー情報と照合するように構成することができる。いくつかの実施形態では、バイラルアップグレードモジュール４２０は、バイラルアップグレードテーブル４３０内のフロー情報５１３を検索することができる。バイラルアップグレードテーブル４３０内にフロー情報５１３が見つかった場合、見つからなければＱｏＳプライオリティ決定モジュール４４０において行われたであろうプライオリティレベル割り当てをオーバライドするために、対応するプライオリティレベル情報を使用することができる。ルータ４００は、データ構造４３０からのバイラルアップグレードプライオリティレベルを応答ＩＰ通信に割り当てるように構成することができ、それによって、ルータは、応答ＩＰ通信を、バイラルアップグレードプライオリティレベルのプライオリティレベルに対応する４５１などのプライオリティ転送待ち行列に入れる。
【００４５】
いくつかの実施形態では、バイラルアップグレードテーブル４３０は、フロー情報およびバイラルアップグレードプライオリティレベル情報に加えて、ＩＰヘッダ４１０を含む通信などの初期プライオリティＩＰ通信の時刻を記録するように構成することができる。ルータ４００は、所定の存続期間よりもエントリが古くなった場合、バイラルアップグレードテーブル４３０からエントリを削除するように構成することができる。エントリの削除は、バイラルアップグレードテーブル４３０または他のデータ構造を小さく維持することができ、それによって、テーブル検索に伴うオーバヘッドを低減することができる。ルータは、応答ベースのアップグレードについてのフラグが立てられているが、対応するフロー情報をデータ構造が含んでいないＩＰ通信に、ネイティブプライオリティレベルを割り当てるように構成することができる。
【００４６】
いくつかの実施形態では、５１１などの応答アップグレードビットの使用を必要としないアーキテクチャを利用することができる。代わりに、ＩＰパケットを以前のＩＰ通信に応答するものとして識別するいずれかの情報が、４３０などのデータ構造内のバイラルアップグレードプライオリティ情報の検索をトリガすることができる。たとえば、受信したＩＰパケットの送信元アドレスおよび宛先アドレスを、先に転送されたパケットから記録された情報と照合する検査を行うことができる。送信元アドレスが先の宛先アドレスと、また宛先アドレスが先の送信元アドレスと一致した場合は常に、応答パケットのバイラルアップグレードを実施するために、先のＩＰパケットから記録された対応するプライオリティレベル情報を使用することができる。ＩＰパケットがＩＰｖ６を実施する場合、応答ＩＰパケットを識別するために、フローラベル情報も使用することができる。
【００４７】
図６は、本開示の少なくともいくつかの実施形態に従って構成された、ネットワーク通信デバイス４００によって実行され得る例示的な方法を示すフロー図である。例示的なフロー図は、ブロック６０１〜６０６によって示されるような１つまたは複数の動作／モジュールを含むことができ、それらは、方法において実行され得るような動作、デバイス４００内の機能モジュール、および／またはコンピュータ可読媒体６００上に記録され得る命令を表す。示されたブロック６０１〜６０６は、ブロック６０１の「初期ＩＰ通信を受信する」、ブロック６０２の「バイラルアップグレードビットを検査する」、ブロック６０３の「フロー情報およびバイラルアップグレードプライオリティレベル情報を記録する」、ブロック６０４の「応答ＩＰ通信を受信する」、ブロック６０５の「応答アップグレードビットを検査する」、および／またはブロック６０６の「記録されたプライオリティレベル情報を応答ＩＰ通信に割り当て、応答ＩＰ通信を対応するプライオリティ待ち行列に入れる」のうちの１つまたは複数を含む機能的動作を提供するように構成することができる。
【００４８】
図６では、ブロック６０１〜６０６は、ブロック６０１を先頭、ブロック６０６を末尾として、順番に実行されるように示されている。しかし、都合に応じて特定の実施形態に適するようにこれらのブロックを並べ替えることができ、いくつかの実施形態ではこれらのブロックまたはその部分を同時に実行することができることが理解されよう。いくつかの例では、様々なブロックを除去すること、さらなるブロックに分割すること、および／または他のブロックと組み合わせることができることも理解されよう。
【００４９】
図６は、初期プライオリティＩＰ通信に応答する応答インターネットプロトコル（ＩＰ）通信のプライオリティレベルのバイラルアップグレードを実行するように構成された例示的な方法を示している。
【００５０】
ブロック６０１「初期ＩＰ通信を受信する」において、図４および図５に示されるようなルータなどのデバイス４００において、１つまたは複数のＩＰパケットを含む初期ＩＰ通信を受信することができる。デバイス４００は、適切なＱｏＳプライオリティレベルでＩＰパケットを後続デバイスに転送するように構成することができ、さらに、本明細書で説明されるような、応答通信をアップグレードするためのバイラルアップグレード技術を実施することができる。ブロック６０１には、ブロック６０２が続くことができる。
【００５１】
ブロック６０２「バイラルアップグレードビットを検査する」において、ルータ４００は、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別するように構成することができる。応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別することは、初期プライオリティＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを検査することを含むことができる。いくつかの実施形態では、指定されたバイラルアップグレードビットは、受信したすべてのＩＰパケットについて検査することができる。指定されたバイラルアップグレードビットが設定されている場合、ブロック６０３が実行される。設定されていない場合、受信したＩＰパケットからの情報は、記録する必要がない。ブロック６０２には、ブロック６０３が続くことができる。
【００５２】
ブロック６０３「フロー情報およびバイラルアップグレードプライオリティレベル情報を記録する」において、デバイス４００は、初期プライオリティＩＰ通信からのフロー情報をデータ構造内に記録することであって、フロー情報が応答ＩＰ通信を決定するように構成される、記録することと、バイラルアップグレードプライオリティレベル情報をデータ構造内に記録することであって、バイラルアップグレードプライオリティレベルが応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成される、記録することとを行うように構成することができる。いくつかの実施形態では、フロー情報は、フローラベル、初期プライオリティＩＰ通信の送信元ＩＰアドレス、および初期プライオリティＩＰ通信の宛先ＩＰアドレスのうちの１つまたは複数を含むことができる。いくつかの実施形態では、バイラルアップグレードプライオリティレベル情報は、初期プライオリティＩＰ通信のプライオリティレベルを含むことができる。いくつかの実施形態では、デバイス４００は、初期プライオリティＩＰ通信の時刻も記録し、所定の存続期間よりもエントリが古くなった場合、データ構造からエントリを削除するように構成することができる。この構成は、データ構造が大きくなるのを防止することができる。データ構造のサイズは、たとえば、エントリの存続期間および削除について適切な方針を設定することによって管理することができる。データ構造の許容できるサイズは、短い検索時間を目標とする場合、処理能力およびキャッシュサイズに応じて変化し得る。ブロック６０３には、ブロック６０４が続くことができる。
【００５３】
ブロック６０４「応答ＩＰ通信を受信する」において、初期ＩＰ通信を受信した後しばらくしてから、１つまたは複数の応答ＩＰパケットを含む応答ＩＰ通信をデバイス４００において受信することができる。デバイス４００は、以下で説明するようにデータ構造内に記録された情報を参照して決定することができる、適切なＱｏＳプライオリティレベルで、応答ＩＰパケットを後続デバイスに転送するように構成することができる。ブロック６０４には、ブロック６０５が続くことができる。
【００５４】
ブロック６０５「応答アップグレードビットを検査する」において、デバイス４００は、応答ベースのアップグレードについてのフラグが立てられている応答ＩＰ通信を識別するように構成することができる。いくつかの実施形態では、応答ベースのアップグレードについてのフラグがＩＰ通信において立てられているかどうかを識別することは、ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを検査することを含むことができる。指定された応答アップグレードビットは、たとえば、すべての着信ＩＰパケットについて検査することができる。指定された応答アップグレードビットが設定されている場合、ブロック６０６を実行することができる。指定された応答アップグレードビットが設定されていない場合、ＩＰ通信は、たとえばバイラルアップグレードを行わないなど、通常通りに処理することができる。ブロック６０５には、ブロック６０６が続くことができる。
【００５５】
ブロック６０６「記録されたプライオリティレベル情報を応答ＩＰ通信に割り当て、応答ＩＰ通信を対応するプライオリティ待ち行列に入れる」において、デバイス４００は、応答ＩＰ通信からのフロー情報をデータ構造内のフロー情報と照合し、データ構造からのバイラルアップグレードプライオリティレベルを応答ＩＰ通信に割り当てることによって、データ構造内に記録されたフロー情報およびバイラルアップグレードプライオリティレベルを使用して、プライオリティレベルを応答ＩＰ通信に割り当てるように構成することができる。デバイス４００は、バイラルアップグレードプライオリティレベルのプライオリティレベルに対応するルータプライオリティ転送待ち行列に応答ＩＰ通信を入れるように構成することができる。いくつかの実施形態では、デバイス４００は、応答ベースのアップグレードについてのフラグが立てられているが、対応するフロー情報をデータ構造が含んでいないＩＰ通信に、ネイティブプライオリティレベルを割り当てるように構成することができる。
【００５６】
図７は、本開示の少なくともいくつかの実施形態に従って構成された、通信ネットワークワークステーションデバイス７００によって実行され得る例示的な方法を示すフロー図である。例示的なフロー図は、ブロック７０１〜７０５によって示されるような１つまたは複数の動作／モジュールを含むことができ、それらは、方法において実行され得るような動作、通信ネットワークワークステーションデバイス７００内の機能モジュール、および／またはコンピュータ可読媒体７５０上に記録され得る命令を表す。示されたブロック７０１〜７０５は、ブロック７０１の「（１つまたは複数の）プライオリティエンドポイントデバイスをセットアップする」、ブロック７０２の「応答ベースのアップグレードのためにエンドポイントデバイスをセットアップする」、ブロック７０３の「（１つまたは複数の）ルータをセットアップする」、ブロック７０４の「初期プライオリティＩＰ通信識別および情報記録」、および／またはブロック７０５の「応答ＩＰ通信識別および応答ベースのアップグレード」のうちの１つまたは複数を含む機能的動作を提供するように構成することができる。
【００５７】
図７では、ブロック７０１〜７０５は、ブロック７０１を先頭、ブロック７０５を末尾として、順番に実行されるように示されている。しかし、都合に応じて特定の実施形態に適するようにこれらのブロックを並べ替えることができ、いくつかの実施形態ではこれらのブロックまたはその部分を同時に実行することができることが理解されよう。いくつかの例では、様々なブロックを除去すること、さらなるブロックに分割すること、および／または他のブロックと組み合わせることができることも理解されよう。
【００５８】
図７は、通信ネットワークがＩＰ通信のプライオリティレベルのバイラルアップグレードを実行することを可能にし得る例示的な方法を示している。通信ネットワークワークステーションデバイス７００は、一般に、図２に示されるようなコンピューティングデバイスの要素を備えることができる。通信ネットワークワークステーションデバイス７００は、通信ネットワークの態様をセットアップするために、たとえば通信ネットワーク技術者によって操作されるワークステーションとすることができる。いくつかの実施形態では、通信ネットワークワークステーションデバイス７００は、図７に示される様々なステップを自動的に実行するように構成されたサーバと交換可能とすることができる。
【００５９】
ブロック７０１「（１つまたは複数の）プライオリティエンドポイントデバイスをセットアップする」において、デバイス７００は、プライオリティエンドポイントデバイスから発信されるＩＰ通信においてバイラルアップグレードフラグを設定するために、通信ネットワーク内の１つまたは複数のプライオリティエンドポイントデバイスをセットアップするように構成することができる。一般に、通信ネットワーク内のデバイスをセットアップすることは、デバイスがセットアップされる動作を実行することが可能なように、適切なデータ、証明書、および／またはソフトウェアを伝達することを含むことができる。いくつかの実施形態では、通信ネットワーク内のプライオリティエンドポイントデバイスをセットアップすることは、プライオリティエンドポイントデバイスから発信されるＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットを設定するために、プライオリティエンドポイントデバイスをセットアップすることを含むことができる。いくつかの実施形態では、通信ネットワーク内のプライオリティエンドポイントデバイスをセットアップすることは、たとえば、エンドポイントバイラルアップグレードモジュールのバイラルアップグレード機能をリモートで起動することによって、プライオリティエンドポイントデバイス内のエンドポイントバイラルアップグレードモジュールを起動することを含むことができる。ブロック７０１には、ブロック７０２が続くことができる。
【００６０】
ブロック７０２「応答ベースのアップグレードのためにエンドポイントデバイスをセットアップする」において、デバイス７００は、プライオリティエンドポイントデバイスから発信されたＩＰ通信に応答する応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、通信ネットワーク内の１つまたは複数のエンドポイントデバイスをセットアップするように構成することができる。いくつかの実施形態では、応答ＩＰ通信において応答ベースのアップグレードフラグを設定するために、通信ネットワーク内の１つのエンドポイントデバイスをセットアップすることは、受信したＩＰ通信のＩＰパケットヘッダ内の指定されたバイラルアップグレードビットが設定されているかどうかを識別し、指定されたバイラルアップグレードビットが設定されている場合、応答ＩＰ通信のＩＰパケットヘッダ内の指定された応答アップグレードビットを設定することによって、受信したＩＰ通信に応答するＩＰ通信において応答ベースのアップグレードについてのフラグを立てるように構成されたエンドポイントバイラルアップグレードモジュールを用いて、エンドポイントデバイスをセットアップすることを含むことができる。ブロック７０２には、ブロック７０３が続くことができる。
【００６１】
ブロック７０３「（１つまたは複数の）ルータをセットアップする」において、デバイス７００は、ブロック７０４およびブロック７０５の一方または両方によって、通信ネットワーク内の１つまたは複数のルータをセットアップするように構成することができる。ブロック７０４「初期プライオリティＩＰ通信識別および情報記録」において、デバイス７００は、応答ＩＰ通信のプライオリティレベルのバイラルアップグレードについてのフラグが初期プライオリティＩＰ通信において立てられているかどうかを識別することと、初期プライオリティＩＰ通信からのフロー情報をデータ構造内に記録することであって、フロー情報が応答ＩＰ通信を決定するように構成される、記録することと、バイラルアップグレードプライオリティレベル情報をデータ構造内に記録することであって、バイラルアップグレードプライオリティレベルが応答ＩＰ通信のためのバイラルアップグレードプライオリティレベルを決定するように構成される、記録することとを行うように構成することができる。
【００６２】
ブロック７０５「応答ＩＰ通信識別および応答ベースのアップグレード」において、デバイス７００は、応答ベースのアップグレードについてのフラグが応答ＩＰ通信において立てられているのを識別し、応答ベースのアップグレードについてのフラグが応答ＩＰ通信において立てられているのを識別し、プライオリティエンドポイントデバイスに関連するバイラルアップグレードプライオリティレベルになるようにプライオリティレベルを応答ＩＰ通信に割り当て、バイラルアップグレードプライオリティレベルに対応するルータプライオリティ転送待ち行列に応答ＩＰ通信を入れるように構成することができる。
【００６３】
システムの側面でのハードウェアの実施とソフトウェアの実施との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができる様々な達成手段があり（たとえば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実施を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアのなんらかの組合せを選択することができる。
【００６４】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスの様々な実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組合せにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（たとえば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（たとえば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組合せとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムを様々な形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー（登録商標）ディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００６５】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインタフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（たとえば、位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。本明細書に記載された主題は、様々なコンポーネントをしばしば例示しており、これらのコンポーネントは、他の様々なコンポーネントに包含されるか、または他の様々なコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的に接続可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００６６】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。様々な単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００６７】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む発明に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、通常、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、通常、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、など���有するシステムを含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００６８】
本明細書では、様々な方法、デバイス、およびシステムを使用して、ある例示的な技法が説明されたが、特許請求される主題から逸脱することなく、他の様々な変更を施し得ること、また均等物で置換し得ることを当業者であれば理解されたい。加えて、本明細書で説明された中心的概念から逸脱することなく、特定の状況を特許請求される主題の教示に適合させるために、多くの変更を施すことができる。したがって、特許請求される主題は、開示された特定の例に限定されず、そのような特許請求される主題は、添付の特許請求の範囲およびその均等物の中に包含されるすべての実施を含み得ることが意図されている。
【図１】
0005666721.tif 000002
【図２】
0005666721.tif 000003
【図３】
0005666721.tif 000004
【図４】
0005666721.tif 000005
【図５】
0005666721.tif 000006
【図６】
0005666721.tif 000007
【図７】
0005666721.tif 000008