Patents by Inventor San Hong Li

San Hong Li 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: 10061570
    Abstract: In an approach for removing tenant initialization check per tenant for compiled code, a processor receives a request to create a tenant. A processor creates the tenant. A processor marks a current thread of the tenant as not eligible to run just-in-time (JIT) code, wherein the marking indicates that when a method is invoked, a non-JIT version of the method is executed. A processor executes initialization of a first class from an optimization list, wherein the optimization list is a configurable list of classes to be initialized prior to running JIT code. A processor determines that class initialization has been executed for all classes on the optimization list. A processor adjusts the marking to indicate that the current thread is eligible to run JIT code and that the tenant may run JIT code that assumes, without checking, that classes on the optimization list are initialized.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: August 28, 2018
    Assignee: International Business Machines Corporation
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Patent number: 9870240
    Abstract: Embodiments of the present invention disclose an approach for inserting code into a running thread of execution. A computer sets a first set of bits to a first value, wherein the first value indicates that a first set of instructions should be inserted onto a stack. The computer executes a second set of instructions associated with a first safepoint, wherein the second set of instructions comprises one or more instructions to determine if the first set of bits is set to the first value. The computer determines that the first set of bits is set to the first value, and the computer inserts the first set of instructions onto the stack.
    Type: Grant
    Filed: August 30, 2016
    Date of Patent: January 16, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
  • Patent number: 9720654
    Abstract: An apparatus for modifying a middleware shared by multiple tenants by preparing a data packet comprising modification information and tenant information, the modification information comprising information of a specific class to be modified in the middleware as well as modification content for the specific class, the tenant information indicating a specific tenant of the plurality of tenants to which the modification content is directed; and in response to acquisition of the data packet: modifying the specific class in the middleware in runtime according to the modification information to create a modified specific class; and applying the modified content only to the specific tenant. When multiple tenants share a same middleware, different versions of the middleware may be provided for respective tenants, without affecting the use by other tenants, thereby satisfying sharing and customization requirements of each of the multiple tenants.
    Type: Grant
    Filed: November 6, 2013
    Date of Patent: August 1, 2017
    Assignee: International Business Machines Corporation
    Inventors: JunJie Cai, San Hong Li, Jing Lv, Wei Wei Gao, Chen Lei
  • Publication number: 20170017474
    Abstract: In an approach for removing tenant initialization check per tenant for compiled code, a processor receives a request to create a tenant. A processor creates the tenant. A processor marks a current thread of the tenant as not eligible to run just-in-time (JIT) code, wherein the marking indicates that when a method is invoked, a non-JIT version of the method is executed. A processor executes initialization of a first class from an optimization list, wherein the optimization list is a configurable list of classes to be initialized prior to running JIT code. A processor determines that class initialization has been executed for all classes on the optimization list. A processor adjusts the marking to indicate that the current thread is eligible to run JIT code and that the tenant may run JIT code that assumes, without checking, that classes on the optimization list are initialized.
    Type: Application
    Filed: September 30, 2016
    Publication date: January 19, 2017
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Publication number: 20160371103
    Abstract: Embodiments of the present invention disclose an approach for inserting code into a running thread of execution. A computer sets a first set of bits to a first value, wherein the first value indicates that a first set of instructions should be inserted onto a stack. The computer executes a second set of instructions associated with a first safepoint, wherein the second set of instructions comprises one or more instructions to determine if the first set of bits is set to the first value. The computer determines that the first set of bits is set to the first value, and the computer inserts the first set of instructions onto the stack.
    Type: Application
    Filed: August 30, 2016
    Publication date: December 22, 2016
    Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
  • Patent number: 9495184
    Abstract: In an approach for removing tenant initialization check per tenant for compiled code, a processor receives a request to create a tenant. A processor creates the tenant. A processor marks a current thread of the tenant as not eligible to run just-in-time (JIT) code, wherein the marking indicates that when a method is invoked, a non-JIT version of the method is executed. A processor executes initialization of a first class from an optimization list, wherein the optimization list is a configurable list of classes to be initialized prior to running JIT code. A processor determines that class initialization has been executed for all classes on the optimization list. A processor adjusts the marking to indicate that the current thread is eligible to run JIT code and that the tenant may run JIT code that assumes, without checking, that classes on the optimization list are initialized.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Patent number: 9495185
    Abstract: In an approach for removing tenant initialization check per tenant for compiled code, a processor receives a request to create a tenant. A processor creates the tenant. A processor marks a current thread of the tenant as not eligible to run just-in-time (JIT) code, wherein the marking indicates that when a method is invoked, a non-JIT version of the method is executed. A processor executes initialization of a first class from an optimization list, wherein the optimization list is a configurable list of classes to be initialized prior to running JIT code. A processor determines that class initialization has been executed for all classes on the optimization list. A processor adjusts the marking to indicate that the current thread is eligible to run JIT code and that the tenant may run JIT code that assumes, without checking, that classes on the optimization list are initialized.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Patent number: 9471343
    Abstract: Embodiments of the present invention disclose an approach for inserting code into a running thread of execution. A computer sets a first set of bits to a first value, wherein the first value indicates that a first set of instructions should be inserted onto a stack. The computer executes a second set of instructions associated with a first safepoint, wherein the second set of instructions comprises one or more instructions to determine if the first set of bits is set to the first value. The computer determines that the first set of bits is set to the first value, and the computer inserts the first set of instructions onto the stack.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
  • Publication number: 20160285970
    Abstract: A method for transferring data utilizing direct memory access. The method includes a computer processor identifying a first computing entity and a second computing entity that are transferring data. The method further includes establishing one or more transmission control protocol networking connections between the first computing entity and the second computing entity. The method further includes determining a shared memory space for the first computing entity and the second computing entity to utilize for transferring the data, wherein the shared memory space includes unused memory space. The method further includes allocating memory space of the determined shared memory space to the first computing entity and the second computing entity and communicating a memory address that corresponds to the allocated memory space. The method further includes transferring the data between the first computing entity and the second computing entity utilizing direct memory access and the allocated memory space.
    Type: Application
    Filed: March 27, 2015
    Publication date: September 29, 2016
    Inventors: JunJie Cai, San Hong Li, Chuan Sheng Lu
  • Publication number: 20160246621
    Abstract: In an approach for removing tenant initialization check per tenant for compiled code, a processor receives a request to create a tenant. A processor creates the tenant. A processor marks a current thread of the tenant as not eligible to run just-in-time (JIT) code, wherein the marking indicates that when a method is invoked, a non-JIT version of the method is executed. A processor executes initialization of a first class from an optimization list, wherein the optimization list is a configurable list of classes to be initialized prior to running JIT code. A processor determines that class initialization has been executed for all classes on the optimization list. A processor adjusts the marking to indicate that the current thread is eligible to run JIT code and that the tenant may run JIT code that assumes, without checking, that classes on the optimization list are initialized.
    Type: Application
    Filed: September 10, 2015
    Publication date: August 25, 2016
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Publication number: 20160246623
    Abstract: In an approach for removing tenant initialization check per tenant for compiled code, a processor receives a request to create a tenant. A processor creates the tenant. A processor marks a current thread of the tenant as not eligible to run just-in-time (JIT) code, wherein the marking indicates that when a method is invoked, a non-JIT version of the method is executed. A processor executes initialization of a first class from an optimization list, wherein the optimization list is a configurable list of classes to be initialized prior to running JIT code. A processor determines that class initialization has been executed for all classes on the optimization list. A processor adjusts the marking to indicate that the current thread is eligible to run JIT code and that the tenant may run JIT code that assumes, without checking, that classes on the optimization list are initialized.
    Type: Application
    Filed: February 23, 2015
    Publication date: August 25, 2016
    Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
  • Patent number: 9384019
    Abstract: Embodiments of the present invention disclose an approach for inserting code into a running thread of execution. A computer sets a first set of bits to a first value, wherein the first value indicates that a first set of instructions should be inserted onto a stack. The computer executes a second set of instructions associated with a first safepoint, wherein the second set of instructions comprises one or more instructions to determine if the first set of bits is set to the first value. The computer determines that the first set of bits is set to the first value, and the computer inserts the first set of instructions onto the stack.
    Type: Grant
    Filed: March 25, 2014
    Date of Patent: July 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
  • Patent number: 9304742
    Abstract: A method for modifying a middleware shared by multiple tenants by preparing a data packet comprising modification information and tenant information, the modification information comprising information of a specific class to be modified in the middleware as well as modification content for the specific class, the tenant information indicating a specific tenant of the plurality of tenants to which the modification content is directed; and in response to acquisition of the data packet: modifying the specific class in the middleware in runtime according to the modification information to create a modified specific class; and applying the modified content only to the specific tenant. When multiple tenants share a same middleware, different versions of the middleware may be provided for respective tenants, without affecting the use by other tenants, thereby satisfying sharing and customization requirements of each of the multiple tenants.
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: April 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: JunJie Cai, San Hong Li, Jing Lv, Wei Wei Gao, Chen Lei
  • Publication number: 20150370585
    Abstract: Embodiments of the present invention disclose an approach for inserting code into a running thread of execution. A computer sets a first set of bits to a first value, wherein the first value indicates that a first set of instructions should be inserted onto a stack. The computer executes a second set of instructions associated with a first safepoint, wherein the second set of instructions comprises one or more instructions to determine if the first set of bits is set to the first value. The computer determines that the first set of bits is set to the first value, and the computer inserts the first set of instructions onto the stack.
    Type: Application
    Filed: August 31, 2015
    Publication date: December 24, 2015
    Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
  • Publication number: 20150278077
    Abstract: Embodiments of the present invention disclose an approach for inserting code into a running thread of execution. A computer sets a first set of bits to a first value, wherein the first value indicates that a first set of instructions should be inserted onto a stack. The computer executes a second set of instructions associated with a first safepoint, wherein the second set of instructions comprises one or more instructions to determine if the first set of bits is set to the first value. The computer determines that the first set of bits is set to the first value, and the computer inserts the first set of instructions onto the stack.
    Type: Application
    Filed: March 25, 2014
    Publication date: October 1, 2015
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
  • Publication number: 20140372977
    Abstract: A method for modifying a middleware shared by multiple tenants by preparing a data packet comprising modification information and tenant information, the modification information comprising information of a specific class to be modified in the middleware as well as modification content for the specific class, the tenant information indicating a specific tenant of the plurality of tenants to which the modification content is directed; and in response to acquisition of the data packet: modifying the specific class in the middleware in runtime according to the modification information to create a modified specific class; and applying the modified content only to the specific tenant. When multiple tenants share a same middleware, different versions of the middleware may be provided for respective tenants, without affecting the use by other tenants, thereby satisfying sharing and customization requirements of each of the multiple tenants.
    Type: Application
    Filed: August 29, 2014
    Publication date: December 18, 2014
    Inventors: JunJie Cai, San Hong Li, Jing Lv, Wei Wei Gao, Chen Lei
  • Publication number: 20140157231
    Abstract: The present disclosure discloses a method and apparatus for modifying a middleware shared by multiple tenants by preparing a data packet comprising modification information and tenant information, the modification information comprising information of a specific class to be modified in the middleware as well as modification content for the specific class, the tenant information indicating a specific tenant of the plurality of tenants to which the modification content is directed; and in response to acquisition of the data packet: modifying the specific class in the middleware in runtime according to the modification information to create a modified specific class; and applying the modified content only to the specific tenant. When multiple tenants share a same middleware, different versions of the middleware may be provided for respective tenants, without affecting the use by other tenants, thereby satisfying sharing and customization requirements of each of the multiple tenants.
    Type: Application
    Filed: November 6, 2013
    Publication date: June 5, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: JunJie Cai, San Hong Li, Jing Lv, Wei Wei Gao, Chen Lei