2011-07-14 Assigned to QUEST SOFTWARE, INC. reassignment QUEST SOFTWARE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FEATHERGILL, DAVID ALLEN, HRYCKO, MATTHEW S.
Examples of systems and methods for cataloging image-based backups are disclosed. In certain implementations, these systems and methods can obtain information about file system structure from a volume undergoing image-based backup. The systems and methods can generate a catalog of the file system structure that can be stored with the backup image. The systems and methods can generate a searchable index of the catalog so that users can search for files within the backup image without being required to manually mount the backup image containing the searched-for file. As a result, in certain embodiments, users advantageously can more quickly locate and restore files from image-based backups.
This application claims the benefit of priority under 35 U.S.C. §119(e) of U.S. Provisional Patent Application No. 61/352,745, filed on Jun. 8, 2010, and entitled "CATALOGING SYSTEM FOR IMAGE-BASED BACKUP," the disclosure of which is hereby incorporated by reference in its entirety.
In many virtual machine implementations, each virtual machine is associated with at least one virtual machine disk or image located in one or more files in a data store. The virtual machine image can include files associated with a file system of a guest operating system. The virtual machine image can be copied, moved, backed up, or the like, similar to a general data file.
This disclosure describes examples of systems and methods for cataloging image-based backups. In certain embodiments, these systems and methods obtain information about file system structure from a volume undergoing image-based backup. The systems and methods can generate a catalog of the file system structure, which can act like a content index for the files, directories, and/or folders of the file system. The systems and methods may generate a searchable index from the catalog so that users can search for files (or directories or folders) within the backup image without being required to manually mount the backup image containing the searched-for file. As a result, in certain embodiments, users advantageously can more quickly locate and restore files from image-based backups.
In certain aspects, embodiments of a system for backing up a virtual machine disk file in a virtual computing environment are disclosed. In some embodiments, the system comprises a computer system comprising computer hardware, and the computer system comprises a data store. The computer system can be programmed to implement a cataloging module and a backup module. The cataloging module can be configured to access a virtual machine disk file comprising a file system of a guest operating system of a virtual machine to obtain metadata about the file system. The metadata can comprise information about a logical structure of the file system. The cataloging module can also be configured to analyze the metadata to determine a logical hierarchy of a set of files in the file system and to analyze the metadata to determine one or more attributes of the set of files in the file system. The cataloging module can also be configured to generate a catalog comprising information about the logical hierarchy and the one or more attributes of the set of files in the file system and to store the catalog outside the virtual machine. The backup module can be configured to backup the virtual machine disk file to a backup image stored on the data store.
In some embodiments, the computer system may be further programmed to implement a restore module, which can be configured to receive a search inquiry for a file that may be included in a backup image that can be associated with a catalog. The restore module can also be configured to generate a searchable index from the catalog associated with the backup image, search the searchable index of the catalog associated with the backup image to determine matches to the search inquiry, and output information relating to the matches to the search inquiry. In some embodiments, the restore module may be further configured to receive a selection of a match to the search inquiry, mount the backup image associated with the selection of the match to the search inquiry, and restore the selection from the mounted backup image to a target. The restore module may be configured to search multiple savepoints for a file or a directory, where a savepoint can include a backup image and its associated catalog.
In certain aspects, embodiments of a method of backing up a virtual machine disk file in a virtual computing environment are disclosed. In some embodiments, the method is performed under control of a computer system comprising one or more physical computing devices. The method can comprise accessing metadata of a virtual machine disk file comprising a file system of a guest operating system of a virtual machine executing on a host server. The metadata can comprise information about a logical structure of the file system. The method can also comprise analyzing the metadata to determine a logical hierarchy of a set of files in the file system and one or more attributes of the set of files in the file system, generating a catalog comprising information about the logical hierarchy and the one or more attributes of the set of files in the file system, and storing the catalog in a persistent storage outside the virtual machine. The method can also comprise indexing the catalog to provide a searchable index and backing up the virtual machine disk file to a backup image. In some embodiments, the method can comprise filtering the metadata according to at least one filtering criterion to determine the set of files in the file system.
In certain aspects, embodiments of a computer-readable storage medium comprising computer-executable instructions configured to implement a method of backing up a virtual machine image are disclosed. In some embodiments, the method comprises accessing metadata of a virtual machine image comprising a file system of a guest operating system of a virtual machine, analyzing the metadata to determine a logical hierarchy of a set of files in the file system and one or more attributes of the set of files in the file system, generating a catalog comprising information about the logical hierarchy and the one or more attributes of the set of files in the file system, storing the catalog in a persistent storage, indexing the catalog to provide a searchable index, and backing up the virtual machine image to a backup image.
The metadata of the virtual machine file or image can comprise information about a logical or physical structure of a file system in a virtual disk file. For example, the metadata may comprise a Master File Table (MFT), inodes or vnodes, and so forth.
FIGS. 1A and 1B schematically illustrate embodiments of a backup system configured to perform storage operations in a virtual computing environment.
FIGS. 2A and 2B schematically illustrate examples of cataloging processes that can be implemented by embodiments of the backup system.
FIG. 3A schematically illustrates an example process for generating a catalog that can be implemented by embodiments of the backup system.
FIG. 3B schematically illustrates a portion of an example catalog.
FIG. 4 schematically illustrates an example of a backup process with cataloging and file-level restore that can be implemented by embodiments of the backup system.
FIG. 5 schematically illustrates an example of a file-level restore or recovery process that can be implemented by embodiments of the backup system.
Backups of virtual machine images may include two general types—file-based backups and image-based backups. A file-based backup backs up individual files of a virtual disk image. A file-based backup can allow a user to select which files of an image to back up or can automatically back up certain files. Many file-based backups provide the ability to easily search for files that were backed up. In contrast, an image-based backup can back up an entire virtual disk image. An advantage of backing up an entire image is the ability to rapidly restore an image, as opposed to individually restoring files. However, because an entire image is backed up, files cannot be easily searched for in a backup image. A user instead typically mounts a backup image and then searches for the file. If several image-based backups have been performed, the user may need to mount several different backup images before finding the desired file.
Embodiments of the systems and methods for cataloging image-based backups will now be described with respect to the Figures. These systems and methods are described in the context of virtual machine systems. However, it should be understood that some or all of the features described herein can be applied to image-based backups of physical systems. For example, in some implementations, a physical disk can be mounted remotely (e.g., using common internet file system (CIFS) or network file system (NFS) protocols), and the backup and cataloging operations described herein performed over a network.
FIG. 1A illustrates an embodiment of a backup system 100A for performing storage operations in a virtual computing environment. The storage operations can include backup operations and/or restore operations. In the depicted embodiment, the backup system 100A includes a management server 120 and a backup server 140, which communicate with a host server 102 over a network 130. The host server 102 includes one or more virtual machines 106, and the host server communicates with a data store 104 that includes virtual disk files 112 of the virtual machines. Advantageously, in certain embodiments, the backup system 100A can back up a virtual machine disk file 112 (e.g., an image-based backup) to a backup image 142, while providing a catalog 144 that enables the content or files and directories of the backup image 142 to be searchable.
In certain embodiments, the virtual machine(s) 106 can use the virtual disk file 112 or virtual machine image residing on the data store 104 to store its operating system, program files, and other data associated with its activities. Example formats of virtual disk files can include Virtual Hard Disk (VHD) from Microsoft Corp. (Redmond, Wash.), Virtual Machine Disk (VMDK) from VMware, Inc. (Palo Alto, Calif.), Virtual Desktop Image (VDI) by Oracle Corporation (Redwood City, Calif.), and so forth.
As further illustrated in FIG. 1A, the backup system 100A can include a backup, or target, server 140 for storing backup files, such as a backup of one or more of the virtual disk files 112. As shown, the backup server 140 is coupled to the network 130 and can directly communicate with the management server 120. The management server 120 can cause backups of virtual disk files 112 to be stored in the backup server 140.
As shown in FIG. 1A, the network 130 can provide a wired and/or wireless communication medium between the host server 102, the management server 120 and/or the backup server 140. In certain embodiments, the network 130 includes a local area network (LAN). In yet other embodiments, the network includes one or more of the following: internet, intranet, wide area network (WAN), public network, combinations of the same or the like. In certain embodiments, the network 130 can be configured to support secure shell (SSH) tunneling or other secure protocol connections for the transfer of data between the host server(s) 102 and/or the data store(s) 104.
In certain embodiments, the host server 102 can include one or more computing devices configured to host one or more virtual machines 106 executing on top of a hypervisor 108. In certain embodiments, the hypervisor 108 can decouple the physical hardware of the host server 102 from the operating system(s) of the virtual machine(s) 106. Such abstraction allows, for example, for multiple virtual machines 106 with different operating systems and applications to run in isolation or substantially in isolation on the same physical machine.
The hypervisor 108 can include a virtualization platform that allows for multiple operating systems to run on a host computer at the same time. For instance, the hypervisor 108 can include a thin piece of software that runs directly on top of the hardware platform of the host server 102 and that virtualizes resources of the machine (e.g., a native or "bare-metal" hypervisor). In such embodiments, the virtual machine(s) 106 can run, with their respective operating systems, on the hypervisor 108 without the need for a host operating system. Examples of such bare-metal hypervisors can include, but are not limited to, ESX SERVER by VMware, Inc. (Palo Alto, Calif.), XEN and XENSERVER by Citrix Systems, Inc. (Fort Lauderdale, Fla.), ORACLE VM by Oracle Corporation (Redwood City, Calif.), HYPER-V by Microsoft Corporation (Redmond, Wash.), VIRTUOZZO by Parallels, Inc. (Switzerland), or the like.
In yet other embodiments, the host server 102 can include a hosted architecture in which the hypervisor 108 runs within a host operating system environment. In such embodiments, the hypervisor 108 can rely on the host operating system for device support and/or physical resource management. Examples of such hosted hypervisors can include, but are not limited to, VMWARE WORKSTATION and VMWARE SERVER by VMware, Inc. (Palo Alto, Calif.), VIRTUAL SERVER by Microsoft Corporation (Redmond, Wash.), PARALLELS WORKSTATION by Parallels, Inc. (Switzerland), or the like.
The hypervisor 108, in certain embodiments, may be capable of creating a snapshot of a virtual file system 150A and/or one or more virtual disk files 112 in order to record changes intended to such files during a certain period of time (e.g., during a backup operation). The hypervisor 108 may be capable of creating a snapshot of a virtual disk file 112 (e.g., a point-in-time copy of the entire virtual disk file 112 or a differential copy storing changes relative to a previous snapshot). The backup system 100A may perform the backup operations on the snapshot rather than on the virtual disk file 112, which can allow applications executing in the virtual machine 106 to continue writing data to the virtual disk file 112.
In certain embodiments, each virtual machine 106 can include a guest operating system and associated applications. In such embodiments, the virtual machine 106 can access the resources (e.g., privileged resources) of the host server 102 through the hypervisor 108. At least some of the machines can also include a backup service 132 in certain embodiments, which can assist with backup operations, as described below.
The host server 102 can communicate with the data store 104 to access data stored in one or more virtual machine files. For instance, the data store 104 can include one or more virtual machine file systems 110 that maintain virtual disk files or virtual machine images for some or all of the virtual machines 106 on the host server 102. In certain embodiments, the virtual machine file system 110 includes a VMWARE VMFS cluster file system provided by VMware, Inc. In such embodiments, the VMFS cluster file system enables multiple host servers (e.g., with installations of ESX server) to have concurrent access to the same virtual machine storage and provides on-disk distributed locking to ensure that the same virtual machine is not powered on by multiple servers at the same time. In other embodiments, the virtual machine file system 110 is stored on the host server 102 instead of in a separate data store.
The data store 104 can include any physical or logical storage for holding virtual machine files. The data store 104 can exist on a physical storage resource, including one or more of the following: local disks (e.g., local small computer system interface (SCSI) disks of the host server 102), a disk array, a storage area network (SAN) (e.g., fiber channel), an iSCSI disk area, network attached storage (NAS) arrays, network file system (NFS), or the like.
In the embodiment depicted in FIG. 1A, the management server 120 can include a backup module 122, a cataloging module 124, and a user interface module 128. Each of these modules can be implemented in hardware and/or software. In certain embodiments, the backup module 122 can coordinate backup operations of the virtual disk files 112 stored in the data store 104. The backup module 122 can perform image-based backups as well as possibly other types of backups (e.g., incremental or differential backups). The backup module 122 may perform shadow copy or snapshot operations. In some embodiments, the backup module 122 can coordinate with the backup service 132 within the virtual machine 106 to perform various backup operations such as, e.g., virtual disk backups in the manner described in U.S. patent application Ser. No. 12/182,364, filed Jul. 30, 2008, titled "Systems and Methods for Performing Backup Operations of a Virtual Machine," the disclosure of which is hereby incorporated by reference in its entirety. The backup systems 100A and 100B may implement additional features described in U.S. patent application Ser. No. 12/502,052, filed Jul. 13, 2009, titled "Backup Systems and Methods for a Virtual Computing Environment," the disclosure of which is hereby incorporated by reference in its entirety. In some embodiments, the backup module 122 performs backup operations without coordinating with a backup service inside the virtual machine 106.
The cataloging module 124 can access the virtual disk file 112 to obtain information about the virtual disk file's 112 file system 150A. The cataloging module 124 can use this file system information to make a searchable index of an image-based backup, as will be described in further detail below. In the example context of VMWARE systems, the cataloging module 124 can access a .VMDK virtual disk file 112 to obtain the file system information.
In certain embodiments, the cataloging module 124 can access metadata 154 of the file system to obtain the file system information. Advantageously, in certain embodiments, the metadata 154 of a file system can include a summary or description of the files and directory structure of the file system 150A. The metadata 154 of the file system 150A may describe the logical structure of the files 152, including the locations of the files in a logical hierarchy such as a directory tree. In addition, the metadata 154 can specify the physical structure of the files 152, such as the locations of the files 152 in the virtual disk file 112, the size of the files 152, and so on. In general, the term "file" may be used to generally indicate a logical unit of a file system such as, e.g., a file, a directory, a folder, and so forth.
For example, the metadata 154 may include file or directory name, creation date, access permissions, and other attributes of the file (or directory). The attributes for a file (or directory) can include information such as, e.g., file locations, allocated and/or actual file size, times for the last modification, access, or backup of the file, whether the entry is a file or a directory, a file record number (or "ID") for the file, a file record number of a parent directory, whether the file is "read only," "compressed," "encrypted," a "system file," etc., security information, and other file system attributes. Attributes can include newly added attributes when they are made available to users (e.g., in future releases of an operating system).
Different guest operating systems can include different file systems. While file systems from different operating systems are implemented differently, most file systems share the common characteristic of using metadata to describe the structure of the files. The metadata 154 for a WINDOWS-based New Technology File System (NTFS) 150A, for instance, can include a system file called a Master File Table (MFT). The MFT can be organized as a data structure or database table or tables, with a row (or record) in the MFT representing one file or directory. In some cases, the first record of the MFT describes the master file table itself. Records for small files or directories (e.g., 512 bytes or smaller) may be contained within the MFT. Records for larger files or directories may point to data structures (e.g., B-trees) containing the file or directory information. Data about the files 152 stored in the MFT can include information such as file permissions, ownership, size, location of data, and other WINDOWS attributes.
The metadata 154 in many LINUX and UNIX-based systems include an inode or vnode for some or all of the files. The inodes (or vnodes) are data structures that can include file permissions, ownership, size, location, and status of data blocks of the file. For example, in some implementations, an inode is similar to a record in the MFT. The metadata in many Mac OS-based systems utilizing a Hierarchical File System (e.g., HFS or HFS Plus) may be stored in a HFS Catalog File. The cataloging module 124 can access the MFT on WINDOWS systems, the inodes/vnodes on UNIX/LINUX systems, and the HFS Catalog File on Mac OS systems to obtain the file system information.
In certain embodiments, the cataloging module 124 can obtain and analyze the metadata 154 of the virtual disk file 112 outside of the virtual machine 106, for example, outside of a guest operating system of the virtual machine 106. The cataloging module 124 can therefore reduce the impact of backup operations on the virtual machine 106. Alternatively, in certain embodiments, a component operating within the virtual machine 106 can obtain and/or analyze the metadata, such as an application executing in the virtual machine 106. For instance, the management server 120 can inject a lightweight binary file into the virtual machine 106 executing on the host. On WINDOWS systems, for example, the management server 120 can inject the binary using Windows Management Instrumentation (WMI) features. The binary file can then obtain and/or analyze the metadata 154 of the virtual disk file 112.
Advantageously, in certain embodiments, the cataloging module 124 can store the file system information obtained from the metadata 154 in a catalog 144. The catalog 144 can function as a content index for the files and directories of the file system in the backup image 142. The catalog 144 can include one or more databases, data structures, or the like. In some implementations, the catalog 144 may include (or be associated with) a searchable index that can enable efficient searches for content (e.g., files or directories) in the backup image 142. In other implementations, the catalog 144 may include a file (e.g., a DSV file described below) that can be imported into a database program and indexed for searching. The catalog 144 (and/or a searchable index associated with the catalog) can be stored together with, or as part of, the backup image 142. The catalog 144 can be stored on the backup server 140 or on another storage device (e.g., in a memory). The catalog 144 can preserve the file system's 150A directory structure, enabling a user to search the catalog 144 to find files in the backup image 142.
In certain embodiments, the user interface module 124 can cause the display of one or more windows for obtaining user input and/or outputting status information with respect to backup or restore operations and so forth. The user interface module 124 may display the progress of ongoing backup or restore operations, provide alerts, and so forth. The user interface module 124 may communicate notifications regarding the backup or restore operations for example, via electronic mail, text message, etc., may store logging information about the backup or restore operations, and so forth.
The user interface module 128 can provide functionality for users to search the catalog 144 for files in the backup image 142. For example, the user interface module 128 may provide a window having a search box in which a user can enter a search string (e.g., a portion of a file name). Search results (e.g., a list of backup images 142 including the search string) may be displayed. In some implementations, the user can select a search result (e.g., a particular backup image), and the user interface module 128 can display the file system (e.g., a directory tree) of the backup image. A user may select one or more of the files (or some or all of the entire directory tree) for restoring.
FIG. 1B illustrates another embodiment of a backup system 100B, which can provide some or all of the features of the backup system 100A. However, in the backup system 100B, the cataloging module 124 gathers cataloging information for a secondary disk 150B of the virtual disk file 112. The secondary disk 150B can include a file system structure having files 152 and metadata 154 as described above. However, in the depicted embodiment, the secondary disk 150B does not include a guest operating system. Thus, the backup system 100B illustrates that in some implementations, catalog information can be obtained from virtual disks that do not have a guest operating system.
Although the example backup systems 100A and 100B have been described with reference to particular arrangements, other embodiments can comprise more or fewer components. For example, in certain embodiments, the backup systems 100A, 100B can function without the backup server 140, and backup files can be stored to the data store 104 (or other remote data store) or a local storage device directly coupled to the management server 120 or host system 102. In various embodiments, some or all of the functionalities described herein for the management server 120 and/or the backup server 140 may be merged or separated, and performed differently than described in the illustrated embodiments.
In yet other embodiments, the host server 102 can comprise a plurality of servers in a clustered arrangement such that the computing and memory resources of the clustered servers are shared by one or more virtual machines 106. Moreover, in certain embodiments, the backup tool maintained by the management server 120 can instead reside on the host server 102 and/or the backup server 140.
FIG. 2A schematically illustrates an example of a cataloging process 200A that can be implemented by the backup system 100A or 100B. In particular, in one embodiment, certain features of the cataloging process 200A are implemented by the cataloging module 124. Advantageously, in certain embodiments, the cataloging process 200A obtains and catalogs information from metadata of a file system as part of an image-based backup. For example, the metadata may be cataloged during a point-in-time capture of a backup image.
At block 202, a backup image of a virtual machine (e.g., a virtual machine disk file 112) can be transferred to and stored in a data repository. In some implementations, a snapshot of the virtual machine is taken and the snapshot is backed up. In the context of the system of FIGS. 1A and 1B, for instance, a virtual machine disk backup image 142 can be stored at the backup server 140. File system information can be captured at block 204 by accessing file system metadata. The file system information can be captured by mounting the backup image 142 (or a snapshot) and by accessing metadata (e.g., the MFT, HFS Catalog File, or inodes) in the backup image 142 (or the snapshot).
The file system information can be captured before, after, or in parallel with backing up the virtual machine image. For example, FIG. 2B schematically illustrates an example parallel file system capture/image backup process 200B in which the file system information is captured (e.g., via the metadata 154) while the backup is being performed. FIG. 4 schematically illustrates another example backup process 400 in which the file system information is captured while the backup image is being created. In some embodiments, the cataloging module 124 obtains the file system information prior to completing the backup of the backup image 142 to avoid mounting the backup image 142 on a central location (e.g., the backup server 140). By avoiding mounting the backup image 142 on a central location, the cataloging module 124 can distribute the load of cataloging virtual machine images, as at least some virtual disk files 112 can be indexed on separate physical servers. Cataloging the file system information prior to finishing backup operations can also allow searching to be performed before and/or while a backup is being performed.
As discussed above, in certain embodiments that catalog is generated at the time the backup image is created, and the catalog may act as a content index of some or all of the files and directories of the file system of the backup image. Each backup image may be associated with its own individualized catalog. In some embodiments, the catalog may, in effect, act as a content index that is synchronized with the content (e.g., files or directories) stored in the backup image. The catalog may be searched (e.g., directly or after import into a database program that indexes the catalog for searching) for content that may be stored in the backup image.
At block 206, the file system information can be persisted. Persisting the file system information can include storing the file system information in a catalog, such as the catalog 144 described above with respect to FIGS. 1A and 1B. The catalog may be stored in any type of computer-readable medium. In one embodiment, the catalog can be persisted in a normalized database structure that may be optimized for inserting data. The normalized database may reduce or minimize redundancy of the data, provide fewer relations with anomalies, and improve efficiency. An example process for generating a catalog will be described with reference to FIGS. 3A and 3B.
At block 208, a searchable index of the catalog can be created. Use of the searchable index can improve the speed of searches of the catalog. The index can be implemented using a variety of data structures such as, e.g., B-trees, B+-trees, bitmap indexes, hashes, etc. The searchable index can be created at least in part by denormalizing the database structure of the catalog. In some cases, the database may be flattened as much as possible, logging may be turned off, and if possible, one table may be used. In some implementations, the searchable index can be efficiently generated from the catalog by using structured query language (SQL) bulk operations.
As discussed above, file system information can be persisted at block 206 of the cataloging processes 200A, 200B into a catalog. FIG. 3A schematically illustrates an example process 300 for generating the catalog that can be used in some implementations of the system. The example process 300 may be advantageously used for implementations in which the file system metadata does not include path information for the files and directories of the file system. In the example process 300, the metadata can be read (or iterated) one or more times to generate a catalog that includes information about the files and directories referenced in the metadata. The information can include path information relating to the path of the file or directory in the directory tree hierarchy of the file system. The path information may include a full or absolute path relative to a root directory, a path relative to a parent directory, etc. The catalog may also include attribute information about one or more attributes of the files and directories (e.g., name, size, last write time, etc.). An example format of a catalog will be discussed with reference to FIG. 3B.
The non-limiting example process 300 is described in the context of a WINDOWS NTFS system in which the file system metadata is stored in the MFT. At block 302, the MFT is read record-by-record to determine the files (and directories) referenced by the MFT. The MFT may be accessed using WINDOWS application programming interface (API) calls in some implementations. In some NTFS systems, files and directories may be identified by a file record number (FRN) representing the file (or directory) in the MFT.
At block 304, the MFT is read record-by-record a second time to determine one or more file system attributes for each of the files and directories determined at block 302. The attributes can include path information of the files and directories. For example, in some embodiments, the path information includes information about the parent directory to a file or directory (e.g., the FRN of the parent directory). In other embodiments, the path information may include the full or absolute path. Accordingly, the MFT can be accessed to build a list of files and directories and some or all of their attributes including, for example, path information for a directory tree of the file system directory.
The attributes determined at block 304 may include other attributes stored by the MFT or linked or pointed to by the MFT. As discussed above, the attributes may include file or directory name, creation date, access permissions, and other attributes of the file (or directory). The attributes for a file (or directory) can include information such as, e.g., allocated and/or actual file size, times for the last modification, access, or backup of the file, whether the entry is a file or a directory, whether the file is "read only," "compressed," "encrypted," a "system file," etc., security information, and other file system attributes. When additional or different attributes are made available to users (e.g., when a new version of an operating system is released), embodiments of the process 300 may permit determination of these additional or different attributes from the MFT.
In the example process depicted in FIG. 3A, the MFT is read (or iterated) twice. In other implementations, path information and/or other attributes of the files and directories may be extracted from a single pass through the MFT. In yet other implementations, three or more passes through the MFT may be used to extract information for the catalog.
In some embodiments, at optional block 306, the information (e.g., attributes) obtained from the MFT may be used to filter some or all of the files and directories based on one or more filter criteria. For example, the filter criteria may include timestamp attributes obtained from the MFT that are used to filter the information from the MFT to determine the files/directories that have been modified since the date of the last backup. In other implementations, the information from the MFT can be filtered in other ways. For example, the information may be filtered by file or directory path to generate a catalog of only certain directories or files, or the information may be filtered based on security information to generate a catalog of files and directories for which a user has adequate permissions. Many types of filtering based on file system attributes are possible.
At block 308, a catalog can be generated from the (optionally) filtered information retrieved in the one or more passes through the MFT. In some cases, the catalog can include all the files and directories in the file system represented in the MFT (e.g., in the case where no filtering is used or in the case where all the files/directories meet the filter constraints). In other cases, the catalog may include a subset that may be less than all the files and directories represented in the MFT (e.g., when not all of the files/directories in the MFT meet filter constraints). In some such implementations, the backup image may include all the files and directories of the virtual disk image, but the catalog would reference only a subset of these files and directories (e.g., due to the filtering). In such cases, a user may not be able to use the catalog to search for un-cataloged files or directories.
In some implementations, the catalog can be stored as a delimiter-separated values (DSV) file, such as, e.g., a comma-separated values (CSV) file, in which numbers and text are stored in a plain textual form. Lines in the DSV text file can represent rows or records of a database table, and delimiters (e.g., commas in a CSV file) in a line separate the fields in the table's row. Each row of a DSV file can be separated by a newline. Delimiters may include commas, tabs, semicolons, colons, vertical bars, spaces, or other control characters. In other implementations, the catalog may be stored as a flat file, database, data structure, etc.
FIG. 3B schematically illustrates a portion of an example catalog 350 stored in a CSV file format. In this example, the first row is an optional title row indicating the entries stored in the fields of the catalog. In this example, the first entry is a numeric item ID number (ItemiD), the second entry is the file record number (FRN) of the file or directory, the third entry (IsDir) indicates whether the entry is a file (0) or a directory (1), the fourth entry is the FRN of the parent directory of the file or the directory (ParentFRN), the fifth entry is the name of the file or directory ("Name"), the sixth entry is the size (in bytes) of the file or directory (Size), and the seventh entry is a timestamp including the date and time when the file or directory was last written to (LastWriteTime).
The second row of the example catalog 350 references the root directory of the file system. The FRN and the ParentFRN of the root directory are the same (5, in this example). The size of directories is shown as 0 bytes in the example catalog 350. The third and fifth rows of the example catalog 350 reference directories (as can be seen by the IsDir value of 1). The fourth row references a file (IsDir value of 0).
The example catalog 350 includes path information in the form of a FRN for a file (or directory) and a FRN for the parent directory of the file (or directory). The full or absolute path to any file or directory can be determined from this information. For example, the fourth row of the catalog 350 references a file "Setup.exe" with an FRN of 73 and a ParentFRN of 65. The catalog can be consulted to determine which directory has an FRN of 65 (which is the ParentFRN of the file "Setup.exe"). From the third row of the catalog 350, it can be seen that the FRN of 65 references the directory "Admin". Thus, the information in the catalog can be used to determine that file "Setup.exe" is included in the directory "Admin." With further reference to rows 1-3 of the example catalog 350, it can be determined that the directory "Admin" (having a ParentFRN of 60) is a subdirectory of the directory "Program Files" (having a ParentFRN of 5) which is a subdirectory of the directory "I" (having a FRN of 5). Since the ParentFRN (5) of the directory "I" is equal to its FRN (5), this directory is the root directory of the file system. Thus, in this illustrative example, the full or absolute path to the file "Setup.exe" can be determined from the catalog 350 to be "/Program Files/Admin/Setup.exe." Accordingly, full or absolute paths can be constructed from FRNs and parent FRNs included in the catalog in some illustrative embodiments. In other embodiments, the full or absolute paths or other types of path information (e.g., a path relative to a home or working directory) for files and directories can be stored in the catalog. In yet other embodiments, an index for the catalog (or another file or data structure) can store some or all of the path information.
The example catalog 350 depicted in FIG. 3B is intended to be illustrative and not limiting. In other catalog embodiments, additional and/or different information (e.g., attributes) can be stored in the catalog. For example, a different set of attributes can be stored for different entries in the catalog, e.g., attributes included in the catalog for directories may be different from attributes included in the catalog for files. In other embodiments, the format of the catalog can be different than shown in FIG. 3B.
As discussed above, in some implementations, the catalog can be indexed (e.g., at block 208 of the example processes 200A, 200B). For example, a catalog in DSV file format (e.g., the example catalog 350 which is in CSV file format) can be imported into a relational database program and indexed (and/or bookmarked) for efficient searching. In some implementations, the catalog can be indexed and a searchable index may be stored with the catalog (e.g., in a persistent backup data store associated with the backup server 140). In other implementations, the catalog may be indexed after the backup is completed, for example, when a user desires to restore a file (or directory) that may be present on the backup image associated with the catalog. In some implementations, the cataloging module 124 can be configured to execute the database program.
FIG. 4 schematically illustrates an example of a backup process 400 with cataloging and file-level restore that can be implemented by embodiments of the backup systems 100A, 100B. At block 402 a snapshot of a virtual disk file is created. The virtual disk file may be the virtual disk file 112 of a virtual machine 106 described with reference to FIGS. 1A and 1B. The snapshot can be a point-in-time, read-only copy of the virtual disk file. The snapshot can include the files and memory state of the virtual machine's guest operating system, the settings and configuration of the virtual machine and its virtual hardware, etc. The snapshot may be a full copy of the virtual disk file (sometimes called a virtual disk clone), or the snapshot may be a differential or incremental copy storing changes to data relative to a previous snapshot. In some implementations, the snapshot can be stored in the data store 104.
In the example process 400, after the snapshot is created, two threads are launched and execute asynchronously. In the implementation shown in FIG. 4, the first thread is a backup thread that begins at block 404, and the second thread is a cataloging thread that begins at block 414. The two threads may be executed by the backup server 140 described with reference to FIGS. 1A and 1B. Thus, in some implementations, the backup thread and the cataloging thread execute outside the virtual machine associated with the virtual machine disk file being backed up. In other implementations, one or both of the backup and cataloging thread may execute within the virtual machine associated with the virtual machine disk file being backed up (e.g., via injection of a binary into the virtual machine).
At block 404 of the backup thread, data in the snapshot can be transported from the snapshot source (e.g., the data store 104) to a backup target such as a storage repository, e.g., a data store associated with the backup server 140. The data in the snapshot may be transported in a binary stream that does not require knowledge of the volume level structure of the virtual disk file.
At block 414 of the cataloging thread, the snapshot can be mounted to provide volume level access to the file system (and metadata) of the virtual disk file (or image) stored in the snapshot being backed up by the backup thread. In cases in which the snapshot source is locally attached to the backup server 140 (e.g., via a LAN), the snapshot may not need to be mounted at block 414. At block 416, the metadata of the file system (e.g., the metadata 154) can be accessed, and at block 418 a catalog of the file system (e.g., the catalog 144) can be generated from the metadata. As discussed above, in certain NTFS implementations, the metadata can comprise the MFT, which can be analyzed to generate the catalog (see, e.g., the example process 300 depicted in FIG. 3A). The catalog can be stored temporarily in memory or in a data store (e.g., if the catalog is too large to fit in memory) prior to being stored persistently in a backup data store.
At block 420, the catalog can be stored persistently, for example, in a backup data store associated with the backup server 140. In some cases, as discussed above, the catalog can be stored in a DSV file format suitable for importation into a database program (see, e.g., the example catalog 350 depicted in FIG. 3B). The snapshot can be unmounted at block 422. In some implementations, the snapshot can be unmounted after the catalog is stored (persistently or otherwise) but before indexing of the catalog (at block 424) is started or completed. In other implementations, the snapshot can be unmounted after the catalog is created (at block 418) and stored in memory (or a data store). For example, in some implementations, once the catalog is created, the cataloging process may have no further need for access to the file system metadata (e.g., the MFT), and the snapshot can be unmounted to free network connection resources.
The catalog can be indexed at block 424, which may advantageously provide efficient search capabilities for files or directories in the backup image. In some implementations, a searchable index can be generated at the time of the backup, and the searchable index can be stored in persistent storage with the catalog and the backup image. In other implementations, the catalog can be stored with the backup image, and a searchable index generated as part of a restore or recovery operation (which may occur at a time or times after the backup has been performed). For example, when a user desires to restore (or recover) a file or directory, the catalog may be imported into a relational database management program, which can index the catalog for searching. The user can search the index for file(s) or director(ies) that may be present in the backup image associated with the catalog as will be further described with reference to FIG. 5.
After the backup thread transports the snapshot data to the target source and after the cataloging thread unmounts the snapshot, a savepoint may be established and verified at block 406. The savepoint may include the backup image and the catalog. The savepoint may be used to restore or rollback the state of the virtual machine to the time of the snapshot. In some implementations, if the savepoint cannot be verified, the snapshot may be committed (e.g., as discussed below with reference to block 410), the catalog may be deleted, and the backup process may be automatically retried (e.g., the process 400 may return to block 402). At block 408, some implementations may synchronize the backup thread and the cataloging thread, and may activate the catalog by publishing the catalog to users of the backup system (e.g., the catalog 144 is made available to users of the system 100A, 100B). In some such implementations, the catalog may be activated after the catalog has been indexed at block 424. In other implementations, the catalog may be activated before the catalog has been indexed (or before indexing has been completed). For example, in some such implementations, a catalog may be indexed only after a user attempts to access the catalog (e.g., via the user interface module 128, for example, during a restore or recovery procedure). After the catalog is activated, the catalog and the backup virtual disk image can be available for search and file-level restore or recovery at block 428. An example process for file-level restore is described with reference to FIG. 5.
In some virtualization environments (e.g., certain VMware implementations), when a snapshot of a base virtual disk file is created, any new writes by the virtual machine are not stored in the base virtual disk file but instead stored in a delta file (sometimes called a redo log) associated with the snapshot. In some such embodiments, the changes in the delta file can be committed to the base virtual disk file and the snapshot deleted at block 410. The backup thread completes at block 412.
Multiple virtual machines can be backed up by repeating the cataloging process 200A, 200B, 400 for different virtual machine images. In one embodiment, a single catalog can be maintained for multiple virtual machine images so that users can search for a file without knowing which virtual machine image includes the file. In other embodiments, separate catalogs (and/or indexes) can be maintained for different virtual machine images. The user interface module 128 can present to the user information about the catalog (or catalogs) so that the user can search for and select a file (or files or an entire volume) to restore.
FIG. 5 schematically illustrates an example of a file-level restore or recovery process 500 that can be implemented by embodiments of the backup system 100A or 100B. The file-level restore process 500 can enable users to search for and restore files from an image-based backup.
At block 502, a user can search a catalog for a file (or group of files). The user may be a system administrator who manages backups or an end-user of a virtual machine. The catalog may be the catalog 144 described with reference to FIGS. 1A and 1B. Advantageously, the catalog 144 can be indexed to enable rapid and efficient searches of the catalog. For example, in some implementations, the catalog 144 can be imported into a relational database program and indexed (and/or bookmarked) for efficient searching. In other implementations, the catalog 144 itself may comprise a searchable index or be stored along with a searchable index. The user can access the catalog and/or searchable index via a user interface provided by the user interface module 128. For example, the user may enter a search string that includes a portion of the name of a desired file (or files). The search string may include wildcards in some implementations.
Advantageously, as described above, in certain embodiments the user does not need to specify which virtual machine image includes the requested file. For example, the system may be able to access one or more savepoints referencing backup images and associated catalogs (and/or associated searchable indexes). The user interface module 128 may display an indicator (e.g., an icon) that indicates which savepoint(s) include a searchable index or have been indexed to provide a searchable index. The search results can be output for display to the user by the user interface module 128.
In response to the user's search request, search results from one, some, or all of the savepoints can be provided to the user at block 504. For example, a user may search for a file (e.g., "Setup.exe") and the file may have been backed up in multiple backup disk images. The user may view the user interface to select which version of the file to restore. Since the catalog can include attributes of the files and directories, the user interface may display information about the files that help the user to determine which version of the file to restore. For example, the user interface may display a timestamp for the file (e.g., creation time, last modified time, last accessed time, etc.) to assist the user in selecting, e.g., the most recent version of the file.
At decision block 505, the user can then select a file name (or file names) in the search results, or alternatively, the user can select the entire image. In response to the user selection of a file (or files), at block 506 the backup image where the selected file is stored can be mounted. Mounting the image can include making a file system of the image accessible to the user. The file can then be restored from the image at block 508. Alternatively, the entire image can be restored instead of just the file at block 510. More generally, the user interface module 128 can provide users with the option to (or can automatically) restore one or more files, a directory, a partition, or some other subset of an image, including the full image. Accordingly, embodiments of the disclosed systems and methods can allow a user to readily search for and restore a desired file (from multiple backup images) without having to mount each backup image to determine whether the image contains the desired file. Thus, certain embodiments of the disclosed system and methods may provide certain advantages of file-based backup (e.g., easy ability to search for and restore particular files) as well as certain advantages of image-based backup (e.g., backup of an entire file system).
For purposes of illustration, certain aspects, advantages and novel features of various embodiments of the inventions have been described herein. It is to be understood that not necessarily all such advantages can be achieved in accordance with any particular embodiment of the inventions disclosed herein. Thus, the inventions disclosed herein can be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as can be taught or suggested herein. Further, no element, feature, block, or step, or group of elements, features, blocks, or steps, are necessary or indispensable to each embodiment. Additionally, all possible combinations, subcombinations, and rearrangements of systems, methods, features, elements, modules, blocks, and so forth are within the scope of this disclosure.
The blocks, operations, or steps of a method, process, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of volatile or non-volatile computer-readable storage medium known in the art. A storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can reside in an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor and the storage medium can reside as discrete components in a user terminal.
Conditional language used herein, such as, among others, "can," "might," "may," "e.g.," and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or states. Thus, such conditional language is not generally intended to imply that features, elements, blocks, and/or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or states are included or are to be performed in any particular embodiment. The terms "comprising," "including," "having," and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term "or" is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term "or" means one, some, or all of the elements in the list.
wherein the first thread and the second thread are executed by a backup server outside the virtual machine associated with the virtual machine disk file.
2. The system of claim 1, wherein the set of files includes at least one file and at least one directory of the file system.
3. The system of claim 1, wherein a first processor is programmed to execute the cataloging module and the backup module, and a second processor is programmed to execute the virtual machine, the first processor different from the second processor.
4. The system of claim 1, wherein the cataloging module is configured to store the catalog in the data store.
5. The system of claim 1, wherein the computer system is programmed to execute the cataloging module and the backup module outside the virtual machine.
6. The system of claim 1, wherein the metadata comprises a master file table (MFT).
7. The system of claim 1, wherein the virtual machine disk file comprises a snapshot of a base virtual machine disk file, the snapshot comprising a point-in-time copy of the base file.
8. The system of claim 7, wherein the backup module is further configured to establish a savepoint, the savepoint comprising the backup image and the catalog.
9. The system of claim 1, wherein the set of files includes all the files and directories of the file system.
10. The system of claim 1, wherein the catalog or the computer-enabled searchable index includes path information for the set of files in the file system.
output information relating to the matches to the search inquiry.
restore the selection from the mounted backup image to a target.
the database module is configured to generate the computer-enabled searchable index.
15. The method of claim 14, wherein backing up the virtual machine disk file comprises storing the backup image in the persistent storage.
16. The method of claim 14, wherein analyzing the metadata comprises reading the metadata a plurality of times.
establishing a savepoint, the savepoint comprising the backup image and the catalog.
if a match is found, restoring the file from the backup image to a target destination.
wherein the first thread and the second thread are executed by a backup server outside the virtual machine associated with a virtual machine disk file.
John Willemse, "VMware disk alignment VMDK settings and align at the 64k boundary blogSphere bug desktop enterprise microsoft server vist . . .", Planet Lotus, http://planetlotus.org/profiles/john-willemse-49586, Apr. 30, 2009, pp. 1-5 (of 44).
U.S. Appl. No. 13/368,240, filed Feb. 7, 2012, Naik, Dilip.
U.S. Appl. No. 13/368,240, filed Feb. 7, 2012, titled "Systems and Methods for Compacting a Virtual Machine File", in 44 pages.


The National Institute of Standards and Technology (NIST) review of available documents related to the design and construction of the World Trade Center (WTC) towers indicated that the fire performance of the composite floor system of the WTC towers was an issue of concern to the building owners and designers from the original design and throughout the service life of the buildings. However, no fire resistance tests of the WTC floor system were ever conducted. As a result, NIST conducted a series of four standard fire resistance tests (ASTM E 119). In this series of tests, the effects of three factors were studied: (1) fireproofing thickness, (2) test restraint conditions, and (3) scale of the test. The tests were conducted by Underwriters Laboratories, Inc. and represented both full-scale (35 ft span), and reduced scale (17 ft span) floor assemblies constructed to represent the original design as closely as practical. For three of the tests, the thickness of the sprayed fire resistive material was ¾ in. which represented the average thickness applied in the original construction. In the fourth test, the thickness of applied fireproofing was ½ in. which was the thickness specified for the original design. Tests were conducted in both the restrained and unrestrained condition to provide bounds on the expected performance of the floor system under the standard fire exposure. The restrained full-scale WTC floor system obtained a fire resistance rating of 1½ h while the unrestrained floor system achieved a 2 h rating. For the unrestrained test condition, specimens protected with ¾ in. thick sprayed fire resistive material were able to sustain the maximum design load for approximately 2 h without collapsing; in the unrestrained test, the load was maintained without collapsing for 3½ h. Past experience with the ASTM E 119 test method would lead investigators to expect that the unrestrained floor assembly would not perform as well as the restrained assembly, and therefore, would receive a lower fire rating. A fire rating of 2 h was determined from the reduced-scale test with the average applied fireproofing thickness of ¾ in. while a fire rating of 1½ h was determined from the full-scale test with the same fireproofing thickness. This finding raises the question of whether or not a fire rating based on the ASTM E 119 performance of a 17 ft span floor assembly is scalable to a larger floor system such as found in the WTC towers where spans ranged from 35 ft to 60 ft.


text:
The Adventures of Dollie er en amerikansk stumfilm fra 1908 af D. W. Griffith.

Medvirkende
 Arthur V. Johnson
 Linda Arvidson
 Gladys Egan som Dollie
 Charles Inslee som Gypsy
 Madeline West

Referencer

Eksterne henvisninger

Stumfilm fra USA
Amerikanske film fra 1908
Dramafilm fra USA

redpajama_set_name: RedPajamaWikipedia


text:
Call Your Friends
Soonly New
Overcoming Resistance to Reaching Out
We've covered a lot about the importance of connecting with your friends and family, and how to develop a strategy for doing so.
One of the themes you may have noticed is the many forms of resistance that come up along the way. In reality, what holds us back from staying in touch are fears and unpleasant emotions that we would rather avoid.
What if I feel awkward?
What if I don't know what to say?
What if they don't want me to reach out?
It's been too long.
I'm already so busy, I can't find the time.
Having an app tell me to reach out feels too planned.
Connections should be spontaneous.
Resistance is really just a story we tell ourselves to justify avoiding action. As Steven Pressfield puts it, "The more important a call to action is to our soul's evolution, the more Resistance we will feel about answering it. But to yield to Resistance deforms our spirit. It stunts us and makes us less than we are and were born to be."1
We are made for connection. These doubts and fears keep us locked away from the people who matter most. Overcoming resistance begins by taking a simple next action. This could be adding that one friend you've been meaning to get in touch with, it could be sending one message.
Action is the antidote. Call your friends.
Discover closer relationships.
Soonly
Copyright © Call Your Friends 2022

redpajama_set_name: RedPajamaCommonCrawl


PETER Andre recently became a dad for the fourth time and it looks like his son Junior is just as proud of the new arrival to their family.
The Mysterious Girl singer and his wife Emily MacDonagh welcomed their son Theo James in November and his older brother is already doting over the little tot.
Peter is dad to Junior and Princess, 9, with his ex-wife Katie Price, and he and Emily are also parents to daughter Amelia.


It was only just over a year ago that Charlotte Day Wilson penned her first lyrics. If you've listened to any of her songs you're probably scratching your head pretty hard right now, but it's true. A move to Halifax from her home in Toronto acted as the catalyst for the longtime singer and multi-instrumentalist's adventures in songwriting, which resulted in what became her rich debut Palimpsest. "All I do is listen to music," says Wilson, who recorded every bit of the six track EP on her own. "The most interesting thing is to imagine who these people were listening to." Hence, she says, the album's name. "So, for me, I'm just trying to insert as many genres and styles and into my music." That's why it's hard to put a label on exactly Wilson's doing, which is the beauty of it: hints of folk, soul, jazz and hip-hop live in Palimpsest together, peacefully.


text:
Cambridge police race into burning building to rescue trapped residents from three-alarm fire
A firefighter battled a hot spot during a three alarm fire on Columbia Street in Cambridge today. Cambridge police helped rescue residents from the burning building.	–Wendy Maeda/Globe Staff
Travis Andersen
CAMBRIDGE — Six police officers rushed into a burning, smoke-filled building here on Thursday and rescued a man and a woman trapped on the third floor, as well as a man sleeping one floor below, authorities said.
"You're coughing in there,'' said Cambridge police Officer Nicholas Mochi, one of four officers who rescued the pair on the third floor at 95 Columbia St. shortly after 3:30 a.m., during an afternoon news conference at the scene. "You taste the metal, the soot in your mouth.''
Authorities said that Mochi and fellow Cambridge officers Eugene Bustillo, Brendan Pasco, and Michael Padua ran up to the third floor, which was engulfed in flames and smoke when they arrived, as the man and woman screamed out of a window for help.
"It's a very scary situation,'' Pasco said at the news conference. "[We] all just kind of went in as a team.''
And, Padua said, they knew that they had to act quickly.
"My first thought is that we had only minutes,'' he said.
The four officers encountered heavy black smoke when they reached the top floor, and Pasco and Bustillo crawled through the front doorway of the apartment, according to a police report. Police did not identify the two people rescued.
None of the officers or residents were injured, but two Cambridge firefighters were treated and released from a local hospital.
Pasco urged the man and woman to keep low and guided them to his voice, the report said, and Mochi was eventually able to grab the woman's arm and pull her from the apartment. He later grabbed the man and guided him to Padua, who led him out of the building, police said.
And though the officers ran into the blaze without any protective gear, Mochi said he and his colleagues were not heroes.
"We just did our job,'' he said. "Any other police officer who knows [there are] people inside possibly burning to death, they'd go in there as well.''
Officers Steven Murphy and Frank Lange had gone directly to the second floor, where a kitchen was fully engulfed, and woke up a man who was sleeping in a bedroom, authorities said. The officers had to grab the disoriented man and guide him to safety, according to the report.
Murphy said that while visibility was a little better on the second floor, the fire was still raging.
"It was really going,'' he said. "It was pretty intense.''
Lange said he was thinking "just get everybody out'' as he rushed into the building, a sentiment shared by his colleagues during the news conference.
The three-alarm fire started in the porch area in the rear of the building and left about a dozen people homeless, causing more than $1 million in damage, Cambridge fire officials said.
Fire Chief Gerald Reardon said the two firefighters injured suffered knee and back injuries, and that the building will be probably be uninhabitable for months. He said officials are investigating the cause of the blaze.
Assistant Fire Chief Gerry Mahoney said the flames spread rapidly throughout the building because of its wooden balloon-frame construction. Balloon frame houses are unique to the area and have channels that run from the first floor to the top floor, he said.
"The fire can just race up,'' Mahoney said in an interview. "Once the fire gets in there, it's hard to chase.''
Mahoney said flames also spread quickly because the building had several layers of roofing.
Firefighters were removed from the building after the roof caved into the third floor, Mahoney said.
Cambridge Police Commissioner Robert Haas praised his officers during the news conference.
"I don't think it was anything less than heroic,'' he said.
Ronald Bates, 73, who lives in the neighborhood, recalled that a structure at the same location burned down about 50 years ago. He came by to view the damage on Thursday and was impressed when informed of the officers' actions.
"That was very brave,'' he said.
TOPICS: Cambridge NoPrimaryTagMatch


text:
Determining Gender
Is the Intelligender Gender Prediction Test Accurate?
By Ella Rain
Ella Rain
Ella has written on a wide variety of health and wellness topics.
The IntelliGender gender prediction test is the first urine test developed for home use. The product was created by two moms and has been on the market since 2006.
Gender Prediction
Predicting gender has been a subject of fascination for women for generations. Even though sonograms offer reliable results, many pregnant women can't wait until they are far along enough to have a sonogram to discover the baby's sex. Many look to old wives' tales and unreliable methods to predict gender.
Boy Belly vs. Girl Belly: Predict Gender With a Fun Test
Wedding Ring Gender Test
Questionable Tests
The results are typically as reliable as a guess and some tests can be dangerous, especially ones that use harsh chemicals like the Drano gender prediction home test. Other approaches include wedding ring tests, Chinese calendars, belly tests, and even pencils. While the idea of predicting the baby's gender accurately using traditional methods is appealing, the results can be inaccurate.
Development of the IntelliGender Prediction Test
Home pregnancy tests have been around for a long time, and a pair of moms decided that it was time for a home gender prediction test to be developed. The IntelliGender home gender prediction kit is the answer many impatient expectant mothers may be looking for, or it may be a way to relieve them of $35.
What Is the IntelliGender Prediction Test?
The test is very simple to use and is quite similar to a home pregnancy urine test. The product is very appealing because of its low cost and its ease of use.
How the Test Works
Women taking the urine test should do so first thing in the morning before having their first urination.
The mom-to-be collects the urine in a test vessel provided in the kit. The instructions suggest swirling the urine in a circular motion quickly to mix with chemicals present in the container.
The urine contains hormones that make the chemicals change colors. The vessel is placed on a white surface and within 10 minutes, the results are evident. The urine should turn orange if the baby is a girl and green if the baby is a boy.
The exciting aspect of the test is that it can be taken as soon as six weeks after the pregnant woman's first missed period. Just 10 weeks into the pregnancy, and the gender of the baby is uncovered. This is 10 weeks earlier than the sonogram takes place, which is at week 20.
The IntelliGender prediction kit was inspired by two moms but the actual product was developed by professionals who claim to have isolated specific hormones that can be detected with chemicals. The test has been in the news and reality TV star Kendra Baskett used the Intelligender test to predict the gender of her baby boy.
The test was accurate for her but will it work for everyone? Not according to many professionals in the field. The article, "IntelliGender Gender Prediction Test as Accurate as a Coin Toss, Doctors Say" by Mitch Lipka has a title that says it all. While the notion of a home kit that works as accurately as a sonogram is very appealing, it just doesn't seem to be the case with this product.
Testing for Fun
The developers of the product note that the product is designed to be "for fun" rather than a method that should replace accurate readings in sonograms. The company states that the product is not 100 percent accurate in its Frequently Asked Questions section.
The key to discovering whether the product really works or not is science. While Harvard Medical School professor, Dr. Jeffrey Ecker, is more than willing to examine the science behind the kit, the makers of the product are not accepting the offer, according to Lipka's article. He also writes that City Attorney Dennis Herrera is demanding proof of the company's claims.
Beyond Intelligender
While gender prediction tests are fun, medical technology is more accurate. The good news is that you can be fairly sure of the gender of your baby at 20 weeks after having an ultrasound, and most definitely after labor and delivery.
If you're trying to guess the gender of your baby, the belly test is one of the many fun ways to figure out whether you're having a boy or a girl. Some people believe the shape and position of a pr
If you're like many expectant parents, you may be eager to get an answer to the ever-pressing question: is my baby a boy or a girl? Ultrasound is the gold standard for determining a baby's sex, but


Book a low cost flight to Moudjeria with lastminute.com's travel website in next to no time. Complete the form and within seconds the most economical options available for a low cost flight based on your search criteria will appear.
Check out our flights to Moudjeria when you have some free time. You can find the perfect flight for you by checking availability on lastminute.com... refine your search further using our filters and you will be well on your way to Moudjeria.
Booking flights to and from Moudjeria with different airlines has never been easier! Use the lastminute.com's travel website and really search all available low cost and scheduled flights to Moudjeria.
Choose the low cost flight that best suits you from lastminute.com's flight deals heading to Moudjeria. We will do the rest!


A Mobile Application (Mobile App) is a compact application that is intended to be used on a mobile computing platform such as a mobile telephone, a tablet, or any number of other network aware mobile platforms. A mobile app can be as simple as an alarm clock, or as complex as a business-specific mobile dispatch application. They can be limited to a specific platform, or leverage a common framework to take advantage of multiple platforms.
Originally, our mobile phones served a single purpose, to make phone calls. Early mobile phones had a rudimentary set of features that all related to the calling functions: call timers, recent call lists, frequently called numbers, and a simple clock function. In the 90's digital services gave us additional features, SMS joined the devices capabilities, and soon cellular packet data as well. Mobile phones started to include additional applications bundled with their software.
However, they were all bundled with the phone's software. You were bound to what came with your device and had no provisions for adding other features. In the early 2000's that changed, some manufacturers standardized on a portable Java-based language to allow third party applications to run on the devices. And with that modern apps were born. If the device owner can download, install, or remove the application it falls into the Mobile App category.
Today, there are a multitude of Mobile Apps to choose from, transforming how we think about our mobile devices. These applications are authored by device makers, small software companies, independent third party developers, or even large content providers.
Mobile apps can solve customers' problems and enhance the customer relationship management programs. It also can be used as a marketing tool. Currently large firms like banks, malls and other enterprises are using the mobile apps to generate new revenues and businesses.
Mind Commerce's report, Mobile Application Marketplace 2015: Market Analysis and Assessment of Future Evolution and Opportunities provides a foundation for understanding the state of the market for mobile applications, leading players and strategies, ecosystem dynamics, and the future direction and opportunities for development on mobile platforms. All purchases of Mind Commerce reports includes time with an expert analyst who will help you link key findings in the report to the business issues you're addressing. This needs to be used within three months of purchasing the report.


text:
In depth review of the TicWatch Pro 3 Ultra
January 23, 2023 by Digital Masta
You can also be interested in these:
Which VPN is the best for android phones in 2022?
The Beexcellent Gaming Headset, the best in its price range
Edal T95M Android TV box review – Is it any good?
Google gave us a peek into the new Android 12 release
The TicWatch Pro 3 Ultra is one of the latest smartwatch from Mobvoi, a company known for creating mid-range price and high-quality smartwatches. The TicWatch Pro 3 Ultra is a high-end device that offers a range of features and capabilities.
One of the standout features of the TicWatch Pro 3 Ultra is its battery life. The watch is equipped with a dual-layer display, which allows it to switch between a high-resolution color display and a low-power monochrome display. This feature allows the watch to last for up to 72 hours on a single charge, which is significantly longer than most smartwatches on the market. This means you can use the watch for a whole weekend without needing to charge it.
What is the target audience of the TicWatch Pro 3 Ultra
The TicWatch Pro 3 Ultra is a high-end smartwatch that is targeted towards consumers who are looking for a device with a wide range of features and capabilities. The watch is designed for users who want a device that can track their fitness, monitor their health, and connect them to their smartphone.
The TicWatch Pro 3 Ultra is particularly well-suited for:
Fitness enthusiasts: The watch has a wide range of fitness tracking capabilities, including heart rate monitoring, GPS tracking, and sleep tracking. Additionally, it comes with an ECG sensor, which can be used to detect heart rhythm abnormalities. This makes the TicWatch Pro 3 Ultra a great option for those who want to track their training progress and monitor their health.
Business professionals: The watch has a sleek and professional design and can be worn in formal settings. Additionally, it has a built-in microphone and speaker, which allows you to make calls and control your music directly from your wrist. This means you can leave your phone at home and still stay connected.
Smartphone users: The watch runs on Google's Wear OS and has access to the Google Play Store, which allows you to download and install a wide range of apps and watch faces. The watch also has a built-in microphone and speaker, which allows you to make calls and control your music directly from your wrist.
People who want to stay connected: The watch has a long battery life and allows you to stay connected
The highlights of the TicWatch Pro 3 smartwatch
The TicWatch Pro 3 Ultra offers a wide range of fitness tracking capabilities. The watch has a heart rate monitor, GPS tracking, and sleep tracking. It also has Google Fit and TicMotion pre-installed, which allow you to track your fitness activities and monitor your progress. Additionally, it comes with an ECG sensor, which can be used to detect heart rhythm abnormalities. This makes the TicWatch Pro 3 Ultra a great option for fitness enthusiasts who want to track their progress and monitor their health.
The TicWatch Pro 3 Ultra is also packed with smartwatch features. It runs on Google's Wear OS and has access to the Google Play Store, which allows you to download and install a wide range of apps and watch faces. The watch also has a built-in microphone and speaker, which allows you to make calls and control your music directly from your wrist. This means you can leave your phone at home and still stay connected.
The TicWatch Pro 3 Ultra has a sleek and durable design. The watch has a stainless-steel case, a leather strap, and a 1.4-inch AMOLED display that is both bright and easy to read. The watch is also water-resistant, which makes it suitable for swimming and other water activities. This means you can wear the watch while swimming or showering without having to worry about damaging it.
The TicWatch Pro 3 Ultra has a sleek and modern design that is both stylish and functional. The watch has a stainless-steel case with a diameter of 45mm, which gives it a premium and high-end look. The case is also water-resistant, which means you can wear the watch while swimming or showering without having to worry about damaging it.
The watch comes with a leather strap, which gives it a classic and timeless look. The strap is comfortable to wear and can be easily adjusted to fit your wrist. The watch also has a 1.4-inch AMOLED display that is both bright and easy to read. The display is protected by a layer of Corning Gorilla Glass, which makes it scratch resistant.
The watch also has a dual-layer display, which allows it to switch between a high-resolution color display and a low-power monochrome display. This feature helps to improve the battery life of the watch. The watch has two physical buttons on the right side, which allow you to navigate the interface and access different features.
The TicWatch Pro 3 Ultra is available in two color options: Black and Shadow. Both options are sleek and modern, matching with different styles.
All in all, the TicWatch Pro 3 Ultra has a tight and solid design. The stainless-steel case, leather strap, and AMOLED display give it a premium and high-end look, while the dual-layer display, water-resistance, and physical buttons make it easy to use and navigate.
The not-so-good about the TicWatch Pro 3 Ultra
The TicWatch Pro 3 Ultra, like any other device, has its own set of disadvantages. Here are some of the main disadvantages of the TicWatch Pro 3 Ultra:
Price: The TicWatch Pro 3 Ultra is a high-end smartwatch, and its price point is relatively high compared to other smartwatches on the market. This may make it less accessible to some consumers who are looking for an affordable option.
Compatibility: The TicWatch Pro 3 Ultra is only compatible with Android smartphones, which means it will not work with iPhones. This limits the potential user base for the device.
Limited app selection: The TicWatch Pro 3 Ultra runs on Google's Wear OS, which has a smaller selection of apps compared to other smartwatch platforms such as Apple's watchOS. This means some users may not be able to find the apps they are looking for on the TicWatch Pro 3 Ultra.
Limited customization options: The TicWatch Pro 3 Ultra has a limited selection of watch faces and customizations options. This may not appeal to users who want more personalization options for their smartwatch.
Limited support: TicWatch is a relatively new player in the smartwatch market, which means that the level of support and software updates may not be as robust as with more established brands.
Limited fitness tracking features: While the TicWatch Pro 3 Ultra has a range of fitness tracking features, it may not have as many advanced features as other fitness-focused smartwatches on the market.
It's worth noting that some of these limitations may not be a problem for everyone. Ultimately, whether or not these disadvantages outweigh the advantages of the TicWatch Pro 3 Ultra will depend on the individual user's needs and preferences.
In conclusion, the TicWatch Pro 3 Ultra is a high-end smartwatch that offers a wide range of features and capabilities. It has a great battery life, fitness tracking capabilities, and a wide range of smartwatch features. It also has a sleek and durable design and water-resistant. However, its price point is high and it's not compatible with iPhones. Overall, I would recommend the TicWatch Pro 3 Ultra to anyone looking for a high-end smartwatch with a wide range of features and capabilities, and who owns an Android smartphone.
Google Pixel camera will allow to track your heart rate
How to add HBO Max to Vizio smart TV
Categories Gadgets, Trending Tags Android, Gadget, Product Review, Smartwatch
How to password protect a folder in Windows 11
See all the articles
The best game art and development studios in the industry
Do we need Hyperconverged Infrastructure vendors for our business?
How do crypto loans work?
IT concerns about Chrome extension security issues
Maono DM30 RGB condenser microphone full review
How to leverage technology for productivity and mental health
Tips for an effective e-commerce conversion rate optimization
The best money-making Apps for college students
A comprehensive guide to understanding Facebook marketing metrics
How Blockchain game development companies are disrupting the gaming industry
Cold vs hot crypto wallets: What to choose?
How to build a review website?
What to look out in a cheap high-quality camera
Digital Masta © 2020-2022 - Your consumer tech master advisor.


text:
The Revenant Review
Horror Film History, Analysis, and Reviews
The HorrorCast Podcast
DADDY DREADFUL – The Worst Witch (1986)
This review is part of the Daddy Dreadful review series.
Daddy Dreadful Review – The Worst Witch (1986)
I can't help but to have a bit of anxiety when revisiting the influential films of my childhood even as I am excited to watch them with my son and see them anew through his eyes. Ultimately, it may be disheartening to have my fond memories tainted by the viewing of a film that clearly hasn't aged well. Of course, nostalgia can carry us a long way, and I have to assume that is largely the case with the enduring popularity of 1986's The Worst Witch. My wife watched this movie every Halloween season on a well-worn VHS recorded from television throughout her childhood. As we sat down to watch it with my son (age three) – my first viewing and his – she texted her two brothers a screen shot and they too felt compelled to find a copy and watch it that same night.
The Worst Witch is based on the Jill Murphy's children's book of the same name. It stars Fairuza Balk in her second of three films involving witches in her career, the first being 1985's Return to Oz and the next 1996's The Craft. Also starring are Diana Rigg, Charlotte Rae, and Tim Curry. The film was a collaboration between HBO and UK television, and the production quality is clearly minimal. The editing is shoddy and the story, especially the climax, is weak. There are three songs of varying quality: the first is cute and probably the best, the second catchy for kids but Charlotte Rae certainly wasn't going to win any vocalist awards for it, and third one, performed by a confused-looking Tim Curry before a green screen, is an acid-trip of 1980's kitsch. Rock Horror this ain't. In addition to the worst witch, the film may also showcase the worst lyrics:
Your dentist could turn into a queen,
Has anybody seen my tambourine?
Of course, none of this mattered to my son. He loved Aggie's song and sang it for days. I thought he'd be bored with the fairly slow pace of the movie but he asked to watch it again and again as the month of October went along. It's a harmless film with nothing objectionable. I have to admit that there is a minor charm to all, and seeing the similarities that J.K Rowling would employ in the Harry Potter series can on its own occupy the focus of one's viewing. As a bat lover my eyes widened when one girl briefly walked in with a live megabat hanging from her hand, and I wish we could have seen more of that. My wife recognizes the film's shortcomings but, knowing it word for word, doesn't adore it any less. Who am I to shit in their punch bowl?
Recommended Age: 3+
Final Thought: Soft recommendation. If you're nostalgic for it, indulge to your heart's content. No judgement here. For the kids it's probably best for the preschool crowd before they graduate to Hogwarts. If you've never seen it before and want to, you might want a hard drink handy.
1986, Daddy Dreadful, Movie Review, The Worst Witch
Movie Review – The Bat (1926) December 29, 2019
Movie Review – The Monster (1925) August 31, 2019
Movie Review – The Bells (1926) June 29, 2019
Movie Review – Satan's Slaves (2017) May 11, 2019
Movie Review – The Penalty (1920) March 10, 2018
Horror Blogger Alliance
Movie Review - The Company of Wolves (1984)
Movie Review - Oculus (2014)
Movie Review - 13 Sins (2014)
A Play of Light and Shadow: Horror in Silent Cinema
Movie Review - The Dunwich Horror (1970)
Movie Review - It Follows (2014)
Movie Review - The Cabinet of Dr. Caligari (1920)
Movie Review - Teeth (2007)
Movie Review - Dark Touch (2013)
Movie Review - The Nightmare (2015)
1916 1920 1921 1922 1924 1925 1926 1954 1956 1964 1974 1980 1984 1986 1987 1988 1990 1996 1997 1999 2000 2001 2002 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 ABCs of Death Angel of Death A Play of Light and Shadow Autumn Creature of Darkness Daddy Dreadful Daybreakers Frontier(s) Horror Horror's Worst Films Joy Ride Movie Review Nurse 3D One Missed Call Orphan Podcast Prom Night Pulse Scream Sharknado Sharknado 2 Shutter Silent Film Sorority Row The Company of Wolves The Fog The Fourth Kind The Happening The Haunting of Molly Hartley The HorrorCast The Quiet Ones The Student of Prague The Unborn The Uninvited The Woman in Black 2 Train Triangle Wes Craven Worst Worst Horror Films


Sunday 5th May as part of the North Lincs half.
The 0.8 mile family fun run runs part of the half marathon route in reverse and finish with a lap inside the athletics stadium in front of family/friends.
A medal and sweets for all finishers!


Visit Central Florida is the tourism bureau for Polk County, Florida which is located between Orlando and Tampa. The area provides a multitude of outdoor activities including fishing, hunting, hiking, wildlife viewing, birding and eco-tourism. Titled the "Largemouth Bass Capital of the World" Polk County is home to 554 lakes, many highly ranked for the quality and quantity of trophy class largemouth bass caught in our waters. Central Florida is also a top destination for the prized Osceola Turkey, deer, wild hogs, alligator and waterfowl. Many of our preserves and natural areas are widely acclaimed and provide perfect opportunities for wildlife viewing in a natural "authentic Florida" setting.
Media FAM/editorial trips available with Visit Central Florida for OWAA members looking to cover the region. Contact communications specialist Al Snow, al@visitcentralflorida.org, for more information.
2701 Lake Myrtle Park Rd.


Many feminists across Europe have shown solidarity with Polish women following a proposed legislation that would completely ban or extremely limit the right to abortion. What were the reactions in Poland? And is it possible that the issue only is used to divert public attention from other worrying developments in Polish politics?
One in five women in the European Union have experienced stalking since the age of 15. Nevertheless, not all EU countries have a clear definition of stalking.


OK, so we've made the resolution to feed our feathered friends a well rounded, nutritional diet. What else do we have to worry about?
Fresh fruits and vegetables need to be washed before feeding them to your parrot to remove bacteria as well as pesticide and fungicide residues.
All food must be checked for mold and fungal growth and discarded as necessary. Mold and fungi can be toxic to your bird!
Food should be stored in appropriate containers at the appropriate temperature.
Fresh foods should be removed from your bird's cage after no longer than 2 hours due to spoilage and bacterial growth.
Use separate bowls for dry vs. wet foods.
Keeping food and water dishes away from each other will assist in discouraging your parrot from dipping its food into the water dish.
Dishes must be sanitized daily by scrubbing them out with hot, soapy water. This should be supplemented by a disinfecting soak 2-3 times a week.
Fresh water must be available at all times. Birds require fresh water at least once a day and sometimes several times a day in a clean dish. Consider using a water bottle to avoid contamination.
If you are serving hot foods make sure that they are sufficiently cooled to avoid crop burn.
Just as there are foods we should avoid as humans, there are foods that are potentially toxic to your birds.
Please note that the above is not a complete list of potentially toxic items. If in doubt, consult with your avian veterinarian.