JP4477154B2 - マルチポイント配信システムにおけるトランスポート機構の動的ローディングの方法および装置 - Google Patents

マルチポイント配信システムにおけるトランスポート機構の動的ローディングの方法および装置 Download PDF

Info

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
Application number
JP17348698A
Other languages
English (en)
Other versions
JPH1198138A (ja
Inventor
リチャード・エヌ・バリッジ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH1198138A publication Critical patent/JPH1198138A/ja
Application granted granted Critical
Publication of JP4477154B2 publication Critical patent/JP4477154B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer 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

【0001】
【発明の属する技術分野】
本発明はマルチポイント・データ配信システム、より詳細に言えばマルチポイント・データ配信システム内のトランスポート機構に関する。
【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)

  1. クライアントがコラボレーション・セッションにアクセスする方法であって、
    セッション・マネージャにリソース・ロケータ(RL)を送ることによってコラボレーション・セッションへのアクセスを要求するステップと、
    レジストリ内の記憶されたRLの位置標識を受信するステップと、
    レジストリ内のRLの位置標識の受信に応答して、ネットワーク関数セットを提供するために、RL内指定されているトランスポート機構を自動的にロードするステップと、
    コラボレーション・セッションとの接続を確立するためにトランスポート機構を用いてコラボレーション・セッションにアクセするステップと
    を含むコラボレーション・セッションにアクセする方法。
  2. トランスポート機構を自動的にロードするステップが、
    トランスポート機構のタイプに応じてオブジェクト・クラスの新しいインスタンスを生成するステップと、
    トランスポート機構に対応したプロトコル・スタックを検索するステップと、
    そのプロトコル・スタックを開始するステップと
    を有する請求項1記載のコラボレーション・セッションにアクセする方法。
  3. コラボレーション・セッションを容易にするセッション・マネージャと、
    セッション・マネージャにリソース・ロケータ(RL)を送ることによってコラボレーション・セッションへのアクセスを要求するクライアントと
    セッション・マネージャに接続され、RLからタイプ指定を取り出すパーサと、
    RLのタイプ指定に応じてトランスポート機構を自動的にロードするローダであって、
    そのトランスポート機構は、クライアントに、コラボレーション・セッションとの接続を確立させるネットワーク関数セットを提供する
    コンピュータ・ユーザ間のコラボレーションを容易にする装置。
  4. 搬送信号として具体化され、プロセッサによって実行されるとそのプロセッサコラボレーション・セッションへアクセスさせる命令シーケンスを表すコンピュータ・データ信号を格納したコンピュータ可読媒体において、
    セッション・マネージャにリソース・ロケータ(RL)を送ることによってコラボレーション・セッションへアクセスすることを実行可能とする第1のコンピュータ・プログラムと、
    レジストリ内のRLへの位置標識を受信するため実行可能な第1のオペレーティング・システム手順と、
    位置標識に対応して、ネットワーク関数セットを提供するトランスポート機構を自動的にロードし、トランスポート機構を使用しててコラボレーション・セッションへの接続を確立するために実行可能な第2のコンピュータ・プログラムと
    を含むコンピュータ可読媒体
  5. コラボレーション・セッションにアクセスするためのシステムであって、
    セッション・マネージャにリソース・ロケータ(RL)を送ることでコラボレーション・セッションへのアクセスを要求する手段と、
    レジストリ内に記憶されたRLの位置標識を受信する手段と、
    位置標識の受信に応答して、位置標識に応じたトランスポート機構であってネットワーク関数セットを提供するトランスポート機構を自動的にロードする手段と、
    トランスポート機構を使用してコラボレーション・セッションとの接続を確立する手段と
    を有するシステム。
JP17348698A 1997-06-30 1998-06-19 マルチポイント配信システムにおけるトランスポート機構の動的ローディングの方法および装置 Expired - Lifetime JP4477154B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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