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: 10061570Abstract: 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: GrantFiled: September 30, 2016Date of Patent: August 28, 2018Assignee: International Business Machines CorporationInventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
-
Patent number: 9870240Abstract: 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: GrantFiled: August 30, 2016Date of Patent: January 16, 2018Assignee: International Business Machines CorporationInventors: Michael H. Dawson, Graeme Johnson, San Hong Li
-
Patent number: 9720654Abstract: 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: GrantFiled: November 6, 2013Date of Patent: August 1, 2017Assignee: International Business Machines CorporationInventors: JunJie Cai, San Hong Li, Jing Lv, Wei Wei Gao, Chen Lei
-
Publication number: 20170017474Abstract: 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: ApplicationFiled: September 30, 2016Publication date: January 19, 2017Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
-
Publication number: 20160371103Abstract: 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: ApplicationFiled: August 30, 2016Publication date: December 22, 2016Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
-
Patent number: 9495184Abstract: 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: GrantFiled: September 10, 2015Date of Patent: November 15, 2016Assignee: International Business Machines CorporationInventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
-
Patent number: 9495185Abstract: 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: GrantFiled: February 23, 2015Date of Patent: November 15, 2016Assignee: International Business Machines CorporationInventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
-
Patent number: 9471343Abstract: 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: GrantFiled: August 31, 2015Date of Patent: October 18, 2016Assignee: International Business Machines CorporationInventors: Michael H. Dawson, Graeme Johnson, San Hong Li
-
Publication number: 20160285970Abstract: 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: ApplicationFiled: March 27, 2015Publication date: September 29, 2016Inventors: JunJie Cai, San Hong Li, Chuan Sheng Lu
-
Publication number: 20160246621Abstract: 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: ApplicationFiled: September 10, 2015Publication date: August 25, 2016Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
-
Publication number: 20160246623Abstract: 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: ApplicationFiled: February 23, 2015Publication date: August 25, 2016Inventors: Oluwatobi A. Ajila, Graham A. Chapman, Michael H. Dawson, San Hong Li, Hui Shi
-
Patent number: 9384019Abstract: 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: GrantFiled: March 25, 2014Date of Patent: July 5, 2016Assignee: International Business Machines CorporationInventors: Michael H. Dawson, Graeme Johnson, San Hong Li
-
Patent number: 9304742Abstract: 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: GrantFiled: August 29, 2014Date of Patent: April 5, 2016Assignee: International Business Machines CorporationInventors: JunJie Cai, San Hong Li, Jing Lv, Wei Wei Gao, Chen Lei
-
Publication number: 20150370585Abstract: 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: ApplicationFiled: August 31, 2015Publication date: December 24, 2015Inventors: Michael H. Dawson, Graeme Johnson, San Hong Li
-
Publication number: 20150278077Abstract: 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: ApplicationFiled: March 25, 2014Publication date: October 1, 2015Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael H. Dawson, Graeme Johnson, San Hong Li
-
Publication number: 20140372977Abstract: 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: ApplicationFiled: August 29, 2014Publication date: December 18, 2014Inventors: JunJie Cai, San Hong Li, Jing Lv, Wei Wei Gao, Chen Lei
-
Publication number: 20140157231Abstract: 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: ApplicationFiled: November 6, 2013Publication date: June 5, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: JunJie Cai, San Hong Li, Jing Lv, Wei Wei Gao, Chen Lei