Patents Assigned to Sun Microsystems
  • Patent number: 5813019
    Abstract: A user-friendly text editor for structurally represented computer programs is disclosed. The present editor combines advantages of text editors and structure editors by transforming, as the user types, the text stream entered by the user into a token stream, where the tokens of the token stream constitute the words of the program being entered. Each of the tokens is classified by the editor as one of a group of extended lexemes defined by the language in which the program being edited is written. These extended lexemes are defined similar to lexemes that might be used in a batch lexer, but are more numerous as the present editor must account for the incomplete and ill-formed lexemes that arise as the user types the program. Before performing lexical analysis, the present editor separates program statements from program comments.
    Type: Grant
    Filed: July 6, 1995
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael L. Van De Vanter
  • Patent number: 5812824
    Abstract: Collisions in access to a simulated device are avoided by reserving to one of two or more hardware simulation tests the simulated device. Deadlocks involving requests of multiple tests for reservation of devices are prevented by establishing the order in which such requests are served and requiring that a test must first relinquish reservation of all devices prior to reserving additional devices. Thus, when the additional requests are appended to a queue of pending reservation requests, no test whose requests follow the requests of a second test in the queue can reserve a device requested by the second test. In other words, the situation in which each of two or more tests has reserved a device, reservation of which is required by another of the two or more tests, cannot occur. Starvation is prevented by combining the sorted queue of each reservation phase into a sorted "round robin" arrangement.
    Type: Grant
    Filed: March 22, 1996
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Glenn A. Dearth, Paul M. Whittemore
  • Patent number: 5812257
    Abstract: A position tracker wherein a base unit scans a selected path with electromagnetic signals. A remote unit whose position relative to the base unit is to be detected includes a sensor for detecting the signals from the base unit. When the scanning signals are detected by the remote unit, the remote unit transmits a response signal to the base unit. The base unit may calculate the angular position of the remote unit relative to the base unit by comparing the time intervals between successive response signals. By locating multiple base units in different positions, the position of the remote unit along multiple coordinate axes may be determined. By adding multiple sensors and response transmitters to the remote unit, the roll, pitch and yaw of the remote unit also may be calculated.
    Type: Grant
    Filed: October 6, 1993
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael A. Teitel, Jean-Jacques G. Grimaud
  • Patent number: 5812122
    Abstract: A test system for testing layout services for supporting complex text languages in a graphical user interface (GUI) system. A GUI application is used to test the implementation of locale-specific layout services modules via the Layout Services interface, with little or no modification of the GUI toolkit. The application allows users to modify input and output text layout attributes. The input processing layout is processed and input characters are transformed into presentation layout, and the output data may be analyzed to determine if the correct transformations are being made. The application tool allows users to test a specific locale interface, and returns the result data so that the user may interpret the data. Errors may be detected and isolated to each locale-specific language module.
    Type: Grant
    Filed: December 14, 1995
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Nelson Hon Ng
  • Patent number: 5812851
    Abstract: A system and method provides for variable target outputs from a compiler with only a single execution. The compiler includes a front end, a generic back end, and plurality of individual back ends that are dynamically loaded by the compiler during execution. The front end produces an abstract syntax tree which is then processed by the generic back end and the individual back ends to produce a number of back end trees, each adapted for a specific back end, and representative of the desired structure of the various target outputs, including target code files, or events. The generic back end traverses the abstract syntax tree, and on each node of the tree, invokes each back end that has a node of its back end tree attached thereto. The back end can then modify its own back end tree, and attach further back end nodes to other nodes of the abstract syntax tree.
    Type: Grant
    Filed: March 21, 1997
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Jacob Y. Levy, Swee Boon Lim, Donald J. Kretsch, Wesley E. Mitchell, Benjamin Lerner
  • Patent number: 5813007
    Abstract: Apparatus, methods, systems and computer program products are disclosed to provide automatic notification of sufficient changes in bookmarked information files. The invention provides a user of information access programs (such as WWW Browsers) to automatically be informed of changes in information files (such as WWW Web Pages) when the maintainer of the information file determines that a sufficient change has been made to the file.
    Type: Grant
    Filed: June 20, 1996
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Jakob Nielsen
  • Patent number: 5812141
    Abstract: The present invention provides a method and apparatus for computer graphics system users or other functions in a graphical display system, to trade off object image rendering speed for object image texture quality. This trade-off is accomplished by providing control signals to the adaptive texture mapping controller which indicate the level of texture quality that the user or other function desires. Upon recognizing these control signals, the adaptive texture mapping controller selects a computation method to be used in generating pixel values necessary to provide the desired level of image texture quality.
    Type: Grant
    Filed: January 26, 1996
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Yakov Kamen, Uma Sabada
  • Patent number: 5811992
    Abstract: A dynamic clocked inverter latch with reduced charge leakage includes a first node biasing circuit with a P-MOSFET and an N-MOSFET totem-pole-coupled between VDD and an output node, and a second node biasing circuit with another N-MOSFET and another P-MOSFET totem-pole-coupled between the output node and VSS. The first P-MOSFET receives an input data signal and the first N-MOSFET receives a clock signal and in accordance therewith together cause the output node to charge to a charged state having a charge voltage associated therewith. The second N-MOSFET also receives the input data signal while the second P-MOSFET receives the inverse of the clock signal and in accordance therewith together cause the output node to discharge to a discharged state having a discharge voltage associated therewith.
    Type: Grant
    Filed: April 23, 1996
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Godfrey P. D'Souza
  • Patent number: 5812398
    Abstract: Embodiments of the present invention provide an improved method and system for storing a backup copy of a client company's data. In the preferred embodiment, the backup of data occurs within a computer system having a host company's computer system and an escrow company's computer system. Through the teachings of the present invention, native data stored on a host computer is backed-up onto an escrow computer, even though the escrow company's computer system includes a security mechanism, such as a firewall, to prevent unauthorized access from computers outside the escrow company's computer system.In one embodiment, the host computer stores a native copy of the data in a file. The host computer then processes the file, for example, using a computer program named "uuencode" which is found on many Unix-based computers, so as to convert the file into a format which can be emailed. Once converted, the host computer emails the file to the escrow computer.
    Type: Grant
    Filed: June 10, 1996
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Jakob Nielsen
  • Patent number: 5812816
    Abstract: A system and method for transferring data over a dedicated memory transfer bus between high and low speed memories of a computer system which share a single real memory address space are disclosed. The dedicated memory transfer bus operates independently from the system bus to avoid any adverse effects on bandwidth and latency of the system bus and to allow virtually any memory hierarchy to be selected. The transfer is controlled by the operating system software upon the execution of instructions issued by the memory management unit. Status information such as "invalid" state is used to direct the transfer.
    Type: Grant
    Filed: February 26, 1997
    Date of Patent: September 22, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Bodo K. Parady
  • Patent number: 5808926
    Abstract: A floating point addition unit includes two subunits each of which performs the addition. One subunit ("rounding subunit") rounds the addition result, and the other subunit ("non-rounding subunit") does not. The result of the rounding subunit is selected as the addition result when one of the following conditions (R1), (R2), (R3) is true: (R1) the operation is an effective addition; (R2) the operation is an effective subtraction, the magnitude ED of the difference between the exponents of the operands is 1, and normalization of the result is not required; (R3) the operation is an effective subtraction and ED>1. The addition result is selected from the non-rounding subunit in the remaining cases. In some embodiments, the rounding subunit overlaps rounding with adding the operands, significands. In some embodiments, the addition unit satisfies ANSI/IEEE Standard 754-1985.
    Type: Grant
    Filed: September 24, 1996
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Valery Y. Gorshtein, Anatoly I. Grushin, Sergey R. Shevtsov
  • Patent number: 5809507
    Abstract: Data structures, methods and devices for implementing persistence data storage such that persistent objects may be efficiently created and accessed in a distributed client/server computing system are disclosed. In one aspect of the invention, a method for managing persistence data for installed persistent objects involves marshaling a persistent object attribute value into a marshal buffer to provide an encoded persistent object attribute value, updating the persistent object attribute value to provide an updated persistent object attribute value, unmarshaling the updated persistent object attribute value from the marshal buffer to provide a decoded updated persistent object attribute value, and writing the decoded updated persistent object attribute value to the data store.
    Type: Grant
    Filed: July 1, 1996
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Ken M. Cavanaugh, III
  • Patent number: 5809308
    Abstract: Apparatus and methods are disclosed for determining a recurrence minimum iteration interval (rmii) vector for use in modulo scheduling target program instructions during the code optimization pass of an optimizing compiler. Most modem microprocessors have the ability to issue multiple instructions in one clock cycle and/or possess multiple pipelined functional units. They also have the ability to add two values to form the address within memory load and store instructions. For such microprocessors this invention can, where applicable, accelerate the process of modulo-scheduling target program loops. The invention consists of a technique to determine a rmii vector, which is a set of rmii values which correspond to different values of instruction load latency. The disclosed invention makes the determination of the entire vector with only minimal effort over determining a single rmii value.
    Type: Grant
    Filed: November 17, 1995
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Partha P. Tirumalai
  • Patent number: 5809313
    Abstract: A network interface card in a networked client computer includes a network interface circuit that decodes and then compares incoming network packet addresses to known address bit patterns, the decoding and comparing circuitry being powered at all time. Receipt and recognition of certain addresses means the client computer must be powered-on, even if manually switched OFF. When such a server-transmitted address is recognized, a power-on signal is issued to a power control unit that causes full operating power to be coupled to the client computer. In this fashion, a server can broadcast power-on signals to a plurality of networked client computers or workstations.
    Type: Grant
    Filed: July 6, 1995
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Robert R. Gianni
  • Patent number: 5809248
    Abstract: The present invention provides methods and apparatus for a front end navigating tool that may access and manipulate files distributed across different physical machines and platforms. The front end navigating tool communicates with a plurality of server processes, resident on networked servers, to perform all types of file manipulations such as such as debugging and editing. The server processes communicate with gateway processes resident on the same machine as the calling server process that perform the desired function on any of a plurality of program segments that may distributed across a plurality of computers. The present invention supports any type of function, such as debugging, browsing and editing, that may be applied to a file.
    Type: Grant
    Filed: July 5, 1995
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Nino Vidovic
  • Patent number: 5809523
    Abstract: A system, method and computer program product which determines the relative performance of a local cache and renders the resultant performance increase (or in certain circumstances, the decrease) in cache performance of a stand-alone computer or networked "client" perceptible to the user in an especially intuitive manner. By accurately tracking and factoring in the times and amounts of data read from one or more source locations and the cache, the amount of time required to execute "read" operations without the cache can be determined. By dividing this time period by the actual time to execute the "read", the true relative performance of the cache may be determined.
    Type: Grant
    Filed: March 28, 1996
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Kevin W. Kayes, Daniel H. Schaffer, Brian Berliner
  • Patent number: 5808911
    Abstract: The present invention pertains to a system and method for tracking object references in an object-oriented computing system including a number of independent computing nodes interconnected by a communications link. The reference counting mechanism tracks references to an object at three levels. At a first level, the server handler associated with an object is used to track local references to the object by other user applications within the same domain. At a second level, the inter-process communications facility (i.e., door facility) is used to track object references that are exported to different domains within the same node. At a third level, the kernel object request broker (ORB) is used to track object references that are exported outside the node. When all external object references are released, the ORB notifies the object's server handler of this occurrence. Similarly, the door facility notifies the object's server handler when all inter-domain references have been released.
    Type: Grant
    Filed: June 19, 1997
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Andrew G Tucker, Madhusudhan Talluri, Declan Murphy, Yousef A. Khalidi
  • Patent number: 5809303
    Abstract: A device input/output ("I/O") monitoring mechanism serving as an interface between a computer operating system kernel and a device driver which obviates the necessity of implementing specific pseudo-device drivers for various peripheral devices and provides a standard interface between, for example, computer mass storage devices and a computer operating system. The I/O monitoring mechanism disclosed is of especial utility in the measurement of general storage device I/O performance and allows I/O statistics to be presented to application-level software operating in conjunction with a computer operating system which facilitates the identification of storage device "hot spots" within metadevices and sub-metadevices. The mechanism of the present invention is usable across a wide range of storage device peripheral hardware and device drivers and allows user-level program code to readily determine the associated physical sub-component.
    Type: Grant
    Filed: October 18, 1995
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Steven T. Senator
  • Patent number: 5809324
    Abstract: A microprocessor with a dispatch unit which dispatches a maximum number of instructions each cycle, without splitting into separate blocks after a branch instruction. A mispredicted branch is handled by setting a valid bit to invalid for instructions following the branch instruction in an outstanding instruction FIFO.
    Type: Grant
    Filed: December 7, 1995
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Robert Yung
  • Patent number: 5805889
    Abstract: A system and method for integrating versioning and editing of data repositories is disclosed. A data repository consists of a number of packages, each having at least one package version that includes at least one component. A version handler is uniquely associated with a package version being edited and monitors all versioning commands associated with that package version. A component handler is uniquely associated with a component being edited or a component in an editing chain. When associated with a component being edited, a component handler forms the exclusive interface between that component and the editor and monitors all editing actions taken with respect to its associated component. Other component handlers act as communications links between their child component handler and one parent handler (e.g., a top-level component handler is coupled to the version handler associated with the same package).
    Type: Grant
    Filed: October 20, 1995
    Date of Patent: September 8, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael L. Van De Vanter