IP Library Granted Patent US 12,450,174
Granted Patent B2
US 12,450,174 · App. 18/222,264 · Granted Oct 21, 2025

Allocating sessions associated with exclusive access to different fibers of a storage target

Inventors: Kushal S. Patel (Pune, IN); Gandhi Sivakumar (Bentleigh, AU); Sarvesh S. Patel (Pune, IN)
Assignee: International Business Machines Corporation
G06F12/1416G06F2212/1052
View Patent ↗
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 12,450,174
App. No.
18/222,264
Filed
Jul 14, 2023
Granted
Oct 21, 2025
Kind
B2
Art Unit
2436
USPC
726/29
Abstract

A computer-implemented method, according to one embodiment, includes receiving, from a plurality of initiators, a plurality of reservation requests for logical unit numbers (LUNs) of a storage target. Exclusive type network paths between the initiators and the LUNs requested in the reservation requests are caused to be added to a restricted path list. The method further includes determining the initiators of the plurality of initiators, that have access to at least one of the exclusive type network paths in the restricted path list. Session logout commands are caused to be sent to the determined initiators. The session logout commands instruct the determined initiators to thereafter re-log in to sessions that are logged out of as a result the determined initiators adhering to the session logout commands. The method further includes allocating a first session that a first of the determined initiators re-logs in to, to a first fiber.

Claims (42)

1. A computer-implemented method, comprising:

receiving, from a plurality of initiators, a plurality of reservation requests for logical unit numbers (LUNs) of a storage target;

causing exclusive type network paths between the initiators and the LUNs requested in the reservation requests to be added to a restricted path list;

determining, from a predetermined LUN mapping database, the initiators of the plurality of initiators, that have access to at least one of the exclusive type network paths in the restricted path list;

causing session logout commands to be sent to the determined initiators, wherein the session logout commands instruct the determined initiators to thereafter re-log in to sessions that are logged out of as a result the determined initiators adhering to the session logout commands; and

allocating a first session that a first of the determined initiators re-logs in to, to a first fiber of the storage target, wherein the allocating the first session is based on a determined number of workload operations expected to be performed during the first session, wherein the first fiber serves as an exclusive type network path between the first determined initiator and a first of the LUNs, wherein the first LUN is requested by the first determined initiator in a first of the reservation requests.

2. The computer-implemented method of claim 1 , comprising: allocating a second session that a second of the determined initiators re-logs in to, to a second fiber of the storage target, wherein the second fiber serves as an exclusive type network path between the second determined initiator and a second of the LUNs, the second LUN is requested by the second determined initiator in a second of the reservation requests.

3. The computer-implemented method of claim 2 , wherein the second session is previously allocated to the first fiber before a first of the session logout commands is sent to the second determined initiator.

4. The computer-implemented method of claim 2 , comprising: determining a workload expectation of a third session; comparing the determined workload expectation of the third session to a predetermined threshold; and in response to a determination that the determined workload expectation of the third session does not exceed the predetermined threshold, allocating the third session to the first fiber.

5. The computer-implemented method of claim 4 , comprising: in response to a determination that the determined workload expectation of the third session exceeds the predetermined threshold, allocating the third session to a third fiber of the storage target, wherein the third fiber serves as a network path to a third of the LUNs.

6. The computer-implemented method of claim 4 , wherein the predetermined threshold is selected from the group consisting of: one read operation being performed on the first LUN, and one write operation being performed on the first LUN.

7. The computer-implemented method of claim 1 , wherein the initiators are edge devices located at a first location, wherein the storage target is an edge cloud storage device located at a second location that is different than the first location.

8. The computer-implemented method of claim 1 , comprising:

causing a broadcast to be performed in a cloud environment that includes the plurality of initiators and the storage target, the broadcast including information that specifies that the storage target is active and ready to receive reservation requests;

generating a table that details active sessions and standby sessions in a network that includes the initiators and the storage target; and

updating the table based on allocations performed to fibers of the storage target.

9. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable and/or executable by a computer to cause the computer to:

cause a broadcast to be performed in a cloud environment that includes a plurality of initiators and a storage target, the broadcast including information that specifies that the storage target is active and ready to receive reservation requests;

receive, on the storage target from the plurality of initiators, a plurality of reservation requests for logical unit numbers (LUNs) of the storage target;

cause exclusive type network paths between the initiators and the LUNs requested in the reservation requests to be added to a restricted path list;

determine, from a predetermined LUN mapping database, the initiators of the plurality of initiators, that have access to at least one of the exclusive type network paths in the restricted path list;

cause session logout commands to be sent to the determined initiators, wherein the session logout commands instruct the determined initiators to thereafter re-log in to sessions that are logged out of as a result the determined initiators adhering to the session logout commands; and

allocate a first session that a first of the determined initiators re-logs in to, to a first fiber of the storage target, wherein the allocating the first session is based on a determined number of workload operations expected to be performed during the first session, wherein the first fiber serves as an exclusive type network path between the first determined initiator and a first of the LUNs, wherein the first LUN is requested by the first determined initiator in a first of the reservation requests.

10. The computer program product of claim 9 , the program instructions readable and/or executable by the computer to cause the computer to: allocate a second session that a second of the determined initiators re-logs in to, to a second fiber of the storage target, wherein the second fiber serves as an exclusive type network path between the second determined initiator and a second of the LUNs, the second LUN is requested by the second determined initiator in a second of the reservation requests.

11. The computer program product of claim 10 , wherein the second session is previously allocated to the first fiber before a first of the session logout commands is sent to the second determined initiator.

12. The computer program product of claim 10 , the program instructions readable and/or executable by the computer to cause the computer to: determine a workload expectation of a third session; compare the determined workload expectation of the third session to a predetermined threshold; and in response to a determination that the determined workload expectation of the third session does not exceed the predetermined threshold, allocate the third session to the first fiber.

13. The computer program product of claim 12 , the program instructions readable and/or executable by the computer to cause the computer to: in response to a determination that the determined workload expectation of the third session exceeds the predetermined threshold, allocate the third session to a third fiber of the storage target, wherein the third fiber serves as a network path to a third of the LUNs.

14. The computer program product of claim 12 , wherein the predetermined threshold is selected from the group consisting of: one read operation being performed on the first LUN, and one write operation being performed on the first LUN.

15. The computer program product of claim 9 , wherein the initiators are edge devices located at a first location, wherein the storage target is an edge cloud storage device located at a second location that is different than the first location.

16. The computer program product of claim 9 , the program instructions readable and/or executable by the computer to cause the computer to: generate a table that details active sessions and standby sessions in a network that includes the initiators and the storage target; and update the table based on allocations performed to fibers of the storage target.

17. A system, comprising:

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:

cause a broadcast to be performed in a cloud environment that includes a plurality of initiators and a storage target, the broadcast including information that specifies that the storage target is active and ready to receive reservation requests;

receive, on the storage target from the plurality of initiators, a plurality of reservation requests for logical unit numbers (LUNs) of the storage target;

cause exclusive type network paths between the initiators and the LUNs requested in the reservation requests to be added to a restricted path list;

determine, from a predetermined LUN mapping database, the initiators of the plurality of initiators, that have access to at least one of the exclusive type network paths in the restricted path list;

cause session logout commands to be sent to the determined initiators, wherein the session logout commands instruct the determined initiators to thereafter re-log in to sessions that are logged out of as a result the determined initiators adhering to the session logout commands; and

allocate a first session that a first of the determined initiators re-logs in to, to a first fiber of the storage target, wherein the allocating the first session is based on a determined number of workload operations expected to be performed during the first session, wherein the first fiber serves as an exclusive type network path between the first determined initiator and a first of the LUNs, wherein the first LUN is requested by the first determined initiator in a first of the reservation requests.

18. The system of claim 17 , the logic being configured to: allocate a second session that a second of the determined initiators re-logs in to, to a second fiber of the storage target, wherein the second fiber serves as an exclusive type network path between the second determined initiator and a second of the LUNs, the second LUN is requested by the second determined initiator in a second of the reservation requests.

19. The system of claim 18 , wherein the second session is previously allocated to the first fiber before a first of the session logout commands is sent to the second determined initiator.

20. The system of claim 18 , the logic being configured to: determine a workload expectation of a third session; compare the determined workload expectation of the third session to a predetermined threshold; and in response to a determination that the determined workload expectation of the third session does not exceed the predetermined threshold, allocate the third session to the first fiber.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2023
From: PATEL, KUSHAL S.; SIVAKUMAR, GANDHI; PATEL, SARVESH S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 064297/0364 →
Continuity (1)
Related Publication 20250021491A1 · Jan 16, 2025
References Cited (31)
US 7299332B1 · Misra · 2007 [cited by examiner]
US 7539711B1 · Pothapragada · 2009 [cited by examiner]
US 7716406B1 · Tyndall · 2010 [cited by examiner]
US 8301811B1 · Wigmore · 2012 [cited by examiner]
US 9910618B1 · Curley · 2018 [cited by examiner]
US 10409838B1 · George · 2019 [cited by examiner]
US 10983964B1 · Bono · 2021 [cited by examiner]
US 11005935B1 · Littlefield · 2021 [cited by examiner]
US 11249869B1 · Gupta · 2022 [cited by examiner]
US 11640241B2 · Venkatanarayanan · 2023 [cited by examiner]
US 20030004950A1 · Wils · 2003 [cited by examiner]
US 20030056063A1 · Hochmuth · 2003 [cited by examiner]
US 20030084209A1 · Chadalapaka · 2003 [cited by examiner]
US 20030188218A1 · Lubbers · 2003 [cited by examiner]
US 20050033888A1 · Qi · 2005 [cited by examiner]
US 20070022314A1 · Erasani · 2007 [cited by examiner]
US 20070028068A1 · Golding · 2007 [cited by examiner]
US 20070061454A1 · Lee · 2007 [cited by examiner]
US 20070079062A1 · Miyawaki · 2007 [cited by examiner]
US 20080034167A1 · Sharma · 2008 [cited by examiner]
US 20080059733A1 · Otani · 2008 [cited by examiner]
US 20140115182A1 · Sabaa · 2014 [cited by examiner]
US 20150317254A1 · Candelaria · 2015 [cited by examiner]
US 20220334775A1 · Stotski · 2022 [cited by examiner]
US 20240244105A1 · Sivakumar · 2024 [cited by examiner]
US 20240249031A1 · Levy · 2024 [cited by examiner]
EP 1246060A1 · 2002 [cited by applicant]
Vladimir V. Riabov; Storage Area Networks (SANs) Storage Area Networks (SANs); Rivier College; Year:2003; pp. 1-11. [cited by examiner]
Zhu et al., “A SCSI3 Persistent Reservation Synchronization Solution for iSCSI Targets Cluster Hosting Ceph RBD with Active/Active Connections,” IEEE 4th Information Technology, Networking, Electronic and Automation Con… [cited by applicant]
NetApp, “What are SCSI Reservations and SCSI Persistent Reservations?” NetApp Kmowledge Base, 2022, 27 pages, retrieved from https://kb.netapp.com/onprem/ontap/da/SAN/What_are_SCSI_Reservations_and_SCSI_Persistent_Reser… [cited by applicant]
Seagate, “Cloud Compute and Cloud Storage Architectures,” Seagate, 2023, 14 pages, retrieved from https://www.seagate.com/blog/cloud-compute-and-cloud-storage-architecture-master-ti/. [cited by applicant]