Patents Assigned to Sun Microsystems
  • Patent number: 6131123
    Abstract: A computer sends a message to each of a number of recipient computers of a computer network by sending the message as a multicast message to near ones of the recipient computers and sending the message as unicast messages to far ones of the recipient computers. The sending computer determines the circumstances under which a combination of multicast and unicast messages are efficient by determining that many recipient computers are near the sending computer and that few recipient computers are far. The sending computer makes such a determination by determining no more than a predetermined number of recipient computers are at least a predetermined distance further from the sending computer than are the others of the recipient messages. The sending computer can also determine that the burden imposed upon the computer network by a multicast message is justified by the need to deliver the message to its intended recipients.
    Type: Grant
    Filed: May 14, 1998
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems Inc.
    Inventors: Stephen A. Hurst, Radia J. Perlman
  • Patent number: 6131188
    Abstract: Program routines normally requiring windowed register allocation using conventional assembly code generation in a compiler are examined for eligibility for a wrapper routine optimization procedure in which wrapper routine assembly code instructions are generated in response to the application of high level programming language instructions specifying routines. If not eligible, the compiler generates assembly code instructions in a conventional way, allocating windowed registers to each routine. If the routine is eligible for wrapper routine optimization, the routine is further examined to determine whether the routine includes tail routine calls only or calls within the body of the routine. If the former, the routine is examined to determine whether local stack usage is required. For a routine having tail routine calls only and a requirement of local stack usage, wrapper routine assembly code instructions of a first type are generated.
    Type: Grant
    Filed: November 17, 1999
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Kurt J. Goebel
  • Patent number: 6131165
    Abstract: One embodiment of the present invention provides a method and an apparatus for controlling access to services in a protected memory system. The method makes use of a permit, which includes an access control mechanism that resides in a memory space that is protected from a user of the permit. The method includes receiving a request for a service through a permit, the permit comprising an object defined within an object-oriented programming system. In response to the request, the method activates an access control mechanism within the permit. This access control mechanism controls access to the service and resides in a memory space that is protected from a user of the permit, such that the access control mechanism is triggered by invoking a method on the permit. If the access is allowed, the method accesses the service by performing an invocation on a controlled object. This controlled object includes methods to perform the service, and is otherwise protected from the user of the permit.
    Type: Grant
    Filed: June 18, 1998
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Efrem Lipkin, Theodore C. Goldstein
  • Patent number: 6131126
    Abstract: A computer-implemented method and apparatus in a computer system for inter-process communication. A first procedure allocates a first buffer in a first memory space shared by the first procedure (e.g. a client process) and a second procedure (e.g. a kernel or server process). The first procedure then marshals arguments for communicating with the second procedure in the first buffer. The first procedure indicates that a message for the second procedure is being passed and passes a first reference to the first buffer in the first memory space to the second procedure. The second procedure detects the indication of the message by the first procedure. The second procedure then references the first buffer and copies the arguments contained in the first buffer into a temporary buffer. The second procedure can then deallocate the first buffer.
    Type: Grant
    Filed: January 27, 1998
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Panagiotis Kougiouris, Graham Hamilton
  • Patent number: 6131144
    Abstract: The present invention uses a stack management unit including a stack cache to accelerate data retrieval from a stack and data storage into the stack. In one embodiment, the stack management unit includes a stack cache, a dribble manager unit, and a stack control unit. The dribble manager unit maintains a cached stack portion, typically a top portion of the stack in the stack cache. The stack cache includes a stack cache memory circuit, one or more read ports, and one or more write ports. The stack management unit also includes an overflow/underflow unit. The overflow/underflow unit detects and resolves overflow conditions and underflow conditions. If an overflow occurs the overflow/underflow unit resolves the overflow by suspending operation of the stack cache and spilling a plurality of data words from the stack cache to the stack and equating the bottom pointer to the optop pointer. Typically, the overflow/underflow unit spills all valid data words from the stack cache during an overflow.
    Type: Grant
    Filed: April 1, 1997
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Sailendra Koppala
  • Patent number: 6131166
    Abstract: A framework for the development of applications which manage the power resources and power states of power-manageable computer systems and attached devices. In one embodiment, the power management framework comprises a plurality of Java.TM. programming interfaces (APIs) which are part of the Java.TM. Platform. Therefore, the same framework is configured to enable the same power-aware Java.TM. applications to execute on many different computing platforms, operating systems, and computer hardware. The programming interfaces comprise a system-level programming interface, a notification programming interface, an exception programming interface, and a device-level programming interface. The system-level programming interface permits Java.TM. applications to obtain a current system power state and, with the proper privilege, to influence the current system power state. The notification programming interface permits Java.TM.
    Type: Grant
    Filed: February 24, 1999
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Becky Wong-Insley
  • Patent number: 6130924
    Abstract: A method and apparatus for disseminating filters from an intermediate network entity called an Administrative Control Point (ACP). The ACP sends dynamic filtering information to various ones of the receiving entities in a network. Thus, receivers in the network can have a set of dynamic filters that can differ from all other sets of dynamic filters in the other receivers. When a receiver receives multicast data, it filters the received data using the filters that it received from the ACP before it processes the received data. The ACP can also update and/or change the filters in one or more receivers at a later time. Dynamic filters can be, for example, software modules, software classes, and/or configuration parameters.
    Type: Grant
    Filed: April 20, 1998
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Phil Rosenzweig, Miriam Kadansky
  • Patent number: 6131106
    Abstract: Floating point numbers and other values are represented in a "delimited" representation in which all numbers, including those which would in the IEEE Std. 754 representation, be in the de-normalized format, are in a format which is normalized with an implicit most significant digit having the value "one." For numbers which would, in the IEEE Std.
    Type: Grant
    Filed: January 30, 1998
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems Inc
    Inventor: Guy L. Steele, Jr.
  • Patent number: 6128640
    Abstract: A system and method for emulating complete operating system support for synchronization of the execution of a process on multiple independent events. The emulation includes creating a thread and control; collecting representations of the different events into one container event, the occurrence of any one of the different events effecting the occurrence of the container event; waiting on the container event; suspending the execution of the thread; and after the occurrence of the container event, resuming the execution of the thread of control.
    Type: Grant
    Filed: October 3, 1996
    Date of Patent: October 3, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Ronald J. Kleinman
  • Patent number: 6128636
    Abstract: According to a presently preferred embodiment of the present invention, a method for interfacing a floating point-based process with an integer-based process is described, the method having the steps of providing a floating point process, providing an integer process, initiating a transfer of data from said floating point process to said integer-based process, the transfer having the steps of selecting a memory location containing a floating point value to be handed off to the integer-based process, determining whether the memory location contains a positive number or a negative number, computing the absolute value of the value in the memory location, adding a magnitude of 0.5 to the absolute value, multiplying, if the result of the determining step was negative, the results of the adding step by -1, and converting the results of the multiplying step to integer form.
    Type: Grant
    Filed: February 11, 1998
    Date of Patent: October 3, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Liang He
  • Patent number: 6128666
    Abstract: A system and method for updating packet headers using hardware that maintains the high performance of the network element. In one embodiment, the system includes an input port process (IPP) that buffers the input packet received and forwards header information to the search engine. The search engine searches a database maintained on the switch element to determine the type of the packet. In one embodiment, the type may indicate whether the packet can be routed in hardware. In another embodiment, the type may indicate whether the packet supports VLANs. The search engine sends the packet type information to the IPP along with the destination address (DA) to be updated if the packet is to be routed, or a VLAN tag if the packet has been identified to be forwarded to a particular VLAN. The IPP, during transmission of the packet to a packet memory selectively replaces the corresponding fields, e.g., DA field or VLAN tag field; the modified packet is stored in the packet memory.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: October 3, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Louise Yeung, Ariel Hendel
  • Patent number: 6128702
    Abstract: An integrated processor/memory device comprising a main memory, a CPU, a victim cache, and a primary cache. The main memory comprises main memory banks. The victim cache stores victim cache sub-lines of words. Each of the victim cache sub-lines has a corresponding memory location in the main memory. When the CPU issues an address in the address space of the main memory, the victim cache determines whether a victim cache hit or miss has occurred in the victim cache. And, when a victim cache miss occurs, the victim cache replaces a selected victim cache sub-line of the victim cache sub-lines in the victim cache with a new victim cache sub-line. The primary cache comprises primary cache banks. Each of the primary cache banks stores one or more cache lines of words. Each cache line has a corresponding memory location in the corresponding main memory bank.
    Type: Grant
    Filed: January 8, 1999
    Date of Patent: October 3, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ashley Saulsbury, Andreas Nowatzyk, Fong Pong
  • Patent number: 6128721
    Abstract: A processor method and apparatus. The processor has an execution pipeline, a register file and a controller. The execution pipeline is for executing an instruction and has a first stage for generating a first result and a last stage for generating a final result. The register file is for storing the first result and the final result. The controller makes the first result stored in the register file available in the event that the first result is needed for the execution of a subsequent instruction. By storing the result of the first stage in the register file, the length of the execution pipeline is reduced from that of the prior art. Furthermore, logic required for providing inputs to the execution pipeline is greatly simplified over that required by the prior art.
    Type: Grant
    Filed: November 17, 1993
    Date of Patent: October 3, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert Yung, William N. Joy, Marc Tremblay
  • Patent number: 6125650
    Abstract: The present invention is directed to a sorber cooling device suitable for use in an electromagnetic wave activated sorption system. One embodiment of the sorber cooling device has a metallic tubular enclosure extending coaxially into the sorber, a plurality of fins connected to a portion of the tubular enclosure extending outside of the sorber, a reservoir in fluid communication with the tubular enclosure, and a wick located within the portion of the tubular enclosure extending into the sorber. A refrigerant which is placed in the cooling device is drawn by the wick into the portion of the tubular enclosure extending into the sorber. The refrigerant absorbs heat from the sorber and evaporates. The evaporated refrigerant is condensed in the portion of the tubular enclosure extending outside of the sorber and the heat of condensation is dissipated by the fins. The condensed refrigerant is collected in the reservoir. This cycle repeats automatically.
    Type: Grant
    Filed: July 21, 1999
    Date of Patent: October 3, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Dennis M. Pfister, Charles M. Byrd
  • 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: 6125037
    Abstract: A heat sink assembly includes a heat sink having torque bars, the torque bars including lips and guides extending from the lips. A package is located between the heat sink and a circuit board. A heat sink retainer includes riser arms and ends connected to the riser arms, where the ends press against the lips. The riser arms press the guides towards the package and press apertures of the heat sink away from the package. In this manner, the retainer imparts torque on the heat sink which causes the heat sink to impart a downward force on the package. This downward force creates the thermal contact between the heat sink and the package.
    Type: Grant
    Filed: August 30, 1999
    Date of Patent: September 26, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Vernon P. Bollesen
  • Patent number: D431564
    Type: Grant
    Filed: November 3, 1999
    Date of Patent: October 3, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Kuni Masuda, Paul S. Montgomery, Christopher L. Whittall
  • Patent number: D431822
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: October 10, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Alison H. Armstrong, Jonathon Guerra, Mark J. Ciesko
  • Patent number: D432125
    Type: Grant
    Filed: February 22, 1999
    Date of Patent: October 17, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Kuni Masuda, Craig Leverault, Paul S. Montgomery, Herbert Pfeifer, Howard W. Stolz
  • Patent number: D432127
    Type: Grant
    Filed: October 22, 1999
    Date of Patent: October 17, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Kuni Masuda, James M. Stanton, Phil G. Yurkonis