Hi Renzo ...
can you provide some implementation information? Has this been
implemented? What systems? Is it shipping in any distribution, or is it
just in an experimental state?
I notice that the name "msocket" is also used by MATLAB (see
https://www.ohloh.net/p/msocket) ... I assume there is no relationship?
--
Nick
On Wed, 2009-02-18 at 11:43 +0100, Renzo Davoli wrote:
> Dear Andrew Josey,
>
> The Berkeley socket API is the de facto standard for network programming and
> it is part of the Posix.1 definition.
>
> Unfortunately this API has been designed to use one single stack for each
> protocol family. This is the common case for many (all?)operating systems
>today
> but the ability to access and use several protocol stacks permits new
> applications and simplify solutions to common problems.
>
> Networking is also an exception for *nix systems for naming. In fact the file
> system has been used as a unified naming method for files, devices, fifos,
>unix
> sockets, ... and almost everything but networking.
>
> We propose an extension to the Berkeley API having the following features:
>
> * multiple stacks can be used at the same time
> * the file system gets used for naming the stacks
> * it is backward compatible with existing applications.
>
> The new extended API has been named msockets after the most important call of
> the API itself msocket, namely acronym for multi-socket.
>
> We have already implemented this extension in our umnet module of the View-OS
> project. We think that many application would benefit from this extension.
>In
> fact by msocket it is possible to use several stacks at the same time and to
> have different concurrent processes running on different stacks.
>
> For example it is possible to run several web browser on different stacks,
> maybe one on the local network and another on a VPN.
> It is also possible to test networking stacks on remote machines, the
> experimental stack will be different from the one used for the remote
> connection, therefore there is no risk to lose the connectivity in case
> of bug. It is possible to have different implementation of the protocols
> running at the same time, maybe a TCP implementation for the standard
> networking and another with wider sliding windows for satellite communication,
> or having SDP and IPoIB together running on an Infiniband.
> These are just some examples of application.
>
> More details can be found in the virtual square wiki site
> www.virtualsquare.org
> the msocket page is the following:
>
>http://wiki.virtualsquare.org/index.php/Multi_stack_support_for_Berkeley_Sockets
>
> I am trying to propose this as an optional feature for future POSIX.1
> definitions, which is the procedure to formalize this request?
>
> I am looking forward to hearing from you.
>
> renzo davoli
> Leader of the VirtualSquare research team. University of Bologna.
|