Aspects of the present disclosure involve systems, methods, computer program products, and the like, for managing routes through a telecommunications network in response to a change of state of a link between components of the network. In particular, a router may determine the nature of the link event and the link upon which the event occurred. If the link event is on the same link or in some way related to a previously detected link event, the component may ignore the occurrence of the received link event in determining when the shortest route path is calculated. In this manner, a toggling link may be ignored by the router when applying a dampening effect to the calculation of the shortest route such that the network can respond to a singular link event faster than when a traditional dampening effect with exponential back-off is applied.
|
1. A method for operating a telecommunications network, the method comprising:
maintaining a link state database in a storage device, the link state database comprising a state of a plurality of links between a plurality of routers of the telecommunications network;
detecting a change in the state of at least a first of the plurality of links of the link state database at a first time;
applying an initial penalty time period to delay processing of the change in the state of at least a first of the plurality of links of the link state database;
receiving an indication of a change in the state of at least a second of the plurality of links of the link state database at a second time, the second time occurring after the first time and during the initial penalty time period; and
processing the change in the state of the first of the plurality of links of the link state database and the change in the state of at least the second of the plurality of links of the link state database after the initial penalty time period when the first of the plurality of links of the link state database is the same link as the second of the plurality of links of the link state database.
7. A telecommunications network comprising:
a plurality of communication links between a plurality of routers of the telecommunications network;
a router receiving announcements from one or more of the plurality of routers of the telecommunications network, each announcement comprising state information for a subset of the plurality of communication links; and
a link state database maintained by the router storing the received state information for the plurality of communication links of the telecommunications network;
wherein the router, in response to receiving the announcements:
detects a change in the state of at least a first of the plurality of communication links at a first time;
applies an initial penalty time period to delay processing of the change in the state of at least a first of the plurality of communication links;
receives an indication of a change in the state of at least a second of the plurality of communication links at a second time, the second time occurring after the first time and during the initial penalty time period; and
processes the change in the state of the first of the plurality of communication links and the change in the state of at least the second of the plurality of communication links after the initial penalty time period when the first of the plurality of communication links is the same link as the second of the plurality of communication links.
13. A router comprising:
a network communication port to receive an announcement over a telecommunications network, the announcement comprising state information of a plurality of links between a plurality of routers of the telecommunications network;
a processor; and
a memory device in communication with the processor for storing one or more instructions that, when executed by the processor, cause the router to perform the operations of:
maintaining a link state database comprising received state information of the plurality of links between the plurality of routers of the telecommunications network from at least the announcement;
detecting a change in the state of at least a first of the plurality of links of the link state database at a first time;
applying an initial penalty time period to delay processing of the change in the state of at least a first of the plurality of links of the link state database;
receiving an indication of a change in the state of at least a second of the plurality of links of the link state database at a second time, the second time occurring after the first time and during the initial penalty time period; and
processing the change in the state of the first of the plurality of links of the link state database and the change in the state of at least the second of the plurality of links of the link state database after the initial penalty time period when the first of the plurality of links of the link state database is the same link as the second of the plurality of links of the link state database.
2. The method of
applying an additional penalty time period for processing the change in the state of at least the first of the plurality of links of the link state database and the change in the state of at least the second of the plurality of links of the link state database when the first of the plurality of links of the link state database is not the same link as the second of the plurality of links of the link state database.
3. The method of
4. The method of
5. The method of
6. The method of
8. The telecommunication network of
9. The telecommunications network of
10. The telecommunications network of
11. The telecommunications network of
12. The telecommunications network of
14. The router of
15. The router of
16. The router of
|
Embodiments of the present invention generally relate to systems and methods for implementing a telecommunications network, and more specifically for generating routing tables for use by the telecommunications network from events associated with one or more links in the network.
Telecommunication or other types of computer networks provide for the transmission of information across some distance through terrestrial, wireless or satellite communication networks. Such networks allow a user of the network to transmit the information, such as a telephone communication or computer data, over the network to another user of the network. To facilitate transmitting information across the network, one or more components of the network may determine a route through the network of components for transmitting the packet of information. The route may be determined by referencing one or more routing tables that includes information on a source component, a destination component, and one or more available paths between the components. However, in some instances, one or more available paths through the network may fail for some reason such that packets of information may no longer be transmitted along the route. In response, one or more of the components of the network may update their routing tables or generate new routing tables to reflect the change in the available routes through the network.
One implementation of the present disclosure may take the form of a method for operating a telecommunications network. The method includes the operations of maintaining a link state database in a storage device, the link state database comprising a state of a plurality of links between a plurality of components of the telecommunications network, detecting a change in the state of at least a first of the plurality of links of the link state database at a first time, and applying an initial penalty time period for processing the change in the state of at least a first of the plurality of links of the link state database. The method may also include the operations of receiving an indication of a change in the state of at least a second of the plurality of links of the link state database at a second time, the second time occurring after the first time and during the initial penalty time period and processing the change in the state of the first of the plurality of links of the link state database and the change in the state of at least the second of the plurality of links of the link state database after the initial penalty time period when the first of the plurality of links of the link state database is the same link as the second of the plurality of links of the link state database.
Another implementation of the present disclosure may take the form of a telecommunications network a plurality of communication links between a plurality of components of the telecommunications network, a router receiving announcements from one or more of the plurality of components of the telecommunications network, each announcement comprising state information for a subset of the plurality of communication links, and a link state database maintained by the router storing the received state information for the plurality of communication links of the telecommunications network. Further, the router may, in response to receiving the announcements, detect a change in the state of at least a first of the plurality of communication links at a first time, apply an initial penalty time period for processing the change in the state of at least a first of the plurality of communication links, receive an indication of a change in the state of at least a second of the plurality of communication links at a second time, the second time occurring after the first time and during the initial penalty time period, and process the change in the state of the first of the plurality of communication links and the change in the state of at least the second of the plurality of communication links after the initial penalty time period if the first of the plurality of communication links is the same link as the second of the plurality of communication links.
Yet another implementation of the present disclosure may take the form of a router component of a telecommunications network. The router component includes a network communication port to receive an announcement over a telecommunications network, the announcement comprising state information of a plurality of links between a plurality of components of the telecommunications network, a processor, and a memory device in communication with the processor for storing one or more instructions. When the one or more instructions are executed by the processor, the router performs the operations of maintaining a link state database comprising received state information of the plurality of links between the plurality of components of the telecommunications network from at least the announcement, detecting a change in the state of at least a first of the plurality of links of the link state database at a first time, and applying an initial penalty time period for processing the change in the state of at least a first of the plurality of links of the link state database. In addition, the router may receive an indication of a change in the state of at least a second of the plurality of links of the link state database at a second time, the second time occurring after the first time and during the initial penalty time period and process the change in the state of the first of the plurality of links of the link state database and the change in the state of at least the second of the plurality of links of the link state database after the initial penalty time period when the first of the plurality of links of the link state database is the same link as the second of the plurality of links of the link state database.
Aspects of the present disclosure involve systems, methods, computer program products, and the like, for managing routes through a telecommunications network in response to a change of state of a link between components of the network. In particular, one or more components of the network may maintain a routing table, often referred to as a link state database, which includes all links between components of the network or a portion of the network. The link state database receives link or routing information to transmit packets through a telecommunications network. In some instances, a component of the network receives an indication of a change in state of a link in the database, such as an indication that a link is no longer available to transmit packets. The component may then utilize the change in state of the link when calculating a shortest path between two components of the network.
In one particular implementation, the component may employ a damping effect with an exponential back-off when responding to a change in a link state. For example, the component may delay calculating the shortest routing path through the network between two components for an initial penalty phase when a change in a link state is detected. After this initial penalty period, the component determines if any additional link state changes have occurred in the link state database. If additional changes are detected, the component may continue to add penalty periods before calculating the shortest routing path up to an upper threshold period of time. In one particular example, the addition of penalty periods may be added exponentially to the initial penalty period to the upper threshold. When the upper threshold period expires or no new link state changes are received, the component may update the link state database and calculate the shortest routing path utilizing the links of the current link state database. The damping effect with an exponential back-off may be performed by the component to prevent the component from consistently calculating the shortest routes based on the link state database and overburdening the processing power of the component.
In some instances, however, the continual addition of a penalty in response to a change in link state may be detrimental to the operation of the network. For example, the state of some links in the network may begin to toggle between present and not present in the advertised link states of components due to a malfunction of components associated with the link. Because the toggling of the link is a change in the link state every time it occurs, the components of the network may operate consistently in a penalty state and, oftentimes, calculate the shortest routes from the link state database only after the upper threshold period has elapsed. The operation of the components of the network with a delay penalty may slow down the transmission rate through the network to negatively affect the performance of the network.
Thus, another implementation of the present disclosure involves a system and/or method for responding to a change in a link state, otherwise referred to as a link event. Rather than applying a penalty period for each determined link event, this implementation determines the nature of the link event and the link upon which the event occurred. If the link event is unrelated to a previous link event, the component may calculate the shortest route from the link state database immediately or after an initial penalty phase. However, if the link event is on the same link or in some way related to a previously detected link event, the component may ignore the occurrence of the received link event in determining when the shortest route path is calculated. As such, the implementation effectively ignores a toggling link when applying a dampening effect to the calculation of the shortest route such that the network can respond to a singular link event faster than when a traditional dampening effect with exponential back-off is applied. The component response to a series of related link events on a particular link in the link state database may vary as desired by a network administrator, as explained in more detail below.
The VoIP network 102 includes numerous components such as, but not limited to gateways, routers, and registrars, which enable communication across the VoIP network 102, but are not shown or described in detail here because those skilled in the art will readily understand these components. In general, these components operate to transmit packets across the network 102 from one component to another utilizing one or more routing tables. Thus, as used herein, a “network component” refers to any telecommunication component that maintains and/or utilizes a routing table to route one or more packets from the component to another component in the network.
Customer network 106 can include communication devices such as, but not limited to, a personal computer or a telephone 110 connected to a router/firewall 114. Although shown in
The customer network 106 typically connects to the VoIP network 102 via a border network 122, such as one provided by an Internet Service Provider (ISP). The border network 122 is typically provided and maintained by a business or organization such as a local telephone company or cable company. The border network 122 may provide network/communication-related services to their customers. In contrast, the portion of the customer network that connects to the network 102 through the TDM-based communication device 120, 115 accesses, and is accessed by, the VoIP network 102 via a public switched telephone network (PSTN) 126 operated by a local exchange carrier (LEC). Communication via any of the networks can be wired, wireless, or any combination thereof. Additionally, the border network 122 and PSTN 126 may communicate, in some embodiments, with the VoIP Network 102 through a media gateway device (130, 131, 132). For ease of instruction, only three communication devices 110, 115, 120 are shown communicating with the VoIP network 102; however, numerous such devices, and other devices, may be connected with the network, which is equipped to handle enormous numbers of simultaneous calls and other communications.
In general, a user of the network 102 utilizes one or more of the communication devices to transmit a communication to the network. For example, the user may place a telephone call to the network 102 from a telephone 120 associated with the network. Upon receipt, the network 102 routes the communication to a routing device 140 or routing devices integrated within the network 102. In one example, the routing devices may include a router 140 and/or an application server 146. It should be appreciated that the routing devices 140, 146 may be a part of the network 102, may be separate from the network, or may have portions deployed in the network and out of the network. In addition, routing devices 140, 146 may be resident on one or more components of the VoIP network, including several instances of the routing devices integrated throughout the network 102. Further, although only a single instance of the routing devices 140, 146 are illustrated in
The router 140 is a routing device configured to route communications through the network 102. In particular, the router 140 may maintain or reference a routing table to determine how a packet is to be routed through the network. In many instances, the reference to the routing table may include referencing a link state database and calculating a shortest path from the router to a destination component in the network from the links listed in the link state database. As such, the link state database may include links between components and a “cost” for transmitting packets on the link. For example, the routing table may include a source location (such as “Chicago” in one example) for a component of the network, a next-hop location (such as “New York”) associated with the source location through a particular link, and a cost for transmitting packets along the link between Chicago and New York. The cost may be a calculation of the total bandwidth, monetary cost, availability, and the like of the link between the components. By analyzing the entries in the link state database, a router may calculate a path from a source component to a destination component of the network and the related cost for transmitting a packet along that determined route. Many routers may then be configured to select a “shortest route” or “shortest path” first when selecting a routing path through the network, based on the cost associated with transmitting the path along the route. In this manner, the router may determine the path or route a received packet is transmitted through the network to the destination component.
In general, the link state database maintained or accessed by the router provides the links between components for the entire network or a portion of the network. The size of the network described by the link state database is configurable by an administrator of the network. To populate the link state database, a router may receive link state information from each other router in the network area described by the link state database. In other words, each entry in the link state database is a link received from another component of the network. In one particular implementation, one or more of the components of the network may announce their link states in an Interior Gateway Protocol (IGP) message. Such IGP messages may include Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS) protocols. As each router possesses information about the complete network topology, each router may independently calculate the best next hop for every possible destination in the network using routing information of the received network topology. The collection of best-next-hops determined from the received IGP information may be utilized to create the routing table for the router.
As mentioned above, some links listed announced in IGP messages may undergo link events. For purposes of this disclosure, the announcement of a new link between components of the network and/or the removal of a link between components as announced is considered a link event. However, any change in the state of a link may be considered a link event by the routers or other components of the network. For example, a change in the available bandwidth for a particular link may also be considered a link event. Thus, although the implementations of the present disclosure discussed below reference the state of link as present or not present as announced in IGP messages, any type of link event is contemplated and may be used to trigger one or more of the operations and/or methods discussed.
In operation 204, the router may then apply an initial penalty period before reacting to the change in link state. In one particular implementation, the initial penalty period may be 100 ms, although any period of time may be set as the initial penalty period. The initial penalty period is an amount of time in which the router does not update the link state database and/or calculate a shortest path route for a packet on the network. Prior to the initial penalty period elapsing, the router may detect a second link state change in operation 206. The second link state change may or may not occur on the same link as the first link state change. Thus, regardless of which link the second link state change occurs, the router may detect the change in link state. Upon detection of this second link state change, the router may then apply an additional penalty period before committing to the detected link state changes in operation 208. In one particular example, the additional penalty period is 500 ms, although any time period may be set as the additional penalty period.
In operation 210, the router may continue adding additional penalty periods to committing a new link state table as additional link state changes are detected by the router. In one particular implementation, the additional penalty periods may be twice the previous penalty state such that the penalty periods increase exponentially. However, the period of time for any penalty period applied to the route calculation may be any period of time. The exponential increase in the penalty periods may continue, assuming that additional link state changes are detected, until an upper threshold penalty period is reached. In one particular implementation, the upper threshold penalty is 10 seconds, although the upper threshold penalty period may be for any period of time. In operation 212, the router may update the link state database with all of the announced links and use the updated link state database to calculate a route for a packet, after the upper threshold penalty period elapses. It should be appreciated that, once the router ceases to receive at least one change in a link state, the updating of the link state database and calculation of a route for a packet may occur once the penalty period has elapsed. The instance illustrated in
While the damping effect with an exponential back-off illustrated in
Beginning in operation 302, the router detects a first link state change on the network. As discussed above, the link state change may include a link going down or becoming available. Thus, to detect the link state change, the router may compare one or more received IGP messages of the link states to a previously received IGP message of the link states. Upon comparison, the router may determine that a link that was previously announced is no longer present in the list of links in the IGP message, or a link that was not previously announced is now present in the IGP message. In operation 304, the router may store the previous link state information (before the detection of the change in link state) and the new link state information in a database or other storage device. Storing the previous link state and the new link state may aid the router in determining whether related link state changes occur on the same link.
In operation 306, the router applies an initial penalty period before reacting to the change in link state. In one particular implementation, the initial penalty period may be 100 ms, although any period of time may be set as the initial penalty period. The initial penalty period is an amount of time in which the router does not update the link state database and/or calculate a shortest path route for a packet on the network. In operation 308, the router determines if another link state change is received during the initial penalty period. In one implementation, the router may wait until the initial penalty period elapses before comparing a previous link state database with a new link state database. In another implementation, the router may store all link state information received during the initial penalty period and analyze the received link state information once the initial penalty period has elapsed. If no additional link state changes are received during the initial penalty period, the router may process the first link state change in operation 310 by updating the link state database and/or calculating shortest routes between components of the network.
If another link state change is received during the initial penalty period, the router analyzes the additional link state change to determine if the additional link state change occurred on the same link as the first link change in operation 312. For example, the first link state change may occur on a link from Chicago to New York as received in one or more received IGP messages announcing links of the network. The first link state change may include the link not being present in the announced links from one or more other components of the network. Later, another link state change may be received by the router on the same Chicago to New York link. For example, the Chicago to New York link may once again appear in an announced link list from one or more components of the network. In this example, the detected link state changes occurred on the same link and may be noted by the router.
Although illustrated in
If the router determines that the additional link state change occurred on a different link as the first link state change, the router may assume that the two link state changes are unrelated and, in operation 314, continue to monitor for additional link state changes and adding penalty periods until an upper threshold period if met as described above. Once no additional link state changes are detected or the upper threshold period expires, the router may process the link state changes in operation 310 by updating the link state database and/or calculating the shortest path for routes through the network.
However, if the router determines that the additional link state change occurred on the same link as the first link state change, the router may assume that the two link state changes are related. In this instance, the router may ignore the additional link state change for that particular link for the purposes of adding additional penalty periods in operation 316. In other words, the router may determine that the first link state change and the additional link state change are related (such as if the connection of the link is toggling). If the state changes are related, the router may choose to ignore the toggling link state changes and monitor for unique link state changes on the other links in the network. Thus, the router may return to operation 306 to wait until the initial penalty period elapses and determine if any unique link state change is received (operation 308). If not, the link state changes may be processed, including the link state changes of the toggling link, in operation 310 as described above. In this manner, the method 300 of
Although illustrated in
Further, the response taken by the router upon detection of a second link state change on the same or related link may vary depending on the type of state change. For example, the removal of a link from the list of announced links may cause the router to respond more quickly than the addition of a link to the list. As the router may continue to route packets during a penalty period, some packets may be transmitted to a link that is malfunctioning or is no longer available to carry traffic. While the network may have mechanisms in place to handle packets transmitted on a link that is malfunctioning, such mechanisms may consume network processing power and negatively affect the performance of the network. Thus, if the router detects a link state change that indicates that the link is going down, the router may respond quickly to such a detected state change. In one example, the router may immediately respond to this type of link state change or apply a penalty period that is less than other penalty periods. Alternatively, if the detected link state change indicates that a new link is available for packet transmission, the router may apply a longer penalty period as the presence of a new link will not negatively affect the performance of the network. Further, applying different types of penalty periods may be used by the router while performing the operations of
Through the operations described above, a router or other networking device may determine the nature of the link event and the link upon which the event occurred. If the link event is unrelated to a previous link event, the component may calculate the shortest route from the link state database immediately or after an initial penalty phase. However, if the link event is on the same link or in some way related to a previously detected link event, the component may ignore the occurrence of the received link event in determining when the shortest route path is calculated. As such, the implementation effectively ignores a toggling link when applying a dampening effect to the calculation of the shortest route such that the network can respond to a singular link event faster than when a traditional dampening effect with exponential back-off is applied.
I/O device 440 may also include an input device (not shown), such as an alphanumeric input device, including alphanumeric and other keys for communicating information and/or command selections to the processors 402-406. Another type of user input device includes cursor control, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to the processors 402-406 and for controlling cursor movement on the display device.
System 400 may include a dynamic storage device, referred to as main memory 416, or a random access memory (RAM) or other computer-readable devices coupled to the processor bus 412 for storing information and instructions to be executed by the processors 402-406. Main memory 416 also may be used for storing temporary variables or other intermediate information during execution of instructions by the processors 402-406. System 400 may include a read only memory (ROM) and/or other static storage device coupled to the processor bus 412 for storing static information and instructions for the processors 402-406. The system set forth in
According to one embodiment, the above techniques may be performed by computer system 400 in response to processor 404 executing one or more sequences of one or more instructions contained in main memory 416. These instructions may be read into main memory 416 from another machine-readable medium, such as a storage device. Execution of the sequences of instructions contained in main memory 416 may cause processors 402-406 to perform the process steps described herein. In alternative embodiments, circuitry may be used in place of or in combination with the software instructions. Thus, embodiments of the present disclosure may include both hardware and software components.
A machine readable medium includes any mechanism for storing or transmitting information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). Such media may take the form of, but is not limited to, non-volatile media and volatile media. Non-volatile media includes optical or magnetic disks. Volatile media includes dynamic memory, such as main memory 416. Common forms of machine-readable medium may include, but is not limited to, magnetic storage medium (e.g., floppy diskette); optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of medium suitable for storing electronic instructions.
Embodiments of the present disclosure include various steps, which are described in this specification. The steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware, software and/or firmware.
Various modifications and additions can be made to the exemplary embodiments discussed without departing from the scope of the present invention. For example, while the embodiments described above refer to particular features, the scope of this invention also includes embodiments having different combinations of features and embodiments that do not include all of the described features. Accordingly, the scope of the present invention is intended to embrace all such alternatives, modifications, and variations together with all equivalents thereof.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6744775, | Sep 27 1999 | RPX CLEARINGHOUSE LLC | State information and routing table updates in large scale data networks |
7756049, | Aug 11 2004 | TWITTER, INC | Apparatus, system, and method for controlling link status changes |
8264962, | Jun 27 2005 | Cisco Technology, Inc. | System and method for dynamically responding to event-based traffic redirection |
8797913, | Nov 12 2010 | WSOU Investments, LLC | Reduction of message and computational overhead in networks |
20060179158, | |||
20060274673, | |||
20080062862, | |||
20140362737, | |||
20160164770, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 14 2015 | OSBORNE, ERIC | Level 3 Communications, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036382 | /0663 | |
Aug 20 2015 | Level 3 Communications, LLC | (assignment on the face of the patent) | / | |||
Oct 31 2024 | Level 3 Communications, LLC | WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT | NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY SECOND LIEN | 069295 | /0749 | |
Oct 31 2024 | GLOBAL CROSSING TELECOMMUNICATIONS, INC | WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT | NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY SECOND LIEN | 069295 | /0749 | |
Oct 31 2024 | Level 3 Communications, LLC | WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT | NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY FIRST LIEN | 069295 | /0858 | |
Oct 31 2024 | GLOBAL CROSSING TELECOMMUNICATIONS, INC | WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT | NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY FIRST LIEN | 069295 | /0858 |
Date | Maintenance Fee Events |
Nov 03 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
May 15 2021 | 4 years fee payment window open |
Nov 15 2021 | 6 months grace period start (w surcharge) |
May 15 2022 | patent expiry (for year 4) |
May 15 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 15 2025 | 8 years fee payment window open |
Nov 15 2025 | 6 months grace period start (w surcharge) |
May 15 2026 | patent expiry (for year 8) |
May 15 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 15 2029 | 12 years fee payment window open |
Nov 15 2029 | 6 months grace period start (w surcharge) |
May 15 2030 | patent expiry (for year 12) |
May 15 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |