This website stores cookies on your device to improve your website experience and provide more personalized services to you on this website and through other media. To find out more about the cookies we use, see our Cookie Policy.If you click "Accept", we will use your information to serve you better with improved and customized services and for marketing purposes. If you click "Decline", we will not track your personal information on the website except to the extent required to honor your preference so that we do not have to cause inconvenience by asking you to make this choice again unless you clear the cookies.Learn more

Distributed ad serving at InMobi

Posted on August 18, 2009
By Mohit Saxena

This August has been quite eventful for us. First we re-branded ourselves, as InMobi. Secondly, we fulfilled part of our aspirations to be a global company by setting up a distributed ad server in a US data center. This move has catapulted InMobi in to a different league altogether. It also showcases our commitment to defy all barriers and overcome various technological challenges to serve our customers in the best possible way. The thought of having distributed node arises with a problem that started with our recent business push in Europe and US market. As our volume started to grow from these continents our publishers reported increased network latency problems between their servers and our servers in India. We optimized India node to a great extent but it was not enough to overcome that natural network response delay of 300ms to 400ms between our locations. At that moment we knew that we had to do something to support business in their expansion plan to Europe and US. The problem statement was clear, it was about having a distributed node in various continents so that we can provide the best possible response time to our publishers located in those geographies, by avoiding delays caused due to distance. To solve this problem we needed three fundamental changes in our architecture:

  1. Decouple the application at architectural and infrastructure level so that it can be distributed and each node can function on its own.
  2. Sharing essential information across these nodes so that they can make right decisions in real time, by looking at accurate & time sensitive information.
  3. Third problem was to design a mechanism that can merge and process data across nodes for further usage and reporting.

Once the big problem was broken down into parts the only thing left was to design a solution that address each specific problem mentioned above and assemble them to commission a new node at any place where it's needed. Building a distributed node for a very high scale system was a big task and kudos to our engineers who made it look so simple and finished it in record time. This achievement is quite significant in its own way but it has further fueled our passion and commitment to go extra miles to to serve our customers in a way that no one else can. I am confident that we will push the envelope on such innovations at InMobi, in times to come. Stay tuned and grow with us. Mohit Saxena Head of Technology InMobi