JP2005509960A - ハンドヘルド無線会議技術 - Google Patents
ハンドヘルド無線会議技術 Download PDFInfo
- Publication number
- JP2005509960A JP2005509960A JP2003545005A JP2003545005A JP2005509960A JP 2005509960 A JP2005509960 A JP 2005509960A JP 2003545005 A JP2003545005 A JP 2003545005A JP 2003545005 A JP2003545005 A JP 2003545005A JP 2005509960 A JP2005509960 A JP 2005509960A
- Authority
- JP
- Japan
- Prior art keywords
- software program
- wireless
- wireless collaboration
- collaboration software
- message
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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
- H04L12/1822—Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
-
- 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
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- 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
- H04L12/1831—Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/08—Metering calls to called party, i.e. B-party charged for the communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/24—Accounting or billing
-
- 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/189—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/20—Technology dependant metering
- H04M2215/2026—Wireless network, e.g. GSM, PCS, TACS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/62—Called party billing, e.g. reverse billing, freephone, collect call, 0800 or 0900
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Multimedia (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
ハンドヘルドPDA(110)アプリケーション用およびハンドヘルドアプリケーションのユーザ用のシステム、方法、ソフトウェアアーキテクチャ/プログラム(10)が、物理的に離れた通信装置とのリアルタイムの無線コラボレーション会議を実行する。有利なことに、プログラム(10)はハンドヘルドアプリケーションに大きな変更を与えることなく無線コラボレーション会議を提供する。ハンドヘルドアプリケーションは内部状態を更新し、他の参加者の装置の内部状態をコピーする。無線コラボレーションソフトウェアは、データ通信帯域幅に対して最適化され、本質的にハンドヘルドのアプリケーションを用い、それらの動作とハンドヘルド装置のメトリックスに適合し、小さな情報パケットを用いて通信し、ピアツーピア、ピアツーマルチピア、ピアツーマシンアプリケーション会議にとって共通のプログラミング可能なユーザインタフェースを提供し、そのソフトウェアは、エンドユーザがそのような会議を計画、共有、管理し、そして請求されることを可能とする無線コラボレーション会議方法を実施する。
Description
本発明は、概して、無線会議(wireless conferencing)に関し、特に、無線の情報交換を実現するハンドヘルドコンピュータ(handheld computer)、2またはより多くのユーザの間で無線プラットホームを通じてリアルタイムあるいはほとんどリアルタイムに同時に情報を交換、処理そして参照するシステム、ソフトウェアプログラムおよび方法に関する。
会議システムは、別々の場所にいる複数の人々に一つのあるいは様々な議題についてコラボレーション(collaborate)することを可能にする現在では、少々ありふれたメカニズムである。電話会社及び他の業者は、伝統的な電話線に基づいて、声による電話会議を提供する。ビデオ会議も用いられるが、ビデオ器材のコスト及び帯域幅の問題のため予想されたほど急速には主流になっていない。シマンテック社のpcAnywhereやマイクロソフト社のNetmeetingのようなコンピュータベースの会議も何年も前から存在し、共有のソフトやファイルを通じて、PCユーザのコラボレーションを可能にしてきた。その結果、ウェブコラボレーション会議(web collaboration conferencing)が可能になり、標準ウェブプロトコル及びインターネット接続を通じてアプリケーション及び内容のコラボレーションがなされることを可能にしている。
コラボレーション会議は、2またはより多くの参加者の間で同時的に通信することができる。通信メディアは、ワープロ、スプレッドシートまたはプレゼンテーションといった、あらゆる可能なソフトアプリケーションである。会議の複数の参加者は、スライドのセットを用いたプレゼンテーションのようなメディアを通じて会話することが可能である。各参加者は同時にスライドをみることになる。次の段階の通信では、参加者が変更を加え、全ての参加者のコンピュータに再生することが可能となる。スプレッドシート上で作業する参加者がその例である。
いくつかの会社は、音声とデータの両方を含んだ有線コラボレーション会議を開発している。コラボレーション会議は、3つあるいはそれ以上の理由からモバイルのハンドヘルドコンピュータへの参加を排除してきた。帯域幅の制限はデスクトップを用いた会議方式は、通常アプリケーションそのものよりもスクリーンシェアリングに依存していることを理由とする。スクリーンサイズの問題は、デスクトップメタファーは典型的なハンドヘルドの2×3インチスクリーン、そして、高速ネットワーク及び会議を同期させる最適切り替えに依存する有線コラボレーション通信に適合しないからである。
帯域幅による制限は、広域ネットワークのインフラの制限によるものである。無線広域ネットワークデータ送信には、複数の競合する標準が存在する。現在の最大限広い帯域幅は毎秒9800から19200ビットの間である。通称3G下のこれらのグループのようなより高速の技術も、時には開発されたが、未だ広く使われるにはいたっておらず、限られた地域で使用可能になりつつある。さらに最も待望された3Gシステムは、最適且つ最大の帯域幅及び無線帯域幅のキャパシティが限られてきたときのための最小送信速度を提供する。
スクリーンサイズの問題は、モバイルハンドヘルドコンピュータのフォーム要素に起因する。これらの装置は典型的にはおおよそ2×2から2×4のスクリーンを持っている。モバイルハンドヘルドコンピュータ上に表示されるどんな情報も小さなスクリーンサイズに合うようにフォーマットされる。有線のコラボレーション通信方法は、参加者たちが共有された情報を参照可能にするために構築されている。
そのアプリケーションは実際には参加者たちのコンピュータ上で動作していない。実際には、参加者たちはホストマシン上で動作するアプリケーションの概要を見ている。その情報は各参加者のコンピュータに局所的に格納されるのではない。スクリーンがプレゼンテ−ション中に、次のスライドに移るなど変化した時、参加者は次のスライドを見せられる。こうしたタイプのコラボレーションは、大きな帯域幅、信頼性のあるコネクション、そして複雑なスイッチングを要する。
無線ハンドヘルドコンピュータの制約問題に対処しつつ、コラボレーション会議を実現するハンドヘルドアプリケーションを実現するシステム、方法、そしてソフトウェアキテクチャ/プログラムが望まれる。更に、スクリーンディスプレイ/シェアリングを超えてハンドヘルドオペレーティングシステムを強化し、会議の前、会議中、会議の後に有用である豊富な機能を限られた帯域量またはビット量で提供し、そのようなコラボレーションが実現されたアプリケーションを発展させる共通の方法を提供するアプリケーションを実現するソフトウェアプログラムとインタフェースが望まれる。これは、ハンドヘルドアプリケーションを用いて、1または複数のユーザまたはマシンを無線的に関連付けることができるようにする。本発明はそのようなシステム、ソフトウェアプログラムそして方法を提供する。
(発明の要旨)
本発明はハンドヘルドアプリケーションおよびハンドヘルドアプリケーションのユーザに、無線ハンドヘルドコンピュータの制約問題に対処し、アプリケーション自体に大きな変更を加えることなくサービスを提供するためのシステム、方法、そしてソフトウェアアーキテクチャ/プログラムを実現するという技術上の有利な点を有する。
本発明はハンドヘルドアプリケーションおよびハンドヘルドアプリケーションのユーザに、無線ハンドヘルドコンピュータの制約問題に対処し、アプリケーション自体に大きな変更を加えることなくサービスを提供するためのシステム、方法、そしてソフトウェアアーキテクチャ/プログラムを実現するという技術上の有利な点を有する。
ソフトウェアプログラム、アーキテクチャそしてインタフェースは、既製のアプリケーションをして、データを処理し、オンラインおよびオフラインで表示するハンドヘルドのオペレーティングシステムを強化し得るようにし、限られた帯域量またはビット量を用いて、会議の前、会議中、そして会議後に役立つ豊富な機能を提供し、そのようなコラボレーションを実現できるアプリケーションを発展させる共通の方法を提供する。
このシステムは、データ通信の帯域に適合し、ハンドヘルドの動作そしてメトリックスに合った本質的にハンドヘルドのアプリケーションを用い、小さな情報パケットを用いて通信し、ピアツーピア、ピアツーマルチピア、そしてピアツーマシンアプリケーション会議のための共通のプログラミング可能なユーザインタフェースとエンドユーザがそのような会議活動をスケジュールでき、共有でき、管理でき、請求されるシステムを提供する無線コラボレーション会議方法を実現する。
このアーキテクチャは、2つの明らかに相互関係のある会議モードを実現する。1つのモードでは、全てのユーザは文書を修正する平等の権利を有し、コラボレーションしてその修正を行う。ハンドヘルド装置は、本発明によって他の参加者たちの装置上の内部状態とデータ構造を再現するために内部状態とデータ構造を更新できるようにするデータ編集メッセージを受信する。別のモードでは、全ての参加者たちからプレゼンテーションの権利を許可された“プレゼンター”のみが、各参加者たちのハンドヘルド装置が単一のプレゼンターによって制御されるようにするためのディスプレイ更新メッセージを制御する。このモードでは、ハンドヘルド装置は全てプレゼンターのふるまい、スクリーンロケーション、スクローリング、そして表示を再現する。双方のケースにおいて、本発明はこれらの状態を制御し、調整できる明確なメカニズムを提供する。
図1に、無線環境における本発明によってもたらされる10で示されるいくつかの無線コラボレーション会議のブロックが図示される。このシステムは、データ通信帯域を最適化する無線コラボレーション会議方法を実現し、ハンドヘルドの動作とメトリックスに適合する本質的にハンドヘルドなアプリケーションを用い、小さな情報パケットを用いて通信し、ピアツーピア、ピアツーマルチピア、そしてピアツーマシンのアプリケーション会議にとって共通のプログラミング可能なユーザインタフェースと、エンドユーザがそのような会議活動のために計画、共有、管理でき、そして請求されるシステムを提供する。
アプリケーションプログラミングインタフェース(API)として具現化される本発明の第1の実施の形態は、そのようなインタフェースを複数の単一ソフトウェアベンダー(ISVS)が利用して、無線会議がそれらのアプリケーションを利用できるようにする。共通のプログラミングされたインタフェース、共通のユーザインタフェース、共通のイベント、そして、内部メカニズム/アーキテクチャは、ISVSが、エンドユーザに共通の使用モデルを与えるスタンドアローンアプリケーション中に組み込まれたそのような機能を内蔵できるようにする。この使用の一例は、スタンドアロンに記述されたアプリケーションを発展させたISVである。有用なことに、ユーザ12は、本発明を用いることによって、それらのアプリケーションが1又は複数のユーザ間の無線通信を実現できるようにし、全てのユーザが14および16において示される図形を見ることができ、修正できるようにする。
本発明の第2の実施の形態は、データを提供しているマシン18と会議システムを用いて無線通信をしているハンドヘルドコンピュータ12上で動作するソフトウェアプログラムからなる。ユーザ12はその複数のマシンの共通のインタフェースによって生成され、そしてそのようなユーザを安全にし、あるいは公にアクセスできるように配置されたゲートウェイ経由で会議サーバに送信されるリアルタイムまたはほとんどリアルタイムの情報を監視できる。ハンドヘルドのアプリケーションは、コンテンツをグラフィカルに表示し、データ操作を許し、そして、そのマシンに入力と制御を戻すことさえ行うソフトウェアプログラムを用いて、そのデータストリームを表示する。有用なことに、そのような使用は、例えば、医者に、電話を通じて病院と通信して、リアルタイムに患者のEKGと重大なサインを監視させることができ、その結果、より正確な診断と治療を行うことができるようになる。別の例では、建築物管理者が空調および電気設備に連絡して、建築物の重大なサインを監視し、設定調整のための入力をそれらの機器に行わせる。
ソフトウェアプログラムとして構成される本発明の第3の実施の形態は、実行情報が行き交うように構成されたハンドヘルドコンピュータにおいて動作する。そのソフトウェアはスプレッドシートのようなハンドヘルドの生産アプリケーションを含む。無線ハンドヘルド会議の参加者たちは、それぞれ“ホスト”16と呼ばれる参加者からハンドヘルドコンピュータに自動的に送信されたスプレッドシートのコピーを持っている。会議の参加者たちは、スプレッドシートを変更することができる。全ての参加者たちは各参加者たちのハンドヘルドコンピュータからの全ての入力を受信する。スプレッドシートの再計算は各参加者たちの装置の処理力の一部を利用することにより実行される。有用なことに、今日広く利用できる限られた帯域技術を用いてアプリケーション会議動作を行うハンドヘルドコンピュータ間では入力のみが伝送される。“コラボレーション”モードでは、会議の参加者たちはワークブックのどこでも、ワークブック内のセパレートシート上においても変更を加えることができる。全ての変更は会議に参加している全ての装置に送信される。“プレゼンター”モードにおいては、1人の参加者がプレゼンテーションを制御できる。そのプレゼンターは、会議の参加者全員に情報を提示するために、上下左右にスクロールでき、シートを変更でき、ズームを変更できる。あるいは、1または複数のユーザ12、14と16との間の会議が、webEX24のソフトウェア、チャセラル26のソフトウェアあるいはマイクロソフトネットミーティング28のソフトウェアを用いてデスクトップゲートウェイ20経由でPCリンクを持つユーザ22との会議と同様に実現される。
ソフトウェアプログラムからなる本発明の第4の実施の形態は、実行情報が行き交うように構成されたハンドヘルドコンピュータにおいて動作する。そのソフトウェアはワードプロセッサのようなハンドヘルドの生産アプリケーションを含む。それぞれの無線ハンドヘルド会議の参加者たちは、“ホスト”としての参加者から自動的にハンドヘルドコンピュータに送信された文書のコピーを有する。会議の参加者たちは、その文書に変更を加えることができる。全ての参加者たちは、各参加者たちのハンドヘルドコンピュータから全ての入力を受信する。再フォーマットのためのその文書の再計算が、各参加者たちの装置の処理力を一部利用して実行される。有利なことに、今日広く利用できる限られた帯域技術を用いて会議活動を行う特殊なアプリケーションを提供するハンドヘルドコンピュータ間では、入力のみが伝送される。“コラボレーション”モードでは、会議の参加者たちはその文書のどこでも、その文書の分割された部分においてでさえ変更を加えることができる。全ての変更は、会議に参加している全ての装置に送信される。“プレゼンター”モードでは、1人の参加者がプレゼンテーションを制御する。プレゼンターは、会議の参加者全員に情報を“提示”するために上下にスクロールすることができる。
ソフトウェアプログラムからなる本発明の第5の実施の形態は、実行情報が行き交うように構成されたハンドヘルドコンピュータにおいて動作する。そのソフトウェアはスライドプレゼンテーション(例えばPC用のマイクロソフトパワーポイント)のようなハンドヘルドの生産アプリケーションを含む。無線ハンドヘルド会議の参加者たちは、それぞれ、当初の“ホスト”である参加者から自動的にそれらのハンドヘルドコンピュータに送信された文書のコピーを有する。会議の参加者たちは、そのプレゼンテーションに変更を加えることができる。全ての参加者たちは、各参加者たちのハンドヘルドコンピュータからの全ての入力を受信する。プレゼンテーションスライドの表示のための描写は、各参加者たちの装置の処理力を一部利用して実行される。有利なことに、今日の広く利用可能な限られた帯域幅技術を用いた会議活動を行う特殊なアプリケーションを提供するハンドヘルドコンピュータの間では、入力のみが送信される。“コラボレーション”モードでは、会議参加者はプレゼンテーションのどこでも、分割されたスライドの中でも変更を行うことができる。全ての変更は、会議参加の装置全てに送信される。“プレゼンター”モードにおいては、一人の参加者がプレゼンテーションを主導する。プレゼンターは、会議参加者全てに対して情報を提供するために、上下にスクロールしたり、ズームインまたはズームアウトをし、アウトラインやノートのような異なる画面を見たり、スライドを転換したりすることができる。
本発明の第6の実施の形態は、2またはより多くのハンドヘルドユーザの無線会議のために、スケジューリング、設定確立、管理そして請求のためのシステムを提供する。このシステムは、典型的にはTCP/IPを用いて、インターネットに通じていくサーバと接続することをハンドヘルドコンピュータに可能にするだけの送信能力をもったハンドヘルドコンピュータを用いてサーバと通信するクライアントのために、サーバ上で実施される。2またはより多くの参加者たちは、会議ID、ユーザネーム、そしてシステムが許可するパスワードを通じて、サーバに接続し、そして、自動的に会議文書を入手し、コラボレーション会議を開始する。
本発明の第7の実施の形態は、データ会議と共同作用する同時音声通信を提供する。これを発展させると、この発明に多用な商業的適用をもたらす。ハードウェアおよびソフトウェア形態のデータ運搬部により提供される同時音声およびデータ(SVD)は、これからの2、3年で商業的に展開され、本発明をして現在の有線会議システムのように、同時に話し、データを共有してユーザの経験を高めることを可能にすることが期待される。
図2に言及すると、本発明による無線コラボレーション会議は、PDA100を含む無線コラボレーション会議動作を行う各装置に常駐するアプリケーションプログラム110により可能となる。アプリケーションモジュール110は、最初に概括的に次に詳しく説明される様々なモジュールを含んでいる。
パーソナルデジタルアシスタント/ハンドヘルドコンピュータ(PDA)100は、システムおよびユーザインタフェース機能、ストレージ、プログラム実行のためのメモリー、中央処理装置、オペレーティングシステムを内蔵している。
アプリケーションプログラム110は、コラボレーションまたは会議技術によって高まる機能を実行する。
デスクトップコンピュータ200は、システムおよびユーザインタフェース機能のためのメモリー、中央処理装置、オペレーティングシステムを内蔵している。
イベントループ111は、プログラム110により実行されるキューの活動を処理する。
会議コラボレーションプロトコル(CCP)イベントハンドラ120は、CCPシステムライブラリ160により生成される特定のイベントを処理し、そしてまたプログラム内の既存または新しい機能ブロック130を呼び出す。
アプリケーションプログラム機能ブロック130は、アプリケーションプログラム内で活動するコード部分である。
CCPシステムライブラリ160は、CCPAPI170を実行し、会議プロトコルメッセージ(161)、データ編集フィルタメッセージ(DEMs)(162)、ディスプレイ更新メッセージ(DUMs)(163)を処理し、コネクションを管理する。
CCPAPI170は、アプリケーションプログラムが実行し、プログラム内にCCPの機能を内蔵するために用いる会議及びコラボレーションアプリケーションプログラミングインタフェースである。
会議及びコラボレーションセッション300は、2またはより多くの接続されたPDA100またはCCPAPI170を実行するデスクトップコンピュータの間で非同期的にデータ送信を行う。
またさらに図2に言及すると、CCPシステムメッセージ161は、その全体に簡潔に提供された会議及びコラボレーションプロトコル中に記述されたフォームを引き継ぐ。
CCPデータ編集メッセージ(DEM)162及びCCPディスプレイ更新メッセージ(DUM)163も、会議及びコラボレーションプロトコルの中で記述されたフォームを引き継いでいる。データ編集メッセージ162(DEM)は遠隔のコンピュータによってデータの状態を更新するために用いられるデータブロックを分類するのに用いられ、これに対して、CCPティスプレイ更新メッセージ(DEM)163は、そのビューの状態の更新に用いられる。その違いは、遠隔のユーザが、ユーザがコラボレーションデータに変更を加えた場合もユーザのディスプレイが一貫するように、DUMs163の受信をフィルタリングし得るところにある。CCPアプリケーションプログラムインタフェース(API)170は、その全体に簡潔に提供された会議及びコラボレーションAPIの中で記述されたフォームを引き継いでいる。
PDA100上で動作する各アプリケーションプログラム110は、独自に有益なプログラムとなるための適当な動作及び機能を有するスタンドアロンのプログラムである。 CCPシステムライブラリ160によって、拡張され高められることによって、CCPシステムライブラリ160が実行するTCP/IP,赤外線、BLUETOOTHあるいは、他の全ての通信プロトコルを経由して、遠隔接続しているPDA100上の同じアプリケーションプログラム110と非同期的に通信することが可能となる。CCPシステムライブラリ160が、そのようにするために、CCPAPI170を規定しているので、低いレベルの通信は、その存在が意識されない。
CCPイベントハンドラ120は、データ編集メッセージ(DEM)162をデコードし、アプリケーションプログラム機能ブロック130を呼び出す。有利なことに、このようにすることで、各アプリケーションプログラム110は、作動中のデータは局地的に発生したものであると信じられ、そしてまた、アプリケーションプログラム110をして更なる変更をすることなく必要な動作を実行することを可能にするのである。例えば、CCPライブラリ160は、スプレッドシートのセル上での動作をもたらす内部のアプリケーションプログラム110のメモリ構造をラップするためのCCPAPI170の実行によってコード化されるデータ編集メッセージ162を受け取る。CCPイベントハンドラ120は、このDEM162を解凍し、ローカルメモリ内の同じ構造に適合させる、そして、そのデータ上で動作するため、アプリケーションプログラム機能ブロック130を呼び出す。その結果、既存のアプリケーションプログラムをほとんど変更することなく、あるいは全く変更することなく、遠隔地で発生したデータ上で作動する。このような簡潔さは、強力なユーザーインタフェース動作によって変更されたデータを送信し、逆処理を通じて複数の参加者たちのハンドヘルド上で同様のインタプリタを行い、したがって、プログラムがユーザが入ったデータ上またはユーザインタフェースの入力上で既に動作しているのと同様のあるいは同じ方法で、変更されたデータ上でのみ動作することによってもたらされる。どのデータを入力し、どのインタフェースイベントを送信し、そして応答すべきかは、発明の構成、技術の先導及びほとんどこれらプログラムが既に処理していたのと同じ動作とのみ関係するCCPAPI170の実施により簡潔化される。
CCPイベントハンドラ120は、ディスプレイ更新メッセージ163をデコードし、アプリケーションプログラム機能ブロック130を呼び出す。このようにすることで、各アプリケーションプログラムは、そのアプリケーションプログラムが動作しているデータは、局地的に発生していると信じられ、アプリケーションプログラムをしてそれ以上の変更をすることなく必要な動作を遂行することを可能にする。例えば、スクリーンタップのようにディスプレイ上での動作をもたらす内部のアプリケーションプログラム110のメモリー構造をラップするためのCCPAPI170の実施によってコード化されるディスプレイ更新メッセージ163をCCPライブラリ160が受け取ると、CCPイベントハンドラ120は、このDUM163を解凍し、同じローカルメモリ構造に適合させ、そのデータ上で動作するためアプリケーションプログラム機能ブロック130を呼び出す。その結果、既存のアプリケーションプログラムをほとんど変更することなく、あるいは全く変更することなく、遠隔で発生したデータ上で動作し、アプリケーションプログラムをして遠隔ユーザーがローカルアプリケーションプログラム110のユーザを管理するような方法で動作せしめる。このような簡潔さは、強力なユーザーインタフェース動作によって変更されたデータを送信し、逆処理を通じて複数の参加者たちのハンドヘルド上で同様のインタプリタを行い、したがって、プログラムがユーザが入ったデータ上またはユーザインタフェースの入力上で既に動作しているのと同様のあるいは同じ方法で、変更されたデータ上でのみ動作することによってもたらされる。どのデータを入力し、どのインタフェースイベントを送信し、そして応答すべきかは、発明の構成、技術の先導及びほとんどこれらプログラムが既に処理していたのと同じ動作とのみ関係するCCPAPI170の実行により簡潔化される。
CCPシステムライブラリ160は、CCP170を実行する他のPDA100上で走る遠隔のアプリケーションプログラム110とコネクトし、そしてアプリケーションプログラム110からコネクションを受け取ることができるように会議システムメッセージ161を処理する。有利なことに、アプリケーションプログラム110は、遠隔の装置とTCP/IP,IR、BLUETOOTHのコネクションを行う方法を認識する必要はないし、そのようなコネクションを切断する方法についても認識する必要はない、さらに、そのようなプロトコルとの特別な通信ルールの実施についても認識する必要はない。むしろ、アプリケーションプログラム110は、アプリケーションプログラム110に転送され通常のCCPイベントハンドラ121によって処理されるCCPシステムライブラリ160からメッセージを受け取る方法を認識していれば足りる。
CCPシステムライブラリ160は、遠隔のアプリケーションプログラム110がデータのみを処理すべきか、表示イベントも処理すべきかを決定することを可能にするためディスプレイ更新メッセージ163をフィルタリングすることができる。有利なことに、これによって、遠隔のアプリケーションプログラム110のユーザが、コラボレーションおよび会議セッション300に参加しつつ、同時にPDA100あるいはデスクトップコンピュータ210上のデータに入りそして変更することを可能にする。
各々のデスクトップコンピュータ210は、上記のPDA100と同じ方法でCCPAPI170を実行することができる。さらに、デスクトップコンピュータ210はハートモニター、HVACシステムあるいは製造装置のような固定のデータ生成装置の形をとることができる。この方法によると、これらの装置は、データ編集メッセージ161のみを実施し、遠隔監視をし、図3で示されるように前記装置やハードウェアを制御しさえする。
CCPAPI170にリンクし、実行する現在のアプリケーションは、適当な起動方法を呼び出しCCPシステムライブラリ160にコネクトするかコネクション待ち(リスン)するかを伝える。コネクションがされると、アプリケーションプログラム110はこれをCCPイベントハンドラ120によって処理されるイベントを介して認識する。
CCPイベントマネジャ170は、構造化されたバイト形式でメッセージを受け取る。これらのバイトは、図4で示されるとおり、アプリケーションに一意のメッセージidとペイロードに翻訳される文書化されたプログラム構造の上に重ねられる。ペイロードは、プログラムあるいは特定のデータのメッセージを有する。システムメッセージ161は、会議を開催し、閉会し、会議に新しい対象を受け入れ、テキストメッセージを送り、エラーメッセージを送ったり受信したりし、通信ブロックをエンキューしたりデキューしたりし、会議文書や会議及びコラボレーションプロトコルに記述されているような他の様々なプロトコル関連の実施をするために、全体に簡潔に述べられるように双方のCCPシステムライブラリ160間に送られる。
DEM162及びDUM163メッセージのようなアプリケーションの特定イベントは図5に示されているように実際の無線コラボレーションセッションに属するので最も興味深い。各データ編集メッセージ162は強力なデータ編集動作に対応するように設計されている。例えば、スプレッドシートコラボレーションの場合、セルの形式が編集されれば、送信元のアプリケーションクライアントは、新しく編集されたセルのための列、コラム、そして形式を持つDEM162を生成し、パッケージする。宛先のクライアントアプリケーションは、このDEM162を受け取り、会議メッセージidとアプリケーションに一意のメッセージidを形式編集のものとマッチングし、ペイロードを解凍し、セル形式編集を取り扱うために適当なアプリケーションレベル機能あるいは、サブルーチンを呼び出す。有利なことに、このことが、クライアントプログラムが、そのデータが局地的に発生したと考えられるようにし、アプリケーションプログラムの再デザインあるいは既に試されたアプリケーションコード上での大きな追加プログラミングを回避する。
ディスプレイ更新メッセージ163はユーザインタフェースを管理する。例えばスクローリングである。送信元クライアントアプリケーションがスクロールされたことを会議に知らせる必要がある場合、スクロールイベントをまとめ上げ、DUMとして送る。受信クライアントから受信したときは、DUMはメッセージIDに対してマッチングされ、次にスクロールイベントが解析される。その後、このスクロールイベントは、そのクライアントアプリケーションが内部で生成するように各受信クライアントにおいて生成され、各受信クライアントプログラムが、イベントが局地的に起動されたと考えるように、適当な機能呼び出しが行われる。有利なことに、このことがクライアントプログラムの大きな再設計を回避し、既に慎重に試験されたコードに触れることを回避する。
DUM163は、受信クライアントアプリケーションが指示した場合には、CCPシステムライブラリ160がDUMメッセージ163を選択的にフィルタリングし得る点で独自性がある。この長所は、受信クライアントアプリケーションを会議におけるデータ参加者とすることを可能にするが、まだ同時的編集の困難性に対処するスクリーンユーザーインタフェースは持たない。会議及びコラボレーションプロトコル160及び会議及びコラボレーションAPI170は、どのようにしてDUMイベントを可能あるいは不可能にする適当な機能呼び出しを行うかについてここで詳しく説明する。
コラボレーションプロトコル仕様(CCP)
導入
コラボレーションプロトコルは、様々な形式のコンテンツを交換するべく、ピア装置を相互にコネクトすること及びクライアントをサーバにコネクトすることの双方を可能にするためのトランスポート独立のプロトコルである。実際のコンテンツ交換の形式はこの文書の中で記述されているが、プロトコルを用いるアプリケーションの機能として考慮されている。このプロトコルが、トランスポートニュートラル及びコンテンツニュートラルの両方であることは強調する価値がある。プロトコルそのものは、追加のコンテンツフォーマットのために拡張可能である。
導入
コラボレーションプロトコルは、様々な形式のコンテンツを交換するべく、ピア装置を相互にコネクトすること及びクライアントをサーバにコネクトすることの双方を可能にするためのトランスポート独立のプロトコルである。実際のコンテンツ交換の形式はこの文書の中で記述されているが、プロトコルを用いるアプリケーションの機能として考慮されている。このプロトコルが、トランスポートニュートラル及びコンテンツニュートラルの両方であることは強調する価値がある。プロトコルそのものは、追加のコンテンツフォーマットのために拡張可能である。
この文書の中において、ターム受信装置がタームリレーサーバを用いる場合には常に、クライアントサーバ状態に代替される。
プロトコルの最初のバージョンは2つのトランスポート(irDA及びTCP/IP)に言及するが、他のプロトコルの追加的サポートはこの文書に影響を与えないと仮定する。
プロトコルヘッダ中の全ての16ビット及び32ビットのインテジャーは、ピア装置に送られる前に、ネットワークバイト順に変換される。
全ての構造定義、コンスタンツ及び列挙されたタイプについては、Collab.hファイルを参照する。API定義については、Collaboration_ptcl_spec.docを参照する。
この文書は、以下のコラボレーションプロトコルAPI及びトランスポートニュートラルAPIの間のデータを説明する。
メッセージ概観
この部では、コラボレーションプロトコルメッセージの完全な詳細について定義する。
この部では、コラボレーションプロトコルメッセージの完全な詳細について定義する。
全てのコラボレーションプロトコルメッセージにおいて、始めの16バイトの領域は同じである。
・メッセージ中のバイト−ヘッダを含んだコラボレーションプロトコルメッセージ全体のバイト数。受信装置は、アプリケーションに届けられる前に、メッセージ中の全てのバイトを受信するまで、この値を利用してトランスポート上で読み取り続けることでができる。メモ:全ての16及び32ビットのインテジャーはネットワークバイト順に送られる。
・メッセージタイプ−メッセージには4つのグループがあり、あるメッセージがどのグループに属するかはビットマスクによって決定される。
・0x------01から0x------FF:システムメッセージ(もしmsg & 0x000000FFなら)
・0x----01--から 0x----FF--:会議メッセージ、典型的には他の全ての会議参加者に中継される。(もしmsg & 0x0000FF00なら)
・0x--01----から 0x--FF----:ユーザ定義メッセージ(もしmsg & 0x00FF0000なら)
・0x01------ から0xFF------:予備
・メッセージタイプ−メッセージには4つのグループがあり、あるメッセージがどのグループに属するかはビットマスクによって決定される。
・0x------01から0x------FF:システムメッセージ(もしmsg & 0x000000FFなら)
・0x----01--から 0x----FF--:会議メッセージ、典型的には他の全ての会議参加者に中継される。(もしmsg & 0x0000FF00なら)
・0x--01----から 0x--FF----:ユーザ定義メッセージ(もしmsg & 0x00FF0000なら)
・0x01------ から0xFF------:予備
システムメッセージについては以下が定義される。
会議メッセージについては以下のように定義される。
・プロトコルバージョン−最も重大なバイトは主要なバージョン数を含んでいる。最も重要でないバイトは、副次的なバージョン数を含んでいる。1.02バージョンでは、この値は0x0102である。
・会議ID−この値はコラボレーションセッションの開始前にユーザに通信され、クライアント装置上の入力メソッドを介してユーザから入力されていなくてはならない。ピアツーピアの会議ではこの値は0xFFFFでなくてはならない。例外はclbSysConfIDRequest及びclbSysConfIDResponseメッセージで、その値は、0xFFFFでなくてはならない。
・ ユーザID−この値はコラボレーションセッションの開始前にユーザに通信され、クライアント装置上の入力メソッドを介してユーザから入力されていなくてはならない。ピアーツーピアの会議ではこの値は0xFFFFでなくてはならない。この値は2つの目的で用いられる。
・ このユーザーが特定の会議に属することを確認する。
・ この装置からのメッセージに従ってこのユーザ/装置を確認する。
・プロトコルバージョン−最も重大なバイトは主要なバージョン数を含んでいる。最も重要でないバイトは、副次的なバージョン数を含んでいる。1.02バージョンでは、この値は0x0102である。
・会議ID−この値はコラボレーションセッションの開始前にユーザに通信され、クライアント装置上の入力メソッドを介してユーザから入力されていなくてはならない。ピアツーピアの会議ではこの値は0xFFFFでなくてはならない。例外はclbSysConfIDRequest及びclbSysConfIDResponseメッセージで、その値は、0xFFFFでなくてはならない。
・ ユーザID−この値はコラボレーションセッションの開始前にユーザに通信され、クライアント装置上の入力メソッドを介してユーザから入力されていなくてはならない。ピアーツーピアの会議ではこの値は0xFFFFでなくてはならない。この値は2つの目的で用いられる。
・ このユーザーが特定の会議に属することを確認する。
・ この装置からのメッセージに従ってこのユーザ/装置を確認する。
リレーサーバ(あるいは受信装置)はこの値を確認して蓄積し、特定のクライアントを認識するために用いなくてはならない。これは、ユーザネームに類似している。
システムメッセージ
システムメッセージはクライアントからリレーサーバに、リレーサーバからクライアントへ、あるいはピアーツーピアに送信される。システムメッセージは、自動的には、リレーサーバによって他のクライアント装置に送られない。これらは、特定のクライアントとリレーサーバの間の関係にとってのある特有な相互関係を示すために用いられる。
システムメッセージはクライアントからリレーサーバに、リレーサーバからクライアントへ、あるいはピアーツーピアに送信される。システムメッセージは、自動的には、リレーサーバによって他のクライアント装置に送られない。これらは、特定のクライアントとリレーサーバの間の関係にとってのある特有な相互関係を示すために用いられる。
clbSysConnectRequest(0x00000001)
このメッセージはトランスポートコネクションが起動した後、アクティブ装置(トランスポートコネクションを開始するもの)から受信装置に送られる。これが、交換された最初のメッセージであるはずである。
このメッセージはトランスポートコネクションが起動した後、アクティブ装置(トランスポートコネクションを開始するもの)から受信装置に送られる。これが、交換された最初のメッセージであるはずである。
このメッセージのための、メッセージペイロードは以下の通りである。
・ アプリケーションタイプは、アプリケーションがサポートされない場合または会議に適合しない場合には受信装置がセッションを拒絶するようにConnectRequestメッセージ中にある。以下にアプリケーションタイプが定義される。
・clbAppTypeIM=1
・clbAppTypeQuickWord=2
・clbAppTypeQuickSheet=3
・ パスワードは符号化されずに送られる。
・clbAppTypeIM=1
・clbAppTypeQuickWord=2
・clbAppTypeQuickSheet=3
・ パスワードは符号化されずに送られる。
clbSysConnectResponse(0x00000002)
このメッセージは、clbSysConfIDRequestメッセージの受信に応えて、受信(リスニング)装置からアクティブ装置に送られる。受信装置は会議ID、参加者ID及びパスワードを認証し、このメッセージを応答として送信する。その目的は、情報が有効であるかどうかを示し、そして、可能であれば、アクティブ装置を別のアドレスにそして/または別のポート番号に切り替えることにある。
このメッセージは、clbSysConfIDRequestメッセージの受信に応えて、受信(リスニング)装置からアクティブ装置に送られる。受信装置は会議ID、参加者ID及びパスワードを認証し、このメッセージを応答として送信する。その目的は、情報が有効であるかどうかを示し、そして、可能であれば、アクティブ装置を別のアドレスにそして/または別のポート番号に切り替えることにある。
このメッセージのためのメッセージペイロードは以下のとおりである。
応答コードは以下のうちの一つである。
・ETClbResponseAcceptNoRedirect(0x0001):有効な会議及びユーザID。この会議はこの装置により開催される。
・ETClbResponseAcceptRedirect(0x0002):有効な会議及びユーザID。クライアントは与えられたアドレスからディスコネクトし、再コネクトしなくてはならない。
・ETClbResponseRejectBadConfID(0x0003):未知の会議
・ETClbResponseRejectBadConfTime(0x0004):既知だが現在は進行していない会議
・ETClbResponseRejectBadUserID(0x0005):この会議についてはユーザidが有効でない。
・ETClbResponseRejectBadPassword(0x0006):ユーザ名は有効だが、パスワードは有効でない。
・ETClbResponseRejectUnsupportedApp(0x0007):受信装置によってサポートされていない要求されたアプリケーション
・ETClbResponseRejectMaxClients(0x0008):クライアントの最大数が既にコネクトしている。
・ETClbResponseRejectByUser(0x0009):ユーザによって拒絶されている。
・ETClbResponseRejectOther(0x000A):未特定の拒絶
・ETClbResponseAcceptNoRedirect(0x0001):有効な会議及びユーザID。この会議はこの装置により開催される。
・ETClbResponseAcceptRedirect(0x0002):有効な会議及びユーザID。クライアントは与えられたアドレスからディスコネクトし、再コネクトしなくてはならない。
・ETClbResponseRejectBadConfID(0x0003):未知の会議
・ETClbResponseRejectBadConfTime(0x0004):既知だが現在は進行していない会議
・ETClbResponseRejectBadUserID(0x0005):この会議についてはユーザidが有効でない。
・ETClbResponseRejectBadPassword(0x0006):ユーザ名は有効だが、パスワードは有効でない。
・ETClbResponseRejectUnsupportedApp(0x0007):受信装置によってサポートされていない要求されたアプリケーション
・ETClbResponseRejectMaxClients(0x0008):クライアントの最大数が既にコネクトしている。
・ETClbResponseRejectByUser(0x0009):ユーザによって拒絶されている。
・ETClbResponseRejectOther(0x000A):未特定の拒絶
拒絶のいくつかを受信すると、アクティブ側はトランスポートコネクションを閉じなければならない。トランスポートコネクションが閉じられていないイベントでは受信側はコネクションで受信されたどのさらなるメッセージも無視する。
ETClbResponseAcceptRedirectメッセージを受信すると、アクティブ側はコネクションを閉じ、新しいアドレスを解析し、そして新しいトランスポートにコネクトを試みなくてはならない。トランスポートは現在のトランスポートと同じであると仮定される。アドレスは、TCP/IPのための以下の構造、すなわち、‘:’という文字に続くNULL値で終了するポート番号を伴うホスト名またはIPアドレスオクテットを伴うASCIIフォーマット内に存在する。例えば、“yahoo.com:9800”、あるいは、”192.168.1.3:9778”である。
clbSysConfIDRequest(0x00000003)
このメッセージの目的は、ピアツーピアの会議中の受信装置に、アクティブ側にそのIPアドレスを持つことを要求しない方法を提供することにある。代わりに、会議IDが受信装置をアドレス付けするのに用いられる。受信装置は会議IDとIPアドレスを結びつける役割を持つサーバにコネクトし、このメッセージを最初メッセージとして送る。サーバは、新しい会議IDを伴うclbSysConfIDResponseメッセージに応答する。サーバは、会議ID及びIPアドレスをログし、アクティブピアが良く知られたサーバに接続しようとしたときには、受信装置に切り替えられる。
このメッセージの目的は、ピアツーピアの会議中の受信装置に、アクティブ側にそのIPアドレスを持つことを要求しない方法を提供することにある。代わりに、会議IDが受信装置をアドレス付けするのに用いられる。受信装置は会議IDとIPアドレスを結びつける役割を持つサーバにコネクトし、このメッセージを最初メッセージとして送る。サーバは、新しい会議IDを伴うclbSysConfIDResponseメッセージに応答する。サーバは、会議ID及びIPアドレスをログし、アクティブピアが良く知られたサーバに接続しようとしたときには、受信装置に切り替えられる。
メッセージヘッダ中の会議IDは、0xFFFFでなければならない。
このメッセージのメッセージペイロードは以下のとおりである。
・ IPアドレスはネットワークバイト順に送信される。
・ パスワードは符号化されずに送信され、NULL値で終了する。
このメッセージのメッセージペイロードは以下のとおりである。
・ パスワードは符号化されずに送信され、NULL値で終了する。
clbSysConfIDResponse(0x00000004)
このメッセージは、ClbSysConfIDRequestを受信した際に会議IDサーバからクライアントに送信される。
メッセージヘッダ中の会議IDは0xFFFFである。
このメッセージに対するメッセージペイロードは以下のとおりである。
・ ペイロード内の会議IDはネットワークバイト順でなければならない。
このメッセージは、ClbSysConfIDRequestを受信した際に会議IDサーバからクライアントに送信される。
メッセージヘッダ中の会議IDは0xFFFFである。
このメッセージに対するメッセージペイロードは以下のとおりである。
clbSysJoinConference(0x00000005)
このメッセージは、コラボレーションセッションが確立された後直ちに、アクティブ装置(トランスポートコネクションを開始するもの)から受信装置に送られる。受信ピア装置は、メッセージを無視することができる。リレーサーバは、以下のことをしなければならない。
・ もし、これがこの会議の最初のユーザである場合には、会議が開始される。
・ もし、これがこの会議の最初のユーザではなく、この会議が「公の」会議として設定されていなければ、リレーサーバは、このユーザが会議に参加することを知らせるために、clbSysUserStatusメッセージを生成し、全ての既存の会議参加者に送信する。
このメッセージは、コラボレーションセッションが確立された後直ちに、アクティブ装置(トランスポートコネクションを開始するもの)から受信装置に送られる。受信ピア装置は、メッセージを無視することができる。リレーサーバは、以下のことをしなければならない。
・ もし、これがこの会議の最初のユーザである場合には、会議が開始される。
・ もし、これがこの会議の最初のユーザではなく、この会議が「公の」会議として設定されていなければ、リレーサーバは、このユーザが会議に参加することを知らせるために、clbSysUserStatusメッセージを生成し、全ての既存の会議参加者に送信する。
このメッセージのメッセージペイロードは以下のとおりである。
・ 装置のタイプは以下のうちの一つである。
・0x0001:PalmOS PDA
・0x0002:PocketPC PDA
・0x0003:J2ME ディスプレイ装置
・(必要に応じて追加)
・ 自ら与えた記述名は、ユーザが会議に参加したり離脱した時に、他の会議参加者に送られる。これは、NULL値で終了しなければならない。リレーサーバは、この内部構造の中で、この領域をこのユーザに結びつける。
・0x0001:PalmOS PDA
・0x0002:PocketPC PDA
・0x0003:J2ME ディスプレイ装置
・(必要に応じて追加)
・ 自ら与えた記述名は、ユーザが会議に参加したり離脱した時に、他の会議参加者に送られる。これは、NULL値で終了しなければならない。リレーサーバは、この内部構造の中で、この領域をこのユーザに結びつける。
clbSysLeaveConference(0x00000006)
このメッセージは、会議を離れるときにクライアントからリレーサーバに送られる。通常は、直ちに、クライアント装置によるトランスポートコネクションの閉鎖に進む。受信ピア装置はメッセージを無視することができる。リレーサーバは、以下のことをしなくてはならない。
・ もし、これが、この会議の最後のユーザであれば、この会議は閉鎖される。
・ もし、これがこの会議の最後のユーザではなく、この会議が「公の」会議として設定されていなければ、リレーサーバは、このユーザが会議を離脱することを知らせるために、clbSysUserStatusメッセージを生成し、全ての既存の会議参加者に送る。
このメッセージのためのメッセージペイロードはない。
このメッセージは、会議を離れるときにクライアントからリレーサーバに送られる。通常は、直ちに、クライアント装置によるトランスポートコネクションの閉鎖に進む。受信ピア装置はメッセージを無視することができる。リレーサーバは、以下のことをしなくてはならない。
・ もし、これが、この会議の最後のユーザであれば、この会議は閉鎖される。
・ もし、これがこの会議の最後のユーザではなく、この会議が「公の」会議として設定されていなければ、リレーサーバは、このユーザが会議を離脱することを知らせるために、clbSysUserStatusメッセージを生成し、全ての既存の会議参加者に送る。
このメッセージのためのメッセージペイロードはない。
clbSysUserStatus(0x00000007)
このメッセージは、ユーザが会議に参加したり離脱したときにクライアント装置からリレーサーバに送られる。
このメッセージのメッセージペイロードは以下のとおりである。
・ 状態は、以下のいずれかである。
・ 0x0001:ユーザが会議に参加した。
・ 0x0002:ユーザが会議を離れた。
・ 記述名は、clbSysJoinConferenceメッセージ内で、このクライアントによって与えられたものと同じである。
このメッセージは、ユーザが会議に参加したり離脱したときにクライアント装置からリレーサーバに送られる。
このメッセージのメッセージペイロードは以下のとおりである。
・ 0x0001:ユーザが会議に参加した。
・ 0x0002:ユーザが会議を離れた。
・ 記述名は、clbSysJoinConferenceメッセージ内で、このクライアントによって与えられたものと同じである。
clbSysNewDocument(0x00000008)
このメッセージは、クライアントの一つからclbSyssSetDocumentメッセージを受信すると、リレーサーバからクライアント装置に送られる。この目的は、残りのクライアントに会議文書が検索可能であることを知らせることにある。普通は、クライアント装置は文書を得るために、clbSysGetDocumentメッセージをリレーサーバに送る。
このメッセージは、クライアントの一つからclbSyssSetDocumentメッセージを受信すると、リレーサーバからクライアント装置に送られる。この目的は、残りのクライアントに会議文書が検索可能であることを知らせることにある。普通は、クライアント装置は文書を得るために、clbSysGetDocumentメッセージをリレーサーバに送る。
clbSysGetDocument(0x00000009)
このメッセージは、クライアントから、リレーサーバに、またはピアツーピアに送られる。目的は、会議文書を得ることである。
このメッセージは、クライアントから、リレーサーバに、またはピアツーピアに送られる。目的は、会議文書を得ることである。
このメッセージを受け取ると、リレーサーバあるいは受信ピア装置がclbSysSetDocumentメッセージにおいて、クライアントに文書を送らなくてはならない。
このメッセージのペイロードは、以下を含む。
このメッセージのペイロードは、以下を含む。
もし、メッセージ中に、何の文書名もない場合(ペイロードにバイトが全くないあるいは、単に0バイト(エンプティストリング)であると示される)には、受信装置は、どの文書が会議文書であるか知っていると推定され、clbSysSetDocumentメッセージ内でこれに応答する。
clbSysSetDocument(0x0000000A)
このメッセージが送られる状況は、3つある。
・ ピア装置が、他のクライアントにこれを届けるために、会議文書をリレーサーバに送りたいとき。
・ リレーサーバが、会議文書をクライアントに送りたいとき。
・ 2つのピア装置が会議をしていて、一方が他方に会議文書を送りたいとき。
このメッセージが送られる状況は、3つある。
・ ピア装置が、他のクライアントにこれを届けるために、会議文書をリレーサーバに送りたいとき。
・ リレーサーバが、会議文書をクライアントに送りたいとき。
・ 2つのピア装置が会議をしていて、一方が他方に会議文書を送りたいとき。
このメッセージを受信すると、受信クライアントは、メッセージ全体を読んで、文書本体を取得し、その文書を“ディスク”に保存する。
リレーサーバがこのメッセージを受信すると、他のすべてのクライアントに、新しい会議文書がclbSysNewDocumentメッセージを介して入手可能であることを知らせる。クライアントは、clbSysGetDocumentメッセージによって、新しい文書を入手する選択をすることが可能である。
このメッセージのペイロードは、以下を含む。
・ その文書を受信した装置は、メッセージヘッダのトータルバイトフィールドを用いて、いつ文書全体が受信されたかを決定する。一旦文書全体が受信され、蓄積されると、そのアプリケーションはその文書上で(それをロードすることによって)動作する。
このメッセージのペイロードは、以下を含む。
clbSysSetDocumentResponse(0x0000000B)
このメッセージはクライアントからリレーサーバまたはピアツーピアに送信される。その目的は他の側にclbSysSetDocumentメッセージ中において送信された会議文書を受信したことを知らせることである。
このメッセージのペイロードは以下を含む。
その状態は、以下のいずれかである。
・ CLB_SETDOCRESPONSE_OK(1):エラーなし
・ CLB_SETDOCRESPONSE_ERR(2):文書は受信されていないままである
このメッセージはクライアントからリレーサーバまたはピアツーピアに送信される。その目的は他の側にclbSysSetDocumentメッセージ中において送信された会議文書を受信したことを知らせることである。
このメッセージのペイロードは以下を含む。
・ CLB_SETDOCRESPONSE_OK(1):エラーなし
・ CLB_SETDOCRESPONSE_ERR(2):文書は受信されていないままである
clbMsgSetDisplayUpdateState(0x0000000C)
このメッセージはそれを送信した装置がディスプレイ更新メッセージ(DUMs)の受信を必要とするか必要としないかを特定するために使用される。
2バイトのペイロードが含まれる。
この状態は、以下のいずれかである。
・ CLB_DISPLAYUPDATE_ENABLE(1)-はい、DUMsを送信してください。
・ CLB_DISPLAYUPDATE_DISABLE(2)-いいえ、DUMsを送信しないでください。
このメッセージはそれを送信した装置がディスプレイ更新メッセージ(DUMs)の受信を必要とするか必要としないかを特定するために使用される。
2バイトのペイロードが含まれる。
・ CLB_DISPLAYUPDATE_ENABLE(1)-はい、DUMsを送信してください。
・ CLB_DISPLAYUPDATE_DISABLE(2)-いいえ、DUMsを送信しないでください。
clbMsgBaton(0x0000000D)
このメッセージはバトンを要求するためにリクエストと応答を通信するために用いられる。会議が“プロジェクター”モードであるときは、1つの装置のみがディスプレイ更新メッセ−ジ(DUMs)とデータ編集メッセージ(DEMs)を送信することができる。それは、これらのメッセージを送信するためのバトンを所有する。
このメッセージのペイロードは以下を含む。
そのバトンアクションは以下のうちの一つである。
・ CLB_BATON_REQUEST(1)-送信者はバトンを要求している。
・ CLB_BATON_GRANTED(2)-送信者はバトンの所有を許可している。
・ CLB_BATON_GRANTED_DUE_TO_TIMEOUT(3)-バトンを所有する装置はそのバトンリクエストへ応答せず、そのためバトンの所有を断念する。
・ CLB_BATON_DENIED(4)-送信者はバトンを断念するリクエストを拒否する。
・ CLB_PROJECTOR_MODE_CANCELLED(5)-会議はプロジェクターモードを離れている。
このメッセージはバトンを要求するためにリクエストと応答を通信するために用いられる。会議が“プロジェクター”モードであるときは、1つの装置のみがディスプレイ更新メッセ−ジ(DUMs)とデータ編集メッセージ(DEMs)を送信することができる。それは、これらのメッセージを送信するためのバトンを所有する。
このメッセージのペイロードは以下を含む。
・ CLB_BATON_REQUEST(1)-送信者はバトンを要求している。
・ CLB_BATON_GRANTED(2)-送信者はバトンの所有を許可している。
・ CLB_BATON_GRANTED_DUE_TO_TIMEOUT(3)-バトンを所有する装置はそのバトンリクエストへ応答せず、そのためバトンの所有を断念する。
・ CLB_BATON_DENIED(4)-送信者はバトンを断念するリクエストを拒否する。
・ CLB_PROJECTOR_MODE_CANCELLED(5)-会議はプロジェクターモードを離れている。
会議メッセージ
会議メッセージはクライアントからリレーサーバ、リレーサーバからクライアントまたはピアツーピアに送信される。会議メッセージはリレーサーバによって他のクライアント装置に向けて自動的に送信される(しかし元の装置に戻ることはない)。
会議メッセージはクライアントからリレーサーバ、リレーサーバからクライアントまたはピアツーピアに送信される。会議メッセージはリレーサーバによって他のクライアント装置に向けて自動的に送信される(しかし元の装置に戻ることはない)。
(リレーサーバによってクライアントに中継されたものでなく)クライアントから発した会議メッセージにとって、ヘッダ中のユーザIDは固有のユーザIDである。リレーサーバによってクライアントに中継された会議メッセージにとって、ヘッダ中のユーザIDは起点のユーザIDである。
clbConfDataUpdate
このメッセージは会議文書中のいくつかのタイプの変更を示している。それはクライアントからリレーサーバ、リレーサーバからクライアントあるいはピアツーピアに送信される。このメッセージを受信すると、リレーサーバはその変更されていないメッセージを別のクライアントへ送信する。リレーサーバはまた、マスタ文書を更新する[最初のバージョンにおいてではない]。
このメッセージは会議文書中のいくつかのタイプの変更を示している。それはクライアントからリレーサーバ、リレーサーバからクライアントあるいはピアツーピアに送信される。このメッセージを受信すると、リレーサーバはその変更されていないメッセージを別のクライアントへ送信する。リレーサーバはまた、マスタ文書を更新する[最初のバージョンにおいてではない]。
このメッセージのペイロードは会議中のアプリケーションに依存する。このメッセージのためにデータをフォーマットすることは、そのアプリケーションの責任である。そのプロトコルはメッセージヘッダ中のメッセージタイプをclbConfDataUpdateに設定し、そのデータを受信者に配信する。
clbConfDisplayUpdate
このメッセージは会議文書のディスプレイ中におけるいくつかのタイプの変更を示す。それはクライアントからリレーサーバ、リレーサーバからクライアント、ピアツーピアに送信される。このメッセージを受信すると、そのリレーサーバは、その変更されないメッセージを別のクライアントに送信する。
このメッセージは会議文書のディスプレイ中におけるいくつかのタイプの変更を示す。それはクライアントからリレーサーバ、リレーサーバからクライアント、ピアツーピアに送信される。このメッセージを受信すると、そのリレーサーバは、その変更されないメッセージを別のクライアントに送信する。
このメッセージのペイロードは会議中のアプリケーションに依存する。このメッセージのためにデータをフォーマットすることは、そのアプリケーションの責任である。そのプロトコルはメッセージヘッダ中のメッセージタイプをclbConfDisplayUpdateに設定し、そのデータを受信者に配信する。
そのアプリケーションがそのデータを解釈、処理し得るかを決定するため、そのプロトコルはそのメッセージの最初の4バイトがそのメッセージに含まれるデータのアプリケーションタイプ情報領域とバージョン情報領域を含むように明記する。
clbConfText
このメッセージは、会議セッションがオープンされた後にいつでも、クライアント装置からリレーサーバ、リレーサーバからクライアント装置、またはピアツーピアセッションにあるいずれかのピアから送信される。
このメッセージは、会議セッションがオープンされた後にいつでも、クライアント装置からリレーサーバ、リレーサーバからクライアント装置、またはピアツーピアセッションにあるいずれかのピアから送信される。
前に記述したメッセージヘッダに加えて、clbConfTextMsgはメッセージのためのNULL値で終了する以下のヘッダに続くASCIIテキストを含む。
・ そのテキストが1人のユーザに配信されるなら、ユーザIDは最初の2バイト中に設置される。そのメッセージが全てのユーザに配信されるなら、またはピアツーピアの会議なら、0xFFFF値は最初の2バイトに存在する。
セッション閉鎖
受信装置またはアクティブ装置のいずれかは単にトランスポートコネクションを閉じることによっていつでも会議セッションを閉じることができる。
受信装置またはアクティブ装置のいずれかは単にトランスポートコネクションを閉じることによっていつでも会議セッションを閉じることができる。
会議及びコラボレーションプロトコルAPI(CCP API)
コントロールブロック
コントロールブロックと呼ばれる構造は、コラボレーションレイヤーの全ての機能に入力され、そのコラボレーションレイヤーによって、トランスポートモジュールに入力される。それは、プロトコルスタック全体のマスタ構造と思われる。それは、状態、アドレス、コネクションタイプ、現在の入力メッセージについての受信したバイト数、その他を追跡する。この構造は、メインモジュールにおいては、コラボレーションレイヤーとのインタフェースとなり、メインアプリケーションイベントループを含むモジュールにおいては、エキスターンとして活用できる。
コントロールブロック
コントロールブロックと呼ばれる構造は、コラボレーションレイヤーの全ての機能に入力され、そのコラボレーションレイヤーによって、トランスポートモジュールに入力される。それは、プロトコルスタック全体のマスタ構造と思われる。それは、状態、アドレス、コネクションタイプ、現在の入力メッセージについての受信したバイト数、その他を追跡する。この構造は、メインモジュールにおいては、コラボレーションレイヤーとのインタフェースとなり、メインアプリケーションイベントループを含むモジュールにおいては、エキスターンとして活用できる。
説明:保留中イベントをチェックする。任意の保留中出力メッセージを記述し、そして、SR(トランスポート)レイヤーにCPU時間を与える。この機能は、アプリケーションのメインイベントループ中のループから呼び出される。
例:
例:
説明:コラボレーションセッションを確立するプロセスを開始する。アプリケーションはこのルーチンの呼び出しを行う前に望まれるコネクションの型を設定する。それは、TCP/IPコネクションを確立する際に、呼び出しの前にctlBlock内でIPアドレスとポートを設定する。呼び出し元は、イベントキュー上のCLB_CONNECTION_UPイベントを介してコネクションを通知される。
パラメータ:
ctlBlock マスタコントロールブロックへのポインタ
xPort トランスポートタイプ(IRまたはTCP/IP、sr.h参照)
confID 会議id。UIを介してユーザにより入力
userID ユーザid。UIを介してユーザにより入力
appType アプリケーション。アプリケーションにより知られる。例えばQuickWord
passWord このユーザのパスワード。Null値で終了。
例:
パラメータ:
ctlBlock マスタコントロールブロックへのポインタ
xPort トランスポートタイプ(IRまたはTCP/IP、sr.h参照)
confID 会議id。UIを介してユーザにより入力
userID ユーザid。UIを介してユーザにより入力
appType アプリケーション。アプリケーションにより知られる。例えばQuickWord
passWord このユーザのパスワード。Null値で終了。
例:
説明:
特定のコネクションタイプ上で“リスニング”を開始する。コネクションタイプはctlBlock.connType領域において特定される。この呼び出しを行う前にそれを希望するトランスポートに設定する。これは非同期呼び出しである。1個のコネクションが確立したら、呼び出し元はイベントキュー上のCLB_CONNECTION_UPイベントを介して通知される。
パラメータ:ctlBlock コネクションコントロールブロックへのポインタ
acceptSessCB セッション承認のためのコールバック機能へのポインタ
例:
特定のコネクションタイプ上で“リスニング”を開始する。コネクションタイプはctlBlock.connType領域において特定される。この呼び出しを行う前にそれを希望するトランスポートに設定する。これは非同期呼び出しである。1個のコネクションが確立したら、呼び出し元はイベントキュー上のCLB_CONNECTION_UPイベントを介して通知される。
パラメータ:ctlBlock コネクションコントロールブロックへのポインタ
acceptSessCB セッション承認のためのコールバック機能へのポインタ
例:
説明:新たな会議のための会議IDを取得する処理を開始する。ピアツーピアの会議では、受信装置はそのIPアドレスを良く知られたサーバに登録するためにこの機能を呼び出す。アクティブクライアントは、その良く知られたサーバにコネクトし、宛名が書き換えられることによって、受信装置に返された会議IDを用いて受信装置にコネクトすることができる。
この呼び出しの結果は、evtData32が新たな会議IDを有するCLB_CONFIDを介してそのアプリケーションに渡される。そのアプリケーションはclbListenを呼び出してリスンモードに入る。
パラメータ:
cltBlock マスタコントロールブロックへのポインタ
xPort トランスポートタイプ(IRまたはTCP/IP。sr.h参照)
userID UIを介してユーザにより入力されたユーザid
passWord このユーザに対するパスワード。Null値で終了。
例:
この呼び出しの結果は、evtData32が新たな会議IDを有するCLB_CONFIDを介してそのアプリケーションに渡される。そのアプリケーションはclbListenを呼び出してリスンモードに入る。
パラメータ:
cltBlock マスタコントロールブロックへのポインタ
xPort トランスポートタイプ(IRまたはTCP/IP。sr.h参照)
userID UIを介してユーザにより入力されたユーザid
passWord このユーザに対するパスワード。Null値で終了。
例:
説明:現在のコネクションに対するコラボレーションメッセージ中にデータを書き込む。呼び出し元はclbCreate呼び出しを用いてそのメッセージを生成し、バッファ中にデータをコピーし、この機能を呼び出してその書き込みを行う。これは非同期呼び出しである。呼び出し元はイベントキュー上のイベントを介して書き込みがうまくなされたことを通知される。
パラメータ:
ctlBlock コネクションコントロールブロックへのポインタ
outBuf 書き込まれるバッファへのポインタ
返却:
例:
パラメータ:
ctlBlock コネクションコントロールブロックへのポインタ
outBuf 書き込まれるバッファへのポインタ
返却:
説明:オープンコネクションをディスコネクトする。これは非同期呼び出しである。呼び出し元はイベントキュー上のイベントを介してそのコネクションが閉じられたことを通知される。1つのclbMsgLeaveConference メッセージが、そのコネクションを閉じる前に出力される。
パラメータ:
ctlBlock マスタコントロ−ルブロックへのポインタ
パラメータ:
ctlBlock マスタコントロ−ルブロックへのポインタ
説明:満たされたヘッダと、満たされる用意がなされたペイロードを有するコラボレーションメッセージを生成する。バイト数は、ペイロードのみに必要とされる数である。この機能はヘッダ領域のために自動的に計算される。それは、そのメッセージヘッダ(そしてそのメッセージそのもの)へのポインタを返す。その“ペイロード”アドレスにアクセスするためにCLB_BUF_ADDRマクロを使用する。
パラメータ:
Message type 例:clbMsgConfText,clbMsgConfDataUpdate
Conference ID サーバへ望ましい会議を認識させる一意のID
User ID サーバへこのユーザを認識させる一意のID
Number of bytes ペイロードのみ。メッセージヘッダを算入しない。
例: (例えば、clbSendMsgのコメント参照)
パラメータ:
ctlBlock コネクションコントロールブロックへのポインタ
docName 送信する文書名(NULL値で終了)
conferenceID 現在の会議の会議ID
userID ユーザID
パラメータ:
Message type 例:clbMsgConfText,clbMsgConfDataUpdate
Conference ID サーバへ望ましい会議を認識させる一意のID
User ID サーバへこのユーザを認識させる一意のID
Number of bytes ペイロードのみ。メッセージヘッダを算入しない。
例: (例えば、clbSendMsgのコメント参照)
ctlBlock コネクションコントロールブロックへのポインタ
docName 送信する文書名(NULL値で終了)
conferenceID 現在の会議の会議ID
userID ユーザID
説明:
正しいヘッダ情報を持つclbSysSetDocumentメッセージを生成し、そのメッセージを送信し、文書データベースを見つけ、それを送信する。
例:
注意:これは非同期メッセージであり、受信装置がclbMsgSetDocumentResponseメッセージによって文書の受信を認識した後にそのアプリケーションに送信されるCLB_WRITEDOC_COMPLETEイベントを発生させる。
正しいヘッダ情報を持つclbSysSetDocumentメッセージを生成し、そのメッセージを送信し、文書データベースを見つけ、それを送信する。
例:
説明:コントロールブロックの様々な要素の状態を新しい状態に変える。有効な状態はTStatusType typedefによって定義される。
そのアプリケーションはETConnStatusDown、ETConnStatusUp、ETConnStatusListenPending、そしてETConnStatusListeningのみを用いる。別の状態は内部においてコラボレーションモジュールに使用される。例えば、
そのアプリケーションは、
・CLB_CONNECTION_UPイベントを受信すると状態をETConnStatusUpに設定する。
・CLB_CONNECTION_DOWNイベントを受信すると状態をETConnStatusDownに設定する。
・ 新たなコネクションを開始する直前に状態をETConnStatusDownに設定する。
・ clbListenを呼び出す直前に状態をETConnStatusListenPendingに設定する。
・ リスンをキャンセルしたときに状態をETConnStatusDownに設定する。
パラメータ:
ctlBlock コントロールブロックへのポインタ
new state 有効状態を参照
例:
そのアプリケーションは、
・CLB_CONNECTION_UPイベントを受信すると状態をETConnStatusUpに設定する。
・CLB_CONNECTION_DOWNイベントを受信すると状態をETConnStatusDownに設定する。
・ 新たなコネクションを開始する直前に状態をETConnStatusDownに設定する。
・ clbListenを呼び出す直前に状態をETConnStatusListenPendingに設定する。
・ リスンをキャンセルしたときに状態をETConnStatusDownに設定する。
パラメータ:
ctlBlock コントロールブロックへのポインタ
new state 有効状態を参照
例:
説明:トランスポート(SR)層を呼出し、コネクトされた装置のストリングフォーマット中の名称を取得する。peerName中のNULL値で終了するフォームを返す。その名称はそのトランスポートに依存する。例えば、TCP/IPについては、それは“192.168.1.1”の形のIPアドレスを返す。
パラメータ:
ctlBlock コントロールブロックへのポインタ
peerName 結果を設定するバッファ
maxchars of peerName バッファサイズ
パラメータ:
ctlBlock コントロールブロックへのポインタ
peerName 結果を設定するバッファ
maxchars of peerName バッファサイズ
説明:トランスポート(SR)層を呼び出し、このローカル装置のストリングフォーマット中の名称を取得する。それはlocalAddr中のNULL値で終了するフォームを返す。その名称はそのトランスポートに依存する。例えば、TCP/IPについては、それは“192.168.1.1”の形のIPアドレスを返す。
パラメータ:
ctlBlock コントロールブロックへのポインタ
localAddr 結果を設定するバッファ
maxchars of localAddr バッファサイズ
パラメータ:
ctlBlock コントロールブロックへのポインタ
localAddr 結果を設定するバッファ
maxchars of localAddr バッファサイズ
説明:アプリケーションはアプリケーションが始まったセッションを受け入れたいかを証するための機能をコールバックする。これはパラメータとしてclbListen呼び出しへ入力される。NULL値の入力は全てのセッションの承認を意味する。開始したセッションが入ってくると、そのライブラリはこの機能を呼び出し、リターンコードによって示される応答に従って反応する。
説明:以下を追跡する内部変数を返す。
・ 会議がプロジェクターモード(PROJECTOR_MODE)か否か
・ この装置がバトンを持つ(HAVE_BATON)か否か
パラメータ:
ctlBlock コネクションコントロールブロックへのポインタ
例:
・ 会議がプロジェクターモード(PROJECTOR_MODE)か否か
・ この装置がバトンを持つ(HAVE_BATON)か否か
パラメータ:
ctlBlock コネクションコントロールブロックへのポインタ
例:
説明:メッセージペイロード中のCLB_BATON_REQUESTを持つclbMsgBatonメッセージを生成し、送信する。他の側がBATON_REQUEST_TIMEOUT時間内に反応しない場合に、スタックがGRANTED状態のCLB_BATON_STATUSイベントを送信するようにタイマを開始させる。
パラメータ:
ctlBlock コネクションコントロールブロックへのポインタ
返却:
例:
パラメータ:
ctlBlock コネクションコントロールブロックへのポインタ
返却:
説明:そのスタックがアプリケーションに送信するためのイベントを持っているときに呼び出されるコールバック機能を登録する。その送信されるイベントはEventsセクション中に列挙される。
パラメータ:
callbackFuncPtr そのイベントを処理するコールバック機能へのポインタ。この機能は以下のプロトタイプを有する。
そのコールバック機能は、そのイベントを処理したら真を返し、そうでなければ偽を返す。
例:
パラメータ:
callbackFuncPtr そのイベントを処理するコールバック機能へのポインタ。この機能は以下のプロトタイプを有する。
例:
コンスタンツ
このセクションは会議プロトコル中で用いられるコンスタンツ(#defines)そしてタイプ(typedefs) を列挙する。
このセクションは会議プロトコル中で用いられるコンスタンツ(#defines)そしてタイプ(typedefs) を列挙する。
CLB_VERSION
単一のバージョン値。2バイト。最も重要なバイトは主要バージョンである。最も重要でないバイトは副次的バージョンである。この値はコラボレーション層によって全ての会議メッセージヘッダに設定される。
単一のバージョン値。2バイト。最も重要なバイトは主要バージョンである。最も重要でないバイトは副次的バージョンである。この値はコラボレーション層によって全ての会議メッセージヘッダに設定される。
CLB_LIB_VERSION
ライブラリバージョン数。2バイト。最も重要なバイトは主要バージョンである。最も重要でないバイトは副次的バージョンである。このライブラリバージョンはプロトコルバージョンと独立である。
ライブラリバージョン数。2バイト。最も重要なバイトは主要バージョンである。最も重要でないバイトは副次的バージョンである。このライブラリバージョンはプロトコルバージョンと独立である。
メッセージタイプ
アプリケーションは、clbMsgConnectRequest、clbMsgJoinConference、clbMsgLeaveConference、clbMsgUserStatus、またはclbMsgConnectResponseメッセージを送信も受信もしない。それらはコラボレーション層によって送信され処理される。アプリケーションは別の有効なタイプの1つをclbCreate呼び出し中に入力する。
アプリケーションは、clbMsgConnectRequest、clbMsgJoinConference、clbMsgLeaveConference、clbMsgUserStatus、またはclbMsgConnectResponseメッセージを送信も受信もしない。それらはコラボレーション層によって送信され処理される。アプリケーションは別の有効なタイプの1つをclbCreate呼び出し中に入力する。
COLLABORATION_PORT
コラボレーションプロトコルに対するTCPポート。受信装置はこのポート上でリスンを行う。アクティブ装置はこのポートに対してコネクトする。このプロトコルがプロダクトの一部となると、1つのポートがLANA(インターネット認証番号機関)に登録される。
コラボレーションプロトコルに対するTCPポート。受信装置はこのポート上でリスンを行う。アクティブ装置はこのポートに対してコネクトする。このプロトコルがプロダクトの一部となると、1つのポートがLANA(インターネット認証番号機関)に登録される。
登録名
このセクションはコラボレーションプロトコルに対する登録タイプを列挙する。
このセクションはコラボレーションプロトコルに対する登録タイプを列挙する。
タイプ
このセクションはコラボレーションプロトコルによって用いられるタイプを記述する。実際のメッセージの構造はここに列挙される。アプリケーションはめったにこれらの構造を扱わない。そのほとんどはコラボレーション層によって取り扱われる。
アプリケーションレベルでは、16ビットと32ビットのインテジャーはホストバイト順である。
このセクションはコラボレーションプロトコルによって用いられるタイプを記述する。実際のメッセージの構造はここに列挙される。アプリケーションはめったにこれらの構造を扱わない。そのほとんどはコラボレーション層によって取り扱われる。
アプリケーションレベルでは、16ビットと32ビットのインテジャーはホストバイト順である。
コラボレーションメッセージヘッダ
このデータは全てのコラボレーションメッセージの開始点にある。これらの値はclbCreate呼び出しの中にコラボレーション層によって設定される。アプリケーションはこれらの値を設定しない。
このデータは全てのコラボレーションメッセージの開始点にある。これらの値はclbCreate呼び出しの中にコラボレーション層によって設定される。アプリケーションはこれらの値を設定しない。
コラボレーションコネクト要求メッセージ
このメッセージは一旦トランスポートコネクションが完了したらアクティブ装置によって送信される。それはヘッダとパスワードを含む。パスワードはNULL値で終了するASCIIストリングである。
このメッセージは一旦トランスポートコネクションが完了したらアクティブ装置によって送信される。それはヘッダとパスワードを含む。パスワードはNULL値で終了するASCIIストリングである。
コラボレーションコネクト応答メッセージ
このメッセージはConnectRequestメッセージを受信した後に受信装置によって送信される。それはパスワードを認証し、応答コードと、コネクトするアクティブ側の新たなアドレスとポートを送信する。
このメッセージはConnectRequestメッセージを受信した後に受信装置によって送信される。それはパスワードを認証し、応答コードと、コネクトするアクティブ側の新たなアドレスとポートを送信する。
コラボレーション会議ID要求メッセージ
このメッセージは会議IDを取得するために良く知られたサーバに対して近々受信装置になる装置によって送信される。ヘッダ中の会議IDの値は0xFFFFに設定される。IPアドレスはネットワークバイト順である。パスワードはNULL値で終了するASCIIストリングである。
このメッセージは会議IDを取得するために良く知られたサーバに対して近々受信装置になる装置によって送信される。ヘッダ中の会議IDの値は0xFFFFに設定される。IPアドレスはネットワークバイト順である。パスワードはNULL値で終了するASCIIストリングである。
コラボレーション会議ID応答メッセージ
このメッセージはよく知られたサーバによって近々受信装置になる装置に対してそれに新たな会議IDを与えるために送信される。ヘッダ中の会議IDの値は0xFFFFに設定される。ペイロード中の会議ID領域はネットワークバイト順である。
このメッセージはよく知られたサーバによって近々受信装置になる装置に対してそれに新たな会議IDを与えるために送信される。ヘッダ中の会議IDの値は0xFFFFに設定される。ペイロード中の会議ID領域はネットワークバイト順である。
コラボレーション設定文書メッセージ
このメッセージの目的は、会議文書が送られたことを示すことにある。典型的には、新バージョンの会議文書が利用可能になると、リレーサーバはclbMsgNewDocumentメッセージを全てのクライアントに送る。それから、クライアントはclbMsgGetDocumentメッセージをサーバに送り、サーバは、文書を伴ったclbMsgSetDocumentメッセージに対し応答する。
このメッセージの目的は、会議文書が送られたことを示すことにある。典型的には、新バージョンの会議文書が利用可能になると、リレーサーバはclbMsgNewDocumentメッセージを全てのクライアントに送る。それから、クライアントはclbMsgGetDocumentメッセージをサーバに送り、サーバは、文書を伴ったclbMsgSetDocumentメッセージに対し応答する。
コラボレーション新文書メッセージ
このメッセージの目的は、新バージョンの会議文書が存在することを示すことにある。典型的には、新バージョンの会議文書が利用可能になると、リレーサーバはclbMsgNewDocumentメッセージを全てのクライアントに送る。それから、クライアントはclbMsgGetDocumentメッセージをサーバに送り、サーバは、文書を伴ったclbMsgSetDocumentメッセージに対し応答する。
このメッセージの目的は、新バージョンの会議文書が存在することを示すことにある。典型的には、新バージョンの会議文書が利用可能になると、リレーサーバはclbMsgNewDocumentメッセージを全てのクライアントに送る。それから、クライアントはclbMsgGetDocumentメッセージをサーバに送り、サーバは、文書を伴ったclbMsgSetDocumentメッセージに対し応答する。
コラボレーション取得文書メッセージ
このメッセージの目的は、送信者が新バージョンの会議文書が送付されることを希望することを示すことにある。典型的には、新バージョンの会議文書が利用可能になると、リレーサーバがclbMsgNewDocumentメッセージを全てのクライアントに送る。それから、クライアントはclbMsgGetDocumentメッセージをサーバに送り、サーバは、文書を伴ったclbMsgSetDocumentメッセージに対し応答する。もし、メッセージの送信者が文書名を知らない場合は、文書名は省略する、あるいはエンプティストリング(“”)とすることが可能で、デフォルトの会議文書が送り返される。
このメッセージの目的は、送信者が新バージョンの会議文書が送付されることを希望することを示すことにある。典型的には、新バージョンの会議文書が利用可能になると、リレーサーバがclbMsgNewDocumentメッセージを全てのクライアントに送る。それから、クライアントはclbMsgGetDocumentメッセージをサーバに送り、サーバは、文書を伴ったclbMsgSetDocumentメッセージに対し応答する。もし、メッセージの送信者が文書名を知らない場合は、文書名は省略する、あるいはエンプティストリング(“”)とすることが可能で、デフォルトの会議文書が送り返される。
コラボレーション設定文書準備メッセージ
このメッセージの目的は、他のピアまたはリレーサーバに対し会議文書がオープンされたことを知らせることにある。このようにして、文書が受信されてからオープンされるまでどれくらい時間がかかったかが明らかになる。リレーサーバは、メッセージをバッファリングしてクライアントが準備状態になるまでどれくらいの時間がかかるかを知ることができる。
クライアントは、clbSetDocumentReadyメッセージを送り、ピアあるいはリレーがそれを取り扱う。メッセージは文書名を要求する。
このメッセージの目的は、他のピアまたはリレーサーバに対し会議文書がオープンされたことを知らせることにある。このようにして、文書が受信されてからオープンされるまでどれくらい時間がかかったかが明らかになる。リレーサーバは、メッセージをバッファリングしてクライアントが準備状態になるまでどれくらいの時間がかかるかを知ることができる。
クライアントは、clbSetDocumentReadyメッセージを送り、ピアあるいはリレーがそれを取り扱う。メッセージは文書名を要求する。
コラボレーションテキストメッセージ
これは、単純なテキストメッセージで、コラボレーションヘッダ、ユーザIDそしてNULL値で終了するテキストである。仮にテキストが全ての接続ユーザにブロードキャストされるのであれば、ユーザIDを0xFFFFに設定する。そうでない場合は、メッセージは指定された特定のユーザにのみ送られる。この領域は、ピア会議については無視される。
これは、単純なテキストメッセージで、コラボレーションヘッダ、ユーザIDそしてNULL値で終了するテキストである。仮にテキストが全ての接続ユーザにブロードキャストされるのであれば、ユーザIDを0xFFFFに設定する。そうでない場合は、メッセージは指定された特定のユーザにのみ送られる。この領域は、ピア会議については無視される。
コラボレーションユーザーメッセージ
全てのユーザーメッセージ(メッセージタイプセクション参照)は、自由形式である。アプリケーションは、メッセージを作成するためにclbCreateを呼び出し、ペイロードを書き込み、メッセージを送るためにclbSendを呼び出す。ライブラリは、これらのメッセージの内容を無視し、単純にそれらを送り出し、あるいは、受信したそれらをアプリケーションに転送する。
全てのユーザーメッセージ(メッセージタイプセクション参照)は、自由形式である。アプリケーションは、メッセージを作成するためにclbCreateを呼び出し、ペイロードを書き込み、メッセージを送るためにclbSendを呼び出す。ライブラリは、これらのメッセージの内容を無視し、単純にそれらを送り出し、あるいは、受信したそれらをアプリケーションに転送する。
イベント
これらのコンスタンツは、コラボレーションプロトコルがアプリケーションに送り返すことのできるイベントを定義する。アプリケーションは、これらのイベントのためにイベントハンドラを持つ。
イベントに関連したデータは、送られてきたイベントの“一般的な”部分に含まれる。イベントの“一般的な”部分はInt16の配列である。いくつかのイベントについては、これらは、アドレスを含むためオーバーロードになる。各メッセージについて、メッセージとともに送られた関連データはコメントの中で与えられる。
これらのコンスタンツは、コラボレーションプロトコルがアプリケーションに送り返すことのできるイベントを定義する。アプリケーションは、これらのイベントのためにイベントハンドラを持つ。
イベントに関連したデータは、送られてきたイベントの“一般的な”部分に含まれる。イベントの“一般的な”部分はInt16の配列である。いくつかのイベントについては、これらは、アドレスを含むためオーバーロードになる。各メッセージについて、メッセージとともに送られた関連データはコメントの中で与えられる。
CLB_EVT_XXX_BASE
これらの値は、独自のイベント識別子の同一性を判断するために値が追加される基礎値にすぎない。システムイベントは、0から999、会議イベントは1000から1999であり、ユーザイベントは2000から2999である。
これらの値は、独自のイベント識別子の同一性を判断するために値が追加される基礎値にすぎない。システムイベントは、0から999、会議イベントは1000から1999であり、ユーザイベントは2000から2999である。
CLB_CONNECTION_UP
このイベントは、clbConnectあるいはclbListen呼び出しの結果として、アプリケーションに送られる。
関連データ:
event.evtData16 エラーコード
このイベントは、clbConnectあるいはclbListen呼び出しの結果として、アプリケーションに送られる。
関連データ:
event.evtData16 エラーコード
CLB_CONNECTION_DOWN
このイベントは、clbDiscount呼び出しの結果として、あるいは、他の側がトランスポートコネクションを終了したらアプリケーションに送られる。
関連データ:
event.evtData16 エラーコード
このイベントは、clbDiscount呼び出しの結果として、あるいは、他の側がトランスポートコネクションを終了したらアプリケーションに送られる。
関連データ:
event.evtData16 エラーコード
CLB_WRITEMSG_COMPLETE
このイベントは、clbWrite呼び出しの結果としてアプリケーションに送られる。それは、全てのデータがトランスポートに書き込まれたことを示す。
関連データ:
event.evtData16 エラーコード
このライブラリは、出て行くメッセージによって使われたメモリを開放する。
このイベントは、clbWrite呼び出しの結果としてアプリケーションに送られる。それは、全てのデータがトランスポートに書き込まれたことを示す。
関連データ:
event.evtData16 エラーコード
このライブラリは、出て行くメッセージによって使われたメモリを開放する。
CLB_WRITEDOC_COMPLETE
ClbSendDocument呼び出しの結果アプリケーションに送られる。全ての文書が送られたことを示す。
関連データ:
event.evtData16 エラーコード
ClbSendDocument呼び出しの結果アプリケーションに送られる。全ての文書が送られたことを示す。
関連データ:
event.evtData16 エラーコード
CLB_DATA_RCVD
このイベントは、全てのコラボレーションメッセージが受信された時、アプリケーションに送られる。コラボレーション層は、トランスポート層から来るメッセージフラグメント群を取り扱う。
関連データ:
event.evtData16 エラーコード
event.evtData32 TClbMsgへのポインタ。そのヘッダから全てが決定される。
注:evtData32によって指定されたメモリを解放するのはアプリケーションの責任である。
メモリにアクセスするためにポインタ表示はこのようなことをする。
注:この例は、コラボレーションテキストメッセージのデータにどのようにアクセスするかを示す。
このイベントは、全てのコラボレーションメッセージが受信された時、アプリケーションに送られる。コラボレーション層は、トランスポート層から来るメッセージフラグメント群を取り扱う。
関連データ:
event.evtData16 エラーコード
event.evtData32 TClbMsgへのポインタ。そのヘッダから全てが決定される。
注:evtData32によって指定されたメモリを解放するのはアプリケーションの責任である。
CLB_NEWDOC_ARRIVED
新しい会議文書が到着すると、アプリケーションに送られる。コラボレーション層はストレージヒープへの文書の書き込み処理を行う。アプリケーションはこのメッセージから文書名を入手し、それを読み込む。
関連データ:
event.evtData16 エラーコード
event.evtData32 文書名へのポインタ
注:evtData32においてポインタを開放しない。これは、ctlBlock構造の固定要素である。
新しい会議文書が到着すると、アプリケーションに送られる。コラボレーション層はストレージヒープへの文書の書き込み処理を行う。アプリケーションはこのメッセージから文書名を入手し、それを読み込む。
関連データ:
event.evtData16 エラーコード
event.evtData32 文書名へのポインタ
CLB_NEWDOC_EXISTS
入手準備ができた新バージョンの会議文書があることを誰かが公表すると、アプリケーションに送られる。アプリケーションは、clbGetDocumentメッセージを送り出すことで応答する。このメッセージには添付文書はない。それは、全ての参加者に、文書を入手すべきだということを知らせる一つの方法である。
アプリケーションは、evtData32によって指定されるメモリを解放する。
関連データ:
event.evtData16 エラーコード
event.evtData32 文書名へのポインタ
入手準備ができた新バージョンの会議文書があることを誰かが公表すると、アプリケーションに送られる。アプリケーションは、clbGetDocumentメッセージを送り出すことで応答する。このメッセージには添付文書はない。それは、全ての参加者に、文書を入手すべきだということを知らせる一つの方法である。
アプリケーションは、evtData32によって指定されるメモリを解放する。
関連データ:
event.evtData16 エラーコード
event.evtData32 文書名へのポインタ
CLB_REQUEST_NETDOC
誰かが、最新バージョンの会議文書を要求した時に、おそらく、clbMsgNewDocumentメッセージが送り出された結果として、アプリケーションに送られる。
スタックは、clbSysGetDocumentメッセージが到着したとき、このメッセージをアプリケーションまで送る。このメッセージには、添付文書はない。
アプリケーションは、evtData32によって指定されるメモリを解放する。
関連データ:
event.evtData16 エラーコード
event.evtData32 文書名へのポインタ
誰かが、最新バージョンの会議文書を要求した時に、おそらく、clbMsgNewDocumentメッセージが送り出された結果として、アプリケーションに送られる。
スタックは、clbSysGetDocumentメッセージが到着したとき、このメッセージをアプリケーションまで送る。このメッセージには、添付文書はない。
アプリケーションは、evtData32によって指定されるメモリを解放する。
関連データ:
event.evtData16 エラーコード
event.evtData32 文書名へのポインタ
CLB_BATON_STATUS
以下の場合に、バトンを要求するアプリケーションに応答して、アプリケーションに送られる。
・ clbMsgBatonメッセージに対して他の装置がバトンを許容する又は否定するかを応答した。
・ タイムアウトが終了した。
・ バトンが放棄された。
関連データ:
event.evtData16 バトン状態。CLB_BATON_GRANTED、CLB_BATON_GRANTED_DUE_TO_TIMEOUT、CLB_BATON_DENIEDあるいはCLB_BATON_LOSTのいずれか。
以下の場合に、バトンを要求するアプリケーションに応答して、アプリケーションに送られる。
・ clbMsgBatonメッセージに対して他の装置がバトンを許容する又は否定するかを応答した。
・ タイムアウトが終了した。
・ バトンが放棄された。
関連データ:
event.evtData16 バトン状態。CLB_BATON_GRANTED、CLB_BATON_GRANTED_DUE_TO_TIMEOUT、CLB_BATON_DENIEDあるいはCLB_BATON_LOSTのいずれか。
CLB_NEWDOC_READY
文書がオープンされた時、アプリケーションに送られる。ピアあるいはリレーからのclbSetDocumentReadyMsgの結果である。
アプリケーションは、evtData32によって指定されるメモリを解放する。
関連データ:
event.evtData16 エラーコード
event.evtData32 文書名へのポインタ
文書がオープンされた時、アプリケーションに送られる。ピアあるいはリレーからのclbSetDocumentReadyMsgの結果である。
アプリケーションは、evtData32によって指定されるメモリを解放する。
関連データ:
event.evtData16 エラーコード
event.evtData32 文書名へのポインタ
CLB_CONFID
(clbGetConfID呼び出しに応答して)clbSysConfIDResponseメッセージが受信されると、新しい会議IDとともに、アプリケーションに送られる。
関連データ:
event.evtData16 エラーコード
event.evtData32 新しい会議ID。これは32ビット変数中の16ビットの値となる。
(clbGetConfID呼び出しに応答して)clbSysConfIDResponseメッセージが受信されると、新しい会議IDとともに、アプリケーションに送られる。
関連データ:
event.evtData16 エラーコード
event.evtData32 新しい会議ID。これは32ビット変数中の16ビットの値となる。
アプリケーションのメインイベントループ
EvtGetEventが呼び出され処理される、アプリケーションのメインイベントループにおいて、3つの変更がなされなくてはならない。サンプルイベントループはこのセクションの最後にある。
EvtGetEventが呼び出され処理される、アプリケーションのメインイベントループにおいて、3つの変更がなされなくてはならない。サンプルイベントループはこのセクションの最後にある。
clbRun
この機能は、3つの役割を果たす。
・ 送信待ちの出て行くメッセージがあるかどうかを調査し、もしあれば、送信する。
・ コラボレーション層あるいはアプリケーションのいずれかによって処理されるユーザイベントを調査する。もし、キューのなかにイベントがあれば、最初の一つを取得し、処理できるかを調べるために、clbHandleEventを呼び出す。もし処理できなければ、アプリケーションが処理できるかを調べるために、clbRegisterEventCB呼び出しに登録された呼び出し機能を呼び出す。この2つの機能のうちのどちらか一つは、ユーザイベントキューから抽出されたどのようなイベントも認識し、処理することができなくてはならない。
・ トランスポート層にCPU時間を与えるためにsrRunを呼び出す。ユーザ入力に対して責任を果たすために、トランスポート機能への呼び出しがノンブロッキングモードでなされる。これは、ある機能が呼び出されたことを意味し、もし、何もすることがなければ、単に返却される。例えば、TCPポート上でのリスニングは通常ブロッキング呼び出しである。ソケットの「受容」呼び出しをおこなうNetLibの実施は、タイムアウトをパラメタとして行われ、そして、ポーリング形式で行われる。したがって、ループ中にこの機能が呼び出される方法がなくてはならない。srRun機能は、この機能を果たす。clbRunは、アプリケーションのメインイベントループの中で呼び出されなければならない。
この機能は、3つの役割を果たす。
・ 送信待ちの出て行くメッセージがあるかどうかを調査し、もしあれば、送信する。
・ コラボレーション層あるいはアプリケーションのいずれかによって処理されるユーザイベントを調査する。もし、キューのなかにイベントがあれば、最初の一つを取得し、処理できるかを調べるために、clbHandleEventを呼び出す。もし処理できなければ、アプリケーションが処理できるかを調べるために、clbRegisterEventCB呼び出しに登録された呼び出し機能を呼び出す。この2つの機能のうちのどちらか一つは、ユーザイベントキューから抽出されたどのようなイベントも認識し、処理することができなくてはならない。
・ トランスポート層にCPU時間を与えるためにsrRunを呼び出す。ユーザ入力に対して責任を果たすために、トランスポート機能への呼び出しがノンブロッキングモードでなされる。これは、ある機能が呼び出されたことを意味し、もし、何もすることがなければ、単に返却される。例えば、TCPポート上でのリスニングは通常ブロッキング呼び出しである。ソケットの「受容」呼び出しをおこなうNetLibの実施は、タイムアウトをパラメタとして行われ、そして、ポーリング形式で行われる。したがって、ループ中にこの機能が呼び出される方法がなくてはならない。srRun機能は、この機能を果たす。clbRunは、アプリケーションのメインイベントループの中で呼び出されなければならない。
EvtGetEvent()へのタイムアウト
アプリケーション層及び通信層の双方において、望ましい責任を果たすためには、アプリケーションのメインイベントループの中で、EvtGetEventに小さいタイムアウトを入れるべきである。以下の例を参照せよ。
アプリケーション層及び通信層の双方において、望ましい責任を果たすためには、アプリケーションのメインイベントループの中で、EvtGetEventに小さいタイムアウトを入れるべきである。以下の例を参照せよ。
どの機能がイベントを処理するかをスタックへ通知する。
スタックからイベントを取り出すために、アプリケーションは、スタックとともに、コールバック機能を登録しなくてはならない。典型的なコールバック機能は以下である。
コールバック機能を登録するために、clbRegisterEventCB API呼び出しを用いる。これを行うのに最適な場所はアクティブフォームのための初期化機能中にある。
スタックからイベントを取り出すために、アプリケーションは、スタックとともに、コールバック機能を登録しなくてはならない。典型的なコールバック機能は以下である。
エラーアラートリソース
コラボレーション層及び通信層は双方とも、ID1000を持ったアラートリソースを利用する。このリソースは、Alert.h.に設定されている。1つのパラメータ(“^”)を採るアラートリソースに対する値を変更する。
コラボレーション層及び通信層は双方とも、ID1000を持ったアラートリソースを利用する。このリソースは、Alert.h.に設定されている。1つのパラメータ(“^”)を採るアラートリソースに対する値を変更する。
ログファイルのクローズ
LOGLOSEへの呼び出しが、ログファイルをクローズするためにアプリケーションのAppStop()機能の最後になされる。ロギングが可能でない場合はLOGLOSEマクロは何も決意しない。ロギングが可能な場合はLOGLOSEはLogClose()を決意し、従って挿入語は必要としない。そのログをオープンする必要はない。それはロギング呼び出しがなされたときに最初にオープンされる。
LOGLOSEへの呼び出しが、ログファイルをクローズするためにアプリケーションのAppStop()機能の最後になされる。ロギングが可能でない場合はLOGLOSEマクロは何も決意しない。ロギングが可能な場合はLOGLOSEはLogClose()を決意し、従って挿入語は必要としない。そのログをオープンする必要はない。それはロギング呼び出しがなされたときに最初にオープンされる。
アプリケーションに対するコラボレーションメッセージのハンドリング
コラボレーション層は以下のイベントをアプリケーションに送信する。
・ CLB_CONNECTION_UP
・ CLB_CONNECTION_DOWN
・ CLB_WRITEMSG_COMPLETE
・ CLB_WRITEDOC_COMPLETE
・ CLB_DATA_RCVD
・ CLB_NEWDOC_ARRIVED
・ CLB_NEWDOC_EXISTS
・ CLB_REQUEST_NEWDOC
・ CLB_BATON_STATUS
・ CLB_CONFID
アプリケーションは、clbRegisterEventCBのAPIの呼び出しを介して入力された機能中のこれらのイベントを処理する。ここにサンプル機能を示す(注意:これはイベントを処理する実際のコードを持つものではなく、単にその構造を示すに過ぎない)。
コラボレーション層は以下のイベントをアプリケーションに送信する。
・ CLB_CONNECTION_UP
・ CLB_CONNECTION_DOWN
・ CLB_WRITEMSG_COMPLETE
・ CLB_WRITEDOC_COMPLETE
・ CLB_DATA_RCVD
・ CLB_NEWDOC_ARRIVED
・ CLB_NEWDOC_EXISTS
・ CLB_REQUEST_NEWDOC
・ CLB_BATON_STATUS
・ CLB_CONFID
アプリケーションは、clbRegisterEventCBのAPIの呼び出しを介して入力された機能中のこれらのイベントを処理する。ここにサンプル機能を示す(注意:これはイベントを処理する実際のコードを持つものではなく、単にその構造を示すに過ぎない)。
本発明は好適な実施の形態に関して説明されてきたが、本発明のアプリケーションを読めば、多くの変形や修正がこの技術分野の当業者にとって理解できる。従って、先行技術の観点からできるだけ広く解釈される、添付されたクレームは、そのような変形や修正の全てを含むことを意図している。
Claims (60)
- PDA読取り可能な媒体上で実行可能な無線コラボレーションソフトウェアプログラムであって、
ほとんどリアルタイムに、物理的に離れた通信装置に常駐する他の無線コラボレーションソフトウェアプログラムと無線で通信することが可能な会議及びコラボレーションプロトコル(CCP)を備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項1に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、PDAアプリケーションへの大きな変更なしに、物理的に離れた装置上で動作している共通のアプリケーションとともに、PDA上で動作するアプリケーションのデータを無線でコラボレーションし得る
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項2に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、物理的に離れた通信装置の内部状態を再現するため、PDAの内部状態を更新し得る
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項3に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、データ及びスクリーン情報をコラボレーションし得る
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項4に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、受信したデータ情報を処理している間に、受信したスクリーン情報が選択的にフィルタリングされることを可能にする
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項1に記載の無線コラボレーションソフトウェアプログラムであって、さらに、
CCPに実行されるアプリケーションプログラムインタフェース(API)を備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項6に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、離れた通信装置と非同期的に交換データを通信できる
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項6に記載の無線コラボレーションソフトウェアプログラムであって、さらに、
APIによって実行されるCCPシステムライブラリを備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項8に記載の無線コラボレーションソフトウェアプログラムであって、
CCPシステムライブラリが離れた通信装置と通信するCCPの会議メッセージを処理する
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項9に記載の無線コラボレーションソフトウェアプログラムであって、
会議メッセージが、会議プロトコルメッセージ、システム更新メッセージ、システム編集メッセージ及びシステム更新メッセージから構成される
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項10に記載の無線コラボレーションソフトウェアプログラムであって、
会議メッセージが構造化されたバイトセットで構成される
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項8に記載の無線コラボレーションソフトウェアプログラムであって、さらに、
CCPシステムライブラリによって生成される特定のイベントを処理するCCPイベントハンドラを備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項12に記載の無線コラボレーションソフトウェアプログラムであって、
複数の機能ブロックを備え、
CCPイベントハンドラが、既存のそして新たな前記機能ブロックに対する特定イベントを処理する
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項1に記載の無線コラボレーションソフトウェアプログラムであって、
無線コラボレーションソフトウェアプログラムが、通信の際に、自動的に他の無線コラボレーションソフトウェアプログラムに文書を送信することができ、
その文書は、PDA及び物理的に離れた通信装置双方によって編集可能である
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項1に記載の無線コラボレーションソフトウェアプログラムであって、
アプリケーションが既製のアプリケーションである
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項1に記載の無線コラボレーションソフトウェアプログラムであって、
離れた通信装置が他のPDAである
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項1に記載の無線コラボレーションソフトウェアプログラムであって、
離れた通信装置がデスクトップコンピュータである
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項1に記載の無線コラボレーションソフトウェアプログラムであって、
離れた通信装置がライブフィードゲートウェイである
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 離れた通信装置と、ほとんどリアルタイムに無線でコラボレーションすることができるPDAであって、
メモリ、CPU、PDAオペレーティングシステムと、
PDAによってロードされ、実行される無線コラボレーションソフトウェアプログラムであって、
物理的に離れた通信装置上に常駐する他の無線コラボレーションソフトウェアプログラムと無線で通信する会議及びコラボレーションプロトコル(CCP)を備える無線コラボレーションソフトウェアプログラムとを備える
ことを特徴とするPDA。 - 請求項19に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、PDAアプリケーションへの大きな変更なしに、物理的に離れた装置上で動作している共通のアプリケーションとともに、PDA上で動作するアプリケーションのデータを無線でコラボレーションし得る
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項19に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、物理的に離れた通信装置の内部状態を再現するために、PDAの内部状態を更新し得る
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項20に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、データ及びスクリーン情報をコラボレーションし得る
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項21に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、受信したデータ情報を処理している間に、受信したスクリーン情報が選択的にフィルタリングされることを可能にする
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項19に記載の無線コラボレーションソフトウェアプログラムであって、さらに、
CCPによって実行されるアプリケーションプログラムインタフェース(API)を備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項19に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、離れた通信装置と非同期的に交換データを通信できる
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項24に記載の無線コラボレーションソフトウェアプログラムであって、
APIによって実行されるCCPシステムライブラリを備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項26に記載の無線コラボレーションソフトウェアプログラムであって、
CCPシステムライブラリが、離れた通信装置と通信するCCPの会議メッセージを処理する
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項27に記載の無線コラボレーションソフトウェアプログラムであって、
会議メッセージが、会議プロトコルメッセージ、システム更新メッセージ、システム編集メッセージ及びシステム更新メッセージから構成される
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項27に記載の無線コラボレーションソフトウェアプログラムであって、
会議メッセージが構造化されたバイトセットで構成される
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項26に記載の無線コラボレーションソフトウェアプログラムであって、さらに、
CCPシステムライブラリによって生成される特定のイベントを処理するCCPイベントハンドラを備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項30に記載の無線コラボレーションソフトウェアプログラムであって、さらに、
多数の機能ブロックを備え、
そのCCPイベントハンドラは既存のそして新たな前記機能ブロックに対する特定のイベントを処理する
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項19に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、通信の際に、離れた通信装置上に常駐する別の無線コラボレーションソフトウェアプログラムに自動的に文書を送信できる
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項19に記載の無線コラボレーションソフトウェアプログラムであって、
アプリケーションが既製のアプリケーションである
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項19に記載のPDAであって、
無線コラボレーションソフトウェアプログラムが、ほとんどリアルタイムに他の離れたPDAとコラボレーションし得る
ことを特徴とするPDA。 - 請求項19に記載のPDAであって、
無線コラボレーションソフトウェアプログラムが、ほとんどリアルタイムにデスクトップコンピュータとコラボレーションし得る
ことを特徴とするPDA。 - 請求項19に記載のPDAであって、
無線コラボレーションソフトウェアプログラムが、ほとんどリアルタイムにライブフィードゲートウェイとコラボレーションし得る
ことを特徴とするPDA。 - PDAと物理的に離れた通信装置との間でほとんどリアルタイムに無線コラボレーティングする方法であって、
PDAが、最初の常駐プログラムを実行して、ほとんどリアルタイムに無線でコラボレーションするために、同じく最初の常駐プログラムを実行する物理的に離れた通信装置とコラボレーションする
ことを特徴とする無線コラボレーティング方法。 - 請求項37に記載の無線コラボレーティング方法であって、
各PDAと物理的に離れた通信装置が、共通のアプリケーションを走らせ、前記無線コラボレーションが、PDAまたは物理的に離れた通信装置のアプリケーションを大きく変更させることなく行われる
ことを特徴とする無線コラボレーティング方法。 - PDAがそのPDA上で実行可能な無線コラボレーションソフトウェアプログラムを備える請求項37に記載の無線コラボレーティング方法であって、
会議及びコラボレーションプロトコル(CCP)が、離れた通信装置上に常駐する他の前記無線コラボレーションソフトウェアプログラムとほとんどリアルタイムに通信できる
ことを特徴とする無線コラボレーティング方法。 - 請求項39に記載の無線コラボレーティング方法であって、
コラボレーションソフトウェアプログラムが、離れた通信装置上に常駐し、離れた通信装置によって実行される
ことを特徴とする無線コラボレーティング方法。 - 請求項37に記載の無線コラボレーティング方法であって、
PDAが、物理的に離れた通信装置の内部状態を再現するためにその内部状態を更新し得る
ことを特徴とする無線コラボレーティング方法。 - 請求項38に記載の無線コラボレーティング方法であって、
PDAがデータ及びスクリーン情報をコラボレートできる
ことを特徴とする無線コラボレーティング方法。 - 請求項39に記載の無線コラボレーティング方法であって、
PDAが、受信したスクリーン情報が、受信したデータ情報を処理している間に選択的にフィルタリングされるようにし得る
ことを特徴とする無線コラボレーティング方法。 - 請求項39に記載の無線コラボレーティング方法であって、
無線コラボレーションソフトウェアプログラムが、CCPに実行されるアプリケーションプログラムインタフェース(API)を備える
ことを特徴とする無線コラボレーティング方法。 - 請求項35に記載の無線コラボレーションソフトウェアプログラムであって、
CCPが、離れた通信装置と非同期的に交換データを通信し得る
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項39に記載の無線コラボレーションソフトウェアプログラムであって、
コラボレーションソフトウェアプログラムが、さらにAPIによって実行されるCCPシステムライブラリを備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項46に記載の無線コラボレーションソフトウェアプログラムであって、
CCPシステムライブラリが、離れた通信装置と通信するCCPの会議メッセージを処理する
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項47に記載の無線コラボレーションソフトウェアプログラムであって、
会議メッセージが、会議プロトコルメッセージ、システム更新メッセージ、システム編集メッセージ及びシステム更新メッセージから構成される
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項48に記載の無線コラボレーションソフトウェアプログラムであって、
会議メッセージが構造化されたバイトセットから構成される
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項39に記載の無線コラボレーションソフトウェアプログラムであって、
コラボレーションソフトウェアプログラムが、さらにCCPシステムライブラリによって生成される特定のイベントを処理するCCPイベントハンドラを備える
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項39に記載の無線コラボレーションソフトウェアプログラムであって、
コラボレーションソフトウェアプログラムが、さらに多数の機能ブロックを備え、
CCPイベントハンドラが、既存のそして新たな前記機能ブロックの呼び出しを行う
ことを特徴とする無線コラボレーションソフトウェアプログラム。 - 請求項37に記載の無線コラボレーティング方法であって、さらに、
ホストとして定義されるPDAが、無線コラボレーションを開始するために物理的に離れた通信装置に対して自動的に最初の文書を送信するステップを有する
ことを特徴とする無線コラボレーティング方法。 - 請求項37に記載の無線コラボレーティング方法であって、さらに、
物理的に離れた通信装置がホストとして定義され、無線コラボレーティングを開始するためにPDAに対して自動的に最初の文書を送信する
ことを特徴とする無線コラボレーティング方法。 - 請求項37に記載の無線コラボレーティング方法であって、
共通のアプリケーションが既製のアプリケーションである
ことを特徴とする無線コラボレーティング方法。 - 請求項37に記載の無線コラボレーティング方法であって、
離れた通信装置が他のPDAである
ことを特徴とする無線コラボレーティング方法。 - 請求項37に記載の無線コラボレーティング方法であって、
離れた通信装置がデスクトップコンピュータである
ことを特徴とする無線コラボレーティング方法。 - 請求項37に記載の無線コラボレーティング方法であって、
離れた通信装置がライブフィードゲートウェイである
ことを特徴とする無線コラボレーティング方法。 - 請求項52に記載の無線コラボレーティング方法であって、
最初の文書が、PDAと物理的に離れた通信装置双方によって編集可能である
ことを特徴とする無線コラボレーティング方法。 - 請求項53に記載の無線コラボレーティング方法であって、
最初の文書が、PDAと物理的に離れた通信装置双方によって編集可能である
ことを特徴とする無線コラボレーティング方法。 - 請求項37に記載の無線コラボレーティング方法であって、さらに、
PDAが、コラボレーション中に、物理的に離れた通信装置と非同期的に音声通信を行う
ことを特徴とする無線コラボレーティング方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33740401P | 2001-11-10 | 2001-11-10 | |
PCT/US2002/035673 WO2003043301A2 (en) | 2001-11-10 | 2002-11-06 | Handheld wireless conferencing technology |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005509960A true JP2005509960A (ja) | 2005-04-14 |
Family
ID=23320420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003545005A Pending JP2005509960A (ja) | 2001-11-10 | 2002-11-06 | ハンドヘルド無線会議技術 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20030208541A1 (ja) |
EP (1) | EP1442560A2 (ja) |
JP (1) | JP2005509960A (ja) |
KR (1) | KR20050043721A (ja) |
CN (1) | CN1565105A (ja) |
CA (1) | CA2460600A1 (ja) |
WO (1) | WO2003043301A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013501990A (ja) * | 2009-08-12 | 2013-01-17 | ノーテル・ネットワークス・リミテッド | 自動セッションアドミッション |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8774380B2 (en) | 2001-02-27 | 2014-07-08 | Verizon Patent And Licensing Inc. | Methods and systems for call management with user intervention |
US7903796B1 (en) | 2001-02-27 | 2011-03-08 | Verizon Data Services Llc | Method and apparatus for unified communication management via instant messaging |
US8751571B2 (en) | 2001-02-27 | 2014-06-10 | Verizon Data Services Llc | Methods and systems for CPN triggered collaboration |
US8488761B2 (en) | 2001-02-27 | 2013-07-16 | Verizon Data Services Llc | Methods and systems for a call log |
US8503650B2 (en) | 2001-02-27 | 2013-08-06 | Verizon Data Services Llc | Methods and systems for configuring and providing conference calls |
US8761363B2 (en) | 2001-02-27 | 2014-06-24 | Verizon Data Services Llc | Methods and systems for automatic forwarding of communications to a preferred device |
US8472606B2 (en) | 2001-02-27 | 2013-06-25 | Verizon Data Services Llc | Methods and systems for directory information lookup |
US7418090B2 (en) | 2002-11-25 | 2008-08-26 | Telesector Resources Group Inc. | Methods and systems for conference call buffering |
US8798251B2 (en) * | 2001-02-27 | 2014-08-05 | Verizon Data Services Llc | Methods and systems for computer enhanced conference calling |
US6976017B1 (en) | 2001-02-27 | 2005-12-13 | Verizon Data Services Inc. | Method and apparatus for context based querying |
US8873730B2 (en) | 2001-02-27 | 2014-10-28 | Verizon Patent And Licensing Inc. | Method and apparatus for calendared communications flow control |
US8750482B2 (en) | 2001-02-27 | 2014-06-10 | Verizon Data Services Llc | Methods and systems for preemptive rejection of calls |
US8503639B2 (en) | 2001-02-27 | 2013-08-06 | Verizon Data Services Llc | Method and apparatus for adaptive message and call notification |
US8494135B2 (en) | 2001-02-27 | 2013-07-23 | Verizon Data Services Llc | Methods and systems for contact management |
US8472428B2 (en) | 2001-02-27 | 2013-06-25 | Verizon Data Services Llc | Methods and systems for line management |
US8488766B2 (en) | 2001-02-27 | 2013-07-16 | Verizon Data Services Llc | Methods and systems for multiuser selective notification |
US7912193B2 (en) | 2001-02-27 | 2011-03-22 | Verizon Data Services Llc | Methods and systems for call management with user intervention |
US8467502B2 (en) * | 2001-02-27 | 2013-06-18 | Verizon Data Services Llc | Interactive assistant for managing telephone communications |
US6750897B1 (en) | 2001-08-16 | 2004-06-15 | Verizon Data Services Inc. | Systems and methods for implementing internet video conferencing using standard phone calls |
US7466992B1 (en) | 2001-10-18 | 2008-12-16 | Iwao Fujisaki | Communication device |
US7127271B1 (en) | 2001-10-18 | 2006-10-24 | Iwao Fujisaki | Communication device |
US7107081B1 (en) | 2001-10-18 | 2006-09-12 | Iwao Fujisaki | Communication device |
US8676897B1 (en) * | 2001-11-30 | 2014-03-18 | Hewlett-Packard Development Company, L.P. | N-way interactive communication using hand held computers |
US20030114147A1 (en) * | 2001-12-13 | 2003-06-19 | Goss Stephen C. | Hold service on wireless calls |
US9392120B2 (en) | 2002-02-27 | 2016-07-12 | Verizon Patent And Licensing Inc. | Methods and systems for call management with user intervention |
US7299264B2 (en) * | 2002-05-07 | 2007-11-20 | Hewlett-Packard Development Company, L.P. | System and method for monitoring a connection between a server and a passive client device |
US20040054757A1 (en) * | 2002-09-14 | 2004-03-18 | Akinobu Ueda | System for remote control of computer resources from embedded handheld devices |
US8229512B1 (en) | 2003-02-08 | 2012-07-24 | Iwao Fujisaki | Communication device |
US8241128B1 (en) | 2003-04-03 | 2012-08-14 | Iwao Fujisaki | Communication device |
DE10329244A1 (de) * | 2003-06-24 | 2005-01-13 | Deutsche Telekom Ag | Verfahren und System zur Kommunikation zwischen Konferenzteilnehmern |
US8090402B1 (en) | 2003-09-26 | 2012-01-03 | Iwao Fujisaki | Communication device |
US7917167B1 (en) | 2003-11-22 | 2011-03-29 | Iwao Fujisaki | Communication device |
CN1630246B (zh) * | 2003-12-15 | 2011-04-27 | 联想(北京)有限公司 | 一种远程桌面获取数据的实现方法 |
FI117150B (fi) | 2004-02-26 | 2006-06-30 | Nokia Corp | Menetelmä ja sovellus kokouspuhelun järjestämiseksi solukkoverkossa sekä solukkoverkossa toimiva päätelaite |
US20050198124A1 (en) * | 2004-03-03 | 2005-09-08 | Mccarthy Shawn J. | System and method for embedded instant messaging collaboration |
US8041348B1 (en) | 2004-03-23 | 2011-10-18 | Iwao Fujisaki | Communication device |
JP2005346202A (ja) * | 2004-05-31 | 2005-12-15 | Toshiba Corp | 電子機器 |
US7584244B2 (en) | 2004-06-04 | 2009-09-01 | Nokia Corporation | System, method and computer program product for providing content to a terminal |
US20060167997A1 (en) * | 2005-01-27 | 2006-07-27 | Nokia Corporation | System, method and computer program product for establishing a conference session and synchronously rendering content during the same |
US7266383B2 (en) * | 2005-02-14 | 2007-09-04 | Scenera Technologies, Llc | Group interaction modes for mobile devices |
US8811586B2 (en) | 2005-02-17 | 2014-08-19 | Nokia Corporation | Method and application for arranging a conference call in a cellular network and a mobile terminal operating in a cellular network |
KR101174525B1 (ko) | 2005-03-08 | 2012-08-16 | 삼성전자주식회사 | 푸쉬투토크 오버 셀룰러 네트워크의 응답 클라이언트 식별방법 및 그 시스템 |
JP4273526B2 (ja) * | 2005-03-30 | 2009-06-03 | 日本電気株式会社 | サービスシステム、情報制御装置および情報制御方法 |
KR100715144B1 (ko) * | 2005-04-06 | 2007-05-10 | (주)파도시스템 | Pda 단말 간의 네트워크 시스템 구성 방법 |
US8208954B1 (en) | 2005-04-08 | 2012-06-26 | Iwao Fujisaki | Communication device |
US20070005694A1 (en) * | 2005-06-30 | 2007-01-04 | Pando Networks, Inc. | System and method for distributed multi-media production, sharing and low-cost mass publication |
US7925701B2 (en) | 2005-07-25 | 2011-04-12 | Sony Ericsson Mobile Communications Ab | Mobile communication terminal supporting information sharing |
US20070050448A1 (en) * | 2005-08-25 | 2007-03-01 | Polycom, Inc. | Method and system for information collaboration over an IP network via handheld wireless communication devices |
US20070218885A1 (en) * | 2006-03-16 | 2007-09-20 | Lucent Technologies Inc. | Method and apparatus for remote generation of a conference call using SMS or email messages |
US20070239869A1 (en) * | 2006-03-28 | 2007-10-11 | Microsoft Corporation | User interface for user presence aggregated across multiple endpoints |
US7945612B2 (en) * | 2006-03-28 | 2011-05-17 | Microsoft Corporation | Aggregating user presence across multiple endpoints |
US9241038B2 (en) * | 2006-05-23 | 2016-01-19 | Microsoft Technology Licensing, Llc | User presence aggregation at a server |
US20080005233A1 (en) * | 2006-06-29 | 2008-01-03 | Yigang Cai | Online conferencing systems for sharing documents |
KR100848289B1 (ko) * | 2007-01-05 | 2008-10-10 | 엠피에스리서치(주) | 무선망에서 피투피 기반의 확장성 있는 실시간 이동그룹통신 서비스 관리 시스템 및 방법 |
US8559983B1 (en) | 2007-05-03 | 2013-10-15 | Iwao Fujisaki | Communication device |
US7890089B1 (en) | 2007-05-03 | 2011-02-15 | Iwao Fujisaki | Communication device |
US8782527B2 (en) | 2007-06-27 | 2014-07-15 | Microsoft Corp. | Collaborative phone-based file exchange |
US20090016496A1 (en) * | 2007-07-14 | 2009-01-15 | Bulmer Michael W | Communication system |
US8676273B1 (en) | 2007-08-24 | 2014-03-18 | Iwao Fujisaki | Communication device |
US9154552B2 (en) | 2007-09-06 | 2015-10-06 | Microsoft Technology Licensing, Llc | Method and apparatus for cooperative file distribution with receiver determined quality of services |
US9178957B2 (en) * | 2007-09-27 | 2015-11-03 | Adobe Systems Incorporated | Application and data agnostic collaboration services |
US8639214B1 (en) | 2007-10-26 | 2014-01-28 | Iwao Fujisaki | Communication device |
US8472935B1 (en) | 2007-10-29 | 2013-06-25 | Iwao Fujisaki | Communication device |
US9420014B2 (en) | 2007-11-15 | 2016-08-16 | Adobe Systems Incorporated | Saving state of a collaborative session in an editable format |
US8744720B1 (en) | 2007-12-27 | 2014-06-03 | Iwao Fujisaki | Inter-vehicle middle point maintaining implementer |
US8543157B1 (en) | 2008-05-09 | 2013-09-24 | Iwao Fujisaki | Communication device which notifies its pin-point location or geographic area in accordance with user selection |
US8340726B1 (en) | 2008-06-30 | 2012-12-25 | Iwao Fujisaki | Communication device |
US8452307B1 (en) | 2008-07-02 | 2013-05-28 | Iwao Fujisaki | Communication device |
US7945622B1 (en) | 2008-10-01 | 2011-05-17 | Adobe Systems Incorporated | User-aware collaboration playback and recording |
US9294291B2 (en) | 2008-11-12 | 2016-03-22 | Adobe Systems Incorporated | Adaptive connectivity in network-based collaboration |
US8254890B2 (en) | 2009-04-08 | 2012-08-28 | Research In Motion Limited | System and method for managing items in a list shared by a group of mobile devices |
US20100262924A1 (en) * | 2009-04-08 | 2010-10-14 | Kalu Onuka Kalu | System and method for linking items to a group |
US9917702B2 (en) * | 2009-04-08 | 2018-03-13 | Blackberry Limited | System and method for managing items in a list shared by a group of mobile devices |
US9065868B2 (en) * | 2009-04-08 | 2015-06-23 | Blackberry Limited | System and method for sharing data in a group of mobile devices |
EP2528303B1 (en) * | 2009-04-08 | 2014-07-02 | BlackBerry Limited | System and method for sharing data in a group of mobile devices |
CN102035877A (zh) * | 2009-10-07 | 2011-04-27 | 捷讯研究有限公司 | 管理由一组移动设备共享的列表中的项的***和方法 |
US20110252384A1 (en) * | 2010-04-09 | 2011-10-13 | Bank Of America Corporation | Wireless display application |
US9002935B1 (en) | 2010-05-04 | 2015-04-07 | Google Inc. | Copying document content through a hosted system |
US8996985B1 (en) | 2011-03-16 | 2015-03-31 | Google Inc. | Online document processing service for displaying comments |
US10075533B2 (en) | 2011-09-15 | 2018-09-11 | Paypal, Inc. | Method and apparatus for transferring the state of content using short codes |
US8819798B2 (en) * | 2011-12-29 | 2014-08-26 | Ebay Inc. | System and method for transferring states between electronic devices |
AU2015275329B2 (en) * | 2011-12-29 | 2017-01-19 | Ebay Inc. | System for transferring states between electronic devices |
US8965349B2 (en) * | 2012-01-26 | 2015-02-24 | Apple Inc. | Interactive application sharing |
EP2888674A4 (en) * | 2012-08-22 | 2016-05-18 | Nokia Technologies Oy | METHOD AND APPARATUS FOR EXCHANGING STATE UPDATES DURING COLLABORATION |
US10187433B2 (en) | 2013-03-15 | 2019-01-22 | Swyme Ip Bv | Methods and systems for dynamic adjustment of session parameters for effective video collaboration among heterogenous devices |
US11716392B2 (en) * | 2013-04-24 | 2023-08-01 | Blackberry Limited | Updating an application at a second device based on received user input at a first device |
US9313021B2 (en) * | 2013-08-29 | 2016-04-12 | National Chiao Tung University | Secret communication method with self-authentication capability |
US20150163067A1 (en) * | 2013-12-09 | 2015-06-11 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Control of computing device use during conferences |
US20160291915A1 (en) * | 2015-03-31 | 2016-10-06 | Airwatch Llc | Display sharing sessions between devices |
US10819759B2 (en) | 2015-04-30 | 2020-10-27 | At&T Intellectual Property I, L.P. | Apparatus and method for managing events in a computer supported collaborative work environment |
US9794306B2 (en) | 2015-04-30 | 2017-10-17 | At&T Intellectual Property I, L.P. | Apparatus and method for providing a computer supported collaborative work environment |
CN105872953A (zh) * | 2016-03-29 | 2016-08-17 | 乐视控股(北京)有限公司 | 用户设备之间通信的方法以及用户设备 |
US10904038B1 (en) * | 2019-11-21 | 2021-01-26 | Verizon Patent And Licensing Inc. | Micro-adapter architecture for cloud native gateway device |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US37366A (en) * | 1863-01-06 | Improved mode of attaching chimneys to lamps | ||
US4572509A (en) * | 1982-09-30 | 1986-02-25 | Sitrick David H | Video game network |
US5649104A (en) * | 1993-03-19 | 1997-07-15 | Ncr Corporation | System for allowing user of any computer to draw image over that generated by the host computer and replicating the drawn image to other computers |
JPH0879391A (ja) * | 1994-09-02 | 1996-03-22 | Fujitsu Ltd | 電子会議システム |
US5618045A (en) * | 1995-02-08 | 1997-04-08 | Kagan; Michael | Interactive multiple player game system and method of playing a game between at least two players |
US5748618A (en) * | 1995-09-29 | 1998-05-05 | Intel Corporation | Multilevel arbitration in a data conference |
US6343313B1 (en) * | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US6332153B1 (en) * | 1996-07-31 | 2001-12-18 | Vocaltec Communications Ltd. | Apparatus and method for multi-station conferencing |
US6016478A (en) * | 1996-08-13 | 2000-01-18 | Starfish Software, Inc. | Scheduling system with methods for peer-to-peer scheduling of remote users |
US5848415A (en) * | 1996-12-18 | 1998-12-08 | Unisys Corporation | Selective multiple protocol transport and dynamic format conversion in a multi-user network |
US6699187B2 (en) * | 1997-03-27 | 2004-03-02 | Medtronic, Inc. | System and method for providing remote expert communications and video capabilities for use during a medical procedure |
US6363352B1 (en) * | 1998-11-13 | 2002-03-26 | Microsoft Corporation | Automatic scheduling and formation of a virtual meeting over a computer network |
US6636888B1 (en) * | 1999-06-15 | 2003-10-21 | Microsoft Corporation | Scheduling presentation broadcasts in an integrated network environment |
JP3654797B2 (ja) * | 1999-07-29 | 2005-06-02 | 富士通株式会社 | 伝言システム及び伝言装置 |
US6434599B1 (en) * | 1999-09-30 | 2002-08-13 | Xoucin, Inc. | Method and apparatus for on-line chatting |
US6625258B1 (en) * | 1999-12-27 | 2003-09-23 | Nortel Networks Ltd | System and method for providing unified communication services support |
SG99886A1 (en) * | 2000-02-24 | 2003-11-27 | Ibm | System and method for collaborative multi-device web browsing |
US6732103B1 (en) * | 2001-05-08 | 2004-05-04 | Worldcom, Inc. | Systems and methods for generating and transmitting event information and follow-up event coordination information |
US6674459B2 (en) * | 2001-10-24 | 2004-01-06 | Microsoft Corporation | Network conference recording system and method including post-conference processing |
-
2002
- 2002-11-05 US US10/288,005 patent/US20030208541A1/en not_active Abandoned
- 2002-11-06 KR KR1020047004192A patent/KR20050043721A/ko not_active Application Discontinuation
- 2002-11-06 EP EP02789478A patent/EP1442560A2/en not_active Withdrawn
- 2002-11-06 JP JP2003545005A patent/JP2005509960A/ja active Pending
- 2002-11-06 CA CA002460600A patent/CA2460600A1/en not_active Abandoned
- 2002-11-06 CN CNA028196139A patent/CN1565105A/zh active Pending
- 2002-11-06 WO PCT/US2002/035673 patent/WO2003043301A2/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013501990A (ja) * | 2009-08-12 | 2013-01-17 | ノーテル・ネットワークス・リミテッド | 自動セッションアドミッション |
Also Published As
Publication number | Publication date |
---|---|
US20030208541A1 (en) | 2003-11-06 |
CA2460600A1 (en) | 2003-05-22 |
KR20050043721A (ko) | 2005-05-11 |
WO2003043301A3 (en) | 2003-08-21 |
CN1565105A (zh) | 2005-01-12 |
WO2003043301A2 (en) | 2003-05-22 |
EP1442560A2 (en) | 2004-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005509960A (ja) | ハンドヘルド無線会議技術 | |
US6173314B1 (en) | Application sharing system with user managed address for conferencing | |
JP4467220B2 (ja) | 音声インスタント・メッセージング | |
US7167678B2 (en) | Persistent peer-to-peer networking over a piconet network | |
US20080301233A1 (en) | P2p file transmission system and method | |
US7433344B2 (en) | Mobile communication system and method for providing real time messenger service among mobile communication terminals | |
US20030126213A1 (en) | Establishing direct instant messaging communication between wireless devices | |
US20160219419A1 (en) | Voice messaging method and mobile terminal supporting voice messaging in mobile messenger service | |
EP1427143A1 (en) | Network information processing system and network information processing method | |
US20090043849A1 (en) | Collaborative web-based computing | |
WO2007020685A1 (ja) | 通信制御方法、コンピュータ・システム、会議管理サーバ、通信方法及び携帯端末 | |
JP2009500708A (ja) | ピアツーピアグループ管理のフレームワークおよび方法 | |
US7593988B2 (en) | Systems and methods for multiparty session invite | |
CN101171792A (zh) | 处理通信网络中群组通信的方法 | |
KR101157039B1 (ko) | Ddsb 통신 시스템 및 방법 | |
MXPA03002792A (es) | Controles de comunicacion extensibles. | |
KR20040101894A (ko) | 무선통신 시스템, 무선통신단말 및 무선통신 시스템으로의참가방법 | |
JP4363942B2 (ja) | サーバ、通信制御方法、および、プログラム | |
KR20200055511A (ko) | 웹 기반 실시간 공유 오브젝트 전송 시스템 및 방법 | |
CN102172006A (zh) | 网络***、通信装置、通信方法、及通信程序 | |
US20040066770A1 (en) | Method for communicating with a resource-constrained device on an edge of a network | |
TWI255116B (en) | Integrated real-time message system with gateway function, and its implementation method | |
Yoneki et al. | Pronto: MobileGateway with publish-subscribe paradigm over wireless network | |
Bischof et al. | Many-to-Many Invocation: A new framework for building collaborative applications in ad hoc networks | |
KR20170110779A (ko) | Telegram API를 이용한 화상회의 초대 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060815 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061115 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061122 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070417 |