Smart Memory Allocation
The NxTop solution protects the user by backing up user data on each NxTop periodically and unobtrusively. Backup serves multiple purposes in the NxTop solution:
- Provides a copy of user data against the event of an error, failure, or loss.
- Maintains a series of date-specific backups, any of which can be used as a restore point.
- Preserves a copy of user data that can be used for recovery up to the last backup on the same hardware - or on a new computer.
During a user session, changes made to user data on the user disk (u:) are tracked in a differencing disk. This includes files that are modified, added or deleted. However, backup is based on disk blocks, and not files. Accordingly, it is not possible to retrieve a specific file, though you can restore the disk to a point where the file existed.
Note that the user's local disk (L: drive) is not backed up. Changes on the local disk are only stored on the NxTop. To include information from the local disk in backup, either
- move the information to the user disk, where it will be included in backup, or
- create an OS Profile definition to define a folder as being included in backup, and then include that definition in an OS profile policy.
See How NxTop Organizes Disk Space for more detail.
If backup processing is enabled by policy, when a backup is due, the NxTop Engine can automatically upload the differencing disk to the NxTop Center. Since the upload consists of only the differencing disk, which is available and is usually much smaller than the full user disk contents, this upload requires little time, and is performed as a background task by the NxTop Engine. See On the Client for more details.
Physically, the backup (and NxTop) files are located under the Apache Tomcat folder on the server hosting NxTop Center. The default folder location is:
C:\Program Files (x86)\Virtual Computer\NxTop Center\Repository\Upload
A backup set contains the earliest (base) backup and the separate differencing disks between the base and the date of the backup.

These separate backups are listed for each user for each NxTop.
Backup Policy Intervals
The backup policy assigned to the NxTop defines whether to enable backup processing or not, and if so, sets the key intervals related to backup:
- How often backups are sent back to the server
- How long backups are retained on the server
- When to warn about overdue backups
The first value controls how often backups are sent automatically to the server. If a user has changes tracked on the user differencing disk since the last backup, the differencing disk is uploaded as an incremental backup. The user can also create a backup manually from the NxTop Engine's Control Panel. See On the Client for more details.
The second value defines how long separate points in the past can be used for restoration. A backup definition is retained for the interval since it was added. When its retention interval is over, the differencing disks that make up the backup are merged into the base. See Backup and Retention for more detail.
The third value defines the interval after a backup is overdue from a NxTop (the first interval) that NxTop Center will inform the user and the NxTop Administrator that a backup is overdue.
For example, if a backup is due every 24 hours, and the overdue period is 48 hours, then after 72 (24 + 48) hours pass without a backup upload, NxTop Center will contact the user (with a pop-up on the NxTop Engine) and the Administrator (as an error event - see Events for more detail) of the missing backup.
On the Client Computer
The backup process starts on the client computer. During the user session, any changes to the user disk or system are saved in a differencing disk. When the backup interval is reached (if automatic backup is enabled), the differencing disk (user disk in all cases, user disk and system disk for a custom NxTop) is uploaded to NxTop Center as a backup.
The user can create a backup for a NxTop manually using the Control Panel on the NxTop Engine. The NxTops tab lists several attributes for each NxTop, including
- the time and date of the snapshot used for the last backup
- the time and date of the next scheduled snapshot
- the time and date the last backup was uploaded to NxTop Center
On the NxTops tab, select a NxTop and click the Backup Now button to create a backup for that NxTop immediately. The control panel updates the entry for that NxTop when the backup is complete and when the backup is uploaded to NxTop Center.
Note: A NxTop does not have to be on-line to create a backup. The NxTop Engine can create a backup, queue the upload, and send it when the NxTop Engine next contacts its NxTop Center.
On NxTop Center
Differencing disks for a user's NxTop are sent from the client computer to the NxTop Center for storage.
The backup for a date includes a pointer to the base file and the (stored) differencing disks dated from the base file up to the backup date. See backup structure image above.
The list of backups for a user shows the size of the individual differencing disk files and for the total accumulated backup for that date.
Backup Retention and Deletion
If backup is enabled by policy, backups are retained with the differencing disks separated for the selected policy retention period. NxTop Center checks the dates of each backup against the retention period; backups that are older than the retention period are deleted if the daily backup deletion task is scheduled. Backups can also be deleted manually by the administrator.
When a backup is deleted, any differencing disks associated with the backup are merged with the next dated backup for that user's NxTop. No data is lost. The backup definition is deleted and the backup for that date (or any previous date) is no longer tracked as a separate entity.

Retention Period and Automatic Deletion
A backup is retained separately up to the retention period named in the backup policy. NxTop Center includes a daily backup deletion task that searches for daily backups beyond their retention period. When found, the backup is merged with the NxTop's base backup file and then the incremental differencing disk is deleted as described above.
This task can be run automatically at the convenience of the Administrator. See Scheduling Backup Deletion for more information.
Restoration
The NxTop solution allows for a NxTop to be restored to an existing backup. At this time, restoration is holistic - the full user disk is restored, the base disk is merged with the differencing disks in order by age up to the last differencing disk in the selected backup, and the result downloaded to the user's NxTop.
The Administrator can set a restore point (date) based on the backups received from the user. When a restore point is selected, the user's user disk for that NxTop is restored to its condition as of that point the next time it starts. The system disk does not roll back (exception: for custom NxTops, the system disk is included in the backup). Essentially, the virtual machine is ignoring the changes to the user disk (and anything else included in the backup) added by the differencing disks after that restore point.
Setting a restore point is a temporary measure. The NxTop virtual machine can be reset to the latest restore point. While a restore point is set,
- No additional backups are accepted
- The NxTop cannot be updated
If a restore point is set, the date of the restore point is listed on the Summary tab for the user's NxTop: click Groups and Users > Users > username > nxtopname, and click the Summary Tab
On the user's NxTop Engine, the user receives a message that they have a restore point set for that NxTop. They need to restart that NxTop for the restore point to be used.
A second step of committing the restore point can make this roll back permanent. Use the Commit Restore Point action to set the NxTop to the state of the restore point, erasing any later changes, and starting again from that point. Once committed, the restored disks start from the restore point, as if later changes had not occurred.
NxTop provides the following basic restoration scenarios:
| Need to... | Solution Steps |
|---|---|
| Retrieve a file from a past backup | Set the restore point back to when the file existed, recover it, clear the restore point. The NxTop is restored to its latest backup. See Retrieve a File. |
| Restart a NxTop from the last backup | Set the restore point to the most recent backup, then commit to that restore point, or
unassign and reassign that NxTop to the user. |
| Reset the NxTop to a backup date from the past | Set the restore point back to when the user disk was OK, then commit the restore point to make the change permanent. See Committing Restore Point. |
| Move the NxTop to another computer | Unregister user from the NxTop, re-register on a new computer. The user's NxTops are restored from the most recent backup. |
Once a restore point is set, it is in effect until one of the following occurs:
- A new restore point is set (same restrictions, different date)
- The restore point is cleared (all differencing disks restored, normal backup and update processing resumes)
- The restore point is committed and made permanent (user disk retained as of restore point; later differencing disks discarded, normal backup and update processing resumes)
In the image below, a restore point of June 19 is committed, and the backups for June 20 and June 21are removed; subsequent backups will build on the June 19 backup.
