Patents by Inventor Peter D. Bain

Peter D. Bain 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: 11494341
    Abstract: A tool for inter-process communication in a multi-tenant environment. The tool creates an advertisement file for each tenant of a plurality of tenants. The tool locks a plurality of synchronization files prior to incrementing a semaphore, wherein the plurality of synchronization files correspond to the plurality of tenants, and wherein locking the plurality of synchronization files ensure that the semaphore is only decremented once per tenant. The tool searches for a response file corresponding to a specific tenant, wherein the response file includes metadata related to an information channel for communication with the specific tenant and information depicting a communication protocol used corresponding to the specific tenant. The tool unlocks the plurality of synchronization files. The tool establishes a connection, wherein the connection comprises an encrypted communication channel between the specific tenant and the attachment process mediated by a daemon.
    Type: Grant
    Filed: November 22, 2019
    Date of Patent: November 8, 2022
    Assignee: International Business Machines Corporation
    Inventor: Peter D. Bain
  • Publication number: 20200097448
    Abstract: A tool for inter-process communication in a multi-tenant environment. The tool creates an advertisement file for each tenant of a plurality of tenants. The tool locks a plurality of synchronization files prior to incrementing a semaphore, wherein the plurality of synchronization files correspond to the plurality of tenants, and wherein locking the plurality of synchronization files ensure that the semaphore is only decremented once per tenant. The tool searches for a response file corresponding to a specific tenant, wherein the response file includes metadata related to an information channel for communication with the specific tenant and information depicting a communication protocol used corresponding to the specific tenant. The tool unlocks the plurality of synchronization files. The tool establishes a connection, wherein the connection comprises an encrypted communication channel between the specific tenant and the attachment process mediated by a daemon.
    Type: Application
    Filed: November 22, 2019
    Publication date: March 26, 2020
    Inventor: Peter D. Bain
  • Patent number: 10592272
    Abstract: Embodiments of the present invention provide memory optimization by phase-dependent data residency. Application programs are profiled a priori or in real time for temporal memory usage. Memory regions such as initialization data are proactively removed from memory when the application transitions to a new phase. A hypervisor monitors application activity and coordinates the removal of memory regions that are no longer needed by the application. Additionally, memory regions that are anticipated to be needed in the future are proactively preloaded.
    Type: Grant
    Filed: March 4, 2019
    Date of Patent: March 17, 2020
    Assignee: International Business Machines Corporation
    Inventors: Peter D. Bain, Peter D. Shipton
  • Patent number: 10528526
    Abstract: A method, executed by a computer, for inter-process communication in a multi-tenant environment includes creating an advertisement file for each tenant, determining that a semaphore is greater than zero, searching for a response file, and decrementing the semaphore. Detecting the response file may enable the specific tenant to establish a connection with an attachment process, and as a result, the semaphore may be reset to a value of zero. In one embodiment, a plurality of synchronization files are locked prior to incrementing the semaphore and unlocked in response to detecting the response file. Another method includes counting the targets to provide a target count, incrementing a semaphore to the target count, creating a response file, and establishing a connection with the specific target. A computer program product and computer system corresponding to the methods are also disclosed herein.
    Type: Grant
    Filed: September 2, 2015
    Date of Patent: January 7, 2020
    Assignee: International Business Machines Corporation
    Inventor: Peter D. Bain
  • Patent number: 10528525
    Abstract: A method, executed by a computer, for inter-process communication in a multi-tenant environment includes creating an advertisement file for each tenant, determining that a semaphore is greater than zero, searching for a response file, and decrementing the semaphore. Detecting the response file may enable the specific tenant to establish a connection with an attachment process, and as a result, the semaphore may be reset to a value of zero. In one embodiment, a plurality of synchronization files are locked prior to incrementing the semaphore and unlocked in response to detecting the response file. Another method includes counting the targets to provide a target count, incrementing a semaphore to the target count, creating a response file, and establishing a connection with the specific target. A computer program product and computer system corresponding to the methods are also disclosed herein.
    Type: Grant
    Filed: March 19, 2015
    Date of Patent: January 7, 2020
    Assignee: International Business Machines Corporation
    Inventor: Peter D. Bain
  • Publication number: 20190196860
    Abstract: Embodiments of the present invention provide memory optimization by phase-dependent data residency. Application programs are profiled a priori or in real time for temporal memory usage. Memory regions such as initialization data are proactively removed from memory when the application transitions to a new phase. A hypervisor monitors application activity and coordinates the removal of memory regions that are no longer needed by the application. Additionally, memory regions that are anticipated to be needed in the future are proactively preloaded.
    Type: Application
    Filed: March 4, 2019
    Publication date: June 27, 2019
    Inventors: Peter D. Bain, Peter D. Shipton
  • Patent number: 10268501
    Abstract: Embodiments of the present invention provide memory optimization by phase-dependent data residency. Application programs are profiled a priori or in real time for temporal memory usage. Memory regions such as initialization data are proactively removed from memory when the application transitions to a new phase. A hypervisor monitors application activity and coordinates the removal of memory regions that are no longer needed by the application. Additionally, memory regions that are anticipated to be needed in the future are proactively preloaded.
    Type: Grant
    Filed: October 24, 2018
    Date of Patent: April 23, 2019
    Assignee: International Business Machines Corporation
    Inventors: Peter D. Bain, Peter D. Shipton
  • Publication number: 20190056973
    Abstract: Embodiments of the present invention provide memory optimization by phase-dependent data residency. Application programs are profiled a priori or in real time for temporal memory usage. Memory regions such as initialization data are proactively removed from memory when the application transitions to a new phase. A hypervisor monitors application activity and coordinates the removal of memory regions that are no longer needed by the application. Additionally, memory regions that are anticipated to be needed in the future are proactively preloaded.
    Type: Application
    Filed: October 24, 2018
    Publication date: February 21, 2019
    Inventors: Peter D. Bain, Peter D. Shipton
  • Patent number: 10204059
    Abstract: Embodiments of the present invention provide memory optimization by phase-dependent data residency. Application programs are profiled a priori or in real time for temporal memory usage. Memory regions such as initialization data are proactively removed from memory when the application transitions to a new phase. A hypervisor monitors application activity and coordinates the removal of memory regions that are no longer needed by the application. Additionally, memory regions that are anticipated to be needed in the future are proactively preloaded.
    Type: Grant
    Filed: September 29, 2016
    Date of Patent: February 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Peter D. Bain, Peter D. Shipton
  • Publication number: 20180089105
    Abstract: Embodiments of the present invention provide memory optimization by phase-dependent data residency. Application programs are profiled a priori or in real time for temporal memory usage. Memory regions such as initialization data are proactively removed from memory when the application transitions to a new phase. A hypervisor monitors application activity and coordinates the removal of memory regions that are no longer needed by the application. Additionally, memory regions that are anticipated to be needed in the future are proactively preloaded.
    Type: Application
    Filed: September 29, 2016
    Publication date: March 29, 2018
    Inventors: Peter D. Bain, Peter D. Shipton
  • Publication number: 20160275097
    Abstract: A method, executed by a computer, for inter-process communication in a multi-tenant environment includes creating an advertisement file for each tenant, determining that a semaphore is greater than zero, searching for a response file, and decrementing the semaphore. Detecting the response file may enable the specific tenant to establish a connection with an attachment process, and as a result, the semaphore may be reset to a value of zero. In one embodiment, a plurality of synchronization files are locked prior to incrementing the semaphore and unlocked in response to detecting the response file. Another method includes counting the targets to provide a target count, incrementing a semaphore to the target count, creating a response file, and establishing a connection with the specific target. A computer program product and computer system corresponding to the methods are also disclosed herein.
    Type: Application
    Filed: March 19, 2015
    Publication date: September 22, 2016
    Inventor: Peter D. Bain
  • Publication number: 20160274956
    Abstract: A method, executed by a computer, for inter-process communication in a multi-tenant environment includes creating an advertisement file for each tenant, determining that a semaphore is greater than zero, searching for a response file, and decrementing the semaphore. Detecting the response file may enable the specific tenant to establish a connection with an attachment process, and as a result, the semaphore may be reset to a value of zero. In one embodiment, a plurality of synchronization files are locked prior to incrementing the semaphore and unlocked in response to detecting the response file. Another method includes counting the targets to provide a target count, incrementing a semaphore to the target count, creating a response file, and establishing a connection with the specific target. A computer program product and computer system corresponding to the methods are also disclosed herein.
    Type: Application
    Filed: September 2, 2015
    Publication date: September 22, 2016
    Inventor: Peter D. Bain
  • Publication number: 20140009314
    Abstract: A method for efficiently computing a hash value for a string is disclosed. In one embodiment, such a method includes receiving an original string comprising multiple characters. The method computes an original hash value for the original string. The method produces an updated string by performing at least one of the following updates on the original string: adding leading/trailing characters to the original string; removing leading/trailing characters from the original string, and modifying characters of the original string while preserving the length of the original string. The method then computes an updated hash value for the updated string by performing at least one operation on the original hash value, wherein the at least one operation takes into account the updates that were made to the original string. A corresponding apparatus and computer program product are also disclosed.
    Type: Application
    Filed: July 6, 2012
    Publication date: January 9, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter D. Bain, Peter W. Burka, Charles R. Gracie
  • Publication number: 20120185875
    Abstract: A method to enable communication between software processes includes initiating a plurality of processes, the processes including both attachment processes and target processes. A single semaphore is created and initialized for use by the plurality of processes such that each of the target processes wait on the semaphore. An attachment process writes a message file, identifying a specific target process, to a location accessible by the target processes. The attachment process then increments the semaphore by the number of target processes, thereby unblocking the target processes and allowing them to check the message file. When the specific target process determines that the message file is intended for that target, a connection is established between the attachment process and the specific target process. The attachment process then decrements the semaphore to zero to block the target processes. A corresponding computer program product and apparatus are also disclosed herein.
    Type: Application
    Filed: March 28, 2012
    Publication date: July 19, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Peter D. Bain
  • Publication number: 20120016855
    Abstract: A method to enable communication between software processes includes initiating a plurality of processes, the processes including both attachment processes and target processes. A single semaphore is created and initialized for use by the plurality of processes such that each of the target processes wait on the semaphore. An attachment process writes a message file, identifying a specific target process, to a location accessible by the target processes. The attachment process then increments the semaphore by the number of target processes, thereby unblocking the target processes and allowing them to check the message file. When the specific target process determines that the message file is intended for that target, a connection is established between the attachment process and the specific target process. The attachment process then decrements the semaphore to zero to block the target processes. A corresponding computer program product and apparatus are also disclosed herein.
    Type: Application
    Filed: July 16, 2010
    Publication date: January 19, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Peter D. Bain
  • Patent number: 7225391
    Abstract: A method for generating a linear block code is disclosed. A message is broken up into a plurality of sets of bits. A first group of sets is processed to determine a first partial linear block code. An adjusted partial linear block code is generated from the partial linear block code. A second group of sets is processed to determine a second partial linear block code. The adjusted partial linear block code and the second partial linear block code are combined into a single value.
    Type: Grant
    Filed: December 17, 2002
    Date of Patent: May 29, 2007
    Assignee: Altera Corporation
    Inventor: Peter D. Bain
  • Patent number: 7038518
    Abstract: A delay circuit includes a phase vernier having a plurality of logic components. Each logic component includes a selectable injection input capable of adjusting a phase of an input to the phase vernier.
    Type: Grant
    Filed: June 16, 2004
    Date of Patent: May 2, 2006
    Assignee: Altera Corporation
    Inventor: Peter D. Bain
  • Patent number: 6777993
    Abstract: A delay circuit includes a phase vernier having a plurality of logic components. Each logic component includes a selectable injection input capable of adjusting a phase of an input to the phase vernier.
    Type: Grant
    Filed: July 3, 2002
    Date of Patent: August 17, 2004
    Assignee: Altera Corporation
    Inventor: Peter D. Bain
  • Patent number: 5506747
    Abstract: FIFOs having various depths are provided in a RAM in a plurality of groups. For each group, stored numbers B and D determine a base address 2.sup.B in the RAM for the group and a depth 2.sup.D of each FIFO in the group. Each FIFO is identified by a respective FIFO identity having a most significant "1" bit whose position identifies the respective group of FIFOs, less significant bits identifying the respective FIFO in the group. A count C is provided which is common to all of the FIFOs for identifying a respective location in each FIFO. Each FIFO in the RAM is addressed with an address comprising a sum of the base address 2.sup.B, a product of said less significant bits multiplied by 2.sup.D, and a number C mod 2.sup.D, using the stored numbers B and D determined by the respective FIFO identity. The sum can be provided by an OR function.
    Type: Grant
    Filed: December 15, 1994
    Date of Patent: April 9, 1996
    Assignee: Northern Telecom Limited
    Inventor: Peter D. Bain