|
Use of the Gnutella Protocol in B2B Information-Sharing Networks
BadBlue Position Paper
April 8, 2002
Doug Ross, Chief Technology Officer, BadBlue.com
dir@badblue.com
Executive Summary
Today's business environment requires the ability to communicate and securely share information quickly over diverse infrastructure, devices and data architectures. Peer-to-peer infrastructure using de facto standards (such as the Gnutella protocol) represents a major improvement in the construction of peer-based information-exchange networks.
Use of the Gnutella protocol has, since its inception, been synonymous with the peer-to-peer sharing of music, videos and other complete files. BadBlue’s Enterprise Edition introduces a feature-set that leverages the Gnutella protocol but allows complex data files (e.g., spreadsheets and database tables) to be searched and partial results returned between cooperative members of a business-to-business network.
BadBlue is powering a subscription-based network of part vendors in a specific vertical industry. Each vendor is equipped with a BadBlue-based application that provides real-time access to an inventory spreadsheet. Vendors can search over a variety of fields using complex query terms and relational expressions and return results from other vendors even in doubly firewalled situations.
BadBlue believes that this is the first use of the Gnutella protocol for a pure business-to-business application that involves distributed, real-time database queries and result transfer.
Range of Applications
The information exchange networks enabled by this approach embrace users with disparate connectivity options, in diverse geographic locations and with radically different technical architectures. These new capabilities allow the creation of a wide variety of hitherto untried network applications. In addition, these applications are compelling from a business-model perspective as they can employ a subscription-based payment approach.
Examples of this class of application include:
- Real-time searches of inventory in a specific industry consisting of many disparate trading partners
- Real-time searches for professional service skill-sets over a diverse consulting population
- Real-time monitoring of up-time, status and manufacturing information over a disparate MES or device environment
These new applications revolve around the instant access of available information for purposes of trading, driving inefficiencies out of resource pools and real-time data transfer.
Components of the Solution
BadBlue Enterprise Edition adds the following components to provide real-time, peer-to-peer database searching. It is worth noting that a P2P information exchange network of the type described earlier will typically use a closed (private) network and not leverage the public Gnutella network in any way.
Real-time data indexing: the product indexes specified key fields of a spreadsheet or database on a scheduled basis; the indexing operation serves to cache the query fields, the result fields, the query operators and static information to be returned with the result-set. The operators define the type of search to be performed on each key field (e.g., exact match, must match beginning of string, must be greater than or equal to, etc.). Static information can describe extended data about the source of the data (i.e., commerce or contact information for authorizing a transaction, notifying a peer of intent to purchase, etc.).
Query translation: the product translates a complex, form-based query (e.g., "description is red and distributor is acme") into a flat Gnutella-compatible query suitable for transmission over the private network.
Result translation: the product translates the search results (e.g., description, distributor, price, logistical information) from the flat, Gnutella-compliant result set into its constituent records and individual data fields along with attendant static information. The static information can be used to fulfill an electronic commerce transaction or provide additional contact information for human-to-human interaction regarding the data.
Customizable connection (handshake): the product allows customization of Gnutella connection request and response strings to ensure coherence of the private trading network. The combination of connection request and response strings combined with optional encryption mechanisms allow for tight control of the set of peers able to interoperate on the network.
Encryption: the product will provide for the optional use of symmetric private-key encryption of all peer-to-peer traffic to ensure the privacy of the information-exchange on the network.
Subscription engine: the product will provide for optional use of a subscription engine which will ensure that only users with valid licenses are able to connect to the network; only these users will receive the correct connection and encryption information enabling them to exchange information on the network.
Automated peer finding and notification: the product allows for the configuration of peer finding and notification. Peers can be configured to alert other systems of their presence on the network and can search directories for other peers before attaching to the network. Peer finding allows a servent to rapidly build a large pool of potential connection points before serving notice that it is now ready to honor other incoming connections.
These components leverage the Gnutella protocol to create completely private, subscription-based information exchange networks.
Configuration of a Peer – an Example
The following example highlights configurable elements of a peer-to-peer information-exchange network around professional services using Excel spreadsheet data.
- File to index (e.g., c:\data\consultant.xls) – this is the specific file which will be cached for real-time searches through the network
- Index-columns (e.g., C,D,G,I representing location, office, skill-set and experience level) – these are the columns of the spreadsheet that are cached for extremely rapid searches
- Result-columns (e.g., A,B,C,D,E,F,G,H,I representing relevant result information such as consultant name, employee-number, etc.) – these are the columns of the spreadsheet that are cached and will be returned upon a successful match
- Operator-columns (e.g., Beginning, Anywhere, Anywhere, Greater-than representing the type of searches to be performed on the index-columns) – these allow search operations to vary based upon field type such that experience-level, for example, must be a minimum of level 4 or above
- Static-columns – representing static information that can be returned upon a user "drilling down" into a successful match to discover more about the resource, item or service; for example, static information might contain contact information for a resource or transactional information related to electronic authorization or settlement of a quote-buy-sell
- Connection-request (e.g., CITN CONNECT/0.4) – a private network connection request string that identifies the request of a network peer to access the network
- Connection-response (e.g., CITN OK) – a private network connection response string that successfully acknowledges the connection request
- List-URL (e.g.,
http://foo/listpeers.php) – service URL which enables a peer to discover recently connected network peers
Notify-URL (e.g., http://foo/regpeer.php?msg=<IP>) – service URL which enables a peer to notify others that it is available for connection; note that with BadBlue’s ability to serve web applications (e.g., PHP), a BadBlue peer can also serve as a list- or notify- agent
This example highlights the ability of the product to enable the construction of a new type of information-exchange network: peers with varying connectivity speeds, with diverse data architectures and with different performance characteristics can search and share arbitrarily complex structured data.
Conclusion
In brief, BadBlue believes that P2P architectures using well-documented protocols such as Gnutella will drive the advance of information-exchange networks in many quarters. Further, the company believes that a strong commitment to the use of standards will permit the highest possible level of cooperation and collaboration among network participants, vendors and integrators.
Re-purposing the Gnutella protocol for business uses could prove to offer a significant breakthrough in B2B communications. BadBlue believes that it’s simply a matter of time before Gnutella protocol-based B2B communications become a new standard.
BadBlue Enterprise Edition
BadBlue Enterprise Edition is a tiny, peer-to-peer web server that runs on Windows 95, 98, NT, 2000 and XP. Designed for mobile, wireless, P2P and conventional architectures, it allows corporations to collaborate using standards-based approaches. For trading partners, BadBlue EE supports live searching and sharing of Office data (e.g., Excel spreadsheets, Access data), thereby lowering the barrier-to-entry for information-exchange networks.
For more information, email corp@badblue.com or visit http://badblue.com.
|