Grid computing is a model of distributed computing that uses geographically and administratively disparate resources to solve large problems. It involves sharing computing power, data, and other resources across organizational boundaries. Key aspects include applying resources from many computers to a single problem, combining resources from multiple administrative domains for tasks requiring large processing power or data, and using middleware to coordinate resources as a virtual system. The document then discusses definitions of grid computing from various organizations and the core functional requirements and characteristics needed for grid applications and users.