Patents by Inventor James E. Mace

James E. Mace 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).

  • Publication number: 20180218022
    Abstract: This disclosure provides various techniques that may allow for key-level lock requests in a database to be managed by code that manages a memory buffer for the database. The transaction-level locks and other higher level locks may be managed by a separate lock manager. In an embodiment, the code inserts key-level lock requests in the record chain even if there is a conflict, and the key-level lock requests remain in the chain after the locks are subsequently granted. Preemption may also be supported in the record chain, in some embodiments.
    Type: Application
    Filed: January 31, 2017
    Publication date: August 2, 2018
    Inventors: James E. Mace, Jameison Bear Martin
  • Publication number: 20180217987
    Abstract: This disclosure provides various techniques that may allow for accessing values stored in a data structure that stores multiple values corresponding to database transactions using a skip list. A key may be used to traverse the skip list to access data associated with the key. The skip list maintains on ordering of multiple keys, each associated with a particular record in the data structure, using indirect links between data records in the data structure that reference buckets included in hash table. Each bucket includes pointers to one or more records in the skip list.
    Type: Application
    Filed: January 31, 2017
    Publication date: August 2, 2018
    Inventors: Patrick James Helland, James E. Mace, Thomas Fanghaenel
  • Publication number: 20180218023
    Abstract: Techniques are disclosed relating to efficiently processing of concurrent database transactions. In one embodiment, a database system receives a first key-value pair for a database transaction and stores the key-value pair in a data structure for active database transactions. The storing may include indexing into a hash table of the data structure with a key of the key-value pair to identify a hash bucket of the hash table corresponding to the key, acquiring a latch associated with the identified hash bucket, and, based on a state of the acquired latch, appending, to the hash bucket, a record specifying the key-value pair. The database system may cause the key-value pair from the data structure to be committed to persistent storage in response to the database transaction being committed.
    Type: Application
    Filed: January 31, 2017
    Publication date: August 2, 2018
    Inventors: Thomas Fanghaenel, Patrick James Helland, James E. Mace
  • Publication number: 20180129693
    Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.
    Type: Application
    Filed: November 4, 2016
    Publication date: May 10, 2018
    Inventors: Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, James E. Mace, Punit B. Shah
  • Patent number: 9208031
    Abstract: A log structured content addressable deduplicated data storage system may be used to store deduplicated data. Data to be stored is partitioned into data segments. Each unique data segment is associated with a label. The storage system maintains a transaction log. Mutating storage operations are initiated by storing transaction records in the transaction log. Additional transaction records are stored in the log when storage operations are completed. Upon restarting an embodiment of the data storage system, the transaction records from the transaction logs are replayed to recreate the state of the data storage system. The data storage system updates file system metadata with transaction information while a storage operation associated with the file is being processed. This transaction information serves as atomically updated transaction commit points, allowing fully internally consistent snapshots of deduplicated volumes to be taken at any time.
    Type: Grant
    Filed: March 31, 2009
    Date of Patent: December 8, 2015
    Assignee: RIVERBED TECHNOLOGY, INC.
    Inventors: James E. Mace, Nitin Parab
  • Patent number: 9015197
    Abstract: A distributed search system can include a group of nodes assigned to different partitions. Each partition can store indexes for a group of documents. Nodes in the same partition can independently processing document-based records to construct the indexes. One of the nodes can process a stored checkpoint to produce a repartitioned checkpoint. The group of nodes can respond to search requests during the construction of the repartitioned checkpoint. The repartitioned checkpoint can be loaded into the group of nodes to repartition the group of nodes.
    Type: Grant
    Filed: August 1, 2007
    Date of Patent: April 21, 2015
    Assignee: Oracle International Corporation
    Inventors: Michael Richards, James E. Mace
  • Patent number: 8266114
    Abstract: A log structured content addressable deduplicated data storage system may be used to store deduplicated data. Data to be stored is partitioned into data segments. Each unique data segment is associated with a label. The storage system maintains a transaction log. Mutating storage operations are initiated by storing transaction records in the transaction log. Additional transaction records are stored in the log when storage operations are completed. Upon restarting an embodiment of the data storage system, the transaction records from the transaction logs are replayed to recreate the state of the data storage system. The data storage system updates file system metadata with transaction information while a storage operation associated with the file is being processed. This transaction information serves as atomically updated transaction commit points, allowing fully internally consistent snapshots of deduplicated volumes to be taken at any time.
    Type: Grant
    Filed: September 22, 2008
    Date of Patent: September 11, 2012
    Assignee: Riverbed Technology, Inc.
    Inventors: James E. Mace, Nitin Parab
  • Patent number: 7733910
    Abstract: Shift-varying segmentation uses a shift-varying predicate function to evaluate input data within a sliding window to determine if the current sliding window position should be a segment boundary. The shift-varying predicate function is a function of both the input data within the sliding window and the position of the sliding window relative to a previous segment boundary or the beginning of the input data. The shift-varying predicate function includes a containment property and may compute a hash value from the input data in the sliding window. The hash value is compared to a threshold value that is a function of the sliding window position. As the sliding window position advances away from a previous segment boundary, the probability of a segment boundary at the window position increases. Shift-varying segmentation can be used in compression, transaction acceleration, and data storage applications.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: June 8, 2010
    Assignee: Riverbed Technology, Inc.
    Inventors: James E. Mace, David B. Anderson, Steven McCanne
  • Patent number: 7725470
    Abstract: A distributed search system including a group of nodes assigned to different partitions, each partition storing a partial index for a group of documents. At least one of the nodes receives a search request from a user, sends the search request to a set of nodes, receives partial results from the set of nodes and creates a combined result from the partial results. The combined result includes results from a node in each partition.
    Type: Grant
    Filed: August 1, 2007
    Date of Patent: May 25, 2010
    Assignee: BEA Systems, Inc.
    Inventors: Michael Richards, James E. Mace
  • Publication number: 20100082547
    Abstract: A log structured content addressable deduplicated data storage system may be used to store deduplicated data. Data to be stored is partitioned into data segments. Each unique data segment is associated with a label. The storage system maintains a transaction log. Mutating storage operations are initiated by storing transaction records in the transaction log. Additional transaction records are stored in the log when storage operations are completed. Upon restarting an embodiment of the data storage system, the transaction records from the transaction logs are replayed to recreate the state of the data storage system. The data storage system updates file system metadata with transaction information while a storage operation associated with the file is being processed. This transaction information serves as atomically updated transaction commit points, allowing fully internally consistent snapshots of deduplicated volumes to be taken at any time.
    Type: Application
    Filed: September 22, 2008
    Publication date: April 1, 2010
    Applicant: RIVERBED TECHNOLOGY, INC.
    Inventors: James E. Mace, Nitin Parab
  • Publication number: 20100082529
    Abstract: A log structured content addressable deduplicated data storage system may be used to store deduplicated data. Data to be stored is partitioned into data segments. Each unique data segment is associated with a label. The storage system maintains a transaction log. Mutating storage operations are initiated by storing transaction records in the transaction log. Additional transaction records are stored in the log when storage operations are completed. Upon restarting an embodiment of the data storage system, the transaction records from the transaction logs are replayed to recreate the state of the data storage system. The data storage system updates file system metadata with transaction information while a storage operation associated with the file is being processed. This transaction information serves as atomically updated transaction commit points, allowing fully internally consistent snapshots of deduplicated volumes to be taken at any time.
    Type: Application
    Filed: March 31, 2009
    Publication date: April 1, 2010
    Applicant: RIVERBED TECHNOLOGY, INC.
    Inventors: James E. Mace, Nitin Parab
  • Publication number: 20090060673
    Abstract: An apparatus and method for machining is provided. A mounting assembly for use with a spindle, a CNC machine, an auto changer device and an air supply line, can include a mounting collar and a mounting block. The mounting collar can have a collar body and a collar arm, where the collar body defines a collar opening and one or more grooves circumscribing the collar opening, where the one or more grooves each have a sealing element positioned therein, and wherein the collar arm has a collar inlet, a collar outlet and a collar channel to provide fluid communication between the collar inlet and the collar outlet. The mounting block can be connected to the CNC machine and can have a block inlet connected to the air supply line, a block outlet, and a block channel to provide fluid communication between the block inlet and the block outlet. The spindle can be selectively positioned through the collar opening and connected to the mounting collar.
    Type: Application
    Filed: August 29, 2008
    Publication date: March 5, 2009
    Applicant: Air Turbine Technology Inc.
    Inventor: James E. Mace
  • Publication number: 20080159331
    Abstract: Shift-varying segmentation uses a shift-varying predicate function to evaluate input data within a sliding window to determine if the current sliding window position should be a segment boundary. The shift-varying predicate function is a function of both the input data within the sliding window and the position of the sliding window relative to a previous segment boundary or the beginning of the input data. The shift-varying predicate function includes a containment property and may compute a hash value from the input data in the sliding window. The hash value is compared to a threshold value that is a function of the sliding window position. As the sliding window position advances away from a previous segment boundary, the probability of a segment boundary at the window position increases. Shift-varying segmentation can be used in compression, transaction acceleration, and data storage applications.
    Type: Application
    Filed: December 29, 2006
    Publication date: July 3, 2008
    Applicant: Riverbed Technology, Inc.
    Inventors: James E Mace, David B. Anderson, Steven McCanne
  • Publication number: 20080033925
    Abstract: A distributed search system can comprise a group of nodes assigned to different partitions. Each partition can store partial analytics data for a group of documents. At least one of the nodes can receive an analytics request from a user, send the request to a set of nodes, receive partial analytics results from the set of nodes and create a combined analytics result from the partial analytics results. The combined analytics result can include partial analytics results from a node in each partition.
    Type: Application
    Filed: August 1, 2007
    Publication date: February 7, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Michael Richards, James E. Mace
  • Publication number: 20080033927
    Abstract: A distributed search system can comprise a group of nodes assigned to different partitions. Each partition can store indexes for a group of documents. Nodes in the same partition can independently processing document-based records to construct the indexes. One of the nodes can process a stored checkpoint to produce a repartitioned checkpoint. The group of nodes can respond to search requests during the construction of the repartitioned checkpoint. The repartitioned checkpoint can be loaded into the group of nodes to repartition the group of nodes.
    Type: Application
    Filed: August 1, 2007
    Publication date: February 7, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Michael Richards, James E. Mace
  • Publication number: 20080033964
    Abstract: A distributed search system can comprise a group of nodes assigned to different partitions. Each partition can store indexes for a group of documents. Nodes in the same partition can independently processing document-based records to construct the indexes. In case of a failure, a checkpoint can be loaded into a set of nodes including a node in each partition. The checkpoint can contain the indexes.
    Type: Application
    Filed: August 1, 2007
    Publication date: February 7, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Michael Richards, James E. Mace
  • Publication number: 20080033910
    Abstract: A distributed search system can comprise a group of nodes assigned to different partitions. Each partition can store indexes for a group of documents. Nodes in the same partition can independently process document-based records to construct the indexes. A set of nodes can be used to create a checkpoint for the indexes. The set of nodes can include a node in each partition.
    Type: Application
    Filed: August 1, 2007
    Publication date: February 7, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Michael Richards, James E. Mace
  • Publication number: 20080033943
    Abstract: A distributed search system can comprise a central queue of document-based records and a group of nodes assigned to different partitions. Each partition can store indexes for a set of documents. Nodes in the same partition can independently processing the document-based records off of the central queue to construct the indexes.
    Type: Application
    Filed: August 1, 2007
    Publication date: February 7, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Michael Richards, James E. Mace
  • Publication number: 20080033958
    Abstract: A distributed search system can comprise a group of nodes assigned to different partitions. Each partition can store indexes for a group of documents. Nodes in the same partition can independently process document-based records to construct the indexes. The document-based records can include an access control list for the document. At least one of the nodes can receive a search request from a user, send a modified request to a set of nodes, receive partial results from the set of nodes and creates a combined result from the partial results. The set of nodes can include a node in each partition. The modified request can include a check of the access control list to ensure that the user should be allowed to access each document such that the partial results and combined results only indicate documents that the user is allowed to access.
    Type: Application
    Filed: August 1, 2007
    Publication date: February 7, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Michael Richards, James E. Mace
  • Publication number: 20080033934
    Abstract: A distributed search system can comprise a group of nodes assigned to different partitions. Each partition can store a partial index for a group of documents. At least one of the nodes can receive a search request from a user, send the request to a set of nodes, receive partial results from the set of nodes and create a combined result from the partial results. The combined result can include results from a node in each partition.
    Type: Application
    Filed: August 1, 2007
    Publication date: February 7, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: Michael Richards, James E. Mace