= ORBIT Services = The services and software running on each of the two servers is listed below. Configuration of individual services is explained in detail as well || Service name || Hosting Machine || || DHCP || dhcp1,dhcp2 || || DNS || dhcp1, dhcp2 || || LDAP || dhcp1, dhcp2 || || NTP || dhcp1 || || TFTP || repository1 || || PXE || repository1 || || Frisbee || repository1 || || NFS || repository3 || || Apt || repository3 || || Mysql || internal1 || || OML collection server || idb1 || || Apache || external3,external1 || || CMC || internal1 || || Aggmgr || repository1 || || XMPP || XMPP1 || || Ejabbberd || Internal1 || || Node Status || Internal3 || || OpenFlow || OFC1, OFC2, Internal2 || || Email || External1 , External3 || === DHCP === '''Purpose''': This software runs a DHCP server that assigns IP addresses to clients on demand === DNS === '''Purpose''': Services.orbit-lab.org” hosts the primary DNS service for the zone orbit-lab.org. The DNS server is the standard BIND9 software packaged with Linux === Apache Web Server === '''Purpose:''' Apache server is required for maintaining the ORBIT local repository for debian packages and also to view the results of the experiment === Repository === '''Purpose:''' This serves as the debian package repository for local ORBIT packages (such as OML, OTG, Libmac, nodeAgent etc). It uses apache services to fetch and distribute debian packages. For this service, it is sufficient to install just the ORBIT packages. There is no need to mirror the entire debian repository which can be easily accessed by syncing with the external debian repository. === NTP === '''Purpose:''' All the machines synchronize their time using the time server as the reference. === TFTP Server === '''Purpose:''' TFTP is needed to install PXE images whenever you need to install an image onto the node (using Frisbee). It is also used to load a memory based image that can be used to fetch the current image of the node into the repository === NFS Service === '''Purpose:''' This service is used to remotely mount directories on the nodes while fetching their image using imagezip utility. Also, Frisbee service makes use of this directory to install images onto nodes. === Mysql Server === '''Purpose:''' This service is used to store the results of the experiments conducted on ORBIT === OML Server (Collection Server) === '''Purpose:''' This service is used to collect the measurements of the experiments at runtime from the nodes and store them into the mysql database. '''Installation:''' apt-get install oml-collection-server -- outdated [[BR]] We now use oml2 packages for collecting Data on OML Server '''Configuration:''' This service is configured by the corresponding gridservice. === Gridservices === '''Purpose:''' This service is for fetching and installing images from and to the nodes and used the Frisbee utility from University of Utah to distribute the image in the form of chunks using multicast. === Node Handler (runs on console machine for the grid and all the sandboxes) === '''Purpose:''' NodeHandler is used to run the experiments from the console using reliable multicast to disseminate commands to the nodes. It also initializes measurement collection appropriately. It primarily uses ruby scripts to do the same. === XMPP === OMF now uses the xmpp protocol to communicate between console and nodes. Currently we are using 2 different softwares Openfire for [[BR]] omf-5.2 and Ejabber for omf-5.3