dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DotGNU]More detail on Virtual Data Server


From: Bill Lance
Subject: [DotGNU]More detail on Virtual Data Server
Date: Wed, 9 Jan 2002 08:38:50 -0800 (PST)

Following is a more detailed workup on the Local Data
Servere component of the proposed Virtual Data Server.
 This helps to see how .dotGNU projects and other GPL
components might fit together.  The role of the PNet
VM is obvious and central to it.  The VM provides the
cross platform, cross language capabilities to the
webservice performance.  I can find no detail about
SEE, but a tight, secure sandbox around the whole
thing would be very important.  The Net protocol
server would likely be parts and pieces of apachie.  

This scheme is based on the idea of discreate
webservices components being packaged as remotely
executable objects, containing both content data and
methods bytecode.  This is very natural to the PNet
project.  How it might work with dynamic, script based
services like the phpGropeware project is still a
question.

The Repository may be new territory.  I've looked a
FreeNet, but there are problems.

Any comments on this thing?


*****************************************************



Server Architecture

The Local Data Server (LDS)is the software that
implements the Virtual DataServer.  It runs on all of
the member machines subscribed to a cluster.
There is additional software involved in the compilers
and tools used to create the DataSets, but they are
not part of the actual server.

The LDS has the following overall structure:

|------------------------------|
| Net protocal server          |
|------------------------------|
| Cluster     |  PNet          |
| Manager     |  VM            |
|------------------------------|
|  Data Repository Interface   |
|------------------------------|
|  Repository Data Block       |
|------------------------------|

The Net Protocol Server

The Net Protocol Server is the interface to the
internet.  It recieves webservice requests and
responds appropriately.   Some of this traffic is
related to cluster management such as determining
online status of members and updating the Repository
as required.  Other traffic is directed at Webservices
provided by cluster members.


The Cluster Manager

The Cluster Manager handles housekeeping chores
involving inter LDS communication and updating the
Respository image.  These task include:
  *  Maintaining the cluster member list and online
status in Repository.
  *  Maintaining Webservice registry of members and
provide forwarding services to online members
  *  Determines host of a Webservice request and
passes it to the Data Repository Interface


The Data Repository Interface

The Data Repository Interface provides access and
maintainence functions for the Cluster database.  That
database includes the subscription membership list,
the webservices registry, and copies of all of the
members public webservice datasets.   When talking
with the Cluster Manager or the VM, it looks like a
simple database.  The tables however, are not maped to
files on the local machine but to a set of logical
tables, that are then hashed, encrypted, and mapped to
the Repository Data Block Space of ALL the currently
online members.  This is similar to a RAID array,
spread accross the network.  

The logical tables are what are refered to as the
Repository Image.  This Image would be all of the
tables arrayed out in plaintext and runing bytecode. 
This Repository Image has two important
characteristics.    

One, it never actually exists as a whole on disk (with
one qualified exception discussed later).  It is
distributed over all online members Data Block space.

Two, all of the members see the same Repository Image.
The Interface performs these functions:

  * present simple table database maintaincence
funtions 
  * participate with other online nodes to determine
Repository hashing and distribution rules
  * Maintain local Repository Data Block portion of
the 
Repository Image
  * Synch local member machines owned DataSets with
the Repository Image (the exception mentioned above) 


The PNet VM 

The PNet VM is the execution portion of the
Portable.NET project.  It provides the execution
environment for the Webservice DataSets produced by
the Repository Interface in responce to a service
request from the Internet..  The DataSet is executed
and the results passed to the Net Protocol Server in
fulfillment of the orginating request





__________________________________________________
Do You Yahoo!?
Send your FREE holiday greetings online!
http://greetings.yahoo.com


reply via email to

[Prev in Thread] Current Thread [Next in Thread]