A dynamic storage resources provisioner system and method

The dynamic storage provisioning system addresses the inflexibility of current storage systems by using an orchestrator for real-time allocation and deallocation of storage volumes, ensuring efficient and cost-effective resource utilization in cloud environments.

WO2025141582A1PCT designated stage expired Publication Date: 2025-07-03VOLUMEZ TECH LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/IL2024/051233
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-31
Filing Date
2024-12-29
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Current storage systems are inflexible and unable to dynamically adjust to fluctuating workload demands, leading to inefficiencies in resource utilization and increased costs due to overprovisioning or underutilization, particularly in cloud environments with varying performance characteristics and pricing inconsistencies across regions.

Method used

A dynamic storage provisioning system that utilizes an orchestrator to dynamically allocate and deallocate storage volumes through disk slicing, leveraging cloud elasticity to optimize resource utilization based on real-time requirements, ensuring efficient use and cost-effectiveness by aligning resource allocation with user policies and application demands.

Benefits of technology

The system enables real-time adjustment of storage resources to meet fluctuating demands, minimizing waste and costs by only utilizing actively needed resources, thus optimizing performance and cost-efficiency in cloud environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IL2024051233_03072025_PF_FP_ABST
    Figure IL2024051233_03072025_PF_FP_ABST
Patent Text Reader

Abstract

A storage provisioning system for managing storage in a distributed network environment is disclosed. The system includes at least one cloud instance comprising at least one storage resource and at least one orchestrator configured to coordinate disk slicing through interaction with a disk slicing system. The orchestrator dynamically manages storage by allocating and deallocating storage volumes to the disk slices.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] DYNAMIC STORAGE RESOURCES PROVISIONER SYSTEM AND METHOD

[0002] FIELD OF THE INVENTION

[0003] The present invention relates in general to nodes of storage systems, and in particular to dynamic management and provisioning of storage resource / s.

[0004] BACKGROUND OF THE INVENTION

[0005] Providing data storage and data backup capabilities represent a significant concern as current computing systems, whether local, remote or cloud based (such as containers packages, private / public / multi-cloud systems, etc.), require ever more extensive data storage solutions fortheir proper operation. Usually, such data provision and management are made and offered by designated data centers and traditionally the provision of used or expected to be used data storage is provided by stacking physical data storing components, i.e. hybrid hard disk drive (HHD), hard disk drive (HDD), solid-state drive (SSD), etc. Because the methods by which data is stored and edited on different types of drives are so distinct, a similarly broad variety of network configurations and operating methods have emerged to meet the requirements of different network applications.

[0006] Many of these systems and methods include technical features which - whilst distinct - can serve similar functions in the very specific context in which they are disposed, albeit not functions that are independent of said context. Technical features relating to the storage, transfer, sensing, and management of data are employed in a variety of approaches, systems, methods, and network configurations, which have been developed to address a range of technical problems relating to data storage and network management broadly. Much of these are discussed below, in order to provide a broad overview of the relevant prior for the present invention. An approach well established in the field of data storage is the operation of stacking data storing components to create what is termed “Storage Arrays” (or alternatively “disk arrays”) which are used for different kinds of data, broadly categorized by: block-based storage; file-based storage; object storage, among other data types. Rather than store data on a server, storage arrays use multiple drives in a collection capable of storing a huge amount of data, controlled by a local / central controlling system interfacing via storage network protocols to the server.

[0007] Traditionally, a storage array controlling system provides multiple storage services so as to keep track of storage capacity; the allocation of space to different datasets, the management of sections of data storage capacity known as “volumes”; the periodic backup operation of the data to facilitate restoration and disaster recovery and the creation of point-intime copy of the data, known as “snapshotting”; the identification and tracking of errors; the encryption of data communication to protect the integrity and privacy of data; the compression of data to conserve storage capacity; etc. Services of such type require significant computing capacity, metadata, data storage, accelerators, etc. - thus, such services require the designation of extensive infrastructure and budget capacities and resources.

[0008] Commonly, a storage array is separated from a system server's operability and is configured to implement system and application operations on dedicated hardware, for example a server stack, a storage array stack, one or more hard disk or solid state drive (HDD or SSD) and media input / output (I / O) devices configured to communicate with the servers via the storage stack.

[0009] Another approach well established in the field is the employment of an orchestrator, which is a software module logically situated in the control plane (CP) of a distributed network and is responsible for managing the operations of the data plane (DP), such as provisioning and resource coordination. The DP is the layer within a network architecture responsible for the movement, processing and storage of data through the distributed network, whilst the CP is an associated network layer that responsible for controlling how said data flows through the DP. Positioned in the CP, the orchestrator provides centralized management of the DP network, automating data flow across network nodes in accordance with predefined rules. Such coordination is particularly important in distributed network environments where resources such as computational power, storage and network bandwidth are spread across multiple nodes, often in different physical locations. Another approach well established in the field of data storage is the operation of redundant arrays of independent disks (RAID), which can be operated as a way of storing the same data in different places to protect data in the case of a system failure.

[0010] RAID is a general approach and network configuration that virtualizes data and combines multiple physical disk drive components into one or more logical units. Persons skilled in the art will appreciate that the technical problem RAID operations are employed to address depend on the type of RAID operation undertaken: RAID 0 stripes data across multiple disks to address performance bottlenecks and capacity limitations; RAID 1 mirrors data across two or more disks to address data loss due to disk failure; RAID 2 stripes data at the bit level and uses Hamming code for error correction to address data errors and fault tolerance in high- reliability systems; RAID 3 stripes data at the byte level and uses a dedicated parity disk to address single-disk failure and sequential data access bottlenecks; RAID 4 stripes data at the block level with a dedicated parity disk to address single-disk failure and block-level performance bottlenecks; RAID 5 stripes data and distributes parity information across multiple disks to address single-disk failure and storage efficiency; RAID 6 stripes data with double distributed parity to address multiple disk failures and ensure data integrity; RAID 10 combines mirroring (RAID 1) and striping (RAID 0) to address performance bottlenecks and single-disk failure; RAID 01 mirrors two RAID 0 arrays to address performance bottlenecks and fault tolerance; RAID 50 combines RAID 5 arrays and stripes them using RAID 0 to address the performance and reliability limits of RAID 5; RAID 60 combines RAID 6 arrays and stripes them using RAID 0 to address the performance and redundancy limits of RAID 6; RAID 7 uses an embedded real-time OS and dedicated cache to improve performance and address bottlenecks associated with traditional RAID levels; RAID IE stripes mirrored data across an odd number of disks to address fault tolerance and performance in setups where an odd number of disks are available.

[0011] Another approach well established in the field of data storage is the operation of remote replication, which is the process of copying data to a device at a remote location for data protection or disaster recovery purposes. Remote replication may be either synchronous or asynchronous, the former writes data to the primary and secondary sites at the same time, and the latter at different times. Because asynchronous replication is designed to work over longer distances and requires less bandwidth, it is often considered a better option in the field for the recovery of data after a catastrophic disaster. However, the operation of asynchronous replication also introduces several risks, not least the risk of loss of data during a system outage as said data at the target device isn't synchronized with the source data. Most enterprises today use data storage vendors that include replication software on their high-end and mid-range storage arrays, to partially mitigate this risk.

[0012] Another configuration well established in the field of data storage is software-defined storage (SDS), which enables communality of operation of different hardware. SDS configurations include the abstraction of data storage resources from the underlying physical storage hardware, and thereby are able to provide flexible exploitation of available hardware and data storage resources. Typically, commercial off-the-shelf servers run a subset of SDS known as hyper-converged infrastructure HCI, in which the abstractions of both the area network and the underlying storage are implemented virtually in software, rather than physically in hardware.

[0013] Both conventional storage arrays and SDS configurations typically include an integrated “storage stack” - a layered software framework that organizes, manages and facilitates data storage, access and retrieval. Said storage stack t provides essential services such as data protection (e.g. backup, redundancy, recovery, etc ); space allocation; data optimization, backup and recovery, among other functions. Due to the broad array of functions required by SDSs, the integrated software stack is typically configured to have a high of reliability, and the efficiency of the code is also conventionally prioritized.

[0014] Another data storage configuration taught in the field is directed attached storage (DAS), which typically provides the direct local services (such as encryption, compression, RAID, etc.) in cases where central storage systems are not needed or desired. Conventionally, DAS configurations will exploit a robust collection of internal storage components, without which the means of operating said services would be insufficient for proper network function. Persons skilled in the art will appreciate that the technical problem DAS network configurations are employed to address is: the provision of data storage services in the absence of centralized data management nodes. DAS is mostly limited to non-critical applications due to an inherent drawback related to the fact that DAS is inherently tied to one host: server communication failure precludes data accessibility, typically limiting DAS to non-critical applications. This is in contrast to the SDS solutions previously described, which are typically accessible by multiple servers over the network; if one server or communication channel fails, other servers can still access the storage. Another approach well established in the field of data storage is the operation of hot spares. Traditionally, hot spares act as standby drives in RAID 1, RAID 5, or RAID 6 volume groups, but they have also been applied to other network management approaches. Generally, if a drive fails, for example in a volume group, some control software will reconstruct data from the failed drive on a hot spare. When a drive fails in a storage array, a hot spare drive can be substituted without requiring a physical swap. Persons skilled in the art will appreciate that the technical problem hot spare configurations are employed to address is: minimizing downtime and ensuring quick recovery from disk failures in RAID and other storage systems. Another approach well established in the field of data storage is the operation of snapshots of data. A snapshot is used to represent the content of a particular part of a data stored on a storage system at a particular point in time. The source of snapshots are typically base volumes, which are usually referred to as “member volumes” of a “consistency group”. The purpose of a consistency group is to facilitate the capture of simultaneous snapshot images of multiple volumes, thus obtaining copies of a collection of volumes at a particular point in time. In practice, most mid-range and high-end storage arrays create snapshot consistency groups within volumes inside the storage array. Persons skilled in the art will appreciate that the technical problems snapshot operations are employed to address are: loss prevention; data recovery; control of database version; rule compliance and auditing; monitoring of storage dynamics, among other technical problems.

[0015] Obtaining a local snapshot is enabled by a server operating system that includes a logical volume manager (LVM) - a software layer that abstracts physical storage disks into virtualized storage units (logical volumes) - enabling the obtaining of a local snapshot on a single virtualized volume. In distributed storage system, since the volumes are distributed across multiple servers, obtaining or creating a consistency group is not usually possible or supported, producing a number of data integrity risks. LVM works by partitioning the physical volumes (PVs) into physical extents (PEs), which are mapped onto logical extents (LEs) which are then pooled into volume groups (VGs), linked together as logical volumes (LVs). Persons skilled in the art will appreciate that the LVM approach is typically undertaken in order to address the technical problems posed by: inflexible partition sizes; fragmentation of disk space; limited scalability of storage infrastructure; complex mirroring and striping setups; difficulty in taking snapshots; and the efficient management of multi -disk systems.

[0016] Another approach well established in the field of data storage is quality of service (QoS), which is critical to deliver consistent storage performance applications where multiple workloads share a single limited resource by preventing the “noisiest neighbor” from disrupting the performance other applications on the same system. On physical storage arrays, QoS can be set for volumes as limits on data transfer. Unlike storage arrays, the distributed servers of storage stacks mean there isn’t a single point that can enforce QoS. Persons skilled in the art will appreciate that QoS is a general approach in data storage array management, which can be disposed to address a number of different challenges, including but not limited to: predictable performance in shared resources; performance spikes caused by noisy neighbors; difficulty maintaining SLA compliance; resource contention during peak loads; and the need for overprovisioning to avoid performance issues.

[0017] Another approach well established in the field of data storage is disk cloning, which is the process of making a copy of a part (or all) of a hard drive, typically undertaken at a particular point in time whilst hosts continue to access the data. Like QoS, this is an approach which is difficult to operate on shared storage stacks, since the source and target may reside on different physical entities. Persons skilled in the art will appreciate that disk cloning is typically undertaken in order to address the technical problems of: efficient data migration; disaster recovery; consistent system deployment; backup integrity, and the prevention of data loss due to hardware failure.

[0018] Another approach well established in the field of data storage is thick provisioning , where the complete amount of virtual disk storage capacity is pre-allocated on the physical storage when the virtual disk is created, rendering capacity unavailable for use by other volume. Persons skilled in the art will appreciate that the thick provisioning approach is typically undertaken in order to address the technical problems posed by: unpredictable availability of storage capacity; overcommitted storage resources; storage fragmentation, performance degradation, the risks of complex storage management; and the resultant shortages in capacity from said technical problems leading to data loss.

[0019] In contrast to thick provisioning, yet another approach well established in the field of data storage is thin provisioning, where a virtual disk consumes only the space that it needs initially, and grows with time according to increase in demand. Whilst thinly provisioned storage consumes less disk space, it consumes significantly more RAM to store the metadata of the thin allocation. Additionally, thin provisioning consumes much more CPU on the I / O transmissions needed to facilitate intensive random access to translate logical addresses to physical, since it has to navigate through a tree-like data structure. Despite these limitations, thin provisioning is a widely undertaken approach to address a number of different technical problems of the field, persons skilled in the art will appreciate that said technical problems include but are not limited to: the inefficient utilization of storage; high upfront capital costs; difficulty in scaling storage; and the over-allocation of resources.

[0020] Another approach well established in the field of data storage is the Clustered Logical Volume Manager (CLVM), which is a set of clustering extensions to LVM, an approach discussed earlier. These extensions allow a cluster of computers to manage shared storage using LVM by locking access to physical storage while a logical volume is being configured. A single misbehaving node can impact the health of the entire cluster, introducing significant risk for the integrity of data stored on a data storage system. Persons skilled in the art will appreciate that the technical problems the CLVM approach is disposed to address include but are not limited to: uncoordinated access to shared storage introducing storage performance limitations; corruption of stored data from multiple read / write operations; limitations to the scalability of storage environments; low storage availability; inefficient data sharing; and the risks of high complexity in the management and expansion of shared storage.

[0021] Another approach well established in the field of data storage is the deployment of a hardware security module (HSM), which is a physical device that manages digital keys for strong authentication. Persons skilled in the art will appreciate that HSMs are typically deployed in order to address the technical problems posed by: secure key generation and storage; tamper detection and resistance; performance bottlenecks for cryptographic operations; regulatory compliance; controlled key access; secure cryptographic operations; auditing; and logging.

[0022] Another approach well established in the field of data storage is the use of tunneling protocols, which are a communications protocols that allow for the movement of private data from one network to another across a public network, using a process called encapsulation. Persons skilled in the art will appreciate that tunneling protocols are typically operated in order to address the technical problems posed by: secure transmission of data over untrusted networks; bypassing network restrictions and firewalls; ensuring confidentiality and integrity of data in transit; preventing eavesdropping and man-in-the-middle attacks; encapsulating incompatible or sensitive protocols; and reducing exposure to external threats. Other approaches have been taught in the art to address the challenges of secure communication in distributed storage environments, including virtual private networks (VPNs)_; reverse proxies; agent-based models; and secure APIs. VPNs and encrypted tunnels create secure connections, but add latency and require extensive setup. Reverse proxies and API gateways offer controlled access to storage servers by routing external requests through a single entry point, but they also add routing layers that create bottlenecks and increase complexity. Agent-based models, which rely on modules within a network to pull commands from the control software rather than receive them directly, help bypass firewall restrictions but delay orchestration by requiring periodic updates instead of real-time communication. Secure APIs, which rely on authentication protocols, provide direct access to storage resources but can be challenging to scale across large networks due to resource demands.

[0023] Similar to the challenges of security, many approaches have been taught in the art to address chattiness, which is when communication between servers consists of repetitive, non- essential notifications that create unnecessary traffic. This challenges is typically addressed using: traffic filtering; message batching; and rate limiting, which selectively blocks non- essential communications; aggregates multiple smaller messages into fewer transmissions; and restricting the volume of messages over a defined interval, respectively.

[0024] Not unlike solutions to chattiness, many systems and methods have been taught in the art to address the challenge of identification of servers within node-based cloud storage networks, particularly in multi-tenant environments. Conventional means for server identification typically rely on: IP address verification; hostname recognition; and basic authentication protocols such as API keys or token-based systems

[0025] Storage systems may be implemented as on-premises data centers, wherein servers and infrastructure are privately owned and managed, or as networked storage environments, such as those offered via cloud computing service providers. Cloud storage systems may exploit shared resources both for the storage media, which physically stores the data, and for the network infrastructure, which serves to connect the storage system to other systems and clients. In some configurations, storage systems utilize shared networks for general operations, while in others, dedicated networks may be required for each function in order to optimize performance and manage system resources more efficiently. Persons skilled in the art will appreciate that the choice of whether to employ shared or dedicated networks may depend on various technical factors, including but not limited to: workload types, data throughput requirements, latency considerations, as well as scaling requirements.

[0026] Node systems are critical components within a networked environment, acting as intermediaries that facilitate communication and data exchange across all devices in the network. In the context of a data communication network, a node refers to a distinct device capable of transmitting, receiving, or routing data. In addition to their fundamental role in data transmission, node systems often provide quality of service (QoS) monitoring capabilities, ensuring that data flow across the network meets predefined performance metrics. A particular implementation of node systems is cloud storage, which delivers scalable and flexible storage solutions for individuals and organizations. Cloud storage nodes operate in distributed environments and are thus capable of dynamically adjusting to accommodate fluctuating storage demands. Cloud storage systems face several technical challenges which impact performance and reliability.

[0027] In cloud environments, provisioning storage resources poses a significant challenge due to the wide variety of storage instances offered by different cloud providers. Each provider offers instances with unique performance characteristics, including varying read and write capabilities, as well as differing price points based on region and zone. These variations complicate the process of ensuring consistent performance guarantees while maintaining costefficiency. The absence of pre-allocated resources means that users must manually select storage options, which often leads to overprovisioning or selecting suboptimal resources that either exceed or fail to meet performance requirements. Pricing inconsistencies across regions add to the complexity, making it difficult for users to balance cost and performance. For example, the same instance type may have different costs in different regions.

[0028] Storage systems are static and inflexible, presenting a significant limitation for organizations with dynamic and fluctuating storage needs. On premises storage systems are delivered as fixed racks with a set number of drives. Expanding such systems requires purchasing and installing additional hardware, a costly and time-consuming process that lacks the agility modern applications demand. Even in cloud computing environments, SDS solutions - while offering more flexible provisioning - still come with fixed capacity for the entire life cycle.

[0029] This rigidity poses a significant challenge for applications with variable capacity needs, such as those that experience peak demand during events like holiday shopping or end-of- month financial processing. During these high-traffic periods, additional capacity is essential, yet at other times, it remains underutilized, wasting both resources and costs. Current systems either cannot dynamically adjust or require considerable manual effort and investment to expand capacity. Thus, there is an inability to scale both capacity and performance in real time, forcing users to either overprovision or risk performance bottlenecks.

[0030] There is thus a need in the art for a system and method that can dynamically allocate storage resources in real time, ensuring consistent performance while adapting to fluctuating workload demands. Such a solution should address the limitations of cloud storage systems by facilitating provisioning without the need for extensive manual intervention or overprovisioning. Additionally, there is a need for approaches that balance cost and performance effectively, accounting for regional pricing variations and providing users with predictable, reliable storage capabilities that align with their specific application requirements.

[0031] SUMMARY OF THE INVENTION

[0032] The following embodiments and aspects thereof are described and illustrated in conjunction with systems, devices and methods which are meant to be exemplary and illustrative and not limiting in scope. In various embodiments, one or more of the abovedescribed problems have been reduced or eliminated, while other embodiments are directed to other advantages or improvements.

[0033] The following embodiments and aspects thereof are described and illustrated in conjunction with systems, devices and methods which are meant to be exemplary and illustrative and not limiting in scope. In various embodiments, one or more of the abovedescribed problems have been reduced or eliminated, while other embodiments are directed to other advantages or improvements.

[0034] According to a first aspect of the invention, a dynamic storage provisioning system for managing storage in a distributed network environment comprises: (i) at least one cloud instance that comprises at least one storage resource; and (ii) at least one orchestrator, wherein the at least one orchestrator is configured to orchestrate the disk slicing of said at least one storage resource by interacting with a disk slicing system; and wherein the at least one orchestrator is configured to dynamically allocate and deallocate at least one storage volume to at least one disk slice created by the disk slicing system.

[0035] According to another aspect of the invention, the at least one orchestrator is configured to interact with a cloud management interface. According to another aspect of the invention the disk slicing system is provided by a cloud provider.

[0036] According to another aspect of the invention, the disk slicing system facilitates the division of storage resources into disk slices, wherein said disk slices serve as independent units of storage, enabling the orchestrator to allocate and reallocate storage volumes dynamically based on real-time requirements, thereby facilitating optimal utilization of storage resources by responding to fluctuating workloads and application demands.

[0037] According to another aspect of the invention, the dynamic storage provisioning system enables the allocation and deallocation of at least one storage volume to and from at least one slice of at least one storage resource, by leveraging a single-volume-per-slice approach, thereby ensuring that each slice of a storage resource hosts a single storage volume, preventing fragmentation and eliminating the need for complex data migration when deallocating slices. According to another aspect of the invention, the at least one orchestrator dynamically adjusts the size and allocation of at least one slice based on real-time demand, leveraging the cloud provider’s elastic infrastructure to optimize resource utilization, thereby enabling the at least one orchestrator to return unused slices to the cloud provider. According to some another aspect of the invention, the system utilizes a comprehensive catalog of at least one storage instance type to guide resource allocation decisions, which includes detailed performance metrics, pricing information, and regional variations, enabling the at least one orchestrator to allocate resources based on user policies and application requirements.

[0038] According to another aspect of the invention, the system is designed to handle periods of peak demand by dynamically provisioning additional storage slices to meet increased workload requirements, and conversely, during periods of reduced demand, the system can efficiently return unused slices to the cloud provider, ensuring that users only pay for the resources they actively utilize, thereby leveraging the cloud’s elasticity to minimize waste by aligning resource utilization with real-time user requirements.

[0039] According to another aspect of the invention, the at least one orchestrator is configured to return the least one disk slice to the cloud provider upon deletion of the at least one storage volume on said at least one disk slice.

[0040] According to another aspect of the invention, the at least one orchestrator is configured to constantly monitor and analyze the at least one storage resource.

[0041] According to another aspect of the invention, The system of claim 1, wherein the at least one orchestrator is configured to monitor and analyze the health parameters of the at least one storage resource.

[0042] According to another aspect of the invention, the at least one orchestrator is configured to conduct real-time modifications of the at least one storage resources’ in accordance with the monitoring and analysis results.

[0043] According to another aspect of the invention, the real-time modifications of said at least one storage resource includes allocation and reallocation of the at least one storage resource.

[0044] According to another aspect of the invention, the at least one orchestrator is granted a pre-designated permission by the network security system to conduct dynamic changes to the storage configuration of the at least one storage resource in accordance with application or user requirements.

[0045] According to another aspect of the invention, the at least one orchestrator is further configured to replace at least one storage resource by interacting with the cloud management interface According to another aspect of the invention, the at least one orchestrator is further configured to allocate or deallocate at least one storage resources by interacting with a cloud management interface.

[0046] According to another aspect of the invention, the at least one orchestrator is configured to rebuild at least one storage resource to augment at least one existing allocated storage resource, wherein the at least one rebuilt storage resource is reallocated by way of the at least one the orchestrator.

[0047] According to another aspect of the invention, the at least one orchestrator is configured to move data from the at least one storage resource and copy said data to said reallocated at least one storage resource

[0048] According to another aspect of the invention, the at least one orchestrator is designated to receive pricing data of the at least one storage resource as an input to determination of optimal operating conditions.

[0049] According to another aspect of the invention, the at least one orchestrator is designated to determine the performance characteristics and location of the at least one storage resource.

[0050] According to another aspect of the invention, the at least one orchestrator is designated to monitor the performance of the at least one storage resource and to reallocate the at least storage volume upon detection of failure or suboptimal performance.

[0051] According to another aspect of the invention, the at least one orchestrator is configured to identify a virtual private cloud (VPC) and its associated subnets used by a user / application According to another aspect of the invention, the at least one orchestrator is configured to allocate at least one storage volume across at least one failure domain of at least one storage instance

[0052] According to another aspect of the invention, the at least one orchestrator determines the physical location of the at least one failure domain

[0053] According to another aspect of the invention, the at least one orchestrator is configured to provide at least one alternative storage resource in case of failure of the at least one storage resource.

[0054] According to another aspect of the invention the at least one orchestrator is configured to operate a planner service, said planner service being configured to analyze data gathered by said at least one orchestrator and process said data in addition to a user’s requirements in order to minimize the cost of the at least one storage resource

[0055] According to another aspect of the invention, the planner service is further configured to determine the performance requirements of the dynamic storage resources provisioner system.

[0056] According to another aspect of the invention, the at least one storage resource is solid- state drive (SSD) based.

[0057] According to another aspect of the invention, the at least one storage resource is storage class memory (SCM) based.

[0058] According to another aspect of the invention, the at least one storage resource is random access memory (RAM) based. According to another aspect of the invention, the at least one storage resource is hard disk drive (HHD) based.

[0059] According to another aspect of the invention, the at least one orchestrator is a cloudbased service (SaaS).

[0060] According to another aspect of the invention, a method for dynamically provisioning storage in a distributed network environment comprises: (i) providing at least one cloud instance comprising at least one storage resource; (ii) utilizing at least one orchestrator to orchestrate disk slicing of said at least one storage resource by interacting with a disk slicing system; and (iii) dynamically allocating and deallocating by way of the at least one orchestrator the at least one storage volume to at least one disk slice created by the disk slicing system.

[0061] According to another aspect of the invention the orchestrator is configured to enable at least one user or application to link an associated cloud provider account to the dynamic storage resources provisioner system

[0062] According to another aspect of the invention the dynamic storage resources provisioner system is designated to perform operations using the cloud management interface while being identified as a user or application by the cloud provider’s systems.

[0063] According to another aspect of the invention the at least one orchestrator is configured to move data from at least one allocated or deallocated storage resource to at least one allocated or reallocated storage resource.

[0064] According to another aspect of the invention the at least one orchestrator is configured to replace at least one current storage resource with at least one equivalent storage resource having higher or lower storage capacity or performance. BRIEF DESCRIPTION OF THE FIGURES

[0065] Some embodiments of the invention are described herein with reference to the accompanying figures. The description, together with the figures, makes apparent to a person having ordinary skill in the art how some embodiments may be practiced. The figures are for the purpose of illustrative description and no attempt is made to show structural details of an embodiment in more detail than is necessary for a fundamental understanding of the invention.

[0066] In the Figures:

[0067] FIG. 1 constitutes a schematic illustration of a typical data storage system.

[0068] FIG. 2 constitutes a schematic illustration of a method for utilizing a dynamic storage resources provisioner system, according to some embodiments of the invention.

[0069] FIGS. 3A-3C constitute a schematic illustration a planner service forming a part of a dynamic storage resources provisioner system, according to some embodiments of the invention.

[0070] FIGS. 4A and 4B constitute a schematic illustration of a series of steps designated to be conducted by an orchestrator forming a part of the dynamic storage resources provisioner system, according to some embodiments of the invention.

[0071] DETAILED DESCRIPTION OF SOME EMBODIMENTS

[0072] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components, modules, units and / or circuits have not been described in detail so as not to obscure the invention. Some features or elements described with respect to one embodiment may be combined with features or elements described with respect to other embodiments. For the sake of clarity, discussion of same or similar features or elements may not be repeated.

[0073] Although embodiments of the invention are not limited in this regard, discussions utilizing terms such as, for example, “controlling” “processing,” “computing,” “calculating,” “determining,” “establishing”, “analyzing”, “checking”, “setting”, “receiving”, or the like, may refer to operation(s) and / or process(es) of a controller, a computer, a computing platform, a computing system, or other electronic computing device, that manipulates and / or transforms data represented as physical (e g., electronic) quantities within the computer's registers and / or memories into other data similarly represented as physical quantities within the computer's registers and / or memories or other information non-transitory storage medium that may store instructions to perform operations and / or processes.

[0074] Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently.

[0075] The term "Controller" as used herein, refers to any type of computing platform or component that may be provisioned with a Central Processing Unit (CPU) or microprocessors, and may be provisioned with several input / output (I / O) ports, for example, a general -purpose computer such as a personal computer, laptop, tablet, mobile cellular phone, controller chip, SoC or a cloud computing system.

[0076] The term “Node” as used herein, generally refers to systems having intersection / connection within an environment where all devices are accessible through a network. Nodes can take various forms depending on the type of network and its purpose. Here are some common examples of nodes in different types of data communication networks:

[0077] • Router: A router is a network device that forwards data packets between different networks. It examines the destination address of incoming data and determines the best path to send it to the appropriate destination.

[0078] • Switch: A switch is a network device that connects multiple devices within a local area network (LAN). It receives data packets and forwards them to the intended recipient based on the destination MAC (Media Access Control) address.

[0079] • Server: A server is a powerful computer that provides services or resources to other devices in the network. It can store data, host websites, manage email, run applications, and perform various network-related tasks.

[0080] • Computer: Any computer or computing device connected to the network can be considered a node. These include desktop computers, laptops, smartphones, tablets, and other devices that can send, receive, or process data.

[0081] • Wireless Access Point: In wireless networks, an access point serves as a central hub that enables devices to connect wirelessly to the network. It facilitates communication between wireless devices and allows them to access network resources.

[0082] • Modem: A modem is a device that converts digital data from a computer into a format suitable for transmission over a communication channel, such as a telephone line or a cable. It modulates the signals for transmitting data and demodulates them upon reception.

[0083] • Gateway: A gateway acts as an interface between different networks or protocols, allowing communication and data exchange between them. It translates data formats, manages routing, and facilitates interoperability between disparate networks. The term “Cloud management interface” as used herein, generally refers to a part of a cloud computing ecosystem, designated to provide means for consumers / user / applications to access data and metadata, components and services, device's control, configuration, status and information associated with cloud instances.

[0084] Reference is now made to FIG. 1, which schematically illustrates a typical data storage system 10. As shown, a data storage system 10 may comprise at least one target server 100 that may further comprise at least one storage media 104 and be configured to run an operating system (for example, a Linux based operating systems such as Red Hat, Suse, etc.), wherein said operating system is designated to host data accessible over a DP network.

[0085] According to some embodiments, at least one initiator server 102 may be configured to run an operating system (for example, a Linux based operating systems such as Red Hat, Suse, etc.), wherein said operating system is designated to access and be exposed to remote resource / s over the DP network.

[0086] According to some embodiments, at least one orchestrator 106 may be configured to interact with at least one target server / s 100 and / or at least one initiator server / s 102 in order to control the CP of said DP network. According to some embodiments, a designated portion of the storage media 104 forming a part of the target server 100 may be exposed to the DP network, in other words, a designated physical space is reserved and specified in order to contribute a storage space used by the DP network.

[0087] According to some embodiments, orchestrator 106 is configured to utilize the designated portion of the storage media by orchestrating storage stack (SS) components and standard storage stack (SSS) of the operating system embedded within said target / initiator server / s 100 / 102, such that the initiator server 102 is configured to interact with the target server

[0088] 100 via the DP network. According to some embodiments, data storage system 10 may be designated to perform the following steps:

[0089] • Using the operating system installed on target the storage media 104 forming a part of the target server 100 and designated to host data accessible over the DP network, wherein said storage media 104 is used to utilize a persistent storage medium,

[0090] • Using the operating system’s logical volume manager (LVM) in order to split the storage media 104 to multiple partitions,

[0091] • Using the operating system installed on at least one initiator server 102 in order to access and consume the storage media 104’ partition / s over the DP network in order to utilize a remote media’s capacity and performance,

[0092] • Using the orchestrator 106 which is configured to interact with each of said target server / s 100 and initiator server / s 102, wherein said orchestrator 106 is designated to control the CP of said DP network,

[0093] • Using the operating system to merge at least two network paths in order to utilize a single storage media partition as a single network device by creating a multipath component, and thus, enabling enhanced redundancy and efficiency.

[0094] According to some embodiments, the steps disclosed above may further include using a resource management component / s in order to provide dynamic allocation and de-allocation capabilities configured to be conducted by the operating system and affect, for example, on processor cores and / or memory pages, as well as on various types of bandwidths, computations that compete for those resources. According to some embodiments, the objective of the steps disclosed above is to allocate resources so as to optimize responsiveness subject to the finite resources available. According to some embodiments and as disclosed above, at least one initiator server 102 is configured to interact with at least two target servers 100 using a multipath connection. According to some embodiments, a multipath connection may be used to improve and enhance the connection reliability and provide a wider bandwidth.

[0095] According to some embodiments, the coordination between the initiator server / s 102 and the target server / s 100 or vice versa, may be conducted using a local orchestrator 107 component configured to manage the CP and further configured to be physically installed on each server. According to some embodiments, installing a local orchestrator 107 on each server may provide a flexible way of utilizing the data storage system 10 as well as eliminate the need to provide data storage system 10 with access to internal software and processes of a client’s servers. According to some embodiments, the operations and capabilities disclosed in the current specification with regards to orchestrator 106, may also apply to local orchestrator 107 and vice versa.

[0096] According to some embodiments, the communication between the orchestrator 106 and between either a target server 100 or the initiator server 102, may be conducted via the DP network by utilizing a designated software component installed on each of said servers.

[0097] According to some embodiments, the initiator server 102 is configured to utilize a redundant array of independent disks (RAID) storage stack component (SSC) configured to provide data redundancy originated from multiple designated portions of the storage media 104 embedded within multiple target servers 100.

[0098] According to some embodiments, the RAID SSC is further configured to provide data redundancy originated from combined multiple initiator paths originated from the designated portion of the storage media 104 of at least two target servers 100. According to some embodiments, the target servers 100 may be located at different locations, such as, in different rooms, buildings or even countries. In this case, the orchestration procedure conducted by the orchestrator 106 is allocated across different resiliency domains. For example, the orchestrator 106 may receive as input data the various parameters regarding cyber security, natural disasters, financial forecasts, etc. and divert data flow accordingly. According to some embodiments, said orchestration procedure conducted by the orchestrator 106 and configured to utilize servers’ allocation, is conducted with a consideration of maintaining acceptable system balance parameters.

[0099] According to some embodiments, the orchestrator 106 may be configured to interact with server / s 100 / 102 using an administration protocol. According to some embodiments, the designated portion of the storage media 104 may be allocated using a logical volume manager (LVM) SSC. According to some embodiments, the storage media 104 may be solid-state drive (SSD) based, storage class memory (SCM) based, random access memory (RAM) based, hard disk drive (HHD) based, etc.

[0100] According to some embodiments, the orchestrator 106 may be a physical controller device or may be a cloud-based service (SaaS) and may be configured to command and arrange data storage and traffic in interconnected servers, regardless whether orchestrator 106 is a physical device or not.

[0101] According to some embodiments, the operations on each server / s 100 / 102 may be implemented, wholly or partially, by a data processing unit (DPU), wherein said DPU may be an acceleration hardware such as an acceleration card, wherein hardware acceleration may be use in order to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU), and hence, any transformation of data that can be calculated in software running on a generic CPU can also be calculated in custom-made hardware, or in some mix of both.

[0102] According to some embodiments, under a traditional SDS, the storage stack code would rely on proprietary software, requiring separate, independent installation and maintenance, whereas data storage system 10 is configured to rely on an already installed operating system’ capabilities combined with using the orchestrator 106 discussed above.

[0103] According to some embodiments, under a traditional SDS, the control protocol would rely on proprietary software requiring separate, independent installation and maintenance, whereas the data storage system 10 is configured to rely on the operating system capabilities using the orchestrator 106 discussed above.

[0104] Under a traditional SDS, the nodes interconnect would rely on proprietary software, whereas according to some embodiments, data storage system 10 is configured to rely on standard storage protocols using the orchestrator 106 discussed above.

[0105] Under a traditional SDS, the stack model that controls the storage array system 10 uses a single proprietary code and has components interleave both DP and CP, whereas according to some embodiments, data storage system 10 is configured to utilize the operating system to execute a dummy data plane while using the orchestrator 106 disclosed above in order to emulate a CP and execute its actual operations upon (among others), the DP.

[0106] Some advantages of the various embodiments disclosed above may facilitate ultra-high performance when compared to a traditional SDS operations, for example, with regards to the number of nodes in a cluster which under data storage system 10 are expected to be unlimited.

[0107] As noted there are certain drawback and inefficiencies in coupling the together of DP and the CP with the storage when implemented in traditional networks, including SDNs. According to some embodiments, an SDN may be configured to decouple the DP from the storage, and the CP from the storage. According to some embodiments, a storage system may be built with dummy devices to forward and store data, from the CP of the network, which controls how the traffic will flow through the network while SDN is considered to enable much cheaper equipment, agility and limitless performance than other decoupling means, since more data plane resources can be flexibly added-on, such decoupling using an SDN enables scalability with no limitation and higher survivability rate due to a limited impact on the processed cluster. According to some embodiments, a single orchestrator may be provided to provide storage services to huge cluster since, data capacity, bandwidth and IOPS do not impact the CP services utilization. Such decoupled DP may be utilized for various data Services, such as: Protocols; RAID; Encryption; QoS Limits; Space Allocation; Data Reduction and others. Whereas such a decoupled CP may be utilized for various storage services and coordination, such as: Volume Lifecycle (Create, Delete, Resize, etc.); Storage Pool Management; Snapshot Coordination - Consistency Groups; Failure Monitoring; Performance Monitoring; Failure Handling.

[0108] According to some embodiments, data storage system 10 may be designated to perform the following steps to obtain an SDN based CP and CD and storage decoupling:

[0109] Using the storage CP 104 on one of servers 100, to create storage DP; Using the storage CP on server 102, to create storage DP, to connect to said server 100 and consume the exposed drive chunk;

[0110] • Using the storage CP on another server 100, to create storage DP;

[0111] • Using the storage CP on server 102, to create storage DPe, to connect to said another server 100 and consume the exposed drive chunk; Using the storage cCP on server 102, to create storage DP, that includes multipath, RAID, encryption, compression, deduplication, LVM and replication services.

[0112] Reference is now made to FIG. 2, which schematically illustrates a method for utilizing a dynamic storage resources provisioner system 20, according to some embodiments of the invention. As shown, an orchestrator 201 may comprise an algorithm configured to dictate building a cloud instance having favorable characteristics.

[0113] According to some embodiments, in order to dictate building a cloud instance, the designated algorithm may contact a catalog (not shown) that contain and specify user / application storage requirements or policy), next, a SaaS service 200 forming a part of dynamic storage resources provisioner system may utilize and initiate the request and approach a cloud provider 202 to allocate and create a media instance provisioning such as storage resources A-D 204’ s configuration which in turn form application & stack 206. According to some embodiments, the storage resource / s configuration may be a composable storage forming a cloud instance.

[0114] According to some embodiments, a significant benefit of SaaS service 200 is being able to handle the technical work for the user / application, for example, a user / application is required to be recognized by the cloud provider 202 in order to use it, for example, in a case of a faulty storage resource such as one of storage resources A-D, a user / application is only required to be identified by the SaaS service 200, which configured to manage cloud provider on its behalf.

[0115] According to some embodiments and in another example, in case storage resource D is not responding or responds with latency, SaaS service 200 may order a new storage resource and copy the data originally stored on faulty storage resource D and currently stored on another storage resource as backup to the new ordered storage resource. According to some embodiments, a user / application may instruct SaaS service 200 to multiply a storage resource / s, for example SaaS service 200 may approach the catalog and request cloud provider 202 to provide four storage resources having a doubled capacity compared to original storage instances A-D and copy the data to the new ordered instances, after completing this task, the original storage instances A-D are designated to be returned to cloud provider 202.

[0116] Reference is now made to FIG. 3A, which schematically illustrates a planner service forming a part of the dynamic storage resources provisioner system, according to some embodiments of the invention As shown, a planner service 30 in configured to allocate storage resources in accordance with the user / application requests and / or other requirements 300 in order to create input 302 resulting in a plan 306.

[0117] According to some embodiments, the requests 300 may include cloud VM list, existing storage, storage volumes / resources sizes, policies, etc.

[0118] According to some embodiments, input 302 may be designated to be analyzed by the planner service using logic / algorithm 304 (logic may refer to using logical principles and systematic reasoning in the design, implementation, and execution of systems, software, and algorithms as part of the operation of the dynamic storage resources provisioner system) that results in producing output plan 306.

[0119] Reference is now made to FIG. 3B, which schematically illustrates a planner service forming a part of the dynamic storage resources provisioner system, according to some embodiments of the invention. As shown, in step 1 the user / application 400 may create a storage volume by entering credentials and policy into the planner service 30. According to some embodiments, planner service 30 may also interact with the catalog 402 in order to create plan 306 as part of step 2, wherein orchestrator 304 is configured to create this plan as part of step 3 and further create a volume job as part of step 4, which in turn is designated to be sent to the auto provisioner service 404 as part of step 5, wherein the auto provisioner service 404 is configured to utilize storage allocation requested by a user / application along with its unique credentials inside a clients’ virtual private cloud (VPC) in order to create storage volume / resource 406 as part of step 7.

[0120] Reference is now made to FIG. 3C, which schematically illustrates a planner service forming a part of the dynamic storage resources provisioner system, according to some embodiments of the invention. A dynamic storage resources provisioner system 30 is configured to be located within a user / application’ s PVC and hence, no user / application cloud credentials are required in order to create and manipulate storage volumes / resources. As shown, upon a request by user / application 400 to create / manage a storage volume / resource in step 1, the planner service 30 may interact with the catalog 402 in order to create a plan 306 as part of step 2, wherein orchestrator 304 is configured to create said plan as part of step 3 and further configured to create a volume job as part of step 4, which in turn is designated to be sent to the auto provisioner service 404 as part of steps 5 and 6, wherein auto provisioner service 404 is already located within the user / application 400’ s VPC and configured to utilize storage allocation of a user / application 400 without the need to supply its credentials in order to create storage volume / resource / s 406 as part of steps 7 and 8.

[0121] Reference is now made to FIG. 4A, which schematically illustrates a series of steps designated to be conducted by the orchestrator forming a part of the dynamic storage resources provisioner system, according to some embodiments of the invention.

[0122] According to some embodiments, a planner service has an access to a catalog created by the benchmark engine (not shown). As shown, in operation 500 Special input / output SIO is configured to be applied by the infra planner service 502 which in turn is designated to be sent to the auto provisioner service 504 and to the user / application storage volume / resource 506 in order to create a cloud storage / resource / s 508 and store it in a designated catalog / database 510.

[0123] Reference is now made to FIG. 4B, which schematically illustrates a series of steps designated to be conducted by the orchestrator forming a part of the dynamic storage resources provisioner system when a user / application decides to delete / remove / replace a cloud storage / instance / s, according to some embodiments of the invention. As shown, in operation 600 Special input / output SIO is configured to be applied and sent to the auto provisioner service 602 in order to delete / remove / replace cloud storage / resource / s 604 and update catalog / database 606

[0124] According to some embodiments, the dynamic storage resources provisioner system may comprise a cloud management interface, at least one cloud instance that comprises at least one storage volume that comprises at least one storage resource, and at least one orchestrator.

[0125] According to some embodiments, the cloud management interface may be configured to enable allocation and de allocation of cloud resources and the cloud instance may be configured to utilize the storage volume which in turn is configured to utilize the storage resource, wherein said cloud instance is configured to run an operating system designated to host data and enable connectivity over a data plane (DP) network.

[0126] According to some embodiments, the orchestrator may be designated to control a control plane (CP) of said DP network and interact with the storage resource / s along with the cloud management interface and enable a dynamic management of storage resource / s as part of the operation of the dynamic storage resources provisioner system.

[0127] According to some embodiments, the orchestrator may be configured to constantly monitor and analyze the storage resource / s, wherein the constant monitoring and analysis is designated to focus on system’s health parameters and wherein the orchestrator may be configured to conduct real-time changes in storage resource / s’ management in accordance with the monitoring and analysis results. According to some embodiments, the real-time changes in storage resource / s’ management includes allocation and reallocation of storage resources.

[0128] According to some embodiments, the orchestrator may be granted a pre-designated permission to conduct dynamic changes in storage configuration and / or usage in accordance with an application / user’s requirements and may be further configured to replace a storage resource / s using the orchestrator and the cloud management interface.

[0129] According to some embodiments, the dynamic storage resources provisioner system may be further configured to allocate / deallocate a storage resource / s using the orchestrator and the cloud management interface, for example, the dynamic storage resources provisioner system may be configured to rebuild a storage resource / s instead of the deallocated storage resource or as part of the allocated storage resource and reallocate the built storage resource using the orchestrator and the cloud management interface. In another example, the dynamic storage resources provisioner system may be configured to move the data from the storage resource / s which is candidate to allocation / deallocation and copy it to reallocated storage resource / s using the orchestrator and the cloud management interface.

[0130] According to some embodiments, said operations disclosed above may be conducted using the orchestrator and the cloud management interface are designated to determine according to a cost-benefit analysis operable thereby.

[0131] According to some embodiments, said operations disclosed above may be conducted using the orchestrator and the cloud management interface are designated to prioritize, rate and choose available storage resource / s and / or locations of cloud instance / s. According to some embodiments, said operations disclosed above may be conducted using the orchestrator and the cloud management interface are designated to apply upon a detection of a failure / suboptimal performance of the dynamic storage resources provisioner system.

[0132] According to some embodiments, the dynamic storage resources provisioner system may be utilized using a method comprising the steps of applying an orchestrator to manage selected storage resource / s configuration and utilizing a cloud management interface to control a cloud provider’s system in order to enable dynamic management of the storage resource / s.

[0133] According to some embodiments, said method of using the orchestrator may be configured to enable a user / application to link its cloud provider’s account to the dynamic storage resources provisioner system and allocate / deallocate storage resource / s using a cloud management interface.

[0134] According to some embodiments, said method of using the dynamic storage resources provisioner system may be designated to perform operations using the cloud management interface while being identified as the user / application by the cloud provider’s systems.

[0135] According to some embodiments, said method of using the orchestrator may be configured to move data from an allocated / deallocated storage resource / s to an allocated / reallocated storage resource / s using the orchestrator and the cloud management interface.

[0136] According to some embodiments, said method of using the orchestrator may be configured to replace current storage resource / s with equivalent storage resource / s having higher / lower storage capacity / performance. According to some embodiments, said method further disclosed above may be further configure to enable each virtual private cloud (VPC) / subnet used by a user / application to be identified by the orchestrator in order to correctly allocate storage resource / s across multiple VPCs.

[0137] According to some embodiments, said method of using the orchestrator may be configured to allocate potential failure domains of storage instance / s and optimize the cloud instance / s reliability, for example, failure domains taken into account by the orchestrator are different physical locations of the storage resource / s. In another example, in a case of a failure, the orchestrator is configured to provide alternative storage resource / s while taking into account their physical locations.

[0138] According to some embodiments, the method may include utilizing a planner service is further configured to analyze various data gathered by the orchestrator and receive said data as inputs along with an application’s / user’s requirements in order to determine a minimal price forecast for the various services provided by the dynamic storage resources provisioner system.

[0139] According to some embodiments, said method of using the planner service may further be configured to determine guarantee requirements of the dynamic storage resources provisioner system.

[0140] According to some embodiments, the storage resource / s may be constructed using various technologies such as a solid-state drive (SSD) based, class memory (SCM) based, random access memory (RAM) based, hard disk drive (HHD) based, etc.

[0141] Although the present invention has been described with reference to specific embodiments, this description is not meant to be construed in a limited sense. Various modifications of the disclosed embodiments, as well as alternative embodiments of the invention will become apparent to persons skilled in the art upon reference to the description of the invention. It is, therefore, contemplated that the appended claims will cover such modifications that fall within the scope of the invention.

Claims

CLAIMS1. A dynamic storage provisioning system for managing storage in a distributed network environment, comprising:(i) at least one cloud instance that comprises at least one storage resource; and(ii) at least one orchestrator wherein at least one orchestrator is configured to orchestrate disk slicing of at least one storage resource by interacting with a disk slicing system; and wherein the at least one orchestrator is configured to dynamically de / allocate at least one storage volume to the at least one disk slice created by the disk slicing system.

2. The system of claim 1 , wherein at least one orchestrator is configured to interact with a cloud management interface.

3. The system of claim 1, wherein disk slicing system is provided by a cloud provider.

4. The system of claim 1, wherein at least one orchestrator is configured to return at least one disk slice to the cloud provider upon deletion of at least one storage volume on said at least one disk slice.

5. The system of claim 1, wherein at least one orchestrator is configured to constantly monitor and analyze at least one storage resource.

6. The system of claim 5, wherein at least one orchestrator is configured to conduct real-time replacement of at least one storage resource in accordance with the monitoring and analysis results.

7. The system of claim 6, wherein the real-time modifications of said at least one storage resource includes allocation and reallocation of the at least one storage resource in accordance with the monitoring and analysis results.

8. The system of claim 1, wherein at least one orchestrator is granted a predesignated permission by the network security system to conduct dynamic changes to the storage configuration of at least one storage resource in accordance with application or user requirements.

9. The system of claim 1, wherein at least one orchestrator is further configured to replace at least one storage resource by interacting with a cloud management interface.

10. The system of claim 1, wherein at least one orchestrator is further configured to allocate or deallocate at least one storage resources by interacting with the cloud management interface.

11. The system of claim 1, wherein at least one orchestrator is configured to rebuild at least one storage resource to augment at least one existing allocated storage resource, wherein the at least one rebuilt storage resource is reallocated by at least one orchestrator.

12. The system of claim 1, wherein at least one orchestrator is configured to move data from at least one storage resource and copy said data to said at least one reallocated storage resource.

13. The system of claim 1, wherein at least one orchestrator is designated to receive pricing data from the disk slicing system as an input for determination of optimal operating conditions.

14. The system of claim 1, wherein at least one orchestrator is designated to determine the performance characteristics and location of at least one storage resource.

15. The system of claim 1 , wherein at least one orchestrator is designated to monitor the performance of at least one storage resource and to reallocate at least one storage volume resource upon detection of failure or suboptimal performance.

16. The system of claim 1 , wherein at least one orchestrator is configured to identify a virtual private cloud (VPC) and its associated subnets used by a user / application.

17. The system of claim 1 , wherein at least one orchestrator is configured to allocate at least one storage volume across at least one failure domain of at least one storage instance.

18. The system of claim 18, wherein at least one orchestrator determines the physical location of at least one failure domain.

19. The system of claim 19, wherein at least one orchestrator is configured to provide at least one alternative storage resource in case of failure of at least one storage resource.

20. The system of claim 1, wherein at least one orchestrator is configured to operate a planner service, said planner service being configured to analyze data gathered by said at least one orchestrator and process said data in addition to a user’s requirements in order to minimize the cost of the at least one storage resource.

21. The system of claim 20, wherein the planner service is further configured to determine the performance requirements of the dynamic storage resources provisioner system.

22. The system of claim 1, wherein at least one storage resource is solid-state drive (SSD) based.

23. The system of claim 1, wherein at least one storage resource is storage class memory (SCM) based.

24. The system of claim 1, wherein at least one storage resource is random access memory (RAM) based.

25. The system of claim 1, wherein at least one storage resource is hard disk drive (HHD) based.

26. The system of claim 1, wherein at least one orchestrator is a cloud-based service (SaaS).

27. A method for dynamically provisioning storage in a distributed network environment, comprising the steps:(i) providing at least one cloud instance comprising at least one storage resource;(ii) orchestrating with at least one orchestrator disk slicing of at least one storage resource by interacting with a disk slicing system; and(iii) dynamically allocating and deallocating by at least one orchestrator at least one storage volume to at least one disk slice created by the disk slicing system.

28. The method of claim 27, further comprising the step of configuring an interaction between at least one orchestrator and a cloud management interface.

29. The method of claim 27 further comprising the step of operating a disk slicing procedure provided by a disk slicing system, the latter provided by a cloud provider.

30. The method of claim 9, further comprising the step of configuring at least one orchestrator to return at least one disk slice to the cloud provider upon the deletion of at least one storage volume on said at least one disk slice.

31. The method of claim 27, wherein orchestrator is configured to enable at least one user or application to link an associated cloud provider account to the dynamic storage resources provisioner system.

32. The method of claim 27, further comprising the step of performing operations using a cloud management interface of a cloud provider, while being identified as a user or application by said cloud provider.

33. The method of claim 27, wherein at least one orchestrator is configured to move data from at least one allocated or deallocated storage resource to at least one allocated or reallocated storage resource.

34. The method of claim 27, wherein at least one orchestrator is configured to replace at least one current storage resource with at least one equivalent storage resource having higher or lower storage capacity or performance.

Citation Information

Patent Citations

  • Technology for managing cloud storage

    US20150248418A1

  • Dynamic resource movement in heterogeneous computing environments including cloud edge locations

    US20210168203A1