Like HowStuffWorks on Facebook!

How Google Calendar Works


Google Calendar Software and Hardware
­One of Google's data centers in Oregon, which is the size of an American football field and holds thousands of servers.
­One of Google's data centers in Oregon, which is the size of an American football field and holds thousands of servers.
Craig Mitchelldyer/Getty Images

If you're familiar with Google, you probably know that they're secretive when it comes to their operations. There's not a lot of information available on the system Google Calendar uses. Still, there are some aspects of Google's operations that are public knowledge. As for the rest, we can make a few assumptions on what's going on behind the scenes.

It helps to imagine the Google Calendar system as a client/server system. A client is an entity that requests a service. The server is the part of the system that provides a service. Both the client and the server may have special software allowing them to interact with one another. What's more, it's possible for a single computer to act as both a client and a server.

On the server side of Google Calendar, Google uses the Java programming language to build applications. Sun Microsystems developed Java as an object-oriented computer programming language. Programs created with Java can exist independently of other programs. It's the Java applications that handle all the data on the back end of Google Calendar.

Google Calendar users see the client side of the system. This consists of a Web page enhanced by Javascript. Javascript and Java aren't the same thing. The Java language allows programmers to build programs ranging from full applications to smaller applets. Developers use Javascript to beef up Web services. They can't use it to build programs that work outside of a Web browser experience.

That about wraps up everything Google outsiders know about the Google Calendar system. But we can make a few guesses about other details:

  • Google tends to use relatively cheap hardware for its systems. Instead of investing in cutting edge technology that can handle terabytes of data, Google purchases inexpensive hardware that integrates with existing networks seamlessly. While the hardware doesn't have all the bells and whistles of more expensive equipment, it serves its purpose. Since it's cheap, it doesn't cost much to add more capacity to the system, which means it's scalable.
  • One possible arrangement of hardware would include application servers and database servers. The application server would process the programs that make Google Calendar possible, including integration with other Google applications. The database servers act as storage. Google may also use a control or administrative server that acts as a gatekeeper.
  • One of the trade-offs when using inexpensive hardware is reliability. Cheap machines tend to break down more often than expensive ones. Google knows that this can happen, and in fact designs its file systems around it. Google stores the same data on multiple machines -- a practice known as redundancy. When a server fails, another one can take its place almost instantly. Google's goal is to reduce service interruptions as much as possible while preserving user data.

Google doesn't say how many machines it dedicates to run services like Google Calendar. But Google has several huge datacenters. A datacenter is a building that shelters computer equipment, usually stored in metal shelving units called racks. A large datacenter might house thousands of servers. How many of those servers run Google Calendar? That's only known to people inside Google itself.

Want to learn more about Google applications and related information? Schedule some time with the links on the next page.


More to Explore