Ok, let me propose a persistent connection scheme:
General idea:
1. Persistence is requested, and optionally provided.
2. When over connection threshold, non-persistent connections provided.
3. Clients silently request a new connection if a persistent one has closed.
Parameters:
1. A "persistence" bit in the flag field for both request and response.
2. Two connection number thresholds: "expire" and "max" (default 10 and 20)
3. Two time limits: "minimum" and "maximum"
Algorithm:
1. Client adds a "persistence" bit in it's request to owserver. Otherwise
connection will be closed after transaction (current behavior).
2. Server will respond with data, and add "persistence granted" bit if it
isn't over limit (or older non-persistent owserver).
3. After transaction, owserver keeps listening on that socket, until first
time limit ("minimum") is reached.
4. If the total number of persistent connections is less than the "expire"
limit, the socket will remain listing until the "maximum" time limit.
5. After the "maximum" time limit, the socket is closed.
6. If more than "expire" persistent connections are active, then the socket
is closed after the lower time limit.
7. If more than "max" persistent connections are active, only
non-persisntent connections are granted.
The idea is that there is a bound on open sockets (except non-persistent
ones), and that the use will gracefully decline if there is no activity.
Further, suspend states should be accomodated. And no unnecessary network
chatter is generated.
This is still the planning stage. I'd be interest4ed in feedback, criticism.
Paul Alfille
On 1/9/07, ziggy <[EMAIL PROTECTED]> wrote:
I understand your explanation. The implementation is simple, and in most
cases is quick enough. However, I think it can be demonstrated that when
WANs are being used, performance could be improved. My initial results
indicate that a local LAN client can run my test script in about 8min 42sec.
A remote client with only 20ms latency takes about 12min 40sec. This is
preliminary (only three runs each), but it gives you some idea. I'll post
the results when I've done a more formal job.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers