JP4477154B2 - マルチポイント配信システムにおけるトランスポート機構の動的ローディングの方法および装置 - Google Patents
マルチポイント配信システムにおけるトランスポート機構の動的ローディングの方法および装置 Download PDFInfo
- Publication number
- JP4477154B2 JP4477154B2 JP17348698A JP17348698A JP4477154B2 JP 4477154 B2 JP4477154 B2 JP 4477154B2 JP 17348698 A JP17348698 A JP 17348698A JP 17348698 A JP17348698 A JP 17348698A JP 4477154 B2 JP4477154 B2 JP 4477154B2
- Authority
- JP
- Japan
- Prior art keywords
- session
- transport mechanism
- collaboration
- registry
- client
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4535—Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明はマルチポイント・データ配信システム、より詳細に言えばマルチポイント・データ配信システム内のトランスポート機構に関する。
【0002】
【従来の技術】
ビジネスおよび娯楽の分野でコンピュータが重要になるにつれて、コンピュータ・ユーザ間の通信を向上させることが必要になっている。コンピュータの1つの重要な機能はユーザに情報を分配し、ユーザ間の対話およびコラボレーション(collaboration 共通操作)を可能にすることである。情報分配および対話の従来のシステムは、電子メール(Eメール)、メーリング・リスト、掲示板システムまたはワールド・ワイド・ウェブ(WWW)での情報の入手、およびビデオ会議を含む。
【0003】
ユーザは電子メールを使って複数の宛て先に情報を送信できる。しかし、Eメールへの返信の収集は容易ではない。さらに、複数の通信主体がEメールでコラボレーションするのは容易ではない。
【0004】
メーリング・リストは情報の分配には役立つが、加入者が受信する情報を選択するのは比較的困難である。さらに、返信ができる場合にはメーリング・リストはあまりにも扱いにくくなる場合がある。
【0005】
掲示板システムまたはワールド・ワイド・ウェブ(WWW)ページは情報の公表には役立つ。しかし、一般ユーザが表示情報を変更することは容易ではない。このようにこの環境では情報の公表が可能であるがユーザ間の完全なコラボレーションができない。
【0006】
ビデオ会議および類似のシステムを使って特定のプロジェクトに対してコラボレーションすることができる。ただし、ビデオ会議は一般にビデオ会議の間は他の処理ができない専用のコンピュータ・システムを必要とする。さらに、一般にビデオ会議への参加は各参加者を収容するのに必要な処理能力とネットワーク帯域幅があるために通常限定されている。したがって、この会議への参加者数は大幅に限定される。以上の点から、ビデオ会議システムによって複数のユーザ間の長時間のコラボレーションを確立することは比較的困難である。
【0007】
【発明が解決しようとする課題】
異種ネットワークでコンピュータを使って複数のユーザ間でコラボレーションを行おうとするとき、異なるネットワーク・プロトコルが存在することがある。この場合はソフトウエアの多数のバージョンをそれぞれの特定のプロトコル用の一つのソフトウェア・バーションに書く必要がある。したがって、基礎のネットワーク・プロトコルから独立した、コラボレーション用の改良された機構を確立することが有利である。
【0008】
【課題を解決するための手段】
本発明はマルチポイント・データ配信システム内にトランスポート機構を動的にロードする方法および装置である。マルチポイント・データ配信システムは、ユーザまたはコンピュータ間にポイント・ツー・ポイントおよびポイント・ツー・マルチポイントのメッセージの送信が可能な通信機構を提供する。コラボレーション・セッションに対応するリソース・ロケータ(RL)はレジストリから要求される。レジストリ内のRLの位置標識がレジストリから受信される。レジストリ内の位置標識の受信に応答して、RL内に規定されたトランスポート機構が動的にロードされコラボレーション・セッションに参加できる。トランスポート機構は使用するトランスポート・プロトコルを識別するプロトコル・スタックである。トランスポート・プロトコルは、送信制御プロトコル(TCP)、ユーザ・データグラム・プロトコル(UDP)、リモート・メソッド起動(RMI)、T.120、共通オブジェクト要求ブローカ・アーキテクチャ(CORBA)、スケーラブル・リライアブル・マルチキャスト(SRM)、およびその他のトランスポート・レベルの実施形態を含む。
【0009】
本発明は添付図面の各図において例示されており、限定されるものではない。図中の番号と明細書中の番号は対応しており類似の要素を示している。
【0010】
【発明の実施の形態】
マルチポイント・データ配信システム内にトランスポート機構を動的にロードする方法および装置について記述する。以下の記述で、説明のために数多くの特定の具体例を提示して本発明を完全に理解できるようにしている。しかしながら、当業者には本発明がこれらの特定の具体例以外の方法でも実施できることは明らかであろう。また別の例では、周知の構造および装置はブロック図の形式で示して本発明を不必要にわかりにくくしないように配慮している。
【0011】
図1は本発明が実施されるコンピュータ・ネットワークの一実施形態を示すブロック図である。コンピュータ・システム110は直接接続120を介して直接に、またはネットワーク130を介して他のコンピュータ・システム110に結合する。一実施形態では、1つまたは複数のコンピュータ・システム110は別のコンピュータ・システム110上で実行される「セッション」の「クライアント」になることができる。これらの用語については後述する。また別に、1つのコンピュータ・システム110はサーバとして動作でき、残りのコンピュータ・システム110はクライアントである。また別に、本発明は複数のコンピュータ・システム上に各ブロック部分がある分散システムとして実施できる。また別に、本発明は単一のコンピュータ・システム110上でも実施できる。
【0012】
本発明はコンピュータ・ネットワークでコラボレーション・システムのトランスポート・プロトコルを動的にロードする処理に関連する。一実施形態によれば、コラボレーション・システムは、メモリ内に記憶された命令シーケンスを実行しているプロセッサに応答してコンピュータ・システムによって管理される。命令シーケンスの実行によってコンピュータ・ネットワークは後述するようにユーザがコラボレーション・セッションに参加できるようにコラボレーション・セッションを確立し、新しいセッションを追加し、トランスポート・プロトコルを動的にロードする。別の実施形態では、コンピュータ・ネットワーク内部の回路論理をソフトウェアに代えて用いて、またはソフトウェアと併用して本発明を実施する。このように、本発明はハードウェアとソフトウェアのいかなる特定の組み合わせにも限定されない。
【0013】
リソース・ロケータ(RL)という用語が明細書で用いられているが、本発明の精神を変更することなくインターネット上でオブジェクトを指定する別の方法を利用することができる。さらに、RLタイプ内で、別のアクセス方式またはプロトコルを利用できる。このように、ファイル転送プロトコル(ftp)、telnet等に対応するRLを利用できる。しかしながら、簡略化のためRLという用語を今後も使用する。
【0014】
図2は本発明のコラボレーション・システムの一実施形態を示すブロック図である。本発明のコラボレーション・システム210は1つまたは複数のコンピュータ・システム110に組み込まれている。コラボレーション・システム210はサーバ・コンピュータとクライアント・コンピュータに実装される要素を含む。ただしサーバおよびクライアント・コンピュータは同じコンピュータでもかまわない。
【0015】
アプリケーション・ユーザ・インタフェース220はクライアント/ユーザに情報を表示し、ライアント/ユーザから情報を受信するインタフェースである。一実施形態では、インタフェース220はワールド・ワイド・ウェブ(WWW)ブラウザの一部でもよい。アプリケーション・ユーザ・インタフェース220はクライアントとして動作するコンピュータ上にある。
【0016】
コラボレーション・システム210はレジストリ230をさらに含む。レジストリ230はリモート・セッションおよびクライアントに関する情報を含む。このため、後述するように他のコンピュータ・システムが多様なセッションにリンクしクライアントになることが可能になる。一実施形態では、レジストリ230はブートストラップ・ネーム・サーバである。一実施形態では、レジストリ230はサーバとして動作するコンピュータに装備される。
【0017】
コラボレーション・システム210はパーサ240をさらに含む。パーサ240は受信したリソース・ロケータ(RL)を解析するためのものである。一実施形態では、リソース・ロケータはユニフォーム・リソース・ロケータ(URL)である。パーサ240は後述するようにRLをコンポーネント部分に分割してさらに処理する。パーサ240はクライアント・コンピュータに実装される。
【0018】
動的ローダ250はコラボレーション・システム210の一部である。動的ローダはメモリ270に記憶されたプロトコル・スタックを動的に(すなわち自動的に)ロードするためのものである。動的ローダ250はこれから確立するセッション/クライアントに使用するプロトコルのタイプを指定するRLに応答してプロトコル・スタックをロードする。動的ローダ250はレジストリ230からタイプ指定を受信し、そのタイプに応じてロードする該当プロトコル・スタックを決定し、メモリ270からプロトコル・スタックを検索する。このように、動的ローダ250はタイプ指定の受信に応答して動的に該当プロトコル・スタックを検索する。一実施形態では、動的ローダ250はクライアント・コンピュータに実装される。
【0019】
コンパレータ260は受信したRLをレジストリ230内のすべてのRLと比較する。コンパレータ260は受信したRLがレジストリ230内にすでにあるかどうか判定する。コンパレータ260はRLが新しいセッションを確立する必要があるか、またはレジストリ220内のすでに確立されたセッションに参加するかを決定する。コンパレータ260はレジストリ230に関連付けられたメモリ270内に一致するRLが見つかったかどうかの判定を出力する。コンパレータ260はサーバ・コンピュータに実装される。
【0020】
セッション・マネジャ280は個々の確立されたセッションを管理する。それぞれの確立されたセッションはレジストリ220内にRLを備え、少なくとも1つのクライアントを備える。セッションの一例を図3に示す。セッション・マネジャ280は問題の特定のセッションのサーバとして動作するコンピュータ上で実施される。一実施形態では、セッションのサーバはレジストリ230と同じコンピュータに実装される必要はない。
【0021】
図3にコラボレーション・コンピュータ処理のセッション300の概要を示す。このセッションで複数のユーザが1つのアプリケーションを共用できる。このセッション300は例えばオンライン・チャット・プログラム、共用ホワイト・ボード、ゲーム・システムなどである。
【0022】
セッション300は定義された通信パス380、395を介してメッセージ交換を行うことができる関連クライアント320、330、360の集合である。クライアント320、330、360はマルチパーティ通信のあるインスタンスへの現実の、または潜在的な参加者である。互いにセッション300に正しく関連付けられると、関連するクライアント320、330、360はポイントツーポイントまたはマルチポイント方式でデータを転送できる。セッション300はクライアント320、330、360の集合およびそれに関連付けられた通信パス380、395に関連付けられた状態を維持し、定義されたセッションの管理ポリシをカプセル化するオブジェクト、すなわちマネジャ310と対話することができる。
【0023】
チャネル380、395は所与のセッション300内の複数のクライアント320、330、360間の潜在的なマルチパーティ通信パスの特定のインスタンスである。チャネル380は複数のクライアント320、330、360間で共用でき、2つのクライアント320、330は別個のチャネル395を確立できる。所与のチャネル380からメッセージを受信する際にインタレストを登録するすべてのクライアント・オブジェクト320、330、360はそのチャネル380で送信されるメッセージを受信する。チャネル380、395にオブジェクト・レファレンスを所有するすべてのクライアント320は所与のチャネル380、395でメッセージを送信でき、クライアント320は複数のチャネル380、395にレファレンスを持つことができる。このように、例えば、マルチパーティ通信用のチャネル380は2つのクライアント320、330間の通信用のチャネル395から分離することができる。
【0024】
コンシューマ325、335、355、365は所与のチャネル380、395上で送信されるメッセージを受信する際にそのインタレストを登録したクライアント・オブジェクトである。すべてのクライアント320、330、360はコンシューマ325、335、355、365になることができ、所与のクライアント330は同時に複数のチャネル380、395のコンシューマ335、355になることができる。クライアント320、330、360はチャネル380、395上にコンシューマ325、335、355、365を設定してそのチャネル380、395上で送信されるデータを受信する。このデータは生データに加えて送信元の名前、送信データの優先度、およびデータが送信されたチャネル380、395の名前を含む。
【0025】
オブザーバ315、350、390は他のオブジェクトの状態変化を通知された際にそのインタレストを登録したオブジェクトである。オブザーバ315、350、390はチャネル380またはトークン340上でセッション300の変化を監視できる。セッション・オブザーバ315はセッション300に参加する、または離脱するクライアント320、330、360に関する情報を通知される。チャネル・オブザーバ390はチャネル380、395に参加する、離脱する、参加の招待を受けている、および放逐されるクライアント320、330、360に関する情報を通知される。トークン・オブザーバ350はトークン340に参加する、離脱する、参加の招待を受けている、および放逐されるクライアント320、330、360に関する情報を通知される。トークン・オブザーバ350はまた、クライアント320、330、360が他のクライアント320、330、360のトークン340を付与するまたは入手しようとする場合に通知を受ける。
【0026】
マネジャ310、345、385は他の所与のオブジェクトの一定の管理ポリシをカプセル化する。セッション300、チャネル380、またはトークン340へのアクセスは生成時にそれにマネジャ310、345、385を割り当てることによって制御される。マネジャ310、345、385はこのリソースに参加しようとしているクライアント320、330、360を認証し、それらの応答に基づいて受入れまたは拒否する。個々のチャネル395への送信および受信アクセスは私設チャネル機構によって制御できる。あらゆるクライアント320、330、360は私設チャネル395を招集でき、その結果、クライアント320、330、360は空きチャネルの私設チャネル・マネジャ385になる。チャネル・マネジャ385はクライアント320、330、360をチャネル380に参加するよう招待し、またはクライアント320、330、360を強制的に離脱させることができる。
【0027】
トークン340、370は一意的な分散アトミック動作を提供する同期化オブジェクトである。トークン340、370を使って多様な異なるアプリケーションレベルの同期化機構を実施して、例えば、共用リソースへの相互に排他的なアクセスを保証することができる。トークン340、370は排他アクセスを実施する手段を提供する。例えば、マルチポイント・アプリケーション内でリソースを使って1つのサイトだけが所与の時間に所与のリソースを保持できるように保証するため、トークン340、370を各リソースに関連付けることができる。あるサイトが特定のリソースを使用したい場合、別のサイトが保持していない場合にのみ付与される該当するトークン340、370を要求する必要がある。単一のトークン340、370を使って各クライアント320、330、360に非排他的モードでトークン340、370を入手させて複数クライアントのイベントを調整することができる。クライアント320、330、360は独自に同じトークン340、370を禁止または解放できる。例えば、すべてのクライアント320、330、360が一括ファイル転送の受信および処理を完了した時点を知りたいという場合、すべての受信側クライアント320、330、360は非排他的に同じトークン340、370を捕捉(禁止)し、各クライアント320、330、360は禁止された処理を完了した時点でトークン340、370を解放する。すべてのクライアント320、330、360はトークン340、370を自由に試験して、トークン340、370が空いているか、すなわち、クライアント320、330、360の処理が完了したかどうかを判定する。
【0028】
動作例
マルチポイント・セッション300でクライアント320、330、360はセッション300の異なるメンバにデータを送信してトークン340、370にアクセスしてリソース競合を解決できる。この例はクライアントD330に関連して後述する。ただし、この説明はセッションに参加する他のすべてのクライアントに適用されることを理解しなくてはならない。クライアント330が実行する最初の処理はセッション300への参加である。クライアント330は最初にどのセッションに参加できるかを判定する。
【0029】
クライアント330は次にセッション300または複数のセッションに参加する。セッションは通常同じサイトまたは異なるサイトに複数のクライアント320、330、360を備える。アプリケーションまたはアプレットは同じセッション300に複数のクライアント320、330、360を収容できる。アプレットは、Sun MicrosystemsTMのJavaTM言語で記述されワールド・ワイド・ウェブ(WWW)ドキュメントに添付して分配されウェブ・ブラウザによって実行されるプラットフォームに依存しないプログラムである。Sun、Sun Microsystems、Sunのロゴ、およびJavaは米国内およびその他の国のSun Microsystems Inc.の登録商標である。各クライアント320、330、360は異なる種類のデータ、すなわち、音声データとビデオ・データを処理することができる。クライアント330は複数のセッションのメンバになることができる。
【0030】
セッション300が確立され、クライアント330がセッション300に参加すると、クライアント330はデータを受信するのに必要な該当するチャネル380、395に参加する。これらのチャネル380、395を使用するかどうかはアプリケーション次第である。クライアントが利用できるリソースを管理するトークン340、370も提供される。チャネル380、395はセッション全体で使用できるアドレスである。セッション300のすべてにクライアント320、330、360はチャネル380、395に参加して送信データを受信し、クライアント330はチャネル380、395の該当する組み合わせに参加し、またそれらのチャネルを消費することによって、これらのチャネル380、395へ送信されるメッセージを受信し、他のチャネルへ送信されるメッセージを無視するよう選択できる。クライアント330はチャネル参加および離脱方法を使って所望のチャネル380、395に加入し、離脱する。
【0031】
参加クライアント320、330、360が共通セッション300にアタッチし、チャネル380、395の正しい組み合わせに参加すると、クライアントは真のマルチポイント方式でデータを交換できる。
【0032】
図4はコラボレーション環境でのさまざまなレベルの対話を示すブロック図である。最下位のレベルはトランスポート・レベル410である。トランスポート・レベル410を使ってネットワークとのインタフェースがとれ、このレベルは送信制御プロトコル(TCP)、ユーザ・データグラム・プロトコル(UDP)、リモート・メソッド起動(RMI)、T.120、共通オブジェクト要求ブローカ・アーキテクチャ(CORBA)、スケーラブル・リライアブル・マルチキャスト(SRM)、およびその他のトランスポート・レベル410の実施形態を含むことができる。
【0033】
レジストリ420はトランスポート・レベル410の1つ上のレベルである。レジストリ420はサーバとして動作するコンピュータ・システム上に常駐し、すべての現在のセッションおよびクライアントを追跡するために用いられる。一実施形態では、レジストリ420はユーザが所与のホスト上でリモート・セッションを獲得するためのブートストラップ・ネーム・サーバである。レジストリ420は実際、すべての利用可能なセッションおよびクライアントのリストを含むレコードである。レジストリ420の上にはセッション管理430がある。セッション管理430は進行中の個々のセッションのマネジャとして動作する。各セッションには独立した管理ブロックがあり、これらの管理ブロックはすべてセッション管理430を共に形成する。
【0034】
レジストリと同じレベルに分散データ共用440がある。分散データ共用440を使ってさまざまなタイプのデータ・オブジェクトをいくつかのクライアント間で共用できる。分散データ共用440を使って共用オブジェクト450、共用プリミティブ460、トークン470およびパブリッシュ/サブスクライブ・タプル480の共用が可能である。分散データ共用440はチャネルとデータ送信および受信ソフトウェアも含む。
【0035】
共用オブジェクト450はセッション管理430の上位に常駐する。共用オブジェクト450はセッション、チャネル、データ、トークン、オブザーバ、コンシューマ、マネジャ、およびプリミティブを含む。これらのオブジェクトに関連付けられたすべてのデータはデータ共用440を使って共用できる。一実施形態では、共用オブジェクト450によってマルチポイント・コラボレーション環境外でもオブジェクトを共用することができる。
【0036】
共用プリミティブ460は分散データ共用440およびセッション管理430の上位に常駐する。共用プリミティブ460を使ってセッションのメンバ間で共用される簡素な名前付きデータ要素を作成して更新できる。共用プリミティブはブール、倍精度、浮動、整数、long型、およびstring型を含む。共用プリミティブ460は常に最新の内部値を持つ。
【0037】
トークン470は共用プリミティブ460の上位に常駐する。トークン470は共用リソースへの排他的アクセスを実施する手段を提供する。トークン470はそのようなリソースに関連付けられている。あるサイトが特定のリソースを使用したい場合、別のサイトが保持していない場合にのみ付与されるそのリソースのトークンを要求する必要がある。またトークン470を使って複数のクライアントが同時に共用できる非排他的トークンを持つことによって複数クライアントのイベントを調整することができる。
【0038】
パブリシュ/サブスクライブ・タプル480は共用プリミティブ460の上位に常駐する。パブリシュ/サブスクライブ・タプル480はすべてのクライアントと関連付けられている。パブリシュ/サブスクライブ・タプル480を使ってクライアントはコラボレーション・システム上に情報を公表し他のクライアントのパブリケーションに参加することができる。
【0039】
図5はレジストリ420でセッションに参加または登録する流れ図である。ブロック510でユニバーサル・リソース・ロケータ(RL)がクライアントから受信される。一実施形態では、リソース・ロケータは次の形式である。
coll://<host>:<port>/<type>/Session/<session_name>
または
coll://<host>:<port>/<type>/Client/<Client_name>
上式でブラケット「< >」内の情報は実際の名前で代入される。host:portはこの特定のコラボレーションの指定サーバの位置を示す。hostはホスト・コンピュータの名前を示す。portは現在のセッションまたはクライアントを確立するコンピュータのポート番号を示す。typeは例えばTCP、UDP、RMI、T.120、CORBA、SRM、その他のトランスポート・タイプを含むコラボレーション参加のタイプを示す。SessionまたはClientはRLがセッションまたはクライアントのどちらを参照しているかを決定する。セッション名およびクライアント名はあらためて説明するまでもない。
【0040】
ブロック520で、RLが解析される。RLの解析では上記の要素が分離されてRLが分析される。
【0041】
ブロック530で、受信したRLはレジストリ内のすべてのRLと比較される。それぞれの確立されたセッションは他のユーザが同じセッションに参加するためのレジストリ内に記憶されたRLを備える。このように、RLの各要素はレジストリ内のすべてのRLと比較される。
【0042】
ブロック540で、処理は受信したRLがレジストリ内のあるRLと同じかどうか判定する。RLがすでにレジストリにある場合、処理は直接ブロック570に移行する。そうでない場合、処理はブロック550に移行する。
【0043】
ブロック550で、RL内に指定されたトランスポート機構のタイプが判定される。すなわち、TCP、UDP、RMI、T.120、CORBA、SRMなどの指定されたタイプが識別される。このように、coll://stard.Eng:4461/TCP/Session/ChatSession/などのRLのタイプは「TCP」である。
【0044】
ブロック560で、レジストリに新しいRLが追加される。レジストリへのRLの追加によってユーザ/クライアントはコラボレーション・セッションへの参加の登録ができる。レジストリ220は異なるトランスポート機構のセッションを確立することができる。
【0045】
ブロック570で、確立されたセッションの位置を示す位置標識がユーザに返送される。一実施形態では、位置標識はレジストリ中のRLを指すポインタである。別の実施形態では、位置標識はインターネット・アドレスである。一実施形態では、セッションはレジストリが存在する同じサーバ上で確立される。また、RLが示す異なるコンピュータ上でセッションを確立することもできる。
【0046】
ブロック580で、クライアントは位置標識の受信に応答してオブジェクト・クラスオブジェクトおよび該当するプロトコル・スタックを動的にロードする。一実施形態では、オブジェクト・クラスはSharedDataクラスである。それぞれのタイプのトランスポート機能は協働してネットワーク関数セットを提供する層状のプロトコル・セットであるプロトコル・スタックを有する。プロトコル・スタックは国際標準化機構の7つのレイヤ・モデルに準拠することができる。マルチポイント・コラボレーション・システム内の各クライアントでは少なくとも1つのプロトコル・スタックが利用できる。RL位置標識の受信に応答して、クライアントの動的ローダ250が該当するプロトコル・スタックをロードし、クライアントはセッションとの通信が可能になる。一実施形態では、プロトコル・スタックは自動的にロードされる、すなわち、クライアントまたはユーザは現在のシステムと対話せずに新しいプロトコルを選択できる。
【0047】
上記の明細書で、本発明を特定の実施形態に関連して記述してきた。ただし、本発明のより広汎な精神と範囲を逸脱することなく本発明にさまざまな変更と修正を加えることができるのは明らかであろう。したがって、本明細書および図面は限定的でなく例示的な意味で理解すべきである。本発明は上記の実施形態および例によって限定されるものと解釈すべきではなく、特許請求の範囲およびその同等の内容に従って解釈すべきである。
【図面の簡単な説明】
【図1】 本発明が実施されるコンピュータ・ネットワークの一実施形態を示すブロック図である。
【図2】 本発明の一実施形態の概略図である。
【図3】 セッションの一例を示すブロック図である。
【図4】 アプリケーション・インタフェース全体の一実施形態を示すブロック図である。
【図5】 トランスポート機構を動的にロードする1つの方法を示す流れ図である。
【符号の説明】
220 アプリケーション・ユーザ・インタフェース
230 レジストリ
240 パーサ
250 動的ローダ
260 コンパレータ
270 メモリ
280 セッション・マネジャ
Claims (5)
- クライアントがコラボレーション・セッションにアクセスする方法であって、
セッション・マネージャにリソース・ロケータ(RL)を送ることによってコラボレーション・セッションへのアクセスを要求するステップと、
レジストリ内の記憶されたRLの位置標識を受信するステップと、
レジストリ内のRLの位置標識の受信に応答して、ネットワーク関数セットを提供するために、RL内で指定されているトランスポート機構を自動的にロードするステップと、
コラボレーション・セッションとの接続を確立するためにトランスポート機構を用いてコラボレーション・セッションにアクセするステップと
を含むコラボレーション・セッションにアクセする方法。 - トランスポート機構を自動的にロードするステップが、
トランスポート機構のタイプに応じてオブジェクト・クラスの新しいインスタンスを生成するステップと、
トランスポート機構に対応したプロトコル・スタックを検索するステップと、
そのプロトコル・スタックを開始するステップと
を有する請求項1記載のコラボレーション・セッションにアクセする方法。 - コラボレーション・セッションを容易にするセッション・マネージャと、
セッション・マネージャにリソース・ロケータ(RL)を送ることによってコラボレーション・セッションへのアクセスを要求するクライアントと、
セッション・マネージャに接続され、RLからタイプ指定を取り出すパーサと、
RLのタイプ指定に応じてトランスポート機構を自動的にロードするローダであって、
そのトランスポート機構は、クライアントに、コラボレーション・セッションとの接続を確立させるネットワーク関数セットを提供する
コンピュータ・ユーザ間のコラボレーションを容易にする装置。 - 搬送信号として具体化され、プロセッサによって実行されるとそのプロセッサにコラボレーション・セッションへアクセスさせる命令シーケンスを表すコンピュータ・データ信号を格納したコンピュータ可読媒体において、
セッション・マネージャにリソース・ロケータ(RL)を送ることによってコラボレーション・セッションへアクセスすることを実行可能とする第1のコンピュータ・プログラムと、
レジストリ内のRLへの位置標識を受信するため実行可能な第1のオペレーティング・システム手順と、
位置標識に対応して、ネットワーク関数セットを提供するトランスポート機構を自動的にロードし、トランスポート機構を使用しててコラボレーション・セッションへの接続を確立するために実行可能な第2のコンピュータ・プログラムと
を含むコンピュータ可読媒体。 - コラボレーション・セッションにアクセスするためのシステムであって、
セッション・マネージャにリソース・ロケータ(RL)を送ることでコラボレーション・セッションへのアクセスを要求する手段と、
レジストリ内に記憶されたRLの位置標識を受信する手段と、
位置標識の受信に応答して、位置標識に応じたトランスポート機構であってネットワーク関数セットを提供するトランスポート機構を自動的にロードする手段と、
トランスポート機構を使用してコラボレーション・セッションとの接続を確立する手段と
を有するシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/884924 | 1997-06-30 | ||
US08/884,924 US6446116B1 (en) | 1997-06-30 | 1997-06-30 | Method and apparatus for dynamic loading of a transport mechanism in a multipoint data delivery system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1198138A JPH1198138A (ja) | 1999-04-09 |
JP4477154B2 true JP4477154B2 (ja) | 2010-06-09 |
Family
ID=25385732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17348698A Expired - Lifetime JP4477154B2 (ja) | 1997-06-30 | 1998-06-19 | マルチポイント配信システムにおけるトランスポート機構の動的ローディングの方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6446116B1 (ja) |
EP (1) | EP0891063B1 (ja) |
JP (1) | JP4477154B2 (ja) |
DE (1) | DE69838314T2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298356B1 (en) * | 1998-01-16 | 2001-10-02 | Aspect Communications Corp. | Methods and apparatus for enabling dynamic resource collaboration |
US6256620B1 (en) * | 1998-01-16 | 2001-07-03 | Aspect Communications | Method and apparatus for monitoring information access |
US6430567B2 (en) * | 1998-06-30 | 2002-08-06 | Sun Microsystems, Inc. | Method and apparatus for multi-user awareness and collaboration |
US6317777B1 (en) | 1999-04-26 | 2001-11-13 | Intel Corporation | Method for web based storage and retrieval of documents |
DE19926081A1 (de) * | 1999-06-08 | 2000-12-21 | Giesecke & Devrient Gmbh | Chipkarte mit mehreren Anwendungsprogrammen |
US6823364B1 (en) * | 1999-12-21 | 2004-11-23 | Nortel Networks Limited | Distribution of location information in IP networks by intelligent endpoints |
US7249157B2 (en) * | 2000-02-16 | 2007-07-24 | Bea Systems, Inc. | Collaboration system for exchanging of data between electronic participants via collaboration space by using a URL to identify a combination of both collaboration space and business protocol |
US7050453B1 (en) | 2000-02-17 | 2006-05-23 | Apple Computer, Inc. | Method and apparatus for ensuring compatibility on a high performance serial bus |
US6718497B1 (en) | 2000-04-21 | 2004-04-06 | Apple Computer, Inc. | Method and apparatus for generating jitter test patterns on a high performance serial bus |
US6618785B1 (en) | 2000-04-21 | 2003-09-09 | Apple Computer, Inc. | Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus |
FR2813469B1 (fr) * | 2000-08-22 | 2003-01-31 | France Telecom | Systeme d'acces a au moins un environnement de travail cooperatif |
AU2002210672A1 (en) * | 2000-10-23 | 2002-05-06 | Thomson Licensing S.A. | Method for setting up a connection and associated device for receiving interactive services |
US20020107910A1 (en) * | 2001-02-02 | 2002-08-08 | Yan Zhao | Client/server two-way communication system framework under HTTP protocol |
JP2002342088A (ja) | 2001-03-15 | 2002-11-29 | Sony Corp | 情報処理装置、情報処理方法、情報送受信方法、記録媒体、並びにプログラム |
US7797375B2 (en) | 2001-05-07 | 2010-09-14 | International Business Machines Corporat | System and method for responding to resource requests in distributed computer networks |
US20020165948A1 (en) * | 2001-05-07 | 2002-11-07 | International Business Machines Corporation | Scalable resource discovery and reconfiguration for distributed computer networks |
KR100948317B1 (ko) * | 2001-12-15 | 2010-03-17 | 톰슨 라이센싱 | 클라이언트 사이의 세션을 위한 QoS 계약의 설정 능력을 제공하는 방법 및 시스템 |
US7353284B2 (en) | 2003-06-13 | 2008-04-01 | Apple Inc. | Synchronized transmission of audio and video data from a computer to a client via an interface |
US7668099B2 (en) | 2003-06-13 | 2010-02-23 | Apple Inc. | Synthesis of vertical blanking signal |
US8275910B1 (en) | 2003-07-02 | 2012-09-25 | Apple Inc. | Source packet bridge |
US7308517B1 (en) | 2003-12-29 | 2007-12-11 | Apple Inc. | Gap count analysis for a high speed serialized bus |
US7237135B1 (en) | 2003-12-29 | 2007-06-26 | Apple Inc. | Cyclemaster synchronization in a distributed bridge |
WO2007024830A2 (en) * | 2005-08-23 | 2007-03-01 | Matsushita Electric Industrial Co. Ltd. | Method and system for peer-to-peer services architecture and framework |
CN101796504B (zh) * | 2007-09-06 | 2014-07-16 | 微软公司 | 会话中介可扩展应用程序接口 |
KR102013683B1 (ko) * | 2013-05-06 | 2019-08-23 | 콘비다 와이어리스, 엘엘씨 | M2m 부트스트래핑 |
CN104571986B (zh) | 2013-10-22 | 2018-07-06 | 精工爱普生株式会社 | 显示系统、显示装置以及显示方法 |
US9609068B2 (en) * | 2013-12-16 | 2017-03-28 | Fuji Xerox Co., Ltd. | Session management system, session management apparatus, and non-transitory computer readable medium |
US9864861B2 (en) * | 2014-03-27 | 2018-01-09 | Intel Corporation | Object oriented marshaling scheme for calls to a secure region |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5869819A (en) * | 1994-08-17 | 1999-02-09 | Metrologic Instuments Inc. | Internet-based system and method for tracking objects bearing URL-encoded bar code symbols |
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 |
US5425028A (en) * | 1992-07-16 | 1995-06-13 | International Business Machines Corporation | Protocol selection and address resolution for programs running in heterogeneous networks |
US5852807A (en) * | 1993-11-24 | 1998-12-22 | Intel Corporation | Method and apparatus for modeling business card exchanges in a point-to-point or a multi-point personal computer conference |
US5809237A (en) * | 1993-11-24 | 1998-09-15 | Intel Corporation | Registration of computer-based conferencing system |
US5754765A (en) * | 1993-11-24 | 1998-05-19 | Intel Corporation | Automatic transport detection by attempting to establish communication session using list of possible transports and corresponding media dependent modules |
US5499343A (en) | 1993-12-17 | 1996-03-12 | Taligent, Inc. | Object-oriented networking system with dynamically configurable communication links |
US5548723A (en) * | 1993-12-17 | 1996-08-20 | Taligent, Inc. | Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack |
US5548779A (en) * | 1993-12-21 | 1996-08-20 | Taligent | System for providing system services for a device to a client using stack definition and stack description of a stack having top, intermediate, and bottom service objects |
US5903754A (en) * | 1994-06-21 | 1999-05-11 | Microsoft Corporation | Dynamic layered protocol stack |
US5613096A (en) | 1994-11-04 | 1997-03-18 | Canon Information Systems, Inc. | Network protocol sensor |
US5724508A (en) * | 1995-03-09 | 1998-03-03 | Insoft, Inc. | Apparatus for collaborative computing |
US5710591A (en) * | 1995-06-27 | 1998-01-20 | At&T | Method and apparatus for recording and indexing an audio and multimedia conference |
US5956509A (en) * | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US5826027A (en) * | 1995-10-11 | 1998-10-20 | Citrix Systems, Inc. | Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system |
US5764906A (en) * | 1995-11-07 | 1998-06-09 | Netword Llc | Universal electronic resource denotation, request and delivery system |
US5793365A (en) * | 1996-01-02 | 1998-08-11 | Sun Microsystems, Inc. | System and method providing a computer user interface enabling access to distributed workgroup members |
US6058393A (en) * | 1996-02-23 | 2000-05-02 | International Business Machines Corporation | Dynamic connection to a remote tool in a distributed processing system environment used for debugging |
US6343313B1 (en) * | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US5867653A (en) * | 1996-04-18 | 1999-02-02 | International Business Machines Corporation | Method and apparatus for multi-cast based video conferencing |
US5874954A (en) * | 1996-04-23 | 1999-02-23 | Roku Technologies, L.L.C. | Centricity-based interface and method |
US5884033A (en) * | 1996-05-15 | 1999-03-16 | Spyglass, Inc. | Internet filtering system for filtering data transferred over the internet utilizing immediate and deferred filtering actions |
US5835724A (en) * | 1996-07-03 | 1998-11-10 | Electronic Data Systems Corporation | System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client |
US5862330A (en) * | 1996-07-16 | 1999-01-19 | Lucent Technologies Inc. | Technique for obtaining and exchanging information on wolrd wide web |
US5944791A (en) * | 1996-10-04 | 1999-08-31 | Contigo Software Llc | Collaborative web browser |
US5870559A (en) * | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites |
US5897622A (en) * | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US6023698A (en) * | 1996-12-05 | 2000-02-08 | International Business Machines Corporation | System and method for transparently registering and updating information over the internet |
US5918010A (en) * | 1997-02-07 | 1999-06-29 | General Internet, Inc. | Collaborative internet data mining systems |
US5870562A (en) * | 1997-03-24 | 1999-02-09 | Pfn, Inc. | Universal domain routing and publication control system |
US5941945A (en) * | 1997-06-18 | 1999-08-24 | International Business Machines Corporation | Interest-based collaborative framework |
US6138144A (en) * | 1997-06-24 | 2000-10-24 | At&T Corp. | Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network |
-
1997
- 1997-06-30 US US08/884,924 patent/US6446116B1/en not_active Expired - Lifetime
-
1998
- 1998-06-19 JP JP17348698A patent/JP4477154B2/ja not_active Expired - Lifetime
- 1998-06-29 EP EP98305150A patent/EP0891063B1/en not_active Expired - Lifetime
- 1998-06-29 DE DE69838314T patent/DE69838314T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0891063A3 (en) | 2001-02-21 |
US6446116B1 (en) | 2002-09-03 |
DE69838314T2 (de) | 2008-05-29 |
EP0891063B1 (en) | 2007-08-29 |
EP0891063A2 (en) | 1999-01-13 |
DE69838314D1 (de) | 2007-10-11 |
JPH1198138A (ja) | 1999-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4477154B2 (ja) | マルチポイント配信システムにおけるトランスポート機構の動的ローディングの方法および装置 | |
US11368352B2 (en) | Pervasive realtime framework | |
US6078948A (en) | Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions | |
KR100722916B1 (ko) | 통신 관리자가 장치된 컴퓨터 시스템에 의한액티브티-베이스 협력 방법 및 장치 | |
US5557725A (en) | Method and system for switching between users in a conference enabled application | |
US8438260B2 (en) | Sharing a port with multiple processes | |
EP1526695B1 (en) | Architecture for an extensible real-time collaboration system | |
US7069318B2 (en) | Content tracking in transient network communities | |
US6378001B1 (en) | Collaborative framework with shared objects | |
US7853643B1 (en) | Web services-based computing resource lifecycle management | |
EP2067302B1 (en) | Distributable, scalable, pluggable conferencing architecture | |
EP1229442B1 (en) | Peer-to-peer computing architecture | |
EP1142267B1 (en) | Announced session description | |
US20040039781A1 (en) | Peer-to-peer content sharing method and system | |
US20050089023A1 (en) | Architecture for an extensible real-time collaboration system | |
US20080133646A1 (en) | System and method for fully distributed network with agents | |
US8549122B2 (en) | System and method for communication agent within a fully distributed network | |
US20030187918A1 (en) | Interminable peer relationships in transient communities | |
EP1130845A2 (en) | Publish/subscribe system | |
EP1491026B1 (en) | Dynamic addressing in transient networks | |
Blair et al. | Quality of service support in a mobile environment: an approach based on tuple spaces | |
CA2359672C (en) | Method-resident storage associated with collaborating computer processes | |
Cabri et al. | A proxy‐based framework to support synchronous cooperation on the Web | |
Busetta et al. | An approach to the integration of peer-to-peer systems with active environments. | |
Roth et al. | Group Rendezvous in a Synchronous, Collaborative Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060905 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061205 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070327 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100311 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |