Patents Assigned to Sun Microsystems
  • Publication number: 20080010532
    Abstract: Transactional programming promises to substantially simplify the development and maintenance of correct, scalable, and efficient concurrent programs. Designs for supporting transactional programming using transactional memory implemented in hardware, software, and a mixture of the two have emerged recently. However, certain features and capabilities that would be desirable for debugging programs executed using transactional memory are absent from conventional debuggers. Breakpointing is one example of a capability not well supported when conventional debugging technology is applied to transactional memory. We describe techniques by which a debugger may instrument code (or by which a TM library may provide functionality) to direct execution of an atomic block to a code path that facilitates breakpoint handling.
    Type: Application
    Filed: October 25, 2006
    Publication date: January 10, 2008
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Yosef Lev, Mark S. Moir
  • Publication number: 20080007763
    Abstract: A method for executing a job using a remote file system that includes obtaining a plurality of job data files by the remote file system, wherein the plurality of job data files are created on the remote file system, detecting a job request for the job in an input directory to obtain a detected job request, wherein the job request is generated by a client, and executing the job based on the job data files and the detected job request, wherein executing the job generates an output file, wherein the remote file system is accessible using a local file system of the client.
    Type: Application
    Filed: July 3, 2006
    Publication date: January 10, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Arieh Markel, Peter A. Wilson, Mark A. Son-Bell, Carl F. Meske, Gregory A. Williams, Peter H. Schow
  • Publication number: 20080010289
    Abstract: A method for gathering management information about an asset that includes receiving a first request for the management information about the asset, wherein the first request complies with the information model format, identifying a data acquisition (DAQ) definition for the DAQ definition complies with the DAQ format, triggering a protocol handler according to the DAQ definition, receiving the management information from the protocol handler about the asset, and updating a cache entry with the management information.
    Type: Application
    Filed: June 22, 2006
    Publication date: January 10, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Arieh Markel, Alexander G. Vul, Brandon Eugene Taylor, Peter H. Schow
  • Publication number: 20080010515
    Abstract: A method for dirty region logging of a file that includes receiving a request to open the file, determining each of a plurality of component files associated with the file, opening each of the plurality of component files, writing to a region of the at least one of the plurality component files, and updating a dirty region log (DRL) associated with the one of the plurality of component files to reflect the write to the region.
    Type: Application
    Filed: May 15, 2006
    Publication date: January 10, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: David Robinson, Brian Wong, Spencer Shepler, Richard McDougall
  • Patent number: 7318229
    Abstract: Provided are a method, system, and program for processing a call. A call is invoked from a caller object to a target object, wherein the caller and target objects comprise component objects loaded with caller and target class loaders, respectively, and wherein the caller object invokes the call using a local method invocation. The classes needed to process the call are loaded if the needed classes are not already loaded and if the target class loader is capable of loading the needed classes. Further classes that comprise the needed classes are dynamically loaded if the target class loader is not capable of loading the needed classes. The call is invoked after the needed classes are loaded and available for the target object to process the call.
    Type: Grant
    Filed: July 29, 2003
    Date of Patent: January 8, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: William H. Connor, Brandon E. Taylor
  • Patent number: 7318222
    Abstract: In a method for execution control acquisition of a program, during the execution of the program, it is determined when a hardware performance counter has reached a threshold. When the threshold is reached, execution control is switched to a dynamic optimizer. Thereafter, an optimized version of the program is executed. In a method for executing an optimized version of a program, during execution of the optimized version, an interrupt is received and execution control is returned to an operating system. An original version of the program is then executed. During the execution of the original version, a hardware performance counter is monitored. When the hardware performance counter reaches a threshold during the execution of the original version, execution control is switched to a dynamic optimizer. Thereafter, the execution of the optimized version of the program is continued as directed by the dynamic optimizer.
    Type: Grant
    Filed: August 27, 2003
    Date of Patent: January 8, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Jan Civlin
  • Patent number: 7318128
    Abstract: Mechanisms and techniques operate in a multiprocessing computer system having a plurality of processing devices and provide an affinity-based wakeup locality successor selection process that can identify processes to be executed by a kernel by detecting when a first process executing on a first processing device releases access to shared data. In response to the first process releasing access to the shared data, embodiments attempt to identify a second process that i) formerly executed on the first processing device and that ii) is awaiting access to the shared data. Embodiments provide, to a kernel responsible for selecting processes to execute amongst the plurality of processing devices, an identification of the second process as a process that is ready for execution in the multiprocessing computer system. Such embodiments can operate in an execution environment such as a Java Virtual Machine.
    Type: Grant
    Filed: August 1, 2003
    Date of Patent: January 8, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: David Dice
  • Patent number: 7318114
    Abstract: In one embodiment, a system includes a plurality of memory controllers each coupled between a processor and a respective memory. Each memory controller includes a plurality of decoders. Each decoder of a given memory controller may be independently configurable to match on a respective value of a subset of address bits such as the low-order cache line address bits, for example, received in a memory request. In one specific implementation, the number of decoders included on a given memory controller may correspond to the number of ways in which the memory is interleaved.
    Type: Grant
    Filed: October 29, 2004
    Date of Patent: January 8, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Robert E. Cypher
  • Publication number: 20080005193
    Abstract: Transactional programming promises to substantially simplify the development and maintenance of correct, scalable, and efficient concurrent programs. Designs for supporting transactional programming using transactional memory implemented in hardware, software, and a mixture of the two have emerged recently. Unfortunately, conventional debugging programs are often inadequate when employed in relation to code that employs transactional memory and new or modified techniques are needed. Implementations of delayed breakpoints are described that provide programmers with the benefits of breakpoints in transactional code, while minimizing the side-effects of breakpoints placed inside atomic block.
    Type: Application
    Filed: October 25, 2006
    Publication date: January 3, 2008
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Yosef Lev, Mark S. Moir
  • Publication number: 20080002739
    Abstract: A method for indicating bandwidth for a virtual network interface card (NIC) includes receiving a bandwidth trigger for a bandwidth of a first virtual NIC operatively connected to a NIC, wherein the NIC is associated with a network bandwidth, obtaining a bandwidth allocation stored in the first virtual NIC in response to the bandwidth trigger, wherein the bandwidth allocation corresponds to the bandwidth of the first virtual NIC, and wherein the bandwidth allocation corresponds to a portion of the network bandwidth, and returning the bandwidth allocation to a component associated with the virtual NIC.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Nicolas G. Droux, Kais Belgaied, Sunay Tripathi
  • Publication number: 20080002731
    Abstract: A system for processing a packet, including a network interface card (NIC), including a plurality of hardware receive rings, a classifier configured to classify the packet and send the packet to one of the plurality of hardware receive rings, and a host, operatively connected to the NIC, including a virtual network stack including a virtual serialization queue, a virtual network interface card (VNIC) associated with the virtual serialization queue, a device driver associated with the VNIC and configured to store a function pointer and a token associated with one of the plurality of hardware receive rings, where the VNIC is configured to perform at least one selected from a group consisting of enabling bypass mode and disabling bypass mode by changing the function pointer stored in the device driver, where the function pointer is used to send the packet to the virtual serialization queue if the bypass mode is enabled.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Nicolas G. Droux, Eric T. Cheng
  • Publication number: 20080002683
    Abstract: A system including a plurality of virtual network interface cards (VNICs); and a Vswitch table associated with a virtual switch, wherein each entry in the Vswitch table is associated with one of the plurality of VNICs, wherein each of the plurality of VNICs is located on the host, and wherein each of the plurality of VNICs is associated with the virtual switch. The first VNIC in the plurality of VNICs is configured to receive a packet associated with a hardware address (HA), determine, using the HA, whether one of the plurality of entries in the Vswitch table is associated with the HA, send the packet to a VNIC associated with HA if one of the plurality of entries in the Vswitch table is associated with the HA, wherein the VNIC is one of the plurality of VNICs.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Erik Nordmark
  • Publication number: 20080002704
    Abstract: A method of controlling bandwidth including receiving and classifying a packet, sending the packet to a hardware receive ring based on a classification of the packet, and sending, in accordance with an operating mode, the packet to a software receive ring, sending the packet from the software receive ring to a virtual network interface card, where the virtual network interface card is associated with a virtual machine, where the operating mode is adjusted to control the bandwidth consumed by the virtual machine.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Tim P. Marsland, Nicolas G. Droux
  • Publication number: 20080003557
    Abstract: A method for providing training media to a mobile device involves obtaining a training media file selected from multiple training media files, based on user metadata, and communicating the training media file to the mobile device, where the user metadata is associated with a user of the mobile device, and where the training media file includes training information associated with a job function of the user.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: William F. Hunter, Jeffrey S. Demoff, Alan S. Wolff
  • Publication number: 20080005081
    Abstract: In a distributed enterprise computing system, personal data repositories are created by individual users who generate classifiers that index the information for those repositories. Each generated classifier also specifies a target repository into which a copy of a resource that matches that classifier is placed. Users can submit classifiers that they created to other repositories. Later, when a user adds a resource to his personal repository, it is checked against all classifiers that have been created by the user and submitted to the repository by other users. If the new resource matches any classifier, a copy of the resource is sent to the repository specified in the classifier, where the resource is archived and indexed.
    Type: Application
    Filed: June 28, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Stephen J. Green, Paul B. Lamere, Jeffrey L. Alexander, Karl R. Haberl
  • Publication number: 20080002701
    Abstract: A method for virtualizing a network interface card includes creating a first plurality of virtual NICs, assigning each of a plurality of receive rings on the network interface card (NIC) to one of the first plurality of virtual NICs, and if the number of virtual NICs is greater than the number of receive rings on the NIC, creating a first software ring corresponding to one of the plurality of receive rings on the NIC, creating a first plurality of software receive rings associated with the first software ring, creating a second plurality of virtual NICs, and assigning each of the first plurality of software receive rings to one of the second plurality of virtual NICs, wherein the plurality of receive rings is less than a sum of the first plurality of virtual NICs and the second plurality of virtual NICs.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Kais Belgaied
  • Publication number: 20080005498
    Abstract: A method for committing memory transactions in an application that includes executing a plurality of sections of the application in parallel, logging a plurality of memory transactions that occur while executing the plurality of sections to obtain a plurality of logs and a plurality of temporary results, wherein the plurality of memory transactions that includes a plurality of writes to at least one memory location, comparing the plurality of logs to identify an optimal list of writes from the plurality of writes, and committing memory transactions corresponding to a subset of the plurality of temporary results, wherein the subset of the plurality of temporary results is identified by the optimal list of writes.
    Type: Application
    Filed: June 9, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Miguel Angel Lujan Moreno, Phyllis E. Gustafson, Michael H. Paleczny, Christopher A. Vick, Jay R. Freeman, Olaf Manczak
  • Publication number: 20080005713
    Abstract: A relational database may be integrated into an integrated circuit design and analysis environment as the persistent data store for data associated with the design. This design data may include two or more abstractions of the design, such as layout data models and timing data models, in some embodiments. Design data may be partitioned in the database and indexed according to various attributes. The use of a relational database may facilitate cross-probing of design data corresponding to different abstractions of the design. The relational database may be queried to produce design reports and to identify design errors or weaknesses. Reports may be graphical or tabular, and may be displayed, printed, stored, or posted for viewing. Proposed modifications to a design may be investigated by modifying data in the relational database, rather than in the actual design. Design reports may be re-generated and compared with corresponding reports for the un-modified design.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Gunjeet Singh, Aman U. Joshi
  • Publication number: 20080002730
    Abstract: A method for sending packets. The method includes determining with which of a plurality of virtual serialization queues (VSQs) a first packet is associated, wherein a first application is attempting to issue the first packet, if a first VSQ of the plurality of VSQs has not exceeded a first bandwidth allocation, wherein the first VSQ is associated with the first packet and is associated with the first bandwidth allocation, then sending the first packet to the first VSQ, processing the first packet by a first virtual network stack (VNS) to obtain a first processed packet, wherein the first VSQ is associated with the first VNS, and sending the first processed packet to a physical network interface card (NIC) operatively connected to the first VNS. Alternatively, if the first VSQ has exceeded the first bandwidth allocation, then blocking the first application from issuing the first packet.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Thirumalai Srinivasan, Sunay Tripathi, Nicolas G. Droux
  • Publication number: 20080005360
    Abstract: A method for processing packets, where the method includes programming a hardware classifier in a network interface card (NIC) to send packets associated with a first packet destination to a non-standby hardware receive ring (HRR), programming a software ring to obtain packets from the non-standby HRR, programming the software ring to send packets for the first destination to a first software receive ring (SRR), wherein the first packet destination is associated with the first SRR, obtaining identifying information about a packet associated with a denial of service (DoS) attack, programming the hardware classifier, using the identifying information, to send the packet associated with the DoS attack to a standby HRR, and for each packet received by the hardware classifier determining to which of the standby HRR and the non-standby HRR to send the packet using the programming of the hardware classifier.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Kais Belgaied, Sunay Tripathi, Nicolas G. Droux