Patents Assigned to Microsystems, Inc.
  • 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
  • Publication number: 20070106849
    Abstract: A method for prefetching data in a file system includes detecting an access to a file in the file system, wherein an instance of file access information is generated upon each access to the file, placing a plurality of the instance of file access into an access history buffer, performing a collinear check between at least three of the plurality of the instance of file access information in the history buffer to determine a sequential access pattern, creating a prefetch stream based on the sequential access pattern if the collinear check succeeds, and placing the prefetch stream into the prefetch stream buffer.
    Type: Application
    Filed: June 5, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: William Moore, Krister Johansen, Jeffrey Bonwick
  • Publication number: 20070106868
    Abstract: A computer readable medium includes executable instructions for writing a logical block in a storage pool by receiving a request to write the logical block, obtaining a first latency associated with a first disk in the storage pool and a second latency associated with a second disk in the storage pool, obtaining a list of free physical blocks, where the list of free physical blocks identifies free physical blocks on the first disk and the second disk, allocating a physical block from the list of free physical blocks based on the first latency and the second latency, and writing the logical block to the physical block.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: William Moore, Jeffrey Bonwick
  • Publication number: 20070106851
    Abstract: A method for writing data to a storage pool, involving receiving a first write operation to write a first block to the storage pool, determining a first replication type for the first block using a first replication policy associated with the first block, determining a first number of physical blocks required to write the first block to the storage pool using a size of the first block and the first replication type, and writing the first block, in accordance with the first replication policy, to the storage pool by filling in the first number of physical blocks.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore
  • Publication number: 20070106678
    Abstract: A storage pool, that includes a hierarchical data structure, wherein the hierarchical data structure comprises a plurality of nodes, wherein one of the plurality of nodes corresponds to the file system, and the file system, wherein the file system is associated with a value corresponding to an attribute, wherein the value is determined using the hierarchical data structure.
    Type: Application
    Filed: May 11, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Matthew Ahrens, Mark Maybee
  • 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: 20070106867
    Abstract: A method for resilvering a storage pool includes identifying a live block in the storage pool, determining whether a birth time associated with the live block is on a dirty time log (DTL), and resilvering the live block, if the birth time is on the DTL.
    Type: Application
    Filed: April 19, 2006
    Publication date: May 10, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Jeffrey Bonwick, William Moore
  • 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: 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
  • Patent number: 7216202
    Abstract: One embodiment of the present invention provides a system that facilitates avoiding locks by speculatively executing critical sections of code. During operation, the system allows a process to speculatively execute a critical section of code within a program without first acquiring a lock associated with the critical section. If the process subsequently completes the critical section without encountering an interfering data access from another process, the system commits changes made during the speculative execution, and resumes normal non-speculative execution of the program past the critical section. Otherwise, if an interfering data access from another process is encountered during execution of the critical section, the system discards changes made during the speculative execution, and attempts to re-execute the critical section.
    Type: Grant
    Filed: February 24, 2004
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Shailender Chaudhry, Marc Tremblay, Quinn A. Jacobson
  • Patent number: 7216219
    Abstract: One embodiment of the present invention provides a system that avoids write-after-read (WAR) hazards while speculatively executing instructions on a processor. The system starts in a normal execution mode, wherein the system issues instructions for execution in program order. Upon encountering an unresolved data dependency during execution of an instruction, the system generates a checkpoint, defers the instruction, and executes subsequent instructions in an execute-ahead mode, wherein instructions that cannot be executed because of unresolved data dependencies are deferred, and wherein other non-deferred instructions are executed in program order. While deferring the instruction, the system stores the instruction along with any resolved source operands for the instruction into a deferred buffer.
    Type: Grant
    Filed: August 20, 2004
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems Inc.
    Inventors: Shailender Chaudhry, Paul Caprioli, Marc Tremblay
  • Patent number: 7216062
    Abstract: A system that characterizes degradation of a component in a system. During operation, the system monitors inferential variables associated with a specimen of the component. Next, the system determines a time for the onset of degradation for the specimen and determines a time for the completion of degradation for the specimen. The system then computes a time interval between the onset of degradation and the completion of degradation, and uses the time interval to look up an entry in a defect library to obtain information which characterizes the degradation of the specimen of the component.
    Type: Grant
    Filed: June 13, 2006
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystem, Inc.
    Inventors: Dan Vacar, David K. McElfresh, Kenny C. Gross, Leoncio D. Lopez
  • Patent number: 7216160
    Abstract: Methods for monitoring an application running on a server are described. Method steps include maintaining counters of statistics related to operation of the application, collecting first operational statistics based on counters from one or more application components, collecting second operational statistics based on counters from one or more application runtime environment components, updating aggregation statistics based on the collected statistics, and storing the statistics for access by a presentation agent which can interface with external monitoring tools. The nature and level of the collected statistics provide valuable insight into the operation of the application of interest.
    Type: Grant
    Filed: October 31, 2001
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Murthy Chintalapati, Sreeram Duvvuru
  • Patent number: 7216203
    Abstract: One embodiment of the present invention includes a method for enabling a client node to automatically read ahead data from a network based file system. Specifically, in response to an application operating on the client node requesting a data page, the client node requests delivery of data pages from the network based file system. Upon reception, these data pages can each be served to the application. After each data page is served, it is determined whether the number of unrequested available data pages is less than the value of M. If so, an asynchronous read-ahead request is sent to a primary node of the network based file system for P number of data pages. The values of M and P can be such that P data pages can be fetched before M data pages are consumed by the requesting application.
    Type: Grant
    Filed: September 23, 2003
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Sanjeev Bagewadi
  • Patent number: 7215345
    Abstract: A method and apparatus for clipping video information before scaling. In an embodiment of the invention, a transmitter obtains video information in the form of image data, as well as clipping information defining one or more display regions in which the image data is to be displayed. In accordance with the clipping information, the transmitter performs clipping operations on the image data, and transmits the clipped image data to a receiver. Prior to displaying the clipped image data, the receiver performs any needed scaling of the clipped image data to conform to the dimensions of the display regions. By performing clipping operations prior to transmission, and scaling operations subsequent to transmission, unnecessary image data is omitted and greater transmission efficiency is achieved.
    Type: Grant
    Filed: April 9, 1999
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: James G. Hanko
  • Patent number: 7216248
    Abstract: A method and apparatus are provided, the method and apparatus comprising sending an output of a free-running counter to a comparator for a clock shaper logic unit, the free-running counter incremented every time a double-speed clock rises for an on-chip system and sending at least one input from a central processing unit (CPU) to the comparator for the clock shaper logic unit, the at least one input specifying a desired frequency. The method and apparatus also comprises producing a central processing unit (CPU) clock in the clock shaper logic unit based on the output of the free-running counter and the at least one input specifying the desired frequency by comparing a bit-reversed version of the output of the free-running counter with the at least one input specifying the desired frequency.
    Type: Grant
    Filed: March 20, 2003
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Lawrence Butcher
  • Patent number: 7215556
    Abstract: A rack-mounted assembly (10) comprises one or more racks, each capable of containing one or more printed circuit boards (PCB) (18), interconnected by a backplane (15) which is located along the bottom of a shelf (14). This position of the backplane (15) allows the rear wall of the rack-mounted assembly to be perforated, thereby permitting a cooling airflow for the PCBs to pass in through the front of the assembly and then out through the back. An insertion mechanism is provided to allow a PCB to be inserted into a rack. To achieve this, the PCB must first travel backwards into the rack-mounted assembly, and then downwards into engagement with the backplane (15). In one embodiment, this is accomplished by supporting the PCB from a hanger (100) which moves in and out of the rack-mounted assembly along a guide rail (45). The hanger includes slots (115) that retain pins (110) from the PCB. The slots are orientated diagonally upwards and backwards.
    Type: Grant
    Filed: November 7, 2002
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Sean Conor Wrycraft
  • Patent number: 7215142
    Abstract: An inverse toggle circuit includes a pair of input connections for receiving each of four possible input signal combinations in a sequential rotational manner. Each of four data paths are defined to be exercised in accordance with a respective input signal combination. A first output connection is controlled by first and third data paths. A second output connection is controlled by second and fourth data paths. Each data path is defined such that a currently exercised data path generates an output signal having an asserted state on the output connection that is controlled by the currently exercised data path. The currently exercised data path is also defined to cause a next data path in the sequence to generate an output signal having a non-asserted state on the output connection that is controlled by the next data path.
    Type: Grant
    Filed: December 13, 2005
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Scott Fairbanks
  • Patent number: 7215004
    Abstract: An semiconductor device having a plurality of fabrication layers. A first region of a first fabrication layer of the semiconductor device is revised. To signal the revision, a connectivity structure in a second region of the first fabrication layer is omitted to interrupt an otherwise continuous signal path that extends through a plurality of interconnection layers of the semiconductor device.
    Type: Grant
    Filed: July 1, 2004
    Date of Patent: May 8, 2007
    Assignee: NetLogic Microsystems, Inc.
    Inventor: Bindiganavale S. Nataraj
  • Patent number: 7216233
    Abstract: A digital signature is embedded in the header of selected content to be transmitted. A recipient of the content identifies the priority of the content according to header line content or signature presence and segregates signed priority content from non-authenticated content. Signature generation and filtering as well as certification are accomplished by running application specific software on a selected computer. Required e-mail access level may vary with the intended recipient and/or with the instrumentality by which e-mail access is allowed.
    Type: Grant
    Filed: August 14, 2000
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Jonathan P. Krueger