Abstract: A method for managing an application server that is configured to execute a plurality of test applications is provided. The method includes the operations of (a) processing a first one of the plurality of test applications, (b) determining if the first application fails to be processed to completion, (c) recording an exception identifying an explanation for the failure if the first test application fails to be processed to completion, (d) refreshing the application server, (e) executing a next one of the plurality of test applications, and (f) repeating operations (a) through (e) if there are remaining ones of the plurality of test applications that still need to be processed.
Abstract: A floating point unit generates results in which status information generated for an operation is encoded within the resulting operand, instead of requiring a separate floating point status register for the status information. In one embodiment, a floating point operand data structure includes a first portion having floating point operand data and a second portion having embedded status information associated with at least one status condition of the operand data. The status condition may be determined from only the embedded status information. The status condition may also be associated with at least one floating point operation that generated the operand data structure. The outcome of a conditional floating point instruction may be based on the embedded status information without regard to contents of the floating point status register.
Abstract: A method for tracing an instrumented program on a system during booting, including loading object code defining enabling information into a property file associated with a tracing framework, rebooting the system, processing the property file to enable the tracing framework, wherein enabling the tracing framework comprises creating an anonymous consumer state, and tracing the instrumented program using the enabled tracing framework.
Abstract: We explore techniques for designing nonblocking algorithms that do not require advance knowledge of the number of processes that participate, whose time complexity and space consumption both adapt to various measures, rather than being based on predefined worst-case scenarios, and that cannot be prevented from future memory reclamation by process failures. These techniques can be implemented using widely available hardware synchronization primitives. We present our techniques in the context of solutions to the well-known Collect problem. We also explain how our techniques can be exploited to achieve other results with similar properties; these include long-lived renaming and dynamic memory management for nonblocking data structures.
Type:
Grant
Filed:
July 16, 2003
Date of Patent:
July 1, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Mark S. Moir, Victor M. Luchangco, Maurice Herlihy
Abstract: One embodiment of the present invention provides a system that facilitates detecting and correcting errors. The system operates by receiving a data packet comprised of p words on a communication pathway, wherein each bit of a word is received on a separate data line in a set of data lines that comprise the communication pathway. The system also receives a time signature t on the communication pathway, wherein t contains per-bit error information for the p words in the data packet. As the data packet is received, the system performs an error-detection operation on each data bit of the data packet in parallel, wherein the error-detection operation generates per-bit error information for each bit position across the p words in the data packet. Finally, the system compares the generated per-bit error-information with the corresponding per-bit error information in the time signature t to determine if there exists an error.
Type:
Grant
Filed:
October 15, 2004
Date of Patent:
July 1, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Bernard Tourancheau, Ronald Ho, Robert J. Drost
Abstract: A service discovery mechanism may allow clients in a distributed computing environment to search for services. The service discovery mechanism may allow a client to request a capability credential from a service. The distributed computing environment may include a mechanism for a client to negotiate service access rights and to then obtain a capability credential that may be used to obtain the service's access interface to the set or subset of the service's capabilities that were requested or negotiated by the client. In one embodiment, the client may present to the service a set of desired capabilities. The service may then respond with a capability credential that may convey to the client the rights to use the requested capabilities. A complete service advertisement may be needed to create a message endpoint for accessing the service. In an embodiment, the capability credential may be used by a client to obtain a complete advertisement for only the requested or negotiated capabilities.
Type:
Grant
Filed:
August 31, 2000
Date of Patent:
July 1, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Thomas E. Saulpaugh, Gregory L. Slaughter, Mohamed M. Abdelaziz, Bernard A. Traversat
Abstract: A method of tuning a test trace that is capacitively coupled to a number of signal traces. A method for determining a configuration of a device comprising signal traces and a capacitively coupled test trace may include selecting a test frequency of a test signal to be driven on selected signal traces during a test mode of device operation, and tuning circuit characteristics of the test trace to generate a bandpass frequency response including a passband and a stopband, where a detection frequency corresponding either to the test frequency or a selected harmonic of the test frequency is included in the passband. Tuning of circuit characteristics may include selecting a degree of capacitive coupling between the test trace and the signal traces such that, within a specified constraint for signal degradation on the signal traces, the bandpass frequency response of the given test trace satisfies a specified transmission requirement at the detection frequency.
Type:
Grant
Filed:
May 24, 2006
Date of Patent:
July 1, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Margaret H. Wang, Prabhansu Chakrabarti
Abstract: A small footprint device can securely run multiple programs from unrelated vendors by the inclusion of a context barrier isolating the execution of the programs. The context barrier performs security checks to see that principal and object are within the same namespace or memory space and to see that a requested action is appropriate for an object to be operated upon. Each program or set of programs runs in a separate context. Access from one program to another program across the context barrier can be achieved under controlled circumstances by using a global data structure.
Type:
Grant
Filed:
November 22, 2004
Date of Patent:
July 1, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Joshua Susser, Mitchel B. Butler, Andy Streich
Abstract: A technique for improving the performance of a system that supports simultaneous multi-threading (SMT). When a first thread encounters a halt sequence, the system starts a transactional memory operation by generating a checkpoint and entering a transactional-execution mode. Next, the system loads from a mailbox address associated with the halt sequence. The system then stalls execution of the first thread, so that the first thread does not execute instructions within the halt sequence, thereby freeing up processor resources for other threads. To terminate the halt sequence, a second thread stores to the mailbox address, which causes a transactional-memory mechanism within the processor to detect an interference with the previous load from the mailbox address by the first thread and which causes the first thread to exit from the halt sequence. The system then continues executing instructions following the halt sequence.
Abstract: System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment. Embodiments may allow tasks to be submitted and run in parallel on a network of heterogeneous computers implementing a variety of operating environments. In one embodiment, a user on an originating node may advertise code on the network. Peer nodes that respond to the advertisement may receive the code. A job to be executed by the code may be split into separate tasks to distributed to the peer nodes that received the code. These tasks may be advertised on the network. Tasks may be assigned to peer nodes that respond to the task advertisements. The peer nodes may then work on the assigned tasks. Once a peer node's work on a task is completed, the peer node may return the results of the task to the originating node.
Type:
Grant
Filed:
November 14, 2002
Date of Patent:
July 1, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Jerome M. Verbeke, Neelakanth M. Nadgir, Gregory R. Ruetsch, Ilya A. Sharapov, Michael J. Vernik, Vu Trang
Abstract: A method for reading data from a memory module over a bi-directional bus is provided. The method initiates with writing data into a storage element asynchronously according to a first clock domain. Next, the data is read from the storage element synchronously according to a second clock domain. A microprocessor and a system wherein data is read over a bi-directional bus are included.
Abstract: A method and apparatus performs computer application level testing of an instruction cache in multi-processor or multi-core systems. Instruction cache cannot be written to and read from directly. Thus, one microprocessor core is utilized to perform application level testing of an instruction cache of another microprocessor core. The method and apparatus uses two software threads: a controller thread and a target thread. The target thread uses a portion of the instruction cache as a scratch pad for synchronization with the controller thread. The controller thread controls the sequence of operations to perform a March test on the target instruction cache.
Abstract: A method for routing a packet. The method includes receiving the packet from a first network into a network interface card (NIC), where the NIC is operatively connected to a host and the host includes a first virtual network stack and a second virtual network stack. The method further includes sending the packet to a first virtual network stack, where the first virtual network stack includes a first filter, a first network layer, and a first transport layer. In addition, the first filter, the first network layer, and the first transport layer are isolated from the second virtual network stack. If the packet is permitted through the first filter in the first virtual network stack, then the packet is sent to a first virtual NIC.
Type:
Application
Filed:
December 20, 2006
Publication date:
June 26, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Darrin P. Johnson, Darren J. Reed, Erik Nordmark
Abstract: A data storage device is disclosed with a housing sized for a tape drive. A tape reel is mounted for rotation within the housing and a guide is mounted in the housing spaced apart from the tape reel. A first end of a data tape segment is mounted to the tape reel and a second end is not mounted to the tape reel. A structural tape segment has a pair of ends mounted between the first and second ends of the data tape segment for structurally enhancing an intermediate region of the data tape segment. In another embodiment, a structurally enhanced intermediate region is advanced to a read/write region of the data storage device during storage of the device for preventing inadvertent damage to the data tape.
Abstract: A method for configuring a network on a host includes obtaining a first virtual network stack and a second virtual network stack on the host, configuring a first transport layer implementation on the first virtual network stack, configuring a second transport layer implementation on the second virtual network stack, receiving a packet by the host, sending a packet to the first virtual network stack, and processing the packet using the first transport layer implementation.
Type:
Application
Filed:
December 20, 2006
Publication date:
June 26, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Darrin P. Johnson, Erik Nordmark, Kais Belgaied
Abstract: In general, the invention relates to a method for routing a packet. The method includes receiving the packet in a network interface card (NIC), classifying the packet, placing the packet in a receive ring of the NIC, sending the packet to a virtual NIC associated with the receive ring, sending the packet to a first container associated with the virtual NIC, and routing the packet to a packet destination using the first container.
Type:
Application
Filed:
December 20, 2006
Publication date:
June 26, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Erik Nordmark, Sunay Tripathi, Nicolas G. Droux
Abstract: One embodiment of the present invention provides a system that optimizes synchronization between monitored signals in a computer system. During operation, the system receives a number of monitored signals. The system then forms a number of signal pairs by grouping each signal with every other signal. Next, the system optimizes synchronization between the signals by iteratively perturbing the timing of each signal in an attempt to increase the value of an objective function which reflects the overall synchronization between all the signals.
Abstract: A method and system of processing a cryptographic packet includes receiving a first cryptographic packet in a host CPU. A first set of data required to execute the first cryptographic packet is identified. The first cryptographic packet and the required first set of data is transferred to a cryptographic co-processor. The first cryptographic packet is executed in the cryptographic co-processor. The host CPU is notified that the execution of the first cryptographic packet is complete. The executed first cryptographic packet is received in the host CPU.
Type:
Grant
Filed:
May 5, 2003
Date of Patent:
June 24, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Gregory F. Grohoski, Paul J. Jordan, Michael K. Wong, Leslie D. Kohn
Abstract: In general, the invention relates to a method for managing a network connection. The method includes receiving a request for the network connection from a host, where the network connection is associated with an overlay network. The method further includes sending, in response to the request, a first available bandwidth per flow to the host, and receiving packets from the host. The packets received from the host are associated with the network connection and the initial packet transmission rate of the packets over the network connection is based on the first available bandwidth per flow. Further, the first available bandwidth per flow is obtained by probing a first router in the overlay network to obtain a first available bandwidth associated with the first router.
Type:
Application
Filed:
December 14, 2006
Publication date:
June 19, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Cesar A. C. Marcondes, Anders D. Persson, Darrin P. Johnson
Abstract: A method for timestamping data packets from a network involves receiving a first data packet from the network, obtaining, from a clock, a timestamp indicating an arrival time of the first data packet, where a network interface controller (NIC) includes the clock, providing the timestamp and the first data packet to a client operatively connected to the NIC, computing a network property using the timestamp, selecting a network protocol based on the network property, and transmitting a second data packet via the NIC using the network protocol.
Type:
Application
Filed:
December 14, 2006
Publication date:
June 19, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Cesar A. C. Marcondes, Anders D. Persson, Darrin P. Johnson