Replacing Physical Storage with Software Defined Storage

Ryder
Digital Shroud
Published in
5 min readNov 7, 2022

This article serves as a blueprint for an idea that has many possibilities for a viable product but cannot be discussed at length for the purposes of this assignment

Introduction

Have you ever saved a file to a cloud storage system, such as OneDrive or Google Drive, and couldn’t find the file you needed? You search in every folder but the paper you wrote on your gaming PC is not in your OneDrive and you couldn’t have it on your laptop if it was written on another computer. Your cloud storage was supposed to fix that, but you had forgotten to change where you saved the paper to. As a result, you now will be receiving a lower grade which could have been avoided if cloud and physical storage could interact with each other without manual intervention. In the early 2000s, Sun Microsystems created a solution where they used authentication cards to access data. An employee could walk up to any computer, insert their authentication card, and their data would appear and be updated to the central storage system. An authentication card would be outdated now, but what if that was replaced with a username and password? Now imagine, you open your laptop and unlock it, you go to look for your paper you wrote, and there it is!

Cloud storage services have helped change file storage in many ways. Instead of needing to remember an external hard drive, users can log into their cloud service and locate files there. One of the issues encountered with cloud storage is the need to explicitly save files to the cloud for accessing on another device later. For a lot of people, remembering to save to the right place can be challenging and make it difficult to appreciate the power of cloud computing. Apple’s iCloud is very good at automatically sharing files among a user’s devices without overcomplicating the process. A similar system could be implemented in other computers to help make accessing files on different devices easier.

How It Works

The ability to access any files on any device with minimal clicks could be a reality. The way this would work is that when a computer is turning off, it will “push” all changes made on it in that session to the cloud. The cloud would store those changes and deliver them to each device on its next startup. If a computer does not turn on for a while, there will be a lot of data that is being transferred and slow down the startup a little, but once the computer has pulled all the changes, all the files will be there. Each computer associated with the same user account will have a virtual queue where the data will form and wait for that device to reach out to the server.

Figure 1: Diagram showing data flowing between devices for a single user

Whether a user logs out of the computer or only shuts down their device, the computer will automatically initiate their files being transferred over to the cloud for the next login. This system is primarily for people who are generally the sole users of their devices and need to switch between devices for specific needs. For example, a college student might have a desktop at home and a laptop for going to classes. That student might want to do homework on whichever device is more convenient for them to access at the time. This system would help that student when they need to use a certain laptop or desktop, depending on their needs.

There are some concerns with this idea that require addressing before a system like this can be placed. The system must be selective on how it transfers changes and needs to consider network and hardware limits on the target devices. If there is a need for a large transfer, like logging into a computer for the first time, the system needs to adapt to complete its task without stressing physical devices. To adapt, the system will only move files that meets the following criteria: files were accessed recently, files moved will leave enough space on the devices for optimal performance, files transported will not cause unnecessary network stress. These criteria will help the system prevent overloading hardware by balancing convenience of files and hardware capability.

Network stress is a big issue because fast internet is expensive and cannot always be provided. The system must be able to adapt to the network it is connected to, so it does not have a negative impact on the network. If the system also only looks at files that have a higher chance of being opened, it does not need to waste resources on files that are unlikely to be used. There will also be options for users to manually ask for downloads of specific files in case the system did not choose a needed file.

Another constraint is the risk of stress on the hardware of end-user devices. If the number of files that need to be transferred or updated is too big for the physical drives, users might not be able to load all the files they need or may have issues using their computer. The system must limit how much physical space is being used so the computer can still operate optimally.

Implementation Ideas

Implementing this system could be done different ways. A system like this likely could be integrated into existing cloud storage services. Instead of explicitly telling a cloud service to save files to it, the system would do it automatically. Integrating this system with an existing service will likely make users more willing to use the new system because they already have an account and have data with the service. However, there are downsides to adding this system, such as: if users use multiple cloud storage services and if users use school accounts that are removed after graduation. If users use multiple storage systems with this feature, there may be issues syncing because two systems are looking for space at the same time on one device. This is one kind of issue that would come from implementing this system at this level.

Figure 2: Diagram showing a potential issue with data from two separate cloud services

The system could be implemented into the operating system of the device instead of using a preexisting account to a storage system. The data would then be associated with a user’s account on their device, like a Microsoft account on Windows computers. This idea limits the system to only work on computers with the same operating system and would need to be investigated to work with Linux or Mac devices. However, using this system as part of the operating system could open new ideas to this system like transferring files without needing the internet.

Conclusion

Regardless of how this shared storage system would work, it would help improve the versatility of cloud storage for end-users greatly. This system would eliminate the need for users to take extra steps to access their files on various devices and greatly simplify the process of finding their saved files. It would also help push the limits of cloud computing which is already a quickly growing industry. Proper research and testing should be done first for a system like this before beginning development.

--

--