Patent ID: 6029206
Filing Date: 2000-02-22
Classification: G06F

Abstract:
A computer apparatus comprising:a processing unit;computer system memory coupled to the processing unit;at least one dynamically relocatable object stored in the computer system memory, each object having data and at least one method, each method being stored in the computer system memory for execution on the processing unit, each method being one of a protected type and an unprotected type; anda method call manager, the method call manager:(1) detecting a current method call by a client object;(2) in response to the current method call, determining whether the current method is protected or unprotected;(3) if the current method is unprotected, granting access to the current method by the client object without performing authorization checking and locking;(4) if the current method is protected, automatically performing authorization and checking comprising the steps of:(4A) if the client object is already accessing via a previous method call the object containing the called method:(4A1) determining an authorization level and lock level for the previous method call;(4A2) comparing the authorization level of the previous method call to a required authorization level for the current method call;(4A2a) if the required authorization level of the current method call is greater than the authorization level of the previous method call, going to step (4B1);(4A2b) if the required authorization level of the current method call is less than or equal to the authorization level of the previous method call;(4A2b1) comparing the lock level already obtained in the previous method call to a required lock level for the current method call;(4A2b2) if the required lock level of the current method call is greater than the lock level of the previous method call:(4A2b2A) attempting to obtain the required lock level of the current method call;(4A2b2B) if the attempt in (4A2b2A) is successful, granting access to the current method by the client object;(4A2b2C) if the attempt in (4A2b2A) is unsuccessful, denying access to the current method by the client object;(4A2b3) if the required lock level of the current method call is less than or equal to the lock level of the previous method call, granting access to the current method by the client object;(4B) if the client object is not already accessing via a previous method call the object containing the called method:(4B1) performing a system call to determine whether the client object is authorized to call the current method;(4B2) if the client object is authorized to call the current method, going to step (4A2b1);(4B3) if the client object is not authorized to call the current method, denying access to the current method by the client object.