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: 7580961Abstract: 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: GrantFiled: January 21, 2004Date of Patent: August 25, 2009Assignee: EMC CorporationInventors: Stephen J. Todd, Michael Kilian
-
Patent number: 7580979Abstract: 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: GrantFiled: December 13, 2002Date of Patent: August 25, 2009Assignee: International Business Machines CorporationInventors: Dermot Flaherty, Stephen J Todd
-
Patent number: 7565494Abstract: 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: GrantFiled: September 12, 2006Date of Patent: July 21, 2009Assignee: EMC CorporationInventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Jan F. Van Riel
-
Patent number: 7565493Abstract: 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: GrantFiled: September 12, 2006Date of Patent: July 21, 2009Assignee: EMC CorporationInventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Jan F. Van Riel
-
Patent number: 7539838Abstract: 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: GrantFiled: January 3, 2006Date of Patent: May 26, 2009Assignee: EMC CorporationInventors: Stephen J. Todd, Jeffrey A. Brown, James W. Espy
-
Patent number: 7529972Abstract: 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: GrantFiled: January 3, 2006Date of Patent: May 5, 2009Assignee: EMC CorporationInventors: Mikhail Zelikov, Stephen J. Todd, Jeffrey A. Brown, James W. Espy
-
Patent number: 7529883Abstract: 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: GrantFiled: August 7, 2006Date of Patent: May 5, 2009Assignee: EMC CorporationInventors: Michael Kilian, Stephen J. Todd, Tom Teugels, Carl D'Halluin, Jan F. Van Riel
-
Patent number: 7526553Abstract: 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: GrantFiled: September 12, 2006Date of Patent: April 28, 2009Assignee: EMC CorporationInventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Jan F. Van Riel
-
Patent number: 7523231Abstract: 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: GrantFiled: June 29, 2007Date of Patent: April 21, 2009Assignee: EMC CorporationInventors: 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: 20090077019Abstract: 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: ApplicationFiled: November 25, 2008Publication date: March 19, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: STEPHEN J. TODD
-
Patent number: 7502960Abstract: 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: GrantFiled: April 19, 2006Date of Patent: March 10, 2009Assignee: EMC CorporationInventors: Stephen J. Todd, Matthew J. D'Errico, Steven M. Blumenau
-
Patent number: 7490083Abstract: 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: GrantFiled: February 27, 2004Date of Patent: February 10, 2009Assignee: International Business Machines CorporationInventors: Serge Bourbonnais, Elizabeth B. Hamel, Bruce G. Lindsay, Stephen J. Todd
-
Patent number: 7483876Abstract: 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: GrantFiled: March 13, 2003Date of Patent: January 27, 2009Assignee: International Business Machines CorporationInventor: Stephen J. Todd
-
Patent number: 7451225Abstract: 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: GrantFiled: September 12, 2006Date of Patent: November 11, 2008Assignee: EMC CorporationInventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Jan F. Van Riel
-
Patent number: 7430645Abstract: 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: GrantFiled: January 21, 2004Date of Patent: September 30, 2008Assignee: EMC CorporationInventors: Stephen J. Todd, Michael Kilian
-
Patent number: 7428621Abstract: 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: GrantFiled: January 12, 2005Date of Patent: September 23, 2008Assignee: EMC CorporationInventors: Stephen J. Todd, Michael Kilian, Tom Teugels, Frank Matthys, Kim Marivoet
-
Patent number: 7428611Abstract: 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: GrantFiled: April 30, 2004Date of Patent: September 23, 2008Assignee: EMC CorporationInventors: Stephen J. Todd, Michael Kilian
-
Patent number: 7415591Abstract: 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: GrantFiled: April 23, 2003Date of Patent: August 19, 2008Assignee: EMC CorporationInventors: Stephen J. Todd, Steven M. Blumenau, Zoran Cakeljic
-
Patent number: 7406682Abstract: 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: GrantFiled: March 26, 2001Date of Patent: July 29, 2008Assignee: EMC CorporationInventors: Stephen J. Todd, Andreas L. Bauer
-
Publication number: 20080167841Abstract: 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: ApplicationFiled: January 8, 2007Publication date: July 10, 2008Applicant: International Business Machines CorporationInventors: Mark S. Ramsey, David A. Selby, Stephen J. Todd