Patents Assigned to Ab Initio Technology LLC
-
Patent number: 11074240Abstract: A method for processing state update requests in a distributed data processing system includes processing a set of state update requests associated with a first time interval including maintaining a count of issued state update requests for the set of state update requests, maintaining a count of state updates performed for the first set of state update requests, and updating a state consistency indicator to indicate that state updates associated with all state update requests of the first set of state update requests have been performed in response to determining that the count of state updates performed for the first set of state update requests equals the count of issued state update requests for the first set of state update requests.Type: GrantFiled: October 30, 2018Date of Patent: July 27, 2021Assignee: Ab Initio Technology LLCInventor: Craig W. Stanfill
-
Patent number: 11068540Abstract: According to some aspects, techniques for configuring a data processing system are provided that increase flexibility and efficiency of generation of a data profile of a dataset. The data processing system may produce a value census and a validation census of the dataset in separate processing steps. The value census may then be enriched with contents of the validation census by processing the validation census in a manner that allows matching of field-value pairs of the dataset between the two censuses.Type: GrantFiled: January 25, 2018Date of Patent: July 20, 2021Assignee: Ab Initio Technology LLCInventors: Joel Gould, Stephen George Rybicki
-
Patent number: 11055074Abstract: A data processing system for identifying one or more portions of executable logic that are executed in processing one or more data items that are each associated with a given value of a key by accessing the specification that represents the executable logic; and generating a log record for the given value of the key, the generating including: for each of the one or more of the data items associated with the given value of the key: identifying a given state of the specification that is maintained for the given value of the key associated with that data item; processing that data item including executing, on that data item, executable logic that are specified in the identified given state of the specification; and generating the log record specifying the execution of those one or more portions of the executable logic for that given value of the key.Type: GrantFiled: December 22, 2017Date of Patent: July 6, 2021Assignee: Ab Initio Technology LLCInventor: Joel Gould
-
Publication number: 20210182263Abstract: Techniques for determining processing layouts to nodes of a dataflow graph. The techniques include: obtaining information specifying a dataflow graph, the dataflow graph comprising a plurality of nodes and a plurality of edges connecting the plurality nodes, the plurality of edges representing flows of data among nodes in the plurality of nodes, the plurality of nodes comprising: a first set of one or more nodes; and a second set of one or more nodes disjoint from the first set of nodes; obtaining a first set of one or more processing layouts for the first set of nodes; and determining a processing layout for each node in the second set of nodes based on the first set of processing layouts and one or more layout determination rules, the one or more layout determination rules including at least one rule for selecting among processing layouts having different degrees of parallelism.Type: ApplicationFiled: October 26, 2020Publication date: June 17, 2021Applicant: Ab Initio Technology LLCInventor: Garth Allen Dickie
-
Patent number: 10997246Abstract: A computer-implemented method for managing data objects stored in a data repository and displaying elements associated with data objects on a graphical user interface is presented. The method includes using reusable logic to provide at least one displayed input element associated with a first data object stored in the data repository. In response to user input associated with the displayed input element, the method includes generating a second data object stored in the data repository, and linking the second data object with one or more related data objects in the data repository automatically based on the data object associated with the displayed element.Type: GrantFiled: March 27, 2018Date of Patent: May 4, 2021Assignee: Ab Initio Technology LLCInventors: Timothy Perkins, Alan Morse
-
Patent number: 10996946Abstract: A method for analyzing a computer program ecosystem including multiple computer programs includes performing a static analysis of the ecosystem, including identifying static dependencies among elements of the ecosystem based on values of parameters in one or more parameter sets associated with the ecosystem, the elements of the ecosystem including the computer programs of the ecosystem and data resources associated with the computer programs. The method includes performing a runtime analysis of the ecosystem, including identifying elements of the ecosystem that were utilized during execution of the ecosystem to process data records. The method includes performing a schedule analysis of the ecosystem, including identifying a computer program of the ecosystem that has a schedule dependency from another computer program of the ecosystem. The method includes identifying a subset of the elements of the ecosystem as an ecosystem unit based on the results of the static, runtime, and schedule analyses.Type: GrantFiled: January 17, 2020Date of Patent: May 4, 2021Assignee: Ab Initio Technology LLCInventors: John Joyce, Marshall A. Isman, Sam Kendall
-
Patent number: 10990364Abstract: A method for generating an updated graph based on a base graph includes identifying differences between a base graph and each of a source and a target graph. The specification of each graph defines nodes representing data processing components defining operations for processing data, and links representing flow of data. The identifying includes: comparing specifications of base and source graphs to identify a first set of differences between the base and source graph, and comparing specifications of base and target graphs to identify a second set of differences between the base and the target graph. The method includes characterizing a correspondence between the differences in the first set and the differences in the second set, determining a set of combined differences based on the correspondence and the first and second sets of differences, and generating the updated graph based on the base graph and the set of combined differences.Type: GrantFiled: October 5, 2018Date of Patent: April 27, 2021Assignee: Ab Initio Technology LLCInventors: Edward Alan Bach, Richard A. Shapiro
-
Patent number: 10949414Abstract: A method for processing data using a distributed data processing system includes providing input data to the distributed data processing system from a distributed data processing system interface component in communication with the distributed data processing system. The distributed data processing system processes the input data to generate a response, which it provides to the distributed data processing system interface component. The distributed data processing system interface component holds the response in escrow until it receives an indication from the distributed data processing system that the response has reached a sufficient level of durability.Type: GrantFiled: October 30, 2018Date of Patent: March 16, 2021Assignee: Ab Initio Technology LLCInventors: Bryan Phil Douros, Craig W. Stanfill
-
Patent number: 10936289Abstract: A method includes analyzing, by a processor, a first version of a computer program, the analyzing including identifying a first process included in the first version of the computer program, the first process configured to perform an operation on data having a first format; and by a processor, generating a second version of at least a portion of the computer program, including omitting the first process and including in the second version of the at least portion of the computer program one or more second processes configured to perform a second operation on data of a second format different from the first format, wherein the second operation is based on the first operation.Type: GrantFiled: February 15, 2017Date of Patent: March 2, 2021Assignee: Ab Initio Technology LLCInventors: Marshall A. Isman, John Joyce
-
Patent number: 10917283Abstract: An identification of a directed graph is received that includes data transformation nodes that represent computations that transform data elements and one or more data nodes that represent data elements, and includes directed links that represent lineage relationships; and computing summary information based on paths in the directed graph, and storing the summary information in one or more summary objects. The computing includes: receiving designation of interest for a plurality of the nodes of the directed graph; and generating one or more summary objects for remaining nodes not included in the plurality of nodes of interest, a first summary object including summary information based on a first path between a first node of interest and a second node of interest that does include one or more of the remaining nodes and does not include any nodes of interest other than the first and second nodes.Type: GrantFiled: May 2, 2019Date of Patent: February 9, 2021Assignee: Ab Initio Technology LLCInventors: Dusan Radivojevic, Anthony M. Yeracaris, Joel Gould, Andrew Schon
-
Patent number: 10901702Abstract: Combining specifications of dataflow graphs includes receiving: a first dataflow graph specification that specifies two or more components connected by links representing flows of data, and a second dataflow graph specification that specifies at least one component, and at least one sub-graph interface. The sub-graph interface includes at least one flow junction representing a connection between: (1) a flow of data outside the sub-graph interface, and (2) a flow of data inside the sub-graph interface. The method includes processing information including the first dataflow graph specification and the second dataflow graph specification, to generate a combined dataflow graph specification, including: identifying an association between the sub-graph interface and the first dataflow graph specification, for at least a first flow junction, determining a direction associated with transferring a value of a descriptor, and transferring a value of a descriptor according to the determined direction.Type: GrantFiled: November 27, 2018Date of Patent: January 26, 2021Assignee: Ab Initio Technology LLCInventors: Brond Larson, Paul Bay, H. Mark Bromley
-
Publication number: 20210019126Abstract: Techniques are described for increasing the functionality of a data processing system via a computer-executed tool that converts programs, written in a procedural language, into components that may be executed as a dataflow graph. The dataflow graph generated from a program written in a procedural programming language may support various forms of parallelism, such as pipeline parallelism and/or component parallelism. In some embodiments, parallelism may be achieved by parsing the program based on a grammar and identifying control flow relationships between data operations performed by the program. In particular, types of dataflow graph components may be identified, according to the grammar, as corresponding to particular data operations (or groups of data operations) of the program. A dataflow graph may be generated to comprise the identified components, which may be connected together with flows in an order according to the identified control flow relationships between data operations.Type: ApplicationFiled: July 18, 2019Publication date: January 21, 2021Applicant: Ab Initio Technology LLCInventor: Yuri Gennady Rabinovitch
-
Patent number: 10896025Abstract: User input is received specifying components of a graph-based program specification. User input is received specifying links, at least some connecting an output port of an upstream component to an input port of a downstream component. The graph-based program specification is processed to identify one or more subsets of the components, including: identifying one or more subset entry points and one or more subset exit points that occur between components in different subsets based at least in part on data processing characteristics of linked components, and forming the subsets based on the identified subset entry points and exit points. A visual representation of the formed subsets is rendered within a user interface. Prepared code is generated for each formed subset that when used for execution by a runtime system causes processing tasks corresponding to the components in each formed subset to be performed.Type: GrantFiled: December 10, 2018Date of Patent: January 19, 2021Assignee: Ab Initio Technology LLCInventors: Craig W. Stanfill, Adam Weiss, Andrew F. Roberts, Stephen A. Kukolich
-
Patent number: 10885003Abstract: A graph-based program specification includes: a plurality of components, each corresponding to a processing task and including one or more ports, including scalar data ports for sending or receiving a single data element and collection data ports for sending or receiving a collection of multiple data elements; and one or more links, each connecting an output port of an upstream component to an input port of a downstream component. Prepared code is generated representing subsets of the plurality of components, including: identifying one or more subset boundaries, including identifying one or more links connecting a collection data port of a component to a scalar data port of a component; forming the subsets based on the identified subset boundaries; and generating prepared code for each formed subset that when used for execution by a runtime system causes processing tasks corresponding to the components in each formed subset to be performed.Type: GrantFiled: November 17, 2017Date of Patent: January 5, 2021Assignee: Ab Initio Technology LLCInventors: Craig W. Stanfill, Richard Shapiro, Stephen A. Kukolich
-
Patent number: 10860635Abstract: In general, a specification of multiple contexts that are related according to a hierarchy is received. Relationships are determined among three or more metadata objects, and at least some of the metadata objects are grouped into one or more respective groups. Each of at least some of the groups is based on a selected one of the contexts and is represented by a node in a diagram. Relationships among the nodes are determined based on the relationships among the metadata objects in the groups represented by the nodes, and a visual representation is generated of the diagram including the nodes and the relationships among the nodes.Type: GrantFiled: September 1, 2017Date of Patent: December 8, 2020Assignee: Ab Initio Technology LLCInventors: Erik Bator, Joel Gould, Dusan Radivojevic, Tim Wakeling
-
Patent number: 10845962Abstract: Providing a user interface for configuring a computer-executable application includes receiving a specification defining: relationships among user interface elements, the relationships based on dependencies between components of a dataflow graph that includes multiple nodes representing components of the dataflow graph and links between the nodes representing flows of data between the components, parameters defining respective characteristics of the components of the dataflow graph, and variables defining respective characteristics of the user interface elements. During operation of a user interface, user interface elements are displayed based on the relationships defined in the specification.Type: GrantFiled: December 3, 2010Date of Patent: November 24, 2020Assignee: Ab Initio Technology LLCInventors: Jennifer M. Farver, Joshua Goldshlag, David Parmenter, Tim Wakeling
-
Patent number: 10831509Abstract: A method is described for processing keyed data items that are each associated with a value of a key, the keyed data items being from a plurality of distinct data streams, the processing including collecting the keyed data items, determining, based on contents of at least one of the keyed data items, satisfaction of one or more specified conditions for execution of one or more actions and causing execution of at least one of the one or more actions responsive to the determining.Type: GrantFiled: August 28, 2017Date of Patent: November 10, 2020Assignee: Ab Initio Technology LLCInventors: Oded Ravid, Larry Paul Rossi, Peter Baxter, Joel Gould
-
Patent number: 10817503Abstract: This specification describes technologies relating to generating transforms based on rule sets. In general, one aspect described in this specification can be embodied in methods that include receiving a rule set including execution cases, where at least one execution case in the rule set includes one or more trigger conditions and a specification of an output that is to be generated when the one or more trigger conditions are all satisfied. The methods may further include generating a control structure including a sequence of rows corresponding to one or more execution cases in the rule set. Each row may include a sequence of one or more trigger conditions and information specifying the output for a corresponding execution case. For at least one of the trigger conditions, when the trigger condition is failed, the control structure may direct processing to skip at least one row in the sequence of rows.Type: GrantFiled: June 19, 2017Date of Patent: October 27, 2020Assignee: Ab Initio Technology LLCInventors: Scott Studer, Joseph Skeffington Wholey, III, Amit Weisman
-
Patent number: 10817406Abstract: A computer-implemented method for debugging an executable control flow graph that specifies control flow among a plurality of functional modules, with the control flow being represented as transitions among the plurality of functional modules, the computer-implemented method including: specifying a position in the executable control flow graph at which execution of the executable control flow graph is to be interrupted; wherein the specified position represents a transition to a given functional module, a transition to a state in which contents of the given functional module are executed or a transition from the given functional module; starting execution of the executable control flow graph in an execution environment; and at a point of execution representing the specified position, interrupting execution of the executable control flow graph; and providing data representing one or more attributes of the execution environment in which the given functional module is being executed.Type: GrantFiled: March 30, 2018Date of Patent: October 27, 2020Assignee: Ab Initio Technology LLCInventors: Joyce L. Vigneau, Mark Staknis, Xin Li
-
Patent number: 10817310Abstract: A graph-based program specification includes components corresponding to tasks and directed links between ports of the components, including: a first type of link configuration defined by respective output and input ports of linked components, and a second type of link configuration defined by respective output and input ports of linked components. A compiler recognizes different types of link configurations and provides in a target program specification occurrences of a target primitive for executing a function for each occurrence of a data element flowing over a link of the second type. A computing node initiates execution of the target program specification, and determines at runtime, for components associated with the occurrences of the target primitive, an order in which instances of tasks corresponding to the components are to be invoked, and/or a computing node on which instances of tasks corresponding to the components are to be executed.Type: GrantFiled: September 1, 2017Date of Patent: October 27, 2020Assignee: Ab Initio Technology LLCInventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould, Stephen A. Kukolich