Skip to content
Roman edited this page Feb 19, 2015 · 1 revision

Introduction

This file provides you with the basic information needed to understand NetDist.

Components

Here is a description of all the components needed to use NetDist.

JobInput

This is the object which describes the values a client needs when executing the job.

JobOutput

This object contains all return values the client computed after it executed a job.

Handler

The handler is the "server logic" or better the job-generator and result-processor. It's function is, to generate jobs (by creating them for example from a database) and processing the results.

HandlerSettings / CustomHandlerSettings

A handler has some basic settings (provided by NetDist) for scheduling, a name, distribution and so on. Those settings are in the handler settings. Also a handler might have some specific settings. These specific settings can be implemented in the custom handler settings.

JobScript file

The jobscript file is the file which has all information that is needed to load and instantiate a handler on the server and to distribute and execute the jobs on the client. In general, it's just a simple C# file which is compiled by the server and distributed to the clients. It consists of the following:

  • HandlerInitializer
  • JobScript
  • JobScript meta
HandlerInitializer

The handler initializer contains methods to fill the handler settings and the custom handler settings with individual values.

JobScript

The jobscript describes the logic the client should run for a job. It creates a job input object and generates a job output object.

JobScript meta

Since the job script files are just c# text files, there are some meta information that are needed on the server to correctly initialize the according handler. These are:

  • Compiler libraries (libraries which are needed to compile the script)
  • Dependencies (depencencies needed on the client when running a job)
  • Package name the name of the package
Handler / JobScript dependencies

A handler and/or a job script can have 3rd party dependencies (assemblies or other files). These files are also added to the server and a client can request one of those if needed.

Package

The package is a collection of data to provide the server with everything to load and run handlers and to distribute and execute jobs. It consists of:

  • Name of the package
  • List of assembly-files where handler-logics are defined
  • List of files for handler or client dependencies

Applications

This is a description of the applications which are needed to run NetDist.

Server

The server is the application which loads the handlers and runs them.

Server Admin

The server admin is the application which allows administration of the server. It shows the status about all handlers and the clients connected to the server. It is needed to upload packages or job scripts, start and stop handlers and observing the system.

Client

The client requests jobs from the server and completes them, sending the result back to the server.

Communication

Currently all the communication is implemented in Web Api. Other channels might be implemented later.