【誤訳訂正書】
【提出日】平成23年12月16日(2011.12.16)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて、それぞれが処理機能を実行する複数のカーネルからランタイム中に２以上のカーネルをリンクして２以上の処理機能を含む複合カーネルを形成する方法であって、
前記コンピュータシステム内のコードパッチ生成器が、ランタイムにおいて先行カーネルからデータを読み出して且つ後続カーネルにデータを書き込むコードパッチを生成すると共に、前記複数のカーネルをコンパイルしてバイナリを生成することと、
前記コンピュータシステム内のコードマネージャが、前記複合カーネルの取り出しを要求する取出要求を受け取って、データベース内に当該複合カーネルが存在するか否かを判定し、前記複合カーネルが前記データベース内に存在しない場合に前記複合カーネルを形成するために必要な前記２以上のカーネルを選択することと、
前記コンピュータシステム内のコードコンポーザが、前記コードマネージャから前記複合カーネルを形成するための要求及び必要な前記２以上のカーネルを受け取って、前記複合カーネルを形成することと、
を含み、
前記コードコンポーザは、
選択された前記カーネルが使用する入力レジスタ領域および出力レジスタ領域を特定し、
前記バイナリに前記入力レジスタ領域から入力データを読み出させ前記出力レジスタ領域に出力データを書き込ませるように、前記コードパッチを適用する
方法。
【請求項２】
前記コードパッチ生成器が、生成された前記バイナリおよび前記コードパッチをドライバにロードすることをさらに含む
請求項１に記載の方法。
【請求項３】
前記コードコンポーザが、前記複合カーネルを格納するために必要なメモリを決定することをさらに含む
請求項２に記載の方法。
【請求項４】
さらに、前記コードコンポーザが、
前記コードマネージャに前記複合カーネル用の前記メモリのスペースを割り当てるための信号を送ることと、
前記複合カーネルを形成するために必要な前記カーネルの順序を決定することとを含む
請求項３に記載の方法。
【請求項５】
前記コードコンポーザが、
前記カーネルの前記バイナリを取り出すことと、
前記バイナリを前記メモリのスペースにコピーすることと、
前記バイナリに前記入力レジスタ領域から入力データを読み出させ前記出力レジスタ領域に出力データを書き込ませるように、前記コードパッチを適用した後に、前記複合カーネルが形成されたことを示すこととを含む
請求項３に記載の方法。
【請求項６】
前記コードマネージャが、前記データベース内に前記複合カーネルが存在するか否かを判定した後に、前記複合カーネルが存在しない場合には、前記複合カーネルを形成するための要求を前記コードコンポーザに送ることを含む
請求項４に記載の方法。
【請求項７】
前記コードマネージャが、
前記コードコンポーザが送った、前記コードマネージャに前記複合カーネルを格納するための前記メモリのスペースを割り当てさせるための信号を受け取ることと、
前記複合カーネルを格納するために必要な前記メモリのスペースを割り当てることと、
前記コードコンポーザが前記複合カーネルを形成した後で、前記複合カーネルと前記複合カーネルに対応付けられた一意的な識別子とを格納することと
をさらに含む、請求項５に記載の方法。
【請求項８】
それぞれが処理機能を実行する複数のカーネルからランタイム中に２以上のカーネルをリンクして２以上の処理機能を含む複合カーネルを形成する装置であって、
ランタイムにおいて先行カーネルからデータを読み出して且つ後続カーネルにデータを書き込むコードパッチを生成すると共に、前記複数のカーネルをコンパイルしてバイナリを生成するコードパッチ生成器と、
前記コードパッチ生成器に接続され、前記複合カーネルの取り出しを要求する取出要求を受け取って、データベース内に当該複合カーネルが存在するか否かを判定し、前記複合カーネルが前記データベース内に存在しない場合に前記複合カーネルを形成するために必要な前記２以上のカーネルを選択するコードマネージャと、
前記コードマネージャに接続され、前記コードマネージャから前記複合カーネルを形成するための要求及び必要な前記２以上のカーネルを受け取って、前記複合カーネルを形成し、
選択された前記カーネルが使用する入力レジスタ領域および出力レジスタ領域を特定し、
前記バイナリに前記入力レジスタ領域から入力データを読み出させ前記出力レジスタ領域に出力データを書き込ませるように、前記コードパッチを適用するコードコンポーザとを備える
装置。
【請求項９】
前記コードパッチ生成器は、生成された前記バイナリと前記コードパッチをドライバにロードする
請求項８に記載の装置。
【請求項１０】
前記コードコンポーザは、
前記複合カーネルを格納するために必要なメモリを決定する
請求項９に記載の装置。
【請求項１１】
前記コードコンポーザは、前記コードマネージャに前記複合カーネル用の前記メモリのスペースを割り当てるための信号を送り、前記複合カーネルを形成するために必要な前記カーネルの順序を決定する
請求項１０に記載の装置。
【請求項１２】
前記コードコンポーザは、前記カーネルの前記バイナリを取り出し、前記バイナリを前記メモリのスペースにコピーし、前記バイナリに前記入力レジスタ領域から入力データを読み出させ前記出力レジスタ領域に出力データを書き込ませるように、前記コードパッチを適用した後に前記複合カーネルが形成されたことを示す
請求項１０に記載の装置。
【請求項１３】
前記コードマネージャは、前記複合カーネルが存在しない場合には、前記複合カーネルを形成するための要求を前記コードコンポーザに送る
請求項１１に記載の装置。
【請求項１４】
前記コードマネージャは、前記コードコンポーザが送った前記複合カーネルを格納するための前記メモリのスペースを割り当てさせるための信号を受け取った後で前記複合カーネルを格納するために必要な前記メモリのスペースを割り当てて、前記コードコンポーザが前記複合カーネルを形成した後で前記複合カーネルと前記複合カーネルに対応付けられた一意的な識別子とを格納する
請求項１２に記載の装置。
【請求項１５】
コードパッチ生成器、コードマネージャ、およびコードコンポーザを備えるコンピュータにより実行される複数の命令を含むコンピュータ可読記憶媒体であって、前記複数の命令が実行されると前記コンピュータは、
前記コードパッチ生成器に、ランタイムにおいて先行カーネルからデータを読み出して且つ後続カーネルにデータを書き込むコードパッチを生成すると共に、前記複数のカーネルをコンパイルしてバイナリを生成させ、
前記コードマネージャに、前記複合カーネルの取り出しを要求する取出要求を受け取らせ、データベース内に当該複合カーネルが存在するか否かを判定させ、前記複合カーネルが前記データベース内に存在しない場合に前記複合カーネルを形成するために必要な前記２以上のカーネルを選択させ、
前記コードコンポーザに、前記コードマネージャから前記複合カーネルを形成するための要求及び必要な前記２以上のカーネルを受け取らせ、前記複合カーネルを形成させ、
前記コードコンポーザに、選択された前記カーネルが使用する入力レジスタ領域および出力レジスタ領域を特定させ、
前記コードコンポーザに、前記バイナリに前記入力レジスタ領域から入力データを読み出させ前記出力レジスタ領域に出力データを書き込ませるように、前記コードパッチを適用させる
コンピュータ可読記憶媒体。
【請求項１６】
前記コードパッチ生成器に、生成された前記バイナリおよび前記コードパッチをドライバにロードさせる命令を含む
請求項１５に記載の機械可読記憶媒体。
【請求項１７】
前記コードコンポーザに、前記複合カーネルを格納するために必要なメモリを決定させる命令を含む
請求項１６に記載の機械可読記憶媒体。
【請求項１８】
前記コードコンポーザに、
前記コードマネージャに前記複合カーネル用の前記メモリのスペースを割り当てるための信号を送らせ、
前記複合カーネルを形成するために必要な前記カーネルの順序を決定させる命令を含む
請求項１７に記載の機械可読記憶媒体。
【請求項１９】
前記コンポーザに、
前記カーネルの前記バイナリを取り出させ、
前記バイナリを前記メモリのスペースにコピーさせ、
前記バイナリに前記入力レジスタ領域から入力データを読み出させ前記出力レジスタ領域に出力データを書き込ませるように、前記コードパッチを適用した後に前記複合カーネルが形成されたことを示させる命令を含む
請求項１７に記載の機械可読記憶媒体。
【請求項２０】
前記コードマネージャに、
前記コードコンポーザが送った、前記コードマネージャに前記複合カーネルを格納するための前記メモリのスペースを割り当てさせるための信号を受け取らせ、
前記複合カーネルを格納するために必要な前記メモリを割り当てさせ、
前記コードコンポーザが前記複合カーネルを形成した後で、前記複合カーネルと前記複合カーネルに対応付けられた一意的な識別子とを格納させる命令を含む、請求項１９に記載の機械可読記憶媒体。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】００２２
【訂正方法】変更
【訂正の内容】
【００２２】
一実施形態によると、コードパッチ生成器２３０は、ランタイム中のダイナミックリンキングを円滑化する予備コードパッチと共に、各コンポーネントカーネルを静的にバイナリへとコンパイルし得る。コードパッチ生成器２３０は、ランタイムにおいて先行カーネルからデータを読み出して且つ後続カーネルにデータを書き込むコードパッチを生成する。当該バイナリと予備コードパッチは、ドライバ２５０のセットアップタイム中に、ドライバ２５０のカーネルコンポーザ２５８へとロードされ得る。一実施形態によると、コードパッチ生成器２３０は、第１のコンポーネントカーネルがデータの読み書きに利用するＩ／Ｏ領域を特定し得る。しかし、コードパッチ生成器２３０は、第１のコンポーネントカーネルがリンキングされる相手のコンポーネントカーネルを特定せず、そのようなコンポーネントカーネル同士のリンキングはランタイム中に行われるとしてもよい。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】００２７
【訂正方法】変更
【訂正の内容】
【００２７】
一実施形態によると、コードコンポーザ２５８は、各コンポーネントカーネルに対して指定されたＩ／Ｏレジスタ領域を特定することによって、複合カーネルを形成し得る。一実施形態によると、コードコンポーザ２５８は、コンポーネントカーネルのバイナリファイルを取り出して割り当てられたスペースにコピーするとしてもよい。コードコンポーザ２５８はまた、バイナリファイルを固定して入力レジスタ領域から入力データを読み出させ、および出力レジスタ領域に出力を書き込ませるように、対応するコードパッチを適用するとしてもよい。コードコンポーザ２５８は、複合カーネルが形成されたことを示す信号を送るとしてもよい。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】００４２
【訂正方法】変更
【訂正の内容】
【００４２】
ブロック５７０において、コードコンポーザ２５８は、割り当てられたスペースにバイナリをコピーするとしてもよい。ブロック５８０において、コードコンポーザ２５８は、バイナリファイルを固定して入力レジスタ領域から入力データを読み出させ、出力レジスタ領域へ出力データを書き込ませるように、コードパッチを適用するとしてもよい。