Abstract:
The subject matter described herein includes methods, systems, and computer readable media for providing virtualized Diameter network architecture and for routing traffic to dynamically instantiated Diameter resource instances. A system for providing virtualized Diameter resources and for routing traffic to dynamically instantiated Diameter resource instances includes a cloud virtualizer for virtualizing a hardware pool and for supporting dynamically instantiated Diameter resource instances. The system further includes a cloud orchestrator for monitoring network and hardware events and for instructing the cloud virtualizer to instantiate Diameter resource instances or to reallocate hardware from the hardware pool among instantiated Diameter resource instances in response to the network or hardware conditions. The system further includes a cloud flow manager for dynamically configuring at least one network element for routing traffic to the dynamically instantiated Diameter resource instances or the allocated hardware.

Description:
PRIORITY CLAIM 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/766,073, filed Feb. 18, 2013, the disclosure of which is incorporated herein by reference in its entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    The subject matter described herein relates to Diameter network virtualization and for routing messages to dynamically-instantiated network resource instances. More particularly, the subject matter described herein includes methods, systems, and computer readable media for providing a virtualized Diameter network architecture and for routing traffic to dynamically-instantiated Diameter resource instances. 
       BACKGROUND 
       [0003]    In current telecommunications network architectures, networks are engineered or statically provisioned for maximum capacity during peak hours. During off-peak hours, equipment is often idle. Accordingly, network resources are wasted, resulting in unnecessary capital expenditures by the network operators. 
         [0004]    Virtualization in networks has been proposed in some contexts. However, once a virtual network element is instantiated, there is no standard mechanism for routing traffic to the newly-instantiated element. In addition, because Diameter networks are only beginning to be widely adopted, virtualization has not been fully explored in such networks. Accordingly, there exists a need for methods, systems, and computer readable media for methods, systems, and computer readable media for providing a virtualized Diameter network architecture and for routing traffic to dynamically-instantiated Diameter resource instances. 
       SUMMARY 
       [0005]    The subject matter described herein includes methods, systems, and computer readable media for providing virtualized Diameter network architecture and for routing traffic to dynamically instantiated Diameter resource instances. A system for providing virtualized Diameter resources and for routing traffic to dynamically instantiated Diameter resource instances includes a cloud virtualizer for virtualizing a hardware pool and for supporting dynamically instantiated Diameter resource instances. The system further includes a cloud orchestrator for monitoring network and hardware events and for instructing the cloud virtualizer to instantiate Diameter resource instances or to reallocate hardware from the hardware pool among instantiated Diameter resource instances in response to the network or hardware conditions. The system further includes a cloud flow manager for dynamically configuring at least one network element for routing traffic to dynamically-instantiated Diameter resource instances or to the allocated hardware. 
         [0006]    The subject matter described herein can be implemented in software in combination with hardware and/or firmware. For example, the subject matter described herein can be implemented in software executed by a processor. In one exemplary implementation, the subject matter described herein can be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which: 
           [0008]      FIG. 1  is a block diagram of a virtualized Diameter network architecture according to an embodiment of the subject matter described herein; 
           [0009]      FIG. 2  is a flow chart illustrating an exemplary process for providing a virtualized Diameter network architecture and for routing traffic to dynamically-instantiated Diameter network instances according to an embodiment of the subject matter described herein. 
           [0010]      FIGS. 3A and 3B  are block diagrams illustrating the dynamic reallocation of hardware from policy and charging rules function (PCRF) resource instances to Diameter signaling router (DSR) resource instances according to an embodiment of the subject matter described herein; 
           [0011]      FIGS. 4A and 4B  are block diagrams illustrating the dynamic reallocation of hardware from DSR resource instances to PCRF resource instances according to an embodiment of the subject matter described herein; 
           [0012]      FIGS. 5A and 5B  are block diagrams illustrating the dynamic reallocation of hardware assigned to subscriber profile repository (SPR) resource instances to DSR resource instances according to an embodiment of the subject matter described herein; 
           [0013]      FIGS. 6A and 6B  are block diagrams illustrating the dynamic reallocation of hardware from DSR resource instances to SPR resource instances according to an embodiment of the subject matter described herein; 
           [0014]      FIGS. 7A and 7B  are block diagrams illustrating dynamic reallocation of hardware from PCRF resource instances to SPR resource instances according to an embodiment of the subject matter described herein; and 
           [0015]      FIGS. 8A and 8B  are block diagrams illustrating dynamic reallocation of hardware from SPR resource instances to PCRF resource instances according to an embodiment of the subject matter described herein. 
       
    
    
     DETAILED DESCRIPTION 
       [0016]    As Diameter networks continue to evolve, Diameter network elements will move to the cloud, representing a virtual resource that can be used as needed by network operators. This represents a fundamental shift in the way network operators improve network scalability and flexibility. With a cloud based Diameter network, operators can leverage virtualization and software designed network technologies to deliver dynamic and elastic scalability in terms of sessions, transactions, and throughput. Such virtualization can be accomplished using standard hardware supported by a virtualization middleware layer or hypervisor. Virtualizing Diameter network resources enables flexible network screens for different types of services. Such virtualization also helps produce capital and operational expenditures by creating a more flexible architecture and deployment options. For example, operators no longer need to build excess core capacity to address peak hours, as virtual Diameter network resources can be temporarily moved to different locations based on changing traffic levels. Rather than statically provisioning network elements based on peak network utilization, the subject matter described herein includes a virtualized network architecture where Diameter signaling router (DSR), policy and charging rules function (PCRF), and subscriber profile repository (SPR) resource instances are dynamically instantiated on demand and where traffic is automatically routed to dynamically-instantiated resource instances. 
         [0017]      FIG. 1  is a block diagram of a virtualized Diameter network architecture according to an embodiment of the subject matter described herein. Referring to  FIG. 1 , the network architecture includes a hardware pool  100  on which Diameter resource instances, some of which may be dynamically instantiated, execute. In the illustrated example, the Diameter resource instances include PCRF resource instances  102 , DSR resource instances  104 , and SPR resource instance  106 . Hardware pool  100  may include computing platforms, such as server platforms or processor blades capable of supporting one or more Diameter resource instances. Each processor blade may include a microprocessor and associated memory. 
         [0018]    Because hardware is not always standardized, and because it may be necessary to dynamically allocate new hardware using a standard interface, a cloud virtualizer  108  is provided. Cloud virtualizer  108  uses virtualization technology, such as virtual machine technology, to dynamically allocate or reallocate hardware resources from hardware pool  100  and to instantiate needed DSR, PCRF, or SPR resource instances on that hardware. A cloud orchestrator  110  monitors network and hardware events and instructs virtualizer  108  to dynamically allocate needed hardware resources and to dynamically instantiate DSR, PCRF, and SPR resource instances. For example, if cloud orchestrator  110  determines that the load on a DSR at a particular location recedes and there is a surge in the need for PCRF resources, orchestrator  110  may reallocate processor blades from hardware pool  100  that are currently allocated to the DSR resource instance whose load has receded to additional PCRF resource instances. This can be done with stateful binding to maintain sessions and context for newly-instantiated resources. In another example, if the load on PCRF resource instances recedes and the load on DSR resource instances increases, hardware may be reallocated from the PCRF resource instance whose load has receded to the DSR resource instances in need of additional processing power. In yet another example, hardware assigned to SPR resource instances whose load has receded may be reassigned to DSR resource instances whose load has increased. In yet another example, hardware assigned to DSR resource instances whose load has receded may be reassigned to SPR resource instances whose load has increased. In still another example, hardware assigned to PCRF resource instances whose load has receded may be assigned to SPR resource instances whose load has increased. In still another example, hardware assigned to SPR resource instances whose load has receded may be assigned to PCRF resource instances whose load has increased. Any reallocation or reassignment of hardware among Diameter resource instances in response to network or hardware conditions is intended to be within the scope of the subject matter described herein. 
         [0019]    Once newly-instantiated resources are created, a cloud flow manager  112  dynamically routes traffic to the newly-instantiated virtual resources. For example, cloud flow manager  112  may use software-defined network technologies, such as OpenFlow, to dynamically manipulate traffic flows entering or leaving the network. In one example, when a network with one active DSR resource instances experiences a signaling traffic surge, additional processor blades with DSR resources can be added to manage the traffic. In one embodiment, cloud virtualizer  108  may implement a hypervisor layer that allows dynamic allocation and deallocation of hardware from hardware pool  100  to and from Diameter network resource instances, such as PCRF resource instances  102 , DSR resource instances  104 , and SPR resource instances  106 . 
         [0020]    Cloud orchestrator  110  instructs flow manager  112  to direct signaling flows to the newly-instantiated Diameter resource instances in the cloud. Flow manager  112  issues SDN commands, such as OpenFlow commands, to network routers to route messages to the newly-instantiated resources or to hardware that is newly allocated to existing resources. The OpenFlow protocol is described in the OpenFlow Switch Specification, Version 1.1.0, Feb. 28, 2011, the disclosure of which is incorporated herein by reference in its entirety. 
         [0021]      FIG. 2  is a flow chart illustrating exemplary overall steps for providing a virtualized Diameter network architecture and for routing traffic to dynamically-instantiated Diameter resource instances. Referring to  FIG. 2 , in step  200 , a hardware pool for supporting dynamically instantiated Diameter resource instances is provided. For example, hardware pool  100 , which supports DSR, PCRF, and SPR virtual machines, may be virtualized. In step  202 , network and hardware events are monitored. For example, cloud orchestrator  110  may receive input from network monitoring devices and from hardware pool  100  of network and hardware load conditions. In step  204 , it is determined whether hardware resource reallocation or new Diameter resource instances are needed based on the monitored network or hardware events. If a resource reallocation or a Diameter resource instance instantiation is needed, control proceeds to step  206  where hardware resources are reallocated or where Diameter resource instances are instantiated. For example, additional processor blades may be allocated to support new or existing DSR, PCRF, or SPR resource instances. In another example, hardware resources associated with idle Diameter resource instances may be reallocated to other Diameter resource instances. In step  208 , external traffic is routed to the newly instantiated Diameter network instances or newly allocated hardware. Step  208  may include issuing SDN commands, such as OpenFlow commands, to network routers to route traffic to newly-instantiated DSR, PCRF, or SPR resource instances or to hardware that has been assigned to new or existing Diameter resource instances. 
         [0022]    As stated above, cloud orchestrator  110  and cloud virtualizer  108  may communicate to reallocate hardware to Diameter resource instances of different types in response to network or hardware conditions. In one example, cloud orchestrator  110  may instruct cloud virtualizer  108  to allocate hardware previously allocated to PCRF resource instances to one or more DSR resource instances.  FIGS. 3A and 3B  illustrate this example. In  FIG. 3A , a shelf  300  includes a plurality of processor blades  302 ,  304 ,  306 ,  308 ,  310 , and  312 . Each processor blade  302 ,  304 ,  306 ,  308 ,  310 , and  312  may include a microprocessor, memory, disk storage, and network communications capabilities for supporting Diameter resource instances. In the illustrated example, processor blades  302 ,  304 ,  306 , and  308  are currently allocated to PCRF resource instances  102  and processor blades  310  and  312  are allocated to DSR resource instances  104 . When cloud orchestrator  110  receives notification that the processor blades supporting DSRs  104  are overloaded and the processor blades supporting PCRFs  102  have additional capacity, cloud orchestrator  110  may instruct cloud virtualizer  108  to allocate one or more processor blades previously allocated to PCRF resource instances to a DSR resource instance.  FIG. 3B  illustrates the state of the system from  FIG. 3A  after such reallocation. In  FIG. 3B , processor blade  308  that was previously allocated to a PCRF resource instance  102  is now allocated to a DSR resource instance  104 . Once the newly instantiated DSR resource instance  104  is running, cloud flow manager  112  may issue SDN commands to switches and routers to route Diameter signaling traffic to the newly instantiated DSR resource instance. In addition, cloud flow manager  112  may instruct switches and routers to route PCRF traffic previously directed to processor blade  306  to processor blades  302  and  304 . 
         [0023]    In another example, cloud orchestrator  110  may instruct cloud virtualizer  108  to allocate hardware previously allocated to a DSR resource instance to a PCRF resource instance.  FIGS. 4A and 4B  illustrate such an example. In  FIG. 4A , processor blades  302 ,  304 ,  306 , and  308  are allocated to DSR resource instances, and processor blades  310  and  312  are allocated to PCRF resources instances. Cloud orchestrator  110  receives notification that PCRF resource instances are overloaded. Accordingly, cloud orchestrator  110  instructs cloud virtualizer  108  to reallocate processor blade from a DSR resource instance to a PCRF resource instance.  FIG. 4B  illustrates the state of the system from  FIG. 4A  after such reallocation. In  FIG. 4B , processor blades  302 ,  304 , and  306  are allocated to PCRF resource instances, and processor blades  308 ,  310 , and  312  are allocated to DSR resource instances. As with the previous example, once processor blade  308  is changed from a DSR resource instance  104  to a PCRF resource instance  102 , cloud flow manager  112  may instruct switches and routers to route new PCRF traffic to processor blade  308  and to load share the DSR traffic among processor blades  302 ,  304 , and  306 . 
         [0024]    In yet another example, cloud orchestrator  110  may instruct cloud virtualizer  108  to allocate hardware previously allocated to SPR resource instances to DSR resource instances.  FIGS. 5A and 5B  illustrate such an example. In  FIG. 5A , processor blades  302 ,  304 ,  306 , and  308  are allocated to SPR resource instances  106 . Processor blades  310  and  312  are allocated to DSR resource instances  104 . When cloud orchestrator  110  determines that processor blades supporting DSR resource instances  104  are overloaded and that processor blades supporting resource instances  106  have available capacity, cloud orchestrator  110  may instruct cloud virtualizer  108  to reallocate processor blade  308  from SPR resource instance  106  to a DSR resource instance  104 . 
         [0025]      FIG. 5B  illustrates the state of the system from  FIG. 5A  after reallocation. In  FIG. 5B , processor blade  308  is allocated to a DSR resource instance  104 , rather than an SPR resource instance  106 . Once processor blade  308  is assigned to a DSR resource instance  104 , cloud flow manager  112  may instruct switches and routers to route DSR traffic to processor blade  308  and to load share SPR traffic among processor blades  302 ,  304 , and  306 . 
         [0026]    In yet another example, hardware resources previously allocated to DSR resource instances may be allocated to SPR resource instances.  FIGS. 6A and 6B  illustrate this example. In  FIG. 6A , processor blades  302 ,  304 ,  306 , and  308  are allocated to DSR resource instances, and processor blades  310  and  312  are allocated to SPR resource instances. If cloud orchestrator  110  detects that processor blades supporting SPR resource instances  106  are overloaded and processor blades supporting DSR resource instances have additional capacity, cloud orchestrator  110  may instruct cloud virtualizer  108  to reallocate a processor blade previously allocated to a DSR resource instance to an SPR resource instance. 
         [0027]      FIG. 6B  illustrates the state of the system after such dynamic reallocation. In  FIG. 6B , processor blade  308  is allocated to an SPR resource instance  106 , rather than a DSR resource instance  104 . Once processor blade  308  is assigned to an SPR resource instance  106 , cloud flow manager  112  may instruct switches and routers to route SPR traffic to processor blade  308  and to load share DSR traffic formerly handled by processor blade  308  among processor blades  302 ,  304 , and  306 . 
         [0028]    In yet another example, hardware previously allocated to PCRF resource instances may be dynamically allocated to SPR resource instances.  FIGS. 7A and 7B  illustrate this example. Referring to  FIG. 7A , processor blades  302 ,  304 ,  306 , and  308  are allocated to PCRF resource instances  102 . Processor blades  310  and  312  are allocated to SPR resource instances  106 . If cloud orchestrator  110  detects that processor blades allocated to SPR resource instances  106  are overloaded and processor blades allocated to PCRF resource instances  102  have additional capacity, cloud orchestrator  110  may instruct cloud virtualizer  108  to reallocate hardware to SPR resource instances. 
         [0029]      FIG. 7B  illustrates the state from the system of  7 A after such reallocation. In  FIG. 7B , a new SPR resource instance has been instantiated and the new SPR resource instance is assigned SPR resource instance  106 . Once processor blade  308  is allocated SPR resource instance  106 , cloud flow manager  112  may instruct switches and routers to direct SPR traffic to processor blade  308  and to load share PCRF traffic formerly handled by processor blade  308  among processor blades  302 ,  304 , and  306 . 
         [0030]    In yet another example, hardware resources previously assigned to an SPR resource instance may be reallocated to a PCRF resource instance.  FIGS. 8A and 8B  illustrate such an example. Referring to  FIG. 8A , processor blades  302 ,  304 ,  306 , and  308  are dynamically allocated to SPR resource instances  106 . Processor blades  310  and  312  are assigned to PCRF resource instances  102 . If cloud orchestrator  110  determines that the hardware supporting PCRF resource instances  102  is overloaded and the hardware supporting SPR resource instances  106  is underutilized, cloud orchestrator  110  may instruct cloud virtualizer  108  to reallocate one or more processor blades to the PCRF resource instances. In the illustrated example, cloud orchestrator  110  instructs cloud virtualizer  108  to allocate hardware blade  308  to a PCRF resource instance  102 .  FIG. 8B  illustrates the state of the system after such dynamic reallocation. In  FIG. 8B , processor blade  308  which was previously allocated to an SPR resource instance is now reallocated to a newly instantiated PCRF resource instance  102 . Once processor blade  308  is assigned to a PCRF resource instance  102 , cloud flow manager  112  may instruct switches and routers to route PCRF traffic to processor blade  308  and to load share SPR traffic formerly handled by processor blade  308  among processor blades  302 ,  304 , and  306 . 
         [0031]    It will be understood that various details of the presently disclosed subject matter may be changed without departing from the scope of the presently disclosed subject matter. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.