Stream-enabled spreadsheet as a circuit
First Claim
Patent Images
1. A method comprising:
- providing a computer-implemented spreadsheet program that includes a user interface including;
(i) definition of syntax for defining streaming data to be streamed through spreadsheet instantiations and (ii) formula language for defining computations to be performed and updated on spreadsheet instantiations;
creating a first spreadsheet instantiation including a plurality of cells, with the creation of the first spreadsheet instantiation including;
accepting, from a user, data streaming instructions according to the syntax for defining streaming data defining data to be streamed through the first spreadsheet instantiation, andaccepting, from the user, computational instructions in the formula language of the spreadsheet program, the computational instructions corresponding to transformations of data to be streamed through the first spreadsheet instantiation;
creating a dependence graph data structure corresponding to the first spreadsheet instantiation, with the dependence graph including;
(i) a plurality of nodes respectively corresponding to the cells of the first spreadsheet instantiation, (ii) incoming edges corresponding to streaming input data being streamed into the first spreadsheet instantiation, (iii) outgoing edges corresponding to streaming data being streamed out of the first spreadsheet instantiation, and (iv) intermediate edges reflecting computational dependencies among and between the plurality of cells of the first spreadsheet instantiation; and
creating a circuit representation of the first spreadsheet instantiation using the dependence graph data set, with the circuit representation being operable to transform an input data stream into an output data stream as if the data had been streamed through the first instantiation spreadsheet.
1 Assignment
0 Petitions
Accused Products
Abstract
Converting data transformations entered in a spreadsheet program into a circuit representation of those transformations. The circuit representation can run independently of the spreadsheet program to transform input data into output data. In some cases the circuit representation is in the form of hardware, accepts and/or produces data streams, and/or the circuit and/or output data or data streams can be shared among multiple users and/or subscribers. Where data streams are processed, the transformations may include well-specified timing semantics, supporting operations that involve rate-based rate manipulation, value-based rate manipulation, and/or access to past cell values.
-
Citations
9 Claims
-
1. A method comprising:
-
providing a computer-implemented spreadsheet program that includes a user interface including;
(i) definition of syntax for defining streaming data to be streamed through spreadsheet instantiations and (ii) formula language for defining computations to be performed and updated on spreadsheet instantiations;creating a first spreadsheet instantiation including a plurality of cells, with the creation of the first spreadsheet instantiation including; accepting, from a user, data streaming instructions according to the syntax for defining streaming data defining data to be streamed through the first spreadsheet instantiation, and accepting, from the user, computational instructions in the formula language of the spreadsheet program, the computational instructions corresponding to transformations of data to be streamed through the first spreadsheet instantiation; creating a dependence graph data structure corresponding to the first spreadsheet instantiation, with the dependence graph including;
(i) a plurality of nodes respectively corresponding to the cells of the first spreadsheet instantiation, (ii) incoming edges corresponding to streaming input data being streamed into the first spreadsheet instantiation, (iii) outgoing edges corresponding to streaming data being streamed out of the first spreadsheet instantiation, and (iv) intermediate edges reflecting computational dependencies among and between the plurality of cells of the first spreadsheet instantiation; andcreating a circuit representation of the first spreadsheet instantiation using the dependence graph data set, with the circuit representation being operable to transform an input data stream into an output data stream as if the data had been streamed through the first instantiation spreadsheet. - View Dependent Claims (2, 3)
-
-
4. A computer program product (CPP) comprising:
-
a machine readable storage device; and computer code stored on the machine readable storage device, with the computer code including instructions for causing a processor(s) set to perform operations including the following; providing a computer-implemented spreadsheet program that includes a user interface including;
(i) definition of syntax for defining streaming data to be streamed through spreadsheet instantiations and (ii) formula language for defining computations to be performed and updated on spreadsheet instantiations,creating a first spreadsheet instantiation including a plurality of cells, with the creation of the first spreadsheet instantiation including; accepting, from a user, data streaming instructions according to the syntax for defining streaming data defining data to be streamed through the first spreadsheet instantiation, and accepting, from the user, computational instructions in the formula language of the spreadsheet program, the computational instructions corresponding to transformations of data to be streamed through the first spreadsheet instantiation; creating a dependence graph data structure corresponding to the first spreadsheet instantiation, with the dependence graph including;
(i) a plurality of nodes respectively corresponding to the cells of the first spreadsheet instantiation, (ii) incoming edges corresponding to streaming input data being streamed into the first spreadsheet instantiation, (iii) outgoing edges corresponding to streaming data being streamed out of the first spreadsheet instantiation, and (iv) intermediate edges reflecting computational dependencies among and between the plurality of cells of the first spreadsheet instantiation, andcreating a circuit representation of the first spreadsheet instantiation using the dependence graph data set, with the circuit representation being operable to transform an input data stream into an output data stream as if the data had been streamed through the first instantiation spreadsheet. - View Dependent Claims (5, 6)
-
-
7. A computer system (CS) comprising:
-
a processor(s) set; a machine readable storage device; and computer code stored on the machine readable storage device, with the computer code including instructions for causing the processor(s) set to perform operations including the following; providing a computer-implemented spreadsheet program that includes a user interface including;
(i) definition of syntax for defining streaming data to be streamed through spreadsheet instantiations and (ii) formula language for defining computations to be performed and updated on spreadsheet instantiations,creating a first spreadsheet instantiation including a plurality of cells, with the creation of the first spreadsheet instantiation including; accepting, from a user, data streaming instructions according to the syntax for defining streaming data defining data to be streamed through the first spreadsheet instantiation, and accepting, from the user, computational instructions in the formula language of the spreadsheet program, the computational instructions corresponding to transformations of data to be streamed through the first spreadsheet instantiation; creating a dependence graph data structure corresponding to the first spreadsheet instantiation, with the dependence graph including;
(i) a plurality of nodes respectively corresponding to the cells of the first spreadsheet instantiation, (ii) incoming edges corresponding to streaming input data being streamed into the first spreadsheet instantiation, (iii) outgoing edges corresponding to streaming data being streamed out of the first spreadsheet instantiation, and (iv) intermediate edges reflecting computational dependencies among and between the plurality of cells of the first spreadsheet instantiation, andcreating a circuit representation of the first spreadsheet instantiation using the dependence graph data set, with the circuit representation being operable to transform an input data stream into an output data stream as if the data had been streamed through the first instantiation spreadsheet. - View Dependent Claims (8, 9)
-
Specification