Storage area network based extended I/O metrics computation for deep insight into application performance
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-003/06
H04L-029/08
G06F-013/10
출원번호
US-0451139
(2017-03-06)
등록번호
US-10254991
(2019-04-09)
발명자
/ 주소
Bharadwaj, Harsha
출원인 / 주소
CISCO TECHNOLOGY, INC.
대리인 / 주소
Polsinelli PC
인용정보
피인용 횟수 :
0인용 특허 :
222
초록▼
A method is described and in one embodiment includes monitoring by an integrated circuit device READ/WRITE commands in connection with a flow of an application executing in a Fiber Channel Storage Area Network (“FC-SAN”); determining from the monitored READ/WRITE commands at least one metric for cha
A method is described and in one embodiment includes monitoring by an integrated circuit device READ/WRITE commands in connection with a flow of an application executing in a Fiber Channel Storage Area Network (“FC-SAN”); determining from the monitored READ/WRITE commands at least one metric for characterizing I/O performance of the application with respect to a storage device, wherein the at least one metric includes at least one of an inter I/O gap (“IIG”), a Logical Unit Number (“LUN”) I/O access pattern (“IAP”), relative block size, I/O operations per second (“IOPS”) and throughput, and IOPS per virtual server; storing the calculated at least one metric in a flow record associated with the flow; and using the calculated at least one metric to identify a storage device for use by the flow, wherein the calculated at least one metric is indicative of a performance of the application in the FC-SAN.
대표청구항▼
1. A method comprising: monitoring by an integrated circuit device READ/WRITE commands in connection with a flow of an application executing in a Fibre Channel Storage Area Network (“FC-SAN”);determining from the monitored READ/WRITE commands a Logical Unit Number (“LUN”) I/O access pattern (“IAP”),
1. A method comprising: monitoring by an integrated circuit device READ/WRITE commands in connection with a flow of an application executing in a Fibre Channel Storage Area Network (“FC-SAN”);determining from the monitored READ/WRITE commands a Logical Unit Number (“LUN”) I/O access pattern (“IAP”), comprising: determining an LBA identified in a first I/O command;determining an LBA identified in an immediately subsequent I/O command;designating the LUN IAP as sequential if the LBA identified in the first I/O command is one less than the LBA identified in the immediately subsequent I/O command; anddesignating the LUN IAP as random if the LBA identified in the first I/O command is not one less than the LBA identified in the immediately subsequent I/O access;storing the calculated at least one metric in a flow record associated with the flow; andusing the calculated at least one metric to identify a storage device for use by the flow;wherein the calculated at least one metric is indicative of a performance of the application in the FC-SAN. 2. The method of claim 1, wherein the at least one metric includes an inter I/O gap (“IIG”), and determining the IIG comprises: detecting timestamps associated with immediately successive READ/WRITE commands; anddetermining a time difference between the detected timestamps;wherein the determined time difference comprises an interim IIG for the immediately successive READ/WRITE commands. 3. The method of claim 2, wherein the determining the IIG further comprises: repeating the detecting and determining for a plurality of immediately successive READ/WRITE commands of the flow to determine a plurality of interim IIGs; anddetermining from the plurality of interim IIGs at least one of a maximum IIG, a minimum IIG, and an average IIG for the flow. 4. The method of claim 1, wherein the at least one metric includes a relative block size, and determining relative block size comprises: determining a LUN block size from a field in a response to a SCSI command issued by the application;determining a total number of I/O bytes indicated in a data length field of an I/O command issued by the application;comparing the LUN block size with the number of bytes to determine whether a mismatch exists between the LUN block size and the number of bytes. 5. The method of claim 1, wherein the at least one metric includes I/O operations per second (“IOPS”) and throughput, and determining IOPS and throughput comprises at least one of: tracking a number of READ operations performed per second;tracking a number of WRITE operations performed per second; andtracking an amount of data read from the storage device per second; andtracking an amount of data written to the storage device per second. 6. The method of claim 1, wherein the at least one metric includes IOPS per virtual server, and determining IOPS per virtual server comprises: tracking a number of READ operations performed per second with respect to a first virtual server;tracking a number of WRITE operations performed per second with respect to the first virtual server. 7. The method of claim 1, wherein the integrated circuit device comprises a network processing unit (“NPU”) disposed in an FC switch. 8. One or more non-transitory tangible media that includes code for execution and when executed by a processor is operable to perform operations comprising: monitoring by an integrated circuit device READ/WRITE commands in connection with a flow of an application executing in a Fibre Channel Storage Area Network (“FC-SAN”);determining from the monitored READ/WRITE commands a Logical Unit Number (“LUN”) I/O access pattern (“IAP”), comprising: determining an LBA identified in a first I/O command;determining an LBA identified in an immediately subsequent I/O command;designating the LUN IAP as sequential if the LBA identified in the first I/O command is one less than the LBA identified in the immediately subsequent I/O command; anddesignating the LUN IAP as random if the LBA identified in the first I/O command is not one less than the LBA identified in the immediately subsequent I/O access;storing the calculated at least one metric in a flow record associated with the flow; andusing the calculated at least one metric to identify a storage device for use by the flow;wherein the calculated at least one metric is indicative of a performance of the application in the FC-SAN. 9. The apparatus of claim 8, wherein the at least one metric includes an inter I/O gap (“IIG”), and determining the IIG comprises: detecting timestamps associated with immediately successive READ/WRITE commands; anddetermining a time difference between the detected timestamps, wherein the determined time difference comprises an interim IIG for the immediately successive READ/WRITE commands;repeating the detecting and determining for a plurality of immediately successive READ/WRITE commands of the flow to determine a plurality of interim IIGs; anddetermining from the plurality of interim IIGs at least one of a maximum IIG, a minimum IIG, and an average IIG for the flow. 10. The apparatus of claim 8, wherein the at least one metric includes a relative block size, and determining relative block size comprises: determining a LUN block size from a field in a response to a SCSI command issued by the application;determining a total number of I/O bytes indicated in a data length field of an I/O command issued by the application;comparing the LUN block size with the number of bytes to determine whether a mismatch exists between the LUN block size and the number of bytes. 11. The apparatus of claim 8, wherein the at least one metric includes I/O operations per second (“IOPS”) and throughput, and determining IOPS and throughput comprises at least one of: tracking a number of READ operations performed per second;tracking a number of WRITE operations performed per second; andtracking an amount of data read from the storage device per second; andtracking an amount of data written to the storage device per second. 12. The apparatus of claim 8, wherein the at least one metric includes IOPS per virtual server, and determining IOPS per virtual server comprises: tracking a number of READ operations performed per second with respect to a first virtual server;tracking a number of WRITE operations performed per second with respect to the first virtual server. 13. An apparatus comprising: a memory element configured to store data; anda processor operable to execute instructions associated with the data;the apparatus configured for: monitoring by an integrated circuit device READ/WRITE commands in connection with a flow of an application executing in a Fibre Channel Storage Area Network (“FC-SAN”);determining from the monitored READ/WRITE commands a Logical Unit Number (“LUN”) I/O access pattern (“IAP”), comprising: determining an LBA identified in a first I/O command;determining an LBA identified in an immediately subsequent I/O command;designating the LUN IAP as sequential if the LBA identified in the first I/O command is one less than the LBA identified in the immediately subsequent I/O command; anddesignating the LUN IAP as random if the LBA identified in the first I/O command is not one less than the LBA identified in the immediately subsequent I/O access;storing the calculated at least one metric in a flow record associated with the flow; andusing the calculated at least one metric to identify a storage device for use by the flow;wherein the calculated at least one metric is indicative of a performance of the application in the FC-SAN. 14. The apparatus of claim 13, wherein the at least one metric includes an inter I/O gap (“IIG”), and determining the IIG comprises: detecting timestamps associated with immediately successive READ/WRITE commands; anddetermining a time difference between the detected timestamps, wherein the determined time difference comprises an interim IIG for the immediately successive READ/WRITE commands;repeating the detecting and determining for a plurality of immediately successive READ/WRITE commands of the flow to determine a plurality of interim IIGs; anddetermining from the plurality of interim IIGs at least one of a maximum IIG, a minimum IIG, and an average IIG for the flow. 15. The apparatus of claim 13, wherein the determining the LUN IAP further comprises: determining an LBA identified in a first I/O command;determining an LBA identified in an immediately subsequent I/O command;designating the LUN LAP as sequential lithe LBA identified in the first I/O command is one less than the LBA identified in the immediately subsequent I/O command; anddesignating the LUN IAP as random if the LBA identified in the first I/O command is not one less than the LBA identified in the immediately subsequent I/O access. 16. The apparatus of claim 13, wherein the at least one metric includes a relative block size, and determining relative block size comprises: determining a LUN block size from a field in a response to a SCSI command issued by the application;determining a total number of I/O bytes indicated in a data length field of an I/O command issued by the application;comparing the LUN block size with the number of bytes to determine whether a mismatch exists between the LUN block size and the number of bytes. 17. The apparatus of claim 13, wherein the at least one metric includes I/O operations per second (“IOPS”) and throughput, and determining IOPS and throughput comprises at least one of: tracking a number of READ operations performed per second;tracking a number of WRITE operations performed per second; andtracking an amount of data read from the storage device per second; andtracking an amount of data written to the storage device per second. 18. The apparatus of claim 13, wherein the at least one metric includes IOPS per virtual server, and determining IOPS per virtual server comprises: tracking a number of READ operations performed per second with respect to a first virtual server;tracking a number of WRITE operations performed per second with respect to the first virtual server.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (222)
Anderson, Michael H.; Mann, Sarah, Accelerated erasure coding system and method.
Pangal,Gururaj; Schmitz,Michael B.; Ravindran,Vinodh; McClanahan,Edward D., Apparatus and method for data virtualization in a storage processing device.
Smith Ralph S. (Forest Grove OR) Kruegeer William J. (Redmond WA), Apparatus and method for enabling a network interface to dynamically assign an address to a connected computer and to es.
Coronado,Juan A.; Kalos,Matthew J.; Nordahl,Donald M.; Ripberger,Richard A., Apparatus and method to control access to logical volumes using parallel access volumes.
McGrath, Michael P.; Hicks, Matthew; Wiest, Thomas; McPherson, Daniel C., Application partitioning in a multi-tenant platform-as-a-service environment in a cloud computing system.
Molloy,Christopher L; Quesenberry,Gary M; Robinson,Robert, Automatic data interpretation and implementation using performance capacity management framework over many servers.
Mestery, Kyle Andrew Donald; Chang, David; Anantha, Murali, Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment.
Dupont, Laurent; Charnock, Elizabeth B.; Roberts, Steve; Amesefe, Eli Yawo; Schon, Keith Eric; Oehrle, Richard Thomas, Continuous anomaly detection based on behavior modeling and heterogeneous information analysis.
Dasu, Santa; Pitta, Srinivas; Talagadadeevi, Venkata Ramana, Diagnosis and throughput measurement of fibre channel ports in a storage area network environment.
Brendel, Juergen; Marino, Christopher C.; Amor, Patrick; Kothari, Pritesh, Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks.
Rosset, Sebastien T.; Kewalram, Suresh Kumar, Hybrid fibre channel storage with end-to-end storage provisioning and external connectivity in a storage area network environment.
St. Pierre Edgar J. ; Gill Alton ; Mutalik Madhav ; Wallace John, Method and apparatus for backing up data before updating the data and for restoring from the backups.
Hilla Stephen C. ; Edwards James M. ; Masterson Timothy F. ; Jennings William E., Method and apparatus for generating error detection data for encapsulated frames.
Bergman Julian J. ; Kennett Scott W. ; Roths John D. ; Thorup Karl L., Method and apparatus for global positioning system based cooperative location system.
Gross, Danny Brice; O'Donnell, Michael Douglas; Borgeson, Brian L., Method and apparatus for simultaneous online access of volume-managed data storage.
Aamer Latif ; Rodney N. Mullendore ; Joseph L. White ; Brian Y. Uchino, Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network.
Head, Michael R.; Kochut, Andrzej; Schulz, Charles O.; Shaikh, Hidayatullah H., Method and system for abstracting non-functional requirements based deployment of virtual machines.
Cabrera, Luis Felipe; Oltean, Paul; Golds, David P.; Steiner, Stefan R., Method and system for providing common coordination and administration of multiple snapshot providers.
Gunlock, Richard D.; Burris, Dustin D., Method for recovery of paths between storage area network nodes with probationary period and desperation repair.
Williams, Brent Ashley; Abel, John; Nolan, Keith Matthew; Palermo, Keith; Demarest, Scott, Method of regulating a flow of data in a communication system and apparatus therefor.
Pesola, Troy Raymond; Kavuri, Ravi Kumar; Booth, Michael W., Method, system, and product for maintaining within a virtualization system a historical performance database for physical devices.
Chandrasekaran, Varagur V.; Sivakolundu, Ramesh; Fong, Dennis Kai-Fat, Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network.
Chandrasekaran, Varagur V.; Sivakolundu, Ramesh; Fong, Dennis Kai-Fat, Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network.
Bramhall, Walter; Dekoning, Rodney A.; Delaney, William P.; Jantz, Ray, Methods and apparatus for seamless firmware update and propagation in a dual raid controller system.
Jayaraman, Raja; Rizzo, James A.; Chandra, Rakesh; Velayudhan, Vinu; Nguyen, Phillip V., Methods and structure for load balancing of background tasks between storage controllers in a clustered storage environment.
Sharma, Samar; Gai, Silvano; Dutt, Dinesh; Kumar, Sanjaya; Mahajan, Umesh, Mirroring mechanisms for storage area networks and network based virtualization.
Igarashi,Yoichiro; Yamamura,Shinya; Kakemizu,Mitsuaki; Murata,Kazunori; Wakamoto,Masaaki, Network system with dynamic service profile updating functions.
Bono, Jean-Pierre; Corniquet, Frederic; de Forest, Miles A.; Tummala, Himabindu; Forrester, Walter C., Providing multi-tenancy within a data storage apparatus.
Young Paul R. (Cromwell CT) Solari Peter L. (Lebanon CT) Shumski Gregory J. (Colchester CT) So Yin Cheung (Fremont CA), Redundant array of solid state memory devices.
Yanai, Moshe; Vishlitzky, Natan; Alterescu, Bruno; Castel, Daniel D. C.; Shklarsky, Gadi G., Remote data mirroring system using local and remote write pending indicators.
Norman Robert D. (San Jose CA) Lofgren Karl M. J. (Newport Beach CA) Stai Jeffrey D. (Placentia CA) Gupta Anil (Irvine CA) Mehrotra Sanjay (Milpitas CA), Solid state memory system including plural memory chips and a serialized bus.
Blumenau Steven M. ; Raz Yoav, Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement.
Reuter, James M.; St. Martin, Andrew C.; Wrenn, Richard F., Structure and process for distributing SCSI LUN semantics across parallel distributed components.
Gottumukkula, Aditya; Kadam, Vishal P.; Balakrishnan, Nivetha; Bhat, Rohit G., System and method for dynamic maintenance of fabric subsets in a network.
Kirschner, Wesley A.; Sisson, Robert W.; Hurd, John A.; Jacobson, Gary S., System and method for efficient uncorrectable error detection in flash memory.
Andreasson,Eva, System and method for garbage collection in a computer system, which uses reinforcement learning to adjust the allocation of memory space, calculate a reward, and use the reward to determine further .
Swanson,Sheldon Keith John; MacQueen,Kenneth Glenn, System and method for managing configurable elements of devices in a network element and a network.
Chang, David Wei-Shen; Patra, Abhijit; Bagepalli, Nagaraj A.; Anantha, Murali; Zhang, Jason Zhen, System and method for migrating application virtual machines in a network environment.
Kedem Nadav,ILX ; Bitner Haim,ILX, System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility.
Prahlad,Anand; Kavuri,Srinivas; Madeira,Andre Duque; Lunde,Norman R.; Bunte,Alan G.; May,Andreas; Schwartz,Jeremy, Systems and methods for generating a storage-related metric.
Lagar-Cavilla, Horacio Andres; Bryant, Roy; Hiltunen, Matti; Irzak, Olga; Joshi, Kaustubh; Scannell, Adin Matthew; Tumanov, Alexey; de Lara, Eyal, Tagging a copy of memory of a virtual machine with information for fetching of relevant portions of the memory.
Banga,Gaurav; Smith,Mark; Muhlestein,Mark, Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses.
Mukkara, Umasankar; Xavier, Felix; Balaram, Srivibhavan; Bam, Shailesh, Techniques for providing tenant based storage security and service level assurance in cloud storage environment.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.