分散コンピューティング において、コードモビリティとは、実行中のプログラム、コード、またはオブジェクトをあるマシンまたはアプリケーションから別のマシンまたはアプリケーションに移行(または移動)する機能です。 [1]これは、データが移動する分散コンピューティングとは対照的に、ネットワークのノード間でモバイルコードを移動するプロセスです。
分散システムでは、データではなく、システムの各部分間でコードやプロセスを移動することが一般的です。[1]
コードモビリティの例としては、ネットワーク経由でダウンロードされたスクリプト(JavaScript、VBScriptなど)、Javaアプレット、ActiveXコントロール、Flashアニメーション、Shockwaveムービー(およびXtra)、Microsoft Officeドキュメントに埋め込まれたマクロなどが挙げられます。[2]
概要
コード モビリティの目的は、高度な操作をサポートすることです。たとえば、アプリケーションはオブジェクトを別のマシンに送信し、そのオブジェクトはリモート マシン上のアプリケーション内で、元のアプリケーションと同じ状態で実行を再開できます。
Fuggetta、Picco、Vigna らが提案した分類によると、[1]コード モビリティは強いものと弱いもののいずれかになります。 強いコード モビリティでは、コード、データ、実行状態の両方を、特にプロセス イメージを介して、あるホストから別のホストに移動します (これは、実行中のアプリケーションがホスト間で移行する際に状態を維持する必要がある場合に重要です)。一方、弱いコード モビリティでは、コードとデータのみが移動します。そのため、宛先ホストでプログラムの実行を再開する必要がある場合があります。
コードモビリティにはいくつかのパラダイム、あるいはアーキテクチャスタイルが存在します。[1]
- リモート評価- クライアントはコードを実行するためにリモート マシンに送信します。
- オンデマンド コード- クライアントはリモート マシンからコードをダウンロードしてローカルで実行します。
- モバイル エージェント- マシン間で自律的に移行できるオブジェクトまたはコード。
ウイルス
モバイル コードは、電子メール経由でクライアント ワークステーションにダウンロードされ、実行されることもあります。モバイル コードは、電子メールの添付ファイル (例: Word ファイルのマクロ) または HTML 形式の電子メール本文 (例: JavaScript) 経由でダウンロードされることがあります。たとえば、ILOVEYOU、TRUELOVE、AnnaK の電子メール ウイルス/ワームはすべて、モバイル コード (Windows Scripting Host で実行される .vbs 電子メール添付ファイル内の VBScript) として実装されています。ほとんどの場合、ユーザーは、モバイル コードがワークステーションにダウンロードされ、実行されていることに気づきません。[引用が必要]
レンタルコード
モバイル コードとは、ソフトウェア パッケージをより手頃な価格で提供する方法として、「レンタル用」のコードも指します。つまり、オンデマンドで使用できるようにすることです。これは、携帯電話、PDA などが一体となった、開発中のモバイル デバイスに特に関係します。ソフトウェア パッケージをインストールする代わりに、「リース」して、使用量に応じて料金を支払うことができます。[引用が必要]
参照
参考文献
- ^ abcd Fuggetta, Alfonso; Gian Pietro Picco; Giovanni Vigna (1998). 「コードモビリティの理解」. IEEE Transactions on Software Engineering . 24 (5): 342–361. CiteSeerX 10.1.1.20.3442 . doi :10.1109/32.685258. ISSN 0098-5589 . 2009年7月29日閲覧。
- ^ Dr Lawrie Brown. 「モバイルコードセキュリティ」。オーストラリア国防軍士官学校。2012年4月3日時点のオリジナルよりアーカイブ。2012年4月23日閲覧。
