Patents Assigned to Sun Microsystems
  • Publication number: 20100125837
    Abstract: A system performs operations comprising creating a call graph for a program translated from source code, identifying redundant exception handling code in the program utilizing the call graph, and removing the redundant exception handling code. The operation of identifying redundant exception handling code may comprise identifying at least one function or callsite by determining that a first function in the at least one function's or callsite's callee chain throws an exception and that the exception is handled by a second function in the function's or callsite's callee chain or by determining that an exception is not thrown in the at least one function's or callsite's callee chain. The operation of removing the redundant exception handling code may comprise removing redundant exception handling code included in at least one function or callsite and/or removing at least one entry for the at least one function or callsite from an exception lookup table.
    Type: Application
    Filed: November 14, 2008
    Publication date: May 20, 2010
    Applicant: Sun Microsystems, Inc.
    Inventors: Sheldon M. Lobo, Fu-Hwa Wang
  • Patent number: 7721274
    Abstract: Performance information can be utilized for comparison of resolving an external object reference through a linking module against accessing the external object directly (“relocation processing”). With the performance information, a determination of whether performing relocation processing on a runtime linked external object reference provides improved runtime performance sufficient to outweigh the runtime linking overhead incurred from the relocation processing is made. If the improvement in runtime performance is sufficient, then the runtime linked external object reference, or the code section that includes the reference, is marked to indicate that relocation processing should be applied.
    Type: Grant
    Filed: May 5, 2004
    Date of Patent: May 18, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Maksim V. Panchenko, Fu-Hwa Wang
  • Publication number: 20100122036
    Abstract: Methods and apparatuses are disclosed for improving speculation success in processors. In some embodiments, the method may include executing a plurality of threads of program code, the plurality of threads comprising a first speculative load request, setting an indicator bit corresponding to a cache line in response to the first speculative load request, and in the event that a second speculative load request from the plurality of threads refers to a first cache line with the indicator bit set, determining if a second cache line is available.
    Type: Application
    Filed: November 7, 2008
    Publication date: May 13, 2010
    Applicant: Sun Microsystems, Inc.
    Inventors: Zoran Radovic, Erik Martin Roland Karlsson
  • Publication number: 20100122038
    Abstract: Methods and apparatuses are disclosed that allow for improved speculation success in execute ahead microprocessors. In some embodiments, the method may include speculatively executing a first thread of a program code while a second thread of the program code is executing, determining if a load request is serviceable from a cache line within a cache, and in the event that the load request is serviceable from the cache line, associating a first indicator bit with the cache line. The method also may include determining whether the cache line associated with the first indicator bit has been evicted, and in the event that the cache line is evicted, allowing speculative execution of the first thread to continue.
    Type: Application
    Filed: November 7, 2008
    Publication date: May 13, 2010
    Applicant: Sun Microsystems, Inc.
    Inventors: Chaiyasit Manovit, Paul Nicholas Loewenstein
  • Publication number: 20100115322
    Abstract: A system may be employed for allowing the synchronous operation of an asynchronous system. The system may be a system that may include multiple clusters. The clusters may include asynchronous clock domains and may also receive a global clock signal through a global clock grid that may overlay the system. Furthermore, a method may be employed for synchronizing asynchronous clock domains within a cluster. The method of synchronizing may include providing a global clock that corresponds to a global clock grid to each cluster. Additionally, the method of synchronizing may include accounting for the mismatch between the asynchronous clock domains by employing logic in a block.
    Type: Application
    Filed: November 3, 2008
    Publication date: May 6, 2010
    Applicant: Sun Microsystems, Inc.
    Inventor: Bruce Petrick
  • Publication number: 20100115530
    Abstract: One particular implementation may take the form of a system or method for tracking application identification and application context in a context-isolated computing environment. The method may store such application information to reduce redundant information being stored on a stack. More particularly, the embodiment may store the application information in a context-specific marker frame. The context-specific marker frame may be stored once on the stack or it may be stored separately from the stack to maintain a small stack size. In another implementation, an invocation handler method may be called to store the redundant information about the executing application. The invocation handler may store the necessary information in a well-known location for later use by the virtual machine. The invocation handler may also provide further benefits, such as synchronization to ensure thread safety on shareable objects.
    Type: Application
    Filed: October 30, 2008
    Publication date: May 6, 2010
    Applicant: Sun Microsystems, Inc.
    Inventors: Saqib Ahmad, Tanjore Ravishankar, Thierry Violleau
  • Patent number: 7711936
    Abstract: An approach for improving efficiency of speculative execution of instructions is disclosed. In one embodiment, a branch predictor entry associated with a particular branch instruction is accessed when the particular branch instruction is to be speculatively executed. The branch predictor entry may take on different values indicating whether a first possible path or a second possible path should be executed. Based upon a current value of the branch predictor entry, a predicted path for the particular branch instruction may be determined. Instructions along the predicted path may be executed, before the particular branch instruction is resolved. Once the particular branch instruction is resolved, a cost associated with executing the one or more instructions may be determined. Accordingly, the branch predictor entry may be updated by an amount that is commensurate with the cost.
    Type: Grant
    Filed: August 28, 2007
    Date of Patent: May 4, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Magnus Ekman
  • Patent number: 7706101
    Abstract: An actuator assembly is provided for positioning a transducer with a primary frame and a secondary frame mounted thereto for transverse translation. A coarse actuator is connected to the frames for translating the secondary frame incrementally. A carriage with a transducer is mounted to the secondary frame for transverse translation. A fine actuator is connected to the secondary frame and the carriage. The coarse actuator provides coarse adjustment and the fine actuator provides fine adjustment of the transducer for following tape. A method for positioning a transducer is provides a transducer connected to a coarse actuator and a fine actuator. Tape is conveyed across the transducer and lateral motion of the tape is monitored. The transducer is positioned by the fine actuator relative to a lateral tape position, and if the position exceeds a predetermined range, then the transducer is positioned by the actuation of the coarse actuator.
    Type: Grant
    Filed: December 4, 2007
    Date of Patent: April 27, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: William J. Vanderheyden
  • Patent number: 7707137
    Abstract: One embodiment of the present invention provides a system for browsing a collection of metadata to locate media content associated with an item of metadata. The system operates by receiving a selection of an affinity from a user, wherein the affinity specifies a baseline preference of the user. Next, the system determines a value for each item of metadata in the collection of metadata that specifies how well each item of metadata fits the affinity. Finally, the system arranges the collection of metadata in a view, so that items of metadata with similar values are arranged in close proximity within the view, and so that items of metadata with dissimilar values are not arranged in close proximity within the view.
    Type: Grant
    Filed: July 6, 2006
    Date of Patent: April 27, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: David S. Nazarian, Brenda K. Laurel, Kimberly A. Perzel
  • Patent number: 7702875
    Abstract: A computing system comprises a processor, a data storage unit, and a block size table (BST). The processor includes at least one cache configured to store data. The data storage unit is configured to store data in a compressed format in fixed size units. The BST is configured to store block size entries corresponding to data blocks stored in the data storage unit. In response to a miss in the cache corresponding to a target data block, the processor is configured to identify an entry in the BST corresponding to the target data block, utilize information stored in the entry to determine the location of the target data block in the data storage unit, and cause the target data block to be retrieved from the data storage unit, decompressed, and stored in the cache.
    Type: Grant
    Filed: September 9, 2005
    Date of Patent: April 20, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Magnus Ekman, Per O. Stenström
  • Patent number: 7702628
    Abstract: One embodiment of the present invention provides a system that performs operations on a hash table that is fully dynamic and lock-free. This hash table is implemented with a linked list containing data nodes and a bucket array containing bucket pointers, wherein the bucket pointers point to portions of the linked list that function as hash buckets, and wherein the linked list contains only data nodes and no dummy nodes.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: April 20, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Victor Luchangco, Paul A. Martin, Jan-Willem Maessen
  • Patent number: 7703098
    Abstract: By exploiting an early release facility that may be provided by certain transactional memory designs, we allow for transaction software constructs that wait on removal (or satisfaction) of a condition that would otherwise result in transaction abort. Absent exploitation of such a such a facility, the act of checking the condition would typically introduce a corresponding location into the read set of the transaction, and a subsequent modification of that location that removed (or satisfied) the condition, would result in abortion of the blocked transaction. By exploiting an early release facility such as described herein, a transaction may release the location (or locations) corresponding the condition, retry, and once the transient condition is removed (or satisfied), complete and commit. In this way, computation effort may be conserved while still employing a conceptually simple and convenient coordination facility.
    Type: Grant
    Filed: July 20, 2004
    Date of Patent: April 20, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Mark S. Moir, Maurice Herlihy
  • Patent number: 7702887
    Abstract: A method and mechanism for monitoring events in a processing system. A performance monitoring mechanism includes is configured to store a count of events in an event counter. Periodically, the count stored in the event counter is updated to a new count. If the new count equals a predetermined value, an indication that the count equals the predetermined value is conveyed. If the new count does not equal the predetermined value, but is within a given epsilon of the predetermined value and the occurrence of a corresponding event is detected, an indication that the count equals the predetermined value is conveyed. The mechanism is further configured to suppress event counts which correspond to mis-speculations.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: April 20, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory F. Grohoski, Paul J. Jordan, Yue Chang
  • Patent number: 7697277
    Abstract: A hard disk drive bracket includes a bezel, a lever arm attached to the bezel rotatably between a closed position against the bezel and an open position apart from the bezel, a release mechanism attached to the bezel including a locking member that latches the lever arm in the closed position and a release button arranged to unlatch the lever arm from the locking member when the release button is depressed, and a horn attached to the bezel translatably between a natural position apart from the release mechanism and a forced position that allows the horn and release mechanism to interact to unlatch the lever arm from the locking member. The horn and lever arm of the hard disk drive bracket may be adapted to serve as a cam that automatically depress the release button as the lever arm is being closed.
    Type: Grant
    Filed: April 25, 2007
    Date of Patent: April 13, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Timothy W. Olesiewicz, Brett C. Ong, William A. De Meulenaere
  • Patent number: 7698398
    Abstract: System and method for generating Web Services using a Web Services Structured Methodology. One embodiment may be implemented as a Web Services architecture design mechanism. Lifecycles of the Web Services design process may include vision and strategy, architecture design, development, integration, and deployment. In one embodiment, the Web Services architecture design mechanism may implement a structured methodology design process for Web Services. One embodiment may include a reusable Web Services design pattern catalog and a mechanism for maintaining and updating the catalog and for using the catalog to apply design patterns when designing and implementing Web Services. One embodiment may be used for Enterprise And Cross-Enterprise Integration of Web Services. One embodiment may be used for Legacy Mainframe Integration and Interoperability with Web Services.
    Type: Grant
    Filed: September 9, 2003
    Date of Patent: April 13, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Ray Y Lai
  • Patent number: 7698227
    Abstract: A system and method for providing traceable acknowledgement of a digital data distribution license is presented. A license specifying terms applicable to a user requesting a distribution of data maintained in digital form is defined. The digital data distribution is encoded by application of a phrase used to convolute the digital data distribution. The phrase signifies an acknowledgement by the user to be bound by the license terms. The digital data is distributed. Access to the digital data distribution requires application of the phrase to deconvolute the digital data distribution.
    Type: Grant
    Filed: July 14, 2005
    Date of Patent: April 13, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Graham Hamilton
  • Patent number: 7698692
    Abstract: Techniques for preparing a binary file for future instrumentation are provided. First object code and second object code are linked into a binary file. The first object code is created by compiling the source code of a computer program. The second object code comprises a first set of instrumentation code that is not referenced by any instructions in the object code of the computer program. The second object code stores commonly used instrumentation routines that are referenced by a second set of instrumentation code, which second set is inserted in the binary file when the binary file is subsequently instrumented.
    Type: Grant
    Filed: November 10, 2005
    Date of Patent: April 13, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Chandrashekhar Garud, Fu-Hwa Wang
  • Patent number: 7697434
    Abstract: A method for controlling resource utilization of a container that includes associating the container with a virtual network stack, receiving a plurality of packets from a network, analyzing each of the plurality of packets by a classifier to determine to which of a plurality of temporary data structures each of the plurality of packet is forwarded, forwarding each of the plurality of packets to one of the plurality of temporary data structures as determined by the classifier, requesting at least one packet for the one of the plurality of temporary data structures by the virtual network stack, wherein the virtual network stack is associated with the one of the plurality of temporary data structures, and forwarding the at least one packet to the virtual network stack.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: April 13, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Nicolas G. Droux
  • Patent number: 7696798
    Abstract: Method and apparatus for generating system clock synchronization pulses using a Phase Locked Loop (PLL) lock detect signal are provided. The method includes utilizing a clock lock detect signal indicative that a system clock is synchronized with an internal clock, and determining an initial count value. Then, start counting beginning at a first rising edge of the system clock after the clock lock detect signal is generated, the counting starting with the initial count value. The method further includes generating a synchronization pulse (syncnp) when the counting ends, where the syncnp indicates the beginning of the next system clock cycle, and continue generating syncnps separated by one system clock cycle so as to continue indicating the beginning of the next system clock cycle. The method further guarantees stopping the syncnp generation when the lock detect is inactive indicating that the internal clock and the system clock are not synchronized.
    Type: Grant
    Filed: February 8, 2008
    Date of Patent: April 13, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Rajesh Pendurkar
  • Patent number: RE41293
    Abstract: Global address and data routers interconnect individual system units each having its own processors, memory, and I/O. A domain filter coupled to the routers dynamically defines groups of system units as domains and clusters of domains which have both software and hardware isolation from each other. Clusters can share dynamically definable ranges of memory with each other. The domain filter has software-loadable registers on the system units and in the global routers to set the parameters of the domains and clusters. The registers label individual inter-system transactions on the routers as invalid for system units not in the same domain or cluster as the originating unit.
    Type: Grant
    Filed: August 1, 2001
    Date of Patent: April 27, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Daniel P. Drogichen, Andrew J. McCrocklin, Nicholas E. Aneshansley