最盛期には、 Napster はおそらくこれまでに作成された中で最も人気のある Web サイトでした。 1 年も経たないうちに、月間訪問者数がゼロから 6,000 万人に増加しました。その後、著作権違反を理由に裁判所命令により閉鎖され、合法的な音楽ダウンロード サイトとして 2003 年まで再開されませんでした。
オリジナルの Napster は、巨大なデータベースからほぼ簡単に無料の音楽を入手できるユニークな製品を提供していたため、これほど急速に人気を博しました。音楽を入手するために楽器店に行く必要はもうありません。もう料金を支払う必要はありませんでした。 CD を頭出ししたり、それを録音するためのカセットを見つけたりすることを心配する必要はもうありません。そして、宇宙のほぼすべての曲が利用可能でした。
違法な製品を配布していたことを考えると、オリジナルの Napster の主要な弱点はそのアーキテクチャ、つまり作成者がシステムを設計した方法にありました。 Napster が著作権侵害を助長していると裁判所が判断したとき、裁判所からサイトの閉鎖命令が出されるのは非常に簡単でした。
Napster が著作権侵害を助長したという事実は、ユーザーにとっては問題ではありませんでした。そのほとんどは、 Gnutellaとして知られる新しいファイル共有アーキテクチャに注目しています。この記事では、Gnutella と古い Napster の違いについて学びます。その違いにより、Gnutella は敵対的な法的環境にも関わらず今日も存続することができています。
Napster は 2003 年に新しい親会社 Roxio によって再スタートしました。現在は合法的な有料音楽サイトであり、Napster バージョン 2 では著作権侵害はありません。
Napster のアーキテクチャ
通常実装されている Web 上には、情報を保持し、その情報に対する要求を処理するWeb サーバーがあります (詳細については、 「Web サーバーの仕組み」を参照してください)。 Web ブラウザを使用すると、個々のユーザーがサーバーに接続して情報を表示できます。トラフィックが多い大規模サイトでは、ユーザーからのすべてのリクエストをサポートするために、数百台のマシンを購入してサポートする必要がある場合があります。
Napster は、ピアツーピア ファイル共有の概念を先駆けて開発しました。 Napster の古いバージョン (Napster は 2003 年に合法的な有料音楽サイトとして再スタートしました) では、個人が共有したいファイル (通常はMP3 音楽ファイル) をハードディスクに保存し、他の人と直接共有していました。 。ユーザーは、この共有を可能にする Napster ソフトウェアを実行しました。各ユーザーマシンはミニサーバーになりました。
曲をダウンロードするために古い Napster にログインすると、次のようなことが起こります。
- マシン上で Napster ソフトウェアを起動しました。あなたのマシンは、他の Napster ユーザーがファイルを利用できるようにする小さなサーバーになりました。
- あなたのマシンは Napster の中央サーバーに接続されました。あなたのマシン上でどのファイルが利用可能であるかを中央サーバーに伝えました。そのため、Napster の中央サーバーには、当時 Napster に接続されていたすべてのハードディスク上で利用可能なすべての共有曲の完全なリストがありました。
- 曲のクエリを入力しました。 The Police の「Roxanne」という曲を探していたとします。 Napster の中央サーバーには、その曲を保存しているすべてのマシンがリストされていました。
- リストから曲のバージョンを選択しました。
- あなたのマシンは、その曲が保存されているユーザーのマシンに接続され、そのマシンから直接曲をダウンロードしました。
Napster の作成者には、このアプローチを採用する理由がいくつかありました。
- Napster は最終的に数十億曲を利用できるようになりました。中央サーバーにすべての曲を保持するのに十分なディスク容量や、すべてのリクエストを処理するのに十分な帯域幅があるはずがありません。
- Napsterは、友人同士で音楽を共有できるという著作権法の抜け穴を利用しようとしていた。 Napster の背後にある法的概念は、「これらの人々は全員、ハードディスク上の曲を友人と共有している」というものでした。法廷はその論理に同意しなかったが、ナップスターがそのコンセプトを証明し、巨大な規模に成長するのに十分な時間を与えた。
このアプローチはうまく機能し、インターネットのアーキテクチャをうまく活用しました。 Napster は、ファイルのダウンロードの負荷を数百万台のマシンに分散することにより、他の方法では不可能だったであろうことを達成しました。
曲名の中心となるデータベースは、 Napster のアキレス腱でした。裁判所が Napster に音楽の停止を命じたとき、中央データベースの不在により、当初の Napster ネットワーク全体が機能しなくなってしまいました。
オリジナルの Napster がなくなってしまったため、その時点で残っていたのは、世界中で 1 億人ほどの人々が、より多くのファイルを共有することに飢えていたということです。そのギャップを埋めるために別のシステムが登場するのは時間の問題でした。
グヌーテラのアーキテクチャ
現在、ファイルを共有するための最も一般的なシステムは、 と呼ばれる別のピアツーピア ネットワーク、または Gnutella ネットワークです。 Gnutella と古い Napster には主に 2 つの類似点があります。
- ユーザーは、共有したいファイルを自分のハードディスクに置き、他の誰もがそのファイルをピアツーピア方式でダウンロードできるようにします。
- ユーザーはGnutella ソフトウェアを実行して Gnutella ネットワークに接続します。
また、Gnutella と古い Napster の間には 2 つの大きな違いがあります。
- Gnutella ネットワーク上で利用可能なすべてのファイルを認識する中央データベースはありません。代わりに、ネットワーク上のすべてのマシンが、分散クエリ手法を使用して利用可能なファイルについて相互に通知します。
- Gnutella ネットワークにアクセスするために使用できるさまざまなクライアント アプリケーションが多数あります。
これら両方の機能があるため、単純な裁判所命令で Gnutella を閉鎖することは困難です。裁判所は、人々の共有を阻止するために、ISP およびインターネットのバックボーン レベルですべての Gnutella ネットワーク トラフィックをブロックする方法を見つける必要があります。
Gnutella クライアント
オリジナルの Napster には 1 つの「クライアント ソフトウェア」、つまりユーザーが Napster サーバーにアクセスするためにマシン上で実行するソフトウェアがありました。 Gnutella には数十のクライアントが用意されています。人気のある Gnutella クライアントには次のようなものがあります。
- WinMX
Gnutella クライアントが曲を見つける方法
利用可能なすべてのファイルの名前と場所を保存する中央サーバーがないことを考えると、あなたのマシン上の Gnutella ソフトウェアはどのようにして他の人のマシン上の曲を見つけるのでしょうか?プロセスは次のようになります。
- 検索したい曲またはファイルの名前を入力します。
- あなたのマシンはネットワーク上のどこかに少なくとも 1 台の他の Gnutella マシンを知っています。これは、ユーザーがIP アドレスを入力してマシンの場所を伝えたか、ソフトウェアに Gnutella ホストの IP アドレスが事前にプログラムされているため、これを認識します。マシンは、ユーザーが入力した曲名を Gnutella に送信します。認識しているマシン。
- これらのマシンは、要求されたファイルがローカル ハード ディスク上にあるかどうかを検索します。そうであれば、ファイル名 (およびマシンの IP アドレス) を要求者に送り返します。
- 同時に、これらすべてのマシンが接続されているマシンに同じリクエストを送信し、このプロセスが繰り返されます。
- リクエストにはTTL (存続時間) 制限が設定されています。リクエストは、伝播が停止する前に 6 レベルまたは 7 レベルの深さまで送信される場合があります。 Gnutella ネットワーク上の各マシンが他のマシンを 4 台しか認識していない場合、リクエストが 7 レベルの深さに伝播すると、Gnutella ネットワーク上の他の 8,000 台ほどのマシンにリクエストが到達する可能性があることを意味します。
これは、クエリを何千ものマシンに迅速に分散するための非常にシンプルで賢い方法です。
このアプローチには 1 つの大きな利点があります。それは、 Gnutella が常に動作することです。 Gnutella ソフトウェアを実行している少なくとも 1 台の他のマシンにアクセスできる限り、ネットワークにクエリを実行できます。すべてを制御する単一のマシンは存在しないため、このシステムを停止する裁判所命令はありません。ただし、Gnutella には少なくとも 3 つの欠点があります。
- アクセス可能な 8,000 台のマシンのいずれかに必要なファイルがあるという保証はありません。
- ファイルのクエリでは、完全な応答が得られるまでに時間がかかることがあります。 7 レベルの深さのすべての応答が受信されるまでに 1 分以上かかる場合があります。
- あなたのマシンはこのネットワークの一部です。リクエストに応答して渡し、その過程でレスポンスもルーティングします。他のすべてのユーザーからのリクエストを処理するために、帯域幅の一部を放棄します。
人々は何億もの Gnutella クライアントのコピーをダウンロードしているため、明らかにこれらの欠点は軽微です。
XoloX の例: 検索
これは、Gnutella ネットワークに接続するための典型的で非常に単純なプログラムです。より洗練されたクライアントの追加機能の一部はありませんが、機能し、ダウンロードするファイルが小さく (わずか 600キロバイト程度)、「スパイウェア」やバンドルされたポップアップ広告が混ざっていません。インストールと使用が非常に簡単です。そのシンプルさは、典型的な Gnutella クライアントがどのように動作するかを示すのに役立ちます。
XoloX でできることは 3 つあります。ファイルの検索、マシンへのファイルの転送、ダウンロードしたファイルの確認です。 XoloX ウィンドウの上部には 3 つのボタンがあり、これら 3 つのアクティビティを切り替えることができます。
上の図は、検索中の一般的なスクリーンショットを示しています。探しているファイルの名前 (またはキーワード) を入力するだけです。ファイルの種類 (オーディオ、ビデオなど)、または「すべての種類」を選択することもできます。 XoloX クライアントは検索文字列を含むメッセージを送信し、30 ~ 60 秒かけて、検索ウィンドウがクエリを処理している他の何千ものマシンからの結果でいっぱいになります。
検索ウィンドウで気づくことの 1 つはスコアです。スコアは、同じファイルを利用できる現在オンラインのマシンの数を表します。スコアの高いファイルを選択すると、必要なファイルを実際に入手できる可能性が高くなります。
XoloX の例: ダウンロード
ファイルをダウンロードするには、検索ウィンドウでファイルをダブルクリックするだけです。これにより、ファイル名が「転送」ウィンドウに送信されます。ファイル名が転送ウィンドウに入ると、XoloX のコピーがピア マシンに接続してファイルをダウンロードします。 XoloX/Gnutella の優れた点の 1 つは、複数のマシンで使用可能なファイルがある場合、クライアントはそれらの複数のマシンに同時に接続して、ファイルを非常に迅速にダウンロードできることです。以下の図では、特に Filename1.avi がこの機能を利用して、1 秒あたり 69.2 キロバイトの速度でファイルをダウンロードしていることがわかります。 XoloX は、100 メガバイトを超えるダウンロードが完了するまでに 43 分かかると見積もっています。
ダウンロードするファイルを選択しても、何も起こらないことがよくあります。つまり、XoloX はファイルがあるマシンに接続できないか、ファイルを保持しているマシンがすでに他の人を助けるために忙しいということです。この問題は、待つか (最終的にビジー状態のマシンが非ビジー状態になる可能性があります)、スコアの高いファイルを選択するか (非ビジー状態のマシンが見つかる可能性が高くなります)、または転送ウィンドウからどこにも行かないファイルを削除して置き換えることによって解決できます。検索ウィンドウから同一のファイルを検索します。
マシン上にファイルを保存すると、XoloX ディレクトリと XoloX の [ファイル] ウィンドウでファイルを見つけることができます。必要に応じて、ダウンロードしたすべてのファイルを他の人と共有できます。これを行うには、まず [環境設定] ダイアログで共有するディレクトリとファイルの種類を指定します。
また、ユーザーがファイルをダウンロードするときに XoloX が消費できる送信帯域幅の量を制御することもできます。
これにより、人々がアップストリーム帯域幅をすべて使い果たすことを防ぐことができます。
グヌテラは合法ですか?
Gnutella 自体は合法です。パブリック ドメイン ファイルの共有を禁止する法律はありません。その使用が違法となるのは、著作権で保護された音楽や映画を配布するために Gnutella を使用する場合です。これが Napster を苦境に陥れた問題です。音楽業界は公式に Gnutella について怒っていますが、現時点ではこれを制御する簡単な方法はありません。
Gnutella アーキテクチャを攻撃することは、ファイル共有アクティビティを妨害する 1 つの方法です。現在、次の 2 つのアプローチが使用されています。
- 偽の検索パケットの洪水により Gnutella ネットワークに過負荷がかかります。
- Gnutella サーバーに破損したファイルがいっぱいになる。
Gnutella の多くの開発者は過去の問題に適応してきたため、新しいソフトウェアがこれらの脅威を回避してファイルの流れを維持できる可能性があります。
現在議論されているのは、ファイル共有が実際にどれだけの経済的損害を引き起こすかということだ。共有ファイルは窃盗なのでしょうか、それともラジオの放送時間と同じように、無料の広告や露出の一種なのでしょうか?
ニュース
- – 10/04
- – 4月4日
- – 4月4日
- WiredNews: Roxio が Pressplay を買収、Napster は存続 – 5/03
- – 2007 年 7 月
- – 2007 年 7 月
- – 2005 年 5 月
- – 5/00