WO2007130038A1 - Threshold-based normalized rate earliest delivery first (nredf) for delayed downloading services - Google Patents

Threshold-based normalized rate earliest delivery first (nredf) for delayed downloading services Download PDF

Info

Publication number
WO2007130038A1
WO2007130038A1 PCT/US2006/017267 US2006017267W WO2007130038A1 WO 2007130038 A1 WO2007130038 A1 WO 2007130038A1 US 2006017267 W US2006017267 W US 2006017267W WO 2007130038 A1 WO2007130038 A1 WO 2007130038A1
Authority
WO
WIPO (PCT)
Prior art keywords
requests
request
delivery
content
scheduling
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.)
Ceased
Application number
PCT/US2006/017267
Other languages
French (fr)
Inventor
Yang Guo
Jun Li
Kumar Ramaswamy
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to JP2009509512A priority Critical patent/JP4890610B2/en
Priority to PCT/US2006/017267 priority patent/WO2007130038A1/en
Priority to EP06759094A priority patent/EP2016508A1/en
Priority to KR1020087025844A priority patent/KR101353406B1/en
Priority to US12/226,964 priority patent/US8650293B2/en
Priority to CN2006800544771A priority patent/CN101432730B/en
Priority to BRPI0621617-0A priority patent/BRPI0621617A2/en
Publication of WO2007130038A1 publication Critical patent/WO2007130038A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • 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 present invention generally relates to communications systems and, more particularly, to content delivery and distribution networks and components thereof, e.g., a content server, etc.
  • a content server may distribute different types of content, e.g., files, streaming video, etc., to different clients via a distributed communication network such as the Internet.
  • this process is started by each client sending a request for particular content to the content server.
  • the content server schedules delivery of the requested content to the requesting client, via the distributed communications network.
  • a requesting client with a higher computed normalized rate is scheduled for delivery before a requesting client with a lower computed normalized rate.
  • new client requests may continue to arrive even after the content delivery server has just finished scheduling the previously received (or old) client requests.
  • new client requests arrive those un-finished old client requests are rescheduled together with any new client requests in order to maximize the number of requests that can be served by the content server.
  • the content server begins to spend more and more time just computing the normalized rates and rescheduling old requests instead of actually delivering content. This behavior jeopardizes the scalability of the NREDF approach for serving large numbers of clients.
  • a content delivery system comprises at least one content server that serves a number of client requests.
  • the content server uses a Threshold-Based Normalized Rate Earliest Delivery First (TB-NREDF) scheduler.
  • T-NREDF Threshold-Based Normalized Rate Earliest Delivery First
  • the Threshold-Based Normalized Rate Earliest Delivery First (TB-NREDF) approach defines a look-back threshold, T, which represents the maximum number of old requests that are going to be rescheduled.
  • T represents the maximum number of old requests that are going to be rescheduled.
  • R(t) denote a request set that includes any un-finished old client requests at a time t, together with any new client requests that arrive at the time t.
  • Q be the total number of requests in R(t) and K represent the total number of old requests in R(t).
  • the TB-NREDF approach reschedules at most T old requests, where T ⁇ K ⁇ Q. Thus, the schedules for the remaining K-T old requests are unchanged.
  • FIGs. 1-6 illustrate a prior art content delivery system using a normalized rate earliest delivery first scheduling process
  • FIG. 7 shows an illustrative block diagram of a content delivery system in accordance with the principles of the invention.
  • FIG. 8 shows an illustrative block diagram of a content server embodying the principles of the invention.
  • FIG. 9 shows an illustrative scheduling set in accordance with the principles of the invention.
  • FIG. 10 shows an illustrative flow chart for use in a content server in accordance with the principles of the invention.
  • FIGs. 11-13 show another illustrative embodiment for use in a content server in accordance with the principles of the invention.
  • the content delivery system comprises a content server 20, a communications network 10 and one or more clients, as represented by client 50-1 and 50-2.
  • Content server 20, client 50- 1 and client 50-2 are representative of stored-program-control-based processor platforms.
  • client 50-1 may be a desktop microprocessor-based personal computer and client 50-2 may be a cellular telephone; while content server 20 is a multi-processor-based (high performance) server.
  • communications network 10 is representative of the Internet and comprises both switched and non-switched facilities as known in the art and includes, e.g., routers, edge node devices, etc. (all not shown in FIG. 1).
  • content server 20 is represented as being located somewhere on the Internet with an associated Internet Protocol (IP) address (not shown).
  • communications network 10 may also comprise a content delivery network (CDN) 15.
  • CDN content delivery network
  • a CDN is an overlay network (public or private) designed to securely deliver content from content servers (providers) to clients, while reducing costs and increasing client (end-user) speeds.
  • content server 20 may also be able to source requested content under the control of content server 20.
  • the format of this content may be static content (e.g., web site content, files) or dynamic content (i.e., quickly changing content) and/or streaming audio/video.
  • clients 50-1 and 50-2 send requests for content to content server 20.
  • content server 20 schedules delivery using the NREDF scheduling process and delivers, or sends, the requested content to the respective client via a path through the communications network.
  • content e.g., a file, requested by client 50-1 is provided to client 50-1 via illustrative path 11, which, in this example, also traverses CDN 15.
  • Path 11 represents any facilities and devices of communications network 10 through with the requested content is conveyed to client 50-1.
  • FIG. 2 a high-level block diagram of content server 20 is shown.
  • Content server 20 receives client requests 59 via connection 19, which couples content server 20 to Internet 10.
  • Content server 20 comprises an NREDF scheduler 60, which processes the received client requests 59 and generates a scheduling set, S(t), 70, for providing the requested content to the requesting clients.
  • An illustrative flow chart representing an NREDF scheduling process for use by content server 20 is shown in FIGs. 3 and 4. For the NREDF scheduling process, the following definitions are used:
  • c ⁇ (t) - is the caching capacity at the j-th node, which is a time varying function;
  • B(iJ,t) - is the link status of (ij) at time t, which is a list of transmitting content;
  • T q (tn q , d q , Uq) - is a request represented by content ID, due time and request client ID, and m q - is a content ID with a content size ⁇ m q ⁇ and a real-time streaming rate Hm 9 II, d q - is a due time for request r q , and u q - is the client ID for the client who made the request, from which the geographical location can be identified; Huh) e LJ - is the scheduling set for the request set R(t 0 ), where:
  • SqQbh) - is the schedule (starting) time for request r q to be transported on (jj,J2), this is initialized to a value of 0; and eqdbh) — is the schedule (ending) time for request r q to be transported on
  • step 205 of FIG. 3 for each client request at time, to, in the request set R(to), content server 20 calculates the normalized rate in accordance with equation (1), above.
  • step 210 content server 20 sorts the client requests in descending order of their calculated normalized rates to provide a sorted client request list.
  • step 215 content server 20 schedules the content for delivery in accordance with the order shown in the sorted client request list.
  • FIG. 4 a more detailed flow chart of step 215 is shown. Steps 255 through 275 of FIG. 4 are performed for each request, r q , in the request set R(to) in accordance with the sorted client request list determined in step 210 of FIG. 3.
  • content server 20 identifies a set of servers H q that are available for sourcing the requested content for the request, r q , where the set of servers includes at least one server, e.g., content server 20.
  • content server 20 uses a multi-source shortest path algorithm (e.g., Dijkstra's algorithm as known in the art) to find the shortest path from any server i e H q to u q .
  • content server 20 finds the schedule (s q (j,k), (j,k)eLj and update cache ⁇ Mrft), ieN ⁇ for links and servers on the selected path, respectively, applying constraints on link capacity and cache capacity as known in the art.
  • content server 20 creates a scheduling set for delivering the requested content.
  • Content server 20 will then proceed to deliver content in accordance with scheduling set 81, where the individual requests have been prioritized in terms of the calculated normalized rate as represented by arrow 84, which indicates the direction of descending order.
  • new client requests may arrive at a time, t.
  • content server 20 may have finished delivery of some of the previously requested content, while the remaining client requests are still pending, i.e., are "old.”
  • new requests some of them may have an earlier due time, or a larger requested file size than some of the old requests.
  • the normalized rates of one, or more, of the new requests at time t may be greater than some of the old requests.
  • the K old requests, together with any new requests at the time, t are rescheduled using the NREDF process described above.
  • client 50-1 may be a desktop microprocessor-based personal computer and client 50-2 may be a cellular telephone; while content server 300 is a multi-processor-based (high performance) server.
  • communications network 310 is representative of the Internet and comprises both switched and non-switched facilities as known in the art and includes, e.g., routers, edge node devices, etc. (all not shown in FIG. 7).
  • content server 300 is represented as being located somewhere on the Internet with an associated Internet Protocol (IP) address (not shown).
  • IP Internet Protocol
  • communications network 310 may also comprise a content delivery network (CDN) 315.
  • CDN content delivery network
  • path 311 For example, content, e.g., a file, requested by client 50-1 is provided to client 50-1 via illustrative path 311, which, in this example, also traverses CDN 315.
  • Path 311 represents any facilities and devices of communications network 10 through with the requested content is conveyed to client 50-1.
  • Memory 395 is representative of any storage device, e.g., random-access memory (RAM), read-only memory (ROM), etc.; may be internal and/or external to processor 390; and is volatile and/or non-volatile as necessary.
  • Content server 300 receives client requests 59 via connection 319, which couples content server 320 to Internet 310.
  • content server 300 comprises a TB-NREDF scheduler 360, which processes the received client requests 59 and generates a scheduling set, S(t), 370 for providing the requested content to the requesting clients.
  • TB-NREDF scheduler 360 determines if the total number of all old requests, K, at a time, t, exceeds a threshold value, T. If the total number of all old requests, K, does not exceed the threshold value, T, then, in step 410, TB-NREDF scheduler 360 schedules all new requests at time, t, (i.e., those client requests that have not yet been scheduled) and reschedules the total number of all old requests, K.
  • TB-NREDF scheduler 360 schedules all new requests at time, t, and reschedules T of the old requests. As a result, K-T of the old requests are not rescheduled.
  • FIGs. 11, 12 and 13 Another illustrative embodiment in accordance with the principles of the invention is shown in FIGs. 11, 12 and 13. Again, it is assumed that at a time, to, an initial set of requests, R(t 0 ), has been scheduled for delivery resulting in an associated scheduling set. At a subsequent time, t, K old requests still remain and one, or more, new requests have arrived. The total number of requests in the request set R(t) is equal to Q, which is equal to the number of new requests plus the K old requests.
  • a NULL value for the parameter r look - back means that no look-back request has been set; while a non-NULL value for this parameter represents that a look-back request has been set.
  • the parameter STATEi Ook - back is defined to be the associated look-back system state.
  • the parameter, STATEi OO k-ba ck contains the states of the links and edge servers after ri ook . b ack is executed.
  • STATEi OOk - ba c k ⁇ ⁇ Cj ⁇ , ⁇ Cj ⁇ , ⁇ b(i, j) ⁇ , ⁇ B (i,j) ⁇ ⁇ (defined earlier) .
  • FIG. 11 illustrates a scheduling set 383 at time t.
  • one of the requests is designated as the n OOk -back, which delineates a boundary 86 between those requests that will not be rescheduled and those old requests that will be rescheduled.
  • FIG. 12 Another illustrative flow chart for a TB-NREDF process in accordance with the principles of the invention is shown in FIG. 12.
  • step 505 TB- NREDF scheduler 360 marks any new requests as re-schedulable requests.
  • TB- NREDF scheduler 360 constructs a request set R(t) that includes all re-schedulable requests.
  • TB-NREDF scheduler 360 determines the current value for rj 00 k- ba ok- If the value for the parameter ru, Ok - b ack is NULL, this means that no look-back request has been set. In this case, the TB-NREDF process reverts back to ordinary NREDF and, in step 530, TB- NREDF scheduler 360 schedules all new requests at time, t, (i.e., those client requests that have not yet been scheduled) and reschedules the total number of all old requests, K.
  • TB-NREDF scheduler 360 installs STATEiook-back as the current system state in order to start at request and, in step 530, TB-NREDF scheduler 360 schedules all new requests at time, t, and reschedules T of the old requests. As a result, K-T of the old requests are not rescheduled.
  • pseudo-code is shown in FIG. 13. It can be observed from steps 13, 14 and 15 of the pseudo-code of FIG. 13 that if the total number of requests, Q, (new requests plus old requests) is greater than the threshold value T, and the current request value, q, is less than, or equal to (Q-T) then a request is designated as the look-back request in step 14 and the corresponding state is stored in step 15.
  • a distributed communications network may include both wired and wireless connections.
  • the inventive concept is also applicable to stationary or mobile content servers. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A content delivery system comprises at least one content server that servers a number of client requests. The content server uses a Threshold-Based Normalized Rate Earliest Delivery First (TB-NREDF) scheduler. The TB-NREDF scheduler imposes a threshold value, or limit, on the number of rescheduling requests.

Description

THRESHOLD-BASED NORMALIZED RATE EARLIEST DELIVERY FIRST (NREDF) FOR DELAYED DOWNLOADING SERVICES
BACKGROUND OF THE INVENTION
[0001] The present invention generally relates to communications systems and, more particularly, to content delivery and distribution networks and components thereof, e.g., a content server, etc.
[0002] In a content delivery system, a content server may distribute different types of content, e.g., files, streaming video, etc., to different clients via a distributed communication network such as the Internet. Typically, this process is started by each client sending a request for particular content to the content server. As each request is received, the content server schedules delivery of the requested content to the requesting client, via the distributed communications network.
[0003] One approach for scheduling delivery of content to a client (or user) via a distributed communications network is the "Normalized Rate Earliest Delivery First" (NREDF) approach (also sometimes referred to in shorter form as "NRED"). In this approach, the content server computes a normalized rate for the delivery of particular content using an estimated "shortest path" between the content server and each requesting client. The "shortest path" is that path through the distributed communications network that provides the earliest delivery time of the requested content to the requesting client. As part of this process, the content server may identify other servers in the network that can source the requested content for delivery. The content server then schedules delivery of all the received client requests in the descending order of their associated computed normalized rates. As such, a requesting client with a higher computed normalized rate is scheduled for delivery before a requesting client with a lower computed normalized rate. However, new client requests may continue to arrive even after the content delivery server has just finished scheduling the previously received (or old) client requests. In this situation, as new client requests arrive those un-finished old client requests are rescheduled together with any new client requests in order to maximize the number of requests that can be served by the content server. [0004] Unfortunately, as the client request rate increases, the content server begins to spend more and more time just computing the normalized rates and rescheduling old requests instead of actually delivering content. This behavior jeopardizes the scalability of the NREDF approach for serving large numbers of clients.
SUMMARY OF THE INVENTION
[0005] We have observed that a content server using a Normalized Rate Earliest Delivery First (NREDF) scheduler does not scale well as the client request rate increases since the computation overhead to reschedule old requests in admitting new requests also increases. Therefore, and in accordance with the principles of the invention, a content server using a Normalized Rate Earliest Delivery First (NREDF) scheduler limits the number of old requests that are rescheduled to a threshold value. [0006] In an illustrative embodiment of the invention, a content delivery system comprises at least one content server that serves a number of client requests. The content server uses a Threshold-Based Normalized Rate Earliest Delivery First (TB-NREDF) scheduler. The TB-NREDF scheduler imposes a threshold value, or limit, on the number of rescheduling requests. Thus, the content server has the ability to limit rescheduling overhead, which also allows the content server to tradeoff scalability against system performance.
[0007] In another illustrative embodiment of the invention, the Threshold-Based Normalized Rate Earliest Delivery First (TB-NREDF) approach defines a look-back threshold, T, which represents the maximum number of old requests that are going to be rescheduled. For example, let R(t) denote a request set that includes any un-finished old client requests at a time t, together with any new client requests that arrive at the time t. Let Q be the total number of requests in R(t) and K represent the total number of old requests in R(t). The TB-NREDF approach reschedules at most T old requests, where T < K < Q. Thus, the schedules for the remaining K-T old requests are unchanged.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIGs. 1-6 illustrate a prior art content delivery system using a normalized rate earliest delivery first scheduling process;
[0009] FIG. 7 shows an illustrative block diagram of a content delivery system in accordance with the principles of the invention; [0010] FIG. 8 shows an illustrative block diagram of a content server embodying the principles of the invention; [0011] FIG. 9 shows an illustrative scheduling set in accordance with the principles of the invention;
[0012] FIG. 10 shows an illustrative flow chart for use in a content server in accordance with the principles of the invention; and [0013] FIGs. 11-13 show another illustrative embodiment for use in a content server in accordance with the principles of the invention.
DETAILED DESCRIPTION
[0014] Other than the inventive concept, the elements shown in the figures are well known and will not be described in detail. Also, familiarity with networking (and protocols used therein) is assumed and not described in detail herein. For example, other than the inventive concept, familiarity with the Internet Protocol (IP), Real-time Transport Protocol (RTP), and the Transmission Control Protocol (TCP) is assumed. Likewise, other than the inventive concept, familiarity with network components such as servers, edge nodes and clients is assumed. Similarly, other than the inventive concept, formatting and encoding methods such as Moving Picture Expert Group (MPEG)-2 Systems Standard (ISO/IEC 13818-1) and H.264: International Telecommunication Union, "Recommendation ITU-T H.264: Advanced Video Coding for Generic Audiovisual Services," ITU-T, 2003, for generating bit streams are well-known and not described herein. In this regard, it should be noted that only that portion of the inventive concept that is different from known server/client systems is described below and shown in the figures. It should also be noted that the inventive concept may be implemented using conventional programming techniques, which, as such, will also not be described herein. Finally, like-numbers on the figures represent similar elements. [0015] Before describing the inventive concept, a brief description of the Normalized Rate Earliest Delivery First (NREDF) scheduling process will first be provided. In this regard, a content delivery system using the NREDF scheduling process is shown in FIG. 1. The content delivery system comprises a content server 20, a communications network 10 and one or more clients, as represented by client 50-1 and 50-2. Content server 20, client 50- 1 and client 50-2 are representative of stored-program-control-based processor platforms. For example, client 50-1 may be a desktop microprocessor-based personal computer and client 50-2 may be a cellular telephone; while content server 20 is a multi-processor-based (high performance) server. Illustratively, communications network 10 is representative of the Internet and comprises both switched and non-switched facilities as known in the art and includes, e.g., routers, edge node devices, etc. (all not shown in FIG. 1). In this example, and as can be observed from FIG. 1, content server 20 is represented as being located somewhere on the Internet with an associated Internet Protocol (IP) address (not shown). In addition, and as illustrated in FIG. 1, communications network 10 may also comprise a content delivery network (CDN) 15. As known in the art, a CDN is an overlay network (public or private) designed to securely deliver content from content servers (providers) to clients, while reducing costs and increasing client (end-user) speeds. As such, other servers in the CDN may also be able to source requested content under the control of content server 20. The format of this content may be static content (e.g., web site content, files) or dynamic content (i.e., quickly changing content) and/or streaming audio/video. In the context of FIG. 1, clients 50-1 and 50-2 send requests for content to content server 20. In response to these requests, content server 20 schedules delivery using the NREDF scheduling process and delivers, or sends, the requested content to the respective client via a path through the communications network. For example, content, e.g., a file, requested by client 50-1 is provided to client 50-1 via illustrative path 11, which, in this example, also traverses CDN 15. Path 11 represents any facilities and devices of communications network 10 through with the requested content is conveyed to client 50-1. [0016] Turning now to FIG. 2, a high-level block diagram of content server 20 is shown. Content server 20 receives client requests 59 via connection 19, which couples content server 20 to Internet 10. Content server 20 comprises an NREDF scheduler 60, which processes the received client requests 59 and generates a scheduling set, S(t), 70, for providing the requested content to the requesting clients. An illustrative flow chart representing an NREDF scheduling process for use by content server 20 is shown in FIGs. 3 and 4. For the NREDF scheduling process, the following definitions are used:
N = frij, j=0,... ,JJ- is the network node set, which includes one content server Q=O), / edge servers Q=I,..., I) and [/ clients Q = 1+1,..., 1+U=J); cι(t) - is the caching capacity at the j-th node, which is a time varying function;
Q(t) - is the set of cache status at the j-th node at time t, i.e., a list of cached content;
L = (Qi, J2), hh e NJ - is the network link set, where (J1J2) is the link from nodej; to node j2; b(ij,t) - is the link capacity of (ij), which is a time varying function;
B(iJ,t) - is the link status of (ij) at time t, which is a list of transmitting content; R(to)={rφ q=l...QJ - is the request set, which represents all requests made by clients to the content server by time t = to, where:
Tq = (tnq, dq, Uq) - is a request represented by content ID, due time and request client ID, and mq - is a content ID with a content size \mq\ and a real-time streaming rate Hm9II, dq - is a due time for request rq, and uq - is the client ID for the client who made the request, from which the geographical location can be identified;
Figure imgf000006_0001
Huh) e LJ - is the scheduling set for the request set R(t0), where:
SqQbh) - is the schedule (starting) time for request rq to be transported on (jj,J2), this is initialized to a value of 0; and eqdbh) — is the schedule (ending) time for request rq to be transported on
(jhhh and if the requested content is transmitted at the rate of \\mq\\, then eq(iι,i2) = SqQiJ2) + \mq\ I Hm9II; and
Normalized rate v*q(t) of request rq , where: v*q(t) = lmql / (dq-t). (1)
[0017] In step 205 of FIG. 3, for each client request at time, to, in the request set R(to), content server 20 calculates the normalized rate in accordance with equation (1), above. In step 210, content server 20 sorts the client requests in descending order of their calculated normalized rates to provide a sorted client request list. In step 215, content server 20 schedules the content for delivery in accordance with the order shown in the sorted client request list. Referring now to FIG. 4, a more detailed flow chart of step 215 is shown. Steps 255 through 275 of FIG. 4 are performed for each request, rq, in the request set R(to) in accordance with the sorted client request list determined in step 210 of FIG. 3. As a result, the schedule for a particular request rq, (sq(j,k), (j,k) e LJ, is made based on the previously made scheduling vectors fsx(j,k); x=0,...,q-l}. In particular, in step 255 of FIG. 4, content server 20 selects the next request, rq = (mq, dq, uq), for scheduling from the sorted client request list. In step 260, content server 20 identifies a set of servers Hq that are available for sourcing the requested content for the request, rq, where the set of servers includes at least one server, e.g., content server 20. (The ability for a content server to identify a set of servers available to source content for a client request is known in the art and not described herein.) In this set of servers, Hq, each server i has mq e MtftO, a source of content mq for request rq, where ti = max[sp(j,i), p<q], the last time cache on server i got updated. In step 265, content server 20 finds the shortest path that provides the earliest delivery time of the requested content mq to destination uq. For example, content server 20 uses a multi-source shortest path algorithm (e.g., Dijkstra's algorithm as known in the art) to find the shortest path from any server i e Hq to uq. In step 270, content server 20 finds the schedule (sq(j,k), (j,k)eLj and update cache {Mrft), ieN} for links and servers on the selected path, respectively, applying constraints on link capacity and cache capacity as known in the art. (It should be noted that if max[sq(j,k), (j,k) e L] > dq, then the scheduling attempt has failed to find a scheduling set for R(t0) and the process aborts.) Finally, in step 275, a check is made if all requests have been processed or not, i.e., does q = Q. If there are more requests to schedule, i.e., q < Q, the value of q is incremented, i.e., q = q+1, and execution returns to step 255 for the next request in the sorted client request list. However, if all requests have been scheduled, then execution ends.
[0018] As a result of scheduling the requests in request set R(to), content server 20 creates a scheduling set for delivering the requested content. An illustrative representation of a scheduling set 81 for Q requests at time, t0, is shown in FIG. 5. Content server 20 will then proceed to deliver content in accordance with scheduling set 81, where the individual requests have been prioritized in terms of the calculated normalized rate as represented by arrow 84, which indicates the direction of descending order.
[0019] However, after time to, new client requests may arrive at a time, t, In addition, at this time, t, content server 20 may have finished delivery of some of the previously requested content, while the remaining client requests are still pending, i.e., are "old." In terms of the one, or more, new requests, some of them may have an earlier due time, or a larger requested file size than some of the old requests. As such, it may be the case that the normalized rates of one, or more, of the new requests at time t may be greater than some of the old requests. In order to maximize the number of requests that can be served by content server 20, the K old requests, together with any new requests at the time, t, are rescheduled using the NREDF process described above. Hence, a new request set at time t, R(t), is determined and the process illustrated in FIGs. 3 and 4 is repeated to yield a new scheduling set 83 for delivery of the content. This is illustrated in FIG. 6, where one, or more, new requests 82, have been scheduled, and there are still K old requests pending in the new scheduling set 83. For illustration purposes only, the delivery of previously scheduled client requests is shown in dashed line form in FIG. 6 since these have been dropped from the new scheduling set 83. [0020] Unfortunately, as the client request rate increases, content server 20 begins to spend more and more time just computing the normalized rates and rescheduling old requests instead of actually delivering content. Thus the computation time required to admit new requests increases proportionally. This behavior jeopardizes the scalability of the NREDF approach for serving large numbers of clients. Therefore, and in accordance with the principles of the invention, a content server using a Normalized Rate Earliest Delivery First (NREDF) scheduler limits the number of old requests that are rescheduled to a threshold value. [0021] Referring now to FIG. 7, an illustrative content delivery system in accordance with the principles of the invention is shown. The content delivery system comprises a content server 300, a communications network 310 and one or more clients, as represented by client 50-1 and 50-2. Content server 300, client 50-1 and client 50-2 are representative of stored-program-control-based processor platforms. For example, client 50-1 may be a desktop microprocessor-based personal computer and client 50-2 may be a cellular telephone; while content server 300 is a multi-processor-based (high performance) server. Illustratively, communications network 310 is representative of the Internet and comprises both switched and non-switched facilities as known in the art and includes, e.g., routers, edge node devices, etc. (all not shown in FIG. 7). In this example, and as can be observed from FIG. 7, content server 300 is represented as being located somewhere on the Internet with an associated Internet Protocol (IP) address (not shown). In addition, and as illustrated in FIG. 7, communications network 310 may also comprise a content delivery network (CDN) 315. Other than the inventive concept, a CDN is an overlay network (public or private) designed to securely deliver content from content servers (providers) to clients, while reducing costs and increasing client (end-user) speeds as known in the art. As such, other servers in the CDN may also be able to source requested content under the control of content server 300. The format of this content may be static content (e.g., web site content, files) or dynamic content (i.e., quickly changing content) and/or streaming audio/video. In the context of FIG. 7, clients 50-1 and 50-2 send requests for content to content server 300. In response to these requests, and in accordance with the principles of the invention, content server 300 schedules delivery using a Threshold-Based Normalized Rate Earliest Delivery First (TB-NREDF) scheduler. The TB-NREDF scheduler imposes a threshold value, or limit, on the number of rescheduling requests. Thus, content server 300 has the ability to limit rescheduling overhead, which also allows the content server to tradeoff scalability against system performance. In accordance with the TB-NREDF scheduling process, content server 300 causes the requested content to be delivered to the respective client via a path through the communications network. For example, content, e.g., a file, requested by client 50-1 is provided to client 50-1 via illustrative path 311, which, in this example, also traverses CDN 315. Path 311 represents any facilities and devices of communications network 10 through with the requested content is conveyed to client 50-1.
[0022] A high-level block diagram of content server 300 in accordance with the principles of the invention is shown in FIG. 8. Illustratively, content server 300 is a software-based processor as represented by processor 390 and memory 395 shown in the form of dashed boxes in FIG. 8. In this context, computer programs, or software, are stored in memory 395 for execution by processor 390. The latter is representative of one or more stored-program control processors and does not have to be dedicated to the TB-NREDF scheduler function, e.g., processor 390 may also control other functions of content server 300. Memory 395 is representative of any storage device, e.g., random-access memory (RAM), read-only memory (ROM), etc.; may be internal and/or external to processor 390; and is volatile and/or non-volatile as necessary. Content server 300 receives client requests 59 via connection 319, which couples content server 320 to Internet 310. In accordance with the principles of the invention, content server 300 comprises a TB-NREDF scheduler 360, which processes the received client requests 59 and generates a scheduling set, S(t), 370 for providing the requested content to the requesting clients.
[0023] Initially, at a time, to, content server 300 schedules requests for delivery in accordance with the NREDF process described in the flow charts of FIGs. 3 and 4, above. However, once an initial set of requests has been scheduled, and in accordance with the principles of the invention, content server 300 limits the number of rescheduling requests. For example, at a time, t, one, or more, new requests 82 have arrived and K old requests remain to be delivered. The Threshold-Based Normalized Rate Earliest Delivery First (TB- NREDF) process defines a look-back threshold, T, which represents the maximum number of old requests that are going to be rescheduled. As such, the TB-NREDF approach reschedules at most T old requests, where T < K. Thus, the schedules for the remaining K-T old requests are unchanged. This is illustrated in FIG. 9 for a scheduling set 381 at a time, t, where t > t0. Particular values for T can be determined empirically depending upon the particular system.
[0024] An illustrative flow chart for a TB-NREDF process in accordance with the principles of the invention is shown in FIG. 10. In step 405, TB-NREDF scheduler 360 determines if the total number of all old requests, K, at a time, t, exceeds a threshold value, T. If the total number of all old requests, K, does not exceed the threshold value, T, then, in step 410, TB-NREDF scheduler 360 schedules all new requests at time, t, (i.e., those client requests that have not yet been scheduled) and reschedules the total number of all old requests, K. However, if the total number of all old requests, K, at time, t, does exceed the threshold value T, then, in step 415, TB-NREDF scheduler 360 schedules all new requests at time, t, and reschedules T of the old requests. As a result, K-T of the old requests are not rescheduled.
[0025] Another illustrative embodiment in accordance with the principles of the invention is shown in FIGs. 11, 12 and 13. Again, it is assumed that at a time, to, an initial set of requests, R(t0), has been scheduled for delivery resulting in an associated scheduling set. At a subsequent time, t, K old requests still remain and one, or more, new requests have arrived. The total number of requests in the request set R(t) is equal to Q, which is equal to the number of new requests plus the K old requests. In this example, content server 300 uses two additional parameters: riook-bacfo and STATElook-back- The parameter rlook-back is defined to be that request that represents the boundary in the scheduling set beyond which old requests will be rescheduled, i.e., this is referred to herein as the look-back request. The request below the look-back request are defined as non re-schedulable requests; while the requests above the look-back request are defined as re-schedulable requests. Re-schedulable requests will be rescheduled together with new requests upon their arrival; while non re-schedulable requests' schedules are fixed, and they won't be rescheduled again. A NULL value for the parameter r look-back means that no look-back request has been set; while a non-NULL value for this parameter represents that a look-back request has been set. In comparison, the parameter STATEiOok-back is defined to be the associated look-back system state. In particular, the parameter, STATEiOOk-back, contains the states of the links and edge servers after riook.back is executed. Hence STATEiOOk-back = { { Cj } , { Cj } , { b(i, j) } , { B (i,j) } } (defined earlier) .
[0026] Turning now to FIG. 11, this figure illustrates a scheduling set 383 at time t. As can be observed from FIG. 11, one of the requests is designated as the nOOk-back, which delineates a boundary 86 between those requests that will not be rescheduled and those old requests that will be rescheduled. Another illustrative flow chart for a TB-NREDF process in accordance with the principles of the invention is shown in FIG. 12. In step 505, TB- NREDF scheduler 360 marks any new requests as re-schedulable requests. In step 510, TB- NREDF scheduler 360 constructs a request set R(t) that includes all re-schedulable requests. In step 515, TB-NREDF scheduler 360 determines the current value for rj00k-baok- If the value for the parameter ru,Ok-back is NULL, this means that no look-back request has been set. In this case, the TB-NREDF process reverts back to ordinary NREDF and, in step 530, TB- NREDF scheduler 360 schedules all new requests at time, t, (i.e., those client requests that have not yet been scheduled) and reschedules the total number of all old requests, K. However, if the value for the parameter rι0Ok-back is not NULL, then, in step 520, TB-NREDF scheduler 360 determines if the designated look-back request has been delivered, i.e., is its service finished. If the designated look-back request has already been delivered then all new requests are scheduled and all old requests are rescheduled in step 530. It should be noted that since the designated look-back request has finished, the number of un-finished old requests will be less than T. On the other hand, if, in step 520, TB-NREDF scheduler 360 determines that the designated look-back request has not finished then TB-NREDF scheduler 360 processes the request set. In particular, in step 525, TB-NREDF scheduler 360 installs STATEiook-back as the current system state in order to start at request
Figure imgf000011_0001
and, in step 530, TB-NREDF scheduler 360 schedules all new requests at time, t, and reschedules T of the old requests. As a result, K-T of the old requests are not rescheduled.
[0027] As further illustration of the flow chart of FIG. 12, pseudo-code is shown in FIG. 13. It can be observed from steps 13, 14 and 15 of the pseudo-code of FIG. 13 that if the total number of requests, Q, (new requests plus old requests) is greater than the threshold value T, and the current request value, q, is less than, or equal to (Q-T) then a request is designated as the look-back request in step 14 and the corresponding state is stored in step 15.
[0028] As described above, a content server bounds the number of rescheduling requests - thus providing the ability to server a higher client request rate. This was illustrated in the description above in the context of a content server that uses a TB-NREDF process. In this example, a content server using the TB-NREDF process provides the ability to server a higher client request rate than a content server using the unbounded NREDF process illustrated in FIGs. 1-6. However, it should be noted that the TB-NREDF process may degrade system performance by admitting fewer requests than the NREDF process since some old requests with a smaller normalized rate than a new request may not be rescheduled. Regardless, TB-NREDF enables a content server to limit rescheduling overhead, which also allows the content server to tradeoff scalability against system performance.
[0029] In view of the above, the foregoing merely illustrates the principles of the invention and it will thus be appreciated that those skilled in the art will be able to devise numerous alternative arrangements which, although not explicitly described herein, embody the principles of the invention and are within its spirit and scope. For example, although illustrated in the context of separate functional elements, these functional elements may be embodied in one or more integrated circuits (ICs). Similarly, although shown as separate elements, any or all of the elements may be implemented in a stored-program-controlled processor, e.g., a digital signal processor, which executes associated software, e.g., corresponding to one or more of the steps shown in, e.g., FIGs. 10, 12 and 13, etc. Further, the principles of the invention are applicable to other types of communications systems, e.g., satellite, Wireless-Fidelity (Wi-Fi), cellular, Bluetooth etc., and combinations thereof. For example, a distributed communications network may include both wired and wireless connections. Indeed, the inventive concept is also applicable to stationary or mobile content servers. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.

Claims

1. A method for use in providing a service, the method comprising: receiving at least one new request for the service; and scheduling the at least one new request and any old requests for delivery such that the number of old requests that are rescheduled are limited to a threshold value.
2. The method of claim 1, wherein the scheduling step comprises: scheduling the at least one new request for delivery; determining a number of old requests, K; and rescheduling at most the threshold value of old requests for delivery if the number of old requests is greater than the threshold value.
3. The method of claim 1, wherein the at least one new request and any old requests form a request set and the scheduling step comprises: determining if a look-back request has been set in the request set; if no look-back request has been set, then determining a scheduling set such that all old requests are rescheduled; if a look-back request has been set and the look-back request has not been delivered, then rescheduling at most the threshold value of old requests for delivery.
4. The method of claim 1, wherein the scheduling step performs threshold-based Threshold-Based Normalized Rate Earliest Delivery First (TB-NREDF).
5. The method of claim 1, wherein the service delivers content.
6. The method of claim 5, wherein the content is a file.
7. The method of claim 5, wherein the content is streaming video.
8. Apparatus for use in providing services to requesting clients, the apparatus comprising: a processor for providing a scheduling set for delivering services to requesting clients by scheduling at least one new request for the service and rescheduling any old requests for delivery such that the number of old requests that are rescheduled are limited to a threshold value; and a memory for storing the provided scheduling set.
9. The apparatus of claim 8, wherein the processor (a) schedules the at least one new request for delivery, (b) determines a number of old requests, K, and (c) reschedules at most the threshold value of old requests for delivery if the number of old requests is greater than the threshold value.
10. The apparatus of claim 8, wherein the at least one new request and any old requests form a request set and the processor (a) determines if a look-back request has been set in the request set, (b) if no look-back request has been set, determines a scheduling set such that all old requests are rescheduled, and (c) if a look-back request has been set and the look-back request has not been delivered, then reschedules at most the threshold value of old requests for delivery.
11. The apparatus of claim 8, wherein the processor performs threshold-based Threshold-Based Normalized Rate Earliest Delivery First (TB-NREDF).
12. The apparatus of claim 8, wherein the services deliver content.
13. The apparatus of claim 12, wherein the content is a file.
14. The apparatus of claim 12, wherein the content is streaming video.
15. A computer-readable medium having computer-executable instructions for a processor-based system such that when executed the processor-based system performs a method for scheduling delivery in response to requests for one or more services, the method comprising: receiving at least one new request for the service; and scheduling the at least one new request and any old requests for delivery such that the number of old requests that are rescheduled are limited to a threshold value.
16. The computer-readable medium of claim 15, wherein the scheduling step comprises: scheduling the at least one new request for delivery; determining a number of old requests, K; and rescheduling at most the threshold value of old requests for delivery if the number of old requests is greater than the threshold value.
17. The computer-readable medium of claim 15, wherein the at least one new request and any old requests form a request set and the scheduling step comprises: determining if a look-back request has been set in the request set; if no look-back request has been set, then determining a scheduling set such that all old requests are rescheduled; if a look-back request has been set and the look-back request has not been delivered, then rescheduling at most the threshold value of old requests for delivery.
18. The computer-readable medium of claim 15, wherein the scheduling step performs threshold-based Threshold-Based Normalized Rate Earliest Delivery First (TB-
NREDF).
19. The computer-readable medium of claim 15, wherein the one or more services deliver content.
20. The computer-readable medium of claim 19, wherein the content is a file.
21. The computer-readable medium of claim 19, wherein the content is streaming video.
PCT/US2006/017267 2006-05-05 2006-05-05 Threshold-based normalized rate earliest delivery first (nredf) for delayed downloading services Ceased WO2007130038A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2009509512A JP4890610B2 (en) 2006-05-05 2006-05-05 Threshold Based Normalized Rate Arriest Delivery First (NREDF) for Lazy Download Service
PCT/US2006/017267 WO2007130038A1 (en) 2006-05-05 2006-05-05 Threshold-based normalized rate earliest delivery first (nredf) for delayed downloading services
EP06759094A EP2016508A1 (en) 2006-05-05 2006-05-05 Threshold-based normalized rate earliest delivery first (nredf) for delayed downloading services
KR1020087025844A KR101353406B1 (en) 2006-05-05 2006-05-05 Threshold-based normalized rate earliest delivery first(nredf) for delayed down-loading services
US12/226,964 US8650293B2 (en) 2006-05-05 2006-05-05 Threshold-based normalized rate earliest delivery first (NREDF) for delayed down-loading services
CN2006800544771A CN101432730B (en) 2006-05-05 2006-05-05 Method and apparatus for scheduling service requests for use in providing services
BRPI0621617-0A BRPI0621617A2 (en) 2006-05-05 2006-05-05 first early threshold-based normalized rate (nredf) transmission for delayed loading services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2006/017267 WO2007130038A1 (en) 2006-05-05 2006-05-05 Threshold-based normalized rate earliest delivery first (nredf) for delayed downloading services

Publications (1)

Publication Number Publication Date
WO2007130038A1 true WO2007130038A1 (en) 2007-11-15

Family

ID=37691892

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/017267 Ceased WO2007130038A1 (en) 2006-05-05 2006-05-05 Threshold-based normalized rate earliest delivery first (nredf) for delayed downloading services

Country Status (7)

Country Link
US (1) US8650293B2 (en)
EP (1) EP2016508A1 (en)
JP (1) JP4890610B2 (en)
KR (1) KR101353406B1 (en)
CN (1) CN101432730B (en)
BR (1) BRPI0621617A2 (en)
WO (1) WO2007130038A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015114466A3 (en) * 2014-01-28 2015-11-26 King Abdullah University Of Science And Technology Buffer sizing for multi-hop networks

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8467719B2 (en) * 2008-08-29 2013-06-18 General Motors Llc Method and system for the delivery of user requested program content using broadcast channels
CN101616187B (en) * 2009-07-21 2012-01-25 中兴通讯股份有限公司 User access control system, method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system
US20020062372A1 (en) * 2000-08-04 2002-05-23 Jack Hong High performance server farm with tagging and pipelining
WO2003085924A1 (en) * 2002-04-05 2003-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Object transfer control in a communications network
US20030217113A1 (en) * 2002-04-08 2003-11-20 Microsoft Corporation Caching techniques for streaming media

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923875A (en) 1995-08-28 1999-07-13 Nec Corporation Load distributing job processing system
JP2998648B2 (en) 1995-08-28 2000-01-11 日本電気株式会社 Load balancing job processing system
JP2005513616A (en) * 2001-12-13 2005-05-12 トムソン ライセンシング ソシエテ アノニム Method and apparatus for transferring information using a cached server
US20030156547A1 (en) * 2002-02-15 2003-08-21 Exanet. Inc. System and method for handling overload of requests in a client-server environment
US7272144B2 (en) * 2002-06-26 2007-09-18 Arris International, Inc. Method and apparatus for queuing data flows
CN1151635C (en) * 2002-07-09 2004-05-26 华中科技大学 General dispatching system based on content adaptive for colony network service
JP2005184165A (en) * 2003-12-17 2005-07-07 Hitachi Ltd Traffic control device and service system using the same
US20060080486A1 (en) * 2004-10-07 2006-04-13 International Business Machines Corporation Method and apparatus for prioritizing requests for information in a network environment
JP4343119B2 (en) * 2005-01-19 2009-10-14 富士通株式会社 RELAY CONTROL PROGRAM, ITS RECORDING MEDIUM, RELAY CONTROL METHOD, AND RELAY CONTROL DEVICE

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system
US20020062372A1 (en) * 2000-08-04 2002-05-23 Jack Hong High performance server farm with tagging and pipelining
WO2003085924A1 (en) * 2002-04-05 2003-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Object transfer control in a communications network
US20030217113A1 (en) * 2002-04-08 2003-11-20 Microsoft Corporation Caching techniques for streaming media

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015114466A3 (en) * 2014-01-28 2015-11-26 King Abdullah University Of Science And Technology Buffer sizing for multi-hop networks

Also Published As

Publication number Publication date
KR101353406B1 (en) 2014-01-20
CN101432730B (en) 2012-04-25
JP4890610B2 (en) 2012-03-07
CN101432730A (en) 2009-05-13
BRPI0621617A2 (en) 2011-12-13
US8650293B2 (en) 2014-02-11
EP2016508A1 (en) 2009-01-21
JP2009536498A (en) 2009-10-08
US20090113054A1 (en) 2009-04-30
KR20090015029A (en) 2009-02-11

Similar Documents

Publication Publication Date Title
Bolot et al. Scalable feedback control for multicast video distribution in the internet
US7325037B2 (en) Method and system for client-based adaptive networking system
CN105164982B (en) Manage bandwidth allocation between streams by assigning drop priorities
EP2698028B1 (en) Qoe-aware traffic delivery in cellular networks
US20030126277A1 (en) Apparatus and method for providing multimedia streaming service by using point-to-point connection
US20070208737A1 (en) Cache Server Network And Method Of Scheduling The Distribution Of Content Files Within The Same
US20030033467A1 (en) Method and apparatus for resource allocation in network router and switch
US8855035B2 (en) Access control for a service subscription
EP2859730A1 (en) Stabilization of adaptive streaming video clients through rate limiting
US8341265B2 (en) Hybrid server overload control scheme for maximizing server throughput
EP1547343A1 (en) Communication system and method of managing a streaming session
US7627549B1 (en) Methods and systems for transferring data over electronics networks
WO2007022789A1 (en) Aggregated resource reservation for data flows
US8650293B2 (en) Threshold-based normalized rate earliest delivery first (NREDF) for delayed down-loading services
El-Marakby et al. Towards managed real-time communications in the Internet environment
US11627358B2 (en) Communication entity and a method for transmitting a video data stream
Chakareski In-network packet scheduling and rate allocation: a content delivery perspective
Manvi et al. Agent-based subsystem for multimedia communications
WO2008074415A1 (en) Method for distributing non real-time media in a non real-time media distribution system, a related system, a related media server and media client
US20040105385A1 (en) Device for accessing a telecommunication network for the selective degradation of data flows
JP5749516B2 (en) Video distribution system, IP (Internet Protocol) network device, and video distribution program
JP3895603B2 (en) Multicast system
Chan et al. QoS negotiations and real-time renegotiations for multimedia communications
White A framework for quality of service support of on-demand multicast services in the internet
Muntean et al. Feedback-controlled traffic shaping for multimedia transmissions in a real-time client-server system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06759094

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 8411/DELNP/2008

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 1020087025844

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 12226964

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2009509512

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200680054477.1

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2006759094

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006759094

Country of ref document: EP

ENP Entry into the national phase

Ref document number: PI0621617

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20081028