# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Free software
#Download
#FS Suggest
#FAQ
docs
NeL Network Library : Features

Introduction

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.

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.

Features

General Features

  • A layer based architecture with API access to every layer
  • Client application API
  • Encapsulation of process of connection to Shard Front End
  • Encapsulation of buffering and data transmission to Shard Front End
  • Encapsulation of reception and decoding of messages within data packets received from shard
  • Current implementation is based on TCP/IP

Shard Back End application ('service') Framework and API

  • Framework for developing new services
  • Abstraction of inter-service connections with disconnection and reconnection management
  • Management of transmission of messages to other services (with buffering)
  • Management of reception and treatment of messages from other services (with buffering)
  • Management of time synchronisation
  • Management of log messages with consolidation and filtering tools
  • Centralised shard administration and management
  • Current implementation is based on TCP/IP

Shard Front End application API

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

Login/ logout management

  • Automated system fo registration of shards with Login Manager
  • API for connection of client application to Login Manager, for login and password authentication and for valid shard list retrieval by the client.
  • 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.

On the fly backup management (to be developped)

  • Management of a backup schedules and shard backup synchronisation
  • Standalone service dedicated to reception and secure storage of backup data (with concept of transactions and data coherency)
  • Service API for backing up data

Future Spec enhancements (to be developped)

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