JP2001506020A - ネットワークにおけるプログラムモジュール及びパラメータファイル - Google Patents

ネットワークにおけるプログラムモジュール及びパラメータファイル

Info

Publication number
JP2001506020A
JP2001506020A JP50585398A JP50585398A JP2001506020A JP 2001506020 A JP2001506020 A JP 2001506020A JP 50585398 A JP50585398 A JP 50585398A JP 50585398 A JP50585398 A JP 50585398A JP 2001506020 A JP2001506020 A JP 2001506020A
Authority
JP
Japan
Prior art keywords
window
cell
class
file
program module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP50585398A
Other languages
English (en)
Inventor
大介 田渕
渉 庄司
一郎 中島
Original Assignee
エスエフデイ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/680,722 external-priority patent/US5764908A/en
Priority claimed from US08/679,055 external-priority patent/US6031527A/en
Priority claimed from US08/679,202 external-priority patent/US5974469A/en
Priority claimed from US08/680,049 external-priority patent/US5877761A/en
Application filed by エスエフデイ株式会社 filed Critical エスエフデイ株式会社
Publication of JP2001506020A publication Critical patent/JP2001506020A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/34Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
    • G09G5/346Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling for systems having a bit-mapped display memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 アプリケーションは、関連するパラメータファイルで定められる動作を行う実行セルから構成される。ローカルパラメータファイルは実行セルに対応つけられており、各実行セルは対応するアイコンがユーザによってクリックされた時に起動される。このセルは、他のパラメータファイルをダウンロードし、対応する実行セルに対応付ける。そのランセルの動作は、ダウンロードされたパラメータファイルにより決定される。ダウンロードされたパラメータファイルは、別個のURLキャッシュに格納される。従って、アプリケーションは、分散されたパラメータファイルにより制御される。

Description

【発明の詳細な説明】 発明の名称 ネットワークにおけるプログラムモジュール及びパラメータファイル 技術分野 この発明は、コンピュータシステムとネットワークシステムに関する。 背景技術 マイクロコンピュータは、8ビットの単なるおもちゃからビジネスの強力な道 具へと進化し、現在では、ほとんどの大規模、中規模の企業が、少なくとも1つ のコンピュータをビジネスに使用している。ここ数年、大量生産により、マイク ロコンピュータの価格は急激に下落し、今日では、多くの家庭や小規模な企業で も手が届くようになっている。 コンピュータを有効に利用するために、多くの企業では、マイクロコンピュー タをローカルエリアネットワークに接続している。今日では、広域通信ネットワ ークに接続し、各地のマイクロコンピュータ間で情報を共有している企業もある 。このことから、これらの企業は、コンピュータ間で情報を共有することで、シ ステム全体の生産性が向上することを知っている。 しかし、各企業が所有するコンピュータは、大抵は、互いにリンクされていな い。その上、各家庭や小規模な企業が所有するコンピュータは、独立のデスクト ップ機であることが多い。そのため、これらのコンピュータ間で情報が共有され ることはない。「インターネット」と呼ばれる広域ネットワークの登場によって この状況は変化し、これらのすべての機器が電子的に接続され得るようになった 。 インターネットは、強力な広域通信ネットワークを形成するために、1960 年代の研究から成長した。長い間、インターネットは、大学や国立の研究所の研 究員が情報を共有するために利用していた。インターネットの存在がより広く知 られるようになるにつれ、大企業の従業員など、学術・研究関連以外の人々が、 インターネットを使って電子メールのやりとりをするようになった。1980年 代後半には、ワールド・ワイド・ウェブ(ウェブ)と呼ばれる広域情報システム が開発された。ウェブは、情報を発信する広域のハイパーメディアであり、膨大 なドキュメントにアクセスするための検索システムである。 開発当初は、ウェブは、学術・研究関連の人々にのみ知られ、利用されていた 。技術的知識の乏しい人々にとっては、ウェブにアクセスするための機器は、簡 単に利用できるものではなかった。インターネットの発達により、「ブラウザ」 と呼ばれるソフトウェアが登場した。ブラウザは、単純だが優れたグラフィック インタフェースである。ユーザは、ブラウザを用いることにより、ウェブのドキ ュメントを検索できるようになり、簡単なコマンドとポイント・アンド・クリッ クのようなよく知られた手段でウェブを利用できるようになった。ブラウザは、 技術的な知識を必要とせず、使いやすいものであったため、インターネットが大 衆へと広まっていった。 ウェブ上でアクセスされ、読まれるドキュメントは、ハイパーテキスト・マー クアップ・ランゲージ(HTML)という言語で作成されている。HTMLドキ ュメントは、ウェブブラウザで解釈されると、テキスト、イメージ、その他のマ ルチメディアコンテンツを表示することができる。しかし、HTMLドキュメン ト自体は、基本テキストに特徴を付加する所定フォーマットのタグを有するAS CIIコードのテキストドキュメントにすぎない。そのため、HTMLドキュメ ントによって作成されるマルチメディアのプレゼンテーション(コンピュータデ ィスプレイ等)の構成は、単純なものとなる。 また、HTMLを作成するのが困難であるという点も問題となる。上述の通り 、HTMLドキュメントはASCIIコードで作成されたドキュメントであるが 、最終的な表示は、マルチメディアでのプレゼンテーションである。ASCII ドキュメントをマルチメディアプレゼンテーションと結びつけることは簡単では ない。HTMLドキュメントの作成を助けるツールは存在するが、使用法が簡単 ではないため、十分な知識を持った者しかHTMLドキュメントを作成すること が できない。そのため、多くのユーザは、他のウェブブラウザへ情報を提供するこ とはできず、情報を受け取るのみである。 最近では、基本的なウェブの構造を改良しようとする動きがある。ウェブが開 発された当初の目的は、ドキュメントを共有することであった。インターネット 上でプログラムも共有できることが以前から指摘されているが、このシステムに おいては、インターネットを介して、第1のコンピュータから第2のコンピュー タへ、プログラムコードを送信することができる。第2のコンピュータは、受け 取ったプログラムコードを実行し、ブラウザにより作成されたディスプレイを変 化させることができる。この結果、ウェブは、ドキュメントを共有する受動的な システムから、情報を処理する能動的なシステムへと変化することになる。Ja vaやActiveXがこの一例である。Javaは、有名なプログラム言語で ある「C++」のバリエーションであるが、ActiveXは、マイクロソフト 社のObject Linking and Embeddingを基にしてい る。 プログラムコードを共有するというのは優れたアイディアであるが、Java やActiveX等の方向性は、多くのユーザにインターネットの資源を公開し ようという動きに反している。Java及びActiveXは、経験を積んだプ ログラマがコンピュータプログラムを作成することを必要とする。これらのプロ グラムを書くことは、HTML文書を書くよりも難しい。このため、ユーザは、 インターネットにインタラクティブに参加しにくくなる。 また、今日の市場では、多くのコンピュータが、サウンドカード、高解像度ビ デオカード、カラーモニタ、と共に売られており、「マルチメディアコンピュー タ」と呼ばれている。また、これらの付属品を使用するためのコンピュータアプ リケーションは、マルチメディアアプリケーションと呼ばれている。 マルチメディアアプリケーションは、グラフィックイメージやアイコンを基礎 に置いている。ユーザのインタフェースは、通常、グラフィック・ユーザ・イン タフェース(GUI)と呼ばれる。これとは対照的に、従来のインタフェースは 、 1行コマンドを基礎に置いている。それに比べると、マルチメディアアプリケー ションの開発はより困難となる。これは、GUIにおいては、多数のコンピュー タリソースを調整しなければならないことが一因である。例えば、コマンドライ ンベースのインタフェースはキーボードのみをモニタすればよいのに対し、GU Iにおいては、キーボードとマウスの両方をモニタしなければならない。また、 コマンドラインベースのインタフェースでは、ユーザは、コマンドを行単位でし か入力できなかったが、GUIにおいては、コンピュータスクリーン上のアイコ ンをどこでもクリックすることができる。さらに、コマンドラインベースのイン タフェースにおいては、テキストしか生成できないのに対し、GUIにおいては 、グラフィックイメージ、動画及び/又はオーディオサウンドを出力できる。こ のれらのことから理解できるように、マルチメディアアプリケーションの作成は 、簡単なことではない。 マルチメディアアプリケーションの作成が困難であるとは言っても、グラフィ ック環境は、プログラミングの経験がほとんど、あるいは、全くない人にも、ア プリケーションを作成する気を起こさせる。例えば、グラフィックデザイン、動 画の作成、作曲、等の経験がある人であれば、マルチメディアコンピュータ環境 で自分の技術や経験を生かすことに興味を持つだろう。今のところ、ユーザがア プリケーションを開発するためのオーサリングソフトウェアの数は少ない。マク ロメディア社のDirector5.0がその例であるが、扱いにくく、表現の 種類も限られている。そのため、簡単に使用できて、柔軟性に富んだマルチメデ ィアソフトの開発が必要となっている。 ディジタルコンピュータが実用化された当初、コンピュータのメモリの容量は 非常に小さく、コンピュータプログラムのサイズも非常に小さかった。そのため 、良いプログラムを書くためには、多くの機能を小さなメモリの中にできる限り 詰め込まねばならず、各機能を実行するコードもまた、できる限り小さなものと しなければならなかった。メモリの容量が増大するにつれ、コンピュータプログ ラムのサイズを小さくすることに力を注ぐ必要はなくなった。その代わり、効率 的 で欠陥のない大きなアプリケーションを作成する方法を開発することに重点が移 り、モジュラーソフトウェア作成の有効性が認識されるようになった。なぜなら 、大きなプログラムを一つ作成するよりも、小さなプログラムをいくつか作成し 、それらを適当な方法でまとめる方が、簡単だからである。この方法は、伝統的 な手続指向のプログラム環境と、近時のオブジェクト指向のプログラム環境との 双方において用いられている。 モジュラープログラミングにおいては、複雑なシステムは、複数のサブシステ ムに分割される。各サブシステムは、プログラムモジュールと結びついている。 サブシステムは、それ自身、下位のプログラムモジュールと結びついた下位のサ ブシステムに分割される。これらのプログラムモジュールは、他のプログラムモ ジュールと通信することができる独立のモジュールであることが理想的である。 そのため、プログラマは、チームを組んでプログラミングを行い、各プログラマ は、少数のプログラムモジュールに注意を払えばよい。つまり、モジュラープロ グラミングは、共同作業に適していると言える。さらに、各プログラムモジュー ルのデバッグや保守が比較的簡単である。これは、不完全な又は不満足なプログ ラムモジュールは分離と修正ができ、システムの残りの部分に与える影響は全く ないか、最小限に抑えることができる。 複数のプログラムモジュールを組み合わせて大きなアプリケーションを形成す るためには、各モジュールは、相互に通信を行うことができなければならない。 モジュラープログラミングをうまく用いるためには、プログラムモジュール間の 通信をうまく行うことが重要である。この通信がうまくいかないと、モジュール は、有効な作業を行う代わりに、通信のために多くのコンピュータ資源を必要と し、プログラマは、プログラム間の通信を処理するコードを作成するために多大 な時間を要することになる。 スクロールは、グラフィックやテキストイメージを操作するための必要不可欠 な手段である。グラフィックやテキストイメージを表示するウィンドウがそのイ メージの全体のサイズよりも小さい場合に、スクロールの必要が生じる。つまり 、ウィンドウはイメージの一部分を表示するに過ぎず、イメージの他の部分を表 示するために、ユーザはイメージを「スクロール」する。一般に、ウインドウは 、上下、左右等のユーザがスクロールする方向を指示する1本又は2本の「スク ロールバー」を備える。ユーザは、スクロールする方向を示すため、スクロール バーエリア内のカーソルの位置を定める。カーソルの位置は、ユーザが手に持っ たマウス、又は他の指示装置によって定められる。カーソルの位置は、オペレー ティングシステムや、グラフィック、又は、テキストイメージを制御するワード プロセッサプログラム等のアプリケーションソフトウェアに通知される。多くの 表示装置上のイメージは、定期的に、例えば、1秒に60回、リフレッシュされ (書き換えられ)なければならない。スクロール中、書き換えられたイメージは 、グラフィックやテキストイメージの移動を連続的に示す。オペレーティングシ ステムやアプリケーションソフトウェアは、カーソル位置によって、連続的なイ メージをどのように描くかを決定する。 スクロールにおける重要な要素は、最小送り量、つまり、各スクロール処理で 移動する最小画素数である。それは、従来の技術においては、行単位及び文字単 位であった。そのため、最小送り量は粗く、各スクロールにおける移動画素数が 多かった。その結果、テキストイメージのスクロールは断続的であり、見にくい ものであった。 発明の概要 従って、この発明は、ユーザがインターネットにインタラクティブにアクセス できるようにすることを第1の目的とする。 また、この発明は、使いやすく、柔軟性に富んだマルチメディアオーサリング ソフトを提供することを第2の目的とする。 この発明は、プログラムモジュール間の通信を効率よく行うことを第3の目的 とする。 さらに、この発明は、テキストイメージを滑らかにスクロールすることができ るスクロールを提供することを第4の目的とする。 第1の目的は、新しいプログラミング構造である「ディジタル・セル・テクノ ロジー」(DCT)をディジタル・データ・ネットワークに適用することにより 達成できる。DCTにおいては、アプリケーションは、伝統的な階層構造によら ない、セルと呼ばれる特別なプログラムモジュールにより形成されている。この 発明では、アプリケーションを形成し、特別な構造を持つセル中で用いられるマ ルチメディアファイルを、データネットワークに接続された他のコンピュータか ら入手することができる。その結果、アプリケーション中で用いられるマルチメ ディアファイルの数は、飛躍的に増加する。 ディジタル・セル・テクノロジーにおける各セルは、一以上のパラメータファ イル(DNAファイル)と結びついている。これらのファイルは、自身と結びつ いたセルの特徴を示すパラメータを有している。セルの一例において、DNAフ ァイルはセル相互の通信を可能とする手段を提供する。この発明は、これらのD NAファイルをデータネットワークに接続されている様々なコンピュータに分散 して配置させることに関する。 この発明の第2の目的は、既存のプログラムモジュールを用いて、経験の少な いユーザが、複雑なマルチメディアプリケーションを開発することができる方法 を提供することにより達成される。 これらのプログラムモジュールは、ユーザやソフト開発者によって作成される 。各プログラムモジュールはディスプレイウィンドウを備えている。また、希望 の機能を実行するために、他のプログラムモジュールと通信を行うこともできる 。ユーザは、アプリケーションを形成するために適当なプログラムモジュールを 選択することができる。また、ユーザは、プログラムモジュールと結びついた各 ウィンドウを自由な配置で構成することができる。これらのウィンドウの表示上 の 関係は、ディスプレイウィンドウ間の様々な親子関係を決めることによって定ま る。この関係により、ウィンドウは、あらかじめ定められた通りに表示される。 プログラムモジュールは、起動されると、指定された機能を実行するために相互 に通信を行うが、各ウィンドウは、あらかじめ定められた表示上の関係を保って いる。そのため、アプリケーションが、プログラミング経験のほとんどないユー ザが選択し、配列したモジュールではなく、しっかりと結びつけられたプログラ ムモジュールを備えている印象を与える。 この発明の第3の目的は、オブジェクト指向のプログラミングにおける、プロ グラミングの各クラス間の新しい通信方法を提供することにより達成される。こ の方法においては、通信を管理するために、専用の通信制御クラスが設けられる 。各クラス間の通信は、直接行うことはできず、すべて、この通信制御クラスを 介して行われる。そのため、各クラスは、他のクラスとの通信を行うために、ク ラス間の階層的な関係の履歴を維持する必要がない。 上述のクラス(制御クラスを含む)は、グループ化されてプログラムモジュー ル(プログラムセル、とも言う)を形成する。プログラムモジュールは、さらに グループ化されてアプリケーションを形成している。上述の方法によれば、各モ ジュール間の通信が可能となる。特に、モジュール間の通信を制御及び管理する ために、専用の通信制御モジュールが用いられる。モジュールは、通信を直接行 うように設計されておらず、すべての通信は、通信制御モジュールを介して行わ れる。この方法は、さらに、(1)異なるアプリケーション間の通信、(2)デ ータネットワーク内の異なったコンピュータのプログラムモジュール間の通信、 を管理するために拡張しうる。 この発明の第4の目的は、テキストイメージを行単位又は文字単位ではなく、 画素単位でスクロールすることを可能とすることにより実現される。画素は、表 示の最小単位である。よって、この方法によれば、最も質の高いテキストイメー ジのスクロールを可能とする。 この発明は、ユーザに使用されているアプリケーションによって生成されるウ ィンドウ(以下、アプリケーションウィンドウ、という)と結びついた子ウィン ドウの生成を含む。テキストイメージは、アプリケーションウィンドウの代わり に、子ウィンドウに書き込まれる(表示される)。子ウィンドウはアプリケーシ ョンウィンドウよりも大きい。しかし、コンピュータのスクリーンには、子ウィ ンドウは、アプリケーションウィンドウと重なり合う一部分しか表示されない。 ユーザがスクロールを指示すれば、スクロールの方向に、子ウィンドウが画素単 位で動く。その結果、ユーザは、画素単位でテキストイメージがスクロールする のを見ることができる。1行分又は1文字分、完全にスクロールされると、子ウ ィンドウは自分自身を消去し、元の位置に戻る。それと同時に、テキストイメー ジは、画素を基準としたスクロールに適合するように、子ウィンドウ上で1行又 は1文字分スクロールされる。子ウィンドウは、再び、画素単位で動く。よって 、ユーザは、最小単位で滑らかにスクロールするテキストイメージを見ることが できる。 この発明の上述及びその他の特徴及び効果は、添付図面と以下の詳細な説明か ら理解できる。 図面の簡単な説明 図1は、この発明を実現するために使用されるDCT(ディジタルセルテクノ ロジ)又はボスレス構造の概略図である。 図2は、ディジタルセルテクノロジを用いたアプリケーションの構造を説明す るための図である。 図3は、セルCAに備えられたDNAファイルの論理構成を示すブロック図で ある。 図4は、セルCAの論理構成を示すブロック図である。 図5は、DCTに基づくアプリケーションを実行するコンピュータシステムの ブロック図である。 図6は、この発明で用いられるコンピュータネットワークを示す図である。 図7は、この発明のプログラムセルと結びついた複数のウィンドウを示す図で ある。 図8は、この発明のDNAファイルの構造を示す図である。 図9は、この発明におけるキャッシュの構造を示すブロック図である。 図10は、この発明における分散可能なDNAファイルを示す概略図である。 図11は、この発明の方法を用いたアプリケーションを作成する動作を説明す るための図である。 図12は、この発明の他の方法を用いたアプリケーションを作成する動作を説 明するための図である。 図13は、図11に示したアプリケーションを実現するために使用される処理 のフローチャートである。 図14は、図12に示したアプリケーションを実現するために使用される処理 のフローチャートである。 図15は、この発明に従って、独立した2つのウィンドウが親子関係を形成す る過程を説明するためのフローチャートである。 図16Aは、この発明において用いられるウィンドウの構成を示す図である。 図16Bは、この発明において用いられる親ウィンドウと、子ウィンドウとの 関係を示す図である。 図17は、従来のクラスを用いたプログラミングの構成を示す図である。 図18は、この発明におけるプログラミングの構成を示す図である。 図19は、この発明における通信制御クラスの構成を示す図である。 図20は、図18に示す構成の応用例を示した図である。 図21は、この発明によるプログラミングの構成を用いたマルチコンピュータ アプリケーションを示す図である。 図22A及び図22Bは、従来の技術におけるスクロールの例を示す。 図23は、この発明におけるアプリケーションウィンドウと子ウィンドウとの 関係を示す。 図24は、この発明のスクロール処理を示すフローチャートである。 発明の好適実施例 まず、ディジタルセルテクノロジ(DST)について説明する。この技術は、 国際出願PCT/JP96/00821、「コンピュータプログラム用のボスレ スアーキテクチャ及びディジタルセルテクノロジ」の公報に開示されている。こ の国際出願の内容は、参考のため、この明細書に取り込むものとする。この技術 を、この発明の理解に必要な部分について概略的に説明する。 ディジタルセルテクノロジの1つの特徴は、ボスレス構造にあり、各プログラ ムモジュール(又はセル)は、他のプログラムモジュールと同一の位置にある。 プログラムの総合的な動作を制御するモジュールは存在しない。 図1は、この発明のボスレスアーキテクチャに基づくアプリケーション160 の概略図である。アプリケーション160はモジュール162〜165のような 多数のプログラムモジュールを含む。各プログラムモジュール(以下、セル)は 、他のセルと階層的に同一レベルである。セルは、履歴もリンケージ情報も記憶 される必要のない方法で互いにリンクされる。各リンクは独立している。例えば 、各リンクは同時に起動される必要はない。各リンクは直接的である。即ち、2 つのセルは、1つ又は複数の中間のリンクを用いることなく、直接リンクされ得 る。例えば、セル162、164は、線167、168を用いて中間のセルを通 過する代わりに、線166を用いて直接リンクされうる。アプリケーションは、 セルを選択し、直接リンクを用いることで形成される。 図2は、この発明のボスレスアーキテクチャを用いたアプリケーション200 の構造を示す。アプリケーション200は、RAMにロードされ、動作する複数 のセルC1〜C5を含む。各セルはDNAファイルと呼ばれる関連付けされたフ ァイルD1〜D5を備えており、それらDNAファイルはセルの情報を所持して いる。DNAという用語は、セルとファイルとの関係が、細胞とそのDNA(遺 伝子)との間の生物学上の関係に類似するために、使用されている。所望の時間 に、セルC1は、デジタルシフト(digital shifting fun ction(以下、DSF))プロトコルを用いて、セルC2へステートメント (DSFステートメント)を送信することができる。セルC2は、これらのステ ートメントを実行する。セル、DNAファイル及びDSFプロトコルの詳しい構 造について、以下に説明する。 アプリケーション200において、セルC2はステートメントの発生元に関す る情報を保持しない。即ち、プロセス間の通信履歴を記録する必要はない。従っ て、セルC1がセルC2へのDSFステートメントの書き込みを一旦完了させる と、セルC1とセルC2との間のリンクは存在しなくなる。セルC2は、ステー トメント実行中、そのステートメントの発生元を知らない。セルC1がセルC2 に新たなステートメントの組を送信することにより、セルC1は後に再びセルC 2と交信可能となる。しかし、この交信は、前の交信とは関係なく、新たなDS Fステートメントが送信されると終了する。 各セルは、どのセルに対してもDSFステートメントを送信することができる 。従って、セルC1はセルC3へステートメントを送信することもできる。同様 に、セルC2はセルC4へステートメントを送信することができ、セルC4はセ ルC1へステートメントを送信することができる。また、セルC3もセルC1へ ステートメントを送信することができる。 この実施例において、セルC1とセルC2はセルC4の管理者ではない。例え ば、セルC4がDSFステートメントを実行している間、セルC1とセルC2と の間やセルC2とセルC4との間に如何なるリンクも保持する必要はない。アプ リケーション200においては、セルC4は、どのセルに対しても実行結果を報 告する義務はない。DSFステートメントが送信される時間内でだけ、リンクは 保持される。更に、セルC1によるセルC2へのステートメントの書き込みは、 セルC2によるセルC4へのステートメントの書き込みとは無関係である。加え てセルC4はただ単にステートメントを実行するだけであり、そのステートメン トがどこから来たかについては関与しない。 この実施の形態のアーキテクチャにおいては、セルC2がセルC1により書き 込まれたステートメントを実行するとき、スタックにレジスタ値を記憶する必要 も、それを復元する必要もない。また、コマンドを送信する前に、中央のデータ ベースにセルを記憶する必要もない。実行の状態を報告するために、メッセージ を送・返信する必要もない。結果として、アプリケーションの実行速度は向上す る。 以下に説明するように、セルはEXEファイルとして実現され(Micros oft社から発売されているMSDOS又はWindows環境において)、実 行の際、操作環境に応じた方法でRAMにロードされる。セルに関連付けられた DNAファイルもRAMにロードされる。起動されたセルは、そのDNAファイ ルが所持する属性を帯びる。セルの起動時又は実行中でも、DNAファイル(例 えば、ASCIIファイル)に書き込みを行うことにより、それを変更すること ができる。 図3は、例えばセルCAに関連付けられたDNAファイル250の論理構造を 示す図である。ファイル250は、セルCA自身の特性に関連するパラメータ( 自己パラメータ)を含むセクション252を備える。例えば、セクション252 は、セルCAが起動されたとき、セルCA自身の表示方法に関するパラメータ、 例えば、ウインドウのサイズ、セルCAの背景の色、セルCAの名前、起動及び 終了時に使用するオーディオファイルの名前、等を含む。 また、ファイル250は、セルCAに関連するセルについて、セルの名前、シ ンボル、表示位置等を含む関連付けパラメータ(リンクパラメータ)を含むセク ション254を備える。リンクパラメータが「クローズ(close)」であるセル が起動されたとき、そのリンクパラメータはセルCAを閉じる(クローズする) も のとして解釈される。 また、ファイル250は、DSF情報セクション256を含む。このDSF情 報セクション256は、通常セクション257と最優先機能セクション264と を含む。通常セクション257と最優先機能セクション264の構成は、最優先 機能セクション264がステートメント実行の際、より高い優先権を持つという こと以外は、ほぼ同一である。これら2つのセクションは、セクションを識別す るために、個々のヘッダを備えている(例えば、各セクションは異なる名前又は シンボルの見出しがある)。 通常セクション257は、状態セクション258とステートメントセクション 260とを備える。ステートメントセクション260は、他のセルからセルCA へ送信されてきたDSFステートメントを有する。ステートメントセクション2 60におけるステートメントは、順次実行される。各ステートメントも、そのス テートメントを実行するときの必要性に応じて、パラメータを備える。状態セク ション258は、次の3つの要素を備える。(a)現時点においてステートメン トセクション260における最後のDSFステートメントを指示する第1のポイ ンタ、(ii)セルCAにより処理されているDSFステートメントを指示する第 2ポインタ、(iii)現時点におけるセルの状態。 最優先機能セクション264は状態セクション266とコマンドラインセクシ ョン268とを備える。状態セクション266の構成は、状態セクション258 の構成と類似している。コマンドラインセクション268には、DSFプロトコ ル(又は、DSFプロトコルに類似したプロトコル)を用いて他のセルから送信 された、実行可能なコマンドラインが記述される。このコマンドラインは、ステ ートメントセクション260におけるステートメントよりも高い実行優先権を有 する。コマンドラインセクション268におけるコマンドラインは、順次実行さ れる。 図3に示す論理構造は1つ又は複数の物理的なファイルを用いて実現される。 更に、論理的なセクションは物理的に混在していてもよい。例えば、DNAファ イルはテキストファイルである。従って、DNAファイルの内容は、通常のテキ ストエディタを用いることにより、変更可能である。 あるセルから他のセルへ送信されるステートメントは、DSFプロトコルに従 う。送信元のセル(例えば、セルCS)はセルCAに関連付けされたDNAファ イル250と通信リンクをセットアップする。送信元のセルは、DNAファイル 250のアドレスを調べ、そのDNAファイル250の状態セクション258で 状態をチェックすることにより、そのDNAファイル250がDSFステートメ ントを受信可能か否かを判定する。ステートメントは、セルCAが受信可能なと きにのみ、セルCSにより送信される。なお、ステートメントの発行は、例えば 、ASCIIキャラクタをDNAファイル250のステートメントセクション2 60へ書き込むことにより行われる。 セルCAへステートメントを送信することが認められると、セルCSはDSF ステートメントを書き込むための適切なアドレスを決定するため、最後のDSF ステートメントを指示する第1ポインタを読み出す。セルCAの既存のステート メントに上書きしないことが重要である。セルCSは、DNAファイル250の ステートメントセクション260へDSFステートメントを書き込む。そして、 セルCSは、ステートメントセクション260に新たに書き込まれた最後のDS Fステートメントを指示するように、状態セクション258の第1ポインタを更 新する。その後、セルCAとCSとの間の通信リンクは終了する。セルCA及び DNAファイル250は、新たなステートメントがセルCSから送信されたこと を示す記録(即ち、履歴)を保持しない。 上述したDSFプロトコルは一例であり、セルへDSFステートメントを書き 込むことが可能な他のプロトコルでもよい。また、第1ポインタが最後のDSF ステートメントの次の位置を指示するような、異なるポインタ構造を用いてもよ い。状態のタイプや、状態のチェック方法についても、これに限定されない。更 に、ステートメントを順番に物理的に記憶する代わりに、論理構造に従って記憶 してもよい。例えば、ステートメントを、ポインタにより指示されたアドレスを 有するグループに分けることも可能である。 コマンドラインは、あるセルから他のセルへDSFプロトコルと同様のプロト コルを用いて送信される。通常セクション257と最優先機能セクション264 とはヘッダが異なるため、送信元のセルは、これら2つのセクションを識別し、 適当なセクションに書き込むことができる。なお、他の方法により、これら2つ のセクションを識別してもよい。 セルCAの構造を図4に示す。セルCAは、コンピュータにより実行可能な命 令を用いて実現される複数の部分に論理的に分類される。セルCAは、初期設定 部312及びDNAインタフェース部314を備える。DNAインタフェース部 314は、セルCAによる、そのセルに関連付けられたDNAファイル250へ の読み込み及び書き込み等の内部的な処理を可能とする。また、セルCAは、( DSFプロトコルを処理するための)DSFインタフェース部316を備える。 このDSFインタフェース部316は、DSFプロトコルを用いてステートメン ト/コマンドラインを送受信するためのコード(プログラムインストラクション )を備える。 セルCAは、他のセルによりDNAファイル250に書き込まれたステートメ ントとコマンドラインを自動的に実行するためのコードを含む実行セクション3 18を備える。このコードは、DNAファイル250のステートメントセクショ ン260のステートメントを順番に読んで実行する。各ステートメントを実行し た後、セルCAは、最優先機能セクション259に分岐し、その全てのコマンド ラインを実行した後、ステートメントセクション260の次のステートメントを 実行する。 セルCAは、一時的な情報を格納させるためのテンポラリメモリ部322を備 える。一実施例において、セルCAは実行中でも属性(ウインドウディスプレイ の背景色及び表示サイズ等)を変えることができる。変化した属性は、直ちにD NAファイル250に書き込まれるのではなく、テンポラリメモリ部322に一 時的に格納されるようにしてもよい。この場合、テンポラリメモリ部322に格 納された情報は、セルCA終了時に、DNAファイル250の自己パラメータセ クション252に書き込まれる。 セルCAは、他のセルを起動させるセル起動部324を備える。一例では、セ ル起動部324は、起動対象のセルに関する情報を取得し、実際に対象セルを起 動する特定セルにその情報を渡す。この特定セルの機能を、セルCA及び他のセ ルのセル起動部324に加えてもよい。 上述したセルCA内の各部分は、論理的には分類されているが、物理的には混 在している。 図5は、上述のアプリケーション開発システムを実行するコンピュータシステ ム380のブロックダイアグラムである。コンピュータシステム380は、IB M互換コンピュータなどのパーソナルコンピュータから構成される。パーソナル コンピュータは、CPU、RAM、ROMハードディスク、マルチメディアデバ イス(サウンドカード、CD−ROMリーダ、VIDEOカードなど)を備える 。パーソナルコンピュータはMD−DOS384とMS−Windows386 を搭載する。この発明のセル391−393はMS−Windouws386上 で動作する。これらのセルのいくつかは、表示装置上に表示され、パーソナルコ ンピュータ382のサウンドカード上で実行される。 第1の実施例 この発明は、図6のコンピュータネットワークシステム400において用いら れる。システム400は、ローカルエリアネットワーク、広域ネットワーク、イ ンターネット等のデータ通信ネットワーク402と、サーバ404〜406等の 複数のサーバと、コンピュータ410〜412等の複数のクライアントコンピュ ータと、を備える。各サーバは、マルチメディアコンテンツ(イメージ、オーデ ィオファイル、ビデオファイル、テキストドキュメント、等)の大規模なデータ ベースを備えていることが望ましい。サーバは、このようなデータベースを備え る他のコンピュータを示すポインタを備えていてもよい。一部のクライアントコ ンピュータは、ディジタル・セル・テクノロジー(DCT)制御を用いて設計さ れた動作環境を実現する。この発明の第1の観点は、上述のDCTをデータネッ トワーク環境に適用するものである。 (リモートサーバからダウンロードされたマルチメディアファイル) 上述のように、DCTにおいては、アプリケーションは、「セル」と呼ばれる 複数の小規模なプログラムモジュールを管理することにより形成されている。各 セルは、パラメータファイル(DCTの用語で「DNA」ファイルと呼ばれる) と関連付けられており、DNAファイルは、自身と結びついたセルの特徴を定義 するパラメータを有している。DNAファイルはまた、セルが他のセルとインス トラクション(命令)を通信する手段を提供する。例えば、第1のプログラムモ ジュール(セル)は、第1のコマンドセットを第2のセルと結びついたパラメー タファイルに送信するプログラムコードを備える。同様に、第2のプログラムモ ジュール(セル)は、第2のコマンドセットを第1のセルと結びついたパラメー タファイルに送信するプログラムコードを備える。第1のセルはまた、実行結果 を第2のセルに送信することなく第2のコマンドの組を実行するコードを備える 。同様に、第2のセルもまた、実行結果を第1のセルに送信することなく第1の コマンドの組を実行するコードを備える。DCTの実行時に、ディスプレイウィ ンドウを生成するセルもある。図7は、コンピュータモニタのディスプレイ45 0を示す図である。ディスプレイ450は、セルと結びついた4つのディスプレ イウィンドウ452、464、468、474を備えている。これらのウィンド ウの詳細については後述する。 図8は、セルCAに関連付けられたDNAファイル420の構成の一例を示す 図である。セルCAは、コンピュータ410等のクライアントコンピュータに格 納されている。ここで重要なのは、自己パラメータセクション422のステート メント436(つまり、「IMAGE=http://www.site/fi le.JPG」)である。PCT/JP96/00821に開示されたセルでは 、表示されるイメージファイルはハードディスク又はクライアントコンピュータ に位置する。この発明においては、イメージファイルは、ネットワーク402に 接続された他のコンピュータに格納されている。 より詳細には、ウェブに接続されているコンピュータによってアクセスされ得 る各ファイルは、ユニフォーム・リソース・ロケータ(URL)と呼ばれる一定 のフォーマットのアドレスを有しており、これによって、世界中のコンピュータ からのアクセスが可能となる。 ステートメント436は、そのファイルイメージが、「www.site/f ile.JPG」というURLを有していることを示している。セルCAは、イ メージファイルを入手するために、クライアントコンピュータ410に、イメー ジファイルを有しているサーバ(サーバ404等)に対して「file.JPG 」という名のファイルを送るよう、ネットワーク402を介して、要求させる。 マイクロソフト社(MS)のウィンドウズ環境においては、セルCAは、サーバ 404とのTCP/IP通信を始めるために、「WinSock」モジュールを コールする。サーバ404は、それに応答して、自身のデータベースの中にある ファイル「file.JPG」をクライアントコンピュータ410へ送り、コン ピュータ410は、通常のMSウィンドウズ通知プロトコルを用いて、該ファイ ルをセルCAへと転送する。サーバ404は、MSウィンドウズ環境下にある場 合には、コンピュータ410との情報の送受信に「WinSock」モジュール を用いる。よって、セルCAは、自身と結びついたDNAファイル中のパラメー タに従って、ディスプレイウィンドウを生成することができる。 ダウンロードされるファイルは、イメージファイルに限られない。オーディオ ファイル、ビデオファイル等の他のタイプのファイルを、DNAファイルの自己 パラメータセクションにおけるリモートファイルとして指定してもよい。また、 通信プロトコルが、ハイパーテキスト・トランスポート・プロトコル(HTTP )を備えている必要はなく、ネットワーク420上でファイルを転送できるプロ トコルであれば、任意のものを用いることができる。さらに、サーバ404は、 UNIX、Macintosh、DCTを含む様々なオペレーティング環境の下 で動作することができる。 セルCAは、サーバからイメージファイルを入手すると、PCT/JP96/ 00821に開示されている通常のセルとして機能する。例えば、ユーザは、セ ルを他のセルとリンクさせて操作することができる。これらリンクされたセルは 、インターネット上の様々なサーバからイメージファイルを入手することができ る。これらのセルは、起動されると、上述の方法によって、イメージファイル( 又は、他のファイル)を入手する。 この例を図7に示す。ここでは、ウィンドウ452は、図8に示すセルCAに よって生成されたディスプレイであるとする。ウィンドウ452は、タイトル( サイト1)を備えるタイトルバー4542を備える。ここでは、図7中のウィン ドウのタイトルはすべて、その表示イメージの起源(サーバの形式で示すサイト 1、サイト2、等)を示すものとする。勿論、実際のタイトルは、単語やシンボ ルを含んでもよい。ウィンドウ452、464、468、474は、それぞれサ イト1、2、3、2からダウンロードされたイメージを有している。ウィンドウ 452は、ウィンドウ452及びその元になるセルを操作するために、複数のツ ール(ツール458等)を備えたツールバー456を備えている。ツールとは、 例えば、ウィンドウを編集するための編集モードへアクセスする編集ツール、あ らかじめ決められた他のセルを起動するためのツールである。ここでは、ディス プレイ450中のすべてのウィンドウがタイトルバーとツールバーとを備えてい る。 この例では、ウィンドウ452は、図形461を含んでいる。ユーザは、ボタ ンセル(ボタン460で表されている)とビジュアルセル(シンボル462で表 されている)をウィンドウ452にリンクさせることができる。これらのDNA ファイル中のIMAGEパラメータは、ローカルファイル又はリモートイメージ ファイルを特定することができる。ウィンドウ452にリンクさせるセルの数は 任意であり、全くリンクさせなくてもよい。 ユーザがボタン460をクリックすると、対応するボタンセルが起動され、ウ ィンドウ464が生成される。ここでは、図形466を含んだイメージは、サイ ト2に保存されているファイル(ここでは「ファイル1」と呼ぶ)に基づいて生 成される。 ユーザがシンボル462をクリックすると、対応するビジュアルセルが起動さ れ、ウィンドウ468が生成される。ここでは、図形470を含んだイメージは 、サイト3のファイルに基づいて生成される。ユーザは、他のビジュアルセル( 以下、シンボル472)をウィンドウ468に付加することもできる。 ユーザがシンボル472をクリックすると、対応するビジュアルセルが起動さ れ、ウィンドウ474が生成される。この例において、図形476を含んだイメ ージは、サイト2の他のファイル(ここでは「ファイル2」と呼ぶ)に基づいて 生成される。図7に示すセルは、自己が格納するイメージファイルを有していて もよく、すべてのイメージファイルがネットワーク402を介してダウンロード される必要はない。 ウィンドウ452、456、468、474は、それぞれDNAファイルと結 びついている。各DNAファイルのリンクパラメータセクションは、対応するセ ルにリンクされたDNAファイルのファイル名(ローカル及びリモート)を含ん でいる。例えば、ウィンドウ452と結びついたDNAファイルのリンクパラメ ータセクションは、ウィンドウ464と結びついたボタンセル、及び、ウィンド ウ468と結びついたビジュアルセルのファイル名を含んでいる。ここでは、こ れらのファイルは離れた場所に位置するため、ファイル名は、URLフォーマッ トで形成されている。 この実施例は、URLキャッシュを備える。このキャッシュは、クライアント コンピュータにより処理されたすべてのURLをハードディスクに格納する。図 9は、URLキャッシュの実例を含むブロック図である。例えば、セル502が リモートセルにアクセスしようとする場合には、「インターネット・リソース・ ローダ」504と呼ばれるプログラムモジュールにコマンドを発行する。ローダ 504は、予めネットワークを介してダウンロードされ、ローカルハードディス クに格納されているURLのリストを有しているキャッシュリスト506を参照 する。 そして、リスト中のURLと、ローカルハードディスク中のファイルアドレス とが対応付けられる。希望のファイルのURLがキャッシュリスト506の中に ある場合には、ローダ504は、該ファイルをネットワークを介してダウンロー ドする代わりに、ローカルハードディスクから取り込む。希望のファイルのUR Lがキャッシュリスト506の中に存在しない場合には、ローダ504は、「W inSock」508をコールし、そのファイルをダウンロードする。ネットワ ークからリモートファイルを受信すると、「WinSock」508は、このフ ァイルをローダ504に渡す。ローダ504は、オペレーティングシステムに、 ファイルを適当なローカルファイルに格納させる。ローカルファイルのアドレス はURLと共にキャッシュリスト506に加えられ、以後、クライアントコンピ ュータは、ネットワークを介さずに該ファイルにアクセスすることができるよう になる。 上述の機能に精通している人は、簡単にローダ504を実現することができる 。 サーバのなかには、ファイルの中身をしばしば更新するものがある。例えば、 サーバが、製品の価格と仕様とに関するファイルを有している場合には、ファイ ルは、これらの情報が変化する度に、アップデートされなければならない。上述 の実施の形態においては、ローダ804がファイルをサーバからではなくキャッ シュ506から取り込んでくるため、ユーザは、アップデートされたファイルに アクセスすることができない。この問題を解決する方法は、少なくとも3つある 。第1は、ユーザがキャッシュ506のエントリーをクリアできるようにするこ とである。そうすることにより、ファイルをネットワークを介して取り込まなけ ればならない。第2は、ユーザが選択したアプリケーションに関するエントリー をクリアできるようにすることである。そうすれば、このアプリケーションに関 するファイルをネットワークを介して離れたところから持ってくることができる 。第3は、ユーザがスクリーン上のすべてのファイルを再ロードすることができ るようにすることである。これらは、様々な方法で実行することができる。例え ば、キャッシュリストがASCIIフォームで形成されている場合には、ユーザ は、希望通りに、エントリーを(すべて又は選択的に)消去し、選択し、元に戻 すことができる。 (分散可能なDNAファイル) 上述の実施の形態において、DNAファイルは、DNAファイル中で引用され たマルチメディアファイルが離れたところにある場合でも、クライアントコンピ ュータに格納されている。この発明の他の実施の形態においては、DNAファイ ルは、サーバに格納されてもよい。クライアントコンピュータは、適当なDNA ファイルをサーバからダウンロードして、アプリケーションを作成し、実行する 。 以下、MSウィンドウズ環境下におけるこの発明の実施の形態を説明する。M Sウィンドウズ環境下においては、あらかじめ決められた拡張子を有するファイ ルをアプリケーションと結びつけることができる。例えば、拡張子「SFM」、 「SFR」を有するファイルは、それぞれ、DCTで作動するビジュアルセル、 ランセルを起動するために作られる。ここでは、すべてのDNAファイルは、A SCIIファイルであり、これらのDNAファイルは、自身の自己パラメータ及 びリンクパラメータによりアプリケーションを定義する。クライアントコンピュ ータは、これらのDNAファイルをダウンロードし、自己に関連するセルを起動 することにより、プログラムコードを転送するのではなく、ASCIIファイル を転送することにより、サーバに格納されたアプリケーションを実行することが できる。 図10は、この発明における分散可能なDNAファイルを説明するための図で ある。クライアントコンピュータのブラウザ(図示せず)は、ダウンロードする ことができるDNAファイルを示すアイコン532、534を備えたウェブホー ムページ530を表示することができる。ホームページ530に付随するHTM Lドキュメント(図示せず)は、ブラウザがアイコン532、534を生成する ために必要な「タグ」を有している。この発明においては、これらのタグは、D NAファイルのURLを有している。ブラウザは、アイコンがクリックされると 、付随するDNAファイル(以下、ホームページDNAファイル)がキャッシュ 535の中にあるかどうかを判別するために、自己のキャッシュ535にアクセ スする。 ホームページDNAファイルがキャッシュ535の中にあると判別されると、 ブラウザは、ファイルをダウンロードすることなく、DNAファイルと結びつい たセル(例えば、ビジュアルセル)を起動することができる。 ホームページDNAファイルがキャッシュ535の中にないと判別されると、 ブラウザは、サーバ(例えば、サーバ540)からファイルをダウンロードする ためにDNAファイルを呼び出す。そして、ダウンロードされたDNAファイル の拡張子に基づいて、対応するセルがオペレーティングシステムにより起動され る。 例えば、アイコン532は、「DNA−1.SFR」と呼ばれるDNAファイ ルにリンクされる。このファイルはブラウザキャッシュ535の中に存在しない ため、サーバ540からダウンロードされる。ファイルがダウンロードされると 、ブラウザは、ランセル544を起動する。ランセル544と結びついたウィン ドウは、DNA−1.SFRによって特徴づけられる。 ここまで、URLキャッシュ536は呼び出されていないが、これは、URL キャッシュ536が、ブラウザではなく、セルがファイルをダウンロードしよう とする際に起動されるものだからである。ここでは、DNAファイルと結びつい たセルが離れたところに位置する第2のDNAファイルを参照するときに、UR Lキャッシュ536を用いる。このとき、図8との関係で上述した手順が続く。 つまり、セルがインターネット・リソース・ローダにコマンドを発行し、必要な らば、「WinSock」を呼び出し、ファイルをダウンロードする。 例えば、セル544がリモートDNAファイル(例えば、DNA−2.SFR )にアクセスする必要がある場合には、ファイルを入手するために、URLキャ ッシュ536が必要となる。DNA−2.SFRがキャッシュされていない場合 には、ファイルは、サーバ(同一のサーバ540又は他のサーバ542)からダ ウンロードされる。 好適実施例において、すべてのホームページDNAファイルは、SFR拡張子 を備えている。そのため、ユーザが、ダウンロード可能なDNAファイルと結び ついたアイコンをクリックすると、ランセルが起動される。ランセルの機能はた だ一つ、ファイルが近くにない場合には他のDNAファイルをダウンロードし、 対応するセル(例えば、セル546)をそのDNAファイルに結びつけることで ある。ここで新しくダウンロードされたDNAファイル(例えば、DNA−2. SFR)は、プログラマが作成したアプリケーションを備えた真のDNAファイ ルである。この実施の形態において、ホームページDNAファイルを、仮のDN Aファイルと考えてもよい。 真のDNAファイルと仮のDNAファイルを区別するのは、DCTのユーザが 、すべてのDNAファイルを再度見て、編集することができるようにするためで ある。以上説明したように、ホームページDNAファイルは、ブラウザキャッシ ュ535に格納される。各ブラウザは、適当なキャッシュ構造を採用し、そこに 格 納されたファイル(例えば、DNA−1.SFR)は、通常、ユーザ及びDCT には制御されない。DCTは、URLキャッシュ536内のファイルのみを制御 する。上述の構成では、全ての真のDNAファイル(例えば、DNA−2.SF R)は、URLキャッシュ536の中にあり、DCTによって制御されうる。以 上説明したように、ここでは、キャッシュリスト及びDNAファイルは、ASC IIフォームで作成されており、ユーザは、これらのファイルを見て、編集する ことができる。従って、ユーザは、アプリケーションを完全に制御することがで きる。しかし、通常、ユーザやDCTは、ブラウザのキャッシュに格納されたフ ァイルにアクセスすることができない。 (分散可能なDNAファイルのアップロード) ここでは、すべてのDNAファイルは、ASCIIファイルである。そのため 、クライアントコンピュータは、簡単に、DCTテクノロジーを用いてアプリケ ーションを開発し、DNAファイル(及び、必要であれば、これらのDNAファ イルと関係のある他のファイル)をサーバに送信することができる。そして、他 のクライアントコンピュータが、アプリケーションを実行するために、これらの DNAファイルをダウンロードすることができる。 この発明で、サーバは、ファイルを保持するために使用されているが、この発 明においては、必ずしもサーバを使用しなくてもよい。例えば、第1のクライア ントコンピュータが第2のクライアントコンピュータにDNAファイルを送信し 、第2のクライアントコンピュータがアプリケーションを実行する場合には、中 間のコンピュータ(サーバ、等)を必要としない。 プログラマがグループでアプリケーションを開発する際に、この発明を用いる ことができる。図7を参照して説明したように、アプリケーションは、それぞれ DNAファイルと結びついた多くのセルを有する。これらのDNAファイルの開 発は、異なったコンピュータを用いて作業を行うプログラマ達に割り当てられる 。彼らは、自分のDNAファイルをサーバにアップロードし、サーバのプログラ マは、これらのDNAファイルをまとめて複雑なアプリケーションを作成するこ と もできる。または、クライアントコンピュータにファイルをダウンロードし、こ れらのファイルをまとめてアプリケーションを作成することも可能である。そし て、完成したアプリケーションをサーバにアップロードする。ネットワークに接 続されたクライアントコンピュータは、この複雑なアプリケーション中のDNA ファイルをダウンロードし、実行することができる。 第2の実施例 この実施例は、強力なアプリケーション開発ツールを提供する。 図11及び図12は、2つの実施例を示している。 図11は、ユーザが、マイクロソフト社のMSウィンドウズオペレーティング システム下でビデオアプリケーションを作成する動作を説明するための図である 。MSウィンドウズや他のグラフィックオペレーティング環境における他のアプ リケーションの作成にも、同様の過程を用いうる。ユーザは、ウィンドウ間の関 係を定めるため、ウィンドウ600をコンピュータディスプレイ602上に生成 するセル(即ち、プログラムモジュール)をアクティブにする(起動する)。以 下、このセルを「関係セル」と呼び、このセルと結びついたウィンドウを「関係 ウィンドウ」と呼ぶ。この実施の形態において、ウィンドウ600は、ユーザが 関係を定めるためのテーブルを備えている。他の手段(例えば、図12に示す方 法)を用いてもよい。関係セルの詳細については、以下に述べる。 ユーザは、ディスプレイ602上にビデオウィンドウ606(破線で示す)を 生成するビデオセルをアクティブにする(起動する)。ウィンドウ606は、映 画やアニメーションを表示する。ウィンドウ606を用いるビデオファイルの名 称は、起動している間に定められる。同じウィンドウを、異なった映画(又はア ニメーション)を表示するために用いることができるよう、ビデオファイルは簡 単に変更することができる。このウィンドウ606は、関係ウィンドウ600に 登録され、テーブルのウィンドウ欄に識別符号(例えば、No.1)が付される 。 ここでは、(1)ビデオセルが関係セルに、ビデオセルがアクティブである(起 動されている)ことを示すメッセージを送り、(2)関係セルがこの情報をメモ リに格納する。セルは、ビデオセルに限られず、他のタイプのセルでもよい。 次に、ユーザは、コントロールバーウィンドウ604(破線で示す)を生成す る他のセル(ここでは、コントロールセル、という)をアクティブにする。コン トロールセルがアクティブにされている間に、ユーザは、ビデオウィンドウ60 6を生成するビデオセルの名前を入力する。その結果、コントロールバー604 が、ビデオウィンドウ606の動作を制御(例えば、スタート、巻き戻し、スト ップ)するために用いられる。コントロールバー604は、関係ウィンドウ60 0に登録され、テーブルのウィンドウ欄に識別符号(例えば、No.2)が付さ れる。 最後に、ユーザは、ウィンドウ608を生成するビジュアルセルをアクティブ にする。ウィンドウ608は、関係ウィンドウ600に登録され、テーブルのウ ィンドウ欄に識別符号(例えば、No.3)が付される。以下に説明するように 、ウィンドウ608は、ビデオウィンドウ606と、コントロールバー604と のフレームとして用いられる。以下、ウィンドウ608を「フレームウィンドウ 」と呼ぶ。この実施の形態においては、ウィンドウ608は、ウィンドウ604 及び606と通信を行う必要はない。 ユーザは、例えば、タイトルバー(図示せず)をマウス(図示せず)を用いて ドラッグすることにより、ビデオウィンドウ604と、コントロールバー606 とをフレームウィンドウ608内の別々の場所へと移動させることができる。こ れらの新しい場所を、それぞれ、実線のブロック612、614で示す。この時 点では、ウィンドウ608は、ウィンドウ604、及び606から独立したウィ ンドウである。次に、ユーザは、ウィンドウ608と、ウィンドウ612、61 4との間の親子関係を定めるために、関係ウィンドウ600の「親」欄に数字を 入力する。この実施例において、フレームウィンドウ608(No.3で示され る)は、ウィンドウ612及び614(それぞれNo.1、No.2で示される )の親となる。親子関係は、ウィンドウ間の関係の中でもよく知られた関係であ り、多くのウィンドウベースのオペレーティングシステム(MSウィンドウズ、 等)で用いられる。ここで、ウィンドウ612、614対フレームウィンドウ6 08の関係が確立される。このような関係を構築するための基本メカニズムにつ いては、後述する。 親子関係が確立されると、ウィンドウ612及び614は、あたかもウィンド ウ608の一部であるかのごとく動く。例えば、ユーザが、フレームウィンドウ 608をディスプレイ602上の別の場所へ移動させると、ウィンドウ612及 び614も、ウィンドウ608と共に移動する。これは、子ウィンドウ(つまり 、ウィンドウ612及び614)の位置が、親ウィンドウ(ここでは、フレーム ウィンドウ608)との関連で決まる、という親子関係(多くのウィンドウベー スのオペレーティングシステムで採用される)の特質によるものである。 ここでは、ビデオウィンドウ612は、映画やアニメーションを表示するため に用いられる。コントロールバー614は、ビデオウィンドウ612のオペレー ションを制御するボタンを備えている。例えば、ユーザがコントロールバー61 4上のスタートボタン(図示せず)をクリックすると、あらかじめ定められたビ デオファイルに格納されている映画がビデオウィンドウ612上に表示され、ス トップボタン(図示せず)をクリックすると、映画はストップし、巻き戻しボタ ン(図示せず)をクリックすると、映画が巻き戻される。ユーザがマウスでフレ ームウィンドウ608をドラッグすると、ウィンドウ608のすべてのコンテン ツ(ウィンドウ612及びコントロールバー614を含む)が一緒に移動する。 ユーザから見れば、フレームウィンドウ608とビデオウィンドウ612とコン トロールバー614とは、複合したアプリケーションの一部を構成する。 上述の実施の形態において、コントロールセルは、コマンドをビデオセルに送 信することで、ビデオセルを制御している。例えば、ユーザがスタートボタンを クリックすると、コントロールセルは、ビデオの上映を開始するコマンドをビデ オセルへ送信する。 ソフトウェア作成者がアプリケーションの設計をほとんど完全に制御できると いう点が、この発明の優れた点の一つである。例えば、作成者は、あらかじめ作 成されたコントロールバーの一部をアプリケーションにおいて用いることができ る。また、ビデオウィンドウに代えて他のタイプのディスプレイウィンドウを選 択することもできる。例えば、作成者は、グラフィックウィンドウやテキストウ ィンドウを制御するために、コントロールバーの一種であるスクロールバーを選 択することができる。つまり、この発明におけるシステムは、非常にしっかりし ていて、柔軟性に富んでいる。 システムの保守やアップグレードが簡単である点もこの発明の利点である。例 えば、ソフトウエア開発者は、最初は少数のコントロールバーやディスプレイウ ィンドウを備えるオーサリングソフトウエアを提供できる。そして、必要なとき に、他の種類のコントロールバーやディスプレイウィンドウをオーサリングソフ トウエアに付け加えることができる。さらに、アプリケーションの各構成部分間 のインタフェースが同じであれば、アプリケーションを変更することなく、構成 部分をアップグレードすることもできる。 従来のプログラミング方法においては、上述の各ウィンドウ(608、612 、614)の集合体は、映画再生ルーチンやコントロールルーチンを含む複雑な アプリケーションによって生成されており、各ルーチンは、しっかりと結合して いた。この性質により、ユーザは、わずかな変更しかできず、アプリケーション をアップグレードするためには、他の完全なアプリケーションを再度インストー ルしなければならなかった。このため、従来のアプリケーションは柔軟性を欠き 、保守が困難で、アップグレードに時間を要した。 ユーザは、親ウィンドウと子ウィンドウとを自由に選択することができる。他 のアプリケーションを作成する場合には、例えば、ビデオウィンドウ606を親 ウィンドウとし、ウィンドウ608を子ウィンドウとすることができる。このた め、この発明によれば、非常に柔軟性に富んだアプリケーションを開発すること ができる。 図14は、上述のオペレーションを示すフローチャート630である。ステッ プ634で、ユーザは、関係セルをアクティブにする(起動する)。この関係セ ルは、関係ウィンドウを表示させる。ステップ636で、ユーザは、ディスプレ イウィンドウを表示させるプログラムセル(ビジュアルセルや他のセルでもよい )をアクティブにする。プログラムセルは、関係セルとの通信を行うプログラム コードを有している。ステップ638で、新しくアクティブされたプログラムセ ルが関係セルに登録される。これは、プログラムセルが上述の通信プロトコルを 用いて関係セルにメッセージを送信することにより行われる。ステップ640で 、ユーザは、他のセルやウィンドウをアクティブする必要があるかどうかを判断 する。他のセルをアクティブする必要がある場合には、ステップ636へ戻り、 他のセルをアクティブにする。他のセルをアクティブにする必要がない場合には 、ステップ642へ進み、アプリケーションを設計する次の処理(つまり、関係 の定義)を行う。 ステップ642で、ユーザは、第2のディスプレイウィンドウ(関係ウィンド ウ以外)内の任意の場所に第1のディスプレイウィンドウ(関係ウィンドウを除 く)を移動させ、これらのウィンドウの親子関係を決定する。つまり、関係ウィ ンドウが、第1のウィンドウを第2のウィンドウの子ウィンドウとする。一旦、 あるウィンドウが子ウィンドウとなると、関係セルは、オペレーティングシステ ムによって、そのウィンドウを子ウィンドウのスタイルに変形させる(ステップ 644)。このオペレーションを実行するメカニズムは、図15を参照して後述 する。子ウィンドウの外観は、対応する親ウィンドウとの関係であらかじめ定め られる(例えば、MSウィンドウズ環境においては、子ウィンドウは、親ウィン ドウの外へ出ることはできない)。ステップ646で、ユーザは、各ウィンドウ 間に、さらに関係を設定するかどうかを判断する。各ウィンドウ間に、さらに関 係を設定する場合には、ステップ642へ戻り、関係を設定する。各ウィンドウ 間に、これ以上関係を設定しない場合には、フローチャート630の処理を終了 する。 アプリケーションは、親子関係の階層構造を成している場合もある。例えば、 第1のウィンドウは第2のウインドウの子ウインドウであり、この第2のウイン ドウは第3のウィンドウの子ウィンドウである、とする。この場合において、第 1のウィンドウは第2のウィンドウによって拘束され、第2のウィンドウは第3 のウインドウによって拘束される。第3のウィンドウが移動すると、第1及び第 2のウィンドウは、第3のウィンドウと共に移動する。親ウィンドウは、複数の 子ウィンドウを、同じレベルに置くこともできる。 関係セル及び関係ウィンドウを用いてセル間の関係を定めるのが、一つの方法 である。他の方法を説明する。 一部のセル(例えば、ビジュアルセル、ボタンセル)を編集モードに切り換え 、編集ウィンドウに情報を入力することによってセルの特徴を変化させる。セル が編集モードであるときは、ダイアログボックスが表示される。ユーザは、様々 なアイコンをクリックし、選択されたボックスに文字を入力することができる。 編集モードが終了し、実行モードへ戻ると、セルは、ダイアログボックスに入力 された情報に従って新しい働きをする。ここでは、ダイアログボックスは、ユー ザが親子関係を定めるためのアイコン(以下、関係アイコン)を備えている。 図12は、関係ウインドウを必要としない実施例を示す図である。ここでは、 関係ウィンドウの代わりに上述の関係アイコンを使用し、ユーザは、ウィンドウ の関係を定めるために数字を入力する必要がない。図11と図12とでは、同一 部分に同一符号を付している。 この発明の実施の形態を説明するため、図12は、編集ウィンドウ607の形 式でビデオセルを示している。ビデオセルは、ユーザがこのウィンドウを子ウィ ンドウに指定するための関係アイコン616を備えており、ユーザは、関係アイ コン616をクリックして、このウィンドウが、次に定める親ウィンドウの子ウ ィンドウとなることをシステムに通知する。次に、ユーザは親ウインドウを選択 する。例えば、ユーザは、マウス622でビデオウィンドウ607のタイトルバ ーをドラッグして、カーソル620をフレームウィンドウ608の中に移動させ る。カーソル620がフレームウィンドウ608中の適当な位置に来たところで 、ボタンを離し、この位置が所望の位置であること及びフレームウィンドウ60 8が親ウィンドウとなるべきことを指示する。そして、ユーザは、編集ウィンド ウ607で表されるビデオセルを編集モードから抜けさせる。新しいウィンドウ (ウィンドウ612)がフレームウィンドウ608の中に生成され、ビデオセル のオリジナルウィンドウ607は消滅する。ウィンドウ612は、オペレーティ ングシステムにより、フレームウィンドウ608の子ウィンドウとされる。この 親子関係の創設に関するメカニズムの詳細は、図15を参照して後述する。 図12はまた、編集ウィンドウ609のコントロールセルも示している。コン トロールセルは、図11を参照して述べた方法で、ビジュアルセルと通信を行い 、ビジュアルセルを制御する。編集ウィンドウ609は、関係アイコン617を 備え、ユーザは、関係アイコン617を用いて、このウィンドウを子ウィンドウ に指定する。ユーザは、関係アイコン617をクリックし、カーソル620をフ レームウィンドウ608中の適当な位置へ、マウス622のボタンを押すことに より移動させ、ボタンを離して子ウィンドウの表示位置を定める。編集ウィンド ウ609が消滅すると、新しいウィンドウ(ウィンドウ614)がフレーム60 8中に生成される。コントロールセルに対応付けられたオリジナルウィンドウは 消滅し、ウィンドウ614は、オペレーティングシステムにより、フレームウィ ンドウ608の子ウィンドウとされる。 図14は、上述のオペレーションを示すフローチャート660である。ステッ プ662で、ユーザは、第1のセル(ビジュアルセル、ビデオセル、等)、及び 第1のセルに対応付けられたウィンドウをアクティブにする(起動する)。ここ では、第1のセルを親ウィンドウとする。ステップ664で、ユーザは第2のセ ル(ビジュアルセル、ビデオセル、等)及び第2のセルに対応付けられたウィン ドウをアクティブにする。ユーザは、第2のセルを編集モードに切り換える。そ して、関係アイコンをクリックし(ステップ666)、第1のセルのウインドウ 内の位置を指示することにより、子ウィンドウの新しい位置を第1のセルの中に 定める(ステップ668)。上述の例では、子ウィンドウの位置は、カーソルを 移動させることで定められる。次に、第2のセルのウィンドウのスタイルが、子 ウィンドウのスタイルへと変えられる(ステップ672)。このステップを実行 するメカニズムの詳細については、図15との関連で後述する。第2のセルのオ リジナルウィンドウは消滅し、子ウィンドウが、第1のセル中の希望の位置に生 成される(ステップ674)。 フローチャート660の処理で、親ウィンドウとなった第1のセルのウィンド ウに、さらに子ウィンドウを加えることができる。この場合には、他の子ウィン ドウを第2のセルのウィンドウと同レベルに置くことができる。子ウィンドウが 、他の子ウィンドウの中に位置していてもよい。ステップ668で、ユーザが、 既存の子ウィンドウの中を指定できるようにすれば、新しく生成されたウィンド ウを、既存の子ウィンドウの子ウィンドウとすることができる。そうすれば、新 しい子ウィンドウは、既存の子ウィンドウの外へ移動することができなくなり、 親ウィンドウの外へ移動することもできなくなる。このようにして、親子関係の 階層構造が創設される。さらに、他の実施例として、親ウィンドウは同一レベル の子ウィンドウを複数備え、各ウインドウ又は全てのウィンドウは、子ウィンド ウ(親ウィンドウの孫ウィンドウと言うべき)を備えるようにしてもよい。孫ウ ィンドウは、さらに、子ウィンドウを備えることができ、この発明における親子 関係には制限がない。 図15は、子ウィンドウの作成過程を示すフローチャート700である。ここ では、子ウィンドウとなる第1のウィンドウと、親ウィンドウとなる第2のウィ ンドウとの2つのウィンドウが存在する。親子関係が形成される前は、これら2 つのウィンドウは、完全に独立又はDCTや他のプログラム構造の下で互いに影 響し合っている。第1のウィンドウは、ユーザから、第1のウィンドウを子ウィ ンドウとするコマンドを受け取ると、第2のウィンドウに親ウィンドウとなるよ う、指示を送る(ステップ702)。ここでは、この指示は、第1のウィンドウ のウィンドウハンドルを含む。ステップ704で、第2のウィンドウは、第1の ウィンドウの親ウィンドウとなるのに適当か否かを判断する。適当な場合には、 フローチャート700は、ステップ710へ進み、第2のウィンドウが親ウィン ドウとなる準備をする。MSウィンドウズ環境下では、このステップで、第2の ウィンドウの「ベースウィンドウ」を準備するために、「SetWindowLong」機能 を使用する。 第2のウィンドウは、第1のウィンドウへ通知する。ここでは、第2のウィン ドウのウィンドウハンドルは、第1のウィンドウへと渡される。「ベースウィン ドウ」の概念については、図16Aを参照して説明する。 図16Aは、一般的なウィンドウ730の構成を示している。このウインドウ 730は、ウィンドウのすべての構成要素を備えているので、このウィンドウを 、「トップレベルウィンドウ」と呼ぶ。例えば、ウィンドウ730は、タイトル バーとツールバーとを備えた領域732、及び、ステータスバーを備えた領域7 33を備えている。領域732及び733は、MSウィンドウズオペレーティン グシステムにより生成される。ベースウィンドウ736は、ユーザが、ビデオ、 グラフィック、テキスト、等の形式で生成した情報を表示する、領域732及び 733を除いた領域である。トップレベルウィンドウは、ベースウィンドウ73 6や領域732、733を含むこれらすべてのもので成り立っている。 子ウィンドウ(図16Bに示すウィンドウ752等)が親ウィンドウ(図16 Bに示すウィンドウ750等)の内部に生成されると、完全なウィンドウ(つま り、トップレベルウィンドウ)が親ウィンドウの中に生成される。しかし、子ウ ィンドウの生成によって影響を受けるのは、親ウィンドウのベースウィンドウの みである。これは、ステップ710が第2のウィンドウのベースウィンドウのみ に影響するからである。 再び図15に戻るが、ステップ712で、第1のウィンドウは、自らが子ウィ ンドウとなる準備をする。MSウィンドウズ環境下では、第1のウィンドウのト ップレベルウィンドウを準備するために「SetWindowLong」機能を用いる。ステ ップ714で、第1のウィンドウは、子ウィンドウとなる。MSウィンドウズ環 境下では、「SetParent」機能を用いる。これは、子ウィンドウを再描画するも のである。 ステップ704で、第2のウィンドウが第1のウィンドウの親ウィンドウとな らないことを決定した場合には、ステップ720へ進み、第2のウィンドウは、 自らは第1のウィンドウの親ウィンドウとならないことを、第1のウィンドウへ 通知する。そして、このフローチャートの処理を終了する。 第3実施例 図17は、従来のオブジェクト指向のプログラミング(OOP)の構成800 を示す。このプログラムは、図17に符号802〜810で示すように、多くの クラスから構成されている。多くのソフトウェアアプリケーションにおいて、こ れらのクラスは、階層構造を成している。構成800において、各クラス間の通 信は、階層状の経路をたどる。例えば、構成800のブランチの末端にあるクラ ス807は、同一ブランチ内の他のクラスとは直接通信を行えるが、他のブラン チ内のクラス(クラス809、等)とは、直接には通信できない。そのため、ク ラス807がクラス809と通信を行うためには、両者共通のクラス803を介 してメッセージを送受信する。同様に、クラス807がクラス806と通信を行 う場合には、両者共通のクラス802を介してメッセージを送受信する。 上述の通信方法は、単純なアプリケーションに適している。しかし、アプリケ ーションが複雑になると、様々なブランチや通信経路を維持することが困難とな る。さらに、あるクラスの階層中の位置が変化することにより、そのクラスと通 信を行う必要のあるすべてのクラスのプログラムコードが影響を受けるため、ア プリケーションのグレードアップは難しくなる。 図18は、この発明のプログラミングの構成820を示す。構成820は、図 18の822〜826に示すように、多くのクラスから構成されている。 クラス822〜825は、クラス826とのみ通信を行う通常のOOPクラス である。クラス826は、構成820におけるクラス822〜825の間の通信 を管理する特別な(専用の)クラスである。この発明の他の実施の形態において 、クラス826は、クラス822〜825と構成820の外のプログラムモジュ ール(例えば、他のアプリケーション)との通信も制御する。つまり、クラス8 26は通信制御クラスであると言うことができ、以下、コントローラ826と呼 ぶ。 クラス822〜825は、相互の通信を直接行うことはできず、コントローラ 826を介して通信を行う。例えば、クラス822がクラス823にメッセージ を送信する場合、まずコントローラ826にメッセージを送信する。メッセージ は、(1)送信先のクラス(例えば、クラス823)への指示(インストラクシ ョン)を含み、(2)送信先のクラスの名前やアドレスを含んでもよい。指示が 送信先のクラスに特有(固有)のものである場合には、その指示によって、送信 先のクラスを識別することが可能である。この場合には、コントローラ826は 、指示とその指示に対応するクラスとのリストを有する。そして、コントローラ 826が送信先を示す情報を持たないメッセージを受信したときには、リストを 参照してメッセージの送信先を決定する。こうして、メッセージは、正しい送信 先へと転送される。上述のコントローラクラスを介した通信のプロトコルは、以 下、「ローカル・ディジタル・シフティング・ファンクション」(ローカルDS F)プロトコルと呼ぶ。 多くのアプリケーションにおいて、構成820中の各クラスは、それぞれ別個 にアクティブにされる(起動される)。そのため、コントローラ826は、どの クラスがアクティブであるか(起動されているか)を示すトラックを保持する必 要がある。各クラスは、起動プロセスの一環として、コントローラ826にメッ セージを送信して、自分自身を登録させる。これにより、コントローラ826は 、 このクラスのためのリソース(資源)を確保する。クラスがデアクティブ(終了 )されたときには、コントローラ826が該クラスのために確保したリソースを 他のクラスのために解放するよう、コントローラ826にメッセージを送信しな ければならない。よって、コントローラ826は、どのクラスがアクティブされ ていて、メッセージの送受信が可能であるのかを知ることができる。 この実施の形態の他の例においては、クラス822〜825とコントローラ8 26との間の通信には、確認のメッセージ(又は戻り値)は不要である。例えば 、クラス822がコントローラ826にメッセージを送信した場合に、コントロ ーラ826はクラス822に、何らの返答(値又はメッセージの返送)をする必 要はない。同様に、コントローラ826がクラス822からのメッセージをクラ ス823に転送する場合にも、クラス823はコントローラ826に、何らの返 答をする必要はない。従って、最小のオーバーヘッドと遅延時間で通信を行うこ とができる。 この発明の他の実施の形態において、クラス822〜825とコントローラ8 26との間のメッセージは、ASCIIコード化される。つまり、指示名や送信 先クラスの識別符号等の任意の情報は、ASCIIフォーマットでコード化され る。 図19は、コントローラ826の構造を示している。コントローラ826は、 ローカルDSFプロトコルを受信、処理、送信するプログラムコード840のブ ロックと、構成820の外部からの指示を受信、処理、送信するプログラムコー ド841のブロックとを備える。ブロック840及び841は、2つの記憶領域 、つまり、(1)指示とその指示に対応付けられているクラスのリストとを記憶 する領域844、及び、(2)アクティブにされているクラスの情報を記憶する 領域845、と通信を行うことができる。領域844に記憶されている情報は、 各指示と送信先のクラスとを結びつけるために用いられる。例えば、ブロック8 40がクラス822〜825又は構成820の外部から送信先が明示されていな い メッセージを受信した場合、コントローラ826は、領域844内のリストを参 照し、該メッセージの送信先を決定する。送信先が見つからない場合には、メッ セージは無視される。領域845内の情報は、あるクラスがアクティブされた場 合に、構成820内のクラスによって、コントローラ826に与えられる。アク ティブにされたクラスは、コントローラ826に情報を登録し、登録情報をコン トローラ826に提供する。この情報により、コントローラ826がメッセージ を効果的に管理することが可能となる。 この発明において、コントローラ826は、メッセージの通信を制御する機能 のみを有する専用のプログラムモジュールである。このため、コントローラ82 6を、サイズが非常に小さく処理速度が非常に速い、というように、効率的に作 成することができる。 2つの数字の演算結果を表示する処理を例に、構成820のオペレーションに ついて説明する。ここでは、(1)クラス822は、ユーザが数字を入力する対 話ボックスクラス、(2)クラス823は、その数字に計算処理を行う演算クラ ス、(3)クラス824は、演算クラス823における計算結果を含む情報を表 示する表示クラス、とする。この発明においては、これらの3つのクラスの階層 構造を知る必要はない。なぜなら、これら3つのクラスとコントローラ826と の間の通信は、1対1で行われるからである。 アクティベーション(起動)プロセスの一環として、クラス822〜824は 、コントローラ826に登録される。対話ボックスクラス822は、ユーザがマ ウスやキーボードを用いて行った入力を受け付ける。数字等の適当な情報が入力 されると、対話ボックスクラス822は、この入力を受け付け、ローカルDSF プロトコルを用いてエンコードし、コントローラ826を介して演算クラス82 3へ送信する。演算クラス823は、2つの数字と「加算」オペレーションとを 受け取ると、2つの数字の合計を計算する。計算結果は、コントローラ826を 介して、演算クラス823から表示クラス824へと送られる。表示クラス82 4は、計算結果を受け取って、ウィンドウに表示する。 上述の通り、各クラスは、このアプリケーションの階層構造を知る必要はない 。すべての通信は、ただ1つのコントローラに向けられている。例えば、演算ク ラス823は、計算、積分、論理オペレーションを行うクラスを含む数学クラス の1ブランチであってもよい。従来の通信方法では、対話ボックスクラス822 は、演算クラス823との関係で、この階層構造を知る必要があったが、この発 明においては、その必要はない。このアーキテクチャにより、プログラミングの 複雑さが緩和される。即ち、このアーキテクチャにより、より効率良くプログラ ムコードを開発、保持することができる。このため、通信制御クラスを付加して 、そのクラスを介した通信を必要とするというオーバーヘッドは発生するが、コ ントローラ826に、限られたオペレーションを実行させるように設計すること により、プログラムのサイズと処理の速度という観点からは、オーバーヘッドは 最小となる。 (アーキテクチャの拡張) 上述のアーキテクチャ(構成)は、簡単に拡張することができる。この場合に おいては、構成820は、マルチモジュールアプリケーションの1プログラムモ ジュールである。このアプリケーションは、従来の構成によっても、ディジタル ・セル・テクノロジー(DCT)と呼ばれる新しいプログラミング技術によって もよい。DCTにおいては、アプリケーションは、プログラムセルによって構築 されている。DCTと従来の構造との主な違いは、DCTは、セルのオペレーシ ョンを制御する「ボス」を持たないことである。すべてのセルは同等のレベルに 位置し、セルからセルへと、直接に指示が送られる。これとは対照的に、従来の アプリケーションは、メインプログラム(ボス)と様々なレベルのサブプログラ ムから構築されている。下位のサブプログラムが上位のサブプログラムと通信を 行うためには、様々なレベルを通過しなければならない。 第1の拡張例においては、各セルは、構成820と同様に設計されている。そ のため、各セルは、(1)セル内の各クラス間、(2)セル内のクラスと他のセ ルとの間、の通信を管理する通信コントローラを備える。セル内の各クラスは、 相互の通信を直接に行うことはできないように設計されている。 図20は、グループ化されて、アプリケーション850又はアプリケーション の一部を形成する複数のセル852〜855を示している。各セルは、図18の セルと同様に設計されている。そのため、各セルは、セル相互間の通信を管理す るために、通信制御クラス(図20には図示せず)を備えている。アプリケーシ ョン850は、さらに、通信制御セル856を備える。通信制御セル856は、 図18の通信制御クラス826と同様の役割を果たす。各セルは、通信制御セル 856とのみ通信を行うように設計されている。アプリケーション850の通信 プロトコル、及び、オペレーション方法は、構成820のそれと同様である。ア プリケーション850は、通信制御セル856を介して他のアプリケーションや 、インターネット等のデータネットワークとの通信を行うことができる。 図20の構成において、セル内の各クラスは、他のセルが利用できるように形 成されてもよい。この場合において、第1のセル(例えば、セル852)は、通 信制御セル856を介して第2のセル(例えば、セル853)に指示を送る。第 1のセルのコントローラクラスは、第1のセル内の適当なクラスにその指示を送 る。セルは、セル内のいくつかの、又は、すべてのクラスを他のセルから見えな いようにしてもよい。この配置によれば、セル内のクラスを他のセルと共有する ことができる。 図18及び図20のアーキテクチャは、いかなるレベルにも応用することがで きる。各レベルにおける構成要素(例えば、図18におけるクラスや、図20に おけるセル)の数や、レベルの数は、必要とされるアプリケーションの複雑さに よって異なる。この発明によれば、通信は、構成要素やレベルの増加に伴って徐 々に複雑になるが、従来のシステムは、クラスの数やレベルの増加に伴って急激 に複雑となる。 以下、上述のシステムを用いたマルチコンピュータアプリケーションの構成の 例を説明する。図21は、データネットワーク906に接続された複数のコンピ ュータ902〜904を示している。これらのコンピュータは、図20に示すア プリケーション950と同様に構成されたアプリケーションを実行し、図18の プログラミング構造920を使用するように設計されている。例えば、2つのコ ンピュータ、例えば、902と904は、コンピュータ902内の部分910a と、コンピュータ904内の部分910bを実行する。部分910aは、セル9 12、913のようなセルから構成されており、そのうちの1つ(例えば、セル 912)は、コントローラセルである。部分910bもまた、セル916、91 8のようなセルから構成されており、そのうちの1つ(例えば、セル916)は 、コントローラセルである。部分910aが、コンピュータ904内のセル91 8を使用する必要がある場合には、コントローラセル912は、データネットワ ーク906を介して、コントローラセル916にコマンドを送る。コントローラ セル916は、受け取ったコマンドをセル918へ送る。 ここで述べたセル間の通信プロトコルは、上述のPCT特許出願(出願番号: PCT/JP96/00821)におけるセル間の通信プロトコル(DSF)と は若干異なる。 また、この拡張形態は、DCT技術に限定されず、従来のプログラミング構成 に適用することも可能である。 この実施例の通信プロトコルは、第2の実施例に好適である。 第4の実施例 図22Aと図22Bは、従来の技術におけるテキストイメージのスクロールシ ステムを説明するための図であり、同一部分には同一符号を付している。図22 Aに示すように、ウィンドウ1000の中にテキストイメージ1002が表示さ れている。テキストイメージ1002は10行で構成されており、それぞれ“T his is line”で始まり、その後に行番号を伴っている。このスクロ ールシステムはまた、スクロール方向を示す2つの矢印1008、1009を備 える垂直方向のスクロールバー1006を有している。ユーザは、テキストイメ ージ1002を上下にスクロールするために、この2つの矢印1008、100 9をクリックする。なお、テキストイメージやスクロール方向はこの発明を説明 するためのものにすぎず、これらに限定されず、任意である。テキストイメージ 自体は、アスキーファイルのようなテキストベースファイルに基づくコンピュー タシステムによって生成されるのが一般的であり、スクロール方向も垂直方向、 水平方向、斜め方向等、任意である。 図22Bは、矢印1009が1回クリックされた時のテキストイメージ100 2の変化を示している。多くのコンピュータシステムにおいては、1行分スクロ ールするアルゴリズムが用いられている。そのため、図22Aにおいては第2行 目であった“This is line2”が、図22Bにおいては第1行目と なる。つまり、従来の技術におけるテキストイメージのスクロール時の単位は1 行である。マイクロソフト社のMSウィンドウにおいては、VGAディスプレイ の解像度は640×480画素である。VGAの下でスクリーン全体に表示する ことができるのは、通常のフォントサイズの場合、50行未満である。従って、 1行スクロールすると、10画素以上変化する。その結果、テキストイメージの スクロール時に、断続的なイメージしか表示できない。一部のユーザは、その断 続的なイメージに困惑し、グラフィカル・ユーザ・インタフェース(GUI)環 境下で制御されるテキストイメージベースのソフトウェアの使用を敬遠する可能 性がある。 図22A及び図22Bには、垂直方向のスクロールのみを示したが、行の代わ りに1文字単位でスクロールする水平方向のスクロールでも同様のことが言える 。 最小シフト量が大きい原因の1つは、多くのGUIベースのオペレーティング システムが、行単位又は文字単位のアプリケーション・プログラム・インタフェ ース(API)を提供している点にある。例えば、マイクロソフト社のウィンド ウズオペレーティングシステムにおける、「ラインスクロール」機能がそうであ る。この機能は、垂直方向にスクロールさせる行の数や、水平方向にスクロール させる文字の位置を指定するためのパラメータを有している。この機能によれば 、垂直方向のスクロールの最小単位は1行、水平方向のスクロールの単位は1文 字、となる。そのため、スクロール時のテキストイメージは断続的なものとなる 。 「ラインスクロール(LineScroll)」機能やそれに準ずる機能を用いる合理的 理由もある。まず、テキストイメージをスクロールするためには、それが最も効 率的である。プログラマは、簡潔な「ラインスクロール」機能を発行すれば良く 、ウィンドウ上にテキストを表示するための複雑なルーチンを書く必要はない。 また、これが、テキストイメージをスクロールするための唯一の方法である場合 がある。これは、オペレーティングシステムの描画処理の形式が公になっている か否かという問題である。一般に、テキストイメージは様々なフォントやサイズ の文字及び数字を含む。描画ルーチンは、テキストファイルを読み出し、適当な ウィンドウに、正確なフォントサイズで体裁を整えたイメージを書き込む必要が ある。しかし、サイズ、位置、ディスプレイウィンドウの形式、及びフォントラ スタライザは、オペレーティングシステムによって制御され、オペレーティング システムは十分な情報を提供せず、また、独自のスクロールルーチンのための制 御を行わない。 この発明は、プログラマが、GUIベースのAPIを用いた場合のように行単 位ではなく、画素単位でテキストイメージをスクロールすることを可能とする。 画素とは、表示の最小単位である。よって、このスクロール方法によれば、最小 単位でスクロールを行うことができる。 図23は、この発明におけるスクロール処理を示す概要図である。アプリケー ションウィンドウ1050は、インフォメーションエリア1052とクライアン トエリア1054とを備えている。 インフォメーションエリア1052は、オペレーティングシステムによって生 成され、一般的には、ウィンドウに関連するタイトル、メニューバー、ツールバ ーを備えている。クライアントエリア1054は、プログラマやユーザが与えた 情報を表示する。例えば、通常、テキストイメージは、アプリケーションウィン ドウ1050のクライアントエリア1054に表示される。 図23は、アプリケーションウィンドウ1050の子ウィンドウ1060も示 す。「子」ウィンドウ、及び、「親」ウィンドウという概念は、GUIベースの システムにおいてはよく知られている。この発明において、子ウィンドウ108 0は、アプリケーションウィンドウ1050のクライアントエリア1054より もわずかに大きいクライアントエリアを備えている。ウィンドウ1060と10 50とは、アプリケーションウィンドウ1050のクライアントエリア1054 が子ウィンドウ1060に重なって、子ウィンドウ1060の一部がコンピュー タのスクリーンに表示されるように構成される。この発明においては、テキスト イメージは、アプリケーションウィンドウ1050ではなく、子ウィンドウ10 60のクライアントエリアに書き込まれる。アプリケーションウィンドウ105 0のクライアントエリア1054は、フレームの役割を果たし、ユーザは、該フ レーム中のテキストイメージを見ることができる。 図22A及び図22Bのテキストイメージ1002を参照してこの発明を説明 する。 まず、テキストイメージ1002が子ウィンドウ1060に書き込まれる。子 ウィンドウ1060は、第1行、即ち、“This is line 1”が、 アプリケーションウィンドウ1050のクライアントエリア1054の最上部に 位置するように配置される。その後、子ウインドウ1060は、一度に1画素ず つ、上側に移動される。この処理は、MSウィンドウ下では、「ムーブウィンド ウ(MoveWindow)」API機能を用いて実行可能である。子ウィンドウ1060 のうち、アプリケーションウィンドウ1050のクライアントエリア1054に 囲まれた部分のみがコンピュータのスクリーンに表示されるため、テキストイメ ージ1002は、行単位ではなく、画素単位で上方向にスクロールするように見 える。子ウィンドウ1060が1行分完全に上方向にスクロールされる(つまり 、“This is line1”の行がコンピュータのスクリーン上から消え る)と、子ウィンドウ1060は、即座に自分自身を消去し、自分自身を元の場 所に再度書き込む。それとほぼ同時に、ウィンドウズAPIの「ラインスクロー ル(LineScroll)」機能が起動され、子ウィンドウ1060中のテキストイメー ジを1行分スクロールする。その結果、“This is line2”の行が 、“This is line 1”の行に置き換わる。子ウィンドウ1060 が、元の位置に戻るため、この行は、アプリケーションウィンドウ1050のク ライアントエリア1054の最上部に表示される。さらにスクロールを続けると 、子ウィンドウ1060は再び画素単位で上に動く。 子ウィンドウ1060のサイズは、次の点を考慮して定まる。(1)子ウィン ドウ1060は、元の位置に戻る前に1行分上下に移動する可能性がある。この ため、子ウィンドウ1060は、垂直スクロールの場合には、少なくとも垂直方 向に2行分、アプリケーションウィンドウ1050よりも大きくなければならな い。 (2)子ウィンドウ1060は、元の位置に戻る前に1文字分左右に移動する可 能性がある。そのため、子ウィンドウ1060は、水平スクロールの場合には、 少なくとも水平方向に2文字分、アプリケーションウィンドウ1050よりも大 きくなければならない。 図24は、上述の処理を説明するためのフローチャート1100である。ステ ップ1102において、子ウィンドウは、コンピュータのスクリーン上の適当な 位置に、このスクロールシステムによって生成される。子ウインドウの位置は、 テキストイメージの適当な部分が、アプリケーションウィンドウ内に位置するよ うに、アプリケーションウインドウの位置と調整される。ステップ1104にお いて、オペレーティングシステムとアプリケーションソフトウェアとは、ユーザ が、テキストイメージのスクロールを望んでいるか否かを判別する。ユーザがス クロールを望んでいないと判別した場合は、ユーザがスクロールを希望するまで 、 ステップ1104で待機する。ユーザが、テキストイメージのスクロールを望ん でいると判別した場合は、ステップ1106へ進み、ユーザの指示した方向へ、 子ウィンドウを1画素分移動させる。ステップ1108においては、ユーザがさ らにスクロールを望んでいるか否かを判別する。ユーザが、これ以上はスクロー ルを望んでいないと判別した場合は、スクロールを停止する(ステップ1110 )。ユーザがさらにスクロールを望んでいると判別した場合は、垂直方向に1行 分又は水平方向に1文字分、完全にスクロールしたか否かを判別する(ステップ 1112)。完全にスクロールしていない場合は、ステップ1106、つまり、 1画素単位でのスクロールへ戻る。完全にスクロールした場合には、ステップ1 116へ進み、子ウィンドウは自己を消去し、元の場所へ自己を再度描画する。 ステップ1118において、テキストイメージは、API機能の行単位又は文字 単位のスクロール方法でスクロールされる。そして、ステップ1106へ戻り、 1画素単位でのスクロールを行う。 他の例において、ステップ1116において他の動作を行ってもよい。子ウィ ンドウを、素早く元の位置へ戻し、それと同時又はほぼ同時に、ステップ111 8で、行単位のスクロールを実行する。この場合、ステップ1116の処理は、 「消去と再描画」ではなく、「素早く動く」になる。 上述の通り、このシステムにおいては、GUIベースのオペレーティング環境 等で利用可能なAPIを用いて、画素単位でのスクロールが可能である。その結 果、簡単にプログラミングを行うことができる。スクロールを、行単位や文字単 位で行うのではなく、画素単位で行うため、テキストイメージの動きが非常にス ムーズなものとなる。 図22A及び図22B中の行数は、本発明を説明するために用いたに過ぎない 。テキストイメージは、任意の文字数で構成され、任意の行数から構成される。 上述のAPIも、本発明を説明するために用いたに過ぎない。ここでは、特定の 実施例により、この発明を説明したが、発明の広い精神とスコープからはずれる こ となく、様々な応用、変形が可能である。従って、上述の説明、及び、図面は、 限定的なものではなく、説明のためのものであり、この発明は、請求項にのみ拘 束される。 ここでは、特定の実施例により、この発明を説明したが、発明の広い精神とス コープからはずれることなく、様々な応用、変形が可能である。従って、上述の 説明、及び、図面は、限定的なものではなく、説明のためのものであり、この発 明は、請求項にのみ拘束される。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 08/680,049 (32)優先日 平成8年7月12日(1996.7.12) (33)優先権主張国 米国(US) (31)優先権主張番号 08/680,722 (32)優先日 平成8年7月12日(1996.7.12) (33)優先権主張国 米国(US) (81)指定国 EP(DE,GB),CN,JP, KR

Claims (1)

  1. 【特許請求の範囲】 1. 複数のコンピュータ(404−410,410−412)を接続する通 信ネットワークを備えたシステムであって、 前記システムは、 第1のプログラムモジュール(460)と前記第1のプログラムモジュールに 対応付けられた第1のパラメータファイルと、 第2のプログラムモジュールと前記第2のプログラムモジュールに対応付けら れた第2のパラメータファイルと、 を備え、 前記第1のプログラムモジュールは、第1のコマンドを前記第2のパラメータ ファイルへ送信する手段を備え、 前記第2のプログラムモジュールは、第2のコマンドを前記第1のパラメータ ファイルへ送信する手段を備え、 前記第1のプログラムモジュールは、実行結果を前記第2のプログラムモジュ ールへ送信することなく前記第2のコマンドを実行する手段を備え、 前記第2のプログラムモジュールは、実行結果を前記第1のプログラムモジュ ールへ送信することなく前記第1のコマンドを実行する手段を備え、 前記第1のパラメータファイルは、第1のコンピュータに格納され、 前記第1及び第2のプログラムモジュールは、第2のコンピュータに格納され 、 前記システムは、 前記第1のパラメータファイルの少なくとも一部を第2のコンピュータにダウ ンロードするダウンロード手段と、 前記第1のパラメータファイルのダウンロードに応答して前記第1のプログラ ムモジュールを起動する起動手段と、 をさらに備える、 ことを特徴とするシステム。 2. 前記第1及び第2のパラメータファイルはASCIIファイルである、 ことを特徴とする請求項1に記載のシステム。 3. 前記起動手段は、前記第1のプログラムモジュールを起動するために前 記第1のパラメータファイルの拡張子を使用する手段を備える、 ことを特徴とする請求項1に記載のシステム。 4. 各パラメータファイルは、アクセス可能なネットワークアドレスを有し 、 前記システムは、ダウンロードされたパラメータファイル及び付随するアドレ スを格納し、前記第2のコンピュータに格納されたキャッシュ(536)をさら に備える、 ことを特徴とする請求項1に記載のシステム。 5. 前記アドレスは、ユニフォーム・リソース・ロケータを備える、 ことを特徴とする請求項4に記載のシステム。 6. 前記第2のコンピュータは、ダウンロード可能なパラメータファイルを 示すアイコンを備えたディスプレイウィンドウ(452,462,472,47 4)をさらに備え、 前記アイコンにより示されたパラメータファイルは、第3のプログラムモジュ ールを起動することができ、 前記第3のプログラムモジュールは、前記第3のプログラムモジュールを起動 した前記アイコンにより示されたパラメータファイルと関連するパラメータファ イルをさらにダウンロードする、 ことを特徴とする請求項4に記載のシステム。 7. 前記ダウンロードする手段は、ハイパーテキスト・トランスポート・プ ロトコルを備える、 ことを特徴とする請求項1に記載のシステム。 8. 前記第1のコンピュータ(404−406)はサーバであり、 前記第2のコンピュータ(410−412)はクライアントである、 ことを特徴とする請求項1に記載のシステム。 9. 前記第1のパラメータファイルは、第3のコンピュータで作成され、 前記第3のコンピュータはクライアントであり、 前記システムは、前記第1のパラメータファイルを前記第3のコンピュータか ら前記第1のコンピュータへとアップロードする手段をさらに備える、 ことを特徴とする請求項8に記載のシステム。 10. 複数のクライアント(410−412)とサーバ(404−406) を接続する通信ネットワークに接続されたコンピュータであって、 前記コンピュータは、 第1のプログラムモジュールと前記第1のプログラムモジュールに対応付けら れた第1のパラメータファイルと、 第2のプログラムモジュールと前記第2のプログラムモジュールに対応付けら れた第2のパラメータファイルと、 を備え、 前記第1のプログラムモジュールは、第1のコマンドを前記第2のパラメータ ファイルへ送信する手段を備え、 前記第2のプログラムモジュールは、第2のコマンドを前記第1のパラメータ ファイルへ送信する手段を備え、 前記第1のプログラムモジュールは、実行結果を前記第2のプログラムモジュ ールへ送信することなく前記第2のコマンドを実行する手段を備え、 前記第2のプログラムモジュールは、実行結果を前記第1のプログラムモジュ ールへ送信することなく前記第1のコマンドを実行する手段を備え、 前記第1のパラメータファイルは、前記クライアントと前記サーバとのいずれ かに格納されたリモートファイルのアドレスを含み、 前記第1のプログラムモジュールは、前記リモートファイルで決定された動作 を行う、 ことを特徴とするコンピュータ。 11. ハイパーテキスト・トランスポート・プロトコルを用いて、前記クラ イアント(410−412)及び前記サーバ(404−406)と通信する通信 手段をさらに備える、 ことを特徴とする請求項10に記載のコンピュータ。 12. 前記アドレスは、ユニフォーム・リソース・ロケータである、 ことを特徴とする請求項10に記載のコンピュータ。 13. 前記第1及び第2のプログラムモジュールからアクセス可能であり、 前記通信手段によって処理されたアドレスを格納する第1のキャッシュ(536 )をさらに備える、 ことを特徴とする請求項11に記載のコンピュータ。 14. パラメータファイルと結びついたアイコン(832,834)を表示 するブラウザ(530)と、 前記ブラウザによって処理されたアドレスを格納し、前記ブラウザと結びつい ている第2のキャッシュ(535)と、 をさらに備える、 ことを特徴とする請求項13に記載のコンピュータ。 15. それぞれがディスプレイウィンドウ(604,606,608)に対 応付けられ、他のプログラムモジュールと通信を行うことができる複数のプログ ラムモジュールを提供するステップと、 前記複数のプログラムモジュールから、第1のディスプレイウィンドウ(60 4)に対応付けられた第1のプログラムモジュールと、第2のディスプレイウィ ンドウ(606)に対応付けられ、前記第1のプログラムモジュールにより自己 のオペレーションが制御される第2のプログラムモジュールと、を選択するステ ップと、 前記複数のプログラムモジュールから、第3のディスプレイウィンドウ(60 8)に対応付けられた第3のプログラムモジュールを選択するステップと、 前記第3のディスプレイウィンドウと前記第1及び第2のディスプレイウィン ドウとの間の位置的関係を定めるステップと、 前記第1及び第2のディスプレイウィンドウを、前記第3のディスプレイウィ ンドウの子ウィンドウに変化させる変化ステップと、 を備えることを特徴とするグラフィック・ユーザ・インタフェースベースのア プリケーション設計方法。 16. 前記複数のプログラムモジュールから、前記第1、第2、第3のプロ グラムモジュールの親子関係を示す関係ウィンドウに対応付けられた第4のプロ グラムモジュールを選択するステップをさらに備える、 ことを特徴とする請求項15に記載のアプリケーション設計方法。 17. 前記関係ウインドウは、ユーザがウィンドウ間の関係を変化させる変 化手段を備え、 前記変化ステップは、前記関係ウィンドウ(600)を用いて作動する、 ことを特徴とする請求項16に記載のアプリケーション設計方法。 18. 前記第1及び第2のディスプレイウィンドウは、ユーザが、前記第1 及び第2のディスプレイウィンドウを、それぞれ、子ウィンドウに指定すること ができる指定手段を備える、 ことを特徴とする請求項15に記載のアプリケーション設計方法。 19. 前記指定手段は、アイコン(616,617)を備える、 ことを特徴とする請求項18に記載のアプリケーション設計方法。 20. 前記グラフィック・ユーザ・インタフェースベースのアプリケーショ ンは、マイクロソフトウインドウズに基づいたアプリケーションである、 ことを特徴とする請求項15に記載のアプリケーション設計方法。 21. 前記複数のプログラムモジュールは、ディジタルセル技術を用いて設 計されたプログラムセルである、 ことを特徴とする請求項15に記載のアプリケーション設計方法。 22. それぞれがディスプレイウィンドウ(607−609)を備え、他と 相互に通信を行うことができる複数のプログラムモジュールを提供するステップ と、 前記複数のプログラムモジュールから、第1のディスプレイウィンドウと第1 のアイコン(616,617)とに対応付けられた第1のプログラムモジュール を選択するステップと、 前記複数のプログラムモジュールから、第2のディスプレイウィンドウ(60 8)に対応付けられた第2のプログラムモジュールを選択するステップと、 ユーザによる前記第1のディスプレイウィンドウの前記第1のアイコンのクリ ックにより、第1のディスプレイウィンドウを子ウィンドウに変化させることを 指示するステップと、 前記第1のディスプレイウィンドウを前記第2のウィンドウ内に位置させるス テップと、 前記第1のディスプレイウィンドウを、前記第2のディスプレイウィンドウの 子ウィンドウへと変化させるステップと、 を備えることを特徴とするグラフィック・ユーザ・インタフェースベースのア プリケーション設計方法。 23. 前記グラフィック・ユーザ・インタフェースベースのアプリケーショ ンは、マイクロソフトウィンドウズベースのアプリケーションである、 ことを特徴とする請求項22に記載のアプリケーション設計方法。 24. 前記複数のプログラムモジュールは、ディジタル・セル・テクノロジ ーを用いて作成されたプログラムセルである、 ことを特徴とする請求項22に記載のアプリケーション設計方法。 25. 通信を管理するためのオブジェクト指向の所定のクラス(826)を 配置するステップと、 前記所定のクラスとのみ通信し、相互の通信が不可能である、複数のオブジェ クト指向プログラミングクラスを配置するステップと、 前記複数のクラスのうちの少なくとも第1のクラスにより、前記所定のクラス に最初のメッセージを送信する第1送信ステップと、 前記所定のクラスにより、前記第1のメッセージと関連する第2のメッセージ を前記複数のクラスの内の少なくとも第2のクラスに送信する第2送信ステップ と、 を備えることを特徴とするオブジェクト指向のプログラミングクラスの通信管 理方法。 26. 前記第1及び第2のメッセージは、ASCIIフォーマットに従って コード化されている、 ことを特徴とする請求項25に記載の通信管理方法。 27. 前記第1のメッセージは、送信先のクラスのアドレスと前記送信元の クラスへの指示とを示す情報を含み、 前記送信先のクラスは、前記複数のクラスに属している、 ことを特徴とする請求項25に記載の通信管理方法。 28. 前記第1のメッセージを送信する前に、前記複数のクラスのうちの第 1のクラスから、登録メッセージを前記所定のクラスに送信するステップをさら に含む、 ことを特徴とする請求項25に記載の通信管理方法。 29. 前記複数のクラスの前記第1のクラスを終了するとき、前記第1のク ラスから終了メッセージを前記所定のクラスに送信するステップをさらに含む、 ことを特徴とする請求項28に記載の通信管理方法。 30. 指示及びその送信先のリストを作成するステップをさらに含み、 前記送信ステップは、前記第1のメッセージに含まれる指示の送信先を決定す るために前記リストをサーチするステップを含む、 ことを特徴とする請求項25に記載の通信管理方法。 31. 前記複数のクラスに属するクラスは複数のコンピュータ内に存在し、 前記第1及び第2のメッセージの内少なくとも一方はデータネットワークを介し て伝達される、 ことを特徴とする請求項25に記載の通信管理方法。 32. 通信を管理するオブジェクト指向プログラミングの所定のクラス(8 20)と、 各々が前記所定のクラスへのみメッセージを送信することができ、複数のクラ スの他のクラスへはメッセージを送信することができない、複数のオブジェクト 指向プログラミングクラス(822−825)と、 を備え、 前記所定のクラスは、前記複数のクラスの第一のクラスから送信されたメッセ ージに応答して、第2のメッセージを前記複数のクラスの第二のクラスへと送信 する手段を備える、 ことを特徴とするオブジェクト指向のプログラミングクラスの通信管理システ ム。 33. 前記第1及び第2のメッセージは、ASCIIフォーマットに従って コード化されている、 ことを特徴とする請求項32に記載の通信管理システム。 34. 前記第1のメッセージは、送信先のクラスのアドレス及び送信先への 指示を含み、 前記送信先のクラスは、前記複数のクラスに属している、 ことを特徴とする請求項32に記載の通信管理システム。 35. 前記所定のクラスは、 前記複数のクラスに属するクラスから送信された登録メッセージを受信する手 段と、 前記複数のクラスに属するクラスの内、起動されているクラスの情報を記憶す る手段と、 指示とその送信先とのリストを記憶する手段と、 前記複数のクラスの内、少なくとも1つのクラスから送信された終了メッセー ジを受信する手段と、 をさらに備える、 ことを特徴とする請求項34に記載の通信管理システム。 36. 前記複数のクラスは、複数のコンピュータ内に存在する、 ことを特徴とする請求項32に記載の通信管理システム。 37. テキストベースのファイルに基づいてコンピュータシステムによって 生成された文字及び数字を含むテキストイメージのスクロール方法であって、 前記コンピュータシステムは、文字に基づいて定められた所定単位で前記テキ ストイメージをスクロールする手段を含み、 前記テキストイメージのスクロール方法は、 クライアントエリア(1054)を備え、コンピュータのモニタ上に表示され る第1のウィンドウ(1050)を生成するステップと、 前記第1のウィンドウの前記クライアントエリアよりも大きいクライアントエ リアを備える第2のウィンドウ(1060)を生成するステップと、 前記第1のウィンドウの前記クライアントエリアが、前記第2のウィンドウの 前記クライアントエリアの中に完全に位置するように、前記第2のウィンドウの 前記クライアントエリアの位置を定めるステップと、 前記第1のウィンドウの前記クライアントエリアと重なり合っている前記クラ イアントエリアの部分を除いては、前記第2のウィンドウが前記コンピュータの 前記モニタ上に表示されないようにするステップと、 前記テキストベースのファイルの第1のテキストイメージ(100)を、前記 第2のウィンドウの前記クライアントエリアに書き込むステップと、 前記第2のウィンドウを元の位置から前記ユーザが希望した方向に移動させ、 前記テキストイメージの異なる部分を前記コンピュータの前記モニタ上に表示さ せる移動ステップと、 を備える、 ことを特徴とするテキストイメージのスクロール方法。 38. 前記第2のウィンドウの前記クライアントエリアは、前記第1のウィ ンドウの前記クライアントエリアよりも垂直方向に少なくとも1文字分大きい、 ことを特徴とする請求項37に記載のテキストイメージのスクロール方法。 39. 前記第2のウィンドウの前記クライアントエリアは、前記第1のウィ ンドウの前記クライアントエリアよりも水平方向に少なくとも1文字分大きい、 ことを特徴とする請求項38に記載のテキストイメージのスクロール方法。 40. 前記第2のウィンドウは、前記第1のウィンドウの子ウィンドウであ る、 ことを特徴とする請求項37に記載のテキストイメージのスクロール方法。 41. 前記移動ステップは、前記第2のウィンドウを画素単位で移動させる 、 ことを特徴とする請求項37に記載のテキストイメージのスクロール方法。 42. 前記第1のテキストイメージが、前記移動ステップにより、前記所定 単位だけ移動した後、前記第2のウィンドウを元の位置に戻すステップと、 前記第1のテキストイメージと第2のテキストイメージが、前記所定単位だけ 異なるように、前記第2のテキストイメージを、前記テキストベースのファイル から前記第2のウィンドウの前記クライアントエリアに描画するステップと、 をさらに備えることを特徴とする請求項37に記載のテキストイメージのスク ロール方法。 43. 前記第2のウィンドウの前記クライアントエリアは、前記第1のウィ ンドウの前記クライアントエリアよりも垂直方向に少なくとも1文字分大きい、 ことを特徴とする請求項42に記載のテキストイメージのスクロール方法。 44. 前記第2のウィンドウの前記クライアントエリアは、前記第1のウィ ンドウの前記クライアントエリアよりも水平方向に少なくとも1文字分大きい、 ことを特徴とする請求項43に記載のテキストイメージのスクロール方法。 45. 前記第2のウィンドウは、前記第1のウィンドウの子ウィンドウであ る、 ことを特徴とする請求項42に記載のテキストイメージのスクロール方法。 46. 前記移動ステップは、前記第2のウィンドウを画素単位で移動させる 、 ことを特徴とする請求項42に記載のテキストイメージのスクロール方法。
JP50585398A 1996-07-12 1997-07-14 ネットワークにおけるプログラムモジュール及びパラメータファイル Ceased JP2001506020A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US08/680,722 US5764908A (en) 1996-07-12 1996-07-12 Network system containing program modules residing in different computers and executing commands without return results to calling modules
US08/680,049 1996-07-12
US08/679,055 US6031527A (en) 1996-07-12 1996-07-12 Methods and systems for developing computer applications
US08/679,202 1996-07-12
US08/679,202 US5974469A (en) 1996-07-12 1996-07-12 System for managing communication between program modules
US08/680,722 1996-07-12
US08/679,055 1996-07-12
US08/680,049 US5877761A (en) 1996-07-12 1996-07-12 Method for smooth scrolling of text using window
PCT/JP1997/002435 WO1998002823A2 (en) 1996-07-12 1997-07-14 Program modules and parameter files in a network

Publications (1)

Publication Number Publication Date
JP2001506020A true JP2001506020A (ja) 2001-05-08

Family

ID=27505381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50585398A Ceased JP2001506020A (ja) 1996-07-12 1997-07-14 ネットワークにおけるプログラムモジュール及びパラメータファイル

Country Status (3)

Country Link
EP (1) EP0912931A2 (ja)
JP (1) JP2001506020A (ja)
WO (1) WO1998002823A2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001227805A1 (en) * 2000-01-10 2001-07-24 Science Applications International Corporation "data integrator" system for collecting, fusing and displaying information including persistent connection and storage arrangement

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3381300D1 (de) * 1983-03-31 1990-04-12 Ibm Abbildungsraumverwaltung und wiedergabe in einem bestimmten teil des bildschirms eines virtuellen mehrfunktionsterminals.
CA2064508A1 (en) * 1991-04-26 1992-10-27 John D. Gerlach, Jr. Methods and apparatus providing for a multimedia authoring and presentation system
US5519875A (en) * 1991-08-08 1996-05-21 Hitachi, Ltd. Distributed processing system for modules, each having modularized objects
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system
WO1994028480A1 (en) * 1993-05-24 1994-12-08 Media Station, Inc. Interactive multimedia development system and method

Also Published As

Publication number Publication date
WO1998002823A2 (en) 1998-01-22
WO1998002823A3 (en) 1998-10-08
EP0912931A2 (en) 1999-05-06

Similar Documents

Publication Publication Date Title
US5764908A (en) Network system containing program modules residing in different computers and executing commands without return results to calling modules
US6275227B1 (en) Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor
AU2008206688B2 (en) Method and system for creating IT-oriented server-based web applications
US9369545B2 (en) Accessing and displaying network content
US6003047A (en) Non-hierarchical application interface for HTML-based network storage management programs
US6674450B1 (en) Interactive data-bound control
US7287229B2 (en) Template-driven process system
US20020018078A1 (en) System, method, and article of manufacture for generating a customizable network user interface
US20060015817A1 (en) Method to dynamically customize a web user interface
US20100161713A1 (en) Method and system for personalizing a desktop widget
US6401237B1 (en) Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
JP2005531083A (ja) グラフィカルユーザインタフェースのプロトタイピング
JP2010009623A (ja) 異種装置プラットフォーム間を移動するプラットフォーム特定型のグラフィカルユーザインターフェイスのウィジェットの変換
US8117553B2 (en) Method and system to maintain a user interface context
JPH10340252A (ja) 書式作成方法
JP2002073242A (ja) アノテーション方法、アプリケーションウィンドウに対する追加的な書き込み方法、コンピュータ装置、自動契約機、コラボレーションシステム、記憶媒体、コンピュータ・プログラム・プロダクト、およびプログラム伝送装置
CN113326044A (zh) 一种基于控件库的开发方法、系统及存储介质
US20220109718A1 (en) Method and system for establishing a web-based virtual module desktop for software module selection and executing the system
CA2354144A1 (en) Fast transmission of graphic objects
JP2001506020A (ja) ネットワークにおけるプログラムモジュール及びパラメータファイル
US20050033822A1 (en) Method and apparatus for information distribution and retrieval
KR100445523B1 (ko) 데이터처리시스템및방법
Grundy et al. Experiences developing architectures for realizing thin‐client diagram editing tools
JPH10105499A (ja) クライアント/サーバシステムおよびクライアント/サーバシステムに使用されるプログラムを記録した記録媒体
EP1480123A2 (en) A network component system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20050530

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050705