Clientless software defined grid

US10554749B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10554749-B2
Application numberUS-201414569316-A
CountryUS
Kind codeB2
Filing dateDec 12, 2014
Priority dateDec 12, 2014
Publication dateFeb 4, 2020
Grant dateFeb 4, 2020

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 multiple servers coupled to a network as a software defined storage (SDS) grid. A first given server receives, via the network, an input/output (I/O) request from a host computer, and determines a location of data associated with the I/O request. In some embodiments, each of the servers maintains a local grid data map that store locations for all data managed by the SDS grid. Upon identifying, in its respective local grid data map, that a second given server is configured to process the I/O request, the first given server forwards the I/O request to the second given server for processing, and upon receiving a result of the I/O request from the second given server, the first given server conveys the result of the I/O request to the host computer.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: configuring multiple servers coupled to a network as a software defined storage (SDS) grid, the SDS grid comprising the multiple servers storing a grid data map of a data distribution among the multiple servers of the SDS grid; wherein the grid data map stores a plurality of entries, each of the plurality of entries including a data identifier and a server identifier; receiving, by a first given server of the SDS grid, an input/output (I/O) request from a host computer via the network; wherein the host computer connects to the SDS grid over a standard Internet Small Computer Systems Interface (iSCSI) protocol such that the host computer does not execute a specialized kernel driver nor client software to access data stored within the SDS grid; and wherein the host computer does not have access to the grid data map indicating the data distribution of the data stored among the multiple servers of the SDS grid; and upon identifying that a second given server of the SDS grid is configured to process the I/O request, forwarding the I/O request to the second given server; wherein identifying the second given server comprises performing, by the first given server, a calculation comprising an algorithm that uses a Logical Block Address (LBA) received with the I/O request such that the LBA is used as an input parameter to the calculation, and wherein a result of the calculation, when used in conjunction with the grid data map, indicates the second given server by locating a given one of the plurality of entries in the grid data map which matches the data identifier according to the result of the calculation and retrieving the server identifier associated with the second given server. 2. The method according to claim 1 , and comprising receiving, by the first given server from the second given server, a result of the I/O request, and forwarding the result to the host computer. 3. The method according to claim 2 , wherein forwarding the I/O request comprises forwarding a data request to the second given server, and wherein the result of the I/O request comprises a result of the data request. 4. The method according to claim 3 , wherein identifying the second given server comprises locating a given entry whose data identifier matches the data request, and wherein the respective server identifier in the given entry indicates the second given server. 5. A data facility, comprising: a network; one or more host computers coupled to the network; and multiple servers coupled to the network, and configured as a software defined storage (SDS) grid, the SDS grid comprising the multiple servers storing a grid data map of a data distribution among the multiple servers of the SDS grid; wherein the grid data map stores a plurality of entries, each of the plurality of entries including a data identifier and a server identifier, each of the servers comprising: multiple storage devices, and a processor configured: to receive at a receiving server of the SDS grid, from a given host computer, an input/output (I/O) request; wherein the host computer connects to the SDS grid over a standard Internet Small Computer Systems Interface (iSCSI) protocol such that the host computer does not execute a specialized kernel driver nor client software to access data stored within the SDS grid; and wherein the host computer does not have access to the grid data map indicating the data distribution of the data stored among the multiple servers of the SDS grid, and upon identifying that a given server of the SDS grid, different from the receiving server is configured to process the I/O request, to forward the I/O request to the given server; wherein identifying the second given server comprises performing, by the first given server, a calculation comprising an algorithm that uses a Logical Block Address (LBA) received with the I/O request such that the LBA is used as an input parameter to the calculation, and wherein a result of the calculation, when used in conjunction with the grid data map, indicates the second given server by locating a given one of the plurality of entries in the grid data map which matches the data identifier according to the result of the calculation and retrieving the server identifier associated with the second given server. 6. The data facility according to claim 5 , wherein the processor is configured to receive, from the given server, a result of the I/O request, and to forward the result to the given host computer. 7. The data facility according to claim 6 , wherein the processor is configured to forward the I/O request by forwarding a data request to the second given server, and wherein the result of the I/O request comprises a result of the data request. 8. The data facility according to claim 7 , wherein the processor is configured to identify the second given server by locating a given entry whose data identifier matches the data request, and wherein the respective server identifier in the given entry indicates the second given server. 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 multiple servers coupled to a network as a software defined storage (SDS) grid, the SDS grid comprising the multiple servers storing a grid data map of a data distribution among the multiple servers of the SDS grid; wherein the grid data map stores a plurality of entries, each of the plurality of entries including a data identifier and a server identifier; computer readable program code executing on a first given server of the SDS grid and configured to receive an input/output (I/O) request from a host computer via the network; wherein the host computer does connects to the SDS grid over a standard Internet Small Computer Systems Interface (iSCSI) protocol such that the host computer does not execute a specialized kernel driver nor client software to access data stored within the SDS grid; and wherein the host computer not have access to the grid data map indicating the data distribution of the data stored among the multiple servers of the SDS grid; and computer readable program code configured, upon identifying that a second given server of the SDS grid is arranged to process the I/O request, to forward the I/O request to the second server; wherein identifying the second given server comprises performing, by the first given server, a calculation comprising an algorithm that uses a Logical Block Address (LBA) received with the I/O request such that the LBA is used as an input parameter to the calculation, and wherein a result of the calculation, when used in conjunction with the grid data map, indicates the second given server by locating a given one of the plurality of entries in the grid data map which matches the data identifier according to the result of the calculation and retrieving the server identifier associated with the second given server. 10. The computer program product according to claim 9 , and comprising computer readable program code executing on the first given server and configured to receive, from the second given server, a result of the I/O request, and to forward the result to the host computer. 11. The computer program product according to claim 10 , wherein the computer readable program code is configured to forward the I/O request by forwarding a data request to the second given server, and wherein the result of the I/O request comprises a result of the data request. 12. The computer program product according to

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

  • G06F9/5033Primary

    considering data affinity · CPC title

  • 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 US10554749B2 cover?
Methods, computing systems and computer program products implement embodiments of the present invention that include configuring multiple servers coupled to a network as a software defined storage (SDS) grid. A first given server receives, via the network, an input/output (I/O) request from a host computer, and determines a location of data associated with the I/O request. In some embodiments, …
Who is the assignee on this patent?
IBM
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 Feb 04 2020 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).