.NET/Mono NodeController

CLOSED
Bids
9
Avg Bid (USD)
$521
Project Budget (USD)
$250 - $750

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 NodeController.exe
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 = SecurityMode.Transport + 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 appliedalgo.com), 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: http://www.thejoyofcode.com/WCF_Could_not_establish_trust_relationship_for_the_SSL_TLS_secure_channel_with_authority.aspx
Binding.Security.Mode = SecMode;
Binding.Security.Transport.ClientCredentialType = ClientCredentialType;

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

WcfControllerInterface = new ServiceHost(
typeof(AppliedAlgo.NonGenericUtil.Communication.Wcf.NodeControllerService),
ControllerUrl);

Wcf.WCFUtil.BindPortToSSL(AppCtx.RemoteAdminPort, AppCtx.WebServerCertificatePath);

WcfControllerInterface.AddServiceEndpoint(
typeof(AppliedAlgo.NonGenericUtil.Communication.Wcf.INodeControllerService),
WsBinding,
""
);

ThrottleBehavior = new ServiceThrottlingBehavior();
ThrottleBehavior.MaxConcurrentSessions = AppCtx.MaxWorker;
...
WcfControllerInterface.Description.Behaviors.Add(ThrottleBehavior);
SvcBehavior = new ServiceMetadataBehavior();
SvcBehavior.HttpsGetEnabled = true;
WcfControllerInterface.Description.Behaviors.Add(SvcBehavior);
WcfControllerInterface.Open();

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

Skills required:
.NET, C# Programming
Hire AppliedAlgo
Project posted by:
AppliedAlgo Hong Kong
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


$ 750
in 20 days
$ 350
in 5 days
$ 515
in 10 days
Hire dunitech
$ 789
in 5 days
$ 628
in 15 days
Hire globsware
$ 250
in 6 days
Hire sreyobhilashi
$ 555
in 10 days
$ 515
in 10 days
$ 250
in 4 days
Hire erasiterajiv
$ 333
in 10 days