DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . 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 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.
Information Disclosure Statement
2. The information disclosure statements (IDS) submitted on the following dates are in compliance with the provisions of 37 CFR 1.97 and are being considered by the Examiner: 10/25/2024.
Claim Objections
3. Claim 29 is objected to because of the following informalities:
Claim 29, line 15 cites “… the two or more variables to obtain;” It should be changed to “… the two or more variables to obtain the multiple visualizations;”
Appropriate correction is required.
Claim Rejections - 35 USC § 103
4. 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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
5. Claims 21-23, 27-30, 32-34, 36 and 38-40 are rejected under 35 U.S.C. 103 as being unpatentable over Anand et al., (“Anand”) [US-2015/0278214-A1] in view of Navratill et al. (“Navratill”) [US-2007/0216683-A1]
Regarding claim 21, Anand discloses at least one computer-readable storage medium, excluding transitory signals and carrying instructions, which, when executed by at least one data processor of a system (Anand- Fig. 2 and ¶0093, at least disclose a computing device 102 typically includes one or more processing units/cores (CPUs/GPUs) 202 for executing modules, programs, and/or instructions stored in memory 214 and thereby performing processing operations […] memory 214, or the computer readable storage medium of memory 214, stores the following programs, modules, and data structures, or a subset thereof), cause the system to:
obtain a data set, wherein the data set includes multiple variables (Anand- Figs. 9A, 9B and 9C shows three scatter plots using various combinations of two numeric variables; ¶0079, at least discloses scatter plots have a different aspect ratio preference from other visual charts. In particular, roughly square aspect ratios are favorable for perceiving correlations between variables in scatter plots; ¶0085, at least discloses Color can also represent categorical variables with small cardinality; ¶0147, at least discloses FIGS. 9A, 9B, and 9C are scatter plots that compare three measurable characteristics of cars: price, the compression ratio of the engine, and the horsepower of the engine. If a user selected all three of these data fields, which would be the best scatter plot to recommend? A quick answer is probably FIG. 9C because it appears to show the greatest correlation between variables);
extract the multiple variables from the data set (Anand- ¶0079, at least discloses scatter plots have a different aspect ratio preference from other visual charts. In particular, roughly square aspect ratios are favorable for perceiving correlations between variables in scatter plots; ¶0085, at least discloses Color can also represent categorical variables with small cardinality. In some implementations, color encoding for categorical variables with a cardinality of ten or less is considered good (i.e., ranked high), but the scoring decreases as the cardinality increases beyond ten; Figs. 10A-10B and ¶0149-0150, at least disclose two different maps that illustrate some numeric variable for each of the states in the United States. FIG. 10A is sometimes referred to as a symbol map and FIG. 10B is sometimes referred to as a filled map. In the map of FIG. 10A, the numeric variable is encoded as the size of the circle displayed in each state. It is relatively easy to see that circle 1004 in Illinois is large, the circle 1008 in Texas is fairly large, the circle 1010 in South Carolina is small, and the circle 1006 in Nevada is very small […] FIG. 10B provides a map where each state is filled with a color based on the same numeric variable used in FIG. 10A. Unlike size, colors can be used effectively to display any ranges of numbers, including negative values. In the original color version of FIG. 10B, Montana 1022 is colored with a pink shade, whereas all of the other states with positive values are colored with some shade of green, making it very easy to recognize the outlier);
based on the data set, create an ontology indicating multiple relationships between two or more variables among the multiple variables (Anand- ¶0010, at least discloses some interesting structures relate to statistical properties of the selected data fields or relationships between the selected data fields [multiple relationships]. A particular visual representation is ranked higher when such structures or patterns are visually identifiable; Cervelli- Fig. 9 and ¶0095-0096, at least disclose a user can self-define a database ontology and use automated, machine-based techniques to transform input data according to user-defined parsers and store the transformed data in the database according to the ontology […] data objects in ontology 905 stored in database 909, may be stored as graphs. The graphs may include, for example, an undirected graph comprising nodes and the lines connecting the nodes represent relationship; Fig. 10 and ¶0104-0105, at least disclose FIG. 10 further illustrates an example of relationships between one or more selected data sources and linked object sets [multiple relationships between two or more variables] […] a plurality of data sources 1105 may be available to be selected by a user. Each of the data sources 1105 may have a number of linked object sets 1110 associated with each of the data sources 1110. Accordingly, for a selected data source 1 shown in panel 1110, there may be a plurality of linked object sets 1110. Each of the linked object sets 1110 has a link between one or more fields of the object set in one or more fields of data source 1, each of the links based on an ontology), wherein a relationship among the multiple relationships indicates a correlation between the two or more variables (Anand- ¶0010, at least discloses some interesting structures relate to statistical properties of the selected data fields or relationships between the selected data fields [multiple relationships]. A particular visual representation is ranked higher when such structures or patterns are visually identifiable; Cervelli- Fig. 9 shows a database system using an ontology; ¶0095-0096, at least disclose a user can self-define a database ontology and use automated, machine-based techniques to transform input data according to user-defined parsers and store the transformed data in the database according to the ontology […] data objects in ontology 905 stored in database 909, may be stored as graphs. The graphs may include, for example, an undirected graph comprising nodes and the lines connecting the nodes represent relationship; Fig. 10 and ¶0104-0105, at least disclose FIG. 10 further illustrates an example of relationships between one or more selected data sources and linked object sets [multiple relationships between two or more variables] […] a plurality of data sources 1105 may be available to be selected by a user. Each of the data sources 1105 may have a number of linked object sets 1110 associated with each of the data sources 1110. Accordingly, for a selected data source 1 shown in panel 1110, there may be a plurality of linked object sets 1110. Each of the linked object sets 1110 has a link between one or more fields of the object set in one or more fields of data source 1, each of the links based on an ontology);
based on the ontology, generate a sequence of multiple visualizations to present to a user (Anand- ¶0005, at least discloses the systems take a set of data fields selected by a user and intelligently suggest good visual representations to further the user's analysis. Implementations identify a set of possible data visualizations based on the selected data fields, then rank the identified data visualizations; ¶0015, at least discloses a method executes at a computing device with one or more processors and memory to identify and rank a set of potential data visualizations. The method receives user selection of a set of data fields from a set of data and identifies a plurality of data visualizations based on the plurality of user-selected data fields) by:
determining the multiple visualizations to present to the user by determining the two or more variables, wherein the two or more variables corresponds to a visualization among the multiple visualizations (Anand- ¶0005-0006, at least disclose the systems take a set of data fields selected by a user and intelligently suggest good visual representations to further the user's analysis. Implementations identify a set of possible data visualizations based on the selected data fields [two or more variables], then rank the identified data visualizations. Some implementations rank data visualizations based on visual aspects of presenting the underlying data values [variables] (e.g., clustering, outliers, and image aspect ratio [determining the multiple visualizations to present to the user]; ¶0079, at least discloses perceiving correlations between variables in scatter plots; ¶0093, at least discloses group preferences, such as preferences for a financial group or preferences for a marketing or sales group. Some implementations also identify the aggregate preferences of all users (“the wisdom of the herd”). Some implementations allow both individual and group preferences [two or more variables]);
ranking the multiple visualizations based on the correlation between the two or more variables to obtain the sequence of multiple visualizations (Anand- ¶0005-0006, at least disclose The systems take a set of data fields selected by a user and intelligently suggest good visual representations to further the user's analysis. Implementations identify a set of possible data visualizations based on the selected data fields, then rank the identified data visualizations. Some implementations rank data visualizations based on visual aspects of presenting the underlying data values (e.g., clustering, outliers, and image aspect ratio); ¶0011, at least discloses rank the possible data visualizations within each view type, then combine the ranked lists of views of different types together to provide a diverse list of analytically useful views of the selected data fields; ¶0015, at least discloses identify and rank a set of potential data visualizations. The method receives user selection of a set of data fields from a set of data and identifies a plurality of data visualizations based on the plurality of user-selected data fields; ¶0147, at least discloses FIGS. 9A, 9B, and 9C are scatter plots that compare three measurable characteristics of cars: price, the compression ratio of the engine, and the horsepower of the engine. If a user selected all three of these data fields, which would be the best scatter plot to recommend? A quick answer is probably FIG. 9C because it appears to show the greatest correlation between variables [correlation between the two or more variables]. FIG. 9A shows the least correlation. If only one of these could be selected, then using FIG. 9C would show the correlation, and the compression ratio could be encoded in the marks (e.g., by the size of the marks)); and
present the sequence of multiple visualizations based on the ranking (Anand- ¶0005-0006, at least disclose The systems take a set of data fields selected by a user and intelligently suggest good visual representations to further the user's analysis. Implementations identify a set of possible data visualizations [sequence of multiple visualizations] based on the selected data fields, then rank the identified data visualizations. Some implementations rank data visualizations based on visual aspects of presenting the underlying data values (e.g., clustering, outliers, and image aspect ratio); ¶0011, at least discloses rank the possible data visualizations within each view type, then combine the ranked lists of views of different types together to provide a diverse list of analytically useful views of the selected data fields)
.
Anand fails to explicitly disclose determining the multiple visualizations to present to the user by determining multiple permutations of the two or more variables, wherein a permutation among the multiple permutations of the two or more variables corresponds to a visualization among the multiple visualizations; wherein the sequence of multiple visualizations includes less than all possible visualizations from permutations of the multiple variables.
However, Navratil discloses
determining multiple permutations of the two or more variables, wherein a permutation among the multiple permutations of the two or more variables corresponds to a visualization among the multiple visualizations (Navratill- Fig. 2 shows matrix of scatter plots, each plotting two of the variables from the trend plots of FIG. 1 against each other in various permutations; ¶0016, at least disclose that plotting all permutations of the seven temperature variables against each other (including itself) would result in a 7 by 7 matrix of 49 scatter plots);
the sequence of multiple visualizations includes less than all possible visualizations from permutations of the multiple variables (Navratill- Fig. 1 shows eight variables are plotted against the same single time scale on the x axis. The seven remaining variables represented by lines 14, 16, 18, 20, 22, 24, and 26 are all temperatures taken at different locations in the system; ¶0011, at least discloses an operator will first look at a series of trend plots that show a plurality of variables plotted in a single display on a plurality of y axes against time on a single x-axis in order to see changes in those variables over time and obtain a feel for how those plurality of variables correlate with each other and with time over the displayed time period; Fig. 2 and ¶0016, at least disclose that plotting all permutations of the seven temperature variables against each other (including itself) would result in a 7 by 7 matrix of 49 scatter plots [Wingdings font/0xE0] The 7 series of trend plots [sequence of multiple visualizations] that show 7 variables plotted includes less than all 49 possible visualizations from permutations of the 7 variables).
It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Anand to incorporate the teachings of Navratil, and apply the permutations of the seven temperature variables into the Anand’s teachings in order to present to a user by: determining the multiple visualizations to present to the user by determining multiple permutations of the two or more variables, wherein a permutation among the multiple permutations of the two or more variables corresponds to a visualization among the multiple visualizations; and to present the sequence of multiple visualizations based on the ranking, wherein the sequence of multiple visualizations includes less than all possible visualizations from permutations of the multiple variables.
Doing so would provide an improved method and apparatus for displaying scatter plots that provides more information.
Regarding claim 22, Anand in view of Navratill, discloses the computer-readable storage medium of claim 21, and further discloses the computer-readable storage medium comprising instructions to:
obtain an intent associated with a user, wherein the intent associated with the user includes visualizations frequently viewed by the user user (Anand- ¶0010, at least discloses users of the data set may prefer stacked bar charts [intent associated with a user]. Historical usage data can identify features that are preferred by users of the data, as well as those features disfavored);
obtain a visualization standard, wherein the visualization standard indicates representing categorical variables using a bar graph (Anand- ¶0074, at least discloses user preferences or prior data visualizations may affect the ranking. For example, other users of the same data fields may have shown a preference for one or the other sorting method; ¶0093, at least discloses The user preferences may include preferences that are explicitly stated and/or preferences that are inferred based on prior usage. The preferences may specify what types of data visualizations are preferred, the preferred data visualization types based on the data types of the selected data fields, preferences for visual encodings (such as size, shape, or color), weighting factors for the various ranking criteria (e.g., inferred by prior selections), and so on [a visualization standard]. Some implementations also provide for group preferences, such as preferences for a financial group or preferences for a marketing or sales group. Some implementations also identify the aggregate preferences of all users (“the wisdom of the herd”). Some implementations allow both individual and group preferences. Some implementations enable multiple levels of user preferences. For example, a user may specify general preferences as well as preferences for a specific data source or specific fields within a data source; Figs. 8A-8B and ¶0144, at least disclose two alternative bar graphs and some criteria for evaluating them. In FIGS. 8A and 8B, the rows are defined by the pair of fields Loan Status and Loan Sector, but the order of these two fields is different. In FIG. 8A, the Loan Status 802 is the outermost field and the Loan Sector 804 is the innermost field. With this arrangement, some of the panes have a large number of rows, such as the first pane 806 with 15 rows for different loan sectors. In FIG. 8B, with the Loan Sector 818 as the outermost field and the Loan Status 820 as the innermost field, each pane has four or five rows, as indicated by the identified panes 822, 824, 826, and 828. ), and
wherein the visualization standard indicates representing numerical variables using a scatterplot (Anand- Figs. 9A, 9B, 9C show three scatter plots using various combinations of two numeric variables; ¶0076-0079, at least disclose bivariate distributions are visually best represented as two dimensional point clouds, commonly referred to as scatter plots. A scatter plot illustrates the relationship between the two quantitative dimensions plotted against each other on the x and y axes […] Scoring functions look for various interesting shapes in the scatter plots, such as clumps (clusters of points), monotonicity (positive or negative correlation), striation (presence of a variable taking on discrete values, such as integers), or outliers.); and
rank the multiple visualizations based on the correlation between the two or more variables, the visualization standard and the intent associated with the user (Anand- ¶0005-0006, at least disclose The systems take a set of data fields selected by a user and intelligently suggest good visual representations to further the user's analysis. Implementations identify a set of possible data visualizations based on the selected data fields, then rank the identified data visualizations. Some implementations rank data visualizations based on visual aspects of presenting the underlying data values (e.g., clustering, outliers, and image aspect ratio); ¶0010, at least discloses users of the data set may prefer stacked bar charts [intent associated with a user]. Historical usage data can identify features that are preferred by users of the data, as well as those features disfavored; ¶0011, at least discloses rank the possible data visualizations within each view type, then combine the ranked lists of views of different types together to provide a diverse list of analytically useful views of the selected data fields; ¶0015, at least discloses identify and rank a set of potential data visualizations. The method receives user selection of a set of data fields from a set of data and identifies a plurality of data visualizations based on the plurality of user-selected data fields; ¶0093, at least discloses The user preferences may include preferences that are explicitly stated and/or preferences that are inferred based on prior usage. The preferences may specify what types of data visualizations are preferred, the preferred data visualization types based on the data types of the selected data fields, preferences for visual encodings (such as size, shape, or color), weighting factors for the various ranking criteria (e.g., inferred by prior selections), and so on [a visualization standard]; ¶0147, at least discloses FIGS. 9A, 9B, and 9C are scatter plots that compare three measurable characteristics of cars: price, the compression ratio of the engine, and the horsepower of the engine. If a user selected all three of these data fields, which would be the best scatter plot to recommend? A quick answer is probably FIG. 9C because it appears to show the greatest correlation between variables [correlation between the two or more variables]. FIG. 9A shows the least correlation. If only one of these could be selected, then using FIG. 9C would show the correlation, and the compression ratio could be encoded in the marks (e.g., by the size of the marks).).
Regarding claim 23, Anand in view of Navratill, discloses the computer-readable storage medium of claim 21, and further discloses the computer-readable storage medium comprising instructions to:
obtain a visualization standard indicating an attribute to vary based on the two or more variables (Anand- ¶0074, at least discloses user preferences or prior data visualizations may affect the ranking. For example, other users of the same data fields may have shown a preference for one or the other sorting method; ¶0093, at least discloses The user preferences may include preferences that are explicitly stated and/or preferences that are inferred based on prior usage. The preferences may specify what types of data visualizations are preferred, the preferred data visualization types based on the data types of the selected data fields, preferences for visual encodings (such as size, shape, or color) [attribute], weighting factors for the various ranking criteria (e.g., inferred by prior selections), and so on [a visualization standard]) ,
wherein the attribute includes size, color, and opacity (Anand- ¶0093, at least discloses The preferences may specify what types of data visualizations are preferred, the preferred data visualization types based on the data types of the selected data fields, preferences for visual encodings (such as size, shape, or color) [attribute], weighting factors for the various ranking criteria (e.g., inferred by prior selections), and so on [a visualization standard]; ¶0151, at least discloses Although color facilitates rendering negative values, the color fill may not be as visually clear when there is no inherent correlation between color and the magnitude of a numeric variable);
obtain a predetermined range associated with the attribute (Anand- ¶0083, at least discloses since the size is proportional to the data value, it is preferable to encode data with a range closer to zero for size encoding because it results in a bigger range of sizes. In some implementations, a numeric range for a measure is transformed (e.g., using a linear transformation) to make size encoding more useful);
determine a range associated with a variable among the two or more variables (Anand- ¶0083, at least discloses a numeric range for a measure is transformed (e.g., using a linear transformation) to make size encoding more useful; ¶0137, at least disclosesFields F2 608 and F3 612 are quantitative fields which can take on a continuous range of numeric values (limited by the precision of the data type));
map the predetermined range associated with the attribute to the range associated with the variable to obtain a mapping (Anand- ¶0083, at least discloses a numeric range for a measure is transformed (e.g., using a linear transformation) to make size encoding more useful; ¶0054, at least discloses When all possible visual representations of the selected set of data fields are evaluated, there is an exponential number of options for mapping each of the data fields to visual encodings; ¶0137, at least discloses Fields F2 608 and F3 612 are quantitative fields which can take on a continuous range of numeric values (limited by the precision of the data type)); and
based on the mapping, present the attribute in a visualization in the sequence of multiple visualizations conforming to the visualization standard (Anand- ¶0055-0057, at least disclose a certain set of data fields may be best represented as a map chart or scatter plot diagram, so only these two view types are pursued (e.g., excluding bar charts, line charts, and text tables) […] A brute force generation process iterates over all possible mappings of the selected set of data fields onto all visual encodings (e.g., X-position, Y-position, color, size, shape, and level of detail). If there are m visual encodings and k selected data fields, there are mk such mappings […] Applying a set of rules (e.g., codifying best practices in information visualization and graphic design), the system maps the data fields to visual encodings. This constrains the set of alternatives within each view type. For example, categorical data fields with small cardinality may be mapped to color or shape encodings).
Regarding claim 27, Anand in view of Navratill, discloses the computer-readable storage medium of claim 21, and further discloses the computer-readable storage medium comprising instructions to:
determine a task performed on the data set (Anand- ¶0011, at least discloses different view types are better able to represent different types of data, different view types are able to aesthetically represent different amounts of data, and different view types facilitate various analytic tasks; ¶0082, at least discloses Both options reveal structure in the data for different analytical tasks, so in the absence of knowledge about the user's task, both types are useful.);
determine whether the task performed on the data set includes an opportunity analysis (Anand- ¶0011, at least discloses different view types are better able to represent different types of data, different view types are able to aesthetically represent different amounts of data, and different view types facilitate various analytic tasks; ¶0271, at least discloses Some implementations generate small multiples of filled maps as well as pie charts on maps. While both methods reveal structure in the data for different analytical tasks, filled maps are generally more effective than pie-maps when there is no prior knowledge of the user's task); and
upon determining that the task performed on the data set includes the opportunity analysis (Anand- ¶0011, at least discloses different view types are better able to represent different types of data, different view types are able to aesthetically represent different amounts of data, and different view types facilitate various analytic tasks; ¶0271, at least discloses Some implementations generate small multiples of filled maps as well as pie charts on maps. While both methods reveal structure in the data for different analytical tasks, filled maps are generally more effective than pie-maps when there is no prior knowledge of the user's task), increase ranking of a visualization showing dispersion (Anand- ¶0128, at least discloses Once the data visualizations are ranked (426), the ranked data visualizations are presented (428) to the user […] the top five data visualizations are presented to the user. If the user wants to see additional options, the user may select the “More” button to see the data visualizations ranked 6-10. Pressing the button additional times displays further options that were ranked even lower.).
Regarding claim 28, Anand in view of Navratill, discloses the computer-readable storage medium of claim 21, and further discloses the computer-readable storage medium comprising instructions to:
obtain a degree of correlation between the two or more variables (Anand- ¶0182-0183, at least disclose FIG. 16B illustrates an arrangement that has greater total correlation between adjacent measures. In particular, pane 1608 correlates fairly well with pane 1602, and the pane 1606 that does not correlate with any of the other three data fields is placed on the far right so that it is adjacent to only one other pane […] Some implementations measure correlation between quantitative fields using Pearson's correlation. For example, if Q1, Q2, Q3, and Q4 are the quantitative fields corresponding to panes 1602, 1604, 1606, and 1608, then the total correlation for the data visualization in FIG. 16A is |corr(Q1, Q2)|+|corr(Q2, Q3)|+|corr(Q3, Q4)|. In FIG. 16B, the total correlation is |corr(Q1, Q4)|+|corr(Q4, Q2)|+|corr(Q2, Q3)|. In this sample formula, the absolute value is used so that negatively correlated quantitative data fields add to the overall correlation; ¶0277, at least discloses Some implementations order measures so that the overall correlation, including the correlation between adjacent pairs of data fields, is maximized);
determine an existence of an outlier value between the two or more variables (Anand- Fig. 11A-11B show clustering and outliers in scatter plot diagrams; ¶0062, at least discloses The criteria for evaluating identified data visualizations include statistical properties in the data that can be seen as visual patterns in the view (e.g., clumping, outliers, correlation, or monotonic graphs); ¶0074, at least discloses Sorted bars visually highlight overall trends (e.g., long-tailed distributions) and draw attention to outliers (e.g., very large or very small values) when a quantitative data field is represented by bar length);
determine a type associated with the two or more variables (Anand- ¶0006, at least discloses for each view type (e.g., bar chart, line chart, scatter plot, etc.) the ranking system ranks the alternatives within that view type (e.g., rank all of the alternative bar charts against each other); ¶0021, at least discloses each of the data visualizations has a view type selected from the group consisting of text table, bar chart, scatter plot, line graph, and map. In some implementations, the first ranking criterion scores each respective data visualization according to the view type of the respective data visualization and the user-selected data fields.); and
based on the degree of correlation, the existence of the outlier value, the type associated with the two or more variables, and a user intent (As discussed above), rank the multiple visualizations (Anand- ¶0005-0006, at least disclose The systems take a set of data fields selected by a user and intelligently suggest good visual representations to further the user's analysis. Implementations identify a set of possible data visualizations based on the selected data fields, then rank the identified data visualizations. Some implementations rank data visualizations based on visual aspects of presenting the underlying data values (e.g., clustering, outliers, and image aspect ratio); ¶0011, at least discloses rank the possible data visualizations within each view type, then combine the ranked lists of views of different types together to provide a diverse list of analytically useful views of the selected data fields; ¶0015, at least discloses identify and rank a set of potential data visualizations. The method receives user selection of a set of data fields from a set of data and identifies a plurality of data visualizations based on the plurality of user-selected data fields).
Regarding claim 29, Anand discloses (Anand- ¶0015, at least discloses a method executes at a computing device with one or more processors and memory to identify and rank a set of potential data visualizations.) a method comprising:
obtaining a data set, wherein the data set includes multiple variables (see Claim 21 rejection for detailed analysis);
extracting the multiple variables from the data set (see Claim 21 rejection for detailed analysis);
based on the data set, creating an ontology indicating multiple relationships between two or more variables among the multiple variables (see Claim 21 rejection for detailed analysis), wherein a relationship among the multiple relationships indicates a correlation between the two or more variables (see Claim 21 rejection for detailed analysis);
based on the ontology, generating multiple visualizations to present (Anand- ¶0005, at least discloses the systems take a set of data fields selected by a user and intelligently suggest good visual representations to further the user's analysis. Implementations identify a set of possible data visualizations [multiple visualizations] based on the selected data fields, then rank the identified data visualizations; ¶0015, at least discloses a method executes at a computing device with one or more processors and memory to identify and rank a set of potential data visualizations. The method receives user selection of a set of data fields from a set of data and identifies a plurality of data visualizations based on the plurality of user-selected data fields) by:
determining the multiple visualizations to present by determining the two or more variables, wherein the two or more variables corresponds to a visualization among the multiple visualizations (see Claim 21 rejection for detailed analysis);
ranking the multiple visualizations based on the correlation between the two or more variables to obtain (see Claim 21 rejection for detailed analysis); and
presenting the multiple visualizations based on the ranking (Anand- ¶0005-0006, at least disclose The systems take a set of data fields selected by a user and intelligently suggest good visual representations to further the user's analysis. Implementations identify a set of possible data visualizations [multiple visualizations] based on the selected data fields, then rank the identified data visualizations. Some implementations rank data visualizations based on visual aspects of presenting the underlying data values (e.g., clustering, outliers, and image aspect ratio); ¶0011, at least discloses rank the possible data visualizations within each view type, then combine the ranked lists of views of different types together to provide a diverse list of analytically useful views of the selected data fields).
Anand fails to explicitly disclose determining the multiple visualizations to present by determining multiple permutations of the two or more variables, wherein a permutation among the multiple permutations of the two or more variables corresponds to a visualization among the multiple visualizations.
However, Navratill discloses
determining the multiple visualizations to present by determining multiple permutations of the two or more variables, wherein a permutation among the multiple permutations of the two or more variables corresponds to a visualization among the multiple visualizations (Navratill- Fig. 2 shows matrix of scatter plots, each plotting two of the variables from the trend plots of FIG. 1 against each other in various permutations; ¶0016, at least disclose that plotting all permutations of the seven temperature variables against each other (including itself) would result in a 7 by 7 matrix of 49 scatter plots).
It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Anand to incorporate the teachings of Navratill, and apply the permutations of the seven temperature variables into the Anand’s teachings for determining the multiple visualizations to present by determining multiple permutations of the two or more variables, wherein a permutation among the multiple permutations of the two or more variables corresponds to a visualization among the multiple visualizations.
The same motivation that was utilized in the rejection of claim 21 applies equally to this claim.
Regarding to the method of claims 30 and 32, the limitations of this claim substantially correspond to the limitations of claims 23 and 28, respectively; thus they are rejected on similar grounds as their corresponding claim.
Regarding claim 33, Anand in view of Navratill, discloses a system (Anand- Fig. 2 and ¶0093, at least disclose a computing device 102 that a user uses to create and display data visualizations) comprising:
at least one hardware processor (Anand- Fig. 2 and ¶0093, at least disclose A computing device 102 typically includes one or more processing units/cores (CPUs/GPUs) 202 for executing modules, programs, and/or instructions stored in memory 214 and thereby performing processing operations); and
at least one non-transitory memory storing instructions, which, when executed by the at least one hardware processor (Anand- Fig. 2 and ¶0093, at least disclose A computing device 102 typically includes one or more processing units/cores (CPUs/GPUs) 202 for executing modules, programs, and/or instructions stored in memory 214 and thereby performing processing operations), cause the system to perform the method of claim 29.
Regarding to the system of claims 34, 36 and 38, the limitations of this claim substantially correspond to the limitations of claims 22, 23 and 28, respectively; thus they are rejected on similar grounds as their corresponding claim.
Regarding claim 39, Anand in view of Navratill, discloses the system of claim 33, and further discloses the system comprising instructions to:
obtain a visualization standard indicating to include time on an X-axis (Anand- Fig. 12A and ¶0154, at least disclose line graphs are appropriate when one of the data fields is temporal (e.g., a date, a time of day, or the number of milliseconds after a starting time in a scientific experiment)), indicating to present a categorical variable using a bar graph (Anand- Figs. 8A-8B and ¶0144, at least disclose wo alternative bar graphs and some criteria for evaluating them. In FIGS. 8A and 8B, the rows are defined by the pair of fields Loan Status and Loan Sector, but the order of these two fields is different. In FIG. 8A, the Loan Status 802 is the outermost field and the Loan Sector 804 is the innermost field. With this arrangement, some of the panes have a large number of rows, such as the first pane 806 with 15 rows for different loan sectors), and indicating to present a numerical variable using a scatterplot (Anand- Figs. 9A-9C show three scatter plots using various combinations of two numeric variables; ¶0077, at least discloses A two-dimensional scatter plot of uniform random noise is the baseline case depicting no pattern at all. Scoring functions look for various interesting shapes in the scatter plots, such as clumps (clusters of points), monotonicity (positive or negative correlation), striation (presence of a variable taking on discrete values, such as integers), or outliers. Identifying shapes or structure within scatter plots); and
generate the visualization in the multiple visualizations conforming to the visualization standard (Anand- ¶0074, at least discloses user preferences or prior data visualizations may affect the ranking. For example, other users of the same data fields may have shown a preference for one or the other sorting method; ¶0093, at least discloses The user preferences may include preferences that are explicitly stated and/or preferences that are inferred based on prior usage. The preferences may specify what types of data visualizations are preferred, the preferred data visualization types based on the data types of the selected data fields, preferences for visual encodings (such as size, shape, or color), weighting factors for the various ranking criteria (e.g., inferred by prior selections), and so on [visualization standard]).
Regarding claim 40, Anand in view of Navratill, discloses the system of claim 33, and further discloses the system comprising instructions to:
provide a search functionality to search the multiple visualizations using a search query (Anand- ¶0167-0168, at least disclose Data visualizations are typically based on a Cartesian layout with rows and columns […] The fields in the level of detail 1416 are similar to the GROUP BY fields in an SQL query […] a data visualization uses one or more filter 1418, which are stored in the log 232. The filters limit the rows from the data source 236 that are selected for visualization. For example, transaction data may be filtered to a specific date range. Filters are similar to WHERE clauses in an SQL query);
find multiple matching visualizations corresponding to the search query (Anand- ¶0177, at least discloses Some implementations store partial scores 1516 and associated weights 1518, as well as other intermediate calculations 1520 that were used by the ranking process […] alternative weights can be tested to identify rankings that more closely match what the user actually selected; ¶0246, at least discloses the SimilarityScore SS is just the number of matched data fields divided by the total number of selected data fields. A matched data field is one where the usage of the data field in the identified data visualization is the same as the usage already selected by the user. For example, if the user has specified field F1 for color encoding, then there is a match when an identified data visualization uses the Field F1 for color encoding); and
present the visualization having highest-ranking among the multiple matching visualizations (Anand- ¶0246, at least discloses the SimilarityScore SS is just the number of matched data fields divided by the total number of selected data fields. A matched data field is one where the usage of the data field in the identified data visualization is the same as the usage already selected by the user. For example, if the user has specified field F1 for color encoding, then there is a match when an identified data visualization uses the Field F1 for color encoding. A “perfect” score of 1.0 occurs when the user has specified the usage (e.g., encoding) for all of the selected data fields, and the identified data visualization uses all of the fields in that same way).
6. Claim 24 is rejected under 35 U.S.C. 103 as being unpatentable over Anand in view of Navratil, further in view of Cervelli et al. (“Cervelli”) [US-2022/0028136-A1]
Regarding claim 24, Anand in view of Navratil, discloses the computer-readable storage medium of claim 21, and further discloses the computer-readable storage medium comprising instructions to:
create a presentation based on the multiple visualizations by allowing the user to select the visualization among the multiple visualizations (Anand- ¶0055, at least discloses Some implementations generate a limited set of good visual representations of the data fields to significantly reduce the number of possible data visualizations evaluated; ¶0128, at least discloses Once the data visualizations are ranked (426), the ranked data visualizations are presented (428) to the user. A sample presentation is illustrated in FIG. 13. Some implementations limit the number of data visualizations presented (428) to the user 100 […] the presentation screen includes a button or other visual control to see additional options […] the top five data visualizations are presented to the user. If the user wants to see additional options, the user may select the “More” button to see the data visualizations ranked 6-10. Pressing the button additional times displays further options that were ranked even lower; Fig. 13 and ¶0163, at least disclose the presentation includes a description column 1308, which provides additional notes about each of the recommended data visualizations);
upon selection, automatically adjust a layout of the presentation to include the
visualization (Anand- ¶0028, at least discloses receiving user specification of one or more visual layout properties for layout of a data visualization that includes the user selected data fields, where the set of ranking criteria includes a second ranking criterion that measures an extent to which a data visualization of the plurality of data visualizations is consistent with the user specified visual layout properties; ¶0199, at least discloses the set of ranking criteria includes (1750) a second ranking criterion that measures the extent to which a data visualization option is consistent with the user specified visual layout properties. As noted above, the user may specify some visual layout properties before the identification module 224 or ranking module 226 even begin.); and
create a link associated with the visualization (Anand- ¶0171, at least discloses when a user selects one of those options, the data visualization option ID 1512 is stored in the history log 232, and acts as a link between the history log 232 (what the user selected) and the ranking log 234 (what was presented to the user)).
The prior art fails to explicitly disclose upon selection of the link a portion of the data set associated with the visualization is presented to the user.
However, Cervelli discloses
upon selection of the link a portion of the data set associated with the visualization is presented to the user (Cervelli- Fig. 9 and ¶0093-0094, at least disclose each data object 901 can have multiple links with another data object 901 to form a link set 904 [link a portion of the data set]. For example, two “Person” data objects representing a husband and a wife could be linked through a “Spouse Of” relationship, a matching “Address” property, and one or more matching “Event” properties (e.g., a wedding). Each link 902 as represented by data in a database may have a link type defined by the database ontology used by the database […] Two data objects 901 may be connected by one or more links 902 that may be instantiated based on link types; ¶0097, at least discloses the user to interact with the data objects by placing, dragging, linking and deleting visual entities on a graphical user interface; Fig. 10 and ¶0104, at least discloses example of relationships between one or more selected data sources and linked object sets […] As illustrated in FIG. 10, a plurality of data sources 1105 may be available to be selected by a user. Each of the data sources 1105 may have a number of linked object sets 1110 associated with each of the data sources 1110. Accordingly, for a selected data source 1 shown in panel 1110, there may be a plurality of linked object sets 1110. Each of the linked object sets 1110 has a link between one or more fields of the object set in one or more fields of data source 1, each of the links based on an ontology, for example, as described in reference to FIG. 9).
It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Anand/Navratil to incorporate the teachings of Cervelli, and apply the link to the data set into the Anand/Navratil’s teachings in order to create a link associated with the visualization, wherein upon selection of the link a portion of the data set associated with the visualization is presented to the user.
Doing so would provide the interactive and dynamic user interfaces include improved human-computer interactions that may provide reduced mental workloads, improved decision-making, reduced work stress, and/or the like, for a user.
7. Claims 25, 31 and 37 are rejected under 35 U.S.C. 103 as being unpatentable over Anand in view of Navratil, further in view of Moroze et al. (“Moroze”) [US-2020/0126282-A1]
Regarding claim 25, Anand in view of Navratil, discloses the computer-readable storage medium of claim 21, and fails to explicitly disclose, but Moroze further discloses the computer-readable storage medium comprising instructions to:
obtain a second data set (Moroze- ¶0010-0011, at least discloses receiving a command to transition the one or more data sets to a second visualization component in the virtual environment […] The second visualization component may include a beaker object. The second visualization component may include a profile layout object.);
generate a second sequence of multiple visualizations to present to the user based on the second data set (Moroze- ¶0107, at least discloses the beaker visualization component 1200 may include a plurality of 3D representations of individual beakers. In this example, three beakers 1210, 1212, 1214 are displayed in a row or sequence in the virtual environment); and
receive from the user an indication of a second visualization in the second sequence of multiple visualizations and a first visualization in the sequence of multiple visualizations (Moroze- ¶0011, at least discloses The first visualization component may include a funnel object. The second visualization component may include a beaker object. The second visualization component may include a profile layout object; ¶0107, at least discloses the beaker visualization component 1200 may include a plurality of 3D representations of individual beakers. In this example, three beakers 1210, 1212, 1214 are displayed in a row or sequence in the virtual environment); and
create third visualization based on the second visualization and the first visualization (Moroze- ¶0011, at least discloses instructions for binding the one or more data sets to parameterized inputs of the first visualization component; instructions for animating the 3D objects; and instructions for binding the one or more data sets to parameterized inputs of the second visualization component […] receiving a second command to transition the one or more data sets to a third visualization component in the virtual environment; generating an animation of the 3D objects representing individual data points in the one or more data sets moving from the 3D representation of the second visualization component to a 3D representation of the third visualization component in the virtual environment; and binding the one or more data sets to the third visualization component).
It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Anand/Navratil to incorporate the teachings of Moroze, and apply the second visualization component and the third visualization component into the Anand/Navratil’s teachings in order to obtain a second data set; generate a second sequence of multiple visualizations to present to the user based on the second data set; and receive from the user an indication of a second visualization in the second sequence of multiple visualizations and a first visualization in the sequence of multiple visualizations; and create third visualization based on the second visualization and the first visualization.
Doing so would provide views of the visualization objects to multiple devices simultaneously.
Regarding to the method of claim 31, the limitations of this claim substantially correspond to the limitations of claim 25, respectively; thus they are rejected on similar grounds as their corresponding claim.
Regarding to the system of claim 37, the limitations of this claim substantially correspond to the limitations of claim 25, respectively; thus they are rejected on similar grounds as their corresponding claim.
8. Claim 26 is rejected under 35 U.S.C. 103 as being unpatentable over Anand in view of Navratil, further in view of Hering et al. (“Hering”) [US-2012/0116987-A1]
Regarding claim 26, Anand in view of Navratil, discloses the computer-readable storage medium of claim 21, and fails to explicitly disclose, but Hering further discloses the computer-readable storage medium comprising instructions to:
determine a role associated with the user within an organization, wherein the role indicates a proficiency associated with the user in interpreting data visualizations, wherein the proficiency includes high proficiency or a low proficiency (Hering- ¶0037-0038, at least disclose The model leverages pre-existing operational process architecture, joint military task lists that define activities and their precedence relations, as well as Navy documents that specify manning and roles per activity […] The Organization: Do we have enough staff in the right roles? Which organizational elements & staff were overloaded? Which were under-loaded?; 0062, at least discloses The output adapter translates the measure from its internal format to a format suitable for visualization or other action. The engine model creates a simulation run component that associates all measure output together including the translated visualization data and persists it for future analysis or other action by communicating it back to the database. From the database, the visualization data may be requested from a user interface for display or other communication to a user; 0077-0078, at least disclose The MOC organization that will accomplish this mission is made up of multiple organizational units (OU). Each OU has several billets (individuals) assigned to it, and each billet is assigned a collection of roles s/he may take on, one at a time throughout the mission. These roles currently serve as proxies for more detailed information about billets' associated knowledge and skills […] entity elements comprise individuals, organizations, roles, the abilities of the individuals to fulfill the roles, other indications of individuals' capabilities, and the durations required for each role to complete each subtask; ¶0122, at least discloses the steps of operation further include configuring entity variables and elements to show the impact of role experience and proficiency on process execution speed (e.g., inexperienced personnel in a billet should slow activity execution while experienced staff accelerate activities)); and
upon determining that the proficiency is high, generate the visualization among multiple visualizations including more variables than when the proficiency is low (Hering- ¶0122, at least discloses the steps of operation further include configuring entity variables and elements to show the impact of role experience and proficiency on process execution speed (e.g., inexperienced personnel in a billet should slow activity execution while experienced staff accelerate activities)).
It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Anand/Navratil to incorporate the teachings of Hering, and apply the role experience and proficiency into the Anand/Navratil’s teachings in order to determine a role associated with the user within an organization, wherein the role indicates a proficiency associated with the user in interpreting data visualizations, wherein the proficiency includes high proficiency or a low proficiency; and upon determining that the proficiency is high, generate the visualization among multiple visualizations including more variables than when the proficiency is low.
Doing so would provide automatic modeling of processes given resource units to satisfy the process.
Allowable Subject Matter
9. Claim 35 is 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.
10. The following is a statement of reasons for the indication of allowable subject matter:
Regarding Claim 35, the combination of prior arts teaches the method of Claim 33. However in the context of claim 33, and 35 as a whole, the combination of prior arts does not teach obtain the data set indicating a maternity cost, gender, age, geographical location, and health risk associated with maternity; based on the ontology, create an aggregate variable including an age, a geographical location, and a health risk associated with maternity; and generate the visualization of the maternity cost and the aggregate variable. Therefore, Claim 35 in the context of claim 33, 35 as a whole does comprise allowable subject matter.
Conclusion
11. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. They are as recited in the attached PTO-892 form.
12. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL LE whose telephone number is (571)272-5330. The examiner can normally be reached 9am-5pm.
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, Kent Chang can be reached at (571) 272-7667. 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.
/MICHAEL LE/Primary Examiner, Art Unit 2614