A one-arm data center topology routes traffic between internal sub-nets and between a sub-net and an outside network through a common chain of services. The data center topology employs layer 4 services on a common chassis or platform to provide routing and firewall services while reducing the number of devices necessary to implement the data center and simplifying configuration. load balancing is provided by a load balancing device. In the one-arm topology, policy based routing or client network address translations or NAT pushes traffic to the CSM.
|
8. A method for routing traffic-in a data center, said method comprising:
configuring a virtual transparent firewall for performing stateful inspection of traffic;
configuring a load balancing device to implementing load balancing policy, the load balancing device coupled to a router configured to route data center traffic, the load balancing device positioned in a one arm fashion out of a main traffic path from the router to the virtual transparent firewall to a plurality of subnets;
routing, using the router, data center traffic through said firewall to the plurality of subnets; and
routing the data center traffic from a first subnet through the virtual firewall to the router, and when load balancing is required, to the load balancing device for load balancing, wherein the data center traffic is routed back through the router and the virtual transparent firewall to a second subnet.
1. A data center comprising:
a layer 3 switch functioning as a router;
a virtual transparent firewall coupled to said router;
a plurality of sub-nets coupled to said firewall such that traffic between different sub-nets is segregated by said firewnotall;
a content switch coupled to said layer 3 switch in a one arm fashion, the one arm fashion positioning the content switch out of a main traffic path from the layer 3 switch to the virtual transparent firewall to the plurality of subnets; and
means for routing traffic between sub-nets such that all traffic to a sub-net is statefully inspected by routing traffic from a first subnet through the virtual transparent firewall to the layer 3 switch and, when load balancing is required, to the content switch for load balancing, wherein the traffic is routed back through the layer 3 switch and the virtual transparent firewall to a second subnet.
14. A system configured to route traffic in a data center, the system comprising:
a router configured to route data center traffic;
a virtual transparent firewall configured to perform stateful inspection of traffic; and
a load balancing device configured to implementing load balancing policy, the load balancing device coupled to the router, the load balancing device positioned in a one arm fashion out of a main traffic path from the router to the virtual transparent firewall to a plurality of subnets;
wherein the router is configured to route data center traffic through said firewall to the plurality of subnets; and
wherein the data center traffic is routed from a first subnet through the virtual transparent firewall to the router and, when load balancing is required, to the load balancing device for load balancing, wherein the data center traffic is routed back through the router and the virtual transparent firewall to a second subnet.
2. The data center of
3. The data center of
4. The data center of
5. The data center of
6. The data center of
7. The data center of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
15. The data center of
16. The data center of
17. The data center of
18. The data center of
19. The data center of
20. The data center of
|
This application claims priority from commonly assigned provisional patent application entitled “Data Center Network Design And Infrastructure Architecture” by Mauricio Arregoces and Maurizio Portolani, application No. 60/623,810, filed Oct. 28, 2004 the entire disclosure of which is herein incorporated by reference.
Data centers are an integral element in supporting distributed client/server computing. Data centers enable, the use of powerful applications for the exchange of information and transaction processing and are critical to the success of modern business. A typical n-tier data center uses multiple physical devices. These devices, shown in
Application servers 19 and 20 are further connected to another backend network through switches 21 and 24, another tier of firewalls 22 and a content switch 23 to a tier of database servers 25 and 26.
One problem with the topology of the n-tier data center is that it requires too many physical devices, is expensive to set up and operate and is difficult to manage. Thus setting up an n-tier data center to service requests from a large number of users is not only expensive but also difficult to maintain. What is needed is a simplified data center topology that reduced the number of physical devices, is inexpensive to set up and easy to maintain.
To address this need, an embodiment of a prior art data center is shown in
In another data center topology, using the single firewall 28 coupled by a content switch reduces the number of physical devices. By tightly linking firewall 28 with content switch 38 operating in bridge mode, further simplification is achieved. The embodiment shown in
To overcome these disadvantages of the prior art data center topology, a topology in accordance with the present invention efficiently routes traffic on internal sub-nets as well as traffic routed between a sub-net and an outside network. The data center topology employs layer 7 and layer 4 services on a common chassis or platform to provide routing, load balancing and firewall services to simplify data center topology. Advantageously, the number of devices necessary to implement the data center is reduced and configuration is simplified.
The foregoing and additional features and advantages of this invention will become apparent from the detailed description and review of the associated drawing figures that follow.
In the description herein for embodiments of the present invention, numerous specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention.
To overcome the disadvantages of prior art data center topology, a topology in accordance with the present invention efficiently routes traffic between internal sub-nets as well as traffic destined to or arriving from an outside network. The data center topology employs layer 7 and layer 4 services on a common chassis or platform to provide routing, load balancing and firewall services to simplify data center topology. Advantageously, the number of devices necessary to implement the data center is reduced and configuration is simplified.
Referring now to the drawings more particularly by reference numbers, a representative data center 40 configured in a one-arm topology in accordance with an embodiment of the present invention is illustrated in
Router 41 is a device, or network appliance, that determines the next network point to which information packets, or traffic, should be forwarded toward its destination. Router 41 in one preferred embodiment is either the Cisco Catalyst 6500 or the Cisco 7600 series router, both of which are commercially available from Cisco Systems, the parent corporation of the present assignee. In some network embodiments, router 41 may be implemented in software executing in a computer or it may be part of a network switch. Router 41 is connected to at least two networks, such as external core network 45 and the internal network of data center 40.
Functionally, the router 41 determines the path to send each information packet based on the router's understanding of the state of the networks. Because firewall 42 operates in transparent mode, router 41 functions as the gateway for sub-nets 46, 47 and 48. Each sub-net includes a plurality of servers that are illustrated by servers 49 and 50 in sub-net 46, servers 51 and 52 in sub-net 47 and servers 53 and 54 in sub-net 48. The server tier in each sub-net may comprise various types of servers such as application servers, database servers, mail servers, file servers, DNS servers or streaming servers by way of example.
Router 41 creates and maintains available routes and uses this information to determine the best route for a given packet traversing either to or from sub-net, 46, 47 or 48. Although each sub-net 46-48 is illustrated having a pair of servers, it is to be understood that a subnet may comprise many nodes coupled by a local area network or LAN. A contiguous range of IP address numbers identifies each node in the sub-net. Subnets are often employed to partition networks into logical segments for performance, administration and security purposes.
Rather than provision each sub-net with a dedicated firewall, firewall component 42 is preferably an integrated firewall module marketed by Cisco as the Firewall Services Module (FWSM). The FWSM may be configured to provide multiple virtual firewalls within a single hardware appliance. Firewall 42 provides stateful connection-oriented firewall services. The firewall creates a connection table entry for each session flow and applies a security policy to these connection table entries to control all inbound and outbound traffic.
Firewall component 42 functions to enforce network access policy and prevent unauthorized access to data center sub-nets 46-48. A network access policy defines authorized and unauthorized users of the servers as well as the types of traffic, such as FTP or HTTP that is allowed across the network. Firewall component 42 controls access to certain portions of the data center by defining specific source address filters that allow users to access certain sub-nets but not other sub-nets. Firewall component 42 does not perform any routing functions.
Rather than placing discrete firewalls at all access points where a sub-net sends and receives traffic from other networks or sub-nets, the present invention includes a firewall configured as multiple virtual firewalls, called security contexts, within the same hardware appliance. A security context is a virtual firewall that has its own security policies and interfaces. Since firewall component 42 is a transparent virtual firewall, it operates in-line with the sub-net it is protecting. Firewall component 42 does not require the configuration of static routes on 41, 42 or 43. Another key advantage of the transparent virtual firewall is that has no IP addresses so it is unreachable and invisible to the outside world.
Components 42 and 43 are preferably fabric connected to router 41. Switching fabric is the combination of hardware and software that moves traffic coming in to one of the components and out to the next component. Switching fabric includes the switching infrastructure linking nodes, and the programming that allows switching paths to be controlled. The, switching fabric is independent of any bus technology and infrastructure.
In the one arm topology, content switch 43 is not in the main traffic path between router 41 and subnets 46, 47 and 48. Basic Layer 3 routing pushes client-to-server traffic to content switch 43, policy based routing or client network address translation pushes server-to-client traffic to content switch 43
Content switch 43 is preferably a Content Switching Module such as the CSM commercially available from Cisco Systems, Inc. the parent corporation of the assignee of the present invention. In alternative embodiments, content switch 43 may be an external content switching device such as the Content Switching Service or CSS device, which is a switch also available from Cisco Systems. In other embodiments, other content based or service based switches could be also be used.
The primary purpose of content switch 43 is to implement load balancing policies. These policies describe how connections and requests are to be distributed across the servers in each sub-net eligible to receive the traffic. Other policies may be implemented by content switch 43. For example, content switch 43 may be configured to describe persistence policies to determine whether a connection must stay with a particular server in the sub-net until a particular transaction or unit of work is complete. Content switch 43 may also be configured to implement server failure policies or other content-specific policies to specify how different types of content are to be treated. In other embodiments, content switch 43 may be configured to implement device-specific policies to specify different treatment for different types of servers or other network appliances.
In general, content switch 43 provides Layer 4-Layer 7 services for HTTP requests, FTP file transfer, e-mail and other network software services. Content switch component 43 accesses information in the TCP and HTTP headers of the packets to determine the complete requested URL and any cookies in the packet. Once content switch 43 determines the best server for an inbound request, it is passed to that server through router 41 and firewall 42.
All data center traffic, whether originating from the outside network or between sub-nets, passes through the same chain of services. Further since all traffic passes through firewall component 42 all traffic is stateful inspected even for server-to-server communication within the data center. Advantageously, since the firewall and the content switch are dedicated to stateful inspection and load balancing, respectively, neither device needs to be configured for routing functions. There is no need to configure OSPF or other routing protocol at either the firewall or content switch thereby simplifying the task of setting up and maintaining the data center.
Accordingly, the present invention provides a new data center topology that uses a virtual transparent firewall and a load-balancing module and achieves segregation between traffic paths. The topology replaces multiple appliances with a simplified configuration of a L3 switch, firewall in a single chassis in conjunction with a content switch. The topology allows bypassing the content switch for traffic that does not require load balancing, thus freeing resources in the content switch and allowing for high scalability. Examples of traffic that does not require load balancing include backup traffic, traffic to server sub-nets that do not require content switch services and server-originated connections to remote services.
Accordingly, the present invention provides a data center having a secure and scalable topology. This topology may use existing Cisco products in a manner that differs from the designed use.
Although the invention has been described with respect to specific embodiments thereof, these embodiments are merely illustrative, and not restrictive of the invention. For example, the network may include different routers, switches, servers and other components or devices that are common in such networks. Further, these components may comprise software algorithms that implement connectivity functions between the network device and other devices in a manner different from that described herein.
In the description herein, specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, materials, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention.
As used herein the various databases, application software or network tools may reside in one or more server computers and more particularly, in the memory of such server computers. As used herein, “memory” for purposes of embodiments of the present invention may be any medium that can contain or store the program for use by or in connection with the instruction execution system, apparatus, system or device. The memory can be, by way of example only but not by limitation, a semiconductor system, apparatus, system, device, or computer memory.
Reference throughout this specification to “one embodiment,” “an embodiment,” or “a specific embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention and not necessarily in all embodiments. Thus, respective appearances of the phrases “in one embodiment,” “in an embodiment,” or “in a specific embodiment” in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics of any specific embodiment of the present invention may be combined in any suitable manner with one or more other embodiments. It is to be understood that other variations and modifications of the embodiments of the present invention described and illustrated herein are possible in light of the teachings herein and are to be considered as part of the spirit and scope of the present invention.
In general, the functions of the present invention can be achieved by any means as is known in the art. Distributed, or networked systems, components and circuits can be used. Communication, or transfer, of data may be wired, wireless, or by any other means.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application. It is also within the spirit and scope of the present invention to implement a program or code that can be stored in a machine-readable medium to permit a computer to perform any of the methods described above.
Additionally, any signal arrows in the drawings/Figures should be considered only as exemplary, and not limiting, unless otherwise specifically noted. Furthermore, the term “or” as used herein is generally intended to mean “and/or” unless otherwise indicated. Combinations of components or steps will also be considered as being noted, where terminology is foreseen as rendering the ability to separate or combine is unclear.
As used in the description herein and throughout the claims that follow, “a,” “an,” and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
The foregoing description of illustrated embodiments of the present invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope of the present invention, as those skilled in the relevant art will recognize and appreciate. As indicated, these modifications may be made to the present invention in light of the foregoing description of illustrated embodiments of the present invention and are to be included within the spirit and scope of the present invention.
Thus, while the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of embodiments of the invention will be employed without a corresponding use of other features without departing from the scope and spirit of the invention as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit of the present invention. It is intended that the invention not be limited to the particular terms used in following claims and/or to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include any and all embodiments and equivalents falling within the scope of the appended claims.
Arregoces, Mauricio, Portolani, Maurizio, Testa, Stefano, O'Brien, Christopher M.
Patent | Priority | Assignee | Title |
10110504, | Apr 05 2010 | Microsoft Technology Licensing, LLC | Computing units using directional wireless communication |
10148577, | Dec 11 2014 | Cisco Technology, Inc. | Network service header metadata for load balancing |
10153951, | Jun 07 2013 | Cisco Technology, Inc. | Determining the operations performed along a service path/service chain |
10158561, | May 10 2013 | Cisco Technology, Inc. | Data plane learning of bi-directional service chains |
10178646, | Apr 12 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method to facilitate slice management in a network environment |
10187306, | Mar 24 2016 | Cisco Technology, Inc | System and method for improved service chaining |
10218593, | Aug 23 2016 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
10218616, | Jul 21 2016 | Cisco Technology, Inc | Link selection for communication with a service function cluster |
10225187, | Mar 22 2017 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
10225270, | Aug 02 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | Steering of cloned traffic in a service function chain |
10237379, | Jun 16 2014 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
10257033, | Apr 12 2017 | Cisco Technology, Inc | Virtualized network functions and service chaining in serverless computing infrastructure |
10270843, | May 21 2013 | Cisco Technology, Inc. | Chaining service zones by way of route re-origination |
10291513, | Nov 30 2015 | AT&T Intellectual Property I, L P | Topology aware load balancing engine |
10320664, | Jul 21 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | Cloud overlay for operations administration and management |
10333855, | Apr 19 2017 | Cisco Technology, Inc. | Latency reduction in service function paths |
10361969, | Aug 30 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method for managing chained services in a network environment |
10397271, | Jul 11 2017 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
10417025, | Nov 18 2014 | Cisco Technology, Inc. | System and method to chain distributed applications in a network environment |
10419550, | Jul 06 2016 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
10541893, | Oct 25 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method for obtaining micro-service telemetry data |
10554689, | Apr 28 2017 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
10666612, | Jun 06 2018 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
10673698, | Jul 21 2017 | Cisco Technology, Inc | Service function chain optimization using live testing |
10735275, | Jun 16 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | Releasing and retaining resources for use in a NFV environment |
10778551, | Aug 23 2016 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
10778576, | Mar 22 2017 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
10791065, | Sep 19 2017 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
10798187, | Jun 19 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | Secure service chaining |
10812378, | Mar 24 2016 | Cisco Technology, Inc. | System and method for improved service chaining |
10884807, | Apr 12 2017 | Cisco Technology, Inc. | Serverless computing and task scheduling |
10931793, | Apr 26 2016 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
10938677, | Apr 12 2017 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
10958568, | Nov 30 2015 | AT&T Intellectual Property I, L P | Topology aware load balancing engine |
11018981, | Oct 13 2017 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
11044203, | Jan 19 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method for hosting mobile packet core and value-added services using a software defined network and service chains |
11063856, | Aug 24 2017 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
11102135, | Apr 19 2017 | Cisco Technology, Inc. | Latency reduction in service function paths |
11108814, | Jul 11 2017 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
11115276, | Jul 21 2017 | Cisco Technology, Inc. | Service function chain optimization using live testing |
11122008, | Jun 06 2018 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
11196640, | Jun 16 2017 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
11252063, | Oct 25 2017 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
11539747, | Apr 28 2017 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
11799821, | Jun 06 2018 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
9088584, | Dec 16 2011 | Cisco Technology, Inc. | System and method for non-disruptive management of servers in a network environment |
9178812, | Jun 05 2013 | Cisco Technology, Inc. | Stacking metadata contexts for service chains |
9246799, | May 10 2013 | Cisco Technology, Inc. | Data plane learning of bi-directional service chains |
9258243, | May 10 2013 | Cisco Technology, Inc. | Symmetric service chain binding |
9374297, | Dec 17 2013 | Cisco Technology, Inc. | Method for implicit session routing |
9379931, | May 16 2014 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
9385950, | Oct 14 2013 | Cisco Technology, Inc. | Configurable service proxy local identifier mapping |
9391716, | Apr 05 2010 | Microsoft Technology Licensing, LLC | Data center using wireless communication |
9438512, | Jun 05 2013 | Cisco Technology, Inc. | Stacking metadata contexts for service chains |
9444675, | Jun 07 2013 | Cisco Technology, Inc. | Determining the operations performed along a service path/service chain |
9467382, | Feb 03 2014 | Cisco Technology, Inc. | Elastic service chains |
9479443, | May 16 2014 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
9497039, | May 28 2009 | Microsoft Technology Licensing, LLC | Agile data center network architecture |
9509614, | Jun 20 2013 | Cisco Technology, Inc. | Hierarchical load balancing in a network environment |
9537752, | Jul 14 2014 | Cisco Technology, Inc. | Encoding inter-domain shared service paths |
9548919, | Oct 24 2014 | Cisco Technology, Inc. | Transparent network service header path proxies |
9614739, | Jan 30 2014 | Cisco Technology, Inc. | Defining service chains in terms of service functions |
9755959, | Jul 17 2013 | Cisco Technology, Inc. | Dynamic service path creation |
9762402, | May 20 2015 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method to facilitate the assignment of service functions for service chains in a network environment |
9806962, | Jun 07 2013 | Cisco Technology, Inc. | Determining the operations performed along a service path/service chain |
9825769, | May 20 2015 | Cisco Technology, Inc. | System and method to facilitate the assignment of service functions for service chains in a network environment |
9826025, | May 21 2013 | Cisco Technology, Inc.; Cisco Technology, Inc | Chaining service zones by way of route re-origination |
9860790, | May 03 2011 | Cisco Technology, Inc. | Mobile service routing in a network environment |
9954751, | May 29 2015 | Microsoft Technology Licensing, LLC | Measuring performance of a network using mirrored probe packets |
ER6665, | |||
RE48131, | Dec 11 2014 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
Patent | Priority | Assignee | Title |
20030106067, | |||
20060090136, | |||
20060184926, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 17 2005 | PORTOLANI, MAURIZIO | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016434 | /0142 | |
Mar 18 2005 | ARREGOCES, MAURICIO | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016434 | /0142 | |
Mar 18 2005 | O BRIEN, CHRISTOPHER M | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016434 | /0142 | |
Mar 21 2005 | TESTA, STEFANO | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016434 | /0142 | |
Mar 24 2005 | Cisco Technology, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Feb 04 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 06 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 04 2021 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 04 2012 | 4 years fee payment window open |
Feb 04 2013 | 6 months grace period start (w surcharge) |
Aug 04 2013 | patent expiry (for year 4) |
Aug 04 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 04 2016 | 8 years fee payment window open |
Feb 04 2017 | 6 months grace period start (w surcharge) |
Aug 04 2017 | patent expiry (for year 8) |
Aug 04 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 04 2020 | 12 years fee payment window open |
Feb 04 2021 | 6 months grace period start (w surcharge) |
Aug 04 2021 | patent expiry (for year 12) |
Aug 04 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |