IP Library › Granted Patent US 10,303,506
Granted Patent B2
US 10,303,506 · App. 15/460,738 · Granted May 28, 2019

Techniques for hybrid computer thread creation and management

Inventors: Fraser Bohm (Salisbury, GB); Ivan D. Hargreaves (Southampton, GB); Julian Horn (Eastleigh, GB); Ian J. Mitchell (Eastleigh, GB)
Assignee: International Business Machines Corporation
G06F9/46G06F9/3836G06F9/45516G06F9/4812G06F9/4843G06F9/5044
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,303,506
App. No.
15/460,738
Granted
May 28, 2019
Kind
B2
Abstract

A technique for operating a computer system to support an application, a first application server environment, and a second application server environment includes intercepting a work request relating to the application issued to the first application server environment prior to execution of the work request. A thread adapted for execution in the first application server environment is created. A context is attached to the thread that non-disruptively modifies the thread into a hybrid thread that is additionally suitable for execution in the second application server environment. The hybrid thread is returned to the first application server environment.

Claims (33)

1. A computer system configured to support an application, a first application server environment, and a second application server environment, the system comprising:

a memory and a processor configured to:

intercept a work request relating to the application issued to the first application server environment prior to execution of the work request;

responsive to intercepting the work request, create a thread adapted for execution in the first application server environment;

responsive to creating the thread, attach a context to the thread that non-disruptively modify the thread to create a hybrid thread that is additionally suitable for execution in the second application server environment wherein the first application server environment and the second application server environment are incompatible in their program execution models; and

responsive to attaching a context to the thread, return the hybrid thread to the first application server environment.

2. The computer system of claim 1 , wherein the hybrid thread is operable to execute in the first application server environment and in the second application server environment without requiring modification of the first and second application server environments.

3. The computer system of claim 2 , wherein the hybrid thread comprises first data that is only visible to a server in the first application server environment and second data that is only visible to another server in the second application server environment.

4. The computer system of claim 1 , wherein only one of the first application server environment or the second application server environment is a procedural program environment.

5. The computer system of claim 1 , wherein only one of the first application server environment or the second application server environment is an object-oriented program environment.

6. The computer system of claim 1 , wherein the context comprises transactional control data of one of the application server environments.

7. The computer system of claim 1 , wherein the context comprises security control data of one of the application server environments.

8. The computer system of claim 1 , wherein the context comprises monitoring control data of one of the application server environments.

9. The computer system of claim 1 , wherein the context comprises diagnostic tracing control data of one of the application server environments.

10. The computer system of claim 1 , wherein the context comprises data enabling access to an application programming interface of one of the application server environments.

11. A method of operating a computer system to support an application, a first application server environment, and a second application server environment, the method comprising:

intercepting, by a request interceptor component executing on the computer system, a work request relating to the application issued to the first application server environment prior to execution of the work request;

responsive to the request interceptor component, creating, using the computer system, a thread adapted for execution in the first application server environment by an executor component;

responsive to the executor component, attaching to the thread, by a thread dispatcher component executing on the computer system, a context that non-disruptively modify the thread to create a hybrid thread that is additionally suitable for execution in the second application server environment, wherein the first application server environment and the second application server environment are incompatible in their program execution models; and

responsive to the thread dispatcher component, returning the hybrid thread to the first application server environment by a catcher component executing on the computer system.

12. The method of claim 11 , wherein the hybrid thread is operable to execute in the first application server environment and the second application server environment without requiring modification of the first and second application server environments.

13. The method of claim 12 , wherein the hybrid thread comprises first data visible to a server only in the first application server environment and second data visible to another server only in the second application server environment.

14. The method of claim 12 , wherein the context comprises transactional control data of one of the application server environments and security control data of one of the application server environments.

15. The method of claim 12 , wherein the context comprises monitoring control data of one of the application server environments, diagnostic tracing control data of one of the application server environments, and data enabling access to an application programming interface of one of the application server environments.

16. The method of claim 12 , wherein the context comprises transactional control data of one of the application server environments, monitoring control data of one of the application server environments, and diagnostic tracing control data of one of the application server environments.

17. The method of claim 12 , wherein the context comprises transactional control data of one of the application server environments, security control data of one of the application server environments, and diagnostic tracing control data of one of the application server environments.

18. A computer program product for operating a computer system to support an application, a first application server environment, and a second application server environment, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:

intercepting, by a request interceptor component executing on the computer system, a work request relating to the application issued to the first application server environment prior to execution of the work request;

responsive to the request interceptor component, creating, using the computer system, a thread adapted for execution in the first application server environment by an executor component;

responsive to the executor component, attaching to the thread, by a thread dispatcher component executing on the computer system, a context that non-disruptively modify the thread to create a hybrid thread that is additionally suitable for execution in the second application server environment, wherein the first application server environment and the second application server environment are incompatible in their program execution models; and

responsive to the thread dispatcher component, returning the hybrid thread to the first application server environment by a catcher component executing on the computer system.

19. The computer system of claim 1 , wherein the first application server environment comprises a customer information control system (CICS) procedural programming environment, wherein the second application server environment comprises a Java object-oriented programming environment.

20. The computer system of claim 19 , wherein attaching a context to the thread comprises implementing a Java ThreadExecutor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2017
From: BOHM, FRASER; HARGREAVES, IVAN D.; HORN, JULIAN; MITCHELL, IAN J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042027/0964 →
Priority Claims (1)
GB 1212509.2 · Jul 13, 2012 · national
Continuity (3)
Continuation 15050555 · Feb 23, 2016
Continuation 14414666
Related Publication 20170185433A1 · Jun 29, 2017