【手続補正書】
【提出日】平成18年5月30日(2006.5.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
装置に送信するプログラムを分割する方法において、
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別することと、
前記再帰関数および非再帰関数の識別を用いて、プログラムを複数のプログラムパーティションに分割することとを備え、
前記複数のプログラムパーティションの少なくとも一つを装置に送信するとき、前記複数のプログラムパーティションが、他の場合には一連のプログラムパーティションによって漏洩されるような制御流れ情報について、前記プログラムの制御流れ情報を漏らさない、
プログラム分割方法。
【請求項２】
さらに、前記複数のプログラムパーティションの少なくとも一つを装置に送信し、実行することを備える、請求項１に記載のプログラム分割方法。
【請求項３】
コンピュータプログラムコードによって、前記プログラムの解析を行う、請求項１に記載のプログラム分割方法。
【請求項４】
コンピュータプログラムコードによって、プログラムを複数のプログラムパーティションに分割する、請求項１に記載のプログラム分割方法。
【請求項５】
さらに、前記複数のプログラムパーティションの少なくとも二つを共に前記装置に送信するように、前記複数のプログラムパーティションの少なくとも二つを併合して併合プログラムパーティションを生成することを備える、請求項１に記載のプログラム分割方法。
【請求項６】
さらに、前記複数のプログラムパーティションの少なくとも二つを併合して併合プログラムパーティションを生成する前に、装置のメモリ容量を決定することを備える、請求項５に記載のプログラム分割方法。
【請求項７】
さらに、前記併合プログラムパーティションを装置に送信することを備える、請求項５に記載のプログラム分割方法。
【請求項８】
前記再帰関数および非再帰関数の前記識別を用いてプログラムを分割することが、前記再帰関数および非再帰関数の前記識別を用いてプログラムを複数の最小安全プログラムパーティションに分割することを備える、請求項１に記載のプログラム分割方法。
【請求項９】
前記最小安全プログラムパーティションのいずれかをさらに分割することによって制御情報を決定することができるように、最小安全パーティションを分割する、請求項８に記載のプログラム分割方法。
【請求項１０】
再帰関数または非再帰関数の実行時、各最小安全パーティションを一定の順序で装置に送信する、請求項８に記載のプログラム分割方法。
【請求項１１】
さらに、前記最小安全プログラムパーティションの少なくとも二つを併合して安全併合プログラムパーティションを作成することを備える、請求項８に記載のプログラム分割方法。
【請求項１２】
さらに、前記装置に、前記複数のプログラムパーティションの少なくとも一つをキャッシュするために割り当てられたメモリを確保することを備える、請求項１に記載のプログラム分割方法。
【請求項１３】
装置にダウンロードするプログラムを分割する方法において、
装置の必要メモリを超える大きさのプログラムを供給することと、
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別することと、
前記再帰関数および非再帰関数の識別を用いて、プログラムを複数のプログラムパーティションに分割することと、
プログラム全体が装置に常駐することなく、前記プログラムの実行中のコードおよびデータが装置に完全に常駐するように、前記複数のプログラムパーティションの少なくとも一つを装置に送信することと、
を備えるプログラム分割方法。
【請求項１４】
コンピュータプログラムコードによって、前記プログラムの解析を行う、請求項１３に記載のプログラム分割方法。
【請求項１５】
コンピュータプログラムコードによって、プログラムを複数のプログラムパーティションに分割する、請求項１３に記載のプログラム分割方法。
【請求項１６】
前記複数のプログラムパーティションの少なくとも二つを併合して併合プログラムパーティションを生成することと、
前記併合プログラムパーティションを前記装置に送信することと、
をさらに備える請求項１３に記載のプログラム分割方法。
【請求項１７】
さらに、前記複数のプログラムパーティションの少なくとも二つを併合する前に、装置のメモリ容量を識別することを備える、請求項１６に記載のプログラム分割方法。
【請求項１８】
前記再帰関数および非再帰関数の前記識別を用いてプログラムを分割することが、前記再帰関数および非再帰関数の前記識別を用いてプログラムを複数の最小安全プログラムパーティションに分割することを備える、請求項１３に記載のプログラム分割方法。
【請求項１９】
前記最小安全プログラムパーティションのいずれかをさらに分割することによって、プログラムパーティションを装置に送信するとき、前記プログラムの制御情報を決定することができるように、最小安全パーティションを分割する、請求項１８に記載のプログラム分割方法。
【請求項２０】
再帰関数または非再帰関数の実行時、各安全パーティションを一定の順序で装置に送信する、請求項１８に記載のプログラム分割方法。
【請求項２１】
さらに、前記最小安全プログラムパーティションの少なくとも二つを併合して安全併合プログラムパーティションを作成することを備える請求項１８に記載のプログラム分割方法。
【請求項２２】
前記少なくとも二つの最小安全プログラムパーティションを併合することによって、装置に送信するパーティションの数を減らす、請求項２１に記載のプログラム分割方法。
【請求項２３】
さらに、前記装置に、前記複数のプログラムパーティションの少なくとも一つをキャッシュするために割り当てられたメモリを確保することを備える、請求項１３に記載のプログラム分割方法。
【請求項２４】
装置にプログラムパーティションを記憶する方法において、
大きすぎて装置に常駐できないプログラムの実行可能部分を備える少なくとも一つのプログラムパーティションをサーバに要求することと、
前記少なくとも一つのプログラムパーティションを前記装置のメモリに記憶することと、
前記少なくとも一つのプログラムパーティションを前記装置で実行することと、
を備えるプログラムパーティション記憶方法。
【請求項２５】
さらに、前記少なくとも一つのプログラムパーティションを実行した直後に、前記少なくとも一つのプログラムパーティションを前記メモリから除去することによって、メモリに追加コンテンツを記憶できるようにすることを備える、請求項２４に記載のプログラムパーティション記憶方法。
【請求項２６】
さらに、前記少なくとも一つのプログラムパーティションを再実行することを前記装置が知らない場合、前記少なくとも一つのプログラムパーティションを前記メモリから除去することを備える、請求項２４に記載のプログラムパーティション記憶方法。
【請求項２７】
さらに、前記少なくとも一つのプログラムパーティションを装置に再送信することを備える、請求項２５に記載のプログラムパーティション記憶方法。
【請求項２８】
装置にプログラムパーティションを記憶する方法において、
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別することと、
前記再帰関数および非再帰関数の識別を用いて、プログラムを複数のプログラムパーティションに分割することと、
プログラムの実行に必要なプログラムブロックに対応するパーティションのみを装置に記憶することと、
を備えるプログラムパーティション記憶方法。
【請求項２９】
パーティションの記憶が、プログラムの実行に必要なプログラムブロックに対応するパーティションのみを選択的に記憶することを備え、この選択的記憶が装置によって行われる、請求項２８に記載のプログラムパーティション記憶方法。
【請求項３０】
装置に送信するプログラムを分割するコンピュータプログラムプロダクトにおいて、
前記コンピュータプログラムプロダクトが、
コンピュータ可読コード手段が埋め込まれたコンピュータ使用可能媒体を備え、
前記コンピュータ可読コード手段が、
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別するコンピュータ可読プログラムコード手段と、
前記再帰関数および非再帰関数の識別を用いて、プログラムを複数のプログラムパーティションに分割するコンピュータ可読プログラムコード手段とを備え、
前記複数のプログラムパーティションの少なくとも一つを装置に送信するとき、前記複数のプログラムパーティションが、他の場合には一連のプログラムパーティションによって漏洩されるような制御流れ情報について、前記プログラムの制御流れ情報を漏らさない、
プログラム分割コンピュータプログラムプロダクト。
【請求項３１】
さらに、前記複数のプログラムパーティションの少なくとも一つを装置に送信し実行するコンピュータ可読プログラムコード手段を備える、請求項３０に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項３２】
さらに、前記複数のプログラムパーティションの少なくとも二つを併合して併合プログラムパーティションを生成するコンピュータ可読プログラムコード手段を備える、
請求項３０に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項３３】
さらに、前記複数のプログラムパーティションの少なくとも二つを併合する前に、装置のメモリ容量を識別するコンピュータ可読プログラムコード手段を備える、請求項３２に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項３４】
さらに、前記併合プログラムパーティションを装置に送信するコンピュータ可読プログラムコード手段を備える、請求項３２に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項３５】
前記再帰関数および非再帰関数の前記識別を用いてプログラムを分割するコンピュータ可読プログラムコード手段が、前記再帰関数および非再帰関数の前記識別を用いてプログラムを複数の最小安全プログラムパーティションに分割するコンピュータ可読プログラムコード手段を備える、請求項３０に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項３６】
前記最小安全プログラムパーティションのいずれかをさらに分割することによって制御流れ情報を決定することができるように、最小安全パーティションを分割する、請求項３５に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項３７】
再帰関数または非再帰関数の実行時、各安全パーティションを一定の順序で装置に送信する、請求項３５に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項３８】
さらに、前記最小安全プログラムパーティションの少なくとも二つを併合して安全併合プログラムパーティションを作成するコンピュータ可読プログラムコード手段を備える、請求項３５に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項３９】
さらに、前記複数のプログラムパーティションの少なくとも一つをキャッシュするために割り当てられたメモリを前記装置に確保するコンピュータ可読プログラムコード手段を備える、請求項３０に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項４０】
メモリが限られた装置にプログラムの一部のみをダウンロードし該装置で該プログラム部分を実行するように、プログラムを分割するシステムにおいて、
前記システムが、
装置の必要メモリを超える大きさのプログラムが常駐するメモリを含むサーバと、
前記サーバと通信する装置とを備え、
前記サーバが、
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別し、
前記再帰関数および非再帰関数の識別を用いて、プログラムを複数のプログラムパーティションに分割し、
前記複数のプログラムパーティションの少なくとも一つを装置に送信することによって、
プログラム全体が装置に常駐することなく、前記プログラムの実行中の部分が装置に完全に常駐するように動作することができる、
プログラム分割システム。
【請求項４１】
前記サーバが、前記複数のプログラムパーティションの少なくとも一つを受信するのに使用できる前記装置のメモリを決定するように動作することができる、請求項４０に記載のプログラム分割システム。
【請求項４２】
前記サーバが、前記複数のプログラムパーティションの少なくとも二つを併合して、装置に送信する併合パーティションを作成することによって、装置に送信する個々のパーティションの数を減らすように動作することができる、請求項４０に記載のプログラム分割システム。
【請求項４３】
前記装置がスマートカードを備える、請求項４０に記載のプログラム分割システム。
【請求項４４】
セキュリティ装置にプログラムの一部のみをダウンロードするようにプログラムを分割するシステムにおいて、
前記システムが、
プログラムを記憶し、プログラムを複数のプログラムパーティションに分割するように動作することができるサーバと、
前記サーバと通信し、前記サーバから前記複数のプログラムパーティションの少なくとも一つを受信する装置とを備え、
前記複数のプログラムパーティションの少なくとも一つを装置に送信するとき、前記複数のプログラムパーティションが、他の場合には一連のプログラムパーティションによって漏洩されるような制御流れ情報について、前記プログラムの制御流れ情報を漏らさない、
プログラム分割システム。
【請求項４５】
前記サーバが、前記複数のプログラムパーティションの少なくとも一つを受信するのに使用できる前記装置のメモリを決定するように動作することができる、請求項４４に記載のプログラム分割システム。
【請求項４６】
前記サーバが、前記複数のプログラムパーティションの少なくとも二つを併合して、装置に送信する併合パーティションを作成することによって、装置に送信する個々のパーティションの数を減らすように動作することができる、請求項４４に記載のプログラム分割システム。
【請求項４７】
前記装置がスマートカードを備える、請求項４４に記載のプログラム分割システム。
【請求項４８】
セキュリティ装置にプログラムの一部のみをダウンロードするようにプログラムを分割するコンピュータプログラムプロダクトにおいて、
前記コンピュータプログラムプロダクトが、
コンピュータ可読コード手段が埋め込まれたコンピュータ使用可能媒体を備え、
前記コンピュータ可読コード手段が、
装置の必要メモリを超える大きさのプログラムを供給するコンピュータ可読プログラムコード手段と、
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別するコンピュータ可読プログラムコード手段と、
前記再帰関数および非再帰関数の識別を用いて、プログラムを複数のプログラムパーティションに分割するコンピュータ可読プログラムコード手段と、
プログラム全体が装置に常駐することなく、前記プログラムの実行中の部分が装置に完全に常駐するように、前記複数のプログラムパーティションの少なくとも一つを装置に送信するコンピュータ可読プログラムコード手段とを備える、
プログラム分割コンピュータプログラムプロダクト。
【請求項４９】
前記複数のプログラムパーティションの少なくとも二つを併合して併合プログラムパーティションを生成するコンピュータ可読プログラムコード手段と、
前記併合プログラムパーティションを前記装置に送信するコンピュータ可読プログラムコード手段とをさらに備える、
請求項４８に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項５０】
さらに、装置を調べて、前記複数のプログラムパーティションの少なくとも二つを併合する前に装置のメモリ容量を決定するコンピュータ可読プログラムコード手段を備える、請求項４８に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項５１】
前記再帰関数および非再帰関数の前記識別を用いてプログラムを分割するコンピュータ可読プログラムコード手段が、前記再帰関数および非再帰関数の前記識別を用いてプログラムを複数の最小安全プログラムパーティションに分割するコンピュータ可読プログラムコード手段を備える、請求項４８に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項５２】
前記最小安全プログラムパーティションのいずれかをさらに分割することによって、プログラムパーティションを装置に送信するとき、前記プログラムの制御情報を決定することができるように、最小安全パーティションを分割する、請求項５１に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項５３】
再帰関数または非再帰関数の実行時、各安全パーティションを一定の順序で装置に送信する、請求項５１に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項５４】
さらに、前記最小安全プログラムパーティションの少なくとも二つを併合して安全併合プログラムパーティションを作成するコンピュータ可読プログラムコード手段を備える、請求項５１に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項５５】
前記少なくとも二つの最小安全プログラムパーティションの併合によって装置に送信する個々のパーティションの数を減らすように、前記安全併合プログラムパーティションを装置に送信する、請求項５４に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項５６】
さらに、前記複数のプログラムパーティションの少なくとも一つをキャッシュするために割り当てられたメモリを前記装置に確保するコンピュータ可読プログラムコード手段を備える、請求項４８に記載のプログラム分割コンピュータプログラムプロダクト。
【請求項５７】
装置にダウンロードするプログラムを分割する方法において、
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別し、
前記再帰関数および非再帰関数の識別を用いて、プログラムを複数のプログラムパーティションに分割し、
装置が要求する前記複数のプログラムパーティションの少なくとも一つを識別し、これにより、前記少なくとも一つのプログラムパーティションを装置に送信すると、プログラム全体が装置に常駐することなく、前記少なくとも一つのプログラムパーティションがプログラムの関数を能動的に実行し、
送信されたパーティションの実行に必要な必要最低限のプログラムデータを識別し、識別された必要最低限のプログラムデータを装置にダウンロードする
ことを備えるプログラム分割方法。
【請求項５８】
一部のみが装置で実行するプログラムを供給し、
プログラムを複数の最小安全パーティションに分割し、
前記複数の最小安全パーティションの少なくとも一つに関連する少なくとも一つの呼び出し位置を識別し、
識別された前記少なくとも一つの呼び出し位置を用いて、装置で頻繁に実行される関数集合を識別し、
識別された関数集合のみを装置に記憶する
ことを備える装置性能最適化方法。
【請求項５９】
装置で頻繁に実行される関数集合を識別するステップにおいて、トレース分析を用いて、各呼び出し位置毎に、頻繁に実行される関数集合を識別することを備える、請求項５８に記載の装置性能最適化方法。
【請求項６０】
さらに、少なくとも一つの呼び出し位置を識別することによって、装置が実行可能関数を重複してロードしないようにすることを備える、請求項５８に記載の装置性能最適化方法。
【請求項６１】
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別することと、
前記再帰関数および非再帰関数の識別を用いて、プログラムを複数のプログラムパーティションに分割することと、
装置のメモリを理想的なコードセグメント成分およびデータセグメント成分に分割するように勧告を装置に送信することとを備え、
前記複数のプログラムパーティションの少なくとも一つを装置に送信するとき、前記複数のプログラムパーティションが、他の場合には一連のプログラムパーティションによって漏洩されるような制御流れ情報について、前記プログラムの制御流れ情報を漏らさない、
装置性能最適化方法。
【請求項６２】
プログラム内の関数を識別するプログラムを解析することによって、装置に送信するプログラムを分割する方法であって、前記方法を改善することが、
プログラムを解析することによって、前記プログラムの少なくとも一つの再帰関数および少なくとも一つの非再帰関数を識別することと、
前記再帰関数および非再帰関数の前記識別を用いてプログラムを分割することが、前記再帰関数および非再帰関数の前記識別を用いてプログラムを複数の最小安全プログラムパーティションに分割することとを含み、
前記複数のプログラムパーティションの少なくとも一つを装置に送信するとき、前記複数のプログラムパーティションが、他の場合には一連のプログラムパーティションによって漏洩されるような制御流れ情報について、前記プログラムの制御流れ情報を漏らさない、プログラム分割方法。