DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
This action is in response to applicant’s arguments and amendments filed 3/18/2026, which are in response to USPTO Office Action mailed 12/22/2025. Applicant’s arguments have been considered with the results that follow: THIS ACTION IS MADE FINAL.
Allowable Subject Matter
Claims 4, 9, 14, 19 and 24 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1, 3, 10-11, 13, 20-21, 23 and 30 is/are rejected under 35 U.S.C. 103 as being unpatentable over VADAPANDESHWARA et al. (US PGPUB No. 2023/0161945; Pub. Date: May 25, 2023) in view of Muenkel (US Patent No.: 9,330,080; Date of Patent: May 3, 2016) and SHUSTER et al. (US PGPUB No. 2018/0052891; Pub. Date: Feb. 22, 2018)
Regarding independent claim 1,
VADAPANDESHWARA discloses a system comprising: at least one hardware processor; and at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising: detecting a run cell message received from a notebook User Interface (UI) application as a protocol buffer message, See Paragraphs [0029]-[0030], (Disclosing a system for automatic two-way generation and synchronization of notebook and pipeline. The system may provide a notebook interface 200 for executing code A notebook may be multilingual including kernels for interpreting a plurality of languages including Python and SQL. A notebook representation comprises a series of paragraphs 221 also referred to as cells.) See Paragraph [0045], (Synchronizer service 345 manages API requests for particular paragraphs of a notebook including executing, viewing, editing or deleting particular paragraphs within a notebook using a unique identifier to select the paragraph for processing. Note FIG. 8 illustrating computing device 800 embodied as a computer 805 comprising at least one hardware processor 810 and a memory 815 for executing the method, a system comprising: at least one hardware processor; and at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising: detecting a run cell message received from a notebook User Interface (UI) application (e.g. Note [0022] wherein user computing devices may access a notebook GUI via a notebook interface) as a protocol buffer message (e.g. an API is utilized to process requests against a notebook, including executing code of individual paragraphs in the multi-lingual notebook ).)
the run cell message specifying a set of cells of a notebook and metadata indicating a cell type for each cell of the set of cells, the cell type identifying whether a respective cell is an SQL cell or a Python cell; See Paragraph [0030], (Paragraphs of a notebook may include an indication of the interpreter used to execute a paragraph. An example is provided wherein a "% python" magic indicates that a Python interpreter is required to execute the commands for that particular paragraph. Similar magic commands may be used for the plurality of languages of a multi-lingual notebook, i.e. the run cell message specifying a set of cells of a notebook (e.g. Note [0044] wherein executing a paragraph includes identifying a unique identifier of said paragraph from metadata) and metadata indicating a cell type for each cell of the set of cells (e.g. a paragraph may be associated with a particular interpreter and programming language based on a magic function associated with code in notebook paragraphs), the cell type identifying whether a respective cell is an SQL cell or a Python cell (e.g. magic functions indicate an interpreter required to execute a paragraph and indicates a programming language which includes at least Python and SQL);)
the global namespace being shared between the SQL cell and the Python cell within the notebook; See Paragraph [0030], (Notebook interface 220 for executing code provides a multilingual notebook. Paragraphs of a notebook may require kernels for interpreting a plurality of languages including Python and SQL, i.e. the global namespace (e.g. the spreadsheet application environment comprising a plurality of paragraphs having a plurality of associated programming languages including Python and SQL) being shared between the SQL cell and the Python cell within the notebook (e.g. the multi-lingual notebook comprises paragraphs configured to execute code using different interpreters for different programming languages including Python and SQL);)
VADAPANDESHWARA does not disclose the system configuring at least a first cell of the set of cells as a Structured Query Language (SQL) cell within the notebook based on the cell type;
causing execution of a query within at least one SQL statement associated with the SQL cell by a database system to generate cell results;
storing the cell results of the SQL cell in a global namespace of the notebook;
and configuring access to the cell results in the global namespace by at least a second cell of the set of cells.
Muenkel discloses configuring at least a first cell of the set of cells as a Structured Query Language (SQL) cell within the notebook based on the cell type; See Col. 12, lines 4-24, (A published spreadsheet may allow for users to set read-only and/or results only access to individual cells) See Col. 2, lines 20-34, (A spreadsheet may include a description for a 2-dimensional grid of cells, which comprises a description for how the stored value of a spreadsheet cell is to be updated at the database and how the stored value may be retrieved from the database, such as by using a database query, i.e. configuring at least a first cell of the set of cells as a Structured Query Language (SQL) cell within the notebook based on the cell type (e.g. the spreadsheet representation includes a description of cell characteristics, including relating to query execution as well as cell permissions.)
The examiner notes that, based on the discussion above, the system of Muenkel is capable of configuring cells of a spreadsheet for executing database queries by designating the cells as read-only, result-only etc. which indicate a cell type.
causing execution of a query within at least one SQL statement associated with the SQL cell by a database system to generate cell results; See Col. 6, lines 61-67, (A spreadsheet owner may indicate the format for displaying the results of the submitted expression. For example, an owner may indicate that the results of an expression are to be presented over an area of the spreadsheet. The enterprise application program 110 may also compute values for individual cells in the case where an expression results in multiple search results) Note FIG. 1 & Col. 6, lines 22-27 wherein enterprise application platform 110 extracts a database query from a cell's expression and processes the database query to determine value for the spreadsheet cell. FIG. 1 illustrates enterprise application platform 110 as comprising database servers 118 and database 120, i.e. causing execution of a query within at least one SQL statement associated with the SQL cell (e.g. a user may provide input to generate a cell output comprising search results) by a database system (e.g. enterprise application platform 110 comprises components for query processing) to generate cell results;)
storing the cell results of the SQL cell in a global namespace of the notebook, See Col. 6, lines 60-65, (A spreadsheet owner may indicate the format for displaying the results of the submitted expression. For example, an owner may indicate that the results of an expression are to be presented over an area of the spreadsheet. The enterprise application program 110 may also compute values for individual cells in the case where an expression results in multiple search results.) See Col. 6, lines 4-10, (Enterprise application platform 110 may associate a cell's name with a namespace attributed to the spreadsheet owner, i.e. storing the cell results of the SQL cell in a global namespace of the notebook;)
and configuring access to the cell results in the global namespace by at least a second cell of the set of cells. See Col. 6, lines 60-65, (A spreadsheet owner may indicate that the results of an expression are to be presented over an area of the spreadsheet. The enterprise application program 110 may also compute values for individual cells in the case where an expression results in multiple search results. Note Col. 6, lines 4-10 wherein enterprise application platform 110 may associate a cell's name with a namespace attributed to the spreadsheet owner, i.e. configuring access to the cell results in the global namespace by at least a second cell of the set of cells (e.g. the calculated search results are placed into cells by enterprise application platform 100 wherein the cells of the spreadsheet are associated with a namespace attributed to the spreadsheet owner).)
VADAPANDESHWARA and Muenkel are analogous art because they are in the same field of endeavor, spreadsheet applications. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of VADAPANDESHWARA to include the method of processing spreadsheet namespaces as disclosed by Muenkel. Col. 4, lines 39-43 of Muenkel discloses that the system may allow spreadsheet owners to share access to spreadsheet information at varying degrees of granularity. A user may set varying access levels such as read-write access, a read-only access, and a results-only access as well as providing access to either the entire spreadsheet or only to portions of said spreadsheet.
VADAPANDESHWARA-Muenkel does not disclose the step the at least second cell configured as a Python cell.
SHUSTER discloses the step wherein the at least second cell configured as a Python cell. See Paragraph [0082]-[0083], (Disclosing a data processing method for creating and storing analytical notebooks in digital computer storage, wherein each analytical notebook comprises notebook metadata and one or more computational cells. FIG. 3 illustrates a menu that facilitates creating a notebook allowing a user to specify a kernel for use with said notebook, which may include the PYTHON kernel. Note [0032] wherein the specified kernel is used to execute source code to generate output data using notebook data, i.e. the at least second cell configured as a Python cell (e.g. a notebook associated with a PYTHON kernel utilizes python functions and libraries to execute code over cells of a notebook).)
VADAPANDESHWARA, Muenkel and SHUSTER are analogous art because they are in the same field of endeavor, spreadsheet applications. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of VADAPANDESHWARA-Muenkel to include the method of configuring a notebook according to a specified kernel for execution as disclosed by SHUSTER. Paragraph [0049] of SHUSTER discloses that notebook manager 106 allows a user to switch between notebooks or cells or functions within notebooks that use different source languages which improves flexibility of the system without sacrificing security integrity.
Regarding dependent claim 3,
As discussed above with claim 1, VADAPANDESHWARA-Muenkel-SHUSTER discloses all of the limitations.
Muenkel further discloses the step of assigning the cell results stored in the global namespace, a variable name and a type. See Col. 6, lines 60-65, (A spreadsheet owner may indicate that the results of an expression are to be presented over an area of the spreadsheet. The enterprise application program 110 may also compute values for individual cells in the case where an expression results in multiple search results. Note Col. 6, lines 4-10 wherein enterprise application platform 110 may associate a cell's name with a namespace attributed to the spreadsheet owner.) See Col. 5, lines 22-35, (Spreadsheet 204 may be embodied as a profit and loss spreadsheet for a car company. Columns of the spreadsheet may correspond to profit information and cells may obtain their data from spreadsheets owned by managers. Cell values may include profit information and/or other relevant metrics, i.e. assigning the cell results stored in the global namespace (e.g. query results may be placed onto a spreadsheet corresponding to the namespace of the user), a variable name (e.g. query results are assigned to cells of a spreadsheet which comprise columns indicating properties) and a type (e.g. cells of a spreadsheet may represent numerical information such as profit information).)
Regarding dependent claim 10,
As discussed above with claim 1, VADAPANDESHWARA-Muenkel-SHUSTER discloses all of the limitations.
VADAPANDESHWARA discloses storing the cell results of the SQL cell in a cell object within the global namespace of the notebook, the cell object comprising the cell results of the SQL cell and at least one additional cell result of the at least second cell. See Paragraph [0030], (Notebook interface 220 includes kernels for executing paragraphs written in differing languages including Python and SQL. A paragraph may include functions for executing a Python script by spawning a python session to execute said script. For an SQL query, the kernel requests a JDBC connection to an SQL server to execute a command.) See Paragraph p0044], (Generation of a notebook paragraph includes determining or identifying a set of paragraphs on which execution of the new notebook paragraph depends and inserting the new notebook paragraph into the notebook following the set of paragraphs, i.e. storing cell results in a cell object (e.g. the new paragraph), the cell object comprising the cell results of the SQL cell and at least one additional cell result of the at least second cell (e.g. a new paragraph may depend on a set of paragraphs of any of the supported languages which includes Python and SQL.).
Additionally, Muenkel further discloses the step of storing the cell results of the SQL cell in a cell object within the global namespace of the notebook, the cell object comprising the cell results of the SQL cell. See Col. 6, lines 60-65, (A spreadsheet owner may indicate that the results of an expression are to be presented over an area of the spreadsheet. The enterprise application program 110 may also compute values for individual cells in the case where an expression results in multiple search results. Note Col. 6, lines 4-10 wherein enterprise application platform 110 may associate a cell's name with a namespace attributed to the spreadsheet owner, i.e. storing the cell results of the SQL cell in a cell object within the global namespace of the notebook, the cell object comprising the cell results of the SQL cell.)
While Muenkel does not explicitly disclose a global namespace having two different cell types, the system of VADAPANDESHWARA describes a multi-lingual spreadsheet interface that may process Python code and SQL queries within individual paragraphs as discussed above.
Regarding independent claim 11,
The claim is analogous to the subject matter of independent claim 1 directed to a method or process and is rejected under similar rationale.
Regarding dependent claim 13,
The claim is analogous to the subject matter of dependent claim 3 directed to a method or process and is rejected under similar rationale.
Regarding dependent claim 20,
The claim is analogous to the subject matter of dependent claim 10 directed to a method or process and is rejected under similar rationale.
Regarding independent claim 21,
The claim is analogous to the subject matter of independent claim 1 directed to a computer system and is rejected under similar rationale.
Regarding dependent claim 23,
The claim is analogous to the subject matter of dependent claim 3 directed to a computer system and is rejected under similar rationale.
Regarding dependent claim 30,
The claim is analogous to the subject matter of dependent claim 10 directed to a computer system and is rejected under similar rationale.
Claim(s) 7-8, 17-18 and 27-28 is/are rejected under 35 U.S.C. 103 as being unpatentable over VADAPANDESHWARA in view of Muenkel and SHUSTER as applied to claim 1 above, and further in view of Kulkarni et al. (US Patent No. 11,500,871; Date of Patent: Nov. 14, 2022).
Regarding dependent claim 7,
As discussed above with claim 1, VADAPANDESHWARA-Muenkel-SHUSTER discloses all of the limitations.
VADAPANDESHWARA-Muenkel-SHUSTER does not disclose the step of detecting the at least one SQL statement within the SQL cell comprises a multi-SQL statement;
and performing a templating engine substitution of one or more variables in the multi-SQL statement to generate a revised multi-SQL statement.
Kulkarni further discloses the step of detecting the at least one SQL statement within the SQL cell comprises a multi-SQL statement; See Col. 50, lines 34-38, (Data science platform 504 may receive an SQL query for analysis which includes detection and identification of each operator comprising the SQL query, i.e. detecting the at least one SQL statement within the SQL cell comprises a multi-SQL statement;)
and performing a templating engine substitution of one or more variables in the multi-SQL statement to generate a revised multi-SQL statement. See Col. 50, lines 49-59, (Data science platform 504 may alter an SQL query following analysis of each operator's input and output schema by referencing a corresponding library for each operator, i.e. performing a templating engine substitution of one or more variables in the multi-SQL statement to generate a revised multi-SQL statement (e.g. the operator library is used by platform 504 in order to alter/re-write the query).)
VADAPANDESHWARA, Muenkel, SHUSTER and Kulkarni are analogous art because they are in the same field of endeavor, spreadsheet applications. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of VADAPANDESHWARA-Muenkel-SHUSTER to include the method of performing query execution on a spreadsheet application as disclosed by Kulkarni. Col. 20, lines 45-60 of Kulkarni disclose that the system allows for time-based searching of a storage system wherein stored events are stored in buckets associated with a specific time range based on timestamps. This allows for improved time-based searching as well as allowing for events with more recent timestamps to be stored in faster memory to facilitate faster retrieval.
Regarding dependent claim 8,
As discussed above with claim 7, VADAPANDESHWARA-Muenkel-SHUSTER discloses all of the limitations.
Kulkarni further discloses the step of splitting the revised multi-SQL statement into a plurality of SQL statements; See Col. 46, lines 23-29, (SPLN service component 506 may convert the input query into a Directed Acyclic Graph 525 comprising individual tasks that are provided to one or more task managers to execute data retrieval and operation tasks as set forth in the query, i.e. splitting the revised multi-SQL statement into a plurality of SQL statements.)
and causing execution of the plurality of SQL statements to generate the cell results. See Col. 46, lines 23-29, (SPLN service component 506 may convert the input query into a Directed Acyclic Graph 525 comprising individual tasks that are provided to one or more task managers to execute data retrieval and operation tasks as set forth in the query, i.e. causing execution of the plurality of SQL statements to generate the cell results (e.g. a query may be triggered by execution of one or more cells of the JUPYTER notebook).)
VADAPANDESHWARA, Muenkel, SHUSTER and Kulkarni are analogous art because they are in the same field of endeavor, spreadsheet applications. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of VADAPANDESHWARA-Muenkel-SHUSTER to include the method of performing query execution on a spreadsheet application as disclosed by Kulkarni. Col. 20, lines 45-60 of Kulkarni disclose that the system allows for time-based searching of a storage system wherein stored events are stored in buckets associated with a specific time range based on timestamps. This allows for improved time-based searching as well as allowing for events with more recent timestamps to be stored in faster memory to facilitate faster retrieval.
Regarding dependent claim 17,
The claim is analogous to the subject matter of dependent claim 7 directed to a method or process and is rejected under similar rationale.
Regarding dependent claim 18,
The claim is analogous to the subject matter of dependent claim 8 directed to a method or process and is rejected under similar rationale.
Regarding dependent claim 27,
The claim is analogous to the subject matter of dependent claim 7 directed to a computer system and is rejected under similar rationale.
Regarding dependent claim 28,
The claim is analogous to the subject matter of dependent claim 8 directed to a computer system and is rejected under similar rationale.
Claim(s) 2, 12 and 22 is/are rejected under 35 U.S.C. 103 as being unpatentable over VADAPANDESHWARA in view of Muenkel and SHUSTER as applied to claim 1 above, and further in view of Woods (US PGPUB No.2017/0199728; Pub. Date: Jul. 13, 2017).
Regarding dependent claim 2,
As discussed above with claim 1, VADAPANDESHWARA-Muenkel-SHUSTER discloses all of the limitations.
VADAPANDESHWARA-Muenkel-SHUSTER does not disclose the step of configuring the notebook via a notebook adapter of a user-defined function (UDF) executing at a computing node of a database system.
Woods discloses the step of configuring the notebook via a notebook adapter of a user-defined function (UDF) executing at a computing node of a database system. See Paragraph [0024], (Disclosing a system for collaborative management of a plurality of modelling tools. The system comprises a tool creation engine 214 configured to provide a utility for creating and sharing user-defined functions that work in a spreadsheet application, i.e. configuring the notebook via a notebook adapter of a user-defined function (UDF) executing at a computing node of a database system (e.g. configuring the notebook by adding functionality via user-defined functions).)
VADAPANDESHWARA, Muenkel, SHUSTER and Woods are analogous art because they are in the same field of endeavor, spreadsheet applications. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of VADAPANDESHWARA-Muenkel-SHUSTER to include the tool creation engine disclosed by Woods. Paragraph [0024] of Woods discloses that tool creation engine 214 provides a single-click utility tool for creation of new modules and functions with easy to fill-in templates of code that provides additional functionality for branching and revising existing tools.
Regarding dependent claim 12,
The claim is analogous to the subject matter of dependent claim 2 directed to a method or process and is rejected under similar rationale.
Regarding dependent claim 22,
The claim is analogous to the subject matter of dependent claim 2 directed to a computer system and is rejected under similar rationale.
Claim(s) 5, 15 and 25 is/are rejected under 35 U.S.C. 103 as being unpatentable over VADAPANDESHWARA in view of Muenkel and SHUSTER as applied to claim 1 above, and further in view of Barrett (US PGPUB No. 2024/0126517; Pub. Date: Apr. 18, 2024).
Regarding dependent claim 5,
As discussed above with claim 1, VADAPANDESHWARA-Muenkel-SHUSTER discloses all of the limitations.
VADAPANDESHWARA-Muenkel-SHUSTER does not disclose the step of generating the at least first cell as the SQL cell based on a templating engine associated with the notebook.
Barrett discloses the step of generating the at least first cell as the SQL cell based on a templating engine associated with the notebook. See Paragraph [0115], (The Python templating tool "jinja' may be used to create custom functions to write code in a second language such as SQL or any domain-specific programming language. Note [0110] wherein python code represents user commands used to generate SQL queries) See Paragraph [0144], (The compiled bespoke code is configured to query one or more database systems and return results of the query to the user device 108 and/or feature analysis device 400, i.e. generating the at least first cell as the SQL cell (e.g. generating an SQL query via the jinja template which, when executed, provides output results) based on a templating engine associated with the notebook (e.g. the jinja template is associated with the system for retrieving database data).)
The examiner notes that while Barrett is directed to a database system, the Python templating tool may be provided for a spreadsheet management system such as that of Muenkel which is configured to execute SQL queries over spreadsheet data arranged into columns and rows similar to that of a relational database system.
VADAPANDESHWARA, Muenkel, SHUSTER and Barrett are analogous art because they are in the same field of endeavor, data retrieval via structured queries. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of VADAPANDESHWARA-Muenkel-SHUSTER to include the method of generating SQL via jinja templating tools as disclosed by Barrett. Paragraph [0115] of Barrett discloses that the use of the Python templating tool makes the system compatible with function types composed with open-source tools. Jinja allows a user to specify a custom Python template function that allows the system to write code in additional languages.
Regarding dependent claim 15,
The claim is analogous to the subject matter of dependent claim 5 directed to a method or process and is rejected under similar rationale.
Regarding dependent claim 25,
The claim is analogous to the subject matter of dependent claim 5 directed to a computer system and is rejected under similar rationale.
Claim(s) 6, 16 and 26 is/are rejected under 35 U.S.C. 103 as being unpatentable over VADAPANDESHWARA in view of Muenkel, SHUSTER and Barrett as applied to claim 5 above, and further in view of CHENG et al. (Publication Number: CN 117762645 B; Publication Date: 2024-05-07).
Regarding dependent claim 6,
As discussed above with claim 5, VADAPANDESHWARA-Muenkel-SHUSTER-Barrett discloses all of the limitations.
VADAPANDESHWARA-Muenkel-SHUSTER-Barrett does not disclose the step wherein the templating engine is a Jinja templating engine, and the operations comprising: causing variable substitution of one or more variables in the at least one SQL statement with one or more strings based on the Jinja templating engine to generate a revised SQL statement;
process[ing] the revised SQL statement to obtain the cell results.
CHENG discloses the step wherein the templating engine is a Jinja templating engine, and the operations comprising: causing variable substitution of one or more variables in the at least one SQL statement with one or more strings based on the Jinja templating engine to generate a revised SQL statement; See Pg. 5, lines 29-37, (The system employs resource optimization rules using the Jinja2 template syntax that supports replacement of values by passing parameters and subsequently generating a MySQL configuration file according to the template, i.e. the operations comprising: causing variable substitution of one or more variables in the at least one SQL statement with one or more strings based on the Jinja templating engine to generate a revised SQL statement (e.g. the Jinja2 template syntax indicates where and how to replace values according to a variable format).)
process[ing] the revised SQL statement to obtain the cell results.
See Pg. 5, lines 51-57, (The system may utilize the Jinja2 template format to query database parameter variables more conveniently according to a configuration template. The querying of database parameters is directed to managing and monitoring MySQL master-slave clusters, i.e. process[ing] the revised SQL statement to obtain the cell results (e.g. the query results may be provided to a user via an application).)
The examiner notes that query results may be provided to an application such as the spreadsheet application of Muenkel.
VADAPANDESHWARA, Muenkel, SHUSTER, Barrett and CHENG are analogous art because they are in the same field of endeavor, data retrieval. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of VADAPANDESHWARA-Muenkel-SHUSTER-Barrett to include the method of generating SQL via Jinja templating tools as disclosed by CHENG. Pg. 1, line 58 - Pg. 2, line 5 of CHENG disclose that the system provides at least the following beneficial effects: the database cluster can realize centralized and batch distribution of database parameters while simultaneously configuring scripts and tasks that allow each database to perform automatic adjustment of performance parameters according to the script configurations. This represents a simplification of manual deployment while satisfying personalized configuration without necessarily requiring human participation.
Response to Arguments
Applicant's arguments with regard to the rejection of claims 1, 11 and 21 under 35 USC 103 have been fully considered but they are not persuasive.
Regarding independent claim 1,
Applicant argues the following:
B. None of the references teaches causing execution of a query within at least one SQL statement associated with the SQL cell by a database system to generate cell results.
The examiner respectfully disagrees,
Col. 6, lines 22-32 of Muenkel disclose the following:
“Some spreadsheet owners may desire to generate a spreadsheet that aggregates data from other spreadsheet cells that satisfy a condition. In some example embodiments, the enterprise application platform 110 may extract a database query from a cell's expression, and may process the database query to determine a value for the spreadsheet cell. Thus, the spreadsheet owner may create an expression for a spreadsheet cell that includes a database query. This database query may, for example, include search parameters for a column heading or a row heading for a table within a spreadsheet, and/or may include search parameters for a property of a spreadsheet cell.”
Which explicitly describes executing a database query from a cell expression to determine a value of a spreadsheet cell. Additionally, the prior context of a global shared namespace having both Python and SQL cells is disclosed by the newly cited primary reference, VADAPANDESHWARA. Paragraph [0030] of VADAPANDESHWARA describes a multi-lingual notebook that is capable of executing code at cell-level in multiple languages including SQL, which makes clear that database queries, such as queries written in SQL may be executed using spreadsheet applications.
C. None of the references teaches or suggests storing the cell results of the SQL cell in a global namespace of the notebook, the global namespace being shared between the SQL cell and the Python cell within the notebook.
The examiner respectfully disagrees,
Muenkel discloses a process of executing and storing database query results in a cell of a spreadsheet.
As discussed in the rejection above, VADAPANDESHAWARA discloses the amended limitation relating to a global namespace being shared between SQL and Python cells in Paragraph [0030] which describes a multilingual notebook interface comprising a plurality of kernels for interpreting programming languages including Python and SQL.
D. The motivation to combine does not yield the claimed invention.
The examiner respectfully disagrees,
Paragraph [0030] of VADAPANDESHAWARA describes a multilingual notebook interface comprising a plurality of kernels for interpreting programming languages including Python and SQL wherein individual cells, referred to as paragraphs in the reference, may be associated with different languages on a per-paragraph basis. Therefore the currently presented primary reference describes a global namespace shared between SQL and Python cells.
I. Claims 10, 20 and 30: Cell Object in Global Namespace Comprising Results of Multiple Cells.
As in the discussion above with regard to the spreadsheet application environment of VADAPANDESHAWARA, Paragraph [0030] of VADAPANDESHAWARA describes a multilingual notebook interface comprising a plurality of kernels for interpreting programming languages including Python and SQL wherein individual cells, referred to as paragraphs in the reference, may be associated with different languages on a per-paragraph basis. Therefore, the currently presented primary reference describes a global namespace shared between SQL and Python cells.
J. Claims 3, 13 and 13: Assigning Cell Results Stored in the Global Namespace a Variable Name and a Type.
The examiner respectfully disagrees,
While Applicant argues that the “variable name” is a programmatic identifier that enables subsequent cells to reference the SQL cell results within the global namespace” and “the claimed “type” is a programmatic data type associated with the cell results” these descriptions are only presented in the Specification as non-limiting examples of what may be considered a “variable name” and “type”. Note the cited portion of Paragraph [0030] of Applicant’s Specification which states (e.g. “a data frame type such as a Pandas data frame).
The examiner suggests amending dependent claim 3 to clarify that the variable name is a programmatic identifier that enables subsequent cells to reference the SQL cell results within the global namespace and that the type refers to a programmatic data type associated with the cell results. While claims must be interpreted in view of the Specification, the characteristics of the “variable name” and “type” are not present in the claims as currently presented.
Arguments A, E, F, G and H,
The arguments indicated above relate to Applicant’s amendments which modified the scope of the claims and required the newly presented prior art rejections in view of VADAPANDESHAWARA and are therefore moot in view of the new rejection of independent claim 1 as discussed above..
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Fernando M Mari whose telephone number is (571)272-2498. The examiner can normally be reached Monday-Friday 7am-4pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ann J. Lo can be reached at (571) 272-9767. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/FMMV/Examiner, Art Unit 2159 /MARC S SOMERS/Primary Examiner, Art Unit 2159