(57)【特許請求の範囲】
【請求項１】
サーバとの通信を調整する方法であって、
ネットワークのピアリングリンクを介するグループのユーザと該サーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定することであって、該第１のセットの会話における所与の会話は第１の時間間隔内の任意の時間において始められた、ことと、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較することであって、該第２のセットの会話における所与の会話は第２の時間間隔内の任意の時間において発生し、該第２のセットの会話は該第１のセットの会話を含み、該第２のグループのユーザは第１のグループのユーザを含み、該第２の時間間隔は該第１の時間間隔を含む、ことと、
該再送信率と該ヒストリカルな再送信率との比較に基づいて該ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節することと、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と、該ターゲット受入率とに基づいて、該ピアリングリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れること、または、拒絶することにより、該ピアリングリンクの通信パフォーマンスを維持することと
を含む、方法。
【請求項２】
前記ネットワークはインターネットを含む、請求項１に記載の方法。
【請求項３】
前記第１の時間間隔は１分を含む、請求項１に記載の方法。
【請求項４】
前記第２の時間間隔は１日を含む、請求項１に記載の方法。
【請求項５】
前記ヒストリカルな再送信率は前記第２の時間間隔内の再送信率の分布のモーメントを含む、請求項１に記載の方法。
【請求項６】
前記モーメントはメジアン（ｍｅｄｉａｎ）を含む、請求項５に記載の方法。
【請求項７】
前記ネットワークは別のサーバと結合されている少なくとも１つのトランジットリンクを含み、
該少なくとも１つのトランジットリンクは該サーバをインターネットサービスプロバイダに結合する、請求項１に記載の方法。
【請求項８】
前記リクエストの拒否は他のユーザを他のサーバにリダイレクトする指示を含む、請求項７に記載の方法。
【請求項９】
前記リクエストを受け入れること、または、拒否することは、前記実際の受入率と前記ターゲット受入率との間の差に基づく、請求項１に記載の方法。
【請求項１０】
ピアリングリンクは、前記サーバと前記ネットワーク上の別のエンティティとの間の支払い無料のリンクを含む、請求項１に記載の方法。
【請求項１１】
前記第２のセットの会話についての統計情報を集めることをさらに含み、
前記再送信率は、少なくとも部分的に、該集められた統計情報に基づいて決定される、請求項１に記載の方法。
【請求項１２】
ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）情報に基づいて、どの会話が前記ピアリングリンクに関連付けられそうであるかを決定すること
をさらに含む、請求項１に記載の方法。
【請求項１３】
前記サーバの前記ターゲット受入率は最小値より大きく、かつ、最大値より小さい、請求項１に記載の方法。
【請求項１４】
前記サーバの前記ターゲット受入率は前記サーバの実際の受入率の２倍より小さい、請求項１に記載の方法。
【請求項１５】
前記ターゲット受入率はヴァンヤコブセン（ｖａｎ  Ｊａｃｏｂｓｅｎ）管理モデルに基づいて調節される、請求項１に記載の方法。
【請求項１６】
前記ターゲット受入率は、前記再送信率と前記ヒストリカルな再送信率との差に基づいて調節される、請求項１に記載の方法。
【請求項１７】
前記ターゲット受入率は、前記再送信率が所定の値だけ前記ヒストリカルな再送信率を超えた場合に調節される、請求項１に記載の方法。
【請求項１８】
前記調節は前記ターゲット受入率を乗算係数によって減少させることを含む、請求項１７に記載の方法。
【請求項１９】
会話が終了する場合に、前記ターゲット受入率を加算増分によって増加させることをさらに含み、
該加算増分は、該ターゲット受入率の関連する増加率が前記乗算係数に関連するターゲット受入率の減少率よりも小さくなるように選択される、請求項１８に記載の方法。
【請求項２０】
会話が終了する場合に、前記ターゲット受入率を増加させることをさらに含む、請求項１７に記載の方法。
【請求項２１】
コンピュータシステムとともに使用するためのコンピュータプログラムであって、
該コンピュータプログラムは、コンピュータ読み出し可能な命令を含み、該命令は、該コンピュータシステムによって実行されると、
ネットワークにおけるピアリングリンクを介するグループのユーザとサーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定するステップであって、該第１のセットの会話における所与の会話は第１の時間間隔内の任意の時間において始められた、ステップと、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話中のデータパケットのヒストリカルな再送信率とを比較するステップであって、該第２のセットの会話における所与の会話は第２の時間間隔内の任意の時間において発生し、該第２のセットの会話は該第１のセットの会話を含み、該第２のグループのユーザは第１のグループのユーザを含み、該第２の時間間隔は該第１の時間間隔を含む、ステップと、
該再送信率と該ヒストリカルな再送信率との比較に基づいて該ピアリングリンクを介する追加的なユーザと会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節するステップと、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と、該ターゲット受入率とに基づいて、該ピアリングリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れ、または、拒否することによって、該ピアリングリンクの通信パフォーマンスを維持するステップと
を実行することを該コンピュータシステムに行わせる、コンピュータプログラム。
【請求項２２】
コンピュータシステムであって、
計算手段と、
メモリと、
プログラムモジュールと
を含み、
該プログラムモジュールは、該メモリに格納され、該手段によって実行されるように構成され、
該プログラムモジュールは、
ネットワークにおけるピアリングリンクを介するグループのユーザとサーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定するための命令であって、該第１のセットの会話における所与の会話は第１の時間間隔内の任意の時間において始められた、命令と、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較するための命令であって、該第２のセットの会話における所与の会話は第２の時間間隔内の任意の時間において発生し、該第２のセットの会話は該第１のセットの会話を含み、該第２のグループのユーザは第１のグループのユーザを含み、該第２の時間間隔は該第１の時間間隔を含む、命令と、
該再送信率と該ヒストリカルな再送信率との比較に基づいて該ピアリングリンクを介する追加的なユーザと会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節するための命令と、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と該ターゲット受入率とに基づいて、該ピアリングリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れること、または、拒否することによって、該ピアリングリンクの通信パフォーマンスを維持するための命令と
を含む、コンピュータシステム。
【請求項２３】
コンピュータシステムであって、
プロセッサと、
メモリと、
プログラムモジュールと
を含み、
該プログラムモジュールは該メモリに格納され、該プロセッサによって実行されるように構成され、
該プログラムモジュールは、
ネットワークにおけるピアリングリンクを介するグループのユーザとサーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定するための命令であって、第１のセットの会話における所与の会話は第１の時間間隔内の任意の時間において始められた、命令と、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較するための命令であって、該第２のセットの会話における所与の会話は第２の時間間隔内の任意の時間において発生し、該第２のセットの会話は該第１のセットの会話を含み、該第２のグループのユーザは第１のグループのユーザを含み、該第２の時間間隔は該第１の時間間隔を含む、命令と、
該再送信率と該ヒストリカルな再送信率との該比較に基づいて該ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節するための命令と、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と該ターゲット受入率とに基づいて、該ピアリングリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れること、または、拒否することによって、該ピアリングリンクの通信パフォーマンスを維持するための命令と
を含む、コンピュータシステム。
【請求項２４】
サーバであって、
ユーザと該サーバとの間のデータパケットを通信するように構成されたピアリングリンクを含むネットワークに結合するように構成された入力ノードと、
ピアリングマネジャーと
を含み、
該ピアリングマネジャーは、
該ピアリングリンクを介するグループのユーザと該サーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定することであって、該第１のセットの会話における所与の会話はある時間間隔内の任意の時間において始められるようになっている、ことと、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較することであって、該第２のセットの会話における所与の会話は別の時間間隔内の任意の時間において発生するようになっており、該第２のセットの会話は第１のセットの会話を含み、該第２のグループのユーザは第１のグループのユーザを含み、該別の時間間隔は該時間間隔を含む、ことと、
該再送信率と該ヒストリカルな該再送信率との比較に基づいて、該ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節することと、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と該ターゲット受入率とに基づいて、該ピアリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れること、または、拒否することによって、該ピアリングリンクの通信パフォーマンスを維持することと
を行うように構成されている、サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、通信を調整するための技術に関する。より具体的には、本実施形態は、ネットワークにおけるリンク上で会話を始めるためのリクエストを受け入れ又は拒絶するための技術に関する。
【背景技術】
【０００２】
ネットワーク（例えば、インターネットやワールドワイドウェブ（ＷＷＷ））におけるサーバは、例えば、多数のリンクを用いて接続された、マルチホーム型（ｍｕｌｔｉ−ｈｏｍｅｄ）のネットワークを介してユーザとデータを通信している。一般的に、サーバのオペレータとリンクを操作するプロバイダ間の財務的方式は２つのカテゴリーに分類されうる。即ち、（１）１つ以上のプロバイダがデータ輸送のために支払われるペイドトランジット（ｐａｉｄ−ｔｒａｎｓｉｔ）方式、および/または、（２）サーバのオペレータと１つ以上の追加的なプロバイダが支払い無しで互いにデータを輸送することに典型的に合意するピアリング（ＰＥＥＲＩＮＧ）方式がある。ペイドトランジット方式は、典型的には、ネットワークにおける全ユーザへの/からのトラフィックがいわゆる「トランジット」リンクを介して通信されることを可能にする一方で、ピアリング方式と関連するいわゆる「ピアリング」リンクは一般的に、サーバのオペレータのそれぞれのピアリングパートナー（例えば、追加的なプロバイダのうちの１つ）によって操作されるサブネットワークに属しているそれらのユーザにまたはユーザから送られたトラフィックをカバーするのみである。
【０００３】
ネットワークにおいて、サーバに向けられた/サーバから送信されたデータパケットに対するルートはボーダーゲートウェイプロトコル（ＢＧＰ）を使って典型的に決定される。例えば、トランジットリンクのプロバイダは１つ以上のルータ情報ブロック（ＲＩＢ）と関連した目的地を特定するためにＢＧＰを使いうる。対照的に、追加的なピアリングプロバイダーは、ネットワークにおける他のユーザと関連したトラフィックを中継したくないので、それらのポーションサブネットワークに属するユーザのＲＩＢを示すだけである。
【０００４】
不幸にも、トランジットリンクおよび/またはピアリングリンク上のトラフィック量を調整することは困難でありうる。この結果、所与のリンクがその容量を超過することになりうる。このオーバーフローの状態はしばしば、例えば、ビデオストリーミング中の再バッファリングのような低下したパフォーマンスをもたらす。この問題は、トランジットリンクと比較して事前準備ができない傾向があるので、ピアリングリンクに対してはより厳しいものとなりうる。
【発明の概要】
【課題を解決するための手段】
【０００５】
一実施形態は、サーバとの通信を調整するシステムを提供する。動作の間、システムは、ネットワークのピアリングリンクを介するグループのユーザとサーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定し、ここで、第１のセットの会話における所与の会話は第１の時間間隔内に始められた。そして、システムは、再送信率と、ピアリングリンクを介する第２のグループのユーザとサーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較する。ここで、第２のセットの会話における所与の会話は第２の時間間隔内に発生した。一部の実施形態において、第２のセットの会話は第１のセットの会話を含み、第２のグループのユーザは第１のグループのユーザを含み、第２の時間間隔は第１の時間間隔を含む。
【０００６】
次に、システムは、ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対するサーバのターゲット受入率を調節する。ここで、ターゲット受入率は、再送信率とヒストリカルな再送信率との比較に基づいている。さらに、システムは、ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対するサーバの実際の受入率と、ターゲット受入率とに基づいて、ピアリングリンクを介する別のユーザとサーバとの間の会話を始めるためのリクエストを受け入れるか、または、拒絶することにより、ピアリングリンクの通信パフォーマンスを維持する。
【０００７】
一部の実施形態において、ネットワークはインターネットを含む。
【０００８】
一部の実施形態において、第１の時間間隔は１分を含み、および／または、第２の時間間隔は１日を含む。
【０００９】
一部の実施形態において、ヒストリカルな再送信率は第２の時間間隔内の再送信率の分布のモーメントを含む。例えば、モーメントはメジアンを含みうる。
【００１０】
一部の実施形態において、ネットワークは、別のサーバと結合されている少なくとも１つのトランジットリンクを含み、該少なくとも１つのトランジットリンクは、サーバをインターネットサービスプロバイダ（ＩＳＰ）に結合しうる。例えば、ＩＳＰは、データパケットを輸送するためにサーバのオペレータに料金を請求しうる。さらに、リクエストの拒絶は、他のユーザを、トラフィックがリダイレクトされるトランジットバックアップサーバのような他のサーバにリダイレクトする命令を含みうる。
【００１１】
一部の実施形態において、システムは、実際の受入率とターゲット受入率との間の差に基づいてリクエストを受け入れまたは拒否する。
【００１２】
一部の実施形態において、ピアリングリンクは、サーバとネットワーク上の別のエンティティとの間の支払い無料のリンクを含む。例えば、エンティティとオペレータは、支払いなしで互いにデータパケットを輸送することを合意しうる。
【００１３】
一部の実施形態において、システムは、第２の会話についての統計情報を集め、再送信率は、少なくとも部分的に、集められた統計情報に基づいて決定される。
【００１４】
一部の実施形態において、システムは、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）情報に基づいて、どの会話がピアリングリンクに関連付けられそうであるかを決定する。
【００１５】
一部の実施形態において、経時的に調節されうるターゲット受入率は、固定された最小値より大きく、かつ、固定された最大値より小さい。さらに、ターゲット受入率は、サーバの実際の受入率の２倍より小さいものでありうる。
【００１６】
一部の実施形態において、ターゲット受入率は、ヴァンヤコブセン管理モデルに基づいて調節される。
【００１７】
一部の実施形態において、ターゲット受入率は、再送信率とヒストリカルな再送信率との差に基づいて調節される。さらに、ターゲット受入率は、再送信率が所定の値だけヒストリカルな再送信率を超えた場合に調節される。該調節はターゲット受入率を乗算係数によって減少させることを含みうることに留意されたい。
【００１８】
さらに、システムは、会話が終了する場合に、ターゲット受入率を増加しうる。例えば、ターゲット受入率は、会話が終了する場合に加算増分によって増加されることがあり、該加算増分は、ターゲット受入率の関連する増加率が乗算係数に関連するターゲット受入率の減少率よりも小さくなるように選択される。
【００１９】
一部の実施形態において、システムは、サーバを含むか、またはサーバに含まれうるコンピュータシステムによって実施される。
【００２０】
別の実施形態は、該システムによって実行される上記動作のうちの少なくとも一部を含む方法を提供する。
【００２１】
別の実施形態は、該システムとともに使用するためのコンピュータプログラムプロダクトを提供する。このコンピュータプログラムプロダクトは、該システムによって実行される上記動作のうちの少なくとも一部に対応する命令を含む。
【００２２】
別の実施形態は、サーバを提供する。このサーバは、ユーザと該サーバとの間のデータパケットを通信するように構成されたピアリングリンクを含むネットワークに結合するように構成された入力ノードを含みうる。さらに、該サーバは、再送信率を決定し、再送信率とヒストリカルな再送信率とを比較し、ターゲット受入率を調節し、リクエストを受け入れるか拒絶するように構成されているピアリングマネジャー含み得る。
本発明は、例えば、以下を提供する。
（項目１）
サーバとの通信を調整する方法であって、
ネットワークのピアリングリンクを介するグループのユーザと該サーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定することであって、該第１のセットの会話における所与の会話は第１の時間間隔内に始められた、ことと、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較することであって、該第２のセットの会話における所与の会話は第２の時間間隔内に発生し、該第２のセットの会話は該第１のセットの会話を含み、該第２のグループのユーザは該第１のグループのユーザを含み、該第２の時間間隔は該第１の時間間隔を含む、ことと、
該再送信率と該ヒストリカルな再送信率との比較に基づいて該ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節することと、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と、該ターゲット受入率とに基づいて、該ピアリングリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れること、または、拒絶することにより、該ピアリングリンクの通信パフォーマンスを維持することと
を含む方法。
（項目２）
項目１に記載の方法であって、上記ネットワークはインターネットを含む、方法。
（項目３）
項目１に記載の方法であって、上記第１の時間間隔は１分を含む、方法。
（項目４）
項目１に記載の方法であって、上記第２の時間間隔は１日を含む、方法。
（項目５）
項目１に記載の方法であって、上記ヒストリカルな再送信率は上記第２の時間間隔内の再送信率の分布のモーメントを含む、方法。
（項目６）
項目５に記載の方法であって、上記モーメントはメジアン（ｍｅｄｉａｎ）を含む、方法。
（項目７）
項目１に記載の方法であって、上記ネットワークは別のサーバと結合されている少なくとも１つのトランジットリンクを含み、
該少なくとも１つのトランジットリンクは該サーバをインターネットサービスプロバイダに結合する、方法。
（項目８）
項目７に記載の方法であって、上記リクエストの拒否は他のユーザを他のサーバにリダイレクトする指示を含む、方法。  
（項目９）
項目１に記載の方法であって、上記リクエストを受け入れること、または、拒否することは、上記実際の受入率と上記ターゲット受入率との間の差に基づく、方法。
（項目１０）
項目１に記載の方法であって、ピアリングリンクは、上記サーバと上記ネットワーク上の別のエンティティとの間の支払い無料のリンクを含む、方法。
（項目１１）
項目１に記載の方法であって、上記第２の会話についての統計情報を集めることをさらに含み、
上記再送信率は、少なくとも部分的に、該集められた統計情報に基づいて決定される、方法。
（項目１２）
項目１に記載の方法であって、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）情報に基づいて、どの会話が上記ピアリングリンクに関連付けられそうであるかを決定すること
をさらに含む方法。
（項目１３）
項目１に記載の方法であって、上記サーバの上記ターゲット受入率は最小値より大きく、かつ、最大値より小さい、方法。
（項目１４）
項目１に記載の方法であって、上記サーバの上記ターゲット受入率は上記サーバの実際の受入率の２倍より小さい、方法。
（項目１５）
項目１に記載の方法であって、上記ターゲット受入率はヴァンヤコブセン（ｖａｎ  Ｊａｃｏｂｓｅｎ）管理モデルに基づいて調節される、方法。
（項目１６）
項目１に記載の方法であって、上記ターゲット受入率は、上記再送信率と上記ヒストリカルな再送信率との差に基づいて調節される、方法。
（項目１７）
項目１に記載の方法であって、上記ターゲット受入率は、上記再送信率が所定の値だけ上記ヒストリカルな再送信率を超えた場合に調節される、方法。
（項目１８）
項目１７に記載の方法であって、上記調節は上記ターゲット受入率を乗算係数によって減少させることを含む、方法。
（項目１９）
項目１８に記載の方法であって、会話が終了する場合に、上記ターゲット受入率を加算増分によって増加させることをさらに含み、
該加算増分は、該ターゲット受入率の関連する増加率が上記乗算係数に関連するターゲット受入率の減少率よりも小さくなるように選択される、方法。
（項目２０）
項目１７に記載の方法であって、会話が終了する場合に、上記ターゲット受入率を増加させることをさらに含む、方法。
（項目２１）
コンピュータシステムとともに使用するためのコンピュータプログラムプロダクトであって、
該コンピュータプログラムプロダクトは、コンピュータ読み出し可能な記憶媒体と、該コンピュータ読み出し可能な記憶媒体に埋め込まれた該コンピュータシステムを構成するコンピュータプログラムメカニズムとを含み、
該コンピュータプログラムメカニズムは、
ネットワークにおけるピアリングリンクを介するグループのユーザとサーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定するための命令であって、該第１のセットの会話における所与の会話は第１の時間間隔内に始められた、命令と、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話中のデータパケットのヒストリカルな再送信率とを比較するための命令であって、該第２のセットの会話における所与の会話は第２の時間間隔内に発生し、該第２のセットの会話は該第１のセットの会話を含み、該第２のグループのユーザは該１のグループのユーザを含み、該第２の時間間隔は該第１の時間間隔を含む、命令と、
該再送信率と該ヒストリカルな再送信率との比較に基づいて該ピアリングリンクを介する追加的なユーザと会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節するための命令と、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と、該ターゲット受入率とに基づいて、該ピアリングリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れ、または、拒否することによって、該ピアリングリンクの通信パフォーマンスを維持するための命令と
を含む方法。
（項目２２）
コンピュータシステムであって、
計算手段と、
メモリと、
プログラムモジュールと
を含み、
該プログラムモジュールは、該メモリに格納され、該手段によって実行されるように構成され、
該プログラムモジュールは、
ネットワークにおけるピアリングリンクを介するグループのユーザと該サーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定するための命令であって、該第１のセットの会話における所与の会話は第１の時間間隔内に始められた、命令と、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較するための命令であって、該第２のセットの会話における所与の会話は第２の時間間隔内に発生し、該第２のセットの会話は該第１のセットの会話を含み、該第２のグループのユーザは該１のグループのユーザを含み、該第２の時間間隔は該第１の時間間隔を含む、命令と、
該再送信率と該ヒストリカルな再送信率との比較に基づいて該ピアリングリンクを介する追加的なユーザと会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節するための命令と、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と該ターゲット受入率とに基づいて、該ピアリングリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れること、または、拒否することによって、該ピアリングリンクの通信パフォーマンスを維持するための命令と
を含む、コンピュータシステム。
（項目２３）
コンピュータシステムであって、
プロセッサと、
メモリと、
プログラムモジュールと
を含み、
該プログラムモジュールは該メモリに格納され、該プロセッサによって実行されるように構成され、
該プログラムモジュールは、
ネットワークにおけるピアリングリンクを介するグループのユーザと該サーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定するための命令であって、第１のセットの会話における所与の会話は第１の時間間隔内に始められた、命令と、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較するための命令であって、該第２のセットの会話における所与の会話は第２の時間間隔内に発生し、該第２のセットの会話は該第１のセットの会話を含み、該第２のグループのユーザは該第１のグループのユーザを含み、該第２の時間間隔は該第１の時間間隔を含む、命令と、
該再送信率と該ヒストリカルな再送信率との該比較に基づいて該ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節するための命令と、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と該ターゲット受入率とに基づいて、該ピアリングリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れること、または、拒否することによって、該ピアリングリンクの通信パフォーマンスを維持するための命令と
を含む、コンピュータシステム。
（項目２４）
サーバであって、
ユーザと該サーバとの間のデータパケットを通信するように構成されたピアリングリンクを含むネットワークに結合するように構成された入力ノードと、
ピアリングマネジャーと
を含み、
該ピアリングマネジャーは、
該ピアリングリンクを介するグループのユーザと該サーバとの間の第１のセットの会話の間のデータパケットの再送信率を決定することであって、該第１のセットの会話における所与の会話はある時間間隔内に始められるようになっている、ことと、
該再送信率と、該ピアリングリンクを介する第２のグループのユーザと該サーバとの間の第２のセットの会話の間のデータパケットのヒストリカルな再送信率とを比較することであって、該第２のセットの会話における所与の会話は別の時間間隔内に発生するようになっており、該第２のセットの会話は第１のセットの会話を含み、該第２のグループのユーザは該第１のグループのユーザを含み、該他の時間間隔は該時間間隔を含む、ことと、
該再送信率と該ヒストリカルな該再送信率との比較に基づいて、該ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対する該サーバのターゲット受入率を調節することと、
該ピアリングリンクを介する該追加的なユーザとの会話を始めるためのリクエストに対する該サーバの実際の受入率と該ターゲット受入率とに基づいて、該ピアリンクを介する別のユーザと該サーバとの間の会話を始めるためのリクエストを受け入れること、または、拒否することによって、該ピアリングリンクの通信パフォーマンスを維持することと
を行うように構成されている、サーバ。
【図面の簡単な説明】
【００２３】
【図１】図１は、通信システムの実施形態を示すブロック図である。
【図２】図２は、サーバとの通信を調整するためのプロセスの実施形態を示すフローチャートである。
【図３】図３は、サーバとの通信を調整するためのプロセスの実施形態を示すフローチャートである。
【図４】図４は、システムの実施形態を示すブロック図である。
【図５】図５は、データ構造の実施形態を示すブロック図である。
【図６】図６は、データ構造の実施形態を示すブロック図である。
【００２４】
類似の参照番号は、図を通して対応する箇所を示す。
【発明を実施するための形態】
【００２５】
次の説明は、当業者が実施形態を製造及び使用できるように提示され、特別なアプリケーション及びその要件に関連して提供される。その開示された実施形態に対する種々の変形例が当業者に容易に明らかになり、ここで規定された一般原理は他の実施形態及びアプリケーションに本発明の精神及び範囲から逸脱することなく適用されうる。このように、本件開示は、示された実施形態に限定することを意図するものではなく、ここに開示された原理及び特徴と矛盾しない最も広い範囲が与えられる。
【００２６】
システムおよび/またはサーバでの使用のために、システム（コンピュータシステムであり得る）、サーバ、方法及びコンピュータプログラムプロダクト（例えば、ソフトウェア）の実施形態が記載される。これらのデバイス及び技術はサーバとの通信を調整するために使用され得る。特に、ネットワーク（例えば、インターネット）におけるリンクを介する追加的又は新たなユーザと会話を始めるためのリクエストに対するサーバのターゲット受入率（例えば、許容する秒当たりのバイト数に対するターゲット）が、データパケットの再送信率とデータパケットのヒストリカルな再送信率との比較に基づいて調節されうる。例えば、ターゲット受入率は、再送信率とヒストリカルな再送信率との差に基づいて調節されうる。続く議論においてピアリングリンクがリンクの例示的実施例として使用される。所与のユーザのためのピアリングリンクはＢＧＰ情報に基づいて識別されうる。
【００２７】
さらに、ピアリングリンクを介する別のユーザとサーバとの会話を開始するためのリクエストは、ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対するサーバの実際の受入率（例えば、許容される秒当たりの実際のバイト数）とターゲット受入率とに基づいて受け入れられまたは拒絶されうる。例えば、リクエストは、実際の受入率とターゲット受入率との差に基づいて受け入れられまたは拒絶されうる。このように、ピアリングリンクの通信パフォーマンスは、維持され、および/または、ピアリングリンクの利用が最大化されうる。  
【００２８】
再送信率は、第１の時間間隔（例えば、１分）内に始められたピアリングリンクを介したユーザとサーバ間の会話に基づきうる。ヒストリカルな再送信率は、第２の時間間隔（例えば、１日）内に発生したピアリングリンクを介したユーザとサーバとの間の会話に基づきうる。
【００２９】
続く議論において、ピアリングリンクはサーバのオペレータとネットワーク上の別のエンティティとの間のリンクを含みうる。例えば、エンティティとオペレータとは、無料すなわち支払い無し（ｓｅｔｔｌｅｍｅｎｔ−ｆｒｅｅ）で互いのためにデータパケットを輸送することに合意しうる（例えば、ピアリング合意に基づいて）。一部の実施形態においてピアリングリンク上で輸送されたデータに対する支払いがありうるが、一般的に、ピアリングリンクは、課金することなく互いのユーザにデータパケットを輸送することを合意するネットワーク上の２つのエンティティの間のリンクをいう。他方のエンティティはＩＳＰでありうる。
【００３０】
さらに、トランジットリンクはサーバとＩＳＰ間のリンクを含み、そこでは、ＩＳＰが、サーバへの、および、サーバからのデータを輸送するためにサーバのオペレータに課金しうる。トランジットリンクのより一般的な定義は、ネットワーク上の、エンティティのうちの少なくとも１つがデータパケットを輸送するために他方に課金する、２つのエンティティ間のリンクである。
【００３１】
いくつかの実施形態において、サーバのオペレータはＩＳＰまたはアプリケーションプロバイダである。
【００３２】
ネットワークは、インターネットまたはワールドワイドウェブ（ＷＷＷ）、イントラネット、ローカルエリアネットワーク（ＬＡＮ）（例えば、ＩＥＥＥ８０２．１１またはＷｉＦｉ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、ＩＥＥＥ８０２．１６またはＷｉＭＡＸ）、メトロポリタンエリアネットワーク（ＭＡＮ）、サテライトネットワーク、ワイヤレスネットワーク（例えば、セルラーテレホンネットワーク）、オプティカルネットワーク、および/または、ネットワークまたはコンピューティングシステムもしくは電子デバイス間の通信を可能にする他の技術の組合せを含みうる。
【００３３】
ネットワークを含む通信システムの実施形態を記述する。図１は、通信システム１００を例証するブロックダイアグラムを表す。このシステムでは、サーバ１１０−１がデータ（例えば、ビデオデータストリーム）をユーザ（例えば、ユーザ１２２）にルータ１１２およびネットワーク（例えば、インターネット）を介して提供する。これらのいわゆるユーザとサーバ１１０−１間の「接続」または「会話」は、トランジットリンク１１４、および/または、ピアリングリンク１１６を含みうるリンクを介しうる。前述したように、所与のユーザと関連するピアリングリンクはＢＧＰ情報に基づいて識別されうる。
【００３４】
ピアリングリンク１１６はＩＳＰ１２０−３（そしてより一般的には、ネットワーク上のエンティティと）と関連しうる一方、トランジットリンク１１４は、ＩＳＰ１２０−１，および/または，１２０−２と関連しうる。さらに、ＩＳＰ１２０−１および１２０−２は、ＩＳＰ１２０−３またはサーバ１１０−１（ＩＳＰ１２０のうちの１つと関連してもしなくてもよい）とは、ネットワークにおいて異なるステイタスまたは階層（ｔｉｅｒ）１を有しうる。例えば、ＩＳＰ１２０−１および１２０−２は、階層１のプロバイダでありうるし、ＩＳＰ１２０−３は、階層２または３のプロバイダでありうる。しかしながら、ＩＳＰ１２０は、異なる階層のプロバイダであってもよいし、なくてもよい。さらに、前述したように、ＩＳＰ１２０−３は、サーバ１１０−１のオペレータとのピアリング合意を締結しうるが（即ち、ＩＳＰ１２０−３は、データをサーバ１１０−１のオペレータに課金せずに（即ち、支払い無料の輸送）ＩＳＰ１２０−３によって操作されるサブネットワークにおけるユーザ１２２へ，または，ユーザ１２２からデータを輸送しうる）、ＩＳＰ１２０−１および１２０−２は、データを輸送するためにサーバ１１０−１のオペレータによって料金を支払われうる。
【００３５】
不幸にも、サーバ１１０−１がユーザ１２２にデータを提供している場合に、たとえ、ピアリングリンク１１６における他のピアリングリンクが追加的な会話のために利用できる十分な容量をまだ有していたとしても、ピアリングリンク１１６のうちの１つ以上はその最大の容量に到達しうる。これは影響を受けたピアリングリンクに関する失われたデータパケットとなりうる。さらには、このようなパフォーマンス低下はサーバ１１０−１のリソース制限により発生しうる。
【００３６】
これらのパフォーマンス課題に対処するために、例えばサーバ１１０−１のような通信システム１００における１つ以上のサーバはピアリングマネジャー１２４を含みうる。このピアリングマネジャーは所与のピアリングリンクを介する新ユーザと会話を始めるためリクエストを受け取るか否かを決定しうるか、および/または、所与のピアリングリンクを介する１つ以上のユーザ１２２との既存の会話に関連した追加的なデータを受け取るか否かを決定しうる。例えば、ピアリングマネジャー１２４の決定は、少なくとも部分的に、１つ以上の時間間隔の間に例えば観察された通信コントロールプロトコル（ＴＣＰ）損失率（Ｌｏｓｓ  ｒａｔｅｓ）のような所与のピアリングリンクと関連したパフォーマンス測定値を基礎にしうる。リクエストが拒否される場合、ピアリングマネジャー１２４は、１つ以上のユーザを例えばサーバ１１０−２のようなネットワークにおける１つ以上の追加的なサーバにリダイレクトする命令を提供しうる。
【００３７】
図２および図３と関連してさらに下記に述べるように、動作中、ピアリングマネジャー１２４は、最近始められた会話中（例えば最後の分の間）の所与のリンクを介して輸送されたデータパケットの再送信率を決定し、かつ、より長い時間間隔の間（例えば先立つ日の間）に発生した会話中の所与のピアリングリンクを介して輸送されたデータパケットのヒストリカルな再送信率を決定しうる。これらの再送信率の比較に基づいて、ピアリングマネジャー１２４は、ターゲット受入率を調節するか、または、所与のピアリングリンクを介する新しい会話を始めるためのリクエスト、および/または、所与のピアリングリンクを介する現存する会話と関連した追加的なデータを受け取るためのリクエストを拒否しうる。さらに、ピアリングマネジャー１２４は、ターゲット受入率と実際の受入率とに基づいてそのようなリクエストを受け入れまたは拒否しうる。
【００３８】
ピアリングマネジャー１２４は、少なくとも部分的に、コレクタ１２６により集められた統計的情報を用いてこれらの再送信率を決めうる。特に、コレクタ１２６は、会話、リンクおよび、例えば、１つ以上の時間間隔における、ＴＣＰ損失率のような関連した再送信率についての情報を集めうる。
【００３９】
さらに、ネットワークにおける会話はノード１１８間の多数なホップ（ｈｏｐｓ)を介して起こりうる。ＩＳＰ１２０−１および１２０−２は、適当なルーティング、および/または、請求を決めるために特定のユーザに対するサブネットワークにおける所与のノードの相対的なロケーションに関する情報を提供しうる。いくつかの実施形態において、この情報は、ＢＧＰ情報、ＲＩＢ情報、および/または、ＣＩＤＲ（クラスのないドメイン間ルーティング）ブロックを含み、ＣＩＤＲは、特定のリンクと関連したＩＰの範囲のリストを含む。同様に、ＩＳＰ１２０−３は、サーバ１１０−１のオペレータとのピアリング合意の誤用を防ぐためにそのサブネットワークにおけるユーザ１２２に対して、例えばＢＧＰ情報のような情報を提供しうる。
【００４０】
いくつかの実施形態において、ピアリングマネジャー１２４は、どのユーザが所与のピアリングリンクと関連するかを決定するために、例えばＢＧＰ情報のような情報を用いてもよい。いくつかの実施形態において、ルータ１１２は情報を受け取り、この情報は、ピアリングマネジャー１２４によるその後の使用のためにコレクタ１２６によって集められうる。
【００４１】
サーバ１１０−１との通信を調整することにより、この技術は、揺ぎ無く、かつ、ビデオストリームのリバッファリングのような、パフォーマンス低下を減少または削減して、１つ以上のピアリングリンク１１６を介する高利用の通信を促進する。さらに、この技術は、ピアリングリンク１１６を過供給（例えば、ピアリングリンク１１６のうちの１つ以上に関する過剰な容量がオーバーフロー状態を起こすことなく用いられる。）することなくこのような通信を促進しうる。
【００４２】
通信システム１００は、より少ないコンポーネントまたは追加的なコンポーネントを含みうる。例えば、１６個のサーバ１１０があり、その各々が関連したピアリングマネジャーを有しうる。（たとえ、これらのピアリングマネジャーが、互いに独立して動作するとしても、それらは、同時にあふれる共通のバッファと関連した同じフィードバック情報を用いうる。結果として、もし、ピアリングマネジャーのうちの１つ以上がアグレッシブならば、他のピアリングマネジャーは、それほどアグレッシブではなくても十分であり、ピアリングリンク１１６の全体容量が維持されうる。）さらに、２つ以上のコンポーネントが単一のコンポーネントに結合され、および/または、１つ以上のコンポーネントの位置が変更されうる。例えば、ピアリングマネジャー１２４は多数のサーバ１１０と関連した通信を調整しうる。
【００４３】
サーバとの通信を調整する方法の実施形態を述べる。図２は、サーバを含むシステムまたはサーバに含まれるシステムによって実施されうる、サーバ（例えば、図１におけるサーバ１１０−１のような）との通信を調整するためのプロセス２００を示すフローチャートを示す。動作中、システムは、第１のセットの会話における所与の会話が第１の時間間隔内に始められた、ネットワークにおけるピアリングリンクを介するあるグループのユーザとサーバとの間の第１のセットの会話中のデータパケットの再送信率を決定する（２１０）。それから、システムは、その再送信率と、第２のセットの会話における所与の会話が第２の時間間隔（２１２）内に生じた、ピアリングリンクを介した第２のグループのユーザとサーバとの間の第２のセットの会話中のヒストリカルなデータパケットの再送信率とを比較する。第２のセットの会話は、第１のセットの会話を含み、第２のグループのユーザは第１のグループのユーザを含み、第２の時間間隔は第１の時間間隔を含む。
【００４４】
次に、システムは、再送信率とヒストリカルな再送信率（２１４）との比較に基づいてピアリングリンクを介する追加的なユーザと会話を始めるためのリクエストに対するサーバのターゲット受入率を調節する。さらに、システムは、ピアリングリンクを介する追加的なユーザとの会話を始めるためのリクエストに対するサーバの実際の受入率と、ターゲット受入率とに基づいて、ピアリングリンクを介する別のユーザとサーバとの間の会話を始めるためのリクエストを受け入れるか、または、拒否し、それにより、ピアリングリンクの通信パフォーマンスを維持する（２１６）。
【００４５】
図３は、サーバ（例えば、図１におけるサーバ１１０−１）との通信を調整するための、サーバを含むシステムまたはサーバに含まれるシステムによって実行されうるプロセス３００を例示するフローチャートを示す。動作中、サーバとの通信が開始しうる（３１０）。例えば、ユーザは所与のピアリングリンクを介してサーバに接続しうる。このユーザがどのリンクを用いているかは、例えば図１のコレクタ１２６のような、外的システムからの最新のＢＧＰ情報を用いて決定され、コレクタ１２６は、ネットワークにおけるルータのルート反射（ｒｏｕｔｅ  ｒｅｆｌｅｃｔｉｏｎ）に基づいてこの情報を集めうる。特に、この情報はネットワークにおける各リンクに対するルータインターフェースおよびＲＩＢを提供し、所与のユーザに関連した入来データは、そのＩＰアドレスをその提供されたＲＩＢのうちの１つとマッチングすることにより、所与のリンクに配属されうる。
【００４６】
それから、システムは、集められた統計的情報に基づいて所与のピアリングリンクを介する新しい会話（例えば、最後の分に始まった会話）に対する現在の再送信率（３１２）および、所与のピアリングリンクを介するヒストリカルな再送信率（例えば、その先立つ日または日々の間に発生した会話）を決定しうる（３１４）。遅い接続を有するユーザと関連した損失率に基づく調整のバイアスを防止するために、現在の再送信率は新しいユーザ、例えば、最後の分に会話を始めたユーザに基づいて決定されうる。さらに、ベースラインとしてヒストリカルな再送信率を用いることによって、ターゲット受入率は、所与のリンクに関する「通常の」損失率（リンクによって異なりうる）に関して調節されうる（以下でさらに説明される）。
【００４７】
これらの再送信率は１つ以上の時間間隔の間のＴＣＰ損失率に基づき、該ＴＣＰ損失率は、ネットワーク容量に関連するパフォーマンス低下の測定値を提供する。特に、Ｌｉｎｕｘにおけるいわゆる「ｇｅｔｓｏｃｋｅｔｏｐｔ」システムコールを用いて、各ソケットの再送信されたＴＣＰデータパケットの数が決定されうる。この値をこのソケットに対する最大セグメントサイズによって乗算し、それを送られたバイト数で除算することは、データパケットの損失率に対する近似を提供しうる。
【００４８】
さらに、いくつかの実施形態においてヒストリカルな再送信率は再送信率の分布のモーメントを含む。例えば、そのモーメントは再送信率のメジアンを含み、再送信率は２４時間にわたり毎分決定されうる。このアプローチは、統計的異常値の影響を減少させまたは削減しうる。
【００４９】
次に、システムは、現在の再送信率を閾値に関するヒストリカルな再送信率と比較しうる（３１６）。例えば、システムは現在の再送信率とヒストリカルな再送信率との差を計算しうる。例示的な実施形態において、現在の再送信率がヒストリカルな再送信率を３％より多く上回ると、所与のピアリングリンクと関連したターゲット受入率は調節されうる（３１８）（そして、特に、減少される）。この閾値は所与のピアリングリンクを介する通話中のパフォーマンスを維持することに役立つマージンを提供しうる。
【００５０】
典型的な実施形態において、システムは、ヴァンヤコブセン管理モデル（Ｖａｎ  Ｊａｃｏｂｓｅｎ  ｃｏｎｔｒｏｌ  ｍｏｄｅｌ）を用いて所与のピアリングリンクと関連したターゲット受入率を調節する。特に、所与のピアリングリンクと関連したターゲット受入率は、乗算係数を用いて増加され、別の乗算係数を用いて減少されうる。他の実施形態において、所与のピアリングリンクと関連したターゲット受入率は、加算増分を用いて増加され、および/または、所与のピアリングリンクと関連したターゲット受入率は、他の加算増分を用いて減少されうる。しかし、乗算係数の使用は、非常に異なる容量をもっているピアリングリンクに対するターゲット受入率の調節を促進し、オーバーシューティングや遅い応答を避けうる。
【００５１】
前述したように、異なる時間間隔内の再送信率の比較は、ターゲット受入率における増大に対し抑制または上限を引き起こし得る。さらに、所与のピアリングリンクと関連したターゲット受入率は、最小値よりも大きくなりうるし最大値よりも小さくなりうる（再送信率とかかわりなく）。さらに、所与のピアリングリンクと関連したターゲット受入率は、所与のピアリングリンクと関連した実際の受入率の２倍以下でありうる。
【００５２】
所与のピアリングリンクと関連したターゲット受入率に対する調節（特に、ターゲット受入率に対する減少分）は、毎分決定されうる（しかし、以下で議論されるように、ターゲット受入率に対する増分は会話が終了するときはいつでも起こり得る）。現在の再送信率とヒストリカルな再送信率間の差が閾値以下であるときは、ターゲット受入率は乗算係数により増大され、乗算係数は他の乗算係数より１０倍小さい。さらに、会話が終了するとき、所与のピアリングリンクと関連した実際の受入率は減少し、そして所与のピアリングリンクと関連したターゲット受入率は増大させられ、その結果、典型的なビデオの時間間隔（例えば１分）と略等しい時間間隔の後、増分は１０％に等しくなりうる（実際上、１本の新しいビデオの代わりに、１．１本の新しいビデオが受け入れのターゲットになりうる。）。この増加は、加算増分に基づき、加算増分は、ターゲット受入率における増加率が乗算係数と関連したターゲット受入率における減少率未満になるように選択されうる。例えば、時間の関数としての増加率は、加算増分が乗算係数の効果をキャンセルするために１０倍長くかかりうるように時間の関数としての減少率よりも１０倍小さくなりうる。
【００５３】
対照的に、現在の再送信率とヒストリカルな再送信率との間の差がその閾値よりも大きいとき、ターゲット受入率は他の乗算係数によって減少されうる。この減少は、１分間隔で実行されうる。いくつかの実施形態において、減少されたターゲット受入率は旧ターゲット受入率の１．５倍に等しい。
【００５４】
比較がその閾値（３１６）よりも小さい場合、またはターゲット受入率が調節された後（３１８）、システムはリクエスト（３２０）、例えば、新ユーザとサーバ間の新しい会話のためのリクエストまたは別のユーザとサーバとの間の現存する会話中における追加的なデータを通信するためのリクエストを調整しうる。特に、サーバは、所与のピアリングリンクと関連したターゲット受入率と所与のピアリングリンクと関連した実際のターゲット受入率とに基づいてピアリングリンクを介する会話（新しいまたは現存する）に対するあらゆるリクエストを受け入れまたは拒否しうる。例えば、実際の受入率がターゲット受入率を超過する場合、リクエストは拒否され、実際の受入率がターゲット受入率より小さいとき、リクエストは受け入れられうる。リクエストが拒否されるとき、ユーザは他のサーバに行くように命令（例えば、ハイパーテキストプロトコルまたはＨＴＴＰリダイレクトを用いて）されうる。
【００５５】
いくつかの実施形態において、ターゲット受入率は所与のピアリングリンクを介する秒当たりに許容するバイト数のターゲットを示し、実際の受入率は所与のリンクを介する秒当たり許された実際のバイト数に対するターゲットを示す。しかし、いくつかの実施形態において、新しい会話と関連した実際の受入率は、現在の秒当たりの許容されたビット数に新しい会話と関連した秒当たりの予期ビット数を加えたものである。同様に、会話が終了するとき、実際の受入率は、この会話と関連した秒当たりの予期ビット数だけ減少させられうる。
【００５６】
他の実施形態において、調整の技術は異なるパラメータを用いうる。例えば、再送信率を決定するために用いられる時間間隔は異なってもよいし、異なる量のマージン（例えば、異なる閾値）が、現在の再送信率とヒストリカルな再送信率とを比較する場合に、用いられうる。さらに、メジアン以外の再送信分布の１つ以上のモーメントが用いられうる（例えば、平均）。
【００５７】
さらに、ＴＣＰデータパケット損失率を用いる代わりに、他の実施形態においては、ネットワーク容量を示す他の測定値が用いられる。該測定値には、ルータ（例えば、図１におけるルータ１１２）における失われたデータパケット、失われたプローブトラフィックのパーセント、またはヘッドルームの量（ここでヘッドルームはリバッファリング無しに再生するために必要とされるバイト数に対する輸送されたバイトの割合をいう）。例えば、所与のピアリングリンク上のすべてのユーザに対するヘッドルームが１．０より下である場合、リバッファリングが、起こり得るが、ヘッドルームのより大きな値に対しては、典型的にリバッファリングの必要性がない。
【００５８】
さらに、先の議論は、リクエストを読むコスト、および/または、リダイレクト命令を発行するコストを無視したが（１ＭＢ以上のダウンロードのような非常に大きなダウンロードにとって適当でありうる）、他の実施形態においては、調整技術はこれらの動作と関連したコストを含みうる。
【００５９】
プロセス２００（図２）および３００のいくつかの実施形態において、追加的な、または、より少ない動作がある。さらに、動作の順は変更しうるし、２つ以上の動作はひとつの動作に結合されうる。
【００６０】
サーバ（例えば、図１のサーバ１１０−１）との通信を調整する方法の少なくとも一部を実施しうるシステムの実施形態を述べる。図４は、システム４００の実施形態を示すブロックダイアグラムを表す。システム４００は、１つ以上のプロセッサ４１０、通信インターフェース４１２、ユーザインターフェース４１４およびこれらのコンポーネントを互いに結合する１つ以上の信号ライン４２２を含んでいる。１つ以上のプロセシングユニット４１０は平行プロセッシング、および/または、多層（ｍｕｌｔｉ−ｔｈｒｅａｄｅｄ）な動作をサポートし、通信インターフェース４１２は一貫した通信接続を持ち、１つ以上の信号ライン４２２は通信バスを構成しうる。さらに、ユーザインターフェース４１４は、ディスプレイ４１６、キーボード４１８、および/または、マウスのようなポインタ４２０を含みうる。
【００６１】
システム４００におけるメモリ４２４は揮発性のメモリ、および/または、非揮発性のメモリを含みうる。より具体的には、メモリ４２４はＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、Ｆｌａｓｈ、１つ以上のスマートカード、１つ以上の磁気ディスク記憶デバイス、および/または、１つ以上の光学記憶デバイスを含みうる。メモリ４２４は、ハードウェアに依存したタスクを実行するための種々の基本システムサービスを取り扱うための手順（または１セットの命令）を含むオペレーティングシステム４２６を記憶しうる。図４には示されていないが、オペレーティングシステム４２６はウェブベージの情報を提供、および/または、レンダリングするためのブラウザ（またはセットの命令）を含みうる。メモリ４２４は通信モジュール４２８において通信手順（または１セットの命令）をも格納しうる。これらの通信手順は、システム４００に対して遠隔に位置するコンピュータ、デバイス、および/または、サーバ等、１つ以上のコンピュータ、デバイス、および/または、サーバと会話するために用いられる。
【００６２】
メモリ４２４は、ピアリングマネジャーモジュール４３０（または１セットの命令）を含む１つ以上のプログラムモジュール（または１セットの命令）も含みうる。ピアリングマネジャーモジュール４３０は、異なる時間間隔の間の再送信率４４０を決定するために、ネットワークにおける１つ以上のリンクを介するユーザとサーバとの間の会話（例えば、リンクＡ４３４−１の会話Ａ、および/または、リンクＡ４３４−２の会話Ｂ）と関連するもののような通信統計４３２を解析しうる。例えば、直近の分に始められた所与のリンクと関連した会話に対する再送信率が決定されうる。同様に、直近の日における所与のリンクと関連した会話に対するヒストリカルな再送信率が決定されうる。会話およびいつ会話が始められたか（および会話が続行中か否か）に関する情報はピアリングマネジャーデータ４３６に含まれうる。ピアリングマネジャーデータ４３６は複数のリンク（リンクＡ４３８−１、および/または、リンクＢ４３８−２）に対するそのような情報を含む。
【００６３】
再送信率４４０に基づいて、ピアリングマネジャーモジュール４３０は１つ以上のリンクについての１つ以上のターゲット受入率４４２を決定しうる。例えば、ターゲット受入率４４２はヴァンヤコブセン管理モデルに基づいて調節されうる。さらに、これらのリンクに対するターゲット受入率４４２および実際の受入率４４４（通信統計４３２を用いて決定されうる）に基づいて、ピアリングマネジャーモジュール４３０は所与のリンク上の別のユーザとの別の会話を始めるためのリクエスト４４６を受け入れまたは拒否しうる。
【００６４】
いくつかの実施形態において、ピアリングマネジャーモジュール４３０は、リクエスト４４６が拒否されたとき別のサーバを推薦しうる。さらに、いくつかの実施形態において、ピアリングマネジャーモジュール４３０は、１つ以上の会話が終了するとき１つ以上のリンクに対する１つ以上のターゲット受入率４４２を増加させうる。
【００６５】
メモリ４２４における種々のモジュールにおける命令は、ハイレベルなプロセス言語、オブジェクト指向のプログラミング言語、および/または、アセンブリまたはマシン言語において実施されうる。プログラミング言語は、コンパイルされ、または、解釈されうる。即ち、プログラミング言語は、１つ以上のプロセスユニット４１０によって実行されるように構成可能、または、構成されている。
【００６６】
システム４００は、多くの別個のンポーネントを有しているものとして示されているけれども、図４は、本明細書において記述された実施形態の構造的概念図としてよりもむしろシステム４００に存在しうる種々の特徴の機能的記述であるように意図されている。実践において、当業者によって認識されるように、システム４００の機能は、非常に多くのサーバまたはコンピュータ上に分散され、種々のグループのサーバまたはコンピュータがその機能の特別なサブセットを実行しうる。
【００６７】
いくつかの実施形態において、システム４００の機能のいくつかまたは全ては１つ以上の特定用途集積回路（ＡＳＩＣ）、および/または、１つ以上のデジタル信号プロセッサ（ＤＳＰ）において実行されうる。
【００６８】
システム４００は、より少ないコンポーネントまたは追加的なコンポーネントを含みうる。さらに、２つ以上のコンポーネントは単一のコンポーネントに結合されうるとともに、および/または、１つ以上のコンポーネントの位置は変更されうる。いくつかの実施形態において、その技術において知られているように、システム４００の機能は、ハードウェアにおいてより多くそしてソフトウェアにおいてより少なく、または、ハードウェアにおいてより少なくそしてソフトウェアにおいてより多く実施されうる。
【００６９】
システム４００で用いうるデータ構造の実施形態を記述する。図５は、データ構造５００の実施形態を例示するブロックダイアグラムを表す。このデータ構造は通信統計５１０を含みうる。例えば、通信統計５１０−１は、１つ以上のＩＰアドレス５１２−１、１つ以上のリンク５１４−１、および/または、統計５１６−１を含みうる（例えば、ＴＣＰ損失率）。
【００７０】
図６は、データ構造６００の実施形態を例示するブロックダイアグラムを表す。このデータ構造はリンク６１０についての情報を含みうる。例えば、リンク６１０−１についての情報は、ターゲット受入率６１２−１、実際の受入率６１４−１、および/または、対応する会話６１８−１が始められたときまたは終了されたときを示す１つ以上のタイムスタンプ６１６−１を含みうる。
【００７１】
いくつかの実施形態において、データ構造５００（図５）および６００はより少ないまたは追加的なコンポーネントを含みうる。さらに、２つ以上のコンポーネントは単一のコンポーネントに結合され、および/または、１つ以上の位置が変更されうる。
【００７２】
先の実施形態は、例示的実施例としてピアリンクリンクを介する通信の調整を用いたが、他の実施形態において前述した技術は、１つ以上のトランジットリンクのような他のタイプのリンクを介する通信を調整するように用いられうる。
【００７３】
前述の実施形態は、例示および記述の目的のために提示されたものである。それらは、排他的であったり現在の実施形態を開示された形態に限定する意図はない。したがって、多くの応用および変形が当業者に明らかになるであろう。さらに、上記開示は本願の実施形態を限定するように意図されていない。現在の実施形態の範囲は添付の特許請求の範囲により定義される。  
【図１】
0005408811.tif 000002
【図２】
0005408811.tif 000003
【図３】
0005408811.tif 000004
【図４】
0005408811.tif 000005
【図５】
0005408811.tif 000006
【図６】
0005408811.tif 000007