9 Computer software allowing diverse applications, devices, servers and end users to access heterogeneous, geographically distributed resources across the Internet, for sharing, manipulating, storing, retrieving, restoring, searching, organizing and managing data