Patents by Inventor Richard J. McDougall

Richard J. McDougall has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7945657
    Abstract: A system and method for emulating the input/output performance of an application. A workload description language is used to produce a small but accurate model of the application, which is flexible enough to emulate the application's performance with varying underlying system configurations or operating parameters. The model describes I/O operations performed by the application, and reflects any dependencies that exist between different application threads or processes. The model is then executed or interpreted with a particular system configuration, and various parameters of the I/O operations may be set at the model's run-time. During execution, the input/output operations described in the model are generated according to the specified parameters, and are performed. The system configuration and/or I/O operation parameters may be altered and the model may be re-run.
    Type: Grant
    Filed: March 30, 2005
    Date of Patent: May 17, 2011
    Assignee: Oracle America, Inc.
    Inventors: Richard J. McDougall, Spencer Shepler, Brian L. Wong
  • Patent number: 7836387
    Abstract: A system and method for ensuring or verifying the integrity of data transmitted between protection domains. When the data is transmitted, it may be received in a different logical configuration (e.g., as a different number of “chunks”). The receiving domain computes its data integrity metadata (e.g., checksum, CRC, parity) on its form of the data using its protection scheme (e.g., checksum algorithm), and also applies the sending domain's protection scheme to the data as it was received from the sending domain. Similarly, the sending domain applies the receiving domain's protection scheme to compute data integrity metadata on the transmitted data as it appears in the receiving domain. The metadata may be compared to determine whether the data was corrupted during the transfer. Either domain may forward its data integrity metadata to the other, which may store and/or forward it as needed.
    Type: Grant
    Filed: April 29, 2005
    Date of Patent: November 16, 2010
    Assignee: Oracle America, Inc.
    Inventors: Brian L. Wong, David Robinson, Spencer Shepler, Richard J. McDougall
  • Patent number: 7809848
    Abstract: A system and method for decreasing the protocol processing incurred by an NFS (Network File System) client, and the network bandwidth consumed, when multiple NFS requests are issued close in time to each other. Requests received close in time to each other within one NFS client are aggregated into a single communication packet, even if they are from different NFS users, processes or applications. The per-request overhead of the NFS requests is thus avoided, and multiple streams of requests may be merged into one. When a first request is received by the client, it may be delayed for a short time to determine whether any other requests can be sent at the same time. NFS requests may be aggregated on an NFS client from multiple applications, processes, users or other entities. An NFS client may include an aggregator or other mechanism for performing the aggregation.
    Type: Grant
    Filed: March 15, 2005
    Date of Patent: October 5, 2010
    Assignee: Oracle America, Inc.
    Inventors: Richard J. McDougall, David Robinson, Spencer Shepler, Brian L. Wong, Glenn A. Colaco
  • Patent number: 7739352
    Abstract: A system and method for facilitating a consistent point-in-time copy (PITC). A data provider offers access to data by one or more clients. A client issues a PITC request for a set of data to the data provider, or the provider initiates its own request. The data provider instructs one or more clients, particularly clients accessing the set of data, to flush any pending updates involving the files. The clients acknowledge the flush request, flush their data, and notify the data provider when their flushes are complete. Post-consistency updates are deferred (e.g., using a write-aside buffer). If a client fails to acknowledge the flush request or notify of flush completion, the data provider may abort the PITC or continue because the data may not be consistent or consistency may not be assured. If not aborted, the PITC may be marked to indicate that it is incomplete.
    Type: Grant
    Filed: April 23, 2004
    Date of Patent: June 15, 2010
    Assignee: Oracle America, Inc.
    Inventors: Brian L. Wong, David Robinson, Richard J. McDougall, Spencer Shepler
  • Patent number: 7730351
    Abstract: A method for dirty region logging of a file that includes receiving a request to open the file, determining each of a plurality of component files associated with the file, opening each of the plurality of component files, writing to a region of the at least one of the plurality component files, and updating a dirty region log (DRL) associated with the one of the plurality of component files to reflect the write to the region.
    Type: Grant
    Filed: May 15, 2006
    Date of Patent: June 1, 2010
    Assignee: Oracle America, Inc.
    Inventors: David Robinson, Brian L. Wong, Spencer Shepler, Richard J. McDougall
  • Publication number: 20090327355
    Abstract: A system and method for coordinating a point-in-time copy (PITC) of a file or set of data distributed (e.g., striped) across multiple data providers (e.g., filers, file servers, storage arrays). A service coordinator receives a PITC request for a parent file, initializes the PITC's metadata and instructs the data providers to generate PITC subcomponents for the portions (e.g., sub-mirrors) of the file that they store. A scoreboard is created to track the status of the PITC, and includes an entry for each PITC subcomponent. Quality of service characteristics for the PITC may be copied from the parent and/or received with the request. If those characteristics cannot be attained, the PITC may be aborted. As PITC subcomponents are completed, they are returned to the service coordinator for assembly of the PITC.
    Type: Application
    Filed: June 30, 2008
    Publication date: December 31, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Brian L. Wong, David Robinson, Spencer Shepler, Richard J. McDougall
  • Patent number: 7194579
    Abstract: A file is striped across multiple filers, file servers or other devices, to create a sparsely striped multi-component file. Each filer stores one sparse component. In particular, each component physically stores only those stripes allocated to that component. The other stripes are represented as holes. Thus, instead of contiguously packing each component's stripes at the block level, each component is a file having the same logical structure. A component of a sparsely striped multi-component file can be easily converted to a mirror by filling in its holes. Similarly, a mirror can be easily converted to one component of a sparsely striped multi-component file by removing or ignoring it unallocated stripes. In either case, the layout or logical of the component does not need to be reconfigured.
    Type: Grant
    Filed: April 26, 2004
    Date of Patent: March 20, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: David Robinson, Brian L. Wong, Spencer Shepler, Richard J. McDougall
  • Patent number: 6701412
    Abstract: One embodiment of the present invention provides a system that facilitates sampling a cache in a computer system, wherein the computer system has multiple central processing units (CPUs), including a measured CPU containing the cache to be sampled, and a sampling CPU that gathers the sample. During operation, the measured CPU receives an interrupt generated by the sampling CPU, wherein the interrupt identifies a portion of the cache to be sampled. In response to receiving this interrupt, the measured CPU copies data from the identified portion of the cache into a shared memory buffer that is accessible by both the measured CPU and the sampling CPU. Next, the measured CPU notifies the sampling CPU that the shared memory buffer contains the data, thereby allowing the sampling CPU to gather and process the data.
    Type: Grant
    Filed: January 27, 2003
    Date of Patent: March 2, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Richard J. McDougall, Denis J. Sheahan