Archive for the 'Networking' Category

Network Simulation with Virtual Machines

29Apr08

I’m currently evaluating some alternatives for network simulations with virtual machines in Linux.
So far, the best solution available would be Xen, but other good solutions would be OpenVZ and Linux VRF. Linux VRT provides separate networks profiles for processes, so that one process can have some interfaces, firewall rules and routing table, while other [...]

The Problem with select()

04Aug07

select() is a relatively expensive operation. Well, it is never described as such in operating system courses, but it is in fact, specially when you design programs that handle a lot of file descriptors. Let’s see why.
Most servers work in the following way. When a new client connects and a session starts, the server establishes [...]

Tendencies in P2P

10May07

I was reading an article about P2P the other day when I realized that users preferences in this field have changed in the last couple of years. This is the graph that you can get from Google Trends about the most important P2P clients available:

kazza - bittorrent - emule - ares

The first noticeable thing is [...]

Implementing negotiations (3)

12Sep06

A most radical alternative would be to forget the whole idea of listeners and to serialize everything. With this approach, the gap between the dispatcher and the session negotiator would be very narrow, and the system design would be made around the idea of a composed state machine where negotiators are decomposed in several layers.
Figure [...]

Implementing negotiations (2)

11Sep06

While the state and observer patterns combination is a quite effective solution, the problem is now in the way listeners’s actions are perfomed.
- On one hand, listener’s action can be started asynchronously (usually as a new threads). This is a very convenient approach when there is low interaction between listeners, but it can increase the [...]




Search

Calendar

August 2008
M T W T F S S
« Apr    
 123
45678910
11121314151617
18192021222324
25262728293031