説明

USBメモリに内蔵したプログラムをそのまま実行させる方法

【課題】 従来、プログラムの実行は、パソコンにプログラムをインストールして、インストールされたプルグラムをパソコンから起動するが、パソコンにインストールするが為に、インストールしたパソコンでしか実行できず、パソコンを修理に出した時には他にパソコンがあっても実行することができず、また、パソコンの修理中にプログラムやデータを失う恐れが常に付きまとう。
【解決手段】 自由に読み書きが可能なUSBメモリにプログラムをインストールしておき、且つ、USBメモリにデータを持たせることで、パソコンにプログラムをインストールせずに、USBメモリからプルグラムを実行させる事を可能にすることにより、パソコンに依存せずプログラムの実行が可能となり、パソコンが故障しても、パソコンを買い換えても新たな手間が一切かからず実行を可能とすることができる。

【発明の詳細な説明】
【技術分野】
本発明はUSBメモリに入れたプログラムの実行に関する。
【発明分野】
【0001】
パーソナル・コンピュータ(以降、パソコンと記述します)よりユニバーサル・シリアル・バス(以降、USBと記述する)を使用した大容量記憶装置デバイス(以降、メモリと記述する)内に記憶させたアプリケーション・プログラム(以降、プログラムと記述します)をパソコンにインストールすることなく起動し、且つ、他のプログラムの補助的な動作でなく、そして、起動されたプログラムが表示する画面より入力したデータをそのままUSBメモリのデータ部に保存し、パソコンのハードディスクに保存することもなくプログラムの実行を可能とする。
【0002】
また、現在のパソコンのOperating System(以下、OSと記述します)のCentral Processing Unit(以下、CPUと記述します)のデータバス幅には従来の32ビットに加えて64ビットが存在するために、実行時にデータバス幅を意識することなく使用できる様にする。
【0003】
さらに、USBメモリ内に記憶させたプログラム及び実行環境を他の媒体にコピーして実行しようとした時に、コピー先の媒体を利用してプログラムを実行しようとした場合にプログラムの実行内容に制限に掛ける。
尚、本発明は、前記課題の少なくとも1つを解決する。
【背景技術】
【0004】
USBポートは近年、すべてのパソコンが持ち、USB機器の使用が可能となっていて、そのUSBを利用した記憶装置の記憶容量も大きく、大容量の記憶領域を持つに至り、その使い方は一般的には保存用として使用しているか、または、プログラムを入れてUSBからインストールを行うCDメディアの代替的な利用が一般的である。それでもプラグインアプリケーションの形態を可能(特許文献1を参照)としたり、プリンターやディスプレイを使用するに当たり必要となるドライバをインストール不要にする汎用ドライバ(特許文献2を参照)があるが、業務的なプログラムを独立して起動そして、運用するためのものでない。
【先行技術文献】
【0005】
【特許文献1】特開2005−216019
【特許文献2】特開2009−266117
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来、プログラムを実行する場合はパソコンにプログラムをインストールし、インストールされたプログラムをパソコン上にて実行するが、インストールプログラムの場合、パソコンが故障して修理に出す場合、修理の過程上でプログラム及びデータを消去される恐れやデータの漏洩の危険性が常に付きまとう。また、パソコンの修理依頼中は該プログラムの実行はできなくなるし、パソコンを廃棄処分する場合や下取りに出す場合、ハードディスクに保存されているデータは、パソコンが立ち上がらなくても生きているために、ハードディスク中のデータを完全に消去しなければ、情報漏洩の危険性がある。
【0007】
また、現在、市販されているソフトウェアやダウンロードするソフトウェアが対象とするWindowsのパソコンのOSが持つCPUは一部、サーバー系パソコンを除いてそのほとんどがx84であるために、市販されているソフトウェアやダウンロードするソフトウェアのほとんどはx86のみを対象としたものであるために利用者はプログラムをインストールする際に、CPUのデータバス幅を意識することがなかった。しかし、現在でも、サーバー系パソコン等の一部のパソコンのOSにはx64が使用されているパソコンもあり、その場合、パソコンのOSの持つCPUのデータバス幅に応じたx86及びx64用のインストール用CDを提供して、インストールするときに、メーカー側がインストールを行う使用者にメディアの使い分けを委ねているのが現状で、現在、市販されているOSのWindows7ではサーバー系のパソコン以外でもx86の他にx64のCPUのデータバス幅を搭載したパソコンが市販されており、この場合、サーバー系OSを持つパソコンと同様、インストールするときに常にCPUのデータバス幅を意識しなければインストールすることができない。それでも、インストールを行うソフトウェアの場合はインストール時のみで良いが、インストールを伴わない場合で、且ついずれのCPUのデータバス幅にも対応させようとした場合、使用するときに毎回、CPUのデータバス幅を意識しなければならなくなってしまう事は、運用が煩わしいものとなっています。
【0008】
プログラムをパソコンにインストールせずにプログラムの実行が可能となる事により、プログラムを自由にコピーされる恐れがあり、且つ、プログラムの実行が可能となってしまっては、商業上、ビジネスが成り立たない為に、コピーにより作成されたプログラムの実行に制限を掛けることを必要とする。
【課題を解決するための手段】
【0009】
パソコンにプログラムをインストールせずにプログラムを実行するために、USBメモリ内にプログラム及びデータの他に環境データ、及び管理情報を有し、プログラムが実行された時に、プログラムはパソコンのメモリ上のプログラム実行領域にロードされ、プログラムが実行に必要となる環境情報や管理情報はUSBメモリ内の環境データ及び管理情報を参照し、更新データの保存もUSBメモリのデータに更新することによって、プログラムをインストールして実行する場合のレジストリやHDDを一切使用せずUSBメモリの内部の記憶領域を使用する方式のシステム。
【0010】
プログラムが実行するに必要となるCPUのデータバス幅の決定を業務実行用のプログラム・ステップの実行前に自動でOSの持つCPUのデータバス幅の判定をWindows環境変数のPROCESSOR_ARCHITECTUREを使用して取得し、CPUのデータバス幅に応じた実行用ファイルをパソコン内におメモリ上のプログラム実行領域にコード展開する処理。
【0011】
プログラムのコピーをソフトウェア的に抑止するために、プログラムをUSBメモリに入れる際、事前に起動環境のドライブレターを使用して、そこからUSBメモリの持つボリュームシリアルナンバーを取得して、プログラムから参照される管理情報に書き込みを行い、業務プログラムが実行される前処理として、USBメモリ内のボリュームシリアルナンバーとプログラムが参照する管理情報に保存されているボリュームシリアルナンバーの比較判定により運用モード判定を決定し、正規プログラムならば正常なプログラムを実行し、複製版プログラムの場合は実行に制限を加える事を可能とするシステム。
【0012】
請求項3の運用モードチェックにより制限を掛けようとするプログラムの実行制限には、一切の実行を不可とすることも、実行するプログラムの機能に制限を掛けることも、全機能が実行可能だがデータに数量的に制限を掛けることも可能とする処理。
【発明の効果】
【0013】
USBメモリで実行可能なプログラム(以降、実行用ファイルと記述します)をUSBメモリに保存させて、パソコンにインストールされているプログラムを実行すると同様に、USBメモリ内に記憶させた実行用ファイルを右クリックして「開く」をクリック(ダブルクリックでも可)するだけで実行が可能となる。さらに実行に際し、データの保存もUSBメモリに行うために、パソコンに弱い方にとって煩わしいインストール作業をしないで済む。
【0014】
USBメモリから起動されたプログラムは、パソコンのメモリ上に展開されて実行し、実行中に参照する環境データや管理情報はUSBメモリより参照し、プログラムの実行を終了した場合、パソコンには一切のデータも保存しないで運用することができるために、以下の効果が得られる。
(1)パソコンを修理に出した時に、プログラムもデータもパソコン内に存在しない為に情報漏洩の心配がない。また、プログラムやデータを消去される心配がない。
(2)パソコンを買い換えた時に、新しいパソコンにデータ移行をしないで済む。
(3)使用していたパソコンを廃棄するときや下取りに出す時に、情報漏洩の心配がない、または、データ消去の作業が必要としない。
【0015】
USBメモリに記憶させた実行用ファイルを他の記憶媒体にコピーして実行しようとした場合、コピーされたプログラムの実行を抑止したり、また、実行される内容に制限を掛けることが可能となる。そして、この使用制限もハードウェア的にやっているのでなく、ソフトウェア的になっているために、一切の実行をできなくすることも、機能ごとに実行制限を掛けることも、データの量的な制限を掛けることもできる。
【0016】
実行しようとするパソコンのOSがマイクロソフト社のWindowsを使用したパソコンであるならば、OSのCPUのデータバス幅を意識することなく実行せずに実行することができる。
【図面の簡単な説明】
【0017】
【図1】USBメモリ及びプログラムを実行するパソコン内の実行環境を示すブロック図
【図2】プログラム実行後のUSBメモリ及びパソコン内の実行環境を示すブロック図
【図3】USBメモリ内のプログラム実行時の概要フローチャート
【図4】USBメモリ内のプルグラムセットアップフローチャート
【図5】OS判定のフローチャート
【図6】USBメモリ内のプログラムのコピーを抑止するために運用モードチェックフローチャート
【発明を実施するための形態】
【0018】
図1にある様にUSBメモリ15には実行用ファイルであるプログラム16と環境データ17、管理情報18、そして、データ19を持ち、USBメモリ15をパソコン10のUSBポートに挿して、パソコン10のエクスプローラー(パソコンのOSがマイクロソフト社のWindowsを使用している場合、以下同様)より、USBメモリ15内に置かれている実行用ファイル(図1ではプログラム16と記載)を起動すると、図2にある様にパソコン10のメモリ上のプログラム実行領域11にプログラム15がロードされ、プログラムが実行される。
図1は実行前状態のUSBメモリ15内部とパソコン10との関係を表した概念図である。図1で解る様に、USBメモリ15にはプログラム16の他に環境データ17、管理情報18、及びデータ19を持つ。
そして、USBメモリ15のプログラム16がロードされた後は、プログラム16、はレジストリ等のパソコン10に依存した環境を使用せず、図2にある様にUSBメモリ15内部におかれた環境データ17の読込みを実行する。
また、管理情報18もUSBメモリ15を参照し、プログラムの実行に当たってはデータの読み込みも、書き込みもUSBメモリ15内部のデータ19に対して行う。
【0019】
図3は業務プログラム34が実行されるまでの流れを表したもので、本来のプログラムである業務プログラム34が実行される事前ステップとして、ステップ31でOS14のCPUのデータバス幅の判定処理を、ステップ32でボリュームシリアルナンバー判定処理を行い、その結果、どの運用モードで実行するかの判定処理をステップ33で行い、通常運用と判断した場合は業務プログラムの実行をステップ34の通常モードで実行し、制限運用と判断した場合は、ステップ35の制限モードでの事項となり、運用不可とした場合は、実行不可としてステップ36の処理終了となる。
【0020】
図5はパソコン10のOS14が持つCPUのデータバス幅の判定を行うための環境情報の取得をするためのフローチャートで、ステップ51でUSBメモリ15内のプログラム16が実行される際に、ステップ51でWindowsの環境変数のPROCESSOR_ARCHITECTUREを使用してCPUの持つデータバス幅を取得して、ステップ52のCPUのデータバス幅チェックを行い、OS14の持つCPUのデータバス幅の判断により、CPUのデータバス幅に応じた実行が可能となる図5を実行しなかった場合、OSの環境により、データの読み書きが正常に行われない場合が発生するのを回避する。
【0021】
プログラム16をUSBメモリ15に記憶させる際に、使用するUSBメモリ15とプログラム16の関係づけをあらかじめ作っておく。これは、図4の方式により、ステップ41の起動環境のドライブレターを使用し、ボリュームシリアルナンバーを取得し、取得したボリュームシリアルナンバーをステップ42によりUSBメモリ15の管理情報に対して書き込みを行い、ステップ43によりプログラム及び環境データをUSBメモリに保存する。そして、プログラムを実行するときは、図6のフローチャートの方式にもある様に、ステップ61で起動環境のドライブレターを使用してUSBの持つボリュームシリアルナンバーを取得し、ステップ62でUSBメモリにあらかじめ保存したUSBの管理情報からもボリュームシリアルナンバー取得して、ステップ63でUSBメモリ及び管理情報から取得したボリュームシリアルナンバーチェックを行い、その結果に基づき運用モードを決定するが、その決定結果が実行されたプログラムがオリジナルのUSBメモリよりプログラムがロードされたものである場合は、プログラムは正しく実行され、オリジナルでない記憶媒体よりロードされたプログラムの場合は、実行できないように抑止を掛けたり、実行される機能に制限を掛けたり、又は取扱いデータに対して数量制限をかけたりすることが可能となる。
【産業上の利用可能性】
【0022】
本発明は、プログラムの実行に際し、USBメモリを利用したプログラムの実行についてソフトウェア的にプログラムの違法コピーの抑止に好適に利用することができる。
【0023】
また、従来のパソコンではマイクロソフト社のWindows(登録商標)ではCPUのデータバス幅はほとんどがx86のみで、x64が使用されるのは、業務用のサーバー用のOSだったために、使用者がCPUのデータバス幅を意識する必要はなかったが、パソコンの高性能化に伴い、x64のパソコンが販売される様になり、今後は使用者がCPUのデータバス幅を意識する必要が出てくるが、本発明により、従来通り、使用者はCPUのデータバス幅を意識せずにプログラムを使用することが可能となる。

【特許請求の範囲】
【請求項1】
パソコンにプログラムをインストールせずにプログラムを実行するために、USBメモリ内にプログラム及びデータの他に環境データ、及び管理情報を有し、プログラムが実行された時に、プログラムはパソコンのメモリ上のプログラム実行領域にロードされ、プログラムが実行に必要となる環境情報や管理情報はUSBメモリ内の環境データ及び管理情報を参照し、更新データの保存もUSBメモリのデータに更新することによって、プログラムをインストールして実行する場合のレジストリやHDDを一切使用せずUSBメモリの内部の記憶領域を使用する方式のシステム。
【請求項2】
プログラムが実行するに必要となるCPUのデータバス幅の決定を業務実行用のプログラム・ステップの実行前に自動でOSの持つCPUのデータバス幅の判定をWindows環境変数のPROCESSOR_ARCHITECTUREを使用して取得し、CPUのデータバス幅に応じた実行用ファイルをパソコン内におメモリ上のプログラム実行領域にコード展開する処理。
【請求項3】
プログラムのコピーをソフトウェア的に抑止するために、プログラムをUSBメモリに入れる際、事前に起動環境のドライブレターを使用して、そこからUSBメモリの持つボリュームシリアルナンバーを取得して、プログラムから参照される管理情報に書き込みを行い、業務プログラムが実行される前処理として、USBメモリ内のボリュームシリアルナンバーとプログラムが参照する管理情報に保存されているボリュームシリアルナンバーの比較判定により運用モード判定を決定し、正規プログラムならば正常なプログラムを実行し、複製版プログラムの場合は実行に制限を加える事を可能とするシステム。
【請求項4】
請求項3の運用モードチェックにより制限を掛けようとするプログラムの実行制限には、一切の実行を不可とすることも、実行するプログラムの機能に制限を掛けることも、全機能が実行可能だがデータに数量的に制限を掛けることも可能とする処理。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−258167(P2011−258167A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2010−146837(P2010−146837)
【出願日】平成22年6月11日(2010.6.11)
【出願人】(510180131)株式会社アドラックス (1)
【Fターム(参考)】