Software Engineering C++ Multithreading Agile Methodologies Java Linux Object Oriented Design Sql Stl Subversion Shell Scripting C Xml Virtualization Scrum C/C++ Stl Html Tcp/Ip Unix Rest Cvs Certified Scrum Master Csm Hibernate Matlab Security Uml Vmware Windows Device Drivers Win32 Gnu Make X86 Assembly Partitioning Microsoft Office Excel Word Powerpoint Perforce Spring Soap Unix Shell Scripting Dos Bios Batch Processing Awk Kernel Programming Agile Methodolgy Cloud Computing Distributed Systems Software Development Sed
Ping Lu - Mountain View CA, US Ilia Langouev - Santa Cruz CA, US Aleksey V. Pershin - Fremont CA, US Sudarsan R. Piduri - Santa Clara CA, US Erik Weathers - San Jose CA, US
Writes to blocks of a protected storage volume that occur between the beginning of a prior backup interval and the beginning of a current backup interval are tracked using a first snapshot that is maintained through the current backup interval. At the beginning of the current backup interval, a second snapshot is generated. Blocks that are indicated by a dirty block list of the first snapshot as having been changed are read from the snapshot volume for the second snapshot and copied to a backup storage volume. For the next backup interval, the second snapshot or alternatively, a newly generated third snapshot, is used to track writes to blocks of a protected storage volume that occur between the beginning of the current backup interval and the beginning of a next backup interval.
Alexei Jelvis - Menlo Park CA, US Ilia Langouev - Santa Cruz CA, US Ping Lu - Mountain View CA, US Aleksey Vasilyevich Pershin - Fremont CA, US Erik Weathers - San Jose CA, US
Assignee:
VMware, Inc. - Palo alto CA
International Classification:
G06F 9/44 G06F 9/45 G06F 13/00
US Classification:
717174, 717108, 717165, 717177, 711162
Abstract:
One embodiment is a method of installing a block-level write tracking driver in a Microsoft Windows™ operating system so that no reboot of the system is need, another embodiment is a method of installing a block-level write tracking driver in a Linux operating system so that no reboot of the system is needed, and still another embodiment is a method of tracking block-level writes to snapshots under newer Microsoft Windows™ operating systems.
Storing Block-Level Tracking Information In The File System On The Same Block Device
Aleksey Pershin - Fremont CA, US Sudarsan R. Piduri - Santa Clara CA, US
Assignee:
VMware, Inc. - Palo Alto CA
International Classification:
G06F 17/00
US Classification:
707625, 703 21, 707694, 711 6, 718102
Abstract:
Writes to a storage device of a protected computer system are tracked in a manner that accounts for those writes that may occur during a system reboot process when the file system is not available. During the shutdown process, write tracking data is maintained in system memory and is written into storage locations allocated to the tracking file after the file system has been dismounted so that any writes that may occur during the file system dismount can be captured. During the boot process, temporary write tracking data is maintained in system memory even before the file system is mounted so that any writes that may occur immediately after the file system mount can be captured. The temporary write tracking data is later merged with the tracking data contained in the tracking file and the merged tracking data is used to track further writes to the storage device.
Aleksey PERSHIN - Fremont CA, US Ilia LANGOUEV - Santa Cruz CA, US Sudarsana R. PIDURI - Santa Clara CA, US Parag Ratankumar SHAH - San Jose CA, US Joshua M. SILVER - Palo Alto CA, US
Assignee:
VMWARE, INC. - Palo Alto CA
International Classification:
G06F 12/16
US Classification:
711162, 711E12103
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 a redo log file; and (d) reconfiguring and customizing said subsequent backup snapshot to create a subsequent bootable VM, then creating a subsequent bootable snapshot including a VM snapshot of said subsequent bootable VM, wherein said VM snapshot of said subsequent bootable VM includes a timestamp for said subsequent bootable VM and a redo log file.
Breaking Locks Held By Two-Phase Commit Transactions While Preserving Data Consistency
Ilia LANGOUEV - Santa Cruz CA, US Ryan David GALLAGHER - Sunnyvale CA, US Aleksey Vasilyevich PERSHIN - Fremont CA, US Maria BASMANOVA - Cambridge MA, US
Assignee:
VMWARE, INC. - Palo Alto CA
International Classification:
G06F 15/16
US Classification:
709207
Abstract:
A technique for breaking locks held by two-phase commit (2PC) transactions while preserving data consistency that guarantees that either the “commit” phase or the “abort” phase of the 2PC protocol is completed at a higher-priority server. Accordingly, all locks on data objects are released and a high-priority operation can proceed. Data consistency is also preserved because the 2PC coordinator adheres to the 2PC protocol and properly notifies both the higher-priority server and one or more lower-priority servers when they are available.
Generating Templates For Deployment Of System Services
- San Francisco CA, US Aleksey Pershin - San Francisco CA, US
International Classification:
H04L 29/08 G06F 16/2458 G06F 16/22
Abstract:
A system uses templates to generate data structures, for example, pipelines for deploying services in cloud based system. A template contains templating expressions used as placeholders for actual values. The generated data structure may be modified, for example, using an application. The system generates a reverse substitution map that associates actual values used in a data structure instance with a corresponding templating expression used as placeholders for the actual values. The system generates a modified version of the template for a modified version of the data structure by replacing actual values with the corresponding templating expressions from the reverse substitution map. The system can use the modified template to generate other instances of data structure that include the modifications made to the data structure.
Scalable Monitoring Of Long Running Multi-Step Data Intensive Workloads
- Palo Alto CA, US Ilia LANGOUEV - Santa Cruz CA, US Aleksey PERSHIN - Fremont CA, US
International Classification:
H04L 29/08 G06F 9/00 H04L 12/26
Abstract:
Examples perform monitoring of multiple-step, concurrently executed workflows across distributed nodes. Requests from an intermediate node are classified by a load balancer as monitoring or non-monitoring. Non-monitoring requests are handled by any node; however, monitoring requests are distributed to all nodes via a plurality of queues but handled only by nodes executing the subject workflow. The load balancer receives reports from any node executing the subject workflow, and passes the first report to the intermediate node.
Storage Policy-Based Automation Of Protection For Disaster Recovery
- Palo Alto CA, US Ilia LANGOUEV - Santa Cruz CA, US Glenn Bruce MCELHOE - Arlington MA, US Aleksey PERSHIN - Fremont CA, US Sudarsan PIDURI - Campbell CA, US
International Classification:
G06F 11/14 G06F 11/20
Abstract:
Exemplary methods, apparatuses, and systems include a recovery manager receiving selection of a storage profile to be protected. The storage profile is an abstraction of a set of one or more logical storage devices that are treated as a single entity based upon common storage capabilities. In response to the selection of the storage profile to be protected, a set of virtual datacenter entities associated with the storage profile is added to a disaster recovery plan to automate a failover of the set of virtual datacenter entities from a protection site to a recovery site. The set of one or more virtual datacenter entities includes one or more virtual machines, one or more logical storage devices, or a combination of virtual machines and logical storage devices. The set of virtual datacenter entities is expandable and interchangeable with other virtual datacenter entities.