本書は、Winnyの開発者自身が、WinnyというP2Pソフトウェアの内部構造について解説した書籍だ。
<br />彼は、本書内で「Winnyは、匿名性を保ったデータを大規模なP2Pネットワーク上でどれだけ効率よく転送できるかを追求して開発した」と明かしている。
<br />その構想を基礎として、ノード間でのデータ検索、ファイル情報の取得やデータ転送を効率的に安定させて行うためにWinnyに施した工夫や技術をかいつまみ、書籍全体で丁寧に解説している。その内容は、前半部はPCの一般利用者向け、後半部はプログラマー向けに編成されている。ただ、前半部は、PCの一般利用者向けの編成内容といっても、コンピューターネットワークに関する基礎的な知識がないと読み進めるのは難しい印象を受けた。それでも、ほかの分野特化型プログラミング技術解説書よりは読みやすく書かれていると思う。
<br />技術的には、Winnyは、P2Pソフトウェアとして確固たる実績を残した。その開発者自身による、Winnyを題材としたP2Pの技術解説という本書の性格から、P2Pの仕組みを詳しく知りたい人や、P2Pを活用したソフトウェア開発の参考資料を求めている人に、本書をおすすめしたい。
<br />
Winnyの設計(思想)や、その開発・運用をどのように行ったか、を説明した本です。P2Pソフトの歴史、Napster、Guntellaなどのファイル共有ソフトと何が違うのか、Winnyの仕組み(ファイルの検索、転送など)、そして、Winnyを、どうテストして、バージョンアップ等をどうやって行ったか、です。
<br />
<br />設計の話が中心です。P2Pソフトって、こんな点を考慮して設計するのか、こんな苦労や工夫がなされているのか、という点が非常に興味深くそして、参考になりました。
<br />
<br />「P2Pソフトを設計する」ことが今後なくても、ソフトウエアの設計に関する視野が広がる本でした。(その以前に、設計思想にワクワクする本でした)
<br />
<br />インターネットの基礎的な知識があれば、読めると思います。解決したい問題とその対応が、わかりやすく、また、文章も丁寧で、全般的に、読みやすかった本でした。
私は実はWinny の仕組みというか、「なぜあんなことができるのか?(あんなことになってしまうのか)」をよく理解していなかったのですが、本書で「大体」つかめました。
<br />そもそもこれがなぜ生まれたのか?それは「需要」「利便性」という視点から始まったものです。が、用途・運用面での考慮が足りなかったのも事実。
<br />これは「新しいことをやるにはまず「想定SWOT分析」」をすべきであろうと思いました。これは私が勝手に提唱しているものです。
<br />SWOTは本来は「現状分析」の手法ですが、「どうせ何か始めてもすぐその状況=現状」になってしまいます。