JP2010532514A - 仮想インターフェースを提供するためのシステム及び方法 - Google Patents

仮想インターフェースを提供するためのシステム及び方法 Download PDF

Info

Publication number
JP2010532514A
JP2010532514A JP2010514579A JP2010514579A JP2010532514A JP 2010532514 A JP2010532514 A JP 2010532514A JP 2010514579 A JP2010514579 A JP 2010514579A JP 2010514579 A JP2010514579 A JP 2010514579A JP 2010532514 A JP2010532514 A JP 2010532514A
Authority
JP
Japan
Prior art keywords
virtual interface
screen
video
interface
overlay
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.)
Granted
Application number
JP2010514579A
Other languages
English (en)
Other versions
JP5225376B2 (ja
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 ソン ムン,チャン
Publication of JP2010532514A publication Critical patent/JP2010532514A/ja
Application granted granted Critical
Publication of JP5225376B2 publication Critical patent/JP5225376B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

本発明のシステム及び方法は、コンピューターシステムの運営システムが直接関与しない独立されたビデオ出力チャンネルを用いてディスプレーに仮想インターフェース画面を出力する。仮想インターフェースを具現するための一つの実施例はオーバレイ機能を用いるものであって、もう一つはミニポート機能を用いるものである。オーバレイ機能を用いる場合は、ビデオメモリのオーバレイ領域を仮想インターフェース画面を表示するための独立されたビデオ出力チャンネルとして使用する。ミニポート機能を用いる場合は、ビデオメモリの一般領域を共通で使用するが、その一部を仮想インターフェースを表示するための独立されたビデオ出力チャンネルとして使用する。本発明の仮想インターフェースは、ビデオメモリの一般領域を使用した典型的な使用者インターフェースと異なって、運営システムが直接関与しないオーバレイ機能やミニポート機能を用いて仮想インターフェース画面を出力することにより、運営システムから画面リソースを割り当てられることなく、ディスプレー画面に仮想インターフェース画面を提供する。
【選択図】図4

Description

本発明は、コンピューターシステムの使用者インターフェースに関するものであって、具体的には運営システムと独立された使用者インターフェースを提供するための新しい形態の仮想インターフェースを提供するシステム及び方法に関するものである。
最近、コンピューターのハードウェア及びソフトウェアの急速な発展は、社会各分野でコンピューターを用いた多様な応用を可能としている。例えば、一般事務、オンラインバンキング、マルチメディア再生、オンラインゲーム、データ通信などに多様に応用されている。コンピューターの処理速度は中央処理装置の絶えずに続く動作周波数の向上によって更に早くなっている。しかし、中央処理装置によって早いデータ処理が行われたとしても、その周辺装置の応答速度及び処理速度はそれに合わせて速く行われることができず、コンピューターシステムの高速動作を難しくする。このような問題を解決するために、グラフィック処理分野では絶え間なく技術発展がなされており、最近は、高品質の2次元、3次元グラフィックイメージだけでなく、早い動画イメージを高速で具現することができるようになっている。しかし、より一層、コンピューター使用環境は更に大量のグラフィックデータを処理するように要求しつつあり、更に高速でグラフィックデータを処理できるようにするための技術開発がなされている。
コンピューターシステムの使用者インターフェースは運営システム技術と応用プログラム技術の発展とともに更に便利に進歩されてきた。コンピューターシステムの運営システムは、初期のテキスト基盤の使用者インターフェース環境から、現在の一般化されたグラフィック基盤のグラフィックユーザーインターフェース(GUI:Graphic User Interface)に発展されてきた。マイクロソフト社のウィンドウズ(登録商標)運営システムがその一例である。グラフィックユーザーインターフェース環境はウィンドウズ運営システムのようなマルチタスク環境で更に効果的に使用されている。マルチタスク環境で動作する様々な応用プログラムは、一つのディスプレー画面を通してウィンドウのような多数の応用プログラム画面と、それによる使用者インタフェースを表示することができるためである。
一方、マルチタスク環境で動作する一部応用プログラムは、画面リソースを全て独占する独占モードで動作する場合がある。大量のグラフィックデータを高速で処理しなければならないゲーム用応用プログラムの場合、高速画面表示のために殆どが独占モードで動作するように設計されている。ところで、マルチタスク環境を提供する運営システムにおいて、一つの応用プログラムが画面リソースを全て独占して使用すると、他の応用プログラムは既に独占された画面リソースが割り当てられないため、独占された一つのディスプレー画面を通して使用者とインターフェースをする方法がない。もちろん、独占モードで動作する当該応用プログラムを非活性化させて独占モードを取り消し、他の応用プログラムを活性化することもできるが、独占モードで動作する間には、一つのディスプレー画面を通して使用者インターフェースを同時に提供することはできない。
本発明の目的は、コンピューターシステムにおいて運営システムから画面リソースを割り当てられることなく、運営システムと独立された使用者インターフェースを提供する仮想インターフェースを提供するためのシステム及び方法を提供することにある。
本発明の他の目的は、コンピューターシステムにおいて運営システムから画面リソースを独占して動作する応用プログラムを非活性化させなくても、ディスプレー画面を通して使用者インターフェースを出力することができる仮想インターフェースを提供するためのシステム及び方法を提供することにある。
上記した技術的課題を達成するための本発明の一面は、ディスプレーの画面表示のためのビデオインターフェースを備えたコンピューターシステムの使用者インターフェースを提供するためのシステムに関するものである。本発明の仮想インターフェースを提供するためのシステムは、運営システムと独立された画面出力のためのビデオ出力チャンネルを通して仮想インターフェースを提供する仮想インターフェース処理モジュールを含む。
一実施例において、前記ビデオ出力チャンネルは、ビデオインターフェースに備えられたビデオメモリのオーバレイ領域を含む。ここで、前記仮想インターフェース処理モジュールは、オーバレイドライバーを用いてオーバレイ領域を通して仮想インターフェース画面を表示するための仮想インターフェース画面表示モジュールと、コンピューターシステムの運営システムに全域フッキングを設定してイベント発生によるメッセージを最優先で受け付け、仮想インターフェース関連メッセージである場合をフィルタリングし、仮想インターフェース画面表示モジュールにフィルタリング結果値を提供するメッセージ処理モジュールとを含む。
他の実施例において、前記ビデオ出力チャンネルは、ビデオインターフェースに備えられたビデオメモリの一般領域を含む。ここで、前記仮想インターフェース処理モジュールは、ミニポートドライバーを用いてビデオメモリの一般領域を通して仮想インターフェース画面を表示するための仮想インターフェース画面表示モジュールと、コンピューターシステムの運営システムに全域フッキングを設定してイベント発生によるメッセージを最優先で受け付け、仮想インターフェース関連メッセージである場合をフィルタリングし、仮想インターフェース画面表示モジュールにフィルタリング結果値を提供するメッシュ処理モジュールとを含む。
本発明の他の一面は、ディスプレーの画面表示のためのビデオインターフェースを備えたコンピューターシステムの使用者インターフェースを提供するための方法に関するものである。本発明の仮想インターフェースを提供するための方法は、運営システムと独立された画面出力のためのビデオ出力チャンネルを通して仮想インターフェース画面を出力するために、運営システムの全域フッキングを設定する初期化段階と、イベント発生によるメッセージを最優先で受け付け、仮想インターフェース関連メッセージである場合をフィルタリングする段階と、 フィルタリングされた仮想インターフェース関連メッセージを処理する段階とを含む。
一実施例において、前記初期化段階はオーバレイを生成する段階を含み、仮想インターフェース画面はビデオメモリのオーバレイ領域を通してディスプレー装置に表示される。
他の実施例において、前記初期化段階はミニポートを生成する段階を含み、仮想インターフェース画面はビデオメモリの一般領域を通してディスプレー装置に表示される。
本発明の好ましい実施例による仮想インターフェースが提供されるコンピューターシステムの例示的なブロック図である。 オーバレイ機能を用いた仮想インターフェースが提供されるディスプレー画面の例示図である。 オーバレイ機能を用いた仮想インターフェース処理モジュールの動作を説明するためのブロック図である。 オーバレイ機能を用いた仮想インターフェース処理モジュールの動作手順を示すフロー図である。 ミニポート機能を用いた仮想インターフェースが提供されるディスプレー画面の例示図である。 ミニポート機能を用いた仮想インターフェース処理モジュールの動作を説明するためのブロック図である。 ミニポート機能を用いた仮想インターフェース処理モジュールの動作手順を示すフロー図である。
本発明と本発明の動作上の利点及び本発明の実施例によって達成される目的を充分に理解するためには、本発明の好ましい実施例を例示する添付図面及び添付図面に記載された内容を参照すべきである。本発明の実施例は様々な形態に変形されるので、本発明の範囲が下記に述べる実施例によって限定されると解釈されてはいけない。本実施例は当業界で平均的な知識を有する者に本発明を更に完全に説明するために提供されるものである。そして、本発明の要旨を不必要にぼかす可能性があると判断される公知機能及び構成に対する詳細な記述は省略される。以下、添付された図面を用いて本発明の好ましい実施例による仮想インターフェースを提供するためのシステム及び方法を詳細に説明する。
図1は、本発明の好ましい実施例による仮想インターフェースが提供されるコンピューターシステムの例示的なブロック図である。
図1において、例示的なコンピューターシステムは、プロセッシングユニット100、ビデオインターフェース200、システムバス300、システムメモリ400及び、多種類のインターフェース500〜540と周辺装置を含む。多種類のインターフェース500〜540は、例えば、ハードディスク装置510のような除去が不可能な不揮発性メモリのためのインターフェース500、磁気ディスク514や光ディスク518のような除去が可能な不揮発性メモリのためのインターフェース510、キーボード522やポインティング装置524のような使用者入力のためのインターフェース520、スピーカー532やプリンター534のような周辺機器出力のためのインターフェース530、近距離通信網546や遠距離通信網544のためのモデム542及びネットワークインターフェース540を含む。
しばしばグラフィックカードと呼ばれるビデオインターフェース200は、グラフィック処理ユニット210、ビデオメモリ220及びディスプレー600に連結された出力ポート230を含めて構成される。グラフィック処理ユニット210はビデオインターフェース200の動作の制御とグラフィックデータの演算処理を担当する。
ハードディスク510には運営システム421、一般応用システム422、仮想インターフェース応用プログラム424、及び仮想インターフェース処理モジュール426が貯蔵されている。仮想インターフェース応用プログラム424は仮想インターフェース処理モジュール426を通して仮想インターフェースを提供する応用プログラムであって、仮想インターフェース処理モジュール426は仮想インターフェースを提供するための処理モジュール426であり、運営システムから画面リソースを割り当てられることなく、ディスプレー画面を通して仮想インターフェースを出力する。
システムメモリ400は大きく、不揮発性メモリであるROM410と、揮発性メモリであるRAM420とで構成される。ROM410には基本入出力システム(BIOS;412)が搭載され、コンピューターシステムがブーティングされるとともにハードディスク510からRAM512に運営システム421がローディングされて起動される。運営システム421は、例えば、マイクロソフト社から提供されるウィンドウズ運営システムであって、マルチタスクが可能な運営システムである。一般応用プログラム422やオーバレイ応用プログラム424などの一つ以上の応用プログラムは、実行過程においてRAM420にローディングされて動作される。
本発明のシステム及び方法は、コンピューターシステムの運営システム421が直接関与しない独立されたビデオ出力チャンネルを用いてディスプレー600に仮想インターフェース画面を出力する。仮想インターフェースを具現するための一つの実施例はオーバレイ機能を用いることであって、もう一つはミニポート機能を用いることである。オーバレイ機能を用いる場合は、図2及び図3に示したようにビデオメモリ220のオーバレイ領域226を仮想インターフェース画面を表示するための独立されたビデオ出力チャンネルとして使用する。ミニポート機能を使用する場合には、図5及び図6に示したようにビデオメモリ220の一般領域222を共通に使用するが、その一部を仮想インターフェースを表示するための独立されたビデオチャンネルとして使用する。
図2はオーバレイ機能を用いた仮想インターフェースが提供されるディスプレー画面の例示図である。
図2において、本発明の仮想インターフェースを具現するための一つの実施例はオーバレイ機能を用いることである。ビデオメモリ220は一般領域222とオーバレイ領域226とを含む。一般領域222は運営システム421や一般応用プログラム422の画面表示のために割り当てられた領域であって、一般ビデオデータ224が貯蔵される。本発明においてオーバレイ領域226は仮想インターフェース画面616を表示するための領域として割り当てられて使用され、仮想インターフェース画面を出力するためのオーバレイビデオデータ228が貯蔵される。
ビデオインタフェース200はオーバレイ機能が非活性化された場合、一般領域222に貯蔵された一般ビデオデータ224のみディスプレー600に提供して背景画面612と一般応用プログラム画面614を出力する。仮想インターフェースを使用するためにオーアレイ機能が活性化された場合には、ビデオインターフェース200は一般領域222に貯蔵されたビデオデータの一部をオーバレイ領域226に貯蔵されたオーバレイビデオデータ228に置換してディスプレー600に提供することにより、背景画面612と一般応用プログラム画面614上にオーバレイされた仮想インターフェース画面616を出力する。この際に、仮想インターフェース画面616はディスプレーされる全ての画面より最上段に表示される。
仮想インターフェースはビデオメモリ220のオーバレイ領域226を用いて運営システム421とは独立的に仮想インターフェース画面616を提供する。即ち、仮想インターフェースは、運営システム421に提供される背景画面612や一般応用プログラム画面614とは独立的に仮想インターフェース画面616を表示する。仮想インターフェース画面616は仮想インターフェース背景イメージ616a、データ入力のための入力ボックス616b、画面制御のためのコントロールボックス616cなどのような一つ以上の画面構成モジュールを含む。
図3は、オーバレイ機能を用いた仮想インターフェース処理モジュールの動作を説明するためのブロック図である。
図3において、オーバレイ機能を用いて仮想インターフェースを提供するために、仮想インターフェース処理モジュール426が提供される。仮想インターフェース処理モジュール426は仮想インターフェース応用プログラム424とともにコンピューターシステムで実行される。仮想インターフェース応用プログラム424は多様な形態の応用プログラムである。特に、仮想インターフェース応用プログラム424と仮想インターフェース処理モジュール426は、運営システム421の立場から見ると、非活性状態で動作する。一般応用プログラム422はビデオメモリ220の一般領域224を制御するビデオドライバー427を通してディスプレー600に一般応用プログラム画面614が出力されるようにする。その反面、仮想インターフェース応用プログラム424はビデオメモリ220のオーバレイ領域226を制御するオーバレイドライバー428を通して仮想インターフェース画面616がディスプレー600に出力されるようにする。
仮想インターフェース処理モジュール426は、仮想インターフェース画面616がディスプレー600に出力されるようにする一連の処理過程を担当する。仮想インターフェース処理モジュール426は仮想インターフェース表示モジュール426aとメッセージ処理モジュール426bとで構成される。仮想インターフェース表示モジュール426aは、メッセージ処理モジュール426bの処理結果と仮想インターフェース応用プログラム424の動作により、ビデオメモリ200のオーバレイ領域226に仮想インターフェース画面616の表示のために必要なビデオデータ228を貯蔵する。メッセージ処理モジュール426bは、使用者入力インターフェース520、又はその他のインターフェース装置からの入力によるイベント発生から生成されるメッセージを受け付け、仮想インターフェース関連メッセージである場合、該当される処理が行われるようにメッセージをフィルタリングするモジュールである。
図4は、オーバレイ機能を用いた仮想インターフェース処理モジュールの動作手順を示すフロー図である。
図4において、段階S100で仮想インターフェース表示モジュール426が動作を開示すると、段階S110でシステムに搭載されたビデオインターフェース200がオーバレイを支援するのか、オーバレイが支援される場合、使用可能なオーバレイリソースが残っているのかを判断する。オーバレイの生成が可能であれば、段階S120でオーバレイを生成する。オーバレイの生成には例えば、DirectXの DirectDrawやDirectShow、OpenGLなどの支援ライブラリーを利用することができる。
もし、ビデオインターフェース200がオーバレイ機能を支援しないか、支援するとしても、オーバレイリソースが残っていない場合は、段階S130に進行してオーバレイ誤謬メッセージを出力し、段階S140で仮想インターフェース処理モジュール426の動作は終了される。
オーバレイの生成以後、仮想インターフェース処理モジュール426は段階S150で運営システム421の全域フッキングを設定する。例えば、ウィンドウズ運営システムの場合は、APIを用いて全域フッキングの設定が可能である。全域フッキングが設定されると、システムで発生する全てのイベントに対するメッセージは、仮想インターフェース処理モジュール426によって最優先で受け付けられる。以上のようなオーバレイを用いた仮想インターフェースのための初期化課程が完了すると、段階S160でオーバレイ機能を用いて仮想インターフェース画面616を表示する。
次いで、段階S170でメッセージ処理モジュール426bはイベント発生によるメッセージが発生されるのかを判断する。メッセージが受け付けられると、段階S180に進行して現在受け付けられたメッセージが仮想インターフェース関連メッセージであるのかを判断するフィルタリング過程を行う。仮想インターフェース関連メッセージであると判断されると、段階S190に進行して仮想インターフェース関連メッセージ処理を行う。しかし、仮想インターフェース関連メッセージでない場合は、段階S200に進行して活性化された一般応用プログラム422にメッセージを伝送する。
段階S190の仮想インターフェース関連メッセージ処理段階において、メッセージ処理モジュール426bは、フィルタリングされた結果値で入力されたメッセージ属性値を仮想インターフェース表示モジュール426aに提供する。仮想インターフェース表示モジュール426aはメッセージ処理モジュール426bから提供されるメッセージ属性値の伝達を受け、仮想インターフェース画面616に適切な画面表示が行われるようにする。メッセージ属性値は仮想インターフェース応用プログラム424にも伝達され、仮想インターフェース応用プログラム424の本来のプログラム機能が行われるようにする。また、仮想インターフェース表示モジュール426aは仮想インターフェース応用プログラム424から仮想インターフェース画面616に表示される値を提供され、仮想インターフェース画面616に適切な画面表示が行われるようにする。
例えば、仮想インターフェース画面616領域内でポインティング装置524の入力が発生すると、これと関連したイベントによるメッセージが発生され、メッセージ処理モジュール426bに受け付けられる。図2に示したように、仮想インターフェース画面616に表示された入力ボックス616bを選択するためのポインティング装置524の入力があった場合、メッセージ処理モジュール426bはこれをオーバレイ画面表示モジュール426aに通知する。そうすると、オーバレイ画面表示モジュール426aは入力ボックス616bの内部該当位置にテキスト入力のためのカーソルを仮想で表示する。この状態で、また使用者がキーボード522で文字キーを入力すると、メッセージ処理モジュール426bは仮想インターフェース関連メッセージであると判断し、入力されたキーボード値を仮想インターフェース表示モジュール426aに伝達する。仮想インターフェース表示モジュール426aは、入力されたキーボード値による文字イメージが入力ボックス616bに表示されるように、オーバレイ領域226に、該当領域に文字イメージを表示するためのビデオデータを記入する。この際に、オーバレイ領域に貯蔵されるビデオデータは、全てのグラフィックカードで支援するYUVフォーマットに変換して貯蔵するのが望ましい。
図5は、ミニポート機能を用いた仮想インターフェースが提供されるディスプレー画面の例示図である。
図5において、本発明の仮想インターフェースを具現するための他の実施例は、ディスプレー600の画面出力のための二つのビデオ出力チャンネルを利用する。二つのビデオ出力チャンネルは例えば、一般ビデオポートとビデオミニポートで構成される。このような二つのビデオ出力チャンネルを用いた方式では、仮想インターフェース画面616を表示するためにビデオメモリ200の一般領域222を使用する。
図6は、ミニポート機能を用いた仮想インターフェース処理モジュールの動作を説明するためのブロック図である。
図6において、ミニポート機能を用いて仮想インターフェースを提供する仮想インターフェース表示モジュール426は、上述した実施例のように仮想インターフェース表示モジュール426aとメッセージ処理モジュール426bとで構成される。仮想インターフェース処理モジュール426は、仮想インターフェース応用プログラム424とともにコンピュータシステムで実行される。仮想インターフェース応用プログラム424は多様な形態の応用プログラムである。この実施例においても、上述した例のように、仮想インターフェース応用プログラム424と仮想インターフェース処理モジュール426は、運営システム421の立場から見ると、非活性状態で動作する。一般応用プログラム422はビデオメモリ220の一般領域224を制御するビデオドライバー427を通してディスプレー600に一般応用プログラム画面614を出力する。その反面、仮想インターフェース応用プログラム424はミニポートを駆動するミニポートドライバー429を通して仮想インターフェース画面616がディスプレー600に出力されるようにする。
仮想インターフェース処理モジュール426は、仮想インターフェース画面616がディスプレー600に出力されるようにする一連の処理過程を担当する。仮想インターフェース表示モジュール426aは、メッセージ処理モジュール426bの処理結果と仮想インターフェース応用プログラム424の動作によって、ビデオメモリ200の一般領域222に仮想インターフェース表示のために必要なビデオデータ228を貯蔵して仮想インターフェース画面616を更新する。メッセージ処理モジュール426bは、上述した例と同様に、使用者入力インターフェース520、又はその他のインターフェース装置からの入力によるイベント発生と、それによるメッセージを受け付け、仮想インターフェース関連メッセージである場合、該当する処理が行われるようにメッセージをフィルタリングする。
図7は、ミニポート機能を用いた仮想インターフェース処理モジュールの動作手順を示すフロー図である。
図7において、ミニポート機能を用いた仮想インターフェース処理モジュール426の動作は、上述したオーバレイ機能を用いた場合とほぼ同一な動作手順を有する。但し、仮想インターフェースのための初期化課程において段階が少し相違している。
図7において、段階S100で仮想インターフェース処理モジュール426が動作を開示すると、段階S110’でシステムに搭載されたビデオインターフェース200がミニポートを支援するのか、ミニポートが支援される場合、使用可能なリソースが残っているのかを判断する。ミニポートの生成が可能であれば、段階S120’でミニポートを生成する。ミニポートの生成には例えば、ウィンドウドライバー開発キットのような開発ツールを用いて製作して使用することができる。
もし、ビデオインターフェース200がミニポート機能を支援しないか、支援するとしても、ミニポートを使用するためのリソースが残っていない場合は、段階S130’に進行してミニポート誤謬メッセージを出力し、段階S140で仮想インターフェース処理モジュール426の動作は終了される。
ミニポートの生成以後、仮想インターフェース処理モジュール426は段階S150で運営システム421の全域フッキングを設定する。例えば、ウィンドウズ運営システムの場合には、APIを用いて全域フッキングの設定が可能である。全域フッキングが設定されると、システムで発生する全てのイベントに対するメッセージは仮想インターフェース処理モジュール426によって最優先で受け付けられる。以上のようなミニポートを用いた仮想インターフェースのための初期化課程が完了すると、段階S160でミニポート機能を用いて仮想インターフェース画面616を表示する。そして、その後のメッセージ発生による処理過程は、上述したオーバレイ機能を用いた実施例と同一である。
以上のような本発明の仮想インターフェースは、マルチタスク環境の運営システムにおいて一つの応用プログラムが活性化された状態でも、その活性化された応用プログラムを非活性化させることなく、他の非活性化された応用プログラムの使用者インターフェースをディスプレー画面に提供することができる。特に、独店モードで動作する応用プログラムとともに、更に他の応用プログラムを非活性化状態で実行させようとする際に非常に有用である。
例えば、一つのオンラインゲームプログラムが活性化されている時、画面リソースはそのプログラムによって独占される。よって、他の応用プログラムを活性化させるためには、独占モードで動作するオンラインゲームプログラムを非活性化させるか、終了させなければならない。このような場合、本発明の仮想インターフェースを活用すれば、独占モードで動作する応用プログラムを非活性化させるか、終了させることなく、必要な応用プログラムを非活性化状態で実行させ、 仮想インターフェースを通して非活性化状態の応用プログラムと使用者との間にインターフェースを提供することができる。
以上で説明した本発明のビデオオーバレイを用いた仮想インターフェース及び方法の実施例は例示的なものに過ぎなく、本発明の属する技術分野の通常の知識を有する者なら、多様な変形及び均等な他の実施例が可能であるという点がよく分かるだろう。従って、本発明は上記の詳細な説明で言及される特別な形態に限定されないものとして理解すべきである。従って、本発明の本当の技術的保護範囲は添付された特許請求範囲の技術的思想によって定めされければならなく、本発明は添付した請求範囲によって定義される本発明の精神と範囲内にある全ての変形物と均等物及び代替物を含むものとして理解すべきである。
上述したような本発明の仮想インターフェースは、ビデオメモリの一般領域を使用し、運営システムの直接的な関与を受ける典型的な使用者インターフェースと異なって、オーバレイ機能やミニポート機能を用いて運営システムと独立的に仮想インターフェース画面を出力することによって、運営システムから画面リソースを割り当てられることなくディスプレー画面に仮想インターフェース画面を提供する。特に、独占モードで動作する応用プログラムを非活性化させることなく、独占モードで動作する応用プログラムの画面上に仮想インターフェース画面を提供することができる。また、オーバレイを用いた仮想インターフェースを提供する場合には、仮想インターフェース画面を外部でモニタリングすることができないため、パスワードやアイディー入力などのような重要な情報を取り扱う、保安が極めて必要とされる応用プログラムの場合、非常に有用に使用される。

Claims (9)

  1. ディスプレーの画面表示のためのビデオインターフェースを備えたコンピューターシステムの使用者インターフェースを提供するためのシステムにおいて、
    運営システムと独立された画面出力のためのビデオ出力チャンネルを通して仮想インターフェースを提供する仮想インターフェース処理モジュールを含む 仮想インターフェースを提供するためのシステム。
  2. 前記ビデオ出力チャンネルは、ビデオインターフェースに備えられたビデオメモリのオーバレイ領域を含むことを特徴とする請求項1に記載の仮想インターフェースを提供するためのシステム。
  3. 前記仮想インターフェース処理モジュールは、
    オーバレイドライバーを用いてオーバレイ領域を通して仮想インターフェース画面を表示するための仮想インターフェース画面表示モジュールと、
    コンピューターシステムの運営システムに全域フッキングを設定してイベント発生によるメッセージを最優先で受け付け、仮想インターフェース関連メッセージである場合をフィルタリングし、仮想インターフェース画面表示モジュールにフィルタリング結果値を提供するメッセージ処理モジュールとを含むことを特徴とする請求項2に記載の仮想インターフェースを提供するためのシステム。
  4. 前記ビデオ出力チャンネルは、ビデオインターフェースに備えられたビデオメモリの一般領域を含むことを特徴とする請求項1に記載の仮想インターフェースを提供するためのシステム。
  5. 前記仮想インターフェース処理モジュールは、
    ミニポートドライバーを用いてビデオメモリの一般領域を通して仮想インターフェース画面を表示するための仮想インターフェース画面表示モジュールと、
    コンピューターシステムの運営システムに全域フッキングを設定してイベント発生によるメッセージを最優先で受け付け、仮想インターフェース関連メッセージである場合をフィルタリングし、仮想インターフェース画面表示モジュールにフィルタリング結果値を提供するメッシュ処理モジュールとを含むことを特徴とする請求項4に記載の仮想インターフェースを提供するためのシステム。
  6. 前記仮想インターフェース処理モジュールによって仮想インターフェースを使用する仮想インターフェース応用プログラムは、非活性状態で動作することを特徴とするビデオオーバレイを用いた請求項1に記載の仮想インターフェース提供システム。
  7. ディスプレーの画面表示のためのビデオインターフェースを備えたコンピューターシステムの使用者インターフェースを提供するための方法において、
    運営システムと独立された画面出力のためのビデオ出力チャンネルを通して仮想インターフェース画面を出力するために、運営システムの全域フッキングを設定する初期化段階と、
    イベント発生によるメッセージを最優先で受け付け、仮想インターフェース関連メッセージである場合をフィルタリングする段階と、
    フィルタリングされた仮想インターフェース関連メッセージを処理する段階とを含むことを特徴とする仮想インターフェースを提供するための方法。
  8. 前記初期化段階はオーバレイを生成する段階を含み、仮想インターフェース画面はビデオメモリのオーバレイ領域を通してディスプレー装置に表示されることを特徴とする請求項7に記載の仮想インターフェースを提供する方法。
  9. 前記初期化段階はミニポートを生成する段階を含み、仮想インターフェース画面はビデオメモリの一般領域を通してディスプレー装置に表示されることを特徴とする請求項7に記載の仮想インターフェースを提供する方法。
JP2010514579A 2007-06-26 2007-09-03 仮想インターフェースを提供するためのシステム及び方法 Expired - Fee Related JP5225376B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020070062865A KR100917687B1 (ko) 2007-06-26 2007-06-26 가상 인터페이스를 제공하기 위한 시스템 및 방법
KR10-2007-0062865 2007-06-26
PCT/KR2007/004233 WO2009001981A1 (en) 2007-06-26 2007-09-03 System and method for providing virtual interface

Publications (2)

Publication Number Publication Date
JP2010532514A true JP2010532514A (ja) 2010-10-07
JP5225376B2 JP5225376B2 (ja) 2013-07-03

Family

ID=40185780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010514579A Expired - Fee Related JP5225376B2 (ja) 2007-06-26 2007-09-03 仮想インターフェースを提供するためのシステム及び方法

Country Status (7)

Country Link
US (1) US20100174988A1 (ja)
EP (1) EP2160676A4 (ja)
JP (1) JP5225376B2 (ja)
KR (1) KR100917687B1 (ja)
CN (1) CN101689098B (ja)
HK (1) HK1140558A1 (ja)
WO (1) WO2009001981A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989895B1 (ko) * 2008-07-02 2010-10-26 (주)비이소프트 결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치
EP2216959B1 (en) * 2009-02-04 2019-04-03 Alcatel Lucent Virtual customer premises equipment
KR101146180B1 (ko) * 2009-04-06 2012-05-29 (주)비이소프트 사용자정보 보안 기능을 갖는 컴퓨터 장치
KR101353465B1 (ko) * 2012-06-11 2014-01-24 한국과학기술원 가상 평면을 구성하는 방법, 이를 수행하는 장치 및 이 시스템
CN103885773B (zh) * 2014-03-17 2017-03-01 可牛网络技术(北京)有限公司 跨页面实现应用程序app功能的方法及装置
CN104699543B (zh) * 2015-03-27 2017-12-05 福州大学 基于Windows显示体系下与小端口驱动通信方法
CN105373439A (zh) * 2015-12-15 2016-03-02 福建升腾资讯有限公司 基于Windows显示体系下与显卡端口驱动通信方法
CN110427239A (zh) * 2019-07-30 2019-11-08 维沃移动通信有限公司 一种事件处理方法、终端设备及计算机可读存储介质
CN115988161B (zh) * 2023-03-17 2023-06-06 上海芯浦科技有限公司 一种视频传输设备及传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62150979A (ja) * 1985-12-24 1987-07-04 Fujitsu Ltd 誤動作防止回路
JPH0511958A (ja) * 1991-07-01 1993-01-22 N T T Data Tsushin Kk サーバ・クライアント型ウインドウシステム
JPH05341946A (ja) * 1992-06-09 1993-12-24 Oki Electric Ind Co Ltd 複数グラフィカルユーザインタフェース表示装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499327A (en) * 1992-01-20 1996-03-12 Canon Kabushiki Kaisha Multi-window system which can overlay-display a dynamic image in a specific window
US5850232A (en) * 1996-04-25 1998-12-15 Microsoft Corporation Method and system for flipping images in a window using overlays
DE202004009752U1 (de) * 2003-06-20 2004-11-11 Apple Computer Inc., Cupertino Computersystem mit einer Benutzerschnittstelle, Datenträger und Signalfolge
DE20314722U1 (de) * 2003-09-23 2005-02-10 Scm Microsystems Gmbh Vorrichtung für sicheren Zugriff auf Digitalmedien-Inhalte, virtueller Multischnittstellen-Treiber und System für sicheren Zugriff auf Digitalmedien-Inhalte
US7558723B2 (en) * 2003-12-12 2009-07-07 Microsoft Corporation Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices
US7644407B2 (en) * 2004-03-05 2010-01-05 Intel Corporation Method, apparatus and system for seamlessly sharing a graphics device amongst virtual machines
KR20040079341A (ko) * 2004-04-28 2004-09-14 (주)신엠 화면공유방법 및 공유된 화면을 이용한 서비스 방법
KR100586982B1 (ko) * 2004-05-20 2006-06-08 삼성전자주식회사 디스플레이 시스템 및 그 가상 작업공간 관리방법
US7392172B2 (en) * 2005-04-28 2008-06-24 Hewlett-Packard Development Company, L.P. Providing virtual device access via firmware
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20080088636A1 (en) * 2006-10-13 2008-04-17 Nee Shen Ho System and method for the display and control of virtual environments in a single pipe graphics memory controller hub using picture-in-picture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62150979A (ja) * 1985-12-24 1987-07-04 Fujitsu Ltd 誤動作防止回路
JPH0511958A (ja) * 1991-07-01 1993-01-22 N T T Data Tsushin Kk サーバ・クライアント型ウインドウシステム
JPH05341946A (ja) * 1992-06-09 1993-12-24 Oki Electric Ind Co Ltd 複数グラフィカルユーザインタフェース表示装置

Also Published As

Publication number Publication date
CN101689098B (zh) 2012-05-30
CN101689098A (zh) 2010-03-31
KR100917687B1 (ko) 2009-09-21
EP2160676A1 (en) 2010-03-10
HK1140558A1 (en) 2010-10-15
EP2160676A4 (en) 2014-05-21
WO2009001981A1 (en) 2008-12-31
US20100174988A1 (en) 2010-07-08
JP5225376B2 (ja) 2013-07-03
KR20080113881A (ko) 2008-12-31

Similar Documents

Publication Publication Date Title
JP5225376B2 (ja) 仮想インターフェースを提供するためのシステム及び方法
US11494010B2 (en) Touch support for remoted applications
US10503344B2 (en) Dynamic cross-environment application configuration/orientation
RU2491609C2 (ru) Прокрутка изображения виртуального рабочего стола
US8966379B2 (en) Dynamic cross-environment application configuration/orientation in an active user environment
US5564002A (en) Method and apparatus for implementing a virtual desktop through window positioning
JP5681191B2 (ja) コンピュータ周辺機器上にアプリケーションインターフェイス部を提供する方法および装置
KR101512010B1 (ko) 셸 애플리케이션들 및 서브애플리케이션들의 인터페이스들의 조합
US20060129948A1 (en) Method, system and program product for a window level security screen-saver
US6118428A (en) Method and system for simultaneous presentation of multiple windows supported by different graphic user interfaces
KR100954007B1 (ko) Gui 어플리케이션 개발 지원 장치, gui 어플리케이션 프로그램 생성 방법 및 컴퓨터 판독가능 기록매체
JPH09212328A (ja) 動画表示オブジェクトを表示するための方法およびシステム
KR20050111434A (ko) 디스플레이 시스템 및 그 가상 작업공간 관리방법
US6961945B2 (en) Method and apparatus for adapting and hosting legacy user interface controls
WO2005109176A1 (ja) ウィンドウ表示システム、ウィンドウ表示方法、プログラム開発支援装置及びサーバ装置
TW201545052A (zh) 擴展螢幕模式下之應用程式運作方法以及使用該方法的平板電腦
JP2008102947A (ja) ウィンドウ表示システム、情報処理システム、クライアント装置、電話機、情報機器、家電機器及び機器
US20070256032A1 (en) Presenting identifiers and states of processes in a stacked cursor
US10637827B2 (en) Security network system and data processing method therefor
KR101698484B1 (ko) 자바 어플리케이션 실행 방법 및 장치
CN117234655B (zh) 基于安卓系统运行Linux桌面程序的方法、装置、设备及介质
Peersman et al. X Window system
JP2007272915A (ja) 情報処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130116

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: 20130212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees