Tuesday, September 21, 2004

A Corporate Encrypted and Closed P2P Network (part 1)

I've been working on a kinda-sorta cool demo -- a p2p network for corporates, where they can use p2p with a webservice front end. Here is the idea - 1. Your entire intranet is on p2p 2. The data on the intranet is on the web as a webservice 3. Other intranets in your company are also on p2p 4. They are also on the web as a webservice 5. You can query within the p2p in your intranet, and into the p2ps of other intranets using the webservices 6. All channels on the intranet and the internet are encrypted, and in case of webservices through SSL. I've done the basic p2p framework, and I'm almost done with the webservices part. I need to do the encryption part, but before that I would like you guys to have a look at the code sometime and make sure it's robust and free of any buffer overflows and the like. At the moment, I also have some issues with scalability - the thread can support only upto around ~200 users. And since corporate intranets are not likely to have more than a few thousand or so users, I do not forsee this to be a problem. My target audience is - Pharma Industry, Architectural firms, Automobile and other CAD dependent organizations. Such places usually have tonnes of files that need to be shared between users, and even today they use FLOPPY disks - splitting the files across several systems. Some are networked, some are not, and it's too painful. However, this would be a nice easy solution. We can license it as an off-the-shelf product for a small number of users, and larger numbers could buy the enterprise edition (with better crypto and the like). I'm using Microsoft .Net and C# for the code, and SOAP+XML for the webservices -- for the simple reason that most of our target customer base is most likely to use Microsoft Products.