JP4968975B2 - Content distribution method in distributed computer network - Google Patents
Content distribution method in distributed computer network Download PDFInfo
- Publication number
- JP4968975B2 JP4968975B2 JP50484999A JP50484999A JP4968975B2 JP 4968975 B2 JP4968975 B2 JP 4968975B2 JP 50484999 A JP50484999 A JP 50484999A JP 50484999 A JP50484999 A JP 50484999A JP 4968975 B2 JP4968975 B2 JP 4968975B2
- Authority
- JP
- Japan
- Prior art keywords
- site
- distribution
- user
- network
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Description
本発明は、分散型データの記憶保持および検索のためのシステムおよび方法に関し、さらに詳細には、それによりユーザが、動的でかつ分散されている多目的ネットワーク用のネットワークパフォーマンスの情報を取得することができる、システムおよび方法に関する。ここで、この情報は、コンピュータデータ、具体的には、マルチメディア・コンテンツを受信するための最適な配信サイトまたはサーバを識別し、および、選択するために、使用されるものとなる。このような配信サイトおよびサーバは、ネットワーク容量を増加し、サーバ負荷を分散し、および、サーバとユーザの間の伝達遅延を削減するように、選択される。
発明の背景
インターネットは、世界中に広がっていて接続されているコンピュータの開放的なネットワークである。メッセージは、宛先アドレスを指定するとともに、一連の“ホップ”(“hops”)を介してコンピュータからコンピュータへメッセージを渡すことによって、インターネット上の任意のコンピュータから他の任意のコンピュータに送信することができる。インターネット上の各コンピュータ、各ルータ、または、各“ノード”(“node”)には、ユニークなインターネットアドレスがある。中間のコンピュータまたはルータが通過中のメッセージを受信すると、コンピュータは、そのメッセージの意図されている宛先をチェックするとともに、それに応じてそのメッセージを次々と回送する。
インターネットは、規模と高度化という両方の点で、急激な速度で発達している。過去においては、インターネットの大部分のユーザは、学術、研究もしくは機関のユーザであった。インターネットは、その頃は、おもに、電子メールおよびネットワークニュースを送信および受信するためと、コンピュータ・ファイルの転送を可能にするためとに使用されていた。しかし、数年前にワールドワイドウェブ(“ウェブ”または“WWW”としても知られている)が導入されて以来、インターネットは、一般的に関心をよせられる、つまり画像や記事等の表現の、他の種類のデータの量を増大させることを、ホストし始めた。
ウェブのプロトコルおよび言語は、インターネットの広々とした区域(expanses)をナビゲーションするグラフィックの手段を確立する。多くの場合、おもにテキストとグラフィックの資材から成り立っている“ウェブページ”は、インターネット中にある“ウェブサーバ”として知られている多数のコンピュータに蓄積されている。“ブラウザ”として知られているソフトウェアプログラムは、希望されるウェブページの場所(すなわち、インターネットアドレス)を指定することにより、インターネットを経由してウェブページにアクセスしかつウェブページを見るために使用することができる。ウェブページにアクセスすると、その情報は、それが世界中のどこに位置していようとも、遠隔のコンピュータ(サーバまたは配信サイト)からインターネットを経由してユーザへと送信される。
最近では、ウェブは、音声データおよびビデオデータのようなきわめて高度化されている種類のマルチメディアコンテンツとコンピュータソフトウェアとをホストし始めた。第1世代のウェブコンテンツ、つまりテキストおよび静止画像に比較して、音声クリップ、ビデオクリップおよびソフトウェアプログラムは、きわめて高い記憶領域と帯域幅の要求をもっている。
現在、インターネットのマルチノードリンク上で大きな音声/ビデオファイルの高速持続伝送を提供することは、不可能ではないにしても、困難である。データは多くの場合遠くから転送されるため、多くの要因によって伝送の一部もしくはすべての遅延または損失さえ生じ得る。ユーザが小さいグラフィックファイルまたはテキストファイルを受信する上でマイナーな遅延を体験するかどうかは、概して重大ではない。しかし、ビデオのようなリアルタイムデータがデータの転送および表示に非常に特殊かつ厳密なタイミング要件を有することは、認識されている。
残念なことに、従来のインターネットに類似するデータネットワークの現在の設計は、遅延および大きなデータ伝達速度の変動が通常のデータ(例えば、テキストおよび静止画像)の場合に許容できるという原則に基づいている。その結果、世界中の場所からのテキスト情報およびグラフィック情報へのアクセスを可能にする高い価格のために、このような伝送の欠陥は許容できると考えられ、インターネットの基本容量は、データ伝送コストを削減するためにいくぶん“加入超過”(“oversubscribed”)になっている。言い換えると、ネットワークデータ伝送の適時性(timeliness)は、長距離通信接続であることの総費用を相対的に無意味にするために、かなり妥協されてきていた。
音声−ビデオデータをインターネットのようなメッセージ指向型ネットワーク経由で無事に転送するためには、数人を超える任意のユーザにとって、ネットワークリソースが伝送の適時性を促進する形式で寄託される必要がある。寄託されているネットワークリソースを使用するシステムは、それがデータパケット単位によるデータパケットでのネットワークリソースの共有に参加することができないため、通常、インターネットのような共有ネットワークの既存の価格形成方式を利用することはできない。ビデオデータは、より低い優先順位のデータを除外して伝送されなければならない。したがって、特に、接続が“長距離”のとき、あるいは、延長された時間の間接続が続行されるときには、伝送コストが多大になる。
上述した適時性対コストの折り合いの別の結果は、見た目には無差別のネットワークの構造設計になっている。遅延およびスループット(throughput)の変動は、従来、低コストを好んで大目に見られてきたため、インターネット・インフラストラクチャのコンフィギュレーションもコストの考慮によって決定されてきていた。このため、ネットワークの相互間接続の効率は、めったに考慮されることはなかった。リアルタイムデータの急激な発展がこの要求を変えつつある。
インターネット上での時間に敏感なデータの不十分なデータ転送パフォーマンスは、典型的には以下の4つの要因によって引き起こされることが認識されている。すなわち、パケットの損失、過剰なサーバの活用、ネットワーク・インフラストラクチャの相対的に低い容量、および、ネットワークハードウェアにおける固有の遅延である。特に、パケットの損失は、不十分なインフラストラクチャおよびルーティングにおける堅固さの欠如によって引き起こされる。固有の遅延は、とりわけ、インターネット上での多数ノード経路における隣接ノード間のフロー制御の欠如によって引き起こされると考えられている。
より小さいテキストファイルとグラフィックファイルとは異なり、相対的に大きなビデオファイルは、数分間(またはそれ以上)の“ストリーム”(“streaming”)、すなわち、絶えず続くデータフローを要することがある。その結果、通常のネットワークパフォーマンスの問題は悪化する。ネットワーク帯域幅、すなわち、ある特定のネットワークのデータ搬送容量が制限される。このため、パケット損失および遅延が増加する。長い配信時間は、長期間大量のサーバ容量を消費し、他のユーザが使用できるリソースを減少させる。したがって、ネットワーク・インフラストラクチャがますます輻輳するようになるので、パケット損失と遅延は増加し続け、伝送時間は上昇し、および、サーバ負荷はさらに増大する。
このパターンは、ビデオクリップのような大きいデータファイルの伝送の試行によって左右され得るネットワークパフォーマンスの“連続的下降”(“downward spiral”)を例示するものである。ネットワークトラフィックがネットワーク帯域幅によって課されれている制限の範囲内に留まる限り、ネットワークパフォーマンスは許容可能なままになる。しかし、ピークネットワーク負荷が容量を越えると常に、前述の連続的下降が始まり、不十分なネットワークパフォーマンスの期間を引き延ばす。
上述したように、ブラウザプログラムは、希望されているウェブページの場所(つまり、インターネットアドレス)を指定することによって、あるいは、より一般的には、ウェブページに“ホットリンクする”(“hotlinking”)ことによって、インターネットを経由してウェブページにアクセスし、かつ、これを見るのに使用することができる。一般のブラウザは、Lynx、NCSA Mosaic、Netscape Navigator、および、Microsoft Internet Explorerである。希望されているウェブページは、構文“http://internet.address/directory/filename.html”を使用してファイルの正確な場所を示す全域資源位置指示子(“URL”(uniform resource locator))によって指定される。
ウェブページは、通常、レイアウトとコンテンツという点で、“HTML”(HyperText Markup Language)として知られている言語によって記述されている。インターネットにリンクされている特定のコンピュータは、いずれも、1つまたは2つ以上のウェブページ、すなわち、HTMLフォーマットで書かれたコンピュータファイルを、ユーザによるアクセスのために記憶蓄積することができる。
あるHTMLウェブページから別のHTMLウェブページへのホットリンクは、以下のように達成される。ユーザは、まず、多くの場合ユーザのISP(Internet Service Provider)に位置しているコンピュータ上の、既知のアドレスを有しているウェブページにアクセスする。ISPは、ユーザにインターネット接続性を提供している組織である。そのウェブページは、HTMLフォーマットで指定されているテキストのデータと視覚的なデータとに加えて、多くの場合、“リンク”、つまりインターネット全体を通じた他のコンピュータ上の、他のウェブページのインターネットアドレスを指す(URLの形をした)はめ込まれた情報を含むことができる。それから、ユーザは、リンクを選択することによって(多くの場合、マウスで指し示してクリックすることによって)、他のウェブページにアクセスすることができ、それらは、次々と一層のデータおよび/または追加リンクを含み得るものとなっている。
NetscapeのEMBEDタグのようなHTMLへの多様な拡張は、ウェブページの中にはめ込まれる他のデータの参照を可能にする。テキストおよび画像以外のデータを処理することができないブラウザもある。その一方で、多様な方法でデータを処理することができるブラウザもある。例えば、NCSAのMosaicは、データがユーザのコンピュータにダウンロードされるのを可能にし、かつ、その後にデータを見てまたは操作するための外部プログラムを任意で呼び出すことによって、既知ではない種類のデータに対する参照を取り扱う。Netscape NavigatorおよびMicrosoft Internet Explorerの最近のリリースにより、概念はさらに一歩進んだ。すなわち、データがリモートウェブページから受信されると、そのデータを処理するためにブラウザ拡張、つまり“プラグ−イン”(“plug-in”)を、自動的に呼び出すことができる。Java言語(または類似した言語)で記述されているネットワークプログラム“アプレット”(“applets”)のような他の手段は、ブラウザ環境またはネットワークの機能性を拡張するために使用することができる。
デジタルのマルチメディアデータは、きわめて高い記憶領域および帯域幅の要求を有し得る。特に、ビデオファイルは、約10メガバイトから10ギガバイトと非常に大きくなる可能性がある。ユーザの端末で、それが録画された速度に近づく速度でビデオファイルを再生するためには、ファイルは高速、不変の速度で配信されなければならない。低速過ぎると、画像は、もとの録画されたものよりゆっくりとプレイバックされる。速度が一様ではない場合には、ビデオは、昔の映画のようにぴくぴく動く(jerky)ように見える。
上述したネットワーク設計の折り合いは、通常、インターネットを経由する音声データおよびビデオデータの伝送に悪影響を及ぼす。ウェブを“サーフ”(“surf”)するためにブラウザを使用しているユーザは、テキストおよび静止画像を検索している間のマイナーな遅延および伝送速度の変動に気がつかない可能性があるが、このような欠陥は、リアルタイムの音声情報およびビデオ情報がアクセスされると明白になり、かつ、顕著になる。
これらの問題を解決する試みにおいて、インターネットコンテンツプロバイダは、“ミラーサイト”(“mirror sites”)として知られている多様なサーバまたは配信サイト上で、インターネット中の人気のあるコンテンツを拡布することがある。各ミラーサイトは、元のサイトの情報と本質的に同一である情報を含んでいる。例えば、人気のあるウェブサイトがニューヨークに位置する場合、ミラーサイトは、ロスアンジェルス、ロンドンおよび東京に位置していてもよい。したがって、ヨーロッパのユーザが元のニューヨークのサイトにアクセスするのが困難な場合、そのユーザは、地理的に最も近いミラーサイト、つまりロンドンにホットリンクすることができる。
しかしながら、ミラーサイトにはいくつかの不利な点がある。例えば、ミラーサイトは、地理的には幅広く分散していてもよいが、実際の使用量、ネットワークトラフィック等という点ではネットワーク上で効率的に分散されていないことがある。したがって、ニューヨークとロスアンジェルスのミラーサイトは、両方とも、同じ国内インターネットサービスプロバイダのネットワークに接続され、それらのサイトの一方にアクセスする上での困難さが他方にも影響を及ぼす可能性があることを、意味することがある。
さらに、ミラーサイトは、各サーバに対する負荷を削減するために最適に配置されていないことがある。ミラーサイトがどこに設置されるべきかに関して“知識に基づいた推測”(“educated guess”)がなされるかもしれないが、実際の使用量パターンは異なる可能性がある。さらに、パフォーマンスの改善の保証はない。ミラーサイトの帯域幅は、元のサイトの帯域幅より低く、あるいは、それが他の理由から過剰負荷の状態になっていることがある。
さらに、ミラーサイトは、多くの場合、自発的な基準によってホストされている。あるウェブサイトがきわめて人気があり、かつ、主題がその加入者にとって関心がある可能性があるとサービスプロバイダが判断すると、そのサービスプロバイダは、元のウェブサイトのミラーサイトをホストすることに同意する可能性がある。人々がミラーサイトに引かれ、かつ、そこでホストされている他のコンテンツにもホットリンクする可能性があるため、このような調整は、ミラーサイトのホストにとって魅力的なものとなる。他方、このような自発的な提携は、典型的には信頼性がなく、かつ、任意の時点で断ち切られる可能性がある。
本来、ミラーサイトは、データにとって、使用できることもあれば、使用できないこともあり、かつ、ユーザの利便性を改善することもあるが、ネットワークの帯域幅または効率には取り組まない、二次的なソースを提供する。ミラーサイトは、ネットワークのパフォーマンス特性も考慮に入れず、インターネット上の方式のような既存の低コストの価格形成方式を依然として活用する一方で効率的にビデオデータを伝送するために使用し得る利用可能な帯域幅も識別しない。
現在では、配信サイトのための最適な場所の選択に関するガイダンスがまったくなく、どのミラーサイトに接続するのかをユーザが判断できるようにする、最適なパフォーマンスを保証するであろう方法も知られていない。実際、従来のミラーサイトの使用は自発的である。典型的には、ユーザは、元のサイト(もしくは、既知のミラーサイト)にアクセスしようと試み、1回または2回以上の試行の後にパフォーマンスが不十分であると判明する場合にだけ、別のミラーサイトへの切り替えをすることになる。このアプローチは、ネットワークリソースの非効率的な活用である。明らかに、ミラーサイトは、過剰負荷になっているウェブサイトの問題にとっての最適な解決策ではない。とりわけ、この主要な理由とは、ネットワークパフォーマンスを考慮できていない点にある。
ネットワーク分析、特に、インターネット上での特定の経路およびリンクのパフォーマンスは周知であり、かつ、開発されている。例えば、“ping”プログラムは、インターネットに接続されているコンピュータに対し、遠隔のホストがアクセス可能であるかどうかを判断できるようにする。しかし、このpingプログラムは、ICMPプロトコルとして知られている低優先順位ネットワークプロトコルを使用しており、かつ、そのために有意義なパフォーマンスの分析情報を提供しない。“traceroute”プログラムは、コンピュータから遠隔のホストへのメッセージの伝送を追跡し、各リンクに沿った遅延を追跡調査し、および、該メッセージによって取られる経路を決定する。このtracerouteアプリケーションは、データの流れをマッピングするのに使用できる。ただし、それには、有意義なパフォーマンスの分析情報を提供する能力が欠けている。Tracerouteは、ある方向で伝搬するメッセージに関するルート情報を提供するだけであり、かつ、時間的にある一瞬に関してだけ提供する。
さらに、テストを実行中の単一のコンピュータに続く経路とそれから続く経路の接続性特性だけは、典型的に決定される。テストの範囲を拡大することは可能であるが、インターネットは非常に大規模であるため、論理学的には実行不可能である。
“ping”プログラムおよび“traceroute”プログラムのような従来のネットワーク分析技術は、ネットワーク接続性という観点を提供するが、プロバイダとインターネットを経由するミラーサイトからどのようなパフォーマンスを期待できるかについての理解はほとんど提供しない。したがって、配信サイトまたはミラーサイトがどこに位置すべきなのか、あるいは、パフォーマンスを最適化するためにはどのミラーサイトを使用すべきなのかに関しては、「推測」だけを行うことができるに過ぎない。
したがって、総合的なネットワークパフォーマンスを判断する方法に対するニーズが存在する。コンテンツプロバイダが最適なネットワークの位置にデータ配信またはミラーサイトを動的に配置することができるようにし、かつ、ユーザがデータを受信すべき最適なミラーサイトを選択するのを許容する、その方法を適用するシステムにとってはさらに別のニーズが存在する。
発明の要約
本発明は、インターネット中に位置しているサイトへのウェブコンテンツの最適化された分散のためのシステムおよび方法を目的としている。ここで、“スマートミラー化”(“Smart Mirroring”)と呼ばれているインテリジェント・ミラー化方式は、ミラーサイトに対するニーズおよびその分散を判断するとともに、一定のウェブコンテンツに対するユーザの要求を最適なミラーサイトに向けるために使用される。
多くの“スマート”(“Smart”)な配信サイトまたはミラーサイトは、人気のあるウェブコンテンツをインターネットの多様な部分に分散するために使用される。多数のユーザによって実行されているテストに基づいたネットワーク分析の包括的な方式が、サイトに好ましい位置(locations)を対話的に決定し、かつ、各個別のユーザによって使用される最適なサイトを決定するために、使用される。
したがって、各個別のユーザが改善されたパフォーマンスを提供するスマートミラーまたは配信サイトへルーティングされるため、総合的なネットワークの輻輳は削減される。大部分のケースでは、データがその上を移動しなければならないネットワーク接続の数を減少させ、それによりパケット損失および遅延を削減するために、改良されたサーバがユーザに電子的に近くに配置される。
さらに、ネットワーク分析の結果により、メッセージのトラフィックを、すでに過剰負荷になっているそれらの配信サイトおよびネットワーク領域から遠ざけ、かつ、十分に利用されていないサーバおよびネットワークに向けてルーティングすることができるようにする。このため、各ユーザによって理解されるようにスループット(throughput)における改善がなされ、かつ、それによって該システムを使用しているコンテンツプロバイダにより提供されているコンテンツの魅力が増すことになる。コンテンツプロバイダは、パフォーマンスにおける顕著な低下を被ることなく、インターネットを経由してより多数のユーザに到達することができる。
本発明によるシステムは、元のウェブサイトおよび少なくとも1つの追加配信(またはミラー)サイトで始まる。このシステムの使用を希望している各ユーザには、好ましい実施の形態においては、コンフィギュレーション・ユーティリティおよびクライアント・プログラムを含むソフトウェアが与えられることになる。そのコンフィギュレーション・ユーティリティは、まず、どの配信サイトがその特定のユーザにとって改善されたパフォーマンスを提供するのかを判断するために使用される。
本発明の一実施形態においては、コンフィギュレーション・ユーティリティは、最初に、サービスプロバイダから“配信サイトファイル”(“delivery site file”)をダウンロードする。この配信サイトファイルには、利用可能な配信サイトのリストおよび実行されるネットワークテストのリストが含まれている。テストの種類および実行されるテストの頻度は、ネットワークをテストしているユーザの数およびネットワーク上での概算流出もしくは配信システム容量に応じるように、該配信サイトファイルにおいて指定することとしてもよい。
コンフィギュレーション・ユーティリティは、該配信サイトファイルにおいて指定されているテストのサブセットを実行することになる。テストの結果は、どの配信サイトがユーザにとって改善されたパフォーマンスを生み出すのかを示すとともに、テストを実行しているユーザの観点からの多様な汎用化されたネットワークの性能に関する情報をも含んでいる。ネットワークのテスト結果および選ばれた配信サイトの識別情報は、(1つの可能なコンフィギュレーションにおいてはeメールによって)サービスプロバイダのデータベースの中に取り込むために配信サービスプロバイダへ送り返されることになる。
その後、コンフィギュレーション・ユーティリティによって選ばれた配信サイトは、配信システムのサービスプロバイダが管理しているすべてのコンテンツの検索のために、そのユーザによって使用される。その結果、ユーザがウェブコンテンツをブラウザして、そして、サービスプロバイダの配信システムによって管理されている特定のアイテム、例えばビデオクリップを見つけると、クライアント・ソフトウェアは、自動的に、指定されている“スマートミラー”配信サイトからそれを検索する。サイトの優先およびデフォルトのサイトは、要求に応じて定期的に、指定されたときに、または、ネットワークの負荷およびトラフィックにおける変化に応答して、アップデートすることができる。
さらに、本発明のコンフィギュレーション・ユーティリティは、多様なネットワークテストを実行し、かつ、サービスプロバイダにそのテストの結果を提供しているため、システムおよびネットワークのパフォーマンスに関する貴重なデータを入手することができる。このようなデータは、どの“スマートミラー”配信サイトが効果的に実行していてどの“スマートミラー”配信サイトが効果的に実行していないのか、どのスマートミラー配信サイトが過剰負荷になっているのか、および、インターネットのどの部分がさらに多くの配信サイトまたは容量の追加から利益を得る可能性があるのか、に関する情報を提供する。このようなデータは、また、エンド−ツー−エンド(end-to-end)のパフォーマンスの測定、処理量の特徴化、ルートの安定性および動作不能状態の測定基準のような高度なネットワーク分析の実行をも可能にする。
本発明の実施の形態においては、ミラーサービスプロバイダは、インターネットIPアドレスを“電子的に近い”(“electronically close”)配信サイトに相関付けるルックアップテーブルを運営するために、エンドユーザによって提供されているネットワークパフォーマンスのデータを使用する。ユーザがウェブページをブラウジングしつつ、例えば、サービスプロバイダの配信システムによって管理されている広告の見出しまたはビデオクリップなどのファイルを要求すると、サービスプロバイダは、そのユーザのIPアドレスをそのルックアップテーブルにマッピングし、かつ、どの配信サイトがそのユーザにとって“電子的に近い”のかを判断することができる。サービスプロバイダは、その後、ユーザのコンフィギュレーション・ユーティリティまたはクライアント・プログラムに対し、単一の配信サイトアドレスまたはこれらのサーバへの配信サイトアドレスのリストを提供することができる。後者の場合、ユーザ端末は、最終的な配信サイト選択を行うルータとして動作する。
一般的には、ある特定のユーザにとって改善された配信サイトは、一群のユーザによって以前に実行されたネットワークのテストから収集されたネットワークパフォーマンスの総合データを分析することにより、事前に予測することができる。したがって、配信サイトの選択は、ユーザがミラーサービスプロバイダの配信システムによって管理されているファイルを要求するたびに、実行中(on-the-fly)に起こる可能性がある。ユーザの観点からは、配信サイトの選択は、ウェブページからファイルを選択することとユーザの端末へ配信されたファイルを所有することとの間にまったく遅延がないものと見えるように、自動的にかつ透明的(transparently)に行われる。サービスプロバイダによって維持されているルックアップリストは絶えずアップデートされてネットワークパフォーマンスにおける変化を反映し、サービスプロバイダがネットワークトラフィックの負荷配分を効率的に行うことを可能にする。
このようにして、工学技術的な観点から、ミラーサービスプロバイダは、改善されたパフォーマンスが提供されていることを保証し続けることができる。マーケティングの観点からは、コンテンツプロバイダに対し、パフォーマンスの改善のためにスマートミラーまたは配信サイトをどこに配置するべきなのか、および、どのISPが改善された配信を実現するのか、を告げることができる。
【図面の簡単な説明】
図1は、多種多様なユーザおよび多種多様なコンテンツプロバイダを含む本発明によるシステムの例示的なネットワークトポロジのブロックダイヤグラムである。
図2は、本発明によるシステムにおいて使用されるコンフィギュレーション・ユーティリティの動作を説明するフローチャートである。
図3は、本発明によるシステムにおいて使用されるクライアント・プログラムの動作を説明するフローチャートである。
図4は、サイト選択が本発明の実施の形態においてどのように実行されるのかを示すフローチャートである。
発明の詳細な説明
本発明は、詳説されている例示的な実施の形態に関して以下に説明される。本発明が多岐に渡る種々の形式で実現できることは明白であり、そのいくつかは、開示されている実施の形態の形式とはきわめて異なるものであってもよい。従って、ここに開示されている特定の構造上および機能上の詳細は、単に代表的なものにすぎず、かつ、本発明の範囲を制限しない。
最初に図1を参照すると、インターネット10が“クラウド”(“cloud”)として描かれている。このインターネット10は、一般的な広域通信ネットワークを表すことを意図したものである。インターネットは、多数のコンピュータの相互接続されたネットワークとして知られている。互いに“地理的に”(“geographically”)近いインターネット接続されたコンピュータがインターネット上で互いに“電子的に”(“electronically”)近いこともあり得るが、このようなことは通常のケースではない。しかし、インターネットに接続されているあるコンピュータが、インターネットに接続されている任意の他のコンピュータと通信することはできる。つまり、メッセージは、直接的に互いに接続されているコンピュータ間で、リンクのシーケンスまたは“ホップ”(“hops”)を含む経路上をほぼ確実に移動することになる。
第1ユーザ端末12も図1に描かれている。第1ユーザ端末12は、典型的にはただのコンピュータ、ルータ、または、インターネット10に接続されている端末サーバであるインターネットサービスプロバイダ(ISP(Internet service provider))14に接続されている。ISP14は、第2ユーザ端末16のような追加のユーザ端末をホストすることができる。第2ISP18のような他のISPもまた、インターネット10に接続されている。第3ユーザ端末20は、第2ISP18に接続されて図示されている。3つのユーザ端末しか示されていないが、本発明の並行ユーザの数は後述の実用可能な詳細を条件として無制限であることを注記する。
この技術分野で公知であるように、コンテンツプロバイダもまたインターネット10に接続されている。第1コンテンツプロバイダ22は、ある一定の種類のコンテンツ、例えばスポーツのスコアとハイライトを提供するものでもよい。第2のコンテンツプロバイダ24は、他の種類のコンテンツ、例えばビジネスニュースを提供するものでもよい。
従来、(第1ユーザ端末12を使用しているユーザのような)ユーザが第1コンテンツプロバイダ22によって提供されているコンテンツにアクセスすることを希望すると、端末12は、第1コンテンツプロバイダ22を直接問い合わせることになる。要求メッセージは、端末12からインターネット10を経由してコンテンツプロバイダ22へと伝搬することになる。コンテンツプロバイダ22は、インターネット10を経由して端末12へ希望されているデータを送り返すことになる。
図1では、いくつかの配信または“ミラー”(“mirror”)サイトが、インターネット10に接続されて示されている。第1配信サイト26は、第1ユーザ端末12からの少数の“ホップ”を配置されてもよい。第2配信サイト28は、第1ユーザ端末12からさらに遠く離れて配置されていてもよいが、、第3ユーザ端末20の近くに位置していてもよい。第3配信サイト30は、第2配信サイト28が第3ユーザ端末20に近いのと同程度に第3ユーザ端末20の近くにあってもよい。前記したように、“地理的に”互いに近いユーザおよびプロバイダもしくは配信サイトは、インターネット上で“電子的に”互いに近くないことがある。ユーザとプロバイダまたは配信サイトとの間の“電子的な”(“electronic”)距離を減なくすることによって、その上をデータが移動しなければならないネットワーク接続およびルータの数は、減少させることができる。
上述したように、スマートミラー化システムは、上記ネットワークの問題の発生率を減少させることによって、ネットワークパフォーマンスを改善する役割を果す。いくつかのケースでは、本発明のネットワークのテスト手順は、さらに長い経路の方がより短い経路より優れたスループット(throughput)を提供することがあることを示すが、パケット損失および遅延の問題は、一般的には、データがその上を移動しなければならないネットワーク接続の数を削減することによって軽減される。ネットワークのケーブルにおいては、パケット損失はほとんど発生せず、かつ、本来遅延はまったく生じない。したがって、典型的には、それは過剰負荷になっているネットワークの記憶装置とルーティング装置とによって引き起こされている。本発明のスマートミラーサイトは、各ユーザに電子的に近くに位置しているため、パケット損失および遅延は削減される。過剰なサーバ活用の問題は、多種多様な配信サイトが典型的には単一サーバによって処理されていたであろう負荷を共用するので、削減される。別々の場所にあるパラレルの配信サイトから検索されるデータが通常同じネットワークリンク上を移動する必要がないため、ネットワーク・インフラストラクチャの相対的に低い容量は、より問題になりにくい。
この発明を説明するため、配信サイトは、配信のためにソフトウェアコードのようなデータまたはその他のファイルを記憶することもできるネットワーク上の“ノード”(“node”)であるものとする。この用語は、また、ミラーサイト、コンテンツプロバイダおよびビデオストリームもしくはウェブサイトの一斉送信(broadcast)用サーバを含む、データ配信に対応することができるサイトを含み得る。
システムでは、ミラーサービスプロバイダ(MSP(mirror service provider))32が、インターネット10に接続されている。配信サイト26、28および30の分散と、ユーザ端末12、16および20からの元のサイトおよび配信サイトへの要求の割当とで、管理機能を実行するMSP32は、インターネット10上でデータを送信しかつ受信することができるデータベースを含む。
この管理機能は、ユーザ端末12上の記憶媒体(つまり、ランダムアクセスメモリ)内で実行されるコンフィギュレーション・ユーティリティ34およびクライアント・プログラム36の使用によって容易にされる。コンフィギュレーション・ユーティリティ34およびクライアント・プログラム36は、第1ユーザ端末12だけの一部として図1に示されているが、端末16および20のようなこのシステムに加入している任意のユーザ端末がこのようなソフトウェアを使用することになると認識すべきであることを注記する。このシステムに加入することを希望するユーザは、コンフィギュレーション・ユーティリティ34およびクライアント・プログラム36を含むソフトウェアを、MSP32から直接的に、あるいは、従来の小売経路、もしくは(コンピュータのブラウザもしくはオペレーティングシステムの一部であるような)他の経路を通して入手することができる。この本発明が説明されている実施の形態においてコンフィギュレーション・ユーティリティ34によって実行される機能は、ブラウザまたはその他のネットワークアプリケーションのような一般的なインターネットアプリケーションソフトウェアの中に統合することができることを注記する。スタンド−アロン・プログラムは必要ではない。
好ましい実施の形態においては、コンフィギュレーション・ユーティリティ34は、ユーザ端末12がシステムへのアクセスを得る前に、コマンドによってか、または、自動的かによって、ユーザにより実行されなければならない。コンフィギュレーション・ユーティリティ34の動作は、図2に詳細に示されている。
コンフィギュレーション・ユーティリティ34は、最初にユーザ端末12上で実行されるとき、MSP32(図1)から配信サイトファイルを検索する(ステップ40)。ユーザがすでに配信サイトファイルを持っており(例えば、それがコンフィギュレーション・ユーティリティ34を使って受け取られ)、かつ、その配信サイトファイルが十分に新しい場合、配信サイトファイルは、ユーザ端末12のローカルハードディスクから検索することができる。この配信サイトファイルには、(配信サイト26、28および30のような)すべての利用可能な配信サイトのリストと、ユーザ端末12で実行されるネットワークのテストのリストとが含まれている。本発明のコンテキストでは、2つほど少ない配信サイト、あるいは、ユーザの数がそれを正当化する場合には数千ほど多い配信サイトがあり得る。原則的にはサイト数は無制限であり、それぞれの利用可能な配信サイトが配信サイトファイルに表されている。
配信サイトファイルは、MSPのコンピュータシステム内からデータベースによって作成される。データベースのアプリケーションは、ユーザについての情報を使用し、実行すべき最適なテストを動的に決定する。その結果、配信サイトファイルは、存在するあらゆる配信サイトに対するエントリを含む必要はない。つまり、そのリストは、適切または実行可能と考えられるサイトだけを含むように調整することができる。
当初、配信システムのユーザ用のテスト・コンフィギュレーションにおける実行時間の変動の規模は低い。つまり、ユーザの第1グループは、すべて本質的には同じテストを実行する。しかしながら、配信サービスが発達するにつれて、各ユーザのテストの激しさは、ネットワーク全体でテストする規模の増加を埋め合わせるために削減される。テストの範囲およびテストされる配信サイトの数は、両方とも、ネットワークテストの総計負荷をさらに削減するために狭めることができる。
ある実施の形態においては、配信サイトファイルは、一般的に以下のようなフォーマットを有するものとなる。
1.ファイル改訂番号およびメッセージ。ファイルは、コンフィギュレーション・ユーティリティ34の新しいバージョンが利用できるかどうかを判断するために、このフィールドを有する。配信サイトファイルの改訂番号がコンフィギュレーション・ユーティリティのためのバージョン番号より高い場合、コンフィギュレーションは許容されていない。代わりに、ユーザは、コンフィギュレーション・ユーティリティ34のさらに新しいバージョンを取得するようにプロンプトを出されることになる。ここに説明されているようなファイル改訂の検証は、もっともアップ−トゥ−デートな配信サイト選択アルゴリズムがコンフィギュレーション・ユーティリティ34によって生成されているテストデータに適用されることを保証する。
2.利用可能なスマートミラー配信サイトのリスト。それぞれの利用可能な配信サイトに関し、以下の情報が提供される。
a.ホスト名。“www.server.com”という公知のインターネットフォーマットによる。
b.IPアドレス。公知のフォーマットでの数値のインターネットアドレス。このアドレスは、現在では、w.x.y.zという形の32ビットの数値であり、この場合、w、x、yおよびzは、それぞれ0から255の範囲内にある。
c.代替名。“第1ミラーサイト”のような非公式の名称。
d.実行されるテストのリスト。それぞれのテストに対し、以下の情報が提供される。
i.テストID。各種テストは、コンフィギュレーション・ユーティリティ34に既知であるユニークな識別子を有している。
ii.重み付けファクタ。各テストは、指定されたパーセンテージ分だけ、重み付けされることになる。
iii.頻度。各テストは必ずしも毎回実行される必要はない。このフィールドは、どの程度頻繁にある特定のテストが実行されるのかを求める確率を指定する。
iv.追加情報(オプション)。ある一定のテストに対し、追加情報が必要とされることとしてもよい。
e.サイト優先レベル。各サイトには、例えば1と100の間の重み付け、つまり優先レベルを与えることができる。後述するように、MSPのデータベース内の総計データは、単一ユーザの瞬間的なエンド−ツー−エンドのテストだけでは可能ではないネットワーク使用の分析を実行するために使用される。ここで規定されている重み付けファクタは、サービスプロバイダのデータベースから受け取られるテスト結果をを取り入れるために使用される。いったん所定の最大使用レベルに到達すると、この重み付けファクタは、また、新規ユーザの配信サイトへの割当を制限するためにも使用される。
f.テストサイトのフラグ。このフラグがイネーブルされると、前記テストが実行されるが、サイトは、たとえそれが最良のパフォーマンスを生じさせるとしても、配信サイトとして割り当てられないことになる。
g.コンテンツプロバイダのグループ。各サイトは、1つまたは2つ以上のコンテンツプロバイダグループに属し、それによって一定のコンテンツだけをミラー化することができる。ユーザがある特定の配信サイトによってホストされているデータの種類に関心がない場合には、それがテストされる必要はない。
コンフィギュレーション・ユーティリティ34は、その後、例えば、ユーザの氏名、eメールのアドレス、パスワード、モデム速度、および、アクセス制御に関係する情報(例えば、該ユーザが多様な属性のどのレベルを見ることができるのか)などのコンフィギュレーション・プロセスにおいて必要とされる情報の多様な項目に関して、ユーザに問い合わせる(ステップ42)。アクセス制御メカニズムは、以下により詳細に説明することにする。本発明の一実施形態においては、ユーザから受け取られる情報は、暗号化され、かつユーザ端末12上のコンフィギュレーション・ファイル内に記憶されている。
それから、コンフィギュレーション・ユーティリティ34は、ユーザ端末12が、インターネットに接続しているかどうか判断する(ステップ42)。接続していない場合、それは接続を始動し(ステップ44)、または、ユーザにそれを行うようにプロンプトを出す。
それから、一連のネットワークテストが実行される(ステップ46)。配信サイトファイルに一覧表記されている利用可能なサイトごとに、1回または2回以上のテストを実行することができる。ファイル内のすべてのサイトがテストされる必要はない。
以下のテストの種類は、現在、有効なデータを提供すると考えられている。
1.Ping。遠隔のサーバが到達可能であるのかどうか、および、到達可能である場合、低優先順位のメッセージがユーザ端末12からその遠隔のサーバへの往復を移動するのにどの程度の時間を要するのか、に関する情報を提供する。pingは、サイトが追加評価に使用できるのかどうかを決める上で有効な簡易テストである。pingアプリケーションによって戻される過剰時間は、効果的な情報の配信には“低速”すぎる配信システムを排除するために使用することができる。このテストは、テストされている配信サイトの数を削減するために端末によって使用される。
2.Traceroute。途中でどのシステムが使用されるのかと各ホップにどのくらいの時間を要するのかとを含む、ユーザ端末12から遠隔のサーバまでにメッセージがどのルートを取るのかに関する情報を、提供する。Tracerouteは、情報伝達の経路を文書化するために、コンフィギュレーション・プログラム34によって使用される。結果が異なるいくつかのトレースが、ある特定のユーザから特殊なサーバまでのルートの安定性が許容できないことを示す場合がある。サービスプロバイダのシステムデータベースからの、特定のルートに関して以前に総計されたデータもまた、特殊なユーザ向けの特定の配信サイトを選択するための決定に影響を及ぼすことがある。ルートの安定性は、主要な考慮事項である。
3.逆Traceroute。途中でどのシステムが使用されるのかと各ホップにどのくらい時間を要するのかとを含む、遠隔のサーバからユーザ端末までにメッセージがどのルートを取るのかに関する情報を提供する。逆Tracerouteは、情報受取りの経路を文書化するために、コンフィギュレーション・プログラムによって使用される。結果が異なるいくつかのトレースが、ある特定のサーバから特殊なユーザまでのルートの安定性が許容できないことを示す場合がある。サービスプロバイダのシステムデータベースから特定のルートに関して以前に総計されたデータもまた、特殊なユーザ向けの特定の配信サイトを選択するための決定に影響を及ぼすことがある。再び、ルートの安定性は主要な考慮事項である。
4.動的Traceroute。tracerouteまたは逆tracerouteに同様であるが、インターネット上の任意の指定されたコンピュータの対の間。動的Tracerouteは、情報伝達の経路を文書化するためにコンフィギュレーション・プログラムによって使用される。結果が異なるいくつかのトレースが、2つのネットワークの位置間のルートの安定性が許容できないことを示すことがある。サービスプロバイダのシステムデータベースから、特定のルートに関して以前に総計されたデータもまた、特殊なユーザ向けの特定の配信サイトを選択するための決定に影響を及ぼすことがある。上述のように、ルートの安定性は、主要な考慮事項である。
5.ネームサーバ解像度遅延(Name Server Resolution Delay)。数値インターネットアドレスが未指定である場合、ネームサーバのルックアップが実行され、どの数値アドレスが希望されているホスト名に相当するのかを判断する。このプロセスは、かなりの量の時間を要する場合がある。
6.スループット(Throughput)。サンプルファイルは、遠隔のサーバからダウンロードされるか、または、部分的にダウンロードされ、毎秒バイト単位で実際のスループットを求める。
7.スループット変動(Throughput variation)。サンプルファイルは、遠隔のサーバからダウンロードされるか、または、部分的にダウンロードされ、スループットが相対的に不変であるのか、または、浮動しているのかを判断する。
8.誤り率。サンプルファイルは、遠隔のサーバからダウンロードされるか、または、部分的にダウンロードされ、伝送が伝送誤差を受けるかどうかを判断する。この情報は、ユーザに戻されるエラーメッセージパケットの数を数えることによって得られ、それによってユーザからサーバへの誤り率を習得し、および、転送されたバイト数の分数として受信されたバイト数を追跡調査し、それによってサーバからユーザへの誤り率を習得する。
9.パケット断片化(PacketFragmentation)。サンプルファイルは、遠隔のサーバからダウンロードされるか、または、部分的にダウンロードされ、伝送が、断片化または故障しているパケットの受信にさらされるかどうかを判断する。
10.容量問い合わせ(Capacity Query)。遠隔のサーバがこのように作動されている場合、コンフィギュレーション・ユーティリティ34は、その伝送容量およびその平均負荷を求めるためにサーバに問い合わせる。この情報は、ほぼすべてのインターネットサーバによってサポートされている簡易ネットワーク管理プロトコル(“SNMP”(Simple Network Management Protocol))を介して収集される。
11.巨視的ネットワーク分析(Macroscopic Network Analysis)。MSPデータベースによって蓄積されているデータは、ネットワーク動作の大局的なビューを提供する。この情報により、スマートミラーシステムのユーザは、利用可能な配信サイトのパフォーマンスの履歴的な表示を見ることができる。該蓄積データは、すでにパフォーマンスの衰えを経験している領域での使用の重視をやめる一方で、ネットワークの高容量領域での使用を重視する目的でネットワークパフォーマンスを分析するために、配信システムのデータベースにより操作される。
前記テストのそれぞれがどのように実行されるのかに関する情報は、ネットワーク分析の技術分野では周知である。例えば、Bob QuinnおよびDave Shuteのウィンドウズ・ソケット・ネットワーク・プログラミング(Windows Sockets Network Programming)(アディソン−ウェズレイ(Addison-Wesley)、1996年)を参照のこと。本発明の一実施形態においては、テストは、サーバが到達可能であるかどうかを検証するための“ping”テスト、一連の小さい(例えば、20K)ダウンロード、一連の大きい(例えば、200K)ダウンロード、および、配信経路を文書化するための“traceroute”テストと“逆traceroute”テストを実行することによって達成される。
traceroute情報は、テストデータをそのデータベースにおける情報に相関付けるためにMSP32によって使用される。そのようにして、特に不良なネットワークリンクおよびサーバが識別できる。このような情報は、前述した配信サイトファイルに提供される。ある特定のリンクまたはサーバが信頼できないことが分かっている場合、他のユーザから得られた情報に基づいて、個々のユーザは、たとえ単一のテストが良好な結果を出したとしても、それから離れてルーティングされるものとすることかできる。
短いダウンロードは、サーバ容量を求めるために使用される。ネームサーバ解像度遅延は、データ送信を開始するために要する時間と同様に、、このようなテストによって決定することができる。もっと後の結果は、サーバ負荷、容量およびパフォーマンスに強く関係している。
長いダウンロードによって、コンフィギュレーション・ユーティリティ34は、パケット損失、ネットワーク輻輳およびサーバ活用がどのようにファイル配信に影響を与えるのかを判断できることになる。単一ユーザからのテストの結果に基づき、前記ファクタのどれがパフォーマンスの低下を引き起こしているのかを判断するのは理想的ではない。ただし、MSP32によって維持されているデータベースに記憶されているような総計中のこのような結果が、根本的な原因を示す。
テスト結果のいくつかが、それ以外のテスト結果とともに使用されてもよいことに注意する必要がある。例えば、容量問い合わせを通して決定される配信サイトに対する負荷は、サーバの負荷特性を仮定すると、平均予想ダウンロード時間を引き出すために、スループットテストの結果によって分割される。
すべての指定されたテストが実行された後、結果が収集され、かつ、処理される(ステップ48)。一定のテストが無事に実行できなかったと考えることは可能である。このようなケースでは、結果は、適切な最悪ケースの値(例えば、ゼロ・スループットまたはきわめて大きい遅延)を示すはずである。
コンフィギュレーション・ユーティリティ34が実行されるたびに、可能なすべてのテストが実行されるわけではないことに注意することが重要である。多数のユーザがシステムを使用しているとき、テスト手順だけによっても、サーバとネットワーク容量の多大な流出が生じ、前述したネットワークパフォーマンスの連続的下降を増大することになる。
上述したように、テストの頻度数は、テストを実行しているユーザの数を動的に制御する目的で、配信サイトファイル内に記憶される。コンフィギュレーション・ユーティリティ34によって実行されるテストは、どの配信サイトがある特定のユーザへのデータの配信にもっともよく適しているのかを決定する上で統計的な信頼を達成するために実行される。統計的な信頼は、ユーザの小さいサンプルを十分によく試験し、かつ、そのデータを配信サイトの選択肢に影響を及ぼすために使用することによってか、あるいは、多数のユーザにいくつかの利用可能なサイトをそれぞれ“軽く”(“lightly”)テストさせ、そのデータを総計の中で使用することによって、得られる。
したがって、システムが最初に使用されるとき、相対的に小さい数のユーザがシステムに“登録”される(enrolled)。MSP32によって維持されている配信サイトファイルは、それらの条件を反映し、かつ、各ユーザに、相対的に激しく(コンフィギュレーション・ユーティリティ34を通して)ネットワークをテストすることを要求する。ユーザ数が増加するに従い、配信サイトファイルは、各ユーザによって実行されるテストを軽減するために修正される。非常に多数のユーザがシステムを使用する時までは、コンフィギュレーション・ユーティリティ34は、大部分は(上述したように、“ping”型(“ping”-type)のテストによって)配信サイトの到達性に関し試験するとともに、おもに他のユーザによって提供されかつMSP32によって維持されているデータベースに記憶されているテストデータを信頼する。ただし、多くのユーザがシステムをテストしている時でも、少数のユーザ(例えば、5000分の1)がテストの包括的なセットを実行するために選択されてよい。
好ましくは、テストは、総サーバ負荷の約5%を超えて寄与してはならない。この目標に到達するための1つの方法が、多数のサーバを軽く(lightly)テストし、適切なパフォーマンスを有する配信サイトのグループを生じさせることである。すると、この配信サイトのグループは、データを検索するためのローテーションで使用することができる。グループ内の配信サイトのそれぞれのためのマルチメディア・クリップの実際のダウンロード時間に関する情報は、後述するように蓄積され、その後、配信サイトパフォーマンスに関する追加情報は、追加の即座テストを必要としなくても、透明的(transparently)にMSP32へ供給することができる。
これにより、収集されたテスト結果およびMSP32によって配信サイトファイルの中に提供された情報に基づき、コンフィギュレーション・ユーティリティ34は、との配信サイトまたは配信サイトのグループがユーザ端末12にとって最良であるのかを決定する(ステップ50)。この決定は、実行される多用な試験を重み付けし、かつ、サイトごとにスコアを比較することによって、数値的に下すことができる。
好ましい本実施形態においては、配信サイトおよびユーザの数が比較的に少数である低トラフィック(low-traffic)環境で使用するために、コンフィギュレーション・ユーティリティ34は、おもに、利用可能な配信サイトごとのpingテストおよびスループットテストに頼る。初期のpingテストは、配信サイトが到達可能であるかどうかを判断するために実行される。短いダウンロードおよび長いダウンロードが、スループットテストで実行され、配信サイトからの最大スループットおよび最小スループットを求め、および、スループット変動がビデオデータの伝送に対処できるほど十分に小さいかどうかを判断する。したがって、それらのテストにはすべて高い重みが与えられている。tracerouteのような他のテストを実行することができ、かつ、その結果は、配信サイトの選択で役割を果さないでMSP32に報告することができる(このような他のテストには、例えば、ゼロまたはほぼゼロの重みを与えることができる)。システムのサイズが大きくなるとともに、追加の配信サイトおよびユーザが登録されるに従って、変化を遂げるネットワーク状態を反映するために、サイトの選択方式を、配信サイトファイルのコンテンツを変更することによって変えることができる。
本発明の一実施形態においては、ユーザの位置とテストされている各サイトの(地理的および電子的の両方の)位置がユーザ端末12に接続されているモニタ上に表示できるように、所有権のグラフィックインタフェースが提供され、サイト間の相対的な距離の視覚的な表示を可能にする。一実施形態においては、そのディスプレイは、その上でユーザ端末12と配信サイトが関連する地理的な地域のマップ上に重畳されている“ブリップ”(“blips”)として表示される“レーダー・スクリーン”(“radar screen”)の形で示されている。ユーザに、アプリケーションを使用し、かつ、さらにネットワーク全体のデータを提供するように促すために、ユーザインタフェースは、ユーザが追加のパフォーマンステスト用の“暫定”(“ad-hoc”)テストサイトを入力できるようにする。このケースでは、コンフィギュレーション・ユーティリティは、デフォルトのウェブページファイル(例えば“index.html”)またはユーザによって要求されている特殊なファイルのどちらかをテストすることになる。ユーザによって選択されているサイトからの分析結果は、その他のサイトからの結果との妥当な比較を行うことができるように調整される。
コンテンツプロバイダの複数のグループに対応するために、配信サイトの多種多様なセットを本発明によって維持できることに注意する必要がある。各コンテンツプロバイダは、一定のサイトだけでミラー化されることとしてもよい。したがって、配信サイトのユニークなセットを有するコンテンツプロバイダごとに、一次配信ファイルがコンフィギュレーション・ユーティリティ34によって選択される。これを達成するために、前記テストを一度実行することができ、その後、一実施形態においては、数値重みを配信サイトのそれぞれの適切なセットに適用することができる。コンテンツプロバイダのグループごとに1つ、複数のスマートミラーサイトが選択される。コンテンツプロバイダのグループは、配信サイトファイルにおいて指定される。それぞれの考えられる配信サイトは、1つまたは2つ以上のコンテンツプロバイダグループに属しているとして識別される。コンテンツプロバイダグループが使用されるとき、2つのグループしかないことがある。最大数は、本来、無制限である。
配信サイトの優先順位が付けられている格付けもまた作成しかつ維持することができることに注意する必要がある。これが実行される場合、1次スマートミラーサイトが応答できないと、システムは次に高い順位が付けられているスマートミラーサイトに後退することを許容される。
スマートミラーサイトが選択された後、一定のデータが、eメールまたはその他のインターネット電子プロトコルを介してMSP32に送信されることになる(ステップ52)。ユーザに照会することによって受け取られる情報、選択されたスマートミラーサイトの識別情報、および、各テストが実行された時刻と日付を含む、すべての未処理テストデータと結果が(ある実施の形態では暗号化されている)テキストファイルにコンパイルされる。MSP32によって受信されると、データは、システムを管理しかつ分析する上で使用するためのデータベースに記憶される。
最終的に、コンフィギュレーション・ユーティリティ34は、配信サイトの各セットごとのために選択されたスマートミラーサイトの識別情報または(暗号化されている)コンフィギュレーション・ファイルに従って優先順位が付けられているリストを保存する(ステップ54)。コンフィギュレーション・ユーティリティは、また、テストされた各配信サイトごとの相対的なパフォーマンスに関する情報も保存することとしてもよい。クライアント・プログラム36は、適切なスマートミラーサイトからデータファイル(ビデオクリップまたはその他のコンテンツ)をダウンロードするために暗号化されているコンフィギュレーション・ファイルを使用する。
システムの運用では、MSP32が一定の機能を実行することに注意する必要がある。MSP32は、配信サイトのリストを維持し、必要に応じてサイトを追加し、かつ、削除する。MSP32は、また、コンフィギュレーション・ユーティリティ34を実行しているユーザから、eメールまたは他の手段によって受け取られる情報を格納するネットワークパフォーマンスに関するデータベースも維持する。大量のデータが多数のユーザから受け取られるので、データベースは、インターネットのパフォーマンスとその他の特性、および、その部分に関する貴重な情報を提供することができる。このような情報を運営するためには、多様なデータ処理技術が知られている。
本発明で使用される配信サイトの位置は、究極的には、マーケティングの考慮事項およびコスト/利益の分析を含む数多くのファクタによって決定される。しかしながら、MSPのデータベースに記憶されているデータは、インターネットまたはそれ以外のネットワーク上の与えられた位置に配信サイトを配置する有用性を確認することができる。一実施形態においては、サーバは、各主線(major backbone)(単一の企業によって維持されているインターネットの部分)の上に、および、地域ベル電話会社(“RBOCs”(Regional Bell Operating Companies))によって運用されている主要回線のような多数のユーザにサービスを提供している他のインターネット回線上に、配置される。多数のユーザにサービスを提供し、または、激しいビデオ配信トラフィックを有する一定のネットワークでは、サーバは、各ユーザが高速サーバにアクセスすることを確実にするために、ネットワークのための主要な接続点(“POPs”(Points of Presence))に配置することができる。
いったんコンフィギュレーション・ユーティリティ34が実行されると、ユーザは、システムを使用し、データファイル、具体的にはビデオクリップ、音声クリップ、ソフトウェアプログラムおよびその他のコンテンツの受信をイネーブルし、かつ、容易にすることができる。
時間が経過するとともに、ユーザのインターネットの領域の使用パターンが変化するにつれて、ユーザは、自分のユーザ端末12に対応しているスマートミラーサイトのパフォーマンスに満足できなくなる可能性がある。それが起こると、ユーザはコンフィギュレーション・ユーティリティ34を自由に再実行する。そのときまでに、追加配信サイトがサービスとして稼動されているか、あるいは、別の先に存在していたサイトが以前に割り当てられたサイトより良好に実行動作をする可能性がある。さらに、選択されたスマートミラーサイトが十分に実行されていない(例えば、それが10回の試行の内3回失敗した)とプレーヤー・プログラム36が判断すると、プレーヤー・プログラム36は、ユーザにコンフィギュレーション・ユーティリティ34を再実行するようにプロンプトを出すことができる。本発明の他の実施の形態では、テストおよびミラーの割当てが、スマートミラーサービス上でのファイルに対する各要求で、または、各別の要求、3回目の要求、10回目の要求もしくは100回目の要求のたびのように、なんらかの間欠時間で、自動的に実行される。
本発明の一実施形態では、スマートミラーシステムは、ウェブページ上で参照されているビデオクリップまたは音声クリップ(“クリップ”(“clip”))をそこからダウンロードする配信サイトの位置を突き止めるために使用される。この実施の形態においては、クライアント・プログラムは、“プレーヤー・プログラム”と呼ばれるか、“プレーヤー・プログラム”と見なすことができる。プレーヤー・プログラムは、クライアント・プログラム36の機能を実行することに加え、ビデオデータの検索およびプレーバックも可能にする。通常、ブラウザ・プログラム38は、ウェブコンテンツを表示するためにユーザ端末12上で実行される。典型的に使用されているブラウザ・プログラムは、NCSA Mosaic、Netscape NavigatorおよびMicrosoft Internet Explorerを含む。ブラウザ・プログラム38によって、ユーザは、インターネット上の多様なウェブサイトの間でホットリンクをすることができる。
EMBEDタグは、HTML文書内で使用され、どのウェブページがシステムによって管理されているコンテンツを含んでいるのかを示す。ブラウザ・プログラム38がEMBEDタグを含むウェブページを受け取ると、そのタグで参照されているファイルのダウンロードが始まるとともに、そのファイルタイプが分析される。ファイルがMPEGなどのプレーヤー・プログラムによって処理されているタイプである場合、ブラウザ・プログラム38は、プレーヤー・プログラム36を開始する。それから、そのタグのコンテンツはブラウザ・プログラム38によってプレーヤー・プログラム36に渡される。
プレーヤー・プログラム36(図1)は、MSP32によって容易にされているスマートミラー化サービスを提供する。プレーヤー・プログラム36の動作は、図3に詳細に示されている。
プレーヤー・プログラムは、最初に、EMBEDタグを分析し、「SM」(スマートミラー)パラメータがあるかどうかを判断する(ステップ60)。このようなパラメータの存在は、埋め込まれているクリップがスマートミラー化のためにイネーブルされていることを示す。「SM」パラメータに関連しているデータは、希望されているクリップの発信元である特定のコンテンツプロバイダを指定するとともに、その特定のコンテンツプロバイダが使用するミラーサーバのグループも同様に指定する。
EMBEDタグがシステムによって処理されているビデオクリップまたはその他のコンテンツを参照しているとプレーヤー・プログラム36が判断する場合(ステップ62)、コンテンツプロバイダ22からの埋め込まれているクリップの転送は停止される。それから、プレーヤー・プログラム36は、存在する場合には、EMBEDステートメントからアクセス制御またはレーティング情報を抽出する(ステップ64)。このレーティング情報は、ユーザ端末12に格納されているコンフィギュレーション・ファイルに記憶されている基準レベルに対して比較される(ステップ66)。レーティング情報がクリップに関し存在しない場合、コンフィギュレーション・ファイルは、以下に規定するように、レートが定められていないクリップが再生されてよいかどうかを判断するために問い合わせをされる(ステップ68)。前記情報に基づき、プレーヤー・プログラム36は、希望されているクリップの表示を許可するか、または、拒絶することになる。
プレーバックが許可されると、プレーヤー・プログラム36が、ユーザ端末12に属しているローカルコンピュータ上で参照されているクリップを発見しようとする(ステップ70)。それがそこに存在する場合、それは再ダウンロードされず、(ディスクからまたはRAMから)コンピュータ上で直接再生することができる(ステップ72)。ただし、ローカルコンピュータでのクリップの作成の時刻および日付は、まず、ネットワークで利用可能なクリップの時刻および日付に付き合わせて検証され、記憶されているクリップが最も最近のバージョンであるかどうかを判断する(ステップ74)。それが最も最近のバージョンではない場合、記憶されているクリップは破棄され(ステップ76)、かつ、ダウンロードが以下のように進む。
クリップがローカルコンピュータ上に存在しない場合、プレーヤーは、以下の形式による新たなURLを作成する(ステップ78)。すなわち、コンフィギュレーション・ファイルに記憶されている選択されたスマートミラーサイトのIPアドレスと、ミラーファイルへのパス名(例えば、“/pub/mirror/”)と、EMBEDステートメントにおける「SM」のパラメータから取得されるコンテンツプロバイダの名称と、EMBEDステートメントから取得されるファイル名とを、“http://”にプラスする。その構築されたURLは、コンフィギュレーション・ユーティリティ34によって選択される適切なスマートミラーサイトから、選択されるクリップを検索するために使用される(ステップ80)。1つより多いセットの配信サイトが異なるコンテンツプロバイダに存在する場合、「SM」パラメータは、さらにプレーヤー・プログラム36によって使用され、構築されたURLでコンフィギュレーション・ファイルにおけるどのスマートミラーサイトが使用されるのかを決定する(ステップ82)。本発明の一実施形態では、サイト選択が少なくとも部分的にリダイレクトサーバ(redirection server)によって実行される。この実施の形態は、図4を参照して後に詳述する。
構築されたURLに対応するクリップがスマートミラーサイトで見つからない場合、または、アクセスできない場合には、ダウンロードは、その後、コンフィギュレーション・ファイル内の次に高い順位のスマートミラーサイト、あるいは、リダイレクトサーバによって選択された次に高い順位の配信サイト(図4を参照のこと)から進む(ステップ84)。すべての配信サイトが失敗すると、ダウンロードは、EMBEDステートメントによって直接的に指定されているように、元のコンテンツプロバイダのサイトから進む。
プレーバックが禁じられると、プレーヤーはクリップが転送されるのを防止するとともに(ステップ88)、ユーザに対してダウンロードが許可されないことを忠告するビットマップを表示する(ステップ90)。
EMBEDタグがシステムによって処理されていないビデオクリップまたはそれ以外のコンテンツを参照しているとプレーヤー・プログラム36が判断すると、そのプレーヤーは、コンフィギュレーション・ファイル内に設定されているアクセス制御レベルが、ユーザに対し、これらのクリップまたは“レートが定められていない”(“unrated”)と見なされている他のファイルを再生することを許すかどうかをチェックすることになる(ステップ92)。許すのであれば、そのクリップは、従来の手段によってその元のコンテンツプロバイダ22から転送され(ステップ94)、プレーヤー・プログラム36がダウンロードされたファイルを表示する(ステップ96)。許されない場合は、プレーヤーは、クリップが転送されるのを防止するとともに(ステップ98)、ユーザに対し、ダウンロードが許可されていないことを忠告するメッセージを表示する(ステップ100)。
ダウンロード時、希望されているクリップを表すデータファイルは、ユーザ端末12に属しているローカルコンピュータ上の指定されているデータ領域内、通常はハードディスク上に記憶される(ステップ102)。一実施形態においては、このデータ領域は、プレーヤー・プログラム36によって最低使用頻度(least-recently-used)を基準として管理することができる。すなわち、データ領域内に新規クリップ用に場所がない場合、最低使用頻度の(または表示されていない)1つまたは複数のクリップを場所を作るために破棄することができる(ステップ104)。
本発明の一実施形態においては、クライアント・プログラム36が、ダウンロードが成功したかどうかを反映するために、MSP32にメッセージを送信することができるものとなっている(ステップ106)。このメッセージには、ユーザ端末12のインターネットアドレス、選択されたサーバセットの識別情報、ダウンロードを達成するために使用されているサイトのインターネットアドレス、失敗したすべてのサイトのインターネットアドレス、ダウンロードされたファイルの名前、および。ファイルをダウンロードするための時間が含まれている。この情報は、また、ファイルのダウンロードを追跡調査するため、および、リアルタイムで任意のスマートミラーサイトに問題があるかどうかを判断するために、MSP32によって使用することもできる。
代わりに、クライアント・プログラム36は、ファイル転送パフォーマンスの小さいローカルデータベースを維持することができる。それから、各ダウンロードが時間を合わせられることになる。具体的には、サーバが要求されたファイルを送信し始めるのに要する時間、データ転送速度の安定性、および、転送の誤り率に関して情報を集めることができる。なんらかの間隔(例えば、毎週、またはダウンロード100回につき1度)で、前述したユーザとサーバの情報と同様に、蓄積されたファイル転送パフォーマンスの情報を含むメッセージが(自動的にまたは要求時に)MSP32に送信され(ステップ106)、MSPのデータベースをアップデートする。この追加情報によって、いかなる追加のテスト間接費をも生じさせることなく、ネットワークパフォーマンスに関するMSPの“知識”(“knowledge”)が増加する。
このデータは、配信サイトプロバイダから購入されているサービスの質を評価する目的で、および、システムのコストをサポートするためにコンテンツプロバイダにサービスの質を文書化する目的で、配信サイトのパフォーマンスを把握する上で特に貴重である。しかし、同じ情報の多くは、コンフィギュレーション・ユーティリティ34を実行している新規ユーザを通して入手することができることが認識される。
本発明の一実施形態においては、MSP32のデータベースから引き出される情報は、そのユーザと潜在的な配信サイトのリストの間のネットワークを試験するために、実際にコンフィギュレーション・ユーティリティを実行する必要なしに与えられたユーザのための配信サイトの改善を予測するのに使用することができる。さらに具体的には、MSP32データベースに含まれている総計ネットワークパフォーマンスデータは、与えられたインターネットIPアドレスと異なる配信サイトの数との間のパフォーマンスの差異という点で分析される。この分析に基づき、ユーザのIPアドレスと、さらに優れたデータ配信パフォーマンスを提供する配信サイトとの間の相関関係を引き出すことができる。この相関付けられているデータは、配信サイト選択の過程でMSP32が活用することができるルックアップテーブルを作成するために使用される。
実際には、リダイレクトサーバがMSPネットワーク内に含まれる。一実施形態においては、リダイレクトサーバの機能が、MSP32サーバ内で実現され、かつ、MSP32サーバによって実行される。代替の実施形態においては、複数のリダイレクトサーバがネットワーク全体の様々な位置で利用されることとしてもよい。
動作中、リダイレクトサーバは、ユーザがMSP配信システムによって管理されているファイルを要求するときに、ユーザのIPアドレスを取得することになる。前述したように、EMBEDステートメントを通してリダイレクトサーバに対する要求がなされる。EMBEDステートメントは、単一のリダイレクトサーバ(例えば、MSP32)を識別して特殊なサーバIPアドレスを明示的に参照することができ、あるいは、シーケンスもしくはランダムな順序でアクセスを試みることができる複数のリダイレクトサーバを指定している(例えば、JavaScriptまたはJavaプログラミング言語の)スクリプトもしくは実行可能なプログラムコードを含むことができる。それから、HTTP(HyperText Transport Protocol)要求が典型的には要求者のアドレスに関する情報を含むので、ユーザのIPアドレスは従来の手段を介してサーバによって決定される。それから、リダイレクトサーバが、ユーザのIPアドレスをルックアップテーブル内に位置している最適な配信サイトにマッピングし、かつ、配信サイトアドレスをユーザに転送する。それから、ユーザのクライアント・プログラム36またはリダイレクトサーバは、ファイルが最適な配信サイトから配信されるように、ファイル要求の宛先変更をする。
ルックアップテーブルを設計する上で重要なファクタは、インターネット上の多数のアドレスに由来する。インターネットに接続されているあらゆるコンピュータには、アドレスが割り当てられている。従来のインターネットアドレス指定方式では、アドレスは、規約により4バイトの値から構成され、各バイトを10進数(0−255)に変換し、かつ、バイトをピリオドで区切ることによって表記される。例えば、“www.intervu.net”サーバのアドレスは、192.215.147.185である。このアドレス方式を使用する場合、インターネット上には40億を超える使用可能なアドレスがあることになる。この技術分野の現行の状態を考慮するならば、40億のアドレスを含むルックアップテーブルは、大規模過ぎてここに説明されている実施の形態では使用できないため、テーブルを圧縮するための方法が探求された。
最適な配信サイトの選択は、多くの場合、ユーザのIPアドレスの第1番目のバイトに相関付けることができることが判明している。この相関関係は、コンフィギュレーション・ユーティリティ34を実行した後に、同じ第1バイトのアドレスを有している統計的に意味のある数のユーザが、同じ配信サイトまたは配信サイトの小さいグループからの別のサイトを選択するようなものとなっている。これらの配信サイトが、相関付けられていない配信サイトに比較して、同じ第1バイトアドレスを有する大部分のユーザにとって改善されたパフォーマンスを提供することが認められる。相関関係は、本発明の一実施形態において、0−255に番号付けされた第1バイトのIPアドレスのリストと、各アドレスに対して対応しているIPアドレスを有するユーザに改善されたパフォーマンスを提供する配信サイトのリストとを含む、圧縮されたルックアップテーブルが形成されるに充分な、重要なものである。このようにして、1つまたは2つ以上の配信サイトが、アドレスリストの各エントリにマッピングされる。
一定の状況では、ルックアップテーブルにおける第1バイトIPアドレスのいくつかは、対応するサーバにマッピングされないことがあることに注意する必要がある。これは、例えば、ほとんどのユーザがテーブル中のある特定のエントリに対応しているIPアドレスを持っておらず、かつ、それらの内の十分な数が統計的に重要または信頼できる結果を生じさせるためにコンフィギュレーション・ユーティリティ34を実行しなかったときのケースが当てはまる。このケースでは、1つまたは2つ以上のデフォルトサーバを、特殊なサーバがルックアップテーブルにおいて識別されていないときに、使用するためのデータベースにおいて指定することができる。
好ましい実施の形態においては、ルックアップリストは、単一リダイレクトサーバ、例えばMSP32に記憶される。ただし、ルックアップリストおよび関連するプログラミングは、また、ウェブページのサーバ、コンテンツプロバイダ22サーバ、または、前記の組み合わせにおいて記憶することもできる。
リダイレクトサーバは、以下のように、また図4に説明されるように、配信サイトを選択するためにアクセスされる(ステップ82、図3)。ユーザは、そのファイルのEMBEDステートメントを有しているリンクをクリックすることによって、ユーザ端末ブラウザを介して、ウェブページ上で参照されているファイルを要求する。そのファイル要求がMSPの配信システムによって管理されているファイルに対してである場合、そのファイル要求は、従来のHTMLファイル要求意味論、つまりサーバ「GET」を使用して、リダイレクトサーバ(例えば、MSP32)に転送される(ステップ120)。
リダイレクトサーバは、到来する要求を調べ、かつ、ウェブサーバによって供給されている“REMOTE_HOST”変数を使用してユーザのネットワークアドレス(IPアドレス)を判断する(ステップ122)。図4に説明されている本発明の実施形態は、ユーザ端末12上にインストールされている(クライアント・プログラム36のような)特殊目的クライアント・プログラムがなくても達成することができることに注意する必要がある。クライアント・プログラム36がまったくインストールされておらず(ステップ124)、かつ、ユーザが、スクリプトまたはダウンロードされたプログラムによって問い合わされるときに、クライアント・プログラムのインストールを希望しない(ステップ126)場合は、サイト選択は完全にリダイレクトサーバによって実行される。
それから、リダイレクトサーバは、ユーザのIPアドレスを分析するとともに、ルックアップテーブルの潜在的な配信サイトのリストを調べ、1つまたは複数のどの配信サイトがユーザのIPアドレスと相関付けられているのかを判断する(ステップ128)。それから、リダイレクトサーバは、1つ以上のアドレスがユーザのルックアップテーブルのエントリに一致する場合、配信サイトアドレスを選択する(ステップ130)。単一の配信サイトアドレスが見つかったときは、HTTPリダイレクト応答が、選択された配信サイトからファイルを配信するために使用される(ステップ132)。HTTP仕様に従って、あるサーバから要求されているファイルは、ユーザまたはクライアント・プログラムのいかなる介入をも要せずに、そのサーバによって別の位置に宛先変更することができる。これでサイト選択は完了する(ステップ134)。トランザクションを完了するためには、クライアント・プログラムが選択された配信サイトからファイルのコピーを要求し、かつ、配信サイトサーバが該ファイルを検索するとともにそれをユーザに配信する。
ユーザがクライアント・プログラム36のインストールを希望する(ステップ126)場合には、そのプログラムは従来の手段によってダウンロードされ、かつ、インストールされることになる(ステップ136)。クライアント・プログラム36がすでにインストールされていた場合(ステップ124)、あるいは、インストールがちょうど完了したところである場合、ファイル要求は違うように進み、サーバ側とクライアント側両方の処理を活用し、考えられる最も効率的な方法でファイルを検索することができる。
第1に、リダイレクトサーバは、ユーザのIPアドレスを分析し、かつ、ルックアップテーブルの潜在的な配信サイトのリストを調べ、1つまたは複数のどの配信サイトがユーザのIPアドレスと関連付けられているのかを判断する(ステップ138)。ルックアップテーブルを格納しているリダイレクトサーバが、配信サイトのサブリストを含む小さいファイルを作成し(ステップ140)、かつ、これをユーザ端末12に送信し(ステップ142)、および、最終的な配信サイトの選択を行うために、クライアント・プログラム36に依存すること(ステップ144)が考えられる場合もある。これが発生するいくつかの理由がある。
第1に、前述したように、総計ネットワークパフォーマンスデータの分析は、(単一の配信サイトとは対照的に)多くの配信サイトが同じ第1バイトアドレスの範囲を有する一定のユーザに対して改善されたパフォーマンスを提供することを示すことがある。例えば、これは、全員が単一の第1バイトアドレス内で同じ第1バイトアドレスまたはアドレスの範囲を有する数多くのユーザは、コンフィギュレーション・ユーティリティを実行後に異なる配信サイトを選択した場合に発生する。この場合では、クライアント・プログラム36は、リダイレクトサーバによってダウンロードされているサブリストを取得し、かつ、それをコンフィギュレーション・ユーティリティの実行によって以前に選択された(図3、ステップ54を参照)ミラーサイトの保存されているリストと比較することができる。一致が見つかると、クライアント・プログラムは、ファイル要求を一致している配信サイトに宛先変更する(ステップ146)。これらの配信サイトの1つまたは2つ以上が、特にコンフィギュレーション・ユーティリティが最近実行されていない場合に、以前にコンフィギュレーション・ユーティリティによって選択された任意の配信サイト上で改善されたパフォーマンスを提供することがあるため、クライアントには、また、クライアント・プログラムによってなされた選択を無視するとともに、ルックアップリストに含まれている配信サイトの中から最良の推量の選択を行うというオプションもあることになる。
第2に、MSPによって管理されている配信サイトおよびIPアドレスの数が、ルックアップテーブルが大きくなりすぎて実践的でありえない点まで増加した場合、つまりリダイレクトサーバが以前のファイル要求の代わりにルックアップテーブルを捜索することでビジー状態になるために新しいファイル要求に応答することに遅れる場合にもまた、状況が発生する可能性がある。これが当てはまる場合には、ルックアップテーブルを捜索するというタスクは、リダイレクトサーバとクライアント・プログラム36との間で分けられる。このようにして、ユーザ端末12は、処理のいくらかを実行することと、最終的な配信サイトの選択を行うことによってルータとしての役割も果すこととを要求される。
これを達成するため、リダイレクトサーバは、ルックアップテーブルを与えられた範囲のアドレスを含むより小さいサブリストに細分化する。このようにして、リダイレクトサーバがファイルに対する要求を受け取ると、サーバはユーザのIPアドレスを、対応するアドレス範囲を含むサブリストにマッピングし(ステップ138)、その後、該サブリストを含む小さいファイルを作成し(ステップ140)、かつ、ユーザにダウンロードする(ステップ142)。それから、クライアント・プログラム36はルータとしての役割を果たし、ユーザのIPアドレスをサブリスト上の適切な相関付けられている配信サイトアドレスにマッピングするか、あるいは、サブリスト上の配信サイトと前述したようにネットワークパフォーマンステストを以前に実行した後にコンフィギュレーション・ユーティリティ34によって保存された優先順位が付けられているサイトのリスト上の配信サイトとの一致を探すことによって、サブリストのルックアップテーブルにおける配信サイトの中から配信サイトを選択する(ステップ144)。クライアント・プログラムがいったん配信サイトを選択すると、そのクライアント・プログラムは、選択された配信サイトへファイル要求を宛先変更する(ステップ146)。リダイレクトサーバとユーザ端末12の間で作業を分割することによって、ファイル要求をより迅速に処理することができ、それによってユーザがファイルを要求する時刻とファイルがユーザ端末12によって受け取られる時刻との間の遅延を減少させる。
MSP32のリダイレクトルックアップテーブルは、ネットワークパフォーマンスの変化に応じて頻繁にアップデートされるが、ユーザに渡されているサブリストは、少なくとも数日間は満足の行くものであることが予想される。したがって、クライアント・プログラム36は、新しいサブリストを取得する前の数日間、該リストを再利用することができる。この機能は、例えば、ファイル要求ステートメントをホストするウェブページに埋め込まれているスクリプトによって実現することができる。そのスクリプトは、ユーザ端末12に記憶されているサブリストにおいて符号化されている満期日に関してクライアント・プログラム36に問い合わせることができる。満期日およびサブリストのタイプは、リダイレクトサーバに戻すことができ、かつ、必要ならばサーバが新しいサブリストを回送することになる。
ある特定のユーザがMSP配信システムによって管理されているファイルを要求することとしてもよく、システムがそのユーザに関する知識を持っていない(つまり、ユーザのIPアドレスとルックアップテーブル中の配信サイトの間で一致がまったく見つからない)ことが可能である。この場合、リダイレクトサーバは、リダイレクトサーバに格納されているデフォルトリストからそのユーザ向けの配信サイトを選択することになる(ステップ130および144)。ユーザがこの配信サイトから要求されているファイルをダウンロードすると、そのユーザは、埋め込まれているスクリプトまたはプログラムにより、コンテンツ配信を改善する目的でMSP32からコンフィギュレーション・ユーティリティファイルを取得するようにプロンプトを出されてもよく、あるいは、コンテンツ配信の改善のための近似(approximation)である(例えば、類似しているが同一ではない第1バイトIPアドレスの)サーバを一時的に割り当てられることになる。ユーザがコンフィギュレーション・ユーティリティを取得し、かつ、実行すると、ユーザ端末12は、前述したように、MSP32に多様なネットワーク試験の結果を提供し始め、この情報は、究極的にはネットワークパフォーマンスデータのMSPデータベースの一部となる。このようにして、その新しいユーザからの次のファイル要求時には、リダイレクトサーバは、追加ネットワークパフォーマンスデータの分析に基づき、該ユーザのIPアドレスをさらに適切なサーバにマッピングすることになる。
ルックアップテーブルを変更することによって、リダイレクトサーバは、また、ファイル要求に関して負荷の配分と管理も実行することができる。MSP32(またはMSP32を制御している個人)が、ネットワークのセクションがある時間の間ダウンするだろうと事前に判断する場合、あるいは、一定の配信サイトがある時間の間シャットダウンされなければならない場合、リダイレクトサーバがユーザの注意を代替の配信サイトに向けるように、ルックアップテーブルを修正することができる。したがって、同じファイルに対する2つの連続する(back-to-back)要求時には、ユーザは2つの異なる配信サイトに向けられてよいこととするのも可能である。
ルックアップテーブルのサブリストを含むファイルが、コンフィギュレーション・ユーティリティ34によってネットワークテストを実行するために使用される配信サイトファイルとして機能することができることが理解される必要がある。そのサブリストは、以前にネットワークテストを実施したことのある他のユーザのグループから引き出される総計ネットワークパフォーマンスデータにより、パフォーマンス改善があるかどうかすでに審査された配信サイトを表す。この配信サイトのサブリストは、リストに対してコンフィギュレーション・ユーティリティ34を実行し、かつ、過去の配信サイトファイルから保持されているネットワークテストのシーケンスを実行することによって、さらに切り詰める、または、優先順位を付けることができる。いったんサブリストに優先順位が付けられると、コンフィギュレーション・ユーティリティ34は、前述したように(暗号化されている)コンフィギュレーション・ファイルに従って、リストを保存する。
以下の例示的な説明において、スマートミラーシステムは、ウェブページの広告の見出しに参照されているビデオクリップのダウンロード元の、改善されている配信サイトの位置を突きとめるためにルックアップテーブルを活用する。広告のような相対的に人気のないコンテンツを取り扱うときには、潜在的な顧客が興味を失わないように、意図されている顧客に広告の内容を可能な限り迅速に配信することが重要である。ウェブページの広告見出しの内容に関しては、同じことが当てはまる。つまり、事前に相当量のソフトウェアをダウンロードする必要なしに、顧客にビデオを可能な限り迅速に配信することができることが望ましい。したがって、高価なサービスとして本発明を活用することの代替策として、サービスプロバイダは、インターネットを経由してウェブページに広告見出しを拡布することができる。各見出しはビデオクリップを参照し、それらクリップのすべてがその目的のために確立されているコンテンツプロバイダのサーバで格納されることになる。
この例では、クライアント・プログラム36は、“プレーヤー・プログラム”と呼ばれるとともに、それは、前述したように、ビデオデータを検索し、かつ、プレーバックする追加機能性を有している。(Netscape NavigatorまたはMicrosoft Internet Explorerのような)ブラウザ38は、ユーザ端末12でウェブコンテンツを表示するため、および、ユーザ端末12とインターネット10上のその他のコンピュータとの間で通信するために、使用される。
クライアントがウェブページに表示されている広告見出しを選択すると、その見出し中に符号化されているEMBEDタグがブラウザによって調べられる。ブラウザが、EMBEDタグによって参照されているファイルのダウンロードを開始し、かつ、ファイルのタイプが分析される。ファイルがMPEGなどのプレーヤー・プログラムによって処理されているタイプであれば、ブラウザはタグをプレーヤー・プログラムに渡すことによってプレーヤー・プログラムを始動する。プレーヤー・プログラムは、ビデオクリップのファイル名がないかEMBEDタグを調べ、かつ、ユーザ端末に属しているローカルコンピュータ上でそのクリップを見つけようとする。そのクリップがそこに存在する場合、それは再ダウンロードされず、(ディスクからまたはRAMから)コンピュータ上で直接再生することができる。そのビデオクリップがローカルコンピュータ上にない場合は、プレーヤー・プログラムはEMBEDタグを分析し、「SM」(スマートミラー)パラメータがあるかどうか判断する。このようなパラメータの存在は、埋め込まれているクリップがスマートミラー化のためにイネーブルにされていることを示す。SMパラメータは、さらに、特定のコンテンツプロバイダが使用するミラーサーバのグループと同様に、リダイレクトサーバのアドレスと、上述したように希望されているクリップの発信元である特定のコンテンツプロバイダとを指定する。
プレーヤー・プログラムがリダイレクトサーバを指定しているパラメータを認識すると、プレーヤー・プログラムはブラウザを呼び出し、参照されている広告見出しファイルを従来のHTMLファイル要求技術によってリダイレクトサーバから要求する。リダイレクトサーバは到来する要求を調べ、かつ、クライアントのIPアドレスを判断する。リダイレクトサーバは、クライアントのIPアドレスをルックアップテーブルにマッピングするとともに、配信サイトアドレスまたはサブリストを検索する。配信サイトアドレス(または配信サイトとIPアドレスのサブリスト)は、リダイレクトサーバによってプレーヤー・プログラムに戻される。サブリストが戻されると、前述したように、プレーヤー・プログラムは、一覧表示されているサイトの中からただ一つの配信サイトを選択する。ただ一つの配信サイトがいったん決定されると、プレーヤー・プログラムは、“http://”に、選択された配信サイトのIPアドレスと、ファイルをミラー化するためのパス名(例えば、“/pub/mirror/”)と、EMBEDステートメントにおける「SM」パラメータから取得されるコンテンツプロバイダの名前と、EMBEDステートメントから取得されるファイル名とを、足し合わせた形式の新規なURLを作成する。構築されたURLは、ルックアップテーブルから選択された配信ファイルから、選択したクリップを検索するために使用される。
EMBEDタグの中のSMパラメータがリダイレクトサーバを指定していない場合、あるいは、リダイレクトサーバが利用できず、かつ、応答を返さない場合、プレーヤー・プログラムは、コンフィギュレーション・ユーティリティファイルに記憶されているスマートミラーサイトの優先順位がつけられているリストから任意のIPアドレスを選択するとともに、URLにおけるこのアドレスを置換することになる。プレーヤー・プログラムが、スマートミラーサイトの優先順位が付けられているリストの存在を検出しない場合(例えば、ユーザがコンフィギュレーション・ユーティリティ34を絶対にダウンロードしなかった場合)は、プレーヤー・プログラムは、EMBEDステートメントによって直接指定されるように、元のコンテンツプロバイダのサーバのアドレスを使用してビデオを要求することになる。
広告コンテンツの配信に目標が明示的に定められていない用途では、ダウンロード情報をMSPに提供することによって、高価な加入を基本としたサービスとしての本発明の使用が容易になる。成功したダウンロードはデータベースにおいて追跡調査されるので、各ユーザが請求金額を追跡調査するための関連「アカウント」を持つことができる。ユーザは、ファイル単位、メガバイト単位、月単位、あるいは、それ以外の既知の手段によって、スマートミラーシステムの使用に関して料金請求され得る。一実施形態においては、ファイルに関連しているEMBEDタグが料金請求書作成発行の情報、つまりファイルの「価格」を含む。本発明のダウンロードパフォーマンスの追跡調査によって、ダウンロードが過度に困難であるか、あるいは低速であると判明すると、割引または信用貸し(credits)を発行することができる。
スマートミラー配信サイト上で記憶されているファイルが、本発明の認可されているユーザ(例えば、支払い済みアカウントを有するそれらのユーザ)だけによって使用されることを保証するために、配信サイトで記憶されているファイルは、任意に暗号化形式を取ることができ、かつ、前述したダウンロードステップは、暗号解読ステップを含むこととすることができる。このような暗号化および暗号解読は、周知の手段によって達成することができる。
上述したように、本発明によって管理されているクリップは、それと関連しているコンテンツのレーティング情報を有するものとすることができる。これは、クリップに対応するEMBEDステートメントにおける「PG」パラメータを提供することによって達成される。一実施形態においては、4つの特徴が指定されている。つまり、裸体(nudity)、性別(sexuality)、不敬(profanity)および暴力(violence)である。したがって、PGパラメータは、4桁の引数によって指定することができる。各特徴は1対3という尺度で指定されている。1はフィルタ機能なし(つまり、すべてのコンテンツが許容できる)に対応し、2は多少のフィルタ機能(例えば、基本的に放送テレビで許されているレベルに等しい)に対応し、3は最も広範囲なフィルタ機能(例えば、子供用)に対応する。あるファイルのためにEMBEDステートメントに含まれているレーティングのレベルは、前記認可プロセスにおいてユーザ端末12に格納されたコンフィギュレーション・ファイルに含まれているレーティング・フィルタ・レベルと比較され、認可されているファイルだけが転送される。
上述した観点からすると、本発明の実施の形態が、与えられたユーザとコンテンツプロバイダまたは配信サイトとの間のネットワークのためのパフォーマンスデータの取得および分析を可能にする多くの異なるアプリケーションにおいて利用されてよいことが理解される。したがって、説明されている実施の形態は、インターネットというコンテキストの範囲で、インターネット型のアドレス指定方式を使用して動作しているシステムを示しているが、このようなシステムが、法人組織の“イントラネット”を含むが、それに限定されないその他のネットワーク環境において有効であることは明白であることが認識される。
さらに、例示的な実施の形態は、おもに、ビデオ配信システムで使用するために説明されているが、本発明によるシステムが、それ以外の多様な種類のコンピュータデータ(例えば、アプリケーションプログラム、データベースファイル、およびその他のビジネス情報、バーチャル・リアリティ・ファイル、マクロメディア・ショックウェーブ・ファイル(Macromedia Shockwave files)のようなマルチメディア、並びに、本などの大型テキストファイル)を分散するために、同様に使用できることが認識される必要がある。このような他の種類のデータは、上に詳細に説明したように異なるコンテンツプロバイダグループにおいて本発明によって管理することができる。(プレーヤー・プログラム36よりはむしろ)別の種類のプログラムが、他の種類のデータを表示または使用するために、ユーザ端末12で典型的に呼び出されることになる。
また、ユーザ端末12で実行されているものと記述された一定の機能性(特に、コンフィギュレーション・ユーティリティ34またはクライアント/プレーヤー・プログラム36によって実行される一定の機能)は、スタンドアロン・プログラムとして、ブラウザプログラム内で実行するための“プラグ−イン”(“plug-in”)もしくは“ヘルパー・アプリケーション”(“helper application”)として、または、ブラウザ環境内で実行するために配信サイトからダウンロードされるJavaアプレットとして、実現できることも注意する必要がある。Microsoft Windowsオペレーティングシステムを実行することができるユーザ端末にとっては、Microsoft ActiveXとして知られている環境もまた有効である。
一定の例示的な構成および動作が説明されてきたが、本発明は、そのように限定されず、かつ、その範囲は、以下に述べられている請求の範囲に従って決定されるべきである。The present invention relates to a system and method for distributed data storage and retrieval, and more particularly, by which a user obtains network performance information for a multipurpose network that is dynamic and distributed. The present invention relates to a system and method. Here, this information will be used to identify and select the optimal distribution site or server for receiving computer data, specifically multimedia content. Such distribution sites and servers are selected to increase network capacity, distribute server load, and reduce transmission delays between servers and users.
Background of the Invention
The Internet is an open network of computers that are spread and connected throughout the world. A message can be sent from any computer on the Internet to any other computer by specifying the destination address and passing the message from computer to computer through a series of “hops”. it can. Each computer, router, or “node” on the Internet has a unique Internet address. When an intermediate computer or router receives a passing message, the computer checks the intended destination of the message and forwards the message one after another accordingly.
The Internet is developing at a rapid rate, both in terms of scale and sophistication. In the past, the majority of users on the Internet were academic, research or institutional users. The Internet was then used primarily to send and receive e-mail and network news and to allow the transfer of computer files. However, since the introduction of the World Wide Web (also known as “Web” or “WWW”) a few years ago, the Internet has generally been of interest, ie, the representation of images, articles, etc. Began to increase the amount of other types of data.
Web protocols and languages establish a graphical means of navigating the expanses of the Internet. In many cases, “web pages”, primarily consisting of text and graphic materials, are stored in a number of computers known as “web servers” in the Internet. A software program known as a “browser” is used to access and view web pages via the Internet by specifying the location of the desired web page (ie, the internet address) be able to. When a web page is accessed, that information is transmitted from the remote computer (server or distribution site) to the user via the Internet, wherever it is located in the world.
Recently, the web has begun to host highly sophisticated types of multimedia content and computer software, such as audio and video data. Compared to first generation web content, text and still images, audio clips, video clips and software programs have very high storage and bandwidth requirements.
Currently, it is difficult, if not impossible, to provide high-speed sustained transmission of large audio / video files over the Internet's multi-node links. Since data is often transferred from a distance, many factors can cause some or even some delay or loss of transmission. Whether the user experiences a minor delay in receiving a small graphic or text file is generally not critical. However, it is recognized that real-time data such as video has very specific and strict timing requirements for data transfer and display.
Unfortunately, the current design of a data network similar to the traditional Internet is based on the principle that delays and large data transmission rate variations are acceptable for normal data (eg text and still images) . As a result, due to the high price that allows access to text and graphic information from locations around the world, such transmission flaws are considered acceptable, and the basic capacity of the Internet reduces the data transmission costs. Somewhat “oversubscribed” to reduce. In other words, the timeliness of network data transmission have been compromised considerably to make the total cost of being a long distance communication connection relatively meaningless.
In order to successfully transfer audio-video data over a message-oriented network such as the Internet, network resources need to be deposited in a form that facilitates the timeliness of transmission for any user over several people. . A system that uses deposited network resources typically uses existing pricing methods for shared networks such as the Internet because it cannot participate in sharing network resources in data packets on a data packet basis. I can't do it. Video data must be transmitted excluding lower priority data. Therefore, especially when the connection is “long distance” or when the connection is continued for an extended time, the transmission cost is significant.
Another consequence of the time-to-cost tradeoff described above is an apparently indiscriminate network structural design. Variations in latency and throughput have traditionally been favored by low cost, so the configuration of the Internet infrastructure has also been determined by cost considerations. For this reason, the efficiency of network interconnections was rarely considered. Rapid development of real-time data is changing this demand.
It has been recognized that poor data transfer performance of time sensitive data over the Internet is typically caused by four factors: Packet loss, excessive server utilization, relatively low network infrastructure capacity, and inherent delays in network hardware. In particular, packet loss is caused by insufficient infrastructure and lack of robustness in routing. The inherent delay is believed to be caused by, among other things, the lack of flow control between adjacent nodes in a multi-node path on the Internet.
Unlike smaller text and graphic files, relatively large video files may require several minutes (or more) of “streaming”, ie, a continuous data flow. As a result, normal network performance problems are exacerbated. The network bandwidth, ie the data carrying capacity of a certain network is limited. This increases packet loss and delay. Long distribution time consumes a large amount of server capacity for a long period of time and reduces resources available to other users. Thus, as the network infrastructure becomes increasingly congested, packet loss and delay continue to increase, transmission times increase, and server load further increases.
This pattern illustrates a “downward spiral” of network performance that can be influenced by attempts to transmit large data files such as video clips. As long as the network traffic remains within the limits imposed by the network bandwidth, the network performance remains acceptable. However, whenever the peak network load exceeds capacity, the aforementioned continuous decline begins, extending the period of poor network performance.
As described above, the browser program may specify a desired web page location (ie, an internet address) or, more generally, “hot linking” to a web page (“hotlinking”). Can be used to access and view web pages via the Internet. Common browsers are Lynx, NCSA Mosaic, Netscape Navigator, and Microsoft Internet Explorer. The desired web page is a global resource location indicator (“URL” (uniform resource locator)) that uses the syntax “http: //internet.address/directory/filename.html” to indicate the exact location of the file. Specified by.
Web pages are usually written in a language known as “HTML” (HyperText Markup Language) in terms of layout and content. Any particular computer linked to the Internet can store and store one or more web pages, ie computer files written in HTML format, for access by the user.
Hot linking from one HTML web page to another HTML web page is accomplished as follows. A user first accesses a web page having a known address, often on a computer located in the user's ISP (Internet Service Provider). An ISP is an organization that provides Internet connectivity to users. In addition to textual and visual data specified in HTML format, the web page is often a “link”, the Internet of other web pages on other computers throughout the Internet. It may contain embedded information (in the form of a URL) that points to an address. The user can then access other web pages by selecting a link (often by pointing and clicking with the mouse), which in turn contains more data and / or additional links. Can be included.
Various extensions to HTML, such as Netscape's EMBED tag, allow other data to be referenced within a web page. Some browsers cannot process data other than text and images. On the other hand, there are browsers that can process data in various ways. For example, NCSA's Mosaic allows data to be downloaded to a user's computer, and subsequently calls an external program for viewing or manipulating the data, for unknown types of data. Handle references. With the recent release of Netscape Navigator and Microsoft Internet Explorer, the concept has gone one step further. That is, when data is received from a remote web page, a browser extension, or “plug-in”, can be automatically invoked to process the data. Other means such as the network program “applets” (“applets”) written in the Java language (or similar language) can be used to extend the functionality of the browser environment or network.
Digital multimedia data can have very high storage and bandwidth requirements. In particular, video files can be as large as about 10 megabytes to 10 gigabytes. In order for a user's terminal to play a video file at a speed approaching the recorded speed, the file must be delivered at a fast, unchanging speed. If it is too slow, the image will be played back more slowly than the original recorded one. If the speed is not uniform, the video will appear jerky like an old movie.
The network design tradeoff described above typically has an adverse effect on the transmission of audio and video data over the Internet. Users using browsers to “surf” the web may not be aware of minor delays and transmission rate fluctuations while searching for text and still images, Such defects become obvious and become prominent when real-time audio and video information is accessed.
In an attempt to solve these problems, Internet content providers may distribute popular content in the Internet on a variety of servers or distribution sites known as “mirror sites”. is there. Each mirror site contains information that is essentially identical to the information of the original site. For example, if a popular website is located in New York, the mirror sites may be located in Los Angeles, London and Tokyo. Thus, if a European user has difficulty accessing the original New York site, the user can hot link to the geographically closest mirror site, London.
However, mirror sites have some disadvantages. For example, mirror sites may be widely distributed geographically, but may not be efficiently distributed on the network in terms of actual usage, network traffic, and the like. Thus, both New York and Los Angeles mirror sites are connected to the same network of domestic Internet service providers, and the difficulty in accessing one of those sites may affect the other. It may mean that.
Furthermore, the mirror site may not be optimally arranged to reduce the load on each server. Although “educated guess” may be made as to where the mirror site should be located, the actual usage pattern may be different. Furthermore, there is no guarantee of performance improvement. The bandwidth of the mirror site may be lower than the bandwidth of the original site, or it may be overloaded for other reasons.
In addition, mirror sites are often hosted on a voluntary basis. If a service provider determines that a website is very popular and the subject matter may be of interest to the subscriber, the service provider agrees to host a mirror site of the original website there is a possibility. Such adjustments are attractive to mirror site hosts because people can be drawn to the mirror site and potentially hot-link to other content hosted there. On the other hand, such voluntary partnerships are typically unreliable and can be broken at any time.
Mirror sites are inherently secondary to data that may or may not be available and may improve user convenience, but do not address network bandwidth or efficiency. Provide source. Mirror sites do not take into account the performance characteristics of the network and can be used to efficiently transmit video data while still utilizing existing low cost pricing methods such as those over the Internet Does not identify any bandwidth.
There is currently no guidance on choosing the best location for a distribution site, nor is there any known way to guarantee optimal performance that will allow users to determine which mirror site to connect to . In fact, the use of conventional mirror sites is voluntary. Typically, a user tries to access the original site (or a known mirror site), and only if another person finds poor performance after one or more attempts. You will switch to the mirror site. This approach is an inefficient utilization of network resources. Clearly, mirror sites are not the best solution for overloaded website problems. Among other things, the main reason is that network performance is not taken into account.
Network analysis, particularly the performance of specific routes and links on the Internet, is well known and developed. For example, a “ping” program allows a computer connected to the Internet to determine whether a remote host is accessible. However, this ping program uses a low priority network protocol known as the ICMP protocol and therefore does not provide meaningful performance analysis information. The “traceroute” program tracks the transmission of messages from the computer to the remote host, tracks the delay along each link, and determines the path taken by the message. This traceroute application can be used to map the flow of data. However, it lacks the ability to provide meaningful performance analysis information. Traceroute only provides route information for messages propagating in a certain direction and only for a certain moment in time.
Furthermore, only the connectivity characteristics of the path following the single computer running the test and the path following it are typically determined. While it is possible to extend the scope of testing, the Internet is so large that it is logically not feasible.
Traditional network analysis technologies such as “ping” and “traceroute” programs provide a network connectivity perspective, but understanding what performance can be expected from providers and mirror sites via the Internet Almost no offer. Thus, only a “guess” can be made as to where the distribution site or mirror site should be located or which mirror site should be used to optimize performance.
Accordingly, there is a need for a method for determining overall network performance. A method that allows a content provider to dynamically place a data distribution or mirror site at the optimal network location and allows the user to select the optimal mirror site to receive the data. There is yet another need for the system to apply.
Summary of invention
The present invention is directed to a system and method for optimized distribution of web content to sites located in the Internet. Here, the intelligent mirroring method, called “Smart Mirroring”, determines the needs and distribution of mirror sites, and also optimizes the user's demand for certain web content. Used to point to the site.
Many “Smart” distribution sites or mirror sites are used to distribute popular web content across various parts of the Internet. A comprehensive method of network analysis based on tests performed by a large number of users interactively determines the preferred locations for the site and the optimal site to be used by each individual user Used to do.
Thus, overall network congestion is reduced because each individual user is routed to a smart mirror or distribution site that provides improved performance. In most cases, an improved server is placed electronically close to the user to reduce the number of network connections over which data must travel and thereby reduce packet loss and delay. The
In addition, network analysis results allow message traffic to be routed away from those overloaded delivery sites and network areas and towards under-utilized servers and networks. To. This provides an improvement in throughput as understood by each user and thereby increases the attractiveness of the content provided by content providers using the system. Content providers can reach a greater number of users via the Internet without suffering a noticeable degradation in performance.
The system according to the invention starts with the original website and at least one additional delivery (or mirror) site. Each user who wishes to use the system will be provided with software, including a configuration utility and a client program, in the preferred embodiment. The configuration utility is first used to determine which distribution site will provide improved performance for that particular user.
In one embodiment of the invention, the configuration utility first downloads a “delivery site file” from the service provider. This distribution site file contains a list of available distribution sites and a list of network tests to be performed. The type of test and the frequency of tests performed may be specified in the distribution site file to depend on the number of users testing the network and the approximate spill or distribution system capacity on the network.
The configuration utility will run a subset of the tests specified in the distribution site file. The test results indicate which distribution sites produce improved performance for the user, as well as information on the performance of various generalized networks from the perspective of the user performing the test. The network test results and selected distribution site identification information will be sent back to the distribution service provider for incorporation into the service provider's database (via email in one possible configuration).
The distribution site chosen by the configuration utility is then used by the user for searching all content managed by the distribution system service provider. As a result, when the user browses the web content and finds a particular item, such as a video clip, managed by the service provider's delivery system, the client software is automatically designated the “smart” Search for it from the “mirror” distribution site. Site preferences and default sites can be updated on demand, at a specified time, or in response to changes in network load and traffic.
In addition, the configuration utility of the present invention performs a variety of network tests and provides the service provider with the results of the tests so that valuable data regarding system and network performance can be obtained. . Such data is overloaded, which “smart mirror” distribution sites are performing effectively, which “smart mirror” distribution sites are not performing effectively, and which smart mirror distribution sites are overloading And information about which parts of the Internet may benefit from the addition of more distribution sites or capacity. Such data can also be used for advanced network analysis such as end-to-end performance measurements, throughput characterization, route stability and inactivity metrics. Enable execution.
In an embodiment of the invention, a mirror service provider is provided by an end user to operate a lookup table that correlates Internet IP addresses to “electronically close” distribution sites. Use network performance data. When a user browses a web page and requests a file such as an ad headline or video clip managed by the service provider's distribution system, the service provider maps the user's IP address to its lookup table In addition, it is possible to determine which distribution site is “electronically close” to the user. The service provider can then provide the user's configuration utility or client program with a single distribution site address or a list of distribution site addresses to these servers. In the latter case, the user terminal operates as a router that performs final distribution site selection.
In general, an improved delivery site for a particular user can be predicted in advance by analyzing aggregate network performance data collected from network tests previously performed by a group of users. it can. Thus, delivery site selection can occur on-the-fly each time a user requests a file managed by the mirror service provider's delivery system. From the user's point of view, the selection of the distribution site is automatically such that there appears to be no delay between selecting the file from the web page and owning the file distributed to the user's device. And transparently. The lookup list maintained by the service provider is constantly updated to reflect changes in network performance, allowing the service provider to efficiently load network traffic.
In this way, from an engineering point of view, the mirror service provider can continue to ensure that improved performance is provided. From a marketing perspective, content providers can be told where to place smart mirrors or distribution sites for improved performance and which ISPs will deliver improved distribution.
[Brief description of the drawings]
FIG. 1 is a block diagram of an exemplary network topology of a system according to the present invention that includes a wide variety of users and a wide variety of content providers.
FIG. 2 is a flowchart illustrating the operation of the configuration utility used in the system according to the present invention.
FIG. 3 is a flowchart for explaining the operation of the client program used in the system according to the present invention.
FIG. 4 is a flow chart showing how site selection is performed in an embodiment of the present invention.
Detailed Description of the Invention
The invention is described below with reference to exemplary embodiments that have been described in detail. It will be apparent that the invention may be implemented in a variety of different forms, some of which may be quite different from the forms of the disclosed embodiments. Accordingly, the specific structural and functional details disclosed herein are merely representative and do not limit the scope of the invention.
Referring initially to FIG. 1, the
A
Content providers are also connected to the
Conventionally, if a user (such as a user using the first user terminal 12) desires to access content provided by the
In FIG. 1, several distribution or “mirror” sites are shown connected to the
As described above, the smart mirroring system plays a role in improving network performance by reducing the occurrence rate of the network problem. In some cases, the network testing procedure of the present invention shows that longer paths may provide better throughput than shorter paths, but packet loss and delay issues are In general, this is mitigated by reducing the number of network connections over which data must travel. In a network cable, there is almost no packet loss and no delay is inherently caused. Therefore, it is typically caused by overloaded network storage and routing devices. Because the smart mirror site of the present invention is located electronically close to each user, packet loss and delay are reduced. The problem of excessive server utilization is reduced because a wide variety of distribution sites typically share the load that would have been handled by a single server. The relatively low capacity of the network infrastructure is less likely to be a problem because the data retrieved from parallel distribution sites at different locations does not usually need to travel over the same network link.
For purposes of describing the present invention, a distribution site is assumed to be a “node” on a network that can also store data such as software code or other files for distribution. The term may also include sites that can support data distribution, including mirror sites, content providers and servers for video streams or website broadcasts.
In the system, a mirror service provider (MSP) 32 is connected to the
This management function is facilitated by the use of a
In the preferred embodiment, the
When first executed on the
The distribution site file is created by a database from within the MSP computer system. Database applications use information about the user to dynamically determine the best test to run. As a result, the distribution site file need not include an entry for every existing distribution site. That is, the list can be tailored to include only those sites that are deemed appropriate or feasible.
Initially, the scale of execution time variation in a test configuration for a user of a distribution system is low. That is, the first group of users all perform essentially the same test. However, as delivery services develop, the intensity of testing for each user is reduced to make up for the increased scale of testing across the network. Both the test scope and the number of distribution sites tested can be narrowed to further reduce the aggregate load of network testing.
In one embodiment, the distribution site file generally has the following format:
1. File revision number and message. The file has this field to determine if a new version of the
2. A list of available Smart Mirror distribution sites. The following information is provided for each available distribution site:
a. hostname. According to the well-known Internet format “www.server.com”.
b. IP address. A numeric internet address in a known format. This address is currently a 32-bit number in the form of wxyz, where w, x, y and z are each in the range 0 to 255.
c. Alternative name. An informal name such as “First Mirror Site”.
d. A list of tests to be run. The following information is provided for each test:
i. Test ID. Each test has a unique identifier that is known to the
ii. Weighting factor. Each test will be weighted by the specified percentage.
iii. frequency. Each test does not necessarily have to be executed every time. This field specifies the probability of determining how often a particular test is run.
iv. Additional information (optional). Additional information may be required for certain tests.
e. Site priority level. Each site can be given a weighting or priority level between 1 and 100, for example. As described below, aggregate data in the MSP database is used to perform network usage analysis that is not possible with single user instantaneous end-to-end testing alone. The weighting factors specified here are used to capture the test results received from the service provider database. Once a predetermined maximum usage level is reached, this weighting factor is also used to limit the allocation of new users to distribution sites.
f. Test site flag. When this flag is enabled, the test is performed, but the site will not be assigned as a distribution site, even if it yields the best performance.
g. A group of content providers. Each site belongs to one or more content provider groups so that only certain content can be mirrored. If the user is not interested in the type of data hosted by a particular distribution site, it need not be tested.
The
The
A series of network tests are then performed (step 46). One or more tests can be performed for each available site listed in the distribution site file. Not every site in the file needs to be tested.
The following test types are currently considered to provide valid data.
1. Ping. Whether the remote server is reachable, and if so, how long it will take a low priority message to travel round trip from the
2. Traceroute. Information about which route the message takes from the
3. Reverse Traceroute. Provides information about which route the message takes from the remote server to the user terminal, including which system is used along the way and how long each hop takes. Inverse Traceroute is used by the configuration program to document the route of information reception. Several traces with different results may indicate that the stability of a route from a particular server to a special user is unacceptable. Previously aggregated data for a particular route from the service provider's system database may also affect the decision to select a particular distribution site for a particular user. Again, route stability is a major consideration.
4). Dynamic Traceroute. Similar to traceroute or reverse traceroute, but between any specified pair of computers on the Internet. Dynamic Traceroute is used by configuration programs to document information transmission paths. Several traces with different results may indicate that the stability of the route between the two network locations is unacceptable. Previously aggregated data for a particular route from the service provider's system database may also affect the decision to select a particular distribution site for a particular user. As mentioned above, route stability is a major consideration.
5. Name Server Resolution Delay. If the numeric internet address is not specified, a name server lookup is performed to determine which numeric address corresponds to the desired host name. This process can take a significant amount of time.
6). Throughput. The sample file is downloaded from a remote server or partially downloaded to determine the actual throughput in bytes per second.
7). Throughput variation. The sample file is downloaded from a remote server or partially downloaded to determine if the throughput is relatively unchanged or floating.
8). Error rate. The sample file is downloaded from a remote server or partially downloaded to determine if the transmission is subject to transmission errors. This information is obtained by counting the number of error message packets returned to the user, thereby learning the error rate from the user to the server and tracking the number of bytes received as a fraction of the number of bytes transferred. Investigate and thereby learn error rates from server to user.
9. Packet fragmentation (PacketFragmentation). The sample file is downloaded from a remote server or partially downloaded to determine if the transmission is exposed to receiving a fragmented or broken packet.
10. Capacity query. If the remote server is operating in this manner, the
11. Macroscopic network analysis. The data stored by the MSP database provides a global view of network operation. With this information, users of the smart mirror system can see a historical display of available distribution site performance. The accumulated data is used in the distribution system database in order to analyze the network performance for the purpose of emphasizing the use in the high capacity area of the network while stopping the emphasis on the use in the area where the performance has already deteriorated. Is operated by.
Information regarding how each of the tests is performed is well known in the art of network analysis. For example, Bob Quinn and Dave Shute Windows socket network programming (Windows Sockets Network Programming) (Addison-Wesley, 1996). In one embodiment of the present invention, the tests include a “ping” test to verify whether the server is reachable, a series of small (eg, 20K) downloads, a series of large (eg, 200K) downloads, And by performing a “traceroute” test and a “reverse route” test to document the delivery path.
The traceroute information is used by the
Short downloads are used to determine server capacity. The name server resolution delay can be determined by such a test, as well as the time required to initiate data transmission. Later results are strongly related to server load, capacity and performance.
Long downloads allow the
Note that some of the test results may be used with other test results. For example, the load on the distribution site determined through the capacity query is divided by the result of the throughput test to derive the average expected download time given the server load characteristics.
After all specified tests have been run, the results are collected and processed (step 48). It is possible to think that certain tests have not been successfully performed. In such a case, the result should show a reasonable worst case value (eg, zero throughput or very large delay).
It is important to note that not every possible test is run each time the
As described above, the test frequency number is stored in the distribution site file for the purpose of dynamically controlling the number of users executing the test. The tests performed by the
Thus, when the system is first used, a relatively small number of users are “enrolled” into the system. The distribution site file maintained by the
Preferably, the test should not contribute more than about 5% of the total server load. One way to reach this goal is to lightly test a large number of servers, resulting in a group of distribution sites with adequate performance. Then, this group of distribution sites can be used in rotation for searching for data. Information about the actual download time of multimedia clips for each of the distribution sites in the group is accumulated as described below, after which additional information about distribution site performance may not require additional immediate testing. Can be supplied to the
Thus, based on the collected test results and the information provided in the distribution site file by the
In the preferred embodiment, for use in a low-traffic environment where the number of distribution sites and users is relatively small, the
In one embodiment of the invention, ownership is such that the user's location and the location (both geographical and electronic) of each site being tested can be displayed on a monitor connected to the
It should be noted that a wide variety of distribution sites can be maintained by the present invention to accommodate multiple groups of content providers. Each content provider may be mirrored only at certain sites. Accordingly, a primary delivery file is selected by the
It should be noted that prioritized ratings for distribution sites can also be created and maintained. When this is done, if the primary smart mirror site fails to respond, the system is allowed to retreat to the next highest ranked smart mirror site.
After the smart mirror site is selected, certain data will be sent to the
Finally, the
It should be noted that in system operation, the
The location of the distribution site used in the present invention is ultimately determined by a number of factors, including marketing considerations and cost / benefit analysis. However, the data stored in the MSP database can confirm the utility of placing a distribution site at a given location on the Internet or other networks. In one embodiment, the server is on each major backbone (the portion of the Internet maintained by a single company) and regional bell operating companies ("RBOCs" (Regional Bell Operating Companies)). Placed on other Internet lines serving multiple users, such as the main line operated by. In certain networks that serve a large number of users or have heavy video delivery traffic, the server will be the primary point of attachment for the network (to ensure that each user has access to a high-speed server ( “POPs” (Points of Presence).
Once the
As time passes and the usage pattern of the user's Internet area changes, the user may become unsatisfied with the performance of the smart mirror site corresponding to his
In one embodiment of the invention, the smart mirror system is used to locate a distribution site from which a video clip or audio clip ("clip") referenced on a web page is downloaded. Is done. In this embodiment, the client program is called a “player program” or can be considered a “player program”. In addition to performing the functions of the
The EMBED tag is used in an HTML document to indicate which web page contains content managed by the system. When the
Player program 36 (FIG. 1) provides a smart mirroring service that is facilitated by
The player program first analyzes the EMBED tag to determine if there is a “SM” (smart mirror) parameter (step 60). The presence of such a parameter indicates that the embedded clip is enabled for smart mirroring. The data associated with the “SM” parameter specifies the particular content provider from which the desired clip originates, as well as the group of mirror servers used by that particular content provider.
If the
If playback is allowed, the
If the clip does not exist on the local computer, the player creates a new URL in the following format (step 78). That is, from the IP address of the selected smart mirror site stored in the configuration file, the path name to the mirror file (eg, “/ pub / mirror /”), and the “SM” parameter in the EMBED statement The name of the acquired content provider and the file name acquired from the EMBED statement are added to “http: //”. The constructed URL is used to retrieve the selected clip from the appropriate smart mirror site selected by the configuration utility 34 (step 80). If more than one set of distribution sites exist at different content providers, the “SM” parameter is also used by the
If the clip corresponding to the constructed URL is not found or accessible on the smart mirror site, the download is then made by the next highest order smart mirror site in the configuration file, or by a redirect server. Proceed from the selected next highest distribution site (see FIG. 4) (step 84). If all distribution sites fail, the download proceeds from the original content provider's site as specified directly by the EMBED statement.
If playback is prohibited, the player prevents the clip from being transferred (step 88) and displays a bitmap that advises the user that download is not allowed (step 90).
If the
At the time of download, a data file representing a desired clip is stored in a designated data area on the local computer belonging to the
In one embodiment of the present invention, the
Instead, the
This data captures delivery site performance for the purpose of assessing the quality of services purchased from delivery site providers and documenting quality of service to content providers to support system costs. It is especially valuable to do. However, it will be appreciated that much of the same information can be obtained through a new user running the
In one embodiment of the present invention, the information derived from the MSP32 database is used without actually running a configuration utility to test the network between that user and a list of potential distribution sites. It can be used to predict distribution site improvements for a given user. More specifically, aggregate network performance data contained in the MSP32 database is analyzed in terms of performance differences between a given Internet IP address and the number of different distribution sites. Based on this analysis, a correlation between the user's IP address and a distribution site that provides better data distribution performance can be derived. This correlated data is used to create a lookup table that can be utilized by the
In practice, a redirect server is included in the MSP network. In one embodiment, the redirect server functionality is implemented in and performed by the MSP32 server. In alternative embodiments, multiple redirect servers may be utilized at various locations throughout the network.
In operation, the redirect server will obtain the user's IP address when the user requests a file managed by the MSP distribution system. As described above, a request to the redirect server is made through an EMBED statement. An EMBED statement can identify a single redirect server (eg, MSP32) and explicitly reference a special server IP address, or multiple redirects that can attempt to access in sequence or random order Scripts or executable program code (e.g., in JavaScript or Java programming language) specifying the server can be included. Then, since the HTTP (HyperText Transport Protocol) request typically includes information about the requester's address, the user's IP address is determined by the server via conventional means. The redirect server then maps the user's IP address to the optimal distribution site located in the lookup table and forwards the distribution site address to the user. The user's
An important factor in designing a look-up table comes from numerous addresses on the Internet. Every computer connected to the Internet is assigned an address. In the conventional Internet addressing system, an address is composed of a 4-byte value by convention, and each byte is expressed by converting each byte into a decimal number (0-255) and separating the bytes with a period. For example, the address of the “www.intervu.net” server is 192.215.147.185. When this address scheme is used, there are over 4 billion usable addresses on the Internet. Given the current state of the art, a look-up table containing 4 billion addresses is too large to be used in the embodiment described here, so a method for compressing the table is available. Quested.
It has been found that the selection of the optimal delivery site can often be correlated to the first byte of the user's IP address. This correlation indicates that after running the
It should be noted that in certain situations, some of the first byte IP addresses in the lookup table may not be mapped to the corresponding server. This can result, for example, that most users do not have an IP address corresponding to a particular entry in the table, and a sufficient number of them will yield statistically significant or reliable results. This is the case when the
In the preferred embodiment, the lookup list is stored on a single redirect server, eg, MSP32. However, the lookup list and associated programming can also be stored at the web page server, the
The redirect server is accessed to select a delivery site as described below and as illustrated in FIG. 4 (step 82, FIG. 3). The user requests the file referenced on the web page via the user terminal browser by clicking on the link with the EMBED statement for that file. If the file request is for a file managed by the distribution system of the MSP, the file request is redirected to a redirect server (eg, MSP32 using conventional HTML file request semantics, or server “GET”). (Step 120).
The redirect server examines the incoming request and determines the user's network address (IP address) using the “REMOTE_HOST” variable supplied by the web server (step 122). It should be noted that the embodiment of the invention described in FIG. 4 can be achieved without a special purpose client program (such as client program 36) installed on
The redirect server then analyzes the user's IP address and looks up a list of potential distribution sites in the lookup table to determine which distribution site or sites are correlated with the user's IP address. Judgment is made (step 128). The redirect server then selects a delivery site address if one or more addresses match an entry in the user's lookup table (step 130). If a single delivery site address is found, an HTTP redirect response is used to deliver the file from the selected delivery site (step 132). According to the HTTP specification, a file requested from a server can be redirected to another location by that server without any user or client program intervention. This completes site selection (step 134). To complete the transaction, the client program requests a copy of the file from the selected distribution site, and the distribution site server retrieves the file and distributes it to the user.
If the user wishes to install the client program 36 (step 126), the program will be downloaded and installed by conventional means (step 136). If the
First, the redirect server analyzes the user's IP address and looks up a list of potential distribution sites in the lookup table, and one or more distribution sites are associated with the user's IP address. (Step 138). The redirect server storing the lookup table creates a small file containing the distribution site sub-list (step 140) and sends it to the user terminal 12 (step 142), and the final distribution. It may be possible to rely on the client program 36 (step 144) to make a site selection. There are several reasons why this occurs.
First, as described above, the analysis of aggregate network performance data is improved for certain users where many distribution sites have the same first byte address range (as opposed to a single distribution site). May provide improved performance. For example, this occurs when many users, all of whom have the same first byte address or range of addresses within a single first byte address, select a different distribution site after running the configuration utility. In this case, the
Second, if the number of distribution sites and IP addresses managed by MSP increases to the point where the lookup table becomes too large to be practical, that is, the redirect server looks up instead of the previous file request A situation can also arise if you are late in responding to a new file request to get busy searching the table. If this is the case, the task of looking up the lookup table is divided between the redirect server and the
To accomplish this, the redirect server subdivides the lookup table into smaller sublists containing a given range of addresses. In this way, when the redirect server receives a request for a file, the server maps the user's IP address to a sublist containing the corresponding address range (step 138) and then creates a small file containing the sublist. (Step 140) and download to the user (step 142). The
Although the MSP32 redirect lookup table is frequently updated as network performance changes, the sub-list being passed to the user is expected to be satisfactory for at least several days. Thus, the
A particular user may request a file managed by the MSP distribution system, and the system has no knowledge of that user (ie, between the user's IP address and the distribution site in the lookup table). It is possible that no match is found. In this case, the redirect server selects a distribution site for the user from the default list stored in the redirect server (
By changing the lookup table, the redirect server can also perform load distribution and management for file requests. Redirect if the MSP32 (or the individual controlling the MSP32) pre-determines that a section of the network will be down for a period of time, or if certain distribution sites must be shut down for a period of time The lookup table can be modified so that the server directs the user's attention to alternative delivery sites. Thus, on two back-to-back requests for the same file, the user may be directed to two different distribution sites.
It should be understood that the file containing the lookup table sub-list can serve as a distribution site file used by the
In the following exemplary description, the smart mirror system utilizes a look-up table to locate the improved distribution site from which the video clip referenced in the web page ad headline is downloaded. . When dealing with relatively unpopular content such as advertisements, it is important to deliver the content of the advertisement to the intended customers as quickly as possible so that potential customers do not lose interest. The same is true for the content of advertising headlines on web pages. In other words, it is desirable to be able to deliver videos to customers as quickly as possible without having to download a significant amount of software in advance. Thus, as an alternative to utilizing the present invention as an expensive service, service providers can spread advertising headlines on web pages via the Internet. Each heading references a video clip, and all of those clips will be stored at the content provider's server established for that purpose.
In this example, the
When the client selects an advertising headline displayed on the web page, the browser examines the EMBED tag encoded in the heading. The browser begins downloading the file referenced by the EMBED tag and the file type is analyzed. If the file is of a type being processed by a player program such as MPEG, the browser starts the player program by passing a tag to the player program. The player program looks up the EMBED tag for the file name of the video clip and tries to find the clip on the local computer belonging to the user terminal. If the clip is there, it is not re-downloaded and can be played directly on the computer (from disk or RAM). If the video clip is not on the local computer, the player program analyzes the EMBED tag to determine if there is an “SM” (smart mirror) parameter. The presence of such a parameter indicates that the embedded clip is enabled for smart mirroring. The SM parameter further specifies the address of the redirect server and the specific content provider that is the source of the desired clip as described above, as well as the group of mirror servers used by the specific content provider.
When the player program recognizes the parameter specifying the redirect server, the player program calls the browser and requests the referenced ad header file from the redirect server by conventional HTML file request technology. The redirect server examines incoming requests and determines the client's IP address. The redirect server maps the client's IP address to a lookup table and searches for a distribution site address or sublist. The distribution site address (or a sublist of distribution sites and IP addresses) is returned to the player program by the redirect server. When the sublist is returned, as described above, the player program selects only one distribution site from the listed sites. Once a single distribution site is determined, the player program will add the “http: //” to the IP address of the selected distribution site and the path name to mirror the file (eg, “/ pub / mirror / ") and the name of the content provider acquired from the" SM "parameter in the EMBED statement and the file name acquired from the EMBED statement are created in a new URL. The constructed URL is used to retrieve the selected clip from the delivery file selected from the lookup table.
If the SM parameter in the EMBED tag does not specify a redirect server, or if the redirect server is not available and does not return a response, the player program is stored in the configuration utility file. An arbitrary IP address is selected from the prioritized list of mirror sites, and this address in the URL is replaced. If the player program does not detect the presence of a prioritized list of smart mirror sites (eg, if the user never downloaded the configuration utility 34), then the player program is EMBED The video will be requested using the address of the original content provider's server, as specified directly by the statement.
In applications where the goal is not explicitly set for the distribution of advertising content, providing the download information to the MSP facilitates the use of the present invention as an expensive subscription based service. Successful downloads are tracked in the database so that each user can have an associated “account” to track the billing amount. The user may be charged for using the smart mirror system by file, megabyte, monthly, or other known means. In one embodiment, the EMBED tag associated with the file includes billing issue information, ie, the “price” of the file. If the download performance tracking of the present invention reveals that the download is too difficult or slow, discounts or credits can be issued.
To ensure that the files stored on the smart mirror distribution site are used only by authorized users of the present invention (for example those users with paid accounts), The file may optionally take an encrypted form, and the download step described above may include a decryption step. Such encryption and decryption can be accomplished by well-known means.
As described above, a clip managed by the present invention may have content rating information associated with it. This is accomplished by providing a “PG” parameter in the EMBED statement corresponding to the clip. In one embodiment, four features are specified. That is, nudity, sexuality, profanity and violence. Therefore, the PG parameter can be specified by a 4-digit argument. Each feature is specified on a 1 to 3 scale. 1 corresponds to no filter function (ie, all content is acceptable), 2 corresponds to some filter function (eg, basically equal to the level allowed for broadcast television), 3 is the most extensive Corresponding to a simple filter function (for example, for children). The level of rating included in the EMBED statement for a file is compared with the rating filter level included in the configuration file stored in the
In view of the above, embodiments of the present invention are utilized in many different applications that allow the acquisition and analysis of performance data for a network between a given user and a content provider or distribution site. It is understood that it is good. Thus, although the described embodiment shows a system operating using an Internet-type addressing scheme within the context of the Internet, such a system is incorporated in the corporate intranet. It will be appreciated that it will be useful in other network environments including but not limited to.
Further, although the exemplary embodiments are described primarily for use in video distribution systems, the system according to the present invention may be used in various other types of computer data (eg, application programs, database files, And other business information, virtual reality files, multimedia such as Macromedia Shockwave files, as well as large text files such as books) can be used similarly. It is necessary to Such other types of data can be managed by the present invention in different content provider groups as described in detail above. Another type of program (rather than player program 36) will typically be called at
Also, certain functionality described as being executed on the user terminal 12 (particularly, certain functions executed by the
While certain exemplary configurations and operations have been described, the invention is not so limited and the scope should be determined according to the claims set forth below.
Claims (4)
エンドユーザクライアントマシンは、サービスプロバイダへインターネットを介して接続される加入コンテンツプロバイダへコンテンツを要求し、サービスプロバイダはリダイレクトサーバを含み、所与のエンドユーザクライアントマシンは分散型コンピュータネットワークのIPアドレスを有し、
前記コンテンツ配信方法は、
少なくとも一つはインターネットポップ(PoP)である所定のネットワーク位置に、一つ以上ある加入コンテンツプロバイダのコンテンツを有する配信サイトを設置する過程と、
IPアドレスの第1のバイトに対応するバイト値により索引されるテーブルであって、前記バイト値の各々につき、所与のネットワークパフォーマンス試験のデータに基き該バイト値をIPアドレスの第1のバイトとして有するエンドユーザクライアントマシンにとって好ましい配信サイトのサブセットのIPアドレスを含むテーブルを、リダイレクトサーバが、生成する過程と、
所与のIPアドレスのエンドユーザクライアントマシンがサービスプロバイダが管理するコンテンツを要求すると、それに応答して、リダイレクトサーバが、該エンドユーザクライアントマシンのIPアドレスの第1のバイトに対応するバイト値をテーブルの索引として使用することにより前記要求を配信サイトの一つのサブセットのIPアドレスと関連付ける過程とを含むことを特徴とするコンテンツ配信方法。 In a distributed computer network under the control of the service provider A method for distributing content on behalf of subscriber content provider,
An end user client machine requests content from a subscribed content provider connected to the service provider via the Internet, the service provider includes a redirect server, and a given end user client machine has an IP address of a distributed computer network. And
The content distribution method includes:
Installing at least one distribution site having content of one or more subscribed content providers at a predetermined network location, at least one of which is Internet Pop (PoP) ;
A table indexed by a byte value corresponding to a first byte of an IP address , wherein for each of the byte values, the byte value is defined as the first byte of the IP address based on data of a given network performance test a table containing the IP address of a subset of preferred delivery site to the end user client machine with the steps of redirect server generates,
When an end-user client machine of a given IP address requests content service provider that manages, bytes in response thereto, the redirect server, corresponding to the first byte of the IP address of the end-user client machine content distribution method which comprises a step of associating the IP address of a subset of the distribution site the request by using the value as an index of the table.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/878,385 | 1997-06-18 | ||
US08/878,385 US6112239A (en) | 1997-06-18 | 1997-06-18 | System and method for server-side optimization of data delivery on a distributed computer network |
PCT/US1998/012784 WO1998058315A1 (en) | 1997-06-18 | 1998-06-16 | System and method for server-side optimization of data delivery on a distributed computer network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002506543A JP2002506543A (en) | 2002-02-26 |
JP4968975B2 true JP4968975B2 (en) | 2012-07-04 |
Family
ID=25371929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50484999A Expired - Lifetime JP4968975B2 (en) | 1997-06-18 | 1998-06-16 | Content distribution method in distributed computer network |
Country Status (8)
Country | Link |
---|---|
US (4) | US6112239A (en) |
EP (1) | EP0990205B1 (en) |
JP (1) | JP4968975B2 (en) |
CN (1) | CN1109298C (en) |
AU (1) | AU8153998A (en) |
CA (1) | CA2294149A1 (en) |
DE (1) | DE69835674T2 (en) |
WO (1) | WO1998058315A1 (en) |
Families Citing this family (469)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US6963859B2 (en) | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
JPH08263438A (en) | 1994-11-23 | 1996-10-11 | Xerox Corp | Distribution and use control system of digital work and access control method to digital work |
US6006252A (en) * | 1996-10-08 | 1999-12-21 | Wolfe; Mark A. | System and method for communicating information relating to a network resource |
US6233684B1 (en) * | 1997-02-28 | 2001-05-15 | Contenaguard Holdings, Inc. | System for controlling the distribution and use of rendered digital works through watermaking |
US7447738B1 (en) * | 1997-03-14 | 2008-11-04 | International Business Machines Corporation | Component download selection mechanism for web browsers |
US6112239A (en) * | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
US7058720B1 (en) * | 1997-06-30 | 2006-06-06 | Microsoft Corporation | Geographical client distribution methods, systems and computer program products |
US6223209B1 (en) * | 1997-09-30 | 2001-04-24 | Ncr Corporation | Distributed world wide web servers |
US7581077B2 (en) | 1997-10-30 | 2009-08-25 | Commvault Systems, Inc. | Method and system for transferring data in a storage operation |
US6418478B1 (en) * | 1997-10-30 | 2002-07-09 | Commvault Systems, Inc. | Pipelined high speed data transfer mechanism |
US7257604B1 (en) | 1997-11-17 | 2007-08-14 | Wolfe Mark A | System and method for communicating information relating to a network resource |
US6385596B1 (en) * | 1998-02-06 | 2002-05-07 | Liquid Audio, Inc. | Secure online music distribution system |
US7047300B1 (en) * | 1998-02-10 | 2006-05-16 | Sprint Communications Company L.P. | Survivable and scalable data system and method for computer networks |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US8296396B2 (en) | 1998-02-10 | 2012-10-23 | Level 3 Communications, Llc | Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions |
US6779118B1 (en) * | 1998-05-04 | 2004-08-17 | Auriq Systems, Inc. | User specific automatic data redirection system |
US7143193B1 (en) | 1998-05-29 | 2006-11-28 | Yahoo! Inc. | Content collection |
US7581006B1 (en) * | 1998-05-29 | 2009-08-25 | Yahoo! Inc. | Web service |
US6782409B1 (en) * | 1998-05-29 | 2004-08-24 | Sony Corporation | Experience/sympathy information providing system |
US6976093B2 (en) | 1998-05-29 | 2005-12-13 | Yahoo! Inc. | Web server content replication |
US6108703A (en) * | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6249801B1 (en) * | 1998-07-15 | 2001-06-19 | Radware Ltd. | Load balancing |
US6665702B1 (en) | 1998-07-15 | 2003-12-16 | Radware Ltd. | Load balancing |
JP3786328B2 (en) * | 1998-07-27 | 2006-06-14 | 株式会社日立製作所 | Server and communication control method |
US7047483B1 (en) * | 1998-09-01 | 2006-05-16 | Lucent Technologies Inc. | Computer implemented method and apparatus for providing a logical point of access to one or more files |
WO2000016210A1 (en) | 1998-09-17 | 2000-03-23 | Nexchange Corporation | Affiliate commerce system and method |
US8010627B1 (en) | 1998-09-25 | 2011-08-30 | Sprint Communications Company L.P. | Virtual content publishing system |
US6751777B2 (en) * | 1998-10-19 | 2004-06-15 | International Business Machines Corporation | Multi-target links for navigating between hypertext documents and the like |
JP3935276B2 (en) * | 1998-10-21 | 2007-06-20 | キヤノン株式会社 | Network device management method, apparatus, storage medium, and transmission apparatus |
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
US7664864B2 (en) * | 1998-11-13 | 2010-02-16 | Verisign, Inc. | Meta content distribution network |
US7225264B2 (en) | 1998-11-16 | 2007-05-29 | Softricity, Inc. | Systems and methods for delivering content over a computer network |
US7017188B1 (en) | 1998-11-16 | 2006-03-21 | Softricity, Inc. | Method and apparatus for secure content delivery over broadband access networks |
US6763370B1 (en) | 1998-11-16 | 2004-07-13 | Softricity, Inc. | Method and apparatus for content protection in a secure content delivery system |
US7194554B1 (en) | 1998-12-08 | 2007-03-20 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization authentication and accounting |
US8713641B1 (en) | 1998-12-08 | 2014-04-29 | Nomadix, Inc. | Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device |
US8266266B2 (en) | 1998-12-08 | 2012-09-11 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization, authentication and accounting |
DE19900636B8 (en) | 1999-01-11 | 2005-04-07 | Gailer, Peter | Data access and management system and method for data access and data management for a computer system and their use |
US6611872B1 (en) * | 1999-01-11 | 2003-08-26 | Fastforward Networks, Inc. | Performing multicast communication in computer networks by using overlay routing |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US7099848B1 (en) | 1999-02-16 | 2006-08-29 | Listen.Com, Inc. | Audio delivery and rendering method and apparatus |
US6901604B1 (en) * | 1999-02-19 | 2005-05-31 | Chaincast, Inc. | Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system |
US7185097B1 (en) * | 1999-02-25 | 2007-02-27 | Nortel Networks Limited | Encoding addresses in a communication system |
GB9906628D0 (en) * | 1999-03-23 | 1999-05-19 | Koninkl Philips Electronics Nv | Data network load management |
JP3808660B2 (en) * | 1999-03-31 | 2006-08-16 | 株式会社東芝 | Communication system and terminal device |
US6721794B2 (en) * | 1999-04-01 | 2004-04-13 | Diva Systems Corp. | Method of data management for efficiently storing and retrieving data to respond to user access requests |
US6233607B1 (en) * | 1999-04-01 | 2001-05-15 | Diva Systems Corp. | Modular storage server architecture with dynamic data management |
US6578078B1 (en) * | 1999-04-02 | 2003-06-10 | Microsoft Corporation | Method for preserving referential integrity within web sites |
GB2348718A (en) * | 1999-04-07 | 2000-10-11 | Ibm | Data processing system having a centralised trace facility with dynamic tracing |
US6801949B1 (en) | 1999-04-12 | 2004-10-05 | Rainfinity, Inc. | Distributed server cluster with graphical user interface |
US7730169B1 (en) | 1999-04-12 | 2010-06-01 | Softricity, Inc. | Business method and system for serving third party software applications |
US7370071B2 (en) | 2000-03-17 | 2008-05-06 | Microsoft Corporation | Method for serving third party software applications from servers to client computers |
US6757698B2 (en) * | 1999-04-14 | 2004-06-29 | Iomega Corporation | Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations |
US6571288B1 (en) * | 1999-04-26 | 2003-05-27 | Hewlett-Packard Company | Apparatus and method that empirically measures capacity of multiple servers and forwards relative weights to load balancer |
US8099758B2 (en) | 1999-05-12 | 2012-01-17 | Microsoft Corporation | Policy based composite file system and method |
US6850987B1 (en) | 1999-06-01 | 2005-02-01 | Fastforward Networks, Inc. | System for multipoint infrastructure transport in a computer network |
US6735633B1 (en) * | 1999-06-01 | 2004-05-11 | Fast Forward Networks | System for bandwidth allocation in a computer network |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US7035880B1 (en) | 1999-07-14 | 2006-04-25 | Commvault Systems, Inc. | Modular backup and retrieval system used in conjunction with a storage area network |
US7395282B1 (en) | 1999-07-15 | 2008-07-01 | Commvault Systems, Inc. | Hierarchical backup and retrieval system |
US7389311B1 (en) * | 1999-07-15 | 2008-06-17 | Commvault Systems, Inc. | Modular backup and retrieval system |
US6785704B1 (en) | 1999-12-20 | 2004-08-31 | Fastforward Networks | Content distribution system for operation over an internetwork including content peering arrangements |
US6415323B1 (en) | 1999-09-03 | 2002-07-02 | Fastforward Networks | Proximity-based redirection system for robust and scalable service-node location in an internetwork |
US6857106B1 (en) | 1999-09-15 | 2005-02-15 | Listen.Com, Inc. | Graphical user interface with moveable, mergeable elements |
US6721789B1 (en) * | 1999-10-06 | 2004-04-13 | Sun Microsystems, Inc. | Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests |
US8190708B1 (en) | 1999-10-22 | 2012-05-29 | Nomadix, Inc. | Gateway device having an XML interface and associated method |
US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
US7127500B1 (en) * | 1999-11-10 | 2006-10-24 | Oclc Online Computer Library Center, Inc. | Retrieval of digital objects by redirection of controlled vocabulary searches |
US6405252B1 (en) * | 1999-11-22 | 2002-06-11 | Speedera Networks, Inc. | Integrated point of presence server network |
US7925713B1 (en) * | 1999-11-22 | 2011-04-12 | Akamai Technologies, Inc. | Method for operating an integrated point of presence server network |
US6754699B2 (en) * | 2000-07-19 | 2004-06-22 | Speedera Networks, Inc. | Content delivery and global traffic management network system |
US7363361B2 (en) * | 2000-08-18 | 2008-04-22 | Akamai Technologies, Inc. | Secure content delivery system |
US7523181B2 (en) | 1999-11-22 | 2009-04-21 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US8516146B1 (en) | 1999-11-24 | 2013-08-20 | Robert C. Yen | Method and system for reduction of delay and bandwidth requirements in internet data transfer |
US7222161B2 (en) * | 1999-11-24 | 2007-05-22 | Yen Robert C | Method and system for facilitating usage of local content at client machine |
US7245634B2 (en) | 2000-09-27 | 2007-07-17 | Yen Robert C | Wireless internet access with enhanced bandwidth capabilities |
US9538386B2 (en) | 1999-11-24 | 2017-01-03 | Robert C. Yen | Wireless internet access with enhanced bandwidth capabilities |
US6904455B1 (en) | 1999-11-24 | 2005-06-07 | Robert C. Yen | Method and system for providing local content for use in partially satisfying internet data requests from remote servers |
JP4574097B2 (en) * | 1999-12-03 | 2010-11-04 | パナソニック株式会社 | Content distribution system, reference server |
US7565675B2 (en) | 1999-12-08 | 2009-07-21 | Listen.Com, Inc. | Scheduled retrieval, storage and access of media data |
US6442708B1 (en) * | 1999-12-14 | 2002-08-27 | Honeywell International Inc. | Fault localization and health indication for a controller area network |
US6754706B1 (en) | 1999-12-16 | 2004-06-22 | Speedera Networks, Inc. | Scalable domain name system with persistence and load balancing |
EP1243116A2 (en) * | 1999-12-31 | 2002-09-25 | Realscale Technologies Inc. | A server module and a distributed server-based internet access scheme and method of operating the same |
EP1113646A1 (en) * | 1999-12-31 | 2001-07-04 | Advanced Communication Research | A server module and a distributed server based internet access scheme and method of operating the same |
US6606643B1 (en) * | 2000-01-04 | 2003-08-12 | International Business Machines Corporation | Method of automatically selecting a mirror server for web-based client-host interaction |
US6763380B1 (en) * | 2000-01-07 | 2004-07-13 | Netiq Corporation | Methods, systems and computer program products for tracking network device performance |
US6519648B1 (en) | 2000-01-24 | 2003-02-11 | Friskit, Inc. | Streaming media search and continuous playback of multiple media resources located on a network |
US6389467B1 (en) * | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
US7281034B1 (en) | 2000-01-24 | 2007-10-09 | Friskit, Inc. | System and method for media playback over a network using links that contain control signals and commands |
US7228305B1 (en) * | 2000-01-24 | 2007-06-05 | Friskit, Inc. | Rating system for streaming media playback system |
CN1115839C (en) * | 2000-01-28 | 2003-07-23 | 国际商业机器公司 | Method and device for balancing load of image server |
US7003641B2 (en) | 2000-01-31 | 2006-02-21 | Commvault Systems, Inc. | Logical view with granular access to exchange data managed by a modular data and storage management system |
US6658436B2 (en) | 2000-01-31 | 2003-12-02 | Commvault Systems, Inc. | Logical view and access to data managed by a modular data and storage management system |
US7155481B2 (en) | 2000-01-31 | 2006-12-26 | Commvault Systems, Inc. | Email attachment management in a computer system |
DE60142826D1 (en) * | 2000-02-04 | 2010-09-30 | Listen Com Inc | System with a distributed multimedia network and a metadata server |
US8418195B1 (en) * | 2000-02-04 | 2013-04-09 | Sprint Communications Company L.P. | Advertising insertion for a video-on-demand system |
US20010034693A1 (en) * | 2000-02-25 | 2001-10-25 | Jay Farhat | Method and system to broker a service access transaction |
US7792745B2 (en) * | 2000-02-25 | 2010-09-07 | Ipass Inc. | Method and system to facilitate financial settlement of service access transactions between multiple parties |
US20020116444A1 (en) * | 2000-02-29 | 2002-08-22 | Imran Chaudhri | Method and system for providing intelligent network content delivery |
US6799214B1 (en) * | 2000-03-03 | 2004-09-28 | Nec Corporation | System and method for efficient content delivery using redirection pages received from the content provider original site and the mirror sites |
US20030088878A1 (en) * | 2000-03-25 | 2003-05-08 | Karl Rogers | System and method for integration of high quality video multi-casting service with an interactive communication and information environment using internet protocols |
US6687846B1 (en) | 2000-03-30 | 2004-02-03 | Intel Corporation | System and method for error handling and recovery |
US20050021862A1 (en) * | 2000-03-31 | 2005-01-27 | Dickens Coal Llc | Automatic selection of content-delivery provider using link mapping database |
US7058706B1 (en) | 2000-03-31 | 2006-06-06 | Akamai Technologies, Inc. | Method and apparatus for determining latency between multiple servers and a client |
US7240100B1 (en) | 2000-04-14 | 2007-07-03 | Akamai Technologies, Inc. | Content delivery network (CDN) content server request handling mechanism with metadata framework support |
US6996616B1 (en) * | 2000-04-17 | 2006-02-07 | Akamai Technologies, Inc. | HTML delivery from edge-of-network servers in a content delivery network (CDN) |
US7010537B2 (en) * | 2000-04-27 | 2006-03-07 | Friskit, Inc. | Method and system for visual network searching |
US6928481B1 (en) * | 2000-05-05 | 2005-08-09 | International Business Machines Corporation | Method, apparatus and program to optimize the network distribution of digital information based on hierarchical grouping of server topology and code distribution |
US7299291B1 (en) | 2000-05-18 | 2007-11-20 | Akamai Technologies, Inc. | Client-side method for identifying an optimum server |
US7082427B1 (en) * | 2000-05-24 | 2006-07-25 | Reachforce, Inc. | Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document |
US7120629B1 (en) | 2000-05-24 | 2006-10-10 | Reachforce, Inc. | Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data |
US7240112B2 (en) * | 2000-05-26 | 2007-07-03 | Ipass Inc. | Service quality monitoring process |
US7096263B2 (en) * | 2000-05-26 | 2006-08-22 | Akamai Technologies, Inc. | Method for predicting file download time from mirrored data centers in a global computer network |
US7519695B2 (en) * | 2000-05-26 | 2009-04-14 | Ipass Inc. | Service quality monitoring process |
US6985945B2 (en) * | 2000-12-07 | 2006-01-10 | Ipass, Inc. | Service quality monitoring process |
US6510463B1 (en) * | 2000-05-26 | 2003-01-21 | Ipass, Inc. | Service quality monitoring process |
US7103664B1 (en) * | 2000-05-31 | 2006-09-05 | International Business Machines Corporation | Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment |
US20010049732A1 (en) * | 2000-06-01 | 2001-12-06 | Raciborski Nathan F. | Content exchange apparatus |
US20010051980A1 (en) * | 2000-06-01 | 2001-12-13 | Raciborski Nathan F. | Preloading content objects on content exchanges |
US6836806B1 (en) | 2000-06-01 | 2004-12-28 | Aerocast, Inc. | System for network addressing |
US6658000B1 (en) | 2000-06-01 | 2003-12-02 | Aerocast.Com, Inc. | Selective routing |
US6879998B1 (en) * | 2000-06-01 | 2005-04-12 | Aerocast.Com, Inc. | Viewer object proxy |
US7213062B1 (en) | 2000-06-01 | 2007-05-01 | General Instrument Corporation | Self-publishing network directory |
AR028661A1 (en) * | 2000-06-01 | 2003-05-21 | Aerocast Com Inc | METHOD FOR SELECTING AN ADDRESS NODE FROM THE CLIENT'S SIDE |
US6904460B1 (en) | 2000-06-01 | 2005-06-07 | Aerocast.Com, Inc. | Reverse content harvester |
US7020709B1 (en) * | 2000-06-30 | 2006-03-28 | Intel Corporation | System and method for fault tolerant stream splitting |
US7318107B1 (en) | 2000-06-30 | 2008-01-08 | Intel Corporation | System and method for automatic stream fail-over |
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
US7912978B2 (en) * | 2000-07-19 | 2011-03-22 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US7653706B2 (en) * | 2000-07-19 | 2010-01-26 | Akamai Technologies, Inc. | Dynamic image delivery system |
US7346676B1 (en) * | 2000-07-19 | 2008-03-18 | Akamai Technologies, Inc. | Load balancing service |
US8060581B2 (en) * | 2000-07-19 | 2011-11-15 | Akamai Technologies, Inc. | Dynamic image delivery system |
US8341297B2 (en) | 2000-07-19 | 2012-12-25 | Akamai Technologies, Inc. | Latencies and weightings in a domain name service (DNS) system |
US7725602B2 (en) | 2000-07-19 | 2010-05-25 | Akamai Technologies, Inc. | Domain name resolution using a distributed DNS network |
FI112148B (en) * | 2000-07-24 | 2003-10-31 | Stonesoft Oyj | Procedure for checking data transfer |
EP1176760A1 (en) * | 2000-07-27 | 2002-01-30 | Telefonaktiebolaget Lm Ericsson | Method of establishing access from a terminal to a server |
US7191239B2 (en) * | 2000-08-02 | 2007-03-13 | Ipass Inc. | Method and system to customize and update a network connection application for distribution to multiple end-users |
US7801158B2 (en) * | 2000-10-16 | 2010-09-21 | Verizon Communications Inc. | Congestion and thru-put visibility and isolation |
US7603319B2 (en) | 2000-08-28 | 2009-10-13 | Contentguard Holdings, Inc. | Method and apparatus for preserving customer identity in on-line transactions |
US7743259B2 (en) * | 2000-08-28 | 2010-06-22 | Contentguard Holdings, Inc. | System and method for digital rights management using a standard rendering engine |
EP1320994B1 (en) * | 2000-08-31 | 2011-03-30 | Ericsson Television Inc. | Systems and method for interacting with users over a communications network |
US7657629B1 (en) * | 2000-09-26 | 2010-02-02 | Foundry Networks, Inc. | Global server load balancing |
US7454500B1 (en) | 2000-09-26 | 2008-11-18 | Foundry Networks, Inc. | Global server load balancing |
US9130954B2 (en) * | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
JP2002108350A (en) * | 2000-09-28 | 2002-04-10 | Internatl Business Mach Corp <Ibm> | Method and system for music distribution |
US7330850B1 (en) | 2000-10-04 | 2008-02-12 | Reachforce, Inc. | Text mining system for web-based business intelligence applied to web site server logs |
US7043531B1 (en) | 2000-10-04 | 2006-05-09 | Inetprofit, Inc. | Web-based customer lead generator system with pre-emptive profiling |
US7401125B1 (en) * | 2000-10-10 | 2008-07-15 | Ricoh Corporation | System, computer program product and method for managing documents |
US6714970B1 (en) * | 2000-10-26 | 2004-03-30 | International Business Machines Corporation | Protecting open world wide web sites from known malicious users by diverting requests from malicious users to alias addresses for the protected sites |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7111057B1 (en) * | 2000-10-31 | 2006-09-19 | Akamai Technologies, Inc. | Method and system for purging content from a content delivery network |
US7343324B2 (en) | 2000-11-03 | 2008-03-11 | Contentguard Holdings Inc. | Method, system, and computer readable medium for automatically publishing content |
US7353277B1 (en) * | 2000-11-14 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Dynamic load balancing of video requests |
US7158534B2 (en) * | 2000-11-30 | 2007-01-02 | Imajet Communications, Inc. | Unified distributed architecture for a multi-point video conference and interactive broadcast systems |
US20020065922A1 (en) * | 2000-11-30 | 2002-05-30 | Vijnan Shastri | Method and apparatus for selection and redirection of an existing client-server connection to an alternate data server hosted on a data packet network (DPN) based on performance comparisons |
US6928474B2 (en) * | 2000-12-14 | 2005-08-09 | Honeywell International, Inc. | Using a probability associative matrix algorithm to modify web pages |
US7502857B2 (en) * | 2000-12-15 | 2009-03-10 | International Business Machines Corporation | Method and system for optimally allocating a network service |
US6795941B2 (en) | 2000-12-21 | 2004-09-21 | Honeywell International Inc. | Method for diagnosing a network |
US6993508B1 (en) | 2000-12-29 | 2006-01-31 | Novell, Inc. | Method and mechanism for vending digital content |
US6912294B2 (en) * | 2000-12-29 | 2005-06-28 | Contentguard Holdings, Inc. | Multi-stage watermarking process and system |
US6651141B2 (en) | 2000-12-29 | 2003-11-18 | Intel Corporation | System and method for populating cache servers with popular media contents |
US20020094868A1 (en) * | 2001-01-16 | 2002-07-18 | Alma Tuck | Methods for interactive internet advertising, apparatuses and systems including same |
US20040039704A1 (en) * | 2001-01-17 | 2004-02-26 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights of users and suppliers of items |
US8069116B2 (en) | 2001-01-17 | 2011-11-29 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights associated with an item repository |
US6754642B2 (en) * | 2001-05-31 | 2004-06-22 | Contentguard Holdings, Inc. | Method and apparatus for dynamically assigning usage rights to digital works |
US7028009B2 (en) * | 2001-01-17 | 2006-04-11 | Contentguardiholdings, Inc. | Method and apparatus for distributing enforceable property rights |
US7774279B2 (en) | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
US20040025186A1 (en) * | 2001-01-19 | 2004-02-05 | Jennings Charles A. | System and method for managing media |
US9674575B2 (en) | 2001-01-19 | 2017-06-06 | SITO Mobile R&D IP, LLC | System and method for routing media |
US7054949B2 (en) * | 2001-01-19 | 2006-05-30 | World Streaming Network, Inc. | System and method for streaming media |
US7191244B2 (en) * | 2001-01-19 | 2007-03-13 | Streamworks Technologies, Inc. | System and method for routing media |
US20020123330A1 (en) * | 2001-02-06 | 2002-09-05 | Yen Robert C. | Wireless internet access with enhanced bandwidth capabilities |
WO2002071242A1 (en) * | 2001-03-01 | 2002-09-12 | Akamai Technologies, Inc. | Optimal route selection in a content delivery network |
US20020133597A1 (en) * | 2001-03-14 | 2002-09-19 | Nikhil Jhingan | Global storage system |
JP4254071B2 (en) * | 2001-03-22 | 2009-04-15 | コニカミノルタビジネステクノロジーズ株式会社 | Printer, server, monitoring device, printing system, and monitoring program |
US6766407B1 (en) * | 2001-03-27 | 2004-07-20 | Microsoft Corporation | Intelligent streaming framework |
US7149797B1 (en) * | 2001-04-02 | 2006-12-12 | Akamai Technologies, Inc. | Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP) |
US20020143798A1 (en) * | 2001-04-02 | 2002-10-03 | Akamai Technologies, Inc. | Highly available distributed storage system for internet content with storage site redirection |
US20030065919A1 (en) * | 2001-04-18 | 2003-04-03 | Albert Roy David | Method and system for identifying a replay attack by an access device to a computer system |
US7921290B2 (en) * | 2001-04-18 | 2011-04-05 | Ipass Inc. | Method and system for securely authenticating network access credentials for users |
US7469341B2 (en) * | 2001-04-18 | 2008-12-23 | Ipass Inc. | Method and system for associating a plurality of transaction data records generated in a service access system |
JP2002328855A (en) * | 2001-05-02 | 2002-11-15 | Sony Corp | Device and method for processing information, recording medium and program |
US6959333B2 (en) * | 2001-05-08 | 2005-10-25 | Lucent Technologies Inc. | Technique for content delivery over the internet |
US6876984B2 (en) | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US7152046B2 (en) * | 2001-05-31 | 2006-12-19 | Contentguard Holdings, Inc. | Method and apparatus for tracking status of resource in a system for managing use of the resources |
US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
US7725401B2 (en) | 2001-05-31 | 2010-05-25 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US8099364B2 (en) | 2001-05-31 | 2012-01-17 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US8275709B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US8001053B2 (en) | 2001-05-31 | 2011-08-16 | Contentguard Holdings, Inc. | System and method for rights offering and granting using shared state variables |
US6895503B2 (en) | 2001-05-31 | 2005-05-17 | Contentguard Holdings, Inc. | Method and apparatus for hierarchical assignment of rights to documents and documents having such rights |
US7007089B2 (en) * | 2001-06-06 | 2006-02-28 | Akarnai Technologies, Inc. | Content delivery network map generation using passive measurement data |
AU2002305814B2 (en) | 2001-06-07 | 2004-06-10 | Contentguard Holdings, Inc. | Cryptographic trust zones in digital rights management |
US7774280B2 (en) | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
US7454485B2 (en) * | 2001-06-29 | 2008-11-18 | Intel Corporation | Providing uninterrupted media streaming using multiple network sites |
US20030009657A1 (en) * | 2001-06-29 | 2003-01-09 | Ibm Corporation | Method and system for booting of a target device in a network management system |
WO2003009539A1 (en) * | 2001-07-10 | 2003-01-30 | Fujitsu Limited | Mobile machine communication system and communication method |
US7379977B2 (en) * | 2001-07-24 | 2008-05-27 | Steve Walrath | System and method for display of multiple electronic pages |
US20030188160A1 (en) * | 2001-08-02 | 2003-10-02 | Singam Sunder | Method and system to securely update files via a network |
US7761606B2 (en) * | 2001-08-02 | 2010-07-20 | Ipass Inc. | Method and system to secure a connection application for distribution to multiple end-users |
ES2214390T3 (en) * | 2001-08-31 | 2004-09-16 | Stonesoft Corporation | DATA TRANSMISSION CONTROL METHOD. |
US20030051015A1 (en) * | 2001-09-10 | 2003-03-13 | Brown Brian J. | System and method for distributing software |
US20030055971A1 (en) * | 2001-09-19 | 2003-03-20 | Menon Rama R. | Providing load balancing in delivering rich media |
US6915234B2 (en) | 2001-09-24 | 2005-07-05 | Electronic Data Systems Corporation | Monitoring submission of performance data describing a relationship between a provider and a client |
US20030065553A1 (en) * | 2001-09-24 | 2003-04-03 | Electronic Data Systems Corporation | Reporting performance data describing a relationship between a provider and a client |
US6850866B2 (en) * | 2001-09-24 | 2005-02-01 | Electronic Data Systems Corporation | Managing performance metrics describing a relationship between a provider and a client |
WO2003029980A1 (en) * | 2001-09-24 | 2003-04-10 | Electronic Data Systems Corporation | Evaluating performance data describing a relationship between a provider and a client |
US20030061006A1 (en) * | 2001-09-24 | 2003-03-27 | Richards Kevin T. | Evaluating performance data describing a relationship between a provider and a client |
US6687560B2 (en) | 2001-09-24 | 2004-02-03 | Electronic Data Systems Corporation | Processing performance data describing a relationship between a provider and a client |
US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
EP1436736B1 (en) | 2001-09-28 | 2017-06-28 | Level 3 CDN International, Inc. | Configurable adaptive global traffic control and management |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20030074670A1 (en) * | 2001-10-12 | 2003-04-17 | Penk Mark D. | Propagation of dynamic network information |
US20030079027A1 (en) * | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US20030084104A1 (en) * | 2001-10-31 | 2003-05-01 | Krimo Salem | System and method for remote storage and retrieval of data |
WO2003042832A1 (en) * | 2001-11-13 | 2003-05-22 | Electronic Data Systems Corporation | Managing performance metrics describing a relationship between a provider and a client |
US20030093515A1 (en) * | 2001-11-14 | 2003-05-15 | Kauffman Marc W. | Quality of service control of streamed content delivery |
US6978270B1 (en) | 2001-11-16 | 2005-12-20 | Ncr Corporation | System and method for capturing and storing operational data concerning an internet service provider's (ISP) operational environment and customer web browsing habits |
US7974923B2 (en) * | 2001-11-20 | 2011-07-05 | Contentguard Holdings, Inc. | Extensible rights expression processing system |
US7840488B2 (en) * | 2001-11-20 | 2010-11-23 | Contentguard Holdings, Inc. | System and method for granting access to an item or permission to use an item based on configurable conditions |
US7558759B2 (en) * | 2001-11-20 | 2009-07-07 | Contentguard Holdings, Inc. | Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates |
US20030099364A1 (en) * | 2001-11-28 | 2003-05-29 | Thompson Mark R. | Playback manipulation of HTTP streamed content objects |
JP2003223378A (en) * | 2002-01-29 | 2003-08-08 | Fujitsu Ltd | Contents delivery network service method and system |
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
US20030229593A1 (en) * | 2002-03-14 | 2003-12-11 | Michael Raley | Rights expression profile system and method |
AU2003221995A1 (en) * | 2002-03-14 | 2003-09-29 | Contentguard Holdings, Inc. | System and method for graphical rights expressions |
US7805371B2 (en) * | 2002-03-14 | 2010-09-28 | Contentguard Holdings, Inc. | Rights expression profile system and method |
US7194433B1 (en) * | 2002-04-05 | 2007-03-20 | Ricoh Company, Ltd. | System, computer program product and method for managing documents |
US7961884B2 (en) * | 2002-08-13 | 2011-06-14 | Ipass Inc. | Method and system for changing security information in a computer network |
US9137324B2 (en) * | 2002-04-10 | 2015-09-15 | International Business Machines Corporation | Capacity on-demand in distributed computing environments |
JP4000895B2 (en) * | 2002-04-23 | 2007-10-31 | 日本電気株式会社 | Bit rate control method and apparatus for real-time communication |
US8543511B2 (en) * | 2002-04-29 | 2013-09-24 | Contentguard Holdings, Inc. | System and method for specifying and processing legality expressions |
US20040059777A1 (en) * | 2002-05-31 | 2004-03-25 | Palazzo Craig M. | System and method for distributed component object model load balancing |
US7836295B2 (en) * | 2002-07-29 | 2010-11-16 | International Business Machines Corporation | Method and apparatus for improving the resilience of content distribution networks to distributed denial of service attacks |
US20040024900A1 (en) * | 2002-07-30 | 2004-02-05 | International Business Machines Corporation | Method and system for enhancing streaming operation in a distributed communication system |
GB0217795D0 (en) * | 2002-07-31 | 2002-09-11 | Hewlett Packard Co | Establishment of network connections |
EP1387302A3 (en) * | 2002-07-31 | 2006-05-24 | Hewlett-Packard Development Company, L.P. | Establishment of network connections |
US7086061B1 (en) | 2002-08-01 | 2006-08-01 | Foundry Networks, Inc. | Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics |
US7676576B1 (en) | 2002-08-01 | 2010-03-09 | Foundry Networks, Inc. | Method and system to clear counters used for statistical tracking for global server load balancing |
US7574508B1 (en) | 2002-08-07 | 2009-08-11 | Foundry Networks, Inc. | Canonical name (CNAME) handling for global server load balancing |
US7305464B2 (en) * | 2002-09-03 | 2007-12-04 | End Ii End Communications, Inc. | Systems and methods for broadband network optimization |
US8370542B2 (en) | 2002-09-16 | 2013-02-05 | Commvault Systems, Inc. | Combined stream auxiliary copy system and method |
US7542471B2 (en) | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
US7630305B2 (en) | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US7616638B2 (en) * | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US8233392B2 (en) | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
CN1317662C (en) * | 2002-10-31 | 2007-05-23 | 中兴通讯股份有限公司 | Distribution type file access method |
EP1443716B1 (en) * | 2003-02-03 | 2007-05-02 | Alcatel Lucent | Establishing diverse connections via different edge nodes |
US20040260710A1 (en) * | 2003-02-28 | 2004-12-23 | Marston Justin P. | Messaging system |
US7490348B1 (en) | 2003-03-17 | 2009-02-10 | Harris Technology, Llc | Wireless network having multiple communication allowances |
JP4271483B2 (en) * | 2003-04-24 | 2009-06-03 | ソニー株式会社 | Content processing apparatus and content processing method |
US20050010961A1 (en) * | 2003-06-02 | 2005-01-13 | Hagen David A. | System for providing live and pre-recorded audio-video content to a plurality of portals over the Internet |
US8606885B2 (en) * | 2003-06-05 | 2013-12-10 | Ipass Inc. | Method and system of providing access point data associated with a network access point |
US20050055371A1 (en) * | 2003-06-05 | 2005-03-10 | Singam Sunder | Method and system to manage a network connection application |
US20040254999A1 (en) * | 2003-06-13 | 2004-12-16 | Bellsouth Intellectual Property Corporation | System for providing content to multiple users |
JP4278445B2 (en) * | 2003-06-18 | 2009-06-17 | 株式会社日立製作所 | Network system and switch |
US7454569B2 (en) | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
US7685642B2 (en) * | 2003-06-26 | 2010-03-23 | Contentguard Holdings, Inc. | System and method for controlling rights expressions by stakeholders of an item |
US7475108B2 (en) * | 2003-06-26 | 2009-01-06 | International Business Machines Corporation | Slow-dynamic load balancing method |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US7656799B2 (en) | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
US7698453B2 (en) * | 2003-07-29 | 2010-04-13 | Oribital Data Corporation | Early generation of acknowledgements for flow control |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US9525566B2 (en) * | 2003-07-31 | 2016-12-20 | Cloudsoft Corporation Limited | Self-managed mediated information flow |
US20080089347A1 (en) * | 2003-08-29 | 2008-04-17 | End Ii End Communications Inc. | Systems and methods for broadband network optimization |
US7512679B2 (en) * | 2003-08-29 | 2009-03-31 | International Business Machines Corporation | Apparatus and method to select a captain from a plurality of control nodes |
US7715934B2 (en) | 2003-09-19 | 2010-05-11 | Macrovision Corporation | Identification of input files using reference files associated with nodes of a sparse binary tree |
US9584360B2 (en) * | 2003-09-29 | 2017-02-28 | Foundry Networks, Llc | Global server load balancing support for private VIP addresses |
US20050097185A1 (en) * | 2003-10-07 | 2005-05-05 | Simon Gibson | Localization link system |
US7356566B2 (en) * | 2003-10-09 | 2008-04-08 | International Business Machines Corporation | Selective mirrored site accesses from a communication |
US20050089014A1 (en) * | 2003-10-27 | 2005-04-28 | Macrovision Corporation | System and methods for communicating over the internet with geographically distributed devices of a decentralized network using transparent asymetric return paths |
US20050144242A1 (en) * | 2003-10-31 | 2005-06-30 | Justin Marston | Caching in an electronic messaging system |
US20050097593A1 (en) * | 2003-11-05 | 2005-05-05 | Michael Raley | System, method and device for selected content distribution |
CA2544063C (en) | 2003-11-13 | 2013-09-10 | Commvault Systems, Inc. | System and method for combining data streams in pilelined storage operations in a storage network |
CA2546304A1 (en) | 2003-11-13 | 2005-05-26 | Commvault Systems, Inc. | System and method for performing an image level snapshot and for restoring partial volume data |
US7546324B2 (en) | 2003-11-13 | 2009-06-09 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
US20050198168A1 (en) * | 2003-12-04 | 2005-09-08 | Justin Marston | Messaging protocol discovery |
US7895625B1 (en) * | 2003-12-24 | 2011-02-22 | Time Warner, Inc. | System and method for recommending programming to television viewing communities |
EP1787199A2 (en) * | 2004-02-18 | 2007-05-23 | Ipass, Inc. | Method and system for managing transactions in a remote network access system |
US7877810B2 (en) * | 2004-03-02 | 2011-01-25 | Rovi Solutions Corporation | System, method and client user interface for a copy protection service |
US7539862B2 (en) | 2004-04-08 | 2009-05-26 | Ipass Inc. | Method and system for verifying and updating the configuration of an access device during authentication |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US20060064478A1 (en) * | 2004-05-03 | 2006-03-23 | Level 3 Communications, Inc. | Geo-locating load balancing |
US8089972B2 (en) | 2004-05-03 | 2012-01-03 | Level 3 Communications, Llc | Registration redirect server |
US7584301B1 (en) * | 2004-05-06 | 2009-09-01 | Foundry Networks, Inc. | Host-level policies for global server load balancing |
US7496651B1 (en) | 2004-05-06 | 2009-02-24 | Foundry Networks, Inc. | Configurable geographic prefixes for global server load balancing |
US8073911B2 (en) * | 2004-05-12 | 2011-12-06 | Bluespace Software Corporation | Enforcing compliance policies in a messaging system |
US20060031352A1 (en) * | 2004-05-12 | 2006-02-09 | Justin Marston | Tamper-proof electronic messaging |
US20060190549A1 (en) * | 2004-07-23 | 2006-08-24 | Kouichi Teramae | Multi-media information device network system |
KR101200453B1 (en) * | 2004-08-12 | 2012-11-12 | 텔레콤 이탈리아 소시에떼 퍼 아찌오니 | A system, a method and a device for updating a data set through a communication network |
US7423977B1 (en) | 2004-08-23 | 2008-09-09 | Foundry Networks Inc. | Smoothing algorithm for round trip time (RTT) measurements |
US20060069700A1 (en) * | 2004-09-22 | 2006-03-30 | Justin Marston | Generating relational structure for non-relational messages |
US7748032B2 (en) | 2004-09-30 | 2010-06-29 | Citrix Systems, Inc. | Method and apparatus for associating tickets in a ticket hierarchy |
US8613048B2 (en) | 2004-09-30 | 2013-12-17 | Citrix Systems, Inc. | Method and apparatus for providing authorized remote access to application sessions |
US7711835B2 (en) | 2004-09-30 | 2010-05-04 | Citrix Systems, Inc. | Method and apparatus for reducing disclosure of proprietary data in a networked environment |
EP1805990A4 (en) * | 2004-10-27 | 2010-10-20 | Eg Technology Inc | Network architecture for real time delivery of video over lossy networks from remote locations |
US8346956B2 (en) | 2004-10-29 | 2013-01-01 | Akamai Technologies, Inc. | Dynamic image delivery system |
US20060107326A1 (en) * | 2004-11-12 | 2006-05-18 | Demartini Thomas | Method, system, and device for verifying authorized issuance of a rights expression |
US20060106726A1 (en) * | 2004-11-18 | 2006-05-18 | Contentguard Holdings, Inc. | Method, system, and device for license-centric content consumption |
US8660961B2 (en) | 2004-11-18 | 2014-02-25 | Contentguard Holdings, Inc. | Method, system, and device for license-centric content consumption |
US20060112015A1 (en) * | 2004-11-24 | 2006-05-25 | Contentguard Holdings, Inc. | Method, system, and device for handling creation of derivative works and for adapting rights to derivative works |
US7734019B1 (en) * | 2004-12-09 | 2010-06-08 | Level 3 Communications, Llc | Systems and methods for third party emergency call termination |
US9843557B2 (en) | 2004-12-09 | 2017-12-12 | Level 3 Communications, Llc | Systems and methods for dynamically registering endpoints in a network |
US8768350B2 (en) | 2004-12-09 | 2014-07-01 | Level 3 Communications, Llc | Systems and methods for locating endpoints in a communication network |
US8200828B2 (en) | 2005-01-14 | 2012-06-12 | Citrix Systems, Inc. | Systems and methods for single stack shadowing |
US20060159432A1 (en) | 2005-01-14 | 2006-07-20 | Citrix Systems, Inc. | System and methods for automatic time-warped playback in rendering a recorded computer session |
US8230096B2 (en) | 2005-01-14 | 2012-07-24 | Citrix Systems, Inc. | Methods and systems for generating playback instructions for playback of a recorded computer session |
US8296441B2 (en) | 2005-01-14 | 2012-10-23 | Citrix Systems, Inc. | Methods and systems for joining a real-time session of presentation layer protocol data |
US8340130B2 (en) | 2005-01-14 | 2012-12-25 | Citrix Systems, Inc. | Methods and systems for generating playback instructions for rendering of a recorded computer session |
US7831728B2 (en) | 2005-01-14 | 2010-11-09 | Citrix Systems, Inc. | Methods and systems for real-time seeking during real-time playback of a presentation layer protocol data stream |
US8935316B2 (en) | 2005-01-14 | 2015-01-13 | Citrix Systems, Inc. | Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data |
US8145777B2 (en) | 2005-01-14 | 2012-03-27 | Citrix Systems, Inc. | Method and system for real-time seeking during playback of remote presentation protocols |
US8024568B2 (en) | 2005-01-28 | 2011-09-20 | Citrix Systems, Inc. | Method and system for verification of an endpoint security scan |
US7711794B2 (en) * | 2005-02-01 | 2010-05-04 | International Business Machines Corporation | Adjusting timing between automatic, non-user-initiated pollings of server to download data therefrom |
US8918515B1 (en) * | 2005-02-10 | 2014-12-23 | Symantec Corporation | Interstitial redirection management |
US7436936B2 (en) * | 2005-02-22 | 2008-10-14 | Level 3 Communications, Llc | VoIP call through tester |
US7519074B2 (en) * | 2005-02-22 | 2009-04-14 | Level 3 Communications, Llc | Voice call coordinator |
US20060282386A1 (en) * | 2005-03-14 | 2006-12-14 | Szeto Christopher T | Method and system for premium access |
US20080307339A1 (en) | 2006-03-20 | 2008-12-11 | Kidzui, Inc. | Child-oriented computing system |
US20060248573A1 (en) * | 2005-04-28 | 2006-11-02 | Content Guard Holdings, Inc. | System and method for developing and using trusted policy based on a social model |
GB0508946D0 (en) * | 2005-04-30 | 2005-06-08 | Ibm | Method and apparatus for streaming data |
US7647424B2 (en) * | 2005-06-15 | 2010-01-12 | Hostway Corporation | Multi-level redirection system |
US9450908B2 (en) * | 2005-06-23 | 2016-09-20 | Go Daddy Operating Company, LLC | Routing DNS system and method for shared domain name |
US20050289242A1 (en) * | 2005-06-24 | 2005-12-29 | The Go Daddy Group, Inc. | Resolving access to content associated with shared domain name using routing website |
US8706816B2 (en) * | 2005-06-24 | 2014-04-22 | Go Daddy Operating Company, LLC | System and method for email delivery for shared domain name |
US8601475B2 (en) * | 2005-08-02 | 2013-12-03 | Aol Inc. | Download and upload of email messages using control commands in a client/server web application |
US7809943B2 (en) * | 2005-09-27 | 2010-10-05 | Rovi Solutions Corporation | Method and system for establishing trust in a peer-to-peer network |
EP1929685A4 (en) * | 2005-09-29 | 2011-12-21 | Contentguard Holdings Inc | System and method for digital rights management using advanced copy with issue rights, and managed copy tokens |
US8191008B2 (en) | 2005-10-03 | 2012-05-29 | Citrix Systems, Inc. | Simulating multi-monitor functionality in a single monitor environment |
US7720767B2 (en) * | 2005-10-24 | 2010-05-18 | Contentguard Holdings, Inc. | Method and system to support dynamic rights and resources sharing |
KR100772385B1 (en) * | 2005-12-07 | 2007-11-01 | 삼성전자주식회사 | Method and apparatus for transmitting and receiving content on distributed storage system |
US7636743B2 (en) | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
US8661216B2 (en) | 2005-12-19 | 2014-02-25 | Commvault Systems, Inc. | Systems and methods for migrating components in a hierarchical storage network |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
EP1974296B8 (en) | 2005-12-19 | 2016-09-21 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7962709B2 (en) | 2005-12-19 | 2011-06-14 | Commvault Systems, Inc. | Network redirector systems and methods for performing data replication |
US7651593B2 (en) | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US8086722B2 (en) * | 2005-12-21 | 2011-12-27 | Rovi Solutions Corporation | Techniques for measuring peer-to-peer (P2P) networks |
US20070150600A1 (en) * | 2005-12-22 | 2007-06-28 | International Business Machines Corporation | Method and apparatus for collecting data for characterizing HTTP session workloads |
US8447837B2 (en) * | 2005-12-30 | 2013-05-21 | Akamai Technologies, Inc. | Site acceleration with content prefetching enabled through customer-specific configurations |
CN1997005B (en) * | 2006-01-06 | 2010-11-10 | 鸿富锦精密工业(深圳)有限公司 | System and method for management and control of the network communication data |
CN100377522C (en) * | 2006-01-11 | 2008-03-26 | 北京北方烽火科技有限公司 | OMA download realizing method in content distributing network |
WO2007082308A2 (en) * | 2006-01-13 | 2007-07-19 | Bluespace Software Corp. | Determining relevance of electronic content |
CN100458721C (en) * | 2006-02-17 | 2009-02-04 | 深圳奇峰创智科技有限公司 | Method for automatic backup using computer network |
WO2007118052A2 (en) * | 2006-04-03 | 2007-10-18 | Ebiz.Mobility Ltd | Method for universal electronic payment processing |
US8321523B1 (en) * | 2006-04-24 | 2012-11-27 | Centrify Corporation | Method and apparatus for dynamically and incrementally modifying NIS maps |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US7610383B2 (en) * | 2006-08-11 | 2009-10-27 | Hewlett-Packard Development Company, L.P. | Data-object-related-request routing in a dynamic, distributed data-storage system |
US20080077524A1 (en) * | 2006-09-25 | 2008-03-27 | Greene Jeffrey Marc | Global communication and transaction system and method |
US8159457B2 (en) * | 2006-09-27 | 2012-04-17 | Yahoo! Inc. | Zero-click activation of an application |
US8533846B2 (en) | 2006-11-08 | 2013-09-10 | Citrix Systems, Inc. | Method and system for dynamically associating access rights with a resource |
JP4973145B2 (en) * | 2006-11-20 | 2012-07-11 | 船井電機株式会社 | Management server and content transfer system |
MX2009006825A (en) * | 2006-12-20 | 2010-03-23 | United Video Properties Inc | Systems and methods for providing remote access to interactive media guidance applications. |
US8719809B2 (en) | 2006-12-22 | 2014-05-06 | Commvault Systems, Inc. | Point in time rollback and un-installation of software |
US8312323B2 (en) | 2006-12-22 | 2012-11-13 | Commvault Systems, Inc. | Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved |
US8854652B2 (en) * | 2007-01-26 | 2014-10-07 | Samsung Electronics Co., Ltd. | Host device and printing control method thereof |
US20080208961A1 (en) * | 2007-02-23 | 2008-08-28 | Hostway Corporation | Parallel retrieval system |
US8290808B2 (en) | 2007-03-09 | 2012-10-16 | Commvault Systems, Inc. | System and method for automating customer-validated statement of work for a data storage environment |
US7796510B2 (en) | 2007-03-12 | 2010-09-14 | Citrix Systems, Inc. | Systems and methods for providing virtual fair queueing of network traffic |
US7760642B2 (en) | 2007-03-12 | 2010-07-20 | Citrix Systems, Inc. | Systems and methods for providing quality of service precedence in TCP congestion control |
US8046509B2 (en) | 2007-07-06 | 2011-10-25 | Prostor Systems, Inc. | Commonality factoring for removable media |
US8615008B2 (en) | 2007-07-11 | 2013-12-24 | Foundry Networks Llc | Duplicating network traffic through transparent VLAN flooding |
US20090037963A1 (en) * | 2007-08-02 | 2009-02-05 | Youbiquity, Llc | System for electronic retail sales of multi-media assets |
US9531798B2 (en) * | 2007-10-03 | 2016-12-27 | Virtela Technology Services Incorporated | Pandemic remote access design |
US8248928B1 (en) | 2007-10-09 | 2012-08-21 | Foundry Networks, Llc | Monitoring server load balancing |
US20090106387A1 (en) * | 2007-10-18 | 2009-04-23 | Dorai Ashok Shanmugavel Anbalagan | Cidr based caching at application layer |
WO2009076658A1 (en) * | 2007-12-13 | 2009-06-18 | Highwinds Holdings, Inc. | Content delivery network |
US8489731B2 (en) | 2007-12-13 | 2013-07-16 | Highwinds Holdings, Inc. | Content delivery network with customized tracking of delivery data |
US20090189892A1 (en) | 2008-01-27 | 2009-07-30 | Nitin Desai | Methods and systems for detecting a dirty region within a frame encompassing three dimensional graphics |
US8868741B2 (en) | 2008-03-03 | 2014-10-21 | Leapfrog Enterprises, Inc. | Method and apparatus for custodial monitoring, filtering, and approving of content |
US8521879B1 (en) | 2008-03-11 | 2013-08-27 | United Services Automobile Assocation (USAA) | Systems and methods for a load balanced interior gateway protocol intranet |
US8930538B2 (en) | 2008-04-04 | 2015-01-06 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US8074049B2 (en) | 2008-08-26 | 2011-12-06 | Nine Technology, Llc | Online backup system with global two staged deduplication without using an indexing database |
AU2010202034B1 (en) | 2010-04-07 | 2010-12-23 | Limelight Networks, Inc. | Partial object distribution in content delivery network |
CN102203758A (en) * | 2008-09-19 | 2011-09-28 | 杰出网络公司 | Content delivery network stream server vignette distribution |
AU2010276462B1 (en) | 2010-12-27 | 2012-01-12 | Limelight Networks, Inc. | Partial object caching |
JP5337879B2 (en) * | 2008-09-29 | 2013-11-06 | 株式会社東芝 | Prior evaluation of multiple network access points |
US8316106B2 (en) | 2008-12-05 | 2012-11-20 | At&T Intellectual Property Ii, Lp | System and method for assigning requests in a content distribution network |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US20120072604A1 (en) * | 2009-05-29 | 2012-03-22 | France Telecom | technique for delivering content to a user |
WO2010151496A1 (en) * | 2009-06-22 | 2010-12-29 | Citrix Systems, Inc. | Systems and methods for platform rate limiting |
KR101135087B1 (en) * | 2009-08-12 | 2012-04-16 | 삼성에스디에스 주식회사 | System and method for providing contents |
WO2011034956A2 (en) | 2009-09-15 | 2011-03-24 | Comcast Cable Communications, Llc | Dynamic content packaging |
CN102792292B (en) * | 2009-12-07 | 2015-12-16 | 考持·维 | The system and method for site performance optimization and internet service process |
US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8352422B2 (en) | 2010-03-30 | 2013-01-08 | Commvault Systems, Inc. | Data restore systems and methods in a replication environment |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US9049247B2 (en) | 2010-04-01 | 2015-06-02 | Cloudfare, Inc. | Internet-based proxy service for responding to server offline errors |
US10102301B2 (en) | 2010-04-01 | 2018-10-16 | Cloudflare, Inc. | Internet-based proxy security services |
US8572038B2 (en) | 2010-05-28 | 2013-10-29 | Commvault Systems, Inc. | Systems and methods for performing data replication |
EP2583211B1 (en) | 2010-06-15 | 2020-04-15 | Oracle International Corporation | Virtual computing infrastructure |
US10715457B2 (en) | 2010-06-15 | 2020-07-14 | Oracle International Corporation | Coordination of processes in cloud computing environments |
KR101753195B1 (en) * | 2010-07-27 | 2017-07-19 | 아주대학교산학협력단 | Apparatus and method to control session connection in a communication system |
US8639748B2 (en) | 2010-09-01 | 2014-01-28 | Edgecast Networks, Inc. | Optimized content distribution based on metrics derived from the end user |
US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
US9021198B1 (en) | 2011-01-20 | 2015-04-28 | Commvault Systems, Inc. | System and method for sharing SAN storage |
US8949349B2 (en) | 2011-03-28 | 2015-02-03 | Blackberry Limited | Communications system including trusted server to verify a redirection request and associated methods |
EP2506618B1 (en) * | 2011-03-28 | 2019-08-28 | BlackBerry Limited | Communications system including trusted server to verify a redirection request and associated methods |
US8584211B1 (en) | 2011-05-18 | 2013-11-12 | Bluespace Software Corporation | Server-based architecture for securely providing multi-domain applications |
US8285808B1 (en) | 2011-05-20 | 2012-10-09 | Cloudflare, Inc. | Loading of web resources |
US9201895B2 (en) | 2011-06-03 | 2015-12-01 | Apple Inc. | Management of downloads from a network-based digital data repository based on network performance |
US8510807B1 (en) | 2011-08-16 | 2013-08-13 | Edgecast Networks, Inc. | Real-time granular statistical reporting for distributed platforms |
EP2560344B8 (en) * | 2011-08-18 | 2018-06-27 | Apple Inc. | Management of downloads from a network-based digital data repository based on network performance |
US8615159B2 (en) | 2011-09-20 | 2013-12-24 | Citrix Systems, Inc. | Methods and systems for cataloging text in a recorded session |
US8738766B1 (en) | 2011-11-01 | 2014-05-27 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
US8745177B1 (en) | 2011-11-01 | 2014-06-03 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
KR20130051811A (en) * | 2011-11-10 | 2013-05-21 | 삼성전자주식회사 | Apparatus and method for selecting access point |
JP6460798B2 (en) | 2012-02-10 | 2019-01-30 | オラクル・インターナショナル・コーポレイション | Cloud computing service framework |
US9298715B2 (en) | 2012-03-07 | 2016-03-29 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9471578B2 (en) | 2012-03-07 | 2016-10-18 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9342537B2 (en) | 2012-04-23 | 2016-05-17 | Commvault Systems, Inc. | Integrated snapshot interface for a data storage system |
CN103384214A (en) * | 2012-05-04 | 2013-11-06 | 深圳富泰宏精密工业有限公司 | Network detection system and method |
US20130346624A1 (en) * | 2012-06-20 | 2013-12-26 | Steven Chervets | Dynamic media throttling based on data quotas |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US20140201140A1 (en) | 2013-01-11 | 2014-07-17 | Commvault Systems, Inc. | Data synchronization management |
US10225135B2 (en) * | 2013-01-30 | 2019-03-05 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Provision of management information and requests among management servers within a computing network |
US10027586B2 (en) * | 2013-03-15 | 2018-07-17 | Star2Star Communications, LLC | Network address family translation method and system |
CN104079614B (en) * | 2013-03-29 | 2017-09-12 | 国际商业机器公司 | The method and system obtained in order for distributed post ordering system message |
CA2920122A1 (en) | 2013-08-08 | 2015-02-12 | Ricoh Company, Limited | Program, communication quality estimation method, information processing apparatus, communication quality estimation system, and storage medium |
US9565138B2 (en) | 2013-12-20 | 2017-02-07 | Brocade Communications Systems, Inc. | Rule-based network traffic interception and distribution scheme |
US9753812B2 (en) | 2014-01-24 | 2017-09-05 | Commvault Systems, Inc. | Generating mapping information for single snapshot for multiple applications |
US9639426B2 (en) | 2014-01-24 | 2017-05-02 | Commvault Systems, Inc. | Single snapshot for multiple applications |
US9495251B2 (en) | 2014-01-24 | 2016-11-15 | Commvault Systems, Inc. | Snapshot readiness checking and reporting |
US9632874B2 (en) | 2014-01-24 | 2017-04-25 | Commvault Systems, Inc. | Database application backup in single snapshot for multiple applications |
US9648542B2 (en) | 2014-01-28 | 2017-05-09 | Brocade Communications Systems, Inc. | Session-based packet routing for facilitating analytics |
US9633128B2 (en) | 2014-03-13 | 2017-04-25 | Go Daddy Operating Company, LLC | Lightweight web page generation |
US11553018B2 (en) | 2014-04-08 | 2023-01-10 | Comcast Cable Communications, Llc | Dynamically switched multicast delivery |
US9501211B2 (en) | 2014-04-17 | 2016-11-22 | GoDaddy Operating Company, LLC | User input processing for allocation of hosting server resources |
US9660933B2 (en) | 2014-04-17 | 2017-05-23 | Go Daddy Operating Company, LLC | Allocating and accessing hosting server resources via continuous resource availability updates |
US9774672B2 (en) | 2014-09-03 | 2017-09-26 | Commvault Systems, Inc. | Consolidated processing of storage-array commands by a snapshot-control media agent |
US10042716B2 (en) | 2014-09-03 | 2018-08-07 | Commvault Systems, Inc. | Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent |
US9448731B2 (en) | 2014-11-14 | 2016-09-20 | Commvault Systems, Inc. | Unified snapshot storage management |
US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
US10164933B2 (en) | 2014-12-19 | 2018-12-25 | Go Daddy Operating Company, LLC | System and method for domain name system restore points |
US10659423B2 (en) | 2014-12-19 | 2020-05-19 | Go Daddy Operating Company, LLC | System and method for modifying a domain name system template |
US9904481B2 (en) | 2015-01-23 | 2018-02-27 | Commvault Systems, Inc. | Scalable auxiliary copy processing in a storage management system using media agent resources |
US9898213B2 (en) | 2015-01-23 | 2018-02-20 | Commvault Systems, Inc. | Scalable auxiliary copy processing using media agent resources |
US10009406B2 (en) * | 2015-02-09 | 2018-06-26 | Verizon Patent And Licensing Inc. | Incentivized sharing for toll-free data |
US10771475B2 (en) | 2015-03-23 | 2020-09-08 | Extreme Networks, Inc. | Techniques for exchanging control and configuration information in a network visibility system |
US9866478B2 (en) | 2015-03-23 | 2018-01-09 | Extreme Networks, Inc. | Techniques for user-defined tagging of traffic in a network visibility system |
US10911353B2 (en) | 2015-06-17 | 2021-02-02 | Extreme Networks, Inc. | Architecture for a network visibility system |
US10129088B2 (en) | 2015-06-17 | 2018-11-13 | Extreme Networks, Inc. | Configuration of rules in a network visibility system |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10530688B2 (en) | 2015-06-17 | 2020-01-07 | Extreme Networks, Inc. | Configuration of load-sharing components of a network visibility router in a network visibility system |
US10057126B2 (en) | 2015-06-17 | 2018-08-21 | Extreme Networks, Inc. | Configuration of a network visibility system |
US10454796B2 (en) * | 2015-10-08 | 2019-10-22 | Fluke Corporation | Cloud based system and method for managing messages regarding cable test device operation |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
CN105577830A (en) * | 2016-02-02 | 2016-05-11 | 明博教育科技股份有限公司 | Optimal selection method and system for downloading list based on statistics |
US10091075B2 (en) | 2016-02-12 | 2018-10-02 | Extreme Networks, Inc. | Traffic deduplication in a visibility network |
US10503753B2 (en) | 2016-03-10 | 2019-12-10 | Commvault Systems, Inc. | Snapshot replication operations based on incremental block change tracking |
US10999200B2 (en) | 2016-03-24 | 2021-05-04 | Extreme Networks, Inc. | Offline, intelligent load balancing of SCTP traffic |
US10567259B2 (en) | 2016-10-19 | 2020-02-18 | Extreme Networks, Inc. | Smart filter generator |
US10263951B2 (en) * | 2017-01-09 | 2019-04-16 | Star2Star Communications, LLC | Network address family translation method and system |
US10200745B2 (en) | 2017-03-06 | 2019-02-05 | Cisco Technology, Inc. | System and method for cloud digital video recorders |
US11010261B2 (en) | 2017-03-31 | 2021-05-18 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
US10476837B2 (en) * | 2017-06-19 | 2019-11-12 | Saudi Arabian Oil Company | IPV4 addressing schema design methodology using a visual interactive tool |
US10740022B2 (en) | 2018-02-14 | 2020-08-11 | Commvault Systems, Inc. | Block-level live browsing and private writable backup copies using an ISCSI server |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
CN111273935A (en) * | 2020-03-16 | 2020-06-12 | 上海商魁信息科技有限公司 | Method for terminal to inquire cloud management background to which terminal belongs and terminal |
US11025710B1 (en) * | 2020-10-26 | 2021-06-01 | Verizon Digital Media Services Inc. | Systems and methods for dynamic load balancing based on server utilization and content popularity |
US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86107645A (en) * | 1986-11-11 | 1988-05-25 | 美国电话电报公司 | Transmit the method for resource information in the computer network |
CA1337132C (en) * | 1988-07-15 | 1995-09-26 | Robert Filepp | Reception system for an interactive computer network and method of operation |
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
DE69030340T2 (en) * | 1989-02-24 | 1997-11-20 | Digital Equipment Corp | Broker for the selection of computer network servers |
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5511177A (en) * | 1991-11-21 | 1996-04-23 | Hitachi, Ltd. | File data multiplexing method and data processing system |
JPH0766829A (en) * | 1993-06-30 | 1995-03-10 | Kawasaki Steel Corp | Electronic mail multiplexing system and communication control method in the system |
US6185619B1 (en) | 1996-12-09 | 2001-02-06 | Genuity Inc. | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
JPH0844638A (en) * | 1994-08-01 | 1996-02-16 | Nippon Telegr & Teleph Corp <Ntt> | System and method for providing multimedia service |
JP3452410B2 (en) * | 1994-12-06 | 2003-09-29 | 日本電信電話株式会社 | Virtual space data transfer method |
US5920701A (en) * | 1995-01-19 | 1999-07-06 | Starburst Communications Corporation | Scheduling data transmission |
US6181867B1 (en) | 1995-06-07 | 2001-01-30 | Intervu, Inc. | Video storage and retrieval system |
US6003030A (en) * | 1995-06-07 | 1999-12-14 | Intervu, Inc. | System and method for optimized storage and retrieval of data on a distributed computer network |
US5734865A (en) * | 1995-06-07 | 1998-03-31 | Bull Hn Information Systems Inc. | Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment |
US5764899A (en) * | 1995-11-13 | 1998-06-09 | Motorola, Inc. | Method and apparatus for communicating an optimized reply |
US6473609B1 (en) * | 1995-12-11 | 2002-10-29 | Openwave Systems Inc. | Method and architecture for interactive two-way communication devices to interact with a network |
US5751961A (en) * | 1996-01-31 | 1998-05-12 | Bell Communications Research, Inc. | Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point |
US5894554A (en) | 1996-04-23 | 1999-04-13 | Infospinner, Inc. | System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests |
US5901214A (en) * | 1996-06-10 | 1999-05-04 | Murex Securities, Ltd. | One number intelligent call processing system |
US6134583A (en) | 1996-07-01 | 2000-10-17 | Sun Microsystems, Inc. | Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16) |
US5793970A (en) * | 1996-07-11 | 1998-08-11 | Microsoft Corporation | Method and computer program product for converting message identification codes using a conversion map accesible via a data link |
US5987506A (en) * | 1996-11-22 | 1999-11-16 | Mangosoft Corporation | Remote access and geographically distributed computers in a globally addressable storage environment |
US6272523B1 (en) * | 1996-12-20 | 2001-08-07 | International Business Machines Corporation | Distributed networking using logical processes |
US6424992B2 (en) * | 1996-12-23 | 2002-07-23 | International Business Machines Corporation | Affinity-based router and routing method |
US5889470A (en) * | 1996-12-24 | 1999-03-30 | Paradyne Corporation | Digital subscriber line access device management information base |
US6052718A (en) | 1997-01-07 | 2000-04-18 | Sightpath, Inc | Replica routing |
US6421726B1 (en) * | 1997-03-14 | 2002-07-16 | Akamai Technologies, Inc. | System and method for selection and retrieval of diverse types of video data on a computer network |
US5898850A (en) * | 1997-03-31 | 1999-04-27 | International Business Machines Corporation | Method and system for executing a non-native mode-sensitive instruction within a computer system |
AU6882998A (en) * | 1997-03-31 | 1998-10-22 | Broadband Associates | Method and system for providing a presentation on a network |
US5893091A (en) * | 1997-04-11 | 1999-04-06 | Immediata Corporation | Multicasting with key words |
US6256675B1 (en) | 1997-05-06 | 2001-07-03 | At&T Corp. | System and method for allocating requests for objects and managing replicas of objects on a network |
US6119143A (en) * | 1997-05-22 | 2000-09-12 | International Business Machines Corporation | Computer system and method for load balancing with selective control |
US5983227A (en) * | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
US6173399B1 (en) * | 1997-06-12 | 2001-01-09 | Vpnet Technologies, Inc. | Apparatus for implementing virtual private networks |
US6112239A (en) * | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
US6230196B1 (en) | 1997-11-12 | 2001-05-08 | International Business Machines Corporation | Generation of smart HTML anchors in dynamic web page creation |
US6178160B1 (en) | 1997-12-23 | 2001-01-23 | Cisco Technology, Inc. | Load balancing of client connections across a network using server based algorithms |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US6175917B1 (en) * | 1998-04-23 | 2001-01-16 | Vpnet Technologies, Inc. | Method and apparatus for swapping a computer operating system |
US6144996A (en) | 1998-05-13 | 2000-11-07 | Compaq Computer Corporation | Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network |
US6115752A (en) | 1998-05-21 | 2000-09-05 | Sun Microsystems, Inc. | System and method for server selection for mirrored sites |
US6108703A (en) * | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6799248B2 (en) * | 2000-09-11 | 2004-09-28 | Emc Corporation | Cache management system for a network data node having a cache memory manager for selectively using different cache management methods |
US7039627B1 (en) * | 2000-12-22 | 2006-05-02 | Nortel Networks Limited | Method and apparatus for performing a radix search by selecting one of a valid table and a transition table |
-
1997
- 1997-06-18 US US08/878,385 patent/US6112239A/en not_active Expired - Lifetime
-
1998
- 1998-06-16 CN CN98807351A patent/CN1109298C/en not_active Expired - Lifetime
- 1998-06-16 CA CA002294149A patent/CA2294149A1/en not_active Abandoned
- 1998-06-16 WO PCT/US1998/012784 patent/WO1998058315A1/en active IP Right Grant
- 1998-06-16 DE DE69835674T patent/DE69835674T2/en not_active Expired - Lifetime
- 1998-06-16 JP JP50484999A patent/JP4968975B2/en not_active Expired - Lifetime
- 1998-06-16 EP EP98931396A patent/EP0990205B1/en not_active Expired - Lifetime
- 1998-06-16 AU AU81539/98A patent/AU8153998A/en not_active Abandoned
-
2000
- 2000-08-04 US US09/633,021 patent/US6799221B1/en not_active Expired - Lifetime
-
2004
- 2004-09-24 US US10/949,984 patent/US7366793B2/en not_active Expired - Fee Related
-
2008
- 2008-04-28 US US12/110,459 patent/US20080201488A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2002506543A (en) | 2002-02-26 |
WO1998058315A9 (en) | 1999-04-08 |
WO1998058315A1 (en) | 1998-12-23 |
US6799221B1 (en) | 2004-09-28 |
DE69835674T2 (en) | 2006-12-28 |
CN1264476A (en) | 2000-08-23 |
EP0990205A1 (en) | 2000-04-05 |
US20080201488A1 (en) | 2008-08-21 |
DE69835674D1 (en) | 2006-10-05 |
CA2294149A1 (en) | 1998-12-23 |
US20050063401A1 (en) | 2005-03-24 |
CN1109298C (en) | 2003-05-21 |
AU8153998A (en) | 1999-01-04 |
US6112239A (en) | 2000-08-29 |
US7366793B2 (en) | 2008-04-29 |
EP0990205B1 (en) | 2006-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4968975B2 (en) | Content distribution method in distributed computer network | |
US6502125B1 (en) | System and method for optimized storage and retrieval of data on a distributed computer network | |
US6421726B1 (en) | System and method for selection and retrieval of diverse types of video data on a computer network | |
CA2269069C (en) | System and method for optimized storage and retrieval of data on a distributed computer network | |
US7035907B1 (en) | Manipulating content objects to control their display | |
US8903950B2 (en) | Personalized content delivery using peer-to-peer precaching | |
WO2001093109A2 (en) | Viewer object proxy | |
CA2410850A1 (en) | A qos based content distribution network | |
US8370420B1 (en) | Web-integrated display of locally stored content objects | |
CA2410959A1 (en) | Content tracking | |
WO2001093108A2 (en) | Content manager | |
CA2410863A1 (en) | Client side address routing analysis | |
JP2004501443A (en) | Deterministic routing and transparent destination change on the client side |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080430 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090707 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090817 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100525 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100616 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100621 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100824 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101004 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100924 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101101 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101022 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110715 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111020 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120402 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120403 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150413 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |