JP2011530764A - シェルアプリケーションおよびサブアプリケーションの結合インターフェース - Google Patents

シェルアプリケーションおよびサブアプリケーションの結合インターフェース Download PDF

Info

Publication number
JP2011530764A
JP2011530764A JP2011522959A JP2011522959A JP2011530764A JP 2011530764 A JP2011530764 A JP 2011530764A JP 2011522959 A JP2011522959 A JP 2011522959A JP 2011522959 A JP2011522959 A JP 2011522959A JP 2011530764 A JP2011530764 A JP 2011530764A
Authority
JP
Japan
Prior art keywords
application
gui
shell
sub
input
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
JP2011522959A
Other languages
English (en)
Other versions
JP5384638B2 (ja
Inventor
サッグズ・ブラッドレイ・エヌ
アモ・イマニュエル
オッディラジュ・チャンダー・ケー
ニッセン・オルフ
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2011530764A publication Critical patent/JP2011530764A/ja
Application granted granted Critical
Publication of JP5384638B2 publication Critical patent/JP5384638B2/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
    • 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
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/125Frame memory handling using unified memory architecture [UMA]

Landscapes

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

Abstract

システムは、シェルアプリケーション(204)、および、シェルアプリケーションに機能を提供するサブアプリケーション(206〜208)を含む記憶装置(202)を含む。このシステムは、また、記憶装置に接続された処理ロジック(200)を含み、シェルアプリケーションとサブアプリケーションを実行するようにされている。処理ロジックは、サブアプリケーション(206〜208)を用いて第1のグラフィカルユーザインターフェース(GUI)を生成し、シェルアプリケーションを用いて第2のGUIを生成する。処理ロジックは、第1のGUIを第2のGUIに重ね合わせてディスプレイに表示する。処理ロジックは、第1のGUIを用いて提供された入力をキャプチャーし、入力をサブアプリケーションに提供する。
【選択図】図2

Description

本願発明は、シェルアプリケーションおよびサブアプリケーションを結合するインターフェースに関する。
コンピュータシステムは、様々な種類のソフトウェアアプリケーションを実行する。「サブアプリケーション(sub-application)」として知られるこれら多くのソフトウェアアプリケーションは、「シェルアプリケーション(shell application)」として知られており、さらに総合的な他のアプリケーションに特定の機能を提供するように作成されている。このような理由により、シェルアプリケーションは、1つ以上のサブアプリケーションを「ホスト(host)」すると記載される。例えば、電子メール(Eメール)ソフトウェアプログラム(例えば、マイクロソフト(登録商標)アウトルック(OUTLOOK;登録商標))は、プラグインを使用して、電子メールを暗号化し、復号することがある。このような場合には、電子メールソフトウェアプログラムは、上記シェルアプリケーションと言われ、暗号化および復号プラグインは、サブアプリケーションと記載される。別の例では、オペレーティングシステム(OS)はワードプロセッサアプリケーション(word processing application)およびスプレッドシートアプリケーションを用いてよい。このような場合には、OSはシェルアプリケーションと言われ、ワードプロセッサアプリケーションおよびスプレッドシートアプリケーションはサブアプリケーションと記載される。通常、上述のように他のアプリケーションをホストするいずれかのアプリケーションは「シェルアプリケーション」と言われてよい。従って、シェルアプリケーションは、OSの下で走るアプリケションを含んでよく、あるいは、OS自体さえをも含んでもよい。同様に、他のアプリケーションによりホストされるいずれかのアプリケーションは、「サブアプリケーション」と言われてよい。
サブアプリケーションは、シェルアプリケーションと独立には動作しない。代わりに、サブアプリケーションは、シェルアプリケーションにより提供される「サービス」を用いてシェルアプリケーションと相互作用する。これらのサービスは、サブアプリケーションが、シェルアプリケーションと通信するために求めるプロトコルを提供して、それらそれぞれの機能をシェルアプリケーションに提供する。もし、シェルアプリケーションのサービスが使用できなければ、サブアプリケーションは動作できない。サブアプリケーションは、それ故に、シェルアプリケーションに従属すると記載される。それに互換性があるように開発されたサブアプリケーションによるプロセスが、費用がかかり、長たらしく、時間を消費するので、このような従属は好ましくない。
シェルアプリケーションとサブアプリケーションとの両方が、システムディスプレイに表示されるグラフィカルデータ(graphical data; 画像データ)を生成する。サブアプリケーションはシェルアプリケーションに従属するので、サブアプリケーションの画像データとシェルアプリケーションの画像データとの両方が、単一のグラフィカルユーザインターフェース(Graphical User Interface; GUI)を用いて表示される。上述のように、シェルアプリケーションとサブアプリケーションとの間の相互の従属を解消することは、通常、望ましいことである。しかしながら、このような解消は、シェルアプリケーションのGUIを用いたサブアプリケーションの画像データの表示を妨げる。すると、サブアプリケーションは、それらの画像データを表示する効果的な手段なしのままになる。
[注釈と用語]
ある用語が、以下の記載および請求項を通して使われ、特定のシステムコンポーネントを参照する。当業者として、企業はあるコンポーネントを異なる用語により参照してもよい。この書類は、コンポーネントの間を名前において区別し、機能において区別することを意図していない。以下の議論および請求項において、「含む」および「備える/有する」という用語は制約のない方法において用いられるので、「含む」と解釈されるべきであり、「・・・に制限される」と解釈されるべきではない。また、「接続(単数および複数)」は、間接、直接、光学的または無線の電子的接続が意図されている。従って、もし、第1のデバイスが第2のデバイスに接続されているときには、この接続は、直接的な電子接続を通して、間接的な電子的接続を通して、他のデバイスを介した接続を通して、あるいは、無線の電子的接続を通してであってよい。
本願発明にかかるシステムは、上述した背景からなされ、シェルアプリケーション(204)と、前記シェルアプリケーション(204)に機能を提供するようにされたサブアプリケーション(206〜208)とを有する記憶装置(202)と、前記記憶装置(202)に結合され、前記シェルアプリケーション(204)と前記サブアプリケーション(206〜208)を実行するようにされた処理ロジック(200)とを備え、前記処理ロジック(200)は、前記サブアプリケーション(206〜208)を用いる第1のグラフィカルユーザインターフェース(GUI)と、前記シェルアプリケーション(204)を用いる第2のGUIを生成し、前記処理ロジック(200)は、前記第2のGUI上に重ね合わされた前記第1のGUIをディスプレイに表示し、前記処理ロジック(200)は、前記第1のGUIを用いて入力をキャプチャーし、前記サブアプリケーション(206〜208)に前記入力を提供する。
また、本発明にかかる方法は、シェルアプリケーション(204)に対応する第1のグラフィカルユーザインターフェース(GUI)を表示することと、前記第1のGUI上に重ね合わされ、前記シェルアプリケーション(204)への機能の提供に使用しうるプラグインアプリケーションに対応する第2のGUIを表示することと、前記入力を前記第2のGUIに提供することと、前記第2のGUIから、前記シェルアプリケーション(204)がホストしない前記プラグインアプリケーションに、前記入力を送ることとを含む。
本願発明の最良の実施形態の詳細な説明のために、下記の添付の図面が参照される。
本願実施形態に従った技術を実現する例示的なコンピュータシステムを例示する図である。 本願実施形態に従って、図1のシステムの中に格納された例示的な回路ロジックのブロック図である。 本願実施形態に従い、図1のシステムに関連付けられた例示的なディスプレイとグラフィカルユーザインターフェース(GUI)を示す図である。 本願実施態様に従って、開示されている技術の動作を実証する概念的な図である。 様々な実施形態に従って実現される例示的な方法の流れ図である。
以下の議論は、様々な本願発明の実施形態にあてたものである。これらの実施形態の1つかそれ以上が好適であろうが、開示された実施形態は、請求項も含めた開示の範囲を限定するものとして解釈されたり、あるいは、用いられるべきではない。さらに、以下の記載が、広い適用範囲を有すること、いずれの実施形態の議論も、その実施形態の例示としてのみ意図され、請求項を含めた開示の範囲を明らかにすることを意図しないこと、その実施形態に限定されることを、当業者は理解するであろう。
ここに開示されているものは、シェルアプリケーションおよびサブアプリケーションそれぞれのためのGUIベースの情報を共通のディスプレイに表示する間に、シェルアプリケーションおよびサブアプリケーションを実行するための独立性をそなえた技術である。特に、サブアプリケーションに対応する1つ以上のGUIが、シェルアプリケーションのGUI上に描画され(または重ね合わされ)る。このように、アプリケーションが実際には独立して実行されているのにもかかわらず、エンドユーザには、シェルアプリケーションがサブアプリケーションをホストしているように見える。エンドユーザが、シェルアプリケーションのGUI上に重ね合わされたサブアプリケーションのGUIとやりとりしているとき、シェルアプリケーションはユーザの入力(ユーザ入力)をキャプチャーして、それをサブアプリケーションに送る。代わりに、サブアプリケーションは、ユーザ入力を直接にキャプチャーする。いずれの場合でも、実際にはシェルアプリケーションとサブアプリケーションとが独立に実行されている間、シェルアプリケーションは、それがサブアプリケーションをホストしている錯覚を与える。このように、エンドユーザに気づかれない状態を保ちつつ、先に記載された課題が緩和される。上に記載された技術は、今、以下に、図1を参照して明らかにされる。
図1は、様々な実施形態に従って実現され、ここに開示される技術を実現するコンピュータシステム100を示す。コンピュータシステム100は、シャーシ(chassis)102、ディスプレイ104、キーボード106およびマウス108を備える。その他の入力デバイスおよび出力デバイスまたはこれらのいずれかもまた、使用されてもよい。さらに、ここでは、コンピュータシステム100はデスクトップパーソナルコンピュータとして記載されているが、ここに開示されている技術は、ノートブック・ラップトップパーソナルコンピュータ、PDA(Personal Digital Assistants)、携帯音楽プレーヤーおよびソフトウェアプログラムを実行しうる全ての電子機器を含むどのような適切な形式のコンピュータシステムにおいても実現されうる。
図2は、図1のシャーシ102の内容の詳細図である。特に、シャーシ102は、シェルアプリケーション204および複数のサブアプリケーション206〜208を備えた処理ロジック200および記憶装置202(例えば、ランダムアクセスメモリ(RAM))を備える。少なくともある実施形態においては、処理ロジック200は、ファームウェア(firmware)が基板上のメモリに埋め込まれたプロセッサまたはマイクロプロセッサを含む。ファームウェアは、実行されたときに、処理ロジック200に、シェルアプリケーション204および1つ以上のサブアプリケーション206〜208を実行することにより得られた画像データを用いて、ディスプレイ104上にGUIを描画させうるソフトウェアコードを備えてよい。処理ロジック200は、コンピュータシステム100の動作に適切な追加的な機能を実行してよい。上述のように、シャーシ102は、キーボード106およびマウス108に接続され、これらは、図2において、総称的に入力デバイス210と記載される。入力デバイス210は、キーボードおよびマウスの他に、タッチスクリーンおよび音声駆動入力デバイスなどのような追加的な形式のデバイスを備えてよい。ある実施形態においては、ディスプレイ104はタッチスクリーンでよく、この場合には、ディスプレイ104は出力デバイスと入力デバイスの両方を備えてよい。処理ロジック200は、動作中に、シェルアプリケーション204および1つ以上のd206〜208を実行する。例えば、処理ロジック200は、シェルアプリケーション204およびサブアプリケーション206を実行してよい。シェルアプリケーション204は、実行されたときに、処理ロジック200にディスプレイ104上のGUIを生成させるソフトウェアコードを備える。図3Aは、このようなGUI300を示す。シェルアプリケーション204を用いて生成されるGUI300は、どのような形式でもよい。サブアプリケーション206〜208は、実行されたときに、処理ロジック200にディスプレイ104上の他のGUIを生成させるソフトウェアコードを備える。図3Aは、このようなGUI302を示す。示されるように、GUI302は、GUI300に重ね合わされる。GUI300,302は、GUI300を用いて表示される画像データがシェルアプリケーション204から直接に受信され、GUI302を用いて表示される画像データがサブアプリケーション206〜208から直接に受信されるという意味で、互いに独立である。ある実施形態においては、しかしながら、サブアプリケーション206〜208からの画像データは、GUI302に対してシェルアプリケーション204を介して供給されてよい。
少なくともある実施形態においては、シェルアプリケーション204を実行しているときに、処理ロジック200は、シェルアプリケーション204を用いるサブアプリケーション206を「ホスト」しない。他の方法で記載されると、シェルアプリケーション204とサブアプリケーション206は、適切な実行のために、サブアプリケーション206は、シェルアプリケーション204に従属しないように、互いに独立している。処理ロジック200が、シェルアプリケーション204およびサブアプリケーション206を別々に実行するのではなくて、シェルアプリケーション204とサブアプリケーション206は、メモリおよび他の資源が共有されないように(あるいは、少なくとも、もし、このそこでこの技術が実現されない場合よりも少ない度合いで共有されるように)、これら自体のプロセス空間において独立に走る。シェルアプリケーション204は、シェルアプリケーション204と通信するために、特定のプロトコルをなんら守らせるようにサブアプリケーション206に要求するようにプログラムされていないので、シェルアプリケーション204とサブアプリケーション206とは、互いに独立に実行されることができる。このように、シェルアプリケーション204は、上述の「サービス」を、サブアプリケーション206に提供せず、サブアプリケーション206は、シェルアプリケーション204へのその機能を提供するためにサービスを要求しない。
例えば、シェルアプリケーション204は、OSを備えてよく、サブアプリケーション206は、ワードプロセッサアプリケーションを備えてよい。それによってOSとの通信するサービスを持つワードプロセッサアプリケーションを提供する代わりに、OSは、(例えば製造者によって)、ワードプロセッサアプリケーションからの通信を、なんらかの特定のプロトコルに従うか否かにかかわらず受け入れるように特にプログラムされる。このように、OSとワードプロセッサアプリケーションとの間の相互的な従属が解消される。
しかしながら、前に説明したように、このようなシェルアプリケーション204とサブアプリケーション206との間の相互的な従属関係の解消は、効果的にその画像データを表示する手段を持たないサブアプリケーション206が残ることにおいて問題がある。少なくともある実施形態においては、このような問題は、以下のように軽減される。実行されたときに、サブアプリケーション206が、処理ロジック200に1つ以上のGUI302を、図3Aに示すように作成させる。処理ロジック200は、マイクロソフト(登録商標)ビスタ(登録商標)デスクトップウインドウマネージャ(MICROSOFT VISTA DESKTOP WINDOW MANAGER (DWM))を用いて、これら1つ以上のGUI302をGUI300上に描画する。GUI302の1つ以上のGUI302は、GUI300上に重ね合わされるので、ディスプレイ104を観るユーザには、シェルアプリケーション204がサブアプリケーション206をホスティング(hosting)しているように見える。しかしながら、前に説明したように、シェルアプリケーション204は、サブアプリケーション206をホスティングしていないだけでなく、処理ロジック200はサブアプリケーションのGUI302を、シェルアプリケーションのGUI300上に描画して、シェルアプリケーション204があたかもシェルアプリケーション204をホスティングしているかのような錯覚(illusion)を作り上げる。この錯覚は、ユーザに透過性と使いやすさを促進する。
ある実施形態においては、サブアプリケーションのGUI302は受動的でよい。例えば、GUI302は、GUI300の単純に審美的な拡張のために(例えば、装飾として)表示されうる。反対に、ある実施形態においては、コンピュータシステム100のエンドユーザ(end user)に、GUI302との対話的な操作の機会を提供でき、それによって、GUI302が、GUI300に1つ以上の機能を提供することができるようにする。例えば、GUI302は、図3Aに示すように、それにテキストが入力されてもよいいくつかのフィールド304を含む「記入可能な(fillable)」書式を備えてよい。他の例においては、GUI302は、マウスのカーソルを用いてクリックされ得る1つ以上のボタンを備えてよい。さらに他の例においては、ディスプレイ104は、タッチスクリーンでよく、それで、GUI302は、スタイラス(stylus)および指などを介したユーザ入力を受ける接触に敏感な(touch-sensitive)な領域を備えてよい。いずれか、あるいは、全てのこのようなバリエーションは、本願の開示事項の範囲内である。
このような実施形態において、エンドユーザは、コンピュータシステム100に、エンドユーザに表示された1つ以上のGUI302に応じた入力を提供してよい。次いで、処理ロジック200は、このようなユーザ入力をキャプチャー(capture)してよく、この入力をシェルアプリケーション204またはサブアプリケーション206あるいはこれら両方に提供してよい。ある実施形態においては、処理ロジック200は、シェルアプリケーション204にユーザ入力を提供してよく、代わりに、サブアプリケーション206にユーザ入力を提供してよい。さらに他の実施形態においては、処理ロジック200は、ユーザ入力を、サブアプリケーション206に直接に提供してよく、随意的には、シェルアプリケーション204にユーザ入力を提供してよい。
例えば、シェルアプリケーション204が、品物の注文をするために使われるソフトウェアを備え、さらに、サブアプリケーション206が、シェルアプリケーション204によって使われて注文フォームを作成し、保存するプラグインを備えるとする。その結果、シェルアプリケーション204は、その上にサブアプリケーションのGUIが重ね合わされる初期のGUIを提供する。上で説明したように、実際にはそうでないにもかかわらず、エンドユーザには、シェルアプリケーション204が、サブアプリケーション206をホスティングしているように見える。エンドユーザは、キーボード106およびマウス108を用いて、第2のGUIの注文フォームのフィールドに情報を入力する。例えば、エンドユーザは、名前、請求書送付先およびクレジットカード番号などを入力できる。エンドユーザが、注文フォームへの情報の入力を終了すると、エンドユーザは、「セーブ」あるいは注文フォームが完了したことを示す同様なボタンをクリックできる。結果として、ある実施形態においては、処理ロジック200は、シェルアプリケーション204からサブアプリケーション206にデータを直接に提供してよい。他の実施形態においては、処理ロジック200は、エンドユーザから第2のGUIにデータが提供されるようにしてよく、サブアプリケーション206に直接に提供されるようにしてよく、このように、シェルアプリケーション204をバイパス(bypassing)する。
サブアプリケーションは、ユーザ入力を、エンドユーザから直接に、または、シェルアプリケーション経由でエンドユーザから受けてよい。これらのいずれを実現するためにも様々な手法が用いられ得る。例えば、ある実施形態においては、動的な表示を含むシェルアプリケーションのGUIの部分は、「削除され(removed)」、透明にされ(made transparent)得る。シェルアプリケーションのGUIの透明な部分は、サブアプリケーションのGUI(例えば、ウィンドウズ(登録商標)ビスタ(登録商標)DWM)に置き換えられ得て、それによって、エンドユーザに、サブアプリケーションのGUIに直接に情報を入力できるようにする。ある実施形態においては、シェルアプリケーションのGUI(あるいは動的な表示ウィンドウ)は、完全に透明でよい。サブアプリケーションのGUIは、そして、同じ位置(あるいは「後に」)において、シェルアプリケーションのGUIとして描画され得る。ある実施形態においては、クロームなし(chromeless)のサブアプリケーションは、シェルアプリケーションのGUIの一部または全部のサイズにされ、重ね合わされ得る。いずれかあるいは全てのこのようなバリエーションは、本願の開示事項の全てを包含する。
図3Bは、それに開示されている動作中の手法の概念的な図である。記憶装置202は、シェルアプリケーション204およびサブアプリケーション206を備える。サブアプリケーション206を用いて生成された画像データは、矢印306により示されるように、ディスプレイ104に直接に送られる。「直接に(directly)」により、処理ロジック200が、画像データを、サブアプリケーション206からGUI302に、画像データを、まずシェルアプリケーション204に供給することなしに送らせることが意味される。しかしながら、ある実施形態においては、矢印307により示されるように、画像データは、サブアプリケーション206から、シェルアプリケーション204を介してGUI302に送られてよい(つまり、画像データは「間接的」に送られる)。同様に、シェルアプリケーション204を用いて生成された画像データは、矢印308により示されるように、ディスプレイ104に直接に送られ、GUI300を用いて表示される。シェルアプリケーション204およびサブアプリケーション206は、上に説明されたように、シェルアプリケーション204がサブアプリケーション206に「サービス」を提供しないように、互いに独立に実行される。また、説明されたように、サブアプリケーション206からの画像データは、ウインドウズ(登録商標)ビスタ(登録商標)PWMといったいずれかの適切な手法あるいは技術を用いてGUI302に直接に提供される。
まだ図3Bを参照すると、マウスのクリック、タッチ(もし、ディスプレイ104がタッチスクリーンならば)およびテキストなどを示すGUI302へのデータ入力(例えば、エンドユーザによる)は、矢印310により示すように、GUI302からサブアプリケーション206へ直接に提供されてよい。「直接に」により、処理ロジック200が、画像データを、GUI302からサブアプリケーション206に、画像データを、まずシェルアプリケーション204に供給することなしに送らせることが意味される。しかしながらある実施形態においては、矢印311により示されるように、ユーザ入力は、「間接的に(indirectly)」、シェルアプリケーション204を介して、サブアプリケーション206に送られうる。同様に、GUI302に提供されるユーザ入力は、矢印312により示されるように、直接にシェルアプリケーション204に提供される。
ディスプレイ104にサブアプリケーションのGUIを表示するために使われる特定の手法にかかわらず、少なくともある実施形態においては、サブアプリケーションの1つ以上のGUIは、規則的な頻度、予め決められた頻度あるいは不規則的な頻度で更新される。さらに、シェルアプリケーションおよびサブアプリケーションは、いずれもGUIに統一されたルックアンドフィール(look and feel)を持たせ得るeXtensive Application Markup Language(XAML)ファイルあるいはeXtensible Markup Language(XML)ファイルといった共通の資源を共有できる。
例示された実施形態は、単一のサブアプリケーションおよびシェルアプリケーションの観点から記載されたが、ある実施形態においては、任意の数のサブアプリケーションまたはシェルアプリケーションあるいはこれら両方が使用され得る。例えば、単一のシェルアプリケーションのGUIに、複数のサブアプリケーションのGUIが重ね合わされてよい。他の実施形態においては、複数のシェルアプリケーションのGUIが、同時にディスプレイに表示され、これらシェルアプリケーションのGUIそれぞれに、任意の数のサブアプリケーションのGUIが重ね合わされてよい。
ここに記載された手法は、個別のコンピュータシステム(つまり、その構成部分がネットワーク接続されていないコンピュータシステム)により実現された。このように、例えば、シェルアプリケーションおよび1つ以上のサブアプリケーションは、同じ記憶装置に記憶されても、全てが同じシャーシに収容された複数の記憶装置に記憶されてもよい。少なくともある実施形態においては、シェルアプリケーションおよび1つ以上のサブアプリケーションは、1つ以上のネットワークを介して通信可能に接続された記憶装置に記憶されない。例えば、例として、本願手法は、ディスプレイ、コンピュータシャーシおよび入力/出力デバイスを含む個別のコンピュータシステム上で、個別の移動体通信システム上などで実現され得る。
図4は、様々な実施形態により実現される方法400のフロー図である。方法400は、シェルアプリケーション(ブロック402)およびサブアプリケーション(ブロック404)の開始から始まる。方法400は、サブアプリケーションの画像(image)をシェルアプリケーションに送ることにより、あるいは、ある実施形態においては、ディスプレイそれ自体に送ることにより続く(ブロック406)。方法400は、そして、ユーザ入力データをサブアプリケーションの画像に提供すること(ブロック408)を含む。方法400は、また、入力データを集めることと、サブアプリケーションに入力データを、直接に、あるいは、シェルアプリケーションを含む間接的な経路を介して送ることとを含む。方法400のステップは、任意の適切な順序で実行される。
以上の議論は、本願発明の方法および様々な実施形態の例として意図されている。当業者には、上の開示への多くのバリエーションおよび変更が明らかであり、理解されるであろう。下記請求項は、このようなバリエーションおよび変更の全てを包含することを意図されている。
100・・・コンピュータシステム,
102・・・シャーシ,
104・・・ディスプレイ,
106・・・キーボード,
108・・・マウス,
200・・・処理ロジック,
202・・・記憶装置,
204・・・シェルアプリケーション,
206〜208・・・サブアプリケーション,
300,302・・・GUI,
304・・・フィールド,
400・・・方法,

Claims (20)

  1. シェルアプリケーションと、前記シェルアプリケーションに機能を提供するようにされたサブアプリケーションとを有する記憶装置と、
    前記記憶装置に結合され、前記シェルアプリケーションと前記サブアプリケーションを実行するようにされた処理ロジックと
    を備え、
    前記処理ロジックは、前記サブアプリケーションを用いる第1のグラフィカルユーザインターフェース(GUI)と、前記シェルアプリケーションを用いる第2のGUIを生成し、
    前記処理ロジックは、前記第2のGUI上に重ね合わされた前記第1のGUIをディスプレイに表示し、
    前記処理ロジックは、前記第1のGUIを用いて入力をキャプチャーし、前記サブアプリケーションに前記入力を提供する
    システム。
  2. 前記サブアプリケーションは、
    シェルアプリケーションにより使用されうるプラグイン
    を備える
    請求項1に記載のシステム。
  3. 前記処理ロジックは、ネットワーク接続を用いずに前記入力を前記サブアプリケーションに提供する
    請求項1に記載のシステム。
  4. 前記シェルアプリケーションは、前記処理ロジックが前記第2のGUIを生成したとき、または、前記処理ロジックが前記第2のGUIをディスプレイに影響したときには、前記サブアプリケーションをホストしない
    請求項1に記載のシステム。
  5. 前記第2のGUIを表示するタッチスクリーンディスプレイを
    さらに有し、
    前記処理ロジックは、前記タッチスクリーンディスプレイを用いて、前記入力をキャプチャーする
    請求項1に記載のシステム。
  6. 前記処理ロジックは、前記入力を直接に前記サブアプリケーションに供給し、前記シェルアプリケーションには最初に供給しない
    請求項1に記載のシステム。
  7. 前記処理ロジックは、前記入力を、前記シェルアプリケーションに供給し、
    前記処理ロジックは、前記入力を、前記シェルアプリケーションから前記サブアプリケーションに供給する
    請求項1に記載のシステム。
  8. ディスプレイと、
    シェルアプリケーションと、前記シェルアプリケーションに機能を提供しうるプラグインアプリケーションとを備えた記憶装置と
    を備え、
    前記ディスプレイは、前記シェルアプリケーションに関連する他のグラフィカルユーザインターフェース(GUI)を表示している間に、前記プラグインアプリケーションと関連するグラフィカルユーザインターフェース(GUI)を表示し、
    前記システムは、GUIを用いた入力をキャプチャーし、前記入力を直接に前記プラグインアプリケーションに提供する
    システム。
  9. 前記シェルアプリケーションはおよび前記プラグインアプリケーションは、前記プラグインアプリケーションの不具合が、前記シェルアプリケーションの不具合を招かないように、互いに独立に実行される
    請求項8に記載のシステム。
  10. 画像データが、前記プラグインアプリケーションから前記GUIに直接に供給され、
    前記入力が、まず前記シェルアプリケーションにまず供給されることなく直接に前記プラグインアプリケーションに供給される
    請求項8に記載のシステム。
  11. デスクトップコンピュータ、ノートブックコンピュータ、パーソナルディジタルアシスタント(PDA; Personal Digital Assistant)、移動体通信デバイス、携帯音楽プレーヤーおよびタッチスクリーンデバイスにより構成されるグループから選択されたデバイス
    を備える請求項8に記載のシステム。
  12. 前記ディスプレイは、前記他のGUIの透明な部分の代わりに、前記GUIを表示する
    請求項8に記載のシステム。
  13. ネットワーク接続が、前記プラグインアプリケーションへ前記入力を提供するために用いられない
    請求項8に記載のシステム。
  14. 前記ディスプレイは、
    前記入力をキャプチャーするために用いられるタッチスクリーン
    を備える
    請求項8に記載のシステム。
  15. シェルアプリケーションに対応する第1のグラフィカルユーザインターフェース(GUI)を表示することと、
    前記第1のGUI上に重ね合わされ、前記シェルアプリケーションへの機能の提供に使用しうるプラグインアプリケーションに対応する第2のGUIを表示することと、
    前記入力を前記第2のGUIに提供することと、
    前記第2のGUIから、前記シェルアプリケーションがホストしない前記プラグインアプリケーションに、前記入力を送ることと
    を含む方法。
  16. 予め決められた間隔で前記第2のGUIを更新すること
    をさらに含む請求項15に記載の方法。
  17. 前記入力を、前記第2のGUIから前記プラグインアプリケーションに送ることは、
    前記入力を、前記シェルアプリケーションに直接に送ること
    を含む
    請求項15に記載の方法。
  18. 前記第2のGUIから前記プラグインアプリケーションに、前記入力を送ることは、
    前記入力を前記シェルアプリケーション(204)に最初に送ること
    を含む
    請求項15に記載の方法。
  19. 前記第1のGUIおよび前記第2のGUIを表示することは、
    前記シェルアプリケーションと、前記プラグインアプリケーションとを互いに独立に実行すること
    を含む
    請求項15に記載の方法。
  20. 前記第2のGUIを表示することは、
    デスクトップコンピュータ、ノートブックコンピュータ、パーソナルディジタルアシスタント(PDA; Personal Digital Assistant)、移動体通信デバイス、携帯音楽プレーヤーおよびタッチスクリーンデバイスにより構成されるグループから選択されたデバイスに組み込まれたディスプレイを用いること
    を含む
    請求項15に記載の方法。
JP2011522959A 2008-08-29 2008-08-29 シェルアプリケーションおよびサブアプリケーションの結合インターフェース Expired - Fee Related JP5384638B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/074785 WO2010024820A2 (en) 2008-08-29 2008-08-29 Combining interfaces of shell applications and sub-applications

Publications (2)

Publication Number Publication Date
JP2011530764A true JP2011530764A (ja) 2011-12-22
JP5384638B2 JP5384638B2 (ja) 2014-01-08

Family

ID=41722175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011522959A Expired - Fee Related JP5384638B2 (ja) 2008-08-29 2008-08-29 シェルアプリケーションおよびサブアプリケーションの結合インターフェース

Country Status (8)

Country Link
US (1) US9665381B2 (ja)
JP (1) JP5384638B2 (ja)
KR (1) KR101512010B1 (ja)
CN (1) CN102138122A (ja)
BR (1) BRPI0822544B1 (ja)
DE (1) DE112008003965T5 (ja)
GB (1) GB2476889B (ja)
WO (1) WO2010024820A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101134116B1 (ko) * 2010-08-19 2012-04-09 주식회사 잉카인터넷 응용프로그램과 부가응용프로그램의 결합 방법 및 실행 방법
WO2012094482A1 (en) * 2011-01-05 2012-07-12 Onqueue Technologies Inc. Methods and apparatuses for imparting functionality to a mobile computing device
US9843665B2 (en) * 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10417018B2 (en) * 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
DE102013202020A1 (de) * 2013-02-07 2014-08-07 Robert Bosch Gmbh Graphisches Bildschirmelement
US20140372935A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Input Processing based on Input Context
US9760255B2 (en) 2014-02-24 2017-09-12 Microsoft Technology Licensing, Llc Propagating theming information from host applications to host extensions
US9817648B2 (en) 2016-01-15 2017-11-14 Google Inc. Application containers with dynamic sub-package loading
CN108351792A (zh) 2016-01-15 2018-07-31 谷歌有限责任公司 使用应用容器管理代码和依赖性数据的传递
JP6195964B1 (ja) 2016-04-15 2017-09-13 ネイバー コーポレーションNAVER Corporation アプリケーション制作装置及びその方法、アプリケーション駆動装置、並びにコンピュータプログラム
US11138551B2 (en) 2018-05-30 2021-10-05 Walmart Apollo, Llc Bundled application for load management system
JP7401197B2 (ja) * 2019-05-29 2023-12-19 キヤノン株式会社 撮像装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014760A (ja) * 2000-06-30 2002-01-18 Sanyo Electric Co Ltd 仮想キーボード
JP2004259216A (ja) * 2003-02-27 2004-09-16 Toshihiko Okabe 検索文字入力装置、方法、記録媒体、及び検索文字入力窓を備えたwwwブラウザ

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633309B2 (en) * 1999-08-16 2003-10-14 University Of Washington Interactive video object processing environment having concurrently active subordinate windows
US6871348B1 (en) * 1999-09-15 2005-03-22 Intel Corporation Method and apparatus for integrating the user interfaces of multiple applications into one application
US6734873B1 (en) * 2000-07-21 2004-05-11 Viewpoint Corporation Method and system for displaying a composited image
KR20020083378A (ko) 2001-04-27 2002-11-02 와이룩코리아 주식회사 드롭다운 창을 통한 검색 서비스 제공 방법
US7072810B2 (en) * 2001-06-08 2006-07-04 Tata Consultancy Services Limited Method and apparatus for pattern based generation of graphical user interfaces (GUI)
US20030079052A1 (en) * 2001-10-24 2003-04-24 Kushnirskiy Igor Davidovich Method and apparatus for a platform independent plug-in
US7165099B2 (en) * 2002-03-15 2007-01-16 Qualcomm Inc. Dynamically downloading and executing system services on a wireless device
JP2005526315A (ja) * 2002-05-17 2005-09-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ブラウザでの第1の媒体形式のコンテンツの画面処理
GB2404317A (en) * 2003-10-03 2005-01-26 Sendo Int Ltd Representing an application or data using a shell application
US7839419B2 (en) * 2003-10-23 2010-11-23 Microsoft Corporation Compositing desktop window manager
US8276095B2 (en) * 2004-02-20 2012-09-25 Advanced Intellectual Property Group, Llc System for and method of generating and navigating within a workspace of a computer application
US20070061722A1 (en) 2005-09-13 2007-03-15 International Business Machines Corporation Transparency learning aide skin for GUI-based applications
WO2008089349A2 (en) * 2007-01-18 2008-07-24 Coupons, Inc. System and method for controlling distribution of electronic coupons
CN101291402B (zh) * 2007-04-18 2011-06-15 深圳Tcl新技术有限公司 一种功能界面图片组合使用的方法及装置
WO2009139843A1 (en) * 2008-05-13 2009-11-19 Google Inc. Separate plug-in processes in browsers and applications thereof
US8352967B2 (en) * 2008-11-10 2013-01-08 Google Inc. Safe browser plugins using native code modules

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014760A (ja) * 2000-06-30 2002-01-18 Sanyo Electric Co Ltd 仮想キーボード
JP2004259216A (ja) * 2003-02-27 2004-09-16 Toshihiko Okabe 検索文字入力装置、方法、記録媒体、及び検索文字入力窓を備えたwwwブラウザ

Also Published As

Publication number Publication date
DE112008003965T5 (de) 2011-07-14
BRPI0822544B1 (pt) 2019-09-03
GB2476889B (en) 2013-04-10
WO2010024820A3 (en) 2010-07-01
US9665381B2 (en) 2017-05-30
US20110119684A1 (en) 2011-05-19
CN102138122A (zh) 2011-07-27
KR20110055532A (ko) 2011-05-25
GB2476889A (en) 2011-07-13
JP5384638B2 (ja) 2014-01-08
KR101512010B1 (ko) 2015-04-15
GB201103179D0 (en) 2011-04-06
WO2010024820A2 (en) 2010-03-04
BRPI0822544A2 (pt) 2015-06-23

Similar Documents

Publication Publication Date Title
JP5384638B2 (ja) シェルアプリケーションおよびサブアプリケーションの結合インターフェース
CN103718161B (zh) Web应用体系架构
US8566732B2 (en) Synchronization of widgets and dashboards
US10762277B2 (en) Optimization schemes for controlling user interfaces through gesture or touch
US20070101291A1 (en) Linked widgets
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
JP4005623B2 (ja) ウィンドウ表示システム、ウィンドウ表示方法、プログラム開発支援装置及びサーバ装置
US11868605B2 (en) Application bar display method and electronic device
WO2013036252A1 (en) Multiple display device taskbars
JP5225376B2 (ja) 仮想インターフェースを提供するためのシステム及び方法
WO2020006669A1 (zh) 一种图标切换方法、显示gui的方法及电子设备
JP2020067977A (ja) 情報処理装置およびプログラム
JP4177434B2 (ja) ウィンドウ表示システム、情報処理システム、クライアント装置、電話機、情報機器、家電機器及び機器
US10459992B2 (en) User interface generation
US11249771B2 (en) Terminal input invocation
CN108780400A (zh) 数据处理方法及电子设备
US6864905B2 (en) Method to redisplay active panels
US10637827B2 (en) Security network system and data processing method therefor
EP3289451A1 (en) Cross-platform command extensibility
US20180337988A1 (en) Methods for working collaboratively and systems using the same
US7346859B2 (en) Administration of keyboard input in a computer having a display device supporting a graphical user interface
JP6330179B2 (ja) マルチウィンドウ表示装置、中継装置、マルチウィンドウ表示装置の制御方法、中継装置の制御方法、及び、情報処理装置の制御方法
TW201337708A (zh) 控制項顯示管理系統和方法
US20130073992A1 (en) Supplementary Calculation Of Numeric Data In A Web Browser
Ogawa Web Front Technology: Interstage Interaction Manager

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130703

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131002

R150 Certificate of patent or registration of utility model

Ref document number: 5384638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees