Patents by Inventor JEFFREY POUND

JEFFREY POUND 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: 10671572
    Abstract: A system includes reception of a first write request from a client including a first key and a first one or more stream, payload pairs associated with the first key, copying of the first key and the first one or more stream, payload pairs to a first buffer of a volatile memory, storage of data of the first buffer in one or more blocks of a raw block non-volatile memory device, providing of the first buffer to a stream store server, reception of the first buffer at the stream store server, adding of the first key and the first one or more stream, payload pairs to a second buffer of the volatile memory, in key-order, storage of the data of the second buffer in a filesystem storage device, according to stream, and transmission of an indication of the durability of the key to the tail store server.
    Type: Grant
    Filed: June 14, 2016
    Date of Patent: June 2, 2020
    Assignee: SAP SE
    Inventors: Nathan Auch, Scott MacLean, Peter Bumbulis, Jeffrey Pound, Anil Kumar Goel
  • Patent number: 10417208
    Abstract: A plus-minus-one array in which adjacent entries vary by no more than positive one and no less than negative one is accessed. A range minimum query directory tree including blocks and subblocks of the plus-minus-one array is determined. Blocks are contained in the plus-minus-one array and subblocks are contained in the blocks. A data structure characterizing positions of minimum elements within the range minimum query directory tree is generated. The characterization includes positions of minimums within each subblock, between subblocks in a respective block, within each block, and between blocks. The data structure is stored. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: December 15, 2016
    Date of Patent: September 17, 2019
    Assignee: SAP SE
    Inventors: Alejandro Lopez-Ortiz, Daniela Maftuleac, Alejandro Salinger, Jeffrey Pound
  • Patent number: 10366106
    Abstract: Disclosed herein are system, method, and computer program product embodiments for quorum-based replication of data records. In one embodiment, a read request for reading a record is received from a user node on a replica node of a cluster of replica nodes. The record is then determined not committed on the replica node. In response to the determination, an update message indicative of whether the number of replica nodes on which the record is durable exceeds a threshold is received on the replica node. In response to the number of replica nodes exceeds the threshold, a value of the record on the replica node is transmitted to the user node.
    Type: Grant
    Filed: December 9, 2016
    Date of Patent: July 30, 2019
    Assignee: SAP SE
    Inventors: Hua Fan, Jeffrey Pound, Peter Bumbulis, Anil Kumar Goel, Scott MacLean, Nathan Auch, Eric Garber
  • Patent number: 10360145
    Abstract: A system includes writing of log data in chunks over a first range of heap log sequence positions of a heap log stored in the non-volatile memory system, and writing of a heap anchor marker in a first anchor stream of a transaction log stored in the non-volatile memory system, at a first transaction log sequence position of the transaction log, wherein the first anchor stream is associated with a first stream of the transaction log, and the heap anchor marker identifies the first range of heap log sequence positions of the heap log.
    Type: Grant
    Filed: June 13, 2016
    Date of Patent: July 23, 2019
    Assignee: SAP SE
    Inventors: Jeffrey Pound, Nathan Auch, Peter Bumbulis, Anil Kumar Goel, Scott MacLean, Eric Garber
  • Patent number: 10346387
    Abstract: A method includes a primary storage unit receiving a first write request including a first key and a first value; persisting the first value in a first non-volatile memory in association with the first key; broadcasting the first write request and a first set of globally-durable keys to secondary storage units; receiving, from the secondary storage units, an acknowledgement of the first write request and a first set of locally-durable keys, each of the first sets of locally-durable keys including the first key; the primary storage unit receiving a second write request including a second key and a second value; persisting the second value in the first non-volatile memory in association with the second key; and broadcasting the second write request and a second set of globally-durable keys to the secondary storage units, the second set of locally-durable keys including the first key. A system is also disclosed.
    Type: Grant
    Filed: June 13, 2016
    Date of Patent: July 9, 2019
    Assignee: SAP SE
    Inventors: Peter Bumbulis, Jeffrey Pound, Nathan Auch, Anil Kumar Goel, Matthias Ringwald, Thomas Bodner, Scott MacLean
  • Patent number: 10042886
    Abstract: A method and system, the system including a plurality of machines each having a processor and a main memory component; a shared distributed storage facility storing a set of data and accessible by the plurality of machines over a communication network; a controller to select, in response to a state of a query execution plan comprising a plurality of executable jobs for the set of data, which one of a set of scheduling algorithms to execute; an execution engine to execute the selected scheduling algorithm to determine, for each job in the plurality of jobs, which server to schedule to execute the respective job; and providing an indication of the scheduling of the servers determined to be schedules for the execution of the jobs.
    Type: Grant
    Filed: August 3, 2015
    Date of Patent: August 7, 2018
    Assignee: SAP SE
    Inventors: Pooya Saadat-Panah, Anisoara Nica, Nathan Auch, Peter Bumbulis, Anil Kumar Goel, Jeffrey Pound
  • Publication number: 20180173738
    Abstract: A plus-minus-one array in which adjacent entries vary by no more than positive one and no less than negative one is accessed. A range minimum query directory tree including blocks and subblocks of the plus-minus-one array is determined. Blocks are contained in the plus-minus-one array and subblocks are contained in the blocks. A data structure characterizing positions of minimum elements within the range minimum query-directory tree is generated. The characterization includes positions of minimums within each subblock, between subblocks in a respective block, within each block, and between blocks. The data structure is stored. Related apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: December 15, 2016
    Publication date: June 21, 2018
    Inventors: Alejandro Lopez-Ortiz, Daniela Maftuleac, Alejandro Salinger, Jeffrey Pound
  • Publication number: 20180173710
    Abstract: A bit vector having a bit vector length is accessed. A select operator directory tree can be generated using the bit vector. The select operator directory tree includes a first level of superblocks including large superblocks and small superblocks, a second level of blocks including large blocks and small blocks, each block associated with one of the superblocks, and a third level of sub-blocks, each sub-block associated with a block. The large superblocks each have, a length greater than a first constant that is independent of the bit vector length and the large blocks each have a length greater than a second constant that is independent of the bit vector length. The select operator directory tree can be stored. Related apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: December 15, 2016
    Publication date: June 21, 2018
    Inventors: Daniela Maftuleac, Alejandro Lopez-Ortiz, Jeffrey Pound, Alejandro Salinger
  • Publication number: 20180165343
    Abstract: Disclosed herein are system, method, and computer program product embodiments for quorum-based replication of data records. In one embodiment, a read request for reading a record is received from a user node on a replica node of a cluster of replica nodes. The record is then determined not committed on the replica node. In response to the determination, an update message indicative of whether the number of replica nodes on which the record is durable exceeds a threshold is received on the replica node. In response to the number of replica nodes exceeds the threshold, a value of the record on the replica node is transmitted to the user node.
    Type: Application
    Filed: December 9, 2016
    Publication date: June 14, 2018
    Inventors: Hua Fan, Jeffrey Pound, Peter Bumbulis, Anil Kumar Goel, Scott MacLean, Nathan Auch, Eric Garber
  • Patent number: 9990392
    Abstract: Disclosed herein are system, method, and computer program product embodiments for distributed transaction processing in massively parallel processing (MPP) databases. An embodiment operates by receiving a transaction including a read timestamp corresponding to a version of data of a database associated with the query. It is determined whether a locally stored portion of the data of the database has a local timestamp that is equivalent to or after the read timestamp. A lock may be requested, and if received, the data is updated.
    Type: Grant
    Filed: April 7, 2015
    Date of Patent: June 5, 2018
    Assignee: SAP SE
    Inventors: Jeffrey Pound, Nathan Auch, Peter Bumbulis, Anil Goel
  • Publication number: 20170357574
    Abstract: A system includes writing of log data in chunks over a first range of heap log sequence positions of a heap log stored in the non-volatile memory system, and writing of a heap anchor marker in a first anchor stream of a transaction log stored in the non-volatile memory system, at a first transaction log sequence position of the transaction log, wherein the first anchor stream is associated with a first stream of the transaction log, and the heap anchor marker identifies the first range of heap log sequence positions of the heap log.
    Type: Application
    Filed: June 13, 2016
    Publication date: December 14, 2017
    Inventors: Jeffrey Pound, Nathan Auch, Peter Bumbulis, Anil Kumar Goel, Scott MacLean, Eric Garber
  • Publication number: 20170357683
    Abstract: A system and method include reception, at a primary storage unit, of a first write request from a client including a first key and a first value, persisting of the first value in a first non-volatile memory of the primary storage unit in association with the first key, broadcast of the first write request and a first set of globally-durable keys to the one or more secondary storage units, reception, from each of the one or more secondary storage units, of an acknowledgement of the first write request and a first set of locally-durable keys, each of the first sets of locally-durable keys including the first key, reception, at the primary storage unit, of a second write request from the client including a second key and a second value, persisting of the second value in the first non-volatile memory in association with the second key, and broadcast of the second write request and a second set of globally-durable keys to the one or more secondary storage units, the second set of locally-durable keys including the
    Type: Application
    Filed: June 13, 2016
    Publication date: December 14, 2017
    Inventors: Peter Bumbulis, Jeffrey Pound, Nathan Auch, Anil Kumar Goel, Matthias Ringwald, Thomas Bodner, Scott MacLean
  • Publication number: 20170357667
    Abstract: A system includes reception of a first write request from a client including a first key and a first one or more stream, payload pairs associated with the first key, copying of the first key and the first one or more stream, payload pairs to a first buffer of a volatile memory, storage of data of the first buffer in one or more blocks of a raw block non-volatile memory device, providing of the first buffer to a stream store server, reception of the first buffer at the stream store server, adding of the first key and the first one or more stream, payload pairs to a second buffer of the volatile memory, in key-order, storage of the data of the second buffer in a filesystem storage device, according to stream, and transmission of an indication of the durability of the key to the tail store server.
    Type: Application
    Filed: June 14, 2016
    Publication date: December 14, 2017
    Inventors: Nathan Auch, Scott MacLean, Peter Bumbulis, Jeffrey Pound, Anil Kumar Goel
  • Patent number: 9807168
    Abstract: Disclosed herein are system, method, and computer program product embodiments for accessing a distributed shared log that supports a total order over log writes and multiple logical log streams. An embodiment operates by selecting a range of log entries for a logical log stream from the distributed shared log and mapping the selected range of log entries to associated storage units in a plurality of storage units. The selected range of log entries are stored at the associated storage units according to metadata that indexes the selected range of log entries by logical log stream. The selected range of log entries are then requested from the associated storage units based on the mapping. The selected range of log entries for the logical log stream are then returned from the associated storage units based on a scan of the metadata. The received log entries are then reassembled.
    Type: Grant
    Filed: April 10, 2015
    Date of Patent: October 31, 2017
    Assignee: SAP SE
    Inventors: Nathan Auch, Peter Bumbulis, Anil Goel, Jeffrey Pound
  • Publication number: 20170039239
    Abstract: A method and system, the system including a plurality of machines each having a processor and a main memory component; a shared distributed storage facility storing a set of data and accessible by the plurality of machines over a communication network; a controller to select, in response to a state of a query execution plan comprising a plurality of executable jobs for the set of data, which one of a set of scheduling algorithms to execute; an execution engine to execute the selected scheduling algorithm to determine, for each job in the plurality of jobs, which server to schedule to execute the respective job; and providing an indication of the scheduling of the servers determined to be schedules for the execution of the jobs.
    Type: Application
    Filed: August 3, 2015
    Publication date: February 9, 2017
    Inventors: Pooya Saadat-Panah, Anisoara Nica, Nathan Auch, Peter Bumbulis, Anil Kumar Goel, Jeffrey Pound
  • Publication number: 20160301753
    Abstract: Disclosed herein are system, method, and computer program product embodiments for accessing a distributed shared log that supports a total order over log writes and multiple logical log streams. An embodiment operates by selecting a range of log entries for a logical log stream from the distributed shared log and mapping the selected range of log entries to associated storage units in a plurality of storage units. The selected range of log entries are stored at the associated storage units according to metadata that indexes the selected range of log entries by logical log stream. The selected range of log entries are then requested from the associated storage units based on the mapping. The selected range of log entries for the logical log stream are then returned from the associated storage units based on a scan of the metadata. The received log entries are then reassembled.
    Type: Application
    Filed: April 10, 2015
    Publication date: October 13, 2016
    Inventors: Nathan Auch, Peter Bumbulis, Anil Goel, Jeffrey Pound
  • Publication number: 20160299932
    Abstract: Disclosed herein are system, method, and computer program product embodiments for distributed transaction processing in massively parallel processing (MPP) databases. An embodiment operates by receiving a transaction including a read timestamp corresponding to a version of data of a database associated with the query. It is determined whether a locally stored portion of the data of the database has a local timestamp that is equivalent to or after the read timestamp. A lock may be requested, and if received, the data is updated.
    Type: Application
    Filed: April 7, 2015
    Publication date: October 13, 2016
    Inventors: JEFFREY POUND, Nathan Auch, Peter Bumbulis, Anil Goel
  • Publication number: 20120226681
    Abstract: Previously received queries from a search log are analyzed to determine a category of structured data associated with each query. For example, the categories may correspond to consumer product categories such as televisions, digital cameras, etc. For each category, the terms of the queries associated with the category are correlated with the attributes and attribute values of the structured data tuples associated with the category. The attributes may be ranked based on the correlation. When a subsequent query is received, the category of the query is determined and the ranked attributes associated with the category are used to select facets that are displayed to the user along with the search results.
    Type: Application
    Filed: March 1, 2011
    Publication date: September 6, 2012
    Applicant: Microsoft Corporation
    Inventors: Stelios Paparizos, Panayiotis Tsaparas, Jeffrey A. Pound