System and method for transmitting network packets adapted for multimedia streams
Abstract
A network packet transmission system and method. The above-mentioned system includes an information module, a scheduling module, and a transmission module. The information module receives and records media information of multiple multimedia streams. The scheduling module calculates the guaranteed transmission rate of each of the above-mentioned multimedia streams according to the media information provided by the information module, and according to the above-mentioned guaranteed transmission rate, the isochronous packets of the above-mentioned multiple multimedia streams are in multiples. Re-arrangement in the first time period of each clock cycle so that the transmission of the isochronous packet meets the guaranteed transmission rate. The length of each of the aforementioned clock cycles is a predetermined length, and the length of the first period is a predetermined ratio of the aforementioned predetermined length. The transmitting module transmits all the packets in one of the above-mentioned clock cycles to a network at intervals of the above-mentioned preset length.
Term
No projected expiry on record.
- Priority and filed
- Published
- Today
24 claims: 24 independent, 0 dependent
- 1A network packet transmission system includes:an information module that receives and records media information of a plurality of multimedia streams;a scheduling module that calculates the location of each multimedia stream based on the media information provided by the information module The transmission rate that needs to be guaranteed, and according to the guaranteed transmission rate, the isochronous packets of the multiple multimedia streams are rearranged in the first period of the multiple clock cycles, so that the transmission of the isochronous packets To meet the above-mentioned guaranteed transmission rate, the length of each of the above-mentioned clock cycles is a predetermined length, the length of the first period is a predetermined ratio of the predetermined length;and a transmission module, every other For a preset length of time, all the packets of one of the above-mentioned multiple clock cycles are sent to a network. 一種網路封包傳送系統,包括:一資訊模組,接收並記錄多個多媒體串流的媒體資訊;一排程模組,根據該資訊模組提供的上述媒體資訊計算每一上述多媒體串流所需被保證的傳輸率,並且根據上述被保證的傳輸率,將上述多個多媒體串流的等時性封包在多個時脈週期的第一時段中重新排列,使上述等時性封包的傳送滿足上述被保證的傳輸率,其中每一上述時脈週期的長度皆為一預設長度,該第一時段的長度為該預設長度的一預設比例;以及一傳送模組,每隔該預設長度的時間,將上述多個時脈週期其中之一的全部封包傳送至一網路。
- 2For example, the network packet transmission system described in item 1 of the scope of patent application, wherein the media information includes the screen update rate and screen size of each of the above-mentioned multimedia streams, and the scheduling module calculates according to the screen update rate and the screen size The guaranteed transmission rate of each multimedia stream is determined, and the transmission sequence of the isochronous packet in each clock cycle is determined according to the guaranteed transmission rate of each multimedia stream. 如申請專利範圍第1項所述之網路封包傳送系統,其中該媒體資訊包括每一上述多媒體串流的畫面更新率和畫面大小,該排程模組根據該畫面更新率和該畫面大小計算每一上述多媒體串流所需被保證的傳輸率,並且根據每一上述多媒體串流所需被保證的傳輸率決定上述等時性封包在每一上述時脈週期的傳送順序。
- 3In the network packet transmission system described in item 1 of the scope of the patent application, the scheduling module uses a chained sequence to connect the isochronous packets of each of the above-mentioned clock cycles in series in the transmission sequence. 如申請專利範圍第1項所述之網路封包傳送系統,其中該排程模組使用鏈接串列將每一上述時脈週期的等時性封包依傳送順序串聯。
- 4For example, the network packet transmission system described in item 1 of the scope of patent application further includes:a synchronization module that synchronizes the media information of all multimedia streams in the network, wherein the scheduling module is based on all multimedia in the network The streaming media information rearranges the isochronous packets in the first period of the multiple clock cycles. 如申請專利範圍第1項所述之網路封包傳送系統,更包括:一同步模組,同步該網路中所有多媒體串流的媒體資訊,其中該排程模組根據該網路中所有多媒體串流的媒體資訊,在上述多個時脈週期的第一時段中重新排列上述等時性封包。
- 5For example, the network packet transmission system described in item 1 of the scope of patent application further includes:a classification module that stores a plurality of isochronous queues, and each of the above isochronous queues corresponds to one of the above-mentioned multiple multimedia streams 1. The classification module stores each isochronous packet in one of the plurality of isochronous queues according to the above-mentioned media information provided by the information module. 如申請專利範圍第1項所述之網路封包傳送系統,更包括:一分類模組,儲存多個等時性佇列,每一上述等時性佇列對應上述多個多媒體串流其中之一,該分類模組根據該資訊模組提供的上述媒體資訊將每一上述等時性封包存入上述多個等時性佇列其中之一。
- 6For the network packet transmission system described in item 5 of the patent application, the media information of each multimedia stream includes a stream identification code, and each isochronous packet includes the string of the multimedia stream to which it belongs. Stream identification code. The classification module configures the plurality of isochronous queues according to the plurality of stream identification codes provided by the information module, and according to the stream identification code of each of the above-mentioned isochronous packets The temporal packets are stored in the isochronous queue corresponding to the multimedia stream to which they belong. 如申請專利範圍第5項所述之網路封包傳送系統,其中每一上述多媒體串流的媒體資訊包括一串流識別碼,每一上述等時性封包包括所屬的該多媒體串流的該串流識別碼,該分類模組根據該資訊模組提供的上述多個串流識別碼配置上述多個等時性佇列,並根據每一上述等時性封包的該串流識別碼將該等時性封包存入所屬的該多媒體串流所對應的該等時性佇列。
- 7For the network packet transmission system described in item 5 of the scope of patent application, each of the above-mentioned isochronous queues is a link series. 如申請專利範圍第5項所述之網路封包傳送系統,其中每一上述等時性佇列皆為鏈接串列。
- 8For example, the network packet transmission system described in item 5 of the scope of patent application further includes:a cutting module, when there are isochronous packets waiting to be transmitted in a clock cycle and the bandwidth of the first period of the clock cycle is insufficient , The scheduling module activates the cutting module, and the cutting module cuts the isochronous packet into a plurality of small packets according to the clock cycle and the remaining bandwidth of the first period of the subsequent clock cycle, and then The scheduling module puts the plurality of small packets into the remaining bandwidth of the first period of the clock cycle and subsequent clock cycles. 如申請專利範圍第5項所述之網路封包傳送系統,更包括:一切割模組,當有等時性封包在一時脈週期等待傳送而且該時脈週期的該第一時段頻寬不足時,該排程模組啟動該切割模組,該切割模組根據該時脈週期和後續時脈週期的該第一時段的剩餘頻寬,將該等時性封包切割成多個小封包,然後該排程模組將上述多個小封包放入該時脈週期和後續時脈週期的該第一時段的剩餘頻寬之中。
- 9For example, the network packet transmission system described in item 5 of the scope of patent application, wherein the classification module further stores a non-isochronous queue, and stores the non-isochronous packets received by the classification module into the non-isochronous Sexual queue. 如申請專利範圍第5項所述之網路封包傳送系統,其中該分類模組更儲存一非等時性佇列,並且將該分類模組所接收的非等時性封包存入該非等時性佇列。
- 10For the network packet transmission system described in item 9 of the scope of patent application, each of the above-mentioned clock cycles is composed of the first time period and a second time period, and the transmission module uses the first time period to transmit the data of the clock cycle Isochronous packets, and use the second time period to transmit the non-isochronous packets in the non-isochronous queue. 如申請專利範圍第9項所述之網路封包傳送系統,其中每一上述時脈週期由該第一時段和一第二時段組成,該傳送模組使用該第一時段傳送該時脈週期的等時性封包,並使用該第二時段傳送該非等時性佇列中的非等時性封包。
- 11Such as the network packet transmission system described in item 9 of the scope of patent application, wherein when there is no isochronous packet waiting to be transmitted in a certain clock period, or the isochronous packet of the clock period has been transmitted before the end of the first period , The transmission module immediately switches to transmit the non-isochronous packets in the non-isochronous queue. 如申請專利範圍第9項所述之網路封包傳送系統,其中當某一時脈週期沒有等時性封包等待傳送,或該時脈週期的等時性封包在該第一時段結束前已經傳送完畢,則該傳送模組立即切換為傳送該非等時性佇列中的非等時性封包。
- 12For example, the network packet transmission system described in item 9 of the scope of patent application further includes:a cutting module, when there are non-isochronous packets waiting to be transmitted in a clock cycle and the bandwidth of the second period of the clock cycle is insufficient , The scheduling module starts the cutting module, and the cutting module cuts the non-isochronous packet into multiple small packets according to the clock cycle and the remaining bandwidth of the second period of the subsequent clock cycle, and then The scheduling module puts the plurality of small packets into the remaining bandwidth of the second period of the clock cycle and subsequent clock cycles. 如申請專利範圍第9項所述之網路封包傳送系統,更包括:一切割模組,當有非等時性封包在一時脈週期等待傳送而且該時脈週期的第二時段頻寬不足時,該排程模組啟動該切割模組,該切割模組根據該時脈週期和後續時脈週期的該第二時段的剩餘頻寬,將該非等時性封包切割成多個小封包,然後該排程模組將上述多個小封包放入該時脈週期和後續時脈週期的該第二時段的剩餘頻寬之中。
- 13A network packet transmission method includes:receiving and recording media information of a plurality of multimedia streams provided by a media server;calculating the guaranteed transmission rate of each multimedia stream according to the media information;The guaranteed transmission rate is to rearrange the isochronous packets of the multiple multimedia streams in the first period of the multiple clock cycles, so that the transmission of the isochronous packets meets the guaranteed transmission rate, each of which The lengths of the aforementioned clock cycles are all a preset length, and the length of the first time period is a preset ratio of the preset length;and every time of the preset length, all of one of the aforementioned clock cycles is The packet is sent to a network. 一種網路封包傳送方法,包括:接收並記錄一媒體伺服器所提供的多個多媒體串流的媒體資訊;根據上述媒體資訊計算每一上述多媒體串流所需被保證的傳輸率;根據上述被保證的傳輸率,將上述多個多媒體串流的等時性封包在多個時脈週期的第一時段中重新排列,使上述等時性封包的傳送滿足上述被保證的傳輸率,其中每一上述時脈週期的長度皆為一預設長度,該第一時段的長度為該預設長度的一預設比例;以及每隔該預設長度的時間,將上述時脈週期其中之一的全部封包傳送至一網路。
- 14The network packet transmission method described in item 13 of the scope of patent application, wherein the media information includes the frame update rate and frame size of each of the above-mentioned multimedia streams, and the network packet transmission method further includes:according to the frame update rate Calculate the guaranteed transmission rate of each multimedia stream with the screen size;and determine the transmission sequence of the isochronous packet in each clock cycle according to the guaranteed transmission rate of each multimedia stream . 如申請專利範圍第13項所述之網路封包傳送方法,其中該媒體資訊包括每一上述多媒體串流的畫面更新率和畫面大小,而且該網路封包傳送方法更包括:根據該畫面更新率和該畫面大小計算每一上述多媒體串流所需被保證的傳輸率;以及根據每一上述多媒體串流所需被保證的傳輸率決定上述等時性封包在每一上述時脈週期的傳送順序。
- 15For example, the network packet transmission method described in item 13 of the scope of patent application further includes:using a link series to connect the isochronous packets of each of the above-mentioned clock cycles in series according to the transmission sequence. 如申請專利範圍第13項所述之網路封包傳送方法,更包括:使用鏈接串列將每一上述時脈週期的等時性封包依傳送順序串聯。
- 16The network packet transmission method described in item 13 of the scope of the patent application further includes:synchronizing the media information of all multimedia streams in the network;and according to the media information of all multimedia streams in the network, the multiple The above isochronous packets are rearranged in the first period of the clock cycle. 如申請專利範圍第13項所述之網路封包傳送方法,更包括:同步該網路中所有多媒體串流的媒體資訊;以及根據該網路中所有多媒體串流的媒體資訊,在上述多個時脈週期的第一時段中重新排列上述等時性封包。
- 17The network packet transmission method described in item 13 of the scope of the patent application further includes:storing a plurality of isochronous queues, wherein each of the isochronous queues corresponds to one of the plurality of multimedia streams;and according to The above-mentioned media information stores each of the above-mentioned isochronous packets in one of the above-mentioned multiple isochronous queues. 如申請專利範圍第13項所述之網路封包傳送方法,更包括:儲存多個等時性佇列,其中每一上述等時性佇列對應上述多個多媒體串流其中之一;以及根據上述媒體資訊將每一上述等時性封包存入上述多個等時性佇列其中之一。
- 18For the network packet transmission method described in item 17 of the patent application, the media information of each multimedia stream includes a stream identification code, and each isochronous packet includes the stream of the multimedia stream to which it belongs. Stream identification code, and the network packet transmission method further includes:configuring the plurality of isochronous queues according to the plurality of stream identification codes;and according to the stream identification code of each of the isochronous packets, the The isochronous packet is stored in the isochronous queue corresponding to the multimedia stream to which it belongs. 如申請專利範圍第17項所述之網路封包傳送方法,其中每一上述多媒體串流的媒體資訊包括一串流識別碼,每一上述等時性封包包括所屬的該多媒體串流的該串流識別碼,而且該網路封包傳送方法更包括:根據上述多個串流識別碼配置上述多個等時性佇列;以及根據每一上述等時性封包的該串流識別碼,將該等時性封包存入所屬的該多媒體串流所對應的該等時性佇列。
- 19For the network packet transmission method described in item 17 of the scope of patent application, each of the above-mentioned isochronous queues is a link series. 如申請專利範圍第17項所述之網路封包傳送方法,其中每一上述等時性佇列皆為鏈接串列。
- 20For example, the network packet transmission method described in item 17 of the scope of patent application further includes:when there are isochronous packets waiting to be transmitted in a clock cycle and the bandwidth of the first period of the clock cycle is insufficient, according to the clock cycle Cutting the isochronous packet into multiple small packets;and putting the multiple small packets into the first period of the clock period and the subsequent clock period. Among the remaining bandwidth for a period of time. 如申請專利範圍第17項所述之網路封包傳送方法,更包括:當有等時性封包在一時脈週期等待傳送而且該時脈週期的該第一時段頻寬不足時,根據該時脈週期和後續時脈週期的該第一時段的剩餘頻寬,將該等時性封包切割成多個小封包;以及將上述多個小封包放入該時脈週期和後續時脈週期的該第一時段的剩餘頻寬之中。
- 21The network packet transmission method described in item 17 of the scope of patent application further includes:storing a non-isochronous queue;and storing the received non-isochronous packet into the non-isochronous queue. 如申請專利範圍第17項所述之網路封包傳送方法,更包括:儲存一非等時性佇列;以及將接收到的非等時性封包存入該非等時性佇列。
- 22In the network packet transmission method described in item 21 of the scope of patent application, each of the above-mentioned clock cycles is composed of the first period and a second period, and the network packet transmission method further includes:using the first period Transmitting the isochronous packet of the clock cycle;and using the second time period to transmit the non-isochronous packet in the non-isochronous queue. 如申請專利範圍第21項所述之網路封包傳送方法,其中每一上述時脈週期由該第一時段和一第二時段組成,而且該網路封包傳送方法更包括:使用該第一時段傳送該時脈週期的等時性封包;以及使用該第二時段傳送該非等時性佇列中的非等時性封包。
- 23The network packet transmission method described in item 21 of the scope of patent application further includes when there is no isochronous packet waiting to be transmitted in a certain clock period, or the isochronous packet of the clock period has been transmitted before the end of the first period When finished, immediately switch to transmitting the non-isochronous packets in the non-isochronous queue. 如申請專利範圍第21項所述之網路封包傳送方法,更包括當某一時脈週期沒有等時性封包等待傳送,或該時脈週期的等時性封包在該第一時段結束前已經傳送完畢,則立即切換為傳送該非等時性佇列中的非等時性封包。
- 24The network packet transmission method described in item 21 of the scope of patent application further includes:when there are non-isochronous packets waiting to be transmitted in a clock cycle and the bandwidth of the second period of the clock cycle is insufficient, according to the clock cycle Cutting the non-isochronous packet into multiple small packets;and putting the multiple small packets into the first clock period and the subsequent clock period. Among the remaining bandwidth in the second period. 如申請專利範圍第21項所述之網路封包傳送方法,更包括:當有非等時性封包在一時脈週期等待傳送而且該時脈週期的第二時段頻寬不足時,根據該時脈週期和後續時脈週期的該第二時段的剩餘頻寬,將該非等時性封包切割成多個小封包;以及將上述多個小封包放入該時脈週期和後續時脈週期的該第二時段的剩餘頻寬之中。
Independent claims24
34 paragraphs, as filed
Network packet transmission system and method suitable for multimedia streaming
The present invention relates to a network packet transmission system and method, which is particularly suitable for transmitting isochronous packets of a multimedia stream.
With the rise of the digitization of home appliances in recent years, the application of watching high-quality real-time video services through the Internet has greatly increased. Network streaming (streaming) real-time viewing of multimedia data stored in the bedroom of the digital versatile disc (DVD: Digital Versatile Disc) player. Traditional Ethernet uses the Carrier Sense Multiple Access with Collision Detection protocol (CSMA/CD: Carrier Sense Multiple Access with Collision Detection), which competes with each other for the same bandwidth to transmit packets. This mechanism is not suitable for transmission such as video and voice. Such time-sensitive packets can easily cause delays in transmission time, leading to a decrease in QoS (Quality of Service). Therefore, in an environment where the bandwidth is limited and the file transmission tends to be complex, how to effectively adjust the bandwidth to improve system performance has become an important issue.
The 802.1p/q of the Institute of Electrical and Electronics Engineers (IEEE: Institute of Electrical and Electronics Engineers) is a standard formulated to address the quality of transmission services, adding 4 to the header of the second layer (Layer 2). A byte tag, the first two bytes are fixed at 8100H, as the difference from a normal Ethernet packet, the first 3 bits of the next 2 bytes (bit) It is the place where the priority is stored. The transmitted packets can be divided into eight priority levels. The higher the level, the more priority it will be sent. If the priority level of isochronous packets such as video and audio is increased, it can indeed improve the transmission delay caused by traditional Ethernet because all packets are of the same level. However, if urgent packets with higher priority levels appear, it may still cause delays in video and audio transmission.
The US patent application number US 2007/0025385 adopts the concept of time slot to monitor the available bandwidth of the network and uses a counter to count the interval of transmitting isochronous packets. When the available bandwidth is larger, the isochronous packet is transmitted at a faster rate, and when the available bandwidth is smaller, the isochronous packet is transmitted at a slower rate.
The present invention provides a network packet transmission system, and its corresponding network packet transmission method can accommodate a large number of multimedia streams under the condition of limited bandwidth, achieve greater utilization of network bandwidth, and guarantee service quality.
The present invention provides a network packet transmission system, which includes an information module, a scheduling module, and a transmission module. The information module receives and records media information of multiple multimedia streams. The scheduling module calculates the guaranteed bit rate of each multimedia stream based on the media information provided by the information module, and according to the guaranteed transmission rate, calculates the isochronous time of the multiple multimedia streams The isochronous packets are rearranged in the first period of multiple clock cycles, so that the transmission of the isochronous packets meets the guaranteed transmission rate. The length of each of the aforementioned clock cycles is a predetermined length, and the length of the first period is a predetermined ratio of the aforementioned predetermined length. The transmitting module transmits all the packets in one of the above-mentioned clock cycles to a network at intervals of the above-mentioned preset length.
The present invention also provides a network packet transmission method corresponding to the above-mentioned network packet transmission system. The method includes the following steps. First, receiving and recording the media information of a plurality of multimedia streams provided by a media server. Calculate the guaranteed transmission rate of each multimedia stream based on the above-mentioned media information. According to the guaranteed transmission rate, the isochronous packets of the multiple multimedia streams are rearranged in the first period of the multiple clock cycles, so that the transmission of the isochronous packets meets the guaranteed transmission rate. Next, at intervals of the above-mentioned preset length, all the packets of one of the above-mentioned clock cycles are transmitted to a network.
In order to make the above-mentioned features and advantages of the present invention more comprehensible, the following specific embodiments are described in detail in conjunction with the accompanying drawings.
Fig. 1 is a schematic diagram of a packet transmission method according to an embodiment of the present invention. This embodiment is based on the IEEE 80 2.1 Audio Video Bridging standard (AVB: Audio Video Bridging), where the packet transmission is based on a clock period of 125 microseconds (microsecond). As shown in Figure 1, each 125 microsecond clock cycle is divided into two periods, the first three quarters is the first period, and the latter quarter is the second period. The first time period is used to transmit isochronous packets, which is labeled ISO in FIG. 1, and the second time period is used to transmit asynchronous packets, which is labeled ASY in FIG. 1.
The present invention is not limited to FIG. 1. In other embodiments, the length of the clock cycle can be adjusted, and the ratio of the first time period and the second time period can also be adjusted.
FIG. 2 is a schematic diagram of the network packet transmission system 200 of this embodiment. The network packet delivery system 200 can be a part of a media server, for example, can be used in a residential Ethernet network to provide multimedia streaming to various audio-visual playback devices. The network packet transmission system 200 can be implemented in hardware or software.
The network packet transmission system 200 includes a classification module 210, an information module 220, a scheduling module 230, a cutting module 240, a synchronization module 250, and a transmission module 260. The network interface module 270 is the interface between the network packet transmission system 200 and the network. The classification module 210 stores a non-isochronous queue 212 and a plurality of isochronous queues 214. Each isochronous queue 214 corresponds to one of the four multimedia streams S1-S4 provided by the media server. Although FIG. 2 shows four isochronous queues 214 and four multimedia streams S1-S4, the invention is not limited to four. The isochronous queues 214 in FIG. 2 are all linked lists. However, the present invention is not limited to queues in the form of linked lists.
4 is a flowchart of a network packet transmission method executed by the network packet transmission system 200. First, the information module 220 receives and records the media information of the multimedia streams S1-S4 from the Application Layer of the media server (step 410). The above-mentioned media information may include information such as the session ID, frame rate, and frame size of each multimedia stream S1-S4.
Next, the classification module 210 receives the packet from the application layer, distinguishes the type of the received packet, and according to the media information provided by the information module 220, stores each isochronous packet of the received multimedia stream S1-S4 into the corresponding The isochronous queue 214 (step 420), and the received non-isochronous packet is stored in the non-isochronous queue 212 (step 430). Each isochronous packet in this embodiment includes the stream identification code of the multimedia stream to which it belongs. The classification module 210 can receive the media information provided by the information module 220, configure the corresponding four isochronous queues 214 according to the identification codes of the multimedia streams S1-S4 in the media information, and then compare the isochronous packets among them The stream identification code and the identification codes of the multimedia streams S1-S4 are used to store the isochronous packets in the isochronous queue corresponding to the multimedia stream.
3 is a block diagram of the scheduling module 230. The scheduling module 230 includes a transmission rate generation module 232 and a rearrangement module 234. The transmission rate generation module 232 calculates the guaranteed transmission rate of each multimedia stream S1-S4 based on the media information provided by the information module 220 (step 440). The rearrangement module 234 rearranges the isochronous packets of the multimedia stream S1-S4 in the first period of multiple clock cycles according to the above-mentioned guaranteed transmission rate, so that the transmission of the above isochronous packets meets the above requirements. Guaranteed transmission rate (step 450). The transmission rate generation module 232 can calculate the guaranteed transmission rate of the multimedia streams S1-S4 according to the frame update rate and frame size of the multimedia streams S1-S4 according to the media information, and then the rearrangement module 234 can calculate the guaranteed transmission rate of the multimedia streams S1-S4 according to the above-mentioned guaranteed transmission rate. The transmission rate determines the transmission order of isochronous packets in each clock cycle.
For example, the rearrangement module 234 can configure the isochronism required to meet the above-mentioned guaranteed transmission rate in the first period of each clock cycle according to the guaranteed transmission rate of the multimedia stream S1-S4. Packet. As shown in Figure 5, assuming that the size of each isochronous packet P1-P4 is X bytes, the guaranteed transmission rate required by multimedia streams S1, S3, and S4 is X bytes per clock cycle , And the guaranteed transmission rate required by the multimedia stream S2 is X/2 bytes per clock cycle. In the example of FIG. 5, the rearrangement module 234 uses a chained sequence to serialize the isochronous packets that are arranged in each clock cycle in the transmission order. Since the guaranteed transmission rate required by the multimedia streams S1, S3, and S4 is X bytes per clock cycle, the rearrangement module 234 configures an isochronous packet of S1 in each clock cycle. One S3 isochronous packet and one S4 isochronous packet. Since the guaranteed transmission rate required by the multimedia stream S2 is X/2 bytes per clock period, the rearrangement module 234 configures an S2 isochronous packet every two clock periods. Therefore, as shown in Figure 5, the first clock cycle will transmit the first packet P1 of S1, S3, and S4, and the second clock cycle will transmit the second packet P2 of S1, S3, and S4, and the second packet P2 of S2. For a packet P1, the third packet P3 of S1, S3 and S4 will be transmitted in the third clock cycle.
If a certain multimedia stream requires a guaranteed transmission rate of 2X bytes per clock cycle, the rearrangement module 234 can configure the isochronism of two multimedia streams in each clock cycle. Packets to ensure the guaranteed transmission rate.
Next, the transmission module 260 transmits all the packets of the current clock cycle to the network every other clock cycle according to the transmission sequence arranged by the rearrangement module 234, as shown in FIG. 6 (step 460) . The transmission module 260 uses the first time period to transmit isochronous packets of each clock cycle, and uses the second time period to transmit the non-isochronous packets in the non-isochronous queue 212. The non-isochronous packets are not rearranged, but are directly transmitted in the order of entering the non-isochronous queue 212. When there is no isochronous packet waiting to be transmitted in a certain clock period, or the isochronous packet of this clock period has been transmitted before the end of the first period, the transmission module 260 immediately switches to transmitting the non-isochronous queue 212 Among the non-isochronous packets to improve bandwidth utilization.
If there are multiple identical network packet transmission systems in the same network, the synchronization module 250 can ensure that the aforementioned network packet transmission systems will not affect the quality of transmission services. The synchronization module 250 of each network packet transmission system exchanges its own media information with each other, that is, synchronizes the media information of all multimedia streams in the entire network. In this case, the scheduling module 230 does not only rearrange the isochronous packets based on the media information of the multimedia stream provided by the media server to which it belongs, but rather based on the media information of all multimedia streams in the entire network, The isochronous packets are rearranged in the first period of each clock cycle.
FIG. 7 is a synchronization example of this embodiment, in which node 1 and node 2 are two media servers located on the same network, and each includes a network packet transmission system 200 as shown in FIG. 2. Node 1 provides four multimedia streams S1-S4, and node 2 provides two multimedia streams S5 and S6. The synchronization module 250 of node 1 and node 2 will exchange media information with each other, so the scheduling module 230 of node 1 and node 2 will arrange respective isochronous packets according to the media information of all multimedia streams S1-S6. As shown in the result of FIG. 7, the scheduling modules 230 of node 1 and node 2 cooperate with each other. In odd clock cycles, node 1 only sends three isochronous packets, and node 2 sends two isochronous packets. In even-numbered clock cycles, node 1 sends four isochronous packets, while node 2 sends only one isochronous packet. In this way, it is possible to avoid mutual influence on the quality of transmission service in the limited bandwidth. Otherwise, if they do not cooperate with each other, it may cause node 2 to send one isochronous packet at odd-numbered clock cycles and two isochronous packets at even-numbered clock cycles, resulting in a waste of network bandwidth for odd-numbered clock cycles , And the network bandwidth of even-numbered clock cycles is insufficient.
The packet cutting mechanism of the cutting module 240 can use the remaining bandwidth of each clock cycle to transmit more packets. The cutting mechanism of isochronous packets is shown in Figure 8. The scheduling module 230 has scheduled the packet transmission timing as shown in 810, and at the same time another isochronous packet P1 of the multimedia stream is waiting to be transmitted, as shown in the timing 820. At this time, the remaining bandwidth in the first period is not enough to transmit the isochronous packet P1, especially in the third and fourth clock cycles. In this case, the scheduling module 230 activates the cutting module 240 so that the cutting module 240 cuts the isochronous packet P1 into multiples according to the remaining bandwidth of the first period of the current clock cycle and the subsequent clock cycle. A small packet PF. Then the scheduling module 230 puts the aforementioned small packet PF into the remaining bandwidth of the first period of the current clock cycle and the subsequent clock cycle, as shown in the transmission timing 830. In this way, the transmission of the isochronous packet P1 can better meet the guaranteed transmission rate required for its multimedia streaming, and it also increases the utilization of the network bandwidth.
The cutting mechanism of non-isochronous packets is shown in Figure 9. The scheduling module 230 uses the second period of the clock cycle to transmit non-isochronous packets, as shown in timing 910, but there are still non-isochronous packets P1 and P2 in the non-isochronous queue 212 waiting to be transmitted. At this time, the remaining bandwidth in the second period is not enough to transmit complete non-isochronous packets P1 and P2. In this case, the scheduling module 230 will activate the cutting module 240 so that the cutting module 240 will packetize the non-isochronous packets P1 and P2 according to the remaining bandwidth of the second period of the current clock cycle and the subsequent clock cycle. Cut into multiple small packets PF. Then the scheduling module 230 puts the aforementioned small packet PF into the remaining bandwidth of the second period of the current clock cycle and the subsequent clock cycle, as shown in the transmission timing 920. This can increase the utilization of network bandwidth.
In summary, the network packet transmission system and method of the above embodiments can accommodate a large number of multimedia streams under the condition of limited bandwidth. Media servers on the same network can exchange media information with each other, and try not to interfere with each other's transmission service quality. The packet cutting mechanism of the above embodiment can put the packets into the unused remaining bandwidth, so that the network bandwidth can reach a greater utilization rate, so as to ensure the quality of service.
Although the present invention has been disclosed in the above embodiments, it is not intended to limit the present invention. Anyone with ordinary knowledge in the technical field can make some changes and modifications without departing from the spirit and scope of the present invention. The protection scope of the present invention shall be subject to those defined by the attached patent application scope.
<p>200. . . Network packet delivery system</p><p>210. . . Classification module</p><p>212. . . Non-isochronous queue</p><p>214. . . Isochronous queue</p><p>220. . . Information module</p><p>230. . . Scheduling module</p><p>232. . . Transmission rate generation module</p><p>234. . . Rearrange modules</p><p>240. . . Cutting module</p><p>250. . . Synchronization module</p><p>260. . . Transmission module</p><p>270. . . Network interface module</p><p>410-460. . . Process steps</p><p>810-830, 910-920. . . Packet transmission timing</p><p>ASY. . . Non-isochronous packet</p><p>ISO. . . Isochronous packet</p><p>P, P1-P4, PF. . . Network packet</p><p>S1-S6. . . Multimedia streaming</p>
Fig. 1 is a schematic diagram of a packet transmission method according to an embodiment of the present invention.
FIG. 2 is a schematic diagram of a network packet transmission system according to an embodiment of the present invention.
FIG. 3 is a block diagram of the scheduling module of FIG. 2.
FIG. 4 is a flowchart of a network packet transmission method according to an embodiment of the invention.
FIG. 5 is a schematic diagram of packet rearrangement according to an embodiment of the invention.
FIG. 6 is a timing diagram of packet transmission corresponding to FIG. 5.
FIG. 7 is a timing diagram of packet transmission when synchronizing media information according to an embodiment of the present invention.
8 and 9 are timing diagrams of packet transmission when the packet cutting mechanism is activated according to an embodiment of the present invention.
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 98144305 | Taiwan Province of China | A | |
| TW20090144305 | – | – | – |
Numbers
- Publication
- 201123775
- Publication, DOCDB
- 201123775
- Publication, EPODOC
- TW201123775
- Application
- 98144305
- Application, DOCDB
- 98144305
- Application, EPODOC
- TW20090144305
Titles5
- Chinese
- 適用於多媒體串流的網路封包傳送系統與方法
- English
- SYSTEM AND METHOD FOR TRANSMITTING NETWORK PACKETS ADAPTED FOR MULTIMEDIA STREAMS
- English
- Network packet transmission system and method suitable for multimedia streaming
- Unlabeled
- 適用於多媒體串流的網路封包傳送系統與方法
- Unlabeled
- Network packet transmission system and method suitable for multimedia streaming
Classification
- CPC, 1
- H04L12/40013
- IPC, 2
- H04L12 70
- H04L12 56