Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system

US9916275B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9916275-B2
Application numberUS-201514641889-A
CountryUS
Kind codeB2
Filing dateMar 9, 2015
Priority dateMar 9, 2015
Publication dateMar 13, 2018
Grant dateMar 13, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, computing systems and computer program products implement embodiments of the present invention that include configuring distributed storage system resources for a distributed storage system. Examples of the storage system resources include a plurality of network segments, one or more network devices coupled to the network, and multiple nodes coupled to the network, the nodes including both frontend and backend nodes. Upon receiving, by a given frontend node in the distributed storage system, an input/output (I/O) request, one or more of the distributed storage system resources required to process the I/O request are identified, and a respective load that the I/O request will generate on each of the identified distributed storage system resources is calculated. The distributed storage system processes the I/O request upon detecting that the respective loads are less than respective available capacities of the identified distributed storage system resources.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: configuring distributed storage system resources for a distributed storage system, the distributed storage system resources comprising a network comprising a plurality of network segments, multiple nodes coupled to the network, and one or more network devices coupled to the network; receiving, by a given node of the distributed storage system, an input/output (I/O) request; identifying one or more of the distributed storage system resources required to process the I/O request; calculating a respective load that the I/O request will generate on each of the identified distributed storage system resources; and processing the I/O request upon detecting that the respective loads are less than respective available capacities of the identified distributed storage system resources; wherein a respective capacity is defined for each of the distributed storage system resources; and further wherein detecting that the respective loads are less than respective available capacities of the distributed storage system resources comprises identifying, by the given node, one or more processes currently employing the identified distributed storage system resources, and determining, for each of the one or more processes, a respective utilization for each of the identified distributed storage system resources. 2. The method according to claim 1 , wherein each of the nodes is selected from a list consisting of a frontend node and a backend node, and wherein the given node comprises a given frontend node. 3. The method according to claim 1 , and comprising determining a respective amount of time each of the processes will be employing each of the identified distributed storage system resources. 4. The method according to claim 3 , and comprising, upon detecting that the respective loads are greater than respective available capacities of the identified distributed storage system resources, determining, based on the respective amounts of time, a subsequent time when the respective loads will be less than respective available capacities of the identified distributed storage system resources, and scheduling the I/O request for processing at the subsequent time. 5. A distributed storage system, comprising: multiple distributed storage system resources comprising a network of multiple network segments, multiple nodes coupled to the network, and one or more network devices coupled to the network, a given node being configured: to receive an input/output (I/O) request; to identify one or more of the distributed storage system resources required to process the I/O request; to calculate a respective load that the I/O request will generate on each of the identified one or more distributed storage system resources; and to process the I/O request upon detecting that the respective one or more loads are less than respective one or more available capacities of the one or more identified distributed storage system resources; wherein a respective capacity is defined for each of the distributed storage system resources; and further wherein the given node is configured to detect that the respective loads are less than respective available capacities of the distributed storage system resources by identifying, by the given node, one or more processes currently employing the identified distributed storage system resources, and determining, for each of the one or more processes, a respective utilization for each of the identified distributed storage system resources. 6. The distributed storage system according to claim 5 , wherein each of the nodes is selected from a list consisting of a frontend node and a backend node, and wherein the given node comprises a given frontend node. 7. The distributed storage system according to claim 5 , wherein the given node is configured to determine a respective amount of time each of the processes will be employing each of the identified distributed storage system resources. 8. The distributed storage system according to claim 7 , wherein, upon detecting that the respective loads are greater than respective available capacities of the identified distributed storage system resources, the given node is configured to determine, based on the respective amounts of time, a subsequent time when the respective loads will be less than respective available capacities of the identified distributed storage system resources, and to schedule the I/O request for processing at the subsequent time. 9. A computer program product, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured to arrange distributed storage system resources for a distributed storage system, the distributed storage system resources comprising a network comprising a plurality of network segments, multiple nodes coupled to the network, and one or more network devices coupled to the network; computer readable program code configured to receive, by a given node, an input/output (I/O) request; computer readable program code configured to identify one or more of the distributed storage system resources required to process the I/O request; computer readable program code configured to calculate a respective load that the I/O request will generate on each of the identified distributed storage system resources; and computer readable program code configured to processing the I/O request upon detecting that the respective loads are less than respective available capacities of the identified distributed storage system resources; wherein a respective capacity is defined for each of the distributed storage system resources; and further wherein the computer readable program code is configured to detect that the respective loads are less than respective available capacities of the distributed storage system resources by identifying, by the given node, one or more processes currently employing the identified distributed storage system resources, and determining, for each of the one or more processes, a respective utilization for each of the identified distributed storage system resources. 10. The computer program product according to claim 9 , wherein each of the nodes is selected from a list consisting of a frontend node and a backend node, and wherein the given node comprises a given frontend node. 11. The computer program product according to claim 9 , and comprising computer readable program code configured to determine a respective amount of time each of the processes will be employing each of the identified distributed storage system resources, and, upon detecting that the respective loads are greater than respective available capacities of the identified distributed storage system resources, to determine, based on the respective amounts of time, a subsequent time when the respective loads will be less than respective available capacities of the identified distributed storage system resources, and to schedule the I/O request for processing at the subsequent time.

Assignees

Inventors

Classifications

  • Load balancing · CPC title

  • by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title

  • in relation to response time · CPC title

  • being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9916275B2 cover?
Methods, computing systems and computer program products implement embodiments of the present invention that include configuring distributed storage system resources for a distributed storage system. Examples of the storage system resources include a plurality of network segments, one or more network devices coupled to the network, and multiple nodes coupled to the network, the nodes including …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F13/4221. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 13 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).