WO2020193429A1 - Procédé d'obtention d'un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu - Google Patents
Procédé d'obtention d'un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu Download PDFInfo
- Publication number
- WO2020193429A1 WO2020193429A1 PCT/EP2020/057862 EP2020057862W WO2020193429A1 WO 2020193429 A1 WO2020193429 A1 WO 2020193429A1 EP 2020057862 W EP2020057862 W EP 2020057862W WO 2020193429 A1 WO2020193429 A1 WO 2020193429A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- network
- client device
- data
- score
- segment
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000005540 biological transmission Effects 0.000 claims abstract description 64
- 102100032305 Bcl-2 homologous antagonist/killer Human genes 0.000 claims abstract description 4
- 101000798320 Homo sapiens Bcl-2 homologous antagonist/killer Proteins 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 38
- 230000002776 aggregation Effects 0.000 claims description 17
- 238000004220 aggregation Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 230000015556 catabolic process Effects 0.000 claims description 10
- 238000006731 degradation reaction Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000007423 decrease Effects 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 208000028257 Joubert syndrome with oculorenal defect Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
Definitions
- the present invention relates to a method of obtaining a data segment by a client device capable of communicating with a plurality of content delivery networks.
- the invention advantageously (but not exclusively) finds an application in the context of playing a multimedia stream comprising such data segments.
- a content delivery network (Content Delivery Network, abbreviated as CDN in the following) comprises one or more servers networked through the Internet and which cooperate in order to make content or data available to client devices. owned by users.
- the same data segment may be available from several competing CDNs.
- a client device can have the choice between several CDNs to obtain this segment of data.
- the invention aims to allow a client device to choose a CDN from which to obtain a data segment among several available CDNs, taking into account the data transmission conditions between these CDNs and the client device, but in a more flexible than with the approach mentioned in the introduction.
- a method for obtaining a data segment by a client device capable of communicating with a plurality of content distribution networks comprising steps of: - for each network of the plurality of networks, calculating a score associated with the indicative network a quality of data transmission from the network to the client device,
- the random selection being adapted so that a probability of drawing a network from the plurality associated with a score indicative of a first transmission quality is greater than a probability of drawing a network of the plurality associated with a score indicative of a second transmission quality lower than the first transmission quality
- the method according to the first aspect of the invention can also include the following characteristics or steps, taken alone or combined with one another when technically possible.
- the random draw may depend on an exploration parameter, the random draw then being suitable for:
- the method may further comprise steps of
- At least two networks of the plurality, or even all of the networks of the plurality, preferably have non-zero probabilities of being drawn.
- the steps of calculating score, random selection, and solicitation are preferably repeated for several data segments belonging to a set of data such as a multimedia stream or a file.
- the data segment belongs to a data set, and the scores are initialized to initial values before the device obtains any segment of the data set.
- the initial score value of one of the plurality's network is determined based on information indicative of a transmission quality of data segments from the same network to at least one third-party device different from the client device.
- This information is for example provided to the client device by an aggregation server capable of communicating with each third-party device.
- the score of this first network is preferably updated taking into account the effective transmission quality of at least one segment transmitted by the first network to the client device.
- the score of this second network is preferably updated. taking into account the value of the score of the first network.
- the method may include calculating a bandwidth heuristic indicative of a bandwidth available for transmission of data segments through a network of the plurality to the client device, the score associated with that network being dependent on the band heuristic. calculated pass.
- the method may include calculating a transmission error heuristic associated with a network of the plurality, the transmission error heuristic being indicative of transmission errors of data segments having previously been requested by the client device from the network, the score associated with this network depending on the calculated transmission error heuristic.
- the transmission error heuristic associated with one of the plurality's network varies so as to make it less likely that the network will be randomized when the network fails to transmit a segment of data to the client device.
- the transmission error heuristic associated with a network of the plurality varies by an amount which itself increases with a number of past segment transmission errors associated with that network.
- the transmission error heuristic associated with a network varies so as to make it more likely that the network will be randomized when the network is successful in transmitting a data segment to the client device.
- the transmission error heuristic of a network varies so as to make it more likely that the network is randomized, when no data segment is transmitted from the network to the client device within a predetermined period of time. .
- the score associated with a network may also depend on a predefined weight specific to this network, this weight being for example a constant.
- a method for reading by a client device of a multimedia stream comprising a plurality of data segments, the method comprising obtaining at least one of the data segments. by means of the method according to the first aspect of the invention.
- a computer program product comprising program code instructions for the execution of the steps of the method according to the first aspect or the second aspect of the invention, when this program is executed by a client device.
- a medium readable by a client device on which is stored a computer program comprising program code instructions for the execution of the steps of the method according to the first aspect or according to the second aspect of the invention.
- a client device intended to obtain a data segment
- the client device comprising a communication interface for communicating with a plurality of content distribution networks, and a processing unit. configured to control the implementation of the steps of the method according to the first aspect or according to the second aspect of the invention.
- FIG. 1 schematically represents a client device according to an embodiment of the invention and several content distribution networks.
- FIG. 2 is a flowchart of steps of a method for obtaining a data segment according to an embodiment of the invention.
- FIG. 1 shows a client device 1 capable of communicating with a plurality of content distribution networks (CDNs). Only two CDNs referenced CDN1 and CDN2 are shown in this figure, but a set of N CDNs indexed from 1 to N.
- CDNs content distribution networks
- each CDN includes at least one server, it being understood that these CDNs can include more than a single server, as mentioned in the introduction.
- Each CDN stores data segments belonging to the same data set.
- all CDNs include the entire dataset, that is, all segments of that dataset.
- the dataset can be a data file, intended to be referenced in a file system for access to that file.
- the dataset is a media stream in the form of one or more files.
- the segments of the considered data set are ordered among themselves.
- the segments correspond to different portions of the binary forming the file, each portion having a relative address (offset) of its own with respect to the start address of the file.
- the segments of a multimedia stream are temporally ordered: each segment is associated with or includes a time stamp of its own.
- the different timestamps make it possible to determine in which order the different segments of the multimedia stream should be read by a player.
- a time window corresponding to the N last minute or last million hours is available on the content network.
- data set is understood to mean the collection of multimedia data which form this time window.
- a new video segment is generated by a live encoder, it is added back to the dataset while the oldest segment expires and is removed from the dataset.
- a data segment designates a portion of the data set which is capable of being transmitted to the client device 1 independently of the other segments of the data set. data from the same data set.
- the client device 1 also includes a communication interface 2 for communicating with the various CDNs, and in particular receiving segments of the data set from these CDNs.
- the client device 1 further comprises a memory 4 for storing segments received via the communication interface 2, and a processing unit 6 configured to process the data segments contained in the memory 4.
- the processing unit 6 comprises for example at least one processor configured to execute a computer program comprising code instructions implementing this processing.
- the processing unit 6 includes a reader configured to read the data segments.
- a reader comprises a decoder configured to decode the segments, and an output arranged at the output of the decoder to restore a content of segments, such as a display screen in the case of a video segment, or a speaker in the case of an audio segment.
- the processing unit 6 is configured to assemble the different segments which form this file once they have been received, so as to form a copy of the referenced file in a system of client device files 1.
- the processing unit 6 is also configured to select from among the different CDNs a CDN to be requested in order to obtain a data segment to be processed. This selection is for example implemented in the computer program comprising code instructions implementing the subsequent processing of these segments, or else implemented in a separate selection program.
- the client device 1 is aware of the various CDNs which it can access. For example, the addresses of these CDNs are stored in the memory 4 of the client device 1.
- an aggregation server 8 with which the client device 1 is able to communicate.
- the aggregation server includes a memory and a processing unit configured to apply calculations to data it receives from the aggregation server.
- client device 1 as well as other client devices 1 a, 1 b, which will be referred to as third-party devices in contrast to client device 1.
- Devices 1 a and 1 b are configured in the same way as device 1.
- Any of the devices 1, 1 a, 1 b can take the form of, for example, a desktop computer, a television set, a laptop computer, a tablet, a smartphone, etc.
- processing unit 6 calculates a score x, associated with the CDN of index i.
- the score x is indicative of a quality of data transmission from the CDN of index i to the client device 1 (step 100). This calculation 100 will be more fully detailed below.
- a score x increases with the quality of data transmission from this CDN to the client device 1.
- a score of 10 indicates better data transmission quality than a score of 5, for example.
- the processing unit 6 implements a random drawing of a CDN among the different CDNs (step 102).
- P the probability of drawing the CDN of index i among the N CDNs available via this random drawing 102.
- the random draw 102 is adapted so that the probability of drawing a CDN associated with a score indicative of relatively high transmission quality is greater than the probability of drawing a CDN associated with a score indicative of relatively low transmission quality.
- This random draw 102 is also such that at least two of the N CDNs, or even all of the CDNs, have non-zero probabilities of being drawn.
- the random draw step 102 may comprise the following substeps.
- the processing unit 6 calculates the selection probabilities P j associated with the scores X j .
- the processing unit 6 then implements a uniform random selection of a number in an interval whose length is equal to the sum of the probabilities Pj.
- This interval is the union of N distinct sub-intervals respectively associated with the different CDNs.
- the sub-interval associated with the CDN of index j is of length equal to the probability Pj.
- the CDN drawn at random during step 102 is the CDN associated with the subinterval including the number drawn.
- the random draw 102 preferably depends on a parameter C, called the exploration parameter.
- the random drawing is adapted to increase the probability of drawing the network associated with the highest score among all the scores calculated relative to the probabilities of drawing the other networks of the plurality, when the value of the exploration parameter varies in a first direction , and / or decrease the probability of drawing the network associated with the highest score among all the scores calculated relative to the probabilities of drawing the other networks of the plurality, when the value of the exploration parameter varies in a second direction opposite to the first sense.
- the probability P j of extracting a CDN of index j among the N CDNs available is of the following form:
- the exploration parameter C can be fixed, but can also be adjusted dynamically (the case of such a dynamic adjustment is detailed later).
- the network having been drawn randomly is then requested by the client device 1 for the client device 1 to obtain a segment of the data set (step 104).
- This request 104 comprises for example the transmission by the client device 1 via the communication interface 2 of a segment request intended for the drawn CDN, and the transmission by the CDN drawn from the segment targeted by the request, in response to this one.
- a solicitation 104 of the CDN pulled by the client device may be successful or unsuccessful. Indeed, errors may occur during this solicitation: the request may not reach the drawn CDN; the pulled CDN may not output the requested segment at all due to an internal bug; finally, the pulled CDN may send the segment requested by client device 1, but this segment may not be transmitted correctly to client device 1.
- client device 1 may repeat solicitation step 104 until the data segment is obtained. However, it is preferable not to repeat such a request immediately: we will focus on this embodiment below.
- the processing unit 6 can control the reading of the data segment by a reader (the processing of the segment is a reading).
- processing unit 6 checks whether all the segments which form the file have been received. If so, processing unit 6 assembles all the segments so as to reconstruct a copy of the file and reference it in a file system. Otherwise, the unit waits for other data segments in the file.
- the processing unit 6 evaluates the effective quality of the transmission of the segment which has been received from the CDN previously drawn randomly (step 106).
- This assessment may include calculating a bandwidth heuristic indicative of a bandwidth available for data transmission from the pulled CDN to the client device 1.
- the bandwidth heuristic depends on an instantaneous bandwidth made available to the client device 1 in order to obtain the segment of the CDN drawn during step 104.
- This instantaneous bandwidth is typically calculated in the form of a ratio between the time taken to obtain the segment and the size of this segment.
- the request 104 of the pulled CDN can result in success (a data segment is obtained by the client device 1) or in failure (the client device 1 does not receive the data segment).
- the evaluation of the effective quality of the transmission of the segment may include the calculation of a transmission error heuristic, this transmission heuristic being indicative of transmission errors of data segments having previously been requested by the client device to the network (in particular the segment that the client device requested from the pulled CDN, during the solicitation step 104).
- Such transmission errors can in practice be measured by the client device 1 at a session layer (typically HTTP) or at a higher level layer in the OSI model, such as an application layer.
- a session layer typically HTTP
- a higher level layer in the OSI model such as an application layer.
- errors can be of various types: 404 error (or 40X or 50X), timeout error (the segment was not obtained within the allotted time given by an http download module of the client device 1), temporary network disconnection from the client device 1, error on the HTTPS handshake, error relating to browser security (CORS, mixed content HTTP / HTTPS), etc.
- Each calculated heuristic is stored in the memory 4 of the client device 1.
- the processing unit 6 can assess a risk of degradation of processing conditions by the client device 1 of the data set comprising the data segment , and modify the value of the exploration parameter C according to the assessed degradation risk (step 108).
- These processing conditions are for example conditions for reading the data segment by the client device 1 when this set is a multimedia stream to be played,
- the evaluation of the risk of degradation of the reading conditions of the multimedia stream to be played implemented during step 108 can take into account the change in the filling rate of a buffer upstream of the player of the client device. 1. Indeed, such a filling rate can indicate whether or not the reading of the stream risks being interrupted if the CDN pulled during step 102 is not of optimal quality and the downloading of a segment from this pulled CDN is taking longer than expected (this interrupt typically occurs when the drive needs to process a new segment, but the buffer is empty). If, for example, it has been detected that there is a high risk of degradation of these processing conditions, it may be preferable for safety reasons to make the draft less exploratory by varying the value of C. In the absence of risk or at the time of a lower risk of degradation, one can authorize oneself to request other CDNs than the one considered of better quality; in other words, the value of C can in this case be modified to make the drawing more exploratory.
- Another way to assess the risk of degradation of the processing conditions of the dataset is to consult the results obtained during step 106. Typically, if the transmission of the segment that the device requested from the pulled CDN to the during step 104 failed, the risk increases.
- the steps 100, 102, 104, 106, 108 represented in FIG. 2 form an iteration of the method.
- Several iterations of the process are implemented over time, with each iteration aimed at obtaining and processing a new segment of the data set. For example, a new iteration is implemented for each new segment that the client device 1 must obtain and process.
- a new random draw is implemented at the same time.
- step 102 of a following iteration A different CDN than the one that failed to provide the segment is likely to be pulled and will then be requested by the client device 1 to provide the same segment.
- repeating step 100 implies that multiple score calculations are performed over time for a given CDN.
- a single score variable for a given CDN is allocated in memory.
- each score is updated.
- the score of each CDN changes over time.
- a CDN can see its quality score decrease or increase, which obviously has an influence on the subsequent random draw.
- the client device 1 can send to the aggregation server 8 information indicative of a quality of transmission of data segments to this client device 1, from one or the other of the CDNs (step 110).
- This information can include at least one of the following data associated with a given CDN: • the score calculated for this CDN during an implementation of step 100,
- step 110 it is not necessary for the client device 1 to implement this step of sending information 110 to the aggregation server at each iteration. It may also be provided to trigger step 110 asynchronously with respect to the other steps shown in Figure 2. In practice, provision is made to aggregate the most granular information on the client side and send it to the aggregation server 8 periodically.
- the process ends after all segments of the dataset have been received by and processed by client device 1.
- the scores of the different CDNs are initialized to initial values.
- these initial values are different and proportional to respective weights associated with these different CDNs.
- the initial values can be determined autonomously by the client device 1. They are for example stored in advance in memory 4. However, in a particularly advantageous embodiment, the aggregation server 8 supplies the client device 1 with information which makes it possible to define the initial values of the scores associated with the different CDNs.
- the initial values supplied by the aggregation server 8 to the client device 1 depend on information that has been previously reported by at least one third-party device that has implemented the same method as the client device 1 (on has indeed seen previously that the client device 1 itself sends all or part of the scores it calculates to the aggregation server 8 during step 110).
- the aggregation server 8 directly provide the initial score value of a CDN index i to the client device 1.
- the aggregation server 8 aggregates the information it receives from at least one third-party device such as 1a or 1b, and which concerns the CDN of index i.
- the aggregation server 8 provides the client device with more granular information than scores, for example the heuristics discussed previously.
- the heuristics managed by the device 1 are themselves initialized to the values received from the aggregation server 8. These initial heuristic values then make it possible to calculate the initial values of the scores during the first implementation of the l. 'calculation step 100.
- the calculation step 100 is implemented in the same way in the first iteration and in the subsequent iterations.
- the aggregated information may only include the following information:
- Calling on the aggregation server 8 allows the scores to be initialized to more relevant initial values. As a result, the process will be more efficient in obtaining and processing the first segments of the considered dataset.
- the term "solicited” implicitly refers to solicitation step 104 and the dataset discussed so far.
- a "solicited" CDN has therefore been drawn randomly at least once during an implementation of step 102 and has provided at least one segment of the considered data set to the client device 1.
- the evaluation step 106 has therefore been implemented at least once for this CDN of index i, for at least one segment previously transmitted by the CDN of index i and received by the client device 1.
- a new segment of the data set must now be obtained by the client device 1 in order to process it in a new iteration, called the current iteration.
- the processing unit 6 updates the score x, as a function of at least one heuristic (bandwidth heuristic and / or error heuristic) associated with the CDN d index i and previously calculated. In this way, the new score x, takes into account the conditions under which the client device 1 has already received segments of the CDN of index i.
- heuristic bandwidth heuristic and / or error heuristic
- the score value of a CDN remains at its initial value until that CDN is requested.
- the appearance of such deviations can occur when the client device 1 receives initial heuristics values which depend on heuristics calculated by third-party devices benefiting from a quality of communication with CDNs very different from that seen by the client device 1
- the client device 1 benefits from a good connection to the CDNs (by optical fiber for example) while the third-party devices 1a, 1b benefit from a less efficient connection to these CDNs (ADSL for example).
- ADSL a less efficient connection to these CDNs
- the client device 1 initializes its own heuristics to values depending on heuristic values reported by third-party devices 1a or 1b, these initial heuristic values (and therefore the initial score values calculated on their basis by the device client 1) will reflect poorly the real conditions of communication between the CDNs and the client device 1. This is why an update of a heuristic associated with a CDN by the client device may reveal a significant difference between the value of heuristics resulting from this update and the heuristics of other
- the CDN score of index i is updated by processing unit 6 using previously evaluated heuristics, as indicated above. This update varies the value of the i-index CDN score by a certain factor (equal to the ratio of the score after update to the score before update).
- the processing unit 6 calculates an update factor of a CDN of index j not yet requested, from the update factor of the CDN of index i.
- the factor of update calculated for the CDN of index j, not yet requested is proportional to the update factor of the CDN of index i already requested.
- the update factor calculated for the CDN of index j, not yet requested is proportional to an average of the respective update factors of several CDNs that have already been requested, for example all the CDNs that have already been requested. solicited to obtain segments of the dataset.
- the processing unit 6 updates the score of the CDN of index j by multiplying its current value by the update factor that has just been calculated for the CDN of index j.
- the unit updates the existing heuristics associated with the CDN having been drawn during the step of random drawing of the. current iteration, so that these heuristics take into account the conditions under which the reference segment was received during the solicitation step 104 of the current iteration of the drawn CDN.
- the bandwidth heuristic updated during the current iteration takes into account the instantaneous bandwidth that was used during the reception of the reference segment, but also of the instantaneous bandwidth that was used. during every other segment of the dataset, previously transmitted by the CDN of index i in previous iterations.
- the bandwidth heuristic is calculated as a sliding average, for example exponential (exponential weighted moving average or EWMA).
- EWMA exponential weighted moving average
- the transmission error heuristic is set during the current iteration so as to evolve according to certain advantageous rules. If the CDN pulled during the current iteration failed to transmit the reference segment to client device 1 during solicitation step 104 of the current iteration, the error heuristic associated with the pulled CDN is set. updated so as to make the random selection of this CDN less likely during a next iteration of the process. For example, the error heuristic is updated in this case so as to decrease the value of the score of this CDN during a subsequent implementation of step 100.
- the associated error heuristic to the drawn CDN is updated so as to make the random selection of this CDN more probable during a following iteration of the method.
- the error heuristic is updated in this case to increase the score value of this CDN on a subsequent implementation of step 100.
- the error heuristic associated with other CDNs can also be updated, according to the following modalities.
- Processing unit 6 determines when the CDN not pulled during the current iteration was last accessed. To determine this, the unit can count time, or count a number of segments or iterations of the process.
- the processing unit 6 notices that a CDN of index i not drawn during the current iteration has not been drawn in a given period of time (for example, the last K segments received come from 'other CDNs than the CDN of index i, or else no segment has been received from the CDN of index i for X seconds), the error heuristic of this CDN of index i is updated in such a way in making the random selection of the network of index i more probable during a following iteration of the method.
- This mechanism ultimately amounts to establishing a principle of limitation: it is accepted that a CDN that has not been sanctioned for a sufficiently long period is more likely to be requested in the future, even if this CDN had been sanctioned. before this period.
- the on error branch is executed during a segment transmission error from the CDN to the client device 1.
- the on success branch is executed when device 1 successfully receives a segment from the CDN.
- the variable measured bandwidth is the instantaneous bandwidth measured for the last segment received by the client device 1 of the CDN in question.
- the bandwidth heuristic associated with a CDN is here the variable bandwidth.
- the score calculated for a CDN depends on this variable. This bandwidth heuristic is revised upwards if measured_bandwidth>bandwidth; otherwise, it is revised downwards.
- the error heuristic associated with a CDN corresponds here to the term HANDICAP BASE raised to the power hpw.
- the hpw value is increased when the client device 1 detects a segment transmission error coming from the CDN in question, and this increase is itself increasing with the term error rate (see the term ERROR_PERCENTAGE_BASE raised to the power error_rate in case of passing in the on error branch).
- the on tick branch corresponds to the prescription principle mentioned above: it is executed when a counter expires. In practice, this branch is executed periodically for each CDN. At each pass, the hpw value associated with a given CDN is reduced, for example by 1% every second if GAAAAAA is equal to 0.01.
- the predefined weight for a given CDN is the data weight.
- the probability variable does not correspond directly to a probability Pi discussed previously (with a value between 0 and 1). To obtain this probability, can for example divide this value by the sum of the probability variables of all the CDNs.
- hpw is equal to 0, and error rate is equal to 0.01
- the (constant) parameter BETA is equal to 0.1
- HANDICAP BASE and ERROR PERCENTAGE BASE are equal to 10.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021555572A JP2022525217A (ja) | 2019-03-22 | 2020-03-20 | 複数のコンテンツデリバリネットワークと通信可能なクライアント装置によるデータセグメントの取得方法 |
AU2020249319A AU2020249319A1 (en) | 2019-03-22 | 2020-03-20 | Method for obtaining a data segment by means of a client device capable of communicating with a plurality of content delivery networks |
EP20712568.3A EP3942778A1 (fr) | 2019-03-22 | 2020-03-20 | Procédé d'obtention d'un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu |
CA3133413A CA3133413A1 (fr) | 2019-03-22 | 2020-03-20 | Methode pour obtenir un segment de donnees par un dispositif client capable de communiquer avec plusieurs reseaux de distribution de contenu |
SG11202110485QA SG11202110485QA (en) | 2019-03-22 | 2020-03-20 | Method for obtaining a data segment by a client device capable of communicating with a plurality of content delivery networks |
KR1020217034291A KR20210139431A (ko) | 2019-03-22 | 2020-03-20 | 복수 개의 콘텐츠 전송 네트워크와 통신할 수 있는 클라이언트 디바이스에 의하여 데이터 세그멘트를 획득하기 위한 방법 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FRFR1902989 | 2019-03-22 | ||
FR1902989A FR3094164B1 (fr) | 2019-03-22 | 2019-03-22 | Procédé d’obtention d’un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020193429A1 true WO2020193429A1 (fr) | 2020-10-01 |
Family
ID=67107877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2020/057862 WO2020193429A1 (fr) | 2019-03-22 | 2020-03-20 | Procédé d'obtention d'un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu |
Country Status (9)
Country | Link |
---|---|
US (2) | US11528658B2 (fr) |
EP (1) | EP3942778A1 (fr) |
JP (1) | JP2022525217A (fr) |
KR (1) | KR20210139431A (fr) |
AU (1) | AU2020249319A1 (fr) |
CA (1) | CA3133413A1 (fr) |
FR (1) | FR3094164B1 (fr) |
SG (1) | SG11202110485QA (fr) |
WO (1) | WO2020193429A1 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3094597B1 (fr) * | 2019-03-27 | 2021-06-11 | Streamroot | Procédé de diffusion de contenus en streaming dans un réseau pair à pair |
CN113038190A (zh) * | 2021-02-23 | 2021-06-25 | 北京达佳互联信息技术有限公司 | 内容分发网络的调度方法和内容分发网络的调度装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229682A1 (en) * | 2001-05-16 | 2003-12-11 | Day Richard David | Meta content delivery network system |
WO2010045511A2 (fr) * | 2008-10-15 | 2010-04-22 | Gal Zuckerman | Procédés et systèmes pour distribuer un contenu |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687753B2 (en) * | 1998-06-25 | 2004-02-03 | International Business Machines Corporation | Method and system for providing three-dimensional graphics over computer networks |
US7600014B2 (en) * | 2000-11-16 | 2009-10-06 | Symantec Corporation | Method and system for monitoring the performance of a distributed application |
US20150341812A1 (en) * | 2003-08-29 | 2015-11-26 | Ineoquest Technologies, Inc. | Video quality monitoring |
US20050256677A1 (en) * | 2004-05-12 | 2005-11-17 | Hayes Dennis P | System and method for measuring the performance of a data processing system |
US7930393B1 (en) * | 2008-09-29 | 2011-04-19 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US7827296B2 (en) * | 2008-10-15 | 2010-11-02 | Patentvc Ltd. | Maximum bandwidth broadcast-like streams |
KR101576704B1 (ko) * | 2009-08-19 | 2015-12-10 | 오팡가 네트웍스, 인크. | 사용자 장비의 결정된 리소스 메트릭에 기초한 미디어 콘텐츠 전달의 최적화 |
US8825886B2 (en) * | 2010-07-28 | 2014-09-02 | Hong Kong Applied Science and Technology Research Institute Company Limited | System and method for evaluating network transport effects on delivery of media content |
US8903935B2 (en) * | 2010-12-17 | 2014-12-02 | Ryan Eric GRANT | Remote direct memory access over datagrams |
US8842057B2 (en) * | 2011-09-27 | 2014-09-23 | Z124 | Detail on triggers: transitional states |
US9667747B2 (en) * | 2012-12-21 | 2017-05-30 | Akamai Technologies, Inc. | Scalable content delivery network request handling mechanism with support for dynamically-obtained content policies |
CN105264826B (zh) * | 2012-12-21 | 2019-12-20 | 皇家Kpn公司 | 用于使能低等待时间流式传输的方法和系统 |
EP3800893B1 (fr) * | 2013-07-11 | 2023-09-06 | Dejero Labs Inc. | Systèmes et procédés de transmission de flux de données |
US9025486B1 (en) * | 2013-10-08 | 2015-05-05 | Netscout Systems, Inc. | Determining quality of radio access network transmissions |
CA2962040C (fr) * | 2014-09-22 | 2020-07-21 | Arris Enterprises Llc | Qualite d'experience video basee sur une estimation de qualite video |
US9497243B1 (en) * | 2014-09-30 | 2016-11-15 | Amazon Technologies, Inc. | Content delivery |
CN105634836B (zh) * | 2014-10-27 | 2020-03-17 | 香港理工大学 | 信息处理方法及装置 |
US9509742B2 (en) * | 2014-10-29 | 2016-11-29 | DLVR, Inc. | Configuring manifest files referencing infrastructure service providers for adaptive streaming video |
US10256942B2 (en) * | 2015-01-26 | 2019-04-09 | Sony Corporation | Receiver for receiving data in a broadcast system using redundancy data |
US9826016B2 (en) * | 2015-02-24 | 2017-11-21 | Koninklijke Kpn N.V. | Fair adaptive streaming |
US10476926B2 (en) * | 2015-06-12 | 2019-11-12 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for managing ABR bitrate delivery responsive to video buffer characteristics of a client |
EP3311577B1 (fr) * | 2015-06-16 | 2020-05-27 | Intel IP Corporation | Un élément réseau aidant à la diffusion vidéo en continu adaptative par protocole de transfert hypertexte (dash) transcodant le contenu média à partir d'un ensemble de messages métriques et d'état reçus du client dash et ledit appareil client dash |
CA3010038C (fr) * | 2015-12-29 | 2020-09-22 | DISH Technologies L.L.C. | Procedes et systemes de distribution adaptative de contenu |
US20170255875A1 (en) * | 2016-03-03 | 2017-09-07 | Pearson Education, Inc. | Validation termination system and methods |
US9936434B2 (en) * | 2016-06-27 | 2018-04-03 | Ringcentral, Inc. | Method and phone system for pre-call quality of service assessment of available networks |
US20190238940A1 (en) * | 2016-09-08 | 2019-08-01 | Interdigital Ce Patent Holdings | Method and apparatus for multimedia content distribution |
US10341241B2 (en) * | 2016-11-10 | 2019-07-02 | Hughes Network Systems, Llc | History-based classification of traffic into QoS class with self-update |
KR102622783B1 (ko) * | 2016-12-30 | 2024-01-08 | 인텔 코포레이션 | 라디오 통신을 위한 방법 및 디바이스 |
US10432486B2 (en) * | 2017-01-06 | 2019-10-01 | Mz Ip Holdings, Llc | System and method for updating application clients using a plurality of content delivery networks |
US20180211177A1 (en) * | 2017-01-25 | 2018-07-26 | Pearson Education, Inc. | System and method of bayes net content graph content recommendation |
US20190007286A1 (en) * | 2017-06-30 | 2019-01-03 | DeviceRadio AB | Module for handling a stream of data over multiple wireless communication channels |
US10609119B2 (en) * | 2017-11-03 | 2020-03-31 | Salesforce.Com, Inc. | Simultaneous optimization of multiple TCP parameters to improve download outcomes for network-based mobile applications |
US10628252B2 (en) * | 2017-11-17 | 2020-04-21 | Google Llc | Real-time anomaly detection and correlation of time-series data |
US20190261243A1 (en) * | 2018-02-20 | 2019-08-22 | Netgear, Inc. | Video-based channel selection in a wireless network-connected camera system |
US11138897B2 (en) * | 2018-03-30 | 2021-10-05 | Pearson Education, Inc. | Systems and methods for automated and direct network positioning |
US10630990B1 (en) * | 2018-05-01 | 2020-04-21 | Amazon Technologies, Inc. | Encoder output responsive to quality metric information |
US11882024B2 (en) * | 2018-06-18 | 2024-01-23 | Cisco Technology, Inc. | Application-aware links |
US10750404B2 (en) * | 2018-07-09 | 2020-08-18 | Vmware, Inc. | Systems and methods for mobile network guidance for over-the-top applications |
CN109981765B (zh) * | 2019-03-18 | 2023-03-24 | 北京百度网讯科技有限公司 | 用于确定内容分发网络的访问路径的方法和装置 |
-
2019
- 2019-03-22 FR FR1902989A patent/FR3094164B1/fr not_active Expired - Fee Related
-
2020
- 2020-03-20 SG SG11202110485QA patent/SG11202110485QA/en unknown
- 2020-03-20 EP EP20712568.3A patent/EP3942778A1/fr not_active Withdrawn
- 2020-03-20 JP JP2021555572A patent/JP2022525217A/ja active Pending
- 2020-03-20 US US16/825,809 patent/US11528658B2/en active Active
- 2020-03-20 AU AU2020249319A patent/AU2020249319A1/en not_active Abandoned
- 2020-03-20 WO PCT/EP2020/057862 patent/WO2020193429A1/fr active Application Filing
- 2020-03-20 CA CA3133413A patent/CA3133413A1/fr active Pending
- 2020-03-20 KR KR1020217034291A patent/KR20210139431A/ko active Pending
-
2022
- 2022-12-10 US US18/078,945 patent/US20230354173A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229682A1 (en) * | 2001-05-16 | 2003-12-11 | Day Richard David | Meta content delivery network system |
WO2010045511A2 (fr) * | 2008-10-15 | 2010-04-22 | Gal Zuckerman | Procédés et systèmes pour distribuer un contenu |
Also Published As
Publication number | Publication date |
---|---|
SG11202110485QA (en) | 2021-10-28 |
KR20210139431A (ko) | 2021-11-22 |
JP2022525217A (ja) | 2022-05-11 |
AU2020249319A1 (en) | 2021-10-28 |
US11528658B2 (en) | 2022-12-13 |
US20200305070A1 (en) | 2020-09-24 |
CA3133413A1 (fr) | 2020-10-01 |
US20230354173A1 (en) | 2023-11-02 |
FR3094164B1 (fr) | 2021-10-29 |
EP3942778A1 (fr) | 2022-01-26 |
FR3094164A1 (fr) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020193429A1 (fr) | Procédé d'obtention d'un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu | |
WO2016162639A1 (fr) | Procédé de lecture en continu sur un équipement client d'un contenu diffusé au sein d'un réseau pair à pair | |
WO2015193597A1 (fr) | Gestion par un équipement intermédiaire de la qualité de transmission d'un flux de données vers un terminal mobile | |
WO2006016055A2 (fr) | Procede et serveur de referencement de diffusion poste a poste de fichiers demandes par telechargement a ce serveur | |
EP3205067B1 (fr) | Diffusion de contenus en streaming dans un réseau pair à pair | |
EP3840335B1 (fr) | Réception d'un contenu numérique en mode truque | |
FR2915044A1 (fr) | Procede de determination de la dynamique d'un reseau logique | |
FR2897961A1 (fr) | Procede de gestion de l'execution d'un jeu video pour la diffusion en temps reel de publicites dynamiques | |
BE1029303B1 (fr) | Procédé et système d'affichage digital | |
WO2022144512A2 (fr) | Contrôle de la transmission d'au moins un contenu depuis un equipement fournisseur vers un noeud d'ingestion | |
EP2575307B1 (fr) | Technique de distribution d'un contenu dans un reseau de communication | |
FR2899410A1 (fr) | Procede et dispositif d'emission et de reception de paquets de donnees relatifs a un fichier emis de maniere cyclique en mode multicast | |
FR3031643A1 (fr) | Procede de gestion et de fonctionnement protocolaire d'un reseau de distribution de contenu | |
WO2013045815A1 (fr) | Procede et dispositif de gestion dynamique de la distribution de donnees dans un reseau de telecommunications | |
FR2871595A1 (fr) | Procede et dispositif de traitement de requetes generees par un logiciel de navigation | |
EP2604019B1 (fr) | Procédé pour ralentir, voire éliminer, la propagation illégale d'un contenu vidéo protégé et diffusé en streaming dans un réseau pair à pair | |
WO2014091131A1 (fr) | Sélection multicritères de systèmes de diffusion de contenu | |
WO2019179855A1 (fr) | Procede de diffusion d'un contenu |
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: 20712568 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021555572 Country of ref document: JP Kind code of ref document: A Ref document number: 3133413 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20217034291 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2020712568 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2020249319 Country of ref document: AU Date of ref document: 20200320 Kind code of ref document: A |