IP Library Granted Patent US 7,774,779
Granted Patent B2
US 7,774,779 · App. 11/283,544 · Granted Aug 10, 2010

Generating a timeout in a computer software application

Assignee: AT&T Intellectual Property I, L.P.
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,774,779
App. No.
11/283,544
Granted
Aug 10, 2010
Kind
B2
Abstract

A timeout helper main thread is created for an outbound call associated with a container. The main thread creates a timeout helper worker thread. A local timer is started to detect a first timeout condition based on a first timeout interval. The worker thread initiates a client Object Request Broker (ORB) to detect a second timeout condition based on a second timeout interval. If the outbound call completes within the first timeout interval, a result object is returned from the main thread. Otherwise, the main thread throws a timeout exception. If the outbound call has not completed within the second timeout interval, the client ORB throws an exception to the worker thread and one or more resources associated with the outbound call are reclaimed. As an alternative to the client ORB, an HTTP client can detect the second timeout condition.

Claims (58)

1. A method comprising:

invoking a timeout helper main thread from a session bean for an outbound call associated with a container;

creating a timeout helper worker thread by the timeout helper main thread;

starting a local timer with the timeout helper worker thread to detect a first timeout condition based on a first timeout interval;

initiating, by the timeout helper worker thread, a client object request broker (ORB) to detect a second timeout condition based on a second timeout interval, wherein a fixed value N>0 is added to the first timeout interval to determine the second timeout interval;

returning a result object from the timeout helper worker thread to the timeout helper main thread when the timeout helper worker thread receives the result object for the outbound call;

throwing a timeout exception from the timeout helper main thread to the session bean when the outbound call has not completed within the first timeout interval;

throwing a second exception by the client ORB to the timeout helper worker thread when the outbound call has not completed within the second timeout interval, wherein the second exception is used to stop communication on the client ORB; and

reclaiming one or more resources associated with the outbound call in response to the second exception with a virtual machine of a computer system.

2. The method of claim 1 , further comprising:

passing the first timeout interval from the timeout helper main thread to the timeout helper worker thread.

3. The method of claim 1 , further comprising:

returning the result object from the timeout helper main thread to the session bean when the timeout helper main thread receives the result object.

4. The method of claim 1 , wherein the one or more resources comprises the timeout helper worker thread.

5. The method of claim 1 , wherein the first timeout interval is received from a client application.

6. The method of claim 1 , wherein the one or more resources comprises the client ORB.

7. The method of claim 1 , wherein the second exception is a common object request broker architecture exception.

8. A method comprising:

invoking a timeout helper main thread from a session bean for an outbound call associated with a container;

creating a timeout helper worker thread by the timeout helper main thread;

starting a local timer to detect a first timeout condition based on a first timeout interval;

returning a result object from the timeout helper worker thread to the timeout helper main thread when the timeout helper worker thread receives the result object from a hypertext transfer protocol (HTTP) client;

throwing a timeout exception from the timeout helper main thread to the session bean when the outbound call has not completed within the first timeout interval;

using the HTTP client to detect a second timeout condition based on a second timeout interval, wherein a fixed value N>0 is added to the first timeout interval to determine the second timeout interval;

receiving, by the timeout helper worker thread, a timeout from the HTTP client when the outbound call has not completed within the second timeout interval;

stopping communication with the HTTP client when the timeout from the HTTP client is received; and

reclaiming one or more resources associated with the outbound call in response to the timeout from the HTTP client with a virtual machine of a computer system.

9. The method of claim 8 , further comprising:

passing the first timeout interval from the timeout helper main thread to the timeout helper worker thread.

10. The method of claim 8 , further comprising:

returning the result object from the timeout helper main thread to the session bean when the timeout helper main thread receives the result object.

11. The method of claim 8 , wherein the one or more resources comprises the HTTP client.

12. The method of claim 8 , wherein the first timeout interval is received from a client application.

13. The method of claim 8 , wherein the one or more resources comprises the timeout helper main thread.

14. A computer-readable medium having computer-readable program code to cause a computer system to:

invoke a timeout helper main thread from a session bean for an outbound call associated with a container;

create a timeout helper worker thread by the timeout helper main thread;

start a local timer with the timeout helper worker thread to detect a first timeout condition based on a first timeout interval;

initiate, by the timeout helper worker thread, a client object request broker (ORB) to detect a second timeout condition based on a second timeout interval, wherein a fixed value N>0 is added to the first timeout interval to determine the second timeout interval;

return a result object from the timeout helper worker thread to the timeout helper main thread when the timeout helper worker thread receives the result object for the outbound call;

throw a timeout exception from the timeout helper main thread to the session bean when the outbound call has not completed within the first timeout interval;

throw a second exception by the client ORB to the timeout helper worker thread when the outbound call has not completed within the second timeout interval, wherein the second exception is used to stop communication on the client ORB; and

reclaim one or more resources associated with the outbound call in response to the second exception with a virtual machine of a computer system.

15. The computer-readable medium of claim 14 , wherein the first timeout interval is received from a client application.

16. The computer-readable medium of claim 14 , wherein the one or more resources comprises the timeout helper main thread.

17. The computer-readable medium of claim 14 , wherein the second exception is a common object request broker architecture exception.

18. A computer-readable medium having computer-readable program code to cause a computer system to:

invoke a timeout helper main thread from a session bean for an outbound call associated with a container;

create a timeout helper worker thread by the timeout helper main thread;

start a local timer to detect a first timeout condition based on a first timeout interval;

return a result object from the timeout helper worker thread to the timeout helper main thread when the timeout helper worker thread receives the result object from a hypertext transfer protocol (HTTP) client;

throw a timeout exception from the timeout helper main thread to the session bean when the outbound call has not completed within the first timeout interval;

use the HTTP client to detect a second timeout condition based on a second timeout interval, wherein a fixed value N>0 is added to the first timeout interval to determine the second timeout interval;

receive, by the timeout helper worker thread, a timeout from the HTTP client when the outbound call has not completed within the second timeout interval;

stop communication with the HTTP client when the timeout from the HTTP client is received; and

reclaim one or more resources associated with the outbound call in response to the timeout from the HTTP client with a virtual machine of a computer system.

19. The computer-readable medium of claim 18 , wherein the first timeout interval is received from a client application.

20. The computer-readable medium of claim 18 , wherein the one or more resources comprises the timeout helper worker thread.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2014
From: AT&T INTELLECTUAL PROPERTY I, L.P.
To: MARLOW TECHNOLOGIES, LLC
Reel/Frame 034539/0571 →
CHANGE OF NAME Recorded Jul 23, 2014
From: SBC KNOWLEDGE VENTURES, L.P.
To: AT&T KNOWLEDGE VENTURES, L.P.
Reel/Frame 033374/0293 →
CHANGE OF NAME Recorded Jul 23, 2014
From: AT&T KNOWLEDGE VENTURES, L.P.
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 033390/0645 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2006
From: SEELIG, MICHAEL J.; MUZAFFAR, BILAL; SCHMIDT, JOSEPH G.
To: SBC KNOWLEDGE VENTURES, L.P.
Reel/Frame 017528/0304 →
Continuity (1)
Related Publication 20070118843A1 · May 24, 2007