The present invention can be appreciated by the description which follows in conjunction with the following figures, wherein:
In
The session control unit 1 controls transfer of session control messages (call control messages) sent/received to/from the user equipments 3A and 3B through the network. The session control unit 1 also issues a QoS request to the QoS control unit 2 when a QoS prior condition is included in a session connection request received from the user equipment 3A or 3B.
In the QoS request, for example, the following parameters are set; session ID, flow direction (two way/sending direction/receiving direction), destination IP address/source IP address, protocol No., TCP/UDP destination/source port No., medium type, codec type, max request band width, priority level, request transfer quality (e.g., class regulated by ITU-T Recommendation Y.1541), etc.
The QoS control unit 2 determines weather or not it is possible to accept an object request upon its receiving. Upon the accepting, the QoS control unit 2 controls the QoS with respect to the node assumed as the subject flow path. The QoS control means reservation of a requested resource or quality. On the other hand, if it is impossible to supply the requested quality and if there is such a proposal, the QoS control unit 2 presents an alternative proposal. If there is not such a proposal, QoS control unit 2 returns the effect to the session control unit 1.
Receiving the response from the QoS control unit 2, the session control unit 1 determines the corresponding medium information according to the alternative proposal resource information and transfers the response to the user equipment 3.
A unit that is equivalent to the user equipment may be an application server. The unit that issues such a QoS request to the QoS control unit 2 may be an application server; it may not be the session control unit 1.
The user equipment 3A is connected to the core network through the access network and the opposite user equipment through the another access network, respectively. Each of the access network and the core network is divided into the service layer 301 and the transport layer 302.
The session control unit 1 shown in
The core router 320 and the edge router 322 included in the core network are equivalent to the core node 4 and the edge node 5 shown in
The CPU 10 executes programs stored in the memory 13. The memory 13 stores programs executed by the CPU 10 and data required for the processings of the CPU 10. The communication IF 11 communicates with another computer through a network.
The storage unit 12 stores a QoS control program and data required for QoS controlling. The QoS control program is loaded into the memory 13 when it is executed. The storage unit 12 may be provided in the cabinet of the QoS control unit 2 or may be connected to the QoS control unit 2 through the network.
The QoS control unit 2 may also have a user interface through which the administrator can operate the unit 2. For example, the user interface may be any of a command input keyboard, a GUI input mouse, a display unit, or the like.
The QoS control program is composed of a communication control program 20, a request condition receiving program 21, a QoS setting request processing program 22, a result response processing program 23, a node setting information collecting program 24, a request acceptance determination program 25, a target node identification program 26, a node management information updating program 27, etc. Each of those programs may be independent programs each other which are executed respectively in a different process, or those programs may be integrated into a single program which is executed in the same process.
The communication control program 20 analyzes each packet received through the communication IF 11. The communication control program 20 also shapes and sends the header information of each packet to an object unit.
The request condition receiving program 21 analyzes the contents of each received QoS request. The QoS setting request processing program 22 sets the QoS for each object node. The result response processing program 23 returns a determination result to the request source with respect to each received QoS request.
The node setting information collecting program 24 collects node setting information included in an object network. The request acceptance determination program 25 determines whether or not it is possible to accept each received QoS request. The object node identification program 26 identifies an object node to which the requested QoS is allowed. The node management information updating program 27 updates the utilization situation of each node.
The storage unit 12 includes a node information management table 28, a node use information management table 29, a request acceptance determination table 18, and a resource allocation management table 19 for storing necessary information to execute the QoS controlling, respectively. Each of those tables may be composed as a database to be accessed as needed while it is provided in the storage unit 12 or may be loaded into the memory 13 and used upon executing the QoS control program.
The node information management table 28 holds the configuration information of each node of the network. The node use information management table 29 holds the utilization situation of each node of the network. The request acceptance determination table 18 holds the information used to determine whether or not it is possible to accept the whole of each QoS request according to a result of determination for whether or not it is possible to accept the subject QoS request in each of the outgoing side edge node and the incoming side edge node. The resource allocation management table 19 manages each resource allocated to each session.
The node information management table 28 includes fields of node 40, interface 42, destination network 44, and next hop 46. The node field 40 holds the ID of each node of the subject network. In particular, the node field 40 holds the ID of the core node 4 or edge node 5 shown in
The node field 50 holds the ID of each node of the network. In particular, the node field 50 holds the ID of the core node 4 or edge node 5 shown in
The shaper shown in
In
The request acceptance determination table 18 includes fields of output surplus 130 of the outgoing side edge node, output surplus 131 of the incoming side edge node, and result determination 132. The output surplus field 130 holds “O” for a received and satisfied QoS request. “Δ” for existence of an alternative proposal, and “X” for not existence of any alternative proposal, respectively. This is also true for the output surplus field 131 of the incoming side edge node.
The result determination field 132 holds a result of each QoS request determined according to a relationship between the output surplus 130 of the outgoing side edge node and the output surplus 131 of the incoming side edge node. In particular, the result determination field 132 denotes “enable” when “O” is set in both values of the incoming side and outgoing side edge nodes (step 133) and “disable” when “X” is set in any of the values (steps 137 and 138). If it is possible to present an alternative proposal, the result determination field 132 denotes “alternative” (steps 134 to 136).
The session ID field 150 holds the ID of each session used by a user equipment. The node in use field 152 holds the ID of each node for which QoS controlling is executed. The link/queue field 154 holds the ID of each link or queue for which QoS controlling is executed. The band in use field 156 holds each band allocated through QoS controlling. The utilizing time field 158 may holds each use starting time and each utilizing time. The alternative notification field 160 sets a flag to prevent duplicated setting of an alternative proposal when an alternative proposal is already notified to the subject session.
Next, a description will be made for the processings to be executed by the QoS control unit 2 in the above configuration.
The QoS control unit 2, when it is started up, collects setting information of an object node to be controlled with use of the node setting information collecting program 24 (step 110). The collected node setting information is held in the node information management table 28 shown in
In the flowchart shown in
Upon the completion of the node setting information collection, the QoS control unit 2 accepts another QoS request from the application server 300 or the session control unit 1 (step 111). Receiving the QoS request (result in step 111 is “Y”), the QoS control unit 2 executes the request condition receiving program 21 to analyze the contents of the request. If no QoS request is received (result in step 111 is “N”), the QoS control unit 2 continues the QoS request receiving.
After that, the QoS control unit 2 executes the object node identification program 26 according to the request contents to identify the object node for which the QoS controlling is to be executed (step 112). In particular, the QoS control unit 2 refers to the node information management table 28 according to the destination address and the source address included in the QoS request and selects a communication path through which packets are to be sent and extracts the nodes and the communication IFs included in the path.
Furthermore, the QoS control unit 2 extracts a record in which a value held in the next hop field 46 is not included in the management domain, from the reference result, thereby the QoS control unit 2 can identify the object edge node. By identifying an edge node to be connected to the source address first in such a way, the QoS control unit 2 can identify the starting point in the object network. By using the topology information also at this time, the QoS control unit 2 can improve the efficiency for identifying such a node on an object communication path. As described above, in accordance with this embodiment, only the incoming side and outgoing side edge nodes of the object network are assumed as object nodes.
Upon identifying the object node for QoS controlling, the QoS control unit 2 executes the request acceptance determination program 25 to determine whether or not it is possible to accept the subject QoS request (step 115).
The QoS control unit 2 then extracts a record corresponding to the object node 50 and the object link/queue 52 from the node use information management table 29 to obtain the utilization situation of the object node. The QoS control unit 2 then determines whether or not it is possible to accept a QoS request from the object node according to the obtained utilization situation. In particular, the QoS control unit 2 compares the value obtained by adding a requested capacity to the integrated amount of usage 56 with the value held in the band capacity field 54 to determine whether or not it is possible to accept a QoS request from each object node. After that, the QoS control unit 2 refers to the request acceptance determination table 18 to determine whether or not it is possible to accept a QoS request according to the result of the determination for both incoming side and outgoing side edge nodes.
When the result of determination is “enable”, the QoS control unit 2 executes the QoS setting request processing program 22 to set the QoS for the object node (step 120).
Completing the QoS setting, the QoS control unit 2 executes the node management information updating program 27 to update the integrated amount of usage 56 in the node use information management table 29 (step 121). At this time, the QoS control unit 2 may update the node use information management table 29 after setting the QoS in such a way or update the object value by actually monitoring the traffic state of each node. The QoS control unit 2 may monitor the traffic state by itself in such a way or an external dedicated unit may monitor the traffic state.
On the other hand, when the result of determination for whether or not it is possible to accept a QoS request is “alternative”, the QoS control unit 2 determines an allocatable band (step 118). The allocatable band can also be obtained by extracting a record corresponding to the object node 50 and the object link/queue 52 from the node use information management table 29 and calculating a difference between the band capacity 54 and the integrated amount of usage 56.
If a priority level or request transfer quality condition is specified as a parameter in the QoS request, at first the QoS control unit 2 extracts a corresponding link/queue. At that time, if the requested condition cannot be satisfied, the QoS control unit 2 may extract the link/queue state corresponding to another priority level or requested transfer quality and notify the link/queue state as an alternative proposal. The QoS control unit 2 may also notify both priority and request transfer quality/allocatable band as alternative proposal. How to select such alternative proposal will be described in detail later.
Then, the QoS control unit 2 executes the result response processing program 23 according to the received QoS request to respond to the QoS request source (step 123). The QoS control unit 2 then determines whether to end the QoS request receiving (step 124). If the condition for ending the QoS request receiving is satisfied (result in step 124 is “Y”), the QoS control unit 2 exits the processing. If the ending condition is not satisfied (result in step 124 is “N”), the QoS control unit 2 waits for receiving another QoS request.
The CPU 30 executes programs stored in the memory 33. The memory 33 stores programs executed by the CPU 30 and data required for the processings of the CPU 30. The communication IF 31 communicates with another computer through a network.
The storage unit 32 stores a session control program and data required for managing sessions. The session control program is loaded into the memory 33 when it is executed. The storage unit 32 may be provided in the cabinet of the session control unit 1, provided as an external storage unit, or connected to the session control unit 1 through a network.
The session control unit 1 may also include a user interface for enabling the administrator to operate the session control unit 1. The user interface may be any of a command input keyboard, a GUI input mouse, a display unit, etc.
The session control program is composed of a communication control program 34, an address solution program 35, a transfer control program 36, a QoS control request processing program 37, etc. Each of those programs may be independent programs each other which are executed respectively in a different process, or those programs may be integrated into a single program which is executed in the same process.
The communication control program 34 analyzes each packet received through the communication IF 31. The communication control program 34 also shapes and sends the header information of each received packet to an object unit.
The address solution program 35 executes DNS searching, etc. to solve each IP address when the address information is described in such a domain format as FQDN (Fully Qualified Domain Name) or the like or the URL (Uniform Resource Locator) format.
The transfer control program 36 processes messages (packets) received by the communication control program 34 through the communication IF 31. The QoS control request processing program 37 sends QoS requests to the QoS control unit 2. The QoS control request processing program 37 also receives a response from the QoS control unit 2 with respect to each QoS request.
Each of the session management table 38 and the media mapping table 39 is stored in the memory in
The session management table 38 records the state transition information of each session. The media mapping table 39 holds a correspondence between medium information and each band.
The media mapping table 39 includes fields of medium type 60, band 62, and codec type 64. The medium type field 60 holds medium types. For example, the medium type field 60 holds such values as “Audio”, “Video”, etc. The band field 62 holds necessary band capacities and the codec type field 64 holds corresponding codec names.
Receiving a message, the session control unit 1 analyzes the received message with use of the transfer control program 36. The session control unit 1 then determines whether or not the received message is an answer including a QoS request (step 140). If the received message is not an answer (result in step 140 is “N”), the session control unit 1 executes such a processing as transferring as an ordinary session control unit (step 145).
If the received message is an answer (result in step 140 is “Y”), the session control unit 1 issues a QoS request to the QoS control unit 2 (step 141).
Receiving the QoS request, if the maximum requested band is specified as a parameter, the QoS control unit 2 executes a request acceptance determination processing 115 according to the specified maximum requested band (step 115 in
The medium information should preferably be provided outside the QoS control unit 2 to flexibly correspond to new media or new codec even when the maximum requested band is specified or even when a medium type and a codec type are specified. For example, the medium information may be provided in the session control unit 1 or in the application server.
The session control unit 1 receives a response message from the QoS control unit 2. If the result is “success” (result in step 142 is “Y”), the QoS control unit 2 transfers the received message as is (step 146).
If the result is “fail” (result in step 142 is “N”) and if an alternative proposal is presented (result in step 143 is “Y”), the session control unit 1 refers to the media mapping table 39 to select a corresponding medium type (step 144). In accordance with this embodiment of this invention, an alternative proposal is notified with a band, so that the session control unit 1 selects a codec to be fit in the band notified as an alternative proposal.
A response message to a calling side user equipment 3A is sent as an error response (e.g., response 580) (step 146) even when an alternative proposal is presented. At this time, the response message format is expanded to notify the information of the medium to be assumed as an alternative proposal.
If the result of the response message from the QoS control unit 2 is “N (fail)” (result in step 142 is “N”) and if no alternative proposal is presented (result in step 143 is “N”), the session control unit 1 transfers the received message as is (step 146).
Also in accordance with this embodiment of this invention, the session control protocol SIP is used. Medium information is described with use of the SDP (Session Description Protocol).
At first, the user equipment 3A sends an INVITE message that includes medium information to the opposite user equipment 3B to start a communication (S70). The message is transferred to the P-CSCF310A and the S-CSCF312 of the calling side access network and the P-CSCF310B of the called side access network, respectively, thereby the message is received by the opposite user equipment 3B.
The opposite user equipment 3B sends an answer (S72) as a response to the INVITE message (S70). The answer is sent to the S-CSCF 312 through the P-CSCF 310B of the called side access network. The opposite user equipment 3B describes a communicable medium type in the answer. The medium type is included in the INVITE message (S70). Hereunder, the processings of the answer (S70) that includes a QoS request will be described.
Receiving an answer that includes a QoS request (result in step 140 is “Y”), the S-CSCF 312 issues a QoS request to the QoS control unit 316 (S74, step 141 in
Receiving the QoS request (result in step 111 is “Y”), at first the QoS control unit 316 identifies an object node to which the QoS is applied (step 112 in
Here, a description will be made for an example of how to select an alternative proposal concretely according to the data set in the node use information management table 29 for managing use information. When the node 1 and the #3 link are identified as an object node, the band capacity 54 is 100 MB and the integrated amount of usage 56 is 90 MB. If the requested band capacity is 15 MB, the difference between the band capacity 54 and the integrated amount of usage 56 is 10 MB. Thus the received QoS request cannot be accepted. An alternative proposal that assumes the usable band as 10 MB can be presented.
The QoS control unit 316 may also refer to the resource allocation management table 19 shown in
Next, a description will be made concretely for an example for selecting an alternative proposal according to the data in the node use information management table 29 for managing use information of each queue shown in
Thus the QoS control unit 316 can present an acceptable band under 50 MB as an alternative proposal. Then, the QoS control unit 316 may also refer to the resource allocation management table 19 to present a time on which the requested band (100 MB) can be supplied. According to the utilization situation of the WFQs (Q#3/Q#2/Q#1), the QoS control unit 316 determines whether or not a new 100 MB band can be supplied. If it can be provided and if the communication is a best effort type one, the QoS control unit 316 can denote that the 100 MB band can be supplied.
Although the bandwidth differs among Q#1 to Q#3, those are all WFQs. Thus the QoS control unit 316 can set a priority level in each of the queues Q#1 to Q#3; the unit 316 can also set a high priority level that differs among those queues.
Furthermore, the QoS control unit 316 can use Q#1 to Q#3 each in its proper way according to the object medium type. For example, if the QoS control unit 316 uses Q#3 for the best effort type video/audio communications, Q#2 for the best effort HTTP communications, and Q#1 for other best effort communications, the QoS control unit 316 presents an alternative proposal according to the utilization situation of the Q#3 when the QoS-requested object flow is video/voice communications.
The QoS control unit 316, upon determining an alternative proposal (step 118 in
The S-CSCF 312 receives the result of the determination of whether or not it is possible to accept a QoS request from the QoS control unit 316 (step 142 in
Obtaining the corresponding medium, the S-CSCF 312 notifies the user equipment 3A of the alternative proposal (S78, step 146 in
On the other hand, if it is impossible to accept (result in step 142 in
As described above, the user equipment 3A sends an INVITE message (S80) to the opposite user equipment 3B and the opposite user equipment 3B sends back an answer (S82), thereby a communication is started between those equipments. This procedures are the same as S70 and S72 shown in
The answer sent from the opposite user equipment 3B is transferred first to the P-CSCF 310B of the called side access network. Receiving the answer (result in step 140 in
Then, if the content of the response message sent from the P-CSCF 310B (S88) is an error response, the S-CSCF 312 transfers the message without issuing a QoS request to the QoS control unit 316 regardless of whether an alternate proposal is presented or not. The P-CSCF 310A of the calling side access network also makes the similar processings. In other words, in step 140 in
As described above, the PDF 314B has the similar functions as those of the QoS control unit 316. However, the sequence described above remains the same even when the PDF 314B has no function for presenting an alternative proposal and has only a function for determining whether or not it is possible to accept a QoS request. If the received message is an error response, the session control unit transfers the received message as is without issuing any QoS request.
Then, the user equipment 3A sends an INVITE message to the opposite user equipment 3B (S90) and the user equipment 3B returns an answer (S91), thereby a communication begins between those equipments. This procedures are the same as those S70 and S72 shown in
Receiving the answer from the user equipment 3B (S91), the P-CSCF 310B sends a QoS request to the PDF 314B (S92). The P-CSCF 310B then receives a message denoting “possible to accept” from the PDF 314B (S93) and transfers the received message to the S-CSCF 312 (S94) as is.
Receiving the message from the P-CSCF 310B (S94), the S-CSCF 312 sends a QoS request to the QoS control unit 316 (S95). The S-CSCF 312 then receives a message denoting “possible to accept” from the QoS control unit 316 (S96) and transfers the received message to the P-CSCF 314A (S97).
Receiving the message from the S-CSCF 312 (S97), the P-CSCF 310A sends a QoS request to the QoS control unit 316 (S98). Thus the P-CSCF 310A receives a message “impossible to accept” from the QoS control unit 316 and transfers the received message to the user equipment 3A (S100).
In such a way, the PDF 314A executes QoS controlling to each object network to transfer an answer response in order to allocate the QoS between the calling side user equipment 3A and the called side user equipment 3B. The PDF 314A executes the QoS controlling when the content of the received message is not an error response. If the content is an error response, the PDF 314A does not execute the QoS controlling and functions as an ordinary session control unit to transfer the message.
In particular, the user equipment 3A makes an attempt to connect the opposite user equipment 3B and displays a dialog 200 to notify the user of the alternative proposal when the proposal is presented.
The dialog 200 includes a notification field 204, a “Retry” button 201, a “Best Effort” button 202, and a “Cancel” button 203.
The notification field 204 denotes an alternative proposal of a communicable medium by notifying the user that a medium requested by the user cannot be used. In the dialog shown in
Upon communicating with use of the notified alternative proposal, the user selects the “Retry” button 201 to re-connect the object equipment with use of the alternative proposal. Upon re-connecting the object equipment without executing QoS controlling, the user selects the “Best Effort” button 202. Upon canceling the connection, the user selects the “Cancel” button 203.
The user is required to specify an allowable level or quality level for each medium type such as “Audio”, “Video”, or the like for this presetting of an alternative proposal. On the setting screen 210, the user selects information of an allowable medium with use of a check box. On the setting screen 210, besides the items shown in
Although the user is required to select a value denoting a target band on the setting screen 210, the screen 210 may enable the user to specify a codec type such as “PCMU”, “G.729”, or the like. In case where the user specify a codec type, the user is notified of a codec type as an alternative proposal, so that the user can make a comparison among presented proposals. If the user is required to select a target band with a value, the user equipment is required to include such a conversion table as a media mapping table. Thus in case where the user sends/receives a message including a codec type like such a session control protocol as the SIP, the codec type itself can be set additionally on the screen 210. As a result, the conversion table is not required, thereby the conversion processing load can be eliminated.
In accordance with this embodiment of this invention, the session control unit 1 issues QoS requests to the QoS control unit 2. However, another unit may issue such QoS requests. For example, any of an application server, a network monitoring unit for monitoring the traffic state of a network, and a network management unit for controlling the network configuration or the communication path may issue such QoS requests. The QoS request issuing timing depends on the specifications of each of those units.
The configuration of the QoS control unit 2 and the QoS request parameters are the same as those of a case in which QoS requests are issued from the session control unit 1. The processing procedures of the QoS control unit 2 are also the same as those of the flowchart shown in
According to an embodiment of this invention, the QoS control unit determines whether or not it is possible to supply a requested resource and requested quality and selects an alternative proposal if it is impossible to supply the requested quality. Then, the session control unit converts the presented alternative proposal and presents the converted proposal to the request source as medium information. Consequently, each of the user and the application that request a session connection can determine whether or not the presented alternative proposal can be used for the session re-connection, since an acceptable alternative proposal is presented if the request is not accepted. Furthermore, because the user is not required to repeat the re-connection while repeating the re-connection by trial and error with the allowable alternative proposal, the convenience can be improved and the traffic can be reduced.
While the present invention has been described in detail and pictorially in the accompanying drawings, the present invention is not limited to such detail but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2006-189182 | Jul 2006 | JP | national |