Redo (i.e., Roll Forward) Patents (Class 707/683)
  • Patent number: 8370310
    Abstract: Managing database recovery time. A method includes receiving user input specifying a target recovery time for a database. The method further includes determining an amount of time to read a data page of the database from persistent storage. The method further includes determining an amount of time to process a log record of the database to apply changes specified in the log record to a data page. The method further includes determining a number of dirty pages that presently would be read in recovery if a database failure occurred. The method further includes determining a number of log records that would be processed in recovery if a database failure occurred. The method further includes adjusting at least one of the number of dirty pages that presently would be read in recovery or the number of log records that would be processed in recovery to meet the specified target recovery time.
    Type: Grant
    Filed: March 4, 2011
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Robin Dhananjay Dhamankar, Hanumantha Rao Kodavalla
  • Patent number: 8359568
    Abstract: A data management method includes accessing data objects in an application written in C/C++ for change-logging and multi-step redo/undo, wherein the data objects are organized in a binary format and are devoid of self-describing information, and wherein the accessing the data objects is structured in a plurality of layers, the plurality of layers including a semantic layer, a change log layer, and a repository layer, dynamically analyzing the data objects to recognize all changes made by any of a plurality of users for all data types used by the application, the dynamically analyzing the data including using semantic analysis to track changes and identifying any changes in any of the data objects, and using generated wrapper classes to convert between C/C++ data structures and generic data format, wherein the wrapper classes are generated from developer provided annotations with C/C++ data structure declarations.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: January 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Juergen Baumann, Friedrich Beichter, Jochen Hoffman, Thomas Pohl
  • Publication number: 20120330899
    Abstract: Techniques used in an automatic failover configuration having a primary database system, a standby database system, and an observer for preventing divergence among the primary and standby database systems while increasing the availability of the primary database system. In the automatic failover configuration, the primary database system remains available even in the absence of both the standby and the observer as long as the standby and the observer become absent sequentially. The failover configuration further permits automatic failover only when the observer is present and the standby and the primary are synchronized and inhibits state changes during failover. The database systems and the observer have copies of failover configuration state and the techniques include techniques for propagating the most recent version of the state among the databases and the observer and techniques for using carefully-ordered writes to ensure that state changes are propagated in a fashion which prevents divergence.
    Type: Application
    Filed: August 22, 2012
    Publication date: December 27, 2012
    Applicant: Oracle International Corporation
    Inventors: Jiangbin LUO, George H. CLABORN, Stephen John VIVIAN, Steve Taihung LEE, Raymond GUZMAN, Douglas Andrew VOSS, Benedicto Elmo GARIN, JR.
  • Publication number: 20120239628
    Abstract: Embodiments are directed to implementing a transitional redo phase to allow pre-redo phase data access and to determining which data pages including unprocessed transactions are to be processed during a transitional redo phase. In an embodiment, a computer system initiates an analysis phase of a database recovery that scans a database transaction log and builds a dirty page table that includes pages corresponding to unprocessed data transactions. The computer system determines from the dirty page table which pages are to be processed during the transitional redo phase, before the final redo phase. The computer system processes the determined pages during the transitional redo phase, before the final redo phase is reached and, upon completion of the system transaction undo phase, makes available those pages that were processed during the transitional redo phase, as well as those database pages that are not scheduled for processing during the final redo phase.
    Type: Application
    Filed: March 18, 2011
    Publication date: September 20, 2012
    Applicant: Microsoft Corporation
    Inventors: Robin Dhananjay Dhamankar, Hanumantha Rao Kodavalla
  • Patent number: 8271891
    Abstract: A computing environment logbook logs events occurring within a computing environment. The events are displayed as a history of past events within the logbook of the computing environment. The logbook provides search functionality to search through the history of past events to find one or more selected past events, and further, enables an undo of the one or more selected past events.
    Type: Grant
    Filed: February 2, 2007
    Date of Patent: September 18, 2012
    Assignee: Sandia Corporation
    Inventors: Gordon C. Osbourn, Ann M. Bouchard
  • Patent number: 8244685
    Abstract: A restoration technique includes storing a collection of blocks having (i) a first baseline of blocks defining a file at a first time within a predefined window, (ii) older blocks, and (iii) newer blocks. The technique further includes providing a direction signal to restore the file at a particular time from the collection of blocks. The direction signal has an older direction value when the particular time is older than the first time and (ii) a newer direction value when the particular time is newer than the first time. The technique further includes forming, from the collection of blocks, a second baseline of blocks from the first baseline of blocks and additional blocks. The additional blocks are either (i) the older blocks or (ii) the newer blocks depending on the direction value. The second baseline defines the file at the particular time.
    Type: Grant
    Filed: February 24, 2010
    Date of Patent: August 14, 2012
    Assignee: Autonomy, Inc.
    Inventor: Robert Stewart Fiske
  • Patent number: 8234469
    Abstract: A system and method for creating a backup of a virtual machine running on a host computer is described herein. The system and method operate by creating a copy or “clone” of a virtual machine running on a first host computer on a second host machine connected thereto. After generation of the clone, a backup of the virtual hard disk of the clone can be obtained in a manner that does not consume any resources of the first host machine. The backup of the virtual hard disk of the clone can then be used as the backup of the original virtual machine.
    Type: Grant
    Filed: July 9, 2009
    Date of Patent: July 31, 2012
    Assignee: Microsoft Corporation
    Inventor: Dilip Ranade
  • Patent number: 8185505
    Abstract: Described are techniques for processing recovery points. One or more storage objects for which data protection processing is performed are determined. The data protection processing includes copying data for each of said one or more storage objects to one or more data protection storage devices. One or more recovery points corresponding to each of said one or more storage objects are determined. For each of the one or more recovery points corresponding to each of the one or more storage objects, performing processing including determining whether said each recovery point is at least one of recoverable in accordance with recoverable criteria and restartable in accordance with restartable criteria.
    Type: Grant
    Filed: September 29, 2008
    Date of Patent: May 22, 2012
    Assignee: EMC Corporation
    Inventors: Aharon Blitzer, Aviram Katz, David Barta, Michael Specht, Yaron Dar
  • Patent number: 8180762
    Abstract: A method for tuning a database system is disclosed. A tuning strategy is received comprising a first procedure to determine a suggested tuning action, and a second procedure to measure performance of the database system. The suggested tuning action is determined and pre-action performance measured according to the respective procedures. Undo information that indicates how to undo the database system state change of the suggested tuning action is recorded in a database system state history. After executing the suggested tuning action, post-action database system performance is measured according to the second procedure. When the post-action performance is lower than the pre-action performance, the database system state change is undone using the undo information. Embodiments enabling to create new tuning strategies, downloading existing tuning strategies, sharing own tuning strategies and changing existing tuning strategies are disclosed as well.
    Type: Grant
    Filed: August 24, 2006
    Date of Patent: May 15, 2012
    Assignee: International Business Machines Corporation
    Inventors: Thorsten Steinbach, Michael Reichert, Holger Karn, Namik Hrle, Norbert Heck
  • Patent number: 8170997
    Abstract: Systems (and corresponding methods) that unbundle the kernel or storage engine of a database system are provided. The unbundling separates transactional aspects from storage aspects. The two components of the storage engine resulting from the unbundling are a transaction component (TC) and a data component (DC). Data storage access methods are implemented in the DC without the added complexity of dealing with transactions, which are handled separately in the TC. The interface supported by the DC is a logical interface, e.g., record oriented, in which the way that records are mapped to disk pages (or flash memory blocks, etc.) need not be exposed. The TC then deals with logical locking and logging, meaning that it need know nothing about the way pages are used in the DC.
    Type: Grant
    Filed: January 29, 2009
    Date of Patent: May 1, 2012
    Assignee: Microsoft Corporation
    Inventors: David Bruce Lomet, Alan David Fekete, Michael James Zwilling
  • Patent number: 8156083
    Abstract: Techniques for history enabling a table in a database system so that past versions of rows of the history-enabled table are available for temporal querying. The table is history enabled by adding a start time column to the table and creating a history table for the history-enabled table. The start time field's value in a row of the history-enabled table indicates when the contents of the row last changed. The rows of the history table are copies of rows of the history-enabled table that have been deleted or updated. The rows include end time fields whose values indicate when the row was updated or deleted. A history table's row thus indicates a period in which the history table's row was in the history-enabled table. Temporal queries are performed on a view which is the union of the history-enabled table and the history table.
    Type: Grant
    Filed: December 1, 2005
    Date of Patent: April 10, 2012
    Assignee: Oracle International Corporation
    Inventors: Jayanta Banerjee, Robert Hanckel, Siva Ravada
  • Patent number: 8156084
    Abstract: Method, computer program product, and system for transferring data from positional data sources to partitioned databases are provided. A record is read from a positional data source. The record is to be written to one of a plurality of partitions of a database. A position of the record in the positional data source is obtained. A transaction is initiated to write the record to the one partition and to store the position of the record in the database. The transaction is committed after the record is successfully written to the one partition and the position of the record is successfully stored in the database.
    Type: Grant
    Filed: January 17, 2008
    Date of Patent: April 10, 2012
    Assignee: International Business Machines Corporation
    Inventors: Jing-Song Jang, James Michael McArdle, Michael John Elvery Spicer
  • Patent number: 8099398
    Abstract: To provide a database which has plural log storage areas, and eliminates the sort in the restoration process by means of the application of logs, thereby carrying out the restoration quickly. A management server allocates DB servers to a corresponding one of plural data storage areas so as to access the corresponding one. The DB servers store data to the allocated data storage areas. When the data is referenced or updated, a log representing a data change history is stored in preset log areas for each data server. When the management server transmits a notification to change the data storage areas, area remapping logs are stored in log areas.
    Type: Grant
    Filed: November 12, 2008
    Date of Patent: January 17, 2012
    Assignee: Hitachi, Ltd.
    Inventors: Akira Shimizu, Daisuke Ito
  • Patent number: 8095511
    Abstract: The present invention relates to a system and method of data restoration, for instance, after the occurrence of a user error. In particular, snapshot database can be maintained that stores a copy of database data. The snapshot database does not have to store a complete copy of all data on a source database, but rather shares data that is common to both but not necessarily identical. If an error occurs on the primary database then the database can be reverted back to a point in time prior to the error by replacing source database files with snapshot files. Additionally, an undo component can be employed in conjunction with the snapshot to approach an error to a finer grained point in time. In brief, the present invention can restore a database much faster and simpler, while utilizing less space and resources than conventional data restoration technologies.
    Type: Grant
    Filed: April 28, 2004
    Date of Patent: January 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Michael J. Zwilling, Gregory A. Smith, Rajeev B. Rajan, Jakub Kulesza, Peter Byrne, Shashikant Brijmohan Khandelwal, Mark S. Wistrom
  • Publication number: 20120005168
    Abstract: This patent application relates to enhanced logical recovery techniques for redo recovery operations of a system with an unbundled storage engine. These techniques can be implemented by utilizing an enhanced logical recovery approach in which a dirty page table (DPT) is constructed based on information logged during normal execution. The unbundled storage engine can include a transaction component (TC) that is architecturally independent of a data component (DC). These techniques can enhance redo recovery operations by mitigating the resources needed to determine whether previously executed operations sent from the TC to the DC are to be repeated in response to a recovery-initiating event.
    Type: Application
    Filed: June 30, 2010
    Publication date: January 5, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: David Lomet, Kostas Tzoumas
  • Patent number: 8090677
    Abstract: Disclosed are methods usable by non-experts for altering a configuration of a data warehouse. The initial configuration of the data warehouse is represented in terms of metadata, and that metadata configuration is presented to a user. The user can choose to alter the metadata configuration. If alterations are made to the metadata, then the underlying configuration of the data warehouse is altered accordingly. Because there may be multiple users wishing to alter aspects of the data warehouse, some embodiments of the present invention enforce approval guidelines so that proposed changes to the data warehouse configuration are only implemented after the appropriate approvals have been secured. By presenting a metadata representation of the data warehouse configuration, the present invention both allows non-experts to have a hand in converting a data warehouse and prevents user errors from corrupting the data warehouse conversion process.
    Type: Grant
    Filed: March 18, 2005
    Date of Patent: January 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Shawn M. Murphy, Alan B. Auerbach, German A. Gil
  • Patent number: 8078588
    Abstract: Systems and methods for providing a one-step API that executes a series of atomic transactions in a database system. In one implementation, each atomic transaction is associated with a forward block of code that effects changes, an undo block of code that reverses the changes made by the forward block, and a state block of code that mimics successful execution of the forward block by setting internal states. In the event of a failure, the forward blocks, undo blocks, and state blocks can be used to roll forward or roll back changes as a whole. In one implementation, a one-step API for replicating data in a database is provided.
    Type: Grant
    Filed: October 10, 2005
    Date of Patent: December 13, 2011
    Assignee: Oracle International Corporation
    Inventors: Anand Lakshminath, Lik Wong, James Stamos, Alan Downing
  • Patent number: 8037032
    Abstract: One embodiment is a method for providing incremental backups for a source computing machine, the method including: (a) creating a first backup snapshot including a virtual machine (VM) snapshot of an initial copy of a source computing machine volume, wherein said VM snapshot includes a timestamp and a first redo log file; (b) reconfiguring and customizing said first backup snapshot to create a first bootable VM, writing changes associated with said reconfiguring and customizing into said first redo log file, then creating a first bootable snapshot including a VM snapshot of said first bootable VM, wherein said VM snapshot of said first bootable VM includes a timestamp for said first bootable VM and a redo log file; (c) performing an incremental update of said first backup snapshot or a subsequent backup snapshot, then creating a subsequent backup snapshot including a VM snapshot of said incremental update, wherein said VM snapshot of said incremental update includes a timestamp for said incremental update and
    Type: Grant
    Filed: August 25, 2008
    Date of Patent: October 11, 2011
    Assignee: VMware, Inc.
    Inventors: Aleksey Pershin, Ilia Langouev, Sudarsana R. Piduri, Parag Ratankumar Shah, Joshua M. Silver
  • Patent number: 7991739
    Abstract: This invention involves tracking and backing all the information that a user generates on its computer devices (including embedded devices) in real time. The local user server records all user actions and gestures (via various means that include TV cameras). All of this information (user actions and saved files in a computer) is then sent to a remote server via the Internet. This remote server has a virtual map of all the embedded devices on a computer that the person uses. The remote server immediately starts to interpret the user's actions (including user gestures). In one implementation, the invention stores user actions that are related to data generation (e.g. actions that called some links where data is stored, or executed some programs that generated data). In another variant the remote server generates and downloads the same files that are downloaded on the local user computer devices.
    Type: Grant
    Filed: May 21, 2008
    Date of Patent: August 2, 2011
    Assignee: International Business Machines Corporation
    Inventors: Dimitri Kanevsky, Alexander Zlatsin
  • Publication number: 20110184918
    Abstract: A method and system of recovery point data view shift through a direction-agnostic roll algorithm is disclosed. The method includes forming a data view around a recovery point, and shifting the data view around the recovery point through a direction-agnostic roll algorithm that uses at least one of a roll-forward algorithm to shift the data view to a time after the recovery point and a roll-backward algorithm to shift the data view to a time before the recover point. A data integrity may be determined to be consistent at the recover point by examining data and meta-data associated with the recovery point. The recovery point may be associated with one of an automatically generated event, a user definable event, and/or a prepackaged event. A marker data may be generated at the recovery point to enable the direction-agnostic roll algorithm to reduce a recovery time objective when an algorithm is applied.
    Type: Application
    Filed: January 22, 2010
    Publication date: July 28, 2011
    Inventors: RAJEEV ATLURI, Sudhakar Pannerselvam, Jayesh Shah, Satish Kumar, Srin Kumar, Kishor Paygude
  • Patent number: 7970742
    Abstract: Techniques for history enabling a table in a database system so that past versions of rows of the history-enabled table are available for temporal querying. The table is history enabled by adding a start time column to the table and creating a history table for the history-enabled table. The history table's rows are copies of rows of the history-enabled table that have changed and include start time and end time fields whose values indicate a period in which the history table's row was in the history-enabled table. Temporal queries are performed on a view which is the union of the history-enabled table and the history table. The temporal queries are speeded up by period of time indexes in which the leaves are grouped based on time period size, identifiers are assigned to the groups, and the keys of the index include the group identifiers.
    Type: Grant
    Filed: December 1, 2005
    Date of Patent: June 28, 2011
    Assignee: Oracle International Corporation
    Inventors: Robert Hanckel, Jayanta Banerjee, Siva Ravada
  • Patent number: 7953696
    Abstract: One or more data stores are maintained separately from a primary presentation storage within a document for storing, relating and for allowing use of arbitrary data that is associated with a computer-generated document between multiple data consumers. The data store exposes application programming interfaces (APIs) to the various pieces of data in the data store for allowing different data consumers to access and operate on one or more of the data pieces in real time. Multiple data consumers may access and edit the same piece of data concurrently, and any conflicting changes to a given piece of data are resolved. Each data consumer may accept or reject the change as well as make additional side-effect changes as a result of the original change. In this way, the data may be synchronized in real time across the data consumers.
    Type: Grant
    Filed: January 13, 2006
    Date of Patent: May 31, 2011
    Assignee: Microsoft Corporation
    Inventors: Tristan A. Davis, Ali Taleghani, Brian M. Jones, Marcin Sawicki, Robert A. Little, Shiraz Cupala, Dragos Barac
  • Patent number: 7945538
    Abstract: The present invention relates to a method and arrangements for node recovery particularly suitable for recovery involving large database fragments. The method for node recovery according to the present invention makes use of an old version of a fragment in a failed node (114). The old version is brought up to date by means of scanning an up to date version of the fragment in another node and copying parts of the fragment (117), which have changed since the creation of the old version, to the recovering node. A delete log is utilized in order to take deletions, which have taken place since the creation of the old version, into account in the recovery of the failed node (116). An advantage of the method for node recovery according to the present invention is that it does not require write transactions to be stopped during the recovery process.
    Type: Grant
    Filed: March 13, 2001
    Date of Patent: May 17, 2011
    Assignee: Oracle America, Inc.
    Inventor: Mikael Ronström
  • Patent number: 7937374
    Abstract: A method of electronically administering instructions, includes receiving a new instruction; creating new instruction metadata from the new instruction; comparing the new instruction metadata to a data set of existing instruction metadata to identify existing instructions corresponding to the new instruction; determining whether the new instruction metadata indicates that the new instruction revises an existing instruction; comparing the new instruction to any corresponding existing instructions, where the new copy instruction metadata does not indicate that the new instruction revises an existing instruction, to determine if the new instruction revises the existing instructions; initiating revision workflow where the new instruction is determined to revise an existing instruction; and storing the new instruction metadata in the data set of existing instruction metadata and the new instruction in a corresponding data set of existing instructions.
    Type: Grant
    Filed: July 5, 2007
    Date of Patent: May 3, 2011
    Assignee: NBCUniversal Media, LLC
    Inventors: Brian Patrick McGovern, Melinda Vulgaris Armenti, Vanessa Jean Cavorti, Lauren Elise Clement, Debanshu Debroy, Bradley Jay Epperson, Dang Hai Ly, Pamela Regan, Lisa Marie Spadaro
  • Publication number: 20110060724
    Abstract: A method and apparatus for recovery a cluster database is provided. Database recovery is divided among a plurality of surviving database server instances in the cluster. A surviving instance is responsible for recovering data blocks to which the surviving instance is assigned. One form of block-to-instance assignment may be based on mastership of the blocks. If a data block is locked by a surviving instance at the time of failure, then no recovery of that data block may be necessary. Else, if a copy of a data block that is to be recovered is stored on a surviving node in the cluster, then one or more redo records are applied to that copy (if necessary). A redo record that corresponds to that data block might not need to be applied to the copy if the redo record reflects changes (to the data block) that are already reflected in the copy.
    Type: Application
    Filed: September 8, 2009
    Publication date: March 10, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Wilson Wai Shun Chan
  • Patent number: 7865678
    Abstract: A remote copy system for copying data between a plurality of storage systems, including: a plurality of first storage systems to and from which data is inputted and outputted, and a plurality of second storage systems that are connected to each of the first storage systems; each of the first storage systems including a first logical volume that stores the data that is inputted and outputted; each of the second storage systems including a second logical volume that stores a copy of the data stored in the first logical volume; the remote copy system comprising a pre-update data storage unit that stores pre-update data that is stored before data to be stored in the second logical volume is updated and time stamps of the data to be stored in the second logical volume.
    Type: Grant
    Filed: January 23, 2007
    Date of Patent: January 4, 2011
    Assignee: Hitachi, Ltd.
    Inventors: Hiroshi Arakawa, Takashige Iwamura, Yusuke Hirakawa
  • Patent number: 7860847
    Abstract: Various technologies and techniques are disclosed for handling exceptions in sequential statements that are executed in parallel. A transactional memory system is provided with a contention manager. The contention manager is responsible for managing exceptions that occur within statements that were designed to be executed in an original sequential order, and that were transformed into ordered transactions for speculative execution in parallel. The contention manager ensures that any exceptions that are thrown from one or more speculatively executed blocks while the statements are being executed speculatively in parallel are handled in the original sequential order.
    Type: Grant
    Filed: June 20, 2007
    Date of Patent: December 28, 2010
    Assignee: Microsoft Corporation
    Inventors: David Detlefs, John Joseph Duffy, Goetz Graefe, Vinod K. Grover, Michael M. Magruder, Lingli Zhang
  • Patent number: 7853571
    Abstract: Techniques for file system recovery are disclosed. In one particular exemplary embodiment, the techniques may be realized as a method for file system recovery comprising starting a recovery process for a failed node, utilizing the recovery process to read one or more committed but un-applied transactions from storage associated with the failed node, and recreating the one or more committed but un-applied transactions in memory associated with the recovery process.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: December 14, 2010
    Assignee: Symantec Corporation
    Inventors: Dilip Ranade, Aalop Shah, Nagaprabhanjan Bellari, Mukund Agrawal
  • Patent number: 7853570
    Abstract: A database processing system including a plurality of partitioned databases. Data processing is performed with pieces of information processing apparatus associated with each of the partitioned databases respectively. In response to a query, a status table indicating availability of each information processing apparatus is read from the storage. Of the pieces of information processing apparatus for processing the received query, at least a serviceable one is determined as a process request destination. A process request corresponding to the query is transmitted to the information processing apparatus determined as the process request destination. The process request is received through a communication unit, and data on the database are consequently processed. A processing result is transmitted to a transmitting source through the communication unit.
    Type: Grant
    Filed: May 2, 2006
    Date of Patent: December 14, 2010
    Assignee: Hitachi, Ltd.
    Inventors: Norihiro Hara, Tetsuya Suzuki, Ryuichi Hoshino
  • Patent number: 7840530
    Abstract: Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Releasing a duplicate write lock for rollback is supported. During rollback processing of a parallel nested transaction, a write log entry is encountered that represents a write lock. If the write lock is a duplicate, a global lock is used to synchronize access to a global versioned write lock map. Optimistic read validation is supported. During validation, if a versioned write lock indicates a sibling conflict, consult information to determine if a parallel nested transaction should be doomed. Write lock acquisition is supported. Upon attempting to acquire a write lock for a parallel nested transaction, a transactional memory word is analyzed to determine if the write lock can be obtained. If the transactional memory word indicates a versioned write lock, retrieve a write log entry pointer from a global versioned write lock map.
    Type: Grant
    Filed: September 18, 2007
    Date of Patent: November 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Michael M. Magruder, David Detlefs, John Joseph Duffy, Goetz Graefe, Vinod K. Grover
  • Patent number: 7814367
    Abstract: Method and system for allowing temporal navigation or time travel of data or data object across time are disclosed. In one embodiment, events that affected data objects are retrieved and inversed to revert the data objects back to a selected point-in-time, forward events are applied to move data objects to forward point-in-time. A sliding bar or a time dial allows a user to move data objects back and forward in time. Events that are applied may be a selected subset of events, altered events, new events, or events generated synthetically or any combinations thereof, for instance, to create counterfactual history.
    Type: Grant
    Filed: November 14, 2005
    Date of Patent: October 12, 2010
    Assignee: Double-Take Software Canada, Inc.
    Inventors: Mark Squibb, F. Roy Carlson, Jr., Nick Burke
  • Publication number: 20100228701
    Abstract: The present invention extends to methods, systems, and computer program products for updating Bloom filters. Embodiments of the invention facilitate more efficient use Bloom filters across multiple computers connected across a WAN (potentially having limited bandwidth and latency characteristics), such as, for example, computers located on different continents. The acceptability of false positives is leveraged by allowing the operation of removing items from a set to be batched and delayed. On the other hand, insert operations may be more latency sensitive as a delayed insert results in the semantic equivalent to a false negative. As such, additions to a set are processed in closer to real time to update Bloom filters. In some embodiments, Bloom filters are used to check set membership for electronic mail addresses.
    Type: Application
    Filed: March 6, 2009
    Publication date: September 9, 2010
    Applicant: Microsoft Corporation
    Inventors: Ralph Burton Harris, III, Amit Jhawar
  • Patent number: 7774565
    Abstract: Methods and systems for accessing data from a previous point in time, including receiving data stored in a storage system of addressable memory, the storage system including a plurality of addresses, receiving a journal history of write transactions for the storage, each write transaction including (i) a plurality of designated memory addresses, (ii) a corresponding plurality of current data to write in the designated memory addresses for storage, and (iii) a time indicator, generating a data structure that represents a virtual interface to the storage at a specified point in time, based on the write transactions in the journal history having a time subsequent to the specified point in time, and enabling a user to process the data from the specified point in time, via the virtual interface and the journal history.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: August 10, 2010
    Assignee: EMC Israel Development Center, Ltd.
    Inventors: Michael Lewin, Yair Heller, Ziv Kedem, Shlomo Ahal, Assaf Natanzon, Avi Shoshan, Evgeny Drukh, Efrat Angel, Oded Weber
  • Patent number: 7730450
    Abstract: System and method for automatic versioning and data mutation for user-defined data types. A program development environment may be operable to: create a first version of a data type definition in response to user input; instantiate and store an object of the first version of the data type, optionally including a version identifier indicating the version of the object; modify the first version of the data type definition in response to user input, thereby creating a second version of the data type definition; load the object from storage; and automatically (without user intervention) modify the object to conform to the second version of the data type definition. Successive modifications of the data type definition may generate successive versions of the data type. Objects instantiated and stored according to a previous version of the data type may be loaded from storage and automatically modified to conform to a specified subsequent version.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: June 1, 2010
    Assignee: National Instruments Corporation
    Inventor: Stephen R. Mercer
  • Publication number: 20100121824
    Abstract: A technique capable of constructing a disaster recovery system reduced in performance degradation of a primary system is provided. The technique includes a step of conducting synchronous writing of log information into a secondary storage subsystem in a secondary system when a write request received from a host computer is a write request of log information, a step of temporarily storing a write request and conducting asynchronous writing into the secondary storage subsystem when the received write request is a write request of database data or status information, a step of modifying log information, data in a database area, and status information in the secondary storage subsystem according to contents of a write request received from a primary storage subsystem, and a step of recovering the database area according to contents of log information in a location indicated by the status information.
    Type: Application
    Filed: January 4, 2010
    Publication date: May 13, 2010
    Applicants: HITACHI, LTD., HITACHI SOFTWARE ENGINEERING CO., LTD.
    Inventors: Nobuo Kawamura, Kota Yamaguchi, Takashi Oeda