Patents by Inventor Wilfred E. Plouffe, Jr.

Wilfred E. Plouffe, Jr. 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: 9300465
    Abstract: A method and system for attaching a title key to encrypted content for synchronized transmission to, or storage by, a recipient is provided. Specifically, under the present invention, an elementary media stream is parceled into content units that each include a content packet and a header. The content packets are encrypted with one or more title keys. Once the content packets have been encrypted, the title keys are themselves encrypted with a key encrypting key. The encrypted title keys are then attached to the corresponding encrypted content packets for synchronized transmission to a recipient.
    Type: Grant
    Filed: February 20, 2008
    Date of Patent: March 29, 2016
    Assignee: International Business Machines Corporation
    Inventors: Eric M. Foster, Jeffrey B. Lotspiech, Florian Pestoni, Wilfred E. Plouffe, Jr., Frank A. Schaffa
  • Patent number: 8656178
    Abstract: The present invention provides a method, system and program product for modifying content usage conditions during broadcast content distribution. Specifically, the present invention allows protected (e.g., encrypted, secured, etc.) content to be received along with content usage conditions, an encrypted combination of the content usage conditions and a title key (e.g., a MAC), and a key management block. Using the key management block, a key encrypting key can be determined for decrypting the combination. Once the combination is decrypted, the content usage conditions can be modified (e.g., edited, added to, etc.).
    Type: Grant
    Filed: April 18, 2002
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Eric M. Foster, Jeffrey B. Lotspiech, Dalit Naor, Sigfredo I. Nin, Florian Pestoni, Wilfred E. Plouffe, Jr., Frank A. Schaffa
  • Patent number: 8433927
    Abstract: A method, computer program product, and data processing system are disclosed for protecting sensitive program code (and also data) from unauthorized access in a memory space not subject to protection fault detection. In a preferred embodiment, secure initialization hardware loads the sensitive code from a storage location accessible only to the secure initialization hardware itself and decrypts the sensitive code into a portion of the processor-accessible memory space, from which the code is executed. Once execution of the sensitive code has completed, all or at least a portion of the code is deleted before passing control to application software. If the application software needs to cause the sensitive code to be executed, the secure initialization hardware is activated to reload/decrypt a fresh copy of the sensitive code into the memory space and cause the code to be executed. Before control is returned to the application software, the sensitive code is again deleted to prevent unauthorized access.
    Type: Grant
    Filed: May 29, 2007
    Date of Patent: April 30, 2013
    Assignee: International Business Machines Corporation
    Inventors: Wilfred E. Plouffe, Jr., Kanna Shimizu
  • Patent number: 8422674
    Abstract: A method, computer program product, and data processing system for protecting sensitive program code and data (including persistently stored data) from unauthorized access. Dedicated hardware decrypts an encrypted kernel into memory for execution. When an application is to be executed, the kernel computes one or more secrets by cryptographically combining information contained in the application with secret information contained in the kernel itself. The kernel then deletes its secret information and passes the computed secrets to the application. To store data persistently in memory, the application uses one of the computed secrets to encrypt the data prior to storage. If the kernel starts another instance of the same application, the kernel (which will have been re-decrypted to restore the kernel's secrets) will compute the same one or more secrets, thus allowing the second application instance to access the data encrypted by the first application instance.
    Type: Grant
    Filed: May 29, 2007
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Masana Murase, Wilfred E. Plouffe, Jr., Kanna Shimizu, Vladimir Zbarsky
  • Patent number: 8332635
    Abstract: A method, computer program product, and data processing system provide an updateable encrypted operating kernel. Secure initialization hardware decrypts a minimal secure kernel containing sensitive portions of data and/or code into a portion of the processor-accessible memory space, from which the kernel is executed. Most system software functions are not directly supported by the secure kernel but are provided by dynamically loaded kernel extensions that are encrypted with a public key so that they can only be decrypted with a private key possessed by the secure kernel. The public/private key pair is processor-specific. Before passing control to a kernel extension, the secure kernel deletes a subset of its sensitive portions, retaining only those sensitive portions needed to perform the task(s) delegated to the kernel extension. Which sensitive portions are retained is determined by a cryptographic key with which the kernel extension is signed.
    Type: Grant
    Filed: May 29, 2007
    Date of Patent: December 11, 2012
    Assignee: International Business Machines Corporation
    Inventors: Wilfred E. Plouffe, Jr., Kanna Shimizu, Vladimir Zbarsky
  • Patent number: 8166304
    Abstract: A method, computer program product, and data processing system are disclosed for ensuring that applications executed in the data processing system originate only from trusted sources are disclosed. In a preferred embodiment, a secure operating kernel maintains a “key ring” containing keys corresponding to trusted software vendors. The secure kernel uses vendor keys to verify that a given application was signed by an approved vendor. To make it possible for independent developers to develop software for the herein-described platform, a “global key pair” is provided in which both the public and private keys of the pair are publicly known, so that anyone may sign an application with the global key. Such an application may be allowed to execute by including the global key pair's public key in the key ring as a “vendor key” or, conversely, it may be disallowed by excluding the global public key from the key ring.
    Type: Grant
    Filed: October 2, 2007
    Date of Patent: April 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: Masana Murase, Wilfred E. Plouffe, Jr., Kanna Shimizu, Vladimir Zbarsky
  • Patent number: 7934063
    Abstract: A method of invoking power processor element (PPE) serviced C library functions on a synergistic processing element (SPE) running in isolated mode. When the SPE initiates a PPE-serviced function, an SPE stub routine allocates a parameter buffer in an open area of a local store (LS) memory within the SPE. The LS memory includes an open area accessible to the PPE, and an isolated area inaccessible to the PPE. The SPE stub routine copies function parameters corresponding to the PPE-serviced function to a buffer within the open area of the LS memory, and writes a message word, which contains an identification variable of the PPE-serviced function and a location variable of the function parameters, to the open area. When execution is temporarily suspended on the SPE, the PPE reads the message word from the open area of the LS memory and executes the PPE-serviced function.
    Type: Grant
    Filed: March 29, 2007
    Date of Patent: April 26, 2011
    Assignee: International Business Machines Corporation
    Inventors: Masana Murase, Wilfred E. Plouffe, Jr., Masaharu Sakamoto, Kanna Shimizu, Vladimir Zbarsky
  • Patent number: 7886162
    Abstract: A method, computer program product, and data processing system for executing larger-than-physical-memory applications while protecting sensitive program code (and also data) from unauthorized access in a memory space not subject to protection fault or page fault detection are disclosed. Large applications are accommodated by providing a mechanism for secure program overlays, in which a single large application is broken into two or more smaller applications (overlays) that can be executed from the same memory space by overwriting one of the smaller applications with another of the smaller applications when the latter needs to be executed. So that the data may be shared among these smaller applications, each of the applications contains embedded cryptographic keys, which may be used to encrypt or decrypt information to be stored persistently while control is transferred from one application to the other.
    Type: Grant
    Filed: May 29, 2007
    Date of Patent: February 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Masana Murase, Wilfred E. Plouffe, Jr., Kanna Shimizu, Masaharu Sakamoto, Vladimir Zbarsky
  • Patent number: 7574450
    Abstract: An object sharing system instantiates or defines an object container that can be cloned and return a reference to a “saved” object, allowing an object to be passed between applications while maintaining a consistent reference to the object. The object sharing system places a reference to an object in the object container. A serialization module serializes the object container; the serialized object container is passed to a second application comprising the object sharing system. A deserialization module in the second application deserializes the object container, instantiating an object container clone and extracting a reference clone. The reference clone allows the second application to manipulate the saved object as desired without further interaction with the first application.
    Type: Grant
    Filed: April 19, 2005
    Date of Patent: August 11, 2009
    Assignee: International Business Machines Corporation
    Inventor: Wilfred E. Plouffe, Jr.
  • Publication number: 20090086974
    Abstract: A method, computer program product, and data processing system are disclosed for ensuring that applications executed in the data processing system originate only from trusted sources are disclosed. In a preferred embodiment, a secure operating kernel maintains a “key ring” containing keys corresponding to trusted software vendors. The secure kernel uses vendor keys to verify that a given application was signed by an approved vendor. To make it possible for independent developers to develop software for the herein-described platform, a “global key pair” is provided in which both the public and private keys of the pair are publicly known, so that anyone may sign an application with the global key. Such an application may be allowed to execute by including the global key pair's public key in the key ring as a “vendor key” or, conversely, it may be disallowed by excluding the global public key from the key ring.
    Type: Application
    Filed: October 2, 2007
    Publication date: April 2, 2009
    Inventors: Masana Murase, Wilfred E. Plouffe, JR., Kanna Shimizu, Vladimir Zbarsky
  • Publication number: 20080301468
    Abstract: A method, computer program product, and data processing system for executing larger-than-physical-memory applications while protecting sensitive program code (and also data) from unauthorized access in a memory space not subject to protection fault or page fault detection are disclosed. Large applications are accommodated by providing a mechanism for secure program overlays, in which a single large application is broken into two or more smaller applications (overlays) that can be executed from the same memory space by overwriting one of the smaller applications with another of the smaller applications when the latter needs to be executed. So that the data may be shared among these smaller applications, each of the applications contains embedded cryptographic keys, which may be used to encrypt or decrypt information to be stored persistently while control is transferred from one application to the other.
    Type: Application
    Filed: May 29, 2007
    Publication date: December 4, 2008
    Inventors: Masana Murase, Wilfred E. Plouffe, JR., Kanna Shimizu, Masaharu Sakamoto, Vladimir Zbarsky
  • Publication number: 20080301469
    Abstract: A method, computer program product, and data processing system are disclosed for protecting sensitive program code (and also data) from unauthorized access in a memory space not subject to protection fault detection. In a preferred embodiment, secure initialization hardware loads the sensitive code from a storage location accessible only to the secure initialization hardware itself and decrypts the sensitive code into a portion of the processor-accessible memory space, from which the code is executed. Once execution of the sensitive code has completed, all or at least a portion of the code is deleted before passing control to application software. If the application software needs to cause the sensitive code to be executed, the secure initialization hardware is activated to reload/decrypt a fresh copy of the sensitive code into the memory space and cause the code to be executed. Before control is returned to the application software, the sensitive code is again deleted to prevent unauthorized access.
    Type: Application
    Filed: May 29, 2007
    Publication date: December 4, 2008
    Inventors: Wilfred E. Plouffe, JR., Kanna Shimizu
  • Publication number: 20080301440
    Abstract: A method, computer program product, and data processing system for providing an updateable encrypted operating kernel are disclosed. In a preferred embodiment, secure initialization hardware decrypts a minimal secure kernel containing sensitive portions of data and/or code into a portion of the processor-accessible memory space, from which the kernel is executed. Most system software functions are not directly supported by the secure kernel but are provided by dynamically loaded kernel extensions that are encrypted with a public key so that they can only be decrypted with a private key possessed by the secure kernel. The public/private key pair is processor-specific. Before passing control to a kernel extension the secure kernel deletes a subset of its sensitive portions, retaining only those sensitive portions needed to perform the task(s) delegated to the kernel extension. Which sensitive portions are retained is determined by a cryptographic key with which the kernel extension is signed.
    Type: Application
    Filed: May 29, 2007
    Publication date: December 4, 2008
    Inventors: Wilfred E. Plouffe, JR., Kanna Shimizu, Vladimir Zbarsky
  • Publication number: 20080298581
    Abstract: A method, computer program product, and data processing system for protecting sensitive program code and data (including persistently stored data) from unauthorized access are disclosed. Dedicated hardware decrypts an encrypted kernel into memory for execution. When an application is to be executed, the kernel computes one or more secrets by cryptographically combining information contained in the application with secret information contained in the kernel itself. The kernel then deletes its secret information and passes the computed secrets to the application. To store data persistently in memory, the application uses one of the computed secrets to encrypt the data prior to storage. If the kernel starts another instance of the same application, the kernel (which will have been re-decrypted to restore the kernel's secrets) will compute the same one or more secrets, thus allowing the second application instance to access the data encrypted by the first application instance.
    Type: Application
    Filed: May 29, 2007
    Publication date: December 4, 2008
    Inventors: Masana Murase, Wilfred E. Plouffe, JR., Kanna Shimizu, Vladimir Zbarsky
  • Patent number: 7356147
    Abstract: A method and system for attaching a title key to encrypted content for synchronized transmission to, or storage by, a recipient is provided. Specifically, under the present invention, an elementary media stream is parceled into content units that each include a content packet and a header. The content packets are encrypted with one or more title keys. Once the content packets have been encrypted, the title keys are themselves encrypted with a key encrypting key. The encrypted title keys are then attached to the corresponding encrypted content packets for synchronized transmission to a recipient.
    Type: Grant
    Filed: April 18, 2002
    Date of Patent: April 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: Eric M. Foster, Jeffrey B. Lotspiech, Florian Pestoni, Wilfred E. Plouffe, Jr., Frank A. Schaffa
  • Patent number: 7092527
    Abstract: A method, system and program product for managing a size of a key management block (KMB) during content distribution is provided. Specifically, a first KMB corresponding to a first subtree of devices is received along with content as encrypted with a title key. If a size of the first KMB exceeds a predetermined threshold, a second subtree will be created. A second KMB corresponding to the second subtree of devices will then be generated. The second KMB contains an entry revoking the entire first subtree of devices and, as such, is smaller than the first KMD. Any compliant devices from the first subtree are migrated to the second subtree.
    Type: Grant
    Filed: April 18, 2002
    Date of Patent: August 15, 2006
    Assignee: International Business Machines Corporation
    Inventors: Eric M. Foster, Jeffrey B. Lotspiech, Florian Pestoni, Wilfred E. Plouffe, Jr., Frank A. Schaffa
  • Patent number: 6466979
    Abstract: An adaptive system for optimizing the bandwidth of a communication link in a communications session is disclosed. The decision as to when bandwidth in a communication session is to be released, or added, is based on the actual user activity rather than on an a priori determination which may not reflect the actual workload. Additionally, this decision is based on the actual costs associated with maintaining, releasing, and/or establishing a communication link or additional bandwidth. The costs include both direct costs and opportunity costs. The algorithm can also adapt its decision making process to its own performance, using feedback information to determine if it is minimizing the costs involved.
    Type: Grant
    Filed: November 9, 1998
    Date of Patent: October 15, 2002
    Assignee: International Business Machines Corporation
    Inventor: Wilfred E. Plouffe, Jr.
  • Patent number: 5432892
    Abstract: A technique which efficiently approximates a continuous function employs volummetric linear interpolation and implements the interpolation process in an arithmetic apparatus which calculates a value v of the function according to: ##EQU1## where u.sub.i are scaling factors corresponding to specifically known points p.sub.i in a n-dimensional domain space of the function, v.sub.i are specifically known points in an m-dimensional range space of the function and k+1 is the number of specifically known points.
    Type: Grant
    Filed: November 25, 1992
    Date of Patent: July 11, 1995
    Assignee: International Business Machines Corporation
    Inventors: James L. Hafner, Wilfred E. Plouffe, Jr.
  • Patent number: 5390035
    Abstract: The invention concerns the conversion of an input color to an output color using a multi-variable function having an input domain in a first three-dimensional color space and output range in a second m-dimensional color space. The conversion from input to output color subdivides the input domain into polyhedra defined by planar grids of points connected to form a plurality of triangles. The planar grids are projected into the remaining dimension of the function domain. When an input color value is presented, the multi-variable function is used to approximate the input value by computing an approximation of the multi-variable function, which provides a value in the output range. A tetrahedron containing the input color value is extracted from the function domain. The values of the multi-variable function at the tetrahedron vertices are obtained by interpolation. The tetrahedron is subdivided into subtetrahedra. The volumes of the subtetrahedra are calculated and multiplied by the function values.
    Type: Grant
    Filed: December 23, 1992
    Date of Patent: February 14, 1995
    Assignee: International Business Machines Corporation
    Inventors: James M. Kasson, Wilfred E. Plouffe, Jr.