CN100426784C - Solution of network shake - Google Patents

Solution of network shake Download PDF

Info

Publication number
CN100426784C
CN100426784C CNB2004100498776A CN200410049877A CN100426784C CN 100426784 C CN100426784 C CN 100426784C CN B2004100498776 A CNB2004100498776 A CN B2004100498776A CN 200410049877 A CN200410049877 A CN 200410049877A CN 100426784 C CN100426784 C CN 100426784C
Authority
CN
China
Prior art keywords
packet
current
team
time stamp
dithering cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2004100498776A
Other languages
Chinese (zh)
Other versions
CN1713613A (en
Inventor
吴波
王麒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cyber Tianjin Co Ltd
Original Assignee
Tencent Cyber Tianjin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Cyber Tianjin Co Ltd filed Critical Tencent Cyber Tianjin Co Ltd
Priority to CNB2004100498776A priority Critical patent/CN100426784C/en
Publication of CN1713613A publication Critical patent/CN1713613A/en
Application granted granted Critical
Publication of CN100426784C publication Critical patent/CN100426784C/en
Anticipated expiration legal-status Critical
Active legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention discloses a solution of network shake, which comprises the following steps: shake at the receiving terminal of a data package is cached into a received data package of a thread of pointer alignment; after the received data packet is ordered, the received data packet is inserted into the corresponding position of the shake caching pointer alignment; a dequeueing thread timer of the shake caching pointer alignment triggers the dequeueing thread at a certain time interval, and the data packet of the alignment head of the shake caching pointer is judged whether to dequeue at the current triggering time according to the dequeueing thread. If true, the data packet is dequeued, and the operation of the current shake caching depth is enlarged or reduced according to the difference of time stamp values of a data packet at the tail of the queue in the shake caching pointer alignment and the data packet of the head of the queue, the size relation of the current shake caching depth, the caching time in the shake caching pointer alignment of the data packet, and the minimum time delay quantity of the caching data packet of the shake caching pointer alignment.

Description

A kind of method that solves network jitter
Technical field
The invention belongs to the network transmission technology field, relate in particular to a kind of method that solves network jitter.
Background technology
Current, along with the generally use of the Internet (INTERNET) and the continuous maturation of self-technique thereof, on network, carry out the audio frequency and video interchange and become possibility.Yet, the quality condition of current network can not reach and fully satisfy the needs that audio frequency and video exchange, intrinsic time-delay in the network, network jitter, packet loss, problem such as out of order can exchange the audio frequency and video of being carried out on the network and cause inevitable influence, thereby directly have influence on the service quality (Qos) that audio frequency and video exchange.
At the above audio frequency and video are exchanged in each factor that impacts, network jitter is more common one.The time-delay that network jitter refers to adjacent data bag in the network changes, to realize that the instant messaging (IM) that audio frequency and video exchange is an example, the transmitting terminal of IM software at the same time, as 10 milliseconds (ms), voice packet and video packets are sent on the INTERNET, again these packets are sent to the receiving terminal of IM software by INTERNET, if can reaching, the network quality situation of INTERNET fully satisfies the needs that audio frequency and video exchange, then these packets are when arriving IM software receiving terminal, the time interval in the time of still can keeping sending, thus the voice and video that makes receiving terminal play is consistent with the voice and video that transmitting terminal sends.But, because the existing network quality condition is difficult to satisfy the needs that audio frequency and video exchange mostly, therefore, the packet that transmitting terminal sent can be in the process of Network Transmission, on network, experience different routes and network congestion respectively, thereby the time-delay that causes each packet to experience in network has nothing in common with each other, in the case, packet arrive the order of IM software receiving terminal and the time interval no longer the order and the time interval when sending in full accord, thereby the voice and video that causes receiving terminal to play changes a lot, and directly has influence on the service quality that audio frequency and video exchange.
In the prior art, in order to solve the influence that network jitter as mentioned above causes, a kind of method of utilizing dithering cache (JB) to solve network jitter has been proposed.Referring to Fig. 1, this method increases an anti-jitter mechanism that realizes with the JB formation at the receiving terminal of packet, this JB formation is made up of several cells, utilize each cell of the time stamp territory sign JB formation of real-time transport protocol (rtp) packet, each cell is used for packet that receives of buffer memory, packet is joined the team by the thread of joining the team of JB formation after arriving receiving terminal, buffer memory a period of time in the units corresponding lattice, group thread that goes out by the JB formation goes out team, wherein, group thread that goes out of JB formation is carried out out team's operation under the control of timer, the fixed time interval of this timer is set to the packaging time length of packet at transmitting terminal, timer triggers every this fixed time interval and once goes out group thread, makes the packet of respective cells leave the JB formation.In the method, packet is arrived the time of JB formation and difference that this bag leaves the time of JB formation is defined as the JB degree of depth, the time that this bag leaves the JB formation also can be described as the time that this bag is played.
In the method for the prior art, receiving terminal carries out the packet that receives by the JB formation buffer memory of certain hour, thereby reach the purpose of these packets of time-delay, make receiving terminal to play voice and video with the time interval identical with transmitting terminal, eliminate the influence that Qos caused that network jitter exchanges audio frequency and video, but, because this method is utilized each cell of the time stamp territory sign JB formation of RTP packet, the chronomere of each the cell representative in the JB formation is the packaging time length of each packet, and, control JB formation goes out the fixed time interval that group thread execution goes out the timer of team's operation and also is packaging time length, therefore, realize the method for the prior art, transmitting terminal must send to receiving terminal with the packet packaging time length of transmitting terminal before conversing with receiving terminal, receiving terminal need be determined the time span of the cell in the JB formation and the fixed time interval of timer according to packaging time length, and existing MSN did not send the function of packaging time length parameter before conversation is set up, and realized comparatively difficulty of the prior art thereby cause.In addition, when the transmitting terminal packaging time length changes, transmitting terminal also needs the packaging time length after changing is notified to receiving terminal, receiving terminal need redefine cell time span and timer fixed time interval according to the packaging time length after changing, and these have all caused the prior art to implement comparison difficulty and complicated.
Summary of the invention
In view of this, main purpose of the present invention is to provide a kind of method that solves network jitter, in the method, the packet receiving terminal need not just can realize utilizing the JB formation that the packet that receives is carried out buffer memory according to the packaging time length of transmitting terminal, thereby eliminates the influence of network jitter; In addition, in communication process, when the packaging time length of transmitting terminal changed, receiving terminal also need not to adjust accordingly according to the variation of packaging time length.
For achieving the above object, the invention provides a kind of method that solves network jitter, this method comprises:
The thread of joining the team of packet receiving terminal sorts to the packet that receives according to the time stamp value of packet or the size of sequence number value, and according to ranking results with the packet ascending order buffer memory that receives, form to adopt the dithering cache pointer alignment of pointer mode;
The timer that goes out group thread of dithering cache pointer alignment triggers out group thread with a common divisor of transmitting terminal packaging time length as the time interval, trigger out group thread at every turn, go out group thread and judge all whether the packet of dithering cache pointer alignment team head should carve team when current triggering, if, then these data are contracted out team
When the tail of the queue packet in the dithering cache pointer alignment and team's packet difference of time stamp during, increase the current dithering cache degree of depth greater than the current dithering cache degree of depth; And/or, when the cache-time of packet in the dithering cache pointer alignment at the fixed time in the section during, reduce the current dithering cache degree of depth less than the minimum amount of delay of the data cached bag of this dithering cache pointer alignment.
Wherein, the thread of joining the team of described packet receiving terminal receives before the packet, and this method further comprises:
Whether the time stamp value that the thread of joining the team of packet receiving terminal dithering cache pointer alignment is judged the packet receive is less than the current broadcast time stamp variable of the packet of the current broadcast of this dithering cache pointer alignment, if, abandon this packet, wherein said current broadcast time stamp variable writes down the time stamp value of the packet of current broadcast.
Wherein, if the packet that the thread of joining the team of dithering cache pointer alignment receives has recurred predefined number of times less than the packet of the current broadcast of this dithering cache pointer alignment, then each parameter that comprises the dithering cache degree of depth in the dithering cache pointer alignment is reverted to initial value.
Wherein, the timer that goes out group thread of described dithering cache pointer alignment triggers out group thread with a common divisor of transmitting terminal packaging time length as the time interval, goes out group thread and judges whether the packet of dithering cache pointer alignment team head should carve team and comprise when current triggering:
Steps A 1: go out group thread timer and trigger out group thread as the time interval with a common divisor of transmitting terminal packaging time length, with, it is a current broadcast time stamp value variable assignments, current broadcast time stamp variable writes down the time stamp value of the packet of current broadcast, and the value of being composed is: the currency of this current broadcast time stamp value variable adds and the resulting new value of corresponding time stamp value of the described time interval;
Steps A 2: go out group thread and utilize the current broadcast time stamp value variable described in the steps A 1, judge at the current packet that triggers moment dithering cache pointer alignment squadron head whether should go out team according to the time stamp value whether current broadcast time stamp value variable equals the packet of team's head, if current broadcast time stamp value variable equals the time stamp value of the packet of team's head, execution in step A3 then, otherwise, return steps A 1;
Steps A 3: go out group thread the data of team's head are contracted out team, and, give current broadcast time stamp value variable with the time stamp value assignment of the packet of team's head, and then return steps A 1, finish until transmission of data packets.
Wherein, the described time stamp value of judging whether current broadcast time stamp value variable equals the packet of team's head further comprises: judge current broadcast time stamp value variable whether greater than the time stamp value of the packet of team's head, if, execution in step A3 then; Otherwise, then return steps A 1.
Wherein, this method further comprises:
Judge that the time stamp value whether current broadcast time stamp value variable is less than or equal to the tail of the queue packet deducts the resulting value of the current dithering cache degree of depth, if, execution in step A3 then.
Wherein, described according to packet in the dithering cache pointer alignment cache-time and the relation between the minimum amount of delay of the data cached bag of this dithering cache pointer alignment, determine whether adjust the current dithering cache degree of depth and comprise:
Judge whether the cache-time of each packet in the dithering cache pointer alignment is equal to the minimum amount of delay of the data cached bag of dithering cache formation that sets in advance in a period of time, if, then determine to obtain reducing the current dithering cache degree of depth, the current dithering cache degree of depth of described adjustment is for reducing the current dithering cache degree of depth.
Wherein, the current dithering cache degree of depth of described increase further comprises: the packet that abandons team's head.
Wherein, after determining increase the current dithering cache degree of depth, judge that further whether the current dithering cache degree of depth is less than the predefined maximum jitter buffer memory degree of depth, if then carry out the operation of the current dithering cache degree of depth of described increase.
Wherein, after determining reduce the current dithering cache degree of depth, judge that further whether the current dithering cache degree of depth is greater than the predefined minimum jitter buffer memory degree of depth, if then carry out the described operation that reduces the current dithering cache degree of depth.
As seen, in the present invention, the packet that the JB formation adopts the mode buffer memory of pointer to receive, the timer that the JB pointer alignment goes out group thread triggers out group thread with a common divisor of transmitting terminal packaging time length as fixed time interval, go out group thread and judge whether each triggering constantly should contract out team with the tail of the queue data of JB formation, if then this packet is carried out out team, to realize eliminating the purpose of network jitter by the data cached bag of JB pointer alignment.Because the present invention adopts with the data cached bag of pointer mode and adopts a common divisor of packaging time length to trigger out group thread as fixed time interval, therefore, the packet receiving terminal can be realized eliminating network jitter by the JB formation under the situation of not knowing the transmitting terminal packaging time length, and, when packet transmitting terminal packaging time length changes, also can not adopt the JB formation to carry out data pack buffer and have any impact to eliminate network jitter to receiving terminal.
Description of drawings
Fig. 1 is a JB formation schematic diagram of the prior art.
Fig. 2 is the JB formation schematic diagram among the present invention.
Fig. 3 contracts out the flow chart of team for realizing the data in the JB formation among the present invention.
Embodiment
The present invention is a kind of method that solves network jitter, in the method, the packet that the JB formation of packet receiving terminal adopts the mode buffer memory of pointer to receive, timer is controlled out group thread with a common divisor of packaging time length as fixed time interval data is contracted out team, thereby realize the buffer memory of packet in the JB formation, to eliminate the influence of network jitter.
Describe the present invention below in conjunction with accompanying drawing.
In the present invention, the packet that packet receiving terminal JB formation adopts the mode buffer memory of pointer to receive, in the JB formation, employing team's head pointer and tail of the queue pointer point to team's head and the tail of the queue in the JB pointer alignment respectively; And the timer that goes out group thread of JB pointer alignment triggers out group thread with a common divisor of packaging time length as fixed time interval; Realize that the present invention needs following steps:
Steps A: the thread of joining the team of packet receiving terminal JB pointer alignment receives packet, the packet that receives is carried out the size ordering, and, make to begin till the tail of the queue according to packet each packet of order buffer memory from small to large from team's head of JB pointer alignment according to the relevant position that ranking results inserts the JB pointer alignment with the packet that receives;
The timer that goes out group thread of step B:JB pointer alignment triggers out group thread with a common divisor of transmitting terminal packaging time length as the time interval, trigger out group thread at every turn, go out group thread and judge all whether the packet of JB pointer alignment team head should carve team when current triggering, if, then these data are contracted out team, return this step then, finish until transmission of data packets; Otherwise, directly return this step, finish until transmission of data packets;
Step C: according to the difference of the tail of the queue packet in the JB pointer alignment and team's packet and the magnitude relationship of the JB degree of depth, and according to packet in the JB pointer alignment delay time and the relation between the minimum JB degree of depth, determine whether increase or dwindle the current JB degree of depth, and execution increases or dwindles the operation of the JB degree of depth accordingly;
Wherein, above-mentioned steps A is achieved by the thread of joining the team of JB formation, above-mentioned steps B is achieved by group thread that goes out of JB formation, above-mentioned steps C realizes by the JB adjusting module in the JB formation, and steps A, step B and step C carry out respectively separately, and the sequencing of its execution does not influence realization of the present invention.
Below in conjunction with specific embodiment, specific implementation to above-mentioned steps A, step B and step C is described in detail, wherein, in the embodiment of the invention of the following stated, all set in advance a current broadcast time stamp variable CurrentOutTS, utilized this variable record JB formation to go out the time stamp value of group packet of the current broadcast of thread, the JB formation go out the each playback data of group thread the time, all give CurrentOutTS, to upgrade this variable with the time stamp value assignment of this packet;
One, the specific implementation of steps A:
In embodiments of the present invention, the thread of joining the team of JB pointer alignment judges that whether the time stamp value of the packet that receives is less than current broadcast time stamp variable CurrentOutTS, if, show that then this packet that receives is late bag, abandon this bag, otherwise, other each packet in this packet that receives and the JB pointer alignment is carried out size relatively, according to comparative result this packet is inserted the relevant position of JB pointer alignment, thereby make each packet in the JB pointer alignment arrange according to being ascending order from small to large; Referring to Fig. 2, in embodiments of the present invention, point to team's head of this JB pointer alignment with LateTS, point to the tail of the queue of this JB pointer alignment with EarlyTS, packet begins till the EarlyTS ascending order buffer memory the JB pointer alignment according to from small to large order from LateTS;
Wherein, in embodiments of the present invention, realize the size of comparing data bag in other embodiment of the present invention, also can realizing the size of comparing data bag by the sequence number value of comparing data bag by the time stamp value of comparing data bag;
Wherein, in embodiments of the present invention, get muddled for fear of the JB formation, the JB pointer alignment possesses the self-recovering function function, its specific implementation is that the thread of joining the team of JB pointer alignment is further carried out following steps: the thread of joining the team judges whether received packet has recurred predetermined times for late this incident of bag, if, then restart the JB pointer alignment, comprise in the JB pointer alignment that each parameter of the JB degree of depth reverts to initial value;
Two, the specific implementation of step B:
Referring to Fig. 2, trigger out group thread by timer, this timer triggers every the T millisecond and once goes out group thread, goes out group thread and obtains existing in the JB formation after current the triggerings moment should go out the packet of team in judgement, and the data of team's head are contracted out team; Wherein, T millisecond as the fixed time interval of timer is a common divisor of transmitting terminal packaging time length, can get 10 milliseconds, the 20 milliseconds fixed time intervals as timer according to actual conditions, in embodiments of the present invention, the T that preestablishes as the timer fixed time interval is 10 milliseconds; In other embodiment of the present invention, fixed time interval T also can be other time period, does not influence realization of the present invention;
After the setting of having carried out the timer fixed time interval, referring to Fig. 3 and in conjunction with Fig. 2, performing step B may further comprise the steps:
Step 301: timer triggers out group thread behind the fixed time interval through the T millisecond, simultaneously, current broadcast time stamp variable CurrentOutTS increases and the corresponding time stamp value of T millisecond, because the unit of time stamp is 1/8 millisecond, when therefore, timer triggers at every turn all according to formula (1) to the CurrentOutTS assignment:
Formula (1): CurrentOutTS=CurrentOutTS+T * 8;
By when timer triggers at every turn according to formula (1) to the CurrentOutTS assignment, can make CurrentOutTS and timer remain synchronously, thereby can utilize this CurrentOutTS to judge at the current packet that triggers the team of JB formation constantly head whether should go out team;
Step 302: go out group thread and utilize CurrentOutTS to judge at the current packet that triggers moment JB pointer alignment squadron head whether should go out team, if then execution in step 303, otherwise, return step 301; Wherein, in embodiments of the present invention, utilize the CurrentOutTS judgement to be in the specific implementation whether a current triggering moment JB pointer alignment team packet should go out team:
Judge 1: judge that whether CurrentOutTS equals the time stamp value of the packet of LateTS sensing, if then execution in step 303, contracts out team with the data with team's head; Otherwise, then return step 301, continue constantly to judge whether team's packet should go out team to trigger at the next one; Because CurrentOutTS keeps synchronously with timer all the time, therefore, if CurrentOutTS equals the time stamp value of the packet of LateTS sensing, then show and currently trigger constantly the moment that data contracted out team with respect to last time and passed through a packaging time length, this moment should contract out team with the data of team's head, if CurrentOutTS is not equal to the time stamp value of the packet of LateTS sensing, then show current trigger constantly with respect to moment that last time, data contracted out team also not through a packaging time length, this moment, the packet of team's head should not go out team;
As above judging on 1 the basis, the too much packet of buffer memory in the JB pointer alignment, thereby cause the time-delay of follow-up packet excessive, after judgement obtains time stamp value that CurrentOutTS is not equal to the packet that LateTS points to, also carry out following judgement 2:
Judge the time stamp value of the packet whether CurrentOutTS points to less than LateTS; If not, then return execution in step 301; If, judge again then whether CurrentOutTS is less than or equal to EarlyTS and deducts the resulting value of current JB degree of depth CurrentJBDelay, if, the packet that shows this JB formation tail of the queue all can't go out team through after the current JB degree of depth, thereby can cause the too much packet of buffer memory in the JB pointer alignment, thereby cause the packet time-delay excessive, then execution in step 303, go out team by force with packet, thereby reduce the influence of packet time-delay communication quality with team's head;
In another embodiment of the present invention, the fixed time interval of considering timer is provided with possible not accurate enough, might cause the time stamp value of CurrentOutTS and LateTS sensing packet also inconsistent, therefore, for realization scope of the present invention more extensive, also in order to reduce application conditions of the present invention, will judge judging time stamp value that whether CurrentOutTS equals the packet that LateTS points to expands to and judge 3 in 1:
Judge the time stamp value of the packet whether CurrentOutTS points to more than or equal to LateTS;
In the case, not accurate enough even the timer fixed time interval is provided with, the packet that also can utilize this judgement 1 should go out team is exactly carried out out team; For realizing convenience,, obtain as judging 4 in conjunction with judgement 3 and judgement 2:
Judge the time stamp value of the packet whether CurrentOutTS points to more than or equal to LateTS, perhaps, whether CurrentOutTS is less than or equal to EarlyTS deducts the resulting value of current JB degree of depth CurrentJBDelay, if these judgement 4 judged results are "Yes", then execution in step 303, otherwise, return step 301;
Step 303: go out group thread the data of team's head are contracted out team, and, give variable CurrentOutTS with the time stamp value assignment of the packet of team's head, upgrading this current broadcast time stamp variable, and then return step 301, finish until transmission of data packets;
By realizing out team's scheduling with the specific implementation of step B as mentioned above,, the packaging time length of transmitting terminal just can under receiving terminal is known the situation of packaging time length in advance, not carry out DYNAMIC J B scheme exactly as long as being the integral multiple of timer interval T millisecond.For example, when packaging time length is 60 milliseconds, under 20 milliseconds timer control, once goes out group thread every 20 milliseconds of execution, but carry out out in group thread for per three times, for once can get a voice packet and play.So just be similar to timer once every 60 milliseconds of scheduling.
Three, the specific implementation of step C:
Step C is by to judge 5 and judge that 6 realize, wherein, judges 5 and judge that 6 realization order does not influence realization of the present invention:
Judge 5:
Whether the difference of time stamp of packet of judging tail of the queue in the JB pointer alignment and team's head is greater than the current JB degree of depth, if, because what the JB degree of depth was represented is the cache-time of packet in the JB pointer alignment, therefore, the too much packet that shown in the current JB formation buffer memory, be that current network exists bigger shake, then increase the current JB degree of depth, and abandon the partial data bag in the JB formation; In embodiments of the present invention, if the difference of time stamp of the packet of the tail of the queue in the JB pointer alignment and team's head is greater than the current JB degree of depth, in order to make whole end to end time-delay be unlikely to excessive, the data packet discarding that LateTS is pointed to then, and, be not more than under the prerequisite of the predefined maximum JB degree of depth in the current JB degree of depth, increase the current JB degree of depth, the step-length that this current JB degree of depth increases can set in advance, and in embodiments of the present invention, this increase step-length is set to 5 milliseconds;
Judge 6:
Judge that the cache-time delay of each packet in the JB pointer alignment is whether in a period of time all smaller or equal to the minimum time-delay constant MIN_JB_DELAY of the data cached bag of JB formation that sets in advance, if, then under the prerequisite of the current JB degree of depth, reduce current JB degree of depth CurrentJBDelay greater than the minimum JB degree of depth that sets in advance; Wherein, a time period described in this judgement 6 and the step-length that reduces the JB degree of depth all can set in advance, and in embodiments of the present invention, this time period is set to 2 seconds, and the step-length that reduces the JB degree of depth is 5 milliseconds; In addition, the minimum JB degree of depth and the maximum JB degree of depth are preestablished when initialization, get 60ms and 300ms in the embodiment of the invention respectively; The initial value of the current JB degree of depth then is set to (MinJBDelay+Ma * JBDelay)/2, in other embodiment of the present invention, also can determine the initial value of the current JB degree of depth according to other mathematical operation relation.
The above only is preferred embodiment of the present invention, and is in order to restriction the present invention, within the spirit and principles in the present invention not all, any modification of being done, is equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (10)

1, a kind of method that solves network jitter is characterized in that, this method comprises:
The thread of joining the team of packet receiving terminal sorts to the packet that receives according to the time stamp value of packet or the size of sequence number value, and according to ranking results with the packet ascending order buffer memory that receives, form to adopt the dithering cache pointer alignment of pointer mode;
The timer that goes out group thread of dithering cache pointer alignment triggers out group thread with a common divisor of transmitting terminal packaging time length as the time interval, trigger out group thread at every turn, go out group thread and judge all whether the packet of dithering cache pointer alignment team head should carve team when current triggering, if then these data are contracted out team;
When the tail of the queue packet in the dithering cache pointer alignment and team's packet difference of time stamp during, increase the current dithering cache degree of depth greater than the current dithering cache degree of depth; And/or, when the cache-time of packet in the dithering cache pointer alignment at the fixed time in the section during, reduce the current dithering cache degree of depth less than the minimum amount of delay of the data cached bag of this dithering cache pointer alignment.
2, method according to claim 1 is characterized in that, the thread of joining the team of described packet receiving terminal receives before the packet, and this method further comprises:
Whether the time stamp value that the thread of joining the team of packet receiving terminal dithering cache pointer alignment is judged the packet receive is less than the current broadcast time stamp variable of the packet of the current broadcast of this dithering cache pointer alignment, if, abandon this packet, wherein said current broadcast time stamp variable writes down the time stamp value of the packet of current broadcast.
3, method according to claim 2, it is characterized in that, if the packet that the thread of joining the team of dithering cache pointer alignment receives has recurred predefined number of times less than the packet of the current broadcast of this dithering cache pointer alignment, then each parameter that comprises the dithering cache degree of depth in the dithering cache pointer alignment is reverted to initial value.
4, method according to claim 1, it is characterized in that, the timer that goes out group thread of described dithering cache pointer alignment triggers out group thread with a common divisor of transmitting terminal packaging time length as the time interval, goes out group thread and judges whether the packet of dithering cache pointer alignment team head should carve team and comprise when current triggering:
Steps A 1: go out group thread timer and trigger out group thread as the time interval with a common divisor of transmitting terminal packaging time length, with, it is a current broadcast time stamp value variable assignments, current broadcast time stamp variable writes down the time stamp value of the packet of current broadcast, and the value of being composed is: the currency of this current broadcast time stamp value variable adds and the resulting new value of corresponding time stamp value of the described time interval;
Steps A 2: go out group thread and utilize the current broadcast time stamp value variable described in the steps A 1, judge at the current packet that triggers moment dithering cache pointer alignment squadron head whether should go out team according to the time stamp value whether current broadcast time stamp value variable equals the packet of team's head, if current broadcast time stamp value variable equals the time stamp value of the packet of team's head, execution in step A3 then, otherwise, return steps A 1;
Steps A 3: go out group thread the data of team's head are contracted out team, and, give current broadcast time stamp value variable with the time stamp value assignment of the packet of team's head, and then return steps A 1, finish until transmission of data packets.
5, method according to claim 4, it is characterized in that, the described time stamp value of judging whether current broadcast time stamp value variable equals the packet of team's head further comprises: judge current broadcast time stamp value variable whether greater than the time stamp value of the packet of team's head, if, execution in step A3 then; Otherwise, then return steps A 1.
6, according to claim 4 or 5 described methods, it is characterized in that this method further comprises:
Judge that the time stamp value whether current broadcast time stamp value variable is less than or equal to the tail of the queue packet deducts the resulting value of the current dithering cache degree of depth, if, execution in step A3 then.
7, method according to claim 1, it is characterized in that, described according to packet in the dithering cache pointer alignment cache-time and the relation between the minimum amount of delay of the data cached bag of this dithering cache pointer alignment, determine whether adjust the current dithering cache degree of depth and comprise:
Judge whether the cache-time of each packet in the dithering cache pointer alignment is equal to the minimum amount of delay of the data cached bag of dithering cache formation that sets in advance in a period of time, if, then determine to obtain reducing the current dithering cache degree of depth, the current dithering cache degree of depth of described adjustment is for reducing the current dithering cache degree of depth.
8, method according to claim 1 is characterized in that, the current dithering cache degree of depth of described increase further comprises: the packet that abandons team's head.
9, method according to claim 1, it is characterized in that, after determining increase the current dithering cache degree of depth, judge that further whether the current dithering cache degree of depth is less than the predefined maximum jitter buffer memory degree of depth, if then carry out the operation of the current dithering cache degree of depth of described increase.
10, method according to claim 1, it is characterized in that, after determining reduce the current dithering cache degree of depth, judge that further whether the current dithering cache degree of depth is greater than the predefined minimum jitter buffer memory degree of depth, if then carry out the described operation that reduces the current dithering cache degree of depth.
CNB2004100498776A 2004-06-25 2004-06-25 Solution of network shake Active CN100426784C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100498776A CN100426784C (en) 2004-06-25 2004-06-25 Solution of network shake

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100498776A CN100426784C (en) 2004-06-25 2004-06-25 Solution of network shake

Publications (2)

Publication Number Publication Date
CN1713613A CN1713613A (en) 2005-12-28
CN100426784C true CN100426784C (en) 2008-10-15

Family

ID=35719053

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100498776A Active CN100426784C (en) 2004-06-25 2004-06-25 Solution of network shake

Country Status (1)

Country Link
CN (1) CN100426784C (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101175104B (en) * 2006-10-31 2010-04-21 华为技术有限公司 Dithering caching device and its management method
CN101060679A (en) * 2007-06-06 2007-10-24 中兴通讯股份有限公司 Event insertion method
CN101136772B (en) * 2007-09-28 2010-10-27 华为技术有限公司 Timing transmission packet method and packet transmission module
US8203961B2 (en) * 2008-08-11 2012-06-19 Qualcomm Incorporated Methods and apparatus for providing modified timestamps in a communication system
CN102118307B (en) * 2010-01-04 2014-06-25 大唐移动通信设备有限公司 Method and device for controlling message jittering
CN103152134B (en) * 2013-02-26 2015-12-02 汉柏科技有限公司 Receiving terminal based on Real-time Transport Protocol resets the method and system of voice packet
CN103744801A (en) * 2014-01-24 2014-04-23 深圳市华宝电子科技有限公司 Real-time data caching method and device
CN104375620A (en) * 2014-11-25 2015-02-25 珠海全志科技股份有限公司 Method for reducing power dissipation of ucos-ii system
CN106060007B (en) * 2016-05-10 2019-10-11 上海斐讯数据通信技术有限公司 A kind of user login information jitter-prevention processing method and system
CN110113270B (en) 2019-04-11 2021-04-23 北京达佳互联信息技术有限公司 Network communication jitter control method, device, terminal and storage medium
CN113112782B (en) * 2021-04-07 2022-09-16 深圳市艾斯龙科技有限公司 Low-power-consumption wireless control method, transmitter and receiver

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1352846A (en) * 1999-01-14 2002-06-05 艾利森电话股份有限公司 Adaptive jitter buffering
CN1407834A (en) * 2001-08-24 2003-04-02 深圳市中兴通讯股份有限公司上海第二研究所 Method for realizing transmission of time division multichannel pulse modified signals in ether network
US6683889B1 (en) * 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
US6747999B1 (en) * 1999-11-15 2004-06-08 Siemens Information And Communication Networks, Inc. Jitter buffer adjustment algorithm

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1352846A (en) * 1999-01-14 2002-06-05 艾利森电话股份有限公司 Adaptive jitter buffering
US6683889B1 (en) * 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
US6747999B1 (en) * 1999-11-15 2004-06-08 Siemens Information And Communication Networks, Inc. Jitter buffer adjustment algorithm
CN1407834A (en) * 2001-08-24 2003-04-02 深圳市中兴通讯股份有限公司上海第二研究所 Method for realizing transmission of time division multichannel pulse modified signals in ether network

Also Published As

Publication number Publication date
CN1713613A (en) 2005-12-28

Similar Documents

Publication Publication Date Title
CN101212389B (en) Outburst convergence control method, and corresponding device and communication device
US7830796B2 (en) Method and apparatus for traffic shaping
US7911963B2 (en) Empirical scheduling of network packets
CN100426784C (en) Solution of network shake
US6101193A (en) Packet scheduling scheme for improving short time fairness characteristic in weighted fair queueing
EP1303083B1 (en) Packet scheduling apparatus
CN103533451A (en) Method and system for regulating jitter buffer
Chebrolu et al. Communication using multiple wireless interfaces
CN100525281C (en) Method of realizing dynamic adjusting dithered buffer in procedure of voice transmission
JPH05227157A (en) Bit rate monitor in atm network
CN112738843B (en) High-rate 5G uplink congestion control method for determining communication delay
CN100459586C (en) Device and method for data flux control
CN101816153A (en) Improved utilization of data links
CN102461093A (en) Method of managing a traffic load
CN101110661B (en) Dithering cache regulation means for circuit simulation system
Beshay et al. On active queue management in cellular networks
CN100373890C (en) A method for solving network jitter
US8355403B2 (en) Stale data removal using latency count in a WiMAX scheduler
JP2000286851A (en) Communication controller
CN101753407A (en) OBS framing method and OBS framing device
US9166924B2 (en) Packet scheduling method and apparatus considering virtual port
JP3315940B2 (en) ATM communication method and ATM communication device
CN107302504B (en) Multipath transmission scheduling method and system based on virtual sending queue
CN1787481B (en) Method for reducing playing delay of data packet
KR100439970B1 (en) Packet scheduling device and method for wireless delay proportional differentiation service

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant