Patents by Inventor Andrew F. Roberts

Andrew F. Roberts has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9760406
    Abstract: 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: Grant
    Filed: September 2, 2015
    Date of Patent: September 12, 2017
    Assignee: Ab Initio Technology LLC
    Inventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould
  • Publication number: 20170252817
    Abstract: A printer fabricates an object from a computerized model using a fused filament fabrication process and a metallic build material. A nozzle cleaning fixture may be provided for the printer that is shaped to physically dislodge solidified build material and other contaminants from the nozzle. A robotic system for the printer can be used to maneuver the nozzle into engagement with the nozzle cleaning fixture for periodic cleaning, or in response to a diagnostic condition or the like indicating a clogged nozzle.
    Type: Application
    Filed: March 6, 2017
    Publication date: September 7, 2017
    Inventors: Nicholas Mykulowycz, Ricardo Fulop, Jonah Samuel Myerberg, Richard Thomas Burnham, Andrew F. Roberts, Richard Remo Fontana, Anastasios John Hart, Joseph Yosup Shim, Michael Andrew Gibson, Jan Schroers, Christopher Allan Schuh, Matthew David Verminski, Yet-Ming Chiang, Emanuel Michael Sachs
  • Patent number: 9563411
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for flow analysis. In one aspect, a method includes modifying a dataflow graph, the dataflow graph including a plurality of paths connecting at least one entry point and at least one exit point, including adding components to the dataflow graph that add flow units to data records and remove flow units from data records, each flow unit identifying a segment of a path traversed by the data record. The method also includes identifying execution paths based on flow units obtained by processing a plurality of data records using the modified dataflow graph. The method also includes determining a subset of the plurality of data records, wherein a selected set of execution paths are represented by the subset.
    Type: Grant
    Filed: January 5, 2012
    Date of Patent: February 7, 2017
    Assignee: Ab Initio Technology LLC
    Inventor: Andrew F. Roberts
  • Publication number: 20160062800
    Abstract: 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: Application
    Filed: September 2, 2015
    Publication date: March 3, 2016
    Inventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould
  • Publication number: 20160062749
    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 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: Application
    Filed: September 2, 2015
    Publication date: March 3, 2016
    Inventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould, Stephen A. Kukolich
  • Publication number: 20160062776
    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: Application
    Filed: September 2, 2015
    Publication date: March 3, 2016
    Inventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould, Stephen A. Kukolich
  • Publication number: 20160062736
    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: Application
    Filed: September 2, 2015
    Publication date: March 3, 2016
    Inventors: Craig W. Stanfill, Adam Weiss, Andrew F. Roberts, Stephen A. Kukolich
  • Publication number: 20160062737
    Abstract: A first component of a graph-based program specification includes an output control port. A second component includes an input control port and an input data port. A third component includes an output data port. The output control port is connected to the input control port, and the output data port is connected to the input data port. The first component includes control code that when executed causes the output control port to provide, to the input control port, at least one of suppression information or invocation information. The second component includes control code that when executed causes a computing system configured by the graph-based program specification to begin processing data received at the input data port in response to the invocation information if no suppression information is received at the input control port before the invocation information is received at the input control port.
    Type: Application
    Filed: September 2, 2015
    Publication date: March 3, 2016
    Inventors: Craig W. Stanfill, Richard Shapiro, Adam Weiss, Andrew F. Roberts, Joseph Skeffington Wholey, III, Joel Gould
  • Patent number: 8838748
    Abstract: A media mashup system functions as a virtualizable endpoint called an Intelligent Multimedia Pod, or IMP, that ensures a reliable and high-quality multimedia user-experience for a variety of mobile user devices such as intelligent phones etc. The media mashup platform uses a web 2.0 media mashup model that offers several key features including Near Real Time (NRT) service continuity, control-proxy for a mobile-friendly web-surfing experience, finely-filtered content aggregation based on meta-data, context sensors and buddy blaster content sharing/recommendation. These features are brought together using a web 2.0 service mashup model that integrates media meta-data together with various context sensors including mobility-related sensors such as location and presence, time-of-day, voice commands, as well as time-shifted playback.
    Type: Grant
    Filed: December 1, 2010
    Date of Patent: September 16, 2014
    Assignee: Azuki Systems, Inc.
    Inventors: Raj Nair, Andrew F. Roberts, IChang Lin
  • Publication number: 20140222752
    Abstract: A computer-implemented method includes accessing a plurality of data records, each data record having a plurality of data fields. The method further includes analyzing values for one or more of the data fields for at least some of the plurality of data records and generating a profile of the plurality of data records based on the analyzing. The method further includes formulating at least one subsetting rule based on the profile; and selecting a subset of data records from the plurality of data records based on the at least one subsetting rule.
    Type: Application
    Filed: March 14, 2013
    Publication date: August 7, 2014
    Applicant: AB INITIO TECHNOLOGY LLC
    Inventors: Marshall A. Isman, Richard A. Epstein, Ralf Haug, Andrew F. Roberts, John Ralston, John L. Richardson, Justin Pniower
  • Patent number: 8775447
    Abstract: Processing related datasets includes receiving over an input device or port records from multiple datasets, the records of a given dataset having one or more values for one or more respective fields; and processing records from each of the multiple datasets in a data processing system.
    Type: Grant
    Filed: June 22, 2011
    Date of Patent: July 8, 2014
    Assignee: Ab Initio Technology LLC
    Inventor: Andrew F. Roberts
  • Publication number: 20120179726
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for flow analysis. In one aspect, a method includes modifying a dataflow graph, the dataflow graph including a plurality of paths connecting at least one entry point and at least one exit point, including adding components to the dataflow graph that add flow units to data records and remove flow units from data records, each flow unit identifying a segment of a path traversed by the data record. The method also includes identifying execution paths based on flow units obtained by processing a plurality of data records using the modified dataflow graph. The method also includes determining a subset of the plurality of data records, wherein a selected set of execution paths are represented by the subset.
    Type: Application
    Filed: January 5, 2012
    Publication date: July 12, 2012
    Inventor: Andrew F. Roberts
  • Publication number: 20110313979
    Abstract: Processing related datasets includes receiving over an input device or port records from multiple datasets, the records of a given dataset having one or more values for one or more respective fields; and processing records from each of the multiple datasets in a data processing system.
    Type: Application
    Filed: June 22, 2011
    Publication date: December 22, 2011
    Inventor: Andrew F. Roberts
  • Publication number: 20110161409
    Abstract: A media mashup system functions as a virtualizable endpoint called an Intelligent Multimedia Pod, or IMP, that ensures a reliable and high-quality multimedia user-experience for a variety of mobile user devices such as intelligent phones etc. The media mashup platform uses a web 2.0 media mashup model that offers several key features including Near Real Time (NRT) service continuity, control-proxy for a mobile-friendly web-surfing experience, finely-filtered content aggregation based on meta-data, context sensors and buddy blaster content sharing/recommendation. These features are brought together using a web 2.0 service mashup model that integrates media meta-data together with various context sensors including mobility-related sensors such as location and presence, time-of-day, voice commands, as well as time-shifted playback.
    Type: Application
    Filed: December 1, 2010
    Publication date: June 30, 2011
    Applicant: AZUKI SYSTEMS, INC.
    Inventors: Raj Nair, Andrew F. Roberts, IChang Lin
  • Publication number: 20100274674
    Abstract: A media navigation system provides a user interface for navigating and interacting with streamed media objects, including video. The system may employ media markers representing time locations within a media file in addition to images or other representations derived from the media object. The system displays a tile layout representing a sequence of the media at an interval comprising a set of sub intervals corresponding to the tiles, and enables a user to click on the tiles to navigate to a next set of tiles which correspond to a different interval, and which replace the currently displayed tiles on the display. Navigation can include zooming in (smaller interval), zooming out (larger interval) and “panning” (preceding or succeeding interval) at arbitrary intervals. Individual tiles may also include visual indicators of relative importance or activity such as the number of comments associated with a sub interval.
    Type: Application
    Filed: June 23, 2010
    Publication date: October 28, 2010
    Applicant: Azuki Systems, Inc.
    Inventors: Andrew F. Roberts, Raj Nair
  • Patent number: 7783697
    Abstract: As supposed to the common hard coding method, the invention provides the ability to create a module/mechanism (a template) that produces code that may be utilized to create a web service. A template has a list of features, and a model (a run time model—RTM) and is utilized to create a model that generates an application or web service. An RTM declares the structure, functionality, and behavior of a web service application. Each feature can generate XML entities in a new RTM, and may obtain input to build an XML entity in a new RTM. Each feature may be processed sequentially and can modify any existing XML entities. Consequently, features can make changes to the entire existing application. In one embodiment, when a condition that may affect an application changes, the template may be utilized to regenerate the RTM to produce a new web service or XML document.
    Type: Grant
    Filed: September 23, 2008
    Date of Patent: August 24, 2010
    Assignee: International Business Machines Corporation
    Inventors: Andrew F. Roberts, Jonathan P. Booth
  • Publication number: 20090019359
    Abstract: As supposed to the common hard coding method, the invention provides the ability to create a module/mechanism (a template) that produces code that may be utilized to create a web service. A template has a list of features, and a model (a run time model—RTM) and is utilized to create a model that generates an application or web service. An RTM declares the structure, functionality, and behavior of a web service application. Each feature can generate XML entities in a new RTM, and may obtain input to build an XML entity in a new RTM. Each feature may be processed sequentially and can modify any existing XML entities. Consequently, features can make changes to the entire existing application. In one embodiment, when a condition that may affect an application changes, the template may be utilized to regenerate the RTM to produce a new web service or XML document.
    Type: Application
    Filed: September 23, 2008
    Publication date: January 15, 2009
    Inventors: ANDREW F. ROBERTS, Jonathan P. Booth
  • Patent number: 7447733
    Abstract: As supposed to the common hard coding method, the invention provides the ability to create a module/mechanism (a template) that produces code that may be utilized to create a web service. A template has a list of features, and a model (a run time model—RTM) and is utilized to create a model that generates an application or web service. An RTM declares the structure, functionality, and behavior of a web service application. Each feature can generate XML entities in a new RTM, and may obtain input to build an XML entity in a new RTM. Each feature may be processed sequentially and can modify any existing XML entities. Consequently, features can make changes to the entire existing application. In one embodiment, when a condition that may affect an application changes, the template may be utilized to regenerate the RTM to produce a new web service or XML document.
    Type: Grant
    Filed: January 24, 2003
    Date of Patent: November 4, 2008
    Assignee: International Business Machines Corporation
    Inventors: Andrew F. Roberts, Jonathan W. Booth
  • Patent number: 6792605
    Abstract: The present invention provides a method and apparatus for accessing and using services and applications from a number of sources into a customized application. The present invention accomplishes this through an entity referred to as a web service. The web services architecture maintains a directory of services available to provide processing or services, along with the location of the services and the input/output schemas required by the services. When a request for data or services is received, appropriate services are invoked by a web services engine using service drivers associated with each service. A web services application is then generated from a runtime model and is invoked to satisfy the request, by communicating as necessary with services in proper I/O formats. In one embodiment, the web services application provides responses in the form of HTML that can be used to generate pages to a browser.
    Type: Grant
    Filed: June 10, 1999
    Date of Patent: September 14, 2004
    Assignee: Bow Street Software, Inc.
    Inventors: Andrew F. Roberts, Jonathan W. Booth, Michael R. Burati, Thomas E. Beauvais, John T. Serfass, Jr., Joseph Sommers, III
  • Publication number: 20030200533
    Abstract: The invention provides a method and apparatus for the dynamic generation and regeneration of software objects that can have logic that specifies structure, functionality and behavior in a computing system. One embodiment is the regeneration function that produces related, but different instances of software objects, including System Logic Objects. The regeneration function comprises ordered sequences of tasks, whose definition, and parameterization are obtained from a Generative Model, and which are performed by software objects called Builders. Each Builder accepts a set of input parameters and a reference to a container that contains zero or more generated software objects, including System Logic Objects. The regeneration function directs each Builder to work on the contents of the container, add, modify, and delete objects, and return the container with updated contents. The behavior of the regeneration function can be altered by disabling selected Builders, and by changing the inputs to the Builders.
    Type: Application
    Filed: November 27, 2002
    Publication date: October 23, 2003
    Inventors: Andrew F. Roberts, Jonathan Booth, Stephen Zagieboylo