solution: move the database servers to UNIX (its faster) ; UNIX’s networking environment was based on TCP/IP so the desktop clients were given a TCP/IP stack (enter winsock.dll, Novell’s DOS based stack )
Peer-to-peer computing is the sharing of computer resources and services by direct exchange between systems.
These resources and services include the exchange of information, processing cycles, cache storage, and disk storage for files.
Peer-to-peer computing takes advantage of existing desktop computing power and networking connectivity, allowing economical clients to leverage their collective power to benefit the entire enterprise.
In a peer-to-peer architecture, computers that have traditionally been used solely as clients communicate directly among themselves and can act as both clients and servers, assuming whatever role is most efficient for the network.
The web site is serving up static files as normal, but kicking off the BitTorrent helper app on the clients.
The tracker is receiving information from all downloaders and giving them random lists of peers. This is done over HTTP or HTTPS.
Downloaders are periodically checking in with the tracker to keep it informed of their progress, and are uploading to and downloading from each other via direct connections. These connections use the BitTorrent peer protocol, which operates over TCP.
The origin is uploading but not downloading at all, since it has the entire file. The origin is necessary to get the entire file into the network. Often for popular downloads the origin can be taken down after a while since several downloads may have completed and been left running indefinitely.
The main problem with the JINI/RMI implementation of P2P is the registry; it is a single point of failure I.e. if the registry goes down then the P2P network is dead. No one can find a peer.
Enter Multicast sockets
similar to UDP (sends datagrams) but sends them multicast
sender part of servant periodically broadcasts its presence
receiver part of other servants receive the datagram and add the peer to their list of peers currently on line
(this is like JINIs lease concept) if the receivers stop receiving the “I’m here” message from a peer the assumption will be that the peer has left the network and the missing peer can be removed from the list of peers currently on line.
Peers can communicate directly with one another using either TCP or UDP.
Created by SUN in response to growing popularity of P2P
Attempts to sole the following P2P problems
Security/Authentication: large p2p applications like AOL IMr and MSN IMr use central servers to bootstrap users onto the network. This helps insure that a particular user uses a particular online identity.
Peer Discovery: realizing the presence of your peers is difficult, multicast on the surface looks good but doesn’t work well outside of the LAN environment
Network Incompatibility: currently each p2p product ends up with its own set of protocols thereby allowing no interoperability
Platform Incompatibility: developers must rewrith low level aspects of their p2p apps for each platform. Wireless and mobile devices have a very limited menu of p2p tools.