Patents Assigned to Sun Microsystems
-
Patent number: 7383390Abstract: 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: GrantFiled: October 19, 2004Date of Patent: June 3, 2008Assignee: Sun Microsystems, Inc.Inventor: Jan-Willem Maessen
-
Patent number: 7383433Abstract: 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: GrantFiled: June 7, 2002Date of Patent: June 3, 2008Assignee: Sun Microsystems, Inc.Inventors: William J. Yeager, Rita Y. Chen
-
Patent number: 7383401Abstract: 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: GrantFiled: June 5, 2006Date of Patent: June 3, 2008Assignee: Sun Microsystems, Inc.Inventors: Spiros Kalogeropulos, Yonghong Song, Partha P. Tirumalai
-
Patent number: 7383437Abstract: 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: GrantFiled: September 8, 2003Date of Patent: June 3, 2008Assignee: Sun Microsystems, Inc.Inventor: Casper H. S. Dik
-
Publication number: 20080127134Abstract: 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: ApplicationFiled: October 27, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventors: Partha P. Tirumalai, Kurt J. Goebel, Yonghong Song, Spiros Kalogeropulos
-
Publication number: 20080127072Abstract: 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: ApplicationFiled: September 7, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventors: Bernd J.W. Mathiske, David M. Ungar, Mario I. Wolczko, Gregory M. Wright, Matthew L. Seidl
-
Publication number: 20080123288Abstract: 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: ApplicationFiled: September 13, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventor: W. Daniel Hillis
-
Publication number: 20080127116Abstract: 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: ApplicationFiled: September 7, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventors: Nicolai Kosche, Arpana Jayaswal, Martin S. Itzkowitz
-
Publication number: 20080126580Abstract: 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: ApplicationFiled: July 20, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventors: Sunay Tripathi, William H. Moore, Brian L. Wong
-
Publication number: 20080127156Abstract: 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: ApplicationFiled: October 31, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventors: Kyle Matthew Buza, Robert James Rocchetti
-
Publication number: 20080126866Abstract: 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: ApplicationFiled: August 4, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventor: Carl Wayne Hopkinson
-
Publication number: 20080123536Abstract: 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: ApplicationFiled: November 28, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventors: Darrin P. Johnson, Erik Nordmark, Kais Belgaied
-
Publication number: 20080127107Abstract: 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: ApplicationFiled: September 7, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventors: Nicolai Kosche, Oleg V. Mazurov, Martin S. Itzkowitz
-
Publication number: 20080127120Abstract: 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: ApplicationFiled: October 31, 2006Publication date: May 29, 2008Applicant: Sun Microsystems, Inc.Inventors: Nicolai Kosche, Yukon L. Maruyama, Martin S. Itzkowitz
-
Patent number: 7379846Abstract: 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: GrantFiled: June 29, 2004Date of Patent: May 27, 2008Assignee: Sun Microsystems, Inc.Inventors: Emrys Williams, Andrew Rudoff
-
Patent number: 7379453Abstract: 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: GrantFiled: March 29, 2004Date of Patent: May 27, 2008Assignee: Sun Microsystems, Inc.Inventor: Francesco R. DiMambro
-
Patent number: 7380110Abstract: 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: GrantFiled: September 11, 2003Date of Patent: May 27, 2008Assignee: Sun Microsystems, Inc.Inventors: Robert D. Nuckolls, Rabin A. Sugumar, Chandra M. R. Thimmannagari
-
Patent number: 7380248Abstract: 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: GrantFiled: February 26, 2004Date of Patent: May 27, 2008Assignee: Sun Microsystems, Inc.Inventors: Miguel Isenberg, Bryan M. Cantrill, Bart Smaalders, Joseph J. Bonasera
-
Patent number: 7380280Abstract: 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: GrantFiled: October 15, 2003Date of Patent: May 27, 2008Assignee: Sun Microsystems, Inc.Inventor: Eduard K. de Jong
-
Patent number: 7380227Abstract: 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: GrantFiled: October 28, 2005Date of Patent: May 27, 2008Assignee: Sun Microsystems, Inc.Inventor: Mu-Jing Li