methods, system and computer products for user-managed multi-path performance in balanced or unbalanced fabric configurations. Exemplary embodiments include a path priority selection method, including selecting a first i/O data path to be a highest priority path in a storage area network system, selecting a second i/O data path to be a low priority path, selecting an i/O threshold value, the i/O threshold value indicating that i/O data load is excessive, directing the load balance of i/O traffic to the first i/O data path, thereby placing the second i/O data path in a standby state, monitoring the first i/O data path, determining if the first i/O data path has reached the threshold value and performing a controlled failover of the first i/O data path to the second i/O data path when an i/O data load on the first data path has reached the threshold value.
|
5. A path priority selection method, comprising:
assigning a medium priority to paths in a storage area network, wherein the medium priority is between a highest priority and a lowest priority;
selecting at least one of a high and a low priority for the paths in the storage area network;
directing a load i/O balance of the storage area network to a path having the high priority; and
selecting a path for an i/O load based on a path selection algorithm when more than one path has the high priority, the path selection algorithm including at least one of load-balancing and round-robin,
wherein if there is only one path of the one or more paths having the high priority, all i/O traffic is biased to the only one high priority path,
wherein the first i/O data path has a faster speed than the second i/O data path, and
wherein the second i/O data path remains online when the second i/O data path does not have any i/O traffic directed to it.
1. A path priority selection method, comprising:
directing, in a storage area network system, all i/O traffic among a first i/O data path, and a second i/O data path, both the first and second i/O data paths have a default medium priority, wherein the default medium priority is between a highest priority and a lowest priority;
selecting the first i/O data path to be a highest priority path, wherein all i/O traffic is biased to the highest priority path;
selecting the second i/O data path to be a low priority path, in which no i/O traffic is directed with an availability of the highest priority path to receive all of the i/O traffic;
selecting an i/O threshold value, the i/O threshold value indicating that i/O data load is excessive;
directing the load balance of i/O traffic to the first i/O data path, thereby placing the second i/O data path in a standby state;
monitoring the first i/O data path;
determining if the first i/O data path has reached the threshold value; and
performing a controlled failover of the first i/O data path to the second i/O data path when an i/O data load on the first data path has reached the threshold value,
wherein the first i/O data path has a faster speed than the second i/O data path, and wherein the second i/O data path remains online when the second i/O data path does not have any i/O traffic directed to it.
12. A path priority selection system, comprising:
a storage device;
a plurality of adapters;
a plurality of paths disposed between and communicatively coupling the storage device and the plurality of adapters, the plurality of paths having a default medium priority, wherein the default medium priority is between a highest priority and a lowest priority; and
a device driver configured to:
set a path priority among the plurality of paths, the path priority including at least one of a low priority and a high priority;
direct all i/O traffic among a first i/O data path of the plurality of paths, and a second i/O data path of the plurality of paths;
select the first i/O data path to be a highest priority path in, wherein all i/O traffic is biased to the highest priority path;
select the second i/O data path to be a low priority path, in which no i/O traffic is directed with an availability of the highest priority path to receive all of the i/O traffic;
select an i/O threshold value, the i/O threshold value indicating that an i/O data load is excessive;
direct the load balance of i/O traffic to the first i/O data path, thereby placing the second i/O data path in a standby state;
monitor the first i/O data path;
determine if the first i/O data path has reached the threshold value; and
perform a controlled failover of the first i/O data path to the second i/O data path when an i/O data load on the first data path has reached the threshold value.
8. A computer program product including a non-transitory computer readable medium storing instructions for causing a computer to implement a path priority selection method, the method comprising:
directing, in a storage area network system, all i/O traffic among a first i/O data path, and a second i/O data path, both the first and second i/O data paths have a default medium priority, wherein the default medium priority is between a highest priority and a lowest priority;
selecting the first i/O data path to be a highest priority path, wherein all i/O traffic is biased to the highest priority path;
selecting the second i/O data path to be a low priority path, in which no i/O traffic is directed with an availability of the highest priority path to receive all of the i/O traffic;
selecting an i/O threshold value, the i/O threshold value indicating that i/O data load is excessive;
directing the load balance of i/O traffic to the first i/O data path, thereby placing the second i/O data path in a standby state;
monitoring the first i/O data path;
determining if the first i/O data path has reached the threshold value; and
performing a controlled failover of the first i/O data path to the second i/O data path when an i/O data load on the first data path has reached the threshold value,
wherein the first i/O data path has a faster speed than the second i/O data path, and wherein the second i/O data path remains online when the second i/O data path does not have any i/O traffic directed to it.
2. The method as claimed in
4. The method as claimed in
identifying an outstanding i/O on the first i/O data path exceeding the queue depth value; and
redirecting i/O requests to the second i/O data path.
6. The method as claimed in
7. The method as claimed in
selecting all paths of the high priority for the i/O load;
selecting all paths of a next highest priority for the i/O load if all paths of the high priority have failed; and
selecting all paths of a lowest priority for the i/O load if all the paths of the next highest priority have failed.
9. The computer program product as claimed in
10. The computer program product as claimed in
11. The computer program product as claimed in
identifying an outstanding i/O on the first i/O data path exceeding the queue depth value; and
redirecting i/O requests to the second i/O data path.
13. The system as claimed in
14. The system as claimed in
16. The system as claimed in
identifying an outstanding i/O on the first i/O data path exceeding the queue depth value; and
redirecting i/O requests to the second i/O data path.
17. The system as claimed in
select at least one of a high and a low priority for the plurality of paths in the storage area network;
direct a load i/O balance of the storage area network to a path having the high priority; and
select a path for an i/O load based on a path selection algorithm when more than one path has the high, the path selection algorithm including at least one ofload-balancing and round-robin.
18. The system as claimed in
19. The system as claimed in
20. The system as claimed in
21. The system as claimed in
select all paths of the high priority for the i/O load;
select all paths of a next highest priority for the i/O load if all paths of the high priority have failed; and
select all paths of a lowest priority for the i/O load if all the paths of the next highest priority have failed.
|
IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
1. Field of the Invention
This invention relates to storage network systems, and particularly to user-managed multi-path performance in balanced or unbalanced fabric configurations.
2. Description of Background
Currently, component performance variants and characteristics, scalability issues and high availability of storage area network (SAN) environments present challenges to system administrators. Performance variants include adapter, switch port and host processor speeds. Performance variants can also be caused by the configuration design, where the number of hops in the I/O path is unequal. As the result of performance skew, the user could have an unbalanced SAN, which causes load balance problems for the host multi-path software. Currently there exists a need for methods, systems and computer products that provide the ability of concentrating all the I/O to the most efficient paths, such as those that are connected to their adapters or switches with the best performance and leave the less efficient hardware for failover purpose only, to utilize the hardware resources and achieve high availability.
Exemplary embodiments include a path priority selection method, including selecting a first I/O data path to be a highest priority path in a storage area network system, selecting a second I/O data path to be a low priority path, selecting an I/O threshold value, the I/O threshold value indicating that I/O data load is excessive, directing the load balance of I/O traffic to the first I/O data path, thereby placing the second I/O data path in a standby state, monitoring the first I/O data path, determining if the first I/O data path has reached the threshold value and performing a controlled failover of the first I/O data path to the second I/O data path when an I/O data load on the first data path has reached the threshold value.
Exemplary embodiments further include a path priority selection method, including selecting priorities for paths in a storage area network, wherein at least one of a path and a group of paths to hardware components of the storage area network, have a priority level assignment, directing a load I/O balance of the storage area network to a path having a highest priority and selecting a path for an I/O load based on a path selection algorithm when more than one path has a highest priority, the path selection algorithm including at least one of load-balancing and round-robin.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
As a result of the summarized invention, technically we have achieved a solution which enables user-managed path performance in balanced or unbalanced fabric configurations.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
Exemplary embodiments include systems, methods and computer products for path selection that creates a priority scheme where each path or all groups of paths to certain hardware components, such as a host bus adapter (HBA) (an interface card that connects a host bus, such as a peripheral component interconnect (PCI) bus, to the SAN), has a priority level assignment. In exemplary embodiments, the load balance of path selection is biased toward the priority level. All paths have the same default priority level during the device configuration, but path priority level can be changed by a user interface. For example, a path priority level can be high, medium and low with the default to medium. The user can change the priority so high or low at any time. During the path selection for the next I/O candidate, the performance is given to a group of paths with the highest priority. If there is more than one path with the highest priority, these paths are selected for I/O with the path-selection algorithm that users specify, such as load balancing or sequential round robin. In exemplary embodiments, when a group of highest priority paths reaches a threshold value that is set by the user, a controlled failover is implemented. In exemplary embodiments, a user can set and retain their preferred path selection algorithm among the highest priority paths before and after a failover.
Turning now to the drawings in greater detail,
It is appreciated that any SAN fabric environment, such as systems 100, 200 described above, can be unbalanced due to various reasons, mainly due to various hardware components or the load applied by certain hosts on a section of the fabric. For example, as the technology improves, an improved HBA may run much more efficiently than an older HBA in a SAN environment, thereby creating imbalances within the environment.
The system 300 can be imbalanced as discussed above. For example, Switch A can have a faster speed (4 GBs) compared to switch B (2 GBs). Thus, the paths through switch A have better performance than the paths through switch B. Furthermore, HBA-A can be faster than HBA-B, thus I/O moving through HBA-B is slower than that I/O moving through HBA-A. In addition, the storage port P1 can be configured to be faster than the storage port P2, and I/O going to the storage port P2 is slower than I/O going to the storage port P1. In exemplary embodiments, I/O can be routed to the faster path defined by the respective HBA, switch, and port in order to maximize the performance of the system 300. As discussed, using the current available techniques, the storage administrator can put the slower paths to OFFLINE state, thus only faster paths are used. However, if there is an error situation on the faster paths, there is no alternate path to carry the I/O and the operation fails. In exemplary embodiments, a path of a group of paths of the slower hardware components instead of being placed OFFLINE are put to a lower priority. Therefore, all the paths (regardless of its priority) remain enabled/opened. Paths with lower priority are still available to carry the I/O simultaneously, during error scenarios, but by default all the I/O is carried by the faster paths. The slower paths are the stand-by paths.
In exemplary embodiments, in addition to enabling users to define the priority of a path or a group of paths, users are also able to utilize the hardware resources to optimize the performance by defining several settings. In exemplary embodiments, a first setting is an I/O load threshold value to trigger a controlled failover from the highest priority path(s) to the next priority path(s). As such, the failover process is taken place when the outstanding I/O exceeds the user defined threshold. This option provides the I/O overload relief from the high priority paths by temporarily failover to the low priority paths and automatic failback when the outstanding I/O is no longer excessive. Another setting includes path-selection algorithms that the users want to enforce to a group of paths.
In exemplary embodiments, improved path selection design creates a priority scheme where each path or all a group of paths to hardware components of the SAN has a priority level assignment. The load balance of path selection is biased toward the priority level. All paths have the same default priority level during the device configuration, and the path priority level can be changed by the user interface. For example, a path priority level can be high, medium and low with the default to medium. The user can change it to high or low at any time. During the path selection for the next I/O candidate, the preference is given to a group of paths with the highest priority. If there is more than one path with the highest priority, these paths are selected for I/O with the path-selection algorithm that users specify, such as load balancing or sequential round robin. In exemplary embodiments, when all paths of the same group have failed, the preference is then given to the group with the next priority level. This scheme is a failover process controlled by the priority level.
The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof.
As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.
Shum, Che Lui, Ghosalkar, Vishal V., Wu, Stanley Y.
Patent | Priority | Assignee | Title |
10402348, | Apr 12 2013 | Texas Instruments Incorporated | Method and system for using feedback information for selecting a routing bus for a memory transaction |
10606496, | Sep 26 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer implementing automatic standby setting for active-active configuration |
10754559, | Mar 08 2019 | EMC IP HOLDING COMPANY LLC | Active-active storage clustering with clock synchronization |
10754572, | Oct 09 2018 | EMC IP HOLDING COMPANY LLC | Migrating control of a multi-path logical device from a current MPIO driver to a target MPIO driver |
10757189, | Apr 30 2018 | EMC IP HOLDING COMPANY LLC | Service level objection based input-output selection utilizing multi-path layer of host device |
10880217, | Dec 24 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer configured for detection and resolution of oversubscription conditions |
10911402, | Oct 27 2017 | EMC IP HOLDING COMPANY LLC | Storage system with network-wide configurable device names |
11012512, | May 20 2020 | EMC IP HOLDING COMPANY LLC | Host device with automated write throttling responsive to storage system write pressure condition |
11023134, | May 22 2020 | EMC IP HOLDING COMPANY LLC | Addition of data services to an operating system running a native multi-path input-output architecture |
11032373, | Oct 12 2020 | EMC IP HOLDING COMPANY LLC | Host-based bandwidth control for virtual initiators |
11042327, | Mar 10 2020 | EMC IP HOLDING COMPANY LLC | IO operation cloning using change information sharing with a storage system |
11044313, | Oct 09 2018 | EMC IP HOLDING COMPANY LLC | Categorizing host IO load pattern and communicating categorization to storage system |
11050660, | Sep 28 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer implementing path selection based at least in part on fabric identifiers |
11050825, | Jan 30 2020 | EMC IP HOLDING COMPANY LLC | Storage system port usage information sharing between host devices |
11080215, | Mar 31 2020 | EMC IP HOLDING COMPANY LLC | Host device providing automated prediction of change intervals to reduce adverse impacts on applications |
11093144, | Feb 18 2020 | EMC IP HOLDING COMPANY LLC | Non-disruptive transformation of a logical storage device from a first access protocol to a second access protocol |
11099754, | May 14 2020 | EMC IP HOLDING COMPANY LLC | Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations |
11099755, | Jan 06 2020 | EMC IP HOLDING COMPANY LLC | Multipath device pseudo name to logical volume mapping for host devices |
11151071, | May 27 2020 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer distribution of input-output operations across storage caches |
11157432, | Aug 28 2020 | EMC IP HOLDING COMPANY LLC | Configuration of block devices based on provisioning of logical volumes in a storage system |
11169941, | Apr 09 2020 | EMC IP HOLDING COMPANY LLC | Host device with automated connectivity provisioning |
11175828, | May 14 2020 | EMC IP HOLDING COMPANY LLC | Mitigating IO processing performance impacts in automated seamless migration |
11175840, | Jan 30 2020 | EMC IP HOLDING COMPANY LLC | Host-based transfer of input-output operations from kernel space block device to user space block device |
11204699, | Mar 05 2020 | EMC IP HOLDING COMPANY LLC | Storage system port maintenance information sharing with host device |
11204777, | Nov 30 2020 | EMC IP HOLDING COMPANY LLC | Boot from SAN operation support on multi-pathing devices |
11216200, | May 06 2020 | EMC IP HOLDING COMPANY LLC | Partition utilization awareness of logical units on storage arrays used for booting |
11226851, | Jul 10 2020 | EMC IP HOLDING COMPANY LLC | Execution of multipath operation triggered by container application |
11231861, | Jan 15 2020 | EMC IP HOLDING COMPANY LLC | Host device with active-active storage aware path selection |
11256446, | Aug 03 2020 | EMC IP HOLDING COMPANY LLC | Host bus adaptor (HBA) virtualization aware multi-pathing failover policy |
11265261, | Mar 18 2020 | EMC IP HOLDING COMPANY LLC | Access path management based on path condition |
11294782, | Mar 22 2021 | Credit Suisse AG, Cayman Islands Branch | Failover affinity rule modification based on node health information |
11308004, | Jan 18 2021 | EMC IP HOLDING COMPANY LLC | Multi-path layer configured for detection and mitigation of slow drain issues in a storage area network |
11320994, | Sep 18 2020 | EMC IP HOLDING COMPANY LLC | Dynamic configuration change control in a storage system using multi-path layer notifications |
11366756, | Apr 13 2020 | EMC IP HOLDING COMPANY LLC | Local cached data coherency in host devices using remote direct memory access |
11368399, | Mar 27 2020 | EMC IP HOLDING COMPANY LLC | Congestion aware multipathing based on network congestion notifications |
11385824, | Nov 30 2020 | EMC IP HOLDING COMPANY LLC | Automated seamless migration across access protocols for a logical storage device |
11386023, | Jan 21 2021 | EMC IP HOLDING COMPANY LLC | Retrieval of portions of storage device access data indicating access state changes |
11392459, | Sep 14 2020 | EMC IP HOLDING COMPANY LLC | Virtualization server aware multi-pathing failover policy |
11397539, | Nov 30 2020 | EMC IP HOLDING COMPANY LLC | Distributed backup using local access |
11397540, | Oct 12 2020 | EMC IP HOLDING COMPANY LLC | Write pressure reduction for remote replication |
11397589, | Mar 06 2020 | EMC IP HOLDING COMPANY LLC | Snapshot transmission from storage array to cloud using multi-path input-output |
11409460, | Dec 08 2020 | EMC IP HOLDING COMPANY LLC | Performance-driven movement of applications between containers utilizing multiple data transmission paths with associated different access protocols |
11418594, | Oct 20 2021 | Dell Products L.P.; Dell Products L P | Multi-path layer configured to provide link availability information to storage system for load rebalancing |
11422718, | May 03 2021 | EMC IP HOLDING COMPANY LLC | Multi-path layer configured to provide access authorization for software code of multi-path input-output drivers |
11449257, | Feb 21 2020 | EMC IP HOLDING COMPANY LLC | Host device with efficient automated seamless migration of logical storage devices across multiple access protocols |
11449440, | Jan 19 2021 | EMC IP HOLDING COMPANY LLC | Data copy offload command support across multiple storage access protocols |
11455116, | Dec 16 2020 | EMC IP HOLDING COMPANY LLC | Reservation handling in conjunction with switching between storage access protocols |
11461026, | Jan 21 2020 | EMC IP HOLDING COMPANY LLC | Non-disruptive update of host multipath device dependency |
11467765, | Jan 20 2021 | EMC IP HOLDING COMPANY LLC | Detection and mitigation of slow drain issues using response times and storage-side latency view |
11494091, | Jan 19 2021 | EMC IP HOLDING COMPANY LLC | Using checksums for mining storage device access data |
11520671, | Jan 29 2020 | EMC IP HOLDING COMPANY LLC | Fast multipath failover |
11526283, | Jun 08 2021 | EMC IP HOLDING COMPANY LLC | Logical storage device access using per-VM keys in an encrypted storage environment |
11543971, | Nov 30 2020 | EMC IP HOLDING COMPANY LLC | Array driven fabric performance notifications for multi-pathing devices |
11550511, | May 21 2021 | EMC IP HOLDING COMPANY LLC | Write pressure throttling based on service level objectives |
11561699, | Apr 24 2020 | EMC IP HOLDING COMPANY LLC | Input-output path selection using switch topology information |
11567669, | Dec 09 2021 | Dell Products L.P. | Dynamic latency management of active-active configurations using multi-pathing software |
11586356, | Sep 27 2021 | Dell Products L.P.; Dell Products L P | Multi-path layer configured for detection and mitigation of link performance issues in a storage area network |
11620054, | Apr 21 2022 | Dell Products L.P.; Dell Products L P | Proactive monitoring and management of storage system input-output operation limits |
11620240, | Dec 07 2020 | EMC IP HOLDING COMPANY LLC | Performance-driven access protocol switching for a logical storage device |
11625232, | Jun 07 2021 | EMC IP HOLDING COMPANY LLC | Software upgrade management for host devices in a data center |
11625308, | Sep 14 2021 | Dell Products L.P.; Dell Products L P | Management of active-active configuration using multi-pathing software |
11630581, | Nov 04 2020 | EMC IP HOLDING COMPANY LLC | Host bus adaptor (HBA) virtualization awareness for effective input-output load balancing |
11640245, | Feb 17 2021 | Credit Suisse AG, Cayman Islands Branch | Logical storage device access in an encrypted storage environment |
11651066, | Jan 07 2021 | EMC IP HOLDING COMPANY LLC | Secure token-based communications between a host device and a storage system |
11656987, | Oct 18 2021 | Dell Products L.P.; Dell Products L P | Dynamic chunk size adjustment for cache-aware load balancing |
11750457, | Jul 28 2021 | Dell Products L.P.; Dell Products L P | Automated zoning set selection triggered by switch fabric notifications |
11755222, | Feb 26 2021 | Credit Suisse AG, Cayman Islands Branch | File based encryption for multi-pathing devices |
11762588, | Jun 11 2021 | EMC IP HOLDING COMPANY LLC | Multi-path layer configured to access storage-side performance metrics for load balancing policy control |
11782611, | Apr 13 2021 | Credit Suisse AG, Cayman Islands Branch | Logical storage device access using device-specific keys in an encrypted storage environment |
11789624, | May 31 2022 | Dell Products L.P. | Host device with differentiated alerting for single points of failure in distributed storage systems |
11797312, | Feb 26 2021 | Credit Suisse AG, Cayman Islands Branch | Synchronization of multi-pathing settings across clustered nodes |
11822706, | May 26 2021 | EMC IP HOLDING COMPANY LLC | Logical storage device access using device-specific keys in an encrypted storage environment |
11829602, | Mar 16 2022 | Dell Products L.P.; Dell Products L P | Intelligent path selection in a distributed storage system |
11886711, | Jun 16 2022 | Dell Products L.P.; Dell Products L P | Host-assisted IO service levels utilizing false-positive signaling |
11916938, | Aug 28 2020 | EMC IP HOLDING COMPANY LLC | Anomaly detection and remediation utilizing analysis of storage area network access patterns |
8832334, | Aug 09 2012 | Hitachi, Ltd. | Method and apparatus to migrate existing data among storage systems based on a traffic amount that does not exceed a preset threshold |
Patent | Priority | Assignee | Title |
5521909, | Jul 22 1994 | Alcatel Canada Inc | Frame relay management system |
7275103, | Dec 18 2002 | Veritas Technologies LLC | Storage path optimization for SANs |
7668981, | Mar 28 2007 | Veritas Technologies LLC | Storage paths |
20020141345, | |||
20050080940, | |||
20050259632, | |||
20070002748, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 17 2007 | GHOSALKAR, VISHAL V | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019608 | /0205 | |
Jul 17 2007 | SHUM, CHE LUI | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019608 | /0205 | |
Jul 17 2007 | WU, STANLEY Y | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019608 | /0205 | |
Jul 24 2007 | International Business Machines Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Feb 10 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 13 2020 | REM: Maintenance Fee Reminder Mailed. |
Sep 28 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Aug 21 2015 | 4 years fee payment window open |
Feb 21 2016 | 6 months grace period start (w surcharge) |
Aug 21 2016 | patent expiry (for year 4) |
Aug 21 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 21 2019 | 8 years fee payment window open |
Feb 21 2020 | 6 months grace period start (w surcharge) |
Aug 21 2020 | patent expiry (for year 8) |
Aug 21 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 21 2023 | 12 years fee payment window open |
Feb 21 2024 | 6 months grace period start (w surcharge) |
Aug 21 2024 | patent expiry (for year 12) |
Aug 21 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |