Patents Examined by Peter Stecher
  • Patent number: 6601081
    Abstract: A computer system includes a global machine for providing a virtual machine for a plurality of applications programs, including a calling applications program and a called applications program which is called by said calling applications program, and further provides a global state store for storing selected global state information for controlling selected operations. The calling program conditions the global state information stored in the global state store to a calling program global state, performs predetermined calling program processing operations and calls the called applications program. The called program, upon being called by the calling program, saves the calling program global information contained in the global state store.
    Type: Grant
    Filed: June 30, 1995
    Date of Patent: July 29, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Joseph E. Provino, Mark M. Towfigh
  • Patent number: 6260074
    Abstract: A method and apparatus for passing generic objects in a distributed system is disclosed. At the receiving process, the generic object is unmarshaled. However, the object of type T is maintained in its marshaled form. If the generic object is subsequently passed to another process, a copy of the marshaled form of the object of type T is passed. The object of type T is not unmarshaled until the generic object is received by a process that narrows the generic object into the object of type T.
    Type: Grant
    Filed: March 30, 1996
    Date of Patent: July 10, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Sanjay R. Radia, Peter Kessler
  • Patent number: 6219826
    Abstract: An improved method and system for visualizing an object-oriented program's execution in a manner that facilitates understanding, debugging, and tuning programs of arbitrary size and complexity by visually depicting a sequence of one or more messages to an object or between objects as a tree. Each node in the tree represents an object, and each edge represents a message between the objects. To manage the complexity of what is displayed, the user may elect to collapse subtrees so that they appear in abbreviated form. The user may expand collapsed subtrees so that they are visible in full. By selectively expanding and collapsing subtrees, the user can examine only those parts of the execution that are immediately relevant. The user may specify additional criteria for classifying subtrees, i.e., the conditions under which two subtrees are deemed equivalent. The system can then consolidate equivalent subtrees automatically, replacing them with a more general execution pattern that subsumes them all.
    Type: Grant
    Filed: August 1, 1996
    Date of Patent: April 17, 2001
    Assignee: International Business Machines Corporation
    Inventors: Wim De Pauw, John Matthew Vlissides, David Hod Lorenz, Mark N. Wegman
  • Patent number: 6175878
    Abstract: A systems management subsystem provides resources for managing components and allows components to be manageable. In particular, state information about managed components is encapsulated into objects that are visible in the global name space. The state of a single component may be partitioned into subcomponents that are stored in separate objects. These objects may, in turn, be encapsulated into a single container object that is associated with the managed component. By placing the state information in the global name space, local processes and remote processes may both gain access to internal state information and properly manage the component.
    Type: Grant
    Filed: June 20, 1996
    Date of Patent: January 16, 2001
    Assignee: Microsoft Corporation
    Inventors: Michael R. C. Seaman, Anirudh A. Sahni, Mark S. Blanford, Isaac J. Heizer
  • Patent number: 6170998
    Abstract: A processor detects a function which includes no function call instruction and no update of the return address /calculation register from an assembler program. After the detection, the processor outputs a special return address to the end of the function detected, and executes the assembler program. The processor stores a return address not only on the stack but in the return address/calculation register. When the special return instruction has been fetched, the return address is moved from the return address/calculation register without accessing to the stack.
    Type: Grant
    Filed: January 22, 1996
    Date of Patent: January 9, 2001
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Kazushi Yamamoto, Shuichi Takayama, Nobuo Higaki, Nobuki Tominaga, Shinya Miyaji
  • Patent number: 6167455
    Abstract: A system and method provide for synchronous operation of linked command objects in a general purpose software application. The software application provides a user with a variety of operations that manipulate available data objects. The software application manages the data objects in a number of contexts. Each context manages the existence and execution of a number of command objects. Each command object operates on one or more data objects in its context. To support synchronous operations that affect the state of data objects in more than one context, command objects are linked to each other. When one command object is executed, the context of the command object identifies a command object linked to the executed command object and initiates the execution of the linked command object via the context that manages that command object. This synchronization allows for synchronous undo and redone operations. The delete states of the command objects are also synchronized.
    Type: Grant
    Filed: May 5, 1995
    Date of Patent: December 26, 2000
    Assignee: Apple Computer, Inc.
    Inventors: Gregory S. Friedman, Thomas W. Becker
  • Patent number: 6161147
    Abstract: A variety of methods and apparatus for managing deactivation and deletion of objects and server processes are taught. According to some embodiments of the present invention, a thread of execution termed the reaper thread systematically cycles through a computer process deactivating and/or deleting objects based upon a variety of criteria. One suitable criterion for object deactivation is based upon the amount of time lapsed since a client has requested services of the object. According to the timeout criterion, the reaper thread determines the period of time since the last client requested services from the object, compares this to a timeout value which may be defined by any suitable entity, and proceeds with deactivation and/or deletion accordingly. Object deletion may have a separate criterion or be specifically requested by a client. A deletion flag may be set to indicate that object deletion is requested.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: December 12, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Alan Snyder, Rod J. McChesney, Mark W. Hapner, Arthur A. Van Hoff, Maurice Balick, Rafael Bracho, David M. Brownell
  • Patent number: 6161218
    Abstract: A software package installed on a UNIX system V computer system is repaired by installing a System V software patch package. During installation of the patch package using the pkgadd utility and scripts in the patch package, a backout software package is constructed. This backout package will, when later installed on the computer system using pkgadd, operate to restore the software in the computer system to its original state before installation of the patch package.
    Type: Grant
    Filed: January 16, 1996
    Date of Patent: December 12, 2000
    Assignee: Sun Microsystems Inc.
    Inventor: Julian S. Taylor
  • Patent number: 6148323
    Abstract: A task manager for operating and performing management tasks called for by a system administration manager. The task manager includes a command task manager for performing command tasks, a function task manager for performing function tasks, and a remote task execution manager for performing remote or distributed task. In addition, the task manager includes a single application program interface for interfacing the command task manager, function task manager, and remote task execution manager with the system administration manager. The task manager further performs error handling and automatic logging operations. The task manager uses a task registration manager which stores the individual task descriptions and makes them available to the task manager.
    Type: Grant
    Filed: December 29, 1995
    Date of Patent: November 14, 2000
    Assignee: Hewlett-Packard Company
    Inventors: Richard B. Whitner, Douglas P. Drees, William G. Golson
  • Patent number: 6128771
    Abstract: A system and method for automatically converting a compiled program that accesses objects stored in main memory into a program that accesses and updates persistently stored objects. An initial computer program includes original instructions for accessing and updating objects in at least a first object class. The original instructions access and update objects in a computer's main memory. The system automatically revises the initial computer program to generate a revised computer program by adding to the original instructions object loading instructions and object storing instructions. During execution of the revised computer program, the object loading instructions load a copy of one of the persistently stored objects into a corresponding object in the computer's main memory when the object is accessed for a first time.
    Type: Grant
    Filed: February 9, 1996
    Date of Patent: October 3, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Theron D. Tock, Roderic G. G. Cattell
  • Patent number: 6105073
    Abstract: The present invention provides a C interface program that remotely operates with an object oriented repository by making the public properties and operations of the types in the repository available to Client programs written in the C language, or accessed via DLLs, or shared objects from other languages. Hence, Client program can execute all the operations on a repository, which is operating on a remotely located Server. The Client program source code can be created on the Server and recompiled on the Client platform without the necessity of making any changes to the code.
    Type: Grant
    Filed: May 30, 1996
    Date of Patent: August 15, 2000
    Assignee: Unisys Corp.
    Inventor: Byung-Mee Choung
  • Patent number: 6085034
    Abstract: An initializer which is a dynamically resolved method for initializing an object in a multiple inheritance object oriented system is introduced. The initializer is introduced in an ancestor class and can be inherited and overridden by subclasses. An overridden initializer can be invoked on an instance of a subclass to initialize an object in the system.
    Type: Grant
    Filed: March 18, 1996
    Date of Patent: July 4, 2000
    Assignee: International Business Machines Corporation
    Inventor: Scott Harrison Danforth
  • Patent number: 6067576
    Abstract: A computer system is provided with an operating system that has a streams mechanism for providing streams between user-space processes and drivers. This mechanism permits a user-space process to set up a multiplexer driver for multiplexing and demultiplexing streams. To facilitate the dynamic allocation of new streams to the multiplexer driver, a stream server is associated with the multiplexer driver, the stream server keeping a pool of available streams from which it satisfies any requests for more streams made by the multiplexer driver. The stream server can request a special user-space process to supply new streams to top up the pool.
    Type: Grant
    Filed: June 23, 1995
    Date of Patent: May 23, 2000
    Assignee: Hewlett-Packard Company
    Inventors: Jean-Alexis Berranger, Denis Roger
  • Patent number: 6052528
    Abstract: A process for the management of multiple inheritance for application in a system or language employing persistent and shared objects. According to this process, the format of an object is maintained unchanged when it is being loaded from persistent space into virtual space. Moreover, each class producing an object is associated with an identifier of the class constant in all those applications utilizing the class as well as through all the recompilations. The structure of the object is thus independent of the address of storage in memory and of the code of the class producing this object. Finally, according to the present process, an addressing path permitting the management of inheritance is imposed via different tables.
    Type: Grant
    Filed: May 14, 1997
    Date of Patent: April 18, 2000
    Assignee: Bull S.A.
    Inventor: Pascal Dechamboux
  • Patent number: 6049838
    Abstract: A system and method is disclosed that provides persistent capabilities for distributed, object-oriented applications running on generally available hardware. The disclosed system and method operate in a transparent distributed object system where inter-process messaging between the program objects is effected by paired transport managers, proxies and matched in-table and out-table slots. Each object needing to communicate with an object in another address space does so by transparently issuing messages to that object's local proxy. Each process provides a registrar that includes a secret code table wherein an object is registered with a unique, practically unguessable secret code. Anticipating the need to re-establish object-proxy links following a inter-process communications fault, proxies are made revivable, meaning that their links with corresponding remote objects can be revived following a communications interruption.
    Type: Grant
    Filed: July 1, 1996
    Date of Patent: April 11, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Mark S. Miller, Norman Hardy, E. Dean Tribble, Christopher T. Hibbert, Eric C. Hill
  • Patent number: 6026240
    Abstract: Apparatus, methods, and computer program products are disclosed for optimizing programs containing single basic block natural loops with a determinable number of iterations. The invention optimizes, for execution speed, such program loops containing statements that are initially variant, but stabilize and become invariant after some number of iterations of the loop. The invention optimizes the loop by unwinding iterations from the loop for which the statements are variant, and by hoisting the stabilized statement from subsequent iterations of the loop.
    Type: Grant
    Filed: February 29, 1996
    Date of Patent: February 15, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Krishna Subramanian
  • Patent number: 6009266
    Abstract: A variety of methods, apparatus, and data structures for managing transient and persistent distributed objects are disclosed. Objects for use as object references are described, both for transient and persistent objects. In one aspect of the invention, a data structure that is intended for use as an object reference for a transient object is disclosed having a set of endpoint addresses, an incarnation number, and an object key. These elements serve to uniquely identify and locate the transient object. In another aspect of the invention, an object that is intended for use as an object reference for a persistent object is disclosed having a host computer name, a locator identification, an object key, and a subobject identifier. The first three elements serve as an indirection to the persistent object and the third element is for use by the persistent object. These data structures enable a distributed object operating environment which integrates both transient and persistent objects.
    Type: Grant
    Filed: March 22, 1995
    Date of Patent: December 28, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: David M. Brownell, Pavani Diwanji
  • Patent number: 5946490
    Abstract: A compiler which generates object-oriented code from high level models is disclosed. The compiler uses a class graph to construct a finite intermediate automaton which is used in conjunction with an adaptive program to generate an object-oriented program in a target language. The intermediate automaton enables general case compilation of most combinations of adaptive programs and class graphs. The automaton also enables use of standard minimization techniques which reduce the size of the generated object-oriented code.
    Type: Grant
    Filed: March 22, 1996
    Date of Patent: August 31, 1999
    Assignee: Northeastern University
    Inventors: Karl Lieberherr, Jens Palsberg, Boaz Patt-Shamir
  • Patent number: 5907703
    Abstract: A computer device driver for accessing compressed files held in archives in a memory device, the device driver comprising: means for reading a compressed file from an archive in the memory device, decompressing the file in RAM and retaining the decompressed file in RAM in whole or in part so that operations to the memory device can be performed on the decompressed file by the operating system without having first to write the decompressed file to the memory device. The device driver also comprises means for accessing the file in said RAM and changing the contents of the file; and for returning the file to the archive in said memory device.
    Type: Grant
    Filed: May 8, 1996
    Date of Patent: May 25, 1999
    Assignee: Mijenix Corporation
    Inventors: Pierre-Michel Kronenberg, Derek T. Zahn
  • Patent number: 5903753
    Abstract: A name space registry manages name space data within a computer operating system including configuration and initialization data. The registry provides access to the configuration information by means of an application program interface (API) for programs which can operate with the name space registry. Backward source-code compatibility is provided for older applications by maintaining configuration and initialization files that the older applications use to store configuration and initialization data under their traditional file names and with the traditional contents. Thus the older applications can directly access these files. The registry provides newer programs access to these configuration and initialization files through API program calls.
    Type: Grant
    Filed: August 18, 1995
    Date of Patent: May 11, 1999
    Assignee: International Business Machines Corporation
    Inventors: Arnold H. Bramnick, Douglas G. Elkins