473,505 Members | 13,982 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Reliable P2P Framework???

Im working on a p2p file sharing network (in C#) but im having
problems in my conflict resolution ( for 2 clients requesting the same
file. )

My Network Architecture is some thing like this :

A Central Server :
It is the starting point of my network . All auxillary servers
register their local IPendpoints here . These IP End Points are given
to incoming Client s .. so they can then connect to that specific
auxillary and join the network .

It will also house the central database(read on) which will host all a
list of all files on all clients .

An Auxillary Server :
Each auxillary has 3 (can be increased) local ports on which it waits
for incoming client requests . Once a client gets connected to the
auxillary it sends it , its file list . (Thus the auxillary maintains
a file list of all clients connected to it. {Not sure if i should do
this ?? } ) .
The auxillary also .. always maintains 1 connection always with each
of its clients .
This is not the case for the server . Every time the Aux. and the
central need to communicate a new TCP connection is started .

A Client :
A client first gets itself an auxillary from the central and then
stays connected to it through out its life time / or until it
disconnects from the auxillary.

[ALL this is DONE ]

Now I cannot figure out whether only the central should host the
database or also each of the auxillaries .

What i had thought of was :
The central maintain the Database . Every time a client need to search
for a particular file on the network .. it tells its respective
auxillary which then returns a file list (from the central) with IP's
of all clients having that file . Then that client chooses a file from
that file list .. again tells the server that ; that particular file
is going to be downloaded so remove it from the Database (so that no
one else can search for it} . It then directly connects to the other
client having that file and starts transfer .

This seems fine but has a lot of problems . To start with what if 2
clients on 2 different auxillaries request the same file . Both will
start downloading it coz both will assume that the server will remove
its entry from the database .

Secondly what if a particular client A has 3 files 1,2,3 . Client B
starts downloading 1 , client C starts downloading 2 . 3 's entry will
still exist on the server ; but there will be no outgoing connections
left on A ( each client has only 2 outgoing connections . ) for a
client D who wishes to download that file .
I wish to implement the protocol with least amount of data exchanged
between all 3 programs !!

ANY IDEAS ?? pls help
Jul 21 '05 #1
0 859

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1527
by: relisoft | last post by:
Seattle, WA -- Seattle-based Reliable Software® announces the release their Windows Library into the public domain. Reliable Software Windows Library, RSWL, is the foundation for their compact,...
2
1760
by: Kumarforg | last post by:
Hi I need to use the class IISVirtualRoot to create virtual directories in IIS What worries me is the warning in the documentation that reads "This member supports the .NET Framework...
0
1090
by: Mike | last post by:
Hi! I need to copy a file from a network location. I used File.Copy() but often the call fails with a variety of errors especially FileNotFoundException even though the file is there. Perhaps the...
8
1567
by: Vaughn | last post by:
I'm looking for a reliable Web Hoster that has full Dot Net functionality.I'm basically looking for something that's about $10/month or less, has ASP.Net support, and has positive feedback and...
5
1632
by: Hazz | last post by:
I needed to provide client side validation for a web forms text box, radio button list, and drop down list. I asked two developers I work with what they thought I should do. One said Javascript,...
3
5714
by: Bill | last post by:
Has anyone used/tested Request.Browser.Crawler ? Is it reliable, or are there false positives/negatives? Thanks!
11
1740
by: OlafMeding | last post by:
Because of multithreading semantics, this is not reliable. This sentence is found in the Python documentation for "7.8.1 Queue Objects". This scares me! Why would Queue.qsize(), Queue.empty(...
4
1561
by: John Grant | last post by:
If I build a web services today with VS 2005 does it support reliable messaging? If I use WSE 3.0 will it support reliable messaging? If I don’t have reliable messaging can I make a web method...
1
2171
by: relisoft | last post by:
SEATTLE, Washington. - July 12, 2006: Reliable Software® announces the upcoming release of Code Co-op® version 5.0. Code Co-op is an affordable peer-to-peer version control system for distributed...
0
891
by: =?Utf-8?B?QXJuZQ==?= | last post by:
What version of Web services do I need to get in order to do reliable messageing? I would like my webservices to have an automatic retry built into the framework. -- Arne Garvander...
0
7216
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7367
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7018
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7471
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5613
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5028
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4699
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3187
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3176
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.