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 .
Status of Claims
In response to communications filed on 02 September 2026, claims 1-4, 6-15, and 17-21 are presently pending in the application, of which, claims 1, 14, and 20 are presented in independent form.
In view of the Pre-Appeal Conference Decision filed on 06 April 2026, PROSECUTION IS HEREBY REOPENED. A new grounds of rejection is set forth below.
To avoid abandonment of the application, appellant must exercise one of the following two options:
(1) file a reply under 37 CFR 1.111 (if this Office action is non-final) or a reply under 37 CFR 1.113 (if this Office action is final); or,
(2) initiate a new appeal by filing a notice of appeal under 37 CFR 41.31 followed by an appeal brief under 37 CFR 41.37. The previously paid notice of appeal fee and appeal brief fee can be applied to the new appeal. If, however, the appeal fees set forth in 37 CFR 41.20 have been increased since they were previously paid, then appellant must pay the difference between the increased fees and the amount previously paid.
Priority
The Examiner acknowledges the instant application claims priority to: (i) U.S. Provisional Patent Application No. 63/523,011, filed June 23, 2023, (ii) U.S. Provisional Patent Application No. 63/639,650, filed April 28, 2024, and (iii) U.S. Provisional Patent Application No. 63/639,652, filed April 28, 2024, and has been accorded the earliest effective file date.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 17 November 2025 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claims 1-4, 6-15, and 17-21 are rejected under 35 U.S.C. 103 as being unpatentable by Weir, Jeffrey et al (U.S. 2021/0256039 and known hereinafter as Weir) in view of Talbot, Justin, et al (U.S. 2020/0125239 and known hereinafter as Talbot)(newly presented).
As per claim 1, Weir teaches a method of selecting data services, comprising:
at a client device having a display (e.g. Weir, see Figure 2, item 212 which discloses a display), one or more processors (e.g. Weir, see Figure 2, item 202 which discloses processors), and memory storing one or more programs configured for execution by the one or more processors (e.g. Weir, see Figure 2, item 204 and 206, which discloses memory coupled to a communication interface and processors to execute instructions.):
in accordance with receiving one or more inputs for generating a data visualization according (e.g. Weir, see Figure 3, paragraphs [0075-0077], which discloses receiving one or more data objects.) to a data source:
determining one or more requirements for generating the data visualization (e.g. Weir, see paragraph [0060], which discloses one or more input by the user, where the input is used by the object model creation and visualization application where a user constructs object models.);
generating a visual specification according to one or more inputs (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building (e.g. generating) a visual specification that includes one or more visual variables that specify characteristics of the desired data visualization according to selected data fields from the data sources.);
receiving, from the network gateway, capabilities of each data server of the plurality of data servers (e.g. Weir, see paragraph [0074-0076], which discloses one or more database servers that hosts databases, where the database receives from the communication interface data from the user.);
determining, according to the capabilities of the data servers, that a first data server of the plurality of data servers includes a first set of capabilities that satisfies the requirements for generating the data visualization (e.g. Weir, see paragraphs [0056-0062], which discloses the data visualization application queries the data sources for the data sets and then generates a data visualization corresponding to the retrieved data, where the data visualization is constructed according to the visual variables in the visual specifications that have assigned data fields from the data field set (e.g. firs set of capabilities).); and
in accordance with the determination:
retrieving, from the first data server, one or more data sets from the data source (e.g. Weir, see paragraphs [0056-0062], which discloses the data visualization application queries the data sources for the data sets and then generates a data visualization corresponding to the retrieved data.);
generating the data visualization according to the retrieved one or more data sets (e.g. Weir, see paragraphs [0056-0062], which discloses generating the data visualization based on the data field set.); and
displaying the data visualization (e.g. Weir, see paragraphs [0056-0062], see Figures 3 and 4A, which discloses the displayed data visualization.).
Although Weir teaches data visualization, it does not explicitly disclose converting the visual specification into one or more abstract queries and sending one or more abstract queries to the first data server; sending, via the network gateway, one or more queries to the first data server, including sending the one or more abstract queries to the first data server.
Talbot teaches converting the visual specification into one or more abstract queries (e.g. Talbot, see paragraphs [0226, 0231-0233], which discloses receiving a visual specification, which specifies one or more data sources, a plurality of visual variables, and a plurality of data fields from one or more data sources, where building the respective data visualization includes retrieving tuples of data from one or more data sources using one or more database queries generated from the visual specification, where, see paragraphs [0233, 0237], the object model engine creates (e.g. converts) AQL models from the object model perspective and the abstract query from the data visualization. );
sending a request to a network gateway that is communicatively connected to the client device and a plurality of data servers (e.g. Talbot, see paragraph [0097-0105], which discloses a communication module, which is used for connecting the computer device to other computers and devices via one or more communication network interfaces which enables a user to communicate over a network with remote computers or devices; a data visualization application which provides a graphical user interface for a user to construct visual graphics which further enables a user to build a data visualization by specifying elements visually.);
sending, via the network gateway (e.g. Talbot, see paragraph [0097-0105], which discloses a communication module, which is used for connecting the computer device to other computers and devices via one or more communication network interfaces which enables a user to communicate over a network with remote computers or devices), one or more queries to the first data server (e.g. Weir, see paragraphs [0092-0094], which discloses the data visualization application queries the data sources for the first data field set, and then generate a first data visualization corresponding to the retrieved data and when there is a second data field set, the data visualization application queries the data sources for the second data field set.), including sending the one or more abstract queries to the first data server (e.g. Talbot, see paragraphs [0201, 0226, 0231-0233], which discloses generate a query tree for the database queries, where the pattern to generate queries for a visualization by applying source filters to each data source that further includes retrieving tuples of data from one or more data sources using one or more database queries generated from the visual specification, where, see paragraphs [0233, 0237], the object model engine creates AQL models from the object model perspective and the abstract query from the data visualization. );
Weir is directed to. Talbot is directed to generating data visualization according to an object model of selected data sources. Both are analogous art because they are directed to data visualization and therefore it would have been obvious to one of ordinary skilled in the art at the time the invention was filed to modify the teachings of Weir with the teachings of Talbot to include the claimed features with the motivation to efficiently create data visualization effects.
As per claim 14, Weir teaches a client device, comprising:
a display (e.g. Weir, see Figure 2, item 212 which discloses a display);
one or more processors (e.g. Weir, see Figure 2, item 202 which discloses processors); and
memory coupled to the one or more processors, the memory storing one or more programs configured for execution by the one or more processors (e.g. Weir, see Figure 2, item 204 and 206, which discloses memory coupled to a communication interface and processors to execute instructions.), the one or more programs including instructions for:
in accordance with receiving one or more inputs for generating a data visualization according (e.g. Weir, see Figure 3, paragraphs [0075-0077], which discloses receiving one or more data objects.) to a data source:
determining one or more requirements for generating the data visualization (e.g. Weir, see paragraph [0060], which discloses one or more input by the user, where the input is used by the object model creation and visualization application where a user constructs object models.);
generating a visual specification according to one or more inputs (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building (e.g. generating) a visual specification that includes one or more visual variables that specify characteristics of the desired data visualization according to selected data fields from the data sources.);
receiving, from the network gateway, capabilities of each data server of the plurality of data servers (e.g. Weir, see paragraph [0074-0076], which discloses one or more database servers that hosts databases, where the database receives from the communication interface data from the user.);
determining, according to the capabilities of the data servers, that a first data server of the plurality of data servers includes a first set of capabilities that satisfies the requirements for generating the data visualization (e.g. Weir, see paragraphs [0056-0062], which discloses the data visualization application queries the data sources for the data sets and then generates a data visualization corresponding to the retrieved data, where the data visualization is constructed according to the visual variables in the visual specifications that have assigned data fields from the data field set (e.g. firs set of capabilities).); and
in accordance with the determination:
retrieving, from the first data server, one or more data sets from the data source (e.g. Weir, see paragraphs [0056-0062], which discloses the data visualization application queries the data sources for the data sets and then generates a data visualization corresponding to the retrieved data.);
generating the data visualization according to the retrieved one or more data sets (e.g. Weir, see paragraphs [0056-0062], which discloses generating the data visualization based on the data field set.); and
displaying the data visualization (e.g. Weir, see paragraphs [0056-0062], see Figures 3 and 4A, which discloses the displayed data visualization.).
Although Weir teaches data visualization, it does not explicitly disclose converting the visual specification into one or more abstract queries and sending one or more abstract queries to the first data server; sending, via the network gateway, one or more queries to the first data server, including sending the one or more abstract queries to the first data server.
Talbot teaches converting the visual specification into one or more abstract queries (e.g. Talbot, see paragraphs [0226, 0231-0233], which discloses receiving a visual specification, which specifies one or more data sources, a plurality of visual variables, and a plurality of data fields from one or more data sources, where building the respective data visualization includes retrieving tuples of data from one or more data sources using one or more database queries generated from the visual specification, where, see paragraphs [0233, 0237], the object model engine creates (e.g. converts) AQL models from the object model perspective and the abstract query from the data visualization. );
sending a request to a network gateway that is communicatively connected to the client device and a plurality of data servers (e.g. Talbot, see paragraph [0097-0105], which discloses a communication module, which is used for connecting the computer device to other computers and devices via one or more communication network interfaces which enables a user to communicate over a network with remote computers or devices; a data visualization application which provides a graphical user interface for a user to construct visual graphics which further enables a user to build a data visualization by specifying elements visually.);
sending, via the network gateway (e.g. Talbot, see paragraph [0097-0105], which discloses a communication module, which is used for connecting the computer device to other computers and devices via one or more communication network interfaces which enables a user to communicate over a network with remote computers or devices), one or more queries to the first data server (e.g. Weir, see paragraphs [0092-0094], which discloses the data visualization application queries the data sources for the first data field set, and then generate a first data visualization corresponding to the retrieved data and when there is a second data field set, the data visualization application queries the data sources for the second data field set.), including sending the one or more abstract queries to the first data server (e.g. Talbot, see paragraphs [0201, 0226, 0231-0233], which discloses generate a query tree for the database queries, where the pattern to generate queries for a visualization by applying source filters to each data source that further includes retrieving tuples of data from one or more data sources using one or more database queries generated from the visual specification, where, see paragraphs [0233, 0237], the object model engine creates AQL models from the object model perspective and the abstract query from the data visualization. );
Weir is directed to. Talbot is directed to generating data visualization according to an object model of selected data sources. Both are analogous art because they are directed to data visualization and therefore it would have been obvious to one of ordinary skilled in the art at the time the invention was filed to modify the teachings of Weir with the teachings of Talbot to include the claimed features with the motivation to efficiently create data visualization effects.
As per claim 20, Weir teaches a non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a client device, the one or more programs comprising instructions for:
in accordance with receiving one or more inputs for generating a data visualization according (e.g. Weir, see Figure 3, paragraphs [0075-0077], which discloses receiving one or more data objects.) to a data source:
determining one or more requirements for generating the data visualization (e.g. Weir, see paragraph [0060], which discloses one or more input by the user, where the input is used by the object model creation and visualization application where a user constructs object models.);
generating a visual specification according to one or more inputs (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building (e.g. generating) a visual specification that includes one or more visual variables that specify characteristics of the desired data visualization according to selected data fields from the data sources.);
receiving, from the network gateway, capabilities of each data server of the plurality of data servers (e.g. Weir, see paragraph [0074-0076], which discloses one or more database servers that hosts databases, where the database receives from the communication interface data from the user.);
determining, according to the capabilities of the data servers, that a first data server of the plurality of data servers includes a first set of capabilities that satisfies the requirements for generating the data visualization (e.g. Weir, see paragraphs [0056-0062], which discloses the data visualization application queries the data sources for the data sets and then generates a data visualization corresponding to the retrieved data, where the data visualization is constructed according to the visual variables in the visual specifications that have assigned data fields from the data field set (e.g. firs set of capabilities).); and
in accordance with the determination:
retrieving, from the first data server, one or more data sets from the data source (e.g. Weir, see paragraphs [0056-0062], which discloses the data visualization application queries the data sources for the data sets and then generates a data visualization corresponding to the retrieved data.);
generating the data visualization according to the retrieved one or more data sets (e.g. Weir, see paragraphs [0056-0062], which discloses generating the data visualization based on the data field set.); and
displaying the data visualization (e.g. Weir, see paragraphs [0056-0062], see Figures 3 and 4A, which discloses the displayed data visualization.).
Although Weir teaches data visualization, it does not explicitly disclose converting the visual specification into one or more abstract queries and sending one or more abstract queries to the first data server; sending, via the network gateway, one or more queries to the first data server, including sending the one or more abstract queries to the first data server.
Talbot teaches converting the visual specification into one or more abstract queries (e.g. Talbot, see paragraphs [0226, 0231-0233], which discloses receiving a visual specification, which specifies one or more data sources, a plurality of visual variables, and a plurality of data fields from one or more data sources, where building the respective data visualization includes retrieving tuples of data from one or more data sources using one or more database queries generated from the visual specification, where, see paragraphs [0233, 0237], the object model engine creates (e.g. converts) AQL models from the object model perspective and the abstract query from the data visualization. );
sending a request to a network gateway that is communicatively connected to the client device and a plurality of data servers (e.g. Talbot, see paragraph [0097-0105], which discloses a communication module, which is used for connecting the computer device to other computers and devices via one or more communication network interfaces which enables a user to communicate over a network with remote computers or devices; a data visualization application which provides a graphical user interface for a user to construct visual graphics which further enables a user to build a data visualization by specifying elements visually.);
sending, via the network gateway (e.g. Talbot, see paragraph [0097-0105], which discloses a communication module, which is used for connecting the computer device to other computers and devices via one or more communication network interfaces which enables a user to communicate over a network with remote computers or devices), one or more queries to the first data server (e.g. Weir, see paragraphs [0092-0094], which discloses the data visualization application queries the data sources for the first data field set, and then generate a first data visualization corresponding to the retrieved data and when there is a second data field set, the data visualization application queries the data sources for the second data field set.), including sending the one or more abstract queries to the first data server (e.g. Talbot, see paragraphs [0201, 0226, 0231-0233], which discloses generate a query tree for the database queries, where the pattern to generate queries for a visualization by applying source filters to each data source that further includes retrieving tuples of data from one or more data sources using one or more database queries generated from the visual specification, where, see paragraphs [0233, 0237], the object model engine creates AQL models from the object model perspective and the abstract query from the data visualization. );
Weir is directed to. Talbot is directed to generating data visualization according to an object model of selected data sources. Both are analogous art because they are directed to data visualization and therefore it would have been obvious to one of ordinary skilled in the art at the time the invention was filed to modify the teachings of Weir with the teachings of Talbot to include the claimed features with the motivation to efficiently create data visualization effects.
As per claims 2 and 15, the modified teachings of Weir and Talbot teaches the method of claim 1 and the client device of claim 14, respectively, further comprising:
in accordance with the determination that the first data server includes the first set of capabilities that satisfies the requirements for generating the data visualization:
generating attribute information that includes identifier information that identifies the first data server and adding the attribute information to the one or more queries, wherein the network gateway is configured to route the one or more queries to the first data server in accordance with the attribute information (e.g. Weir, see paragraphs [0056-0062], which discloses the data visualization application queries the data sources for the data sets and then generates a data visualization corresponding to the retrieved data, where the data visualization is constructed according to the visual variables in the visual specifications that have assigned data fields from the data field set (e.g. firs set of capabilities).).
As per claim 3, the modified teachings of Weir and Talbot teaches the method of claim 1 further comprising:
in accordance with receiving the one or more inputs:
generating a visual specification according to the one or more inputs (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification that includes one or more visual variables that specify characteristics of the desired data visualization according to selected data fields from the data sources.); and
converting the visual specification into a query specification (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification, where the data visualization application then queries the data sources for the data field set and then generates a first data visualization corresponding to the retrieved data.);
wherein sending the one or more queries to the first data server includes sending the query specification to the first data server (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification, where the data visualization application then queries the data sources for the data field set and then generates a first data visualization corresponding to the retrieved data.).
As per claim 4, the modified teachings of Weir and Talbot teaches the method of claim 3, wherein sending the one or more queries to the first data server includes:
serializing data in the visual specification (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification, where the data visualization application then queries the data sources for the data field set and then generates a first data visualization corresponding to the retrieved data.); and
sending the serialized data to the first data server (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification, where the data visualization application then queries the data sources for the data field set and then generates a first data visualization corresponding to the retrieved data.).
As per claim 6 and 17, the modified teachings of Weir and Talbot teaches the method of claim 1 and the client device of claim 14, respectively, further comprising:
prior to sending the one or more queries to the first data server:
compiling the queries to form one or more compiled queries (e.g. Weir, see paragraphs [0070-0072], which discloses the natural language processing module compiles the intermediate expressions into database queries by employing a visualization query language to issue the queries against a database or data source and to retrieve one or more data sets from the database or data source.); and
sending the compiled queries to the first data server via the network gateway (e.g. Weir, see paragraphs [0070-0072], which discloses the natural language processing module compiles the intermediate expressions into database queries by employing a visualization query language to issue the queries against a database or data source and to retrieve one or more data sets from the database or data source via a communication network.).
As per claim 7 and 18, the modified teachings of Weir and Talbot teaches the method of claim 1 and the client device of claim 14, respectively, wherein:
generating the data visualization includes applying an object model of the data source (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification that includes one or more visual variables that specify characteristics of the desired data visualization according to selected data fields from the data sources.); and
determining the one or more requirements for generating the data visualization includes determining whether the data visualization includes a dimension data field that is shared between two objects of the object model of the data source (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification that includes one or more visual variables that specify characteristics of the desired data visualization according to selected data fields from the data sources.).
As per claim 8 and 19, the modified teachings of Weir and Talbot teaches the method of claim 1 and the client device of claim 14, respectively, wherein determining the one or more requirements for generating the data visualization includes determining whether the one or more inputs includes a user attribute function (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification that includes one or more visual variables that specify characteristics of the desired data visualization according to selected data fields from the data sources.).
As per claim 9, the modified teachings of Weir and Talbot teaches the method of claim 8, wherein:
the one or more inputs are received via a data visualization application (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification that includes one or more visual variables that specify characteristics of the desired data visualization according to selected data fields from the data sources.); and
the data visualization is an embedded data visualization that is displayed on a third-party application, distinct from the data visualization application (e.g. Weir, see paragraphs [0066-0070], which discloses the data visualization application executes within the web browser and may include shelf regions which is used to specify various encodings of data marks.).
As per claim 10, the modified teachings of Weir and Talbot teaches the method of claim 1, wherein:
generating the data visualization includes applying an object model of the data source, the object model including multiple fact tables (e.g. Weir, see Figures 3, 4A-4B, paragraphs [0075-0085], which discloses each data source includes one or more tables of data that may be selected and used to build an object model.); and
determining the one or more requirements for generating the data visualization includes determining whether the data visualization uses data fields from at least two fact tables of the data source (e.g. Weir, see Figures 3, 4A-4C, 5A-5G, paragraphs [0075-0085], which discloses generating data visualization table based on the user selected tables.).
As per claim 11, the modified teachings of Weir and Talbot teaches the method of claim 1, further comprising:
in accordance with the determination:
sending, to the first data server via the network gateway, information of a local state of the client device, wherein the one or more data sets that are received from the first data server include data that reflect the local state of the client device (e.g. Weir, see paragraphs [0070-0072], which discloses the natural language processing module compiles the intermediate expressions into database queries by employing a visualization query language to issue the queries against a database or data source and to retrieve one or more data sets from the database or data source via a communication network.).
As per claim 12, the modified teachings of Weir and Talbot teaches the method of claim 11, wherein the information of the local state of the client device includes information of a calculation or a filter that exists locally on the client device (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification, where the data visualization application then queries the data sources for the data field set and then generates a first data visualization corresponding to the retrieved data.).
As per claim 13, the modified teachings of Weir and Talbot teaches the method of claim 1, wherein:
the client device executes a data visualization application that includes a user interface (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification, where the data visualization application then queries the data sources for the data field set and then generates a first data visualization corresponding to the retrieved data.); and
receiving the one or more inputs includes receiving placement of one or more data fields of the data source from a schema information region of the user interface to one or more shelves of a shelf region of the user interface (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification, where the data visualization application then queries the data sources for the data field set and then generates a first data visualization corresponding to the retrieved data.).
As per claim 21, the modified teachings of Weir and Talbot teaches the client device of claim 14, wherein the first server is configured to deserialize the one or more queries, apply row-level security (RLS), and federate the one or more queries to one or more external databases to retrieve one or more data sets responsive to the one or more queries (e.g. Weir, see paragraphs [0054-0057], which discloses using a data visualization user interface, building a visual specification, where the data visualization application then queries the data sources for the data field set and then generates a first data visualization corresponding to the retrieved data.).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure. See attached PTO-892 that includes additional prior art of record describing the general state of the art in which the invention is directed to.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FARHAN M SYED whose telephone number is (571)272-7191. The examiner can normally be reached M-F 8:30AM-5:30PM.
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, Apu Mofiz can be reached at 571-272-4080. 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.
/FARHAN M SYED/Primary Examiner, Art Unit 2161 May 8, 2026