Patents Assigned to Sun Microsystems
-
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: 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: 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: 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: 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: 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: 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: 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
-
Publication number: 20080120619Abstract: A system, apparatus, and method are directed to enabling a user to analyze real-time scheduling decisions of resources in a computing environment. A scheduler component maps jobs to resources, and schedule jobs for execution. In one embodiment, the scheduler component continually iterates, based on job characteristics, available resources, required resources, policies, or other constraints. While the scheduler component performs its tasks, a scheduling trace interface (STI) component may perform a trace of decisions made by the scheduler component, as well as collect static and/or dynamic state information used by the scheduler component. In one embodiment, the STI component may generate a snapshot of the scheduling decisions, and state information. A user interface may be employed to query the scheduling snapshots to monitor and analyze the scheduling decisions, and state information. In one embodiment, the user may then modify a job, the job's requirements, or the like, based on the analysis.Type: ApplicationFiled: November 16, 2006Publication date: May 22, 2008Applicant: Sun Microsystems, Inc.Inventor: Sharma R. Podila
-
Publication number: 20080120474Abstract: A method for processing using a shared file that includes creating a plurality of mmaps between a shared file and a plurality of address spaces, wherein each of the plurality of mmaps maps at least a portion of the shared file to one of the plurality of address spaces, and wherein each of the plurality of address spaces is associated with one of a plurality of processors, transferring, in parallel, data between the shared file and the address spaces using the plurality of mmaps associated with the plurality of address spaces, processing the data in parallel by the plurality of processors to obtain a result, wherein the plurality of processors access data from the plurality of address spaces, and storing the result in the shared memory.Type: ApplicationFiled: November 17, 2006Publication date: May 22, 2008Applicant: Sun Microsystems, Inc.Inventors: Andrew B. Hastings, Alok N. Choudhary, Harriet G. Coverston
-
Publication number: 20080120476Abstract: A method for processing using a shared file that includes allocating a first working buffer between the shared file and a plurality of address spaces, wherein each of the plurality of address spaces is associated with one of a plurality of processors, copying first data from the shared file to the first working buffer by a first aggregator copying the first data from the first working buffer to the plurality of address spaces by the first aggregator, processing the first data, in parallel, by the plurality of processors to obtain a result, wherein the plurality of processors access data from the plurality of address spaces, and storing the result in the shared memory.Type: ApplicationFiled: November 17, 2006Publication date: May 22, 2008Applicant: Sun Microsystems, Inc.Inventors: Andrew B. Hastings, Anton B. Rang, Alok N. Choudhary
-
Publication number: 20080116275Abstract: An embedded device includes a web interface configured to receive a request for an electronic product information (EPID) report, and send the request to a request handling service. The embedded device further includes the request handling service, configured to deploy one or more event handling components based on the request. The embedded device further includes the one or more event handling components configured to generate an EPID event cycle based on an EPID read cycle, according to an event cycle boundary condition, generate the EPID report based on the EPID event cycle, and transmit the EPID report to a client. The embedded device further includes a reader adapter configured to obtain the EPID read cycle, and transmit the EPID read cycle to the one or more event handling components.Type: ApplicationFiled: October 25, 2006Publication date: May 22, 2008Applicant: Sun Microsystems, Inc.Inventors: James B. Clarke, Cynthia Joann Osmon
-
Patent number: 7376855Abstract: Input/output data transmission between a transmitting integrated circuit and a receiving integrated circuit requires a clock domain synchronizer to synchronize incoming data aligned to a clock signal of the transmitting integrated circuit to a clock signal of the receiving integrated circuit. During a start-up routine, the clock domain synchronizer propagates a pre-determined pattern of data bits through a first circuit path designed to reduce or eliminate metastability. During a normal operations mode, the clock domain synchronizer synchronizes the data signal to the clock signal of the receiving integrated circuit through a second circuit path.Type: GrantFiled: May 20, 2004Date of Patent: May 20, 2008Assignee: Sun Microsystems, Inc.Inventors: Claude R. Gauthier, Aninda K. Roy
-
Patent number: 7376940Abstract: Mechanisms can be used to facilitate suspension of a mutator thread (or mutator threads) while imposing negligible overhead on the mutator computation during periods when thread suspension is not requested. Mechanisms are provided to spill values from a fixed set of resources to a secondary store and to fill values from the secondary store into the fixed set in correspondence with function call triggered overflows and function return triggered underflows. In some configurations, modified spill and/or fill mechanism(s) are used to suspend threads at safe points coinciding with call and/or return sites. Because the modified spill and/or fill mechanism(s) impose negligible overhead when not employed and can be engaged in response to an event (e.g., a start garbage collection event), safe points can be defined at call and/or return points throughout mutator code to reduce the latency between the event and suspension of threads.Type: GrantFiled: June 4, 2004Date of Patent: May 20, 2008Assignee: Sun Microsystems, Inc.Inventors: William Bush, Mario Wolczko
-
Patent number: 7376657Abstract: A method for inserting a first prefix, including segmenting the first prefix into a first plurality of segments, indexing into a first trie node block using a first segment of the first plurality of segments to obtain a first trie node, obtaining a second segment of the first plurality of segments, determining whether the second segment of the first plurality of segments includes contiguous zeros, if the second segment includes contiguous zeros determining a number of contiguous zeros, determining a first skip level using the number of contiguous zeros, and inserting the first skip level into the first trie node.Type: GrantFiled: April 30, 2004Date of Patent: May 20, 2008Assignee: Sun Microsystems, Inc.Inventor: Ashish K. Mehta
-
Patent number: 7376758Abstract: A method for executing a selected input/output (I/O) command from a plurality of I/O commands based on a dependency graph of I/O commands includes building the dependency graph of I/O commands, wherein the dependency graph is built by requiring all children of the selected I/O command to be ready before the selected I/O command is ready, and executing the I/O command based on the dependency graph, wherein execution of the selected I/O command is completed when all of the children of the selected I/O command finish execution.Type: GrantFiled: April 20, 2006Date of Patent: May 20, 2008Assignee: Sun Microsystems, Inc.Inventors: Jeffrey S. Bonwick, William H. Moore