Storage system and method for connection-based load balancing

US10313431B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10313431-B2
Application numberUS-201615361450-A
CountryUS
Kind codeB2
Filing dateNov 27, 2016
Priority dateDec 15, 2015
Publication dateJun 4, 2019
Grant dateJun 4, 2019

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.

A load balancing method for a storage system includes receiving a log-in request from a client via a data network and a network adapter, using a control thread executed by one of a plurality of cores to assign a first connection between the client and a first data thread, and receiving I/O requests from the client and controlling the execution of one or more operations by a first core in response to the I/O requests. The plurality of cores includes a first core executing a first data thread and a second core executing a second data thread.

First claim

Opening claim text (preview).

What is claimed is: 1. A load balancing method executed by a storage system comprising: a plurality of cores including a first core executing a first data thread and a second core executing a second data thread, and a network adapter connecting a data network to the plurality of cores, the method comprising: receiving a log-in request from a client via the data network and the network adapter; assigning, using a control thread executed by one of the plurality of cores, a first connection between the client and the first data thread in response to the log-in request; and executing, with the first core, all operations associated with requests received from the client via the first connection. 2. The load balancing method of claim 1 , further comprising: monitoring at least one of input/output (I/O) throughputs for the first and second cores, latencies for the first and second data threads, and I/O throughput limits for the first and second data threads, wherein the assigning of the first connection between the client and the first data thread is based on the at least one of the I/O throughputs for the first and second cores, the latencies for the first and second data threads, the I/O throughput limits for the first and second data threads, and an I/O throughput requirement for the client. 3. The load balancing method of claim 2 , wherein the control thread is executed by one of the first core and the second core. 4. The load balancing method of claim 2 , wherein: the first data thread comprises a first sub-thread executed by the first core and a second sub-thread executed by the first core, and the first sub-thread receives all input requests among the requests received from the client via the first connection and the second sub-thread receives all output requests among the requests received from the client via the first connection. 5. The load balancing method of claim 2 , further comprising: negotiating, by the control thread and upon receiving the log-in request from the client, with the client to determine the I/O throughput requirement for the client, wherein the assigning of the first connection between the client and the first data thread is performed only after determining the I/O throughput requirement for the client. 6. The load balancing method of claim 5 , wherein the negotiating by the control thread with the client includes an iterative exchange of information defining the I/O throughput requirement for the client. 7. The load balancing method of claim 2 , wherein the monitoring of the at least one of the I/O throughputs for the first and second cores, the latencies for the first and second data threads, and the I/O throughput limits for the first and second data threads is performed periodically according to a schedule or in response to a monitoring event. 8. A load balancing method executed by a storage system, the storage system comprising: a processor subsystem including a first core executing a first data thread and a second core executing a second data thread, and a network adapter connecting a data network to the processor subsystem and including a first work queue and a second work queue, the method comprising: receiving a first log-in request from a first client, a second log-in request from a second client, and a third log-in request from a third client via the data network and the network adapter; assigning, using a control thread executed by the processor subsystem, a first connection between the first client and the first data thread in response to the first log-in request, a second connection between the second client and the second data thread in response to the second log-in request, and a third connection between the third client and the first data thread in response to the third log-in request; executing all operations associated with first requests received from the first client via the first connection with the first core; and executing all operations associated with second requests received from the third client via the third connection with the first core, wherein the assigning of the first connection and the assigning of the third connection by the control thread respectively comprise configuring the network adapter such that the first requests received from the first client and the second requests received from third client are stored in the first work queue, and the first work queue is read by the first data thread. 9. The load balancing method of claim 8 , wherein: the first data thread schedules execution of the first requests and the second requests stored in the first work queue according to a weighted scheduling scheme, and at least one of the first requests has a priority different from at least one of the second requests. 10. The load balancing method of claim 8 , wherein the configuring of the network adapter comprises referencing a direction table stored in the network adapter and updating, by the control thread, the direction table upon respectively assigning the first connection, second connection and third connection. 11. The load balancing method of claim 8 , further comprising: monitoring at least one of input/output (I/O) throughputs for the first and second cores, latencies for the first and second data threads, and I/O throughput limits for the first and second data threads, wherein the assigning of the first connection, the second connection and the third connection is based on the at least one of the I/O throughputs for the first and second cores, the latencies for the first and second data threads, the I/O throughput limits for the first and second data threads, and a first I/O throughput requirement for the first client, a second I/O throughput requirement for the second client, and a third I/O throughput requirement for the third client. 12. The load balancing method of claim 11 , further comprising: negotiating, by the control thread and upon receiving the first log-in request, with the first client to determine the first I/O throughput requirement, negotiating, by the control thread and upon receiving the second log-in request, with the second client to determine the second I/O throughput requirement, and negotiating, by the control thread and upon receiving the third log-in request, with the third client to determine the third I/O throughput requirement. 13. The load balancing method of claim 8 , further comprising migrating, using the control thread, the third connection from the first data thread to the second data thread by reassigning the third connection to the second data thread. 14. The load balancing method of claim 8 , further comprising swapping, using the control thread, the third connection and second connection by reassigning the third connection from the first data thread to the second data thread and reassigning the second connection from the second data thread to the first data thread. 15. A storage system connected via a data network to a client, the storage system comprising: a processor subsystem including a first core executing a first data thread and a second core executing a second data thread, wherein either the first core or the second core executes a control thread; and a network adapter that connects the data network to the processor subsystem, wherein: in response to receiving a log-in request from a client via the data network, the control thread configures the network adapter to assign a connection between the client and the first data thread, and the first core executes all operations associated with requests received from the client via the connection. 16. The storage syst

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Electricity · mapped topic

  • for accessing one among a plurality of replicated servers · 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 US10313431B2 cover?
A load balancing method for a storage system includes receiving a log-in request from a client via a data network and a network adapter, using a control thread executed by one of a plurality of cores to assign a first connection between the client and a first data thread, and receiving I/O requests from the client and controlling the execution of one or more operations by a first core in respon…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 04 2019 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).