Patents by Inventor Nigel Hicks

Nigel Hicks 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: 8676843
    Abstract: A system and method for failure recovery in a multiple processing node system are described herein. Each node can be adapted to store a backup copy of its database portion and/or results to disk storage or memory of at least one other node. In the event of a failure of a node, the replacement node can be adapted to transfer or copy the backup copy of the database portion of the failed node from the failed node's neighbors to the replacement node's disk storage or memory in between database operations. Before the transfer or copy of the backup copy is completed, the replacement node can be adapted to perform database operations in part on the portion of the backup copy the replacement node has already received and in part on the backup copy stored at the neighboring node(s).
    Type: Grant
    Filed: November 14, 2002
    Date of Patent: March 18, 2014
    Assignee: LexiNexis Risk Data Management Inc.
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Patent number: 7945581
    Abstract: A system and methods for parallel processing of queries to one or more databases are described herein. One or more databases may be distributed among a subset of slave nodes of a global-results processing matrix. A query to the database may be generated using a query-based high-level programming language. The query-based source code then may be converted to intermediary source code in a common programming language and then compiled into a dynamic link library (DLL) or other type of executable. The DLL is then distributed among the slave nodes of the processing matrix, whereupon the slave nodes execute related portions of the DLL substantially in parallel to generate initial query results. The initial query results may then be provided to a master node of the global-results processing matrix for additional processing, whereby the master node is adapted to execute one or more associated portions of the DLL on the initial query results.
    Type: Grant
    Filed: November 14, 2002
    Date of Patent: May 17, 2011
    Assignee: Lexisnexis Risk Data Management, Inc.
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Patent number: 7668840
    Abstract: A system and method for configuring a plurality of processing nodes into a parallel-processing database system are described herein. Each of a plurality of processing nodes connected by a network receive software and one or more configuration files related to the intended function of the processing node. The software may include homogeneous agent software, one or more library dynamic-link libraries (DLL), and the like. The configuration file is used to configure the homogeneous agent to operate as the intended node in a global-results processing matrix, a general-purpose query processing matrix, or a index-base query processing matrix. Another node or nodes may be configured to convert query-based programming code to intermediary source code in a common programming language and then compile the intermediary source code into a dynamic link library (DLL) or other type of executable.
    Type: Grant
    Filed: July 2, 2007
    Date of Patent: February 23, 2010
    Assignee: LexisNexis Risk Data Management Inc.
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Publication number: 20080010296
    Abstract: A system and method for configuring a plurality of processing nodes into a parallel-processing database system are described herein. Each of a plurality of processing nodes connected by a network receive software and one or more configuration files related to the intended function of the processing node. The software may include homogeneous agent software, one or more library dynamic-link libraries (DLL), and the like. The configuration file is used to configure the homogeneous agent to operate as the intended node in a global-results processing matrix, a general-purpose query processing matrix, or a index-base query processing matrix. Another node or nodes may be configured to convert query-based programming code to intermediary source code in a common programming language and then compile the intermediary source code into a dynamic link library (DLL) or other type of executable.
    Type: Application
    Filed: July 2, 2007
    Publication date: January 10, 2008
    Applicant: SEISINT, INC.
    Inventors: David BAYLISS, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Patent number: 7293024
    Abstract: A method for distributing and sorting data among a plurality of nodes is described herein. After receiving a portion of a data set (e.g., a database), each node sorts its portion and estimates a partitioning of the sorted dataset among the nodes based in part on its own sorted data portion. Each node then provides a representation of its estimated partition to a master node. The master node, using the provided estimated partitions, determines a tentative partitioning and submits the tentative partitioning to each node. Each node then determines the effect the tentative partitioning using its data portion. If the effect is acceptable for each node, the tentative partitioning plan is used to partition the data. Otherwise, the tentative partitioning plan is repeatedly revised by the master node and considered by the nodes having data portions until an acceptable or optimum partitioning is determined.
    Type: Grant
    Filed: November 14, 2002
    Date of Patent: November 6, 2007
    Assignee: Seisint, Inc.
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Publication number: 20070208694
    Abstract: A system and method for scheduling database operations to one or more databases in a parallel-processing database system are described herein. After a query server generates a dynamic-link library (DLL) or other executable representative of one or more database operations to a database, the query server notifies a scheduling services module of the generation of the DLL and submits the DLL to a query agent. The query agent notifies the scheduling services module of its receipt of the DLL. Based on any of a variety of considerations, the scheduling services module schedules a time of execution for the DLL by one or more processing matrices that store the database. At the scheduled time, the scheduling services module directs the query agent to submit the DLL to the indicated processing matrices. The scheduling services module also can be adapted to monitor the execution of previously submitted DLLs by one or more processing matrices and adjust the scheduled times of execution for subsequent DLLs accordingly.
    Type: Application
    Filed: February 5, 2007
    Publication date: September 6, 2007
    Applicant: SEISINT, INC.
    Inventors: David BAYLISS, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Patent number: 7240059
    Abstract: A system and method for configuring a plurality of processing nodes into a parallel-processing database system are described herein. Each of a plurality of processing nodes connected by a network receive software and one or more configuration files related to the intended function of the processing node. The software may include homogeneous agent software, one or more library dynamic-link libraries (DLL), and the like. The configuration file is used to configure the homogeneous agent to operate as the intended node in a global-results processing matrix, a general-purpose query processing matrix, or a index-base query processing matrix. Another node or nodes may be configured to convert query-based programming code to intermediary source code in a common programming language and then compile the intermediary source code into a dynamic link library (DLL) or other type of executable.
    Type: Grant
    Filed: November 14, 2002
    Date of Patent: July 3, 2007
    Assignee: Seisint, Inc.
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Patent number: 7185003
    Abstract: A system and method for scheduling database operations to one or more databases in a parallel-processing database system are described herein. After a query server generates a dynamic-link library (DLL) or other executable representative of one or more database operations to a database, the query server notifies a scheduling services module of the generation of the DLL and submits the DLL to a query agent. The query agent notifies the scheduling services module of its receipt of the DLL. Based on any of a variety of considerations, the scheduling services module schedules a time of execution for the DLL by one or more processing matrices that store the database. At the scheduled time, the scheduling services module directs the query agent to submit the DLL to the indicated processing matrices. The scheduling services module also can be adapted to monitor the execution of previously submitted DLLs by one or more processing matrices and adjust the scheduled times of execution for subsequent DLLs accordingly.
    Type: Grant
    Filed: November 14, 2002
    Date of Patent: February 27, 2007
    Assignee: Seisint, Inc.
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Patent number: 6968335
    Abstract: A system and methods for parallel processing of queries to one or more databases are described herein. One or more databases may be distributed among a subset of slave nodes of a global-results processing matrix. A query to the database may be generated using a query-based high-level programming language. The query-based source code then may be converted to intermediary source code in a common programming language and then compiled into a dynamic link library (DLL) or other type of executable. The DLL is then distributed among the slave nodes of the processing matrix, whereupon the slave nodes execute related portions of the DLL substantially in parallel to generate initial query results. The initial query results may then be provided to master node of the global-results processing matrix for additional processing, whereby the master node is adapted to execute one or more associated portions of the DLL on the initial query results.
    Type: Grant
    Filed: November 14, 2002
    Date of Patent: November 22, 2005
    Assignee: Sesint, Inc.
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Publication number: 20040098359
    Abstract: A system and methods for parallel processing of queries to one or more databases are described herein. One or more databases may be distributed among a subset of slave nodes of a global-results processing matrix. A query to the database may be generated using a query-based high-level programming language. The query-based source code then may be converted to intermediary source code in a common programming language and then compiled into a dynamic link library (DLL) or other type of executable. The DLL is then distributed among the slave nodes of the processing matrix, whereupon the slave nodes execute related portions of the DLL substantially in parallel to generate initial query results. The initial query results may then be provided to master node of the global-results processing matrix for additional processing, whereby the master node is adapted to execute one or more associated portions of the DLL on the initial query results.
    Type: Application
    Filed: November 14, 2002
    Publication date: May 20, 2004
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Publication number: 20040098371
    Abstract: A system and method for failure recovery in a multiple processing node system are described herein. Each node can be adapted to store a backup copy of its database portion and/or results to disk storage or memory of at least one other node. In the event of a failure of a node, the replacement node can be adapted to transfer or copy the backup copy of the database portion of the failed node from the failed node's neighbors to the replacement node's disk storage or memory in between database operations. Before the transfer or copy of the backup copy is completed, the replacement node can be adapted to perform database operations in part on the portion of the backup copy the replacement node has already received and in part on the backup copy stored at the neighboring node(s).
    Type: Application
    Filed: November 14, 2002
    Publication date: May 20, 2004
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Publication number: 20040098373
    Abstract: A system and method for configuring a plurality of processing nodes into a parallel-processing database system are described herein. Each of a plurality of processing nodes connected by a network receive software and one or more configuration files related to the intended function of the processing node. The software may include homogeneous agent software, one or more library dynamic-link libraries (DLL), and the like. The configuration file is used to configure the homogeneous agent to operate as the intended node in a global-results processing matrix, a general-purpose query processing matrix, or a index-base query processing matrix. Another node or nodes may be configured to convert query-based programming code to intermediary source code in a common programming language and then compile the intermediary source code into a dynamic link library (DLL) or other type of executable.
    Type: Application
    Filed: November 14, 2002
    Publication date: May 20, 2004
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Publication number: 20040098374
    Abstract: A system and method for scheduling database operations to one or more databases in a parallel-processing database system are described herein. After a query server generates a dynamic-link library (DLL) or other executable representative of one or more database operations to a database, the query server notifies a scheduling services module of the generation of the DLL and submits the DLL to a query agent. The query agent notifies the scheduling services module of its receipt of the DLL. Based on any of a variety of considerations, the scheduling services module schedules a time of execution for the DLL by one or more processing matrices that store the database. At the scheduled time, the scheduling services module directs the query agent to submit the DLL to the indicated processing matrices. The scheduling services module also can be adapted to monitor the execution of previously submitted DLLs by one or more processing matrices and adjust the scheduled times of execution for subsequent DLLs accordingly.
    Type: Application
    Filed: November 14, 2002
    Publication date: May 20, 2004
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Publication number: 20040098372
    Abstract: A system and methods for parallel processing of queries to one or more databases are described herein. One or more databases may be distributed among a subset of slave nodes of a global-results processing matrix. A query to the database may be generated using a query-based high-level programming language. The query-based source code then may be converted to intermediary source code in a common programming language and then compiled into a dynamic link library (DLL) or other type of executable. The DLL is then distributed among the slave nodes of the processing matrix, whereupon the slave nodes execute related portions of the DLL substantially in parallel to generate initial query results. The initial query results may then be provided to master node of the global-results processing matrix for additional processing, whereby the master node is adapted to execute one or more associated portions of the DLL on the initial query results.
    Type: Application
    Filed: November 14, 2002
    Publication date: May 20, 2004
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks
  • Publication number: 20040098390
    Abstract: A method for distributing and sorting data among a plurality of nodes is describe herein. After receiving a portion of a data set (e.g., a database), each node sorts its portion and estimates a partitioning of the sorted dataset among the nodes based in part on its own sorted data portion. Each node then provides a representation of its estimated partition to a master node. The master node, using the provided estimated partitions, determines a tentative partitioning and submits the tentative partitioning to each node. Each node then determines the effect the tentative partitioning using its data portion. If the effect is acceptable for each node, the tentative partitioning plan is used to partition the data. Otherwise, the tentative partitioning plan is repeatedly revised by the master node and considered by the nodes having data portions until an acceptable or optimum partitioning is determined.
    Type: Application
    Filed: November 14, 2002
    Publication date: May 20, 2004
    Inventors: David Bayliss, Richard Chapman, Jake Smith, Ole Poulsen, Gavin Halliday, Nigel Hicks