WO2014045452A1 - 情報処理装置、端末装置、及び画像送信管理方法 - Google Patents

情報処理装置、端末装置、及び画像送信管理方法 Download PDF

Info

Publication number
WO2014045452A1
WO2014045452A1 PCT/JP2012/074447 JP2012074447W WO2014045452A1 WO 2014045452 A1 WO2014045452 A1 WO 2014045452A1 JP 2012074447 W JP2012074447 W JP 2012074447W WO 2014045452 A1 WO2014045452 A1 WO 2014045452A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
information
image
transmission
update interval
Prior art date
Application number
PCT/JP2012/074447
Other languages
English (en)
French (fr)
Inventor
山口孝
依田一志
増子敏文
馮凌雁
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2012/074447 priority Critical patent/WO2014045452A1/ja
Priority to JP2014536544A priority patent/JP5962763B2/ja
Publication of WO2014045452A1 publication Critical patent/WO2014045452A1/ja
Priority to US14/643,592 priority patent/US20150186102A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Definitions

  • Each guest OS 150 represents only the display driver 160 and the keyboard driver 170 as installed software.
  • the management OS 100 only the display emulator 110, the VNC (Virtual Network Computing) server 120, and the serial port emulator 130 are shown as installed software.
  • FIG. 6 is a flowchart of screen update interval information transmission processing.
  • the screen update interval information transmission process shown in FIG. 6 is a process realized by the CPU 21 executing the screen update interval setting program 201 of the VNC viewer 200. This screen update interval information transmission process is executed each time a predetermined time elapses as described above when an image is displayed on the window 210 by the VNC viewer 200.
  • FIG. 6 for the sake of convenience, a process executed for one window 210 in which an image is displayed by the VNC viewer 200 is extracted and the flow is shown.
  • the screen update interval information transmission processing will be described in detail with reference to FIG.

Abstract

 本発明を適用した1システムは、ネットワークを介して、画像データの送信側となる情報処理装置と、その画像データの送信先となる端末装置とが接続可能となっている。その情報処理装置は、ネットワークを介した通信を可能にする通信手段と、内容が更新される画像の画像データを取得する画像取得手段と、画像取得手段が取得した画像データの送信先となる端末装置から、画像データの送信タイミングを特定するためのタイミング情報を取得する情報取得手段と、情報取得手段が取得したタイミング情報に基づいて、画像データの通信手段を用いた送信を管理する更新管理手段と、を有する。

Description

情報処理装置、端末装置、及び画像送信管理方法
 本発明は、ネットワークを用いて、画像データを送受信するための技術に関する。
 現在、ネットワークを介して様々な種類のデータが送受信される。その一つとして画像データがある。画像データにより表示される画像は、表示内容が固定のタイプと、表示内容が随時、更新されるタイプと、に大別することができる。以降、特に断らない限り、画像は表示内容が随時、更新されるタイプを指す意味で用いる。
 画像データの送信は、普通、表示のために行われる。表示内容が随時、更新される画像では、その画像データを送信し続けなければならない。画像データを送信した場合、その画像データの受信側は、受信した画像データを処理しなければならない。それにより、画像データの送信には、送信側、及び受信側ともに負荷が発生し、ネットワークのトラフィック量を増大させる。
 このことから、画像データの送信に用いられる従来の情報処理装置のなかには、画像が更新された場合にのみ、更新後の画像を表示させるための画像データの送信を行うようにしたものがある。画像の更新によって画像データを送信することにより、単位時間当たりの画像データの送信回数、つまり送信頻度は抑えることができる。受信側には、画像の更新間隔が異常に長くなるといった不具合は発生しない。このため、送信側、及び受信側ともに、その負荷も適切な形で抑えることができる。
 画像データの受信先となる情報処理装置(以降「端末装置」)では、受信した画像データはウィンドウ内に描画される。通常、端末装置は、複数のウィンドウを扱うことができ、実際に表示されるウィンドウは、ユーザが任意に変更することができる。また、ユーザは、複数のウィンドウの表示上の前後関係、及びウィンドウ毎の表示/非表示を任意に変更できるのが普通である。
 非表示と設定されたウィンドウでは、そのウィンドウ内に描画される画像は表示されない。これは、前に配置された別のウィンドウが全体を覆う形となるウィンドウでも同じである。
 画像データの送信側、及び受信側が共に、画像データの送信、或いは受信を行ううえで十分な負荷的な余裕があるとは限らない。ネットワークのトラフィック量は、より抑えるのが望ましい。これらのことを考慮する場合、画像データの送信頻度は、受信側に不具合が発生しない範囲でより抑えるのが望ましいと思われる。
特開2011-70587号公報 特開2004-213418号公報
 1側面では、本発明は、受信側での不具合の発生を抑えつつ、画像データの送信頻度をより抑えるための技術を提供することを目的とする。
 本発明を適用した1システムは、ネットワークを介した通信を可能にする通信手段と、内容が更新される画像の画像データを取得する画像取得手段と、画像取得手段が取得した画像データの送信先となる端末装置から、画像データの送信タイミングを特定するためのタイミング情報を取得する情報取得手段と、情報取得手段が取得したタイミング情報に基づいて、画像データの通信手段を用いた送信を管理する更新管理手段と、を有する。
 本発明を適用した1システムでは、受信側での不具合の発生を抑えつつ、画像データの送信頻度をより抑えることができる。
本実施形態による情報処理装置、及び端末装置が適用された情報処理システムの構成例を表す図である。 サーバが提供するサービスを説明する図である。 サーバから送信される画像データを用いた画像の表示例を説明する図である。 サーバに用意された画面更新間隔情報に対応する仕組みの例を説明する図である。 画面更新間隔情報に応じて設定される画像の更新タイミングの例を説明する図である。 画面更新間隔情報送信処理のフローチャートである。 キーボード入力情報処理のフローチャートである。 退避域出力処理のフローチャートである。 画像出力処理のフローチャートである。
 以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
 図1は、本実施形態による情報処理装置、及び端末装置が適用された情報処理システムの構成例を表す図である。
 情報処理システムは、図1に表すように、サーバ1と、複数台の端末装置2とをネットワーク4に接続した構成となっている。本実施形態による情報処理装置はサーバ1として実現され、複数台の端末装置2は全て、本実施形態による端末装置である。
 サーバ1は、端末装置2から要求された処理を行い、その端末装置に処理結果を必要に応じて送信する情報処理装置である。そのサーバ1は、図1に表すように、複数のCPU(Central Processing Unit)11(11-0~11-N)、ノースブリッジ12、複数のメモリ13、PCIe(Peripheral Components Interconnect Express)スイッチ13、NIC(Network Interface Card)15、ハードディスク駆動装置(HDD:Hard Disk Drive)16、及びFWH(Firm Ware Hub)17を備えている。図1に表すサーバ2の構成は、1例であり、この構成に限定されない。
 各CPU11(11-0~11-N)は、メモリ13に読み出されるプログラムを実行する演算処理装置である。1つのCPU11に接続されたFWH17には、各CPU11が実行するBIOS(Basic Input/Output System)が格納されている。特には図示していないが、各CPU11は互いに接続されており、FWH17が接続されていない他のCPU11は、CPU11間の通信により、そのFWH17に格納されたBIOSを取得する。
 各CPU11、及び各メモリ13はノースブリッジ12に接続されている。このノースブリッジ12は、各CPU11の各メモリ13へのアクセスを可能にさせ、各CPU11をPCIeスイッチ13と接続させる機能を提供する。
 NIC15は、ネットワーク4を介した通信を可能にする通信装置である。ハードディスク駆動装置16は、各CPU11がBIOS以外に実行するプログラム、及び各種データが格納された記憶装置である。
 PCIeスイッチ13は、各種コントローラを搭載した入出力制御装置である。本実施形態では、NIC15及びハードディスク駆動装置16がPCIeスイッチ13と接続されている。それにより、各CPU11は、ノースブリッジ12、及びPCIeスイッチ13を介してNIC15及びハードディスク駆動装置16を制御することができる。
 一方、各端末装置2は、図1に表すように、CPU21、ノースブリッジ22、メモリ23、ROM(Read Only Memory)24、GC(Graphics Controller)25、LCD(Liquid Crystal Display)26、サウスブリッジ27、ハードディスク駆動装置28、OD(Optical Drive)29、NIC30、キーボード31、及びPD(Pointing Device)32を備えている。サーバ1と同様に、図1に表す端末装置2の構成は、1例であり、この構成に限定されない。例えばLCD26、OD29、キーボード31及びPD32は何れも、端末装置2に搭載されていても良いが、接続させて用いても良い。
 上記の構成において、ROM24にはBIOSが格納され、OS(Operating System)及び各種アプリケーション・プログラム(以降「アプリケーション」と略記)はハードディスク駆動装置28に格納されている。CPU21は、起動時、ノースブリッジ22を介してROM24からBIOSをメモリ23上に読み出して実行し、その後、BIOSの制御により、ノースブリッジ22、及びサウスブリッジ27を介してハードディスク駆動装置28からOSをメモリ23上に読み出して実行する。
 ノースブリッジ22に接続されたGC25は、LCD26上に画像を表示させる表示制御装置である。CPU21は、メモリ23を用いて、表示させる画像の画像データを作成し、作成した画像データをGC25に送出することにより、LCD26上に画像を表示させる。
 サウスブリッジ27は、各種コントローラを搭載した入出力制御装置であり、図1に表す構成では、ハードディスク駆動装置28、OD29、NIC30、キーボード31及びPD32が接続されている。これらのハードウェア資源は、ノースブリッジ22、及びサウスブリッジ27を介してCPU21により制御される。
 図2は、サーバが提供するサービスを説明する図である。
 図1に表す構成のサーバ1では、複数のVM(Virtual Machine)が作成される。図2に表す各ゲストOS150は、それぞれ、作成されたVMで実行されるOSである。管理OS100は、作成されたVM上のゲストOS150を管理するOSである。
 特には図示しないが、管理OS100、及び各ゲストOS150は、仮想マシン・モニター上で動作する。管理OS100は、ハードウェア資源にアクセスするための各種デバイス・ドライバを備え、ゲストOS150からの要求は、仮想マシン・モニターを介して管理OS100に通知される。それにより、管理OS100は、ゲストOS150からの要求に応じて、アクセスすべきハードウェア資源にアクセスする。この結果、各VMは、管理OS100の処理によってネットワーク4を介した端末装置2との通信を行うことができる。図2では、管理OS100とその管理OS100が要求を処理するゲストOS150との関係を分かりやすくするために、各ゲストOS150と管理OS100とを線で結び、仮想マシン・モニターを省いている。
 各ゲストOS150では、搭載されたソフトウェアとして、ディスプレイドライバ160及びキーボードドライバ170のみを表している。管理OS100では、搭載されたソフトウェアとして、ディスプレイエミュレータ110、VNC(Virtual Network Computing)サーバ120、及びシリアルポートエミュレータ130のみを表している。
 それぞれゲストOS150が実行されるVMは、要求された処理結果として画像データを端末装置2に送信するサービスを提供する。画像データの生成は、ゲストOS150自体、或いはそのゲストOS150上で動作する不図示のアプリケーションにより行われる。ここでは、便宜的に、画像データの生成はアプリケーションが行うと想定する。図2では、画像は「画面」と表記している。
 ゲストOS150のディスプレイドライバ160は、アプリケーションが生成した画像データの出力を行うためのソフトウェアである。キーボードドライバ170は、サーバ1と接続された端末装置2のキーボード31上に行われた操作に対応するためのソフトウェアである。ここでは、アプリケーションは、随時、表示内容が更新される画像の画像データを生成すると想定する。
 管理OS100に搭載されたVNCサーバ120は、接続された端末装置2からの遠隔操作を可能にするソフトウェアである。ディスプレイエミュレータ110は、仮想マシン・モニターを介して、ゲストOS150のディスプレイドライバ160が出力する画像データをVNCサーバ120に対応の画像データに変換し、変換後の画像データをVNCサーバ120に出力する。
 シリアルポートエミュレータ130は、端末装置2で行われた操作内容を表すデータをVNCサーバ120から受け取って処理し、そのデータを例えばキーボード31上で操作されたと見なすキーを表すデータに変換する。ゲストOS150上のキーボードドライバ170は、シリアルポートエミュレータ130によって変換された後のデータを受け取り、端末装置2上で行われた操作内容をゲストOS150に通知する。その通知により、ゲストOS150は端末装置2上で行われた操作を処理に反映させる。
 端末装置2では、キーボード31等への操作をゲストOS150の処理に反映できるように、VNCビューア200が実行される。このVNCビューア200は、サーバ1から受信した画像データをLCD26上に表示させることができ、キーボード31等にユーザが行った操作内容を表すデータを送信させることができる。このため、端末装置2のユーザは、所望の画像データをサーバ1に送信させることができる。
 上記各ゲストOS150、及び管理OS100、つまり各VMには、それぞれCPU11が割り当てられる。このことから、図2では、各VMに割り当てられたCPU11を併せて表している。各VMに割り当てたCPU11の数は1例であり、割り当て方は特に限定されない。
 図3は、サーバから送信される画像データを用いた画像の表示例を説明する図である。ゲストOS150が実行される各VMは、少なくとも1種類の画像データを送信することができる。各VMによってサーバ1から送信された画像データは、端末装置2ではそれぞれ別のウィンドウによって表示される。図3では、サーバ1上の2つのVMによって送信された画像データを端末装置2が2つのウィンドウ210(210-1、210-2)上に表示させている様子を表している。
 複数のウィンドウ210を表示させる場合、ウィンドウ210間の前後関係が設定される。前に位置するウィンドウ210が存在しないウィンドウ210は、アクティブ状態と呼ばれ、前に位置するウィンドウ210が存在するウィンドウ210は、非アクティブ状態と呼ばれる。各ウィンドウ210は、表示/非表示を切り換えることができる。アクティブ状態、及び非アクティブ状態は共に、表示状態に属するサブ状態である。前に位置するウィンドウ210が存在しない複数のウィンドウ210が存在する場合、その複数のウィンドウ210のうちの1つのみがアクティブ状態となる。ウィンドウ210内への操作は、アクティブ状態のウィンドウ210のみ有効となる。
 非アクティブ状態のウィンドウ210の少なくとも一部は、アクティブ状態のウィンドウ210が重なって見ることはできない。少なくとも一部を見ることができないウィンドウ201内の画像を端末装置2のユーザが重要視している可能性は低いと云える。言い換えれば、端末装置2のユーザにとっての優先順位は、非アクティブ状態のウィンドウ210内の画像よりもアクティブ状態のウィンドウ210内の画像のほうが高いと云える。非表示状態としているウィンドウ210では、そのウィンドウ210内に表示される画像は見ることはできない。このようなことから、本実施形態では、端末装置2で表示対象としている画像(ウィンドウ210)毎に、その画像の更新タイミングを制御するようにしている。
 画像の更新タイミングの制御は、更新の必要性が低いと考えられる画像ほど、更新間隔が長くなるように設定することで行っている。画像データの送信は、設定された更新間隔に従って行われる。そのため、各VMが生成する画像の更新間隔が全て同じであったとしても、サーバ1から単位時間当たりに画像データが送信される回数、つまり送信頻度は、その画像データが送信される端末装置2の数の他に、その画像データによって表示される画像の表示状態に依存することになる。
 複種類の画像データを受信する端末装置2では、受信した画像データにより画像が表示されるウィンドウ210が全てアクティブ状態となっているケースは少ない。例え1種類の画像データのみを受信する端末装置2でも、その画像データにより画像が表示されるウィンドウ210がアクティブ状態であるとは限らない。これは、何らかのアプリケーションにより表示されるウィンドウ210をアクティブ状態にして、画像が配置されるウィンドウ210を非アクティブ状態とする可能性が存在するからである。このようなことから、画像の更新タイミングの制御により、サーバ1における画像データの送信頻度を抑えることができる。
 上記のようにサーバ1における画像データの送信頻度を抑えた場合、ネットワーク4上のトラフィック量も抑えられることとなる。また、送信された画像データを用いて非表示状態、或いは非アクティブ状態のウィンドウ210に画像を表示させる端末装置2では、単位時間当たりに画像データを受信する回数である受信頻度が低くなる。これは、画像データの受信に対応するための処理量が小さくなり、負荷が軽くなることを意味する。これらのことから、ネットワーク4、或いは/及び、端末装置2に要求される性能も抑えることができる。それにより、情報処理システムもより安価に構築できるようになる。
 非表示状態のウィンドウ210の画像を端末装置2のユーザは見ることができない。非アクティブ状態のウィンドウ210の画像は、例え大部分を視認可能であっても、端末装置2のユーザにとってより優先順位の高い画像の存在から、比較的に注視されない可能性が高い。注視されなければ、意識する度合いも低いことから、画像の表示内容の変化には気付きにくい。このようなことから、本実施形態では、画像の更新タイミングは、非表示状態のウィンドウ210の画像では更新を行わず、非アクティブ状態のウィンドウ210の画像データでは予め定めた時間間隔としている。そのようなタイミングで画像を更新しても、端末装置2のユーザは不具合を感じないか、例え不具合を感じたとしても、その程度は非常に低く抑えることができる。アクティブ状態のウィンドウ210の画像は、リアルタイムで更新するようにしている。このため、端末装置2のユーザは、アクティブ状態のウィンドウ210の画像から不具合を感じることはない。
 本実施形態では、ウィンドウ210は、非表示状態、アクティブ状態、及び非アクティブ状態の何れかに分類している。以降、これらの状態を「表示設定状態」と総称する。このような表示設定状態の分類は1例であり、分類はこれに限定されない。例えば非アクティブ状態のウィンドウ210のなかで全く視認できないウィンドウ210は、事実上、非表示状態と同じである。このことから、非表示状態は非アクティブ状態の一つとして扱っても良い。
 サーバ1自体は、端末装置2で画像データが表示されるウィンドウ210の表示設定状態を認識することはできない。このため、本実施形態では、端末装置2から、画像データが表示されるウィンドウ210の表示設定状態を表す情報をサーバ1に送信させるようにしている。サーバ1に送信される情報は以降「画面更新間隔情報」と呼ぶことにする。
 画面更新間隔情報の送信を可能とするために、本実施形態では、端末装置2に、図2に表す画面更新間隔設定プログラム201が組み込まれたVNCビューア200を実行させる。この画面更新間隔設定プログラム201は、VNCビューア200によって画像が表示されるウィンドウ210毎に、その表示設定状態を特定し、その特定結果をキーボード31上のキーの組み合わせに変換し、その変換結果を画面更新間隔情報として送信させる。この画面更新間隔情報の送信は、例えば予め定めた時間が経過する度に行う。それにより、画面更新間隔設定プログラム201は、各ウィンドウ201内に表示される画像データを、その表示設定状態に応じた送信頻度でサーバ1が送信するのを可能にさせる。
 図5は、画面更新間隔情報に応じて設定される画像の更新タイミングの例を説明する図である。
 図5では、項目名として、「設定値」及び「画面更新間隔情報」の2つを表記している。「設定値」項目は、設定される画像の更新タイミングに相当する。その更新タイミングとは、本実施形態では、画像の更新間隔、つまり画像の表示内容を更新するための画像データを送信する送信間隔としている。
 この「設定値」項目では、データの内容として、「リアルタイム更新」「1秒」「2秒」「3秒」及び「非表示」を表記している。「リアルタイム更新」は、画像の更新をリアルタイムで反映させることを意味する。それにより、「リアルタイム更新」は、ウィンドウ210の表示設定状態としてアクティブ状態が特定されたことを表す。「1秒」「2秒」及び「3秒」は、画像の更新を1~3秒ごとに反映させることを意味し、これらはウィンドウ210の表示設定状態として非アクティブ状態が特定されたことを表す。「非表示」は、画像の更新を反映させないことを意味し、これはウィンドウ210の表示設定状態として非表示状態が特定されたことを表す。
 「画面更新間隔情報」項目では、データの内容として、「Ctrl+Alt+0」~「Ctrl+Alt+@」を表記している。例えば「Ctrl+Alt+0」は、「Ctrl」キー、「Alt」キー、及び「0」キーの3種類のキーの組み合わせを表している。これは他でも同様である。
 例えば、画面更新間隔設定プログラム201には、図5に表すように、ウィンドウ210の表示設定状態と、その表示設定状態で送信すべき画面更新間隔情報との対応関係を表すデータ(以降「更新間隔特定定義データ)が定義されている。それにより、この画面更新間隔通知プログラム171は、ウィンドウ210毎に、そのウィンドウ210の表示設定状態を用いて画面更新間隔特定定義データを参照することにより、送信すべき画面更新間隔情報を特定する。
 サーバ1は、端末装置2から受信した画面更新間隔情報に従い、画像の更新タイミングを設定する。それにより、画面更新間隔情報は、画像の更新タイミングを直接的に指定するための情報として用いている。これは、非アクティブ状態のウィンドウ210での画像の更新タイミングを端末装置2のユーザが1~3秒の間で任意に指定できるようにしたためである。非アクティブ状態のウィンドウ210での画像の更新間隔をユーザが任意に変更できる場合、ウィンドウ210の表示設定状態を特定するだけでは、非アクティブ状態のウィンドウ210の画像をユーザが所望する更新間隔で更新させることはできない。
 なお、非アクティブ状態のウィンドウ210の画像の更新間隔を指定する画面更新間隔情報は、そのウィンドウ210全体のなかで表示される部分の割合に応じて自動的に決定するようにしても良い。画像の更新間隔を1~3秒の3段階で変更可能にする場合、表示される部分の割合の値域(例えば0~1)を3分割し、分割した各値域と各画面更新間隔情報との対応関係を設定し、実際に求めた割合に対応付けられた画面更新間隔情報を選択させれば良い。表示設定状態毎に設定可能な画像の更新間隔を一つとした場合、確認された表示設定状態をサーバ1に通知するようにしても良い。
 図6は、画面更新間隔情報送信処理のフローチャートである。図6に表す画面更新間隔情報送信処理は、VNCビューア200の画面更新間隔設定プログラム201をCPU21が実行することで実現される処理である。この画面更新間隔情報送信処理は、VNCビューア200によりウィンドウ210に画像を表示させている場合、上記のように、予め定めた時間が経過する度に実行される。図6では、便宜的に、VNCビューア200によって画像が表示される1つのウィンドウ210を対象に実行される処理を抽出し、その流れを表している。ここで図6を参照し、この画面更新間隔情報送信処理について詳細に説明する。
 先ず、CPU21は、対象として選択したウィンドウ210がアクティブ状態か否か判定する(S1)。そのウィンドウ210がアクティブ状態であった場合、S1の判定はYesとなり、次にCPU21は、画像のリアルタイムでの更新を要求するための画面更新間隔情報を生成して送信させる(S2)。生成した画面更新間隔情報の送信は、その画面更新間隔情報と共に、サーバ2のIPアドレス、及び対象とするウィンドウ210に表示させている画像に対応するポート番号をノースブリッジ22、及びサウスブリッジ27を介してCPU21がNIC30に出力することで行われる。その送信を行った後、1ウィンドウ210分の画面更新間隔情報送信処理が終了する。
 一方、対象とするウィンドウ210がアクティブ状態でなかった場合、S1の判定はNoとなる。この場合、次にCPU21は、そのウィンドウ210が表示状態か否か判定する(S3)。そのウィンドウ210が非表示状態であった場合、S3の判定はNoとなり、次にCPU21は、画像の非表示を要求するための画面更新間隔情報を生成して送信させる(S5)。そのウィンドウ210が表示状態であった場合、S3の判定はYesとなり、次にCPU21は、1~3秒間隔での画像の更新を要求するための画面更新間隔情報を生成して送信させる(S4)。S4、或いはS5での画面更新間隔情報の送信を行った後、1ウィンドウ210分の画面更新間隔情報送信処理が終了する。S3でのYesの判定は、対象とするウィンドウ210が非アクティブ状態であることを表している。
 図4は、サーバに用意された画面更新間隔情報に対応する仕組みの例を説明する図である。
 図2に表すように、端末装置2から送信された画面更新間隔情報は、サーバ1によって受信されると、VNCサーバ120によって処理される。この画面更新間隔情報は、キーボード31上のキーに対してユーザが行った操作内容(図2、及び図4では「キーボード入力」と表記)を表す情報である。このため、VNCサーバ120は、画面更新間隔情報をシリアルポートエミュレータ130に渡す。以降、キーボード31上のキーに対してユーザが行った操作内容を表す情報は「キーボード入力情報」と総称する。
 端末装置2が画面更新間隔情報を送信する場合、画像データを送信するサーバ1のIP(Internet Protocol)アドレス、及びMAC(Media Access Control)アドレスに加えて、その画像データを生成するVMに割り当てられたポート番号が用いられる。そのポート番号は、画面更新間隔情報と共にシリアルポートエミュレータ130に渡される。その結果、画面更新間隔情報は、シリアルポートエミュレータ130から、仮想マシン・モニターを介して、画像データを生成するVMのゲストOS150に渡される。
 ゲストOS150に渡された画面更新間隔情報は、キーボード入力情報であることから、キーボードドライバ170に処理される。キーボードドライバ170には、画面更新間隔通知プログラム171が組み込まれている。この画面更新間隔通知プログラム171は、キーボード入力情報のなかから画面更新間隔情報を抽出し、抽出した画面更新間隔情報に応じて、画像データを送信する間隔である画面更新間隔を設定するためのプログラムである。
 この画面更新間隔通知プログラム171には、図5に表すように、画面更新間隔情報に応じて設定すべき送信間隔を設定するためのデータ(以降「更新間隔設定定義データ」と表記)が定義されている。それにより、この画面更新間隔通知プログラム171は、その更新間隔設定定義データを参照し、キーボード入力情報が画面更新間隔情報か否かの判定、及び画面更新間隔情報と判定した場合に設定すべき更新間隔の特定を行う。特定された更新間隔を表す更新間隔データは、更新間隔格納域167に格納される。画面更新間隔情報と判定されなかったキーボード入力情報は、画像データを生成するアプリケーション180に渡される。
 この更新間隔格納域167には、更新間隔データの他に、更新間隔データを最後に更新した時刻を表す格納時間データ、及び画像データの出力先を表す画面出力先データが格納される。格納時間データは、画面更新間隔通知プログラム171によって更新される。
 図7は、キーボード入力情報処理のフローチャートである。このキーボード入力情報処理は、ゲストOS150が実行されるVMに割り当てられた少なくとも1個のCPU11が、キーボードドライバ170を実行することで実現される処理である。そのキーボードドライバ170は、管理OS100のシリアルポートエミュレータ130からキーボード入力情報が渡されたことを契機に、ゲストOS150によって実行される。ここで図7を参照し、そのキーボード入力情報処理について詳細に説明する。
 先ず、CPU11は、管理OS100のシリアルポートエミュレータ130から渡されたキーボード入力情報(図7中「キー入力値」と表記)を取得する(S11)。次にCPU11は、更新間隔設定定義データを用いて、取得したキーボード入力情報が画面更新間隔情報か否かを判定する(S12)。そのキーボード入力情報が図5に表すような画面更新間隔情報のうちの一つであった場合、S12の判定はYesとなる。その場合、CPU11は、更新間隔設定定義データを用いて、その画面更新間隔情報によって指定される更新間隔を特定し、特定した更新間隔を表す更新間隔データを更新間隔格納域167に上書きする。CPU11は、その更新間隔格納域167の格納時間データを、現在時刻を表すデータに更新する(以上S13)。このような更新間隔格納域167の更新を行った後、このキーボード入力情報処理を終了する。
 取得したキーボード入力情報が図5に表すような画面更新間隔情報の何れとも一致しない場合、S12の判定はNoとなる。その場合、CPU11は、取得したキーボード入力情報を、アプリケーション180に通知するための処理を行う。その後、このキーボード入力情報処理を終了する。
 このようにして、キーボード入力情報処理では、キーボード入力情報として画面更新間隔情報がシリアルポートエミュレータ130から渡された場合、渡された画面更新間隔情報により、更新間隔格納域167の更新を行う。それにより、端末装置2でのウィンドウ210の表示設定状態の変化に対応することができる。画面更新間隔通知プログラム171は、上記S12、及びS13の各処理に用いられる。
 図4の説明に戻る。
 図4では、更新間隔格納域167はディスプレイドライバ160内に表している。実際の更新間隔格納域167は、キーボードドライバ170及びディスプレイドライバ160が共に更新可能な配列変数、或いはVMに割り当てられたメモリ空間上に確保された領域である。ディスプレイドライバ160内に表す画面更新情報退避域165は、VMに割り当てられたメモリ空間上に確保された領域である。ここでは、ディスプレイドライバ160の機能を説明する便宜上、更新間隔格納域167及び画面更新情報退避域165をそのディスプレイドライバ160内に表している。
 ディスプレイドライバ160は、そのサブプログラムとして、画面出力プログラム161、及び退避域出力プログラム163を搭載している。
 画面出力プログラム161は、更新間隔格納域167に格納されている画面出力先データを参照し、その画面出力先データによって指定される出力先に画像データを出力するためのプログラムである。画面出力先データによって指定される出力先は、管理OS100のディスプレイエミュレータ110、或いは画面更新情報格納域165である。この画面更新情報格納域165は、画像データの送信を停止させている間に、アプリケーション180から出力された画像データを保存するためのバッファとして機能する。
 表示内容が更新される画像を表示させるために送信される画像データは、1画像分か、或いは直前の画像との間の差分であるのが普通である。1画像分の画像データでは、アプリケーション180から出力された画像データを画面更新情報格納域165内の画像データに単に上書きすれば良い。差分の画像データでは、画像データの送信を停止させている間にアプリケーション180から出力される画像データを画面更新情報格納域165内の画像データに反映させなければならない。このようなことから、画面更新情報格納域165内に格納された画像データの扱いは、アプリケーション180が生成する画像データの内容によって異なる。しかし、アプリケーション180が生成する画像データの内容は特に限定されるものではない。ここでは、便宜的に、アプリケーション180は直前の画像との間の差分の画像データを出力すると想定する。
 退避域出力プログラム163は、画面更新情報退避域165に格納された画像データを出力するためのプログラムである。この退避域出力プログラム163は、更新間隔格納域167に格納されている画面出力先データの更新を行う。その画面出力先データの更新を退避域出力プログラム163に行わせるのは、画面更新情報退避域165に未送信の画像データが存在する状況でその画像データより後に送信すべき画像データを送信するのを回避させるためである。
 図8は、退避域出力処理のフローチャートである。この退避域出力処理は、画面更新情報退避域165に格納された画像データを送信させるための処理であり、ゲストOS150が実行されるVMに割り当てられた少なくとも1個のCPU11が、退避域出力プログラム163を実行することで実現される。この退避域出力処理は、ゲストOS150の制御により、例えば予め定めた時間が経過する度に実行される。ここで図8を参照し、その退避域出力処理について詳細に説明する。
 VMが生成する画像データは、複数の端末装置2に送信される場合がある。その場合、更新間隔格納域167、及び画面更新情報退避域165は端末装置2毎に確保される。図8では、便宜的に、1台の端末装置2を対象に実行される処理を抽出して、その流れを表している。
 先ず、CPU11は、更新間隔格納域167の格納時間データを参照し、更新間隔データが更新された時刻を判定する(S21)。その更新時刻が現在時刻から5秒より前であった場合、S21ではその旨が判定され、次にCPU11は、更新間隔格納域167の画面出力先データが表す出力先を画面更新情報退避域165に更新する。その更新後、この退避域出力処理が終了する。その更新時刻が現在時刻から5秒以内であった場合、S21ではその旨が判定され、S23に移行する。
 送信先となる端末装置2では、何らかの不具合の発生により、画像データを処理できなくなる可能性がある。ユーザがVNCビューア200を終了させても、端末装置2は画像データを処理できなくなる。このようなことから、上記S21の判定は、送信先となる端末装置2が画像データを処理できる状態か否かを判定するために行われる。それにより本実施形態では、画面更新間隔情報が送信されなくなってから5秒より長い時間が経過した端末装置2は、画像データを処理できない状態になっていると見なすようにしている。このため、更新間隔格納域167の更新間隔データの内容に係わらず、画面出力先データが表す出力先は画面更新情報退避域165とされ、無駄になると考えられる画像データの送信は停止される。端末装置2に実行させるVNCビューア200に組み込まれている画面更新間隔設定プログラム201に、予め定めた時間が経過する度に画面更新間隔情報を送信させているのは、その端末装置2が画像データを処理できる状態か否かを判定できるようにする意味がある。
 S23では、CPU11は、更新間隔格納域167の更新間隔データの表す更新間隔の判定を行う。その更新間隔データの表す更新間隔が非表示であった場合、S13ではその旨が判定され、上記S22の処理が実行される。その更新間隔データの表す更新間隔が1~3秒であった場合、S13ではその旨が判定され、S24に移行する。その更新間隔データの表す更新間隔がリアルタイムであった場合、S13ではその旨が判定され、S27に移行する。
 S24では、CPU11は、更新間隔格納域167の画面出力先データが表す出力先を画面更新情報退避域165に更新する。次にCPU11は、画面更新情報退避域165に未送信の画像データが存在する場合、その画像データを送信すべきタイミングとなるまでの間、スリープ状態(待機状態)とする(S25)。そのスリープ状態が解除されたCPU11は、画面更新情報退避域165に格納されている画像データを管理OS100のディスプレイエミュレータ110に処理させるための通知を行う(S26)。その後、この退避域出力処理が終了する。
 S27では、CPU11は、画面更新情報退避域165に格納されている未送信の画像データを管理OS100のディスプレイエミュレータ110に処理させるための通知を行う(S27)。次にCPU11は、更新間隔格納域167の画面出力先データが表す出力先をディスプレイエミュレータ110に更新する(S28)。その後、この退避域出力処理が終了する。
 図9は、画像出力処理のフローチャートである。この画像出力処理は、アプリケーション180から出力される画像データを出力すべき出力先に出力させるための処理であり、ゲストOS150が実行されるVMに割り当てられた少なくとも1個のCPU11が、画像出力プログラム161を実行することで実現される。この画像出力処理は、ゲストOS150の制御により、アプリケーション180による画像データの生成を契機に実行される。次に図9を参照し、その画像出力処理について詳細に説明する。
 上記のように、VMが生成する画像データは、複数の端末装置2に送信される場合がある。その場合、更新間隔格納域167、及び画面更新情報退避域165は端末装置2毎に確保される。このことから、図9でも図8と同じく、便宜的に、1台の端末装置2を対象に実行される処理を抽出して、その流れを表している。
 先ず、CPU11は、更新間隔格納域167の画面出力先データを参照し、その画面出力先データが表す出力先の判定を行う(S31)。その画面出力先データが表す出力先がディスプレイエミュレータ110であった場合、S31ではその旨が判定され、次にCPU11は、生成された画像データ管理OS100のディスプレイエミュレータ110に処理させるための通知を行う(S32)。その後、この画面出力処理が終了する。
 一方、画面出力先データが表す出力先が画面更新情報退避域165であった場合、S31ではその旨が判定され、S33に移行する。このS33では、CPU11は、生成された画像データを画面更新情報退避域165に格納する。その後、この画面出力処理が終了する。
 なお、本実施形態では、VM上で実行されるゲストOS150に、画像データの送信間隔を制御する機能(画面出力プログラム161、及び退避域出力プログラム163)を搭載させているが、この機能は別のプログラムに搭載させても良い。この機能は、アプリケーション180、或いは管理OS100に搭載させても良い。本実施形態において、この機能をゲストOS150に搭載させたのは、ゲストOS150上で動作させるアプリケーションの修正を回避できる、管理OS100の負荷を軽減できる、といった利点のためである。画面出力プログラム161のようなプログラムをアプリケーション180に、退避域出力プログラム163のようなプログラムをゲストOS150(ディスプレイドライバ160)に、といったように、機能を複数のプログラムに分散させても良い。つまり、機能の搭載方法は、サーバ1として、画像データの送信間隔を適切に管理できるのであれば、特に限定されない。

Claims (5)

  1.  ネットワークを介した通信を可能にする通信手段と、
     内容が更新される画像の画像データを取得する画像取得手段と、
     前記画像取得手段が取得した前記画像データの送信先となる端末装置から、前記画像データの送信タイミングを特定するためのタイミング情報を取得する情報取得手段と、
     前記情報取得手段が取得した前記タイミング情報に基づいて、前記画像データの前記通信手段を用いた送信を管理する更新管理手段と、
     を有することを特徴とする情報処理装置。
  2.  前記タイミング情報は、前記端末装置における前記画像の表示設定状態によって決定される情報である、
     ことを特徴とする請求項1記載の情報処理装置。
  3.  ネットワークを介した通信を可能にする通信手段と、
     前記通信手段が受信した画像データを表示装置上に表示させる表示制御手段と、
     前記通信手段が受信した画像データ別に、該画像データの表示設定状態を特定し、該特定した表示設定状態を基に、該画像データの送信タイミングを指定するタイミング情報を生成する情報生成手段と、
     前記通信手段を用いて、前記情報生成手段が生成した前記タイミング情報を前記画像データの送信元の情報処理装置に送信させる通知手段と、
     を有することを特徴とする端末装置。
  4.  ネットワークを介した画像データの送信を管理するための方法であって、
     前記画像データの受信側装置に、前記画像データの表示設定状態を特定させ、該特定させた表示設定状態を表す状態情報を、前記画像データの送信側装置に送信させ、
     前記送信側装置に、前記状態情報に基づいて、前記画像データの送信間隔を管理させる、
     ことを特徴とする画像送信管理方法。
  5.  前記受信側装置に、前記状態情報を予め定めたタイミングで継続的に送信させ、
     前記送信側装置に、前記状態情報の受信状況に基づいて、前記受信側装置が前記画像データを処理可能か否か判定させ、該判定結果を前記画像データの送信間隔の管理に反映させる、
     ことを特徴とする請求項4記載の画像送信管理方法。
PCT/JP2012/074447 2012-09-24 2012-09-24 情報処理装置、端末装置、及び画像送信管理方法 WO2014045452A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2012/074447 WO2014045452A1 (ja) 2012-09-24 2012-09-24 情報処理装置、端末装置、及び画像送信管理方法
JP2014536544A JP5962763B2 (ja) 2012-09-24 2012-09-24 情報処理装置、端末装置、及び画像送信管理方法
US14/643,592 US20150186102A1 (en) 2012-09-24 2015-03-10 Information processing device, terminal device, and image transmission management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/074447 WO2014045452A1 (ja) 2012-09-24 2012-09-24 情報処理装置、端末装置、及び画像送信管理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/643,592 Continuation US20150186102A1 (en) 2012-09-24 2015-03-10 Information processing device, terminal device, and image transmission management method

Publications (1)

Publication Number Publication Date
WO2014045452A1 true WO2014045452A1 (ja) 2014-03-27

Family

ID=50340799

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/074447 WO2014045452A1 (ja) 2012-09-24 2012-09-24 情報処理装置、端末装置、及び画像送信管理方法

Country Status (3)

Country Link
US (1) US20150186102A1 (ja)
JP (1) JP5962763B2 (ja)
WO (1) WO2014045452A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6145855B1 (ja) * 2016-01-26 2017-06-14 パナソニックIpマネジメント株式会社 施設利用支援方法、施設利用支援装置および利用者端末装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902248B1 (en) 2011-07-14 2014-12-02 Vmware, Inc. Method and system for measuring display performance of a remote application
US9674265B2 (en) * 2013-11-04 2017-06-06 Vmware, Inc. Filtering unnecessary display updates for a networked client
US9674518B2 (en) 2013-12-20 2017-06-06 Vmware, Inc. Measuring remote video display with embedded pixels
US9699247B2 (en) 2014-06-17 2017-07-04 Vmware, Inc. User experience monitoring for application remoting

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312259A (ja) * 2001-04-18 2002-10-25 Fuji Xerox Co Ltd ネットワークシステム及びクライアント装置
JP2004280133A (ja) * 2003-03-12 2004-10-07 Sony Corp データ会議システム,送信端末装置,コンピュータプログラム,受信端末装置,および送信端末装置の表示画面データ共有方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3972836B2 (ja) * 2003-02-27 2007-09-05 ソニー株式会社 表示画面共有システム,送信側端末装置,プログラム,表示画面共有方法
US7668508B2 (en) * 2004-11-12 2010-02-23 Sony Corporation System and method for managing wireless connections in computer
CN102460564B (zh) * 2009-06-30 2015-02-11 诺基亚公司 用于提供移动设备互操作性的方法及装置
TWI524691B (zh) * 2011-07-19 2016-03-01 奇揚網科股份有限公司 遠端控制方法以及實現此方法之系統、接收裝置、行動上網裝置以及記錄媒體

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312259A (ja) * 2001-04-18 2002-10-25 Fuji Xerox Co Ltd ネットワークシステム及びクライアント装置
JP2004280133A (ja) * 2003-03-12 2004-10-07 Sony Corp データ会議システム,送信端末装置,コンピュータプログラム,受信端末装置,および送信端末装置の表示画面データ共有方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6145855B1 (ja) * 2016-01-26 2017-06-14 パナソニックIpマネジメント株式会社 施設利用支援方法、施設利用支援装置および利用者端末装置
JP2017134513A (ja) * 2016-01-26 2017-08-03 パナソニックIpマネジメント株式会社 施設利用支援方法、施設利用支援装置および利用者端末装置

Also Published As

Publication number Publication date
US20150186102A1 (en) 2015-07-02
JPWO2014045452A1 (ja) 2016-08-18
JP5962763B2 (ja) 2016-08-03

Similar Documents

Publication Publication Date Title
US8473958B2 (en) Adjusting client display devices based on settings included in a notification from remote virtual machine host prior to connection establishment
US10276131B2 (en) Systems and methods for remote mouse pointer management
US8631408B2 (en) Configuring parameters of a guest operating system based on detected events
JP5962763B2 (ja) 情報処理装置、端末装置、及び画像送信管理方法
US8341624B1 (en) Scheduling a virtual machine resource based on quality prediction of encoded transmission of images generated by the virtual machine
JP5129151B2 (ja) マルチユーザ・ディスプレイ・プロキシ・サーバ
WO2015096516A1 (zh) 一种vdi环境下的数据发送方法和装置
US20180151150A1 (en) Displaying Image Data Based on Level of System Performance
US20090307428A1 (en) Increasing remote desktop performance with video caching
US20140304322A1 (en) Desktop shadowing in a virtual desktop infrastructure environment
WO2009081593A1 (ja) 通信端末、通信方法および通信プログラム
US20120124595A1 (en) Method and program for selective suspension of usb network device
CN113419845A (zh) 计算加速方法和装置、计算系统、电子设备及计算机可读存储介质
US20230195491A1 (en) Device emulation in remote computing environments
JP2007516536A (ja) オペレーティングシステムに可視的な割り込みハンドリングを用いてホットキー入力を処理する方法及び装置
US9565049B2 (en) Communication apparatus, communication method, and computer product for sharing data
US10848638B2 (en) Relaying control commands across network boundaries
US9606758B1 (en) System and method of connecting a computer to a printer
US9087031B2 (en) Method and program for selective suspension of USB device
US20110271191A1 (en) Providing An Indication Of Change At A User Interface Device Over A Network Between Computers
KR101624700B1 (ko) 가상 운영체제 환경에서 다중화면 제어가 가능한 가상화 클라이언트
CN112698874B (zh) 一种麒麟系统中ast显卡和独立显卡同时显示的方法
KR101524781B1 (ko) 가상화 환경에서 입출력 인터페이스를 적응시키는 장치 및 방법
WO2015145709A1 (ja) 計算機、計算機の制御方法
KR100724830B1 (ko) 원격 제어시스템에서의 원격 화면제어 방법

Legal Events

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

Ref document number: 12884911

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014536544

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12884911

Country of ref document: EP

Kind code of ref document: A1