Patents by Inventor Craig A. Soules

Craig A. Soules 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: 20150154259
    Abstract: A computing system can include a processor to execute stored instructions and a memory that stores instructions. The memory can include computer-implemented code to receive a structured query language (SQL) query requesting data from a non-structured query language (NoSQL) database. The memory can also include computer-implemented code to identify a query qualification and a related table in a NoSQL database. The memory can further include computer-implemented code to determine a row iterator class and computer-implemented code to access the identified related table. Additionally, the memory can include computer-implemented code to return the requested data.
    Type: Application
    Filed: December 3, 2013
    Publication date: June 4, 2015
    Applicant: Hewlett-Packard Development Company, L.P.
    Inventors: Kimberly Keeton, Craig A. Soules, Devaraj Daimane, Charles Stuart Johnson
  • Patent number: 8725730
    Abstract: A data processing system includes a plurality of processing stages. In response to a query, a membership structure is accessed to determine whether partially processed data from a particular one of the processing stages.
    Type: Grant
    Filed: May 23, 2011
    Date of Patent: May 13, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kimberly Keeton, Charles B. Morrey, III, Craig A. Soules
  • Patent number: 8689226
    Abstract: A processing subsystem has plural processing stages, where output of one of the plural processing stages is provided to another of the processing stages. Resources are dynamically assigned to the plural processing stages.
    Type: Grant
    Filed: May 11, 2011
    Date of Patent: April 1, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: James Adam Cipar, Craig A. Soules, Kimberly Keeton
  • Patent number: 8650571
    Abstract: A technique receiving identifiers from a plurality of nodes. Each identifier identifies an associated data object, and at least some of the data objects being replicated on different nodes. The technique includes scheduling analysis of the data objects on the nodes based at least in part on a distribution of replicas of the data objects among the nodes and modeled performances of the nodes.
    Type: Grant
    Filed: March 30, 2009
    Date of Patent: February 11, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Craig A. Soules, Kimberly Keeton, Charles B. Morrey, III
  • Publication number: 20130290385
    Abstract: Multiple file system events are detected on one or more nodes of a file system, each file system event corresponding to an operation that is to be performed on the file system. Each of the multiple system events are durably recorded as an entry for a journal of the file system prior to either performance or completion of the corresponding operation. A programmatic component that is external to the file system can process entries from the journal, and in response, the entries can be expired from the journal.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Inventors: Charles B. Morrey, III, Kimberly Keeton, Craig A. Soules, Alistair Veitch, Michael J. Spitzer, Corene Casper
  • Publication number: 20130290295
    Abstract: In at least some examples, a system includes a distributed database and control logic to enable updates and queries to the distributed database. The control logic applies a plurality of identifiers to the updates and queries to maintain distinct fault domains in the distributed database.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Inventors: Craig A. Soules, Alistair Veitch, Charles B. Morrey, III, Kimberly Keeton
  • Patent number: 8489612
    Abstract: To identify similar files in an environment having multiple client computers, a first client computer receives, from a coordinator computer, a request to find files located at the first client computer that are similar to at least one comparison file, wherein the request has also been sent to other client computers by the coordinator computer to request that the other client computers also find files that are similar to the at least one comparison file. In response to the request, the first client computer compares signatures of the files located at the first client computer with a signature of the at least one comparison file to identify at least a subset of the files located at the first client computer that are similar to the at least one comparison file according to a comparison metric. The first client computer sends, to the coordinator computer, a response relating to the comparing.
    Type: Grant
    Filed: March 24, 2009
    Date of Patent: July 16, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ludmila Cherkasova, Charles B. Morrey, III, Vinay Deolalikar, Kimberly Keeton, Mark David Lillibridge, Craig A. Soules, Alistair Veitch
  • Publication number: 20120303627
    Abstract: A data processing system includes a plurality of processing stages. In response to a query, a membership structure is accessed to determine whether partially processed data from a particular one of the processing stages.
    Type: Application
    Filed: May 23, 2011
    Publication date: November 29, 2012
    Inventors: KIMBERLY KEETON, Charles B. Morrey, III, Craig A. Soules
  • Publication number: 20120291041
    Abstract: A processing subsystem has plural processing stages, where output of one of the plural processing stages is provided to another of the processing stages. Resources are dynamically assigned to the plural processing stages.
    Type: Application
    Filed: May 11, 2011
    Publication date: November 15, 2012
    Inventors: James Adam Cipar, Craig A. Soules, Kimberly Keeton
  • Patent number: 8122069
    Abstract: A method collects user interface events and file system events to capture text snippets in focus on an output device. The method then pairs the text snippets with related files to build a context graph and discover files associated with a task.
    Type: Grant
    Filed: October 21, 2008
    Date of Patent: February 21, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Craig A. Soules, Karl Anders Gyllstrom
  • Patent number: 8055845
    Abstract: An embodiment of a method of cooperative caching for a distributed storage system begins with a step of requesting data from storage devices which hold the data. The method continues with a step of receiving any cached blocks and expected response times for providing non-cached blocks from the storage devices. The method concludes with a step of requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provides an expectation of optimal performance.
    Type: Grant
    Filed: February 3, 2005
    Date of Patent: November 8, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Craig Soules, Arif Merchant, Alistair C. Veitch, Yasushi Saito, John Wilkes
  • Patent number: 7953752
    Abstract: One embodiment is a method that stores user interface events and file system events to capture text snippets visible on an output device. Similar text snippets are merged into a context graph that is used to locate a document from a query.
    Type: Grant
    Filed: October 30, 2008
    Date of Patent: May 31, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Craig A. Soules, Karl Anders Gyllstrom
  • Patent number: 7823156
    Abstract: An embodiment of a method of hashing an address space to a plurality of storage servers begins with a first step of dividing the address space by a number of the storage servers to form data segments. Each data segment comprises a base address. A second step assigns the data segments to the storage servers according to a sequence. The method continues with a third step of measuring a load on each of the storage servers. According to an embodiment, the method concludes with a fourth step of adjusting data shares assigned to the storage servers according to the sequence to approximately balances the loads on the storage servers while maintaining the base address for each data segment on an originally assigned storage server. According to another embodiment, the method periodically performs the third and fourth steps to maintain an approximately balanced load on the storage servers.
    Type: Grant
    Filed: February 3, 2005
    Date of Patent: October 26, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Craig Soules, Arif Merchant, Alistair C. Veitch, Yasushi Saito
  • Publication number: 20100250480
    Abstract: To identify similar files in an environment having multiple client computers, a first client computer receives, from a coordinator computer, a request to find files located at the first client computer that are similar to at least one comparison file, wherein the request has also been sent to other client computers by the coordinator computer to request that the other client computers also find files that are similar to the at least one comparison file. In response to the request, the first client computer compares signatures of the files located at the first client computer with a signature of the at least one comparison file to identify at least a subset of the files located at the first client computer that are similar to the at least one comparison file according to a comparison metric. The first client computer sends, to the coordinator computer, a response relating to the comparing.
    Type: Application
    Filed: March 24, 2009
    Publication date: September 30, 2010
    Inventors: Ludmila Cherkasova, Charles B. Morrey, III, Vinay Deolalikar, Kimberly Keeton, Mark David Lillibridge, Craig A. Soules, Alistair Veitch
  • Publication number: 20100251256
    Abstract: A technique receiving identifiers from a plurality of nodes. Each identifier identifies an associated data object, and at least some of the data objects being replicated on different nodes. The technique includes scheduling analysis of the data objects on the nodes based at least in part on a distribution of replicas of the data objects among the nodes and modeled performances of the nodes.
    Type: Application
    Filed: March 30, 2009
    Publication date: September 30, 2010
    Inventors: Craig A. Soules, Kimberly Keeton, Charles B. Morrey, III
  • Publication number: 20100199350
    Abstract: A data processing apparatus and associated computer-executed method are adapted for federated scanning of multiple computers. The data processing apparatus comprises a logic that controls scanning among a plurality of data objects distributed among a plurality of distributed electronic data storage systems. The logic maintains a data set of paired location identifiers and intrinsic references corresponding to individual data objects of the plurality of data objects and controls scanning so that redundant scanning of duplicate data objects with matching intrinsic references occurring in multiple locations is avoided.
    Type: Application
    Filed: February 4, 2009
    Publication date: August 5, 2010
    Inventors: Mark David Lilibridge, Evan R. Kirshenbaum, Craig A. Soules, George Forman
  • Publication number: 20100115003
    Abstract: One embodiment is a method that stores user interface events and file system events to capture text snippets visible on an output device. Similar text snippets are merged into a context graph that is used to locate a document from a query.
    Type: Application
    Filed: October 30, 2008
    Publication date: May 6, 2010
    Inventors: Craig A. Soules, Karl Anders Gyllstrom
  • Publication number: 20100115001
    Abstract: One embodiment is a method that collects user interface events and file system events to capture text snippets in focus on an output device. The method then pairs the text snippets with related files to build a context graph and discover files associated with a task.
    Type: Application
    Filed: October 21, 2008
    Publication date: May 6, 2010
    Inventors: Craig A. Soules, Karl Anders Gyllstrom
  • Publication number: 20060236073
    Abstract: An embodiment of a method of hashing an address space to a plurality of storage servers begins with a first step of dividing the address space by a number of the storage servers to form data segments. Each data segment comprises a base address. A second step assigns the data segments to the storage servers according to a sequence. The method continues with a third step of measuring a load on each of the storage servers. According to an embodiment, the method concludes with a fourth step of adjusting data shares assigned to the storage servers according to the sequence to approximately balances the loads on the storage servers while maintaining the base address for each data segment on an originally assigned storage server. According to another embodiment, the method periodically performs the third and fourth steps to maintain an approximately balanced load on the storage servers.
    Type: Application
    Filed: February 3, 2005
    Publication date: October 19, 2006
    Inventors: Craig Soules, Arif Merchant, Alistair Veitch, Yasushi Saito
  • Publication number: 20060174067
    Abstract: An embodiment of a method of caching data writes data units into a write cache for eventual flushing to storage. The method sets a copy-to-read-cache flag for each particular data unit that is read from the write cache. Upon flushing each data unit to the storage, the method copies the data unit to a read cache if the flag for the data unit is set. Another embodiment of a method of caching data writes data units into a write cache. The method simulates a transfer policy for copying the data units from the write cache to a read cache to determine a performance indicator for the transfer policy. Upon flushing each data unit, the method copies the data unit to the read cache if the performance indicator exceeds a threshold and the transfer policy includes copying the data unit into the read cache.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 3, 2006
    Inventors: Craig Soules, Arif Merchant