473,659 Members | 2,680 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 868

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

Similar topics

0
1550
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, feature rich applications including the flagship product, Code Co-op. The use of RSWL in both individual and commercial products is free and not restricted to public domain projects. RSWL provides a thin, easy to understand, object-oriented layer...
2
1768
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 nfrastructure and is not intended to be used directly from your code" How reliable and predictable is the behaviour of the members of the namespace System.EnterpriseServices.Internal TI regards
0
1099
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 call times out before the file is accessed? I try again and the operation goes through. I eliminated permission problems and our network is very reliable. I am wandering if there is anything else in the vast .NET framework I could
8
1572
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 reviews. It should also have some type of DB support (preferably SQL Server although most charge additional for it). Since I'm an independent software developer with a limited budget, in the near future I want to use the site as a way to display my...
5
1640
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, the other the Validation Controls. I chose the RequiredFieldValidator although I had done considerable work with Javascript in my ASP days. In 3-5 minutes I had two controls validated and working. It took me a little longer with the drop down...
3
5718
by: Bill | last post by:
Has anyone used/tested Request.Browser.Crawler ? Is it reliable, or are there false positives/negatives? Thanks!
11
1751
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( ), and a Queue.full() not be reliable? Looking at the source code of Queue.py, all 3 calls use a mutex (based on thread.allocate_lock()). Does this mean that the thread.allocate_lock() mechanism is not reliable (scary indeed) or does
4
1566
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 call that does not reach the web service? If so, what does the call do? Timeout, hang? thanks
1
2181
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 development enabling collaboration through Email, LAN, or VPN-no server required. The upcoming release of Code Co-op 5.0 is due out this fall. With this release Reliable Software continues its track record of innovation by introducing...
0
896
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 Certified .Net Geek
0
8427
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8851
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8746
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8525
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7356
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6179
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4175
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 last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2750
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1737
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.