Patents Assigned to Sun Microsystems
-
Patent number: 6144938Abstract: The present invention provides a voice user interface with personality. In one embodiment, a method includes executing a voice user interface, and controlling the voice user interface to provide the voice user interface with a personality. The method includes selecting a prompt based on various context situations, such as a previously selected prompt and the user's experience with using the voice user interface.Type: GrantFiled: May 1, 1998Date of Patent: November 7, 2000Assignee: Sun Microsystems, Inc.Inventors: Kevin J. Surace, George M. White, Byron B. Reeves, Clifford I. Nass, Mark D. Campbell, Roy D. Albert, James P. Giangola
-
Patent number: 6139199Abstract: A just-in-time (JIT) compiler typically generates code from bytecodes that have a sequence of assembly instructions forming a "template". It has been discovered that a just-in-time (JIT) compiler generates a small number, approximately 2.3, assembly instructions per bytecode. It has also been discovered that, within a template, the assembly instructions are almost always dependent on the next assembly instruction. The absence of a dependence between instructions of different templates is exploited to increase the size of issue groups using scheduling. A fast method for scheduling program instructions is useful in just-in-time (JIT) compilers. Scheduling of instructions is generally useful for just-in-time (JIT) compilers that are targeted to in-order superscalar processors because the code generated by the JIT compilers is often sequential in nature.Type: GrantFiled: June 11, 1997Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventor: John E. Rodriguez
-
Patent number: 6141794Abstract: A code generating system generates, from code in a program, native code that is executable by a computer system. The code generating system may be included in a just-in-time compiler used to generate native code that is executable by a computer system, from a program in Java Byte Code form, and specifically generates, in response to Java Byte Code representative of a synchronization statement that synchronizes access by multiple threads of execution to at least one variable contained in the Java Byte code, one or more native code instructions that implements a wait-free synchronization methodology to synchronization access to the at least one variable. Since the instructions which implement the wait-free synchronization methodology do not require calls to the operating system, they can generally be processed more rapidly than other synchronization techniques which do require operating system calls.Type: GrantFiled: October 16, 1998Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: David Dice, Ronald J. Mann, Robert G. Vandette
-
Patent number: 6141692Abstract: A method and apparatus are provided which eliminate the need for an active traffic flow control protocol to manage request transaction flow between the nodes of a directory-based, scaleable, shared-memory, multi-processor computer system. This is accomplished by determining the maximum number of requests that any node can receive at any given time, providing an input buffer at each node which can store at least the maximum number of requests that any node can receive at any given time and transferring stored requests from the buffer as the node completes requests in process and is able to process additional incoming requests. As each node may have only a certain finite number of pending requests, this is the maximum number of requests that can be received by a node acting in slave capacity from any another node acting in requester capacity. In addition, each node may also issue requests that must be processed within that node.Type: GrantFiled: July 1, 1996Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: Paul Loewenstein, Erik Hagersten
-
Patent number: 6141013Abstract: A rapid method for calculating a local eye vector in a fixed point lighting unit. For a given triangle primitive which is to be projected into a given viewport in screen space coordinates, the local eye vector corresponds to a given eye position and a first vertex of the given triangle primitive. (A different local eye vector is calculated for each vertex of the given triangle primitive). The method first comprises generating a view vector matrix which corresponds to the given eye position and corner coordinates of the given viewport, where the corner coordinates are expressed in screen space coordinates. The view vector matrix is usable to map screen space coordinates to an eye vector space which corresponds to the given viewport. The method next includes receiving a first set of coordinates (in screen space) which correspond to the first vertex. The first set of coordinates are then scaled to a numeric range which is representable by the fixed point lighting unit.Type: GrantFiled: November 12, 1999Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: Scott R. Nelson, Michael F. Deering
-
Patent number: 6141213Abstract: The invention relates to a computer system and method thereof characterized by high airflow and low acoustic noise by separating the enclosure of the system into two sections, in which in one section cooling fans are arranged between power supply units and disk drives, the power supply units being located at the back of the section and the fans, as to the disk drives, serving as exhaust fans, and in the other section inlet fans are arranged to cool selected hardware electrical elements, such as CPU modules, PCI and graphics cards, wherein the placement of the inlet fans is selected to minimize pre-heated air and fan airflow paths are controlled and directed by an air dam to maximize the cooling effect, and noise damping material is employed in mounting the rack for the disk drives, the disk drives and fans and in forming the side walls of the enclosure.Type: GrantFiled: June 24, 1997Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: Robert S. Antonuccio, Thomas E. Stewart, Joseph M. Spano, Mathew J. Palazola, William A. Izzicupo, James M. Carney, Daniel D. Gonsalves, Mark R. Pugliese
-
Patent number: 6140856Abstract: The present invention provides an apparatus and method for repairing or improving the behavior of a tunable circuit of an integrated circuit (IC) when a target parameter exceeds a predetermined range due to a design and/or fabrication problem. The tunable circuit includes one or more tuning controllers for tuning a corresponding number of target circuits. Each tuning controller includes one or more registers and an optional decoder. Each target circuit includes a tunable portion and a functional portion. The functional portion can have one or more of a wide variety of functions including but not limited to logical gates, buffers, signal generators and amplifiers. The selectable parameters of the tunable circuit include timing delays, trip voltages, rise/fall times and/or output impedances. When a circuit designer wishes to tune the target parameter, an appropriate tuning pattern is latched into registers of the tuning controller.Type: GrantFiled: September 11, 1997Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: Sathyanandan Rajivan, Raoul B. Salem
-
Patent number: 6140141Abstract: A method and apparatus for cooling an integrated circuit device mounted face-down on a package such that the device may be optically probed. The method of the present invention includes the following steps: (1) placing an optically-transparent window over the integrated circuit device to form a channel bounded by the optically-transparent window and the integrated circuit device and (2) flowing an optically-transparent fluid through the channel to remove heat dissipated by the integrated circuit device.Type: GrantFiled: December 23, 1998Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventor: Howard L. Davidson
-
Patent number: 6141789Abstract: The bits of a data block are logically partitioned into an array that includes a number of columns equal to a number of memory devices and a number of rows equal to a number of bits of the data block stored in each memory device. Each memory device contributes one bit to each row. In one embodiment, the bits from a memory device are stored in the same column position of all the rows. One check bit is associated with each row. The check bit is computed by taking the parity of the row associated with the check bit and zero or one column. Each column is assigned to at least four check bits. If a check bit has a column assigned to it, then the check bit is generated by computing the parity of the associated row and the column assigned to the check bit. Alternatively, if the check bit does not have a column assigned to it, the check bit is generated by computing the parity of the row assigned to the check bit only. Each column is assigned to at least four check bits and is assigned to an even number of check bits.Type: GrantFiled: September 24, 1998Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventor: Robert Cypher
-
Patent number: 6139200Abstract: Techniques for allocating registers when generating code is described. A snapshot is generated when generating code. The snapshot contains sufficient information to restore the state of generating code that existed at the point when the snapshot was generated so that the generation of code can proceed from that point. A first set of code optimizations is generated. In response to determining that the first set of code optimizations fails to meet efficiency criteria, the generation of code proceeds based on the snapshot without incorporating the first set of code optimizations. Feedback is generated by analyzing the allocation of registers based on the first set of code optimizations. A second set of code optimizations is based on the feedback. Feedback includes information such as the number of spills occurring based on the first set of code optimizations.Type: GrantFiled: June 30, 1997Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventor: Kurt Goebel
-
Patent number: 6141741Abstract: A computer system with a multiplexed address bus that is shared by both system memory and by slave devices is described. The slave devices are incorporated into an existing system memory configuration by providing a bus controller to execute a two-cycle address sequence on the multiplexed address bus. The address sequence is followed by a transfer of data. A random latency can exist between the time of receiving address information and the time of receiving data corresponding to the address information. This random latency can be exploited by the system CPU for other computational purposes. The bus controller of the system executes multiple, or pipelined, data writes to the bus before an acknowledgement for the first data write is received. In this scheme, the acknowledgement for the first data write is typically sent during the same time period that the subsequent data writes are being received. Consequently, data transfer acknowledgements overlap data writes.Type: GrantFiled: August 29, 1996Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: Curtis Priem, Satyanarayana Nishtala, Michael G. Lavelle, Thomas Webber, Daniel E. Lenoski, Peter A. Mehring, Guy Moffat, Christopher R. Owen
-
Patent number: 6141766Abstract: A fault-tolerant computer architecture is described wherein the effect of hardware faults is diminished. The architecture employs a main data bus having a plurality of interface slots for interconnecting conventional computer sub-systems. The number and type of sub-systems may vary considerably, however, a central processor sub-system which encompasses the inventive elements of the invention is always included. The central processor sub-system employs a plurality of central processing modules operating in parallel in a substantially synchronized manner. One of the central processing modules operates as a master central processing module, and is the only module capable of reading data from and writing data to the main data bus. The master central processing module is initially chosen arbitrarily from among the central processing modules.Type: GrantFiled: March 22, 1999Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: David C. Liddell, Emrys J. Williams
-
Patent number: 6138469Abstract: To cool heat-emitting electronic components, a compact, non-moving-parts compressor, an evaporator in juxtaposition to the electronic components and a condenser are mounted as a unit, preferably within a vacuum can. A heat exchanger is mounted external to the can but in proximity to the condenser. The foregoing comprise a unit which may be detachably connected to a host pump and heat exchanger. The unit may be removed from the system of which it is a part for upgrade and maintenance. All its components are thermally isolated from the ambient atmosphere to prevent water vapor condensation corrosion.Type: GrantFiled: September 24, 1998Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: Howard L. Davidson, Dennis M. Pfister, Charles Byrd
-
Patent number: 6141718Abstract: A bridge for a multi-processor system includes bus interfaces for connection to an I/O bus of a first processing set, an I/O bus of a second processing set and a device bus. A bridge control mechanism is operable to compare address and data phases of I/O accesses by the first and second processing sets. A direct memory access mechanism is operable to initiate a direct memory access operation to read from a corresponding location in each processor set into a respective dissimilar data register associated with each processing set. The bridge control mechanism is operable during the direct memory access operation to disregard differences in the data phase for the dissimilar data write access. As a result it is possible to transfer dissimilar data from the processors into the bridge in a combined (lockstep comparison) mode.Type: GrantFiled: June 15, 1998Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: Paul J. Garnett, Stephen Rowlinson, Femi A. Oyelakin
-
Patent number: 6138238Abstract: A system regulates access to resources requested by an operation executing on a computer. The operation invokes a plurality of methods that operate upon code during execution. The system includes a policy file, a call stack, and an execution unit. The policy file stores permissions for each of the resources. The permissions authorize particular types of access to the resource based on a source of the code and an executor of the code. The call stack stores representations of the methods and executors in an order of invocation by the operation. The execution unit grants access to the resource when the types of access authorized by the permissions of all of the methods and executors on the call stack encompass the access requested by the operation.Type: GrantFiled: March 20, 1998Date of Patent: October 24, 2000Assignee: Sun Microsystems, Inc.Inventors: Robert W. Scheifler, Li Gong
-
Patent number: 6138198Abstract: A bridge for a multi-processor system includes bus interfaces for connection to an I/O bus of a first processing set, an I/O bus of a second processing set and a device bus. A bridge control mechanism is configured to compare address and data phases of I/O accesses by the first and second processing sets. At least one dissimilar data register is provided for each processing set. The bridge control mechanism is operable in response to an address phase of a dissimilar data register write access to disregard any differences in the data phase for the dissimilar data write access. Non-deterministic data (for example relating to a real time clock) can be output from the processing sets in a combined (lockstep comparison) mode. A read destination address supplied in common by the first and second processing sets for a dissimilar data read access can cause data read from a determined one of the dissimilar data registers to be supplied the first and second processing sets.Type: GrantFiled: June 15, 1998Date of Patent: October 24, 2000Assignee: Sun Microsystems, Inc.Inventors: Paul J. Garnett, Stephen Rowlinson, Femi A. Oyelakin, Emrys J. Williams
-
Patent number: 6138148Abstract: One embodiment of the present invention provides a method and an apparatus for providing a client-side intermediary that communicates with an application on a second server computer system. The method operates by receiving a composite message at a client computer system from a first server computer system, and examining type information from the composite message. This type information specifies how the composite message is formatted, and can be used to select an application that is capable of processing the composite message. The method uses the type information to look up a network address of the application residing on the second server computer system. This address is used to forward the composite message to the application on the second server computer system. The above embodiment can be implemented within a browser on the client computer system, or within a separate application on the client computer system.Type: GrantFiled: June 18, 1998Date of Patent: October 24, 2000Assignee: Sun Microsystems, Inc.Inventor: Efrem Lipkin
-
Patent number: 6138210Abstract: The present invention provides a unique multi stack memory system to provide access to multiple portions of the method frames of a stack based computing system. In one embodiment of the invention, a multi-stack memory system includes a first stack configured to store a first frame component of a first method frame and a second frame component of a second method frame. A second stack is configured to store a second frame component of the first method frame and a first frame component of second method frame. The first frame component of the method frames can be for example an operand stack. The second frame components of the method frames can be, for example, arguments and local variable areas.Type: GrantFiled: June 23, 1997Date of Patent: October 24, 2000Assignee: Sun Microsystems, Inc.Inventors: Marc Tremblay, James Michael O'Connor
-
Patent number: 6138235Abstract: The present invention provides a method and an apparatus for providing a first computer program module with the ability to access a service from a second computer program module. The method includes receiving the first computer program module--for example, at a third party computer system, and determining whether the first computer program module has been digitally signed by an authority having power to confer access for the service. If so, the method provides the first computer program module with access to the service. A variation on this embodiment includes verifying that the first computer program module includes a chain of certificates establishing a chain of authorization for the service.Type: GrantFiled: June 29, 1998Date of Patent: October 24, 2000Assignee: Sun Microsystems, Inc.Inventors: Efrem Lipkin, Theodore C. Goldstein
-
Patent number: RE36946Abstract: A method and apparatus is disclosed for providing a secure wireless communication link between a mobile nomadic device and a base computing unit. A mobile sends a host certificate (Cert.sub.-- Mobile) to the base along with a randomly chosen challenge value (CH1) and a list of supported shared key algorithms ("SKCS"). The base determines if the Cert.sub.-- Mobile is valid. If the Cert.sub.-- Mobile is not valid, then the base unit rejects the connection attempt. The base then sends a Cert.sub.-- Base, random number (RN1) encrypted in mobile's public key and an identifier for the chosen SKCS to the mobile. The base saves the RN1 value and adds the CH1 value and the chosen SKCS to messages sent to the base. The mobile unit then validates the Cert.sub.-- Base, and if the certificate is valid, the mobile verifies under the public key of the base (Pub.sub.-- Base) the signature on the message.Type: GrantFiled: December 5, 1996Date of Patent: November 7, 2000Assignee: Sun Microsystems, Inc.Inventors: Whitfield Diffie, Ashar Aziz