WO2006002662A1 - Method and apparatus scheduling processing of data portions from multiple data sources - Google Patents

Method and apparatus scheduling processing of data portions from multiple data sources Download PDF

Info

Publication number
WO2006002662A1
WO2006002662A1 PCT/EP2004/007088 EP2004007088W WO2006002662A1 WO 2006002662 A1 WO2006002662 A1 WO 2006002662A1 EP 2004007088 W EP2004007088 W EP 2004007088W WO 2006002662 A1 WO2006002662 A1 WO 2006002662A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
data
scheduling
data portion
scheduled
Prior art date
Application number
PCT/EP2004/007088
Other languages
French (fr)
Inventor
Andras Vajda
Arto Juhani Mahkonen
Thomas Wennberg
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/EP2004/007088 priority Critical patent/WO2006002662A1/en
Publication of WO2006002662A1 publication Critical patent/WO2006002662A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Definitions

  • the invention relates to a method and a device for scheduling processing of data portions from multiple data sources by a commonly utilized processing unit
  • different processing tasks can be e.g. tasks related to different channels or different kinds of tasks such as source or channel encoding or decoding, echo canceling, tone sending or the like.
  • Data to be processed by a processing unit may be provided as data portions such as data packets or frames.
  • data portions such as data packets or frames.
  • Known kinds data of portions are e.g. an IP (internet protocol) packet, an SDU (service data unit), an ATM (asynchronous transfer mode) frame or an Iu- frame.
  • asynchronous scheduling data portions are stored in a FIFO (first in - first out) buffer common to multiple data sources and the data portions are processed in the order in which they have been received in the common FIFO buffer.
  • Data portions from a particular one of the data sources are not received at exactly periodically repeated arrival times but are subject to an arrival jitter.
  • the order at which the data portions are received in the FIFO buffer may vary.
  • the further buffer causes a further buffering delay in addition to the buffering delay of the FIFO buffer.
  • a method for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device may relate to a plurality of transmission channels, i.e. each of said plurality of data sources may relate to a respective transmission channel.
  • the invented method comprises the steps of:
  • scheduling processing of a data portion with a scheduled processing start time closest to the reference time may be performed by detecting that processing the current data portion has been completed.
  • the proposed method for scheduling data portions may be utilized if the number of data sources is changed or reconfigured.
  • the reference time may be determined according to a scheduled processing start time of the current data portion. By this the assignment of a scheduled a processing start time does not need to be synchronized with other devices.
  • the reference time may be determined using a clocking device.
  • processing of data portions from a higher prioritised data source may be prioritised as regards to processing of data portions from a lower prioritised data source.
  • this data sources may be related to a respective quality of service class and a requirement on a quality of service may be complied with.
  • a scheduled processing start time for a data portion from a particular data source is determined using a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval for the particular data source.
  • this data portions may be scheduled to be processed at a constant rate. By this a jitter of times at which processed data portions are available may also be minimized.
  • a scheduling device for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device.
  • the scheduling device comprises:
  • a data portion queue for temporarily storing the data portions to be processed by the processing device - an assignment unit for assigning to a data portion received from a data source a scheduled processing start time
  • Detecting that processing capacity is available for processing a next data portion may be performed by detecting that processing the current data portion has been completed.
  • the timing unit may be adapted to determine the reference time according to a scheduled processing start time of the current data portion. By this the assignment of a scheduled processing start time does not need to be synchronized with other devices.
  • the timing unit may be adapted to determine the reference time using a clocking device.
  • the scheduling unit may be adapted to prioritise processing of data portions from a higher prioritised data source as regards to processing of data portions from a lower prioritised data source.
  • this data sources may be related to a respective quality of service class and requirements to a quality of service class may be complied with.
  • the assignment unit may be adapted to assign a scheduled processing start time for a data portion from a particular data source according to a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval for the particular data source.
  • This data portions may be scheduled to be processed at a constant rate. By this a jitter of times at which processed data portions are available may also be minimized.
  • Figure 1 depicts a plurality of units that are used for the processing of data portions according to the invention.
  • Figure 2 depicts a scheduling device according to the invention.
  • FIG. 3 depicts a sequence of processing steps to be performed when embodying the invention.
  • Figure 1 depicts a plurality of units that are used for the processing of data portions according to the invention.
  • the embodiment of figure 1 comprises n data sources Cl, C2 ... Cn of which a first, a second and an nth data source Cl, C2, and Cn are depicted.
  • the first to nth data source Cl, C2, ... Cn may each relate to a transmission channel, via which data portions are transmitted towards the processing unit PU, that is commonly utilized for the first to nth data source Cl, C2, ... Cn.
  • the first to nth data source Cl, C2 ... Cn may be data sources of different kind or data sources of the same kind.
  • the first to nth data source Cl, C2 ... Cn are repeatedly outputting data portions to be processed by the processing unit PU.
  • the data portions for a particular one of the first to nth data source Cl, C2 ... Cn may be data portions of different kind and the processing tasks to be performed on the data portions may be different kinds of processing tasks.
  • a respective software instance may be provided to be executed by the commonly utilized processing unit PU.
  • the data portions may be e.g. speech data portions comprising speech data or control data portions related to a speech channel and the processing tasks to be performed on the data portions may relate to a tone sending, an echo canceling, or an encoding, decoding or transcoding of speech data transmitted within said data portions.
  • the processing times for processing a data portion may be different for different data portions to be processed by the processing unit PU.
  • data portions to be processed by the processing unit PU are received from one of the first to nth data source C 1 , C2, ... Cn in a first buffer B 1 that is controlled by a control unit CU.
  • the first buffer may apply the FIFO (first in - first out) principle, i.e. the first buffer may be adapted to output the received data portions in the order in which they have been received in the first buffer Bl.
  • the control unit is adapted to assign to each of the data portions received from a particular one of the first to nth data source Cl, C2 ... Cn a respective scheduled processing start time.
  • the scheduled processing start time for a first data portion received after an initialisation phase of the processing device PU may be determined according to a current time and an initial delay.
  • the scheduled processing start time for a further data portion may be determined according to a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval assigned to the particular data source. Said repetition interval may be defined according to the type of the data source, e.g. 20 milliseconds for a UMTS speech channel.
  • the delivery time for a data portion from a particular channel may be calculated after the processing unit PU has executed a processing task for the particular channel.
  • the control unit CU controls the first buffer Bl and a second buffer B 2 to copy data portions from the first buffer B 1 to the second buffer B2.
  • the second buffer may be arranged such that the data portions stored in the second buffer are sorted according to the scheduled processing start time of the data portions. To that end the second buffer may be implemented as a linked list. By this scanning the second buffer B2 for a most urgent data portion may be avoided. Data portions in the second buffer B2 may be rescheduled when a data portion is copied from the first buffer B 1 to the second buffer B2.
  • the second buffer B2 may be a freely accessible memory and the control unit CU may hold a table assigning an indication of a data portion with the scheduled processing start time of that data portion.
  • data portions must be accessible from the second buffer B2 according to their indication kept in the control unit.
  • a reference time is determined. Said reference time may be determined using a clocking device. Furthermore said reference time may be determined according to a processing status of the processing device PD. E.g. the reference time may be determined when the processing device starts processing of a data portion. Alternatively the reference time may be determined when the processing device has completed processing a data portion. Alternatively the reference time may be determined according to a scheduled processing start time of a currently processed data portion.
  • the control unit CU schedules processing of a data portion with a scheduled processing start time closest to the reference time. I.e. if the scheduled processing start time of the current data portion has been used as reference time and the data portions are stored in the second buffer B 2 in the order of their respective scheduled processing start time, the data portions may be processed by the processing unit PU in the order in that they have been stored in the second buffer B2.
  • control unit CU may determine according to the list of scheduled processing starts the data portion with the scheduled processing start time closest to the reference time and initiate processing of this determined data portion by the processing unit.
  • the data portion to be processed next may be copied to the processing device and deleted from the second buffer B2.
  • the control unit CU may control the first buffer B 1 and the second buffer B2 such that available data portions are copied from the first buffer Bl to the second buffer B2.
  • Advantageously all available data portions are copied from the first buffer Bl to the second buffer B2.
  • a particular one of the first to nth data source Cl, C2 ... Cn may be prioritized compared to another one of the data sources. This may e.g. apply if transmission channels of a different quality of service classes are assigned to the first to nth data source Cl, C2 ... Cn.
  • the data portion scheduled to be processed next may be first determined within the data portions received from data sources with a high priority.
  • the scheduled processing start time of a highly prioritised data portion may be interpreted as a deadline for processing that data portion and processing of a previously scheduled data portion may be terminated when the deadline for processing the prioritised data portion is about to expire.
  • the reception of data portions from a particular data source may be supervised by the control unit CU.
  • Outputting data portions that have been processed by the processing device may be triggered by an output scheduler OS downstream to the processing unit PU.
  • the output scheduler OS may store processed data portions and output the processed data portions at previously scheduled delivery times. Delivery times may be determined from previous delivery times and a repetition interval that is common for a particular data sink towards that processed data portions are transmitted.
  • the first delivery time for a particular data source and a respective data sink may be determined according to a reception time of a first data portion received from the respective data source.
  • Determining the first delivery time for a data portion to be delivered towards the respective data sink may take into account an expected input jitter, a latency due to the scheduling process, and an expected processing time.
  • the first delivery time may be e.g. determined as the reception time of the first data portion increased by the sum of the input jitter, the expected latency due to the scheduling process and the expected processing time.
  • the input jitter relates to an expected jitter of reception times of data portions received from the particular data source.
  • the expected input jitter may be configured or determined from a measurement of an actual input jitter from the past.
  • the latency due to the scheduling process takes into account an expected delay due to data portions that are scheduled to be processed simultaneously. E.g. if a certain number of data portions have been scheduled to be processed simultaneously, the expected delay due to the simultaneous scheduling related to the sum of the processing times of the simultaneously scheduled data portions.
  • FIG. 2 depicts a scheduling device SD according to the invention.
  • the scheduling device SD may be implemented in hardware in software or in a combination thereof.
  • the scheduling device SD is provided for scheduling processing data portions from a first to nth data source DSl, DS2 ... DSn by a commonly utilized processing device PD, to which the scheduling device SD is connected to.
  • the first to nth data source DSl, DS2 ... DSn may e.g. relate each to a respective transmission channel via which the data portions are transmitted towards the processing device.
  • the scheduling device SD comprises a data portion queue DPQ connected to the first to nth data source DSl, DS2 ... DSn for receiving data portions from the first to nth data source for DSl, DS2 ... DSn.
  • the data portion queue DPQ is provided for temporarily storing the data portions received from the first to nth data source for DSl, DS2 ... DSn.
  • the scheduling device SD further comprises an assignment unit AU, a timing unit TU, a scheduling unit SDU and a supervision unit SVU, all of them interconnected among each other and connected to the data portion queue DPQ.
  • the supervision unit SVU is further connected to the processing device PD for supervising the processing device PD.
  • the assignment unit AU is adapted to assign to each data portion received from the first to nth data source for DSl, DS2 ... DSn a respective scheduled processing start time. To that end the assignment unit AU may be adapted to assign a scheduled processing start time for a data portion from a particular data source according to a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval for the particular data source.
  • the scheduling unit SDU is adapted to schedule processing of a current data portion to be processed. This may be provided in that the scheduling unit SU selects within the data portions stored in the data portion queue that data portion the current data portion to be processed next.
  • the timing unit TU is adapted to determine a reference time. To that end the timing unit TU may be adapted to determine the reference time according to a scheduled processing start time of the current data portion or the timing unit TU may be adapted to determine the reference time using a clocking device.
  • the clocking device may be a device external to the timing unit or be comprised in the timing unit TU.
  • the scheduling device SD further comprises a supervising unit SVU for detecting that processing capacity is available for processing a next data portion. This may be achieved in that the scheduling device detects that processing the current data portion has been completed. To that end the supervision unit SVU may be adapted to receive from the processing device a signal indicating that processing the current data portion has been completed.
  • the scheduling unit SDU is adapted to schedule processing of a data portion with a scheduled processing start time closest to the reference time when processing capacity is available for processing a next data portion. This may be performed upon detecting that processing the current data portion has been completed.
  • the scheduling unit SDU may be adapted to prioritise processing of data portions from a higher prioritised data source as regards to processing of data portions from a lower prioritised data source.
  • FIG. 3 depicts a sequence of method steps that may be performed when carrying out the invention.
  • the depicted method is provided for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device.
  • a processing start time is assigned to data portions received from the data sources, wherein the processing start time indicates when processing the respective data portion is scheduled.
  • a current data portion is scheduled.
  • a reference time is determined. The reference time may be determined according to a scheduled processing start time of the current data portion or the reference time may be determined using a clocking device.
  • a fourth step S4 it is detected that processing capacity is available for processing a next data portion. This may be performed in that it is detected that processing the current data portion has been completed. According to the fourth step S4, i.e. when processing capacity is available for processing a next data portion processing of a data portion with a scheduled processing start time closest to the reference time is scheduled in a fifth step S5.

Abstract

A method is provided for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device, the method comprises the steps of: - assigning (S1) to a data portion received from a data source a scheduled processing start time, - scheduling (S2) processing a current data portion, - determining (S3) a reference time, - when processing capacity is available for processing a next data portion (S4), scheduling (S5) processing of a data portion with a scheduled processing start time that is closest to the reference time.

Description

Method and apparatus scheduling processing of data portions from multiple data sources
Field of invention
The invention relates to a method and a device for scheduling processing of data portions from multiple data sources by a commonly utilized processing unit
Description of prior art
With the introduction of freely programmable signal processors a performing of different signaling processing tasks within a single hardware unit has become possible. In the context of a telecommunication network said different processing tasks can be e.g. tasks related to different channels or different kinds of tasks such as source or channel encoding or decoding, echo canceling, tone sending or the like.
Data to be processed by a processing unit may be provided as data portions such as data packets or frames. Known kinds data of portions are e.g. an IP (internet protocol) packet, an SDU (service data unit), an ATM (asynchronous transfer mode) frame or an Iu- frame.
In order to schedule processing of data portions from multiple data sources by a processing device that is commonly utilized for said multiple data sources asynchronous and synchronous scheduling is known in the state of the art.
When applying asynchronous scheduling data portions are stored in a FIFO (first in - first out) buffer common to multiple data sources and the data portions are processed in the order in which they have been received in the common FIFO buffer. Data portions from a particular one of the data sources are not received at exactly periodically repeated arrival times but are subject to an arrival jitter. As usually data portions from several data sources are subject to a certain arrival jitter the order at which the data portions are received in the FIFO buffer may vary. By this the time at which data potions are available for a certain data sink is subject to a delivery jitter, which exceeds the arrival jitter of the data portions from the respective data source. To cope with the delivery jitter a buffer may be introduced downstream to the processing device. The further buffer causes a further buffering delay in addition to the buffering delay of the FIFO buffer. When designing the size of the further buffer, a trade off between buffering delay and delivery jitter has to be found.
I.e. when applying asynchronous scheduling a low delay has to be paid for by a high delivery jitter and a low delivery jitter has to be paid for by a high buffering delay.
When applying synchronous scheduling periodically repeated time slots are reserved for each of the data sources. Data portions from a respective data source are processed within a time slot assigned to the respective data source and processed data portions for the respective data sink are delivered at the end of the respective time slot. When applying synchronous scheduling both delay and delivery jitter may be minimized provided that the arrival times of data portions from different data sources are staggered. However if processing of a particular data portion has not been finished within the reserved time slot the respective data portion has to be dropped. This is particularly relevant if the processing time for data portions from a particular data source is strongly time- varying, e.g. if different kinds of processing tasks are performed for one data source.
In the context of a telecommunications network this may occur, if for a particular channel different data portions have to be processed according to different modes of processing e.g. by either a coding device, an echo canceller or a tone sender all of them implemented on the commonly utilized processing device.
When designing the size of the reserved time slots a trade off has to found between an optimum utilization of the processing device and an acceptable number of dropped data portions. I.e. when applying asynchronous scheduling, a good utilization of the processing device has to be paid for by a high number of dropped data portions and a low number of dropped data portions has to paid for by a worse utilization of the processing device.
Summary of the invention
Therefore it is object of the invention to overcome the above shortcoming and to provide a method and a device for scheduling processing of different data portions with different processing times that performs well in respect to delay, delivery jitter, drop rate and utilization of the processing device.
This object is achieved by the method of claiml and the scheduling device of claim 6. Advantageous embodiments are described in the dependent claims.
According to the invention a method is provided for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device. Said plurality of data sources may relate to a plurality of transmission channels, i.e. each of said plurality of data sources may relate to a respective transmission channel. The invented method comprises the steps of:
- assigning to a data portion received from a data source a scheduled processing start time,
- scheduling processing a current data portion, - determining a reference time, and
- when processing capacity is available for processing a next data portion, scheduling processing of a data portion with a scheduled processing start time closest to the reference time. Indicating that processing capacity is available for processing the next data portion may be performed by detecting that processing the current data portion has been completed. The proposed method for scheduling data portions may be utilized if the number of data sources is changed or reconfigured.
The reference time may be determined according to a scheduled processing start time of the current data portion. By this the assignment of a scheduled a processing start time does not need to be synchronized with other devices.
Alternatively or in addition the reference time may be determined using a clocking device.
In a particular embodiment of the invented method processing of data portions from a higher prioritised data source may be prioritised as regards to processing of data portions from a lower prioritised data source.
By this data sources may be related to a respective quality of service class and a requirement on a quality of service may be complied with.
In a further embodiment of the invented method a scheduled processing start time for a data portion from a particular data source is determined using a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval for the particular data source. By this data portions may be scheduled to be processed at a constant rate. By this a jitter of times at which processed data portions are available may also be minimized.
Furthermore according to the invention a scheduling device is provided for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device. The scheduling device comprises:
- a data portion queue for temporarily storing the data portions to be processed by the processing device - an assignment unit for assigning to a data portion received from a data source a scheduled processing start time,
- a scheduling unit for scheduling processing of a current data portion to be processed,
- a timing unit for determining a reference time, and
- a supervising unit for detecting that processing capacity is available for processing a next data portion, wherein the scheduling unit is adapted to schedule processing of a data portion with a scheduled processing start time closest to the reference time when processing capacity is available for processing a next data portion. Detecting that processing capacity is available for processing a next data portion may be performed by detecting that processing the current data portion has been completed.
The timing unit may be adapted to determine the reference time according to a scheduled processing start time of the current data portion. By this the assignment of a scheduled processing start time does not need to be synchronized with other devices.
Alternatively or in addition the timing unit may be adapted to determine the reference time using a clocking device.
In a particular embodiment of the invented method of the scheduling device the scheduling unit may be adapted to prioritise processing of data portions from a higher prioritised data source as regards to processing of data portions from a lower prioritised data source.
By this data sources may be related to a respective quality of service class and requirements to a quality of service class may be complied with.
The assignment unit may be adapted to assign a scheduled processing start time for a data portion from a particular data source according to a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval for the particular data source. By this data portions may be scheduled to be processed at a constant rate. By this a jitter of times at which processed data portions are available may also be minimized.
Brief description of the drawings
Figure 1 depicts a plurality of units that are used for the processing of data portions according to the invention.
Figure 2 depicts a scheduling device according to the invention.
Figure 3 depicts a sequence of processing steps to be performed when embodying the invention.
Detailed description of preferred embodiments
Figure 1 depicts a plurality of units that are used for the processing of data portions according to the invention. In particular the embodiment of figure 1 comprises n data sources Cl, C2 ... Cn of which a first, a second and an nth data source Cl, C2, and Cn are depicted. The first to nth data source Cl, C2, ... Cn may each relate to a transmission channel, via which data portions are transmitted towards the processing unit PU, that is commonly utilized for the first to nth data source Cl, C2, ... Cn. The first to nth data source Cl, C2 ... Cn may be data sources of different kind or data sources of the same kind.
The first to nth data source Cl, C2 ... Cn are repeatedly outputting data portions to be processed by the processing unit PU. The data portions for a particular one of the first to nth data source Cl, C2 ... Cn may be data portions of different kind and the processing tasks to be performed on the data portions may be different kinds of processing tasks. To provide processing of data portions from the various data sources according to different modes of processing by the commonly utilized processing unit PU for each of the modes of processing a respective software instance may be provided to be executed by the commonly utilized processing unit PU.
The data portions may be e.g. speech data portions comprising speech data or control data portions related to a speech channel and the processing tasks to be performed on the data portions may relate to a tone sending, an echo canceling, or an encoding, decoding or transcoding of speech data transmitted within said data portions. In particular the processing times for processing a data portion may be different for different data portions to be processed by the processing unit PU.
According to an embodiment of the invention data portions to be processed by the processing unit PU are received from one of the first to nth data source C 1 , C2, ... Cn in a first buffer B 1 that is controlled by a control unit CU. The first buffer may apply the FIFO (first in - first out) principle, i.e. the first buffer may be adapted to output the received data portions in the order in which they have been received in the first buffer Bl.
The control unit is adapted to assign to each of the data portions received from a particular one of the first to nth data source Cl, C2 ... Cn a respective scheduled processing start time. The scheduled processing start time for a first data portion received after an initialisation phase of the processing device PU may be determined according to a current time and an initial delay.
The scheduled processing start time for a further data portion may be determined according to a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval assigned to the particular data source. Said repetition interval may be defined according to the type of the data source, e.g. 20 milliseconds for a UMTS speech channel. The delivery time for a data portion from a particular channel may be calculated after the processing unit PU has executed a processing task for the particular channel.
The control unit CU controls the first buffer Bl and a second buffer B 2 to copy data portions from the first buffer B 1 to the second buffer B2. The second buffer may be arranged such that the data portions stored in the second buffer are sorted according to the scheduled processing start time of the data portions. To that end the second buffer may be implemented as a linked list. By this scanning the second buffer B2 for a most urgent data portion may be avoided. Data portions in the second buffer B2 may be rescheduled when a data portion is copied from the first buffer B 1 to the second buffer B2.
Alternatively the second buffer B2 may be a freely accessible memory and the control unit CU may hold a table assigning an indication of a data portion with the scheduled processing start time of that data portion. In that embodiment data portions must be accessible from the second buffer B2 according to their indication kept in the control unit.
For scheduling processing a data portion a reference time is determined. Said reference time may be determined using a clocking device. Furthermore said reference time may be determined according to a processing status of the processing device PD. E.g. the reference time may be determined when the processing device starts processing of a data portion. Alternatively the reference time may be determined when the processing device has completed processing a data portion. Alternatively the reference time may be determined according to a scheduled processing start time of a currently processed data portion.
When processing the current data portion has been completed so that processing capacity is available for processing a next data portion, the control unit CU schedules processing of a data portion with a scheduled processing start time closest to the reference time. I.e. if the scheduled processing start time of the current data portion has been used as reference time and the data portions are stored in the second buffer B 2 in the order of their respective scheduled processing start time, the data portions may be processed by the processing unit PU in the order in that they have been stored in the second buffer B2.
Alternatively if the second buffer is freely accessible the control unit CU may determine according to the list of scheduled processing starts the data portion with the scheduled processing start time closest to the reference time and initiate processing of this determined data portion by the processing unit.
The data portion to be processed next may be copied to the processing device and deleted from the second buffer B2. The control unit CU may control the first buffer B 1 and the second buffer B2 such that available data portions are copied from the first buffer Bl to the second buffer B2. Advantageously all available data portions are copied from the first buffer Bl to the second buffer B2. By this capacity for receiving further data portions may be provided in the first buffer B 1.
When applying the above described scheduling method, a particular one of the first to nth data source Cl, C2 ... Cn may be prioritized compared to another one of the data sources. This may e.g. apply if transmission channels of a different quality of service classes are assigned to the first to nth data source Cl, C2 ... Cn. In this embodiment the data portion scheduled to be processed next may be first determined within the data portions received from data sources with a high priority.
In the embodiment of the prioritisation of the data portions the scheduled processing start time of a highly prioritised data portion may be interpreted as a deadline for processing that data portion and processing of a previously scheduled data portion may be terminated when the deadline for processing the prioritised data portion is about to expire. The reception of data portions from a particular data source may be supervised by the control unit CU.
Outputting data portions that have been processed by the processing device may be triggered by an output scheduler OS downstream to the processing unit PU.
In order to minimize or avoid a jitter of delivery times of processed data portions, the output scheduler OS may store processed data portions and output the processed data portions at previously scheduled delivery times. Delivery times may be determined from previous delivery times and a repetition interval that is common for a particular data sink towards that processed data portions are transmitted.
The first delivery time for a particular data source and a respective data sink may be determined according to a reception time of a first data portion received from the respective data source.
Determining the first delivery time for a data portion to be delivered towards the respective data sink may take into account an expected input jitter, a latency due to the scheduling process, and an expected processing time. The first delivery time may be e.g. determined as the reception time of the first data portion increased by the sum of the input jitter, the expected latency due to the scheduling process and the expected processing time.
The input jitter relates to an expected jitter of reception times of data portions received from the particular data source.
The expected input jitter may be configured or determined from a measurement of an actual input jitter from the past.
The latency due to the scheduling process takes into account an expected delay due to data portions that are scheduled to be processed simultaneously. E.g. if a certain number of data portions have been scheduled to be processed simultaneously, the expected delay due to the simultaneous scheduling related to the sum of the processing times of the simultaneously scheduled data portions.
Figure 2 depicts a scheduling device SD according to the invention. The scheduling device SD may be implemented in hardware in software or in a combination thereof. The scheduling device SD is provided for scheduling processing data portions from a first to nth data source DSl, DS2 ... DSn by a commonly utilized processing device PD, to which the scheduling device SD is connected to. The first to nth data source DSl, DS2 ... DSn may e.g. relate each to a respective transmission channel via which the data portions are transmitted towards the processing device.
The scheduling device SD comprises a data portion queue DPQ connected to the first to nth data source DSl, DS2 ... DSn for receiving data portions from the first to nth data source for DSl, DS2 ... DSn. The data portion queue DPQ is provided for temporarily storing the data portions received from the first to nth data source for DSl, DS2 ... DSn. The scheduling device SD further comprises an assignment unit AU, a timing unit TU, a scheduling unit SDU and a supervision unit SVU, all of them interconnected among each other and connected to the data portion queue DPQ. The supervision unit SVU is further connected to the processing device PD for supervising the processing device PD. The assignment unit AU is adapted to assign to each data portion received from the first to nth data source for DSl, DS2 ... DSn a respective scheduled processing start time. To that end the assignment unit AU may be adapted to assign a scheduled processing start time for a data portion from a particular data source according to a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval for the particular data source.
The scheduling unit SDU is adapted to schedule processing of a current data portion to be processed. This may be provided in that the scheduling unit SU selects within the data portions stored in the data portion queue that data portion the current data portion to be processed next.
The timing unit TU is adapted to determine a reference time. To that end the timing unit TU may be adapted to determine the reference time according to a scheduled processing start time of the current data portion or the timing unit TU may be adapted to determine the reference time using a clocking device. The clocking device may be a device external to the timing unit or be comprised in the timing unit TU.
The scheduling device SD further comprises a supervising unit SVU for detecting that processing capacity is available for processing a next data portion. This may be achieved in that the scheduling device detects that processing the current data portion has been completed. To that end the supervision unit SVU may be adapted to receive from the processing device a signal indicating that processing the current data portion has been completed.
The scheduling unit SDU is adapted to schedule processing of a data portion with a scheduled processing start time closest to the reference time when processing capacity is available for processing a next data portion. This may be performed upon detecting that processing the current data portion has been completed.
The scheduling unit SDU may be adapted to prioritise processing of data portions from a higher prioritised data source as regards to processing of data portions from a lower prioritised data source.
Figure 3 depicts a sequence of method steps that may be performed when carrying out the invention. The depicted method is provided for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device. In a first step SI a processing start time is assigned to data portions received from the data sources, wherein the processing start time indicates when processing the respective data portion is scheduled. In a second step S2 processing a current data portion is scheduled. In a third step S3 a reference time is determined. The reference time may be determined according to a scheduled processing start time of the current data portion or the reference time may be determined using a clocking device. In a fourth step S4 it is detected that processing capacity is available for processing a next data portion. This may be performed in that it is detected that processing the current data portion has been completed. According to the fourth step S4, i.e. when processing capacity is available for processing a next data portion processing of a data portion with a scheduled processing start time closest to the reference time is scheduled in a fifth step S5.

Claims

Claims
1. Method for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device, the method comprising the steps of: - assigning (Sl) to a data portion received from a data source a scheduled processing start time,
- scheduling (S2) processing a current data portion,
- determining (S3) a reference time,
- when processing capacity is available for processing a next data portion (S4), scheduling (S5) processing of a data portion with a scheduled processing start time that is closest to the reference time.
2. Method according to claim 1, wherein the reference time is determined according to a scheduled processing start time of the current data portion.
3. Method according to claim 1, wherein the reference time is determined using a clocking device.
4. Method according to any of the preceding claims wherein processing of data portions from a higher prioritised data source is prioritised as regards to processing of data portions from a lower prioritised data source.
5. Method according to any of the preceding claims wherein a scheduled processing start time for a data portion from a particular data source is determined using a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval for the particular data source.
6. Scheduling device (SD) for scheduling processing data portions from a plurality of data sources by a commonly utilized processing device, the scheduling device comprising:
- a data portion queue (DPQ) for temporarily storing the data portions to be processed by the processing device
- an assignment unit (AU) for assigning to a data portion received from a data source a scheduled processing start time time,
- scheduling unit (SDU) for scheduling processing of a current data portion to be processed, - a timing unit for determining a reference time,
- a supervising unit (SVU) for detecting that processing capacity is available for processing a next data portion, wherein the scheduling unit (SDU) is adapted to schedule processing of a data portion with a scheduled processing start time closest to the reference time when processing capacity is available for processing a next data portion.
7. Scheduling device (SD) according to claim 6, wherein the timing unit is adapted to determine the reference time according to a scheduled processing start time of the current data portion.
8. Scheduling device (SD) according to claim 6, wherein the timing unit (TU) is adapted to determine the reference time using a clocking device.
9. Scheduling device (SD) according to any of the claims 5 to 8, wherein the scheduling unit (SDU) is adapted to prioritise processing of data portions from a higher prioritised data source as regards to processing of data portions from a lower prioritised data source.
10. Scheduling device according to any of the claims 5 to 9, wherein the assignment unit is adapted to assign a scheduled processing start time for a data portion from a particular data source according to a scheduled processing start time of a previously scheduled data portion from the particular data source and a repetition interval for the particular data source.
PCT/EP2004/007088 2004-06-30 2004-06-30 Method and apparatus scheduling processing of data portions from multiple data sources WO2006002662A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/007088 WO2006002662A1 (en) 2004-06-30 2004-06-30 Method and apparatus scheduling processing of data portions from multiple data sources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/007088 WO2006002662A1 (en) 2004-06-30 2004-06-30 Method and apparatus scheduling processing of data portions from multiple data sources

Publications (1)

Publication Number Publication Date
WO2006002662A1 true WO2006002662A1 (en) 2006-01-12

Family

ID=34958017

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/007088 WO2006002662A1 (en) 2004-06-30 2004-06-30 Method and apparatus scheduling processing of data portions from multiple data sources

Country Status (1)

Country Link
WO (1) WO2006002662A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999029108A1 (en) * 1997-12-04 1999-06-10 Gte Laboratories Incorporated Method and apparatus for near video on demand
US6088722A (en) * 1994-11-29 2000-07-11 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088722A (en) * 1994-11-29 2000-07-11 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
WO1999029108A1 (en) * 1997-12-04 1999-06-10 Gte Laboratories Incorporated Method and apparatus for near video on demand

Similar Documents

Publication Publication Date Title
EP0734195B1 (en) A delay-minimizing system with guaranteed bandwith for real-time traffic
EP1137226B1 (en) Improved packet scheduling of real time information over a packet network
US6205150B1 (en) Method of scheduling higher and lower priority data packets
US6611519B1 (en) Layer one switching in a packet, cell, or frame-based network
EP0464024B1 (en) Congestion free packet network
KR20170118793A (en) Method of traffic shaping of data frames in a network and its devices and computer programs
US20070076766A1 (en) System And Method For A Guaranteed Delay Jitter Bound When Scheduling Bandwidth Grants For Voice Calls Via A Cable Network
JPH10200549A (en) Cell scheduling device
JP2001519120A (en) Hierarchical packet scheduling method and apparatus
WO2002073865A2 (en) Time based packet scheduling and sorting system
US7142551B2 (en) Hardware implementation of Voice-over-IP playback with support for comfort noise insertion
US6882625B2 (en) Method for scheduling packetized data traffic
KR101119300B1 (en) Residential Ethernet Node Apparatus For Strict Guarantee of Super Frame's Start and Its Frame Processing Method
US7817643B2 (en) System and method for varying the scheduling of real time protocol (RTP) packets
EP2323317A1 (en) Band control method and band control device for node device
EP1461920A1 (en) Method for real time network traffic admission and scheduling
EP1471694A1 (en) Method for dimensioning bandwidth in voice-over-IP networks
WO2006002662A1 (en) Method and apparatus scheduling processing of data portions from multiple data sources
US10530519B2 (en) System and method for packet scheduling
WO2012116761A1 (en) Scheduling for delay sensitive packets
Jabbour et al. SAF-PS: starvation avoidance for priority scheduling
JP4302014B2 (en) Ethernet frame transfer apparatus and method
Ahmed et al. Switched Multi-hop Priority Queued Networks-Influence of priority levels on Soft Real-time Performance
AU2002365600A1 (en) Method for real time network traffic admission and scheduling

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase