draft-ietf-gsmp-dyn-part-reqs-00.txt   draft-ietf-gsmp-dyn-part-reqs-01.txt 
Internet Draft T. Anderson Internet Draft T. Anderson
Expiration: February 2002 Intel Expiration: June 2002 Intel Labs
File: draft-ietf-gsmp-dyn-part-reqs-00.txt C. Wang File: draft-ietf-gsmp-dyn-part-reqs-01.txt C. Wang
Pacific Broadband Com. Pacific Broadband Com.
J. Buerkle J. Buerkle
Nortel Networks Nortel Networks
December 2001
August 2001 Requirements for the Dynamic Partitioning of Switching Elements
Requirements for the Dynamic Partitioning of Network Elements
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. Internet-Drafts are all provisions of Section 10 of RFC2026. Internet-Drafts are
working documents of the Internet Engineering Task Force (IETF), its working documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts. distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
skipping to change at page 1, line 41 skipping to change at line 39
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in [RFC2119]. this document are to be interpreted as described in [RFC2119].
Abstract Abstract
This document identifies a set of requirements for the mechanisms This document identifies a set of requirements for the mechanisms
used to dynamically reallocate the resources of a network element used to dynamically reallocate the resources of a switching element
(NE) to its partitions. These requirements are particularly (e.g., an ATM switch) to its partitions. These requirements are
critical in the case of an operator creating a NE partition and then particularly critical in the case of an operator creating a switch
leasing control of that partition to a third party. partition and then leasing control of that partition to a third
party.
Definitions
1. Definitions
In this document, the following definitions will be used. In this document, the following definitions will be used.
Partition - A partition is a set of network element (NE) resources. Switching Element - A device that switches packets (e.g., an ATM
Partitions are also referred to as virtual NEÆs. switch or MPLS LSR) and whose resources can be divided into
partitions, each of which can be independently controlled by a
different controller.
Anderson, et. al. Expires June 2002 1
December 2001
Partition - A partition is a set of switching element (SE)
resources. Partitions are also referred to as virtual SEs.
Active Partition - An active partition is a partition in which the Active Partition - An active partition is a partition in which the
resources are in use; either under the direct control of a separate resources are in use; either under the direct control of a separate
controller or under internal policy based control. controller or under internal policy based control.
Controller - The entity responsible for controlling the operations Controller - The entity responsible for controlling the operations
of an active partition. of an active partition.
Static Partitioning - In static partitioning, no changes can be made Static Partitioning - In static partitioning, no changes can be made
to any active partitionÆs resources without requiring a restart of to any active partitionÆs resources without requiring a restart of
skipping to change at page 2, line 30 skipping to change at line 80
therefore fall into this category. therefore fall into this category.
Dynamic Partitioning - In dynamic partitioning, an active Dynamic Partitioning - In dynamic partitioning, an active
partitionÆs resources can be reapportioned without requiring a partitionÆs resources can be reapportioned without requiring a
restart of the partition. restart of the partition.
Frozen Partition - A frozen partition is an active partition that is Frozen Partition - A frozen partition is an active partition that is
in the process of being shutdown. A frozen partition's unused in the process of being shutdown. A frozen partition's unused
resources are relinquished, but all current connections are allowed resources are relinquished, but all current connections are allowed
to remain until removed by the controller. As connections close the to remain until removed by the controller. As connections close the
resources are returned to the NE. resources are returned to the SE.
Deterministic Partitioning - In deterministic partitioning, each Deterministic Partitioning - In deterministic partitioning, each
active partition is given an allotted quantity of each resource. active partition is given an allotted quantity of each resource.
The usage of resources in one active partition does not influence The usage of resources in one active partition does not influence
the resources available to another active partition. All the resources available to another active partition. All
discussions in these requirements presuppose the use of discussions in these requirements presuppose the use of
deterministic partitioning. deterministic partitioning.
Statistical Partitioning - In statistical partitioning, some or all Statistical Partitioning - In statistical partitioning, some or all
resources are pooled among the active partitions, and allocations resources are pooled among the active partitions, and allocations
may be based on percentages or on some other metric. Discussion of may be based on percentages or on some other metric. Discussion of
statistical partitions is outside the scope of these requirements. statistical partitions is outside the scope of these requirements.
Proactive Notification - A proactive notification is a message sent Proactive Notification - A proactive notification is a message sent
from a NE to its controller at the time an event occurs. from a SE to its controller at the time an event occurs.
Specifically, if a NE asynchronously sends the controller a message Specifically, if a SE asynchronously sends the controller a message
when it is dynamically partitioned, we say that the NE has when it is dynamically partitioned, we say that the SE has
proactively notified its controller of the resource reapportionment. proactively notified its controller of the resource reapportionment.
Explicit Reactive Notification - In explicit reactive notification, Explicit Reactive Notification - In explicit reactive notification,
the NE does not asynchronously send a message when dynamic the SE does not asynchronously send a message when dynamic
partitioning occurs. Instead, the NE includes a "resource changed" partitioning occurs. Instead, the SE includes a "resource changed"
error code in the response to a subsequent request by the error code in the response to a subsequent request by the
controller. controller.
Implicit Reactive Notification - This is similar to an Explicit Implicit Reactive Notification - This is similar to an Explicit
Reactive Notification except that the protocol does not contain an Reactive Notification except that the protocol does not contain an
explicit "resource changed" error. In this case, all that the NE explicit "resource changed" error. In this case, all that the SE
can do is to indicate that some unspecified error has occurred when can do is to indicate that some unspecified error has occurred when
the controller attempts to use non-allocated resources. the controller attempts to use non-allocated resources.
2. Introduction Anderson, et. al. Expires June 2002 2
December 2001
Introduction
Several logical entities are involved in the partitioning and Several logical entities are involved in the partitioning and
control of a NE. First, a network element (for the purposes of this control of a SE. First, a switching element (for the purposes of
draft) is a device whose resources can be partitioned and whose this draft) is a device that "switches" packets and whose resources
partitions can each be controlled by a single controller. (This can be partitioned and whose partitions can each be controlled by a
partitioning also implies the ability to enforce this division of single controller. (This partitioning also implies the ability to
resources between competing partitions). Second, the partition enforce this division of resources between competing partitions).
manager (PM) is a management entity that specifies the number of Second, the partition manager (PM) is a management entity that
virtual NEÆs into which the NE should be partitioned and the specifies the number of virtual SEs into which the SE should be
resources to be allocated to each virtual NE. Lastly, a controller partitioned and the resources to be allocated to each virtual SE.
directs the use of the resources of one or more partitions to Lastly, a controller directs the use of the resources of one or more
provide a set of services. partitions to provide a set of services.
In the rest of this draft, we will deal exclusively with logical In the rest of this draft, we will deal exclusively with logical
entities although it is worth noting here that there are many entities although it is worth noting here that there are many
possible mappings of logical entities to physical entities. For possible mappings of logical entities to physical entities. For
example, there may be multiple logical controllers running on a example, there may be multiple logical controllers running on a
single physical processor (and for convenience we may refer to this single physical processor (and for convenience we may refer to this
processor as a physical controller). Likewise, there may be processor as a physical controller). Likewise, there may be
multiple partition managers running on a single management multiple partition managers running on a single management
workstation. A network element may consist of multiple physical workstation. A switching element may consist of multiple physical
elements (e.g., some number of blades in a chassis) or fractional elements (e.g., some number of blades in a chassis) or fractional
physical elements (i.e., nested partitioning). Finally, any physical elements (i.e., nested partitioning). Finally, any
combination of these logical entities could theoretically be combination of these logical entities could theoretically be
collocated on the same physical resources. collocated on the same physical resources.
However, for many reasons, the physical realm often reflects this However, for many reasons, the physical realm often reflects this
logical division of functionality. To facilitate this division, logical division of functionality. To facilitate this division,
several protocols, such as MEGACO [RFC3015] and GSMP [GSMPv3], exist several protocols, such as MEGACO [RFC3015] and GSMP [GSMPv3], exist
that allow control functionality to be physically separated from that allow control functionality to be physically separated from
switching/forwarding functionality. Recently, some regulatory switching functionality. Recently, some regulatory environments
environments have mandated multi-provider access to a single have mandated multi-provider access to a single physical
physical infrastructure. To satisfy these regulations, a common use infrastructure. To satisfy these regulations, a common use of
of partitioning will be for the owner of the NE to partition the NE partitioning will be for the owner of the SE to partition the SE
into several virtual NEÆs and then to lease these to third parties. into several virtual SEs and then to lease these to third parties.
In this case, the PM will likely be physically separate from all of In this case, the PM will likely be physically separate from all of
the controllers. For locality (and therefore ease) of management, the controllers. For locality (and therefore ease) of management,
NEÆs will be remotely configurable and thus the PM will be SEs will be remotely configurable and thus the PM will be physically
physically separated from the NE. The following illustration separated from the SE. The following illustration depicts this
depicts this arrangement. The dashed lines indicate interactions arrangement. The dashed lines indicate interactions between the
between the entities and are labeled with the cardinality of the entities and are labeled with the cardinality of the relationship
relationship between the entities. between the entities.
Anderson, et. al. Expires June 2002 3
December 2001
------------------ ------------------- ------------------ -------------------
| | * * | | | | * * | |
| Partition |-------------| Controller | | Partition |-------------| Controller |
| Manager | C | | | Manager | C | |
------------------ ------------------- ------------------ -------------------
1 \ / 1 1 \ / *
\ / \ /
\ A B / \ A B /
\ / \ /
1 \ / * * \ / *
------------/---- ------------/------
| --------/--- | | --------/--- |
| |Partition | | | |Partition | |
| | | | | | | |
| ------------ | | ------------ |
|Network Element| |Switching element|
----------------- -------------------
Interaction A is one in which the PM partitions the NE and allocates Interaction A is one in which the PM partitions the SE and allocates
resources to the partitions it creates. There is a one-to-one resources to the partitions it creates. There is a one-to-many
relationship between PMÆs and NEÆs. In order to support dynamic relationship between PMs and SEs. In order to support dynamic
partitioning, this document will place certain requirements on partitioning, this document will place certain requirements on
proposed (or new) solutions in this space such as [MSF-SPMIB]. proposed (or new) solutions in this space.
Interaction B is one by which the controller configures and manages Interaction B is one in which the controller configures and manages
an active partition. Current protocols implementing this an active partition. Current protocols implementing this
interaction include GSMP [GSMPv3] and MEGACO [RFC3015]. While for interaction include GSMP [GSMPv3] and MEGACO [RFC3015]. These
these protocols there is a one-to-one relationship between protocols allow a many-to-many relationship between controller and
controller and partition, in general there is a one-to-many partition.
relationship between controller and partition.
Interaction C is one by which a PM and a controller could Interaction C is one by which a PM and a controller could
communicate to alter the nature of an active partition. There is a communicate to alter the nature of an active partition. There is a
many-to-many relationship between PMÆs and controllers. For many-to-many relationship between PMs and controllers. For example,
example, there are multiple PMÆs per controller in the case where a there are multiple PMs per controller in the case where a controller
controller is managing two partitions from different NEÆs and there is managing two partitions from different SEs and there are multiple
are multiple controllers per PM in the case where a NE has two controllers per PM in the case where a SE has two partitions each
partitions each managed by a different controller. Possible types managed by a different controller. Possible types of interactions
of interactions between PM and controller include: between PM and controller include:
- A controller could request that the resources of one of its - A controller could request that the resources of one of its
active partitions be altered; either increased or decreased. active partitions be altered; either increased or decreased.
- The PM could respond to a controller request for altered - The PM could respond to a controller request for altered
resource levels. resource levels.
- The PM could request that a controller release resources - The PM could request that a controller release resources
currently allocated to one of its active partitions. This currently allocated to one of its active partitions. This could
could involve the following types of request: involve the following types of request:
- A request to relinquish allocated but currently unused - A request to relinquish allocated but currently unused
resources. That is to put a freeze on additional use of the resources. That is to put a freeze on additional use of the
specified resources. specified resources.
- A request to relinquish used resources. - A request to relinquish used resources.
- A request to relinquish an active partition. That is - A request to relinquish an active partition. That is
a request that a controller release control of an active a request that a controller release control of an active
partition. partition.
- The controllerÆs response to a PM request. - The controllerÆs response to a PM request.
As far as the authors know, no proposed standard solutions currently As far as the authors know, no proposed standard solutions currently
exist for type 3 interactions. exist for interactions of type C.
Anderson, et. al. Expires June 2002 4
December 2001
3. Dynamic Partitioning Dynamic Partitioning
Static repartitioning of a NE can be a costly and inefficient Static repartitioning of a SE can be a costly and inefficient
process. First, before static repartitioning can take place, all process. First, before static repartitioning can take place, all
existing connections with controllers must be severed. When this existing connections with controllers must be severed. When this
happens, the NE will typically release all the state configured by happens, the SE will typically release all the state configured by
the controller. Then, the virtual NE must be placed in the "down" the controller. Then, the virtual SE must be placed in the "down"
state while the repartitioning takes place. Once the repartitioning state while the repartitioning takes place. Once the repartitioning
is completed, the partitions are placed in the "up" state and the is completed, the partitions are placed in the "up" state and the
controllers are allowed to reconnect to the partitions. Then, the controllers are allowed to reconnect to the partitions. Then, the
controllers can reestablish state in the active partition. Thus, controllers can reestablish state in the active partition. Thus,
static repartitioning results in a period of downtime and a period static repartitioning results in a period of downtime and a period
in which the controllers are reestablishing state. This is the case in which the controllers are reestablishing state. This is the case
even if resources that are not currently in use in one partition, even if resources that are not currently in use in one partition,
either an active or an inactive partition, are intended for a fully either an active or an inactive partition, are intended for a fully
loaded active partition. loaded active partition.
skipping to change at page 5, line 38 skipping to change at line 247
partitioning since it avoids the downtime and loss of state partitioning since it avoids the downtime and loss of state
associated with static partitioning. However, a different set of associated with static partitioning. However, a different set of
potential problems exists for dynamic partitioning. Some questions potential problems exists for dynamic partitioning. Some questions
to be answered include the following: to be answered include the following:
- How is the controller notified of an increase or decrease in - How is the controller notified of an increase or decrease in
resources? resources?
- What should happen when the PM would like to decrease the - What should happen when the PM would like to decrease the
resources allocated to a partition but those resources are in resources allocated to a partition but those resources are in
use? use?
4. Requirements Requirements
This document does not attempt to answer the preceding questions but This document does not attempt to answer the preceding questions but
instead defines a set of requirements that any solution to these instead defines a set of requirements that any solution to these
problems MUST satisfy. problems MUST satisfy.
1. There MUST be a mechanism by which a PM can create virtual NEÆs 1. There MUST be a mechanism by which a PM can create virtual SEs on
on the NE and allocate NE resources to those virtual NEÆs. the SE and allocate SE resources to those virtual SEs.
2. NEÆs MUST ensure that controllers do not use more resources than 2. SEs MUST ensure that controllers do not use more resources than
those currently allocated to each virtual NE. Therefore, each those currently allocated to each virtual SE. Therefore, each
control protocol MUST provide either an explicit reactive control protocol MUST provide either an explicit reactive
notification or an implicit reactive notification to indicate notification or an implicit reactive notification to indicate
resource exhaustion. resource exhaustion.
3. Furthermore, this mechanism MUST support the partitioning of all 3. Furthermore, this mechanism MUST support the partitioning of all
resources discoverable through GSMP (e.g., label tables). Other resources discoverable through GSMP (e.g., label tables). Other
resources used by GSMP indirectly (e.g., CPU) or resources (e.g., resources used by GSMP indirectly (e.g., CPU) or resources (e.g.,
forwarding table entries) used by other types of NEÆs MAY be forwarding table entries) used by other types of SEs MAY be
supported. supported.
4. If a PM instructs a NE to release resources allocated to an 4. If a PM instructs a SE to release resources allocated to an active
active partition and if any of those resources are currently in partition and if any of those resources are currently in use, the
use, the NE MUST deny the PMÆs request. SE MUST deny the PMÆs request.
5. Subsequent to a resource reallocation failure, the PM SHOULD make 5. Subsequent to a resource reallocation failure, the PM SHOULD make
use of one or both of the capabilities described in requirements use of one or both of the capabilities described in requirements 6
6 and 7. and 7.
6. A PM SHOULD be able to tell a NE to make an active partition into 6. A PM SHOULD be able to tell a SE to make an active partition into
a frozen partition. a frozen partition.
Anderson, et. al. Expires June 2002 5
December 2001
7. A PM SHOULD be able to contact the controller to ask it to reduce 7. A PM SHOULD be able to contact the controller to ask it to reduce
its resource utilization. its resource utilization.
8. The PM MUST be able to exercise "power on/off" type control of 8. The PM MUST be able to exercise "power on/off" type control of the
the virtual NEÆs that it has created. When the virtual power to virtual SEs that it has created. When the virtual power to an
an active partition is turned off, the partition becomes inactive active partition is turned off, the partition becomes inactive and
and any controllers associated with that partition are any controllers associated with that partition are disconnected.
disconnected. This capability allows a PM to resort to static This capability allows a PM to resort to static partitioning when
partitioning when a controller is uncooperative about releasing a controller is uncooperative about releasing resources.
resources. 9. During dynamic repartitioning, a SE MUST maintain all existing
9. During dynamic repartitioning, a NE MUST maintain all existing
state associated with the partitions being modified. state associated with the partitions being modified.
10. Control protocols SHOULD NOT include any mechanism by which a 10. Control protocols SHOULD NOT include any mechanism by which a
NE can ask its controller to reduce its resource usage. SE can ask its controller to reduce its resource usage.
11. Control protocols MAY contain proactive resource notification 11. Control protocols MAY contain proactive resource notification
messages by which a NE could instantaneously inform the messages by which a SE could instantaneously inform the controller
controller of an increase or decrease in resources. (We do not of an increase or decrease in resources. (We do not specifically
specifically require control protocols to contain proactive require control protocols to contain proactive notifications
notifications because all control protocols must already have because all control protocols must already have explicit or
explicit or implicit reactive notifications as mentioned in implicit reactive notifications as mentioned in requirement #2).
requirement #2). 12. A PM MAY directly inform a controller of a change in virtual SE
12. A PM MAY directly inform a controller of a change in virtual resources rather than rely on the implicit resource exhaustion
NE resources rather than rely on the implicit resource exhaustion
mechanism of the control protocol. mechanism of the control protocol.
13. NEÆs MAY inform the PM of resource exhaustion on a particular 13. SEs MAY inform the PM of resource exhaustion on a particular
partition. partition.
14. A controller MAY ask the PM for further resources or a 14. A controller MAY ask the PM for further resources or a
reduction in existing resources. reduction in existing resources.
15. To support the automation of interaction between the PM and 15. To support the automation of interaction between the PM and
attached controllers, the PM MUST be able to determine from the attached controllers, the PM MUST be able to determine from the SE
NE the addresses of the controllers that are currently attached the addresses of the controllers that are currently attached to a
to a virtual NE. Additionally, the NE MAY allow the PM to virtual SE. Additionally, the SE MAY allow the PM to determine
determine which control protocol (and version thereof) is which control protocol (and version thereof) is currently managing
currently managing each active partition. each active partition.
5. Security Considerations Security Considerations
Only authorized PMs MUST be allowed to dynamically repartition a NE. Only authorized PMs MUST be allowed to dynamically repartition a SE.
Similarly, only the PM (or an authorized agent of the PM) that is Similarly, only the PM (or an authorized agent of the PM) that is
authorized to partition a NE MUST be allowed to contact controllers authorized to partition a SE MUST be allowed to contact controllers
to request that they decrease their resources or inform them that to request that they decrease their resources or inform them that
their resources have been increased. Likewise, the PM MUST verify their resources have been increased. Likewise, the PM MUST verify
and authenticate that any requests for additional/fewer resources and authenticate that any requests for additional/fewer resources
for a virtual NE have come from a controller authorized to control for a virtual SE have come from a controller authorized to control
the specified virtual NE. the specified virtual SE.
6. Intellectual Property Considerations Intellectual Property Considerations
The IETF is being notified of intellectual property rights claimed The IETF is being notified of intellectual property rights claimed
in regard to some or all of the specification contained in this in regard to some or all of the specification contained in this
document. For more information, consult the online list of claimed document. For more information, consult the online list of claimed
rights. rights.
7. Acknowledgements Acknowledgements
The authors would like to acknowledge the contribution of Avri Doria The authors would like to acknowledge the contributions of Avri
to the initial versions of this draft. Doria to this draft.
8. References Anderson, et. al. Expires June 2002 6
December 2001
Normative References
[GSMPv3] A. Doria, et. al, "Draft-ietf-gsmp-08.txt", work in [GSMPv3] A. Doria, et. al, "Draft-ietf-gsmp-10.txt", work in
progress. progress.
[SPMIB] T. Anderson, et. al, "draft-anderson-gsmp-swpart-mib-
00.txt", work in progress, February 2001.
[RFC2119] S. Bradner, "Key words for use in RFCs to Indicate [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, BCP 14, March 1997. Requirement Levels", RFC 2119, BCP 14, March 1997.
[RFC2297] P. Newman, et. al., "IpsilonÆs General Switch Management Informative References
Protocol Version 2.0," RFC2297, March 1998.
[RFC3015] F. Cuervo, et. al., "Megaco Protocol 1.0," RFC3015, [RFC3015] F. Cuervo, et. al., "Megaco Protocol 1.0," RFC3015,
November 2000. November 2000.
9. Author Information Author Information
Todd A. Anderson Todd A. Anderson
Intel Intel
2111 NE 25th Avenue 2111 SE 25th Avenue
Hillsboro, OR 97124 USA Hillsboro, OR 97124 USA
Phone: +1 503 712 1760 Phone: +1 503 712 1760
Email: todd.a.anderson@intel.com Email: todd.a.anderson@intel.com
Chao-Chun Wang Chao-Chun Wang
Pacific Broadband Communications Pacific Broadband Communications
3103 N. First Street 3103 N. First Street
San Jose, CA 95134 San Jose, CA 95134
Phone: +1 408 468 6137 Phone: +1 408 468 6137
Email: ccwang@pbc.com Email: ccwang@pbc.com
Joachim Buerkle Joachim Buerkle
Nortel Networks Germany GmbH & Co. KG Nortel Networks Germany GmbH & Co. KG
Hahnstrasse 37-39 Hahnstrasse 37-39
60528 Frankfurt 60528 Frankfurt
Phone: ++49 (0)69 6697 3281 Phone: ++49 (0)69 6697 3281
Email: joachim.buerkle@nortelnetworks.com Email: joachim.buerkle@nortelnetworks.com
Anderson, et. al. Expires June 2002 7
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/