Abstract:
Methods, computing systems and computer program products implement embodiments of the present invention that include assigning multiple storage resources to a reserve pool, and defining one or more storage policy parameters that include allocation policies and deallocation policy parameters. A software defined storage (SDS) controller is initialized by allocating, from the reserve pool, one or more of the storage resources to the SDS controller, and a current state of the SDS controller is monitored. In a first embodiment, upon detecting that the state of the SDS controller meets a given allocation policy parameter, an additional storage resource from the reserve pool is allocated from the reserve pool to the SDS controller. In a second embodiment, upon detecting that the state of the SDS controller meets a given deallocation policy parameter, a given the SDS controller is deallocated from the SDS controller and released back to the storage pool.
Abstract:
Exemplary method, system, and computer program product embodiments for efficient state tracking for clusters are provided. In one embodiment, by way of example only, in a distributed shared memory architecture, an asynchronous calculation of deltas and the views is performed while concurrently receiving client requests and concurrently tracking the client requests times. The results of the asynchronous calculation may be applied to each of the client requests that are competing for data of the same concurrency during a certain period with currently executing client requests. Additional system and computer program product embodiments are disclosed and provide related advantages.
Abstract:
Methods, computing systems and computer program products implement embodiments of the present invention that include associating a token with a computing device, defining preferences for the computing device, and conveying, by the computing device, the token and the preferences to an event processing system. Upon the event processing system, an event message from a computing system via a one-way firewall and matching the computing device preferences to the event message, the event processing system can convey the token and the event message to a push notification system. In some embodiments, upon the push notification service receiving the token and the event message, the mobile device can be identified based on the token, and the event message can be conveyed to the computing device. The event messages may include a severity level, and the preferences may include a severity threshold and a message detail level.
Abstract:
Exemplary method, system, and computer program product embodiments for efficient state tracking for clusters are provided. In one embodiment, by way of example only, in a distributed shared memory architecture, an asynchronous calculation of deltas and the views is performed while concurrently receiving client requests and concurrently tracking the client requests times. The results of the asynchronous calculation may be applied to each of the client requests that are competing for data of the same concurrency during a certain period with currently executing client requests. A latency is bound for the client requests by a time necessitated for the asynchronous calculation of at least two of the deltas where a first state snapshot is atomically taken while simultaneously calculating the at least two of the deltas.
Abstract:
Exemplary method, system, and computer program product embodiments for efficient state tracking for clusters are provided. In one embodiment, by way of example only, in a distributed shared memory architecture, an asynchronous calculation of deltas and the views is performed while concurrently receiving client requests and concurrently tracking the client requests times. The results of the asynchronous calculation may be applied to each of the client requests that are competing for data of the same concurrency during a certain period with currently executing client requests. A latency is bound for the client requests by a time necessitated for the asynchronous calculation of at least two of the deltas where a first state snapshot is atomically taken while simultaneously calculating the at least two of the deltas.
Abstract:
Methods, computing systems and computer program products implement embodiments of the present invention that include defining a plurality of failure domains for sets of storage devices in a storage facility, and defining, using the failure domains, one or more limitations for distributing data on the storage devices. Upon identifying a data distribution configuration for a software defined storage system that is compliant with the one or more limitations, the identified data distribution configuration can be presented to a user. The failure domains may include physical failure domains, logical failure domains, or a combination of physical and logical failure domains, and the limitations may include mandatory limitations or a combination of mandatory and non-mandatory limitations. In embodiments including non-mandatory limitations, the data distribution configuration may not comply with all the non-mandatory limitations, and any non-mandatory limitations that are not met can be flagged and presented to the user.
Abstract:
Methods, computing systems and computer program products implement embodiments of the present invention that include configuring a first storage system to mirror first storage regions to corresponding second storage regions in a second storage system via a first data connection, and to mirror the first storage regions to corresponding third storage regions in a third storage system via a second data connection. Upon the second storage system receiving, subsequent to detecting a failure of the first storage system, a host I/O request to retrieve data from a given second storage region and determining that the respective timestamp of the corresponding third storage region on the third storage system is more recent than the respective timestamp of the given second storage region on the second storage system, the second storage system retrieves, via a third data connection, the data from the corresponding third storage region on the third storage system.
Abstract:
Methods, computing systems and computer program products implement embodiments of the present invention that include configuring multiple servers coupled to a network as a software defined storage (SDS) grid. A first given server receives, via the network, an input/output (I/O) request from a host computer, and determines a location of data associated with the I/O request. In some embodiments, each of the servers maintains a local grid data map that store locations for all data managed by the SDS grid. Upon identifying, in its respective local grid data map, that a second given server is configured to process the I/O request, the first given server forwards the I/O request to the second given server for processing, and upon receiving a result of the I/O request from the second given server, the first given server conveys the result of the I/O request to the host computer.
Abstract:
Methods, apparatus and computer program products implement embodiments of the present invention that include conveying first data from local regions of a local volume of a local storage system to a remote storage system having a remote volume with remote regions in a one-to-one correspondence with the local regions. While conveying the first data, a request is received to update a given local region, and the given local region is marked. Subsequent to conveying the first data, a local snapshot referencing the local regions is created, and second data is conveyed from the marked local region to the remote storage system.
Abstract:
Methods, computing systems and computer program products implement embodiments of the present invention that include detecting a loss of communication with a given storage node among multiple storage nodes in a distributed computing system. Upon detecting the loss of communication, a log including updates to the data stored in the given storage node is recorded and, the recorded updates can be applied to the given storage node upon communication with the given storage node being reestablished. In some embodiments, the distributed storage system may be configured as a software defined storage system where the storage nodes can be implemented as either virtual machines or software containers. In additional embodiments, upon detecting the loss of communication, a redistribution of the mirrored data among remaining storage nodes is initiated upon detecting the loss of communication, and the redistribution is rolled back upon reestablishing the communication.