Patent ID: 8825506

Claim:
A method for data sharing, comprising: generating by a processor at least one sharing plan with a cheapest cost and/or a shortest execution time for one or more sharing arrangements with data sources that provide shared data on a cloud, and consumers who pay for the data; determining admissibility of the one or more sharing arrangements by the processor, such that a critical time path of the at least one sharing plan does not exceed a staleness level and a cost of the at least one sharing plan does not exceed a capacity, wherein the sharing plan is inadmissible if its critical time path is greater than a staleness level specified in service level agreements (SLAs) or if the sharing plan exceeds machine capacity; merging sharing plans associated with the sharing arrangements and discarding duplicate edges and vertices; and executing sharing plans of admissible sharing arrangements while maintaining the staleness level; determining, by the processor, one or more sharing plans that minimize cost while satisfying the SLAs based on a join cost determined as a cheapest cost of creating a join sequence R on machine m by joining with a sequence R−a on machine i (m i ) as follows: JOINCOST ⁡ ( R , m i , CAP < R , m i > , D < R , m i > ) = ⁢ ⁢ min ∀ m j , m k ⁢ JOINCOST ⁡ ( R - a , m j , CAP < R , - a , m j > , D < R , - a , m j > ) + ⁢ ⁢ { ( a ) { INPLACEJOINCOST ( R - a , m j , a , m k , m i , CAP < R - a , m j > , D < R - a , m j > ) ( b ) { COPYRELATIONCOST ⁡ ( R - a , m j , m k , CAP < R - a , m j > ) + INPLACEJOINCOST ( R - a , m k , a , m k , m i , CAP < R - a , m j > , D < R - a , m j > ) ( c ) { COPYRELATIONCOST ⁡ ( a , m k , m j , CAP < R - a , m j > ) + INPLACEJOINCOST ( R - a , m j , a , m j , m i , CAP < R - a , m i > , D < R - a , m j > ) ( d ) { COPYRELATIONCOST ⁡ ( a , m k , m i , CAP < R - a , m j > ) + COPYRELATIONCOST ⁡ ( a , m j , m i , CAP < R - a , m j > ) + INPLACEJOINCOST ( R - a , m i , a , m i , m i , CAP < R - a , m j > , D < R - a , m j > ) where COPYRELATIONCOST function takes a sharing plan D and machine capacity CAP D and creates a copy of a vertex on another machine and updates D and CAP D .