METHOD AND ARRANGEMENT FOR FORMING DATA STREAMS

Abstract: The present invention relates to a method and to an arrangement (1) for forming continuously an array of outgoing data streams (B) from a selectable array of incoming data streams (A). Stream elements belonging to the incoming data streams (A) are described by a first set of Tables (TA), and stream elements belonging to the outgoing data streams (B) are described by a second set of tables (TB). A subset of incoming stream elements are arranged in outgoing stream elements that form frames in accordance with the second set of tables.

Description: METHOD AND ARRANGEMENT FOR FORMING DATA STREAMS Field of invention The present invention relates to a method and to an arrangement for form- ing continuously a selectable array of outgoing data streams on the basis of a selectable array of incoming data streams. Description of the background art It has long been known to use switching to transfer data streams arriving at a switch via a number of incoming links to a number of outgoing links. Two time perspectives can be referred to in conjunction with switching, these being control time and stream time. Different connections are established in the control time, and it is determined how incoming data streams shall be handled to form outgoing data streams. Incoming data streams shall be handled in the stream time in accordance with what has been determined in the control time. It is known to use a set of control rules that determine how the various data streams shall be transmitted between incoming and outgoing links associated the switch. These rules are set up in the control time. The term data streams is not normally used, for instance, in systems that use deterministic time division, the central terms in such cases being channels that are allocated one or more time slots in a time frame. These channels can be considered to carry data streams. A time frame is a periodically recurring primary interval that has a defined internal structure in the form of time slots. The stream membership for different data bits in a channel is defined in the control time by the positions of the different time slots within a time frame. When switching data streams, the information in time slots in incoming time frames is transferred to intended time slots in outgoing time frames in said stream time, in accordance with predetermined switching control rules. In the case of one or more incoming links of 2 Mb/s, for example, these links are demultiplexed to a number of incoming channels of 64 kb/s. These channels are switched to a number of outgoing channels, still of 64 kb/s, which are multiplexed together to form one or more outgoing links of 2 Mb/s. Demultiplexing, switching and multiplexing thus take place in different mutually separated stages. When a change shall be made as to how a reorganisation shall take place, such as when a data stream shall be added or removed, or when a data stream shall be added or removed in conjunction with multicasting, the change is made in the control time through the medium of a control process in conjunction with concerned units, such as the switch, the transmitter and the receiver respectively. It is also known to use a control unit for controlling and steering the control procedure. Thus, control time and data stream time are well defined and separate from each other in connection with time division. In data packet handling, each data packet carries a header, which includes, among other things, information relating to the address to which the data packet shall be sent. Local rules in the switch determine how a data packet containing given address information shall be handled. The data packet belonging to an information flow from a transmitter to a receiver represents a data stream. In a connectionless network, such as in the case of Internet protocol (IP), the separate packets can be handled as individual packets independently of each other when they shall be transported through the network, and two data packets belonging to one and the same data stream can be transported along different paths through the network, depending on prevailing network conditions. In this case, each incoming packet is handled by a network router in accordance with the address information carried by the packet. In this re- gard, it can be said that the control time lies in the data stream time, since the packet per se carries control information that is interpreted in the router. A control process can also be used in conjunction with data packet handling, for establishing and handling connections in a control period. This takes place within connection orientated systems, such as X.25 and ATM, in which the control time includes handling of those rules which control how a data packet shall be handled within a switch. Data streams can also be multiplexed, in other words a data stream can carry a plurality of carried data streams. There is used in this description such terms as carrying data streams and carried data streams respectively, implying that a number of carried data streams are carried by a carrying, and thus multiplexed, data stream. A non-carrying data stream is referred to in this description as a simple data stream. The term recursive multiplexing is also used in this description, by which is meant that a carried data stream may also constitute a multiplexed carrying data stream and thus carry other carried data streams. Recursive multiplexing also means that the same principles can be applied for interpreting the content of a data stream on all recursion levels. This means that an ATM-cell, which per se may carry a number of mini- cells, does not constitute an example of a recursively multiplexed data stream according to the definition used in this description. This is because the same principles cannot be applied to interpret both an ATM-cell and a mini-cell, since it must be known whether the subject to be interpreted consists of an ATM-cell or a mini- cell before interpretation can commence. Summary of the present invention Technical problems When considering the present state of the art as described above and when taking a starting point from a method and an arrangement for forming con- tinuously a selectable array of outgoing data streams from a selectable array of incoming data streams, it will be seen that there exist various technical problems of mutually different degrees of difficulty, depending on whether data packet handling or deterministic time sharing is applied. For example, a technical problem resides in the handling of data streams of arbitrary bandwidth. A further technical problem resides in flexibly changing the number of incoming data streams without losing data. Another technical a problem is one of handling finite data streams or bursts of data streams without losing data or without the occurrence of unused transmission capacity. Another technical problem is one of handling multiplexed streams recursively with a selective recursion depth. Yet another technical problem resides in handling both unicast and multicast in a simple fashion. Yet another technical problem is one of utilising all of the available transmission capacity in connection with variable transmission requirements of transmitted data streams. Another technical problem is one of guaranteeing high service quality in a highly loaded network. Finally, a technical problem exists in providing a solution for all of the aforesaid technical problems with one and the same method or arrangement. Solution The term frame multiplexing is used in connection with the described problem solution. Frame multiplexing is a principle on which the present invention is based. This principle is described in detail in Swedish Patent Application SE- 9903808-5, which is considered to form a part of the instant application. This prin- ciple is therefore only described partially in the instant application, and a more complete description of said principle is found in the aforesaid Swedish patent application. In this description, a data stream is defined as a time-ordered sequence of interrelated data stream elements that can be handled in a repetitive sequence. By table-operated device as used in this document is meant a device which handles data streams through the medium of tables. These data streams may be simple data streams or carrying data streams. A table describes frames that constitute data stream elements of a carrying data stream and the data stream elements carried by said streams. A table-operated device can separate the data stream elements of a carrying data stream into its components, and/or create new carrying data streams, by forming new data stream elements from other stream elements belonging to carried data streams. A table can be changed or updated in accordance with instructions from a control device. Table-operated devices can be controlled by many different tables, one for each carrying data stream handled by the device. Each specific table is common to the table-operated devices that shall be capable of handling concerned data streams. A more detailed description of table-operated devices in general and of the co-action with said control device in conjunction with changes or updating of the frame-describing table in particular is given in Swedish Patent Application SE- 9904857-1 , which is considered to constitute a part of the instant application. Consequently, the instant application will not be laden with a detailed description of the modus operandi of the control device and its co-action with table-driven devices.With the intention of providing a solution to one or more of the aforesaid problems, the present invention takes as its starting point a method or an arrangement for continuously forming an array of outgoing data streams from a given array of incoming data streams. The frame format of tables is described in a table-operating device. The frame can be compiled in different ways, depending on the multiplexing method used: 1. The frame may be compiled in accordance with the frame multiplexing principle described in Swedish Patent Application SE-99 03808-5. In this case, the frame includes in the table an index which enables the description of the frame con- cerned to be found. The index may be structured as a pointer plus mask. 2. The frame may be compiled as an STM-frame, such as in the case of time multiplexing, in which case the table will include only one single frame description at a given point in time. 3. The frame may include only one stream element, which can be considered as being a special case of 2 above. In other words, the table is a table that includes only one single frame description, which describes solely a data stream element that includes the entire frame or a part of said frame. By "continually forming" is meant in this description that incoming data stream elements are identified in data stream time in repetitive sequences in step with data stream elements incoming on incoming links (interface), and directing these incoming data stream elements to be carried by data stream elements on outgoing interfaces, such as to route data streams through the arrangement in accordance with the decision of the control system. According to the present invention, this can be achieved by describing stream elements belonging to incoming data streams in a first set of tables, and by describing stream elements belonging to outgoing data streams in a second set of tables. The content of these tables is defined by the control system and reflects how data streams shall be routed through the arrangement. Routing is effected in data stream time, by identifying incoming carried stream elements with the aid of the first set of tables, and by arranging a subset of these data stream elements in frames forming outgoing data stream elements, in pursuance of the second set of tables. According to the present invention, these data streams may be comprised of multiplexed data streams and may be multiplexed recursively, i.e. a carried data stream may itself carry data streams by virtue of its data stream elements forming frames that carry other stream elements. In the case of recursive multiplexing, a carrying data stream has affiliated therewith a table which refers to tables for the data streams carried by said carrying data stream, said carried data streams being carrying data streams in themselves. With the intention of enabling multiplexed data streams to be handled as simple data streams when not requiring the data streams carried by the carrying data stream to be handled separately, it is proposed in accordance with the invention that the first and the second sets of tables describe the data streams that are included in the respective arrays of incoming and outgoing data streams in all recursion depths to be handled. With the intention of providing a multicast option, it is proposed in accordance with the invention that data stream elements belonging to a data stream associated with the incoming data streams can be replicated to form stream ele- ments that belong to two or more carried data streams in one or more different carrying data streams belonging to the outgoing data streams. It is also proposed in accordance with the invention that the validity of the first and the second sets of tables is maintained through the medium of one or more control units. This is effected in the control time. Because the tables may in- elude several different carrying data stream formats at one and the same time, it is possible to handle finite streams, in other words the addition of a new carried stream and the termination of an existing carried stream or the handling of carried streams that have a bandwidth requirement which varies in data stream time, without consequently losing data and with a possibility of utilising available trans- mission capacity to the full by choosing a relevant frame format of the data stream from the tables in data stream time. The tables included in the two sets of tables are frame-describing tables that describe permitted frame structures, wherein each frame includes stream elements belonging to one or more different carried data streams. According to the present invention, each frame shall also include or be associated with information for pointing out in a table the structure of the frame in question. In this regard, the intention is to enable a correct description of the frame structure to be found in the table. This is thus an application of frame multiplexing for bringing together data stream elements belonging to one or more different carried data streams in a common frame in a carrying data stream. According to one preferred embodiment of the present invention, a presence vector can be derived with a starting point from incoming stream elements and the first set of frame-describing tables, said presence vector corresponding to all incoming data streams. Moreover, each permitted frame structure for respective outgoing carrying data streams may be represented by a frame element vector. This those frame structures which shall be used for outgoing data streams in the case of a specific transmission requirement according to incoming data streams to be chosen by matching between available frame element vectors and relevant presence vectors. According to another preferred embodiment of the present invention, a tree structure can be derived from information for pointing in incoming frames, such as an index tree, and the frame structure for outgoing data streams may be formed directly with a starting point from said tree structure. With the intention of enabling groups of data stream bursts to be readily handled, it is proposed in accordance with the invention that the information pointing to frames for incoming carrying data streams and/or for outgoing carrying data streams is divided into two parts, where a first part constitutes a reference to a po- sition in associated frame-describing tables and a second part includes a mask whereby said data stream bursts can be defined as being transferable with relevant frame structures. Advantages Those advantages primarily associated with a method or an arrangement according to the present invention reside in the possibility of readily switching a number of incoming data streams to form a number of outgoing data streams and therewith the possibility of handling selective bandwidths on incoming data streams, flexible changes in the number of data streams, finite data streams, re- cursively multiplexed data streams with selective recursion depths, multicasting, and data stream bursts or streams having variable transmission requirements with guaranteed service quality regardless of their degree of utilisation. Brief description of the drawings A method and an arrangement having features characteristic of the present invention will now be described by way of example with reference to the accompanying drawings, in which Figure 1 is a schematic and highly simplified illustration of an arrangement for reorganising a first array of data streams to a second array of data streams; Figure 2 is a schematic illustration showing how data streams can be recursively multiplexed in each other; Figure 3 shows references between tables that describe recursively multiplexed data streams; Figure 4 illustrates how an incoming data stream can be replicated to form a plurality of outgoing data streams; Figure 5 is a schematic illustration of a frame that represents a number of data streams in accordance with the frame multiplexing principle; Figure 6 is a schematic illustration of the compilation of frame-describing tables and shows how said tables are used to interpret a frame recursively; Figure 7 illustrates schematically a first embodiment of a representation of in- coming data streams and shows how this representation is used to select the frame structure for outgoing data streams, the use of a presence vector, and a number of frame element vectors; Figure 8 illustrates schematically a second embodiment of a representation of incoming data streams and shows how this representation is used to select the frame structure for outgoing data streams, the use of a tree structure; and Figure 9 illustrates schematically the division of an index. Description of embodiments at present preferred Figure 1 illustrates a method of continuously forming an array of outgoing data streams B from a given array of incoming data streams A. An arrangement 1 that can form an array of outgoing data streams B in this way is a MUX-switch and the switch will be used as an example of such an arrangement in this description. Other components that handle and form data streams for the representation of data streams can also operate in accordance with this method. Examples of such components are the multiplexor that forms a carrying outgoing data stream with a starting point from an array of incoming data streams, and the demultiplexer that forms an array of outgoing data streams with a starting point from an incoming carrying data stream. According to the present invention, data stream elements belonging to an array of incoming data streams A are described by a first set of tables TA. Similarly, data stream elements belonging to the array of outgoing data streams B are described by a second set of tables TB. The first set of tables TA show which possible data streams directly or recursively carried by the data streams A-i, A 2 ,..., A n can be found among the array of incoming data streams A and how these data streams may be organised. Similarly, the second set of tables TB show which possible data streams directly or recursively carried by the data streams B-i, B 2 ,... , B n can be found among the array of outgoing data streams B and how these data streams may be organised. According to the principle of an inventive method as seen generally, but also specifically in respect of a switch, data streams included in the outgoing data streams B are comprised of or include data streams that are included in the incoming data streams A. Information relating to how data streams can be routed through the arrangement can be derived from the first and the second set of tables TA, TB. With the aid of the first set of tables TA, it is possible to determine which of these possible data streams in the array of incoming frames in stream-element associated data streams A that are actually represented by stream elements at a given moment in time, while the second set of tables TB makes known how these data streams shall be handled in order to form the array of stream elements belonging to outgoing data streams B. According to the present invention, these data streams A-i, A 2 , A n , B-i, B 2 , B n are comprised of multiplexed data streams. Fig. 2 shows that the data stream A-i carries the carried data streams An, A 12 , A-ι 3 . Data streams can also be multiplexed recursively in each other, in other words a carried data stream Aι 2 may itself carry carried data streams A-121, Aι 22 , Ai 23 - All data streams are interpreted in the same way, regardless of whether the data stream is a carrying data stream or a simple data stream, and also re- gardless of the recursion depth. It is not necessary to know if a data stream is carrying or simple before being interpreted, and a true recursion according to the definition of recursion in this description can thus be used. The mutual relationships of the data streams and how they shall be interpreted can be read from the tables. Figure 3 illustrates an example of a first set of tables TA including the tables TA-i, TA-M , TA12, TA 2 , and TA n . As illustrated, the tables include a number of different columns which are shown to lie behind each other and each of which column represents a possible frame type carrying an array of stream elements be- longing to incoming data streams A. A table TAi belonging to a carrying data stream Ai describes the data stream A-i. The figure shows that different positions in the table TAi refer to the data streams An, A-ι 2 , A-ι 3 carried by the carrying data stream A-i. Fig. 3 also shows that the table TA-ι 2 describing the data stream A 2 also describes the data streams A-121, A 122 , A 123 carried by the carrying data stream A-ι 2 . This allows the recursive relationship between different data streams to be read from associated tables. The first set of tables TA describe the data streams A-i, A 2 , A n , An, A 12 , A-13, Am, A112, A-121, A122, -123 that are included in the array of incoming data streams A in all recursion depths to be handled. Similarly, the second set of tables describe the data streams that are included in the array of outgoing data streams B in all recursion depths to be handled. By requisite recursion depths for what shall be handled is meant that at least those data streams which need to be shown in order to form outgoing data streams are shown in the representation constituted by the first and the second set of tables respectively. Similarly, by requisite recursion depth concerning the array of outgoing data streams B is meant that carried data streams need not be seen in connection with forming the outgoing data streams and neither need they be seen in the rep- resentation constituted by the second set of tables TB. Figure 4 shows that stream elements belonging to a data stream A- 13 included in the array of incoming data streams A can be replicated to form two or more stream elements belonging to carried data streams B-ι 2 , B- 1 4, B 23 , B n1 in one or more different carrying data streams B-i, B 2 , B n belonging to the array of outgo- ing data streams B, in accordance with the invention. This provides the possibility of a so-called multicast, where stream elements belonging to a data stream can be organised to form a plurality of stream element replicas in forming the array of outgoing data streams. Those data streams that are included in both the incoming and the outgoing data streams can be changed in control time, for instance by removing certain data streams from and adding data streams to an existing data stream that shall be forwarded to other, new receivers in addition to earlier receivers, or by removing one or more receivers of an existing data stream as a receiver for this particu- lar data stream. Such changes are reflected by adding, changing or removing descriptions of frame types in the tables TA and TB. According to the invention, the validity of respective tables TA, TB is maintained by means of one or more control units 2 according to fig. 1. The co-action of these control devices 2 with different so-called tableoperated devices is illustrated in Swedish Patent Application SE-99 04857-1 , and the person skilled in this art will be able to apply this co-action with a method or an arrangement according to the present invention on the basis of this description. The manner in which the validity of the tables used is maintained will therefore not be discussed further in this description. It will be understood, however, the control stream 21 required to maintain this validity can belong to the array of incoming data streams A, and that the control stream 21 need not necessarily belong to the array of outgoing data streams B when communication takes place from the control unit 2 to the arrangement 1. Similarly, said control stream 21 may belong to the array of outgoing data streams B whilst not necessarily belonging to the array of incoming data streams A when communication takes place from the arrangement 1 to the control unit 2. According to one preferred embodiment of the present invention as illustrated in fig. 5, respective carried data streams A-i, a sequence of related stream elements, and carrying data streams A-i are organised in frames in accordance with the frame multiplexing principle. The tables included in the two sets of tables TA, TB consist of frame-describing tables that describe permitted frame structures. A frame having a frame structure 11 includes stream elements 1 1 An, 11A- 1 2, 11A-I3 belonging to carried data streams An, A 12 , Aι 3 . Each frame structure provides a frame space that includes information IAι required for pointing-out relevant frame structures included in the table. Frame multiplexing is used to combine stream elements 11An, 11A12, I IA- 13 belonging to carried data streams An, A- 12 , A-ι 3 in a common frame structure 11 in a carrying data stream A-i. As indicated in fig. 6, the information IA1 for pointing out relevant frame structures is comprised of a reference or of a pointer pointing to a position FDT1 in a frame-describing table FDTA1. This table consists of a number of positions FDTA1-1, FDTAI 2 , ..., FDTA1 n in the frame-describing table, shown in fig. 1 as columns placed one behind the other. Each position or column represents a possible frame structure for the data stream described by the table. The pointer IA need only consist of an address, or an address reference, meaning that it need only take up a very small space in the frame structure 11. It will be understood that when one or more carrying data streams solely carry frames having one sort of frame structure, the associated frame-describing table will consist only of one column that describes this single frame structure. In this case, no information is required in the frame for pointing-out the single column in the table. This case can be used prior to handling, e.g., multiplexed streams where carried streams correspond to time slots. Respective positions or columns FDTAI 1, FDTA1 2 , ..., FDTA1 n in the frame-describing table FDTA1 include a plurality of items FDTA1 n, FDTA1 12 , FDTA1ι 3 where the frame structure 11 includes an item for each stream element 11 An, 11Ai2, 11A 13 . These items FDTAI n, FDTA1 12 , FDTA1 13 , denote the positions of respective stream elements 11An, 1 A 12 , 11A 13 in the frame, the magnitude of respective stream elements, and the data stream An, A-12, A 13 to which re- spective stream elements 11An, 11A 12 , 11A 13 belong. Figure 6 also shows how recursively multiplexed data streams are represented in connection with frame multiplexing. It is shown here that the carrying data stream A-i carries the data stream A 12 , among other things. The item or entry FDTAI 12 in the column FDTAI -i concerned with respect to the carrying data stream A-i indicates that it is a stream element belonging to the data stream A12 carried in this part of the frame structure. Thus, it is known which table shall be used to interpret this stream element, namely the frame-describing table FDTA12. According to the frame multiplexing principle, this stream element is comprised of a stream that has a frame structure 12 for the data stream A12. This frame contains information 1A-| 2 , which enables a correct position or column FDTA12ι to be pointed-out in the frame-describing table FDTA12 for correct interpretation in accordance with said frame structure 12. This column FDTA12-] contains items, or entries, FDTA12n, FDTA12-12, FDTA12ι 3 , which, in turn, describe the content of the stream elements carried by the data stream A12 in accordance with said frame structure 12, and which thus identify and describe the carried data streams A121, A122 and A 2 3- Figure 7 illustrates a preferred embodiment of the present invention in which a presence vector 31 corresponding to all incoming stream elements at all recursion depths belonging to the incoming array of data streams A can be derived with a starting point from incoming stream elements and the first set of frame- describing tables TA. Moreover, permitted frame structures for outgoing carrying data streams included in B at all recursion depths may be represented by alternative frame ele- ment vectors 41 , 42, ..., 4n, ..., 4p, where each position in a frame element vector shows which streams are carried by an array of outgoing data streams and which of these carried data streams are included in respective frame formats for the outgoing carrying data streams. The frame element vectors may include all data streams included in B or may be divided so that each given array of data streams included in B is represented by a separate array of alternative frame element vectors. Those data streams which are found represented in an incoming frame 11 are marked as present in the presence vector 31 , shown schematically as x in given positions in the illustrated presence vector. Thus, the presence vector 31 represents the current transmission requirement. This enables frame structures that correspond to the current transmission requirement to be chosen for each carrying data stream belonging to outgoing data streams B, by matching between available frame element vectors 41 , 42, ..., 4n, 4p and the current presence vector 31. The figure shows that frame element vector 4n matches the current presence vector 31. This embodiment requires interpretation of the stream elements belonging to the data streams A included in incoming frames, and for this interpretation to be converted to a presence vector 31 , which is then matched to different frame element vectors 41 , 42, 4n, so as to find a requisite frame structure for the various outgoing data streams B. According to an alternative embodiment shown in fig. 8, it is also possible to derive a tree structure IT, such as an index tree, from respective information for pointing-out IA for incoming frames, wherein the frame structure for outgoing car- rying data streams B is formed with a starting point from this tree structure IT. The figure shows a tree structure IT which represents incoming data streams A, where the tree root consists of a node which represents the information or the index IA for a conceivable frame structure that includes all incoming data streams. This node IA is coupled in the tree structure to nodes that represent the information or the index lA-i, lAn, IA 12 , IA 13 , IA 2 and IA n relating to the incoming data streams A. Moreover, respective nodes are coupled to nodes that represent data streams which are carried by the data stream represented by the node. For example, the node IA-ι is coupled to nodes that represent the information or the index IA-121, IA 12 2, IA-123 relating to the data streams A-ι 2 ι, A 1 22 and A123 carried by this data stream. It will be understood that when a stream is comprised of a simple data stream, in other words of a data stream that is not a carrying data stream per se, said simple data streams constitute so-called leaf nodes in a tree structure accord- ing to the above. However, these need not be represented in a tree structure of the kind represented here, since all of these simple data streams are known by the information or the index belonging to said carrying data stream, through the medium of a node that represents a data stream which, itself, carries simple data streams. The forms that can be assumed by the index tree IT are determined in control time, and there is tied to each index tree form information relating to those frame formats that shall be chosen for outgoing stream elements belonging to B-i, B2, B n . This embodiment enables an index tree IT to be formed directly from the pointing information, i.e. the table index IA belonging to incoming frames, without needing to examine and interpret the simple data streams included among incoming data streams A. Correct frame structures for outgoing data streams B-i, B , B n can then be derived from said tree structure IT. Figure 9 illustrates a preferred embodiment in which the pointing informa- tion or the index IA belonging to a used frame-describing table for incoming carrying data streams and/or for outgoing carrying data streams is divided into two parts IA' IA". A first part IA' constitutes a reference to a position in the frame- describing table FDTA, and a second part IA" includes a mask 12a, 12b, 12c, I2d whereby a number of data streams can be defined, such as can be transmitted with relevant frame structures. This enables data streams that are continuous over a longer period of time to be represented in different positions in the frame-describing table, and to enable groups of burst-like streams to be represented by a position in the mask 12, said mask being easily adapted from frame to frame. The present invention also relates to an arrangement. Referring back to fig. 1 , there is shown an arrangement 1 which is adapted to form continuously an array of outgoing data streams B on the basis of a selectable array of incoming data streams A. The arrangement 1 is adapted to operate in accordance with the described method and those features required of such an arrangement in this regard will be described in the following text. A local memory 1 m belonging to the arrangement 1 has stored therein a first set of tables TA and a second set of tables TB. The first set of tables TA is adapted to describe stream elements belonging to those data streams that are included in the array of incoming data streams A, and the second set of tables TB is adapted to describe stream elements belonging to those data streams that are included in the array of outgoing data streams B. The arrangement 1 is adapted to derive from the first and the second set of tables TA, TB, information as to how data streams shall be routed through the arrangement, either directly or indirectly. The arrangement 1 is adapted to handle data streams that form multiplexed data streams, as illustrated in fig. 2, and also data streams that are multi- plexed recursively in one another, i.e. so that a carried data stream can, itself, carry data streams by virtue of said stream elements forming frames that carry other stream elements. As illustrated in connection with the method and with reference to fig. 3, a table TAi belonging to a carrying data stream Ai is adapted to refer to tables TAn, TA- 12 , TA 13 that describe the data streams An, A 12 , A 13 carried by said carrying data stream. The first and the second data tables TA, TB are also adapted in respect of the arrangement 1 , to describe those data streams that are included in the respec- tive arrays of incoming and outgoing data streams A, B in all recursion depths to be handled by the arrangement 1. With the intention of providing a multicasting facility, an inventive arrangement 1 , illustrated in fig. 4, is adapted for replication of stream elements belonging to a data stream Aι 3 associated with the array of incoming data streams A, to form two or more stream elements belonging to carried data streams B-i 2 , B , B 2 3, B n ι in one or more different carrying data streams B-,, B 2 , B n belonging to the array of outgoing data streams B. An inventive arrangement 1 is also adapted to co-act with one or more control units 2 with the intention of maintaining the validity of the two sets of tables TA, TB. According to one preferred embodiment of the present invention, the arrangement 1 is comprised of a table-operated device conforming to the definition of table-driven devices given in Swedish Patent Application 99 04856-1. Moreover, respective carried data streams A11 of the fig. 5 illustration are a sequence of interrelated stream elements 11An, where carrying data streams A 1 can be organised in frames 11. The tables included in the two sets of tables TA, TB are comprised of frame-describing tables that describe permitted frame structures. Each such frame 11 may include stream elements 11An, 11A 12 , 11A-ι 3 be- longing to one or more different carried data streams An, A- 12 , Aι 3 . Each frame structure allows a frame to include or to be associated with information required to enable the arrangement to point to a relevant frame structure for an incoming frame in the table belonging to a data stream. In order to enable stream elements belonging to one or more different car- ried data streams to be gathered in a common frame 11 in a carrying data stream, an arrangement 1 according to the present invention is adapted to use frame multiplexing in accordance with the definition of frame multiplexing given Swedish Patent Application SE-9903808-5. Figures 1 and 7 show that in accordance with one embodiment of the pre- sent invention it is possible to allow a first evaluating unit 3 to be adapted to derive from the first set of frame-describing tables TA a presence vector 31 , which corresponds to all incoming carried data streams. Moreover, a frame element vector 41 , 42, ..., 4n, 4p may be adapted to represent each permitted frame structure for re- spective outgoing carrying data stream included in B. This embodiment thus enables a first selecting unit 4 to be adapted to select a frame structure for each outgoing carrying data stream included in B, by matching between available frame element vectors 41 , 42, ... , 4n, 4p and the presence vector 31. Figures 1 and 8 illustrate another alternative embodiment of the present invention which allows a second evaluating unit 3' be adapted to derive a tree structure IT from respective pointer information or indexes IA for incoming frames, such as an index tree, and to permit a second selector unit 4' to be adapted to form the frame structure for outgoing carrying data streams B with a starting point from this tree structure TI. Figure 9 illustrates an inventive arrangement 1 which is also adapted to permit said pointer information or index IA belonging to a frame-describing table used for incoming carrying data streams and/or for outgoing carrying data streams to be divided into two parts, of which a first part IA' is adapted to constitute a reference to one position in the frame-describing table FDTA, and a second part IA" is adapted to include a mask I2a, I2b, I23c, I2d that enables a number of data streams to be defined as being transmittable with current frame structures. It will be understood that the invention is not restricted to the aforede- scribed exemplifying embodiments thereof and that modifications can be made within the scope of the inventive concept as defined in the accompanying claims.

Claims: CLAIMS 1. A method of forming continuously a selectable array of outgoing data streams from a selectable array of incoming data streams, characterized by de- scribing a repetitive sequence of stream elements belonging to said array of incoming data streams in a first set of tables; describing stream elements belonging to said array of outgoing data streams in a second set of tables; and arranging a subset of said incoming stream elements in outgoing stream elements forming frames in accordance with said second set of tables. 2. A method according to claim 1 , characterized in that said data streams may be multiplexed data streams; in that data streams may be multiplexed recursively, in other words a carried data stream may itself carry data streams by virtue of its stream elements forming frames that carry other stream elements; and in that there belongs to a carrying data stream a table which refers to tables for those data streams carried by said carrying data stream which are in themselves carrying data streams. 3. A method according to claim 2, characterized in that said first and said second set of tables describe those data streams that are included in said incoming data streams and said outgoing data streams respectively in at least those recursion depths to be handled. 4. A method according to any one of the preceding claims, characterized by replicating stream elements affiliated with a data stream belonging to said incoming data streams to form stream elements belonging to two or more carried data streams in one or more different carrying data streams belonging to said outgoing data streams. 5. A method according to any one of the preceding claims, characterized by maintaining the validity of said first and said second set of tables through the medium of one or more control units. 6. A method according to any one of the preceding claims, characterized in that the tables included in said first and said second set of tables are frame- describing tables; in that each frame includes stream elements belonging to one or more different carried data streams; and in that each frame includes or is associated with information required to point-out a relevant frame structure included in the table. 7. A method according to claim 6, characterized in that one or more carrying data streams carries/carry solely frames of one frame structure; and in that the pointer information is absent from the frame in such cases. 8. A method according to claim 6 or 7, characterized by deriving from incoming stream elements and said first set of frame-describing tables a presence vector which corresponds to all incoming stream elements at all recursion depths belonging to the incoming array of data streams; in that each permitted combination of frame structures for outgoing carrying data streams is represented by a frame element vector; and in that a frame structure is chosen for each outgoing carrying data stream by matching between available frame element vectors and said presence vector. 9. A method according to claim 6 or 7, characterized by deriving from said pointer information in incoming frames a tree structure, such as an index tree; and by forming the frame structure for outgoing data streams on the basis of said tree structure. 10. A method according to any one of claims 6 to 9, characterized by dividing pointer information relating to frames for incoming carrier data streams and/or relating to outgoing carrier data streams, into two parts of which a first part forms a reference to a position in an associated frame-describing table and the second part includes a mask which enables a number of data streams to be defined as being transmittable with the frame structure in question. 11. An arrangement adapted to form continuously a selectable array of outgoing data streams from a selectable array of incoming data streams, characterized in that a first set of tables and a second set of tables are stored in a local memory belonging to said arrangement; in that said first set of tables is adapted to describe stream elements belonging to said incoming data streams; in that said second set of tables is adapted to describe stream elements belonging to said outgoing data streams; in that the contents of said tables reflect how data streams shall be routed through said arrangement; and in that a subset of stream elements belong- ing to incoming data streams are arranged in a repetitive sequence in stream elements forming frames in outgoing data streams in accordance with said second set of tables. 12. An arrangement according to claim 11 , characterized in that said ar- rangement is adapted to handle data streams that constitute multiplexed data streams; in that said arrangement is adapted to handle data streams that are multiplexed recursively, that is to say a carried data stream can, itself, carry data streams by virtue of its stream elements forming frames that carry other stream elements; and in that a table belonging to a carrying data stream is adapted to re- fer to tables for those data streams which are carried by this carrying data stream and which are in themselves carrying data streams. 13. An arrangement according to claim 12, characterized in that said first and said second set of tables are adapted to describe those data streams which are included in said incoming and said outgoing data streams respectively at all recursive depths to be handled by said arrangement. 14. An arrangement according to any one of claims 11 to 13, characterized in that said arrangement is adapted for the replication of stream elements affiliated with a data stream belonging to said incoming data streams to form two or more stream elements belonging to carried data streams in one or more different carrying data streams belonging to said outgoing data streams. 15. An arrangement according to any one of claims 11 to 14, characterized in that said arrangement is adapted to co-act with one or more control units for the purpose of maintaining the validity of said first and said second set of tables. 16. An arrangement according to any one of claims 11 to 15, characterized in that said arrangement comprises a table-operated device; in that the tables in- eluded in said first and said second set of tables are frame-describing tables; in that each frame may include stream elements belonging to one or more different carried data streams; and in that each frame may include or be associated with requisite information which enables said arrangement to point to a relevant frame structure in said table. 17. An arrangement according to claim 16, characterized in that one or more carrying data streams is/are adapted to solely carry frames of one frame structure; and in that said pointer information is not included in the frame in such cases. 18. An arrangement according to claim 16 or 17, characterized by a first evaluating unit which is adapted to derive from incoming stream elements and from said first set of frame-describing tables a presence vector which corresponds to all incoming stream elements at recursion depths belonging to the incoming ar- ray of data streams; in that a frame element vector is adapted to represent each permitted combination of frame structures for outgoing carrying data streams; and in that a first selector unit is adapted to select a frame structure for each outgoing carrying data stream by matching between available frame element vectors and said presence vector. 19. An arrangement according to claims 16 or 17, characterized by a second evaluating unit which is adapted to derive a tree structure, such as an index tree, from said information for pointing in incoming frames; and by a second selector unit which is adapted to form the frame structure of outgoing carrying data streams on the basis of said tree structure. 20. An arrangement according to any one of claims 15 to 18, characterized in that the pointer information belonging to frames for incoming carrying data streams and/or for outgoing carrying data streams is divided into two parts of which a first part is adapted to constitute a reference to a position in an associated frame- describing table and a second part of which is adapted to include a mask which enables a number of data streams to be defined as being transmittable with current frame structures.

Inventors: HANSSON ALLAN, SANDER HERBERT, TOENNBY INGMAR, HANSSON, ALLAN, SANDER, HERBERT, TOENNBY, INGMAR
Applicants: ERICSSON TELEFON AB L M, HANSSON ALLAN, SANDER HERBERT, TOENNBY INGMAR, HANSSON, ALLAN, SANDER, HERBERT, TELEFONAKTIEBOLAGET L M ERICSSON (PUBL), TOENNBY, INGMAR
Application year: 2001
Main classification: H04J3
IPC codes: H04Q11