Modelling P2P Networks
Nathan Kennedy writes: "Mihajlo A. Jovanovic did his Master's project at the University of Cincinnati on modelling P2P networks with Gnutella as a case study. You view his project along with source code, stunningly pretty pictures, an applet and a paper on scalability."
Hindis killing Muslims. Music to my ears!
"Why did they cancel my favorite Sci-Fi show? I downloaded ALL the episodes!"
Well, well, well...
It would seem that I HAVE A FIRST POST
Gosh, golly - tough shit to everyone else - I am the master of the universe [i guess?]
CLICK HERE to email slashdot editors to get the FONT tag working on slashdot - wouldn't first posts be so much better in 100 foot high letters in bright pink on a purple background - yes I know you agree
(By the way - the above 'click here' doesnt do anything, so if you are from AOL - then just keep clicking for 20 years and it will work eventually)
The information in this article applies to:
Microsoft Windows 2000 , Advanced Server
Microsoft Windows 2000 , Datacenter Server
Microsoft Windows 2000 , Professional
Microsoft Windows 2000 , Server
Microsoft Windows NT Server version 4.0
Microsoft Windows NT Workstation version 4.0
For a Microsoft Windows XP version of this article, see Q314458 .
SUMMARY
This article describes how you can remove the Linux operating system from your computer, and install a Windows operating system. This article also assumes that Linux is already installed on the hard disk using Linux native and Linux swap partitions, which are incompatible with the Windows operating system, and that there is no free space left on the drive.
Windows and Linux can coexist on the same computer. For additional information, refer to your Linux documentation.
MORE INFORMATION
To install Windows on a system that has Linux installed when you want to remove Linux, you must manually delete the partitions used by the Linux operating system. The Windows-compatible partition can be created automatically during the installation of the Windows operating system.
IMPORTANT : Before you follow the steps in this article, verify that you have a bootable disk or bootable CD-ROM for the Linux operating system, because this process completely removes the Linux operating system installed on your computer. If you intend to restore the Linux operating system at a later date, verify that you also have a good backup of all the information stored on your computer. Also, you must have a full release version of the Windows operating system you want to install.
Linux file systems use a "superblock" at the beginning of a disk partition to identify the basic size, shape, and condition of the file system.
The Linux operating system is generally installed on partition type 83 (Linux native) or 82 (Linux swap). The Linux boot manager (LILO) can be configured to start from:
The hard disk Master Boot Record (MBR).
The root folder of the Linux partition.
The Fdisk tool included with Linux can be used to delete the partitions. (There are other utilities that work just as well, such as Fdisk from MS-DOS 5.0 and later, or you can delete the partitions during the installation process.) To remove Linux from your computer and install Windows:
Remove native, swap, and boot partitions used by Linux:
Start your computer with the Linux setup floppy disk, type fdisk at the command prompt, and then press ENTER.
NOTE : For help using the Fdisk tool, type m at the command prompt, and then press ENTER.
Type p at the command prompt, and then press ENTER to display partition information. The first item listed is hard disk 1, partition 1 information, and the second item listed is hard disk 1, partition 2 information.
Type d at the command prompt, and then press ENTER. You are then prompted for the partition number you want to delete. Type 1 , and then press ENTER to delete partition number 1. Repeat this step until all the partitions have been deleted.
Type w , and then press ENTER to write this information to the partition table. Some error messages may be generated as information is written to the partition table, but they should not be significant at this point because the next step is to restart the computer and then install the new operating system.
Type q at the command prompt, and then press ENTER to quit the Fdisk tool.
Insert either a bootable floppy disk or a bootable CD-ROM for the Windows operating system on your computer, and then press CTRL+ALT+DELETE to restart your computer.
Install Windows. Follow the installation instructions for the Windows operating system you want to install on your computer. The installation process assists you with creating the appropriate partitions on your computer.
Examples of Linux Partition Tables
Single SCSI drive
Device Boot Start End Blocks Id System
/dev/sda1 * 1 500 4016218 83 Linux native (SCSI hard drive 1, partition 1)
/dev/sda2 501 522 176715 82 Linux swap (SCSI hard drive 1, partition 2)
Multiple SCSI drives
Device Boot Start End Blocks Id System
/dev/sda1 * 1 500 4016218 83 Linux native (SCSI hard drive 1, partition 1)
/dev/sda2 501 522 176715 82 Linux swap (SCSI hard drive 1, partition 2)
/dev/sdb1 1 500 4016218 83 Linux native (SCSI hard drive 2, partition 1)
Single IDE drive
Device Boot Start End Blocks Id System
/dev/hda1 * 1 500 4016218 83 Linux native (IDE hard drive 1, partition 1)
/dev/hda2 501 522 176715 82 Linux swap (IDE hard drive 1, partition 2)
Multiple IDE drives
Device Boot Start End Blocks Id System
/dev/hda1 * 1 500 4016218 83 Linux native (IDE hard drive 1, partition 1)
/dev/hda2 501 522 176715 82 Linux swap (IDE hard drive 1, partition 2)
/dev/hdb1 1 500 4016218 83 Linux native (IDE hard drive 2, partition 1)
Also, Linux recognizes more than forty different partition types, such as:
FAT 12 (Type 01)
FAT 16 > 32 M Primary (Type 06)
FAT 16 Extended (Type 05)
FAT 32 w/o LBA Primary (Type 0b)
FAT 32 w/LBA Primary (Type 0c)
FAT 16 w/LBA (Type 0e)
FAT 16 w/LBA Extended (Type 0f)
Note that there are other ways to remove the Linux operating system and install Windows than the one mentioned above. The preceding method is used in this article because the Linux operating system is already functioning and there is no more room on the hard disk. There are methods of changing partition sizes with software. Microsoft does not support Windows installed on partitions manipulated in this manner.
Another method of removing an operating system from the hard disk and installing a different operating system is to use an MS-DOS version 5.0 or later boot disk, a Windows 95 Startup disk, or a Windows 98 Startup disk that contains the Fdisk utility. Run the Fdisk utility. If you have multiple drives, there are 5 choices; use option 5 to select the hard disk that has the partition to be deleted. After that, or if you have only one hard disk, choose option 3 ("Delete partition or logical DOS drive"), and then choose option 4 ("Delete non-DOS partition"). You should then see the non-DOS partitions you want to delete. Typically, the Linux operating system has two non-DOS partitions, but there may be more. After you delete one partition, use the same steps to delete any other appropriate non-DOS partitions.
After the partitions are deleted, you can create partitions and install the operating system you want. You can only create one primary partition and an extended partition with multiple logical drives by using Fdisk from MS-DOS version 5.0 and later, Windows 95, and Windows 98. The maximum FAT16 primary partition size is 2 gigabytes (GB). The largest FAT16 logical drive size is 2 GB. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
Q105074 MS-DOS 6.2 Partitioning Questions and Answers
If you are installing Windows NT 4.0 or Windows 2000, the Linux partitions can be removed and new partitions created and formatted with the appropriate file system type during the installation process. Windows allows you to create more than one primary partition. The largest partition that Windows NT 4.0 allows you to create during installation is 4 GB because of the limitations of the FAT16 file system during installation. Also, the 4-GB partitions use 64-KB cluster sizes. MS-DOS 6.x and Windows 95 or Windows 98 do not recognize 64-KB cluster file systems, so this file system is usually converted to NTFS during installation. Windows 2000, unlike Windows NT 4.0, recognizes the FAT32 file system. During the installation of Windows 2000, you can create a very large FAT32 drive. The FAT32 drive can be converted to NTFS after the installation has completed if appropriate.
From the annals of the Troll Library .
It would be nice to see the source code for this! Anyone know how he did it? He just mentioned using Java RMI, but I'm curious how it works under the covers. He had the binaries posted but not the source. :(
Slashdot is the open sores leader in that department.
Some lawyer is looking at this page and trying to figure out what part of the DMCA has been violated and who they should call to ask for a job taking Mihajlo to court for them.
) Human Kind Vs Human Creation
) It'd be interesting to see how many humans would survive to serve us.
This doesn't look any more interesting just because it's Gnutella.
http://www.filmjerk.com/020226t3.html
Mihajlo A. Jovanovic...Mihajlo A. Jovanovic..
try saying that three times fast! on a more serious note, it looks like this may be next in line for the p2p executions going around...
I feel sorry for all those people with static IP's who just got named by this guy on his pretty graphs. He just did the background research for the RIAA - now they can sue each one of those IP's for blatent copyright violation, 'cause that's all gnutella is good for, right? ;)
- Most people who use P2P networks have high speed connections.
- Most people with high-speed connections have firewalls.
- P2P is a major security risk, and the only way to get a P2P connection going is to let your firewall drop its guard for a second.
Therefore, P2P is a major security risk. What's wrong with client-server? I think it's great.-Evan
The pictures are cool but wouldn't one of the Fasttrack based P2P networks be a better example? I've got nothing against Gnutella but Morpheus and co seem to have scaled better. Is it because Gnutella is easier to test, its protocol more open, etc? Can anyone enlighten me as to why Gnutella would be better? Not trying to be a troll, just curious.
Because Pee-r to Pee-r networking is essential to homosexual Linux perversity. They even tried to introduce their depravity into the hitherto heterosexual world of Windows through the use of a program called "NAPSTER", standing for Nasty Anal Penetration Shall Tear Everyone's Rectum.
By stealing Intellectual Property, Linux ass-rapers believe themselves somewhat more 'manly' than their heterosexual CD-purchasing counterparts. Spurred on by this arousal, they have created portable "mp3" (Man's Penis 3/Free) players to allow them to carry their unholy sickness wherever they go.
These often connect to their computers using such contraptions as "Docking Stations". For those not familiar with the term "Docking", let me advise you for the sake of completeness. It is a disgusting queer practise wherein one uncircumcised heathen stretches his foreskin across the glans of his partner, thus 'docking' their two shafts together.
Linux users are often fond of reciting their "hardware difficulties" This euphamism is too obvious to require explanation. One common "hardware" problem is related to a device called an "SB Live".
Again, this is secret limp-wristed slang for a life devoted to the occult art of "Shit Blistering". This is where the Linux user abuses his Almighty God given body by filling a hypodermic needle up with his own filthy AIDS-sodden feces (or perhaps those he finds on the floor in public lavatories) and proceeds to inject them under his skin. Great pleasure is achieved by the practitioner, as the skin festers and bubbles up in several pus-filled blisters. These blisters are subsequently torn open by his teeth, normally whilst composing a "pro theft" post to Slashdot.
"Why did they cancel my favorite Sci-Fi show? I downloaded ALL the episodes!"
The focus on P2P networks in the past has been solely on filesharing. But you can also exchange other data using a P2P network. There's an open source project with a P2P network for exchanging recommendations for web resources. Help us test the scalability of our network, just grab the tar.gz and run the software!
new backgrounds to replace all the NASA ones!
right from here: The new economy bullshit generator
;)
how many times are we going to see the same goddamn research about p2p networks posted?
WE GET THE POINT. ENOUGH ALREADY.
First thing first, they need to remove the spyware that is in 90% of P2P software. This would be a good model.
...US masters thesises aren't accepted as a diploma thesis in most european countries. Guess why.
Owner of a Mensa membership card.
Love the ~doesn't work with MS Internet Explorer~ part. Atleast one college kid has it right!
"If a quarter is two bits, then a dollar's a byte." -R Deric Miller
Go to Wal-Mart and purchase a Remington 870 Express Super Magnum, 12 gauge.
While there purchase 2 boxes of Federal Premium Turkey loads, 12 gauge, 3 1/2", #4 shot.
Go home and stand in front of your computer that is running Free Software.
Just behind the trigger on the gun is the safety. We don't want anyone to get hurt so push the safety button from left to right until it clicks. You can visually verify that the gun is on safe by checking for a the red line painted around the safety button. If it appears, the gun IS NOT ON SAFE. Reverse the direction you pushed the safety button and verify again.
Insert the shells into the shotgun's magazine. Continue until it will hold no more shells.
Draw the forearm back toward yourself until it stops. Sharply snap the forearm forward until it stops again, (this is called chambering a round) the gun is now loaded.
Take the gun off safe by pressing the safety button in.
Keeping both eyes open, point the gun at the computer. The bead at the end of the barrel should cover the area you plan to hit.
Brace yourself, especially if you are a weakling. These 3 1/2" mags kick something awful. Pull the trigger.
Chamber another round and pull the trigger again. Repeat this process until you have exhausted your entire supply of shells.
Take the remains of the computer into your back yard and bury it at least six feet deep. You don't want any animals to dig it back up and be poisoned by the Free Software still present in its system.
Hope this helps.
Cunning linguists
Looking at the charts it's really hard to get an accurate sense of gnutella's performance and scalability. Do the length of the lines correspond to the ping time, or physical location? What's the purpose of the circular chart? It would really be beneficial to include captions on each graph, to make it easier to understand. It would be nice to see a chart that relates the bandwidth, latency, number of connections, actual transfer rate, and ave connections all in a 3D visualization (not 3d bar chart). He could make a panorama of it. It might look like total garbage, or an organic structure.
Hey, I think I saw my IP address in one of those pictures....
pi=sigma{n:0-infinity}[(1/16)^n][(4/(8n+1))-(2/(8n +4))-(1/ (8n+5))-(1/(8n+6))]
We are pleased to inform you that, after careful consideration, we have accepted your troll into the Troll Library.
You show a masterful skill at trolling.
Thank you for your time and your contribution.
You are indeed a source of many good trolls. Please keep up the good work Sir.
My thesis project involved building a visualization system for sensor fusion - how boring! Did have an applet though.
Right, FTP is client - server, Telnet is client - server, instant messaging is client - server, ICQ is client - server, MSN Messenger is client - server. About the only one he got right out of his list of examples in NetMeeting.
Now his paper doesn't mention these examples so why include them in the introduction page.
The paper is well written and from a first skimming seems accurate and interesting - but that first paragraph on the introduction does nothing to enhance the paper.
Matt Thompson - Actuality - Insert product here.
What is important : These networks are highly clustered, and as such the current Gnutella algorithms don't take advantage of that and do a lot of duplicate work, leading to an in-efficient use of bandwith and problems in scaling.
This conclusion is rather interesting for someone who is into distributed processing (although I'm not sure how "d'uh!" obvious it is to most) but even more interesting is that its all based upon empirical evidence (of course using a mathematical basis).
So don't just look at the pretty pictures!
In the future, I would want to not be isolated from my friends in the Space Station.
Exploit visionary eyeballs!
My only political goal is to see to it that no political party achieves its goals.
If FTP is client-server, then Gnutella & Co. must be too. You select a file from a list of available files on a remote machine, and download it. And if NetMeeting is P2P, then so is telnet: you're invoking a communication channel directly to a remote machine.
Not that there's anything wrong with client-server. Or P2P. But what do the terms really mean? Perhaps client-server is more usefully described as a system where a 3rd party (the "server") intermediates, while P2P requires only the 2 directly-involved machines. So, ICQ is client-server, to the extent that a message is sent to a 3rd party (an ICQ server), before being retrieved by the recipient. (Of course, ICQ communications can also be P2P).
Or is P2P really a statement about a web of peers acting in concert? This becomes a bit problematical -- is DNS P2P? Is UUCP? Perhaps what distinguishes P2P is that the participants need to be the only players (i.e. not themselves acting as servers)? But now we're really splitting hairs.
Perhaps P2P just isn't a new phenomenon at all. It seems that as soon as you try to really define it, it disappears on you!
One problem with LimeWire's initial implementation is that ultrapeers didn't respond to "crawler pings" with "leaf pongs". (We've since changed that.) So as pretty as these pictures are, they're probably not accurate. I would love to see updated results that accounted for ultrapeers.
The Gnutella network is evolving rapidly, and it would be great if academic papers considered these changes. The Gnutella Developer Forum (GDF) is the primary location for protocol development.
Christopher Rohrs
Sr. Software Engineer
LimeWire
P2P's other fruits may include:
* Distributed storge like FreeNet
* Instant Messaging
* Anything else you can think of that may need to be decentralized.
The advantage of a P2P network is that no single entity controls it and everybody shares the costs.
"Communism is like having one [local] phone company " - Lenny Bruce
.The .average .Joe .Q .Slashdot .reader .may .read .slashdot .at .negative .1 .He .rightly .so .thinks .some .1 .is .underrated .and .actually .some .of .it .is .very .good .stuff. .However .he .gets .quickly .annoyed .by .the .negative .1 .page .widenings .and .simply .moves .his .threshold .to .0 .or .1 .So .now .you .have .all .the .regular ."good .citizens .of .slashdot" .reading .slashdot .at .higher .thresholds .So .nobody .is .reading .at .negative .1 .Now .Crap .Flounderson/CmdErtaco .says .his .intention .is .to .destroy .slashdot .However .it's .obvious .his .attention .is .just .to .flaunt .his .own .egomuch .like .the .numerous .linux .zealots .because .page .widening .no .longer .works .as .everyone .has .found .the .workaround .to .go .to .a .higher .threshold .That .would .be .fine .if .it .weren't .for .the .fact .that .page .widening .is .having .an .ADVERSE .affect .to .the .time .honored .art .of .trolling .Trolls .post .at .negative .1 .to .be .seen .If .noone .sees .their .work .trolls .get .bored .with .slashdot .So .what .page .widening .is .essentially .doing .is .running .off .the .trolls .And .this .is .why .it .won't .be .fixed .CmdrTaco .y .slashdot .wins .The .trolls .have .run .off .and .all .the ."upstanding" .citizens .of .slashdot .are .reading .and .posting .at .higher .thresholds .This .is .hardly .contributing .to .the .destruction .of .slashdot
Some people may be right in that in his pictures aren't that pretty, or some statements are incorrect, or there may be elements we've seen before, but hey, aren't we forgetting something? His Master's Thesis got posted on Slashdot!!! I mean, how great is that. When and if I ever get to my master's, I'd sure love that kind of recognition. I think he at least gets credit for reaching such a large audience, and for covering a topic we all know and can discuss.
Please subscribe to see the more insightful version of th
it is also possible to use FTP server to server (ftp from a to b, transfer files from b to c) thanks to the overly complicated protocol and control channel. Maybe that's what he was talking about.
i'm with you on the rest though..
My primary research interest is scalability issues in peer-to-peer computing networks. Although P2P computing has existed for some time as a basis for network applications such as FTP, Telnet, instant messaging, ICQ, and Microsoft's MSN Messenger Service and NetMeeting, recently it has managed to capture a lot of attention.
Unless I am much mistaken (and has also been noted in previous posts) all the above mentioned are still CLIENT/SERVER models. Except maybe ICQ and MSN Messenger (and Yahoo messenger also, btw), that now auth with the server, and then communicate peer to peer.
Indeed, the sudden emergence of new applications like SETI@Home, Groove, Napster, mobile communications, and Gnutella is threatening to replace the traditional client-server architecture of the web and bring rise to a new era in personal computing.
I thought he just said that FTP, Telnet, etc. were peer to peer ? Also, is Seti@HOME a P2P App or a Client server model (which is a lot more likely, as there is a fixed (set of) entity(ies) that hands out the data to be computed.
My recent work has focused on Gnutella as a model of a purely distributed computing system. Gnutella allows users to share information by directly connecting to each other forming a high-level network. High Level Network? What exactly is that supposed to be?
One of the biggest problems in analyzing performance of distributed computing networks such as Gnutella as a function of size, is that even simple protocols result in complex network interactions.
Huh? How so, can someone please care to explain? Agreed, there are a few more setup/terminate requests going around, but thats about it. (I've not analysed the actual packets of either gnutella like networks, nor IM networks, but I'm guessing here)
In order to gain a deeper understanding of the nature of those interactions, an accurate model of the system is needed. A first step toward such a model is understanding the topology of the network. To discover the topology of the Gnutella network, I have developed a distributed computing system using Java RMI. This program allows instances of Gnutella's topology to be obtained in constant time, an extremely important feature when studying a highly dynamic network such as Gnutella.
Am I missing something here? I would think that using Java RMI to distribute a code to a remote machine for execution would be required here. How can a program sitting at one place determine in constant time the instance of topology of the network? Looks like he used something similar to traceroute . In that case, however, how can the topology be retrieved in constant time?
Just wondering .....
US is now divided as the "Red" and "blue" states. Red States = communist countries. Coincidence? I think not
One of the little-appreciated things about Java is that (in the absence of nasty tricks like directly hacking up the bytecode) Java classes _will_ decompile cleanly to quite-readable source. Head on over to freshmeat.net and get yourself a decompiler; there are several good ones.
Have fun.
1,2,3,4,5.............10001,10002,10003
100001, 100002 shhhh.....dont disturb....oh damn
1,2,3,4,5.............10001,10002,10003
The statement below is true.
The statement above is false.
Is this all it takes for a masters thesis? I was playing around with network visualizations in OpenGL and came up with some way cooler (and easily navigable) visualizations.
Man, time to quit being unemployed and go back to school!