Patents Assigned to Sun Microsystems
  • Patent number: 7370322
    Abstract: An invention is disclosed for performing online upgrades using a control module, executed as part of an application, that includes application-specific strategies for the application, yet can be coded using the JAVA programming language. An application is executed that includes an original service module and an original control module. The original control module includes application-specific policies for the application. To upgrade the application, an upgraded control module is generated. Then, the upgraded control module is used to create an upgraded service module. Both the upgraded control module and the upgraded service module can be generated using class files for the original modules, which are loaded from a system repository. In this manner, the original control module and the original service module are upgraded.
    Type: Grant
    Filed: April 11, 2001
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Vladimir Matena, Rahul Sharma, Masood Mortazavi, Sanjeev Krishnan
  • Patent number: 7370243
    Abstract: A method and mechanism for error recovery in a processor. A multithreaded processor is configured to utilize software for hardware detected machine errors. Rather than correcting and clearing the detected errors, hardware is configured to report the errors precisely. Both program-related exceptions and hardware errors are detected and, without being corrected by the hardware, flow down the pipeline to a trap unit where they are prioritized and handled via software. The processor assigns each instruction a thread ID and error information as it follows the pipeline. The trap unit records the error by using the thread ID of the instruction and the pipelined error information in order to determine which ESR receives the information and what to store in the ESR. A trap handling routine is then initiated to facilitate error recovery.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory F. Grohoski, Ricky C. Hetherington, Paul J. Jordan, Robert M. Maier
  • Patent number: 7369575
    Abstract: Broadly speaking, a bandwidth matching device is provided for transforming a number of incoming data streams each having a first bandwidth into an outgoing data stream having a second bandwidth. More specifically, the bandwidth matching device provides an assembler and a disassembler. The assembler incorporates a stepped arrangement of cells for transforming the number of incoming data streams having a given bandwidth into an outgoing data stream having a larger bandwidth, wherein each portion of the outgoing data stream represents a concatenation of a number of portions of each of the incoming data streams. As a complement to the assembler, the disassembler uses a stepped arrangement of cells to transform the concatenated output generated by the assembler back into the number of incoming data streams originally received by the assembler.
    Type: Grant
    Filed: July 17, 2003
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Walter Nixon, Whay Sing Lee, Fay Chong, Jr.
  • Patent number: 7370305
    Abstract: One embodiment of the present invention provides a system that determines a feasible cell placement for an integrated circuit design. During operation, the system receives an input cell placement, which is typically determined using a quadratic placement technique. Next, the system receives a set of regions within the integrated circuit design. Each region has a capacity constraint which specifies an upper limit on the total cell area that can be placed within the region. The system then generates a bi-partite graph which comprises instance vertices, region vertices, and edges. An instance vertex is associated with a cell instance, a region vertex is associated with a region, and each edge is incident on an instance vertex and a region vertex. Each edge is assigned a cost that indicates the cost of placing the associated cell instance in the associated region. Next, the system associates edges with shadow edges. Note that an edge and an associated shadow edge are incident to the same instance vertex.
    Type: Grant
    Filed: February 8, 2006
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Amir H. Farrahi, Anurag Bhatnagar, Nabanjan Das
  • Patent number: 7370167
    Abstract: Broadly speaking, a device for addressing a shared resource is disclosed. The device includes at least one register in communication with the shared resource. The at least one register is configured to hold an address that is to be provided to the shared resource upon receipt of a clock signal. The device also includes a multiplexer for providing a next address to the at least one register. The multiplexer is disposed outside of a critical timing path for addressing the shared resource. The device for addressing the shared resource allows multiple users to be connected to the shared resource without adversely affecting both a speed of the shared resource and a number of users that can be achieved in an actual implementation of the shared resource.
    Type: Grant
    Filed: July 17, 2003
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Fay Chong, Jr., Walter Nixon, Whay Sing Lee
  • Patent number: 7370091
    Abstract: A distributed computing environment may employ spaces to provide a rendezvous mechanism that brokers services or content to clients. Services may advertise themselves in a space. Clients may find the advertisements in a space and use the information from an advertisement to access a service using a messaging mechanism. A space discovery protocol may be provided to find a space. A client may instantiate a discovery service to locate spaces. A listener agent may be configured associated with one or more spaces to listen for discovery requests. The listener agent may listen on various network interfaces, and may receive requests from clients looking for a space(s). The listener agent then responds with the service advertisement(s) or URIs for the service advertisements of the requested space(s). In one embodiment, the listener agent may be separate from the space and its functionality orthogonal to the functionality of the space.
    Type: Grant
    Filed: October 27, 2000
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat, Michael J. Duigou
  • Patent number: 7370329
    Abstract: A client-server system may include a primary state of session data. One or more application servers may include client states of the session data and may be configured to access the primary state. The session data may include one or more attributes. The distributed store may lock the primary state for access by a process executing on one of the application servers. Information may be maintained on which attributes are mutably accessed by the process. An object graph comparison of the mutably accessed attributes and a benchmark version of the attributes may be performed to determine which of the mutably accessed attributes were actually modified. The modified attributes may be used to synchronize the primary state with the client state.
    Type: Grant
    Filed: March 1, 2002
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla, Prakash Khemani
  • Patent number: 7369726
    Abstract: One embodiment of the present invention provides a system that communicates between a first semiconductor die and a second semiconductor die through optical signaling. During operation, the system converts an electrical signal into an optical signal using an electrical-to-optical transducer located on a face of the first semiconductor die, wherein the first semiconductor die and the second semiconductor die are oriented face-to-face so that the optical signal generated on the first semiconductor die shines on the second semiconductor die. Upon receiving the optical signal on a face of the second semiconductor die, the system converts the optical signal into a corresponding electrical signal using an optical-to-electrical transducer located on the face of the second semiconductor die.
    Type: Grant
    Filed: April 2, 2004
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert J. Drost, William S. Coates
  • Patent number: 7370101
    Abstract: Methods and apparatus, including computer program products, implementing and using techniques for testing a data service on a computing cluster having several computing nodes. A test package is installed on a test administration machine and on one or more of the computing nodes in the computing cluster. Data service configuration information is collected for the data service to be tested. Computing cluster configuration information is collected. The data service configuration information and the computing cluster configuration information are distributed to one or more of the computing nodes in the computing cluster. The data service is tested on the computing cluster by applying one or more data service test suites in the test package to the data service. A report containing results of the application of one or more of the data service test suites to the data service is generated.
    Type: Grant
    Filed: December 19, 2003
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Sekhar Lakkapragada, Ambujavalli Kesavan
  • Patent number: 7370013
    Abstract: A novel approach for determining an amount to be billed to a customer for the use of resources is based upon usage data and value data. The usage data indicates usage, by the customer, of a set of one or more resources during a specified period of time. The set of one or more resources may be dynamically selected and de-selected from a plurality of resources at any time. For example, the set of one or more resources may comprise a VSF as described herein. The value data indicates generally value provided by each resource from the set of one or more resources used during the specified period of time. The value provided by each resource may be expressed in service units per unit time and a charge may be applied for each service unit consumed during a specified period of time. Example billing schemes to which the approach is applicable include, without limitation, basic billing, flex billing, event flex billing and open flex billing.
    Type: Grant
    Filed: July 23, 2001
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Ashar Aziz, Thomas Markson, Martin Patterson, Mark Gray, Christopher J. Conway, Patrick A Tickle
  • Patent number: 7370171
    Abstract: A method for storing a tracing event including encountering a tracing probe, selecting a probe buffer corresponding to the tracing probe, obtaining a buffer within the probe buffer using a thread identifier corresponding to a thread that encountered the tracing probe, and storing the tracing event in the buffer.
    Type: Grant
    Filed: April 26, 2004
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Prabahar Jeyaram
  • Publication number: 20080104334
    Abstract: A method for managing access to a data element involves storing a first copy of the data element in a cache location, obtaining a request to modify the data element, where the request to modify the data element is associated with a first execution thread, marking the cache location as dirty based on the request to modify the data element, modifying the cache location according to the request to modify the data element once the cache location is marked as dirty, obtaining a request to read the data element while the cache location is marked as dirty, where the request to read the data element is associated with a second execution thread, providing a second copy of the data element in response to the request to read the data element based on the cache location being marked as dirty, and marking the cache location as clean after modifying the cache location is complete.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Gilles Bellaton, Karine Excoffier, Mark Craig
  • Publication number: 20080100952
    Abstract: Systems, computer implemented methodology, and computer readable media for measuring position error signal differential nonlinearity in timing based servo patterns. A set of two or more reading heads, positioned at various locations along a servo stripe and orientated transverse to the longitudinal motion of the tape, collect PES data concerning servo stripes. A differential between the two reading heads is examined at various locations along the servo stripe of the servo pattern to ascertain differential PES data regarding an area of interests along the servo stripe. Examination of the differential data is thereafter conducted to isolate systematic PES readings from nonsystematic PES readings. The nonlinearity of the systematic PES readings at the various locations along the servo stripe is measured so as provide the ability to compensate for the nonlinear differential PES associated with the non-ideal shape of servo stripes.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Steven G. Trabert, Kevin D. McKinstry, Hubert O. Hayworth
  • Publication number: 20080104215
    Abstract: A computer readable medium includes executable instructions for managing server configuration data by configuring a first server using local server configuration data, where the local server configuration data is stored on the first server and as shared server configuration data by a first directory service instance operating on the first server, synchronizing the first directory service instance with a second directory service instance operating on a second server, where the shared server configuration data is updated, and updating the local server configuration data using the updated shared server configuration data.
    Type: Application
    Filed: October 25, 2006
    Publication date: May 1, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Karine Excoffier, Gilles Bellaton, Mark Craig, Eric LePonner
  • Publication number: 20080104150
    Abstract: A method for priority-based allocation in a storage pool involves receiving a request to write a data item in the storage pool, where the storage pool includes multiple metaslabs, and where each of the metaslabs includes a contiguous region of data. The method further involves determining a target metaslab selected from the multiple metaslabs by comparing multiple allocation priorities, where each of the allocation priorities is associated with one of the metaslabs, allocating a block to the target metaslab, and writing the block to the target metaslab, where the block includes a portion of the data item.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: William H. Moore, Darrin P. Johnson, Jeffrey S. Bonwick, Tabriz I. Holtz
  • Publication number: 20080104204
    Abstract: A method for power-managing storage devices in a storage pool involves monitoring the storage pool to determine whether a storage management policy is satisfied, where the storage pool comprises a first storage device that is powered up and a second storage device that is powered down, powering up the second storage device after the storage management policy is satisfied, and making the second storage device available for use in the storage pool after the second storage device is powered up.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: William H. Moore, Darrin P. Johnson, Tabriz I. Holtz
  • Publication number: 20080104355
    Abstract: A method for reallocating blocks in a storage pool involves copying multiple source blocks to multiple replacement blocks, where the source blocks are stored on a source disk in the storage pool, and where the replacement blocks are stored on one or more replacement disks in the storage pool, and generating an indirection object, where the indirection object includes a mapping of locations of the source blocks to locations of the replacement blocks.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: William H. Moore, Darrin P. Johnson, Jeffrey S. Bonwick, Tabriz I. Holtz
  • Publication number: 20080101369
    Abstract: A method for transmitting data that includes receiving a first request to open a first virtual channel, the first virtual channel associated with a TCP connection, and negotiating a first payload encoding scheme between a client and a server to use on the first virtual channel. The method further includes receiving a first frame from the client, the frame including a first channel-id associated with the first virtual channel and a first payload that includes a first datum encoded using the first payload encoding scheme. In addition, the method includes decoding the first payload to obtain a decoded first datum and processing the decoded first datum to obtain a second datum. The method additionally includes generating a second frame that includes the first channel-id and a second payload that includes the second datum encoded using the first payload encoding scheme, and sending the second frame to the client.
    Type: Application
    Filed: December 7, 2006
    Publication date: May 1, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Paul D. Sandoz, Oleksiy Stashok
  • Publication number: 20080104247
    Abstract: A method of managing a plurality of computing resources including obtaining a first load threshold and a second load threshold, obtaining a first load value and a second load value, comparing the first load threshold and the second load threshold with the first load value and the second load value, and changing an operating mode of a resource of the plurality of computing resources when both the first load threshold and the second load threshold are between the first load value and the second load value.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Bharath Venkatakrishnan, Amit Kumar Sharma, Suraj Kumar Verma
  • Patent number: 7366880
    Abstract: One embodiment of the present invention provides a system that predicts a result produced by a section of code in order to support speculative program execution. The system begins by executing the section of code using a head thread in order to produce a result. Before the head thread produces the result, the system generates a predicted result to be used in place of the result. Next, the system allows a speculative thread to use the predicted result in speculatively executing subsequent code that follows the section of code. After the head thread finishes executing the section of code, the system determines if a difference between the predicted result and the result generated by the head thread has affected execution of the speculative thread. If so, the system executes the subsequent code again using the result generated by the head thread. If not, the system performs a join operation to merge state associated with the speculative thread with state associated with the head thread.
    Type: Grant
    Filed: January 25, 2006
    Date of Patent: April 29, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Shailender Chaudhry, Marc Tremblay