Patents Assigned to Sun Microsystems
  • Patent number: 7395526
    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.
    Type: Grant
    Filed: December 23, 2002
    Date of Patent: July 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Jean-Francois Arcand
  • Patent number: 7395483
    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
  • Patent number: 7395536
    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
  • Patent number: 7394721
    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.
    Type: Grant
    Filed: September 20, 2005
    Date of Patent: July 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Sunil K. Vemula
  • Patent number: 7395333
    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
  • Patent number: 7395418
    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.
    Type: Grant
    Filed: September 22, 2005
    Date of Patent: July 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Paul Caprioli, Wayne Mesard
  • Publication number: 20080151893
    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
  • Publication number: 20080151779
    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
  • Publication number: 20080151425
    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.
    Type: Application
    Filed: December 22, 2006
    Publication date: June 26, 2008
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: William J. Vanderheyden
  • Publication number: 20080155341
    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.
    Type: Application
    Filed: October 19, 2006
    Publication date: June 26, 2008
    Applicant: Sun Microsystems, Inc.
    Inventor: Rama Koteswara Vamsee Aluru
  • Publication number: 20080155676
    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
  • Patent number: 7391835
    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.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: June 24, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Kenny C. Gross, Yujuan Bao
  • Patent number: 7392399
    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
  • Publication number: 20080144662
    Abstract: A method for using offloaded transport layer protocols involves signaling a network interface controller (NIC) with a signal to use one of multiple transport layer protocols embedded in the NIC, and transmitting a data packet via the NIC using the transport layer 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
  • Publication number: 20080144511
    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
  • Publication number: 20080144624
    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
  • Publication number: 20080144663
    Abstract: A method for optimizing a network stack includes inputting network information into a transport protocol algorithm selector, inputting a first transport protocol algorithm into the transport protocol algorithm selector, analyzing a result of the transport protocol algorithm selector, selecting the first transport protocol algorithm based on the result, receiving a first packet in the network stack, and processing the first packet using the first transport protocol algorithm.
    Type: Application
    Filed: December 14, 2006
    Publication date: June 19, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Darrin P. Johnson, Cesar A.C. Marcondes, Anders D. Persson
  • Publication number: 20080144504
    Abstract: A method for managing a network connection includes establishing the network connection between an application and a packet destination, wherein the network connection comprises a plurality of paths, receiving a plurality of packets from the application on the network connection, wherein the plurality of packets is associated with the network connection, and wherein the plurality of packets comprises data from the application, obtaining a distribution of the plurality of packets among the plurality of paths by a master transport protocol module, wherein each of the plurality of paths is associated with one of a plurality of transport protocol modules, and transmitting, based on the distribution, the plurality of packets over the plurality of paths using the plurality of transport protocol modules, wherein each of the plurality of transport protocol modules implements one of a plurality of congestion control algorithms, wherein the plurality of packets are received at the packet destination.
    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
  • Publication number: 20080144503
    Abstract: In general, the invention relates to a method for sending a packet from an application to a destination. The method includes opening a network connection between the application and the destination, tuning at least one layer in a network stack, based on application information associated with the application, to obtain a tuned network stack, wherein the network stack is associated with the network connection, receiving the packet from the application, processing the packet using the tuned network stack to obtain a processed packet, and sending the processed packet to the destination, wherein the processed packet is received by the destination.
    Type: Application
    Filed: December 14, 2006
    Publication date: June 19, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Anders D. Persson, Cesar A. C. Marcondes, Darrin P. Johnson
  • Publication number: 20080144527
    Abstract: In general, the invention relates to a method for classifying an application. The method includes receiving, at a kernel, a plurality of packets from the application, wherein the application is executing outside of the kernel, obtaining a first measurement from the plurality of packets associated with a first parameter using a first internal estimator in the kernel, applying a first statistical technique to the first measurement to generate a first estimate of the first parameter, and obtaining a classification of the application based on the first estimate. Further, the classification of the application is used to optimize a network connection associated with the application.
    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