From asyed at usc.edu Tue Mar 1 12:03:09 2005 From: asyed at usc.edu (Affan, Syed) Date: Tue Mar 1 12:04:56 2005 Subject: [Csci551-talk] Project description/requirements updated Message-ID: <000001c51e99$b4af8b00$c6a27d80@A2D> Hello all, Some updates to the project a have been made. They are present on the TA website at http://www-scf.usc.edu/~asyed/cs551.html. Thank you. Best Regards, Affan, Syed. From rajwani at usc.edu Tue Mar 1 20:23:19 2005 From: rajwani at usc.edu (dinesh rajwani) Date: Tue Mar 1 20:23:49 2005 Subject: [Csci551-talk] Number of connections Message-ID: <8cb400a2236d.4224cf37@usc.edu> Hi Does the client need one port to listen for UDP Connections from other clients , one port for UDP connection with Tracker and one port for TCP Connection with the manager. Hence we will have to maintain 3 connections(and hence ports) for each client ......if this is the case then we will require 3*n connections ......is this what is expected ? or am I going wrong somewhere Thanks Dinesh From kmagarwa at usc.edu Wed Mar 2 01:41:53 2005 From: kmagarwa at usc.edu (kinnari agarwal) Date: Wed Mar 2 01:42:55 2005 Subject: [Csci551-talk] Number of connections Message-ID: Page 3, first paragraph of the specification says: "The manager process will create a TCP port (look at getsockname () for dynamic port assignment) from which it will listen to all spawned nodes." (I think) this means that there is one common TCP port through which all the client processes communicate with the manager. It's not like every client will open a new TCP connection with the manager. So you do not have 3*n connections. Regards, Kinnari ----- Original Message ----- From: dinesh rajwani Date: Tuesday, March 1, 2005 8:23 pm Subject: [Csci551-talk] Number of connections > Hi > > Does the client need one port to listen for UDP Connections from > other clients , one port for UDP connection with Tracker and one > port for TCP Connection with the manager. > > Hence we will have to maintain 3 connections(and hence ports) for > each client ......if this is the case then we will require 3*n > connections ......is this what is expected ? or am I going wrong > somewhere > Thanks > Dinesh > > > From asyed at usc.edu Wed Mar 2 06:22:08 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 2 06:22:51 2005 Subject: [Csci551-talk] Number of connections In-Reply-To: Message-ID: <000801c51f33$3e1e1840$0300a8c0@A2D> Kinnari is correct; also you can use the same UDP connection (per node) for communicating with tracker and other clients. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of kinnari agarwal Sent: Wednesday, March 02, 2005 1:42 AM To: dinesh rajwani Cc: csci551-talk@mailman.isi.edu Subject: Re: [Csci551-talk] Number of connections Page 3, first paragraph of the specification says: "The manager process will create a TCP port (look at getsockname () for dynamic port assignment) from which it will listen to all spawned nodes." (I think) this means that there is one common TCP port through which all the client processes communicate with the manager. It's not like every client will open a new TCP connection with the manager. So you do not have 3*n connections. Regards, Kinnari ----- Original Message ----- From: dinesh rajwani Date: Tuesday, March 1, 2005 8:23 pm Subject: [Csci551-talk] Number of connections > Hi > > Does the client need one port to listen for UDP Connections from > other clients , one port for UDP connection with Tracker and one > port for TCP Connection with the manager. > > Hence we will have to maintain 3 connections(and hence ports) for > each client ......if this is the case then we will require 3*n > connections ......is this what is expected ? or am I going wrong > somewhere > Thanks > Dinesh > > > From johnh at ISI.EDU Wed Mar 2 15:09:01 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 2 15:10:05 2005 Subject: [Csci551-talk] Number of connections In-Reply-To: <000801c51f33$3e1e1840$0300a8c0@A2D> Message-ID: <200503022309.j22N94Mn024164@dash.isi.edu> On Wed, 02 Mar 2005 06:22:08 PST, "Affan, Syed" wrote: >Kinnari is correct; also you can use the same UDP connection (per node) >for communicating with tracker and other clients. > >Best Regards, >Affan, Syed. Actually, Kinnari is mostly correct. But let's go back to Dinesh's original post: >> Hence we will have to maintain 3 connections(and hence ports) for >> each client ......if this is the case then we will require 3*n >> connections ......is this what is expected ? or am I going wrong >> somewhere There's a confusion here: # of connections is NOT the same as # of ports. Let's start from the beginning: The manager listens on one TCP port. Each client will establish a new TCP connection to that port. (Different clients can't reuse the connection since they're different processes.) Each client will let the OS assign the source port for this connection (this is in the spec). So there will be n connections and n+1 ports (spread across all processes). In TCP, # ports != # of connections. Usually servers listen on 1 port (like port 80 for web traffic). Each client opens a different connection to that port. And each client typically connects from a random source port. That was just about TCP. Now about UDP... UDP doesn't have ANY connections. (UDP is connectionless.) So here each client and tracker will listen on one UDP port. Each message will be handled separately. So for UDP,there are n ports and 0 connections. I hope this helps. -John Heidemann >-----Original Message----- >From: csci551-talk-bounces@mailman.isi.edu >[mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of kinnari >agarwal >Sent: Wednesday, March 02, 2005 1:42 AM >To: dinesh rajwani >Cc: csci551-talk@mailman.isi.edu >Subject: Re: [Csci551-talk] Number of connections > > >Page 3, first paragraph of the specification says: "The manager process >will create a TCP port (look at getsockname () for dynamic port >assignment) from which it will listen to all spawned nodes." (I think) >this means that there is one common TCP port through which all the >client processes communicate with the manager. It's not like every >client will open a new TCP connection with the manager. So you do not >have 3*n connections. > >Regards, >Kinnari > >----- Original Message ----- >From: dinesh rajwani >Date: Tuesday, March 1, 2005 8:23 pm >Subject: [Csci551-talk] Number of connections > >> Hi >> >> Does the client need one port to listen for UDP Connections from >> other clients , one port for UDP connection with Tracker and one >> port for TCP Connection with the manager. >> >> Hence we will have to maintain 3 connections(and hence ports) for >> each client ......if this is the case then we will require 3*n >> connections ......is this what is expected ? or am I going wrong >> somewhere >> Thanks >> Dinesh >> >> >> > > From srubin at flash.net Wed Mar 2 18:28:36 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 2 18:28:53 2005 Subject: [Csci551-talk] encoding/decoding structure contents Message-ID: <20050303022836.79045.qmail@web81308.mail.yahoo.com> Since we discussed in class that we cannot rely on structure sizes being the same or even the order of fields being the same when sending messages across different platforms, is there any recommendation on what we should use to encode and decode a complete structure on each end of the tracker/client communication? I know that we are dealing with the same platform on this project, but might as well learn to do it the right way rather than using siseof. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050302/ad6e3882/attachment.html From johnh at ISI.EDU Wed Mar 2 22:13:23 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 2 21:48:00 2005 Subject: [Csci551-talk] encoding/decoding structure contents In-Reply-To: <20050303022836.79045.qmail@web81308.mail.yahoo.com> Message-ID: <200503030613.j236DOPU000720@dash.isi.edu> On Wed, 02 Mar 2005 18:28:36 PST, "S. Rubin" wrote: >Since we discussed in class that we cannot rely on structure sizes being the same >or even the order of fields being the same when sending messages across different >platforms, is there any recommendation on what we should use to encode and decode a >complete structure on each end of the tracker/client communication? I know that we >are dealing with the same platform on this project, but might as well learn to do >it the right way rather than using siseof. You may chose to do encoding in a standard structure. HW1 explored how to do this with network byte ordering and should have given some examples. In practice, two things are done "for real": 1. use a structure, with htonl/htons and knowning how your compiler packs structures is what is done typically. 2. manually pack data by copying it into an output buffer carefully 3. use a RPC system like those discussed in class. The project does require one message to be in a fixed format. Of the these 1 or 2 should be sufficient for that structure. For your own structures (where the project specification does not force a format), you can whatever you want. -John Heidemann From mjbailey at usc.edu Wed Mar 2 21:51:19 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Wed Mar 2 21:53:53 2005 Subject: [Csci551-talk] Programming language choice Message-ID: <4226A5D7.70601@usc.edu> Just curious, why is Java specifically excluded as a language for this class? What languages would you allow, what are the criteria? Michael Bailey From mjbailey at usc.edu Wed Mar 2 21:57:42 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Wed Mar 2 21:59:54 2005 Subject: [Csci551-talk] Re:man make:Michael Bailey In-Reply-To: References: Message-ID: <4226A756.10101@usc.edu> NB: "This is the o/p on the nunki server" What is "o/p"? The project specifically warns against gmake extensions. "Your program must run with Solaris make, so be careful not to use any make extensions such as those in GNU make (gmake)" How do I know if I am using gmake extensions? Michael nikhil bhatia wrote: >Michael, > >This is the o/p on the nunki server as we are expected to comply with that. > > > >>nunki.usc.edu(47): ls -l /usr/usc/bin/gmake* >> >> >lrwxrwxrwx 1 root 21 Jan 3 1999 /usr/usc/bin/gmake -> /usr/usc/gnu/bin/make > > > >>nunki.usc.edu(46): gmake -v >> >> >GNU Make 3.80 >Copyright (C) 2002 Free Software Foundation, Inc. >This is free software; see the source for copying conditions. >There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A > >Hope it helps ! > >-Nikhil Bhatia > > >Reply to :- >If I do a man make on nunki I get the GNU make man file. >Where is the man page and binary for the version of make >that we are expected to use for the homework. > >Thanks, > >Michael > > > > From srubin at flash.net Wed Mar 2 22:49:36 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 2 22:49:55 2005 Subject: [Csci551-talk] (no subject) Message-ID: <20050303064936.63043.qmail@web81307.mail.yahoo.com> You stated that only one message is to be in a specific format, but I see 2 messages in Appendix A: one formatted for client-tracker flow and another for tracker-client. Are you saying that it is actually one message? I am assuming that by neighbors is meant clients who have segments that the requestor is interested in. It looks like this message can be of variable length depending on how many neigbours we have, right? Or should it be sized to the max number of clients? Sophia John Heidemann wrote: On Wed, 02 Mar 2005 18:28:36 PST, "S. Rubin" wrote: >Since we discussed in class that we cannot rely on structure sizes being the same >or even the order of fields being the same when sending messages across different >platforms, is there any recommendation on what we should use to encode and decode a >complete structure on each end of the tracker/client communication? I know that we >are dealing with the same platform on this project, but might as well learn to do >it the right way rather than using siseof. You may chose to do encoding in a standard structure. HW1 explored how to do this with network byte ordering and should have given some examples. In practice, two things are done "for real": 1. use a structure, with htonl/htons and knowning how your compiler packs structures is what is done typically. 2. manually pack data by copying it into an output buffer carefully 3. use a RPC system like those discussed in class. The project does require one message to be in a fixed format. Of the these 1 or 2 should be sufficient for that structure. For your own structures (where the project specification does not force a format), you can whatever you want. -John Heidemann -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050302/fbb80e2d/attachment.html From chunyeuc at usc.edu Thu Mar 3 00:29:38 2005 From: chunyeuc at usc.edu (chunyeung chung) Date: Thu Mar 3 00:29:54 2005 Subject: [Csci551-talk] Fast Retx Message-ID: <9afac49b29.42265a72@usc.edu> Hi Prof., I'm wondering if the exam will cover details on fast retranmit of TCP? The topic was covered in class briefly, but it was not covered in any of the primary paper so far. Regards, Clarence Chung From nikhilbh at usc.edu Thu Mar 3 02:56:31 2005 From: nikhilbh at usc.edu (nikhil bhatia) Date: Thu Mar 3 02:57:02 2005 Subject: [Csci551-talk] Re:man make:Michael Bailey Message-ID: <72afab192956a.42267cdf@usc.edu> Michael, "o/p" means Output : have this bad habbit :) Just for information the following link talks about limitaions of Solaris Make (BSD) http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_node/autoconf_124.html I dont think you should be too much worried about the Make version if you are using "Make as a program for keeping a set of files up to date". make version which solx86 5.6 uses that is the NetBSD Make. -Nikhil Bhatia Reply To :- NB: "This is the o/p on the nunki server" What is "o/p"? The project specifically warns against gmake extensions. "Your program must run with Solaris make, so be careful not to use any make extensions such as those in GNU make (gmake)" How do I know if I am using gmake extensions? Michael From nikhilbh at usc.edu Thu Mar 3 03:08:28 2005 From: nikhilbh at usc.edu (nikhil bhatia) Date: Thu Mar 3 03:08:56 2005 Subject: [Csci551-talk] Re:Programming language choice Message-ID: <7234cb4e2825b.42267fac@usc.edu> Michael, Socket programming in Java is seamless. The java.net package provides a powerful and flexibile infrastructure for network programming. Not much to learn too much cooked food I guess :). c/c++ are allowed, java is not, dont know abt. others. -Nikhil Bhatia Reply To: Just curious, why is Java specifically excluded as a language for this class? What languages would you allow, what are the criteria? Michael Bailey From anshulta at usc.edu Thu Mar 3 10:34:13 2005 From: anshulta at usc.edu (Anshul Tandon) Date: Thu Mar 3 10:35:07 2005 Subject: [Csci551-talk] midterm References: <7234cb4e2825b.42267fac@usc.edu> Message-ID: <01ee01c5201f$99588f00$6e01a8c0@Anshul> Hi, Will the midterm cover the material for tomorrow's lecture? Exam FAQ page on the website says midterm will cover all material up to the lecture before the exam, not including that lecture. Just wondering if that meant tomorow's lecture or the first half of next week's lecture before the midterm. Thank you. From asyed at usc.edu Thu Mar 3 11:05:37 2005 From: asyed at usc.edu (Affan, Syed) Date: Thu Mar 3 11:07:06 2005 Subject: [Csci551-talk] midterm In-Reply-To: <01ee01c5201f$99588f00$6e01a8c0@Anshul> Message-ID: <000601c52024$007c1310$0300a8c0@A2D> I believe that it will exclude tommorows lecture. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Anshul Tandon Sent: Thursday, March 03, 2005 10:34 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] midterm Hi, Will the midterm cover the material for tomorrow's lecture? Exam FAQ page on the website says midterm will cover all material up to the lecture before the exam, not including that lecture. Just wondering if that meant tomorow's lecture or the first half of next week's lecture before the midterm. Thank you. From srubin at flash.net Thu Mar 3 11:29:13 2005 From: srubin at flash.net (S. Rubin) Date: Thu Mar 3 11:31:05 2005 Subject: [Csci551-talk] how many formatted messages Message-ID: <20050303192913.40382.qmail@web81305.mail.yahoo.com> Do we need to consider the formatted messages in Appendix A as two standalone messages: one formatted for client-tracker flow and another for tracker-client or is it one message that works for both flows and uses message type to tell which parts of it to read? I am assuming that by neighbors is meant clients who have segments that the requestor is interested in. It looks like this message can be of variable length depending on how many neigbours we have, right? Or should it be sized to the max number of clients? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050303/4e281358/attachment.html From asyed at usc.edu Thu Mar 3 12:57:12 2005 From: asyed at usc.edu (Affan, Syed) Date: Thu Mar 3 12:58:36 2005 Subject: [Csci551-talk] how many formatted messages In-Reply-To: <20050303192913.40382.qmail@web81305.mail.yahoo.com> Message-ID: <000601c52033$998b6ec0$0300a8c0@A2D> I am not sure what is the confusion/difference between the two options you have described. Are you talking about how you represent them in your code? That is entirely upto you. However, they should have the exact format as shown and yes the msg from tracker to client is intended to be of variable length, so you need to handle that. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Thursday, March 03, 2005 11:29 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] how many formatted messages Do we need to consider the formatted messages in Appendix A as two standalone messages: one formatted for client-tracker flow and another for tracker-client or is it one message that works for both flows and uses message type to tell which parts of it to read? I am assuming that by neighbors is meant clients who have segments that the requestor is interested in. It looks like this message can be of variable length depending on how many neigbours we have, right? Or should it be sized to the max number of clients? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050303/4f35bfd3/attachment.html From johnh at ISI.EDU Thu Mar 3 14:41:48 2005 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 3 14:43:16 2005 Subject: [Csci551-talk] Project description/requirements updated In-Reply-To: <000001c51e99$b4af8b00$c6a27d80@A2D> Message-ID: <200503032241.j23MfmuN024576@dash.isi.edu> On Tue, 01 Mar 2005 12:03:09 PST, "Affan, Syed" wrote: >Hello all, >Some updates to the project a have been made. They are present on the TA >website at http://www-scf.usc.edu/~asyed/cs551.html. Thanks, Affan. Just to be clear to everyone in class: the output changes in the revised Proj A are REQUIRED. -John Heidemann From johnh at ISI.EDU Thu Mar 3 15:30:51 2005 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 3 15:32:23 2005 Subject: [Csci551-talk] Programming language choice In-Reply-To: <4226A5D7.70601@usc.edu> Message-ID: <200503032330.j23NUp01025728@dash.isi.edu> On Wed, 02 Mar 2005 21:51:19 PST, Michael Bailey wrote: >Just curious, why is Java specifically excluded as a language for this >class? >What languages would you allow, what are the criteria? I'm happy to discuss languages on a case-by-case basis. After discussing Java in detail with a student last year, I decided to rule it out partly because there was not a good library for it to do event-based programming. -John Heidemann From johnh at ISI.EDU Thu Mar 3 15:32:51 2005 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 3 15:33:58 2005 Subject: [Csci551-talk] Re:man make:Michael Bailey In-Reply-To: <4226A756.10101@usc.edu> Message-ID: <200503032332.j23NWpjB025850@dash.isi.edu> On Wed, 02 Mar 2005 21:57:42 PST, Michael Bailey wrote: >NB: "This is the o/p on the nunki server" >What is "o/p"? > >The project specifically warns against gmake extensions. >"Your program must run with Solaris make, so be careful not to use any make extensions such as those in GNU make (gmake)" > >How do I know if I am using gmake extensions? This is a hold-over from last year's projects. In the past we had had problems with people having problems porting their projects from GNU make to Sun's make. If ISD is now recommended GNU make as the default make program, I'm willing to relax this constraint. (At least for my section.) -John Heidemann > >Michael > > > > >nikhil bhatia wrote: > >>Michael, >> >>This is the o/p on the nunki server as we are expected to comply with that. >> >> >> >>>nunki.usc.edu(47): ls -l /usr/usc/bin/gmake* >>> >>> >>lrwxrwxrwx 1 root 21 Jan 3 1999 /usr/usc/bin/gmake -> /usr/usc/gnu/bin/make >> >> >> >>>nunki.usc.edu(46): gmake -v >>> >>> >>GNU Make 3.80 >>Copyright (C) 2002 Free Software Foundation, Inc. >>This is free software; see the source for copying conditions. >>There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A >> >>Hope it helps ! >> >>-Nikhil Bhatia >> >> >>Reply to :- >>If I do a man make on nunki I get the GNU make man file. >>Where is the man page and binary for the version of make >>that we are expected to use for the homework. >> >>Thanks, >> >>Michael >> >> >> >> From johnh at ISI.EDU Thu Mar 3 15:34:47 2005 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 3 15:35:58 2005 Subject: [Csci551-talk] (no subject) In-Reply-To: <20050303064936.63043.qmail@web81307.mail.yahoo.com> Message-ID: <200503032334.j23NYl3B025899@dash.isi.edu> On Wed, 02 Mar 2005 22:49:36 PST, "S. Rubin" wrote: >You stated that only one message is to be in a specific format, but I see 2 >messages in >Appendix A: one formatted for client-tracker flow and another for tracker-client. >Are you saying >that it is actually one message? I am assuming that by neighbors is meant clients >who have >segments that the requestor is interested in. It looks like this message can be of >variable >length depending on how many neigbours we have, right? Or should it be sized to the >max >number of clients? The class specification is correct; since both message formats are given, both are required. You should send the minimal message size, and NOT size your messages for the max number of clients. -John Heidemann From johnh at ISI.EDU Thu Mar 3 15:40:28 2005 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 3 15:41:58 2005 Subject: [Csci551-talk] date of final Message-ID: <200503032340.j23NeSsH026098@dash.isi.edu> To clarify a bug in the class Admin Info page: the final is May 6 (not May 7). (It was correct on the syllabus, but not the class admin info page.) -John Heidemann From johnh at ISI.EDU Thu Mar 3 15:43:23 2005 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 3 15:43:58 2005 Subject: [Csci551-talk] midterm In-Reply-To: <000601c52024$007c1310$0300a8c0@A2D> Message-ID: <200503032343.j23NhOKA026184@dash.isi.edu> On Thu, 03 Mar 2005 11:05:37 PST, "Affan, Syed" wrote: >I believe that it will exclude tommorows lecture. > >Best Regards, >Affan, Syed. > > > >-----Original Message----- >From: csci551-talk-bounces@mailman.isi.edu >[mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Anshul Tandon >Sent: Thursday, March 03, 2005 10:34 AM >To: csci551-talk@mailman.isi.edu >Subject: [Csci551-talk] midterm > > > >Hi, >Will the midterm cover the material for tomorrow's lecture? Exam FAQ >page on the website says midterm will cover all material up to the >lecture before the exam, not including that lecture. Just wondering if >that meant tomorow's lecture or the first half of next week's lecture >before the midterm. Thank you. > > The midterm will NOT include the wireless material. It WILL include the material through class 7 and paper [Stoica03a] in the syllabus. (We have not talked about [Shenker95a] and [Stoica03a] yet and will talk about the tomorrow.) We will have lecture the SECOND HALF of class after the midterm. (I would prefer to just do the midterm, but with one lecture a week I cannot do that.) -John Heidemann From johnh at ISI.EDU Thu Mar 3 15:49:45 2005 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 3 15:49:59 2005 Subject: [Csci551-talk] Fast Retx In-Reply-To: <9afac49b29.42265a72@usc.edu> Message-ID: <200503032349.j23NnjFu026355@dash.isi.edu> On Thu, 03 Mar 2005 00:29:38 PST, chunyeung chung wrote: >Hi Prof., > >I'm wondering if the exam will cover details on fast retranmit of TCP? >The topic was covered in class briefly, but it was not covered in any >of the primary paper so far. > >Regards, > >Clarence Chung I added this as a new question to the exam FAQ on the class web page: Q: "Up through the lecture"--what is a lecture? Will exams cover the papers or the lectures? What about material that was in one and not the other? A: You are responsible for all material covered in class lectures, and all material covered in the primary papers. -John Heidemann From srubin at flash.net Fri Mar 4 08:38:11 2005 From: srubin at flash.net (S. Rubin) Date: Fri Mar 4 08:40:20 2005 Subject: [Csci551-talk] termination of the tracker Message-ID: <20050304163811.28651.qmail@web81308.mail.yahoo.com> The tracker needs to terminate some reasonable multiple of the Request Timeout interval, but how is he suppose to get it? The manager does not send him anything and he is the only one who reads the config file, the client's pre-formatted messages do not contain that field either. Do we just set up some #define for the tracker that happens to be the same value as the Request Timeout or its multiple? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050304/b48166e3/attachment.html From asyed at usc.edu Fri Mar 4 08:45:41 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 4 08:47:26 2005 Subject: [Csci551-talk] termination of the tracker In-Reply-To: <20050304163811.28651.qmail@web81308.mail.yahoo.com> Message-ID: <000401c520d9$9efdea80$0300a8c0@A2D> If you note in the specification, most of the termination conditions are suggestion. Not hard and fast requirements. The only requirement is that the program shoudl teminate after a "reasonable" amount of time. So we will be testing your ability to "reason" :) Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Friday, March 04, 2005 8:38 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] termination of the tracker The tracker needs to terminate some reasonable multiple of the Request Timeout interval, but how is he suppose to get it? The manager does not send him anything and he is the only one who reads the config file, the client's pre-formatted messages do not contain that field either. Do we just set up some #define for the tracker that happens to be the same value as the Request Timeout or its multiple? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050304/74d7628a/attachment.html From mjbailey at usc.edu Fri Mar 4 17:50:45 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Fri Mar 4 17:49:23 2005 Subject: [Csci551-talk] Project B based on project A? Message-ID: <42291075.6020206@usc.edu> Will Project B be based on project A? Michael Bailey From asyed at usc.edu Fri Mar 4 18:31:05 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 4 18:32:23 2005 Subject: [Csci551-talk] Project B based on project A? In-Reply-To: <42291075.6020206@usc.edu> Message-ID: <000001c5212b$67a787b0$0300a8c0@A2D> Based on project A. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Michael Bailey Sent: Friday, March 04, 2005 5:51 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] Project B based on project A? Will Project B be based on project A? Michael Bailey From cychung at gmail.com Sat Mar 5 01:54:52 2005 From: cychung at gmail.com (Clarence Chung) Date: Sat Mar 5 01:55:24 2005 Subject: [Csci551-talk] Question on XCP Lecture slide Message-ID: <430859e4050305015455e86ca8@mail.gmail.com> In slide 11 of the XCP slides, it shows the operation of XCP, my question is that is this an implementation that is a little different from what is discussed in the Katabi paper? It seems like in the paper, the router will always provide feedback, but in step 2 in the slide, it won't do anything if "delta > spare capacity". And also, should it be the other way around instead? ie "delta < spare capacity", then pass it along? Clarence From mjbailey at usc.edu Sat Mar 5 15:11:57 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Sat Mar 5 15:10:35 2005 Subject: [Csci551-talk] Conf file format Message-ID: <422A3CBD.9080101@usc.edu> Is Number of Clients always the first value in manager.conf? Is request timeout always the second value in manager.conf? Etc.. I.e. I get the meaning of the values from their order in the file not the comments that say what they mean. Thanks, Michael Bailey From mjbailey at usc.edu Sat Mar 5 15:24:24 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Sat Mar 5 15:22:39 2005 Subject: [Csci551-talk] conf File questions Message-ID: <422A3FA8.8000708@usc.edu> In the phase one example conf file, you specify 10 nodes, but the packet delay/drop table only has nodes 0-4. What values should I use as defaults? What about when a node is neither in the table of nodes initially having the file or in the download tasks table? Thanks, Michael Bailey From srubin at flash.net Sat Mar 5 22:03:29 2005 From: srubin at flash.net (S. Rubin) Date: Sat Mar 5 22:04:30 2005 Subject: [Csci551-talk] cygwin vs. solaris Message-ID: <20050306060329.2187.qmail@web81305.mail.yahoo.com> I am developing my code using cygwin and at some regular intervals porting it to Solaris to make sure all compiles and links. I noticed that in cygwin I had to take out links to libraris in my makefile, but on Solaris I have to keep them in to avoid linking problems. Does anyone know why there is this difference? Does cygwin automatically link all the libraries? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050305/51770b91/attachment.html From rmchandr at usc.edu Mon Mar 7 15:07:58 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Mon Mar 7 15:08:39 2005 Subject: [Csci551-talk] Introduction class - 1d_intro_class Message-ID: Slide 21 in 1d_intro_class.pdf has a mistake. Points number 2 says "TCP is scalable because there is performance degradation when you up the number of users". I think it should be "because there is no performance degradation". From johnh at ISI.EDU Wed Mar 9 11:58:41 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 9 12:00:45 2005 Subject: [Csci551-talk] Question on XCP Lecture slide In-Reply-To: <430859e4050305015455e86ca8@mail.gmail.com> Message-ID: <200503091958.j29Jwghp007633@dash.isi.edu> On Sat, 05 Mar 2005 01:54:52 PST, Clarence Chung wrote: >In slide 11 of the XCP slides, it shows the operation of XCP, my >question is that is this an implementation that is a little different >from what is discussed in the Katabi paper? It seems like in the >paper, the router will always provide feedback, but in step 2 in the >slide, it won't do anything if "delta > spare capacity". And also, >should it be the other way around instead? ie "delta < spare >capacity", then pass it along? > >Clarence That's a bug in the slides. You're correct, it should be "delta < spare capacity", then pass it along" -John Heidemann From johnh at ISI.EDU Wed Mar 9 11:59:59 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 9 12:01:37 2005 Subject: [Csci551-talk] Conf file format In-Reply-To: <422A3CBD.9080101@usc.edu> Message-ID: <200503091959.j29JxxKk007669@dash.isi.edu> On Sat, 05 Mar 2005 15:11:57 PST, Michael Bailey wrote: > >Is Number of Clients always the first value in manager.conf? >Is request timeout always the second value in manager.conf? >Etc.. >I.e. I get the meaning of the values from their order in the file not >the comments >that say what they mean. > >Thanks, > >Michael Bailey The order is the ONLY important specification. The comments are comments. YOu cannot count that they're there at all. -John Heidemann From johnh at ISI.EDU Wed Mar 9 12:02:12 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 9 12:03:36 2005 Subject: [Csci551-talk] cygwin vs. solaris In-Reply-To: <20050306060329.2187.qmail@web81305.mail.yahoo.com> Message-ID: <200503092002.j29K2CVj007772@dash.isi.edu> On Sat, 05 Mar 2005 22:03:29 PST, "S. Rubin" wrote: >I am developing my code using cygwin and at some regular intervals porting it to >Solaris to make sure all compiles and links. I noticed that in cygwin I had to >take out links to libraris in my makefile, but on Solaris I have to keep them in to >avoid linking problems. Does anyone know why there is this difference? Does >cygwin automatically link all the libraries? > >Sophia > > Sadly, different environments require different libraries because the developers make different choices. (This even happens across different versions of OSes from the same developer.) Many non-Solaris systems (like Linux and Cygwin) include socket commands in the standard C library. -John Heidemann From johnh at ISI.EDU Wed Mar 9 12:09:41 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 9 12:11:36 2005 Subject: [Csci551-talk] Introduction class - 1d_intro_class In-Reply-To: Message-ID: <200503092009.j29K9fL7008000@dash.isi.edu> On Mon, 07 Mar 2005 15:07:58 PST, rashmi chandrasekhar wrote: > >Slide 21 in 1d_intro_class.pdf has a mistake. > >Points number 2 says "TCP is scalable because there is performance degradation when you up the number of users". > >I think it should be "because there is no performance degradation". Yes, this is a bug. Probably not "no degradation", but "minimal degration". -John Heidemann From johnh at ISI.EDU Wed Mar 9 14:50:37 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 9 14:51:46 2005 Subject: [Csci551-talk] distinguished lecture by Don Towsley Message-ID: <200503092250.j29Mobe8011618@dash.isi.edu> Christos said: Highly recommended seminar. and I'd agree. -John Heidemann ---------------------------------------------------------------------- Internet Worms, Cascading Failures, and Epidemics DON TOWSLEY University of Massachusetts at Amherst Wed, March 23rd, 12:0pm, HNB 107 (auditorium) Abstract: Many network phenomena are well modeled as spreads of epidemics throughout the network. Prominent examples include the propagation of worms (e.g., Code Red) and viruses, and, more generally, faults. In this talk, we apply epidemic spreading models to these phenomena paying particular attention to the following two questions. + What makes an epidemic virulent? + How does network topology affect the virulence of an epidemic? In the context of a worm, virulence relates to the time required for it to spread. And in the context of the propagation of faults (cascading failures), virulence relates to the time until faults die out. We illustrate how simple fluid and Markov epidemic spreading models can shed light to the above questions for both worms and the propagation of faults. Bio: Don Towsley holds a B.A. in Physics (1971) and a Ph.D. in Computer Science (1975) from University of Texas. >From 1976 to 1985 he was a member of the faculty of the Department of Electrical and Computer Engineering at the University of Massachusetts, Amherst. He is currently a Distinguished Professor at the University of Massachusetts in the Department of Computer Science. He has held visiting positions at IBM T.J. Watson Research Center, Yorktown Heights, NY; Laboratoire MASI, Paris, France; INRIA, Sophia-Antipolis, France; AT&T Labs - Research, Florham Park, NJ; and Microsoft Research Lab, Cambridge, UK. His research interests include networking and performance evaluation. He currently serves on the Editorial board of Journal of the ACM and IEEE Journal on Selected Areas in Communications and has previously served on several editorial boards including that of the IEEE/ACM Transactions on Networking. He was Program Co-chair of the joint ACM SIGMETRICS and PERFORMANCE '92 conference and the Performance 2002 conference. He is a member of ACM and ORSA, and Chair of IFIP Working Group 7.3. He has received the 1998 IEEE Communications Society William Bennett Best Paper Award and numerous best conference/workshop paper awards. Last, he has been elected Fellow of both the ACM and IEEE. From rmchandr at usc.edu Thu Mar 10 09:54:01 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Thu Mar 10 09:59:45 2005 Subject: [Csci551-talk] Doubt regarding TCP congestion control. Message-ID: The Jacobson paper talks about congestion avoidance and states that, on congestion, we reduce the cwnd to 1 and increase by 1/cwnd (additive increase) on receiving each ACK. However, the TCP lecture slide 5c_tcp_class.pdf, slide #67 says what TCP does is "sort of a multiplicative increase" : 1 pkt each RTT if doing congestion avoidance (when cwnd > ssthresh) I am confused with this discrepancy. Is it because the Jacobson paper says what happens in practice and the slide says what should happen in theory ? Thanks. -Rashmi. From rmchandr at usc.edu Thu Mar 10 09:49:15 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Thu Mar 10 09:59:52 2005 Subject: [Csci551-talk] Doubt regarding TCP congestion control. Message-ID: The Jacobson paper talks about congestion avoidance and states that, on congestion, we reduce the cwnd to 1 and increase by 1/cwnd (additive increase) on receiving each ACK. However, the TCP lecture slide 5c_tcp_class.pdf, slide #67 says what TCP does is "sort of a multiplicative increase" : 1 pkt each RTT if doing congestion avoidance (when cwnd > ssthresh) I am confused with this discrepancy. Is it because the Jacobson paper says what happens in practice and the slide says what should happen in theory ? Thanks. -Rashmi. From asyed at usc.edu Thu Mar 10 10:31:53 2005 From: asyed at usc.edu (affan syed) Date: Thu Mar 10 10:33:41 2005 Subject: [Csci551-talk] Doubt regarding TCP congestion control. Message-ID: There is no discrepency. Note that the jacobson paper is talking about increasing by 1/cwnd for every *ack*, so if everything is hunk dory, you will get cwnd Acks in one RTT and at the end of the RTT you will have increased you cwnd by..... cwnd *1/cwnd =1. hth. Affan ----- Original Message ----- From: rashmi chandrasekhar Date: Thursday, March 10, 2005 9:54 am Subject: [Csci551-talk] Doubt regarding TCP congestion control. > > The Jacobson paper talks about congestion avoidance and states > that, on congestion, we reduce the cwnd to 1 and increase by 1/cwnd > (additive increase) on receiving each ACK. > > However, the TCP lecture slide 5c_tcp_class.pdf, slide #67 says > what TCP does is "sort of a multiplicative increase" : 1 pkt each > RTT if doing congestion avoidance (when cwnd > ssthresh) > > I am confused with this discrepancy. Is it because the Jacobson > paper says what happens in practice and the slide says what should > happen in theory ? > > Thanks. > > -Rashmi. > > > From mjbailey at usc.edu Thu Mar 10 23:26:21 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Thu Mar 10 23:29:43 2005 Subject: [Csci551-talk] Where is the mid term? Message-ID: <4231481D.6060904@usc.edu> Where is the midterm located? Thanks, Michael From johnh at ISI.EDU Fri Mar 11 08:30:52 2005 From: johnh at ISI.EDU (John Heidemann) Date: Fri Mar 11 08:05:52 2005 Subject: [Csci551-talk] Where is the mid term? In-Reply-To: <4231481D.6060904@usc.edu> Message-ID: <200503111630.j2BGUqlV024859@dash.isi.edu> On Thu, 10 Mar 2005 23:26:21 PST, Michael Bailey wrote: >Where is the midterm located? > >Thanks, > >Michael The usual class location: OHE Studio E. -John Heidemann From mjbailey at usc.edu Fri Mar 11 16:28:41 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Fri Mar 11 16:31:54 2005 Subject: [Csci551-talk] Proj A spec clarification Message-ID: <423237B9.9050700@usc.edu> Spec says: the manager should fork for each other process and then* it will open a TCP connection to every other process* and use that connection to send them their configuration information. Spec also says: The manager process will create a TCP port (look at getsockname () for dynamic port assignment) from* which it will listen *to all spawned nodes. The manager process will create the tracker first. So are the nodes supposed to initiate the connection or are is the Manager? Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050311/3137b6ac/attachment.html From johnh at ISI.EDU Fri Mar 11 18:10:03 2005 From: johnh at ISI.EDU (John Heidemann) Date: Fri Mar 11 18:11:46 2005 Subject: [Csci551-talk] Proj A spec clarification In-Reply-To: <423237B9.9050700@usc.edu> Message-ID: <200503120210.j2C2A38J006734@dash.isi.edu> On Fri, 11 Mar 2005 16:28:41 PST, Michael Bailey wrote: >[1 ] > >[2 ] >Spec says: >the manager should fork for each other process and then it will open a TCP >connection to every other process and use that connection to send them their >configuration information. > >Spec also says: >The manager process will create a TCP port (look at getsockname () for dynamic port >assignment) from which it will listen to all spawned nodes. The manager process >will create the tracker first. > >So are the nodes supposed to initiate the connection or are is the Manager? > >Michael > > It's up to you. ("It will listen" implies the manager is passive, but I think you can do it either way.) -John Heidemann From asyed at usc.edu Sat Mar 12 16:53:21 2005 From: asyed at usc.edu (Affan, Syed) Date: Sat Mar 12 16:54:44 2005 Subject: [Csci551-talk] Sample input file Message-ID: <000301c52767$0f509060$0300a8c0@A2D> Hello all, A sample input file for project A has been placed on the TA website. http://www-scf.usc.edu/~asyed/cs551.html This is sample version and has variable number of spaces between fields. You can test your parsing on this file. but this might not have anything to do with the final test vectors. Best of luck. Best Regards, Affan, Syed. From mjbailey at usc.edu Sat Mar 12 17:41:09 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Sat Mar 12 17:43:44 2005 Subject: [Csci551-talk] Sample input file In-Reply-To: <000301c52767$0f509060$0300a8c0@A2D> References: <000301c52767$0f509060$0300a8c0@A2D> Message-ID: <42339A35.2080700@usc.edu> Thank you!! A few more example files would be appreciated. Thank you, Michael Bailey Affan, Syed wrote: >Hello all, >A sample input file for project A has been placed on the TA website. >http://www-scf.usc.edu/~asyed/cs551.html >This is sample version and has variable number of spaces between fields. >You can test your parsing on this file. but this might not have anything >to do with the final test vectors. > > >Best of luck. > >Best Regards, >Affan, Syed. > > > > > From mjbailey at usc.edu Sat Mar 12 17:44:39 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Sat Mar 12 17:46:44 2005 Subject: [Csci551-talk] Manager TCP, everything else UDP? Message-ID: <42339B07.8020209@usc.edu> From my reading of the spec, the communication with the manager is TCP, but everything else is UDP. Is this correct? Thank you, Michael Bailey From asyed at usc.edu Sat Mar 12 18:32:51 2005 From: asyed at usc.edu (Affan, Syed) Date: Sat Mar 12 18:33:44 2005 Subject: [Csci551-talk] Manager TCP, everything else UDP? In-Reply-To: <42339B07.8020209@usc.edu> Message-ID: <000201c52774$fb939550$0300a8c0@A2D> Very much so :) Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Michael Bailey Sent: Saturday, March 12, 2005 5:45 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] Manager TCP, everything else UDP? From my reading of the spec, the communication with the manager is TCP, but everything else is UDP. Is this correct? Thank you, Michael Bailey From johnh at ISI.EDU Sat Mar 12 18:31:58 2005 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 12 18:34:44 2005 Subject: [Csci551-talk] Sample input file In-Reply-To: <42339A35.2080700@usc.edu> Message-ID: <200503130231.j2D2VwEk004434@dash.isi.edu> On Sat, 12 Mar 2005 17:41:09 PST, Michael Bailey wrote: >Thank you!! > >A few more example files would be appreciated. I strongly suggest students make up THEIR OWN test cases as part of writing and testing their code. -John Heidemann From pattem at gmail.com Sat Mar 12 18:50:08 2005 From: pattem at gmail.com (Sundeep Pattem) Date: Sat Mar 12 18:50:45 2005 Subject: [Csci551-talk] TCP deadlock Message-ID: <4f7fab4a05031218506830eba6@mail.gmail.com> Consider the following way of handling deadlocks in TCP without using probes: Let's say the receiver has its buffers filled up and sends out an ACK with an advertised window of 0 packets. To prevent possible deadlocks, the receiver sends out a new ACK with a non-zero window when buffer space becomes available. Since we do duplicate ACKs for fast retransmit anyway, this should not be a problem. It seems like a better solution since the source is spared of the timeout-probe mechanism, which will probably take longer. (of course, it can still exist as a fall-back if no further ACKs are recieved) What am I missing? Thanks, Sundeep From kitabi at usc.edu Sat Mar 12 19:45:24 2005 From: kitabi at usc.edu (lubaina kitabi) Date: Sat Mar 12 19:45:53 2005 Subject: [Csci551-talk] getsockname Message-ID: <46676aa83825.423346d4@usc.edu> Hi, I just wanted to know if we could use the following mechanism for dynamic port assignment: my_addr.sin_port = htons(0); I read it on some online literature so I am not sure if it is the correct mechanism . Is it better or worse or getsockname is the only option. Thank you, Lubaina Kitabi From mjbailey at usc.edu Sat Mar 12 20:07:52 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Sat Mar 12 20:10:44 2005 Subject: [Csci551-talk] getsockname In-Reply-To: <46676aa83825.423346d4@usc.edu> References: <46676aa83825.423346d4@usc.edu> Message-ID: <4233BC98.9010203@usc.edu> It is the same mechanism as getsockname. You do that and then use getsockname to get the name (ephemeral port) that it picked for you. Also I don't think you need to htons zero. Michael lubaina kitabi wrote: >Hi, >I just wanted to know if we could use the following mechanism for dynamic port assignment: > >my_addr.sin_port = htons(0); > >I read it on some online literature so I am not sure if it is the correct mechanism . > Is it better or worse or getsockname is the only option. >Thank you, >Lubaina Kitabi > > > From mjbailey at usc.edu Sat Mar 12 21:04:43 2005 From: mjbailey at usc.edu (Michael Bailey) Date: Sat Mar 12 21:06:44 2005 Subject: [Csci551-talk] packet level retransmission Message-ID: <4233C9EB.2080101@usc.edu> What do you mean by packet level retransmission? What other level would it be at? Michael From nikhilbh at usc.edu Sun Mar 13 14:01:24 2005 From: nikhilbh at usc.edu (nikhil bhatia) Date: Sun Mar 13 14:01:45 2005 Subject: [Csci551-talk] Re:TCP deadlock Message-ID: <5dff2ead7677.423447b4@usc.edu> Sundeep, The whole problem started with ACKs not being relaibly transmitted i.e. RX waits to receive data and tx waits to receive window update. Now your suggestion is as follows :- tx |--------data------------------------>| rx tx |<-------ACK advr_win =0--------| rx buffer full : tx |<-------ACK advr_win =w-------| rx buff available Suppose the latter ack got lost that is the case of deadlock. So now someone (either tx/rx) needs to maintain a timeout to add reliability to the ACK transmission , That is the reason the persist timer exists .Now the question is who maintains the timer tx/rx. Well this is debatable. RX gets to know about its own buffer status before the tx. So it does make absoloute sense to have timer on the rx. what do you think ? Thanks, -Nikhil Bhatia Reply To :- Consider the following way of handling deadlocks in TCP without using probes: Let's say the receiver has its buffers filled up and sends out an ACK with an advertised window of 0 packets. To prevent possible deadlocks, the receiver sends out a new ACK with a non-zero window when buffer space becomes available. Since we do duplicate ACKs for fast retransmit anyway, this should not be a problem. It seems like a better solution since the source is spared of the timeout-probe mechanism, which will probably take longer. (of course, it can still exist as a fall-back if no further ACKs are recieved) What am I missing? Thanks, Sundeep From kitabi at usc.edu Sun Mar 13 20:16:08 2005 From: kitabi at usc.edu (lubaina kitabi) Date: Sun Mar 13 20:16:53 2005 Subject: [Csci551-talk] format of file Message-ID: <50509d51d29d.42349f88@usc.edu> Hi, I just wanted to know that when you say the file format is variable, you mean the number of whitespaces and new lines only or also could you change the order . By that I mean would you put "number of clients" data before "request timeout in seconds " and so on so forth. Finally, the project spec also mentions "you should assume that the data fields that we provide will vary".Does this mean the ordering of the columns can also change in a particular table or that you would add more columns or something else that I cannot figure out? Thank you, Lubaina Kitabi. From rmchandr at usc.edu Sun Mar 13 20:26:10 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Sun Mar 13 20:26:46 2005 Subject: [Csci551-talk] format of file Message-ID: <507f1bdd8ad0.4234a1e2@usc.edu> Lubaina, What the spec means is that the format is fixed, I mean number of clients will always come before timeout. What can vary is the comments, the blank spaces, newlines. Also, the columns will not get interchanged, neither will additional columns be added. When they say "you should assume that the data fields that we provide will vary", I think they mean the number of entries. Correct me if I am wrong. -Rashmi. ----- Original Message ----- From: lubaina kitabi Date: Sunday, March 13, 2005 8:16 pm Subject: [Csci551-talk] format of file > Hi, > I just wanted to know that when you say the file format is > variable, you mean the number of whitespaces and new lines only or > also could you change the order . By that I mean would you put > "number of clients" data before "request timeout in seconds " and > so on so forth. Finally, the project spec also mentions "you > should assume that the data fields that we provide will vary".Does > this mean the ordering of the columns can also change in a > particular table or that you would add more columns or something > else that I cannot figure out? > Thank you, > Lubaina Kitabi. > > From asyed at usc.edu Sun Mar 13 21:55:03 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 13 21:55:46 2005 Subject: [Csci551-talk] format of file In-Reply-To: <507f1bdd8ad0.4234a1e2@usc.edu> Message-ID: <000001c5285a$63f7d080$0300a8c0@A2D> Rashmi, you are correct. We will not be altering the order of the input but their might be trailing whitespace that you need to handle. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi chandrasekhar Sent: Sunday, March 13, 2005 8:26 PM To: lubaina kitabi Cc: csci551 spring Subject: Re: [Csci551-talk] format of file Lubaina, What the spec means is that the format is fixed, I mean number of clients will always come before timeout. What can vary is the comments, the blank spaces, newlines. Also, the columns will not get interchanged, neither will additional columns be added. When they say "you should assume that the data fields that we provide will vary", I think they mean the number of entries. Correct me if I am wrong. -Rashmi. ----- Original Message ----- From: lubaina kitabi Date: Sunday, March 13, 2005 8:16 pm Subject: [Csci551-talk] format of file > Hi, > I just wanted to know that when you say the file format is > variable, you mean the number of whitespaces and new lines only or > also could you change the order . By that I mean would you put > "number of clients" data before "request timeout in seconds " and > so on so forth. Finally, the project spec also mentions "you > should assume that the data fields that we provide will vary".Does > this mean the ordering of the columns can also change in a > particular table or that you would add more columns or something > else that I cannot figure out? > Thank you, > Lubaina Kitabi. > > From lugani at usc.edu Sun Mar 13 22:06:19 2005 From: lugani at usc.edu (S. Lugani) Date: Sun Mar 13 22:06:46 2005 Subject: [Csci551-talk] allotting dynamic port to node children Message-ID: <6644920557d6.4234b95b@usc.edu> Hi, My problem is that when I fork multiple clients to a function and try to give them each of them dynamic ports. It does create a port number and assigns them that BUT it assigns the same port number to all the fork children created. Shouldn't it assign a differnt port to each child when i use the socket() function?? This is the pseudo code:- void childnode(int nodeid,int tracker_port) { node_socket = socket(AF_INET,SOCK_DGRAM,0); getsockname(node_socket,(struct sockaddr *)&nodeadd,sizeof(nodeadd)); node_port=htonl(nodeadd.sin_port); printf("myport %d",node_port); } main() { for (;;) { pid_t pid; pid=fork(); if(pid == 0) { childnode(x,y); } } thanks Sam From lugani at usc.edu Sun Mar 13 22:15:29 2005 From: lugani at usc.edu (S. Lugani) Date: Sun Mar 13 22:15:45 2005 Subject: [Csci551-talk] format of file:trailing white spaces? Message-ID: <72e32526cdd8.4234bb81@usc.edu> Hi affan, I have assumed in my file that the correct input lines will NOT START with blank space. Though they might have multiple spaces between the variables. Am i correct in assuming that? eg. 1 5 6 is correct but 1 5 6 is not thanks Sam ----- Original Message ----- From: "Affan, Syed" Date: Sunday, March 13, 2005 9:55 pm Subject: RE: [Csci551-talk] format of file > Rashmi, you are correct. We will not be altering the order of the > inputbut their might be trailing whitespace that you need to > handle. > > Best Regards, > Affan, Syed. > > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi > chandrasekhar > Sent: Sunday, March 13, 2005 8:26 PM > To: lubaina kitabi > Cc: csci551 spring > Subject: Re: [Csci551-talk] format of file > > > Lubaina, > > What the spec means is that the format is fixed, I mean number of > clients will always come before timeout. What can vary is the > comments,the blank spaces, newlines. Also, the columns will not > get interchanged, > neither will additional columns be added. When they say "you should > assume that the data fields that we provide will vary", I think they > mean the number of entries. Correct me if I am wrong. > > -Rashmi. > > ----- Original Message ----- > From: lubaina kitabi > Date: Sunday, March 13, 2005 8:16 pm > Subject: [Csci551-talk] format of file > > > Hi, > > I just wanted to know that when you say the file format is > > variable, you mean the number of whitespaces and new lines only > or > > also could you change the order . By that I mean would you put > > "number of clients" data before "request timeout in seconds " > and > > so on so forth. Finally, the project spec also mentions "you > > should assume that the data fields that we provide will > vary".Does > > this mean the ordering of the columns can also change in a > > particular table or that you would add more columns or > something > > else that I cannot figure out? > > Thank you, > > Lubaina Kitabi. > > > > > > > > From asyed at usc.edu Mon Mar 14 06:22:08 2005 From: asyed at usc.edu (Affan, Syed) Date: Mon Mar 14 06:23:10 2005 Subject: [Csci551-talk] format of file:trailing white spaces? In-Reply-To: <72e32526cdd8.4234bb81@usc.edu> Message-ID: <001e01c528a1$39309ca0$0300a8c0@A2D> Yes, you can assume that. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Lugani Sent: Sunday, March 13, 2005 10:15 PM To: csci551-talk@mailman.isi.edu Subject: Re: RE: [Csci551-talk] format of file:trailing white spaces? Hi affan, I have assumed in my file that the correct input lines will NOT START with blank space. Though they might have multiple spaces between the variables. Am i correct in assuming that? eg. 1 5 6 is correct but 1 5 6 is not thanks Sam ----- Original Message ----- From: "Affan, Syed" Date: Sunday, March 13, 2005 9:55 pm Subject: RE: [Csci551-talk] format of file > Rashmi, you are correct. We will not be altering the order of the > inputbut their might be trailing whitespace that you need to > handle. > > Best Regards, > Affan, Syed. > > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi > chandrasekhar > Sent: Sunday, March 13, 2005 8:26 PM > To: lubaina kitabi > Cc: csci551 spring > Subject: Re: [Csci551-talk] format of file > > > Lubaina, > > What the spec means is that the format is fixed, I mean number of > clients will always come before timeout. What can vary is the > comments,the blank spaces, newlines. Also, the columns will not get > interchanged, neither will additional columns be added. When they say > "you should assume that the data fields that we provide will vary", I > think they mean the number of entries. Correct me if I am wrong. > > -Rashmi. > > ----- Original Message ----- > From: lubaina kitabi > Date: Sunday, March 13, 2005 8:16 pm > Subject: [Csci551-talk] format of file > > > Hi, > > I just wanted to know that when you say the file format is > > variable, you mean the number of whitespaces and new lines only > or > > also could you change the order . By that I mean would you put > > "number of clients" data before "request timeout in seconds " > and > > so on so forth. Finally, the project spec also mentions "you > > should assume that the data fields that we provide will > vary".Does > > this mean the ordering of the columns can also change in a > > particular table or that you would add more columns or > something > > else that I cannot figure out? > > Thank you, > > Lubaina Kitabi. > > > > > > > > From rmchandr at usc.edu Mon Mar 14 14:50:32 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Mon Mar 14 14:52:23 2005 Subject: [Csci551-talk] Fork problems !! Message-ID: <7d1979c68458.4235a4b8@usc.edu> When forking a number of children (in our case, a number of clients), there is a problem I noticed. Every time the parent forks, the child starts forking too !! It is getting very hard to control the number of processes that are spawned. Did anyone else face the same problem ? Does anyone have any suggestions/hints to deal with this ? Thanks. Regards, Rashmi. From rmchandr at usc.edu Mon Mar 14 16:08:09 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Mon Mar 14 16:09:53 2005 Subject: [Csci551-talk] Figured the fork problem Message-ID: <778c1de892b7.4235b6e9@usc.edu> Please ignore my earlier email regarding fork problems. I figured what I was doing wrong. In case someone else has a similar problem .... after forking the client, I had given a return statement which was causing the child to be the parent of the next call to fork. After removing this line, the control returned back to the parent and a subsequent call to fork created a new child to the original parent. Thanks. Regards, Rashmi. From johnh at ISI.EDU Mon Mar 14 16:34:35 2005 From: johnh at ISI.EDU (John Heidemann) Date: Mon Mar 14 16:35:51 2005 Subject: [Csci551-talk] Fork problems !! In-Reply-To: <7d1979c68458.4235a4b8@usc.edu> Message-ID: <200503150034.j2F0YZIh009079@dash.isi.edu> On Mon, 14 Mar 2005 14:50:32 PST, rashmi chandrasekhar wrote: > >When forking a number of children (in our case, a number of clients), there is a problem I noticed. Every time the parent forks, the child starts forking too !! It is getting very hard to control the number of processes that are spawned. Did anyone else face the same problem ? Does anyone have any suggestions/hints to deal with this ? Thanks. > >Regards, >Rashmi. You have a bug. Review the fork manual page and return code. -John Heidemann From lugani at usc.edu Mon Mar 14 20:12:26 2005 From: lugani at usc.edu (S. Lugani) Date: Mon Mar 14 20:13:55 2005 Subject: [Csci551-talk] The problem is persisting! Message-ID: <8ea4c195b6c3.4235f02a@usc.edu> Hi, The problem is persisting even with that if I do:- nodeadd.sin_port = htons(0); then I bind the socket, after that call getsockname() and try and display the port of the fork process. It shows the port as 0. I am not being able to assign dynamic ports to the forked children. thanks for ur help. Sam ----- Original Message ----- From: affan syed Date: Monday, March 14, 2005 10:22 am Subject: Re: RE: RE: [Csci551-talk] format of file:trailing white spaces? > > Have you tried to set your nodeadd.sin_port =0 before using socket? > > Affan > ----- Original Message ----- > From: "S. Lugani" > Date: Monday, March 14, 2005 8:46 am > Subject: Re: RE: RE: [Csci551-talk] format of file:trailing white > spaces? > > Hi Affan, > > > > There was one more problem > > My problem is that when I fork multiple clients to a function > and > > try to give them each of them dynamic ports. It does create a > port > > number and assigns them that BUT it assigns the same port number > to > > all the fork children created. eg. I fork 10 chilren and and do > the > > getsocketname on them and they all have the same ports. > Shouldn't > > it assign a different port to each child when i use the socket() > > function?? > > This is the pseudo code:- > > void childnode(int nodeid,int tracker_port) > > { > > node_socket = socket(AF_INET,SOCK_DGRAM,0); > > getsockname(node_socket,(struct sockaddr *)&nodeadd,sizeof(nodeadd));> node_port=htonl(nodeadd.sin_port); > > printf("myport %d",node_port); > > } > > > > main() > > { > > for (;;) > > { > > pid_t pid; > > pid=fork(); > > if(pid == 0) > > { > > childnode(x,y); > > } > > } > > > > thanks > > Sam > > > > > > > > > > > > > > ----- Original Message ----- > > From: "Affan, Syed" > > Date: Monday, March 14, 2005 6:22 am > > Subject: RE: RE: [Csci551-talk] format of file:trailing white > spaces?> > > > Yes, you can assume that. > > > > > > Best Regards, > > > Affan, Syed. > > > > > > > > > > > > -----Original Message----- > > > From: csci551-talk-bounces@mailman.isi.edu > > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Lugani > > > Sent: Sunday, March 13, 2005 10:15 PM > > > To: csci551-talk@mailman.isi.edu > > > Subject: Re: RE: [Csci551-talk] format of file:trailing white > > spaces?> > > > > > > Hi affan, > > > > > > I have assumed in my file that the correct input lines will > NOT > > START> with blank space. Though they might have multiple spaces > > between the > > > variables. Am i correct in assuming that? eg. > > > 1 5 6 is correct > > > but > > > 1 5 6 is not > > > > > > thanks > > > Sam > > > > > > > > > ----- Original Message ----- > > > From: "Affan, Syed" > > > Date: Sunday, March 13, 2005 9:55 pm > > > Subject: RE: [Csci551-talk] format of file > > > > > > > Rashmi, you are correct. We will not be altering the order > of the > > > > inputbut their might be trailing whitespace that you need to > > > > handle. > > > > > > > > Best Regards, > > > > Affan, Syed. > > > > > > > > > > > > > > > > -----Original Message----- > > > > From: csci551-talk-bounces@mailman.isi.edu > > > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi > > > > chandrasekhar > > > > Sent: Sunday, March 13, 2005 8:26 PM > > > > To: lubaina kitabi > > > > Cc: csci551 spring > > > > Subject: Re: [Csci551-talk] format of file > > > > > > > > > > > > Lubaina, > > > > > > > > What the spec means is that the format is fixed, I mean > number > > > of > > > > clients will always come before timeout. What can vary is > the > > > > comments,the blank spaces, newlines. Also, the columns will > not > > > get > > > > interchanged, neither will additional columns be added. When > > > they say > > > > "you should assume that the data fields that we provide will > > > vary", I > > > > think they mean the number of entries. Correct me if I am wrong. > > > > > > > > -Rashmi. > > > > > > > > ----- Original Message ----- > > > > From: lubaina kitabi > > > > Date: Sunday, March 13, 2005 8:16 pm > > > > Subject: [Csci551-talk] format of file > > > > > > > > > Hi, > > > > > I just wanted to know that when you say the file format > is > > > > > variable, you mean the number of whitespaces and new lines > only> > > or > > > > > also could you change the order . By that I mean would you put > > > > > "number of clients" data before "request timeout in > seconds > > " > > > > and > > > > > so on so forth. Finally, the project spec also mentions "you > > > > > should assume that the data fields that we provide will > > > > vary".Does > > > > > this mean the ordering of the columns can also change in a > > > > > particular table or that you would add more columns or > > > > something > > > > > else that I cannot figure out? > > > > > Thank you, > > > > > Lubaina Kitabi. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From ygandhi at usc.edu Tue Mar 15 12:39:09 2005 From: ygandhi at usc.edu (yash gandhi) Date: Tue Mar 15 12:40:22 2005 Subject: [Csci551-talk] The problem is persisting! Message-ID: Hey!! Even I am facing the same problem, i have tried every thing mentioned befor in the thread I even tried allocating memory everytime, but the problem persists, I get the udp ports as 0... all thetime. comments!!!!!!!!!!!!!! Yash Gandhi ----- Original Message ----- From: "S. Lugani" Date: Monday, March 14, 2005 10:12 pm Subject: [Csci551-talk] The problem is persisting! > Hi, > > The problem is persisting even with that > if I do:- > nodeadd.sin_port = htons(0); > then I bind the socket, after that call getsockname() and try and > display the port of the fork process. It shows the port as 0. I am > not being able to assign dynamic ports to the forked children. > > thanks for ur help. > Sam > > ----- Original Message ----- > From: affan syed > Date: Monday, March 14, 2005 10:22 am > Subject: Re: RE: RE: [Csci551-talk] format of file:trailing white > spaces? > > > > Have you tried to set your nodeadd.sin_port =0 before using socket? > > > > Affan > > ----- Original Message ----- > > From: "S. Lugani" > > Date: Monday, March 14, 2005 8:46 am > > Subject: Re: RE: RE: [Csci551-talk] format of file:trailing > white > > spaces? > > > Hi Affan, > > > > > > There was one more problem > > > My problem is that when I fork multiple clients to a function > > and > > > try to give them each of them dynamic ports. It does create a > > port > > > number and assigns them that BUT it assigns the same port > number > > to > > > all the fork children created. eg. I fork 10 chilren and and > do > > the > > > getsocketname on them and they all have the same ports. > > Shouldn't > > > it assign a different port to each child when i use the > socket() > > > function?? > > > This is the pseudo code:- > > > void childnode(int nodeid,int tracker_port) > > > { > > > node_socket = socket(AF_INET,SOCK_DGRAM,0); > > > getsockname(node_socket,(struct sockaddr > *)&nodeadd,sizeof(nodeadd));> node_port=htonl(nodeadd.sin_port); > > > printf("myport %d",node_port); > > > } > > > > > > main() > > > { > > > for (;;) > > > { > > > pid_t pid; > > > pid=fork(); > > > if(pid == 0) > > > { > > > childnode(x,y); > > > } > > > } > > > > > > thanks > > > Sam > > > > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > > From: "Affan, Syed" > > > Date: Monday, March 14, 2005 6:22 am > > > Subject: RE: RE: [Csci551-talk] format of file:trailing white > > spaces?> > > > > Yes, you can assume that. > > > > > > > > Best Regards, > > > > Affan, Syed. > > > > > > > > > > > > > > > > -----Original Message----- > > > > From: csci551-talk-bounces@mailman.isi.edu > > > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Lugani > > > > Sent: Sunday, March 13, 2005 10:15 PM > > > > To: csci551-talk@mailman.isi.edu > > > > Subject: Re: RE: [Csci551-talk] format of file:trailing > white > > > spaces?> > > > > > > > > Hi affan, > > > > > > > > I have assumed in my file that the correct input lines will > > NOT > > > START> with blank space. Though they might have multiple > spaces > > > between the > > > > variables. Am i correct in assuming that? eg. > > > > 1 5 6 is correct > > > > but > > > > 1 5 6 is not > > > > > > > > thanks > > > > Sam > > > > > > > > > > > > ----- Original Message ----- > > > > From: "Affan, Syed" > > > > Date: Sunday, March 13, 2005 9:55 pm > > > > Subject: RE: [Csci551-talk] format of file > > > > > > > > > Rashmi, you are correct. We will not be altering the order > > of the > > > > > inputbut their might be trailing whitespace that you need > to > > > > > handle. > > > > > > > > > > Best Regards, > > > > > Affan, Syed. > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: csci551-talk-bounces@mailman.isi.edu > > > > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi > > > > > chandrasekhar > > > > > Sent: Sunday, March 13, 2005 8:26 PM > > > > > To: lubaina kitabi > > > > > Cc: csci551 spring > > > > > Subject: Re: [Csci551-talk] format of file > > > > > > > > > > > > > > > Lubaina, > > > > > > > > > > What the spec means is that the format is fixed, I mean > > number > > > > of > > > > > clients will always come before timeout. What can vary is > > the > > > > > comments,the blank spaces, newlines. Also, the columns > will > > not > > > > get > > > > > interchanged, neither will additional columns be added. > When > > > > they say > > > > > "you should assume that the data fields that we provide > will > > > > vary", I > > > > > think they mean the number of entries. Correct me if I am > wrong.> > > > > > > > > -Rashmi. > > > > > > > > > > ----- Original Message ----- > > > > > From: lubaina kitabi > > > > > Date: Sunday, March 13, 2005 8:16 pm > > > > > Subject: [Csci551-talk] format of file > > > > > > > > > > > Hi, > > > > > > I just wanted to know that when you say the file format > > is > > > > > > variable, you mean the number of whitespaces and new > lines > > only> > > or > > > > > > also could you change the order . By that I mean would > you put > > > > > > "number of clients" data before "request timeout in > > seconds > > > " > > > > > and > > > > > > so on so forth. Finally, the project spec also mentions "you > > > > > > should assume that the data fields that we provide will > > > > > vary".Does > > > > > > this mean the ordering of the columns can also change in a > > > > > > particular table or that you would add more columns or > > > > > something > > > > > > else that I cannot figure out? > > > > > > Thank you, > > > > > > Lubaina Kitabi. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From rmchandr at usc.edu Tue Mar 15 14:08:32 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Tue Mar 15 14:10:05 2005 Subject: [Csci551-talk] The problem is persisting! Message-ID: <9a1bbaa8fca4.4236ec60@usc.edu> Yash, I faced the same problem and I am not sure if you saw my earlier email about problem with fork, but the solution to that applies to this as well. Check if you have a return statement from the forked client. If so, remove it. It is natural to think that a return from a client would return to the parent process, but this is not the case .. also, check and ensure that you have the structure definitions etc declared and initialized outside of the client (I mean outside of the "if fork returns 0" block). I did this and it worked for me. -Rashmi. ----- Original Message ----- From: yash gandhi Date: Tuesday, March 15, 2005 12:39 pm Subject: Re: [Csci551-talk] The problem is persisting! > Hey!! > Even I am facing the same problem, > i have tried every thing mentioned befor in the thread > I even tried allocating memory everytime, > but the problem persists, > I get the udp ports as 0... all thetime. > comments!!!!!!!!!!!!!! > Yash Gandhi > > ----- Original Message ----- > From: "S. Lugani" > Date: Monday, March 14, 2005 10:12 pm > Subject: [Csci551-talk] The problem is persisting! > > > Hi, > > > > The problem is persisting even with that > > if I do:- > > nodeadd.sin_port = htons(0); > > then I bind the socket, after that call getsockname() and try > and > > display the port of the fork process. It shows the port as 0. I > am > > not being able to assign dynamic ports to the forked children. > > > > thanks for ur help. > > Sam > > > > ----- Original Message ----- > > From: affan syed > > Date: Monday, March 14, 2005 10:22 am > > Subject: Re: RE: RE: [Csci551-talk] format of file:trailing > white > > spaces? > > > > > > Have you tried to set your nodeadd.sin_port =0 before using > socket?> > > > > Affan > > > ----- Original Message ----- > > > From: "S. Lugani" > > > Date: Monday, March 14, 2005 8:46 am > > > Subject: Re: RE: RE: [Csci551-talk] format of file:trailing > > white > > > spaces? > > > > Hi Affan, > > > > > > > > There was one more problem > > > > My problem is that when I fork multiple clients to a > function > > > and > > > > try to give them each of them dynamic ports. It does create > a > > > port > > > > number and assigns them that BUT it assigns the same port > > number > > > to > > > > all the fork children created. eg. I fork 10 chilren and and > > do > > > the > > > > getsocketname on them and they all have the same ports. > > > Shouldn't > > > > it assign a different port to each child when i use the > > socket() > > > > function?? > > > > This is the pseudo code:- > > > > void childnode(int nodeid,int tracker_port) > > > > { > > > > node_socket = socket(AF_INET,SOCK_DGRAM,0); > > > > getsockname(node_socket,(struct sockaddr > > *)&nodeadd,sizeof(nodeadd));> node_port=htonl(nodeadd.sin_port); > > > > printf("myport %d",node_port); > > > > } > > > > > > > > main() > > > > { > > > > for (;;) > > > > { > > > > pid_t pid; > > > > pid=fork(); > > > > if(pid == 0) > > > > { > > > > childnode(x,y); > > > > } > > > > } > > > > > > > > thanks > > > > Sam > > > > > > > > > > > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > From: "Affan, Syed" > > > > Date: Monday, March 14, 2005 6:22 am > > > > Subject: RE: RE: [Csci551-talk] format of file:trailing > white > > > spaces?> > > > > > Yes, you can assume that. > > > > > > > > > > Best Regards, > > > > > Affan, Syed. > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: csci551-talk-bounces@mailman.isi.edu > > > > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Lugani > > > > > Sent: Sunday, March 13, 2005 10:15 PM > > > > > To: csci551-talk@mailman.isi.edu > > > > > Subject: Re: RE: [Csci551-talk] format of file:trailing > > white > > > > spaces?> > > > > > > > > > > Hi affan, > > > > > > > > > > I have assumed in my file that the correct input lines > will > > > NOT > > > > START> with blank space. Though they might have multiple > > spaces > > > > between the > > > > > variables. Am i correct in assuming that? eg. > > > > > 1 5 6 is correct > > > > > but > > > > > 1 5 6 is not > > > > > > > > > > thanks > > > > > Sam > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > From: "Affan, Syed" > > > > > Date: Sunday, March 13, 2005 9:55 pm > > > > > Subject: RE: [Csci551-talk] format of file > > > > > > > > > > > Rashmi, you are correct. We will not be altering the > order > > > of the > > > > > > inputbut their might be trailing whitespace that you > need > > to > > > > > > handle. > > > > > > > > > > > > Best Regards, > > > > > > Affan, Syed. > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > From: csci551-talk-bounces@mailman.isi.edu > > > > > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of > rashmi > > > > > > chandrasekhar > > > > > > Sent: Sunday, March 13, 2005 8:26 PM > > > > > > To: lubaina kitabi > > > > > > Cc: csci551 spring > > > > > > Subject: Re: [Csci551-talk] format of file > > > > > > > > > > > > > > > > > > Lubaina, > > > > > > > > > > > > What the spec means is that the format is fixed, I mean > > > number > > > > > of > > > > > > clients will always come before timeout. What can vary > is > > > the > > > > > > comments,the blank spaces, newlines. Also, the columns > > will > > > not > > > > > get > > > > > > interchanged, neither will additional columns be added. > > When > > > > > they say > > > > > > "you should assume that the data fields that we provide > > will > > > > > vary", I > > > > > > think they mean the number of entries. Correct me if I > am > > wrong.> > > > > > > > > > -Rashmi. > > > > > > > > > > > > ----- Original Message ----- > > > > > > From: lubaina kitabi > > > > > > Date: Sunday, March 13, 2005 8:16 pm > > > > > > Subject: [Csci551-talk] format of file > > > > > > > > > > > > > Hi, > > > > > > > I just wanted to know that when you say the file > format > > > is > > > > > > > variable, you mean the number of whitespaces and new > > lines > > > only> > > or > > > > > > > also could you change the order . By that I mean would > > you put > > > > > > > "number of clients" data before "request timeout in > > > seconds > > > > " > > > > > > and > > > > > > > so on so forth. Finally, the project spec also > mentions "you > > > > > > > should assume that the data fields that we provide > will > > > > > > vary".Does > > > > > > > this mean the ordering of the columns can also change > in a > > > > > > > particular table or that you would add more columns > or > > > > > > something > > > > > > > else that I cannot figure out? > > > > > > > Thank you, > > > > > > > Lubaina Kitabi. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From ygandhi at usc.edu Tue Mar 15 14:49:08 2005 From: ygandhi at usc.edu (yash gandhi) Date: Tue Mar 15 14:49:52 2005 Subject: [Csci551-talk] Dynamic Ports Message-ID: Hey This is in context of my previous mail!!! I was having problems with each of the forked child being assigned the same port no. I was able to solved it, thankyou aneways Yash From asyed at usc.edu Tue Mar 15 21:44:13 2005 From: asyed at usc.edu (Affan, Syed) Date: Tue Mar 15 21:48:01 2005 Subject: [Csci551-talk] Some project clarifications Message-ID: <000201c529eb$334bb4a0$0300a8c0@A2D> Hello all, I am posting some clarification about the project A. 1) We will not be testing the case of providing an incorrect filename to download (as suggested in the orignal document pg 2). 2) Delay are for outgoing replies for only client to client interaction. This would involve the case when a node gets a segment update message, or a segment download message. In both of these cases, before replying the node will delay the packet transmission. 3) The packet drop/sent statistics are to be kept per *node*, both tracker and client. These clarification will also be found on the TA Website. Best Regards, Affan, Syed. From srubin at flash.net Tue Mar 15 23:40:50 2005 From: srubin at flash.net (S. Rubin) Date: Tue Mar 15 23:41:54 2005 Subject: [Csci551-talk] (no subject) Message-ID: <20050316074050.38384.qmail@web81306.mail.yahoo.com> Regarding this point that Affan, Syed posted: >2) Delay are for outgoing replies for only client to client interaction. >This would involve the case when a node gets a segment update message, >or a segment download message. In both of these cases, before replying >the node will delay the packet transmission. The project paper actually mentions two delays with regards to these cases: under the delay section 4.4 it says in the third sentence: "The delay is specified in manger.conf, but on the next page, section packet loss 4.5 there is an added note as of 02/28, stating: "Also while sending a reply, add a delay of 10 msec." Does it mean that in both cases we should delay for a sum of these two delays? Please clarify. Regarding this point: >3) The packet drop/sent statistics are to be kept per *node*, both tracker and client. The manager.conf file does not specify packet drop probability for a tracker, so in order to keep that stat for the tracker, we need that info. Please clarify. Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050315/c2a40bef/attachment.html From srubin at flash.net Tue Mar 15 23:46:03 2005 From: srubin at flash.net (S. Rubin) Date: Tue Mar 15 23:46:52 2005 Subject: [Csci551-talk] prompt after manager termination Message-ID: <20050316074603.62900.qmail@web81309.mail.yahoo.com> After the manger finishes his job of forking everybody and feeding everybody information, he goes away. In my case I get the prompt return and then right away continuation of the info print statements I put out for the tracker/clients actions. I would like to do something like wait or waitpid to avoid getting the prompt, but am not succeeding after several attempts. I only make everybody hang instead. Any ideas or should I not worry about that? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050315/a2490a7a/attachment.html From rajwani at usc.edu Wed Mar 16 02:01:23 2005 From: rajwani at usc.edu (dinesh rajwani) Date: Wed Mar 16 02:01:52 2005 Subject: [Csci551-talk] Regarding conf file Message-ID: Hi Is it safe to assume that the number of rows in packet delay and drop probability table is equal to number of clients. also can we assume that in the specify the download task table, no node wil have startime 0 Thanks dinesh From asyed at usc.edu Wed Mar 16 10:07:25 2005 From: asyed at usc.edu (affan syed) Date: Wed Mar 16 10:07:55 2005 Subject: [Csci551-talk] Regarding conf file Message-ID: ----- Original Message ----- From: dinesh rajwani Date: Wednesday, March 16, 2005 2:01 am Subject: [Csci551-talk] Regarding conf file > Hi > > Is it safe to assume that the number of rows in packet delay and > drop probability table is equal to number of clients. Yes. > also can we assume that in the specify the download task table, no > node wil have startime 0 Why this restriction? are you worried that other clients havent been spawned as yet? but rememeber that the tracker is. > Thanks > dinesh > > > > From srubin at flash.net Wed Mar 16 12:05:55 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 16 12:07:00 2005 Subject: [Csci551-talk] packet delay/prob table as a baseline Message-ID: <20050316200555.21798.qmail@web81310.mail.yahoo.com> In response to the question: > Is it safe to assume that the number of rows in packet delay and > drop probability table is equal to number of clients. The answer from Affan was: >Yes. Does it mean that we can always count on this table as a "baseline", i.e. it will always contain the nodes that are listed in the "have file initially" or/and "download tasks" tables combined? That would be helpful. Please confirm. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050316/41b529ea/attachment.html From xiw at usc.edu Wed Mar 16 12:43:01 2005 From: xiw at usc.edu (Xi Wang) Date: Wed Mar 16 12:46:09 2005 Subject: [Csci551-talk] Re: [Cs551] project - question In-Reply-To: References: Message-ID: <42389A55.5040703@usc.edu> Yes, there is only one file for downloading in this assignment. We originally planned to make the system capable of handle multiple files, then we decided to have only one file but keep interfaces compatible with multiple files. That's why we don't want a single place for file name. (Imagine you want to extend the system with multiple files, you can still use the current format.) -Xi mishari ibrahim almishari wrote: > Hi, > Correct me if i am wrong,,, as far as i understood, there is only a single file to be downloaded in the whole simulated network.?????????????????(see page 2: "For now, we will be dealing with the case of a single file......"),,,Also all the examples provided have a single file...???????????? > > If yes, why there is a field for filename for each node(either in the list of nodes that already have the file or in the list of nodes that are interested in the file), is not enough to have the file name mentioned in only one place in the file instead of repeating it???? > > Regards, > Mishari > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From xiw at usc.edu Wed Mar 16 12:56:36 2005 From: xiw at usc.edu (Xi Wang) Date: Wed Mar 16 13:05:05 2005 Subject: [Csci551-talk] prompt after manager termination In-Reply-To: <20050316074603.62900.qmail@web81309.mail.yahoo.com> References: <20050316074603.62900.qmail@web81309.mail.yahoo.com> Message-ID: <42389D84.6080407@usc.edu> You don't need to worry about that. Just make sure your program do the right things. You can print messages when tracker and each client exits to indicate the state of your program. -Xi S. Rubin wrote: > After the manger finishes his job of forking everybody and feeding everybody > information, he goes away. In my case I get the prompt return and then > right > away continuation of the info print statements I put out for the > tracker/clients > actions. I would like to do something like wait or waitpid to avoid > getting the > prompt, but am not succeeding after several attempts. I only make > everybody > hang instead. Any ideas or should I not worry about that? > Sophia From xiw at usc.edu Wed Mar 16 13:03:21 2005 From: xiw at usc.edu (Xi Wang) Date: Wed Mar 16 13:05:56 2005 Subject: [Csci551-talk] Re: [Cs551] another question In-Reply-To: References: Message-ID: <42389F19.4090508@usc.edu> If you mean the configuration file, the general idea is we won't use any strange format to "trick" your application. However you need to handle reasonable variations like white spaces (use common sense here), and you also need to handle situations like clients started before the tracker. -Xi mishari ibrahim almishari wrote: > hi,,, > can we assume that file is always correct,,,we only have to handle the extra comments, white-space and empty lines???? > > -mish > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From srubin at flash.net Wed Mar 16 13:32:43 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 16 13:33:58 2005 Subject: [Csci551-talk] client starting before the tracker??? Message-ID: <20050316213243.67499.qmail@web81301.mail.yahoo.com> This situation was stated as a fair game, but is it? "handle situations like clients started before the tracker" Tracker is forked by the manager before the clients, so how could it be? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050316/3ba2d2b1/attachment.html From srubin at flash.net Wed Mar 16 13:46:36 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 16 13:46:59 2005 Subject: [Csci551-talk] clients terminating Message-ID: <20050316214636.23994.qmail@web81307.mail.yahoo.com> When the clients are ready to depart, should they send a "good-bye" message to the tracker so they can be removed from the group list? It can just be added as another message type. Otherwise the tracker keeps advertising them, which could cause other clients to have an unpleasant experience finding out that the port is closed. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050316/cb09052f/attachment.html From xiw at usc.edu Wed Mar 16 14:02:17 2005 From: xiw at usc.edu (Xi Wang) Date: Wed Mar 16 14:06:08 2005 Subject: [Csci551-talk] client starting before the tracker??? In-Reply-To: <20050316213243.67499.qmail@web81301.mail.yahoo.com> References: <20050316213243.67499.qmail@web81301.mail.yahoo.com> Message-ID: <4238ACE9.50107@usc.edu> You are right. Since we don't have tracker start time in configuration file, tracker should start immediately. The situation you should handle is some clients started but no one has the file. Eventually some other clients with the file will join the group and downloading can begin. -Xi S. Rubin wrote: > This situation was stated as a fair game, but is it? > "handle situations like clients started before the tracker" > > Tracker is forked by the manager before the clients, so how could it be? > > Sophia From johnh at ISI.EDU Wed Mar 16 15:02:43 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 15:04:11 2005 Subject: [Csci551-talk] Re:TCP deadlock In-Reply-To: <5dff2ead7677.423447b4@usc.edu> Message-ID: <200503162302.j2GN2hMB007443@dash.isi.edu> Sundeep wrote: >Consider the following way of handling deadlocks in TCP without using probes: > >Let's say the receiver has its buffers filled up and sends out an ACK >with an advertised window of 0 packets. To prevent possible deadlocks, >the receiver sends out a new ACK with a non-zero window when buffer >space becomes available. Actually, this is not what happens. Receivers only send out ACKs in response to receipt of packets. They do NOT send them without prompting. (We talked about this in class when we talked about TCP deadlock---make sure you look at the discussion in the "admin" section at the beginning of class; the discussion in the general TCP lecture was not correct.) The way this is really handled is that the SENDER has a timer when it was told zero window and it sends a probe packet (with no data) to solicit a new, duplicate ACK, hopefully with a non-zero receive window. >Since we do duplicate ACKs for fast retransmit anyway, this should not >be a problem. It seems like a better solution since the source is >spared of the timeout-probe mechanism, which will probably take >longer. (of course, it can still exist as a fall-back if no further >ACKs are recieved) > >What am I missing? Hmmm, yes, it might be better if the receiver would send out unsolicited ACKs. But currently the receiver doesn't send any ACKs unsolicited. In addition... On Sun, 13 Mar 2005 14:01:24 PST, nikhil bhatia wrote: >Sundeep, > >The whole problem started with ACKs not being relaibly transmitted i.e. RX waits to receive data and tx waits to receive window update. > >Now your suggestion is as follows :- > >tx |--------data------------------------>| rx >tx |<-------ACK advr_win =0--------| rx buffer full > : >tx |<-------ACK advr_win =w-------| rx buff available > >Suppose the latter ack got lost that is the case of deadlock. So now someone (either tx/rx) needs to maintain a timeout to add reliability to the ACK transmission , >That is the reason the persist timer exists .Now the question is who maintains the timer tx/rx. Well this is debatable. > >RX gets to know about its own buffer status before the tx. So it does make absoloute sense to have timer on the rx. what do you think ? This is a good point as well. The receiver can't JUST send the ACK when the window opens up, it must make sure the new window is propagated. Currently there are NO receive-side timers. By placing the burden of probes on the sender, we avoid adding a receive timer for this special case. (The sender already has to have a timer for retransmits.) Bob Braden is at ISI and was around when this was being worked out. I'll ask him. -John Heidemann From johnh at ISI.EDU Wed Mar 16 15:28:03 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 15:30:10 2005 Subject: [Csci551-talk] Doubt regarding TCP congestion control. In-Reply-To: Message-ID: <200503162328.j2GNS3JX007981@dash.isi.edu> On Thu, 10 Mar 2005 10:31:53 PST, affan syed wrote: > >There is no discrepency. Note that the jacobson paper is talking about increasing by 1/cwnd for every *ack*, so if everything is hunk dory, you will get cwnd Acks in one RTT and at the end of the RTT you will have increased you cwnd by..... cwnd *1/cwnd =1. > Yes. To clarify, you (Rashmi) said: >> The Jacobson paper talks about congestion avoidance and states >> that, on congestion, we reduce the cwnd to 1 and increase by 1/cwnd >> (additive increase) on receiving each ACK. This isn't quite right. On DROP we set ssthresh=cwnd/2 and cwnd=1. When cwnd > ssthresh we start the CONGESTION AVOIDANCE algorithm increasing cwnd by 1/cwnd each ACK. Note that these algorithms interact... on drops we decrease ssthresh so that next time we will enter congestion avoidance sooner. -John Heidemann >hth. >Affan >----- Original Message ----- >From: rashmi chandrasekhar >Date: Thursday, March 10, 2005 9:54 am >Subject: [Csci551-talk] Doubt regarding TCP congestion control. > >> >> The Jacobson paper talks about congestion avoidance and states >> that, on congestion, we reduce the cwnd to 1 and increase by 1/cwnd >> (additive increase) on receiving each ACK. >> >> However, the TCP lecture slide 5c_tcp_class.pdf, slide #67 says >> what TCP does is "sort of a multiplicative increase" : 1 pkt each >> RTT if doing congestion avoidance (when cwnd > ssthresh) >> >> I am confused with this discrepancy. Is it because the Jacobson >> paper says what happens in practice and the slide says what should >> happen in theory ? >> >> Thanks. >> >> -Rashmi. >> >> >> From johnh at ISI.EDU Wed Mar 16 15:32:41 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 15:33:58 2005 Subject: [Csci551-talk] Manager TCP, everything else UDP? In-Reply-To: <42339B07.8020209@usc.edu> Message-ID: <200503162332.j2GNWfOe008113@dash.isi.edu> On Sat, 12 Mar 2005 17:44:39 PST, Michael Bailey wrote: > From my reading of the spec, the communication with the manager is TCP, >but everything else is UDP. Is this correct? > >Thank you, > >Michael Bailey I think Affan already answered, but if not: Yes. -John Heidemann From johnh at ISI.EDU Wed Mar 16 15:34:08 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 15:34:56 2005 Subject: [Csci551-talk] packet level retransmission In-Reply-To: <4233C9EB.2080101@usc.edu> Message-ID: <200503162334.j2GNY86b008157@dash.isi.edu> On Sat, 12 Mar 2005 21:04:43 PST, Michael Bailey wrote: >What do you mean by packet level retransmission? >What other level would it be at? > >Michael Packet level congestion would be somehting like having a timer and resending requests for each packet. If you look at the spec, there is another approach to given up and retrying that happens at a higher level. -John Heidemann P.S. Maybe sort of like the Hebrew National Hotdog slogan? :-) From johnh at ISI.EDU Wed Mar 16 15:39:54 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 15:40:57 2005 Subject: [Csci551-talk] getsockname In-Reply-To: <46676aa83825.423346d4@usc.edu> Message-ID: <200503162339.j2GNdtWu008449@dash.isi.edu> On Sat, 12 Mar 2005 19:45:24 PST, lubaina kitabi wrote: >Hi, >I just wanted to know if we could use the following mechanism for dynamic port assignment: > >my_addr.sin_port = htons(0); > >I read it on some online literature so I am not sure if it is the correct mechanism . > Is it better or worse or getsockname is the only option. >Thank you, >Lubaina Kitabi Yes, the correct way to get a dynamic port is to ask for port zero, then see what port you're given via getsockname. I think someone commented that htons(0) is not required for 0. This is true since 16 bits of zero are zero, regardless of the order you put them in. But it is good style to do it that way since sometime you might want to use a non-zero port. -John Heidemann From johnh at ISI.EDU Wed Mar 16 15:44:01 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 15:44:55 2005 Subject: [Csci551-talk] allotting dynamic port to node children In-Reply-To: <6644920557d6.4234b95b@usc.edu> Message-ID: <200503162344.j2GNi1WN008558@dash.isi.edu> On Sun, 13 Mar 2005 22:06:19 PST, "S. Lugani" wrote: >Hi, > >My problem is that when I fork multiple clients to a function and try to give them each of them dynamic ports. It does create a port number and assigns them that BUT it assigns the same port number to all the fork children created. Shouldn't it assign a differnt port to each child when i use the socket() function?? > >This is the pseudo code:- >void childnode(int nodeid,int tracker_port) >{ > node_socket = socket(AF_INET,SOCK_DGRAM,0); > getsockname(node_socket,(struct sockaddr *)&nodeadd,sizeof(nodeadd)); > node_port=htonl(nodeadd.sin_port); > printf("myport %d",node_port); >} > >main() >{ >for (;;) >{ > pid_t pid; > pid=fork(); > if(pid == 0) > { > childnode(x,y); >} >} > >thanks >Sam You have a bug. Think about what is kept the same and what is changed when you fork(). Hint: print the address you're sending to the kernel just before you call call the syscall that give is it that address and make sure it's what you think it should be. -John Heidemann From johnh at ISI.EDU Wed Mar 16 16:03:25 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 16:06:02 2005 Subject: [Csci551-talk] prompt after manager termination In-Reply-To: <42389D84.6080407@usc.edu> Message-ID: <200503170003.j2H03QSa009032@dash.isi.edu> On Wed, 16 Mar 2005 12:56:36 PST, Xi Wang wrote: >You don't need to worry about that. Just make sure your program do the >right things. You can print messages when tracker and each client exits >to indicate the state of your program. Xi is right that this is not required for the project. However, it sounds like you're interested in getting a better understanding of multiprocess behavior in Unix. There are a number of good books in this area: _Unix Network Programming_ by Stevens et al. is in the class syllabus and is strongly recommended for students who need review in this area. _The Unix Programming Environment_ by Kernighan and Pike talks about this. It's a bit dated, but it's FILLED with good details about this plus the shell and other things. There are other good books in this area as well. -John Heidemann > >-Xi > >S. Rubin wrote: >> After the manger finishes his job of forking everybody and feeding everybody >> information, he goes away. In my case I get the prompt return and then >> right >> away continuation of the info print statements I put out for the >> tracker/clients >> actions. I would like to do something like wait or waitpid to avoid >> getting the >> prompt, but am not succeeding after several attempts. I only make >> everybody >> hang instead. Any ideas or should I not worry about that? >> Sophia From johnh at ISI.EDU Wed Mar 16 16:04:31 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 16:06:56 2005 Subject: [Csci551-talk] Regarding conf file In-Reply-To: Message-ID: <200503170004.j2H04VfZ009066@dash.isi.edu> On Wed, 16 Mar 2005 02:01:23 PST, dinesh rajwani wrote: >Hi > >Is it safe to assume that the number of rows in packet delay and drop probability table is equal to number of clients. > >also can we assume that in the specify the download task table, no node wil have startime 0 > >Thanks >dinesh > > Xi said: }...the general idea is we won't use any }strange format to "trick" your application.... -John Heidemann From johnh at ISI.EDU Wed Mar 16 16:06:56 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 16 16:09:55 2005 Subject: [Csci551-talk] client starting before the tracker??? In-Reply-To: <20050316213243.67499.qmail@web81301.mail.yahoo.com> Message-ID: <200503170006.j2H06v3P009136@dash.isi.edu> On Wed, 16 Mar 2005 13:32:43 PST, "S. Rubin" wrote: >This situation was stated as a fair game, but is it? >"handle situations like clients started before the tracker" > >Tracker is forked by the manager before the clients, so how could it be? > >Sophia > > In a multiprocess system you cannot make guarantees about who runs when. Even if the manager forks the tracker first, maybe the OS doesn't schedule it to run until after a client. A good program will be robust to this kind of race condition. -John Heidemann From rmchandr at usc.edu Wed Mar 16 20:49:09 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Wed Mar 16 20:49:56 2005 Subject: [Csci551-talk] Need for MSGTYPE in structure ? Message-ID: I dont really see why we need the MSGTYPE field in the message structure of the client->tracker and tracker->client. If we are sending a group intertest message, we set the TYPE field anyways. And the tracker replies in case TYPE was set to indicate the group assign. So, whats the need for the MSGTYPE structure ? -Rashmi. From srubin at flash.net Wed Mar 16 21:51:20 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 16 21:51:56 2005 Subject: [Csci551-talk] (no subject) Message-ID: <20050317055120.51523.qmail@web81309.mail.yahoo.com> --------------------------------- >I dont really see why we need the MSGTYPE field in the message >structure of the client->tracker and tracker->client. If we are >sending a group intertest message, we set the TYPE field anyways. >And the tracker replies in case TYPE was set to indicate the group >assign. So, whats the need for the MSGTYPE structure ? How would be able to tell apart the clients who want to seed the file vs. the ones who want to download? They are both showing interest. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050316/54003b40/attachment.html From srubin at flash.net Thu Mar 17 03:19:04 2005 From: srubin at flash.net (S. Rubin) Date: Thu Mar 17 03:19:58 2005 Subject: [Csci551-talk] displaying actual segment data in client's log Message-ID: <20050317111904.98437.qmail@web81309.mail.yahoo.com> On top of page 11 of the project description there is the following output example: "20 From 1 CLNT_SEG_REP fum.dat 11 #actual segment data (not raw data)". Does it mean to simply output the segment number received in the reply message? I hope it does not mean that we should display the actual segment data, meaning spit out the contents of the segment as that is why we are writing to a file. Also it states to output the timestamp in the "UNIX time since epoch", which does not match the example. I've been trained to not make any assumptions when presented with the requirements and samples, so I want to make sure that I am interpreting things correctly. Lastly, should we just practice with our own files (foo.dat types) or are we going to be provided with one? Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050317/2b75e19c/attachment.html From aneeketp at usc.edu Thu Mar 17 08:17:55 2005 From: aneeketp at usc.edu (Aneeket Patil) Date: Thu Mar 17 08:19:11 2005 Subject: [Csci551-talk] why a TCP connection between Manager and Tracker? Message-ID: <4239ADB3.1060306@usc.edu> I was wondering , what is the motivation behind creating a TCP connection between the Manager and the Tracker ,just to obtain the Port Number, it can obviously be done with lesser efforts. Aneeket From asyed at usc.edu Thu Mar 17 08:26:24 2005 From: asyed at usc.edu (Affan, Syed) Date: Thu Mar 17 08:27:58 2005 Subject: [Csci551-talk] why a TCP connection between Manager and Tracker? In-Reply-To: <4239ADB3.1060306@usc.edu> Message-ID: <000201c52b0e$143c4d80$0300a8c0@A2D> Well the only motivation is to make you ppl lear both TCP and UDP sockets :) Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Aneeket Patil Sent: Thursday, March 17, 2005 8:18 AM To: csci 551 Mailing list Subject: [Csci551-talk] why a TCP connection between Manager and Tracker? I was wondering , what is the motivation behind creating a TCP connection between the Manager and the Tracker ,just to obtain the Port Number, it can obviously be done with lesser efforts. Aneeket From rmchandr at usc.edu Thu Mar 17 09:44:08 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Thu Mar 17 09:46:01 2005 Subject: [Csci551-talk] Clarifications. Message-ID: Just wanted to clarify some things so that I dont proceed wrongly. 1. The only exchange between the manager and tracker via the TCP connection is to obtain the tracker port number ... or does the manager also need to pass on which client has which file initially to the tracker? 2. The config information passed on to clients from manager will be the filename that the client has initially and also, when it should show interest for the same (and packet delay for phase 4). 3. The rest are all communications between the clients and the tracker at the times indicated to the clients from the config file. Am I missing something ? Thanks. Rashmi. From asyed at usc.edu Thu Mar 17 11:02:40 2005 From: asyed at usc.edu (Affan, Syed) Date: Thu Mar 17 11:04:47 2005 Subject: [Csci551-talk] Clarifications. In-Reply-To: Message-ID: <000501c52b23$e92f7b60$0300a8c0@A2D> ssage----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi chandrasekhar Sent: Thursday, March 17, 2005 9:44 AM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] Clarifications. Just wanted to clarify some things so that I dont proceed wrongly. 1. The only exchange between the manager and tracker via the TCP connection is to obtain the tracker port number ... or does the manager also need to pass on which client has which file initially to the tracker? Yes just that info only!And no the tracker should have extra information. 2. The config information passed on to clients from manager will be the filename that the client has initially and also, when it should show interest for the same (and packet delay for phase 4). Everything that a client needs to know and is specified.. No client should individually parse the manager.conf. 3. The rest are all communications between the clients and the tracker at the times indicated to the clients from the config file. Please elaborate on this question... Not clear what you are asking. Am I missing something ? Thanks. Rashmi. From rmchandr at usc.edu Thu Mar 17 11:19:12 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Thu Mar 17 11:20:06 2005 Subject: [Csci551-talk] Clarifications. Message-ID: Thanks Affan. I mainly wanted to confirm the communication between manager and tracker and manager and clients. The 3rd question I asked did seem a little vague to me later on :) .. but I understood that. Thanks anyways. Regards, Rashmi. ----- Original Message ----- From: "Affan, Syed" Date: Thursday, March 17, 2005 11:02 am Subject: RE: [Csci551-talk] Clarifications. > ssage----- > From: csci551-talk-bounces@mailman.isi.edu > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi > chandrasekhar > Sent: Thursday, March 17, 2005 9:44 AM > To: csci551-talk@ISI.EDU > Subject: [Csci551-talk] Clarifications. > > > > Just wanted to clarify some things so that I dont proceed wrongly. 1. > The only exchange between the manager and tracker via the TCP > connectionis to obtain the tracker port number ... or does the > manager also need > to pass on which client has which file initially to the tracker? > Yes just that info only!And no the tracker should have extra > information. > 2. The config information passed on to clients from manager will > be the > filename that the client has initially and also, when it should show > interest for the same (and packet delay for phase 4). > Everything that a client needs to know and is specified.. No client > should individually parse the manager.conf. > > 3. The rest are all communications between the clients and the tracker > at the times indicated to the clients from the config file. > Please elaborate on this question... Not clear what you are > asking. > > Am I missing something ? > > Thanks. > Rashmi. > > > > From kitabi at usc.edu Thu Mar 17 13:36:33 2005 From: kitabi at usc.edu (lubaina kitabi) Date: Thu Mar 17 13:37:11 2005 Subject: [Csci551-talk] make child wait for parent Message-ID: Hi, Is there any command to ensure that the child waits till the parent process is executed???? wait and waitpid are used for the converse situation from what I understood. Is it possible to tweak these functions and do the required or is there any other function or is not possible? Thank you, Lubaina From rmchandr at usc.edu Thu Mar 17 14:07:59 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Thu Mar 17 14:09:13 2005 Subject: [Csci551-talk] make child wait for parent Message-ID: Lubaina, By appropriately setting the accept and connect followed by read/write functions, you can synchronize the processes (since accept blocks until connect is issued). Hope that helps. -Rashmi. ----- Original Message ----- From: lubaina kitabi Date: Thursday, March 17, 2005 1:36 pm Subject: [Csci551-talk] make child wait for parent > Hi, > Is there any command to ensure that the child waits till the > parent process is executed???? > wait and waitpid are used for the converse situation from what I > understood. Is it possible to tweak these functions and do the > required or is there any other function or is not possible? > Thank you, > Lubaina > > From xiw at usc.edu Thu Mar 17 14:38:18 2005 From: xiw at usc.edu (Xi Wang) Date: Thu Mar 17 14:58:59 2005 Subject: [Csci551-talk] Re: [Cs551] Questions about the project In-Reply-To: <00ea01c52ac8$2e83e9f0$08e97d80@VAIO> References: <00ea01c52ac8$2e83e9f0$08e97d80@VAIO> Message-ID: <423A06DA.8000206@usc.edu> S. Houtris wrote: > Hi, > > I have two questions about the project. > > 1) How can a node that has only some segments of the file, find out the > total number of segments of that file? Can I make a node that has the > whole file pass that information to the other node that has only part of it? > One straightforward way is to always keep the total size with segments. Even if a node has only one segment it has the total size with the segment, and this information will be exchanged during client-client interactions. > 2) Do nodes that have the whole file also need to have a copy of the > file starting with their id? I mean if it is node 2 does it have to have > 2-foo.dat or they can all have foo.dat? > Yes, it should expect 2-foo.dat > Thanks. > > Solon > > > ------------------------------------------------------------------------ > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From rmchandr at usc.edu Thu Mar 17 15:52:34 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Thu Mar 17 15:54:12 2005 Subject: [Csci551-talk] Packet loss probability in manager.conf ? Message-ID: <4a31900f61b.4239a7c2@usc.edu> Is the packet loss probability field in manager.conf given just for understanding or do we have to deal with it in any way ? We use delay to delay sending packets and after Request Timeout period, if there is no reply, we request again. I couldnt figure out if we would really be using the loss probability values in re-sending packets ?! Thanks Rashmi. From asyed at usc.edu Thu Mar 17 17:03:48 2005 From: asyed at usc.edu (Affan, Syed) Date: Thu Mar 17 17:06:05 2005 Subject: [Csci551-talk] Packet loss probability in manager.conf ? In-Reply-To: <4a31900f61b.4239a7c2@usc.edu> Message-ID: <000d01c52b56$5b98ce90$0300a8c0@A2D> Under section 4.5 the usage of loss probabilities is explained (with an example). If the drop prob >0, you will probabilitically drop outgoing pkts. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi chandrasekhar Sent: Thursday, March 17, 2005 3:53 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] Packet loss probability in manager.conf ? Is the packet loss probability field in manager.conf given just for understanding or do we have to deal with it in any way ? We use delay to delay sending packets and after Request Timeout period, if there is no reply, we request again. I couldnt figure out if we would really be using the loss probability values in re-sending packets ?! Thanks Rashmi. From asyed at usc.edu Thu Mar 17 17:08:58 2005 From: asyed at usc.edu (Affan, Syed) Date: Thu Mar 17 17:10:02 2005 Subject: [Csci551-talk] displaying actual segment data in client's log In-Reply-To: <20050317111904.98437.qmail@web81309.mail.yahoo.com> Message-ID: <001001c52b57$14c1c700$0300a8c0@A2D> On top of page 11 of the project description there is the following output example: "20 From 1 CLNT_SEG_REP fum.dat 11 #actual segment data (not raw data)". Does it mean to simply output the segment number received in the reply message? > Yes, the comment was made to reflect just this. So you out put 11 when you send a req for segment 11 and also when u get the response with that segment. Also it states to output the timestamp in the "UNIX time since epoch", which does not match the example. I've been trained to not make any assumptions when presented with the requirements and samples, so I want to make sure that I am interpreting things correctly. > Yes, the output examples are currently handmade.. so its defficult to estimate the epoch time out of the top of my head :). Lastly, should we just practice with our own files (foo.dat types) or are we going to be provided with one? > Yes, because what we use as input for the sample file (the content) should in no way effect the working of the protocol. Thanks, Sophia Regards Affan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050317/ad30bc54/attachment.html From dayama at usc.edu Thu Mar 17 19:47:10 2005 From: dayama at usc.edu (deepak dayama) Date: Thu Mar 17 19:47:59 2005 Subject: [Csci551-talk] tracker table initialization Message-ID: Hi, I am having problems with filling out the information in the tracker table. The values are being inserted into the table by each of the clients when they are forked. The values are being inserted properly in the proper array location, that I have confirmed. But on reaching the last node, only the values inserted in the last node remain in the array.The structure for the tracker table is declared globally. I know this problem is complicated and is specific to my structure implementation. But could anyone suggest why this is happening. I dont think that the values being filled out by different processes should affect this since the structure is global anyway. Thanks, Deepak. From lugani at usc.edu Thu Mar 17 20:00:00 2005 From: lugani at usc.edu (S. Lugani) Date: Thu Mar 17 20:01:00 2005 Subject: [Csci551-talk] Rubin:(no subject) Message-ID: <225679798bd0.4239e1c0@usc.edu> But the person who just shows interest means that the person has the whole file and is willing to seed and if I show both interest and group_assign, that means I want the file. i.e. even I feel that the 2nd field in the client>tracker packet which is TYPE is not neccessary. comments anybody? Sam > ----- Original Message ----- > From: "S. Rubin" > Date: Wednesday, March 16, 2005 9:51 pm > Subject: [Csci551-talk] (no subject) > > > > > --------------------------------- > > > > >I dont really see why we need the MSGTYPE field in the message > > > > >structure of the client->tracker and tracker->client. If we are > > > > >sending a group intertest message, we set the TYPE field > anyways. > > > > >And the tracker replies in case TYPE was set to indicate the > > group > > > > >assign. So, whats the need for the MSGTYPE structure ? > > > > How would be able to tell apart the clients who want to seed the > > > > file vs. the ones who want to download? They are both showing > > interest. > > Sophia > > > > > From asyed at usc.edu Thu Mar 17 20:39:23 2005 From: asyed at usc.edu (Affan, Syed) Date: Thu Mar 17 20:40:59 2005 Subject: [Csci551-talk] Some minor REQUIREMENTS for the project Message-ID: <000201c52b74$79ada130$0300a8c0@A2D> Hi all, Just a couple of - minor- requirements for the project. In the Appendix A, we havent specified the MSG type hEX values. Use the following for consistency and easier grading. GROUP_SHOW_INTEREST 0xFF GROUP_ASSIGN 0xAA Thanks. Best Regards, Affan, Syed. From asyed at usc.edu Thu Mar 17 20:46:09 2005 From: asyed at usc.edu (Affan, Syed) Date: Thu Mar 17 20:47:59 2005 Subject: [Csci551-talk] Rubin:(no subject) In-Reply-To: <225679798bd0.4239e1c0@usc.edu> Message-ID: <000801c52b75$6b681b40$0300a8c0@A2D> Look at it this way... The first MSGTYPE fld specifies that the rest of the message has a specific format. This exercise is to make you more aware of how actual protocol headers are. The message type specifies the type of pkt it is going to be, and based on that.. The entire remaining structure of the packet can vary, and its interpretation by the manager. So yeah, if we had three MSG TYPES we could do this without the type field, but on a more general scheme of things, it good to work with such structures (look at some RFC's and you will understand what I am saying :) ). Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Lugani Sent: Thursday, March 17, 2005 8:00 PM To: csci551-talk@ISI.EDU Subject: Re: [Csci551-talk] Rubin:(no subject) But the person who just shows interest means that the person has the whole file and is willing to seed and if I show both interest and group_assign, that means I want the file. i.e. even I feel that the 2nd field in the client>tracker packet which is TYPE is not neccessary. comments anybody? Sam > ----- Original Message ----- > From: "S. Rubin" > Date: Wednesday, March 16, 2005 9:51 pm > Subject: [Csci551-talk] (no subject) > > > > > --------------------------------- > > > > >I dont really see why we need the MSGTYPE field in the message > > > > >structure of the client->tracker and tracker->client. If we are > > > > >sending a group intertest message, we set the TYPE field > anyways. > > > > >And the tracker replies in case TYPE was set to indicate the > > group > > > > >assign. So, whats the need for the MSGTYPE structure ? > > > > How would be able to tell apart the clients who want to seed the > > > > file vs. the ones who want to download? They are both showing > > interest. > > Sophia > > > > > From ygandhi at usc.edu Thu Mar 17 21:01:35 2005 From: ygandhi at usc.edu (yash gandhi) Date: Thu Mar 17 21:02:01 2005 Subject: [Csci551-talk] Dynamic port for the Manager Message-ID: <16adb4f18f49.423a0c4f@usc.edu> HI, Currently i am working by assigning the manager a static port, but I was wondering, how will the spwaned processes know if i assign a dynamic port to the manager, is it alright if I pass the port no. of the manager when i call the spwaned process!!! Yash Gandhi From lugani at usc.edu Thu Mar 17 21:06:11 2005 From: lugani at usc.edu (S. Lugani) Date: Thu Mar 17 21:07:00 2005 Subject: [Csci551-talk] Rubin:(no subject) Message-ID: <244e0baaf378.4239f143@usc.edu> Hi affan, My point being that since the structure of the packet is the same....the tracker can just retrieve the packet and check the field and according to that decide what it wants to do. Initially all nodes will show interest(which means the tracker will enter them in its table) and then only those nodes will contact the tracker with the SECOND packet having GROUP field set who want the group info. note:the tracker dosn't care who has the whole file and who dosn't(we dont enter that in the table, we just enter whether a node is interested or not).... It just cares which people are presently interested and thats what it sends back to the clients. therefore I think there should only be two types of messages not three.....i.e. show_interest, group_info so there is no need for the message field as i am getting the same info from the type field comments? sam ----- Original Message ----- From: "Affan, Syed" Date: Thursday, March 17, 2005 8:46 pm Subject: RE: [Csci551-talk] Rubin:(no subject) > Look at it this way... The first MSGTYPE fld specifies that the > rest of > the message has a specific format. This exercise is to make you more > aware of how actual protocol headers are. The message type > specifies the > type of pkt it is going to be, and based on that.. The entire > remainingstructure of the packet can vary, and its interpretation > by the manager. > So yeah, if we had three MSG TYPES we could do this without the type > field, but on a more general scheme of things, it good to work > with such > structures (look at some RFC's and you will understand what I am > saying:) ). > > Best Regards, > Affan, Syed. > > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Lugani > Sent: Thursday, March 17, 2005 8:00 PM > To: csci551-talk@ISI.EDU > Subject: Re: [Csci551-talk] Rubin:(no subject) > > > > But the person who just shows interest means that the person has > the whole file and is willing to seed and if I show both interest > and group_assign, that means I want the file. > > i.e. even I feel that the 2nd field in the client>tracker packet > which is TYPE is not neccessary. > > comments anybody? > > Sam > > > ----- Original Message ----- > > From: "S. Rubin" > > Date: Wednesday, March 16, 2005 9:51 pm > > Subject: [Csci551-talk] (no subject) > > > > > > > > --------------------------------- > > > > > > >I dont really see why we need the MSGTYPE field in the message > > > > > > >structure of the client->tracker and tracker->client. If we are > > > > > > >sending a group intertest message, we set the TYPE field > > anyways. > > > > > > >And the tracker replies in case TYPE was set to indicate the > > > group > > > > > > >assign. So, whats the need for the MSGTYPE structure ? > > > > > > How would be able to tell apart the clients who want to seed the > > > > > > file vs. the ones who want to download? They are both showing > > > interest. > > > Sophia > > > > > > > > > > > > From dayama at usc.edu Thu Mar 17 21:47:23 2005 From: dayama at usc.edu (deepak dayama) Date: Thu Mar 17 21:49:16 2005 Subject: Never mind Re: [Csci551-talk] tracker table initialization Message-ID: <570cd3fe539.4239faeb@usc.edu> Please ignore my earlier email, I got the code working :-) Thanks. > ----- Original Message ----- > From: deepak dayama > Date: Thursday, March 17, 2005 7:47 pm > Subject: [Csci551-talk] tracker table initialization > > > Hi, > > I am having problems with filling out the information in the > > tracker table. The values are being inserted into the table by > each > > of the clients when they are forked. The values are being > inserted > > properly in the proper array location, that I have confirmed. But > > on reaching the last node, only the values inserted in the last > > node remain in the array.The structure for the tracker table is > > declared globally. > > I know this problem is complicated and is specific to my > structure > > implementation. But could anyone suggest why this is happening. I > > dont think that the values being filled out by different > processes > > should affect this since the structure is global anyway. > > Thanks, > > Deepak. > > > > > From cychung at gmail.com Thu Mar 17 23:45:44 2005 From: cychung at gmail.com (Clarence Chung) Date: Thu Mar 17 23:46:01 2005 Subject: [Csci551-talk] Anyone having problem ssh to nunki? Message-ID: <430859e405031723451bd4d4f6@mail.gmail.com> Anyone? Or is it just me? Thanks. Clarence From rmchandr at usc.edu Fri Mar 18 01:13:04 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Fri Mar 18 01:14:00 2005 Subject: [Csci551-talk] Config file format - earlier post clarification. Message-ID: <181bb10fc3cf.423a2b20@usc.edu> Someone had posted: > Is it safe to assume that the number of rows in packet delay and > drop probability table is equal to number of clients. Yes. Is it always the case ? Will there be an entry for delay for all nodes ? Also, will they always be in the increasing order starting from 0 ? Thanks, Rashmi. From rmchandr at usc.edu Fri Mar 18 01:35:06 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Fri Mar 18 01:36:00 2005 Subject: [Csci551-talk] Requirement for 2 source files ? Message-ID: <832511cea74.423a304a@usc.edu> The project spec says that the project should be broken into atleast 2 C/C++ files. Is this a stringent requirement or is it ok to have it in one single file ? (one .c and one .h file) Thanks. -Rashmi. From asyed at usc.edu Fri Mar 18 07:40:14 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 18 07:42:17 2005 Subject: [Csci551-talk] Config file format - earlier post clarification. In-Reply-To: <181bb10fc3cf.423a2b20@usc.edu> Message-ID: <001201c52bd0$cb84b0f0$0300a8c0@A2D> Someone had posted: > Is it safe to assume that the number of rows in packet delay and > drop probability table is equal to number of clients. Yes. Is it always the case ? Will there be an entry for delay for all nodes ? Yes. Also, will they always be in the increasing order starting from 0 ? You mean the nodes starting from id 0 and upwards? No. Thanks, Rashmi. From srubin at flash.net Fri Mar 18 10:30:59 2005 From: srubin at flash.net (S. Rubin) Date: Fri Mar 18 10:32:01 2005 Subject: [Csci551-talk] screen output messages Message-ID: <20050318183059.66989.qmail@web81307.mail.yahoo.com> I know that there are no stated requirements, except for the 0xFF and 0xAA messages, regarding what to display on the screen. I noticed that if I display "inter-client" messages for each segment request/receipt, the I/O really slows down the "download" progress.Could the person grading the program be satisfied with "client<-->tracker" messages and perhaps some milestone reaching steps, like start/finish download, new client comes/goes, etc. We record everything in the log files anyway, so all steps can be traced. Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050318/ff6b006e/attachment.html From asyed at usc.edu Fri Mar 18 12:19:39 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 18 12:21:16 2005 Subject: [Csci551-talk] screen output messages In-Reply-To: <20050318183059.66989.qmail@web81307.mail.yahoo.com> Message-ID: <000501c52bf7$d40b1620$1006000a@A2D> I dont think the requirement is to print anything on the screen. Simply log the output. We will only grade based on the log file. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Friday, March 18, 2005 10:31 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] screen output messages I know that there are no stated requirements, except for the 0xFF and 0xAA messages, regarding what to display on the screen. I noticed that if I display "inter-client" messages for each segment request/receipt, the I/O really slows down the "download" progress.Could the person grading the program be satisfied with "client<-->tracker" messages and perhaps some milestone reaching steps, like start/finish download, new client comes/goes, etc. We record everything in the log files anyway, so all steps can be traced. Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050318/080a365a/attachment.html From srubin at flash.net Fri Mar 18 12:39:45 2005 From: srubin at flash.net (S. Rubin) Date: Fri Mar 18 12:40:02 2005 Subject: [Csci551-talk] screen output messages In-Reply-To: 6667 Message-ID: <20050318203945.13296.qmail@web81309.mail.yahoo.com> Then, what is the 0xFF and 0xAA for as a new requirement? I number the messages with my own numbers and later convert them into strings to be written into the log files as shown in the project paper sample outputs. Do you care if I use non-hex values for my own purposes as long as I print the correct string into the log file? How does our internal choice of values affect the ease of grading for you since you will be seeing strings anyway? Sophia "Affan, Syed" wrote: I dont think the requirement is to print anything on the screen. Simply log the output. We will only grade based on the log file. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Friday, March 18, 2005 10:31 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] screen output messages I know that there are no stated requirements, except for the 0xFF and 0xAA messages, regarding what to display on the screen. I noticed that if I display "inter-client" messages for each segment request/receipt, the I/O really slows down the "download" progress.Could the person grading the program be satisfied with "client<-->tracker" messages and perhaps some milestone reaching steps, like start/finish download, new client comes/goes, etc. We record everything in the log files anyway, so all steps can be traced. Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050318/e4cc83d7/attachment.html From xiw at usc.edu Fri Mar 18 13:50:19 2005 From: xiw at usc.edu (Xi Wang) Date: Fri Mar 18 13:55:08 2005 Subject: [Csci551-talk] Re: [Cs551] Project-udp question In-Reply-To: <20c7754ef621.423a237c@usc.edu> References: <20c7754ef621.423a237c@usc.edu> Message-ID: <423B4D1B.7000109@usc.edu> Yes, you can assume these two for UDP in this project. As you are sending and receiving on the same machine, you can send fairly big packets. If you send over internet, UDP packet can be dropped if it is too large (larger than MTU). -Xi mishari ibrahim almishari wrote: > Hi,,,I am taking regarding the UDP communications not TCP > (1) Can we assume that if a node sends a message to other node,,,then the receiving node will receive the whole message by calling recvfrom one time only (not multiple times)????Actually, I tried my self sending message of size upto 10000 byte and it was received in one call of "recvfrom" and i think the size of the messages in the project may not exceed 800 byte???????? > > (2)Can we assume that if a node sends a message to other node,,,then the message will be completely sent by one call to "sendto" operation???Actually, i tried myself sending a message of size upto 10000 and it was sent in call to "send to" operation and usually the size of the messages in the project may not exceed 1 K???????????? > > > Therefore,,,,,Is it ok to assume that if we call "recvfrom" the message will be completely received and if we call "sendto" the message will be completely sent (just calling them one time not more)??????????????? > > That would realy simplify things :) > > Thanks > > -mish > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From xiw at usc.edu Fri Mar 18 14:00:45 2005 From: xiw at usc.edu (Xi Wang) Date: Fri Mar 18 14:04:11 2005 Subject: [Csci551-talk] Re: [Cs551] Project- zombie processes In-Reply-To: <2b217a3cfc0d.423a25a8@usc.edu> References: <2b217a3cfc0d.423a25a8@usc.edu> Message-ID: <423B4F8D.1050001@usc.edu> There is no need to use the parent/child model for processes. After fork() both processes are equal and can terminate independently. Think about cloning. You just need to make sure every process terminate within a reasonable time. -Xi mishari ibrahim almishari wrote: > Hi > > (1) do we have to care about reaping for reaping zombie processes? could you please clarify how the zombie processes are created??? > > (2)If the parent process terminates, does this cause the child process to terminate as well? (Actually, i tried it and i saw the termination of the parent doesn't cause the termination of the child,,,,just to make sure maybe i missed something) > > (3)does the termination of the parent process affect the communications of the children process???could please infesize if there is any thing we have to pay attention to regaring the parent-child termination ??????? > > thanks ............. > > -mish > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From rmchandr at usc.edu Fri Mar 18 14:19:50 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Fri Mar 18 14:21:12 2005 Subject: [Csci551-talk] Timer question Message-ID: <1b0f9b92c35c.423ae386@usc.edu> When you say a node shows interest after 15 (for example) seconds after the start of simulation, simulation means a. 15 seconds after the node was created ? or b. 15 seconds after the main program started execution ? Thanks. -Rashmi. From xiw at usc.edu Fri Mar 18 14:22:14 2005 From: xiw at usc.edu (Xi Wang) Date: Fri Mar 18 14:25:09 2005 Subject: [Csci551-talk] Re: [Cs551] Timout....projecta In-Reply-To: <2cf2ec2dea2a.423accf7@usc.edu> References: <2cf2ec2dea2a.423accf7@usc.edu> Message-ID: <423B5496.9040800@usc.edu> mishari ibrahim almishari wrote: > Hi,, > (1)In page 7, paragraph3,,,,,"In order to handle packet loss........" Is that required from the client after he completely downloaded the file(have the file) or while downloading the file???I think it doesn't make sense "while downloading", if the client is in the process of downloading the file it doesn't make sense to me to timeout regularly to inform the tracker of the interest because the client will anyhow do a group update while looping (see the second statement in the psuedo code) so why to timeout and send regularly since the client will anyhow send to the tracker requestin a group update....????????? > Sending a group request is showing interest. > > (2)Correct me please if i am wrong,,,,If the client found only 3 ( < 8) segments to be downloaded from the group....after he downlads them he sleeps for timeout period becase there was less than 8 segments found??? > That depends on the cause of the problem: If tracker assigned the downloading node 4 group nodes, the node send requests and get replies from all of them, but unable to find 6 new segments from group nodes, then it needs to sleep. If the downloading node send requests to all group nodes, but unable to get reply from some of them due to packet loss, it will time out and try to download from replying nodes. If it is unable to get 8 segments there is no need to sleep since it already had a timeout. For the former case, the reason for sleeping is if a node can't find 8 segments from group nodes, then try again immediately won't help. It needs to wait new segments to enter the group. Sleep will avoid congestion. > (3)Same situation as in q2,,,,but here the client has only 3 segments remaining to complete the whole file ....in this case i think there is no need to sleep???????? > Right. > Thanks > > -mish > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From asyed at usc.edu Fri Mar 18 14:26:52 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 18 14:28:02 2005 Subject: FW: [Csci551-talk] Some minor REQUIREMENTS for the project- ADDENDUM Message-ID: <000101c52c09$99786820$0300a8c0@A2D> I made the following change on Clarance's suggestions.. But didn't send it to everyone on both the list... So please observe that the values for the following have *changed* GROUP_SHOW_INTEREST 0xFFFF GROUP_ASSIGN 0xAAAA Best Regards, Affan, Syed. -----Original Message----- From: Affan, Syed [mailto:asyed@usc.edu] Sent: Friday, March 18, 2005 7:40 AM To: 'Clarence Chung' Cc: 'cs551@catarina.usc.edu' Subject: RE: [Csci551-talk] Some minor REQUIREMENTS for the project I had actually meant 0x00ff, but come to think of it, lets make it 0xFFFF fro GROUP_SHOW_INTEREST And 0xAAAA for GROUP_ASSIGN. Best Regards, Affan, Syed. -----Original Message----- From: Clarence Chung [mailto:cychung@gmail.com] Sent: Friday, March 18, 2005 12:18 AM To: Affan, Syed Subject: Re: [Csci551-talk] Some minor REQUIREMENTS for the project On Thu, 17 Mar 2005 20:39:23 -0800, Affan, Syed wrote: > Hi all, > Just a couple of - minor- requirements for the project. > In the Appendix A, we havent specified the MSG type hEX values. Use > the following for consistency and easier grading. > > GROUP_SHOW_INTEREST 0xFF > GROUP_ASSIGN 0xAA Did you mean 0x00FF or 0xFFFF? And similar for GROUP_ASSIGN... Clarence > > Thanks. > > Best Regards, > Affan, Syed. > > From asyed at usc.edu Fri Mar 18 14:29:26 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 18 14:30:06 2005 Subject: [Csci551-talk] screen output messages In-Reply-To: <20050318203945.13296.qmail@web81309.mail.yahoo.com> Message-ID: <000801c52c09$f536e330$0300a8c0@A2D> No I dont care, just print the right output to the log file. I just want that the hex value printed in the log file should be consistent across all students (and it had no reason to be before since we didnt specify it), hence the 0xFFFF and 0cAAAA values now. . Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Friday, March 18, 2005 12:40 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] screen output messages Then, what is the 0xFF and 0xAA for as a new requirement? I number the messages with my own numbers and later convert them into strings to be written into the log files as shown in the project paper sample outputs. Do you care if I use non-hex values for my own purposes as long as I print the correct string into the log file? How does our internal choice of values affect the ease of grading for you since you will be seeing strings anyway? Sophia "Affan, Syed" wrote: I dont think the requirement is to print anything on the screen. Simply log the output. We will only grade based on the log file. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Friday, March 18, 2005 10:31 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] screen output messages I know that there are no stated requirements, except for the 0xFF and 0xAA messages, regarding what to display on the screen. I noticed that if I display "inter-client" messages for each segment request/receipt, the I/O really slows down the "download" progress.Could the person grading the program be satisfied with "client<-->tracker" messages and perhaps some milestone reaching steps, like start/finish download, new client comes/goes, etc. We record everything in the log files anyway, so all steps can be traced. Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050318/067aa2bc/attachment-0001.html From asyed at usc.edu Fri Mar 18 14:31:42 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 18 14:33:07 2005 Subject: [Csci551-talk] Timer question In-Reply-To: <1b0f9b92c35c.423ae386@usc.edu> Message-ID: <000d01c52c0a$465ea4f0$0300a8c0@A2D> No I only mean 15 seconds after the node was created... It a rough scaling and might be different for different nodes. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi chandrasekhar Sent: Friday, March 18, 2005 2:20 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] Timer question When you say a node shows interest after 15 (for example) seconds after the start of simulation, simulation means a. 15 seconds after the node was created ? or b. 15 seconds after the main program started execution ? Thanks. -Rashmi. From srubin at flash.net Fri Mar 18 15:55:15 2005 From: srubin at flash.net (S. Rubin) Date: Fri Mar 18 15:56:16 2005 Subject: [Csci551-talk] screen output messages In-Reply-To: <000801c52c09$f536e330$0300a8c0@A2D> Message-ID: <20050318235515.14146.qmail@web81305.mail.yahoo.com> I am confused... Are you referring to the output where we need to show the raw reply message in hex (in the tracker log file)? If so, tracker will only record the reply message, which is always 0xAAAA. All message types in a client's log file are displayed as strings, according to the sample outputs provided. What am I missing? Sophia "Affan, Syed" wrote: No I dont care, just print the right output to the log file. I just want that the hex value printed in the log file should be consistent across all students (and it had no reason to be before since we didnt specify it), hence the 0xFFFF and 0cAAAA values now. . Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Friday, March 18, 2005 12:40 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] screen output messages Then, what is the 0xFF and 0xAA for as a new requirement? I number the messages with my own numbers and later convert them into strings to be written into the log files as shown in the project paper sample outputs. Do you care if I use non-hex values for my own purposes as long as I print the correct string into the log file? How does our internal choice of values affect the ease of grading for you since you will be seeing strings anyway? Sophia "Affan, Syed" wrote: I dont think the requirement is to print anything on the screen. Simply log the output. We will only grade based on the log file. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Friday, March 18, 2005 10:31 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] screen output messages I know that there are no stated requirements, except for the 0xFF and 0xAA messages, regarding what to display on the screen. I noticed that if I display "inter-client" messages for each segment request/receipt, the I/O really slows down the "download" progress.Could the person grading the program be satisfied with "client<-->tracker" messages and perhaps some milestone reaching steps, like start/finish download, new client comes/goes, etc. We record everything in the log files anyway, so all steps can be traced. Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050318/cac15192/attachment.html From asyed at usc.edu Fri Mar 18 16:04:36 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 18 16:06:10 2005 Subject: [Csci551-talk] screen output messages In-Reply-To: <20050318235515.14146.qmail@web81305.mail.yahoo.com> Message-ID: <000001c52c17$40a87920$0300a8c0@A2D> Actually nothing ... you are correct, only the 0xAAAA is the required thing that we will test and can see in the log files as per the specifications. Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Friday, March 18, 2005 3:55 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] screen output messages I am confused... Are you referring to the output where we need to show the raw reply message in hex (in the tracker log file)? If so, tracker will only record the reply message, which is always 0xAAAA. All message types in a client's log file are displayed as strings, according to the sample outputs provided. What am I missing? Sophia "Affan, Syed" wrote: No I dont care, just print the right output to the log file. I just want that the hex value printed in the log file should be consistent across all students (and it had no reason to be before since we didnt specify it), hence the 0xFFFF and 0cAAAA values now. . Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Friday, March 18, 2005 12:40 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] screen output messages Then, what is the 0xFF and 0xAA for as a new requirement? I number the messages with my own numbers and later convert them into strings to be written into the log files as shown in the project paper sample outputs. Do you care if I use non-hex values for my own purposes as long as I print the correct string into the log file? How does our internal choice of values affect the ease of grading for you since you will be seeing strings anyway? Sophia "Affan, Syed" wrote: I dont think the requirement is to print anything on the screen. Simply log the output. We will only grade based on the log file. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Friday, March 18, 2005 10:31 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] screen output messages I know that there are no stated requirements, except for the 0xFF and 0xAA messages, regarding what to display on the screen. I noticed that if I display "inter-client" messages for each segment request/receipt, the I/O really slows down the "download" progress.Could the person grading the program be satisfied with "client<-->tracker" messages and perhaps some milestone reaching steps, like start/finish download, new client comes/goes, etc. We record everything in the log files anyway, so all steps can be traced. Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050318/0f67f03c/attachment.html From srubin at flash.net Fri Mar 18 16:36:49 2005 From: srubin at flash.net (S. Rubin) Date: Fri Mar 18 16:37:11 2005 Subject: [Csci551-talk] screen output messages In-Reply-To: <000001c52c17$40a87920$0300a8c0@A2D> Message-ID: <20050319003649.34052.qmail@web81304.mail.yahoo.com> And just to make sure, I am only sending responses back to those who want to download a file, not to the seeds. Is that correct, since seeds don't care; they just volunteer to be available? Sophia "Affan, Syed" wrote: Actually nothing ... you are correct, only the 0xAAAA is the required thing that we will test and can see in the log files as per the specifications. Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Friday, March 18, 2005 3:55 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] screen output messages I am confused... Are you referring to the output where we need to show the raw reply message in hex (in the tracker log file)? If so, tracker will only record the reply message, which is always 0xAAAA. All message types in a client's log file are displayed as strings, according to the sample outputs provided. What am I missing? Sophia "Affan, Syed" wrote: No I dont care, just print the right output to the log file. I just want that the hex value printed in the log file should be consistent across all students (and it had no reason to be before since we didnt specify it), hence the 0xFFFF and 0cAAAA values now. . Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Friday, March 18, 2005 12:40 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] screen output messages Then, what is the 0xFF and 0xAA for as a new requirement? I number the messages with my own numbers and later convert them into strings to be written into the log files as shown in the project paper sample outputs. Do you care if I use non-hex values for my own purposes as long as I print the correct string into the log file? How does our internal choice of values affect the ease of grading for you since you will be seeing strings anyway? Sophia "Affan, Syed" wrote: I dont think the requirement is to print anything on the screen. Simply log the output. We will only grade based on the log file. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Friday, March 18, 2005 10:31 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] screen output messages I know that there are no stated requirements, except for the 0xFF and 0xAA messages, regarding what to display on the screen. I noticed that if I display "inter-client" messages for each segment request/receipt, the I/O really slows down the "download" progress.Could the person grading the program be satisfied with "client<-->tracker" messages and perhaps some milestone reaching steps, like start/finish download, new client comes/goes, etc. We record everything in the log files anyway, so all steps can be traced. Thanks, Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050318/e177d02e/attachment-0001.html From rmchandr at usc.edu Sat Mar 19 00:38:24 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Sat Mar 19 00:39:05 2005 Subject: [Csci551-talk] Start time issue. Message-ID: <32c57ca6f809.423b7480@usc.edu> What should be the output from the tracker if a node (that does that have the file) asks for a group assignment before a node that has the file shows interest ? The tracker has no knowlede who has the file in this case .. should the reply just indicate 0 nodes so that the node can ask an assignment again after request timeout period ? Thanks. -Rashmi From tmakhija at usc.edu Sat Mar 19 00:58:38 2005 From: tmakhija at usc.edu (tushar makhija) Date: Sat Mar 19 01:00:02 2005 Subject: [Csci551-talk] Start time issue. Message-ID: <2fe1a24abe71.423b793e@usc.edu> What should be the output from the tracker if a node (that does that have the file) asks for a group assignment before a node that has the file shows interest ? The tracker has no knowlede who has the file in this case .. should the reply just indicate 0 nodes so that the node can ask an assignment again after request timeout period ? Till the Tracker gets the seed he has nothing to do .. so client will basically timeout and tehn resend his request . and if within tht time tracker has a SEED he can reply back to the request of the client with a groupassign message hope this helps happy hacking !!!! Tushar From asyed at usc.edu Sat Mar 19 07:16:32 2005 From: asyed at usc.edu (Affan, Syed) Date: Sat Mar 19 07:18:03 2005 Subject: [Csci551-talk] Start time issue. In-Reply-To: <32c57ca6f809.423b7480@usc.edu> Message-ID: <000701c52c96$a6822230$0300a8c0@A2D> Yes! Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi chandrasekhar Sent: Saturday, March 19, 2005 12:38 AM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] Start time issue. What should be the output from the tracker if a node (that does that have the file) asks for a group assignment before a node that has the file shows interest ? The tracker has no knowlede who has the file in this case .. should the reply just indicate 0 nodes so that the node can ask an assignment again after request timeout period ? Thanks. -Rashmi From asyed at usc.edu Sat Mar 19 07:17:49 2005 From: asyed at usc.edu (Affan, Syed) Date: Sat Mar 19 07:19:04 2005 Subject: [Csci551-talk] Start time issue. In-Reply-To: <2fe1a24abe71.423b793e@usc.edu> Message-ID: <000801c52c96$d4b0cbc0$0300a8c0@A2D> Actually this approach works as well. So what ever you are happy with. Although, this one is more bandwidth efficient.. But - as we said.. The current protocol is not the *most* efficient :). Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of tushar makhija Sent: Saturday, March 19, 2005 12:59 AM To: csci551-talk@ISI.EDU Subject: Re: [Csci551-talk] Start time issue. What should be the output from the tracker if a node (that does that have the file) asks for a group assignment before a node that has the file shows interest ? The tracker has no knowlede who has the file in this case .. should the reply just indicate 0 nodes so that the node can ask an assignment again after request timeout period ? Till the Tracker gets the seed he has nothing to do .. so client will basically timeout and tehn resend his request . and if within tht time tracker has a SEED he can reply back to the request of the client with a groupassign message hope this helps happy hacking !!!! Tushar From rmchandr at usc.edu Sat Mar 19 09:52:49 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Sat Mar 19 09:54:16 2005 Subject: [Csci551-talk] Start time issue. Message-ID: <39def94ff1b9.423bf671@usc.edu> Just to clarify .. wont the tracker add node IDs of every request (be it assignment or interest) to the 'peer' table ? (since the tracker does not really care who has the file, he is just interested in knowing who is interested in a file) .. If yes, then, the next request from a node for an assignment will invariable result in a reply with its own ID in the reply (if the tracker still hasnt heard from any other node) ... So, basically sending a reply would become inevitable in this case. -Rashmi. > What should be the output from the tracker if a node (that does > that have the file) asks for a group assignment before a node that > has the file shows interest ? The tracker has no knowlede who has > the file in this case .. should the reply just indicate 0 nodes so > that the node can ask an assignment again after request timeout > period ? > > > Till the Tracker gets the seed he has nothing to do .. > so client will basically timeout and tehn resend his request . > > and if within tht time tracker has a SEED > he can reply back to the request of the client with a groupassign > message > hope this helps > > happy hacking !!!! > > Tushar > > > > From srubin at flash.net Sat Mar 19 11:22:56 2005 From: srubin at flash.net (S. Rubin) Date: Sat Mar 19 11:24:13 2005 Subject: [Csci551-talk] permission denied Message-ID: <20050319192256.28415.qmail@web81307.mail.yahoo.com> I tried my code this morning, and keep getting "permission denied" when executing recv(socket, buf, buf_len,0) to receive tracker's udp port at the manager. Tracker is spawned, tcp connection is accepted, but the problem seems to be with recv. I get a negative value in the buffer with the system error "permission denied". Any ideas? This code has not changed and has been working until this morning. Anything with aludra or nunki? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050319/2ac24c69/attachment.html From rajwani at usc.edu Sat Mar 19 13:22:29 2005 From: rajwani at usc.edu (dinesh rajwani) Date: Sat Mar 19 13:23:04 2005 Subject: [Csci551-talk] Start time issue. Message-ID: <3a743e0bca1f.423c2795@usc.edu> This is my take on this... The tracker wil not make entry into the peer table till it finds a seed, and then subsequent requests for the file the seed has wil be honoured. i feel it makes sense to not add entry till seed appears as consider a real scenario where the client loses interest in the file, then the seed appears, having that client logged into the table would then be incorrect. Dinesh ----- Original Message ----- From: rashmi chandrasekhar Date: Saturday, March 19, 2005 9:52 am Subject: Re: [Csci551-talk] Start time issue. > > Just to clarify .. wont the tracker add node IDs of every request > (be it assignment or interest) to the 'peer' table ? (since the > tracker does not really care who has the file, he is just > interested in knowing who is interested in a file) .. If yes, > then, the next request from a node for an assignment will > invariable result in a reply with its own ID in the reply (if the > tracker still hasnt heard from any other node) ... So, basically > sending a reply would become inevitable in this case. > > -Rashmi. > > > > What should be the output from the tracker if a node (that does > > that have the file) asks for a group assignment before a node > that > > has the file shows interest ? The tracker has no knowlede who > has > > the file in this case .. should the reply just indicate 0 nodes > so > > that the node can ask an assignment again after request timeout > > period ? > > > > > > Till the Tracker gets the seed he has nothing to do .. > > so client will basically timeout and tehn resend his request . > > > > and if within tht time tracker has a SEED > > he can reply back to the request of the client with a > groupassign > > message > > hope this helps > > > > happy hacking !!!! > > > > Tushar > > > > > > > > > > From johnh at ISI.EDU Sat Mar 19 13:45:10 2005 From: johnh at ISI.EDU (John Heidemann) Date: Sat Mar 19 13:46:04 2005 Subject: [Csci551-talk] next class for csci551 Message-ID: <200503192145.j2JLjAt9014893@dash.isi.edu> There has been some question about if we have class on March 25 (it is Good Friday, a Christian holiday). My understanding is that the 25th is NOT an official USC holiday, so we WILL have class as planned. In addition, I'll do a brief supplement for folks interested in XCP after class. As in all cases, if you are unable to attend class for religious reasons you're welcome to skip it. I do expect ALL students to be familiar with the material for that class. If you cannot attend class, I encourage you to view it on DEN webcast. -John Heidemann From xiw at usc.edu Sat Mar 19 14:02:49 2005 From: xiw at usc.edu (Xi Wang) Date: Sat Mar 19 14:06:04 2005 Subject: [Csci551-talk] Re: [Cs551] Fork In-Reply-To: <387869bdb9e9.423c19e2@usc.edu> References: <387869bdb9e9.423c19e2@usc.edu> Message-ID: <423CA189.2040201@usc.edu> jung suh wrote: > Hello, > I read from the book there are two ways to fork > 1. Fork so that you make new copy of itself to do some task > 2. Fork and then call Exec > When forking for tracker and clients, should we fork using 1 or 2? > If 2, we should create separate source files for tracker and clients, right? For 2, you need two separate EXECUTABLES for tracker and clients. So there would be at least two source files. > If 1, basically we separate functions of clients, tracker, manager > by checking if the forked process is child process(by chekcing pid) or parent process? Yes. But you can still use separate source files. You can use either approach 1 or 2. -Xi From xiw at usc.edu Sat Mar 19 14:10:02 2005 From: xiw at usc.edu (Xi Wang) Date: Sat Mar 19 14:13:06 2005 Subject: [Csci551-talk] Start time issue. In-Reply-To: <39def94ff1b9.423bf671@usc.edu> References: <39def94ff1b9.423bf671@usc.edu> Message-ID: <423CA33A.9040008@usc.edu> Generally a reply with zero group node is valid and you should send such a reply. rashmi chandrasekhar wrote: > Just to clarify .. wont the tracker add node IDs of every request (be it assignment or interest) to the 'peer' table ? (since the tracker does not really care who has the file, he is just interested in knowing who is interested in a file) .. If yes, then, the next request from a node for an assignment will invariable result in a reply with its own ID in the reply (if the tracker still hasnt heard from any other node) Exactly. ... So, basically sending a reply would become inevitable in this case. > The tracker can be (not required) designed such that it won't send back the requesting node as a group node. Then the first node sending a show interest with group request should get reply with zero group node. > -Rashmi. > > > >>What should be the output from the tracker if a node (that does >>that have the file) asks for a group assignment before a node that >>has the file shows interest ? The tracker has no knowlede who has >>the file in this case .. should the reply just indicate 0 nodes so >>that the node can ask an assignment again after request timeout >>period ? >> >> >>Till the Tracker gets the seed he has nothing to do .. >>so client will basically timeout and tehn resend his request . >> >>and if within tht time tracker has a SEED >>he can reply back to the request of the client with a groupassign >>message >>hope this helps >> >>happy hacking !!!! >> >>Tushar >> >> >> >> > > From tmakhija at usc.edu Sat Mar 19 16:13:47 2005 From: tmakhija at usc.edu (tushar makhija) Date: Sat Mar 19 16:15:04 2005 Subject: [Csci551-talk] number of file segments Message-ID: <431d81b4b073.423c4fbb@usc.edu> As per wht i get from the specs is say, given a file of size 20KB and max segment size of 32B we wud have upto 640 segments..... is my understanding correct ! please comment From asyed at usc.edu Sat Mar 19 18:40:52 2005 From: asyed at usc.edu (Affan, Syed) Date: Sat Mar 19 18:42:04 2005 Subject: [Csci551-talk] number of file segments In-Reply-To: <431d81b4b073.423c4fbb@usc.edu> Message-ID: <000301c52cf6$3ff624c0$0300a8c0@A2D> Yes.. That seems to be the correct maths :) Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of tushar makhija Sent: Saturday, March 19, 2005 4:14 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] number of file segments As per wht i get from the specs is say, given a file of size 20KB and max segment size of 32B we wud have upto 640 segments..... is my understanding correct ! please comment From srubin at flash.net Sun Mar 20 07:59:29 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 20 08:00:06 2005 Subject: [Csci551-talk] Re: permission denied In-Reply-To: 6667 Message-ID: <20050320155929.11874.qmail@web81307.mail.yahoo.com> Still permission denied. Any ideas, anybody??? Sophia "S. Rubin" wrote: I tried my code this morning, and keep getting "permission denied" when executing recv(socket, buf, buf_len,0) to receive tracker's udp port at the manager. Tracker is spawned, tcp connection is accepted, but the problem seems to be with recv. I get a negative value in the buffer with the system error "permission denied". Any ideas? This code has not changed and has been working until this morning. Anything with aludra or nunki? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/ca612495/attachment.html From srubin at flash.net Sun Mar 20 08:57:24 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 20 08:58:05 2005 Subject: [Csci551-talk] random is not that random Message-ID: <20050320165724.22682.qmail@web81307.mail.yahoo.com> When I loop for max of 8 segments and pick at random a segment that I still need, I get at most 2 different random values. If a put a sleep after each rand call, I get a better variety. Since I am in the loop selecting a new random segment and a random volunteer from whom I can download, I don't wait to get any responses, I just blast off the requests. Is this incorrect? Are we suppose to delay our requests, or is ot fine to have a short sleep after each rand call in this loop? Rand seems to be working better for loss as it does not occur at this short intervals. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/26019053/attachment.html From asyed at usc.edu Sun Mar 20 09:29:56 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 20 09:31:06 2005 Subject: [Csci551-talk] random is not that random In-Reply-To: <20050320165724.22682.qmail@web81307.mail.yahoo.com> Message-ID: <000401c52d72$73e5d150$0300a8c0@A2D> Interesting. We really hadnt thought of that (this randomization problem while choosing being not "random"). Off the top of my head, i dont see any reason why not to set of 8 requests at the same time. But if some one can come up with a better way to randomize.. it would be nice to share with all. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 20, 2005 8:57 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] random is not that random When I loop for max of 8 segments and pick at random a segment that I still need, I get at most 2 different random values. If a put a sleep after each rand call, I get a better variety. Since I am in the loop selecting a new random segment and a random volunteer from whom I can download, I don't wait to get any responses, I just blast off the requests. Is this incorrect? Are we suppose to delay our requests, or is ot fine to have a short sleep after each rand call in this loop? Rand seems to be working better for loss as it does not occur at this short intervals. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/d5623211/attachment.html From srubin at flash.net Sun Mar 20 09:57:23 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 20 09:58:08 2005 Subject: [Csci551-talk] random is not that random In-Reply-To: 6667 Message-ID: <20050320175723.99821.qmail@web81302.mail.yahoo.com> When I select sleep for 3 seconds (seems to be the magic number), I always get a unique segment. According to our specs, we have to "randomly select one entry from the table and download the segment...". The table is a list of segments that we do not possess yet locally. I put the same sleep when doing rand on picking the guy from whom I will download, as the same randomization problem occurs. I wrote a tiny test program where I loop for 8 counts and select a random number. If I don't use sleep, the number is almost always the same, if I sleep for 3, it is unique each time. I do seed rand with srand, using time(NULL) as a parameter each time before calling rand. Any ideas on "permission denied problem"? I can now only run on cygwin due to that error on aludra/nunki. "Affan, Syed" wrote: Interesting. We really hadnt thought of that (this randomization problem while choosing being not "random"). Off the top of my head, i dont see any reason why not to set of 8 requests at the same time. But if some one can come up with a better way to randomize.. it would be nice to share with all. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 20, 2005 8:57 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] random is not that random When I loop for max of 8 segments and pick at random a segment that I still need, I get at most 2 different random values. If a put a sleep after each rand call, I get a better variety. Since I am in the loop selecting a new random segment and a random volunteer from whom I can download, I don't wait to get any responses, I just blast off the requests. Is this incorrect? Are we suppose to delay our requests, or is ot fine to have a short sleep after each rand call in this loop? Rand seems to be working better for loss as it does not occur at this short intervals. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/c4da563f/attachment-0001.html From srubin at flash.net Sun Mar 20 10:55:36 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 20 10:56:05 2005 Subject: [Csci551-talk] entries in the seed's log file Message-ID: <20050320185536.10853.qmail@web81302.mail.yahoo.com> Is it correct to assume that the only entries that the seed should have in his log file are messages to the tracker to show interest? He himself does not get anything back from the tracker, nor does he make any requests, hence no replies. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/dedd2e7d/attachment.html From aneeketp at usc.edu Sun Mar 20 13:21:10 2005 From: aneeketp at usc.edu (Aneeket Patil) Date: Sun Mar 20 13:22:06 2005 Subject: [Csci551-talk] how many segments can we d/w from a single node? Message-ID: <423DE946.9040009@usc.edu> hi, As mentioned in the specs we cannot d/w all the segments from a single node. But is there a limit how many segments can we d/w from a single node during a single Group Update ? Aneeket From asyed at usc.edu Sun Mar 20 14:02:17 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 20 14:03:08 2005 Subject: [Csci551-talk] entries in the seed's log file In-Reply-To: <20050320185536.10853.qmail@web81302.mail.yahoo.com> Message-ID: <000601c52d98$7ff8ae10$0300a8c0@A2D> But it does get INFO and SEGMENT requests.. you have to log those as well. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 20, 2005 10:56 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] entries in the seed's log file Is it correct to assume that the only entries that the seed should have in his log file are messages to the tracker to show interest? He himself does not get anything back from the tracker, nor does he make any requests, hence no replies. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/6dd10d92/attachment.html From asyed at usc.edu Sun Mar 20 14:04:20 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 20 14:05:06 2005 Subject: [Csci551-talk] how many segments can we d/w from a single node? In-Reply-To: <423DE946.9040009@usc.edu> Message-ID: <000c01c52d98$c926f6a0$0300a8c0@A2D> No limit as such. So if you have only one node to download from, then you cant randomly choose can you :). Then you just get all 8 segments from that node. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Aneeket Patil Sent: Sunday, March 20, 2005 1:21 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] how many segments can we d/w from a single node? hi, As mentioned in the specs we cannot d/w all the segments from a single node. But is there a limit how many segments can we d/w from a single node during a single Group Update ? Aneeket From srubin at flash.net Sun Mar 20 15:53:33 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 20 15:54:06 2005 Subject: [Csci551-talk] entries in the seed's log file In-Reply-To: 6667 Message-ID: <20050320235333.15956.qmail@web81309.mail.yahoo.com> I guess the flow then will be reversed in the log file: for example instead of reporting "...To Client# CLNT_INFO_REQ" it will be "From Client# CLNT_INFO_REQ", i.e. all From's will become To's and all To's will become From's. "Affan, Syed" wrote: But it does get INFO and SEGMENT requests.. you have to log those as well. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 20, 2005 10:56 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] entries in the seed's log file Is it correct to assume that the only entries that the seed should have in his log file are messages to the tracker to show interest? He himself does not get anything back from the tracker, nor does he make any requests, hence no replies. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/7185edf6/attachment.html From asyed at usc.edu Sun Mar 20 17:22:29 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 20 17:23:06 2005 Subject: [Csci551-talk] entries in the seed's log file In-Reply-To: <20050320235333.15956.qmail@web81309.mail.yahoo.com> Message-ID: <000a01c52db4$773f2f80$0300a8c0@A2D> Yes. All msgs sent and recevied will be logged. Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Sunday, March 20, 2005 3:54 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] entries in the seed's log file I guess the flow then will be reversed in the log file: for example instead of reporting "...To Client# CLNT_INFO_REQ" it will be "From Client# CLNT_INFO_REQ", i.e. all From's will become To's and all To's will become From's. "Affan, Syed" wrote: But it does get INFO and SEGMENT requests.. you have to log those as well. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 20, 2005 10:56 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] entries in the seed's log file Is it correct to assume that the only entries that the seed should have in his log file are messages to the tracker to show interest? He himself does not get anything back from the tracker, nor does he make any requests, hence no replies. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/05e78759/attachment.html From srubin at flash.net Sun Mar 20 18:45:24 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 20 18:46:07 2005 Subject: [Csci551-talk] random is not that random In-Reply-To: 6667 Message-ID: <20050321024524.97442.qmail@web81302.mail.yahoo.com> Here is another hack that seems to work more or less and does not require 3 sec sleep, which could disturb the flow of the program: /* Kill some time without sleeping */ for (i = 0; i < 100; i++) { gettimeofday(&tmv, NULL); } /* Use milliseconds as a seed */ srand ((int)tmv.tv_usec); then call rand, etc... "Affan, Syed" wrote: Interesting. We really hadnt thought of that (this randomization problem while choosing being not "random"). Off the top of my head, i dont see any reason why not to set of 8 requests at the same time. But if some one can come up with a better way to randomize.. it would be nice to share with all. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 20, 2005 8:57 AM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] random is not that random When I loop for max of 8 segments and pick at random a segment that I still need, I get at most 2 different random values. If a put a sleep after each rand call, I get a better variety. Since I am in the loop selecting a new random segment and a random volunteer from whom I can download, I don't wait to get any responses, I just blast off the requests. Is this incorrect? Are we suppose to delay our requests, or is ot fine to have a short sleep after each rand call in this loop? Rand seems to be working better for loss as it does not occur at this short intervals. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/983dd1bf/attachment.html From srubin at flash.net Sun Mar 20 20:55:35 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 20 20:56:07 2005 Subject: [Csci551-talk] some more randomization issues Message-ID: <20050321045535.46375.qmail@web81304.mail.yahoo.com> As the number of remaining segments that we need to collect goes down, it obviously becomes more and more difficult to get 8 random segments. As a result, the same segments get to be picked over and over as we approach the end. Is there a problem with us writing out the same segment again into the file - it really should not matter as we can just overwirte it or do you want us to trap the condition and do the bookkeeping of what we already wrote, so we don't wirte it again? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/3a8aab50/attachment.html From asyed at usc.edu Sun Mar 20 22:32:45 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 20 22:34:10 2005 Subject: [Csci551-talk] some more randomization issues In-Reply-To: <20050321045535.46375.qmail@web81304.mail.yahoo.com> Message-ID: <001601c52ddf$d0693580$0300a8c0@A2D> I dont get it, we dont require you to get 8 segments per group update if there arent 8 eligible segments left. So why do you even ask for a segment that you already have? Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 20, 2005 8:56 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] some more randomization issues As the number of remaining segments that we need to collect goes down, it obviously becomes more and more difficult to get 8 random segments. As a result, the same segments get to be picked over and over as we approach the end. Is there a problem with us writing out the same segment again into the file - it really should not matter as we can just overwirte it or do you want us to trap the condition and do the bookkeeping of what we already wrote, so we don't wirte it again? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/80810951/attachment-0001.html From srubin at flash.net Sun Mar 20 23:41:00 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 20 23:42:13 2005 Subject: [Csci551-talk] some more randomization issues In-Reply-To: 6667 Message-ID: <20050321074100.70701.qmail@web81304.mail.yahoo.com> Do you mean we should feel free to adjust how many times we loop? I thought that we were supposed to have 8 iterations no matter what, and only exit the loop if we finished downloading, no one had the segment for us this time, or timeout occured. I can add a condition inside the loop to break once I reach the number of remaining segments. Sophia "Affan, Syed" wrote: I dont get it, we dont require you to get 8 segments per group update if there arent 8 eligible segments left. So why do you even ask for a segment that you already have? Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 20, 2005 8:56 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] some more randomization issues As the number of remaining segments that we need to collect goes down, it obviously becomes more and more difficult to get 8 random segments. As a result, the same segments get to be picked over and over as we approach the end. Is there a problem with us writing out the same segment again into the file - it really should not matter as we can just overwirte it or do you want us to trap the condition and do the bookkeeping of what we already wrote, so we don't wirte it again? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050320/4d616f2f/attachment.html From asyed at usc.edu Mon Mar 21 08:27:37 2005 From: asyed at usc.edu (affan syed) Date: Mon Mar 21 08:28:10 2005 Subject: [Csci551-talk] some more randomization issues Message-ID: <99ab1116bd6b.423e8579@usc.edu> which loop are you talking about? the pseudo code does have the word "at most 8 segments" in a single group update cycle. Implying that finish your group update cycle if you can fire of 8 segment requests, or if the ReqTo occurs for that group update. The outer loop finishes when the file is downloaded OR some user specified termination condition is met. hope that clarifies any issues you had in mind. Regards Affan ----- Original Message ----- From: "S. Rubin" Date: Sunday, March 20, 2005 11:41 pm Subject: RE: [Csci551-talk] some more randomization issues > Do you mean we should feel free to adjust how many times we loop? > I thought that we were supposed to have 8 iterations no matter > what, and > only exit the loop if we finished downloading, no one had the > segment for us > this time, or timeout occured. I can add a condition inside the loop > to break once I reach the number of remaining segments. > > Sophia > > > "Affan, Syed" wrote: > I dont get it, we dont require you to get 8 segments per group > update if there arent 8 eligible segments left. So why do you even > ask for a segment that you already have? > > > > Best Regards, > > Affan, Syed. > > > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu [csci551-talk- > bounces@mailman.isi.edu] On Behalf Of S. Rubin > Sent: Sunday, March 20, 2005 8:56 PM > To: csci551-talk@mailman.isi.edu > Subject: [Csci551-talk] some more randomization issues > > > As the number of remaining segments that we need to collect goes > down, it > obviously becomes more and more difficult to get 8 random segments. > As a > result, the same segments get to be picked over and over as we > approach the > end. Is there a problem with us writing out the same segment again > into the > file - it really should not matter as we can just overwirte it or > do you want > us to trap the condition and do the bookkeeping of what we already > wrote,so we don't wirte it again? > > Sophia > From srubin at flash.net Mon Mar 21 08:31:13 2005 From: srubin at flash.net (S. Rubin) Date: Mon Mar 21 08:32:16 2005 Subject: [Csci551-talk] some more randomization issues In-Reply-To: 6667 Message-ID: <20050321163113.38599.qmail@web81308.mail.yahoo.com> I got it, code is fixed. I guess my brain is a bit fried at this point. Thanks for all your help! Sophia affan syed wrote: which loop are you talking about? the pseudo code does have the word "at most 8 segments" in a single group update cycle. Implying that finish your group update cycle if you can fire of 8 segment requests, or if the ReqTo occurs for that group update. The outer loop finishes when the file is downloaded OR some user specified termination condition is met. hope that clarifies any issues you had in mind. Regards Affan ----- Original Message ----- From: "S. Rubin" Date: Sunday, March 20, 2005 11:41 pm Subject: RE: [Csci551-talk] some more randomization issues > Do you mean we should feel free to adjust how many times we loop? > I thought that we were supposed to have 8 iterations no matter > what, and > only exit the loop if we finished downloading, no one had the > segment for us > this time, or timeout occured. I can add a condition inside the loop > to break once I reach the number of remaining segments. > > Sophia > > > "Affan, Syed" wrote: > I dont get it, we dont require you to get 8 segments per group > update if there arent 8 eligible segments left. So why do you even > ask for a segment that you already have? > > > > Best Regards, > > Affan, Syed. > > > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu [csci551-talk- > bounces@mailman.isi.edu] On Behalf Of S. Rubin > Sent: Sunday, March 20, 2005 8:56 PM > To: csci551-talk@mailman.isi.edu > Subject: [Csci551-talk] some more randomization issues > > > As the number of remaining segments that we need to collect goes > down, it > obviously becomes more and more difficult to get 8 random segments. > As a > result, the same segments get to be picked over and over as we > approach the > end. Is there a problem with us writing out the same segment again > into the > file - it really should not matter as we can just overwirte it or > do you want > us to trap the condition and do the bookkeeping of what we already > wrote,so we don't wirte it again? > > Sophia > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050321/d9505038/attachment.html From srubin at flash.net Mon Mar 21 20:03:02 2005 From: srubin at flash.net (S. Rubin) Date: Mon Mar 21 20:04:18 2005 Subject: [Csci551-talk] termination assumptions Message-ID: <20050322040302.86130.qmail@web81301.mail.yahoo.com> I am not very clear on two issues: 1. Is it correct to assume that once a guy is done downloading, he should NOT advertise himself now as a seed to a tracker, but instead should gracefully exit? The project states on p.9 that "if dowloading tasks are complete AND there is no request from other client nodes for 2 rounds of group update...". The guy is either a seed, in which case he exits if there are no requests for 2 rounds, or he could become a seed after the completion of the download and then wait for 2 rounds, or he could just exit right after the downloading is complete. I am not clear. 2. Is it correct to assume that the guys who might be listed in the "packet delay" section, but who are not assigned any tasks (no entries for them in other tables), should not even be forked? They are not going to express any interest anyway. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050321/7f34adf6/attachment.html From xiw at usc.edu Mon Mar 21 20:18:27 2005 From: xiw at usc.edu (Xi Wang) Date: Mon Mar 21 20:21:09 2005 Subject: [Csci551-talk] Re: [Cs551] File segmentation In-Reply-To: References: Message-ID: <423F9C93.2060008@usc.edu> Check stdio.h, there is fseek() and fread(). fseek will move to a location in file and fread can read a block in file into memory. You are right - any file can be used to test your program. The correctness of the program shouldn't be affected by file type. -Xi jung suh wrote: > Hello, > Let's say that a FILE is 1000 bytes long. > Then there would be about 32 segments, last segment being size 8 bytes. > If a client want to send say 10th segment of the file, then > my question is how do you send a segment, or segments to another client? > I was wondering if there's any kind of file manipulation function that would > take offset and segment size so that I could send segments of file to client? > I searched the internet a lot for some kind of C file manipulation function, but to no avail. > Could you explain how we can send segments of a file? > Do you know such a function exist? > Also example file given in the project is foo.mpg. We don't have to use some kind of movie file right? > We can just test with some kind of pdf file or text file right? > Or Could you supply us with some kind of file we should be testing with? > > Thank you so much for your time. > > Sincerely, > Jung H. Suh > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From aneeketp at usc.edu Mon Mar 21 20:32:04 2005 From: aneeketp at usc.edu (Aneeket Patil) Date: Mon Mar 21 20:33:09 2005 Subject: [Csci551-talk] Re: [Cs551] File segmentation In-Reply-To: <423F9C93.2060008@usc.edu> References: <423F9C93.2060008@usc.edu> Message-ID: <423F9FC4.4040700@usc.edu> Can't we just split the file? or is it absolutely necessary that we only read parts from it,without breaking it up? Aneeket Xi Wang wrote: > Check stdio.h, there is fseek() and fread(). fseek will move to a > location in file and fread can read a block in file into memory. > > You are right - any file can be used to test your program. The > correctness of the program shouldn't be affected by file type. > > -Xi > > jung suh wrote: > >> Hello, >> Let's say that a FILE is 1000 bytes long. >> Then there would be about 32 segments, last segment being size 8 bytes. >> If a client want to send say 10th segment of the file, then >> my question is how do you send a segment, or segments to another client? >> I was wondering if there's any kind of file manipulation function >> that would take offset and segment size so that I could send segments >> of file to client? >> I searched the internet a lot for some kind of C file manipulation >> function, but to no avail. >> Could you explain how we can send segments of a file? >> Do you know such a function exist? >> Also example file given in the project is foo.mpg. We don't have to >> use some kind of movie file right? >> We can just test with some kind of pdf file or text file right? >> Or Could you supply us with some kind of file we should be testing with? >> >> Thank you so much for your time. >> >> Sincerely, >> Jung H. Suh >> _______________________________________________ >> Cs551 mailing list >> Cs551@catarina.usc.edu >> http://catarina.usc.edu/mailman/listinfo/cs551 > From xiw at usc.edu Mon Mar 21 20:47:39 2005 From: xiw at usc.edu (Xi Wang) Date: Mon Mar 21 20:50:09 2005 Subject: [Csci551-talk] Re: [Cs551] File segmentation In-Reply-To: <423F9FC4.4040700@usc.edu> References: <423F9C93.2060008@usc.edu> <423F9FC4.4040700@usc.edu> Message-ID: <423FA36B.8020909@usc.edu> What do you mean by splitting file? Divide one file into several smaller files? -Xi Aneeket Patil wrote: > Can't we just split the file? or is it absolutely necessary that we only > read parts from it,without breaking it up? > Aneeket > > Xi Wang wrote: > >> Check stdio.h, there is fseek() and fread(). fseek will move to a >> location in file and fread can read a block in file into memory. >> >> You are right - any file can be used to test your program. The >> correctness of the program shouldn't be affected by file type. >> >> -Xi >> >> jung suh wrote: >> >>> Hello, >>> Let's say that a FILE is 1000 bytes long. >>> Then there would be about 32 segments, last segment being size 8 bytes. >>> If a client want to send say 10th segment of the file, then >>> my question is how do you send a segment, or segments to another client? >>> I was wondering if there's any kind of file manipulation function >>> that would take offset and segment size so that I could send segments >>> of file to client? >>> I searched the internet a lot for some kind of C file manipulation >>> function, but to no avail. >>> Could you explain how we can send segments of a file? >>> Do you know such a function exist? >>> Also example file given in the project is foo.mpg. We don't have to >>> use some kind of movie file right? >>> We can just test with some kind of pdf file or text file right? >>> Or Could you supply us with some kind of file we should be testing with? >>> >>> Thank you so much for your time. >>> >>> Sincerely, >>> Jung H. Suh >>> _______________________________________________ >>> Cs551 mailing list >>> Cs551@catarina.usc.edu >>> http://catarina.usc.edu/mailman/listinfo/cs551 >> >> From aneeketp at usc.edu Mon Mar 21 21:45:07 2005 From: aneeketp at usc.edu (Aneeket Patil) Date: Mon Mar 21 21:46:13 2005 Subject: [Csci551-talk] Re: [Cs551] File segmentation In-Reply-To: <423FA36B.8020909@usc.edu> References: <423F9C93.2060008@usc.edu> <423F9FC4.4040700@usc.edu> <423FA36B.8020909@usc.edu> Message-ID: <423FB0E3.1010003@usc.edu> yes Aneeket Xi Wang wrote: > What do you mean by splitting file? Divide one file into several > smaller files? > > -Xi > > Aneeket Patil wrote: > >> Can't we just split the file? or is it absolutely necessary that we >> only read parts from it,without breaking it up? >> Aneeket >> >> Xi Wang wrote: >> >>> Check stdio.h, there is fseek() and fread(). fseek will move to a >>> location in file and fread can read a block in file into memory. >>> >>> You are right - any file can be used to test your program. The >>> correctness of the program shouldn't be affected by file type. >>> >>> -Xi >>> >>> jung suh wrote: >>> >>>> Hello, >>>> Let's say that a FILE is 1000 bytes long. >>>> Then there would be about 32 segments, last segment being size 8 >>>> bytes. >>>> If a client want to send say 10th segment of the file, then >>>> my question is how do you send a segment, or segments to another >>>> client? >>>> I was wondering if there's any kind of file manipulation function >>>> that would take offset and segment size so that I could send >>>> segments of file to client? >>>> I searched the internet a lot for some kind of C file manipulation >>>> function, but to no avail. >>>> Could you explain how we can send segments of a file? >>>> Do you know such a function exist? >>>> Also example file given in the project is foo.mpg. We don't have to >>>> use some kind of movie file right? >>>> We can just test with some kind of pdf file or text file right? >>>> Or Could you supply us with some kind of file we should be testing >>>> with? >>>> >>>> Thank you so much for your time. >>>> >>>> Sincerely, >>>> Jung H. Suh >>>> _______________________________________________ >>>> Cs551 mailing list >>>> Cs551@catarina.usc.edu >>>> http://catarina.usc.edu/mailman/listinfo/cs551 >>> >>> >>> From ygandhi at usc.edu Mon Mar 21 21:47:32 2005 From: ygandhi at usc.edu (yash gandhi) Date: Mon Mar 21 21:48:09 2005 Subject: [Csci551-talk] Nodes present!!!!!!!!!!!! Message-ID: Hi, Till now I was assuming the node ids given under the list "packet dealy and drop probablity" are present in total in the complete communication. i.e considering (phase1 manager.conf) 0,1,2,3,4. and the rest of the two sections will have node Ids from within this list. But considering (phase 3 manager.conf pg11) the node ids in the packet delay and drop list are 0,1,2,3,4. but ithe list below it has node ids 4,"5". Is that alright? or it is that my assumption , (the node ids in the packet drop and delay list are the only nodes participating in the communication) WRONG!!! comments!!!! Yash From asyed at usc.edu Mon Mar 21 22:25:22 2005 From: asyed at usc.edu (Affan, Syed) Date: Mon Mar 21 22:27:09 2005 Subject: [Csci551-talk] Nodes present!!!!!!!!!!!! In-Reply-To: Message-ID: <000301c52ea7$f383e290$0700a8c0@A2D> That is a typo.. As we had earlier clarified, only those nodes in the packer drop/delay table will account and their number = bumber of clients. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of yash gandhi Sent: Monday, March 21, 2005 9:48 PM To: csci551-talk@mailman.isi.edu; cs551@catarina.usc.edu Subject: [Csci551-talk] Nodes present!!!!!!!!!!!! Hi, Till now I was assuming the node ids given under the list "packet dealy and drop probablity" are present in total in the complete communication. i.e considering (phase1 manager.conf) 0,1,2,3,4. and the rest of the two sections will have node Ids from within this list. But considering (phase 3 manager.conf pg11) the node ids in the packet delay and drop list are 0,1,2,3,4. but ithe list below it has node ids 4,"5". Is that alright? or it is that my assumption , (the node ids in the packet drop and delay list are the only nodes participating in the communication) WRONG!!! comments!!!! Yash From asyed at usc.edu Mon Mar 21 22:26:53 2005 From: asyed at usc.edu (Affan, Syed) Date: Mon Mar 21 22:28:09 2005 Subject: [Csci551-talk] Re: [Cs551] File segmentation In-Reply-To: <423FB0E3.1010003@usc.edu> Message-ID: <000401c52ea8$289c1bf0$0700a8c0@A2D> I guess that as long as you do what the specification wants externally, you can break up the file. But make sure you clear up the clutter afterwards in the directory :). Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Aneeket Patil Sent: Monday, March 21, 2005 9:45 PM To: Xi Wang Cc: csci551-talk@mailman.isi.edu; cs551@catarina.usc.edu Subject: Re: [Csci551-talk] Re: [Cs551] File segmentation yes Aneeket Xi Wang wrote: > What do you mean by splitting file? Divide one file into several > smaller files? > > -Xi > > Aneeket Patil wrote: > >> Can't we just split the file? or is it absolutely necessary that we >> only read parts from it,without breaking it up? >> Aneeket >> >> Xi Wang wrote: >> >>> Check stdio.h, there is fseek() and fread(). fseek will move to a >>> location in file and fread can read a block in file into memory. >>> >>> You are right - any file can be used to test your program. The >>> correctness of the program shouldn't be affected by file type. >>> >>> -Xi >>> >>> jung suh wrote: >>> >>>> Hello, >>>> Let's say that a FILE is 1000 bytes long. >>>> Then there would be about 32 segments, last segment being size 8 >>>> bytes. >>>> If a client want to send say 10th segment of the file, then >>>> my question is how do you send a segment, or segments to another >>>> client? >>>> I was wondering if there's any kind of file manipulation function >>>> that would take offset and segment size so that I could send >>>> segments of file to client? >>>> I searched the internet a lot for some kind of C file manipulation >>>> function, but to no avail. >>>> Could you explain how we can send segments of a file? >>>> Do you know such a function exist? >>>> Also example file given in the project is foo.mpg. We don't have to >>>> use some kind of movie file right? >>>> We can just test with some kind of pdf file or text file right? >>>> Or Could you supply us with some kind of file we should be testing >>>> with? >>>> >>>> Thank you so much for your time. >>>> >>>> Sincerely, >>>> Jung H. Suh _______________________________________________ >>>> Cs551 mailing list >>>> Cs551@catarina.usc.edu >>>> http://catarina.usc.edu/mailman/listinfo/cs551 >>> >>> >>> From asyed at usc.edu Mon Mar 21 22:31:12 2005 From: asyed at usc.edu (Affan, Syed) Date: Mon Mar 21 22:32:11 2005 Subject: [Csci551-talk] termination assumptions In-Reply-To: <20050322040302.86130.qmail@web81301.mail.yahoo.com> Message-ID: <000501c52ea8$bf50e3a0$0700a8c0@A2D> -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Monday, March 21, 2005 8:03 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] termination assumptions I am not very clear on two issues: 1. Is it correct to assume that once a guy is done downloading, he should NOT advertise himself now as a seed to a tracker, but instead should gracefully exit? > No it should stay in the network to allow for other files to download from it .. i.e. it shouldnt leech only The project states on p.9 that "if dowloading tasks are complete AND there is no request from other client nodes for 2 rounds of group update...". > Please remember that these are just sugggestions (good ones though) The guy is either a seed, in which case he exits if there are no requests for 2 rounds, or he could become a seed after the completion of the download and then wait for 2 rounds, > This seems most appropriate or he could just exit right after the downloading is complete. I am not clear. 2. Is it correct to assume that the guys who might be listed in the "packet delay" section, but who are not assigned any tasks (no entries for them in other tables), should not even be forked? They are not going to express any interest anyway. > I thought i mentioned this before... *all* nodes will be in both packet delay and task assigned section. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050321/0e664272/attachment-0001.html From nsachary at usc.edu Mon Mar 21 23:57:23 2005 From: nsachary at usc.edu (Narendra Acharya) Date: Mon Mar 21 23:58:09 2005 Subject: [Csci551-talk] raw message in hex Message-ID: <0IDQ003TZU3P3N70@msg-mx4.usc.edu> Currently I am using structures which have character arrays as elements to store the different messages to be passed. For example I am storing the msgtype in one character array and client node_id in another and so on and then packing these character arrays in to a structure. Is this the correct way to implement messages or do I have to use data definition types like __u16, __u32... & then pack them into a structure and if we have to use __u16, __u32 how do we define the filename in the group show interest message? Also I am not clear how to display and retrieve raw messages in hex? From srubin at flash.net Tue Mar 22 01:47:27 2005 From: srubin at flash.net (S. Rubin) Date: Tue Mar 22 01:48:13 2005 Subject: [Csci551-talk] permission denied Message-ID: <20050322094727.68408.qmail@web81305.mail.yahoo.com> I attempted to execute my code again on aludra/nunki tonight and again got "permission denied" error when trying to receive a UDP port from the tracker. I get a negative value in the buffer when that error occurs.I did not modify that part of the code in a very long time, and the code works fine on my local machine, using cygwin. I cannot pass this error. Any ideas why I get this? I am telnetting to the server. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050322/1f794fb3/attachment.html From srubin at flash.net Tue Mar 22 02:06:32 2005 From: srubin at flash.net (S. Rubin) Date: Tue Mar 22 02:07:12 2005 Subject: [Csci551-talk] more info on permission denied Message-ID: <20050322100632.70851.qmail@web81305.mail.yahoo.com> It appears that it has to to do with byte order difference between cygwin and solaris. I use htons where I assign port to sin.port, i.e. saddr.sin_port = htons(port); What am I missing? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050322/44af08da/attachment.html From xiw at usc.edu Tue Mar 22 09:36:26 2005 From: xiw at usc.edu (Xi Wang) Date: Tue Mar 22 09:39:25 2005 Subject: [Csci551-talk] Re: [Cs551] (cs551) How can we know process ID in new process? In-Reply-To: References: Message-ID: <4240579A.5010009@usc.edu> getpid() hyunglok jung wrote: > In parents process, it knows the PID of child process by return value of fork. > > How could we know process ID in a child process? > > Is there a special function to get a self PID? > > Hyung-Lok Jung > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From johnh at ISI.EDU Tue Mar 22 09:37:44 2005 From: johnh at ISI.EDU (John Heidemann) Date: Tue Mar 22 09:40:11 2005 Subject: [Csci551-talk] Re: [Cs551] File segmentation In-Reply-To: <423FB0E3.1010003@usc.edu> Message-ID: <200503221737.j2MHbix7008354@dash.isi.edu> On Mon, 21 Mar 2005 21:45:07 PST, Aneeket Patil wrote: >yes >Aneeket > >Xi Wang wrote: > >> What do you mean by splitting file? Divide one file into several >> smaller files? The spec requires that, in the end, you have a SINGLE, COMPLETE file. What you're suggesting sounds like a lot more work than what Xi suggested since you'll need to reassemble them if you split them before you're done. -John Heidemann >> >> -Xi >> >> Aneeket Patil wrote: >> >>> Can't we just split the file? or is it absolutely necessary that we >>> only read parts from it,without breaking it up? >>> Aneeket >>> >>> Xi Wang wrote: >>> >>>> Check stdio.h, there is fseek() and fread(). fseek will move to a >>>> location in file and fread can read a block in file into memory. >>>> >>>> You are right - any file can be used to test your program. The >>>> correctness of the program shouldn't be affected by file type. >>>> >>>> -Xi >>>> >>>> jung suh wrote: >>>> >>>>> Hello, >>>>> Let's say that a FILE is 1000 bytes long. >>>>> Then there would be about 32 segments, last segment being size 8 >>>>> bytes. >>>>> If a client want to send say 10th segment of the file, then >>>>> my question is how do you send a segment, or segments to another >>>>> client? >>>>> I was wondering if there's any kind of file manipulation function >>>>> that would take offset and segment size so that I could send >>>>> segments of file to client? >>>>> I searched the internet a lot for some kind of C file manipulation >>>>> function, but to no avail. >>>>> Could you explain how we can send segments of a file? >>>>> Do you know such a function exist? >>>>> Also example file given in the project is foo.mpg. We don't have to >>>>> use some kind of movie file right? >>>>> We can just test with some kind of pdf file or text file right? >>>>> Or Could you supply us with some kind of file we should be testing >>>>> with? >>>>> >>>>> Thank you so much for your time. >>>>> >>>>> Sincerely, >>>>> Jung H. Suh >>>>> _______________________________________________ >>>>> Cs551 mailing list >>>>> Cs551@catarina.usc.edu >>>>> http://catarina.usc.edu/mailman/listinfo/cs551 >>>> >>>> >>>> From xiw at usc.edu Tue Mar 22 13:51:59 2005 From: xiw at usc.edu (Xi Wang) Date: Tue Mar 22 13:55:23 2005 Subject: [Csci551-talk] more info on permission denied In-Reply-To: <20050322100632.70851.qmail@web81305.mail.yahoo.com> References: <20050322100632.70851.qmail@web81305.mail.yahoo.com> Message-ID: <4240937F.80303@usc.edu> Remember socket functions always use network byte order (same order on all platforms). You might have called htons unnecessarily. -Xi S. Rubin wrote: > It appears that it has to to do with byte order difference between > cygwin and > solaris. I use htons where I assign port to sin.port, i.e. > saddr.sin_port = htons(port); > What am I missing? > > Sophia From xiw at usc.edu Tue Mar 22 13:56:54 2005 From: xiw at usc.edu (Xi Wang) Date: Tue Mar 22 14:21:17 2005 Subject: [Csci551-talk] Re: [Cs551] File segmentation In-Reply-To: <200503221737.j2MHbix7008354@dash.isi.edu> References: <200503221737.j2MHbix7008354@dash.isi.edu> Message-ID: <424094A6.6070402@usc.edu> The easiest way is to allocate a memory buffer that can hold the whole file for all intermediate steps. Since this is a class project you don't have to make it highly efficient on memory space. -Xi John Heidemann wrote: > On Mon, 21 Mar 2005 21:45:07 PST, Aneeket Patil wrote: > >>yes >>Aneeket >> >>Xi Wang wrote: >> >> >>>What do you mean by splitting file? Divide one file into several >>>smaller files? > > > The spec requires that, in the end, you have a SINGLE, COMPLETE file. > > What you're suggesting sounds like a lot more work than what Xi > suggested since you'll need to reassemble them if you split them > before you're done. > > -John Heidemann > > >>>-Xi >>> >>>Aneeket Patil wrote: >>> >>> >>>>Can't we just split the file? or is it absolutely necessary that we >>>>only read parts from it,without breaking it up? >>>>Aneeket >>>> >>>>Xi Wang wrote: >>>> >>>> >>>>>Check stdio.h, there is fseek() and fread(). fseek will move to a >>>>>location in file and fread can read a block in file into memory. >>>>> >>>>>You are right - any file can be used to test your program. The >>>>>correctness of the program shouldn't be affected by file type. >>>>> >>>>>-Xi >>>>> >>>>>jung suh wrote: >>>>> >>>>> >>>>>>Hello, >>>>>>Let's say that a FILE is 1000 bytes long. >>>>>>Then there would be about 32 segments, last segment being size 8 >>>>>>bytes. >>>>>>If a client want to send say 10th segment of the file, then >>>>>>my question is how do you send a segment, or segments to another >>>>>>client? >>>>>>I was wondering if there's any kind of file manipulation function >>>>>>that would take offset and segment size so that I could send >>>>>>segments of file to client? >>>>>>I searched the internet a lot for some kind of C file manipulation >>>>>>function, but to no avail. >>>>>>Could you explain how we can send segments of a file? >>>>>>Do you know such a function exist? >>>>>>Also example file given in the project is foo.mpg. We don't have to >>>>>>use some kind of movie file right? >>>>>>We can just test with some kind of pdf file or text file right? >>>>>>Or Could you supply us with some kind of file we should be testing >>>>>>with? >>>>>> >>>>>>Thank you so much for your time. >>>>>> >>>>>>Sincerely, >>>>>>Jung H. Suh >>>>>>_______________________________________________ >>>>>>Cs551 mailing list >>>>>>Cs551@catarina.usc.edu >>>>>>http://catarina.usc.edu/mailman/listinfo/cs551 >>>>> >>>>> >>>>> > From rmchandr at usc.edu Tue Mar 22 16:10:28 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Tue Mar 22 16:11:19 2005 Subject: [Csci551-talk] Another start time issue. Message-ID: Consider the following case: Request timeout is 5 seconds. Client 1 has the file (is the seed) initially and its start time is 5. Client 0 wants to download the file and its start time is 15. Is it required that client 1 send interest messages to tracker at 5 and 10 also .. or is it ok to make an assumption that 1 sends interest messages at 5 and then after 0 starts at 15, 1 continues to send interest messages at 15, 20, 25 and so on ? What I am asking is .. is it ok to assume that the seed need not keep showing interest to tracker until there really is a node that wants to download ? Thanks. -Rashmi. From asyed at usc.edu Tue Mar 22 17:12:16 2005 From: asyed at usc.edu (Affan, Syed) Date: Tue Mar 22 17:14:14 2005 Subject: [Csci551-talk] Another start time issue. In-Reply-To: Message-ID: <000101c52f45$5f6d3a90$0700a8c0@A2D> There is actually no need for seed to ever show interst after the first time. The entries in tracker should be soft state..they reflect all the nodes that have ever shown interest. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi chandrasekhar Sent: Tuesday, March 22, 2005 4:10 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] Another start time issue. Consider the following case: Request timeout is 5 seconds. Client 1 has the file (is the seed) initially and its start time is 5. Client 0 wants to download the file and its start time is 15. Is it required that client 1 send interest messages to tracker at 5 and 10 also .. or is it ok to make an assumption that 1 sends interest messages at 5 and then after 0 starts at 15, 1 continues to send interest messages at 15, 20, 25 and so on ? What I am asking is .. is it ok to assume that the seed need not keep showing interest to tracker until there really is a node that wants to download ? Thanks. -Rashmi. From rmchandr at usc.edu Tue Mar 22 21:37:08 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Tue Mar 22 21:38:27 2005 Subject: [Csci551-talk] Random peer selection and/or segment selection? Message-ID: <29e8ccbcd39f.42409004@usc.edu> Do we have to randomly select peers and also randomly select one of its segments ? or is it ok to randomly select a peer and then download the first segment that it advertised ? Thanks, Rashmi From ygandhi at usc.edu Tue Mar 22 22:07:20 2005 From: ygandhi at usc.edu (yash gandhi) Date: Tue Mar 22 22:08:12 2005 Subject: [Csci551-talk] Random peer selection and/or segment selection? Message-ID: <322d5151f693.4240b338@usc.edu> Same Question!!! Just a comment, In the actual bit torrent protocol, there is random segment selection , as far as i know But I was thinking if all the leeches start of by randomly selecting the seeds but always request the first packet first then there should be no problem, Every new leech comes up, knows has to start of with the first packet but randomly chooses bet the group.... What are we expected to do? ----- Original Message ----- From: rashmi chandrasekhar Date: Tuesday, March 22, 2005 11:37 pm Subject: [Csci551-talk] Random peer selection and/or segment selection? > > Do we have to randomly select peers and also randomly select one > of its segments ? or is it ok to randomly select a peer and then > download the first segment that it advertised ? > > Thanks, > Rashmi > > From asyed at usc.edu Tue Mar 22 23:18:48 2005 From: asyed at usc.edu (Affan, Syed) Date: Tue Mar 22 23:20:12 2005 Subject: [Csci551-talk] Random peer selection and/or segment selection? In-Reply-To: <322d5151f693.4240b338@usc.edu> Message-ID: <000201c52f78$9068b790$0400a8c0@A2D> Good question, and actually this recently came up between both of us (TA's). And since the specs are not clear on it, we are okay if the segments are not selected randomly, but the nodes have to be selected randomly at any cost. As rashmi has pointed out, selecting just the other nodes randomly does help in load balancing. It only doesn't balance the load as well as segments being chosen randomly as well. Also the actual bit torrent protocol does node and segment selection that is much more complicated, to thoroughly discourage leechers. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of yash gandhi Sent: Tuesday, March 22, 2005 10:07 PM To: rashmi chandrasekhar Cc: CSCI551 Talk Entry Subject: Re: [Csci551-talk] Random peer selection and/or segment selection? Same Question!!! Just a comment, In the actual bit torrent protocol, there is random segment selection , as far as i know But I was thinking if all the leeches start of by randomly selecting the seeds but always request the first packet first then there should be no problem, Every new leech comes up, knows has to start of with the first packet but randomly chooses bet the group.... What are we expected to do? ----- Original Message ----- From: rashmi chandrasekhar Date: Tuesday, March 22, 2005 11:37 pm Subject: [Csci551-talk] Random peer selection and/or segment selection? > > Do we have to randomly select peers and also randomly select one > of its segments ? or is it ok to randomly select a peer and then > download the first segment that it advertised ? > > Thanks, > Rashmi > > From nsachary at usc.edu Wed Mar 23 00:40:58 2005 From: nsachary at usc.edu (Narendra Acharya) Date: Wed Mar 23 00:41:13 2005 Subject: [Csci551-talk] Start Time Message-ID: <0IDS00LX0QSC9ZC0@msg-mx4.usc.edu> Can we assume that all clients have different start times? Because I tested my code with 2-3 nodes having the same start time and I lose some show-interest and group-assign messages? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050323/40bfbfb1/attachment.html From asyed at usc.edu Wed Mar 23 07:10:36 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 07:12:29 2005 Subject: [Csci551-talk] RE: Start Time In-Reply-To: <0IDS00LX0QSC9ZC0@msg-mx4.usc.edu> Message-ID: <001301c52fba$7bc27050$0400a8c0@A2D> This shouldnt happen, why would you getmsgs dropped, it is not like they are actually sharing a braodcast medium! Ther shouldnt be any collision of the UDP or TCP msgs. Maybe somethingn is wrong in there. In short, no you cannot assume different start times... and btw, the start times are rleative to the nodes own spawning time. So there shouldn tbe any synchronization any way. Best Regards, Affan, Syed. -----Original Message----- From: nsachary@usc.edu [mailto:nsachary@usc.edu] Sent: Wednesday, March 23, 2005 12:41 AM To: asyed@usc.edu; csci551-talk@mailman.isi.edu Subject: Start Time Can we assume that all clients have different start times? Because I tested my code with 2-3 nodes having the same start time and I lose some show-interest and group-assign messages? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050323/07c6d50b/attachment.html From aneeketp at usc.edu Wed Mar 23 11:48:58 2005 From: aneeketp at usc.edu (Aneeket Patil) Date: Wed Mar 23 11:49:17 2005 Subject: [Csci551-talk] neighbouring port assignment by Tracker......doubt Message-ID: <4241C82A.5030805@usc.edu> I have a question, Once the client communicates with the tracker only thing the tracker notes is its id,time and filename. Thus, while giving away the port no.s of the other nodes,while assigning the groups, where does the tracker read the port no . of the 'neighbour' nodes from( tracker.out does not record the port no. of any node, only the node id)? So where are we storing the portno.s at the tracker? Maybe I have missed something from the specs. I am confused :-\ .pls clarify. Aneeket From xiw at usc.edu Wed Mar 23 12:01:20 2005 From: xiw at usc.edu (Xi Wang) Date: Wed Mar 23 12:07:32 2005 Subject: [Csci551-talk] Re: [Cs551] Doubt regarding node-manager communication In-Reply-To: References: Message-ID: <4241CB10.6070306@usc.edu> It is required by the spec that you to use a TCP connection between each client and the manager for configuration information. The purpose is to practice both TCP and UDP. -Xi Rohith Mark Varghese wrote: > Hi, > > Forgive me if I've not understood/overlooked this specification; but I > was just wondering how this line"Newly created client nodes will > communicate with the manager to obtain configuration information such > as tracker's port number, and tasks to perform" should be implemented. > I mean, does one use a TCP connection (the manager has a TCP listen > port, but there's nothing mentioned about the node making a TCP > connection), or a UDP-based conversation between the manager and the > nodes?? Or, do we simply pass down the tracker's info and tasks thru > the exec() arguments?? > > Thanks, > > Mark > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From rmchandr at usc.edu Wed Mar 23 12:34:51 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Wed Mar 23 12:35:27 2005 Subject: [Csci551-talk] neighbouring port assignment by Tracker......doubt Message-ID: <40e76348dfff.4241626b@usc.edu> Aneeket, The ID, Time and Filename are recorded for the purpose of writing to the tracker.out file. You need to create data structures to map client IDs that show interest in a file (although you dont have to write it to the tracker.out) .. so, you have a mapping between filename and interested clients. When sending information to a client that wants a group assignment, you use this data structure to retrieve the port number, IP address, ID etc. Hope it helps. -Rashmi. ----- Original Message ----- From: Aneeket Patil Date: Wednesday, March 23, 2005 11:48 am Subject: [Csci551-talk] neighbouring port assignment by Tracker......doubt > I have a question, > Once the client communicates with the tracker only thing the > tracker > notes is its id,time and filename. > Thus, while giving away the port no.s of the other nodes,while > assigning the groups, where does the tracker read the port no . of > the > 'neighbour' nodes from( tracker.out does not record the port no. > of any > node, only the node id)? So where are we storing the portno.s at > the > tracker? > Maybe I have missed something from the specs. I am confused :-\ > .pls > clarify. > Aneeket > From rmchandr at usc.edu Wed Mar 23 12:44:47 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Wed Mar 23 12:46:17 2005 Subject: [Csci551-talk] Segment data in client's xx.out ? Message-ID: <54c55c08bef4.424164bf@usc.edu> What exactly is meant by segment data to be written to a client's xx.out file ? Spec says on Page 11 that its not raw data .. so, does it mean we print out the actual text (32 bytes) if its a text file ? What happens if it isnt a text file ? Thanks. -Rashmi From xiw at usc.edu Wed Mar 23 12:54:37 2005 From: xiw at usc.edu (Xi Wang) Date: Wed Mar 23 12:57:16 2005 Subject: [Csci551-talk] Re: [Cs551] Tracke.out raw replay message In-Reply-To: References: Message-ID: <4241D78D.309@usc.edu> jung suh wrote: > When we log raw reply message, we have to log neighbor ID, neighbor IP AND neighbor PORT , right? > On Page 10, > ---- 00 02 00 06 00 01 80 01 02 03 00 02 80 01 02 04 > Here, 00 02 looks like MSGTYPE in hex, > 00 06 looks like number of neighbors > 00 01 looks like neighbor ID > 80 01 02 03 looks like neighbor IP number > And following that, > 00 02 looks like neighbor ID > 80 01 02 04 looks like neighbor IP number > > It seems to me that neighbor port number might be omitted in that message. > I am assuming that those numbers above mighbt be random and there's nothing wrong with it. > In short, my question is we have to log neighbor port too, right? > You are right. Port was missing in the sample output. You need to log the whole message including port. -Xi From rajwani at usc.edu Wed Mar 23 13:25:21 2005 From: rajwani at usc.edu (dinesh rajwani) Date: Wed Mar 23 13:26:17 2005 Subject: [Csci551-talk] Problem running executable Message-ID: <4834de8ab9a6.42416e41@usc.edu> Hi i am using a makefile to create my executable, everything was workin just fine yesterday. today when i do a make and then try to run my code nothing is happening, i even reverted to an earlier working code but nothing seems to be happening. when i run the executable the program just hangs.. any idea what has happened?? thanks Dinesh From aneeketp at usc.edu Wed Mar 23 15:09:12 2005 From: aneeketp at usc.edu (Aneeket Patil) Date: Wed Mar 23 15:10:27 2005 Subject: [Csci551-talk] Passing struct Message-ID: <4241F718.2060407@usc.edu> A basic doubt, when I send a pointer to a struct over a UDP connection ,it is working fine.Is it because I am essentially on the same server, and no data is actually passed ,but only the pointer.? Foll. is a part of my code At client sendto(sockfd, &clstruct, sizeof(clstruct)......... At server. recvfrom(sockfd,&serstruct, sizeof(serstruct)................... Will it work on two different Machines with the same architecure? Or only if both the server and client have access to same memory? I think it does work over different machines .But cant convince myself. Aneeket. Note : - I am running different programs for the client and server on 2 different terminals. From rmchandr at usc.edu Wed Mar 23 17:23:40 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Wed Mar 23 17:25:19 2005 Subject: [Csci551-talk] Exit for tracker. Message-ID: <70e70ed7dc3c.4241a61c@usc.edu> The specification says the tracker should exit if it doesnt get a message from any client for a 'reasonable' multiple of the timeout period. How will the tracker know what the time out period is ? Should the manager send it to the tracker after reading the conf file or should the tracker figure it out himself from past history of difference in getting interest messages ? Thanks. -Rashmi. From srubin at flash.net Wed Mar 23 17:24:32 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 23 17:25:29 2005 Subject: [Csci551-talk] use of timers Message-ID: <20050324012432.49440.qmail@web81310.mail.yahoo.com> The project paper states that "node wil sleep for period of "Request Timeout" in case it is unabled to download 8 segments because no more are available from the current group. If we actually use "sleep", that means that this node will not be able to "serve" the segments it has to others. So should we use sleep or a timer in this case? The same question applies to the seed who is delaying his response to the client. If we use sleep then he will be unable to process other clients' requests while delaying this guy's reply. In addition we cannot use sleep for milliseconds since it only accepts seconds as its parameter (the delays given in config file are in milliseconds). So it seems like no matter what, timer is the only thing that should be used. Is this correct? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050323/c2be99b6/attachment.html From asyed at usc.edu Wed Mar 23 18:55:34 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 18:56:20 2005 Subject: [Csci551-talk] Passing struct In-Reply-To: <4241F718.2060407@usc.edu> Message-ID: <000401c5301c$f73dd7d0$0300a8c0@A2D> I am pretty sure that what you are saying shouldn't work for b/w two different machines. Even what you are doing is highly ifsy and can eaily cause your code to not work on the day of the submission. This really is also a bad network programming hack ,so I suggest that you don't pass the pointer. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Aneeket Patil Sent: Wednesday, March 23, 2005 3:09 PM To: csci 551 Mailing list Subject: [Csci551-talk] Passing struct A basic doubt, when I send a pointer to a struct over a UDP connection ,it is working fine.Is it because I am essentially on the same server, and no data is actually passed ,but only the pointer.? Foll. is a part of my code At client sendto(sockfd, &clstruct, sizeof(clstruct)......... At server. recvfrom(sockfd,&serstruct, sizeof(serstruct)................... Will it work on two different Machines with the same architecure? Or only if both the server and client have access to same memory? I think it does work over different machines .But cant convince myself. Aneeket. Note : - I am running different programs for the client and server on 2 different terminals. From asyed at usc.edu Wed Mar 23 18:57:04 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 18:59:21 2005 Subject: [Csci551-talk] Exit for tracker. In-Reply-To: <70e70ed7dc3c.4241a61c@usc.edu> Message-ID: <000501c5301d$2d3cc7b0$0300a8c0@A2D> I think the spec naturally lends to the first idea. But you can simplify it even further by mentioning that to the tracker at creation, as you do for its TCP port. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of rashmi chandrasekhar Sent: Wednesday, March 23, 2005 5:24 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] Exit for tracker. The specification says the tracker should exit if it doesnt get a message from any client for a 'reasonable' multiple of the timeout period. How will the tracker know what the time out period is ? Should the manager send it to the tracker after reading the conf file or should the tracker figure it out himself from past history of difference in getting interest messages ? Thanks. -Rashmi. From asyed at usc.edu Wed Mar 23 18:58:20 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 18:59:29 2005 Subject: [Csci551-talk] use of timers In-Reply-To: <20050324012432.49440.qmail@web81310.mail.yahoo.com> Message-ID: <000601c5301d$5a67bce0$0300a8c0@A2D> Intersting point... and no, by sleep we meant just not requesting any other GRP_INTEREST to the tracker .. so a timer should do :). Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Wednesday, March 23, 2005 5:25 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] use of timers The project paper states that "node wil sleep for period of "Request Timeout" in case it is unabled to download 8 segments because no more are available from the current group. If we actually use "sleep", that means that this node will not be able to "serve" the segments it has to others. So should we use sleep or a timer in this case? The same question applies to the seed who is delaying his response to the client. If we use sleep then he will be unable to process other clients' requests while delaying this guy's reply. In addition we cannot use sleep for milliseconds since it only accepts seconds as its parameter (the delays given in config file are in milliseconds). So it seems like no matter what, timer is the only thing that should be used. Is this correct? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050323/1c97146f/attachment-0001.html From kunalrsh at usc.edu Wed Mar 23 18:59:18 2005 From: kunalrsh at usc.edu (kunal shah) Date: Wed Mar 23 19:00:17 2005 Subject: [Csci551-talk] round robin Message-ID: <60c38238cd82.4241bc86@usc.edu> is it possible to use round robin for downloading segments from clients as long as i m downloading only 1 segment at a time from each supplying client?? Lanuk From asyed at usc.edu Wed Mar 23 19:05:01 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 19:06:19 2005 Subject: [Csci551-talk] round robin In-Reply-To: <60c38238cd82.4241bc86@usc.edu> Message-ID: <001101c5301e$497bcf10$0300a8c0@A2D> Coud you elaborate on your question. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of kunal shah Sent: Wednesday, March 23, 2005 6:59 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] round robin is it possible to use round robin for downloading segments from clients as long as i m downloading only 1 segment at a time from each supplying client?? Lanuk From johnh at ISI.EDU Wed Mar 23 20:58:13 2005 From: johnh at ISI.EDU (John Heidemann) Date: Wed Mar 23 21:01:18 2005 Subject: [Csci551-talk] Passing struct In-Reply-To: <000401c5301c$f73dd7d0$0300a8c0@A2D> Message-ID: <200503240458.j2O4wDmZ023025@dash.isi.edu> On Wed, 23 Mar 2005 18:55:34 PST, "Affan, Syed" wrote: >I am pretty sure that what you are saying shouldn't work for b/w two >different machines. Even what you are doing is highly ifsy and can eaily >cause your code to not work on the day of the submission. This really is >also a bad network programming hack ,so I suggest that you don't pass >the pointer. > >Best Regards, >Affan, Syed. Actually, that's not quite right. First, the statement: send(fd, &struct_t, sizeof(struct_t), 0) does NOT send a pointer, it sends the contents pointed to by the pointer! (Review how C handles complex datatypes! This is beginning C material.) Second, about the handling of this on different architectures, please review the lecture about serializing data and the come talk to me in office hours if you still have questions. Third, you say: >Note : - I am running different programs for the client and server on 2 >different terminals. The project requires a single program. -John Heidemann > > > >-----Original Message----- >From: csci551-talk-bounces@mailman.isi.edu >[mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Aneeket Patil >Sent: Wednesday, March 23, 2005 3:09 PM >To: csci 551 Mailing list >Subject: [Csci551-talk] Passing struct > > >A basic doubt, >when I send a pointer to a struct over a UDP connection ,it is working >fine.Is it because I am essentially on the same server, and no data is >actually passed ,but only the pointer.? >Foll. is a part of my code >At client >sendto(sockfd, &clstruct, sizeof(clstruct)......... >At server. >recvfrom(sockfd,&serstruct, sizeof(serstruct)................... > >Will it work on two different Machines with the same architecure? Or >only if both the server and client have access to same memory? I think >it does work over different machines .But cant convince myself. > >Aneeket. >Note : - I am running different programs for the client and server on 2 >different terminals. > From asyed at usc.edu Wed Mar 23 21:01:56 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 21:03:18 2005 Subject: [Csci551-talk] Complete Sample input and output files available. Message-ID: <000401c5302e$9efe1e10$0300a8c0@A2D> Hello all, We have been able to provide you with a complete input/output for a sample test case. The configuration and log files can nopw be downloaded from the TA website http://www-scf.usc.edu/~asyed/cs551.html. Kindly make sure that your output format is consistent with these. Best of luck with the project. Best Regards, Affan, Syed. From asyed at usc.edu Wed Mar 23 21:32:13 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 21:34:17 2005 Subject: [Csci551-talk] Clarification Message-ID: <000901c53032$d6802eb0$0300a8c0@A2D> It has been pointed out to me that some time back I mistakenly made the comment that the seed node does not need to send interest message after the first time. Please make sure that you are not doing this. As the sample files show you need to report regularly to the tracker, most importantly since the packet loss case can cause your network to fail other wise. Thanks. Best Regards, Affan, Syed. From srubin at flash.net Wed Mar 23 22:32:10 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 23 22:33:18 2005 Subject: [Csci551-talk] re: your sample output Message-ID: <20050324063210.38188.qmail@web81308.mail.yahoo.com> I noticed couple of things in your output: 1. Your CLNT_SEG_REP messages are missing the file name. Does it matter? 2. You stated in one of the earlier postings that the seed should only announce himself once. How come your output shows him announcing himself multiple times? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050323/77c14685/attachment.html From xiw at usc.edu Wed Mar 23 23:02:56 2005 From: xiw at usc.edu (Xi Wang) Date: Wed Mar 23 23:06:19 2005 Subject: [Csci551-talk] Segment data in client's xx.out ? In-Reply-To: <54c55c08bef4.424164bf@usc.edu> References: <54c55c08bef4.424164bf@usc.edu> Message-ID: <42426620.8080000@usc.edu> Basically the spec says instead of raw message, we want something more reader friendly like: "received segment 8 from node 11 at time 12345" -Xi rashmi chandrasekhar wrote: > > What exactly is meant by segment data to be written to a client's xx.out file ? Spec says on Page 11 that its not raw data .. so, does it mean we print out the actual text (32 bytes) if its a text file ? What happens if it isnt a text file ? Thanks. > > -Rashmi > From srubin at flash.net Wed Mar 23 23:05:50 2005 From: srubin at flash.net (S. Rubin) Date: Wed Mar 23 23:06:27 2005 Subject: [Csci551-talk] more questions regarding the output Message-ID: <20050324070550.75181.qmail@web81304.mail.yahoo.com> Couple of things: 1. Aren't we suppose to also display the status of the download i.e. if it was complete or incomplete? 2. I noticed that Client 0 was not added to the group. From what I recall, in one of the earlier responses it was stated that everybody who shows interest in the file should be added to the list, not just the seed. I do check later for the id to make sure that I don't send myself requests, or should the requestor not be added to the list unless he is a seed? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050323/713dd38a/attachment.html From asyed at usc.edu Wed Mar 23 23:43:13 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 23:44:18 2005 Subject: [Csci551-talk] re: your sample output In-Reply-To: <20050324063210.38188.qmail@web81308.mail.yahoo.com> Message-ID: <000601c53045$26b240a0$0300a8c0@A2D> I noticed couple of things in your output: 1. Your CLNT_SEG_REP messages are missing the file name. Does it matter? >Yes it does.. let me correct this now. The update files will now not have this issue. 2. You stated in one of the earlier postings that the seed should only announce himself once. How come your output shows him announcing himself multiple times? > Please read my clarification on the maililng list today. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050323/f894fc8c/attachment.html From asyed at usc.edu Wed Mar 23 23:45:34 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 23 23:46:19 2005 Subject: [Csci551-talk] more questions regarding the output In-Reply-To: <20050324070550.75181.qmail@web81304.mail.yahoo.com> Message-ID: <000b01c53045$7a6679a0$0300a8c0@A2D> Couple of things: 1. Aren't we suppose to also display the status of the download i.e. if it was complete or incomplete? > In the spec we only need to report if the download was not complete. And how many segments were lost. I will try to post sometihng like that as well. but you can see that exactly from the specs pg 8. 2. I noticed that Client 0 was not added to the group. From what I recall, in one of the earlier responses it was stated that everybody who shows interest in the file should be added to the list, not just the seed. I do check later for the id to make sure that I don't send myself requests, or should the requestor not be added to the list unless he is a seed? > Well the tracker can opt to not include the inquiring node in the group, instead of the node not sending the request to the group. Either way it should work, and will be okay with us. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050323/bd39f451/attachment.html From srubin at flash.net Thu Mar 24 00:06:30 2005 From: srubin at flash.net (S. Rubin) Date: Thu Mar 24 00:07:19 2005 Subject: [Csci551-talk] more questions regarding the output In-Reply-To: 6667 Message-ID: <20050324080630.80135.qmail@web81307.mail.yahoo.com> On p.11 top, your example does give the status "Completed" as well, but it's a minor detail. Could you clarify a bit on the use of a timer and select in combination. I know that I am not doing something correctly as they interfere with each other. I get confused about when to place the Add command for the timer and when to set/re-set the seconds from timeval command prior to calling select. I get all tangled up in sorting out when to use one, and when the other. Thank you. Sophia "Affan, Syed" wrote: Couple of things: 1. Aren't we suppose to also display the status of the download i.e. if it was complete or incomplete? > In the spec we only need to report if the download was not complete. And how many segments were lost. I will try to post sometihng like that as well. but you can see that exactly from the specs pg 8. 2. I noticed that Client 0 was not added to the group. From what I recall, in one of the earlier responses it was stated that everybody who shows interest in the file should be added to the list, not just the seed. I do check later for the id to make sure that I don't send myself requests, or should the requestor not be added to the list unless he is a seed? > Well the tracker can opt to not include the inquiring node in the group, instead of the node not sending the request to the group. Either way it should work, and will be okay with us. Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050324/4f5e49b4/attachment-0001.html From rmchandr at usc.edu Thu Mar 24 01:22:48 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Thu Mar 24 01:24:29 2005 Subject: [Csci551-talk] Termination of a downloading client Message-ID: <74c3eff184be.42421668@usc.edu> In the project spec (page 9), a termination suggestion for a downloading client is given as "terminate if node does not make progress in 4 rounds of group update". By progress, do you mean the node has not completed the download ? If so, isnt this overly under-estimating ? From the algorithm mentioned on page 7, per group update, we loop for atmost 8 segments. If we want to finish download within 4 rounds of group update, we cannot download any file larger than 1KB(32*32) with a success status. Will our code be tested on files smaller than 1KB or is this under-estimation just to check the termination algorithm ? -Rashmi. From rmchandr at usc.edu Thu Mar 24 01:34:31 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Thu Mar 24 01:35:18 2005 Subject: [Csci551-talk] use of timers Message-ID: <8fe167dec409.42421927@usc.edu> Converting milliseconds to seconds should not be an issue and so, sleep can be used in this case after the conversion. Also, I feel a sleep of milliseconds will not really affect another node or delay it (although I agree that strictly speaking, it would be wrong to use sleep in this case). ----- Original Message ----- From: "S. Rubin" Date: Wednesday, March 23, 2005 5:24 pm Subject: [Csci551-talk] use of timers > The project paper states that "node wil sleep for period of > "Request Timeout" in case > it is unabled to download 8 segments because no more are available > from the current > group. If we actually use "sleep", that means that this node will > not be able to "serve" > the segments it has to others. So should we use sleep or a timer > in this case? > The same question applies to the seed who is delaying his response > to the client. > If we use sleep then he will be unable to process other clients' > requests while delaying > this guy's reply. In addition we cannot use sleep for > milliseconds since it only accepts > seconds as its parameter (the delays given in config file are in > milliseconds). So it > seems like no matter what, timer is the only thing that should be > used. Is this correct? > > Sophia > > From abhisher at usc.edu Thu Mar 24 01:29:24 2005 From: abhisher at usc.edu (Abhishek Rathi) Date: Thu Mar 24 01:36:17 2005 Subject: [Csci551-talk] Segment update message size problem In-Reply-To: <423B4D1B.7000109@usc.edu> Message-ID: <0IDU004VCNZF7L50@msg-mx2.usc.edu> Hi, If we have 20K file to be transferred then the seed will have to send 20K/32=640 segment numbers, when segment update takes place. To send 640 segment numbers in a message will take about 1280 bytes( and may be more if larger file is considered ) considering that each segment number is stored as uint16_t which takes 2 bytes per integer. So what is the maximum permissible message size for the segment update message? Is there any other way to implement this which help us to reduce the message size ? please comment. Abhishek Rathi From srubin at flash.net Thu Mar 24 01:46:06 2005 From: srubin at flash.net (S. Rubin) Date: Thu Mar 24 01:47:20 2005 Subject: [Csci551-talk] use of timers In-Reply-To: 6667 Message-ID: <20050324094606.6403.qmail@web81309.mail.yahoo.com> If you convert milliseconds to seconds, you will get < 1 second, and sleep takes the range of seconds from 1 to MAXINT ( an integer value and not a fraction of it). The delays given to us are fracitons of a second, for example 10 msec = 0.01 sec. Sophia rashmi chandrasekhar wrote: Converting milliseconds to seconds should not be an issue and so, sleep can be used in this case after the conversion. Also, I feel a sleep of milliseconds will not really affect another node or delay it (although I agree that strictly speaking, it would be wrong to use sleep in this case). ----- Original Message ----- From: "S. Rubin" Date: Wednesday, March 23, 2005 5:24 pm Subject: [Csci551-talk] use of timers > The project paper states that "node wil sleep for period of > "Request Timeout" in case > it is unabled to download 8 segments because no more are available > from the current > group. If we actually use "sleep", that means that this node will > not be able to "serve" > the segments it has to others. So should we use sleep or a timer > in this case? > The same question applies to the seed who is delaying his response > to the client. > If we use sleep then he will be unable to process other clients' > requests while delaying > this guy's reply. In addition we cannot use sleep for > milliseconds since it only accepts > seconds as its parameter (the delays given in config file are in > milliseconds). So it > seems like no matter what, timer is the only thing that should be > used. Is this correct? > > Sophia > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050324/7e183d31/attachment.html From asyed at usc.edu Thu Mar 24 09:49:58 2005 From: asyed at usc.edu (affan syed) Date: Thu Mar 24 09:51:26 2005 Subject: [Csci551-talk] Termination of a downloading client Message-ID: We meant that if it didnot get any new segments or doesnt get any segment request for 4 rounds. Thanks. Affan ----- Original Message ----- From: rashmi chandrasekhar Date: Thursday, March 24, 2005 1:22 am Subject: [Csci551-talk] Termination of a downloading client > > In the project spec (page 9), a termination suggestion for a > downloading client is given as "terminate if node does not make > progress in 4 rounds of group update". By progress, do you mean the > node has not completed the download ? > > If so, isnt this overly under-estimating ? From the algorithm > mentioned on page 7, per group update, we loop for atmost 8 > segments. If we want to finish download within 4 rounds of group > update, we cannot download any file larger than 1KB(32*32) with a > success status. Will our code be tested on files smaller than 1KB > or is this under-estimation just to check the termination algorithm ? > > -Rashmi. > > From asyed at usc.edu Thu Mar 24 09:54:03 2005 From: asyed at usc.edu (affan syed) Date: Thu Mar 24 09:54:22 2005 Subject: [Csci551-talk] more questions regarding the output Message-ID: <9bd469e8f01b.42428e3b@usc.edu> Another good point ... thanks for pointing out. You should output that. I will try to fix that. I think the best of way of using timers would be to first classify them as recurring or non recurring. If they reoccur, at the ned of Timer.expire() simply return 0 (for the same to be reinserted). If they dotn return -1. That should take into account any timer removal issues. Regarding setting timeval before select, I really think the example provided is sufficient. just change the sockid and you are good to go :) Affan ----- Original Message ----- From: "S. Rubin" Date: Thursday, March 24, 2005 0:06 am Subject: RE: [Csci551-talk] more questions regarding the output > On p.11 top, your example does give the status "Completed" as well, > but it's > a minor detail. > > Could you clarify a bit on the use of a timer and select in > combination. > I know that I am not doing something correctly as they interfere > with each > other. I get confused about when to place the Add command for the > timerand when to set/re-set the seconds from timeval command prior > to calling > select. I get all tangled up in sorting out when to use one, and > when the > other. Thank you. > > Sophia > > "Affan, Syed" wrote: > > > > > Couple of things: > 1. Aren't we suppose to also display the status of the download > i.e. if it was complete > or incomplete? > > In the spec we only need to report if the download was not > complete. And how many segments were lost. I will try to post > sometihng like that as well. but you can see that exactly from the > specs pg 8. > > 2. I noticed that Client 0 was not added to the group. From what I > recall, in one > of the earlier responses it was stated that everybody who shows > interest in the > file should be added to the list, not just the seed. I do check > later for the id to make > sure that I don't send myself requests, or should the requestor not > be added to the > list unless he is a seed? > > Well the tracker can opt to not include the inquiring node in the > group, instead of the node not sending the request to the group. > Either way it should work, and will be okay with us. > > Sophia > From xiw at usc.edu Thu Mar 24 10:05:18 2005 From: xiw at usc.edu (Xi Wang) Date: Thu Mar 24 10:08:23 2005 Subject: [Csci551-talk] Segment update message size problem In-Reply-To: <0IDU004VCNZF7L50@msg-mx2.usc.edu> References: <0IDU004VCNZF7L50@msg-mx2.usc.edu> Message-ID: <4243015E.30705@usc.edu> That's a good place to demonstrate your skills in data structure - consider using a bitmap. -Xi Abhishek Rathi wrote: > Hi, > > If we have 20K file to be transferred then the seed will have to send > 20K/32=640 segment numbers, when segment update takes place. To send 640 > segment numbers in a message will take about 1280 bytes( and may be more if > larger file is considered ) considering that each segment number is stored > as uint16_t which takes 2 bytes per integer. So what is the maximum > permissible message size for the segment update message? > > Is there any other way to implement this which help us to reduce the message > size ? please comment. > > > Abhishek Rathi > > From christos at ISI.EDU Thu Mar 24 14:27:01 2005 From: christos at ISI.EDU (Christos Papadopoulos) Date: Thu Mar 24 14:32:35 2005 Subject: [Csci551-talk] Re: [Cs551] Client process and counting packet loss In-Reply-To: <001f01c5309e$75635fa0$85e47d80@ownerwam9o2stk> References: <001f01c5309e$75635fa0$85e47d80@ownerwam9o2stk> Message-ID: <20050324222701.GA8505@boreas.isi.edu> In this project we do not want you to use threads, but use the event library we provided. Christos. On Thu, Mar 24, 2005 at 10:22:36AM -0800, motoko maki wrote: > Dear TA, > I have two questions. > > 1. Is it OK for each client to have two threads or two processes; > one for actively doing group update, segment update, and segment download, > and one for passively listening to other clients and responding segment > update > and segment download? > > 2. When we count packet loss, should we count the number of timeout, > or simply count the number of packets which the client didn't send? > > Thank you > Motoko > > > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From xiw at usc.edu Thu Mar 24 15:08:24 2005 From: xiw at usc.edu (Xi Wang) Date: Thu Mar 24 15:45:30 2005 Subject: [Csci551-talk] Re: [Cs551] Client process and counting packet loss In-Reply-To: <001f01c5309e$75635fa0$85e47d80@ownerwam9o2stk> References: <001f01c5309e$75635fa0$85e47d80@ownerwam9o2stk> Message-ID: <42434868.2030009@usc.edu> motoko maki wrote: > Dear TA, > I have two questions. > > 1. Is it OK for each client to have two threads or two processes; > one for actively doing group update, segment update, and segment download, > and one for passively listening to other clients and responding segment > update > and segment download? > Yes, it's quite reasonable if you feel that's the easier way. > 2. When we count packet loss, should we count the number of timeout, > or simply count the number of packets which the client didn't send? > > Thank you > Motoko > Just count packed dropped at sender. Timeout is only a result of dropped packets. -Xi From asyed at usc.edu Thu Mar 24 18:01:53 2005 From: asyed at usc.edu (affan syed) Date: Thu Mar 24 18:02:21 2005 Subject: [Csci551-talk] Extra TA office hours Message-ID: Since i am getting a lot of request for appointments, I have decided to hold extra office hours this Friday (tommorow) immediately after the class, i.e. at 12:00 pm. I am afraid that i am only going to be available for 1 hr (from 12:00 to 1:00) and will have to cut off sharply at 1:00pm. So I would hope people will ask pertinent and short questions. The office location is still SAL 211. Best Regards. Affan From xiw at usc.edu Thu Mar 24 18:34:10 2005 From: xiw at usc.edu (Xi Wang) Date: Thu Mar 24 18:37:23 2005 Subject: [Csci551-talk] Re: *correction* [Cs551] Client process and counting packet loss In-Reply-To: <42434868.2030009@usc.edu> References: <001f01c5309e$75635fa0$85e47d80@ownerwam9o2stk> <42434868.2030009@usc.edu> Message-ID: <424378A2.9010305@usc.edu> Please disregard my previous email. You should use event loop instead of threads in this project. Sorry about the confusion. -Xi Xi Wang wrote: > > > motoko maki wrote: > >> Dear TA, >> I have two questions. >> >> 1. Is it OK for each client to have two threads or two processes; >> one for actively doing group update, segment update, and segment >> download, >> and one for passively listening to other clients and responding >> segment update >> and segment download? >> > > Yes, it's quite reasonable if you feel that's the easier way. > > >> 2. When we count packet loss, should we count the number of timeout, >> or simply count the number of packets which the client didn't send? >> >> Thank you >> Motoko >> > > Just count packed dropped at sender. Timeout is only a result of dropped > packets. > > -Xi > _______________________________________________ > Cs551 mailing list > Cs551@catarina.usc.edu > http://catarina.usc.edu/mailman/listinfo/cs551 From mikestephens at gmail.com Thu Mar 24 18:40:46 2005 From: mikestephens at gmail.com (Michael Stephens) Date: Thu Mar 24 18:42:22 2005 Subject: [Csci551-talk] Unix Network Programming code Message-ID: <55aa073505032418406f5aae5a@mail.gmail.com> Are we allowed to reuse some of the code from the Unix Network Programming book? For instance, there are some nice functions for terminating when an error occurs, as well as a nice readline function. Now that I have read the book and seen these functions, if I were to write those functions myself they would look strikingly similar to the ones in the book. From johnh at ISI.EDU Fri Mar 25 08:28:57 2005 From: johnh at ISI.EDU (John Heidemann) Date: Fri Mar 25 08:30:22 2005 Subject: [Csci551-talk] Unix Network Programming code In-Reply-To: <55aa073505032418406f5aae5a@mail.gmail.com> Message-ID: <200503251628.j2PGSvqt008743@dash.isi.edu> On Thu, 24 Mar 2005 18:40:46 PST, Michael Stephens wrote: >Are we allowed to reuse some of the code from the Unix Network Programming book? > >For instance, there are some nice functions for terminating when an >error occurs, as well as a nice readline function. > >Now that I have read the book and seen these functions, if I were to >write those functions myself they would look strikingly similar to the >ones in the book. In some cases I will permit students to reuse code from books or freely available (or even commercial) libraries. If you're interested in doing that, you MUST: 1. explicitly e-mail the TA and me saying what library it is (ideally with a pointer to the code or book 2. ALSO list this same information in your README file. To give us time to reply, the e-mail request for must be sent more than 48 hours before the general project deadline. (In general, using common libraries is a very good thing. But I don't want there to be ANY confusion about what code can be used or not, because reusing code without being clear about it is plagerism and will get you an F for the whole course. The best way I've found to handle this is to discuss it on a case-by-case basis with individual students.) Also, a reminder: reusing code from your friends or soliciting others to do your code is clearly plagerism. DON'T DO THAT! If you have any questions about if your coding falls in these categories, please talk to me. -John Heidemann From mikestephens at gmail.com Fri Mar 25 11:28:47 2005 From: mikestephens at gmail.com (Michael Stephens) Date: Fri Mar 25 11:29:42 2005 Subject: [Csci551-talk] IP address Message-ID: <55aa073505032511283665049e@mail.gmail.com> When I use 127.0.0.1 as the IP address for making a connection from the tracker to the manager, it seems to work fine. However, when I try to change my call to "connect" in the tracker to use the IP address returned by getsockname in the manager, it does not seem to work. This IP address is something like 0.2.132.173. I have not been able to figure out why this does not work. (I had assumed that for our project we are allowed to ignore IP addresses and just use 127.0.0.1, however yesterday I read a post from Rashmi dated March 23 stating that we need to store the IP addresses of each of the clients.) From xiw at usc.edu Fri Mar 25 14:55:20 2005 From: xiw at usc.edu (Xi Wang) Date: Fri Mar 25 14:58:29 2005 Subject: [Csci551-talk] IP address In-Reply-To: <55aa073505032511283665049e@mail.gmail.com> References: <55aa073505032511283665049e@mail.gmail.com> Message-ID: <424496D8.3060900@usc.edu> To me the address is more like 173.132.2.0. You might have used wrong byte order. Tracker needs to store IP addresses of each client node. Although for this project all nodes run on a single machine, your basic design should allow them to work on different machines. -Xi Michael Stephens wrote: > When I use 127.0.0.1 as the IP address for making a connection from > the tracker to the manager, it seems to work fine. However, when I > try to change my call to "connect" in the tracker to use the IP > address returned by getsockname in the manager, it does not seem to > work. This IP address is something like 0.2.132.173. I have not been > able to figure out why this does not work. (I had assumed that for > our project we are allowed to ignore IP addresses and just use > 127.0.0.1, however yesterday I read a post from Rashmi dated March 23 > stating that we need to store the IP addresses of each of the > clients.) From mikestephens at gmail.com Fri Mar 25 15:52:00 2005 From: mikestephens at gmail.com (Michael Stephens) Date: Fri Mar 25 15:52:32 2005 Subject: [Csci551-talk] IP address Message-ID: <55aa073505032515521045a8e8@mail.gmail.com> Xi Wang wrote: > To me the address is more like 173.132.2.0. You might have used wrong > byte order. First I call "getsockname" to get the IP address. The resulting socketaddr_in should have the IP address in network byte order, right? Then I call inet_ntop to convert this to a string. inet_ntop assumes that the address is already in network byte order according to the man page. Then I pass the string to the tracker and convert it back to network format using inet_pton. From ygandhi at usc.edu Fri Mar 25 16:57:57 2005 From: ygandhi at usc.edu (yash gandhi) Date: Fri Mar 25 16:58:33 2005 Subject: [Csci551-talk] If leech befor Seed!!! Message-ID: <997f3cb1186d.42445f35@usc.edu> Hey , If the leech contacts the tracker befor the seed, the obviously the thracker sends the leech zero no. of neighbours it can contact. So the leech has to go back to the tracker and get another group info. After how much time??? should the leech go back to the tracker Yash From johnh at ISI.EDU Fri Mar 25 17:27:58 2005 From: johnh at ISI.EDU (John Heidemann) Date: Fri Mar 25 17:31:26 2005 Subject: [Csci551-talk] handling IO and timers in Project A---some suggestions and discussion Message-ID: <200503260128.j2Q1RxBC021336@dash.isi.edu> I wanted to talk briefly about handling concurrent processing in Project A. I've seen a couple of questions, like: - To do delays, can't I just call sleep() to block, then handle messages? - What is meant by asynchronous message processing? - What about forking two processes per client and having one handle input and the other output? Or using threads? So, looking at these in turn: - To do delays, can't I just call sleep() to block, then handle messages? You can do this, more or less. And it's possible you can meet the project requirements, mostly. But such a program will not work well for a number of reasons: - First, sleep is only at the second granularity. You can hack around this by busy and polling the time, or using less portable interfaces. But those are Bad Ideas. - Busy waiting is almost always a Bad, Bad Idea. You should be able to have the operating system block on something and allow other processes run in basically all good programs. - There are some other higher resolution APIs, and some are actually standardized (for example, in the POSIX.1b--the real-time extensions), but they're not always widely available. - There are better ways to do it. - More importantly, while you're blocked sleeping, you're not able to do anything useful. You can't reply to incoming requests. You can't deal with other timers. These should be hint that this approach is not the best way. The real effect of blocking is that your program will be very, very timing dependent, and probably very slow. If you get a message you reply, if you don't, you sleep for a while. Which happens? Depends on how things work out with scheduling. This is Not Good. Even if the OS buffers messages, buffers can (and will and do) over flow. Again, this indicates that blocking for long periods of time is not the best choice. So while you might be able to get things working this way, it probably won't work well. I strongly encourage you to look further. If you program basically works you will get credit or at least partial credit. But if it's flaky or too slow (where "too slow" is a judgment call) you should expect to loose points. ---------------------------------------- - What is meant by asynchronous message processing? This is what we try to capture in the timer library. The basic idea is your main program is an event loop, like this: while (1) { select on file descriptors with timeout; if (input on file descriptors) read input and handle it if (timed out) figure out what we wanted to do when we timed out and do it. }; Notice that this approach allows you handle time-dependent things AND IO dependent things. It fixes the problems in just sleeping, since: - select's timeout is microsecond level, so you don't have to hacks to get around coarse timers - you're handling BOTH time-out driven stuff and IO-driven stuff at the same time, so you're not blocking for long periods of time. The example programs in the timer library provide somewhat more detail about how to do this. A common thing one might do is send messages reliably. This would involve: write() -- send outgoing message schedule callback function to go off if no ACK occurs return to event loop then the event loop listens for ACKs (on a file descriptor) and waits for the timeout. If an ACK arrives, it should CANCEL the callback function If no ACK arrives, then eventually the timer times out and you can call the callback function, which might retransmit the packet and schedule a new function. Again, there are examples of these components in the library. Note with several packets in flight, you'll have several different timeouts happening at different times. This gets messy---someone has to keep track of them, figure out which one is first (in time), figure out which one actually times out, etc. The timer library includes support for all of this. The project does not require reliable packet delivery, but it does require that you handle keeping track of the overall timeout (so you can check for new peers) concurrent with processing messages. Documentation of the timers APIs are in timers.hh (or timers-c.h if you're using C), with examples in test-app.cc (or test-app-c.c). (I think the timer library is reasonable, and I provide it because IMHO implementing that functionality is beyond the scope of a class project, and because having reasonable APIs is very important to writing reasonable code.) ---------------------------------------- - What about forking two processes per client and having one handle input and the other output? Or using threads? - Forking two processes might work. One can handle input and the other output. But, how do you coordinate between them? You're going to have shared memory? Or something else? How do you know you're sending bits that are have been received? Basically, with two processes you're doing threads, but without shared memory. This is OK for some things, but it's probably not a good thing for the project. - Why not just use threads? For CS551 Proj A, one good reason is because the project explicitly disallows threads. This choice is somewhat arbitrary, but it is a requirement (or more a prohibition). So you have to deal with it. But there is some reasoning behind it. First, I hope most people today know about thread-based programming. CS402 and Nachos use it. Java uses it. Microsoft seems to encourage it, as does Sun. So hopefully most of you already know how to use it. But it turns out that thread-based programming has some disadvantages. The main one is one needs to do explicit concurrency control, typically with locks or monitors or semaphores other similar things. Again, you should have studied these things in CSci402, and certainly in CSci555, and probably even in your early Java classes. But they also have some downsides. For a reasonable discussion about these, see "Why Threads Are A Bad Idea (for most purposes)" by John Ousterhout, at http://home.pacbell.net/ouster/threads.ppt or http://home.pacbell.net/ouster/threads.pdf for a discussion of these. (Reference: invited talk, Usenix 1996). Basically it boils down to Locking Is Hard, and when you get locking wrong, it's very hard to tell. Now, this isn't a hard and fast rule---many people think threads are great, and you should just get over locking (or get used to it). And I'm sure you're all really smart and never make locking bugs and never have race conditions. But I (at least) am not so smart, I've wasted lots of time with subtle race conditions. And in fact, even Ousterhout says there are sometimes you really need threads. Like in an OS, or big database. (Or maybe some kind of hybrid is needed--for one example, see "Cooperative Task Management Without Manual Stack Management" by Adya et al, Usenix General Technical conference 2002, http://research.microsoft.com/~adya/pubs/usenix2002-fibers.pdf.) Anyway, you're welcome to think that events are bad and threads are great, if you want. But my experience is that many students haven't tried both approaches and so they can't make a reasonable (educated) decision. Hopefully after Project A this will no longer be the case. -John Heidemann From asyed at usc.edu Fri Mar 25 17:47:08 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 25 17:48:23 2005 Subject: [Csci551-talk] RE: If leech befor Seed!!! In-Reply-To: <997f3cb1186d.42445f35@usc.edu> Message-ID: <001501c531a5$beefd240$0300a8c0@A2D> That is what the reqTO interval is for :). Best Regards, Affan, Syed. -----Original Message----- From: yash gandhi [mailto:ygandhi@usc.edu] Sent: Friday, March 25, 2005 4:58 PM To: asyed@usc.edu Cc: csci551-talk@mailman.isi.edu Subject: If leech befor Seed!!! Hey , If the leech contacts the tracker befor the seed, the obviously the thracker sends the leech zero no. of neighbours it can contact. So the leech has to go back to the tracker and get another group info. After how much time??? should the leech go back to the tracker Yash From asyed at usc.edu Fri Mar 25 17:49:24 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 25 17:50:22 2005 Subject: [Csci551-talk] IP address In-Reply-To: <55aa073505032515521045a8e8@mail.gmail.com> Message-ID: <001601c531a6$1142f4a0$0300a8c0@A2D> Are you using IN_ADDR_ANY before calling getsockname()? Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Michael Stephens Sent: Friday, March 25, 2005 3:52 PM To: csci551-talk@mailman.isi.edu; xiw@usc.edu Subject: [Csci551-talk] IP address Xi Wang wrote: > To me the address is more like 173.132.2.0. You might have used wrong > byte order. First I call "getsockname" to get the IP address. The resulting socketaddr_in should have the IP address in network byte order, right? Then I call inet_ntop to convert this to a string. inet_ntop assumes that the address is already in network byte order according to the man page. Then I pass the string to the tracker and convert it back to network format using inet_pton. From mikestephens at gmail.com Fri Mar 25 18:42:37 2005 From: mikestephens at gmail.com (Michael Stephens) Date: Fri Mar 25 18:43:23 2005 Subject: [Csci551-talk] IP address In-Reply-To: <001601c531a6$1142f4a0$0300a8c0@A2D> References: <55aa073505032515521045a8e8@mail.gmail.com> <001601c531a6$1142f4a0$0300a8c0@A2D> Message-ID: <55aa0735050325184247953fc6@mail.gmail.com> I figured out the problem. The kernel does not assign an IP address to the socket until after "accept" returns (after the tracker has called "connect"). Unfortunately at this point it is too late to tell the tracker which IP address to connect to! The way I tried to solve this was to do the following: - Call gethostname to get the host name - Call gethostbyname. This returns a list of IP addresses that the host can have. Now at this point I just picked the first IP address in the list and it seems to work so far. I suppose to be more robust the entire list of IP addresses should be passed to the Tracker and it should try all of them before giving up, but I am not sure if that is necessary. Does this sound reasonable or am I way off track? On Fri, 25 Mar 2005 17:49:24 -0800, Affan, Syed wrote: > Are you using IN_ADDR_ANY before calling getsockname()? > > Best Regards, > Affan, Syed. > > > -----Original Message----- > From: csci551-talk-bounces@mailman.isi.edu > [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Michael > Stephens > Sent: Friday, March 25, 2005 3:52 PM > To: csci551-talk@mailman.isi.edu; xiw@usc.edu > Subject: [Csci551-talk] IP address > > Xi Wang wrote: > > To me the address is more like 173.132.2.0. You might have used wrong > > byte order. > > First I call "getsockname" to get the IP address. The resulting > socketaddr_in should have the IP address in network byte order, right? > Then I call inet_ntop to convert this to a string. inet_ntop assumes > that the address is already in network byte order according to the man > page. Then I pass the string to the tracker and convert it back to > network format using inet_pton. > > From rmchandr at usc.edu Fri Mar 25 18:49:46 2005 From: rmchandr at usc.edu (rashmi chandrasekhar) Date: Fri Mar 25 18:50:24 2005 Subject: [Csci551-talk] IP address Message-ID: It is sufficient for this project if you just set serveraddr.sin_addr.s_addr=htonl(INADDR_ANY); and likewise for the tracker and the clients. Since all processes are running on the same machine, the above will return the same IP address in all cases. -Rashmi. ----- Original Message ----- From: Michael Stephens Date: Friday, March 25, 2005 6:42 pm Subject: Re: [Csci551-talk] IP address > I figured out the problem. > > The kernel does not assign an IP address to the socket until after > "accept" returns (after the tracker has called "connect"). > Unfortunately at this point it is too late to tell the tracker which > IP address to connect to! > > The way I tried to solve this was to do the following: > - Call gethostname to get the host name > - Call gethostbyname. This returns a list of IP addresses that the > host can have. > > Now at this point I just picked the first IP address in the list and > it seems to work so far. I suppose to be more robust the entire list > of IP addresses should be passed to the Tracker and it should try all > of them before giving up, but I am not sure if that is necessary. > > Does this sound reasonable or am I way off track? > > > On Fri, 25 Mar 2005 17:49:24 -0800, Affan, Syed wrote: > > Are you using IN_ADDR_ANY before calling getsockname()? > > > > Best Regards, > > Affan, Syed. > > > > > > -----Original Message----- > > From: csci551-talk-bounces@mailman.isi.edu > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of Michael > > Stephens > > Sent: Friday, March 25, 2005 3:52 PM > > To: csci551-talk@mailman.isi.edu; xiw@usc.edu > > Subject: [Csci551-talk] IP address > > > > Xi Wang wrote: > > > To me the address is more like 173.132.2.0. You might have > used wrong > > > byte order. > > > > First I call "getsockname" to get the IP address. The resulting > > socketaddr_in should have the IP address in network byte order, > right?> Then I call inet_ntop to convert this to a string. > inet_ntop assumes > > that the address is already in network byte order according to > the man > > page. Then I pass the string to the tracker and convert it back to > > network format using inet_pton. > > > > > From mikestephens at gmail.com Fri Mar 25 19:16:48 2005 From: mikestephens at gmail.com (Michael Stephens) Date: Fri Mar 25 19:17:33 2005 Subject: [Csci551-talk] IP address In-Reply-To: References: Message-ID: <55aa0735050325191626242ccf@mail.gmail.com> Are you saying to use serveraddr.sin_addr.s_addr = htonl(INADDR_ANY) before the call to "connect" in the tracker, when the tracker is trying to connect to the manager? This is does not give you the IP address of the manager, it gives you the IP address of the tracker, right? Isn't this antithetical to what Xi said in a previous post: > Although for this project all nodes run on a single machine, your basic > design should allow them to work on different machines. The approach you are now suggesting would not allow them to work on different machines, correct? Perhaps I do not yet understand... On Fri, 25 Mar 2005 18:49:46 -0800, rashmi chandrasekhar wrote: > > It is sufficient for this project if you just set > serveraddr.sin_addr.s_addr=htonl(INADDR_ANY); > and likewise for the tracker and the clients. Since all processes are running on the same machine, the above will return the same IP address in all cases. > > -Rashmi. > > ----- Original Message ----- > From: Michael Stephens > Date: Friday, March 25, 2005 6:42 pm > Subject: Re: [Csci551-talk] IP address > > > I figured out the problem. > > > > The kernel does not assign an IP address to the socket until after > > "accept" returns (after the tracker has called "connect"). > > Unfortunately at this point it is too late to tell the tracker which > > IP address to connect to! > > > > The way I tried to solve this was to do the following: > > - Call gethostname to get the host name > > - Call gethostbyname. This returns a list of IP addresses that the > > host can have. > > > > Now at this point I just picked the first IP address in the list and > > it seems to work so far. I suppose to be more robust the entire list > > of IP addresses should be passed to the Tracker and it should try all > > of them before giving up, but I am not sure if that is necessary. > > > > Does this sound reasonable or am I way off track? > > > > > > On Fri, 25 Mar 2005 17:49:24 -0800, Affan, Syed wrote: > > > Are you using IN_ADDR_ANY before calling getsockname()? > > > > > > Best Regards, > > > Affan, Syed. > > > > > > > > > -----Original Message----- > > > From: csci551-talk-bounces@mailman.isi.edu > > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of Michael > > > Stephens > > > Sent: Friday, March 25, 2005 3:52 PM > > > To: csci551-talk@mailman.isi.edu; xiw@usc.edu > > > Subject: [Csci551-talk] IP address > > > > > > Xi Wang wrote: > > > > To me the address is more like 173.132.2.0. You might have > > used wrong > > > > byte order. > > > > > > First I call "getsockname" to get the IP address. The resulting > > > socketaddr_in should have the IP address in network byte order, > > right?> Then I call inet_ntop to convert this to a string. > > inet_ntop assumes > > > that the address is already in network byte order according to > > the man > > > page. Then I pass the string to the tracker and convert it back to > > > network format using inet_pton. > > > > > > > > > > From asyed at usc.edu Fri Mar 25 19:32:44 2005 From: asyed at usc.edu (Affan, Syed) Date: Fri Mar 25 19:34:24 2005 Subject: [Csci551-talk] IP address In-Reply-To: <55aa0735050325191626242ccf@mail.gmail.com> Message-ID: <000001c531b4$7e32a610$0300a8c0@A2D> But your approach wouldn't either. See in a real world the trackers IP has to be publically available through the .torrent files hosted at known websites. What Xi was talking about was the client IP and ports, they should be provided by the tracker so that you can connect to them. Best Regards, Affan, Syed. -----Original Message----- From: Michael Stephens [mailto:mikestephens@gmail.com] Sent: Friday, March 25, 2005 7:17 PM To: rashmi chandrasekhar Cc: Affan, Syed; csci551-talk@mailman.isi.edu; cs551@catarina.usc.edu; xiw@usc.edu Subject: Re: [Csci551-talk] IP address Are you saying to use serveraddr.sin_addr.s_addr = htonl(INADDR_ANY) before the call to "connect" in the tracker, when the tracker is trying to connect to the manager? This is does not give you the IP address of the manager, it gives you the IP address of the tracker, right? Isn't this antithetical to what Xi said in a previous post: > Although for this project all nodes run on a single machine, your > basic design should allow them to work on different machines. The approach you are now suggesting would not allow them to work on different machines, correct? Perhaps I do not yet understand... On Fri, 25 Mar 2005 18:49:46 -0800, rashmi chandrasekhar wrote: > > It is sufficient for this project if you just set > serveraddr.sin_addr.s_addr=htonl(INADDR_ANY); > and likewise for the tracker and the clients. Since all processes are > running on the same machine, the above will return the same IP address > in all cases. > > -Rashmi. > > ----- Original Message ----- > From: Michael Stephens > Date: Friday, March 25, 2005 6:42 pm > Subject: Re: [Csci551-talk] IP address > > > I figured out the problem. > > > > The kernel does not assign an IP address to the socket until after > > "accept" returns (after the tracker has called "connect"). > > Unfortunately at this point it is too late to tell the tracker which > > IP address to connect to! > > > > The way I tried to solve this was to do the following: > > - Call gethostname to get the host name > > - Call gethostbyname. This returns a list of IP addresses that the > > host can have. > > > > Now at this point I just picked the first IP address in the list and > > it seems to work so far. I suppose to be more robust the entire > > list of IP addresses should be passed to the Tracker and it should > > try all of them before giving up, but I am not sure if that is > > necessary. > > > > Does this sound reasonable or am I way off track? > > > > > > On Fri, 25 Mar 2005 17:49:24 -0800, Affan, Syed > > wrote: > > > Are you using IN_ADDR_ANY before calling getsockname()? > > > > > > Best Regards, > > > Affan, Syed. > > > > > > > > > -----Original Message----- > > > From: csci551-talk-bounces@mailman.isi.edu > > > [csci551-talk-bounces@mailman.isi.edu] On Behalf Of Michael > > > Stephens > > > Sent: Friday, March 25, 2005 3:52 PM > > > To: csci551-talk@mailman.isi.edu; xiw@usc.edu > > > Subject: [Csci551-talk] IP address > > > > > > Xi Wang wrote: > > > > To me the address is more like 173.132.2.0. You might have > > used wrong > > > > byte order. > > > > > > First I call "getsockname" to get the IP address. The resulting > > > socketaddr_in should have the IP address in network byte order, > > right?> Then I call inet_ntop to convert this to a string. inet_ntop > > assumes > > > that the address is already in network byte order according to > > the man > > > page. Then I pass the string to the tracker and convert it back > > > to network format using inet_pton. > > > > > > > > > > From xiw at usc.edu Fri Mar 25 19:33:31 2005 From: xiw at usc.edu (Xi Wang) Date: Fri Mar 25 19:36:25 2005 Subject: [Csci551-talk] IP address In-Reply-To: <55aa0735050325184247953fc6@mail.gmail.com> References: <55aa073505032515521045a8e8@mail.gmail.com> <001601c531a6$1142f4a0$0300a8c0@A2D> <55aa0735050325184247953fc6@mail.gmail.com> Message-ID: <4244D80B.5020400@usc.edu> That's a good solution. Actually we can simplify this a little bit. There are three cases about IP address: - Nodes need to know manager address - Client nodes need to know tracker address - Tracker needs to know addresses of client nodes For the first two you can get local address automatically or hard code "127.0.0.1", as manager is specific to this project and in a real system tracker address need to be assigned externally anyway. For the last one tracker have to record addresses of client nodes (extract address from incoming packets), record them and send back. They cannot be hard coded. -Xi Michael Stephens wrote: > I figured out the problem. > > The kernel does not assign an IP address to the socket until after > "accept" returns (after the tracker has called "connect"). > Unfortunately at this point it is too late to tell the tracker which > IP address to connect to! > > The way I tried to solve this was to do the following: > - Call gethostname to get the host name > - Call gethostbyname. This returns a list of IP addresses that the > host can have. > > Now at this point I just picked the first IP address in the list and > it seems to work so far. I suppose to be more robust the entire list > of IP addresses should be passed to the Tracker and it should try all > of them before giving up, but I am not sure if that is necessary. > > Does this sound reasonable or am I way off track? > > > On Fri, 25 Mar 2005 17:49:24 -0800, Affan, Syed wrote: > >>Are you using IN_ADDR_ANY before calling getsockname()? >> >>Best Regards, >>Affan, Syed. >> >> >>-----Original Message----- >>From: csci551-talk-bounces@mailman.isi.edu >>[mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Michael >>Stephens >>Sent: Friday, March 25, 2005 3:52 PM >>To: csci551-talk@mailman.isi.edu; xiw@usc.edu >>Subject: [Csci551-talk] IP address >> >>Xi Wang wrote: >> >>>To me the address is more like 173.132.2.0. You might have used wrong >>>byte order. >> >>First I call "getsockname" to get the IP address. The resulting >>socketaddr_in should have the IP address in network byte order, right? >>Then I call inet_ntop to convert this to a string. inet_ntop assumes >>that the address is already in network byte order according to the man >>page. Then I pass the string to the tracker and convert it back to >>network format using inet_pton. >> >> From johnh at ISI.EDU Fri Mar 25 21:20:48 2005 From: johnh at ISI.EDU (John Heidemann) Date: Fri Mar 25 21:23:22 2005 Subject: [Csci551-talk] IP address In-Reply-To: <4244D80B.5020400@usc.edu> Message-ID: <200503260520.j2Q5KnB6026193@dash.isi.edu> On Fri, 25 Mar 2005 19:33:31 PST, Xi Wang wrote: >That's a good solution. Actually we can simplify this a little bit. > >There are three cases about IP address: > >- Nodes need to know manager address >- Client nodes need to know tracker address >- Tracker needs to know addresses of client nodes > >For the first two you can get local address automatically or hard code >"127.0.0.1", as manager is specific to this project and in a real system >tracker address need to be assigned externally anyway. > >For the last one tracker have to record addresses of client nodes >(extract address from incoming packets), record them and send back. They >cannot be hard coded. And there address means IP address AND port. -John Heidemann From asyed at usc.edu Sat Mar 26 14:12:52 2005 From: asyed at usc.edu (Affan, Syed) Date: Sat Mar 26 14:14:24 2005 Subject: [Csci551-talk] Slight change in the output files Message-ID: <000101c53250$f9513b30$0300a8c0@A2D> There was a minor bug in the output files posted on the TA website (regarding the id being printed TO and FROM in SEG_REQ) which has been corrected. Kindly make sure you are consistent with these. Thanks. Best Regards, Affan, Syed. From xiw at usc.edu Sun Mar 27 16:08:12 2005 From: xiw at usc.edu (Xi Wang) Date: Sun Mar 27 16:11:31 2005 Subject: [Csci551-talk] Re: [Cs551] Questions In-Reply-To: <02e601c5324a$171cf6b0$08e97d80@VAIO> References: <02e601c5324a$171cf6b0$08e97d80@VAIO> Message-ID: <42474AEC.3040007@usc.edu> S. Houtris wrote: > Hi, > > 1) ... > > 2) When a client is requesting segment updates, does it have to send > CLNT_INFO_REQ to all and then receive, or he can do it one by one. I > mean getting in a loop and sending and receiving. I would like to ask > the same about segment requests although I guess there we are supposed > to do it with the first way. > We had a discussion and we strongly suggest you send all requests and then wait for replies (the former approach). This is also suggested by the pseudo code in the assignment. The latter approach will have serious performance issues when there are packet losses. If the program need to wait for a reply before sending the next request, all delays caused by packet drops are added together, so it could fail some test cases. -Xi From srubin at flash.net Sun Mar 27 21:47:21 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 27 21:49:44 2005 Subject: [Csci551-talk] loose ends Message-ID: <20050328054722.88053.qmail@web81306.mail.yahoo.com> Is it correct to assume that you will have the timers sub-directory in the directory where our files will be placed or should we submit the timers directory as well? Do you care for our own test cases or should we just submit the source files and the README file only? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050327/b3a2f881/attachment.html From asyed at usc.edu Sun Mar 27 22:09:22 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 27 22:10:49 2005 Subject: [Csci551-talk] loose ends In-Reply-To: <20050328054722.88053.qmail@web81306.mail.yahoo.com> Message-ID: <000801c5335c$b44bc700$0300a8c0@A2D> Good points, and a good time to make some submission rules clear. 1. Submit your timers class with your own code. Do not assume anything on our side. 2. Submit all the source files. Donot tarball or zip them. 3. Donot submit your own test cases. Just the source files, makefile and README. 4. name the executable of your project as cs551proja. 5. Grader will only do the following: > make > ./cs551proja If make doesnt compile the executable, you will get ZERO. If the executable will run, the grading will be done on log files generated. Print statements on the screen will not be used for grading. You will be informed of any changes to the grading, but please make sure that you follow rule 2 and 3. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 27, 2005 9:47 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] loose ends Is it correct to assume that you will have the timers sub-directory in the directory where our files will be placed or should we submit the timers directory as well? Do you care for our own test cases or should we just submit the source files and the README file only? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050327/33b1bd0c/attachment.html From srubin at flash.net Sun Mar 27 22:26:49 2005 From: srubin at flash.net (S. Rubin) Date: Sun Mar 27 22:27:27 2005 Subject: [Csci551-talk] loose ends In-Reply-To: 6667 Message-ID: <20050328062649.60927.qmail@web81309.mail.yahoo.com> Timers directory comes with 11 files in it. Since I will be submitting individual files, who will place all the files that belong to the timers directory in their proper location? I currently compile timers files from my makefile that looks for them in the timers sub-directory. Should I change that and look for all the files in the current directory? I did not modify any "timers" files, and I am using the ones that interface with C language. Sophia "Affan, Syed" wrote: Good points, and a good time to make some submission rules clear. 1. Submit your timers class with your own code. Do not assume anything on our side. 2. Submit all the source files. Donot tarball or zip them. 3. Donot submit your own test cases. Just the source files, makefile and README. 4. name the executable of your project as cs551proja. 5. Grader will only do the following: > make > ./cs551proja If make doesnt compile the executable, you will get ZERO. If the executable will run, the grading will be done on log files generated. Print statements on the screen will not be used for grading. You will be informed of any changes to the grading, but please make sure that you follow rule 2 and 3. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 27, 2005 9:47 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] loose ends Is it correct to assume that you will have the timers sub-directory in the directory where our files will be placed or should we submit the timers directory as well? Do you care for our own test cases or should we just submit the source files and the README file only? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050327/73f2985c/attachment.html From kaewka at gmail.com Sun Mar 27 22:39:00 2005 From: kaewka at gmail.com (m) Date: Sun Mar 27 22:41:26 2005 Subject: [Csci551-talk] sample log file doubt Message-ID: 1111874886 FROM 0 CLNT_SEG_REQ foo 8 1111874886 FROM 0 CLNT_SEG_REQ foo 20 1111874886 FROM 0 CLNT_SEG_REQ foo 4 1111874886 FROM 0 CLNT_SEG_REQ foo 9 1111874886 FROM 0 CLNT_SEG_REQ foo 7 1111874886 FROM 0 CLNT_SEG_REQ foo 16 1111874886 FROM 0 CLNT_SEG_REQ foo 6 1111874886 FROM 0 CLNT_SEG_REQ foo 5 1111874886 TO 0 CLNT_SEG_REP foo 8 1111874886 TO 0 CLNT_SEG_REP foo 20 1111874886 TO 0 CLNT_SEG_REP foo 4 1111874886 TO 0 CLNT_SEG_REP foo 9 1111874886 TO 0 CLNT_SEG_REP foo 7 1111874886 TO 0 CLNT_SEG_REP foo 16 1111874886 TO 0 CLNT_SEG_REP foo 6 1111874886 TO 0 CLNT_SEG_REP foo 5 >From sample log file 1.out, node 0 requests 8 segments from node 1. Node 1 sends all the requests at once which is correct. However, node 1 batched all the request and replies at once !? Is this correct? I think the log file of node 1 should be as shown below. Any comment? 1111874886 FROM 0 CLNT_SEG_REQ foo 8 1111874886 TO 0 CLNT_SEG_REP foo 8 1111874886 FROM 0 CLNT_SEG_REQ foo 20 1111874886 TO 0 CLNT_SEG_REP foo 20 1111874886 FROM 0 CLNT_SEG_REQ foo 4 1111874886 TO 0 CLNT_SEG_REP foo 4 From asyed at usc.edu Sun Mar 27 23:09:12 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 27 23:10:28 2005 Subject: [Csci551-talk] sample log file doubt In-Reply-To: Message-ID: <000401c53365$126e9e40$0300a8c0@A2D> The reason being that all the replies are delayed by the delay amount specified. Had that not been the case, the output would have been as you suggested. The delay effect causes the batching of all replies. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of m Sent: Sunday, March 27, 2005 10:39 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] sample log file doubt 1111874886 FROM 0 CLNT_SEG_REQ foo 8 1111874886 FROM 0 CLNT_SEG_REQ foo 20 1111874886 FROM 0 CLNT_SEG_REQ foo 4 1111874886 FROM 0 CLNT_SEG_REQ foo 9 1111874886 FROM 0 CLNT_SEG_REQ foo 7 1111874886 FROM 0 CLNT_SEG_REQ foo 16 1111874886 FROM 0 CLNT_SEG_REQ foo 6 1111874886 FROM 0 CLNT_SEG_REQ foo 5 1111874886 TO 0 CLNT_SEG_REP foo 8 1111874886 TO 0 CLNT_SEG_REP foo 20 1111874886 TO 0 CLNT_SEG_REP foo 4 1111874886 TO 0 CLNT_SEG_REP foo 9 1111874886 TO 0 CLNT_SEG_REP foo 7 1111874886 TO 0 CLNT_SEG_REP foo 16 1111874886 TO 0 CLNT_SEG_REP foo 6 1111874886 TO 0 CLNT_SEG_REP foo 5 >From sample log file 1.out, node 0 requests 8 segments from node 1. Node 1 sends all the requests at once which is correct. However, node 1 batched all the request and replies at once !? Is this correct? I think the log file of node 1 should be as shown below. Any comment? 1111874886 FROM 0 CLNT_SEG_REQ foo 8 1111874886 TO 0 CLNT_SEG_REP foo 8 1111874886 FROM 0 CLNT_SEG_REQ foo 20 1111874886 TO 0 CLNT_SEG_REP foo 20 1111874886 FROM 0 CLNT_SEG_REQ foo 4 1111874886 TO 0 CLNT_SEG_REP foo 4 From asyed at usc.edu Sun Mar 27 23:12:36 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 27 23:13:27 2005 Subject: [Csci551-talk] loose ends In-Reply-To: <20050328062649.60927.qmail@web81309.mail.yahoo.com> Message-ID: <000001c53365$872fd6e0$0300a8c0@A2D> I dont think that you need all 11 files to implement the the C language interface provided. Some of them are for the sample application; weed them out. Place the rest in the same directory as your source file and modify (should be a few lines max) your makefile. Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Sunday, March 27, 2005 10:27 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] loose ends Timers directory comes with 11 files in it. Since I will be submitting individual files, who will place all the files that belong to the timers directory in their proper location? I currently compile timers files from my makefile that looks for them in the timers sub-directory. Should I change that and look for all the files in the current directory? I did not modify any "timers" files, and I am using the ones that interface with C language. Sophia "Affan, Syed" wrote: Good points, and a good time to make some submission rules clear. 1. Submit your timers class with your own code. Do not assume anything on our side. 2. Submit all the source files. Donot tarball or zip them. 3. Donot submit your own test cases. Just the source files, makefile and README. 4. name the executable of your project as cs551proja. 5. Grader will only do the following: > make > ./cs551proja If make doesnt compile the executable, you will get ZERO. If the executable will run, the grading will be done on log files generated. Print statements on the screen will not be used for grading. You will be informed of any changes to the grading, but please make sure that you follow rule 2 and 3. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 27, 2005 9:47 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] loose ends Is it correct to assume that you will have the timers sub-directory in the directory where our files will be placed or should we submit the timers directory as well? Do you care for our own test cases or should we just submit the source files and the README file only? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050327/298c9408/attachment-0001.html From asyed at usc.edu Sun Mar 27 23:12:01 2005 From: asyed at usc.edu (Affan, Syed) Date: Sun Mar 27 23:13:35 2005 Subject: [Csci551-talk] loose ends In-Reply-To: <20050328062649.60927.qmail@web81309.mail.yahoo.com> Message-ID: <000001c53365$74d05150$0300a8c0@A2D> I dont think that you need all 11 files to implement the the C language interface provided. Some of them are for the sample application; weed them out. Place the rest in the same directory as your source file and modify (should be a few lines max) your makefile. Best Regards, Affan, Syed. -----Original Message----- From: S. Rubin [mailto:srubin@flash.net] Sent: Sunday, March 27, 2005 10:27 PM To: Affan, Syed; csci551-talk@mailman.isi.edu Cc: cs551@catarina.usc.edu Subject: RE: [Csci551-talk] loose ends Timers directory comes with 11 files in it. Since I will be submitting individual files, who will place all the files that belong to the timers directory in their proper location? I currently compile timers files from my makefile that looks for them in the timers sub-directory. Should I change that and look for all the files in the current directory? I did not modify any "timers" files, and I am using the ones that interface with C language. Sophia "Affan, Syed" wrote: Good points, and a good time to make some submission rules clear. 1. Submit your timers class with your own code. Do not assume anything on our side. 2. Submit all the source files. Donot tarball or zip them. 3. Donot submit your own test cases. Just the source files, makefile and README. 4. name the executable of your project as cs551proja. 5. Grader will only do the following: > make > ./cs551proja If make doesnt compile the executable, you will get ZERO. If the executable will run, the grading will be done on log files generated. Print statements on the screen will not be used for grading. You will be informed of any changes to the grading, but please make sure that you follow rule 2 and 3. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Sunday, March 27, 2005 9:47 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] loose ends Is it correct to assume that you will have the timers sub-directory in the directory where our files will be placed or should we submit the timers directory as well? Do you care for our own test cases or should we just submit the source files and the README file only? Sophia -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050327/f8d223d7/attachment.html From xiw at usc.edu Sun Mar 27 23:16:27 2005 From: xiw at usc.edu (Xi Wang) Date: Sun Mar 27 23:19:28 2005 Subject: [Csci551-talk] tips for submission In-Reply-To: <000801c5335c$b44bc700$0300a8c0@A2D> References: <000801c5335c$b44bc700$0300a8c0@A2D> Message-ID: <4247AF4B.2080606@usc.edu> Yes, please double check and make sure your program can *compile* on *nunki*. Before you submit, I suggest you create an empty directory, copy all source and make files you plan to submit and try make. This will make sure you submit everything necessary. When we compile your program, we will put all source files in a single directory. So do not put timer files in a subdirectory. You need to submit timer source files even if you didn't change anything. (Because your submission should be a whole "package" for us to compile.) Best, Xi Affan, Syed wrote: > Good points, and a good time to make some submission rules clear. > > 1. Submit your timers class with your own code. Do not assume anything > on our side. > 2. Submit all the source files. Donot tarball or zip them. > 3. Donot submit your own test cases. Just the source files, makefile and > README. > 4. name the executable of your project as cs551proja. > 5. Grader will only do the following: > > make > > ./cs551proja > > If make doesnt compile the executable, you will get ZERO. > If the executable will run, the grading will be done on log files > generated. Print statements on the screen will not be used for grading. > > You will be informed of any changes to the grading, but please make sure > that you follow rule 2 and 3. > > > > Best Regards, > > Affan, Syed. > > > > -----Original Message----- > *From:* csci551-talk-bounces@mailman.isi.edu > [mailto:csci551-talk-bounces@mailman.isi.edu] *On Behalf Of *S. Rubin > *Sent:* Sunday, March 27, 2005 9:47 PM > *To:* csci551-talk@mailman.isi.edu > *Subject:* [Csci551-talk] loose ends > > Is it correct to assume that you will have the timers sub-directory > in the directory > where our files will be placed or should we submit the timers > directory as well? > Do you care for our own test cases or should we just submit the > source files and > the README file only? > > Sophia > From srubin at flash.net Mon Mar 28 00:17:30 2005 From: srubin at flash.net (S. Rubin) Date: Mon Mar 28 00:18:26 2005 Subject: [Csci551-talk] sample log file doubt Message-ID: <20050328081730.82366.qmail@web81304.mail.yahoo.com> My output files for leeches look like the TA's example, i.e. bunched up, however the seed's log file looks like the one described by the student. I think it has to do with where the print statements were placed for the seed. Sophia The reason being that all the replies are delayed by the delay amountspecified. Had that not been the case, the output would have been as yousuggested. The delay effect causes the batching of all replies. Best Regards,Affan, Syed. -----Original Message-----From: csci551-talk-bounces at mailman.isi.edu[mailto:csci551-talk-bounces at mailman.isi.edu] On Behalf Of mSent: Sunday, March 27, 2005 10:39 PMTo: csci551-talk at mailman.isi.eduSubject: [Csci551-talk] sample log file doubt1111874886 FROM 0 CLNT_SEG_REQ foo 81111874886 FROM 0 CLNT_SEG_REQ foo 201111874886 FROM 0 CLNT_SEG_REQ foo 41111874886 FROM 0 CLNT_SEG_REQ foo 91111874886 FROM 0 CLNT_SEG_REQ foo 71111874886 FROM 0 CLNT_SEG_REQ foo 161111874886 FROM 0 CLNT_SEG_REQ foo 61111874886 FROM 0 CLNT_SEG_REQ foo 51111874886 TO 0 CLNT_SEG_REP foo 81111874886 TO 0 CLNT_SEG_REP foo 201111874886 TO 0 CLNT_SEG_REP foo 41111874886 TO 0 CLNT_SEG_REP foo 91111874886 TO 0 CLNT_SEG_REP foo 71111874886 TO 0 CLNT_SEG_REP foo 161111874886 TO 0 CLNT_SEG_REP foo 61111874886 TO 0 CLNT_SEG_REP foo 5>From sample log file 1.out, node 0 requests 8 segments from node 1.Node 1 sends all the requests at once which is correct. However, node 1batched all the request and replies at once !? Is this correct? I think the log file of node 1 should be as shown below.Any comment?1111874886 FROM 0 CLNT_SEG_REQ foo 81111874886 TO 0 CLNT_SEG_REP foo 81111874886 FROM 0 CLNT_SEG_REQ foo 201111874886 TO 0 CLNT_SEG_REP foo 201111874886 FROM 0 CLNT_SEG_REQ foo 41111874886 TO 0 CLNT_SEG_REP foo 4 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050328/115b6959/attachment.html From johnh at ISI.EDU Mon Mar 28 07:51:44 2005 From: johnh at ISI.EDU (John Heidemann) Date: Mon Mar 28 07:54:31 2005 Subject: [Cs551] RE: [Csci551-talk] loose ends In-Reply-To: <000801c5335c$b44bc700$0300a8c0@A2D> Message-ID: <200503281551.j2SFpjHj004715@dash.isi.edu> On Sun, 27 Mar 2005 22:09:22 PST, "Affan, Syed" wrote: >Good points, and a good time to make some submission rules clear. > >1. Submit your timers class with your own code. Do not assume anything on our side. >2. Submit all the source files. Donot tarball or zip them. >3. Donot submit your own test cases. Just the source files, makefile and README. >4. name the executable of your project as cs551proja. >5. Grader will only do the following: > > make > > ./cs551proja > >If make doesnt compile the executable, you will get ZERO. >If the executable will run, the grading will be done on log files generated. Print >statements on the screen will not be used for grading. > >You will be informed of any changes to the grading, but please make sure that you >follow rule 2 and 3. >http://catarina.usc.edu/mailman/listinfo/cs551 By the way, 1, 2 and 5 were already specified in the project description! -John Heidemann From johnh at ISI.EDU Mon Mar 28 08:40:47 2005 From: johnh at ISI.EDU (John Heidemann) Date: Mon Mar 28 08:42:27 2005 Subject: [Csci551-talk] csci551 friday section hw2 Message-ID: <200503281640.j2SGen9p006650@dash.isi.edu> I posted HW2 to the class web site and annoucned it in the last class. -John From ashenoy at usc.edu Mon Mar 28 13:03:37 2005 From: ashenoy at usc.edu (Anjaneya Shenoy) Date: Mon Mar 28 13:04:39 2005 Subject: [Csci551-talk] scope of variable in fork Message-ID: <0IE200FJ1YIFC840@msg-mx1.usc.edu> Hello there, I have a problem This is my code Tracker { int segmentcount: . . . Fork() { I change segmentcount here } While(1) { . . //After a long time, when I know that my segmentcount is updated I try to access it here, but it still shows zero //and I need the updated segmentcount which I changed in fork . } } Why does this happen.. how I can go about this problem, please advice. Coz is prevents my updated message 3. Anjan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050328/ce6dd9c5/attachment.html From asyed at usc.edu Mon Mar 28 13:23:52 2005 From: asyed at usc.edu (Affan, Syed) Date: Mon Mar 28 13:25:33 2005 Subject: [Csci551-talk] TA Office hours changed. Message-ID: <000101c533dc$74bfb670$1d357d80@A2D> Hello all, I am shifting my office hours for Tuesday to Wednesday 2:00 to 3:00 pm. I hope this will not cause any inconvenience. Best Regards, Affan, Syed. From asyed at usc.edu Mon Mar 28 14:01:31 2005 From: asyed at usc.edu (Affan, Syed) Date: Mon Mar 28 14:03:29 2005 Subject: [Csci551-talk] TA Office hours changed. In-Reply-To: <000101c533dc$74bfb670$1d357d80@A2D> Message-ID: <000501c533e1$b77a7040$b4347d80@A2D> Also midterms will be handed out then (wed) and during the Professors next office hours. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of Affan, Syed Sent: Monday, March 28, 2005 1:24 PM To: csci551-talk@ISI.EDU Subject: [Csci551-talk] TA Office hours changed. Hello all, I am shifting my office hours for Tuesday to Wednesday 2:00 to 3:00 pm. I hope this will not cause any inconvenience. Best Regards, Affan, Syed. From asyed at usc.edu Mon Mar 28 14:10:10 2005 From: asyed at usc.edu (Affan, Syed) Date: Mon Mar 28 14:12:28 2005 Subject: [Csci551-talk] 1 day extension Message-ID: <000701c533e2$ecbc0e20$b4347d80@A2D> Since a lot of students are asking this, let me clarify that you can ask for your 1 day extenstion right uptil the deadline (or max one day after :).. After that.. It really isnt any use) Best Regards, Affan, Syed. From mikestephens at gmail.com Mon Mar 28 14:26:03 2005 From: mikestephens at gmail.com (Michael Stephens) Date: Mon Mar 28 14:27:47 2005 Subject: [Csci551-talk] select error Message-ID: <55aa0735050328142660de5ac2@mail.gmail.com> Hi, I am getting an intermittent error on my call to "select". Sometimes it returns (-1) and gives me an errno that translates to "Bad file number". Does anyone know what this means? When I print out the file descriptor number for the UDP socket in my clients, it always seems to be "5" in all of them, however since I stated printing the file descriptor number, I haven't seen the error again. Michael From asyed at usc.edu Mon Mar 28 17:36:14 2005 From: asyed at usc.edu (Affan, Syed) Date: Mon Mar 28 17:38:29 2005 Subject: [Csci551-talk] Clarification Message-ID: <000001c533ff$b3a32de0$8b377d80@A2D> There has been some confusion about the submission requirments regarding the executable name: In the specs it says proja, And I said cs551proja. The newer (cs551proja) sone was to make running the processes on nunki less suspicious to ISD. It would be preferable to use this one, otherwise the orignal spec shall also be accepted. Thanks. Best Regards, Affan, Syed. From kaewka at gmail.com Mon Mar 28 21:46:05 2005 From: kaewka at gmail.com (m) Date: Mon Mar 28 21:46:29 2005 Subject: [Csci551-talk] Packet delaying Message-ID: In assignment sheets. it was stated (in 4.4 delay topic) that each node needs to wait for a time interval before replying to a message. The delay is specified in manager,conf. Also in topic 4.5 packet loss, the new requirement that was added on2/28 says that while sending a reply add a delay of 10 msec. How much time should I use for delaying the reply messages? Any comments? From kaewka at gmail.com Mon Mar 28 22:56:49 2005 From: kaewka at gmail.com (m) Date: Mon Mar 28 22:57:29 2005 Subject: [Csci551-talk] Packet loss between client and tracker Message-ID: Does the packet drop probability apply to the communication between client and tracker? From srubin at flash.net Mon Mar 28 23:37:39 2005 From: srubin at flash.net (S. Rubin) Date: Mon Mar 28 23:38:30 2005 Subject: [Csci551-talk] Packet loss between client and tracker Message-ID: <20050329073739.48490.qmail@web81307.mail.yahoo.com> I aksed the same question some time ago, and Affan explained that the 10 msec in 4.5 section was just an example for the case specified in that section for client 5. So, just use the one as specified in 4.4 Sophia In assignment sheets. it was stated (in 4.4 delay topic) that eachnode needs to wait for a time interval before replying to a message. The delay is specified in manager,conf.Also in topic 4.5 packet loss, the new requirement that was addedon2/28 says that while sending a reply add a delay of 10 msec.How much time should I use for delaying the reply messages? Any comments? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050328/eb6f9529/attachment.html From srubin at flash.net Mon Mar 28 23:48:00 2005 From: srubin at flash.net (S. Rubin) Date: Mon Mar 28 23:48:29 2005 Subject: [Csci551-talk] (no subject) Message-ID: <20050329074800.50228.qmail@web81307.mail.yahoo.com> >From my understanding, the probability applies to all client-->tracker communication and client<-->client communication. Tracker does not drop anything, and manager<-->client communication is loss-less as well. Sophia >Does the packet drop probability apply to the communication between>client and tracker? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050328/0cf26684/attachment.html From asyed at usc.edu Tue Mar 29 09:54:47 2005 From: asyed at usc.edu (Affan, Syed) Date: Tue Mar 29 09:56:49 2005 Subject: [Csci551-talk] 1 day extension Message-ID: <001101c53488$69c06420$c01f75ce@A2D> Since I have gotten atleast 20+ requests for extensions in the last night, I am enmasse acknowledging that all othse are granted and for each of you the submit date is noon, March 30th. Best Regards, Affan, Syed. From asyed at usc.edu Tue Mar 29 10:15:27 2005 From: asyed at usc.edu (Affan, Syed) Date: Tue Mar 29 10:17:36 2005 Subject: [Csci551-talk] Extension only for those that requested Message-ID: <002001c5348b$4d47d960$c01f75ce@A2D> It seems people might be gettign wrong info from my last email. The extension is ONLY for those who requested it, and their 1 slip day was valid and will not be valid after. Best Regards, Affan, Syed. From asyed at usc.edu Tue Mar 29 10:16:13 2005 From: asyed at usc.edu (Affan, Syed) Date: Tue Mar 29 10:17:44 2005 Subject: [Csci551-talk] (no subject) In-Reply-To: <20050329074800.50228.qmail@web81307.mail.yahoo.com> Message-ID: <002101c5348b$685cae10$c01f75ce@A2D> Thank you Sophia, You are absolutely correct in your understanding. Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Monday, March 28, 2005 11:48 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] (no subject) >From my understanding, the probability applies to all client-->tracker communication and client<-->client communication. Tracker does not drop anything, and manager<-->client communication is loss-less as well. Sophia >Does the packet drop probability apply to the communication between >client and tracker? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050329/ecba1c29/attachment.html From asyed at usc.edu Tue Mar 29 10:16:54 2005 From: asyed at usc.edu (Affan, Syed) Date: Tue Mar 29 10:17:56 2005 Subject: [Csci551-talk] Packet loss between client and tracker In-Reply-To: <20050329073739.48490.qmail@web81307.mail.yahoo.com> Message-ID: <002601c5348b$80ee5a50$c01f75ce@A2D> Thanks, I can actually make you my co-TA for the next day :). Best Regards, Affan, Syed. -----Original Message----- From: csci551-talk-bounces@mailman.isi.edu [mailto:csci551-talk-bounces@mailman.isi.edu] On Behalf Of S. Rubin Sent: Monday, March 28, 2005 11:38 PM To: csci551-talk@mailman.isi.edu Subject: [Csci551-talk] Packet loss between client and tracker I aksed the same question some time ago, and Affan explained that the 10 msec in 4.5 section was just an example for the case specified in that section for client 5. So, just use the one as specified in 4.4 Sophia In assignment sheets. it was stated (in 4.4 delay topic) that each node needs to wait for a time interval before replying to a message. The delay is specified in manager,conf. Also in topic 4.5 packet loss, the new requirement that was added on2/28 says that while sending a reply add a delay of 10 msec. How much time should I use for delaying the reply messages? Any comments? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.isi.edu/pipermail/csci551-talk/attachments/20050329/567a4eea/attachment.html From asyed at usc.edu Wed Mar 30 09:12:10 2005 From: asyed at usc.edu (Affan, Syed) Date: Wed Mar 30 09:14:38 2005 Subject: [Csci551-talk] Midterems handed out today Message-ID: <000201c5354b$a0b89d80$0300a8c0@A2D> I will be handing out midterms to all students who will personally come to pick them up (2-3pm). And there will be no issuance of midterms for your friends. Best Regards, Affan, Syed. From johnh at ISI.EDU Thu Mar 31 17:16:30 2005 From: johnh at ISI.EDU (John Heidemann) Date: Thu Mar 31 17:17:56 2005 Subject: [Csci551-talk] moving [Chu02b] to supplementary list Message-ID: <200504010116.j311GUK8026471@dash.isi.edu> To catch up with where we are in the syllabus I'd like to move [Chu02b] from the primary paper list to supplemental. -John Heidemann