Preface

Why This Book?

The idea of writing this book, Peer to Peer: Collaboration and Sharing over the Internet, seemed in several ways a natural and complementary progression from the previous one, The Wiki Way (Addison-Wesley, 2001). Subtitled Quick Collaboration on the Web, that book explored the client-server peer-collaborative world of WikiWiki. In that server-centric situation, there were even then hints of a wider peer perspective for applications, for example interlinking different wiki servers in a peer-to-peer kind of network to transparently exchange content and extend search capabilities across multiple sites.

The main thrust of this book, however, is to explore what, at its extreme, becomes the complete opposite of server-centric communication: when individual user applications connect “end-to-end” with each other across the network for various purposes. One significant and popular reason for such connectivity is to share content (file swapping), but beyond that, the full potential lies in the broader purpose of communicating and collaborating between endpoint applications, as well as between the users who sit at their respective computers or carry the appropriate network-aware devices.

P2P: The Journey

In Peer to Peer, you are invited to a guided journey through a hitherto arcane field, mostly known so far from the hype and controversy surrounding what is only a limited part of a much broader field of network distributed application.

You’ll learn about an innovative emerging technology that not only can change, but is in fact already revolutionizing the way we use the Internet. Peer technology is at the heart of the efforts to build the next-generation Internet, what in some contexts is referred to as “Internet 3.0”.

Because we are dealing with peer technology, it means that the practical implementation for the most part will be near to each of us, the users. For this reason, and the fact that an individual selects and deploys these implementations on a local machine, comparative descriptions of the technologies are needed in a format that not only techno-nerds can comprehend. And they are needed now, because an informed user base must be able to influence everything from corporate policy to legislative proposals. It’s not just on an idle whim that significant sections of the text in this book deal with both the social and legal ramifications of p2p.

Therefore, read Peer to Peer with a mind open to exploring simple yet powerful networking tools that you can completely control. Play with the concepts, try the implementations, tweak the open sources, and see where it all takes you. Above all, contemplate the implications of the technology, both in terms of your own convenience and a broader social change.

Who Should Read This Book

This book targets primarily three groups of readers:

  • Any reader who wants to explore new peer-based ways to communicate, collaborate, publish, and share over the Internet in ways independent of the usual content providers (traditional Web sites). To this end, the overall style and structure of the book is mainly held at a light-to-moderate level of technical difficulty, and all technojargon terms are explained early.

  • Industry professionals, such as managers or technical responsibles, who need to get up to speed on distributed tools for messaging or collaboration, or for publishing, storing, sharing, and securing content. Typically, they want both a general technology overview and a how-to-implement guide in order to make informed decisions. These readers would inherently be inclined to focus mainly on the core implementation chapters, but shouldn’t neglect the more general chapters.

  • Researchers and students in academic settings who both study the design and implementation of p2p technology tools, and use them to great advantage in their day-to-day collaboration work.

As this book shows, “peer to peer” is not a new concept; only the form and medium change over time. The recent hype and controversy has also obscured much of the technology’s potential—and additionally, its problems. In fact, a number of the problems confronting the current crop of peer implementations are well-known in older networking contexts, with solutions that can be adapted to the new.

Book Structure

… pier-to-pier …

Peer to Peer is a combined exposition, guide, and tutorial. The ambition is to provide a single volume replete with historical background, state of the art, and some of the vision. Melding practical information and hints with in-depth analysis, all in an easy-to-read informal and personal style, the result is even entertaining—a damn good read, as the technical reviewers reassured the author.

The mix includes conceptual overviews, philosophical reflection, and contextual material from professionals in the field—in short all things interesting. You might consider this a tall order to fill for a single book. Assuredly, but it worked for the previous book, and was fun (if hard work) trying to do it once again with this new subject matter.

The book is organized into three parts, each catering to different needs and interests. There is some overlap, but you should find that each part approaches the various manifestations of the peer-to-peer concept from complementary directions, with a tone and depth appropriate to each. No matter the level of detail and involvement desired, a reader should always find something worthwhile to focus on.

Part I

Part I sets the foundations for the later discussions.

  • The first chapter starts with the basics and defines what, exactly, p2p is—the term has come to mean many different things to different people. Getting familiar with a concept often requires some background and an examination of its origins, so the chapter looks at the history of telephony and of the early Internet to draw parallels and properly set the stage.

  • Chapter 2 introduces the architectural models relevant to a discussion of peer technologies and defines important terminology.

  • Chapter 3 introduces the implementations that are covered later, and examines some major performance issues common to most implementations, such as search and content management.

  • Finally, Chapter 4 tackles security and legal issues, two difficult concern areas also common to most implementations. The intent here is to highlight what usage questions might become sensitive or critical when p2p technologies are deployed in a network.

Part II

Part II focuses on practical implementation examples. These core chapters explore representative implementations for each of the chosen implementation areas, providing an in-depth mix of both well-known and lesser-known solutions that illustrate different ways of achieving similar functionality.

  • Chapter 5 provides a managerial overview and guide to deployment issues, an important complement to implementation-specific technical detail. It also covers technology selection and examines the factors that determine the scalability of a particular solution based on its architectural model.

  • Chapter 6 highlights messaging technologies, showing the trade-off factors inherent in each example, and noting why the most popular implementations might be less suitable for corporate use.

  • Chapter 7 progresses to file-sharing solutions, again with a special view to explaining the concepts behind some of the more popular implementations.

  • Adopting a broader network perspective, Chapter 8 studies two peer solutions that approach distributed storage and content distribution from different requirements.

  • Chapter 9 explains in considerable detail an important evolving technology for secure, anonymous publishing of content. Of particular interest is an analysis of the adaptive storage mechanism.

  • Chapter 10 broadens the perspective to that of collaborative spaces in general, examining a couple of new infrastructure solutions that might define the Internet of the future.

Part III

Part III elevates the discussion into the higher realms of analysis and speculation.

  • Chapter 11 provides the “insights” segment and looks at some of the assumptions and implications highlighted by peer technologies. From community building to legal concerns, from payment mechanisms to trust systems, peer solutions have shown a knack for raising controversy while suggesting innovative ways of working together.

  • Chapter 12, intended as a case study section, summarizes the practical sides of working in a p2p environment and suggests where the current infrastructures might not yet be fully up to expectations.

  • Chapter 13 voices both opinion and speculation on a grander scale. Visions of the future can just as easily be dark as light, and the text attempts to show why this is especially true for p2p.

Finally, three appendixes supplement the main body of the book by collecting terminology, references, and resources—providing additional detail that while valuable did not easily fit into the flow of the main text.

Navigation

This book is undeniably filled with a plethora of facts and explanations, and it is written more in the style of narrative rather than of mere reference-volume itemization. Despite the narrative ambitions, texts like this require multiple entry points and quick ways to locate specific details, for example a carefully crafted index. To further help you navigate, as a complement to the detailed table of contents, each chapter at a glance introduction provides a quick overview of the main topics covered in that chapter. Words marked in bold are glossary terms explained in Appendix A.

Scattered throughout the text you will find the occasional highlighted and numbered “Bit” where some special insight or factoid is singled out and presented in a shaded box. However, as a technical reviewer rightly quibbled, the template’s original “Tip” context label for such elements was less applicable to this book. Taking the unorthodox approach of instead calling the element a “Bit” seemed to convey about the right level of unpretentious emphasis—they’re often just my two-bits worth of insightful comment. Bits do serve the additional purpose of providing content locators for the reader and are therefore given their own List of Bits in Appendix C. Sadly, a full infrastructure of hyperlink cross-referencing is not possible in a printed book, which would be of great reader convenience, but perhaps a future e-edition.…

When referencing Web resources, I use the convention of omitting the “http://” prefix, since modern Web browsers will accept addresses typed in without it.

The Author

Extensive experience in technical communication and teaching coupled with a deep understanding of cross-platform software product design, user interfaces, and usability analysis—all provide a unique perspective to writing technical books. I maintain several professional and recreational Internet Web sites, including one that provides commercial webhosting and wiki services for others.

An independent consultant in the computing sector in Sweden for some 25 years, I’ve been responsible for software development and localization projects. Training issues came to the foreground during a number of years as head of a language school specializing in an immersive teaching methodology. Currently a freelance consultant and technical writer, I specialize in software documentation, translation, and design-team training, with regular contributions to a major Swedish computer magazine. Authoring books is an activity that rather unexpectedly came to dominate the past few years. I also do occasional speaking engagements at technology conferences.

Contributors And Colleagues

A great many people helped make this book possible by contributing their enthusiasm, time, and effort—all in the spirit of the collaborative peer community that the Internet and publishing encourages.

Technical review is a time-consuming and demanding activity, ensuring that an author’s worst slip-ups, omissions, and mistakes are caught before committing to paper. The technical reviewers are, in order of incoming review returns: Austin David, Mitchel Ahern (who also graciously contributed the foreword), John Wegis, and Erik Möller. These very knowledgeable professionals and colleagues helped make this book a better one and I express my profound gratitude for their efforts. I hope they enjoy the published version.

Finally, I would have been helpless without the encouragement, assistance, and resources provided by executive editor Mary T. O’Brien and her staff, and the support of the Addison-Welsey production team. A special thanks goes to the people at Studio B Literary Agency for their unstinting author support and encouragement.

Personal thanks go to supportive family members for enduring the long months of what to them must seem like endless research and typing, reading, editing, and general mental absentness at all hours of the day and night.

Errata And Omissions

There are assuredly mistakes and errors of omission in this book; it’s unavoidable, despite (or sometimes because of) the many edit passes. proofing, and the excellent efforts of editors and technical reviewers. We all hope they are very few.

However, getting a book out is a complex process with numerous deadlines, and a finished book (any book) is neither “finished” nor perfect, just (hopefully) the best that could be done within the constraints at hand. We have all taken great care to get things right with multiple reviews and proofing. Nevertheless, some things might be overly simplified, or statements made that someone, somewhere, will be able to point to and say “Not so!” That may be; not everything can be fully verified, and sometimes the simple answer, correct in its place, is good enough for the focus at hand. The hardest mistakes to catch are the things we “know”, because some of these unquestioned truths can be wrong, have changed since we learned them, or have more complex answers than we realize.

Omissions are generally due to the fact that the author must draw the line somewhere in terms of scope and detail. I’ve tried in the text to indicate where and why. The technical reviewers, drawn from various professional fields and with different perspectives and complementary expertise, made valuable suggestions as to where this selection process might be improved.

The bottom line in any computer-related field is that any attempt to make a definitive statement about such a rapidly moving target is doomed to failure. During the course of writing, things changed! All the time. In the interval between final submission and the printed book, not to mention by the time you read this, they’ve likely changed even more. Not only does the existing software continue to evolve, or sometimes disappear altogether, but new implementations can suddenly appear from nowhere and change the entire landscape. The biggest headache is to provide useful resource links—as Web sites change or disappear, some resources mentioned in the text might not be found and others not mentioned might be better.

Your feedback, positive and negative, is always appreciated. Comments and factual corrections will be used to improve future editions of the book and to identify where the writing was not as clear as intended. Such information will be regularly compiled and published on the support Web site (www.leuf.com) and complement the discussions that hopefully appear there.

The Internet has made up-to-date reader support a far easier task than it used to be, though I fear this makes some authors and publishers take woefully insufficient care in getting the paper effort right to begin with.

Contacting the Author or Publisher

Authors tend to get a lot of correspondence in connection with a published book. Please be patient if you write and don’t get an immediate response—with many professional commitments and the pressures of book deadlines to consider, immediate response might not be possible. However, my intention is always to at least acknowledge received reader mail quickly, even if a more personal response may at the time not be possible.

Better than sending e-mail might be to first visit the collaborative wiki at www.leuf.net/ww/wikidn?PeerToPeer, where you can meet an entire community of readers. This is an open support site for this book, where you can find updates and discussions about the book and about using peer-to-peer software. The main attraction of such a collaborative support Web site is the contacts you can form with other readers of the book. Collectively, the readers of such a site always have more answers and wisdom than any number of authors.

Otherwise, the arguably easiest way to reach me is by sending e-mail to [email protected]. But before writing with specific questions, visit the Web site where you can find much information and further links, and very likely some immediate answers to common questions.

While the natural assumption is that you, the reader, have Internet connectivity, and can both visit the Web and send e-mail, this is not always true. You may therefore also contact me through the publisher by ordinary surface mail:


Bo Leuf 
c/o Addison-Wesley Editorial Department 
Pearson Technology Group 
75 Arlington Street, Suite 300 
Boston, Massachusetts 
USA 02116 

The publisher’s Web site is www.awl.com. You may contact the publisher to learn information about other published books, for example. Send an e-mail to [email protected], or use the previous surface mail address after the “c/o”.

Thank you for buying Peer To Peer. I hope you enjoy reading this book as much as I enjoyed researching and writing it.

– Bo Leuf, February 2002

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.20.68