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 .
Specification
The disclosure is objected to because of the following informalities: it recites summary of the invention verbatim as claim language. Appropriate correction is required.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Vadapandeshwara et al (hereinafter Vada et al) US 2024/00661883 in view of Baum US 2015/0363702.
Regarding claims 1, 11 and 12
Vada et al teaches
generate a graphical user interface comprising a virtual canvas, receive a placement on the virtual canvas of a plurality of nodes in a graph, wherein each node is a visual representation of a component of a software application (see fig 4, [0045] The logical architecture for the graph modeling paradigm is illustrated in FIG. 1. As shown, the architecture 100 supports data from multiple sources 105 in a variety of formats. A data manager subsystem or service 110 performs data virtualization to retrieve and manipulate the data (smart-ingestion process) without requiring technical details about the data, such as how the data is formatted or where it is physically located. The data manipulation performed by the data manager subsystem or service 110 includes applying in-flight data transformations and auto mapping through cataloged and canonical data. Once the data has been ingested and prepared for consumption by the data manager subsystem or service 110, the design-canvas 115 (called ‘Graph Pipeline”) is used to design a data model 120 from the data. The design-canvas 115 is a low code/no-code graphical user interface that facilitates users to describe an arbitrary domain as a connected graph of nodes and relationships with properties and labels. For example, a graph data model may be designed to facilitate the detection of patterns in the form of financial crime queries and solve business and technical problems by organizing a data structure for the graph database 125 such as OracleDB. The design of data model 120 is facilitated using an analytics tool 130 such as OpenSearch integrated with the data manger 110 to ingest, search, visualize, and analyze the data using various rules 135];
receive a placement on the virtual canvas of a plurality of nodes in a graph, wherein each node is a visual representation of a component of a software application [0047] in an exemplary embodiment, a computer implemented method is provided that comprises: generating, by a data processing system, a graphical user interface for implementing a declarative modeling application, where the graphical user interface comprises one or more tools configured to allow a user to build and visualize a graph model using declarative modeling; obtaining, by the data processing system, data for the graph model from one or more sources based on input from the user received via the graphical user interface; receiving, by the data processing system, declarative modeling input from the user via the graphical user interface, where the input comprises a request to create at least two nodes representing logical entities within the data and at least one edge representing one or more relationships between the logical entities, where the request specifies types of nodes and edges for the at least two nodes and the at least one edge, attributes or properties for the at least two nodes and the at least one edge, and constraints on the relationships between the logical entities, and where the request specifies constraints on a layout of the graph model including an arrangement of the at least two nodes and the at least one edge in a visual representation; generating, by the data processing system, the graph model based on declarative modeling input from the user and the data for the graph model, where the generating comprises: extracting information from the declarative modeling input to define a graph structure, the extracting includes identifying the types, the attributes or properties, and the constraints for the at least two nodes and the at least one edge specified by the user; connecting the at least two nodes and the at least one edge to the one or more sources via one or more data pipelines based on the data used for the attributes or properties and relationships of the at least two nodes and the at least one edge specified by the user; and creating the at least two nodes and the at least one edge of the graph model, where each node is instantiated with the attributes or properties, and the at least one edge is established based on the relationship between the at least two nodes; and rendering the graph model in the graphical user interface]
receive a placement on the virtual canvas of one or more edges in the graph, wherein each edge is a visual representation of a connection between two components of the software application [0053] a graph schema is then defined by the user, subsystem, or service using the canvas based on the on the entities and their relationships. In some instances, the graph schema is defined by Graph-DB which is an optimized store (schema) within Oracle-DB to represent (physically) the graph-model. The source data for Graph-DB can be anywhere (e.g., server side, client side, third-party big-data, object-store, file system, and the like) This allows for rapid generation of in-memory graph, loading, incremental-loading and offloading of data in the graph schema. The graph schema refers to the structure and organization of the graph, including the types of nodes, the relationships between nodes, and the properties or attributes associated with nodes and edges. It defines the blueprint or template for representing and organizing data in a graph. The various components that may defined for the graph schema include without limitation];
receive an automated-arrangement operation [0002] the present disclosure relates generally to graph data modeling, and more particularly, to a declarative modeling paradigm for a graph model, graph-physicalization, delta load/offload, automatic generation of sub-graphs based on user entitlements, a graph-pipeline for low-code graph file formats, and a machine-learning pipeline for analysis of the graph model];
in response to receiving the automated-arrangement operation [0092] the declarative modeling approach for graph physicalization described herein, the user can specify constraints on the layout of the graph, such as the arrangement of nodes and edges in a visual representation. This includes defining constraints on node positions, edge routing, alignment, or spacing requirements. The declarative modeling allows the user to express aesthetic criteria for graph visualization, such as minimizing edge crossings, maximizing symmetries, or balancing the distribution of nodes. These criteria can guide the graph physicalization process to create visually appealing layouts. The user can define optimization objectives to guide the physicalization process, such as minimizing the total edge length, maximizing the visibility of important nodes, or optimizing the use of available space. These objectives can be formulated using mathematical optimization techniques or objective functions provided by the declarative modeling application];
determine whether or not the graph contains at least one group of two or more nodes [0094] in some instances, the input is received as drag and drop actions of user interface elements within the graphical use interface. The user interface elements represent the at least two nodes and the at least one edge. The user interface elements are registered in a model management and governance application with respective definition and execution points. The input may further comprise a request to create a data pipeline or rule under each of the at least two nodes. In response to the request to create, a unique identifier may be generated by the data processing system for the data pipeline or rule and the data pipeline or rule are registered against each node and/or each edge against the graph model in a metadata catalogue of a model management and governance application based on the unique identifier. The data pipeline or rule govern the node and/or the edge within the graph model and analysis of the graph model. The data pipeline states the sources of data to be used for modeling the nodes and edges within the graph model. For example, for a given node and relationships represented by edges connecting the node, the given node and edges are to be modeled based on data from a given sources of the one or more sources. The rules define conditions (e.g., patterns within the data to be observed), and actions to be taken when conditions are met. For example, a rule may state that if an amount of a transaction between two different entities in different geographies is above a predefined threshold, then that transaction should be flagged as a high-risk transaction. The rules essentially provide the weights or parameters for the edges and nodes for use in downstream analysis];
calculate dimensions of the arranged group, and replace the group in the graph with a mock node having the calculated dimensions [0080] As illustrated in FIG. 8B, the embedding model 805 is based on the idea of learning continuous representations (embeddings) for nodes by simulating random walks on the graph and then applying a variant of the word2vec algorithm. The input into the embedding model 805 is the physicalized graph with nodes and edges representing entities and relationships, respectively. The embedding model 805 starts by generating random walks on the graph. A random walk is a sequence of nodes obtained by traversing the graph, where the next node is chosen based on certain probability distributions. The embedding model 805 employs a biased random walk strategy, which balances between breadth-first and depth-first search. This strategy involves two parameters, “return” and “in-out,” that control the tendency to explore local neighborhoods or reach out to distant nodes. Once a collection of random walks is obtained, the embedding model 805 uses them to learn node representations. The embedding model 805 applies a Skip-gram model, a variant of word2vec, to the generated random walks. The Skip-gram model's objective is to predict the context (surrounding nodes) given a target node. In the context of embedding model 805, each node in a random walk sequence is treated as the target node and aim to predict its neighboring nodes. The Skip-gram model is trained using stochastic gradient descent to optimize the objective function. The optimization process adjusts the node embeddings to maximize the likelihood of predicting neighboring nodes correctly. This step learns node representations that capture the structural information of the graph. After training the Skip-gram model, the embedding model 805 obtains high-dimensional embeddings 810 for each node. However, these embeddings are typically too large for practical use. To reduce the dimensionality, techniques like Principal Component Analysis (PCA) or t-distributed Stochastic Neighbor Embedding (t-SNE) can be applied. These methods preserve the pairwise relationships between nodes while projecting them into a lower-dimensional space. Once the node embeddings are obtained, they can be utilized for various downstream tasks. For example, they can be used as features for node classification, similarity measurement, or visualization of the graph. By using the embedding model 805, the model system 900 can effectively capture the structural properties of a graph and represent its nodes in a lower-dimensional space, facilitating analysis and interpretation of large-scale graph data];
update the placements on the virtual canvas of the plurality of nodes and the one or more edges, according to the rearranged graph [0069] With reference back to FIGS. 2 and 3, following design and entity resolution by the graph pipeline, the graph model (e.g., encoded in GraphDB) can be processed at block 220 for additional validation, consistency checks and optimizations (all configurable). For example, inline differential qualitative analysis may be performed to compare and analyze the differences between two or more graphs. Inline differential qualitative analysis allows a user, service, or subsystem to identify changes, updates, or variations in the graph structure and data over time or across different versions. Inline differential qualitative analysis includes selecting the two or more graph versions that are to be compared. These versions can represent different time points, data sources, or any other relevant variations. Specific aspects of the graph that are to be analyzed and compared are then determined. This can include node attributes, edge properties, graph topology, or any other relevant characteristics. The appropriate methods or techniques to perform the differential analysis are then selected based on the defined scope. The methods or techniques may include without limitation the following], Vada et al teaches graph, edges, arranging them but does not teach when determining that the graph contains at least one group, until no groups remain, select a deepest group in the graph, however Baum teaches [0160] now it may be seen that the E-depth of any two members of an n-way choice may not differ by more than 1. To show this, assume hypothetically the contradiction that the deepest member of the set was 2 or more deeper than a shallower alternative. The longest path to a set of alternatives may always contain the edge between two of the alternative nodes as its last, or else a longer path to an alternative would be immediate by tacking on the edge to it. Then the last edge may not have been from said shallower alternative to said deepest member, for then the latter would be 1 deeper not 2. So it may have been from another alternative. But this is also a contradiction, because then a deeper path may be constructed to said putative shallower one, by making the last edge of the path go to said (hypothesized) shallower node rather than said (hypothesized) deeper one. Hence there is a contradiction, and the maximum possible depth difference between two alternative nodes may be 1]; Baum further teaches apply a graph arrangement algorithm to the selected group to produce an arranged group [0073] In another embodiment, certain aspects of the system may be run on the local machines, such as User2's computer 1.8 and certain aspects of the system are run on central server, which may be represented here by User1's computer 1.7. For example, as the user locally edits the graph, the system may locally (1.8, 1.4) run a graph arranging algorithm to display the graph in a pleasing and informative layout, while it may perform the calculations of rating updates and belief value score updates for the nodes on the graph at the central computer 1.7 and send the updated information to the local computer 1.8 for display. Or alternatively, the ratings' updates may be computed locally as well. An illustrative embodiment runs locally on a user's browser, where the user may edit, view, and interact with local copies of the graph, and may run as well at a server 1.7. Some functions may be performed at the local machine, and some at the server. The system may maintain a copy of the graph and argument being edited, which is a shared copy. As a local copy is edited, it may differ from the shared copy which may be at a central data cache represented by 1.2 or on a central server, represented here by 1.7. When the user saves the edited graph, it may be saved back to the central server or central data cache and replace the shared copy there, becoming available to other users to view, edit, or interact with. Alternatively the user may save-as the local graph, and have it be saved on the central data cache as a common graph available to others for download, viewing, or editing, without necessarily over-writing the existing graph. 1.9 shows a tablet or smart phone or other mobile computing device which may also be capable of interacting with the system much as 1.8 is];
Baum further teaches apply the graph arrangement algorithm to an entirety of the graph [0088] Also shown in FIG. 3 is the Layout dropdown menu the system displayed in response to a user right-click on the white space (Dropdown1). It contains selectable items for Layout, which if selected may offer a further drop down menu Dropdown11 of alternative graph arranging algorithms that may be used to view the graph redrawn in various ways, Save, which may save changes that have been made to the local version of a shared graph to the common version, Save As, which if selected may allow the user to select a new name to save the edited graph under, thus not overwriting the common graph but potentially starting a new common graph if the user selects to share it or save it in public format, Reload, which may recopy the common graph on the local copy, wiping out local edits that have not been saved, New Graph, which may present new white space to begin construction of a new graph, for example by subsequently using the control panel to add a root node to start said new graph, Load Graph List, which may show the user a list of existing graphs and/or a search bar to allow her to select an existing graph to view or edit, Graph Belief, which may allow the user to toggle on or off the computation of belief values for the nodes, and Citations Ratings, which may toggle on or off using the “citations ratings” scheme that may be described below rather than the standard status (Tentative Establishment) Rating. If Citations Ratings are turned on, the system may evaluate the nodes of the graph according to the citation ratings procedure and draw the graph accordingly];
after applying the graph arrangement algorithm to the entirety of the graph, replace each mock node in the graph with the group that was replaced by that mock node to produce a rearranged graph [0135] FIG. 6 and the discussion has explained how to rate a graph if there are no axiomatizations. If there are axiomatizations, then a node is TE if it would be TE according to FIG. 6 no matter whether each of the axiomatized nodes is fixed to be TE or is fixed to be NOT TE and the rating of the rest of the graph is updated. If the node's rating according to FIG. 6 does not depend on the rating of any axiomatized node in the graph and is TE for all possible ratings of axiomatized nodes, then the node is TE. If there is a way to replace some of the axiomatized nodes with TE and some of the axiomatized nodes with NOT-TE and update and make the node TE, and another way to assign ratings to the axiomatized nodes that would make said node's rating NOT-TE, then said node may be rated TE C.]. Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate a graph arrangement algorithm. The modification would have been obvious because one of ordinary skill in the art would have been motivated to combine teaching into arranging nodes in graph representing software to help reveal hidden patterns, clusters, and outliers in data and avoids clutter, minimizes edge crossings, and groups related nodes together.
Regarding claim 2
Baum teaches
calculating the dimensions of the arranged group comprises calculating a width and height of a smallest bounding box that contains all nodes in the arranged group [0310] the test node T may itself have a B(T) which estimates the belief the node T itself is true. The test edge does not affect ratings of nodes, or the calculations of depth of nodes used for sequencing rating updates. Its only use may be for computing Beliefs of nodes. Other edges than a single test edge outgoing from a test node may be disallowed in some embodiments]. The feature of providing dimension… would be obvious for the reasons set forth in the rejection of claim 1.
Regarding claim 3
Baum teaches
the mock node has a shape and size of the smallest bounding box [0189] FIG. 14(b) depicts an alternative embodiment where, rather than allowing an update rule to be entered into a statement node with multiple arguments, the system may support the creation of connector nodes such as at node 14.7 that specify the update to be used in combining multiple arguments for a statement. The same update rule at block 14.11 has now been entered into node at node 14.7 as at block 14.71. The user who attempted to add a second argument at node 14.9 for Statement X may have been prompted to specify the update rule for this node. The shape of the node in the display may indicate the particular type of rule it uses. By requiring multiple arguments for a node to filter together through one or more connector nodes the system may make transparent what assumptions are being made in how the combination of causes or evidence is being performed, and facilitate challenges of the update-rule nodes themselves]. The feature of providing shape… would be obvious for the reasons set forth in the rejection of claim 1.
Regarding claim 4
Vada et al teaches
replacing the group in the graph with the mock node comprises, for each edge that has a first end connected outside the arranged group and a second end connected to the arranged group or a node within the arranged group, connecting the second end of the edge to the mock node [0006] In various embodiments, a computer-implemented method is provided that comprises: generating, by a data processing system, a graphical user interface for implementing a declarative modeling application, wherein the graphical user interface comprises one or more tools configured to allow a user to build and visualize a graph model using declarative modeling; obtaining, by the data processing system, data for the graph model from one or more sources based on input from the user received via the graphical user interface; receiving, by the data processing system, declarative modeling input from the user via the graphical user interface, wherein the input comprises a request to create at least two nodes representing logical entities within the data and at least one edge representing one or more relationships between the logical entities, wherein the request specifies types of nodes and edges for the at least two nodes and the at least one edge, attributes or properties for the at least two nodes and the at least one edge, and constraints on the relationships between the logical entities, and wherein the request specifies constraints on a layout of the graph model including an arrangement of the at least two nodes and the at least one edge in a visual representation; generating, by the data processing system, the graph model based on declarative modeling input from the user and the data for the graph model, wherein the generating comprises: extracting information from the declarative modeling input to define a graph structure, the extracting includes identifying the types, the attributes or properties, and the constraints for the at least two nodes and the at least one edge specified by the user; connecting the at least two nodes and the at least one edge to the one or more sources via one or more data pipelines based on the data used for the attributes or properties and relationships of the at least two nodes and the at least one edge specified by the user; and creating the at least two nodes and the at least one edge of the graph model, wherein each node is instantiated with the attributes or properties, and the at least one edge is established based on the relationship between the at least two nodes; and rendering the graph model in the graphical user interface]. The feature of providing connecting edges…would be obvious for the reasons set forth in the rejection of claim 1.
Regarding claim 5
Baum teaches
replacing each mock node in the graph with the group that was replaced by that mock node comprises replacing any shallower mock nodes before replacing any deeper mock nodes [0162] In FIG. 12(b), to evaluate a node, the system may first ask at block 12.3 whether it is or is not an n-choice node. If it is not, the system may then go to block 12.5, and update the node as has been previously described for non-choice nodes. Depending on the embodiment, FIGS. 10(b), 6(b), and 7(b) and 24(b) have been discussed as alternative update rules. If however the node is a choice node, then the system proceeds to evaluate it and the other choice nodes that are its alternatives according to FIG. 12(c). Note that since the set of partner nodes differ in depth by at most 1, updating all of the choice nodes when the shallowest one is updated may involve updating only nodes that have already had all of their respective parents updated. If one assumes hypothetically that there was an unupdated parent of one alternative, there may again be a contradiction because a longer path (longer than its assumed shallowest Edepth) to said shallowest alternative would pass through said un-updated parent (which must be at least as deep to still be un-updated) and said one of them that has not had all its parents updated and the negation connection between said one of them and said such shallowest alternative]. The feature of providing shallow and deep node…would be obvious for the reasons set forth in the rejection of claim 1.
Regarding claim 6
Vada et al teaches
receiving a user selection of an auto-arrangement input in the graphical user interface [0002] the present disclosure relates generally to graph data modeling, and more particularly, to a declarative modeling paradigm for a graph model, graph-physicalization, delta load/offload, automatic generation of sub-graphs based on user entitlements, a graph-pipeline for low-code graph file formats, and a machine-learning pipeline for analysis of the graph model] and [0047] an exemplary embodiment, a computer implemented method is provided that comprises: generating, by a data processing system, a graphical user interface for implementing a declarative modeling application, where the graphical user interface comprises one or more tools configured to allow a user to build and visualize a graph model using declarative modeling; obtaining, by the data processing system, data for the graph model from one or more sources based on input from the user received via the graphical user interface; receiving, by the data processing system, declarative modeling input from the user via the graphical user interface, where the input comprises a request to create at least two nodes representing logical entities within the data and at least one edge representing one or more relationships between the logical entities, where the request specifies types of nodes and edges for the at least two nodes and the at least one edge, attributes or properties for the at least two nodes and the at least one edge, and constraints on the relationships between the logical entities, and where the request specifies constraints on a layout of the graph model including an arrangement of the at least two nodes and the at least one edge in a visual representation; generating, by the data processing system, the graph model based on declarative modeling input from the user and the data for the graph model, where the generating comprises: extracting information from the declarative modeling input to define a graph structure, the extracting includes identifying the types, the attributes or properties, and the constraints for the at least two nodes and the at least one edge specified by the user; connecting the at least two nodes and the at least one edge to the one or more sources via one or more data pipelines based on the data used for the attributes or properties and relationships of the at least two nodes and the at least one edge specified by the user; and creating the at least two nodes and the at least one edge of the graph model, where each node is instantiated with the attributes or properties, and the at least one edge is established based on the relationship between the at least two nodes; and rendering the graph model in the graphical user interface]. The feature of providing user selection…would be obvious for the reasons set forth in the rejection of claim 1.
Regarding claim 7
Vada et al teaches
receiving the placement on the virtual canvas of the plurality of nodes in the graph comprises, for each of the plurality of nodes, receiving a drag- and-drop operation of the respective visual representation of the component from a virtual pallet onto the virtual canvas [0062] As also shown in FIGS. 2 and 3 at block 210, the user, subsystem, or service then uses the canvas to define edges (e.g., belongs to or similar to relationships) for the graph model. The edges can be defined by identifying the relationships between entities, creating the edges between nodes to represent these relationships, and defining the type of edge based on the nature of the relationship. The edges can be defined using a drag and drop gesture or user interface operation and widgets representing the edges are registered as building-block components in the MMG application 305 with the respective definition and execution points (as REST end points). For example, a user may select two nodes they wish connect with an edge to represent a relationship, drag an edge type over to a design window of the canvas, and drop/stretch the edge into the design window connecting the two nodes. This process may be repeated to create various edges between nodes in the graph model. In some instance, DQS and/or rules are used while creating the edges to ensure correction for similarity to other edges and de-duplication of the data and edges. For each node created, a data connection is instantiated in the data pipeline 310 between the edge and connected nodes registered in the MMG application 305 and the source of the data in the database or central repository in order to maintain a mapping between the various pieces of data (e.g., entities). A data pipeline 310 or matching rule 315 created under an edge responds with a unique identifier to MMG application 305 and is registered against the edge for the graph model in a MMG metadata catalogue. It is possible to have multiple data pipelines 310 tagged to one edges; each data pipeline to map data between the different sources]. The feature of providing drag n drop…would be obvious for the reasons set forth in the rejection of claim 1.
Regarding claim 8
Baum teaches
receiving the placement on the virtual canvas of the one or more edges in the graph comprises, for each of the one or more edges, receiving a drawing operation of the respective visual representation of the connection between two visual representations of components [0243] Note that blocks 15.1, 15.9, 15.2, 15.3, 15.6, and 15.7 are still present. Many other nodes have been added. Note that argument nodes (nodes with assumptions) are represented by round-edged rectangles and statement nodes (nodes without assumptions) are represented as rectangles. (This differs from other embodiments that have been discussed that don't distinguish between nodes with assumptions and without in displaying the node representation and reserve round corners to indicate conditional status.) Two nodes at blocks 17.12 and 17.9 have been represented in two different locations each, in one as an oval and in the other as a rectangle. The oval designation is used to indicate simply an icon for another existing node inserted into the graph, for clarity and to represent drawing of an edge across the graph. In an alternative representation or embodiment, these duplicate icon nodes may be omitted and the edges drawn all the way, or color coding or some other graphical technique may be used to represent the connections. In embodiments where icon nodes of this type are utilized, clicking on the node or hovering over it with the mouse pointer may highlight or color or center in the FIG. the central copy of the represented node. In FIGS. 17(a), 17(b) and 17(c), the reference numbers may be considered part of the graph itself, the names of the nodes that may be displayed in a representation]. The feature of providing drawing and visual representation…would be obvious for the reasons set forth in the rejection of claim 1.
Regarding claim 9
Vada et al teaches
the graph arrangement algorithm optimizes an arrangement of nodes in the selected group according to one or more optimization criteria [0090] In step 1015, declarative modeling input from a user is received via the graphical user interface. The input comprises a request to create at least two nodes representing logical entities within the data and at least one edge representing one or more relationships between the logical entities. Declarative modeling can be used to design a graph model and graph physicalization by the user describing the desired properties and constraints of the graph structure and layout. Declarative modeling approaches can be implemented using dedicated graph modeling languages, constraint programming frameworks, or graph layout libraries of the declarative modeling application that provide high-level constructs and optimization algorithms for graph modeling and visualization. These tools enable users to express their graph requirements in a declarative manner and automatically generate or optimize the graph model and physical layout based on the specified constraints and objectives]. The feature of providing optimization… would be obvious for the reasons set forth in the rejection of claim 1.
Regarding claim 10
Vada et al teaches
receive a deployment operation and in response to receiving the deployment operation, generate the software application according to the graph, and deploy the software application to a software environment (see figs 8-9) [0123] some examples, the processing performed by cloud infrastructure system 1202 for providing services may involve model training and deployment. This analysis may involve using, analyzing, and manipulating data sets to train and deploy one or more models. This analysis may be performed by one or more processors, possibly processing the data in parallel, performing simulations using the data, and the like. For example, big data analysis may be performed by cloud infrastructure system 1202 for generating, training, and/or deploying one or more models. The data used for this analysis may include structured data (e.g., data stored in a database or structured according to a structured model) and/or unstructured data (e.g., data blobs (binary large objects)]. The feature of providing deployment… would be obvious for the reasons set forth in the rejection of claim 1.
Relevant Prior Art
US 8640086 B2 Bonev et al teaches a system and method for visualizing objects within an object network. For example, a computer-implemented method according to one embodiment comprises: receiving object graph data from a remote computing system, the object graph data representing characteristics of objects and relationships between objects in object-oriented program code executed on the remote computer system; interpreting the object graph data to determine one or more characteristics of each of the objects; and generating a graphical user interface ("GUI") comprised of a plurality of graphical nodes arranged in a graph structure, each of the nodes representing one of the objects and the graph structure representing the relationships between the objects, wherein the graphical nodes are rendered with graphical characteristics representing characteristics of the objects which they represent, the graphical characteristics including at least a color and a shape.
US 20100079462 A1 Breeds et al teaches a method and system for generating a graph view on a user interface in a computing environment, is provided. One implementation involves, at a server, generating graph coordinate data for a dependency graph view of bi-directional impact analysis results for multiply connected objects in a data source; transmitting the graph coordinate data to a client as lightweight object data; and at the client, based on the lightweight object data rendering an interactive dynamic dependency graph view on a user interface.
US 11556316 B2 Jessup et al teaches A method may include receiving a first definition of an object type from a first software component and a second definition of the object type from a second software component. The object type may be labeled by an ID. The method may further include storing, in a dynamic graph, a node labeled by the ID, and storing, in a type definition repository external to the dynamic graph, the first definition of the object type and the second definition of the object type. The method may further include receiving, from the first software component, a modified first definition of the object type. The method may further include replacing, in the type definition repository and using the ID, the first definition of the object type with the modified first definition, and transmitting, to the second software component, a message indicating a need to lookup, by the ID, the modified first definition.
Cohen teaches Graph drawings are increasingly finding their way into user interfaces to convey a variety of relationships. This article deals with rendering graphs to show proximity between vertices by making their configuration (screen) distances reflect their distances in the graph. An arrangement method is described that achieves good drawings at speeds suitable for user interaction on a desktop computer. The method is “incremental,” in that it first arranges a small portion of the graph, then arranges successively larger fractions of the graph until a suitable arrangement for the entirety is achieved. The incremental approach not only offers speed improvements, but avoids many of the suboptimal solutions reached with other iterative approaches. Algorithms are described in pseudocode, and results are presented.
Nobre et al teaches Nowadays compilers include tens or hundreds of optimization passes, which makes it difficult to find sequences of optimizations that achieve compiled code more optimized than the one obtained using typical compiler options such as –O2 and –O3. The problem involves both the selection of the compiler passes to use and their ordering in the compilation pipeline. The improvement achieved by the use of custom phase orders for each function can be significant, and thus important to satisfy strict requirements such as the ones present in high-performance embedded computing systems. In this paper we present a new and fast iterative approach to the phase selection and ordering challenges resulting in compiled code with higher performance than the one achieved with the standard optimization levels of the LLVM compiler. The obtained performance improvements are comparable with the ones achieved by other iterative approaches while requiring considerably less time and resources. Our approach is based on sampling over a graph representing transitions between compiler passes. We performed a number of experiments targeting the LEON3 microarchitecture using the Clang/LLVM 3.7 compiler, considering 140 LLVM passes and a set of 42 representative signal and image processing C functions. An exhaustive cross-validation shows our new exploration method is able to achieve a geometric mean performance speedup of 1.28 over the best individually selected -OX flag when considering 100,000 iterations; versus geometric mean speedups from 1.16 to 1.25 obtained with state-of-the-art iterative methods not using the graph. From the set of exploration methods tested, our new method is the only one consistently finding compiler sequences that result in performance improvements when considering 100 or less exploration iterations. Specifically, it achieved geometric mean speedups of 1.08 and 1.16 for 10 and 100 iterations, respectively.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Anil Khatri whose telephone number is (571)272-3725. The examiner can normally be reached M-F 8:30-5:00.
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, Wei Zhen can be reached at 571-272-3708. 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.
/ANIL KHATRI/Primary Examiner, Art Unit 2191