(57)【要約】      （修正有）【課題】記憶装置の隠し記憶領域に記憶されたコンピュータ実行可能コードセットを直接実行する方法及びシステムを提供する。【解決手段】ホストコンピュータ１１０に結合されたローダ１２０が、オペレーティングシステム１１８ａに、メインメモリ１１４中の第１アドレスセグメントをローダ１２０の実行用に割り当てることを要求し、記憶装置１５０内の隠し記憶領域１５２からコンピュータ実行可能コードセット１６０を第１アドレスセグメントにロードし、コンピュータ実行可能コードセット１６０をオペレーティングシステムの実行可能なコンテントに変換し、この実行可能なコンテントを第１アドレスセグメントに記憶し、派生的実行手順を確立して実行可能なコンテントを実行する。【選択図】図１
2011008753.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に記憶されたコンピュータ実行可能コードセットをホストコンピュータのオペレーティングシステムにおいて実行するファイル実行方法であって、前記記憶装置が汎用記憶領域及び隠し記憶領域を具え、前記コンピュータ実行可能コードセットが前記隠し記憶領域に記憶されているファイル実行方法において、
前記記憶装置を前記ホストコンピュータに接続するステップであって、前記ホストコンピュータがメインメモリを有するステップと；
前記隠し記憶領域に記憶された前記コンピュータ実行可能コードセットを管理するローダを用意するステップと；
前記ローダを前記メインメモリ中で実行するステップと；
前記オペレーティングシステムに、前記メインメモリ中の第１アドレスセグメントを前記ローダ用に割り当てることを要求するステップと；
前記ローダを用いることによって、前記コンピュータ実行可能コードセットを、前記隠し記憶領域から前記第１アドレスセグメントにロードするステップと；
前記ローダを用いることによって、前記コンピュータ実行可能コードセットを前記オペレーティングシステムが実行可能なコンテントに変換し、前記実行可能なコンテントの少なくとも一部分を前記第１アドレスセグメントに記憶するステップと；
前記ローダを用いることによって、派生的実行手順を確立して、前記実行可能なコンテントを実行するステップと
を具えていることを特徴とするファイル実行方法。
【請求項２】
前記ローダを用いることによって前記派生的実行手順を確立して、前記実行可能なコンテントを実行するステップが、
前記ローダを用いることによって、前記オペレーティングシステムに、前記派生的実行手順を実行し前記派生的実行手順用の第２アドレスセグメントを前記メインメモリ中に割り当てることを要求することを含み、前記派生的実行手順を用いて前記ローダを再実行し、
前記ローダを用いることによって、前記派生的実行手順の実行を一時停止し；
前記ローダを用いることによって、前記実行可能なコンテントを前記第２アドレスセグメントに書き込み；
前記ローダを用いることによって、前記派生的実行手順の実行を再開する
ことを特徴とする請求項１に記載のファイル実行方法。
【請求項３】
さらに、
前記ローダを用いることによって、前記第２アドレスセグメントのサイズが前記実行可能なコンテントのサイズより小さいか否かを判定することと；
前記第２アドレスセグメントのサイズが前記実行可能なコンテントのサイズより小さい場合に、前記ローダを用いることによって、前記オペレーティングシステムに、第３アドレスセグメントを前記メインメモリ中に割り当てることを要求し、前記第２アドレスセグメントと前記第３アドレスセグメントを合わせたサイズは前記実行可能なコンテントのサイズより大きいことと
を含むことを特徴とする請求項２に記載のファイル実行方法。
【請求項４】
さらに、
自動実行ファイルを前記記憶装置内に構成するステップであって、前記自動実行ファイルが前記ローダを前記メインメモリ中で実行するステップと；
前記オペレーティングシステムによって、前記自動実行ファイルを自動的に実行するステップと
を具えていることを特徴とする請求項１に記載のファイル実行方法。
【請求項５】
さらに、
前記ローダを、前記記憶装置の前記汎用記憶領域内に構成するステップを具えていることを特徴とする請求項１に記載のファイル実行方法。
【請求項６】
さらに、
前記記憶装置内に特別な記憶領域を割り当てるステップと；
前記自動実行ファイル及び前記ローダを前記記憶装置の前記特別な記憶領域内に構成するステップであって、前記特別な記憶領域がＩＳＯ９６６０規格と互換性があるステップと
を具えていることを特徴とする請求項４に記載のファイル実行方法。
【請求項７】
さらに、
前記ローダを前記ホストコンピュータ内に構成するステップを具えていることを特徴とする請求項１に記載のファイル実行方法。
【請求項８】
さらに、
前記コンピュータ実行可能コードセットを暗号解読するステップを具えていることを特徴とする請求項１に記載のファイル実行方法。
【請求項９】
さらに、前記ローダを用いることによって、前記隠し記憶領域を初期化するステップを具えていることを特徴とする請求項１に記載のファイル実行方法。
【請求項１０】
前記実行可能なコンテントが、ポータブル・エクセキュータブル（ＰＥ）ファイルフォーマットと互換性があることを特徴とする請求項１に記載のファイル実行方法。
【請求項１１】
記憶装置に記憶されたコンピュータ実行可能コードセットを実行するファイル実行システムであって、前記記憶装置が汎用記憶領域及び隠し記憶領域を具え、前記コンピュータ実行可能コードセットが前記隠し記憶領域に記憶されているファイル実行システムにおいて、
オペレーティングシステム及びメインメモリを有するホストコンピュータと；
前記ホストコンピュータ及び前記記憶装置に結合またはアクセス可能なように接続され、アプリケーション実行装置を有するローダとを具え、前記アプリケーション実行装置を用いて、前記隠し記憶領域に記憶された前記コンピュータ実行可能コードセットを実行し、
前記オペレーティングシステムが、前記ローダを動作させ、前記ローダ用の第１アドレスセグメントを前記メインメモリ中に割り当て、
前記アプリケーション実行装置が、前記コンピュータ実行可能コードセットを、前記隠し記憶領域から前記第１アドレスセグメントにロードし、前記コンピュータ実行可能コードセットを前記オペレーティングシステムが実行可能なコンテントに変換し、前記実行可能なコンテントを前記第１アドレスセグメントに記憶し、
前記アプリケーション実行装置が、派生的実行手順を確立して前記実行可能なコンテントを実行する
ことを特徴とするファイル実行システム。
【請求項１２】
前記アプリケーション実行装置が、前記オペレーティングシステムに、前記派生的実行手順を実行し前記派生的実行手順用の第２アドレスセグメントを前記メインメモリ中に割り当てることを要求し、前記派生的実行手順を用いて前記ローダを再動作させ、
前記アプリケーション実行装置が、前記派生的実行手順の実行を一時停止し、前記実行可能なコンテントを前記第２アドレスセグメントに書き込み、前記派生的実行手順の実行を再開する
ことを特徴とする請求項１１に記載のファイル実行システム。
【請求項１３】
前記アプリケーション実行装置が、前記第２アドレスセグメントのサイズが前記実行可能なコンテントのサイズより小さいか否かを判定し、
前記第２アドレスセグメントのサイズが前記実行可能なコンテントのサイズより小さい場合に、前記アプリケーション実行装置が、前記オペレーティングシステムに、第３アドレスセグメントを前記メインメモリ中に割り当てることを要求し、前記第２アドレスセグメントと前記第３アドレスセグメントを合わせたサイズは前記実行可能なコンテントのサイズより大きい
ことを特徴とする請求項１２に記載のファイル実行システム。
【請求項１４】
さらに、前記記憶装置内に構成された自動実行ファイルを具え、
前記記憶装置が前記ホストコンピュータに結合されると、前記オペレーティングシステムが前記自動実行ファイルを自動的に実行し、前記自動実行ファイルが、ソフトウェア形式の前記ローダを前記メインメモリ中で実行する
ことを特徴とする請求項１１に記載のファイル実行システム。
【請求項１５】
ソフトウェア形式の前記ローダが、前記記憶装置の前記汎用記憶領域内に構成されていることを特徴とする請求項１１に記載のファイル実行システム。
【請求項１６】
前記記憶装置がさらに、ＩＳＯ９６６０規格と互換性のある特別な記憶領域を具え、
前記自動実行ファイル及び前記ローダが、前記記憶装置の前記特別な記憶領域内に構成されている
ことを特徴とする請求項１４に記載のファイル実行システム。
【請求項１７】
記憶装置に記憶されたコンピュータ実行可能コードセットをホストコンピュータのオペレーティングシステムにおいて実行するファイル実行方法であって、前記記憶装置が隠し記憶領域を具え、前記コンピュータ実行可能コードセットが前記隠し記憶領域に記憶され、前記ファイル実行方法が、
前記隠し記憶領域に記憶された前記コンピュータ実行可能コードセットを管理するローダを用意するステップと；
前記ローダを用いることによって、前記コンピュータ実行可能コードセットを、前記隠し記憶領域から前記ホストコンピュータに直接ロードするステップと；
前記コンピュータ実行可能コードセットを、前記オペレーティングシステムが実行可能なコンテントに変換するステップと；
前記実行可能なコンテントをコピーするステップと；
前記実行可能なコンテントを実行するステップと
を具えていることを特徴とするファイル実行方法。
【請求項１８】
コンピュータ実行可能命令を有するプログラマブル記憶装置であって、前記コンピュータ実行可能命令をホストコンピュータによって実行するとファイル実行方法が実現されるプログラマブル記憶装置において、前記ファイル実行方法が、
コンピュータ実行可能コードセットを隠し記憶領域から前記ホストコンピュータに直接ロードするステップと；
前記コンピュータ実行可能コードセットをオペレーティングシステムが実行可能なコンテントに変換するステップと；
前記実行可能なコンテントをコピーするステップと；
前記実行可能なコンテントを実行するステップと
を具えていることを特徴とするプログラマブル記憶装置。
【請求項１９】
前記ファイル実行方法がさらに、前記隠し記憶領域にデータを追加するか、前記隠し記憶領域内のデータを削除するステップを具えていることを特徴とする請求項１８に記載のプログラマブル記憶装置。
【請求項２０】
前記ファイル実行方法がさらに、
コンピュータ実行可能コードセットのリストを編集して、前記隠し記憶領域に記憶された前記コンピュータ実行可能コードセットを管理するステップを具えていることを特徴とする請求項１８に記載のプログラマブル記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、ファイル実行方法及びファイル実行システムに関するものであり、特に、記憶装置の隠し記憶領域に記憶されたコンピュータ実行可能コードセットを実行するファイル実行方法及びファイル実行システムに関するものである。
【背景技術】
【０００２】
近年のデジタルカメラ、携帯電話機、及びＭＰ３の広まりと共に、記憶媒体に対する消費者の要求も大幅に増加している。フラッシュメモリは、データ不揮発性、低電力消費、小さい体積、及び非機械的構造といったその特性により、こうしたバッテリ給電の携帯製品に最も適合するメモリの１つである。これに加えて、携帯記憶装置は、プラグ・アンド・プレイ接続インタフェース（例えばユニバーサル・シリアルバス（ＵＳＢ））の発達と共に、デジタル・コンテンツの記憶に広く応用されている。
【０００３】
記憶装置の製造業者は通常、これらの記憶装置を購入するユーザが使用するように製造した携帯（ポータブル）記憶装置にアプリケーションを記憶して、これらの携帯記憶装置の市場競争力を増加させる。例えば、製造業者は携帯記憶装置用のディスク管理プログラムを開発し、ユーザはこのディスク管理プログラムを使用して携帯記憶装置を管理することができる。
【０００４】
現在、ホストコンピュータが、記憶装置製造業者によって提供されるこうしたアプリケーションを実行することを可能にするためには、このアプリケーションを、ホストコンピュータによってアクセスされる携帯記憶装置のデータを通常記憶するためのパーティション（または記憶領域）に記憶している。あるアプリケーションはホストコンピュータが一般的ファイルアクセス方法でアクセスすることができるので、このアプリケーションは容易にコピーして分配することができ、従ってこのアプリケーションの開発者の知的所有権を有効に保護することができない。携帯記憶装置の製造業者が、携帯記憶装置内に隠し記憶領域（即ち、ホストコンピュータにとってアクセス不可能な記憶領域）を割り当て、このアプリケーションをこの隠し記憶領域内に記憶して、このアプリケーションがコピーまたは分配されることを防止することができても、このアプリケーションはホストコンピュータのオペレーティングシステムによって実行されなければならないので、ユーザはもはや隠し記憶領域に記憶されたアプリケーションを利用することができない。従って、隠し記憶領域に記憶されたコンピュータ実行可能コードセットを直接実行する方法を開発すべきである。
【０００５】
本明細書のどの部分も、本発明のいかなる部分の先行技術の知識を認めるものと考えるべきでない。さらに、本願中の文献の引用または指示は、こうした文献が本発明に対する先行技術として利用可能であることを認めるものではなく、参照が現在技術における通常の一般知識の一部を形成することを認めるものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本発明は、記憶装置の隠し記憶領域に記憶されたコンピュータ実行可能コードセットを直接実行するファイル実行方法に指向したものである。
【０００７】
本発明は、記憶装置の隠し記憶領域に記憶されたコンピュータ実行可能コードセットを直接実行するファイル実行システムに指向したものである。
【課題を解決するための手段】
【０００８】
本発明の好適例によれば、ホストコンピュータのオペレーティングシステムの記憶装置に記憶されたコンピュータ実行可能コードセットを実行する方法が提供され、この記憶装置は汎用記憶領域及び隠し記憶領域を含み、コンピュータ実行可能コードセットは隠し記憶領域に記憶されている。この好適例によれば、このファイル実行方法は、記憶装置をホストコンピュータに接続するステップを含み、このホストコンピュータはメインメモリ（主記憶装置）を有する。このファイル実行方法は、隠し記憶領域に記憶されたコンピュータ実行可能コードセットを管理するローダを用意するステップも含む。このファイル実行方法はさらに、ローダをメインメモリ中で実行するステップと、オペレーティングシステムに、メインメモリ中の第１アドレスセグメントを、ローダを実行するために割り当てることを要求するステップと、ローダを用いることによって、コンピュータ実行可能コードセットを、隠し記憶領域から第１アドレスセグメントにロードするステップと、ローダを用いることによって、コンピュータ実行可能コードセットをオペレーティングシステムが実行可能なコンテント（内容）に変換し、この実行可能なコンテントの少なくとも一部分を第１アドレスセグメントに記憶するステップと、ローダを用いてこの実行可能なコンテントを実行することによって、派生的実行手順を確立するステップとを含む。
【０００９】
本発明の好適例によれば、記憶装置に記憶されたコンピュータ実行可能コードセットを実行するファイル実行システムが提供され、この記憶装置は汎用記憶領域及び隠し記憶領域を含み、コンピュータ実行可能コードセットは隠し記憶領域に記憶される。この好適例によれば、このファイル実行システムはホストコンピュータ及びローダを含む。ホストコンピュータは、オペレーティングシステム及びメインメモリを含む。ローダは、ホストコンピュータ及び上記記憶装置に結合されるかアクセス可能なように接続され、アプリケーション実行装置を有し、このアプリケーション実行装置は、隠し記憶領域に記憶されたコンピュータ実行可能コードセットを実行する。オペレーティングシステムはローダを動作させ、メインメモリ中の第１アドレスセグメントを、ローダを動作させるために割り当てる。アプリケーション実行装置は、コンピュータ実行可能コードセットを、隠し記憶領域から第１アドレスセグメントにロードし、コンピュータ実行可能コードセットをオペレーティングシステムが実行可能なコンテントに変換し、そして、この実行可能なコンテントを実行するための派生的実行手順を確立する。
【００１０】
本発明の好適例によれば、ホストコンピュータのオペレーティングシステムの記憶装置に記憶されたコンピュータ実行可能コードセットを実行するファイル実行方法が提供され、この記憶装置は汎用記憶領域及び隠し記憶領域を含み、コンピュータ実行可能コードセットは隠し記憶領域に記憶される。このファイル実行方法は、隠し記憶領域に記憶されたコンピュータ実行可能コードセットを管理するローダを用意するステップを含む。このファイル実行方法は、ローダを用いることによって、コンピュータ実行可能コードセットを隠し記憶領域からホストコンピュータにロードするステップと、コンピュータ実行可能コードセットを、オペレーティングシステムにとって実行可能なコンテントに変換するステップも含む。このファイル実行方法はさらに、実行可能なコンテントをコピーして実行するステップも含む。
【００１１】
本発明の好適例によれば、ホストコンピュータが実行可能なプログラムコードを記録するプログラマブル記憶装置が提供され、ホストコンピュータはこのプログラムコードをロードし実行して、上述したファイル実行方法を達成する。
【００１２】
上述したように、本発明の好適例では、記憶装置の隠し記憶領域に記憶されたコンピュータ実行可能コードセットを直接実行することができ、かつ、隠し記憶領域に記憶されたコンピュータ実行可能コードセットは、コピー及び分配されることから保護される。
【００１３】
しかし、この概要は本発明の態様及び好適例のすべてを含み得るわけではなく、いかなる形でも制限的または限定的であることを意味するものではなく、本明細書に開示する発明は、その自明な改良及び変形を包含することは当業者にとって明らかである。
【００１４】
図面は、本発明のさらなる理解を与えるために含め、本明細書に含まれその一部をなす。これらの図面は本発明の実施例を例示し、その説明と共に本発明の原理を説明する働きをする。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の好適な実施例によるファイル実行システムの概略ブロック図である。
【図２】本発明の第１の好適な実施例によるローダの概略ブロック図である。
【図３】本発明の第１の好適な実施例により、ローダを実行して隠し記憶領域に記憶されたコンピュータ実行可能コードセットを実行する際の、メインメモリの動作を例示する図である。
【図４】本発明の第１の好適な実施例によるファイル実行方法のフローチャートである。
【図５】本発明の第２の好適な実施例によるファイル実行システムの概略ブロック図である。
【図６】本発明の第２の好適な実施例によるファイル実行方法のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の好適な実施例を詳細に参照し、その例を図面に例示する。可能であれば常時、図面及びその説明中では、同じ参照番号を用いて同一または同様の部分を参照する。
【００１７】
本発明の実施例は、発明の詳細な説明中を含む本明細書に記載の、及び／または図面に示す新規の特徴の１つ以上を含む。本明細書で用いる「少なくとも１つの」、「１つ以上の」、及び「及び／または」は、動作中に接続的であることも接続的でないこともある無制約の表現である。例えば「Ａ、Ｂ及びＣの少なくとも１つ」、「Ａ、ＢまたはＣの少なくとも１つ」、「Ａ、Ｂ及びＣの１つ以上」、「Ａ、ＢまたはＣの１つ以上」、及び「Ａ、Ｂ、及び／またはＣ」の各表現は、Ａ単独、Ｂ単独、Ｃ単独、Ａ及びＢ共に、Ａ及びＣ共に、Ｂ及びＣ共に、あるいはＡ、Ｂ及びＣ共に、を意味する。
【００１８】
なお、「ある」物とは、その物の１つ以上を称する。こうしたものとして、「ある」、「１つ以上の」、及び「少なくとも１つの」は、本明細書では互換的に用い得る。
【００１９】
図１は、本発明の第１の好適例によるファイル実行システムの概略ブロック図である。
【００２０】
図１を参照すれば、ファイル実行システム１００は、記憶装置１５０の隠し記憶領域１５２に記憶されたコンピュータ実行可能コードセット１６０を実行することができる。具体的には、記憶装置１５０は隠し記憶領域１５２及び汎用記憶領域１５４を含み、隠し記憶領域１５２はコンピュータのオペレーティングシステムにとってアクセス不可能な記憶領域であり（即ち、コンピュータのオペレーティングシステムは、汎用プログラムによって直接、隠し記憶領域１５２にデータを書き込むことも隠し記憶領域１５２からデータを読み出すこともできず）、汎用記憶領域１５４は、コンピュータのオペレーティングシステムにとってアクセス可能である。この好適な実施例では、記憶装置１５０は、フラッシュメモリをその記憶媒体として有する携帯記憶装置（例えばフラッシュドライブ（フラッシュメモリ駆動装置）またはモバイル（移動型）ハードディスク）である。例えば、記憶装置１５０はコントローラ１５６及びフラッシュメモリチップ１５８を含む。コントローラ１５６は、記憶装置１５０全体の動作を制御する。フラッシュメモリチップ１５８は、隠し記憶領域１５２及び汎用記憶領域１５４を含み、データ及びコンピュータ・アプリケーションを記憶するために使用される。しかし、本発明はこれらに限定されず、記憶装置１５０は、磁気テープ、フロッピーディスク、光データ記憶装置、または他の記憶装置とすることもできる。なお、これに加えて、コントローラ１５６はさらに、データまたはアプリケーションを隠し記憶領域１５２に記憶する前にこれらのデータまたはアプリケーションを暗号化して、これらのデータまたはアプリケーションをさらに保護することができる。これに加えて、コンピュータ実行可能コードセット１６０の関連情報は、記憶装置１５０のファイル・アロケーション・テーブル（ＦＡＴ）内に表示されない。即ち、オペレーティングシステム１１８ａはコンピュータ実行可能コードセット１６０をファイルとして認識しない。
【００２１】
ファイル実行システム１００は、ホストコンピュータ１１０及びローダ１２０を含む。
【００２２】
ホストコンピュータ１１０は、コンピュータ実行可能コードセット１６０を実行するためのプラットフォームである。この好適な実施例では、ホストコンピュータ１１０はデスクトップ型パーソナルコンピュータである。しかし、本発明はこれに限定されない。本発明の他の好適な実施例では、ホストコンピュータ１１０はノート型コンピュータ、サーバー、あるいはコンピュータプログラムを実行することのできる他のあらゆるコンピュータとすることができる。
【００２３】
ホストコンピュータ１１０は、中央処理装置１１２、メインメモリ（主記憶装置）１１４、入力／出力装置１１６、及びオペレーティングシステム１１８ａを記憶する記憶装置１１８を含む。
【００２４】
中央処理装置１１２は、コンピュータ・ソフトウェア中のコンピュータコマンドを解釈してデータを処理する。
【００２５】
メインメモリ１１４は中央処理装置１１２に結合され、中央処理装置１１２が実行及び使用する種々のプログラム及びデータをロードするために使用される。具体的には、メインメモリ１１４はリアルタイムで読み書きすることができ、そのアクセス速度は非常に高速である。従って、メインメモリ１１４は、オペレーティングシステム１１８ａまたは現在実行中の他のプログラムによって一時データ記憶媒体として使用される。この好適な実施例では、メインメモリ１１４はダイナミック・ランダムアクセスメモリ（ＤＲＡＭ）である。本発明の他の好適な実施例では、オペレーティングシステムは、記憶装置の記憶空間内で模擬される仮想メモリを、アプリケーションを実行するための一時データ記憶装置として使用することもでき、この場合は、メインメモリはさらに仮想メモリを含む。
【００２６】
入力／出力装置１１６は中央処理装置１１２に結合され、ユーザがデータまたはコマンドをホストコンピュータ１１０に入力するか、ホストコンピュータ１１０からデータを出力することを可能にするインタフェースとして機能する。この好適な実施例では、入力／出力装置１１６は、キーボード、マウス、及びディスプレイ（図示せず）を含む。
【００２７】
記憶装置１１８は中央処理装置１１２に結合され、ホストコンピュータ１１０の主記憶媒体として機能する。この好適な実施例では、記憶装置１１８はハードディスクである。しかし、本発明はこれに限定されない。記憶装置１１８は、コンピュータ・ハードウェア及びコンピュータ・ソフトウェアを管理するオペレーティングシステム１１８ａを記憶すると同時に、オペレーティングシステム１１８ａはホストコンピュータ１１０のコアである。具体的には、オペレーティングシステム１１８ａはメインメモリ１１４を管理し割り当て、システムリソース（例えば中央処理装置１１２、メインメモリ１１４、及び入力／出力装置１１６）のプライオリティ（優先度）を決定し、入力／出力装置１１６を制御し、そしてファイルシステムを管理する、等である。この好適な実施例では、オペレーティングシステム１１８ａはマイクロソフト社のウィンドウズ（登録商標）システムである。しかし、本発明はこれに限定されず、他のオペレーティングシステムも本発明に適用することができる。
【００２８】
ローダ１２０は、ホストコンピュータ１１０に結合されるか記憶装置１５０に記憶され、ハードウェアまたはファームウェア／ソフトウェア形式で実現された、記憶装置１５０の隠し記憶領域１５２に記憶されたアプリケーション（例えばコンピュータ実行可能プログラム１６０）を管理するための複数の論理ゲートまたは制御命令を有する。具体的には、この好適な実施例では、ローダ１２０は記憶装置１５０の製造業者によって提供され、隠し記憶領域１５２の仕様に従って隠し記憶領域１５２に記憶されたデータまたはアプリケーションにアクセスすることができる。
【００２９】
この好適な実施例では、ローダ１２０の制御命令はソフトウェア形式で実現され、記憶装置１５０の汎用記憶領域１５４に事前記憶されている。即ち、ユーザがホストコンピュータ１１０を動作させ、ホストコンピュータ１１０に接続された記憶装置１５０をブラウズ（閲覧）する際に、ユーザは汎用記憶領域１５４に記憶されたローダ１２０の所をクリックし、ローダ１２０の制御命令をオペレーティングシステム１１８ａにおいて実行して、隠し記憶領域１５２にアクセスする。具体的には、ローダ１２０の制御命令は、オペレーティングシステム１１８ａにおいて実行された後に、所定命令を記憶装置１５０に送る。この命令を受信した後に、記憶装置１５０は所定データを隠し記憶領域１５２から読み出す。本発明の他の好適な実施例では、ソフトウェア形式で実現されたローダ１２０をホストコンピュータ１１０の光ディスクまたはハードディスクに記憶して、ユーザがローダ１２０の所をクリックすると、オペレーティングシステム１８０においてローダ１２０を実行することもできる。
【００３０】
なお、本発明の他の好適な実施例では、ローダ１２０は記憶装置１５０内またはホストコンピュータ１１０内にハードウェア形式で実現することができる。
【００３１】
図２は、本発明の第１の好適な実施例によるローダ１２０の概略ブロック図である。
【００３２】
図２を参照すれば、ローダ１２０は、主制御装置１２２、初期化装置１２４、アプリケーション追加装置１２６、アプリケーション編集装置１２８、アプリケーション削除装置１３０、及びアプリケーション実行装置１３２を含む。
【００３３】
主制御装置１２２は、ローダ１２０全体の動作を制御する。
【００３４】
初期化装置１２４は主制御装置１２２に結合またはリンクされて、記憶装置１５０の隠し記憶領域１５２を初期化する。具体的には、初期化装置１２４が動作中に、初期化装置１２４は、隠し記憶領域１５２のアドレス、サイズ、及び他の情報を確認し、隠し記憶領域１５２を消去及びフォーマットする。
【００３５】
アプリケーション追加装置１２６は主制御装置１２２に結合またはリンクされ、ユーザが隠し記憶領域１５２に記憶するアプリケーション（例えば、コンピュータ実行可能コードセット１６０）を書き込む。
【００３６】
アプリケーション編集装置１２８は主制御装置１２２に結合またはリンクされ、アプリケーションリストを編集して、記憶装置１５０の隠し記憶領域１５２に記憶されたアプリケーションをブラウズする。
【００３７】
アプリケーション削除装置１３０は主制御装置１２２に結合またはリンクされ、記憶装置１５０の隠し記憶領域１５２に記憶されたアプリケーションを削除する。例えばアプリケーション削除装置１３０は、コンピュータ実行可能コードセット１６０を隠し記憶領域１５２から削除することができる。
【００３８】
アプリケーション実行装置１３２は主制御装置１２２に結合またはリンクされ、記憶装置１５０の隠し記憶領域１５２に記憶されたアプリケーションを実行する。例えば、アプリケーション実行装置１３２はコンピュータ実行可能コードセット１６０をメインメモリ１１４にロードし、ホストコンピュータ１１０のオペレーティングシステム１１８ａにおいてコンピュータ実行可能コードセット１６０を実行する。
【００３９】
図３に、本発明の第１の好適な実施例により、ローダ１２０を実行して隠し記憶領域１５２内のコンピュータ実行可能コードセット１６０を実行する際の、メインメモリの動作を示す。
【００４０】
図３を参照すれば、ユーザが入力／出力装置１１６を通してホストコンピュータ１１０のオペレーティングシステム１１８ａを動作させ、ローダ１２０の所をクリックすると、オペレーティングシステム１１８ａは、ローダ１２０を実行するための実行ポイント３０２を割り当て、（図３(a)に示すように）実行ポイント３０２を有する第１アドレスセグメント３１０を、ローダ１２０の命令をロードし、ローダ１２０を実行する間に使用するデータを一時記憶するためのメインメモリ１１４中の始点として割り当てる。
【００４１】
これに加えて、ユーザが隠し記憶領域１５２に記憶されたコンピュータ実行可能コードセット１６０をローダ１２０によって実行すると、アプリケーション実行装置１３２は、コンピュータ実行可能コードセット１６０を（図３(b)のコンピュータ実行可能コードセット１６０’として）隠し記憶領域１５２から第１アドレスセグメント３１０にロードし、コンピュータ実行可能コードセット１６０’をオペレーティングシステム１１８ａの実行可能コンテント１６２に変換する。それと同時に、アプリケーション実行装置１３２は（図３(c)に示すように）実行可能コンテント１６２を第１アドレスセグメント３１０にロードする。この好適な実施例では、コンピュータ実行可能コードセット１６０に対応する実行可能コンテント１６２は、ウィンドウズ（登録商標）オペレーティングシステムのポータブル・エクセキュータブル（ＰＥ：Portable Executable：移植可能で実行可能）ファイルフォーマットと互換性がある。
【００４２】
この好適な実施例では、アプリケーション実行装置１３２はさらに、派生的実行手順を実行してローダ１２０を再実行するための実行ポイント３０４、及びオペレーティングシステム１１８ａからの派生的実行手順用の第２アドレスセグメント３２０を要求する。この好適な実施例では、派生的実行手順はフォーク（分岐）プロセスを通してローダ１２０を再実行する。しかし、この派生的実行手順は、マルチスレッド・プロセスのような他のマルチタスク実行プロセスによってローダ１２０を再実行することもできる。具体的には、オペレーティングシステム１１８ａは、アプリケーション実行装置１３２の要求に応じて、（図３(d)に示すように）この派生的手順を実行するための始点（即ち、実行ポイント３０４）を割り当て、派生的実行手順用の第２アドレスセグメント３２０をメインメモリ１１４中に割り当てる。特に、この好適な実施例によれば、アプリケーション実行装置１３２は、派生的実行手順を通して、コンピュータ実行可能コードセット１６０に対応する実行可能コンテント１６２を実行する。
【００４３】
アプリケーション実行装置１３２が派生的実行手順を実行した後に、アプリケーション実行装置１３２は派生的実行手順の実行を一時停止して、コンピュータ実行可能コードセット１６０に対応する実行可能コンテント１６２を第２アドレスセグメント３２０に、実行ポイント３０４を始点としてコピーし（即ち実行可能コンテント１６２’）、そして派生的実行手順の実行を再開する。そして、派生的実行手順中のプログラムコードは、コンピュータ実行可能コードセット１６０に対応する実行可能コンテント１６２’に置き換わっているので、コンピュータ実行可能コードセット１６０はホストコンピュータ１１０によって逐次的に実行される。具体的には、アプリケーション実行装置１３２がコンピュータ実行可能コードセット１６０を実行可能コンテント１６２’に変換する際に、アプリケーション実行装置１３２は、コンピュータ実行可能コードセット１６０についての情報（例えば、プログラムコードのサイズ）を実行可能コンテント１６２のヘッダ中に挿入し、これにより、オペレーティングシステム１１８ａは、実行可能コンテント１６２’に置き換わった派生的実行手順を実行する際に、対応するプログラムコードを、実行ポイント３０４から開始して正しく実行することができる。
【００４４】
なお、派生的実行手順はローダ１２０を再実行するために用いるので、第２アドレスセグメント３２０は第１アドレスセグメント３１０と同じサイズを有する。本発明の好適な実施例では、アプリケーション実行装置１３２はさらに、第２アドレスセグメント３２０のサイズが実行可能コンテント１６２’を収容するのに十分であるか否かを判定する。第２アドレスセグメント３２０のサイズが実行可能コンテント１６２’のサイズより小さい場合は、アプリケーション実行装置１３２はオペレーティングシステム１１８ａに、第３アドレスセグメント（図示せず）をメインメモリ１１４中に割り当てることを要求して、実行可能コンテント１６２’を書き込むのに十分なメモリ空間がメインメモリ１１４中に存在することを保証する。
【００４５】
図４は、本発明の第１の好適な実施例によるファイル実行方法のフローチャートである。
【００４６】
図４を参照すれば、まずステップＳ４０１では、記憶装置１５０をホストコンピュータ１１０に接続し、ステップ４０３では、第１アドレスセグメントを割り当て、ローダ１２０をメインメモリ１１４中で実行し、ローダ１２０の実行は以上で詳細に説明した通りであり、従ってここでは説明しない。
【００４７】
そして、ステップＳ４０５では、コンピュータ実行可能コードセット１６０を、ローダ１２０によって、記憶装置１５０の隠し記憶領域１５２から第１セグメント３１０にコンピュータ実行可能コードセット１６０’としてロードする。次に、ステップＳ４０７では、コンピュータ実行可能コードセット１６０’をローダ１２０によって実行可能コンテント１６２に変換し、そして実行可能コンテント１６２を第１アドレスセグメント３１０に記憶する。
【００４８】
その後に、ステップＳ４０９では、実行可能コンテントをローダ１２０によって実行する。具体的には、ステップＳ４０９−１では、オペレーティングシステム１１８ａは、ローダ１２０を再実行するための派生的実行手順を実行し、派生的実行手順用の第２アドレスセグメント３２０をメインメモリ１１４中に割り当てることを要求される。次に、ステップＳ４０９−３では、派生的実行手順の実行をローダ１２０が一時停止し、ステップＳ４０５−５では、実行可能コンテント１６２を第２アドレスセグメント３２０に実行可能コンテント１６２’として書き込む。最後に、ステップＳ４０９−７では、派生的実行手順の実行を再開する。
【００４９】
上述したように、本発明の他の好適な実施例では、ステップ４０９はさらに、第２アドレスセグメント３２０のサイズが実行可能コンテント１６２’のサイズより小さいか否かを判定し、第２アドレスセグメント３２０のサイズが実行可能コンテント１６２’のサイズより小さい場合は、オペレーティングシステム１１８ａに、第３アドレスセグメントをメインメモリ１１４中に割り当てることを要求することを含む。
【００５０】
図５は、本発明の第２の好適な実施例によるファイル実行システムの概略ブロック図である。
【００５１】
図５を参照すれば、第２の好適な実施例のファイル実行システムと第１の好適な実施例のファイル実行システムとの相違は、第２の好適な実施例のファイル実行システムが、ローダ１２０を自動的に実行するための自動実行ファイル５０２を有することにある。具体的には、記憶装置１５０をホストコンピュータ１１０に結合すると、自動実行ファイル５０２が自動的に実行され、自動実行ファイル５０２はローダ１２０をメインメモリ１１４中で実行する。例えば、この好適な実施例では、記憶装置１５０はさらに、ＩＳＯ９６６０規格と互換性のある特別な記憶領域５５０を含み、特別な記憶領域５５０は、”autrun.inf”（「自動実行」）として実現された自動実行ファイル５０２及びローダ１２０を記憶する。従って、記憶装置１５０をホストコンピュータ１１０に結合すると、オペレーティングシステム１１８ａは自動実行ファイル５０２を自動的に実行し、従ってローダ１２０を実行する。特に、ユーザは実行するアプリケーション（例えば、コンピュータ実行可能コードセット１６０）をローダ１２０内に事前設定することができ、これにより、ローダ１２０が実行されると、事前設定されたアプリケーションは自動的に実行される。
【００５２】
図６は、本発明の第２の好適な実施例によるファイル実行方法のフローチャートである。
【００５３】
図６を参照すれば、まずステップＳ６０１では、記憶装置１５０をホストコンピュータ１１０に接続し、ステップＳ６０３では、オペレーティングシステム１１８ａが自動実行ファイル５０２を自動的に実行する。次に、ステップＳ６０５では、ローダ１２０が自動的に実行され、隠し記憶領域１５２内の事前設定されたアプリケーション（例えば、コンピュータ実行可能コードセット１６０）が自動的に実行され、ローダ１２０及び隠し記憶領域１５２に記憶されたアプリケーションを実行するステップは、図４に示すステップＳ４０３、Ｓ４０５、Ｓ４０７、Ｓ４０９−１、Ｓ４０９−３、Ｓ４０９−５、及びＳ４０９−７と同様であり、従ってここでは説明しない。
【００５４】
本発明の他の好適な実施例では、ローダ１２０は、所定のアプリケーションを自動的に実行した後に自動的にシャットダウン（停止）する（即ち、ローダ１２０の動作を終了する）。
【００５５】
本発明によって提供されるファイル実行方法は、コンピュータ可読記録媒体（あるいはプログラマブル記憶装置）中のコンピュータ可読コードとして実現することができる。このコンピュータ可読記録媒体は、リードオンリー（読出し専用）メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク（登録商標）、光ディスク記憶デバイス、及び搬送波（例えばインターネットを通したデータ伝送）のような、コンピュータシステムが読み取ることのできるあらゆるデータ記憶デバイスとすることができる。
【００５６】
上述したように、本発明では、ローダは、記憶装置の隠し記憶領域に記憶されたコンピュータ実行可能コードセットを読み込み、このコンピュータ実行可能コードセットを、ホストコンピュータのメインメモリ中の実行可能なコンテントに変換し、そしてこの実行可能なコンテントを派生的実行手順によって実行するように構成されている。これにより、前述した本発明の好適な実施例は多数の利点を有し、これらの利点は、ホストコンピュータにとってアクセス不可能であるコンピュータ隠し記憶領域に記憶されたコンピュータ実行可能コードセットをホストコンピュータにおいて良好に実行することができ、コンピュータ実行可能コードセット及びこれに対応する実行可能なコンテントはメインメモリに非ファイルフォーマットで一時記憶されるので、隠し記憶領域に記憶されたコンピュータ実行可能コードセットは、コピーまたは分配されることから保護されることを含み、上述した利点は本発明の必ずしもすべてのバージョンで要求されない。
【００５７】
本発明の範囲から外れることなしに、種々の変更及び変形を本発明の構造に加え得ることは、当業者にとって明らかである。以上を考慮すれば、本発明の変更及び変形が請求項及びその等価物の範囲内に入るならば、本発明はこれらの変更及び変形をカバーすることを意図する。
【符号の説明】
【００５８】
１００  ファイル実行システム
１１０  ホストコンピュータ
１１２  中央処理装置
１１４  メインメモリ
１１６  入力／出力装置
１１８  記憶装置
１１８ａ  オペレーティングシステム
１２０  ローダ
１２２  主制御装置
１２４  初期化装置
１２６  アプリケーション追加装置
１２８  アプリケーション編集装置
１３０  アプリケーション削除装置
１３２  アプリケーション実行装置
１５０  記憶装置
１５２  隠し記憶領域
１５４  汎用記憶領域
１５６  コントローラ
１５８  フラッシュメモリチップ
１６０  コンピュータ実行可能コードセット
１６０’  コンピュータ実行可能コードセット
１６２  実行可能コンテント
１６２’  実行可能コンテント
３０２  実行ポイント
３０４  実行ポイント
３１０  第１アドレスセグメント
３２０  第２アドレスセグメント
５０２  自動実行ファイル
５５０  特別な記憶領域
【図１】
2011008753.tif 000003
【図２】
2011008753.tif 000004
【図３】
2011008753.tif 000005
【図４】
2011008753.tif 000006
【図５】
2011008753.tif 000007
【図６】
2011008753.tif 000008
【外国語明細書】
2011008753000001.pdf