Patents Examined by Alvin E. Oberley
  • Patent number: 5991823
    Abstract: Data structures and various methods for invoking and creating objects are used in a distributed object system in order to implement subcontracts. A subcontract is a selected grouping of basic features or object mechanisms that a system provides for use in managing objects and has associated functions. A subcontract registry is used for creating object references for server objects. The subcontract registry has any number of subcontract objects within it, and each subcontract object may include: a subcontract identifier that identifies the subcontract object, a quality of service list that contains feature name-value pairs, and a create function unique to the subcontract object. An implementation registry is used for registering any number of implementation definitions.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: November 23, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Ken M. Cavanaugh, III, Alan Snyder, Swee Boon Lim, Christian J. Callsen
  • Patent number: 5991821
    Abstract: Actions responsive to changes in the state of independent process groups whose process members are spread across a group of nodes in a distributed computing environment. The process groups are arranged in a hierarchy having source process groups and target process groups immediately above and dependent upon the source process groups. A change in the state or membership of a process group will result in a group services function of the nodes in the group injecting the change into the source group members of the affected group. When the action is successfully completed, the change is reflected up the hierarchy to the target group member or members. Upon successful action by the target group, the target group becomes the new source group which in turn may have target groups, and the changes are again reflected up the hierarchy to the new target groups.
    Type: Grant
    Filed: April 30, 1996
    Date of Patent: November 23, 1999
    Assignee: International Business Machines Corporation
    Inventors: Peter Richard Badovinatz, Larry Bert Brenner, Orvalle Theodore Kirby
  • Patent number: 5987512
    Abstract: The invention is a method and apparatus for dynamically loading a gateway server into a client machine if one is needed for the client machine to communicate directly with a program in another domain. In brief summary, when a new machine receives an object reference, this new machine must determine whether it can use the object reference as is for further communications or whether it must try to modify the object reference before using it. The new machine makes this determination by seeing if the front handle of the object reference points to a gateway object that is located on the new machine. If so, then the new machine can use the object reference as is. If the front handle pointer indicates that the designated gateway object is on another machine, then the task is to find or create a new gateway object on the new machine for use in further communications and to modify the object reference accordingly.
    Type: Grant
    Filed: June 12, 1996
    Date of Patent: November 16, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter W. Madany, Eduardo Pelegri-Llopart
  • Patent number: 5983283
    Abstract: A system, method and computer program product comprising a storage manager independent configuration interface translator which requests an opaque listing of the available storage devices from an associated metadisk driver and determines a subset of the listing meeting a preselected search criteria. The resultant opaque listing is then converted to a non-opaque format listing for presentation to a user of the computer system in a desired format such as through a command line or graphical user interface. A notification mechanism is also provided that presents information about storage devices which have in some way changed while in use.
    Type: Grant
    Filed: April 15, 1996
    Date of Patent: November 9, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Steven T. Senator, Dale R. Passmore, Robert S. Gittins
  • Patent number: 5978856
    Abstract: A system and method for reducing latency in systems using layered device driver architectures. The preferred embodiment of the invention comprises a disk subsystem including a layered device driver architecture which performs various RAID operations. A plurality of the driver layers are defined to use a common request structure. The system and method of the present invention determines if a request maps unmodified to a lower driver layer and "quick launches" these requests to the lower driver layer according to the present invention. When a host request is received, the first layer device driver executing on the disk controller determines if the enqueued request is atomic, i.e., if the request maps unmodified to the next lower level driver layer. If so, then the request is dequeued from the first level queue and enqueued on the next lower level layer queue, avoiding steps of allocating and populating a new request structure for the lower level driver.
    Type: Grant
    Filed: January 26, 1996
    Date of Patent: November 2, 1999
    Assignee: Dell USA, L.P.
    Inventor: Craig Jones
  • Patent number: 5974438
    Abstract: A computer system comprising at least one processor and associated cache memory, and a plurality of registers to keep track of the number of cache memory lines associated with each process thread running in the computer system. Each process thread is assigned to one of the plurality of registers of each level of cache that is being monitored. The number of cache memory lines associated with each process thread in a particular level of the cache is stored as a number value in the assigned register and will increment as more cache memory lines are used for the process thread and will decrement as less cache memory lines are used. The number value in the register is defined as the "process thread temperature." Larger number values indicate warmer process thread temperature and smaller number values indicate cooler process thread temperature. Process thread temperatures are relative and indicate the cache memory line usage by the process threads running in the computer system at a particular level of cache.
    Type: Grant
    Filed: December 31, 1996
    Date of Patent: October 26, 1999
    Assignee: Compaq Computer Corporation
    Inventor: E. David Neufeld
  • Patent number: 5974469
    Abstract: A specialized communication controller class is used to manage communications in an object oriented programming system. Classes in the system are not designed to communicate directly with each other, and communication between classes is routed by this controller class. As a result, there is no need for each class to keep track of any hierarchical relationship of classes in an application in order to be able to communicate with other classes. Members of the object oriented programming system contain parameter files and can send commands to the controller class. The controller class executes the commands without return result to the senders. Similarly, the controller class can send commands to other class members, and these commands are executed without returning result to the controller class.
    Type: Grant
    Filed: July 12, 1996
    Date of Patent: October 26, 1999
    Assignee: Sofmap Future Design, Inc.
    Inventors: Wataru Shoji, Daisuke Tabuchi, Ichiro Nakajima
  • Patent number: 5964843
    Abstract: A system that supports enhancement of device drivers written in distinct code sets, such as a 32-bit enhancement to a 16-bit existing driver is disclosed. The system defines a mechanism for the two device driver components to share information about their functioning, and for a device interface component to use that information so as to route calls to the device drivers based on their functional capabilities. The system can be implemented in a display device interface to support interaction between applications and video hardware components, which include enhanced device drivers.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: October 12, 1999
    Assignee: Microsoft Corporation
    Inventors: Craig G. Eisler, G. Eric Engstrom
  • Patent number: 5961582
    Abstract: A method and system for providing access to resources at a host computer to a remote user, without requiring the remote user to have detailed knowledge of the host computer. The system includes a host virtual operating system, resident on a host computer and having a set of resources including process control, a file system, interprocess communications, and a set of device interfaces, overlaid on and distinguished from the host computer's actual resources. The virtual host is capable of executing programs in a standardized programming language, to provide the ability to run programs that are host-independent. The virtual host is capable of limiting access to the host computer's actual resources. The system also includes a front-end invoked by the remote user. A server program at the host computer receives requests from a client program run by the remote user, and provides the virtual host operating system at the host computer.
    Type: Grant
    Filed: October 25, 1994
    Date of Patent: October 5, 1999
    Assignee: Acorn Technologies, Inc.
    Inventor: R. Stockton Gaines
  • Patent number: 5961609
    Abstract: Information is extracted in text form from a graphically oriented application program by commands originating in a test program module. The application module is configured compatibly with the test program module so that it responds with the requested information through the use of a hidden field or window embedded in the application module. The hidden field facilitates communication between the test program and application modules so that the exchanges are transparent to the application user.
    Type: Grant
    Filed: March 29, 1996
    Date of Patent: October 5, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Kevin W. Kayes, Daniel H. Schaffer
  • Patent number: 5961610
    Abstract: A programmable, medical imaging system which incorporates algorithms for enhancing the usability of the system for clinicians is described. With respect to programmability, and in one aspect, the present invention relates to a programmable system which includes a learn mode usable for script generation. In the learn mode, a user can rehearse a sequence of actions and save those actions to be replayed later. In another aspect, the present invention is directed to an algorithm which provides a non-blocking, synchronous interface to an underlying asynchronous architecture. Generally, the algorithm decouples the client-server portion of the application from the synchronous development environment. Using this algorithm, a programmer can develop a non-blocking, highly interactive, client-server application without having to resort to asynchronous programming techniques.
    Type: Grant
    Filed: August 13, 1996
    Date of Patent: October 5, 1999
    Assignee: General Electric Company
    Inventors: Geoffrey Oliver Kelly, John David Hoford, Gopal Sundaramoorthy, William Murray Stoval, III, Martin Kalani McKenna, Faraz Azhar Ali
  • Patent number: 5956508
    Abstract: A data processing system for managing a plurality of objects within said data processing system, the distributed data processing system having an object oriented environment. A container object is created for holding objects and a plurality of objects is detected within the data processing system. A filter object is associated with the container object, wherein the filter object receives the plurality of objects within the data processing system and the filter object passes selected ones of the plurality of objects to the container object. The data processing system is periodically monitored to detect changes in the plurality of objects. The container object is automatically updated using the filter object to pass selected ones of the plurality of objects to the container object in response to monitoring the data processing system, wherein the container object is automatically updated.
    Type: Grant
    Filed: April 7, 1997
    Date of Patent: September 21, 1999
    Assignee: International Business Machines Corporation
    Inventors: Wanda K. Johnson, Charles R. McKelley, Jr., Jerry W. Malcolm, Troy G. Reish, Robert F. Selby
  • Patent number: 5954792
    Abstract: Efficient methods for verifying the timing behavior of a system in which various tasks are executed on a processor, and each task is enabled (i.e., becomes ready to execute) in response to the occurrence of an external event and/or the completion of another task. The methods are computationally efficient, requiring an execution time that is polynomial in the number of tasks in the system. The methods can be used in complementary fashion with more computationally intensive techniques for timing behavior verification, such as simulation or prototyping, by limiting the use of such techniques to those systems whose correctness is not proven by the methods.
    Type: Grant
    Filed: December 30, 1996
    Date of Patent: September 21, 1999
    Assignee: Cadence Design Systems, Inc.
    Inventor: Felice Balarin
  • Patent number: 5940613
    Abstract: A method for creating a virtual device driver that runs under both Windows 3.x and Windows 95 operating systems is disclosed. There are two basic obstacles to be overcome in creating a virtual device driver VxD that will operate under both Windows 95 and Windows 3.x. The first obstacle, that of identificational incompatibility, is cured by disguising a Windows 95 compatible driver as a Windows 3.x compatible driver. This is done by renaming the Windows 95 driver with a file name having the three-character extension "386". The version number within a Device Descriptor Block must also be changed in order to effect a total disguise. Once the identificational incompatibility has been cured through the aforementioned steps, Windows 3.x will load the Windows 95 driver. The second obstacle, that of partial functional incompatibility, is cured by appending additional logic and supplementary Windows 3.x emulation routines to the Windows 95 driver. The logic works in the following manner: Whenever a Windows 3.
    Type: Grant
    Filed: May 1, 1996
    Date of Patent: August 17, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Brian Berliner
  • Patent number: 5938733
    Abstract: An object oriented representation for sending network protocol requests between a first and a second process in a computer network. In an object oriented implementation of a protocol stack a network definition object is used for defining an interface to a communication endpoint for a client application and a network address object for defining the communication endpoint. The protocol stack is formed by layers of instances of a protocol interface class object for defining protocol interface for a protocol layer in the protocol stack and a protocol layer class object for defining the protocol layers in the stack. The network protocol requests are sent in an instance of one of a set of network operation classes each of which correspond to a method in the protocol interface class. The client requests are wrapped in the network operation object which contains all the necessary information so the request can be presented to the appropriate protocol layer object in the protocol stack.
    Type: Grant
    Filed: March 8, 1996
    Date of Patent: August 17, 1999
    Assignee: International Business Machines Corporation
    Inventors: Daniel Dean Heimsoth, Gary Randall Horn, Mohan Sharma, Laurie Beth Turner, Leo Yue Tak Yeung
  • Patent number: 5933632
    Abstract: Transmitting data chunks in a computer system having different computing ring levels. A data chunk is accepted by a relatively low priority ring module from a relatively high priority ring source. The address of the data chunk is translated into the address space of the low priority ring module. The low priority ring module is notified of the availability of the data chunk.
    Type: Grant
    Filed: December 21, 1995
    Date of Patent: August 3, 1999
    Assignee: Intel Corporation
    Inventor: Benjamin M. Cahill, III
  • Patent number: 5930509
    Abstract: A computer system for executing a binary image conversion system which converts instructions from a instruction set of a first, non native computer system to a second, different, native computer system, includes an run-time system which in response to a non-native image of an application program written for a non-native instruction set provides an native instruction or a native instruction routine. The run-time system collects profile data in response to execution of the native instructions to determine execution characteristics of the non-native instruction. Thereafter, the non-native instructions and the profile statistics are fed to a binary translator operating in a background mode and which is responsive to the profile data generated by the run-time system to form a translated native image. The run-time system and the binary translator are under the control of a server process.
    Type: Grant
    Filed: January 29, 1996
    Date of Patent: July 27, 1999
    Assignee: Digital Equipment Corporation
    Inventors: John S. Yates, Steven Tony Tye, Raymond J. Hookway
  • Patent number: 5916308
    Abstract: In present computing systems having dynamic linked libraries (DLLs), the user must either explicitly provide directives at the source level or use linker and loader support provided by the computing system. The present invention enables an application programmer to use unmodified source code in conjunction with a compiler, prelinker and runtime library to develop and use DLLs. A DLL can be extended by adding new functions and variables without requiring users of the DLL to recompile or relink their application.
    Type: Grant
    Filed: February 27, 1996
    Date of Patent: June 29, 1999
    Assignee: International Business Machines Corporation
    Inventors: Robert Paul Duncan, Mike Stephen Fulton, Brian James Minchau
  • Patent number: 5918052
    Abstract: The data structures, apparatus, methods, and mechanisms of the present invention cooperate to provide the user with a flexible multiple inheritance OOP environment. OOP environments comprise composite data structures and internal mechanisms for manipulating those structures. The structures are used to allow a user to realize the power of OOP. Hence, the layout of these structures, the way in which the structures inter-relate, and the manner in which they are built and used are all critical to the utility of a particular OOP environment. It is no surprise, then, that manufacturers and suppliers of OOP environments are constantly striving to design composite data structures and internal mechanisms which maximize user productivity. The composite data structures and organization of the MOM OOP environment provide significant benefits that are not provided by the multiple inheritance environments of the prior art.
    Type: Grant
    Filed: November 16, 1994
    Date of Patent: June 29, 1999
    Assignee: International Business Machines Corporation
    Inventors: Vincent Joseph Kruskal, Ashok Malhotra, Steven Jay Munroe
  • Patent number: 5916307
    Abstract: Methods and associated structure providing a balanced queue communication system for the exchange of messages between an originating node and a receiving node in a distributed computing environment. A balanced queue comprises a pair of wraparound (circular) queues, one each associated with the originating node and the receiving node. A message is queued by the originating node in the queue associated therewith. Background processing within the originating node retrieves message queued therein and transmits the messages to the intended receiving node. The position in the originating node's circular queue is pre-pended to the message and transmitted therewith. The receiving node places the received message in its circular queue in the position specified by the pre-pended location with each message. Background daemon and application processing within the receiving node then retrieves the queued messages for application specific processing.
    Type: Grant
    Filed: June 5, 1996
    Date of Patent: June 29, 1999
    Assignee: New Era of Networks, Inc.
    Inventors: Harold Aron Piskiel, Gerald Sui Mui, Paolo Hendrik Natale Pelizzoli