Patents by Inventor Brian Quentin Monahan
Brian Quentin Monahan 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: 11496317Abstract: A method of validating software including maintaining, in a trusted computing system, a copy of at least portions of data of the software, the software comprising data in an untrusted computing system. The method includes, with the trusted computing system, specifying selected data from data included in the copy as hash data, generating an executable file for generating a hash based on the specified hash data, executing the executable file to generate a check hash using the specified selected data from the copy as the hash data, and determining whether the software is valid based, at least in part, on a comparison of the check hash to an access hash generated by execution of the executable file by the untrusted computing system using the specified selected data from the untrusted computing system as the hash data.Type: GrantFiled: January 21, 2016Date of Patent: November 8, 2022Assignee: Hewlett Packard Enterprise Development LPInventors: Chris Tofts, Brian Quentin Monahan, Adrian John Baldwin
-
Patent number: 10686589Abstract: Example embodiments relate to combining hashes of data blocks. The examples disclosed herein calculate a hash value for each data block in a sequence of data blocks. The hash values are combined into a combined value, where the combined value has the same sequence as the sequence of data blocks. A master hash value is then calculated for the combined value.Type: GrantFiled: December 4, 2015Date of Patent: June 16, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Brian Quentin Monahan, Liqun Chen
-
Patent number: 10671668Abstract: Example embodiments relates to method and systems to infer graph topologies. A computing device for inferring a graph topology, comprises a physical processor that executes machine readable instructions that cause the computing device to process a set of unclassified tables. For each table the computing device determines a primary key comprising a set of columns of a table being analyzed, determines a set of foreign keys, each foreign key comprising a column of the analyzed table, and identifies a parameter based on the analyzed table, the primary key and the set of foreign keys. The parameter may comprise a node identification, a set of node attributes, a set of edges without attributes, a set of edges with attributes or a set of edge attributes. The computing device can cause the display of the graph topology based on the processed set of unclassified tables.Type: GrantFiled: July 11, 2016Date of Patent: June 2, 2020Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Luis Miguel Vaquero Gonzalez, Marco Aurelio Barbosa Fagnani Gomes Lotz, Brian Quentin Monahan
-
Patent number: 10572672Abstract: An apparatus comprises a memory to store data and a processor coupled to the memory. The processor may modify a plurality of data elements using a semantic relationship between the plurality of data elements and a pre-selected data security policy and to store data representing the modified plurality of data elements in the memory.Type: GrantFiled: August 14, 2015Date of Patent: February 25, 2020Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Adrian John Baldwin, Patrick Goldsack, Brian Quentin Monahan, Philipp Reinecke
-
Patent number: 10558500Abstract: An example computing device comprises a first processing unit having first capabilities, a second processing unit having second capabilities, and a shared memory accessible by the first processing unit and the second processing unit. The shared memory stores data objects in association with type information indicating the data type of the data objects. The example computing device further comprises an instruction set to, when executed by a processing unit of the computing device, select one of the first processing unit and the second processing unit to perform a computation of a particular type, using data of a particular type stored in the shared memory, wherein the selection is performed based on a predefined affinity of the first processing unit for the particular computation type and/or the particular data type and a predefined affinity of the second processing unit for the particular computation type and/or the particular data type.Type: GrantFiled: July 27, 2015Date of Patent: February 11, 2020Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Patrick Goldsack, Brian Quentin Monahan, Granville Barnett
-
Patent number: 10310877Abstract: Examples analyze source code of a task prior to compiling the source code to determine a static property of the task. Examples determine a category for the task based at least in part on the static property. Examples compile the source code to generate a binary of the task. Examples determine execution parameters for the task based at least in part on the category. Examples schedule the binary for execution based at least in part on the execution parameters.Type: GrantFiled: July 31, 2015Date of Patent: June 4, 2019Assignee: Hewlett Packard Enterprise Development LPInventors: Philipp Reinecke, Brian Quentin Monahan, Granville Barnett, Patrick Goldsack
-
Patent number: 10248814Abstract: In one example in accordance with the present disclosure, a system comprises a first memory module and a first memory integrity monitoring processor, embedded to the first memory module, to receive a second hash corresponding to a second memory module. The second hash includes a second sequence number for reconstruction of a final hash value and the second hash is not sequentially a first number in a sequence for reconstruction of the final hash value. The first processor may receive a third hash corresponding to a third memory module. The third hash includes a third sequence number for reconstruction of the final hash value and the third hash is received after the second hash. The first processor may determine if the second hash can be combined with the third hash, combine the second hash and third hash into a partial hash reconstruct the final hash value using the partial hash.Type: GrantFiled: January 25, 2017Date of Patent: April 2, 2019Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Geoffrey Ndu, Adrian Shaw, Brian Quentin Monahan
-
Publication number: 20180254888Abstract: Example embodiments relate to combining hashes of data blocks. The examples disclosed herein calculate a hash value for each data block in a sequence of data blocks. The hash values are combined into a combined value, where the combined value has the same sequence as the sequence of data blocks. A master hash value is then calculated for the combined value.Type: ApplicationFiled: December 4, 2015Publication date: September 6, 2018Inventors: Brian Quentin Monahan, Liqun Chen
-
Publication number: 20180225150Abstract: An example computing device comprises a first processing unit having first capabilities, a second processing unit having second capabilities, and a shared memory accessible by the first processing unit and the second processing unit. The shared memory stores data objects in association with type information indicating the data type of the data objects. The example computing device further comprises an instruction set to, when executed by a processing unit of the computing device, select one of the first processing unit and the second processing unit to perform a computation of a particular type, using data of a particular type stored in the shared memory, wherein the selection is performed based on a predefined affinity of the first processing unit for the particular computation type and/or the particular data type and a predefined affinity of the second processing unit for the particular computation type and/or the particular data type.Type: ApplicationFiled: July 27, 2015Publication date: August 9, 2018Inventors: Patrick Goldsack, Brian Quentin Monahan, Granville Barnett
-
Publication number: 20180211064Abstract: In one example in accordance with the present disclosure, a system comprises a first memory module and a first memory integrity monitoring processor, embedded to the first memory module, to receive a second hash corresponding to a second memory module. The second hash includes a second sequence number for reconstruction of a final hash value and the second hash is not sequentially a first number in a sequence for reconstruction of the final hash value. The first processor may receive a third hash corresponding to a third memory module. The third hash includes a third sequence number for reconstruction of the final hash value and the third hash is received after the second hash. The first processor may determine if the second hash can be combined with the third hash, combine the second hash and third hash into a partial hash reconstruct the final hash value using the partial hash.Type: ApplicationFiled: January 25, 2017Publication date: July 26, 2018Inventors: Geoffrey Ndu, Adrian Shaw, Brian Quentin Monahan
-
Publication number: 20180165459Abstract: An apparatus comprises a memory to store data and a processor coupled to the memory. The processor may modify a plurality of data elements using a semantic relationship between the plurality of data elements and a pre-selected data security policy and to store data representing the modified plurality of data elements in the memory.Type: ApplicationFiled: August 14, 2015Publication date: June 14, 2018Inventors: Adrian John Baldwin, Patrick Goldsack, Brian Quentin Monahan, Philipp Reinecke
-
Publication number: 20180150405Abstract: In one example in accordance with the present disclosure, a method for data type management may include adding a first data to a first data set. The first data set may belong to a plurality of data sets stored in a memory and each data set in the plurality may correspond to a type table defining data types in the corresponding data set. The method may further include determining that a first data type of the first data is not in a first type table corresponding to the first data set and generating an identifier corresponding to the first data type. The identifier may identify uses of the first data type within each data set in the plurality and may be a standardized value that is used by each data set in the plurality. The method may also include inserting the identifier into the first type table.Type: ApplicationFiled: December 18, 2015Publication date: May 31, 2018Inventors: Patrick Goldsack, Brian Quentin Monahan, James Salter, Adrian John Baldwin
-
Publication number: 20180113729Abstract: Examples analyze source code of a task prior to compiling the source code to determine a static property of the task. Examples determine a category for the task based at least in part on the static property. Examples compile the source code to generate a binary of the task. Examples determine execution parameters for the task based at least in part on the category. Examples schedule the binary for execution based at least in part on the execution parameters.Type: ApplicationFiled: July 31, 2015Publication date: April 26, 2018Inventors: Philipp Reinecke, Brian Quentin Monahan, Granville Barnett, Patrick Goldsack
-
Publication number: 20180011945Abstract: Example embodiments relates to method and systems to infer graph topologies. A computing device for inferring a graph topology, comprises a physical processor that executes machine readable instructions that cause the computing device to process a set of unclassified tables. For each table the computing device determines a primary key comprising a set of columns of a table being analyzed, determines a set of foreign keys, each foreign key comprising a column of the analyzed table, and identifies a parameter based on the analyzed table, the primary key and the set of foreign keys. The parameter may comprise a node identification, a set of node attributes, a set of edges without attributes, a set of edges with attributes or a set of edge attributes. The computing device can cause the display of the graph topology based on the processed set of unclassified tables.Type: ApplicationFiled: July 11, 2016Publication date: January 11, 2018Inventors: Luis Miguel VAQUERO GONZALEZ, Marco Aurelio BARBOSA FAGNANI GOMEZ LOTZ, Brian Quentin MONAHAN
-
Publication number: 20170046629Abstract: According to an example, statistics-based data trace classification may include generating sets of training data traces from training data information by assigning a subset of the training data information that has a predetermined property with a first label and assigning another subset of the training data information that does not have the predetermined property with a second label. A trained trace classifier may be generated to detect whether or not a set of input data traces satisfies the predetermined property. The trace classifier may be trained to learn the predetermined property from a statistical data object determined from the sets of the training data traces, and the first and second labels related to the sets of the training data traces.Type: ApplicationFiled: April 25, 2014Publication date: February 16, 2017Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Philipp REINECKE, Brian Quentin MONAHAN, Jonathan GRIFFIN
-
Patent number: 9558103Abstract: In one implementation, computer executable instructions are provided to identify a group of instructions corresponding to a code block for an executable module. The instructions increment a counter associated with the code block to indicate the code block has been tested.Type: GrantFiled: August 25, 2011Date of Patent: January 31, 2017Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Keith Harrison, Brian Quentin Monahan
-
Publication number: 20160344772Abstract: A method of assessing a network uses a model (450) having nodes (100, 110) to represent parts of the network infrastructure and the application services, and having links to represent how the nodes influence each other. Dependencies or effects of the application services are found by determining paths through the nodes and links of the model (530). Such assessment can be useful for design, test, operations, and diagnosis, and for assessment of which parts of the infrastructure are critical to given services, or which services are dependent on, or could have an effect on a given part of the infrastructure. The dependencies or effects can encompass reachability information. The use of a model having links and nodes can enable more efficient processing, to enable larger or richer models. What changes in the dependencies or effects result from a given change in the network can be determined (830).Type: ApplicationFiled: May 22, 2015Publication date: November 24, 2016Inventors: Brian Quentin Monahan, Adrian Baldwin, Simon Shiu
-
Publication number: 20160210216Abstract: In one implementation, a processor-readable medium stores code representing instructions that when executed at a processor cause the processor to access a source-code representation of an application, to access a machine-code representation of the application, and to generate a control flow model of the application based on the source-code representation of the application. The processor-readable medium also stores code representing instructions that when executed at the processor cause the processor to store a representation of the control flow model within a file including the machine-code representation of the application.Type: ApplicationFiled: September 27, 2013Publication date: July 21, 2016Inventors: Brian Quentin Monahan, Nigel Edwards, Mike Wray
-
Publication number: 20150294114Abstract: In one implementation, an application randomization system accesses an annotated intermediate representation of an application, identifies a first instruction block within the annotated intermediate representation, and randomly selects a first modification for the first instruction block. The application randomization system then identifies a second instruction block within the annotated intermediate representation and randomly selects a second modification different from the first modification for the second instruction block. The application randomization system then generates a native-code representation of the application in which the first modification is applied to the first instruction block and the second modification is applied to the second instruction block.Type: ApplicationFiled: September 28, 2012Publication date: October 15, 2015Inventors: Brian Quentin Monahan, Keith Alexander Harrison
-
Patent number: 9083748Abstract: A method of assessing a network uses a model (450) having nodes (100, 110) to represent parts of the network infrastructure and the application services, and having links to represent how the nodes influence each other. Dependencies or effects of the application services are found by determining paths through the nodes and links of the model (530). Such assessment can be useful for design, test, operations, and diagnosis, and for assessment of which parts of the infrastructure are critical to given services, or which services are dependent on, or could have an effect on a given part of the infrastructure. The dependencies or effects can encompass reachability information. The use of a model having links and nodes can enable more efficient processing, to enable larger or richer models. What changes in the dependencies or effects result from a given change in the network can be determined (830).Type: GrantFiled: December 14, 2005Date of Patent: July 14, 2015Assignee: Hewlett-Packard Development Company, L.P.Inventors: Brian Quentin Monahan, Adrian John Baldwin, Simon Kai-Ying Shiu