【誤訳訂正書】
【提出日】平成21年9月7日(2009.9.7)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
電子ファイルの更新システムであって、
デルタ・ファイルを生成する第１デバイスであって、前記デルタ・ファイルは電子ファイルの１つのバージョンを別のバージョンと比較することにより生成され、前記デルタ・ファイルは前記比較の結果を示す電子ファイルを含む、第１デバイスと、
前記第１デバイスから前記デルタ・ファイルを電子的に受ける第２デバイスと、
を備え、前記第２デバイスが、
前記デルタ・ファイルから新電子ファイルの少なくとも１つの新コンポーネントを読み出し、前記新電子ファイルが、元の電子ファイルの更新バージョンであり、
前記第２デバイスのメモリにおいて、第１および第２メモリ・エリアの順次探索を行うことにより、前記新コンポーネントを収容するのに十分大きいメモリ・ブロックを識別し予約し、前記新コンポーネントのサイズが前記第１および第２メモリ・エリアの利用可能なメモリ・ブロックのサイズを超過するとき、未使用メモリ・ブロックを使用するために前記第１メモリ・エリアの再書き込みを行い、前記予約したメモリ・ブロックを提供するために前記第１および第２メモリ・エリアを再分配し、
前記新コンポーネントを前記予約したメモリ・ブロックに書き込み、
前記新コンポーネントを、前記元の電子ファイルの対応するコンポーネントを格納した元のメモリ・ブロック以外のメモリ・ブロックに書き込んだときに、ベクトル・テーブルを更新する、
ことによって前記第２デバイスの電子ファイルを更新するように構成されており、前記ベクトル・テーブルは、前記第２デバイスの前記メモリに対するアクセス動作を実行するのに使用するものであり、
更に、
前記デバイスの主プログラムからの関数コールを受け、前記関数コールは対応する電子ファイルの識別情報を含み、
前記ベクトル・テーブルから前記対応する電子ファイルの開始アドレスを読み取り、
前記開始アドレスおよび前記識別情報を用いて、前記対応する電子ファイルに対するコールを生成することによって、
前記デバイスの前記電子ファイルにアクセスするように構成されている、更新システム。
【請求項２】
請求項１記載の更新システムにおいて、前記第２デバイスは、更に、電子ファイルの更新において用いるための第１および第２アプリケーション・プログラミング・インターフェース（ＡＰＩ）を含む、更新システム。
【請求項３】
請求項１記載の更新システムにおいて、前記第２デバイスは、更に、電子ファイルへのアクセスにおいて用いるための第３アプリケーション・プログラミング・インターフェース（ＡＰＩ）を含む、更新システム。
【請求項４】
請求項１記載の更新システムにおいて、前記第１デバイスは、前記第２デバイス上にホストされたソフトウェアの少なくとも１つのプロバイダによってアクセス可能な、プロセッサ・ベースのデバイスを含む、更新システム。
【請求項５】
請求項１記載の更新システムにおいて、前記第２デバイスは、パーソナル・コンピュータ、携帯用計算機、セルラ電話機、携帯用通信デバイス、およびパーソナル・ディジタル・アシスタントの中から選択した、少なくとも１つのプロセッサ・ベースのデバイスを含む、更新システム。
【請求項６】
請求項１記載の更新システムにおいて、前記第１デバイスから前記デルタ・ファイルを電子的に受けることは、ワイヤレス結合、ワイヤード結合、混合ワイヤレス／ワイヤード結合、およびローカル・エリア・ネットワーク（ＬＡＮ）、都市区域ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、企業固有のネットワーク、バックエンド・ネットワーク、インターネットを含む少なくとも１つのネットワークとの結合、ならびにフロッピ・ディスク、ハード・ディスク・ドライブ、およびＣＤ−ＲＯＭディスクを含む着脱可能固定媒体、更に電話回線、バス、および電子メール・メッセージを介して受けることを含む、更新システム。
【請求項７】
請求項１記載の更新システムにおいて、前記元の電子ファイルおよび新電子ファイルはソフトウェア・ファイルを含み、該ソフトウェア・ファイルは、ダイナミック・リンク・ライブラリ・ファイル、共有オブジェクト・ファイル、埋め込みソフトウェア・コンポーネント（ＥＢＳＣ）、ファームウェア・ファイル、実行可能ファイル、１６進データ・ファイルを含むデータ・ファイル、システム・コンフィギュレーション・ファイル、および個人的使用データを含むファイルを含む、更新システム。
【請求項８】
新電子ファイルの少なくとも１つの新コンポーネントを受ける手段であって、該新電子ファイルは、元の電子ファイルの更新バージョンである、手段と、
メモリにおいて第１および第２メモリ・エリアの順次探索を行うことによって、前記新コンポーネントを収容することができる十分大きなメモリ・ブロックを識別し予約する手段であって、前記新コンポーネントのサイズが前記第１および第２メモリ・エリアの利用可能メモリ・ブロックのサイズを超過するとき、未使用メモリ・ブロックを使用するために前記第１メモリ・エリアの再書き込みを行い、前記予約したメモリ・ブロックを提供するため前記第１および第２メモリ・エリアを再分配する、手段と、
前記新コンポーネントを前記予約したメモリ・ブロックに書き込むことによって、前記元の電子ファイルを更新する手段と、
前記新コンポーネントを、前記元の電子ファイルの前記対応するコンポーネントを格納した元のメモリ・ブロック以外のメモリ・ブロックに書き込んだとき、ベクトル・テーブルを更新する手段であって、前記ベクトル・テーブルは、前記メモリに対するアクセス動作を実行するのに使用する、手段と、
を備えた装置。
【請求項９】
請求項８記載の装置において、該装置は、パーソナル・コンピュータ、携帯用計算機、セルラ電話機、携帯用通信デバイス、およびパーソナル・ディジタル・アシスタントの中から選択した、少なくとも１つのプロセッサ・ベースのデバイスを含む、装置。
【請求項１０】
請求項８記載の装置において、前記メモリ・ブロックを識別し予約する手段は、第１アプリケーション・プログラミング・インターフェース（ＡＰＩ）である、装置。
【請求項１１】
請求項８記載の装置であって、更に、
前記デバイスの主プログラムから関数コールを受け取る手段であって、該関数コールは、対応する電子ファイルの識別情報を含む、手段と、
前記ベクトル・テーブルから前記対応する電子ファイルの開始アドレスを読み取る手段と、
前記開始アドレスおよび前記識別情報を用いて、前記対応する電子ファイルに対するコールを発生する手段と、
を備えた、装置。
【請求項１２】
請求項１１記載の装置において、関数コールを受け取る前記手段は、第２アプリケーション・プログラミング・インターフェース（ＡＰＩ）である、装置。
【請求項１３】
電子ファイルの更新システムであって、
デルタ・ファイルを生成する第１デバイスであって、前記デルタ・ファイルは電子ファイルの１つのバージョンを別のバージョンと比較することにより生成され、前記デルタ・ファイルは前記比較の結果を示す電子ファイルを含む、第１デバイスと、
前記第１デバイスから前記デルタ・ファイルを電子的に受ける第２デバイスと、
を備え、前記第２デバイスが、
前記デルタ・ファイルを通じて新電子ファイルの少なくとも１つのコンポーネントを受け、前記新電子ファイルは、元の電子ファイルの更新バージョンであり、
前記受けたコンポーネントのサイズを判定し、
前記サイズが前記元の電子ファイルの対応するコンポーネントのサイズ以下であるとき、前記受けたコンポーネントを、前記元の電子ファイルの前記対応するコンポーネントを含む元のメモリ・エリアに書き込み、
前記サイズが前記元の電子ファイルの前記対応するコンポーネントのサイズを超過するとき、前記受けたコンポーネントを、前記元のメモリ・エリアと関連した予約メモリ・エリアに書き込む、
ことにより前記第２デバイスの電子ファイルを更新するように構成された、更新システム。
【請求項１４】
プロセッサとメモリとを備えた電子デバイスにおけるメモリ管理のための方法であって、
前記電子デバイスの電子ファイルを更新するステップであって、
前記プロセッサにより実行されるアップグレード・クライアントが、アップグレード・サーバから、新電子ファイルの少なくとも１つの新コンポーネントを受けるステップであって、前記新電子ファイルは、元の電子ファイルの更新バージョンである、ステップと、
前記アップグレード・クライアントが、前記電子デバイスの前記メモリ内の第１および第２のメモリ・エリアの順次探索を行うことによって、前記新コンポーネントを収容することができる十分大きなメモリ・ブロックを特定するステップであって、前記第１メモリ・エリアは、電子ファイルを格納したエリアであり、前記第２メモリ・エリアは前記第１メモリ・エリアに格納された前記電子ファイルの更新に使用するために予約されたメモリ・エリアであり、前記アップグレード・クライアントは、前記新コンポーネントのサイズが前記元の電子ファイルのうちの対応するコンポーネントのサイズを超えるときは、前記新コンポーネントを収容することができる十分大きなメモリ・ブロックを特定するため、前記第２メモリ・エリアを探索し、さらに該第２メモリ・エリアに利用可能なメモリ・ブロックがないときには前記第１メモリ・エリアにおける未使用メモリのブロックを探索し、利用可能な未使用メモリ・ブロックが前記第１メモリ・エリアにないときは前記第１メモリ・エリア内の未使用メモリ・ブロックを除くように前記メモリをパックして前記第２メモリ・エリアを大きくすることにより前記第２メモリ・エリア内でメモリ・ブロックを特定できるようにする、ステップと、
前記アップグレード・クライアントが、前記特定したメモリ・ブロックに前記新コンポーネントを書き込むステップと、
前記元の電子ファイルのうちの前記新コンポーネントに対応するコンポーネントを含む元のメモリ・ブロック以外のメモリ・ブロックに対し、前記新コンポーネントを書き込んだとき、前記アップグレード・クライアントが、ベクトル・テーブルを更新するステップであって、前記ベクトル・テーブルは、前記メモリにおける電子ファイルの各コンポーネントが格納されたメモリ・ブロックの開始アドレスを含む、ステップと、
により行う、電子ファイルを更新するステップと、
前記電子デバイスの前記プロセッサが前記メモリに格納された前記電子ファイルにアクセスするステップであって、
前記アップグレード・クライアントが、前記電子デバイスの主プログラムからの関数コールを受けるステップであって、前記関数コールは、対応する電子ファイルの識別情報を含む、ステップと、
前記アップグレード・クライアントが、前記対応する電子ファイルの開始アドレスを前記ベクトル・テーブルから読み出すステップと、
前記アップグレード・クライアントが、前記開始アドレスと前記識別情報とを使って前記対応する電子ファイルに対するコールを生成するステップと、
により行う、アクセスするステップと、
を備えた方法。
【請求項１５】
請求項１４記載の方法において、前記識別情報は、関数識別とこの関数に対する引数とを含む、方法。
【請求項１６】
請求項１４記載の方法において、前記特定するステップは、前記新コンポーネントのサイズが前記元の電子ファイルの対応するコンポーネントのサイズ以下のとき、前記第１メモリ・エリアの元のメモリ・ブロックを特定することを含み、前記元のメモリ・ブロックは、前記元の電子ファイルの前記対応するコンポーネントを含む、方法。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】００５１
【訂正方法】変更
【訂正の内容】
【００５１】
図６は、一実施形態の下におけるアップグレード可能ＥＢＳＣ毎に予約メモリの割り当てを用いた静的アドレッシングのフロー図６００である。動作において、アップグレード・クライアントは、ブロック６０２において、新ＥＢＳＣを受信する。新ＥＢＳＣは、ソフトウェア・コンポーネント分配部から受信することができ、あるいは元のＥＢＳＣおよびデルタ・ファイルからアップグレード・クライアントによって生成することもできる。ブロック６０４において、アップグレード・クライアントは、新ＥＢＳＣのサイズを決定する。ブロック６０６において、アップグレード・クライアントは、新ＥＢＳＣのサイズが、それと置き換えることになっている対応するＥＢＳＣのサイズを超過しているか否か判定を行う。新ＥＢＳＣのサイズが元のＥＢＳＣのサイズを超過しない場合、アップグレード・クライアントは、ブロック６０８において、元のＥＢＳＣを格納しているメモリ・ブロックを予約し、続いてこれに新ＥＢＳＣを書き込む。新ＥＢＳＣサイズが元のＥＢＳＣのサイズを超過する場合、アップグレード・クライアントは、ブロック６１０において、元のＥＢＳＣを格納しているそのメモリ・ブロックおよび関連の予約メモリ・エリアに新ＥＢＳＣを最終的に書き込む。新ＥＢＳＣの書き込みに続いて、動作は、ブロック６１２における追加の新ＥＢＳＣの受信に戻る。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】００５３
【訂正方法】変更
【訂正の内容】
【００５３】
この例を続けると、更新可能ＥＢＳＣは、ＥＢＳＣ１、ＥＢＳＣ２、およびＥＢＳＣ５として特定され、予約メモリ・エリア１、２、および５がこれらの更新可能ＥＢＳＣ毎に設けられている。各予約メモリ・エリア１、２、および５は、デバイスの製造業者によって決定されたサイズである。今後の更新可能ＥＢＳＣに対するアップグレードおよび改訂では、更新／改訂によって、更新したＥＢＳＣのサイズが元のＥＢＳＣのサイズを超過した場合に、この対応する予約メモリ・エリアを用いる。これは、前述の通りである。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】００５４
【訂正方法】変更
【訂正の内容】
【００５４】
図８は、一実施形態の下において、アップグレード可能なＥＢＳＣのグループへの予約メモリの割り当てを用いた、静的アドレッシングのフロー図８００である。この場合も、新ＥＢＳＣをソフトウェア・コンポーネント分配部から受信するか、あるいは元のＥＢＳＣおよびデルタ・ファイルからアップグレード・クライアントが生成してもよい。ブロック８０４において、アップグレード・クライアントは、新ＥＢＳＣのサイズを判定する。ブロック８０６において、アップグレード・クライアントは、新ＥＢＳＣのサイズが、それと置き換えることになる対応するＥＢＳＣのサイズを超過したか否か判定を行う。新ＥＢＳＣのサイズが元のＥＢＳＣのそれを超過していない場合、アップグレード・クライアントは、ブロック８０８において、対応する元のＥＢＳＣを含むＥＢＳＣグループを格納するメモリ・ブロックを予約し、これに新ＥＢＳＣを書き込む。新ＥＢＳＣのサイズが元のＥＢＳＣのそれを超過する場合、アップグレード・クライアントは、ブロック８１０において、元のＥＢＳＣを格納しているそのメモリ・ブロックおよび関連の予約メモリ・エリアを予約し、最終的に新ＥＢＳＣを書き込む。新ＥＢＳＣの書き込みに続いて、動作は、ブロック８１２において、追加の新ＥＢＳＣを受信するために戻る。
【誤訳訂正５】
【訂正対象書類名】明細書
【訂正対象項目名】００５７
【訂正方法】変更
【訂正の内容】
【００５７】
グループ化に続いて、デバイスの製造業者は、各アップグレード可能ＥＢＳＣグループに対応する予約メモリ・エリアを設ける。予約メモリ・エリアは、対応するＥＢＳＣグループと同じ位置にあるものとして示されているが、これらはデバイス・メモリ内のどこに位置してもよい。非アップグレード可能ＥＢＳＣが１つ以上のグループに置かれているが、予約メモリの量を極力抑える目的のために、予約エリアは設けられていない。しかし、実施形態はそのように限定される訳ではない。
【誤訳訂正６】
【訂正対象書類名】明細書
【訂正対象項目名】００６８
【訂正方法】変更
【訂正の内容】
【００６８】
前述の静的アドレッシングは、ホスト・デバイスの処理時間を短縮し、クリティカル・ソフトウェア・コンポーネントの更新を可能にするが、全てのアップグレードおよび改訂に対処する訳ではない。加えて、静的アドレッシングを用いると、いずれかのＥＢＳＣの再書き込みによって対応する予約メモリ・エリアのサイズを超過した場合には、デバイス・メモリ全体の書き換えが必要となる。したがって、動的アドレッシングを静的アドレッシングの代わりに用いる実施形態もある。
【誤訳訂正７】
【訂正対象書類名】明細書
【訂正対象項目名】００７３
【訂正方法】変更
【訂正の内容】
【００７３】
図１３は、一実施形態の下において、動的アドレッシングを用いた関数コールのフロー図１３００である。ホスト・デバイスの主プログラムは、ホスト・デバイス・メモリに格納されているＥＢＳＣを用いて、ユーザが要求する機能をサポートする。ユーザが機能を要求したとき、ホスト・デバイスの主プログラムのＥＢＳＣは、静的アドレスを用いてアップグレード・クライアントのコンポーネントを直接コールすることによって、特定の機能に伴うＥＢＳＣをコールする。コールに応答して、アップグレード・クライアントは、ブロック１３０２において、機能またはＥＢＳＣの識別と当該機能に対する引数とを含む情報を、主プログラムから受け取る。ブロック１３０４において、アップグレード・クライアントは、ＥＢＳＣの対応する開始アドレスと共に、主プログラムに利用可能なＥＢＳＣ毎のエントリを含むベクトル・テーブルにアクセスする。ブロック１３０６において、アップグレード・クライアントは、ベクトル・テーブルから、開始アドレスおよび関連する引数を読み出す。ブロック１３０８において、主プログラムから受け取った、コールしたＥＢＳＣの情報と共に開始アドレス情報を用いて、アップグレード・クライアントは、実際の関数、従って対応するＥＢＳＣに対するコールを、受け取った全引数と共に生成する。
【誤訳訂正８】
【訂正対象書類名】明細書
【訂正対象項目名】００７９
【訂正方法】変更
【訂正の内容】
【００７９】
デバイス・メモリ管理エリア１４１０のメモリ・パラメータは、デバイス・メモリ管理のＲＯＭ番号、開始アドレス、および予約ＲＯＭエリアのサイズ、ならびにデバイス・メモリ管理１４１０のために予約したＲＯＭエリアにおける開始アドレスおよび次に使用可能なメモリのサイズを含む。また、メモリ・パラメータは、ベクトル・テーブルおよびガベージ・エントリ・テーブルのサイズ、ならびにガベージ・エントリ・テーブルにおける有効エントリ数も含む。ベクトル・テーブルは、アップグレード可能ＥＢＳＣのＥＢＳＣ識別、ＲＯＭ番号、開始アドレス、およびサイズを含む。ガベージ・エントリ・テーブルは、全てのガベージ・エントリのＲＯＭ番号、開始アドレス、およびサイズを含む。
【誤訳訂正９】
【訂正対象書類名】明細書
【訂正対象項目名】００８０
【訂正方法】変更
【訂正の内容】
【００８０】
図１５は、図３および図１４の実施形態の下における、アップグレード・クライアント１３０、埋め込みソフトウェア・エリア３０２、ＤＭＭライブラリ３１０、ベクトル・テーブル３１２、およびガベージ・テーブル３１４を含むメモリのコンポーネント間の相互作用の一例を示すメモリ・デバイス３００のブロック図である。ＤＭＭライブラリ３１０は、３つのＡＰＩ１５０２〜１５０６を含む。これらのＡＰＩ１５０２〜１５０６は、デバイス・メモリの管理のために予約したＲＯＭエリア、ＥＢＳＣのために予約したメモリ、およびＥＢＳＣ更新のために予約したエリアを操作する際に用いられる。これらのＡＰＩは、関数アドレス変換用ＡＰＩ１５０２、ＥＢＳＣの新バージョンの予約のためのＡＰＩ１５０４、およびガベージ・コレクション用ＡＰＩ１５０６を含み、その各々について以下に説明する。
【誤訳訂正１０】
【訂正対象書類名】明細書
【訂正対象項目名】００８２
【訂正方法】変更
【訂正の内容】
【００８２】
コールに応答して、関数アドレス変換ＡＰＩ１５０２は、ベクトル・テーブル３１２にアクセスする。ベクトル・テーブル３１２は、主プログラム１５１０にとって利用可能な関数毎のエントリを、デバイス・メモリ３０２における当該関数の対応する開始アドレスと共に含む。関数アドレス変換ＡＰＩ１５０２は、主プログラム１５１０が要求する関数の開始アドレスをベクトル・テーブル３１２から読み取り、この開始アドレス情報を、主プログラム１５１０から受け取ったコール先ＥＢＳＣの情報と共に用いて、受け取った引数と共に実際の関数に対するコールを発生する。
【誤訳訂正１１】
【訂正対象書類名】明細書
【訂正対象項目名】００９３
【訂正方法】変更
【訂正の内容】
【００９３】
本例は、予約ＡＰＩによるＥＢＳＣ５の新バージョンについての情報の受信に続く。ＥＢＳＣ５の新バージョンのファイル・サイズを受け取ると、この新バージョンのサイズが元のＥＢＳＣのサイズ以下か否か判定を行う。この例では、ＥＢＳＣ５の元のバージョンは３００バイトを収容し、一方ＥＢＳＣ５の新バージョンは３６０バイトを収容する。新バージョンのサイズの方が元のバージョンのそれよりも大きいので、予約ＡＰＩは、予約メモリ・エリア１９１０内で使用可能なメモリから、要求されたサイズを有するメモリ・ブロックを突き止めようとする。この例では、予約メモリ・エリア１９１０においてメモリが使用可能であるので、予約ＡＰＩは、ＥＢＳＣ５の新バージョンを受け取るために、予約メモリ１９１０内のエリア１９２２を割り当てる。更に、予約ＡＰＩは、ＥＢＳＣ５の元のバージョンが現在占有しているエリアを、未使用エリア１９２４として割り当てる。