Grid computing is a system that combines computer resources from multiple locations to accomplish a common goal. It connects computers, databases and scientific instruments around the world via the internet so they can work together on large-scale computing problems in science, engineering and business. Key components of grid computing include security, user interfaces, workload management, scheduling, data management and resource management. Major types of grids are computational grids, which link computers to solve problems, scavenging grids that use idle processor time, and data grids that share large datasets.