Cloud in your pocket
A recent topic about Google Keep encouraged me to write about an idea that came up shortly after Google Reader closed.
This event clearly demonstrated the main lack of clouds - the lack of control over their own data. Fortunately, I did not rely especially on the “favorites”, commenting, and other features of the reader, so switching to Yandex.subscriptions was relatively painless for me, but there are other services, the loss of which will cost me much more. By the way, it’s not necessary to close the service, it is possible that they will close only my account for any reason, without any warnings for several months and the ability to upload data.
Of course, you could raise your VPS, install all the necessary services on it ... But it costs money, you need to find free alternatives (which is not always possible), administer, monitor security and backups, and it’s far from accessible to everyone. In addition, any social opportunities become problematic.
How could one solve the problem of controlling one’s own data, while preserving the convenience of cloud services?
Many of us have at least one computer at home, or even more, more than one mobile device, possibly smart TVs or wifi routers with external drives. And there are more such devices, their capacities are growing, and everyone has their own processor, RAM and ROM, a network interface, and almost everyone has an OS that allows them to run their own programs. This is enough to become a personal platform for cloud services. Such a platform could store data and provide resources for its processing.
Even when used by a single user, such a cloud could store personal data, contacts, mail, media content, providing access to all devices of family members via the Internet and a local network.
If it is possible to create an infrastructure for combining personal clouds into a distributed network with resource sharing, the capabilities of such a network will expand significantly. Personal data could be stored in encrypted form in several copies, which would save even in case of serious incidents, such as a fire. However, in the event of loss of access attributes, such data you will lose forever. There is no company in which you could send a letter or go with a passport so that you are all restored. This is a double-edged sword.
Well, and the most interesting - it would be possible to raise really free cloud services. Now you can’t just get and start a free cloud service - you need servers, which means monetization, or at least an idea for it to get investment. Therefore, obviously unprofitable ideas, no matter how useful they may be, will simply not go into the clouds, or will quickly die out.
On the other hand, if there is already a free cloud, you can implement a service for it - software and an interaction protocol (API) - and all users who need this service will take on all the costs of storing and processing data, having received full control for it for the data they need.
Take, for example, an analog of youtube in such a cloud. If the necessary software and protocol are written, everyone will be able to pick up such an analogue. Of course, at the same time, all the videos will initially have to be stored and converted at home. But if other participants join the protocol, they will share this burden among themselves, and the more participants, the lower the cost of each of them’s resources. At the same time, if someone suddenly thinks that some video promotes suicide, the maximum that he can do is remove it from his network and politely ask other participants to do it.
It would be possible to take the same Wikipedia to the cloud and not hang banners with sad eyes, simultaneously solving the issue of censorship.
If it turns out that the service will lose popularity, well, while you use it, all the data you need will be available to you, and you can, if desired, transfer it to a more popular service, reducing resource costs. And this, I think, is the main plus of such a scheme.
I note that such cloud services do not have to duplicate and try to crowd out existing clouds; rather, such a cloud will exist in parallel. Nevertheless, user resources are limited, and it’s not possible to put everything straight into personal clouds.
Nothing prevents organizations from raising their internal clouds and launching services on them for their own needs, reducing the cost of their own servers and developing / purchasing software.
You will have to implement a protocol for finding other participants in the network of load distribution between them, it may be possible to adapt bittorrent or BOINC. In addition, the protocol should provide guaranteed access to distributed data, given that not all participants are online 24/7, no one will want to wait for a “side” to download a file from the cloud.
At the same time, for example, mobile devices must have restrictions on the use of resources when working on batteries, and an Internet connection can be slow and / or expensive. All these details will have to be taken into account.
It is necessary to search for nodes that implement the same services so that they can synchronize data and share the load. It is necessary to share resources between different services running on the same devices.
Well, of course, we need an API that allows us to develop cloud services, moreover, working on all compatible devices.
IOS support looks very problematic, with a high probability Apple will not allow to freely dispose of the resources of mobile devices, which means only jailbreak. Although, of course, there is a meager chance that on the contrary it will join the initiative and add its own implementation.
In general, this is quite a lot of work, moreover, highly qualified. It may turn out that all these tasks are not yet feasible at all, especially guaranteed access to data, but with the growth of the capabilities of personal devices and the number of network participants, these problems should be resolved in the future.
By the way, if you remembered Opera Unite, take a pie from the shelf. It could well become such a network, or at least raise interest in the idea, but Opera seems to have lost interest in it :(
Alas, I don’t know. I have other concerns now. In addition, with a high probability I will have to write in Java, in which I am not strong, and not very attracted to it. When there is more free time or money - then maybe I will start, or hire someone. It is unlikely that one developer will pull this.
It’s only obvious that this will be a non-profit open source development. Perhaps in some university they decide to take it? I think that on such a project you can do more than one diploma. Or is someone already doing this? Maybe you have any original ideas of services for such a network? Share in the comments.
This event clearly demonstrated the main lack of clouds - the lack of control over their own data. Fortunately, I did not rely especially on the “favorites”, commenting, and other features of the reader, so switching to Yandex.subscriptions was relatively painless for me, but there are other services, the loss of which will cost me much more. By the way, it’s not necessary to close the service, it is possible that they will close only my account for any reason, without any warnings for several months and the ability to upload data.
Of course, you could raise your VPS, install all the necessary services on it ... But it costs money, you need to find free alternatives (which is not always possible), administer, monitor security and backups, and it’s far from accessible to everyone. In addition, any social opportunities become problematic.
How could one solve the problem of controlling one’s own data, while preserving the convenience of cloud services?
Infrastructure
Many of us have at least one computer at home, or even more, more than one mobile device, possibly smart TVs or wifi routers with external drives. And there are more such devices, their capacities are growing, and everyone has their own processor, RAM and ROM, a network interface, and almost everyone has an OS that allows them to run their own programs. This is enough to become a personal platform for cloud services. Such a platform could store data and provide resources for its processing.
Even when used by a single user, such a cloud could store personal data, contacts, mail, media content, providing access to all devices of family members via the Internet and a local network.
If it is possible to create an infrastructure for combining personal clouds into a distributed network with resource sharing, the capabilities of such a network will expand significantly. Personal data could be stored in encrypted form in several copies, which would save even in case of serious incidents, such as a fire. However, in the event of loss of access attributes, such data you will lose forever. There is no company in which you could send a letter or go with a passport so that you are all restored. This is a double-edged sword.
Services
Well, and the most interesting - it would be possible to raise really free cloud services. Now you can’t just get and start a free cloud service - you need servers, which means monetization, or at least an idea for it to get investment. Therefore, obviously unprofitable ideas, no matter how useful they may be, will simply not go into the clouds, or will quickly die out.
On the other hand, if there is already a free cloud, you can implement a service for it - software and an interaction protocol (API) - and all users who need this service will take on all the costs of storing and processing data, having received full control for it for the data they need.
Take, for example, an analog of youtube in such a cloud. If the necessary software and protocol are written, everyone will be able to pick up such an analogue. Of course, at the same time, all the videos will initially have to be stored and converted at home. But if other participants join the protocol, they will share this burden among themselves, and the more participants, the lower the cost of each of them’s resources. At the same time, if someone suddenly thinks that some video promotes suicide, the maximum that he can do is remove it from his network and politely ask other participants to do it.
It would be possible to take the same Wikipedia to the cloud and not hang banners with sad eyes, simultaneously solving the issue of censorship.
If it turns out that the service will lose popularity, well, while you use it, all the data you need will be available to you, and you can, if desired, transfer it to a more popular service, reducing resource costs. And this, I think, is the main plus of such a scheme.
I note that such cloud services do not have to duplicate and try to crowd out existing clouds; rather, such a cloud will exist in parallel. Nevertheless, user resources are limited, and it’s not possible to put everything straight into personal clouds.
Nothing prevents organizations from raising their internal clouds and launching services on them for their own needs, reducing the cost of their own servers and developing / purchasing software.
Technical implementation
You will have to implement a protocol for finding other participants in the network of load distribution between them, it may be possible to adapt bittorrent or BOINC. In addition, the protocol should provide guaranteed access to distributed data, given that not all participants are online 24/7, no one will want to wait for a “side” to download a file from the cloud.
At the same time, for example, mobile devices must have restrictions on the use of resources when working on batteries, and an Internet connection can be slow and / or expensive. All these details will have to be taken into account.
It is necessary to search for nodes that implement the same services so that they can synchronize data and share the load. It is necessary to share resources between different services running on the same devices.
Well, of course, we need an API that allows us to develop cloud services, moreover, working on all compatible devices.
IOS support looks very problematic, with a high probability Apple will not allow to freely dispose of the resources of mobile devices, which means only jailbreak. Although, of course, there is a meager chance that on the contrary it will join the initiative and add its own implementation.
In general, this is quite a lot of work, moreover, highly qualified. It may turn out that all these tasks are not yet feasible at all, especially guaranteed access to data, but with the growth of the capabilities of personal devices and the number of network participants, these problems should be resolved in the future.
By the way, if you remembered Opera Unite, take a pie from the shelf. It could well become such a network, or at least raise interest in the idea, but Opera seems to have lost interest in it :(
Who will do this?
Alas, I don’t know. I have other concerns now. In addition, with a high probability I will have to write in Java, in which I am not strong, and not very attracted to it. When there is more free time or money - then maybe I will start, or hire someone. It is unlikely that one developer will pull this.
It’s only obvious that this will be a non-profit open source development. Perhaps in some university they decide to take it? I think that on such a project you can do more than one diploma. Or is someone already doing this? Maybe you have any original ideas of services for such a network? Share in the comments.
Only registered users can participate in the survey. Please come in.
Would you take part in such a project?
- 20.9% Yes, as a developer 62
- 3% Financially 9
- 27.7% With a kind word 82
- 27% Just wait for the results 80
- 21.2% No, the idea is not interesting to me 63