Multi-Server Support

From iFolder

Master Slave model


The new iFolder will implement the master slave model, so that multiple servers can participate in a domain. The User provisioning is done at the master,so that it can replicate to the slaves. User provisioning is confined to a single server, so that multiple servers do not synchronize with each other. This method will save the bandwidth used by the server process.


If a user has the data in one of the slave server and has shared his iFolder, then the slave updates the catalog to the Master server, while the Master server syncs the data back to all other Slaves, this way the master can be independent of the number of slaves present.


Each server will have three collections like Domain, Catalog, Report. The Domain collection is always updated at the master server and is synced to all slaves. The catalog and Report are updated by the users to that specific server(slave) and the slave syncs the data to Master and Master inturn will sync it back to all other slaves.


The Domain collection has the member list, which has the list of Provisioned users and the list of servers participating in the Domain. This collection always get updated at the server side and master syncs the data to slave. The slave doesn't sync the information back to master.


The hosts present in the members list has additional attributes like Public IP, Private IP and the Public/Private key pair.


The Public IP is used by the User to communicate to the server while the Private IP is used by the host to communicate with the master.

The Public/Private key pair is used by the hosts to perform a secure communication between the master/slave.


The catalog collection has the list of ifolder the provisioned user has rights like, owner, Readonly, Read-Write.


The authentication is done at the server level, which means the master will not be involved in the authentication unless the user is provisioned at the master host. The slave host authenticates the users if the users are provisioned at that host. Any changes done to the slave will sync with the master and the master replicates these changes to other slaves, so that all are in sync.


The other collection in the server is the report collection which holds the list of reports generated. This information is replicated across the servers so that shared users have the information about the reports generated by other trusted users.

Image:Multi-server-pic.JPG


Multi-Server_Discovery_Service