Online Storage Upgrade via Block Device Driver Queuing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing elastic computing cloud systems face inefficiencies and user experience issues during upgrades, as they require temporary service unavailability and long downtime, disrupting ongoing transactions and compromising high availability.

Innovation Solution

Implementing an online upgrade approach using a block device driver apparatus that maintains two queues for each block device service, allowing data write/read requests to be queued and processed without interruption, enabling seamless service upgrades without shutting down virtual servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing technology suspends services of each virtual server to perform storage service upgrade, then the upgrade can be completed, but service availability deteriorates and upgrade time increases

Engineering Contradiction:
Improveservice availabilityVSAvoidupgrade time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the storage service upgrade process into multiple independent phases: (1) creating a copy of the original block device, (2) applying upgrades to the copy, (3) verifying the copy, and (4) switching to the copy. This segmentation allows the upgrade to proceed without suspending virtual server services, as each phase can be executed independently while the original service continues to operate.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by creating a copy of the block device before suspending services. The copy is prepared, upgraded, and verified in advance while the original service continues to operate. This preliminary preparation ensures that when the switch occurs, the upgraded service is ready to take over immediately, minimizing service interruption time.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If existing technology suspends virtual server services for upgrade, then service stability is maintained, but user experience deteriorates due to transaction termination

Engineering Contradiction:
Improveservice stabilityVSAvoiduser experience
Core Design Contradiction:
Stability of the object's compositionVSEase of operation

Solution Approach 1:

The patent ensures continuous service operation during the upgrade process by maintaining the original block device as the active service source while the copy is being prepared and upgraded. Virtual servers continue to access and operate on the original block device without interruption, ensuring ongoing transactions can complete naturally. The switch to the upgraded copy occurs only after verification, maintaining service stability while improving user experience.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If existing technology uses traditional upgrade process, then service upgrade is achieved, but system complexity increases due to coordination requirements

Engineering Contradiction:
Improveservice availabilityVSAvoidupgrade process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a copy block device as an intermediary during the upgrade process. This intermediary serves as a buffer between the original service and the upgrade operation, allowing the upgrade to be applied to the copy while the original continues to serve requests. The intermediary copy absorbs the complexity of the upgrade process, including verification and potential rollback scenarios, while the original service remains simple and stable.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8447894B2Upgrading an elastic computing cloud system
Publication Date: 2013.05.21 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US8447894B2 patent drawing
  • US8447894B2 patent drawing
  • US8447894B2 patent drawing

AI summary

A server of an elastic computing cloud system includes a block device driver apparatus and at least a block device service apparatus. The server implements a hot deployment for a storage service, such that an upgrade of the storage service may be performed without interrupting the storage service. The block device driver apparatus maintains a waiting queue and a pending queue for each storage service. In response to determining a storage service will perform an upgrade, the block device driver apparatus stops processing data write/read requests that are maintained in the pending queue for the service, and puts the data write/read requests that are currently processed in the pending queue back to the waiting queue for re-dispatching, thus realizing completion of processing the upgrade of the storage service in the elastic computing cloud system without interrupting the storage service.