Patents Assigned to Microsystems, Inc.
-
Publication number: 20080005081Abstract: 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: ApplicationFiled: June 28, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Stephen J. Green, Paul B. Lamere, Jeffrey L. Alexander, Karl R. Haberl
-
Publication number: 20080002714Abstract: A method for dynamically changing a virtual network interface card (VNIC) binding. If the use of a hardware receive ring (HRR) is below the first threshold and the use of the software receive ring (SRR) is above the second threshold, then: binding the first VNIC to the SRR and the second VNIC to the HRR, removing the binding from the first VNIC to the HRR, removing the binding from the second VNIC to the SRR, and reprogramming a hardware classifier to send packets associated with the r VNIC to a second HRR and to send packets associated with the second VNIC to the HRR, reprogramming a software classifier to send packets associated with the first VNIC to the SRR, wherein the software classifier is associated with a soft ring (SR) and the SR is configured to obtain packets from the second HRR.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Kais Belgaied, Sunay Tripathi, Nicolas G. Droux
-
Publication number: 20080002703Abstract: A system including a network interface card (NIC) associated with a Media Access Control (MAC) address and a host operatively connected to the NIC. The NIC includes a default hardware receive ring (HRR), a plurality of non-default HRRs, and a hardware classifier. The hardware classifier is configured to analyze an inbound packet using a destination Internet Protocol (IP) address and to send the inbound packet to one of the plurality of non-default HRRs if the inbound packet is a unicast packet, and to send the packet to the default HRR if the inbound packet is an inbound multi-recipient packet. The host includes a plurality of virtual NICs (VNICs) and an inbound software classifier. that includes a plurality of software receive rings (SRRs) and is configured to obtain inbound packets from the default HRR, and to determine to which of the plurality of SRRs to send a copy of the packet.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Nicolas G. Droux, Kais Belgaied
-
Publication number: 20080002663Abstract: A method for routing packets includes receiving an outbound packet issued by a first virtual machine, wherein the first virtual machine is located on a host, determining a packet destination associated with the outbound packet, querying a routing table for a routing entry corresponding to the packet destination, wherein the routing table comprises a first routing entry referencing an external host and a second routing entry referencing a second virtual machine, wherein the second virtual machine is located on the host, if the routing entry corresponding to the packet destination is the first routing entry, passing the packet to the external host, and if the routing entry corresponding to the packet destination is the second routing entry, passing the packet to the second virtual machine.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Erik Nordmark, Nicolas G. Droux
-
Publication number: 20080002704Abstract: 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: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Tim P. Marsland, Nicolas G. Droux
-
Publication number: 20080002682Abstract: A method for processing packets. The method includes receiving a first packet, wherein the first packet is associated with a first protocol, classifying the first packet using a protocol associated with the first packet, sending the first packet to a first receive ring based on the classification, sending the first packet from the first receive ring to a first virtual network interface card (VNIC) based on an operating mode, sending the first packet from the first VNIC to a first protocol specific virtual network stack (VNS), wherein the first protocol specific VNS is configured to only process packets associated with the first protocol, and processing the first packet by the first protocol specific VNS to obtain a first processed packet.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Thirumalai Srinivasan, Sunay Tripathi, Nicolas G. Droux
-
Publication number: 20080005526Abstract: A system for mapping memory of a computer system includes a sorter, a partitioner, and a mapper. The sorter sorts a physical memory space to obtain a sorted virtual memory space, where the physical memory space includes a plurality of memory patterns, wherein each of the plurality of memory patterns is associated with a physical device and includes at least one memory block, wherein the at least one memory block is contiguous and addressable, and the plurality of memory patterns are arranged based on a predefined number of occurrences of each memory pattern, size of contiguous memory address ranges in each of the plurality of memory patterns, size of contiguous memory address ranges in each of the plurality of memory patterns, and arrangement of contiguous address ranges in each of the plurality of memory patterns.Type: ApplicationFiled: July 3, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Michael H. Paleczny, Olaf Manczak, Christopher A. Vick, Jay R. Freeman, Phyllis E. Gustafson
-
Publication number: 20080005441Abstract: A system includes a first and a second network component, and a bridge. The bridge, which resides a Media Access Control (MAC) layer of a host, includes a bridge component, a first virtual network interface card (VNIC) and a second VNIC, wherein the first VNIC is associated with the first network component and the second VNIC is associated with the second network component. Further, the bridge component is configured to send packets received from the first network component to the second network component and to send packets received from the second network component to the first network component.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Nicolas G. Droux, Sunay Tripathi, Kais Belgaied, Erik Nordmark
-
Publication number: 20080002739Abstract: 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: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Nicolas G. Droux, Kais Belgaied, Sunay Tripathi
-
Publication number: 20080002731Abstract: 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: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Nicolas G. Droux, Eric T. Cheng
-
Publication number: 20080005193Abstract: 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: ApplicationFiled: October 25, 2006Publication date: January 3, 2008Applicant: SUN MICROSYSTEMS, INC.Inventors: Yosef Lev, Mark S. Moir
-
Publication number: 20080002701Abstract: 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: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Nicolas G. Droux, Sunay Tripathi, Kais Belgaied
-
Publication number: 20080002683Abstract: 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: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Nicolas G. Droux, Sunay Tripathi, Erik Nordmark
-
Publication number: 20080005498Abstract: 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: ApplicationFiled: June 9, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Miguel Angel Lujan Moreno, Phyllis E. Gustafson, Michael H. Paleczny, Christopher A. Vick, Jay R. Freeman, Olaf Manczak
-
Publication number: 20080001098Abstract: A light-emitting device includes a plurality of ultra-small resonant structures, each of said structures constructed and adapted to emit electromagnetic radiation (EMR) at a particular wavelength when a beam of charged particles is passed nearby. A combiner mechanism constructed and adapted to combine data from a data source with the EMR emitted by at least one of the ultra-small resonant structures.Type: ApplicationFiled: June 28, 2006Publication date: January 3, 2008Applicant: Virgin Islands Microsystems, Inc.Inventors: Jonathan Gorrell, Henry Davis
-
Publication number: 20080002730Abstract: 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: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Thirumalai Srinivasan, Sunay Tripathi, Nicolas G. Droux
-
Patent number: 7315919Abstract: A cluster of multiprocessing nodes uses snooping-based cache-coherence to maintain consistency among the cache memories of the multiprocessing nodes. One or more of the multiprocessing nodes each maintain a directory table that includes a list of addresses of data last transferred by cache-to-cache transfer transactions. Thus, upon a local cache miss for requested data, a multiprocessing node searches its directory table for an address of the requested data, and if the address is found in the directory table, the multiprocessing node obtains a copy of the requested data from the last destination of the requested data as indicated in the directory table. Thereafter, a message indicating the completion of a cache-to-cache transfer is broadcast to other connected multiprocessing nodes on a “best efforts” basis in which messages are relayed from multiprocessing node to multiprocessing node using low priority status and/or otherwise unused cycles.Type: GrantFiled: June 15, 2004Date of Patent: January 1, 2008Assignee: Sun Microsystems, Inc.Inventors: Brian W. O'Krafka, Michael J. Koster
-
Patent number: 7316021Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.Type: GrantFiled: February 17, 2004Date of Patent: January 1, 2008Assignee: Sun Microsystems, Inc.Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
-
Patent number: 7316007Abstract: A method for arithmetic expression optimization includes receiving a first instruction defined for a first processor having a first base, the first instruction including an operator and at least one operand, converting the first instruction to a second instruction optimized for a second processor having a second base when all operands do not carry potential overflow or when the operator is insensitive to overflow, the second base being smaller than the first base, and converting to a wider base a third instruction that is the source of the overflow when the at least one operand the potential for overflow and when the operator is sensitive to overflow.Type: GrantFiled: October 14, 2003Date of Patent: January 1, 2008Assignee: Sun Microsystems, Inc.Inventors: Zhiqun Chen, Judith E. Schwabe
-
Patent number: 7316010Abstract: A method for conditionally sharing dynamically compiled code between different class loaders is provided. In this method, bytecodes of a first class type are compiled into a compiled code if the bytecodes have not been compiled. The locations of sequence of instructions in the compiled code that are loader dependent are then recorded. Thereafter, the loader dependencies in the compiled code are compared to determine whether the compiled code can be used by a method of a second class type. If the loader dependencies of the second class type are different from the loader dependencies of the first class type, the compiled code for the method of the first class type is cloned. Subsequently, portions of the cloned code that are loader dependent are modified to enable the method of the second class type to use the cloned code.Type: GrantFiled: May 26, 2004Date of Patent: January 1, 2008Assignee: Sun Microsystems, Inc.Inventors: Laurent Daynes, Grzegorz Czajkowski