Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Available online at www.ijpe-online.

com

vol. 19, no. 3, March 2023, pp. 184-192


DOI: 10.23940/ijpe.23.03.p4.184192

A Survey of Distributed Data Storage in the Cloud for


Multitenant Applications
Aditi Sharma* and Parmeet Kaur
Jaypee Institute of Information Technology, Noida, 201309, India

Abstract

Cloud services are generally based on multitenancy, which refers to sharing of virtualized hardware infrastructure and application servers
between the users, also known as tenants. Multi-tenancy lowers the cost of services for both the providers as well as the tenants. In the
context of storage services utilized by software-as-a-service applications, data of all tenants is stored in cloud-based but shared servers,
storage, or databases. The sharing of the resources among tenants can result in the co-location of their data within the same storage solution.
This can further lead to risks of data tampering or data leaks that must be handled by the provider to ensure the trust of tenants. The
separation of various customer data is mandatory to ensure any data stored is not accessible or viewable by another tenant user. This survey
investigates the implementation of multitenancy in distributed, cloud-based storage services. It discusses the existing approaches and models
employed by commercial cloud service providers. The perspective and solutions presented by researchers are also put forth. Finally, a few
open problems and directions for further research are listed.

Keywords: Multitenancy; storage; cloud; object storage; file storage; block storage

© 2023 Totem Publisher, Inc. All rights reserved.

1. Introduction

The rapid increase in data traffic due to social networks, e-commerce enterprises, and a vast number of other data sources
such as Internet of things and smart devices has resulted in the critical issue of large-sized or big data management. Cloud
computing-based services are proving vital in dealing with this issue as these provide a seemingly infinite pool of reliable
computing, storage, and network resources according to a pay-per-use model. Cloud-based storage services are a natural fit
for storing big data since they allow users to store and retrieve their data of any type, size or characteristics from any location
[1]. However, the volume, variety and velocity of the data leads to the requirement of efficient data storage methods.

Many benefits of cloud computing arise from its multitenant architecture. This allows multiple customers or tenants of
a cloud provider to use the same resources without being aware of each other as tenant segregation is the responsibility of the
cloud provider. Multitenancy is a feature of cloud computing that allows for efficient use of cloud resources for the providers
and lower costs for the tenants. Multitenancy is implemented for both public and private clouds and is applicable to
Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS).

In a multitenant SaaS architecture, a single software instance can serve multiple applications or customers. These
individual applications or customers are termed as tenants who share common data and can also have data isolated from
another tenant. Such an architecture is very cost efficient as software development and maintenance cost can be shared
amongst the tenants. In comparison, each application instance in a multitenant PaaS deployment model runs in its own isolated
space while sharing the development runtime or environment. Further, multitenancy is made possible in IaaS by methods such
as virtualization, which allow tenants to use the same physical resources.

One key consideration in leveraging the benefits of a multitenant architecture is that the data of any tenant should be
isolated from that of other tenants. Therefore, this paper explores the methods for distributed data storage of multitenant
applications. We describe the various types of storage solutions, their benefits, and the challenges that need to be addressed.

* Corresponding author.
E-mail address: adi.sharma6@gmail.com
A Survey of Distributed Data Storage in the Cloud for Multitenant Applications 185

The classification of existing cloud-based solutions into file, block, and object-based storage has been used for the entire
discussion. The contributions of this paper are as follows:
• Consolidates the literature of multitenant data storage in cloud computing.
• Lists the ways of integration of blockchains with storage systems and illustrates the benefits and overheads.
• Based on the understanding of existing challenges and solutions, a few research directions have been enumerated.

The rest of the paper is organized as follows: an overview of types of cloud storage systems is presented in Section 2
along with a discussion of multitenancy, its benefits, as well as challenges in implementation. Section 3 discusses the existing
cloud storage methods and solutions. Section 4 puts forth the methods and approaches for storage solutions as discussed in
literature. Section 5 outlines the research problems open for better solutions. Finally, Section 6 presents the concluding
remarks

2. Cloud Storage and Multitenancy

Cloud computing provides application, computing, and other IT resources as services to end users, who may be individuals
or business users. A significant resource provided by the cloud is storage of different types that can be used by users or
applications. There are three main types of cloud-based storage, as discussed next.

2.1. Types of Cloud Storage

The major types of storage offered by the cloud services are files, blocks, and objects [2], as shown in Figure 1. Each of these
stores and manages data in separate ways with their own applications, advantages, as well as limitations, as shown in Table 1.

a) File storage

b) Block storage c) Object storage

Figure 1. Types of storage

2.1.1. File Storage

A file is a way of storing data in a single pace within a hierarchical organization of data storage. This implies that data is put
together in a file and files are organized into directories. Files are tagged with metadata for easy identification and retrieval.
Retrieval requires that the path to the file in the file system is known. Cloud-based systems like Hadoop use HDFS (Hadoop
Distributed File System) for storing of data.
186 Aditi Sharma and Parmeet Kaur

2.1.2. Block Storage

Block storage organizes data into units referred to as blocks. Each block is assigned a unique identifier and treated as a separate
hard drive that can be placed individually at a suitable location. Block storage allows decoupling of data from the user’s
environment. When data is to be retrieved, the storage system assembles the individual data blocks from their respective
locations for the user. Since each block can be allocated space and managed individually, the block storage systems are more
efficient than the file-based systems. However, block storage is expensive due to metadata constraints.

2.1.3. Object Storage

Objects refer to distinct units that contain unstructured data and metadata, and are assigned a unique ID. The objects can be
organized into a flat address space and allow for metadata customization. This implies that objects are placed in a single
repository, instead of being stored as files in folders or as blocks on servers. The associated metadata leads to easy retrieval
of data from object storage than file and block storage. Further, it offers similar benefits of file and block storage since it is
less expensive as well as scalable. Object stores are used to handle huge volumes of data, though they do not integrate well
with relational databases. Also, objects are not modifiable.

Table 1. Comparison between different Cloud Storages


FILE BLOCK OBJECT
Storage Fixed size units referred to as
Hierarchical organization Stored as single unit
Structure blocks
Metadata Basic metadata No metadata Extensive metadata
Type of Data Both Structured data Unstructured data
Performance High High Low
Latency Low Low High
Cost High Expensive Low
Scalability Limited scalability Limited scalability Easily scalable
Web content management, media Transactional or database IoT data management, video surveillance,
Use Case
processing applications backup

2.2. Multitenancy

The scale, flexibility, and agility of cloud services is possible, to a large extent, due to its multi-tenant architecture.
Multitenancy is a type of cloud architecture that allows multiple users of a cloud service, referred to as the tenants, to share
the same computing resources [3]. These resources may be in the form of software (SaaS), runtime environments (PaaS), or
hardware resources (IaaS). Thus, multitenancy is a key feature of all forms of cloud services, IaaS, PaaS, or SaaS, and is
present for both private as well as public cloud deployments.

However, it is imperative that the tenants are separated logically. For example, the multitenant SaaS applications are
commonly based on multi-tenant data storage where resources as well as datastore schema are shared among different tenants
leading to efficient use of resources and a lowered cost for all. However, as multiple tenants share the same storage, there is
a higher possibility of data infringement if tenants’ data is not well isolated from each other. A malicious tenant can attack
other tenant’s data by sending malicious information, initiating illegitimate transactions or denying transactions among
different tenants.

Data storage services in a multitenant environment are vulnerable to the Noisy Neighbor problem, i.e., tenants can be
affected by each other [4]. In the context of storage, this implies that any tenant’s data should remain unaffected even if other
tenants' data is stored in the same database or tables. Further, the usage patterns or peak demands of tenants should not degrade
the availability or performance of the system for other tenants. A multitenant solution needs to be designed considering the
required level of isolation and also provision the amount of resources according to the degree of resource sharing. A cloud
service provider can also offer some level of customization to each tenant. For example, a tenant may be allowed to have a
need-based data backup policy or maintain individual encryption keys. Similarly, tenants may require to store their data in a
specific geographical location. In all such cases, a tenant needs to be isolated from other tenants, or logically grouped with
tenants having alike policies [5].

Thus, the benefits of multitenant architecture can be summarized as:


• Isolation: The use of an application by a tenant does not affect the availability or usage by other tenants. Importantly,
data of tenants is not accessible to each other.
• Scalability: Multitenant applications can scale to meet the requirements of individual tenants.
A Survey of Distributed Data Storage in the Cloud for Multitenant Applications 187

• Costs: Lower costs are incurred as compared to a dedicated, single-tenant application for both provider as well as
tenants. This is possible as multi-tenancy enables resource sharing among tenants.

The next section describes the existing approaches and techniques for multitenant data storage.

3. Existing Approaches

This section discusses the implementation of multitenancy from the perspective of literature as well as commercial cloud
service providers.

3.1. Architecture Patterns for Multitenant Data Solutions

Databases can be multitenant by design, i.e., their architecture can be designed to support multitenancy. This can be achieved
in a number of ways with varying levels of isolation, as follows [6], shown in Figure 2:

• Single Database with Shared Schema: Here, same tables within one database are used to store the data for all
tenants. The data of tenants is separated by using some specific column that identifies the tenant to which a row of
data belongs to. The architecture is high on maintainability since a single schema is used. It also leads to low code
complexity as an application needs to connect to a simple schema. New tenants can be added easily in the system.
However, the isolation between tenants is not very secure and the risk of tampering of a tenant’s data is high. The
“noisy neighbor problem” can exist here.

• Single Database and Separate Schema: This architecture increases the tenant isolation by using separate tables
with different schemas but in one database. This allows flexibility for customizing the schema according to tenant
requirements. Further, optimizations are possible at the level of an individual tenant's schema. A single database
results in simpler maintenance and recovery. However, separate schemas lead to an increase in query complexity as
well as difficulty in adding new tenants. The risk of “noisy neighbors” remains here also.

• Separate Database Per Tenant: This approach dedicates a separate database to each tenant. This leads to high
security as tenants’ data is isolated from each other. Maintenance and optimizations can be performed per tenant.
This allows flexibility in data migrations without adding query complexity. The noisy neighbors risk is controlled,
but higher costs are incurred by the tenants. Further, adding new tenants and managing the growing number of
databases are difficult.

• Multiple Databases, Multiple Tenants per Database: In this approach, tenants may share databases as well as
schemas as the data of tenants encompasses multiple databases. This allows some level of isolation as well as
flexibility. The data service provider can decide the level of tenant density in order to balance the overhead of
database maintenance. This approach achieves a balance between scalability, security, and management.

In the current scenario, IBM Db2 on Cloud and Db2 Warehouse on Cloud only allow multiple schemas, and do not
support multiple databases [7]. Azure SQL provides flexibility for Database Multi-tenant app with database-per-tenant, Multi-
tenant app with multi-tenant databases, Multi-tenant app with a single multi-tenant database, Multi-tenant app with sharded
multi-tenant databases, or a hybrid sharded multi-tenant database model.

3.2. Multitenant Object-based Storage

Multitenancy is also a key feature of cloud-based object storage platforms. These provision storage to tenants using some
mechanism of bucketing or partitioning. For instance, a centralized storage is partitioned into multiple domains by Swarm
depending on requirements of the tenants. Then, each domain can be further be split into buckets that are metered for resource
management. Further, security policies can be implemented at the bucket or object level.
188 Aditi Sharma and Parmeet Kaur

Single Database with Shared Schema Separate Database per Tenant

Single Database with Separate Schema

Multiple Databases, Multiple Tenants per Database


Figure 2. Multitenant data models

Amazon Simple Storage Service (Amazon S3) is another popular object store employed for data storage by software-as-
a-service (SaaS) applications. S3 also relies on data partitioning for tenant isolation and selects the pattern of partitioning
based on the expected count of tenants, the isolation level required by tenants, and access patterns of applications [8]. Of the
possible approaches, the simplest is provide a separate bucket for each tenant. The bucket name uniquely binds it to the tenant.
This approach is suitable only for a small number of tenants and does not scale well for environments that need to support
more than a few hundreds of tenants. Another multitenancy model for S3 is an Object Key Prefix-Per-Tenant Model. Here,
SaaS providers employ key name prefixes to bind objects with tenants. This allows scalability as compared to the approach
of dedicated buckets for tenants since tenants can share a bucket. The data is isolated by the unique prefixes that identify the
objects belonging to a tenant. A third approach to multitenancy is maintaining Database-Mapped Tenant Objects. In this
approach, the data is partitioned based on the query or access pattern of the application. The motive is to place the objects that
answer some application-specific query in the same database. For instance, a query needs to find all tenant-a objects that
denote project-1. If this query is executed, say by a microservice, all tenant-a objects will be returned from the same database.
The selected S3 data partitioning model also influences the tenant isolation. For example, tenant-specific AWS Identity and
Access Management (IAM) policies can be specified for both the bucket-per-tenant and prefix-per-tenant models [9].
A Survey of Distributed Data Storage in the Cloud for Multitenant Applications 189

Similar to Amazon S3, Oracle Cloud also offers Object Storage that can be partitioned. Here, buckets are the logical
containers for object storage that can be created by users within a region. Each bucket is linked with one compartment that
define the policies applicable on a bucket and objects contained in it. Further, Object Storage namespace is a top-level
container for all buckets and objects. Each tenant is provided with a unique system-generated and immutable Object Storage
namespace name. A root compartment is also created for each tenant who can then create compartments under the root
compartment. Tenants can also create usage policies for the resources in its compartments.

4. Literature Survey

This section presents a brief review of literature closely related to this work. The pros and cons of a multi-tenant architecture
have been discussed in [6]. The work in [10] addresses the different challenges such as scalability, development and
maintenance, tenant isolation, etc. associated with multi-tenant architecture. In the multi-tenant environment, though all the
tenants share resources, some components or features can be customized according to tenant specific needs. Thus, the system
needs to be extremely configurable and extensible.

In traditional systems where applications involved limited size of structured data, data storage was an upfront task [11].
However, massive invasion of unstructured digital data over the internet has led to the inevitability to have an appropriate
data storage that is capable to handle such exponentially growing data.

The traditional storage systems are inept at overcoming data-related challenges of scalability and flexibility. Another
key concern is to lower the overhead of handling heterogeneous storage media in the development of an integrated storage
system [12]. Authors have implemented a cloud storage system based on the notion of software defined storage (SDS). SDS
is a scalable and efficient storage approach that allows flexible storage provisioning as it separates the software layer from the
underlying hardware. It is a kind of virtualization technology for cloud storage that uses software to integrate resources to
improve accessibility. Another design of a scalable multi-tenant SDS system has been proposed in [13]. Authors have
introduced a Hierarchical Bin Packing algorithm for dynamic allocation of tenant data load over the available storage space.
This is a scalable approach in which tenants are hierarchically clustered based on multiple scenario-specific characteristics.
The work has been extended in [14], where a multi-tenant system for dynamic tenant load allocation has been presented. In
order to minimize network latencies, tenants are hierarchically arranged such that the tenants’ data are stored in proximity to
the designated application server. Instead of relational data, authors have focused on allocation of blob data. Two hierarchical
bin-packing approximation algorithms that can work both for static and dynamic loads have been proposed in the work. The
first algorithm is the Hierarchical First-Fit Decreasing (HFFD) strategy and second one is the Hierarchical Greedy Decreasing
strategy (HGD). These algorithms work similar to First-Fit Decreasing (FFD). Both of these algorithms are quite similar in
their layout but give distinct results on execution over static data and dynamic data. This work also focuses to minimize the
migration of tenants’ data over time.

Table 2. Comparison of Existing Storage Systems


Type of
Platform for Simulation/
Related Works Storage Implementation Algorithms Performance Measures
implementation
System
NoSQL technologies: Hadoop,
Xi Zheng [20] File Storage Trinity model Runtime and throughput
Spark, Kafka, and MongoDB
Average LUN utilization,
Tenant Defined Hierarchical Bin Packing
Blob Storage C reallocations metrics, average
Storage [13,14] algorithm
distance between the nodes
SDStorage [2] Storage Files Simulation of SDS Mininet Memory usage, CPU time
Cubic spline interpolation Network throughput & disk writing
Yang, C. T [12] Swift and Ceph OpenStack
and distribution mechanisms speed
IO operations per second, bandwidth
Crystal [21] Object Store Simulation of SDS OpenStack Swift
usage
Bin-allocation algorithm for Average Bin utilization, Data Split
TOSDS [22] Object based C, Python
Static & Dynamic data ratio, Tenant Isolation Ratio
Cassandra’s hinted handoff
PAX [23] Storage Files Cassandra Response time
mechanism
Amazon RDS, Google Datastore,
Key-value, Cloud Data Portability
CDPort [24] Amazon SimpleDB, and Response time
document Framework
MongoDB
Blockchain-based anti-piracy Mocha Testing Framework, copy
VANGAURD [16] Blockchain Ganache
system detection
Blockchain-based healthcare Admin elasticity test, tenant isolation
Tamper‑proof [25] Blockchain MultiChain Framework
system test, and scalability test
190 Aditi Sharma and Parmeet Kaur

Despite various advantages, a multi-tenant architecture faces a challenge related to data security. As multiple tenants
share the same storage, there is a higher possibility of data infringement if tenants’ data is not isolated from each other. A
malicious tenant can attack other tenant’s data by sending malicious information, initiating illegitimate transactions or denying
transactions among different tenants. A recent technology that can be used for implementing tamper-free data storage for
multi-tenant applications is the blockchain technology. Apart from its frequent use in cryptocurrency, it is emerging as a
prominent technology for building secure and immutable storage systems [15]. Blockchains or Distributed Ledgers eliminate
risk of alteration in data once stored through the use of decentralization and cryptographic hashing. Thus, blockchain storage
is designed to save any data or transactions forever and in an immutable matter, i.e., without any modification. The work in
[16] tried to address the problem of online piracy in movie industry by developing a blockchain-based anti-piracy system,
“Vanguard”. This system substitutes the conventional Intellectual Property (IP) registration system and keeps track of the
owners IP rights to ensure that there is no illicit distribution of their data. Blockchain technology and certificateless
cryptography were used in [17] to implement a data storage system for managing and protecting huge amounts of IoT data.
The authors of [18] utilized blockchain in the design of approaches to be used for data sharing in smart cities. A blockchain
tree to store information from smart Id cards was proposed in [19]. Table 2 lists some of the existing storage systems.

5. Directions for Future Research

Based on the research gaps identified from literature survey, we present some directions for future research, as follows:

• Serverless Data Stores: Serverless computing is gaining rapid foothold in cloud computing, and it can be leveraged
for multitenant data services as well. A multitenant environment witnesses variable workloads from different tenants
which may not be easily predictable. A serverless data store service can be appropriate here as it will provision and
release resources based on a tenant’s workload. The tenants will need to pay only for actual resource usage. Microsoft
Azure SQL Serverless Database is an example that can be used for multitenant databases.

• Use of Edge Computing and Efficient Hardware: 1) The use of edge-based servers can be investigated for
supporting data storage in the cloud data centers. Edge provides the advantage of proximity and, hence, incurs a
lower latency in storage as well as retrieval. Though edge-based resources are limited and cannot replace cloud, these
can be used for implementing storage for time-sensitive applications or for intermittent storage of data streaming
from Internet of Things devices. 2) Data storage tier of SaaS applications is separated from the compute tier for better
scalability of compute resources. However, this leads to the need for caching data with the compute layer for
performance. Further, availability of new hardware technologies, SSD, non-volatile memory (NVRAM), etc. should
be exploited for efficiency as well as reducing the carbon footprint of data centers.

• Use of Deep Learning: Deep learning-based solutions can be developed for various resource provisioning,
scheduling, and forecasting problems related to storage allocation. Despite a large body of research work on resource
estimation, these techniques lack robustness. However, now that cloud vendors collect data on resource utilization,
selection of appropriate resources can be addressed with deep learning.

• Data Duplication: Another problem that is surfacing in cloud-based data stores is due to the presence of redundant
or duplicate data. The technique of data deduplication is being utilized to identify and eliminate duplicate or
redundant data in a storage system. Data deduplication is the technology that is being used to reduce backend storage
space by replacing multiple copies of the data with a reference pointer, pointing to the unique data. In the above
example, extra 18MB storage can be released using the concept of data deduplication. All the nine instances of the
data files will be replaced by the pointers pointing to the original data file, thus saving significant storage space.

• Fault Tolerance: A distributed system is prone to errors, fault, or failure; it can be a software failure or a hardware
failure. Fault tolerance is a property of a system that enables it to work properly even in the situation of partial failure,
i.e., some of its components fail. To have a reliable, secure, and highly available system, fault tolerance is needed.
Developing a complete fault tolerant system is a very challenging task.

• Security Concerns: Most of the user’s data stored on cloud is private and of utmost importance. If a user wants to
delete his or her data from the cloud, it is very difficult to verify whether the cloud server actually deleted the data
or just deleted the link pointing to the data. There may be a situation that data is still lying on the server, vulnerable
to attacks by hackers. Thus, it is not feasible to trust the cloud server, hence a great security concern.
A Survey of Distributed Data Storage in the Cloud for Multitenant Applications 191

6. Conclusion

The multi-tenant cloud environment allows isolated users to share compute, networking, and storage resources. This results
in the saving of costs along with better resource utilization and reduced maintenance cost. However, multitenant solutions
need to isolate tenants’ data from each other and prevent risks of leaks. This paper has presented an overview of various types
and architectural patterns of multitenant data storage along with existing solutions by the cloud storage providers for software
as a service application. A detailed description of the research work in the domain has also been put forth along with a
comparative analysis. The use of blockchain for trustworthy storage has been discussed. Based on the research, a few open
problems have been listed for future work.

References

1. Fox, A., Griffith, R., Joseph, A., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A., and Stoica, I. Above the Clouds: A
Berkeley View of Cloud Computing. Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Rep.
UCB/EECS, vol. 28, no. 13, pp. 2009, 2009.
2. Darabseh, A., Al-Ayyoub, M., Jararweh, Y., Benkhelifa, E., Vouk, M., and Rindos, A. Sdstorage: A Software Defined Storage
Experimental Framework. In 2015 IEEE International Conference on Cloud Engineering, IEEE, pp. 341-346, 2015.
3. Sellami, W., Hadj Kacem, H., and Hadj Kacem, A. Dynamic Provisioning of Service Composition in a Multi-Tenant SaaS
Environment. Journal of Network and Systems Management, vol. 28, pp. 367-397, 2020.
4. Shue, D., Freedman, M.J., and Shaikh, A. Performance Isolation and Fairness for Multi-Tenant Cloud Storage. In Presented as
part of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12), pp. 349-362, 2012.
5. Architectural Approaches for Storage and Data in Multitenant Solutions - Azure Architecture Center, Microsoft Learn,
https://learn.microsoft.com/en-us/azure/architecture/guide/multitenant/approaches/storage-data, accessed on March 10, 2023.
6. Karataş, G., Can, F., Doğan, G., Konca, C., and Akbulut, A. Multi-Tenant Architectures in the Cloud: A Systematic Mapping
Study. In 2017 International Artificial Intelligence and Data Processing Symposium (IDAP), IEEE, pp. 1-4, 2017.
7. What Is a Multi-Tenant Database Architecture? https://www.ibm.com/blogs/cloud-archive/2016/10/what-is-a-multitenant-
database-architecture/, accessed on March 10, 2023.
8. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshma, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., and
Dynamo, W.V., Amazon'S Highly Available Key-Value Store. Proceeding SOSP, vol. 7, 2007.
9. Partitioning and Isolating Multi-Tenant SaaS Data with Amazon S3, AWS Partner Network (APN) Blog,
https://aws.amazon.com/blogs/apn/partitioning-and-isolating-multi-tenant-saas-data-with-amazon-s3/, accessed on March 10,
2023.
10. Jumagaliyev, A., Whittle, J., and Elkhatib, Y. using DSML for Handling Multi-Tenant Evolution in Cloud Applications.
In 2017 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), IEEE, pp. 272-279, 2017.
11. Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M. and Chandra, T., Fikes, AND., Gruber, RE 2006.
Bigtable: A Distributed Storage System for Structured Data. ACM Trans. Comput. Syst, vol. 26, no. 2.
12. Yang, C.T., Chen, S.T., Chan, Y.W., and Shen, Y.C. On Construction of a Cloud Storage System with Heterogeneous Software-
Defined Storage Technologies. Human-centric Computing and Information Sciences, vol. 9, no. 1, pp.1-17, 2019.
13. Maenhaut, P.J., Moens, H., Volckaert, B., Ongenae, V., and De Turck, F. Design of a Hierarchical Software-Defined Storage
System for Data-Intensive Multi-Tenant Cloud Applications. In 2015 11th International Conference on Network and Service
Management (CNSM), IEEE, pp. 22-28, 2015.
14. Maenhaut, P.J., Moens, H., Volckaert, B., Ongenae, V., and De Turck, F. A Dynamic Tenant-Defined Storage System for
Efficient Resource Management in Cloud Applications. Journal of Network and Computer Applications, vol. 93, pp. 182-196,
2017.
15. Portmann, E. Rezension „Blockchain: Blueprint for a New Economy “, 2018.
16. Jayasinghe, Y., Abeywardena, K.Y., Munasinghe, T., Mannage, S., Warnasooriya, T., and Edirisinghe, G. VANGUARD: A
Blockchain-Based Solution to Digital Piracy. Global Journal of Computer Science and Technology, vol. 20, no. E4, pp. 19-28, 2020.
17. Li, R., Song, T., Mei, B., Li, H., Cheng, X., and Sun, L. Blockchain for Large-Scale Internet of Things Data Storage and
Protection. IEEE Transactions on Services Computing, vol. 12, no. 5, pp. 762-771, 2018.
18. Sun, J., Yan, J., and Zhang, K.Z. Blockchain-Based Sharing Services: What Blockchain Technology Can Contribute to Smart
Cities. Financial Innovation, vol. 2, no. 1, pp. 1-9, 2016.
19. Kushch, S., Baryshev, Y., and Ranise, S. Blockchain Tree as Solution for Distributed Storage of Personal Id Data and
Document Access Control. Sensors, vol. 20, no. 13, pp. 3621, 2020.
20. Zheng, X., Fu, M., and Chugh, M. Big Data Storage and Management in SaaS Applications. Journal of Communications and
Information Networks, vol. 2, no. 3, pp.18-29, 2017.
21. Gracia-Tinedo, R., Sampé, J., París, G., Sánchez-Artigas, M., García-López, P., and Moatti, Y. Software-Defined Object
Storage in Multi-Tenant Environments. Future Generation Computer Systems, vol. 99, pp. 54-72, 2019.
22. Sharma, A. and Kaur, P. TOSDS: Tenant-Centric Object-Based Software Defined Storage for Multitenant Saas
Applications. Arabian Journal for Science and Engineering, vol. 46, no. 9, pp. 9221-9235, 2021.
23. Dipietro, S., Buyya, R., and Casale, G. PAX: Partition-Aware Autoscaling for the Cassandra NoSQL Database. In NOMS 2018-
2018 IEEE/IFIP Network Operations and Management Symposium, IEEE, pp. 1-9, 2018.
24. Alomari, E., Barnawi, A., and Sakr, S. Cdport: A Portability Framework for Nosql Datastores. Arabian Journal for Science and
Engineering, vol. 40, pp. 2531-2553, 2015.
192 Aditi Sharma and Parmeet Kaur

25. Sharma, A. and Kaur, P. Tamper-Proof Multitenant Data Storage using Blockchain. Peer-to-peer Networking and Applications,
pp.1-19, 2022.

You might also like