Patents Assigned to Sun Microsystems
  • Patent number: 7222220
    Abstract: A multiprocessor computer system is configured to selectively transmit address transactions through an address network using either a broadcast mode or a point-to-point mode transparent to the active devices that initiate the transactions. Depending on the mode of transmission selected, either a directory-based coherency protocol or a broadcast snooping coherency protocol is implemented to maintain coherency within the system. A computing node is formed by a group of clients which share a common address and data network. The address network is configured to determine whether a particular transaction is to be conveyed in broadcast mode or point-to-point mode. In one embodiment, the address network includes a mode table with entries which are configurable to indicate transmission modes corresponding to different regions of the address space within the node.
    Type: Grant
    Filed: June 23, 2003
    Date of Patent: May 22, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert E. Cypher, Ashok Singhal
  • Publication number: 20070113218
    Abstract: A system for debugging applications at resource-constrained virtual machines may include a target device configured to host a lightweight debug agent to obtain debug information from one or more threads of execution at a virtual machine executing at the target device, and a debug controller. The lightweight debug agent may include a plurality of independently deployable modules. The debug controller may be configured to select one or more of the modules for deployment at the virtual machine for a debug session initiated to debug a targeted thread, to deploy the selected modules at the virtual machine for the debug session, and to receive debug information related to the targeted thread from the lightweight debug agent during the session.
    Type: Application
    Filed: November 16, 2005
    Publication date: May 17, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: John Nolan, Bernard Horan
  • Publication number: 20070112771
    Abstract: A method for modifying a directory entry, which includes receiving a request to modify the directory entry, determining whether a directory entry lock associated with the directory entry is present, instantiating the directory entry lock, if the directory entry lock associated with the directory entry is not present, waiting until the directory entry lock is released, if the directory entry lock is present, providing the directory entry lock to a caller of the request, placing an entry corresponding to the directory entry lock on a dynamic lock list associated with the directory, processing the request by the caller, releasing the directory entry lock once the request has been processed, and removing the entry corresponding to the directory entry lock from the dynamic lock list.
    Type: Application
    Filed: May 11, 2006
    Publication date: May 17, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Mark Maybee, Matthew Ahrens
  • Publication number: 20070112884
    Abstract: A method for testing an intent log for a file system that includes creating a first file system, issuing a command to freeze the first file system, performing a plurality of commands on the first file system to obtain a plurality of deltas, wherein each of the plurality of deltas is stored in the intent log and is not committed to the first file system, copying the first file system to obtain a second file system, committing each of the plurality of deltas in the intent log to the second file system, unfreezing the first file system and committing each of the deltas in the intent log to the first file system, and comparing the first file system, after committing each of the deltas in the intent log, to the second file system to determine whether the intent log is valid.
    Type: Application
    Filed: May 10, 2006
    Publication date: May 17, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Neil Perrin, Jeffrey Bonwick
  • Publication number: 20070113091
    Abstract: An extensible fingerprint comprised of an ordered list of fingerprints generated by applying each of a plurality of distinct fingerprinting functions to the content of a data item. The extensible fingerprint can be extended by using a new fingerprinting function to compute a new fingerprint and adding the new fingerprint to the list so that the old extensible fingerprint of a data item is used as a prefix of the new extensible fingerprint for that data item. Thus, the fingerprint can be incrementally extended over time. A content-addressed storage system uses extensible fingerprints as addresses and can also change over time.
    Type: Application
    Filed: November 16, 2005
    Publication date: May 17, 2007
    Applicant: Sun Microsystems, Inc.
    Inventor: Daniel Ellard
  • Publication number: 20070112895
    Abstract: A method for backing up a file system, including obtaining a first indirect block comprising a first block pointer, obtaining a first birth time from the first block pointer, determining whether the first birth time is subsequent to a time of a last backup, and backing up a first block referenced by the first block pointer, if the first birth time is subsequent to the time of the last backup.
    Type: Application
    Filed: May 11, 2006
    Publication date: May 17, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Matthew Ahrens, Mark Maybee
  • Patent number: 7219331
    Abstract: A Lightweight component is made focus traversable by creating a pseudo native windowing system widget for each and every Lightweight component. This pseudo native widget has no geometry associated with it and does no rendering of the component since rendering of Lightweight components is done in Java. The pseudo native widget lives on the native windowing system's list of widgets and occupies a real estate thereby causing the native windowing system to attach a native structure with each and every Lightweight component, thus giving the windowing system accessibility to the Lightweight components. Since the pseudo native widgets are on the list of regular widgets, focus navigation for Lightweights become consistent with regular windowing system widgets, making the Lightweight components visible to all focus navigation events.
    Type: Grant
    Filed: March 14, 2001
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Kuldipsingh Pabla
  • Patent number: 7219206
    Abstract: A computer system having a kernel interface that provides a technique for creating memory descriptors that provides a single way of representing memory objects and provides a common interface to operations upon those objects. The present invention allow programmers to create a kernel interface that provides a mechanism to achieve a cohesive de-coupled interface between file-systems and virtual memory in a distributed computer system. The present invention allows the kernel interface to be provided as four sub-components with a primary abstraction mechanism and three supporting mechanisms. The primary abstraction is a memory descriptor that presents a common interface to manifold memory objects. The set of supported objects is complete in that the file-system need not deal with any other representation of memory.
    Type: Grant
    Filed: April 11, 2003
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Steve McPolin
  • Patent number: 7217915
    Abstract: One embodiment of the present invention provides a system for detecting light which is incident to a first semiconductor die. During operation, the system receives light at a photo-detector on the first semiconductor die, wherein associated circuitry converts the received light into a current. In doing so, the associated circuitry biases a gate voltage of an integrating transistor to be close to a threshold voltage of the integrating transistor, and applies the current from the photo-detector to the gate of the integrating transistor so that the current causes a charge to collect at the gate of the integrating transistor. This charge builds up and causes the integrating transistor to switch, thereby indicating that light has been received by the photo-detector.
    Type: Grant
    Filed: May 7, 2004
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert J. Bosnyak, Robert J. Drost
  • Patent number: 7219110
    Abstract: A mechanism for testing a database transaction system without modifying a database is provided. A transaction commit instruction, sent by a transaction manager, is intercepted. The transaction commit instruction is intended to instruct a database driver to cause a transaction to be committed. The transaction commit instruction is prevented from reaching the database. A failure signal is sent back to the transaction manager to indicate a failure to commit the transaction even though the database has not experienced the failure. This enables a failure to be simulated without causing a database to suffer any adverse effects.
    Type: Grant
    Filed: August 30, 2002
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Xiaoqiu He
  • Patent number: 7219169
    Abstract: In one embodiment, a direct memory access (DMA) disk controller used in hardware-assisted data transfer operations includes command receiving logic to receive a data transfer command issued by a processor. The data transfer command identifies one or more locations in memory and multiple distinct regions on one or more disks accessible to the DMA disk controller. The DMA disk controller further includes data manipulation logic to transfer data between the memory locations and the distinct regions on the disks according to the data transfer command.
    Type: Grant
    Filed: September 30, 2002
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Whay Sing Lee, Raghavendra Rao, Satyanarayana Nishtala
  • Patent number: 7219117
    Abstract: Computing an output interval includes producing a first product resulting from a conditional multiplication using a first operand, a second operand, and a third operand. Next a second product is produced resulting from the conditional multiplication using the first operand, the second operand, and the third operand. Then a third product is produced resulting from the conditional multiplication using the first operand, the second operand, and the third operand. Next a fourth product is produced resulting from the conditional multiplication using the first operand, the second operand, and the third operand. And finally, the output interval is produced including an output interval lower-point and an output interval upper-point, the output interval lower-point being the minimum of the first product and the third product, and the output interval upper-point being the maximum of the second product and the fourth product.
    Type: Grant
    Filed: December 17, 2002
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Guy L. Steele, Jr.
  • Patent number: 7219218
    Abstract: The present application describes a method and a system for executing instructions while reducing the logic required for execution in a processor. Instructions (e.g., atomic, integer-multiply, integer-divide, move on integer registers, graphics, floating point calculations or the like) are expanded into helper instructions before execution (e.g., in the integer, floating point, graphics and memory units or the like). Such instructions are treated as complex instructions. The functionality of a complex instruction is shared among multiple helpers so that by executing the helpers representing the complex instruction, the functionality of complex instruction is achieved. The expansion of complex instructions into helper instructions reduces the amount of hardware and complexity involved in supporting these individual complex instructions in various units in the processor.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: May 15, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Chandra M. R. Thimmannagari, Sorin Iacobovici, Rabin Sugumar
  • Publication number: 20070106925
    Abstract: A method for reconstructing corrupted data, which includes determining a number of non-parity disks (n), selecting a first combination of n-1 non-parity disks, obtaining a first set of physical blocks from the first combination of n-1 non-parity disks, obtaining a parity block associated with the first set of physical blocks, reconstructing a first physical block using the first set of physical blocks and the parity block, combining the first physical block and the first set of physical blocks to obtain a first reconstructed logical block, checksumming the first reconstructed logical block to obtain a first calculated checksum, and determining whether the first calculated checksum is equal to a stored checksum associated with the first reconstructed logical block.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: William Moore, Jeffrey Bonwick
  • Publication number: 20070106862
    Abstract: A method for storing a data block in a storage pool, including receiving a write operation for the data block, writing the data block into the storage pool, determining a first indirect block to store in the storage pool, wherein the first indirect block references the data block, writing the first indirect block to a first location in the storage pool, creating a copy of the first indirect block, and writing the copy of first indirect block to a second location in the storage pool.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore, Matthew Ahrens
  • Publication number: 20070106847
    Abstract: A method for caching a block of data. The method including receiving a request to store the block and determining whether an active cache is able to expand. If the active cache is able to expand, then expanding the active cache to obtain an expanded active cache, and storing the block in the expanded active cache. If the active cache is not able to expand, then determining whether evictable blocks are present in the victim cache. If evictable blocks are present in the victim cache, then evicting a sufficient number of the evictable blocks from the victim cache to facilitate storing the block in the active cache, where the evictable blocks in the victim cache are compressed.
    Type: Application
    Filed: August 31, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore, Mark Maybee, Matthew Ahrens
  • Publication number: 20070106866
    Abstract: A method for resilvering a storage pool includes determining whether any of a first plurality of blocks in the storage pool, comprising metadata, require resilvering, determining whether any of a second plurality of blocks in the storage pool, comprising data, require resilvering, resilvering all of the first plurality of blocks that require resilvering, and resilvering all of the second plurality of blocks that require resilvering, wherein all of the first plurality of blocks that require resilvering are resilvered prior to resilvering any of the second plurality of blocks.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: William Moore, Jeffrey Bonwick, Matthew Ahrens
  • Publication number: 20070106679
    Abstract: A method for dynamic intent logging in a file system. The method including pre-allocating a first log block, receiving a request to write a first set of deltas into a dynamic intent log, determining whether a size of the first set of deltas is larger than a size of the first log block, if the size of the first set of deltas is not larger than the size of the first log block, storing the first set of deltas in the first log block and pre-allocating a second log block.
    Type: Application
    Filed: August 31, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Neil Perrin, Stuart Maybee, Jeffrey Bonwick
  • Publication number: 20070102806
    Abstract: An improved technique for power distribution for use by high speed integrated circuit devices. A mixture of high dielectric constant, Er and low Er materials are used in a dielectric layer sandwiched between the voltage and ground planes of a printed circuit board that is used to fixture one or more integrated circuit devices. The low Er material is used in an area contained by the location of the integrated circuit device and its corresponding decoupling capacitors located nearby. High Er material is used in areas between the regions of low Er material. The low Er material improves that speed at which current from an adjoining decoupling capacitor can propagate to a power pin of the integrated circuit device. The high Er material mitigates cross-coupling of noise between the low Er regions.
    Type: Application
    Filed: December 1, 2006
    Publication date: May 10, 2007
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Kevin Horn, Forest Dillinger, Otto Buhler, Karl Sauter
  • Publication number: 20070106864
    Abstract: A method for writing data to a storage pool, including receiving a first write operation for a first block, determining a first replication type for the first block, determining a number of physical blocks (n1) required to write the first block to the storage pool using a size of the first block and the first replication type, if n1 is not a multiple of the maximum supported replication level of the storage pool: allocating a number of padded physical blocks (p1) to n1 until n1+p1 is a multiple of a maximum supported replication level of the storage pool, and writing the first block to the storage pool by filling in the n1 physical blocks.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: William Moore, Jeffrey Bonwick