Patents by Inventor David Craft

David Craft 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: 7770021
    Abstract: A processing unit includes a read-only encryption key. Software is loaded into a system memory area from a non-volatile storage device. Software code image that resides in the system storage area includes a prefix value and a suffix value. The prefix value is combined with the master key from the processing unit to create a random value that is the seed for a hashing algorithm. The hashing algorithm uses the seed value with a signature formed from the blocks of code to form a result. Finally, after the last block has been processed, a final result remains. The suffix value is combined with the master key, this hash result is compared with the result that was created using the hashing algorithm on the code. If the two results match, the code is authenticated and is executed. If the results do not match, the code is not loaded.
    Type: Grant
    Filed: November 26, 2008
    Date of Patent: August 3, 2010
    Assignee: International Business Machines Corporation
    Inventor: David Craft
  • Patent number: 7764787
    Abstract: A processing unit includes a read-only encryption key. Software is loaded into a system memory area from a non-volatile storage device. Software code image that resides in the system storage area includes a prefix value and a suffix value. The prefix value is combined with the master key from the processing unit to create a random value that is the seed for a hashing algorithm. The hashing algorithm uses the seed value with a signature formed from the blocks of code to form a result. Finally, after the last block has been processed, a final result remains. The suffix value is combined with the master key, this hash result is compared with the result that was created using the hashing algorithm on the code. If the two results match, the code is authenticated and is executed. If the results do not match, the code is not loaded.
    Type: Grant
    Filed: March 2, 2007
    Date of Patent: July 27, 2010
    Assignee: International Business Machines Corporation
    Inventor: David Craft
  • Publication number: 20090077387
    Abstract: A processing unit includes a read-only encryption key. Software is loaded into a system memory area from a non-volatile storage device. Software code image that resides in the system storage area includes a prefix value and a suffix value. The prefix value is combined with the master key from the processing unit to create a random value that is the seed for a hashing algorithm. The hashing algorithm uses the seed value with a signature formed from the blocks of code to form a result. Finally, after the last block has been processed, a final result remains. The suffix value is combined with the master key, this hash result is compared with the result that was created using the hashing algorithm on the code. If the two results match, the code is authenticated and is executed. If the results do not match, the code is not loaded.
    Type: Application
    Filed: November 26, 2008
    Publication date: March 19, 2009
    Applicant: International Business Machines Corporation
    Inventor: David Craft
  • Publication number: 20090037150
    Abstract: A system and method for determining a desired portion of a subject to receive a radiation dose includes iteratively chooses weight vectors to run to gradually build up a Pareto surface (PS). By examining the current points that have been found on the PS along with the weights used to produce those points, a new weight vector is produced and run. This process is repeated until a geometric stop tolerance is met.
    Type: Application
    Filed: July 29, 2008
    Publication date: February 5, 2009
    Inventors: David Craft, Thomas Bortfeld
  • Patent number: 7475257
    Abstract: A system and method are provided to dedicate one or more processors in a multiprocessing system to performing encryption functions. When the system initializes, one of the synergistic processing unit (SPU) processors is configured to run in a secure mode wherein the local memory included with the dedicated SPU is not shared with the other processors. One or more encryption keys are stored in the local memory during initialization. During initialization, the SPUs receive nonvolatile data, such as the encryption keys, from nonvolatile register space. This information is made available to the SPU during initialization before the SPUs local storage might be mapped to a common memory map. In one embodiment, the mapping is performed by another processing unit (PU) that maps the shared SPUs' local storage to a common memory map.
    Type: Grant
    Filed: September 25, 2003
    Date of Patent: January 6, 2009
    Assignee: International Business Machines Corporation
    Inventors: Maximino Aguilar, Jr., David Craft, Michael Norman Day, Akiyuki Hatakeyama, Harm Peter Hofstee, Masakazu Suzuoki
  • Patent number: 7475254
    Abstract: A processing unit includes a read-only encryption key. Software is loaded into a system memory area from a non-volatile storage device. Software code image that resides in the system storage area includes a prefix value and a suffix value. The prefix value is combined with the master key from the processing unit to create a random value that is the seed for a hashing algorithm. The hashing algorithm uses the seed value with a signature formed from the blocks of code to form a result. Finally, after the last block has been processed, a final result remains. The suffix value is combined with the master key, this hash result is compared with the result that was created using the hashing algorithm on the code. If the two results match, the code is authenticated and is executed. If the results do not match, the code is not loaded.
    Type: Grant
    Filed: June 19, 2003
    Date of Patent: January 6, 2009
    Assignee: International Business Machines Corporation
    Inventor: David Craft
  • Publication number: 20080016348
    Abstract: A secure communication methodology is presented. The client device is configured to download application code and/or content data from a server operated by a service provider. Embedded within the client is a client private key, a client serial number, and a copy of a server public key. The client forms a request, which includes the client serial number, encrypts the request with the server public key, and sends the download request to the server. The server decrypts the request with the server's private key and authenticates the client. The received client serial number is used to search for a client public key that corresponds to the embedded client private key. The server encrypts its response, which includes the requested information, with the client public key of the requesting client, and only the private key in the requesting client can be used to decrypt the information downloaded from the server.
    Type: Application
    Filed: July 18, 2007
    Publication date: January 17, 2008
    Inventors: David Craft, Pradeep Dubey, Harm Hofstee, James Kahle
  • Publication number: 20070233897
    Abstract: In a computer system divided into multiple separate workload partitions, wherein at least one of the partitions contains multiple applications, and a loopback interface is made available to each partition, a method is provided for routing packets from one application to another application. In one embodiment of the invention, each packet to be routed from one application to another application in the same home partition comprises a first packet, and all other packets comprise second packets. The method comprises the steps of assigning the same pre-specified IP address to each of the first packets, and routing each of the first packets from its home partition to a loopback interface at the IP network processing layer. The method further includes marking the first packets to identify the home partition of each first packet, and directing the marked first packets to a mechanism configured to deliver each first packet only to its home partition, in response to the markings.
    Type: Application
    Filed: April 4, 2006
    Publication date: October 4, 2007
    Inventors: David Craft, Vinit Jain, Lance Russell, Edward Shvartsman
  • Publication number: 20070147605
    Abstract: A processing unit includes a read-only encryption key. Software is loaded into a system memory area from a non-volatile storage device. Software code image that resides in the system storage area includes a prefix value and a suffix value. The prefix value is combined with the master key from the processing unit to create a random value that is the seed for a hashing algorithm. The hashing algorithm uses the seed value with a signature formed from the blocks of code to form a result. Finally, after the last block has been processed, a final result remains. The suffix value is combined with the master key, this hash result is compared with the result that was created using the hashing algorithm on the code. If the two results match, the code is authenticated and is executed. If the results do not match, the code is not loaded.
    Type: Application
    Filed: March 2, 2007
    Publication date: June 28, 2007
    Inventor: David Craft
  • Publication number: 20070067600
    Abstract: A system for balancing multiple memory buffer sizes includes a memory partitioned into a plurality of subgroups, each subgroup containing similarly sized buffers. The system further includes a memory manager which manages requests for buffer space by storing and accessing buffer steal history records in a buffer steal history queue.
    Type: Application
    Filed: October 20, 2006
    Publication date: March 22, 2007
    Applicant: International Business Machines Corporation
    Inventors: David Craft, Brian Dixon, Yuri Volobuev, James Wyllie
  • Publication number: 20060074940
    Abstract: An active cluster is dynamically formed to perform a specific task. The active cluster includes one or more data owning nodes of at least one data owning cluster and one or more data using nodes of at least one data using cluster that are to access data of the data owning cluster. The active cluster is dynamic in that the nodes of the cluster are not statically defined. Instead, the active cluster is formed, when a need for such a cluster arises to satisfy a particular task.
    Type: Application
    Filed: October 5, 2004
    Publication date: April 6, 2006
    Applicant: International Business Machines Corporation
    Inventors: David Craft, Robert Curran, Thomas Engelsiepen, Roger Haskin, Frank Schmuck
  • Patent number: 6996233
    Abstract: A method and system for encrypting and verifying the integrity of a message using a three-phase encryption process is provided. A source having a secret master key that is shared with a target receives the message and generates a random number. The source then generates: a first set of intermediate values from the message and the random number; a second set of intermediate values from the first set of values; and a cipher text from the second set of values. At the three phases, the values are generated using the encryption function of a block cipher encryption/decryption algorithm. The random number and the cipher text are transmitted to the target, which decrypts the cipher text by reversing the encryption process. The target verifies the integrity of the message by comparing the received random number with the random number extracted from the decrypted cipher text.
    Type: Grant
    Filed: June 19, 2003
    Date of Patent: February 7, 2006
    Assignee: International Business Machines Corporation
    Inventors: Daniel Alan Brokenshire, David Craft, Harm Peter Hofstee, Mohammad Peyravian
  • Patent number: 6961852
    Abstract: A processing unit includes a read-only encryption key. Loader code image is loaded into system memory from non-volatile storage. Loader code image includes a prefix value and a suffix value. The prefix value is combined with the master key from the processing unit to create a random value that is the seed for a hashing algorithm. The hashing algorithm uses the seed value with a signature formed from the blocks of code to form a result. During the hashing algorithm, intermediate key values are generated and stored in a memory area inaccessible by the user. The intermediate key values are used by the loader code after the loader has been authenticated and loaded. The loader combines one or more of the intermediate key values with prefix and suffix values that correspond to other software modules to authenticate the software, using a hashing algorithm, and load the software upon authentication.
    Type: Grant
    Filed: June 19, 2003
    Date of Patent: November 1, 2005
    Assignee: International Business Machines Corporation
    Inventor: David Craft
  • Publication number: 20050216693
    Abstract: A system for balancing multiple memory buffer sizes includes a memory partitioned into a plurality of subgroups, each subgroup containing similarly sized buffers. The system further includes a memory manager which manages requests for buffer space by storing and accessing buffer steal history records in a buffer steal history queue.
    Type: Application
    Filed: March 23, 2004
    Publication date: September 29, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Craft, Brian Dixon, Yuri Volobuev, James Wyllie
  • Publication number: 20050208497
    Abstract: The present invention provides modified promoters from Candida troplicalis CYP and POX4 genes. The modified promoters have various sequence motifs added, deleted, or altered in order to modulate expression of a coding sequence operably linked thereto. The sequence motifs comprise repressors of gene induction (URS sequences) and activators of gene induction (UAS sequences) as well as oleic acid response elements (ORE sequences). Yeast host cells comprising such modified promoters are also provided. Methods of altering expression of a protein of the beta or omega oxidation pathways using a subject modified promoter are also provided.
    Type: Application
    Filed: August 14, 2003
    Publication date: September 22, 2005
    Inventors: C. Wilson, David Craft, Yeyan Zhang, Jeffrey Stavenhagen
  • Publication number: 20050071651
    Abstract: A system and method are provided to dedicate one or more processors in a multiprocessing system to performing encryption functions. When the system initializes, one of the synergistic processing unit (SPU) processors is configured to run in a secure mode wherein the local memory included with the dedicated SPU is not shared with the other processors. One or more encryption keys are stored in the local memory during initialization. During initialization, the SPUs receive nonvolatile data, such as the encryption keys, from nonvolatile register space. This information is made available to the SPU during initialization before the SPUs local storage might be mapped to a common memory map. In one embodiment, the mapping is performed by another processing unit (PU) that maps the shared SPUs' local storage to a common memory map.
    Type: Application
    Filed: September 25, 2003
    Publication date: March 31, 2005
    Applicant: International Business Machines Corporation
    Inventors: Maximino Aguilar, David Craft, Michael Day, Harm Hofstee
  • Publication number: 20050045112
    Abstract: A double level ant-proof pet food bowl includes a top food container having a first recess at a center of a bottom side of a base of the food container; bottom water container having a second recess at a center of an upper side of a base of the water container; and a central post having an upper end inserted into the first recess, and a lower end inserted into the second recess. The top food container resides on top of the central post and above the bottom water container.
    Type: Application
    Filed: September 3, 2003
    Publication date: March 3, 2005
    Inventor: David Craft
  • Publication number: 20050021944
    Abstract: The present invention provides for authenticating code and/or data and providing a protected environment for execution. The present invention provides for dynamically partitioning and un-partitioning a local store for the authentication of code or data. The local store is partitioned into an isolated and non-isolated section. Code or data is loaded into the isolated section. The code or data is authenticated in the isolated section of the local store. After authentication, the code is executed. After execution, the memory within the isolated region of the attached processor unit is erased, and the attached processor unit de-partitions the isolated section within the local store.
    Type: Application
    Filed: June 23, 2003
    Publication date: January 27, 2005
    Applicant: International Business Machines Corporation
    Inventors: David Craft, Michael Day, Harm Hofstee, Charles Johns, John Liberty
  • Publication number: 20050008162
    Abstract: A method and system for encrypting and verifying the integrity of a message using a three-phase encryption process is provided. A source having a secret master key that is shared with a target receives the message and generates a random number. The source then generates: a first set of intermediate values from the message and the random number; a second set of intermediate values from the first set of values; and a cipher text from the second set of values. At the three phases, the values are generated using the encryption function of a block cipher encryption/decryption algorithm. The random number and the cipher text are transmitted to the target, which decrypts the cipher text by reversing the encryption process. The target verifies the integrity of the message by comparing the received random number with the random number extracted from the decrypted cipher text.
    Type: Application
    Filed: June 19, 2003
    Publication date: January 13, 2005
    Applicant: International Business Machines Corporation
    Inventors: Daniel Brokenshire, David Craft, Harm Hofstee, Mohammad Peyravian
  • Publication number: 20050010767
    Abstract: A processing unit includes a read-only encryption key. Loader code image is loaded into system memory from non-volatile storage. Loader code image includes a prefix value and a suffix value. The prefix value is combined with the master key from the processing unit to create a random value that is the seed for a hashing algorithm. The hashing algorithm uses the seed value with a signature formed from the blocks of code to form a result. During the hashing algorithm, intermediate key values are generated and stored in a memory area inaccessible by the user. The intermediate key values are used by the loader code after the loader has been authenticated and loaded. The loader combines one or more of the intermediate key values with prefix and suffix values that correspond to other software modules to authenticate the software, using a hashing algorithm, and load the software upon authentication.
    Type: Application
    Filed: June 19, 2003
    Publication date: January 13, 2005
    Applicant: International Business Machines Corporation
    Inventor: David Craft