Patents Assigned to Sun Microsystems
  • Patent number: 7383390
    Abstract: A system including a memory, a first processor operatively connected to a first cache, a second processor operatively connected to a second cache, a directory implemented in hardware operatively connected to the first cache, the second cache, and the memory, wherein the directory comprises at least one location, and wherein the at least one location is configured to store a first entry and a second entry.
    Type: Grant
    Filed: October 19, 2004
    Date of Patent: June 3, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Jan-Willem Maessen
  • Patent number: 7383433
    Abstract: Embodiments of a decentralized, distributed trust mechanism that may be used in peer-to-peer platforms, to implement trust relationships based on data relevance between peers on a network and to implement trust relationships between peers and content and data (codat). In one embodiment, the trust mechanism may provide a trust spectrum of multiple levels wherein unique peer identities may be established to enable authentication and the assignment of the peers' associated access policies within a peer group. In one embodiment, the trust spectrum may have Certificate Authority signed certificates as a maximum level of security, and self-signed certificates as a minimum level of security. Since a certificate is one form of codat, in one embodiment the trust mechanism may be applied to a peer group member's collection of signed certificates for a given peer group.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: June 3, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: William J. Yeager, Rita Y. Chen
  • Patent number: 7383401
    Abstract: A method and system for identifying multi-block indirect memory access chains. A method may include identifying basic blocks between an entry point and an exit point of a procedure, where the procedure includes a control statement governing its execution. It may be determined whether a probability of execution of a given basic block relative to the control statement equals or exceeds a first threshold value. If so, a respective set of one or more chains of indirect memory accesses may be generated, where each chain includes at least a respective head memory access that does not depend for its memory address computation on another memory access within the given basic block. Chains may be joined across basic blocks dependent upon whether the relative execution probabilities of the blocks exceed a threshold value.
    Type: Grant
    Filed: June 5, 2006
    Date of Patent: June 3, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Spiros Kalogeropulos, Yonghong Song, Partha P. Tirumalai
  • Patent number: 7383437
    Abstract: A system for implementing a super-user-compatible privilege security policy on a computer operating system is disclosed. The system includes a kernel for enforcing a security policy on processes, based on privileges. The system also includes a privilege model that interfaces with the kernel and implements a framework in which super-user based processes and privilege based processes transparently interface with the kernel. The privilege model includes several privilege sets associated with each process, a privilege awareness property state associated with each process, the property state indicating whether or not a process is privilege aware, and a software module for automatically modifying the privilege sets and the property state, on a per process basis, based on individual process behavior.
    Type: Grant
    Filed: September 8, 2003
    Date of Patent: June 3, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Casper H. S. Dik
  • Publication number: 20080127134
    Abstract: A method and mechanism for producing and executing self-steering program code. A method comprises analyzing program code and identifying portions which may be amenable to optimization. Having identified such a portion of code, at least one optimized version of the identified code is added to the program code. Additionally, a selection mechanism is added to the program code which is configured to select between two or more versions of the portion of code during runtime. The modified program code is then compiled with the added optimized version and the selection mechanism. During execution, monitoring of behavior of the code may be enabled or disabled. Based upon such monitored behavior, a different version of the code may be selected for execution.
    Type: Application
    Filed: October 27, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Partha P. Tirumalai, Kurt J. Goebel, Yonghong Song, Spiros Kalogeropulos
  • Publication number: 20080127072
    Abstract: In general, in one aspect, the invention relates to a computer readable medium comprising executable instructions for verifying generation of an intermediate representation (IR). The generation of the IR is verified by generating the IR from source code and interpreting the IR to obtain an interpretation result. Interpreting the IR includes encountering a method call in the IR, locating an execution unit corresponding to the method call, executing the execution unit to obtain an execution result, replacing a portion of the IR with the execution result to obtain a reduced IR, and obtaining the interpretation result from the reduced IR. Finally, the interpretation result is compared to an expected result of the source code, wherein the generation of the IR is verified if the interpretation result equals the expected result.
    Type: Application
    Filed: September 7, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Bernd J.W. Mathiske, David M. Ungar, Mario I. Wolczko, Gregory M. Wright, Matthew L. Seidl
  • Publication number: 20080123288
    Abstract: A movable data center is disclosed that comprises a portable container in which an operable computer system is assembled. A data link, power supply link and cooling system are provided through ports on the exterior of the container. The computer system is assembled to a rack that is secured to the container with a shock absorbing mechanism.
    Type: Application
    Filed: September 13, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventor: W. Daniel Hillis
  • Publication number: 20080127116
    Abstract: A data space profiler may include a graphical user interface (GUI) for sorting, aggregating and displaying profile data associated with runtime events of a profiled software application. This profile data may include costs associated with events as well as extended address elements and other code behavior attributes associated with them. The GUI may include means for selecting a perspective from which cost data is to be presented as well as presentation options for displaying the data. The presentation options may include panning and zooming options, which may determine how the data is sorted and/or aggregated for display. The GUI may also include means for specifying filter criteria, which may be used to determine which data to display. By providing means to alternate the display of profile data according to different perspectives and filtering criteria, the GUI may facilitate identification of performance bottlenecks of the profiled application and the causes thereof.
    Type: Application
    Filed: September 7, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Nicolai Kosche, Arpana Jayaswal, Martin S. Itzkowitz
  • Publication number: 20080126580
    Abstract: A method for processing a first input/output (I/O) request on a network attached storage (NAS) device that includes receiving the first I/O request from a source by the NAS device, placing the first I/O request in an I/O queue associated with the NAS device, wherein the first I/O request is placed in the I/O queue based on a priority of the first I/O request using a remote storage access protocol, and when the first I/O request is associated with the highest priority in the I/O queue, determining whether a bandwidth associated with the source of the first I/O request is exceeded, processing the first I/O request if the bandwidth associated with the source of the first I/O request is not exceeded, and placing the first I/O request in sleep mode if the bandwidth associated with the source of the first I/O request is exceeded.
    Type: Application
    Filed: July 20, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, William H. Moore, Brian L. Wong
  • Publication number: 20080127156
    Abstract: A method for runtime environment emulation involves loading an application class of an object-oriented application, where the object-oriented application is executing in a runtime environment, and where the application class includes a method call that is unsupported by the runtime environment. The method further involves translating, during loading of the application class, the unsupported method call into one or more method calls that are supported by the runtime environment, to obtain a translated class, where the one or more supported method calls emulate the unsupported method call.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Kyle Matthew Buza, Robert James Rocchetti
  • Publication number: 20080126866
    Abstract: A method for performing kernel-level diagnostics. The method includes obtaining a hardware trap associated with an attempt by a kernel-level instruction stream to access a memory address, wherein the memory address is referenced by a hardware watchpoint facility, forwarding the hardware trap to a software breakpoint handler, executing a diagnostic instruction defined by the software breakpoint handler to obtain diagnostic data, transmitting the diagnostic data to a user, and returning execution flow to the kernel-level instruction stream.
    Type: Application
    Filed: August 4, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventor: Carl Wayne Hopkinson
  • Publication number: 20080123536
    Abstract: A method for testing a network topology. The method includes obtaining the network topology, where the network topology includes a number of nodes connected by at least one link. The method further includes instantiating a number of containers corresponding to the nodes, instantiating a number of virtual network stacks, and instantiating at least one virtual switch corresponding to the at least one link. The containers are subsequently connected to the virtual network stacks using the at least one virtual switch. At least one of the virtual network stacks is then configured to send and receive packets. Finally, the network topology is tested by sending a packet through at least one of the plurality of virtual network stacks and the at least one virtual switch, wherein a result of the testing is used to validate the network topology.
    Type: Application
    Filed: November 28, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Darrin P. Johnson, Erik Nordmark, Kais Belgaied
  • Publication number: 20080127107
    Abstract: A data space profiler may include an analysis engine that associates runtime events of profiled software applications with execution costs and extended address elements. Relational agents in the analysis engine may apply functions to profile data collected for each event to determine the extended address element values to be associated with the event. Each extended address element may correspond to a data profiling object (e.g., hardware component, software construct, data allocation construct, abstract view) involved in each event. The extended address element values may be used to index into an event set for the profiled software application to present costs from the perspective of these profiling objects. A filtering mechanism may also be used to extract profile data from the event set corresponding to events that satisfy the filter criteria. By alternating between presentation of profiling object views and filtered event data, performance bottlenecks and their causes may be identified.
    Type: Application
    Filed: September 7, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Nicolai Kosche, Oleg V. Mazurov, Martin S. Itzkowitz
  • Publication number: 20080127120
    Abstract: A system and method for profiling a software application may include means for capturing profiling information corresponding to an instruction identified as having executed coincident with the occurrence of a runtime event, and for associating the profiling information with the event in an event set. In some embodiments, the identified instruction, which may have triggered the event, may be located in the program code sequence at a predetermined position relative to the current program counter value at the time the event was detected. The predetermined relative position may be fixed dependent on the processor architecture and may also be dependent on the event type. The predetermined relative position may be zero, indicating that when the event was detected, the program counter value corresponded to an instruction associated with the event. If the identified instruction is an ambiguity-creating instruction, an indication of ambiguity may be associated with the event.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 29, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Nicolai Kosche, Yukon L. Maruyama, Martin S. Itzkowitz
  • Patent number: 7379846
    Abstract: A method and system are provided for automated diagnosis for a system. In one embodiment, the method includes providing a fault tree representation of the system, the fault tree specifying propagations of errors generated in the system by problems to produce error reports. At least some of the propagations have timing information associated therewith. One or more error reports having timing information associated therewith are received and analysed using the fault tree representation to determine a suspect list of problems. The suspect list contains those problems that could have generated errors to produce the received error reports compatible with the propagations in the fault tree, and consistent with the timing information associated with the propagations and the received error reports.
    Type: Grant
    Filed: June 29, 2004
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Emrys Williams, Andrew Rudoff
  • Patent number: 7379453
    Abstract: A method and apparatus for facilitating transfer of packets from communication hardware to a host computing device or software. After receiving s set of packets at a communication interface, the system writes in a hybrid buffer a type II completion line configured to identify a payload buffer in which payloads of packets are stored. For each packet, the system writes a type I completion line configured to indicate the length of a packet's header in the hybrid buffer and the length and/or offset of the packet's payload in the payload buffer. A type 0 completion line indicates that no more packets are stored in the payload buffer. The system then signals the host computing device by configuring a single completion descriptor to identify the hybrid buffer in which the completion lines are stored. The host computing device reads the single completion descriptor to process the packets.
    Type: Grant
    Filed: March 29, 2004
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Francesco R. DiMambro
  • Patent number: 7380110
    Abstract: An efficient branch prediction structure is described that bifurcates a branch prediction structure into at least two portions where information stored in the second portion is aliased amongst multiple entries of the first portion. In this way, overall storage (and layout area) can be reduced and scaling with a branch prediction structure that includes a (2N)K×1 branch direction entries and a (N/2)K×1 branch prediction qualifier entries is less dramatic than conventional techniques. An efficient branch prediction structure includes entries for branch direction indications and entries for branch prediction qualifier indications. The branch direction indication entries are more numerous than the branch prediction qualifier entries.
    Type: Grant
    Filed: September 11, 2003
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert D. Nuckolls, Rabin A. Sugumar, Chandra M. R. Thimmannagari
  • Patent number: 7380248
    Abstract: Methods and apparatus, including computer program products, implementing and using techniques for alerting one or more computer software application threads waiting to retrieve events from an event port. An alert event generated by a computer software application is received at the event port. A state of the event port is changed to an alert state, if the event port is not already in an alert state, in response to receiving the alert event. One or more of the computer software application threads is notified about the alert state of the event port.
    Type: Grant
    Filed: February 26, 2004
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Miguel Isenberg, Bryan M. Cantrill, Bart Smaalders, Joseph J. Bonasera
  • Patent number: 7380280
    Abstract: Access to digital content may be controlled by receiving a rights locker enrollment request from a user device associated with a user, where the rights locker enrollment request comprises a digital content request and enrollment authentication data. A determination of whether the user is authorized comprises determining the rights of the user to access the rights locker and the rights of the user to digital content specified by the digital content request. If the user is authorized, the rights locker is initialized with rights to the digital content. If a first token used to create the authenticated rights locker access request has been fully redeemed, a new token that authenticates future access to a rights locker corresponding to the digital content is obtained. An authenticated rights locker access request that is based at least in part on the new token is created and then sent.
    Type: Grant
    Filed: October 15, 2003
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Eduard K. de Jong
  • Patent number: 7380227
    Abstract: Automated techniques may correct certain rule violations, simplifying and automating the design layout of an electronic circuit, whether embodied as a design encoding or as a fabricated electronic circuit. Violations of enclosure design rules, those specifying the minimum amount that a geometry on a first layer must overlap a geometry on a second layer of a design layout, and more specifically, violations of asymmetric enclosure design rules, may be corrected using a geometric construction algorithm. This geometric construction algorithm may use the known width of the geometry on the second layer and a predetermined size factor to determine other parameters for constructing and placing a patch over a violation, such as the patch width, the patch length, the patch starting edge, and the patch direction. Patches may be constructed using different predetermined size factors when asymmetric enclosure violations are located on first layer geometries in different width ranges.
    Type: Grant
    Filed: October 28, 2005
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Mu-Jing Li