摘要:
A computer-implemented method and apparatus in a computer system for inter-process communication. A first procedure allocates a first buffer in a first memory space shared by the first procedure (e.g. a client process) and a second procedure (e.g. a kernel or server process). The first procedure then marshals arguments for communicating with the second procedure in the first buffer. The first procedure indicates that a message for the second procedure is being passed and passes a first reference to the first buffer in the first memory space to the second procedure. The second procedure detects the indication of the message by the first procedure. The second procedure then references the first buffer and copies the arguments contained in the first buffer into a temporary buffer. The second procedure can then deallocate the first buffer. In implemented embodiments of the present invention, inter-process communication is more efficient because the first buffer is deallocated upon receipt of the communication by the second process.
摘要:
Doors are implemented in an existing operating system by using a novel adaptation of existing data structures and procedures which represent and control data files of the operating system. A door is represented by a file descriptor and is managed by existing mechanisms of an operating system, such as the Unix operating system, which are also used to manage files. A door is represented by a door node, which is a novel extension of the conventional vnode structure which in turn is used in conventional operating systems to represent the state of a computer resource, e.g., a data file. A door node is adapted such that most conventional file access and control procedures, e.g., procedures open( ) and close( ), can be used to access and control door with minimal adaptation. A door node is formed by appending fields which are specific to a door node's representation of the state of a door to fields of the door node which are analogous to the fields of a vnode, which represents the state of a resource and which has a conventional structure. Thus, the fields of a door node which precede the fields specific to the representation of the state of a door are of the size, location, and format of analogous fields in a conventional vnode. A client process obtains a file descriptor which identifies a door by supplying the name of the door to the operating system.
摘要:
A computer-implemented method and apparatus in a computer system for inter-process communication. A first procedure allocates a first buffer in a first memory space shared by the first procedure (e.g. a client process) and a second procedure (e.g. a kernel or server process). The first procedure then marshals arguments for communicating with the second procedure in the first buffer. The first procedure indicates that a message for the second procedure is being passed and passes a first reference to the first buffer in the first memory space to the second procedure. The second procedure detects the indication of the message by the first procedure. The second procedure then references the first buffer and copies the arguments contained in the first buffer into a temporary buffer. The second procedure can then deallocate the first buffer. In implemented embodiments of the present invention, inter-process communication is more efficient because the first buffer is deallocated upon receipt of the communication by the second process.
摘要:
A method of loading objects from primary memory includes the step of creating hash values for listed objects to create a hash index specifying a set of hash values. The hash index is loaded into primary memory to form a primary memory hashed index object directory. A calculated hash value is derived for an invoked object. The calculated hash value is matched with a hash value in the primary memory hashed index object directory. In response to this matching operation, an object corresponding to the calculated hash value is loaded into primary memory.
摘要:
A distributed computer network comprising of unconfigured network home client computers, and at least one autoconfiguration server. The network may also include sales servers and local service provider servers. The home network client computer determines on power on time if it possesses the requisite configuration information. If the requisite configuration information is lacking, the home network client computer sends a configuration request along with client computer identifying information to the autoconfiguration server. On receiving the configuration request from a home network client computer, the autoconfiguration server uses the client identifying information to determine the local service provider information and client computer specific data. The autoconfiguration server determines the local service provider information by looking up a directory of local service providers, the directory being stored on the autoconfiguration server or on some local service provider server. The autoconfiguration server determines the client computer specific data by accessing a database containing client computer information for each home network client computer, the database being stored either on the autoconfiguration server itself or on some sales server. The client computer specific data is stored in the database at time of sale/purchase/shipment of the home network computer to the user. The local service provider information and the client computer specific data is then downloaded to the requesting home network client computer. The home network client computer uses the configuration information downloaded by the autoconfiguration server to configure itself and establish connection to the local service provider.
摘要:
An automated configuration system and method configures home network client computers, including determining local service provider information, without any user assistance. The distributed computer network includes network home client computers and at least one autoconfiguration server. When the home network client computer is powered on it determines whether it possesses the requisite configuration information. If not, the home network client computer sends a configuration request along with client computer identifying information to the autoconfiguration server. The autoconfiguration server uses the client identifying information to determine a local service provider information and client computer specific data. The autoconfiguration server determines the local service provider information by looking up a directory of local service providers, the directory being stored on the autoconfiguration server or on another server. The autoconfiguration server determines the client computer specific data by accessing a database containing client computer information for each home network client computer, the database being stored either on the autoconfiguration server itself or on another server. The client computer specific data is stored in the database at the time of sale or shipment of the home network computer to the user. Local service provider information and the client computer specific data are downloaded to the requesting home network client computer. The home network client computer uses the configuration information downloaded by the autoconfiguration server to configure itself and establish a connection to the local service provider.
摘要:
A method and apparatus for client programs adapted for use in an object oriented, distributed computing system, to have the ability to communicate and use references to objects in a way which improves the benefits of software caching are disclosed. A mechanism is described whereby a network object handle (an augmented object handle) can be used to reference both a server and a local cache manager. When the augmented object handle is transmitted it is automatically updated to use a local cache manager in its target environment (i.e. on the same machine on which the receiving client program resides) if possible.
摘要:
According to one embodiment of the invention, the JAVA compiler is modified so that when the JAVA compiler determines, while compiling source code, that an invocation of a first method, which expects to receive a reference to an object, passes, to the first method, a reference to a second method instead of a reference to an object, the JAVA compiler does not issue a compile-time error as the JAVA compiler normally would. Instead, the JAVA compiler generates compiled code (e.g., byte code) that the JAVA compiler would have generated if the source code had (a) defined a “bridge” class that implemented a method that invoked the second method and (b) contained, in the invocation of the first method, a reference to an object that was an instance of the “bridge” class in the place of the reference to the second method.
摘要:
One embodiment of the present invention provides a system for associating metadata attributes with program elements. During operation, the system receives source code containing syntactic elements that specify metadata attributes for program elements, wherein the metadata attributes do not affect program execution. The system then parses the source code to obtain the metadata attributes. Next, the system associates the metadata attributes with corresponding program elements and determines values associated with the metadata attributes. Finally, the system incorporates the metadata attributes, including identifiers for the associated values and the associated program elements, into object code for the program, thereby allowing the metadata attributes to be accessed from the object code. Another embodiment of the present invention provides a system for accessing metadata attributes for program elements from object code through an application programming interface (API).
摘要:
Data structures, methods and devices for reducing computing overhead by utilizing different invocation paths for same process and different process invocations in a distributed client/server based computing system are disclosed. In one aspect of the invention, calls to a servant that do not share the same process as the requesting client are routed through a transport layer, and calls to servants that do share the same process as the requesting client are passed directly to the servant, thereby bypassing the transport layer. In another aspect of the invention, distinct remote and local method tables are provided to facilitate intelligent routing of requests. In still another aspect of the invention, the appropriate method table for an object reference is intelligently selected based upon the location of the identified object.