(57)【特許請求の範囲】
【請求項１】
通信ネットワーク内の通信ストリームに関連付けられているデータパケットの流れを監視するように構成される監視デバイスであって、前記監視デバイスは、
前記通信ネットワークに結合されるストリームキャプチャーユニットであって、
前記通信ネットワーク内の前記通信ストリームに関連付けられているデータパケットの前記流れを監視し、
データパケットの第１のストリームおよびデータパケットの第２のストリームをデータパケットの前記監視されている流れから識別するように構成され、前記第１のストリームおよび前記第２のストリームは、前記通信ネットワーク内の単一の宛先に関連付けられる、ストリームキャプチャーユニットと、
前記ストリームキャプチャーユニットに結合されるアナライザーであって、
前記ストリームキャプチャーユニットによって識別された前記第１のストリームに関連付けられているイベントを識別し、
前記識別されたイベントに関係する情報を前記ストリームキャプチャーユニットによって識別された前記第２のストリームから識別し、
前記イベントおよび前記イベントに関係する前記情報に基づいて、前記通信ネットワークのサービス品質についての問題または前記宛先での体感品質についての問題の原因を決定し、
前記決定した原因に基づき応答を決定するように構成される、アナライザーと、を備える監視デバイス。
【請求項２】
前記アナライザーは、
トランスポート層パケットから制御データを抽出し、
前記イベントおよび前記イベントに関係する前記情報を前記抽出された制御データに基づき識別するようにさらに構成される請求項１に記載の監視デバイス。
【請求項３】
前記アナライザーは、
ネットワーク制御メッセージから制御データを抽出し、
前記イベントおよび前記イベントに関係する前記情報を前記抽出された制御データに基づき識別するようにさらに構成される請求項１に記載の監視デバイス。
【請求項４】
前記アナライザーは、前記イベントとして、前記第１のストリームに対する第１の消失パケットイベントを識別し、かつ、前記イベントに関係する前記情報として、前記第２のストリームに対する第２の消失パケットイベントを識別した場合、前記通信ネットワークサービス品質の問題の原因を決定する、請求項３に記載の監視デバイス。
【請求項５】
前記アナライザーは、前記イベントとして、前記第１のストリームに対するブロックされたデータイベントを識別し、かつ、前記イベントに関係する前記情報として、前記第２のストリームに対するブロックされたデータの要求の情報を識別した場合、前記宛先での体感品質の問題の原因を決定する、請求項３に記載の監視デバイス。
【請求項６】
前記イベントは、ハートビート要求の数がハートビート肯定応答の数に比べて多く識別されることを含む、請求項２に記載の監視デバイス。
【請求項７】
前記トランスポート層パケットは、ストリーム制御伝送プロトコル（ＳＣＴＰ）パケットである請求項２に記載の監視デバイス。
【請求項８】
通信ネットワーク内の通信ストリームに関連付けられているデータパケットの流れを監視するための方法であって、
前記通信ストリームに関連付けられているデータパケットの前記流れを監視することと、
データパケットの第１のストリームおよびデータパケットの第２のストリームをデータパケットの前記監視されている流れから識別することであって、前記第１のストリームおよび前記第２のストリームは、前記通信ネットワーク内の単一の宛先に関連付けられる、ことと、
前記第１のストリームに関連付けられているイベントを識別することと、
前記識別されたイベントに関係する情報を前記第２のストリームから識別することと、
前記イベントおよび前記イベントに関係する前記情報に基づいて、前記通信ネットワークのサービス品質についての問題または前記宛先での体感品質についての問題の原因を決定することと、
前記決定した原因に基づき応答を決定することとを含む方法。
【請求項９】
トランスポート層パケットから制御データを抽出することと、
前記イベントおよび前記イベントに関係する前記情報を前記抽出された制御データに基づき識別することとをさらに含む請求項８に記載の方法。
【請求項１０】
ネットワーク制御メッセージから制御データを抽出することと、
前記イベントおよび前記イベントに関係する前記情報を前記抽出された制御データに基づき識別することとをさらに含む請求項８に記載の方法。
【請求項１１】
前記問題の原因を決定することは、前記イベントとして、前記第１のストリームに対する第１の消失パケットイベントが識別され、かつ、前記イベントに関係する前記情報として、前記第２のストリームに対する第２の消失パケットイベントが識別された場合、前記通信ネットワークサービス品質の問題の原因を決定する、請求項１０に記載の方法。
【請求項１２】
前記問題の原因を決定することは、前記イベントとして、前記第１のストリームに対するブロックされたデータイベントが識別され、かつ、前記イベントに関係する前記情報として、前記第２のストリームに対するブロックされたデータの要求の情報が識別された場合、前記宛先での体感品質の問題の原因を決定する、請求項１０に記載の方法。
【請求項１３】
前記イベントは、ハートビート要求の数がハートビート肯定応答の数に比べて多く識別されることを含む、請求項９に記載の方法。
【請求項１４】
前記トランスポート層パケットは、ストリーム制御伝送プロトコル（ＳＣＴＰ）パケットである請求項９に記載の方法。
【請求項１５】
通信ネットワーク内の通信ストリームに関連付けられているデータパケットの流れを監視するための命令を格納するコンピュータ可読媒体であって、前記命令は、監視デバイスによって実行されたときに、前記監視デバイスに、
前記通信ストリームに関連付けられているデータパケットの前記流れを監視することと、
データパケットの第１のストリームおよびデータパケットの第２のストリームを前記通信ネットワーク内のデータパケットの前記監視されている流れから識別することであって、前記第１のストリームおよび前記第２のストリームは、単一の宛先に関連付けられる、ことと、
前記第１のストリームに関連付けられているイベントを識別することと、
前記識別されたイベントに関係する情報を前記第２のストリームから識別することと、
前記イベントおよび前記イベントに関係する前記情報に基づいて、前記通信ネットワークのサービス品質についての問題または前記宛先での体感品質についての問題の原因を決定することと、
前記決定した原因に基づき応答を決定することとを実行させる、コンピュータ可読媒体。
【請求項１６】
追加の命令をさらに格納し、前記命令は、前記監視デバイスによって実行されたときに、前記監視デバイスに、
トランスポート層パケットから制御データを抽出することと、
前記イベントおよび前記イベントに関係する前記情報を前記抽出された制御データに基づき識別することとを実行させる請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
追加の命令をさらに格納し、前記命令は、前記監視デバイスによって実行されたときに、前記監視デバイスに、
ネットワーク制御メッセージから制御データを抽出することと、
前記イベントおよび前記イベントに関係する前記情報を前記抽出された制御データに基づき識別することとを実行させる請求項１５に記載のコンピュータ可読媒体。
【請求項１８】
前記問題の原因を決定することは、前記イベントとして、前記第１のストリームに対する第１の消失パケットイベントが識別され、かつ、前記イベントに関係する前記情報として、前記第２のストリームに対する第２の消失パケットイベントが識別された場合、前記通信ネットワークサービス品質の問題の原因を決定する、請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記問題の原因を決定することは、前記イベントとして、前記第１のストリームに対するブロックされたデータイベントが識別され、かつ、前記イベントに関係する前記情報として、前記第２のストリームに対するブロックされたデータの要求の情報が識別された場合、前記宛先での体感品質の問題の原因を決定する、請求項１７に記載のコンピュータ可読媒体。
【請求項２０】
前記イベントは、ハートビート要求の数がハートビート肯定応答の数に比べて多く識別されることを含む、請求項１６に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、ネットワーキング技術に関するものであり、より具体的には、通信ネットワークでデータパケットの流れを監視するための技術に関するものである。
【背景技術】
【０００２】
本明細書において別段の指示のない限り、この節で説明するアプローチは、本出願の請求項に対する従来技術ではなく、またこの節に含めることによって従来技術であると認められることはない。
【０００３】
通信ネットワークの利用度は増大する一方である。それ呼応して、データ通信量も増大する一方である。例えば、ビデオ、位置依存言語オーディオ（location-dependent language audio）、ダイナミックアドバタイジング、またはバナー広告またはポップアップ用のビデオオーバーレイなどの複数のストリーミングコンテンツを含む、マルチメディアコンテンツの伝送が増大してきている。
【０００４】
ネットワークの利用度およびデータトラヒックが増大してきたため、ベンダーのサービス、さらにはベンダーに対する顧客の体験を測定するために性能測定ツールが作成された。例えば、サービス品質（ＱｏＳ）は、従来から、リソース予約コントロールメカニズム（resource reservation control mechanism）であり、これはサービスベンダーの客観的測定アプローチである。ＱｏＳは、ジッター、パケット損失、およびデータ転送速度などの技術データを測定することに重点を置く。さらに、ＱｏＳは、研究室実験および研究室調査のような定性的消費者調査を評価することにも重点を置くことがある。体感品質（ＱｏＥ）は、ベンダーとの顧客の体験を主観的に測定する別の性能測定ツールである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示では、既存の性能測定ツールではネットワークサービスプロバイダに通信ネットワーク上の性能関係の問題に対するさまざまな原因を区別するのに十分な情報を提供することができないことを明確にし、認識する。結果的に、ネットワークサービスプロバイダは、検出された性能問題に効果的に対応することができない。本開示では、通信ネットワークを監視するための技術について説明する。
【課題を解決するための手段】
【０００６】
本開示のいくつかの実施形態は、一般に、通信ネットワーク内の通信ストリームに関連付けられているデータパケットの流れを監視するように構成される監視デバイスに関するものとすることができる。例示的な一監視デバイスは、通信ネットワークに結合されるストリームキャプチャーユニットを備えることができ、ストリームキャプチャーユニットは、通信ネットワーク内の通信ストリームに関連付けられているデータパケットの流れを監視し、データパケットの第１のストリームおよびデータパケットの第２のストリームをデータパケットの監視されている流れから識別するように構成することができ、第１のストリームおよび第２のストリームは、通信ネットワーク内の単一の宛先に関連付けられている。この例示的な監視デバイスは、ストリームキャプチャーユニットに結合されるアナライザーも備えることができる。アナライザーは、ストリームキャプチャーユニットによって識別された第１のストリームに関連付けられているイベントを識別し、識別されたイベントに関係する情報をストリームキャプチャーユニットによって識別された第２のストリームから識別し、イベントおよびイベントに関係する情報に基づき応答を決定するように構成されうる。
【０００７】
本開示のいくつかの追加の実施形態は、一般に、通信ネットワーク内の通信ストリームに関連付けられているデータパケットの流れを監視するための方法に関するものとすることができる。例示的な一方法は、通信ストリームに関連付けられているデータパケットの流れを監視することを含みうる。この例示的な方法は、データパケットの第１のストリームおよびデータパケットの第２のストリームをデータパケットの監視されている流れから識別することであって、第１のストリームおよび第２のストリームは、通信ネットワーク内の単一の宛先に関連付けられる、ことと、第１のストリームに関連付けられているイベントを識別することと、識別されたイベントに関係する情報を第２のストリームから識別することをさらに含みうる。この例示的な方法は、イベントおよびイベントに関係する情報に基づき、応答を決定することを含みうる。
【０００８】
本開示の追加の実施形態は、一般に、通信ネットワーク内の通信ストリームに関連付けられているデータパケットの流れを監視するための命令を格納するコンピュータ可読媒体に関するものとすることができる。例示的な一コンピュータ可読媒体は、監視デバイスによって実行されたときに、監視デバイスに、通信ストリームに関連付けられているデータパケットの流れを監視することと、データパケットの第１のストリームおよびデータパケットの第２のストリームをデータパケットの監視されている流れから識別することであって、第１のストリームおよび第２のストリームは、通信ネットワーク内の単一の宛先に関連付けられる、ことと、第１のストリームに関連付けられているイベントを識別することと、識別されたイベントに関係する情報を第２のストリームから識別することと、イベントおよびイベントに関係する情報に基づき応答を決定することとを実行させる命令を格納することができる。
【０００９】
前述の説明は、例示的なものにすぎず、いっさい制限することを意図されていない。上述の例示的な態様、実施形態、および特徴に加えて、図面を参照し、以下の詳細な説明を参照することによってさらなる態様、実施形態、および特徴も明らかになるであろう。
【００１０】
本開示の前記の特徴および他の特徴は、付属の図面を参照することで、以下の説明および付属の請求項からより完全に明らかになるであろう。これらの図面は、本開示によるいくつかの実施形態のみを示しており、したがって、これらの図面は、本発明の範囲を制限するとみなすべきでない。本開示は、添付図面を使用することでさらに具体的に、また詳細に説明される。
【図面の簡単な説明】
【００１１】
【図１】本開示の少なくともいくつかの実施形態により配置構成される、例示的な通信ネットワークシステムを示す図である。
【図２】本開示の少なくともいくつかの実施形態により配置構成される、簡素化されたインターネットプロトコルスタックの概略図である。
【図３】本開示の少なくともいくつかの実施形態により配置構成される、例示的なＩＰパケットを示すブロック図である。
【図４】本開示の少なくともいくつかの実施形態により配置構成される、例示的なＳＣＴＰパケットを示すブロック図である。
【図５】本開示の少なくともいくつかの実施形態により配置構成される、制御データを監視するための方法を示す例示的な流れ図である。
【図６】本開示の少なくともいくつかの実施形態により配置構成される、制御データを監視するための方法を実装するコンピュータプログラム製品の例示的な一実施形態のブロック図である。
【図７】本開示の少なくともいくつかの実施形態により配置構成される、制御データを監視するように配置構成された例示的なコンピューティングデバイスを示すブロック図である。
【発明を実施するための形態】
【００１２】
以下の詳細な説明では、詳細な説明の一部をなす、添付図面が参照される。図面中の類似の記号は、典型的には、文脈上別のものを示していない限り類似のコンポーネントを明示する。詳細な説明、図面、および請求項で説明されている例示的な実施形態は、制限することを意図されていない。他の実施形態も利用することができ、また本明細書に提示されている発明対象の精神または範囲から逸脱することなく、他の変更を加えることができる。本明細書で一般的に説明され、また図に例示されているような本開示の態様は、さまざまな異なる構成による配置、置換、組み合わせ、設計が可能であり、すべて明示的に考察され、本開示の一部をなす。
【００１３】
本開示は、特に、データパケットの複数のストリームに関連付けられている制御データの監視および体感品質問題を取り扱うための適切な応答を決定することに関係する方法、デバイス、システム、およびコンピュータプログラムを対象とする。
【００１４】
簡単に言うと、本明細書で説明されている技術は、一般に、通信ネットワーク内のデータパケットの流れを監視することに関係する方法、デバイス、およびシステムを含む。いくつかの例示的なデバイスは、ストリームキャプチャーユニットおよび／またはアナライザーの１つまたは複数を備えることができる。ストリームキャプチャーユニットは、通信ネットワークに結合され、通信ネットワーク内の通信ストリームに関連付けられているデータパケットの流れを監視し、データパケットの第１のストリームおよびデータパケットの第２のストリームをデータパケットの監視されている流れから識別するように構成されうる。第１のストリームおよび第２のストリームは、単一の宛先に関連付けられる。アナライザーは、ストリームキャプチャーユニットに結合され、ストリームキャプチャーユニットによって識別された第１のストリームに関連付けられているイベントを識別し、識別されたイベントに関係する情報を、ストリームキャプチャーユニットによって識別された第２のストリームから識別し、イベントおよびイベントに関係する情報に基づき応答を決定するように構成されうる。
【００１５】
図１は、本開示の少なくともいくつかの実施形態により配置構成された、例示的な通信ネットワークシステム１００を示している。例示的な通信ネットワークシステム１００は、ネットワーク１１０、第１のコンピューティングデバイス１２０、第２のコンピューティングデバイス１３０、および／または第３のコンピューティングデバイス１４０を備えることができる。それに加えて、通信ネットワークシステム１００は、クライアントデバイス１５０を備えることができる。
【００１６】
ネットワーク１１０は、開ループネットワークまたは閉ループネットワークとすることができ、データまたは情報の流れに対する通信ストリームを備えるように構成されうる。図１は、第１のコンピューティングデバイス１２０、第２のコンピューティングデバイス１３０、および第３のコンピューティングデバイス１４０を示しており、それぞれネットワーク１１０に結合される。第１のコンピューティングデバイス１２０、第２のコンピューティングデバイス１３０、および第３のコンピューティングデバイス１４０は、１本または複数の電線もしくはケーブルなどの物理的媒体を介してネットワーク１１０のさまざまなポイントでネットワーク１１０に結合されうる。さらに、通信ネットワークシステム１００は、クライアントデバイス１５０を備えることができ、これはワイヤレス通信チャネルを介して第３のコンピューティングデバイス１４０に結合されうる。いくつかの非限定的な例では、クライアントデバイス１５０は、エンドユーザまたは消費者のところに配置されたコンピューティングデバイスであってよい。例示的なコンピューティングデバイスとして、限定はしないが、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、タブレットコンピューティングデバイス、ネットブック、および／または他の何らかの同様のデバイスが挙げられる。
【００１７】
本開示のネットワーク１１０は、電子情報、データ、および／または信号の流れおよび交換に関して構成された通信ネットワークとすることができる。ネットワーク１１０は、限定はしないが、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ワールドワイドウェブ（ＷＷＷ）、および／またはこれらの適切な組み合わせを含むさまざまなネットワークとすることができる。いくつかの例では、ネットワーク１１０は、１つまたは複数の有線通信リンクからなるものとしてよい。いくつかの他の例では、ネットワーク１１０は、１つまたは複数のワイヤレス通信リンクからなるものとしてよい。さらなる例では、ネットワーク１１０は、有線通信リンクとワイヤレス通信リンクとの組み合わせからなるものとしてよい。
【００１８】
第１のコンピューティングデバイス１２０を、第１の種類のサービス（例えば、マルチメディアサービス）をサポートするネットワークサーバーとし、第２のコンピューティングデバイス１３０を、第２の種類のサービス（例えば、電気通信サービス）をサポートする別のネットワークサーバーとすることができる。例えば、第１のコンピューティングデバイス１２０を、ＹｏｕＴｕｂｅ（登録商標）サーバーとすることができ、第２のコンピューティングデバイス１３０を、Ｓｋｙｐｅ（登録商標）サーバーとすることができる。
【００１９】
本開示で説明されているさまざまな技術によれば、第３のコンピューティングデバイス１４０は、クライアントデバイス１５０にサービスを提供するだけでなく、クライアントデバイス１５０とネットワーク１１０との間で移動するデータパケットも監視するように構成されうる。第３のコンピューティングデバイス１４０は、サービスプロバイダサイトに配置され、監視デバイスと称することもできる。
【００２０】
本開示のいくつかの実施形態によれば、第３のコンピューティングデバイス１４０は、ストリームキャプチャーユニット１４２およびアナライザー１４６を備えることができる。ストリームキャプチャーユニット１４２は、データパケットの複数のストリームを識別するように構成され、アナライザー１４６は、ストリームキャプチャーユニット１４２に結合されており、識別された複数のストリームに関連付けられている制御データに基づき適切な応答を決定するように構成されうる。後の段落では、制御データの取り出し、さらには制御データの分析についてさらに詳述する。
【００２１】
図２は、本開示の少なくともいくつかの実施形態により配置構成された、簡素化されたインターネットプロトコルスタックの概略図である。図２は、コンピューティングデバイス１２０、１３０、および１４０ならびに図１に示されているクライアントデバイス１５０などの、ネットワーク上のコンピューティングデバイスおよびクライアントデバイスによってサポートされるマルチストリーミングおよびマルチホーミング機能をさらに例示している。第１のエンドポイント２００は、１つまたは複数のネットワークインターフェースを介して第２のエンドポイント２５０に結合されうる。第１のエンドポイント２００は、アプリケーション層２０８、マルチストリーミング／マルチホーミングトランスポート層２１０、およびＩＰ層２１２を有する第１のインターネットプロトコルスタック２０６をサポートするように構成されうる。第２のエンドポイント２５０は、アプリケーション層２５８、マルチストリーミング／マルチホーミングトランスポート層２６０、およびＩＰ層２６２を有する第２のインターネットプロトコルスタック２５６をサポートするように構成されうる。
【００２２】
マルチストリーミング／マルチホーミングトランスポート層２１０および２６０の主要な機能のうちのいくつかに、マルチストリーミングおよびマルチホーミングが含まれる。マルチストリーミングでは、第１のデータストリーム２０２および第２のデータストリーム２０４などの、独立したストリームからのデータと上位層のアプリケーションからのデータとを１つのチャネル上に多重化することができ、このことはアソシエーションとも称される。言い換えると、第１のデータストリーム２０２と第２のデータストリーム２０４とが１つのアソシエーション２０５上に多重化されるということである。アソシエーションにより、複数のデータストリーム間の同期を改善することができ、複数のデータストリームを処理するためのリソース／オーバーヘッドを共有することができる。
【００２３】
例えば、図１のクライアントデバイス１５０は、図２の第１のエンドポイント２００に対応し、図１の第１のコンピューティングデバイス１２０は、図２の第２のエンドポイント２５０に対応するものとすることができると想定する。クライアントデバイス１５０は、ウェブブラウザアプリケーションを実行し、第１のコンピューティングデバイス１２０からのＪａｖａ（登録商標）アプレットオブジェクトおよびイメージオブジェクトを含むハイパーテキストマークアップ言語（ＨＴＭＬ）ページを要求するとさらに想定する。伝送制御プロトコル（ＴＣＰ）の場合のようにそれぞれのオブジェクトに対して個別の接続を作成する代わりに、マルチストリーミング／マルチホーミングトランスポート層２１０によってサポートされるマルチストリーミング機能により、第１のデータストリーム２０２と第２のデータストリーム２０４とで独立して２つのオブジェクト（例えば、Ｊａｖａ（登録商標）アプレットオブジェクトおよびイメージオブジェクト）の転送を行うことができる。そのため、転送中に１つのオブジェクトが失われた場合、失われたオブジェクトが第１のコンピューティングデバイス１２０から再送されている間に他のオブジェクトをそのままクライアントデバイス１５０上で実行中のウェブブラウザアプリケーションに配信することが可能である。
【００２４】
マルチホーミングでは、第１のエンドポイント２００と複数のＩＰアドレスにまたがる第２のエンドポイント２５０の間の結合が可能になる。例えば、第１のエンドポイント２００は、第１のＩＰアドレスに関連付けられている、衛星リンクを介して第２のエンドポイント２５０に結合され、第１のエンドポイント２００は、第２のＩＰアドレスに関連付けられている、非同期転送モード（ＡＴＭ）リンクにも結合されうる。これらのＩＰアドレスのうちの１つが、一次アドレスとして指定することができ、他のＩＰアドレスは、一次アドレスに障害が生じた場合、または上位層アプリケーションがバックアップアドレスの使用を明示的に要求したときに、バックアップアドレスとして指定することができる。そこで、マルチホーミング機能を使用すると、進行中のデータ転送を中断することなくリンク障害状況からの復旧をスピードアップすることができる。
【００２５】
例示的な１つのマルチストリーミング／マルチホーミングトランスポート層は、ストリーム制御伝送プロトコル（ＳＣＴＰ）とすることができ、これは（ＴＣＰ）のさまざまな制限を克服するために提案されている。クライアントデバイス１５０およびコンピューティングデバイス１２０が、データパケットの複数のストリームを交換するときに、第３のコンピューティングデバイス１４０を運用しているサービスプロバイダは、クライアントデバイス１５０との間を行き来しているそのようなデータパケットに関連付けられている制御データを監視し、クライアントデバイス１５０における体感品質を確認することができる。本開示のいくつかの実施形態によれば、制御データを監視し、また体感品質を判定するオペレーションは、クライアントデバイス１５０上で実行しているアプリケーションを変更することも、クライアントデバイス１５０と第１のコンピューティングデバイス１２０との間の通信のフォーマットを変更することも必要としない。
【００２６】
上述の制御データのいくつかは、知られているネットワーク制御メッセージから取り出すことができる。例えば、ネットワーク内でパケットが消失した場合、消失したパケットを復元しようとして、そのような消失パケットイベントを示すネットワーク制御メッセージが、一般に、ネットワーク内のノード間で伝達される。一般に、これらのネットワーク制御メッセージは、中間ノードによって生成され、２つのエンドポイントによって生成されない。
【００２７】
一部の制御データは、ＳＣＴＰパケットから取り出すことができる。図３は、例示的なＩＰパケット３００を示すブロック図である。ＩＰパケット３００は、ＩＰヘッダ３１０、およびＩＰコンテンツ３２０を含むことができ、これはＳＣＴＰパケットを含むことができる。ＩＰヘッダ３１０は、バージョンフィールド、インターネットヘッダ長（ＩＨＬ）フィールド、サービス種別フィールド、全長フィールド、識別フィールド、フラグフィールド、フラグメントオフセットフィールド、有効期間フィールド、プロトコルフィールド、ヘッダチェックサムフィールド、送信元ＩＰアドレスフィールド、宛先ＩＰアドレスフィールド、オプションフィールド、およびパディングフィールドを含むことができる。いくつかの実施形態では、プロトコルフィールド、識別フィールド、送信元ＩＰアドレスフィールド、および／または宛先ＩＰアドレスフィールドを調べることによって、図１のストリームキャプチャーユニット１４２は、ＳＣＴＰに従い、セッション識別子を有するデータパケットのストリームを識別することができるものとしてよい。それに加えて、ストリームキャプチャーユニット１４２は、データパケットのストリームに関連付けられている特定の情報を取得し、そのような情報をアナライザー１４６に送信することができる。例えば、ストリームキャプチャー１４２は、有効期間フィールドを調べて、集められた経過トランスポート時間をアナライザー１４６に受け渡すことができる。ストリームキャプチャーユニット１４２が取得することができる情報のいくつかの追加の例として、限定はしないが、チャンクフラグ、チェックサム誤り関係情報、およびその他の情報が挙げられる。
【００２８】
図４は、本開示の少なくともいくつかの実施形態により配置構成された、例示的なＳＣＴＰパケット４００を示すブロック図である。下位層に配送されるＳＣＴＰパケット４００は、共通ヘッダ４０２とそれに続く１つまたは複数のチャンク４０４とを備えるものとしてよい。共通ヘッダ４０２は、送信元ポート番号４２２、宛先ポート番号４２４、検証タグフィールド４２６、および／またはチェックサムフィールド４２８のための１つまたは複数のフィールドを備えることができる。チャンク４０４のそれぞれは、チャンクタイプ４３２、チャンクフラグ４３４、長さインジケータ４３６、およびチャンクデータ４３８のためのフィールドを備えることができる。チャンク４０４内のフィールドの値を調べることによって、図１の第３のコンピューティングデバイス１４０などの監視デバイスが、特定の制御データを抽出することができる。例えば、チャンクタイプ４３２が０である場合、第３のコンピューティングデバイス１４０は、チャンクデータ４３８がペイロードデータであり、制御データを含まないと判定することができる。チャンクタイプ４３２が、４など、０以外の値である場合、第３のコンピューティングデバイス１４０は、チャンク４０４がハートビート要求である制御データを取り出すことができる。チャンクタイプ４３２が、５である場合、第３のコンピューティングデバイス１４０は、チャンク４０４がハートビート肯定応答である制御データを取り出すことができる。ハートビート要求およびハードビート肯定応答をＳＣＴＰパケット送信側とＳＣＴＰパケット受信側との間で交換することで、そのような２つのエンドポイントとの適切な機能を確実に行わせることがしやすくなるので、第３のコンピューティングデバイス１４０は、取り出し制御データを分析し、適切な応答を決定するように構成されうる。このような応答を決定する仕方について、この後の段落においてさらに詳しく説明する。
【００２９】
図５は、本開示の少なくともいくつかの実施形態により配置構成された、制御データを監視するための方法５００を示す例示的な流れ図である。方法５００は、ブロック５１０、５２０、５３０、および／または５４０のうちの１つまたは複数によって例示されているような１つまたは複数のオペレーション、機能、またはアクションを含むことができる。これらのブロックは順次的に示されているけれども、並行して、および／または本明細書で説明されているのと異なる順序で実行することもできる。また、所望の実装に応じて、さまざまなブロックをより少ないブロックに組み合わせ、いくつかの付加的なブロックに分割し、および／またはなくすことができる。
【００３０】
方法５００の処理は、ブロック５１０「単一の宛先に関連付けられている第１のストリームおよび第２のストリームを識別する」から開始することができる。ブロック５１０の後にブロック５２０「第１のストリームからイベントを識別する」が続くものとしてよい。ブロック５２０の後にブロック５３０「第２のストリームからイベントに関係する情報を識別する」が続くものとしてよい。ブロック５３０の後にブロック５４０「第１のストリームから識別されたイベントおよび第２のストリームから識別された情報に基づきアクションを決定する」が続くものとしてよい。
【００３１】
図１とともに、ブロック５１０において、第３のコンピューティングデバイス１４０のストリームキャプチャーユニット１４２は、クライアントデバイス１５０上で実行される前述のブラウザアプリケーションなどの、同じ宛先に関連付けられているデータパケットの複数のストリームを識別するように構成されうる。いくつかの実装では、ストリームキャプチャーユニット１４２は、図３に示されているＩＰパケット３００内の識別フィールド、プロトコルフィールド、送信元ＩＰアドレスフィールド、および／または宛先ＩＰアドレスフィールドを調べることによって第１のストリームと第２のストリームとの間の関連情報を探すように構成されうる。データパケットの第１のストリームおよび第２のストリームを識別した後、ストリームキャプチャーユニット１４２は、さらなる処理のためにストリームから要約された識別されたストリームもしくは情報をアナライザー１４６に中継するように構成されうる。
【００３２】
ブロック５２０で、アナライザー１４６は、データパケットの第１のストリームからイベントを探すように構成されうる。例示的な一イベントは、消失したパケットイベントなどの、サービス品質および／または体感品質に影響を及ぼす任意のイベントとすることができ、上述のようにこのアナライザー１４６は、ネットワーク１１０から取り出され、データパケットの第１のストリームにも関連付けられているネットワーク制御メッセージを評価することが可能である。別の例示的なイベントは、ブロックされたデータイベントとすることができ、アナライザー１４６は、ネットワーク１１０から取り出され、データパケットの第１のストリームに関連付けられているネットワーク制御メッセージを評価することも可能である。さらに別の例示的なイベントは、データ配信の品質が低下していることに対応するものとしてよく、アナライザー１４６は、ＳＣＴＰパケット内に埋め込まれている制御データを評価することが可能である（例えば、ハートビート肯定応答に比べてハートビート要求の数が著しく多い）。別の例示的なイベントは、輻輳検出に対応するものであってよく、アナライザー１４６は、図４に例示されているＳＣＴＰパケット４００のチャンクフラグフィールド４３４内のフラグ１２〜１３を評価することが可能である。他の例示的なイベントは、ギャップ検出および誤り検出に対応するものとしてよく、アナライザー１４６は、ＳＣＴＰパケット内に埋め込まれている制御データを評価することも可能である
【００３３】
ブロック５３０で、アナライザー１４６は、データパケットの第２のストリームを評価して、そのイベントに関係する情報を識別するようにさらに構成されうる。一例において、第２のストリームに対しても消失パケットイベントがあるかどうかに基づき、アナライザー１４６は、特に第１のストリームおよび第２のストリームが関連しているため、単一の消失パケットイベントとネットワークサービス途絶イベントとを区別するように構成することも可能である。複数の関連するストリームに消失パケットが発生する場合、ネットワークサービスが途絶していることを示す強い推論がありうる。
【００３４】
別の例では、第２のストリームから、クライアントデバイス１５０などの、エンドポイントからのブロックされたデータに対する要求があるかどうかに基づき、アナライザー１４６はブロックされたデータイベントがエンドポイントにおける体感品質に影響を及ぼしたかどうかを判定するように構成することが可能である。言い換えると、ブロックされたデータに対する要求が識別されない場合、エンドポイントが体感品質にマイナスの影響を及ぼすことなくブロックされたデータを待つことを可能にする著しく大きいバッファをエンドポイントが有するという強い推論がありうる。その一方で、ブロックされたデータに対する要求がある場合、そのエンドポイントはバッファ空間を欠いており、その体感品質はすでに劣化しているという強い推論がありうる。
【００３５】
ブロック５４０で、ブロック５３０で実行された分析に基づき、アナライザー１４６は適切な応答を決定するように構成されうる。例えば、消失パケットイベントに対する適切な応答は、アナライザー１４６が何もせず、ネットワーク１１０内の中間ノードが消失パケットの要求を出し続けることだけを行わせることであるものとしてよい。その一方で、途絶ネットワークサービスイベントに応答して、アナライザー１４６はクライアントデバイス１５０および第１のコンピューティングデバイス１２０などのエンドポイントに、ネットワーク接続を復元することを通知するように構成されうる。別の例では、受信側エンドポイント（例えば、クライアントデバイス１５０）で不十分なバッファ空間を有することに対する応答について、アナライザー１４６はブロックされたデータの配信をスピードアップするか、またはその配信タスクの優先順位を付け直すよう送信側エンドポイント（例えば、第１のコンピューティングデバイス１２０）に通知するように構成されうる。その一方で、受信側エンドポイントで不十分なバッファ空間を有することに対する応答は、アナライザー１４６が何もせず、送信側エンドポイントが通常通りそのオペレーションを続けることだけ行わせることであるものとしてよい。
【００３６】
図６は、すべて本開示の少なくともいくつかの実施形態により配置構成されている、データパケットの複数のストリームに関連付けられている制御データを監視し、応答を決定するための方法を実装するコンピュータプログラム製品６００の例示的な実施形態を示すブロック図である。コンピュータプログラム製品６００は、信号伝送媒体６０４を備えることができる。信号伝送媒体６０４は、例えば、コンピューティングデバイス（例えば、図１のコンピューティングデバイス１４０）のプロセッサによって実行されたときに、少なくとも図５に関して上で説明されている機能を実現することができる１つまたは複数の実行可能命令セット６０２を含むことができる。
【００３７】
いくつかの実装では、信号伝送媒体６０４は、限定はしないが、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、メモリなどの非一時的コンピュータ可読媒体６０８を包含しうる。いくつかの実装では、信号伝送媒体６０４は、限定はしないが、メモリ、読み出し／書き込み（Ｒ／Ｗ）ＣＤ、Ｒ／Ｗ  ＤＶＤなどの記録可能媒体６１０を包含しうる。いくつかの実装では、信号伝送媒体６０４は、限定はしないが、デジタルおよび／またはアナログ通信媒体（例えば、光ファイバーケーブル、導波管、有線通信リンク、ワイヤレス通信リンクなど）などの通信媒体６０６を包含しうる。コンピュータプログラム製品６００は、非一時的コンピュータ可読媒体６０８または別の類似の記録可能媒体６１０上に記録されうる。
【００３８】
図７は、本開示の少なくともいくつかの実施形態による、制御データを監視するように配置構成された例示的なコンピューティングデバイス７００を示すブロック図である。非常に基本的である基本構成７０２において、コンピューティングデバイス７００は、典型的には、１つまたは複数のプロセッサ７０４およびシステムメモリ７０６を備える。メモリバス７０８は、プロセッサ７０４とシステムメモリ７０６との間の通信に使用されうる。
【００３９】
所望の構成に応じて、プロセッサ７０４は、限定はしないが、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、またはこれらの任意の組み合わせを含む任意の種類のものとすることができる。プロセッサ７０４は、レベル１キャッシュ７１０およびレベル２キャッシュ７１２などの１つまたは複数のキャッシングレベルのキャッシュ、プロセッサコア７１４、およびレジスタ７１６を備えることができる。例示的なプロセッサコア７１４は、算術論理演算ユニット（ＡＬＵ）、浮動小数点演算ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはこれらの任意の組み合わせを含むことができる。例示的なメモリコントローラ７１８は、プロセッサ７０４と併用することもできるか、またはいくつかの実装では、メモリコントローラ７１８は、プロセッサ７０４の内部パーツとすることもできる。
【００４０】
所望の構成に応じて、システムメモリ７０６は、限定はしないが、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュメモリなど）、またはこれらの任意の組み合わせを含む任意の種類のものとすることができる。システムメモリ７０６には、オペレーティングシステム７２０、１つまたは複数のアプリケーション７２２、およびプログラムデータ７２４を格納することができる。アプリケーション７２２は、図５の方法５００に関して説明されているような機能を実行するように配置構成された制御データ監視アルゴリズム７２６を含むものとしてよい。プログラムデータ７２４は、本明細書で説明されているような制御データ監視アルゴリズム７２６によるオペレーションに使用することができるネットワークデータ７２８を含みうる。いくつかの実施形態では、アプリケーション７２２は、オペレーティングシステム７２０上でプログラムデータ７２４を操作するように配置構成されうる。この説明されている基本構成７０２は、図７において、内側破線内のコンポーネントによって例示されている。
【００４１】
コンピューティングデバイス７００は、付加的な特徴または機能を有し、また基本構成７０２と必要なデバイスおよびインターフェースとの間の通信が容易に行えるようにするための付加的なインターフェースを備えることができる。例えば、バス／インターフェースコントローラ７３０は、ストレージインターフェースバス７３４を介して基本構成７０２と１つまたは複数のデータ記憶装置７３２との間の通信が容易に行えるようにするために使用できる。データ記憶装置７３２は、取外し式ストレージデバイス７３６、非取外し式ストレージデバイス７３８、またはこれらの組み合わせとすることができる。取外し式ストレージデバイスおよび非取外し式ストレージデバイスの例を２、３挙げると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）などの磁気ディスクデバイス、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、およびテープドライブなどがそうである。例示的なコンピュータ記憶媒体としては、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータなどの情報を格納するための方法または技術で実装される揮発性および不揮発性、取外し式および非取外し式の媒体を挙げることができる。
【００４２】
システムメモリ７０６、取外し式ストレージデバイス７３６、および非取外し式ストレージデバイス７３８は、すべてコンピュータ記憶媒体の実施例である。コンピュータ記憶媒体としては、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（ＤＶＤ）またはその他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイス、または所望の情報を格納するために使用することができ、しかもコンピューティングデバイス７００によってアクセスできるその他の媒体が挙げられる。このような任意のコンピュータ記憶媒体は、コンピュータデバイス７００の一部であるものとしてよい。
【００４３】
コンピューティングデバイス７００は、バス／インターフェースコントローラ７３０を介してさまざまなインターフェースデバイス（例えば、出力装置７４２、周辺インターフェース７４４、および通信装置７４６）から基本構成７０２への通信を容易に行えるようにするためのインターフェースバス７４０を備えることもできる。例示的な出力装置７４２は、グラフィック処理ユニット７４８およびオーディオ処理ユニット７５０を備え、これらは、１つまたは複数のＡ／Ｖポート７５２を介してディスプレイまたはスピーカーなどのさまざまな外部デバイスと通信するように構成されうる。例示的な周辺インターフェース７４４は、シリアルインターフェースコントローラ７５４またはパラレルインターフェースコントローラ７５６を備え、これらは、１つまたは複数のＩ／Ｏポート７５８を介して入力装置（例えば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など）または他の周辺装置（例えば、プリンタ、スキャナなど）などの外部装置と通信するように構成されうる。例示的な通信装置７４６は、ネットワークコントローラ７６０を備え、これは、１つまたは複数の通信ポート７６４を介して、限定はしないが、光ファイバー、ロングタームエボリューション（ＬＴＥ）、３Ｇ、ＷｉＭａｘなどの、ネットワーク通信リンク上で１つまたは複数の他のコンピューティングデバイス７６２との通信を容易に行えるように構成されうる。
【００４４】
ネットワーク通信リンクは、通信媒体の一例であるものとしてよい。通信媒体は、典型的には、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波もしくは他のトランスポートメカニズムなどの変調データ信号による他のデータによって具現化されうるものであり、任意の情報配信媒体を含むことができる。「変調データ信号」は、信号内の情報を符号化する方法によりその特性のうち１つまたは複数が設定または変更された信号であるものとすることができる。例えば、限定はしないが、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、高周波（ＲＦ）、マイクロ波、赤外線（ＩＲ）、およびその他のワイヤレス媒体などのワイヤレス媒体が挙げられる。本明細書で使用されているコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含むことができる。
【００４５】
コンピューティングデバイス７００は、携帯電話、携帯情報端末（ＰＤＡ）、パーソナルメディアプレーヤーデバイス、ワイヤレスウェブウォッチデバイス、パーソナルヘッドセットデバイス、特定用途向けデバイス、または上記機能のいずれかを含むハイブリッドデバイスなどのスモールフォームファクタポータブル（またはモバイル）電子デバイスの一部として実装できる。コンピューティングデバイス７００は、ラップトップコンピュータおよび非ラップトップコンピュータの両方の構成を含むパーソナルコンピュータとして実装することもできる。
【００４６】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができるさまざまな達成手段があり（例えば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。例えば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアの何らかの組み合わせを選択することができる。
【００４７】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（例えば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（例えば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー（登録商標）ディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（例えば、光ファイバーケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００４８】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（例えば、位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【００４９】
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００５０】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００５１】
通常、本明細書において、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む発明に限定する、ということを示唆していると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、通常、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（例えば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、通常、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステ���を含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００５２】
本明細書ではさまざまな態様および実施形態が開示されているが、他の態様および実施形態も当業者には明らかであろう。本明細書で開示されているさまざまな態様および実施形態は、例示することを目的としており、制限することを意図しておらず、真の範囲および精神は以下の請求項によって示される。
【図１】
0005518262.tif 000002
【図２】
0005518262.tif 000003
【図３】
0005518262.tif 000004
【図４】
0005518262.tif 000005
【図５】
0005518262.tif 000006
【図６】
0005518262.tif 000007
【図７】
0005518262.tif 000008