HK1082070B - Backplane architectur for a media server - Google Patents
Backplane architectur for a media server Download PDFInfo
- Publication number
- HK1082070B HK1082070B HK06102141.8A HK06102141A HK1082070B HK 1082070 B HK1082070 B HK 1082070B HK 06102141 A HK06102141 A HK 06102141A HK 1082070 B HK1082070 B HK 1082070B
- Authority
- HK
- Hong Kong
- Prior art keywords
- media
- card
- bus
- data
- bus controller
- Prior art date
Links
Description
Technical Field
The present invention relates to data servers and in particular to data servers which specifically act as media servers for use in association with telephone networks, video conferencing networks and similar networks. The invention relates in particular to a backplane structure for a data server of the above-mentioned kind.
Background
Data servers typically find themselves in a variety of environments for a variety of purposes. However, the invention relates in particular to the use of a data server in a media network that transmits media data in a packet format. Such use may be particularly useful in media gateways and media servers of media networks such as telephone networks.
Indeed, the invention has particular utility, particularly in the context of telephone networks. The telephone network carries voice data that has been encoded, in particular, into a digital format. However, although the human ear may be broad to some extent, it will not tolerate significant interruptions or delays in voice messaging. In other words, unlike data networks, where delays or interruptions in packet data transfer can be tolerated, at least to some extent, voice messages as well as video messages and the like must be transmitted and processed substantially in real time. Therefore, data servers such as gateways and media servers must be structured in such a way that the servers can have high throughput and accuracy of data management and processing.
The following discussion is specific to a media server, but it should be understood that the discussion is equally applicable to a gateway or the like, as would be apparent to one of ordinary skill in the art.
A media server is employed in the telephone network to perform various basic and enhanced services including conferencing, interactive voice response, transcoding, broadcasting and other advanced voice services. They may also be applied in networks providing video conferencing services and the type of data exchange services typically generated over the internet, virtual private networks, and within wide area networks and local area networks, among others. In each case, any type of data, whether it be voice, video or numeric or text data, is packetized, i.e., the data is transmitted in packets.
Media servers are connected directly to packet networks and can therefore be found in many service provider locations, including locations offering wireless, cable modem, xDSL, fiber optic, and copper access technologies; however, if a core network is found in which the instant server is located, the network is a network based on packet technologies such as IP and ATM.
The media server performs real-time processing of media streams originating from devices such as personal computers, IP phones, mobile phones and traditional phones via appropriate media gateways. The media server performs typical functions including decoding and collecting DTMF tones, playing composite audio broadcasts, bridging multiple audio signals, transcoding between different codec types and bit rates, level shifting audio signals for automatic gain control, converting text to speech or converting speech to text. The media server may also recognize voice commands, bridge video signals, and decode/encode fax streams.
Typically the media server is part of an enhanced services infrastructure in a software switching fabric. The media server will act as a slave to the business logic residing in the application server or softswitch and provide state-of-the-art hardware that is scalable and exhibits almost unlimited scaling capabilities, regardless of the business logic applied to the application server or softswitch, and regardless of whether there is a media gateway, such as one that is different from the VOIP telephony needs.
Two co-pending patent applications (application numbers PCT/CA03/00775, and PCTCA03/00776) filed concurrently disclose other features and characteristics of data servers, and in particular, media servers contemplated herein. The invention is particularly directed to a backplane architecture for a media server.
Media servers that allow a multipoint-to-multipoint communication architecture are provided with a redundant architecture by the backplane architecture taught herein.
In particular, as will be explained below, there are multiple small buses that allow parallel operation, so as to act as one large bus. In addition, bus redundancy is provided because any one bus may be shut down, but the other buses will still continue to operate. This is in contrast to a conventional large bus that operates as a single unit and requires another large bus of the same structure in order to provide redundancy for failure events.
The present invention also provides for efficient communication between the plug-ins of the media server chassis.
US patent US6,249,834 discloses a server utilizing multiple PCI buses, but each PCI device thereof can access only one PCI bus. PCI devices on a PCI bus can only communicate with one PCI device at a time.
US patent US5,764,895 discloses LAN-based devices interconnected via a high-speed bus. Each device can only send out one packet at a time.
Summary of The Invention
To this end, the invention provides a data server for use in a network that transmits media in a packet format. Such media may typically be packetized audio data, packetized video data, packetized control data, packetized information data and combinations thereof.
The data server includes at least one card shelf, although there may be more than one card shelf in some desired environments.
In any event, at least one card shelf will contain one active bus controller card and at least one other card. There may also be a redundant bus controller card.
There may also be a backplane present on the card cage; and the backplane includes a media bus group having a plurality of media buses.
Each card on the chassis has multiple card ports, and data in packet format can be transferred back and forth at each port via the backplane.
The plurality of media buses are adapted to carry media data in a packet format among the cards mounted on the chassis.
Each media packet of data sent via the media bus has a routing header added thereto. Each media packet is transmitted to at least one media processor card on the shelf via at least one of the plurality of media buses.
The framing information and clock bursts go via the backplane to each card on the shelf.
Each card on a chassis is assigned to a particular chassis location on the media bus group so that data sent from each card of the chassis has a source's particular chassis location that is identified within the media packet when the card sends the data, and further, any media packet that is addressing a particular card on the chassis will include in its routing header the card's corresponding chassis location.
Each time the bus controller card detects a failure of any other card or any bus on the backplane, or each time the chassis controller card is notified of such a failure, the card or bus is isolated by the bus controller card and media packets intended for the isolated card or intended for transmission over the isolated bus are sent elsewhere.
Typically, at least one card on the shelf is a media processor card.
In some cases described below, at least one card shelf will contain redundant bus controller cards.
In addition, the data server of the present invention will typically contain multiple media processor cards.
In accordance with the present invention, an active bus controller card controls access to a media bus group to control which of a plurality of media buses or buses will transmit media packets at any given time.
When any two cards on the chassis report a failure of an active bus controller card, the redundant bus controller card will deactivate the active bus controller card and become a new active bus controller card.
Further, any media packet may be sent from any port of any one card to any other port of any card of the chassis at any time.
In a typical data server of the present invention, when any one port of any one card sends multiple media packets to a single destination port of a single card via multiple media buses, each media packet of each media bus is different from each media packet on each other media bus.
Furthermore, when any one of the source ports sends multiple media packets, the destination port will receive the media packets in the same order they were sent by the source port.
In accordance with yet another aspect of the present invention, whenever any one of a plurality of media buses detects a fault, the active bus controller card will isolate the faulty bus. Thus, media packets will be allowed to be transmitted via the remaining media bus.
Likewise, when a failure of any card is detected, the active bus controller card will isolate the failed card. Thus, media packets will be allowed to pass through the backplane to the remaining cards on the shelf.
Furthermore, if any one card detects an inability to read data from a particular media bus, the active bus controller card will not allow media packets to be transferred onto that one card via that particular media bus.
According to another aspect of the invention, any card on the shelf may generate a flow control flag for any port of that card, which the active bus controller card will recognize in order to prevent media packets from flowing into any port that has generated a flow control flag.
A general configuration of the data server of the present invention is to configure a media server for use with a network through which packetized voice data is transmitted.
In addition, the data server of the present invention may be configured with a media gateway for use with a network over which packetized voice data is communicated.
Brief description of the drawings
The novel features which are believed to be characteristic of the invention, as to its organization, use and method of operation, together with further objects and advantages will be better understood from the following drawings in which preferred embodiments of the invention are illustrated by way of example. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings.
FIG. 1 is a block schematic diagram of a data server card shelf of the present invention;
fig. 2 shows a temporal representation of a single media frame.
Description of The Preferred Embodiment
The novel features which are believed to be characteristic of the invention, as to its structure, organization, use and method of operation, together with further objects and advantages will be better understood from the following discussion.
Referring to fig. 1, a block schematic diagram of a card cage of a data server configured as a media server 10 is shown. A media server is intended to handle media transmitted in packet format, in particular packetized audio data, packetized video data, packetized control data, packetized information data and combinations thereof.
The chassis typically has a number of card slots disposed on the chassis side 12 of the interface 50. On the other side of the interface 50 there is a backplane 14.
The various cards will fit into card slots in the chassis 12. These include a bus controller card 22, at least one media processor card 18, 20, and any redundant bus controller card 26. It should be noted that the media processor plug-in 18 is identified as number 1, while the media processor plug-in 20 is identified as number N.
Typically, the active bus controller card 22 and the redundant or standby bus controller card 26, if present, are mounted in the first and last card slots of the chassis 12.
The backplane includes a media bus group 30 having a plurality of media buses 30A through 30R.
Each of the cards 18, 20, 22, 26 is connected to a media bus group 30 by a media bus connector 32.
In general, the plurality of media buses 30 are adapted to carry media packets among the cards mounted on the chassis, including packetized audio data, packetized video data, packetized control data, packetized information data, and combinations thereof.
Whenever media packets are sent over the bus, they will each have a routing header added to them.
Further, each media packet sent via at least one of the plurality of media buses 30 is sent to at least one card 22, 18, 20, or 26.
Framing information and clock pulses are forwarded from buses 36 and 38 (which are located on the backplane, respectively) and from buses at 40a and 42a to corresponding cards at 40b and 42b, respectively.
Multiple media packets are transmitted in parallel via multiple media buses to multiple destinations.
Multiple media packets may be transferred in parallel from a single source port to a single destination port via multiple media buses, and the chronological order will be recorded at the destination port.
When a port on a card is to transmit a media packet to a port of another card, it places a request on a media bus. The media controller will then read the request, determine which media bus to send the packet over, and then grant the media bus to the requesting port. The port then places the media packet onto the media bus on which the grant was issued.
In addition to sending requests, each card will also send flow control data. The flow control data specifies on which port and which bus the card is capable of receiving media packets. This information is used by the bus controller when it determines which request is granted on which media bus.
The framing information and clock bursts are forwarded to each card on the chassis via the backplane. The framing information is used by the card and bus controller to determine the start time of the packet, the time slot in which the request was sent, the flow control data and the grant.
The checksum is contained within each packet, each request, and each grant sent on the backplane.
When any card writes a packet to the media bus, the bus controller will read the checksum that has been written in the routing header. If the bus controller should read the faulty checksum, the bus controller will assume a faulty bus and stop granting to that media bus, but will continue to grant and allow media packets to be sent over the remaining media buses.
However, if the bus controller receives a second packet with a faulty checksum from the same card on a different media bus, the bus controller will assume that the card is faulty and will stop granting to that card, but will continue to send grants and allow media packets to be sent to and from the remaining cards in the chassis.
When a valid bus controller card sends any grants, all cards will read the checksum within the grant. If the card should read the fault checksum from the grant, the card assumes that the bus on which the grant was sent is faulty and will permanently set its flow control flag for that bus. This will prevent the bus controller from allowing any packets to be sent to the card via the bus. The card will also generate a display flag indicating that the problem can be seen from the active bus controller card.
When the active bus controller card writes any grants to the media bus, it will also write the checksum with the grant. The redundant bus controller card will read the checksum output by the bus controller. If the redundant bus controller card reads an invalid checksum from the active bus controller card and another card has also raised a flag indicating a problem with the active bus controller card, the redundant bus controller card will disable the active bus controller card and become the active bus controller card.
See figure 2 for a snapshot of the media bus during a single frame.
The media bus group 30 typically has 18 buses, each 8 bits wide, and may operate at, for example, 45MHz, such as determined by the clock burst 52.
At a time "TA" after the start of the packet frame 60, each card will send its flow control information on one particular media bus. The media bus on which the card outputs its flow control is a predetermined default value. For ease of illustration, assume that the card in slot 1 will be the default to place its flow control information on media bus MA, the card in slot 2 will place its flow control information on media bus MB, and so on. For this work allocation, M must be greater than or equal to N, where M is the number of media buses and N is the number of cards of the chassis. The difference (M-N) between the two is the number of redundant buses. If a failure is detected on its default bus, the card may place its flow control data on the spare bus.
After streaming the control information, the plug-in will place its request list on the same media bus on which its streaming control information is placed. The request list contains a checksum.
The active bus controller card will read the flow control and request information from the backplane. The bus controller will read all requests from all cards and place a grant on each media bus that has been granted at time "TC" after the start of a frame. If the media bus is not granted, an invalid grant is placed on the media bus. All grants, valid or invalid, contain a checksum.
Any port on any card may send any packet on any media bus as long as a grant has been issued for that bus during the previous frame.
Any port on any card can receive packets from any media bus.
In response to the send request, the active bus controller card will issue a grant if the media bus is active, and the destination card is not controlled by the media bus flow, and the destination port is not controlled by the flow. If any of these criteria are not met, no grant is issued for the request and the requesting plug-in will resend the request during the next frame.
In processing requests, the active bus controller card 22 will always grant the requests in the order in which they were received, and will grant the media buses in a predetermined order. For example, if two requests for a single destination are processed during the same frame, and if it is determined that media bus a, media bus D, and media bus H can accommodate the two requests, media bus a will always be granted (agree to) the first request, and media bus D will grant the second request. After the destination port has read the media packets from the media bus in the same predetermined order (a before D), the order is maintained even when multiple packets are transferred from the same source to the same destination via the media bus in the same frame.
Once a card has been granted a bus, the card places the specified media packet on the media bus that received the grant during the next frame. The plug-in first places the packet header 62 on the media bus. The packet header includes the source card and source port identity, the destination card and destination port identity, and a checksum. The plug-in then places the packet payload on the media bus until time "TA". The plug-in again puts the payload on the media bus from time "TB" to time "TC". At time "TD," the plug-in will place the remaining payload on the media bus until the end of the frame at time "TL.
In addition to the packet header 62, each media packet will typically include several different components, including: payload start 64; a flow control 66; a transmit request 68; a payload middle section 70; grant data 72; and a payload end 74.
Between each slot in which a media packet may be sent, there may be a predetermined number of clock cycles (typically one) that allow the backplane driver to turn on/off without collision.
When any card writes a packet to the media bus, the active bus controller card 22 will read the checksum that has been written into the packet routing header, the bus controller will assume a faulty bus, and stop granting to the media bus; but the bus controller will continue to grant and allow media packets to be transmitted over the remaining media bus. If the designated bus is the default bus for a card that places its flow control and request data, the bus controller will place a special grant on the spare bus. Upon reading the special grant, the designated card will start to place its flow control and request data on the spare bus. However, if the active bus controller card 22 receives a second packet with a faulty checksum from the same card on a second media bus, the bus controller will assume that the card is faulty and stop granting requests to that card. On the other hand, the bus controller will continue to grant the request and allow the media packets to be transferred to and from the remaining cards of the chassis.
When an active bus controller card 22 sends any grants, all cards will read the checksum within the grant. If the card should read the fault checksum from the grant, the card assumes that the bus sending the grant is faulty and will permanently set the flow control flag for that bus. This will prevent the controller from allowing any packets to be transmitted to the card via the bus. The card will also generate a flag indicating that a failure has been received from the active bus controller card 22.
When the active bus controller card 22 writes any grants to the media bus, it will also write a checksum with the grant. The redundant bus controller card 26 will read the checksum output by the active bus controller card 22. If the standby bus controller card 26 reads an invalid checksum from the active bus controller card 22, the redundant bus controller card 26 will check to see if any other card has seen a failure from the active bus control. If another card has reported a failure, the redundant bus controller card will begin to deactivate the active bus controller card and then become the active bus controller card itself.
The above has described a media server for use with a network for transporting media packets, and in particular, the structure of a backplane comprising a media bus group having a plurality of media buses. Examples of ways of controlling packet data flow are also described above, and various alternative and optional configurations are also mentioned.
It should be noted, however, that although a typical configuration of the data server of the present invention is a media server for use with a network in which packetized voice and other data is transmitted via the network, the media server may also be configured as a media gateway for use with a similar or the same network for packetized audio and other data.
Claims (13)
1. A data server (10) for use in a network for transmitting media in packet format, wherein the media is selected from the group consisting of packetized audio data, packetized video data, packetized control data, packetized information data and combinations thereof, said data server characterized by:
at least one card shelf (12) including an active bus controller card (22), at least one media processor card (18, 20), and a backplane (14);
wherein each card has a plurality of ports from and to which data in packet format is transmitted via the backplane;
wherein the backplane comprises a media bus group (30) having a plurality of media buses (30A, 30R);
wherein each port on any of said cards is capable of transmitting any media packet onto any of said media buses;
wherein said plurality of media buses are adapted to carry media data in a packet format (60) among the cards mounted on said rack;
wherein each media packet has a routing header (62) appended thereto, and wherein each said media packet is transmitted to said at least one media processor card of said shelf via at least one of said plurality of media buses;
wherein framing information and clock bursts are forwarded via the backplane to each card on the chassis;
wherein each card on the chassis is assigned to a particular chassis location on the media bus group, such that each media packet sent from each card of the chassis has a source particular chassis location that is identified within the media packet when the media packet is sent;
wherein any media packet that is addressing a particular card on the chassis includes the card's corresponding particular chassis location in its routing header; and
wherein each time the bus controller card detects a fault in any other card or any bus on the backplane, or is notified of such a fault, the card or bus is isolated by the bus controller card and media packets intended for the isolated card or intended for transmission over the isolated bus are transmitted elsewhere.
2. The data server of claim 1, wherein the at least one card shelf further contains a redundant bus controller card (26).
3. The data server of claim 1, wherein there are a plurality of media processor cards.
4. The data server of claim 1, wherein said active bus controller plug-in controls access to said media bus group to control which one or ones of said plurality of media buses will transmit media packets at any given time.
5. The data server of claim 2, wherein when any two cards on the chassis report a failure of the active bus controller card, the redundant bus controller card will deactivate the active bus controller card and become a new active bus controller card.
6. The data server of claim 1, wherein any media packet can be sent from any port of any one card to any other port of any card of the chassis at any time.
7. The data server of claim 1, wherein when any port of any card sends multiple media packets to a single destination port of the card via multiple media buses, the destination port receives the multiple media packets sent by any source port in the same order they were sent by the source port.
8. The data server of claim 1, wherein when a failure is detected on any of the plurality of media buses, the active bus controller card isolates the failed bus, thereby allowing media packets to be transmitted via the remaining media buses.
9. The data server of claim 1, wherein when a failure of any card is detected, the active bus controller card will isolate the failed card, thereby allowing media packets to be transferred to the remaining cards on the chassis via the backplane.
10. The data server of claim 1, wherein if any one card detects that data cannot be read from a particular media bus, the active bus controller card will not allow media packets to be transferred onto that one card via that particular media bus.
11. A data server according to claim 1, wherein any card on the shelf can generate a flow control flag for any port of that card, the active bus controller card recognising the flow control flag so as to prevent media packets flowing into any port that has generated the flow control flag.
12. The data server of claim 1, wherein the data server is configured as a media server for use with a network over which packetized voice data is communicated.
13. The data server of claim 1, wherein the data server is configured as a media gateway for use with a network over which packetized voice data is communicated.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/153,665 US7467179B2 (en) | 2002-05-24 | 2002-05-24 | Backplane architecture for a data server |
| US10/153,665 | 2002-05-24 | ||
| PCT/CA2003/000777 WO2003100627A1 (en) | 2002-05-24 | 2003-05-23 | Backplane architecture for a media server |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1082070A1 HK1082070A1 (en) | 2006-05-26 |
| HK1082070B true HK1082070B (en) | 2008-10-31 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6181694B1 (en) | Systems and methods for multiple mode voice and data communciations using intelligently bridged TDM and packet buses | |
| JP3712562B2 (en) | Extensible Telecommunications System Bridge | |
| US5280481A (en) | Local area network transmission emulator | |
| US8144729B2 (en) | Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses | |
| KR100567707B1 (en) | Telephony gateway device and method | |
| US8085809B2 (en) | Codec converter, gateway device, and codec converting method | |
| WO1994005102A1 (en) | Network synchronous data distribution system | |
| JPS6346837A (en) | Method and equipment for line exchange in packet network | |
| JP4167985B2 (en) | Method and apparatus for compressing packet headers | |
| CN100359504C (en) | Backplane architecture for media servers | |
| WO2002017575A2 (en) | Network transmitter with data frame priority management for data transmission | |
| US6519251B1 (en) | Apparatus and method for interconnecting private exchange system to the internet | |
| Kandlur et al. | Protocol architecture for multimedia applications over ATM networks | |
| HK1082070B (en) | Backplane architectur for a media server | |
| US20060182088A1 (en) | Gateway unit | |
| WO1989008363A1 (en) | Telecommunication system for transmitting information between subscribers connected to a bus system | |
| CN1656752B (en) | Data server | |
| US20020141411A1 (en) | Apparatus for line-concentrating and distributing PPP frame data | |
| CN114040166A (en) | Distributed stream media grouping management system, method, equipment and medium | |
| US8259704B2 (en) | System and method for load sharing among a plurality of resources | |
| Bohm | The DTM protocol: Design and Implementation | |
| Brandsma | PHILAN: A local-area network based on a fibre-optic ring | |
| HK1082132B (en) | Data server | |
| KR20020037226A (en) | Inter networking apparatus and method using SDSL | |
| HK1082135B (en) | Data server |