JP2003536123A - 通信マネージャを備えたコンピュータ・システムによるアクティビティに基づいたコラボレーションのための方法及びその装置 - Google Patents
通信マネージャを備えたコンピュータ・システムによるアクティビティに基づいたコラボレーションのための方法及びその装置Info
- Publication number
- JP2003536123A JP2003536123A JP2001511555A JP2001511555A JP2003536123A JP 2003536123 A JP2003536123 A JP 2003536123A JP 2001511555 A JP2001511555 A JP 2001511555A JP 2001511555 A JP2001511555 A JP 2001511555A JP 2003536123 A JP2003536123 A JP 2003536123A
- Authority
- JP
- Japan
- Prior art keywords
- network
- local
- data
- connectable
- relay
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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/131—Protocols for games, networked simulations or virtual reality
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
Description
接続されたコンピュータに関し、さらに詳しくは分散型データ・モデルに準拠し
てデータを調整あるいは維持するための分散型コンピュータシステムに関する。
on)のためのダイナミックな公共の環境を作り出した。ビジネスにおいては、
インターネットによりベンダとメーカ、メーカとディストリビュータ、ディスト
リビュータとカスタマ、その他の関係が再定義された。個々の企業の社内にある
機密ネットワークへインターネット技術が拡張され、これらは「イントラネット
」あるいは「プライベート・インターネット」と呼ばれているが、会社のディレ
クトリ及び会社のネットワーク・インフラストラクチャを使って、新しい形で社
員間、またワークグループ間でのドキュメントや情報の共有ができるようになっ
た。オンライン・サービスたとえば電子掲示板やチャットルーム、電子商取引ま
た製品のテクニカルサポートなどが、インターネットを介して運営されているウ
ェブ(WWW (World Wide Web))上で利用できる。
り、これは個々のクライアント(即ちインターネット・コンテンツのユーザ)が
たとえばブラウザなどのコンピュータで実行可能なアプリケーションを介してサ
ーバ(インターネット・コンテンツのプロバイダ)とインタフェースし、ウェブ
・サイトからドキュメントを入手する。ブラウザはソフトウェア・プログラムで
、パーソナル・コンピュータからインターネット・ドキュメントを要求、受信(
たとえばダウンロード)、解釈、表示することができるようにし、また一般にイ
ンターネットを散策(navigate)できる。ウェブ・サーバは典型的には
外部プログラムを実行するための標準インタフェースを備え、最も一般的なイン
タフェースはCommon Gateway Interface (CGI)
である。ウェブ・サイトはドキュメントの集合で、通常はホームページと、これ
にリンクされるドキュメントで構成され、クライアントから離れたリモートな場
所にあるサーバ上に配置されている。ドキュメントはコンパウンド・ドキュメン
トであっても良く、これはデータ、グラフィックス、ビデオ、サウンド、および
/またはその他の形式のメディアならびに他の文書へのリンクで構成される。基
本的に、WWWは相互接続されたドキュメントの、または、さらに正確にはイン
ターネット上の様々なサイトに配置されているドキュメント・オブジェクトのウ
ェブ(蛛の巣:web)である。
とがある。スクリプトは実行可能なプログラムまたはファイルに格納された一組
のコマンドであり、これがウェブ・サーバにより実行され、ドキュメントを作成
し、そのドキュメントがウェブ・ブラウザへ返される。スクリプトによる代表的
なアクションには、ライブラリ・ルーチンまたはその他のアプリケーションを実
行してファイルまたはデータベースから情報を取り出すこと、または選択された
ハイパーテキスト・リンクに対応する文書を取得することが含まれる。スクリプ
トは、たとえば、ユーザがウェブ・ブラウザ上で特定のハイパーテキスト・リン
クを選択した時に、ウェブ・サーバ上で実行される。
パーソナル・コンピュータのハードウェア、ソフトウェア、ネットワーク・プロ
トコル、インフラストラクチャの標記方法(たとえばUniform Reso
urce LocatorまたはURL)が含まれる。URLはWWWにある全
てのドキュメント・オブジェクトについてその位置のアドレスを提供する。UR
Lはドキュメント・オブジェクトを唯一無二の形で(以下、ユニークに)参照し
、しばしばインターネット・プロトコルを用いたアクセス・アルゴリズムを定義
する。
インターネット上で送信するためのドキュメントを含むメッセージを生成するた
めに一般に受け入れられて使用されたり、またはインターネット上でこうしたメ
ッセージを送信するための、それぞれ現行のまたは将来の言語表記および現行ま
たは将来の通信プロトコルであると定義される。これらの言語表記には、たとえ
ば、現時点ではHypertext Markup Language (HT
ML)やeXtensible Markup Language (XML)
が含まれる。これらの通信プロトコルはたとえば現時点では、Hypertex
t Transfer Protocol (HTTP)、TCP/IP、FT
P、GOPHER、NetBios、SPX/IPX(TM)、AppleTa
lk(TM)などを含む。通信プロトコルの主な必要条件はアドレス可能なネッ
トワーク・デバイスカンで信頼性のあるまたは信頼性のない指向性セッションの
確率をサポートすることである。当業者はこれらの言語表記やプロトコルに詳し
いであろう。
で、マルチメディア・コンテンツや他のドキュメントへのリンクを含む。HTM
Lドキュメントはマークアップ要素(以下、マークアップ・エレメント)の階層
的セットを含み、多くのエレメントが開始タグとこれに続くコンテンツ、さらに
それに続く終了タグを備える。タグはアングル・ブラケット(<と>)で囲み、
ドキュメントがどのような構造になっているか、ドキュメントをどのように表示
するか、またハイパーテキスト・リンクのリンク先とラベルなどを表わす。マー
クアップ・エレメントのためのタグが存在しており、これらはたとえばタイトル
、ヘッダーや、ボールド、インタリックなどのテキスト属性、リスト、パラグラ
フ境界、他のドキュメントへの外部リンク、また同じ文書の他の部分への内部リ
ンク、グラフィック画像、及びその他多くのドキュメント機能などである。HT
MLを使ったプログラミングに関しては多くの成書が流通している。
XMLは、少なくとも現行バージョンでは、HTMLと互換性があってこれを補
足するものである。コンピュータに格納されていて、XMLドキュメントと呼ば
れるデータ・オブジェクトのクラスを記述する、またこれらのオブジェクトを処
理するプログラムの動作を記述する標準的な方法である。XMLドキュメントは
エンティティ(entities)と呼ばれる格納単位から構成され、これには
テキストデータまたはバイナリデータのどちらかが含まれる。テキストは文字か
ら構成され、その幾つかはドキュメントの文字内容を構成し、別の幾つかはマー
クアップ(markup)を構成する。マークアップはドキュメントの記述たと
えば格納レイアウトや論理構造などを記述する(以下、エンコードする)。XM
L処理装置と呼ばれるソフトウェアモジュールを使用してXMLドキュメントを
読み出し、その内容や構造へのアクセスを提供する。XMLに関するさらに詳し
い情報はXML仕様バージョン1.0への参照で得ることができ、<HTTP:
//www.w3.org/XML>で利用可能であり、また本明細書の参照に
含めてある。
ルおよびその基盤となるインターネットのTCP/IPデータトランスポート・
プロトコルを用いて通信する。HTTPにおいて、ウェブ・ブラウザはウェブ・
サーバへの接続を確立してからHTTP要求メッセージをサーバに送出する。要
求メッセージに呼応して、ウェブ・サーバは認証をチェックし、たとえばURL
で識別されるドキュメントをダウンロードするなどの要求された動作を実行し、
要求された動作で得られたHTMLドキュメントあるいはエラーメッセージのど
ちらかを含むHTTP呼応メッセージを返す。返されたドキュメントは単にウェ
ブ・サーバ上に格納されているスタティック(静的)ファイルであったり、要求
メッセージに呼応して呼び出されたスクリプトを使用して動的に生成されること
がある。
ット・プロトコル(IP)に従ったアドレス(以下、IPアドレス)に基づいて
メッセージを転送する。IPアドレスは特定のフォーマットに準拠したもので、
現在のところピリオドで区切られた4個の数字で表わされる32ビットの数値ア
ドレスを含む。ネットワーク上の各デバイスはネットワーク上で通信に使用する
ユニークなIPアドレスを有する。本明細書で以降使用する術語「IPアドレス
」は、文脈に応じて、現在の又は将来のインターネット・プロトコルに準拠した
アドレス方式を含むことを想定している。
ールや資源が開発されており、これには企業で必須のアプリケーションたとえば
eメール(e−mail)が含まれる。eメールというのは電子メールのことで
、これを用いて選択したアドレスで電子的にドキュメントを送受信する。インタ
ーネットを使う対話の大半が、「ドキュメントの送受信」モデルに従ったeメー
ルの使用や、その他のブラウザを使うメディアであると予想されていた。おそら
くはこのモデルのために、ユーザはインターネットを本質的に「ピア・ツー・ピ
ア」的なものであり、これによって個人が他の個人によって提供されたドキュメ
ントにアクセスできるものであり、しかも、もっと大きな権限を有する者による
干渉を受けないでできるものであると見なすことが多い。
ダイナミックかつフレキシブルなものであるが、ユーザの要求の全部を満たすこ
とはできない。ユーザはますますインターネットを通して対話するようになるが
、もっと在来型の方法たとえばマルチメディア(電話、ファックス、ホワイトボ
ード)のものやマルチテンポラル(リアルタイム、オーバーナイト・メール)な
もの、またその他形式にとらわれない通信手段を使うことにより、インターネッ
ト以外での対話も引き続き行われている。
イベートな通信やその他共有される相互の活動にインターネットに基づくパラダ
イムを拡張することが望ましい。このような対話は、参加者のパーソナルコンピ
ュータ間またはその他のネットワーク接続可能なデバイス間で即時的、直接的、
機密的に行なわれるのが望ましく、これらの対話は、通信が傍受されたり機密性
が侵害されたりするような第三者のウェブ・サイトへとインターネット上のトラ
フィックが集中させるようなサーバ・ボトルネックとは何ら関わりを持たないの
が良い。
の形式でドキュメントを共有し編集できるようにする一方で、ローカルサイトに
おいてドキュメントの一貫したコピーを維持することのできる技術を提供するの
も望ましい。このような技術ではユーザの誰もがドキュメントに関する変更要求
を発行でき、変更要求が発行された時点でサイトがネットワークから切断されて
も当該変更が調整された方法で全てのローカルサイトにあるコピーに対して非同
期的に行なわれる。
トワーク接続可能なデバイスで動作可能で、遠隔地に居る他のユーザと共有して
特定のタスクたとえば「チャット」、ゲーム、またはビジネスアプリケーション
を実行するためのアクティビティとよばれる装置に関するものである。アクティ
ビティはデルタと呼ばれるデータ変更要求をユーザとの対話呼応して生成するた
めのツールを含む。アクティビティはデータ・モデルに準拠して不揮発性で永続
的であることが望ましいメモリにデータを保存するためのデータ変更エンジンも
備える。データ変更エンジンはツールからデルタを受信して、そのデルタにその
要求を実行するアクティビティ特有のコマンドを提供し、デルタの実行に起因す
るデータ変更をツールへ通知するためのツール・エンドを含む。データ変更エン
ジンはダイナミクス・マネージャからデータ変更指示を受信してからデルタを実
行する、即ちデルタのコマンドを実行して要求された変更をデータに加えるため
のダイナミクス・マネージャ・エンドも含む。
間で個人及び中小グループ間の通信及びその他の共有及び相互活動を提供するた
めのシステムに係る。本システムにおいて、テレスペースの参加者またはメンバ
ーはネットワーク接続可能なデバイスを介して対話し、デバイスはたとえばイン
ターネットまたはイントラネットなどのネットワーク上で互いに通信してテレス
ペース・データのローカルコピーを個々に格納する。各々のテレスペースはテレ
スペースのメンバーのネットワーク接続可能なデバイス各々で動作可能な1つま
たはそれ以上のアクティビティのインスタンシエーションである。各々のアクテ
ィビティはテレスペースのメンバーとの対話に呼応してデータ変更要求またはデ
ルタを開始するための1つまたはそれ以上のツールを含む。各々のアクティビテ
ィはまた、ツールとは別に、共通データ・モデルに準拠したテレスペース・デー
タのローカルコピーを保持するための1つまたはそれ以上のデータ変更エンジン
も含む。データ・モデルはたとえば、アクティビティに固有であって、テレスペ
ース全体にわたるのが望ましい。各々のネットワーク接続可能なデバイスもロー
カルな場所で生成するデルタについて、デルタに呼応して、要求された変更をデ
ータのローカルコピーに適用することによりデータ変更エンジンに指示を出して
デルタを実行させるためと、様々なネットワーク接続可能なデバイスからのデル
タの実行を調整するためのダイナミクス・マネージャを含む。
に従って通信するように接続された望ましくはネットワーク接続可能な別の場所
にある複数のデバイスを含むネットワーク化されたシステムにおいて実施できる
。ネットワーク接続可能な各のデバイスは(a)共通データ・モデルに準拠して
アクティビティに関連するデータのローカルコピーを格納するためのメモリ、(
b)前述のデータ変更エンジンに対応する1つ以上のツールを各々が含む1つ以
上のアクティビティ、(c)デルタが関係するテレスペースに参加するネットワ
ーク化されたシステムのネットワーク接続可能な全てのデバイスの間でデルタを
共有させるための通信マネージャ、(d)ローカルに生成されたデルタと遠隔地
で生成された(以下、リモート生成された)デルタの両方の実行を調整するため
のダイナミクス・マネージャ、を含む。ネットワーク化されたシステムのネット
ワーク接続可能なデバイスのどれででもユーザの対話を開始してその結果として
のデルタを生成することができ、このときのデルタは望ましくはネットワーク上
のデバイスの各々に送信される。ダイナミクス・マネージャはローカルのデータ
変更エンジンの動作を指示し、望ましくはデルタの実行に優先順位を付けてネッ
トワーク化されたシステム全体でのデータの実質的な一貫性を維持する。ネット
ワーク化されたシステムは様々なリモートサイトにいるユーザに対して、たとえ
ばデータを共有して編集したり、ピア・ツー・ピア型の形式でその他の活動を独
立して実行できるようにする一方で、ネットワークから切断されている時でも各
々のネットワーク接続可能なデバイスで使用するデータの実質的に一貫したコピ
ーを保持することができるようにする。
基づくコラボレーションシステム(ABCシステム)として実装可能である。A
BCシステムはたとえば公衆ネットワーク(たとえばインターネットまたはワイ
ドエリアネットワーク(WAN))経由またはプライベート・ネットワーク(ロ
ーカル・エリア・ネットワーク(LAN)またはイントラネット)経由で、ケー
ブル、光ファイバー、赤外線(IR)またはその他の形式の通信リンクにより前
述のネットワーク化されたシステムを形成するように接続可能なネットワーク接
続可能な複数のデバイスを含む。ネットワーク接続可能な各々のデバイスは前述
のメモリと、1つ以上のダイナミクス・マネージャを含むフレームワークを装備
している。ネットワーク接続可能なデバイスは公衆ネットワーク・インフラスト
ラクチャ、パーソナル・デスクトップ・アプリケーション、及びインフラストラ
クチャ(時に「パーソナル・インターネット」と呼ばれることがある)、また適
用可能なら企業内イントラネットともプラグイン式に互換性を有するものが望ま
しい。ABCシステムは動的に挿入可能型アクティビティ・コンポーネント(以
下、ダイナミックなスナップイン・アクティビティ・コンポーネント)を使用す
るのが望ましく、各々がたとえば「チャット」、ドキュメント編集、ゲーム、な
どの特定のタスクを実行する。アクティビティ・コンポーネントはたとえばシュ
リンクラップ製品として利用できたりまたはたとえばインターネットなどのネッ
トワーク上からダウンロードできるソフトウェアを含むことができる。アクティ
ビティ・コンポーネントはフレームワークと共通のAPI(アプリケーション・
プログラミング・インタフェース)を介して動作可能である。したがって、フレ
ームワークはアクティビティ・コンポーネントの形をとるアプリケーションのた
めのプラットフォームであると見なすことができまたそのように機能する。
トワーク接続可能なリモート・デバイスへ送信するためとリモートな場所で生成
されたデルタをネットワーク接続可能なリモート・デバイスから受信するための
ネットワーク接続可能なローカル・デバイスで動作可能な通信マネージャをさら
に含むフレームワークに関する。通信マネージャはネットワーク接続可能なリモ
ート・デバイスへ直接たとえば各々のURLに、または「格納及び送信」方式(
以下、「ストア・アンド・フォワード」方式)のリレーへたとえばそのURLへ
、ネットワーク接続可能なリモート・デバイスに関するネットワーク接続状態の
情報に応じて、選択的に送信可能である。ネットワーク接続状態情報は、たとえ
ば通信プロトコルの互換性や、ローカル・デバイスからリモート・デバイスへ到
達できなくするような機密性の問題(たとえばファイアウォール)に関する情報
などを含み通信マネージャによって保持される接続性情報を含むことがある。接
続状態情報はさらに、たとえばプレゼンス・サーバなどのプレゼンス機構によっ
て保持されるものであって、リモート・デバイスのオンライン/オフライン状態
に関する情報も含むことができる。プレゼンス・サーバはABCシステムの一部
をなすことができ、たとえば通信マネージャへネットワークを介してオンライン
/オフライン状態情報を送信することを担当する。ネットワーク接続可能なリモ
ート・デバイスが一時的にネットワークへ接続されていない状態(「オフライン
」状態)では、リレーはネットワーク接続可能なリモート・デバイスがネットワ
ークへ再接続したと通知されるまでデルタを保管しておき、再接続したらネット
ワーク接続可能なリモート・デバイスへデルタを送信することができる。ネット
ワーク接続可能なリモート・デバイスからのデルタ受信では、通信マネージャが
プレゼンス・サーバへオンライン/オフライン状態情報を送出してネットワーク
接続可能なローカル・デバイスがネットワークに接続しているか(「オンライン
」状態)したがってリモート・デバイスからのデルタの受信が可能かどうかを通
知する。
には個々のアクティビティ・コンポーネント、ネットワーク接続可能な個々のデ
バイス用のフレームワークおよび/またはネットワーク化されたシステムまたは
ABCシステム、ならびにシステムを構成するデバイス間の対話を行なうための
通信サービスの提供を含む。
ろう。これには以下を含む:アクティビティ、クライアント、通信マネージャ、
コンポーネント、コントローラ、デルタ、デバイス、ダイナミクス・マネージャ
、エンジン、フレームワーク、アイデンティティ、メンバー、ナビゲーション、
人、サーバ、テレスペース、ツール、URL、XML。
ために実際にはABCシステムで何をするかを表わす。術語「アクティビティ」
は状況によって二つの意味のどちらかを取ることができる。「アウトサイド・ビ
ュー」からは、ABCシステムとコンピュータ・ユーザとの間のランタイムの対
話を意味する、たとえばこの種のアクティビティでは共有ホワイトボードに描画
するのをユーザに許可したり、または二人以上のユーザがリアルタイムでチャッ
トするのを許可する。この意味でのアクティビティはまたバックグラウンド・サ
ービス(即ちエージェント)であっても良い。これはローカルデバイスまたはサ
ーバデバイス上でユーザの側で動作し、たとえばアーカイブサーバ・エージェン
ト、または受信FAXエージェントなどである。ソフトウェア設計者の「インサ
イド・ビュー」からは、「アクティビティ」はユーザのパーソナル・コンピュー
タまたはその他の形態の装置上で動作することができ決まったタスクを実行する
モジュール化されたプログラムであってコンピュータで実行可能なプログラムを
表わす。この意味でのアクティビティはツールとエンジンという2種類のコンポ
ーネントからなり、これらは設計時に統合されて「アクティビティ・テンプレー
ト」を作成する。アクティビティ・テンプレートはたとえばシュリンクラップ・
ソフトウェアとして、またはウェブからダウンロードできるソフトウェアとして
、など多くの方法で配布することができる。ワープロ、スプレッドシートなどに
使用するため広く配布されるプログラムはABCシステムで使用できるように設
計されたバージョンであって、ABCシステムプログラマ・インタフェースに適
合するアクティビティ・テンプレートの形で販売されるバージョンを有するもの
として考えている。
機器、またはその他の形のデバイスで、ヒトとの対話ができ、ネットワークたと
えばインターネットに接続可能なものを表わす。ユーザのパーソナル・コンピュ
ータ上で実行されるバックグラウンド・プログラムは「クライアント・サービス
・コントローラ」と呼ばれる。ユーザのパーソナル・コンピュータ上で実行され
るフォアグラウンドのユーザ・インタフェース(UI)プログラムは「クライア
ントUIコントローラ」と呼ばれる。
るべき宛先とのデルタの送受信を指示するメカニズムを表わす。通信マネージャ
はたとえば、コンピュータで実行可能なプログラムとして実装することができ、
これが、ネットワークたとえばインターネット上で送信するためにツール/エン
ジンのペアで作成されてローカルに開始したデルタを別のリモート・パーソナル
・コンピュータへまたは他の形のネットワーク接続可能なデバイスへ送信する、
またはそのリモートデバイスがネットワークに接続されていない場合にはリレー
装置へ送信するもので、またこれはネットワークたとえばインターネット上で受
信されるリモートで生成されたデルタをダイナミクス・マネージャへ送信する。
通信マネージャはたとえばそのリモート・デバイスがネットワークに接続されて
いない場合には、またはネットワークバンド幅の有効利用または通信効率を向上
するため(たとえばファンアウトやルーティング)このようなデルタをリレーへ
転送する。通信マネージャはネットワークたとえばインターネット上で受信され
るリモートな場所で生成されたデルタをダイナミクス・マネージャへ送信する。
ラムとアクティビティ内部で使用されるその資源を表わす。全てのコンポーネン
トはURLで識別される。ウェブがコンポーネントのグローバル・リポジトリで
、ABCシステムの適当なコンポーネント・プラットフォームへ確実にダウンロ
ード可能なバージョンを備えるものとして考えている。
あってコンピュータで実行可能なプログラムを表わし、これはABCシステムの
「内部」機能を駆動する。コントローラは任意のプラットフォームたとえばUN
IXTMのデーモン・コントローラまたはインテル社製マイクロプロセッサ搭載
コンピュータ・システム上で動作するマイクロソフト・ウインドウズ(TM)用
コントローラとしてチューニングされる。一般的な2種類のコントローラとして
は、一般にユーザからは見えないバックグラウンド・プロセスとして動作するサ
ービス・コントローラと、ユーザが対話的に制御するユーザ・インタフェース(
UI)コントローラがある。
ータ変更要求(即ちデータに対して希望する変更についての通知またはプロンプ
ト)を内包する自己内包型のデータユニットを表わす。ツールはユーザとの対話
に呼応してダイナミクス・マネージャによるデルタ作成を開始し、後述するよう
に、ダイナミクス・マネージャの制御下で非同期実行のためにこれらをエンジン
に送信する。デルタは制御情報を提供するヘッダ部分と、要求が関連するデータ
に関する情報を提供するペイロード部分とを含む特定のフォーマットを持ってい
る。個々のデルタは1つまたはそれ以上のペイロードを持つことができ、多数の
ペイロードを使用する場合には各々をユニークなデバイス機能またはユーザの役
割を有するテレスペース・メンバーあてに指定できる。ツールはユーザへの表示
用またはその他の形でのプレゼンテーションを行なうためエンジンから潜在的デ
ータ変更に関する情報を要求し、デルタが表示を変更させた時に非同期的に通知
される。
通信機器など、本明細書では文脈からして特に別のものが示されない限りは、通
常ネットワーク接続可能な、即ちネットワーク接続可能な他のデバイスとネット
ワーク上たとえばインターネット上でインターネット・プロトコルを使用して通
信することができるような物理的ハードウェア装置を表わす。全てのデバイスに
はユニークな識別コードがABCシステムによって割り当てられ、URLを有し
、デバイスを使用する者とは区別される。デバイスは潜在的に多くのテレスペー
スをホスティングする。デバイスは、たとえば、pcであったり、セルラホン、
ファックス、ハンドヘルド・オーガナイザ、ケーブルテレビのセットトップ・ボ
ックス、エンターテイメント用電子ユニット(たとえば電子玩具やゲームと、ス
テレオ装置、またはこれら以外の同様にネットワーク接続可能な機器、装置、製
品など)のことがある。デバイスは潜在的に多くのテレスペースをホスティング
する。
システムのフレームワークの一部を表わし、デルタの作成を支援したりデルタの
実行を調整する。ダイナミクス・マネージャはたとえば、ユーザのパーソナル・
コンピュータ上でまたはその他の形態を有しネットワーク接続可能なデバイス上
で動作するコンピュータで実行可能なプログラムとして実装することができる。
わす。ABCシステムでは、ある1つのデバイスの多数のユーザの中から一人の
人をユニークに識別する方法として、またはその同じ人によって使用される多数
のコンピュータの中から1つのデバイスや複数のデバイスを識別する方法として
、この概念を使用する。
造の管理及び変更を実現するものであってアクティビティの「下半分」と呼ばれ
るものを表わす。エンジンはコンポーネントとしてパッケージされ、それ自体に
はユーザ・インタフェースがなく、ユーザ・インタフェースについては対応する
ツールに依存し、実質的に移植可能である。エンジンは対応するツールを機能さ
せるためにのみ存在するのが望ましい。エンジンはユニバーサル同期(univ
ersal synchrony)した状態で動作するのが望ましい。
表わし、ダイナミクス・マネージャを始めそのサブシステムのほとんどのものを
含んでいるが、ユーザ・インタフェースはない。フレームワークはユーザのパー
ソナル・コンピュータ上またはその他の形態のネットワーク接続可能なデバイス
上で動作することのできるものでコンピュータで実行可能なプログラムであり論
理的には高レベルのコントローラとアクティビティの間に位置する。
同義語だが、一般にURLで表わされるもので他の人がある人を認知できる1つ
の名前を指す。この概念が使用される理由としては、ABCシステムではある人
が多くのアイデンティティまたは別名を持つことができ、またたとえば多くの異
なるURLを持てるという考え方を採用しているためである。
の加入者を表わし、一般にテレスペースのメンバーシップを表わす場合にはエン
ドポイントの人の部分(デバイス部分と区別して)と同義語である。
、ABCシステムではウェブ・ブラウザによるウェブページ間、ウェブサイト間
のナビゲーションと類似している。
、一般にテレスペース内部のアクティビティに参加している者を指す。各々の人
は1つまたはそれ以上のアイデンティティを有し、その各々はURLでユニーク
に識別される。
行ない、ある種の用途ではメッセージのマルチキャスト・ファンアウト(mul
ticast) fan−out)を実行できるようなデバイスたとえばサーバ
のことである。転送されるメッセージの本体はリレーにはわからず、またたとえ
ばデルタである場合がある。リレーはデバイス・プレゼンス情報を提供したり、
本発明の幾つかの実施態様において管理機能を実行することができる。
の直接対話ができないがサービス・コントローラのもとでバックグラウンド・プ
ログラムとしてのみ実行することができるデバイスを指す。
ティビティに参加するために人びとが集まり、人びとが何らかのものを共有する
仮想空間を指す。テレスペースとアクティビティの結果はユーザのパーソナル・
コンピュータ上またはその他の形態のネットワーク接続可能なデバイス上のメモ
リに永続的に格納される。テレスペースは、一般に、あるユーザのデバイスと他
の人達のデバイスの間で同期を保っている。テレスペースは「メンバーシップ」
の論理的単位またアクティビティへのアクセスを表わす。テレスペースは1つ以
上のアクティビティのインスタンシエーション(instantiation)
である。
ものであってアクティビティの「上半分」と呼ばれるものを指す。ツールはコン
ポーネントとしてパッケージされ、ユーザのジェスチャーに呼応してデルタの作
成を開始し、個々のアクティビティの対応するエンジンと対話して特定のタスク
を実行する。
源識別子)の略語で、ドキュメントなどの資源の構造化されたユニークなアドレ
スであり、また場合によっては資源を取り扱うときの方法を表わす。URLは本
明細書において実質的に全ての永続的オブジェクト、ユーザから見えるオブジェ
クト、及び外部プログラムから見えるオブジェクトについて使用される。
up Language)の略語で、ウェブ上で使用することを想定したSGM
Lから派生した標準化され的構造化されたデータ・フォーマットである。状況に
よってはABCシステムで使用されるメモリ内のオブジェクト構造を表わすこと
もあり、これはXML標準のセマンティクス(semantics)に準拠する
ものである。多くのXMLの概念が本明細書で使用されており、たとえばドキュ
メント、エレメント、タグ、属性、値、コンテンツ、エンティティ、リンク、ポ
インタなどがある。XMLは本明細書ではたとえばドキュメント内のデータを構
造化するために使用される。
テクチャを図で表わしたものであり、開示された本発明をこれに実装することが
できる。図1に例示したコンピュータ・システムは説明の目的でのみ議論するが
、本発明を制限するものとして見なすべきではない。本発明はさらにコンピュー
タ・システムとして従来考えられてきたデバイスに制限されるものではなく、こ
れはたとえばビデオゲーム・コンソール、パーソナル機器、またはケーブルテレ
ビのセットトップボックスなどを含む各種のネットワーク接続可能なデバイスの
いずれにおいても本発明を実装できるためである。以下の説明は特定のコンピュ
ータ・システムを記述する際に共通に使用される術語を示しているが、説明され
る概念は図1に図示したものとは異なるアーキテクチャを有する他のコンピュー
タ・システムにも等しく適用されるものである。たとえば、ケーブルテレビのセ
ットトップボックスは大容量格納機能を含まないがデジタル信号プロセッサを内
蔵したビデオチューナを含んでいる。
処理装置(CPU)105、一時的な情報格納用のランダム・アクセス・メモリ
(RAM)110、永久的な情報格納用のリード・オンリー・メモリ(ROM)
115を含む。メモリ・コントローラ120はシステムRAM110を制御する
ために提供される。バス・コントローラ125はバス130を制御するために提
供されており、割り込みコントローラ135は他のシステム・コンポーネントか
らの様々な割り込み信号を受信して処理するために使用される。
装置152によって提供できる。データやソフトウェアはリムーバブル・メディ
アたとえばディスケット142やCD−ROM147を経由してクライアント・
コンピュータ100と交換できる。ディスケット142はディスケットドライブ
装置141に挿入することができ、ディスケットドライブ装置141はコントロ
ーラ140によってバス130へ接続されている。同様に、CD−ROM147
はCD−ROMドライブ装置146に挿入することができ、CD−ROMドライ
ブ装置146はコントローラ145によってバス130へ接続されている。最後
に、ハードディスク152は固定ディスクドライブ装置151の一部であり、こ
れはコントローラ150によってバス130へ接続されている。
提供され得る。たとえば、キーボード156とマウス157はキーボード及びマ
ウス・コントローラ155によってバス130へ接続される。オーディオ・トラ
ンスデューサ196はマイクロホン及びスピーカの両方として機能することがで
きるもので、オーディオ・コントローラ197を介してバス130へ接続されて
いる。他の入力デバイスたとえばペンおよび/またはタブレットや、音声入力用
マイクロホンなどを適当なコントローラとバス130経由でクライアント・コン
ピュータ100へ接続することができるのは当業者には明らかであろう。DMA
コントローラ160はシステムRAM110へのダイレクト・メモリアクセスを
実行するために提供される。視覚表示はビデオコントローラ165によって生成
され、これがビデオ・ディスプレイ170を制御する。
ス191経由でネットワーク195へ相互接続できるようにするネットワーク・
アダプタ190も含む。ネットワーク195はローカル・エリア・ネットワーク
(LAN)、広域ネットワーク(WAN)、またはインターネットであり、多数
のネットワーク・デバイスを相互接続する汎用通信回線を使用する。
ウェアによって制御調節される。コンピュータ・システム制御機能のなかでも、
オペレーティング・システムはシステム資源の割り当てを制御しプロセスのスケ
ジュール、メモリ管理、ネットワーク及びI/Oサービスなどのタスクを実行す
る。
モデルを制御する従来のシステム200を示す。システム200において、デー
タ・モデル・モジュール202はたとえばデータベースなどのデータをデータ・
モデルにしたがって格納し維持する。コントローラ・モジュール204はローカ
ルに開始したイベント206(たとえばユーザ入力など)やまたは外部で開始し
たイベント208(たとえばリモートのコンピュータ・システムから受信したイ
ベント通知など)に応じて、「現在値をセットする」コマンドをデータ・モデル
・モジュール202に指示して格納しているデータへの変更を行なわせる。コン
トローラ・モジュール204はデータ変更を出力装置たとえばディスプレイ20
6などに通知する。ディスプレイ206はデータ・モデル・モジュール202か
ら変更されたデータを取得してデータの表示を更新し、現在のデータがユーザか
ら観察できるようにする。前述の技術は厳密にイベント駆動型であり動作におい
てリニアである。典型的には、データへの変更をコントローラ・モジュール20
4に指示させる内部または外部のイベントはコントローラ・モジュール204の
FIFO(先入れ先出し)型バッファに格納され、次いでイベント通知がコント
ローラモジュールに到達した順序で処理される。また典型的には、グローバルな
一貫性問題、即ちシステム200内のモデルデータのコピーが他のリモートシス
テムにあるデータと一致していることを保証する対応がシステム200には行な
われていない。
は、コンピュータ・システムがメインフレームとパーソナル・コンピュータとを
問わず相互に隔絶されて動作していた時代には適切だった。インターネットの発
達とともに、コンピュータ・ユーザはコラボレーションするときのもっと優れた
方法を要求しており、本発明では、データ・モデルに対してデータ変更エンジン
によって行なわれる変更にダイナミクス・マネージャが介在する「モデル介在型
制御」と呼べるようなものを提供する。
ものである。ユーザの観点からすると、従来のクライアントサーバ・ビュー30
2において、個別のクライアント306、308はインターネット309上でサ
ーバ310と別々に通信する。各々のクライアント306、308はインターネ
ット309経由でサーバへ要求を発信し、各々について、サーバ上に格納された
ドキュメントをインターネット309上でクライアントへ提供することにより、
サーバ310がこの要求に呼応する。各々のサーバ310とクライアント306
、308は、図1に図示したようなパーソナル・コンピュータとして実現でき(
サーバの場合には幾つかのUIコンポーネントはオプションとなる)、適当なプ
ログラムたとえばクライアント・ブラウザ311および/または後述するような
その他の通信インタフェースの実行が可能である。インターネット使用のピア・
ツー・ピア・ビュー312においては、ユーザのコンピュータ・システムはピア
・ユニット314A〜Dを構成し、インターネット経由の通信は一つのピア・ユ
ニットから別のピア・ユニットへ明らかに介在するものがなくても配向できる。
各々のピア・ユニット314A〜Dは図1に図示したようなパーソナル・コンピ
ュータとして、またはその他の形態のネットワーク接続可能なデバイスとして実
現可能である。本発明はクライアント306、308、またはピア・ユニット3
14A〜Dのいずれかで有利なるように実現可能であるが、このような説明はシ
ステムのピア・ツー・ピア・ビューでの実装が中心となる。
たはリレー・デバイス316経由で行なうことができる。リレー・デバイス31
6は「ストア・アンド・フォワード」型が望ましく、これはインターネットから
一時的に切断されているピア・ユニット314へ向けられたメッセージを格納し
、その後再接続した時にそのピア・ユニットへメッセージを転送することができ
るものである。
において実現されるABCシステム400を示す。ピア・ユニット314A上の
ABCシステムはフレームワーク402、少なくとも一つのテレスペース404
、及びユーザ・インタフェース406を備える。フレームワーク402は多数の
テレスペース404にサービスするためのプラットフォームを提供するのが望ま
しい。フレームワーク402は、アクティビティが動作しフレームワーク・コン
ポーネントと通信するプログラマ・インタフェースを備えるモジュラー構造が望
ましい。
ンティティ・マネージャ410、テレスペース・マネージャ412、アクティビ
ティ・マネージャ414、格納・マネージャ416、コントローラ・サービス・
マネージャ418、ダイナミクス・マネージャ420、通信マネージャ422を
含む。
ェース・コントローラ(図示していない)の共有サービスの管理を担当する。U
Iマネージャ408はディスプレイ・ウインドウの窓ガラスの向こうにあるアク
ティビティのレイアウトを管理し、それ以外にユーザ・インタフェースとして期
待する「ルック・アンド・フィール」を提供する。UIマネージャ408はアク
ティビティのナビゲーション(たとえばgo(行く)、next(次)、pre
vious(前))なども管理しナビゲーション履歴を保持する。
ンティティの保存を担当する。前述したように、アイデンティティは名前であり
、また対応するURLであり、これにより各々のユーザが他のユーザによって認
識される。個々のユーザは1つまたは多数のアイデンティティを持つことがある
。アイデンティティ・マネージャ410はアイデンティティのレコードまたはテ
ーブルを望ましくはXMLで保持する。アイデンティティ・マネージャ410は
またテレスペース・メンバーのURLとこれらに対応するデバイスのURLのレ
コードまたはテーブルを望ましくはXMLで保存する。これ以外に、独立したメ
ンバー・マネージャを実装することができる。
るテレスペース404の各々の管理を担当する。各々のテレスペース404は1
つまたはそれ以上のアクティビティのインスタンシエーション(instant
iation)である。各々のテレスペース404は対応するアクティビティ・
マネージャ414を有している。
ィを追加する、(b)テレスペースで既存のアクティビティを開く、(c)アク
ティビティ・テンプレートの新しいバージョンからテレスペースのアクティビテ
ィを更新する。新規のアクティビティを追加するには、アクティビティ・マネー
ジャ414にアクティビティ・テンプレートのURLを提供してテンプレートを
開き、テンプレート情報(たとえばコンポーネントURL)を抽出してテレスペ
ースへ伝搬する。テンプレートはあるテレスペースについての初期アクティビテ
ィ構成を定義する。ユーザは後で必要に応じてテレスペース404へさらにアク
ティビティを追加できる。追加した後、アクティビティはテレスペースの「一部
」となりテレスペースのメンバー全員から見えるようになる。テレスペースはア
クティビティ・マネージャを識別してアクティビティ・マネージャとデータを結
合するタグを備える。望ましくは、各々のドキュメントはローカル・レジストリ
をこれにリンクし、XMLタグの名前がレジストリに保存されるようにして、拡
張可能な、プラットホームに依存しない方法でドキュメントとこれに対応するテ
レスペースの間のマッピング(参照ポインタまたは連係)を表現するようにする
。各々のテレスペース・メンバーはその人のピア・ユニット314A〜Dで利用
できるテレスペースのフレームワークとアクティビティ・テンプレートを有する
。
エンジンとを含む。ツール424はアクティビティにユーザ・インタフェース(
UI)機能を提供してメンバーとUI406経由で対話する。UIを介した対話
はたとえばキーボード156経由で(図1)またはマウス157経由で(図1)
開始されたUIイベントを含む。このようなUIイベントに呼応して、ツール4
24はこれに対応するエンジン426に対してデータ・モデル変更を実行するよ
うに要求し、データ変更が起こった時に非同期的にUIを更新する非同期データ
変更通知をエンジン426に予約する。ツール424もコントローラ・サービス
・マネージャ418の指示の下に提供されるバックグラウンドサービスと対話す
るためのアプリケーション・プログラム・インタフェース(API)を実装して
いる。エンジン426はテレスペース404をサポートするデータの維持と変更
、および/またはツールを介して得られたユーザとの対話からの結果の維持と変
更を担当する。後述するように、エンジン426は永続的モデルデータを変更す
ることと非同期データ変更通知をツール424に送出することをどちらもダイナ
ミクス・マネージャ420の指示制御下で行なうことができる。格納・マネージ
ャ416は格納されたデータへのアクセスを制御する。
フレームワーク内で使用するツールとエンジンを書いたり取り込んだりできる。
アクティビティ・テンプレートはアクティビティを含むツール・コンポーネント
及びエンジン・コンポーネントの永続的表現である。アクティビティ・テンプレ
ートはたとえばシュリンク・ラップしたソフトウェアとして配布したりたとえば
インターネット上で遠隔地のサーバからピア・ユニット314Aにダウンロード
したりできる。アクティビティ・コンポーネントはウェブ・ドキュメントである
と考えることができ、URL経由で永続的に表現される。アクティビティ・テン
プレートそれ自体がURLを有するのが望ましく、これによりアクティビティ設
計の変更を追跡できるようになる。アクティビティ・テンプレートは単一のアク
ティビティ・テンプレートかまたはアクティビティ集合体テンプレートであり得
る。単一のアクティビティ・テンプレートはたとえば「チャット」などの一つの
アクティビティにだけに関連する。それに対してアクティビティ集合体テンプレ
ートは「チャット及びアウトライン」などといったアクティビティの集合体に関
連する。
0経由でメンバーのアイデンティティを取得し、テレスペース・マネージャを開
き、テレスペース・マネージャに対してURL経由でテレスペースを開くように
要求し、テレスペース・マネージャにアクティビティ・マネージャを要求し、さ
らに、通常はアクティビティのURLを使って、アクティビティ・マネージャが
アクティビティを開く。次に、ABCシステム400はメンバーがテレスペース
を使用して特定のアクティビティによって提供される共有された特定のタスクを
実行することができるようにする。
チ・テレスペースの使用方法を示す。ABCシステム500が分散システムであ
ることは理解されるべきである。そこでここでは、ピア・ユニット314Aだけ
のコンポーネントの説明が提供されているが、ピア・ユニット314B〜Dも同
様のコンポーネントを備えているので、これらについては別個の説明は不要であ
る。
ア・ユニット314Aがメンバーとして登録されている複数の代表的テレスペー
スを含み、これには自動車設計テレスペース502、チャット・テレスペース5
04、チェスで遊ぶテレスペース506が含まれている。また図示してあるよう
に、ピア・ユニット314はテレスペース502、504、506の操作中に使
用される複数のコンポーネントを有している。ピア・ユニット314Aは、メン
バーとして登録されているテレスペース502、504、506の各々をリスト
し記述してあるテレスペース・レコード508と、これらのテレスペースに参加
するテレスペース・メンバーのアイデンティティの各々をリストし記述してある
メンバー・レコード512とを保持するメモリ510を備えている。UI512
はユーザが開始したテレスペースへの変更及びメンバー・レコード508.51
4への変更を受信できる。
、524、526のうちの異なる一つを例示している(これとは別の場合には、
図示したアクティビティ522、524、526は単一のテレスペースに常駐す
ることもあるが、この場合単一のテレスペースの全てのメンバーがアクティビテ
ィの各々へのアクセスを行なうことになる)。各々のアクティビティ522、5
24、526は各々のアクティビティに対応する特定のツール532、534、
536であって、各々のエンジン542、544、546の制御下にメモリ51
0に格納された対応するデータ・モデル552、554、556に対して変更を
行うためのツール532、534、536を含み、これらのツールはそれぞれテ
レスペース502、504、506の中に永続的に保存される。たとえば、自動
車設計テレスペース502はCAD(computer−aided desi
gn)ソフトウェアの形でツール532を含むことができるアクティビティ52
2のインスタンスであり、チェスで遊ためのテレスペース506はソフトウェア
のチェスゲームの形を取るツール536を含むことができるアクティビティ52
6のインスタンスである。
506のアクティビティ522、524、526を遂行し、ユーザ・インタフェ
ース514はツール532、534、536とのインタフェースを持つことによ
りユーザの要求をツールに提供する。この要求に呼応して、エンジン542、5
44、546がダイナミクス・マネージャ501の制御下でメモリ510内の対
応するデータ・モデル552、554、556の永続状態を変更し、現在の状態
を反映させる。たとえば、チェスで遊ぶためのテレスペース506でのデータの
永続的状態は、そのチェス盤と、盤上のチェスの駒の位置を含むことができる。
ユーザ要求はチェスの駒の動きを指定でき、これがデータの変更、即ちデルタを
構成する。また現在の状態はデルタの実行と駒の動きの完了を反映する。
に配置され図5を参照して説明したコンポーネントに関するものである。エンジ
ン546はアクティビティ526の特定の集中タスクを推進する上で実装すると
きの候補となるアクションまたはオプション(たとえばチェスの駒の動き)をツ
ール536に提示する。ツール536はユーザ・インタフェース514経由でテ
レスペース506のメンバー(メンバー・レコード512に記録されているメン
バー)であるユーザと対話し、アクティビティのビュー(画像)を提示する(た
とえば、チェス盤面のビューと、おそらくは動きのリスト)。ユーザのジェスチ
ャーと呼ばれる(たとえばビショップをXからYへ動かすなど)ものであってユ
ーザ・インタフェース514から入力されたユーザ入力に呼応して、ツール53
6はデルタを生成してシステム内に格納することにより、ユーザによる選択をメ
モリ内に記録する。デルタは要求された変更の単位であり、好ましくは、コンテ
ナ・オブジェクトの形である。コンテナ・オブジェクトはオブジェクト指向プロ
グラミング技術に馴染みのある者にはには周知である。ツール536はデルタに
おいて要求された変更の粒度(granularity)の決定を担当する。デ
ルタ・コンテナ・オブジェクトはたとえば特定のチェスの駒の識別及びチェスの
駒の動きを構成する盤面のもとの位置と目標位置といった、ユーザの指定したデ
ータに加えて、変更を実行するための1つまたはそれ以上のコマンドを保持(内
蔵)することができる。生成時には、デルタはコマンドが何も入っていない空の
状態で、変更を行なうためにエンジン546によって適当なコマンドを埋め込ま
れるまで、それ自身が単に変更要求を構成しているだけである。デルタにおいて
エンジン特有の方法(これはツール536には分かっていなくとも良い)で変更
を行なうのに必要とされるコマンドを記録するのはエンジン546の責任である
。
クス・マネージャ501によるデルタ生成を要求することからデルタの作成を開
始する。ダイナミクス・マネージャ501はデルタを作成して線a’でツール5
36へデルタを返し、フォールトリカバリ(障害復旧)が必要な場合に備えて作
成したデルタを記録する。
602を介してエンジン546のツール・エンド604へデルタの制御を渡し、
これによりエンジンを起動する(この説明は時としてデルタが渡されるまたはデ
ルタへの制御を一つのコンポーネントから別のコンポーネントへ渡すべきである
ことを表わす。望ましくは、デルタはメモリ内に割り当てられ、ポインタがXM
Lエレメントとして渡されるオブジェクトである。)。エンジンのツール・イン
タフェース602はデルタにコーティングされている要求された変更を行なうこ
とができるコマンドを作成するための、または、言い換えればユーザの意図にし
たがうように逐次的な形で適当なコマンド、代表的にはエンジンに特有なコマン
ドでデルタを埋めるための、一組のアプリケーション・プログラム・インタフェ
ースを表出する。次にエンジン546はこの段階ではコマンドで埋められている
デルタの制御をツール536に戻す。
デルタの制御をダイナミクス・マネージャ501へ渡す(即ち送出する)。ダイ
ナミクス・マネージャ501は他のピア・ユニット314B〜Dから線「b」経
由で到着するデルタも受信することができる。ダイナミクス・マネージャ501
は、ピア・ユニット314B〜Dにおけるダイナミクス・マネージャとともに、
チェスゲームのテレスペースに参加している全てのメンバーについて、ABCシ
ステムの一方のエンドから別のエンドへ、データ・モデル556へ行なわれた変
更の一貫性を維持する責任がある。
14とを含み、好ましくはコンピュータで実行可能なプログラムがダイナミクス
・マネージャの主論理を含む。ダイナミクス・マネージャ501とそのダイナモ
・プロセス614は通信マネージャ622と双方向通信する。ダイナミクス・マ
ネージャ501は受信したデルタを順序付ける目的でキューに入れてキュー構造
612にして、次にダイナモ・プロセス614がキューに入っているデルタを処
理するときにはキュー構造にサービスし、エンジン546に指示して適当な順序
でデルタを実行させる。さらに詳しく説明すると、ダイナミクス・マネージャ5
01のダイナモ・プロセス614はインタフェース615を介して図6の線「c
」を介してエンジン546のダイナミクス・マネージャ・エンド616へ向けて
、「デルタ・コマンド実行」メッセージの形で制御信号を送信する。デルタコマ
ンド実行メッセージはエンジン546に指示して、メモリ510に含まれており
、テレスペースに永続するデータ・モデル556への要求された変更を行なうこ
とで、ツール536から受信したデルタの実行を遂行する。
ネージャ622経由で他のエンドポイントへ向けてローカルに開始した全デルタ
を配布し、通信マネージャ622はネットワークたとえば626上でピア・ユニ
ット314B〜Dへデルタを送信する。ピア・ユニット314B〜D各々では、
各々のダイナミクス・マネージャが受信したデルタを自分のローカル・キュー構
造へとキュー入れし、つぎに特定の順序で各々のエンジンへデルタを渡して実行
させる。
ースまたは多数のテレスペースをサポートできるので、多数のエンジンに指示し
て様々なテレスペース用のデルタを実行させる責任をとらせることもできる。多
数のテレスペースを持つシステムでは、図5に図示したように、デルタの情報を
調べることで、あるデルタをどのエンジンが実行すべきかを、ダイナミクス・マ
ネージャ501が決定する。デルタはエンジンのうちの特定の一つに同定されま
たデルタのペイロードの中に入っているエンジン識別子またはコードのタグを付
けられたコマンドを含む。キューに入れられたデルタがダイナミクス・マネージ
ャで処理される時に、ダイナミクス・マネージャはエンジン・コードと参照され
たデルタとを関連付け、適当なエンジンによるデルタの実行を指示する。
更通知」メッセージを送出してツール536にデルタの実行を通知し、またデー
タ・モデル556におけるデータの新しい現在状態を通知する。デルタ変更通知
は値または参照を使って行うことができる。つまり、通知は新しいデータの値そ
れ自体を含むことができたり、またはメモリ内の新しいデータへのポインタを含
むことができる。この通知に呼応して、ツール536はたとえばチェス番のグラ
フィック上での動きを表示することにより、ユーザが利用可能な変更をユーザ・
インタフェース514に行なわせる。ユーザがディスプレイ170を観察してい
る場合(図1)、ユーザは、デルタの実行によって行なわれたチェス・ゲームへ
の変更を見ることができるが、それ以外の場合には、変更が行なわれた時点でユ
ーザが変更を「見る」ことなくメモリ510内のデータに変更が行なわれる。
るデータ・モデル556へ変更がエンジン546によって行なわれるのと実質的
に同時に、他のピア・ユニット314B〜Dもローカルに格納しているデータに
対して同様の変更を行なって一貫した方法でデルタの意図を反映する。ピア・ユ
ニット314A〜Dのいずれかをリブートしなければならないような場合には、
デルタはリブート後に実行する用にメモりないに保存される。
に接続されていないような状況が起こり得る。ピア・ユニット314Aが切断さ
れているときには、通信マネージャ622はデバイス・プレゼンス・デテクタ4
30を使用してピア・ユニット314Aが接続されているかどうかを確認し、接
続されていない場合には、接続が復元される時まで送出されるデルタを送出デル
タストア628に格納しておき、接続された時点で、格納したデルタを送信する
。1つ以上の宛先ピア・ユニット314B〜Dがネットワークから切断されてい
る場合、ピア・ユニット314Aの通信マネージャ622はプロセスを続けて他
のピア・ユニットが切断されているか否かにかかわらず送出デルタをリレー31
6(図3)に送信する。リレー・デバイス316(図3)はこのような送出デル
タを受信し、必要に応じて送出デルタストア318(図3)に格納し、ピア・ユ
ニット314B〜Dが再接続された時点で宛先へ転送する。動作中には、通信マ
ネージャ622は全ての送出デルタをリレー316のURLへ送信することがで
き、リレーは搭載されている参照テーブル320を使用してデルタを中継する場
合に使用する宛先ピア・ユニット314B〜DのエンドポイントURLを確認す
る。リレー・サービスは実際にはインターネット・サービス・プロバイダ(IS
P)またはその他のインターネット組織によって提供され得るものである。
ティはツール536経由でのみ直接行なわれ、データ・モデルの変更はエンジン
546経由でのみ直接行なわれることが理解される。専門用語を使った表現では
、ツール536はUIを「保有」しており、エンジン546はデータ・モデルを
「保有」している。これは図2に図示したような現行の代表的アプリケーション
とは対照的である。たとえば、今日のスプレッドシート・プログラムでは、代表
的にはツールの機能とエンジンの機能を組み合わせており、本発明の前述の実施
態様のようにこれらを分離するのではない。ツールをエンジンから分離すること
により、従ってデータ・モデルからUIを分離することにより、ダイナミクス・
マネージャはたとえばデータの一貫性を維持する目的で、様々なピア・ユニット
から発せられたデルタの間に介在し仲介できる。ツールは様々な種類のエンジン
で、用途によっては柔軟性や移植性を向上するため、使用することができる。さ
らに、エンジンからツールを切り離すことでデルタの実行処理を非同期的に行な
えるようになる。これはダイナミクス・マネージャ501とエンジン546がテ
レスペースの中にいる全てのメンバーについてデータの一貫性を維持するような
方法で各々の責任を遂行するのに時間がかかるため有用である。また、他のピア
・ユニット314B〜Dから到着するデルタがローカルに開始されたデルタの実
行のタイミングに影響することがあることからも有用である。
ムワーク700の実施態様を示す。フレームワークは、たとえばフレームワーク
上で動作可能なアプリケーション独自のスナップイン(プラグイン)であるコン
ピュータ・プログラム製品として、個々のアクティビティとは独立して、販売ま
たはライセンスすることができる。一般的に言うと、フレームワークはテレスペ
ースに関してコラボレーションをホスティングする。図示したフレームワーク7
00は1つ以上のダイナミクス・マネージャ702、1つの通信マネージャ70
4、1つのデータ構造テンプレート706を含む。データ構造テンプレート70
6はアクティビティ・デベロッパが使用するための原始型オブジェクト(オブジ
ェクト・プリミティブ)を、望ましくはXMLフォーマットで含むことができる
。フレームワーク700はたとえばコンピュータで読み取り可能な媒体706と
して実装可能で、媒体上にダイナミクス・マネージャ702と通信マネージャ7
04を含むコンピュータで実行可能なコードと、データ構造テンプレート700
のオブジェクト・プリミティブを含むコンピュータで読み取り可能なデータとが
格納される。
ト802A〜Dの間での通信ができるように装備したABCシステム800を示
す。各々のピア・ユニット802A〜Dはピア・ユニット314Aに関連して前
述したコンポーネントを含むことができる(図8に図示したピア・ユニットの個
数は単に例示を目的として選択したものであり、特定の実装の構成により左右さ
れ、また時間とともに変化することがある)。各々のピア・ユニット802A〜
Dはツール805A〜Dによって開始されエンジン807A〜Dにより実行され
るデルタ処理を調節するためのダイナミクス・マネージャ804A〜Dを含み、
またピア・ユニット802A〜Dの間の通信を調整するための通信マネージャ8
06A〜Dを含む。通信マネージャ806A〜Dの役割はネットワークたとえば
インターネット803上でインターネット・プロトコルたとえばTCP/IPな
どを使用してメッセージ(デルタを含む)を送受信することを含む。各々のピア
・ユニット802A〜Dはとくに機能の上で通信マネージャ830A〜Dの動作
サポートにおいてデータを格納するためのメモリ808A〜Dを含む。
と他のピア・ユニットとの間の通信を全て管理する責任がある。たとえば、通信
マネージャ822はピア・ユニット802Aとピア・ユニット802B〜Dの間
の双方向通信を管理する。通信はピア・ユニット802Aからピア・ユニット8
02B〜Dの1つまたはそれ以上へ送出される、またはピア・ユニット802B
〜Dの一つからピア・ユニット802Aへ送出されるどちらかのメッセージを含
むことができる。送信はユニキャスト(単一の宛先で、2点間通信)、マルチキ
ャスト(2点間通信で複数の宛先)、またはブロードキャスト(全ての)「聴い
ている」宛先への送信)を使用できる。宛先ピア・ユニット802B〜D(前者
の場合)またはピア・ユニット802A(後者の場合)がネットワークたとえば
インターネットに接続されている限り(「オンライン」状態である)直接かつ仲
介なしに送信を行なうことができる。宛先がたとえば互換性のない通信プロトコ
ルを使用しているか、またはファイアウォールの中にある場合などは宛先には到
達することができない。前述のように、デバイス・プレゼンス・マネージャ81
2を用いて想定した宛先がオンラインになっているか、または一時的に切断され
ている(「オフライン」状態である)どうかを確認することができる。宛先がオ
フラインになっている場合、通信はリレー814(前述の通り)を経由して行な
うことができ、リレーは宛先がオンラインに復帰した時に宛先へのメッセージを
転送する。通信マネージャ806Aは、本明細書で使用している術語の通り、宛
先が接続可能または到達可能であるどうかを決定する役割がある。
送出しようとして、ピア・ユニット802Cがオンラインであるとプレゼンス・
サーバ812から通信マネージャ806Aに通知されている場合には、通信マネ
ージャ806Aはそのピア・ユニットが接続可能であれば、ネットワークたとえ
ばインターネット803経由で直接ピア・ユニット802CのURL宛てにメッ
セージを送出する。ピア・ユニット802Cでは通信マネージャ806Cがメッ
セージを受信して、メッセージをダイナミクス・マネージャ804Cへ渡す。
出しようとして、ピア・ユニット802Cがオフラインであるとプレゼンス・サ
ーバ812から通信マネージャ806Aに通知されている場合には、通信マネー
ジャ806Aはネットワークたとえばインターネット803経由でリレー814
のURLへメッセージを送出する。リレー814は高性能ファイルサーバとして
実装可能で、ピア・ユニット802Cがオンラインに復帰するまで中継メッセー
ジを保存しておき、復帰時にメッセージをピア・ユニット802CのURLへ転
送する。ピア・ユニット802Cでは前述のようにメッセージを受信して、通信
マネージャ806C経由でダイナミクス・マネージャ804Cへ渡す。宛先ピア
・ユニット802Cとリレー814の両方ともオフラインになっている場合には
、通信マネージャ806Aは一定時間後に(タイムアウト機構により決定される
)メッセージの再送信を試み、また再送が保留中にピア・ユニット802Aが再
立ち上げしたりまたは終了する場合にはデルタをたとえばメモリ808Aに保持
しておく。
ユニット802A〜Dがオンラインかまたはオフラインかどうかをモニタする目
的で、また他のピア・ユニットの今ライン/オフライン状態をピア・ユニットの
各々に通知する目的で、使用することができる。この目的を満たすためには、デ
バイス・プレゼンス・サーバ812はたとえば図1のコンピュータ・システム1
00に示したように構成することができる。別の方法としては、デバイス・プレ
ゼンス・サーバはリレー・サーバと組み合わせることがでできる。この様な実装
では、デバイス・プレゼンス・プロトコル機能は独立した接続ディレクトリ81
8ではなく参照テーブル320にあるデバイス状態情報を使ってリレー・サーバ
が実行する。
812に自分のオンライン/オフライン状態を通知する責任、即ちユニットがオ
ンライン中かまたはこれからオフラインになろうとしているところかを通知する
責任がある。別の方法としては、プレゼンス・サーバ812は時々ピア・ユニッ
ト802A〜Dをポーリングしてこれらのオンライン/オフライン状態の情報を
取得することができる。この情報はデバイス・プレゼンス・サーバ812内で望
ましくは揮発性メモリ816内のプレゼンス・ディレクトリ818に保存する。
デバイス・プレゼンス・サーバ812は望ましくはたとえばXMLを使ってデー
タツリーの形でプレゼンス・ディレクトリ818を保存する。プレゼンス・ディ
レクトリ818は初期状態では空で、ピア・ユニット802A〜Dがオンライン
/オフライン状態の状態をデバイス・プレゼンス・サーバ812に提供するまで
、たとえば状態の通知を提供するまで、空のままである。そして、状態に関する
情報の受信時に、プレゼンス・ディレクトリ818は通知してきたピア・ユニッ
トのURLとオンライン/オフライン状態の情報を保存する。
デバイス接続状態予約サービスを提供することもできる。デバイス・プレゼンス
・サーバ812は各々のピア・ユニット802A〜D宛てに他の各ピア・ユニッ
ト802A〜Dのオンライン/オフライン状態を通知し接続状態の変化も通知す
る。デバイス・プレゼンス・サーバ812は(a)メッセージを送信「したい」
ピア・ユニット802A〜Dからデバイス状態変化通知の要求があった時点で、
(b)ネットワークたとえばインターネット803へピア・ユニットが接続する
時点で、(c)時々、たとえばピア・ユニットのいずれかの状態に変化があった
時点で、または(d)上記の組み合わせのいずれかの場合に予約しているピア・
ユニット802A〜Dへ接続状態通知を送信できる。望ましくは、全ての通信は
インターネット・プロトコルに準拠して行なう。これらのプロトコルにはとくに
前述のものが含まれる。
ができ、たとえばユーザがメンバーとなっている各テレスペースについて、加入
することでそれ以降は各メンバーが現在「ログイン」しているかどうかなど、他
のテレスペース・メンバー各々現状に基づいて知ることができる。このサービス
を有効にするためには、デバイス・プレゼンス・サーバ812はメモリ816内
にテレスペース・メンバー・ディレクトリ822を保持しておき、プレゼンス・
サーバによってサポートされており、ユーザ状態情報を格納するためのフィール
ドを有する各テレスペースについてのメンバー・レコードを格納する。これ以外
に、この情報はデバイス・プレゼンス・サーバ812にではなく、各ピア・ユニ
ット802A〜Dの内部に保持しておくこともでき、その場合には、この情報を
提供するために中央に配置されるメンバー・ディレクトリ822は必要がなくな
る。
ルタなどのメッセージを送信したい場合、ピア・ユニット802Aはプレゼンス
・サーバ430にアクセスする。ピア・ユニット802Aの通信マネージャ80
6Aはピア・ユニット802BのURLをすでに取得している。ピア・ユニット
802Aはピア・ユニット802BのURLを用いて、デバイス・プレゼンス・
サーバ430からピア・ユニット802Bのインターネット・プロトコル(IP
)アドレスと接続状態を取得する。次に、通信マネージャ806Aはメッセージ
をピア・ユニット802AのIPアドレス宛てに送信する。ダイナミクス・マネ
ージャ804Aは宛先ピア・ユニット802Bがネットワークに接続しているか
どうかについての知識がなくとも通信マネージャ806Aへメッセージを渡すこ
とができる。
Aの幾つかのコンポーネントの実装を示す。メモリ830Aは通信マネージャ8
06Aの動作サポートに使うデータを格納する(他のピア・ユニット802B〜
Dも同様のメモリ構造を設けて各々の通信マネージャ806B〜D用のデータを
格納する)。図示したように、通信マネージャ806Aはメモリ830Aに送出
メッセージ・キュー構造904を保持しており、これにはデルタを含む全ての送
出メッセージが、望ましくはXMLの形式で、格納される。送出メッセージ・キ
ュー構造904は他のピア・ユニット802B〜Dへ配送するため通信マネージ
ャ806Aがダイナミクス・マネージャ804Aから受信したメッセージを含む
(またはメモリ830Aに格納される何らかの他のメッセージを参照する)作業
リスト・アレイとして実現可能である。このようにすると、送出メッセージ・キ
ュー構造904は図6の送出デルタ・ストア628を含むことができる。送出メ
ッセージ・キュー構造904以外に、メモリ830Aは配送チケット・アレイ9
06も含み、これは資源処理のためメッセージ・ペイロード(たとえば多数のX
MLエレメントとしてフォーマットされ、各XMLエレメントがドキュメントの
一部分(以下、フラグメント)になっている)と配送エンドポイントとの関連を
提供する。メモリ830Aはさらに接続ディレクトリ908も含み、これはたと
えばピア・ユニット802A〜Dやリレー814などのネットワーク接続可能な
デバイスを含め、考えられる宛先エンドポイントのURLでインデックスされ、
各々の接続状態を格納する。
れらは受信スレッドと送信スレッドを各々処理する。レシーバ912は他のピア
・ユニット802B〜Dまたはリレー814からリンク918上に到着するデル
タを含む到着メッセージを受信し、本明細書の他の部分に記載しているように、
処理のためダイナミクス・マネージャ804Aへリンク918上で転送する。
804Aからリンク922上で送出メッセージを取得する。トランスミッタ91
4は送出メッセージを検査し、デバイスURLを抽出する。次に、トランスミッ
タ914はランプ1002A(図10)の「デバイスURLからIPアドレスへ
」のマップ1001を使用して抽出したデバイスURLをIPアドレスにマッピ
ングする。最後に、トランスミッタ914は接続ディレクトリ908にアクセス
して宛先デバイスの接続性を確認する。前述したように、プレゼンス・サーバは
宛先デバイスのオンライン/オフライン状態を提供するが、通信マネージャは接
続性を追跡して最終的に判定する。各メッセージについて、プレゼンス及び接続
状態情報に応じて、トランスミッタ914がメッセージを指定された宛先へ転送
するためのパスを選択する。宛先デバイスがオンライン状態でプレゼンスおよび
接続性情報で示された通りに接続できる場合、トランスミッタ914はリンク9
24上で宛先デバイスそれ自体のURLに向けてメッセージを発信する。宛先が
オンライン状態になくまたオンライン及び接続性情報で示された通りに到達でき
ない場合、トランスミッタ914はリンク924上でリレー814へメッセージ
を送り、リレーでメッセージ転送に使用する宛先デバイスのURLをメッセージ
に含める。本明細書の他の部分で説明したように、リレー814は宛先デバイス
がオンライン状態に復帰し接続可能になるまで保留メッセージを貯めておくため
のローカル・ストレージを備えている。その一方で、ピア・ユニット802A自
体がオフラインの場合、トランスミッタ914はピア・ユニット802Aがオン
ライン状態に復帰するまで送出メッセージを送出メッセージ・キュー904に蓄
えておき、復帰した時点で前述のようにメッセージを送信する。メッセージ・キ
ュー904はたとえばXMLフォーマットで、ピア・ユニット802Aのシャッ
トダウンまたはリブート後にも残る。
06B〜Dの通信マネージャが受信に成功したことを確認するまで、全てのデル
タを含め、送信されたメッセージ全部のコピーをメモリ830Aに保持しておく
。所定の期限内に確認が受信されないと、通信マネージャ806Aはメッセージ
を再送する。確認が戻ってこないと、通信マネージャ806Aは所定の試行回数
まで再送を試みる。最大試行回数はABCシステムで、または特定のテレスペー
スでプリセットしておいたり、ユーザが調節できる。最大試行回数になっても確
認が得られない場合、その宛先ピア・ユニットへのメッセージを破棄するか、ま
たはその宛先ピア・ユニットへの通信を他のチャンネルたとえばリレー経由でた
めすことができる。これ以外に、最大試行回数のセットを行なわないこともある
。その場合にリレー・サーバが到達可能でなければ、ピア・デバイスまたはリレ
ー・サーバのいずれかが利用できるようになるまで、デバイスはメッセージを無
期限に保持する。
て「生存期間」(time−to−live)とよばれる期限を設定できる。送
信元ピア・ユニットの通信マネージャはたとえばメッセージのコピーと一緒にメ
モリ内に生存期間(TTL)を格納する。TTLに応じて、送信元ピア・ユニッ
トはTTL期限までに送信に成功しなかった場合にはメッセージを破棄する。各
宛先ピア・ユニットが送信元ピア・ユニットへ確認メッセージを送り返すことで
メッセージ受信を確認するような代表的実施態様では、確認がTTL期限までに
受信されなかった場合には送信元ピア・ユニットがメッセージを破棄する。たと
えば、あるメッセージ「正午に昼食をご一緒しませんか?」(Can you
meet me for lunch at noon?)を送信する場合、そ
のメッセージはTTLデータを持つことができ、宛先ピア・ユニットが正午まで
に受信される確認を送らない場合にはメッセージを送信側エンドポイントで破棄
する。この機能のさらに別の変化としては、デルタを含むメッセージの場合、デ
ルタがTTL期限までに宛先によって実行されなければ破棄するように設定でき
る。TTL期限は、たとえばテレスペース内の全メッセージに対して、または特
定の種類の全メッセージに対して、または各メッセージについてたとえばメッセ
ージ内容や宛先エンドポイントに基づいて、様々な制御レベルでユーザが指定で
きる。
指定された宛先エンドポイントを別のアイデンティティに対応する1つまたはそ
れ以上の別のエンドポイントへマッピングして、自動的にこれらの別のエンドポ
イントへメッセージのコピーを転送する役割を果たすことができる。つまり、メ
ッセージが一つの宛先URLを指定していたとしても、通信マネージャ806A
は別のURLへメッセージを送信するようにプログラムできる。このためには、
通信マネージャ806Aは、ピア・ユニット802Aについて、たとえばXML
フォーマットで、メモリ808Aに格納されていてアイデンティティ・マネージ
ャ408(図4)により保持されるアイデンティティ・データ構造へアクセスす
る。次に、アイデンティティ・データ構造から抽出したアイデンティティ情報に
呼応して、通信マネージャ806Aは本来は第1の宛先ピア・ユニットへ宛てら
れたメッセージを第1のピア・ユニットの代わりにまたは第1のピア・ユニット
を含めて1つまたはそれ以上の他のピア・ユニットへ転送する。たとえば、ある
ユーザがJackという名前でテレスペース内の人へメッセージを送りたい場合
、ユーザはJackのホーム・コンピュータの宛先エンドポイントを指定できる
。通信マネージャ806Aは、たとえばアイデンティティ・マネージャ408経
由で、アイデンティティ・データ構造をチェックしてJackが仕事用のエンド
ポイントも持っていると判定できる。次に、通信マネージャは自宅用コンピュー
タに送る代わりとしてまたは自宅用コンピュータに加えて、メッセージを仕事用
のコンピュータの方へ転送することができる。これは自宅用コンピュータがオフ
ラインになっているかまたは到達不可能であると通信マネージャ806Aが判定
した場合にとくに有用である。さらに、通信マネージャ806Aは、Jackの
自宅と仕事のエンドポイントの両方へメッセージを送信しようとする場合に冗長
性を認識することができるので、メッセージを一方または他方宛てにだけ送信し
て、冗長なあるいは不要なトラフィックを削減するように選択することができる
。このパラグラフで説明したようなアイデンティティによるルーティングに関し
ての通信マネージャ806Aの動作は、たとえば各々のメッセージに関してユー
ザの制御下に置くことができ、また特定のテレスペースについてまたはメッセー
ジの種別についてまたは宛先エンドポイントに関係するアイデンティティについ
てプリセットできる。アイデンティティ・データ構造は、たとえば特定の人に到
達するためなどで、メッセージを送信すべきエンドポイントに対する命令を含む
ことができ、このような命令はテレスペースメンバーにより時々更新することが
できる。
ス・マネージャ(RAM)930とも通信するが、RAMはピア・ユニット80
2Aの外部にある資源プロバイダから取得した資源情報を管理する役割がある。
このような情報はピア・ユニット802Aがメンバーになっているテレスペース
へ参加するのに有用または必要である。図10は資源アウェアネス・マネージャ
・プロバイダまたはRAMP1002A〜Cと呼ばれる多数の情報源から情報を
取得するRAM930の典型的動作を示した者で、RAMP1002Aとしてプ
レゼンス・サーバ812、RAMP1002Bとしてファイルサーバなどを含む
。RAM930は通信マネージャ806Aからの要求に応じて情報を取得する適
当なRAMPを決定できる。要求に呼応して、RAM930は要求された情報を
通信マネージャ806Aへ非同期的に返す。たとえば、特定のURLに対応する
IPアドレスについての通信マネージャ806Aからの要求に呼応してRAMP
1002A(プレゼンス・サーバ)は前述のデバイスURLからIPアドレスへ
のマッピングを実行して要求されたIPアドレスを返す。通信マネージャ806
Aは返されたIPアドレスをたとえばメモリ808Aにキャッシュする。
鑑みて最も良く説明できる。本明細書で使用しているように、資源は人、ドキュ
メント、またはデバイスを含むことができ、各々がURLによりユニークに識別
される。各々のプロパティについて、RAMは説明情報のプロパティ・セットを
格納する。プロパティ・セットはたとえば「ストリング名」即ち資源の種類(即
ち人、ドキュメントまたはデバイス)に特有の標準的リストの形を取ることがで
きる。RAM930は各RAMP1002A〜Cに問い合わせを行ないサポート
されているし源プロパティ名のリストを取得することができる、つまりRAM動
作はプロパティ・セットの動的発見で特徴付けることができる。要求に呼応して
、RAM930はたとえばXMLフォーマットで、望ましくは階層的データ構造
の形で、情報を返すことができる。返された情報は別の種類の要求に対応するこ
とができ、次のような形を取ることができる:(a)「スタティック・タグ」(
static tag)呼応、これはたとえばローカル・デバイスなど指定され
たURLに関してとくに要求された通りの情報を返すもの、または(b)「クエ
リ」(query)呼応、これはクエリに呼応して情報を返すものである。クエ
リ呼応は構造化されていたり、値に基づくものだったり、または「変更時に更新
」することができる。値に基づくクエリ呼応は、たとえば(i)関連オペレータ
(何らかの期間に関するデータ、または特定の給料を得る従業員についてのデー
タなど)に呼応する情報、または位置的値に呼応する(即ち指定された順序で照
合される)、または(c)「変更時に更新」される要求に応じる情報、これは要
求を出した実体からの最後のクエリ以降に変更された情報(たとえばファイルX
XXがYYYYにリネームされたなど)を返す。例示すると、RAM930は様
々なRAMP1002A〜Cと通信して名前のついた資源たとえば特定の人につ
いてのメタデータを取得するように依頼されたり、または特定の人がオンライン
のディスカッションに参加できるかどうかを指定する情報を取得するように依頼
されることがある。
・ユニット802A〜D間の通信を提供する。ABCシステム800は宛先デバ
イスの接続状態と関係なくたとえばリレーなどのリレー814を提供することで
通信を可能にする。リレー814は論理的プロキシで、直接のピア・ツー・ピア
通信が不可能な場合に通信を仲介することができる。リレー814はまたコラボ
レーション環境内でのある種の通信形態を最適化する可能性のあるホストでもあ
る。リレー814は転送中のデルタを含めたメッセージを格納するためのメモリ
832、インターネット803からメッセージを受信するためのレシーバ834
、インターネット803上へメッセージを送信するためのトランスミッタ836
を含む。リレー814を使用する際には、ピア・ユニット802A〜Dは「コラ
ボレーション・クライアント」として参照される。
デルタ・リレー・モジュール1102。
ブロードキャスト通信を提供するファンアウト・モジュール1104、このモジ
ュールは同時に1つ以上の宛先デバイスへメッセージを送信できる。送信側ピア
・ユニット802A〜Dが比較的低速の通信リンク924(図9)で宛先ピア・
ユニットへ接続されている場合に多数の2点間(ユニキャスト)送信では時間が
かかりすぎるのでとくに有用である。
ジを送信許可する、たとえば機密プライベート・ネットワーク上のデバイスと公
衆ネットワーク経由で通信するための、プロキシを提供するファイアウォール・
モジュール1106。ファイアウォール・モジュール1106は一般にファイア
ウォールが送出側トラフィックを許可し到着トラフィックを許可しないことから
これを実現できる。
合わせに応じて情報を提供する転送コスト・モジュール1108。この情報によ
り、コラボレーション・クライアントは、ピア・ユニット802A〜Dが実行す
る最小コストの転送経路決定にしたがって、宛先ピア・ユニットへ直接メッセー
ジを送信するか、またはリレーを経由するかを選択できる。ピア・ユニット80
2A〜Dは情報のローカルコピーを、たとえば通信マネージャに保存しておくこ
とができる。
ユニット802A〜Dからのレイテンシ問い合わせに呼応して情報を提供する転
送レイテンシ・モジュール1110。この情報により、コラボレーション・クラ
イアントはピア・ユニット802A〜Dが実行するレイテンシ比較による経路決
定にしたがって、宛先ピア・ユニットへ直接メッセージを送信するか、またはリ
レーを経由するかを選択できる。送信側ピア・ユニット802A〜Dが比較的低
速の通信リンク924(図9)で宛先ピア・ユニットへ接続されている場合にと
くにこれは有用である。ピア・ユニット802A〜Dは情報のローカルコピーを
、たとえば通信マネージャに保存しておくことができる。
の理由で暗号化しないのが望ましいといった通信メッセージの認証を提供する認
証モジュール1112。
ョン・クライアントの通信マネージャ個々で実装することのできる転送方法12
00を示す。転送方法1200はステップ1202ではじまり、ここで宛先の接
続状態を調べる。通信マネージャは自分自身の接続性情報を保持でき、「プレゼ
ンス」情報(即ちオンライン/オフライン状態)をプレゼンス・サーバ812か
ら取得できる。宛先がネットワークたとえばインターネットから切断されている
場合、ステップ1202では送信にリレー814の経由が必要であるとの結論に
なる。ステップ1204ではメッセージを多数の宛先に送信するかどうかを調べ
、またたとえばリレー814のモジュール1104のファンアウト・サービスを
利用して送信を行なうのが最善かどうかも調べる。たとえば、通信マネージャは
宛先数があらかじめプログラムされた個数を越えるか、ユーザが指定した個数を
越えるか、または利用可能なバンド幅、ネットワークの混雑状況、及びメッセー
ジを送信しようとしているピア・ユニットの総数に基づいて動的に計算した数、
のどれかを越えるような場合、通信マネージャがリレー814経由でメッセージ
を転送することがある。ステップ1206では認証が必要な機密ネットワークへ
ファイアウォールを越えて送信する必要がある宛先かどうかを調べる。そのよう
な宛先の場合、リレーは認証されるが送信側ピア・ユニットが認証されない場合
には送信を行なうためにリレー814が選択される。宛先の条件と認証に関する
情報はリレー814のRAM930とファイアウォール・モジュール1106経
由で取得できる。ステップ1208では、RAMとリレー814の転送コスト・
モジュール1108から提供された転送コスト情報に基づいて、直接メッセージ
を送信する場合と、リレーを経由して送信する場合の相対的コストを判定する。
最小コストでの転送は、たとえば全ての通信について自動的に実行したり、また
はオペレータが選択するオプションとすることができる。最小コストの転送が有
効でステップ1210のテストでリレーが最小コストの選択肢を提供すると示さ
れている場合には、メッセージはステップ1210でリレー814から送出され
る。ステップ1212では転送スピードに関してRAM930とリレー814の
転送レイテンシ・モジュール1110から得られた情報に基づいて、同様に決定
を行なう。最小レイテンシの転送経路はたとえば全部の通信について自動的に実
行したり、またはオペレータが選択するオプションとすることができる。有効に
なっていて、ステップ1214のテストでリレーが最小レイテンシの選択肢を提
供すると示されている場合には、ステップ1214でメッセージがリレー814
によって送信される。リレー経由で送信しない場合、ステップ1218でメッセ
ージを宛先ピア・ユニットへ直接送信させる。ステップ1202〜1218の順
序を適宜変更できるおよび/または特定の実装の必要に適合するように上記で説
明したテストを改善できることは容易に理解されよう。
クス・マネージャに対応できることと、多数のダイナミクス・マネージャを提供
してた数の同時に実行するアクティビティに対応できる点で、ABCシステムは
マルチタスク、マルチスレッドにすることもできる。テレスペースとダイナミク
ス・マネージャの間の一対一の関係ではデルタ処理で最小の遅延が導入されるが
、スレッドが窮乏する(starvation)とエラー状態またはフォールト
状態を起してしまうことがある。他方、単一のダイナミクス・マネージャで多く
のテレスペースをサポートすると渋滞(congestion)の問題が起こる
ことがある。各コンポーネントの最適な個数はハードウェアの用途、参加するピ
ア・ユニットの個数、トラフィック条件によって左右される。
1つ以上のテレスペース(TS)を備え、各テレスペースが1つ以上のアクティ
ビティ・コンポーネントを具現化(instantiation)し、各アクテ
ィビティ・コンポーネントには1つ以上のツール(T)とエンジン(E)のペア
を有し、これら各々の動作はダイナミクス・マネージャ(DM)によって調整さ
れる。つまり、ABCシステムは1つ以上のダイナミクス・マネージャを備えた
多数のテレスペースを有することができる。したがって、ABCシステムはたと
えば次のように構成することができる: ABCシステム= CS1 = DM1 + A1、 ここでA1 = T1 + E1 CS2 = DM2 + A2、 ここでA2 = T2 + E2 ... ... CSn = DMn + An、 ここでAn = Tn + En
れるものとし、”n”は正の整数である。つまり、例を挙げると、様々なテレス
ペースのインスタンシーエションの例は次のようになる: TS ⊂ A1、 または TS ⊂ A1 + A2、 または TS ⊂ A1 + A2 + Am あるいは TS1 ⊂ A1 TS2 ⊂ A2 ... TSm ⊂ Am
たがって、各テレスペースは1つまたはそれ以上のアクティビティを具現化し、
フレームワークは単一のテレスペースを有することができる。別の方法では、各
テレスペースは1つ以上のアクティビティを具現化し、フレームワークが多数の
テレスペースを有することができる。
ばコンピュータで読み取り可能な媒体、たとえば図1のディスケット142、C
D−ROM147、ROM115、またはハードディスク装置152などの有形
の媒体上に固定されるか、またはモデムまたはその他のインタフェース・デバイ
スたとえば媒体191上のネットワーク195に接続した通信アダプタ190を
介して送信することができるかのどちらかのコンピュータ用命令及びルーチンを
含む。媒体191は光通信回線または有線通信回線を含みこれに制限されない有
形の媒体であるか、またはマイクロ波、赤外線、またはその他の通信技術を含み
これに制限されない無線技術で実現される。これはまたインターネットであって
も良い。一連のコンピュータ用命令が本明細書で本発明に関連して前述し多機能
の全部または一部を実現する。多くのコンピュータ・アーキテクチャまたはオペ
レーティング・システムで使用される多数のプログラミング言語でこのようなコ
ンピュータ用命令を書くことができることは当業者には理解されよう。さらに、
このような命令は現在または将来の、半導体、磁気、光、またはその他のメモリ
・デバイスを含みこれに制限されない何らかのメモリ技術を用いて保存すること
ができ、あるいは現在または将来の、光、赤外線、マイクロ波、またはその他の
送信技術を含みこれに制限されない何らかの通信技術を用いて送信される。この
ようなコンピュータ・プログラム製品が、印刷したまたは電子化された説明を伴
ったリムーバブル媒体、たとえばシュリンクラップ・ソフトウェアとして配布さ
れる、コンピュータ・システムのたとえばシステムのROMまたは固定ディスク
上にプリロードされる、またはたとえばインターネットまたはWWW(Worl
d Wide Web)などのネットワーク上のサーバまたは電子掲示板システ
ムから配布されることを想定している。
な変化や変更を本発明の精神と範囲から逸脱することなく成し得ることは当業者
には明らかであろう。同じ機能を実行する他のコンポーネントが適宜置き換えら
れることができることは当業者には明らかであろう。さらに、本発明の方法は適
当なプロセッサ用命令を用いるソフトウェアで全て実装したもの、またはハード
ウェア論理とソフトウェア論理とを組み合わせて用いて同じ結果を実現しようと
するハイブリッド型で実装したもののどちらかで実現可能である。さらに、メモ
リの容量、特定の機能を実現するために使用される論理および/または命令の特
定の構成、ならびに本発明のコンセプトに対するその他の変更はすべて添付の請
求の範囲に含まれることを意図している。
である。
のブロック図で、制御モジュールはディスプレイまたはその他のユーザ・インタ
フェースとインタフェースすること及びデータ・モデルにしたがってデータを維
持することを担当する。
イアントサーバ・システムと、本発明の実施態様によるパーソナル・ウェブのた
めのピア・ツー・ピアシステムとの両方を示す。
ABCシステムの一部のブロック図である。
ブロック図で本発明の実施態様による代表的テレスペース・アプリケーションを
示す。
ロック図である。
図である。
施態様のブロック図である。
施態様のブロック図である。
Claims (37)
- 【請求項1】 少なくとも1台のネットワーク接続可能なリモート・デバイ
スと協調動作しネットワーク上で通信するのに適したネットワーク接続可能なロ
ーカル・デバイスであって、該ネットワーク接続可能なローカル・デバイスは、 A)データ・モデルにしたがってデータのローカル・コピーを格納するメモリ
と、 B)前記メモリと連動されたデータ変更エンジンであって、複数のデータ変更
要求に呼応して、前記データ・もであるに従って前記メモリ内のデータの前記ロ
ーカル・コピーのストレージを制御し、かつ、前記データの前記ローカル・コピ
ーを変更することを特徴とし、前記データ変更要求にはローカルな場所で生成さ
れたデータ変更要求とリモートな場所で生成されたデータ変更要求とを含婿とを
特徴とするデータ変更エンジンと、 C)前記データ変更エンジン連動されたダイナミクス・マネージャであって、
前記データ変更要求に呼応して、前記エンジンを制御し、かつ、と前記データ変
更要求の実行を調整することを特徴とするダイナミクス・マネージャと、 D)通信マネージャであって、前記ダイナミクス・マネージャと連動されて前
記ローカルな場所でに生成したデータ変更要求を前記少なくとも一つのネットワ
ーク接続可能なリモート・デバイスへ送信するためと前記リモートな場所で生成
されたデータ変更要求を受信するためであることを特徴とする通信マネージャと を含むことを特徴とするネットワーク接続可能なローカル・デバイス。 - 【請求項2】 前記通信マネージャは前記ネットワーク接続可能なリモート
・デバイスのネットワーク接続状態に応じて前記ローカルな場所で生成されたデ
ータ変更要求を前記少なくとも一つのネットワーク接続可能なリモート・デバイ
スへ直接送信できることを特徴とする請求項1に記載のネットワーク接続可能な
ローカル・デバイス。 - 【請求項3】 前記通信マネージャはプレゼンス機構に呼応して前記少なく
とも一つのネットワーク接続可能なリモート・デバイスが前記ネットワークに接
続されている場合前記少なくとも一つのネットワーク接続可能なリモート・デバ
イスへ前記ネットワーク上で前記ローカルな場所で生成されたデータ変更要求を
送信し、前記少なくとも一つのネットワーク接続可能なリモート・デバイスが前
記ネットワークから切断されている場合には前記ネットワークを介してリレーへ
前記ローカルな場所で生成されたデータ変更要求を送信することを特徴とする請
求項1に記載のネットワーク接続可能なローカル・デバイス。 - 【請求項4】 前記通信マネージャは前記少なくとも一つのネットワーク接
続可能なリモート・デバイスが前記ネットワークへ再接続された時点で前記少な
くとも一つのネットワーク接続可能なリモート・デバイスへ前記ローカルな場所
で生成されたデータ変更要求を転送するように前記リレーに指示することを特徴
とする請求項3に記載のネットワーク接続可能なローカル・デバイス。 - 【請求項5】 前記通信マネージャは前記ネットワーク接続可能なローカル
・デバイスが前記ネットワークに接続されているかどうか、したがってリモート
な場所で生成されたデータ変更要求を受信できるかどうかを示す接続状態通知を
前記ネットワークを介して前記プレゼンス機構へ送信することを特徴とする請求
項3に記載のネットワーク接続可能なローカル・デバイス。 - 【請求項6】 前記通信マネージャは前記ネットワーク接続可能なリモート
・デバイスからリモート な場所で生成されたデータ変更要求を受信して前記受信したデータ変更要求を前
記ダイナミクス・マネージャへ転送することと、前記ダイナミクス・マネージャ
は前記データ変更エンジンに指示して前記受信したデータ変更要求であってリモ
ートな場所で生成されたデータ変更要求を実行させることを特徴とする請求項3
に記載のネットワーク接続可能なローカル・デバイス。 - 【請求項7】 プレゼンス機構及び前記リレーとの組み合わせにあることを
特徴とする請求項3に記載のネットワーク接続可能なローカル・デバイス。 - 【請求項8】 前記プレゼンス機構はネットワーク接続可能な前記ローカル
・デバイス及び前記リモート・デバイスのオンライン/オフライン状態の表示を
保存することを特徴とする請求項7に記載の組み合わせ。 - 【請求項9】 前記通信マネージャは前記少なくとも一つのネットワーク接
続可能なリモート・デバイスが前記ネットワークから切断されている場合前記ネ
ットワークを介して前記リレーへ前記ローカルな場所で生成されたデータ変更要
求を送信し、前記リレーはリレー・メモリを有するストア・アンド・フォワード
・リレーを含み、前記リレーは前記リレー・メモリに前記ローカルな場所で生成
されたデータ変更要求を格納し、前記少なくとも一つのネットワーク接続可能な
リモート・デバイスが前記ネットワークに接続された時点で前記ローカルな場所
で生成されたデータ変更要求を前記少なくとも一つのネットワーク接続可能なリ
モート・デバイスへ転送することを特徴とする請求項8に記載の組み合わせ。 - 【請求項10】 前記少なくとも一つのネットワーク接続可能なリモート・
デバイスはネットワーク接続可能な複数のリモート・デバイスを含み、前記リレ
ーは前記通信マネージャに呼応してマルチキャストを使用し前記ネットワーク接
続可能な複数のリモート・デバイスへ前記ローカルな場所で生成されたデータ変
更要求を転送できることを特徴とする請求項7に記載の組み合わせ。 - 【請求項11】 前記通信マネージャは最小レイテンシ情報に呼応して、直
接通信と間接通信の一方で前記ローカルな場所で生成されたデータ変更要求を送
信でき、前記直接通信は1つ以上の前記ネットワーク接続可能なリモート・デバ
イスへ直接前記ローカルデータ変更要求を送信することを含み、前記間接通信は
前記リレー経由で1つ以上の前記ネットワーク接続可能なリモート・デバイスへ
前記ローカルな場所で生成されたデータ変更要求を送信することを含むことを特
徴とする請求項10に記載の組み合わせ。 - 【請求項12】 前記通信マネージャは最小コスト情報に応じて、直接通信
と間接通信の一方で前記ローカルな場所で生成されたデータ変更要求を送信でき
、前記直接通信は1つ以上の前記ネットワーク接続可能なリモート・デバイスへ
直接前記ローカルな場所で生成されたデータ変更要求を送信することを含み、前
記間接通信は前記リレー経由で1つ以上の前記ネットワーク接続可能なリモート
・デバイスへ前記ローカルな場所で生成されたデータ変更要求を送信することを
含むことを特徴とする請求項10に記載の組み合わせ。 - 【請求項13】 分散型データ・モデルに従ってデータの複数コピーを保持
するための分散型協調システムであって、該コピーはユーザのアクションに呼応
して複数のコンピュータ・システムにより変更可能であることを特徴とする分散
型協調システムであって、前記システムは、 A)複数のコンピュータ・システムであって、前記コンピュータ・システムの
各々は前記データのローカル・コピーを変更するための複数のデータ変更要求を
ローカルな場所に生成することが可能であり、かつ、前記ローカルな場所で生成
されたデータ変更要求ならびに前記コンピュータ・システムの他のシステムで生
成されたデータ変更要求であってリモートな場所で生成されたデータ変更要求と
を含むデータ変更要求を実行することが可能であることにより、前記データの前
記ローカル・コピーに前記要求された変更を行うことが可能であり、前記コンピ
ュータ・システムの各々はネットワークを介して他の前記コンピュータ・システ
ムを含む宛先へローカルな場所で生成されたデータ変更要求を送信するためと前
記ネットワークを介して前記他のコンピュータ・システムからリモートな場所で
生成されたデータ変更要求を受信するための通信マネージャを含むことを特徴と
する複数のコンピュータ・システムと、 B)前記通信マネージャの一つから送信されたデータ変更要求を受信し、かつ
、前記宛先が前記ネットワークに接続された時点で前記受信したデータ変更要求
を転送するためのリレーとを含む ことを特徴とする分散協調型システム。 - 【請求項14】 前記ネットワーク上で前記コンピュータ・システムに連動
されて前記コンピュータ・システムの各々が前記ネットワークと接続されている
かまたは切断されているかを示す情報を保存するためのプレゼンス・サーバをさ
らに含むことを特徴とする請求項13に記載のコンピュータ・システム。 - 【請求項15】 前記通信マネージャは前記ネットワークに接続された宛先
へ直接データ変更要求を送信し、かつ、少なくとも一時的に前記ネットワークか
ら切断されている宛先へは前記リレーを経由してデータ変更要求を送信すること
を特徴とする請求項14に記載のコンピュータ・システム。 - 【請求項16】 前記通信マネージャは宛先へデータ変更要求を直接送信す
るか前記リレーを経由するかを、少なくとも部分的に最小コスト転送経路情報に
基づいて決定できることを特徴とする請求項13に記載のコンピュータ・システ
ム。 - 【請求項17】 前記通信マネージャは、宛先へデータ変更要求を直接送信
するか前記リレーを経由するかを、少なくとも部分的に最小レイテンシ転送経路
情報に基づいて決定できることを特徴とする請求項13に記載のコンピュータ・
システム。 - 【請求項18】 各コンピュータ・システムはさらに A)ローカルな場所で生成されたデータ変更要求を受信するツールと、 B)前記ツールとは別に前記データの前記複数コピーの前記ローカルコピーを
制御するためと前記データ・モデルにしたがって前記ローカルコピーに変更を行
なうためのエンジンと、 C)前記ローカルな場所で生成されたデータ変更要求及びリモートな場所で生
成されたデータ変更要求に応じて前記変更を行なう際に前記エンジンを制御する
ためのダイナミクス・マネージャと を含むことを特徴とする請求項13に記載のコンピュータ・システム。 - 【請求項19】 ネットワークを介してネットワーク接続可能なデバイス間
でデルタを含むデータ変更要求を通信できるようなものであって、アクティビテ
ィに基づくコラボレーション・システムのための通信サービスを提供するフレー
ムワーク装置であって、前記フレームワーク装置はネットワーク接続可能なロー
カル・デバイスで動作しローカルな場所で生成したデルタをネットワークを介し
て少なくとも一つのネットワーク接続可能なリモート・デバイスへ送信するため
とリモートな場所で生成されたデルタを少なくとも一つのネットワーク接続可能
なリモート・デバイスから受信するための通信マネージャを含み、前記通信マネ
ージャは前記ネットワーク接続可能なリモート・デバイスが前記ネットワークに
接続されていることを示すネットワーク接続状態情報に応じて前記ネットワーク
接続可能なリモート・デバイスのアドレスへ直接前記ローカルな場所で生成され
たデルタを送信し、前記ネットワーク接続可能なリモート・デバイスが前記ネッ
トワークから切断されていることを示すネットワーク接続状態情報に応じてリレ
ーのアドレスへ前記ローカルな場所で生成されたデルタを送信することを特徴と
する装置。 - 【請求項20】 前記通信マネージャはプレゼンス機構から前記ネットワー
クを介して前記ネットワーク接続状態情報を受信することを特徴とする請求項1
9に記載のフレームワーク装置。 - 【請求項21】 コンピュータで読み取り可能な媒体をさらに含み、前記通
信マネージャは前記媒体上に格納されたコンピュータで読み取り可能なプログラ
ム・コードを含むことを特徴とする請求項19に記載のフレームワーク装置。 - 【請求項22】 前記リレーと組み合わされており、前記リレーは前記ネッ
トワーク接続可能なリモート・デバイスが前記ネットワークに再接続されたこと
を前記リレーに通知されるまでデルタを保存するためのメモリと、前記再接続さ
れたネットワーク接続可能なリモート・デバイスへ前記デルタを送信するトラン
スミッタを含むことを特徴とする請求項19に記載のフレームワーク装置。 - 【請求項23】 前記通信マネージャは前記ネットワーク接続可能なローカ
ル・デバイスが前記ネットワークに接続されているかどうか、したがってネット
ワーク接続可能なリモート・デバイスからデルタを受信可能かどうかを示すネッ
トワーク接続状態情報を前記プレゼンス・サーバへ送信するための手段を含むこ
とを特徴とする請求項19に記載のフレームワーク装置。 - 【請求項24】 前記ローカルな場所で生成されたデルタと前記リモートな
場所で生成されたデルタに呼応して前記ネットワーク接続可能なローカル・デバ
イスに含まれるデータ変更エンジンを制御し前記ローカルな場所で生成されたデ
ルタとリモートな場所で生成されたデルタで指示された通りに格納データへ変更
を行なうためのダイナミクス・マネージャをさらに含むことを特徴とする請求項
19に記載のフレームワーク装置。 - 【請求項25】 コンピュータで読み取り可能な媒体をさらに含み、前記通
信マネージャと前記ダイナミクス・マネージャは各々前記媒体上に格納されたコ
ンピュータで読み取り可能なプログラム・コードを含むことを特徴とする請求項
19に記載のフレームワーク装置。 - 【請求項26】 ネットワークを介してネットワーク接続可能なデバイス間
でデルタを含むデータ変更要求を通信できるようなものであって、アクティビテ
ィに基づくコラボレーション・システムのための通信サービスを提供する方法で
あって、前記方法は、 A)ネットワーク接続可能なローカル・デバイスからネットワークを介して少
なくとも一つのネットワーク接続可能なリモート・デバイスへローカルな場所で
生成されたデルタを送信し前記少なくとも一つのネットワーク接続可能なリモー
ト・デバイスからリモートな場所で生成されたデルタを受信するステップと、 B)前記ネットワーク接続可能なリモート・デバイスが前記ネットワークに接
続されていることを示すネットワーク接続状態情報に応じて、前記ネットワーク
接続可能なリモート・デバイスのアドレスへ直接前記ローカルな場所で生成され
たデルタを送信するステップと、 C)前記ネットワーク接続可能なリモート・デバイスが前記ネットワークから
切断されていることを示すネットワーク接続状態情報に応じて、リレーのアドレ
スへ前記ローカルな場所で生成されたデルタを送信するステップと、 を含むことを特徴とする方法。 - 【請求項27】 前記ネットワーク接続状態情報はオンライン/オフライン
状態情報を含み、前記方法はさらにプレゼンス機構から前記ネットワークを介し
て前記オンライン/オフライン状態情報を受信するステップを含むことを特徴と
する請求項26に記載の方法。 - 【請求項28】 プレゼンス機構が前記オンライン/オフライン状態情報を
維持しまた前記ネットワークを介して配布し、前記プレゼンス機構は前記ネット
ワーク接続可能なデバイスの各々についてのオンライン/オフライン状態情報を
前記ネットワーク接続可能なデバイスの各々からのオンライン/オフライン通知
によって取得するステップをさらに含むことを特徴とする請求項27に記載の方
法。 - 【請求項29】 前記リレーは前記ネットワーク接続可能なリモート・デバ
イスが前記ネットワークに再接続されたことを前記リレーに通知されるまで前記
デルタを保存しておき前記リレーが前記再接続されたネットワーク接続可能なリ
モート・デバイスへ前記デルタを送信するステップをさらに含むことを特徴とす
る請求項27に記載の方法。 - 【請求項30】 前記ネットワーク接続可能なローカル・デバイスは前記ネ
ットワーク接続可能なローカル・デバイスが前記ネットワークに接続されている
かどうか、したがってネットワーク接続可能なリモート・デバイスからのデルタ
受信が可能かどうかを示すオンライン/オフライン状態通知を前記プレゼンス・
サーバへ送信するステップをさらに含むことを特徴とする請求項26に記載の方
法。 - 【請求項31】 前記ネットワーク接続可能なローカル・デバイスに含まれ
る通信マネージャは前記ネットワーク状態情報に含まれ前記通信マネージャで保
持される接続性情報から前記少なくとも一つのネットワーク接続可能なリモート
・デバイスの接続性を判定するステップをさらに含むことを特徴とする請求項2
6に記載の方法。 - 【請求項32】 プレゼンス機構で前記少なくとも一つのネットワーク接続
可能なリモート・デバイスについてのオンライン/オフライン状態情報を保持し
、前記オンライン/オフライン状態情報は前記ネットワーク接続状態情報に含ま
れるステップをさらに含むことを特徴とする請求項31に記載の方法。 - 【請求項33】 前記デルタを前記少なくとも一つのネットワーク接続可能
なリモート・デバイスへ送信できるようになるまで前記ネットワーク接続可能な
ローカル・デバイスに前記ローカルな場所で生成されたデルタを永続的に保存す
るステップをさらに含むことを特徴とする請求項26に記載の方法。 - 【請求項34】 前記送信ステップは複数のネットワーク接続可能なリモー
ト・デバイスへ前記ローカルな場所で生成されたデルタを送信し、前記送信ステ
ップは前記ローカルな場所で生成されたデルタを前記ネットワーク接続可能なリ
モート・デバイスへマルチキャスト送信するステップを含むことを特徴とする請
求項26に記載の方法。 - 【請求項35】 前記少なくとも一つのネットワーク接続可能なリモート・
デバイスから確認メッセージが受信されない場合には、最大試行回数までの間前
記送信ステップを反復するステップをさらに含むことを特徴とする請求項26に
記載の方法。 - 【請求項36】 前記デルタの各々に生存期間を関連付けておき、関連する
生存期間が経過したら前記デルタの各々を破棄するステップをさらに含むことを
特徴とする請求項35に記載の方法。 - 【請求項37】 前記送信ステップは前記ネットワーク接続可能なローカル
・デバイスに格納されたアイデンティティ情報に応じて前記少なくとも一つのネ
ットワーク接続可能なリモート・デバイスへ前記メッセージを配送するステップ
を含むことを特徴とする請求項26に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/357,007 US6640241B1 (en) | 1999-07-19 | 1999-07-19 | Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager |
US09/357,007 | 1999-07-19 | ||
PCT/US2000/017785 WO2001006365A2 (en) | 1999-07-19 | 2000-06-28 | Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003536123A true JP2003536123A (ja) | 2003-12-02 |
JP2003536123A5 JP2003536123A5 (ja) | 2007-09-06 |
JP4564697B2 JP4564697B2 (ja) | 2010-10-20 |
Family
ID=23403912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001511555A Expired - Fee Related JP4564697B2 (ja) | 1999-07-19 | 2000-06-28 | 通信マネージャを備えたコンピュータ・システムによるアクティビティに基づいたコラボレーションのための方法及びその装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6640241B1 (ja) |
EP (1) | EP1328882B1 (ja) |
JP (1) | JP4564697B2 (ja) |
KR (1) | KR100722916B1 (ja) |
AT (1) | ATE393433T1 (ja) |
CA (1) | CA2380148C (ja) |
DE (1) | DE60038705T2 (ja) |
IL (2) | IL147704A0 (ja) |
WO (1) | WO2001006365A2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008505580A (ja) * | 2004-06-29 | 2008-02-21 | ダマカ、インク. | ピアツーピアハイブリッド通信のためのシステムおよび方法 |
JP2010525488A (ja) * | 2007-04-26 | 2010-07-22 | マイクロソフト コーポレーション | モデル化アプリケーションの分散動作制御実行 |
JP2011076603A (ja) * | 2009-09-30 | 2011-04-14 | Internatl Business Mach Corp <Ibm> | 断続的接続環境におけるリアル・タイム・アプリケーションの性能を改善するための装置、システム、及び方法 |
JP2012178062A (ja) * | 2011-02-25 | 2012-09-13 | Nintendo Co Ltd | 通信システム、情報処理装置、プログラム及び情報処理方法 |
Families Citing this family (175)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1222549B1 (en) * | 1999-09-28 | 2013-04-03 | Microsoft Corporation | Information flow management in real time |
US7636752B2 (en) * | 1999-09-28 | 2009-12-22 | Parlano, Inc. | System and method for managing information and collaborating |
JP2001154964A (ja) * | 1999-12-01 | 2001-06-08 | Fujitsu Ltd | データ資源を配付する方法 |
US7917628B2 (en) * | 1999-12-02 | 2011-03-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
WO2001040887A1 (en) | 1999-12-02 | 2001-06-07 | Senvid, Inc. | Method, system and service model for remote recording of television programs |
US7120692B2 (en) | 1999-12-02 | 2006-10-10 | Senvid, Inc. | Access and control system for network-enabled devices |
US7934251B2 (en) | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US8793374B2 (en) | 1999-12-02 | 2014-07-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US9191443B2 (en) * | 1999-12-02 | 2015-11-17 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US8688797B2 (en) * | 1999-12-02 | 2014-04-01 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
KR100317303B1 (ko) * | 2000-01-10 | 2001-12-22 | 구자홍 | 방송 프로그램 녹화 및 재생시 a/v와 데이터간 동기화장치 |
JP3490369B2 (ja) * | 2000-02-15 | 2004-01-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンテンツ情報の取得方法、コラボレーション・システム及びコラボレーション・サーバー |
CA2400438A1 (en) * | 2000-02-16 | 2001-08-23 | Bea Systems, Inc. | Open market collaboration system for enterprise wide electronic commerce |
JP2001242915A (ja) * | 2000-03-01 | 2001-09-07 | Yaskawa Electric Corp | プログラマブルコントローラのメッセージ通信方法 |
US7225243B1 (en) * | 2000-03-14 | 2007-05-29 | Adaptec, Inc. | Device discovery methods and systems implementing the same |
US6981019B1 (en) * | 2000-05-02 | 2005-12-27 | International Business Machines Corporation | System and method for a computer based cooperative work system |
US7546337B1 (en) | 2000-05-18 | 2009-06-09 | Aol Llc, A Delaware Limited Liability Company | Transferring files |
US6941510B1 (en) * | 2000-06-06 | 2005-09-06 | Groove Networks, Inc. | Method and apparatus for efficient management of XML documents |
US7366779B1 (en) | 2000-06-19 | 2008-04-29 | Aol Llc, A Delaware Limited Liability Company | Direct file transfer between subscribers of a communications system |
BR0017285A (pt) * | 2000-07-13 | 2003-06-24 | Nokia Corp | Sistema de comunicação, método a ser efetuado em um sistema de comunicação, e, elemento de rede para um sistema de comunicação |
EP1189161A1 (en) * | 2000-09-13 | 2002-03-20 | iMediation, S.A. | A method and system for managing network-based partner relationships |
US7562147B1 (en) * | 2000-10-02 | 2009-07-14 | Microsoft Corporation | Bi-directional HTTP-based reliable messaging protocol and system utilizing same |
GB2368411B (en) | 2000-10-25 | 2004-01-28 | Proksim Software Inc | Sharing data over a network |
US7814198B2 (en) * | 2007-10-26 | 2010-10-12 | Microsoft Corporation | Model-driven, repository-based application monitoring system |
US6944866B1 (en) * | 2000-11-16 | 2005-09-13 | International Business Machines Corporation | System and method for coordinating operator efforts using action diaries |
GB0028474D0 (en) * | 2000-11-22 | 2001-01-10 | Raekanet Ltd | Improved computer network architecture and associated method and system |
US7594030B2 (en) * | 2000-11-22 | 2009-09-22 | Microsoft Corporation | Locator and tracking service for peer to peer resources |
US8255791B2 (en) | 2000-11-29 | 2012-08-28 | Dov Koren | Collaborative, flexible, interactive real-time displays |
US7222291B2 (en) * | 2000-12-29 | 2007-05-22 | International Business Machines Corporation | Method and system for importing HTML forms |
US20020143869A1 (en) * | 2001-01-03 | 2002-10-03 | Hal Cohen | Method and apparatus for making random introductions electronically |
WO2002063832A1 (en) * | 2001-02-05 | 2002-08-15 | Personity, Inc. | A system and method for filtering unavailable devices in a presence and availability management system |
US7647373B2 (en) * | 2001-03-13 | 2010-01-12 | Eplus Capital, Inc. | System and process for network collaboration through embedded annotation and rendering instructions |
FR2824211B1 (fr) * | 2001-04-27 | 2003-06-27 | Radio Electronique Aides Tech | Systeme et procede de communication entre stations traitant des dossiers communs |
US20020169893A1 (en) * | 2001-05-09 | 2002-11-14 | Li-Han Chen | System and method for computer data synchronization |
US7054901B2 (en) * | 2001-05-31 | 2006-05-30 | Juniper Networks, Inc. | Network management interface with selective rendering of output |
US7072946B2 (en) * | 2001-05-31 | 2006-07-04 | Juniper Networks, Inc. | Network router management interface with API invoked via login stream |
AU2002314902A1 (en) * | 2001-06-02 | 2002-12-16 | Polycom, Inc. | System and method for point to point integration of personal computers with videoconferencing systems |
US20020188682A1 (en) * | 2001-06-08 | 2002-12-12 | Manlsh Jaln | Method and system for manufacturing supply chain collaboration |
JP4446368B2 (ja) * | 2001-09-14 | 2010-04-07 | 富士通株式会社 | コラボレーション方法、システム、プログラム及び記録媒体 |
US7111206B1 (en) | 2001-09-19 | 2006-09-19 | Juniper Networks, Inc. | Diagnosis of network fault conditions |
US7441018B1 (en) | 2001-09-19 | 2008-10-21 | Juniper Networks, Inc. | Identification of applied configuration information |
US7007085B1 (en) * | 2001-09-28 | 2006-02-28 | Bellsouth Intellectual Property Corporation | Message log for wireline, voice mail, email, fax, pager, instant messages and chat |
US7472187B2 (en) | 2001-09-28 | 2008-12-30 | At&T Intellectual Property I, L.P. | Communications and information resource manager |
US7313617B2 (en) | 2001-09-28 | 2007-12-25 | Dale Malik | Methods and systems for a communications and information resource manager |
US20030097410A1 (en) * | 2001-10-04 | 2003-05-22 | Atkins R. Travis | Methodology for enabling multi-party collaboration across a data network |
WO2003032576A1 (en) * | 2001-10-09 | 2003-04-17 | Koninklijke Philips Electronics N.V. | Service information multicasting method and system |
JP2005505840A (ja) * | 2001-10-10 | 2005-02-24 | ホットエスイーペー アクティエボラーグ | ユーザにプレゼンスサービスを提供する方法及びシステム |
US8644475B1 (en) | 2001-10-16 | 2014-02-04 | Rockstar Consortium Us Lp | Telephony usage derived presence information |
US7546359B2 (en) * | 2001-10-24 | 2009-06-09 | Groove Networks, Inc. | Method and apparatus for managing a peer-to-peer collaboration system |
US7139809B2 (en) | 2001-11-21 | 2006-11-21 | Clearcube Technology, Inc. | System and method for providing virtual network attached storage using excess distributed storage capacity |
US20030110228A1 (en) * | 2001-12-12 | 2003-06-12 | Ziqiang Xu | Method and apparatus for monitoring activity and presence to optimize collaborative issue resolution |
US7027460B2 (en) * | 2001-12-21 | 2006-04-11 | Intel Corporation | Method and system for customized television viewing using a peer-to-peer network |
US7299286B2 (en) | 2001-12-27 | 2007-11-20 | Nortel Networks Limited | Personal user agent |
WO2003067361A2 (en) * | 2002-02-05 | 2003-08-14 | Eutech Cybernetics Pte Ltd. | Remote application publication and communication system |
US20030149728A1 (en) * | 2002-02-05 | 2003-08-07 | Bandu Wewalaarachchi | Remote application publication and communication system |
US7206388B2 (en) * | 2002-03-18 | 2007-04-17 | Openwave Systems Inc. | System and method for providing voice-activated presence information |
US7227937B1 (en) | 2002-03-19 | 2007-06-05 | Nortel Networks Limited | Monitoring natural interaction for presence detection |
WO2003083626A1 (en) * | 2002-03-28 | 2003-10-09 | British Telecommunications Public Limited Company | Method and apparatus for network security |
JP4315696B2 (ja) * | 2002-03-29 | 2009-08-19 | 富士通株式会社 | ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法 |
WO2003096669A2 (en) | 2002-05-10 | 2003-11-20 | Reisman Richard R | Method and apparatus for browsing using multiple coordinated device |
US7139798B2 (en) * | 2002-05-17 | 2006-11-21 | Groove Networks, Inc. | Method and apparatus for connecting a secure peer-to-peer collaboration system to an external system |
US7480697B2 (en) * | 2002-05-28 | 2009-01-20 | International Business Machines Corporation | Method and apparatus using attached hardware subsystem to communicate between attached hosts |
FI114773B (fi) * | 2002-06-20 | 2004-12-15 | Nokia Corp | Menetelmä ja laite aktiviteettipohjaisen läsnäolotiedon välittämiseksi |
US7421736B2 (en) * | 2002-07-02 | 2008-09-02 | Lucent Technologies Inc. | Method and apparatus for enabling peer-to-peer virtual private network (P2P-VPN) services in VPN-enabled network |
US7386546B1 (en) | 2002-07-09 | 2008-06-10 | Network Appliance, Inc. | Metadirectory namespace and method for use of the same |
US8224985B2 (en) | 2005-10-04 | 2012-07-17 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
US8060626B2 (en) | 2008-09-22 | 2011-11-15 | Sony Computer Entertainment America Llc. | Method for host selection based on discovered NAT type |
WO2004025466A2 (en) * | 2002-09-16 | 2004-03-25 | Clearcube Technology, Inc. | Distributed computing infrastructure |
US8392609B2 (en) | 2002-09-17 | 2013-03-05 | Apple Inc. | Proximity detection for media proxies |
US7225226B2 (en) | 2002-09-27 | 2007-05-29 | International Business Machines Corporation | Chat messaging channel redirection |
US7555108B2 (en) * | 2002-10-01 | 2009-06-30 | Nortel Networks Limited | Presence information for telephony users |
US20040066770A1 (en) * | 2002-10-07 | 2004-04-08 | Pabla Kuldip Singh | Method for communicating with a resource-constrained device on an edge of a network |
US7640267B2 (en) * | 2002-11-20 | 2009-12-29 | Radar Networks, Inc. | Methods and systems for managing entities in a computing device using semantic objects |
US7707310B2 (en) * | 2002-11-20 | 2010-04-27 | Cisco Technology, Inc. | Mobile IP registration supporting port identification |
US20040107242A1 (en) * | 2002-12-02 | 2004-06-03 | Microsoft Corporation | Peer-to-peer content broadcast transfer mechanism |
US9357256B2 (en) * | 2002-12-11 | 2016-05-31 | Broadcom Corporation | Third party media channel access in a media exchange network |
US7613773B2 (en) * | 2002-12-31 | 2009-11-03 | Rensselaer Polytechnic Institute | Asynchronous network audio/visual collaboration system |
US7711810B2 (en) | 2003-01-03 | 2010-05-04 | Nortel Networks Limited | Distributed services based on presence technology |
WO2004072805A2 (en) * | 2003-02-10 | 2004-08-26 | Raindance Communications Inc. | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
US20040237045A1 (en) * | 2003-05-21 | 2004-11-25 | Eintelligence, Inc. | Method for asynchronous sharing of integrated spreadsheets using a network |
US7603464B2 (en) * | 2003-06-04 | 2009-10-13 | Sony Computer Entertainment Inc. | Method and system for identifying available resources in a peer-to-peer network |
US7370089B2 (en) * | 2003-07-11 | 2008-05-06 | International Business Machines Corporation | Autonomic learning method to load balance output transfers of two peer nodes |
US7734690B2 (en) * | 2003-09-05 | 2010-06-08 | Microsoft Corporation | Method and apparatus for providing attributes of a collaboration system in an operating system folder-based file system |
US7792988B2 (en) * | 2003-10-20 | 2010-09-07 | Sony Computer Entertainment America, LLC | Peer-to-peer data relay |
US7392422B2 (en) * | 2003-10-20 | 2008-06-24 | Sony Computer Entertainment America Inc., | Violations in a peer-to-peer relay network |
US8495202B2 (en) * | 2003-10-24 | 2013-07-23 | Brother Kogyo Kabushiki Kaisha | Imaging device information management system |
US9118574B1 (en) | 2003-11-26 | 2015-08-25 | RPX Clearinghouse, LLC | Presence reporting using wireless messaging |
US7562143B2 (en) * | 2004-01-13 | 2009-07-14 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
US7406691B2 (en) | 2004-01-13 | 2008-07-29 | International Business Machines Corporation | Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment |
US7552437B2 (en) * | 2004-01-14 | 2009-06-23 | International Business Machines Corporation | Maintaining application operations within a suboptimal grid environment |
EP1560137A1 (en) * | 2004-01-30 | 2005-08-03 | Sap Ag | Technique for reliable message confirmation |
KR101042745B1 (ko) * | 2004-01-30 | 2011-06-20 | 삼성전자주식회사 | 클라이언트 단말장치와 서버 사이의 세션 재설정을 위한시스템 및 방법 |
US20050198193A1 (en) * | 2004-02-12 | 2005-09-08 | Jaakko Halme | System, method, and apparatus for creating metadata enhanced media files from broadcast media |
US7197502B2 (en) * | 2004-02-18 | 2007-03-27 | Friendly Polynomials, Inc. | Machine-implemented activity management system using asynchronously shared activity data objects and journal data items |
SE527871C2 (sv) | 2004-03-09 | 2006-06-27 | Ericsson Telefon Ab L M | Metod och system för hantering av webbtjänster |
US8229454B1 (en) | 2004-03-22 | 2012-07-24 | Avaya Inc. | Personal location information management |
US7895020B2 (en) * | 2004-04-01 | 2011-02-22 | General Dynamics Advanced Information Systems, Inc. | System and method for multi-perspective collaborative modeling |
US7580867B2 (en) | 2004-05-04 | 2009-08-25 | Paul Nykamp | Methods for interactively displaying product information and for collaborative product design |
US8171387B2 (en) * | 2004-05-13 | 2012-05-01 | Boardwalk Collaboration, Inc. | Method of and system for collaboration web-based publishing |
US20050262075A1 (en) | 2004-05-21 | 2005-11-24 | Bea Systems, Inc. | Systems and methods for collaboration shared state management |
US20060010205A1 (en) * | 2004-05-21 | 2006-01-12 | Bea Systems, Inc. | Systems and methods for collaboration impersonation |
US20060010125A1 (en) * | 2004-05-21 | 2006-01-12 | Bea Systems, Inc. | Systems and methods for collaborative shared workspaces |
US7266547B2 (en) | 2004-06-10 | 2007-09-04 | International Business Machines Corporation | Query meaning determination through a grid service |
WO2006004717A2 (en) * | 2004-06-30 | 2006-01-12 | Jumpstart Wireless Corporation | System and method for extending business systems to a mobile workforce |
US7730030B1 (en) | 2004-08-15 | 2010-06-01 | Yongyong Xu | Resource based virtual communities |
US7925698B2 (en) * | 2004-08-18 | 2011-04-12 | Siemens Enterprise Communications, Inc. | Apparatus and method for a synchronized mobile communication client |
US7899863B2 (en) * | 2004-08-18 | 2011-03-01 | Siemens Enterprise Communications, Inc. | Apparatus and method for enhanced synchronization using an IMS server |
US7600006B2 (en) * | 2004-08-31 | 2009-10-06 | Inter-Tel, Inc | Peer-to-peer distribution of firmware |
FR2875361B1 (fr) * | 2004-09-16 | 2007-01-12 | Christian Garnier | Systeme de communication en temps reel |
US7571224B2 (en) * | 2004-10-29 | 2009-08-04 | International Business Machines Corporation | Method for using presence in a system management environment |
US7558862B1 (en) * | 2004-12-09 | 2009-07-07 | LogMeln, Inc. | Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer |
IL165817A0 (en) * | 2004-12-16 | 2006-01-15 | Samsung Electronics U K Ltd | Electronic music on hand portable and communication enabled devices |
US7590623B2 (en) * | 2005-01-06 | 2009-09-15 | International Business Machines Corporation | Automated management of software images for efficient resource node building within a grid environment |
US7562035B2 (en) | 2005-01-12 | 2009-07-14 | International Business Machines Corporation | Automating responses by grid providers to bid requests indicating criteria for a grid job |
US7571120B2 (en) | 2005-01-12 | 2009-08-04 | International Business Machines Corporation | Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms |
US9176955B2 (en) | 2005-03-09 | 2015-11-03 | Vvond, Inc. | Method and apparatus for sharing media files among network nodes |
US8904463B2 (en) | 2005-03-09 | 2014-12-02 | Vudu, Inc. | Live video broadcasting on distributed networks |
US20080022343A1 (en) * | 2006-07-24 | 2008-01-24 | Vvond, Inc. | Multiple audio streams |
US8219635B2 (en) | 2005-03-09 | 2012-07-10 | Vudu, Inc. | Continuous data feeding in a distributed environment |
US20060265396A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US20060265395A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US20060265394A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US8099511B1 (en) * | 2005-06-11 | 2012-01-17 | Vudu, Inc. | Instantaneous media-on-demand |
US7707579B2 (en) | 2005-07-14 | 2010-04-27 | International Business Machines Corporation | Method and system for application profiling for purposes of defining resource requirements |
US8155623B2 (en) * | 2005-07-29 | 2012-04-10 | Nextel Communications Inc. | System and method for obtaining information from a wireless modem |
US20070239725A1 (en) * | 2006-03-28 | 2007-10-11 | Microsoft Corporation | Active cache offline access and management of project files |
US8296812B1 (en) | 2006-09-01 | 2012-10-23 | Vudu, Inc. | Streaming video using erasure encoding |
WO2008043182A1 (en) * | 2006-10-13 | 2008-04-17 | Ets (Ecole De Technologie Superieure) | System for supporting collaborative work |
US8051475B2 (en) * | 2006-11-01 | 2011-11-01 | The United States Of America As Represented By The Secretary Of The Air Force | Collaboration gateway |
US8160567B2 (en) * | 2007-05-08 | 2012-04-17 | Verizon Patent And Licensing Inc. | Inbound phone control |
US7995478B2 (en) | 2007-05-30 | 2011-08-09 | Sony Computer Entertainment Inc. | Network communication with path MTU size discovery |
US20090097815A1 (en) * | 2007-06-18 | 2009-04-16 | Lahr Nils B | System and method for distributed and parallel video editing, tagging, and indexing |
US8239505B2 (en) * | 2007-06-29 | 2012-08-07 | Microsoft Corporation | Progressively implementing declarative models in distributed systems |
US7970892B2 (en) | 2007-06-29 | 2011-06-28 | Microsoft Corporation | Tuning and optimizing distributed systems with declarative models |
US8230386B2 (en) * | 2007-08-23 | 2012-07-24 | Microsoft Corporation | Monitoring distributed applications |
US8225308B2 (en) | 2007-10-26 | 2012-07-17 | Microsoft Corporation | Managing software lifecycle |
US7926070B2 (en) * | 2007-10-26 | 2011-04-12 | Microsoft Corporation | Performing requested commands for model-based applications |
US8099720B2 (en) | 2007-10-26 | 2012-01-17 | Microsoft Corporation | Translating declarative models |
US8181151B2 (en) * | 2007-10-26 | 2012-05-15 | Microsoft Corporation | Modeling and managing heterogeneous applications |
US7974939B2 (en) | 2007-10-26 | 2011-07-05 | Microsoft Corporation | Processing model-based commands for distributed applications |
US20090138556A1 (en) * | 2007-11-27 | 2009-05-28 | Corry Kevin M | System and method for implementing quick response replies on a data processing system |
US7856501B2 (en) | 2007-12-04 | 2010-12-21 | Sony Computer Entertainment Inc. | Network traffic prioritization |
US7856506B2 (en) | 2008-03-05 | 2010-12-21 | Sony Computer Entertainment Inc. | Traversal of symmetric network address translator for multiple simultaneous connections |
US8230348B2 (en) * | 2008-04-28 | 2012-07-24 | Roger Peters | Collaboration software with real-time synchronization |
US20100031333A1 (en) * | 2008-07-22 | 2010-02-04 | Mitchell Mark T | Secure email |
US9391825B1 (en) | 2009-03-24 | 2016-07-12 | Amazon Technologies, Inc. | System and method for tracking service results |
US10628847B2 (en) | 2009-04-15 | 2020-04-21 | Fiver Llc | Search-enhanced semantic advertising |
US9432473B2 (en) * | 2010-02-17 | 2016-08-30 | Business Objects Software Ltd. | Online presence management for web sites |
US9734124B2 (en) * | 2010-03-04 | 2017-08-15 | International Business Machines Corporation | Direct linked two way forms |
US9682324B2 (en) | 2010-05-12 | 2017-06-20 | Activision Publishing, Inc. | System and method for enabling players to participate in asynchronous, competitive challenges |
WO2011149558A2 (en) | 2010-05-28 | 2011-12-01 | Abelow Daniel H | Reality alternate |
US9754585B2 (en) * | 2012-04-03 | 2017-09-05 | Microsoft Technology Licensing, Llc | Crowdsourced, grounded language for intent modeling in conversational interfaces |
US9161287B2 (en) * | 2012-10-16 | 2015-10-13 | Spectranetix, Inc. | Technique for efficient message delivery in Ad Hoc, mesh, wireless computer networks |
US9838476B2 (en) | 2014-03-26 | 2017-12-05 | Rockwell Automation Technologies, Inc. | On-premise data collection and ingestion using industrial cloud agents |
US10208947B2 (en) | 2014-03-26 | 2019-02-19 | Rockwell Automation Technologies, Inc. | Cloud-level analytics for boiler networks |
US9825949B2 (en) | 2014-03-26 | 2017-11-21 | Rockwell Automation Technologies, Inc. | Device authentication to facilitate secure cloud management of industrial data |
US9866635B2 (en) | 2014-03-26 | 2018-01-09 | Rockwell Automation Technologies, Inc. | Unified data ingestion adapter for migration of industrial data to a cloud platform |
US9614963B2 (en) | 2014-03-26 | 2017-04-04 | Rockwell Automation Technologies, Inc. | Cloud-based global alarm annunciation system for industrial systems |
US9971317B2 (en) | 2014-03-26 | 2018-05-15 | Rockwell Automation Technologies, Inc. | Cloud-level industrial controller loop gain tuning based on industrial application type |
US9886012B2 (en) | 2014-03-26 | 2018-02-06 | Rockwell Automation Technologies, Inc. | Component factory for human-machine interface migration to a cloud platform |
US10095202B2 (en) * | 2014-03-26 | 2018-10-09 | Rockwell Automation Technologies, Inc. | Multiple controllers configuration management interface for system connectivity |
US9843617B2 (en) | 2014-03-26 | 2017-12-12 | Rockwell Automation Technologies, Inc. | Cloud manifest configuration management system |
US9392057B2 (en) * | 2014-04-11 | 2016-07-12 | Qualcomm Incorporated | Selectively exchanging data between P2P-capable client devices via a server |
US9619012B2 (en) | 2014-05-30 | 2017-04-11 | Apple Inc. | Power level control using power assertion requests |
US9396089B2 (en) | 2014-05-30 | 2016-07-19 | Apple Inc. | Activity tracing diagnostic systems and methods |
US10430577B2 (en) | 2014-05-30 | 2019-10-01 | Apple Inc. | Method and apparatus for inter process privilige transfer |
FR3031258B1 (fr) * | 2014-12-31 | 2017-01-27 | Bull Sas | Methode de communication entre un gestionnaire d'action distant et un boitier de communication |
US9800659B2 (en) * | 2015-02-02 | 2017-10-24 | International Business Machines Corporation | Enterprise peer-to-peer storage and method of managing peer network storage |
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 |
US10764255B2 (en) | 2016-09-21 | 2020-09-01 | Rockwell Automation Technologies, Inc. | Secure command execution from a cloud monitoring system to a remote cloud agent |
US11327473B2 (en) | 2017-07-11 | 2022-05-10 | Rockwell Automation Technologies, Inc. | Dynamically reconfigurable data collection agent for fracking pump asset |
US10482063B2 (en) | 2017-08-14 | 2019-11-19 | Rockwell Automation Technologies, Inc. | Modular control manifest generator for cloud automation |
US10416660B2 (en) | 2017-08-31 | 2019-09-17 | Rockwell Automation Technologies, Inc. | Discrete manufacturing hybrid cloud solution architecture |
US10554701B1 (en) | 2018-04-09 | 2020-02-04 | Amazon Technologies, Inc. | Real-time call tracing in a service-oriented system |
US11410109B2 (en) * | 2018-11-01 | 2022-08-09 | Precog, LLC | Portable real-time experience communications device and monitoring system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03253147A (ja) * | 1990-03-02 | 1991-11-12 | Nippon Telegr & Teleph Corp <Ntt> | 複数経路の分散的設定方法 |
JPH08335965A (ja) * | 1995-06-09 | 1996-12-17 | Hitachi Ltd | 通信支援システムおよび通信支援方法、ならびに、情報蓄積装置および端末 |
JPH09163328A (ja) * | 1995-12-13 | 1997-06-20 | Ricoh Co Ltd | テレライティングシステム |
JPH10240651A (ja) * | 1997-02-28 | 1998-09-11 | Hitachi Ltd | 株式注文データの自動再送信方式 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
US5538255A (en) | 1992-02-18 | 1996-07-23 | Barker; Bruce J. | Remote controlled multiplayer video game |
JPH08509824A (ja) | 1993-02-26 | 1996-10-15 | タリジェント インコーポレイテッド | 共同作業システム |
GB2303946A (en) | 1995-07-29 | 1997-03-05 | Ibm | Data conferencing system |
US5822525A (en) * | 1996-05-22 | 1998-10-13 | Microsoft Corporation | Method and system for presentation conferencing |
US5862346A (en) * | 1996-06-28 | 1999-01-19 | Metadigm | Distributed group activity data network system and corresponding method |
US5892949A (en) | 1996-08-30 | 1999-04-06 | Schlumberger Technologies, Inc. | ATE test programming architecture |
US5899810A (en) | 1997-01-24 | 1999-05-04 | Kaon Interactive Corporation | Distributed game architecture to overcome system latency |
US5940082A (en) | 1997-02-14 | 1999-08-17 | Brinegar; David | System and method for distributed collaborative drawing |
GB2324175B (en) * | 1997-04-10 | 2002-07-31 | Ibm | Personal conferencing system |
US5861883A (en) * | 1997-05-13 | 1999-01-19 | International Business Machines Corp. | Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers |
US5966512A (en) * | 1997-06-05 | 1999-10-12 | International Business Machines Corporation | Groupware save operation |
US6233600B1 (en) * | 1997-07-15 | 2001-05-15 | Eroom Technology, Inc. | Method and system for providing a networked collaborative work environment |
US5987376A (en) * | 1997-07-16 | 1999-11-16 | Microsoft Corporation | System and method for the distribution and synchronization of data and state information between clients in a distributed processing system |
WO1999006925A1 (en) | 1997-07-31 | 1999-02-11 | Data Net Corporation | Method and apparatus for implementing software connectivity for client/server applications |
US6105055A (en) * | 1998-03-13 | 2000-08-15 | Siemens Corporate Research, Inc. | Method and apparatus for asynchronous multimedia collaboration |
US6342906B1 (en) * | 1999-02-02 | 2002-01-29 | International Business Machines Corporation | Annotation layer for synchronous collaboration |
US6353174B1 (en) * | 1999-12-10 | 2002-03-05 | Harmonix Music Systems, Inc. | Method and apparatus for facilitating group musical interaction over a network |
-
1999
- 1999-07-19 US US09/357,007 patent/US6640241B1/en not_active Expired - Lifetime
-
2000
- 2000-06-28 AT AT00944957T patent/ATE393433T1/de not_active IP Right Cessation
- 2000-06-28 WO PCT/US2000/017785 patent/WO2001006365A2/en active Application Filing
- 2000-06-28 EP EP00944957A patent/EP1328882B1/en not_active Expired - Lifetime
- 2000-06-28 CA CA002380148A patent/CA2380148C/en not_active Expired - Lifetime
- 2000-06-28 KR KR1020027000810A patent/KR100722916B1/ko active IP Right Grant
- 2000-06-28 JP JP2001511555A patent/JP4564697B2/ja not_active Expired - Fee Related
- 2000-06-28 DE DE60038705T patent/DE60038705T2/de not_active Expired - Lifetime
- 2000-06-28 IL IL14770400A patent/IL147704A0/xx active IP Right Grant
-
2002
- 2002-01-17 IL IL147704A patent/IL147704A/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03253147A (ja) * | 1990-03-02 | 1991-11-12 | Nippon Telegr & Teleph Corp <Ntt> | 複数経路の分散的設定方法 |
JPH08335965A (ja) * | 1995-06-09 | 1996-12-17 | Hitachi Ltd | 通信支援システムおよび通信支援方法、ならびに、情報蓄積装置および端末 |
JPH09163328A (ja) * | 1995-12-13 | 1997-06-20 | Ricoh Co Ltd | テレライティングシステム |
JPH10240651A (ja) * | 1997-02-28 | 1998-09-11 | Hitachi Ltd | 株式注文データの自動再送信方式 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008505580A (ja) * | 2004-06-29 | 2008-02-21 | ダマカ、インク. | ピアツーピアハイブリッド通信のためのシステムおよび方法 |
JP2010525488A (ja) * | 2007-04-26 | 2010-07-22 | マイクロソフト コーポレーション | モデル化アプリケーションの分散動作制御実行 |
JP2011076603A (ja) * | 2009-09-30 | 2011-04-14 | Internatl Business Mach Corp <Ibm> | 断続的接続環境におけるリアル・タイム・アプリケーションの性能を改善するための装置、システム、及び方法 |
JP2012178062A (ja) * | 2011-02-25 | 2012-09-13 | Nintendo Co Ltd | 通信システム、情報処理装置、プログラム及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1328882A2 (en) | 2003-07-23 |
CA2380148C (en) | 2009-12-01 |
DE60038705D1 (de) | 2008-06-05 |
IL147704A (en) | 2006-12-31 |
KR20020042805A (ko) | 2002-06-07 |
CA2380148A1 (en) | 2001-01-25 |
KR100722916B1 (ko) | 2007-05-30 |
WO2001006365A3 (en) | 2003-05-15 |
JP4564697B2 (ja) | 2010-10-20 |
WO2001006365A8 (en) | 2001-08-16 |
EP1328882B1 (en) | 2008-04-23 |
ATE393433T1 (de) | 2008-05-15 |
WO2001006365A2 (en) | 2001-01-25 |
IL147704A0 (en) | 2002-08-14 |
DE60038705T2 (de) | 2009-07-02 |
US6640241B1 (en) | 2003-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4564697B2 (ja) | 通信マネージャを備えたコンピュータ・システムによるアクティビティに基づいたコラボレーションのための方法及びその装置 | |
JP4762467B2 (ja) | ダイナミクス・マネージャを備えたコンピュータ・システムによるアクティビティに基づくコラボレーションのための方法及びその装置 | |
US6859821B1 (en) | Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration | |
JP4902671B2 (ja) | ターゲットデバイスにコンテンツを送信するための方策 | |
CA2486135C (en) | Providing supplemental contact information corresponding to a referenced individual | |
US9253129B2 (en) | Instant messaging with browser collaboration | |
US7945615B1 (en) | Distributed shared persistent objects | |
JP2000112883A (ja) | 情報処理方法、情報処理装置、情報処理プログラムを格納する記憶媒体 | |
JP4125553B2 (ja) | 電子メッセージ強化方法、電子メッセージ強化装置、応答装置、及び、電子メッセージ強化プログラム | |
Vinoski | RPC under fire | |
US20060095577A1 (en) | Method and apparatus for optimizing web services binding | |
JP2007149080A (ja) | コンテキスト・ベースのナビゲーション | |
JP2001282750A (ja) | 情報入手システム | |
JP2001290743A (ja) | 電子メール回覧システムおよび電子メール回覧方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070627 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100216 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100218 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100706 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100727 |
|
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: 20100802 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 3 |
|
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 |