Patents by Inventor Stephen J. Todd

Stephen J. Todd 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: 7580961
    Abstract: One embodiment is a method and apparatus for modifying retention periods in a storage system, in which previously defined retention periods for units of data may be reduced. In another embodiment, the retention period of a unit of data may be modified in response to the occurrence of an event by renewing previously defined retention periods until the occurrence of the event is detected. If the occurrence of the event is detected, a retention period associated with that event may be established for the unit of data. In yet another embodiment, retention classes are used to define retention periods for units of data so that the retention period of a unit of data may be modified without modifying the unit of data itself. In a further embodiment, a request to the storage system to reduce a retention period includes authentication information that the storage system may use to verify the request.
    Type: Grant
    Filed: January 21, 2004
    Date of Patent: August 25, 2009
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian
  • Patent number: 7580979
    Abstract: A messaging handling system implements the well-known Two-Phase Commit protocol (comprising prepare and commit operations) to store messages related to transactions in a repository, but enforces message ordering. The commit operation is divided into two phases: a commit phase and a release phase. Prepare requests are implemented conventionally. Commit requests are implemented by immediately executing the commit phase of the operation, but delaying release of the message for reading from the repository until all prepare requests received prior to an instant request have released. In this manner, message ordering is preserved, while allowing use of conventional two-phase commit protocol processing.
    Type: Grant
    Filed: December 13, 2002
    Date of Patent: August 25, 2009
    Assignee: International Business Machines Corporation
    Inventors: Dermot Flaherty, Stephen J Todd
  • Patent number: 7565494
    Abstract: Caching techniques for use in a computer system comprising a core and at least one edge device. The core comprises at least one object addressable storage system. At least one cache is disposed logically between the core and the edge device. The cache has a prefetch policy that selects from among the content units based upon at least one prefetch criterion. The prefetch policy imposes a limit on at least one prefetch operation. The limit is selected from the group consisting of: a total number of content units to be prefetched; a time range during which content units were stored to qualify as prefetch candidates; and a total volume of content to be prefetched.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: July 21, 2009
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Jan F. Van Riel
  • Patent number: 7565493
    Abstract: Caching techniques for use in a computer system comprising a core and at least one edge device. The core comprises at least one object addressable storage system. At least one cache is disposed logically between the core and the at least one edge device. The cache has a replacement policy that selects from among the content units in the cache based upon at least one replacement criterion selected from the group consisting of: an identity of a source that wrote an evaluated content unit; when the replacement is performed subsequent to a request to access at least one content unit, an identity of a requestor that issued the request; a size of an evaluated content unit; a content type of an evaluated content unit; and when metadata was written along with an evaluated content unit, the substance of the metadata.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: July 21, 2009
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Jan F. Van Riel
  • Patent number: 7539838
    Abstract: One embodiment is directed to an object addressable storage (OAS) system that has a plurality of storage devices to store a plurality of content units. The OAS system provides an OAS interface so that each one of the content units stored on the OAS system can be accessed using an object identifier. The OAS system is capable of discovering the addition of newly added storage devices to the plurality of storage devices after the OAS system has been at least partially populated so that at least some of the plurality of storage devices have content units already stored thereon, and in response to the discovery of newly added storage devices, configuring the newly discovered storage devices to increase the storage capacity of the OAS system and to enable content units to be stored thereon.
    Type: Grant
    Filed: January 3, 2006
    Date of Patent: May 26, 2009
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Jeffrey A. Brown, James W. Espy
  • Patent number: 7529972
    Abstract: One embodiment relates to a computer system comprising at least one host, at least one object addressable storage (OAS) system and at least one communication medium that couples the at least one host to the at least one OAS system. The at least one OAS system has a plurality of storage devices and stores a plurality of content units on the plurality of storage devices. Each of the at least one host and the at least one OAS system has software that provides a OAS interface so that each one of the content units stored on the OAS system may be identified between the at least one host and the at least one OAS using an object identifier. The computer system maps the object identifier for a first of the plurality of content units to at least one of the plurality of storage devices over at least one first path.
    Type: Grant
    Filed: January 3, 2006
    Date of Patent: May 5, 2009
    Assignee: EMC Corporation
    Inventors: Mikhail Zelikov, Stephen J. Todd, Jeffrey A. Brown, James W. Espy
  • Patent number: 7529883
    Abstract: One embodiment is a system for locating content on a storage system, in which the storage system provides a location hint to the host of where the data is physically stored, which the host can resubmit with future access requests. In another embodiment, an index that maps content addresses to physical storage locations is cached on the storage system. In yet another embodiment, intrinsic locations are used to select a storage location for newly written data based on an address of the data. In a further embodiment, units of data that are stored at approximately the same time having location index entries that are proximate in the index.
    Type: Grant
    Filed: August 7, 2006
    Date of Patent: May 5, 2009
    Assignee: EMC Corporation
    Inventors: Michael Kilian, Stephen J. Todd, Tom Teugels, Carl D'Halluin, Jan F. Van Riel
  • Patent number: 7526553
    Abstract: Caching techniques for use in a computer system comprising a core and at least one edge device. The core comprises at least one object addressable storage (OAS) system that stores a plurality of content units and provides an interface that enables content units to be accessed via object identifiers. The at least one edge device is configured to access at least some of the content units. At least one cache is configured to be disposed logically between the core and the at least one edge device and to temporarily store a subset of the content units. The at least one cache is further configured to have a limit on a maximum number of content units that can be stored on the at least one cache simultaneously.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: April 28, 2009
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Jan F. Van Riel
  • Patent number: 7523231
    Abstract: Described are techniques for processing a data storage configuration request for an application A first user level of a plurality of user levels at which said data storage configuration request is made is determined. One or more rule sets defining mappings between different ones of said plurality of user levels are provided. Each of the different user levels is associated with a different level of abstraction with respect to processing performed in the data storage system for implementing the data storage configuration request. One of the rule sets is selected in accordance with the application, a data service requested in said data storage configuration request, and a user grouping including said plurality of user levels. The data storage configuration request is serviced using rules of the selected rule set.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: April 21, 2009
    Assignee: EMC Corporation
    Inventors: Uday K. Gupta, Andreas L. Bauer, Stephen J. Todd, Douglas A. Wood, Mark A. Parenti, Joseph T. Frank, Thomas Magorka, David C. Butchart, Brian James Martin, Todd R. Brune, Matthew T. Brooks, Giridhar G. Basava
  • Publication number: 20090077019
    Abstract: A system and computer readable medium for processing a request to retrieve data from a database is disclosed. The system and computer readable medium of the present invention comprises receiving the request which comprises a function that processes at least one data item specified in the request, retrieving the at least one data item from a database, and invoking the function. When the function is invoked, at least one parameter comprising information related to the at least one data item is passed to the function. Thus, a function can be written independently of the data which they are called to process.
    Type: Application
    Filed: November 25, 2008
    Publication date: March 19, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: STEPHEN J. TODD
  • Patent number: 7502960
    Abstract: One embodiment is directed to a method in a computer system including a host computer and at least one storage system including first and second storage volumes, the host computer including at least one application program executing thereon. The method comprises acts of intercepting and redirecting an access request from the at least one application program to the first storage volume to the second storage volume. Other embodiments are directed to a computer readable medium with instructions for performing the method, a host computer with at least one controller to intercept and redirect the access request. Other aspects are directed to methods in a computer system including a host computer, a first storage system including a first storage volume, and a second storage system including a second storage volume, wherein the second storage volume is a hardware mirror of the first storage volume.
    Type: Grant
    Filed: April 19, 2006
    Date of Patent: March 10, 2009
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Matthew J. D'Errico, Steven M. Blumenau
  • Patent number: 7490083
    Abstract: An improved method for providing parallel apply in asynchronous data replication in a database system is disclosed. The improved method and system provides a high speed parallel apply of transactional changes to a target node such that the parallel nature of the application of changes does not compromise the integrity of the data. The method and system detects, tracks, and handles dependencies between transaction messages to be applied to the target node. If a transaction message has a dependency on one or more preceding transaction messages whose applications have not yet completed, that transaction message is held until the application completes. In addition, the method and system requires significantly less overhead than conventional approaches.
    Type: Grant
    Filed: February 27, 2004
    Date of Patent: February 10, 2009
    Assignee: International Business Machines Corporation
    Inventors: Serge Bourbonnais, Elizabeth B. Hamel, Bruce G. Lindsay, Stephen J. Todd
  • Patent number: 7483876
    Abstract: A method and system for processing a request to retrieve data from a database is disclosed. The method of the present invention comprises receiving the request which comprises a function that processes at least one data item specified in the request, retrieving the at least one data item from a database, and invoking the function. When the function is invoked, at least one parameter comprising information related to the at least one data item is passed to the function. Thus, a function can be written independently of the data which they are called to process.
    Type: Grant
    Filed: March 13, 2003
    Date of Patent: January 27, 2009
    Assignee: International Business Machines Corporation
    Inventor: Stephen J. Todd
  • Patent number: 7451225
    Abstract: Caching techniques for use in a computer system comprising a core and at least one edge device. The core comprises at least one object addressable storage system. At least one cache is disposed logically between the core and the at least one edge device. The cache has a prefetch policy that selects from among the content units based upon at least one prefetch criterion selected from the group consisting of: a source that wrote an evaluated content unit; a size of an evaluated content unit; a content type of an evaluated content unit; when the prefetch is performed subsequent to a request to access at least one of the plurality of content units, an identity of the requestor; when the prefetch is performed subsequent to a request to access at least one of the content units stored at a first time, proximity of a time at which an evaluated content unit was stored relative to the first time; and metadata written with the evaluated content unit.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: November 11, 2008
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Jan F. Van Riel
  • Patent number: 7430645
    Abstract: One embodiment is a method and apparatus for modifying retention periods in a storage system, in which previously defined retention periods for units of data may be reduced. In another embodiment, the retention period of a unit of data may be modified in response to the occurrence of an event by renewing previously defined retention periods until the occurrence of the event is detected. If the occurrence of the event is detected, a retention period associated with that event may be established for the unit of data. In yet another embodiment, retention classes are used to define retention periods for units of data so that the retention period of a unit of data may be modified without modifying the unit of data itself. In a further embodiment, a request to the storage system to reduce a retention period includes authentication information that the storage system may use to verify the request.
    Type: Grant
    Filed: January 21, 2004
    Date of Patent: September 30, 2008
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian
  • Patent number: 7428621
    Abstract: One embodiment is directed to the deletion of content units from a storage system. When a content unit is deleted, a reflection may be created and stored on the storage system. The reflection identifies the deleted content unit and may include additional information, such as a portion of the content of the content unit and audit information regarding the deletion of the content unit.
    Type: Grant
    Filed: January 12, 2005
    Date of Patent: September 23, 2008
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Frank Matthys, Kim Marivoet
  • Patent number: 7428611
    Abstract: Embodiments of the present invention are directed to a method and apparatus for receiving an input/output (I/O) request from a host computer that specifies an operation to be performed on a content addressable storage (CAS) system and determining which operation is specified by the request before receipt of the I/O request by a content addressable storage system. In another embodiment, an I/O request from a host computer is received by a first CAS which determines if the request is to be processed by another CAS system. When it is determined that the request is to be processed by another CAS system, the first CAS system may forward the request to the other CAS system. In another embodiment, an appliance receives an I/O request from a host computer to perform an operation that accesses a unit of content. The appliance may set up a communication session between the host and a CAS system so that the unit of content may be transmitted between the host and the CAS system without passing through the appliance.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: September 23, 2008
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian
  • Patent number: 7415591
    Abstract: Methods and apparatus for migrating a logical object. In one embodiment, a migration is performed by automatically determining the source location(s) of the logical object, moving the data stored therein to a target location while maintaining the availability of the data at the source location to an application program, and automatically servicing access requests from the application program at the target location after moving the data. In another embodiment, a migration is performed by automatically provisioning target location(s) to store a logical object, moving the data in the logical object to the target location(s) while maintaining its availability to an application program, and automatically servicing access requests from the application program at the target location after moving the data.
    Type: Grant
    Filed: April 23, 2003
    Date of Patent: August 19, 2008
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Steven M. Blumenau, Zoran Cakeljic
  • Patent number: 7406682
    Abstract: A translator-compiler for converting legacy architecture. In the area of management software or distributed management software, a standard architecture is evolving from legacy or proprietary architecture, and the standard embraces CIM/XML (Common Information Model/eXtensible Markup Language) computer language. Many vendors have developed proprietary languages for their respective management products that are incompatible with such standard. To accomplish compatibility between standard architecture and various different proprietary architectures, a substantial amount of code must be written at great effort and expense, unless an automatic, easily-applied and universal solution can be achieved. A translator-compiler is disclosed which meets these solution criteria and therefore solves this incompatibility problem. Flowcharts depicting algorithms along with sample input and output code in C++, as well as an example of the final XML result are also disclosed.
    Type: Grant
    Filed: March 26, 2001
    Date of Patent: July 29, 2008
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Andreas L. Bauer
  • Publication number: 20080167841
    Abstract: A system, method and program product for processing a stream of data events using scaled exponential smoothing for maintaining a histogram. A system is provided having: a set of histogram data that maintains a running value for each of a plurality of buckets; a bucket identification system for identifying a bucket b into which a new data event value belongs; an exponential smoothing system that applies a decay factor to the set of histogram data utilizing a first algorithm for the running value associated with bucket b, and a second algorithm for each remaining running value; and an analysis system for analyzing data event values in view of the histogram data.
    Type: Application
    Filed: January 8, 2007
    Publication date: July 10, 2008
    Applicant: International Business Machines Corporation
    Inventors: Mark S. Ramsey, David A. Selby, Stephen J. Todd