IP Library Granted Patent US 12,517,746
Granted Patent B2
US 12,517,746 · App. 18/771,021 · Granted Jan 6, 2026

Hot growing a cloud hosted block device

Inventors: Igor Belianski (Sammamish, WA); Jay Judkowitz (San Jose, CA); Andrew Kadatch (Redmond, WA)
Assignee: Google LLC
G06F9/45545G06F3/0644G06F3/067G06F2009/45579
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,517,746
App. No.
18/771,021
Granted
Jan 6, 2026
Kind
B2
Abstract

A method of resizing a block storage volume for a virtual machine includes executing the virtual machine and attaching a virtual storage device to the virtual machine. The virtual storage device exposes the block storage volume on memory hardware to the virtual machine. The block storage volume includes a first storage capacity. The method also includes mounting the block storage volume to the virtual machine and resizing the block storage volume while the virtual machine continues to execute. The block storage volume is resized without attaching an additional virtual storage device to the virtual machine or mounting an additional block storage volume to the virtual machine.

Claims (34)

1 . A method comprising:

executing, by data processing hardware, an instance;

attaching, by the data processing hardware, a virtual storage device to the instance, wherein the virtual storage device includes a partition and a root persistent disk being associated with a block storage volume having an initial storage capacity, wherein the root persistent disk stores an operating system that is actively executing on the instance;

receiving, by the data processing hardware and from a user, a request to increase the initial storage capacity of the block storage volume to an increased storage capacity; and

while the operating system stored on the root persistent disk is actively executing on the instance:

increasing, by the data processing hardware, the block storage volume of the root persistent disk from the initial storage capacity to the increased storage capacity without attaching an additional virtual storage device to the instance; and

extending, by an operating system tool executing on the data processing hardware, the partition based on the increased storage capacity.

2 . The method of claim 1 , wherein the operations further comprise generating, by the data processing hardware, a directory structure logically mapping the block storage volume to the virtual storage device.

3 . The method of claim 1 , wherein the operations further comprise removing, by the data processing hardware, a subset of the block storage volume from the instance while the instance continues to execute.

4 . The method of claim 1 , wherein the virtual storage device comprises two or more partitions.

5 . The method of claim 1 , wherein increasing the block storage volume from the initial storage capacity to the increased storage capacity occurs without mounting an additional block storage volume to the instance.

6 . The method of claim 1 , wherein the request comprises an application programming interface (API) request.

7 . The method of claim 1 , wherein the request comprises a service provider platform request.

8 . The method of claim 1 , wherein attaching the virtual storage device to the instance includes establishing, by the data processing hardware, a logical connection between the virtual storage device and an instance monitor hosting the instance.

9 . The method of claim 1 , wherein the operations further comprise configuring, by the data processing hardware, user access of the block storage volume through the instance.

10 . The method of claim 1 , wherein the virtual storage device spans one or more storage devices from a plurality of storage devices, and wherein increasing the block storage volume from the initial storage capacity to the increased storage capacity comprises allocating, by the data processing hardware, additional storage capacity from the plurality of storage devices to the block storage volume.

11 . A system comprising:

data processing hardware; and

memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to:

execute an instance;

attach a virtual storage device to the instance, wherein the virtual includes a partition and a root persistent disk being associated with a block storage volume configured with an initial storage capacity, wherein the root persistent disk stores an operating system that is actively executing on the instance;

receive, from a user, a request to increase the initial storage capacity of the block storage volume to an increased storage capacity; and

while the operating system stored on the root persistent disk is actively executing on the instance:

increase the block storage volume of the root persistent disk from the initial storage capacity to the increased storage capacity, wherein an additional virtual storage device is not attached to the instance; and

extend, by an operating system tool, the partition based on the increased storage capacity.

12 . The system of claim 11 , wherein the instructions further cause the data processing hardware to generate a directory structure logically mapping the block storage volume to the virtual storage device.

13 . The system of claim 11 , wherein the instructions further cause the data processing hardware to remove a subset of the block storage volume from the instance while the instance continues to execute.

14 . The system of claim 11 , wherein the virtual storage device comprises two or more partitions.

15 . The system of claim 11 , wherein the instructions that cause the data processing hardware to increase the block storage volume from the initial storage capacity to the increased storage capacity without mounting an additional block storage volume to the instance.

16 . The system of claim 11 , wherein the request comprises an application programming interface (API) request.

17 . The system of claim 11 , wherein the request comprises a service provider platform request.

18 . The system of claim 11 , wherein the instructions further cause the data processing hardware to attach the virtual storage device to the instance by establishing a logical connection between the virtual storage device and an instance monitor hosting the instance.

19 . The system of claim 11 , wherein the instructions further cause the data processing hardware to configure user access of the block storage volume through the instance.

20 . The system of claim 11 , wherein the virtual storage device spans one or more storage devices from a plurality of storage devices, and wherein the instructions that cause the data processing hardware to increase the block storage volume from the initial storage capacity to the increased storage capacity further includes instructions that cause the data processing hardware to allocate additional storage capacity from the plurality of storage devices to the block storage volume.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2024
From: BELIANSKI, IGOR; JUDKOWITZ, JAY; KADATCH, ANDREW
To: GOOGLE, INC.
Reel/Frame 067975/0984 →
CHANGE OF NAME Recorded Jul 12, 2024
From: GOOGLE, INC.
To: GOOGLE LLC
Reel/Frame 068353/0472 →
Continuity (6)
Continuation 18328751 · Jun 4, 2023
Continuation 17448203 · Sep 20, 2021
Continuation 16804633 · Feb 28, 2020
Continuation 15703295 · Sep 13, 2017
Provisional Application 62395924 · Sep 16, 2016
Related Publication 20240362046A1 · Oct 31, 2024
References Cited (24)
US 8443166B2 · Czezatke et al. · 2013 [cited by applicant]
US 8726273B2 · Le · 2014 [cited by applicant]
US 9128745B2 · Crudele · 2015 [cited by examiner]
US 9304828B2 · Nakajima et al. · 2016 [cited by applicant]
US 9317313B2 · Srinivasan · 2016 [cited by applicant]
US 9921765B2 · Kurtin · 2018 [cited by applicant]
US 9952845B2 · DeHaan · 2018 [cited by examiner]
US 10268593B1 · Olson et al. · 2019 [cited by applicant]
US 20090307458A1 · Nogueras · 2009 [cited by examiner]
US 20110201314A1 · Marsico · 2011 [cited by examiner]
US 20120144391A1 · Ueda · 2012 [cited by applicant]
US 20140047208A1 · Morse · 2014 [cited by applicant]
US 20150254319A1 · Modukuri et al. · 2015 [cited by applicant]
US 20160062787A1 · Joshi et al. · 2016 [cited by applicant]
US 20160203027A1 · Challa et al. · 2016 [cited by applicant]
US 20160266844A1 · Ogawa · 2016 [cited by applicant]
US 20160299695A1 · Chen · 2016 [cited by examiner]
US 20160373821A1 · Nair · 2016 [cited by examiner]
US 20170371568A1 · Aravot et al. · 2017 [cited by applicant]
US 20190012110A1 · Okano et al. · 2019 [cited by applicant]
US 20200220792A1 · Dippenaar et al. · 2020 [cited by applicant]
US 20230080046A1 · Paul et al. · 2023 [cited by applicant]
WO 2010030996A1 · 2010 [cited by applicant]
USPTO. Office Action relating to U.S. Appl. No. 17/448,203, dated Nov. 16, 2022. [cited by applicant]