Patents Assigned to Ab Initio Technology LLC
  • Patent number: 11074240
    Abstract: 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: Grant
    Filed: October 30, 2018
    Date of Patent: July 27, 2021
    Assignee: Ab Initio Technology LLC
    Inventor: Craig W. Stanfill
  • Patent number: 11068540
    Abstract: 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: Grant
    Filed: January 25, 2018
    Date of Patent: July 20, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Joel Gould, Stephen George Rybicki
  • Patent number: 11055074
    Abstract: 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: Grant
    Filed: December 22, 2017
    Date of Patent: July 6, 2021
    Assignee: Ab Initio Technology LLC
    Inventor: Joel Gould
  • Publication number: 20210182263
    Abstract: 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: Application
    Filed: October 26, 2020
    Publication date: June 17, 2021
    Applicant: Ab Initio Technology LLC
    Inventor: Garth Allen Dickie
  • Patent number: 10997246
    Abstract: 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: Grant
    Filed: March 27, 2018
    Date of Patent: May 4, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Timothy Perkins, Alan Morse
  • Patent number: 10996946
    Abstract: 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: Grant
    Filed: January 17, 2020
    Date of Patent: May 4, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: John Joyce, Marshall A. Isman, Sam Kendall
  • Patent number: 10990364
    Abstract: 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: Grant
    Filed: October 5, 2018
    Date of Patent: April 27, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Edward Alan Bach, Richard A. Shapiro
  • Patent number: 10949414
    Abstract: 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: Grant
    Filed: October 30, 2018
    Date of Patent: March 16, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Bryan Phil Douros, Craig W. Stanfill
  • Patent number: 10936289
    Abstract: 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: Grant
    Filed: February 15, 2017
    Date of Patent: March 2, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Marshall A. Isman, John Joyce
  • Patent number: 10917283
    Abstract: 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: Grant
    Filed: May 2, 2019
    Date of Patent: February 9, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Dusan Radivojevic, Anthony M. Yeracaris, Joel Gould, Andrew Schon
  • Patent number: 10901702
    Abstract: 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: Grant
    Filed: November 27, 2018
    Date of Patent: January 26, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Brond Larson, Paul Bay, H. Mark Bromley
  • Publication number: 20210019126
    Abstract: 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: Application
    Filed: July 18, 2019
    Publication date: January 21, 2021
    Applicant: Ab Initio Technology LLC
    Inventor: Yuri Gennady Rabinovitch
  • Patent number: 10896025
    Abstract: 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: Grant
    Filed: December 10, 2018
    Date of Patent: January 19, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Craig W. Stanfill, Adam Weiss, Andrew F. Roberts, Stephen A. Kukolich
  • Patent number: 10885003
    Abstract: 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: Grant
    Filed: November 17, 2017
    Date of Patent: January 5, 2021
    Assignee: Ab Initio Technology LLC
    Inventors: Craig W. Stanfill, Richard Shapiro, Stephen A. Kukolich
  • Patent number: 10860635
    Abstract: 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: Grant
    Filed: September 1, 2017
    Date of Patent: December 8, 2020
    Assignee: Ab Initio Technology LLC
    Inventors: Erik Bator, Joel Gould, Dusan Radivojevic, Tim Wakeling
  • Patent number: 10845962
    Abstract: 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: Grant
    Filed: December 3, 2010
    Date of Patent: November 24, 2020
    Assignee: Ab Initio Technology LLC
    Inventors: Jennifer M. Farver, Joshua Goldshlag, David Parmenter, Tim Wakeling
  • Patent number: 10831509
    Abstract: 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: Grant
    Filed: August 28, 2017
    Date of Patent: November 10, 2020
    Assignee: Ab Initio Technology LLC
    Inventors: Oded Ravid, Larry Paul Rossi, Peter Baxter, Joel Gould
  • Patent number: 10817503
    Abstract: 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: Grant
    Filed: June 19, 2017
    Date of Patent: October 27, 2020
    Assignee: Ab Initio Technology LLC
    Inventors: Scott Studer, Joseph Skeffington Wholey, III, Amit Weisman
  • Patent number: 10817406
    Abstract: 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: Grant
    Filed: March 30, 2018
    Date of Patent: October 27, 2020
    Assignee: Ab Initio Technology LLC
    Inventors: Joyce L. Vigneau, Mark Staknis, Xin Li
  • Patent number: 10817310
    Abstract: 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: Grant
    Filed: September 1, 2017
    Date of Patent: October 27, 2020
    Assignee: Ab Initio Technology LLC
    Inventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould, Stephen A. Kukolich