【手続補正書】
【提出日】平成15年12月4日(2003.12.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステム上でオブジェクトを実行するためのオブジェクトランタイムサービスシステムを管理する、メモリと処理装置とを有するコンピュータシステムであって、オブジェクトはクライアントによりコールするためのメソッドとのインタフェースを有し、前記オブジェクトランタイムサービスシステムは、
前記メモリに格納され、クライアントによってトランザクションの中で出された複数のメソッド呼び出しをインターセプトして、オブジェクトのメソッドを呼び出すように動作し、さらに前記メソッド呼び出しをメッセージとして記録するように動作する実行可能命令を有するレコーダと、
前記メモリに格納され、前記メッセージをその後のある時刻までキューイングする実行可能命令を有するメッセージキューと、
前記メモリに格納され、前記メッセージから前記メソッド呼び出しを抽出し、前記オブジェクトに対して前記メソッド呼び出しを前記その後のある時刻に出すように動作する実行可能命令を有するプレーヤとを備え、これにより、前記クライアントは前記オブジェクトの前記メソッドを非同期に呼び出し、
前記処理装置が、前記オブジェクトランタイムサービスシステムの命令を実行して、前記オブジェクトの前記メソッドの非同期呼び出しを達成することを特徴とするコンピュータシステム。
【請求項２】
請求項１に記載のオブジェクトランタイムサービスシステムにおいて、前記メモリに格納され、前記クライアントによる前記メソッド呼び出しを受信し、前記メソッド呼び出しのパラメータをマーシャルするように動作するプロキシをさらに備えたことを特徴とするシステム。
【請求項３】
請求項１に記載のオブジェクトランタイムサービスシステムにおいて、前記プレーヤは、前記オブジェクトに対して前記メソッド呼び出しを新しいトランザクションの中で出すようにさらに動作することを特徴とするシステム。
【請求項４】
メモリと処理装置とを有するコンピュータシステムにおいて、クライアントがオブジェクトメソッドにアクセスする、コンピュータで実行されるプロセスであって、
前記メモリの領域に、オブジェクトにメソッドコールをリアルタイムで受信させるか、待機方式で受信させるかを指定し、
前記処理装置により、オブジェクトモデルのコールセマンティックスに従いクライアントによってメソッドコール上のオブジェクトのメソッドを実行し、
オブジェクトがリアルタイム方式でメソッドコールを受信するように指定されている場合は、前記処理装置により、前記オブジェクトに対して前記メソッドコールを実行し、そのコールが前記メソッドから返されるまで前記クライアントにブロックさせ、
オブジェクトが待機方式でメソッドコールを受信するように指定されている場合は、前記処理装置により、
前記メソッドコールをメッセージの中に記録するステップと、
前記メッセージをキューに送るステップと、
前記クライアントに実行を継続させるステップと、
前記クライアントが実行を継続した後、前記メッセージを前記キューから取り出すステップと、
前記メッセージに記録された前記メソッドコールを前記オブジェクトに対して出すステップとを実行する命令を実行する
ことを特徴とするプロセス。
【請求項５】
キューイングされたメッセージを介して配達されたメソッド呼び出しをサポートするオブジェクト実行システムを管理する、メモリと処理装置とを有するコンピュータシステムであって、前記オブジェクト実行システムは、
前記メモリに格納され、前記システムで実行可能なオブジェクトクラスのプロパティを表すオブジェクトプロパティ情報を含むオブジェクトコンフィギュレーションストアであって、該オブジェクトプロパティ情報は、キューイングされたメソッド呼び出しのサポートとして前記オブジェクトクラスを示すことと、
前記メモリに格納され、クライアントプログラムの要求に応答して、キューイングされたメソッド呼び出しのサポートとして示されたオブジェクトクラスのオブジェクトインスタンスのメソッド呼び出しレコーダを提供するように動作する実行可能命令を有するメソッド呼び出しレコーディング手段と、
前記メモリに格納され、前記メソッド呼び出しレコーディング手段により前記オブジェクトクラスのインスタンスに対する前記クライアントプログラムの要求において提供される第１メソッド呼び出しレコーダであって、該第１メソッド呼び出しレコーダは、前記オブジェクトクラスのインスタンスに対する前記クライアントプログラムによる複数のメソッド呼び出しに応答して、前記メソッド呼び出しのデータストリーム表現が、前記オブジェクトクラスに関連付けられたメッセージキューへの提供のために、メソッド呼び出しメッセージにマーシャルされるように動作する実行可能命令を有することと、
前記メモリに格納され、キューイングされたメソッド呼び出しメッセージに応答して、キューイングされたメソッド呼び出しのサポートとして示されたオブジェクトクラスのオブジェクトインスタンスに対するメソッド呼び出しプレーヤを提供するように動作する実行可能命令を有するメソッド呼び出しプレイバック手段と、
前記メモリに格納され、前記オブジェクトクラスに関連付けられた前記メッセージキューにキューイングされた前記メソッド呼び出しメッセージに応答して、前記メソッド呼び出しプレイバック手段により提供される第１メソッド呼び出しプレーヤであって、該第１メソッド呼び出しプレーヤは、前記メソッド呼び出しメッセージに応答して、前記データストリーム表現をアンマーシャルし、前記オブジェクトクラスのインスタンスにメソッド呼び出しを出すように動作する実行可能命令を有することとを備え、
前記処理装置が、前記オブジェクト実行システムの命令を実行して、キューイングされたメッセージを介して配達されたメソッド呼び出しを達成することを特徴とするコンピュータシステム。
【請求項６】
メモリと処理装置とを有するコンピュータシステムにおいて、メッセージキューを介してキューイングされたコンポーネントにクライアントプログラムのメソッド呼び出しを非同期にリモートする方法であって、
前記処理装置が実行可能命令に基づいて、前記クライアントプログラムにより使用するメモリリファレンスを提供し、前記キューイングされたコンポーネント上でメソッドを呼び出すこと、
前記処理装置が実行可能命令に基づいて、前記キューイングされたコンポーネントのメソッド呼び出しのセットを出すクライアントプログラムに応答して、前記セットのメソッド呼び出しのデータをメッセージにマーシャルすること、
前記処理装置が実行可能命令および前記クライアントプログラムによる前記リファレンスの解放に基づいて、前記キューイングされたコンポーネントに関連付けられた前記メッセージキューに前記メッセージを提供すること、および
前記処理装置が実行可能命令に基づいて、および前記メッセージキューから前記メッセージを処理したその後のある時刻において、前記メッセージから前記メソッド呼び出しのデータをアンマーシャルし、前記キューイングされたコンポーネントに前記メソッド呼び出しのセットを出すこと
を備えたことを特徴とする方法。
【請求項７】
請求項６に記載の方法において、前記メモリリファレンスは、メソッド呼び出しレコーダであることを特徴とする方法。
【請求項８】
請求項７に記載の方法において、前記メソッド呼び出しレコーダは、前記キューイングされたコンポーネントの前記クライアントプログラムのアドレス領域におけるプロキシであり、前記クライアントプログラムから出された前記メソッド呼び出しのセットを受け取る前記プログラムコンポーネントのインタフェースと整合するプロキシインタフェースを有することを特徴とする方法。
【請求項９】
クライアントプログラムとサーバにキューイングされたコンポーネントが少なくとも１つのコンピューティング装置上で動作する分散コンピューティングシステムにおいて、前記サーバにキューイングされたコンポーネント上のメソッドの前記クライアントプログラムよるトランザクションキューイング呼び出しの方法であって、
少なくとも１つの処理装置がメモリから取得した実行可能命令に基づいて、前記クライアントプログラムの処理を包含するための第１トランザクションを初期化すること、
少なくとも１つの処理装置がメモリから取得した実行可能命令に基づいて、前記クライアントプログラムの前記サーバにキューイングされたコンポーネントのリファレンスに対する要求において、前記第１トランザクションにおける第１メソッド呼び出しレコーダを生成し、前記第１メソッド呼び出しレコーダのメソッドを呼び出すリファレンスを前記クライアントプログラムに返すことと、
少なくとも１つの処理装置がメモリから取得した実行可能命令に基づいて、前記第１メソッド呼び出しレコーダのメソッドを呼び出すリファレンスを使用して作られた前記クライアントプログラムのメソッド呼び出しのセットの各々において、前記メソッド呼び出しのセットのデータを前記第１メソッド呼び出しレコーダによりメソッド呼び出しメッセージに記録すること、
少なくとも１つの処理装置がメモリから取得した実行可能命令に基づいて、前記第１トランザクションのコミットにおいて、前記メソッド呼び出しメッセージを前記サーバにキューイングされたコンポーネントに関連付けられたメッセージキューに提供すること、
少なくとも１つの処理装置がメモリから取得した実行可能命令に基づいて、第２トランザクションの前記メソッド呼び出しメッセージに記録されたあらゆるメソッド呼び出しを処理する前記サーバにキューイングされたコンポーネントを生成すること、
少なくとも１つの処理装置がメモリから取得した実行可能命令に基づいて、前記第２トランザクション内の前記メッセージキューから前記メソッド呼び出しメッセージを抽出すること、および
少なくとも１つの処理装置がメモリから取得した実行可能命令に基づいて、前記メソッド呼び出しの記録されたセットごとに前記第２トランザクションにおいて前記サーバにキューイングされたコンポーネントのメソッドのセットを呼び出すこと
を備えたことを特徴とする方法。
【請求項１０】
メモリと処理装置とを有するコンピュータシステムをプログラミングしてプログラムコンポーネントの相互接続を実行するコンピュータ実行可能メソッド呼び出しキューイングシステムプログラムを有するコンピュータ読取り可能媒体であって、
クライアントプログラムの要求で前記処理装置の実行により、キューイングされたコンポーネントリファレンスを取得し、メソッド呼び出しレコーディングコンポーネントを生成して、該メソッド呼び出しレコーディングコンポーネントのリファレンスを前記クライアントプログラムに返すように動作する命令を有するキューイングされたコンポーネントレコーダコンストラクターと、
第１のキューイングされたコンポーネントの第１リファレンスを得るためのクライアントプログラムの第１要求に応答して、前記キューイングされたコンポーネントレコーダコンストラクターにより生成された第１メソッド呼び出しレコーディングコンポーネントであって、該第１メソッド呼び出しレコーディングコンポーネントは、前記リファレンスを使用して前記第１のキューイングされたコンポーネントの前記クライアントプログラムにより作成されたメソッド呼び出しを受け取るためのインタフェースとメソッドを有し、前記第１メソッド呼び出しレコーディングコンポーネントは、前記クライアントプログラムのメソッド呼び出しに応答して前記処理装置の実行により、前記リファレンスを使用して、前記メソッドの呼び出しのデータをメッセージのデータストリームにマーシャルし、前記第１のキューイングされたコンポーネントに関連付けられたキューに前記メッセージを提供するように動作する命令を有することと
を備えたことを特徴とするコンピュータ読取り可能媒体。
【請求項１１】
請求項１０に記載のコンピュータ読取り可能媒体において、前記コンピュータ実行可能メソッド呼び出しキューイングシステムプログラムは、
前記処理装置の実行により、前記メッセージキューから前記メッセージを抽出するように動作する命令を有する、キューイングされたメソッド呼び出しプレイングコンポーネントであって、該キューイングされたメソッド呼び出しプレイングコンポーネントは、前記メッセージに応答して、前記データストリームをアンマーシャルし、マーシャルされたクライアントプログラムのメソッド呼び出しに関連付けられた前記第１のキューイングされたコンポーネント上でメソッドを呼び出すように動作することを備えたことを特徴とするコンピュータ読取り可能媒体。
【請求項１２】
メモリと処理装置とを有するコンピュータシステムをプログラミングしてプログラムコンポーネントの相互接続を実行するコンピュータ実行可能メソッド呼び出しキューイングシステムプログラムを有するコンピュータ読取り可能媒体であって、
前記処理装置の実行により、第１のキューイングされたコンポーネントに関連付けられたメッセージキューからメソッド呼び出しメッセージを抽出するように動作する命令を有するキューイングされたメソッド呼び出しプレイングコンポーネントであって、該キューイングされたメソッド呼び出しプレイングコンポーネントは、前記処理装置の実行により、前記第１のキューイングされたコンポーネントのメソッドに対するクライアントプログラムからのメソッド呼び出しのセットを表すデータストリームを含むメッセージに応答して、前記メソッド呼び出しメッセージから前記メソッド呼び出しのセットをアンマーシャルし、アンマーシャルされたメソッド呼び出しのセットに基づいて前記第１のキューイングされたコンポーネント上でメソッドを呼び出すように動作する命令を有すること
を備えたことを特徴とするコンピュータ読取り可能媒体。
【請求項１３】
請求項５に記載のシステムにおいて、メソッド呼び出しレコーダは、前記オブジェクトクラスのインスタンスによりサポートされるあらゆるメソッドに対してメソッド呼び出しを受け入れることを特徴とするシステム。
【請求項１４】
メモリと処理装置とを有するコンピュータシステムにおいて、クライアントがオブジェクトメソッドにアクセスする、コンピュータで実行されるプロセスであって、
前記メモリの領域に、インタフェースにメソッドコールをリアルタイムで受信させるか、待機方式で受信させるかを指定し、
前記処理装置により、オブジェクトモデルのコールセマンティックスに従いクライアントによってメソッドコール上のインタフェースのメソッドを実行し、
インタフェースがリアルタイム方式でメソッドコールを受信するように指定されている場合は、前記処理装置により、前記インタフェースに対して前記メソッドコールを実行し、そのコールが前記メソッドから返されるまで前記クライアントにブロックさせ、
インタフェースが待機方式でメソッドコールを受信するように指定されている場合は、前記処理装置により、
前記メソッドコールをメッセージの中に記録するステップと、
前記メッセージをキューに送るステップと、
前記クライアントに実行を継続させるステップと、
前記クライアントが実行を継続した後、前記メッセージを前記キューから取り出すステップと、
前記メッセージに記録された前記メソッドコールを前記インタフェースに対して出すステップとを実行する命令を実行する
ことを特徴とするプロセス。