Content-Centric Networking
Feb 20th
I am a subscriber to the PARC news and there is a video on Content-Centric Networking perspective which is really interesting. Many things could be done in VANET or pervasive network.
Here is the link:
[NS2][WSN] Mannasim installation
Feb 10th
I’ve just found a great article posted on a blog. It details how to resolve the Mannasim installation problem.
I copy/paste the message.
A happy hello to all students and engineers out there battling with Network Simulator 2 to get mannasim up and working under Ubuntu 9.04!
It’s not me who had this idea first and so it’s not me who has found the solution all by myself either… Cudos go out to Ravit Sachasiri who posted a manual on the ns-2 Mailing List. I just made a patch out of his solution in order to keep you from manually changing a total of 6 files.
Background: Since gcc-4.3, the way standard C++ libraries are included is strictly following the latest standard. That’s why people get errors because of headers not being included correctly. One example of an error can be seen below:
[...]
mannasim/accessPointApp.cc: In member function ‘virtual void AccessPointApp::forward_data(int, AppData*)’:
mannasim/accessPointApp.cc:97: error: ‘AppDataList’ was not declared in this scope
mannasim/accessPointApp.cc:97: error: expected `;’ before ‘list’
mannasim/dataGenerator.h: At global scope:
mannasim/dataGenerator.h:65: warning: inline function ‘virtual void EventTimer::expire(Event*)’ used but never defined
mannasim/dataGenerator.h:52: warning: inline function ‘virtual void SensingTimer::expire(Event*)’ used but never defined
mannasim/sensorBaseApp.h:83: warning: inline function ‘virtual void DisseminatingTimer::expire(Event*)’ used but never defined
make: *** [mannasim/accessPointApp.o] Error 1
Ns make failed!
You can use the following patch to avoid this…
Link to the patch: http://www.box.net/shared/2zmoru8gyu
howto apply the patch:
patch -p0 < ns-mannasim-patch-ns2.29+gcc-4.3.patch
Find out more about this here: http://gcc.gnu.org/gcc-4.3/porting_to.html
[NS2] Monitor packet delay
Jan 6th
I’ve found on a website the following procedure for monitoring packet delay. I’ve tested this solution with NS2.34.
For monitoring packet delay in LossMonitor module, following changes have to be made:
1. common/packet.h –> add new variable definitions into struct hdr_cmn
double sendtime_;
double recvtime_;
2. tools/loss-monitor.h –> add new variable definitions into class LossMonitor
double sendtime_;
double recvtime_;
char tbuf[100];
FILE *tFile;
3. tools/loss-monitor.cc –>
bind("sendtime_", &sendtime_);
bind("recvtime_", &recvtime_); sendtime_ = hdr_cmn::access(pkt)->sendtime_;
recvtime_ = Scheduler::instance().clock();
fprintf(tFile,"%-16f %-16f \n", Scheduler::instance().clock(), sendtime_); // delayif (strcmp(argv[1], "set_trace_filename") == 0) {
strcpy(tbuf, argv[2]);
tFile = fopen(tbuf, "w");
return (TCL_OK);
}
if (strcmp(argv[1], "closefile") == 0) {
fclose(tFile);
return (TCL_OK);
}
4. tcl/lib/ns-default.tcl –> initialize variables
Agent/LossMonitor set sendtime_ 0
Agent/LossMonitor set recvtime_ 0
5. Unix commands in ns2.34/ directory
make clean
make
Great motto
Dec 29th
I’ve found a great motto in a website. It may help you in setting your goals.
Aim for the moon, that way, even if you miss you’ll still be amongst the stars! – W. Clement Stone
Collected advice on research and writing
Nov 12th
I’ve found three websites which give some advices on research and writing.
Advice on Research and Writing
Research skills
Tens lessons
I hope it helps
[NS2] Interesting links
Sep 19th
I found some websites talking about NS2.
General topics: http://www.philreindl.com/drupal6/?q=node/2
Exercices: http://www.crhc.illinois.edu/wireless/assignments/simulations/
How to write a log event:http://nuraini.net/2007/09/14/how-to-write-log-event-on-ns2/
One more thing on broadcasting:http://www.geocities.com/b_j_hogan/#send_broadcast_packet
[NS2] Broadcasting a packet
Sep 19th
From http://mailman.isi.edu/pipermail/ns-users/2000-June/009635.html
This took me much longer than expected, but here is a solution that I’m happy with.
The problem is for an agent to broadcast a packet to all its peer agents on neighboring nodes. A few people sent suggestions from the mailing list, but none of them worked out. Many others contacted me and said they needed a solution also, so I thought I’d pass my solution on and recommend that something similar be incorporated into NS.
Before outlining the solution I used, I should point out that I developed this specifically for Mobile Ad Hoc networking, and have only tested it there. I’m pretty sure it will work with non-mobile nodes as well though. Please reference Figure 15.1 on page 118 of NS Notes and Documentation also.
The problem was that if I sent a packet to the IP_BROADCAST address with a known destination port, none of the neighboring agents would get it. The packet would be forwarded to the routing agent on the neighboring nodes, and then dropped because the routing agents are “down stream” from the port demux. I finally figured out that when the address demux gets a packet and it doesn’t recognize the address as it’s own, it just gives it to the default target, which is the routing agent on a mobile node. The IP_BROADCAST address is currently -1, and this cannot be the IP address of any node in the network as they are all positive, so the address demux will never pass the packet to the port demux to be handed off to the correct agent.
My solution approach modifies the link layer, so that if a packet is addressed to the broadcast address and is going “up” the stack, I change the address to the current node and pass it to the address demux. This has the result of forwarding it to the port demux, and it arrives at the correct agent.
One caution is in order: It may be necessary to duplicate the packet and still let the one addressed to the IP_BROADCAST address continue through so it can be re-broadcast by the routing agent, and then re-address the copy.
As a result, this simple change to the file ll.cc will allow the address demux to pass on the packet:
More >
Guide for PhD student
Sep 18th
I found a really good document for PhD student.
Some advice extracted from the document (follow the link bottom):
●Choose a supervisor whose work you admire and who is well supported by grants and departmental infrastructure.
●Take responsibility for your project.
●Work hard — long days all week and part of most weekends. If research is your passion this should be easy, and if it isn’t, you are probably in the wrong field. Note who goes home with a full briefcase to work on at the end of the day. This is a cause of success, not a consequence.
●Take some weekends off, and decent holidays, so you don’t burn out.
●Read the literature in your immediate area, both current and past, and around it. You can’t possibly make an original contribution to the literature unless you know what is already there.
●Plan your days and weeks carefully to dovetail experiments so that you have a minimum amount of downtime.
●Keep a good lab book and write it up every day (for biologist I guess)
●Be creative. Think about what you are doing and why, and look for better ways to go. Don’t see your PhD as just a road map laid out by your supervisor.
●Develop good writing skills: they will make your scientific career immeasurably easier.
●To be successful you must be at least four of the following: smart, motivated, creative, hard-working, skilful and lucky.
You can’t depend on luck, so you had better focus on the others!
Georgia Chenevix-Trench is principal research fellow at the Queensland
Institute of Medical Research, Royal Brisbane Hospital, Herston, Australia.
➧ www.qimr.edu.au/research/labs/georgiat/Guideforphds.doc
Welcome !
Aug 25th
Welcome on my personal page.
I’m Jonathan Petit, a Ph.D. student at IRIT lab (ASTRE team). I’m living Ramonville Saint Agne (FRANCE).
I work on the security of vehicular ad hoc networks and more specially on the performance analysis. I try to elaborate a global security model.
In this website, I’ll put many informations about me, my project, my job…
Enjoy !