JP2011529607A - アプリケーション変更に対する状態分離 - Google Patents

アプリケーション変更に対する状態分離 Download PDF

Info

Publication number
JP2011529607A
JP2011529607A JP2011521184A JP2011521184A JP2011529607A JP 2011529607 A JP2011529607 A JP 2011529607A JP 2011521184 A JP2011521184 A JP 2011521184A JP 2011521184 A JP2011521184 A JP 2011521184A JP 2011529607 A JP2011529607 A JP 2011529607A
Authority
JP
Japan
Prior art keywords
application
context
configuration
virtual
change
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
JP2011521184A
Other languages
English (en)
Other versions
JP5588440B2 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011529607A publication Critical patent/JP2011529607A/ja
Application granted granted Critical
Publication of JP5588440B2 publication Critical patent/JP5588440B2/ja
Active 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
    • 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
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

アプリケーションが使用される種々のコンテキストを定義するポリシーを使用して、アプリケーション状態を格納し、および検索する。アプリケーション状態によって、他のアプリケーションとの接続および相互作用を含む、アプリケーションの構成または用途を定義することができる。仮想化されたアプリケーションは、使用コンテキスト内で定義される状態を有し、および複数の状態または構成を使用コンテキストに基づいて格納し、および呼び出す。ポリシーによって、コンテキストおよび保存されるべきパラメータを定義し、およびアプリケーションが仮想的な方法で動作するときにポリシーを適用する。

Description

本発明はアプリケーション変更に対する状態分離(state separation)に関する。
アプリケーションは多くの異なる方法で変更することができる。いくつかの場合、レジストリを更新することや、構成(configuration)ファイルを変更することや、ダイナミックリンクされたライブラリを更新することや、または他のメカニズムによってアプリケーションを変更することができる。アプリケーションに対する各変更は、オペレーティングシステムのいくつかの部分に影響を及ぼすかもしれず、そのことがオペレーティングシステム環境で実行する他のアプリケーションにも影響を与えるかもしれない。
アプリケーションが使用されている種々のコンテキスト(context)を定義するポリシーを使用して、アプリケーション状態を格納し、および検索することができる。アプリケーション状態によって、他のアプリケーションとの接続および相互作用を含む、アプリケーションの構成または用途を定義することができる。仮想化されたアプリケーションは、使用コンテキスト内と、使用コンテキストに基づいて格納され且つリコールされ得る複数の状態又は構成内で定義される状態を持つことができる。ポリシーは、コンテキストおよび保存されるべきパラメータを定義することができ、およびアプリケーションが仮想的な方法で操作されているときに利用することができる。
この概要は、詳細な説明で以下さらに述べる概念の選択を簡単な形態で導入するために提供される。この概要は請求項のキーとなる特徴すなわち主題の必須な特徴を識別するよう意図されておらず、請求項の主題の範囲を限定するように意図されてもいない。
アプリケーションのコンテキストに基づいて異なる構成を格納するシステムの一実施形態を示す図である。 異なるコンテキスト構成で動作する方法の一実施形態を示すフローチャート図である。
アプリケーションは異なる状態又は構成において動作することができる。そのような1つのメカニズムはアプリケーションの仮想化を通して存在する。アプリケーションが特定のコンテキストに対して構成されるとき、構成情報は保存され、後の使用のために呼び出されるであろう。アプリケーションは、多くの異なる状態において動作するよう構成することができ、一組のポリシーが構成を管理する。
アプリケーションが実行される状態は、オペレーティングシステム構成、種々の他のアプリケーションの存在および動作、ネットワーク又は他の接続を通じてアクセスされるサービスの構成、および多くの他の要素を含むことができる。構成及びアプリケーションの動作は、異なる状態に対して異なっていてもよい。
例えば、いくつかのアプリケーションは、他のアプリケーションと共生関係を持っていてもよい。アプリケーションそれ自体の挙動やパフォーマンスは、他の一体をなすアプリケーションを含めたアプリケーションの挙動やパフォーマンスとは異なるかもしれない。そのような例では、構成は、単独動作の状態でのアプリケーションに対して定義され、第2の共生アプリケーションが存在し、かつ動作する場合に、別個の構成をアプリケーションについて定義することができる。
典型的な実施形態において、アプリケーションは仮想的環境で操作されるかもしれない。仮想的環境は特定のコンテキストに基づいて構成設定の異なるセットを受け入れることができるようにしてもよい。いくつかの場合、仮想環境は仮想マシン環境であってもよい。他の場合では、仮想環境は仮想アプリケーション環境であってもよい。
この明細書および請求項において、アプリケーション構成は、アプリケーションがセットアップ又は構成される方法を指している。アプリケーション構成は変更され、または設定される要素を含んでおり、は他のアプリケーションのパフォーマンス、機能、ルック(look)又オペレーショナル特性に影響を与える要素を含んでいる。
この明細書および請求項において、アプリケーション状態は、アプリケーションが実行されるコンテキストを指す。アプリケーション状態はオペレーティングシステム、およびオペレーションシステムまたはインストールもしくは実行中のアプリケーションの設定または構成を含むことができる。アプリケーション状態は、ハードウェアコンポーネント、ネットワークを通じて利用可能なサービス、他の実行中のアプリケーション、周辺機器およびいかなる他のアイテムを含む、アプリケーションと相互作用するいかなる他の要素の条件および構成を含むことができる。
この明細書および請求項において、アプリケーションコンテキストはアプリケーション状態のひとつのカテゴリであり得る。アプリケーション状態はアプリケーションに影響し得る任意の変数を含むが、コンテキストは、構成を分類及び保存するために使用され得る広範な(broad:大まかな)カテゴリであり得る。例えば、コンテキストを、セッション、仮想アプリケーション環境、仮想マシン環境、ユーザ特定のコンテキスト、マシン特定のコンテキスト、ユーザグループまたはマシングループ特定のコンテキスト、2つまたは3つ以上の相互作用するアプリケーションが相互に動作するコンテキスト、および他のコンテキストに対して定義してもよい。
この明細書全体に亘って、同様の参照番号は図面の記述にわたって同じ要素を示している。
要素が「接続される」又は「結合される」と称される場合、要素は直接的に接続又は結合されることができ、あるいは1つまたは2つ以上の仲介要素もまた存在し得る。これと対比して、要素が「直接的に接続される」又は「直接的に結合される」と称される場合には、仲介要素は存在しない。
主題は、装置、システム、方法、及び/又はコンピュータプログラム製品として具現化できる。従って、いくつかの又は全ての主題は、ハードウェア及び/又はソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード、状態マシン、ゲートアレイなどを含む)として具現化されるであろう。さらに、主題は、命令実行システムによって使用され、または関連するコンピュータで使用可能なまたはコンピュータで読み取り可能な媒体に具現化されたコンピュータで使用可能なまたはコンピュータで読み取り可能なプログラムコードを有するコンピュータで使用可能なまたはコンピュータで読み取り可能な記憶媒体上のコンピュータプログラム製品の形態としてもよい。この文書の文脈では、コンピュータで利用可能なまたはコンピュータ読み取り可能な媒体は、命令実行システム、装置、又はデバイスによって使用され、またはそれに関連するプログラムを含み、格納し、通信し、伝播し、伝送することができるいかなる媒体であってもよい。
コンピュータで使用可能なまたはコンピュータで読み取り可能な媒体は、例えば、電気的、磁気的、光学的、電磁気的、赤外線の、又は半導体の、システム、装置、デバイス、又は伝播媒体としてよいが、これらに限定されない。限定ではなく、一例として、コンピュータで読み取り可能な媒体はコンピュータ記憶媒体および通信媒体を含み得る。
コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール又は他のデータのような情報を格納するための方法又は技術において実現される、揮発性又は不揮発性、取り外し可能又は取り外し不可能な媒体を含んでいる。コンピュータ記憶媒体は、命令実行システムによってアクセス可能な所望の情報を格納するために使用されることができる、RAM、ROM、EEPROM、フラッシュメモリ、他のメモリ技術、CD−ROM、DVDまたは他の光学的ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイスまたは他の媒体を含む。たとえば、紙または他の媒体を光学的にスキャンすることによってプログラムを電子的に入力し、ついでコンパイルし、解釈し、さもなければ、必要であれば、適当な方法で処理し、ついでコンピュータメモリに格納するようにできるので、コンピュータで使用可能なまたはコンピュータで読み取り可能な媒体は、プログラムが印刷された紙または他の適当な媒体であり得ることに注意されたい。
通信媒体は、典型的には、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、または搬送波もしくは他の移送メカニズムのような変調されたデータ信号における他のデータを具体例として含み、任意の情報伝達媒体を含む。「変調されたデータ信号」との用語は、信号中の情報をエンコードするようにセットされ、または変化する特徴を1つまたは2つ以上有する信号を意味する。限定でなく一例として、通信媒体は、有線のネットワーク、又は直接の有線接続のような有線の媒体及び、音響、RF、赤外線、及び他の無線媒体などの無線の媒体を含む。上記の何れの組み合わせも、コンピュータ読み取り可能な媒体の範囲に含まれる。
主題がコンピュータで実行可能な命令の一般的なコンテキストで実現される場合、実施形態は、1つまたは2つ以上のシステム、コンピュータ、または他のデバイスによって実行されるプログラムモジュールを含むことができる。一般に、プログラムモジュールは、特定のタスクを実行しまたは特定の抽象データ型を実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラムモジュールの機能を、種々の実施形態で所望されるように組み合わされ、または分配されるであろう。
図1は、状態分離および管理システムを備えたシステムを示す実施形態100の図である。実施形態100は、アプリケーションのコンテキスト又は状態に基づいて、アプリケーションの構成を格納及び管理することができる。
図1は、システムの機能的コンポーネントを図示している。いくつかの場合、コンポーネントはハードウェアコンポーネント、ソフトウエアコンポーネント、又はハードウェア及びソフトウェアの組み合わせであってもよい。コンポーネントのいくつかはアプリケーションレベルのソフトウェアであり、他方で、他のコンポーネントがオペレーティングシステムレベルのコンポーネントであってもよい。いくつかの場合、ある1つのコンポーネントから他のコンポーネントへの接続は、2つまたは3つ以上のコンポーネントが単一のハードウェアプラットフォーム上で動作するような密接した接続とすることができる。他の場合、接続は、長距離に亘るネットワーク接続を介して確立してもよい。各実施形態は、異なるハードウェア、ソフトウェア、および相互接続構造を使用して、記述された機能を実現することができる。
実施形態100は、アプリケーションのための複数状態実行システムを形成するだろう機能的要素の一例である。アプリケーション102の異なる構成104は、アプリケーションが実行されるコンテキストに基づく実行システム106の形態で実行されるであろう。
種々の実施形態は、アプリケーションのために実行され得る異なるレベルの構成を有することができる。例えば、オペレーティングシステム環境内でインストールされ、実行されるアプリケーションは、構成を定義する一組の構成ファイルを有するものとすることができる。異なるセットの構成を用いて、構成ファイルに関連するコンテキストに基づくアプリケーション102を立ち上げてもよい。
他の例では、アプリケーションは仮想環境内で実行でき、そして、先に例示した構成ファイルに加えて、レジストリ設定、ダイナミックにリンクされたライブラリ、および多くの他の構成要素をコンテキスト間で変更してもよい。そのような仮想環境は、仮想マシン環境又は仮想アプリケーション環境とすることができる。仮想環境を用いてアプリケーションを実行する場合、非常に広範で豊富な構成要素のセットをコンテキスト間で変更させてもよい。
アプリケーション102は、コンピューティング環境内で実行される、いかなる種類の実行可能プログラムまたはプログラムの組、サービスまたは他のオペレーションとすることができる。多くの場合、アプリケーションは、オペレーティングシステム環境内で直接的に実行され、またはスクリプト、サブルーチン、または他のコンポーネントのようなアプリケーション環境内で実行されることのできる、ファイルのような実行可能要素の集りを有していてもよい。
多くのアプリケーション102は、他のアプリケーションまたはサービスと関連して動作することができる。例えば、アプリケーション102は、インターネットを介してアクセスされるウェブサービスで動作することができる。このような例では、アプリケーションはいくつかの動作を実行してもよく、ウェブサービスは、ユーザ体験を伝えるために他の動作を実行してもよい。
他の例では、アプリケーション102は、それ単独で、又は「プラグイン」されるか若しくは少なくとも部分的に第1のアプリケーションと統合された他のアプリケーションと共に、動作可能とすることができる。一例として、文書出版アプリケーションが動作中であるときに、ツールバー、メニューアイテム又は文書出版アプリケーションへの他のリンクを表示することのできる文書処理プログラムのようなアプリケーションとすることができる。文書出版アプリケーションが利用可能でないときは、文書処理アプリケーションは1つのユーザインタフェースを持ってもよいが、しかし文書出版アプリケーションであるときは、文書処理アプリケーションは第2のユーザインタフェースおよび利用可能な機能の第2のセットを持つことができる。
このような例では、アプリケーション102は、単独で動作する場合には、状態又はコンテキストに対して定義される1つの構成104を持ち、第2のアプリケーションで動作する場合には、第2の状態又はコンテキストに対して定義される第2の構成104を持つことができる。各構成104は、一組のポリシー110に関連して、変化監視システム108を使用して、個別に定義および管理することができる。
変更監視システム108は、アプリケーション構成104に対する変更を検出し、および格納することができる。変化監視システム108は、変化を検出し、変化を分類し、アプリケーション102が実行中である、またはこれから実行する1つまたは2つ以上のコンテキストに適用可能であるか否かを決定することができる。どのように変化及びコンテキストを分類するか、および変化をどのように処理するかの定義をポリシー110内に定めることができる。
実施形態100は、別個のアプリケーション102および一組の構成104を示す。いくつかの実施形態では、構成104は、アプリケーション102内で定められ得るデフォルト構成の冒頭(top)で実現され得る一組のファイルまたは設定として格納されることができる。このような実施形態において、構成104は、「デルタ(delta:差分)」ファイル、すなわちデフォルトからの変化グループとみることができる。
他の実施形態において、アプリケーションは、構成104の一つを含むパッケージとして定義してもよい。異なるアプリケーションパッケージが各構成について作成される。構成内の設定が広く行きわたる場合か、またはアプリケーションが開始したときに構成の変化が使用される場合に、このような実施形態を用いることができる。このような構成の変化の例は、初期スタートアップの間、アプリケーションによって使用されるオプションを定義するレジストリ設定であってよい。
実行システム106は、アプリケーション102を実行することができる、任意の環境、ワークスペース、またはメカニズムであってよい。いくつかの実施形態において、実行システム106は、例えば変化監視システム108を含む、多くの他のアプリケーションおよびサービス動作を実行するオペレーティングシステム環境とすることができる。いくつかの実施形態において、実行システム106は仮想マシンまたは仮想アプリケーション環境などの仮想環境であってよい。さらに他の例では、実行システム106は、アプリケーション102を実行する別個のハードウェアプラットフォームとすることができる。
実施形態100の構成は、いかなる種類のコンピューティング構成であってもよい。いくつかの実施形態において、実施形態100に図示されるコンポーネントの多くは、パーソナルコンピュータまたはサーバコンピュータのような単独のハードウェアプラットフォーム上で実行することができる。他の実施形態において、いくつかのコンポーネントはあるひとつのハードウェアプラットフォーム上で実行することができる一方、他のコンポーネントは、別個のハードウェアプラットフォーム上で実行することができる。このような実施形態のうちのいくつかは、多くの異なるハードウェアプラットフォームを使用して実施形態100を実現することができる。そのような実施形態は、クロスマシン(cross machine)構成と称することができる。
いくつかのクロスマシン構成において、実施形態100のコンポーネントのいくつかは、仮想マシンとして実行され、または仮想アプリケーション環境内で操作されることができる。仮想マシンは、ハードウェアプラットフォームのソフトウェアシミュレーションとすることができ、オペレーティングシステムを含み、および仮想マシンが別個の専用ハードウェアプラットフォームであるかのように機能することができる。
アプリケーション仮想化によって、全ての共有されたリソースのアプリケーション固有のコピーを作成することができる。各アプリケーションは、レジストリエントリ、ダイナミックにリンクされたライブラリ、及びアプリケーションとパッケージングされ得る他のオブジェクトのような潜在的に共有されたリソースの別個の構成を有することができる。パッケージはキャッシュで実行され、仮想的アプリケーションを作り出すことができる。仮想的アプリケーションが採用される場合、これら共有されたリソース自体のコピーを用いることができる。
コンテキストマネージャ112は、アプリケーションが動作中または将来動作するコンテキストを決定することができる。コンテキストマネージャ112は、アプリケーション102に利用可能である多くの異なるリソースの存在、構成、および他のパラメータを監視することができる。コンテキストマネージャ112は、変化監視システム108によって使用され得るアプリケーションに対する状態を決定して、構成を適切に格納することができる。コンテキストマネージャ112は、状態又はコンテキストに基づいて種々の構成の間で選択をすることができるアプリケーションランチャ126に対する状態を定義することができる。
コンテキストマネージャ112は、システムの種々の側面を継続的に監視するアプリケーションまたはサービスとすることができる。いくつかの場合では、このようなコンテキストマネージャ112は単一のハードウェアプラットフォームで動作し、種々の条件を監視することができる。ハードウェアプラットフォームは、アプリケーション102が実行され得る同じハードウェアプラットフォームであってよい。他の実施形態では、コンテキストマネージャ112は、アプリケーションが実行されるハードウェアプラットフォームから遠隔動作するサービスとしてもよい。
コンテキストマネージャ112は、アプリケーションが動作中または将来動作する状態についての種々の情報、メタデータ、およびパラメータを収集することができる。コンテキストマネージャ112はポリシー110内で用いることのできる任意の適切な情報を収集して種々の形態で構成を取り扱うことができる。異なる実施形態によって、異なる組の情報およびメタデータを収集して現在の状態を決定することができる。
コンテキストメタデータの例として、仮想アプリケーション114が存在するか又は存在しないこと、種々の仮想マシン116の存在、オペレーティングシステム118の存在および構成、種々の他のアプリケーション120およびネットワークサービス122の存在および構成、および他の状態情報124を含むことができる。他の状態情報は、アプリケーションが動作するセッション、ユーザまたはデバイスのグループ内の要素であること、または他のパラメータとすることができる。
他の状態情報124は、セッションについての情報を含むことができ、それはセッションについてのメタデータを含むことができる。例えば、状態情報124は、2つ若しくは3つ以上の特定のデバイス若しくはユーザを接続するセッション、又は2つ若しくは3つ以上の一般的なデバイス若しくはユーザを接続するセッションとすることができる、セッションの型を含むだろう。セッションメタデータは、セッション内で使用されるプロトコル又はセッションを確立するために使用されるアドレス若しくはポートのような種々の接続パラメータを含むこともできる。いくつかの実施形態では、アプリケーションは他のアプリケーションまたはサービスと共にいくつかの異なる種類のセッションを作り、そしてセッションの存在、不存在、または構成をアプリケーションに対するコンテキストの一部として定義することができる。
他の相互作用コンポーネントの存在および構成によって、アプリケーションに対するコンテキストの一部を定義することができる。アプリケーション102は、仮想アプリケーション114、仮想マシン116、アプリケーション120、およびネットワークサービス112と異なるキャパシティで相互作用することができる。いくつかの場合、アプリケーションの実行または動作は、アプリケーション102の外部の種々の相互作用コンポーネントの存在、不存在、または構成に影響されるだろう。
アプリケーションが相互作用するコンポーネントの存在、不存在、及びいくつかの場合では構成によって、アプリケーションに対する新しい状態を定義することができる。例えば、あるアプリケーションは、他のアプリケーションまたはサービスに対するユーザインタフェースコンポーネントを追加又は除去することができる。他のアプリケーションが存在し、構成される場合、最初のアプリケーションは、ユーザインタフェースコンポーネントのあるセットまたは他のアプリケーションにリンクされる機能を提供し、または他のアプリケーションによって提供される機能を使用することができる。他のアプリケーションが存在せず、又は異なって構成される場合、最初のアプリケーションは代替のユーザインタフェース又は機能を提供してもよい。
アプリケーションが相互作用するコンポーネントは、仮想コンポーネントであり得る。いくつかの場合、アプリケーションは、実行システム106を使用して仮想的に実行され得るし、他方のアプリケーションが仮想的に実行され得る。双方のアプリケーションが仮想的に実行されるので、各アプリケーションは、デフォルト構成において互いに相互作用なしに動作することができる。しかしながら、双方のアプリケーションが動作する場合、各アプリケーションは、各アプリケーションの間でデータ、コントロールまたは他の信号を通過させるように構成することができる。そのような場合、各アプリケーションは、双方のアプリケーションが仮想的におよび別個に動作する場合であっても、相互作用時点を定義し、および相互作用が発生することができるように指定された構成104を有するようにしてもよい。そのような場合、双方のアプリケーションが、同時にまたは順次に開始されて、それらアプリケーションが相互作用するようにすることができる。
アプリケーション102と同じオペレーティングシステム内でインストールされ、動作するコンポーネントに比べて、仮想コンポーネントは、異なる構成オプションを示す。一般に、仮想コンポーネントはそれとは知られずに(agnostically)他のコンポーネントに作用し、および特定の方法で構成されて、慣例のオペレーションシステム環境や他の仮想環境を含む、別個の環境において他のアプリケーションと相互作用するようにしてもよい。
コンテキストは、オペレーティングシステム118の種々のパラメータまたは構成を含むだろう。例えば、コンテキストは、オペレーティングシステムの種類、特定のバージョン、および元々のオペレーティングシステムについての他のパラメータのようなオペレーティングシステムについての一般的な情報を含むことができる。コンテキストは、レジストリセッティング、ダイナミックにリンクされたライブラリのようなファイルの存在および構成、オペレーティングシステムによって用いられて種々のハードウェア周辺デバイスおよびインタフェースにアクセスするための設定、および他の種類のパラメータのような、オペレーティングシステム環境に対する追加または変更をも含むことができる。
いくつかの実施形態では、アプリケーションが開始されるときに構成104を適用することができる。いくつかの実施形態によれば、アプリケーション102が実行を開始した後に構成104がアプリケーション102に適用されるようにすることも可能とすることができる。
いくつかの実施形態は、実行開始の後に、いくつかの構成104を適用可能とすることができるが、他の構成104は、アプリケーションが開始したときにのみ適用されるようにできる。そのような実施形態では、2つまたは3つ以上の構成104をアプリケーション102の単独のインスタンスに適用してもよい。例えば、全社的な構成は、アプリケーションに対する全社的なデフォルト設定を設定するよう定義してもよい。ユーザの個人的好みに対して全社的な構成をさらに調整する、又は調整しないユーザ固有の設定を含む第2の構成を適用してもよい。
他の例において、アプリケーション102は、いくつかの他のアプリケーションまたはネットワークサービスと相互作用するようにしてもよい。各ネットワークサービスまたはアプリケーションを別個の構成104内で定義して、アプリケーション102が開始したときに、多くの異なる構成104が適用され、各構成により別個のアプリケーションまたはサービスがアクセスされるようにしてもよい。
アプリケーション102は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)又はインターネットを含む他のネットワークを介して利用可能である種々のネットワークサービス122と相互作用するようにしてもよい。多くの場合、ウェブサービスを用いて、クエリ及び他の操作又はサービスに応答してデータを提供するようにしてもよい。構成104は、ウェブサービス又は他のネットワークサービス122が存在するときに、アプリケーション102を実行するために定義してもよい。そのような構成は、ポート、プロトコル、アドレス、および他の通信構成情報、さらにアプリケーション102を通じて利用可能な特定の機能を構成することも含めることができる。
構成104は、ユーザインタフェースコンポーネント、リンク、又はネットワークサービス122が特定のインスタンスにおいてアクセスされ得るようにした他の構成可能なアイテムを含むようにしてもよい。
例えば、文書処理プログラムは、ネットワークサービス122として提供されるシソーラスサービスを使用してもよい。シソーラスサービスが利用可能である場合、文書処理プログラムは、シソーラスサービスにアクセスするためのメニュー選択などのユーザインタフェースの形態でシソーラスサービスへのリンクを有するようにしてもよい。シソーラスサービスが選択された場合、クエリはネットワークサービスに送付され、応答が受信される。その応答は、シソーラスサービスが文書処理プログラムの一部であるかのように文書処理プログラム内に表示されることができる。そのような場合、ユーザは、ネットワークサービスが呼び出されたことを認識しない。シソーラスサービスが利用可能でないときに、構成104はローカルバージョンを置き換え、シソーラス機能を、非アクティブにし、不可視にし、さもなくばアクセス不可能にすることができる。
コンテキストマネージャ112は、アプリケーションが現在動作している又はこれから動作するコンテキストを定義する。コンテキストは、ポリシー110と関連して使用されて、アプリケーションランチャ126がアプリケーション102を開始するときに呼び起こされる特定の構成104を作成する。コンテキストマネージャ112はアプリケーションランチャ126によって使用される現在のコンテキストの検出をして、適切な構成104又は構成104のグループを選択するようにしてもよい。
アプリケーションが実行するコンテキストは、ポリシー110によって定義することができる。コンテキストは状態の分類又は種類とすることができる。多くの場合、状態はいくつかのコンテキストを有する。例えば、アプリケーション102は、仮想マシン116上で動作する他のアプリケーションと相互作用するのみならず、ネットワークサービス122と相互作用してもよい。仮想マシン116の存在によって、仮想マシンコンテキストを定義し、およびネットワークサービスの存在によってネットワークを動作可能にするコンテキストを定義することができる。いくつかの場合、2つまたは3つ以上の異なるコンテキストを適用してもよい。
複数の構成104がアプリケーション102の単一インスタンスに適用される場合、複数の独立したコンテキストを特定のインスタンスに対して定義することができる。上述の例では、仮想マシンコンテキスト及びネットワーク可能化コンテキストを個別的におよび独立して定義することができる。
単一の構成104がアプリケーション102のインスタンスに適用される場合、いくつかの異なる要素の結合であるコンテキストを定義することができる。上述の例では、仮想マシンおよびネットワーク可能化されたサービスを含む単一のコンテキストを定義することができ、単一の構成104を作成することができる。個別の構成を、ネットワーク可能化サービスなしに仮想マシンに対して作成し、および仮想マシンなしにネットワーク可能化サービスに対して作成することができる。
ポリシー110によって、コンテキストの種類、およびコンテキストに基づいてアプリケーション構成に対する変化がどのように取り扱われるべきかを定義することができる。例えば、いくつかの変化が放棄される一方で、他の種類の変化が保存されるようにしてもよい。複数の独立した構成が使用される場合、ポリシーによって、ある1つのコンテキスト内に格納されるが、他のコンテキストには格納されない1つの種類の変化を定義することができる。
図2は、コンテキスト依存構成で動作するための方法を示す実施形態200のフローチャートである。実施形態200は、アプリケーションランチャ126、コンテキストマネージャ112、変化監視システム108、及び実行システム106を含む実施形態100のコンポーネントによって実行されることのできる種々の動作の一例である。
他の実施形態は、異なるシーケンス、追加的な又は少ないステップ、及び類似の機能を達成するための異なる名称(nomenclature)又は用語を使用することができる。いくつかの実施形態では、同期又は非同期のいずれかの形態で、種々の動作又は1組の動作を他の動作と並行して実行することができる。ここで選択されたステップは、動作のいくつかの原理を、単純化された形態で図示するために選ばれたものである。
実施形態200は、アプリケーションを開始し、アプリケーションの構成に対する変化を検知し、および後の再利用のために構成の格納での変化を格納するための方法を図示する。
アプリケーションをブロック202で開始するためにコマンドを受信することができる。多くの場合、アイコンを選択したり、コマンドライン上にコマンドを入力したりするようなユーザ入力によって、コマンドを開始することができる。他の場合、アプリケーションを立ち上げるコマンドは、他のアプリケーション又はネットワークサービスを含むサービスによって開始してもよい。
アプリケーションに対するコンテキストは、ブロック204において決定することができる。コンテキストをポリシーにおいて定義し、および特定のコンテキストに対してアプリケーションに対する構成パラメータのセットの形態を作成することができる。コンテキストを任意の方法で決定することができる。いくつかの実施形態では、実施形態100内のコンテキストマネージャ112のようなコンテキストマネージャを用いて、現在のまたは意図されたコンテキストを決定してもよい。
コンテキストは現在のコンテキスト又は意図されたコンテキストとすることができる。現在のコンテキストは、アプリケーションが相互作用する種々のパラメータ、システムおよびサービスの現在の状態を検知することによって決定することができる。意図されたコンテキストは、アプリケーションが実行されているときに存在することのできるコンテキストとすることができる。
互いに相互作用するいくつかのアプリケーションが順次または実質的に同時に立ち上げられる場合に、意図されたコンテキストを使用することができる。立ち上げられたアプリケーションのグループにおける各アプリケーションを、他のアプリケーションと動作するように構成してもよいが、全てのアプリケーションが開始され、互いに接続が形成されているときに、そのようなコンテキストは存在することができる。
ブロック206においてコンテキストに対する定義された構成が無い場合、ブロック208においてデフォルト構成を選択することができる。ブロック206において構成がコンテキストに対して定義されている場合、その構成をブロック210においてロードすることができる。
いくつかの実施形態において、2つまたは3つ以上の構成が、コンテキストに基づいてロードされ適用される。そのような実施形態では、種々の構成が順次に適用され、適用された最後の構成が以前の構成の設定を上書きすることが可能である。
いくつかの実施形態が優先順位の手法を適用して、2つ以上の構成がパラメータを設定する場合に、どの構成のどのパラメータが適用されるかを決定するようにしてもよい。順次の優先順位の手法において、最後に適用される構成が優位を占める。しかしながら、他の手法では異なるメトリクス(metrics)または規則を適用することができる。そのような規則は一組のポリシーの形態で定義することができる。
構成が一旦定義されると、ブロック212において、構成を使用して、アプリケーションを実行することができる。
複数の構成が使用される多くの実施形態において、アプリケーションを、専用の仮想マシンのような仮想環境においてまたはアプリケーション仮想化環境内で実行することができる。アプリケーションを仮想化することによって、多くの他のアプリケーションを伴う従来のオペレーティングシステム環境内でアプリケーションが動作する場合よりも簡単な方法で多くの設定を変更しまたは構成することができる。例えば、仮想環境によって、レジストリ設定またはダイナミックにリンクされたライブラリを動作可能にしてもよい。このようにしなければ、これらレジストリ設定またはダイナミックにリンクされたライブラリは、他のアプリケーションと共有化されて仮想アプリケーションに対して変更される。
ブロック214において変化が検出された場合、アプリケーションのコンテキストに基づいて構成設定を作成し、または修正するプロセスを開始することができる。
ブロック216においてコンテキストを分類することができる。いくつかの実施形態では、特定のインスタンスがいくつかの異なるコンテキストを含み、そのコンテキストの各々は他のコンテキストからは独立している、1つ又は少数のパラメータを有することができる。他の実施形態では、単一のコンテキストを、多くの異なるパラメータ又は記述を含み得る任意のシチュエーションに対して定義することができる。ポリシーのセットによって、コンテキストを定義してもよい。
ブロック218において変化を種類によって分類することができる。変化の種類は、変更が適切に処理されるように、ポリシーにおいて定義されるような変化の一般的な分類とすることができる。
ブロック220における各コンテキスト分類に対して、後続のブロックにおいて変更を処理することができる。実施形態200は、2つまたは3つ以上のコンテキストが特定のシチュエーションに対して存在する実施形態の一例である。他の実施形態では、単一のコンテキストを定義し、およびブロック220のフォーループ(for−loop)をコンテキストに対して一回実行する。
ブロック222において変更の種類がどのように取り扱われるかについてポリシーが規定しない場合、ブロック224においてデフォルトのポリシーを適用することができる。そうでなければ、現在のポリシーを適用してもよい。
ブロック226において変化が保存されるべきか無視されるべきかを現在のポリシーまたはデフォルトのポリシーにより記述することができる。ブロック226において変化が無視されるべき場合、ブロック230において変化は保存されない。ブロック226で変化が保存されるべきである場合、ブロック228において構成はコンテキストに対して更新される。
次のコンテキストが存在する場合、ブロック220において、かかる次のコンテキストについてプロセスが継続する。ブロック220において、コンテキストの各々が処理された場合、アプリケーションの更なる実行のために、処理はブロック212に戻る。
実施形態200は、コンテキストを決定し、およびコンテキストに基づいてアプリケーションの変化を保存するプロセスの一例である。同一のコンテキストにおいてアプリケーションが再開始される場合、構成は呼び出され、アプリケーションは変化に従って挙動する。
主題の上述した記述は例示及び記述の目的のために提示されたものである。主題を開示されたままの形態に徹底することや制限することを意図しておらず、他の変更および変形は上記教示の観点から可能であろう。実施形態は、本発明の原理とその実際の応用とを、当業者が、熟慮した特定の用途に適合するように種々の実施形態および種々の変更で発明を最もよく利用できることを可能にする。最もよく説明するために選択され、記述され、それにより、添付された請求項は、従来技術によって限定されることを除けば、他の代替的実施形態を含むよう解釈されることを意図している。

Claims (15)

  1. 第1のデバイス上で、第1の構成及び第1の状態を有するアプリケーションを実行することと、
    前記アプリケーションに対する変化であって、第2の状態を定義する変化を検出することと、
    前記第2の状態に対して、ユーザコンテキスト又はマシンコンテキストではない第1のコンテキストを決定することと、
    前記第1のコンテキストに対して定義されたポリシーを参照することと、
    前記ポリシー内で定義されたように前記第1のコンテキストに基づいて前記変更を格納することとを具えることを特徴とする方法。
  2. 前記コンテキストはセッション特定のコンテキストを具えることを特徴とする請求項1に記載の方法。
  3. 前記コンテキストはクロスマシンコンテキストを具えることを特徴とする請求項1に記載の方法。
  4. 前記クロスマシンコンテキストは、少なくとも1つの仮想マシンを具えることを特徴とする請求項3に記載の方法。
  5. 前記アプリケーションは複数のリソースを具え、前記変化は前記リソースの少なくとも1つに影響を与えることを特徴とする請求項1に記載の方法。
  6. 前記複数のリソースのうちの1つは、第2のアプリケーションであることを特徴とする請求項5に記載の方法。
  7. 前記アプリケーションは第1のハードウェアプラットフォーム上で実行され、前記リソースのうちの1つは第2のハードウェアプラットフォーム上で実行されることを特徴とする請求項5に記載の方法。
  8. 前記アプリケーションは、第1の仮想コンテキストにおいて実行されることを特徴とする請求項5に記載の方法。
  9. 前記複数のリソースのうちの少なくとも1つは第2の仮想コンテキスト内にあることを特徴とする請求項8に記載の方法。
  10. 前記第1の仮想コンテキストはアプリケーション仮想化コンテキストであることを特徴とする請求項9に記載の方法。
  11. 前記第2の仮想コンテキストはアプリケーション仮想化コンテキストであることを特徴とする請求項10に記載の方法。
  12. 前記第2の仮想コンテキストは仮想マシンコンテキストであることを特徴とする請求項10に記載の方法。
  13. 前記第1の仮想コンテキストは第1の仮想マシンコンテキストであることを特徴とする請求項8に記載の方法。
  14. 複数のコンテキストのうちの少なくとも1つに基づいて変更の実行を備えるポリシーと、
    前記複数のコンテキストにおいて第1のアプリケーションを実行するよう構成された実行システムと、
    前記第1のアプリケーションに変化がなされたことを決定し、
    前記変化に対して少なくとも1つのコンテキストを決定し、
    前記少なくとも1つのコンテキストが現在のコンテキストであるときに前記変化を格納して前記変化を実行できるように構成された変化監視システムとを備えたことを特徴とするシステム。
  15. 前記複数のコンテキストは、
    セッション特定のコンテキストと、
    セッションの種類特定のコンテキストと、
    クロスマシンコンテキストと、
    デュアルアプリケーションコンテキストとからなるグループの少なくとも1つを備えることを特徴とする請求項14に記載のシステム。
JP2011521184A 2008-07-28 2009-07-16 アプリケーション変更に対する状態分離 Active JP5588440B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/181,315 US8024732B2 (en) 2008-07-28 2008-07-28 State separation for application changes
US12/181,315 2008-07-28
PCT/US2009/050895 WO2010014431A2 (en) 2008-07-28 2009-07-16 State separation for application changes

Publications (2)

Publication Number Publication Date
JP2011529607A true JP2011529607A (ja) 2011-12-08
JP5588440B2 JP5588440B2 (ja) 2014-09-10

Family

ID=41569680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011521184A Active JP5588440B2 (ja) 2008-07-28 2009-07-16 アプリケーション変更に対する状態分離

Country Status (10)

Country Link
US (4) US8024732B2 (ja)
EP (1) EP2321720B1 (ja)
JP (1) JP5588440B2 (ja)
KR (1) KR101618901B1 (ja)
CN (1) CN102105861B (ja)
AU (1) AU2009276851B2 (ja)
BR (1) BRPI0915636B1 (ja)
CA (2) CA2978284C (ja)
RU (1) RU2490695C2 (ja)
WO (1) WO2010014431A2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225134B2 (en) * 2007-04-06 2012-07-17 Cisco Technology, Inc. Logical partitioning of a physical device
US8024732B2 (en) 2008-07-28 2011-09-20 Microsoft Corporation State separation for application changes
US8429395B2 (en) 2009-06-12 2013-04-23 Microsoft Corporation Controlling access to software component state
US20110219365A1 (en) * 2010-03-05 2011-09-08 Microsoft Corporation High and low value application state
CN102238208A (zh) 2010-04-29 2011-11-09 国际商业机器公司 用于激活虚拟方案中的虚拟机的方法和装置
US8484569B2 (en) 2010-06-30 2013-07-09 International Business Machines Corporation Saving and restoring collaborative applications in context
US9116728B2 (en) * 2010-12-21 2015-08-25 Microsoft Technology Licensing, Llc Providing a persona-based application experience
US9176742B2 (en) * 2010-12-27 2015-11-03 Microsoft Technology Licensing, Llc Converting desktop applications to web applications
US8813167B2 (en) * 2010-12-30 2014-08-19 Apple Inc. Dynamic device configuration using predicates
KR101595527B1 (ko) * 2011-03-22 2016-02-22 한국전자통신연구원 넷스토어 기반의 서비스 네트워크 동적 구성 시스템 및 서비스 네트워크 동적 구성 방법
US8663018B2 (en) 2011-06-29 2014-03-04 Amazon Technologies, Inc. Data locker synchronization
WO2013003556A1 (en) 2011-06-29 2013-01-03 Amazon Technologies, Inc. Data locker synchronization
US20130091197A1 (en) 2011-10-11 2013-04-11 Microsoft Corporation Mobile device as a local server
US20130111372A1 (en) * 2011-10-31 2013-05-02 General Electric Company Preference management methods and apparatus
CN102520944B (zh) * 2011-12-06 2014-07-02 北京航空航天大学 Windows应用程序虚拟化的实现方法
WO2013103381A1 (en) 2012-01-06 2013-07-11 Ge Intelligent Platforms, Inc. Method and apparatus for network-based testing
US9092247B2 (en) * 2012-03-29 2015-07-28 Microsoft Technology Licensing, Llc Persistent and resilient worker processes
CN102929650A (zh) * 2012-07-11 2013-02-13 北京金山安全软件有限公司 一种应用程序运行环境独立配置的方法、装置及移动设备
US9589039B2 (en) * 2012-12-13 2017-03-07 Sybase, Inc. Synchronization of metadata in a multi-threaded system
US9413784B2 (en) * 2013-09-06 2016-08-09 Microsoft Technology Licensing, Llc World-driven access control
US9572104B2 (en) * 2015-02-25 2017-02-14 Microsoft Technology Licensing, Llc Dynamic adjustment of user experience based on system capabilities
US9734000B2 (en) 2015-06-18 2017-08-15 Microsoft Technology Licensing, Llc Seamless transitions between applications and devices
CN105677421B (zh) * 2016-01-06 2020-01-03 惠州Tcl移动通信有限公司 一种移动终端的桌面启动器的定制方法及系统
US11314546B2 (en) * 2016-11-18 2022-04-26 Data Accelerator Ltd Method and system for executing a containerized stateful application on a stateless computing platform using machine learning
CN111427594B (zh) * 2016-09-22 2024-04-09 华为技术有限公司 应用程序运行方法及装置
US10452410B2 (en) 2016-10-25 2019-10-22 International Business Machines Corporation Context aware user interface
CN106777266B (zh) * 2016-12-28 2020-05-15 重庆可兰达科技有限公司 一种基于预缓存提升客户端开屏展现率的方法
US10810009B2 (en) * 2017-07-14 2020-10-20 Microsoft Technology Licensing, Llc Visualizations of software project and contributor activity
JP7102756B2 (ja) * 2018-02-02 2022-07-20 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN110727430B (zh) * 2019-09-30 2023-08-25 奇安信科技集团股份有限公司 由服务器执行的数据处理方法、装置、系统、介质
US11789712B2 (en) * 2021-09-06 2023-10-17 Jpmorgan Chase Bank, N.A. Data configuration deployment framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1686465A2 (en) * 2005-01-26 2006-08-02 Microsoft Corporation System and method for a context-awareness platform
WO2007020735A1 (ja) * 2005-08-18 2007-02-22 Matsushita Electric Industrial Co., Ltd. 競合解決装置
JP2008509475A (ja) * 2004-08-03 2008-03-27 ソフトリシティ インコーポレイテッド コンテキストポリシー制御によるアプリケーション間の関連付けの制御のためのシステムおよび方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63104144A (ja) * 1986-10-21 1988-05-09 Nec Corp 高速コンテクスト切替装置
JPH02173828A (ja) * 1988-12-27 1990-07-05 Nec Corp 割込み処理方式
US5212789A (en) * 1989-10-12 1993-05-18 Bell Communications Research, Inc. Method and apparatus for updating application databases used in a distributed transaction processing environment
EP0813707B1 (en) * 1995-03-06 2005-11-09 Intel Corporation A computer system with unattended on-demand availability
US6249291B1 (en) * 1995-09-22 2001-06-19 Next Software, Inc. Method and apparatus for managing internet transactions
TW444165B (en) * 1998-05-12 2001-07-01 Primax Electronics Ltd Hot plug and play universal serial bus switch device and control method
US6961681B1 (en) * 2000-09-12 2005-11-01 Microsoft Corporation System and method providing virtual applications architecture
US7289102B2 (en) * 2000-07-17 2007-10-30 Microsoft Corporation Method and apparatus using multiple sensors in a device with a display
US20020087734A1 (en) * 2000-12-29 2002-07-04 Marshall Donald Brent System and method for managing dependencies in a component-based system
US7243267B2 (en) * 2002-03-01 2007-07-10 Avaya Technology Llc Automatic failure detection and recovery of applications
US20040153973A1 (en) * 2002-11-21 2004-08-05 Lawrence Horwitz System and method for automatically storing and recalling application states based on application contexts
US7321965B2 (en) * 2003-08-28 2008-01-22 Mips Technologies, Inc. Integrated mechanism for suspension and deallocation of computational threads of execution in a processor
JP2005165847A (ja) * 2003-12-04 2005-06-23 Fujitsu Ltd ポリシールールシナリオ制御装置及び制御方法
EP1562113B1 (en) * 2004-02-03 2018-05-23 Sap Se An application management system and a method of managing an application
US7606973B2 (en) * 2004-09-08 2009-10-20 International Business Machines Corporation System and method for pervasive computing with a portable non-volatile memory device
KR100715846B1 (ko) * 2005-02-14 2007-05-10 삼성전기주식회사 퍼베이시브 환경에서 Subtyping 기반의 탄력적인서비스 구성을 이용하는 응용 프로그램 재구성 방법 및 그시스템
US20070033382A1 (en) * 2005-08-05 2007-02-08 International Business Machines Corporation Dynamic configuration of terminals for professional or customer usage
US7434218B2 (en) * 2005-08-15 2008-10-07 Microsoft Corporation Archiving data in a virtual application environment
US7716461B2 (en) * 2006-01-12 2010-05-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
RU2295752C1 (ru) * 2006-03-20 2007-03-20 Закрытое акционерное общество "1С Акционерное общество" Способ управления синхронизацией обновлений программного обеспечения
US8001528B2 (en) * 2006-03-30 2011-08-16 Microsoft Corporation Organization of application state and configuration settings
US20090204966A1 (en) * 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device
US8024732B2 (en) * 2008-07-28 2011-09-20 Microsoft Corporation State separation for application changes
US8381222B2 (en) * 2009-04-01 2013-02-19 International Business Machines Corporation Policy driven automation—specifying equivalent resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008509475A (ja) * 2004-08-03 2008-03-27 ソフトリシティ インコーポレイテッド コンテキストポリシー制御によるアプリケーション間の関連付けの制御のためのシステムおよび方法
EP1686465A2 (en) * 2005-01-26 2006-08-02 Microsoft Corporation System and method for a context-awareness platform
JP2006209774A (ja) * 2005-01-26 2006-08-10 Microsoft Corp コンテキストアウェアネスプラットフォームのためのシステムおよび方法
WO2007020735A1 (ja) * 2005-08-18 2007-02-22 Matsushita Electric Industrial Co., Ltd. 競合解決装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200500383007; 鈴来 和久,毛利 公一,大久保 英嗣: 'データの拡散防止を実現するコンテキスト適応型ソフトウェア基盤' 情報処理学会研究報告 Vol.2004, No.17, 20040226, pp.57-64, 社団法人情報処理学会 *
JPN6014004039; John Keeney, Vinny Cahill: 'Chisel: A Policy-Driven, Context-Aware, Dynamic Adaptation Framework' Proceedings of the 4th International Workshop on Policies for Distributed Systems and Networks (POLI , 20030604, p.3-14, IEEE *
JPN6014004040; 鈴来 和久 外2名: 'データの拡散防止を実現するコンテキスト適応型ソフトウェア基盤' 情報処理学会研究報告 Vol.2004, No.17, 20040226, pp.57-64, 社団法人情報処理学会 *
JPN6014004040; 鈴来 和久,毛利 公一,大久保 英嗣: 'データの拡散防止を実現するコンテキスト適応型ソフトウェア基盤' 情報処理学会研究報告 Vol.2004, No.17, 20040226, pp.57-64, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
CA2728817A1 (en) 2010-02-04
CA2978284C (en) 2020-01-28
US8458701B2 (en) 2013-06-04
EP2321720A2 (en) 2011-05-18
US9304791B2 (en) 2016-04-05
WO2010014431A2 (en) 2010-02-04
US20130263134A1 (en) 2013-10-03
US8024732B2 (en) 2011-09-20
AU2009276851B2 (en) 2014-06-26
US8984512B2 (en) 2015-03-17
CN102105861A (zh) 2011-06-22
CA2728817C (en) 2020-03-10
KR20110038048A (ko) 2011-04-13
WO2010014431A3 (en) 2010-04-01
KR101618901B1 (ko) 2016-05-09
AU2009276851A1 (en) 2010-02-04
BRPI0915636B1 (pt) 2020-09-15
JP5588440B2 (ja) 2014-09-10
CN102105861B (zh) 2016-05-04
EP2321720B1 (en) 2019-06-26
US20150186164A1 (en) 2015-07-02
CA2978284A1 (en) 2010-02-04
RU2490695C2 (ru) 2013-08-20
RU2011103058A (ru) 2012-08-10
EP2321720A4 (en) 2011-10-26
US20100023738A1 (en) 2010-01-28
US20110302581A1 (en) 2011-12-08

Similar Documents

Publication Publication Date Title
JP5588440B2 (ja) アプリケーション変更に対する状態分離
US9880889B2 (en) Virtual application extension points
US9246992B2 (en) Virtual desktop implementation method, apparatus, and system
EP2443553B1 (en) Annotating virtual application processes
US8707417B1 (en) Driver domain as security monitor in virtualization environment
KR101836058B1 (ko) 가상화를 위한 확장 포인트 선언적 등록
US8924969B2 (en) Virtual machine image write leasing
JP2010044613A (ja) ウイルス対策方法、コンピュータ、及びプログラム
JP2009544072A (ja) アプライアンスの仮想化のための方法と装置
US20090113327A1 (en) User interface mapping modules to deployment targets
TW201407377A (zh) 用於提供存取虛擬命名空間中資源的虛擬整合呼叫
JP2014512604A (ja) 選択的ポリシーによるホストと複数のゲストとの間での構成要素伝播の実現
JP7424417B2 (ja) マルウェア解析方法、マルウェア解析装置およびマルウェア解析システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130625

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130925

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131009

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20131009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140430

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140725

R150 Certificate of patent or registration of utility model

Ref document number: 5588440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250