(57)【特許請求の範囲】
【請求項１】
ネットワークで接続されたクライアントとオブジェクト指向データベースを備えた複数のサーバからなる分散型クライアント・サーバシステムのネットワーク・コンピューティングシステムにおいて、
上記複数のサーバの少なくとも２つの第１のサーバと第２のサーバ上の関連する２つのオブジェクトは、他方のサーバ上に存在する関連するオブジェクトとの間のリンク情報を互いに双方向になるように保持しており、
クライアントが第１のサーバにアクセスすると、当該第１のサーバは、前記第２のサーバ上の前記関連するオブジェクトのリンク情報を含む第１のサーバのオブジェクトに関するデータを前記クライアントに送信し、
前記クライアントは、前記送信された前記第２のサーバ上の前記関連するオブジェクトのリンク情報を含む第１のサーバ上のオブジェクトに関する情報を表示するとともに、前記送信された前記第２のサーバ上の前記関連するオブジェクトのリンク情報を表示された情報と関連づけて保持し、当該表示された情報に対する操作により、関連づけて保持されたリンク情報に基いて前記第２のサーバをアクセス先に決定して当該第２のサーバにアクセスし、
前記第２のサーバは、前記第１のサーバ上の前記関連するオブジェクトのリンク情報を含む第２のサーバのオブジェクトに関するデータを前記クライアントに送信し、
前記クライアントは、前記送信された前記第１のサーバ上の前記関連するオブジェクトのリンク情報を含む第２のサーバ上のオブジェクトに関する情報を表示するとともに、前記送信された前記第１のサーバ上の前記関連するオブジェクトのリンク情報を表示された情報と関連づけて保持し、保持された２つのリンク情報を用いて前記関連する２つのオブジェクト間におけるメソッドの実行要求および実行結果のやり取りを仲介することを特徴とする分散型クライアント・サーバシステムのネットワーク・コンピューティングシステム。
【請求項２】
前記ネットワーク上に分散した任意のサーバ上に、オブジェクトを生成するオブジェクト生成手段と、オブジェクト間のリンクを生成するリンク設定手段とをさらに備え、前記第１のサーバ内のオブジェクトと前記第２のサーバ内のオブジェクトとの間のリンクに関する情報を、前記リンク情報として、前記クライアントに送信することを特徴とする請求項１記載のネットワーク・コンピューティングシステム。
【請求項３】
前記リンク設定手段は、双方向のリンクを生成することを特徴とする請求項２記載のネットワーク・コンピューティングシステム。
【請求項４】
各オブジェクトのクラス間の関係を定義するクラス定義情報を保持し、該クラス定義情報に基づいて前記オブジェクト間のリンクを管理するクラス情報管理手段をさらに備えることを特徴とする請求項２記載のネットワーク・コンピューティングシステム。
【請求項５】
前記クラス情報管理手段は、クラス間の階層構造を持つような前記クラス定義情報を保持することを特徴とする請求項４記載のネットワーク・コンピューティングシステム。
【請求項６】
前記クラス情報管理手段は、企業活動に関する組織、個人、プロセス、および文書のうち少なくとも１つ以上のクラスを定義する情報を保持し、前記分散型クライアント・サーバシステム上で企業モデルが構築されることを特徴とする請求項５記載のネットワーク・コンピューティングシステム。
【請求項７】
前記ネットワーク上における各オブジェクトの所在場所に関するディレクトリ情報を保持し、該ディレクトリ情報を管理するディレクトリ情報管理手段をさらに備えることを特徴とする請求項２記載のネットワーク・コンピューティングシステム。
【請求項８】
前記ディレクトリ情報管理手段は、一部のオブジェクトのディレクトリ情報のみを保持することで、該ディレクトリ情報の量を削減することを特徴とする請求項７記載のネットワーク・コンピューティングシステム。
【請求項９】
前記ディレクトリ情報の一部をサーバ間でレプリケートするレプリケーション手段をさらに備えることを特徴とする請求項７記載のネットワーク・コンピューティングシステム。
【請求項１０】
各サーバ内のオブジェクトの一部をサーバ間でレプリケートするレプリケーション手段をさらに備えることを特徴とする請求項２記載のネットワーク・コンピューティングシステム。
【請求項１１】
レプリケートされたオブジェクトの更新処理時に、該オブジェクトのマスターオブジェクトに自動的に接続を切り替えて、該マスターオブジェクトを更新する手段をさらに備えることを特徴とする請求項１０記載のネットワーク・コンピューティングシステム。
【請求項１２】
前記ネットワーク上における各サーバの所在場所に関する情報をサーバ間で共有させ、該所在場所に関する情報を用いて各オブジェクトの管理を行う手段をさらに備えることを特徴とする請求項２記載のネットワーク・コンピューティングシステム。
【請求項１３】
前記分散型クライアント・サーバシステムに、前記オブジェクト生成手段とリンク設定手段を持つ新しいサーバを登録する新サーバ設定手段をさらに備えることを特徴とする請求項２記載のネットワーク・コンピューティングシステム。
【請求項１４】
ユーザ情報に関するオブジェクトを利用して、前記分散型クライアント・サーバシステムにおけるユーザ管理を行う手段をさらに備えることを特徴とする請求項２記載のネットワーク・コンピューティングシステム。
【請求項１５】
前記リンク情報を用いて情報検索サービスを行う手段をさらに備えることを特徴とする請求項２記載のネットワーク・コンピューティングシステム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、ネットワークを介した分散クライアント−サーバシステムにおいて、情報の更新や追加を行うネットワーク・コンピューティングシステムおよびその方法に関する。
【０００２】
【従来の技術】
従来の情報システムにおいては、単一の巨大なデータベースに対してトランザクションベースで処理を行うのが主流であった。しかし、今日では、計算機システムやネットワークの発達によって、広範囲に分散したシステム間で頻繁に情報の更新、追加が行えるような情報システムを構築することが求められている。また、ＬＡＮ（local area network）とグローバルネットワークの融合により、ネットワークを中心とするネットワーク・コンピューティングという形の情報処理が実現されつつある。
【０００３】
図１９は、従来のクライアント−サーバシステムの構成図である。図１９のシステムは、クライアント１、アプリケーションサーバ５（アプリケーションサーバＡ、Ｂ、Ｃ）、およびデータベース６から成る。アプリケーションサーバＡ、Ｂ、Ｃは、データベース６を共有し、クライアント１と通信するために、それぞれ、サーバＡ専用通信モジュール２、サーバＢ専用通信モジュール３、サーバＣ専用通信モジュール４を搭載している。
【０００４】
クライアント１は、サーバＡ専用通信モジュール２、サーバＢ専用通信モジュール３、サーバＣ専用通信モジュール４のうちのいずれかを搭載し、対応する通信モジュールを有する特定のアプリケーションサーバ５に接続して、データベース６の更新等を行う。
【０００５】
さらに、近年のデータベース６の巨大化やシステムの分散化に伴って、図２０に示すように、データベース６が分散して配置されるようになってきた。図２０のシステムでは、アプリケーションサーバＡ、Ｂ、Ｃは、それぞれ、個別のデータベース６を管理している。このシステムにおいても、クライアント１は、サーバＡ専用通信モジュール２、サーバＢ専用通信モジュール３、およびサーバＣ専用通信モジュール４のいずれかを用いて、特定のアプリケーションサーバ５にのみ接続する。
【０００６】
このため、クライアント１が接続先のアプリケーションサーバ５とは異なる他のサーバ５のデータベース６の情報にアクセスする際には、必要に応じてデータベース６間でレプリケーションが行われたり、アプリケーションサーバ５間でＲＰＣ（remote procedure call ）が行われたりしている。レプリケーションの場合は、データベース６間でデータのコピーが行われ、ＲＰＣの場合は、アプリケーションサーバ５間で関数呼び出しが行われて、必要なデータがやり取りされる。
【０００７】
図１９および図２０のシステムに共通しているのは、クライアント１が通信モジュール２、３、４を用いて、特定のアプリケーションサーバ５と接続するように設計されていることである。
【０００８】
また、近年発展しているインターネット上においては、ＷＷＷ（world wide web）が開発され、情報発信の手段として広く利用されている。ＷＷＷの特徴は、ｈｔｔｐ（hypertext transfer protocol ）という共通のプロトコルによって任意のクライアント（ＷＷＷブラウザ）から任意のサーバ（ＷＷＷサーバ）に接続できることである。また、ＷＷＷは、サーバからクライアントへ送られるファイルであるＨＴＭＬ（hypertext markup language ）文書中に、他のサーバ上のＨＴＭＬ文書へのリンクを埋め込むハイパーリンク機能を持っている。
【０００９】
図２１は、ＷＷＷにおけるクライアントおよびサーバの動作フローチャートである。クライアントが動作を開始し、ユーザがその画面上のリンクをクリックすると（ステップＳ１）、クライアントがｈｔｔｐを用いて該当するサーバに接続する（ステップＳ２）。
【００１０】
これにより、サーバから該当するＨＴＭＬ文書がクライアントに送信され（ステップＳ３）、クライアントは、サーバとの接続を切断して（ステップＳ４）、ＨＴＭＬ文書の情報を画面上に表示する（ステップＳ５）。ユーザが表示された画面上のリンクを再びクリックすると、ステップＳ１からＳ５までの動作が繰り返される。
【００１１】
【発明が解決しようとする課題】
しかしながら、上述した従来の情報システムには次のような問題がある。
図１９または図２０のような従来のクライアント−サーバシステムでは、クライアント１は特定のサーバ５としか接続できないため、ネットワーク上に分散した他のサーバ５の機能を直接利用することはできない。
【００１２】
このため、クライアント１の接続先のサーバ５は、同時に、他のサーバ５と接続して必要な処理を依頼しなければならず、サーバ５間でトランザクションが多発する。また、データベース６間のレプリケーションを必要とする場合も、同様に、処理が煩雑になる。
【００１３】
このように、サーバ５間やデータベース６間における処理の制御が複雑になるため、ＷＷＷのように、サーバ５やデータベース６が全世界的に広がったような巨大な分散システムを構築することは不可能である。
【００１４】
また、従来のＷＷＷでは、クライアントからの要求に対してＨＴＭＬ文書を送るという単純な機能しか提供されていないという問題がある。特に、ｈｔｔｐでは、１つのページの送信毎にセッションが切れてしまうため、通信状態（接続状態）を保持することができない。したがって、ＷＷＷの基本機能のみでは、本格的なインタラクションを行うクライアント−サーバシステムを開発することは困難である。
【００１５】
さらに、ＷＷＷにおいては、ページやリンクの作成／変更は個々のユーザに任されているため、ＷＷＷ全体がどのような構造になっているかは把握不能であり、例えば、以下のような問題がある。
【００１６】
１．新しいページの実体データ（オブジェクト）を、分散した任意のサーバ上に作成することは難しい。
２．新しいオブジェクトの登録の際に、既存のオブジェクトからのリンクが更新／管理されない。
【００１７】
３．オブジェクトの削除に伴いリンク先のオブジェクトがなくなってしまうこともある（デッドリンク）。
４．ユーザが欲しい情報を検索する手段として、ＷＷＷロボットのようなプログラムが開発されているが、オブジェクト間に構造がないために、すべてのオブジェクトに対してキーワードによる探索を行わなければならない。
【００１８】
本発明の課題は、ネットワークを介した分散クライアント−サーバシステムにおいて、情報の更新や追加を容易に行うことができるネットワーク・コンピューティングシステムおよびその方法を提供することである。
【００１９】
【課題を解決するための手段】
図１は、本発明のネットワーク・コンピューティングシステムの原理図である。図１のネットワーク・コンピューティングシステムは、通信ネットワークを介した分散システムにおいて、分散した情報を管理する。
【００２０】
本発明の第１の原理において、クライアント側は、共通通信手段１１と接続管理手段１２を備える。共通通信手段１１は、前記ネットワーク上のクライアントと複数のサーバとの通信を制御し、それらの複数のサーバに共通にアクセスすることができる。接続管理手段１２は、上記クライアントが上記複数のサーバのうちの第１のサーバに接続したとき、接続状態を保持したまま、必要に応じて上記複数のサーバのうちの第２のサーバに接続し、上記クライアントに第２のサーバからのサービスを受けさせる。
【００２１】
共通通信手段１１は、従来のように特定のサーバとの通信を行うものではなく、ネットワーク上のすべてのサーバと共通に通信することができる。例えば、共通通信手段１１の制御により、クライアントが第１のサーバに接続しているときに、第２のサーバに処理を依頼する必要が生じたとする。このとき、接続管理手段１２の制御により、クライアントは第１のサーバとの接続状態を保持したまま、第２のサーバに接続して、第２のサーバからのサービスを受ける。
【００２２】
第１の原理によれば、クライアントは、特定のサーバを経由することなく、直接適切なサーバに接続して、情報提供等のサービスを受けることができる。また、情報の更新や追加に伴うサーバ間の処理の依頼も、クライアントを介して自動的に行うことができる。
【００２３】
また、本発明の第２の原理において、サーバ側は、共通通信手段１３と接続管理手段１４を備える。共通通信手段１３は、上記ネットワーク上の第１のサーバとクライアントとの通信を制御し、そのクライアントからのアクセスを受け付ける。接続管理手段１４は、上記クライアントが第１のサーバとの接続状態を保持したまま、必要に応じて第２のサーバに接続し、第２のサーバからのサービスを受けるためのリンク情報を、上記クライアントに送信する。
【００２４】
共通通信手段１３は、従来のようにサーバ毎に専用のものではなく、ネットワーク上のすべてのサーバに共通している。例えば、共通通信手段１３の制御により、クライアントが第１のサーバに接続しているときに、第２のサーバに処理を依頼する必要が生じたとする。このとき、接続管理手段１４の制御により、第２のサーバにアクセスするためのリンク情報がクライアントに送られる。クライアントは、第１のサーバとの接続状態を保持したまま、受け取ったリンク情報を用いて第２のサーバに接続し、第２のサーバからのサービスを受ける。
【００２５】
第２の原理によれば、クライアントは、接続中のサーバから次のサーバへのリンク情報を受け取ることで、ネットワーク上の任意のサーバにアクセスして、情報提供等のサービスを受けることができる。また、第１の原理と同様に、情報の更新や追加に伴うサーバ間の処理の依頼も、クライアントを介して自動的に行うことができる。
【００２６】
このように、本発明のシステムによれば、基本的にサーバ間で通信する必要がなくなり、サーバ側の通信制御が簡単になる。したがって、大規模な分散システムを比較的容易に構築することが可能となる。
【００２７】
例えば、図１の共通通信手段１１、共通通信手段１３は、それぞれ、次に説明する図２におけるクライアント２１の共通通信モジュール２２、サーバ２３の共通通信モジュール２２に対応する。また、接続管理手段１２、接続管理手段１４は、それぞれ、後述する図４におけるクライアント２１の接続管理モジュール４１、サーバ２３の接続管理モジュール４１に対応する。
本発明の別のネットワーク・コンピューティングシステムは、ネットワークで接続されたクライアントとオブジェクト指向データベースを備えた複数のサーバからなる分散型クライアント・サーバシステムのネットワーク・コンピューティングシステムであり、上記複数のサーバの少なくとも２つの第１のサーバと第２のサーバ上の関連する２つのオブジェクトは、他方のサーバ上に存在する関連するオブジェクトとの間のリンク情報を互いに双方向になるように保持している。クライアントが第１のサーバにアクセスすると、第１のサーバは、第２のサーバ上の関連するオブジェクトのリンク情報を含む第１のサーバのオブジェクトに関するデータをクライアントに送信し、クライアントは、送信された第２のサーバ上の関連するオブジェクトのリンク情報を含む第１のサーバ上のオブジェクトに関する情報を表示するとともに、送信された第２のサーバ上の関連するオブジェクトのリンク情報を表示された情報と関連づけて保持し、表示された情報に対する操作により、関連づけて保持されたリンク情報に基いて第２のサーバをアクセス先に決定して第２のサーバにアクセスする。第２のサーバは、第１のサーバ上の関連するオブジェクトのリンク情報を含む第２のサーバのオブジェクトに関するデータをクライアントに送信し、クライアントは、送信された第１のサーバ上の関連するオブジェクトのリンク情報を含む第２のサーバ上のオブジェクトに関する情報を表示するとともに、送信された第１のサーバ上の関連するオブジェクトのリンク情報を表示された情報と関連づけて保持し、保持された２つのリンク情報を用いて関連する２つのオブジェクト間におけるメソッドの実行要求および実行結果のやり取りを仲介する。
【００２８】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
図２は、本実施形態のネットワーク・コンピューティングシステムの基本アーキテクチャを示す構成図である。図２において、各クライアント２１と各アプリケーションサーバ２３は、ＬＡＮ等の任意の通信ネットワーク２５により結合され、共通の通信モジュール２２を持っている。また、各サーバ２３は、それぞれ、個別のデータベース２４を管理している。
【００２９】
このシステムでは、共通通信モジュール２２を用いて、クライアント２１から任意のサーバ２３に接続することができる。これらのサーバ２３は、例えば、１つの企業内で部門毎に配置される均質な（ホモジニアスな）ものでもよく、それぞれ機能が異なる非均質な（ヘテロジニアスな）ものでもよい。
【００３０】
クライアント２１は、接続を切り替えることによって、各サーバ２３の機能を利用したり、各データベース２４の情報にアクセスしたりするので、原則として、サーバ２３間での通信やデータベース２４間でのレプリケーションは行う必要がない。共通通信モジュール２２は、例えば、ジャバ（ＪＡＶＡ）アプレットなどを用いて、クライアント２１が最初にサーバ２３に接続したときに、クライアント２１にダウンロードすることもできる。
【００３１】
ジャバとは、インタプリタベースのネットワーク対応プログラム言語であり、ジャバアプレットとは、ジャバでコーディングされたプログラムのことである。ジャバアプレットは、どのオペレーティング・システム（ＯＳ）でも実行することができ、例えば、サーバ２３からダウンロードされて、クライアント２１上で実行される。
【００３２】
図３は、クライアント２１またはサーバ２３として用いられる情報処理装置の構成図である。図３の情報処理装置は、ＣＰＵ（中央処理装置）３１、メモリ３２、入力装置３３、出力装置３４、外部記憶装置３５、媒体駆動装置３６、ネットワーク接続装置３７を備え、それらの各装置はバス３８により互いに結合されている。
【００３３】
ＣＰＵ３１は、メモリ３２に格納されたプログラムを実行して、クライアント２１またはサーバ２３の各処理を実現する。メモリ３２としては、例えばＲＯＭ（read only memory）、ＲＡＭ（random access memory）等が用いられる。
【００３４】
入力装置３３は、例えばキーボードやポインティングデバイス等に相当し、ユーザからの指示の入力に用いられる。出力装置３４は、例えば表示装置やプリンタ等に相当し、ユーザへ提示する画面（ビュー）の表示やその他の情報出力に用いられる。
【００３５】
外部記憶装置３５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等であり、プログラムやデータを保存することができる。また、データベース２４としても使用することができる。
【００３６】
媒体駆動装置３６は、可搬記録媒体３９を駆動し、その記憶内容にアクセスする。可搬記録媒体３９としては、メモリカード、フロッピーディスク、ＣＤ−ＲＯＭ（compact disk read only memory ）、光ディスク、光磁気ディスク（magneto-optical disk）等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この可搬記録媒体３９には、データのほかに、クライアント２１またはサーバ２３の各処理を行うプログラムが格納される。
【００３７】
ネットワーク接続装置３７は、ネットワーク２５に接続され、通信に伴うデータ変換等を行う。クライアント２１およびサーバ２３は、ネットワーク接続装置３７を介して、ネットワーク２５から必要な情報を受け取ることができる。
【００３８】
次に、図４から図６までを参照しながら、クライアント２１が複数のサーバ２３を意識することなしに、ネットワーク透過的に必要なサーバ２３に接続する方法を説明する。ここでは、各データベース２４のデータをオブジェクトとして管理し、クライアント２１からサーバ２３へのネットワーク透過的な接続を実現するために、オブジェクト間のリンク情報を利用する。
【００３９】
オブジェクトとは、オブジェクト指向データベースにおける情報の単位であり、データとそれに適用される手続きであるメソッドとの組みを有する。オブジェクトに定義されたメソッドを実行することで、様々な情報処理が実現される。
【００４０】
図４は、クライアント２１が１つのサーバ２３に接続している状態を示している。図４において、クライアント２１およびサーバＡ、Ｂの接続管理モジュール４１は、図２の共通通信モジュール２２に含まれる。また、リンク情報管理モジュール４２を、共通通信モジュール２２に含めておいてもよい。
【００４１】
今、クライアント２１はサーバＡに接続しており、サーバＡ上のオブジェクト４４に関する情報が、ユーザビュー４３として、クライアント２１の画面に表示されている。
【００４２】
オブジェクト４４の論理ＩＤは、“Ａ／／００１”であり、これは、サーバＡにおけるオブジェクトＩＤが“００１”であることを表している。また、オブジェクト４４が属するクラスは“組織”であり、そのアトリビュート（属性）として、組織名“ソフトウェア研究部”、部コード“１１１１”、および電話番号“２２２２”が定義されている。
【００４３】
また、オブジェクト４４には、関連する文書である“研究計画”および“月報”のオブジェクトへのリンクとして、他のサーバＢのオブジェクト４５の論理ＩＤ“Ｂ／／００１”、およびサーバＣのオブジェクト（不図示）の論理ＩＤ“Ｃ／／００２”が定義されている。
【００４４】
このように、各オブジェクトが保持するリンクは、同一のサーバ２３上のオブジェクト間のみならず、異なるサーバ２３上のオブジェクト間にも張ることができるようになっている。このリンクの情報は、クライアント２１がオブジェクトにアクセスしたときに、接続管理モジュール４１を介して、サーバ２３からクライアント２１のリンク情報管理モジュール４２に送られる。
【００４５】
また、メソッドとしては、アトリビュート変更とワークフロー実行が定義されている。ワークフローとは、組織内における作業をモデル化するためのソフトウェアであるワークフローツールに対する操作を表し、ここでは、ユーザによる“月報”の作成作業を指している。
【００４６】
オブジェクト４４が持つこれらの情報は、ユーザビュー４３として、クライアント２１のユーザに提示される。また、リンク情報管理モジュール４２は、研究計画文書へのリンク“Ｂ／／００１”と月報文書へのリンク“Ｃ／／００２”とを、それぞれ、ユーザビュー４３上の詳細ボタン４８、４９と関連付けて保持している。
【００４７】
このユーザビュー４３上で、ユーザが操作を行うことにより、サーバＡのオブジェクト４４のメソッドが実行されたり、他のサーバＢ、Ｃのオブジェクトが自動的にアクセスされたりする。
【００４８】
例えば、表示された部コードを修正して、修正ボタン４６を押す（クリックする）ことによって、その情報がサーバＡに送られ、オブジェクト４４のアトリビュート変更というメソッドが実行される。また、ワークフローの実行ボタン４７を押すことによって、ワークフローツールが起動される。ワークフローツールは、サーバＡ上にあってもよく、他のサーバ２３上にあってもよい。
【００４９】
また、研究計画文書の詳細ボタン４８を押すことによって、図５に示すように、それに関連付けられたオブジェクトへのアクセスが、リンク情報管理モジュール４２に依頼される。この例では、リンク先はサーバＢのオブジェクト４５なので、クライアント２１の接続管理モジュール４１からサーバＢの接続管理モジュール４１に対して接続依頼が行われる。
【００５０】
サーバＢの接続管理モジュール４１は、論理ＩＤ“Ｂ／／００１”からオブジェクト４５へのポインタを求め、クライアント２１との接続を確立する。接続が確立された後、オブジェクト４５に関する表示データ／リンク情報が、クライアント２１に送信される。
【００５１】
これにより、ユーザビュー４３は、図６に示すように変更される。図６のユーザビュー５０においては、オブジェクト４５のクラスを表す“文書”、名称を表す“研究計画”、作成日を表す“１９９６年１２月１０日”、および作成者を表す“田中一郎”が表示されている。
【００５２】
また、リンク情報管理モジュール４２は、オブジェクト４５が所属する組織を表すオブジェクト４４の論理ＩＤを、所属組織の詳細ボタン５１に関連付けられたリンクとして保持する。
【００５３】
ユーザビュー５０において、修正ボタン５１が押されると、オブジェクト４５のアトリビュート変更というメソッドが実行され、参照ボタン５２が押されると、文書参照というメソッドが実行され、修正ボタン５３が押されると、文書修正というメソッドが実行される。
【００５４】
また、詳細ボタン５４が押されると、サーバＡのオブジェクト４４の情報が再び表示される。このように、オブジェクト４４のリンク“Ｂ／／００１”とオブジェクト４５のリンク“Ａ／／００１”は、お互いをリンク先とする相互リンク情報を構成している。
【００５５】
このように、本実施形態のシステムでは、クライアント２１とサーバＡとのセッションと、クライアント２１とサーバＢとのセッションが、１つの接続状態（コンテキスト）として管理される。ここで、接続状態とは、サーバＡ内のオブジェクトとサーバＢ内のオブジェクトとの間で、メソッドの実行要求や実行結果をやり取りすることが可能な通信状態を表す。
【００５６】
サーバＡからのメソッド実行要求を、クライアント２１を介してサーバＢに送ることで、サーバＡとサーバＢの間で通信することなく、クライアント２１がサーバＢからのサービスを受けることができる。このようなことが可能であるのは、クライアント２１側とサーバ２３側のそれぞれの通信モジュール２２が、標準化／共通化されているためである。
【００５７】
また、クライアント２１を介して多数のサーバ２３の間で情報を交換することにより、サーバ２３間での通信を行うことなく、ネットワーク２５上で複雑な処理を実現することができる。
【００５８】
次に、サーバ２３が切り替わったときの接続状態の保持や、サーバ２３間の情報交換をクライアント２１を通じて行う方法について説明する。例えば、あるサーバ２３から別のサーバ２３に切り替わるときに、ユーザＩＤおよびパスワードや現在の状態等の付加的な情報を、新しいサーバ２３に送る例を考える。ここで、現在の状態とは、現在、クライアント２１上でどのようなビューが開かれているか等の処理状況に関する情報を指す。
【００５９】
まず、図７に示すように、従来のクライアント−サーバシステムと同様に、サーバ２３同士が接続して情報を交換する方法が考えられる。しかし、このような方法では、多数のクライアント２１からのアクセスを同時に処理する場合、サーバ２３間でトランザクションが多発し、サーバ２３の処理が煩雑になる。このため、システム全体の性能にも悪影響を及ぼす。
【００６０】
そこで、本実施形態では、図８に示すように、クライアント２１が新しいサーバ２３に新規接続要求を出すときに、サーバ２３間の情報の受け渡しも行うようにする。この方法により、サーバ２３間の複雑な通信処理がなくなり、巨大な分散システムの構築が可能となる。
【００６１】
図９は、ネットワーク・コンピューティングシステムにおけるモジュール構成の例を示している。ただし、図９のシステムにおいては、上述の共通通信モジュール２２および接続管理モジュール４１は省略されており、ネットワーク２５上には、他のサーバ２３を管理する管理サーバ６１が配置されている。
【００６２】
管理サーバ６１は、ディレクトリ情報６６およびクラス定義情報６７を有するデータベース６２に接続され、ディレクトリ情報管理モジュール６３、クラス情報管理モジュール６４、および新サーバ設定モジュール６５を有する。ディレクトリ情報管理モジュール６３は、ディレクトリ情報を管理し、クラス情報管理モジュール６４は、クラス情報を管理し、新サーバ設定モジュール６５は、新しいサーバの設定を行う。
【００６３】
また、ネットワーク２５上に分散した各サーバ２３は、リンク設定モジュール７０、オブジェクト生成モジュール７１、レプリケーションモジュール７２、および各種サービスモジュール７３を含み、データベース２４は、オブジェクト情報６８およびレプリケーション情報６９を有する。
【００６４】
オブジェクト生成モジュール７１は、各オブジェクトを生成し、データベース２４にオブジェクト情報６８として格納する。リンク設定モジュール７０は、生成されたオブジェクト情報６８に、ネットワーク２５上に分散したオブジェクト間のリンクを設定する。レプリケーション情報６９、レプリケーションモジュール７２、および各種サービスモジュール７３については後述することにする。
【００６５】
クライアント２１は、上述のリンク情報管理モジュール４２と、画面上にビューを表示するビューモジュール７４を有し、サーバ２３にアクセスして、そのオブジェクトを参照したり、作成／更新したりする。
【００６６】
管理サーバ６１、サーバ２３、およびクライアント２１の各モジュール自身もオブジェクトとして管理され、データおよびメソッドを持っている。したがって、各モジュールの機能は、対応するメソッドを実行することにより実現される。
【００６７】
サーバ２３上で生成されたオブジェクトは、管理サーバ６１上のディレクトリ情報管理モジュール６３によって、ディレクトリ情報６６を用いて管理される。ディレクトリ情報６６は、ネットワーク２５上における各オブジェクトの所在場所に関する情報を表し、例えば図１０に示すように、各クラス毎に一意のオブジェクト名（またはオブジェクトＩＤ）と、オブジェクトアドレスのペアを保持する。
【００６８】
図１０において、例えば、オブジェクト名として“研究所”を持つオブジェクトアドレスは、研究所サーバ／／１００１であることが記述されている。このアドレスは、オブジェクトの論理ＩＤに相当する。また、オブジェクトアドレスとして、ＷＷＷにおけるＵＲＬ（uiform resource locator ）等を用いてもよい。ここでは、各オブジェクト間のリンク情報は、ディレクトリ情報６６としては管理されていない。
【００６９】
次に、サーバ２３におけるリンク情報のメンテナンスについて説明する。従来は、分散したマシン上のオブジェクト間のリンクは構造化されていなかったが、クラスの概念を導入することで、これらを構造化することができる。
【００７０】
クラスとは、それに属するオブジェクトの属性や、他のオブジェクトとの間のリンクを定義するもので、その情報はクラス定義情報６７に保持される。クラス情報管理モジュール６４は、クラス定義情報６７の作成／更新等を行う。
【００７１】
例えば、図１０のオブジェクト“研究所”のクラス名は“組織”である。また、図１１のクラス定義情報６７の例では、組織クラスと個人クラスの間のリンクが定義されている。これらのリンクは、内部的には、一意な名称またはＩＤで管理される。各リンクに対しては任意の性質を定義することができ、例えば、必ず必要なリンクであることを示す情報や、複数のリンクがあってもよいことを示す情報等が、性質として設定される。
【００７２】
図１１では、組織にはＮ人（Ｎは１以上）の所属員がいて、逆に、ある個人は１つの組織に属するという関係が、リンクとして定義されている。このようなリンクを特に指定したくないオブジェクトは、リンクを持たない特別なルートクラスとして扱うものとする。リンクは片方向のみ定義してもよいが、本実施形態では、図１１のような双方向のリンクまで含めて定義することができる。
【００７３】
このようなクラスの定義のための言語や図形は各種提案されており、クラスには、メソッドを定義することもできる。本発明では、クラスの情報のうちリンクに関する情報が特に重要な役割を果たし、属性やメソッドについては一般のオブジェクトと同様である。
【００７４】
クラスにおいて定義されたリンクを用いることによって、企業の組織のような階層構造を管理することもできる。図１２は、企業活動のモデルをクラス定義を用いて表現した例を示している。
【００７５】
図１２において、Location（場所）クラス８１とServer（サーバ）クラス８２の間、およびLocationクラス８１とOrganization/Project（組織／プロジェクト）クラス８３の間には、Located というリンクが設定され、Serverクラス８２とOrganization/Projectクラス８３の間、Organization/Projectクラス８３とDocument（文書）クラス８４の間、およびDocumentクラス８４とIndividual（個人）クラス８５の間には、BelongToというリンクが設定されている。
【００７６】
また、Organization/Projectクラス８３とIndividualクラス８５の間には、MeｍｂｅｒＯｆというリンクが設定され、Organization/Projectクラス８３とBusiness Function （業務）クラス８６の間には、PurposeOf というリンクが設定されている。
【００７７】
Business Function クラス８６は、いくつかのProcess （プロセス）クラス８７を含み、Process クラス８７とProcess クラス８７の間には、Pre/Postというリンクが設定される。さらに、Process クラス８７とDocumentクラス８４の間には、Input/Outputというリンクが設定され、Process クラス８７とIndividualクラス８５の間には、Charged というリンクが設定されている。
【００７８】
また、Locationクラス８１、Organization/Projectクラス８３には、その内部構造として階層を定義することができ、複数のProcess クラス８７間に階層構造を定義することもできる。このような企業活動のモデルを分散システム上で構築し、管理することによって、業務の効率化や各種の業務アプリケーションの統一的な管理を行うことができる。
【００７９】
次に、具体例を参照しながら、図９のシステムの処理についてより詳細に説明する。以下の実施形態では、主として、ＷＷＷクライアント上で表示される組織オブジェクト情報の例が用いられている。
【００８０】
今、図１３に示すように、ソフト研（ソフトウェア研究部）サーバ９１上の“ソフトウエア研究部”という組織のオブジェクト９３を参照しているクライアント２１が、所属員“山田”の情報を参照するため、そのリンクを指示したとする。このとき、そのリンク情報により、クライアント２１が、“山田”のオブジェクトが存在するソフト開発（ソフトウェア開発部）サーバ９２に接続し、“山田”に関するオブジェクト９４の情報を表示する。ただし、ソフト研サーバ９１とソフト開発サーバ９２は、上述のサーバ２３に対応している。
【００８１】
このようにリンク情報をたどることで、クライアント２１が別のサーバ２３にアクセスして、リンク先のファイルのデータを表示する動作は、従来のＷＷＷシステムでも行われていた。
【００８２】
しかし、本発明では、ただ単にリンク先のオブジェクトのデータを表示するだけでなく、そのメソッドをサーバ２３に実行させることができ、さらに、サーバ２３からクライアント２１へメソッドを通知することもできる。このように、サーバ２３間で自動的にメソッド実行を依頼することで、一連の処理がネットワーク透過的に行われる。異なるサーバ２３へのメソッド実行の依頼は、オブジェクト間のメッセージ送信を用いたメソッド・コールにより実現される。
【００８３】
分散システム環境でのオブジェクト間のメッセージ交換の標準仕様としては、ＯＭＧ（object management group ）のＣＯＲＢＡ（common object request broker architecture ）が知られている。このアーキテクチャでは、クライアントは、データベースや処理プログラムがどこにあるかを意識せずに、ＯＲＢ（object request broker ）に要求を渡せば、ＯＲＢが適切な処理をして結果をクライアントに返してくれる。
【００８４】
ここでは、クライアント２１のリンク情報管理モジュール４２に保持されたリンク情報を利用することで、異なるサーバ２３間にまたがったメソッド・コールが可能となる。
【００８５】
あるサーバ２３に接続しているユーザが新しいオブジェクトを作成する場合は、作成したいオブジェクトのクラスとオブジェクトを保存するサーバ２３とを指定して、そのサーバ２３のオブジェクト生成モジュール７１に処理を依頼する。
【００８６】
このとき、ユーザは、新しいオブジェクトに対するリンクの情報も同時に指定することができる。あるいはまた、オブジェクト生成７１モジュールは、作成されるオブジェクトのクラス情報に基づき、必要なリンク先オブジェクトの指定をユーザに対して要求するようにしてもよい。
【００８７】
こうして、ユーザによるリンクの指定が終わると、クライアント２１は、サーバ２３に対してリンク情報を含むオブジェクト情報を送るとともに、管理サーバ６１に対して、新しいオブジェクトの登録を通知する。また、そのリンク先のオブジェクトに対しては、リンク情報の追加を要求する。
【００８８】
また、既に存在するオブジェクトに対して新たに別のオブジェクトとのリンクを設定することもできる。例えば、組織オブジェクトと文書オブジェクトの間に図１２に示したような関連を付けることもできるし、新たな文書を作成して、組織オブジェクトに対するリンクを張ることもできる。オブジェクトの削除も同様の手順によって実現できる。
図１４は、図１３の例における新規オブジェクトの作成動作を示している。図１４において、例えば、クライアント２１がソフト研サーバ９１にアクセスし、“ソフト研”の組織オブジェクト９３の情報を表示しているとする。図１５は、このときのユーザビューを示している。画面上で、下線が引かれた部分は他のオブジェクトへのリンクを表し、そこをクリックすることによって、該当するオブジェクトの情報が表示される。
【００８９】
この画面上で、ユーザが新規所属員の部分をクリックすると、クライアント２１を介して、ソフト開発サーバ９２に、新規所属員のオブジェクトの生成が依頼される。このとき、クライアント２１の接続管理モジュール４１は、まず、ソフト開発サーバ９２の接続管理モジュール４１から、オブジェクト生成モジュール７１へのリンク情報“ソフト開発サーバ／／オブジェクト生成”を取得し、それをリンク情報管理モジュール４２に格納する。
【００９０】
新規所属員の定義画面９５が表示されると、ユーザは、＊＊＊＊で示される部分を必要に応じて定義し、ＯＫボタン９６をクリックする。すると、クライアント２１は、リンク情報“ソフト開発サーバ／／オブジェクト生成”を用いて、接続中のソフト開発サーバ９２のオブジェクト生成モジュール７１に対して、新規所属員の個人オブジェクトの作成を要求する。
【００９１】
これを受けて、オブジェクト生成モジュール７１は、所属員“山田”の個人オブジェクト９４を生成する。このとき、“山田”の所属組織は“ソフト研”と定義されているので、“ソフト研”の組織オブジェクト９３へのリンクが自動的に設定される。
【００９２】
また、クライアント２１は、起動時に管理サーバ６１のディレクトリ情報管理モジュール６３へのリンク情報“管理サーバ／／ディレクトリ情報管理”を取得して、リンク情報管理モジュール４２に保持しており、それを用いて管理サーバ６１に新たなディレクトリ情報の追加を依頼する。これにより、管理サーバ６１（データベース６２）のディレクトリ情報６６には、オブジェクト９４が新たなオブジェクトとして登録される。
【００９３】
また、個人オブジェクト９４から、ソフト研サーバ９１のオブジェクト９３へのリンク情報“ソフト研サーバ／／ソフト研”を取得して、オブジェクト９３にリンクの追加を依頼する。これにより、オブジェクト９３の所属員の項目には、“山田”の個人オブジェクト９４へのリンクが張られ、クライアント２１の“ソフト研”のオブジェクト９３の画面上にも、新しい所属員名“山田”が追加表示される。
【００９４】
ここでは、新規オブジェクトの作成と、それに伴うディレクトリ情報およびリンクの追加を、クライアント２１主導の処理として実現している。しかし、ディレクトリ情報およびリンクの追加は、クライアント２１を介して、ソフト開発サーバ９２から管理サーバ６１およびソフト研サーバ９１へ依頼する形で実行することも可能である。
【００９５】
また、ユーザが新しいサーバ２３を登録する際には、管理サーバ６１の新サーバ設定モジュール６５に処理を依頼する。依頼された新サーバ設定モジュール６５は、リンク設定モジュール７０、オブジェクト生成モジュール７１等の必要なモジュールを新サーバ２３にロードする。
【００９６】
サーバ追加時には、新サーバ設定モジュール６５により、図１２に示した特殊なオブジェクトクラスであるサーバクラス８２のオブジェクトも作成される。ネットワーク２５上におけるそのサーバ２３のアドレスをこのオブジェクトに格納することで、サーバ２３が管理サーバ６１に登録される。アドレスとしては、ＩＰ（internet protocol ）アドレスやＵＲＬ等の任意のものが用いられる。
【００９７】
新サーバ２３が登録された時点では、そのサーバ２３上にはオブジェクトは存在しないが、管理サーバ６１を通して、分散環境上のすべてのオブジェクトにアクセスすることができる。
【００９８】
次に、図９の各種サービスモジュール７３により提供されるユーザ管理、検索等のサービスについて説明する。このサービスモジュール７３を設けることで、上述した個人オブジェクトをユーザ管理に利用することができる。
【００９９】
新規ユーザが登録される際に、ユーザ管理用の個人オブジェクトを作成し、そこでパスワード等のユーザ情報を保持する。この個人オブジェクトは管理サーバ６１で管理され、ユーザが個人オブジェクトの存在しない別のサーバ２３からシステムにログインしたとき、管理サーバ６１がそのオブジェクトにアクセスして、ユーザ認証等を行う。
【０１００】
また、オブジェクトとリンクの情報を、ユーザがシステムにログインした際のログイン画面に利用することができる。例えば、個人オブジェクトからは、図１２に示したように、組織／プロジェクト、文書、プロセスへのリンクが定義されている。そこで、ログイン画面で、そのユーザの属する組織やプロジェクト、ユーザの文書、割り当てられているプロセスへのリンクを表示することができる。
【０１０１】
図１６は、このようなログイン画面の例を示している。この画面上で、ユーザが“ソフト研”をクリックすると、“ソフト研”の組織オブジェクト９３の情報が表示され、“ブラウザ開発”または“サーバ開発”をクリックすると、対応するプロジェクトオブジェクトの情報が表示される。また、“部会資料”または“開発仕様書”をクリックすると、対応する文書オブジェクトの情報が表示される。
【０１０２】
さらに、サービスモジュール７３は、検索サービスも提供する。オブジェクト間のリンクは、図１２のようなクラス間の関係として構成されているので、それをたどることで、ある条件を満たすようなオブジェクトを検索することができる。例えば、組織／プロジェクトクラス８３と文書クラス８４の間のリンクを参照して、“ソフト研”に属している“議事録”をすべて検索して表示することができる。
【０１０３】
従来のＷＷＷシステムの検索ツールは総当たりの検索を行っているため、検索処理にかなりの時間を要している。これに対して、本発明では、クラス間の関係に基づくインテリジェントな検索が可能であり、検索処理が効率よく行われる。
【０１０４】
以上説明した実施形態では、一般に、ネットワーク２５上のすべてのオブジェクトを管理サーバ６１に登録すると、そのデータ量は膨大になる。そこで、オブジェクトの一部だけを管理サーバ６１に登録することにより、ディレクトリ情報６６の巨大化による処理効率の劣化を防ぐことを考える。例えば、クラス情報に従って、比較的上位に位置するようなオブジェクトのみを管理サーバ６１に登録しておき、それより下位のオブジェクトにはリンクをたどることで到達するようにする。
【０１０５】
図１２の例では、例えば、サーバクラス８２、組織／プロジェクトクラス８３、および個人クラス８５のオブジェクトのみを、管理サーバ６１に登録する。文書クラス８４のオブジェクトは、一般に非常に多くなるが、これには組織／プロジェクトクラス８３や個人クラス８５のオブジェクトから、リンクをたどってアクセスすることができる。
【０１０６】
さらに、管理サーバ６１によるディレクトリ管理自体をなくしてしまうことも可能である。この場合は、図９のレプリケーションモジュール７２が、サーバクラス８２のオブジェクトの情報のみを、すべてのサーバ２３間でレプリケーションする。
【０１０７】
レプリケートされたクラスやオブジェクトの情報は、レプリケーション情報６９として各サーバ２３のデータベース２４に格納される。これにより、ネットワーク２５上における各サーバ２３の所在場所の情報が、すべてのサーバ２３によって共有される。
【０１０８】
また、各オブジェクトには、それが存在するサーバ２３のサーバオジェクトとの間のリンクを持たせておく。これにより、サーバオブジェクトを経由して、各オブジェクトから他のすべてのオブジェクトにアクセスすることが可能となる。
【０１０９】
ネットワーク２５上において、サーバ２３の追加はデータ更新ほど頻繁には発生しないので、サーバオジェクトのレプリケーションも、それほど頻繁に行う必要がない。したがって、このレプリケーション処理を直接サーバ２３間で行っても、システム全体の効率が大きく低下することはない。
【０１１０】
また、管理サーバ６１の負荷が重いときには、ディレクトリ情報６６の一部または全部を、各サーバ２３へレプリケートすることによって、各オブジェクトへのアクセスを高速化することができる。この処理もまた、レプリケーションモジュール７２により行われ、レプリケートされた情報は、レプリケーション情報６９としてデータベース２４に格納される。
【０１１１】
各オブジェクトについても、同様のレプリケーションが可能であり、それにより、アクセスが高速化される。この場合、原本となるマスターオブジェクトとそのレプリカ（コピー）のオブジェクトの間にはリンクが張られる。
【０１１２】
そして、クライアント２１からレプリカの情報の変更が要求されると、自動的にそのマスターオブジェクトを持つサーバ２３へ接続が切り替わり、マスターオブジェクトが更新される。その後、レプリケーション機能により、マスターオブジェクトの変更が、そのレプリカである他のオブジェクトに反映される。
【０１１３】
次に、図１７および図１８を参照しながら、ネットワーク・コンピューティングシステムの動作をより詳細に説明する。
図１７は、ネットワーク・コンピューティングシステムの一般的な動作を示すフローチャートである。まず、クライアント２１のユーザがボタンを押す等のユーザインタラクションが生じると（ステップＳ１１）、必要に応じて、ビューモジュール７４がサーバ２３上のオブジェクトに対し、メソッドの実行を要求する（ステップＳ１２）。このとき、要求先のオブジェクトの論理ＩＤ（サーバ名を含む）は、リンク情報管理モジュール４２から検索される。
【０１１４】
次に、クライアント２１の接続管理モジュール４１は、その論理ＩＤを参照して、要求先のサーバ２３に接続しているかどうかを判定し（ステップＳ１３）、そのサーバ２３に接続していなければ、接続処理を行ってメソッド実行の要求を通知する（ステップＳ１４）。
【０１１５】
次に、サーバ２３の接続管理モジュール４１は、オブジェクト管理テーブルを参照して、論理ＩＤをもとに要求先のオブジェクトを検索する（ステップＳ１５）。オブジェクト管理テーブルは、各オブジェクトの論理ＩＤをオブジェクトポインタに変換するための情報を持ち、例えば、接続管理モジュール４１内に保持されている。こうして、検索されたオブジェクトが、要求されたメソッドを実行する。
【０１１６】
ここで、メソッド実行中に他のオブジェクトのメソッドの実行要求があるかどうかがチェックされ（ステップＳ１６）、そのような要求があれば、接続中のクライアント２１に対して、そのメソッドの実行を依頼する（ステップＳ１７）。これにより、ステップＳ１６以降の動作が繰り返される。
【０１１７】
メソッド実行中に他のメソッドの実行要求がなく、メソッド実行が終了すると、サーバ２３から関連するクライアント２１に対して、各種の通知や情報送信が実行される（ステップＳ１８）。このとき、メソッド実行により変更／追加されたオブジェクトの情報等がクライアント２１に送信される。
【０１１８】
クライアント２１のビューモジュール７４は、受け取った情報を用いてビューを変更し（ステップＳ１９）、必要に応じて、リンク情報管理モジュール４２のリンク情報も変更／追加する（ステップＳ２０）。こうして、変更された画面上で、新たなユーザインタラクションが生じると（ステップＳ１１）、ステップＳ１２以降の動作が繰り返される。
【０１１９】
また、図１８は、新規オブジェクトの作成処理のフローチャートである。まず、ユーザがクライアント２１のビュー上で、図１４に示したような新規オブジェクトの作成を指示する（ステップＳ２１）。このとき、クライアント２１の接続管理モジュール４１は、そのオブジェクトを格納すべきサーバ２３のアドレス情報を持っていなければ、接続中のサーバ２３または管理サーバ６１からそれを取得する（ステップＳ２２）。
【０１２０】
次に、接続管理モジュール４１は、オブジェクトを格納すべきサーバ２３のオブジェクト生成モジュール７１に対して、必要なリンク情報を送り、オブジェクト格納メソッドの実行を要求する（ステップＳ２３）。これを受けて、オブジェクト生成モジュール７１は、リンク情報を含む新規オブジェクトを生成して、データベース２４に格納し、その論理ＩＤをクライアント２１に返す。
【０１２１】
次に、クライアント２１は、作成された新規オブジェクトに対してリンクを持つような他のオブジェクトに、新規オブジェクトの論理ＩＤを渡して、リンク追加メソッドの実行を要求する（ステップＳ２４）。この要求を受けたオブジェクトは、その論理ＩＤを新たなリンクとして追加する。
【０１２２】
また、必要に応じて、クライアント２１は、管理サーバ６１のディレクトリ情報管理モジュール６３に対して、新規オブジェクトの登録メソッドの実行を要求する（ステップＳ２５）。これを受けて、ディレクトリ情報管理モジュール６３は、新規オブジェクトのクラス名、オブジェクト名、アドレス情報等をディレクトリ情報６６に追加し、一連の処理が終了する。
【０１２３】
このように、本発明においては、必要に応じてサーバ側からクライアント側にリンク情報を送ることにより、クライアントを介したメソッド・コールが行われる。したがって、サーバ間で必要となる通信についても、クライアント主導で行うことができ、従来のような複雑な通信制御が不要となる。
【０１２４】
実際、ネットワーク上のサーバのデータ更新は、大抵の場合、クライアントのアクセスにより発生することが多い。このとき、サーバは既にクライアントと接続しているわけであるから、新たに他のサーバと接続を確立するよりも、接続中のクライアントを介して通信する方が合理的であるといえる。本発明は、このようなクライアント主導のサーバ間通信の枠組みを与えている。
【０１２５】
【発明の効果】
本発明によれば、分散システム上での情報の追加、更新、および情報間のリンクの設定等が容易に行えるようになる。したがって、これまで難しかった大きな分散情報システムや企業モデルの構築が可能になる。
【図面の簡単な説明】
【図１】本発明のネットワーク・コンピューティングシステムの原理図である。
【図２】ネットワーク・コンピューティングシステムの構成図である。
【図３】情報処理装置の構成図である。
【図４】サーバへの接続時の状態を示す図である。
【図５】他のサーバのオブジェクトへのアクセスを示す図である。
【図６】他のサーバへの接続確立後の状態を示す図である。
【図７】第１のサーバ間の情報交換を示す図である。
【図８】第２のサーバ間の情報交換を示す図である。
【図９】モジュール構成を示す図である。
【図１０】ディレクトリ情報の例を示す図である。
【図１１】クラス定義情報の例を示す図である。
【図１２】企業モデルのクラス定義の例を示す図である。
【図１３】クライアントによるオブジェクト情報の参照動作を示す図である。
【図１４】オブジェクト情報の作成動作を示す図である。
【図１５】クライアント画面の例を示す図である。
【図１６】ログイン画面の例を示す図である。
【図１７】ネットワーク・コンピューティングの動作フローチャートである。
【図１８】オブジェクトの新規作成処理のフローチャートである。
【図１９】従来のクライアント−サーバシステムの構成図である。
【図２０】従来の分散クライアント−サーバシステムの構成図である。
【図２１】ＷＷＷシステムの動作フローチャートである。
【符号の説明】
１、２１  クライアント
２、３、４  専用通信モジュール
５、２３、９１、９２  アプリケーションサーバ
６、２４、６２  データベース
１１、１３  共通通信手段
１２、１４  接続管理手段
２２  共通通信モジュール
２５  ネットワーク
３１  ＣＰＵ
３２  メモリ
３３  入力装置
３４  出力装置
３５  外部記憶装置
３６  媒体駆動装置
３７  ネットワーク接続装置
３８  バス
３９  可搬記録媒体
４１  接続管理モジュール
４２  リンク情報管理モジュール
４３、５０、９５  ユーザビュー
４４、４５、９３、９４  オブジェクト
４６、４７、４８、４９、５１、５２、５３、５４、９６  ボタン
６１  管理サーバ
６３  ディレクトリ情報管理モジュール
６４  クラス情報管理モジュール
６５  新サーバ設定モジュール
６６  ディレクトリ情報
６７  クラス定義情報
６８  オブジェクト情報
６９  レプリケーション情報
７０  リンク設定モジュール
７１  オブジェクト生成モジュール
７２  レプリケーションモジュール
７３  各種サービスモジュール
７４  ビューモジュール
８１、８２、８３、８４、８５、８６、８７  クラス
【図１】
0003652834.tif 000002
【図２】
0003652834.tif 000003
【図３】
0003652834.tif 000004
【図４】
0003652834.tif 000005
【図５】
0003652834.tif 000006
【図６】
0003652834.tif 000007
【図７】
0003652834.tif 000008
【図８】
0003652834.tif 000009
【図９】
0003652834.tif 000010
【図１０】
0003652834.tif 000011
【図１１】
0003652834.tif 000012
【図１２】
0003652834.tif 000013
【図１３】
0003652834.tif 000014
【図１４】
0003652834.tif 000015
【図１５】
0003652834.tif 000016
【図１６】
0003652834.tif 000017
【図１７】
0003652834.tif 000018
【図１８】
0003652834.tif 000019
【図１９】
0003652834.tif 000020
【図２０】
0003652834.tif 000021
【図２１】
0003652834.tif 000022