IP Library Granted Patent US 7,284,238
Granted Patent B2
US 7,284,238 · App. 10/715,769 · Granted Oct 16, 2007

Multithread tracing method and apparatus

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 7,284,238
App. No.
10/715,769
Granted
Oct 16, 2007
Kind
B2
Abstract

Method and apparatus to enable collection of information required for solving a problem caused by simultaneous access to a shared resource in a multithreading environment. In an information processor capable of executing a routine including a tracing process of collecting information related to the processing status in multithreading, a routine being executed is registered for each thread being activated, and the level of the tracing process for the routine being executed is determined based on information in the registration. The tracing process level for the routine being executed can be determined based on whether any routine identical to, or in a predetermined relation with, the routine is already registered.

Claims (26)

1. An information processor suitable for executing a routine including a tracing process for collecting information related to multithreading processing status, the information processor comprising:

routine registration means for registering a routine being executed for each thread being activated; and

level determination means for determining a level of a tracing process for the routine being executed based on registration information registered by the routine registration means,

wherein the level determination means indicates permission, in determining the level of the tracing process for the routine being executed, for unrestricted execution of a tracing process if a routine identical to, or in a predetermined relation with, the routine being executed is registered.

2. The information processor according to claim 1 , wherein the level determination means performs the level determination of the tracing process for the routine being executed based on whether a routine identical to, or in a predetermined relation with, the routine is registered.

3. The information processor according to claim 2 , further comprising a table in which routines having a predetermined mutual relation are specified.

4. The information processor according to claim 3 , further comprising means for accepting input for setting or changing the table.

5. The information processor according to claim 2 , wherein the routines in a predetermined relation are routines that access a shared resource.

6. The information processor according to claim 1 , wherein the level determination means blocks, in determining the level of the tracing process for the routine being executed, execution of a tracing process unless a routine identical to, or in a predetermined relation with, the routine being executed is registered.

7. The information processor according to claim 1 , wherein, responsive to registration of a routine, the level determination means adds, if there is already registered a routine identical to or in a predetermined relation with the routine being registered, simultaneous execution information to registration information of both the routine being registered and the routine already registered.

8. The information processor according to claim 7 , wherein the simultaneous execution information includes trace level information indicating the level of the tracing process.

9. The information processor according to claim 1 , further comprising a server program including the routine and the tracing process; an application execution control part for executing the routine in response to a call of the routine by a client program; and a trace executioner for executing the tracing process in response to a request by the application execution control part; wherein the trace executioner queries, when executing the tracing process, the level determination means to determine the level of the tracing process.

10. The information processor according to claim 1 , comprising a program for using the routine including a tracing process; a shared library in which the routine including the tracing process is stored; and a trace executioner for executing the tracing process in response to a request by the routine used by the program; wherein the trace executioner inquires, when executing the tracing process, the level determination means to determine the level of the tracing process.

11. A tracing process method in an information processor suitable for executing a routine including a tracing process for collecting information related to multithreading processing status; the tracing process method comprising:

a routine registration step for registering a routine being executed for each thread being activated; and

a level determination step for determining a level of the tracing process for the routine being executed based on information included in the registrations

wherein the level determination step indicates permission, in determining the level of a tracing process for the routine being executed, for unrestricted execution of the tracing process if any routine identical to, or in a predetermined relation with, the routine being executed is registered.

12. The tracing process method according to claim 11 , wherein the level determination step determines the level of the tracing process for the routine being executed based on whether a routine identical to, or in a predetermined relation with, the routine is already registered.

13. The tracing process method according to claim 12 , wherein a table, in which routines having a predetermined mutual relation are specified, is referred to in determining the level of the tracing.

14. The tracing process method according to claim 13 , further comprising a step of accepting input for setting or changing the table.

15. The tracing process method according to claim 12 , wherein routines in the predetermined mutual relation are routines that access a shared resource.

16. The tracing process method according to claim 11 , wherein the level determination step blocks, in determining the level of a tracing process for the routine being executed, execution of a tracing process unless a routine identical to, or in a predetermined relation with, the routine being executed is registered.

17. The tracing process method according to claim 11 , wherein, responsive to registration of a routine, the level determination step adds, if there is already registered a routine identical to or in a predetermined relation with the routine being registered, simultaneous execution information to registration information of both the routine already registered and the routine being registered.

18. The tracing process method according to claim 17 , wherein the simultaneous execution information includes trace level information indicating the level of the tracing process.

19. The tracing process method according to claim 11 , further comprising a step of executing a server program including the routine and the tracing process; an application execution control step of executing the routine in response to a call by a client program; and a trace execution step of executing the tracing process occurred at the application execution control step; wherein the tracing execution step refers to the result of the determination at the level determination step in executing the tracing process.

20. The tracing process method according to claim 11 , comprising a step of executing a program using the routine and the tracing process; a step of the information processor executing the routine including the tracing process stored in a shared library; and a tracing execution step of the information processor executing the tracing process at the routine execution step; wherein the tracing execution step refers to the result of the determination at the level determination step in executing the tracing process.

Assignments (3)
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044142/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 026894/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2003
From: INAGAKI, IWAO; FURUSAWA, OSAMU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014715/0230 →