JP3694167B2 - パーソナル会議方法及びシステム - Google Patents
パーソナル会議方法及びシステム Download PDFInfo
- Publication number
- JP3694167B2 JP3694167B2 JP08973098A JP8973098A JP3694167B2 JP 3694167 B2 JP3694167 B2 JP 3694167B2 JP 08973098 A JP08973098 A JP 08973098A JP 8973098 A JP8973098 A JP 8973098A JP 3694167 B2 JP3694167 B2 JP 3694167B2
- Authority
- JP
- Japan
- Prior art keywords
- conference
- client
- model
- computer
- model data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、パーソナル会議システムに関する。
【0002】
【従来の技術】
パーソナル会議システムによって、コンピュータ・ユーザはすべての参加者にとって都合のよい場所に移動するかわりに、ユーザ自身のディスクから会議に参加することが可能となる。電話システムが2加入者以上に対する会議呼出を包含するかたちで発達してきたように、コンピュータ・システムは数多くのネットワーク・コンピュータ・ユーザが一つの会議に参加することを可能とするように発達してきた。パーソナル会議を行う一例として、他のコンピュータ・ユーザとリアル・タイムでテキストまたは音声でミーティングを行うことができるインターネットの「チャット・ルーム」を挙げることができる。「チャット・ルーム」型の会議が発展すると、パーソナル会議システムが数多くの参加者によるアプリケーションの共有を試みるアプリケーション型会議となる。これの一例として、参加者が「共通」のホワイト・ボードを利用して同一図面の参照および編集が可能な「ホワイト・ボード」アプリケーションが挙げられる。別の例としては、各参加者がコンピュータ・スクリーン上に表示された分子の修飾および処理を行うことができる分子モデリング・アプリケーションが挙げられる。
【0003】
いくつかのパーソナル会議システムは、ピア・トゥ・ピア様式でもって実現される。この一例は、IBM Corporation(以下、IBMとする)が開発した製品PM2PMおよびPerson to Person/2である。この環境下で、例えば図1に示されるように、会議マネージメント/呼出マネージャ・プログラム(18A、18B)はネットワーク(14)全体と通信する1つ以上のネットワーク・アダプタ(12A、12B)のサービスを利用する各コンピュータ(10A、10B)で実行される。 いくつかの特別に書かれたパーソナル会議アプリケーション(16A、16B、16C)が会議管理プログラムに接続する。もし会議に共用チョークボードが含まれるならば、例えば、各々の参加しているノード・チョークボード・パーソナル会議アプリケーション(16A、16B、16C)が実行されよう。これらのアプリケーションは互いにデータ・パケットを送ることで、会議マネージメント・プログラム(18A、18B)のサービスが利用できる。
【0004】
しかし、このような構成には以下のような欠点がある。
【0005】
(i)会議マネージメント・プログラムは同一の共用チョークボードに対応する各ノード上のアプリケーションのデータ(または他のデータ)が同一であるかどうかを確かめる責任を持たないので、アプリケーションは創出しなければならず、またそのように行うためにそれらの間のプロトコールを使用する。
【0006】
(ii)各ノードは、その対等物が格納するデータと完全に同一なコピーを格納しないことを決る可能性がある。この設計決定は高速実現を促進する傾向にあるので、しばしばすぐには分からない副作用を伴うエラーとなる。
【0007】
(iii)もし新規参加者が会議に接続するならば、チョークボード内のデータのコピーはノードの一つから伝達されなければならない。もし各ノード上のデータが同一でなければ、どのデータを送るのが最善か?転送を効率良く行うために、アプリケーションはネットワーク地理学のアプリケーションを必要とし、アプリケーションの実現がさらに複雑化する。新規参加者が会議に接続し、既存のアプリケーションを共有することを望むならば、歩調を合わせなければならない。
【0008】
(iv)アプリケーションにおけるこの特別の厄介な問題すべて(歩調合わせを維持するためのピア・トゥ・ピア・プロトコール、転送の接続および切断、地理学の知識)を各種類のアプリケーションで繰り返さなければならない。
【0009】
(v)システム内に固有の「会合場所(ミーティング・ポイント)」がないので、人は自分自身で会議に参加するための準備が整っていることを示さなくてもよい。純粋にピア・トゥ・ピア・システムでは、いつでも納得のいく電源投入が期待できるサーバは存在しない。
【0010】
いずれのパーティによる共有されたデータの処理を許さないパーソナル会議の一例は、単純化されたピア・トゥ・ピア、例えばData Connection Limitedによって開発されたNeWI環境の共有ホワイトボード・アプリケーションである。ホワイトボードは、一参加者あたり一面が割り当てられる多数の面を有する。各参加者は該参加者自身の面を利用することができ、この面への変更は他の参加者に送られる。したがって、他の参加者は新たな面を見ることができる(しかし、変更を加えることはできない)。誰もが他者の面上のピクチャを変えることができないので、共有データの共有処理はありえない。なお、「NeWI」はData Connection Limitedの登録商標である。
【0011】
単純化されたピア・トゥ・ピアはさらに別の欠点を有する。共有ホワイトボードの例では何らかのユーティリティがそのようなツールによって提供されるけれども、ほとんどの値はデータの共有処理にある。このシステムを実現するのは簡単ではあるが、「会議」のこのような様式では共有処理でのテキスト編集および他の形式を実行することが困難である。
【0012】
【発明が解決しようとする課題】
したがって、ピア・トゥ・ピア会議システムの主要な問題の一つは、会議モデルの保全性を保つためにすべての宛先/ノードにおいてすべてのデータが同一のオーダに到達しなければならないことである。
【0013】
異なる種類のパーソナル会議はIBMによって開発されたXTVシステムによって提供される。このシステムは、Xwindowsシステムの改良/変更である。もし種々の参加者から入力イベント(マウスのクリック、キーストローク等)が所定のマシンに伝わり、実行されているプログラムに適用され、さらに参加者へ返送される画面(またはプログラムのウィンドウ)上に変更が生ずるならば、パーソナル会議の基本形態が達成させる。
【0014】
XWindowsはクライアント・サーバ・システムであり、それによってサーバはユーザ入力を提供する機能を果たし、またサーバの画面上に描く機能を果たす。一般に、各ユーザは該ユーザのマシン上で走るXserver(20)を所有し、またデータ・ストリームはXTVインタセプタを介してXserver(20)に送られX−プロトコルを用いてそれにグラフィック表示させる。Xwindowsがクライアント・サーバであり、またX−プロトコルがそれらの間で転送されることから、異なるマシンで実行されるクライアントおよびサーバにとってそれはありふれたことである。 XWindowsはネットワーキングを実現し、さらにこれは共同作業(パーソナル会議として)が望まれる場合に役に立つ。出力に関しては、XTV(22)はクライアント(24)で実行されているアプリケーションによってサーバ(26)に送られるX−プロトコルを傍受する。それによって、いくつかのX−サーバ(20)へこのデータの出力が広がり、いくつかの参加者に対してプログラム・ウィンドウが見えるようにする。同様に、入力はいくつかのXサーバ(20)から引き出され、共有(多重アクセス可能)アプリケーションが実行されているマシンに振り向けられる。XTVおよびXWindowはIBMの登録商標である。
【0015】
標準的なXWindowにおけるクライアントとサーバとのインタラクションを図2に示し、また「中間にある」XTV(22)とのインタラクションを図3に示す。XTV(22)は、いくつかのアプリケーションとサーバとの間で入力および出力トラフィックを転送し、すべての存在する非共同的アプリケーションとともに作業するという利点を有する。
【0016】
しかし、図2および図3に示した構成は、以下のような欠点(i)〜(v)を有する。
【0017】
(i)共同的アプリケーション「使用可能(イネーブラ)」ではない。
【0018】
(ii)非共同的アプリケーションは一人のユーザを念頭において書かれたものであり、一方キーストロークおよびマウスクリックはいろいろなユーザからのもので、すべてが遅れずに割込する。
【0019】
(iii)すべてのユーザが全く同じデータのみを見るだけであり、例えば第二のユーザがノーマル・サイズの表示を見ている一方で、第一のユーザが拡大された表示を見ることはできない。
【0020】
(iv)アプリケーション・データに対する変更は、数多くの画面の変更(したがって、X−プロトコル)をもたらすことができ、この問題はすべての参加者に対してその時点で送られるという事実によってさらに悪化させる。
【0021】
(v)アプリケーションはまさに一つのマシン上でしか実行されず、そのためそれが保持するデータはすべてのマシンが共有ファイル・システム(例えば、AFSまたはDFS)を共有するにもかかわらずそのマシンでしかアクセスすることができない。たとえ、マシンが共通のファイル・システムにアクセスするとしても、同一のファイルに対してドライブの文字やパスネームはマシン間で異なるものであってもよい。一般に、遠隔データ処理の場合、遠隔マシン上で実行していることを考慮しなければならない。このことはユーザにとって複雑な物事となる。
【0022】
パーソナル会議システムのほとんどの種類に当てはまる別の問題は、新規参加者に対してもっとも近くに存在する(ネットワーク速度の面で)参加者を選択することによってネットワーク・パフォーマンスを最適化する試みがなされていないことである。一般に、パーソナル会議システムはデータを任意の既設ノードから新規ノードへ転送する。
【0023】
Hewlett−Packardの欧州特許EPO497022は、分散オブジェクト準拠コンピュータ・システムに関するもので、該システムでは共有可能なオブジェクトがクライアント・コンポーネントとサーバ・コンポーネントとに分割される。また、システムはサーバ間でのメッセージの送信およびアップデートの受け渡しを行うために互いに通信する多数のサーバ向けに設計されている。
【0024】
【課題を解決するための手段】
本発明の実施形態例では性能に多数の部門を利用する。モデル(Model)/ビュー(View)/コントローラ(Controller)(MVCと略す)の一つは実行中のアプリケーションで使用される一部門である。そのようなアプリケーションは、明確に定義されたインタフェースおよび責務により3つの論理部に分割される。
【0025】
モデルは、アプリケーションが表示されて処理可能となるデータである。しかし、モデルそれ自身はデータおよび該データの変更を可能とする入口点(すなわち、方法)のみを含む。モデルは、どのようにしてデータがユーザに対して提示されるかについての概念を持たず、あるいはどのようにして意図するデータの変更/修飾の指示または指定することが許可されるかについての概念を持たない。チョークボード・アプリケーションの例では、モデルは画像を表すビットマップであってもよい。モデルは現在のペンの色、色塗りのスタイル、またはフォント設定等の任意の概念を含むものではない。モデルでのデータの修飾は入力点/方法を介して達成され、さらにモデルの新規の状態は古い状態および入力点(すなわち、入力点は純粋で、汎用データは不使用)に対するパラメータから全体的に決定される。この記述において、入力点/方法はモデルのデータまたは「処理手段」上で処理されることに関連している。
【0026】
ビューはユーザに対してモデルの現在の状態を示すためのユーザ・インタフェース・コンポネントである。それは、非外部または非グローバル変数にアクセスすることで、どのようにして表示設定されたモデル・データから純粋にモデルを表示するかを決定する。すなわち、特定のモデルを与えることでいつでも同一のビジュアル表示が得られよう。チョークボード・アプリケーションの例では、ビューはウィンドウのクライアント領域にあるモデルのビットマップをスクロールバーとともに表示する。
【0027】
コントローラは、ユーザによるモデルに対する変更の指定を可能とさせるユーザ・インタフェース・コンポネントである。チョークボード・アプリケーションの例では、コントローラはチョークボード上で矩形(または他のグラフィック・シンボル)を描くことをユーザが決定する場合に生ずるラバーバンディングを表示する役割を果たしている。コントローラはモデル(例えば、矩形の描画)を直接修飾することはせず、むしろこの仕事を実行するためにモデルの入力点を呼び出す。コントローラは、ユーザが行ったペンの色およびフォントに対する現在の変更を保つことができ、またこの情報をモデルに送られた矩形描画命令の一部分として転送される(変更が完全に指定される目的で)。この記述において、コントローラは処理命令または生成手段の生成することに関連している。
【0028】
効率化のためにモデルに変更が加えられた場合、それ自身のビュー(または複数のビュー)にそれが変更された事実を通知する。これによって、変更を反映させるためにビューがそれ自身を描画することが可能となる。あるいは悪影響を受けるそれ自身の部分を選択的に再描画する。
【0029】
実際には、コントローラとビューとの違いは、しばしばはっきりとしないものとなる。チョークボードの場合、同一クライアント・ウィンドウはビットマップの現在のビューを表示するとともに、コントローラとの現在のユーザ・インタラクションにもとづいて実施されるラバーバンディングを表示する。
【0030】
本発明の実施態様は、これらの問題および他の問題の解決を試みている。
【0031】
接続された一台またはそれを上回る数のクライアント・コンピュータ(32A、32B、32C)を有するサーバ・コンピュータ(30)のためのパーソナル会議方法は、(a)会議モデル・データ(60)をサーバ・コンピュータ(30)に格納するステップと、(b)クライアント・コンピュータからの命令(64A)を受信するやいなや会議モデル・データ(60)を処理(62)するステップと、(c)サーバ・コンピュータ(30)から各々のクライアント・コンピュータ(32A、32B、32C)に再送するステップとを有し、各クライアント・コンピュータ(32A、32B、32C)は該クライアント・コンピュータ上に保持された会議データ・モデルのコピーに対して同一を実行する。それによって、会議モデル・データ(60)のすべてのコピーはサーバ・コンピュータに保持された会議モデル・データに対応する。
【0032】
クライアントよりはむしろサーバからアップデートされる会議モデルを各クライアントが持つ会議システムのためのクライアント/サーバ構成を用いることは、あきらかに有利である。任意の(非ブロークン)パーソナル会議システム設計にとって必須の連番(シリアリゼーション)機構が提供される。すべての編集メッセージは、クライアント・コンピュータに送られる際にサーバ・コンピュータを通過するので、中央にシリアリゼーションを行う場所が提供される。サーバ・コンピュータは、すべてのクライアント・コンピュータに対するデータの同時転送を約束することができ、すべてのクライアント・コンピュータ・システムが同一のものを表示することが保証される。
【0033】
さらなる利点は明らかである。例えば、パーソナル会議システムの設計はモデル/ビュー/コントローラ構成を取り込むことによって明確化され、かつ単純化される。また、会議モデルに対する変更をインターセプトすることおよびクライアント・コンピュータに対する変更を分散させることは、対応する画面のビューを実現するもっとも単純な方法である。そのような設計において、サーバ・コンピュータはいかなるユーザ・インタフェース・コードからも解放されている。
【0034】
サーバ・コンピュータそれ自身は、永久的な「会合場所」を提供する。この「会合場所」でクライアントは該クライアントの存在および共有された作業への参加意志とを宣伝する。このような利点は、ピア・トゥ・ピア・システムでは特に欠けている。
【0035】
本発明の第2の態様にもとづくと、サーバ・コンピュータに接続された一台またはそれを上回る数のクライアント・コンピュータのためのパーソナル会議方法を提供するもので、該方法は、(a)上記クライアント・コンピュータの各々が会議モデル・データのコピーを格納するステップと、(b)上記クライアント・コンピュータの一つが会議モデル・データを処理する命令を生成し、サーバ・コンピュータへ上記命令を送るステップと、上記クライアント・コンピュータの各々がサーバ・コンピュータからの命令のコピーを受信し、該命令にもとづいて上記クライアント・コンピュータの各々のモデルを処理するステップとを有するもので、さらに、異なるクライアントからの複数の異なる処理命令後に、会議モデル・データの各々のコピーは互いに対応するものとなる。
【0036】
本発明の第3の態様にもとづいて、サーバ・コンピュータと少なくとも2台のクライアント・コンピュータとを有するパーソナル会議システムを提供する。このシステムにおいて、サーバ・コンピュータは、会議モデル・データと、クライアント・コンピュータから命令を受信し、該命令にもとづいて会議モデル・データを処理する手段とを備え、また、クライアント・コンピュータは、命令を生成し、該命令をサーバ・コンピュータへ送る手段を備え、さらにサーバ・コンピュータが受信した命令をすべてのクライアント・コンピュータへ分散する手段を有し、またクライアント・コンピュータの各々は、さらに会議モデル・データのコピーと、サーバ・コンピュータからの分散された命令を受信し、サーバ・コンピュータから受信した命令にもとづいて会議モデル・データのコピーを処理する手段とを備えることを特徴とする。
【0037】
本発明の第4の態様にもとづいて、メッセージ通信のために接続した少なくとも2台のコンピュータを有するパーソナル会議システムを提供する。このシステムにおいて、各コンピュータは、会議モデル・データと、会議モデル・データを処理するための命令を生成し、該命令を他のコンピュータへ送る手段と、命令にもとづいて会議モデル・データを処理する手段とを備え、さらにコンピュータの一つがサーバ・コンピュータであり、他のコンピュータが該サーバ・コンピュータと接続されたクライアント・コンピュータであり、サーバ・コンピュータは、さらに接続されたクライアント・コンピュータのすべてに分散するための手段を有し、また処理のための手段は、サーバ・コンピュータから分散された命令を受信するための手段を有する。したがって、異なるコンピュータからの処理命令のシーケンスは会議モデル・データの各々のコピー上で同時に実行されよう。
【0038】
パーソナル会議システムは、サーバ・オブジェクトおよび複数のクライアント・オブジェクトと、モデル・データ(60)および命令メッセージ(64)に対するモデル・データ(60)を処理する手段(62)を有するモデル・オブジェクト(36A)と、モデル・オブジェクト(36A)を処理するための命令を生成する手段を有する各クライアント・オブジェクト(36)とを備え、さらに、各クライアント・オブジェクト(36)は関連したモデル・オブジェクトを有し、各クライアント・オブジェクト(36)はさらに処理命令をサーバ・オブジェクトに送る手段(36B)を有し、それによって、実行されるべき異なるクライアント・オブジェクト(36)からの命令のシークエンスをモデル・データ(60)の各インスタンス上の各モデル・オブジェクトによって同時に実行することが可能となる。
【0039】
好ましくは命令は変数を有するOpcodeの形態にある。これは会議モデル・データに対する修飾を実装する上で簡便な方法である。修飾はそれを生成したクライアント・コンピュータからサーバ・コンピュータへ、またサーバ・コンピュータから会議に従事するすべてのクライアント・コンピュータへ簡単に分散されることが可能である。明らかに、もし同一の初期会議モデル・データが多くのクライアント・コンピュータに存在するものならば、同一の処理を会議モデル・データのすべてのコピーに適用することで同一モデルが生ずるであろう。
【0040】
好ましくは、会議に参加することを望み、またサーバ・コンピュータに対してそのような要求を行うクライアント・コンピュータへ会議モデル・データのコピーを送る。これによって、新規のクライアント・コンピュータが任意の場所で会議に参加することを可能とさせ、またその場所で正確かつ信頼性のある会議録のコピーを受け取ることを可能とさせる。好ましい実施形態例では、ブランク・テンプレート会議モデルはクライアント・コンピュータ上に格納され、それの状態はサーバに保持された会議モデル・データの状態に一致するように変更される。
【0041】
好ましい実施形態例では、サーバ・コンピュータおよびクライアント・コンピュータで実行される方法は、Java等の上位バイト・コードの制御下にある。これによって、会議の異機種間の移植性が可能となる。マシン上位バイト・コードはクライアント・コンピュータ上で走るネットワーク・ブラウザによってサーバ・コンピュータからダウンロード可能である。このことは、事前にクライアント・コードをインストールしておく必要性がまったくなくワールド・ワイド・ウェブからリアル・タイムでダウンロードすることですでにインターネットに接続されているほとんどのコンピュータの連結性を容易にする。
【0042】
好ましい実施形態では、各クライアント・コンピュータはコンピュータの画面上に会議モデルをグラフィック表示する。したがって、各クライアント・コンピュータは会議モデル・データがそれ自身の画面上、すなわちビューに表示される方法の細目に適応し、一方で同時に他のクライアント・コンピュータの各々と同様の会議モデル・データを表示する。
【0043】
好ましい実施形態例では、サーバ・コンピュータは会議モデル・データをグラフィック表示する必要性はないけれどもクライアント・コンピュータ上の会議モデル・データのすべてのコピーを保全する責任を持つことで会議での中心的役割を担う。サーバ・コンピュータ上に集中化された会議モデル・データは、マスタとしての役割を果し、すべてのクライアント・コンピュータに対して歩調を合わせるように強いる。
【0044】
上位マシン・コードはJava仮想マシンに必要とされるバイト・コード等のプラットフォームから独立したコードである。Javaバイト・コード等の上位マシン・コードは、アプリケーションから独立したオペレーティング・システム/プラットフォームを提供する。また、Javaバイト・コードは再コンパイルすることなしに任意のJava使用可能プラットフォーム(Java実行可能環境を有するオペレーティング・システムまたは仮想マシン)上で実行可能である。JavaはSUN MICROSYSTEMS CORPORATIONの登録商標である。
【0045】
【発明の実施の形態】
本発明の実施形態例であるクライアント/サーバの構成は、図4に示すように、3台のクライアント・コンピュータ(32A、32B、32C)に直接接続したセントラル・サーバ・コンピュータ(30)を有する。クライアント・コンピュータ(32A)は、メモリ(38)および(または)クライアント・コンピュータのディスク上に格納されたクライアント・コード(36A、36B、36C)の命令に従って稼働するプロセッサ(34)を有する。クライアント・コンピュータ(32A)の映像出力は、プロセッサ(42)に接続されたモニタまたはLCD画面等のビデオ周辺機器(40)を介して行われ、またクライアント・コンピュータ(32A)に対するユーザ入力はプロセッサ(34)に接続されたキーボード(42)またはコンピュータ・マウス(43)によって行われる。クライアント・コンピュータは、さらにネットワーク・アダプタ(44)を備える。このネットワーク・アダプタ(44)の一端はプロセッサに接続し、その他端はコンピュータ・ネットワーク(46)に接続している。これら2種類のコンピュータ・ネットワークの例として、企業内イントラネットとインターネットとが挙げられる。クライアント・コンピュータの一例は133MHzの486マイクロ・プロセッサ、1ギガバイトのハードディスク、16メガバイトのメモリ、および16インチのモニタを備えたIBMのAptivaコンピュータである。
【0046】
サーバ・コンピュータ(30)は、該サーバ・コンピュータのメモリ(52)および(または)ディスク上に格納されたサーバ・コード(50A、50B)(サーバ・プログラム・コード)の命令に従って稼働するプロセッサ(47)を有する。映像出力は、必ずしも必要としないがプロセッサ(48)に接続されたモニタまたはLCD画面等のビデオ周辺機器を介して行うこともできる。また、ユーザ入力も必ずしも必要としないがプロセッサ(48)に接続されたキーボードまたはコンピュータ・マウスを介して行うことができよう。サーバ・コンピュータ(30)は、さらにネットワーク・アダプタ(54)を備える。このネットワーク・アダプタ(54)の一端はプロセッサ(48)に接続し、その他端はコンピュータ・ネットワーク(46)に接続している。これら2種類のコンピュータ・ネットワークの例として、企業内イントラネットとインターネットとが挙げられる。クライアント・コンピュータの一例はIntelP200MHzマイクロ・プロセッサ、20ギガバイトのハードディスク、および64メガバイトのメモリを備えたIBMのRISC6000コンピュータである。
【0047】
クライアント・コード(36A、36B、36C)の各々の具体例は、3つの主要部分から構成される。すなわち、会議モデル・オブジェクト(36A)(ConferencingAppletModelクラスのインスタンス)、会議コントローラ・オブジェクト(36B)(ConferencingAppletControllerクラスのインスタンス)、および会議ビュー・オブジェクト(36C)(ConferencingAppletViewクラスのインスタンス)である。クライアント・コードは、サーバに格納されたワールド・ワイド・ウエブ(WWW)のページ(58)に含まれるクライアント・アプレット(56)を形成する。クライアント・コード(36)の数多くのインスタンスが存在するのと同じぐらいクライアント・コンピュータ(32A、32B、32C)が存在し、クライアント・コードのインスタンスがダウンロードされ、各クライアント・コンピュータ(32A、32B、32C)に格納される。
【0048】
クライアント・コンピュータ(32A)上にクライアント・コードのインスタンスをダウンロードまたは生成するために、インターネットに接続されたJava使用可能ウエブ・ブラウザを有するコンピュータを必要とする。すなわち、クライアント・アプレット(56)を含む会議ウエブ・ページ(58)にアクセスし一覧することで、ブラウザはクライアント・コンピュータ(32A)上にクライアント・アプレット(56)をコピーする。アプレット(56)は普通ダウンロードで動作するが、カーソルおよびマウス(43)を用いてモニタ(40)上に表示されたボタン・アイコンの選択等のイベント(事像)を行った後でも動作することも可能である。
【0049】
サーバ・コード(50A、50B)は2つの主要な部分から構成される。すなわち、会議マネージャ(50A)(会議システム・マネージャ・クラスのインスタンス)および会議モデル・オブジェクト(50B)(ConferencingAppletModelクラスのインスタンス)である。サーバ・コードに使用される他のサーバ・オブジェクトは、ServerMainオブジェクト(50C)、Connectionオブジェクト(50D)、およびServerMonitorオブジェクト(50E)である(図4を参照)。
【0050】
ServerMainオブジェクト(50C)は、クライアントから入ってくるネットワーク接続を傾聴して受け付ける。接続が受信されると、それによってConnectionクラス(50D)のインスタンスが生成される。ServerMainオブジェクトはまた、たった一つの会議システム・マネージャ・オブジェクトを生成し、かつ所有する。
【0051】
Connectionクラスのインスタンス(50B)は、各クライアントに対してConnectionオブジェクトが存在するように、ネットワーク接続がサーバによって受信されるたびに生成される。それによって個々のクライアントに対する接続が表現される。Connectionオブジェクト(50D)は、クライアントから入ってくるメッセージを続けて傾聴し、該メッセージを会議システム・マネージャ・クラスへ送る。また、Connectionオブジェクト(50D)はConferencingSystemManagerオブジェクト(50B)からクライアントへメッセージを送り返す。
【0052】
ConferencingSystemManagerオブジェクト(50B)は、サーバに対して同時に起こるマルチ・パーティ会議を管理する。進行中の各会議は、ConferencingAppletModelクラス(または詳細にはそれのサブクラスのうちの一つ)のインスタンスによって表される。進行中の各会議はすべてのメッセージで承認される「モデルID」によってそれ自身のモデル・クラスを識別する。
【0053】
ServerMonitorオブジェクト(50E)は、ConferencingSystemManagerオブジェクト(50B)のアクティビティをグラフィックで表現する。このグラフィックス表示は管理者によって会議システムでのアクティビティを監視する際に利用される。
【0054】
ConferencingAppletModelクラス(50A)は、すべての会議モデルに対してスーパクラスである。各々の種類のマルチ・パーティ会議はそれ自身の会議アプレット・モデルのサブクラスを生成する。例えば、チャット・アプリケーションのチャット会議モデル、チョークボード・アプリケーションのChalkboadConferenceModel、その他を挙げることができよう。モデル・オブジェクトは、モデル・データ(60)の形で会議の現在の状況を維持する。それによって、以下の3つの重要なメソッドが提供される。
【0055】
applyOpCode() (62)は、オペランドおよびそれ自身の変数(クライアントからのメッセージで受け取られるのと同様に)をモデルに適用し、それによって更新されるモデルのデータ(60)(状態)が生ずるであろう。
【0056】
setState() (60)(状態)は、モデルにそれ自身のデータ(60)(状態)をメッセージに送られたものに設定させる。
【0057】
getState() は、モデルにそれ自身の現在の状態が含まれるメッセージを生成させる。
【0058】
クライアント・コードで使用される他のクライアント・オブジェクトは、Sharerオブジェクト(36D)およびSharerReaderオブジェクト(36E)である(図5参照)。
【0059】
ConferencingAppletModelオブジェクト(36A)はサーバで使用されるオブジェクトと同一であり、以下に記述するサブクラスを有する。
【0060】
ConferencingAppletViewクラスはすべての会議ビュー・コントローラ(ユーザに対して会議の現在の状態を表示することに使用、例えばチャット会議の追記)のスーパクラスである。各々の種類の会議はそれ自身のConferencingAppletViewのサブクラスを導入する。クラス・インスタンス(36C)のビューはモデルと一対一に対応する。モデルのデータ(60)が変更されると、それ自身の再描画をさせるビューのinvalidate()メソッドを呼出す。
【0061】
ConferencingAppletViewクラスはすべての会議ビュー・コントローラ(サーバへのメッセージ送信およびサーバからのメッセージ読取りに使用)のスーパクラスであり、コントローラ・オブジェクト(36B)を形成する。コントローラ・オブジェクト(36B)はビューおよびモデルと一対一の関係にある。ユーザ・アクションがエンド・ユーザ・インタフェースで実行されると、ビューは実行されるべきアクションのコントローラに知らせる。コントローラは、これをメッセージの中に構成してサーバ(30)へ送る。サーバ(30)はメッセージを会議のすべてのコントローラへ同報通信する。同様に、コントローラは入ってくるサーバからのメッセージを傾聴し、それを評価のためにモデルのapplyOpcode()メソッド(62)へ送る。
【0062】
Sharerオブジェクト(36D)は、サーバとのソケット接続を確立するために、そしてメッセージをそれに送るために会議アプレット・コントローラによって使用される。
【0063】
SharerReaderオブジェクト(36E)は入ってくるサーバからのメッセージ(30)を傾聴し、それを評価のためにモデルへ送る。
【0064】
実施形態例の初期化は以下の通りである。WWWブラウザの制御下にあるクライアント・コンピュータ(32A)はクライアント・アプレット(50)が含まれるページ(58)を表示するよう命令される。ページはある種の会議への参加を望むユーザのための会合場所であってもよい。閲覧時、クライアント・アプレット(56)がサーバ(30)からクライアント・コンピュータにダウンロードされ、実行時にクライアント・コードのインスタンスが生成される。このクライアント・コードのインスタンスには、会議アプレット・モデル・オブジェクト(36A)、会議アプレット・コントローラ・オブジェクト(36B)、会議アプレット・ビュー・オブジェクト(36C)、Sharerオブジェクト(36D)、およびSharerReaderオブジェクト(36E)が含まれる。さらに、Sharerオブジェクト(36D)の制御下にあるクライアント・コンピュータ(36A)はサーバ・オブジェクトとソケット接続の確立を試みる。
【0065】
特定の会議に対するサーバ・コード(50A〜50E)は、第1のクライアントが存在しない会議への接続を要求するとただちに生成される。次のクライアント・コンピュータがソケット接続の確立を試みと、サーバメイン・オブジェクト(50C)はコネクション・クラス(50D)のインスタンスを生成し、それをクライアント・コンピュータに対応付ける。ServerMainオブジェクト(50C)は、(状態)を含むメッセージを生成するゲート・ステート(状態)を呼び出すことによって会議アプレット・モデル・オブジェクト(50A)にあるモデル・データ(60)の状態を決定する。このメッセージは、ネットワーク接続を介してサーバのコネクション・オブジェクト(50D)によってShareReaderオブジェクト(36E)によってそれがピック・アップされるクライアント・オブジェクト(36E)に送られる。次にメッセージは、そのモデル・データ(60)の状態をそのセット・ステート(状態)方法を用いてメッセージに送られるものに変えるクライアントの会議アプレット・モデル・オブジェクト(36A)に送られる。
【0066】
ひとたびクライアント・コンピュータが現在のモデル・データ(60)を格納すると、該コンピュータは演算コード(Opcode)を含む更新・メッセージの一定のフローをapplyOpCode(OpCode)メソッド(62)を用いてそれ自身を更新するために会議モデル・オブジェクト(36A)を要求するサーバ(50A〜50D)から受け取る。アップデート・メッセージは会議が進行しているかぎり続く。実際のところ、特定の会議について接続された各々のクライアントに対して、サーバから同一のアップデート・メッセージ(OpCode)が送られる。このようにして、もし会議モデル・オブジェクトのすべてが開始時に同一のモデルを有し、また順序を同じくして同一のメッセージ・アップデート(OpCode)を受け取るならば、会議の任意の場所において、任意の会議モデル・オブジェクトのモデル・データ(60)が一致する。
【0067】
もしクライアントがモデル・データ(60)の追加または編集による会議への参加を望むならば、モデル・データ(60)に対する変更は会議コントローラ・オブジェクト(36B)によってオペレーション・コードとして表現され、サーバ・コンピュータ(30)の会議マネージャ・オブジェクト(50B)に送られる。つぎに、会議マネージャ・オブジェクト(50B)は参加しているクライアント・オブジェクト(36)のすべてに対してアップデート・メッセージとしてオペレーション・コードを分配または再送する。各会議モデル・オブジェクト(36A)は更新・メッセージを受け取り、また各applyOpCodeメソッド(62)は各々のモデル・データ(60)の組を更新する。
【0068】
サーバ(30)の会議モデル・オブジェクト(50A)もまたアップデート・メッセージを受け取り、applyOpCode()メソッド(62)はサーバ・オブジェクトのモデル・データ(60)を更新する。
【0069】
本発明の一実施態様は、対話型共同作業環境としての企業イントラネットのために開発されたIBMのTeamWorkerアプリケーションである。モデル・データ(60)は、多色で書かれたり、描かれたり、あるいは塗られたりする2次元表面を表すチョークボード・アプリケーションで使用されるデータである。図5は、TeamWorkerのメイン・クラス間のインタラクションを示す。TeamWorkerの他のクラスは、TeamWorkerのインフラストラクチャの上に特定の会議アプリケーションを実装し、それらの会議を開始することができるグラフィカル・フロント・エンドを提供するために使用される。
【0070】
ブラウザにダウンロードされる場合にメイン・アプレット・クラス(56)が実行される。それによって会議機能をユーザに表示するために使用されるTeamWorkerwindowが生成される(図6)。TeamWorkerは「チーム」という概念を有し、該チームの各々のメンバーはアプレット内部のTeamMemberModelクラスのインスタンスによって表示される。どのTeamMemberModelも、対応するTeamMemberViewを有する。このTeamMemberViewは、パスポートの写真の大きさのウィンドウにチームの構成員の写真を表示することによってメイン・ウィンドウ内にそのチーム・メンバーを表示する。チーム構成員の写真の左側に、ユーザによる会議機能の開始を可能とさせるツールバーが表示される。使用可能な各会議機能はツールバー内のボタンによって表示される。それらのボタンは、クラス・チャット・ボタン(classes ChatButton)(マルチ・パーティ・チャット会議を開始あるいは該会議へ参加する際に使用)、ダイアリ・ボタン(DiaryButton)(チーム構成員のダイアリを表示する際に使用)、e−メイル・ボタン(EMailButton)(チーム構成員へe−メイルを送る際に使用)、ホーム・ページ・ボタン(HomePageButton)(チーム・ワーカ・アプレットが動作するウエブ・ブラウザにチーム・メンバーのホーム・ページの表示を要求する際に使用)、メッセージ・ボタン(MessageButton)(受信側のディスプレイにポップ・アップされるダイレクト・メッセージを他のチーム構成員へ送信する際に使用)、電話ボタン(PhoneButton)(他のチーム・メンバの電話番号を表示する際に使用)、およびジョグル・ボタン(JoggleButton)(ジョグルと呼ばれるマルチ・パーティ・ゲームを起動する際に使用)によって実現される。
【0071】
これらの機能のうちのいくつかは、純粋にクライアントによって実装され(例えば電話番号およびホーム・ページの表示)、他のものはアプリケーションの主体であるチーム・ワーカ・インフラストラクチャを要求する真のマルチ・パーティ会議アプリケーションである。
【0072】
会議ボタンの一つ(例えば、チャット・ボタン)が押された場合、会議を管理するために新規の会議ビュー(36C)、モデル(36A)、およびコントローラ(36D)のインスタンスが生成される。生成された実際のクラスは、会議アプレット・モデル、ビュー、およびコントローラ・クラスのサブクラスであって、これらは所定のタイプの会議に特有なものである。これらのクラスは既に述べたようにして、また既に図示したようにしてチャットを管理するのに使用される。
【0073】
本発明は、チョークボード・アプリケーションに限定されるものではない。例えば、本発明の別の実施形態例として化学者および生物学者によって使用されるような3次元分子モデリング・アプリケーションが挙げられ、該アプリケーションにおいて本発明が適用されることが特に有益である。モデル・データ(60)は分子中の種々の原始の種類、場所、および結合を表すものとすることができる。会議ビュー・オブジェクトは任意の方向から分子を見ることができよう。また、会議コントローラ・オブジェクトはユーザによる原子の処理および変更を可能とさせる。そのようなアプリケーションは、特に解像度の高い画像を使用することからプロセッサ・インテンシブであり、モデル・データをクライアント・コンピュータに格納することは主な実用的問題である。このことは、アプリケーションが対処する明細書の序文で概説された問題となる。
【0074】
プログラミングの性質上、オブジェクト指向プログラミング言語以外のプログラミング言語を用いて本発明を実現することはまったく可能である。
【0075】
オブジェクト指向環境下では、一台のクライアント・コンピュータが複数の会議に参加することは可能である。
【0076】
もちろん、サーバ・コンピュータは実施例で述べたような3台のクライアント・コンピュータのみならず任意の数のクライアント・コンピュータに実際に接続することができる。さらに、実施例で示したコンピュータを使用する必然性はなく、本発明は異なる構成で接続された別のタイプのコンピュータを用いて実施してもよい。
【0077】
以上、クライアント/サーバ環境のためのパーソナル会議方法およびシステムについて説明した。サーバは、共有チョークボードまたは分子モデル等の会議モデル・データ(60)を格納し、また各クライアントは会議モデル・データ(60)を持つ。前記クライアントの一つがモデルを編集する場合、モデルを処理するための命令を生成し、該命令をサーバへ送る。サーバは命令の受け取り次第会議モデル・データの処理(62)を実行し、命令を各々のクライアントへ再送する。そして、各クライアントは同一処理(62)を各々のコピーされた会議データ・モデル(60)上で実行する。したがって、異なるクライアントからの複数の異なるオペレーティング命令の後に、会議モデル・データ(60)は等しいものとなる。
【0078】
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)接続された一以上のクライアント・コンピュータを有するサーバ・コンピュータのためのパーソナル会議方法であって、
(a)会議モデル・データをサーバ・コンピュータに格納するステップと、
(b)クライアント・コンピュータからの命令を受信するやいなや前記会議モデル・データを処理するステップと、
(c)前記サーバ・コンピュータから各々のクライアント・コンピュータに前記命令を再送するステップとを有し、前記会議モデル・データのすべてのコピーが前記サーバ・コンピュータに保持された会議モデル・データに対応するように、各クライアント・コンピュータは該クライアント・コンピュータ上に保持された前記会議データ・モデルのコピーに対して同一の処理を実行するパーソナル会議方法。
(2)サーバ・コンピュータに接続された一台以上のクライアント・コンピュータのための会議方法であって、
(a)前記クライアント・コンピュータの各々が会議モデル・データのコピーを格納するステップと、
(b)前記クライアント・コンピュータの一つが会議モデル・データを処理する命令を生成し、サーバ・コンピュータへ前記命令を送るステップと、
(c)前記クライアント・コンピュータの各々がサーバ・コンピュータからの命令のコピーを受信し、該命令にもとづいて上記クライアント・コンピュータの各々のモデルを処理するステップとを有し、異なるクライアントからの複数の異なる処理命令の後に、前記会議モデル・データの各々のコピーは互いに対応するパーソナル会議方法。
(3)前記サーバ・コンピュータは、前記会議モデル・データを要求あり次第クライアント・コンピュータへ前記カンファレンス・モデル・データを送る上記(1)または(2)に記載のパーソナル会議方法。
(4)上位マシン・バイト・コードの制御下で前記ステップが実行される上記(1)ないし(3)のいずれか一項に記載のパーソナル会議方法。
(5)クライアント・コンピュータを制御する上位マシン・バイト・コードは、該クライアント・コンピュータで実行されるネットワーク・ブラウザによって前記サーバ・コンピュータからダウンロード可能である上記(4)に記載のパーソナル会議方法。
(6)前記会議モデル・データを処理する前記命令は変数を有するOpcodeの形態である上記(2)ないし(5)のいずれか一項に記載のパーソナル会議方法。
(7)会議モデル・データとクライアント・コンピュータから命令を受信して該命令にもとづいて前記会議モデル・データを処理する手段とを有するサーバ・コンピュータと、命令を生成して該命令を前記サーバ・コンピュータへ送る手段を有する少なくとも2台のクライアント・コンピュータとを備えるパーソナル会議システムであって、
前記サーバ・コンピュータは、
受信した命令をすべてのクライアント・コンピュータへ分散する手段をさらに有し、また
前記少なくとも2台のクライアント・コンピュータの各々は、
会議モデル・データのコピーと、
前記サーバ・コンピュータからの分散された命令を受信して前記サーバ・コンピュータから受信した命令にもとづいて前記会議モデル・データのコピーを処理する手段とをさらに有するパーソナル会議システム。
(8)前記少なくとも2台のクライアント・コンピュータの各々は、前記会議モデル・データを表示するための手段をさらに有する上記(7)に記載のパーソナル会議システム。
(9)会議モデル・データと、該会議モデル・データを処理するための命令を生成して該命令を他のコンピュータへ送る手段と、前記命令にもとづいて前記会議モデル・データを処理する手段とを有し、かつメッセージ通信のために接続した少なくとも2台のコンピュータを有するパーソナル会議システムであって
前記少なくとも2台のコンピュータの一つがサーバ・コンピュータであり、他のコンピュータが該サーバ・コンピュータと接続されたクライアント・コンピュータであり、
前記サーバ・コンピュータは、さらに接続されたクライアント・コンピュータのすべてに分散するための手段を有し、さらに、
前記会議モデル・データを処理する手段は、前記サーバ・コンピュータから分散された命令を受信するための手段を有するもので、
異なるコンピュータからの処理命令のシーケンスは前記会議モデル・データの各々のコピーに対して同時に実行されるパーソナル会議システム。
(10)サーバ・オブジェクトおよび複数のクライアント・オブジェクトと、モデル・データと命令メッセージに対して前記モデル・データを処理する手段とを有するモデル・オブジェクトとを有し、また前記複数のクライアント・オブジェクトの各々は、前記モデル・オブジェクトを処理するための命令を生成する手段を有するパーソナル会議システムにおいて、
前記複数のクライアント・オブジェクトの各々は関連したモデル・オブジェクトを有し、また
前記複数のクライアント・オブジェクトの各々は処理命令をサーバ・オブジェクトに送る手段をさらに有することによって、
実行されるべき異なるクライアント・オブジェクトからの命令のシークエンスをモデル・データのインスタンス上の各モデル・オブジェクトによって同時に実行させるパーソナル会議システム。
(11)コンピュータ・ネットワーク全体にわたる伝送のためにモデル・オブジェクトとクライアント・オブジェクトとを実装するための手段をさらに有する上記(10)に記載のパーソナル会議システム。
(12)前記モデル・オブジェクトは、現在のモデル・データを含む状態メッセージを発生させ、該状態メッセージを他のオブジェクトに送るために、モデル・オブジェクトを生成する手段をさらに有する上記(11)に記載のパーソナル会議システム。
(13)前記モデル・オブジェクトは、前記モデル状態メッセージに送られたものへモデル・データをセットし、それによって一つのモデル・オブジェクトが他のモデル・オブジェクトによってコピーされるために、前記モデル・オブジェクトを生成する手段をさらに有する上記(12)に記載のパーソナル会議システム。
(14)さらに、前記サーバ・オブジェクトに関連して集中化されたモデル・オブジェクトを有する上記(10)ないし(13)のいずれか一項に記載のパーソナル会議システム。
(15)クライアント・オブジェクトに関連したモデル・オブジェトは前記サーバ・オブジェクトに関連した前記モデル・オブジェクトからコピーされる上記(14)に記載のパーソナル会議システム。
(16)前記クラスおよびオブジェクトは、上位マシン・バイト・コードにインプリメントされる上記(10)ないし(15)のいずれか一項に記載のパーソナル会議システム。
(17)クライアント・クラスおよびモデル・クラスは、ダウンロード可能で、かつ前記上位マシン・バイト・コードによって使用可能となるネットワーク・ブラウザによって実行可能な上位マシン・バイト・コード・アプレットを含む上記(16)に記載のパーソナル会議システム。
【図面の簡単な説明】
【図1】 従来のピア・トゥ・ピア会議システムの一例を示すブロック図である。
【図2】 従来のクライアント/サーバ会議システムの一例を示すブロック図であり、標準的なXWindowにおけるクライアントとサーバとのインタラクションを示す。
【図3】 従来のクライアント/サーバ会議システムの一例を示すブロック図であり、クライアントとサーバとの間に設けられたXTVとのインタラクションを示す。
【図4】 本発明にもとづくパーソナル会議システムの一実施形態例を説明するためのブロック図である。
【図5】 本発明にもとづくパーソナル会議システムをインプリメントする際に使用されるプログラム・クラスを模式的に説明するためのブロック図である。
【図6】 本発明にもとづくパーソナル会議システムに適用されるIBMのTeam Workerアプリケーションのコンピュータ画面を表す図である。
【符号の説明】
30 サーバ・コンピュータ
32A、32B、32C クライアント・コンピュータ
34 プロセッサ
36A、36B、36C クライアント・コード
38 メモリ
40 周辺機器
42 キーボード
43 マウス
44 ネットワーク・アダプタ
47 プロセッサ
48 プロセッサ
50A−E サーバ・コード
52 メモリ
56 クライアント・アプレット
58 WWWのページ(ウエブ・ページ)
60 モデル・データ
【発明の属する技術分野】
本発明は、パーソナル会議システムに関する。
【0002】
【従来の技術】
パーソナル会議システムによって、コンピュータ・ユーザはすべての参加者にとって都合のよい場所に移動するかわりに、ユーザ自身のディスクから会議に参加することが可能となる。電話システムが2加入者以上に対する会議呼出を包含するかたちで発達してきたように、コンピュータ・システムは数多くのネットワーク・コンピュータ・ユーザが一つの会議に参加することを可能とするように発達してきた。パーソナル会議を行う一例として、他のコンピュータ・ユーザとリアル・タイムでテキストまたは音声でミーティングを行うことができるインターネットの「チャット・ルーム」を挙げることができる。「チャット・ルーム」型の会議が発展すると、パーソナル会議システムが数多くの参加者によるアプリケーションの共有を試みるアプリケーション型会議となる。これの一例として、参加者が「共通」のホワイト・ボードを利用して同一図面の参照および編集が可能な「ホワイト・ボード」アプリケーションが挙げられる。別の例としては、各参加者がコンピュータ・スクリーン上に表示された分子の修飾および処理を行うことができる分子モデリング・アプリケーションが挙げられる。
【0003】
いくつかのパーソナル会議システムは、ピア・トゥ・ピア様式でもって実現される。この一例は、IBM Corporation(以下、IBMとする)が開発した製品PM2PMおよびPerson to Person/2である。この環境下で、例えば図1に示されるように、会議マネージメント/呼出マネージャ・プログラム(18A、18B)はネットワーク(14)全体と通信する1つ以上のネットワーク・アダプタ(12A、12B)のサービスを利用する各コンピュータ(10A、10B)で実行される。 いくつかの特別に書かれたパーソナル会議アプリケーション(16A、16B、16C)が会議管理プログラムに接続する。もし会議に共用チョークボードが含まれるならば、例えば、各々の参加しているノード・チョークボード・パーソナル会議アプリケーション(16A、16B、16C)が実行されよう。これらのアプリケーションは互いにデータ・パケットを送ることで、会議マネージメント・プログラム(18A、18B)のサービスが利用できる。
【0004】
しかし、このような構成には以下のような欠点がある。
【0005】
(i)会議マネージメント・プログラムは同一の共用チョークボードに対応する各ノード上のアプリケーションのデータ(または他のデータ)が同一であるかどうかを確かめる責任を持たないので、アプリケーションは創出しなければならず、またそのように行うためにそれらの間のプロトコールを使用する。
【0006】
(ii)各ノードは、その対等物が格納するデータと完全に同一なコピーを格納しないことを決る可能性がある。この設計決定は高速実現を促進する傾向にあるので、しばしばすぐには分からない副作用を伴うエラーとなる。
【0007】
(iii)もし新規参加者が会議に接続するならば、チョークボード内のデータのコピーはノードの一つから伝達されなければならない。もし各ノード上のデータが同一でなければ、どのデータを送るのが最善か?転送を効率良く行うために、アプリケーションはネットワーク地理学のアプリケーションを必要とし、アプリケーションの実現がさらに複雑化する。新規参加者が会議に接続し、既存のアプリケーションを共有することを望むならば、歩調を合わせなければならない。
【0008】
(iv)アプリケーションにおけるこの特別の厄介な問題すべて(歩調合わせを維持するためのピア・トゥ・ピア・プロトコール、転送の接続および切断、地理学の知識)を各種類のアプリケーションで繰り返さなければならない。
【0009】
(v)システム内に固有の「会合場所(ミーティング・ポイント)」がないので、人は自分自身で会議に参加するための準備が整っていることを示さなくてもよい。純粋にピア・トゥ・ピア・システムでは、いつでも納得のいく電源投入が期待できるサーバは存在しない。
【0010】
いずれのパーティによる共有されたデータの処理を許さないパーソナル会議の一例は、単純化されたピア・トゥ・ピア、例えばData Connection Limitedによって開発されたNeWI環境の共有ホワイトボード・アプリケーションである。ホワイトボードは、一参加者あたり一面が割り当てられる多数の面を有する。各参加者は該参加者自身の面を利用することができ、この面への変更は他の参加者に送られる。したがって、他の参加者は新たな面を見ることができる(しかし、変更を加えることはできない)。誰もが他者の面上のピクチャを変えることができないので、共有データの共有処理はありえない。なお、「NeWI」はData Connection Limitedの登録商標である。
【0011】
単純化されたピア・トゥ・ピアはさらに別の欠点を有する。共有ホワイトボードの例では何らかのユーティリティがそのようなツールによって提供されるけれども、ほとんどの値はデータの共有処理にある。このシステムを実現するのは簡単ではあるが、「会議」のこのような様式では共有処理でのテキスト編集および他の形式を実行することが困難である。
【0012】
【発明が解決しようとする課題】
したがって、ピア・トゥ・ピア会議システムの主要な問題の一つは、会議モデルの保全性を保つためにすべての宛先/ノードにおいてすべてのデータが同一のオーダに到達しなければならないことである。
【0013】
異なる種類のパーソナル会議はIBMによって開発されたXTVシステムによって提供される。このシステムは、Xwindowsシステムの改良/変更である。もし種々の参加者から入力イベント(マウスのクリック、キーストローク等)が所定のマシンに伝わり、実行されているプログラムに適用され、さらに参加者へ返送される画面(またはプログラムのウィンドウ)上に変更が生ずるならば、パーソナル会議の基本形態が達成させる。
【0014】
XWindowsはクライアント・サーバ・システムであり、それによってサーバはユーザ入力を提供する機能を果たし、またサーバの画面上に描く機能を果たす。一般に、各ユーザは該ユーザのマシン上で走るXserver(20)を所有し、またデータ・ストリームはXTVインタセプタを介してXserver(20)に送られX−プロトコルを用いてそれにグラフィック表示させる。Xwindowsがクライアント・サーバであり、またX−プロトコルがそれらの間で転送されることから、異なるマシンで実行されるクライアントおよびサーバにとってそれはありふれたことである。 XWindowsはネットワーキングを実現し、さらにこれは共同作業(パーソナル会議として)が望まれる場合に役に立つ。出力に関しては、XTV(22)はクライアント(24)で実行されているアプリケーションによってサーバ(26)に送られるX−プロトコルを傍受する。それによって、いくつかのX−サーバ(20)へこのデータの出力が広がり、いくつかの参加者に対してプログラム・ウィンドウが見えるようにする。同様に、入力はいくつかのXサーバ(20)から引き出され、共有(多重アクセス可能)アプリケーションが実行されているマシンに振り向けられる。XTVおよびXWindowはIBMの登録商標である。
【0015】
標準的なXWindowにおけるクライアントとサーバとのインタラクションを図2に示し、また「中間にある」XTV(22)とのインタラクションを図3に示す。XTV(22)は、いくつかのアプリケーションとサーバとの間で入力および出力トラフィックを転送し、すべての存在する非共同的アプリケーションとともに作業するという利点を有する。
【0016】
しかし、図2および図3に示した構成は、以下のような欠点(i)〜(v)を有する。
【0017】
(i)共同的アプリケーション「使用可能(イネーブラ)」ではない。
【0018】
(ii)非共同的アプリケーションは一人のユーザを念頭において書かれたものであり、一方キーストロークおよびマウスクリックはいろいろなユーザからのもので、すべてが遅れずに割込する。
【0019】
(iii)すべてのユーザが全く同じデータのみを見るだけであり、例えば第二のユーザがノーマル・サイズの表示を見ている一方で、第一のユーザが拡大された表示を見ることはできない。
【0020】
(iv)アプリケーション・データに対する変更は、数多くの画面の変更(したがって、X−プロトコル)をもたらすことができ、この問題はすべての参加者に対してその時点で送られるという事実によってさらに悪化させる。
【0021】
(v)アプリケーションはまさに一つのマシン上でしか実行されず、そのためそれが保持するデータはすべてのマシンが共有ファイル・システム(例えば、AFSまたはDFS)を共有するにもかかわらずそのマシンでしかアクセスすることができない。たとえ、マシンが共通のファイル・システムにアクセスするとしても、同一のファイルに対してドライブの文字やパスネームはマシン間で異なるものであってもよい。一般に、遠隔データ処理の場合、遠隔マシン上で実行していることを考慮しなければならない。このことはユーザにとって複雑な物事となる。
【0022】
パーソナル会議システムのほとんどの種類に当てはまる別の問題は、新規参加者に対してもっとも近くに存在する(ネットワーク速度の面で)参加者を選択することによってネットワーク・パフォーマンスを最適化する試みがなされていないことである。一般に、パーソナル会議システムはデータを任意の既設ノードから新規ノードへ転送する。
【0023】
Hewlett−Packardの欧州特許EPO497022は、分散オブジェクト準拠コンピュータ・システムに関するもので、該システムでは共有可能なオブジェクトがクライアント・コンポーネントとサーバ・コンポーネントとに分割される。また、システムはサーバ間でのメッセージの送信およびアップデートの受け渡しを行うために互いに通信する多数のサーバ向けに設計されている。
【0024】
【課題を解決するための手段】
本発明の実施形態例では性能に多数の部門を利用する。モデル(Model)/ビュー(View)/コントローラ(Controller)(MVCと略す)の一つは実行中のアプリケーションで使用される一部門である。そのようなアプリケーションは、明確に定義されたインタフェースおよび責務により3つの論理部に分割される。
【0025】
モデルは、アプリケーションが表示されて処理可能となるデータである。しかし、モデルそれ自身はデータおよび該データの変更を可能とする入口点(すなわち、方法)のみを含む。モデルは、どのようにしてデータがユーザに対して提示されるかについての概念を持たず、あるいはどのようにして意図するデータの変更/修飾の指示または指定することが許可されるかについての概念を持たない。チョークボード・アプリケーションの例では、モデルは画像を表すビットマップであってもよい。モデルは現在のペンの色、色塗りのスタイル、またはフォント設定等の任意の概念を含むものではない。モデルでのデータの修飾は入力点/方法を介して達成され、さらにモデルの新規の状態は古い状態および入力点(すなわち、入力点は純粋で、汎用データは不使用)に対するパラメータから全体的に決定される。この記述において、入力点/方法はモデルのデータまたは「処理手段」上で処理されることに関連している。
【0026】
ビューはユーザに対してモデルの現在の状態を示すためのユーザ・インタフェース・コンポネントである。それは、非外部または非グローバル変数にアクセスすることで、どのようにして表示設定されたモデル・データから純粋にモデルを表示するかを決定する。すなわち、特定のモデルを与えることでいつでも同一のビジュアル表示が得られよう。チョークボード・アプリケーションの例では、ビューはウィンドウのクライアント領域にあるモデルのビットマップをスクロールバーとともに表示する。
【0027】
コントローラは、ユーザによるモデルに対する変更の指定を可能とさせるユーザ・インタフェース・コンポネントである。チョークボード・アプリケーションの例では、コントローラはチョークボード上で矩形(または他のグラフィック・シンボル)を描くことをユーザが決定する場合に生ずるラバーバンディングを表示する役割を果たしている。コントローラはモデル(例えば、矩形の描画)を直接修飾することはせず、むしろこの仕事を実行するためにモデルの入力点を呼び出す。コントローラは、ユーザが行ったペンの色およびフォントに対する現在の変更を保つことができ、またこの情報をモデルに送られた矩形描画命令の一部分として転送される(変更が完全に指定される目的で)。この記述において、コントローラは処理命令または生成手段の生成することに関連している。
【0028】
効率化のためにモデルに変更が加えられた場合、それ自身のビュー(または複数のビュー)にそれが変更された事実を通知する。これによって、変更を反映させるためにビューがそれ自身を描画することが可能となる。あるいは悪影響を受けるそれ自身の部分を選択的に再描画する。
【0029】
実際には、コントローラとビューとの違いは、しばしばはっきりとしないものとなる。チョークボードの場合、同一クライアント・ウィンドウはビットマップの現在のビューを表示するとともに、コントローラとの現在のユーザ・インタラクションにもとづいて実施されるラバーバンディングを表示する。
【0030】
本発明の実施態様は、これらの問題および他の問題の解決を試みている。
【0031】
接続された一台またはそれを上回る数のクライアント・コンピュータ(32A、32B、32C)を有するサーバ・コンピュータ(30)のためのパーソナル会議方法は、(a)会議モデル・データ(60)をサーバ・コンピュータ(30)に格納するステップと、(b)クライアント・コンピュータからの命令(64A)を受信するやいなや会議モデル・データ(60)を処理(62)するステップと、(c)サーバ・コンピュータ(30)から各々のクライアント・コンピュータ(32A、32B、32C)に再送するステップとを有し、各クライアント・コンピュータ(32A、32B、32C)は該クライアント・コンピュータ上に保持された会議データ・モデルのコピーに対して同一を実行する。それによって、会議モデル・データ(60)のすべてのコピーはサーバ・コンピュータに保持された会議モデル・データに対応する。
【0032】
クライアントよりはむしろサーバからアップデートされる会議モデルを各クライアントが持つ会議システムのためのクライアント/サーバ構成を用いることは、あきらかに有利である。任意の(非ブロークン)パーソナル会議システム設計にとって必須の連番(シリアリゼーション)機構が提供される。すべての編集メッセージは、クライアント・コンピュータに送られる際にサーバ・コンピュータを通過するので、中央にシリアリゼーションを行う場所が提供される。サーバ・コンピュータは、すべてのクライアント・コンピュータに対するデータの同時転送を約束することができ、すべてのクライアント・コンピュータ・システムが同一のものを表示することが保証される。
【0033】
さらなる利点は明らかである。例えば、パーソナル会議システムの設計はモデル/ビュー/コントローラ構成を取り込むことによって明確化され、かつ単純化される。また、会議モデルに対する変更をインターセプトすることおよびクライアント・コンピュータに対する変更を分散させることは、対応する画面のビューを実現するもっとも単純な方法である。そのような設計において、サーバ・コンピュータはいかなるユーザ・インタフェース・コードからも解放されている。
【0034】
サーバ・コンピュータそれ自身は、永久的な「会合場所」を提供する。この「会合場所」でクライアントは該クライアントの存在および共有された作業への参加意志とを宣伝する。このような利点は、ピア・トゥ・ピア・システムでは特に欠けている。
【0035】
本発明の第2の態様にもとづくと、サーバ・コンピュータに接続された一台またはそれを上回る数のクライアント・コンピュータのためのパーソナル会議方法を提供するもので、該方法は、(a)上記クライアント・コンピュータの各々が会議モデル・データのコピーを格納するステップと、(b)上記クライアント・コンピュータの一つが会議モデル・データを処理する命令を生成し、サーバ・コンピュータへ上記命令を送るステップと、上記クライアント・コンピュータの各々がサーバ・コンピュータからの命令のコピーを受信し、該命令にもとづいて上記クライアント・コンピュータの各々のモデルを処理するステップとを有するもので、さらに、異なるクライアントからの複数の異なる処理命令後に、会議モデル・データの各々のコピーは互いに対応するものとなる。
【0036】
本発明の第3の態様にもとづいて、サーバ・コンピュータと少なくとも2台のクライアント・コンピュータとを有するパーソナル会議システムを提供する。このシステムにおいて、サーバ・コンピュータは、会議モデル・データと、クライアント・コンピュータから命令を受信し、該命令にもとづいて会議モデル・データを処理する手段とを備え、また、クライアント・コンピュータは、命令を生成し、該命令をサーバ・コンピュータへ送る手段を備え、さらにサーバ・コンピュータが受信した命令をすべてのクライアント・コンピュータへ分散する手段を有し、またクライアント・コンピュータの各々は、さらに会議モデル・データのコピーと、サーバ・コンピュータからの分散された命令を受信し、サーバ・コンピュータから受信した命令にもとづいて会議モデル・データのコピーを処理する手段とを備えることを特徴とする。
【0037】
本発明の第4の態様にもとづいて、メッセージ通信のために接続した少なくとも2台のコンピュータを有するパーソナル会議システムを提供する。このシステムにおいて、各コンピュータは、会議モデル・データと、会議モデル・データを処理するための命令を生成し、該命令を他のコンピュータへ送る手段と、命令にもとづいて会議モデル・データを処理する手段とを備え、さらにコンピュータの一つがサーバ・コンピュータであり、他のコンピュータが該サーバ・コンピュータと接続されたクライアント・コンピュータであり、サーバ・コンピュータは、さらに接続されたクライアント・コンピュータのすべてに分散するための手段を有し、また処理のための手段は、サーバ・コンピュータから分散された命令を受信するための手段を有する。したがって、異なるコンピュータからの処理命令のシーケンスは会議モデル・データの各々のコピー上で同時に実行されよう。
【0038】
パーソナル会議システムは、サーバ・オブジェクトおよび複数のクライアント・オブジェクトと、モデル・データ(60)および命令メッセージ(64)に対するモデル・データ(60)を処理する手段(62)を有するモデル・オブジェクト(36A)と、モデル・オブジェクト(36A)を処理するための命令を生成する手段を有する各クライアント・オブジェクト(36)とを備え、さらに、各クライアント・オブジェクト(36)は関連したモデル・オブジェクトを有し、各クライアント・オブジェクト(36)はさらに処理命令をサーバ・オブジェクトに送る手段(36B)を有し、それによって、実行されるべき異なるクライアント・オブジェクト(36)からの命令のシークエンスをモデル・データ(60)の各インスタンス上の各モデル・オブジェクトによって同時に実行することが可能となる。
【0039】
好ましくは命令は変数を有するOpcodeの形態にある。これは会議モデル・データに対する修飾を実装する上で簡便な方法である。修飾はそれを生成したクライアント・コンピュータからサーバ・コンピュータへ、またサーバ・コンピュータから会議に従事するすべてのクライアント・コンピュータへ簡単に分散されることが可能である。明らかに、もし同一の初期会議モデル・データが多くのクライアント・コンピュータに存在するものならば、同一の処理を会議モデル・データのすべてのコピーに適用することで同一モデルが生ずるであろう。
【0040】
好ましくは、会議に参加することを望み、またサーバ・コンピュータに対してそのような要求を行うクライアント・コンピュータへ会議モデル・データのコピーを送る。これによって、新規のクライアント・コンピュータが任意の場所で会議に参加することを可能とさせ、またその場所で正確かつ信頼性のある会議録のコピーを受け取ることを可能とさせる。好ましい実施形態例では、ブランク・テンプレート会議モデルはクライアント・コンピュータ上に格納され、それの状態はサーバに保持された会議モデル・データの状態に一致するように変更される。
【0041】
好ましい実施形態例では、サーバ・コンピュータおよびクライアント・コンピュータで実行される方法は、Java等の上位バイト・コードの制御下にある。これによって、会議の異機種間の移植性が可能となる。マシン上位バイト・コードはクライアント・コンピュータ上で走るネットワーク・ブラウザによってサーバ・コンピュータからダウンロード可能である。このことは、事前にクライアント・コードをインストールしておく必要性がまったくなくワールド・ワイド・ウェブからリアル・タイムでダウンロードすることですでにインターネットに接続されているほとんどのコンピュータの連結性を容易にする。
【0042】
好ましい実施形態では、各クライアント・コンピュータはコンピュータの画面上に会議モデルをグラフィック表示する。したがって、各クライアント・コンピュータは会議モデル・データがそれ自身の画面上、すなわちビューに表示される方法の細目に適応し、一方で同時に他のクライアント・コンピュータの各々と同様の会議モデル・データを表示する。
【0043】
好ましい実施形態例では、サーバ・コンピュータは会議モデル・データをグラフィック表示する必要性はないけれどもクライアント・コンピュータ上の会議モデル・データのすべてのコピーを保全する責任を持つことで会議での中心的役割を担う。サーバ・コンピュータ上に集中化された会議モデル・データは、マスタとしての役割を果し、すべてのクライアント・コンピュータに対して歩調を合わせるように強いる。
【0044】
上位マシン・コードはJava仮想マシンに必要とされるバイト・コード等のプラットフォームから独立したコードである。Javaバイト・コード等の上位マシン・コードは、アプリケーションから独立したオペレーティング・システム/プラットフォームを提供する。また、Javaバイト・コードは再コンパイルすることなしに任意のJava使用可能プラットフォーム(Java実行可能環境を有するオペレーティング・システムまたは仮想マシン)上で実行可能である。JavaはSUN MICROSYSTEMS CORPORATIONの登録商標である。
【0045】
【発明の実施の形態】
本発明の実施形態例であるクライアント/サーバの構成は、図4に示すように、3台のクライアント・コンピュータ(32A、32B、32C)に直接接続したセントラル・サーバ・コンピュータ(30)を有する。クライアント・コンピュータ(32A)は、メモリ(38)および(または)クライアント・コンピュータのディスク上に格納されたクライアント・コード(36A、36B、36C)の命令に従って稼働するプロセッサ(34)を有する。クライアント・コンピュータ(32A)の映像出力は、プロセッサ(42)に接続されたモニタまたはLCD画面等のビデオ周辺機器(40)を介して行われ、またクライアント・コンピュータ(32A)に対するユーザ入力はプロセッサ(34)に接続されたキーボード(42)またはコンピュータ・マウス(43)によって行われる。クライアント・コンピュータは、さらにネットワーク・アダプタ(44)を備える。このネットワーク・アダプタ(44)の一端はプロセッサに接続し、その他端はコンピュータ・ネットワーク(46)に接続している。これら2種類のコンピュータ・ネットワークの例として、企業内イントラネットとインターネットとが挙げられる。クライアント・コンピュータの一例は133MHzの486マイクロ・プロセッサ、1ギガバイトのハードディスク、16メガバイトのメモリ、および16インチのモニタを備えたIBMのAptivaコンピュータである。
【0046】
サーバ・コンピュータ(30)は、該サーバ・コンピュータのメモリ(52)および(または)ディスク上に格納されたサーバ・コード(50A、50B)(サーバ・プログラム・コード)の命令に従って稼働するプロセッサ(47)を有する。映像出力は、必ずしも必要としないがプロセッサ(48)に接続されたモニタまたはLCD画面等のビデオ周辺機器を介して行うこともできる。また、ユーザ入力も必ずしも必要としないがプロセッサ(48)に接続されたキーボードまたはコンピュータ・マウスを介して行うことができよう。サーバ・コンピュータ(30)は、さらにネットワーク・アダプタ(54)を備える。このネットワーク・アダプタ(54)の一端はプロセッサ(48)に接続し、その他端はコンピュータ・ネットワーク(46)に接続している。これら2種類のコンピュータ・ネットワークの例として、企業内イントラネットとインターネットとが挙げられる。クライアント・コンピュータの一例はIntelP200MHzマイクロ・プロセッサ、20ギガバイトのハードディスク、および64メガバイトのメモリを備えたIBMのRISC6000コンピュータである。
【0047】
クライアント・コード(36A、36B、36C)の各々の具体例は、3つの主要部分から構成される。すなわち、会議モデル・オブジェクト(36A)(ConferencingAppletModelクラスのインスタンス)、会議コントローラ・オブジェクト(36B)(ConferencingAppletControllerクラスのインスタンス)、および会議ビュー・オブジェクト(36C)(ConferencingAppletViewクラスのインスタンス)である。クライアント・コードは、サーバに格納されたワールド・ワイド・ウエブ(WWW)のページ(58)に含まれるクライアント・アプレット(56)を形成する。クライアント・コード(36)の数多くのインスタンスが存在するのと同じぐらいクライアント・コンピュータ(32A、32B、32C)が存在し、クライアント・コードのインスタンスがダウンロードされ、各クライアント・コンピュータ(32A、32B、32C)に格納される。
【0048】
クライアント・コンピュータ(32A)上にクライアント・コードのインスタンスをダウンロードまたは生成するために、インターネットに接続されたJava使用可能ウエブ・ブラウザを有するコンピュータを必要とする。すなわち、クライアント・アプレット(56)を含む会議ウエブ・ページ(58)にアクセスし一覧することで、ブラウザはクライアント・コンピュータ(32A)上にクライアント・アプレット(56)をコピーする。アプレット(56)は普通ダウンロードで動作するが、カーソルおよびマウス(43)を用いてモニタ(40)上に表示されたボタン・アイコンの選択等のイベント(事像)を行った後でも動作することも可能である。
【0049】
サーバ・コード(50A、50B)は2つの主要な部分から構成される。すなわち、会議マネージャ(50A)(会議システム・マネージャ・クラスのインスタンス)および会議モデル・オブジェクト(50B)(ConferencingAppletModelクラスのインスタンス)である。サーバ・コードに使用される他のサーバ・オブジェクトは、ServerMainオブジェクト(50C)、Connectionオブジェクト(50D)、およびServerMonitorオブジェクト(50E)である(図4を参照)。
【0050】
ServerMainオブジェクト(50C)は、クライアントから入ってくるネットワーク接続を傾聴して受け付ける。接続が受信されると、それによってConnectionクラス(50D)のインスタンスが生成される。ServerMainオブジェクトはまた、たった一つの会議システム・マネージャ・オブジェクトを生成し、かつ所有する。
【0051】
Connectionクラスのインスタンス(50B)は、各クライアントに対してConnectionオブジェクトが存在するように、ネットワーク接続がサーバによって受信されるたびに生成される。それによって個々のクライアントに対する接続が表現される。Connectionオブジェクト(50D)は、クライアントから入ってくるメッセージを続けて傾聴し、該メッセージを会議システム・マネージャ・クラスへ送る。また、Connectionオブジェクト(50D)はConferencingSystemManagerオブジェクト(50B)からクライアントへメッセージを送り返す。
【0052】
ConferencingSystemManagerオブジェクト(50B)は、サーバに対して同時に起こるマルチ・パーティ会議を管理する。進行中の各会議は、ConferencingAppletModelクラス(または詳細にはそれのサブクラスのうちの一つ)のインスタンスによって表される。進行中の各会議はすべてのメッセージで承認される「モデルID」によってそれ自身のモデル・クラスを識別する。
【0053】
ServerMonitorオブジェクト(50E)は、ConferencingSystemManagerオブジェクト(50B)のアクティビティをグラフィックで表現する。このグラフィックス表示は管理者によって会議システムでのアクティビティを監視する際に利用される。
【0054】
ConferencingAppletModelクラス(50A)は、すべての会議モデルに対してスーパクラスである。各々の種類のマルチ・パーティ会議はそれ自身の会議アプレット・モデルのサブクラスを生成する。例えば、チャット・アプリケーションのチャット会議モデル、チョークボード・アプリケーションのChalkboadConferenceModel、その他を挙げることができよう。モデル・オブジェクトは、モデル・データ(60)の形で会議の現在の状況を維持する。それによって、以下の3つの重要なメソッドが提供される。
【0055】
applyOpCode() (62)は、オペランドおよびそれ自身の変数(クライアントからのメッセージで受け取られるのと同様に)をモデルに適用し、それによって更新されるモデルのデータ(60)(状態)が生ずるであろう。
【0056】
setState() (60)(状態)は、モデルにそれ自身のデータ(60)(状態)をメッセージに送られたものに設定させる。
【0057】
getState() は、モデルにそれ自身の現在の状態が含まれるメッセージを生成させる。
【0058】
クライアント・コードで使用される他のクライアント・オブジェクトは、Sharerオブジェクト(36D)およびSharerReaderオブジェクト(36E)である(図5参照)。
【0059】
ConferencingAppletModelオブジェクト(36A)はサーバで使用されるオブジェクトと同一であり、以下に記述するサブクラスを有する。
【0060】
ConferencingAppletViewクラスはすべての会議ビュー・コントローラ(ユーザに対して会議の現在の状態を表示することに使用、例えばチャット会議の追記)のスーパクラスである。各々の種類の会議はそれ自身のConferencingAppletViewのサブクラスを導入する。クラス・インスタンス(36C)のビューはモデルと一対一に対応する。モデルのデータ(60)が変更されると、それ自身の再描画をさせるビューのinvalidate()メソッドを呼出す。
【0061】
ConferencingAppletViewクラスはすべての会議ビュー・コントローラ(サーバへのメッセージ送信およびサーバからのメッセージ読取りに使用)のスーパクラスであり、コントローラ・オブジェクト(36B)を形成する。コントローラ・オブジェクト(36B)はビューおよびモデルと一対一の関係にある。ユーザ・アクションがエンド・ユーザ・インタフェースで実行されると、ビューは実行されるべきアクションのコントローラに知らせる。コントローラは、これをメッセージの中に構成してサーバ(30)へ送る。サーバ(30)はメッセージを会議のすべてのコントローラへ同報通信する。同様に、コントローラは入ってくるサーバからのメッセージを傾聴し、それを評価のためにモデルのapplyOpcode()メソッド(62)へ送る。
【0062】
Sharerオブジェクト(36D)は、サーバとのソケット接続を確立するために、そしてメッセージをそれに送るために会議アプレット・コントローラによって使用される。
【0063】
SharerReaderオブジェクト(36E)は入ってくるサーバからのメッセージ(30)を傾聴し、それを評価のためにモデルへ送る。
【0064】
実施形態例の初期化は以下の通りである。WWWブラウザの制御下にあるクライアント・コンピュータ(32A)はクライアント・アプレット(50)が含まれるページ(58)を表示するよう命令される。ページはある種の会議への参加を望むユーザのための会合場所であってもよい。閲覧時、クライアント・アプレット(56)がサーバ(30)からクライアント・コンピュータにダウンロードされ、実行時にクライアント・コードのインスタンスが生成される。このクライアント・コードのインスタンスには、会議アプレット・モデル・オブジェクト(36A)、会議アプレット・コントローラ・オブジェクト(36B)、会議アプレット・ビュー・オブジェクト(36C)、Sharerオブジェクト(36D)、およびSharerReaderオブジェクト(36E)が含まれる。さらに、Sharerオブジェクト(36D)の制御下にあるクライアント・コンピュータ(36A)はサーバ・オブジェクトとソケット接続の確立を試みる。
【0065】
特定の会議に対するサーバ・コード(50A〜50E)は、第1のクライアントが存在しない会議への接続を要求するとただちに生成される。次のクライアント・コンピュータがソケット接続の確立を試みと、サーバメイン・オブジェクト(50C)はコネクション・クラス(50D)のインスタンスを生成し、それをクライアント・コンピュータに対応付ける。ServerMainオブジェクト(50C)は、(状態)を含むメッセージを生成するゲート・ステート(状態)を呼び出すことによって会議アプレット・モデル・オブジェクト(50A)にあるモデル・データ(60)の状態を決定する。このメッセージは、ネットワーク接続を介してサーバのコネクション・オブジェクト(50D)によってShareReaderオブジェクト(36E)によってそれがピック・アップされるクライアント・オブジェクト(36E)に送られる。次にメッセージは、そのモデル・データ(60)の状態をそのセット・ステート(状態)方法を用いてメッセージに送られるものに変えるクライアントの会議アプレット・モデル・オブジェクト(36A)に送られる。
【0066】
ひとたびクライアント・コンピュータが現在のモデル・データ(60)を格納すると、該コンピュータは演算コード(Opcode)を含む更新・メッセージの一定のフローをapplyOpCode(OpCode)メソッド(62)を用いてそれ自身を更新するために会議モデル・オブジェクト(36A)を要求するサーバ(50A〜50D)から受け取る。アップデート・メッセージは会議が進行しているかぎり続く。実際のところ、特定の会議について接続された各々のクライアントに対して、サーバから同一のアップデート・メッセージ(OpCode)が送られる。このようにして、もし会議モデル・オブジェクトのすべてが開始時に同一のモデルを有し、また順序を同じくして同一のメッセージ・アップデート(OpCode)を受け取るならば、会議の任意の場所において、任意の会議モデル・オブジェクトのモデル・データ(60)が一致する。
【0067】
もしクライアントがモデル・データ(60)の追加または編集による会議への参加を望むならば、モデル・データ(60)に対する変更は会議コントローラ・オブジェクト(36B)によってオペレーション・コードとして表現され、サーバ・コンピュータ(30)の会議マネージャ・オブジェクト(50B)に送られる。つぎに、会議マネージャ・オブジェクト(50B)は参加しているクライアント・オブジェクト(36)のすべてに対してアップデート・メッセージとしてオペレーション・コードを分配または再送する。各会議モデル・オブジェクト(36A)は更新・メッセージを受け取り、また各applyOpCodeメソッド(62)は各々のモデル・データ(60)の組を更新する。
【0068】
サーバ(30)の会議モデル・オブジェクト(50A)もまたアップデート・メッセージを受け取り、applyOpCode()メソッド(62)はサーバ・オブジェクトのモデル・データ(60)を更新する。
【0069】
本発明の一実施態様は、対話型共同作業環境としての企業イントラネットのために開発されたIBMのTeamWorkerアプリケーションである。モデル・データ(60)は、多色で書かれたり、描かれたり、あるいは塗られたりする2次元表面を表すチョークボード・アプリケーションで使用されるデータである。図5は、TeamWorkerのメイン・クラス間のインタラクションを示す。TeamWorkerの他のクラスは、TeamWorkerのインフラストラクチャの上に特定の会議アプリケーションを実装し、それらの会議を開始することができるグラフィカル・フロント・エンドを提供するために使用される。
【0070】
ブラウザにダウンロードされる場合にメイン・アプレット・クラス(56)が実行される。それによって会議機能をユーザに表示するために使用されるTeamWorkerwindowが生成される(図6)。TeamWorkerは「チーム」という概念を有し、該チームの各々のメンバーはアプレット内部のTeamMemberModelクラスのインスタンスによって表示される。どのTeamMemberModelも、対応するTeamMemberViewを有する。このTeamMemberViewは、パスポートの写真の大きさのウィンドウにチームの構成員の写真を表示することによってメイン・ウィンドウ内にそのチーム・メンバーを表示する。チーム構成員の写真の左側に、ユーザによる会議機能の開始を可能とさせるツールバーが表示される。使用可能な各会議機能はツールバー内のボタンによって表示される。それらのボタンは、クラス・チャット・ボタン(classes ChatButton)(マルチ・パーティ・チャット会議を開始あるいは該会議へ参加する際に使用)、ダイアリ・ボタン(DiaryButton)(チーム構成員のダイアリを表示する際に使用)、e−メイル・ボタン(EMailButton)(チーム構成員へe−メイルを送る際に使用)、ホーム・ページ・ボタン(HomePageButton)(チーム・ワーカ・アプレットが動作するウエブ・ブラウザにチーム・メンバーのホーム・ページの表示を要求する際に使用)、メッセージ・ボタン(MessageButton)(受信側のディスプレイにポップ・アップされるダイレクト・メッセージを他のチーム構成員へ送信する際に使用)、電話ボタン(PhoneButton)(他のチーム・メンバの電話番号を表示する際に使用)、およびジョグル・ボタン(JoggleButton)(ジョグルと呼ばれるマルチ・パーティ・ゲームを起動する際に使用)によって実現される。
【0071】
これらの機能のうちのいくつかは、純粋にクライアントによって実装され(例えば電話番号およびホーム・ページの表示)、他のものはアプリケーションの主体であるチーム・ワーカ・インフラストラクチャを要求する真のマルチ・パーティ会議アプリケーションである。
【0072】
会議ボタンの一つ(例えば、チャット・ボタン)が押された場合、会議を管理するために新規の会議ビュー(36C)、モデル(36A)、およびコントローラ(36D)のインスタンスが生成される。生成された実際のクラスは、会議アプレット・モデル、ビュー、およびコントローラ・クラスのサブクラスであって、これらは所定のタイプの会議に特有なものである。これらのクラスは既に述べたようにして、また既に図示したようにしてチャットを管理するのに使用される。
【0073】
本発明は、チョークボード・アプリケーションに限定されるものではない。例えば、本発明の別の実施形態例として化学者および生物学者によって使用されるような3次元分子モデリング・アプリケーションが挙げられ、該アプリケーションにおいて本発明が適用されることが特に有益である。モデル・データ(60)は分子中の種々の原始の種類、場所、および結合を表すものとすることができる。会議ビュー・オブジェクトは任意の方向から分子を見ることができよう。また、会議コントローラ・オブジェクトはユーザによる原子の処理および変更を可能とさせる。そのようなアプリケーションは、特に解像度の高い画像を使用することからプロセッサ・インテンシブであり、モデル・データをクライアント・コンピュータに格納することは主な実用的問題である。このことは、アプリケーションが対処する明細書の序文で概説された問題となる。
【0074】
プログラミングの性質上、オブジェクト指向プログラミング言語以外のプログラミング言語を用いて本発明を実現することはまったく可能である。
【0075】
オブジェクト指向環境下では、一台のクライアント・コンピュータが複数の会議に参加することは可能である。
【0076】
もちろん、サーバ・コンピュータは実施例で述べたような3台のクライアント・コンピュータのみならず任意の数のクライアント・コンピュータに実際に接続することができる。さらに、実施例で示したコンピュータを使用する必然性はなく、本発明は異なる構成で接続された別のタイプのコンピュータを用いて実施してもよい。
【0077】
以上、クライアント/サーバ環境のためのパーソナル会議方法およびシステムについて説明した。サーバは、共有チョークボードまたは分子モデル等の会議モデル・データ(60)を格納し、また各クライアントは会議モデル・データ(60)を持つ。前記クライアントの一つがモデルを編集する場合、モデルを処理するための命令を生成し、該命令をサーバへ送る。サーバは命令の受け取り次第会議モデル・データの処理(62)を実行し、命令を各々のクライアントへ再送する。そして、各クライアントは同一処理(62)を各々のコピーされた会議データ・モデル(60)上で実行する。したがって、異なるクライアントからの複数の異なるオペレーティング命令の後に、会議モデル・データ(60)は等しいものとなる。
【0078】
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)接続された一以上のクライアント・コンピュータを有するサーバ・コンピュータのためのパーソナル会議方法であって、
(a)会議モデル・データをサーバ・コンピュータに格納するステップと、
(b)クライアント・コンピュータからの命令を受信するやいなや前記会議モデル・データを処理するステップと、
(c)前記サーバ・コンピュータから各々のクライアント・コンピュータに前記命令を再送するステップとを有し、前記会議モデル・データのすべてのコピーが前記サーバ・コンピュータに保持された会議モデル・データに対応するように、各クライアント・コンピュータは該クライアント・コンピュータ上に保持された前記会議データ・モデルのコピーに対して同一の処理を実行するパーソナル会議方法。
(2)サーバ・コンピュータに接続された一台以上のクライアント・コンピュータのための会議方法であって、
(a)前記クライアント・コンピュータの各々が会議モデル・データのコピーを格納するステップと、
(b)前記クライアント・コンピュータの一つが会議モデル・データを処理する命令を生成し、サーバ・コンピュータへ前記命令を送るステップと、
(c)前記クライアント・コンピュータの各々がサーバ・コンピュータからの命令のコピーを受信し、該命令にもとづいて上記クライアント・コンピュータの各々のモデルを処理するステップとを有し、異なるクライアントからの複数の異なる処理命令の後に、前記会議モデル・データの各々のコピーは互いに対応するパーソナル会議方法。
(3)前記サーバ・コンピュータは、前記会議モデル・データを要求あり次第クライアント・コンピュータへ前記カンファレンス・モデル・データを送る上記(1)または(2)に記載のパーソナル会議方法。
(4)上位マシン・バイト・コードの制御下で前記ステップが実行される上記(1)ないし(3)のいずれか一項に記載のパーソナル会議方法。
(5)クライアント・コンピュータを制御する上位マシン・バイト・コードは、該クライアント・コンピュータで実行されるネットワーク・ブラウザによって前記サーバ・コンピュータからダウンロード可能である上記(4)に記載のパーソナル会議方法。
(6)前記会議モデル・データを処理する前記命令は変数を有するOpcodeの形態である上記(2)ないし(5)のいずれか一項に記載のパーソナル会議方法。
(7)会議モデル・データとクライアント・コンピュータから命令を受信して該命令にもとづいて前記会議モデル・データを処理する手段とを有するサーバ・コンピュータと、命令を生成して該命令を前記サーバ・コンピュータへ送る手段を有する少なくとも2台のクライアント・コンピュータとを備えるパーソナル会議システムであって、
前記サーバ・コンピュータは、
受信した命令をすべてのクライアント・コンピュータへ分散する手段をさらに有し、また
前記少なくとも2台のクライアント・コンピュータの各々は、
会議モデル・データのコピーと、
前記サーバ・コンピュータからの分散された命令を受信して前記サーバ・コンピュータから受信した命令にもとづいて前記会議モデル・データのコピーを処理する手段とをさらに有するパーソナル会議システム。
(8)前記少なくとも2台のクライアント・コンピュータの各々は、前記会議モデル・データを表示するための手段をさらに有する上記(7)に記載のパーソナル会議システム。
(9)会議モデル・データと、該会議モデル・データを処理するための命令を生成して該命令を他のコンピュータへ送る手段と、前記命令にもとづいて前記会議モデル・データを処理する手段とを有し、かつメッセージ通信のために接続した少なくとも2台のコンピュータを有するパーソナル会議システムであって
前記少なくとも2台のコンピュータの一つがサーバ・コンピュータであり、他のコンピュータが該サーバ・コンピュータと接続されたクライアント・コンピュータであり、
前記サーバ・コンピュータは、さらに接続されたクライアント・コンピュータのすべてに分散するための手段を有し、さらに、
前記会議モデル・データを処理する手段は、前記サーバ・コンピュータから分散された命令を受信するための手段を有するもので、
異なるコンピュータからの処理命令のシーケンスは前記会議モデル・データの各々のコピーに対して同時に実行されるパーソナル会議システム。
(10)サーバ・オブジェクトおよび複数のクライアント・オブジェクトと、モデル・データと命令メッセージに対して前記モデル・データを処理する手段とを有するモデル・オブジェクトとを有し、また前記複数のクライアント・オブジェクトの各々は、前記モデル・オブジェクトを処理するための命令を生成する手段を有するパーソナル会議システムにおいて、
前記複数のクライアント・オブジェクトの各々は関連したモデル・オブジェクトを有し、また
前記複数のクライアント・オブジェクトの各々は処理命令をサーバ・オブジェクトに送る手段をさらに有することによって、
実行されるべき異なるクライアント・オブジェクトからの命令のシークエンスをモデル・データのインスタンス上の各モデル・オブジェクトによって同時に実行させるパーソナル会議システム。
(11)コンピュータ・ネットワーク全体にわたる伝送のためにモデル・オブジェクトとクライアント・オブジェクトとを実装するための手段をさらに有する上記(10)に記載のパーソナル会議システム。
(12)前記モデル・オブジェクトは、現在のモデル・データを含む状態メッセージを発生させ、該状態メッセージを他のオブジェクトに送るために、モデル・オブジェクトを生成する手段をさらに有する上記(11)に記載のパーソナル会議システム。
(13)前記モデル・オブジェクトは、前記モデル状態メッセージに送られたものへモデル・データをセットし、それによって一つのモデル・オブジェクトが他のモデル・オブジェクトによってコピーされるために、前記モデル・オブジェクトを生成する手段をさらに有する上記(12)に記載のパーソナル会議システム。
(14)さらに、前記サーバ・オブジェクトに関連して集中化されたモデル・オブジェクトを有する上記(10)ないし(13)のいずれか一項に記載のパーソナル会議システム。
(15)クライアント・オブジェクトに関連したモデル・オブジェトは前記サーバ・オブジェクトに関連した前記モデル・オブジェクトからコピーされる上記(14)に記載のパーソナル会議システム。
(16)前記クラスおよびオブジェクトは、上位マシン・バイト・コードにインプリメントされる上記(10)ないし(15)のいずれか一項に記載のパーソナル会議システム。
(17)クライアント・クラスおよびモデル・クラスは、ダウンロード可能で、かつ前記上位マシン・バイト・コードによって使用可能となるネットワーク・ブラウザによって実行可能な上位マシン・バイト・コード・アプレットを含む上記(16)に記載のパーソナル会議システム。
【図面の簡単な説明】
【図1】 従来のピア・トゥ・ピア会議システムの一例を示すブロック図である。
【図2】 従来のクライアント/サーバ会議システムの一例を示すブロック図であり、標準的なXWindowにおけるクライアントとサーバとのインタラクションを示す。
【図3】 従来のクライアント/サーバ会議システムの一例を示すブロック図であり、クライアントとサーバとの間に設けられたXTVとのインタラクションを示す。
【図4】 本発明にもとづくパーソナル会議システムの一実施形態例を説明するためのブロック図である。
【図5】 本発明にもとづくパーソナル会議システムをインプリメントする際に使用されるプログラム・クラスを模式的に説明するためのブロック図である。
【図6】 本発明にもとづくパーソナル会議システムに適用されるIBMのTeam Workerアプリケーションのコンピュータ画面を表す図である。
【符号の説明】
30 サーバ・コンピュータ
32A、32B、32C クライアント・コンピュータ
34 プロセッサ
36A、36B、36C クライアント・コード
38 メモリ
40 周辺機器
42 キーボード
43 マウス
44 ネットワーク・アダプタ
47 プロセッサ
48 プロセッサ
50A−E サーバ・コード
52 メモリ
56 クライアント・アプレット
58 WWWのページ(ウエブ・ページ)
60 モデル・データ
Claims (17)
- 接続された一以上のクライアント・コンピュータを有するサーバ・コンピュータのためのパーソナル会議方法であって、
(a)会議モデル・データをサーバ・コンピュータとクライアント・コンピュータとに格納するステップと、
(b)クライアント・コンピュータからの命令を受信するやいなや前記会議モデル・データを処理するステップと、
(c)前記サーバ・コンピュータから各々のクライアント・コンピュータに前記命令を同報通信を使用して再送するステップとを有し、
前記会議モデル・データのすべてのコピーが前記サーバ・コンピュータに保持された会議モデル・データに一致するように、各クライアント・コンピュータは該クライアント・コンピュータ上に保持された前記会議データ・モデルのコピーに対して同一の処理を実行するパーソナル会議方法。 - サーバ・コンピュータに接続された一台以上のクライアント・コンピュータのための会議方法であって、
(a)前記サーバ・コンピュータおよび前記クライアント・コンピュータの各々が会議モデル・データのコピーを格納するステップと、
(b)前記クライアント・コンピュータの一つが会議モデル・データを処理する命令を生成し、サーバ・コンピュータへ前記命令を送るステップと、
(c)前記クライアント・コンピュータの各々がサーバ・コンピュータから命令のコピーを同報通信を使用して受信し、該命令にもとづいて上記クライアント・コンピュータの各々のモデルを処理するステップとを有し、異なるクライアントからの複数の異なる処理命令の後に、前記会議モデル・データの各々のコピーが互いに一致するパーソナル会議方法。 - 前記サーバ・コンピュータは、前記会議モデル・データを要求あり次第クライアント・コンピュータへ前記会議モデル・データを送る請求項1または2に記載のパーソナル会議方法。
- 上位マシン・バイト・コードの制御下で前記ステップが実行される請求項1ないし3のいずれか一項に記載のパーソナル会議方法。
- クライアント・コンピュータを制御する上位マシン・バイト・コードは、該クライアント・コンピュータで実行されるネットワーク・ブラウザによって前記サーバ・コンピュータからダウンロード可能である請求項4に記載のパーソナル会議方法。
- 前記会議モデル・データを処理する前記命令は変数を有するOpcodeの形態である請求項2ないし5のいずれか一項に記載のパーソナル会議方法。
- 会議モデル・データを含みクライアント・コンピュータから命令を受信して該命令にもとづいて前記会議モデル・データを処理する手段とを有するサーバ・コンピュータと、命令を生成して該命令を前記サーバ・コンピュータへ送る手段を有する少なくとも2台のクライアント・コンピュータとを備えるパーソナル会議システムであって、
前記サーバ・コンピュータは、
受信した命令をすべてのクライアント・コンピュータへ同報通信を使用して分散する手段をさらに有し、また
前記少なくとも2台のクライアント・コンピュータの各々は、
会議モデル・データのコピーと、
前記サーバ・コンピュータからの分散された前記命令を同報通信により受信して前記サーバ・コンピュータから受信した命令にもとづいて前記会議モデル・データのコピーを処理する手段とをさらに有し、前記会議モデル・データのすべてのコピーが前記サーバ・コンピュータに保持された会議モデル・データに一致するように、各クライアント・コンピュータは該クライアント・コンピュータ上に保持された前記会議データ・モデルのコピーに対して同一の処理を実行するパーソナル会議システム。 - 前記少なくとも2台のクライアント・コンピュータの各々は、前記会議モデル・データを表示するための手段をさらに有する請求項7に記載のパーソナル会議システム。
- 会議モデル・データと、該会議モデル・データを処理するための命令を生成して該命令を他のコンピュータへ送る手段と、前記命令にもとづいて前記会議モデル・データを処理する手段とを有し、かつメッセージ通信のために接続した少なくとも2台のコンピュータを有するパーソナル会議システムであって
前記少なくとも2台のコンピュータの一つがサーバ・コンピュータであり、他のコンピュータが該サーバ・コンピュータと接続されたクライアント・コンピュータであり、
前記サーバ・コンピュータは、さらに接続されたクライアント・コンピュータのすべてに受信した命令を同報通信を使用して分散するための手段を有し、さらに、
前記会議モデル・データを処理する手段は、前記サーバ・コンピュータから分散された命令を受信するための手段を有するもので、
異なるコンピュータからの前記処理命令のコピーのシーケンスは前記会議モデル・データの各々のコピーが互いに一致するように、前記会議モデル・データの各々のコピーに対して同時に実行されるパーソナル会議システム。 - サーバ・オブジェクトおよび複数のクライアント・オブジェクトと、モデル・データと命令メッセージに対して前記モデル・データを処理する手段とを有するモデル・オブジェクトとを有し、また前記複数のクライアント・オブジェクトの各々は、前記モデル・オブジェクトを処理するための命令を生成する手段を有するパーソナル会議システムにおいて、
前記複数のクライアント・オブジェクトの各々は関連したモデル・オブジェクトを有し、また
前記複数のクライアント・オブジェクトの各々は処理命令をモデル・データを含むサーバ・オブジェクトに送る手段をさらに有することによって、
前記モデル・データの各々のコピーが互いに一致するように、実行されるべき異なるクライアント・オブジェクトからの前記処理命令のコピーのシークエンスを前記サーバ・オブジェクトから同報通信により受信し、前記シークエンスをモデル・データのインスタンス上の各モデル・オブジェクトによって同時に実行させるパーソナル会議システム。 - コンピュータ・ネットワーク全体にわたる伝送のためにモデル・オブジェクトとクライアント・オブジェクトとを実装するための手段をさらに有する請求項10に記載のパーソナル会議システム。
- 前記モデル・オブジェクトは、現在のモデル・データを含む状態メッセージを発生させ、該状態メッセージを他のオブジェクトに送るために、モデル・オブジェクトを生成する手段をさらに有する請求項11に記載のパーソナル会議システム。
- 前記モデル・オブジェクトは、前記モデル状態メッセージに送られたものへモデル・データをセットし、それによって一つのモデル・オブジェクトが他のモデル・オブジェクトによってコピーされるために、前記モデル・オブジェクトを生成する手段をさらに有する請求項12に記載のパーソナル会議システム。
- さらに、前記サーバ・オブジェクトに関連した集中化されたモデル・オブジェクトを有する請求項10ないし13のいずれか一項に記載のパーソナル会議システム。
- クライアント・オブジェクトに関連したモデル・オブジェトは前記サーバ・オブジェクトに関連した前記モデル・オブジェクトからコピーされる請求項14に記載のパーソナル会議システム。
- 前記クラスおよびオブジェクトは、上位マシン・バイト・コードにインプリメントされる請求項10ないし15のいずれか一項に記載のパーソナル会議システム。
- クライアント・クラスおよびモデル・クラスは、ダウンロード可能で、かつ前記上位マシン・バイト・コードによって使用可能となるネットワーク・ブラウザによって実行可能な上位マシン・バイト・コード・アプレットを含む請求項16に記載のパーソナル会議システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9707316.7 | 1997-04-10 | ||
GB9707316A GB2324175B (en) | 1997-04-10 | 1997-04-10 | Personal conferencing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10303893A JPH10303893A (ja) | 1998-11-13 |
JP3694167B2 true JP3694167B2 (ja) | 2005-09-14 |
Family
ID=10810616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08973098A Expired - Fee Related JP3694167B2 (ja) | 1997-04-10 | 1998-04-02 | パーソナル会議方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US6151621A (ja) |
JP (1) | JP3694167B2 (ja) |
KR (1) | KR100320973B1 (ja) |
GB (1) | GB2324175B (ja) |
Families Citing this family (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2253867A1 (en) * | 1996-05-07 | 1997-11-13 | Webline Communications Corporation | Method and apparatus for coordinating internet multi-media content with telephone and audio communications |
US6199116B1 (en) * | 1996-05-24 | 2001-03-06 | Microsoft Corporation | Method and system for managing data while sharing application programs |
US6415316B1 (en) | 1998-09-01 | 2002-07-02 | Aidministrator Nederland B.V. | Method and apparatus for implementing a web page diary |
US6405224B1 (en) * | 1998-09-01 | 2002-06-11 | Aidministrator Nederland B.V. | Method and apparatus for HTML control |
US6748419B2 (en) * | 1998-11-25 | 2004-06-08 | Alibre, Inc. | System and method for solid modeling |
US6334141B1 (en) * | 1999-02-02 | 2001-12-25 | International Business Machines Corporation | Distributed server for real-time collaboration |
JP3644580B2 (ja) * | 1999-03-19 | 2005-04-27 | 富士通株式会社 | 表示制御方法及び装置 |
US6532218B1 (en) * | 1999-04-05 | 2003-03-11 | Siemens Information & Communication Networks, Inc. | System and method for multimedia collaborative conferencing |
WO2000067232A1 (en) * | 1999-05-05 | 2000-11-09 | Accenture Properties (2) B.V. | System, method and article of manufacture for creating chat rooms with multiple roles for multiple participants |
US6611822B1 (en) * | 1999-05-05 | 2003-08-26 | Ac Properties B.V. | System method and article of manufacture for creating collaborative application sharing |
JP3617371B2 (ja) | 1999-05-07 | 2005-02-02 | セイコーエプソン株式会社 | プロジェクタおよび情報記憶媒体 |
JP3617370B2 (ja) * | 1999-05-07 | 2005-02-02 | セイコーエプソン株式会社 | ミーティングシステム、制御装置および情報記憶媒体 |
US7533146B1 (en) * | 1999-06-14 | 2009-05-12 | Epiphany, Inc. | Shared web browser apparatus and method for interactive communications |
JP3485252B2 (ja) * | 1999-06-16 | 2004-01-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理方法、情報端末支援サーバ、コラボレーション・システム、情報処理プログラムを格納する記憶媒体 |
US6640241B1 (en) * | 1999-07-19 | 2003-10-28 | Groove Networks, Inc. | Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager |
US6457045B1 (en) | 1999-08-30 | 2002-09-24 | Zaplet, Inc. | System and method for group choice making |
US6691153B1 (en) * | 1999-08-30 | 2004-02-10 | Zaplet, Inc. | Method and system for process interaction among a group |
US6507865B1 (en) | 1999-08-30 | 2003-01-14 | Zaplet, Inc. | Method and system for group content collaboration |
US6523063B1 (en) | 1999-08-30 | 2003-02-18 | Zaplet, Inc. | Method system and program product for accessing a file using values from a redirect message string for each change of the link identifier |
US6496849B1 (en) | 1999-08-30 | 2002-12-17 | Zaplet, Inc. | Electronic media for communicating information among a group of participants |
JP4320487B2 (ja) * | 1999-09-03 | 2009-08-26 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム格納媒体 |
US6496201B1 (en) * | 1999-09-30 | 2002-12-17 | International Business Machines Corporation | System and user interface for multiparty conferencing |
US6453337B2 (en) * | 1999-10-25 | 2002-09-17 | Zaplet, Inc. | Methods and systems to manage and track the states of electronic media |
US7349944B2 (en) * | 1999-11-18 | 2008-03-25 | Intercall, Inc. | System and method for record and playback of collaborative communications session |
US6668273B1 (en) * | 1999-11-18 | 2003-12-23 | Raindance Communications, Inc. | System and method for application viewing through collaborative web browsing session |
US6535909B1 (en) * | 1999-11-18 | 2003-03-18 | Contigo Software, Inc. | System and method for record and playback of collaborative Web browsing session |
US7702719B1 (en) * | 2000-02-08 | 2010-04-20 | International Business Machines Corporation | Methods and apparatus for reducing the number of server interactions in network-based applications using a dual-MVC approach |
US7240093B1 (en) * | 2000-02-29 | 2007-07-03 | Microsoft Corporation | Use of online messaging to facilitate selection of participants in game play |
US7328239B1 (en) | 2000-03-01 | 2008-02-05 | Intercall, Inc. | Method and apparatus for automatically data streaming a multiparty conference session |
FR2806498B1 (fr) * | 2000-03-17 | 2002-06-14 | Lipha | Systeme informatique de calcul et procede de calcul mis en oeuvre au moyen d'un tel systeme |
US7043534B1 (en) * | 2000-03-31 | 2006-05-09 | Lenavo (Singapore) Pte. Ltd. | Remote execution of commands in a multi-host network |
US6898642B2 (en) | 2000-04-17 | 2005-05-24 | International Business Machines Corporation | Synchronous collaboration based on peer-to-peer communication |
US7124164B1 (en) * | 2001-04-17 | 2006-10-17 | Chemtob Helen J | Method and apparatus for providing group interaction via communications networks |
US7478129B1 (en) | 2000-04-18 | 2009-01-13 | Helen Jeanne Chemtob | Method and apparatus for providing group interaction via communications networks |
US6809749B1 (en) * | 2000-05-02 | 2004-10-26 | Oridus, Inc. | Method and apparatus for conducting an interactive design conference over the internet |
JP3434487B2 (ja) * | 2000-05-12 | 2003-08-11 | 株式会社イサオ | 位置連動式チャットシステム、そのための位置連動式チャット方法、および、プログラムを記録したコンピュータ読み取り可能な記録媒体 |
CN1197001C (zh) * | 2000-06-12 | 2005-04-13 | 普里沃克斯(控股)有限公司 | 控制应用软件用户界面显示的系统 |
JP2002041429A (ja) * | 2000-07-26 | 2002-02-08 | Nec Corp | インターネットにおける共有資料を用いて会議を行う方法、会議システム、情報処理装置及び記録媒体 |
JP2002123743A (ja) * | 2000-10-13 | 2002-04-26 | Canon Inc | 情報処理システム、情報処理装置、情報処理方法および記録媒体 |
JP2002189691A (ja) | 2000-10-13 | 2002-07-05 | Canon Inc | 情報処理装置、情報処理システム、共有資料の作成方法、及びそのプログラム |
US7003728B2 (en) * | 2000-12-21 | 2006-02-21 | David Berque | System for knowledge transfer in a group setting |
JP4512964B2 (ja) * | 2001-02-13 | 2010-07-28 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
US20020129106A1 (en) * | 2001-03-12 | 2002-09-12 | Surgency, Inc. | User-extensible system for manipulating information in a collaborative environment |
US7266609B2 (en) * | 2001-04-30 | 2007-09-04 | Aol Llc | Generating multiple data streams from a single data source |
US8572278B2 (en) | 2001-04-30 | 2013-10-29 | Facebook, Inc. | Generating multiple data streams from a single data source |
WO2003105006A1 (en) * | 2001-04-30 | 2003-12-18 | America Online, Inc. | Load balancing with direct terminal response |
US7124166B2 (en) * | 2001-04-30 | 2006-10-17 | Aol Llc | Duplicating digital streams for digital conferencing using switching technologies |
US7237033B2 (en) | 2001-04-30 | 2007-06-26 | Aol Llc | Duplicating switch for streaming data units to a terminal |
US7353252B1 (en) * | 2001-05-16 | 2008-04-01 | Sigma Design | System for electronic file collaboration among multiple users using peer-to-peer network topology |
US6727930B2 (en) | 2001-05-18 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | Personal digital assistant with streaming information display |
WO2002099582A2 (en) * | 2001-06-02 | 2002-12-12 | Polycom, Inc. | System and method for point to point integration of personal computers with videoconferencing systems |
US7213211B1 (en) | 2001-07-03 | 2007-05-01 | Dynamic Knowledge Transfer, Llc | System for knowledge transfer in a group setting |
US20030041029A1 (en) * | 2001-08-21 | 2003-02-27 | Gould James B. | Method of producing revenues online |
US20030078970A1 (en) * | 2001-10-18 | 2003-04-24 | Ronald Leaders | Interactive web conferencing |
US7133362B2 (en) * | 2001-11-14 | 2006-11-07 | Microsoft Corporation | Intelligent buffering process for network conference video |
US7187762B2 (en) * | 2001-11-15 | 2007-03-06 | International Business Machines Corporation | Conferencing additional callers into an established voice browsing session |
US20030126213A1 (en) * | 2002-01-02 | 2003-07-03 | International Business Machines Corporation | Establishing direct instant messaging communication between wireless devices |
US6933943B2 (en) * | 2002-02-27 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | Distributed resource architecture and system |
US7225228B2 (en) * | 2002-03-25 | 2007-05-29 | Sun Microsystems, Inc. | Efficient binary content distribution using propagating messages |
US7454760B2 (en) | 2002-04-22 | 2008-11-18 | Rosebud Lms, Inc. | Method and software for enabling n-way collaborative work over a network of computers |
US7480697B2 (en) * | 2002-05-28 | 2009-01-20 | International Business Machines Corporation | Method and apparatus using attached hardware subsystem to communicate between attached hosts |
US20040078217A1 (en) * | 2002-06-04 | 2004-04-22 | Bacevice Anthony E. | System and method for managing prepartum medical records |
US7437463B1 (en) * | 2002-06-21 | 2008-10-14 | Polycom, Inc. | Method and means for providing scheduling for a videoconferencing network in a manner to ensure bandwidth |
US8028092B2 (en) | 2002-06-28 | 2011-09-27 | Aol Inc. | Inserting advertising content |
US7434220B2 (en) * | 2002-09-16 | 2008-10-07 | Clearcube Technology, Inc. | Distributed computing infrastructure including autonomous intelligent management system |
US7209948B2 (en) * | 2002-12-20 | 2007-04-24 | International Business Machines, Corporation | Collaborative review of distributed content |
AU2004211236B2 (en) | 2003-02-10 | 2009-04-02 | Open Invention Network, Llc | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
US7421069B2 (en) * | 2003-02-10 | 2008-09-02 | Intercall, Inc. | Methods and apparatus for providing egalitarian control in a multimedia collaboration session |
US7945618B2 (en) * | 2003-02-10 | 2011-05-17 | Oren Asher | Peer-to-peer service designer |
US7701882B2 (en) | 2003-02-10 | 2010-04-20 | Intercall, Inc. | Systems and methods for collaborative communication |
US7219127B2 (en) * | 2003-03-13 | 2007-05-15 | Oracle International Corporation | Control unit operations in a real-time collaboration server |
US7529798B2 (en) | 2003-03-18 | 2009-05-05 | Intercall, Inc. | System and method for record and playback of collaborative web browsing session |
US7034776B1 (en) | 2003-04-08 | 2006-04-25 | Microsoft Corporation | Video division detection methods and systems |
US7098868B2 (en) * | 2003-04-08 | 2006-08-29 | Microsoft Corporation | Display source divider |
US7814150B1 (en) * | 2003-06-03 | 2010-10-12 | Cisco Technology, Inc. | Apparatus and method to bridge telephone and data networks |
US7987233B1 (en) | 2003-08-15 | 2011-07-26 | Microsoft Corporation | System and methods for facilitating a multiparty communications session with a dynamically designated session manager |
US7426578B2 (en) * | 2003-12-12 | 2008-09-16 | Intercall, Inc. | Systems and methods for synchronizing data between communication devices in a networked environment |
US10152190B2 (en) | 2003-12-15 | 2018-12-11 | Open Invention Network, Llc | Systems and methods for improved application sharing in a multimedia collaboration session |
US7580867B2 (en) | 2004-05-04 | 2009-08-25 | Paul Nykamp | Methods for interactively displaying product information and for collaborative product design |
US7308476B2 (en) * | 2004-05-11 | 2007-12-11 | International Business Machines Corporation | Method and system for participant automatic re-invite and updating during conferencing |
JP2006031359A (ja) * | 2004-07-15 | 2006-02-02 | Ricoh Co Ltd | 画面共有方法、及び会議支援システム |
US7508354B1 (en) | 2004-12-20 | 2009-03-24 | Dynamic Knowledge Transfer, Llc | Multi-board presentation system |
US8069206B2 (en) * | 2005-03-18 | 2011-11-29 | Clearone Communications, Inc. | System and method for real-time feedback with conservative network usage in a teleconferencing system |
US8457614B2 (en) | 2005-04-07 | 2013-06-04 | Clearone Communications, Inc. | Wireless multi-unit conference phone |
US8527563B2 (en) | 2005-09-12 | 2013-09-03 | Microsoft Corporation | Remoting redirection layer for graphics device interface |
US9047588B2 (en) * | 2005-12-21 | 2015-06-02 | International Business Machines Corporation | E-mail protocol for instant message |
CA2636819A1 (en) * | 2006-01-13 | 2007-07-19 | Diginiche Inc. | System and method for collaborative information display and markup |
JP4724733B2 (ja) * | 2008-06-06 | 2011-07-13 | 株式会社エヌ・ティ・ティ・ドコモ | 映像編集システム、映像編集サーバ、通信端末 |
US20100100866A1 (en) * | 2008-10-21 | 2010-04-22 | International Business Machines Corporation | Intelligent Shared Virtual Whiteboard For Use With Representational Modeling Languages |
BRPI0921978A2 (pt) | 2008-11-26 | 2019-01-15 | Calgary Scient Inc | método de fornecimento de acesso remoto a estado de programa de aplicativo e meios de armazenamento. |
JP5713551B2 (ja) * | 2009-10-01 | 2015-05-07 | キヤノン株式会社 | 情報処理システム、情報処理装置、及びそれらの制御方法 |
US9104252B2 (en) * | 2010-02-12 | 2015-08-11 | Microsoft Technology Licensing, Llc | Assignment of control of peripherals of a computing device |
CN102044089A (zh) * | 2010-09-20 | 2011-05-04 | 董福田 | 一种三维模型的自适应化简、渐进传输和快速绘制的方法 |
WO2012093330A1 (en) | 2011-01-04 | 2012-07-12 | Calgary Scientific, Inc. | A method and system of controlling a remote controlled device in a remote controlled surgical procedure |
US9741084B2 (en) | 2011-01-04 | 2017-08-22 | Calgary Scientific Inc. | Method and system for providing remote access to data for display on a mobile device |
KR20140080483A (ko) | 2011-08-15 | 2014-06-30 | 캘거리 싸이언티픽 인코포레이티드 | 애플리케이션 프로그램에 대한 비-침투적 원격 액세스 |
WO2013046015A1 (en) * | 2011-09-30 | 2013-04-04 | Calgary Scientific Inc. | Uncoupled application extensions including interactive digital surface layer for collaborative remote application sharing and annotating |
WO2013072764A2 (en) | 2011-11-11 | 2013-05-23 | Calgary Scientific Inc. | Session transfer and suspension in a remote access application framework |
CN104040946B (zh) * | 2011-11-23 | 2017-07-14 | 卡尔加里科学公司 | 用于协作远程应用程序共享和会议的方法和系统 |
US10471348B2 (en) | 2015-07-24 | 2019-11-12 | Activision Publishing, Inc. | System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5008853A (en) * | 1987-12-02 | 1991-04-16 | Xerox Corporation | Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment |
US5319777A (en) * | 1990-10-16 | 1994-06-07 | Sinper Corporation | System and method for storing and retrieving information from a multidimensional array |
DE69131094T2 (de) * | 1991-01-31 | 1999-07-29 | Hewlett Packard Co | Konferenzsystem |
US5293619A (en) * | 1991-05-30 | 1994-03-08 | Sandia Corporation | Method and apparatus for collaborative use of application program |
JP3391811B2 (ja) * | 1992-02-27 | 2003-03-31 | トヨタ自動車株式会社 | Cadシステムにおけるチーム形式のデータ処理方法およびcadシステム |
JP3252454B2 (ja) * | 1992-06-30 | 2002-02-04 | 富士ゼロックス株式会社 | 共有データ変更状況把握装置 |
US5392400A (en) * | 1992-07-02 | 1995-02-21 | International Business Machines Corporation | Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence |
US5345551A (en) * | 1992-11-09 | 1994-09-06 | Brigham Young University | Method and system for synchronization of simultaneous displays of related data sources |
US5920694A (en) * | 1993-03-19 | 1999-07-06 | Ncr Corporation | Annotation of computer video displays |
DE69432524T2 (de) * | 1993-06-09 | 2004-04-01 | Btg International Inc. | Verfahren und vorrichtung für ein digitales multimediakommunikationssystem |
DE4417588A1 (de) * | 1993-08-30 | 1995-03-02 | Hewlett Packard Co | Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung |
JPH07182282A (ja) * | 1993-09-28 | 1995-07-21 | At & T Global Inf Solutions Internatl Inc | コンピュータービデオ表示の添え書き |
EP0645725A2 (en) * | 1993-09-28 | 1995-03-29 | NCR International, Inc. | Storing video data in a computer system |
US5689641A (en) * | 1993-10-01 | 1997-11-18 | Vicor, Inc. | Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal |
US5452299A (en) * | 1993-10-14 | 1995-09-19 | Intel Corporation | Optimized transfer of large object data blocks in a teleconferencing system |
EP0657833A2 (en) * | 1993-12-13 | 1995-06-14 | International Business Machines Corporation | Workstation conference pointer-user association mechanism |
US5729687A (en) * | 1993-12-20 | 1998-03-17 | Intel Corporation | System for sending differences between joining meeting information and public meeting information between participants in computer conference upon comparing annotations of joining and public meeting information |
JPH0816514A (ja) * | 1994-07-01 | 1996-01-19 | Hitachi Ltd | 共同作業支援システム |
US5652789A (en) * | 1994-09-30 | 1997-07-29 | Wildfire Communications, Inc. | Network based knowledgeable assistant |
US5793967A (en) * | 1994-10-18 | 1998-08-11 | Hand Held Products, Inc. | Data collection and RF communications system and method of developing applications for same |
US5887170A (en) * | 1995-02-13 | 1999-03-23 | International Business Machines Corporation | System for classifying and sending selective requests to different participants of a collaborative application thereby allowing concurrent execution of collaborative and non-collaborative applications |
JPH08298656A (ja) * | 1995-02-28 | 1996-11-12 | Ricoh Co Ltd | テレライティングシステム |
JP3160177B2 (ja) * | 1995-03-06 | 2001-04-23 | 松下電器産業株式会社 | ファクシミリ型電子メール装置 |
JPH08305663A (ja) * | 1995-04-28 | 1996-11-22 | Hitachi Ltd | 共同作業支援システム |
US5757669A (en) * | 1995-05-31 | 1998-05-26 | Netscape Communications Corporation | Method and apparatus for workgroup information replication |
US5907324A (en) * | 1995-06-07 | 1999-05-25 | Intel Corporation | Method for saving and accessing desktop conference characteristics with a persistent conference object |
JPH09101767A (ja) * | 1995-07-31 | 1997-04-15 | Canon Inc | 端末装置、端末の制御方法、会議システム、およびコンピュータ可読メモリ |
US5764902A (en) * | 1995-09-29 | 1998-06-09 | Intel Corporation | Conditional insert or merge in a data conference |
US5754776A (en) * | 1995-12-28 | 1998-05-19 | Intel Corporation | Re-prioritizing background data transfers in multipoint conferencing |
US5933597A (en) * | 1996-04-04 | 1999-08-03 | Vtel Corporation | Method and system for sharing objects between local and remote terminals |
US5923848A (en) * | 1996-05-31 | 1999-07-13 | Microsoft Corporation | System and method for resolving names in an electronic messaging environment |
US5802518A (en) * | 1996-06-04 | 1998-09-01 | Multex Systems, Inc. | Information delivery system and method |
US5963547A (en) * | 1996-09-18 | 1999-10-05 | Videoserver, Inc. | Method and apparatus for centralized multipoint conferencing in a packet network |
US5915001A (en) * | 1996-11-14 | 1999-06-22 | Vois Corporation | System and method for providing and using universally accessible voice and speech data files |
US5867494A (en) * | 1996-11-18 | 1999-02-02 | Mci Communication Corporation | System, method and article of manufacture with integrated video conferencing billing in a communication system architecture |
US5844969A (en) * | 1997-01-23 | 1998-12-01 | At&T Corp. | Communication system, method and device for remotely re-transmitting received electronic mail directed to a destination terminal to a new destination terminal |
US5907598A (en) * | 1997-02-20 | 1999-05-25 | International Business Machines Corporation | Multimedia web page applications for AIN telephony |
US5937160A (en) * | 1997-05-01 | 1999-08-10 | Reedy Creek Technologies, Inc. | Systems, methods and computer program products for updating hypertext documents via electronic mail |
-
1997
- 1997-04-10 GB GB9707316A patent/GB2324175B/en not_active Expired - Fee Related
-
1998
- 1998-02-06 KR KR1019980003540A patent/KR100320973B1/ko not_active IP Right Cessation
- 1998-03-19 US US09/044,459 patent/US6151621A/en not_active Expired - Fee Related
- 1998-04-02 JP JP08973098A patent/JP3694167B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10303893A (ja) | 1998-11-13 |
GB2324175B (en) | 2002-07-31 |
US6151621A (en) | 2000-11-21 |
KR19980079686A (ko) | 1998-11-25 |
GB9707316D0 (en) | 1997-05-28 |
GB2324175A (en) | 1998-10-14 |
KR100320973B1 (ko) | 2002-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3694167B2 (ja) | パーソナル会議方法及びシステム | |
US11785056B2 (en) | Web browser interface for spatial communication environments | |
USRE46309E1 (en) | Application sharing | |
US9813463B2 (en) | Phoning into virtual communication environments | |
US7761506B2 (en) | Generic object-based resource-sharing interface for distance co-operation | |
Greenberg et al. | Groupware toolkits for synchronous work | |
JP3962157B2 (ja) | プロキシ及び共有状態サーバを使用してwwwでの認知、ツアー及び会議をポータブルに可能にする方法及びシステム | |
US6223212B1 (en) | Method and system for sharing negotiating capabilities when sharing an application with multiple systems | |
US5887170A (en) | System for classifying and sending selective requests to different participants of a collaborative application thereby allowing concurrent execution of collaborative and non-collaborative applications | |
US20090288007A1 (en) | Spatial interfaces for realtime networked communications | |
Bergenti et al. | A collaborative platform for fixed and mobile networks | |
Gutekunst et al. | A distributed and policy-free general-purpose shared window system | |
Steed et al. | Spelunking: Experiences using the D ive System on CAVE-like Platforms | |
Tung | MediaBoard: A shared whiteboard application for the MBone | |
Grimstead et al. | Visualization across the pond: How a wireless pda can collaborate with million-polygon datasets via 9,000 km of cable | |
EP0715268B1 (en) | Information processing system | |
KR100237182B1 (ko) | 응용 프로그램 공유 시스템의 구조 및 응용 프로그램 공유 방법 | |
Kim et al. | Issues in platform-independent support for multimedia desktop conferencing and application sharing | |
KR102566158B1 (ko) | 원격제어를 통한 온라인 회의 방법 | |
US20230339816A1 (en) | Visual Communications | |
Hawkes et al. | Livingspace: A living worlds implementation using an event-based architecture | |
JP3673540B2 (ja) | 情報処理方法及び装置及びシステム | |
Haji-Ismail et al. | JACIE-an authoring language for rapid prototyping net-centric, multimedia and collaborative applications | |
Calefato et al. | Porting a distributed meeting system to the eclipse communication framework | |
Lima et al. | A co-browsing system with conference support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050623 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |