CONFIGURABLE STATISTICAL DATA STRUCTURE

Abstract: The present invention proposes a method for generating a data structure for statistical information used at a request for a communication connection via connection points, said method comprising the steps of defining parameters of said data structure, said parameters classifying said request, receiving information concerning said request for said communication connection, allocating said information to said defined parameters, and setting said parameters according to said allocated information in order to determine a distribution of said requests in relation to said defined parameters. The present invention also proposes a corresponding device.

Description: CONFIGURABLE STATISTICAL DATA STRUCTURE FIELD OF THE INVENTION The present invention relates to a method for generating a data structure for statistical information and also to a corresponding device. In particular, the present invention is directed to a method and corresponding device for generating a data structure for obtaining statistical data in, e.g., a communication network using an asynchronous transfer mode ATM. BACKGROUND OF THE INVENTION In recent years, the importance of telecommunication systems increases more and more. Since the number of users as well as the load of the telecommunication network due to new communication services such as multimedia and the like grow, improved transmission methods are developed to ensure a reliable and sufficiently high data transfer, and monitoring of the communication networks has to be performed to recognize the performance level. One approach for an improved transmission method is the asynchronous transfer mode (ATM) which represents a packet switching protocol providing a rapid transmission of data in broadband networks . The ATM network comprises several network elements, for example so-called ATM switches. Said network elements are connected, e.g., to other ATM switches, or other network elements such as multiplexors, terminal devices, user equipment or the like. To establish a connection between two ATM network elements, for example, due to a request for connection between two users, an ATM switch has to perform a channel selection (CS) or routing by routing algorithms to select a channel used for data transfer. " .The connection can be established, for example, by a virtual path (VP) or a virtual channel (VC), which depends on the selected connection type. hen a channel is selected, a connection admission control (CAC) is executed to check whether the currently selected channel can accommodate the required new connection. If the CAC decides that the currently selected channel is sufficient to the requirements of the connection request, the selected connection is assumed as succeeded, and the connection between the two ATM network elements is established. Otherwise, if the CAC decides that the currently selected channel is not sufficient, the selected connection is assumed as failed, and a new channel is to be selected by the CS. In the channel selection, there is a hierarchical order of objects. The smallest unit of said order is a so-called end point, for example an end point of a VC connection, if the selected connection type is a VC type, or an end point of a VP connection, if the selected connection type is a VP type. The next stage is a so-called end point group which comprises several end points with common characteristics. Finally, a so-called route is defined which comprises end point groups . For the connection itself, different transmission modes can be requested. For example, it is possible to request a constant bit rate (cbr) transmission service or a variable bit rate (vbr) (e.g. a real time variable bit rate (rtvbr)) transmission service. Moreover, the required bit rate, i.e. the bandwidth, for the respective transmission service can be set. For the above mentioned CAC, it is therefore necessary to check whether or not the selected channel is able to perform the transmission with the set conditions (transmission service type, bandwidth). As mentioned above, the network performance is to be monitored, for example, in order to decide whether the existing network structure is sufficient or how it is to be improved. For this purpose, it is necessary to gain statistical data of communication services such as channel selection or the like. This statistical data should inform, for example, about the requested bandwidth, the requested transmission mode, whether the request was successful or not, and the like, in combination with a correct identification of the respective end point or the like in the network to which the request is directed. In .this connection, a problem exists to measure and keep statistical data of a working channel selection algorithm. Moreover, it is difficult to adapt the respective statistical data obtaining method to different requirements and/or network abilities. Furthermore, a method which may provide a sufficient flexibility in obtaining the statistical data is complex, and hence a high processing power is needed to perform the respective measurements, which in turn increases costs. SUMMARY OF THE INVENTION Therefore, it is an object of the present invention to provide a method for generating a flexible data structure for statistical information, and/or a corresponding device. According to the present invention, this object is achieved by a method for generating a data structure for statistical information used at a request for a communication connection via connection points, said method comprising the steps of defining parameters of said data structure, said parameters classifying said request, receiving information concerning said . request for said communication connection, allocating said information to said defined parameters, and setting said parameters according to said allocated information in order to determine a distribution of said requests in relation to said defined parameters. Furthermore, the present invention proposes a device for generating a data structure for a statistical information used at a request for a communication connection via connection points, said device comprising defining means for defining parameters of said data structure, said par-ameter-s classifying said request, receiving means for receiving information concerning said request for said communication connection, allocating means for allocating said information to said defined parameters, and setting means for setting said parameters according to said allocated information in order to determine a distribution of said requests in relation to said defined parameters. Advantageous further developments of the present invention are as set out in the respective dependent claims. According to the present invention, the proposed method and/or device are very easy to implement. Advantageously, the present invention offers a high flexibility in application since it can easily be adapted by changing, for example, the kind or content of defined parameters. As an example, parameters which can be defined are e.g. a request status indicating whether said request for said communication connection has failed or succeeded, a bandwidth required for said requested communication connection, a transmission mode, e.g., constant bit rate (cbr) or variable bit rate (vbr). By defining different connection point classes, it is possible to discriminate end points, end point groups which contain end points, routes which contain end point groups, and the like. This enables a detailed and correct identification of connection points, such as an ATM network element, in the monitored communication network. The present invention can be used for communication connection by virtual path (VP) connections as well as by virtual channel (VC) connections. By using the present invention, it is possible to determine in a flexible manner, for example, how many connection requests of a certain transmission type (cbr, rtvbr) have succeeded, and how many have failed. Further, it is e.g. possible to determine peak cell rates of requests or the like. The present invention is most preferably used in connection with an ATM switch. Here, it is possible to use the present invention to gain statistical data of a channel selection (CS) function or routing algorithms, but also, with minor adaptations, of a connection admission control (CAC) function. In case of an ATM network, when a channel selection is to be monitored, the information used for generating the statistics is received for example from the connection admission control (CAC) function. However, it is easy to understand that the present invention can be used also in connection with other network elements delivering information usable for generating statistics. Furthermore, the present invention offers the advantage that the kind of representation of the distribution obtained by the statistical data can be easily set. For example, a linear or a logarithmic representation is possible. Further, a processing of the determined distribution can be performed in order to use a graphical user interface for the representation. A preferred embodiment of the invention are described herein below in detail by way of example with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 shows a block circuit diagram of a device for generating a data structure according to the present invention. FIG. 2 shows a flow chart for generating a data structure according to the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENT With reference to FIG. 1, a block circuit diagram of a configuration according to the present invention is shown. In FIG. 1, reference number 10 denotes an ATM network comprising several network elements such as ATM switches or the like. In the case that a connection with certain conditions (required bandwidth, transmission mode and the like) has to be established in the network, a corresponding request is sent from one network element (end point, connection point) to other elements in order to obtain a sufficient channel by using a channel selection CS function. When a channel is selected, a connection admission control CAC function checks whether the currently selected channel is sufficient for the requested connection or not (i.e., for example, request has failed or succeeded). The information concerning the request, i.e. the data about failing or succeeding, bandwidth, transmission type and the like, is input to a device 20, which can be for example a central processing unit CPU, for performing statistical processing by generating a corresponding data structure. For the generation of said data structure, the CPU 20 executes several functions, which will be described with reference to FIG. 2 below. The CPU 20 is connected to a memory for storing instructions, data and the like. The CPU 20 is also connected to a graphical user interface 30 to which determined statistical distribution data is output in order to represent it in a form to be decided on, for example, by the user (i.e. for example in a logarithmic or a linear form) . Depending on the network architecture, the device 20 can be included in a network element such as an ATM switch or the like, or be a separate part in the network structure. The operation performed to determine the statistical data according to the present invention is now described with reference to FIG. 2. In FIG. 2, a flow chart is shown illustrating the steps performed to generate a data structure according to the present invention. First, in step S2, data types for parameters are defined which classify connection requests and are used for the statistics. In this embodiment, the relevant parameters are whether the respective connection request has failed or succeeded, the bandwidth, and the requested transmission type (constant bit rate cbr, variable bit rate vbr). Furthermore, data types for classifying end points, end point groups, and routes are defined. However, if other parameters are to be registered in statistics, they can easily be added by defining a corresponding data type. When a request for a connection in the network has been made, corresponding data containing information related to the conditions of this request is received (step S3). In step S4, the received data is processed in order to identify the in±oxmation contained therein, and the information is allocated to the corresponding defined data type (parameter) . As an example, the information of success or failure of connection is allocated to the corresponding data type, and so on. After the information is allocated correctly to the corresponding parameter, the parameters are set for determining how the current request is to be included in the statistics (step S5). The order of said setting is to be defined, for example, by the network operator, in order to obtain all relevant statistical data needed for the desired statistics. Now, a distribution of connection requests can be obtained (step S6). That is, statistical data are updated according to the determination described above, for example, by counting the number of requests of a certain kind identified by the parameters allocated. If a new connection request is made in the network (step S7), the process is repeated from step S3, which results in a further updating of the statistics. As an alternative, it is also possible to define an auxiliary parameter by means of which different types of distribution can be set. For example, it is possible to define a linear representation or a logarithmic representation. Similar to the above described data types for the parameters, it is easy to change the used distribution type by changing said auxiliary type correspondingly. Although not shown in FIG. 2, a further processing of the distribution data can be performed in order to enable the usage of, e.g., a graphical user interface. Next, an example for a data structure generated by the present invention is given. Here, the used programming language is a specification description language (SDL). However, it is obvious for a person skilled in the art, that the used programming language could be also a different one, such as C or the like. The corresponding method steps are indicated in brackets at the respective program parts. First, a data type either_t is defined (step S2). It embodies the fact that each request either fails or succeeds. TYPE either t REPRESENTATION STRUCT failed dword; /* number of failed requests */ succeeded dword; /* number of successful request */ successful = CAC accepted ENDSTRUCT; ENDTYPE either t COMMENT 'General type for counting requests '; Furthermore, a data type by_bw_t for classifying the request by the bandwidth- is defined (step S2). By defining a constant num_of_slots the " number of slots used can be categorized. TYPE by_bw_t CONSTANT num_of_slots = 10; REPRESENTATION STRUCT ARRAY (num_of_slots) OF either ; ENDSTRUCT; ENDTYPE by_bw_t COMMENT 'General type for.classifying.requests by bandwidth'; Next , the connection points are defined , i . e . the end points in the ATM network ( step S2 ) . Concerning each endpoint , a certain number of successful and unsuccessful requests exists which all have some bandwidth requirement . As mentioned above , for example , two service categories are present : constant bit rate ( cbr ) and variable bit rate ( vbr ) such as real time variable bit rate ( rtvbr ) . TYPE end _point_t REPRESENTATION total_requests either t; /* total number of requests */ cbr_by_bw by_bw_t; rtvbr_by_bw by_bw_t; ENDTYPE end point t COMMENT Number of request on a end point'; An end point group (epg) consists of several end points. In this example, the data structure is designed to examine how many requests concerning a certain end point group have succeeded and which kind of bandwidth distribution they had. Here, it is assumed that each end point group has less than 1000 endpoints. TYPE end_point_group_t CONSTANT max_num_of_end_points_in_a_epg = 1000; REPRESENTATION STRUCT total_requests either_t; /* total number of requests for epg */ by_bw by_bw_t; cbr_requests either _t; /* how many cbr requests */ cbr_by_bw by_bw_t; rtvbr_requests either_t; /* how many rtvrb requests */ rtvbr_by_bw by_bw_t; /* and so on */ list ARRAY (max_num_of_end_points_in_a_epg) OF end_point_t; ENDSTRUCT; ENDTYPE end_point_group_t COMMENT "Number of different requests on an end point group '; Analogously , as mentioned above , a route consists of several end point groups . TYPE route CONSTANT max_num_of_endpointgroups_in_a_route = 1000; REPRESENTATION STRUCT total_requests either t; /* total number of requests for this route */ by_bw by_bw__t; cbr_requests either_t; /* how many cbr requests */ cbr_by_bw by_bw__t; rtvbr_requests either_t; /* how many rtvrb requests */ rt_vbr_by_bw by_bw_t; /* and so on */ list ARRAY (max-num_of_endpointgroups_in_a_route) OF end_point_group _t; ENDSTRUCT; ENDTYPE routej COMMENT "Number of different requests on a route '; Now, all parameters necessary for the statistics are defined. Next, it is described how these data structures are used. First, a maximum bandwidth for end points is decided, for example 10000. When receiving a request for a cbr connection with bandwidth of 2345 (step S3), the channel selection (CS) function decides to try whether e.g. an end point 1 in an endpoint group 2 can accommodate this connection (step S4). For the calculation, it is necessary to declare a variable, which is introduced in the process for example by DCL route route_t. Assuming now that the request succeeds, i.e. the CAC function accepts the currently chosen connection. For the statistics, the following procedure is then performed, by which the corresponding statistic is updated (steps S5 and S6) : /* for route */ route .total_request .succeed := route .total_request .succeed +1 route.by_bw(int(2345/10000*10)).succeed := route .by_b w(int(2345 /l 0000 * 10)) .succeed +1 route .cbr- requests .succeed := route.cbr_requests.succeed +1 route .cbr_by_bw(int(2345/10000* 10)) .succeed := route.cbr_by_bw(int(2345/10000*10)).succeed +l /* for end point group */ route.list(2).total_requests.succeed := route .list(2) .total requests .succeed+1 /* etc. as for route above */ /* for end point */ route .1 ist(2) .1 ist(l ) .total_requests .succeeed := route.list(2).list(l).totaljequests.succeeed+l route.Iist(2).list(l).by bw(int(2345/10000*10)) := route.Iist(2).list(l).by bw(int(2345/10000*10)) +1 In the case that the request has failed, the data structure is changed accordingly just by replacing succeeds with failed. In the above described case, a linear distribution is used. However, if a logarithmic distribution (base 10) is to be used, the expression int(2345/10000*10)) is to be replaced by int(log (2345)) . As can be seen, it is easy to define different distributions . To facilitate the using of different distributions, an auxiliary type is defined: TYPE distributionj REPRESENTATION STRUCT kind ENUM lin, log ENDENUM; values UNION lin_p STRUCT divisor dword; ENDSTRUCT; log_p STRUCT divisor dword; base dword; ENDSTRUCT; /* more distribution can be added */ ENDUNION; ENDSTRUCT; ENDTYPE distributionj For implementation of this auxiliary type distributionj, for example , the type routej has to be provided with the following : scale distributionj Now, the procedures which update the data structure know how they should calculate the correct array slots they use. It is also be easy to understand that a data structure which has previously used linear indexing can be transformed into one which uses logarithmic indexing. As described above, the present invention proposes a method for generating a data structure for statistical information used at a request for a communication connection via connection points, said method comprising the steps of defining parameters of said data structure, said parameters classifying said request, receiving information concerning said request for said communication connection, allocating said information to said defined parameters, and setting said parameters according to said allocated information in order to determine a distribution of said requests in relation to said defined parameters. The present invention also proposes a corresponding device. It should be understood that the above description and accompanying figures are merely intended to illustrate the present invention by way of example only. The preferred embodiments of the present invention may thus vary within the scope of the attached claims.

Claims: CLAIMS 1. A method for generating a data structure for statistical information used at a request for a communication connection via connection points, said method comprising the steps of: defining (S2) parameters of said data structure, said parameters classifying said request; receiving (S3) information concerning said request for said communication connection; allocating (S4) said information to said defined parameters ; and setting (S5) said parameters according to said allocated information in order to determine (S6) a distribution of said requests in relation to said defined parameters . 2. A method according to claim 1, wherein said defined parameters comprise a request status indicating whether said request for said communication connection has failed or succeeded. 3. A method according to claim 1, wherein said defined parameters comprise a bandwidth required for said requested communication connection. 4. A method according to claim 1, wherein said defined parameters comprise a transmission mode indicating a constant bit rate or a variable bit rate. 5. A method according to claim 1, wherein said defined parameters comprise connection point classes comprising at least one of a class of end points, a class of end point groups each of which contains at least one end point, and a class of routes each of which contains at least one end point group. 6. A method according to claim 1, wherein said information is received from a connection admission control function. 7. A method according to claim 1, wherein said determined distribution is represented in a linear form. 8. A method according to claim 1, wherein said determined distribution is represented in a logarithmic form. 9. A method according to claim 7 or 8, wherein said determined distribution is further processed to be represented on a graphical user interface. 10. A method according to claim 1, wherein said communication connection via connection points is performed by virtual paths. 11. A method according to claim 1, wherein said communication connection via connection points is performed by virtual channels. 12. A method according to claim 1, wherein said method is implemented by using a programming language. 13. A method according to claim 1, wherein said data structure for statistical information is used for a request for a communication connection by an asynchronous transfer mode switch. 14. A method according to claim 1, said method being used for obtaining statistics concerning a channel selection function or routing algorithm. 15. A method according to claim 1, said method being used for obtaining statistics concerning a connection admission control function. 16. A device for generating a data structure for a statistical information used at a request for a communication connection (10) via connection points, said device comprising: defining means (20) for defining parameters of said data structure, said parameters classifying said request; receiving means (20) for receiving information concerning said request for said communication connection; allocating means (20) for allocating said information to said defined parameters; and setting means (20) for setting said parameters according to said allocated information in order to determine a distribution of said requests in relation to said defined parameters. 17. A device according to claim 16, wherein said defining means (20) is adapted to define a request status indicating whether said request for said communication connection has failed or succeeded. 18. A device according to claim 16, wherein said defining means is adapted to define a bandwidth required for said requested communication connection. 19. A device according to claim 16, wherein said defining means is adapted to define a transmission mode indicating a constant bit rate or a variable bit rate. 20. A device according to claim 16, wherein said defining means is adapted to define connection point classes comprising at least one of a class of end points, a class of end point groups each of which contains at least one end point, and a cla-ss of routes each of which contains at least one end point group.- 21. A device according to claim 16, wherein said receiving means is adapted to receive said information from a connection admission control function (10). 22. A device according to claim 16, wherein said determined distribution is represented in a linear form. 23. A device according to claim 16, wherein said determined distribution is represented in a logarithmic form. 24. A device according to claim 22 or 23, said device further comprises processing means (20) for processing said determined distribution to be represented on a graphical user interface (30). 25. A device according to claim 16, wherein said communication connection via connection points (10) is performed by virtual paths. 26. A device according to claim 16, wherein said communication connection via connection points (10) is performed by virtual channels. 27. A device according to claim 16, wherein said data structure for statistical information is used for a request for a communication connection by an asynchronous transfer mode switch ( 10 ) . 28. A device according to claim 16, said device being used for obtaining statistics concerning a channel selection function or routing algorithm. 29. A device according to claim 16, said method being used for obtaining statistics concerning a connection admission control function.

Inventors: KINNUNEN MATTI, KINNUNEN, MATTI
Applicants: KINNUNEN MATTI, NOKIA NETWORKS OY, KINNUNEN, MATTI
Application year: 2000
Main classification: H04Q11
IPC codes: H04L12, H04Q11