[openbeosnetteam] Fw: NetServer design (open-beos)

  • From: "Emmanuel Jacobs" <emmanuel.jacobs@xxxxxxxxxxxx>
  • To: <openbeosnetteam@xxxxxxxxxxxxx>
  • Date: Fri, 14 Sep 2001 20:05:01 +0200

This is a forward of a previous mail from Zenja Solaja for archiving
purposes.

   Emmanuel

----- Original Message -----
From: "Zenja Solaja" <solaja@xxxxxxxxxx>
To: <emmanuel.jacobs@xxxxxxxxxxxx>; "Jean Schwerer" <j-schwerer@xxxxxxx>;
"Peter Morensen" <apm@xxxxxxxxxxxxx>
Sent: Friday, September 07, 2001 1:16 AM
Subject: NetServer design (open-beos)


> Hi all.  Hopefully, we're actively reading, researching and preparing for
> the NetServer rewrite.  I'm still waiting for my "Design and
Implementation
> of FreeBSD4.4" book to arrive which should be the bible on designing a
> network process.  Anyway, we dont want to spend forever reading, so I
think
> we should start debating over an architecture.  Hopefully, by Oct 1st we'd
> have settled on an architecture and start coding.
>
> To get things rolling, I've prepared a simple black-box type use case
> diagram which should be a starting point of our design (see attached jpeg,
> if you wish I'll forward the Gobe Productive document used to create this
> jpeg).  From the diagram you can see the initial actors.  We'll start from
> here and start adding to the diagram.
>
> From the black-box simplistic point of view, what service does the
netserver
> do?
>
> - once initialised, it is usually blocked waiting for an event to awaken
it.
> - a user process can awaken the server with a CONNECTION_REQUEST message
> - a user process can send a TRANSMIT message to the server
> - a user process can inform the server that it wants to RECEIVE messages
> - a user process can send a DISCONNECT message to the server
> - the kernel/driver can awaken the server with a incoming data message
> (READ)
> - the netserver sends the kernel/driver a message (a stream) (WRITE)
>
>
> Internally, what does the netserver do?
>
> - it buffers data streams received from user processes
> - it shuffles the data stream and appends data (in accordance to TCP/IP
> specs)
> - it forwards the new data stream to a device driver
>
> - it buffers data streams received from the device driver
> - it determines who is the receipient of the data (user process, netserver
> process)
> - it strips and reshuffles the data (according to TCP/IP specs)
> - it forwards the stripped data to a user process or a netserver process.
>
>
> What are the initial requirements?
>
> - the netserver should be able to serve an arbitrary number of user
> processes
> - the netserver should be able to link to a set number of network cards
> - the netserver should have selectable shuffling algorithms (eg. IPv4,
IPv6,
> TCP, AppleTalk etc)
>
> Thats basically it. Lets see if I've missed anything and start modifying
the
> use-case diagrams.
>
>  <<NetServer.jpg>>
>
>
>
>
>
>
> ----------------------
> CONFIDENTIALITY NOTICE
> ----------------------
> This email is intended only to be read or used by the addressee.
> The information contained in this e-mail message may be confidential
> information. If you are not the intended recipient, any use, interference
> with, distribution, disclosure or copying of this material is unauthorised
> and prohibited. Confidentiality attached to this communication is not
waived
> or lost by reason of the mistaken delivery to you.
>
> If you have received this message in error, please delete it and notify us
> by return e-mail or telephone Aristocrat Technologies Australia Pty
Limited
> on +61 2 9413 6300.
>
>


-- Binary/unsupported file stripped by Listar --
-- Type: image/jpeg
-- File: NetServer.jpg



Other related posts:

  • » [openbeosnetteam] Fw: NetServer design (open-beos)