Disclosure of Invention
The invention aims to solve the technical problem of realizing unified dispatching and management of IMS and call center platform by a self-adaptive dispatching method.
In order to solve the technical problems, according to one aspect of the invention, an IMS traffic self-adaptive dispatching system is provided, which is realized between an IMS traffic network and a call center service node, and comprises a relay group module and a route matching engine module, wherein the relay group module is used for managing a signaling endpoint relay group, the route matching engine module is used for matching an engine, identifying a far-end endpoint according to a network IP address, a signaling header field and a calling number and a called number as a starting point of an intelligent incoming route, the relay group module is connected with the IMS traffic network and the call center, the route matching engine module simultaneously manages and records far-end endpoint information for the purpose of outgoing route, the route matching engine module manages a plurality of nodes and performs balanced distribution among the nodes according to capacity and capability, and the route matching engine module identifies whether the far-end endpoint is available or not through heartbeat information comprising OPTIONS/REGISTER, and then dynamically adjusts the capacity of the far-end node, thereby achieving the purpose of automatic balancing. And the call management module adopts a mode of B2BUA (Back-to-Back User Agent), and comprises and manages a plurality of B2BUA units. The media forwarding module comprises a user mode module and a kernel module, wherein the user mode module has packet processing and forwarding capabilities so as to adapt to functions needing similar audio coding and decoding conversion, DTMF in-band/RFC 2833 conversion or prompt tone playing. The unified scheduling module is used for realizing high-level logic comprising resource management and traffic scheduling, wherein the resource management comprises a basic operation environment, an IMS SIP protocol stack configuration, a media resource configuration and a scheduling related resource configuration, the basic operation environment comprises an IP address, a route, the MS SIP protocol stack configuration comprises an IP address, a signaling port and a signaling characteristic, the media resource configuration comprises a network port used and a port range, the scheduling related resource configuration comprises a B2BUA number, a relay group and a route, the traffic scheduling is triggered by new SIP signaling (INVITE signaling), the relay group is matched into and found out according to a given workflow, and a session is entrusted to a call management module at the end of the workflow, wherein the unified scheduling module receives an instruction through a message queue, executes the instruction by using the workflow, and distributes complex flows and logics to the modules comprising the relay group module, the routing matching engine module, the call management module and the media forwarding module, and coordinates the modules through interfaces among the modules, so that the traffic allocation and the transfer functions are efficiently and reliably completed.
According to the embodiment of the invention, the route matching engine module is realized based on the user number, the route matching engine module can comprise a rule table, and can realize the rapid identification of the relay group end points of the route according to the conditions through high-performance matching algorithms such as rule table driving, regular expression and the like, and the route matching engine module is also used for providing intelligent characteristics of number transformation, including SIP header domain addition/modification and limitation, so as to meet the requirements of the route end points. The rule table is realized as a linked list and is linked to the end point of the incoming relay group, so that global searching is avoided. During configuration, the rule linked list is ordered according to the priority, the rule is matched and searched first with high priority, and the regular expression used in rule matching is simplified based on the general algorithm by eliminating the unusual matching rules and character sets so as to improve the performance.
According to the embodiment of the invention, one B2BUA unit can comprise two SIP session resources, the SIP session resources respectively represent two ends of a call, the B2BUA unit executes complex signaling connection and interaction to manage call establishment and dismantling of telephone traffic, the B2BUA unit is also used for executing media negotiation and capability negotiation on the basis of the signaling interaction to make up for media difference between IMS and a call center platform, and a call management module is closely matched with a media forwarding module to complete communication of media data packets comprising voice/video so as to achieve the purpose of bidirectional communication.
According to the embodiment of the invention, the user mode module can adopt the epoll and thread pool modes to meet the requirements of large audio and video packet transmission and processing, is also used for intelligent learning of a far-end endpoint to effectively solve the problem of inconsistent packet addresses and addresses in the SIP signaling caused by network topology accessed by a firewall/intranet, generates a forwarding rule after the user mode module recognizes the far-end addresses, then sinks the forwarding rule to the kernel module, and completes packet forwarding in a linux kernel by the kernel module, thereby avoiding massive switching between the kernel mode and the user mode, and greatly reducing the CPU overhead. The kernel module for packet forwarding is used as a linux kernel ko (kernel object), the kernel module is dynamically loaded into the linux kernel when the system is started, the firewall filter module is hung to the kernel, when a media packet is received, if the media packet is matched with a forwarding rule, the kernel function is directly used for forwarding the packet, otherwise, the processing is not performed and is processed by the original path of an operating system, and the packet forwarding is completed in the operating system kernel, so that the high-speed, high-capacity and low CPU occupation rate is realized.
According to a second aspect of the present invention, there is provided a method for adaptive scheduling of IMS traffic, the method being implemented based on a system for adaptive scheduling of IMS traffic, the system being applied between an IMS traffic network and a call center service node, the system comprising a trunk group module, a route matching engine module, a call management module, a media forwarding module and a unified scheduling module. The method comprises the steps that a route matching engine identifies a far-end point according to a network IP address, a signaling header field and a calling number and a called number to serve as a starting point of an incoming intelligent route, a relay group module is used for managing a relay group of the signaling end point and connecting an IMS telephone traffic network and a call center, the route matching engine module simultaneously manages and records far-end point information and is used for outgoing routes, the route matching engine module manages a plurality of nodes and performs balanced distribution among the nodes according to capacity and capability, and the route matching engine module identifies whether the far-end point is available or not through heartbeat information comprising OPTIONS/REGISTER, and then dynamically adjusts the capacity of the far-end node, so that the purpose of automatic balancing is achieved. The call management module adopts a B2BUA mode, and includes and manages a plurality of B2BUA units. The media forwarding module comprises a user mode module and a kernel module, wherein the user mode module has packet processing and forwarding capabilities so as to adapt to functions needing similar audio coding and decoding conversion, DTMF in-band/RFC 2833 conversion or prompt tone playing. The unified scheduling module is used for realizing high-level logic comprising resource management and traffic scheduling, wherein the resource management comprises a basic operation environment, an IMS SIP protocol stack configuration, a media resource configuration and a scheduling related resource configuration, the basic operation environment comprises an IP address and a route, the MS SIP protocol stack configuration comprises an IP address, a signaling port and a signaling characteristic, the media resource configuration comprises a network port and a port range which are used, the scheduling related resource configuration comprises B2BUA number, a relay group and a route, the traffic scheduling is triggered by new SIP signaling (INVITE signaling), the relay group is matched into the relay group according to a given workflow and found out, and a session is delegated to a call management module at the end of the workflow, wherein the unified scheduling module receives an instruction through a message queue, uses the workflow execution instruction, and distributes complex flows and logics to the relay group module, the routing matching engine module, the call management module and the media forwarding module, and coordinates each module through interfaces among the modules, so that the traffic allocation and the transfer function is efficiently and reliably completed.
According to the embodiment of the invention, the route matching engine module can be realized based on the user number, comprises a rule table, and can realize the rapid identification of the relay group end points of the route according to the conditions through high-performance matching algorithms such as rule table driving, regular expression and the like, and the route matching engine module is also used for providing intelligent characteristics of number transformation, including SIP header domain addition/modification and limitation, so as to meet the requirements of the end points of the route. The rule table is realized as a linked list and is linked to the end point of the incoming relay group, so that global searching is avoided. During configuration, the rule linked list is ordered according to the priority, the rule is matched and searched first with high priority, and the regular expression used in rule matching is simplified based on the general algorithm by eliminating the unusual matching rules and character sets so as to improve the performance.
According to the embodiment of the invention, one B2BUA unit can comprise two SIP session resources, the SIP session resources respectively represent two ends of a call, the B2BUA unit executes complex signaling connection and interaction to manage call establishment and dismantling of telephone traffic, the B2BUA unit is also used for executing media negotiation and capability negotiation on the basis of the signaling interaction to make up for media difference between IMS and a call center platform, and a call management module is closely matched with a media forwarding module to complete communication of media data packets comprising voice/video so as to achieve the purpose of bidirectional communication.
According to the embodiment of the invention, the user mode module can adopt the epoll and thread pool modes to meet the requirements of large audio and video packet transmission and processing, is also used for intelligent learning of a far-end endpoint to effectively solve the problem of inconsistent packet addresses and addresses in the SIP signaling caused by network topology accessed by a firewall/intranet, generates a forwarding rule after the user mode module recognizes the far-end addresses, then sinks the forwarding rule to the kernel module, and completes packet forwarding in a linux kernel by the kernel module, thereby avoiding massive switching between the kernel mode and the user mode, and greatly reducing the CPU overhead. The kernel module for packet forwarding is used as a linux kernel ko (kernel object), the kernel module is dynamically loaded into the linux kernel when the system is started, the firewall filter module is hung to the kernel, when a media packet is received, if the media packet is matched with a forwarding rule, the kernel function is directly used for forwarding the packet, otherwise, the processing is not performed and is processed by the original path of an operating system, and the packet forwarding is completed in the operating system kernel, so that the high-speed, high-capacity and low CPU occupation rate is realized.
According to a third aspect of the present invention there is provided an electronic device comprising a memory, a processor and an IMS traffic adaptive scheduler stored on the memory and operable on the processor, the IMS traffic adaptive scheduler implementing the steps of the IMS traffic adaptive scheduling method described above when executed by the processor.
According to a fourth aspect of the present invention, there is provided a computer storage medium, wherein an IMS traffic adaptive scheduler is stored on the computer storage medium, and when executed by a processor, the IMS traffic adaptive scheduler implements the steps of the IMS traffic adaptive scheduling method described above.
Compared with the prior art, the technical scheme provided by the embodiment of the invention at least has the following beneficial effects:
The method uses a flexible number-based route matching engine and a web configuration interface, so that the routing strategy among relay groups can be easily configured and modified, and the purpose of intelligent self-adaption is achieved.
Under unified dispatch of dispatch engine, each engine carries out self-adaptive forwarding of telephone traffic according to rules. Meanwhile, the working state of each remote node is monitored, the telephone traffic forwarding is automatically removed when the fault occurs, and the telephone traffic forwarding is automatically replied when the fault is recovered.
The signaling endpoint relay group management and matching engine, the number-based route matching engine, the call management engine and the media forwarding engine are uniformly scheduled through the scheduling engine, so that intelligent self-adaptive scheduling of telephone traffic is realized.
The scheme adopts a modularized design, a principle of low coupling and high cohesion, and adopts uniform scheduling and self-adaptive adaptation, so that service continuity and stability are ensured.
The IMS traffic self-adaptive scheduling system can realize multi-local relay group, IMS traffic bidirectional scheduling and end-to-end capacity self-adaptive adaptation.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention more clear, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. It will be apparent that the described embodiments are some, but not all, embodiments of the invention. All other embodiments, which can be made by a person skilled in the art without creative efforts, based on the described embodiments of the present invention fall within the protection scope of the present invention.
Unless defined otherwise, technical or scientific terms used herein should be given the ordinary meaning as understood by one of ordinary skill in the art to which this invention belongs. The terms "first," "second," and the like in the description and in the claims, are not used for any order, quantity, or importance, but are used for distinguishing between different elements. Likewise, the terms "a" or "an" and the like do not denote a limitation of quantity, but rather denote the presence of at least one.
Fig. 1 is a system diagram illustrating an IMS traffic adaptive scheduling in accordance with an embodiment of the present invention.
The system for the self-adaptive dispatching of the IMS traffic is realized between an IMS traffic network and a call center service node. As shown in fig. 1, the system for adaptively scheduling IMS traffic comprises a relay group module, a route matching engine module, a call management module, a media forwarding module and a unified scheduling module.
The relay group module is used for managing the relay group of the signaling endpoint, the route matching engine module is used for matching engine, the far-end endpoint is identified according to the network IP address, the signaling header domain and the calling number and called number and is used as a starting point of intelligent route entering, and the relay group module is connected with the IMS telephone traffic network and the call center.
The route matching engine module is used for managing and recording remote end point information simultaneously for the purpose of routing, managing a plurality of nodes and carrying out balanced distribution among the nodes according to capacity and capability, identifying whether the remote end point is available or not by the route matching engine module through heartbeat information comprising OPTIONS/REGISTER, and then dynamically adjusting the capacity of the remote node so as to achieve the purpose of automatic balancing.
The call management module adopts a B2BUA mode, and includes and manages a plurality of B2BUA units.
The media forwarding module comprises a user mode module and a kernel module, wherein the user mode module has packet processing and forwarding capabilities so as to adapt to functions needing similar audio coding and decoding conversion, DTMF in-band/RFC 2833 conversion or prompt tone playing.
Fig. 4 is a schematic diagram illustrating traffic scheduling by the unified scheduling module according to an embodiment of the present invention.
The unified scheduling module is used for realizing high-level logic comprising resource management and traffic scheduling, wherein the resource management comprises a basic operation environment, an IMS SIP protocol stack configuration, a media resource configuration and a scheduling related resource configuration, the basic operation environment comprises an IP address and a route, the MS SIP protocol stack configuration comprises an IP address, a signaling port and a signaling characteristic, the media resource configuration comprises a network port used and a port range, the scheduling related resource configuration comprises a B2BUA number, a relay group and a route, the traffic scheduling is triggered by new SIP signaling (INVITE signaling), the relay group is matched into and searched out according to a given workflow, and a session is delegated to a call management module at the end of the workflow, wherein the unified scheduling module receives an instruction through a message queue, uses the workflow execution instruction, and distributes complex flows and logics to the modules comprising the relay group module, the route matching engine module, the call management module and the media forwarding module, and coordinates each module through interfaces among the modules, so that the traffic allocation and the transfer function is efficiently and reliably completed.
Under unified dispatch of dispatch engine, each engine carries out self-adaptive forwarding of telephone traffic according to rules. Meanwhile, the working state of each remote node is monitored, the telephone traffic forwarding is automatically removed when the fault occurs, and the telephone traffic forwarding is automatically replied when the fault is recovered.
Fig. 2 is a schematic diagram illustrating a route matching engine module according to an embodiment of the present invention.
As shown in figure 2, the route matching engine module is realized based on the user number, the route matching engine module comprises a rule table, and the relay group end points of the route are rapidly identified according to conditions through high-performance matching algorithms such as rule table driving, regular expressions and the like, and the route matching engine module is also used for providing intelligent characteristics of number transformation, including SIP header domain addition/modification and limitation, so as to meet the requirements of the route end points.
The rule table is realized as a linked list and is linked to the end point of the incoming relay group, so that global searching is avoided. During configuration, the rule linked list is ordered according to the priority, the rule is matched and searched first with high priority, and the regular expression used in rule matching is simplified based on the general algorithm by eliminating the unusual matching rules and character sets so as to improve the performance.
The method uses a flexible number-based route matching engine and a web configuration interface, so that the routing strategy among relay groups can be easily configured and modified, and the purpose of intelligent self-adaption is achieved.
Fig. 3 is a schematic diagram illustrating a call management module according to an embodiment of the present invention.
As shown in FIG. 3, a B2BUA unit comprises two SIP session resources, the SIP session resources represent two ends of a call respectively, the B2BUA unit executes complex signaling connection and interaction to manage call establishment and removal of telephone traffic, the B2BUA unit is further used for executing media negotiation and capability negotiation on the basis of the signaling interaction to compensate media difference between an IMS and a call center platform, and a call management module and a media forwarding module are closely matched to complete communication of media data packets comprising voice/video so as to achieve the purpose of bidirectional communication.
According to one or some embodiments of the invention, the user mode module adopts epoll and thread pool modes to meet the requirements of larger audio and video packet transmission and processing, is also used for intelligent learning of a far-end endpoint to effectively solve the problem of inconsistent packet addresses caused by network topology accessed by a firewall/intranet and addresses in SIP signaling, generates a forwarding rule after the user mode module recognizes the far-end addresses, sinks the forwarding rule to the kernel module, and completes packet forwarding in a linux kernel by the kernel module, thereby avoiding massive switching between the kernel mode and the user mode, and greatly reducing the CPU overhead.
The kernel module for packet forwarding is used as a linux kernel ko (kernel object), the kernel module is dynamically loaded into the linux kernel when the system is started, the firewall filter module is hung to the kernel, when a media packet is received, if the media packet is matched with a forwarding rule, the kernel function is directly used for forwarding the packet, otherwise, the processing is not performed and is processed by the original path of an operating system, and the packet forwarding is completed in the operating system kernel, so that the high-speed, high-capacity and low CPU occupation rate is realized.
According to a second aspect of the present invention, a method of adaptive scheduling of IMS traffic is provided. The method is realized based on an IMS telephone traffic self-adaptive dispatching system, and the system is applied between an IMS telephone traffic network and a call center service node and comprises a relay group module, a route matching engine module, a call management module, a media forwarding module and a unified dispatching module.
The method comprises the following steps:
The route matching engine identifies a far-end point according to a network IP address, a signaling header field and a calling number and a called number as a starting point of an incoming intelligent route, the relay group module is used for managing a relay group of the signaling end point and connecting an IMS telephone traffic network and a call center, the route matching engine module simultaneously manages and records far-end point information and is used for outgoing route, the route matching engine module manages a plurality of nodes and carries out balanced distribution among the nodes according to capacity and capability, and the route matching engine module identifies whether the far-end point is available or not through heartbeat information comprising OPTIONS/REGISTER, and then dynamically adjusts the capacity of the far-end node, so that the purpose of automatic balancing is achieved.
The call management module adopts a B2BUA mode, and includes and manages a plurality of B2BUA units.
The media forwarding module comprises a user mode module and a kernel module, wherein the user mode module has packet processing and forwarding capabilities so as to adapt to functions needing similar audio coding and decoding conversion, DTMF in-band/RFC 2833 conversion or prompt tone playing.
The unified scheduling module is used for realizing high-level logic comprising resource management and traffic scheduling, wherein the resource management comprises a basic operation environment, an IMS SIP protocol stack configuration, a media resource configuration and a scheduling related resource configuration, the basic operation environment comprises an IP address and a route, the MS SIP protocol stack configuration comprises an IP address, a signaling port and a signaling characteristic, the media resource configuration comprises a network port and a port range which are used, the scheduling related resource configuration comprises B2BUA number, a relay group and a route, the traffic scheduling is triggered by new SIP signaling (INVITE signaling), the relay group is matched into the relay group according to a given workflow and found out, and a session is delegated to a call management module at the end of the workflow, wherein the unified scheduling module receives an instruction through a message queue, uses the workflow execution instruction, and distributes complex flows and logics to the relay group module, the routing matching engine module, the call management module and the media forwarding module, and coordinates each module through interfaces among the modules, so that the traffic allocation and the transfer function is efficiently and reliably completed.
The signaling endpoint relay group management and matching engine, the number-based route matching engine, the call management engine and the media forwarding engine are uniformly scheduled through the scheduling engine, so that intelligent self-adaptive scheduling of telephone traffic is realized.
According to one or some embodiments of the invention, the route matching engine module is realized based on the user number, the route matching engine module comprises a rule table, and the relay group end points of the route are rapidly identified according to conditions through high-performance matching algorithms such as rule table driving and regular expressions, and the route matching engine module is also used for providing intelligent characteristics of number transformation, including SIP header domain addition/modification and limitation, so as to meet the requirements of the route end points.
The rule table is realized as a linked list and is linked to the end point of the incoming relay group, so that global searching is avoided. During configuration, the rule linked list is ordered according to the priority, the rule is matched and searched first with high priority, and the regular expression used in rule matching is simplified based on the general algorithm by eliminating the unusual matching rules and character sets so as to improve the performance.
According to one or some embodiments of the present invention, a B2BUA unit includes two SIP session resources, the SIP session resources represent two ends of a call respectively, the B2BUA unit performs complex signaling connection and interaction to manage call setup and tear down of traffic, the B2BUA unit is further configured to perform media negotiation and capability negotiation based on the signaling interaction to compensate for media differences between an IMS and a call center platform, and the call management module and the media forwarding module are closely matched to complete communication of media data packets including voice/video, thereby achieving the purpose of bidirectional communication.
According to one or some embodiments of the invention, the user mode module adopts epoll and thread pool modes to meet the requirements of larger audio and video packet transmission and processing, is also used for intelligent learning of a far-end endpoint to effectively solve the problem of inconsistent packet addresses caused by network topology accessed by a firewall/intranet and addresses in SIP signaling, generates a forwarding rule after the user mode module recognizes the far-end addresses, sinks the forwarding rule to the kernel module, and completes packet forwarding in a linux kernel by the kernel module, thereby avoiding massive switching between the kernel mode and the user mode, and greatly reducing the CPU overhead.
The kernel module for packet forwarding is used as a linux kernel ko (kernel object), the kernel module is dynamically loaded into the linux kernel when the system is started, the firewall filter module is hung to the kernel, when a media packet is received, if the media packet is matched with a forwarding rule, the kernel function is directly used for forwarding the packet, otherwise, the processing is not performed and is processed by the original path of an operating system, and the packet forwarding is completed in the operating system kernel, so that the high-speed, high-capacity and low CPU occupation rate is realized.
The scheme adopts a modularized design, a principle of low coupling and high cohesion, and adopts uniform scheduling and self-adaptive adaptation, so that service continuity and stability are ensured.
When in use, the IMS traffic self-adaptive scheduling system centrally manages a plurality of operator IMS offices to a relay group. Simplifying routing configuration, office direction management, equalization, redundancy and other functions.
The local signaling address and the remote signaling address pair are matched into a relay group. Within a relay group may be a home signaling address corresponding to a plurality of remote signaling addresses. If an IMS office direction is indicated as a remote address, multiple IMS office directions may be allocated into a relay group.
Since the routes are based on the relay group, the configuration of the routes can be uniformly managed and simplified.
Meanwhile, if there are multiple office directions in the relay group, each office direction has a certain configuration rule to make the selection of outgoing traffic, for example, according to the percentage.
And meanwhile, the office direction can start the heartbeat of the SIP signaling for detecting whether the far-end works, and when the abnormal operation of the far-end office direction is identified, the telephone traffic is not selected, and the telephone traffic is selected to the office direction of normal operation, so that the purpose of redundancy is achieved.
For service function groups of call centers (e.g., communication assistant, AI hearing aid, digital person), calls of IMS are dispatched to these service platforms by configuring different number routes.
Different service functions are configured to different relay groups, and then different called routing numbers are configured for the different relay groups. When the call is in, the call is naturally in to different service functions according to different called numbers.
In addition, the dispatching platform provides the functions of number conversion, addition, modification and the like of the SIP message header so as to meet the requirements of the service platform.
As shown in fig. 3, the functions of number conversion and SIP header field operation are provided in the routing rule, and these functions affect the outgoing SIP message so as to meet the requirements of the back-end service platform.
And realizing bidirectional scheduling, namely calling the service platform through the IMS, and calling the IMS through the service platform.
Since the single routing rule is unidirectional, in relay group- > out relay group. Two routing rules are established to achieve the purpose of bidirectional scheduling. That is:
IMS Relay group- > service Relay group
Service Relay group- > IMS Relay group
Each route has own rules and processing flows, and no association relation is necessary, which is more flexible than changing the routing rules into bidirectional attributes.
According to a further aspect of the present invention there is provided an apparatus for adaptive scheduling of IMS traffic, comprising a memory, a processor and an IMS traffic adaptive scheduler stored on the memory and operable on the processor, the IMS traffic adaptive scheduler implementing the steps of the IMS traffic adaptive scheduling method described above when executed by the processor.
There is also provided a computer storage medium according to the present invention.
The computer storage medium stores an IMS traffic self-adaptive scheduling program, and the IMS traffic self-adaptive scheduling program realizes the steps of the IMS traffic self-adaptive scheduling method when being executed by a processor.
The method implemented when the IMS traffic adaptive scheduling program running on the processor is executed may refer to various embodiments of the IMS traffic adaptive scheduling method of the present invention, and will not be described herein.
The invention also provides a computer program product.
The computer program product of the present invention comprises an IMS traffic adaptive scheduler, which when executed by a processor implements the steps of the IMS traffic adaptive scheduling method as described above.
The method implemented when the IMS traffic adaptive scheduling program running on the processor is executed may refer to various embodiments of the IMS traffic adaptive scheduling method of the present invention, and will not be described herein.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) as described above, comprising instructions for causing a terminal device (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the method according to the embodiments of the present invention.
The foregoing is merely exemplary embodiments of the present invention and is not intended to limit the scope of the invention, which is defined by the appended claims.