Google Calendar Software and Hardware
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.
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 below.
Related HowStuffWorks Articles
- How Google Works
- How Gmail Works
- How Google Docs Works
- How Google Earth Works
- How the Google File System Works
- How Hackers Work
- How Home Networking Works
- How Internet Infrastructure Works
- How Internet Search Engines Work
- How Microprocessors Work
- How Operating Systems Work
- How Semantic Web Works
- How Web Pages Work
- How Web Servers Work
More Great Links
- "Calendar Gadgets and Reference Guide." Google Code. http://code.google.com/apis/calendar/calendar_gadgets.html
- "Client/Server Software Architectures -- An Overview." Carnegie Mellon Software Engineering Institute. http://www.sei.cmu.edu/str/descriptions/clientserver_body.html
- Google Calendar Help Center http://www.google.com/support/calendar/
- Google Calendar Overview http://www.google.com/googlecalendar/overview.html
- Krebs, Brian. "A Word of Caution About Google Calendar." Washington Post. July 6, 2007. http://blog.washingtonpost.com/securityfix/2007/07/google_calendar_goofs.html
- Sjogreen, Carl. "It's about time." The Official Google Blog. April 13, 2006. http://googleblog.blogspot.com/2006/04/its-about-time.html
- Van Couvering, David. "Google Calendar Offline Talk and Demo." Java.net. Oct 5, 2006. http://weblogs.java.net/blog/davidvc/archive/2006/10/google_calendar.html