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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on February 09, 2026 has been entered.
In response to Applicant’s claims filed on February 09, 2026, claims 1-3, 5-20 are now pending for examination in the application.
Information Disclosure Statement
The information disclosure statements (IDS) filed on 04/16/26 has been considered by the Examiner and made of record in the application file.
Response to Arguments
This office action is in response to amendment filed 02/09/2026. In this action Claim(s) 1-3, 5-12 and 14-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bar Oz et al. (US Pub. No. 20200201887) and Peloski (US Pub. No. 20170262495) in further view of Roth et al. (US Patent No. 10469330). The Peloski reference has been added to address the amendment of accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files.
Applicant’s arguments:
In regards to claim 1 on Page(s) 7, applicant argues “accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files.”
Examiner’s Reply:
Applicant argues that the amended claims comprises statutory subject matter. Examiner respectfully disagrees. If a claim limitation, under its broadest reasonable interpretation, covers a commercial interaction or mental process (eg querying a database), then it falls within the “Mental process” grouping of abstract ideas set forth in the 2019 PEG. Accordingly, the claim recites an abstract idea. The examiner notes that the computer as recited in the claims are being used for querying and presenting configuration data (being used a generic tools). Therefore, the abstract idea recited in the claims is generally linking it to a computer environment, and does not integrate the abstract idea into a practical application.
Double Patenting
A rejection based on double patenting of the "same invention" type finds its support in the language of 35 U.S.C. 101 which states that "whoever invents or discovers any new and useful process ... may obtain a patent therefor ..." (Emphasis added). Thus, the term "same invention," in this context, means an invention drawn to identical subject matter. See Miller v. Eagle Mfg. Co., 151 U.S. 186 (1894); In re Ockert, 245 F.2d 467, 114 USPQ 330 (CCPA 1957); and In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970).
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory obviousness-type double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the conflicting application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement.
Effective January 1, 1994, a registered attorney or agent of record may sign a terminal disclaimer. A terminal disclaimer signed by the assignee must fully comply with 37 CFR 3.73(b).
Claims 1-3, 5-20 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12147487. Although the conflicting claims are not identical, they are not patentably distinct from each other because claims 1-20 of Patent No. 12147487 contain every element of claims 1-3, 5-20 of the instant application and as such anticipates claims 1-3, 5-20 of the instant application.
The difference between the inventions as recited in claim 1 of ‘560 application and ‘487 patent is that claim 1 of ‘560 recites determining that the query refers to a data structure stored in non-volatile memory, wherein the data structure represents a virtual table of a database.
A person of ordinary skills would therefore be motivated to remove/modify some of the claim elements recited in the above two claims without affecting the context of the invention, i.e., machine learning. The dependent claims incorporate the differences indicated above and are considered obvious variants under the above rationale, and are rejected for the same reasons.
Appl. No. 18582560
Patent No. 12147487
1. A method comprising:
receiving, at an application, a query from a client device;
determining that the query refers to a data structure stored in non-volatile memory, wherein the data structure represents a virtual table of a database;
identifying, based on the query and a block size, a block of data within the data structure;
storing the block in a volatile memory that is accessible to the application; and
identifying, by the application, a set of entries within the block that are responsive to the query; and
transmitting, by the application, the identified set of entries to the client device.
1. A method comprising:
receiving, at a web server application, a virtual database table query specifying a non-database file stored in non-volatile memory, a block number of a block of data within the non-database file, and a block size, wherein the non-database file includes entries representing differences between snapshots of configuration data;
identifying, based on the block size, the block of data within the non-database file;
storing the block in a volatile memory that is accessible to the web server application; and
in response to the virtual database table query, transmitting, by the web server application, a set of the entries within the block formatted for display in a list component of a graphical user interface.
19. A non-transitory computer-readable medium storing program instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations comprising:
receiving, at an application, a query from a client device;
determining that the query refers to a data structure stored in non-volatile memory, wherein the data structure represents a virtual table of a database;
identifying, based on the query and a block size, a block of data within the data structure; storing the block in a volatile memory that is accessible to the application; and
identifying, by the application, a set of entries within the block that are responsive to the query; and
transmitting, by the application, the identified set of entries to the client device.
19. A non-transitory computer-readable medium storing program instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations comprising:
receiving, at a web server application, a virtual database table query specifying a non-database file stored in non-volatile memory, a block number of a block of data within the non-database file, and a block size, wherein the non-database file includes entries representing differences between snapshots of configuration data;
identifying, based on the block size, the block of data within the non-database file; storing the block in a volatile memory that is accessible to the web server application; and
in response to the virtual database table query, transmitting, by the web server application, a set of the entries within the block formatted for display in a list component of a graphical user interface.
20. A computing system comprising:
one or more processors;
memory; and
program instructions, stored in the memory, that upon execution by the one or more processors cause the computing system to perform operations comprising:
receiving, at an application, a query from a client device;
determining that the query refers to a data structure stored in non-volatile memory, wherein the data structure represents a virtual table of a database;
identifying, based on the query and a block size, a block of data within the data structure;
storing the block in a volatile memory that is accessible to the application; and
identifying, by the application, a set of entries within the block that are responsive to the query; and
transmitting, by the application, the identified set of entries to the client device.
20. A computing system comprising:
one or more processors;
memory; and
program instructions, stored in the memory, that upon execution by the one or more processors cause the computing system to perform operations comprising:
receiving, at a web server application, a virtual database table query specifying a non-database file stored in non-volatile memory, a block number of a block of data within the non-database file, and a block size, wherein the non-database file includes entries representing differences between snapshots of configuration data;
identifying, based on the block size, the block of data within the non-database file; storing the block in a volatile memory that is accessible to the web server application; and
in response to the virtual database table query, transmitting, by the web server application, a set of the entries within the block formatted for display in a list component of a graphical user interface.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
*-Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 1-3, 5-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Claim 1-3, 5-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The judicial exception is not integrated into a practical application. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The eligibility analysis in support of these findings is provided below, in accordance with the 2019 Revised Patent Subject Matter Eligibility Guidance, hereinafter 2019 PEG.
Step 1. In accordance with Step 1 of the eligibility inquiry (as explained in MPEP 2106), it is noted that the system, method, and portable device of claims 1-3, 5-20 are directed to one of the eligible categories of subject matter and therefore satisfy Step 1.
Step 2A. In accordance with Step 2A, prong one of the 2019 PEG, it is noted that the independent claims recite an abstract idea falling within the Mathematical Concepts & Mental Processes enumerated groupings of abstract ideas set forth in the 2019 PEG. Examiner is of the position that independent claims 1, 19, and 20 are directed towards the Mental Process Grouping of Abstract Ideas.
Independent claims 1, 19, and 20 recites the following limitations directed towards a Mental Processes:
identifying, by the application, a set of entries within the block that are responsive to the query (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to identify an entry).
Step 2A. In accordance with Step 2A, prong two of the 2019 PEG, the judicial exception is not integrated into a practical application because of the recitation in claim(s) 1, 19, and 20:
one or more processors (i.e., as a generic processor performing a generic computer function);
memory (i.e., as a generic component performing a generic computer function); and
program instructions, stored in the memory, that upon execution by the one or more processors cause the computing system to perform operations comprising:
receiving, at an application, a query from a client device (recites insignificant extra solution activity that amounts to mere data gathering);
accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files (recites insignificant extra solution activity that amounts to mere data access);
identifying, based on the query and a block size, a block of data within the data structure (recites insignificant extra solution activity that amounts to mere data retrieval);
storing the block in a virtual table in a volatile memory that is accessible to the application (recites insignificant extra solution activity that amounts to storing data);
transmitting, by the application, the identified set of entries to the client device (recites insignificant extra solution activity that amounts to transmitting data).
Step 2B. Similar to the analysis under 2A Prong Two, the claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. Because the additional elements of the independent claims amount to insignificant extra solution activity and/or mere instructions, the additional elements do not add significantly more to the judicial exception such that the independent claims as a whole would be patent eligible.
Therefore, independent claims 1, 19, and 20 are rejected under 35 U.S.C. 101.
With respect to claim(s) 2:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein the application is a web-based application (recites insignificant extrasolution activity of mere data gathering).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 3:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein the query specifies the block size and a block number of the block of data (recites insignificant extrasolution activity of mere data gathering).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 5:
Step 2A, prong one of the 2019 PEG:
wherein the data structure represents differences between snapshots of configuration data (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determine a reference).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no
additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 6:
Step 2A, prong one of the 2019 PEG:
wherein the data structure is specified by a unique identifier that is associated with differences between snapshots of the configuration data (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determine a reference).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no
additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 7:
Step 2A, prong one of the 2019 PEG:
wherein each of the entries relates to a configurable setting within the configuration data and contains a path, an action, a name, and one or both of a previous value of the configurable setting from a previous snapshot of the snapshots and a current value of the configurable setting from a current snapshot of the snapshots (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to identify an entry).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no
additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 8:
Step 2A, prong one of the 2019 PEG:
wherein each of the entries relates to a configurable setting within the configuration data and contains a path, an action, a name, and one or both of a previous value of the configurable setting from a previous snapshot of the snapshots and a current value of the configurable setting from a current snapshot of the snapshots (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to identify an entry).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no
additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 9:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
providing, by the application, a set of the entries within the block formatted for display in a component of a graphical user interface (recites insignificant extrasolution activity of providing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 10:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein the component of the graphical user interface is a list component, and wherein the list component is paginated so that between 10 and 100 of the entries are placed in the list component at any one time (recites insignificant extrasolution activity of providing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 11:
Step 2A, prong one of the 2019 PEG:
wherein identifying the block of data within the data structure comprises iterating, based on the block size, through the data structure until the block is located (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to identifying block data).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no
additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 12:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein the query also specifies a filter to apply to the entries, the method further comprising: before iterating through the data structure, applying the filter to the entries (recites insignificant extra solution activity that amounts to mere data gathering).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 13:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein the query also specifies a sorting operation to apply to the entries, the method further comprising: before iterating through the data structure, applying the sorting operation to the entries (recites insignificant extra solution activity that amounts to mere data gathering).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 14:
Step 2A, prong one of the 2019 PEG:
determining that the further set of entries includes an entry that is in a further block of data within the data structure (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determine an entry);
identifying, based on the block size, the further block within the data structure (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to identify a block).
Step 2A Prong Two Analysis:
receiving, at the application, a further query to load a further set of entries (recites insignificant extra solution activity that amounts to mere data gathering);
storing the further block in the volatile memory (recites insignificant extra solution activity that amounts to storing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 15:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein storing the further block into the volatile memory comprises replacing the block with the further block (recites insignificant extra solution activity that amounts to storing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 16:
Step 2A, prong one of the 2019 PEG:
wherein the data structure is used in place of storing the entries in a database (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determine a reference).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no
additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 17:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein the volatile memory is a volatile main memory of a computing system (recites insignificant extrasolution activity of storing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 18:
Step 2A, prong one of the 2019 PEG:
wherein the block size is between 100 and 5000 of the entries (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to identify a block).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no
additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
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, 5-12 and 14-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bar Oz et al. (US Pub. No. 20200201887) and Peloski (US Pub. No. 20170262495) in further view of Roth et al. (US Patent No. 10469330).
With respect to claim 1, Bar Oz et al. teaches a method comprising:
receiving, at an application, a query from a client device (Paragraph 70 discloses Server devices 202 may be configured to transmit data to and receive data from data storage 204. This transmission and retrieval may take the form of SQL queries or other types of database queries, and the output of such queries, respectively);
retrieving, based on the query and a block size, a block of data within the data structure (Paragraph 150 discloses discovery application 702 may be configured to transmit, to server device 700, a request to access the selected files, as indicated by arrow 714. This request may indicate specific information to be retrieved from the one or more files (e.g., portions of the file indicative of a type, name, provider, or version of software bus application 600));
storing the block in a virtual table in a volatile memory that is accessible to the application (Paragraph 181 discloses store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables);
identifying, by the application, a set of entries within the block that are responsive to the query (Paragraph 181 discloses catalog 842 may define the tables in database 840, the rows and columns that make up database 840, the relationships between the different tables within database 840, the data types associated with the columns, the model utilized by database 840 to store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables), among other possibilities).
Bar Oz et al. does not disclose accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files.
However, Peloski teaches accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files (Paragraph 37 discloses A query may include for example data insert, query, update and delete, schema creation and modification, data access control, and other data-centric operations typical of database query languages such as Structure Query Language (SQL)).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify Bar Oz et al. with Peloski to include accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files. See Bar Oz et al. Paragraphs 1-22.
The Bar Oz et al. reference as modified by Peloski does not disclose transmitting, by the application, the identified set of entries to the client device.
However, Roth et al. teaches transmitting, by the application, the identified set of entries to the client device (Column 15 Lines 6-28 discloses A client may submit a request for a multi-service view (e.g., covering either a specified set of services, or all the services to which the client account has access) of the account state as of a particular point in time, and may receive a response that indicates the resources allocated to the client account for each of the services, configuration settings at the service or resource level, and so on).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify Bar Oz et al. and Peloski with Roth et al. to include transmitting, by the application, the identified set of entries to the client device. This would have facilitated traversal of virtual tables.
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 2, Bar Oz et al. discloses the method of claim 1, wherein the application is a web-based application (Paragraph 180 discloses data stored on behalf of one or more software applications (e.g., applications 816, 818, 820, and 822)).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 3, Peloski discloses the method of claim 1, wherein the query specifies the block size and a block number of the block of data (Column 15 Lines 5-24 discloses storing, accessing and retrieving data, which may include any combination and number of data servers, databases, data storage devices and data storage media, in any standard, distributed, virtual or clustered system. Data stores, in an embodiment, communicate with block-level and/or object-level interfaces). The motivation to combine statement previously provided in the rejection of independent claim 1 provided above, combining the Bar Oz et al. reference and the Peloski reference is applicable to dependent claim 3.
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 5, Peloski discloses the method of claim 1, wherein the data structure represents differences between snapshots of configuration data (Paragraph 59 discloses store data, program instructions for the general-purpose network operations, or other information relating to the functionality of the embodiments described herein (or any combinations of the above). Program instructions may control execution of or comprise an operating system and/or one or more applications, for example. Memory 16 or memories 11, 16 may also be configured to store data structures, configuration data, encryption data, historical system operations information, or any other specific or generic non-program information described herein). The motivation to combine statement previously provided in the rejection of independent claim 1 provided above, combining the Bar Oz et al. reference and the Peloski reference is applicable to dependent claim 5.
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 5. Regarding claim 6, Bar Oz et al. discloses the method of claim 5, wherein the data structure is specified by a unique identifier that is associated with differences between snapshots of the configuration data (Paragraph 148 discloses identifiers, parameters, or attributes associated therewith).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 5. Regarding claim 7, Bar Oz et al. discloses the method of claim 5, wherein each of the entries relates to a configurable setting within the configuration data and contains a path, an action, a name, and one or both of a previous value of the configurable setting from a previous snapshot of the snapshots and a current value of the configurable setting from a current snapshot of the snapshots (Paragraph 120 discloses a CMDB can also be populated, as a whole or in part, by manual entry, configuration files, and third-party data sources).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 7. Regarding claim 8, Bar Oz et al. discloses the method of claim 7, wherein a particular entry of the entries contains a particular action indicating that the configurable setting has been added, removed, or edited, and wherein at least one of the previous value of the configurable setting or the current value of the configurable setting is not null (Paragraph 113 discloses dependencies and relationships between configuration items may be displayed on a web-based interface and represented in a hierarchical fashion. Thus, adding, changing, or removing such dependencies and relationships may be accomplished by way of this interface).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 9, Bar Oz et al. discloses the method of claim 1, wherein the transmitted set of the entries within the block are formatted for display in a component of a graphical user interface ((Paragraph 70 discloses server devices 202 may organize the received data into web page representations).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 9. Regarding claim 10, Bar Oz et al. discloses the method of claim 9, wherein the component of the graphical user interface is a list component, and wherein the list component is paginated so that between 10 and 100 of the entries are placed in the list component at any one time (Paragraph 70 discloses server devices 202 may organize the received data into web page representations).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 11, Bar Oz et al. discloses the method of claim 1, wherein identifying the block of data within the data structure comprises iterating, based on the block size, through the data structure until the block is located (Paragraph 222 discloses identify one or more directories that contain the one or more files may be transmitted to the server device).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 11. Regarding claim 12, Bar Oz et al. discloses the method of claim 11, wherein the query also specifies a filter to apply to the entries, the method further comprising:
before iterating through the data structure, applying the filter to the entries (Paragraph 169 discloses The attributes collected at block 716 may be used by server device 700, software bus application 600, and/or discovery application 702 to filter the monitored network traffic). The motivation to combine statement previously provided in the rejection of independent claim 11 provided above, combining the Bar Oz et al. reference and the Bar Oz et al. reference is applicable to dependent claim 12.
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 14, Bar Oz et al. discloses the method of claim 1, further comprising:
receiving, at the application, a further query to load a further set of entries (Paragraph 70 discloses Server devices 202 may be configured to transmit data to and receive data from data storage 204. This transmission and retrieval may take the form of SQL queries or other types of database queries, and the output of such queries, respectively);
determining that the further set of entries includes an entry that is in a further block of data within the data structure (Paragraph 150 discloses discovery application 702 may be configured to transmit, to server device 700, a request to access the selected files, as indicated by arrow 714. This request may indicate specific information to be retrieved from the one or more files (e.g., portions of the file indicative of a type, name, provider, or version of software bus application 600));
identifying, based on the block size, the further block within the data structure (Paragraph 181 discloses catalog 842 may define the tables in database 840, the rows and columns that make up database 840, the relationships between the different tables within database 840, the data types associated with the columns, the model utilized by database 840 to store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables), among other possibilities); and
storing the further block in the virtual table in the volatile memory (Paragraph 181 discloses store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 14. Regarding claim 15, Bar Oz et al. discloses the method of claim 14, wherein storing the further block into the volatile memory comprises replacing the block with the further block (Paragraph 181 discloses store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 16, Bar Oz et al. discloses the method of claim 1, wherein the data structure is used in place of storing the entries in a database (Paragraph 181 discloses catalog 842 may define the tables in database 840, the rows and columns that make up database 840, the relationships between the different tables within database 840, the data types associated with the columns, the model utilized by database 840 to store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables), among other possibilities).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 17, Bar Oz et al. discloses the method of claim 1, wherein the volatile memory is a volatile main memory of a computing system (Paragraph 245 discloses media can also be any other volatile or non-volatile storage systems).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 1. Regarding claim 18, Bar Oz et al. discloses the method of claim 1, wherein the block size is between 100 and 5000 of the entries (Paragraph 181 discloses catalog 842 may define the tables in database 840, the rows and columns that make up database 840, the relationships between the different tables within database 840, the data types associated with the columns, the model utilized by database 840 to store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables), among other possibilities).
With respect to claim 19, Vijayaraj et al. teaches a non-transitory computer-readable medium storing program instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations comprising:
receiving, at an application, a query from a client device (Paragraph 70 discloses Server devices 202 may be configured to transmit data to and receive data from data storage 204. This transmission and retrieval may take the form of SQL queries or other types of database queries, and the output of such queries, respectively);
retrieving, based on the query and a block size, a block of data within the data structure (Paragraph 150 discloses discovery application 702 may be configured to transmit, to server device 700, a request to access the selected files, as indicated by arrow 714. This request may indicate specific information to be retrieved from the one or more files (e.g., portions of the file indicative of a type, name, provider, or version of software bus application 600));
storing the block in a virtual table in a volatile memory that is accessible to the application (Paragraph 181 discloses store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables);
identifying, by the application, a set of entries within the block that are responsive to the query (Paragraph 181 discloses catalog 842 may define the tables in database 840, the rows and columns that make up database 840, the relationships between the different tables within database 840, the data types associated with the columns, the model utilized by database 840 to store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables), among other possibilities).
Bar Oz et al. does not disclose accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files.
However, Peloski teaches accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files (Paragraph 37 discloses A query may include for example data insert, query, update and delete, schema creation and modification, data access control, and other data-centric operations typical of database query languages such as Structure Query Language (SQL)).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify Bar Oz et al. with Peloski to include accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files. See Bar Oz et al. Paragraphs 1-22.
The Bar Oz et al. reference as modified by Peloski does not disclose transmitting, by the application, the identified set of entries to the client device.
However, Roth et al. teaches transmitting, by the application, the identified set of entries to the client device (Column 15 Lines 6-28 discloses A client may submit a request for a multi-service view (e.g., covering either a specified set of services, or all the services to which the client account has access) of the account state as of a particular point in time, and may receive a response that indicates the resources allocated to the client account for each of the services, configuration settings at the service or resource level, and so on).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify Bar Oz et al. and Peloski with Roth et al. to include transmitting, by the application, the identified set of entries to the client device. This would have facilitated traversal of virtual tables.
With respect to claim 20, Vijayaraj et al. teaches a computing system comprising:
one or more processors (Column 16 Lines 16-26 discloses processors);
memory (Column 16 Lines 16-26 discloses a memory); and
program instructions, stored in the memory, that upon execution by the one or more processors cause the computing system to perform operations comprising:
receiving, at an application, a query from a client device (Paragraph 70 discloses Server devices 202 may be configured to transmit data to and receive data from data storage 204. This transmission and retrieval may take the form of SQL queries or other types of database queries, and the output of such queries, respectively);
retrieving, based on the query and a block size, a block of data within the data structure (Paragraph 150 discloses discovery application 702 may be configured to transmit, to server device 700, a request to access the selected files, as indicated by arrow 714. This request may indicate specific information to be retrieved from the one or more files (e.g., portions of the file indicative of a type, name, provider, or version of software bus application 600));
storing the block in a virtual table in a volatile memory that is accessible to the application (Paragraph 181 discloses store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables);
identifying, by the application, a set of entries within the block that are responsive to the query (Paragraph 181 discloses catalog 842 may define the tables in database 840, the rows and columns that make up database 840, the relationships between the different tables within database 840, the data types associated with the columns, the model utilized by database 840 to store data 844 (e.g., relational model or object-relational model), and database views (i.e., stored database queries that return a subset of the data, sometimes referred to as virtual tables), among other possibilities).
Bar Oz et al. does not disclose accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files.
However, Peloski teaches accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files (Paragraph 37 discloses A query may include for example data insert, query, update and delete, schema creation and modification, data access control, and other data-centric operations typical of database query languages such as Structure Query Language (SQL)).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify Bar Oz et al. with Peloski to include accessing, by a virtual database driver, based on the query, a data structure stored in non-volatile memory, wherein the data structure is stored within one or more files, wherein the query specifies a file of the one or more files. See Bar Oz et al. Paragraphs 1-22.
The Bar Oz et al. reference as modified by Peloski does not disclose transmitting, by the application, the identified set of entries to the client device.
However, Roth et al. teaches transmitting, by the application, the identified set of entries to the client device (Column 15 Lines 6-28 discloses A client may submit a request for a multi-service view (e.g., covering either a specified set of services, or all the services to which the client account has access) of the account state as of a particular point in time, and may receive a response that indicates the resources allocated to the client account for each of the services, configuration settings at the service or resource level, and so on).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify Bar Oz et al. and Peloski with Roth et al. to include transmitting, by the application, the identified set of entries to the client device. This would have facilitated traversal of virtual tables.
Claim(s) 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bar Oz et al. (US Pub. No. 20200201887) and Peloski (US Pub. No. 20170262495) and Roth et al. (US Patent No. 10469330) in further view of Pandis et al. (US Patent No. 11321330).
The Bar Oz et al. reference as modified by Peloski and Roth et al. teaches all the limitations of claim 11. Regarding claim 13, Bar Oz et al. as modified by Peloski and Roth et al. does not disclose a sorting operation.
However, Pandis et al. teaches method of claim 11, wherein the query also specifies a sorting operation to apply to the entries, the method further comprising:
before iterating through the data structure, applying the sorting operation to the entries (Paragraph 221 discloses The system then is able to present the results of queries on this information in a sorted order (e.g., most frequent or most recent) based on place).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify Bar Oz et al. and Peloski and Roth et al. with Pandis et al. to include in response to the query, transmitting, by the web server application, a set of the entries within the block formatted for display in a list component of a graphical user interface. This would have facilitated traversal of virtual tables. See Pandis et al. Paragraphs 1-22.
Relevant Prior Art
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US PG-PUB 20220166788 is directed to TRUST SCORING OF NETWORK ENTITIES IN NETWORKS [0031] Data collection system 220 is configured to collect data regarding network entities 102. For example, data collection system 220 may query log data of network entities as part of collecting the data regarding network entities 102. In some examples, data collection system 220 may be configured to collect configuration and performance data regarding the network entities. The configuration and performance data may include snapshots of configuration data, snapshots of alarm data, and logs. Source data 228 may include the data collected by data collection system 220.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to NICHOLAS E ALLEN whose telephone number is (571)270-3562. The examiner can normally be reached Monday through Thursday 830-630.
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, Boris Gorney can be reached at (571) 270-5626. 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.
/N.E.A/Examiner, Art Unit 2154
/BORIS GORNEY/Supervisory Patent Examiner, Art Unit 2154