aboutsummaryrefslogtreecommitdiff
path: root/docs/features_nel_net.php
blob: b9e294f13ede1199b32db4244c3cbdf0223cdf6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
	<TITLE>Nevrax.org : docs</TITLE>
	<META  name="keywords" content="freesoftware,nel,newt,snowballs,richard stallman,GNU,Multi-User Online World">
	<LINK REL=stylesheet TYPE="text/css" HREF="/inc/css/nevrax.css">
</HEAD>
<BODY MARGINHEIGHT="0" MARGINWIDTH="0">

<!-- uplinks -->
<TABLE CELLSPACING=0 CELLPADDING=0  BORDER=0>
 <TR>
        <TD WIDTH=16><IMG  SRC="/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
        <TD WIDTH=140 BGCOLOR=#dddddd><IMG  SRC="/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD>
        <TD WIDTH=16><IMG  SRC="/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
        <TD><IMG width=6 height=14 SRC="/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF='/'><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
        <TD><IMG  width=6 height=14  SRC="/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF='/'><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
 </TR>
</TABLE> 

<!-- banner Nevrax -->
<TABLE CELLSPACING=0 CELLPADDING=0  BORDER=0 WIDTH=100%>
 <TR><TD  BGCOLOR="#000000" BACKGROUND="/inc/img/black_banner.jpg"><A HREF=""><IMG  SRC="/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax"></A></TD></TR>
</TABLE>

<!-- main table -->
<TABLE CELLSPACING=0 CELLPADDING=0  BORDER=0 height=100%>
 <TR>
	<TD WIDTH=16><IMG  SRC="/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD>
	<TD WIDTH=140   BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG  SRC="/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">

		<!------ Begin Box ------>
		<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0  cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black>
		<FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td  colspan=2 bgcolor=#FFFFFF>
		<TABLE cellspacing=0 cellpadding=1 border=0>
			<tr><td ALIGN=middle><a  class='linkbox' href="/news/" TITLE="Rubrique news"><img width=13 height=15  hspace=5 border=0 src=/inc/img/picto-news.gif ALT=#></A></td><td><a  class='linkbox' href="/news/" TITLE="News">News</a></td></tr>
			<tr><td ALIGN=middle><a  class='linkbox' href="/mail/" TITLE="Rubrique mail"><img width=15 height=11  hspace=5 border=0 src=/inc/img/picto-mail.gif ALT=#></A></td><td><a  class='linkbox' href="/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr>
			<tr><td ALIGN=middle><a  class='linkbox' href="/docs/" TITLE="Rubrique docs"><img width=14 height=16  hspace=5 border=0 src=/inc/img/picto-docs.gif ALT=#></A></td><td><a  class='linkbox' href="/docs/" TITLE="Documentation">Documentation</a></td></tr>
			<tr><td ALIGN=middle><a  class='linkbox' href="/cvs/" TITLE="Rubrique cvs"><img width=13 height=17  hspace=5 border=0 src=/inc/img/picto-cvs.gif ALT=#></A></td><td><a  class='linkbox' href="/cvs/" TITLE="CVS Web">CVS</a></td></tr>
<!--			<tr><td ALIGN=middle><a  class='linkbox' href="/bugs/" TITLE="Rubrique bugs"><img width=20 height=16  hspace=5 border=0 src=/inc/img/picto-bugs.gif ALT=#></A></td><td><a  class='linkbox' href="/bugs/" TITLE="Bugtracking">Bugs</a></td></tr>-->
			<tr><td ALIGN=middle><a  class='linkbox' href="/free/" TITLE="Rubrique license"><img width=18 height=12  hspace=5 border=0 src=/inc/img/picto-free.gif ALT=#></A></td><td><a  class='linkbox' href="/free/" TITLE="Free Software">Free software</a></td></tr>
			<tr><td ALIGN=middle><a  class='linkbox' href="/download/" TITLE="Rubrique download"><img width=13 height=17  hspace=5 border=0 src=/inc/img/picto-cvs.gif ALT=#></A></td><td><a  class='linkbox' href="/download/" TITLE="Download">Download</a></td></tr>
			<tr><td ALIGN=middle><a  class='linkbox' href="/suggest/" TITLE="Rubrique suggest"><img width=14 height=16  hspace=5 border=0 src=/inc/img/picto-docs.gif ALT=#></A></td><td><a  class='linkbox' href="/suggest/" TITLE="FS Suggest">FS Suggest</a></td></tr>
			<tr><td ALIGN=middle><a  class='linkbox' href="/faq/" TITLE="Rubrique suggest"><img width=14 height=16  hspace=5 border=0 src=/inc/img/picto-docs.gif ALT=#></A></td><td><a  class='linkbox' href="/faq/" TITLE="FAQ">FAQ</a></td></tr>
		</TABLE>
		</TD></TR></TABLE></TD></TR></TABLE>
		<!------ End Box  ------>
		

	</TD>
	<TD WIDTH=15><IMG  SRC="/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
	<TD ALIGN=left valign=top><IMG  SRC="/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">

<!-- title -->
<TABLE  background="/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0  BORDER=0 width=100%><tr><td>
<A HREF="/docs"><img src="/inc/img/t_docs.gif" ALT="docs"  HEIGHT=20 BORDER=0></A>
</td><td><IMG  SRC="/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT="">
</td></tr></table>

<!-- End header -->


<!-- NeL Network Library : Features -->
<table width=100%><tr><td align=left><b>NeL Network Library : Features</b></td><td align=right><b></b></td></TR></TABLE>


<H2>Introduction</H2>
<P>The first objective of NeL's network library (NeL Net) is to provide a complete OS-independent data transfer API that abstracts system specific code and provides mechanisms for complete control of bandwidth usage by the application code.</P>
<P>NeL Net has a further objective of providing a complete toolkit, comprising further layers of library code and core service implementations, for the development of performance critical distributed program systems for massively multi user universe servers. </P>

<H2>Features</H2>
<H3>General Features</H3>
<UL>
<li>A layer based architecture with API access to every layer
<LI>Client application API
<LI>Encapsulation of process of connection to Shard Front End
<LI>Encapsulation of buffering and data transmission to Shard Front End
<LI>Encapsulation of reception and decoding of messages within data packets received from shard
<LI>Current implementation is based on TCP/IP
</UL>

<H3>Shard Back End application ('service') Framework and API</H3>
<UL>
	<LI>Framework for developing new services
	<LI>Abstraction of inter-service connections with disconnection and reconnection management
	<LI>Management of transmission of messages to other services (with buffering)
	<LI>Management of reception and treatment of messages from other services (with buffering)
	<LI>Management of time synchronisation
	<LI>Management of log messages with consolidation and filtering tools
	<LI>Centralised shard administration and management
	<LI>Current implementation is based on TCP/IP
</UL>

<H3>Shard Front End application API</H3>
<UL>
	<LI>All features pertaining to back end services
	<LI>Multi-threaded client-communication management for large numbers of client connections
	<LI>Separation of incoming messages from the shard back end and incoming messages from clients
	<LI>Login authentication
	<LI>Mechanisms for monitoring growth of output data packets to the application program
	<LI>Current implementation is based on TCP/IP
</UL>

<H3>Login/ logout management</H3>
<UL>
	<LI>Automated system fo registration of shards with Login Manager
	<LI>API for connection of client application to Login Manager, for login and password authentication and for valid shard list retrieval by the client.
	<LI>API for selection of a shard (for an authenticated user), selection of least loaded front end server on the shard for client connection and secure system for establishing the client connection.
</UL>


<H3>On the fly backup management (to be developped)</H3>
<UL>
	<LI>Management of a backup schedules and shard backup synchronisation
	<LI>Standalone service dedicated to reception and secure storage of backup data (with concept of transactions and data coherency)
	<LI>Service API for backing up data
</UL>

<H3>Future Spec enhancements (to be developped)</H3>
<UL>
	<LI>Multi-threaded application support
	<LI>Add a UDP channel from Client to Shard front end
	<LI>Investigate ways of adding a UDP channel from shard to client (looks tricky)
	<LI>Add support for data compression 
	<LI>Optimisation of communication between services running on the same server (via pipes and/ or shared memory)
</UL>


<!-- footer -->
<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </FONT>
</TD>
<TD WIDTH=15><IMG  SRC=/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD>
</TR>
</TABLE>

</BODY>
</HTML>