Patents by Inventor RICHARD TODD KNIGHT

RICHARD TODD KNIGHT 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: 11263175
    Abstract: An apparatus includes a processor to: within each reading thread, retrieve a data set part and corresponding part metadata from storage device(s), analyze row group metadata for each row group within the data set part to identify candidate row group(s) meeting specified criteria, and store the candidate row group(s) and corresponding row group metadata within a data buffer of a queue; operate the queue as a FIFO buffer; within each provision thread, retrieve one of multiple row groups and corresponding metadata from within the data buffer, use information in the metadata to identify rows meeting the criteria, and provide those rows to the requesting device or an application; and in response to each instance of storage of a data set part within a data buffer of the queue, analyze the availability of storage space and/or of processing resources to determine whether to dynamically adjust the quantity of reading threads.
    Type: Grant
    Filed: September 30, 2020
    Date of Patent: March 1, 2022
    Assignee: SAS INSTITUTE INC.
    Inventors: Brian Payton Bowman, Gordon Lyle Keener, Richard Todd Knight
  • Publication number: 20210026806
    Abstract: An apparatus includes a processor to: within each reading thread, retrieve a data set part and corresponding part metadata from storage device(s), analyze row group metadata for each row group within the data set part to identify candidate row group(s) meeting specified criteria, and store the candidate row group(s) and corresponding row group metadata within a data buffer of a queue; operate the queue as a FIFO buffer; within each provision thread, retrieve one of multiple row groups and corresponding metadata from within the data buffer, use information in the metadata to identify rows meeting the criteria, and provide those rows to the requesting device or an application; and in response to each instance of storage of a data set part within a data buffer of the queue, analyze the availability of storage space and/or of processing resources to determine whether to dynamically adjust the quantity of reading threads.
    Type: Application
    Filed: September 30, 2020
    Publication date: January 28, 2021
    Applicant: SAS Institute Inc.
    Inventors: Brian Payton Bowman, Gordon Lyle Keener, Richard Todd Knight
  • Patent number: 10185721
    Abstract: An apparatus includes a processor component caused to: retrieve metadata of organization of data within a data set, and map data of organization of data blocks within a data file; receive indications of which node devices are available to perform a processing task with a data set portion; and in response to the data set including partitioned data, compare the quantities of available node devices and of the node devices last involved in storing the data set. In response to a match, for each map data map entry: retrieve a hashed identifier for a data sub-block, and a size for each of the data sub-blocks within the corresponding data block; divide the hashed identifier by the quantity of available node devices; compare the modulo value to a designation assigned to each of the available node devices; and provide a pointer to the available node device assigned the matching designation.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: January 22, 2019
    Assignee: SAS Institute Inc.
    Inventors: Brian Payton Bowman, Steven E. Krueger, Richard Todd Knight, Chih-Wei Ho
  • Publication number: 20180075051
    Abstract: An apparatus includes a processor component caused to: retrieve metadata of organization of data within a data set, and map data of organization of data blocks within a data file; receive indications of which node devices are available to perform a processing task with a data set portion; and in response to the data set including partitioned data, compare the quantities of available node devices and of the node devices last involved in storing the data set. In response to a match, for each map data map entry: retrieve a hashed identifier for a data sub-block, and a size for each of the data sub-blocks within the corresponding data block; divide the hashed identifier by the quantity of available node devices; compare the modulo value to a designation assigned to each of the available node devices; and provide a pointer to the available node device assigned the matching designation.
    Type: Application
    Filed: November 6, 2017
    Publication date: March 15, 2018
    Applicant: SAS Institute Inc.
    Inventors: BRIAN PAYTON BOWMAN, STEVEN E. KRUEGER, RICHARD TODD KNIGHT, CHIH-WEI HO
  • Patent number: 9811524
    Abstract: An apparatus comprising a processor component to: provide, to a control device, an indication of availability to perform a processing task with one or more data set portions as a node device; perform a processing task specified by the control device with the one or more data set portions; and request a pointer to a location at which to store the one or more data set portions as a data block within a data file. In response to the data set including partitioned data, for each data set portion, include a data sub-block size of the data set portion and a hashed identifier derived from a partition label of a partition in the request; receive, from the control device, the requested pointer to the location; and store each data set portion as a data sub-block within the data block starting at the location within the data file.
    Type: Grant
    Filed: July 26, 2016
    Date of Patent: November 7, 2017
    Assignee: SAS Institute Inc.
    Inventors: Brian Payton Bowman, Steven E. Krueger, Richard Todd Knight, Chih-Wei Ho
  • Patent number: 9703789
    Abstract: An apparatus comprising a processor component to: receive metadata of data organization within a data set; receive indications of which node devices will be storing the data set as multiple data blocks within a data file; and receive, from each node device, a pointer request to a location within the data file for storing a data set portion as a data block. In response to the data set including partitioned data, for each request for a pointer: determine the location within the data file; generate a map data map entry for the data block; generate therein a sub-block count of data sub-blocks within the data block; generate therein a sub-entry for each data sub-block including size and a hashed identifier derived from a partition label; and provide a pointer to the node device. In response to successful storage of all data blocks, store the map data in the data file.
    Type: Grant
    Filed: July 26, 2016
    Date of Patent: July 11, 2017
    Assignee: SAS Institute Inc.
    Inventors: Brian Payton Bowman, Steven E. Krueger, Richard Todd Knight, Chih-Wei Ho
  • Patent number: 9619148
    Abstract: An apparatus includes processor component caused to: retrieve metadata of organization of data within a data set, and map data of organization of data blocks within a data file; receive indications of which node devices are available to perform a processing task with a data set portion; and in response to the data set including partitioned data, compare the quantities of available node devices and of the node devices last involved in storing the data set. In response to a match, for each map data map entry: retrieve a hashed identifier for a data sub-block, and a size for each of the data sub-blocks within the corresponding data block; divide the hashed identifier by the quantity of available node devices; compare the modulo value to a designation assigned to each of the available node devices; and provide a pointer to the available node device assigned the matching designation.
    Type: Grant
    Filed: July 26, 2016
    Date of Patent: April 11, 2017
    Assignee: SAS Institute Inc.
    Inventors: Brian Payton Bowman, Steven E. Krueger, Richard Todd Knight, Chih-Wei Ho
  • Publication number: 20170031936
    Abstract: An apparatus comprising a processor component to: provide, to a control device, an indication of availability to perform a processing task with one or more data set portions as a node device; perform a processing task specified by the control device with the one or more data set portions; and request a pointer to a location at which to store the one or more data set portions as a data block within a data file. In response to the data set including partitioned data, for each data set portion, include a data sub-block size of the data set portion and a hashed identifier derived from a partition label of a partition in the request; receive, from the control device, the requested pointer to the location; and store each data set portion as a data sub-block within the data block starting at the location within the data file.
    Type: Application
    Filed: July 26, 2016
    Publication date: February 2, 2017
    Applicant: SAS Institute Inc.
    Inventors: BRIAN PAYTON BOWMAN, STEVEN E. KRUEGER, RICHARD TODD KNIGHT, CHIH-WEI HO
  • Publication number: 20170031937
    Abstract: An apparatus comprising a processor component to: receive metadata of data organization within a data set; receive indications of which node devices will be storing the data set as multiple data blocks within a data file; and receive, from each node device, a pointer request to a location within the data file for storing a data set portion as a data block. In response to the data set including partitioned data, for each request for a pointer: determine the location within the data file; generate a map data map entry for the data block; generate therein a sub-block count of data sub-blocks within the data block; generate therein a sub-entry for each data sub-block including size and a hashed identifier derived from a partition label; and provide a pointer to the node device. In response to successful storage of all data blocks, store the map data in the data file.
    Type: Application
    Filed: July 26, 2016
    Publication date: February 2, 2017
    Applicant: SAS Institute Inc.
    Inventors: BRIAN PAYTON BOWMAN, STEVEN E. KRUEGER, RICHARD TODD KNIGHT, CHIH-WEI HO
  • Publication number: 20170031599
    Abstract: An apparatus includes a processor component caused to: retrieve metadata of organization of data within a data set, and map data of organization of data blocks within a data file; receive indications of which node devices are available to perform a processing task with a data set portion; and in response to the data set including partitioned data, compare the quantities of available node devices and of the node devices last involved in storing the data set. In response to a match, for each map data map entry: retrieve a hashed identifier for a data sub-block, and a size for each of the data sub-blocks within the corresponding data block; divide the hashed identifier by the quantity of available node devices; compare the modulo value to a designation assigned to each of the available node devices; and provide a pointer to the available node device assigned the matching designation.
    Type: Application
    Filed: July 26, 2016
    Publication date: February 2, 2017
    Applicant: SAS Institute Inc.
    Inventors: BRIAN PAYTON BOWMAN, STEVEN E. KRUEGER, RICHARD TODD KNIGHT, CHIH-WEI HO