How Mikogo WorksMarcel Maron is the mastermind behind Mikogo’s machinery, he is the man responsible for what goes on behind the scenes. In this interview, Marcel outlines the complexity involved in making a product like Mikogo run so smoothly, and sheds light on the global presence of Mikogo’s IT infrastructure.

Q: Where are Mikogo’s servers located, and what factors must you consider when choosing where our servers should be?
Marcel MaronMarcel Maron, IT Operations Manager: Mikogo is a globally available cloud-service. Since Mikogo is handling a large amount of data in real-time a reliable, always available, and extremely well-connected infrastructure is needed. We have distributed our server systems to well-connected data centers around the globe. Therefore, we ensure that the servers are easy to access from almost anywhere in the world, and that there is the best possible transmission between Mikogo users.

Q: When a user opens the Mikogo software and starts a session, what happens in the background to establish the desktop sharing between multiple parties?
MM: From the organizer, Mikogo establishes an AES 256-bit encrypted connection to the nearest available server. Participants that connect to that session via the HTML Viewer or the Mikogo Viewer are also connected to this server. The server then gets the encrypted data from the organizer/presenter and transmits this data to each participant according to their available bandwidth.

Q: In the recent past it was a very complicated and tedious process to conduct screen sharing and remote control of another computer, how is it that Mikogo simply requires a session ID to do this now?
MM: Ok, I’ll try to keep this concise :-) When the organizer starts a session, their host software program contacts the Mikogo database server and establishes a secure connection. The database server generates a random session ID and sends it back to the organizer’s Mikogo software, together with information about the features and configuration for that session, such as the switching server address and port number. The host program then establishes two connections to the switching server – one for the screen data and another for control data such as chat messages and mouse cursor positions.
The participant runs the connection software program on their computer and enters the session ID. The software will establish a secure connection to the Mikogo database server requesting to join the session with that particular session ID. The Mikogo database will verify if the session ID exists and will then respond back to the connection program with the IP address and port number of the switching server on which the session has been started by the organizer. The Mikogo connection program will then establish two secure connections to the switching server and request to join the session with this particular session ID. The Mikogo switching server will then connect that participant to the respective session and relay screen updates to the participant.
It is of course more complicated than that and there are more processes involved for establishing connections, but in a nutshell that is how it works.

Q: Impressive! How did Mikogo need to change and upgrade its infrastructure in order to accommodate the new voice-over IP function?
MM: Similar to screen-sharing, audio-transmission is a real-time service. It is very important to ensure that audio data is sent quickly from one end-point to another, and in the correct order. Other than recreating a whole screen out of some changed packets, audio has to be directly processed as it enters the computer. Therefore, we have to ensure that the audio servers not only have high availability, but also that they are very well connected to the Internet and accessible in milliseconds from each end-point.

Q: How does Mikogo provide customer support for our clients – both support chat and phone support?
MM: We offer support through various channels. First, we are of course available via telephone or email. Secondly, we are ready to accept requests via a support form available on our website. Next under http://www.mikogo.com/support customers have direct access to our ticket system, ZenDesk. And last but not least, we offer a chat option on our website.

Discussion: Got a question about how the Mikogo software works? Leave it in a comment below!