JP2005202926A - 拡張可能リアルタイムコラボレーションシステムのアーキテクチャ - Google Patents

拡張可能リアルタイムコラボレーションシステムのアーキテクチャ Download PDF

Info

Publication number
JP2005202926A
JP2005202926A JP2004308917A JP2004308917A JP2005202926A JP 2005202926 A JP2005202926 A JP 2005202926A JP 2004308917 A JP2004308917 A JP 2004308917A JP 2004308917 A JP2004308917 A JP 2004308917A JP 2005202926 A JP2005202926 A JP 2005202926A
Authority
JP
Japan
Prior art keywords
real
endpoint
objects
component
time collaboration
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.)
Pending
Application number
JP2004308917A
Other languages
English (en)
Inventor
Adrian Potra
ポトラ エイドリアン
Krishnamurthy Ganesan
ガネサン クリシュナムルシー
Mu Han
ハン ム
Nikhil P Bobde
ピー.ボブデ ニキル
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005202926A publication Critical patent/JP2005202926A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】 拡張可能リアルタイムコラボレーションシステムを提供すること。
【解決手段】 アーキテクチャは、アクティビティオブジェクト、エンドポイントオブジェクト、複数のメディアスタックを有する。これらのオブジェクトは、メッセージの送信および受信に、Session Initiation ProtocolまたはReal−Time Transport Protocolなどの様々な通信プロトコルを使用することができる。アクティビティオブジェクト、エンドポイントオブジェクト、および複数のメディアスタックは、それぞれ、1つまたは複数のAPIを有し、アプリケーション開発者は、このAPIを使用して、コラボレーション関連機能性にアクセスするかこれを提供することができる。
【選択図】 図2

Description

本明細書に記載の技術は、全般的にはデータ通信に関し、具体的には、拡張可能リアルタイムコラボレーション(collaboration)システムのアーキテクチャに関する。
様々な通信アプリケーションおよび通信プロトコルによって、ソフトウェアプログラムまたはユーザの間の通信が可能になる。例として、MICROSOFT WINDOWS(登録商標)MESSENGERおよびVoIP(Voice over Internet Protocol)などのリアルタイム通信アプリケーションが、ユーザの間での通信を可能にし、ユーザが互いにテキスト、ビデオ、または音声データを送信できるようになる。これらのアプリケーションは、SIP(Session Initiation Protocol)、RTP(Real−Time Transport Protocol)、およびRTCP(Real−Time Control Protocol)などの様々なプロトコルを使用して、セッションを確立し、通信関連情報を送信することができる。SIPは、デバイスがお互いを発見し、デバイスの間のセッションを確立し、修正し、終了するのに使用することができるアプリケーションレイヤ制御プロトコルである。RTPは、インターネットを介してオーディオおよびビデオを配信するプロトコルであり、しばしば、RTCPおよびH.323などの他のプロトコルと共にストリーミングメディアシステムおよびビデオ会議システムで使用される。RTCPは、クライアントアプリケーションが、RTPを使用して送信または受信されるデータを監視し、制御できるようにするプロトコルであり、RTPと共に使用される。SIPおよびRTP/RTCPは、インターネットで提案された標準規格である。その仕様である「RFC 3261」および「RFC 3550」は、それぞれ、インターネットで、www.ietf.orgの/rfc/rfc3261.txtおよびwww.faqs.orgの/rfcs/rfc3550.htmlで入手できる。
アプリケーションは、さらに、他のプロトコルを使用することができる。アプリケーションは、上で示されたプロトコルの拡張された版を使用することができ、あるいは、特殊化されたデータを担持するように設計された完全に異なるプロトコルを使用することができる。一例として、ビデオ会議情報を担持する新しいまたは改善されたプロトコルが使用可能になる時に、アプリケーションを作成するか修正するアプリケーション開発者は、新しいまたは改善されたプロトコルを使用して、たとえば性能を改善するか追加の特徴を提供することを望む場合がある。新しいまたは改善されたプロトコルを使用するために、アプリケーション開発者は、アプリケーションのうちで通信プロトコルと相互作用する部分を修正する必要がある場合がある。というのは、プロトコルに対する改善または新しいプロトコルが、既に使用されているプロトコルと異なるインターフェースを有する場合があるからである。例として、あるプロトコルが、新しいセッションを作成するNewSessionインターフェースを有する場合があり、改善された版が、セッションを作成し、起動し、追加パラメータを受け入れるStartSessionメソッド(スタートセッションメソッド)を有する場合がある。StartSessionは、追加パラメータを受け入れるので、そのインターフェースは、NewSession(ニューセッション)と異なり、したがって、NewSessionを使用するアプリケーションは、StartSessionを使用するために修正が必要になる場合がある。プロトコルが異なるインターフェースを有する時に、アプリケーション開発者は、異なるインターフェースを習得し、プロトコルを使用するためにこのインターフェースを使用するようにアプリケーションを修正する必要がある場合がある。
アプリケーション開発者は、その開発者が開発するアプリケーションで使用される多数の通信プロトコルのそれぞれに精通する必要がある場合がある。例として、アプリケーション開発者が、SIPおよびRTP/RTCPを使用する時に、アプリケーション開発者は、プロトコルに関連するプログラムロジックを提供するために、3つのプロトコルのすべてに精通する必要がある場合がある。3つのプロトコルのすべてに精通してはいないアプリケーション開発者は、これらのプロトコルに精通するために追加の訓練および時間を必要とする場合がある。さらに、アプリケーションが、追加のまたは改善されたプロトコルと共に動作するように修正されなければならない時に、アプリケーション開発者は、プログラムロジックを改訂するか追加し、その結果、アプリケーションがこれらのプロトコルと共に機能できるようにする必要がある場合がある。これは、追加の開発出費および問題につながる可能性がある。
さらに、様々なプロトコルが、様々な複雑さを提示する。たとえば、アプリケーションにビデオ会議機能を設けるために、そのアプリケーションの開発者は、複数のプロトコルに精通し、ビデオ会議機能を追加するためにこれらのプロトコルを調整するロジックを提供しなければならない。テキストメッセージング、音声メッセージングなどの他のコラボレーション機能のアプリケーションへの追加は、他の類似する問題を提示する。
したがって、開発者トレーニングへの多くの投資なしでアプリケーションにコラボレーション機能を追加することを容易にする拡張可能リアルタイムコラボレーションシステムのアーキテクチャは、かなりの有用性を有する。
本発明の目的は、拡張可能リアルタイムコラボレーションシステムのアーキテクチャを提供することである。
このアーキテクチャは、通信プロトコルを使用するアプリケーションプログラムを記述する統一されたアプリケーションプログラムインターフェース(API)を表す。このアーキテクチャは、アクティビティオブジェクト、エンドポイントオブジェクト、および複数のメディアスタックを有する。これらのオブジェクトは、情報を含むメッセージの送信および受信に、セッションイニシエーションプロトコル(Session Initiation Protocol)またはリアルタイムトランスポートプロトコル(Real−Time Transport Protocol)などの様々な通信プロトコルを使用することができる。アクティビティオブジェクト、エンドポイントオブジェクト、および複数のメディアスタックは、それぞれ、1つまたは複数のAPIを有し、アプリケーション開発者は、このAPIを使用して、コラボレーション関連機能性にアクセスするかこれを提供することができる。これらのオブジェクトは、このAPIを、他のオブジェクトによって提供される基礎になる実装にマッピングする。アクティビティオブジェクトを使用することによって、開発者が、そうでなければ完全なコラボレーションサービスを提供するために必要になるものより少ないアプリケーションロジックを提供できるようになる。
一実施形態で、拡張可能リアルタイムコラボレーションシステムのアーキテクチャを提供する。このアーキテクチャは、通信プロトコルを使用してコラボレーションサービスを提供するアプリケーションプログラムを記述するための高水準アプリケーションプログラムインターフェース(API)を提供する。アプリケーション開発者は、コラボレーションサービスを実装する複数の基礎になるプロトコルに関連する複雑さを習得する必要なしに、APIを使用することによってアプリケーションにコラボレーションサービスを追加することができる。
このアーキテクチャには、アクティビティオブジェクト、エンドポイントオブジェクト、および複数のメディアスタックが含まれる。これらのオブジェクトは、SIPまたはRTP/RTCPなどの様々な通信プロトコルを使用して、メッセージを送信し、受信することができる。アクティビティオブジェクト、エンドポイントオブジェクト、および複数のメディアスタックは、それぞれ、1つまたは複数のAPIを有することができ、アプリケーション開発者は、このAPIを使用して、オブジェクトによって提供される機能性にアクセスするか、これを提供することができる。アプリケーション開発者は、エンドポイントオブジェクトおよびメディアスタックによって提供されるAPIを使用するアプリケーションロジックを提供することを選択することができ、あるいは、アクティビティオブジェクトによって提供されるAPIを使用するアプリケーションロジックを提供することを選択することができる。エンドポイントオブジェクトおよびメディアスタックによって提供されるAPIを使用することによって、アプリケーション開発者は、高い度合の柔軟性を行使できるようになる可能性があるが、アクティビティオブジェクトのAPIだけを使用する場合よりかなり多くのアプリケーションロジックを提供しなければならない場合がある。アプリケーション開発者は、複数の理由から、アクティビティオブジェクトのAPIの使用を選択することができる。アクティビティオブジェクトのAPIは、エンドポイントオブジェクトおよびメディアスタックのAPIより高水準のインターフェースを提供する。さらに、アクティビティオブジェクトは、エンドポイントオブジェクトおよびメディアスタックを調整し、したがって、アプリケーションロジックが、調整を実行するように提供される必要がない場合がある。
アクティビティオブジェクトは、アプリケーションおよび他のオブジェクトにサービスを提供する。アクティビティオブジェクトは、アプリケーションが様々な特定のアクティビティに参加できるようにするオブジェクトであり、アクティビティオブジェクトには、例として、インスタントメッセージング、テレカンファレンス、ビデオ会議、アプリケーション共有、および他のアクティビティを含めることができる。アクティビティオブジェクトは、エンドポイントオブジェクトおよびメディアスタックを含む基礎になるオブジェクトの機能性を提供する「ラッパー」(wrapper)オブジェクトと考えることができる。具体的に言うと、アクティビティオブジェクトは、エンドポイントオブジェクトおよびメディアスタックを調整して、アプリケーションなど、アクティビティオブジェクトを使用する他のオブジェクトにシームレスな統合されたセッションを提供する。
アクティビティオブジェクトを使用することの利益の例が、下記の例によって提供される。アプリケーション開発者は、アプリケーションでビデオ会議機能を提供することを望む場合がある。それを行うために、アプリケーション開発者は、まず、SIPなどのシグナリングプロトコルおよびRTP/RTCPなどのメディアプロトコルに精通しなければならない。次に、アプリケーション開発者は、セッションを作成し、その人とのビデオ会議が望まれる連絡先が現在オンラインであるかどうかを判定し、ビデオ会議に参加する勧誘を送信し、ビデオ会議に関連する様々なパラメータを折衝し、サウンドおよびオーディオのキャプチャリングハードウェアからオーディオおよびビデオをキャプチャし、最後にRTP/RTCPを使用してオーディオ/ビデオデータを交換するアプリケーションロジックを提供しなければならない可能性がある。対照的に、本アーキテクチャのビデオ会議アクティビティオブジェクトを使用することによって、これらのステップの多くが除去される。というのは、ビデオ会議アクティビティオブジェクトが、特にこのアプリケーションプログラムロジックを少数の高水準インターフェースに整理統合するように設計されているからである。本アーキテクチャは、様々な他のコラボレーションアクティビティに関する類似するアクティビティオブジェクトを有する。さらに、本アーキテクチャは、将来に追加のアクティビティオブジェクトを追加するためのサポートを提供する。
エンドポイントオブジェクトは、シグナリングなどの管理サービスを提供する。エンドポイントオブジェクトには、プロファイルコンポーネント、パブリッシュ/サブスクライブ(publishing/subscribing)コンポーネント、シグナリング(signaling)コンポーネント、およびプロトコルスタックコンポーネントが含まれる。プロファイルコンポーネントは、APIを介してユーザの抽象化(abstraction)を提供することができる。パブリッシュ/サブスクライブコンポーネントは、ユーザに関連するプレゼンス情報およびアベイラビリティ情報を追跡するインターフェースを提供する。シグナリングコンポーネントは、セッションの確立または制御に関係する頻繁でないトランザクショナルメッセージの提供または受取に使用することができる。シグナリングコンポーネントは、たとえば帯域幅制限などのメディアパラメータの折衝(negotiating)にも使用することができる。プロトコルスタックコンポーネントは、データの送信または受信、およびSIPを含む様々なプロトコルのサポートのために、プロファイルコンポーネント、パブリッシュ/サブスクライブコンポーネント、およびシグナリングコンポーネントによって使用される。
前に説明したように、アクティビティオブジェクトは、アプリケーション開発者がコラボレーションサービスをアプリケーションに簡単に追加する機能を提供する。例として、アプリケーションにビデオ会議を追加することを望むアプリケーション開発者は、ビデオ会議アクティビティオブジェクトを作成(または「インスタンス化」(instantiate))するロジックを提供することができる。次に、ビデオ会議アクティビティオブジェクトは、シグナリング用のエンドポイントオブジェクト(SIPエンドポイントオブジェクトなど)とオーディオ/ビデオデータを搬送するメッセージングメディアスタックをインスタンス化することができる。後続のビデオ会議アクティビティ中(たとえば、オーディオ/ビデオストリームを送信または受信する時)に、アクティビティオブジェクトは、それが作成またはインスタンス化したオブジェクトを調整(coordinate)することができる。一実施形態で、アプリケーションは、オブジェクトを作成でき、任意選択として、オブジェクトの表示をアクティビティオブジェクトに供給することができる。その場合に、アクティビティオブジェクトは、これらのオブジェクトを作成する必要がない。
メディアスタックオブジェクトは、オーディオ/ビデオデータストリームの処理など、コンテンツ通信サービスを提供する。例として、メディアスタックオブジェクトは、RTP/RTCPを使用して、ビデオ会議に関連するオーディオビジュアル情報を送信または受信することができる。
図面に移ると、図1は、一実施形態での拡張可能リアルタイムコラボレーションシステムのアーキテクチャのコンポーネントを示すブロック図である。拡張可能リアルタイムコラボレーションシステムのアーキテクチャに、コラボレーションサービスオブジェクト102、複数のエンドポイントオブジェクト104、アクティビティオブジェクト106、および複数のメディアスタック108が含まれる。1つまたは複数のアプリケーション110が、このアーキテクチャに関する様々なメソッド、プロパティ、およびイベントにアクセスすることによって、このアーキテクチャを使用することができる。アプリケーションを記述するアプリケーション開発者は、アプリケーションまたはアーキテクチャが使用できるメディアスタック、プロトコル、または他のコンポーネントに関する異なるAPIを習得し、実装する必要なしに、統一されたAPIを使用することによってこのアーキテクチャを使用することができる。
コラボレーションサービスオブジェクト102は、アプリケーションが複数のエンドポイントオブジェクトを共有する機能を提供し、複数のエンドポイントオブジェクトにまたがって一貫したAPIを提供することができる。例として、エンドポイントオブジェクト1が、情報の受信(または送信)に関するインターフェースを提供し、エンドポイントオブジェクト2が、同様に、情報の受信(または送信)に関するインターフェースを提供するが、2つのインターフェースが、異なる名前を使用し、同様の機能を実行する場合に、コラボレーションサービスオブジェクトは、両方のインターフェースに共通の名前を提供することができる。アプリケーション開発者は、アプリケーションでこの共通の名前を使用する時に、異なる名前を有するインターフェースを提供する新しいまたは修正されたオブジェクトがコラボレーションサービスオブジェクトと共に使用される時に、アプリケーションを改訂する必要がなくなる可能性がある。
エンドポイントオブジェクト104は、他のオブジェクトにシグナリングする機能を提供する。シグナリングを、1つのセッションを有する2つのエンドポイントオブジェクトの間で使用することができ、その結果、たとえば、あるエンドポイントオブジェクトが、アクティビティを行うかセッションに関する情報を交換するように他方のエンドポイントオブジェクトに勧誘または要求することができる。例として、エンドポイントオブジェクトは、セッションの他方のエンドポイントオブジェクトをインスタントメッセージング会話に勧誘することができ、その後、会話に関連するテキストメッセージを送信することができる。エンドポイントオブジェクトは、さらに、図2に関して下で詳細に説明する。
アクティビティオブジェクトは、アプリケーションが様々なコラボレーション関連アクティビティに参加できるようにするコンポーネントである。これらのコンポーネントは、アプリケーション設計者がエンドポイントオブジェクトおよびメディアスタックの調整に使用できるAPIを提供する。アクティビティオブジェクト106は、さらに、図3に関して下で詳細に説明する。
メディアスタックオブジェクト108は、データストリームの処理などのコンテンツ通信サービスを提供し、他のオブジェクトがデータを送信または受信するAPIを提供する。本アーキテクチャは、データまたはメディアタイプを区別する必要がないという事実のおかげで、事実上無限の数のメディアスタックをサポートすることができる。その結果、要件が変化する時に、新しいメディアスタックを追加でき、あるいは、メディアスタックを修正することができる。メディアスタックの例が、RTP/RTCPである。このメディアスタックは、オーディオビジュアル情報を送信するのに使用することができる。
図2は、一実施形態での拡張可能リアルタイムコラボレーションシステムのエンドポイントオブジェクトのコンポーネントを示すブロック図である。エンドポイントオブジェクトは、他のオブジェクトにシグナリングする機能など、管理サービスを提供する。シグナリングを、1つのセッションを有する2つのエンドポイントオブジェクトの間で使用することができ、その結果、たとえば、あるエンドポイントオブジェクトが、アクティビティを行うかセッションに関する情報を交換するように他方のエンドポイントオブジェクトに勧誘または要求することができる。例として、エンドポイントオブジェクトは、セッションの他方のエンドポイントオブジェクトをインスタントメッセージング会話に勧誘することができ、その後、会話に関連するテキストメッセージを送信することができる。
本アーキテクチャは、複数の様々なエンドポイントオブジェクトをサポートでき、各様々なエンドポイントオブジェクトを、複数回インスタンス化することができる。例として、ユーザの個人的なインターネットサービスプロバイダアカウント(たとえばMSN.COM)に関する1つのエンドポイントオブジェクトと、ユーザの会社のインターネットアカウント(たとえばMICROSOFT.COM)に関するもう1つのエンドポイントオブジェクトを設けることができる。ユーザは、複数のデバイス(たとえば、ハンドヘルドコンピューティングデバイスとデスクトップコンピューティングデバイス)でパーソナルアカウントを使用してサービスプロバイダにログインすることができ、一部のデバイス(たとえばデスクトップコンピューティングデバイス)で会社のアカウントを使用してログインすることもできる。したがって、個人アカウントに関連するURIに関連する2つのインスタンスがある場合がある。エンドポイントオブジェクトの個々のインスタンスは、URI(uniform resource locator)およびエンドポイント識別子(EID)の組合せによって一意に識別することができる。例として、エンドポイントオブジェクトを、URI user@MSN.COMおよびEID「1234」によって識別することができる。前に説明したように、EIDは、同一URIに関連するエンドポイントオブジェクトの別のインスタンスからエンドポイントオブジェクトのあるインスタンスを特に区別するのに使用することができる。
エンドポイントオブジェクトは、「データ」インターフェースおよび「シグナリング」インターフェースを提供することができる。データインターフェースには、エンドポイントオブジェクトによってパブリッシュまたはサブスクライブされるデータに関連するメソッド、イベント、およびプロパティを含めることができる。データをパブリッシュまたはサブスクライブすることによって、アプリケーションは、データを提供するか、データに対する変更について通知を受けることができる。シグナリングインターフェースは、エンドポイントオブジェクトのシグナリングの制御に関連するメソッド、イベント、およびプロパティを提供することができる。例として、シグナリング特性に、セッションの作成またはこれへの参加、会話への参加または離脱、勧誘の受け入れまたは拒否、および他のシグナルを含めることができる。
図示のエンドポイントオブジェクト200には、プロファイルコンポーネント201、パブリッシュおよびサブスクライブコンポーネント202、シグナリングコンポーネント204、およびプロトコルスタックコンポーネント206が含まれる。
プロファイルコンポーネントは、APIを介してユーザの抽象性を提供することができる。プロファイルコンポーネントは、電子アドレス(たとえばURI)、サービスプロバイダに関して使用される信任証(credentials)、サービスプロバイダの状況、機能、およびポリシなど、ユーザのサービス関連情報を維持する。ユーザは、異なるサービスプロバイダに関する複数のプロファイルを有することができる。ユーザは、サービスプロバイダごとに複数のプロファイルを有することもできる。プロファイルコンポーネントは、他のユーザとのセッションを作成して、たとえばユーザのURIを供給する時に使用することができる。プロファイルコンポーネントは、サービスプロバイダに関してユーザをログオンまたはログオフするメソッドを提供することができる。
パブリッシュ/サブスクライブコンポーネントは、ユーザに関するプレゼンス情報およびアベイラビリティ情報を追跡するインターフェースを提供する。プレゼンス情報は、ユーザが特定のコンピューティングデバイスの前にいるかどうかに関する。アベイラビリティ情報は、現在のユーザが、メッセージを受け取るために求めに応じられるかどうかまたはそうする意志があるかどうかに関する。例として、携帯電話のユーザは、携帯電話の電源を入れる時に存在する可能性があるが、ユーザが電話で話している時にはメッセージングセッションについて求めに応じられない可能性がある。同様に、MICROSOFT WINDOWS(登録商標)MESSENGERで「ビジー」表示をセットしたユーザは、存在するが、メッセージングに関して求めに応じることができない。
もう1つの例として、プレゼンスオブジェクトは、存在し、コンピューティングデバイスを使用してMICROSOFT WINDOWS(登録商標)MESSENGER会話への参加の求めに応じられ、携帯電話を使用してテレカンファレンスへの参加の求めにも応じられるユーザに関する情報を提供することができる。ユーザが、もはやMICROSOFT WINDOWS(登録商標)MESSENGERにログインしていない時に、プレゼンスオブジェクトは、この情報を更新することができ、その結果、プレゼンスオブジェクトを使用するアプリケーションが、ユーザがもはや存在せず、MICROSOFT WINDOWS(登録商標)MESSENGER会話への参加の求めに応じられないことを判定できる。したがって、プレゼンス情報は、ユーザまたは他のオブジェクトが存在するかどうかを示す。様々なサービスプロバイダまたプロトコルで、異なる機構を使用して、プレゼンス情報を作るか提供することができる。アプリケーション開発者が、プレゼンス情報を作るか提供するかの複数のやり方を意識する必要をなくすために、アプリケーション開発者は、エンドポイントオブジェクトを使用して、プレゼンス情報を作るか使用することができる。
パブリッシュ/サブスクライブコンポーネントは、別のオブジェクトのパブリケーションへのサブスクリプションを作成するサブスクライブインターフェース、サブスクリプションを他のオブジェクトに提供するパブリッシュインターフェース、およびそのパブリケーションがサブスクライブされているサービスに関連する通知を受信する通知インターフェースを提供する。これらのインターフェースによって、アプリケーションが、コンポーネントを使用してプレゼンス情報の提供、受信、または追跡を行えるようになる。例として、ユーザが、パーソナルコンピュータを使用してMICROSOFT WINDOWS(登録商標)MESSENGER会話に参加し、携帯電話を使用してテレカンファレンスに参加する時に、パブリッシュ/サブスクライブコンポーネントは、両方の場所でのユーザの存在を検出し、報告することができる。URIおよびEIDを一緒にして、エンドポイントオブジェクトのインスタンスを一意に識別することができる。ユーザは、複数の場所に同時に存在することができるので、ユーザのURIを、これらの複数の場所に存在するものとして示すことができる。所与のURIに関するEIDの追加によって、プレゼンスの特定のインスタンスを一意に識別する機構が提供される。
通知を、様々な情報に関して提供することができる。例として、通知を、ユーザがオンライン、ビジー、求めに応じられる、食事に出かけたなどのいずれであるかに関して提供することができる。通知は、ユーザの地理的位置(たとえば全世界測位システムまたは「GPS」によって提供される)、連絡先情報、カレンダ情報、不在メッセージ、オーディオ/ビデオ機能などに関して提供することもできる。
シグナリングコンポーネントは、セッションの確立または制御に関係する頻繁でないトランザクショナルメッセージの提供または受取に使用することができる。このコンポーネントは、たとえばフレーム毎秒などのメディアパラメータの折衝にも使用することができる。
プロトコルスタックオブジェクトは、プロトコルを使用して情報を送信し、受信する責任を負う。例として、SIPを使用して、シグナリング情報を送信または受信することができる。様々な実施形態で、他のプロトコルを同等に使用することができる。一実施形態で、エンドポイントオブジェクトを、複数のプロトコルと互換にすることができる。その場合に、エンドポイントオブジェクトは、情報の送信または受信に、必要に応じて、たとえば複数のプロトコルを、使用することができる。その代わりに、本アーキテクチャは、別々のエンドポイントオブジェクトとして複数のエンドポイントオブジェクトとプロトコルの組合せをサポートすることができる。その場合に、1つのエンドポイントオブジェクトをSIPに使用でき、別のエンドポイントオブジェクトを他のプロトコルに使用することができる。
図3は、一実施形態での拡張可能リアルタイムコラボレーションシステムのアクティビティオブジェクトを示すブロック図である。アクティビティオブジェクトは、アプリケーションおよび他のオブジェクトにサービスを提供する。アクティビティオブジェクトは、アプリケーションが様々な特定のアクティビティに参加できるようにするオブジェクトであり、アクティビティオブジェクトには、例として、インスタントメッセージング、テレカンファレンス、ビデオ会議、アプリケーション共有、および他のアクティビティを含めることができる。アクティビティオブジェクトは、エンドポイントオブジェクトおよびメディアスタックを含む基礎になるオブジェクトの機能性を提供する「ラッパー」オブジェクトと考えることができる。具体的に言うと、アクティビティオブジェクトは、エンドポイントオブジェクトおよびメディアスタックを調整して、アプリケーションなど、アクティビティオブジェクトを使用してオブジェクトにシームレスな統合されたセッションを提供する。
各アクティビティオブジェクトは、オブジェクトを使用するアプリケーションが様々なアクティビティに参加できるようにする機能性を提供する。例として、アクティビティオブジェクトは、シグナリング情報およびメディア情報をカプセル化することができる。それを行う際に、アクティビティオブジェクトは、シグナリングとメディアの間のブリッジとして働き、その結果、アクティビティオブジェクトを使用するアプリケーションに、統合されたビューが与えられる。たとえば、アプリケーション開発者は、別々のSIPおよびRTP/RTCPの接続およびセッションをセットアップする必要があるのではなく、単にビデオ会議を要求する。アクティビティの図示の例を、下で説明する。
コラボレーションセッションアクティビティオブジェクト304は、アプリケーションが、アプリケーションのユーザにコラボレーションサービスを提供できるようにする。例として、コラボレーションセッションアクティビティオブジェクトは、2つの異なるコンピュータを使用する2人のユーザが、共有文書を作成することによってコラボレートできるようにすることができる。
アプリケーション共有アクティビティオブジェクト310は、アプリケーション共有アクティビティオブジェクトを使用するアプリケーションが、異なるコンピューティングデバイスを使用するユーザの間のアプリケーション共有に関連する機能性を提供できるようにする。例として、2人のユーザが、「ホワイトボード」アプリケーションを共有でき、たとえば、これを使用して、一方のユーザが、他方のユーザが見、操作できるビジュアル情報を提供することができる。
メッセージングアクティビティオブジェクト306は、アプリケーションがそのアプリケーションのユーザにメッセージング機能性を提供する能力を提供する。例として、アプリケーション開発者が、その開発者が作成しつつあるアプリケーション内でメッセージングを使用可能にすることを求める場合がある。具体的な例として、2人のユーザが、同時に文書を編集することによって1つの文書に対してコラボレーションしている時に、ユーザが、互いにテキストメッセージを送信できることまたはコラボレーション中にビデオ会議に参加できることを求める場合がある。そのような場合に、アプリケーション開発者は、コラボレーションセッションアクティビティオブジェクトならびにメッセージングアクティビティオブジェクトまたはビデオ会議アクティビティオブジェクトを使用して、ユーザが、コラボレートでき、コラボレート中に互いにメッセージを交換できるようにすることができる。
ビデオ会議アクティビティオブジェクト308は、ビデオ会議機能をアプリケーションに提供する。ビデオ会議に、オーディオビジュアル情報の送信および受信を含めることができる。
追加のアクティビティオブジェクトも企図されており、これらは、アクティビティオブジェクト312として表されている。
アプリケーション開発者は、オブジェクトによって提供されるAPIを使用することによって、上で説明したアーキテクチャのオブジェクト(およびリストされないか説明されなかったオブジェクト)を使用することができる。これらのオブジェクトは、使い易いAPIを提供することができ、その結果、アプリケーション開発者は、アクティビティオブジェクトに関連するサービスを提供する基礎になるコンポーネントによって提供されるAPIを参照する必要がなくなる可能性がある。例として、メッセージングサービスプロバイダは、開発者が使用できるAPIを提供することができる。それを行うために、開発者は、APIを習得するために時間を費やす必要がある場合があり、このAPIが、非常に複雑である可能性がある。その代わりに、開発者は、本アーキテクチャのオブジェクトによって提供される、より単純なAPIを使用することを望む可能性がある。さらに、オブジェクトは、複数の異なるオブジェクトを使用するのに必要になる可能性があるステップをカプセル化することができる。例として、2台のコンピュータの間でメッセージを交換することを求めるアプリケーション開発者は、SIPによって提供されるAPIならびにメッセージングサービスを提供する別の低水準オブジェクトによって公開されるAPIを使用する必要がある可能性がある。対照的に、アプリケーション開発者は、メッセージングアクティビティオブジェクトを使用することだけが必要であり、これによって、はるかに簡単にメッセージング機能性をアプリケーションに追加することができる。さらに、このフレームワークは、複数のオブジェクトを調整するように動作することができ、これによって、アプリケーション開発者に要求されるプログラミングロジックが減る。
一実施形態で、コラボレーションセッションに、アクティビティオブジェクトが含まれ、使用される。
図4は、一実施形態のクリエートサーバエンドポイント(create_server_endpoint)ルーチンを示す流れ図である。このルーチンは、サーバに接続されるエンドポイントオブジェクトを作成するために、アプリケーションによって呼び出される。サーバに接続されるエンドポイントが作成される時に、作成されたエンドポイントがもはや動作しなくなった後であっても、そのエンドポイントがパブリッシュする情報を、サブスクライブするオブジェクトから使用可能にすることができる。したがって、サーバに接続されたエンドポイントは、「URIごと」の情報を提供することができ、これは、オブジェクトの寿命の後でも情報が使用可能になることを意味する。
このルーチンは、ブロック402で開始される。ブロック404で、このルーチンは、新しいエンドポイントオブジェクトを作成し、そのエンドポイントがアプリケーションに関連することを示す。示されるアプリケーションは、エンドポイントを作成するように動作する作成関数(a create function)へのパラメータとして供給することができる。エンドポイントを作成する時に、「フレンドリ」(friendly)名を提供することができ、その結果、エンドポイントを、フレンドリ名によって参照できるようになる。その代わりに、新たに作成されるエンドポイントを、そのエンドポイントに関連する一意識別子によって参照することができる。この一意識別子は、オブジェクトが作成される時にシステムによって生成することができる。
ブロック406で、エンドポイントを作成する時に、アプリケーションが、新たに作成されたエンドポイントオブジェクトをサーバに登録して、サーバがこのエンドポイントにメッセージをルーティングできるようにすることができる。エンドポイントオブジェクトから登録要求を受け取る時に、サーバは、エンドポイントに呼び掛け(challenge)を発行することができる。呼び掛けに、サーバによって使用されるアドレス体系「レルム(realm)」を含めることができる。レルムによって、サーバに関連するドメイン名を示すことができる。例として、サーバは、レルム「MICROSOFT.com」を伴う呼び掛けを発行することができる。
ブロック408で、ルーチンが、アプリケーションに関連する信任証(たとえば、ユーザidおよびパスワード)を提供することによって呼び掛けに応答する。この信任証は、ユーザによってまたは自動的に供給することができる。サーバは、ルーチンが供給する信任証を検証することができる。信任証は、レルムに関連するものとすることができる。たとえば、アプリケーションが、サーバのレルム(「MICROSOFT.com」)に関連しない信任証を供給する場合に、サーバは、アプリケーションを認証しないものとすることができる。
登録が成功の場合には、エンドポイントは、他のオブジェクトからメッセージを受け取る準備ができている可能性がある。そうでない場合には、エンドポイントは、メッセージを受け取ることができない可能性がある。
このルーチンは、ブロック412で呼出し元にリターンする。
一実施形態で、サーバは、メッセージ送信のために成功裡に登録されないがメッセージを受信しないエンドポイントをイネーブルすることができる。代替案では、弱いセキュリティモデルで、サーバが、すべてのエンドポイントがメッセージ送信または受信することをイネーブルすることができる。
一実施形態で、サーバは、エンドポイントがメッセージ送信を試みる時にエンドポイントに呼び掛けするが、メッセージ受信時に呼び掛けしないものとすることができる。
代替ルーチン(図示せず)では、ピアツーピアエンドポイントを作成することができる。ピアツーピアエンドポイントは、サーバに関連しないエンドポイントである。エンドポイントが、サーバに関連しない時には、そのエンドポイントがパブリッシュする情報は、そのエンドポイントが動作を停止した後に使用可能でなくなる可能性がある。
図5は、一実施形態での拡張可能リアルタイムコラボレーションシステムのアーキテクチャを示すアーキテクチャ図である。このアーキテクチャには、アクティビティオブジェクト502、エンドポイント504、および複数のメディアスタックオブジェクト506が含まれる。これらのオブジェクトは、上で詳細に説明した。このアーキテクチャ図には、一実施形態のアクティビティオブジェクト、エンドポイントオブジェクト、およびメディアスタックオブジェクトの間の関係が示されている。具体的に言うと、このアーキテクチャ図には、アクティビティオブジェクトによって提供される機能性に、エンドポイントオブジェクトおよびメディアスタックオブジェクトによって提供される機能性が含まれることが示されている。
一実施形態で、複数のアクティビティオブジェクトを、対応するメディアスタックオブジェクトと共に使用することができる。
アプリケーションは、このアーキテクチャのオブジェクトのメソッドを呼び出すことができ、あるいは、機能性を実装する基礎になるオブジェクトのメソッドを直接に呼び出すことができる。このアーキテクチャのオブジェクトのメソッドを呼び出すことによって、アプリケーション開発者は、より少ないロジックを提供することが必要になる可能性があり、基礎になるコンポーネントが変更される時にアプリケーションロジックを改訂する必要がなくなる可能性がある。
以下では、このアーキテクチャによって提供されるいくつかのAPIを提示する。
アプリケーションは、新しい「CollaborationEndpoint」(コラボレーションエンドポイント)を作成することによって、エンドポイントオブジェクトを作成することができる。アプリケーションは、次のパラメータを供給することができる:エンドポイントオブジェクトに関連するURI、エンドポイントオブジェクトに関連するサーバ、およびネットワーク信任証の表示。
NetworkCredentialメソッド(ネットワーククレデンシャルメソッド)によって、ネットワーク信任証の表示が提供される。このメソッドは、パラメータとして、ユーザアカウントの表示、パスワード、およびアカウントが関連するドメインを受け入れる。
Enterメソッド(エンターメソッド)によって、エンドポイントが登録され、成功または失敗の表示が供給される。このメソッドは、パラメータを必要としない。
Publishメソッド(パブリッシュメソッド)によって、プレゼンス情報がパブリッシュされる。例として、アプリケーションは、ユーザが、オンライン、オフライン、ビジー、通話中などであることを示すことができる。このアーキテクチャは、事実上無制限の数のプレゼンス表示を提供するのに十分に柔軟である。たとえば、アプリケーションは、ユーザのGPS位置をパブリッシュすることを選択することができる。
逆に、Subscribeメソッド(サブスクライブメソッド)によって、あるエンドポイントオブジェクトのパブリケーションがサブスクライブされる。
Inviteメソッド(インバイトメソッド)によって、ユーザがコラボレーションセッションに勧誘される。このメソッドは、勧誘されなければならないURIの表示を受け取る。
Acceptメソッド(アクセプトメソッド)は、勧誘を受け入れる。逆に、Declineメソッド(デクラインメソッド)は、勧誘を拒否する。
メッセージングアクティビティオブジェクトは、InstantMessagingActivityクラス(インスタントメッセージングアクティビティクラス)から作成することができる。このアクティビティオブジェクトは、たとえばメッセージを送信するメッセージ、SendMessage(センドメッセージ)を含む、様々なメソッドをサポートする。
SendMessageメソッドによって、メッセージが送信される。このメソッドは、パラメータとしてメッセージ文字列を受け取る。
このメソッドを、本アーキテクチャの様々なオブジェクトによって提供することができる。本アーキテクチャは、さらに、ユーザのプロパティの検索、連絡先のリストへのユーザの追加、会話への参加者の追加または除去などに関するメソッド、プロパティ、およびイベントを提供することができる。
本アーキテクチャが実装されるコンピューティングデバイスに、中央処理装置、メモリ、入力デバイス(たとえば、キーボードおよびポインティングデバイス)、出力デバイス(たとえば、ディスプレイデバイス)、および記憶デバイス(たとえば、ディスクドライブ)を含めることができる。メモリおよび記憶デバイスは、システムを実施する命令を含めることができるコンピュータ可読メディアである。さらに、データ構造およびメッセージ構造を、信号リンクまたは通信リンクなどのデータ伝送メディアを介して保管または伝送することができる。インターネット、ローカルエリアネットワーク、広域ネットワーク、またはポイントツーポイントダイヤルアップ接続など、様々な通信リンクを使用することができる。
本アーキテクチャは、MICROSOFT WINDOWS(登録商標)オペレーティングシステムが動作するコンピューティングデバイスを含む様々なオペレーティング環境で実施することができる。このオペレーティング環境は、適切なオペレーティング環境の1つの例にすぎず、本システムの使用の範囲または機能性に関する制限を暗示することを意図されたものではない。使用に適する可能性がある他の周知のコンピューティングシステム、環境、および構成に、パーソナルコンピュータ、サーバコンピュータ、「スマート」携帯電話を含むハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、および類似物が含まれる。
本アーキテクチャを、1つまたは複数のコンピュータまたは他のデバイスによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の全般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。通常、プログラムモジュールの機能性は、様々な実施形態で望み通りに組み合わせるか分配することができる。
前述から、本発明の特定の実施形態を、例示のために本明細書で説明したことと、本発明の趣旨および範囲から逸脱せずに様々な修正を行うことができることを諒解されたい。したがって、本発明は、請求項による以外には制限されない。
一実施形態での拡張可能リアルタイムコラボレーションシステムのアーキテクチャのコンポーネントを示すブロック図である。 一実施形態での拡張可能リアルタイムコラボレーションシステムのエンドポイントオブジェクトのコンポーネントを示すブロック図である。 一実施形態での拡張可能リアルタイムコラボレーションシステムのアクティビティオブジェクトを示すブロック図である。 一実施形態のcreate_server_endpointルーチンを示す流れ図である。 一実施形態での拡張可能リアルタイムコラボレーションシステムのアーキテクチャを示すアーキテクチャ図である。
符号の説明
110 アプリケーション1〜n
102 コラボレーションサービス
104 エンドポイント1〜n
106 アクティビティ
108 メディアスタック1〜m
200 エンドポイント
201 プロファイル
202 パブリッシュおよびサブスクライブ
204 シグナリング
206 プロトコルスタック
300 アクティビティ
304 コラボレーションセッション
306 メッセージング
308 ビデオ会議
310 アプリケーション共有
312 他
502 アクティビティオブジェクト
504 エンドポイント
506 メディアスタック1〜m

Claims (24)

  1. アプリケーションでリアルタイムコラボレーションサービスを提供する、コンピューティングシステムによって実行される方法であって、
    コラボレーションサービスを提供するアプリケーションプログラムインターフェースを有するアクティビティオブジェクトをインスタンス化することと、
    前記アプリケーションプログラムインターフェースのメソッドを呼び出すことであって、前記呼び出されるメソッドは、管理サービスと、前記コラボレーションサービスの情報を通信しているアプリケーションの間のコンテンツ通信サービスとを提供することと
    を含むことを特徴とする方法。
  2. エンドポイントオブジェクトは、前記管理サービスを提供することを特徴とする請求項1に記載の方法。
  3. 前記エンドポイントオブジェクトは、セッションイニシエーションプロトコル(Session Initiation Protocol)を使用することを特徴とする請求項2に記載の方法。
  4. メディアスタックオブジェクトは、前記コンテンツ通信サービスを提供することを特徴とする請求項1に記載の方法。
  5. 前記メディアスタックオブジェクトは、リアルタイムトランスポートプロトコル(Real−Time Transport Protocol)を使用することを特徴とする請求項4に記載の方法。
  6. 前記メディアスタックオブジェクトは、リアルタイムコントロールプロトコル(Real−Time Control Protocol)を使用することを特徴とする請求項4に記載の方法。
  7. 前記管理サービスは、プレゼンス情報を提供することを含むことを特徴とする請求項1に記載の方法。
  8. 前記コンテンツ通信サービスは、メディアを提供することを含むことを特徴とする請求項1に記載の方法。
  9. 複数のメディアスタックオブジェクトと、
    エンドポイントオブジェクトであって、前記エンドポイントオブジェクトは、シグナリング情報の提供または受取のためのものである、エンドポイントオブジェクトと、
    複数のアクティビティオブジェクトであって、前記アクティビティオブジェクトは、アプリケーションにアプリケーションプログラムインターフェースを提供し、コラボレーションサービスを提供するのに前記複数のメディアスタックオブジェクトおよびエンドポイントオブジェクトを使用し、さらに、前記アプリケーションは、前記アプリケーションプログラムインターフェースを使用し、前記メディアスタックオブジェクトおよびエンドポイントオブジェクトを調整するためのロジックを提供する必要がない、複数のアクティビティオブジェクトと
    を含むことを特徴とする拡張可能リアルタイムコラボレーションシステム。
  10. 前記アプリケーションプログラミングインターフェースは、関連する機能性を実際に提供する2つの基礎になるオブジェクトが異なるインターフェース名を使用する時であっても一貫性のあるインターフェース名を提供することを特徴とする請求項9に記載の拡張可能リアルタイムコラボレーションシステム。
  11. 前記コラボレーションサービスの1つは、メッセージングであることを特徴とする請求項9に記載の拡張可能リアルタイムコラボレーションシステム。
  12. 前記コラボレーションサービスの1つは、ビデオ会議であることを特徴とする請求項9に記載の拡張可能リアルタイムコラボレーションシステム。
  13. 前記コラボレーションサービスの1つは、アプリケーション共有であることを特徴とする請求項9に記載の拡張可能リアルタイムコラボレーションシステム。
  14. メディアスタックオブジェクトを追加することを特徴とする請求項9に記載の拡張可能リアルタイムコラボレーションシステム。
  15. 前記エンドポイントオブジェクトは、プロファイルコンポーネント、パブリッシュおよびサブスクライブコンポーネント、シグナリングコンポーネント、およびプロトコルスタックコンポーネントを含むことを特徴とする請求項9に記載の拡張可能リアルタイムコラボレーションシステム。
  16. 前記プロトコルスタックコンポーネントは、セッションイニシエーションプロトコル(Session Initiation Protocol)を使用することを特徴とする請求項15に記載の拡張可能リアルタイムコラボレーションシステム。
  17. 前記プロトコルスタックコンポーネントは、シグナリングプロトコルを使用することを特徴とする請求項15に記載の拡張可能リアルタイムコラボレーションシステム。
  18. 前記複数のメディアスタックオブジェクトの1つは、リアルタイムトランスポートプロトコル(Real−Time Transport Protocol)を使用することを特徴とする請求項9に記載の拡張可能リアルタイムコラボレーションシステム。
  19. 前記プロトコルスタックコンポーネントは、セッションイニシエーションプロトコル(Session Initiation Protocol)を使用することを特徴とする請求項18に記載の拡張可能リアルタイムコラボレーションシステム。
  20. 前記プロトコルスタックコンポーネントは、シグナリングプロトコルを使用することを特徴とする請求項18に記載の拡張可能リアルタイムコラボレーションシステム。
  21. 前記アクティビティオブジェクトは、アプリケーションの指示の下で前記複数のメディアスタックオブジェクトの1つと前記エンドポイントオブジェクトとを調整することを特徴とする請求項18に記載の拡張可能リアルタイムコラボレーションシステム。
  22. 拡張可能リアルタイムコラボレーションシステムを提供するコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
    実装を有するリアルタイムコラボレーションコンポーネントに関連するアプリケーションプログラムインターフェースを提供することと、
    もう1つの実装を有するもう1つのリアルタイムコラボレーションコンポーネントを受け取ることと、
    前記リアルタイムコラボレーションコンポーネントの前記実装は、前記もう1つのリアルタイムコラボレーションコンポーネントの前記実装と同一でない場合であっても、前記もう1つのリアルタイムコラボレーションコンポーネントに関連する前記アプリケーションプログラムインターフェースを提供することと
    を含むことを特徴とするコンピュータ可読媒体。
  23. 前記リアルタイムコラボレーションコンポーネントの基礎になるコンポーネントは、前記もう1つのリアルタイムコラボレーションコンポーネントと異なるアプリケーションプログラムインターフェース名を有することを特徴とする請求項22に記載のコンピュータ可読媒体。
  24. アプリケーションからのコラボレーション要求の表示時に、両方のリアルタイムコラボレーションコンポーネントを調整することを含むことを特徴とする請求項22に記載のコンピュータ可読媒体。
JP2004308917A 2003-10-23 2004-10-22 拡張可能リアルタイムコラボレーションシステムのアーキテクチャ Pending JP2005202926A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51379003P 2003-10-23 2003-10-23
US59980704P 2004-08-06 2004-08-06
US91833304A 2004-08-13 2004-08-13
US10/918,855 US8321506B2 (en) 2003-10-23 2004-08-14 Architecture for an extensible real-time collaboration system

Publications (1)

Publication Number Publication Date
JP2005202926A true JP2005202926A (ja) 2005-07-28

Family

ID=34397195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004308917A Pending JP2005202926A (ja) 2003-10-23 2004-10-22 拡張可能リアルタイムコラボレーションシステムのアーキテクチャ

Country Status (11)

Country Link
US (1) US8321506B2 (ja)
EP (1) EP1526695B1 (ja)
JP (1) JP2005202926A (ja)
KR (1) KR101137099B1 (ja)
CN (1) CN100566335C (ja)
AT (1) ATE369002T1 (ja)
AU (1) AU2004222762B2 (ja)
BR (1) BRPI0404468A (ja)
CA (1) CA2485763C (ja)
DE (1) DE602004007864T2 (ja)
MX (1) MXPA04010559A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725548B2 (en) 2005-12-14 2010-05-25 Fujitsu Limited Computer-readable recording medium recording communication programs, communication method and communication apparatus
US8150798B2 (en) 2006-10-10 2012-04-03 Wells Fargo Bank, N.A. Method and system for automated coordination and organization of electronic communications in enterprises
WO2022230611A1 (ja) * 2021-04-28 2022-11-03 オムロン株式会社 情報処理装置、方法およびプログラム

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US20050089023A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Architecture for an extensible real-time collaboration system
US8321506B2 (en) 2003-10-23 2012-11-27 Microsoft Corporation Architecture for an extensible real-time collaboration system
US7571245B2 (en) * 2003-12-19 2009-08-04 International Business Machines Corporation System and method for delivering the streaming of audio-video using external resources
US10127802B2 (en) 2010-09-28 2018-11-13 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
EP1738540B1 (en) 2004-03-16 2017-10-04 Icontrol Networks, Inc. Premises management system
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US10382452B1 (en) * 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US7580867B2 (en) * 2004-05-04 2009-08-25 Paul Nykamp Methods for interactively displaying product information and for collaborative product design
US20060161620A1 (en) * 2004-12-30 2006-07-20 Microsoft Corporation Extensible activities within collaboration sessions
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US7925701B2 (en) * 2005-07-25 2011-04-12 Sony Ericsson Mobile Communications Ab Mobile communication terminal supporting information sharing
US7614060B2 (en) * 2006-04-28 2009-11-03 Microsoft Corporation Unified concept of presence
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
GB0616613D0 (en) * 2006-08-22 2006-10-04 Ibm Data processing system using matching engine and routing switch
US8817668B2 (en) * 2006-09-15 2014-08-26 Microsoft Corporation Distributable, scalable, pluggable conferencing architecture
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US20080183645A1 (en) * 2007-01-31 2008-07-31 Microsoft Corporation Media continuity service between devices
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8010093B2 (en) 2007-03-08 2011-08-30 Infineon Technologies Ag Communication network unit and method for exchanging capability information
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US8583733B2 (en) * 2007-08-17 2013-11-12 Microsoft Corporation Real time collaboration file format for unified communication
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US20110154222A1 (en) * 2009-12-18 2011-06-23 Microsoft Corporation Extensible mechanism for conveying feature capabilities in conversation systems
WO2011143273A1 (en) 2010-05-10 2011-11-17 Icontrol Networks, Inc Control system user interface
US9799004B2 (en) 2010-07-30 2017-10-24 Avaya Inc. System and method for multi-model, context-aware visualization, notification, aggregation and formation
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
US20140115069A1 (en) * 2012-10-22 2014-04-24 International Business Machines Corporation Generating a user unavailability alert in a collaborative environment
US9395955B2 (en) 2013-03-18 2016-07-19 Jayarama Marks Programming system and method
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US10491641B2 (en) * 2015-02-20 2019-11-26 T-Mobile Usa, Inc. Inter-IMS service support in telecommunication systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158947A (ja) * 1989-11-17 1991-07-08 Nec Corp 通信制御方式
JP2000250756A (ja) * 1999-03-02 2000-09-14 Mitsubishi Electric Corp 監視データ処理ソフトウェア開発用フレームワーク
WO2001098936A2 (en) * 2000-06-22 2001-12-27 Microsoft Corporation Distributed computing services platform
JP2003022251A (ja) * 2001-07-06 2003-01-24 Ibm Japan Ltd データ通信方法、データ通信システムおよびプログラム

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097533A (en) * 1988-11-29 1992-03-17 International Business Machines Corporation System and method for interfacing computer application programs written in different languages to a software system
JP2763663B2 (ja) * 1990-07-24 1998-06-11 株式会社ケンウッド 光ディスク記録再生装置のレーザ駆動回路
US5327558A (en) 1992-04-30 1994-07-05 Motorola, Inc. Method for asynchronous application communication
GB2272311A (en) * 1992-11-10 1994-05-11 Ibm Call management in a collaborative working network.
US5872923A (en) * 1993-03-19 1999-02-16 Ncr Corporation Collaborative video conferencing system
US5576629A (en) * 1994-10-24 1996-11-19 Fourth State Technology, Inc. Plasma monitoring and control method and system
US5724508A (en) * 1995-03-09 1998-03-03 Insoft, Inc. Apparatus for collaborative computing
JPH1040080A (ja) 1996-07-26 1998-02-13 Nec Corp オープンビジネス共通基盤装置
KR100227151B1 (ko) 1997-01-09 1999-10-15 진교문 다중점 통신을 지원하는 응용프로그램 공유 방법
US6167395A (en) * 1998-09-11 2000-12-26 Genesys Telecommunications Laboratories, Inc Method and apparatus for creating specialized multimedia threads in a multimedia communication center
US7073172B2 (en) * 1998-09-21 2006-07-04 Microsoft Corporation On demand patching of applications via software implementation installer mechanism
US6748420B1 (en) * 1999-11-23 2004-06-08 Cisco Technology, Inc. Methods and apparatus for providing shared access to an application
JP2001282952A (ja) * 2000-03-30 2001-10-12 Namco Ltd クライアント・コンピュータ、サーバ・コンピュータ、ネットワーク・ランキング・システム、ネットワーク・ランキング方法、課題処理方法および記録媒体
EP1158740B1 (en) * 2000-05-24 2009-09-16 Sony Deutschland GmbH Quality of Service negotiation
US20020032730A1 (en) * 2000-09-11 2002-03-14 Rami Amit System and method for correlating data sessions
US20020069263A1 (en) * 2000-10-13 2002-06-06 Mark Sears Wireless java technology
US20040249811A1 (en) * 2000-12-14 2004-12-09 Shostack Ronald N. Web based dating service with filter for filtering potential friends/mates using physical and/or personality attractiveness criteria
US20030009603A1 (en) * 2000-12-27 2003-01-09 Ruths Derek Augustus Samuel System and method for managing collaborative data representations
US20030018719A1 (en) * 2000-12-27 2003-01-23 Ruths Derek Augustus Samuel Data-centric collaborative computing platform
US7155681B2 (en) * 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
AUPR459901A0 (en) * 2001-04-27 2001-05-24 Sharinga Networks Inc. Instant messaging
US7353252B1 (en) * 2001-05-16 2008-04-01 Sigma Design System for electronic file collaboration among multiple users using peer-to-peer network topology
US20030014488A1 (en) * 2001-06-13 2003-01-16 Siddhartha Dalal System and method for enabling multimedia conferencing services on a real-time communications platform
US20030041108A1 (en) * 2001-08-22 2003-02-27 Henrick Robert F. Enhancement of communications by peer-to-peer collaborative web browsing
US7054648B2 (en) * 2001-10-22 2006-05-30 Telefonaktiebolaget Lm Ericsson (Publ) Location privacy proxy server and method in a telecommunication network
US7124080B2 (en) * 2001-11-13 2006-10-17 Microsoft Corporation Method and apparatus for adapting a class entity dictionary used with language models
US7535915B2 (en) * 2001-12-31 2009-05-19 Samsung Electronics Co., Ltd. System and method for scalable and redundant SIP message routing in an IP multimedia subsystem
US20030144892A1 (en) * 2002-01-29 2003-07-31 International Business Machines Corporation Method, system, and storage medium for providing knowledge management services
WO2003083692A1 (en) * 2002-03-27 2003-10-09 First Virtual Communications System and method for traversing firewalls with protocol communications
US7340745B2 (en) * 2002-06-25 2008-03-04 Sun Microsystems, Inc. Systems and methods for mapping API calls
US7926066B2 (en) * 2002-07-09 2011-04-12 Openpages, Inc. Adaptive content platform and application integration with the platform
US20040093595A1 (en) * 2002-08-08 2004-05-13 Eric Bilange Software application framework for network-connected devices
CA2505936A1 (en) * 2002-11-11 2004-05-27 Supracomm, Inc. Multicast videoconferencing
US20040107256A1 (en) * 2002-12-02 2004-06-03 Thomas Odenwald Collaboration integration
EP1584171B1 (en) * 2003-01-06 2007-01-17 Koninklijke Philips Electronics N.V. Multi-factor application selection
US7765551B2 (en) * 2003-02-10 2010-07-27 Novell, Inc. System for dynamically loading application resources from the first server to the second server based on the modified application resources from the first server
US7360164B2 (en) * 2003-03-03 2008-04-15 Sap Ag Collaboration launchpad
US7444425B2 (en) * 2003-03-10 2008-10-28 Meetrix, Inc. Applying multicast protocols and VPN tunneling techniques to achieve high quality of service for real time media transport across IP networks
US8375082B2 (en) * 2003-04-17 2013-02-12 Hewlett-Packard Development Company, L.P. Communications systems and methods
US7366163B1 (en) * 2003-04-25 2008-04-29 At&T Corp. Method for providing local and toll services with LNP, and toll-free services to a calling party which originates the call from an IP location connected to a sip-enabled IP network
US20040236639A1 (en) * 2003-05-20 2004-11-25 Arun Candadai Dynamic data collaboration
US20050089023A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Architecture for an extensible real-time collaboration system
US8321506B2 (en) 2003-10-23 2012-11-27 Microsoft Corporation Architecture for an extensible real-time collaboration system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158947A (ja) * 1989-11-17 1991-07-08 Nec Corp 通信制御方式
JP2000250756A (ja) * 1999-03-02 2000-09-14 Mitsubishi Electric Corp 監視データ処理ソフトウェア開発用フレームワーク
WO2001098936A2 (en) * 2000-06-22 2001-12-27 Microsoft Corporation Distributed computing services platform
JP2003022251A (ja) * 2001-07-06 2003-01-24 Ibm Japan Ltd データ通信方法、データ通信システムおよびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725548B2 (en) 2005-12-14 2010-05-25 Fujitsu Limited Computer-readable recording medium recording communication programs, communication method and communication apparatus
US8150798B2 (en) 2006-10-10 2012-04-03 Wells Fargo Bank, N.A. Method and system for automated coordination and organization of electronic communications in enterprises
WO2022230611A1 (ja) * 2021-04-28 2022-11-03 オムロン株式会社 情報処理装置、方法およびプログラム

Also Published As

Publication number Publication date
AU2004222762B2 (en) 2010-03-04
US8321506B2 (en) 2012-11-27
ATE369002T1 (de) 2007-08-15
US20050091435A1 (en) 2005-04-28
BRPI0404468A (pt) 2005-06-21
AU2004222762A1 (en) 2005-05-12
EP1526695B1 (en) 2007-08-01
CN1668038A (zh) 2005-09-14
CA2485763A1 (en) 2005-04-23
CN100566335C (zh) 2009-12-02
CA2485763C (en) 2012-06-26
KR20050039596A (ko) 2005-04-29
EP1526695A1 (en) 2005-04-27
DE602004007864D1 (de) 2007-09-13
DE602004007864T2 (de) 2008-04-17
MXPA04010559A (es) 2006-09-04
KR101137099B1 (ko) 2012-04-19

Similar Documents

Publication Publication Date Title
EP1526695B1 (en) Architecture for an extensible real-time collaboration system
US11785056B2 (en) Web browser interface for spatial communication environments
US20050089023A1 (en) Architecture for an extensible real-time collaboration system
US9813463B2 (en) Phoning into virtual communication environments
US8250141B2 (en) Real-time event notification for collaborative computing sessions
RU2406120C2 (ru) Смешанный режим обмена сообщениями для множественных точек присутствия
US8589547B2 (en) Side channel for membership management within conference control
RU2345495C2 (ru) Устройство и способ обеспечения совместного использования данных конференции
US7769809B2 (en) Associating real-time conversations with a logical conversation
US20040205175A1 (en) Communications system for monitoring user interactivity
US8301699B1 (en) Dynamically enabling features of an application based on user status
US8041800B2 (en) Automatic orchestration of dynamic multiple party, multiple media communications
US20070226299A1 (en) Method and system for providing an instant messaging quorum monitoring service
US20090204671A1 (en) In-meeting presence
JP2006094488A (ja) 経路情報に関するストレージ要件の軽減
US20100223320A1 (en) Data distribution efficiency for online collaborative computing sessions
US20060161620A1 (en) Extensible activities within collaboration sessions
RU2377640C2 (ru) Архитектура для расширяемой системы совместной работы в реальном времени
US20230339816A1 (en) Visual Communications
Uyar et al. Service-oriented architecture for building a scalable videoconferencing system
Zhang et al. User-centric communication middleware
US20140201275A1 (en) System and method for managing a conversation for a meeting session in a network environment
Prasad et al. A proposal for distributed conferencing on SIP using conference servers
Carvill et al. Developing and evaluating writing assignments for technical courses
Buszko A Lightweight Collaborative API for Ad-hoc Mobile Computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110525

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110721

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120217