JP2017215800A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2017215800A
JP2017215800A JP2016109336A JP2016109336A JP2017215800A JP 2017215800 A JP2017215800 A JP 2017215800A JP 2016109336 A JP2016109336 A JP 2016109336A JP 2016109336 A JP2016109336 A JP 2016109336A JP 2017215800 A JP2017215800 A JP 2017215800A
Authority
JP
Japan
Prior art keywords
window
application
virtual machine
information processing
base
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
JP2016109336A
Other languages
English (en)
Inventor
健則 浅見
Takenori Asami
健則 浅見
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016109336A priority Critical patent/JP2017215800A/ja
Priority to US15/601,910 priority patent/US20170344385A1/en
Publication of JP2017215800A publication Critical patent/JP2017215800A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

【課題】 オーバーヘッドを抑制しつつ、仮想マシン上で動作させるアプリケーションのウィンドウに対するイベントの通知を適切に行うことを目的とする。【解決手段】 仮想マシン上でアプリケーションを動作させる情報処理装置であって、ウィンドウ管理システム上で、前記仮想マシン上で動作させるアプリケーションとは異なるアプリケーションのウィンドウを管理する管理手段と、前記ウィンドウ管理システム上に、当該ウィンドウ管理システムからのイベントの通知が可能なベースウィンドウを生成する第一の生成手段と、前記ベースウィンドウを最上位として、前記仮想マシン上で動作させるアプリケーションの表示に含まれるウィンドウを階層構造で生成する第二の生成手段と、を有することを特徴とする。【選択図】 図3

Description

本発明は、仮想マシン上でアプリケーションを動作させる情報処理装置情報処理方法およびプログラムに関する。
従来から、アプリケーションプラットフォームにおいては、異なる2種類のWindowシステムを利用する場合があった。例えば、図1のようにアプリケーションプラットフォームにおいては、X Window System(登録商標)とJava(登録商標)VM Window Systemの異なる2種類のWindowシステムを利用することがある。図中のNative Window Manager、JavaVMはアプリケーションプラットフォームに存在し、それぞれ異なるモジュールである。JavaVMは、JavaVM Window Systemを利用して、Java言語のアプリケーションのWindowの生成を行っている。一方、Native Window Managerは、ネイティブアプリケーションのWindowの生成を行うとともに、全てのアプリケーションが持つWindowに対するイベントの送信を行う。Native Window ManagerはそれぞれのWindowシステムが持つインタフェースを通じて、Window生成を命令し、Windowへのイベント送信を行う。X Window Systemの内部では、XRootWindowと呼ぶ最上位のWindowの下に親子関係を持った階層構造でWindowが生成される。例えば、図1のようにXRootWindowの下に子WindowとしてBASEWindow3が生成され、さらにその子WindowとしてPanelとFrameの2つのWindowが生成されている。またイベントを受信する対象Windowの決め方に階層構造を用いる。例えば、カーソル位置に重なっているWindowのうち階層構造をたどって一番最下層にあるWindowを対象Windowとする(非特許文献1参照)。
一方、JavaVM Window Systemでは、X Window Systemと異なる方法でWindowが生成される。図中のBASEWindowはX Window Systemが生成したWindowであり、これを共有している。それ以外のButton/Label/Frame/PanelはComponentと呼ばれるWindowに代わる部品であり、JavaVM Window Systemが生成するものである。ComponentはBASEWindow上に描画される。また、Native Window Managerがイベントを送信する対象はBASEWindowとなる。JavaVM Window SystemがまずBASEWindowでイベントを受け取る。次にイベントのカーソル位置を元に、その位置で前面に描画されているComponentに対してイベントの処理を行うよう制御をする。
そして、Native Window Managerはイベントの送信先のWindowシステムをアプリケーションによって切り替える。例えばネイティブアプリケーションの実行中にはX Window Systemへ、Java言語アプリケーション実行中ではJavaVM Window Systemへ送信する。従来技術においては、上記のように異なる2種類のWindowシステムを利用していた。
「X Windowハンドブック」(Oliver Jones著、株式会社アスキー 発行、1990年)
しかしながら、従来の方法では異なる2種類のWindowシステムを使うため、Native Window Managerによるイベントの通知の処理にオーバーヘッドが生じることがあった。例えば、イベント形式をそれぞれのWindowシステムに合う方式に変換する必要等があり、これがオーバーヘッドの要因となる。一方で、Windowシステムを1種類に統一した場合、Window生成の方法によっては、Native Window Managerが送信するイベントが目的のWindowまで到達しないことがある。
本発明は上述した課題を解決するためになされたものであり、オーバーヘッドを抑制しつつ、仮想マシン上で動作させるアプリケーションのウィンドウに対するイベントの通知を適切に行うことを目的とする。
本発明は、仮想マシン上でアプリケーションを動作させる情報処理装置であって、ウィンドウ管理システム上で、前記仮想マシン上で動作させるアプリケーションとは異なるアプリケーションのウィンドウを管理する管理手段と、前記ウィンドウ管理システム上に、当該ウィンドウ管理システムからのイベントの通知が可能なベースウィンドウを生成する第一の生成手段と、前記ベースウィンドウを最上位として、前記仮想マシン上で動作させるアプリケーションの表示に含まれるウィンドウを階層構造で生成する第二の生成手段と、を有することを特徴とする。
本発明によれば、オーバーヘッドを抑制しつつ、仮想マシン上で動作させるアプリケーションのウィンドウに対するイベントの通知を適切に行うことが出来る。
従来技術における複数Windowの階層構造の例を示す図である。 ハードウェア構成を示す図である。 実施形態1におけるシステムの構成要素を示す図である。 表示装置上に表示される複数Windowの例(a)と、複数Windowの階層構造の例(b)とを示す図である。 BASEWindow生成処理の例(a)と、JavaVM Window生成処理の例(b)とを示す図である。 実施形態2におけるシステムの構成要素を示す図である。 実施形態2におけるBASEWindow生成処理の例を示す図である。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
(実施形態1)
図2は本実施形態にかかる装置のハードウェア構成を示す図である。
中央演算処理装置1001は演算手段を有する情報処理装置であり、装置全体の動作制御のための各種処理を実行する。アプリケーションの実行処理もここで行う。メモリ1002はRAMやROMなどの半導体メモリである。半導体メモリには、Windowの描画データが保持され、プログラム実行時の一時的なデータも格納される。入力装置1003は、キーボードやマウスやタッチデバイスなどでありユーザがアプリケーション利用時に情報を入力する際のインタフェースとなる。表示装置1004は、ディスプレイ装置などであり、画面上にWindowなどのユーザインタフェースを表示したりする。補助記憶装置1005はハードディスクドライブなどであり各種データの保管先に用いる。通信インタフェース1006は外部ネットワークとのデータ入出力の制御を行う。1007はシステムバスであり、上記1001〜1006を接続し各装置間での情報転送経路となる。0001は上記構成を持つ機器である。
図3は、本実施形態においてウィンドウ管理のために必要なシステムの構成要素を示すブロック図である。JavaVM100、ウィンドウ管理システムであり、ウィンドウ管理システム上で複数のウィンドウを管理するX Window System200、Native Window Manager300、表示装置1004がある。表示装置は図2中の1004に対応する。
JavaVM100は仮想マシンであり、JavaVM100の内部には以下の101〜103が存在する。仮想マシンは当該仮想マシン上でアプリケーションを動作させることが可能となっている。
101はJavaVM Window生成手段であり、Windowを作成する機能を持つ。具体的には、後述のXWindow生成手段201に命令して、Windowを区別するためのIDの確保や、Windowの表示やイベント処理に必要なメモリ領域の確保を行う。確保したメモリ領域はXWindow生成手段201内部で保持されるが、そのポインタ(メモリ領域の先頭アドレス)は101に保持する。また、生成されたWindowのIDや生成時の親WindowのID、幅、高さ、表示状態(可視・非可視)なども含めて、Windowに関する情報も101で保持する。
102はJavaVM Window構造管理手段であり、JavaVMが生成した全Windowの階層構造(Windowの親子関係)をデータとして保持する。JavaVM Window生成手段101が生成したWindowに関する情報を受け取ったり、後述のXWindow構造管理手段にWindow構造を問い合わせたりする機能も持つ。
103はJavaVM BASEWindow取得手段である。BASEWindow(ベースウィンドウ)とはJavaVMが持つ全Windowにおいて、階層構造の最上位に位置するWindowである。このWindowへのポインタやWindowに関する情報をNative Window Managerから取得する機能を持つ。X Window System200の内部には以下の201〜203が存在する。201はXWindow生成手段であり、Windowを作成する機能を持つ。Windowを区別するためのIDの確保や、Windowの表示やイベント処理に必要なメモリ領域の確保を行う。確保したメモリ領域はここで保持する。
202はXWindow構造管理手段であり、XWindow生成手段201で生成した全Windowの階層構造データを保持する。問合せ元からWindowIDを受け取ったらそのWindowの子Windowや親WindowのIDが何かを返す機能も持つ。
203はXWindow描画手段であり、Windowを画面上に描画するためのグラフィックデータを生成する機能を持つ。
Native Window Manager300の内部には以下の301〜303が存在する。
301はBASEWindow生成手段であり、XWindow生成手段201に命令して、Windowを区別するためのIDの確保や、Windowの表示やイベント処理に必要なメモリ領域の確保を行う。そしてここで生成したWindow(BASEWindow)のポインタやWindowに関する情報をJavaVM BASEWindow取得手段103へ渡す機能も持つ。なお、JavaVMに渡すものとしてBASEWindowは1つしか生成しない。ただ、BASEWindow自体は複数生成されうる。例えば、Webアプリケーション用のモジュールなど、JavaVM以外のモジュールに対して別BASEWindowを生成する。また、BASEWindowは、各モジュールにおいて階層構造上の最上位のWindowとして扱われる。302はNativeWindow生成手段であり、ここではBASEWindow以外のWindowを301と同様に生成する機能を持つ。ここで生成するWindowはBASEWindowより下位層に位置する。303はNativeWindow構造管理手段であり、BASEWindowを含む全Windowの階層構造データを保持する。また、XWindow構造管理手段へWindowの表示切り替えの命令を送る機能も持つ。例えば、JavaVM用のBASEWindowを最上面に表示したい場合に、そのBASEWindowを可視状態にし、それ以外のBASEWindowを非可視状態とする命令を送る。表示装置1004の内部には、画面描画手段401がある。ここではXWindow描画手段203から受け取ったグラフィックデータを解釈しディスプレイ画面上へ描画する機能を持つ。
次に、本実施形態におけるWindow生成の例を図4(a)(b)を用いて説明する。図4(a)は表示装置上に表示される複数Windowの例である。図中のBASEWindow,Panel,Button,Label,Frameは全て個別のWindowである。BASEWindowが最下面にありその上にPanelが表示されている。Panel上には3つのSettingsボタン(Button)が表示されている。そしてユーザがSettingsボタンを押すと、Frameが表示される。Frameの上にはLabelとOKボタン(Button)も表示されている。
図4(b)ではX Window Systemによって生成された複数のWindowの階層構造を、図中のX Window Systemの枠内に模式的に示している。また、図中の4a部分は、図4(a)で示した複数Windowに対応している。
図中の4つのBASEWindowは、Native Window Managerからの命令によって生成されたWindowである。これらはXRootWindowと呼ぶX Window Systemが最上位に持つWindowの子Windowになるよう作成する。なおWindow生成する際に親とするWindowのIDを指定すれば、その子Windowとして生成できる。
また、これら4つのBASEWindowはNative Window Managerが管理している。そして、各BASEWindowごとに別々の用途を割り当てている。例えば、BASEWindowはJava用アプリケーション用、BASEWindow2はネイティブアプリケーション用、という具合である。なお、BASEWindowは各アプリケーションが起動するより前のタイミングで生成される。ここで、例えばユーザがJava用アプリケーションを終了し、ネイティブアプリケーションを開始する操作をすると、BASEWindowを閉じて、BASEWindow2を表示するよう切り替える。また、操作イベントの通信先をBASEWindowからBASEWindow2へ切り替える。尚、このような処理は、Native Window Manager300の中のNativeWindow構造管理手段303が、XWindow構造管理手段202へ命令を送ることによって行う。
図中の4a部分のうちBASEWindow以外のWindowは、JavaVMからの命令によって作成されたものである。例えば、BASEWindowの子WindowとしてPanelとFrameが生成されている。Panelの子Windowとして3つのButton(図4(a)のSettingsボタンに対応)が生成されている。Frameの子WindowとしてはLabelとButton(図4(a)OKボタンに対応)が生成されている。
また、Native Window ManagerはBASEWindowの下にある最下層の子Windowを検索し、そのWindowに対して操作イベントを送信する。例えば、図4(a)のOKボタン上にカーソルがあり、そこを押した場合、Native Window Managerがカーソル位置で可視状態にある子Windowを検索する。その結果BASEWindow、Frameをたどって最下層のButtonを探し当て、それに対して押下イベントを送信する。
次に、以上のようなWindow作成の詳細な手順について、図5のフローチャートを用いて説明する。なお、JavaVMがWindowを生成する場合(図4(b)中の4a部分のWindowを生成する場合)の処理を中心に説明する。
まず、図5(a)に示すBASEWindowの作成を行う。BASEWindowの生成手順はまず、XWindow生成手段201に対しWindow生成を命令する。この時、親WindowとしてXRootWindowのIDを指定する(S0511)。そして生成されたWindowのポインタとWindowに関する情報は301に保持される。また、生成したBASEWindowのIDはNativeWindow構造管理手段303へ通知する(S0512)。以上のような生成処理を必要な枚数分が出来るまで繰り返す(S0513)。最終的に、図4(b)に示す4枚のBASEWindowを生成する。なお、必要な枚数はあらかじめ設定により決められている。
以上のBASEWindow生成処理は、図5(b)に示すJavaVM Window生成処理より前に行われる。例えば、NativeWindowManagerの起動時などである。つまりJavaVM Window生成開始時にはBASEWindowが存在している。次に、図5(b)を用いてJavaVM Windowの生成手順を説明する。
まず、Window生成が1回目の場合(S0500)、BASEWindowを取得する。具体的には、JavaVM BASEWindow取得手段103がBASEWindow生成手段301から、BASEWindowのポインタやWindowに関する情報を取得する。そしてBASEWindowのIDはJavaVMWindow構造管理手段102へ通知され、102内部で保存される(S0501)。次に、生成するWindowの親Windowの種類が指定されているかを調べる(S0502)。例えば、図4(b)のLabelのWindowを生成する場合、Frame上にLabelを貼るという指定がJavaプログラムによってなされており、これに従って親Windowの種類がFrameであると指定されている。そのためS0502の判別がYES となる。以上の処理はJavaVM Window生成手段101からの命令を受けてJavaVM Window構造管理手段102が行う。
次に、S0503において、FrameのWindowIDを、JavaVM Window構造管理手段102がXWindow構造管理手段202に問い合わせて取得する。そして、JavaVM Window構造管理手段102がJavaVM Window生成手段101へFrameのWindowIDを渡す。次にS0504においてJavaVM Window生成手段101はFrameのIDを親Windowに指定してXWindow生成手段へLabelのWindow生成の命令を送る。以上のような方法により、図4(b)のようにLabelがFrameの子Windowとして生成される。
一方、例えば、FrameのWindowを生成する際にはこのようなJavaプログラムによる指定はない。この場合S0502の判別はNOとなり、次にS0505において、JavaVM Window構造管理手段102が内部に保持しているBASEWindowのIDをJavaVM Window生成手段101へ渡す。そしてS0506においてJavaVM Window生成手段101はBASEWindowのIDを親Windowに指定してXWindow生成手段へFrameのWindow生成の命令を送る。以上のような方法により、図4(b)のようにFrameがBASEWindowの子Windowとして生成される。
XWindow生成手段201によって生成されたWindowの情報はXWindow構造管理手段202へ送信される。XWindow構造管理手段202では複数のXWindowを管理しており、JavaVMWindow生成手段101だけでなくNativeWindow生成手段302によって生成されたXwindowも含まれている。
また、XWindow構造管理手段202はXWindow描画手段203に対し、どのWindowをどのように重ねて表示するかを命令する。そして203で命令に従ってグラフィックデータを生成し画面描画手段401へ送信する。そして401によって画面上にWindowが表示される。以上のような方法によれば、Frameの親WindowをXRootWindowではなく、BASEWindowとして生成する。こうすることで、Native Window ManagerがFrameやFrameの下のLabelやButtonに対して、イベントを送信することができる。従来はXRootWindowを親WindowとしてFrameを生成したがその場合、Native Window ManagerがそのFrameを検知できずそれに対してイベントを送信できないということがあった。Native Window Managerがイベントを送信する通知先はBASEWindowの子Windowのみであるからである。以上で説明した通り、本実施形態によれば、必要なイベントの送信が可能となっている。
(実施形態2)
本実施形態では、実施形態1にようにBASEWindowの生成をNative Window Manager300で行うではなく、JavaVM100で行う。図6は、本実施形態のブロック図である。図3と比較すると、JavaVMBaseWindow生成手段104と、JavaVMBaseWindow登録手段105があり、JavaVMBASEWindow取得手段103とBASEWindow生成手段301がない違いがある。上記以外の部分については、図3と同じである。以下では、違いのある部分についてのみ説明する。JavaVMBASEWindow生成手段104は、XWindow生成手段201に命令して、Windowを区別するためのIDやメモリ領域の確保を行う機能を持つ。
JavaVMBASEWindow登録手段105は、JavaVMBASEWindow生成手段104からBASEWindowの情報を受け取り、これをNativeWindow構造管理手段303へ登録する機能を持つ。
次に、BASEWindowの生成手順について図7を用いて説明する。まず、JavaVMBASEWindow生成手段104がXWindow生成手段201にWindowの生成を命令する。この時、親WindowとしてXRootWindowのIDを指定する(S0701)。そして生成されたWindowの情報はJavaVMBASEWindow生成手段104に保持されるとともに、IDをJavaVMWindow構造管理手段102へ通知する(S0702)。その後、BASEWindowの情報をNativeWindow構造管理手段303へ登録する(S0703)。以上のような方法によれば、Java用アプリが起動していないと判定されたときなど、JavaVMがBASEWindowを必要としていない間はBASEWindowを生成しない。これは、JavaVMが必要としないときでもNative Window ManagerがJavaVM用のBASEWindowを作成している実施形態1と比べて、省リソースとなる利点がある。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (9)

  1. 仮想マシン上でアプリケーションを動作させる情報処理装置であって、
    ウィンドウ管理システム上で、前記仮想マシン上で動作させるアプリケーションとは異なるアプリケーションのウィンドウを管理する管理手段と、
    前記ウィンドウ管理システム上に、当該ウィンドウ管理システムからのイベントの通知が可能なベースウィンドウを生成する第一の生成手段と、
    前記ベースウィンドウを最上位として、前記仮想マシン上で動作させるアプリケーションの表示に含まれるウィンドウを階層構造で生成する第二の生成手段と、を有することを特徴とする情報処理装置。
  2. 前記ベースウィンドウを用いて、前記仮想マシン上で動作させるアプリケーションの表示に含まれるウィンドウに対してイベントの通知を行う通知手段を更に有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記通知手段は、前記階層構造をたどって、前記仮想マシン上で動作させるアプリケーションの表示に含まれるウィンドウに対してイベントの通知を行うことを特徴とする請求項2に記載の情報処理装置。
  4. 前記ベースウィンドウは、前記仮想マシン上で動作させるアプリケーションごとに生成されることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 第一の生成手段は、前記仮想マシン上で動作させるアプリケーションが起動している否かを判定し、起動している場合に、前記ベースウィンドウを生成することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記ベースウィンドウをイベントの通知の通知先として登録する登録手段を更に有することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記登録手段による登録はIDを用いて行うことを特徴とする請求項6に記載の情報処理装置。
  8. 仮想マシン上でアプリケーションを動作させる情報処理装置の情報処理方法であって、
    管理手段が、ウィンドウ管理システム上で、前記仮想マシン上で動作させるアプリケーションとは異なるアプリケーションのウィンドウを管理する管理工程と、
    第一の生成手段が、前記ウィンドウ管理システム上に、当該ウィンドウ管理システムからのイベントの通知が可能なベースウィンドウを生成する第一の生成工程と、
    第二の生成手段が、前記ベースウィンドウを最上位として、前記仮想マシン上で動作させるアプリケーションの表示に含まれるウィンドウを階層構造で生成する第二の生成工程と、を有することを特徴とする情報処理方法。
  9. コンピュータを、
    仮想マシン上でアプリケーションを動作させる情報処理装置であって、
    ウィンドウ管理システム上で、前記仮想マシン上で動作させるアプリケーションとは異なるアプリケーションのウィンドウを管理する管理手段と、
    前記ウィンドウ管理システム上に、当該ウィンドウ管理システムからのイベントの通知が可能なベースウィンドウを生成する第一の生成手段と、
    前記ベースウィンドウを最上位として、前記仮想マシン上で動作させるアプリケーションの表示に含まれるウィンドウを階層構造で生成する第二の生成手段と、を有することを特徴とする情報処理装置として機能させるコンピュータのプログラム。
JP2016109336A 2016-05-31 2016-05-31 情報処理装置、情報処理方法およびプログラム Pending JP2017215800A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016109336A JP2017215800A (ja) 2016-05-31 2016-05-31 情報処理装置、情報処理方法およびプログラム
US15/601,910 US20170344385A1 (en) 2016-05-31 2017-05-22 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016109336A JP2017215800A (ja) 2016-05-31 2016-05-31 情報処理装置、情報処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2017215800A true JP2017215800A (ja) 2017-12-07

Family

ID=60417949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016109336A Pending JP2017215800A (ja) 2016-05-31 2016-05-31 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US20170344385A1 (ja)
JP (1) JP2017215800A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019093345A1 (ja) 2017-11-08 2019-05-16 Nsマテリアルズ株式会社 表示装置
JPWO2019244279A1 (ja) * 2018-06-20 2020-12-17 三菱電機株式会社 ユーザインタフェース装置、ユーザインタフェース設計装置、ユーザインタフェース装置の制御方法、およびユーザインタフェース装置の画面設計方法
JPWO2020031320A1 (ja) * 2018-08-09 2021-01-07 三菱電機株式会社 イベント送信装置およびイベント送信方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022528348A (ja) * 2019-04-01 2022-06-10 サイトリックス システムズ,インコーポレイテッド 統合アプリケーション通知フレームワーク
CN112379963B (zh) * 2020-11-30 2022-08-19 联想(北京)有限公司 远程应用窗口控制方法、装置及计算机设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019093345A1 (ja) 2017-11-08 2019-05-16 Nsマテリアルズ株式会社 表示装置
JPWO2019244279A1 (ja) * 2018-06-20 2020-12-17 三菱電機株式会社 ユーザインタフェース装置、ユーザインタフェース設計装置、ユーザインタフェース装置の制御方法、およびユーザインタフェース装置の画面設計方法
JPWO2020031320A1 (ja) * 2018-08-09 2021-01-07 三菱電機株式会社 イベント送信装置およびイベント送信方法

Also Published As

Publication number Publication date
US20170344385A1 (en) 2017-11-30

Similar Documents

Publication Publication Date Title
JP2017215800A (ja) 情報処理装置、情報処理方法およびプログラム
JP4782042B2 (ja) 電子計算機及びソフトウェアによるユーザインタフェースの実現方法
KR101741293B1 (ko) 동적 입력 장치의 맥락 제어 기법
US8549093B2 (en) Updating a user session in a mach-derived system environment
US10254950B2 (en) Display method of terminal device and terminal device
JP5382112B2 (ja) 仮想マシン管理システムおよび方法、並びに、制御装置、方法およびプログラム
CN106155768B (zh) 分屏运行应用的方法及装置
JP5585721B2 (ja) 情報装置、画面切替え方法、及び画面切替えプログラム
JP5519458B2 (ja) プラント監視制御システムおよび表示画面管理方法
CN110865763A (zh) 一种支持多屏多输入法应用的方法和装置
CN110865718A (zh) 一种支持输入法应用在多屏切换的方法和装置
EP3699731A1 (en) Method and device for calling input method, and server and terminal
US10319061B2 (en) Information processing apparatus and event management method
JP2010182176A (ja) サーバ装置、クライアント装置、サーバベース・コンピューティング・システム、およびプログラム
WO2021039680A1 (ja) 情報処理システム及び情報処理方法
JP2018022370A (ja) アプリケーション実行装置及びその制御方法、並びにプログラム
JP2000155637A (ja) マルチウィンドウ表示方法及びマルチウィンドウ表示システム
JP2017151563A (ja) 情報処理装置およびその制御方法、並びにプログラム
JP5553726B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム
JP7277423B2 (ja) アプリケーション実行装置及びその制御方法、並びにプログラム
US11748123B2 (en) Transforming a remote desktop into a remote application
JP6019210B1 (ja) Ui制作装置、ui制作方法、及びui制作プログラム
WO2020066156A1 (ja) 操作入力制御装置
JP2024025118A (ja) 制御装置、制御方法、及びプログラム
CN116917863A (zh) 跨不兼容操作系统的同步设置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210720