(57)【要約】本発明の開示では、処理サブシステムをネットワーク化する方法が提供される。本方法は、少なくとも１つのサブシステムがＰＣであり、少なくとも１つのサブシステムがアップグレードである複数の情報処理サブシステム間で、リソースの共有を可能にする。本方法により、アップグレードへのアクセスに関してＰＣに通知することができる。本方法により、内部プロトコル（ＩＰ）アドレス及びポート番号を有するメッセージをアップグレードがブロードキャストすることができる。本方法により、ＰＣは、メッセージに応答して、ポート番号に示されるアップグレードのポートとの通信のためにプロキシクライアントを構成することができる。本方法により、アップグレードは、第二のリソースにアクセスするためにプロキシクライアントからの要求を処理するため、プロキシサーバを構成することができる。さらに、本方法により、ＰＣから第二のリソースにアクセスするため、第二のリソースへの第二のインタフェースをＰＣで登録することが可能となる。
2005504391.tif 000002
【特許請求の範囲】
【請求項１】
アップグレードに接続されるパーソナルコンピュータ（ＰＣ）を有する情報処理システムであって、
該ＰＣは、第一のレジストリで登録される第一のプロキシクライアントを有し、
該アップグレードは、該アップグレードに対してローカルの第二のリソースを登録するための第二のレジストリと、該第一のプロキシクライアントと通信するとともに、該第二のリソースにアクセスして該ＰＣのコンポーネントにアップグレードを提供するための第二のプロキシサーバとを有する、
情報処理システム。
【請求項２】
該ＰＣは、第二のブロードキャスタにより送出されたメッセージを受信するとともに、該第一のプロキシクライアントを生成するためのブロードキャストリスナをさらに有し、該第一のプロキシクライアントは、第二の確立されたチャネルで該アップグレードの第二のポートリスナとの接続を確立する、
請求項１記載のシステム。
【請求項３】
該アップグレードは、該アップグレードのネットワークアドレス、及び第二の確立されたチャネルのポート番号を伝達するための第二のブロードキャスタと、該第二のプロキシサーバを生成するための第二のポートリスナとをさらに有する、
請求項１記載のシステム。
【請求項４】
該ＰＣは、該ＰＣに対してローカルの第一のリソースを登録するための第一のレジストリと、第二のプロキシクライアントと通信するとともに、該第一のリソースにアクセスするための第一のプロキシサーバとをさらに有し、
該アップグレードは、該第二のレジストリで登録され、該第一のプロキシサーバと通信するための第二のプロキシクライアントをさらに有する、
請求項１記載のシステム。
【請求項５】
該第二のリソースは、ソフトウェアコンポーネント、ハードウェアコンポーネント、及びハードウェアコンポーネントで実現されるソフトウェアコンポーネントのうちの１つである、
請求項１記載のシステム。
【請求項６】
該ＰＣは、メッセージをブロードキャストするためのブロードキャストモジュールと、
該メッセージの受信に応じて発せられる該アップグレードからの応答を受信するとともに、該第一のプロキシクライアントを生成して、該アップグレードに対してローカルの該第二のリソースにアクセスするためのブロードキャストリスナとをさらに有する、
請求項４記載のシステム。
【請求項７】
該ＰＣは、該アップグレードからの更なるメッセージの受信に応答して、該ＰＣに対してローカルの第一のリソースにアクセスすることを該アップグレードが可能とするために第一のプロキシサーバを生成するためのポートリスナをさらに有する、
請求項６記載のシステム。
【請求項８】
該アップグレードは、メッセージをブロードキャストするためのブロードキャストモジュールと、該メッセージの受信に応じて発せられる該ＰＣからの応答を受信するとともに、第二のプロキシクライアントを生成して、該ＰＣに対してローカルの第一のリソースにアクセスするためのブロードキャストリスナとをさらに有する、
請求項４記載のシステム。
【請求項９】
該アップグレードは、該ＰＣからの更なるメッセージの受信に応答して、該アップグレードに対してローカルの第二のリソースにアクセスすることを該ＰＣが可能とするために該第二のプロキシサーバを生成するためのポートリスナをさらに有する、
請求項８記載のシステム。
【請求項１０】
該アップグレードは、該ＰＣの外部にある、
請求項１記載のシステム。
【請求項１１】
パーソナルコンピュータ（ＰＣ）を変更するための方法であって、
アップグレードを表す内部プロトコルアドレス及びポート番号を有するメッセージをブロードキャスト可能な該アップグレードを提供するステップと、
該メッセージに応答して、該ポート番号により示される該アップグレードのポートとの通信を確立するために、該ＰＣでプロキシクライアントを生成するステップと、
第二のリソースにアクセスするために該プロキシクライアントからの要求を処理するため、該アップグレードでプロキシサーバを生成するステップと、
該ＰＣから第二のリソースにアクセスするため、該ＰＣで、第二のインタフェースを該第二のリソースに登録するステップと、
を有する方法。
【請求項１２】
該ＰＣを表す更なる内部プロトコルアドレス及び更なるポート番号を有する更なるメッセージをブロードキャスト可能な該ＰＣを提供するステップと、
該更なるメッセージに応答して、該更なるポート番号により示される該ＰＣの更なるポートとの通信を確立するために、該アップグレードで更なるプロキシクライアントを生成しつつ、第一のリソースにアクセスするために該第二のプロキシクライアントからの第二の要求を処理するため、該ＰＣで第二のプロキシサーバを作成するステップと、
該アップグレードから該第一のリソースにアクセスするために、該アップグレードで、第一のインタフェースを該第一のリソースに登録するステップと、
をさらに有する請求項１１記載の方法。
【請求項１３】
該アップグレードは、該ＰＣの外部にある、
請求項１１記載の方法。
【請求項１４】
該第二のリソースは、ソフトウェアコンポーネント、ハードウェアコンポーネント、及びハードウェアコンポーネントで実現されるソフトウェアコンポーネントのうちの１つである、
請求項１１記載の方法。
【請求項１５】
アップグレードで登録されるリソースのアドレスを決定することをパーソナルコンピュータ（ＰＣ）が可能にするための方法であって、
該アップグレードで登録されリソースを表す第一のプロキシクライアントを、該アップグレードとの通信のために該ＰＣで生成するステップと、
該ＰＣのレジストリで第一のローカルリソースとして該第一のプロキシクライアントを登録するステップと、
該第一のプロキシクライアントからの要求を処理するために該アップグレードで第二のプロキシサーバを生成するステップと、
を有する方法。
【請求項１６】
該ＰＣで登録されるリソースのアドレスを決定することを該アップグレードが可能とし、
該ＰＣで登録されるリソースを表す第二のプロキシクライアントを、該ＰＣとの通信のために該アップグレードで生成するステップと、
該アップグレードのレジストリで第二のローカルリソースとして該第二のプロキシクライアントを登録するステップと、
該第二のプロキシクライアントからの要求を処理するために、該ＰＣで第一のプロキシサーバを生成するステップと、
を有する請求項１５記載の方法。
【請求項１７】
該アップグレードは、該ＰＣの外部にある、
請求項１５記載の方法。
【請求項１８】
該第二のリソースは、ソフトウェアコンポーネント、ハードウェアコンポーネント、及びハードウェアコンポーネントで実現されるソフトウェアコンポーネントのうちの１つである、
請求項１５記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理サブシステムをネットワーク化する装置及び方法に関し、より詳細には、外部接続を介して既存のコンピュータをアップグレードする方法に関する。
【０００２】
本特許出願は、1998年8月13日に提出された米国特許出願シリアル番号09/133,622の一部継続出願である。その内容は、その全体が引用により本明細書に組み込まれる。
【背景技術】
【０００３】
パーソナルコンピュータ（以下、ＰＣと呼ぶ）をアップグレードすることは、マザーボード及び中央処理装置（以下、ＣＰＵ）を変更することを要求する場合がある。これらのハードウェアエレメントは、一般にコンピュータ内部に位置されており、したがって、これらのエレメントの１つ以上をアップグレードすることは困難である。ＣＰＵ及びマザーボードが時代遅れのものとなったとき、消費者は、ＰＣを変更するか、アップグレードをインストールするかのいずれかの決断に迫られる。ＰＣをアップグレードすることは、最も費用対効果の高い選択であるか、困難である場合がある。外部コンポーネントをインストールしたとしても、ＰＣの内部作業を回避することで、異なるシステム構成のプロセスを必要とする場合がある。
【０００４】
複数の装置をネットワーク化する公知の技術は、Sun  Microsystems社のJini（登録商標）である。Jini（登録商標）は、Java（登録商標）ベースのソフトウェア技術であり、ＰＣと周辺装置とをネットワーク化する助けとなる。ネットワークに接続されたとき、Jiniが使用可能な装置は、その存在をブロードキャストする。その装置を使用する準備があるネットワーククライアントは、サーバ又はネットワーク管理者をバイパスして、その装置から必要なソフトウェアを要求することができる。このアーキテクチャは、既存のネットワークのトップを踏み台にしている。この技術の問題点は、ネットワークが事前にシステム構成されていることを仮定していることである。
【０００５】
プロセッササブシステムのネットワークにおける共有リソース及び共有サービスの自動システム構成（auto  configuration）を可能にすることは、以下の問題を解決することを要求している。新たなネットワーク接続、ユーザ介入なしにネットワークアドレスの割り当て、及びプロトコルを共有しているリソース及びサービスの実現である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
新たな装置の検出に関連する第一の問題は、プラグアンドプレイ技術により解決される。たとえば、Ｌｉｎｕｘオペレーティングシステム（ＯＳ）によれば、多くのイーサネット（登録商標）カード／トークンリングカードは、システムの挿入に応じて自動的に機能することができる。第二の問題は、アドレス割り当てに関連しており、業界で現在研究されている。公知の解決策は、コンフィグレーション・マネージメント・プロトコルであり、その例は、ダイナミック・ホスト・コンフィグレーション。プロトコル（ＤＨＣＰ）であり、ネットワーク管理者に対して中枢的に管理させ、組織のネットワークにおけるインターネットプロトコル（ＩＰ）アドレスの割り当てを自動化させる。
【０００７】
したがって、プロセッササブシステムのネットワークにおいて共有プロトコルを実現する方法について必要が存在する。
【課題を解決するための手段】
【０００８】
本発明者は、ユーザがＰＣをアップグレードすることを可能にするため、ＰＣを作り直して、アップグレードボックスがＰＣに外部接続することができるようにコネクタを提供する方法が進歩されるべきであることを提案している。このように、既存のＣＰＵ、ハードドライブ（以下、ＨＤと呼ぶ）等は、容易に更新される場合がある。アップグレードは、ＰＣをシームレスにインタフェースする場合がある。ユーザに対して、ＰＣは、新たな装置がインストールされたかのように機能する場合がある。たとえば、ＨＤのアップグレードがインストールされると、ＰＣは、ＨＤアップグレードを許容するために自動的にシステム構成する場合がある。このＨＤアップグレードは、旧式のＨＤの代わりとなる機能を実行する場合がある。現実に、新たなアプリケーション用のプロキシがＰＣでインストールされ、インストールソフトウェアの指示に従ってＨＤアップグレードでプログラムがインストールされる。この方法は、Ｘウィンドウのような既に分散されているディスプレイプラットフォームで機能する。このシームレスな統合により、ディスプレイサーバの方法が使用される場合がある。
【０００９】
本発明の開示は、アップグレードに接続されるパーソナルコンピュータ（ＰＣ）を有する情報処理システムに向けられる。ＰＣは、第一のレジストリで登録される第一のプロキシクライアントを有する場合がある。ＰＣは、第二のブロードキャスタにより送出されたメッセージを受信するとともに、第一のプロキシクライアントを生成するためのブロードキャストリスナをさらに有する場合がある。第一のプロキシクライアントは、第二の確立されたチャネルでアップグレードの第二のポートリスナとの接続を確立する。また、ＰＣは、ＰＣに対してローカルの第一のリソースを登録するための第一のレジストリを有する場合もある。ＰＣは、第二のプロキシクライアントと通信するとともに、第一のリソースにアクセスするための第一のプロキシサーバを有する場合がある。また、ＰＣは、メッセージをブロードキャストするためのブロードキャストモジュール、及び該メッセージの受信に応答して発せられるアップグレードからの応答を受信するとともに、第一のプロキシクライアントを生成して、アップグレードに対してローカルの第二のリソースにアクセスするためのブロードキャストリスナを有する場合がある。ＰＣは、アップグレードからの更なるメッセージの受信に応答して、第一のプロキシサーバを生成して、アップグレードがＰＣに対してローカルの第一のリソースにアクセスすることを可能にするためのポートリスナを有する場合がある。
【００１０】
アップグレードは、アップグレードに対してローカルの第二のリソースを登録するための第二のレジストリ、第一のプロキシクライアントと通信するとともに、ＰＣのコンポーネントにアップグレードを提供するために第二のリソースにアクセスするための第二のプロキシサーバを有する場合がある。アップグレードは、アップグレードのネットワークアドレス、及び第二の確立されたチャネルに関するポート番号を伝達するための第二のブロードキャスタ、第二のプロキシサーバを生成するための第二のポートリスナをさらに有する場合がある。また、アップグレードは、第二のレジストリで登録され、第一のプロキシサーバと通信するための第二のプロキシクライアントを有する場合がある。第二のリソースは、ソフトウェアコンポーネント、ハードウェアコンポーネント、又はハードウェアコンポーネントで実現されるソフトウェアコンポーネントである場合がある。アップグレードは、メッセージをブロードキャストするためのブロードキャストモジュール、及び該メッセージの受信に応じて発せられたＰＣからの応答を受信するとともに、第二のプロキシクライアントを生成して、ＰＣに対してローカルの第一のリソースにアクセスするためのブロードキャストリスナを有する場合がある。また、アップグレードは、ＰＣからの更なるメッセージの受信に応答して、ＰＣがアップグレードに対してローカルの第二のリソースにアクセスすることを可能にするために第二のプロキシサーバを生成するためのポートリスナを有する場合がある。アップグレードは、ＰＣの外部にある場合がある。
【００１１】
また、本発明の開示は、ＰＣを変更するための方法に向けられる。本方法は、アップグレードを表す内部プロトコル（ＩＰ）アドレス及びポート番号を有するメッセージをブロードキャスト可能なアップグレードを提供する場合がある。本方法は、該メッセージに応答して、該ポート番号により示されるアップグレードのポートとの通信を確立するために、ＰＣでプロキシクライアントを生成する場合がある。本方法は、アップグレードでプロキシサーバを生成して、第二のリソースにアクセスするためにプロキシクライアントからの要求を処理する場合がある。また、本方法は、ＰＣから第二のリソースにアクセスするために、ＰＣで、第二のリソースに第二のインタフェースを登録する場合がある。
【００１２】
本方法は、ＰＣを表す更なるＩＰアドレス及び更なるポート番号を有する更なるメッセージをブロードキャスト可能なＰＣを提供する場合がある。本方法は、更なるポート番号により示されるＰＣの更なるポートとの通信を確立するために、該更なるメッセージに応答して、アップグレードで更なるプロキシクライアントを生成する場合がある。本方法は、ＰＣで第二のプロキシサーバを生成して、第一のリソースにアクセスするために第二のプロキシクライアントからの第二の要求を処理する場合がある。本方法は、アップグレードから第一のリソースにアクセスするために、アップグレードで、第一のリソースに第一のインタフェースを登録する場合がある。アップグレードは、ＰＣの外部にある場合がある。第二のリソースは、ソフトウェアコンポーネント、ハードウェアコンポーネント、ハードウェアコンポーネントで実現されるソフトウェアコンポーネントのうちの１つである場合がある。
【００１３】
本発明の開示による代替的な方法は、アップグレードで登録されたリソースのアドレスを決定するためにパーソナルコンピュータ（ＰＣ）を使用可能にすることを含む場合がある。この代替的な方法は、アップグレードとの通信のためにＰＣで第一のプロキシクライアントを生成する場合があり、この第一のプロキシクライアントは、アップグレードで登録されるリソースを示している。本方法は、ＰＣのレジストリで第一のローカルリソースとして第一のプロキシクライアントを登録する場合がある。また、本方法は、第一のプロキシクライアントからの要求を処理するために、アップグレードで第二のプロキシサーバを生成する場合がある。アップグレードは、ＰＣで登録されたリソースのアドレスを割り当てる場合がある。これは、ＰＣとの通信のために、アップグレードで第二のプロキシクライアントを生成すること、ここで、第二のプロキシクライアントは、ＰＣで登録されたリソースを表しており、アップグレードのレジストリで第二のローカルリソースとして第二のプロキシクライアントを登録すること、及び第二のプロキシクライアントからの要求を処理するために、ＰＣで第一のプロキシサーバを生成すること、により達成される場合がある。アップグレードは、ＰＣの外部にある場合がある。第二のリソースは、ソフトウェアコンポーネント、ハードウェアコンポーネント、又は、ハードウェアコンポーネントで実現されるソフトウェアのうちの１つである場合がある。
【００１４】
本発明のこれら及び他の目的、特徴及び効果は、添付図面とともに参照される発明の例示的な実施の形態に関する以下の詳細な説明から明らかとなるであろう。本発明の好適な実施の形態は、添付図面を参照して説明される。
【発明を実施するための最良の形態】
【００１５】
本発明の好適な実施の形態は、添付図面を参照して以下に詳細に説明される。
【００１６】
図１は、本発明におけるオペレーショナルシステム１００に主要な構成要素に関するブロック図である。システム１００は、バス１０６を介して接続される第一のＰＣ１０２及び第二のＰＣ１０４を有している。バス１０６は、ワイアドバス、ワイレスバス、又はその組み合わせである場合がある。ＰＣ１０２は、リソースを有しており、サービスを提供する。たとえば、ＰＣ１０２は、ハードドライブ１０８、電子メールキャパシティ１１０、ウェブブラウザ１１２、プリンタ１１４等を有している。同様に、ＰＣ１０４は、ハードドライブ１１６、ワードプロセッシングサービス１１８、グラフィックプログラム１２０、プリンタ１２２等のようなリソース及びサービスを有している。用語「リソース」及び「サービス」は、以下では交換可能に使用される。
【００１７】
ＰＣ１０２は、ＰＣ１０２に対してローカルにあるリソース及びサービス１０８−１１４へのインタフェースを登録するためのレジストリ１２４を有している。ＰＣ１０２で実行しているアプリケーションは、これらのインタフェースへのアクセスを得ることができる。インタフェースは、ローカルのリソース又はサービス１０８−１１４へのメッセージまたは要求を処理する。同様に、ＰＣ１０４は、ＰＣ１０４に対してローカルにあるリソース及びサービス１１６−１１２へのインタフェースを登録するためのレジストリ１２６を有している。
【００１８】
ＰＣ１０２は、ブロードキャスタ１２８、ポートリスナ１３０及びブロードキャストリスナ１３２といったエンティティをさらに有している。これらのエンティティは、共存しており、処理のスレッドである場合がある。同様に、ＰＣ１０４は、ブロードキャスタ１３４、ポートリスナ１３６、及びブロードキャストリスナ１３８を有している。ＰＣ１０２は、プロキシクライアント１４２、及びプロキシサーバ１４４をさらに有している。ＰＣ１０４は、プロキシクライアント１４０及びプロキシサーバ１４６を有している。プロキシクライアント１４２は、プロキシサーバ１４６と通信し、プロキシクライアント１４０は、プロキシサーバ１４４と通信する。システム１００の自動システム構成におけるコンポーネント１２４〜１３８により実行される役割、及びプロキシサーバ１４６及び１４４並びにプロキシクライアント１４２及び１４０の役割は、図２から図７を参照して説明される。
【００１９】
図２は、ＰＣ１０２，１０４がバス１０６に機能的に接続されているときのシステム１００の最初のシステム構成に関するブロック図である。このシステム構成では、ブロードキャスタ１２８は、ＰＣ１０２のネットワークアドレス、すなわち“Ｘ”、及び確立されたチャネルに関するポート番号、すなわち“ｘ”をバス１０６に送出する。同様に、ブロードキャスタ１３４は、ＰＣ１０４のネットワークアドレス“Ｙ”、及び別の確立されたチャネルに関するポート番号“ｙ”を含むブロードキャストをバス１０６に送出する。ＰＣ１０４のブロードキャストリスナ１３８は、ＰＣ１０２によりブロードキャストされたメッセージを受信する。ＰＣ１０２のブロードキャストリスナ１３２は、ＰＣ１０４によりブロードキャストされたメッセージを受信する。
【００２０】
図３は、自動システム構成プロセスに関する次のステップを例示している。ＰＣ１０４からブロードキャストされたメッセージを受信して、ＰＣ１０２のブロードキャストリスナ１３２は、プロキシクライアント１４２を生成する。これに応じて、プロキシクライアント１４２は、ポート“ｙ”でＰＣ１０４のポートリスナ１３６との接続を確立する。同様に、ＰＣ１０４のブロードキャストリスナ１３８は、ポート“ｘ”でポートリスナ１３０との接続を確立するプロキシクライアント１４０を生成する。
【００２１】
図４は、自動システム構成プロセスにおける更なるステップを示している。ポートリスナ１３０は、プロキシサーバ１４４を起動して、遠隔地のクライアント１４０からの要求を処理する。プロキシサーバ１４４は、たとえば、レジストリ１２４に含まれる情報のような、リソース１０８−１４４に関する情報をプロキシクライアント１４０に送出する。プロキシクライアント１４０は、この情報をレジストリ１２６で登録する。同様に、ポートリスナ１３６は、プロキシサーバ１４６を起動して、遠隔地のクライアント１４２からの要求を処理する。プロキシサーバ１４６は、プロキシクライアント１４２にリソース１１６−１２２に関する情報を送出し、これに応じて、プロキシクライアント１４２は、この情報をレジストリ１２４で登録する。
【００２２】
図５は、プロキシクライアント１４２が、レジストリ１２６で利用可能な各リソース又はサービスについてローカルサービスとしてレジストリ１２４に登録するステップ、及びプロキシクライアント１４０が、レジストリ１２４で利用可能な各リソース又はサービスについてレジストリ１２６に登録するステップを示している。結果として、ＰＣ１０２は、ＰＣ１０４に対してそのローカルのリソース及びサービスのアドレスを特定するそのレジストリ１２４をコピーする。この場合、そのコピーは、レジストリ１２６に追加される。同様に、ＰＣ１０４は、そのレジストリ１２６をＰＣ１０２にコピーする。この場合、そのコピーは、レジストリ１２４に追加される。ＰＣ１０４及び１０４の両者は、ここで互いに登録される。第三のＰＣ１４８がバス１０６に接続されたとき、先に説明したプロセスに類似したプロセスが自動的に生じる。したがって、レジストリ１２４，１２６は、リソース又はサービスがローカルであるか、すなわち別の装置にあるかに関する情報を隠す。レジストリ１２４におけるそれぞれのアドレスは、レジストリ１２４全体を通して固有である。同様に、レジストリ１２６におけるそれぞれのアドレスは、レジストリ１２６全体を通して固有である。ＰＣ１０２で作業しており、ローカルのリソース又はサービス、すなわちリソース又はサービス１０８−１１４のうちの１つを要求するユーザは、レジストリ１２４において対応するアドレスにより示される要求されたリソース又はサービスに直接送出された要求を有している。ユーザが遠隔のサービス又は遠隔のリソース、すなわち、遠隔のＰＣ１０４に対してローカルのリソース又はサービス１１６−１２２のうちの１つを要求するとき、要求は、プロキシクライアント１４２に送られ、図７を参照して以下に説明されるようにプロキシサーバ１４６により処理される。
【００２３】
図６は、レジストリ１２４でのプロキシクライアント１４２の登録に関する一例としての図６００，６０２を与えている。図６００は、ＰＣ１０４で利用可能なローカルリソース及びサービス及びそのそれぞれのローカルアドレスからなるリストを有する最初のレジストリ１２６を表している。図６０２は、クライアント１４２が該クライアントを登録した後のレジストリ１２４を表している。レジストリ１２４は、ローカルアドレス番号＃１〜＃Ｋをもつリソース又はサービス１０８−１１４からなるリストをはじめに有している。クライアント１４２が登録された後、レジストリ１２４は、アドレス＃Ｑでプロキシ装置としてのＰＣ１０４のエントリを有する。遠隔のリソース及びサービス１１６−１２２は、アドレス＃Ｑに依存したアドレスを有する。
【００２４】
図７は、プロキシクライアント１４２及びプロキシサーバ１４６を含むこのアドレスベースの動作を例示している。ＰＣ１０２で実行するソフトウェアアプリケーション７０２は、遠隔のＰＣ１０４でリソース１１８の要求を生成する。
【００２５】
リソース１１８への参照は、先に説明したようにレジストリ１２４に追加される。レジストリ１２４は、アプリケーション７０２によりアクセスされる。たとえば、アプリケーション７０２は、リソース１１８であるワードプロセッシングを要求する。参照は、プロキシクライアント１４２へのポインタ（矢印７０４）を有する。ＰＣ１０２のプロキシクライアント１４２は、リモートのＰＣ１０４のプロキシサーバ１４６と連絡をとる（矢印７０６）。プロキシサーバ１４６は、ローカルのレジストリ１２６を介して（矢印７０７）、リソース１１８への（矢印７０８）アドレス、すなわちハンドルを有する。リソース１１８による処理の結果は、プロキシサーバ１４６にルートバックされ（矢印７１０）、その後、アプリケーション７０２のプロキシクライアント１４２にルートバックされる（矢印７０６）。アプリケーションは、プロキシクライアント１４２から結果を受ける（矢印７１２）。プロキシクライアント１４２及びプロキシサーバ１４６は、パイプとしての役割を果たす。
【００２６】
ＰＣ１０２で生成される要求又はメッセージがローカルのリソース又はサービス１０８−１１４のうちの１つについてアドレスを有する場合、このメッセージは、サービス、又は関連するリソースの装置ドライバ（図示せず）に直接送出される。このアドレスがローカルではない場合、たとえば、ＰＣ１０４でのリソース１１８を言及するものではない場合、メッセージは、プロキシプクライアント１４２に送出される（矢印７０４）。このプロキシクライアントは、専用ポートで、プロキシサーバ１４６に要求を順次送出する（矢印７０６）。プロキシサーバ１４６は、この要求を処理し、レジストリ１２６を介して（矢印７０７）、リソース１１６−１２２のうちの関連する１つに該要求をルートする（矢印７０８）。要求の結果は、プロキシサーバ１４６に送出され（矢印７１０）、次いで、プロキシサーバ１４６からプロキシクライアント１４２に伝達される（矢印７０６）。このプロキシクライアント１４２から、たとえば、ＰＣ１０２でのローカルアプリケーション又はＰＣ１０２に対してローカルのディスプレイドライバ（図示せず）に結果がルートされる。
【００２７】
２つのＰＣ間の接続が切断された場合、遠隔のクライアント１４２及び１４０は、ローカルレジストリ１２４及び１２６のそれぞれから除くことができる。
【００２８】
ブロードキャスタ、ポートリスナ、ブロードキャストリスナ、レジストリ、プロキシクライアントといった、先に説明されたような自動システム構成を確立するための手段は、はじめに、たとえば、それらのオペレーティングシステムの一部として、又はオペレーティングシステムのトップで実行されるアプリケーションとして、スタンドアロン型のＰＣ１０２，１０４でインストールされる。自動システム構成手段は、スタンドアロン型のＰＣ１０２，１０４がネットワークに接続されたとき、スタンドアロン型のＰＣ１０２，１０４が互いに接続されるときに使用される。ソフトウェアは、たとえば、ディスクに記憶されるプログラムとしてユーザに使用され、ワールド・ワイド・ウェブからダウンロード可能にされる。
【００２９】
この自動システム構成のシステムの実現は、Ｊａｖａ（登録商標）ベースのシステムを使用して示すことができる。このシナリオでは、２つのスタンドアロン型のＰＣは、Ｊａｖａ（登録商標）、ネットワークカード、及びそのマシン上にインストールされるＴＣＰ／ＩＰスタックを有する。ＴＣＰ／ＩＰを使用するため、複数のマシンのそれぞれ１つについて、それぞれのランダムなＩＰ番号が使用される。ここでの概念は、ＩＰアドレス及び標準のＴＣＰ／ＩＰ設定がユーザにより予めシステム構成されていない。このＩＰアドレスに加えて、固有なＩＤ（ＵＩＤ）が生成される。これは、衝突が統計的に生じないような十分な複雑さからなるランダムな番号である場合がある（この実験結果は、Microsoft社のGlobal  Unique  Identifier（ＧＵＩＤ）である）。
【００３０】
ＩＰアドレスは、ＴＣＰ／ＩＰアドレスがそれぞれのＰＣを識別することを可能とするために使用され、ランダムに発生されたＩＰが同じではないことを保証するために使用される。このことは、同じＩＰアドレスが同じＵＩＤに必ず接続されなければならないことから立証される。
【００３１】
Ｊａｖａ（登録商標）システムでは、実行可能なランタイムが開始され、それぞれがＪａｖａ（登録商標）スレッドとしてのブロードキャスタ、ブロードキャストリスナ、及びポートリスナといった３つの対象を生じる。この場合、ブロードキャストリスナは、マルチキャストに加入するために、Ｊａｖａ（登録商標）のマルチキャストソケット（Java（登録商標）  Multicast  Socket）を使用する。同様にして、ブロードキャスタは、Ｊａｖａ（登録商標）のマルチキャストソケットのグループに情報を送出する。ポートリスナは、Ｊａｖａ（登録商標）のセーバソケット（Java（登録商標）  Sever  Socket）として実現される。
【００３２】
ブロードキャストリスナがメッセージを受け、ＩＰアドレスがそれ自身のＩＰアドレスと同じであり、ＵＲＮが同じではない場合、ブロードキャストリスナは、そのプロキシサーバのそれぞれを減少させ、新たなＩＰアドレスをランダムに発生する。このようにして、それぞれのマシンのＩＰアドレスは、固有であることが最終的に保証される。
【００３３】
ブロードキャストリスナがメッセージを受け、ＩＰアドレスがそれ自身のＩＰアドレスと同じであり、ＵＲＮが同じである場合、そのメッセージは無視される。これは、そのメッセージがそれ自身のブロードキャスタにより生成されているためである。
【００３４】
ブロードキャストリスナがメッセージを受け、ＩＰアドレスが異なり、このＩＰアドレスを以前に受けていない場合、新たなＪａｖａ（登録商標）スレッドとなる、他のマシン上のポートリスナに接続するプロキシクライアントが生成される。ブロードキャストされたメッセージは、Ｊａｖａ（登録商標）ソケットとして接続するために、プロキシクライアントのポート及びＩＰアドレスを含む。
【００３５】
この要求に応じて、Ｊａｖａ（登録商標）に順応する方法を通してポートリスナは、新たなＪａｖａ（登録商標）スレッドであるプロキシサーバを生成し、この要求を処理する。リソース情報は、プロキシサーバからプロキシクライアントに送出され、レジストリに戻る。
【００３６】
このＪａｖａ（登録商標）の例のために、レジストリは、ハッシュテーブルとして編成することができる。この場合、それぞれのリソースは、リソース又はサービスがレジストリに追加されるときに生成される固有のアドレスにより識別可能である。プロキシクライアントがプロキシサーバに最初に接続したとき、プロキシサーバは、現在のレジストリに関する情報を送出する。その後、プロキシクライアントは、プロキシクライアントに対してローカルのレジストリにこの情報を追加する。この例のため、重要な情報は、あるハンドルがレジストリにおけるプロキシクライアントと関連付けされ、新たなアドレスに対してローカルのプロセス又はスレッドは、ローカルのプロセス又はスレッドよりはむしろプロキシクライアントとなる。サービスが使用されたとき、コントロール情報がプロキシクライアントに送出され、このプロキシクライアントは、この同じ情報をプロキシサーバに送出し、その後、このプロキシサーバは、この情報を他のマシン上のリソース又はサービスに送出させる。Ｊａｖａ（登録商標）による実現のケースでは、これらのサービスのそれぞれは、Ｊａｖａ（登録商標）のオブジェクトから構成され、このＪａｖａ（登録商標）オブジェクトは、サービス又はリソースを使用して別のオブジェクトからバイトデータを受けるか、プロキシサーバからバイトデータを受ける。ここでは、サービスを使用したクライアントアプリケーション及びサービスそれ自身の両者は、同じマシン上でローカルであるように見える。
【００３７】
使用されるレジストリに隠された重要な情報は、レジストリがサービス／リソースをアドレスと関連付けること、レジストリがこのアドレスに基づいて適切なサービス又はリソースに送信されるデータパケットを取り出すことである。Ｊａｖａ（登録商標）による実現では、このデータは、Ｊａｖａ（登録商標）データ入力ストリーム及びデータ出力ストリームを使用して送出される。
【００３８】
２つのＰＣ間の接続が切断されたとき、リモートのクライアント１４２及び１４０のアドレスは、ローカルレジスタ１２４及び１２６のそれぞれから除くことができる。たとえば、ＰＣ間のハートビートプロトコルは、ＰＣのうちの一方のハートビートが消失するまで、それぞれが他を知っている状態を保持することを保証する。タイマは、終了して、関連するクライアントへのレジストリのエントリを不使用にするための手順を自動的にトリガする。
【００３９】
本発明の代替的な実施の形態は、図８に従って与えられる。ブロック８００では、通信リンクは、第一のＰＣと該第一のＰＣに外部にある第一のアップグレードの間に確立される。外部のアップグレードは、１つ以上のサブシステムを含んでいる場合がある。それぞれのサブシステムは、アップグレードのコンポーネントを含んでいる。アップグレードは、たとえば、追加のメモリ、ビデオ信号を複数のビデオモニタに分割可能なグラフィックカード、ハードドライブのような記憶装置、Ｚｉｐ（登録商標）ドライブ、書き込み可能なコンパクトディスク、新たなＣＰＵ又は複数のＣＰＵ、又は、たとえば、アクセラレートグラフィックポート（ＡＧＰ）、ユニバーサルシリアルバス（ＵＳＢ）、又は１３９４高性能シリアルバスといった新たなバスインタフェースを含むことができる。また、他の装置を含むこともできる。通信リンクは、処理サブシステムをネットワーク化する。２を超える処理サブシステムが存在する場合がある。たとえば、１つのＰＣが、個別の追加の構成要素を提供する３台のアップグレードに接続される場合がある。
【００４０】
これらの追加の構成要素は、ＰＣ１０２又はＰＣ１０４用のハードウェア又はソフトウェアアップグレードを含んでいる場合がある。ブロック８２０では、通信リンクは、双方向のポート、バス、イーサネット（登録商標）接続、電話接続、電力線接続又は他の手段を含んでいる場合がある。ブロック８３０では、第一のアップグレードボックスは、プロセッサ、メモリ、ハードドライブ、ディスクドライブ又は他のリソース及び／又はサービスを含んでいる場合がある。これらのリソース及び／又はサービスは、第一のＰＣに対して利用可能にされる。また、ブロック８４０では、第一のアップグレードボックスは、ハードウェアを追加するためのアダプタ、コントロールドライブ、インタフェースユニット、及び／又は電源を含んでいる場合がある。なお、図８及び図９の構成要素は、ハードウェア、ソフトウェア、又はその組み合わせを含んでいる場合がある。
【００４１】
ブロック８１０では、第一のＰＣは、アップグレード上のメモリにおけるデータのプロキシとして役割を果たすため、そのメモリの一部を指定する。第一のＰＣ及び第一のアップグレードは共に、ネットワーク化されたシステムとして機能する。第一のＰＣと第一のアップグレードの間の関係は、図９及び図１０に対応する２つの代替的な実施の形態において、以下に詳細に説明される。ＰＣ１０２及びＰＣ１０４に関して説明される装置及び方法は、第一のＰＣ及び第一のアップグレードに等価である場合がある。それぞれのサブシステムは、リソース及び／又はサービスを提供する。第一のＰＣのユーザに対して、第一のアップグレードは、目に見ることができず、全ての要求及びリターンされた要求は、第一のＰＣ上に保存されているように見える。ブロック８５０では、第一のＰＣは、第一のアップグレード上でアプリケーションを開始する場合がある。ブロック８６０では、第一のアップグレードは、アップグレードされていないＰＣにデータを送る。
【００４２】
ブロック８７０では、第一のＰＣは、第一のアップグレード上のアプリケーションを終了する場合がある。アップグレードの例は、新たなＣＰＵ、複数のＣＰＵ、ハードドライブ、シリアルバス、メモリサブシステム等を含んでいる場合がある。
【００４３】
ソフトウェア開発における傾向は、より多彩な機能を有するソフトウェアの方向に向けられている。増加された機能性は、より大量のコンピュータリソースを必要としている。時間につれて、ソフトウェアは、旧式のコンピュータが提供することができるリソースよりも多くのリソースを必要とする。このことが、ユーザがコンピュータをアップグレードすること、又は新たなシステムを購入することの１つの理由である。本発明によるコンピュータアップグレードにより、ユーザは、十分のリソースが本来不足しているシステム上でソフトウェアを実行することができる。旧式のプログラムは、オリジナルのコンピュータにおける旧式のＣＰＵを使用し続け、新たなプログラムはアップグレードを使用する。したがって、アップグレードは、既存のリソースを足場にするものであって、旧式のリソースを置き換えるものではない。
【００４４】
本発明によるアップグレードの別の例は、たとえば、１３９４シリアルバスといったハードウェアを特にサポートしないシステム上で、該ハードウェアを提供することを含んでいる。言い換えれば、本発明は、既存のポート又はソケットを使用して行うことができない、コンピュータとアップグレードの間の接続を行うことができる方法を提供する。
【００４５】
ブロック８８０によれば、ネットワーク化されたシステムは、クライアントとして機能する第一のＰＣ、及びサーバとして機能する第一のアップグレードボックスを含んでいる。本実施の形態のため、クライアント／サーバは、２つのコンピュータプログラム間の関係を説明する。ネットワークでは、クライアント／サーバモデルは、異なるロケーションに分散されているプログラムを相互接続するための便利な方法を提供する。例示のために、第一のＰＣは、クライアントとして説明される場合があり、第一のアップグレードは、サーバとして機能する。また、第一のコンピュータは、プロキシサーバ及びプロキシクライアントの両者を有している場合がある。
【００４６】
同様に、第一のアップグレードは、プロキシサーバ及びプロキシクライアントを有している場合がある。
【００４７】
図８のアップグレードシステムの特徴は、システムの使い勝手がよく、アップグレードの費用がＰＣを入れ替えることに比べて低く、システムに専門技能が必要とされず、使用するための訓練が必要とされず、及び最低限の費用と性能の向上との関係、といった点である。また、本発明により、グラフィックカード又は他の装置は、コンピュータのケースを開くことでインストールする必要があるコンポーネントよりはむしろ、サブシステムとしてパッケージすることができる。さらに、本発明によれば、ハードドライブのような幾つかのアップグレードにより、時間及び技能を要さず、データ損失の危険を要せず、更にはシステムの入れ替えを要さない。
【００４８】
図９は、本発明におけるオペレーショナルシステム９００の主要な構成要素の図である。システム９００は、ＰＣ１０２、及びバス１０６を介して接続されるアップグレード９０４を有する。バス１０６は、ワイアドバス又はワイヤレスバス、或いはその組み合わせである場合がある。ＰＣ１０２は、リソースを有し、サービスを提供する。たとえば、ＰＣ１０２は、ハードドライブ１０８、電子メールキャパシティ１１０、ウェブブラウザ１１２、プリンタ１１４等を有している。同様に、アップグレード９０４は、ハードドライブ９１６、ワードプロセッシングサービス９１８、グラフィックスプログラム９２０、プリンタ９２２等のようなリソース及びサービスを有する。用語「リソース」及び「サービス」は、以下では交換可能に使用される。
【００４９】
ＰＣ１０２は、ＰＣ１０２に対してローカルのリソース及びサービスへのインタフェースを登録するためのレジストリ１２４を有している。ＰＣ１０２上で実行するアプリケーションは、これらのインタフェースへのアクセスを得ることができる。インタフェースは、ローカルのリソース又はサービス１０８−１１４へのメッセージ又は要求を処理する。同様に、アップグレード９０４は、アップグレード９０４に対してローカルのリソース及びサービス９１６−９２２へのインタフェースを登録するためのレジストリ９２６を有している。
【００５０】
ＰＣ１０２は、ブロードキャスタ１２８、ポートリスナ１３０及びブロードキャストリスナ１３２といった、エンティティを更に含んでおり、これらは並存して、処理のスレッドとなる場合がある。同様に、アップグレード９０４は、ブロードキャスタ９３４、ポートリスナ９３６、及びブロードキャストリスナ９３８を有している。ＰＣ１０２は、プロキシクライアント１４２及びプロキシサーバ１４４を更に有している。アップグレード９０４は、プロキシクライアント９４０及びプロキシサーバ９４６を有している。
【００５１】
プロキシクライアント１４２は、プロキシサーバ９４６と通信し、プロキシクライアント９４０は、プロキシサーバ１４４と通信する。システム９００の自動システム構成におけるコンポーネント１２４−１４４及び９２６−９４６により実行される役割、プロキシサーバ９４６及び１４４並びにプロキシクライアント１４２及び９４０の役割は、図２から図７を参照して説明される。ここで、アップグレード９０４の構成要素の役割は、ＰＣ１０４の構成要素の役割と同様のやり方で機能する。
【００５２】
図１０は、本発明のオペレーショナルシステム９００の主要な構成要素のブロック図である。システム９１０は、ＰＣ１０２、及びバス１０６を介して接続されるアップグレード９０４を有する。バス１０６は、ワイアドバス、又はワイヤレスバス、或いはその組み合わせである場合がある。ＰＣ１０２は、リソースを有しており、サービスを提供する。たとえば、ＰＣ１０２は、ハードドライブ１０８、電子メールキャパシティ１１０、ウェブブラウザ１１２、プリンタ１１４等を有している。同様に、アップグレード９０４は、ハードドライブ９１６、ワードプロセッシングサービス９１８、グラフィックプログラム９２０、プリンタ９２２等のリソース及びサービスを有している。用語「リソース」及び「サービス」は、以下では交換可能に使用される。
【００５３】
ＰＣ１０２は、ＰＣ１０２に対してローカルのリソース及びサービス１０８−１１４へのインタフェースを登録するためのレジストリ１２４を有している。ＰＣ１０２上で実行するアプリケーションは、これらのインタフェースへのアクセスを得ることができる。インタフェースは、ローカルのリソース又はサービス１０８−１１４へのメッセージ又は要求を処理する。同様に、アップグレード９０４は、リソース及びサービスへのインタフェース９１６−９２２を登録するためのレジストリ９２６を有している。
【００５４】
ＰＣ１０２は、ブロードキャストリスナ１３２といったエンティティを更に有しており、これらは並存して、処理のスレッドである場合がある。同様に、アップグレード９０４は、ブロードキャスタ９３４及びポートリスナ９３６を有している。ＰＣ１０２は、プロキシクライアント１４２を更に有している。アップグレード９０４は、プロキシサーバ９４６を有している。プロキシサーバ１４２は、プロキシサーバ９４６と通信する。
【００５５】
システムの最初のシステム構成では、ＰＣ１０２及びアップグレード９０４は、バス１０６に機能的に接続されている。このシステム構成では、ブロードキャスタ１３４は、アップグレード９０４のネットワークアドレス“Ｙ”、及び別に確立されたチャネルに関するポート番号“ｙ”をもつブロードキャストをバス１０６に送出する。ＰＣ１０２のブロードキャストリスナ１３２は、アップグレード９０４によりブロードキャストされたメッセージを受信する。
【００５６】
自動システム構成の次のステップでは、ＰＣ１０４からブロードキャストされたメッセージを受信しており、ＰＣ１０２のブロードキャストリスナ１３２は、プロキシクライアント１４２を生成する。これに応じて、プロキシクライアント１４２は、ポート“ｙ”でアップグレード９０４のポートリスナ９３６との接続を確立する。
【００５７】
自動システム構成のプロセスにおける更なるステップでは、ポートリスナ９３６は、プロキシサーバ９４６を起動して、リモートのクライアント１４２からの要求を処理する。プロキシサーバ９４６は、リソース９１６−９２２に関する情報をプロキシクライアント１４２に送出し、これに応じて、プロキシクライアントは、この情報をレジストリ１２４で登録する。
【００５８】
プロキシクライアント１４２は、レジストリ１２４で利用可能なそれぞれのリソース又はサービスについてローカルサービスとしてレジストリ１２４に登録するステップが示される。この結果として、アップグレード９０４は、そのレジストリ９２６をＰＣ１０２にコピーする。このコピーは、レジストリ１２４に追加される。ここで、アップグレード９０４は、ＰＣ１０２で登録される。第三のＰＣ１４８がバス１０６に接続されたとき、先に説明したプロセスに類似のプロセスが自動的に生じる。したがって、レジスタ１２４及び１２６は、リソース又はサービスがローカルであるか、又は別の装置で存在するかを隠している。レジストリ１２４におけるそれぞれのアドレスは、レジストリ１２４全体を通して固有である。同様に、レジストリ９２６におけるアドレスのそれぞれは、レジストリ９２６全体を通して固有である。ＰＣ１０２で作業をしており、ローカルのリソース又はサービス、すなわちリソース又はサービス１０８−１１４のうちの１つを要求しているユーザは、レジストリ１２４において対応しているアドレスにより示される要求されたリソース又はサービスに直接送出される。ユーザが、リモートのサービス又はリモートのリソース、たとえば、リモートのアップグレード９０４に対してローカルのリソース又はサービス９１６−９２２のうちの１つを要求したとき、この要求は、プロキシクライアント１４２に送出され、ＰＣ１０２及びＰＣ１０４に関して先に説明されたように、プロキシサーバ９４６により処理される。
【００５９】
プロセッササブシステムをネットワーク化する装置及び方法に関する実施の形態を説明してきたが、上述した教示に照らして当業者により変更及び変形が行うことができる。したがって、添付された特許請求の範囲により定義されるように、本発明の範囲及び精神に含まれる開示された本発明の特定の実施の形態において、変更を行うことができる。詳細かつ特許法により特に要求される点に関して本発明を説明してきたが、特許請求されるものは、添付した特許請求の範囲に述べられている。
【図面の簡単な説明】
【００６０】
【図１】本発明のシステム構成に関するブロック図である。
【図２】自動システム構成プロセス、及び動作上の使用における様々なステップを例示する図である。
【図３】自動システム構成プロセス、及び動作上の使用における様々なステップを例示する図である。
【図４】自動システム構成プロセス、及び動作上の使用における様々なステップを例示する図である。
【図５】自動システム構成プロセス、及び動作上の使用における様々なステップを例示する図である。
【図６】自動システム構成プロセス、及び動作上の使用における様々なステップを例示する図である。
【図７】自動システム構成プロセス、及び動作上の使用における様々なステップを例示する図である。
【図８】本発明の１つの実施の形態による方法を示すフローチャートである。
【図９】本発明の第二のシステムに関する構成を示すブロック図である。
【図１０】本発明の第二のシステムの機能ユニットに関するブロック図である。
【図１】
2005504391.tif 000003
【図２】
2005504391.tif 000004
【図３】
2005504391.tif 000005
【図４】
2005504391.tif 000006
【図５】
2005504391.tif 000007
【図６】
2005504391.tif 000008
【図７】
2005504391.tif 000009
【図８】
2005504391.tif 000010
【図９】
2005504391.tif 000011
【図１０】
2005504391.tif 000012
【国際公開パンフレット】
2005504391.tif 000013
2005504391.tif 000014
2005504391.tif 000015
2005504391.tif 000016
2005504391.tif 000017
2005504391.tif 000018
2005504391.tif 000019
2005504391.tif 000020
2005504391.tif 000021
2005504391.tif 000022
2005504391.tif 000023
2005504391.tif 000024
2005504391.tif 000025
2005504391.tif 000026
2005504391.tif 000027
2005504391.tif 000028
2005504391.tif 000029
2005504391.tif 000030
2005504391.tif 000031
2005504391.tif 000032
2005504391.tif 000033
2005504391.tif 000034
2005504391.tif 000035
2005504391.tif 000036
2005504391.tif 000037
2005504391.tif 000038
2005504391.tif 000039
2005504391.tif 000040
2005504391.tif 000041
【国際公開パンフレット（コレクトバージョン）】
2005504391.tif 000042
2005504391.tif 000043
【国際調査報告】
2005504391.tif 000044
2005504391.tif 000045