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.
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.
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
Abstract: Apparatus for detecting failure of an isolation device includes a current sensor to sense current through the isolation device and a circuit responsive to the current sensor output signal and to an enable signal that controls the isolation device for providing an Early Failure Warning (EFW) signal indicative of whether the isolation device has failed. The enable signal is at a first logic level when the isolation device is on and is brought to a second logic level to disable and test the isolation device. Also described is a method of detecting a failure of an isolation device including disabling the isolation device, sensing a current through the isolation device, and providing an EFW signal indicating that the isolation device has failed if the current through the isolation device is greater than a predetermined level when the isolation device is disabled.
Abstract: A CAM includes a plurality of CAM blocks, each including an array of CAM cells divided into a plurality of segments, each array segment for storing a number of data values that are assigned the same priority, a plurality of block priority circuits, each having inputs to receive match signals from a corresponding CAM block and having outputs to generate a block index and priority of a matching data value in the corresponding CAM block assigned the highest priority, and a global priority and index circuit having inputs to receive the block indexes and associated priorities from the block priority circuits, and having an output to generate a device index and associated priority of the highest priority matching value.
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.
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.
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
Abstract: A storage pool including a file system, where the file system is associated with a name and the name is determined using a hierarchical data structure.
Type:
Application
Filed:
May 3, 2006
Publication date:
May 10, 2007
Applicant:
Sun Microsystems, Inc.
Inventors:
Matthew Ahrens, Mark Maybee, Jeffrey Bonwick
Abstract: A computer readable medium includes executable instructions for resilvering a hierarchical block tree in a storage pool by traversing a branch of the hierarchical block tree only if a birth time of a parent block of the branch is greater than or equal to a lowest birth time on a dirty time log (DTL), and resilvering a child block in the branch only if the DTL comprises a birth time of the child block.
Type:
Application
Filed:
April 19, 2006
Publication date:
May 10, 2007
Applicant:
Sun Microsystems, Inc.
Inventors:
William Moore, Jeffrey Bonwick, Matthew Ahrens
Abstract: A method for caching a block, which includes receiving a request to store the block in a cache and determining whether the cache is able to expand. If the cache is not able to expand, then determining whether evictable blocks are present in the cache and, if evictable blocks are present in the cache determining whether a total size of the evictable blocks is greater than or equal to a size of the block, evicting a sufficient number of the evictable blocks from the cache and storing the block in the cache, if the total size of the evictable blocks is greater than or equal to the size of the block, and activating a cache throttle, if the total size of the evictable blocks is less than the size of the block.
Type:
Application
Filed:
May 3, 2006
Publication date:
May 10, 2007
Applicant:
Sun Microsystems, Inc.
Inventors:
Jeffrey Bonwick, William Moore, Mark Maybee, Matthew Ahrens
Abstract: The invention relates to a system that includes a file system configured to create a snapshot of a hierarchical block tree (HBT) and a storage pool. After the snapshot has been created, the storage pool includes a snapshot, where the snapshot includes a copy of a first version of a root block and the HBT, where the HBT includes a second version of the root block. Further, the copy of the first version of the root block is created prior to overwriting the first version of the root block with the second version of the root block, the second version of the root block comprises references to a first block and a second block, and the copy of the first version of the root block comprises a reference to the first block and no reference to the second block.
Type:
Application
Filed:
August 31, 2006
Publication date:
May 10, 2007
Applicant:
Sun Microsystems, Inc.
Inventors:
Matthew Ahrens, Mark Maybee, Jeffrey Bonwick
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
Abstract: A method for writing a logical block into a storage pool includes receiving a request to write the logical block, selecting a block allocation policy, by a file system associated with the storage pool, from a set of allocation policies, obtaining a list of free physical blocks in the storage pool, allocating a physical block from the list of free physical blocks, based on the block allocation policy, and writing the logical block to the physical block.
Abstract: A method for storing a block in a file system includes attempting to store the block at a location on a disk, where the block is associated with a birth time and is selected from a group consisting of a data block and an indirect block, and updating a dirty time log (DTL) with the birth time if the block is not stored successfully on the disk.
Abstract: A method for storing a first block and a second block, the includes storing the first block and the second block in a storage pool, and storing a third block in the storage pool, wherein the third block references the first block and second block and comprises a first fill count and a second fill count, wherein the first fill count corresponds to one selected from the group consisting of a number of data blocks directly referenced by the first block, a number of data blocks indirectly referenced by the first block, if the first block is an indirect block, wherein the first fill count is one if the first block is a data block.
Type:
Application
Filed:
April 19, 2006
Publication date:
May 10, 2007
Applicant:
Sun Microsystems, Inc.
Inventors:
Jeffrey Bonwick, William Moore, Matthew Ahrens
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
Abstract: A method for locating a root block in file system metadata, includes traversing the file system metadata to locate a leaf block, wherein the leaf block comprises a plurality of root blocks and at least one of the plurality of root blocks is unallocated, allocating the at least of one the plurality of unallocated root blocks to obtain an allocated root block, wherein the leaf block is associated with a fill count and the fill count is less than a maximum fill count of the leaf block.
Type:
Application
Filed:
April 20, 2006
Publication date:
May 10, 2007
Applicant:
Sun Microsystems, Inc.
Inventors:
Jeffrey Bonwick, William Moore, Matthew Ahrens
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.