TECHNICAL FIELD

The present invention relates generally to cloud computing, and more particularly to sharing resources among remote repositories utilizing a lock file in a shared file system or a node graph in a peer-to-peer system.

BACKGROUND

In a cloud computing environment, computing is delivered as a service rather than a product, whereby shared resources, software and information are provided to computers and other devices as a metered service over a network, such as the Internet. In such an environment, computation, software, data access and storage services are provided to users that do not require knowledge of the physical location and configuration of the system that delivers the services.

The functions of the cloud computing environment are performed by a data center, which includes various types of hardware components (e.g., storage controllers, network switches, physical compute machines) stored in racks. Sharing resources (e.g., data) stored in local repositories, such as compute machines on these racks, among other repositories can be cumbersome, especially when data can be modified at any of the repositories.

Currently, when resources are shared across repositories, the resource metadata is required to be bundled with the resource. Hence, the resource is required to be shared completely again when only the metadata is updated. Furthermore, if the metadata is stored alongside the resource as a second resource, then there is a chance that the two resources will become out of sync with each other, especially in a system where resources may be updated frequently, such as in a cloud computing environment.

Content versioning systems that attempt to keep track of the versions of the resources may be viewed as an alternative. However, such systems require a central repository and a significant amount of resources (e.g., physical and virtual resources, such as processing usage, memory usage, storage usage) for tracking the versions of resources being shared among the repositories.

Unfortunately, there is not currently a means for sharing resources among repositories utilizing few resources without the possibility of the resource (e.g., data) and resource metadata becoming out of sync.

SUMMARY

In one embodiment of the present invention, a method for sharing resources among remote repositories comprises receiving a request to create, read, update or delete a resource in a content repository. The method further comprises receiving one or more of a resource name, a resource version and a resource fingerprint in connection with the request to create, read, update or delete the resource in the content repository. The method additionally comprises determining, by a processor, if one or more of the received resource name, the received resource version and the received resource fingerprint match a respective one or more of a resource name, a resource version and a resource fingerprint stored in a node graph stored in a local repository.

Other forms of the embodiment of the method described above are in a system and in a computer program product.

The foregoing has outlined rather generally the features and technical advantages of one or more embodiments of the present invention in order that the detailed description of the present invention that follows may be better understood. Additional features and advantages of the present invention will be described hereinafter which may form the subject of the claims of the present invention.

