Optimizing memory by sharing datasets between workspaces
First Claim
1. A computer implemented method to optimize memory consumption, by sharing datasets between workspaces, comprising:
- upon instantiating a plurality of workspaces, retrieving a plurality of datasets from one or more data sources into the plurality of workspaces, wherein a plurality of workspace contexts are defined corresponding to the plurality of workspaces, wherein a workspace context of the plurality of workspace contexts defines boundaries for accessing data from a corresponding dataset in relation to an execution of a transformation, and wherein a first dataset from the plurality of datasets is provided into at least two workspaces and is associated with at least two contexts correspondingly defined at the at least two workspaces;
receiving an input to execute a transformation on the first dataset from the plurality of datasets to generate a transformed dataset, the transformation being executed at a first workspace of the at least two workspaces, wherein the transformed dataset is stored at a data source corresponding to the first dataset after executing the transformation;
based on the transformation, analyzing a first current context of data in the first dataset in the first workspace of the at least two workspaces and a second current context of the data in a second workspace, wherein the second workspace is different from the first workspace;
based on the analysis of the first current context of data in the first workspace, computing a third current context of transformation on the first dataset, wherein the current context of the transformation on the first dataset is determined by comparing the first dataset prior to executing the transformation and the transformed dataset; and
when the first current context of data in the first workspace, the second current context of the data in the second workspace, and the third current context of the transformation of the first dataset are equal, providing the transformed dataset as shared between the first workspace and the second workspace to optimize the memory consumption.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and system are disclosed that optimize memory consumed, by sharing datasets between workspaces. In one aspect, multiple workspaces may be instantiated by retrieving multiple datasets from multiple data sources. An input to execute transformations on the multiple datasets may be received. Based on a determination of execution of a transformation on the multiple datasets, a dataset context analyzer may be executed to analyze a current context of data in the multiple datasets. Based on a result of execution of the dataset context analyzer, a transformation graph analyzer may be executed to compute a current context of transformations on the multiple datasets. Based on the determined current context of data and the current context of the transformations on the dataset, memory consumed may be optimized by sharing the multiple datasets between the multiple workspaces.
5 Citations
16 Claims
-
1. A computer implemented method to optimize memory consumption, by sharing datasets between workspaces, comprising:
-
upon instantiating a plurality of workspaces, retrieving a plurality of datasets from one or more data sources into the plurality of workspaces, wherein a plurality of workspace contexts are defined corresponding to the plurality of workspaces, wherein a workspace context of the plurality of workspace contexts defines boundaries for accessing data from a corresponding dataset in relation to an execution of a transformation, and wherein a first dataset from the plurality of datasets is provided into at least two workspaces and is associated with at least two contexts correspondingly defined at the at least two workspaces; receiving an input to execute a transformation on the first dataset from the plurality of datasets to generate a transformed dataset, the transformation being executed at a first workspace of the at least two workspaces, wherein the transformed dataset is stored at a data source corresponding to the first dataset after executing the transformation; based on the transformation, analyzing a first current context of data in the first dataset in the first workspace of the at least two workspaces and a second current context of the data in a second workspace, wherein the second workspace is different from the first workspace; based on the analysis of the first current context of data in the first workspace, computing a third current context of transformation on the first dataset, wherein the current context of the transformation on the first dataset is determined by comparing the first dataset prior to executing the transformation and the transformed dataset; and when the first current context of data in the first workspace, the second current context of the data in the second workspace, and the third current context of the transformation of the first dataset are equal, providing the transformed dataset as shared between the first workspace and the second workspace to optimize the memory consumption. - View Dependent Claims (2, 3, 4, 5, 15, 16)
-
-
6. A computer system to optimize memory consumed, by sharing datasets between workspaces, comprising:
-
a memory storing computer instructions; and a processor communicatively coupled with the memory to execute the instructions to perform operations, comprising; upon instantiating a plurality of workspaces, retrieving a plurality of datasets from one or more data sources into the plurality of workspaces, wherein a plurality of workspace contexts are defined corresponding to the plurality of workspaces, wherein a workspace context of the plurality of workspace contexts defines boundaries for accessing data from a corresponding dataset in relation to an execution of a transformation, and wherein a first dataset from the plurality of datasets is provided into at least two workspaces and is associated with at least two contexts correspondingly defined at the at least two workspaces; receiving an input to execute a transformation on the first dataset the plurality of datasets to generate a transformed dataset, the transformation being executed at a first workspace of the at least two workspaces, wherein the transformed dataset is stored at a data source corresponding to the first dataset after executing the transformation based on the transformation, analyzing a first current context of data in the first dataset in the first workspace of the at least two workspaces and a second current context of the data in a second workspace, wherein the second workspace is different from the first workspace; based on the analysis of the first current context of data in the first workspace, computing a third current context of transformation on the first dataset, wherein the current context of the transformation on the first dataset is determined by comparing the first dataset prior to executing the transformation and the transformed dataset; and when the first current context of data in the first workspace, the second current context of the data in the second workspace, and the third current context of the transformation of the first dataset are equal, providing the transformed dataset as shared between the first workspace and the second workspace to optimize the memory consumption. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium tangibly storing instructions, which when executed by a computer, cause the computer to execute operations comprising:
-
upon instantiating a plurality of workspaces, retrieving a plurality of datasets from one or more data sources into the plurality of workspaces, wherein a plurality of workspace contexts are defined corresponding to the plurality of workspaces, wherein a workspace context of the plurality of workspace contexts defines boundaries for accessing data from a corresponding dataset in relation to an execution of a transformation, and wherein a first dataset from the plurality of datasets is provided into at least two workspaces and is associated with at least two contexts correspondingly defined at the at least two workspaces; receiving an input to execute a transformation on the first dataset from the plurality of datasets to generate a transformed dataset, the transformation being executed at a first workspace of the at least two workspaces, wherein the transformed dataset is stored at a data source corresponding to the first dataset after executing the transformation; based on the transformation, analyzing a first current context of data in the first dataset in the first workspace of the at least two workspaces and a second current context of the data in a second workspace, wherein the second workspace is different from the first workspace; based on the analysis of the first current context of data in the first workspace, computing a third current context of transformation on the first dataset, wherein the current context of the transformation on the first dataset is determined by comparing the first dataset prior to executing the transformation and the transformed dataset; and when the first current context of data in the first workspace, the second current context of the data in the second workspace, and the third current context of the transformation of the first dataset are equal, providing the transformed dataset as shared between the first workspace and the second workspace to optimize the memory consumption. - View Dependent Claims (12, 13, 14)
-
Specification