Patents by Inventor David R. Chase
David R. Chase 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: 9244857Abstract: A lookup circuit evaluates hash functions that map keys to addresses in lookup tables. The circuit may include multiple hash function sub-circuits, each of which applies a respective hash function to an input key value, producing a hash value. Each hash function sub-circuit (which may include a programmable hash table) may multiply bit vectors representing key values by a bit matrix and add a constant bit vector to the results. Each hash value may be used to access a location in a lookup table in memory to obtain its contents (e.g., a key and associated data). The circuit may include a selection sub-circuit that selects the data of one of the identified locations as an output of the lookup circuit (e.g., one whose key matches the input key). The circuit may modify obtained data prior to its selection and may output a signal indicating the validity of input keys.Type: GrantFiled: October 31, 2013Date of Patent: January 26, 2016Assignee: Oracle International CorporationInventors: Guy L. Steele, Jr., David R. Chase, Nils Gura
-
Patent number: 9223720Abstract: A lookup circuit evaluates hash functions that map keys to addresses in lookup tables. The circuit includes multiple hash function sub-circuits, each of which applies a respective hash function to an input key, producing a hash value. Candidate pairs of hash functions to be implemented by the hash function sub-circuits (or hash function bit matrices thereof) may be generated and tested for suitability in hashing a particular collection of keys. Each hash function bit matrix may be generated according to heuristics chosen to improve the likelihood that it will be suitable for use in a pair, and may be tested against previously generated hash function bit matrices contained in one or more pools (each of which may contain matrices generated using different heuristics) to identify suitable pairs. The hash function bit matrices may be represented in the pools in a tabulated form, which may reduce the suitability testing time.Type: GrantFiled: December 13, 2013Date of Patent: December 29, 2015Assignee: Oracle International CorporationInventors: David R. Chase, Nils Gura, Guy L. Steele, Jr.
-
Patent number: 9200987Abstract: A small area electrostatic aerosol collector combines electrostatic collection of aerosol particles and electrohydrodynamic spraying of fluid so that a sample collected electrostatically can have fluid applied thereto. The fluid may assist with disaggregation and/or desalinization of biological material collected onto a sample substrate. A controller associated with the collector may control an electrostatic charge device and a spraying device such that the charge device and spraying device may operate in alternating fashion, or the charge device and spraying device may operate simultaneously. Further, mechanical systems are provided, for the disaggregation of particulate clusters collected onto a sample substrate.Type: GrantFiled: April 19, 2011Date of Patent: December 1, 2015Assignee: BATTELLE MEMORIAL INSTITUTEInventors: Andrew P. Bartko, Rodney S. Black, James R. Busch, David R. Chase, Ryan W. Daly, Theodore J. Ronningen, Matthew S. Young
-
Publication number: 20150169467Abstract: A lookup circuit evaluates hash functions that map keys to addresses in lookup tables. The circuit includes multiple hash function sub-circuits, each of which applies a respective hash function to an input key, producing a hash value. Candidate pairs of hash functions to be implemented by the hash function sub-circuits (or hash function bit matrices thereof) may be generated and tested for suitability in hashing a particular collection of keys. Each hash function bit matrix may be generated according to heuristics chosen to improve the likelihood that it will be suitable for use in a pair, and may be tested against previously generated hash function bit matrices contained in one or more pools (each of which may contain matrices generated using different heuristics) to identify suitable pairs. The hash function bit matrices may be represented in the pools in a tabulated form, which may reduce the suitability testing time.Type: ApplicationFiled: December 13, 2013Publication date: June 18, 2015Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: David R. Chase, Nils Gura, Guy L. Steele, JR.
-
Publication number: 20150121034Abstract: A lookup circuit evaluates hash functions that map keys to addresses in lookup tables. The circuit may include multiple hash function sub-circuits, each of which applies a respective hash function to an input key value, producing a hash value. Each hash function sub-circuit (which may include a programmable hash table) may multiply bit vectors representing key values by a bit matrix and add a constant bit vector to the results. Each hash value may be used to access a location in a lookup table in memory to obtain its contents (e.g., a key and associated data). The circuit may include a selection sub-circuit that selects the data of one of the identified locations as an output of the lookup circuit (e.g., one whose key matches the input key). The circuit may modify obtained data prior to its selection and may output a signal indicating the validity of input keys.Type: ApplicationFiled: October 31, 2013Publication date: April 30, 2015Applicant: Oracle International CorporationInventors: Guy L. Steele, JR., David R. Chase, Nils Gura
-
Publication number: 20150120754Abstract: A lookup circuit evaluates hash functions that map keys to addresses in lookup tables. The circuit includes multiple hash function sub-circuits, each of which applies a respective hash function to an input key, producing a hash value. Candidate pairs of hash functions to be implemented by the hash function sub-circuits may be generated and tested for suitability in hashing a particular collection of keys. The suitability testing may include computing hash value bit vectors by applying each hash function in a candidate pair to a given key, and determining (using a modified union-find type operation that organizes objects in each set as a directed graph whose root points to itself) whether the resulting hash value bit vectors belong to the same set. The union-find type operation may include a limited distance-from-root test, path compression, or exception handling for special cases, but not a rank test.Type: ApplicationFiled: October 31, 2013Publication date: April 30, 2015Applicant: Oracle International CorporationInventors: David R. Chase, Guy L. Steele, JR.
-
Publication number: 20150121035Abstract: A lookup circuit evaluates hash functions that map keys to addresses in lookup tables. The circuit may include multiple hash function sub-circuits, each of which applies a respective hash function to an input key value, producing a hash value. Each hash function sub-circuit may multiply bit vectors representing key values by a sparse bit matrix and may add a constant bit vector to the results. The hash function sub-circuits may be constructed using odd-parity circuits that accept as inputs subsets of the bits of the bit vectors representing the key values. The sparse bit matrices may be chosen or generated so that there are at least twice as many 0-bits per row as 1-bits or there is an upper bound on the number of 1-bits per row. Using sparse bit matrices in the hash function sub-circuits may allow the lookup circuit to perform lookup operations with very low latency.Type: ApplicationFiled: October 31, 2013Publication date: April 30, 2015Applicant: Oracle International CorporationInventors: Guy L. Steele, JR., David R. Chase
-
Publication number: 20150058595Abstract: Hardware circuitry may evaluate minimal perfect hash functions mapping keys to addresses in lookup tables. The circuitry may include primary hash function sub-circuits that apply linear hash functions to input key values (using carry-free arithmetic) to produce primary hash values. Each sub-circuit may multiply bit vectors representing key values by a bit matrix and add a constant bit vector to the result. The circuitry may include a secondary hash function sub-circuit that generates secondary hash values by aggregating values associated with multiple primary hash values using signed, unsigned, or modular integer addition, or bit-wise XOR operations. Secondary hash values may be usable to access data values in the lookup table that are associated with particular input key values. The circuitry may determine the validity of input keys and may alter the configuration or contents of the lookup tables. The hash function sub-circuits may include programmable hash tables.Type: ApplicationFiled: August 26, 2013Publication date: February 26, 2015Applicant: Oracle International CorporationInventors: Nils Gura, Guy L. Steele, JR., David R. Chase
-
Patent number: 8898632Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system obtains a function call associated with an overloaded function and a generic type hierarchy. Next, the system determines an applicability of an implementation of the overloaded function to the function call. Finally, the system selects the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.Type: GrantFiled: August 31, 2012Date of Patent: November 25, 2014Assignee: Oracle International CorporationInventors: Karl B. Naden, Justin R. Hilburn, David R. Chase, Guy L. Steele, Victor M. Luchangco, Eric Allen
-
Patent number: 8893082Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During operation, the system obtains a type interval for a generic type parameter of an implementation of an overloaded function. Next, the system selects an inference direction for the generic type parameter based on a variance of the generic type parameter, wherein the inference direction is an upward inference direction or a downward inference direction. Finally, the system uses the type interval and the inference direction to perform type inference on the generic type parameter.Type: GrantFiled: August 31, 2012Date of Patent: November 18, 2014Assignee: Oracle International CorporationInventors: Karl B. Naden, David R. Chase, Justin R. Hilburn
-
Patent number: 8893098Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system delays type inference on a generic type parameter of an implementation of an overloaded function, wherein the generic type parameter is associated with a type interval containing an unbounded lower limit and one or more self-typed constraints. Upon detecting a type query for a dynamic type of the generic type parameter, the system compares a queried type from the type query with a set of inference choices for the generic type parameter. If the queried type matches an inference choice from the set of inference choices, the system uses the inference choice to perform type inference on the generic type parameter.Type: GrantFiled: December 14, 2012Date of Patent: November 18, 2014Assignee: Oracle International CorporationInventor: David R. Chase
-
Publication number: 20140303487Abstract: The disclosed invention is a method for detecting indications of the presence of Alzheimer's disease (AD) and related dementia-inducing, motor-control-related pathologies, and other diseases in the human brain using a magnetic-resonance based technique for measuring fine tissue and bone textures. Specifically, the invention focuses on refinements/adaptations to a prior art magnetic resonance fine texture measurement technique that facilitates/enables pushing the detection limits closer to the cellular level, so as to be able to measure the fine scale structures and tissue changes that are known to be characteristic of the neurodegenerative processes involved in the development of these diseases.Type: ApplicationFiled: March 12, 2014Publication date: October 9, 2014Inventors: Timothy W. James, Kristin James, Lance W. Farr, David R. Chase, J. Michael Brady, James Rafferty, John P. Heinrich
-
Patent number: 8843887Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system obtains a function call associated with an overloaded function and a generic type hierarchy that lacks contravariance. Next, the system determines an applicability of an implementation of the overloaded function to the function call. Finally, the system selects the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.Type: GrantFiled: August 31, 2012Date of Patent: September 23, 2014Assignee: Oracle International CorporationInventors: David R. Chase, Guy L. Steele, Karl B. Naden, Justin R. Hilburn, Victor M. Luchangco
-
Publication number: 20140266200Abstract: A method of assessing a spatial frequency distribution within a sample comprising subjecting the sample to magnetic resonance excitation, receiving an echo signal from the sample while the sample is subjected to a magnetic field gradient, applying an invertible linear transform to the echo signal, identifying a region of interest in the transformed echo signal and deriving a corresponding window function, applying the window function (in the signal or transform domain) to the echo signal to remove echo signal coming from regions of the sample outside of the region of interest, and analyzing the one dimensional spatial frequency content in the windowed echo signal in order to access a one dimensional spatial frequency distribution within the region of interest within the sample without creating an image.Type: ApplicationFiled: June 3, 2014Publication date: September 18, 2014Applicant: ACUITAS MEDICAL LIMITEDInventors: David R. Chase, Timothy W. James, Lance W. Farr
-
Publication number: 20140173573Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system delays type inference on a generic type parameter of an implementation of an overloaded function, wherein the generic type parameter is associated with a type interval containing an unbounded lower limit and one or more self-typed constraints. Upon detecting a type query for a dynamic type of the generic type parameter, the system compares a queried type from the type query with a set of inference choices for the generic type parameter. If the queried type matches an inference choice from the set of inference choices, the system uses the inference choice to perform type inference on the generic type parameter.Type: ApplicationFiled: December 14, 2012Publication date: June 19, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: David R. Chase
-
Publication number: 20140068574Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During operation, the system obtains a type interval for a generic type parameter of an implementation of an overloaded function. Next, the system selects an inference direction for the generic type parameter based on a variance of the generic type parameter, wherein the inference direction is an upward inference direction or a downward inference direction. Finally, the system uses the type interval and the inference direction to perform type inference on the generic type parameter.Type: ApplicationFiled: August 31, 2012Publication date: March 6, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Karl B. Naden, David R. Chase, Justin R. Hilburn
-
Publication number: 20140068556Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system obtains a function call associated with an overloaded function and a generic type hierarchy. Next, the system determines an applicability of an implementation of the overloaded function to the function call. Finally, the system selects the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.Type: ApplicationFiled: August 31, 2012Publication date: March 6, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Karl B. Naden, Justin R. Hilburn, David R. Chase, Guy L. Steele, Victor M. Luchangco, Eric Allen
-
Publication number: 20140068555Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system obtains a function call associated with an overloaded function and a generic type hierarchy that lacks contravariance. Next, the system determines an applicability of an implementation of the overloaded function to the function call. Finally, the system selects the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.Type: ApplicationFiled: August 31, 2012Publication date: March 6, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: David R. Chase, Guy L. Steele, Karl B. Naden, Justin R. Hilburn, Victor M. Luchangco
-
Publication number: 20130032031Abstract: A small area electrostatic aerosol collector combines electrostatic collection of aerosol particles and electrohydrodynamic spraying of fluid so that a sample collected electrostatically can have fluid applied thereto. The fluid may assist with disaggregation and/or desalinization of biological material collected onto a sample substrate. A controller associated with the collector may control an electrostatic charge device and a spraying device such that the charge device and spraying device may operate in alternating fashion, or the charge device and spraying device may operate simultaneously. Further, mechanical systems are provided, for the disaggregation of particulate clusters collected onto a sample substrate.Type: ApplicationFiled: April 19, 2011Publication date: February 7, 2013Applicant: BATTELLE MEMORIAL INSTITUTEInventors: Andrew P. Bartko, Rodney S. Black, James R. Busch, David R. Chase, Ryan W. Daly, Theodore J. Ronningen, Matthew S. Young
-
Patent number: 8316204Abstract: One embodiment of the present invention provides a system that uses versioned pointers to facilitate reusing memory without having to reclaim the objects solely through garbage collection. The system operates by first receiving a request to allocate an object. Next, the system obtains the object from a pool of free objects, and sets an allocated/free flag in the object to indicate that the object is allocated. The system also increments a version number in the object, and also encodes the version number into a pointer for the object. The system then returns the pointer, which includes the encoded version number. In this way, subsequent accesses to the object through the pointer can compare the version number encoded in the pointer with the version number in the object to determine whether the object has been reused since the pointer was generated.Type: GrantFiled: September 28, 2011Date of Patent: November 20, 2012Assignee: Oracle America, Inc.Inventor: David R. Chase