Symmetric connectivity over SCSI where the initiator and target are symmetric

US10528408B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10528408-B2
Application numberUS-201815913213-A
CountryUS
Kind codeB2
Filing dateMar 6, 2018
Priority dateMar 6, 2018
Publication dateJan 7, 2020
Grant dateJan 7, 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.

A mechanism is provided in a data processing system comprising a processor and a memory, the memory comprising instructions that are executed by the processor to specifically configure the processor to implement an initiator entity in a symmetric split-direction connection. The initiator entity generates a custom keepalive command and sends the custom keepalive command to a target entity via the symmetric split-direction connection. Responsive to the initiator entity determining a number of consecutive acknowledgement commands received in response to custom keepalive commands exceed a first threshold, the initiator entity reports the symmetric split-direction connection as sufficient. Responsive to the initiator entity determining a second number of consecutive keepalive commands sent without receiving an acknowledgement is greater than a second threshold, the initiator entity reports the symmetric split-direction connection as insufficient.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, in a data processing system comprising a processor and a memory, the memory comprising instructions that are executed by the processor to specifically configure the processor to implement an initiator entity in a symmetric split-direction connection, the method comprising: generating, by the initiator entity, a custom keepalive command; sending the custom keepalive command from the initiator entity to a target entity via the symmetric split-direction connection; responsive to the initiator entity determining a first number of consecutive acknowledgement commands received exceeds a first threshold, reporting, by the initiator entity, the symmetric split-direction connection as sufficient to its central entity; and responsive to the initiator entity determining a second number of consecutive keepalive commands sent without receiving an acknowledgement is greater than a second threshold, reporting, by the initiator entity, the symmetric split-direction connection as insufficient to its central entity. 2. The method of claim 1 , wherein the initiator entity generates and sends the custom keepalive command periodically in response to expiration of a timer at the initiator entity. 3. The method of claim 1 , wherein the custom keepalive command is a custom small computer system interface (SCSI) command comprising a command descriptor block, wherein the command descriptor block comprises a subcommand identifier, a sequence number, a success count, and failure flag, wherein the success counter indicates the number of consecutive acknowledgement responses received, and wherein the failure flag indicates to the target entity whether the initiator entity is reporting the symmetric split-direction connection as insufficient. 4. The method of claim 1 , wherein the values of the first threshold and the second threshold are chosen such that identifying a failure is quick and such that recovering from a failed connection takes significantly longer than identifying the failure. 5. The method of claim 4 , wherein the first threshold is at least twice the second threshold. 6. The method of claim 1 , further comprising incrementing, by the initiator entity, a success counter responsive to receiving a consecutive acknowledgement. 7. The method of claim 1 , wherein determining the second number of consecutive keepalive commands sent without receiving an acknowledgement comprises subtracting a sequence number corresponding to a last received acknowledgement from a sequence number of a last sent keepalive command. 8. The method of claim 1 , wherein the target entity monitors for keepalive commands and sends acknowledgements to the initiator entity for each keepalive command received from the initiator entity. 9. The method of claim 8 , wherein the target entity reports the symmetric split-direction connection as insufficient responsive to expiration of a timer without receiving a keepalive packet; and wherein the target entity reports the symmetric split-direction connection as sufficient responsive to determining a number of consecutive keepalive commands received is greater than a threshold. 10. The method of claim 9 , wherein the target entity determines the number of consecutive keepalive commands using a success counter. 11. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on at least one processor of a data processing system, causes the data processing system to implement an initiator entity in a symmetric split-direction connection, wherein the computer readable program causes the data processing system to: generate, by the initiator entity, a custom keepalive command; send the custom keepalive command from the initiator entity to a target entity via the symmetric split-direction connection; responsive to the initiator entity determining a first number of consecutive acknowledgement commands received exceeds a first threshold, report, by the initiator entity, the symmetric split-direction connection as sufficient to its central entity; and responsive to the initiator entity determining a second number of consecutive keepalive commands sent without receiving an acknowledgement is greater than a second threshold, report, by the initiator entity, the symmetric split-direction connection as insufficient to its central entity. 12. The computer program product of claim 11 , wherein the initiator entity generates and sends the custom keepalive command periodically in response to expiration of a timer at the initiator entity. 13. The computer program product of claim 11 , wherein the custom keepalive command is a custom small computer system interface (SCSI) command comprising a command descriptor block, wherein the command descriptor block comprises a subcommand identifier, a sequence number, a success count, and failure flag, wherein the success counter indicates the first number of consecutive acknowledgement commands received, wherein the failure flag indicates to the target entity whether the initiator entity is reporting the symmetric split-direction connection as insufficient. 14. The computer program product of claim 11 , wherein the values of the first threshold and the second threshold are chosen such that identifying a failure is quick and such that recovering from a failed connection takes significantly longer than identifying the failure. 15. The computer program product of claim 14 , wherein the first threshold is at least twice the second threshold. 16. The computer program product of claim 11 , wherein the computer readable program further causes the data processing system to increment, by the initiator entity, a success counter responsive to receiving a consecutive acknowledgement. 17. The computer program product of claim 11 , wherein determining the second number of consecutive keepalive commands sent without receiving an acknowledgement comprises subtracting a sequence number corresponding to a last received acknowledgement from a sequence number of a last sent keepalive command. 18. The computer program product of claim 11 , wherein the target entity monitors for keepalive commands and sends acknowledgements to the initiator entity for each keepalive command received from the initiator entity. 19. The computer program product of claim 18 , wherein the target entity reports the symmetric split-direction connection as insufficient responsive to expiration of a timer without receiving a keepalive command; and wherein the target entity reports the symmetric split-direction connection as sufficient responsive to determining a number of consecutive keepalive commands received is greater than a threshold. 20. An apparatus comprising: a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to implement an initiator entity in a symmetric split-direction connection, wherein the instructions cause the processor to: generate, by the initiator entity, a custom keepalive command; send the custom keepalive command from the initiator entity to a target entity via the symmetric split-direction connection; responsive to the initiator entity determining a first number of consecutive acknowledgement commands received exceeds a first threshold, report, by the initiator entity, the symmetric split-direction connection as sufficient to its central entity; and responsive to the initiato

Assignees

Inventors

Classifications

  • by exceeding a count or rate limit, e.g. word- or bit count limit · CPC title

  • Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers · CPC title

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

  • in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; 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], H04L67/1097) · CPC title

  • Synchronisation and timing concerns (synchronisation on a memory bus G06F13/4234) · 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 US10528408B2 cover?
A mechanism is provided in a data processing system comprising a processor and a memory, the memory comprising instructions that are executed by the processor to specifically configure the processor to implement an initiator entity in a symmetric split-direction connection. The initiator entity generates a custom keepalive command and sends the custom keepalive command to a target entity via th…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/0757. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 07 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).