Optimization of file compression
By combining reinforcement learning with compression algorithms and multi-armed slot machine models, the file selection and compression ratio are optimized, solving the problem of file transmission not meeting predefined thresholds in the Industrial Internet of Things, and achieving efficient and low-cost file transmission.
Patent Information
- Application Number
- CN202110890265.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-08-11
- Filing Date
- 2021-08-04
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2041-08-04
AI Technical Summary
In the Industrial Internet of Things (IIoT), existing technologies struggle to optimize file sizes to meet predefined thresholds during file compression and transmission, resulting in inefficient data transmission and increased cloud storage and processing costs.
By combining reinforcement learning with compression algorithms, a scheduling algorithm is used to optimize file selection and compression ratio, and a multi-armed slot machine model is used for dynamic adjustment to optimize the size and transmission of file sets, thereby achieving efficient compression and transmission of file sets.
It optimizes the number of bytes sent to the cloud per unit of time, reduces cloud storage and processing costs, and improves the efficiency and flexibility of file transfer, adapting to different transfer threshold changes.
Smart Images

Figure CN114077589B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates generally to computer systems and methods, and more particularly to applications that handle large amounts of data generated by different Internet of Things applications in industrial machines. BACKGROUND
[0002] The Internet of Things (IoT) is an important element of the digital development of companies. In many markets, connected objects capture valuable information. Industrial IoT is mainly about linking sensors on machines located in different industrial sites and measuring, recording and sending operational data to a data center for analysis. For this purpose, a gateway, such as an IoT box, collects these data from the data center in the form of files and sends the files to the cloud where the data will be stored and analyzed.
[0003] The files are compressed into compressed files by a compression application before being sent to the cloud. The size of the compressed files must be less than a threshold, for example 1 megabyte, and the compressed files must be sent regularly, for example every ten minutes. However, if the constraint of sending data regularly at a predefined size is respected, the size of the data transmission is not optimized as it can be more or less close to the predefined size.
[0004] There is therefore a need to improve the selection of files to be sent regularly, such as the compressed size of the files being as close as possible to the predefined threshold. SUMMARY
[0005] This summary is provided to introduce concepts related to the present subject matter. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for determining or limiting the scope of the claimed subject matter.
[0006] In one embodiment, a method for optimizing the scheduling of files sent to an application server at regular time intervals is provided, the method comprising the following steps performed in a control device:
[0007] retrieving a first set of files from a database within a time interval, the first set of files being stored in a priority queue and carrying information sent from sensors linked to industrial machines,
[0008] applying the retrieved first set of files to a scheduling algorithm using a compression ratio and in combination with reinforcement learning, in order to select a second set of files,
[0009] compressing the second set of files into a compressed file based on the compression ratio, wherein the size of the compressed file is below a size limit,
[0010] sending the compressed file to the application server,
[0011] wherein the compression ratio is updated based on the size of the second set of files and the size of the compressed file,
[0012] wherein the reinforcement learning uses the size of the previous compressed file from the previous time interval.
[0013] Advantageously, the method optimizes the number of bytes sent to the cloud per unit of time and reduces the cloud cost (as the frame length is optimized). The reinforcement learning is easy to implement in terms of consumption of memory and processing. Moreover, the reinforcement learning is fast to execute and does not require a learning phase.
[0014] Advantageously, if the compression algorithm is replaced by another algorithm, the reinforcement learning will still apply to the other compression algorithm. If the files no longer need to be compressed, the compression ratio will converge to the value "1". If the transmission threshold is changed to a new threshold, the reinforcement learning will also automatically converge to the new threshold.
[0015] In one embodiment, the updated compression ratio is used to retrieve a next first set of files at a next time interval.
[0016] In one embodiment, the scheduling algorithm takes as input the first set of files, the compression ratio and a size limit, and takes as output a second set of files, wherein the size of the second set of files divided by the compression ratio is less than the size limit.
[0017] In one embodiment, the scheduling algorithm is based on the Johnson scheduling algorithm.
[0018] In one embodiment, the reinforcement learning is based on the multi-armed bandit model.
[0019] In one embodiment, the scheduling algorithm provides an intermediate set of files used by a set of arms, the set of arms using more or less files than the intermediate set of files, and selects one arm according to a confidence upper bound, and the arm corresponds to the second set of files.
[0020] In one implementation, the sum of the file weights of the intermediate set of files divided by the compression ratio is below the size limit.
[0021] In one implementation, a learning phase is used for the set of arms, the size of the previous compressed file sent to the application server being used as feedback.
[0022] In another implementation, a device for optimizing the scheduling of files sent to an application server at regular time intervals is provided, the device comprising:
[0023] a means for retrieving a first set of files from a database within a time interval, the first set of files being stored in a priority queue and carrying information sent from sensors linked to an industrial machine,
[0024] means for applying the retrieved first set of files to a scheduling algorithm using a compression ratio in combination with reinforcement learning in order to select a second set of files,
[0025] means for compressing the second set of files into a compressed file based on the compression ratio, wherein the size of the compressed file is below a size limit,
[0026] means for sending the compressed file to the application server,
[0027] wherein the compression ratio is updated based on the size of the second set of files and the size of the compressed file,
[0028] wherein the reinforcement learning uses the size of a previous compressed file from a previous time interval.
[0029] In another embodiment, an apparatus for optimizing scheduling of files sent to an application server at regular time intervals is provided, the apparatus comprising:
[0030] one or more network interfaces in communication with a telecommunication network;
[0031] a processor coupled to the network interfaces and configured to execute one or more processes; and
[0032] a memory configured to store the processes executable by the processor, the processes being operable when executed by the processor to:
[0033] retrieve a first set of files from a database within a time interval, the first set of files being stored in a priority queue and carrying information sent from sensors linked to an industrial machine,
[0034] apply the retrieved first set of files to a scheduling algorithm using a compression ratio in combination with reinforcement learning in order to select a second set of files,
[0035] compress the second set of files into a compressed file based on the compression ratio, wherein the size of the compressed file is below a size limit,
[0036] send the compressed file to the application server,
[0037] wherein the compression ratio is updated based on the size of the second set of files and the size of the compressed file,
[0038] wherein the reinforcement learning uses the size of a previous compressed file from a previous time interval.
[0039] In another embodiment, a computer readable medium having a computer program embodied thereon for performing a method for optimizing scheduling of files sent to an application server at regular time intervals is provided. The computer program comprises instructions for performing the steps of the method according to the application. BRIEF DESCRIPTION OF DRAWINGS
[0040] The detailed description is described with reference to the accompanying drawings. In the drawings, the left-most digit / digits of reference numbers identify the first occurrence of the reference number in a drawing. The use of the same reference numbers in all the drawings identifies like features and components having the same function. Some embodiments of systems and / or methods according to embodiments of the present subject matter are now described, by way of example only, and with reference to the drawings in which:
[0041] Figure 1 a schematic block diagram of a communication system for optimizing scheduling of files to be sent to an application server is shown, in accordance with an embodiment of the present application; and
[0042] Figure 2 a flowchart of a method for optimizing scheduling of files to be sent to an application server is shown, in accordance with an embodiment of the present application.
[0043] In all the drawings, the same reference numbers identify the same elements or the same types of elements.
[0044] It will be understood by those within the art that any block diagram herein represents conceptual views of illustrative systems embodying the principles of the application. Similarly, it will be understood that any flowchart, flow diagram, state-transition diagram, pseudocode, and the like represent various processes which can be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. DETAILED DESCRIPTION
[0045] The accompanying drawings and following description illustrate specific exemplary embodiments of the present application. Thus, it will be understood that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the application and are included within its scope. Furthermore, any example described herein is intended to help illustrate the principles of the application and is not intended to limit its scope to such specific examples and conditions. Thus, the present application is not intended to be limited to the specific embodiments described below, but rather only by the claims and their equivalents.
[0046] With reference to Figure 1 , the control device CD can communicate with the database DB through a first telecommunication network TN1 and with the application server AS through a second telecommunication network TN2.
[0047] The first and second telecommunication networks can be wired or wireless networks, or a combination of wired and wireless networks. The first and second telecommunication networks can be associated with a packet network, for example, an IP (Internet Protocol”) high-speed network such as the Internet or an intranet, or even a private network dedicated to a company.
[0048] The first or second telecommunication network is a digital cellular wireless communication network of the GPRS (General Packet Radio Service), UMTS (Universal Mobile Telecommunication System), CDMA (Code Division Multiple Access) type, LTE (Long Term Evolution) or even 5G (Fifth Generation) type, for example. Moreover, the mobile device can access the radio telecommunication network TN via a wireless link such as a Wi-Fi network or a Bluetooth connection.
[0049] In another example, the first or second telecommunication network is a limited-range public wireless network such as a WLAN (Wireless Local Area Network) or of the medium range complying with the standard 802. lx or according to the protocol WiMAX (Worldwide Interoperability for Microwave Access).
[0050] Moreover, the first or second telecommunication network can operate according to fourth or fifth generation wireless communication protocols and similar wireless communication protocols that can be developed in the future.
[0051] The database DB stores data from different Internet of Things applications in the industrial machine. The Internet of Things applications are implemented in sensors linked to the industrial machine and measure, record and send operational data related to the industrial machine to a source database such as an Influxdb database for telemetric data or a sqlite database for jsonstream data.
[0052] The database DB extracts data from the source database in the form of files such as JSON files and stores the files in a priority queue. The priority queue has the following properties: each file has a priority associated with it, the files with high priority are dequeued before the files with low priority, if two files have the same priority, they are dequeued according to their order in the queue (e.g. in a first-in-first-out scheme). It is assumed that a file contains a set of data from one source database and related to one industrial machine. This set of data includes coherent data intended to be filtered and consumed by an external application or a client user of the industrial machine.
[0053] The application server AS is a server capable of analyzing the content of the data from the database DB. To this end, the application server can decompress the files received from the control device and containing such data. The analyzed content can serve the operator of the industrial machine for delivering or improving different kinds of services related to the industrial machine.
[0054] The control device CD comprises a collector module COL, an optimizer module OPT, a compression module COM and a publication module PUB.
[0055] The control device CD is operated to retrieve files from the database DB and to send the selected files to the application server AS with the following constraints:
[0056] - The selected file is sent as a compressed file, and its size must be less than a predefined threshold (e.g., 1 megabyte).
[0057] - The selected files must be sent periodically (e.g., every 10 minutes).
[0058] It must be considered that the compression algorithm is not additive, which means that the size of the compressed file of the first and second files is different from the sum of the sizes of the first and second files.
[0059] The extractor module EXT extracts data from the database as files, which are stored in a priority queue. Initially, all files are queued according to priority p, where p=0. When the optimizer module chooses to send a file to the application server, the priority of the remaining files in the priority queue is increased by 1.
[0060] The optimizer module, OPT, uses the job shop scheduler to schedule and sort files to be sent to the application server, and further applies reinforcement learning to the job shop scheduler to better select the size of the files to be sent to the application server.
[0061] The compression module COM compresses the file selected by the optimizer module OPT at a predetermined ratio. This file can then be converted to a predefined format suitable for publication to the application server.
[0062] The announcement module PUB is configured to send compressed files to the application server AS via the second telecommunications network TN2.
[0063] More precisely, the optimizer module OPT executes a scheduling algorithm that uses compression ratios and incorporates reinforcement learning to select a set of files for compression and update the compression ratios. One constraint of the scheduling algorithm is that the weight of the selected set of files should be as close as possible to a predefined threshold. This threshold, for example, is imposed by bandwidth limitations allocated to reporting services performed by control equipment via a second telecommunications network, TN2.
[0064] In one implementation, the optimizer module OPT performs Johnson scheduling, which includes selecting files with constraints related to size limits, taking into account the file's priority and size.
[0065] The scheduling algorithm uses the first set of files F = {f0, ..., f1} retrieved from the priority queue. n The inputs are: sorting criterion C (based on file priority p and size ω), number of files N, size limit L, and compression ratio. The output is a set T (including the second file set) providing the second file set B = {f}. j ,…,f k}(in ) and a remaining file set F' comprising the remaining files in the priority queue (where ).
[0066] The scheduling algorithm can be defined as follows:
[0067] N <- NumberOfItem(F)
[0068] T = Sort(F, C)
[0069] B <- 0, sizeB <- 0, i <- 0
[0070] while (sizeB < (L - e)) and (i < N) do
[0071] B i <- T[i]
[0072]
[0073] return B, T
[0074] F' = F - B: files not selected for publication
[0075] For all remaining files, priority p is increased by 1
[0076] i <- 0
[0077] N <- NumberOfItem(F')
[0078] while (i < N) do F'[i].p <- F'[i].p + 1
[0079] return F'.
[0080] The accuracy of the scheduling algorithm depends on the estimated compression ratio (estimated compression ratio is the ratio used to compress the last file sent to the application server). If this ratio is better estimated, the batch size sent to the application server is thus optimized. For this, reinforcement learning is used to better estimate the ratio.
[0081] In one embodiment, the reinforcement learning is based on a Multi Armed Bandits Algorithm (MAB). In the MAB model, a decision maker repeatedly chooses among a finite set of actions. At each step t, choosing action "a" yields a reward that comes from an underlying probability distribution of action "a" and is unknown to the decision maker. The goal of the latter is to learn as fast as possible which actions are expected to yield the largest rewards. Various algorithms have been proposed within this framework. As described below, a strategy based on Upper Confidence Bounds (UCB) has been shown to achieve the optimal asymptotic performance in terms of the number of steps t.
[0082] A multi-armed bandit can be viewed as a set of real distributions B = {R1,..., R k} each associated with the rewards delivered by one of K e N+levers. Let μ 1,…, μ k be the mean values associated with these reward distributions.
[0083] A gambler repeatedly plays one lever per round and observes the associated reward. The goal is to maximize the sum of rewards collected. The horizon is the number of remaining rounds to be played. The bandit problem is formally equivalent to a single-state Markov Decision Process.
[0084] The regret p after T rounds is defined as the expected difference between the sum of rewards associated with the optimal policy and the sum of rewards collected:
[0085]
[0086] where μ* is the maximum reward mean, r t is the reward at round t.
[0087] A "zero regret policy" is a policy for which the average regret p / T per round tends to zero as the number of rounds played tends to infinity. If enough rounds are played, a zero regret policy guarantees convergence to the optimal policy. There exist several strategies that provide solutions to the bandit problem.
[0088] In one embodiment, the Upper Confidence Bounds algorithm is chosen to precisely provide fast convergence to the optimal ratio.
[0089] In the Upper Confidence Bounds algorithm, the mean value of each arm is defined by:
[0090]
[0091] where t denotes the number of trials, T j denotes the number of trials of each arm j, and ri represents the reward for attempt i;
[0092] where χ is a function that indicates that machine j has been selected for attempt i.
[0093] To compute the exponent in each channel, a bias is introduced to allow the algorithm to explore different machines:
[0094] B j = X j + A j
[0095] The bias must be chosen such that the regret is logarithmically decreasing (the regret is bounded logarithmically):
[0096]
[0097] The chosen arm is the arm that maximizes the sum of the two terms X j and A j .
[0098] One embodiment includes a control device CD in the form of an apparatus comprising one or more processors, one or more I / O interfaces, and a memory coupled to the one or more processors. The one or more processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and / or any devices that manipulate signals based on operational instructions. The one or more processors can be a single processing unit or a plurality of processing units, all of which can include multiple computing units. Among other capabilities, the one or more processors are configured to fetch and execute computer-readable instructions stored in the memory.
[0099] The functions implemented by the processors can be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions can be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which can be shared. Moreover, explicit use of the term "processor" should not be construed to refer exclusively to hardware capable of executing software, and can implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and / or custom, can also be included.
[0100] The memory can include any computer-readable media known in the art including, for example, volatile memory such as static random access memory (SRAM) and dynamic random access memory (DRAM), and / or non-volatile memory such as read only memory (ROM), erasable programmable read only memory (EPROM), flash memory, a hard disk lens, an optical disk, and a magnetic tape. The memory includes modules and data. The modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The data, among other things, are repositories for data processed, received, and generated by one or more modules.
[0101] The person skilled in the art will readily recognize that the steps of the above-described method can be performed by a programmed computer. Herein, some embodiments are also intended to cover program storage devices, e.g., digital data
[0102] With reference to Figure 2 According to one embodiment of the application, the method for optimizing the scheduling of files to be sent to an application server comprises steps S1 to S5.
[0103] At step S1, the collector module COL of the control device CD retrieves files from the database DB through the first telecommunication network TN1. The files are stored in a queue with a priority p, p = 0. When files are not selected to be sent to the application server, these files will become the remaining files in the priority queue and the updated priority is increased by 1. Thus, the collector module COL retrieves a first set of files from all the files currently stored in the priority queue.
[0104] The collector module retrieves periodically a set of files according to a publication period, for example every ten minutes, in order to send at least a part of this set of files to the application server. This at least a part of the set of files will be removed from the priority queue, this at least a part removed will be fed by other files from the source database in the next publication period.
[0105] At step S2, the optimizer module OPT applies the first set of files to a scheduling algorithm combined with reinforcement learning, for example the Johnson scheduling combined with the multi-armed bandit model, according to the sub-steps S21 to S24 explained in more details hereafter. In particular, the scheduling algorithm combined with reinforcement learning takes as input the first set of files, the compression ratio and the number of arms which can vary according to the publication period, and provides as output a second set of files intended to be sent to the application server and an updated compression ratio to be used for the next publication period.
[0106] In step S21, the optimizer module OPT executes a scheduling algorithm that takes as input the first file set F = {f0,...,f n}, the size limit L, the compression ratio Rt-1 and provides as output an intermediate file set B = {f0,...,f k} where For example, the Johnson scheduling is applied to the first file set and selects the intermediate file set in the first file set by satisfying the following criterion: the sum of the weights of the files of the intermediate file set divided by the compression ratio is lower than the size limit L.
[0107] In step S22, the optimizer module OPT performs reinforcement learning on the intermediate file set. For example, the reinforcement learning is based on a multi-armed bandit model using N arms, where N is an odd number greater than 3. The intermediate file set B = {f0,...,f k} corresponds to the arm [0] with index “0”. Each arm corresponds to an intermediate file set containing more or less files. For example, the arm [-1] corresponds to an intermediate file set B not containing one file among f0,...,f k .
[0108] The reinforcement learning is done by exploring by reducing or increasing the intermediate file set B.
[0109] In the exploration by reduction, the arm [-i] corresponds to the intermediate file set B without the last i files: arm [-i] = {f0,...,f k-i}.
[0110] In the exploration by increase, the arm [+i] corresponds to the intermediate file set B plus the i last files: arm [+i] = {f0,...,f k+i}.
[0111] In step S23, the optimizer module OPT uses the learning phase for the different arms with as feedback the size Ω of the last compressed file sent to the application server during the last publication period. Each arm receives a reward μ according to the following formula:
[0112]
[0113] where μ i is the reward for the arm [i]
[0114] where,
[0115] The reward of a given arm can be seen as based on an estimated weight of the compressed file of the files corresponding to the intermediate file set used by the given arm. If this estimated weight exceeds the size limit, the arm can be penalized.
[0116] In step S24, a confidence upper bound algorithm is selected and applied to each arm. The optimizer module OPT selects the arm [i] that provides the best reward among the rewards of the arms according to the following formula:
[0117]
[0118]
[0119] In step S3, the optimizer module OPT has selected an arm containing a second file set, the second file set corresponding to an intermediate file set with more or less files, and provides the second file set to the compression module COM.
[0120] The compression module COM compresses the second file set into a compressed file at a compression ratio, the compressed file being intended to be sent to the application server and having a size Ω that is a new value compared to the size value of the last compressed file sent to the application server during the last publication period.
[0121] In step S4, the publication module PUB retrieves the compressed file, optionally adjusts it for the protocol used for publication. The publication module PUB sends the compressed file to the application server through the second telecommunication network.
[0122] In step S5, which can be performed before or in parallel with step S4, the optimizer module OPT has selected an arm containing a second file set, the second file set containing the files {f0,...,f m}. The optimizer module OPT updates the compression ratio based on the size of the compressed file and the size of the second file set. The updated compression ratio can be determined according to the following relation:
[0123]
[0124] where Ω is the size of the compressed file to be sent to the application server,
[0125] where ω is the file size of the second file set
[0126] For the next publication period, steps S1 to S5 are repeated with a new first file set, the optimizer module taking the updated compression ratio as input of the scheduling algorithm and the size of the compressed file as input of the reinforcement learning.
[0127] Although the present application has been described above with reference to specific embodiments, the application is not limited to the specific forms described herein, but only to the claims and their equivalents. Other embodiments than those described above are possible and within the scope of the present disclosure, and the specific forms described above are given by way of example only as illustrative of the application.
[0128] Furthermore, although example embodiments have been described in the context of particular combinations of parts and / or functions, it is to be understood that different combinations of parts and / or functions can be provided by alternative embodiments without departing from the scope of the present disclosure. Moreover, although specific features of the described embodiments can be initially claimed as part of one embodiment, one or more of those features can be retained or removed in any single embodiment, or claimed in a combination of embodiments without loss of generality.
Claims
1. A method for optimizing the scheduling of files sent to an application server (AS) at regular time intervals, comprising the following steps performed in a control device (CD): Retrieve a first set of files from the database within a time interval (S1). The first set of files is stored in a priority queue and carries information sent from sensors linked to industrial machines. The retrieved first file set is applied to a scheduling algorithm (S2) that uses compression ratio and incorporates reinforcement learning to select a second file set, wherein, The scheduling algorithm takes the first file set, the compression ratio, and the size limit as input, and provides the second file set as output, wherein the size of the second file set divided by the compression ratio is less than the size limit. The second set of files is compressed into a compressed file based on the compression ratio (S3), wherein the size of the compressed file is lower than the size limit. The compressed file is sent to the application server (S4). The compression ratio is updated based on the size of the second file set and the size of the compressed file. The reinforcement learning uses the size of the previous compressed file from the previous time interval.
2. The method according to claim 1, wherein, The updated compression ratio is used for the next first set of files to be retrieved in the next time interval.
3. The method according to any one of the preceding claims, wherein, The scheduling algorithm is based on the Johnson scheduling algorithm.
4. The method according to claim 1 or 2, wherein, The reinforcement learning is based on a multi-armed slot machine model.
5. The method according to claim 3, wherein, The scheduling algorithm provides an intermediate file set used by a set of arms, which uses more or fewer files than the intermediate file set, and selects an arm based on a confidence upper bound, wherein the selected arm corresponds to the second file set.
6. The method according to claim 5, wherein, The sum of the weights of the files in the intermediate file set divided by the compression ratio is less than the size limit.
7. The method according to claim 5, wherein, During the learning phase of the application to the set of arms, the size of the previous compressed file sent to the application server is used as feedback.
8. A device (CD) for optimizing the scheduling of files sent to an application server (AS) at regular time intervals, the device comprising: Components (COLs) used to retrieve a first set of files from a database within a time interval, the first set of files being stored in a priority queue and carrying information sent from sensors linked to industrial machines. The component (OPT) for applying a first retrieved file set to a scheduling algorithm that uses a compression ratio and incorporates reinforcement learning to select a second file set, wherein the scheduling algorithm takes the first file set, the compression ratio, and a size limit as input, and provides the second file set as output, wherein the size of the second file set divided by the compression ratio is less than the size limit. A component (COM) for compressing the second set of files into a compressed file based on the compression ratio, wherein the size of the compressed file is lower than the size limit. A component (PUB) used to send the compressed file to the application server. Specifically, the compression ratio is updated based on the size of the second file set and the size of the compressed file. The reinforcement learning uses the size of the previous compressed file from the previous time interval.
9. A computer-readable medium having thereon a computer program for performing a method according to any one of claims 1 to 7 for optimizing the scheduling of files sent to an application server at regular time intervals on a control device (CD).
Citation Information
Patent Citations
Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US20020006204A1
Adaptive prediction codeing / decoding method and device, and adapttive prediction codeintg / decoding program
WO2002054758A1