Local Storage
All threads of a process share its virtual address space. The local variables of a function are unique to each thread that runs the function. However, the static and global variables are shared by all threads in the process. With thread local storage (TLS), you can provide unique data for each thread that the process can access using a global index. One thread allocates the index, which can be used by the other threads to retrieve the unique data associated with the index.
The constant TLS_MINIMUM_AVAILABLE defines the minimum number of TLS indexes available in each process. This minimum is guaranteed to be at least 64 for all systems. The maximum number of indexes per process is 1,088.
When the threads are created, the system allocates an array of LPVOID values for TLS, which are initialized to NULL. Before an index can be used, it must be allocated by one of the threads. Each thread stores its data for a TLS index in a TLS slot in the array. If the data associated with an index will fit in an LPVOID value, you can store the data directly in the TLS slot. However, if you are using a large number of indexes in this way, it is better to allocate separate storage, consolidate the data, and minimize the number of TLS slots in use.
Remote Storage
The internet has revolutionized data security with remote backup services. This is a relatively new concept that allows personal computer users and businesses to store and backup essential data from multiple computers on an online server. These services offer secure and reliable offsite storage that will enable you to recover from unexpected system crashes and other disasters.
A remote backup service is a convenient backup system that is able to compliment traditional storage mediums such as CDs, DVDs, hard disks, flash drives, tapes and local backups. This type of service will protect your information and provide additional protection against the loss of data caused by viruses, other exploits and system errors. Online storage services offer an ideal, secure storage solution with numerous features, usually for an affordable price.
When it comes to the offsite storing and recovering of data, there are several available options. While many are effective, a remote online storage tends to be much faster and more reliable than others. These services include easy to use interfaces that can be accessed with passwords, along with drag and drop, data compression, data transfer and data encryption features.
During the process of data storage, most online companies provide the following:
• Automated data backups on scheduled intervals. This may be set on a daily, weekly or monthly basis
• Access to previous backups that have been stored on the remote server
• The ability to recover data lost or damaged from backups of previous versions stored on the remote server