(57)【要約】【課題】  分散システムの図形書き換えシステムにおいてユーザに判り易いシステムを提供する。【解決手段】  本発明は、サーバにおいて、データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を記憶手段に保持することにより管理し、クライアント装置からアクセスされると、記憶手段に管理している領域から当該クライアント装置用の領域を割り当てる。【選択図】  図１
2005242905.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント装置と１つのサーバからなり、多人数参加型の分散図形書き換えシステムにおける図形書き換え方法において、
前記サーバにおいて、
データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を記憶手段に保持することにより管理し、
前記クライアント装置からアクセスされると、前記記憶手段に管理している前記領域から該クライアント装置用の領域を割り当てることを特徴とする図形書き換え方法。
【請求項２】
前記サーバが、前記クライアント装置に前記領域を割り当てる際に、
前記クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与する請求項１記載の図形書き換え方法。
【請求項３】
複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおける図形書き換え方法において、
前記複数のサーバが、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域のうち、予め割り当てられた領域を有し、該領域が連結しているサーバ同士をグループ化することにより階層構造を有している場合に、
前記クライアント装置が、あるサーバにアクセスすることにより、該サーバが割り当てられている領域の座標を取得し、該領域の座標と該サーバのアドレスを組にしてサーバ情報記憶手段に格納しておき、
前記クライアント装置が、前記サーバ情報記憶手段を参照して、自分の知りたい領域に最も近い領域を有するサーバにアクセスし、
前記クライアント装置からアクセスされた前記サーバは、該クライアント装置から取得した要求に対応するサーバのアドレス及び領域を、前記階層構造と該階層構造における領域の座標を管理するリゾルバに問い合わせ、取得したサーバのアドレスと領域の座標を該クライアント装置に転送し、
前記クライアント装置は、前記サーバから取得した領域の座標及び該サーバのアドレスを前記サーバ情報記憶手段に格納する、ことを特徴とする図形書き換え方法。
【請求項４】
前記サーバにおいて、前記クライアント装置に対して、前記領域の座標を転送する際に、
前記クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与する請求項３記載の図形書き換え方法。
【請求項５】
複数のクライアント装置と１つのサーバからなる多人数参加型の分散図形書き換えシステムにおけるサーバであって、
データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を保持する領域記憶手段と、
前記クライアント装置からアクセスされると、前記領域記憶手段に管理している前記領域から該クライアント装置用の領域を割り当てる領域割り当て手段と、を有することを特徴とするサーバ。
【請求項６】
前記領域割り当て手段は、
前記クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与する手段を含む請求項５記載のサーバ。
【請求項７】
複数のクライアント装置と複数のサーバからなる多人数参加型の分散図形書き換えシステムにおけるサーバであって、
不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域のうち、予め割り当てられた領域を記憶する領域記憶手段と、
前記割り当てられた領域が連結しているサーバ同士をグループ化した階層構造を記憶する階層構造記憶手段と、
前記クライアント装置からアクセスされた場合に、該クライアント装置から取得した要求に対応するサーバのアドレス及び領域を、前記階層構造と該階層構造における領域の座標を管理するリゾルバに問い合わせ、取得したサーバのアドレスと領域の座標を該クライアント装置に転送する領域検索手段と、を有することを特徴とするサーバ。
【請求項８】
前記領域検索手段は、
前記クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与する手段を含む請求項７記載のサーバ。
【請求項９】
複数のクライアント装置と複数のサーバからなる多人数参加型の分散図形書き換えシステムにおけるクライアント装置であって、
あるサーバにアクセスすることにより取得した領域の座標と該領域を管理するサーバのアドレスを組にして格納するサーバ情報記憶手段と、
前記サーバ情報記憶手段を参照して、自分の知りたい領域に最も近い領域を有するサーバにアクセスする領域要求手段と、を有することを特徴とするクライアント装置。
【請求項１０】
複数のクライアント装置と１つのサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、該サーバに実行させる図形書き換えサーバプログラムであって、
前記クライアント装置からアクセスされると、データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を保持する領域記憶手段に管理している領域から該クライアント装置用の領域を割り当てる領域割り当てステップを実行させることを特徴とする図形書き換えサーバプログラム。
【請求項１１】
前記領域割り当てステップは、
前記クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与するステップを含む請求項１０記載の図形書き換えサーバプログラム。
【請求項１２】
複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、サーバに実行させる図形書き換えサーバプログラムであって、
前記クライアント装置からアクセスされると、該クライアント装置から取得した要求に対応するサーバのアドレス及び領域を、前記階層構造と該階層構造における領域の座標を管理するリゾルバに問い合わせ、取得したサーバのアドレスと領域の座標を該クライアント装置に転送する領域検索ステップを実行させることを特徴とする図形書き換えサーバプログラム。
【請求項１３】
前記サーバの前記領域検索ステップは、
前記クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与するステップを含む請求項１２記載の図形書き換えサーバプログラム。
【請求項１４】
複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、該クライアント装置に実行させる図形書き換えクライアントプログラムであって、
サーバから取得した領域の座標と該領域を管理するサーバのアドレスを組にして格納するサーバ情報記憶手段を参照して、自分の知りたい領域に最も近い領域を有するサーバにアクセスする領域要求ステップと、
前記領域要求ステップにより、前記サーバから取得した領域の座標と該サーバのアドレスを前記サーバ情報記憶手段に格納するステップと、を実行させることを特徴とする図形書き換えクライアントプログラム。
【請求項１５】
複数のクライアント装置と１つのサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、該サーバに実行させる図形書き換えサーバプログラムを格納した記憶媒体であって、
前記クライアント装置からアクセスされると、データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を保持する領域記憶手段に管理している領域から該クライアント装置用の領域を割り当てる領域割り当てステップを実行させるプログラムを格納したことを特徴とする図形書き換えサーバプログラムを格納した記憶媒体。
【請求項１６】
前記領域割り当てステップは、
前記クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与するステップを含む請求項１５記載の図形書き換えサーバプログラムを格納した記憶媒体。
【請求項１７】
複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、サーバに実行させる図形書き換えサーバプログラムを格納した記憶媒体であって、
前記クライアント装置からアクセスされると、該クライアント装置から取得した要求に対応するサーバのアドレス及び領域を、前記階層構造と該階層構造における領域の座標を管理するリゾルバに問い合わせ、取得したサーバのアドレスと領域の座標を該クライアント装置に転送する領域検索ステップを実行させるプログラムを格納したことを特徴とする図形書き換えサーバプログラムを格納した記憶媒体。
【請求項１８】
前記サーバの前記領域検索ステップは、
前記クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与するステップを含む請求項１７記載の図形書き換えサーバプログラムを格納した記憶媒体。
【請求項１９】
複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、該クライアント装置に実行させる図形書き換えクライアントプログラムを格納した記憶媒体であって、
サーバから取得した領域の座標と該領域を管理するサーバのアドレスを組にして格納するサーバ情報記憶手段を参照して、自分の知りたい領域に最も近い領域を有するサーバにアクセスする領域要求ステップと、
前記領域要求ステップにより、前記サーバから取得した領域の座標と該サーバのアドレスを前記サーバ情報記憶手段に格納するステップと、を実行させるプログラムを格納したことを特徴とする図形書き換えクライアントプログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形書き換え方法及びサーバ及びクライアント装置及び図形書き換えサーバプログラム及び図形書き換えクライアントプログラム及び図形書き換えサーバプログラムを格納した記憶媒体及び図形書き換えクライアントプログラムを格納した記憶媒体に係り、特に、多人数参加型分散アプリケーションをエンドユーザが簡単に構築できるようにするための図形書き換え方法及びサーバ及びクライアント装置及び図形書き換えサーバプログラム及び図形書き換えクライアントプログラム及び図形書き換えサーバプログラムを格納した記憶媒体及び図形書き換えクライアントプログラムを格納した記憶媒体に関する。
【背景技術】
【０００２】
従来、電子メール、チャット、ｗｅｂなどの分散アプリケーションは、それら個別にプロトコルを設計し、そのプロトコルに基づいてアプリケーションを開発している。
【０００３】
また、従来の分散システムは、データと計算資源とを独立させて実現されており、ホスト間でメッセージを送受信することにより計算が実行されていく（例えば、非特許文献１，２参照）。
【非特許文献１】SMTP RFC821
【非特許文献２】HTTP. RFC2616
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の方法では、電子メール、チャット、ｗｅｂ毎に個々のプロトコルが必要となり、エンドユーザにとっては分かりにくいものとなっている。
【０００５】
また、従来の分散システムでは、ホスト間でのメッセージの送受信により計算を行う方法は、効率は良いがメッセージの流れが見えないために、エンドユーザが理解することは困難である。
【０００６】
本発明は、上記の点に鑑みなされたもので、データ資源の分割と、計算資源の分割を同時に行うことを可能とし、エンドユーザにも直感的に理解し易い図形書き換え方法及びサーバ及びクライアント装置及び図形書き換えサーバプログラム及び図形書き換えクライアントプログラム及び図形書き換えサーバプログラムを格納した記憶媒体及び図形書き換えクライアントプログラムを格納した記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
図１は、本発明の原理を説明するための図である。
【０００８】
本発明は複数のクライアント装置と１つのサーバからなり、多人数参加型の分散図形書き換えシステムにおける図形書き換え方法において、
サーバにおいて、
データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を記憶手段に保持することにより管理し(ステップ１)、
クライアント装置からアクセスされると(ステップ２)、記憶手段に管理している領域から該クライアント装置用の領域を割り当てる（ステップ３）。
【０００９】
また、本発明は、サーバが、クライアント装置に領域を割り当てる際に、クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を前記領域に付与する。
【００１０】
本発明は、複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおける図形書き換え方法において、
複数のサーバが、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域のうち、予め割り当てられた領域を有し、該領域が連結しているサーバ同士をグループ化することにより階層構造を有している場合に、
クライアント装置が、あるサーバにアクセスすることにより、該サーバが割り当てられている領域の座標を取得し、該領域の座標と該サーバのアドレスを組にしてサーバ情報記憶手段に格納しておき、
クライアント装置が、サーバ情報記憶手段を参照して、自分の知りたい領域に最も近い領域を有するサーバにアクセスし、
クライアント装置からアクセスされたサーバは、該クライアント装置から取得した要求に対応するサーバのアドレス及び領域を、階層構造と該階層構造における領域の座標を管理するリゾルバに問い合わせ、取得したサーバのアドレスと領域の座標を該クライアント装置に転送し、
クライアント装置は、サーバから取得した領域の座標及び該サーバのアドレスをサーバ情報記憶手段に格納する。
【００１１】
また、本発明は、サーバにおいて、クライアント装置に対して、領域の座標を転送する際に、クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を領域に付与する。
【００１２】
図２は、本発明の原理構成図である。
【００１３】
本発明は、複数のクライアント装置と１つのサーバからなる多人数参加型の分散図形書き換えシステムにおけるサーバ１００であって、
データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を保持する領域記憶手段１３０と、
クライアント装置２００からアクセスされると、領域記憶手段１３０に管理している領域から該クライアント装置２００用の領域を割り当てる領域割り当て手段１２０と、を有する。
【００１４】
また、上記の領域割り当て手段１２０は、
当該クライアント装置２００だけに読む、書く、または、プログラムの起動を許可する属性を領域に付与する手段を含む。
【００１５】
本発明は、複数のクライアント装置と複数のサーバからなる多人数参加型の分散図形書き換えシステムにおけるサーバであって、
不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域のうち、予め割り当てられた領域を記憶する領域記憶手段と、
割り当てられた領域が連結しているサーバ同士をグループ化した階層構造を記憶する階層構造記憶手段と、
クライアント装置からアクセスされた場合に、該クライアント装置から取得した要求に対応するサーバのアドレス及び領域を、階層構造と該階層構造における領域の座標を管理するリゾルバに問い合わせ、取得したサーバのアドレスと領域の座標を該クライアント装置に転送する領域検索手段と、を有する。
【００１６】
また、上記の領域検索手段は、クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を領域に付与する手段を含む。
【００１７】
本発明は、複数のクライアント装置と複数のサーバからなる多人数参加型の分散図形書き換えシステムにおけるクライアント装置であって、
あるサーバにアクセスすることにより取得した領域の座標と該領域を管理するサーバのアドレスを組にして格納するサーバ情報記憶手段と、
サーバ情報記憶手段を参照して、自分の知りたい領域に最も近い領域を有するサーバにアクセスする領域要求手段と、を有する。
【００１８】
本発明は、複数のクライアント装置と１つのサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、該サーバに実行させる図形書き換えサーバプログラムであって、
クライアント装置からアクセスされると、データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を保持する領域記憶手段に管理している領域から該クライアント装置用の領域を割り当てる領域割り当てステップを実行させる。
【００１９】
また、上記の領域割り当てステップは、クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を領域に付与するステップを含む。
【００２０】
本発明は、複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、サーバに実行させる図形書き換えサーバプログラムであって、
クライアント装置からアクセスされると、該クライアント装置から取得した要求に対応するサーバのアドレス及び領域を、階層構造と該階層構造における領域の座標を管理するリゾルバに問い合わせ、取得したサーバのアドレスと領域の座標を該クライアント装置に転送する領域検索ステップを実行させる。
【００２１】
また、上記のサーバの領域検索ステップは、クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を領域に付与するステップを含む。
【００２２】
本発明は、複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、該クライアント装置に実行させる図形書き換えクライアントプログラムであって、
サーバから取得した領域の座標と該領域を管理するサーバのアドレスを組にして格納するサーバ情報記憶手段を参照して、自分の知りたい領域に最も近い領域を有するサーバにアクセスする領域要求ステップと、
領域要求ステップにより、サーバから取得した領域の座標と該サーバのアドレスをサーバ情報記憶手段に格納するステップと、を実行させる。
【００２３】
本発明は、複数のクライアント装置と１つのサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、該サーバに実行させる図形書き換えサーバプログラムを格納した記憶媒体であって、
クライアント装置からアクセスされると、データ及び計算機能を有する、不定長整数による座標または、相対座標により表現される無限に広い２次元空間の領域を保持する領域記憶手段に管理している領域から該クライアント装置用の領域を割り当てる領域割り当てステップを実行させるプログラムを格納した記憶媒体である。
【００２４】
また、上記の領域割り当てステップは、クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を領域に付与するステップを含む。
【００２５】
本発明は、複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、サーバに実行させる図形書き換えサーバプログラムを格納した記憶媒体であって、
クライアント装置からアクセスされると、該クライアント装置から取得した要求に対応するサーバのアドレス及び領域を、階層構造と該階層構造における領域の座標を管理するリゾルバに問い合わせ、取得したサーバのアドレスと領域の座標を該クライアント装置に転送する領域検索ステップを実行させるプログラムを格納した記憶媒体である。
【００２６】
また、上記のサーバの領域検索ステップは、クライアント装置だけに読む、書く、または、プログラムの起動を許可する属性を領域に付与するステップを含む。
【００２７】
本発明は、複数のクライアント装置と複数のサーバからなり、多人数参加型の分散図形書き換えシステムにおいて、該クライアント装置に実行させる図形書き換えクライアントプログラムを格納した記憶媒体であって、
サーバから取得した領域の座標と該領域を管理するサーバのアドレスを組にして格納するサーバ情報記憶手段を参照して、自分の知りたい領域に最も近い領域を有するサーバにアクセスする領域要求ステップと、
領域要求ステップにより、サーバから取得した領域の座標と該サーバのアドレスをサーバ情報記憶手段に格納するステップと、を実行させるプログラムを格納した記憶媒体である。
【発明の効果】
【００２８】
上記のように、本発明では、無限に広い空間とその空間上で動作する図形書き換えシステムにより、空間を分割するだけでデータ資源の分割と計算資源の分割を同時に行うことができる。また、従来のアルゴリズムに加えて、座標の情報があるので、当該情報を用いることにより、負荷分散、最適化配置などのアルゴリズムを簡単に、効率よく行うことができる。
【発明を実施するための最良の形態】
【００２９】
以下、図面と共に本発明の実施の形態を説明する。
【００３０】
［第１の実施の形態］
本実施の形態では、複数のクライアント装置２００と１つのサーバからなるシステムについて説明する。
【００３１】
図３は、本発明の第１の実施の形態におけるシステム構成図である。
【００３２】
同図に示すシステムは、１つのサーバ１００と複数のクライアント装置２００から構成される。
【００３３】
サーバ１００は、１台のホストまたは、複数のクラスタによりホストであるものとする。サーバ１００は、クライアント装置２００とデータを送受信する送受信部１１０、図形を編集する図形編集部１２０、無限に広い２次元空間の領域（平面Ｓ）を保持するデータベースである図形記憶部１３０、及び、平面上にある特別な図形をルールとして解釈し、その図形に従って図形を書き換える図形書き換えプログラム１４０を有する。なお、ここで、図形記憶部１３０に記憶される無限に広い２次空間とは、不定長整数による座標または相対座標によって表現される領域である。
【００３４】
クライアント装置２００は、サーバ１００とのデータの送受信を行う送受信部２３０と、ユーザとの間で入出力を行うインタフェースを有する入出力部２１０と、送受信部２３０から取得したデータとユーザからの指示によりディスプレイ上の図形を制御する図形管理部２２０とを有する。なお、図示しないが、クライアント装置２００には、スクロールする機能及び他の領域にジャンプする機能（ポインタを経由して移動）を備えるものとする。
【００３５】
送受信部２３０は、入出力部２１０から取得した、ユーザが図形をドラッグした、図形をゴミ箱アイコンへドラッグした、図形アイコンをドラッグした、マウスクリック等の入力情報と、これらの入力情報に伴う図形編集情報をサーバ１００に送信する。ここで、図形編集情報とは、図形をドラッグした場合にはその図形の位置を変更する、図形をゴミ箱アイコンへドラッグした場合にはその図形を削除する、図形アイコンをドラッグした場合にはその図形を生成する、等の情報を指す。また、送受信部２３０は、サーバ１００から割り当てられた領域（領域の座標）及び図形の配置情報等を受信する。
【００３６】
上記の構成における動作を説明する。
【００３７】
図４は、本発明の第１の実施の形態における動作のシーケンスチャートであり、図５は、動作の概念図である。以下では、クライアント装置２００１とサーバ１００との間の動作を説明するが、他のクライアント装置２００２〜２００ｎも同様の動作を行うものとする。
【００３８】
ステップ１００）  クライアント装置２００は、サーバ１００にアクセスする。
【００３９】
ステップ１０１）  サーバ１００は、クライアント装置２００に対して、図形記憶部１３０上の当該サーバが管理している領域（無限大の２次元空間）から当該クライアント装置２００に割り当てる。但し、実質上は、クライアント装置２００がサーバ１００にアクセスすることにより、自クライアント装置２００に割り当てられている領域を参照するものである。このとき、サーバ１００は、割り当てる領域にアクセスを制限する属性を領域に付与することが可能である。
【００４０】
ステップ１０２）  クライアント装置２００は、ログインすることにより、サーバ１００から割り当てられた領域（平面Ｓ）を取得し、記憶部２４０に格納する。このとき、クライアント装置２００は、記憶部２４０において、平面Ｓ上の座標Ｘ，Ｙを管理する。また、ユーザが見ることのできる図形の情報をサーバ１００から受け取る。
【００４１】
ステップ１０３）  クライアント装置２００上で生じた図形の編集情報（図形をドラッグした場合、その図形の位置を変更する、図形をごみ箱アイコンへドラッグした場合、その図形を削除する、図形アイコンをドラッグした場合、その図形を生成するなど）や、マウスクリックの情報（図形上でクリックした）をサーバに伝える。
【００４２】
ステップ１０４）  サーバ１００は、クライアント装置２００からの編集情報によって、図形を編集し、クライアント装置２００からのマウスクリック情報によって、図形書き換えプログラム１４０を起動し、図形を書き換える。
【００４３】
ステップ１０５）  図形書き換えプログラム１４０は、平面上にある特別な図形をルールとして解釈し、そのルールに従って図形を書き換える。書き換えの結果、図形書き換えプログラム１４０は、新たにマウスクリックを生成することがある。このクリックによりさらに図形書き換えを引き起こすので、その結果、連続した書き換えをすることができる。これは、クライアント装置２００において、ユーザが平面の領域を見ている／見ていないにかかわらずサーバ１００側で図形の書き換えを行う。
【００４４】
ステップ１０６）  サーバ１００は、図形書き換えされた情報をクライアント装置２００に送信する。
【００４５】
［第２の実施の形態］
本実施の形態では、複数のクライアント装置と、複数のサーバから構成されるシステムについて説明する。
【００４６】
図６は、本発明の第２の実施の形態におけるシステム構成を示す。同図において、図３と同一構成部分には同一符号を付す。
【００４７】
図６に示す構成は、サーバ１００にリゾルバ１５０と階層構造記憶部１６０及びメモリ１７０を付加し、トクライアント装置２００にメモリ２５０を付加した構成である。
【００４８】
サーバ１００のメモリ１７０とクライアント装置２００のメモリ２５０は、取得した領域の座標と、領域毎のサーバのアドレスを保持するものである。
【００４９】
サーバ１００のメモリ１７０とクライアント装置２００のメモリ２５０は、図７に示すようなサーバ情報キャシュを有する。サーバ情報キャッシュは、領域の座標と当該領域を管理するサーバのアドレスからなる。これらの情報は、サーバ１００または、クライアント装置２００からいずれかのサーバ１００にアクセスすることにより取得する。
【００５０】
階層構造記憶部１６０は、それぞれのサーバ１００が管理する領域について、領域が連結しているサーバ同士をグループ化し、それを階層化することで、図８に示すようなサーバ木を予め作成し、管理している。
【００５１】
リゾルバ１５０は、サーバ１００が、クライアント装置２００からアクセスされた場合に、当該クライアント装置２００が要求している領域が自サーバに割り当てられている領域がない場合に、送受信部１１０から問い合わせを受ける。リゾルバ１５０は、この問い合わせを受けると、階層構造記憶部１６０を参照して、問い合わせ元のサーバ１００の木構造上の子サーバまたは、親サーバのアドレスを返す。これにより、リゾルバ１５０から取得したサーバアドレスに、クライアント装置２００からの要求を転送する。
【００５２】
図９は、本発明の第２の実施の形態におけるリゾルバの動作を示すフローチャートである。
【００５３】
リゾルバ１５０は、サーバ１００の送受信部１１０からの問い合わせを受け付ける（ステップ３０１）。問い合わせの領域が問い合わせ元のサーバ１００または、クライアント装置２００で管理している領域に含まれるかを判定し（ステップ３０２）、含まれる場合には当該サーバ１００または、クライアント装置２００のアドレスを問い合わせ元に返却する（ステップ３０３）。含まれない場合には、当該サーバ１００の子サーバが管理している領域に含まれるかを判定し（ステップ３０４）、含まれる場合には、当該子サーバに問い合わせを転送する（ステップ３０５）。これにより、子サーバは、自サーバのアドレスと当該サーバが管理している領域の座標を問い合わせ元のサーバ１００に返却する。当該アドレスと領域の座標を取得したサーバ１００は、これらの情報をクライアント装置２００に送信する。
【００５４】
子サーバが管理している領域に含まれない場合には、親サーバに問い合わせを転送する（ステップ３０６）。これにより、当該親サーバは、自サーバのアドレスと当該サーバが管理している領域の座標を問い合わせ元のサーバ１００に返却する。当該アドレスと領域の座標を取得したサーバ１００は、これらの情報をクライアント装置２００に送信する。
【００５５】
上記のような処理をリゾルバ１５０で行うことにより、当該サーバ１００でリゾルバ１５０から取得した領域と当該領域を管理しているサーバのアドレスを取得し、メモリ２５０に格納する。また、当該サーバ１００においても、リゾルバ１５０から取得したサーバのアドレス及び領域をメモリ１７０に格納する。
【００５６】
図１０は、本発明の第２の実施の形態における一連の動作のシーケンスチャートであり、図１１は、当該動作の概念図である。
【００５７】
ステップ４０１）  予め、ルートサーバ（図示せず）が管理している無限に広い領域を、個々のサーバに割り当て、領域が連結しているサーバ同士をグループ化し、それを階層構造とすることでサーバの木を生成し、階層構造記憶部１６０に格納しておく。
【００５８】
ステップ４０２）  最初にクライアント装置２００があるサーバ１００にアクセスすると、当該サーバ１００は、デフォルトとして、当該サーバ１００のアドレスと、ステップ４０１で予めルートサーバから割り当てられている領域の座標をクライアント装置２００に返す。
【００５９】
ステップ４０３）  クライアント装置２００は、取得したサーバのアドレスと、領域の座標をメモリ２５０のサーバ情報キャッシュに格納する。
【００６０】
ステップ４０４）  ユーザは、自分が表示したい領域があった場合に、まず、クライアント装置２００では、メモリ２５０を調べ、その領域をもっているサーバが見つかれば、当該サーバに問い合わせる。メモリ２５０にその領域を持っているサーバがなければ、クライアント装置２００は、メモリ２５０のサーバ情報キャッシュを参照し、知りたい領域に最も近い領域を持っているサーバに対して知りたい領域への問い合わせを行う。
【００６１】
ステップ４０５）  クライアント装置２００から問い合わせを受けたサーバ１００は、メモリ１７０を参照し、問い合わせのあった領域が自サーバ内にあれば、その領域の座標をクライアント装置２００に通知し、ない場合には、前述の図９に示す方法によりリゾルバ１５０にアクセスし、クライアント装置２００に領域の座標及びサーバのアドレスを通知する。
【００６２】
ステップ４０６）  クライアント装置２００は、取得した領域の座標とサーバのアドレスをメモリ２５０に格納する。
【００６３】
ステップ４０７）  以降の処理は、前述の第１の実施の形態のステップ１０３以降の処理と同様である。
【実施例】
【００６４】
以下、本発明の実施例を図面と共に説明する。
【００６５】
サーバ１００は、無限に広い２次元空間があり、当該空間にはデータを保持する機能と、計算によってデータを書き換える機能を有する。なお、プログラムもデータとしてその上に表現されている。プログラムは、例えば、「Viscuit」のような書き換え言語が考えられるが、データをテキストや数値などにして、テキストで表現されたプログラム言語であってもよい。
【００６６】
ユーザは、画面上で割り当てられた空間の一部を見ることができる。その際、見えている領域の縮尺は予め固定されており、その領域をスクロールすることで移動する。また、ユーザは、見えている領域に対して、データとプログラムを編集することができ、プログラムを起動することができる。プログラムが起動されると、その実行結果としてデータが書き換わる。例えば、プログラムが「Viscuit」である場合には、アニメーションを見ることができる。プログラムはユーザが見ている／見ていないにかかわらず、起動されたらそのプログラムは正しく停止するまで動作し続ける。
【００６７】
空間上の任意の２点を結ぶポインタを用意する。ユーザが見ている領域はこのポインタを経由して双方向に移動することができる。その結果、ポインタを張り巡らせることで、紙をｗｅｂのようなハイパーテキストとして使うことが可能となる。
【００６８】
書き込み・読出しが許可されるシート、つまり読み書きの許可を与える属性がある。これを領域にかぶせることで、特定の領域を個人用、グループ用に使うことができる。この仕組みとポインタを組み合わせることで、例えば、図１２に示すような個人間のコミュニケーション（電子メール）に相当する機能が実現できる。
【００６９】
また、負荷分散アルゴリズムを簡単にするために、単位面積当たりの計算量には上限を設ける。これは、ユーザが見ている画面内で動くアニメーションの複雑度には上限があるということである。この制約の導入により分散サーバによる実装を簡略化できる。
【００７０】
次に、上記のようなシステムの実装について説明する。
【００７１】
実装は、インターネット上で行われる。複数のサーバ１００とユーザ毎のクライアント装置２００から構成される。サーバ１００間は、対等なｔｃｐ／ｉｐ接続、サーバ１００−クライアント装置２００巻は、クライアント装置２００からサーバ１００へのｔｃｐ／ｉｐ接続を必要とする。
【００７２】
ルートサーバは、他の全てのプログラム(クライアントとサーバ)から最初に接続されるサーバである。初期状態では、ルートサーバは、全ての空間を管理している。
【００７３】
サーバを新しく生成した場合には、別のサーバに接続して、そのサーバが管理している領域の一部を分けてもらう。システムが初期状態の場合には、ルートサーバに接続し、領域を分けてもらうが、サーバが増えるにしたがって、子、孫のサーバから領域を分割してもらうことも可能である。領域分割は、一つのサーバの負荷が上昇（データが増えた、計算が多くなった、それをアクセスしているクライアント装置の数が増えた）した場合にも行われる。このように分割されたサーバは領域の包含関係に従って、サーバの木構造をとることになる。
【００７４】
リゾルバ１５０は、ある座標を管理しているサーバ１００のアドレスを得るための、システム全体（システム内のサーバ毎に配置される）データベース動作するアルゴリズムである。このアルゴリズムの初期状態では、ルートサーバから順に木構造を探索していく。それらの結果はクライアント装置２００のメモリにキャッシュされ、次回からは当該キャッシュを利用して高速にサーバ１００にアクセスすることが可能になる。
【００７５】
次に、動作の流れを説明する。
【００７６】
１）  クライアント装置２００があるサーバ１００にアクセスすることにより、当該サーバ１００から領域の座標(０，０)を取得する。これは、ｗｅｂにおけるポータルサイトのように扱うことができる。ここには、様々なポインタがコメント付で置かれ、このポインタをユーザがクリックすることで、サブカテゴリの領域へ移動できる。これを繰り返して所望の情報が記述されている領域へ辿り着く。
【００７７】
２）  最初に、ユーザがアカウントを作成したときに、土地（領域）が割り当てられる。割り当てられた土地には、デフォルトで自分だけが書き込める属性が付与されている。ここに様々な情報を書き込んでそれを公開する場合には、公開する領域に対して、読出しを許可する属性を付与し、どこかのリンク集の領域にコメントと共にポインタを配置する。これにより、他のユーザがポインタを辿って、当該領域を見に来ることが可能となる。
【００７８】
３）  閉じた範囲でコミュニケーションをする場合には、その範囲の人だけが読み書きできる領域を作り、お互いの土地から、その領域へのポインタを張ればよい。同じ時期に両者がその領域に入れば、チャットのように使用することができ、領域が変化した場合に知らせてくれる仕組みを用意すれば、メールのような非同期なコミュニケーションツールとして使用することができる。ここで「領域が変化した場合に知らせてくれる仕組み」とは、例えば、クライアント装置２００がサーバ１００上の特定の領域を常に監視していて、そこが変化した場合に、ユーザに知らせるという仕組みをいう。
【００７９】
これは、領域にはユーザのアクセスを制限する属性を付与することができ、それは、サーバ１００内の情報として保持されている。クライアント装置２００からある領域へのアクセスがあった場合に、サーバ１００では、そのクライアント装置２００を使用しているユーザの情報に基づいて、読出し、書込みの許可を判定し、その結果に従って、クライアント装置２００に返却する。
【００８０】
また、上記の実施の形態及び実施例におけるサーバ１００及びクライアント装置２００の動作をプログラムとして構築し、サーバまたはクライアント装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００８１】
また、構築されたプログラムをサーバまたはクライアント装置として利用されるコンピュータに接続されるハードディスクや、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールすることも可能である。
【００８２】
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【産業上の利用可能性】
【００８３】
本発明は、多人数参加型のアプリケーションへの適用が可能である。
【図面の簡単な説明】
【００８４】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の第１の実施の形態におけるシステム構成図である。
【図４】本発明の第１の実施の形態における動作のシーケンスチャートである。
【図５】本発明の第１の実施の形態における動作の概念図（単一サーバの場合）でる。
【図６】本発明の第２の実施の形態におけるシステム構成図である。
【図７】本発明の第２の実施の形態におけるクライアント装置のメモリの例である。
【図８】本発明の第２の実施の形態におけるサーバ間の領域の階層の木構造を示す図である。
【図９】本発明の第２の実施の形態におけるリゾルバの動作のフローチャートである。
【図１０】本発明の第２の実施の形態における一連の動作のシーケンスチャートである。
【図１１】本発明の第２の実施の形態における動作の概念図(複数サーバの場合)である。
【図１２】本発明音一実施例の個人間コミュニケーションを示す図である。
【符号の説明】
【００８５】
１００  サーバ
１１０  送受信部
１２０  領域割り当て手段、図形編集部
１３０  領域記憶手段、図形記憶部
１４０  図形書き換えプログラム
１５０  リゾルバ
１６０  階層構造記憶部
１７０  メモリ
２００  クライアント装置
２１０  入出力部
２２０  図形管理部
２３０  送受信部
２５０  メモリ
【図１】
2005242905.tif 000003
【図２】
2005242905.tif 000004
【図３】
2005242905.tif 000005
【図４】
2005242905.tif 000006
【図５】
2005242905.tif 000007
【図６】
2005242905.tif 000008
【図７】
2005242905.tif 000009
【図８】
2005242905.tif 000010
【図９】
2005242905.tif 000011
【図１０】
2005242905.tif 000012
【図１１】
2005242905.tif 000013
【図１２】
2005242905.tif 000014