| Bottom | Home | Article | Bookshelf | Keyword | Author | Oxymoron |


Peer-to-Peer Summary

Cat: ICT
Pub: 2001
#: 0107a

Andy Oram



Peer-to-Peer Summary

ピア・ツー・ピア サマリー

Andy Oram Andy Oram


  1. Prologue:
  2. Advent of P2P:
  3. Definition of P2P:
  4. Evolution of P2P:
  5. Meme Map of P2P:
  6. Toward Smart P2P Society:
  7. About "Gnutella":
  8. Napster vs. Gnutella:
  9. How Gnutella works:
  10. Leaders of P2P:
  1. プロローグ:
  2. P2Pの登場:
  3. P2Pの定義:
  4. P2Pの進化:
  5. P2Pの遺伝子マップ:
  6. スマートP2P社会へ:
  7. Gnutellaについて:
  8. NapsterとGnutella:
  9. Gnutellaの仕組み:
  10. P2P分野のリーダ:
  • Following is a report of the latest P2P situation summarized in summer 2001, and made presentation at Glocom, IUJ.
  • References:
    1. "Peer-to-Peer" Edited by Andy Oram, O'Relly, 2001
    2. "Sneaky Network Exponential", by David Reed,
    3. Jnutella Developers Workshop, NTT Mirai Laboratory
    4. "The Grid" Edited by Ian foster & Carl Kesselman, 1999
  • 2001年8月に、以下参考文献を基に、P2Pの現状をまとめて、国際大学Glocomでも発表した。
  • 参考文献:
    1. "Peer-to-Peer" Edited by Andy Oram, O'Relly, 2001
    2. "Sneaky Network Exponential", by David Reed,
    3. Jnutella Developers Workshop, NTTみらい研究所
    4. "The Grid" Edited by Ian foster & Carl Kesselman, 1999

>Top 0. Prologue:

  • The idea of peer-to-Peer ("P2P") is emerging to mark a new step toward future evolution of the Internet. The first step was the advent of "email", the second was "WWW", then the third is "P2P." It is epoch-making that P2P is not only a new type of useful application, but also adds value of the network, shaping future direction of the networked society. This could be expressed in Apollo-11 way: "P2P is one small step for a user, one giant leap for the Internet."

0. プロローグ:

  • Peer-to-Peer (以下P2P) Applicationは、インターネットの進化の新たなステップである。第1ステップが電子メール、第2ステップがWWWとすると、第3のステップがP2Pである。 P2Pは、新しいタイプのアプリケーションであるばかりでなく、ネットワークの価値を引き出し、将来のネットワーク社会の進化の方向を示している点で画期的である。アポロ11号的に言えば、P2Pはユーザ個人にとっては小さな一歩だが、インターネットにとっては偉大な一歩である。

>Top 1. Advent of P2P:

  • P2P has erupted since summer in 2000:
    Development and debate about P2P application broke out in US since last summer in 2000. This phenomenon occurred having relations to;
    1. explosion of bandwidth like broadband trend of the Internet,
    2. trend of digitalization of contents causing fusion of telecommunication and broadcasting,
    3. shift of initiatives of information flow to the consumer expressed like "Control Revolution",
    4. increase of alternatives and voices of customer in economics such as "Permission Marketing", "Customer Relationship Management", "One-to-One Marketing", and
    5. increase of social functions of NPO and NGO.
  • P2P originally means "Peer-to-Peer" (=equal standing each other), but we can add figurative meaning of "People-to-People", or "Power-to-People." Furthermore very rapid improvement of the technology suggests meaning of "Progress-to-Progress."
  • >Top P2P in itself:
    Internet was fundamentally designed as Peer-to-Peer system such as File Transfer Protocol (FTP), Telnet, Usenet, Domain Name System (DNS), Unix-to-Unix Copy Protocol (UUCP), etc.
    Thereafter as increase of the users of Internet, from later half of 1980s, security issue became more important, necessitating Firewall, Dynamic IP, Network Address Translation (NAT) to install Intranet, as well as inducing additional guarantee, management, and layered structure for commercial usage like Quality of Services (QoS)
    Just then, controversial issues sprouted up who controls and sponsors Internet; autonomous organization or finally nation-state, together with the issues of sovereignty of telecommunication, taxation, export of encryption, Decent Act of Telecom, etc. It looks like a war for authority of Internet between a camp of Server-Clinet versus that of Peer-to-Peer.
  • >Top Change of Bandwidth:
    Regarding to interactivity, limited channels in terrestrial broadcasting expanded to use more satellite and cable TV channels, including challenges to more telecom-like services such as Video On Demand, or Stream works over Internet. In telecom sphere, telephony has been the core service, which is voice-centric interactive one-to-one communication, but also enforced to use as access connection via modem to the Internet. Users have urged to connect always to the Internet with flat-rate tariff. For more broadband connection, it is getting popular ADSL (Asymmetric Digital Subscriber Line) and Cable Modem using cable TV line, though both remain still middleband range, switching ISDN anymore. However, it still contained a kind of restriction; asymmetric bandwidth for the Internet with narrower upload and broader download capacity, which seemed enough for Web surfing.
  • >Top P2P Again:
    It has been a dream that quick deployment of Fiber-to-the-home (FTTH) to realize full-scale Internet environment with always-connected, broadband, symmetric band usage. Symmetry in bandwidth is particularly important to realize self-publishing like authoring and publishing information over the Internet. P2P aims to revive no difference between the function of server and client.

1. P2Pの登場:

  • P2Pは2000年夏から:
    P2P Applicationについては、米国中心に2000年夏より注目されてきた。P2Pの概念は、
    1. それを可能にするInternetの帯域の爆発的な拡大、
    2. 通信・放送の融合化傾向、
    3. 情報の流れやコントロールを変えようする動き(Control革命) 、
    4. 経済分野でも顧客の選択肢と発言権の増大 (Permission marketing, CRM, One-to-Oneなど) 、
    5. さらにはNPOやNGOの社会的な役割の増大などと密接に関連している。
  • P2Pは、"Peer-to-Peer"が原義であるが、"People-to-People"、あるいは"Power-to-People"の側面を持つ。また技術的には、いわば "Progress-to-Progress"のように進化が加速している面も見逃せない。
  • もともとP2P:
    インターネットは、当初のネットワーク・アーキテクチャが本来的には、Peer-to-Peerであった。 (FTP, Telnet, Usenet, DNS, UUCPなど)
    その後、ネットワークの利用拡大に伴い、1980年代後半からセキュリティが注目され、FirewallやDynamic IP、NAT(Network Address Translation) が普及し (Intranet)、同時にQoSなど利用目的に応じた保証と管理と階層構造が導入された。
  • 帯域の変化:
    双方向性に関しては、地上はの数少ないチャネルの選択からより多くのチャネルの時代 (衛星放送、CATV) へ移行し、任意の時間のリクエストによるサービス (VOD、インターネットでのStream works等) など通信的な要素を取り入れてきた。通信の世界では、音声専用の1:1双方向通信の電話が中心であったが、これをインターネット接続するにはモデム接続を余儀なくされてきた。ユーザはインターネットへの常時接続を固定料金で強く望んでいた。また広帯域化の動きとしては、ADSLやCable Modem (まだ中帯域だが) への利用が広がり、ISDN接続は不人気となった。しかしまだ制限がある。下りに比べて上りが狭いという非対称の接続方法である。これは、Webを検索する目的としては十分と考えられてきた。
  • 再び、本来のP2Pへ:
  • >Top More competition and dilemma:
    Broadband environment for P2P can accelerate 'Everything on IP' including Voice over IP (VoIP); which will give serious impact on existing common carriers into changing their service menu, as they have maintained hierarchical guarantee-based switched network for long years. What would happen if PSTN was replaced by VoIP regarding to their universal service, or Digital Divide issue? And what would be the robust analog telephone service with power feeder which is independent on home electricity?
    There is another dilemma in mobile telephone; the bandwidth is obviously too limited for mobile telephone to allow always-connected and broadband usage. Mobile Internet system forms a bottleneck at the gateway servers due to its network topology. The Internet and the mobile Internet are alike in appearance but different in nature. Mobile Internet is easy to charge fee, but difficult to defend SPAM or annoying mails. (It is controversial in Japan that iMode service charges for even receiving email.)
    Broader band service by next generation of mobile (IMT2000) may cause another dilemma; weather to reduce tariff rate including voice which enforce to deteriorate company profit, or to maintain relatively expensive tariff which may adversely effect new services. Furthermore wireless LAN (802.11 series) service will sure to compete with such mobile Internet particularly in central urban areas.
  • Definition of Broadband:
    Broadband network has broader meaning of definitions. It should be bandwidth of 4-5Mbps which can receive movie data without irritation. To realize this, 10Mbps Ethernet, or more properly 100Mbps Ethernet for exclusive use will be necessary. Therefore, connection via ADSL or Cable Modem should be only middleband range, though they are speedier than the present 64Kbps or 128Kbps ISDN. To realize real broadband services, FTTH environment will be indispensable together with in-house cabling by optical fiber, Ethernet, or wireless LAN.
  • CompetitionとDilemmaの激化:
    P2Pが実現するような広帯域環境では、"Everything on IP"、特にVoIPが促進される。これは、階層的な帯域保証の交換網を維持してきたコモンキャリアにとって、主たるサービスの変更を意味する。電話がVoIPに取って代わる時、ユニバーサルサービスやデジタルデバイドの問題はどうなるのか。現在の電話の持つ給電など、家庭での電気事情に依存しない現在のアナログ電話の堅牢さは、どう代替されていくのだろうか。
    さらにまた携帯電話の市場でもジレンマを抱えている。携帯電話では帯域上、常時接続や広帯域化には限界がある。モバイル・インターネットにおいても、ネットワークの構造上、Gateway構築にボトルネックが生じており、インターネットの世界と似て非なる状況とならざるを得ない。これは課金が容易である反面、迷惑メールやSPAM攻撃に対し有効な対策が非常に困難である。 (日本では、iModeでメールを受信するだけで課金されることが大問題になっている。) また次世代携帯による広帯域化(IMT2000) に伴い、課金政策上のジレンマ、即ち、音声サービスを含む利用料金の低下による経営の悪化、さもなくば、利用料金が高額となり普及が妨げられる。また都市中央部では、無線LAN (802.11シリーズ)との競合も間違いなく生じる
  • Broadbandの定義:
    ブロードバンドネットワークは、いろいろな定義があるが、動画をストレスなく受信できる帯域幅、即ち実効4-5Mbps程度以上とする。実際には、10Mbpsのイーサーネット、理想的には100Mbpsのイーサーネット程度が専用できる環境をいう。従って、ADSLやCable Modemは、現状のISDNの64Kbpsや128Kbpsに比べれば、ミドルバンドに過ぎず、ブロードバンドとは言えない。ブロードバンドは、FTTHが実現し、各宅内がOptical Fiber、Ethernet、無線LAN等で配線されている状況を想定している。

>Top 2. Definition of P2P:

  • Red dot is hybrid p2pserver, while blue dot is client.
  • The left is Server-Client type. (E.g. Web)
  • The center is Hybrid or Semi-centralized application, where the server has only directory of information. The clients, getting directory information from the server, begins to download the information between the relevant clients. (E.g. Usenet, NNTP, Instant message, Napster)
  • The right has no server function. The client also holds server function (called "servent"). Retrieval and downloading of files occurs between the clients. (E.g. Gnutella) Message for searching is broadcast, while it is communication in downloading between the clients along the responded route.
  • Practical solution of P2P network:
    P2P is emphasized of having no centralized server, but it is more essential to be able to communicate concurrently searching the target without prior knowledge. (Dynamic and smart query)
    "Hybrid-P2P is also called as "semi-centralization", or "soft centralization". It is one of the practical solution in such intermediate network architecture, which would be a necessary passage of evolution from Server/Client to P2P architecture. After the appearance of Napster as Hybrid-P2P, Gnutella was developed as a pure-P2P system, which tries to require additional functions like user authentication with the help of "Hypbrid-P2P" architecture. (Phenomenon of "P2P curve", or "P2P boomerang")

2. P2Pの定義:

  • 赤丸はサーバ、青丸はクライアントである。
  • 左端はServer/Client型 (例:Web)
  • 中央は、サーバにクライアントの情報のDirectoryのみを持ち、ダウンロードはクライアント間で行うHybridあるいはSemi-centralized application (例:Usenet (NNTP), Instant message, Napster)
  • 右端は、サーバの機能がない。 (クライアントはサーバの機能を兼ねる(Servent)。ファイルの検索・ダウンロードもクライント間で直接行う。 (例:Gnutella)
  • P2Pネットワークの現実解:
    P2Pは、中央のサーバがないことが強調されているが、実際には、固定的なサービスの存在を予め知らなくても、実行時にダイナミックに通信相手を予備知識なして目標を検索できる点がもっと重要な点である。 (ダイナミックでスマートな検索)
    また、"Hybrid-P2P"は、別名"semi-centralization"、あるいは"soft centralization"とも呼ばれ、この中間的なネットワークの中に、Server/ClientからP2Pに向かうネットワーク進化上、通過しなければならない現実解を見ることができる。 Hybrid-P2PであるNapsterの後で、Pure-P2PであるGnutellaが開発されたが、今後は、再びユーザ認証などをHybrid-P2Pのサーバで行うような動きがでてきている。 ("P2P curve"あるいは"P2P boomerang現象")

>Top  3. Evolution of P2P:

  • The left chart indicates the three directions of evolution of P2P PDC_techapplication; the three axes are; 1) People 2) Data , and 3) Computer. The P2P application is developed placing emphasis on each factor.
  • 1) People-axis;
    People means chase of possibility of encounter with unknown human beings as a target of sending and receiving of information, assurance of easy communication medium with already-known people, and frequent exchange with business customer and partners. Instant Messaging like ICQ is one of typical P2P application, enabling instant contact with various combination of groups of people on the network.
    Animals, including human species, are essentially mobile, having special concern and adherence to its "locality", as well as having interest in global relationship (=could be expressed as "Glocal"). Consequently, people have ceaseless desires to have exchange of information and resources in both real and virtual environment. This is a challenge to heterogeneity and novelty, notwithstanding wedded to homogeneity and maintenance of the status-quo. Such ambivalence will produce basic energy to develop P2P applications.
    The essence of eBusiness is pursuit of effective matching between sellers and buyers in the market, because humans represents almost all economic value and are major consumers. Business sphere has carefully watched the trend of interest of people through communication like chat, special interest group (SIG), and mailing list (ML) as well as current email and Web. Auction site on the Internet is a kind of P2P-oriented business.
    Also such media have supported peoples' activities of virtual corporation or virtual organization transcending physical time and distance. Today's activities of NPO and NGO could not have flourished without use of the Internet.
  • 2) Data-axis:
    This axis means usefulness of access to distributed database; such as broadcast research query, and file transfer, storage of backup files, collaboration of making digital product using distributed sources and skills. Information is effectively stored and condensed in the forms of database, archives, libraries, published information or digital commodities, usually in the distributed environment. And even locations of the necessary information are separated from where humans live, the network can realize integrate them by retrieval on the network.
    The Internet has developed various convenient searching tools like Fetch, Gopher, Anarchie, then browsers as current killer application. Now new P2P file sharing idea has appeared like Napster, Gnutella, Freenet, etc.
    XML technology is focussed as standardization of database utilization technology.
    Furthermore, the issue of digital copyright is getting critical how to balance the creators' incentives and effective utilization of contents. The idea of "Copyleft" should be more studied to maximize contents flow in coming P2P environment.
  • 3) Computer-axis:
    This axis means power of collaboration of redundant capacities of distributed computers and devices; because the Internet succeeded to connect enormous number of computers with redundant capacity. These virtual collaboration of distributed CPU powers can function like a virtual super computer. There are several research programs have already performed in the scientific research fields which need huge capacity of computation; SETI@home and other medical research are typical such examples.
    Capacity of CPU and memory storage of computers are rapidly growing. And PDA, Mobile telephone, and various appliances are diversified coexisting with computers. Expansion of bandwidth may bring more drastic changes than the growth of CPU capacity; always-connected wired environment will be common, and the shift to next generation IPv6 from the present IPv4 will be soon unavoidable.

3. P2Pの進化:

  • 左図は、P2Pアプリケーションの進化を3つの方向でイメージした。3つの軸とは、人間 (People) と情報 (Data) とコンピュータ力 (Computer) である。これらの要素の組み合わせにに基づいて、P2Pアプリケーションが開発されている。
  • 即ち、1) Peopleの軸とは、情報の受発信相手としての未知の人間との出会い、既知の人間との容易な通信手段の確保、ビジネスの顧客・パートナーとの頻繁な交流を意味する。 ICQなどインスタントメーセージングは、P2Pアプリケーションのひとつの典型であり、ネットワーク上のさまざまな組合せでのグループの人間との簡便なコンタクトを目的としている。
    特に、人間を含む動物はは本質的にMobileな存在であり、それぞれのLocalityへの関心やこだわりを持つと同時に、Globalな関係をも維持し、 (即ち、"Glocal"な存在であり) 、その結果として人々は、RealにせよVirtualせよ情報・資源交流を可能にしたいという欲求を常に持ち続ける。これは、人々が同質性や現状維持にこだわると同時に、異質性や新奇性への挑戦願望をもっていることによる。このようなAmbivalentな存在こそが、P2Pの進化の根源エネルギーとなっている。
    さらに、これらのメディアは、時間空間を超えてVirtual Corporation、Virtual Organizationの人々の活動を支えてきた。 今日のNPO, NGOの隆盛もインターネットの活用なくしてはあり得ない。
  • 2) Dataの軸とは、分散データベースへアクセスすることの効用である。例えば、一斉同報検索、ファイル転送、バックアップファイル保管、分散している素材や技能によるデジタル製品の協同作業など。 情報は、種々のデータベース、アーカイブ、図書館、公開情報、あるいはデジタル情報や商品の形で、通常は分散環境に効率的ない保管・凝縮されている。たとえ必要な情報が人間が仕事する場所と離れていても、ネットワークで迅速に遠方で分散している情報を検索することでそれらを統合できる。
    インターネットは、種々の便利な検索ツールを発達させてきた。例えば、Fetch、Gopher, Anarchieから現在のキラーアプリであるBrowser。そして今や新たにP2Pファイル共有の考えが登場し、ファイル共有システムが登場した。XML技術は、データベース活用技術の標準化として注目されてきている。
    さらに、創作意欲の維持とコンテンツの有効活用の観点からDigital Copyrightの課題は急務である。また"Copyleft"の考えも、P2P環境でのコンテンツ利用の拡大を図る上でさらに研究すべきである。
  • 3) Computerの軸とは、分散しているコンピュータやデバイスの余剰処理能力で協業する力を意味する。なぜならば、インターネットは巨大な数の余剰能力のあるコンピュータを接続することに成功してきた。これらの分散しているCPU力を合わせる仮想的なスーパーコンピュータのようない機能する。すでに巨大な計算能力を必要とする科学研究の分野ですでに実施されている。 SETI@homeや癌など医療研究分野はその典型的な事例である。
    これからも、ComputerのCPU能力は飛躍的に向上し、メモリー容量も拡大していく。一方、PDAやMobile telephoneやApplianceへと多様化な進化をしてコンピュータと共存していく。帯域の拡大 (Broadband化) は、CPU能力以上に劇的な変化が起こる。有線環境では常時接続が一般的となり、現在のIPv4から次世代のIPv6への移行は早晩避けがたい。

>Top 4. Meme Map of P2P:

The left chart shows P2P Meme Map, where "meme" means a kind of gene of thought. Three axes are the directions of evolution: "People", "Data", and "Computer".

  • File Sharing: (Napster, Gnutella, Freenet)
    Napster is not a pure P2P system because it depends on directory service of a central server, while Gnutella and Freenet are decentralized systems.
    The real innovation of Napster is to make any consumer also becomes a producer of files for the network. Once you download a file, your PC is available to pass along the file to other users. Such automatic "pass along" participation decentralizes file storage and network bandwidth.
  • IP Routing: (Usenet, UUCPnet, UUnet):
    Usenet was originally carried over the informal, P2P dial-up network known as UUCPnet. Sites agreed to phone each other, and passed mail and news from site to site in a store-and-forward network. Over time, some sites were better connected than others; they became de facto "Usenet backbone", later called "UUnet" adding TCP/IP services as the first commercial Internet Service Provider (ISP).
  • Metadata: (RDF)
    The core of the Word Wide Web Consortium's (W3C) metadata vision is a concept known as the Semantic Web. This is not a separate Web from the one we currently weave and wander, but a layer of metadata providing richer relationships between the the disparate resources we visit. Resource Description Framework (RDF) is XML serialization syntax for describing resources, turning those flat hyperlinks into arcs, allowing us to label not only the endpoints, but ascribe meaning to the relationship between the two resources at hand.

4. P2Pの遺伝子マップ:

  • P2Pアプリケーションの発展型を展望すると、PeopleDataComputerの3つの方向に沿ったP2Pアプリケーションが登場している。 (上図参照、なお"Meme"とは思想的因子)
  • File Sharing: (Napster, Gnutella, Freenet等):
    中央のサーバがfile directory機能などで情報交換の仲介を行うで、厳密にはP2P systemとは言えない。GnutellaやFreenetは、このような中央サーバの機能がない。Naspterの革新性は、Napsterのconsumerが自動的にproducerの機能を有することである。
  • IP Routing: (Usenet, UUCPnet, UUnet):
    Usenetは、元々P2P的な非公式なダイヤルアップ接続するUnix-to-Unixe Copy Protocol Net (UUCPnet)として始まった。サイト同士が互いに電話をかけて、メールやニュースを蓄積交換方式で相互転送した。他よりよく接続されるネットワークは自ずから"Usenet backbone"となり、後に"UUnet"として、TCP/IPサーバを加えて、最初のcommercialなISPになった。
  • Metadata: (RDF) :
    W3Cでのmetadata分科会での中心課題は、意味のあるWeb (Semantic Web) として知られる概念である。これは現在、我々が検索したり迷ったりしている孤立したWebではなくて、我々が訪問するばらばらのリソースの間にもって豊富な関係を記述するメタデータ層を有するということである。Resource Description Framework (RDF)はリソースを記述するXMLでのシンタックスであって、今までの平坦なハイパーリンクをいわば弧状にして、両端の情報だけでなく、2つのリソース間の関係情報を記述する。
  • >Top
  • Distributed computation: (SETI@home)
    Served from the Space Sciences Lab at U.C. Berkeley, SETI@home runs as a screensaver that uses distributed redundant capacity of more than 1 million PCs to process radio telescope data in search of signs of extraterrestrial intelligence. This is asymmetric client/server architecture, where clients download their data sets and upload their computed results to the central server. But the clients are active participants, not just passive "browsers." Hundred of millions of interconnected PCs that have hitherto been largely passive participants; they are called "the dark matter of the Internet."
    Both distributed file sharing and distributed computation are aspects of a new world ,where the whole is much greater than the sum of its parts.
    Millions of PCs and P2P technology are equivalent to ten times of capacity of the latest super computer; 50 Tera-FLOPS. There are other similar application in medical research fields such as development of medicine for leukemia.
  • Instant message: (AIM, ICQ, Groove, Jabber)
    Instant messaging is similar to Napster model; in each case, a central server manages an addressing and identification of users. Napster can be thought of as an instant messaging system only with such difference; "Are you online and do you want to chat?" but, "Are you online and do you have this song?"
    Jabber and Groove provides an XML routing infrastructure that allows for the formation of ad hoc peer groups. These can share not only files and chat, but a wide variety of application such as replication, security and so on.
    Groove, developed by Ray Ozzie's Groove Networks, will be so-called P2P version of Lotus Notes; allowing to furnish customer support, eLearning, collaboration between different vendor's software over the Internet, but requires brokerage function of the central server to find a partner and to set up links between the nodes.
    Microsoft plans to integrate this IM software function into their latest Windows-XP, aiming to monopolize distribution of various services and collection of customers' profile by this online directory service.
  • Distributed computation: (SETI@home)
    U.C. BerkeleyのScience Labが提供するデータを、分散しているコンピュータの余剰処理能力(100万台以上のPC) を活用して、スクリーンセーバとしてSETI@homeを動かして、電波望遠鏡のデータを解析して地球外知的生命の兆候を調査している。これは非対称なクライアント・サーバであり、クライアントはデータを受信して計算結果を中央のサーバに送信する。しかし、クライアントは、単に受け身に単にブラウズしているのではなく積極的な参加者なのだ。何億台というPCはいままではほとんどが受け身の参加者であった。これらのPCは「インターネットにおける暗黒物質」と呼ばれていた。分散ファイル共有と分散コンピュテーションは新たな世界を切り開くものである。それは、部分の集合よりも全体の方がずっと大きいことを示している。
    数百万のPCとP2P技術は、現在最高速のスーパーコンピュータの約10倍、50 Tera-FLOPSの性能を実現している。 他の応用事例としては、白血病治療薬の開発など医療研究分野がある。
  • Instant message: (AIM, ICQ, Groove, Jabber)
    Napster同様に、Instant messagingは、中央サーバがaddressing, ユーザのidentificationなどの機能を行う点では似ている。即ち、"Chatをしませんか"というのと"このFileを持っていませんか"というのとの相違に過ぎない。
    JabberやGrooveの場合は、さらにXML routing infrastructureを使って、ad hoc peer groupを作成し、chatやfile交換だけでないreplicationやsecurityなどの種々のapplicationを共有することができる。
    Grooveは、いわばLotus NotesのP2P版であり (Lotus Notesの開発者であるRay Ozzie氏のGroove Networksが開発) 、インターネットを介して、カスタマーサポート、オンライン学習、異なるベンダーのソフトウェア間での共同作業が可能なP2Pソフトウェア製品である。但し、Napster同様、相手を発見するためにノード間リンクをセットアップする仲介人は必要になる。
    Microsoftは、次期OSであるWindows-XPにこのIMソフトを組み込み、Online Directoryの支配によって、サービスの配信や顧客データの収集を独占することを狙っている。
  • >Top
  • Writable Web: (EditThisPage, Trellix, Blogger, Wiki):
    The Web was originally designed by Tim Berners-Lee to share their research data, but later it was recast into a publishing medium which attracts million of passive consumers. To this day, there is a strong P2P element in the Web architecture; hyperlink can point to any other site on the network, without central intervention and without the permission of the site being pointed to. Now Web browser became a kind of universal client which can link to any Internet resource. Initially Web were competing with FTP, Gopher, and WAIS, but eventually, through CGI, the Web became an interface to any information resource. Mailto and news links even provide gateways to mail and Usenet. But there is still fundamental flaw in the Web; there is gap like heaven and earth: i.e. smaller number of Web server and many Web browsers.
    There is an innovation of creating web sites that are writable by anyone in an area set aside for public comment on a given topic.
  • Writable Web: (EditThisPage, Trellix, Blogger, Wiki):
    Webは、当初は研究データを共有するためにTim Bernerd-Leeが設計したものだったが、後に、書き直され何百万の受動的なユーザを引きつける出版メディアとなった。今日に至るまで、Webの構造にはP2Pの要素が強く見られる。ハイパーリンクによってネットワーク上の他のサイトを、中央サーバの仲介や、対象とされたサイトの了解なしに指し示すことができるからである。今やWebブラウザは、どのインターネット上のリソースともつなぐ普遍的なクライアントソフトウェアとなった。当初Webは、FTP、Gopher、WAISと競合していたが、結局CGIを通じて、Webはどの情報リソースへのインターフェイスとなった。MailtoやNews linksは、電子メールやUsenetのゲートウェイともなった。しかしながら、Webには根本的な欠陥がある。それは少数のWebサーバと多数のWebブラウザという、いわば天と地のようなギャップである。
    そこでWritable Webが作られて、だれでも与えられた話題についての一般のコメントを自由に書き込める領域を用意したのである。
  • >Top
  • Server-to-Server: (.NET, SOAP, UDDI, XML-RDC)
    Perl has been widely used to build interfaces to Web sites that do "screen scraping"; addressing to particular URL with static information with the clue of static DNS database.
    SOAP (Simple Object Access Protocol) makes this process more explicit, turning Web sites into peers; enabling to trace dynamically available nodes without prior knowledge about the fixed URL.
    In order for Web clients and servers to use others as resources, they need a standard way to discover each other, the way Java-enabled devices discover each other through Jini; such initiative is called UDDI (Universal, Description, Discovery, and Integration).
    Microsoft.NET envisages to integrate their products and services via ".NET platform" supposing all devices are to be connected to the Internet. ("Office" software will be an ASP application.) Also Microsoft published new language called C# as the development tool.
  • Server-to-Server: (.NET, SOAP, UDDI, XML-RDC)
    SOAP (Simple Object Access Protocol) は、このプロセスをもっと精緻にして、WebサイトをPeerにした。つまり固定的なURLを予め知らなくてもダイナミックに 利用可能なサイトに探すことができる。
    Webクライアントとサーバがそれぞれ相手をリソースとして利用するためには、相互に発見するための標準的な方法が必要となる。Java搭載のデバイスが相互に発見するためにJiniを利用したようにである。このような方法がUDDI (Universal, Description, Discovery, and Integration)といわれる仕組みである。
    なお、Microsoft.NETのビジョンは、すべての情報機器がインターネットに接続されることを前提にして、同社の製品・サービスを包含する".NETプラットフォーム"の構想をもっている。 (OfficeもASP化される) このためのソフトウェア環境として、C#という新たな言語を発表した。
  • >Top
  • Networked Devices: (BlueTooth, Jini, Jxta)
    Computing devices are some fixed, some mobile, some embedded in a variety of appliances. We need technologies that allow the formation of ad hoc peer groups between devices. BlueTooth and Jini are such technologies; when I walk into a room with my wireless laptop, and it queries other devices; "Are there any printers here?" Key technologies include resource discovery, reliability through redundancy, synchronization, and replication.
    Sun's slogan "The network is the computer" is now coming true by P2P technologies. Succeeding idea came out by J-Spaces, "The space is the computer."
  • Networked Devices: (Bluetooth, Jini, Jxta)
    コンピュータのデバイスは 固定、移動、あるいは種々の情報機器に埋め込まれている。我々は、その都度適宜デバイス間でPeerグループを作れるような技術を必要としている。BlueToothJiniはこのような技術である。例えば無線のノートPCを持って部屋に入ると、PC自身が「ここにプリンタはないのか」と探すようになる。キーとなる技術としては、利用するリソースの発見、リダンダンシーによる信頼性向上、ファイルの同期や複製である。
    Sunのスローガンである"The network is the computer."がまさにP2Pによって実現しようとしている。さらに、"The space is the computer"の考えをJ-Spacesが唱えている。Bluetoothは、様々な環境にある (固定、移動、アプライアンス) に対し、ad hoc peer groupによってデバイス間の接続を実現する。例えば、ノートPCを移動して、その場所にあるプリンタを借用してプリントアウトするなどが可能になる。このキーとなる技術は、利用資源の検索 (resource discovery) 、redundancyによる信頼性向上 (reliability through redundancy) 、同期 (synchronization) および複製 (replication) である。 (Sunのsloganである"The network is the computer."がまさにP2Pによって実現しようとしている。続いて、"The space is the computer"の考えも出てきた。 (J-Spaces))


  • 1) Jxta:
    In Feb. 2001, Bill Joy of Sun Microsystems announced a new open-source software "Jxta" (short of 'Juxtapose', as in side by side), developing basic building blocks for P2P application, following Java (1994) and Jini (1999).
    Jxta has 3 layers; a core layer, a middle services layer, and an application layer. The core layer includes protocols to enable key mechanisms for P2P networking (discovery, transport including firewall handling, and the creation of P2P groups. The service layer provides hooks for generic services (searching, sharing and added security. And finally, the application layer supports implementation of integrated applications, such as file sharing, resource sharing, monetary systems, distributed storage, etc.
    (Glossary: 'Peers' (=any device), 'Peer groups'(=collection of peers), 'Pipes'(=unidirectional communication between peers, 'Codat' (=code, data, application, or other computer representable resources.)
  • 2) Jxta vs. .NET:
    .NET borrows extensively from Java concepts. It consists of common run-time execution environment and a set or developer tools with Microsoft development languages and environment such as Visual Basic, ASP, Visual C++, and now C#.
    Jxta is not a programming language; it provides a set of protocols that support interoperability in P2P environment. Jxta applications can be developed in any language and underlying operation system.
  • 1) Jxta:
    2001年2月にSun MicrosystemsのBill Joyが, P2Pアプリケーションの標準"共通語"を狙うオープンソースのソフトウェア"Jxta"を発表した。 (並列するという意の'Juxtapose'から) これは、Java (1994年) , Jini (1999年) に次ぐ発表である。
    Jxtaは、3つの階層、即ちコア層、中間のサービス層、アプリケーション層から成る。コア層にはP2Pネットワーキングの基本プロトコル (相手の発見、転送 (ファイアウォール対応を含む) 、P2Pグループ生成) が含まれる。サービス層は一般サービス (検索、共有、セキュリティ追加) のために仕組みが提供される。最後のアプリケーション層は、ファイル共有、リソース共有、決済機能、分散保管などの統合アプリケーション作成を支援する。
    (用語集: 'Peers' (=どのdeviceでも), 'Peer groups'(=Peersの集合), 'Pipes'(=Peers間の一方的な通信), 'Codat' (=コード、データ、アプリケーションなどコンピュータの扱うリソースの総称)
  • 2) Jxta 対 .NET:
    .NETは、Javaの思想を大いに借用している。それは共通のランタイムの実行環境とMicrosoftの開発言語であるVisual Basic, ASP, Visual C++、さらには新たなC#などの開発ツール類から構成される。

>Top 5. Toward Smart P2P Society:

  • The impact of P2P technology will be effected into the following three stages:
  • The First Phase - P2P Computing:
    This is autonomous distributed computing environment enabled to exchange, share, and control directly between clients. The fixed function as server and client becomes obsolete; CAS (Client as Server) on the network changing and sharing necessary function among them will be dominant. (Self-organization)
  • The Second Phase - P2P Communication:
    More active direct communications among clients (Net Buddy) will be prevailing: ability to synchronous communication considering receivers situation or context instead of present rude and sudden intervention by telephone call, or asynchronous email, and to share metadata (directory information and exchange of evaluation, etc.).
  • The Third Phase - Smart P2P Society:
    More optimized autonomous and distributed society where new social units can mutually publish, exchange, and share of information using P2P communication infrastructure. Autonomous consumers take major initiatives in distributing resources for optimized production. (Network of new distribution of social resources)


  • P2P技術のもたらすインパクトは、以下の3段階に分けて考えられる。
  • 第1段階:P2P Computing:
    クライアント相互間で、直接資源を交換・共有・制御を行う自律分散コンピューティングの環境。サーバとクライアントのような役割分担の固定化がなくなり、ネットワークに接続されたクライアント (CAS=Client as Server) が違いに平等の立場(=Peer) で、お互いの役割を交代・分担する。 (自己組織化)
  • 第2段階:P2P Communication:
    ネットワーククライアントでもある仮想的な仲間(Net Buddy) 相互間でさらに積極的な直接情報が一般化する。電話のように相手時間への突発的侵入や、電子メールのような非同期性がなくなり、相手の状況に応じて同期的コニュニケーションを行い、またメタ情報 (検索情報や評価の交換) を共有し合うことが可能になる。
  • 第3段階:Smart P2P Society:
    自律分散的な新しい社会単位相互間で情報および資源の発信・交換・共有をおこなう自律型最適社会が到来する。自律的な消費者は、需要主導で商品・資源の配分に積極な役割を演じることになる。 (新たな資源配分のネットワーク)

>Top 6. Napster vs. Gnutella:

  • Gnutella is famous and among the first of many decentralized technologies.
  • History:
    Gnutella was developed by Justin Franket and Top Pepper sometime in March 2000.
    (Etymologically, GNU is short for "GNU's Not Unix, and Nutella is the hazelnut and chocolate.)
  • Features:
  • Open source: The Gnutella was developed as open source software.
  • Virtual infrastructure:
    Unlike standard Internet applications such as email, Web, and FTP, Gnutella creates an application-level network in which the infrastructure itself is constantly changing. Sure, the wires stay in the ground and the routers don't move from place to place, but which wires and which routers participate in the Gnutella network changes by the second. The Gnutella network comprised a dynamic virtual infrastructure built on a fixed physical infrastructure.
  • >Top Servent:
    Traditionally, there is clear difference and proper function of "Server" which serve a file, while "Client" which download the file. Gnutella blended these functions into one; both Server and Client became "Servent." The slogan of "The client is the server is the network." became to mean software-based network independent on particular router, switch and hub.
  • Message-based:
    Traditional application-level networks are cirucit-based, while Gnutella is message-based. There is no idea of a persistent "connection," or circuit, between any two arbitrary hosts on the Gnutella network. They are both on the network but not directly connected to each other, and not even indirectly connected to each other in any predictable or stable fashion. Messages are only relayed by bucket-brigade. Each bucket is a message, and each brigade is a host.
  • TCP broadcast:
    The broadcast mechanism is interesting, because it works like the real world. Suppose you are standing at a bus stop and you ask a fellow when the next bus is to arrive. He may not know, but someone nearby who has heard you will hopefully chime in with the desired information.
    • Auction are an example of message broadcasting. The auctioneer asks for bids, and one person's bid is just as good as another's.
    • Messages are assigned unique identifiers (128-bit UUID). Every time a message is delivered, the UUID of the message is memorized by the host it passes through. If the same message is received again at a later time (it will have the same UUID), it is not retransmitted.
    • Another interesting idea is that each message has a TTL (Time-to-live) number. Typically, a query starts life with TTL of 7. When it passes from host to host, the TTL is decremented. When the TTL reaches 0, the request is not retransmitted again. (Cf: This idea resemble to the function of 'Telomere', which is said to limit the number of cell division.)
  • >Top Dynamic routing:
    Message broadcasting is useful for the query, but for the response, it makes more sense to route rather than to broadcast. The UUIDs that identify a message are memorized by the hosts it passes through. When Host A responds to query, it looks in its memory and determines which host set the query (Host B). It then responds with a reply message containing the same UUID as the request message. Host B receives the reply and looks in its memory to see which host sent the original request (Host C ). And on down the line until we reach Host X, which remembers that it actually originated the query. Remember, a message is identified only by its UUID. It is not associated with its originator's IP address, so without the UUID-based routes, there is no way for a reply to be delivered to the node that made the request. Without this dynamic routing, there would need to be some kind of fixed Gnutella infrastructure.

6. Napster対Gnutella:

  • Gnutellaは中央サーバ機能をもたないP2P技術の最初のものとして、有名である。
  • 歴史:
    Gnutellaは2000年3月頃に、Justin FranketおよびTom Pepperが開発した。 (Gnutellaの語源は、GNU is short for GNU's Not Unix. およびNutella is the hazelnut and chocolateからきている。)
  • 特徴:
  • オープンソース (Open source): Gnutellaはopen source softwareとして開発された。
  • 仮想インフラ (Virtual infrastructure):
    標準のインターネットアプリケーション (email, Web, FTP)とは異なり、Gnutellaは常に変化するインフラとしてアプリケーションレベルのネットワークを作る。線路は固定しているし、ルータもあちこち動く訳ではないが、Gnutellaネットワークでの線路やルータは毎秒毎に変化している。いわばGnutellaネットワークは固定した物理的なネットワーク上に、ダイナミックで仮想的なインフラを構成している。
  • サーベント ("Servent"):
    従来は、fileをserveする"Server"と、fileをdownloadする「Client」の間には明確な区別と役割があった。Gnutellaは、これらを一つにブレンドした。ClientとServerは"Serven"となり区別なくなった。また、"The client is the server is the network."のスローガンは、特定のrouter, switch, hubに依存しないsoftware-based networkを意味するようになった。
  • メッセージ・ベース (Message-based):
    従来のアプリケーションレベルのネットワークは、回線ベースであったが、Gnutellaはメッセージベースである。Gnutellaには、任意のホスト間に持続的な"接続"、あるいは回線という概念はない。それは、同じネットワーク上にあるが、直接は接続しておらず、予知あるいは安定的という意味で間接的にも背悦族していない。メッセージがバケツリレー式 (bucket-brigade)に伝送されるだけである。それぞれのバケツがメッセージであり、それを運ぶのがホストである。
  • TCPの放送 (TCP broadcast):
    • オークションも同様にmessage broadcastingの例である。オークションには大勢競売に参加し、どの一人の入札も他の人の入札と等しく扱われるからである。
    • 各メッセージには128Kbitのunique identifier (UUID)が付加される。各メッセージeが伝送される毎に、このUUID情報がホストに記憶される。もし同じメッセージが後に再度受領すると (同じUUID情報を持つので) それは転送されない。
    • もうひとつの興味深いアイディアは各メッセージがTTL(Time-to-Live)という寿命 (転送回数の限度) を持つことである。典型的には、TTLは7で始まり、ホストを転送すると、このTTLの数字が減る。TTLが0となると、そのメッセージは再送されない。
  • ダイナミック・ルーティング (Dynamic routing):
  • >Top
  • Gnutella's Network:
    Some users have 56Kbps modems, and others have, say, T3 lines. Over time the T3-connected nodes migrate toward the center of the network and carry the bulk of the traffic (High-speed nodes grow to a backbone network) , while the 56Kbps nodes simultaneously move out toward the fringes of the network, where they will not carry as much of the traffic.
    What results was overcrowding of the Gnutella traffic: To draw an analogy, the Gnutella network became like a crowded room with lots of conversations. Sure, you can still have a conversation, but maybe only with one or two of your closest friends.
  • Gnutellaのネットワーク:
    あるユーザは、56K modemを使用し、他のユーザは例えばT3回線つ使用している。時間の経過に伴い、T3回線に接続しているノードはネットワークの中央に移動し、トラフィックの大半を伝送することになる。 (高速接続のノードが、バックボーンネットワークへと成長する。)
  • >Top
  • Gnutella's analogues:
    Millions of users may be using Gnutella simultaneously, but they will not all be visible to one another. That is the basic nature of a public, purely P2P network. Of all the analogues that exits, the most interesting two are cellular telephony and Ethernet.
    • Cell site has a predetermined effective radius. Once the caller is outside the operating radius, the site cannot see the caller's telephone either. Each node is like a cell site in the sense that it has a limited coverage radius, and each node's coverage area overlaps with that of the nodes adjacent to it. The key to making cellular phone systems scale is having enough cells and enough infrastructure to connect the cells. It is a similar story with Gnutella. There are numerous clusters interconnected by high-speed lines. All this happened in an unplanned and dynamic way.
    • Ethernet is a broadcast network where each message has a unique identifier. Hundreds of millions of computers have ethernet, yet only a few dozen can share an Ethernet "segment" before causing network gridlock. The solution for Ethernet was to develop specialized hardware in the form of bridges, switches, and routers. With that hardware, it became possible to squeeze all those millions of computers onto the same network; the Internet.
  • >Top Psedoanonymity:
    On the Internet, identify is established using two points of data; an IP address and the time. Most Gnutella messages do not contain an IP address, so most messages are not useful in identifying Gnutella users. The routing tables are dynamic and stored in the memory of the countless Gnutella nodes for only a short time. It is therefore nearly impossible to learn which host originated a packet and which host is destined to receive it. Gnutella is spread throughout the Internet, and the only way to monitor what is happening on the Gnutella network is to monitor the entire Internet (=Confidentiality without encryption).
    But because of the breakdown in anonymity when a download is transacted, Gnutella is not a s system for publishing information anonymously, though It gives total anonymity in searching. Next generation technologies may provide true anonymity through proxying and encryption to spell the end of censorship.
  • Gnutellaに似たもの:
    何百万ものユーザはGnutellaを同時に利用するが、お互いにはその状況は見ることができない。それがパブリックなP2Pネットワークの特徴である。興味深いことに、これに似たような状況が、携帯電話Ethernet の場合に見られる。
    • 携帯電話のcell siteには予め決められた有効半径がある。発信者がその半径外にいる場合は、その発信者の電話も認識できない。各cell siteは、ノードに相当して、一定の半径以内だけ到達する。各ノードは隣接するノードと一部重複する。携帯電話システムの規模拡張は十分なcellとこれらのcellをつなぐ十分なインフラに依る。それはGnutellaの場合と同じである。高速回線で接続された多くのクラスターが必要となるが、これらはすべて予め予定されたのではなくダイナミックに成長していくのである。
    • Ethernetは、各メッセージが固有の識別をもつ放送型のネットワークである。何億台というコンピュータがEthernetに接続されているが、その内の数十台がEthernetのセグメントを共有していて、ネットワークの渋滞を防いでいる。この機器によって、何百万台ものコンピュータを一つのインターネットというネットワークを成立させているのである。
  • 疑似秘匿性 (Psedoanonymity):
    インターネットでは、2カ所のデータはIPアドレスと時間の情報によって識別している。ほんとどのGnutellaのメッセージはIPアドレスを含まないので、Gnutellaユーザを特定するのには役立たない。ルーティングテーブルはダイナミックに変化し、膨大な数のGnutellaノードに短時間記憶されるだけである。従って、どのホストが質問のパケットを発信し、どのホスト宛に仕向られたのかを知ることはほとんど不可能である。Gnutellaはインターネット中に普及しており、Gnutellaネットワークで起きていることを監視しようとしたら、インターネット全体を監視することになってしまう (暗号化なしの秘匿性) 。
  • >Top
  • Gnutella revolution:
    Before Gnutella, systems were centralized, and innovation in software came mainly in the form of a novel business plan. The power of P2P and its real innovation lies not just in its file-sharing applications and how well it can fly in the face of copyright holders. The basic premise is that individuals have something valuable to share, which are computing power, network capacity, or information in files, databased.
    • Tomorrow's Internet will look quite different than it does today. The WWW has only short time reality. P2P technology will reshape the Internet dramatically. Today's P2P applications are necessarily overtly P2P because they must provide application and infrastructure simultaneously due to the lack of preexisting P2P infrastructure. Tomorrow's applications will take this infrastructure for granted and leverage it to proved more powerful software and a better user experience.
  • Gnutellaの革新性:
    • P2Pの本当の革新は、ファイル交換システムにだけあるのではない。P2P技術の前提には、個々人には相互に共有すべき価値があるということである。その価値とは、コンピュータ力、ネットワーク力、fileやdatabaseの情報などである。P2Pアプリケーションは、これらの価値を交換する仕組みである。
    • WWWはまだ6年間の現実でしかない!いわば、WWWはインターネットの世界の電報でしかない。これからのP2Pは、厳密な意味ではP2Pでも, Client/Serverでもないだろう。現在のP2Pは、P2P infrastructureがないので、applicationとinfrastructureの両方を提供せざるを得ない。明日のアプリケーションは、このインフラを前提にして、もっと強力なソフトウェアが開発されていくことだろう。
    • Decentralized P2Pは、検閲と著作権の終焉を意味するようになることだろう。P2Pは、有用で普遍的な必須のアプリケーションとなることは間違いない。

>Top 7. Gnutella cocktail party:

  • 1) Gnutella concept closely reflects those of the real world: Let's compare with the case of Coctail party. (Source: "Peer-to-Peer, edited by Andy Oram, O'Reilly)
Cocktail party Gnutella
You enter at the foyer and say hello to the closed person. You connect to a Gnutella host and issue a PING message.
Shortly, your friends see you and come to say hello. Your PING message is broadcast to the Gnutella hosts in your immediate vicinity. When they receive your PING, they respond with a PONG, essentially saying, "Hello, pleased to meet you."
You would like to find the tray of sushi, so you ask your nearby friends. You would like to find the recipe for strawberry pie, so you ask the Gnutella nodes you've encountered.
None of your drunken friends seen to know where the sushi is, but they ask the people standing nearby. Those people in turn ask the people near them, and so on, until the request makes its way around the room. One of the Gnutella nodes you're connected to has a recipe for strawberry pie and lets you know. Just in case others have a better recipe, your request is passed on to other hosts, which repeat the question to all hosts known to them.
Eventually the entire network is canvassed.
A handful of partygoers a few meters away have the tray. They pass back the knowledge of its location by word of mouth. You get several replies, or "hits," routed back to you.
You walk over to the keepers of the tray and partake of their sushi. There are dozens of recipes to choose from. You double-click on one and a request is issued to download the recipe from the Gnutella node that has it.

7. Gnutella風カクテル・パーティ:

  • 1) Gnutellaによる通信は、現実世界と非常によく似ている。以下、カクテル・パーティとの比較をしてみよう。 (出典:O'Reilly社Andy Oram編"Peer-to-Peer")
カクテル・パーティ Gnutella
パーティ会場入口に入って、近くの人に挨拶する。 まず、あるGnutellaホストに接続して PING messageを発行する。
すぐに、あなたの友人があなたを見つけて挨拶する。 あなたのPING messageがすぐ近くのGnutellaホストに対してブロードキャストされる。彼等があなたのPINGを受信すると、彼等はPONGで応答する。それは要するに「こんにちわ、お会いできて光栄です。」という表現である。
あなたは寿司のお盆を探したいと思い、そのように近くの友達に尋ねる。 あなたは、ストロベリーパイのレシピを見つけたいと思い、そのようにあなたが出会ったGnutellaノードに尋ねる。



あなたにはいつかの返事 (即ちヒット) が要求のルートをたどって帰ってきた。


  • >Top 2) In contrast, let's look at how things would be in a Napster cocktail party.
Cocktail party Napster
You enter a the foyer and the host of the party greets you. Around him are clustered 35 million of his closer friends. You connect to Napster and upload a list of files that you are sharing. The file list is indexed and stored in the memory of the party host: the central server.
Your only friend at this party is the host. The Napster server say, "File list successfully received."
You would like to find the tray of sushi, so you find your way back to the foyer and ask the host where exactly the tray has gone. You would like to fine the recipe for strawberry pie. So you type "strawberry" into the search box, and the request is delivered to the central server.
The host says, "Oh, yes. It's over there." You get several replies, or "hits," from the Napster server that match your request.
You hold the tray and choose your favorite sushi. You decide which file you want to download and double-click. A request is issued to the Napster server for the file.
The Napster server determines which file you desire and whose computer it is on, and brokers a download for you. Soon the download begins.
  • 2) Napsterの場合、対照的に、クライアント/サーバ式のカクテルパーティとなる。
カクテル・パーティ Napster











>Top 8. How Gnutella works:

8. Gnutellaの仕組み:


  • >Top
  • <Step-1> Ping/Pong:
    Determining who is on the network:
    A Ping packet announces your presence on the network. When another computer (=node) hears your Ping, it will respond with a Pong packet. It will also forward your Ping packet to other connected to which it is connected and they too will send back Pong packets. (See Figure-1). Each Ping and Pong packet contains a Globally Unique Identifier (GUID). A Pong packet also contains an IP address, port number, and information about how much data is being shared by the node that sent the Pong. Once the Pong packets have told you which nodes are your active peers, you can start making searches.
  • <Step-2> Query/QueryHit:
    packets let you search the data on other nodes by asking whether there are sharing specific content, asking "Do you have any content that matches the string "xxxx?" Each of the nodes does two things.
    • First, each checks to see if it has any content that matches the search string. In this case it looks to see if there is a file in a specified directory marked "sharable to the outside world."
    • Second, each node sends your Query packet on to all the nodes to which it is connected. These nodes in turn check their directories and send your Query packet to their web of nodes (Figure-2). This process continues until the Query packet gets too old and times out. (predefined Time-To-Live, 'TTL').
  • >Top <Step-3> File Transfer:
    Ready to download:
    Let's say that three nodes that received your Query packet have matches. Each of the three nodes will send you a QueryHit packet via the same delivery route that the Query packet originally traveled. The QueryHit packet contains the IP address and GUID of the node that has the data as well as information about the file that matched you query.
    When you receive a QueryHit packet you have the option to download. File transfers use the HTTP protocol's GET method directly between you and the node that has the file you want (Figure-3)
    Occasionally, due to a firewall, you will be unable to initiate a connection directly, then the Push packet come into play. The Push packet delivers a message to the node with the file you want via the route the QueryHit packet originally traveled, except in reverse. The Push packet tells this node that you'd like to download a file but can't initiate an HTTP connection. This node node then becomes the initiator, and attempts to connect directly to you.
  • <Step-1> Ping/Pongの応答:
    まずPing packetで、ネットワーク上のあなたの存在を知らせる。他のコンピュータ (=ノード) があなたのPingを受け取ったノードはPong packetで反応し、同時に、他の接続しているノードにあなたのPing packetを転送する。転送されたノードもまたPong packetで応答してくる。 (図1参照) いずれのPing/Pong packetには, GUID情報 (Globally Unique Identifier)が含まれている。またPong packetには、IP address, Port number, Share可能なdataに関する情報が含まれている。一旦、Pong packetを受け取ると、あなたはどのノードがactive peerであるかがわかるので、検索を開始できる。
  • <Step-2> Query/QueryHitの応答:
    他のノードに対し、特定ファイルがあるかどうかを聞くために、検索のQuery packetを送る。このパケットには、xxxxの文字列に合致するファイルかがあるかどうか聞くのである。これに対するノードの反応は以下となる。
    • まず、各ノードは、その文字列に合致するファイルがあるかどうか自分のdirectoryを調べる。もしあればそのファイルが「外部との共有可能」と記された特定のdirectoryに入っているか調べる。
    • 次に、各ノードは、あなたのQuery packetを接続しているすべてのノードに転送する。これらのノードはそれぞれのdirectoryを調べ、さらにQuery packetを他の接続しているノードに転送する。このプロセスを限度回数 (Time To Live, TTLで予め設定) 繰り返す。
  • <Step-3> ファイル転送:
    packetを受け取ったノードで当該ファイルを持っているノードが3つあったとする。各々のノードはあなたにQueryHit packetをどれを受け取ったのと同じルートを逆にたどって応答する。QueryHit packetには、IPアドレス、ノードのGUID、合致したファイルに関する情報が含まれる。そしてQueryHIt packetを受信することで、ダウンロードするオプションを得る。ファイル転送はHTTPプロトコルのGETコマンドは直接ダウンロードする。
    時々、ファイアウォールのために、直接接続できない場合には、Push packetの出番となる。Push packetは、QueryHIt packetがたどったルートを遡って、当該ファイルを持っているノードに対してメッセージを送る。Push packetは、あなたが当該ファイルをダウンロードしたいがHTTP接続をすることができないことが書いてある。このノードは、initiatorとなり、あなたと直接接続を試みる。
  • HTTPのGETコマンドによって、目的のファイルをダウンロードする。通常は、そのファイルを有するコンピュータとHTTP接続を始めるが、Firewallのために直接接続できない場合は、PUSH REQUEST packetによって、QueryHit packetを受け取ったルートを逆に辿ってファイルをダウンロードする。
  • >Top
  • Remarks:
  • Function of Central server:
    Central-index systems are always more efficient than true P2P systems because they rely on centralized catalogs and don't require each peer to participate in message routing.
    One solution is a hybrid P2P network where high-bandwidth servents form a virtual backbone and low-bandwidth computers connect in a more traditional client/server manner.
    However, centralized systems don't have the fail-safe architectural advantage and don't scale proportionately to the number of users on the system. In other words, central-index networks face a problem similar to that of large Web sites. A certain number of servers are required to serve a certain number of users, often resulting in unwieldy cluster of servers, or cluster of clusters in very large installations.
  • Metadata:
    The current Gnutella network has no index and no metadata schema, relying instead on filenames alone. Future P2P technology acting in concert with an advanced metadata schema (like RDF) should greatly increase the utility of true P2P.

  • >Top For Business Use:
    • It will be necessary to adopt a greatly improved protocol. The addition of security, encryption, digital certificates, authentication, reporting, and quality of service (QoS) would make P2P even more compelling for legitimate business and consumer use.
    • The decentralized nature of P2P reduces management costs and empowers individuals to adminster content within their own area of specialization or interest.
  • Open Development:
    • They are several independent groups who are working to make P2P much more powerful, useful, and secure. Such groups are security group, client group, a backbone group, a developer group, an advanced search group, etc.
      A group known as General Purpose Location Protocol (gPulp) is working on what might become the next version of the Gnutellla protocol.
  • 中央サーバの役割:
    中央にIndexを持つシステムの存在は、集中されたカタログ情報を利用でき、個別のpeerに問い合わせ情報を配送してもらう必要がないので、真のP2P systemよりもずっと効率がいい。
  • Metadata:
    現在のGnutella networkは、filenameだけに依存しており、それ以外のindexやmetadata schemeを持たない。将来のP2P技術は、もっと進んだ (RDFのような) metadataを持つようになることが、真のP2Pの効用を増大させるに違いない。
  • ビジネス利用:
    • 今後はプロトコルを一層改善する必要がある。Securityの追加、暗号化、デジタル署名、認証、レポーティング機能、QoSなどの機能追加が、ビジネスやコンシューマ用に利用されるためには必須となる。
    • また、中央サーバがないことによる管理費用の削減、および個々のユーザにとっては、それぞれの専門や興味分野の中でのコンテンツ管理が可能となる。
  • オープンな開発手法:
    • P2Pをもっと強力、有用、安全なものに作り替えようとするいくつかの独立グループがある。これらには、セキュリティグループ、クライアントグループ、バックボーングループ、開発者グループ、先進研究者グループなどがある。
      なお、General Purpose Location Protocol ("gPulp")のグループは、次世代のGnutellaプロトコルについて検討している。

>Top 9. Leaders of P2P:

  • P2P accelerates social reform in 21st century, not only reforms architecture of the Internet but also changes social structure through the empowerment of people as active participants in the network. P2P blurrs the function of server and client, and enpowers people as clients of the social pyramid.
  • If we compare the relationship of Mainframe/Dumb Terminal system to absolute monarchy, Server/Client system to representative democracy, and P2P to direct democracy. In 20th century nation-states have been the major players without doubt, but now they are becoming local authority according to globalization and empowerment of the people.
  • In 21st century, the functions of nation, market and community including people will share to play each unique role with having some tensions and vicissitudes among them.
  • In P2P global competition, typical leaders are appearing in each three camps as per the left chart:
  • Computer-field leader:
    Microsoft is the acknowledged leader of computer field with its oligopolistic market share of desktop OS (Windows) packaged with browser (Internet Explorer) and business application (MS Office). Also Microsoft recognized the importance of P2P technology, trying to develop various defacto-to-be software.
  • Data-field leader:
    established its superior position in the field of producing contents by integration of the capacity of Netscape, Real Networks, Time Warner, then adding alliance with Amazon.com.
  • People-field leaders:
    These are independents composed of several factions; one is a movement of NPO and NGO against control by US government in the name of globalization, another is of open source development of software against Microsoft's oligopoly, supported by Sun Microsystems as the developer of Java and Jxta, and the other is of antitrust policy guided by US Department of Justice.

9. Leaders of P2P:

  • P2Pは、21世紀のインターネットの構造変化のみならず、人々のネットワークへの積極的な参加というエンパワーメントを通じて社会構造に変化をもたらす。 それは、P2PがServerとClientとの区別をあいまいにするだけでなく、人々を社会ピラミッドのクライアントとしてエンパワーさせるからである。
  • Mainframe/Dumb Terminalを絶対王政に対応するとすれば、Server/Clientを代議制民主主義になぞらえると、P2Pは直接民主主義になる。まさに20世紀の主役であった国家権力が、グローバル化と人々のエンパワーの進展によって、ローカルな権威になりつつある。但し、21世紀においては、国家の役割、市場の役割、コミュニティや人々の役割、即ち、公・私・共の役割は緊張関係の中にも共存していく。
  • さてP2Pを巡る開発競争の中で、それぞれの軸にまさに軸足をおくリーダ達の存在が際立ってきている。それを戯画的に描くと左図のようになる。
  • Computer分野のリーダは、デスクトップOS (Windows) とブラウザ (IE) とビジネスアプリケーション (Office)の分野での独占的シェアを持つMicrosoftが、この分野のリーダと言わざるを得ない。すでにP2P分野の重要性を認識し、特に「技術面」でのMS流の標準化を意図した開発を精力的に行っている。
  • Data分野のリーダは、AOLが、Netscape, Real Networks, Time Warnerに加え、さらにはAmazonと提携することで、コンテンツ開発を中心とする「市場面」でのリーダとなっている。
  • People分野のリーダは、いわば無党派であって、米国流の上からのグローバル支配に対するアンチテーゼとしての下からのNPO/NGOの動き、あるいはHierarchicalなClosedな開発手法に対するOpen Sourceの開発手法の動きなどがある。また、Microsoftと対抗する米国司法省も結果としては、無党派のグループの一員的な役割を演じている。これに、Microsoftに対抗するSun MicrosystemsからのJavaやJxtaなどでの応援も加わっている。
  • The covering of O'Reilly P2P book is a P2P imaged picture painted by Michelangelo.
  • We cannot take our eyes off this P2P architecture.
  • O'ReillyのP2Pの本の表紙にはミケランジョロの描いたP2Pのイメージの絵になっている。
  • このP2Pアーキテクチャには目が離せない。

| Top | Home | Article | Bookshelf | Keyword | Author | Oxymoron |