JP2006338409A - Compressed data transfer method and system - Google Patents

Compressed data transfer method and system Download PDF

Info

Publication number
JP2006338409A
JP2006338409A JP2005163272A JP2005163272A JP2006338409A JP 2006338409 A JP2006338409 A JP 2006338409A JP 2005163272 A JP2005163272 A JP 2005163272A JP 2005163272 A JP2005163272 A JP 2005163272A JP 2006338409 A JP2006338409 A JP 2006338409A
Authority
JP
Japan
Prior art keywords
data
processing
file
compressed data
embedded device
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.)
Pending
Application number
JP2005163272A
Other languages
Japanese (ja)
Inventor
Yuugo Sunaga
祐悟 須長
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.)
Fuji Electric FA Components and Systems Co Ltd
Original Assignee
Fuji Electric FA Components and Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric FA Components and Systems Co Ltd filed Critical Fuji Electric FA Components and Systems Co Ltd
Priority to JP2005163272A priority Critical patent/JP2006338409A/en
Publication of JP2006338409A publication Critical patent/JP2006338409A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To optimize a data transfer method while considering the whole of a series of processing consisting of compression, transfer, and decompression, transferring performance of a communication means, a buffer capacity of data receipt decompression processing and the like while increasing transfer speed during compressed data transfer between a programming assist device and a built-in apparatus. <P>SOLUTION: In this compressed data transfer method, the programming assist device and the built-in apparatus are connected together via a transmission path, and data are compressed to be transmitted from the programming assist device to be received and decompressed by the built-in apparatus. The programming assist device notifies a data size and a transmission sequence of the respective compressed data files to be transmitted to the built-in apparatus before transmission, and then, transmits the compressed data files sequentially. According to the data size and the transmission sequence, which are notified by the programming assist device, of the transmitted respective compressed data files, communication performance of the transmission path, an available buffer capacity, other processing load conditions, and the like, the built-in apparatus selects an optimum task from a plurality of tasks with different priority for performing decompression processing. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、プログラミング支援装置と組込み機器との間の圧縮データ転送方式および圧縮データ転送システムに関わる。   The present invention relates to a compressed data transfer method and a compressed data transfer system between a programming support device and an embedded device.

従来より、情報処理装置間を伝送路で接続しデータをやりとりすることが行われてきた。情報処理装置の処理速度と伝送路の転送速度を比較すると、伝送路の転送速度のほうが著しく低いため、大きなサイズのデータをやり取りする場合には情報処理装置でデータに圧縮、解凍などの処理を施すようにし、できるだけ小さなデータサイズにしてやりとりするようにするのが一般的なデータ転送の手法である。   Conventionally, data processing has been performed by connecting information processing apparatuses via transmission lines. Comparing the processing speed of the information processing device and the transfer speed of the transmission path, the transfer speed of the transmission path is significantly lower. Therefore, when exchanging large data, the information processing equipment performs processing such as compression and decompression on the data. It is a common data transfer technique to exchange data with a data size as small as possible.

このような圧縮データ転送システムにおいては、転送するデータやシステム自体の特性に応じて様々な発明、提案などがなされてきている。特許文献1などはその一例である。
特許文献1は、画像データを情報処理装置間で転送するシステムを開示したものである。送信側の情報処理装置は一枚の画像を圧縮する際に、該画像を複数の領域に分割して圧縮し、圧縮と同時に復号化情報を作成する。該圧縮データとともに復号化情報が転送され、受信側情報処理装置では、該復号化情報に基づいて例えば画像中の文字部分など早く表示させたい部分から解凍するようにしたものである。このシステムは、画像中の文字情報などを含む情報性の高い領域に対応するデータから解凍して、画像閲覧者などに提示するところに特徴があり、情報提示システムにおける要求をうまく解決している例である。
In such a compressed data transfer system, various inventions and proposals have been made according to the data to be transferred and the characteristics of the system itself. Patent document 1 etc. are the examples.
Patent Document 1 discloses a system for transferring image data between information processing apparatuses. When the information processing apparatus on the transmission side compresses a single image, the image is divided into a plurality of regions and compressed, and decoding information is created simultaneously with the compression. Decryption information is transferred together with the compressed data, and the information processing apparatus on the receiving side decompresses from a portion that is desired to be displayed quickly, such as a character portion in an image, based on the decryption information. This system is characterized by the fact that it is decompressed from data corresponding to a high information area including character information in an image and presented to an image viewer, etc., and it successfully solves the requirements in the information presentation system. It is an example.

また、プログラミング支援装置と組込み機器などを伝送路で接続し、組込み機器の制御プログラムやデータをやり取りすることも頻繁に行われる。組込み機器とは産業機器や家電製品などのことを意味し、特定機能を実現するためのコンピュータシステムが組み込まれたものをいう。ここで組み込まれるコンピュータシステムは、パソコンなどの汎用のコンピュータシステムとは異なり、要求される機能や性能が極めて限定され、コスト上の制限から利用可能な資源に強い制約があるのが特徴であり、安価なCPUと少ないメモリ、プログラムを内蔵するためのROMから成るのが一般的である。   In addition, a programming support device and an embedded device are connected via a transmission line, and control programs and data of the embedded device are frequently exchanged. Embedded equipment means industrial equipment, home appliances, etc., and means that a computer system for realizing a specific function is incorporated. Unlike general-purpose computer systems such as personal computers, the built-in computer system is characterized in that required functions and performance are extremely limited, and there are strong restrictions on available resources due to cost limitations. Generally, it consists of an inexpensive CPU, a small amount of memory, and a ROM for storing a program.

従来のプログラミング支援装置と組込み機器間の圧縮データ転送方式は、転送ファイルをまず個々に全て圧縮し、その後、例えばファイル名の昇順などの順に転送し、受信側は全てのファイルの受信が終わった後、解凍を始めるというものであった。図3にその概要を示す。プログラミング支援ツールなどのソフトウェアを含むパソコンなどの端末から、組込み機器端末に複数の転送経路によってデータ転送が行われる。   In the conventional compressed data transfer method between the programming support device and the embedded device, all the transfer files are first compressed individually, and then transferred in the order of ascending order of the file names, for example, and the receiving side has received all the files. Later, thawing started. The outline is shown in FIG. Data is transferred from a terminal such as a personal computer including software such as a programming support tool to the embedded device terminal through a plurality of transfer paths.

近年ではこの方式を改良し、圧縮、転送、解凍の処理をオーバラップさせて並列処理することによって全体の転送処理時間を短縮するという方式がよく用いられている。図4に、この流れ図を示した。図のように、3つのデータを転送する場合に、データ1の圧縮が終わった時点で、データ1の転送を始める。それと同時に、データ2の圧縮を行う。データ1が受信側に受信されると、データ1が解凍されると同時にデータ2の転送が行われる。このように、各処理をオーバラップした並列処理で処理することで全体の転送処理時間を短縮させることができる。この方式は組込み機器においてよく使用される、オペレーティングシステムμITRONにおけるマルチタスク処理に代表され、一つの処理の遅延によって他の処理が大幅に遅れないよう、優先度や内部的に規定したタイミングなどによりスケジューリングが行われるようになっている。   In recent years, a method of improving this method and shortening the entire transfer processing time by performing parallel processing by overlapping compression, transfer, and decompression processing is often used. FIG. 4 shows this flowchart. As shown in the figure, when transferring three data, the data 1 starts to be transferred when the data 1 is compressed. At the same time, data 2 is compressed. When the data 1 is received by the receiving side, the data 1 is decompressed and the data 2 is transferred at the same time. In this way, the overall transfer processing time can be shortened by performing parallel processing in which each processing is overlapped. This method is typified by multi-task processing in the operating system μITRON, which is often used in embedded devices. Scheduling based on priority and internally defined timing so that other processing is not significantly delayed by one processing delay. Is to be done.

ところが、組込み機器が、例えばプログラマブルコントローラや産業用ロボットなどのように高度なリアルタイム性を必要とする処理を行う機器である場合、動作中にダウンロードされるユーザデータやプログラム更新処理などについては、CPUが他のリアルタイム処理を実行中であるために、転送処理や圧縮処理そのものにCPUの処理能力を大きく割り当てることができない、ということがある。しかし、ユーザにとってはプログラムやデータのダウンロード時間は単純な待ち時間として捉えられてしまうため、可能な限りの高速化が常に要求される。   However, if the embedded device is a device that performs processing that requires a high degree of real-time performance, such as a programmable controller or an industrial robot, the user data downloaded during operation, program update processing, etc. However, since other real-time processing is being executed, the processing capacity of the CPU cannot be largely allocated to the transfer processing or compression processing itself. However, since the download time of programs and data is regarded as a simple waiting time for the user, it is always required to increase the speed as much as possible.

高度なリアルタイム性を必要とする処理を行う機器は、比較的大きなプログラムやユーザデータを複数持つことが多く、またそれらのデータが相互に関連していることが多い。例としては、組込み機器プログラム用のプログラムがメインルーチン、サブルーチンで構成され、それぞれ個々にファイルとして格納されていて、かつ、動作中の組込み機器がオンラインで該プログラムを更新しなければならないような場合である。このような場合、メインルーチンとサブルーチンのように関連したデータは一連の転送処理として圧縮、転送、解凍を行い、その後機器側に有効なプログラムデータとして取り込み、同時に更新することによって、有効なプログラムデータ群として反映させる必要がある。すなわち、転送データ量に従って増大する個々の転送時間の短縮だけではなく、複数のブロックデータの転送及びそれらと同時に行われる圧縮、解凍処理などを含めた全体的な処理時間の最適化が要求される。   Devices that perform processing that requires a high degree of real-time often have a plurality of relatively large programs and user data, and these data are often related to each other. As an example, a program for an embedded device program is composed of a main routine and a subroutine, each of which is stored as a file, and the operating embedded device must update the program online. It is. In such a case, the relevant data, such as the main routine and subroutine, is compressed, transferred, and decompressed as a series of transfer processes, and then fetched as valid program data on the device side and updated at the same time. It is necessary to reflect as a group. In other words, not only shortening the individual transfer time that increases according to the amount of transfer data, but also optimization of the overall processing time including the transfer of a plurality of block data and the compression and decompression processing performed at the same time is required. .

また、組込み機器が例えば、USB(Universal Serial Bus)、RS−422、Ethernet(登録商標)など、異なる複数の通信インタフェースを持つ場合、それぞれの通信手段によってデータ転送処理性能は大きく異なる。転送速度を比較すると、100MbpsのEthernet(登録商標)と、19.2KbpsのRS−422シリアル通信では大きく異なると言えるし、パケットサイズを比較するとTCP/IPでは1500バイト、USBでは1024バイトがそれぞれ最大パケットとされており、これによっても転送処理性能に差が生じる。転送処理性能を決定するもう一つの要因として、組込み機器側で、データ転送、解凍処理のために用意できるバッファ容量サイズがどれくらいあるか、ということがある。これらのことを考慮すると、圧縮データを転送する際に、通信手段の転送処理能力と解凍処理のために用意できるバッファ容量を考慮して、最適な圧縮データ転送処理を行うことが要求される、と言える。加えて、組込み機器側の解凍処理についていえば、解凍処理が複数の通信経路によらず共通の処理であるからといって、解凍処理にむやみに高い優先度を割り付けてしまうと、例えば高速なネットワークの場合は頻繁に解凍処理がコールされることになりリアルタイム性の必要な処理を妨害される恐れがあり、また低速なネットワークに対して高い処理性能を割り付けることは、瞬間的に速く処理が終わるように見えるが、実は無駄時間が多く発生することになる。よって解凍処理の優先度の割り付けについても最適にする必要がある。
特開2000−13610号公報
Further, when the embedded device has a plurality of different communication interfaces such as USB (Universal Serial Bus), RS-422, and Ethernet (registered trademark), the data transfer processing performance varies greatly depending on the respective communication means. Comparing the transfer speed, it can be said that the Ethernet (registered trademark) of 100 Mbps and the RS-422 serial communication of 19.2 Kbps are greatly different, and comparing the packet size, the maximum is 1500 bytes for TCP / IP and 1024 bytes for USB. This is also a packet, and this also causes a difference in transfer processing performance. Another factor that determines the transfer processing performance is the size of the buffer capacity that can be prepared for data transfer and decompression processing on the embedded device side. Considering these things, when transferring compressed data, it is required to perform an optimal compressed data transfer process in consideration of the transfer processing capability of the communication means and the buffer capacity that can be prepared for the decompression process. It can be said. In addition, with regard to the decompression process on the embedded device side, if the decompression process is a common process regardless of multiple communication paths, and if a high priority is assigned to the decompression process unavoidably, for example, high-speed In the case of a network, the decompression process is frequently called, which may interfere with the process that requires real-time processing, and assigning high processing performance to a low-speed network will cause the process to be performed instantaneously and quickly. Although it seems to end, there is actually a lot of wasted time. Therefore, it is necessary to optimize the assignment of the priority of the decompression process.
JP 2000-13610 A

そこで、本発明の課題は、上述の問題点に鑑み、プログラム作成支援装置と組み込み機器間の圧縮データ転送において、データ転送処理の高速化を満たしつつ、圧縮、転送、解凍の一連の処理全体を考慮し、また、通信手段の転送処理性能及びデータ受信、解凍処理のために用意できるバッファ容量を考慮して、最適に調整できるデータ転送方式を提案することにある。   Therefore, in view of the above-described problems, the present invention has an object of performing a whole series of processes of compression, transfer, and decompression while satisfying the high-speed data transfer process in the compressed data transfer between the program creation support apparatus and the embedded device. In view of this, another object is to propose a data transfer method that can be optimally adjusted in consideration of the transfer processing performance of the communication means and the buffer capacity that can be prepared for data reception and decompression processing.

上述した課題を解決するために、本発明では、プログラム作成支援装置と組込み機器を伝送路で接続し、送信側である該プログラム作成支援装置からプログラム、ユーザデータなどの複数のブロックデータファイルをファイル単位で圧縮して転送し、受信側である組込み機器で解凍することによってデータのやり取りをする圧縮データ転送方式において、プログラム作成支援装置は、複数の圧縮データファイルの転送を行うのに先立って、送信するファイルのデータサイズ、送信順序を組込み機器に通知し、その後、データ転送を行うようにし、また、組込み機器はプログラム作成支援装置から通知されたファイルのデータサイズ、送信順序から圧縮・転送・解凍の一連の処理の並列処理の効率化を考慮し、また、伝送路の転送性能、用意できるバッファ容量、他の処理の負荷状況などを考慮し、解凍処理を行うタスクの処理優先度を決定し、解凍処理を実行させることで、組込み機器側の処理の最適化を図るようにした。   In order to solve the above-described problems, in the present invention, a program creation support apparatus and an embedded device are connected by a transmission line, and a plurality of block data files such as programs and user data are filed from the program creation support apparatus on the transmission side. In the compressed data transfer method in which data is exchanged by compressing and transferring in units and decompressing with an embedded device on the receiving side, the program creation support apparatus prior to transferring a plurality of compressed data files, Informs the embedded device of the data size and transmission order of the file to be transmitted, and then performs data transfer. The embedded device compresses / transfers data from the data size and transmission order of the file notified from the program creation support device. Consider the efficiency of parallel processing of a series of decompression processes, and transfer performance of the transmission line That the buffer capacity, consideration of the load status of the other processing, to determine the processing priority of the tasks to decompression processing, by executing the decompression process, and to optimize the processing of the embedded device side.

本発明の一態様によれば、プログラミング支援装置と組込み機器とを伝送路で接続し、該プログラム作成支援装置からデータを圧縮して送信し、該組み込み機器で受信、解凍することによってデータをやり取りする圧縮データ転送方式であって、前記プログラム作成支援装置は、複数の圧縮データファイルの送信を行うのに先立って、送信する各ファイルのデータサイズ、送信順序を組み込み機器に通知し、その後、圧縮データファイルを順次送信し、前記組込み機器は、前記プログラム作成支援装置が通知した、送信される各ファイルのデータサイズ、送信順序についての情報と、伝送路の通信性能、用意できるバッファ容量及び他の処理の負荷状況とから、優先度の異なる複数のタスクの中から最適なタスクを選択して解凍処理を割り当て、該タスクに解凍処理を行わせる、ことを特徴とする。これにより、組込み機器側では前もって通知されるファイルの情報と送信順序および伝送路の通信性能、データの受信及びデータの解凍に用意できるバッファ容量、他の処理の負荷状況に基づいて、優先度の異なるタスクから最適なタスクを選択して解凍処理を割り付けるようにすることが可能で、これによってデータ転送にかかる処理時間を最適化しつつ、組込み機器側の処理の余裕度を向上することができる。   According to one aspect of the present invention, a programming support device and an embedded device are connected via a transmission line, data is compressed from the program creation support device and transmitted, and the embedded device receives and decompresses the data to exchange data. The program creation support apparatus notifies the embedded device of the data size and transmission order of each file to be transmitted before transmitting a plurality of compressed data files, and then compresses the compressed data file. The data file is sequentially transmitted, and the embedded device notifies the program creation support device of the data size of each file to be transmitted, information about the transmission order, communication performance of the transmission path, available buffer capacity, and other Select the optimal task from multiple tasks with different priorities based on the processing load status and assign decompression processing. To perform the decompression processing to the task, characterized in that. As a result, on the embedded device side, based on the file information and transmission order notified in advance, the communication performance of the transmission path, the buffer capacity that can be prepared for data reception and data decompression, the load status of other processes, It is possible to select an optimal task from different tasks and assign the decompression process, thereby improving the processing margin on the embedded device side while optimizing the processing time required for data transfer.

本発明の一態様によれば、プログラミング支援装置と組込み機器とを伝送路で接続し、該プログラム作成支援装置からデータを圧縮して送信し、該組み込み機器で受信、解凍することによってデータをやり取りする圧縮データ転送システムであって、前記プログラム作成支援装置は、データを圧縮する圧縮手段と、複数の圧縮データファイルの送信を行うのに先立って、送信する各ファイルのデータサイズ、送信順序を組込み機器に通知する通知手段と、圧縮データファイルを順次送信する送信手段と、を備え、前記組込み機器は、データの解凍、リアルタイム処理など様々な処理を割り当てられ、優先度に基づいて該割り当てられた処理を実行する複数のタスクと、前記プログラム作成支援装置が通知した、送信される各ファイルのデータサイズ、送信順序についての情報と、伝送路の通信性能、用意できるバッファ容量及び他の処理の負荷状況とから、解凍処理を割り当てる最適なタスクを決定するタスクスケジューラと、を備えることを特徴とする。これにより、組込み機器側では前もって通知されるファイルの情報と送信順序および伝送路の通信性能、データの受信及びデータの解凍に用意できるバッファ容量、他の処理の負荷状況に基づいて、優先度の異なるタスクから最適なタスクを選択して解凍処理を割り付けるようにすることが可能で、これによってデータ転送にかかる処理時間を最適化しつつ、組込み機器側の処理の余裕度を向上することができる。   According to one aspect of the present invention, a programming support device and an embedded device are connected via a transmission line, data is compressed from the program creation support device and transmitted, and the embedded device receives and decompresses the data to exchange data. A compressed data transfer system, wherein the program creation support apparatus incorporates a compression means for compressing data and a data size and a transmission order of each file to be transmitted prior to transmitting a plurality of compressed data files. A notification means for notifying the device, and a transmission means for sequentially transmitting the compressed data file. The embedded device is assigned various processes such as data decompression and real-time processing, and is assigned based on the priority. A plurality of tasks for executing processing, and data of each transmitted file notified by the program creation support device And a task scheduler that determines an optimum task to which the decompression process is assigned from information on the transmission order, the communication performance of the transmission path, the buffer capacity that can be prepared, and the load status of other processes. . As a result, on the embedded device side, based on the file information and transmission order notified in advance, the communication performance of the transmission path, the buffer capacity that can be prepared for data reception and data decompression, the load status of other processes, It is possible to select an optimal task from different tasks and assign the decompression process, thereby improving the processing margin on the embedded device side while optimizing the processing time required for data transfer.

本発明によれば、プログラミング支援ツール等の端末装置と組込み機器とにおける圧縮データ転送において、組込み機器側では、端末装置からデータ本体の転送前に通知される圧縮データファイルの情報および送信順序と、データ転送に用いられる伝送路の通信性能と、組込み機器側で用意できるバッファ容量と、組込み機器内の他の処理の負荷状況とに基づいて、優先度の異なるタスクの中から最適なタスクを選択して解凍処理を割り付けるようにすることが可能で、これによって圧縮データを転送し、解凍するまでにかかる一連のデータ転送処理時間を最適化しつつ、組込み機器側の処理の余裕度を向上することが可能である。   According to the present invention, in compressed data transfer between a terminal device such as a programming support tool and an embedded device, on the embedded device side, information on the compressed data file notified from the terminal device before the transfer of the data body and the transmission order, Select the optimal task from tasks with different priorities based on the communication performance of the transmission path used for data transfer, the buffer capacity available on the embedded device, and the load status of other processing in the embedded device. It is possible to assign decompression processing, and this improves the margin of processing on the embedded device side while optimizing the series of data transfer processing time required to transfer compressed data and decompress it Is possible.

以下、図面を参照して、本発明の実施の形態について説明する。
図1に本発明の構成を示す。プログラミング支援ツールなどのソフトウェアを備えたプログラミング支援装置1と組込み機器2が、それぞれの通信インタフェース14、24を介して伝送路AまたはBで接続している。伝送路については、常に複数の伝送路によって接続しているわけではなく、複数の伝送路を使用可能であることを示したものである。すなわち、ユーザがいずれの伝送路を用いて支援装置1と組込み機器2を接続させるかによってデータ転送に用いる伝送路が決定される。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 shows the configuration of the present invention. A programming support device 1 having software such as a programming support tool and the embedded device 2 are connected by a transmission path A or B via respective communication interfaces 14 and 24. The transmission lines are not always connected by a plurality of transmission lines, but indicate that a plurality of transmission lines can be used. That is, the transmission path used for data transfer is determined depending on which transmission path the user uses to connect the support apparatus 1 and the embedded device 2.

プログラミング支援装置1は、転送するプログラムファイルやユーザデータファイル10を圧縮する圧縮手段11と、圧縮手段11で圧縮され転送されるファイルのデータサイズと転送順序を組込み機器2に通知する通知手段12と、圧縮されたファイルを送信する送信手段13とを備える。   The programming support device 1 includes a compression unit 11 that compresses a program file to be transferred and a user data file 10, and a notification unit 12 that notifies the embedded device 2 of the data size and transfer order of the file compressed and transferred by the compression unit 11. And transmitting means 13 for transmitting the compressed file.

組込み機器2は、プログラミング支援装置1から転送されたデータ等の受信および圧縮データの解凍などの処理に用いられるバッファ23と、データの解凍、リアルタイム処理など様々な処理を割り当てられるタスク22−1、22−2、22−3と、それぞれのタスクにどの処理を割り当てるかを決定するタスクスケジューラ21とを備える。尚、各タスクの優先度は異なる。また、タスクスケジューラ21は組込み機器2内の全てのタスク割り当てを統括するものであり、特に、プログラム作成支援装置1が通知した、送信される各ファイルのデータサイズ及び送信順序についての情報と、伝送路の通信性能、データの受信やデータ解凍に用意できるバッファ容量及び他の処理の状況とから、解凍処理を割り当てる最適なタスクを決定するように構成されている。   The embedded device 2 includes a buffer 23 used for processes such as reception of data transferred from the programming support apparatus 1 and decompression of compressed data, and a task 22-1 to which various processes such as data decompression and real-time processing are assigned. 22-2 and 22-3, and a task scheduler 21 that determines which process is assigned to each task. Each task has a different priority. The task scheduler 21 supervises all task assignments in the embedded device 2, and in particular, information on the data size and transmission order of each transmitted file notified by the program creation support apparatus 1, and transmission The optimum task to which the decompression process is assigned is determined from the communication performance of the path, the buffer capacity that can be prepared for data reception and data decompression, and other processing conditions.

以下具体的に、本発明の圧縮データ転送について述べる。
図1において、伝送路Aの転送速度を20Kbps,伝送路Bの転送速度を300Kbpsとし、伝送路Bによって支援装置1と組込み機器2が接続されたとする。また、組込み機器2内にはT1〜T3の3つのタスクが存在し、これらは優先度の低い順にT1,T2,T3で、処理速度はそれぞれ100Kbps、200Kbps、600Kbpsで解凍処理が可能であるとする。
The compressed data transfer of the present invention will be specifically described below.
In FIG. 1, it is assumed that the transfer speed of the transmission path A is 20 Kbps, the transfer speed of the transmission path B is 300 Kbps, and the support apparatus 1 and the embedded device 2 are connected by the transmission path B. Also, there are three tasks T1 to T3 in the embedded device 2, and these are T1, T2 and T3 in order of priority, and decompression processing is possible at processing speeds of 100 Kbps, 200 Kbps and 600 Kbps, respectively. To do.

今、圧縮後のファイルサイズがそれぞれ20Kbyte、40Kbyte、100Kbyte、40Kbyte、200KbyteのファイルF1,F2,F3,F4,F5を転送するとする。転送順序がF1→F2→F3→F4→F5である場合、転送処理の流れは以下のようになる。
(1)転送順序及び各ファイルのファイルサイズが支援装置1から組込み機器2に通知される。
(2)F1→F2→F3→F4→F5の順に、順次、圧縮、転送、解凍処理が行われる。
(3)組込み機器側では、解凍処理のタスクスケジューリングを、次に続いて行われるファイルの転送処理の処理時間をもとに行う。
Assume that files F1, F2, F3, F4, and F5 having file sizes after compression of 20 Kbytes, 40 Kbytes, 100 Kbytes, 40 Kbytes, and 200 Kbytes are transferred. When the transfer order is F1->F2->F3->F4-> F5, the flow of the transfer process is as follows.
(1) The transfer order and the file size of each file are notified from the support apparatus 1 to the embedded device 2.
(2) The compression, transfer, and decompression processes are sequentially performed in the order of F1, F2, F3, F4, and F5.
(3) On the embedded device side, the task scheduling of the decompression process is performed based on the processing time of the file transfer process that is subsequently performed.

図2(a)は、従来技術において、伝送路Bで上述のようにF1→F2→F3→F4→F5の順に順次、圧縮、転送、解凍の処理を行った場合の時間例を示したものである。従来は組込み機器側の解凍処理は一つのタスクで行われ、直列的に処理が行われた。この例ではF4の解凍処理を始めるまでにF3の解凍処理が終了できないため、待ち時間が発生している。   FIG. 2A shows an example of time when the compression, transfer, and decompression processes are sequentially performed in the order of F1-> F2-> F3-> F4-> F5 on the transmission line B as described above in the prior art. It is. Conventionally, the decompression process on the embedded device side is performed in one task, and the processes are performed serially. In this example, since the decompression process of F3 cannot be completed before the decompression process of F4 is started, a waiting time is generated.

これに対して、本発明によるデータ転送では、圧縮データ転送開始前に通知されるファイルの転送順序を参照して、ファイルF1の解凍処理は次のファイルF2の転送処理、ファイルF2の解凍処理は次のファイルF3の転送処理、というように以下同様にして、解凍処理を次に転送されるファイルの転送処理時間に基づいてスケジューリングする。すなわち、例えばF1の解凍処理は、次のF2の転送処理時間より短くなるようにすれば、処理時間が相殺されるため待ち時間が発生しない。よって、そのようになるようにタスク割り当てが行われる。尚、スケジューリングの際、データ(ファイル)の受信及び解凍処理を行うのに十分なバッファ容量があるか、他の処理の負荷状況なども考慮される。   On the other hand, in the data transfer according to the present invention, referring to the transfer order of the file notified before starting the compressed data transfer, the decompression process of the file F1 is the transfer process of the next file F2, and the decompression process of the file F2 is The decompression process is scheduled based on the transfer process time of the next file to be transferred in the same manner as described below, such as the transfer process of the next file F3. That is, for example, if the decompression processing of F1 is made shorter than the transfer processing time of the next F2, the processing time is offset, so no waiting time occurs. Therefore, task assignment is performed so as to be like that. Note that, when scheduling, there is a buffer capacity sufficient for receiving and decompressing data (file), and other processing load conditions are also taken into consideration.

図2(b)に、本発明によってファイルを圧縮、転送、解凍処理した場合の時間例を示す。まずファイルF1が転送され、その後ファイルF1が解凍処理されるが、ファイルサイズが20KbyteのファイルF1の解凍処理時間を、ファイルF2の転送処理時間よりも小さくなるようにすればファイルF2の解凍処理を始めるまでに待ち時間が発生しない。ファイルF2の転送処理時間は、ファイルF2のファイルサイズを伝送路Bの転送速度で割ればよいので40Kbyte×8/300Kbps=1.06secとなり、タスクスケジューラはファイルF1の解凍処理に1.06秒以下となるのに最低限必要なタスクレベルを選択して処理を割り当てる。この場合、処理性能200KbpsのタスクT2でのファイルF1解凍処理時間は20Kbyte×8/200Kbps=0.8secであり、処理性能100KbpsのタスクT1でのファイルF1解凍処理時間は20Kbyte×8/100Kbps=1.6secとなるので、タスクスケジューラはタスクT2を選択して解凍処理を割り当てる。同様にしてファイルF2の解凍処理はタスクT2に割り当てられる。続くファイルF3の解凍処理のタスク割り当ては、ファイルF4の転送処理時間によって決定される。すなわちファイルF4の転送処理には40Kbyte×8/300Kbps=1.06secかかるため、待ち時間が発生しないようにファイルF3の解凍処理を割り当てたいが、この場合は、処理性能600KbpsのタスクT3を割り当てても100KbyteのファイルF3を解凍するのに100Kbyte×8/600Kbps=1.3secかかってしまう。タスクT3は組込み機器2が備える最高処理性能タスクなので、この場合は待ち時間が生じてしまうが、タスクT3をファイルF3の解凍処理に割り当てることになる。次にファイルF4の解凍処理のタスク割り当ては、ファイルF5の転送処理時間によって決定される。すなわちファイルF5の転送処理時間は200Kbyte×8/300Kbps=5.3secであり、処理性能100KbpsのタスクT1をファイルF4の解凍処理を割り当てても40Kbyte×8/100Kbps=3.2secで、ファイルF5の解凍処理を始めるまでに待ち時間を発生させないために十分であることから、タスクT1にファイルF4の解凍処理が割り当てられる。最後にファイルサイズ200KbyteのファイルF5の解凍処理は、次に続く転送処理がないことから、最も処理性能が高いタスクT3に割り当てられる。   FIG. 2B shows an example of time when the file is compressed, transferred, and decompressed according to the present invention. First, the file F1 is transferred, and then the file F1 is decompressed. If the decompression time of the file F1 having a file size of 20 Kbytes is made smaller than the transfer processing time of the file F2, the decompression process of the file F2 is performed. There is no waiting time before starting. The transfer processing time of the file F2 is 40 Kbytes × 8/300 Kbps = 1.06 sec because the file size of the file F2 is divided by the transfer speed of the transmission path B, and the task scheduler takes 1.06 seconds or less for the decompression processing of the file F1. Select the minimum task level required to be In this case, the file F1 decompression processing time in the task T2 with a processing performance of 200 Kbps is 20 Kbytes × 8/200 Kbps = 0.8 sec, and the file F1 decompression processing time in the task T1 with a processing performance of 100 Kbps is 20 Kbytes × 8/100 Kbps = 1. .6 sec, the task scheduler selects task T2 and assigns decompression processing. Similarly, the decompression process of the file F2 is assigned to the task T2. The task assignment for the subsequent decompression processing of the file F3 is determined by the transfer processing time of the file F4. That is, since the transfer processing of the file F4 takes 40 Kbytes × 8/300 Kbps = 1.06 sec, it is desired to allocate the decompression processing of the file F3 so that the waiting time does not occur. In this case, the task T3 having a processing performance of 600 Kbps is allocated. However, it takes 100 Kbytes × 8/600 Kbps = 1.3 sec to decompress the 100 Kbyte file F3. Since the task T3 is the highest processing performance task provided in the embedded device 2, a waiting time occurs in this case, but the task T3 is assigned to the decompression processing of the file F3. Next, the task assignment of the decompression processing of the file F4 is determined by the transfer processing time of the file F5. That is, the transfer processing time of the file F5 is 200 Kbytes × 8/300 Kbps = 5.3 sec, and even if the task T1 having a processing performance of 100 Kbps is assigned the decompression processing of the file F4, the transfer processing time of the file F5 is 40 Kbytes × 8/100 Kbps = 3.2 sec. Since it is sufficient not to generate a waiting time before starting the decompression process, the decompression process of the file F4 is assigned to the task T1. Finally, the decompression process of the file F5 having a file size of 200 Kbytes is assigned to the task T3 having the highest processing performance because there is no transfer process that follows.

以上のように組込み機器側で解凍処理にかかる時間と次のファイルの転送時間を考慮してタスクスケジューリングを行うことで、図2(a)と図2(b)を比較するとわかるように、一連の圧縮データ転送処理の効率を上げることが可能となる。
尚、上記の説明では、解凍処理を次に転送されるファイルの転送処理時間によってタスク割り当てをすることを主に説明したが、バッファの空き容量や他の負荷状況などによっては、他の処理が解凍処理より優先的に処理されるようにタスク割り当てがなされる場合もある。すなわち、リアルタイム性を保証すべき機器では、解凍処理タスク選択を可能な限り低いレベルに抑制した上で処理時間を最適にするように構成し、定常的に他の処理が行われておらず時々高い優先度をもつ処理が走るような機器では、高優先度処理が実行中であるか否かという情報をタスク割り当ての判断材料として使用するように構成してもよい。これによって、他の処理に影響を与えることなくデータ転送処理を行うことができ、かつ処理時間を最適に抑えることができる。
As described above, the task scheduling is performed in consideration of the time required for the decompression process and the transfer time of the next file on the embedded device side, and as shown in FIG. 2A and FIG. It is possible to increase the efficiency of the compressed data transfer process.
In the above description, the task allocation is mainly performed according to the transfer processing time of the file to be transferred next. However, depending on the free space of the buffer and other load conditions, other processes may be performed. There is a case where task assignment is performed so that processing is prioritized over decompression processing. In other words, devices that should guarantee real-time performance are configured to optimize the processing time after suppressing the decompression task selection to the lowest possible level, and other processing is not performed regularly. In a device in which a process with a high priority runs, information on whether or not the high priority process is being executed may be used as a material for determining task assignment. As a result, the data transfer process can be performed without affecting other processes, and the processing time can be optimally suppressed.

以上のように、本発明によれば、プログラミング支援ツール等の端末装置と組込み機器とにおける圧縮データ転送において、組込み機器側では、端末装置からデータ本体の転送前に通知される圧縮データファイルの情報および送信順序と、データ転送に用いられる伝送路の通信性能と、組込み機器側で用意できるバッファ容量と、組込み機器内の他の処理の負荷状況とに基づいて、優先度の異なるタスクの中から最適なタスクを選択して解凍処理を割り付けるようにすることが可能で、これによって圧縮データを転送し、解凍するまでにかかる一連のデータ転送処理時間を最適化しつつ、組込み機器側の処理の余裕度を向上することが可能である。   As described above, according to the present invention, in compressed data transfer between a terminal device such as a programming support tool and an embedded device, information on the compressed data file notified from the terminal device before the data body is transferred on the embedded device side. Based on the order of transmission, the communication performance of the transmission path used for data transfer, the buffer capacity that can be prepared on the embedded device side, and the load status of other processes in the embedded device It is possible to assign the decompression process by selecting the optimal task, which optimizes the series of data transfer processing time required to transfer the compressed data and decompress it, while leaving the processing margin on the embedded device side It is possible to improve the degree.

本発明の構成を示す図である。It is a figure which shows the structure of this invention. (a)は従来技術での圧縮、転送、解凍処理の時間例を示す図であり、(b)本発明での圧縮、転送、解凍処理の時間例を示す図である。(A) is a figure which shows the time example of the compression, transfer, and decompression | decompression process in a prior art, (b) It is a figure which shows the time example of the compression, transfer, and decompression | decompression process in this invention. データ転送を行うシステム例を示す図である。1 is a diagram illustrating an example of a system that performs data transfer. 従来のシステムにおける圧縮、転送、解凍処理の流れを示す図である。It is a figure which shows the flow of the compression, transfer, and decompression | decompression process in the conventional system.

符号の説明Explanation of symbols

1 プログラミング支援装置
2 組込み機器
10 プログラムファイル、ユーザデータファイル
11 圧縮手段
12 通知手段
13 送信手段
14 通信インタフェース
21 タスクスケジューラ
22−1〜22−3 タスク
23 バッファ
24 通信インタフェース
DESCRIPTION OF SYMBOLS 1 Programming support apparatus 2 Embedded apparatus 10 Program file, user data file 11 Compression means 12 Notification means 13 Transmission means 14 Communication interface 21 Task scheduler 22-1 to 22-3 Task 23 Buffer 24 Communication interface

Claims (2)

プログラミング支援装置と組込み機器とを伝送路で接続し、該プログラム作成支援装置からデータを圧縮して送信し、該組み込み機器で受信、解凍することによってデータをやり取りする圧縮データ転送方式であって、
前記プログラム作成支援装置は、複数の圧縮データファイルの送信を行うのに先立って、送信する各ファイルのデータサイズ、送信順序を組み込み機器に通知し、その後、圧縮データファイルを順次送信し、
前記組込み機器は、前記プログラム作成支援装置が通知した、送信される各ファイルのデータサイズ、送信順序についての情報と、伝送路の通信性能、用意できるバッファ容量及び他の処理の負荷状況とから、優先度の異なる複数のタスクの中から最適なタスクを選択して解凍処理を割り当て、該タスクに解凍処理を行わせる、
ことを特徴とする圧縮データ転送方式。
A compressed data transfer method in which a programming support device and an embedded device are connected by a transmission path, data is compressed and transmitted from the program creation support device, and data is exchanged by receiving and decompressing the embedded device,
Prior to transmitting a plurality of compressed data files, the program creation support device notifies the embedded device of the data size and transmission order of each file to be transmitted, and then sequentially transmits the compressed data files,
The embedded device is notified from the program creation support device, the data size of each file to be transmitted, information about the transmission order, the communication performance of the transmission path, the buffer capacity that can be prepared and the load status of other processing, Select an optimal task from a plurality of tasks with different priorities, assign a decompression process, and let the task perform the decompression process.
A compressed data transfer system characterized by this.
プログラミング支援装置と組込み機器とを伝送路で接続し、該プログラム作成支援装置からデータを圧縮して送信し、該組み込み機器で受信、解凍することによってデータをやり取りする圧縮データ転送システムであって、
前記プログラム作成支援装置は、
データを圧縮する圧縮手段と、
複数の圧縮データファイルの送信を行うのに先立って、送信する各ファイルのデータサイズ、送信順序を組込み機器に通知する通知手段と、
圧縮データファイルを順次送信する送信手段と、
を備え、
前記組込み機器は、
データの解凍、リアルタイム処理など様々な処理を割り当てられ、優先度に基づいて該割り当てられた処理を実行する複数のタスクと、
前記プログラム作成支援装置が通知した、送信される各ファイルのデータサイズ、送信順序についての情報と、伝送路の通信性能、用意できるバッファ容量及び他の処理の負荷状況とから、解凍処理を割り当てる最適なタスクを決定するタスクスケジューラと、
を備えることを特徴とする圧縮データ転送システム。
A compressed data transfer system that connects a programming support device and an embedded device via a transmission line, compresses and transmits data from the program creation support device, receives and decompresses the data by the embedded device, and exchanges data.
The program creation support device includes:
Compression means for compressing data;
Prior to transmitting a plurality of compressed data files, a notification means for notifying the embedded device of the data size and transmission order of each file to be transmitted;
A transmission means for sequentially transmitting the compressed data file;
With
The embedded device is
A plurality of tasks that are assigned various processes such as data decompression and real-time processing, and execute the assigned processes based on priority,
The optimal allocation of decompression processing based on the data size and transmission order information of each file to be transmitted, notified by the program creation support device, and the communication performance of the transmission path, the buffer capacity that can be prepared, and the load status of other processing A task scheduler that determines which tasks are
A compressed data transfer system comprising:
JP2005163272A 2005-06-02 2005-06-02 Compressed data transfer method and system Pending JP2006338409A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005163272A JP2006338409A (en) 2005-06-02 2005-06-02 Compressed data transfer method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005163272A JP2006338409A (en) 2005-06-02 2005-06-02 Compressed data transfer method and system

Publications (1)

Publication Number Publication Date
JP2006338409A true JP2006338409A (en) 2006-12-14

Family

ID=37558907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005163272A Pending JP2006338409A (en) 2005-06-02 2005-06-02 Compressed data transfer method and system

Country Status (1)

Country Link
JP (1) JP2006338409A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305404A (en) * 2007-06-06 2008-12-18 Internatl Business Mach Corp <Ibm> System, method and program product for backing up data
WO2020115818A1 (en) * 2018-12-04 2020-06-11 三菱電機株式会社 Update management device, update management system, and update management method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047825A (en) * 1998-07-27 2000-02-18 Hitachi Ltd Parallel simultaneous transfer method for plural files
JP2002515143A (en) * 1993-12-17 2002-05-21 エンパイア ブルー クロス/ブルー シールド Data processing method and apparatus in remote work terminal (remote work station)
JP2003196186A (en) * 2001-12-28 2003-07-11 Minolta Co Ltd Image processor, transmitting method for firmware, and management system for image processor
JP2005025249A (en) * 2003-06-30 2005-01-27 Ricoh Co Ltd Document distribution method using data processing system, and data processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002515143A (en) * 1993-12-17 2002-05-21 エンパイア ブルー クロス/ブルー シールド Data processing method and apparatus in remote work terminal (remote work station)
JP2000047825A (en) * 1998-07-27 2000-02-18 Hitachi Ltd Parallel simultaneous transfer method for plural files
JP2003196186A (en) * 2001-12-28 2003-07-11 Minolta Co Ltd Image processor, transmitting method for firmware, and management system for image processor
JP2005025249A (en) * 2003-06-30 2005-01-27 Ricoh Co Ltd Document distribution method using data processing system, and data processing system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305404A (en) * 2007-06-06 2008-12-18 Internatl Business Mach Corp <Ibm> System, method and program product for backing up data
US8874518B2 (en) 2007-06-06 2014-10-28 International Business Machines Corporation System, method and program product for backing up data
US9413857B2 (en) 2007-06-06 2016-08-09 International Business Machines Corporation System, method and program product for backing up data
US11169890B2 (en) 2007-06-06 2021-11-09 International Business Machines Corporation System, method and program product for backing up data
WO2020115818A1 (en) * 2018-12-04 2020-06-11 三菱電機株式会社 Update management device, update management system, and update management method

Similar Documents

Publication Publication Date Title
JP5303452B2 (en) Delayed download of video services using a peer-to-peer (P2P) content distribution network
KR100992282B1 (en) Apparatus and method for supporting connection establishment in an offload of network protocol processing
WO2018036133A1 (en) File download method and device
JP2004038758A (en) Storage controller, control method for storage controller, and program
KR20070030285A (en) Apparatus and method for supporting memory management in an offload of network protocol processing
WO2010020159A1 (en) Method and device for balancing interrupt load of multicore processor
JP2007079789A (en) Computer system and event processing method
CN111343288B (en) Job scheduling method and system and computing device
JP5109748B2 (en) Virtual computer system, packet transmission control method, and network interface card used therefor
CN115167996A (en) Scheduling method and device, chip, electronic equipment and storage medium
CN110399329B (en) RDMA data processing method and related device
JP2006338409A (en) Compressed data transfer method and system
CN113626213A (en) Event processing method, device and equipment and computer readable storage medium
TWI296387B (en) Scheduling method for remote object procedure call and system thereof
CN106790632B (en) Streaming data concurrent transmission method and device
CN111245794B (en) Data transmission method and device
CN106681804B (en) Storage device, host corresponding to storage device and task execution method thereof
US7853739B1 (en) Method and system for transmitting USB communication
JP2007074218A (en) Program, device, and method for controlling packet transmission
CN116848508A (en) Scheduling tasks for computer execution based on reinforcement learning model
CN101409711A (en) Host controller device and data transfer control method
JPWO2004068356A1 (en) Data communication system, data communication method, and data communication program
JP4349636B2 (en) Packet processing apparatus and program
JP6620760B2 (en) Management node, terminal, communication system, communication method, and program
CN106776031B (en) A kind of data transmission method for uplink and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080415

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080919

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080919

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101207