Patents Assigned to Ab Initio Technology LLC
-
Patent number: 10133500Abstract: A system for managing storage of data units includes a data storage system configured to store multiple data blocks, at least some of the data blocks containing multiple data units, with at least a group of the data blocks being stored contiguously, thereby supporting a first read operation that retrieves data units from at least two adjacent data blocks in the group. The system is configured to perform two or more operations with respect to data units. The operations include: a second read operation, different from the first read operation, that retrieves a data unit to be read based at least in part on an address of a data block containing the data unit to be read, and a delete operation that replaces a first data block containing a data unit to be deleted with a second data block that does not contain the deleted data unit.Type: GrantFiled: March 6, 2013Date of Patent: November 20, 2018Assignee: Ab Initio Technology LLCInventors: Ephraim Meriwether Vishniac, Stephen J. Schmidt
-
Patent number: 10127264Abstract: According to some aspects, a data processing system is provided, the data processing system comprising at least one computer readable medium comprising processor-executable instructions that, when executed, cause the at least one processor to receive, through at least one user interface, input indicating a data element and one or more data quality metrics, identify, based on relationship information associated with the data element and/or the one or more data quality metrics, one or more datasets, one or more fields of the one or more datasets, and one or more data quality rules, each of the data quality rules being associated with at least one of the one or more fields, and perform an analysis of data quality of the one or more fields based at least in part on the one or more data quality rules associated with the one or more fields.Type: GrantFiled: September 17, 2015Date of Patent: November 13, 2018Assignee: Ab Initio Technology LLCInventor: Hugh F. Pyle
-
Patent number: 10129116Abstract: A method for supporting communication between a client and a server includes receiving a first message from a client. The method also includes creating an object in response to the first message. The method also includes sending a response to the first message to the client. The method also includes receiving changes to the object from a server. The method also includes storing the changes to the object. The method also includes receiving a second message from the client. The method also includes sending the stored changes to the client with a response to the second message.Type: GrantFiled: March 11, 2016Date of Patent: November 13, 2018Assignee: Ab Initio Technology LLCInventors: Jennifer M. Farver, Joshua Goldshlag, David W. Parmenter, Ian Robert Schechter, Tim Wakeling
-
Patent number: 10110415Abstract: 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: July 22, 2015Date of Patent: October 23, 2018Assignee: Ab Initio Technology LLCInventors: Dusan Radivojevic, Anthony M. Yeracaris, Joel Gould, Andrew Schon
-
Patent number: 10108521Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for dynamic graph performance monitoring. One of the methods includes receiving input data by the data processing system, the input data provided by an application executing on the data processing system. The method includes determining a characteristic of the input data. The method includes identifying, by the application, a dynamic component from multiple available dynamic components based on the determined characteristic, the multiple available dynamic components being stored in a data storage system. The method includes processing the input data using the identified dynamic component. The method also includes determining one or more performance metrics associated with the processing.Type: GrantFiled: November 16, 2012Date of Patent: October 23, 2018Assignee: Ab Initio Technology LLCInventors: Mark Buxbaum, Michael G Mulligan, Tim Wakeling, Matthew Darcy Atterbury
-
Patent number: 10102398Abstract: A method for obfuscating data includes: reading values occurring in one or more fields of multiple records from a data source; storing a key value; for each of multiple of the records, generating an obfuscated value to replace an original value in a given field of the record using the key value such that the obfuscated value depends on the key value and is deterministically related to the original value; and storing the collection of obfuscated data including records that include obfuscated values in a data storage system.Type: GrantFiled: July 2, 2009Date of Patent: October 16, 2018Assignee: Ab Initio Technology LLCInventor: Peter Neergaard
-
Publication number: 20180285401Abstract: 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: March 29, 2018Publication date: October 4, 2018Applicant: Ab Initio Technology LLCInventor: Garth Allen Dickie
-
Patent number: 10089087Abstract: 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 between ports of linked components, corresponding to transfer of control or transfer of a single data element, and a second type of link configuration between ports of linked components, corresponding to transfer of multiple data elements. A compiler generates a target program specification including control code representing at least one control graph including graph nodes representing the components, where at least two are connected based on links of the first type. A computing node initiates execution of the target program specification, and manages computing resources for links of the second type, the computing resources including at least one of: (1) a buffer for storing data elements provided by an output port, or (2) a buffer for storing data elements provided to an input port.Type: GrantFiled: September 2, 2015Date of Patent: October 2, 2018Assignee: Ab Initio Technology LLCInventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould, Stephen A. Kukolich
-
Patent number: 10067799Abstract: Information representative of a graph-based program specification has a plurality of components, each of which corresponds to a task, and directed links between ports of said components. A program corresponding to said graph-based program specification is executed. A first component includes a first data port, a first control port, and a second control port. Said first data port is configured to receive data to be processed by a first task corresponding to said first component, or configured to provide data that was processed by said first task corresponding to said first component. Executing a program corresponding to said graph-based program specification includes: receiving said first control information at said first control port, in response to receiving said first control information, determining whether or not to invoke said first task, and after receiving said first control information, providing said second control information from said second control port.Type: GrantFiled: September 8, 2017Date of Patent: September 4, 2018Assignee: Ab Initio Technology LLCInventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould
-
Patent number: 10055333Abstract: In certain aspects, a method includes: receiving a first graph that includes components and flows, the components representing operations performed on data records, the flows representing flows of data records between components; receiving a specification that is separate from the first graph, the specification defining one or more insertions, each of the insertions associated with a flow of the first graph; generating one or more components that each corresponds to one of the insertions; and generating a second graph that includes components and flows that correspond to at least some of the components and flows of the first graph and the one or more generated components.Type: GrantFiled: May 19, 2015Date of Patent: August 21, 2018Assignee: Ab Initio Technology LLCInventors: Carl Offner, Brond Larson, Paul Bay, Dan Teven, Joel Gould
-
Patent number: 10037198Abstract: A received graph-based program specification includes: a plurality of components, each corresponding to at least one operation; and a plurality of directed links each connecting an upstream component to a downstream component. Processed code is generated representing one or more groups of operations by: identifying a possible level of concurrency in a first group of operations based at least in part on a topology of the graph, such that multiple operations in the first group are not prevented by the topology of the graph from executing concurrently; analyzing at least some of the operations in the first group to determine runtime characteristics associated with the analyzed operations; and generating processed code for executing the operations, where the processed code enforces a reduced level of concurrency in the first group, lower than the identified possible level of concurrency, based at least in part on the determined runtime characteristics.Type: GrantFiled: August 11, 2016Date of Patent: July 31, 2018Assignee: Ab Initio Technology LLCInventors: Craig W. Stanfill, Richard Shapiro
-
Patent number: 10025680Abstract: A data processing system configured to store a plurality of data entities in volatile memories of multiple different computing devices. The data processing system comprises a first computing device having a first volatile memory configured to store a first data entity; and a second computing device having a second volatile memory configured to store a copy of the first data entity. The first computing device is configured to perform: receiving an indication to update the first data entity; after receiving the indication, updating the first data entity in the first volatile memory, and providing to the second computing device an indication to update the copy of the first data entity; and providing an indication that the first data entity has been updated, after receiving information from the second computing device indicating that the copy of the first data entity has been updated in the second volatile memory.Type: GrantFiled: February 9, 2016Date of Patent: July 17, 2018Assignee: Ab Initio Technology LLCInventor: Ben Thomas
-
Publication number: 20180181567Abstract: In general, metadata is stored in a data storage system. Summary data identifying one or more characteristics of each of multiple metadata objects stored in the data storage system is computed, and the summary data characterizing a given metadata object in association with the given metadata object is stored. A visual representation is generated of a diagram including nodes representing respective metadata objects and relationships among the nodes. Generating the visual representation includes superimposing a representation of a characteristic identified by the summary data characterizing a given metadata object in proximity to the node representing the given metadata object.Type: ApplicationFiled: January 18, 2018Publication date: June 28, 2018Applicant: Ab Initio Technology LLCInventors: Erik Bator, Joel Gould, Dusan Radivojevic
-
Patent number: 10007598Abstract: An apparatus for testing applications includes a data-processing machine including a memory and a processor operably coupled to the memory. The data-processing machine is configured to implement a data-driven testing framework that includes a data engineering module, a computational environment manager, and a result analysis module. The data engineering module is configured to create engineered test data based at least in part on the application to be tested. The computational environment manager is configured to control a computational environment in which the application is to operate on the engineered test data. The result analysis module is configured to compare engineered test data operated upon by the application with an expected output.Type: GrantFiled: September 4, 2015Date of Patent: June 26, 2018Assignee: Ab Initio Technology LLCInventors: Philippe Printz, Marshall Alan Isman
-
Patent number: 9990362Abstract: Profiling data includes processing an accessed collection of records, including: generating, for a first set of distinct values appearing in a first set of one or more fields, corresponding location information; generating, for the first set of fields, a corresponding list of entries identifying a distinct value from the first set of distinct values and the location information for the distinct value; generating, for a second set of one or more fields, a corresponding list of entries, with each entry identifying a distinct value from a second set of distinct values appearing in the second set of fields; and generating result information, based at least in part on: locating at least one record of the collection using the location information for at least one value appearing in the first set of fields, and determining at least one value appearing in the second set of fields of the located record.Type: GrantFiled: September 21, 2015Date of Patent: June 5, 2018Assignee: Ab Initio Technology LLCInventor: Arlen Anderson
-
Patent number: 9984482Abstract: In a general aspect, a method includes displaying a first component of a graph on a user interface, including displaying at least one port of the first component; responsive to a user interaction with the displayed first component, displaying a representation of one or more ports of the first component that is distinct from the display of the first component; and enabling the user to generate a connection between the representation of a particular one of the ports of the first component and a port of a second component of the graph.Type: GrantFiled: August 23, 2013Date of Patent: May 29, 2018Assignee: Ab Initio Technology LLCInventors: Erik Bator, Ilya Rozenberg, Daniell Stevens, Dan Teven, Fredric M. White
-
Patent number: 9984059Abstract: Specifying rules for processing data included in fields of elements of a dataset includes rendering user interface elements associated with a respective condition. The user interface elements include: first subsets of user interface elements, at least some of which are associated with an input value derived from at least one field, and second subsets of user interface elements, each configured to receive user input associated with a respective condition. Conditions are applied to at least a first element of the dataset based on user input received from at least some of the user interface elements, in response to receiving user input for a first user interface element associated with a first field. Instructions are generated for applying one or more selected conditions associated with fewer than all of the user interface elements, the selected conditions including at least a condition associated with the first user interface element.Type: GrantFiled: September 25, 2014Date of Patent: May 29, 2018Assignee: Ab Initio Technology LLCInventors: Scott Studer, David Phillimore, Amit Weisman
-
Patent number: 9977659Abstract: Managing data set objects for graph-based data processing includes: storing a group of one or more data set objects in a data storage system, the data set objects each representing a respective data set; and generating an association between at least a first data set object in the group and at least a first node of a dataflow graph for processing data in a data processing system, the first node representing a source or sink of data in a flow of data represented by a link in the dataflow graph, and the first data set object including a plurality of modes in which different transformational logic is applied to data processed by the first node.Type: GrantFiled: October 25, 2011Date of Patent: May 22, 2018Assignee: Ab Initio Technology LLCInventors: Brond Larson, Richard A. Shapiro, Craig W. Stanfill, Adam Harris Weiss
-
Patent number: 9971798Abstract: Processing data in a computing system includes receiving a plurality of records that each have one or more values for respective fields of a plurality of fields. Data type information associates each of one or more data types with at least one identifier.Type: GrantFiled: February 19, 2015Date of Patent: May 15, 2018Assignee: Ab Initio Technology LLCInventor: Muhammad Arshad Khan
-
Publication number: 20180129699Abstract: A data processing system configured to perform: obtaining a first data lineage representing relationships among physical data elements, the first data lineage being generated at least in part by performing at least one of: (a) analyzing source code of at least one computer program configured to access the physical data elements; and (b) analyzing information obtained during runtime of the at least one computer program; obtaining, based on user input, a second data lineage representing relationships among business data elements; obtaining an association between at least some of the physical data elements of the first data lineage and at least some of the business data elements of the second data lineage; and generating, based on the association between the physical data elements and the business data elements, an indication of agreement or discrepancy between the first data lineage and the second data lineage.Type: ApplicationFiled: November 9, 2017Publication date: May 10, 2018Applicant: Ab Initio Technology LLCInventors: Joel Gould, Dusan Radivojevic