JP5637406B2 - Data transmitting apparatus and program - Google Patents
Data transmitting apparatus and program Download PDFInfo
- Publication number
- JP5637406B2 JP5637406B2 JP2013079079A JP2013079079A JP5637406B2 JP 5637406 B2 JP5637406 B2 JP 5637406B2 JP 2013079079 A JP2013079079 A JP 2013079079A JP 2013079079 A JP2013079079 A JP 2013079079A JP 5637406 B2 JP5637406 B2 JP 5637406B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- transmission
- client device
- stored
- 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.)
- Active
Links
Images
Description
本発明は、データ送信装置、およびプログラムに関する。 The present invention relates to a data transmission device, about your and program.
従来のサーバ・クライアント・システムにおいて、例えばクライアント装置からのリモート操作によりサーバ装置側で所望のアプリケーションプログラムを起動実行させるサーバベース・コンピューティング・システム(SBC;Server Based Computing system)がある。このSBCシステムでは、クライアント装置の操作入力に応じてサーバ装置側で処理され更新される表示用の描画データが、該サーバ装置からその描画更新の都度クライアント装置へと送信転送されて表示される。これによりクライアント装置は、表示や入力など最低限の機能のみを持てば良く、アプリケーションなどの資源はサーバ装置で一元管理するものである。 In a conventional server-client system, for example, there is a server-based computing system (SBC) in which a desired application program is activated and executed on the server device side by remote operation from the client device. In this SBC system, display drawing data that is processed and updated on the server device side in response to an operation input of the client device is transmitted and transferred from the server device to the client device every time the drawing is updated. As a result, the client device only needs to have a minimum function such as display and input, and resources such as applications are centrally managed by the server device.
このようにSBCシステムは、サーバ装置上でアプリケーションプログラムが実行されるので、クライアント装置の性能が低い場合にも高機能なコンピューティング環境を実現可能である。 As described above, since the application program is executed on the server device, the SBC system can realize a highly functional computing environment even when the performance of the client device is low.
従来、SBCシステムは、社内LAN(Local Area Network)のような、遅延の存在しない高速ネットワークを前提に設計されている。しかしながら、画面更新のデータ量が大きかったり、ネットワークの通信速度(帯域幅)が低速(狭い)であったりした場合には、クライアント装置の操作入力に対してサーバ装置により生成される画面描画データが当該クライアント装置に送信転送されて1画面として完成表示されるまでに時間が掛かり、応答性の悪い問題となる。 Conventionally, the SBC system is designed on the premise of a high-speed network having no delay such as an in-house LAN (Local Area Network). However, when the amount of screen update data is large or the network communication speed (bandwidth) is low (narrow), the screen drawing data generated by the server device in response to the operation input of the client device is It takes time until the data is transmitted and transferred to the client device and is completed and displayed as one screen, which causes a problem of poor responsiveness.
そこで、クライアント装置におけるユーザの見かけの反応を良くするため、最初は低画質にしたデータ量の少ない画面描画データを送信し、その後インターバルを置いて高画質の画面描画データを送信する画面転送装置が考えられている(例えば、特許文献1参照。)。 Therefore, in order to improve the user's apparent response in the client device, a screen transfer device that transmits screen drawing data with low data quality with a small amount of data first, and then transmits high-quality screen drawing data at intervals. (For example, refer to Patent Document 1).
また、サーバ装置からクライアント装置に送信転送された表示用の描画データを、当該クライアント装置において蓄積記憶して利用することで、サーバ装置から一旦送信転送した描画データについては繰り返し送信する必要がなくなり、サーバ装置の負荷を軽減でき、クライアント装置から見た描画更新の操作レスポンスも改善し得るクライアントサーバシステムが考えられている(例えば、特許文献2参照。)。 Further, the drawing data for display transmitted and transferred from the server device to the client device is accumulated and stored in the client device, so that it is not necessary to repeatedly transmit the drawing data once transmitted from the server device, A client server system that can reduce the load on the server device and can improve the operation response of the drawing update as viewed from the client device has been considered (for example, see Patent Document 2).
前記従来のクライアントサーバシステムでは、クライアント装置に一旦送信転送されて蓄積された過去の描画データについては、サーバ装置からの再送信を待つとこなく操作レスポンス良く表示できるものの、例えばサーバ装置に新たなWebページの取得を要求してその長大なページデータをスクロール操作しながら表示させる場合には、スクロール操作の都度、当該スクロールの指示に応じた領域のページデータをクライアント装置へ転送する処理が生じるため、操作レスポンス良く表示させることはできない。 In the conventional client-server system, past drawing data once transmitted and stored in the client device can be displayed with good operation response without waiting for re-transmission from the server device. When requesting acquisition of a page and displaying the long page data while scrolling, the page data in the area corresponding to the scroll instruction is transferred to the client device each time the scroll operation is performed. It cannot be displayed with good operation response.
本発明は、このような課題に鑑みなされたもので、操作レスポンス良く表示させること
が可能になるデータ送信装置、およびプログラムを提供することを目的とする。
The present invention has been made in view of such problems, the data transmission apparatus becomes possible to display operation with good response, and to provide a contact and program.
請求項1に記載のデータ送信装置は、データを分割し分割データとして記憶するデータ記憶手段と、このデータ記憶手段により記憶された分割データのそれぞれに順位を設定する順位設定手段と、自装置の動作状態に応じてデータを送信するタイミングを判断する送信タイミング判断手段と、この送信タイミング判断手段により判断されるデータ送信のタイミングで、前記データ記憶手段により記憶された分割データを前記順位設定手段により設定された順位に従い端末装置へ送信するデータ送信手段と、を備えたことを特徴としている。
Data transmission device according to
本発明によれば、操作レスポンス良く表示させることが可能になるデータ送信装置、およびプログラムを提供できる。
According to the present invention, a data transmission apparatus becomes possible to display operation with good response, it can provide a contact and program.
以下図面により本発明の実施の形態について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明の実施形態に係るSBC(Server Based Computing)システムの構成を示すブロック図である。 FIG. 1 is a block diagram showing a configuration of an SBC (Server Based Computing) system according to an embodiment of the present invention.
このSBCシステムは、有線または無線のLAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上に接続されたサーバ装置10および複数のクライアント装置(Thin client)20,…を備える。
This SBC system includes a
サーバ装置10は、テキスト作成処理プログラム,Webブラウザプログラム,表計算処理プログラム,メール処理プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置10に接続されたクライアント装置20,…からの操作入力(入力イベント)信号に応じて起動しその処理を実行する。
The
このサーバ装置10において、クライアント装置20,…からの操作入力信号に応じたアプリケーションプログラムの実行に伴い、クライアント用のフレームバッファRAM14a(図2参照)上に生成された表示出力用の描画データGは、イメージ送信やコマンド送信を組み合わせてアクセス元のクライアント装置20,…へ転送される。
In the
そして、クライアント装置20,…では、前記サーバ装置10から転送された描画データGがフレームバッファRAM25(図3参照)に展開され、表示装置26の表示画面に表示される。
Then, in the
つまり、このSBCシステムにおける各クライアント装置(Thin client)20,…は、何れもキーボードやマウスなどのユーザ操作に応じた入力機能とLCD表示部及びプリンタなどへの出力機能を主要な機能として有し、少なくとも前記サーバ装置10が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
That is, each client device (Thin client) 20 in the SBC system has an input function corresponding to a user operation such as a keyboard and a mouse and an output function to an LCD display unit and a printer as main functions. The
そして、クライアント装置20,…からの操作入力(入力イベント)信号に応じてサーバ装置10にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置10内あるいは該サーバ装置10にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
And the data file produced | generated with the various processes started and performed in the
図2は、前記SBCシステムにおけるサーバ装置10の回路構成を示すブロック図である。
FIG. 2 is a block diagram showing a circuit configuration of the
サーバ装置10は、コンピュータとしてのCPU11を備え、このCPU11には、バス12を介してROM13、RAM14、フレームバッファRAM15、表示装置16が接続される。
The
また、CPU11には、バス12を介してキーボード,マウスなどの入力装置17、外部記憶装置18、クライアント装置20,…との通信I/F(インターフェイス)19が接続される。
Further, a communication I / F (interface) 19 with an
CPU11は、ROM13のプログラムメモリ13aに予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM14を作業用メモリとし回路各部の動作を制御するもので、入力装置17からのキー入力信号や通信I/F19を介して受信されるクライアント装置20からのユーザ操作に応じた処理指令(入力イベント)信号などに応じて前記種々のプログラムが起動・実行される。
The
このサーバ装置10において、クライアント装置20からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザIDに対応付けられて外部記憶装置18に記憶される。またクライアント表示用の描画データGは、RAM14内のクライアント用フレームバッファRAM14aを使用して生成されると共に、通信I/F19からクライアント装置20へ転送されて表示出力される。
In this
また、RAM14内には、先読みキャッシュメモリ14Xが備えられる。この先読みキャッシュメモリ14Xには、クライアント装置20からの入力イベント信号に応じて実行されるアプリケーションプログラムに従い、クライアント装置20の表示画面(26)に表示させるべき描画データGがクライアント用フレームバッファRAM14aに生成されるのに伴い、当該描画データGに連続して表示画面外となる領域も含む全てのデータがキャッシュデータとして記憶される。例えばクライアント装置20からの入力イベントがWebページHPの表示を要求するイベントである場合に、これに応答してサーバ装置10のWebブラウザプログラムにより取得されたWebページHPの全体データから、クライアント装置20の表示画面(26)に合わせた描画データGが生成されてクライアント用フレームバッファRAM14aに記憶されると共に(図6(A)参照)、当該WebページHPの全体データ(図6(B)参照)がキャッシュデータCDとして先読みキャッシュメモリ14Xに記憶される。
The
この先読みキャッシュメモリ14Xに記憶されたキャッシュデータCDは、前記クライアント用フレームバッファRAM14aに生成された描画データGの転送処理とは別に設定された適切なタイミングでクライアント装置20へ転送され、その先読みキャッシュメモリ24a(図3参照)に記憶される。
The cache data CD stored in the
なお、前記クライアント用フレームバッファRAM14aに生成された描画データGが、前記先読みキャッシュメモリ24aに既に送信済みとして記憶されているキャッシュデータと同じである場合には、当該キャッシュデータに対応付けられたキャッシュIDだけがクライアント装置20へ送信される。
If the drawing data G generated in the client
一方、サーバ装置10自身の表示装置16にて表示させるための描画データは、フレームバッファRAM15上に生成される。
On the other hand, drawing data to be displayed on the
図3は、前記SBCシステムにおけるクライアント装置20の回路構成を示すブロック図である。
FIG. 3 is a block diagram showing a circuit configuration of the
クライアント装置20は、コンピュータとしてのCPU21を備え、このCPU21には、バス22を介してROM23、RAM24、フレームバッファRAM25が接続される。そして、このフレームバッファRAM25に書き込まれた描画データG(図6(A)参照)が、表示装置26の表示画面に表示される。
The
また、CPU21には、バス22を介して入力装置27、外部記憶装置28、前記サーバ装置10との通信I/F(インターフェイス)29が接続される。
The
CPU21は、ROM23のプログラムメモリ23aに予め記憶されているシステムプログラムに従ってRAM24を作業用メモリとし回路各部の動作を制御するもので、入力装置27からのキー入力信号、通信I/F29を介して受信されるサーバ装置10からのアプリケーション応答信号や転送描画データG、キャッシュデータCDなどに応じて前記システムプログラムが起動され実行される。
The
このクライアント装置20において、前記サーバ装置10におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置28に読み込ませて記憶させ、また生成転送された表示用の描画データGは、フレームバッファRAM25に展開され表示装置26で表示出力される。
In the
なお、前記サーバ装置10の先読みキャッシュメモリ14Xから読み出されてクライアント装置20へ転送されるWebページHPなどのキャッシュデータは、先読みキャッシュメモリ24aに記憶される。そして、クライアント装置20からの入力イベントに応答して前記サーバ装置10aからキャッシュIDが受信された場合には、当該キャッシュIDに対応付けられたキャッシュデータが前記先読みキャッシュメモリ24aから読み出され、前記フレームバッファRAM29に展開されて表示出力される。
Note that cache data such as a web page HP read from the
図4は、前記サーバ装置10とクライアント装置20におけるソフトウエア・モジュールの構成を示す図である。
FIG. 4 is a diagram showing the configuration of software modules in the
サーバ装置10のプログラムメモリ13aに記憶されるサーバ制御プログラムは、RTT(Round Trip Time)測定モジュール13a1、画面制御モジュール13a2、通信モジュール13a3を有する。
The server control program stored in the
RTT測定モジュール13a1は、ネットワークNにおけるクライアント装置20との間での伝送遅延の度合いを測定し、この測定結果を画面制御モジュール13a2に通知する機能を有する。
The RTT measurement module 13a1 has a function of measuring the degree of transmission delay with the
画面制御モジュール13a2は、クライアント装置20からの入力イベントに応じたアプリケーションプログラムを起動させて当該クライアント装置20の表示画面(26)に表示させるべき描画データGをクライアント用フレームバッファRAM14a上に生成する(図6(A)参照)。また、前記クライアント表示用の描画データGの生成に伴い、当該描画データGに連続する一連の描画データ(例えば図6(B)で示すように、WebページHPへのアクセスイベントが発生した場合にはそのページ全体のデータ(HP))を取得し、先読みキャッシュメモリ14XにキャッシュデータCDとして記憶する。そして、先読みキャッシュメモリ14Xに記憶されたキャッシュデータCDを、画面スクロールの可能性が高い順の3つの領域[Level-1/Level-2/Level-3)(図10参照)に分け、前記一連の描画データの取得開始直後(WebページHPのロード開始直後)の第1のタイミングと、前記一連の描画データの取得終了直後(WebページHPのロード終了直後)の第2のタイミングと、クライアント装置20からの入力イベントの状況や前記RTT測定モジュール13a1から通知された伝送遅延の測定結果および前記描画データGのクライアント装置20への転送待ち状況に応じた第3のタイミングとにより、前記クライアント装置20へ送信する。さらに、前記クライアント表示用の描画データGの生成に伴い、当該描画データGと一致するキャッシュデータが先読みキャッシュメモリ14Xに存在した場合に、そのキャッシュIDを送信するための送信スケジュールの制御機能を有する。
The screen control module 13a2 activates an application program corresponding to an input event from the
通信モジュール13a3は、クライアント装置20から受け取った入力イベントデータやRTT測定のためのデータを、画面制御モジュール13a2やRTT測定モジュール13a1に引き渡す機能、およびRTT測定モジュール13a1から受け取ったRTT測定のためのデータや、画面制御モジュール13a2から受け取った描画データGやキャッシュデータCD、キャッシュIDを、クライアント装置20へ送信する機能を有する。
The communication module 13a3 has a function of passing the input event data and RTT measurement data received from the
一方、クライアント装置20のプログラムメモリ23aに記憶されるクライアント制御プログラムは、通信モジュール23a1、入力モジュール23a2、画面表示モジュール23a3を有する。
On the other hand, the client control program stored in the
通信モジュール23a1は、サーバ装置10との間でRTT測定のためのデータを受信/送信する機能、および入力モジュール23a2から受け取った入力イベントデータをサーバ装置10へ送信し、サーバ装置10から受信された表示用の描画データGやキャッシュデータCD、キャッシュIDを、画面表示モジュール23a3に引き渡す機能を有する。
The communication module 23a1 transmits / receives data for RTT measurement to / from the
入力モジュール23a2は、ユーザ操作に応じた入力イベントデータを通信モジュール23a1に引き渡す機能を有する。 The input module 23a2 has a function of delivering input event data corresponding to a user operation to the communication module 23a1.
画面表示モジュール23a3は、通信モジュール23a1から受け取った表示用の描画データGをフレームバッファRAM25に展開して表示装置26に表示させる機能を有する(図6(A)参照)。また、通信モジュール23a1から受け取ったキャッシュデータCDを先読みキャッシュメモリ24aに記憶させる機能を有する。さらに、同通信モジュール23a1から受け取ったキャッシュIDに対応するキャッシュデータCDを、前記先読みキャッシュメモリ24aから読み出して前記フレームバッファRAM25に展開し、表示装置26に表示させる機能を有する。
The screen display module 23a3 has a function of developing the display drawing data G received from the communication module 23a1 in the
図5は、前記サーバ装置10のRAM14に用意される主要なデータメモリを示す図である。
FIG. 5 is a diagram showing main data memories prepared in the
RAM14には、前記クライアント用フレームバッファRAM14aの他に、RTTメモリ14b、画面送信FIFOメモリ14c、先読みキャッシュメモリ14X(先読みキャッシュFIFOメモリ14d/キャッシュ状態管理バッファ14e/キャッシュ送信タイミングレベルメモリ14f)、入力イベントタイムスタンプメモリ14gなどが用意される。
In addition to the client
RTTメモリ14bには、前記RTT測定モジュール13a1によるRTT測定機能により測定されたクライアント装置20との間での伝送遅延時間tが記憶される。
The
画面送信FIFOメモリ14c(図11(C)参照)には、クライアント用フレームバッファRAM14aにて生成された描画データG(図6(A)参照)が、クライアント装置20へ転送されるデータとしてバッファリングされるもので、この際、前回の描画データG(n-1)との比較により更新された部分を含む矩形領域のデータだけが、例えば当該描画データGを生成したアプリケーションにより設定される画面スクロールの幅Ds(図7参照)の単位で記憶される。
In the screen
先読みキャッシュFIFOメモリ14d(図11(A)・図12参照)には、前記クライアント用フレームバッファRAM14aに対する描画データG(図6(A)・図7参照)の生成に伴い、当該描画データGに連続する一連のデータ(例えばアクセス対象WebページHPの全体のデータ)がキャッシュデータCDとしてバッファリングされるもので、この際、前記画面送信FIFOメモリ14cと同様に、例えば前記描画データGを生成したアプリケーション(例えばWebブラウザ)により設定される画面スクロールの幅Ds(図7参照)の単位で記憶される。そして、この画面スクロールの幅Ds単位でのキャッシュデータとしては、そのデータ本体と共に、データサイズ(幅×高さ)、URL−ID、キャッシュID、転送優先順位のレベルを示すフラグ(Level-1 or 2 or 3)、データ圧縮方式(0:JPEG/1:PNG/…)が付加されて記憶される(図12参照)。
In the prefetch
キャッシュ状態管理バッファ14e(図11(B)・図13参照)には、前記先読みキャッシュFIFOメモリ14d(図12参照)に記憶された画面スクロールの幅Ds単位での各キャッシュデータについての状態情報(データ固有のハッシュ値/キャッシュID/未送信:0 or 送信済:1)Jdsが記憶される。
In the cache
キャッシュ送信タイミングレベルメモリ14fには、前記先読みキャッシュFIFOメモリ14dに記憶されたキャッシュデータをクライアント装置20へ転送するタイミングを判定するための現在のレベルが、前記キャッシュデータの取得開始直後(Webページのロード開始直後)は[Level-1]、キャッシュデータの取得終了直後(Webページのロード終了直後)は[Level-2]、クライアント装置20からの入力イベントから一定時間以上経過し且つ前記RTT測定モジュール13a1から通知された伝送遅延の測定結果が閾値以下で且つ前記画面送信FIFOメモリ14cにおける描画データGのクライアント装置20への転送待ち予約数(Ds単位)が閾値以下の場合に[Level-3]としてセットされる。
In the cache transmission
入力イベントタイムスタンプメモリ14gには、クライアント装置20からの入力イベントに伴い取得されたタイムスタンプのデータが、当該入力イベント毎に更新されて記憶される。
In the input event time stamp memory 14g, the time stamp data acquired with the input event from the
図6は、前記サーバ装置10のクライアント用フレームバッファ14a上に生成されるWebページHPの描画データGと、当該描画データGの生成に伴い取得されるキャッシュデータCDとの関係を示す図である。
FIG. 6 is a diagram showing the relationship between the drawing data G of the Web page HP generated on the
図7は、前記サーバ装置10のアプリケーション(Webブラウザ)により取得されるWebページHPの領域に対する描画データGの領域とスクロールの幅(移動量)Dsとの関係を示す図である。
FIG. 7 is a diagram showing the relationship between the area of the drawing data G and the scroll width (movement amount) Ds with respect to the area of the Web page HP acquired by the application (Web browser) of the
図8は、前記サーバ装置10のアプリケーション(Webブラウザ)により取得されるWebページHPの送信フォーマットFhpを示す図である。
FIG. 8 is a diagram showing a transmission format Fhp of the Web page HP acquired by the application (Web browser) of the
図9は、前記サーバ装置10のアプリケーション(Webブラウザ)により取得されるWebページHPの終了フォーマットFhpeを示す図である。
FIG. 9 is a diagram showing the end format Fhpe of the Web page HP acquired by the application (Web browser) of the
例えばクライアント装置20からの入力イベントがWebページHPへのアクセス要求である場合、サーバ装置10のアプリケーション(Webブラウザ)が起動され、ユーザ指定のURLに対応するWebページHPのデータが、図8,図9のフォーマットFhp,Fhpeに従い取得される。
For example, when the input event from the
この際、クライアント装置20の表示画面サイズ(26)に合わせたクライアント用フレームバッファRAM14a上に前記WebページHPの先頭からのデータを書き込んだ描画データGが生成され、また、当該WebページHPの全体のデータがキャッシュデータCDとして先読みキャッシュメモリ14Xに書き込まれる。
At this time, drawing data G in which data from the top of the Web page HP is written is generated on the client
前記先読みキャッシュメモリ14Xに書き込まれるWebページHPのデータは、その送信フォーマットFhpに記述される「スクロールのピクセル値」に従ったスクロールの幅(移動量)Dsのデータ単位で管理される。
The data of the Web page HP written in the
図10は、前記サーバ装置10のアプリケーション(Webブラウザ)により取得されるWebページHPに対してそのスクロールの幅(移動量)Dsの単位で予め設定されたキャッシュデータCDとしてのクライアント装置20への転送優先順位を示す図である。
FIG. 10 shows how the
クライアント装置20からの入力イベント(Webページアクセス要求)に応じてクライアント用フレームバッファRAM14aに生成される描画データGが、アクセス対象であるWebページHPの先頭からクライアント装置20の表示画面サイズに合わせて生成されると共に、当該WebページHPの全体のデータがキャッシュデータCDとして先読みキャッシュメモリ14Xに記憶された場合、前記描画データGの直下に続く画面スクロールの可能性が最も高いスクロール幅(移動量)Dsのn倍の領域[Ds×n]が第1優先の転送レベル[Level-1]に設定される。続いて、前記第1優先の転送レベル[Level-1]に設定されたWebページHPの領域[Ds×n]の次に画面スクロールの可能性が高いスクロール幅(移動量)Dsのm倍の領域[Ds×m]が第2優先の転送レベル[Level-2]に設定される。そして、前記第2優先の転送レベル[Level-2]に設定されたWebページHPの領域[Ds×m]に続く当該WebページHPの下端までの領域および前記描画データGに対応する領域が、何れも第3優先の転送レベル[Level-3]に設定される。
The drawing data G generated in the client
図11は、前記サーバ装置10の先読みキャッシュメモリ14Xにおける先読みキャッシュFIFOメモリ14dとキャッシュ状態管理バッファ14eおよび画面送信FIFOメモリ14cを示す図である。
FIG. 11 is a diagram showing a prefetch
図12は、前記サーバ装置10の先読みキャッシュFIFOメモリ14dに記憶されるキャッシュデータの内容を示す図である。
FIG. 12 is a diagram showing the contents of the cache data stored in the prefetch
図13は、前記サーバ装置10のキャッシュ状態管理バッファ14eに記憶されるキャッシュ状態情報の内容を示す図である。
FIG. 13 is a diagram showing the contents of the cache state information stored in the cache
先読みキャッシュFIFOメモリ14dには、前述した通り、クライアント用フレームバッファRAM14aに対する描画データGの生成に伴い、当該描画データGに連続する一連のデータ(例えばアクセス対象WebページHPの全体のデータ)がキャッシュデータCDとして、画面スクロールの幅Ds単位で、そのデータ本体と共に、データサイズ(幅×高さ)、URL−ID、キャッシュID、転送優先順位のレベルを示すフラグ(Level-1 or 2 or 3)、データ圧縮方式(0:JPEG or 1:PNG or …)が付加されて記憶される。
As described above, the prefetch
キャッシュ状態管理バッファ14eには、前述した通り、前記先読みキャッシュFIFOメモリ14dに記憶された画面スクロールの幅Ds単位での各キャッシュデータについての状態情報(データ固有のハッシュ値/キャッシュID/0:未送信 or 1:送信済)Jdsが記憶される。
As described above, the cache
なお、先読みキャッシュメモリ14Xには、アクセス対象となったWebページHPのURL毎に当該URLに対応付けられたページHPの全体のデータがキャッシュデータCDとして記憶されている。そして、前記キャッシュ状態管理バッファ14eには、前記アクセス対象となったWebページHPのURL毎に、そのキャッシュデータCDについての状態情報Jdsが記憶される。
In the
つまり、前記キャッシュ送信タイミングレベルメモリ14fにセットされたキャッシュデータCDを転送するタイミングの判定レベルが[Level-1](Webページのロード開始直後)のときには、前記先読みキャッシュFIFOメモリ14dにおいて、第1優先の転送レベルを示すフラグ[Level-1]が付加されているところのキャッシュデータがクライアント装置20へ転送され、[Level-2](Webページのロード終了直後)のときには、第2優先の転送レベルを示すフラグ[Level-2]が付加されているところのキャッシュデータが転送され、[Level-3](クライアント装置20からの入力イベントから一定時間以上経過し且つRTT測定モジュール13a1から通知された伝送遅延の測定結果が閾値以下で且つ画面送信FIFOメモリ14cにおける描画データGのクライアント装置20への転送待ち予約数が閾値以下)のときには、第3優先の転送レベルを示すフラグ[Level-3]が付加されているところのキャッシュデータが転送される。
That is, when the determination level of the timing for transferring the cache data CD set in the cache transmission
なお、前記WebページHPをキャッシュデータCDとして前記先読みキャッシュメモリ14Xに記憶させる場合に、当該WebページHPのURLに対応付けられたキャッシュ状態情報が前記キャッシュ状態管理バッファ14eに既に記憶されている場合には、ハッシュ値が異なるところの状態情報Jdsに対応したスクロール幅Ds単位でのページデータだけ書き替えられて記憶される。
When the Web page HP is stored in the
また、クライアント装置20からの入力イベントに応じて生成された描画データGを当該クライアント装置20へ転送する場合に、転送対象となった描画データGとハッシュ値が同じで且つ送信済み“1”の状態情報Jdsに対応付けられたキャッシュデータCD(Ds単位)が存在する部分については、そのキャッシュIDだけがクライアント装置20へ送信され、そうでない部分は実データが送信される。
Further, when the drawing data G generated in response to the input event from the
次に、前記構成のSBCシステムの動作について説明する。 Next, the operation of the SBC system configured as described above will be described.
図14は、前記SBCシステムのサーバ装置10が実行するキャッシュ取得送信処理とスクロール対応送信処理の概要を示すフローチャートである。
FIG. 14 is a flowchart showing an overview of the cache acquisition transmission process and the scroll compatible transmission process executed by the
図15は、前記サーバ装置10のキャッシュ取得送信処理に含まれるキャッシュデータCDの取得(b)および管理/送信(c)の詳細処理を示すフローチャートである。
FIG. 15 is a flowchart showing detailed processing of acquisition (b) and management / transmission (c) of the cache data CD included in the cache acquisition / transmission processing of the
図16は、前記図15におけるステップc2〜c4の詳細処理を示すフローチャートある。 FIG. 16 is a flowchart showing detailed processing of steps c2 to c4 in FIG.
クライアント装置20からの入力イベントがWebページHPへのアクセス要求である場合に、プログラムメモリ13aに記憶されている当該入力イベントに応じたアプリケーションプログラム(Webブラウザプログラム)が起動され、要求されたWebサイトのWebページHPがロードされる(ステップa)。
When the input event from the
すると、ロードされたWebページHPの先頭からクライアント装置20の表示画面サイズに合わせた部分のデータが、描画データGとしてクライアント用フレームバッファRAM14a上に生成される(図7参照)。これと共に、前記図8で示した送信フォーマットFhpに従い受信されたWebページHPの全体データが、キャッシュデータCDとして取得される(ステップb)。
Then, data corresponding to the display screen size of the
この際、前記クライアント用フレームバッファRAM14a上に生成された描画データGは、画面送信FIFOメモリ14cにスクロール幅Ds単位で書き込まれ(図11(C)参照)、前記イベント入力元のクライアント装置20へ順次送信される。
At this time, the drawing data G generated on the client
前記Webブラウザから取得されたWebページHPの全体データ(キャッシュデータCD)は、先ずスクロール幅Ds単位で分割される(図7参照)(ステップc1)。 The entire data (cache data CD) of the web page HP acquired from the web browser is first divided in units of scroll width Ds (see FIG. 7) (step c1).
スクロール幅Ds単位で分割されたキャッシュデータCDは、それぞれそのデータの内容に対応したハッシュ値が計算され(ステップc21)、未送信“0”の状態に初期化され(ステップc22)、キャッシュIDが発行される(ステップc23)。 For the cache data CD divided in units of the scroll width Ds, a hash value corresponding to the content of the data is calculated (step c21), initialized to an untransmitted “0” state (step c22), and the cache ID is set. Issued (step c23).
すると、キャッシュ状態管理バッファ14e(図13参照)において、前記Webブラウザから取得されたWebページHP(キャッシュデータCD)のURLに対応付けられたデータ領域が既に作成されているか否か判断される(ステップc31)。
Then, it is determined whether or not a data area associated with the URL of the Web page HP (cache data CD) acquired from the Web browser has already been created in the cache
ここで、前記クライアント装置20からの入力イベントが新規のWebサイトへのアクセス要求であることで、前記キャッシュ状態管理バッファ14eにおいて、今回取得されたWebページHP(キャッシュデータCD)のURLに対応付けられた管理バッファのデータ領域は作成されていないと判断されると(ステップc31(NO))、図13に示すように、当該URLに対応付けた管理バッファのデータ領域が作成される(ステップc32)。
Here, when the input event from the
そして、前記作成された管理バッファ(14e)のデータ領域に対し、前記ステップc21〜c23にて得られたスクロール幅Ds単位のキャッシュデータ毎の状態情報(ハッシュ値/キャッシュID/送信状態:0)Jdsが格納されると共に、当該スクロール幅Ds単位のキャッシュデータが、図12に示すように、先読みキャッシュFIFOメモリ14dに格納される(ステップc4)。
Then, state information (hash value / cache ID / transmission state: 0) for each cache data in the scroll width Ds obtained in steps c21 to c23 with respect to the data area of the created management buffer (14e). Jds is stored, and the cache data in units of the scroll width Ds is stored in the prefetch
一方、前記キャッシュ状態管理バッファ14eにおいて、今回取得されたWebページHP(キャッシュデータCD)のURLに対応付けられたデータ領域が既に作成されていると判断された場合は(ステップc31(YES))、当該管理バッファのデータ領域に記憶されている状態情報Jdsに基づき、同じハッシュ値を有するスクロール幅Ds単位のキャッシュデータが判断される(ステップc33)。
On the other hand, if it is determined in the cache
ここで、同じハッシュ値と判断されたスクロール幅Ds単位のキャッシュデータについては、その状態情報Jdsも含めて、前記キャッシュ状態管理バッファ14eおよび先読みキャッシュFIFOメモリ14dへの書き込みは行われない(ステップc33(YES))。そして、ハッシュ値が異なる、つまりデータの内容が更新されたと判断されたスクロール幅Ds単位のキャッシュデータについてのみ(ステップc33(NO))、前記キャッシュ状態管理バッファ14eおよび先読みキャッシュFIFOメモリ14dへの書き換えによる格納処理が実行される(ステップc4)。
Here, the cache data in units of the scroll width Ds determined to have the same hash value is not written into the cache
これにより、クライアント装置20からの入力イベント(WebページHPへのアクセス要求)に応じて取得されたWebページHPの全体データがキャッシュデータCDとして、スクロール幅Ds単位に分割された形態で先読みキャッシュFIFOメモリ14d(図12参照)に記憶されると共に、当該スクロール幅Ds単位のキャッシュデータそれぞれの状態情報(ハッシュ値/キャッシュID/送信状態)Jdsがキャッシュ状態管理バッファ14eに記憶される。
Accordingly, the prefetch cache FIFO in which the entire data of the Web page HP acquired in response to the input event (request to access the Web page HP) from the
図17は、前記SBCシステムのサーバ装置10が実行する入力イベント記録処理とキャッシュ送信タイミング[Level-3]判定処理を示すフローチャートである。
FIG. 17 is a flowchart showing an input event recording process and a cache transmission timing [Level-3] determination process executed by the
このサーバ装置10における入力イベント記録処理とキャッシュ送信タイミング[Level-3]判定処理は、常時起動実行される。
The input event recording process and the cache transmission timing [Level-3] determination process in the
図17(A)で示す入力イベント記録処理では、クライアント装置20からそのキー操作やマウス操作に応じた入力イベントが受信される毎に(ステップR1)、当該入力イベントのシリアル番号とタイムスタンプとが対応付けられて入力イベントタイムスタンプメモリ14gに記録される(ステップR2)。 In the input event recording process shown in FIG. 17A, every time an input event corresponding to the key operation or mouse operation is received from the client device 20 (step R1), the serial number and time stamp of the input event are obtained. The associated event is recorded in the input event time stamp memory 14g (step R2).
図17(B)で示すキャッシュ送信タイミング[Level-3]判定処理では、例えばn秒毎にタイムアップするタイマハンドラが起動されると(ステップS1)、現在のタイムスタンプが取得され(ステップS2)、前記入力イベントタイムスタンプメモリ14gに記録された最新の入力イベントのタイムスタンプから一定期間以上の時間が経過しているか否か、つまりクライアント装置20からの入力イベントがあったばかりでなく、サーバ装置10側での負荷が重くない状態であるか否か判断される(ステップS3)。
In the cache transmission timing [Level-3] determination process shown in FIG. 17B, for example, when a timer handler that times up every n seconds is started (step S1), the current time stamp is acquired (step S2). Whether or not a certain period of time or more has elapsed from the time stamp of the latest input event recorded in the input event time stamp memory 14g, that is, not only has there been an input event from the
現在のタイムスタンプが、最新の入力イベントのタイムスタンプから一定期間以上経過していると判断されると(ステップS3(YES))、次に、RTTメモリ14bに記憶されているクライアント装置20との間での伝送遅延時間tが取得され(ステップS4)、当該伝送遅延時間tが閾値以下か否か、つまりクライアント装置20に対する通信状態が良好な状態にあるか否か判断される(ステップS5)。
If it is determined that the current time stamp has passed a certain period of time from the time stamp of the latest input event (step S3 (YES)), then the
ここで、クライアント装置20との間での伝送遅延時間tが閾値以下であると判断されると(ステップS5(YES))、画面送信FIFOメモリ14c(図11(C)参照)にて未転送で記憶されているスクロール幅Ds単位でのクライアント用描画データGの画面転送予約数が取得され(ステップS6)、当該画面転送予約数が閾値以下か否か、つまり前記入力イベントに応じて生成されたクライアント用描画データGのクライアント装置20への転送待ちが少ない状態にあるか否か判断される(ステップS7)。
Here, if it is determined that the transmission delay time t with the
そして、クライアント用描画データGの画面転送予約数が閾値以下であると判断されると(ステップS7(YES))、現在のキャッシュ送信タイミングが第3優先の転送レベル[Level-3]と判定され、当該転送レベル[Level-3]がキャッシュ送信タイミングレベルメモリ14fに記憶される(ステップS8)。
When it is determined that the screen transfer reservation number of the drawing data for client G is equal to or less than the threshold (step S7 (YES)), the current cache transmission timing is determined to be the third priority transfer level [Level-3]. The transfer level [Level-3] is stored in the cache transmission
すると、タイマがセットされ、再びタイマハンドラの起動の待機状態になる(ステップS9→S1)。 Then, the timer is set, and the timer handler is again activated for standby (step S9 → S1).
一方、現在のタイムスタンプが、最新の入力イベントのタイムスタンプから一定期間以上経過していない、つまり、クライアント装置20からの入力イベントがあったばかりで、サーバ装置10側での負荷が重い状態であると判断された場合(ステップS3(NO))、またはクライアント装置20との間での伝送遅延時間tが閾値以下ではない、つまり、クライアント装置20に対する通信状態が良好な状態にないと判断された場合(ステップS5(NO))、または画面送信FIFOメモリ14cにて未転送で記憶されているクライアント用描画データGの画面転送予約数が閾値以下でない、つまり、クライアント用描画データGのクライアント装置20への転送待ちが少ない状態にないと判断された場合には(ステップS7(NO))、前記転送レベル[Level-3]との判定はされずにタイマがセットされ、再びタイマハンドラの起動の待機状態になる(ステップS9→S1)。
On the other hand, the current time stamp does not elapse for a certain period from the time stamp of the latest input event, that is, there is an input event from the
図18は、前記図15および図16のフローチャートに従い実行されたキャッシュデータの取得処理およびその先読みキャッシュFIFOメモリ14dへの格納処理に引き続き実行されるキャッシュデータの送信処理を示すフローチャートである。
FIG. 18 is a flowchart showing cache data acquisition processing executed in accordance with the flowcharts of FIGS. 15 and 16 and cache data transmission processing executed subsequent to the storage processing in the prefetch
図19は、前記図18におけるキャッシュデータ送信処理に伴うキャッシュデータの送信フォーマットTdsを示す図である。 FIG. 19 is a diagram showing a cache data transmission format Tds accompanying the cache data transmission processing in FIG.
前記先読みキャッシュFIFOメモリ14d(図12参照)において、キャッシュデータ(例えばスクロール幅Ds単位で分割されたWebページHPのデータ)の格納が確認されると(ステップc5)、当該格納されたスクロール幅Ds単位でのキャッシュデータについて、その転送優先順位のレベルを示すフラグ(Level-1 or 2 or 3)が読み出され、キャッシュ送信タイミングレベルメモリ14fに記憶されている現在の送信タイミングレベルと一致するか否か判断される(ステップc6)。
When storage of cache data (for example, Web page HP data divided in units of scroll width Ds) is confirmed in the prefetch
前記先読みキャッシュFIFOメモリ14dにて確認されたキャッシュデータの転送優先順位のレベルを示すフラグ(Level-1 or 2 or 3)が、現在の送信タイミングレベルと一致すると判断されると(ステップc6(YES))、当該キャッシュデータは、予め設定された圧縮方式に従いデータ圧縮され(ステップc7)、図19に示すような送信フォーマットTdsで前記イベント入力元のクライアント装置20へ送信される(ステップc8)。
When it is determined that the flag (Level-1 or 2 or 3) indicating the level of transfer priority of the cache data confirmed in the prefetch
そして、前記クライアント装置20へ送信されたキャッシュデータに対応付けられてキャッシュ状態管理バッファ14e(図13参照)に記憶されている未送信/送信の状態情報が、未送信済“0”から送信済“1”に書き替えられる(ステップc9)。
Then, the untransmitted / transmitted state information stored in the cache
すなわち、先読みキャッシュFIFOメモリ14dにスクロール幅Ds単位に分割されて記憶されたキャッシュデータCD(WebページHPの全体データ)(図7・図10参照)について、当該キャッシュデータの取得開始直後(WebページHPのロード開始直後)で、キャッシュ送信タイミングレベルメモリ14fに[Level-1]のタイミングレベルがセットされると、クライアント表示用の描画データGの直下で画面スクロールの可能性が最も高い第1優先の転送レベル[Level-1]に設定された領域[Ds×n]のキャッシュデータが送信される。
That is, for the cache data CD (the entire data of the Web page HP) (see FIG. 7 and FIG. 10) stored in the pre-read
また、キャッシュデータの取得終了直後(WebページHPのロード終了直後)で、キャッシュ送信タイミングレベルメモリ14fに[Level-2]のタイミングレベルがセットされると、画面スクロールの可能性が次に高い第2優先の転送レベル[Level-2]に設定された領域[Ds×m]のキャッシュデータが送信される。
Further, when the timing level [Level-2] is set in the cache transmission
さらに、クライアント装置20からの入力イベントから一定時間以上経過し且つ前記RTT測定モジュール13a1から通知された伝送遅延の測定結果が閾値以下で且つ前記画面送信FIFOメモリ14cにおける描画データGのクライアント装置20への転送待ち予約数(Ds単位)が閾値以下であると判断された、サーバ装置10の負荷が軽い場合に、キャッシュ送信タイミングレベルメモリ14fに[Level-3]のタイミングレベルがセットされると、第3優先の転送レベル[Level-3]に設定された前記WebページHPの下端までの領域および前記描画データGに対応する領域のキャッシュデータが送信される。
Furthermore, the measurement result of the transmission delay notified from the RTT measurement module 13a1 after a certain time has elapsed from the input event from the
これにより、クライアント装置20からの入力イベント(WebページHPへのアクセス要求)に応じたアプリケーションプログラム(Webブラウザ)の起動により、ユーザ所望のWebサイト(URL)からロードされたWebページHPのデータに基づき、クライアント表示用の描画データGが生成されてクライアント装置20へ転送される。これと共に、前記WebページHPの全体データがキャッシュデータCDとして取得され、当該キャッシュデータCD(図7・図10参照)は、前記描画データGの直下で画面スクロール先となる可能性が最も高い領域[Ds×n]が第1優先の転送レベル[Level-1]に設定され、WebページHPのロード開始直後のタイミングでクライアント装置20へ送信される。また、画面スクロール先となる可能性が次に高いWebページHPの下端までの領域[Ds×m]が第2優先の転送レベル[Level-2]に設定され、WebページHPのロード終了直後のタイミングでクライアント装置20へ送信される。そして、前記WebページHPの未送信の残りの領域が第3優先の転送レベル[Level-3]に設定され、サーバ装置10の負荷の軽いタイミングでクライアント装置20へ送信される。
As a result, the application program (Web browser) corresponding to the input event (request for access to the Web page HP) from the
このため、前記サーバ装置10により取得されたキャッシュデータCDは、クライアント装置20が描画データGの画面スクロールを行うため、およびクライアント装置20に対する応答処理を滞らせないための最適なタイミングで、当該クライアント装置20へ送信される。
For this reason, the cache data CD acquired by the
図20は、前記図14(B)のサーバ装置10が実行するスクロール対応送信処理の詳細を示すフローチャートである。
FIG. 20 is a flowchart showing details of the scroll-compatible transmission processing executed by the
クライアント装置20からの入力イベントとして、現在表示中の描画データGを元にした画面スクロールの要求が受信されると、例えばカーソルキー信号の入力時間や入力回数に応じた画面スクロールすべき表示領域が、前記図8で示したWebページHPの送信フォーマットFhpに含まれる「基点のx座標」「基点のy座標」「表示領域の幅」「表示領域の高さ」「スクロールのピクセル値」に基づき、スクロール幅Ds単位で算出される(ステップd1)。
When a screen scroll request based on the drawing data G currently being displayed is received as an input event from the
すると、前記画面スクロールの要求に応じてクライアント用フレームバッファRAM14a上に生成された描画データGに基づき、画面送信FIFOメモリ14cに格納された新たな画面転送領域(スクロールにより更新されたデータ領域)が確認され(ステップd2)、前記算出されたスクロール表示領域に対応するところのデータ部分が含まれるか否か判断される(ステップd3)。
Then, based on the drawing data G generated on the client
ここで、前記画面スクロールの要求に応じて画面送信FIFOメモリ14cに格納された新たな画面転送領域において、前記算出されたスクロール表示領域に対応するところのデータ部分が含まれると判断された場合は(ステップd3(YES))、当該画面転送領域のスクロール表示領域に対応するデータ部分(スクロール幅Ds単位)のハッシュ値が計算される(ステップe1)。
When it is determined that the data portion corresponding to the calculated scroll display area is included in the new screen transfer area stored in the screen
そして、キャッシュ状態管理バッファ14e(図13参照)において、前記計算されたハッシュ値と同じハッシュ値を有する状態情報Jdsが存在するか否か判断され(ステップe2)、存在すると判断された場合は(ステップe2(YES))、当該同じハッシュ値を有する状態情報Jdsに対応付けられたキャッシュデータの送信状態が[送信済:1]であるか否か判断される(ステップe3)。
In the cache
ここで、前記スクロール表示領域に対応する画面転送領域のデータ部分(スクロール幅Ds単位)のハッシュ値と同じハッシュ値を有する状態情報Jdsに対応付けられたキャッシュデータの送信状態が[送信済:1]であると判断された場合は(ステップe3(YES))、前記画面送信FIFOメモリ14cに格納されたスクロール表示領域に対応するデータ部分(スクロール幅Ds単位)の表示画面上での領域(位置)情報と、同キャッシュデータの状態情報Jdsが有するキャッシュIDだけが、前記画面スクロール要求元のクライアント装置20へ送信される(ステップf1)。
Here, the transmission state of the cache data associated with the state information Jds having the same hash value as the hash value of the data portion (scroll width Ds unit) of the screen transfer area corresponding to the scroll display area is [Sent: 1 ] (Step e3 (YES)), the area on the display screen (position of the scroll width Ds) corresponding to the scroll display area stored in the screen
そして、今回のスクロール表示領域に対応するデータ部分(スクロール幅Ds単位)が、前記画面送信FIFOメモリ14cから除去され、クライアント装置20への転送が省略される(ステップf2)。
Then, the data portion (scroll width Ds unit) corresponding to the current scroll display area is removed from the screen
これにより、クライアント装置20から画面スクロールを要求する入力イベントがあっても、そのスクロール表示領域に対応する描画データGのデータ部分と、同じハッシュ値のキャッシュデータが送信済である場合には、当該キャッシュデータのキャッシュIDだけを前記クライアント装置20へ応答送信するだけで、前記描画データGのスクロール表示領域に対応する実際のデータ部分の送信を省略できる。
As a result, even if there is an input event requesting screen scrolling from the
一方、前記画面送信FIFOメモリ14cに格納された新たな画面転送領域のスクロール表示領域に対応するデータ部分(スクロール幅Ds単位)のハッシュ値について、キャッシュ状態管理バッファ14e(図13参照)に、同じハッシュ値を有する状態情報Jdsが存在しないと判断された場合には(ステップe2(NO))、当該スクロール表示領域に対応するデータ部分はキャッシュデータとして存在しない新たなデータとなるので、前記画面送信FIFOメモリ14cに格納された新たな画面転送領域のスクロール表示領域に対応するデータ部分が通常通りクライアント装置20へ転送される(ステップg1)。
On the other hand, the hash value of the data portion (scroll width Ds unit) corresponding to the scroll display area of the new screen transfer area stored in the screen
また、前記スクロール表示領域に対応する画面転送領域のデータ部分(スクロール幅Ds単位)のハッシュ値と同じハッシュ値を有する状態情報Jdsに対応付けられたキャッシュデータの送信状態が[未送信:0]であると判断された場合にも(ステップe3(NO))、前記画面送信FIFOメモリ14cに格納された新たな画面転送領域のスクロール表示領域に対応するデータ部分が通常通りクライアント装置20へ転送される(ステップg1)。
Further, the transmission state of the cache data associated with the state information Jds having the same hash value as the hash value of the data portion (scroll width Ds unit) of the screen transfer region corresponding to the scroll display region is [untransmitted: 0]. Even if it is determined that the data is stored (step e3 (NO)), the data portion corresponding to the scroll display area of the new screen transfer area stored in the screen
この場合、先読みキャッシュFIFOメモリ14dからのスクロール幅Ds単位でのキャッシュデータCDの送信が、スクロールを要求する入力イベントに対して間に合っていないことになるので(理由:伝送遅延が大きい、入力イベントが短い感覚で頻発しているなど)、先読みキャッシュFIFOメモリ14dに格納されている該当データ部分のキャッシュデータは、同キャッシュデータ全体の末尾に回されその送信順序が入れ替えられる(ステップe4)。
In this case, transmission of the cache data CD from the prefetch
図21は、前記SBCシステムのクライアント装置20の先読みキャッシュメモリ24aに記憶されるキャッシュデータの内容を示す図である。
FIG. 21 is a diagram showing the contents of the cache data stored in the
このクライアント装置20の先読みキャッシュメモリ24aには、前記サーバ装置10からそのキャッシュ取得送信処理(図14(A),図15,図16,図18参照)に従い送信されたキャッシュデータCD(例えばアクセス対象WebページHPの全体のデータ)が、画面スクロールの幅Ds単位で受信され、圧縮されたデータ本体と共に、URL−ID、キャッシュID、データサイズ(幅×高さ)、データ圧縮方式(0:JPEG or 1:PNG or …)が付加されて記憶される。
In the
図22は、前記クライアント装置22の表示処理を示すフローチャートである。
FIG. 22 is a flowchart showing display processing of the
クライアント装置20において、ユーザ操作に応じた入力イベント(例えばWebページHPのアクセス要求)が発生され、サーバ装置10へ送信されると、これに応答したサーバ装置10のアプリケーションプログラム(Webブラウザプログラム)に従い、クライアント装置20の表示画面サイズに合わせて生成された描画データG(WebページHPの先頭から表示画面サイズ分の描画データ)が受信される(ステップh1)。
When an input event (for example, an access request for a Web page HP) corresponding to a user operation is generated in the
この際、前記サーバ装置10から受信された描画データGは、キャッシュIDでないと判断されるので(ステップh2(NO))、当該描画データGが取り込まれると共に(ステップh3b)、その圧縮がデコードされてフレームバッファRAM25に書き込まれ(ステップh4)、表示装置26に表示される(ステップh5)。
At this time, since it is determined that the drawing data G received from the
なおこれに伴い、前記サーバ装置10からそのキャッシュ取得送信処理に従い送信されたキャッシュデータCD(アクセス対象WebページHPの全体のデータ)が受信され、図21で示したように、画面スクロールの幅Ds単位で先読みキャッシュメモリ24aに格納される。
Accordingly, the cache data CD (the entire data of the access target web page HP) transmitted from the
ここで、ユーザ操作に応じた画面スクロールの入力イベントが発生され、サーバ装置10へ送信されると、これに応答したサーバ装置10のスクロール対応送信処理(図20参照)に従い送信された、スクロール表示領域に対応する描画データ部分(スクロール幅Ds単位)のキャッシュID、または当該描画データ部分の実データが受信される(ステップh1)。
Here, when a screen scroll input event corresponding to a user operation is generated and transmitted to the
前記サーバ装置10からキャッシュIDが受信されたと判断された場合には(ステップh2(YES))、当該キャッシュIDを有するスクロール幅Ds単位の描画データ部分が、前記先読みキャッシュメモリ24aから読み出され(ステップh3a)、その圧縮がデコードされてフレームバッファRAM25に上書きされ(ステップh4)、表示装置26に表示される(ステップh5)。
When it is determined that the cache ID has been received from the server device 10 (step h2 (YES)), the drawing data portion in units of the scroll width Ds having the cache ID is read from the
一方、前記サーバ装置10からスクロール表示領域に対応する描画データ部分の実データが受信されたと判断された場合には(ステップh2(NO))、当該描画データ部分が取り込まれると共に(ステップh3b)、その圧縮がデコードされてフレームバッファRAM25に上書きされ(ステップh4)、表示装置26に表示される(ステップh5)。 On the other hand, when it is determined that the actual data of the drawing data portion corresponding to the scroll display area has been received from the server device 10 (step h2 (NO)), the drawing data portion is fetched (step h3b). The compressed data is decoded and overwritten in the frame buffer RAM 25 (step h4) and displayed on the display device 26 (step h5).
したがって、前記構成のSBCシステムによれば、クライアント装置20からの入力イベント(WebページHPのアクセス要求)がサーバ装置10に受信されると、サーバ装置10では、前記入力イベントに応じたアプリケーションプログラム(Webブラウザ)が起動されてWebページHPがロードされ、クライアント装置20の表示画面サイズに合わせた描画データGが生成されてクライアント装置20へ転送される。そして、前記WebページHPの全体のデータが、スクロールの幅Ds単位で分割されキャッシュIDを付加したキャッシュデータCDとして先読みキャッシュメモリ14Xに記憶される。この先読みキャッシュメモリ14Xに記憶されたスクロール幅Ds単位のキャッシュデータは、前記描画データGを元にした画面スクロールの移動先となる可能性の高い領域から順次、前記WebページHPのロード開始直後と、ロード終了直後と、サーバ負荷が軽いときとの3段階のタイミングでクライアント装置20へ送信され、当該クライアント装置20の先読みキャッシュメモリ24aに格納される。サーバ装置10は、クライアント装置20から画面スクロールの入力イベントを受信すると、当該画面スクロールに応じた描画データGを生成すると共に、スクロール領域に対応した新たな描画データ部分と同じハッシュ値のキャッシュデータがあるか判断し、ある場合はその表示位置の情報とキャッシュIDだけをクライアント装置20へ送信する。クライアント装置20は、前記サーバ装置10から受信されたキャッシュIDに対応するスクロール幅Ds単位のキャッシュデータを先読みキャッシュメモリ24aから読み出し、表示画面のスクロールを実行する。
Therefore, according to the SBC system configured as described above, when the
このため、サーバ装置10は、WebページHPなどの長大なデータを、画面スクロール用のキャッシュデータとして、クライアント装置20に対する主要な処理に影響を与えない最適なタイミングで送信できる。そして、クライアント装置20では、サーバ装置10との通信環境が高遅延な状態にあっても、WebページHPなどの長大なデータの画面スクロールをレスポンス良く実行できる。
For this reason, the
なお、前記実施形態において記載したSBCシステムによる各処理の手法、すなわち、図14(A)・図15・図16・図18のフローチャートに示すサーバ装置10によるキャッシュ取得送信処理、図17(A)のフローチャートに示すサーバ装置10による入力イベント記録処理、図17(B)のフローチャートに示すサーバ装置10によるキャッシュ送信タイミング[Level-3]判定処理、図20のフローチャートに示すサーバ装置10によるスクロール対応送信処理、図22のフローチャートに示すクライアント表示処理等の各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記録装置18,28の媒体に格納して配布することができる。そして、サーバ装置10やクライアント装置20のコンピュータ(CPU11,21)は、この外部記憶装置18,28の媒体に記憶されたプログラムを記憶装置(フラッシュROM13,23やRAM14,24)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明したサーバ装置10におけるWebページHPなどの長大なデータのキャッシュ取得送信機能を実現し、前述した手法による同様の処理を実行することができる。
Note that each processing method by the SBC system described in the above embodiment, that is, cache acquisition transmission processing by the
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(N)上を伝送させることができ、この通信ネットワーク(N)に接続されたコンピュータ装置(プログラムサーバ)から前記のプログラムデータを取り込んで記憶装置(フラッシュROM13,23やRAM14,24)に記憶させ、前述したサーバ装置10におけるWebページHPなどの長大なデータのキャッシュ取得送信機能を実現することもできる。
Further, program data for realizing each of the above methods can be transmitted on the communication network (N) in the form of a program code, and from a computer device (program server) connected to the communication network (N). The program data can be fetched and stored in a storage device (
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。 Note that the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention at the stage of implementation. Further, each of the embodiments includes inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent elements are deleted from all the constituent elements shown in each embodiment or some constituent elements are combined in different forms, the problems described in the column of the problem to be solved by the invention If the effects described in the column “Effects of the Invention” can be obtained, a configuration in which these constituent requirements are deleted or combined can be extracted as an invention.
10 …サーバ装置
20 …クライアント装置
11、21…CPU
12、22…バス
13、23…ROM
13a,23a…プログラムメモリ
13a1…RTT測定モジュール
13a2…画面制御モジュール
13a3,23a1…通信モジュール
23a2…入力モジュール
23a3…画面表示モジュール
14、24…RAM
14X,24a…先読みキャッシュメモリ
14a…クライアント用フレームバッファRAM
14b…RTTメモリ
14c…画面送信FIFOメモリ
14d…先読みキャッシュFIFOメモリ
14e…キャッシュ状態管理バッファ
14f…キャッシュ送信タイミングレベルメモリ
14g…入力イベントタイムスタンプメモリ
15、25…フレームバッファRAM
16、26…表示装置
17、27…入力装置
18、28…外部記憶装置
19、29…通信I/F
N …通信ネットワーク
G …クライアント表示用描画データ
HP …Webページ
CD …キャッシュデータ
Ds …スクロール幅(移動量)
Fhp…Webページの送信フォーマット
Fhpe…Webページの終了フォーマット
Jds…キャッシュデータの状態情報
Tds…キャッシュ送信フォーマット
DESCRIPTION OF
12, 22 ...
13a, 23a ... Program memory 13a1 ... RTT measurement module 13a2 ... Screen control module 13a3, 23a1 ... Communication module 23a2 ... Input module 23a3 ...
14X, 24a ...
14b ...
16, 26 ...
N ... Communication network G ... Drawing data for client display HP ... Web page CD ... Cache data Ds ... Scroll width (movement amount)
Fhp: Web page transmission format Fhpe: Web page end format Jds: Cache data status information Tds: Cache transmission format
Claims (6)
このデータ記憶手段により記憶された分割データのそれぞれに順位を設定する順位設定手段と、
自装置の動作状態に応じて前記分割データを送信するタイミングを判断する送信タイミング判断手段と、
この送信タイミング判断手段により判断されるデータ送信のタイミングで、前記データ記憶手段により記憶された分割データを前記順位設定手段により設定された順位に従い端末装置へ送信するデータ送信手段と、
を備えたことを特徴とするデータ送信装置。 Data storage means for dividing the data and storing it as divided data;
Rank setting means for setting the rank for each of the divided data stored by the data storage means;
Transmission timing determination means for determining the timing of transmitting the divided data according to the operation state of the own device;
Data transmission means for transmitting the divided data stored in the data storage means to the terminal device in accordance with the rank set by the rank setting means at the timing of data transmission determined by the transmission timing determination means;
A data transmission device comprising:
ことを特徴とする請求項1に記載のデータ送信装置。 The data storage means divides the data by a preset scroll unit and stores it as divided data.
The data transmission device according to claim 1.
ことを特徴とする請求項1又は2に記載のデータ送信装置。 The transmission timing determining means determines a timing based on a transmission delay time;
The data transmission device according to claim 1, wherein the data transmission device is a data transmission device.
データを分割し分割データとして記憶するデータ記憶手段と、
このデータ記憶手段により記憶された分割データのそれぞれに順位を設定する順位設定手段と、
自装置の動作状態に応じてデータを送信するタイミングを判断する送信タイミング判断手段と、
この送信タイミング判断手段により判断されるデータ送信のタイミングで、前記データ記憶手段により記憶された分割データを前記順位設定手段により設定された順位に従い端末装置へ送信するデータ送信手段
として機能させるようにしたプログラム。 A program for controlling a computer,
Data storage means for dividing the data and storing it as divided data;
Rank setting means for setting the rank for each of the divided data stored by the data storage means;
Transmission timing determining means for determining the timing of transmitting data according to the operation state of the device;
At the data transmission timing determined by the transmission timing determination means, the divided data stored by the data storage means is made to function as a data transmission means for transmitting to the terminal device according to the order set by the order setting means. program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013079079A JP5637406B2 (en) | 2013-04-05 | 2013-04-05 | Data transmitting apparatus and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013079079A JP5637406B2 (en) | 2013-04-05 | 2013-04-05 | Data transmitting apparatus and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009105563A Division JP5251701B2 (en) | 2009-04-23 | 2009-04-23 | Server device, server-based computing system, and server control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013175206A JP2013175206A (en) | 2013-09-05 |
JP5637406B2 true JP5637406B2 (en) | 2014-12-10 |
Family
ID=49267991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013079079A Active JP5637406B2 (en) | 2013-04-05 | 2013-04-05 | Data transmitting apparatus and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5637406B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6146230B2 (en) * | 2013-09-19 | 2017-06-14 | 富士通株式会社 | Relay device, thin client system, relay method, and relay program |
JP6834118B2 (en) * | 2015-02-16 | 2021-02-24 | 富士通株式会社 | Terminal device, screen update program, screen update method and information processing system |
-
2013
- 2013-04-05 JP JP2013079079A patent/JP5637406B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013175206A (en) | 2013-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6007246B2 (en) | Predictive multi-layer cache architecture | |
US9542501B2 (en) | System and method for presenting content in a client/server environment | |
US8806142B2 (en) | Anticipatory response pre-caching | |
US20130297887A1 (en) | File handling within a cloud-based file system | |
US20100257199A1 (en) | User engagement during large file uploads | |
US10110653B2 (en) | Systems and methods for transmitting data | |
US8516041B1 (en) | Pre-fetching asynchronously requested content | |
JP5251701B2 (en) | Server device, server-based computing system, and server control program | |
JP5637406B2 (en) | Data transmitting apparatus and program | |
JP2009093374A (en) | Client device and server device | |
JP4973390B2 (en) | Server device and server processing program | |
JP5262362B2 (en) | Server device, client device, and program | |
JP5231500B2 (en) | Web server and method for displaying web page including script program on terminal at high speed | |
US9483575B2 (en) | Reproducing a graphical user interface display | |
JP5982436B2 (en) | Screen transfer server device and screen transfer method | |
US20150248347A1 (en) | Content providing apparatus and method, and computer program product | |
JP2010033339A (en) | Server device of server-based computing system, server control program, display control device, and display control program | |
JP5402415B2 (en) | Image transmitting apparatus and program | |
KR101589369B1 (en) | Apparatus and method for caching processed resources using non-volatile memory | |
JP5821927B2 (en) | Image processing apparatus and program | |
JP2010186295A (en) | Information search system, information search method, and program | |
JP2008140344A (en) | Information processing method, information processor, and computer program | |
JP2005122602A (en) | Cache system, information processing system, cache method, program, and recording medium | |
JP6707824B2 (en) | Information terminal, information processing system, data reading method, and computer program | |
JP2007196566A (en) | Image-forming device and control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140121 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140320 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140925 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141008 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5637406 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |