Patent ID: 6151639
Filing Date: 2000-11-21
Classification: G06F

Abstract:
A client/server computer apparatus, comprising:a communications link;one or more client computers coupled to said communications link;one or more server computers coupled to said communications link, each of said one or more server computers comprising:a plurality of user-level objects, each user-level object having a respective user-level object reference for invoking said object, and a distinct respective server-side kernel-level protected entity used to invoke said object, each server-side kernel-level protected entity including a data structure that is distinct and separate from the respective object which it is used to invoke and that is also distinct and separate from the user-level object reference for the respective object;an object resource broker (ORB), resident on both said server computers and said client computers;wherein each client computer comprises:a plurality of client-side kernel-level protected entities, each client-side kernel-level protected entity used to invoke an object resident in one of said server computers;said ORB includes:kernel-level transport procedures for securely transporting remote object invocations and replies between said server and client computers;an object exportation mechanism having a capability to export the user-level object reference to a specified object of said plurality of user-level objects to select ones of said client computers;a remote object reference mechanism having a capability to generate a client-side kernel-level protected entity for each user-level object reference that is exported to any one of said client computers;kernel-level tables for storing said server-side and client-side kernel-level protected entities; andkernel-level procedures for mapping user-level remote object invocations using the user-level object references into kernel-level remote object invocations using the client-side kernel-level protected entities and for mapping received kernel-level remote object invocations directed to user-level objects into user-level object invocations using the user-level object references to the user-level objects to which the invocations are directed;the kernel-level procedures including instructions for blocking any remote object invocation by any one of said client computers to an object for which the one client computer does not have the corresponding client-side protected entity.