JP2019507920A - アクター・マイグレーション - Google Patents

アクター・マイグレーション Download PDF

Info

Publication number
JP2019507920A
JP2019507920A JP2018538165A JP2018538165A JP2019507920A JP 2019507920 A JP2019507920 A JP 2019507920A JP 2018538165 A JP2018538165 A JP 2018538165A JP 2018538165 A JP2018538165 A JP 2018538165A JP 2019507920 A JP2019507920 A JP 2019507920A
Authority
JP
Japan
Prior art keywords
runtime environment
instance
actor
target
target runtime
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
JP2018538165A
Other languages
English (en)
Other versions
JP6656388B2 (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 JP2019507920A publication Critical patent/JP2019507920A/ja
Application granted granted Critical
Publication of JP6656388B2 publication Critical patent/JP6656388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Abstract

アプリケーションのアクターのインスタンスをマイグレーションするための仕組みが提供される。方法は、開始ランタイム環境によって実行される。方法は、対象ランタイム環境の集合について取得したセキュリティ属性に基づいて、アクターのインスタンスのマイグレーションのために対象ランタイム環境の集合から対象ランタイム環境を選択することを有する。方法は、対象ランタイム環境が選択されると、選択された対象ランタイム環境へアクターのインスタンスをマイグレーションすることを有する。このような方法を実行するように構成されたランタイム環境も提供される。

Description

本書で提示される実施形態は、アプリケーションのアクターのインスタンスをマイグレーションするための方法、ランタイム環境、コンピュータプログラム及びコンピュータプログラム製品に関する。
通信ネットワークにおいて、所与の通信プロトコル、そのパラメータ及び通信ネットワークがデプロイされる物理環境について良好な性能及び容量を取得することは挑戦的でありうる。
例えば、通信ネットワーク内の所与の通信プロトコルについて良好な性能及び容量を提供する1つのパラメータは、通信ネットワーク内の少なくとも2つのランタイム環境間でアプリケーションを分散する能力である。
それゆえ、ランタイム環境は、アクターと示されるアプリケーション・モジュールが、いくつかのデバイス(各デバイスはランタイム環境を備える)にわたって分散されてデプロイされることを可能にする。大まかに言うと、アクターは、メッセージで通信する分散アプリケーションの一部としてみなされうる((2016年1月29日にアクセスされた)http://arxiv.org/abs/1008.1459参照)。アクターは、ランタイム環境にアクターのインスタンスの配置を案内するための条件を有する。ランタイム環境は、ランタイム環境の機能だけでなく他の情報を記述する属性を有する。分散アプリケーションを処理するための通信ネットワーク内のランタイム環境の現在の実装は、セキュリティについてのサポートを欠く。
アプレットのようなソフトウェア部品がランタイム環境に移動されうる環境はJava(登録商標)である。Javaは、アプレットのためのランタイム・セキュリティを提供する。Javaフレームワークによれば、アプレットは(アクセス・パーミッションとともに)署名され、ランタイム環境は実行が開始される前にアプレット及びパーミッションを検証する。しかし、Javaフレームワークは、(アプレット署名に必要な公開鍵を有する証明書のパーミッションの要件を超えて)ランタイムの信用性をアプレットが検証することを可能にしない。
それゆえ、ランタイム環境での分散アプリケーションの改良された処理が必要となる。
本書の実施形態の目的は、ランタイム環境での分散アプリケーションの処理を提供することである。
第1側面によれば、アプリケーションのアクターのインスタンスをマイグレーションするための方法が提示される。本方法は、開始ランタイム環境によって実行される。本方法は、対象ランタイム環境の集合について取得されたセキュリティ属性に基づいて、アクターのインスタンスのマイグレーションのために対象ランタイム環境の集合から対象ランタイム環境を選択することを有する。本方法は、対象ランタイム環境を選択すると、選択された対象ランタイム環境へアクターのインスタンスをマイグレーションすることを有する。
第2側面によれば、アプリケーションのアクターのインスタンスをマイグレーションするための開始ランタイム環境として動作するランタイム環境が提示される。ランタイム環境は処理回路を備える。処理回路は、対象ランタイム環境として動作するランタイム環境の集合について取得したセキュリティ属性に基づいて、アクターのインスタンスのマイグレーションのために対象ランタイム環境として動作するランタイム環境の集合から対象ランタイム環境として動作するランタイム環境をランタイム環境に選択させるように構成される。処理回路は、対象ランタイム環境として動作するランタイムを選択すると、対象ランタイム環境として動作する選択されたランタイム環境へアクターのインスタンスをランタイム環境にマイグレーションさせるように構成される。
第3側面によれば、アプリケーションのアクターのインスタンスをマイグレーションするための開始ランタイム環境として動作するランタイム環境が提示される。本ランタイム環境は、対象ランタイム環境として動作するランタイム環境の集合について取得されたセキュリティ属性に基づいて、アクターのインスタンスのマイグレーションのために対象ランタイム環境として動作するランタイム環境の集合から対象ランタイム環境として動作するランタイム環境を選択するように構成された選択モジュールを備える。本ランタイム環境は、対象ランタイム環境として動作するランタイムを選択すると、対象ランタイム環境として動作する選択されたランタイム環境へアクターのインスタンスをマイグレーションするように構成されたマイグレーション・モジュールを備える。
第4側面によれば、アプリケーションのアクターのインスタンスをマイグレーションするためのコンピュータプログラムが提示され、コンピュータプログラムは、開始ランタイム環境として動作するランタイム環境の処理回路で実行される場合に、第1側面による方法をランタイム環境に実行させるコンピュータプログラムコードを備える。
第5側面によれば、アプリケーションのアクターのインスタンスをマイグレーションするための方法が提示される。本方法は、対象ランタイム環境によって実行される。本方法は、開始ランタイム環境がアクターのインスタンスのマイグレーションのために対象ランタイム環境を選択することを可能にするセキュリティ属性を識別することを有する。本方法は、識別されたセキュリティ属性に基づいて開始ランタイム環境からアクターのインスタンスをインスタンス化するのに必要なデータを取得することを有する。本方法は、アクターのインスタンスについての対象ランタイム環境の認可ポリシーが充足される場合にアクターのインスタンスをインスタンス化することによって、アクターのインスタンスが少なくとも1つのリソース・オブジェクトへアクセスすることを可能にすることを有する。
第6側面によれば、アプリケーションのアクターのインスタンスをマイグレーションするための対象ランタイム環境として動作するランタイム環境が提示され、本ランタイム環境は処理回路を備える。本処理回路は、開始ランタイム環境として動作するランタイム環境がアクターのインスタンスのマイグレーションのために対象ランタイム環境を選択することを可能にするセキュリティ属性をランタイム環境に識別させるように構成される。本処理回路は、識別されたセキュリティ属性に基づいて開始ランタイム環境として動作するランタイム環境からアクターのインスタンスをインスタンス化するのに必要なデータをランタイム環境に取得させるように構成される。本処理回路は、アクターのインスタンスについての対象ランタイム環境として動作するランタイム環境の認可ポリシーが充足される場合にアクターのインスタンスを実行環境にインスタンス化させることによって、アクターのインスタンスが少なくとも1つのリソース・オブジェクトへアクセスすることを可能にするように構成される。
第7側面によれば、アプリケーションのアクターのインスタンスをマイグレーションするための対象ランタイム環境として動作するランタイム環境が提示される。本ランタイム環境は、開始ランタイム環境として動作するランタイム環境がアクターのインスタンスのマイグレーションのために対象ランタイム環境を選択することを可能にするセキュリティ属性を識別するように構成された識別モジュールを備える。本ランタイム環境は、識別されたセキュリティ属性に基づいて開始ランタイム環境として動作するランタイム環境からアクターのインスタンスをインスタンス化するのに必要なデータを取得するように構成された取得モジュールを備える。本ランタイム環境は、アクターのインスタンスについての対象ランタイム環境として動作するランタイム環境の認可ポリシーが充足される場合にアクターのインスタンスをインスタンス化することによって、アクターのインスタンスが少なくとも1つのリソース・オブジェクトへアクセスすることを可能にするように構成されたインスタンス化モジュールを備える。
第8側面によれば、アプリケーションのアクターのインスタンスをマイグレーションするためのコンピュータプログラムが提示され、本コンピュータプログラムは、対象ランタイム環境として動作するランタイム環境の処理回路で実行される場合に、第5側面による方法をランタイム環境に実行させるコンピュータプログラムコードを備える。
第9側面によれば、第4側面と第8側面とのうちの少なくとも1つによるコンピュータプログラムと、当該コンピュータプログラムが格納されたコンピュータ可読記憶媒体と、を備えるコンピュータプログラム製品が提示される。本コンピュータ可読記憶媒体は、非一時的コンピュータ可読記憶媒体でありうる。
好適に、これらの方法、これらのランタイム環境及びこれらのコンピュータプログラムは、アクターのインスタンスの効率的なマイグレーションを提供する。
好適に、これらの方法、これらのランタイム環境及びこれらのコンピュータプログラムは、分散アプリケーションのアクターのセキュアなマイグレーションを可能にする。分散アプリケーションのアクターのこのようなセキュアなマイグレーションは、続いて、ランタイム環境での分散アプリケーションの効率的な処理を可能にする。
第1側面、第2側面、第3側面、第4側面、第5側面、第6側面、第7側面、第8側面及び第9側面の任意の特徴は適切であるならば任意の他の側面に適用されてもよいことが留意される。同様に、第1側面の任意の利点は、第2側面、第3側面、第4側面、第5側面、第6側面、第7側面、第8側面及び/又は第9側面にそれぞれ等しく適用されてもよく、逆も同様である。包含される実施形態の他の目的、特徴及び利点は、以下の詳細な開示、添付の従属請求項だけでなく、図面からも明らかになるだろう。
一般に、特許請求の範囲で用いられるすべての用語は、本書で異なるように明示的に定義されない限り、本技術分野の通常の意味として解釈される。“要素、装置、コンポーネント、手段、ステップなど”へのすべての言及は、異なるように明示的に記載されない限り、要素、装置、コンポーネント、手段、ステップなどの少なくとも1つの例を制限なく参照すると解釈される。本書に開示される任意の方法のステップは、明示的に記載されない限り、記載されたそのままの順序で実行される必要はない。
添付の図面を参照しつつ、例示によって発明の概念が以下に記載される。
実施形態に係る通信ネットワークを説明する概略図である。 実施形態に係るアクターのインスタンスのマイグレーションを説明する概略図である。 実施形態に係るランタイム環境の機能部を示す概略図である。 実施形態に係るランタイム環境の機能モジュールを示す概略図である。 実施形態に係るコンピュータ可読手段を備えるコンピュータプログラム製品の一例を示す。 実施形態に係る方法のフローチャートである。 実施形態に係る方法のフローチャートである。 実施形態に係る方法のフローチャートである。 実施形態に係る方法のフローチャートである。
発明の概念の何らかの実施形態が示される添付の図面を参照して発明の概念が以下により十分に記載される。しかし、発明の概念は、多くの異なる形式で実施されてもよく、本書で説明される実施形態に限定されると解釈されるべきではない。それどころか、これらの実施形態は、この開示が完全であり、当業者に発明の概念の範囲を十分に伝えるために、例示によって提供される。同様の番号は明細書を通じて同様の要素を指す。破線で説明される任意のステップ又は機能はオプションとしてみなされるべきである。
図1aは、通信ネットワーク10を概略的に説明する。通信ネットワーク100は、デバイス、コンピュータ・ノード及びストレージ・ノードの任意の組み合わせを表す3つのエンティティ(エンティティ1、エンティティ2、エンティティ3)120a、120b、120cを備える。各エンティティ120a、120b、120cは、自身のハードウェア(HW)を有してもよく、自身のオペレーティングシステム(OS)を有してもよい。これに代えて、エンティティ120a、120b、120cのうちの少なくとも2つでハードウェア及び/又はオペレーティングシステムが共有されてもよい。
エンティティ120a、120b、120cは、第1アプリケーション(アプリ1)130及び第2アプリケーション(アプリ2)140をホスティングし、これらのアプリケーションのそれぞれはエンティティ120a、120b、120cに分散される。アプリケーション130、140は、通信ネットワーク100にわたって透過的に分散され、アクター(A1、A2、A3、A4、A5、A6)を備える。アクターA1、A2、A3、A4、A5、A6とエンティティ120a、120b、120cとの間に1対1対応は存在しない。例えば、図1aの説明例で、アクターA5及びA6は両方とも同じエンティティ120b(すなわち、エンティティ2)に存在する。アクター(A1、A2、A3、A4、A5、A6)は、ランタイム環境200a、200b、200cのうちの少なくとも1つによってリソース・オブジェクトにアクセスしてもよい。各リソース・オブジェクト160は、ランタイム環境200a、200b、200cによってアクセスが提供されるファイルシステム、センサ、アクチュエータ、ネットワーク・インタフェースなどでありうる。
通信ネットワーク100は、アプリケーション130、140によって単一のプラットフォームとして見られるランタイム環境200a、200b、200cのネットワークの集合によって形成された分散実行環境150をさらに備える。
各アクターA1、A2、A3、A4、A5、A6は、1つ以上のインスタンス110として実行可能である。本書に開示される実施形態は、アプリケーションのアクターのインスタンス110をマイグレーションするための仕組みに関する。このような仕組みを得るために、開始ランタイム環境及び/又は対象ランタイム環境として動作するランタイム環境200a、200b、200cと、ランタイム環境200a、200b、200cによって実行される方法と、ランタイム環境200a、200b、200cの処理回路によって実行される場合に、ランタイム環境200a、200b、200cに当該方法を実行させる、例えばコンピュータプログラムの形式のコードを含むコンピュータプログラム製品と、が提供される。
総括的に、アクター又はアクターのインスタンス110は、実行ファイル、ステート、デプロイメント条件及びクレデンシャルのようなデータの集まりの任意のものとしてみることができる。この観点で、インスタンスだけがステートを有するとみなされてもよいが、アクターはステートレスであるとみなされてもよい。概念的に、デプロイメント条件及びクレデンシャルは、別個であり、アクターのインスタンス化又は実行を開始するエンティティによってアクターに適用されうる。一部のデプロイメント条件は、アクターのインスタンスがマイグレーション(プッシュ又はインスタンス化)されることが許可される対象ランタイム環境についての特定のセキュリティ属性に関連する。アクターの各インスタンスは、簡潔化のためにセキュリティ条件と呼ばれるセキュリティ属性の要求値を有する。
アクターのインスタンスは、アプリケーション属性と、場合によってはアクター固有セキュリティ属性と、を有しうる。このような属性の例が以下に要約される。
対象ランタイム・ポリシーは、対象ランタイム環境で利用可能なリソース属性及び値、例えば利用可能なセキュア個人識別番号(PIN)コード、セキュア・ユーザ・インタフェース、セキュア・ブートなどに関する条件である。
デプロイメント・クレデンシャルは、アクターのインスタンスに適用されるセキュリティ属性であり、この下で、ロール、ユーザネーム及びパスワード、ドメイン証明書、アプリケーション証明書などが動作する。デプロイメント・クレデンシャルは、アプリケーション・ユーザ・クレデンシャルであってもよい。デプロイメント・クレデンシャルは、アクターのインスタンスのマイグレーションを開始するランタイム環境のクレデンシャルであってもよい。デプロイメント・クレデンシャルという名前が挙げられたが、クレデンシャルが供給される時間に何ら制限を及ぼすものではない。デプロイメント・クレデンシャルは、デプロイメント前又はデプロイメント後にも供給されうる。
アクター・クレデンシャルは、アクターのインスタンスの属性であり、例えば署名である。アクター・クレデンシャルの例は、アクターのデベロッパ署名であり、対応する証明書が、署名に用いられるクレデンシャルを証明する。
ランタイム環境は、ランタイム環境セキュリティ属性を有しうる。このような属性の例が以下に要約される。
アクター・ポリシーは、所与のアクターのデプロイメントと、要件に関するアクター・クレデンシャル又はアクター署名に関するランタイム環境に関する条件である。
ランタイム・クレデンシャルは、アクターのインスタンスを現在ホスティング中のランタイム環境のセキュリティ属性であり、ドメイン証明書、エンティティ証明書、パスワード、秘密鍵又は公開鍵、又はウェブ・オブ・トラストのような非証明ベースPKI構造でありうる。
リソース・オブジェクト160(以下参照)は、セキュリティ属性を有しうる。このような属性の例が以下に要約される。
アクセス・ポリシーは、アクター・インスタンスに関する条件、アクター・クレデンシャル権、デプロイメント・クレデンシャル権及びリソース・オブジェクト160へのランタイム・クレデンシャル権である。
図4及び図5は、開始ランタイム環境として動作するランタイム環境200aによって実行されるアプリケーションのアクターのインスタンス110をマイグレーションするための方法の実施形態を説明するフローチャートである。図6及び図7は、対象ランタイム環境として動作するランタイム環境200bによって実行されるアプリケーションのアクターのインスタンス110をマイグレーションするための方法の実施形態を説明するフローチャートである。方法は、好適には、以下に示すコンピュータプログラム320a、320bとして提供される。
本書に開示される実施形態の少なくとも一部は、アクターのセキュリティ条件を対象ランタイム環境200bに強制している間に、開始ランタイム環境200aがアクターのインスタンス110を対象ランタイム環境200bへマイグレーションすることに基づき、対象ランタイム環境200bは自身のセキュリティ条件をアクターに強制する。
全体を通じて図1bが並行して参照される。図1bの(a)に開始ランタイム環境200a及び対象ランタイム環境200bが説明され、開始ランタイム環境200aはアプリケーションのアクターのインスタンス110を保持する。
ある実施形態による開始ランタイム環境として動作するランタイム環境200aによって実行されるアプリケーションのアクターのインスタンス110をマイグレーションするための方法を説明する図4が以下で参照される。
S106:開始ランタイム環境200aは、アクターのインスタンス110のマイグレーションのために対象ランタイム環境200b、200cの集合から対象ランタイム環境200bを選択する。対象ランタイム環境200は、対象ランタイム環境200b、200cについて取得されたセキュリティ属性に基づいて選択される。このようなセキュリティ属性をどのように取得するかの例については後述する。図1bの(a)に開始ランタイム環境200a及び対象ランタイム環境200bが説明され、開始ランタイム環境200aはアクターのインスタンス110の(矢印170によって示される)マイグレーションのために対象ランタイム環境200bを選択した。
S108:開始ランタイム環境200aは、対象ランタイム環境200bを選択すると、選択された対象ランタイム環境200bへアクターのインスタンス110をマイグレーションする。図1bの(c)に開始ランタイム環境200a及び対象ランタイム環境200bが説明され、アクターのインスタンス110が対象ランタイム環境200bへマイグレーションされている。
開始ランタイム環境200aによって実行されるアプリケーションのアクターのインスタンス110のマイグレーションの更なる詳細に関する実施形態が以下に開示される。
セキュリティ属性は、分散方式又は集中方式で取得されうる。それゆえ、ある実施形態によれば、対象ランタイム環境200b、200cの集合内の対象ランタイム環境200b、200cのうちの少なくとも1つの(個別の)セキュリティ属性は、対象ランタイム環境200b、200cのうちの少なくとも1つから直接に取得される。別の実施形態によれば、対象ランタイム環境200b、200cの集合内の対象ランタイム環境200b、200cのうちの少なくとも1つのセキュリティ属性は、セキュリティ属性サービスから取得される。セキュリティ属性サービスの様々な例が存在しうる。例えば、セキュリティ属性サービスは、ランタイム環境200a、200b、200cのためにセキュリティ属性を管理(生成、提供、検証及び破棄のうちの少なくとも1つ)するように構成されたサービス、少なくとも1つのランタイム環境200a、200b、200cのセキュリティ属性を格納する集中サービス、及び/又は少なくとも1つのランタイム環境200a、200b、200cのセキュリティ属性を格納する分散サービスでありうる。
セキュリティ属性の様々な例が存在しうる。例えば、セキュリティ属性は、ユーザ認証情報、認可ポリシー、認可クレデンシャル、セキュア個人識別番号(PIN)コードの利用可能性の情報、セキュア・ユーザ・インタフェースの利用可能性の情報、及び/又はセキュア・ブートの利用可能性の情報でありうる。
更なる実施形態による開始ランタイム環境として動作するランタイム環境200aによって実行されるアプリケーションのアクターのインスタンス110をマイグレーションするための方法を説明する図5が以下に参照される。図4を参照して開示されたようにステップS106及びS108が実行されることが想定される。
開始ランタイム環境200aが対象ランタイム環境200bを選択する様々な方法が存在しうる。これに関する様々な実施形態が続いて以下に記載される。
例えば、開始ランタイム環境200aは、セキュリティ属性に関する情報を要求しうる。それゆえ、ある実施形態によれば、開始ランタイム環境200aは、対象ランタイム環境200bの選択の一部としてステップS106aを実行するように構成される。
S106a:開始ランタイム環境200aは、対象ランタイム環境200b、200cの集合についてセキュリティ属性を取得する。ステップS106aは、上記のステップS106の一部として実行されうる。よって、マイグレーションを開始する開始ランタイム環境200aは、まずセキュリティ属性に関する情報を要求し、次いで第1潜在的対象ランタイム環境200bを選択しうる。
例えば、開始ランタイム環境200aは、対象ランタイム環境200bがセキュリティ属性条件を充足することを検証しうる。それゆえ、ある実施形態によれば、開始ランタイム環境200aは、対象ランタイム環境200bの選択の一部としてステップS106bを実行するように構成される。
S106b:開始ランタイム環境200aは、選択された対象ランタイム環境200bについて取得されたセキュリティ属性がアクターのインスタンス110のセキュリティ属性条件を充足することを検証する。ステップS106bは、上記のステップS106の一部として実行されうる。
例えば、対象ランタイム環境200bとやり取りすることによって、開始ランタイム環境200aは、対象ランタイム環境200bがセキュリティ属性条件を充足することを検証しうる。このような検証は、開始ランタイム環境200aがチャレンジを対象ランタイム環境200bへ通信することによって行われてもよく、対象ランタイム環境200bは、他のプライベート・セキュリティ属性を用いて、チャレンジへのレスポンスを導出し、レスポンスを開始ランタイム環境200aへ返す。それゆえ、ある実施形態によれば、開始ランタイム環境200aは、対象ランタイム環境200bの選択の一部としてステップS106cを実行するように構成される。
S106c:開始ランタイム環境200aは、選択された対象ランタイム環境200bについて取得されたセキュリティ属性が対象ランタイム環境200bによって正当に識別されることを検証する。ステップS106dは、上記のステップS106の一部として実行されうる。
例えば、開始ランタイム環境200aは、アクターのインスタンス110が対象ランタイム環境200bへマイグレーションされる前に対象ランタイム環境200bがアクターを受理しうるか部分チェックを実行しうる。それゆえ、ある実施形態によれば、開始ランタイム環境200aは、対象ランタイム環境200bの選択の一部としてステップS106dを実行するように構成される。
S106d:開始ランタイム環境200aは、選択された対象ランタイム環境200bへのアクターのインスタンス110のマイグレーションを開始する前に、対象ランタイム環境200bがアクターのインスタンス110のマイグレーションの開始を受理することを検証する。これは、マイグレーション成功の可能性を向上する。ステップS106dは、上記のステップS106の一部として実行されうる。
開始ランタイム環境200aが対象ランタイム環境200bへアクターのインスタンス110をマイグレーションするための様々な方法が存在しうる。例えば、開始ランタイム環境200aは、対象ランタイム環境200bへアクターのインスタンス110の(再)インスタンス化に必要なデータを提供しうる。それゆえ、ある実施形態によれば、開始ランタイム環境200aは、対象ランタイム環境200bへのアクターのインスタンス110のマイグレーションの一部としてステップS108aを実行するように構成される。
S108a:開始ランタイム環境200aは、選択された対象ランタイム環境200bへアクターのインスタンス110のインスタンス化に必要なデータを提供する。ステップS108aは、上記のステップS108の一部として実行されうる。
マイグレーションは、アクターのインスタンス110が他の対象ランタイム環境200bによって以前に却下されたことの結果でありうる。それゆえ、ある実施形態によれば、ステップS106での対象ランタイム環境200bの選択は、成功しなかった別の対象ランタイム環境200cへのアクターのインスタンス110のマイグレーションに応答して実行される。
同様に、マイグレーションは、アクターのインスタンス110が開始ランタイム環境200aへ以前にプッシュされたがアクターのインスタンス110が開始ランタイム環境200aによってアクセスを受理されなかった結果でありうる。それゆえ、ある実施形態によれば、開始ランタイム環境200aは、ステップS102及びS104を実行するように構成される。
S102:開始ランタイム環境200aは、別の開始ランタイム環境200cからインスタンス110のマイグレーションとしてアクターのインスタンス110を取得する。アクターのインスタンス110を取得すると、開始ランタイム環境200aは、ステップS104を実行する。
S104:開始ランタイム環境200aは、アクターのインスタンス110についての開始ランタイム環境200aの認可ポリシーが充足されないことを判定する。次いで、それに応答してステップS106の対象ランタイム環境の選択が実行される。それゆえ、アクターの同じインスタンス110についてステップs106の前にステップS102及びS104が実行される。
ある実施形態による対象ランタイム環境として動作するランタイム環境200bによって実行されるアプリケーションのアクターのインスタンス110をマイグレーションするための方法を説明する図6が以下に参照される。
S202:対象ランタイム環境200bは、開始ランタイム環境200aがアクターのインスタンス110のマイグレーションのために対象ランタイム環境200bを選択することを可能にするセキュリティ属性を識別する。
S204:対象ランタイム環境200bは、開始ランタイム環境200aからアクターのインスタンス110をインスタンス化するのに必要なデータを取得する。取得されるデータは、識別されたセキュリティ属性に基づく。
S206:対象ランタイム環境200bは、アクターのインスタンス110についての対象ランタイム環境200bの認可ポリシーが充足される場合にアクターのインスタンス110をインスタンス化する。それによって、対象ランタイム環境200bは、アクターのインスタンス110が少なくとも1つのリソース・オブジェクト160へアクセスすることを可能にする。
対象ランタイム環境200bによって実行されるアプリケーションのアクターのインスタンス110のマイグレーションの更なる詳細に関する実施形態が以下に開示される。
認可ポリシーの様々な例が存在しうる。ある例によれば、認可ポリシーは、どのアクターか、少なくとも1つのリソース・オブジェクト160のうちのどれか、及びアクターが対象ランタイム環境200bの少なくとも1つのリソース・オブジェクト160へアクセスするために充足される必要がある動作属性はどれかを規定する。
リソース・オブジェクト160の様々な例が存在しうる。各リソース・オブジェクト160は、センサ、アクチュエータ、プロセッシング、カメラ、ネットワーク・インタフェース、メッセージ・サービス、ストレージ、データベース、顔認識サービス/モジュール、パターン・マッチング・サービス/モジュール、分析サービス/モジュール、ソルバー・サービス/モジュールなどのようなリソースを表すインタフェースでありうる。
更なる実施形態による対象ランタイム環境として動作するランタイム環境200bによって実行されるアプリケーションのアクターのインスタンス110をマイグレーションするための方法を説明する図7が以下に参照される。図6を参照して開示されたようにステップS202、S204及びS206が実行されることが想定される。
上述のように、ステップS206で、対象ランタイム環境200bは、アクターのインスタンス110についての対象ランタイム環境200bの認可ポリシーが充足される場合にアクターのインスタンス110をインスタンス化する。アクターのインスタンス110についての対象ランタイム環境200bの認可ポリシーが充足されるか否かを対象ランタイム環境200bが判定するための様々な方法が存在しうる。これに関する様々な実施形態が順に以下に記載される。
例えば、認可ポリシーによって要求されるならば、対象ランタイム環境200bは、アクターのインスタンス110が真正であることを検証しうる。これを行うために、対象ランタイム環境200bは、ある実施形態によれば、ステップS206aを実行するように構成される。
S206a:対象ランタイム環境200bは、認可ポリシーに従って、アクターのインスタンス110をインスタンス化するのに必要なデータの真正性を検証する。ステップS206aは、上記のステップS206の一部として実行されうる。これを行うために、対象ランタイム環境200bは、アクターのインスタンス110をインスタンス化するのに必要なデータが、対象ランタイム環境200bが受理するクレデンシャルで署名されているかをチェックしうる。
例えば、対象ランタイム環境200bによって要求されるならば、アクターは、要求される属性の正当なオーナーシップを証明することをチャレンジされる。これを行うために、対象ランタイム環境200bは、ある実施形態によれば、ステップS206bを実行するように構成される。
S206b:対象ランタイム環境200bは、アクターのインスタンス110をインスタンス化するのに必要なデータから、要求される属性のオーナーシップを検証する。ステップS206bは、上記のステップS206の一部として実行されうる。
ステップS206bでの検証は、開始ランタイム環境200a、又はエンティティ・クレデンシャルの保護及び認証に責任を有する開始ランタイム環境200aに存在する同じアプリケーションのアクターとのやり取りを伴ってもよい。これを行うために、対象ランタイム環境200bは、ある実施形態によれば、ステップS206cを実行するように構成される。
S206c:対象ランタイム環境200bは、インスタンス化するランタイム環境200aと認証検証を実行する。ステップS206cは、上記のステップS206の一部として実行されうる。チャレンジは、例えばエンティティがチャレンジを認証及び署名し、レスポンスを返すことでありうる。このような認証検証の1つの非限定的な例は、対象ランタイム環境200bとインスタンス化するランタイム環境200aとの間で実行されてもよい暗号化チャレンジ−レスポンス認証である。
何らかのセキュリティ条件認証が失敗したならば、アクターは対象ランタイム環境200bでの実行をブロックされてもよく、開始ランタイム環境200a又は対象ランタイム環境200bの何れかは、以下のように、アクターのインスタンス110を新たな対象ランタイム環境200cへマイグレーションするための新たな試行を開始する。
それゆえ、ある実施形態によれば、アクターのインスタンス110は、検証ステップS206a、S206b、S206cの何れかが失敗した場合に、対象ランタイム環境200bでの実行をブロックされる。
さらに、リソース・オブジェクト160へのアクセスは、認可ポリシーが充足されない場合にブロックされうる。それゆえ、ある実施形態によれば、対象ランタイム環境200bは、ステップS208を実行するように構成される。
S208:対象ランタイム環境200bは、認可ポリシーが充足されない場合に、アクターのインスタンス110が少なくとも1つのリソース・オブジェクト160へアクセスすることを阻止する。ステップS208は、ステップS206の後に実行されうる。
アクターのインスタンス110のマイグレーション失敗が発生すると及び/又はアクターのインスタンス110が少なくとも1つのリソース・オブジェクト160へのアクセスを阻止された場合に対象ランタイム環境200bが動作する様々な方法が存在しうる。ある実施形態によれば、対象ランタイム環境200bは、開始ランタイム環境200aにマイグレーション失敗/ブロックを知らせ、それゆえステップS210を実行する。
S210:対象ランタイム環境200bは、アクターのインスタンス110の実行をブロックしたこと又はアクターのインスタンス110が少なくとも1つのリソース・オブジェクト160へアクセスすることを阻止したことに応答して、アクターのインスタンス110のマイグレーション失敗を開始ランタイム環境200aに通知する。ステップS210は、ステップS208の後に実行されうる。図1bの(d)に開始ランタイム環境200a及び対象ランタイム環境200bが説明され、対象ランタイム環境200bは(矢印170によって示されるように)アクターのインスタンス110のマイグレーション失敗を開始ランタイム環境200aに通知した。
ある実施形態によれば、対象ランタイム環境200bは、新たなランタイム環境200cのためにアクターのインスタンス110のマイグレーション試行を開始し、それゆえステップS212及びS214を実行する。
S212:対象ランタイム環境200bは、他の対象ランタイム環境200cの集合について取得されたセキュリティ属性に基づいて、アクターのインスタンス110のマイグレーションのために対象ランタイム環境200cの集合から別の対象ランタイム環境200cを選択する。図1bの(e)に開始ランタイム環境200a、対象ランタイム環境200b及び別の対象ランタイム環境200cが説明され、対象ランタイム環境200bはアクターのインスタンス110の(矢印170によって示される)(更なる)マイグレーションのためにこの別の対象ランタイム環境200cを選択した。
S214:対象ランタイム環境200bは、アクターのインスタンス110の実行をブロックしたことに応答してこの別の対象ランタイム環境200cを選択すると、選択された別の対象ランタイム環境200cへアクターのインスタンス110をマイグレーションするS214。
よって、ステップS212及びS214は上述のステップS106及びS108と同様であるが、ステップS212及びS214は、選択された対象ランタイム環境として別の対象ランタイム環境200cとともに対象ランタイム環境200bによって実行される。当業者が理解するように、対象ランタイム環境200bは、アクターをインスタンス化するのに必要な取得されたデータからアクターをインスタンス化していなくてもよく、それゆえアクターをインスタンス化するのに必要な取得されたデータを直接に用いてアクター110のインスタンスをマイグレーションしてもよい。
大まかに言うと、アクターのインスタンス110がマイグレーションされることを対象ランタイム環境200bが却下するならば、対象ランタイム環境200b又は開始ランタイム環境200cの何れかが新たな対象ランタイム環境200cへ向けたアクターのインスタンス110の新たなマイグレーションを開始しうる。例えば、開始ランタイム環境200aは、その後、以前の情報収集からの結果を反復又は再利用し、アクターのインスタンス110の対象ランタイム環境となる別の対象ランタイム環境200bを選択し、マイグレーション試行をやり直す。図1bの(f)に開始ランタイム環境200a、対象ランタイム環境200b及び別の対象ランタイム環境200cが説明され、開始ランタイム環境200aはアクターのインスタンス110の(矢印170によって示される)マイグレーションのために別の対象ランタイム環境200cを選択した。
上述のように、開始ランタイム環境200aは、取得されたセキュリティ属性に基づいて対象ランタイム環境200bを選択する。これを行うために、開始ランタイム環境200aは、対象ランタイム環境200bのポリシーがデプロイメント・クレデンシャル及びランタイム環境クレデンシャルと組み合わせされることを強制し、その結果として、アクターのインスタンス110が対象ランタイム環境200bへマイグレーションされる前に対象ランタイム環境200bに関する要件が充足される。このような要件の例は、セキュリティ能力、(セキュア・ブートの認証のような)セキュリティ・アシュアランス、及びランタイム環境オーナーシップが既知の信頼されたパーティーを有することである。
開始ランタイム環境200aと対象ランタイム環境200bとの間の信頼関係は、公開鍵基盤(PKI)を介して確立されてもよく、すなわち証明書構造が別のランタイム環境を信頼する方法を表現する。各ランタイム環境200a、200bは、共通の認証局(CA)を共有してもよいし、CA間の信頼が相互認証によって確立されてもよい。このようなPKIを用いて、ランタイム環境200a、200bは、上述のステップS106cのように互いに認証し、共有暗号鍵を確立し、例えばトランスポート層セキュリティ(TLS)プロトコル、データグラム・トランスポート層セキュリティ(DTLS)プロトコルを介して又はオブジェクト・セキュリティ・プロトコルを用いてセキュアに通信できる。
アプリケーション属性は、このような信頼関係が確立されうることを要求してもよいが、対象ランタイム環境200bが固有のCAを有すること、又はさらには特定されたデバイスの集合のメンバーであることを要求してもよい。上述のように、他のセキュリティ属性はセキュア・コンピューティング属性である。アプリケーションのインスタンス110は、対象ランタイム環境200bがセキュアなメジャード・ブートを実行したことの検証可能な証明を要求してもよい。トラステッド・エクゼキューション・エンバイロンメント、トラステッド・プラットフォーム・モジュール、スマートカード、トラステッド・ユーザ入出力のサポート、セキュア・ビデオ/オーディオ・パスの利用可能性は、使用されうる属性の他の例である。
対象ランタイム環境200bに関する要件が充足されたと開始ランタイム環境200aがみなした場合に、開始ランタイム環境200aは、アクターのインスタンス110を対象ランタイム環境200bへマイグレーションする。対象ランタイム環境200bは、クレデンシャルと組み合わせた自身のアクター・ポリシー及びアクセス・ポリシーがアクターのマイグレーションされたインスタンス110によって充足されることを強制する。このような要件の例は、ユーザ認証及び認可、署名されたコードに関する要件であるが、動作に関連する属性や、アクターのインスタンス110が実行される環境、例えば日時であってもよい。セキュリティ・ポリシーは、対象ランタイム環境200bによって提供されるリソース・オブジェクト160で要求された動作をアクターのインスタンス110が実行するために、主体、リソース・オブジェクト160、環境及び動作のどの属性が充足されなければならないかを記載する。これに関して、主体は、アプリケーションを実行する責任があるエンティティ、通常はユーザ又は組織のコンピュータ化された表現である。主体属性は、ユーザ・アイデンティティを記載するために用いられる。アイデンティティは、ランタイム環境リソースへのアクセス権に関連してもよい。これは、ユーザネーム、グループ及びロール・メンバーシップの形式であってもよいが、暗号鍵又はパスワードの所有であってもよい。例えば、上述のように、暗号化チャレンジ・レスポンス手続き又はゼロ知識証明プロトコルを介して所有により証明されうる暗号鍵にアクターのインスタンス110が関連することをランタイム環境200a、200b、200cが保証することで十分であってもよい。ポリシーは、ユーザの識別及び認証に関する要件、ユーザにアクセス可能なリソース、及びアクター及びアプリケーションを署名することが可能なエンティティに関する要件を列挙してもよい。
図2aは、複数の機能部の観点で、ある実施形態によるランタイム環境200a、200b、200cのコンポーネントを概略的に説明する。側面によれば、ランタイム環境200a、200b、200cは、開始ランタイム環境200a及び対象ランタイム環境200bの両方として動作するように構成される。
処理回路210は、例えば記憶媒体230の形式の(図4のような)コンピュータプログラム製品310aに格納されたソフトウェア命令を実行可能な適切な中央処理ユニット(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)などのうちの1つ以上の任意の組み合わせを用いて提供される。処理回路210はさらに、少なくとも1つの特定用途向け集積回路(ASIC)又はフィールド・プログラマブル・ゲートアレイ(FPGA)として提供されてもよい。
特に、処理回路210は、上述の動作の集合、すなわちステップS102〜S108、S202〜S214をランタイム環境200a、200b、200cに実行させるように構成される。例えば、記憶媒体230は動作の集合を格納してもよく、処理回路210はランタイム環境200a、200b、200cに動作の集合を実行させるために記憶媒体230から動作の集合を読み出してもよい。動作の集合は、実行可能命令の集合として提供されてもよい。よって、処理回路210は、それによって、本書に開示されるような方法を実行するように構成される。
記憶媒体230はまた、例えば磁気メモリ、光学メモリ、固体メモリ又はリモートに搭載されたメモリの任意の単体又は組み合わせでありうる永続ストレージを備えてもよい。
ランタイム環境200a、200b、200cは、少なくとも別のランタイム環境200a、200b、200cと通信するための通信インタフェース220を更に備えてもよい。このようなものとして、通信インタフェース220は、例えば1つ以上の送信機及び受信機を備えてもよく、アナログ及びデジタル・コンポーネントと、無線通信のための適切な個数のアンテナと、有線通信のためのポートとを備えてもよい。
処理回路210は、例えばデータ及び制御信号を通信インタフェース220及び記憶媒体230へ送信することによって、通信インタフェース220からデータ及びレポートを受信することによって、及び記憶媒体230からデータ及び命令を読み出すことによって、ランタイム環境200a、200b、200cの一般的な動作を制御する。ランタイム環境200a、200b、200cの関連機能とともに他のコンポーネントは、本書で提示される概念を曖昧にしないために省略される。
図2bは、複数の機能モジュールの観点で、ある実施形態によるランタイム環境200a、200b、200cのコンポーネントを概略的に説明する。図2bのランタイム環境200a、200b、200cは、複数の機能モジュールを備える。
ランタイム環境が開始ランタイム環境200aとして動作するために、ランタイム環境は、ステップS106を実行するように構成された選択モジュール210aと、ステップS108を実行するように構成されたマイグレーション・モジュール210bと、を備える。開始ランタイム環境200aとして動作する図2bのランタイム環境は、ステップS106aを実行するように構成された取得モジュール210cと、ステップS106bを実行するように構成された検証モジュール210dと、ステップS106cを実行するように構成された検証モジュール210eと、ステップS106dを実行するように構成された検証モジュール210fと、ステップS108aを実行するように構成された提供モジュール210gと、ステップS102を実行するように構成された取得モジュール210hと、ステップS104を実行するように構成された判定モジュール210jと、のいずれかのような複数の動作機能モジュールを更に備えてもよい。
ランタイム環境が対象ランタイム環境200bとして動作するために、ランタイム環境は、ステップS202を実行するように構成された識別モジュール210kと、ステップS204を実行するように構成された取得モジュール210mと、ステップS206を実行するように構成されたインスタンス化モジュール210nと、を備える。開始ランタイム環境200bとして動作する図2bのランタイム環境は、ステップS206aを実行するように構成された検証モジュール210pと、ステップS206bを実行するように構成された検証モジュール210qと、ステップS206cを実行するように構成された認証検証モジュール210rと、ステップS208を実行するように構成された阻止モジュール210sと、ステップS210を実行するように構成された通知モジュール210tと、ステップS212を実行するように構成された選択モジュール210uと、ステップS214を実行するように構成されたマイグレーション・モジュール210wと、のいずれかのような複数の動作機能モジュールを更に備えてもよい。
大まかに言えば、各機能モジュール210a〜210wは、ハードウェア又はソフトウェアで実装されてもよい。好適に、1つ以上又はすべての機能モジュール210a〜210wは、場合によっては機能部220及び/又は230と連携して、処理回路210によって実行されてもよい。よって、処理回路210は、機能モジュール210a〜210wによって提供されるような命令を記憶媒体230からフェッチし、これらの命令を実行することによって、以下に開示される任意のステップを実行するように構成されてもよい。
図3は、コンピュータ可読手段330を備えるコンピュータプログラム製品310a、310bの一例を示す。このコンピュータ可読手段330にコンピュータプログラム320aが格納されてもよく、コンピュータプログラム320aは、処理回路210、及び通信インタフェース220や記憶媒体230のようなこれに動作可能に結合されたエンティティ及びデバイスに、本書に記載された実施形態に従う方法を実行させうる。コンピュータプログラム320a及び/又はコンピュータプログラム製品310aは、よって、本書に開示される開始ランタイム環境として動作するランタイム環境200aの任意のステップを実行するための手段を提供してもよい。このコンピュータ可読手段330にコンピュータプログラム320bが格納されてもよく、コンピュータプログラム320bは、処理回路310、及び通信インタフェース320や記憶媒体330のようなこれに動作可能に結合されたエンティティ及びデバイスに、本書に記載された実施形態に従う方法を実行させうる。コンピュータプログラム320b及び/又はコンピュータプログラム製品310bは、よって、本書に開示される対象ランタイム環境として動作するランタイム環境200bの任意のステップを実行するための手段を提供してもよい。
図3の例で、コンピュータプログラム製品310a、310bは、CD(コンパクトディスク)又はDVD(デジタル多目的ディスク)又はブルーレイディスクのような光学ディスクとして説明される。コンピュータプログラム製品310a、310bはまた、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM)又は電気的消去可能プログラマブルリードオンリメモリ(EEPROM)のようなメモリとして実施されてもよく、より具体的にUSB(ユニバーサルシリアルバス)メモリのような外部メモリ又はコンパクトフラッシュメモリのようなフラッシュメモリ内のデバイスの不揮発性記憶媒体として実施されてもよい。よって、コンピュータプログラム320a、320bは本書で図示された光学ディスク上のトラックとして概略的に示されるが、コンピュータプログラム320a、320bはコンピュータプログラム製品310a、310bに適切な任意の方法で格納されうる。
発明の概念が主に少数の実施形態を参照して上述されてきた。しかし、当業者に容易に理解されるように、上述されたもの以外の実施形態が、添付の特許請求の範囲によって規定される発明の概念の範囲内で等しく可能である。

Claims (27)

  1. アプリケーション(130、140)のアクター(A1、A2、A3、A4、A5、A6、A6)のインスタンス(110)をマイグレーションするための方法であって、前記方法は開始ランタイム環境(200a)によって実行され、前記方法は、
    対象ランタイム環境(200b、200c)の集合について取得されたセキュリティ属性に基づいて、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために対象ランタイム環境(200b、200c)の前記集合から対象ランタイム環境(200b)を選択すること(S106)と、
    前記対象ランタイム環境(200b)を選択すると、前記選択された対象ランタイム環境(200b)へ前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をマイグレーションすること(S108)と、を有する方法。
  2. 請求項1に記載の方法であって、前記対象ランタイム環境(200b)を選択することは、
    対象ランタイム環境(200b、200c)の前記集合について前記セキュリティ属性を取得すること(S106a)を含む、方法。
  3. 請求項1に記載の方法であって、前記対象ランタイム環境(200b)を選択することは、
    前記選択された対象ランタイム環境(200b)についての前記取得されたセキュリティ属性が前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のセキュリティ属性条件を充足することを検証すること(S106b)を含む、方法。
  4. 請求項1に記載の方法であって、前記対象ランタイム環境(200b)を選択することは、
    前記選択された対象ランタイム環境(200b)についての前記取得されたセキュリティ属性が前記対象ランタイム環境(200b)によって正当に識別されることを検証すること(S106c)を含む、方法。
  5. 請求項1に記載の方法であって、前記対象ランタイム環境(200b)を選択することは、
    前記選択された対象ランタイム環境(200b)への前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションを開始する前に、前記対象ランタイム環境(200b)への前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションの開始を受理することを検証すること(S106d)を含む、方法。
  6. 請求項1に記載の方法であって、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をマイグレーションすることは、
    前記選択された対象ランタイム環境(200b)へ前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化するのに必要なデータを提供すること(S108a)を含む、方法。
  7. 請求項1に記載の方法であって、
    別の開始ランタイム環境から前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションとして前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)を取得すること(S102)と、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)についての前記開始ランタイム環境(200a)の認可ポリシーが充足されないことを判定すること(S104)であって、前記対象ランタイム環境を選択することはこれに応答して実行される、ことと、を更に有する方法。
  8. 請求項1に記載の方法であって、前記対象ランタイム環境を選択することは、別の対象ランタイム環境への前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションが成功しなかったことに応答して実行される、方法。
  9. 請求項1に記載の方法であって、対象ランタイム環境(200b、200c)の前記集合内の前記対象ランタイム環境(200b、200c)のうちの少なくとも1つの前記セキュリティ属性は、前記対象ランタイム環境(200b、200c)のうちの前記少なくとも1つから直接に取得される、方法。
  10. 請求項1に記載の方法であって、対象ランタイム環境(200b、200c)の前記集合内の前記対象ランタイム環境(200b、200c)のうちの少なくとも1つの前記セキュリティ属性は、セキュリティ属性サービスから取得される、方法。
  11. 請求項1に記載の方法であって、前記セキュリティ属性は、ユーザ認証情報と、認可ポリシーと、認可クレデンシャルと、セキュア個人識別番号、PIN、コードの利用可能性の情報と、セキュア・ユーザ・インタフェースの利用可能性の情報と、セキュア・ブートの利用可能性の情報と、のうちの少なくとも1つを含む、方法。
  12. アプリケーション(130、140)のアクター(A1、A2、A3、A4、A5、A6、A6)のインスタンス(110)をマイグレーションするための方法であって、前記方法は対象ランタイム環境(200b)によって実行され、前記方法は、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために開始ランタイム環境(200a)が前記対象ランタイム環境を選択することを可能にするセキュリティ属性を識別すること(S202)と、
    前記識別されたセキュリティ属性に基づいて、前記開始ランタイム環境(200a)から前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化するのに必要なデータを取得すること(S204)と、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)についての前記対象ランタイム環境(200b)の認可ポリシーが充足される場合に前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化すること(S206)によって、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)が少なくとも1つのリソース・オブジェクト(160)にアクセスすることを可能にすることと、を有する方法。
  13. 請求項12に記載の方法であって、前記アクター(A1、A2、A3、A4、A5、A6、A6)アクセスの前記インスタンス(110)をインスタンス化することは、
    前記認可ポリシーに従って、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化するのに必要な前記データの真正性を検証すること(S206a)を含む、方法。
  14. 請求項12に記載の方法であって、前記アクター(A1、A2、A3、A4、A5、A6、A6)アクセスの前記インスタンス(110)をインスタンス化することは、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化するのに必要な前記データから要求された属性のオーナーシップを検証すること(S206b)を含む、方法。
  15. 請求項14に記載の方法であって、前記要求された属性のオーナーシップを検証することは、
    前記インスタンス化するランタイム環境(200a)との認証検証を実行すること(S206c)を含む、方法。
  16. 請求項13、14及び15の何れか1項に記載の方法であって、前記検証の何れかが失敗した場合に、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)は前記対象ランタイム環境(200b)での実行をブロックされる、方法。
  17. 請求項12に記載の方法であって、
    前記認可ポリシーが充足されない場合に、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)が前記少なくとも1つのリソース・オブジェクト(160)にアクセスすることを阻止すること(S208)を更に有する方法。
  18. 請求項16又は17に記載の方法であって、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)の実行をブロックしたこと又は前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)が前記少なくとも1つのリソース・オブジェクト(160)にアクセスすることを阻止したことに応答して、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーション失敗を前記開始ランタイム環境(200a)に通知すること(S210)を更に有する方法。
  19. 請求項16又は17に記載の方法であって、
    他の対象ランタイム環境(200c)の集合について取得されたセキュリティ属性に基づいて、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために対象ランタイム環境(200c)の前記集合から別の対象ランタイム環境(200c)を選択すること(S212)と、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)の実行をブロックしたことに応答して前記別の対象ランタイム環境(200c)を選択すると、前記選択された別の対象ランタイム環境(200c)へ前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をマイグレーションすること(S214)と、を更に有する方法。
  20. 請求項12に記載の方法であって、前記認可ポリシーは、どのアクター(A1、A2、A3、A4、A5、A6、A6)か、前記少なくとも1つのリソース・オブジェクト(160)のうちのどれか、及びアクター(A1、A2、A3、A4、A5、A6、A6)が前記対象ランタイム環境(200b)の少なくとも1つのリソース・オブジェクト(160)へアクセスするために充足される必要がある動作属性はどれかを規定する、方法。
  21. アプリケーション(130、140)のアクター(A1、A2、A3、A4、A5、A6、A6)のインスタンス(110)をマイグレーションするための開始ランタイム環境として動作するランタイム環境(200a)であって、前記ランタイム環境は処理回路(210)を備え、前記処理回路は、前記ランタイム環境(200a)に、
    対象ランタイム環境(200b、200c)として動作するランタイム環境(200b、200c)の集合について取得されたセキュリティ属性に基づいて、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために対象ランタイム環境(200b、200c)として動作するランタイム環境(200b、200c)の前記集合から対象ランタイム環境(200b)として動作するランタイム環境(200b)を選択することと、
    対象ランタイム環境(200b)として動作する前記ランタイム環境(200b)を選択すると、対象ランタイム環境(200b)として動作する前記選択されたランタイム環境(200b)へ前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をマイグレーションすることと、を行わせるように構成される、ランタイム環境。
  22. アプリケーション(130、140)のアクター(A1、A2、A3、A4、A5、A6、A6)のインスタンス(110)をマイグレーションするための開始ランタイム環境として動作するランタイム環境(200a)であって、
    対象ランタイム環境(200b、200c)として動作するランタイム環境(200b、200c)の集合について取得されたセキュリティ属性に基づいて、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために対象ランタイム環境(200b、200c)として動作するランタイム環境(200b、200c)の前記集合から対象ランタイム環境(200b)として動作するランタイム環境(200b)を選択するように構成された選択モジュール(210a)と、
    対象ランタイム環境(200b)として動作する前記ランタイム環境(200b)を選択すると、対象ランタイム環境(200b)として動作する前記選択されたランタイム環境(200b)へ前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をマイグレーションするように構成されたマイグレーション・モジュール(210b)と、を備えるランタイム環境。
  23. アプリケーション(130、140)のアクター(A1、A2、A3、A4、A5、A6、A6)のインスタンス(110)をマイグレーションするための対象ランタイム環境として動作するランタイム環境(200b)であって、前記ランタイム環境は処理回路(210)を備え、前記処理回路は、前記ランタイム環境(200b)に、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために開始ランタイム環境(200a)として動作するランタイム環境(200a)が前記対象ランタイム環境(200b)を選択することを可能にするセキュリティ属性を識別することと、
    前記識別されたセキュリティ属性に基づいて、開始ランタイム環境(200a)として動作する前記ランタイム環境(200a)から前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化するのに必要なデータを取得することと、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)についての対象ランタイム環境(200b)として動作する前記ランタイム環境(200b)の認可ポリシーが充足される場合に前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化することによって、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)が少なくとも1つのリソース・オブジェクト(160)にアクセスすることを可能にすることと、を行わせるように構成される、ランタイム環境。
  24. アプリケーション(130、140)のアクター(A1、A2、A3、A4、A5、A6、A6)のインスタンス(110)をマイグレーションするための対象ランタイム環境として動作するランタイム環境(200b)であって、前記ランタイム環境は、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために開始ランタイム環境(200a)として動作するランタイム環境(200a)が前記対象ランタイム環境(200b)を選択することを可能にするセキュリティ属性を識別するように構成された識別モジュール(210k)と、
    前記識別されたセキュリティ属性に基づいて、開始ランタイム環境(200a)として動作する前記ランタイム環境(200a)から前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化するのに必要なデータを取得するように構成された取得モジュール(210m)と、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)についての対象ランタイム環境(200b)として動作する前記ランタイム環境(200b)の認可ポリシーが充足される場合に前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化することによって、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)が少なくとも1つのリソース・オブジェクト(160)にアクセスすることを可能にするように構成されたインスタンス化モジュール(210n)と、を備えるランタイム環境。
  25. アプリケーション(130、140)のアクター(A1、A2、A3、A4、A5、A6、A6)のインスタンス(110)をマイグレーションするためのコンピュータプログラム(320a)であって、前記コンピュータプログラムは、開始ランタイム環境として動作するランタイム環境(200a)の処理回路(210)で実行される場合に、前記ランタイム環境(200a)に、
    対象ランタイム環境(200b、200c)として動作するランタイム環境(200b、200c)の集合について取得されたセキュリティ属性に基づいて、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために対象ランタイム環境(200b、200c)として動作するランタイム環境(200b、200c)の前記集合から対象ランタイム環境(200b)として動作するランタイム環境(200b)を選択すること(S106)と、
    対象ランタイム環境(200b)として動作する前記ランタイム環境(200b)を選択すると、対象ランタイム環境(200b)として動作する前記選択されたランタイム環境(200b)へ前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をマイグレーションすること(S108)と、を行わせるプログラムコードを有する、コンピュータプログラム。
  26. アプリケーション(130、140)のアクター(A1、A2、A3、A4、A5、A6、A6)のインスタンス(110)をマイグレーションするためのコンピュータプログラム(320a)であって、前記コンピュータプログラムは、対象ランタイム環境として動作するランタイム環境(200b)の処理回路(210)で実行される場合に、前記ランタイム環境(200b)に、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)のマイグレーションのために開始ランタイム環境(200a)として動作するランタイム環境(200a)が前記対象ランタイム環境(200b)を選択することを可能にするセキュリティ属性を識別すること(S202)と、
    前記識別されたセキュリティ属性に基づいて、開始ランタイム環境(200a)として動作する前記ランタイム環境(200a)から前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化するのに必要なデータを取得すること(S204)と、
    前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)についての対象ランタイム環境(200b)として動作する前記ランタイム環境(200b)の認可ポリシーが充足される場合に前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)をインスタンス化すること(S206)によって、前記アクター(A1、A2、A3、A4、A5、A6、A6)の前記インスタンス(110)が少なくとも1つのリソース・オブジェクト(160)にアクセスすることを可能にすることと、を行わせるように構成される、ランタイム環境。
  27. 請求項25及び16の何れか1項に記載のコンピュータプログラム(320a、320b)と、前記コンピュータプログラムを格納したコンピュータ可読記憶媒体(330)と、を備えるコンピュータプログラム製品(310a、310b)。
JP2018538165A 2016-02-04 2016-02-04 アクター・マイグレーション Active JP6656388B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/052362 WO2017133771A1 (en) 2016-02-04 2016-02-04 Actor migration

Publications (2)

Publication Number Publication Date
JP2019507920A true JP2019507920A (ja) 2019-03-22
JP6656388B2 JP6656388B2 (ja) 2020-03-04

Family

ID=55304994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018538165A Active JP6656388B2 (ja) 2016-02-04 2016-02-04 アクター・マイグレーション

Country Status (6)

Country Link
US (2) US11080428B2 (ja)
EP (1) EP3411786A1 (ja)
JP (1) JP6656388B2 (ja)
CN (1) CN108604188B (ja)
RU (1) RU2707718C1 (ja)
WO (1) WO2017133771A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11316757B1 (en) * 2020-06-23 2022-04-26 Amdocs Development Limited System, method, and computer program for consumer requirement based management for physical edge deployment of an application

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233521A (ja) * 2002-02-13 2003-08-22 Hitachi Ltd ファイル保護システム
JP2007293873A (ja) * 2001-06-15 2007-11-08 Nokia Corp 電子装置の安全性を保証する方法、セキュリティシステム及び電子装置
US20080046960A1 (en) * 2006-08-16 2008-02-21 Bade Steven A Computer workload management with security policy enforcement
JP2012038029A (ja) * 2010-08-05 2012-02-23 Toshiba Corp 自動書き換えプログラムおよび自動書き換え装置
WO2013111532A1 (ja) * 2012-01-25 2013-08-01 日本電気株式会社 管理システム、管理方法およびプログラム
JP2014232468A (ja) * 2013-05-30 2014-12-11 富士通株式会社 仮想機械管理装置、仮想機械管理方法及び情報処理システム
WO2015127461A1 (en) * 2014-02-24 2015-08-27 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080159B2 (en) * 2000-12-15 2006-07-18 Ntt Docomo, Inc. Method and system for effecting migration of application among heterogeneous devices
US20030037327A1 (en) * 2001-08-15 2003-02-20 International Business Machines Corporation Run-time rule-based topological installation suite
EP1927956A1 (en) 2006-11-30 2008-06-04 Incard SA Multi-applications IC Card with secure management of applications
US20080147530A1 (en) 2006-12-19 2008-06-19 Kwan Shu-Leung Programmatically transferring applications between handsets based on license information
CN101937357B (zh) * 2009-07-01 2013-11-06 华为技术有限公司 一种虚拟机迁移决策方法、装置及系统
US9027143B1 (en) 2009-08-26 2015-05-05 Adobe Systems Incorporated System and method for multipronged authentication
US8327441B2 (en) * 2011-02-17 2012-12-04 Taasera, Inc. System and method for application attestation
US9253209B2 (en) * 2012-04-26 2016-02-02 International Business Machines Corporation Policy-based dynamic information flow control on mobile devices
CN103973441B (zh) * 2013-01-29 2016-03-09 腾讯科技(深圳)有限公司 基于音视频的用户认证方法和装置
US9892262B2 (en) 2013-07-12 2018-02-13 EntIT Software, LLC Analyzing target software for security vulnerabilities
CN110717178A (zh) * 2013-10-18 2020-01-21 诺基亚技术有限公司 用于操作和监测针对电子设备中的应用的权限的方法和系统
US9563771B2 (en) 2014-01-22 2017-02-07 Object Security LTD Automated and adaptive model-driven security system and method for operating the same
CN105718246A (zh) 2014-07-31 2016-06-29 格马尔托股份有限公司 在电子设备中管理应用程序包的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293873A (ja) * 2001-06-15 2007-11-08 Nokia Corp 電子装置の安全性を保証する方法、セキュリティシステム及び電子装置
JP2003233521A (ja) * 2002-02-13 2003-08-22 Hitachi Ltd ファイル保護システム
US20080046960A1 (en) * 2006-08-16 2008-02-21 Bade Steven A Computer workload management with security policy enforcement
JP2012038029A (ja) * 2010-08-05 2012-02-23 Toshiba Corp 自動書き換えプログラムおよび自動書き換え装置
WO2013111532A1 (ja) * 2012-01-25 2013-08-01 日本電気株式会社 管理システム、管理方法およびプログラム
JP2014232468A (ja) * 2013-05-30 2014-12-11 富士通株式会社 仮想機械管理装置、仮想機械管理方法及び情報処理システム
WO2015127461A1 (en) * 2014-02-24 2015-08-27 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources

Also Published As

Publication number Publication date
RU2707718C1 (ru) 2019-11-28
CN108604188A (zh) 2018-09-28
JP6656388B2 (ja) 2020-03-04
US20190042793A1 (en) 2019-02-07
WO2017133771A1 (en) 2017-08-10
US20200356698A1 (en) 2020-11-12
US11080428B2 (en) 2021-08-03
EP3411786A1 (en) 2018-12-12
US11687673B2 (en) 2023-06-27
CN108604188B (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
US11881937B2 (en) System, method and computer program product for credential provisioning in a mobile device platform
KR102347659B1 (ko) 디바이스의 보안 프로비저닝 및 관리
US11711222B1 (en) Systems and methods for providing authentication to a plurality of devices
CN106105138B (zh) 使用数字证书来认证虚拟机图像
US20180367528A1 (en) Seamless Provision of Authentication Credential Data to Cloud-Based Assets on Demand
US9998438B2 (en) Verifying the security of a remote server
US11722517B1 (en) Predictive modeling for anti-malware solutions
US20150235042A1 (en) Systems and methods for authenticating an application
US10812272B1 (en) Identifying computing processes on automation servers
US20230370469A1 (en) Entity authentication for pre-authenticated links
CN107358118B (zh) Sfs访问控制方法及系统、sfs及终端设备
CN116192483A (zh) 认证鉴权方法、装置、设备及介质
JP6584500B2 (ja) トラステッドプラットフォームモジュールにおけるオペレーティングシステムコンテキストの表現
US11687673B2 (en) Actor migration
US9971884B1 (en) Providing credentials in an automated machine-to-machine communication system environment
US10419439B1 (en) Authentication and authorization without the use of supplicants
CN110771087A (zh) 私钥更新
US11977620B2 (en) Attestation of application identity for inter-app communications
US10372484B2 (en) Secured computing system
Falk et al. Advanced Device Authentication for the Industrial Internet of Things

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181010

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200204

R150 Certificate of patent or registration of utility model

Ref document number: 6656388

Country of ref document: JP

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