Abstract: A system and method for improving the efficiency with which data communications are passed through a protocol stack. Protocol layer modules within a protocol stack built upon the Streams framework are modified to establish tight embraces between adjacent modules. A tight embrace may be established by passing from one, upper, protocol layer module to its adjacent lower protocol layer module a pointer or reference to the upper module's functionality (e.g., rput) for reading a data communication into the upper module from the lower module. Similarly, the lower module passes the upper module a pointer or reference to its functionality (e.g., wput) for writing a data communication into the lower module from the upper module. After a tight embrace is established, the protocol layer modules can directly invoke each other's functionality, without incurring the overhead associated with the Streams framework's “canputnext” and “putnext” messages.
Abstract: An apparatus and method for fine-grained multithreading in a multipipelined processor core. According to one embodiment, a processor may include instruction fetch logic configured to assign a given one of a plurality of threads to a corresponding one of a plurality of thread groups, where each of the plurality of thread groups may comprise a subset of the plurality of threads, to issue a first instruction from one of the plurality of threads during one execution cycle, and to issue a second instruction from another one of the plurality of threads during a successive execution cycle. The processor may further include a plurality of execution units, each configured to execute instructions issued from a respective thread group.
Type:
Grant
Filed:
June 30, 2004
Date of Patent:
July 15, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Ricky C. Hetherington, Gregory F. Grohoski, Robert T. Golla
Abstract: One embodiment of the present invention provides a system for performing time measurements during instrumentation-based profiling. The system operates by first measuring time required to execute instrumentation code in isolation. Next, it receives the code to be profiled (user application), inserts the instrumentation code into it, and executes this combined code. The system then measures the time it takes to execute the combined code. Finally, it subtracts the previously obtained instrumentation code execution time from the total combined code execution time, thus obtaining the exact execution time for the user application.
Abstract: One embodiment of the present invention provides a system that communicates cryptographic data through multiple network layers. During operation, the system receives the cryptographic data and divides the cryptographic data into multiple pieces. The system then encapsulates different pieces of the cryptographic data into fields associated with different network layers in a data packet, whereby an item of cryptographic data that is too large to be communicated in a single field can be communicated through multiple fields associated with different network layers.
Type:
Grant
Filed:
September 29, 2003
Date of Patent:
July 15, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Gabriel E. Montenegro, Julien H. Laganier
Abstract: In a system and method for distributing and processing messages, a message may be sent to a message middleware component by a message producer. The message middleware component may provide the message to a cluster of nodes (such as a cluster of application servers or a cluster of application components). The node may implement a message verifier to determine if it is the node responsible for processing the message. The node that is responsible for processing the message may process the message and communicate the result to the other nodes. The other nodes not responsible for processing the message may ignore the message.
Abstract: Embodiments of the present invention provide a novel method of implementing a network communication protocol. In one embodiment, the state of the network communication process is determined based upon one or more conditions. The protocol stack is then executed as a single thread of execution if the network communication process is in a first state. Alternatively, the protocol stack is executed as a receive thread of execution and a drainer thread of execution if the network communication process is in a second state.
Abstract: One embodiment of the present invention provides a system that characterizes computer system workloads. During operation, the system collects metrics for a number of workloads of interest as the workloads of interest execute on a computer system. Next, the system uses the collected metrics to build a statistical regression model, wherein the statistical regression model uses a performance indicator as a response, and uses the metrics as predictors. The system then defines a distance metric between workloads, wherein the distance between two workloads is a function of the differences between metric values for the two workloads. Furthermore, these differences are weighted by corresponding coefficients for the metric values in the statistical regression model.
Abstract: Methods and systems for load balancing a plurality of entities, such as firewalls, in a network environment are disclosed. In particular, the load balancing of firewalls on a bidirectional traffic path is performed using a single device that controls both incoming and outgoing traffic through the firewalls. The single device may include virtual routers for controlling the bidirectional traffic through the firewalls. A first virtual router may control incoming traffic to the firewalls and the other virtual router may control outgoing traffic to the firewalls. The virtual routers are logical partitions of the device layered on the physical resources of the device. The virtual routers share all or portions of the physical resources of the single device.
Type:
Grant
Filed:
April 30, 2004
Date of Patent:
July 15, 2008
Assignee:
Sun Microsystems
Inventors:
Robert M. Supnik, David S. Caplan, Paul G. Phillips, Michael Banatt
Abstract: A system and method may emulate scenarios for testing a distributed system. The distributed system may include a plurality of nodes, each having one or more resources. The system may include a resource driver for each type of the one or more resources in the distributed system, as well as one or more agents configured to access each resource through the corresponding resource driver. At least one node in the distributed system may be configured to run on a different platform than another node in the distributed system. The system may further include a central controller configured to communicate with each agent. The central controller may further execute a test scenario script containing one or more test scenarios for the distributed system.
Abstract: An MD5 arithmetic unit including multiple carry look-ahead adders. The carry look-ahead adders are configured to execute substantially simultaneously. A method of executing an MD5 algorithm is also disclosed.
Abstract: An apparatus for dissipating heat in a computer system includes a heat sink, at least one fastener which secures the heat sink to at least one first support member, and at least one cup. The first support member has a top side and a bottom side. The at least one cup includes a cylindrical cavity, an upper protruding lip, and a lower base having a hole through which the at least one fastener passes. A method for dissipating heat in a computer system includes, mounting a heat emitting component onto a printed circuit board, pressing a heat sink into thermal contact with a heat emitting component, inserting a cup into an aperture of the heat sink, and supporting a heat sink.
Abstract: A single-chip module is described. The module includes a first semiconductor die having a first surface and a second surface. The first semiconductor die is configured to communicate by capacitive coupling using one or more of a plurality of proximity connectors coupled to the first semiconductor die. A cable coupled to the first semiconductor die is configured to couple power signals to the first semiconductor die. A flexibility compliance of at least one section of the cable is greater than a threshold value thereby allowing the module to be positioned in a mounting structure.
Type:
Grant
Filed:
July 15, 2005
Date of Patent:
July 8, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Arthur R. Zingher, Bruce M. Guenin, Edward L. Follmer
Abstract: In one embodiment, a node comprises a plurality of processor cores, coherency control circuitry coupled to the plurality of processor cores, and at least one coherence unit coupled to the coherency control circuitry. Each processor core is configured to have a plurality of threads active and each processor core includes at least one first level cache. The coherency control circuitry is configured to manage intranode coherency among the plurality of processor cores. The coherency unit is configured to couple to an external interface of the node, and is configured to transmit and receive coherence messages on the external interface to maintain coherency with at least one other node having one or processor cores and a coherence unit. In another embodiment, a system comprises an interconnect and a plurality of nodes coupled to the interconnect.
Type:
Grant
Filed:
August 17, 2005
Date of Patent:
July 8, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Ricky C. Hetherington, Stephen E. Phillips
Abstract: A method for pipelining execution input/output (I/O) includes obtaining a first I/O operation, determining a first plurality of stages of a pipeline needed to execute the first I/O operation, and executing each of the first plurality of stages to complete the I/O operation, wherein the first plurality of stages is a subset of a plurality of stages associated with pipeline, and wherein each of the first plurality of stages of the pipeline is executed in sequence.
Abstract: A method is provided for selectively accessing first and second event histories that are merged together. A graphical user interface displays events within the merged history. Access may be selectively provided to a last event immediately preceding a merge juncture within the sequential history associated with the first or the second history via the graphical user interface when the merged event is accessed. In addition or in the alternative, access may be selectively provided to the merged event via the graphical user interface when the last event associated with the first or second history is accessed. Additional interrelated methods, apparatuses, computer program products and computer systems are described.
Abstract: One embodiment of the present invention provides a system that avoids locks by transactionally executing critical sections. During operation, the system receives a program which includes one or more critical sections which are protected by locks. Next, the system modifies the program so that the critical sections which are protected by locks are executed transactionally without acquiring locks associated with the critical sections.
Type:
Grant
Filed:
August 1, 2005
Date of Patent:
July 8, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Mark S. Moir, Marc Tremblay, Shailender Chaudhry
Abstract: An interface between clients and services in a distributed computing environment is described. Method gates may provide an interface to remotely invoke functions of a service. A method gate may be generated from an advertisement that may include definitions for one or more messages for remotely invoking functions of the service. A client may generate messages containing representations of method calls. The service may invoke functions that correspond to the set of messages. A method gate on the service may unmarshal the message and invoke the function. The client may receive the results of the function directly. Alternatively, the results may be stored, an advertisement to the results may be provided, and a gate may be generated to access the results. Message gates may perform the sending and receiving of the messages between the client and service. In one embodiment, functions of the service may be computer programming language (e.g. Java) methods.
Type:
Grant
Filed:
September 27, 2000
Date of Patent:
July 8, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat, Mohamed M. Abdelaziz
Abstract: Access to digital content may be controlled by determining digital content to be made accessible via a rights locker describing a user's access rights for digital content associated with the rights locker, determining enrollment authentication data, and sending a rights locker enrollment request to a rights locker provider, where the rights locker enrollment request comprises a digital content request and the enrollment authentication data. An authenticated rights locker access request is received in response to the sending, where the authenticated rights locker access request is for subsequent use in accessing digital content associated with the rights locker.
Abstract: A heatsink includes a heatsink base, an elastomeric base, multiple slider pins and an alignment frame coupled to the heatsink base. The elastomeric base includes multiple holes, the elastomeric base coupled to the perimeter of the heatsink base. Each of the slider pins secured in one of the holes in the elastomeric base. The alignment frame supporting and aligning the slider pins as the slider pins move in a direction substantially perpendicular to the heatsink base. A method of assembling a heat spreader is also described.
Abstract: One embodiment of the present invention provides a system that computes a distance metric between computer system workloads. During operation, the system receives a dataset containing metrics that have been collected for a number of workloads of interest. Next, the system uses splines to define bases for a regression model which uses a performance indicator y as a response and uses the metrics (represented by a vector x) as predictors. The system then fits the regression model to the dataset using a penalized least squares (PLS) criterion to obtain functions f1, . . . , fP, which are smooth univariate functions of individual metrics that add up to the regression function f, such that y=f(x)+?= ? i = 1 P ? f i ? ( x i ) + ? , wherein ? represents noise. Finally, the system uses the fitted regression function to define the distance metric.