Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   LimeWire Beta Archives (https://www.gnutellaforums.com/limewire-beta-archives/)
-   -   SuperNode Beta (https://www.gnutellaforums.com/limewire-beta-archives/5222-supernode-beta.html)

afisk November 6th, 2001 02:16 PM

SuperNode Beta
 
LimeWire has released the beta version of our supernode implementation,
available at:

http://www.limewire.com/index.jsp/download_beta

In our preliminary results, client nodes receive almost no traffic over
their single, supernode connection, while supernodes are not adversely
affected by the increase in connections. The supernodes and clients also
use query routing.

If people have trouble connecting, you can try connecting directly to
216.27.158.74 on port 6357. We encourage anyone who would like to connect
to give it a try. Unfortunatley, only LimeWires can currently connect to
supernodes or become supernodes themselves (due to query routing, switching
between client/supernode
state, etc). The implementation is, as always, available from our CVS. The
branch is called supernode-branch. Credit for the supernode implementation
goes to Anurag Singla.

TruStarwarrior November 8th, 2001 03:53 PM

I am wondering: what happened to the Sparky Project? Is it dead? Is development continuing? Or is this an evolution of Sparky?
Thanks.
:-)

afisk November 8th, 2001 04:03 PM

Hey TruStar, how's it going?

The Sparky project is still around, and it's actually incorporated into supernodes. We were having some reservations about releasing sparky given the current dynamism of the network (Chris can tell you much more than I on this part), but with the stability that supernodes add, it makes more sense. Clients communicate with supernodes using query routing (Sparky technology) that dramatically reduces the bandwidth they must use to communicate their files to the supernode.

This also makes it possible for the supernode to forward searches to the correct client nodes connected to it far more cheaply than if they had to search through a normal index, so it makes it much less costly to become a supernode (it doesn't slow down your machine as much as it otherwise would). In terms of communication between supernodes, that will likely not use the sparky technique.

So, the short answer is that it's still around and that it's getting incorporated into the client-supernode communication.

Hope that makes sense!

sweeppicker November 8th, 2001 10:38 PM

ATTENTION LIMEWIRE TEAM - supernode problem
 
Hey LimeWire Team,
U guys make a hell of a gnutella client. Its the best but the new supernode client is a serious pain in the **** to use,
I can't even get it to connect. It just sits there idle, i ve tryed adding the recommended IP address you mentioned in
this thread but no luck.I tryed to change the port through the options menu to the one u suggested but after i click "apply" and then hit "ok" it freezes up.
Could you perhaps elaborate on what to do. Im so used to just firing LimeWire up and having it autoconnect.

By the way, do u see supernodes as the future to gnutella scaling? Will the gnutella network be able to interconnect to the sheer size of Fasttrack? I can't imagine the amount of content being available with everyone connected to one another.
Keep up the good work.

Thanks,
Sweeppicker

LigH November 9th, 2001 06:47 AM

SuperNode - what is it good for?
 
Dear Gnutella users, dear LimeWire team,

because I'm able to provide a connection with good speed, I somehow thought that someone would like it if I run a "SuperNode" of LimeWire. But I'm missing some kind of documentation to have a developer proved this to me. So I still wonder: What is a "SuperNode", compared to a normal client? What does it do, in contrast to a normal client? Who has an advantage of me running a SuperNode? - The first difference I discovered: I don't see a client/file statistic in the lower left part (status area), only the "Connect" button count of my shared files; my SuperNode client is running fine, though - at least many many clients are being checked.

It would be nice if I could find a hint on the LimeWire web page soon - today I could not, neither with the internal search egine nor with externals.

afisk November 9th, 2001 07:47 AM

In respnse to the first user who has had trouble connecting, I think this is related to a more general connection problem, and not specifically related to supernodes. We took out some of the "quick connect hosts" from the supernode beta and added a supernode to that list, as we wanted to increase the likelihood that you would get connected to the supernode.

I would recommend restarting LimeWire, as the code for connecting to other users can sometimes sort of get "stuck" in a waiting state. We're going to look into this code again as soon as possible.

We definitely do see supernodes as the future of Gnutella. They allow the network to function for more efficiently, with far less messaging required across the network to search for files and to connect. With this technology, Gnutella will be able to "scale" to at least the size of FastTrack. It should significantly increase the number and quality of search results.

Thanks to everyone for trying the beta!

afisk November 9th, 2001 08:01 AM

1 Attachment(s)
I've attached a diagram that gives a better picture of what supernodes do. In the diagram, each little oval is one computer, or "node," on the network, and each line is a connection between the nodes.

The larger ovals are the supernodes. The smaller nodes are the "client" nodes. Each client node only has a connection to the supernode.

I will attach a second quick diagram in the next message (I think I can only do one attachment per post) that depicts the current network.

As you will see, sending a message out on the current network makes traffic fly everywhere. With the supernodes, the client nodes also only receive searches if they actually have the requested file. Otherwise, the supernode does not forward the search to them.

afisk November 9th, 2001 08:02 AM

1 Attachment(s)
Here's a depiction of the current network:

LigH November 9th, 2001 08:43 AM

Impressive...
 
I think I got it. Of course, all supernodes need to communicate with each other and share search requests, to allow sharing between clients which are attached to different supernodes.

It's like a step towards the eDonkey2000 concept: There, servers only manage users and search requests, but don't host files. Here, a supernode is like a two-in-one request server and user client.

This concept I would expect to give a good boost to the Gnutella network - when many clients know about this technology.

natalie7066 November 9th, 2001 08:52 PM

do i have the beta version?
 
when I downloaded the beta version I received a message telling me "unable to install instashield". Does that mean that it did not install the new version or just the shield?:confused:

TruStarwarrior November 9th, 2001 09:40 PM

Thanks
 
Afisk-

I'm doing fine. Thanks for asking. I'm glad to hear Sparky will be used in later phases of the Gnutella evolution. The diagrams were especially helpful in visualizing the concept. When do you expect to see this supernode/client scheme to be realized?

Again, thanks for your reply.
:-)

LigH November 9th, 2001 10:52 PM

I had a SuperNode running when I left the office on Friday - let's see if it is stable and still running after the weekend...

LigH November 9th, 2001 10:56 PM

@natalie:

I found that the LimeWire installer may need to download additional components of the InstallShield system while preparing the installation - this may depend on the operating system you are running. If it is not able to download the proper components, and therefore is unable to complete the InstallShield system, then it most probably won't be able to complete the installation of LimeWire, too.

sweeppicker November 10th, 2001 01:34 PM

REPLT TO LIMEWIRE: attention Adam
 
Hi Adam,

I took your advice and restarted the limewire "supernode" client but still no luck.
The auto connect hosts just dont respond for some reason. It doesnt even appear to try and connect.
Its as if it forgets to. With Limewire 1.8 it autoconnects just fine. I had this same problem with "Sparky".
If I try to change the port via the options menu Limewire will just hang.
Im really eager to test out this beta. Sice I run Limewire 24/7 and am running off a cable modem I might have the resources to be a supernode.

Thanx again,
Mark P

Unregistered November 12th, 2001 12:30 AM

Re: Thanks
 
> When do you expect to see this supernode/client scheme to
> be realized?

It was a long time ago that FreePeers (BearShare) created something called Defender (Before Defender was Reflector, by Clip 2). Defender too used the client/server model, where these "supernodes" handled most of the traffic, allowing low bandwidth users to connect to the supernodes and chat, search, save bandwidth, etc.

But a long time ago, expecting to implement the supernode/client model was a bit unrealistic.

John Blackbelt Jones November 13th, 2001 08:53 AM

Using Linux I encountered a little bug. When the download of a file is complete, it remains in the download-list although I checked the 'remove completed downloads' option. Moreover, the client tells me it is still downloading the file at 0k/s although the download has reached a 100% and the downloaded file has already been moved to the shared-folder.

afisk November 14th, 2001 07:00 AM

Thanks for reporting this Linux errror. We'll have a look at it as soon as possible. If you're a programmer, you could also take a look at the source at www.limewire.org =). We'll fix it though, thanks!

afisk November 14th, 2001 07:02 AM

I am not really sure why Vinnie never released Defender -- we have never really spoken with him about it at great length. The LimeWire "superpeers" are a similar concept with some slight changes here and there.

We expect to release our superpeer implementation quite soon -- sometime in the next month or so, if not sooner.

anti-bearshare November 14th, 2001 04:22 PM

woohoo!
 
SUPER-PEER! SUPER-PEER! SUPER-PEER! She's SUPER PEERY!!


SUPER-PEER!!.....






get it? yeah....shutup.

Vinnie November 19th, 2001 05:58 AM

vinnie
 
We didn't release it for a couple of reasons:

1) Proprietary implementation = bad

2) Inadequate discovery method for servers (relying on broadcast queries)

3) Uploading the entire index of files was expensive for modem users, and required a lot of extra work when the local file indexes changed (QRP solves this better, both technically and legally)

I think the LimeWire supernode implementation solves all of these problems and that's where we are going.

afisk November 19th, 2001 08:17 AM

Hey Vinnie -- good to see you over hear on the LimeWire forums!

The proprietary implementation problem is definitely an issue. Hopefully the openness of the query routing proposal (the QRP that Vinnie alluded to, the underlying technology behind the old "Sparky" alpha), and of the supernode scheme and the LimeWire source code will help mitigate this problem.

As far as discovery of servers, that is one of the trickiest problems that we have faced as well, although I think that Anurag and Chris have worked out most of the issues there.

Best,

Vinnie November 19th, 2001 09:10 AM

Discovery
 
Well, if both LimeWire and BearShare implement supernodes then discovery will be a much simpler.

The original Defender specifications called for searching for servers having certain languages or subjects but I think that the traffic it caused did not justify the feature.

Moak November 19th, 2001 09:14 AM

After Limewire and FreePerre became best friends, maybe someone can explain some of the new ideas to the community? I have no idea of Sparky/Superpeer/Swarming implentation details, explanations or development discussion. Also I don't know who is QRP, Anurag, Chris?

Thx, Moak

afisk November 19th, 2001 10:27 AM

The history of all of these ideas would be a bit too lengthy to go into in detail, but here's a general summary:

"Sparky" was the little codename for a LimeWire alpha release (released about 2 months ago or so) that was a test of the "Query Routing Proposal," or QRP.

The QRP is simply a way of doing a sort of distributed indexing of files on the network -- basically a way of efficiently letting the computers you're connected to know what files you have so that the computers around you only forward messages to you that they know are relevant to you (searches for files that you actually have). Just think of it as a way of routing messages on the network to the computers that the messages are relevant to as opposed to broadcasting those messages to everyone. The idea is to improve the efficiency of message passing on the network so that it doesn't take up so much bandwidth, leaving you with more bandwidth for transferring files. More information is available at:

http://www.limewire.com/developer/qu...%20routing.htm

Supernodes, or "superpeers," as discussed earlier in this thread are computers on the network that for purposes here index the "client" computers that are connected to them (see earlier diagrams). They actually use query routing for communication between clients and peers, but don't worry too much about that. Basically, the supernodes sheild client nodes from all of the messaging on the rest of the network, only forwarding searches to client nodes if they actually have the files. More information is at:

http://groups.yahoo.com/group/the_gd...upernodes.html

Swarming is simply the ability to download a single file from multiple sources. So, you download different parts of the file from different computers simultaneously. The idea here is to allow you to download files as quickly as possible (as you can try to max out your download bandwidth if the uploader is the bottleneck). Note that this doesn't help for low-bandwidth users.

So, QRP is a proposal and not a person. Chris and Anurag are superstar LimeWire developers and pillars of the community!

Links to all technical papers are at:

http://www.limewire.com/index.jsp/tech_papers

afisk November 19th, 2001 10:28 AM

Woops -- looks link the lnks were too long. Just go to the last one -- it links to the others.

Moak November 19th, 2001 10:52 AM

Thx a lot!

Maybe it would be a good idea and spread ideas to a larger community?

I think you assume that all developers or Gnutella interested users are inside the_GDF? I personally have some problems with the_GDF: The GDF is kind of hidden and still hard to find, I think no Gnutella webside has a link on it. The GDF files (e.g. as linked above) are only available together with an Yahoo account. A lot of traffic on the list are about client orientated details, while I was only interested in Gnutella ideas, concepts and development at whole.
Also it seems that development inside the_GDF is very slow and brake appart from the real world? I remembered when Xolox came up and showed the idea of segemented downloads, or details about FastTrack has been detected (especially the very interesting superpeer concept). I have seen no comment about this breakthrough (but Vinnie Falco saying how bad Xolox and there ideas are).

Personally I have been interested in Gnutella and new ideas. Months before (before I found the_GDF by acident) I was discussing with some other guys about swarming and future ideas... but the ideas were forgotten, because we didn't find other interested users.

Maybe in future you wanna read some postings in this forum (www.gnutellaforums.com, especially "General Gnutella Discussions") - or spread your research results to a bigger public. I hope a lot of interested user will now find a way to this new forum:

"General Gnutella Development Discussion"
http://www.gnutellaforums.com/forumd...?s=&forumid=42

I think dreams, ideas and knowledge are a key to an improved Gnutella (okay _hard_ work from the client developers is another!).

Greets, Moak

Moak November 19th, 2001 11:02 AM

PS: Very interesting link collection!! Haven't checked your site a while. Btw, I'm sorry that I never could bring some ideas to Limewires research, at least the Limewire contest is not for Europeans.

anti-bearshare November 19th, 2001 06:56 PM

hey!
 
Adam Fisk, what happened to the SuperNode beta? I really liked it. The reason I dont have it now is b/c I had to reinstall then I go check and its gone from limewire.com. But I have noticed in the limewire.props of 1.8b there are some strings containg the text 'SUPERNODE'. I'm making an assumption here, but does 1.8b has supernode features? But while I'm talking about the limewire.props file I would like to know what these values mean.


EVER_SUPERNODE_CAPABLE=false

SUPERNODE_MODE=true

SUPERNODE_PROBATION_TIME=300000

CLIENT_ID=(32 characters long)

afisk November 20th, 2001 08:06 AM

The supernode beta basically got supplanted by our 1.8b beta, although you can still get it from:

http://www9.limewire.com/beta/supern...imeWireWin.exe

or

http://www9.limewire.com/beta/supern...eWireLinux.bin

or

http://www9.limewire.com/beta/supern...imeWireMac.bin

or

http://www9.limewire.com/beta/supern...imeWireOSX.sit


The values you noticed in your limewire.props file are there because we merged some of the supernode code into the main code base prior to releasing 1.8, although it is not active.

EVER_SUPERNODE_CAPABLE simply determines whether or not we have ever measured your machine to be capable of becoming a supernode or not. This is based on operating system, your measured upload and download bandwidth, the average amount of time you run the program on average, and your firewalled status. Note that this does not necessarily mean that you are incapable of being a supernode. Rather, it indicates whether or not we have ever determined that you are capable of becoming a supernode (specifically, whether you have done enough uploads and downloads for us to determine that you have high bandwidth).

I believe that the SUPERNODE_MODE key is a relic of the early code, and will not be included in the final supernode release. The SUPERNODE_PROBATION_TIME will also no longer exist in the actual release.

The CLIENT_ID is just a random number that uniquely (more or less) identifies your machine on the network (not to us, but to other Gnutella nodes). LimeWire knows nothing about this value. It is simply used to make messages work on the network.


As far as general Gnutella development goes, we do try to create as open an environment as possible by making all of our research documents publicly available on our web site and through forums like the GDF. The problem with participating in more general forums is that it starts to be very difficult to discuss technical details on a meaningful level unless the participants have a thorough understanding of the technology -- usually meaning that they have coded a Gnutella client themselves, or could easily do so. Basically, at some point it starts to become unproductive to open the discussion completely. Right now it's open, but you just have to be interested enough to find it, and technically savvy enough to understand it. If we had more resources, it might make more sense. Right now, however, we very much have our hands full!

Thanks.

afisk November 20th, 2001 08:31 AM

For developers interested in getting involved, there's also the open source project at www.limewire.org. This includes a general discussion list on development issues.

Moak November 20th, 2001 08:47 AM

I'm sorry to hear that you are not interested in a developer forum outside the_GDF.
For sure there are more highly skilled coders and network specialists which will not find a way to the GDF and therefor wasted. Do not expect a high amount of hits there and on the Limewire pages only. I personally are to busy to code my own client and don't want to participate at one special client, yet. However good luck with your research projects! Please post any documentation also outside Limewire and the_GDF.

PS: Please tell Vinnie not to change subjects without notice in the GDF, sometimes it's hard to follow threads. Someone will kill me for that notice yet. :)

Greets, Moak

Morgwen November 20th, 2001 09:12 AM

Hi afisk!

No time?

There are developers having time to post useless threads!

But having no time to read a forum for improvements?

Ok all talented programmers know it is wasted time to think about Gnutella improvements, if you donīt want to hear them!

Morgwen

Moak November 20th, 2001 09:12 AM

Hi Afisk,
yep I completely agree in this points! Thx for your feedback and I hope we find a bigger gnutella developer community to improve Gnutella and give ideas/concepts to the client developer! I also know that client programming needs a lot of time. So long, happy coding! Greets, Moak :)

afisk November 20th, 2001 09:36 AM

Morgwen-

I'm not really sure what point you're trying to make. The client developers work very hard, and we basically participate in these forums whenever we have a chance.

Moak-

I too hope the Gnutella community expands and incorporates the many creative ideas of people like yourself to make the network as strong as possible. Are you working on a cleint? If you get a chance and haven't already, you might want to check out the source at limewire.org. It's meant partly as a reference implementation for other clients, so the code is very well commented with nice, complete javadocs.

Thanks for your work on all of this.

Morgwen November 20th, 2001 09:44 AM

Hi afisk!

May be my post was a little to offensive!

But my point is!

There are many developers who work on Gnutella improvements, they are working also very hard for it!

So if you have only one or two hours a week to read this forum and comment the best ideas, it would help all people (you too!).

Not only the client developers are working hard for Gnutella!

All people who give people support for your products are working hard as well, please donīt forget this!

Morgwen

afisk November 20th, 2001 10:07 AM

Morgwen-

I think I misinterpreted your message a bit. I did not mean in any way to discount the efforts of everyone involved in the Gnutella community. We all very much benefit from the hard work of people like yourself, and the client developers benefit a great deal from this larger community as well.

Hopefully we can all continue to work together to make the Gnutella protocol the web standard that we all hope it can become (it is now, to some extent but it could go much further)!

Unregistered December 2nd, 2001 12:46 PM

I've just skimmed through this thread and thought would it be feasible to implement a subsupernode feature in the normal LimeWire program.

The idea is that some of the ppl with 24/7 internet access might want to support the Gnutella network by appointing all available bandwidth to search queries and other Gnutella related network traffic when they're not downloading/uploading or sharing files.

Could this be an idea? Currently I'm on a ADSL 256/128 Up/Down line ,and I wouldnt mind letting LimeWire pass messages back and forth while I'm sleeping not at home i.e. not using the computer.

Idea?

afisk December 2nd, 2001 04:02 PM

That's definitely an interesting idea. The only problem here is that bandwidth is not typically the constraint on supernodes. The number of TCP/IP connections the machine can handle is more typically the bottleneck. In fact, supernodes need to devote surprisingly little bandwidth to messages -- not much more that normal nodes had to devote to bandwidth prior to the supernode implementation.

So, while this is an interesting and creative idea, it solves a problem that is thankfully not really there!

Thanks.

Morgwen December 5th, 2001 08:29 AM

Hi afisk!

Trying to download the supernode beta with the mentioned link it always displays me the current 1.8c beta...

What is wrong?

Is the link incorrect?

Morgwen

afisk December 5th, 2001 08:50 AM

Actually, that was just our general beta page, which was replaced by the 1.8c beta. The supernode beta is pretty much obsolete now, but it's code (a much improved version actually) will be included in the LimeWire 1.9 beta that is do out within the next week.

The supernode beta also had a built-in timer that should have timed it out by now as well.

Thanks.


All times are GMT -7. The time now is 12:20 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright Đ 2020 Gnutella Forums.
All Rights Reserved.