Porivo: Load Testing with P2P04/19/2001
P2P Profiles is an ongoing column of in-depth looks at companies in the peer-to-peer space. They will be published in O'Reilly's P2P 2001 Industry Overview, available this July.
Technically, the distributing computing service Porivo is quite similar to SETI@home. What's different from SETI@home -- and also different from more generalized distributed computing companies like United Devices and the late Popular Power -- is that Porivo has found an intriguing way to turn it into a specialized business. They've found ways to reward participants and they've hardened the essential communications structure underlying the application.
Porivo aims its business at large Web sites; its job is to check how well the Web sites are performing. They do this by distributing software among thousands of computers and letting it simulate requests from Web browsers. The software records such data as "How long does it take before receiving the first byte?" and "How long does it take to download a particular page?" Porivo's customers can use this data further in very sophisticated ways. For instance, once a customer finds out which pages load fastest, it can use those as models and benchmarks for designing all the other pages.
There are many different kinds of conditions under which users get Web pages. When Porivo signs up a user to run its software, it records the user's geographic location and network connection speed. Porivo can therefore let companies know how they're doing in particular zip codes or for people with certain types of network connections.
|For a comprehensive look at the P2P industry, check out O'Reilly's P2P 2001 Industry Overview available July 2001. Dr. Jon Orwant, Andy Oram, and other O'Reilly researchers profile the companies constituting the P2P space, explain P2P technologies, and predict future growth and impact of P2P.|
Porivo's first service, peerReview, tests a Web site under what should be normal conditions. An upcoming service, peerPressure, will simulate heavy conditions: call it harnessing the power of distributed denial of service attacks. Another upcoming service, peerAlert, warns a customer when its Web site is unavailable or unusually slow.
According to director of software engineering Ryan Breen, peerReview is currently unique in the field of distributed processing because it derives value from the distributed nature of the network. Traditional projects such as SETI@home simply aggregate cycles; it wouldn't matter if the two million machines were sitting on top of each other. peerReview can be run only by a globally distributed network, so the company is extracting more value from the distributed model.
In a recent enhancment, updates can be pushed to their end-users automatically, making the service a zero-maintenance application for the end-user.
Unlike similar projects, which had no system in place for rewarding the users, Porivo offers a sweepstakes. They are planning to move to a system of direct payments. Naturally, there's a chicken-and-egg quality to rewarding users: you need lots of participating users to offer your service to customers, and lots of customer revenue to reward users. Still, Breen points out, the specific business of testing Web sites offers much more chance of success than the generalized distributed computing of companies like Popular Power.
In distributed computing, you have to worry about someone altering the program or sending back fake results. SETI@home had some pretty serious problems dealing with bozos who made alterations to its calculation algorithm. (Not for malicious purposes, usually, but just to try to increase their ratings. Many users made real improvements to the algorithm, but others made incorrect changes in trying to achieve that result.) Porivo addresses this problem with belt, suspenders, and maybe something else too:
They have clauses in the license agreement that forbid such tampering.
They use SSL connections to encrypt all traffic between the peer and Porivo servers.
They run a periodic checksum of all client files every 15 minutes to ensure cryptographic integrity.
Their new update system allows them to create and install a new version on all clients quickly should someone manage to corrupt the clients.
Part of Porivo's service is based on an academic distributed computing project by Breen. One of the changes they had to make to the academic project was to strip out the message-passing layer, which was based on Java RMI, and substitute a more basic socket layer with XML on top. Apparently, RMI was not general enough; XML is better because everybody has something that can produce and parse XML.
Porivo is currently shipping peerReview. They have a pilot program with 10 customers, and they expect to have paying customers in the near future.