Patents by Inventor Ivan M. Heninger

Ivan M. Heninger 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: 9075645
    Abstract: A method, system and computer program product for selecting an optimal transport protocol in a cloud computing environment. An application creates a socket to communicate with a destination Virtual Machine (VM). The application requests a daemon agent to query a virtual machine manager to determine if the destination VM is on the same hypervisor as the application. The daemon agent receives a VMCI address (“context ID”) and an indication of the hypervisor associated with the destination VM from the virtual machine manager. The daemon agent enables the transport layer to route traffic over the VMCI protocol to the destination VM using its context ID in response to the destination VM being on the same hypervisor as the application. In this manner, the application is able to route traffic using an optimal transport protocol, including VMCI, depending on peer hypervisor association without requiring any code modifications to the application.
    Type: Grant
    Filed: April 22, 2013
    Date of Patent: July 7, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Zachary H. Jones, Aaron J. Quirk
  • Patent number: 9071587
    Abstract: A method, system and computer program product for optimizing virtual machine deployment. A cloud controller pre-generates and stores a virtual machine's first-boot metadata (e.g., a RSA key) prior to the deployment of the virtual machine so that the virtual machine does not need to generate such metadata at deployment time thereby reducing the deployment time of the virtual machine. Instead, after the deployment and activation of the virtual machine, an activation agent running on the virtual machine requests the pre-generated first-boot metadata from the cloud controller. The cloud controller retrieves the requested pre-generated first-boot metadata to be transmitted to the requesting virtual machine and implements public-key cryptography so that the requesting virtual machine can verify the authenticity of the transmitted first-boot metadata. By reducing the deployment time for the virtual machine, cloud resources can be used for other activities.
    Type: Grant
    Filed: August 27, 2012
    Date of Patent: June 30, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Douglas A. Larson, Aaron J. Quirk
  • Patent number: 8949848
    Abstract: A method, system and computer program product for managing resource utilization of virtual machines in a cloud computing environment. A cloud controller computes an index of the utilization of a resource by a virtual machine to determine its adverse impact on its neighboring virtual machine(s) that share the same resource. If the interference index is greater than a threshold, then the utilization of the resource by that virtual machine will be throttled or reduced provided that the servicing of its workload is not weighted at too high of a priority and that one or more of its neighboring virtual machines are not able to meet their service-level agreement requirements. In this manner, the adversely affected neighboring virtual machines may have its performance restored in meeting their service-level agreement requirements without having to add additional resources and/or be migrated to other areas of the cloud computing environment.
    Type: Grant
    Filed: August 20, 2012
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Zachary H. Jones, James K. Kochuba, Aaron J. Quirk
  • Publication number: 20140258487
    Abstract: A method, system and computer program product for minimizing workload migrations during cloud maintenance operations. Upon receiving an indication that a scheduled maintenance operation is to be performed, a cloud controller uploads the maintenance binaries associated with the scheduled maintenance operation and analyzes the maintenance binaries so as to evaluate the requirements of the maintenance packages and dependencies associated with the scheduled maintenance operation. A matrix is then generated by the cloud controller to identify the classes of hardware that will be disrupted by the scheduled maintenance operation based on the analysis. The workloads running on the classes of hardware identified in the matrix will then be consolidated prior to the scheduled maintenance operation. By consolidating the workloads onto a fewer number of hardware components, a fewer number of workload migrations will need to be performed during the cloud maintenance operation.
    Type: Application
    Filed: March 11, 2013
    Publication date: September 11, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ivan M. Heninger, Douglas A. Larson, Aaron J. Quirk, Matthew J. Sheard
  • Publication number: 20140258539
    Abstract: A method, system and computer program product for minimizing workload migrations during cloud maintenance operations. Upon receiving an indication that a scheduled maintenance operation is to be performed, a cloud controller uploads the maintenance binaries associated with the scheduled maintenance operation and analyzes the maintenance binaries so as to evaluate the requirements of the maintenance packages and dependencies associated with the scheduled maintenance operation. A matrix is then generated by the cloud controller to identify the classes of hardware that will be disrupted by the scheduled maintenance operation based on the analysis. The workloads running on the classes of hardware identified in the matrix will then be consolidated prior to the scheduled maintenance operation. By consolidating the workloads onto a fewer number of hardware components, a fewer number of workload migrations will need to be performed during the cloud maintenance operation.
    Type: Application
    Filed: October 31, 2013
    Publication date: September 11, 2014
    Applicant: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Douglas A. Larson, Aaron J. Quirk, Matthew J. Sheard
  • Publication number: 20140059541
    Abstract: A method, system and computer program product for optimizing virtual machine deployment. A cloud controller pre-generates and stores a virtual machine's first-boot metadata (e.g., a RSA key) prior to the deployment of the virtual machine so that the virtual machine does not need to generate such metadata at deployment time thereby reducing the deployment time of the virtual machine. Instead, after the deployment and activation of the virtual machine, an activation agent running on the virtual machine requests the pre-generated first-boot metadata from the cloud controller. The cloud controller retrieves the requested pre-generated first-boot metadata to be transmitted to the requesting virtual machine and implements public-key cryptography so that the requesting virtual machine can verify the authenticity of the transmitted first-boot metadata. By reducing the deployment time for the virtual machine, cloud resources can be used for other activities.
    Type: Application
    Filed: August 27, 2012
    Publication date: February 27, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ivan M. Heninger, Douglas A. Larson, Aaron J. Quirk
  • Publication number: 20140053151
    Abstract: A method, system and computer program product for managing resource utilization of virtual machines in a cloud computing environment. A cloud controller computes an index of the utilization of a resource by a virtual machine to determine its adverse impact on its neighboring virtual machine(s) that share the same resource. If the interference index is greater than a threshold, then the utilization of the resource by that virtual machine will be throttled or reduced provided that the servicing of its workload is not weighted at too high of a priority and that one or more of its neighboring virtual machines are not able to meet their service-level agreement requirements. In this manner, the adversely affected neighboring virtual machines may have its performance restored in meeting their service-level agreement requirements without having to add additional resources and/or be migrated to other areas of the cloud computing environment.
    Type: Application
    Filed: August 20, 2012
    Publication date: February 20, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ivan M. Heninger, Zachary H. Jones, James K. Kochuba, Aaron J. Quirk
  • Publication number: 20140052945
    Abstract: A method, system and computer program product for optimizing storage system behavior in a cloud computing environment. An Input/Output (I/O) operation data is appended with a tag, where the tag indicates a class of data for the I/O operation data. Upon the storage controller reviewing the tag appended to the I/O operation data, the storage controller performs a table look-up for the storage policy associated with the determined class of data. The storage controller applies a map to determine a storage location for the I/O operation data in a drive device, where the map represents a logical volume which indicates a range of block data that is to be excluded for being stored on the drive device and a range of block data that is to be considered for being stored on the drive device. In this manner, granularity of storage policies is provided in a cloud computing environment.
    Type: Application
    Filed: August 14, 2012
    Publication date: February 20, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rohith K. Ashok, Darryl E. Gardner, Ivan M. Heninger, Douglas A. Larson, Gerald F. McBrearty, Aaron J. Quirk, Matthew J. Sheard
  • Publication number: 20130247041
    Abstract: A method, system and computer program product for selecting an optimal transport protocol in a cloud computing environment. An application creates a socket to communicate with a destination Virtual Machine (VM). The application requests a daemon agent to query a virtual machine manager to determine if the destination VM is on the same hypervisor as the application. The daemon agent receives a VMCI address (“context ID”) and an indication of the hypervisor associated with the destination VM from the virtual machine manager. The daemon agent enables the transport layer to route traffic over the VMCI protocol to the destination VM using its context ID in response to the destination VM being on the same hypervisor as the application. In this manner, the application is able to route traffic using an optimal transport protocol, including VMCI, depending on peer hypervisor association without requiring any code modifications to the application.
    Type: Application
    Filed: April 22, 2013
    Publication date: September 19, 2013
    Applicant: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Zachary H. Jones, Aaron J. Quirk
  • Publication number: 20130191528
    Abstract: A method, system and computer program product for selecting an appropriate platform to run an application deployed in a cloud computing environment. The appropriate platform is selected by employing a two phase process, where the first phase occurs prior to the deployment of the application and the second phase occurs after the application has been deployed. In the first phase, the cloud computing node selects a platform using various factors, such as application binaries, application metadata and artifacts, and qualities of service and application requirements. In the second phase, the cloud computing node determines whether an alternative platform needs to be implemented for subsequent deployments of the application using various factors, such as application runtime metrics and garbage collection metrics. In this manner, an appropriate platform is automatically selected thereby removing the requirement for the user to indicate the type of platform for the target environment.
    Type: Application
    Filed: January 24, 2012
    Publication date: July 25, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Steven D. Ims, Zachary H. Jones, Aaron J. Quirk
  • Publication number: 20130191826
    Abstract: A method, system and computer program product for selecting an optimal transport protocol in a cloud computing environment. An application creates a socket to communicate with a destination Virtual Machine (VM). The application requests a daemon agent to query a virtual machine manager to determine if the destination VM is on the same hypervisor as the application. The daemon agent receives a VMCI address (“context ID”) and an indication of the hypervisor associated with the destination VM from the virtual machine manager. The daemon agent enables the transport layer to route traffic over the VMCI protocol to the destination VM using its context ID in response to the destination VM being on the same hypervisor as the application. In this manner, the application is able to route traffic using an optimal transport protocol, including VMCI, depending on peer hypervisor association without requiring any code modifications to the application.
    Type: Application
    Filed: January 23, 2012
    Publication date: July 25, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Zachary H. Jones, Aaron J. Quirk
  • Patent number: 8261339
    Abstract: Dynamically selecting an endpoint for a tunnel into an enterprise computing infrastructure. A client dynamically selects a gateway (which may alternatively be referred to as a boundary device or server) as a tunnel endpoint for connecting over a public network (or, more generally, an untrusted network) into an enterprise computing infrastructure. The selection is made, in preferred embodiments, according to least-cost routing metrics pertaining to paths through the enterprise network from the selected gateway to a destination host. The least-cost routing metrics may be computed using factors such as the proximity of selectable tunnel endpoints to the destination host; stability or redundancy of network resources for this gateway; monetary costs of transmitting data over a path between the selectable tunnel endpoints and destination host; congestion on that path; hop count for that path; and/or latency or transmit time for data on that path.
    Type: Grant
    Filed: December 14, 2010
    Date of Patent: September 4, 2012
    Assignee: International Business Machines Corporation
    Inventors: M. Lynn Aldridge, Peter C. Dill, Ivan M. Heninger, John D. Kari, Clifford D. Marano, David M. Urgo
  • Patent number: 7992201
    Abstract: Dynamically selecting an endpoint for a tunnel into an enterprise computing infrastructure. A client dynamically selects a gateway (which may alternatively be referred to as a boundary device or server) as a tunnel endpoint for connecting over a public network (or, more generally, an untrusted network) into an enterprise computing infrastructure. The selection is made, in preferred embodiments, according to least-cost routing metrics pertaining to paths through the enterprise network from the selected gateway to a destination host. The least-cost routing metrics may be computed using factors such as the proximity of selectable tunnel endpoints to the destination host; stability or redundancy of network resources for this gateway; monetary costs of transmitting data over a path between the selectable tunnel endpoints and destination host; congestion on that path; hop count for that path; and/or latency or transmit time for data on that path.
    Type: Grant
    Filed: July 26, 2007
    Date of Patent: August 2, 2011
    Assignee: International Business Machines Corporation
    Inventors: M. Lynn Aldridge, Peter C. Dill, Ivan M. Heninger, John D. Kari, Clifford D. Marano, David M. Urgo
  • Patent number: 7975294
    Abstract: A client attempts to transmit a presence state to a presence server that is behind a firewall of a secure network. If the client is inside the firewall, the presence server instructs resources within the secure network to directly communicate with the client. However, if the client is outside the firewall, then the client must tunnel into the secure network via a Virtual Private Network (VPN) before accessing the resources in the secure network.
    Type: Grant
    Filed: November 19, 2007
    Date of Patent: July 5, 2011
    Assignee: International Business Machines Corporation
    Inventors: Ivan M. Heninger, John D. Kari, William J. Rippon, Galina Rubinshtein
  • Publication number: 20110083174
    Abstract: Dynamically selecting an endpoint for a tunnel into an enterprise computing infrastructure. A client dynamically selects a gateway (which may alternatively be referred to as a boundary device or server) as a tunnel endpoint for connecting over a public network (or, more generally, an untrusted network) into an enterprise computing infrastructure. The selection is made, in preferred embodiments, according to least-cost routing metrics pertaining to paths through the enterprise network from the selected gateway to a destination host. The least-cost routing metrics may be computed using factors such as the proximity of selectable tunnel endpoints to the destination host; stability or redundancy of network resources for this gateway; monetary costs of transmitting data over a path between the selectable tunnel endpoints and destination host; congestion on that path; hop count for that path; and/or latency or transmit time for data on that path.
    Type: Application
    Filed: December 14, 2010
    Publication date: April 7, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: M. Lynn Aldridge, Peter C. Dill, Ivan M. Heninger, John D. Kari, Clifford D. Marano, David M. Urgo
  • Publication number: 20090133115
    Abstract: A client attempts to transmit a presence state to a presence server that is behind a firewall of a secure network. If the client is inside the firewall, the presence server instructs resources within the secure network to directly communicate with the client. However, if the client is outside the firewall, then the client must tunnel into the secure network via a Virtual Private Network (VPN) before accessing the resources in the secure network.
    Type: Application
    Filed: November 19, 2007
    Publication date: May 21, 2009
    Inventors: Ivan M. Heninger, John D. Kari, William J. Rippon, Galina Rubinshtein
  • Publication number: 20090031415
    Abstract: Dynamically selecting an endpoint for a tunnel into an enterprise computing infrastructure. A client dynamically selects a gateway (which may alternatively be referred to as a boundary device or server) as a tunnel endpoint for connecting over a public network (or, more generally, an untrusted network) into an enterprise computing infrastructure. The selection is made, in preferred embodiments, according to least-cost routing metrics pertaining to paths through the enterprise network from the selected gateway to a destination host. The least-cost routing metrics may be computed using factors such as the proximity of selectable tunnel endpoints to the destination host; stability or redundancy of network resources for this gateway; monetary costs of transmitting data over a path between the selectable tunnel endpoints and destination host; congestion on that path; hop count for that path; and/or latency or transmit time for data on that path.
    Type: Application
    Filed: July 26, 2007
    Publication date: January 29, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: M. Lynn Aldridge, Peter C. Dill, Ivan M. Heninger, John D. Kari, Clifford D. Marano, David M. Urgo
  • Patent number: 6684257
    Abstract: Systems, methods and computer program products are provided for testing whether Web content has been properly tailored by a transcoding proxy for display within various requesting pervasive computing devices. Simulated HyperText Transfer Protocol (HTTP) requests are built using information from one or more data files. Each simulated request includes a Uniform Resource Locator (URL) that identifies a location of Web content. Each simulated request also includes an HTTP header containing information about a respective pervasive computing device. Simulated HTTP requests are asynchronously issued to respective Web servers identified in the respective HTTP requests. An HTTP response to each respective simulated HTTP request is received and includes Web content tailored for display within a respective pervasive computing device associated with the respective simulated HTTP request. Each HTTP response is then compared with an expected HTTP response.
    Type: Grant
    Filed: October 15, 1999
    Date of Patent: January 27, 2004
    Assignee: International Business Machines Corporation
    Inventors: Samuel A. Camut, Ivan M. Heninger, Eric M. Vought