Closed

.NET/Mono NodeController

This project received 9 bids from talented freelancers with an average bid price of $521 USD.

Get free quotes for a project like this
Employer working
Skills Required
Project Budget
$250 - $750 USD
Total Bids
9
Project Description

AppliedAlgo is a number crunching platform (scheduler/load balancing, with bunch of builtin ETL commands) geared specifically for number crunching. JobController is the core - it distributes to NodeController running on each machine in server farm.

All that NodeController does is:

a. Report periodically to JobController host statistics (CPU Usage/Memory usage and Disk activity) - it's based on this JobController determines if it should route work to a connected node.

NodeController does this by invoking WCF interface (SSL over wsHttpBinding) on JobController

b. JobController dispatch a job to NodeController by calling WCF Interface (SSL over wsHttpBinding) hosted by [url removed, login to view]

When NodeController receives a job/request, it simply kick off the job via Dos Command Prompt.

Node Controller host WCF interface (WsHttpBinding/SSL) contains only two operations:

[ServiceContract()]

[ServiceKnownType(typeof(ExecutionResult))]

public interface INodeControllerService

{

[OperationContract()]

void Run(string Command, string Argument, string HomeDirectory); --> Kick off another exe via command prompt (Need to run on both Windows & Linux)

[OperationContract()]

void KillNode(); --> JobController call this method to exit/kill the NodeController instance

}

Currently NodeController only runs on 64 bit Windows. We need someone to:

1. Rewrite NodeController with (C#/Mono/Console Application), so NodeController can run on Linux box as well.

a. Note please be careful path in Windows/Linux different

b. No change to JobController or any other modules in Applied Algo ETL Suite, only NodeController need be rewritten.

c. We'd like WCF interface started programmatically.

ATTN:

* SSL - If you're using SSL certificate, then SecMode = [url removed, login to view] + ClientCredentialType=None.

* Further, If your JobController is pointing at a self-signed SSL certificate (Detail how to create SSL on Windows refer to Installation Guide on [url removed, login to view]), CLIENT-SIDE need to add following. Otherwise, client will not be able to connect to WCF server on error "Could not establish trust relationship for the SSL/TLS secure channel with authority"

REF: [url removed, login to view]

[url removed, login to view] = SecMode;

[url removed, login to view] = ClientCredentialType;

ControllerUrl = new Uri(RenderedUrl); // Url $PORT$ should be configurable

WcfControllerInterface = new ServiceHost(

typeof([url removed, login to view]),

ControllerUrl);

[url removed, login to view]([url removed, login to view], [url removed, login to view]);

[url removed, login to view](

typeof([url removed, login to view]),

WsBinding,

""

);

ThrottleBehavior = new ServiceThrottlingBehavior();

[url removed, login to view] = [url removed, login to view];

...

[url removed, login to view](ThrottleBehavior);

SvcBehavior = new ServiceMetadataBehavior();

[url removed, login to view] = true;

[url removed, login to view](SvcBehavior);

[url removed, login to view]();

2. Preparation of vm with Linux Fedora, with NodeController (and test SSL cert) that you write installed as proof/testing

[You'd need download AppliedAlgo ETL Suite]

3. Full Source Code and Documentation on preparation the vm/testing (We have .NET developers, need somebody Linux)

Need more detail, please ask. Thanks

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online