IP Library › Patent Application 18374148
Patent Application
App. No. 18/374,148

DYNAMIC BILLING BASED ON STORAGE POOL ALLOCATION FOR BLOCK STORAGE

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 None
App. No.
18/374,148
Abstract

An apparatus method for dynamic billing of block storage based allocation includes a processor and computer readable media storing code. The code is executable by the processor to perform operations that include, in response to an allocation request to a client system via an allocation API over a computer network, receiving from the client system an allocated amount of block storage that is allocated to a server of the client system. The block storage is inaccessible over the computer network. The allocation request is repeated at a first interval. The operations include collecting, during a second interval, an allocated amount for each first interval, averaging the allocated amounts of the first intervals to create an averaged allocation, preparing a bill for the second interval, the bill derived from the averaged allocation and a storage allocation rate, and transmitting the bill to a user of the client system.

Claims (41)

1 . An apparatus comprising:

a processor; and

non-transitory computer readable storage media storing code, the code being executable by the processor to perform operations comprising:

in response to an allocation request to a client system via an allocation application programming interface (“API”) over a computer network, receiving from the client system an allocated amount of block storage that is allocated to a server of the client system, the block storage being inaccessible over the computer network, the allocated amount less than or equal to a total storage capacity of the block storage, wherein the allocation request is repeated at a first interval;

collecting, during a second interval, an allocated amount for each first interval;

averaging the allocated amounts of the first intervals to create an averaged allocation;

preparing a bill for the second interval, the bill derived from the averaged allocation and a storage allocation rate; and

transmitting the bill to a user of the client system.

2 . The apparatus of claim 1 , wherein an API agent of the allocation API runs on the server of the client system.

3 . The apparatus of claim 2 , wherein the API agent accesses the allocated amount of the block storage via an operating system running on the server and transmits the allocated amount.

4 . The apparatus of claim 2 , wherein contents of the block storage and an amount of the allocated amount of the block storage currently in use are inaccessible through the API agent.

5 . The apparatus of claim 1 , wherein the second interval corresponds to a billing period and the first interval comprises a time period less than or equal to the billing period.

6 . The apparatus of claim 1 , the operations further comprising:

comparing one of the received allocation amount received via the allocation API or the averaged allocation to an allocation threshold; and

in response to the received allocation amount or the averaged allocation meeting or exceeding the allocation threshold, transmitting a message to a system administrator, the message triggering an action to add additional block storage to the block storage at the client system.

7 . The apparatus of claim 1 , wherein the received allocation amount received via the allocation API is less than an available amount of data storage on the block storage.

8 . The apparatus of claim 1 , wherein the block storage comprises a non-volatile computer readable media device available to be mounted by the server over a client network of the client system and wherein the block storage becomes local storage to the server after mounting.

9 . The apparatus of claim 1 , wherein the block storage comprises a plurality of non-volatile data storage devices in a storage area network (“SAN”) available to the server as a local data storage device.

10 . The apparatus of claim 1 , wherein a server transmitting the allocation request, receiving the allocated amount, collecting the allocation amount for each first interval, averaging the allocation amounts, preparing the bill, and transmitting the bill is part of a billing system and is remote from the client system.

11 . A method comprising:

in response to an allocation request to a client system via an allocation application programming interface (“API”) over a computer network, receiving from the client system an allocated amount of block storage that is allocated to a server of the client system, the block storage being inaccessible over the computer network, the allocated amount less than or equal to a total storage capacity of the block storage, wherein the allocation request is repeated at a first interval;

collecting, during a second interval, an allocated amount for each first interval;

averaging the allocated amounts of the first intervals to create an averaged allocation;

preparing a bill for the second interval, the bill derived from the averaged allocation and a storage allocation rate; and

transmitting the bill to a user of the client system.

12 . The method of claim 11 , wherein an API agent of the allocation API runs on the server of the client system.

13 . The method of claim 12 , wherein the API agent accesses the allocated amount of the block storage via an operating system running on the server and transmits the allocated amount and/or wherein contents of the block storage and an amount of the allocated amount of the block storage currently in use are inaccessible through the API agent.

14 . The method of claim 11 , wherein the second interval corresponds to a billing period and the first interval comprises a time period less than or equal to the billing period.

15 . The method of claim 11 , further comprising:

comparing one of the received allocation amount received via the allocation API or the averaged allocation to an allocation threshold; and

in response to the received allocation amount or the averaged allocation meeting or exceeding the allocation threshold, transmitting a message to a system administrator, the message triggering an action to add additional block storage to the block storage at the client system.

16 . The method of claim 11 , wherein the received allocation amount received via the allocation API is less than an available amount of data storage on the block storage.

17 . The method of claim 11 , wherein the block storage comprises a non-volatile computer readable media device available to be mounted by the server over a client network of the client system and wherein the block storage becomes local storage to the server after mounting.

18 . The method of claim 11 , wherein the block storage comprises a plurality of non-volatile data storage devices in a storage area network (“SAN”) available to the server as a local data storage device.

19 . The method of claim 11 , wherein a server transmitting the allocation request, receiving the allocated amount, collecting the allocation amount for each first interval, averaging the allocation amounts, preparing the bill, and transmitting the bill is part of a billing system and is remote from the client system.

20 . A program product comprising a non-transitory computer readable storage medium storing code, the code being configured to be executable by a processor to perform operations comprising:

in response to an allocation request to a client system via an allocation application programming interface (“API”) over a computer network, receiving from the client system an allocated amount of block storage that is allocated to a server of the client system, the block storage being inaccessible over the computer network, the allocated amount less than or equal to a total storage capacity of the block storage, wherein the allocation request is repeated at a first interval;

collecting, during a second interval, an allocated amount for each first interval;

averaging the allocated amounts of the first intervals to create an averaged allocation;

preparing a bill for the second interval, the bill derived from the averaged allocation and a storage allocation rate; and

transmitting the bill to a user of the client system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2024
From: LENOVO GLOBAL TECHNOLOGY (UNITED STATES) INC.
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
Reel/Frame 067929/0952 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2023
From: MOSQUEIRA, NADIA CECILIA; SELTZER, DAVID D.
To: LENOVO GLOBAL TECHNOLOGY (UNITED STATES) INC.
Reel/Frame 065064/0919 →