Patents by Inventor David F. Bacon
David F. Bacon 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: 10216626Abstract: Embodiments of the invention provide a method and system for dynamic memory management implemented in hardware. In an embodiment, the method comprises storing objects in a plurality of heaps, and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heaps and marks selected objects, uses the marks to identify a plurality of the objects, and frees the identified objects. In an embodiment, the method comprises storing objects in a heap, each of at least some of the objects including a multitude of pointers; and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heap, using the pointers of some of the objects to identify others of the objects; processes the objects to mark selected objects; and uses the marks to identify a group of the objects, and frees the identified objects.Type: GrantFiled: March 2, 2017Date of Patent: February 26, 2019Assignee: International Business Machines CorporationInventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
-
Patent number: 10015007Abstract: In computer-implemented technology for comparing first and second values that are encrypted according to a fully homomorphic encryption scheme, the following function is computed: f ? ( ? ? ( x ) , ? ? ( y ) ) = { ? ? ( 0 ) ? ? … ? ? if ? ? … ? ? x ? y ? ? ( 1 ) ? ? … ? ? ? if ? ? … ? ? x = y } where ?(.) is a fully homomorphic encryption scheme.Type: GrantFiled: November 25, 2015Date of Patent: July 3, 2018Assignee: International Business Machines CorporationInventors: David F. Bacon, Graham A. Bent, Flavio A. Bergamaschi, Wei Zhang
-
Patent number: 9846785Abstract: A querying node generates public keys, secret keys, and switch key matrices. A public key associated with a first level and the switch key matrices are sent to a receiving node. The receiving node generates a key-value table, mapping values to keys, and encodes the keys and values using a polynomial ring of a predetermined type. The querying node encodes using a polynomial ring of the same predetermined type, then encrypts a query, using a public key, and sends the query to the receiving node. The receiving node performs a homomorphic comparison of the encrypted, encoded query with each encoded key entry in the encoded key-value store to determine a comparison result. The receiving node sums the results for each of the value entries and returns the summed result to the querying node. The querying node decrypts and decodes the received result using the corresponding secret key.Type: GrantFiled: November 25, 2015Date of Patent: December 19, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David F. Bacon, Graham A. Bent, Flavio A. Bergamaschi, Wei Zhang
-
Patent number: 9742556Abstract: Searching for desired data within an encrypted set of data (using a fully homomorphic encryption) without decrypting the set of data. A lookup key is compared against a set of encrypted data, employing characteristics of the fully homomorphic encryption, to locate and return desired data correlated to the lookup key.Type: GrantFiled: August 25, 2015Date of Patent: August 22, 2017Assignee: International Business Machines CorporationInventors: David F. Bacon, Graham A. Bent, Flavio A. Bergamaschi
-
Publication number: 20170177474Abstract: Embodiments of the invention provide a method and system for dynamic memory management implemented in hardware. In an embodiment, the method comprises storing objects in a plurality of heaps, and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heaps and marks selected objects, uses the marks to identify a plurality of the objects, and frees the identified objects. In an embodiment, the method comprises storing objects in a heap, each of at least some of the objects including a multitude of pointers; and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heap, using the pointers of some of the objects to identify others of the objects; processes the objects to mark selected objects; and uses the marks to identify a group of the objects, and frees the identified objects.Type: ApplicationFiled: March 2, 2017Publication date: June 22, 2017Inventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
-
Publication number: 20170147835Abstract: A querying node generates public keys, secret keys, and switch key matrices. A public key associated with a first level and the switch key matrices are sent to a receiving node. The receiving node generates a key-value table, mapping values to keys, and encodes the keys and values using a polynomial ring of a predetermined type. The querying node encodes using a polynomial ring of the same predetermined type, then encrypts a query, using a public key, and sends the query to the receiving node. The receiving node performs a homomorphic comparison of the encrypted, encoded query with each encoded key entry in the encoded key-value store to determine a comparison result. The receiving node sums the results for each of the value entries and returns the summed result to the querying node. The querying node decrypts and decodes the received result using the corresponding secret key.Type: ApplicationFiled: November 25, 2015Publication date: May 25, 2017Inventors: DAVID F. BACON, GRAHAM A. BENT, FLAVIO A. BERGAMASCHI, WEI ZHANG
-
Publication number: 20170149557Abstract: In computer-implemented technology for comparing first and second values that are encrypted according to a fully homomorphic encryption scheme, the following function is computed: f ? ( ? ? ( x ) , ? ? ( y ) ) = { ? ? ( 0 ) ? ? … ? ? if ? ? … ? ? x ? y ? ? ( 1 ) ? ? … ? ? ? if ? ? … ? ? x = y } where ?(.) is a fully homomorphic encryption scheme.Type: ApplicationFiled: November 25, 2015Publication date: May 25, 2017Inventors: DAVID F. BACON, GRAHAM A. BENT, FLAVIO A. BERGAMASCHI, WEI ZHANG
-
Patent number: 9632928Abstract: Embodiments of the invention provide a method and system for dynamic memory management implemented in hardware. In an embodiment, the method comprises storing objects in a plurality of heaps, and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heaps and marks selected objects, uses the marks to identify a plurality of the objects, and frees the identified objects. In an embodiment, the method comprises storing objects in a heap, each of at least some of the objects including a multitude of pointers; and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heap, using the pointers of some of the objects to identify others of the objects; processes the objects to mark selected objects; and uses the marks to identify a group of the objects, and frees the identified objects.Type: GrantFiled: April 28, 2016Date of Patent: April 25, 2017Assignee: International Business Machines CorporationInventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
-
Publication number: 20170063525Abstract: Searching for desired data within an encrypted set of data (using a fully homomorphic encryption) without decrypting the set of data. A lookup key is compared against a set of encrypted data, employing characteristics of the fully homomorphic encryption, to locate and return desired data correlated to the lookup key.Type: ApplicationFiled: August 25, 2015Publication date: March 2, 2017Inventors: David F. Bacon, Graham A. Bent, Flavio A. Bergamaschi
-
Patent number: 9454350Abstract: Compile-time recognition of graph structure where graph has arbitrary connectivity and is constructed using recursive computations is provided. In one aspect, the graph structure recognized at compile time may be duplicated at runtime and can then operate on runtime values not known at compile time.Type: GrantFiled: May 8, 2015Date of Patent: September 27, 2016Assignee: International Business Machines CorporationInventors: Joshua S. Auerbach, David F. Bacon, Perry Sze-Din Cheng, Stephen Fink, Rodric Rabbah
-
Patent number: 9424010Abstract: Extraction of functional semantics and isolated dataflow from imperative object oriented languages, in one aspect, may include identifying one or more methods and/or classes associated with one or more of a plurality of property labels in a computer code written in object oriented language to extract functional and isolation characteristics in the computer code. The plurality of property labels supported by one or more checking rules, are used to verify that the one or more methods and/or classes identified with the plurality of property labels have isolation characteristics. An object oriented language compiler is provided for supplying the plurality of property labels and checking rules. The object oriented language compiler further may include capability to transform methods into compute tasks and connect the compute tasks so as to create a dataflow graph.Type: GrantFiled: August 30, 2010Date of Patent: August 23, 2016Assignee: International Business Machines CorporationInventors: Joshua S. Auerbach, David F. Bacon, Perry S. Cheng, Rodric Rabbah
-
Publication number: 20160239414Abstract: Embodiments of the invention provide a method and system for dynamic memory management implemented in hardware. In an embodiment, the method comprises storing objects in a plurality of heaps, and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heaps and marks selected objects, uses the marks to identify a plurality of the objects, and frees the identified objects. In an embodiment, the method comprises storing objects in a heap, each of at least some of the objects including a multitude of pointers; and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heap, using the pointers of some of the objects to identify others of the objects; processes the objects to mark selected objects; and uses the marks to identify a group of the objects, and frees the identified objects.Type: ApplicationFiled: April 28, 2016Publication date: August 18, 2016Inventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
-
Patent number: 9411564Abstract: Extraction of functional semantics and isolated dataflow from imperative object oriented languages, in one aspect, may include identifying one or more methods and/or classes associated with one or more of a plurality of property labels in a computer code written in object oriented language to extract functional and isolation characteristics in the computer code. The plurality of property labels supported by one or more checking rules, are used to verify that the one or more methods and/or classes identified with the plurality of property labels have isolation characteristics. An object oriented language compiler is provided for supplying the plurality of property labels and checking rules. The object oriented language compiler further may include capability to transform methods into compute tasks and connect the compute tasks so as to create a dataflow graph.Type: GrantFiled: September 6, 2012Date of Patent: August 9, 2016Assignee: International Business Machines CorporationInventors: Joshua S. Auerbach, David F. Bacon, Perry S. Cheng, Rodric Rabbah
-
Patent number: 9355030Abstract: Embodiments of the invention provide a method and system for dynamic memory management implemented in hardware. In an embodiment, the method comprises storing objects in a plurality of heaps, and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heaps and marks selected objects, uses the marks to identify a plurality of the objects, and frees the identified objects. In an embodiment, the method comprises storing objects in a heap, each of at least some of the objects including a multitude of pointers; and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heap, using the pointers of some of the objects to identify others of the objects; processes the objects to mark selected objects; and uses the marks to identify a group of the objects, and frees the identified objects.Type: GrantFiled: June 6, 2014Date of Patent: May 31, 2016Assignee: International Business Machines CorporationInventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
-
Publication number: 20150356007Abstract: Embodiments of the invention provide a method and system for dynamic memory management implemented in hardware. In an embodiment, the method comprises storing objects in a plurality of heaps, and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heaps and marks selected objects, uses the marks to identify a plurality of the objects, and frees the identified objects. In an embodiment, the method comprises storing objects in a heap, each of at least some of the objects including a multitude of pointers; and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heap, using the pointers of some of the objects to identify others of the objects; processes the objects to mark selected objects; and uses the marks to identify a group of the objects, and frees the identified objects.Type: ApplicationFiled: June 6, 2014Publication date: December 10, 2015Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
-
Patent number: 9152399Abstract: Compile-time recognition of graph structure where graph has arbitrary connectivity and is constructed using recursive computations is provided. In one aspect, the graph structure recognized at compile time may be duplicated at runtime and can then operate on runtime values not known at compile time.Type: GrantFiled: August 19, 2013Date of Patent: October 6, 2015Assignee: International Business Machines CorporationInventors: Joshua S. Auerbach, David F. Bacon, Perry S. Cheng, Stephen Fink, Rodric Rabbah
-
Publication number: 20150248279Abstract: Compile-time recognition of graph structure where graph has arbitrary connectivity and is constructed using recursive computations is provided. In one aspect, the graph structure recognized at compile time may be duplicated at runtime and can then operate on runtime values not known at compile time.Type: ApplicationFiled: May 8, 2015Publication date: September 3, 2015Inventors: Joshua S. Auerbach, David F. Bacon, Perry Sze-Din Cheng, Stephen Fink, Rodric Rabbah
-
Patent number: 9104432Abstract: Compile-time recognition of graph structure where graph has arbitrary connectivity and is constructed using recursive computations is provided. In one aspect, the graph structure recognized at compile time may be duplicated at runtime and can then operate on runtime values not known at compile time.Type: GrantFiled: June 24, 2013Date of Patent: August 11, 2015Assignee: International Business Machines CorporationInventors: Joshua S. Auerbach, David F. Bacon, Perry S. Cheng, Stephen Fink, Rodric Rabbah
-
Patent number: 9003169Abstract: The present invention broadly contemplates braids and fibers, high-level programming constructs which facilitate the creation of programs that are partially ordered, to address the continuing trend of ever-increasing processor speeds and attendant increases in memory latencies. These partial orders can be used to respond adaptively to memory latencies. It is shown how these constructs can be effectively supported with simple and inexpensive instruction set and micro-architectural extensions.Type: GrantFiled: March 16, 2009Date of Patent: April 7, 2015Assignee: International Business Machines CorporationInventors: David F. Bacon, Xiaowei Shen
-
Patent number: 8938725Abstract: A technique for compiling and running high-level program on heterogeneous computers may include partitioning a program code into two or more logical units, and compiling each of the logical units into one or more executable entities. At least some of the logical units are compiled into two or more executable entities, the two or more executable entities being different compilations of the same logical unit. The two or more executable entities are compatible to run on respective two or more platforms that have different architecture.Type: GrantFiled: September 14, 2012Date of Patent: January 20, 2015Assignee: International Business Machines CorporationInventors: Joshua S. Auerbach, David F. Bacon, Perry S. Cheng, Rodric Rabbah