Patent US6397346B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6397346B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for controlling server activation in a multi-threaded environment

Assignee: Sun Microsystems Inc
•
Filing: 1999-03-12
•
Granted: 2002-05-28
•
Expires: 2019-03-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for controlling server activation. In the prior art, there exists a race condition between the shutting down of an old server and the starting up of a new server. Further, rapidly restarting servers, such as daemonic servers, are prone to thrashing behavior. However, an embodiment of the invention avoids this undesired behavior by providing an additional “shutting down” state in the server finite state machine running in the ORB daemon. This additional state allows an old server to complete the necessary shut down procedures prior to the startup of a new server. Also, a process is provided for handling servers that are too slow to shut down or start up. A second additional state is provided in the server finite state machine to handle self started servers.

Inventors

  • 👤 Ken M. Cavanaugh
  • 👤 Christian J. Callsen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 19:38
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/465

Claims Analysis

Total Claims: 55
Claim 1
Independent Claim 103 words
A method for controlling server activation comprising: in an object request broker (ORB) daemon, associating a server state in a server state machine with a first object server; said ORB daemon changing said server state from a running state to a shutting down state when a shutdown indication is received from said first object server; said ORB daemon preventing startup of a second object server while said first object server is in said shutting down state; and said ORB daemon changing said state from said shutting down state to a start state when said first object server indicates completion of a shutdown process.
Claim 2
Independent Claim 103 words
A method for controlling server activation comprising: in an object request broker (ORB) daemon, associating a server state in a server state machine with a first object server; said ORB daemon changing said server state from a running state to a shutting down state when a shutdown indication is received from said first object server; said ORB daemon preventing startup of a second object server while said first object server is in said shutting down state; and said ORB daemon changing said state from said shutting down state to a start state when said first object server indicates completion of a shutdown process.
Claim 3
Dependent Claim 15 words
The method of claim 1 further comprising blocking server invocations during said shutting down state.
Claim 4
Dependent Claim 27 words
The method of claim 1 further comprising changing said server state from said start state to a self started running state when a self started server registers.
Claim 5
Dependent Claim 27 words
The method of claim 3 further comprising changing said server state from said self started running state to said start state when said self started server deregisters.
Claim 6
Dependent Claim 23 words
The method of claim 1 further comprising starting a timer when said server state changes from said start state to a starting state.
Claim 7
Dependent Claim 22 words
The method of claim 5 further comprising changing said state from said starting state to said start state if said timer expires.
Claim 8
Dependent Claim 24 words
The method of claim 6 , wherein when said timer expires, said method further comprises: terminating said first object server; and logging an error.
Claim 9
Dependent Claim 16 words
The method of claim 6 further comprising canceling said timer when said first object server registers.
Claim 10
Dependent Claim 24 words
The method of claim 1 further comprising starting a timer when said server state changes from said running state to said shutting down state.
Claim 11
Dependent Claim 24 words
The method of claim 9 further comprising changing said server state from said shutting down state to said start state if said timer expires.
Claim 12
Dependent Claim 24 words
The method of claim 10 , wherein when said timer expires, said method further comprises: terminating said first object server; and logging an error.
Claim 13
Dependent Claim 21 words
The method of claim 10 further comprising canceling said timer when said first object server indicates completion of said shutdown process.
Claim 14
Dependent Claim 30 words
The method of claim 1 further comprising: upon receipt of a locate request, querying a holddown state machine; and after querying said holddown state machine, querying said server state machine.
Claim 15
Dependent Claim 32 words
The method of claim 1 further comprising returning server address information in response to a locate request when said server state is in said running state and said self started running state.
Claim 16
Independent Claim 41 words
A method for controlling server activation comprising: associating a server state in a server state machine with a first server; and changing said server state from a start state to a self started running state when a self started server registers.
Claim 17
Independent Claim 41 words
A method for controlling server activation comprising: associating a server state in a server state machine with a first server; and changing said server state from a start state to a self started running state when a self started server registers.
Claim 18
Dependent Claim 70 words
The method of claim 15 , further comprising: changing said server state from a running state to a shutting down state when a shutdown indication is received from said first server; preventing startup of a second server while said first server is in said shutting down state; and changing said state from said shutting down state to said start state when said first server indicates completion of a shutdown process.
Claim 19
Dependent Claim 27 words
The method of claim 15 further comprising changing said server state from said self started running state to said start state when said self started server deregisters.
Claim 20
Dependent Claim 28 words
The method of claim 15 further comprising returning server address information in response to a locate request when said server state is in said self started running state.
Claim 21
Independent Claim 42 words
A method for controlling server activation comprising: associating a server state in a server state machine with a first server; upon receipt of a locate request, querying a holddown state machine; after querying said holddown state machine, querying said server state machine.
Claim 22
Independent Claim 42 words
A method for controlling server activation comprising: associating a server state in a server state machine with a first server; upon receipt of a locate request, querying a holddown state machine; after querying said holddown state machine, querying said server state machine.
Claim 23
Dependent Claim 78 words
Apparatus for controlling a server comprising: a central processing unit (CPU); a control process being executed by said CPU, said control process comprising a server state machine having a start state, a starting state, a running state and a shutting down state; said server state machine comprising a server state variable associated with a server, the contents of said server state variable representing a current server state, said state machine further comprising software code executed by said CPU.
Claim 24
Dependent Claim 78 words
Apparatus for controlling a server comprising: a central processing unit (CPU); a control process being executed by said CPU, said control process comprising a server state machine having a start state, a starting state, a running state and a shutting down state; said server state machine comprising a server state variable associated with a server, the contents of said server state variable representing a current server state, said state machine further comprising software code executed by said CPU.
Claim 25
Dependent Claim 29 words
The apparatus of claim 20 , wherein said software code is configured to block invocations when said current server state is said starting state or said shutting down state.
Claim 26
Dependent Claim 33 words
The apparatus of claim 20 , wherein said software code is configured to fork off said server in response to a method invocation received while said current server state is said start state.
Claim 27
Dependent Claim 22 words
The apparatus of claim 20 , wherein said software code is configured to initiate a timer in response to a method invocation.
Claim 28
Dependent Claim 30 words
The apparatus of claim 20 , wherein said software code is configured to return location information in response to a locate request when said current state is said running state.
Claim 29
Dependent Claim 31 words
The apparatus of claim 20 , wherein said software code is configured to change the contents of said server state variable to said starting state in response to a method invocation.
Claim 30
Dependent Claim 33 words
The apparatus of claim 20 , wherein said control process further comprises a holddown state machine, and wherein said software code executed by said CPU is configured to query said holddown state machine.
Claim 31
Dependent Claim 34 words
The apparatus of claim 20 , wherein said state machine further comprises a self started running state, and wherein said software code is configured to return location information during said self started running state.
Claim 32
Dependent Claim 36 words
The apparatus of claim 20 , wherein a response of said software code to a server termination notification comprises canceling a timer when said current server state is said starting state or said shutting down state.
Claim 33
Dependent Claim 37 words
The apparatus of claim 20 , wherein a response of said software code to a server termination notification comprises unblocking waiting method invocations when said current server state is said starting state or said shutting down state.
Claim 34
Dependent Claim 35 words
The apparatus of claim 20 , wherein a response of said software code to a server termination notification comprises logging an error when said current server state is said starting state or said running state.
Claim 35
Dependent Claim 31 words
The apparatus of claim 20 , wherein a response of said software code to a server termination notification comprises changing the contents of said server state variable to said start state.
Claim 36
Dependent Claim 20 words
The apparatus of claim 20 , wherein a response of said software code to a timeout comprises terminating said server.
Claim 37
Dependent Claim 21 words
The apparatus of claim 20 , wherein a response of said software code to a timeout comprises unblocking waiting method invocations.
Claim 38
Dependent Claim 20 words
The apparatus of claim 20 , wherein a response of said software code to a timeout comprises logging an error.
Claim 39
Dependent Claim 29 words
The apparatus of claim 20 , wherein a response of said software code to a timeout comprises changing the contents of said server state variable to said start state.
Claim 40
Dependent Claim 30 words
The apparatus of claim 20 , wherein a response of said software code to a server registration comprises canceling a timer when said current server state is said starting state.
Claim 41
Dependent Claim 31 words
The apparatus of claim 20 , wherein a response of said software code to a server registration comprises unblocking waiting method invocations when said current server state is said starting state.
Claim 42
Dependent Claim 39 words
The apparatus of claim 20 , wherein a response of said software code to a server registration comprises changing the contents of said server state variable to said running state when said current server state is said starting state.
Claim 43
Dependent Claim 24 words
The apparatus of claim 20 , wherein a response of said software code to a shutdown indication from said server comprises initiating a timer.
Claim 44
Dependent Claim 36 words
The apparatus of claim 20 , wherein a response of said software code to a shutdown indication from said server comprises cleaning up data structures when said current server state is a self started running state.
Claim 45
Dependent Claim 43 words
The apparatus of claim 20 , wherein a response of said software code to a shutdown indication from said server comprises changing the contents of said server state variable to said shutting down state when said current server state is said running state.
Claim 46
Dependent Claim 44 words
The apparatus of claim 20 , wherein a response of said software code to a shutdown indication from said server comprises changing the contents of said server state variable to said start state when said current server state is a self started running state.
Claim 47
Dependent Claim 80 words
A computer program product comprising a computer usable medium having computer readable program code embodied therein for controlling a server when executing on a computer, said computer program product comprising: computer readable program code configured to cause a computer to associate a server state with a server; computer readable program code for causing a computer to change said server state from said start state to a self started running state in response to a registration from a self started server.
Claim 48
Dependent Claim 80 words
A computer program product comprising a computer usable medium having computer readable program code embodied therein for controlling a server when executing on a computer, said computer program product comprising: computer readable program code configured to cause a computer to associate a server state with a server; computer readable program code for causing a computer to change said server state from said start state to a self started running state in response to a registration from a self started server.
Claim 49
Dependent Claim 39 words
The computer program product of claim 43 , further comprising computer readable program code for causing a computer to return server address information in response to a locate request when said server state is said self started running state.
Claim 50
Dependent Claim 113 words
A computer program product comprising a computer usable medium having computer readable program code embodied therein for controlling a server when executing on a computer, said computer program product comprising: computer readable program code configured to cause a computer to associate a server state with a server; computer readable program code configured to cause a computer to initiate a timer process in response to a locate request when said server state is a start state and in response to a shutdown indication from said server; and computer readable program code configured to cause a computer to terminate said server and change said server state to said start state when said timer process expires.
Claim 51
Dependent Claim 113 words
A computer program product comprising a computer usable medium having computer readable program code embodied therein for controlling a server when executing on a computer, said computer program product comprising: computer readable program code configured to cause a computer to associate a server state with a server; computer readable program code configured to cause a computer to initiate a timer process in response to a locate request when said server state is a start state and in response to a shutdown indication from said server; and computer readable program code configured to cause a computer to terminate said server and change said server state to said start state when said timer process expires.
Claim 52
Dependent Claim 28 words
The computer program code product of claim 45 , further comprising computer readable program code for causing a computer to log an error when said timer process expires.
Claim 53
Dependent Claim 29 words
The computer program code product of claim 45 , further comprising computer readable program code for causing a computer to unblock waiting method invocations when said timer process expires.
Claim 54
Dependent Claim 81 words
A computer program product comprising a computer usable medium having computer readable program code embodied therein for controlling a server when executing on a computer, said computer program product comprising: computer readable program code configured to cause a computer to associate a server state with a server; computer readable program code for causing a computer to associate a holddown state with said server; and computer readable program code for determining a response to a locate request based on said holddown state.
Claim 55
Dependent Claim 81 words
A computer program product comprising a computer usable medium having computer readable program code embodied therein for controlling a server when executing on a computer, said computer program product comprising: computer readable program code configured to cause a computer to associate a server state with a server; computer readable program code for causing a computer to associate a holddown state with said server; and computer readable program code for determining a response to a locate request based on said holddown state.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-05-27 2005-11-26 2006-05-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-05-27 2009-11-26 2010-05-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-05-27 2013-11-26 2014-05-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag