(57)【要約】      （修正有）【課題】起動システム、起動プログラムおよびその方法を提供する。【解決手段】起動元装置２と起動対象装置４とは、転送ＩＦ＃１を介して接続されている。この転送ＩＦ＃１は、起動対象装置４のＢＩＯＳが起動をサポートしているインターフェースである。起動元装置２は、起動対象装置４に対し、転送ＩＦ＃１を介して、起動対象装置４が転送ＩＦ＃１以外の、ＢＩＯＳがサポートしていないインターフェースも含む接続を確立し、使用できるようにするための起動データである第１のオブジェクトを転送する。起動対象装置４が転送ＩＦ＃１以外のインターフェースを使用できるようになった後、起動元装置２は、転送ＩＦ＃１，＃２および＃３を介して、起動対象装置４のＯＳなどを起動させるための起動データである第２のオブジェクトを、起動対象装置４に対して転送し、起動対象装置４を起動する。【選択図】図３
2008269288.tif 000002
【特許請求の範囲】
【請求項１】
起動対象装置と、この起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを有する起動元装置とを有する起動システムであって、前記起動対象装置と前記起動元装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、
前記第１のオブジェクトを、前記起動元装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第１転送手段と、
前記起動対象装置に前記第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理手段と、
前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替手段と、
前記第２のオブジェクトを、前記起動元装置から前記１つ以上の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第２転送手段と、
前記起動対象装置に前記第２のオブジェクトを起動させるオブジェクト起動手段と
を有する起動システム。
【請求項２】
前記第２転送手段は、
前記第２のオブジェクトを、前記起動元装置から、２つ以上の前記起動オブジェクト転送経路それぞれを介して、並列に分散させるようにして前記起動対象装置へ転送する
請求項１に記載の起動システム。
【請求項３】
前記起動対象装置は、
前記第２のオブジェクトを転送するオブジェクト転送手段と、
前記第２のオブジェクトの転送が開始された後、前記１つ以上の起動オブジェクト転送経路が変更された場合に、前記転送経路切替手段によって前記変更された起動オブジェクト転送経路を介して第２のオブジェクトの転送を継続させる転送継続手段と
を有する
請求項１または２のいずれかに記載の起動システム。
【請求項４】
前記起動元装置は、
前記第１のオブジェクトおよび第２のオブジェクトを、前記起動対象装置または前記起動オブジェクト転送経路に応じて動的に加工するオブジェクト動的加工手段
を有する
請求項１から３のいずれかに記載の起動システム。
【請求項５】
前記起動オブジェクト転送経路の情報漏洩上の安全性を判断する安全性判断手段と、
前記起動オブジェクト転送経路の情報漏洩上の安全性が所定の値より低い場合に、前記起動元装置および前記起動対象装置に対し、情報漏洩上の安全性が所定の値より高い前記起動オブジェクト転送経路を介して暗号化に用いる鍵の共有を行わせる暗号化鍵共有手段と、
前記情報漏洩上の安全性が所定の値より低い起動オブジェクト転送経路を、暗号化された起動オブジェクト転送経路として確立する暗号化転送経路確立手段と
をさらに有する請求項１から４のいずれかに記載の起動システム。
【請求項６】
前記第２転送手段による第２のオブジェクトの転送速度を監視する転送速度監視手段と、
前記監視された転送速度に基づいて、前記第２のオブジェクトの転送速度が前記監視された転送速度よりも速くなるような前記起動オブジェクト転送経路を検索する転送経路検索手段と
をさらに有し、
前記転送経路切替手段は、前記検索された起動オブジェクト転送経路を使用可能とするように転送経路を切り替える、または、追加する
請求項１から５のいずれかに記載の起動システム。
【請求項７】
起動対象装置と、前記起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを格納する記憶装置とを有する起動システムであって、前記起動対象装置と前記記憶装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、
前記起動対象装置は、
前記記憶装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して転送される第１のオブジェクトを読み込む第１オブジェクト読込手段と、
前記読み取った第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理手段と、
前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替手段と、
前記記憶装置から、前記動作可能な１つ以上のインターフェースのうちのいずれかを用いた第２の起動オブジェクト転送経路を介して転送される第２のオブジェクトを読み込む第２オブジェクト読込手段と、
第２のオブジェクトを起動させるオブジェクト起動手段と
を有する
起動システム。
【請求項８】
前記起動対象装置は、
前記第２のオブジェクトの転送を開始した後、前記１つ以上の起動オブジェクト転送経路が変更された場合に、前記転送経路切替手段によって前記変更された起動オブジェクト転送経路を介して第２のオブジェクトの転送を継続させる転送継続手段
をさらに有する
請求項７に記載の起動システム。
【請求項９】
起動対象装置と、この起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを有する起動元装置とを有する起動システムにおける起動方法であって、前記起動対象装置と前記起動元装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、
前記第１のオブジェクトを、前記起動元装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第１転送ステップと、
前記起動対象装置に前記第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理ステップと、
前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替ステップと、
前記第２のオブジェクトを、前記起動元装置から前記１つ以上の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第２転送ステップと、
前記起動対象装置に前記第２のオブジェクトを起動させるオブジェクト起動ステップと
を含む起動方法。
【請求項１０】
起動対象装置と、前記起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを格納する記憶装置とを有する起動システムにおける起動方法であって、前記起動対象装置と前記記憶装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、
前記起動対象装置において、
前記記憶装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して転送される第１のオブジェクトを読み込む第１オブジェクト読込ステップと、
前記読み取った第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理ステップと、
前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替ステップと、
前記記憶装置から、前記動作可能な１つ以上のインターフェースのうちのいずれかを用いた第２の起動オブジェクト転送経路を介して転送される第２のオブジェクトを読み込む第２オブジェクト読込ステップと、
第２のオブジェクトを起動させるオブジェクト起動ステップと
を含む
起動方法。
【請求項１１】
コンピュータである起動対象装置と、この起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを有するコンピュータである起動元装置とを有する起動システムにおける起動プログラムであって、前記起動対象装置と前記起動元装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、
前記第１のオブジェクトを、前記起動元装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第１転送ステップと、
前記起動対象装置に前記第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理ステップと、
前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替ステップと、
前記第２のオブジェクトを、前記起動元装置から前記１つ以上の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第２転送ステップと、
前記起動対象装置に前記第２のオブジェクトを起動させるオブジェクト起動ステップと
を、前記起動対象装置または前記起動元装置に実行させる
起動プログラム。
【請求項１２】
コンピュータである起動対象装置と、前記起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを格納する記憶装置とを有する起動システムにおける起動プログラムであって、前記起動対象装置と前記記憶装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、
前記記憶装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して転送される第１のオブジェクトを読み込む第１オブジェクト読込ステップと、
前記読み取った第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理ステップと、
前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替ステップと、
前記記憶装置から、前記動作可能な１つ以上のインターフェースのうちのいずれかを用いた第２の起動オブジェクト転送経路を介して転送される第２のオブジェクトを読み込む第２オブジェクト読込ステップと、
第２のオブジェクトを起動させるオブジェクト起動ステップと
を、前記起動対象装置に実行させる
起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動システム、起動プログラムおよびその方法に関する。
特に、汎用コンピュータ装置として動作する起動対象装置を、外部装置である起動元装置あるいは外部記憶装置から起動させて利用する利用形態に関する。
【背景技術】
【０００２】
例えば、特許文献１は、物理的な光学メディアデバイスの内容を表す光学メディアイメージを光学メディアイメージソースからランダムアクセスメモリーにロードし、光学メディアイメージを使用することで物理的な光学メディアデバイスをエミュレートする方法を開示する。
また、特許文献２は、ハードディスクイメージファイル等からＯＳを起動する方法を開示する。
また、特許文献３は、ＣＰＵの動作モードをリアルモードとプロテクトモードとに適宜切り換えて、１Ｍ バイト以上のメモリ領域にロードしたデータと１Ｍバイト以下のメモリ領域にロードされているデータとを交換しながら実行することを繰り返すことが可能な計算機を開示する。
また、特許文献４は、コンピュータの半電源オン状態でマルチメディア・ファイルを再生するための方法を開示する。
また、特許文献５は、マルチプロセッサ・システムにおいて、複数のブート・シーケンス・タスクを実行することによってシステムをブートする方法を開示する。
また、特許文献６は、プログラムまたはデータを読込んで処理する場合、副次的なプログラムまたはデータを先に読込み、次にメインゲームのプログラムまたはデータを読込む方法を開示する。
【特許文献１】米国特許出願２００５０２１０２２８
【特許文献２】特開２００５−３２７２１６
【特許文献３】特開２００６−２８５７９８
【特許文献４】特開２００４−０７０６９０
【特許文献５】特表２００２−５２５７４５
【特許文献６】特許２７４２３９４
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであって、起動システム、起動プログラムおよびその方法を提供することを目的とする。
特に、汎用コンピュータ装置として動作する起動対象装置を、外部装置である起動元装置あるいは外部記憶装置から起動させて利用する利用形態に関する。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明にかかる起動システムは、起動対象装置と、この起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを有する起動元装置とを有する起動システムであって、前記起動対象装置と前記起動元装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、前記第１のオブジェクトを、前記起動元装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第１転送手段と、前記起動対象装置に前記第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理手段と、前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替手段と、前記第２のオブジェクトを、前記起動元装置から前記１つ以上の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第２転送手段と、前記起動対象装置に前記第２のオブジェクトを起動させるオブジェクト起動手段とを有する。
【０００５】
好適には、前記第２転送手段は、前記第２のオブジェクトを、前記起動元装置から、２つ以上の前記起動オブジェクト転送経路それぞれを介して、並列に分散させるようにして前記起動対象装置へ転送する。
【０００６】
好適には、前記起動対象装置は、前記第２のオブジェクトを転送するオブジェクト転送手段と、前記第２のオブジェクトの転送が開始された後、前記１つ以上の起動オブジェクト転送経路が変更された場合に、前記転送経路切替手段によって前記変更された起動オブジェクト転送経路を介して第２のオブジェクトの転送を継続させる転送継続手段とを有する。
【０００７】
好適には、前記起動元装置は、前記第１のオブジェクトおよび第２のオブジェクトを、前記起動対象装置または前記起動オブジェクト転送経路に応じて動的に加工するオブジェクト動的加工手段を有する。
【０００８】
好適には、前記起動オブジェクト転送経路の情報漏洩上の安全性を判断する安全性判断手段と、前記起動オブジェクト転送経路の情報漏洩上の安全性が所定の値より低い場合に、前記起動元装置および前記起動対象装置に対し、情報漏洩上の安全性が所定の値より高い前記起動オブジェクト転送経路を介して暗号化に用いる鍵の共有を行わせる暗号化鍵共有手段と、前記情報漏洩上の安全性が所定の値より低い起動オブジェクト転送経路を、暗号化された起動オブジェクト転送経路として確立する暗号化転送経路確立手段とをさらに有する。
【０００９】
好適には、前記第２転送手段による第２のオブジェクトの転送速度を監視する転送速度監視手段と、前記監視された転送速度に基づいて、前記第２のオブジェクトの転送速度が前記監視された転送速度よりも速くなるような前記起動オブジェクト転送経路を検索する転送経路検索手段とをさらに有し、前記転送経路切替手段は、前記検索された起動オブジェクト転送経路を使用可能とするように転送経路を切り替える、または、追加する。
【００１０】
また、本発明にかかる起動システムは、起動対象装置と、前記起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを格納する記憶装置とを有する起動システムであって、前記起動対象装置と前記記憶装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、前記起動対象装置は、前記記憶装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して転送される第１のオブジェクトを読み込む第１オブジェクト読込手段と、前記読み取った第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理手段と、前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替手段と、前記記憶装置から、前記動作可能な１つ以上のインターフェースのうちのいずれかを用いた第２の起動オブジェクト転送経路を介して転送される第２のオブジェクトを読み込む第２オブジェクト読込手段と、第２のオブジェクトを起動させるオブジェクト起動手段とを有する。
【００１１】
好適には、前記起動対象装置は、前記第２のオブジェクトの転送を開始した後、前記１つ以上の起動オブジェクト転送経路が変更された場合に、前記転送経路切替手段によって前記変更された起動オブジェクト転送経路を介して第２のオブジェクトの転送を継続させる転送継続手段をさらに有する。
【００１２】
また、本発明にかかる起動方法は、起動対象装置と、この起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを有する起動元装置とを有する起動システムにおける起動方法であって、前記起動対象装置と前記起動元装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、前記第１のオブジェクトを、前記起動元装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第１転送ステップと、前記起動対象装置に前記第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理ステップと、前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替ステップと、前記第２のオブジェクトを、前記起動元装置から前記１つ以上の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第２転送ステップと、前記起動対象装置に前記第２のオブジェクトを起動させるオブジェクト起動ステップとを含む。
【００１３】
また、本発明にかかる起動方法は、起動対象装置と、前記起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを格納する記憶装置とを有する起動システムにおける起動方法であって、前記起動対象装置と前記記憶装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、前記起動対象装置において、前記記憶装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して転送される第１のオブジェクトを読み込む第１オブジェクト読込ステップと、前記読み取った第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理ステップと、前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替ステップと、前記記憶装置から、前記動作可能な１つ以上のインターフェースのうちのいずれかを用いた第２の起動オブジェクト転送経路を介して転送される第２のオブジェクトを読み込む第２オブジェクト読込ステップと、第２のオブジェクトを起動させるオブジェクト起動ステップとを含む。
【００１４】
また、本発明にかかる起動プログラムは、コンピュータである起動対象装置と、この起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを有するコンピュータである起動元装置とを有する起動システムにおける起動プログラムであって、前記起動対象装置と前記起動元装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、前記第１のオブジェクトを、前記起動元装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第１転送ステップと、前記起動対象装置に前記第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理ステップと、前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替ステップと、前記第２のオブジェクトを、前記起動元装置から前記１つ以上の起動オブジェクト転送経路を介して前記起動対象装置へ転送する第２転送ステップと、前記起動対象装置に前記第２のオブジェクトを起動させるオブジェクト起動ステップとを、前記起動対象装置または前記起動元装置に実行させる。
【００１５】
また、本発明にかかる起動プログラムは、コンピュータである起動対象装置と、前記起動対象装置を起動させるための第１のオブジェクトおよび第２のオブジェクトを格納する記憶装置とを有する起動システムにおける起動プログラムであって、前記起動対象装置と前記記憶装置とは、１つ以上のインターフェースを用いて接続可能であり、前記第１のオブジェクトおよび第２のオブジェクトは、前記１つ以上のインターフェースの内の１つ以上を用いた起動オブジェクト転送経路を介して転送され、前記記憶装置から第１のインターフェースを用いた第１の起動オブジェクト転送経路を介して転送される第１のオブジェクトを読み込む第１オブジェクト読込ステップと、前記読み取った第１のオブジェクトを起動させ、１つ以上のインターフェースを動作可能とするように処理するインターフェース動作処理ステップと、前記動作可能とされたインターフェースを用いた１つ以上の起動オブジェクト転送経路を使用可能とするように転送経路を切り替える転送経路切替ステップと、前記記憶装置から、前記動作可能な１つ以上のインターフェースのうちのいずれかを用いた第２の起動オブジェクト転送経路を介して転送される第２のオブジェクトを読み込む第２オブジェクト読込ステップと、第２のオブジェクトを起動させるオブジェクト起動ステップとを、前記起動対象装置に実行させる。
【発明の効果】
【００１６】
本発明によれば、前述の発明が解決しようとする課題に対して、特に大量生産を目的に低コストあるいは汎用的に設計された起動元装置、記憶装置、起動対象装置を組み合わせた場合においても現実的に利用可能である利便性の高い起動システム、起動プログラムおよびその方法を提供することができる。
【発明を実施するための最良の形態】
【００１７】
［本発明の背景］
本発明の理解を助けるために、まず、本発明がなされるに至った背景を説明する。
近年、汎用コンピュータ装置の普及、汎用コンピュータ装置で利用される各種インターフェースの高速化、記憶装置（または記憶媒体）の大容量化、ネットワークの高速化、セキュリティ上の理由などにより、汎用コンピュータ装置を内蔵のハードディスクドライブ（あるいは半導体ディスク）などの内部記憶装置からだけではなく、外部の記憶装置から起動させて利用する利用形態が、改めて増加してきている。
これらの利用形態は、ハードディスクドライブが一般的に使用される以前にも、フロッピー（登録商標）ディスクなどを用いて汎用コンピュータ装置を起動して利用する方式として幅広く利用されていたが、その後、汎用コンピュータ装置で利用するＯＳやアプリケーションがハードディスクの存在を前提とした環境を構築するにつれて低減していった。
【００１８】
汎用コンピュータ装置を起動対象装置とする前記利用形態は、基本的に、起動対象装置が、そのファームウェア（あるいはＢＩＯＳ（Basic Input/Output System）など）で本来的にサポートしている起動インターフェース経由で、起動に必要となる起動データを外部装置から読み込むことにより実現される。
具体的な実例としては、ライブＣＤ等で代表されるように、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の外部記憶媒体から起動対象装置である汎用コンピュータ装置を直接起動して利用する方法や、ネットワークインターフェース経由でネットワークブートを行うディスクレスコンピュータなどが、一般的に存在している。
【００１９】
前述した例に加えて、ファームウェアの変更を必要とせずに、ファームウェアで直接サポートされていないインターフェース経由でも起動データの読み込みを可能とさせるために、拡張ブートローダーを用いる方式も存在する。
例えば、ＵＳＢ（Universal Serial Bus）インターフェースおよびネットワークインターフェースからの直接ブートはサポートしていないが、ＣＤ−ＲＯＭやフロッピーディスク装置からの直接起動はサポートしているファームウェアを搭載した汎用コンピュータ装置である起動対象装置において、ＣＤ−ＲＯＭあるいはフロッピーディスク媒体に、ＵＳＢインターフェースあるいはネットワークからのブートを可能とする拡張ブートローダーとして動作するプログラムを記憶させておき、起動対象装置の起動で最初に拡張ブートローダーを読み込み、その後、間接的に拡張されたＵＳＢインターフェースあるいはネットワークインターフェースからの起動に必要な起動データの読み込みを行う方式が存在する。
【００２０】
一方で、前記汎用コンピュータ装置を起動させるために用いられる起動プロセスに関しても、特定の用途や条件に合わせて様々な改善が加えられてきた。
特に、コスト上の利点から、ハードウエアの改善ではなく、ソフトウエアの改善により利便性の改善を追求する例も数多く存在する。
具体的な改善内容は様々であるが、例えば、起動インターフェースに依存しないように起動対象装置で利用する起動データを効率的に管理する手法、特定の環境下において起動対象装置をより高速に起動させる手法、および、システム起動時の待ち時間を利用者に体感させなくさせる為の各種手法が提案されてきている。
【００２１】
ここで、上記で述べた技術の問題点について記述する。
上述した既存技術においては、ある特定のインターフェース（拡張ブートローダーで拡張されたインターフェースも含む）で起動対象装置が利用する起動データの転送が一旦開始された後は、その固定のインターフェースのみを経由して全ての起動データの転送を完了させることを前提としている。
この方式でも、転送に利用するインターフェースの速度が十分高速であり、転送しなければならないデータ量が相対的に小規模である場合においては、起動データの転送が完了し起動対象装置が利用可能となるまでの待ち時間が短時間であるため、利用者の利便性の低減として具体化することは無かった。
【００２２】
しかし、資源の限られたデバイス、たとえば、ＰＤＡ（Personal Digital Assistants）、スマートフォン、携帯電話、あるいは携帯型メディアプレーヤーなどのうち、特にコスト上の理由などによりハードウエア的にUSB2.0ではなくUSB1.1を利用するＵＳＢインターフェースを持つデバイスを、外部の起動元装置として利用し、さらに、起動対象装置となる汎用コンピュータ装置等においても、汎用の大規模なコンピューターオペレーティングシステムおよびそのオペレーティングシステム上で動作するアプリケーションソフトウエアなどを含み、データ量が数百メガバイト以上となる相対的に大規模な起動データを、起動対象装置の起動に際して転送しなければならない場合においては、USB1.1インターフェースは相対的に転送速度が遅いため、起動データの転送が完了するまでの時間が数十分から一時間以上と相対的に非常に長くなってしまう。
このことは、利用者の待ち時間という観点からも、起動対象装置を起動する際に占有される起動元装置のコンピュータ資源の観点からも、起動システムの可搬性の観点からも、前述した利用形態が現実的であるとはいえない状況を発生させる。
【００２３】
他にも、外部の記憶装置から起動対象装置を起動する場合において、例えば、外部記憶装置として、ＳＤ（Secure Digital）メモリカードとしてもＵＳＢメモリカードとしても動作するような複数インターフェースをもつ記憶装置を使用し、さらに、起動対象装置として、外部に面するＵＳＢポートとＳＤカードを内蔵可能なメモリカードスロットとの両方のインターフェースを持ち、ファームウェアとしてはＵＳＢインターフェースからの直接起動はサポートしているがＳＤメモリカードスロットからの直接起動はサポートしていない携帯型の汎用コンピュータ装置を使用する際、背景技術で説明した既存技術においては、一旦ＵＳＢインターフェース経由で記憶装置から起動データの転送が開始されると、転送が完了するまで記憶装置が起動対象装置から突き出した形でＵＳＢインターフェース経由に接続されたままになり、起動中の起動対象装置の可搬性が損なわれる状況が発生する。
上記の説明は、一般のＳＤメモリカードを、ＵＳＢ形式のＳＤカードリーダーアダプタを経由させて利用させることによりＵＳＢメモリカードとして動作させる場合においても、起動中の起動対象装置の可搬性の低下という面で同様にあてはまる。
【００２４】
上述のような課題を解決するにあたり、より高速なハードウエアを持つ起動元装置を利用することによって利用者の待ち時間を改善し、さらに、起動対象装置の外部形状を工夫することで、起動中の起動対象装置の可搬性を改善することは可能であるが、このようなハードウエア的な変更を伴う解決方法は、一般に装置コストの増加を招く。
また、起動対象装置で用いられるファームウェアを、特定の起動元装置あるいは記憶装置の特性に合わせて特別なものに変更することも可能であるが、このような解決方法は、汎用コンピュータとしての起動対象装置の特性を損ない、また個別の特殊なファームウェアの開発による開発コストの増加を招く。
以下に説明する装置起動システム１は、上記で述べた問題点を解消するように構成されている。
【００２５】
［本発明の実施形態］
以下、本発明の実施形態を説明する。
【００２６】
図１は、本発明の実施形態にかかる装置起動システム１の構成を例示する図である。
図１に示すように、装置起動システム１は、起動元装置２と起動対象装置４とが、データを転送するための転送インターフェース（ＩＦ）を介して接続されて構成される。
起動元装置２は、たとえば、ＰＤＡ、スマートフォン、携帯電話、携帯型メディアプレーヤーあるいは小型ＰＣ（Personal Computer）などの携帯情報端末などであり、図３などを用いて後述するように、起動対象装置４が起動するために必要なデータ（起動データ）を記憶し、起動対象装置４に対して転送する。
なお、起動データは、起動元装置２ではなく、外部の記憶媒体１３２に記憶されるようにしてもよい。
起動対象装置４は、たとえばＰＣなどであり、起動元装置２からの起動データを利用して、自身の起動処理を行う。
【００２７】
転送ＩＦは、たとえば、ＵＳＢ、ＩＥＥＥ１３９４、ｅＳＡＴＡ（External Serial Advanced Technology Attachment）などの汎用バス、Ｅｔｈｅｒｎｅｔ（登録商標）などの有線ＬＡＮ（Local Area Network）、ＷｉＦｉ（Wireless Fidelity）などの無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈなどの無線通信、ＩｒＤＡ（Infrared Data Association）などの赤外線通信等、どのようなインターフェースであってもよい。
なお、転送インターフェースには、ＵＳＢハブ、ＬＡＮスイッチまたはメモリカードリーダーなどのアダプタ機器を含んでいてもよい。
また、転送ＩＦによっては、複数の論理的な接続方式を実現可能である。
たとえば、ＵＳＢインターフェース上においては、ＵＳＢ＿ＣＤ−ＲＯＭ装置またはＵＳＢ＿ハードディスク装置など、個別の論理装置を１つまたは複数同時にエミュレーションしてもよい。
ここで、ＵＳＢ＿ＣＤ−ＲＯＭ装置は、物理的な接続方法としてＵＳＢを、論理的な接続方法としてＣＤ−ＲＯＭ装置を用いていることを示す。以下本願明細書内で同様である。
【００２８】
なお、本願において、「転送ＩＦ」はデータ転送に用いられる起動オブジェクトの転送経路を意味しており、「起動オブジェクト転送経路」と言及した場合には、転送ＩＦ上で実行されている物理的な方式に基づく、あるいは論理的な方式に基づく経路を含む意味で使用される。
ここで、物理的な方式に基づく経路とは、インターフェースを構成する物理的な経路であり、例えばＵＳＢハブを含んだＵＳＢインターフェースによる接続経路などを意味する。
さらに、論理的な方式に基づく経路とは、前記ＵＳＢインターフェースにおけるＵＳＢ＿ＣＤ−ＲＯＭ装置エミュレーション方式などの、論理方式の違いまで含めた接続経路を意味しており、同一の物理的な経路上であっても論理的方式が異なる場合、これらは異なる「起動オブジェクト転送経路」となる。
例えばＵＳＢインターフェースにおけるＵＳＢ＿ＣＤ−ＲＯＭ装置エミュレーション方式と、ＵＳＢインターフェース上におけるＵＳＢ＿ハードディスク装置エミュレーション方式とでは、異なる「起動オブジェクト転送経路」となる。
【００２９】
なお、以下の各図において、実質的に同じ構成部分および処理には同じ番号が付される。
また、以下、起動元装置２など、装置起動システム１において、情報処理および通信の主体となりうる装置を、ノードと総称することがある。
また、以下の各図においては、図示の具体化および明確化のために、本発明の説明に必要ない構成部分については、適宜省略されている。
【００３０】
［ハードウエア］
図２は、図１に示した起動元装置２および起動対象装置４のハードウエア構成を例示する図である。
図２に示すように、起動元装置２および起動対象装置４は、ＣＰＵ１２２およびメモリ１２４などを含む本体１２０、キーボードおよび表示装置などを含む入出力装置１２６、他のノードとの通信を行う通信ＩＦ１２８−１〜１２８−ｎ（ｎは１以上の整数。但し、ｎが常に同じ数であるとは限らない）、および、ＣＤ装置およびＨＤＤ装置など、記憶媒体１３２に対するデータの記録および再生などを行う記憶装置１３０から構成される。
つまり、起動元装置２および起動対象装置４は、情報処理および他のノードとの通信が可能なコンピュータとしてのハードウエア構成部分を有している。
なお、以下、通信ＩＦ１２８−１〜１２８−ｎなど、複数ある構成部分のいずれかを特定せずに示すときには、単に、通信ＩＦ１２８などと略記することがある。
【００３１】
［本実施形態の概略］
図３は、図１に示した装置起動システム１において、起動元装置２を用いて起動対象装置４を起動させる方法の態様を例示する図である。
図３（Ａ）に示すように、起動元装置２と起動対象装置４とは、転送ＩＦ＃１を介して接続されている。
この転送ＩＦ＃１は、起動対象装置４のファームウェアあるいはＢＩＯＳがサポートしているインターフェースであり、たとえばＵＳＢなどである。
なお、本願において、ＢＩＯＳがサポートしている、あるいはＢＩＯＳが起動をサポートしているという表現には、既存技術として説明してある、拡張ブートローダーにより拡張されたインターフェースまでを含めてもよい。
起動元装置２は、起動対象装置４に対し、転送ＩＦ＃１を介して、起動対象装置４が転送ＩＦ＃１以外の、ＢＩＯＳがサポートしていないインターフェースも含めて使用できるようにするための起動データである第１のオブジェクトを転送する。
【００３２】
起動対象装置４が転送ＩＦ＃１以外のインターフェースを使用できるようになった後、図３（Ｂ）に示すように、起動元装置２は、たとえば、転送ＩＦ＃１，＃２および＃３を介して、起動対象装置４のＯＳなどを起動させるための起動データである第２のオブジェクトを、起動対象装置４に対して転送する。
転送ＩＦ＃２および＃３は、たとえば、ＷｉＦｉなどの無線ＬＡＮ、および、ＩｒＤＡなどの赤外線通信等である、
起動対象装置４のＢＩＯＳはこれらのインターフェースからの直接起動をサポートしていないが、これらのインターフェースを併用することで、転送ＩＦ＃１よりもデータ転送速度を速くできる場合が多い。
起動元装置２は、起動対象装置４に対して、転送ＩＦ＃１，＃２および＃３などの複数のインターフェースを介して、起動データをパラレルに転送することが可能である。
【００３３】
図４は、起動元装置２から起動対象装置４に転送される起動データを示す図であり、図４（Ａ）は、図３（Ａ）に示す状態で転送される第１のオブジェクトに含まれる起動データを示し、図４（Ｂ）は、図３（Ｂ）に示す状態で転送される第２のオブジェクトに含まれる起動データを示す。
図４（Ａ）に示すように、図３（Ａ）に示す状態で転送される起動データは、起動対象装置４がインターフェースを確立するために使用するＩＦ確立処理データ、および、確立されたインターフェースを介してデータを転送するための転送制御データを含む。
なお、ＩＦ確立処理データは、図５を用いて後述する態様のように、起動対象装置４が、そのインターフェースによってエミュレーションされるデバイスとのリンクを確立するためのデータも含む。
図４（Ｂ）に示すように、図３（Ｂ）に示す状態で転送される起動データは、ＯＳ起動処理データ、起動画像データ、起動音声データおよび認証情報を含む。
ＯＳ起動処理データは、必須アプリケーションデータ、追加アプリケーションデータおよび任意アプリケーションデータを含む。
【００３４】
ここで、起動画像データは、起動対象装置４がＯＳの起動処理を実行している際に、たとえばモニタなどの入出力装置１２６に表示される画像に関するデータである。
起動音声データは、起動対象装置４がＯＳの起動処理を実行している際に、たとえばスピーカーなどの入出力装置１２６で発せられる音声に関するデータである。
認証情報は、起動対象装置４を使用するユーザなどの認証をするための情報であり、たとえば、暗号データや、指紋などの生体情報などに関する情報を含む。
【００３５】
また、必須アプリケーションデータは、ＯＳを起動させるために必須となるアプリケーションに関するデータであり、たとえば、カーネルなどを含む。
追加アプリケーションデータは、起動したＯＳの元で、ユーザが実際に使用するアプリケーションに関するデータであり、たとえば、オフィスソフトなどを含む。
任意アプリケーションデータは、必要に応じて読み込まれるアプリケーションに関するデータであり、たとえば、ゲームソフトなどを含む。
【００３６】
図５は、図１に示した装置起動システム１において、起動元装置２を用いて起動対象装置４を起動させる方法の態様を例示する図である。
図５（Ａ）に示すように、起動元装置２と起動対象装置４とは、転送ＩＦ＃１を介して接続される。
転送ＩＦ＃１は、図３と同様に、たとえば、ＵＳＢなどであり、さらに、論理的な方式である仮想デバイス＃１をエミュレーションしている。
ここで、仮想デバイス＃１は、起動対象装置４のＢＩＯＳがサポートしているデバイスであり、たとえばＣＤ−ＲＯＭデバイスなどである。
なお、本実施形態においては、仮想デバイスをエミュレートしているインターフェースと、仮想デバイスをエミュレートしていないインターフェースとを、別のインターフェースとして扱うことがある。
【００３７】
起動元装置２は、起動対象装置４に対し、転送ＩＦ＃１を介して、起動対象装置４が転送ＩＦ＃１がエミュレーションしている仮想デバイス＃１以外の、ＢＩＯＳがサポートしていないデバイスも含めたリンクを確立し、そのデバイスを使用できるようにするための起動データ（図４（Ａ）に示す）である第１のオブジェクトを転送する。
起動対象装置４が仮想デバイス＃１以外のデバイスを使用できるようになった後、図５（Ｂ）に示すように、起動元装置２は、たとえば、仮想デバイス＃２をエミュレーションした転送ＩＦ＃１を介して、起動対象装置４のＯＳなどを起動させるための起動データ（図４（Ｂ）に示す）である第２のオブジェクトを、起動対象装置４に対して転送する。
ここで、仮想デバイス＃２は、たとえば、ＮＩＣ（Network Interface Card）などの拡張カードやハードディスクドライブなどを含む。
起動対象装置４のＢＩＯＳは、これらのデバイスからの起動を直接サポートしていない場合が多く、あるいはサポートはしていてもテストが不十分であり、特定のデバイスとの間でしか起動できない場合も多い。
【００３８】
図６は、図１に示した装置起動システム１において、起動元装置２を用いて起動対象装置４を起動させる方法の態様を例示する図である。
図６（Ａ）に示すように、起動元装置２と起動対象装置４とは、転送ＩＦ＃１を介して接続される。
転送ＩＦ＃１は、図３などと同様に、たとえば、ＵＳＢなどである。
記憶媒体１３２は、たとえば、ＳＤ（Secure Digital）メモリカードなどであり、起動対象装置４に関する起動データを記憶しており、起動元装置２に挿入されている。
この記憶媒体１３２は、起動対象装置４のＢＩＯＳからの直接起動についてサポートされていない場合が多い。
【００３９】
起動元装置２は、起動対象装置４に対し、転送ＩＦ＃１を介して、起動対象装置４が転送ＩＦ＃１以外の、ＢＩＯＳがサポートしていないインターフェースも含めて確立し、使用できるようにするための起動データである第１のオブジェクトを転送する。
起動対象装置４が転送ＩＦ＃１以外のインターフェースを使用できるようになった後、図６（Ｂ）に示すように、記憶媒体１３２が起動対象装置４へ挿入されることによって、起動対象装置４は、記憶媒体１３２から、起動対象装置４のＯＳなどを起動させるための起動データである第２のオブジェクトを読み取ることができる。
【００４０】
図７は、起動元装置２を用いないで、起動対象装置４を起動させる方法の態様を例示する図である。
図７（Ａ）に示すように、記憶媒体１３２と起動対象装置４とは、転送ＩＦ＃１を介して接続される。転送ＩＦ＃１は、図３などと同様に、たとえば、ＵＳＢなどである。
より具体的には、ＳＤカードをＵＳＢメモリとして読み取るメモリカードリーダーを介して接続した場合、あるいは、ＳＤカードインターフェースおよびＵＳＢメモリカードインターフェースの２種類の異なるインターフェースを同時に有する記憶装置をＵＳＢインターフェースで接続した場合などである。
【００４１】
起動対象装置４は、転送ＩＦ＃１を介して、記憶媒体１３２から、転送ＩＦ＃１以外の、ＢＩＯＳで直接起動をサポートしていないインターフェースを含めて確立し、使用できるようにするための起動データである第１のオブジェクトを読み取る。
起動対象装置４が転送ＩＦ＃１以外のインターフェースを使用できるようになった後、図７（Ｂ）に示すように、記憶媒体１３２が起動対象装置４へ挿入されることによって、起動対象装置４は、記憶媒体１３２から、起動対象装置４のＯＳなどを起動させるための起動データである第２のオブジェクトを読み取ることができる。
【００４２】
［起動元装置プログラム２０］
図８は、図１に示した起動元装置２において動作する起動元装置プログラム２０の構成を示す図である。
図８に示すように、起動元装置プログラム２０は、通信処理部２００、ＯＳ２０２、全体制御部２１０、起動制御部２１２、記憶装置制御部２１４、起動対象装置起動データ格納部２１６、起動データ呼出受信部２２０、起動データ送信部２２２、転送制御部２４およびユーザインターフェース（ＵＩ）制御部２８から構成される。
【００４３】
起動元装置プログラム２０において、通信処理部２００は、転送ＩＦを介して起動対象装置４との間で通信を行うために必要な処理を行う。
全体制御部２１０は、起動元装置プログラム２０の各構成部分を制御する。
つまり、全体制御部２１０は、起動元装置プログラム２０の各構成部分の処理に必要な信号を各構成部分に対して出力し、さらに、各構成部分からの信号を受け入れて、必要な処理を行う。
起動制御部２１２は、起動元装置プログラム２０の各構成部分および他のアプリケーションを起動するための制御を行う。
【００４４】
記憶装置制御部２１４は、起動元装置２に内蔵された記憶装置１３０およびＳＤメモリカード等の外部の記憶媒体１３２に対するデータの読み書きに関する制御を行う。
また、記憶装置制御部２１４は、記憶装置１３０または記憶媒体１３２から、起動対象装置４の起動データを要求するための信号（要求信号）を、全体制御部２１０に対して出力する。
全体制御部２１０は、記憶装置制御部２１４から受け入れた起動データの要求信号を、ＯＳ２０２に対して出力する。
また、全体制御部２１０は、起動データの要求信号に応じて記憶装置１３０または記憶媒体１３２から出力された起動データを、ＯＳ２０２から受け入れ、記憶装置制御部２１４に対して出力する。
記憶装置制御部２１４は、全体制御部２１０から受け入れた起動データを、起動対象装置起動データ格納部２１６に対して出力する。
【００４５】
起動対象装置起動データ格納部２１６は、記憶装置制御部２１４から受け入れた起動データを格納し、管理する。
また、起動対象装置起動データ格納部２１６は、必要に応じて、起動データを後述する起動データ送信部２２２に対して出力する。
なお、起動対象装置起動データ格納部２１６は、起動対象装置４のアプリケーションに応じた複数の種類の起動データを格納することが可能であり、また起動データは一度にデータ全体を格納せずに、部分データを複数回にわけて格納して解放するように動作することが可能である。
【００４６】
起動データ呼出受信部２２０は、起動対象装置４から、起動対象装置４の起動データを呼び出すための信号（起動データ呼出信号）を受信し、起動対象装置起動データ格納部２１６に対して出力する。
起動対象装置起動データ格納部２１６は、起動データ呼出受信部２２０から起動データ呼出信号を受け入れると、その起動データ呼出信号を送信した起動対象装置４に対応する起動データを、起動データ送信部２２２に対して出力する。
起動データ送信部２２２は、起動対象装置起動データ格納部２１６からの起動データを、通信処理部２００および転送ＩＦを介して起動対象装置４に対して送信する。
【００４７】
図９は、図８に示した転送制御部２４の構成を示す図である。
図９に示すように、転送制御部２４は、転送ＩＦリンク確立制御部２４０、転送ＩＦ変更制御部２４２、転送ＩＦ＃１制御部２４４−１，転送ＩＦ＃２制御部２４４−２，転送ＩＦ＃３制御部２４４−３，転送ＩＦ＃Ｎ制御部２４４−Ｎ（Ｎは１以上の整数。但し、全てのＮが同じ数とは限らない）、転送ＩＦ制御信号受信部２４６、転送速度判定部２４８、転送速度実績データベース（ＤＢ）２５０、エミュレーション制御部２５２、仮想デバイスＤＢ２５４、暗号化経路制御部２５６および安全性評価ＤＢ２５８から構成される。
なお、転送ＩＦ＃１制御部２４４−１，転送ＩＦ＃２制御部２４４−２，転送ＩＦ＃３制御部２４４−３，転送ＩＦ＃Ｎ制御部２４４−Ｎのいずれかを特性せずに示すときには、単に転送ＩＦ制御部２４４などと略記することがある。
転送制御部２４は、これらの構成部分により、起動元装置２と起動対象装置４との間のインターフェースの確立処理を行い、転送ＩＦを介したデータの転送に関する制御を行う。
また、転送制御部２４は、起動元装置２と起動対象装置４との間のインターフェースの変更処理を行う。
【００４８】
転送制御部２４において、転送ＩＦリンク確立制御部２４０は、全体制御部２１０の制御に応じて、転送元装置２と起動対象装置４とのインターフェースのリンクの確立処理を行う。
また、転送ＩＦリンク確立制御部２４０は、転送ＩＦ変更制御部２４２からの制御信号に応じて、変更されたインターフェースのリンクを確立する処理を行う。
さらに、転送ＩＦリンク確立制御部２４０は、使用しているインターフェースの情報を、全体制御部２１０に対して出力する。
【００４９】
転送ＩＦ変更制御部２４２は、転送速度判定部２４８からの信号、または、転送ＩＦ制御信号受信部２４６からの信号に基づいて、起動データ転送に利用するインターフェースを選択する。
なお、転送ＩＦ変更制御部２４２が選択するインターフェースは、１つとは限らず、複数であってもよい。
転送ＩＦ制御信号受信部２４６は、図１０を用いて後述する操作信号入力制御部３００からの信号を全体制御部２１０から受信し、転送ＩＦ変更制御部２４２に対して出力する。
【００５０】
転送速度判定部２４８は、全体制御部２１０を介して、データの転送速度に関する情報（データ転送速度情報）を取得し、取得したデータ転送速度情報を転送速度実績ＤＢ２５０に格納する。
また、転送速度判定部２４８は、取得したデータ転送速度情報に基づいて、現在のデータ転送速度が所定の速度よりも速いか否かを判定する。
データ転送速度が所定の速度よりも遅い場合、転送速度判定部２４８は、転送速度実績ＤＢ２５０内のデータ転送速度情報に基づいて、接続するインターフェースを決定する。
これによって、データ転送を最も早く行える起動オブジェクト転送経路を決定できるので、データ転送速度を最適化することが可能となる。
さらに、転送速度判定部２４８は、決定したインターフェースを示す信号を転送ＩＦ変更制御部２４２に対して出力する。
【００５１】
転送ＩＦ変更制御部２４２は、選択したインターフェースに応じて、転送ＩＦ制御部２４４またはエミュレーション制御部２５２に対し、変更制御のための信号を要求する。
つまり、転送ＩＦ変更制御部２４２は、選択したインターフェースが転送ＩＦ＃ｉ（ｉは１以上Ｎ以下の整数。但し、全てのｉが同じ数とは限らない）ならば転送ＩＦ＃ｉ制御部２４４−ｉに対し、転送ＩＦ＃ｉを使用できるようにするための信号を要求する。
さらに、その転送ＩＦ＃ｉが他の仮想デバイスをエミュレーションするように選択された場合、転送ＩＦ変更制御部２４２は、エミュレーション制御部２５２に対し、選択された仮想デバイスをエミュレーションするための信号を要求する。
【００５２】
転送ＩＦ＃ｉ制御部２４４−ｉは、転送ＩＦ＃ｉを介したデータの転送処理を制御する。
さらに、転送ＩＦ＃ｉ制御部２４４−ｉは、転送ＩＦ変更制御部２４２からの要求信号に基づいて、転送ＩＦ＃ｉを使用できるようにするための信号を、転送ＩＦ変更制御部２４２に対して出力する。
エミュレーション制御部２５２は、転送ＩＦ変更制御部２４２からの要求信号に基づいて、仮想デバイスＤＢ２５４から、転送ＩＦがエミュレーションする仮想デバイスを選択する。
さらに、エミュレーション制御部２５２は、転送ＩＦが、選択された仮想デバイスをエミュレーションするための信号を、転送ＩＦ変更制御部２４２に対して出力する。
以上のようにして、起動データを転送するための起動オブジェクト転送経路が決定される。
【００５３】
また、転送ＩＦ変更制御部２４２は、選択した起動オブジェクト転送経路に関する情報（起動オブジェクト転送経路情報）を、暗号化経路制御部２５６に対して出力する。
暗号化経路制御部２５６は、転送ＩＦ変更制御部２４２からの起動オブジェクト転送経路情報が、安全性評価ＤＢ２５８に格納されているか否か検索する。
安全性評価ＤＢ２５８は、起動オブジェクト転送経路情報と、起動オブジェクト転送経路の情報漏洩上の安全性に関する安全度とを、それぞれ関連付けて格納する。
暗号化経路制御部２５６は、起動オブジェクト転送経路情報が安全性評価ＤＢ２５８に格納されていない場合、および、格納されていてもその起動オブジェクト転送経路の安全度が所定値よりも低い場合は、以下に示す暗号化処理に関する制御を行う。
【００５４】
すなわち、暗号化経路制御部２５６は、安全度が所定値より高い起動オブジェクト転送経路を介して、暗号化に使用する鍵情報（暗号化鍵情報）を起動対象装置４と共有するための処理を制御する。
また、暗号化経路制御部２５６は、前述の安全度が所定値よりも低い起動オブジェクト転送経路を介して起動データが転送される際に、起動データを暗号化するための処理を制御する。
さらに、暗号化経路制御部２５６は、前述した処理を実行するための信号を、転送ＩＦ変更制御部２４２および通信処理部２００に対して出力する。
転送ＩＦ変更制御部２４２は、安全度が所定値より高い起動オブジェクト転送経路を、暗号化鍵情報を転送するための経路として確立するための処理を行う。
通信処理部２００は、暗号化鍵情報を起動対象装置４と共有するための処理、および、起動データを暗号化するための処理を行う。
【００５５】
例えば、安全性評価ＤＢ２５８について、すべて有線で接続するような信頼度の高い起動オブジェクト転送経路に対して、所定値より高い安全度を定義しておくようにすることができる。
さらに、例えば、安全度が所定値よりも低い無線ＬＡＮインターフェースを新規の転送ＩＦとして利用する際に、暗号化経路制御部２５６は、インターフェースレベルでの暗号化、例えば無線ＬＡＮにおいてはリンクレベルでのＥＳＳＩＤ（Extended Service Set Identifier）、暗号化方式および暗号化鍵の設定、または、無線ＬＡＮで実際に転送されるデータパケットのデータレベルでの送信側での動的な暗号データへの加工および受信側での復号などを、制御することができる。
【００５６】
図１０は、図８に示したＵＩ制御部２８の構成を示す図である。
図１０に示すように、ＵＩ制御部２８は、画像制御部２８２、起動画像データ管理部２８４、起動画像ＤＢ２８６、音声制御部２８８、起動音声データ管理部２９０、起動音声ＤＢ２９２、認証情報入力制御部２９４、認証情報管理部２９６、認証情報ＤＢ２９８および操作信号入力制御部３００から構成される。
ＵＩ制御部２８は、これらの構成部分により、ユーザとのインターフェースに関する処理を行う。
【００５７】
ＵＩ制御部２８において、画像制御部２８２は、起動元装置２自身または起動対象装置４が起動している間に、起動元装置２のモニタなどの入出力装置１２６に表示される画像を制御する。
この表示される画像とは、たとえば、ユーザ認証のためのパスワード入力画像等の認証画像、起動処理手続きを示すガイダンス表示画像、起動処理の進行状況を示す進行状況表示画像、アニメーションなどを含む。
画像制御部２８２は、モニタなどに表示される画像を制御するために必要なデータ（画像データ）を全体制御部２１０から取得し、必要に応じて起動画像データ管理部２８４に対して出力する。
起動画像データ管理部２８４は、画像制御部２８２からの画像データを管理し、必要に応じて画像制御部２８２に対して出力する。
また、起動画像データ管理部２８４は、画像制御部２８２から受け入れた画像データを、起動画像ＤＢ２８６に格納する。
【００５８】
音声制御部２８８は、起動元装置２自身または起動対象装置４が起動している間に、起動元装置２のスピーカーなどの入出力装置１２６で発せられる音声を制御する。
この発せられる音声とは、たとえば、ＢＧＭ、起動処理手続きを示すガイダンス表示音声などを含む。
音声制御部２８８は、スピーカーなどで発せられる音声を制御するために必要なデータ（音声データ）を全体制御部から取得し、必要に応じて起動音声データ管理部２９０に対して出力する。
起動音声データ管理部２９０は、音声制御部２８８からの音声データを管理し、必要に応じて音声制御部２８８に対して出力する。
また、起動音声データ管理部２９０は、音声制御部２８８から受け入れた音声データを、起動音声ＤＢ２９２に格納する。
【００５９】
認証情報入力制御部２９４は、起動元装置２自身または起動対象装置４が起動している途中で、ユーザの認証を行うための処理を制御する。
つまり、ユーザが、認証画像に応じてキーボードなどの入出力装置１２６を用いてパスワード等の認証情報を入力すると、認証情報入力制御部２９４は、全体制御部２１０からその認証情報を取得する。
さらに、認証情報入力制御部２９４は、認証情報管理部２９６から認証情報を取得し、ユーザからの認証情報が適正か否か判断する。
認証情報入力制御部２９４は、ユーザからの認証情報が適正ならば起動処理を続行するための信号を全体制御部２１０に対して出力し、ユーザからの認証情報が適正でないならば起動処理を中止するための信号を全体制御部２１０に対して出力する。
【００６０】
認証情報管理部２９６は、認証情報ＤＢ２９８に格納されたユーザの認証情報を管理し、必要に応じて認証情報入力制御部２９４に対して出力する。
ここで、認証情報は、たとえば、キーボードから入力されるパスワードだけでなく、起動元装置２に接続された指紋入力装置（図示せず）などから入力される指紋などの生体情報なども含む。
【００６１】
操作信号入力制御部３００は、起動元装置２自身または起動対象装置４が起動している間の、操作信号に応じた起動処理のための制御を行う。
つまり、ユーザが、画像制御部２８２および音声制御部２８８によるガイダンス表示に応じてキーボードなどの入出力装置１２６を操作すると、操作信号入力制御部３００は、全体制御部２１０から、その操作に応じた操作信号を取得する。
さらに、操作信号入力制御部３００は、その操作信号の内容を判断し、その内容に応じた起動処理をするための信号を全体制御部２１０に対して出力する。
【００６２】
［起動対象装置プログラム４０］
図１１は、図１に示した起動対象装置４において動作する起動対象装置プログラム４０の第１の段階の構成を示す図である。
図１１に示すように、第１の段階の起動対象装置プログラム４０は、通信処理部４００、ＢＩＯＳ４０２、全体制御部４０４、起動データ呼出送信部４０８、起動データ受信部４１０、起動データ格納部４１２、ＩＦ確立処理部４３０および転送制御部４４から構成される。
第１の段階の起動対象装置プログラム４０は、これらの構成部分により、ＢＩＯＳ４０２により読み込まれた第１のオブジェクト内部のＩＦ確立処理データに基づいてインターフェースを確立し、図４（Ｂ）に示したＯＳ起動処理データなどの第２のオブジェクトを起動元装置２から受信する。
起動対象装置プログラム４０において、起動データ格納部４１２は、ＢＩＯＳ４０２を用いて起動元装置２から読み込まれた第１のオブジェクトに含まれる、ＩＦ確立処理データおよび転送制御データを格納する。
第１のオブジェクトは、図３（Ａ），図５（Ａ），図６（Ａ）および図７（Ａ）を用いて前述したように、ＢＩＯＳ４０２によって、ＢＩＯＳ４０２がサポートするインターフェースを介して読み込まれるが、拡張ブートローダーによって拡張されたインターフェースを介して読み込まれるようにしてもよい。
【００６３】
全体制御部４０４は、起動データ格納部４１２に対し、ＩＦ確立処理データおよび転送制御データを出力するように要求する。
起動データ格納部４１２は、全体制御部４０４からの要求に応じて、ＩＦ確立処理データおよび転送制御データを出力する。
全体制御部４０４は、受け入れた起動データに基づいて、ＩＦ確立処理部４３０および転送制御部４４を動作状態とする処理を行う。
動作状態となったＩＦ確立処理部４３０は、ＢＩＯＳ４０２がサポートしていないインターフェースを含めたインターフェースを確立するための処理を行う。
つまり、ＩＦ確立処理部４３０は、転送制御部４４に対し、ＢＩＯＳ４０２がサポートしていないインターフェースを含めたインターフェースを確立するための信号を出力する。
【００６４】
図１２は、図１１に示した転送制御部４４の構成を示す図である。
図１２に示すように、転送制御部４４は、転送ＩＦリンク確立制御部４４０、転送ＩＦ変更制御部４４２、転送ＩＦ＃１制御部４４４−１，転送ＩＦ＃２制御部４４４−２，転送ＩＦ＃３制御部４４４−３，転送ＩＦ＃Ｎ制御部４４４−Ｍ（Ｍは１以上の整数。但し、全てのＭが同じ数とは限らない）、転送ＩＦ制御信号受信部４４６、転送速度判定部４４８、転送速度実績ＤＢ４５０、エミュレーション制御部４５２、仮想デバイスＤＢ４５４、暗号化経路制御部４５６および安全性評価ＤＢ４５８から構成される。
転送制御部４４は、これらの構成部分により、起動元装置２と起動対象装置４との間のインターフェースの確立処理を行い、転送ＩＦを介したデータの転送に関する制御を行う。
また、転送制御部４４は、起動元装置２と起動対象装置４との間のインターフェースの変更処理を行う。
【００６５】
転送制御部４４において、転送ＩＦリンク確立制御部４４０は、ＩＦ確立処理部４３０からの信号に応じて、転送元装置２と起動対象装置４とのインターフェースのリンクの確立処理を行う。
また、転送ＩＦリンク確立制御部４４０は、転送ＩＦ変更制御部４４２からの制御信号に応じて、変更されたインターフェースのリンクを確立する処理を行う。
さらに、転送ＩＦリンク確立制御部４４０は、使用しているインターフェースの情報を、全体制御部４０４に対して出力する。
【００６６】
転送ＩＦ変更制御部４４２は、転送速度判定部４４８からの信号、または、転送ＩＦ制御信号受信部４４６からの信号に基づいて、起動データ転送に利用するインターフェースを選択する。
なお、転送ＩＦ変更制御部４４２が選択するインターフェースは、１つとは限らず、複数であってもよい。
転送ＩＦ制御信号受信部４４６は、図１５を用いて後述する操作信号入力制御部５２０からの信号を全体制御部４０４から受信し、転送ＩＦ変更制御部４４２に対して出力する。
【００６７】
転送速度判定部４４８は、全体制御部４０４を介して、データ転送速度情報を取得し、取得したデータ転送速度情報を転送速度実績ＤＢ４５０に格納する。
また、転送速度判定部４４８は、取得したデータ転送速度情報に基づいて、現在のデータ転送速度が所定の速度よりも速いか否かを判定する。
現在のデータ転送速度が所定の速度よりも遅い場合、転送速度判定部４４８は、転送速度実績ＤＢ４５０内のデータ転送速度情報に基づいて、接続するインターフェースを決定する。
これによって、データ転送を最も早く行える起動オブジェクト転送経路を決定できるので、データ転送速度を最適化することが可能となる。
さらに、転送速度判定部４４８は、決定したインターフェースを示す信号を転送ＩＦ変更制御部４４２に対して出力する。
【００６８】
転送ＩＦ変更制御部４４２は、選択したインターフェースを応じて、転送ＩＦ制御部４４４またはエミュレーション制御部４５２に対し、変更制御のための信号を要求する。
つまり、転送ＩＦ変更制御部４４２は、選択したインターフェースが転送ＩＦ＃ｊ（ｊは１以上Ｍ以下の整数。但し、全てのｊが同じ数とは限らない）ならば転送ＩＦ＃ｊ制御部４４４−ｊに対し、転送ＩＦ＃ｊを使用できるようにするための信号を要求する。
さらに、その転送ＩＦ＃ｊが他の仮想デバイスをエミュレーションするように選択された場合は、エミュレーション制御部４５２に対し、選択された仮想デバイスをエミュレーションするための信号を要求する。
【００６９】
転送ＩＦ＃ｊ制御部４４４−ｊは、転送ＩＦ＃ｊを介したデータの転送処理を制御する。
さらに、転送ＩＦ＃ｊ制御部４４４−ｊは、転送ＩＦ変更制御部４４２からの要求信号に基づいて、転送ＩＦ＃ｊを使用できるようにするための信号を、転送ＩＦ変更制御部４４２に対して出力する。
【００７０】
エミュレーション制御部４５２は、転送ＩＦ変更制御部４４２からの要求信号に基づいて、仮想デバイスＤＢ４５４から、転送ＩＦがエミュレーションする仮想デバイスを選択する。
さらに、エミュレーション制御部４５２は、転送ＩＦが、選択された仮想デバイスをエミュレーションするための信号を、転送ＩＦ変更制御部４４２に対して出力する。
以上のようにして、起動データを転送するための起動オブジェクト転送経路が決定される。
【００７１】
また、転送ＩＦ変更制御部４４２は、選択した起動オブジェクト転送経路に関する情報（起動オブジェクト転送経路情報）を、暗号化経路制御部４５６に対して出力する。
暗号化経路制御部４５６は、転送ＩＦ変更制御部４４２からの起動オブジェクト転送経路情報が、安全性評価ＤＢ４５８に格納されているか否か検索する。
安全性評価ＤＢ４５８は、起動オブジェクト転送経路情報と、起動オブジェクト転送経路の情報漏洩上の安全性に関する安全度とを、それぞれ関連付けて格納する。
暗号化経路制御部４５６は、起動オブジェクト転送経路情報が安全性評価ＤＢ４５８に格納されていない場合、および、格納されていてもその起動オブジェクト転送経路の安全度が所定値よりも低い場合は、以下に示す暗号化処理に関する制御を行う。
【００７２】
すなわち、暗号化経路制御部４５６は、安全度が所定値より高い起動オブジェクト転送経路を介して、暗号化鍵情報を起動元装置２と共有するための処理を制御する。
また、暗号化経路制御部４５６は、前述の安全度が所定値よりも低い起動オブジェクト転送経路を介して起動データが転送される際に、起動データを暗号化するための処理を制御する。
さらに、暗号化経路制御部４５６は、前述した処理を実行するための信号を、転送ＩＦ変更制御部４４２および通信処理部４００に対して出力する。
転送ＩＦ変更制御部４４２は、安全度が所定値より高い起動オブジェクト転送経路を、暗号化鍵情報を転送するための経路として確立するための処理を行う。
通信処理部４００は、暗号化鍵情報を起動元装置２と共有するための処理、および、起動データを暗号化するための処理を行う。
【００７３】
例えば、安全性評価ＤＢ４５８について、すべて有線で接続するような信頼度の高い起動オブジェクト転送経路に対して、所定値より高い安全度を定義しておくようにすることができる。
さらに、例えば、安全度が所定値よりも低い無線ＬＡＮインターフェースを新規の転送ＩＦとして利用する際に、暗号化経路制御部４５６は、インターフェースレベルでの暗号化、例えば無線ＬＡＮにおいてはリンクレベルでのＥＳＳＩＤ、暗号化方式および暗号化鍵の設定、または、無線ＬＡＮで実際に転送されるデータパケットのデータレベルでの送信側での動的な暗号データへの加工および受信側での復号などを、制御することができる。
【００７４】
なお、転送制御部４４は、起動元装置プログラム２０の転送制御部２４と協働して処理を行ってもよいし、どちらか一方だけが処理を行うようにしてもよい。
【００７５】
全体制御部４０４（図１１）は、ＢＩＯＳ４０２がサポートしていない転送ＩＦも含めて使用可能となった後、起動対象装置４の起動データ呼出信号を起動データ呼出送信部４０８に対して出力する。
起動データ呼出送信部４０８は、全体制御部４０４からの起動データ呼出信号を、通信処理部４００および転送ＩＦを介して、起動元装置２に対して送信する。
起動データ受信部４１０は、起動元装置２からＯＳ起動処理データ、起動画像データ、起動音声データおよび認証情報を受信し、これら受信した起動データを起動データ格納部４１２に対して出力する。
起動データ格納部４１２は、起動データ受信部４１０からのＯＳ起動処理データ、起動画像データ、起動音声データおよび認証情報を、格納し、管理する。
【００７６】
図１３は、図１に示した起動対象装置４において動作する起動対象装置プログラム４０の第２の段階の構成を示す図である。
図１３に示すように、第２の段階の起動対象装置プログラム４０は、通信処理部４００、ＢＩＯＳ４０２、全体制御部４０４、起動データ呼出送信部４０８、起動データ受信部４１０、起動データ格納部４１２、転送制御部４４、ＯＳ起動処理部４６およびＵＩ制御部５０から構成される。
第２の段階の起動対象装置プログラム４０は、これらの構成部分により、ＯＳ起動処理データに基づいて、ＯＳなどのアプリケーションの起動処理を実行する。
【００７７】
起動対象装置プログラム４０において、全体制御部４０４は、起動データ格納部４１２に対し、ＯＳ起動処理データ、起動画像データ、起動音声データおよび認証情報を出力するように要求する。
起動データ格納部４１２は、全体制御部４０４からの要求に応じ、ＯＳ起動処理データ、起動画像データ、起動音声データおよび認証情報を出力する。
全体制御部４０４は、受け入れた起動データに基づいて、ＯＳ起動処理部４６およびＵＩ制御部４６を動作状態とする処理を行う。
【００７８】
図１４は、図１３に示したＯＳ起動処理部４６の構成を示す図である。
図１４に示すように、ＯＳ起動処理部４６は、必須アプリケーション起動処理部４６２、必須アプリケーション管理部４６４、必須アプリケーションＤＢ４６６、追加アプリケーション起動処理部４６８、追加アプリケーション管理部４７０、追加アプリケーションＤＢ４７２、任意アプリケーション起動処理部４７４、任意アプリケーション管理部４７６、任意アプリケーションＤＢ４７８、起動データ受信状況監視部４８０および起動データ受信継続処理部４８２から構成される。
ＯＳ起動処理部４６は、これらの構成部分により、ＯＳと関連するアプリケーションを起動するための処理を行う。
【００７９】
ＯＳ起動処理部４６において、必須アプリケーション起動処理部４６２は、ＯＳを起動させるために必須となる、たとえば、カーネルなどのアプリケーションを起動するための処理を行う。
ここでいうＯＳは、実マシーン上だけでなく、仮想マシーン上で起動することも可能である。
また、必須アプリケーション起動処理部４６２は、必須アプリケーションの起動処理に必要なデータ（必須アプリケーションデータ）を全体制御部４０４から取得し、必要に応じて必須アプリケーション管理部４６４に対して出力する。
必須アプリケーション管理部４６４は、必須アプリケーション起動処理部４６２からの必須アプリケーションデータを管理し、必要に応じて必須アプリケーション起動処理部４６２に対して出力する。
また、必須アプリケーション管理部４６４は、必須アプリケーション起動処理部４６２から受け入れた必須アプリケーションデータを、必須アプリケーションＤＢ４６６に格納する。
【００８０】
追加アプリケーション起動処理部４６８は、起動したＯＳの元で、ユーザが実際に頻繁に使用する、たとえば、オフィスソフトなどのアプリケーションを実行された際に即座に利用可能とするために予め転送しておくための処理を行う。
また、追加アプリケーション起動処理部４６８は、追加アプリケーションの起動処理に必要なデータ（追加アプリケーションデータ）を全体制御部４０４から取得し、必要に応じて追加アプリケーション管理部４７０に対して出力する。
追加アプリケーション管理部４７０は、追加アプリケーション起動処理部４６８からの追加アプリケーションデータを管理し、必要に応じて追加アプリケーション起動処理部４６８に対して出力する。
また、追加アプリケーション管理部４７０は、追加アプリケーション起動処理部４６８から受け入れた追加アプリケーションデータを、追加アプリケーションＤＢ４７２に格納する。
【００８１】
任意アプリケーション起動処理部４７４は、必要に応じて読み込まれる、たとえば、ゲームソフトなどのアプリケーションを起動するための処理を行う。
また、任意アプリケーション起動処理部４７４は、任意アプリケーションの起動処理に必要なデータ（任意アプリケーションデータ）を全体制御部４０４から取得し、必要に応じて任意アプリケーション管理部４７６に対して出力する。
任意アプリケーション管理部４７６は、任意アプリケーション起動処理部４７４からの任意アプリケーションデータを管理し、必要に応じて任意アプリケーション起動処理部４７４に対して出力する。
また、任意アプリケーション管理部４７６は、任意アプリケーション起動処理部４７４から受け入れた任意アプリケーションデータを、任意アプリケーションＤＢ４７８に格納する。
【００８２】
起動データ受信状況監視部４８０は、全体制御部４０４に対し、起動元装置２からの起動データの受信状況を示す情報（起動データ受信状況情報）を要求するための信号を出力する。
ここで、起動データ受信状況情報は、起動データが、現在どの部分まで受信完了しているかを示す状況を含む。
全体制御部４０４は、起動データ受信状況情報の要求信号に応じて、起動データ格納部４１２にアクセスし、起動データ受信状況情報を取得して、起動データ受信状況監視部４８０に対して出力する。
起動データ受信状況監視部４８０は、全体制御部４０４からの起動データ受信状況情報に基づいて、起動データの受信状況を監視する。
【００８３】
起動データ受信継続処理部４８２は、転送ＩＦの変更などにより起動データの受信が一時中断され、起動データの受信を再開する場合に、起動データの受信が継続されるための処理を行う。
つまり、起動データ受信継続処理部４８２は、起動データ受信状況監視部４８０から起動データ受信状況情報を取得し、その起動データ受信状況情報に基づいて、起動データの受信が継続されるため処理を行う。
【００８４】
図１５は、図１３に示したＵＩ制御部５０の構成を示す図である。
図１５に示すように、ＵＩ制御部５０は、画像制御部５０２、起動画像データ管理部５０４、起動画像ＤＢ５０６、音声制御部５０８、起動音声データ管理部５１０、起動音声ＤＢ５１２、認証情報入力制御部５１４、認証情報管理部５１６、認証情報ＤＢ５１８および操作信号入力制御部５２０から構成される。
ＵＩ制御部５０は、これらの構成部分により、ユーザとのインターフェースに関する処理を行う。
【００８５】
ＵＩ制御部５０において、画像制御部５０２は、起動対象装置４が起動している間に、起動対象装置４のモニタなどの入出力装置１２６に表示される画像を制御する。
この表示される画像とは、たとえば、ユーザ認証のためのパスワード入力画像等の認証画像、起動処理手続きを示すガイダンス表示画像、起動処理の進行状況を示す進行状況表示画像、アニメーションなどを含む。
画像制御部５０２は、モニタなどに表示される画像の画像データを全体制御部４０４から取得し、必要に応じて起動画像データ管理部５０４に対して出力する。
起動画像データ管理部５０４は、画像制御部５０２からの画像データを管理し、必要に応じて画像制御部５０２に対して出力する。
また、起動画像データ管理部５０４は、画像制御部５０２から受け入れた画像データを、起動画像ＤＢ５０６に格納する。
【００８６】
音声制御部５０８は、起動対象装置４が起動している間に、起動対象装置４のスピーカーなどの入出力装置１２６で発せられる音声を制御する。
この発せられる音声とは、たとえば、ＢＧＭ、起動処理手続きを示すガイダンス表示音声などを含む。
音声制御部５０８は、スピーカーなどで発せられる音声の音声データを全体制御部から取得し、必要に応じて起動音声データ管理部５１０に対して出力する。
起動音声データ管理部５１０は、音声制御部５０８からの音声データを管理し、必要に応じて音声制御部５０８に対して出力する。
また、起動音声データ管理部５１０は、音声制御部５０８から受け入れた音声データを、起動音声ＤＢ５１２に格納する。
【００８７】
認証情報入力制御部５１４は、起動対象装置４が起動している途中で、ユーザの認証を行うための処理を制御する。
つまり、ユーザが、認証画像に応じてキーボードなどの入出力装置１２６を用いてパスワード等の認証情報を入力すると、認証情報入力制御部５１４は、全体制御部４０４からその認証情報を取得する。
さらに、認証情報入力制御部５１４は、認証情報管理部５１６から認証情報を取得し、ユーザからの認証情報が適正か否か判断する。
認証情報入力制御部５１４は、ユーザからの認証情報が適正ならば起動処理を続行するための信号を全体制御部４０４に対して出力し、ユーザからの認証情報が適正でないならば起動処理を中止するための信号を全体制御部４０４に対して出力する。
【００８８】
認証情報管理部５１６は、認証情報ＤＢ５１８に格納されたユーザの認証情報を管理し、必要に応じて認証情報入力制御部５１４に対して出力する。
ここで、認証情報は、たとえば、キーボードから入力されるパスワードだけでなく、起動対象装置４に接続された指紋入力装置（図示せず）などから入力される指紋などの生体情報なども含む。
【００８９】
操作信号入力制御部５２０は、起動対象装置４が起動している間の、操作信号に応じた起動処理のための制御を行う。
つまり、ユーザが、画像制御部５０２および音声制御部５０８によるガイダンス表示に応じてキーボードなどの入出力装置１２６を操作すると、操作信号入力制御部５２０は、全体制御部４０４から、その操作に応じた操作信号を取得する。
さらに、操作信号入力制御部５２０は、その操作信号の内容を判断し、その内容に応じた起動処理をするための信号を全体制御部４０４に対して出力する。
なお、ＵＩ制御部５０は、起動元装置プログラム２０のＵＩ制御部２８と協働して処理を行ってもよいし、どちらか一方だけが処理を行うようにしてもよい。
【００９０】
［装置起動システム１の全体的な動作］
次に、装置起動システム１の全体的な動作を説明する。
図１６は、図１に示した装置起動システム１の全体的な動作（Ｓ１０）を示す通信シーケンス図である。
図１６に示すように、ステップ１００（Ｓ１００）において、起動元装置２が起動する。
【００９１】
ステップＳ１０２（Ｓ１０２）において、起動対象装置４の電源が投入され、ＢＩＯＳ４０２が起動する。
ステップＳ１０４（Ｓ１０４）において、ＢＩＯＳ４０２がサポートしている転送ＩＦ＃１の接続が確立し、転送ＩＦ＃１を介したデータ転送が可能となる。
ステップＳ１０６（Ｓ１０６）において、起動対象装置４は、起動元装置２からＩＦ確立処理データおよび転送制御データを受信する。
ステップＳ１０８（Ｓ１０８）において、起動元装置２は、インターフェースの変更処理を行う。
なお、Ｓ１０８は、起動対象装置４によって実行されるようにしてもよい。
また、Ｓ１０８は、図６などで示したように、起動データが記憶された記憶媒体１３２が、起動元装置２から起動対象装置４に挿入されることによって実行されるようにしてもよい。
【００９２】
ステップＳ１１０（Ｓ１１０）において、ＢＩＯＳ４０２が直接サポートしていなかった転送ＩＦ＃２を含むインターフェースの接続が確立し、転送ＩＦ＃２を介したデータ転送が可能となる。
ステップＳ１１２（Ｓ１１２）において、起動対象装置４は、起動元装置２からＯＳ起動処理データを受信する。
なお、Ｓ１１２は、Ｓ１０８およびＳ１１０の前に実行されるようにしてもよく、さらに、Ｓ１０８は、Ｓ１１２の途中で実行されるようにしてもよい。
ステップＳ１１４（Ｓ１１４）において、起動対象装置４は、ＯＳを起動させる。
なお、図１６に示した各処理の順序などは、適宜、変更しても構わない。
【００９３】
本実施形態では、起動元装置２を用いて起動対象装置４を起動させる構成としているが、図７に示すように、起動元装置２を用いなくとも、外部記憶装置のインターフェースを変更することによって起動データを起動対象装置４に転送するようにしてもよい。
その場合、起動対象装置プログラム４０の転送制御部４４は、外部記憶装置とのインターフェースの接続の確立を制御する。
【００９４】
また、起動元装置２から起動対象装置４に転送される第１および第２のオブジェクトは、起動元装置２の記憶装置に格納されている静的なデータを元にして、起動対象装置４あるいは起動オブジェクト転送経路にあわせて、起動元装置２によって動的に加工されるようにしてもよい。
上記の場合、加工後の第１および第２のオブジェクトは、起動対象装置４に転送された後、起動対象装置４が適切に処理できる形式になっている。
【００９５】
起動対象装置４にあわせてオブジェクトを加工する例について、以下に述べる。
たとえば、起動対象装置４が資源に余裕のあるデバイスである場合において、任意アプリケーションを追加アプリケーションとして動的に変更するようにしてもよく、それによって、通常は任意アプリケーションであるアプリケーションを、特定の起動対象装置４においては、追加アプリケーションと同等に扱わせるように処理することができる。
また、たとえば、起動対象装置４において自動起動するアプリケーションの設定情報を、起動対象装置４に対応するオブジェクトを転送する前に、起動元装置２における操作によって変更するようにしてもよく、それによって、第２のオブジェクトに対して設定変更後の設定となるようにすることができ、起動対象装置４において特定のアプリケーションを特定の設定で実行させることができる。
【００９６】
一方、起動オブジェクト転送経路にあわせてオブジェクトを加工する例について、以下に述べる。
たとえば、起動元装置２がＵＳＢ  ＣＤ−ＲＯＭドライブをエミュレーションしている場合にはデータ転送のブロックサイズを２０４８バイト単位に加工するようにしてもよく、起動元装置２がＵＳＢハードディスクドライブをエミュレーションしている場合にはブロックサイズを５１２バイト単位に動的に切り出してデータ転送を行うための加工を実行するようにしてもよい。
また、たとえば、エミュレーションするデバイス毎に、起動対象装置４のファームウェアのＢＩＯＳ特性にあわせて、ＢＩＯＳやＩＰＬ（Initial Program Loader）により読み込まれる自動起動コードを用意しておき、第１オブジェクトの内、起動対象装置４のファームウェアによる自動起動で用いられる領域の内容、例えばＵＳＢハードディスクドライブのエミュレーション時におけるＭＢＲ（Master Boot Record）等の領域の内容を適切に置換するための加工処理を行うようにしてもよい。
この処理により、起動対象装置４のファームウェア毎に異なる挙動に対し、起動元装置２側で対応することが可能となる。
さらに、たとえば、転送中のデータに対し、必要に応じて、ブロック単位あるいはファイル単位で暗号化を行う場合、転送中のデータサイズを縮小するために動的な圧縮処理を行うようにしてもよく、あるいは、無線インターフェース経由などの相対的に品質の悪い回線上での転送効率の向上を行うために、転送データに誤り訂正符号を追加し冗長度を上げるための加工を行うようにしてもよい。
【産業上の利用可能性】
【００９７】
本発明は、前述の発明が解決しようとする課題に対して、特に大量生産を目的に低コストあるいは汎用的に設計された起動元装置、記憶装置、起動対象装置を組み合わせた場合においても現実的に利用可能である利便性の高い起動システムに利用可能である。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施形態にかかる装置起動システムの構成を例示する図である。
【図２】図１に示した起動元装置および起動対象装置のハードウエア構成を例示する図である。
【図３】図１に示した装置起動システムにおいて、起動元装置を用いて起動対象装置を起動させる方法の態様を例示する図である。
【図４】起動元装置から起動対象装置に転送される起動データを示す図である。
【図５】図１に示した装置起動システムにおいて、起動元装置を用いて起動対象装置を起動させる方法の態様を例示する図である。
【図６】図１に示した装置起動システムにおいて、起動元装置を用いて起動対象装置を起動させる方法の態様を例示する図である。
【図７】起動元装置を用いないで、起動対象装置を起動させる方法の態様を例示する図である。
【図８】図１に示した起動元装置において動作する起動元装置プログラムの構成を示す図である。
【図９】図８に示した転送制御部の構成を示す図である。
【図１０】図８に示したＵＩ制御部の構成を示す図である。
【図１１】図１に示した起動対象装置において動作する起動対象装置プログラムの第１の段階の構成を示す図である。
【図１２】図１１に示した転送制御部の構成を示す図である。
【図１３】図１に示した起動対象装置において動作する起動対象装置プログラムの第２の段階の構成を示す図である。
【図１４】図１３に示したＯＳ起動処理部の構成を示す図である。
【図１５】図１３に示したＵＩ制御部の構成を示す図である。
【図１６】図１に示した装置起動システムの全体的な動作を示す通信シーケンス図である。
【符号の説明】
【００９９】
１・・・装置起動システム，
２・・・起動元装置，
１２０・・・本体，
１２２・・・ＣＰＵ，
１２４・・・メモリ，
１２６・・・入出力装置，
１２８・・・通信装置，
１３０・・・記憶装置，
１３２・・・記憶媒体，
２０・・・起動元装置プログラム，
２００・・・通信処理部，
２０２・・・ＯＳ，
２１０・・・全体制御部，
２１２・・・起動制御部，
２１４・・・記憶装置制御部，
２１６・・・起動対象装置起動データ格納部，
２２０・・・起動データ呼出受信部，
２２２・・・起動データ送信部，
２４・・・転送制御部，
２４０・・・転送ＩＦリンク確立制御部，
２４２・・・転送ＩＦ変更制御部，
２４４・・・転送ＩＦ制御部，
２４６・・・転送ＩＦ制御信号受信部，
２４８・・・転送速度判定部，
２５０・・・転送速度実績ＤＢ，
２５２・・・エミュレーション制御部，
２５４・・・仮想デバイスＤＢ，
２５６・・・暗号化経路制御部，
２５８・・・安全性評価ＤＢ，
２８・・・ＵＩ制御部，
２８２・・・画像制御部，
２８４・・・起動画像データ管理部，
２８６・・・起動画像ＤＢ，
２８８・・・音声制御部，
２９０・・・起動音声データ管理部，
２９２・・・起動音声ＤＢ，
２９４・・・認証情報入力制御部，
２９６・・・認証情報管理部，
２９８・・・認証情報ＤＢ，
３００・・・操作信号入力制御部，
４・・・起動対象装置，
４０・・・起動対象装置プログラム，
４００・・・通信処理部，
４０２・・・ＢＩＯＳ，
４０４・・・全体制御部，
４０８・・・起動データ呼出送信部，
４１０・・・起動データ受信部，
４１２・・・起動データ格納部，
４３０・・・ＩＦ確立処理部，
４４・・・転送制御部，
４４０・・・転送ＩＦリンク確立制御部，
４４２・・・転送ＩＦ変更制御部，
４４４・・・転送ＩＦ制御部，
４４６・・・転送ＩＦ制御信号受信部，
４４８・・・転送速度判定部，
４５０・・・転送速度実績ＤＢ，
４５２・・・エミュレーション制御部，
４５４・・・仮想デバイスＤＢ，
４５６・・・暗号化経路制御部，
４５８・・・安全性評価ＤＢ，
４６・・・ＯＳ起動処理部，
４６２・・・必須アプリケーション起動処理部，
４６４・・・必須アプリケーション管理部，
４６６・・・必須アプリケーションＤＢ，
４６８・・・追加アプリケーション起動処理部，
４７０・・・追加アプリケーション管理部，
４７２・・・追加アプリケーションＤＢ，
４７４・・・任意アプリケーション起動処理部，
４７６・・・任意アプリケーション管理部，
４７８・・・任意アプリケーションＤＢ，
４８０・・・起動データ受信状況監視部，
４８２・・・起動データ受信継続処理部，
５０・・・ＵＩ制御部，
５０２・・・画像制御部，
５０４・・・起動画像データ管理部，
５０６・・・起動画像ＤＢ，
５０８・・・音声制御部，
５１０・・・起動音声データ管理部，
５１２・・・起動音声ＤＢ，
５１４・・・認証情報入力制御部，
５１６・・・認証情報管理部，
５１８・・・認証情報ＤＢ，
５２０・・・操作信号入力制御部，
【図１】
2008269288.tif 000003
【図２】
2008269288.tif 000004
【図３】
2008269288.tif 000005
【図４】
2008269288.tif 000006
【図５】
2008269288.tif 000007
【図６】
2008269288.tif 000008
【図７】
2008269288.tif 000009
【図８】
2008269288.tif 000010
【図９】
2008269288.tif 000011
【図１０】
2008269288.tif 000012
【図１１】
2008269288.tif 000013
【図１２】
2008269288.tif 000014
【図１３】
2008269288.tif 000015
【図１４】
2008269288.tif 000016
【図１５】
2008269288.tif 000017
【図１６】
2008269288.tif 000018