Patents Assigned to Sun Microsystems
  • Patent number: 5953530
    Abstract: The present invention is a system and method for a "debugger Run-Time-Checking for valid memory accesses for multi-threaded application programs" (hereinafter "RTC/MT") wherein a run-time process which includes multiple threads running either serially or concurrently, may be monitored by a debugger program and memory access errors detected and correctly attributed to the process thread encountering the error. The RTC/MT system of the present invention also provides an apparatus and method which monitors and reports memory leaks as required for multi-threaded target programs.
    Type: Grant
    Filed: November 25, 1997
    Date of Patent: September 14, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Alok Rishi, Jon A. Masamitsu
  • Patent number: 5952859
    Abstract: A dynamic set/reset circuit is provided with a first feedback line and a second feedback line. The first feedback line provides an interlocked feedback signal which permits high frequency operation of the set/reset circuit. The second feedback line prevents the interlocked feedback signal from causing the circuit to improperly change state until the next cycle of the circuit. In this manner, the circuit will operate properly despite an unexpectedly wide pulse on an input line. The dual feedback can be used on the set or reset inputs of a set/reset circuit, or both, and the set/reset circuit can be used in various logic and high speed applications, such as within a microprocessor.
    Type: Grant
    Filed: March 9, 1998
    Date of Patent: September 14, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Song Kim, Hao Chen
  • Patent number: 5953527
    Abstract: A method and apparatus for mixing Objective-C and C++ objects includes the step of defining a common object as an Objective-C object class data structure. In addition, the common object is specified as a C++ object class data structure. Thus, the C++ object class data structure is equivalent in memory layout to the Objective-C object class data structure. A set of behavioral operations to be performed in relation to the common object are then established in either Objective-C or C++ source code. A selected behavioral operation is subsequently performed in relation to the common object in response to mixed Objective-C and C++ source code instructions.
    Type: Grant
    Filed: April 23, 1996
    Date of Patent: September 14, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Laurence P. G. Cable
  • Patent number: 5950008
    Abstract: When an interpreter on a client computer encounters a symbolic reference to a remotely stored method while interpreting a locally stored method, and the object class for the remotely stored method has not previously been loaded, the client computer, the client computer creates an application specific loader that is then used to load the remotely stored method into the client computer. The application specific class loader contains location information associated with the server computer on which the remotely stored method is stored, and also contains methods for loading onto the client computer the object class for the remotely stored method as well as the object classes for any additional methods referenced by that method. The application specific class loader preferably also includes symbol table for storing information about method references that have been resolved by the application specific class loader.
    Type: Grant
    Filed: October 27, 1997
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Arthur A. van Hoff
  • Patent number: 5949646
    Abstract: A computer having a compact enclosure separated into two cooperative compartments, each having a pair of air fans for cooling electrical heat generating elements located in each compartment, the pair of fans being arranged on common sides of the compartments, one fan serving as a redundant fan on the failure of one of the other fans, the compartments are interconnected on opposite sides relative to the fans by an airflow plenum and separated by an airflow blockage wall in a manner that cooling air introduced into one compartment is circulated through both compartments before being exhausted from the other compartment.
    Type: Grant
    Filed: July 31, 1998
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Mario J. Lee, Anthony N. Eberhardt, Eric R. Eberhardt
  • Patent number: 5948054
    Abstract: In a networked computer system including a customer computer associated with a human customer, one or more consultant computers associated with one or more human consultants, and a server computer, the human customer sends an information request to the server via the customer computer. The request, which includes a question that the customer wishes to have answered, does not specify a consultant from which the answer may be obtained. In response, the server determines which one or ones of the consultants is qualified to provide the requested information. The server then solicits the requested information from one or more of the qualified consultants. If at least one of the qualified consultants decides to provide the requested information, then the server receives the information from the consultant via one of the consultant computers. Thereafter, the server sends the information to the customer via the customer computer.
    Type: Grant
    Filed: February 27, 1996
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Jakob Nielsen
  • Patent number: 5948098
    Abstract: A CPU (central processing unit) of a computer that comprises an issue unit and an execution unit. The issue unit selectively issues arithmetic instructions of a predefined arithmetic instruction type as performance critical arithmetic instructions and non-performance critical arithmetic instructions. The execution unit comprises a performance critical pipeline to execute the performance critical arithmetic instructions. The execution unit also comprises a non-performance critical pipeline to execute the non-performance critical arithmetic instructions.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Arthur T. Leung, Gary R. Lauterbach
  • Patent number: 5950001
    Abstract: The present invention provides efficient methods, apparatuses, and products for customizing software components intended for use in application builder tools. In accordance with one aspect of the present invention, a method of customizing a component which has at least one associated property involves obtaining the component and then identifying a customizer that is arranged to be associated with the component. Such a customizer is further arranged to guide a user through the configuration of the component.
    Type: Grant
    Filed: June 3, 1997
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Graham Hamilton, Laurence P. G. Cable
  • Patent number: 5949998
    Abstract: A distributed object application builder apparatus filters an object definition to determine both information needed (plugs) and provided (sockets) by an object. Each part (a run-time instance of an object) in the builder has plugs and sockets interconnected to other parts to define a distributed object application program. At run time, actual instances of objects are substituted for the parts. A method of determining the plugs of an identified part retrieves the interface (object definition) corresponding to the part. Once retrieved, the plugs of the part are identified by determining the object-valued attributes of the retrieved interface, by determining the operations from the retrieved interface that require one object-valued argument, and by retrieving the factory argument list from the factory method for the object. These attributes and arguments constitute the plugs of the part. Sockets of a part are determined similarly.
    Type: Grant
    Filed: July 3, 1996
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Brad G. Fowlow, Gregory B. Nuyens, Hans E. Muller
  • Patent number: 5948109
    Abstract: Each node of a failing distributed computer system, e.g., as a result of a split-brain failure, races to achieve a quorum by successfully reserving two shared storage devices which are designated quorum controllers. During normal operation of the distributed computer system, each of the quorum controllers is associated with and reserved by a respective node. During the race for quorum in response to a detected failure of the distributed computer system, each node which has not failed forcibly reserves the quorum controller which is associated with the other node. If a node simultaneously holds reservations for both quorum controllers, that node has acquired a quorum. The forcible reservation of a shared storage device does not fail even if another node holds a valid reservation to the same storage device. Accordingly, a failed node which does not relinquish a reservation to the node's quorum controller cannot prevent another node from acquiring a quorum.
    Type: Grant
    Filed: July 14, 1998
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Hossein Moiin, Ottalingam T. Satyanarayanan, Angelo Pruscino
  • Patent number: 5948106
    Abstract: A system and method for thermal overload detection and protection for a processor which allows the processor to run at near maximum potential for the vast majority of its execution life. This is effectuated by the provision of circuitry to detect when the processor has exceeded its thermal thresholds and which then causes the processor to automatically reduce the clock rate to a fraction of the nominal clock while execution continues. When the thermal condition has stabilized, the clock may be raised in a stepwise fashion back to the nominal clock rate. Throughout the period of cycling the clock frequency from nominal to minimum and back, the program continues to be executed. Also provided is a queue activity rise time detector and method to control the rate of acceleration of a functional unit from idle to full throttle by a localized stall mechanism at the boundary of each stage in the pipe.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Ramesh Panwar
  • Patent number: 5950226
    Abstract: A multiprocessing computer system employing a three-hop communications protocol. When a request is sent by a requesting node to a home node, the home node sends read and/or invalidate demands to any slave nodes holding cached copies of the requested data. The demands from the home node to the slave nodes may each advantageously include a value indicative of the number of replies the requesting agent should expect to receive. The slaves reply back to the requesting node with either data or an acknowledge. Each reply may further include the number of replies the requester should expect. Upon receiving all expected replies, the requesting node may send a completion message back to the home and may treat the transaction as completed and proceed with subsequent processing.
    Type: Grant
    Filed: July 1, 1996
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Paul N. Loewenstein
  • Patent number: 5950000
    Abstract: Methods, systems, and computer program products for integrating third party tools of an integrated software environment with an integrated environment manager. The graphical user interface of the integrated environment manager is augmented with an icon representing a selected third-party tool. Pulldown and pullright menus are controlled to show objects and files which have been used recently and by which tools. The tools and the integrated environment manager communicate through inter-process messaging to coordinate control of picklists in menus of the integrated environment manager and the tools integrated therewith.
    Type: Grant
    Filed: December 6, 1996
    Date of Patent: September 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Daniel J. O'Leary, David A. Nelson-Gal
  • Patent number: 5946685
    Abstract: A global mount mechanism capable of maintaining a consistent global name space in a distributed computing system including a plurality of nodes interconnected by a communications link is herein disclosed. The global mount mechanism mounts a new file system resource into the global name space in a coherent manner such that the new file system resource is mounted at the same mount point concurrently in each node. The global mount mechanism accommodates mount or unmount requests initiated from a requesting node for a resource located in a remote node. The global mount mechanism is also used to unmount a file system resource from the global name space. The global mount mechanism also includes an initialization procedure that is used to generate the global name space initially by providing each local mount point with a global locking capability.
    Type: Grant
    Filed: June 27, 1997
    Date of Patent: August 31, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Samuel M. Cramer, Glenn C. Skinner
  • Patent number: 5944808
    Abstract: A PCI-to-PCI bridge circuit configurable to pass a parity error from one bus to the other bus during a prefetch includes a first interface for interfacing with a first PCI bus, a second interface for interfacing with to a second PCI bus, and a parity correction logic circuit. In response to one of a set of predetermined read commands from a device on the first PCI bus to read data from a device on the second PCI bus, the bridge circuit will initiate a prefetch transaction on the second PCI bus to read the requested data from the device on the second PCI bus. The parity correction logic circuit is coupled to receive from the first interface a first byte enable signal and a second byte enable signal, which are part of the read transaction on the first PCI bus. The parity correction logic circuit is also coupled to receive from the second interface a parity signal corresponding to the prefetch transaction on the second PCI bus.
    Type: Grant
    Filed: January 31, 1997
    Date of Patent: August 31, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: David A. Penry
  • Patent number: 5944810
    Abstract: In a superscalar processor, multiple instructions are executed in parallel to obtain multiple execution results, and the multiple execution results are stored in a working register file. Each execution result in the working register file has at least one status bit associated therewith which identifies the execution result as valid data. The multiple execution results contained in the working register data then retired by changing the status bits associated with each execution result to identify the execution result as an architectural copy of the data. In this manner, the speculative data is retired without data movement of the speculative data, thus reducing a number of ports needed in the superscalar processor.
    Type: Grant
    Filed: June 27, 1997
    Date of Patent: August 31, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Rajasekhar Cherabuddi
  • Patent number: 5946489
    Abstract: A method of cross-compiling computer programs includes the step of extracting constants from an inheriting computer program written in a first computer language. The extracted constants refer to a generating computer program written in a second computer language. A new program in the second computer language is then created using the constants. The new program is then compiled for a target computer to ascertain compiled constant values. The compiled constant values are then substituted into the inheriting computer program to produce a final inheriting computer program.
    Type: Grant
    Filed: December 12, 1997
    Date of Patent: August 31, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Frank Yellin, Dean R. E. Long, Richard D. Tuck
  • Patent number: 5944776
    Abstract: A fast carry-sum form Booth encoder is used in a multiplicative divider to iteratively multiply one number by a series of numbers to produce the result of a divide or square root operation. The fast Booth encoder inputs a binary sum and a binary carry row representing the first number. The encoder adds the two numbers and at the same time Booth-encodes the result and outputs this result to a partial product generator to be combined with one of the series of numbers. Included in the fast Booth encoder are a multiplicity of interconnected logic cells. Each logic cell receives a number of distinct sequential bits from each of the binary sum and carry rows. The sequential bits from one binary number correspond to sequential bits in the other binary number. Each cell then produces an associated cell output. Each logic cell includes a carry bit generator for producing a number of carry bits to transmit to a next interconnected logic cell.
    Type: Grant
    Filed: September 27, 1996
    Date of Patent: August 31, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Song Zhang, Bassam J. Mohd
  • Patent number: 5945668
    Abstract: An open fiber safety interlock that disables the light transmitter whenever the cable is disconnected or broken. In one embodiment, a cable containing an optical fiber and an electrical conductor is coupled between a local receiver and a remote transmitter. The remote transmitter transmits a light signal to the local receiver via the optical fiber. The power for the remote transmitter is provided to the remote transmitter via the electrical conductor from a local power supply. Disconnecting or breaking the cable results in a loss of power to the transmitter, thereby halting any further light emissions. Broadly speaking, the present invention contemplates a remote module which implements an open fiber safety interlock. The remote module comprises a transmitter for transmitting light through an optical fiber in a cable, where the cable includes an electrical conductor.
    Type: Grant
    Filed: June 20, 1997
    Date of Patent: August 31, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Howard L. Davidson
  • Patent number: 5944781
    Abstract: Method and apparatus for making applets persistent are provided. A persistent applet operating on a client system may be saved along with its complete state to a remote server. When desired, the client system may retrieve the persistent applet with its previous state.
    Type: Grant
    Filed: May 30, 1996
    Date of Patent: August 31, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Freeman Cameron Murray