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: 20180218022Abstract: 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: ApplicationFiled: January 31, 2017Publication date: August 2, 2018Inventors: James E. Mace, Jameison Bear Martin
-
Publication number: 20180217987Abstract: 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: ApplicationFiled: January 31, 2017Publication date: August 2, 2018Inventors: Patrick James Helland, James E. Mace, Thomas Fanghaenel
-
Publication number: 20180218023Abstract: 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: ApplicationFiled: January 31, 2017Publication date: August 2, 2018Inventors: Thomas Fanghaenel, Patrick James Helland, James E. Mace
-
Publication number: 20180129693Abstract: 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: ApplicationFiled: November 4, 2016Publication date: May 10, 2018Inventors: Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, James E. Mace, Punit B. Shah
-
Patent number: 9208031Abstract: 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: GrantFiled: March 31, 2009Date of Patent: December 8, 2015Assignee: RIVERBED TECHNOLOGY, INC.Inventors: James E. Mace, Nitin Parab
-
Patent number: 9015197Abstract: 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: GrantFiled: August 1, 2007Date of Patent: April 21, 2015Assignee: Oracle International CorporationInventors: Michael Richards, James E. Mace
-
Patent number: 8266114Abstract: 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: GrantFiled: September 22, 2008Date of Patent: September 11, 2012Assignee: Riverbed Technology, Inc.Inventors: James E. Mace, Nitin Parab
-
Patent number: 7733910Abstract: 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: GrantFiled: December 29, 2006Date of Patent: June 8, 2010Assignee: Riverbed Technology, Inc.Inventors: James E. Mace, David B. Anderson, Steven McCanne
-
Patent number: 7725470Abstract: 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: GrantFiled: August 1, 2007Date of Patent: May 25, 2010Assignee: BEA Systems, Inc.Inventors: Michael Richards, James E. Mace
-
Publication number: 20100082547Abstract: 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: ApplicationFiled: September 22, 2008Publication date: April 1, 2010Applicant: RIVERBED TECHNOLOGY, INC.Inventors: James E. Mace, Nitin Parab
-
Publication number: 20100082529Abstract: 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: ApplicationFiled: March 31, 2009Publication date: April 1, 2010Applicant: RIVERBED TECHNOLOGY, INC.Inventors: James E. Mace, Nitin Parab
-
Publication number: 20090060673Abstract: 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: ApplicationFiled: August 29, 2008Publication date: March 5, 2009Applicant: Air Turbine Technology Inc.Inventor: James E. Mace
-
Publication number: 20080159331Abstract: 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: ApplicationFiled: December 29, 2006Publication date: July 3, 2008Applicant: Riverbed Technology, Inc.Inventors: James E Mace, David B. Anderson, Steven McCanne
-
Publication number: 20080033925Abstract: 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: ApplicationFiled: August 1, 2007Publication date: February 7, 2008Applicant: BEA SYSTEMS, INC.Inventors: Michael Richards, James E. Mace
-
Publication number: 20080033927Abstract: 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: ApplicationFiled: August 1, 2007Publication date: February 7, 2008Applicant: BEA SYSTEMS, INC.Inventors: Michael Richards, James E. Mace
-
Publication number: 20080033964Abstract: 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: ApplicationFiled: August 1, 2007Publication date: February 7, 2008Applicant: BEA SYSTEMS, INC.Inventors: Michael Richards, James E. Mace
-
Publication number: 20080033910Abstract: 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: ApplicationFiled: August 1, 2007Publication date: February 7, 2008Applicant: BEA SYSTEMS, INC.Inventors: Michael Richards, James E. Mace
-
Publication number: 20080033943Abstract: 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: ApplicationFiled: August 1, 2007Publication date: February 7, 2008Applicant: BEA SYSTEMS, INC.Inventors: Michael Richards, James E. Mace
-
Publication number: 20080033958Abstract: 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: ApplicationFiled: August 1, 2007Publication date: February 7, 2008Applicant: BEA SYSTEMS, INC.Inventors: Michael Richards, James E. Mace
-
Publication number: 20080033934Abstract: 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: ApplicationFiled: August 1, 2007Publication date: February 7, 2008Applicant: BEA SYSTEMS, INC.Inventors: Michael Richards, James E. Mace