IP Library Granted Patent US 6,985,911
Granted Patent B2
US 6,985,911 · App. 10/211,392 · Granted Jan 10, 2006

Mechanism for invocation of user-defined routines in a multi-threaded database environment

Assignee: International Business Machines Corporation
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 6,985,911
App. No.
10/211,392
Granted
Jan 10, 2006
Kind
B2
Abstract

A database management system provides for the execution of invokable user-defined routines. Applications specify user-defined routines as being threadsafe or not threadsafe and specify the language of user-defined routines. Execution of routines will be carried out dependent on the threadsafe characteristic of the routines and on the language of the routines. Routines are assigned to processes based on their language to have any given process execute routines of the same language. Routines that are specified to be threadsafe are executed in threads in a potentially multi-threaded process. Each routine that is specified to be not threadsafe is executed in a fenced-mode processes in which no other routine is being executed.

Claims (16)

1. A computer implemented method for the execution of a set of invokable user-defined routines in a database management system, the method comprising:

(a) receiving a request from an application to invoke a user-defined routine in the set of user-defined routines,

(b) determining whether the user-defined routine is threadsafe,

(c) in the case that the user-defined routine is determined not to be threadsafe, spawning a fenced-mode process to execute the user-defined routine,

(d) in the case that the user-defined routine is determined to be threadsafe, where an existing process is available to the database system for execution of threadsafe routines, executing the user-defined routine in a thread in the existing process, and where there is no such existing process, spawning a new, multi-threaded, fenced-mode process and executing the user-defined routine in a thread in the said new process.

2. A computer implemented database management system comprising means for the execution of a set of invokable user-defined routines, comprising:

means for receiving a request from an application to invoke a user-defined routine in the set of user-defined routines,

means for determining whether the user-defined routine is threadsafe,

means for spawning a fenced-mode process to execute the user-defined routine, in the case that the user-defined routine is determined not to be threadsafe,

means for executing the user-defined routine in a thread in an existing process, where the user-defined routine is determined to be threadsafe, and the existing process is available to the database system, and

means for spawning a new, multi-threaded, fenced-mode process for threadsafe and means for executing the user-defined routine in a thread in the said new process where there is no such existing process and where the user-defined routine is determined to be threadsafe.

3. A computer readable medium containing program instructions for the execution of a set of invokable user-defined routines in a database management system, the method comprising:

(a) receiving a request from an application to invoke a user-defined routine in the set of user-defined routines,

(b) determining whether the user-defined routine is threadsafe,

(c) in the case that the user-defined routine is determined not to be threadsafe, spawning a fenced-mode process to execute the user-defined routine,

(d) in the case that the user-defined routine is determined to be threadsafe, where an existing process is available to the database system for execution of threadsafe routines, executing the user-defined routine in a thread in the existing process, and where there is no such existing process, spawning a new, multi-threaded, fenced-mode process and executing the user-defined routine in a thread in the said new process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2002
From: DOOLE, DOUGLAS J.; MCKEOUGH, SEAN W.; VINCENT, TIMOTHY J.; WILSON, GEORGE M.
To: IBM CORPORATION
Reel/Frame 013171/0701 →
Priority Claims (1)
CA 2365687 · Dec 19, 2001 · national
Continuity (1)
Related Publication 20030115178A1 · Jun 19, 2003