IP Library Patent Application 12818958
Patent Application
App. No. 12/818,958

METHOD AND APPARATUS FOR MANAGING DISTRIBUTED COMPUTATIONS WITHIN A COMPUTATION SPACE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/818,958
Abstract

An approach is provided for providing operations for manipulation of distributed computations. A computations closure management infrastructure determines to receive a request for specifying one or more operations to perform on one or more computation spaces, wherein the one or more computation spaces represent one or more computational processes as one or more graphs within the respective one or more computation spaces. The computation closures management infrastructure determines to retrieve the one or more computation spaces, the one or more graphs within the one or more computation spaces, one or more subgraphs of the one or more graphs, or a combination thereof. The computation closures management infrastructure determines to apply the one or more operations on the one or more computation spaces, the one or more graphs, the one or more subgraphs, or a combination thereof to update at least one of the one or more computation spaces, to generate at least one additional computation space, or a combination thereof.

Claims (68)

1 . A method comprising:

determining to receive a request for specifying one or more operations to perform on one or more computation spaces, wherein the one or more computation spaces represent one or more computational processes as one or more graphs within the respective one or more computation spaces;

determining to retrieve the one or more computation spaces, the one or more graphs within the one or more computation spaces, one or more subgraphs of the one or more graphs, or a combination thereof; and

determining to apply the one or more operations on the one or more computation spaces, the one or more graphs, the one or more subgraphs, or a combination thereof to update at least one of the one or more computation spaces, to generate at least one additional computation space, or a combination thereof.

2 . A method of claim 1 , wherein at least one of the one or more operations is a merge operation corresponding to a first computation space of the one or more computation spaces and second computation space of the one or more computation spaces, the method further comprising:

determining to unify a first graph of the first computation space and a second graph of the second computation space; and

determining to modify the first computation space, the second computation space, the additional computation space, or a combination thereof based, at least in part, on the unification.

3 . A method of claim 2 , further comprising:

determining to apply a provenance operation, a conflict resolution operation, or a combination thereof on the first computation space, the second computation space, the additional computation space, or a combination thereof based, at least in part, on the unification.

4 . A method of claim 1 , wherein at least one of the one or more operations is a projection operation corresponding to a one of the one or more computation spaces, the method further comprising:

determining to extract a subgraph from a graph of the one computation space, wherein the additional computation space is generated based, at least in part, on the extracted subgraph; and

determining to update a set of names of projected computation spaces based, at least in part, on the generation of the additional computation space, the set of names associated with the one computation space.

5 . A method of claim 4 , wherein the request for the projection operation includes, at least in part, a specified subgraph, the method further comprising:

determining the one computation space based, at least in part, on the specified subgraph; and

determining a computation content, a set of rules, or a combination thereof of the one computation space based, at least in part, on a partitioning function, a deductive closure mechanism, or a combination thereof,

wherein the additional computation space is generated based, at least in part, on the computation content, the set of rules, or a combination thereof.

6 . A method of claim 1 , wherein at least one of the one or more operations is an injection operation corresponding to a first computation space of the one or more computation spaces and second computation space of the one or more computation spaces, and wherein the second one of the one or more computation spaces includes projected content from the first one of the one or more computation spaces, the method further comprising:

determining to filter a graph of the first one of the one or more computation spaces based at, least in part, on the projected content; and

determining to insert the graph of first one of the one or more computation spaces into a graph of the second one of the one or more computation spaces based, at least in part, on the filtering.

7 . A method of claim 6 , further comprising:

determining whether a name of the first one of the one or more computation spaces is in a set of names of projected computation spaces of the second one of the one or more computation spaces, wherein the inserting of the graph of the first one of the one or more computation is based, at least in part, on the determination with respect to the name; and

determining to remove the name from the set of names based, at least in part, on the determination with respect to the name.

8 . A method of claim 1 , wherein at least one of the one more operations is a split operation corresponding to a one of the one or more computation spaces, the method further comprising:

determining to extract a subgraph from a graph of the one computation space, wherein the additional computation space is generated based, at least in part, on the extracted subgraph; and

determining to update a set of names of split computation spaces based, at least in part, on the generation of the additional computation space, the set of names associated with the one computation space.

9 . A method of claim 8 , wherein the request for the split operation includes, at least in part, a specified subgraph, the method further comprising:

determining the one computation space based, at least in part, on the specified subgraph; and

determining a computation content, a set of rules, or a combination thereof of the one computation space based, at least in part, on a partitioning function, a deductive closure mechanism, a history preservation boundary, or a combination thereof,

wherein the additional computation space is generated based, at least in part, on the computation content, the set of rules, or a combination thereof.

10 . A method of claim 1 , further comprising:

determining a set of boundary nodes with respect to the one or more operations, the one or more computation spaces, the one or more graphs, the one or more subgraphs, or a combination thereof,

wherein the application of the one or more operations is further based, at least in part, on the set of boundary nodes.

11 . An apparatus comprising:

at least one processor; and

at least one memory including computer program code,

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following,

determine to receive a request for specifying one or more operations to perform on one or more computation spaces, wherein the one or more computation spaces represent one or more computational processes as one or more graphs within the respective one or more computation spaces;

determine to retrieve the one or more computation spaces, the one or more graphs within the one or more computation spaces, one or more subgraphs of the one or more graphs, or a combination thereof; and

determine to apply the one or more operations on the one or more computation spaces, the one or more graphs, the one or more subgraphs, or a combination thereof to update at least one of the one or more computation spaces, to generate at least one additional computation space, or a combination thereof.

12 . An apparatus of claim 11 , wherein at least one of the one or more operations is a merge operation corresponding to a first computation space of the one or more computation spaces and second computation space of the one or more computation spaces, and wherein the apparatus is further caused to:

determine to unify a first graph of the first computation space and a second graph of the second computation space; and

determine to modify the first computation space, the second computation space, the additional computation space, or a combination thereof based, at least in part, on the unification.

13 . An apparatus of claim 12 , wherein the apparatus is further caused to:

determine to apply a provenance operation, a conflict resolution operation, or a combination thereof on the first computation space, the second computation space, the additional computation space, or a combination thereof based, at least in part, on the unification.

14 . An apparatus of claim 11 , wherein at least one of the one or more operations is a projection operation corresponding to a one of the one or more computation spaces, and wherein the apparatus is further caused to:

determine to extract of a subgraph from a graph of the one computation space, wherein the additional computation space is generated based, at least in part, on the extracted subgraph; and

determine to update a set of names of projected computation spaces based, at least in part, on the generation of the additional computation space, the set of names associated with the one computation space.

15 . An apparatus of claim 14 , wherein the request for the projection operation includes, at least in part, a specified subgraph, and wherein the apparatus is further caused to:

determine the one computation space based, at least in part, on the specified subgraph; and

determine a computation content, a set of rules, or a combination thereof of the one computation space based, at least in part, on a partitioning function, a deductive closure mechanism, or a combination thereof,

wherein the additional computation space is generated based, at least in part, on the computation content, the set of rules, or a combination thereof.

16 . An apparatus of claim 11 , wherein at least one of the one or more operations is an injection operation corresponding to a first computation space of the one or more computation spaces and second computation space of the one or more computation spaces, and wherein the second one of the one or more computation spaces includes projected content from the first one of the one or more computation spaces, and wherein the apparatus is further caused to:

determine to filter a graph of the first one of the one or more computation spaces based at, least in part, on the projected content; and

determine to insert the graph of first one of the one or more computation spaces into a graph of the second one of the one or more computation spaces based, at least in part, on the filtering.

17 . An apparatus of claim 16 , wherein the apparatus is further caused to:

determine whether a name of the first one of the one or more computation spaces is in a set of names of projected computation spaces of the second one of the one or more computation spaces, wherein the inserting of the graph of the first one of the one or more computation is based, at least in part, on the determination with respect to the name; and

determine to remove the name from the set of names based, at least in part, on the determination with respect to the name.

18 . An apparatus of claim 11 , wherein at least one of the one more operations is a split operation corresponding to a one of the one or more computation spaces, and wherein the apparatus is further caused to:

determine to extract a subgraph from a graph of the one computation space, wherein the additional computation space is generated based, at least in part, on the extracted subgraph; and

determine to update a set of names of split computation spaces based, at least in part, on the generation of the additional computation space, the set of names associated with the one computation space.

19 . An apparatus of claim 18 , wherein the request for the split operation includes, at least in part, a specified subgraph, and wherein the apparatus is further caused to:

determine the one computation space based, at least in part, on the specified subgraph; and

determine a computation content, a set of rules, or a combination thereof of the one computation space based, at least in part, on a partitioning function, a deductive closure mechanism, a history preservation boundary, or a combination thereof,

wherein the additional computation space is generated based, at least in part, on the computation content, the set of rules, or a combination thereof.

20 . An apparatus of claim 11 , wherein the apparatus is further caused to:

determine a set of boundary nodes with respect to the one or more operations, the one or more computation spaces, the one or more graphs, the one or more subgraphs, or a combination thereof,

wherein the application of the one or more operations is further based, at least in part, on the set of boundary nodes.

21 .- 45 . (canceled)

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035481/0382 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2010
From: BOLDYREV, SERGEY; OLIVER, IAN JUSTIN; MANNERMAA, MIKA JUHANI; LASSILA, ORA; PYHALAMMI, SEPPO JUHANI
To: NOKIA CORPORATION
Reel/Frame 024899/0642 →