Patents Assigned to Microsystems, Inc.
-
Publication number: 20070106864Abstract: 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: ApplicationFiled: April 19, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: William Moore, Jeffrey Bonwick
-
Publication number: 20070106849Abstract: 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: ApplicationFiled: June 5, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: William Moore, Krister Johansen, Jeffrey Bonwick
-
Publication number: 20070106868Abstract: 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: ApplicationFiled: April 19, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: William Moore, Jeffrey Bonwick
-
Publication number: 20070106851Abstract: 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: ApplicationFiled: April 19, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: Jeffrey Bonwick, William Moore
-
Publication number: 20070106678Abstract: 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: ApplicationFiled: May 11, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: Matthew Ahrens, Mark Maybee
-
Publication number: 20070106862Abstract: 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: ApplicationFiled: April 19, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: Jeffrey Bonwick, William Moore, Matthew Ahrens
-
Publication number: 20070106867Abstract: 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: ApplicationFiled: April 19, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: Jeffrey Bonwick, William Moore
-
Publication number: 20070106925Abstract: 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: ApplicationFiled: April 19, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: William Moore, Jeffrey Bonwick
-
Publication number: 20070106847Abstract: 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: ApplicationFiled: August 31, 2006Publication date: May 10, 2007Applicant: Sun Microsystems, Inc.Inventors: Jeffrey Bonwick, William Moore, Mark Maybee, Matthew Ahrens
-
Patent number: 7216202Abstract: 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: GrantFiled: February 24, 2004Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventors: Shailender Chaudhry, Marc Tremblay, Quinn A. Jacobson
-
Patent number: 7216219Abstract: 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: GrantFiled: August 20, 2004Date of Patent: May 8, 2007Assignee: Sun Microsystems Inc.Inventors: Shailender Chaudhry, Paul Caprioli, Marc Tremblay
-
Patent number: 7216062Abstract: 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: GrantFiled: June 13, 2006Date of Patent: May 8, 2007Assignee: Sun Microsystem, Inc.Inventors: Dan Vacar, David K. McElfresh, Kenny C. Gross, Leoncio D. Lopez
-
Patent number: 7216160Abstract: 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: GrantFiled: October 31, 2001Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventors: Murthy Chintalapati, Sreeram Duvvuru
-
Patent number: 7216203Abstract: 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: GrantFiled: September 23, 2003Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventor: Sanjeev Bagewadi
-
Patent number: 7215345Abstract: 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: GrantFiled: April 9, 1999Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventor: James G. Hanko
-
Patent number: 7216248Abstract: 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: GrantFiled: March 20, 2003Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventor: Lawrence Butcher
-
Patent number: 7215556Abstract: 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: GrantFiled: November 7, 2002Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventor: Sean Conor Wrycraft
-
Patent number: 7215142Abstract: 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: GrantFiled: December 13, 2005Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventor: Scott Fairbanks
-
Patent number: 7215004Abstract: 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: GrantFiled: July 1, 2004Date of Patent: May 8, 2007Assignee: NetLogic Microsystems, Inc.Inventor: Bindiganavale S. Nataraj
-
Patent number: 7216233Abstract: 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: GrantFiled: August 14, 2000Date of Patent: May 8, 2007Assignee: Sun Microsystems, Inc.Inventor: Jonathan P. Krueger