We are developing a collaborative MOOC that enables communication between clusters. The MOOC is developed in such a way that each cluster in the MOOC allows addition and deletion of nodes in the cluster. The clusters are developed to allow inter-cluster communication and coordination. The python client makes a request to the server; this request is handled by a leader of a cluster. The leader on receiving the request then conducts a job bidding in which each node in that cluster bids so that it can get a chance to process that request. The node with the highest bid get the job of processing the request from the client. The bidding depends upon the number of job it is currently processing, the node with less number of jobs to process bids high whereas the node with the more jobs bids low. Leader allocates the job to node if that node has a resource which has been requested, if any node in that cluster does not have the requested resource then leader communicates with leader of other cluster which is then forwarded to its nodes inside the cluster. Every cluster has its own topology of network. Heart beat of every node to other node help us detect crashing of any node. If the node crashed is leader then re-election takes place to elect new leader otherwise the network is modified to establish connection between all active nodes.