首页 / 专利库 / 软件 / 可联网软件 / 互联网浏览器 / Computer and execution method therefor

Computer and execution method therefor

阅读:836发布:2022-12-13

专利汇可以提供Computer and execution method therefor专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To allow plural users of an internet to simultaneously operate the cooperative work (reading, moving, and changing) of an HTML page by allowing a browser used on an internet to simultaneously control the other browsers used on the internet. SOLUTION: A web shared manager 160 of a receiving side shared client 150B receives a duplicated event (for example, browser request) and message for allowing the receiving side shared client 150B to execute a duplicated event/ message for allowing the browsers of a shared client computer system between a source and a receiving side to process the same event/message from a web shared manager 160 of a source shared client 150A. Thus, an event/message including control and an address is shared between the both clients 150A and 150B. That is, the display and control of the same web page can be simultaneously operated on all the shared clients.,下面是Computer and execution method therefor专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】メモリと、中央演算処理装置と、表示装置と、ユーザ入力装置と、オペレーティング・システムと、サーバ及び共用コンピュータに接続されたネットワークと通信するためのネットワーク・プロトコルを備えたネットワーク・インタフェースとを有するコンピュータであって、 ネットワーク・インタフェースを介してネットワークでブラウザ要求をサーバに送ることによってサーバにページを要求し、ネットワーク・インタフェースを介してネットワークで送られた要求ページのうちの要求ページをサーバから受け取るブラウザと、 リダイレクトされるブラウザ要求が表示装置上でウェブ・ページを作成するために必要なブラウザ要求のうちの要求から再作成される、リダイレクトされるブラウザ要求であるブラウザ要求のうちのブラウザ要求を再作成することができるリダイレクタと、 ネットワーク・インタエースに接続され、リダイレクトされた要求を受け取り、ネットワークで共用コンピュータにブラウザ要求を送るウェブ共用マネージャとをさらに含むコンピュータ。
  • 【請求項2】メモリと、中央演算処理装置と、表示装置と、ユーザ入力装置と、オペレーティング・システムと、サーバ及び共用コンピュータに接続されたネットワークと通信するためのネットワーク・プロトコルを備えたネットワーク・インタフェースとを有するコンピュータであって、 イベントを生成することができるブラウザと、 メッセージを処理するオペレーティング・システムと、 キュー項目のうちの項目のそれぞれがメッセージのうちの1つを含み、キュー項目のうちのキュー項目がイベントのうちの1つを含む、キュー項目をスタックするキューと、 キュー項目のうちのリダイレクトされるキュー項目であるキュー項目の監視と再作成を行うことができるリダイレクタと、 ネットワーク・インタフェースに接続され、リダイレクタから宛てて送られたキュー・イベントを受け取り、送られた各キュー・イベントをネットワーク・プロトコルに準拠した送信パケットに組み込み、送信パケットをネットワーク・インタフェースを介してネットワークで共用コンピュータのうちの共用コンピュータに送信するウェブ共用マネージャとをさらに含むコンピュータ。
  • 【請求項3】マネージャが、オペレーティング・システム・メッセージと、アプリケーション・メッセージと、
    入力装置メッセージと、共用コンピュータによって生成されたメッセージとのうちのいずれか1つを含むことを特徴とする、請求項2に記載のコンピュータ。
  • 【請求項4】イベントがブラウザ要求であることを特徴とする、請求項2に記載のコンピュータ。
  • 【請求項5】ブラウザ要求がサーバにウェブ・ページを要求する要求であることを特徴とする、請求項4に記載のコンピュータ。
  • 【請求項6】サーバがHTMLサーバでありページがH
    TMLページであることを特徴とする、請求項5に記載のコンピュータ。
  • 【請求項7】ユーザ入力装置が、ペンと、手書きアノテーション・ドライバと、ペン・オーバレイと、リモート・ポインタと、マウスと、キーボードと、仮想現実入力装置と、音声認識システムとのうちのいずれか1つまたは複数を含むことを特徴とする、請求項2に記載のコンピュータ。
  • 【請求項8】ネットワークが、インターネットと、ローカル・エリア・ネットワークと、ワイド・エリア・ネットワークとのうちのいずれか1つを含むことを特徴とする、請求項2に記載のコンピュータ。
  • 【請求項9】ネットワーク・プロトコルがTCP/IP
    であることを特徴とする、請求項2に記載のコンピュータ。
  • 【請求項10】キュー・イベントのうちのキュー・イベントがブラウザによって作成されたCCIイベントであることを特徴とする、請求項2に記載のコンピュータ。
  • 【請求項11】CCIイベントがオペレーティング・システム・プロトコルに変換されることを特徴とする、請求項10に記載のコンピュータ。
  • 【請求項12】オペレーティング・システム・プロトコルが動的データ交換(DDE)であることを特徴とする、請求項11に記載のコンピュータ。
  • 【請求項13】CCIイベントが、ページを開く要求と、ウィンドウ・サイズを変更する要求と、プロトコルを登録する要求と、プロトコルを登録抹消する要求と、
    ウィンドウ情報を入手する要求と、新規ページを開く時に通知されることを求める要求と、ウィンドウ・サイズを変更するときに通知されることを求める要求とのうちのいずれか要求を含むことを特徴とする、請求項10に記載のコンピュータ。
  • 【請求項14】メッセージのうちのメッセージが、キーボードからのキーストロークと、マウスのクリック及び移動と、ペン入力と、音声認識システムからの音声信号と、オペレーティング・システム・メッセージとのうちの1つまたは複数によって作成されることを特徴とする、請求項2に記載のコンピュータ。
  • 【請求項15】送信パケットと受信パケットがネットワーク・プロトコルによって使用される情報が入った通信ヘッダとウェブ共用マネージャ・ヘッダとを有し、各ウェブ共用マネージャ・ヘッダが受信者IDフィールドとパケット長フィールドを有し、受信者IDフィールドがリダイレクタを識別する受信者値を有し、パケット長フィールドがイベントのタイプを識別するデータ・タイプ・フィールドとイベントに付随するパラメータを識別するパラメータ・フィールドとを有するウェブ共用マネージャ・データの長さを指定する長さ値を有することを特徴とする、請求項2に記載のコンピュータ。
  • 【請求項16】メモリと、中央演算処理装置と、表示装置と、ユーザ入力装置と、オペレーティング・システムと、サーバ及び共用コンピュータに接続されたネットワークと通信するためのネットワーク・プロトコルを備えたネットワーク・インタフェースとを有するコンピュータであって、 ネットワーク・インタフェースを介してネットワークでサーバにブラウザ要求を送ることによってサーバのうちのサーバにページを要求し、サーバからネットワーク・
    インタフェースを介してネットワークで送られた要求ページのうちのページを受け取り、ユーザ入力装置からの情報のメッセージを使用して表示装置上にページを表示するブラウザと、 リダイレクトされるブラウザ要求が表示装置上でページを作成するために必要なブラウザ要求のうちの要求から再作成される、リダイレクトされるブラウザ要求であるブラウザ要求のうちのブラウザ要求を再作成することができ、リダイレクトされるメッセージであるメッセージのうちのメッセージを再作成することができる、リダイレクタと、 ネットワーク・インタエースに接続され、リダイレクトされたブラウザ要求とリダイレクトされたメッセージとを受け取り、ネットワークで共用コンピュータにブラウザ要求とリダイレクトされたメッセージとを送り、それによって共用コンピュータが共用表示画面上にページのコピーを表示する、ウェブ共用マネージャとをさらに含むコンピュータ。
  • 【請求項17】コンピュータがエージェントによって使用されるエージェント・コンピュータであり、ページが文書であり、共用コンピュータがクライアントによって使用されるクライアント・コンピュータであることを特徴とする、請求項16に記載のコンピュータ。
  • 【請求項18】クライアント・コンピュータ上のゼロまたはそれ以上の入力装置とエージェント・コンピュータ上のゼロまたはそれ以上の入力装置が、ペンと、手書きアノテーション・ドライバと、ペン・オーバレイと、リモート・ポインタと、マウスと、キーボードと、仮想現実入力装置と、音声認識システムとのうちのいずれか1
    つまたは複数を含むことを特徴とする、請求項17に記載のコンピュータ。
  • 【請求項19】入力装置が署名を生成することができるペンであり、文書が署名が入れられるウィンドウを有することを特徴とする、請求項17に記載のコンピュータ。
  • 【請求項20】文書が商取引で一般に使用される任意の文書であることを特徴とする、請求項17に記載のコンピュータ。
  • 【請求項21】文書が、契約書、レンタカー契約書、クレジット・カード明細書、銀行明細書、申込み書、書式、納税申告用紙、注文書、メニュー、設計図、ソフトウェア・コードのリスト、特許出願書、及び積荷証券のうちのいずれか1つまたは複数であることができることを特徴とする、請求項20に記載のコンピュータ。
  • 【請求項22】メモリと、中央演算処理装置と、表示装置と、ユーザ入力装置と、オペレーティング・システムと、サーバ及び共用コンピュータに接続されたネットワークと通信するためのネットワーク・プロトコルを備えたネットワーク・インタフェースとを有するコンピュータであって、 ネットワーク・インタフェースを介してネットワークでサーバにブラウザ要求を送ることによってサーバのうちのサーバにページを要求し、サーバからネットワーク・
    インタフェースを介してネットワークで送られた要求ページのうちのページを受け取り、ユーザ入力装置からの情報のメッセージを使用して表示装置上にページを表示するブラウザ手段と、 リダイレクトされるブラウザ要求が表示装置上でページを作成するために必要なブラウザ要求のうちの要求から再作成される、リダイレクトされるブラウザ要求であるブラウザ要求のうちのブラウザ要求を再作成することができ、リダイレクトされるメッセージであるメッセージのうちのメッセージを再作成することができる、リダイレクタ手段と、 ネットワーク・インタフェースに接続し、リダイレクトされたブラウザ要求とリダイレクトされたメッセージとを受け取り、ブラウザ要求とリダイレクトされたメッセージとをネットワークで共用コンピュータのうちの共用コンピュータに送り、それによって共用コンピュータが共用表示画面上にページのコピーを表示する、ウェブ共用マネージャ手段とをさらに含むコンピュータ。
  • 【請求項23】a. メモリからメッセージを取り出すステップと、 b. ブラウザが表示装置上でページを作成するためにメッセージが必要な場合はメッセージを複製するステップと、 c. ネットワークで共用コンピュータにメッセージを送り、それによって共用コンピュータ上の受信側ブラウザがメッセージを使用して受信画面上に前記ページと同じ受信ページを作成することができるようにするステップとを含む、コンピュータによって実行される方法。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【発明の属する技術分野】本発明はネットワーク共用の分野に関する。 具体的には、本発明は複数のユーザによるインターネット上の同一HTMLページの共用に係わる。

    【0002】

    【従来の技術】インターネットは、所与のネットワーク上のどのコンピュータも他の所与のネットワーク上の1
    つまたは複数のコンピュータと通信することができるように相互接続された複数のコンピュータ・ネットワークを含む。 ゲートウェイ・コンピュータは、2つのネットワークを相互接続し、1つのネットワークから他のネットワークにデータを渡すコンピュータである。

    【0003】インターネット上のすべてのコンピュータは、特定の通信プロトコル、すなわちインターネット・
    プロトコル(IP)を介して通信する。 ほとんどのアプリケーションは、インターネット・プロトコルと共に伝送制御プロトコル(TCP)を使用する。 したがって、
    インターネットはTCP/IPネットワークとも呼ばれる。 インターネットに接続されたコンピュータは、固有のインターネット・アドレスで識別される。

    【0004】インターネットは、周知のパケット交換技法を使用して情報をルーティングする。 インターネット上では、データはアドレスの付いたパケット(IPパケットとも呼ぶ)を介して伝送される。 IPパケットの伝送の速度と信頼性は、データ・トラフィックとルーティングに依存する。 インターネットワーキング通信については、1994年12月6日に発行された「Metho
    d and Apparatus for Makin
    g a Cluster of Computers
    Appear as a Single Host o
    n a Network」という名称のアタナシオ等の米国特許第5371852号を参照されたい。 この特許は、参照によりその全体が本明細書に組み込まれる。

    【0005】一般的なインターネット・アプリケーションの中には、電子メール、FTP、テルネット、及びネットワーク・ニュースなどが組み込まれたものがある。
    インターネットの通信プロトコル及びアプリケーションは周知である。

    【0006】ワールド・ワイド・ウェブ(すなわちWW
    Wまたはウェブ)は、インターネットに基づく情報サービス・システムである。 WWWはハイパーテキストとクライアント/サーバ技法とを使用する。

    【0007】ハイパーテキストは、ハイパーテキスト・
    ファイル内のデータ・オブジェクトが他のハイパーテキスト・ファイルまたはデータ・オブジェクトへのリンクを持つことができるように情報を構成し、提示する方法である。 たとえば、ハイパーテキスト・ページを表示している間に、ユーザはリンクを持つ語を選択することができる。 これによって、ユーザはその語について説明する他のテキストや絵を含む別のハイパーテキスト・ファイルに移動することができる。 (その新しいファイルにも他のハイパーテキスト・ファイルへの他のリンクがある場合があり、以降同様にリンクされていく。)

    【0008】現在、ハイパーテキスト・ファイルは、ハイパーテキスト・マークアップ言語(HTML)を使用して構成されている。 ハイパーテキスト・データ・オブジェクトは、テキスト、画像、音声、ムービー、または1つの実行可能コンピュータ・プログラムなど、ほとんどどのような情報媒体ともすることができる。 ウェブ上のどのハイパーテキスト・ファイルも、そのユニバーサル・リソース・ロケータ(URL)によって固有に識別される。

    【0009】ウェブ・クライアントまたはクライアント(一般には、ブラウザと呼ばれるプログラムを実行するコンピュータ)は本質的に、ハイパーテキスト転送プロトコル(HTTP)などの特定のデータ転送プロトコルを介してウェブ・サーバと通信するハイパーテキスト・
    リーダである。 クライアントは、自分のURLを使用してハイパーテキスト・ファイルを要求し、そのファイルをグラフィカル・ユーザ・インタフェース(GUI)上に表示する。 この表示をウェブ・ページと呼ぶ。 クライアントは、サーバに特定のデータを戻すこともでき、サーバ・コンピュータ上のコモン・ゲートウェイ・インタフェース(CGI)プログラムを呼び出して特定のタスクを行うことができる。 ブラウザは一般に知られている。 1つの一般的なブラウザは、ネットスケープ・ナビゲーターである。 「ネットスケープ・ナビゲーターはネットスケープ・コミュニケーションズ・コーポレイションの商標である。

    【0010】WWWは、インターネットの世界的規模の接続を使用してインターネット上のどこにいるユーザでもハイパーテキスト・ファイルをWWWで送信することができるようにし、世界中からどのハイパーテキスト・
    ファイルでもローカル・ハード・ディスクを使用するのと同じくらい便利に取り出すことができるようにする。
    これによってユーザは情報を入手する強な力が与えられ、インターネットはハイパーメディア・グローバル・
    データベース、すなわち情報スーパーハイウェイとなる。

    【0011】インターネットとWWWは最近2、3年の間に爆発的に拡大している。 企業も、インターネットとWWWを、膨大な消費市場に進出するための新世代の世界的通信基盤として使用することに大きな可能性を予測している。

    【0012】ウェブ技術は、あらゆる種類の情報に世界中のどこででもアクセスしたり送信したりすることができる大きな力をユーザに与えるが、現在のところユーザは基本的に「一人旅」を強いられる。 すなわち、ユーザは同時に閲覧している他のユーザと同じ情報を自分のウェブ・ページで表示することができない。

    【0013】従来の技術に関する問題個々のユーザは、
    ブラウザを動作させてウェブ・ページを閲覧する。 ウェブ・ページはHTML形式である。 しかし、各個人が使用しているブラウザは他のブラウザがどのページを表示中であるかということに関して他のブラウザを制御することができない。

    【0014】現在、第1のユーザが第2のユーザとウェブ・ページを共用したい場合、すなわち「共同作業」したい場合、第1のユーザと第2のユーザは、たとえば電話などの他の通信手段を使用して、共同作業の調整をしなければならない。 たとえば、ページのアドレスを伝え、そのページの項目を選択し、ページ上での移動を知らせ、他の場所との間での移動を知らせるなどしてページの共用を調整しなければならない。 この調整には、第1のユーザと第2のユーザとが閲覧を調整するために他の通信手段を介して互いに多くの情報を頻繁に交換する必要がある。

    【0015】従来の技術では、インターネット上で2人以上の各ユーザが使用している2つ以上のブラウザの間で直接、自動通信や制御を行うことができない。 従来の技術で行われているたとえばページ共用などの共同作業では、ユーザがブラウザ以外の通信回線を介して通信する必要がある。 共同作業には、第2の通信手段の設備と費用を必要とする。 従来技術の共同作業はしばしば、第2の通信手段を介した、誤りの起こりがちな反復的情報交換を必要とする。

    【0016】さらに、ユーザは所与のページで「同時共同作業」を行うことができない。 たとえば、第1のユーザは第2のユーザに知らせずに別の場所に移動したり別のページに移動したりすることができない。 第1のユーザと第2のユーザとが別個の通信リンクを介して通信しない限り、第1のユーザには第2のユーザがそれぞれのページで何を見たり行ったりしているかがわからず、その逆も同様である。 たとえば、銀行のHTMLホーム・
    ページを見ている銀行の顧客は、顧客と銀行エージェントとの間の通信を例えば電話などの他の通信手段によって行わない限り、銀行の出納係または銀行エージェントに質問したり回答を受け取ったりすることができない。
    エージェント(顧客)は顧客(エージェント)が見るページを制御することができない。

    【0017】従来の技術では、複数のユーザが同時に共通のウェブ上の情報について共同作業したり共用したりすることができない。 すなわち、複数のユーザが同時に自動的に同じページ(及びそのページに加えられた変更)を見ることはできない。 また、複数のユーザがウェブ上の情報の制御を共有することもない。 たとえば、複数のユーザに変更内容が同時に見えたり、他のページへの移動が同時に見えたりすることはない。

    【0018】

    【発明が解決しようとする課題】本発明の目的は、インターネットの2人以上のユーザが同時にHTMLページの共同作業(閲覧、移動、または変更)を行うことができるようにするシステム及び方法である。

    【0019】本発明の目的は、インターネット上で使用されている1つまたは複数のブラウザが、インターネット上で使用されている1つまたは複数の他のブラウザを同時に制御することができるようにするシステム及び方法である。

    【0020】本発明の目的は、ブラウザまたはコンピュータ・オペレーティング・システムに変更を加えずに、
    インターネット上で使用されている1つまたは複数の標準ブラウザがインターネット上で使用されている1つまたは複数の他のブラウザを同時に制御することができるようにするシステム及び方法である。

    【0021】

    【課題を解決するための手段】1つまたは複数のクライアント・コンピュータ・システムが、1つまたは複数の中央演算処理装置(CPU)と、ネットワークへのインタフェースと、ブラウザとを有する。 たとえばインターネットなどのネットワークが、1つまたは複数のウェブ・サーバを使用して1つまたは複数の第1の(たとえばソース)クライアントと1つまたは複数の第2の(たとえば受信側)クライアント・コンピュータ・システムとの間に通信リンクを提供する。 第2のクライアントは、
    メモリと、CPUと、ネットワーク・インタフェースとブラウザも有する。 第1及び第2のクライアントでは、
    ブラウザはウェブ・サーバのうちのいずれか1つに対して1つまたは複数のブラウザ要求を送ることによって、
    1つまたは複数のウェブ・サーバから1つまたは複数のHTMLページにアクセスすることができる。

    【0022】共用クライアントは、それぞれのウェブ共用マネージャを介して互いに共同作業する1つまたは複数の第1のクライアント・コンピュータ・システムと、
    1つまたは複数の第2のクライアント・コンピュータである。 受信側の共用クライアントのウェブ共用マネージャは、ソース共用クライアントのウェブ共用マネージャから複製イベント(たとえばブラウザ要求)とメッセージを受け取り、それによって受信側の共有クライアントのブラウザはその複製イベント/メッセージを実行し、
    その結果、ソース及び受信側の共用クライアント・コンピュータ・システムのブラウザは同じイベント/メッセージを所有するようになる。 制御と情報のある場所(アドレス)を含むイベント/メッセージがソースと受信側の共用クライアントの間で共有されるため、すべての共用クライアントで同じウェブ・ページが同時に表示され、制御される。 クライアント間で共用されるイベントの例としては、WWW上の情報の場所、他のネットワーク(電話網を含む)へのゲートウェイ接続などのブラウザ要求がある。 メッセージの例としては、マウス制御、
    ペン制御、キーボード入力などの入出力制御、オペレーティング・システム・メッセージ、アプリケーション・
    メッセージなどがある。

    【0023】本発明の好ましい一実施例は、ブラウザが「登録機能」を備え、オペレーティング・システムが「フック機能」を備えている限り、コンピュータのブラウザまたはオペレーティング・システムに変更を加えずにコンピュータ・システムに付加することができる。 登録機能によってたとえばCCIイベントなどの特定のイベントをリダイレクタにルーティングし、フック機能によってオペレーティング・システムのメッセージ・キューへのメッセージ・リダイレクタ・アクセスを可能にする。 登録機能とフック機能は、共用クライアント内の1
    つまたは複数のリダイレクタと協調動作して、共用クライアント間で複製ブラウザ・イベント及びメッセージをルーティングし、それによって各共用クライアント上で同じウェブ・ページが表示されるようにする。

    【0024】

    【発明の実施の形態】図1は、本発明のシステム100
    の好ましい一実施例を示すブロック図である。 システム100は、1つまたは複数のサーバ110と1つまたは複数のクライアント・コンピュータ150(たとえば1
    50A及び150B)を有するコンピュータ・ネットワーク115である。 好ましい実施例では、ネットワークは様々なクライアント150とサーバ110の間での通信のためにTCP/IPプロトコル120を使用する。
    プロトコル120は、クライアント150をネットワーク115に接続するハードウェアであり、通常はクライアントのメイン・メモリ180に常駐するソフトウェアも含む。 プロトコル120ハードウェア及びソフトウェア(ネットワーク・インタフェースとも呼ぶ)は周知である。 ネットワーク115の好ましい一実施例は、インターネットとWWWである。

    【0025】各クライアント150(たとえば150A
    及び150B)は、中央演算処理装置(CPU170)
    と、記憶装置175と、メイン・メモリ180と、入出力(I/O)インタフェース185とを備えたコンピュータである。 I/Oインタフェース185は、CPU1
    70及びオペレーティング・システム195が、マウス、キーボード、ペン・オーバーレイ、バーチャル・リアリティ入力装置、音声認識システムのような入力装置190を処理することができるようにする。 その他の入出力インタフェース185は、クライアント上のグラフィカル・ユーザ・インタフェース(GUI)135を動作させる。 同等のクライアント・コンピュータ150は周知である。 クライアント・コンピュータの好ましい一例は、たとえばAptiva(IBMコーポレイションの商標)などのいずれかのIBMパーソナル・コンピュータである。 IBMのVoiceType 3.0ディクテーション・システムのような音声認識システムもよく知られている。 (VoiceTypeもIBMコーポレイションの商標である。)バーチャル・リアリティ入力装置及びシステムの例は、バーチャル・ユニバース・
    コーポレイションに譲渡された1993年9月22日付けの優先日を持つ国際特許第WO95/08793号(米国特許出願第08/125950号)に記載されており、必要により参照されたい。

    【0026】本発明のウェブ・ページ共用に参加する各クライアント150(たとえば150A及び150B)
    は、クライアントが実行するプロセスも有する。 図1の詳細については図2を参照されたい。 典型的には、これらのプロセスはそれぞれのクライアント(150A及び150B)のメイン・メモリ180に常駐し、周知のウェブ・ブラウザ130と、周知のウェブ共有ユーザ・インタフェース135と、任意選択の周知のアノテーション装置(アノテータ)142と、任意選択の周知のリモート・ポインタ144とを含む。 新規なリダイレクタ(好ましい一実施例では共通クライアント・インタフェース・リダイレクタ)145と、新規なメッセージ・リダイレクタ155と、新規なウェブ共用マネージャ16
    0も、各クライアント150上で可動するプロセスとして備える。

    【0027】以下の説明では、ウェブ・ページ共用共同作業においてイベント(たとえば要求)またはメッセージあるいはその両方を出す1つまたは複数のクライアントを、ソースまたは送信側共用クライアント(または機械)またはソース・クライアント/機械と呼び、150
    Aとして示す。 それに対して、イベントまたはメッセージあるいはその両方を受信する1つまたは複数の共用クライアントを受信側共用クライアント(または機械)または受信側クライアント/機械と呼び、150Bとして示す。 当然ながら、これらの共用クライアントは役割を交代することができ、事実交代する。 ソース150Aと受信側150Bの機械の構成要素は、それぞれ「A」または「B」が付加された指示番号を付けて示す。

    【0028】図1ではわかりやすくするためにいくつかのプロセスが省略されているが、図2に詳細が図示されている。 すべてのクライアント150はウェブ・ブラウザ130と、ウェブ共用ユーザ・インタフェース135
    と、リダイレクタ(たとえば共通クライアント・インタフェース(CCI)リダイレクタ145)と、メッセージ・リダイレクタ155と、ウェブ共用マネージャ16
    0とを有する。 クライアント150は、典型的には入出力(I/O)ポート185と、アノテーション(アノテータ)142ドライバ及びリモート・ポインタ144ドライバのような任意選択のドライバも有する。

    【0029】好ましい実施例では、ウェブ共用マネージャ160とリダイレクタ(145、155)は、ブラウザ130及びオペレーティング・システム195とは独立したプロセスである。 しかし、リダイレクタ・プロセス(145、155)は登録機能130Fを介してブラウザ130に接続し、フック191を介してオペレーティング・システム195に接続し、それによってブラウザからイベント情報にアクセスすることができ、オペレーティング・システム195が使用するメモリ165に記憶されているメッセージとイベント情報へのアクセスとそれらの供給を行うことができる。 好ましい実施例では、オペレーティング・システムがメッセージ及び(メッセージの形の)要求/イベント情報の記憶とアクセスを行うために使用するメモリ165は、メッセージ/イベント・キュー(または単にキュー)165である。 リダイレクタ(145、155)は、要求/事象とメッセージがソースと受信側の両方の共用クライアント内の正しい場所に確実にルーティングされるようにし、それによってすべての共有クライアント上に同じウェブ・ページが表示されるようにする。

    【0030】キュー165の構造は周知であり、オペレーティング・システムによって規定される。 キュー16
    5内のキュー項目171(「DDE」メッセージ形式のメッセージ及びイベント/要求)は、典型的には、メッセージ・タイプ166と、メッセージに付随するパラメータ167と、メッセージの受信者を指定する宛先16
    8と、その他の情報169とを含む構造を有する。

    【0031】ウェブ共用マネージャ160とリダイレクタ(145、155)を共用クライアント150のメモリ180にロードすることによって、ブラウザ130またはオペレーティング・システム195に修正を加えずに、(登録機能130Fを有する)標準ブラウザ130
    とメッセージ/イベント・キュー165に対するフック191を有する標準オペレーティング・システム195
    とを備えたクライアントを、他の共用クライアント15
    0と共同作業することができる共用クライアント150
    に変換することができる。

    【0032】好ましい実施例では、コンピュータ・システム150はリダイレクタ(具体的にはCCIリダイレクタ)145を使用して、ソース・クライアント150
    Aのブラウザ130が生成した複製(CCI)イベント132AOutを1つまたは複数の受信側クライアント150Bに送信する。 受信側クライアント150Bの(CCI)リダイレクタ145は、受信(CCI)イベント132AInが適切に処理され、実行のために受信側クライアント150Bのブラウザ130にルーティングされるようにする。 (本開示では、イベントとCCI
    イベント、リダイレクタ145とCCIリダイレクタ1
    45は、普遍性を失うことなく同義に使用することに留意されたい。 )

    【0033】共用クライアント・コンピュータ・システム150は、メッセージ・リダイレクタ150を使用して、ソース・クライアント150Aが生成した(キーボード入力やマウス入力185のような)メッセージを複製し、それらの複製メッセージ165AOutを受信側クライアント150Bに送る。 受信側クライアント15
    0Bはメッセージ・リダイレクタ155を使用して受信メッセージ165AInに標識またはタグ(以下を参照)を付け、オペレーティング・システム195と協調してそれらの受信メッセージ165AInを処理する。

    【0034】ウェブ・ブラウザ130は、たとえばネットスケープ・ナビゲーター130など、登録機能を有する任意の市販ネットワーク・ブラウザとすることができる。 ウェブ・ブラウザ130は、TCP/IPプロトコルの上位にある周知のインターネット・プロトコル(たとえばhttp、ftp)を使用してネットワーク11
    5及びサーバ110と通信する。

    【0035】ウェブ共用ユーザ・インタフェース135
    は、このパッケージのユーザが、接続の確立と、ツール(たとえばリモート・ポインタ144、アノテーション142)の呼出しと、ウェブ・ブラウザの文書の共有または非共有化と、他のユーザの状況の表示とを行うための操作性を与える。 このシステム100で使用するユーザ・インタフェース構成要素135は、ほとんどのデスクトップ・コンファレンス・システムに見られる単純な周知の機能であるため詳述しない。

    【0036】アノテーションまたはアノテータ142
    は、注釈を書いたりウェブ文書の一部の領域をハイライトしたりするための手書き(またはペン方式)機能を提供し、リモート・ポインタ144は、共用文書上でオブジェクトを指し示したり移動したりするために使用される。 ペン入力装置190がある場合は、それを注釈の書込みまたは指示に使用することができる(あるいはマウス190を使用することもできる)。 このアノテーション142とリモート・ポインタ144の機能は、デスクトップ・ビデオ・コンファレンス製品(たとえばIBM
    Personto Person製品を参照)で周知である。

    【0037】再び図2を参照すると、図1のシステムの詳細のブロック図に、本発明の構成要素間の情報と制御(イベント及びメッセージ)の流れが図示されている。

    【0038】本発明の好ましい実施例には、CCIリダイレクタ145とメッセージ・リダイレクタ155の2
    つのソフトウェア構成要素が含まれる。 CCIリダイレクタ145は、ブラウザ130が送信または要求するC
    CIイベント132Aと、ネットワーク115から受け取ったCCIイベント132AInの監視とルーティングを行う。 メッセージ・リダイレクタ155は、入力装置(たとえばキーボード、マウス、ペン・メッセージ)
    190及びその他の発信源から入力データ・メッセージをキャプチャしてルーティングする。 他の実施例では、
    「リダイレクタ」はCCIリダイレクタ145とメッセージ・リダイレクタ155の両方の機能を実行することができる。 他の実施例では、リダイレクトはこれらの機能を組み込むように特別に設計されたブラウザまたはウェブ共用マネージャあるいはその両方が行うことができる。

    【0039】好ましい実施例では、本発明は周知のブラウザ130の「登録」機能130Fを使用する。 多くのブラウザでは、この登録機能をコモン・クライアント・
    インタフェース(CCI)(132、130F)と呼んでいる。 たとえばネットスケープ・ナビゲーターなど一部のウェブ・ブラウザ130のCCI132は、外部プログラムがこのクロス・プラットフォーム・インタフェース(CCI132)を介してブラウザ130の機能の制御と拡張を行うための機能を備える。 CCI132
    は、ウェブ・ブラウザ130との間で通信するために使用することができる1組のインタフェースとして規定される。 ユーザはこのCCI132を使用して、ブラウザが外部プロセス(この例ではCCIリダイレクタ14
    5)に渡すCCIイベント132Aを定義する。 したがって、ブラウザ130が「登録された」CCIイベントを生成するたびに、ブラウザはTCP/IPプロトコル120を介してCCIイベント132A1をネットワーク115に送るだけでなく、複製されたCCIイベント132Aをオペレーティング・システム195に送る。
    好ましい実施例では、オペレーティング・システム19
    5は、複製CCIイベント132Aに動的データ交換(DDE)プロトコル131を適用してからCCIイベント132Aを、好ましくはキュー165に格納する。
    DDEプロトコルは、CCIイベント/要求132Aがキュー165にDDEメッセージとして入れられるようにする。 ネットスケープ・ナビゲーターのCCI132
    の詳細な仕様は、ネットスケープ・ブラウザ130のh
    ttp://home. netsacpe. com/n
    ewsref/std/ddeapi. html上に記載されている。

    【0040】ウィンドウズ・プラットフォームでのネットスケープ・ナビゲーターは、DDE131を使用してCCI132を実施する。 DDE131は、ウィンドウズ・プラットフォームで定義されている周知のメッセージ方式のプロセス間通信プロトコルであり、ブラウザ1
    30によって使用され、本発明ではCCI132によって使用される。

    【0041】たとえば、ユーザ/クライアント150が文書のURLを明示的に指定するか、またはURL文書へのハイパーテキスト・リンクをクリックすることによって、新しいウェブ文書を開くと、ブラウザ130はT
    CP/IPインタフェース120を介してウェブ・サーバ110にページを要求するイベント(要求)132A
    1を送る。 CCIイベントを監視するようにCCIリダイレクタが事前登録(130F、132)されているため(図9参照)、ブラウザ130はオペレーティング・
    システム195にOpenURLと呼ぶ(複製)CCI
    イベント132Aも送り、オペレーティング・システム195はそのイベント132AにDDEプロトコル13
    1を適用してそれをDDEメッセージとしてキューに入れる。 CCIイベント132Aは最終的にCCIリダイレクタ145にルーティングされ(後述の説明及び図1
    6を参照)、CCIリダイレクタ145は、CCIイベント132Aが(「パケット」(図8参照)として)ウェブ共用マネージャ160を介し、ネットワーク・インタフェース120を介してネットワーク115で共用受信側クライアント150Bにルーティングされるようにする。

    【0042】他の例として、ウェブ・ブラウザ130のウィンドウが変更された場合(たとえばユーザ150がサイズ変更または最大化した場合)、WindowCh
    angeというCCIイベント132Aがブラウザ13
    0によってCCIリダイレクタに送られる。

    【0043】DDEプロトコルの用語では、OpenU
    RLまたはWindowChange CCIイベント132AはDDEトピック名に設定され、文書のURL
    またはブラウザのウィンドウの新しいサイズはDDE項目に設定される。 DDEメッセージの項目171で、メッセージ・タイプ166が「DDEメッセージ」に設定され、パラメータ・フィールド167にはCCIイベント132Aが入れられ、宛先フィールド168はCCI
    リダイレクタになる。

    【0044】メッセージ・リダイレクタ155は、ネットワーク115から着信するすべてのメッセージ165
    AInをキュー165にルーティングし、オペレーティング・システム195によって処理されるキュー165
    内のすべてのキュー項目(イベント/要求及びメッセージ)を監視する。 メッセージ・リダイレクタ155は、
    キューを「フック」することによってキュー165を監視する。 メッセージ・リダイレクタ155は、メッセージ・リダイレクタ155が「インタレスト」を持っているキュー165内に入っているたとえばメッセージやイベントなどの特定のキュー項目を処理する。 これについては以下を参照されたい。

    【0045】本発明は、オペレーティング・システム1
    95が備えるフック191という周知の機能を使用して、キュー165内のすべてのキュー項目171をキャッチする。 オペレーティング・システム195と共にフックがインストールされている場合、キュー165から取り出されたすべてのキュー項目171がフック191
    に渡される。 フック191は、メッセージ・リダイレクタ155がメッセージ・タイプ166を検査156してメッセージ・リダイレクタが「インタレストを持っている」かどうか、すなわちキュー項目171を処理するかどうかを判断することができるようにする。 メッセージ・リダイレクタ155がインタレストを持っていない場合、そのキュー項目171をオペレーティング・システム191がさらに処理することができるようにオペレーティング・システム195に制御が戻される。 しかし、
    メッセージ・リダイレクタ155がインタレストを持っている場合156、メッセージ・リダイレクタ155がそのキュー項目を処理し、その後でオペレーティング・
    システムがそのキュー項目171をその宛先、たとえばアプリケーションに配送することができるようになる。
    メッセージ・リダイレクタ155がその処理を完了した後、オペレーティング・システム195に制御が戻され、キュー項目171がさらに処理される。 メッセージ・リダイレクタ155は、受信側共用クライアント15
    0B上でソース共用クライアント150Aにあるウェブ・ページを再作成するために必要なメッセージ(CCI
    リダイレクタが扱うDDEメッセージは含まない)にインタレストを持つ。

    【0046】たとえば、CCIイベント132Aはオペレーティング・システム195によってDDEタイプ1
    66メッセージとしてキュー165に入れられる。 オペレーティング・システム195がキュー項目(DDEメッセージ/CCIイベント132A)を取り出すように要求された場合、オペレーティング・システム195はそのCCIイベント132Aを宛先アプリケーションに送る前に、フック191があるかどうかを調べる。 メッセージ・リダイレクタ155がキューをフック(19
    1)するので、オペレーティング・システム195はC
    CIイベント132Aの制御をメッセージ・リダイレクタ155に渡す。 メッセージ・リダイレクタ155は、
    メッセージ・タイプ・フィールド166を検査して、メッセージ・リダイレクタ155がキュー項目171を処理する必要があるかどうかを判断する(156)。 この実施例では、メッセージ・リダイレクタ155はすべてのCCIイベント(DDEメッセージ・タイプ166)
    を無視するため、メッセージ・リダイレクタによるCC
    Iイベント132Aの処理は終了し、オペレーティング・システム195に制御が戻される。

    【0047】次に、オペレーティング・システム195
    はDDEメッセージの宛先フィールド168を使用してDDEメッセージを配送する(193)。 CCIイベントがブラウザ130から発信された場合、ブラウザは宛先としてCCIリダイレクタ145を宛先フィールド1
    68に入れている。 しかし、CCIイベント132AI
    nが外部ソース共用クライアントから発信されていて、
    ネットワークから受け取った場合、CCIリダイレクタ145はブラウザ130(そのクライアント150Aに付随する)を宛先として宛先フィールド168に入れている。 どちらの場合もこれらのCCIイベントはDDE
    131によってDDEメッセージにされて、キュー16
    5に入れられる。

    【0048】キュー165内の項目171が処理されるとき(以下のフック191を参照)、オペレーティング・システムはCCIイベント193をルーティングする方法を決定する。 ソース共用クライアント150Aから受け取ったCCIイベントの場合、宛先フィールド16
    8はメッセージがブラウザ130に宛てて送られることを示している(193)。 しかし、ソース共用クライアント150Aで生成されたCCIイベントは、CCIリダイレクタ145の宛先168を有し、そこ145に宛てて送られる(193)。 CCIリダイレクタがウェブ共用マネージャ160に対してこのCCIイベント13
    2AOutをネットワーク115経由で受信側共用クライアント150Bに送るように要求する。 受信側共用クライアント150Bは、このCCIイベント(このときは132AInになっている)を使用して受信側共用クライアント150B上でCCIイベント(たとえば要求)を複製し、それによってすべての共用上のクライアントウェブ・ページが同一に維持されるようにする。

    【0049】「フック」191は、外部プロセスがオペレーティング・システム195の、たとえばキュー16
    5などのメモリで、キュー項目171をインターセプトすることができるようにする周知のオペレーティング・
    システム195の定義機能である。 外部プロセスがフックを呼び出すと、オペレーティング・システム195はたとえばキュー項目171のうちの1つなどの要求された情報を渡す。 たとえばメッセージ・リダイレクタ15
    5などの外部プロセスがその機能を完了すると、その外部プロセスは、関数呼出しにおける「戻り」のような何らかの標識によってオペレーティング・システム195
    に制御を戻す。 たとえば、ウィンドウズ95(マイクロソフト・コーポレイションの商標)では、「フック」はWin32 Programmer's Refere
    nceで言及されている「ソフトウェア開発キット」
    (SDK)で定義されている。 「Presentati
    onManager Programming Ref
    erences」で定義されている。

    【0050】キュー項目171はいくつかの場所から発信される可能性がある。 前述のように、ブラウザ130
    のCCI132から発信された複製CCIイベント13
    2Aは、DDEプロトコルが適用された後でキュー16
    5に入れられる。 また、受信CCIイベント132AI
    nはウェブ共用マネージャ160によって識別され(1
    61)、リダイレクタ145とDDE131を介してキュー165に渡される。 DDEは前述のように各CCI
    イベント(132A及び132AIn)にメッセージ・
    タイプ166「DDEメッセージ」と宛先168を割り当てる。

    【0051】キュー項目171にはイベントのほかにメッセージが含まれる。 メッセージは、オペレーティング・システム195が生成するか(内部メッセージ)またはオペレーティング・システム195の外部にある発信元が生成することができる(外部メッセージ)。 外部メッセージには、入力装置190及びI/Oポート185
    からのメッセージと、プロセス間通信によって生成されたメッセージと、ネットワーク115を介して接続された共用クライアント150から受信したメッセージとが含まれる。

    【0052】オペレーティング・システム195は内部メッセージを生成し、これには「スクロール」、「ウィンドウの移動」、「ウィンドウのサイズ変更」、「ウィンドウの最小化」、及び「ウィンドウの最大化」が含まれる。 これらのメッセージは、オペレーティング・システム195のSDKで定義されている。 オペレーティング・システム195は、これらの内部メッセージに「ウィンドウ・メッセージ」メッセージ・タイプ166を割り当て、適切なウィンドウのウィンドウ・ハンドルを宛先168として割り当てる。

    【0053】入力装置190からのメッセージには、
    「キー・アップ」、「キー・ダウン」、「キー・コード」(たとえばASCII値)のようなキーボード・メッセージと、「マウス・アップ」、「マウス・ダウン」、「マウス移動」、「マウス・ダブルクリック」のようなマウス・メッセージと、「ペン・アップ」、「ペン・ダウン」、「ペン移動」のようなペン・メッセージと、「アノテータ・アップ」、「アノテータ・ダウン」、「アノテータ移動」のようなアノテータ・メッセージとが含まれる。 これらのメッセージのそれぞれに、
    オペレーティング・システム195がキュー項目171
    メッセージ・タイプ166を割り当てる。 たとえば、マウスの左ボタンが上がると、メッセージ・タイプ166
    は「マウス左ボタン・アップ」になる。 さらに、宛先フィールド168にはカーソルがあるウィンドウのウィンドウ・ハンドルが入れられる。 パラメータ・フィールド167にはマウス・カーソルの(X,Y)が入れられ、
    その他のフィールド169にはタイム・スタンプなどのその他の情報が入れられる。 このようにしてこれらのキュー項目データ構造体171を埋めることは公知である。

    【0054】メッセージは、特にメッセージ方式のウィンドウ・システム(たとえばウィンドウズ3.1やOS
    /2)で、アプリケーション間のプロセス間通信として一般的に使用される。 アプリケーションがオペレーティング・システム195に対して他のアプリケーションにメッセージを送るように要求すると、オペレーティング・システム195はそのメッセージをキュー165に入れ、その後で宛先アプリケーションがオペレーティング・システム195に対してキュー165からメッセージを取り出すように要求すると、そのメッセージを配信する。 このメッセージ・イベント/キュー165は、他の既知のメッセージを出してアプリケーションに配信する場合(たとえばアプリケーションのウィンドウを描画し直す場合など)にも使用される。

    【0055】アプリケーション間のプロセス間通信と同様に、入力装置190とアプリケーションとの間の通信もキュー165を介して行われる。 たとえば前述の入力データのような入力装置190(たとえばキーボード、
    マウス、ペン)からの入力データはすべて、ウィンドウ・オペレーティング・システム195によって明確に定義されたメッセージに変換され、キュー165に入れられる。 各アプリケーションは、その入力データを読み取るために、ウィンドウ・システムに対してメッセージ・
    イベント・キュー165からキュー項目171としてメッセージを取り出すように要求する。

    【0056】好ましい一実施例では、ネットワーク11
    5から1つまたは複数の受信側共用クライアント150
    Bがメッセージを受信する。 これらのメッセージはウェブ共用マネージャ160を介して渡され、ウェブ共用マネージャ160は受信信号がメッセージであるか(CC
    I)イベント(たとえば要求)であるかを判断する(1
    61)。 受信信号がメッセージ165AInの場合、そのメッセージはメッセージ・リダイレクタ155を介してからオペレーティング・システムに渡され、他の外部メッセージとまったく同様にキューに入れられる。 しかし、この場合、メッセージ165AInには、メッセージ・リダイレクタ155すなわちネットワーク115から送られて来たことを示すタグが付けられる。 好ましい実施例では、メッセージ・リダイレクタ155は、メッセージ・タイプ・フィールド166に一定した数値(たとえばオフセット)を加えることによってメッセージにタグを付ける。 この数値は、リモートのソース共用クライアント150Aからのメッセージを識別するためにメッセージ・リダイレクタが理解するメッセージ・タイプ166を生成する。 これらのメッセージ165AIn
    は、ソース共用クライアント150Aによって生成され、ネットワーク115を介してアプリケーション・メッセージ、入力装置メッセージ、または内部オペレーティング・システム・メッセージのいずれかとして受信されるメッセージのいずれでも含むことができる。

    【0057】メッセージ・リダイレクタ155はキューをフック(191)しているため、メッセージ・リダイレクタ155はキュー165内の各キュー項目171を検査する。 しかし、メッセージ・リダイレクタ155はこれらのキュー項目171のうちの特定の項目のみに「インタレストを持つ」。 すなわち、特定の項目だけを処理する。 一般に、メッセージ・リダイレクタ155が処理する必要があるのは共用クライアント150のいずれかに同じページを作成するのに必要なキュー項目17
    0のみである。

    【0058】メッセージ・リダイレクタ155が処理するキュー項目171の例としては、キーボードの「キー・コード」、「マウス(左または右)ボタン(クリックまたはダブル・クリック)」、「マウス移動」、「スクロール」、「ウィンドウ(フォーカス獲得/喪失)」メッセージなどのメッセージ・タイプ166を持つキュー項目が含まれる。 これらのメッセージにはメッセージ・
    リダイレクタによってタグが付けられる。

    【0059】一般にはメッセージ・リダイレクタ155
    によって処理されないキュー項目171の例としては、
    「キー・アップ(ダウン)」、「マウス(左または右)
    ボタン(アップまたはダウン)」、「ウィンドウ(移動またはサイズ変更)」、「ウィンドウ(アクティブまたはイナクティブ)」、「ウィンドウ(作成または破棄)」、「メニュー選択」、及びあらゆるDDEメッセージなどのメッセージ・タイプ166を持つキュー項目が含まれる。 これは、これらのキュー項目がブラウザによて表示されたウェブ・ページの外観に影響を及ぼさないためである。

    【0060】オペレーティング・システム195がキュー項目171を処理するとき、「非DDE」メッセージがメッセージ・リダイレクタ155にフック(191)
    される。 メッセージ・リダイレクタ155がそのメッセージにインタレストがあると判断されると(154)、
    メッセージ・リダイレクタ155に制御が渡され、メッセージ・リダイレクタ155によってキュー項目171
    が処理される。 メッセージ・リダイレクタが、メッセージのメッセージ・タイプ166を、メッセージがソース共用クライアント150Aから送られたことを示すメッセージ・タイプであると認識した場合、メッセージ・リダイレクタはたとえばメッセージ・タイプ166からオフセットを差し引くことによってタグを除去してメッセージ・タイプ166を元に戻す。 メッセージ・リダイレクタ155は、メッセージの宛先168もブラウザ13
    0の宛先に変え、キュー内のメッセージを置き換え、オペレーティング・システム195に制御を返す。 これらのメッセージは、リモートのソース共用クライアント1
    50Aから送られたものであってもブラウザ130によって処理され、共用クライアント150A、Bのウェブ・ページが同一に維持される。

    【0061】しかし、キュー項目171がソース共用クライアント150Aから発信されたメッセージである場合、メッセージ・リダイレクタはメッセージ165AO
    utを複製し、それをウェブ共用マネージャ160とネットワーク・インタフェース120を介してネットワーク115で受信側共用クライアント150Bに送信する。 その後、オペレーティング・システム195に制御が戻され、オペレーティング・システムがソース共用クライアント150A内でメッセージを処理する。

    【0062】ウェブ共用マネージャ160は、TCP/
    IPネットワーク・インタフェース120を介してCC
    Iイベント132AOutとメッセージ165AOut
    の両方を受信側共用クライアント150Bに送る機能を備える。 また、ウェブ共用マネージャ160は、ソース共用クライアント150Aからネットワーク115を介してパケットを受信するための適切なヘッダも作成する。 以下の図6を参照されたい。

    【0063】共用受信側クライアント150Bに送られるCCIイベント132AInとメッセージ165AI
    nによって、共用受信側クライアント150Bのウェブ共用マネージャ160Bに、ソース共用クライアント1
    50Aが何を行っているかが通知される。 ウェブ共用マネージャ160Bは送信されたCCIイベント132A
    Inとメッセージ165AInを受け取り、図8のウェブ共用マネージャ・ヘッダ620を取り除き、CCIリダイレクタ145またはメッセージ・リダイレクタ15
    5にそれぞれルーティングするために、CCIイベントであるかメッセージであるかを判断する(161)。 次に、前述のようにオペレーティング・システム195とメッセージ・リダイレクタ155とCCIリダイレクタ145とが協調動作して、リアル・タイム共用または共同作業を可能にする。 すなわち、すべての共用クライアント150A、Bがそれぞれのウェブ・ページを同じように表示し、制御する。 また、すべての共用クライアントのGUI表示画面(ウェブ・ページ)でデータ、メッセージなどの同じ情報が表示される。

    【0064】本発明を使用することによって、すべての共用クライアント150A、Bが共同作業して同じウェブ・ページを共用する。 すなわち、両方のユーザがそれぞれのウェブ・ブラウザ130によって表示された同じウェブ文書を見ることになる。 たとえば送信側ユーザ1
    50Aがキーボードから数キーストローク入力し、メッセージ・イベント165Aを作成した場合、そのキーストロークが受信側ユーザ150Bによって入力されたかのように、受信側ユーザ150Bの画面にそれと同じキーストロークが表示されることになる。 この入力の共用機能はメッセージ・リダイレクタ155によって実現され、メッセージ・リダイレクタ155はソース・クライアント150A内のメッセージ・キュー165に入力メッセージ(たとえばキーボード、マウス・メッセージ)
    を取り込み、その同じメッセージをメッセージ・イベント165Aとしてリダイレクトして、受信側共用クライアント150Bで再生されるようにする。

    【0065】クライアント150で実行されるプロセスはすべてウェブ・サーバ110にとって透過である。 ウェブ・サーバは、共用要求と情報が入った標準通信ヘッダ610付きの通信パケット(図8を参照)を取り扱うに過ぎない。 サーバのその他のすべての機能は典型的なWWW機能と同じである。 典型的な環境では、ウェブ・
    ブラウザ130によって表示されるウェブ文書はウェブ・サーバ110から取り出される。 このウェブ文書は、
    ハイパーリンク機能によって同じウェブ・サーバ110
    またはネットワーク115内の他のウェブ・サーバ11
    0にある他のウェブ文書にリンクすることができる。 ウェブ・サーバ110はウェブ・ブラウザ130によってブラウズされるウェブ文書のリポジトリとして使用される。

    【0066】したがって、CCI132は、CCIリダイレクタ145(及びメッセージ・リダイレクタ15
    5)によって、CCIイベント132A(メッセージ1
    65A)をシステム150AによるそれらのCCIイベント132A(メッセージ165A)の使用とは独立して監視し、その結果、それらのイベントをソース共用システム150Aと共同作業する他の共用受信側クライアント150Bにネットワーク115を介して透過的に渡すことができる。

    【0067】図3に、ウェブ・ブラウザ130のGUI
    135上に表示されたウェブ文書200の非限定的な例を示す。 この文書には、たとえば親ウィンドウ200と1つまたは複数の子ウィンドウ(201〜205)が含まれる。 この例では、子ウィンドウは、(たとえばアカウント番号を入力する)1つのテキスト入力201オブジェクトと、(たとえばコメント用の)1つの複数行入力オブジェクト202と、(たとえば文書の発信204
    とクリア205を行う)2つの押しボタン・オブジェクトと、(たとえばペン方式またはポインタ方式の署名用の)新規な空白領域203とを含む。 ウェブ文書200
    はブラウザのウィンドウ内に表示され、他のオブジェクトはこのウィンドウの子ウィンドウ(201〜205)
    として作成される。 周知の技法により、ブラウザ・ウィンドウはブラウザが始動すると作成され、ブラウザを終了させるまで存続する。 子ウィンドウ(201〜20
    5)は、ブラウザがウェブ文書を表示する時点で作成され、ブラウザが新しいウィンドウを表示するときに破棄される。 すなわち文書200内の子ウィンドウ(201
    〜205)は、動的に作成され破棄される。 やはり図3
    で、ペン250とポインタ260はそれぞれアノテーション142とリモート・ポインタ144の機能を表す。
    ウェブ文書200とその子ウィンドウ(201〜20
    5)のウィンドウが作成または破棄されると、オペレーティング・システム195によって「ウィンドウ(作成または破棄)」メッセージが生成される。 しかし、これらのメッセージをメッセージ・リダイレクタ155が処理したり複製したりする必要はない。 これは、他の共用受信側クライアント150Bでその150Bクライアントのオペレーティング・システム195によって同じメッセージが生成されることになるためである。 これは、
    1)他のページに移動し、2)そのページを明示的に閉じるという2つのインスタンスによって行われる。 移動時に、共用クライアントは新しいページを作成しなければならず、したがって現行ページを閉じる。 ページを明示的に閉じるとき、そのページを閉じるCCIイベントがクライアント150Bと共用され、それによってそのクライアントのオペレーティング・システム195Bが現行ページを閉じる。

    【0068】図4に、データ構造体の形で実施された図3のウェブ・サンプル文書のウィンドウの階層300
    (親−子関係)を示す。 ウィンドウ・システム(たとえばウィンドウズ3.1またはOS/2)では、ブラウザ・ウィンドウを含む各ウィンドウは、それを作成したウィンドウ・システム内で固有でありそのウィンドウ・システムでのみ有効な、ウィンドウ・ハンドルと呼ばれる番号によって識別される。 このウィンドウ・ハンドル(または単に「ハンドル」)を使用して、他のウィンドウとの間でメッセージの送受信を行う。 ネットスケープ・ブラウザのウィンドウ310のハンドルをたとえば2
    000とする。 このブラウザ・ウィンドウ・ハンドル2
    000は静的であり、ネットスケープ・ブラウザの実行が終了するまで変わらない。 しかし、それぞれ子ウィンドウ321、322、323、324、及び325のハンドル2021、2022、2023、2024、及び2025は動的に作成される。 これらの子ハンドル(2
    021〜2025)は、子ウィンドウが有効なときにのみ有効であり、これらの子ウィンドウが破棄された後、
    すなわちブラウザが新しい文書にジャンプすると、使用されなくなる。 これらのウィンドウ・ハンドル(202
    1〜2025)は、そのウェブ共用システム100が、
    同じ文書を表示するためと、2つ以上のクライアント1
    50にわたって様々な入力装置(たとえばキーボード、
    マウス、ペン)からの同じ入力をサポートするために使用する。

    【0069】図5に、顧客(この例ではたとえばソース150A)と銀行エージェント(この例ではたとえば受信側150B)との間でウェブ文書200(たとえばh
    ttp://www. bank. com/homepa
    ge. htm)を共用する例を示す。

    【0070】顧客と銀行エージェントとの間で共有される情報は、ウェブ文書200と入力データ(たとえばアカウント番号のキーボード入力)233の2種類ある。
    他の例として、ウェブ文書200の表示の共用は、CC
    Iリダイレクタ145によってCCIイベント132A
    として実現され、入力データ233の共用はメッセージ・リダイレクタ155によってメッセージ・イベント1
    65Aとして実現される。 CCIリダイレクタ145とメッセージ・リダイレクタ155がウェブ文書の共用をサポートするために使用する詳細な機構については後述する。

    【0071】ウェブ共用システム100がソース150
    Aと受信側150Bの機械の間でウェブ文書を共用するために使用する機構について、以下に詳述する。

    【0072】ソース150A機で、顧客が新しいURL
    を開くと、ウィンドウ・ハンドルとしてたとえば200
    0を持つブラウザ130Aのウィンドウにウェブ文書2
    00(A)が表示される。 そのウェブ・ページが表示された後、ブラウザ130AはDDEプロトコルを使用してCCIリダイレクタ145AにCCIOpenURL
    イベントを送り、そのウェブ・ページが正常に開かれて表示されたことを通知する。 CCIリダイレクタ145
    AはこのOpenURLイベント132Aをウェブ共有マネージャ160Aにリダイレクトしてこのイベント1
    32Aを処理する。 ウェブ共用マネージャ160はこのOpenURLイベントを受け取った後、開いた文書の(図4に図示するような)ウィンドウの階層を列挙し、
    各ウィンドウに順序番号を割り当て、顧客機150Aのためにたとえば図6に示すようなテーブルを作成する。
    たとえば、図6では、顧客機150Aに表示される図5
    の文書200Aはウィンドウ・ハンドル2000と順序番号0を持つ。 アカウント番号233Aの文書200A
    の子ウィンドウ201Aは、ウィンドウ・ハンドル20
    21(410A)と順序番号1を持つ。 ウィンドウ・ハンドルはウィンドウ・システムによって作成され、関連づけられたウィンドウが閉じられるたびに破棄される。
    したがって、同じウェブ・ページがブラウザによって再ロードされる(閉じられて再度開かれる)ため、開いたウェブ・ページ内の子ウィンドウをウィンドウ・ハンドルを使用して識別することはできない。 ウィンドウ・ハンドルを使用する代わりに、ウェブ共用マネージャ16
    0Aは順序番号を使用してウェブ文書のウィンドウとその子ウィンドウを識別する。 たとえば、順序番号0を使用してウェブ文書のウィンドウ200Aを識別し、順序番号1を使用してアカウント番号233Aの子ウィンドウ201Aを識別する。

    【0073】銀行エージェント(受信側)機150Bでは、ウェブ共用マネージャ160Bが(ウェブ共用マネージャ160Aから)ネットワーク115を介してOp
    enURL CCIイベント132Aを受け取り、CC
    Iリダイレクタ145Bを介してこのOpenURL
    CCIイベント132Aをウェブ・ブラウザ130Bに渡して新しいURLが開かれる。 ウェブ・ブラウザ13
    0Bはこの要求を受け取った後、たとえば5000というウィンドウ・ハンドルを持つウィンドウにそのウェブ文書を開き、表示する。 顧客機150Aにおける図6の作成と同様に、ウェブ共用マネージャ160Bは開いた文書200Bの(図4に示すような)ウィンドウの階層を列挙し、各ウィンドウに順序番号を割り当て、顧客機150Bのためにたとえば図7に示すようなテーブルを作成する。

    【0074】ウェブ共用マネージャ160はマッピング・テーブル・データ構造体500を使用して1つのクライアント150A上のウェブ・ブラウザのウィンドウと子ウィンドウを受信側クライアント150B上のそれに対応するウィンドウにマップする。

    【0075】このマッピング・テーブル500は、各レコードが3つ以上のフィールドを有するレコード(典型的には510)を有する。 第1のフィールド520にはウィンドウの順序番号が入れられ、第2のフィールド5
    30にはそれぞれのウィンドウのウィンドウ・ハンドルが入れられ、第3のフィールド540には文書200内のそれぞれの子ウィンドウ(321〜325)のタイプ(たとえばテキスト、ビット・マップなど)が入れられる。 たとえば、このテーブル500を使用して1つの機械(たとえば150A)内の子ウィンドウ203Aが他の機械150B内の対応する子ウィンドウ203Bにマップされる。

    【0076】ウェブ文書200の閲覧と入力装置190
    からの入力データの処理はウィンドウの情報に基づくため、図6及び図7に示すようなマッピング・テーブルによってウェブ共用システム100は同じウェブ文書をウェブ・ブラウザ130の正しいウィンドウに表示することができ、同じ入力データを正しいウェブ文書にリダイレクトすることができる。

    【0077】たとえば、テーブル500を使用して、顧客機150A内のウィンドウ・ハンドル2021に送られるすべてのキーボード・メッセージ165Aを、第2
    の機械150Bの(テーブル500の順序番号フィールド520内の)ウィンドウ番号3に送られるメッセージ165Bにマップする。 このウィンドウ番号3は、第2
    の機械150B(たとえば銀行エージェント機)においてウィンドウ・ハンドル5010を持っていることがわかることになる。 このマッピング機構500を使用して、テキスト入力ウィンドウ203Aへのキーボード入力190が対応するテキスト入力ウィンドウ203Bに送られ、顧客とエージェントがそれぞれの画面に表示される同じ口座番号を見ることになる。 その他のウィンドウ・タイプも同様にマップされる。

    【0078】この機能によって、すべてのクライアント150がウェブ・ブラウザ130によってそれぞれの画面上に表示される同じウェブ文書と、入力装置190から共用ウェブ文書に入力される同じ入力データとを見たり共用したりすることができるようになる。 ユーザがハイパーリンクをクリックして新しいウェブ文書を閲覧すると、他のユーザは自動的に同じウェブ文書へのハイパーリンクをたどることになる。

    【0079】ウェブ文書と入力データを共用してたとえば対面会議を模するためにするほかに、ディスカッション中に一人のユーザがリモート・ポインタ144を使用して共用文書内のオブジェクトを指し示したりその周囲で動かしたすると、(リモート・ポインタ144の動きがマウス入力データを生成し、それが前述のように共有されるため)ウェブ共同作業セッションにかかわっている他のユーザにはそのオブジェクト位置に表示されその周囲で動かされているリモート・ポインタ144のカーソルが見えることになる。 アノテーション142によって、ユーザはペン入力装置(ある場合)またはマウスを使用して共用文書上で何らかの注釈を書いたりある領域をハイライトしたりすることができる。 (アノテーション142は前述のように共用されるペン/マウス入力データを生成するため)書かれた注釈またはハイライトは同時に他のクライアント上に表示される。 このウェブ文書と入力装置の共用によって、ユーザはネットワークを介して会議やミーティングを開くことができる。 さらに、アノテーション142とリモート・ポインタ144
    の助けにより、ウェブ共用システム100によって作成された会議やミーティングは対面ミーティングと同じ雰囲気を持つことができる。

    【0080】図8は、ウェブ共用マネージャ160がクライアント機150間で要求及び情報を交換するために使用する(たとえばTCP/IP)通信プロトコルによる通信パケット600を示すブロック図である。 パケット600は通信ヘッダ610と、2つ以上のウェブ共用マネージャ・ヘッダ620と、1つまたは複数のフィールドのあるデータ・セクション630とを有する。 第1
    のヘッダ610である通信ヘッダはTCP/IPプロトコルによって定義されている。 このヘッダ610は公知である。 ウェブ共用マネージャは、他の構成要素(CC
    Iリダイレクタ、メッセージ・リダイレクタなど)のデータを送受信する共通の機能を備えるため、新規なウェブ共用マネージャ・ヘッダ620を使用してパケット6
    00の受信側(たとえばアノテーション、リモート・ポインタ144、CCIリダイレクタ145、メッセージ・リダイレクタ155、ウェブ共用マネージャ160)
    を識別する。 この受信側情報はヘッダ620の受信者I
    Dフィールド622に入っている。 ウェブ共用マネージャ・ヘッダ620はさらに、パケットすなわちウェブ共用マネージャ・ヘッダ620とウェブ共用マネージャ・
    データ630とを含む部分のサイズ(たとえば長さ)が入るパケット長624フィールドを含む。 ウェブ共用マネージャ・ヘッダ620にはその他の情報も含めることができる。

    【0081】パケット600のウェブ共用データ630
    セクションは、受信者IDフィールド622で指定された「受信者」にネットワーク115を介して送受信されるパケット・データである。 ウェブ共用マネージャは、
    このパケット・データ630が受信者に渡される前にウェブ共用マネージャ・ヘッダ620を取り除く。 たとえば、CCIリダイレクタ145のためのパケット・データ630にはCCIイベントのタイプ632(たとえばOpen URLイベント)と、CCIイベントのパラメータ634(たとえばhttp://www.ib
    m. com/home. htm URL)が含まれることになる。 受信者であるメッセージ・リダイレクタ15
    5、リモート・ポインタ144、アノテーション(たとえばペン方式の入力)144のパケット・データ630
    の例としては、それぞれキーボードからのキーストローク190、マウス190、ペン・ストローク190のメッセージ・タイプ632が含まれる。 パラメータ634
    は、それぞれキーコード、マウス位置となる。

    【0082】ウェブ・ブラウザ130によって表示されたウェブ文書が共有されるとき、ウェブ・ブラウザのウィンドウ内のウェブ文書200の表示と入力データ(たとえばキーボード/マウス/ペン入力データ)がソース機と受信側機150との間で共用される。 ウェブ文書の表示の共用はCCIリダイレクタ145がCCIイベント132Aを伝達することによって実現され、入力データの共用はメッセージ・リダイレクタ155がメッセージ・イベント165Aを伝達することによって実現される。

    【0083】CCIリダイレクタ145は、後述するように新規な方法でウェブ・ブラウザ130で提供されるCCIイベント(たとえばOpenURL、Windo
    wChange)を使用してウェブ文書200の表示の共用を実施する。

    【0084】ユーザ150Aが新しいHTML文書を開いたりハイパーリンクを介して文書を閲覧したりすると、ソース機(たとえば150A)にあるウェブ・ブラウザ130Aはソース機150AにあるCCIリダイレクタ145Aに対して、ソース機150Aによって送られるCCIイベント132Aを通知する。 また、受信側機150BにあるCCIリダイレクタ145Bは、受信側機150BにあるCCIイベント132Aをそのそれぞれのウェブ・ブラウザ130Bに渡して、それらのC
    CIイベント132Aがユーザ150Bの操作から(C
    CIイベント132Bとして)生成されたかのように同じ方法で実行されるようにする。 受信CCIイベントの例は、送信側ユーザ150Aが開いたウェブ文書200
    を表示する要求である。

    【0085】図9は、送信側機150Aと受信側機15
    0Bの両方で実行されるプロセス700のフローチャートであり、ウェブ共同作業セッション中にCCIリダイレクタ145が行う初期設定とCCIイベント132の処理と終了のステップを示している。 ウェブ共同作業の開始時に、CCIリダイレクタ145はCCIリダイレクタがインタレストを持つすべてのCCIイベント13
    2をウェブ・ブラウザ130に登録する。 この登録関係(ステップ710)によって、ウェブ・ブラウザ130
    は登録されたCCIイベント132をDDEプロトコル131を使用して送信することによってCCIリダイレクタ145に通知する。 CCIリダイレクタ145が登録するCCIイベントの例としては、Register
    Protocol、RegisterWindowCh
    angeなどがある。 レジスタ145は受信側機150
    B上で文書表示を作成する必要があるCCIイベント1
    32Aにインタレストを持つ。

    【0086】たとえば、ユーザ150Aが新しいURL
    文書を開くと、ステップ710でCCIリダイレクタ1
    45Aによってブラウザ130Aに登録されたOpen
    URLと呼ぶCCIイベント132がウェブ・ブラウザ130Aによって生成され、DDEプロトコルを使用してCCIリダイレクタ145Aに送られる。 CCIリダイレクタ145AはこのOpenURL CCIイベントを受信することによって、ウェブ・ブラウザ130
    Aが新しいウェブ文書200を表示することを知る。 開いたウェブ文書の名前をCCIリダイレクタ145A
    (CCIイベントの送信者)からそれぞれのウェブ共有マネージャ160を介して対応するCCIリダイレクタ145B(CCIイベントの受信者)に送ることによって、DDEプロトコル131Bを使用してCCIリダイレクタ145BからOpenURLイベントをウェブ・
    ブラウザ130Bに送って受信側機150Bに同じウェブ文書200を表示することができる。

    【0087】ステップ720で、CCIイベント132
    A(B)の送信者(または受信者)としてCCIリダイレクタ145B(A)によってCCIイベント132A
    (B)が処理される。 ブラウザ130AがCCIリダイレクタ145AにCCIイベント132Aを送るとき機械150Aは送信者であり、ウェブ共用マネージャ16
    0AがCCIリダイレクタ145Aに通信パケット60
    0を渡すとき150Aは受信者である。 CCI送信者1
    45Aの場合のステップ720を図10に示し、CCI
    受信者145Bの場合を図11に示す。 ウェブ共同作業が終了すると、CCIリダイレクタ145はステップ7
    30で登録されているCCIイベント132をすべてウェブ・ブラウザ130から登録抹消する。

    【0088】図10は、ウェブ・ブラウザ130からC
    CIイベントを通知されたソースまたは送信側クライアント150A上で実施されるステップ720のフローチャートである。 CCIリダイレクタ145Aはまず、機械150がそのウェブ・ブラウザ130Aからの要求のソース/送信者150Aであるかどうかを判断する(8
    10)。 ソース・ウェブ・ブラウザ130AはCCIリダイレクタ145AにCCIイベント132Aを通知し(ステップ810)、CCIリダイレクタ145Aは後の使用のためにそのCCIイベント132Aに関係する情報(図6参照)の記憶と更新を行う(820)。 受信側クライアント150B上でウェブ・ブラウザの同じ状態を作成するために、ウェブ共用マネージャ160Bは通信パケット600を分解する。 ソースCCIリダイレクタ145Aは、CCIイベント132Aのタイプ63
    2とパラメータ634をネットワーク・ウェブ共用データ・パケット630に入れる。 CCIリダイレクタ14
    5Aはそのソースウェブ共用マネージャ160Aにデータ・パケット630を送る(845)。 ソース・ウェブ共用マネージャ160Aは次に、ウェブ共用マネージャ・ヘッダ620に受信者ID622とパケット長624
    を入れ、必要なその他の通信ヘッダ610情報があればそれを供給することによって通信パケット600全体を作成する(850)。 ウェブ共用マネージャ160は複数のクライアントにパケット600を送信し、それぞれのクライアント受信者150Bに必要な受信者ID62
    2と通信ヘッダ(TCP/IP)610情報を供給することによって複数ユーザ・セッションを作成することができることに留意されたい。 次に、パケットはたとえばTCI/IPなどの周知の技法を使用して、インタフェース120を介してウェブ共用マネージャ160Aによって送られる。 ステップ840で、所与のCCIイベント132Aについてソース機150AのCCIプロセス720が終了する。

    【0089】図11は、ウェブ共用マネージャ160B
    からCCIイベント132Aを受け取る受信側クライアント150B上で実施されるステップ720を示すフローチャートである。 ウェブ共用マネージャ160Bは通信パケット600を分解する。 CCIリダイレクタ14
    5Bはまず、ウェブ共用マネージャ160Bによって分解された受信者ID622から、機械150がウェブ共用データ・パケットの受信者150Bであるかどうかを判断する。 (受信者ID622はCCIリダイレクタ1
    45Bまたはメッセージ・リダイレクタ155Bとすることができることに留意されたい。 )受信したCCIイベント132Aのタイプ632とパラメータ634を判断した後、CCIリダイレクタ145BはDDEプロトコル131Bを使用してCCIパラメータをローカル・
    パラメータに変換する(910)。 これは、テーブル5
    50内の情報を作成し供給することによって行われる。
    (送信側131AのDDEプロトコルは通常、受信側1
    31Bのプロトコルと同じであることに留意されたい。
    しかし、CCIイベント132Aが受信側で再作成された後は、CCIリダイレクタ145Bによって、たとえばネットスケープからモザイクへなど、新しい形式に変換することができる。 )

    【0090】たとえば、ステップ910で、機械150
    BがOpenURL CCIイベント132Aを受け取ると、CCIリダイレクタ145BがOpenURL
    CCIイベントをブラウザ130Bに渡し(ステップ9
    20でのイベント実行要求)、ブラウザ130Bはパラメータ634で指定されているサーバから開く文書にアクセスする。 次に、ブラウザ130Bが文書の表示を作成するとき、CCIリダイレクタ145Bは子ウィンドウがいくつあるかを判断し、テーブル550内の必要な情報を満たす。 (ブラウザ130Bが開始されたとき、
    親ウィンドウはすでにテーブル550に作成されていることに留意されたい。 )

    【0091】ステップ930で、ブラウザ130BはC
    CIリダイレクタ145Bから要求されたCCIイベントを実行する。 ローカル・ウェブ・ブラウザ130Bは同じ状態を有している(930)。 すなわち、リモートのウェブ・ブラウザ130Aと同じCCIイベント13
    2Aを実行するが、ローカル・システム150Bのマッピングを使用して両方の場所で同一の文書表示を作成する。 CCIイベント132Aの実行(930)の結果はウェブ・ブラウザ130BからCCIリダイレクタ14
    5Bに返され、後で使用するためにCCIリダイレクタ145Bによってテーブル550に記憶され、適切な場合には更新される(940)。

    【0092】ステップ950で制御がステップ720に返され、ステップ730で終了するまで呼出しプロセス800が続行する。

    【0093】メッセージまたはデータあるいはその両方は、メッセージ・イベント165Aとして制御すなわちCCIイベント132と同様にして扱われる。

    【0094】図12は、送信側機150Aと受信側機1
    50Bの両方によって実行されるプロセス1000のフローチャートであり、ウェブ共同作業セッション中にメッセージ・リダイレクタ155(送信者または受信者)
    によって行われる初期設定、入力メッセージの処理、及び終了のステップが図示されている。

    【0095】メッセージ方式のウィンドウ・システム(たとえばウィンドウズ3.1またはOS/2)では、
    アプリケーションは入力装置190(マウス、キーボード、ペンなど)からデータ(パラメータ634)を、オペレーティング・システム195がそのメッセージ・キュー165を介してアプリケーションに送るメッセージ(マウス・メッセージ、キーボード・メッセージ、ペン・メッセージなど)の形で入手する。

    【0096】メッセージ・リダイレクタ155を使用して入力装置190からのデータの共用をクライアント1
    50間で実施する。 ユーザ150Aがウェブ文書に何らかのデータを入力すると、それらの入力データはオペレーティング・システム195によってメッセージに変換され、それがメッセージ・キュー165Aで保持される。 メッセージ・リダイレクタ155A(ソースまたは送信者)はメッセージ・キュー165を介してウェブ・
    ブラウザのオブジェクト(たとえばボタン・オブジェクト、テキスト入力オブジェクト、リスト・ボックス・オブジェクト)に送られたメッセージをインタセプトすることによってそれらの入力データをキャプチャまたはフック(191)する。

    【0097】他のクライアント150Bにあるウェブ文書にも同じ入力を行うために、メッセージ・リダイレクタ155A(ソースまたは送信者)はインタセプトしたメッセージをウェブ共用マネージャ160Bを介してそれに対応するメッセージ・リダイレクタ155B(受信者に)送る。 次に、受信側メッセージ・リダイレクタ1
    55Bは、それらのメッセージがローカル入力装置19
    0Bのためにオペレーティング・システム195Bによって生成された場合と同じ方法でシステム150B上のメッセージ・キュー165にそれらのメッセージを入れる。

    【0098】ウェブ共同作業の開始時に、メッセージ・
    リダイレクタ155はオペレーティング・システム19
    5が備える周知の機構を使用してメッセージ・キュー1
    65をフックする(1010、191)。

    【0099】たとえば、ユーザ150Aがウェブ文書に名前を入力するためにテキスト入力オブジェクトに自分の名前を入力した場合、メッセージ・リダイレクタ15
    5Aはそのキーボード・メッセージをインタセプトし、
    他のクライアント150Bにある対応するメッセージ・
    リダイレクタ155Bに送る。 各リモート・クライアント150Bでは、送信されたキーボード・メッセージが機械150B上のメッセージ・キュー165に入れられ、キーストロークがユーザ150Bによってローカルで入力された場合と同様にして名前入力のためにテキスト入力オブジェクトによって取り出される。 その結果、
    すべてのユーザにそれぞれのウェブ文書で同じ名前が見えるようになる。

    【0100】他の例として、機械150Bがメッセージ・イベント165Aを受け取った場合、メッセージ・リダイレクタ155Bはウィンドウ順序番号520A、B
    をウィンドウ・ハンドル530Bにマップし、それによってマップされたウィンドウ・ハンドル530Bに関連づけられたメッセージ・イベント・キュー165Bにパラメータ634が入れられる(ステップ920)。

    【0101】ステップ1020で、メッセージ・リダイレクタ155が入力メッセージの送信者(オペレーティング・システム195がブラウザがメッセージ・キューからメッセージ・イベント165Aを取り出したと認識した場合)として、または受信者(ウェブ共用マネージャ160Aがメッセージ・リダイレクタ155に通信パケット600を渡した場合)として、入力メッセージを処理する。 このステップ1020を、メッセージ送信者の場合について図13に示し、メッセージ受信者の場合について図14に示す。 ウェブ共同作業が終了すると、
    メッセージ・リダイレクタ155はステップ1030でオペレーティング・システムの周知の機構を使用してメッセージ・キューのフックを登録抹消する。

    【0102】ステップ1030で、メッセージ・リダイレクタ155はメッセージ・イベント・キュー165のフックを登録抹消することによって処理を終了する。 すなわち、ブラウザ130がキュー165からメッセージを受け取った場合、メッセージ・リダイレクタ155は呼び出されず、プロセス1000は実行されない。

    【0103】図13は、送信側機150Aで、メッセージ・キュー165から入力メッセージをインタセプトするソースまたは送信側クライアント150A上で実施されるステップ1020を示すフローチャートである。 メッセージ・リダイレクタ155Aはまず、機械150がメッセージ・キュー165Aからインタセプトされた入力メッセージのソース/送信者150Aであるかどうかを判断する。 メッセージにタイプ166に基づいて、各メッセージを検査して、インタセプトしたメッセージを他のクライアント150Bに送信する必要があるかどうかを判断する(ステップ1120)。 各メッセージを処理するこのステップ1120を図16に詳しく示す。 メッセージを他のクライアント150Bに送信する必要がある場合、ソース・メッセージ・リダイレクタ155A
    は入力メッセージのタイプ632とパラメータ634をネットワーク・ウェブ共用データ・パケット630に入れる(1130)。 (一般に、タイプ632はメッセージ・タイプ166であり、パラメータ634はキュー項目171のフィールド167、168、及び169である。)メッセージ・リダイレクタ155Aはそのソース・ウェブ共用マネージャ160Aにデータ・パケット6
    30を送る(1135)。 ソース・ウェブ共用マネージャ160Aは、ウェブ共用マネージャ・ヘッダ620に受信者ID622とパケット長624を入れ、必要なその他の通信ヘッダ610情報があればそれを供給することによって、通信パケット600全体を作成する(11
    40)。 パケットは次にたとえばTCP/IPなどの周知の技法を使用してインタフェース120を介してウェブ共用マネージャ160Aによって送信される。 ステップ1150でメッセージ・キュー165からの所与の入力メッセージに関するソース機150Aのメッセージ・
    プロセス1020が終了し、ステップ1020に制御が返される。

    【0104】図16は、メッセージ・リダイレクタ15
    5によって行われるステップ1120のフローチャートである。 オペレーティング・システム195がメッセージ・キュー165から項目171を取り出し(ステップ1410)、それを検査してフック191がイネーブルになっていないかどうかを調べる(ステップ142
    0)。 フックがディスエーブルになっている場合、その項目は宛先193に配送されることになる。 メッセージ・リダイレクタ155はキュー165をフック(19
    1)しているため、メッセージ・リダイレクタはすべての項目171を受け取り、前述のようにそのメッセージ・タイプがインタレストのあるものかどうか(たとえばキー・コード、マウス・ボタンのクリックまたはダブル・クリック、マウス移動、、スクロール・メッセージ、
    タグ付きメッセージ)を調べる。 メッセージ・タイプ1
    66がソース・クライアント150Aから送られてきたものであることを示すタグ付きメッセージの場合(ステップ1440)、メッセージ・リダイレクタはタグを除去することによってメッセージ・タイプ166を元に戻し(ステップ1450)、その項目171が宛先193
    に渡される。 メッセージ・リダイレクタ155は宛先フィールド168を調べることによってウェブ・ブラウザに宛てられたメッセージのみを複製する(ステップ14
    60)。 宛先フィールド168がウェブ・ブラウザ・ウィンドウまたはその子ウィンドウの場合、処理は図13
    のステップ1130に続く(1470)。

    【0105】図14は、ウェブ共用マネージャ160B
    から入力メッセージを受け取る、クライアント150B
    で実施されるステップ1020を示すフローチャートである。 メッセージ・リダイレクタ155Bはまず、機械150がウェブ共用マネージャ160Bから送られたウェブ共用データ・パケットの受信者150Bであるかどうかを判断する。 受信側メッセージ・リダイレクタ15
    5Bは次にデータ・パケット630からメッセージのタイプ632とそのパラメータ634を取り出す。 (一般に、タイプ632はメッセージ・タイプ166であり、
    パラメータ634はキュー項目171のフィールド16
    7、168、及び169である。 )受信メッセージのパラメータの中にはメッセージがインタセプトされたオペレーティング・システムでのみ有効なものもあるため、
    それらのパラメータはメッセージ・リダイレクタ155
    Bによって各クライアント150Bのローカル・パラメータに変換される(ステップ1210)。 受信側機15
    0Bで、メッセージ・リダイレクタ155Bは受信メッセージをその変換されたパラメータと一緒にメッセージ・キュー165に入れる(ステップ1220)。 ウェブ・ブラウザ130Bはメッセージ・キュー165Bからメッセージを取り出し(1225)、その入力メッセージがローカル入力装置190Bからのものである場合と同様に処理する(1230)。 これで、送信側ウェブ・
    ブラウザ130Aと受信側ウェブ・ブラウザ130Bが同じ入力メッセージを入手する。 すなわちソース・ユーザ150Aと受信側ユーザ150Bが同じ入力データを共用する。 ステップ1240で、ウェブ共用マネージャ160Bからの所与のデータ・パケット630に関する受信側機150Bのメッセージ・プロセス1020は終了し、ステップ1020に制御が返る。

    【0106】図15は、本システム100のいくつかの好ましい使用法を示す図である。 具体的に、ウェブ・ページ共用システム100を使用するたとえばホーム・バンキング・システムにおけるような顧客とエージェントの対話式共同作業の実施態様1300について説明する。

    【0107】以下のシナリオでは、インターネット上で広告を出している銀行に顧客が新規口座を開設したいと考えている。 銀行エージェント1320は「インタラクティブ・ホーム・バンキング」プロトタイプ1300を使用して共同作業し、顧客1310が新規口座の申込み書1350(すなわち文書200)に記入するのを手伝う。

    【0108】顧客はパーソナル・コンピュータ150を使用してインターネット115に接続し、ウェブ・ブラウザ(たとえばネットスケープ・ナビゲーター)130
    を稼働させて「インタラクティブ・ホーム・バンク」のホーム・ページを閲覧する。 顧客1310は、銀行が提供する商品に関する情報を読んだ後、この銀行に新規口座を開設したいと考え、銀行エージェント1320にデータ接続してウェブ共同作業セッションを確立する。

    【0109】ディスカッションを容易にするために、電話網1360またはその他の機構を介して音声接続13
    65も確立することができる。 音声接続は、標準直通ダイヤル電話接続を介して行うか、1996年2月6日に出願されたホルテンシウス等の「Multipoint
    Simultaneous Voice andDa
    ta Services Using a Media
    SplitterGateway Architec
    ture」という名称の米国特許出願第08/5958
    97号に記載されている技法1368を使用してインターネットを介して行うことができる。 前記特許出願は参照によりその全体が本明細書に組み込まれる。

    【0110】ウェブ共同作業セッション中に、ユーザの一方(顧客または銀行エージェント)によって新しいウェブ文書1350が開かれると、それと同じ文書が他方のユーザの画面上にも表示される。 ウェブ文書1350
    の閲覧のこの共用は、前述のようにCCIリダイレクタによってサポートされる。 たとえば、銀行エージェント1320が申込み書1350を表示すると、顧客131
    0にも同じ書式の自分の画面が見える。 メッセージ・リダイレクタの機能を使用して、顧客がアカウント名を入力するためにタイプしたキーストロークが銀行エージェントの画面上の対応するアカウント名フィールドにも表示される。 (この場合は、アカウント名1321、注釈1302、署名1303、発信1304、及びクリア1
    305ウィンドウは図3に示す子ウィンドウに対応する。 )ディスカッションを容易にするために、顧客13
    10と銀行エージェント1320はアノテーション14
    2とリモート・ポインタ144を使用して申込み書上の領域をマークし、指示することができる。 このプロトタイプでは、顧客と銀行エージェントとが共同作業してウェブ文書を共用し、新規銀行口座を開設する書式に記入するためにデータを入力する。

    【0111】その他の実施態様も可能である。 たとえば、文書1350は契約書、注文書、メニュー、設計図、ソフトウェア・コードのリスト、特許出願書、積荷証券、または商取引で一般に使用されるその他の任意の文書1350/200とすることもできる。 エージェント1320は販売員、サービス提供者(医師、弁護士、
    会計士など)、設計者(技術者、建築家、プログラマ)、管理者などとすることができる。 顧客1310
    は、文書1350を使用または作成するエージェントやエージェントと共に(またはエージェントのために)仕事をする任意の人1320が提供する品物やサービスを利用する人であればどのような人でもよい。 エージェント1320または顧客1310あるいはその両方が複数存在することもできる。 たとえば、エージェント132
    0は複数の生徒(顧客)1310に教える教師であってもよい。 顧客1310は、複数の納入業者の要員や顧問(エージェント)1320と「会議をする」1社または複数の会社内の複数の人とすることもできる。 ペン方式のインタフェースによって、共同作業するすべての当事者が、インターネットを使用して自宅や職場を離れることなく、たとえば契約書(レンタカー契約書)、クレジット・カード明細書などの文書200に同時に署名することができる。

    【0112】本開示があれば、当業者には本発明の他の同等の実施態様が明らかになるであろう。 それらの実施態様は本発明の企図の範囲に含まれる。

    【0113】まとめとして、本発明の構成に関して以下の事項を開示する。

    【0114】(1)メモリと、中央演算処理装置と、表示装置と、ユーザ入力装置と、オペレーティング・システムと、サーバ及び共用コンピュータに接続されたネットワークと通信するためのネットワーク・プロトコルを備えたネットワーク・インタフェースとを有するコンピュータであって、ネットワーク・インタフェースを介してネットワークでブラウザ要求をサーバに送ることによってサーバにページを要求し、ネットワーク・インタフェースを介してネットワークで送られた要求ページのうちの要求ページをサーバから受け取るブラウザと、リダイレクトされるブラウザ要求が表示装置上でウェブ・ページを作成するために必要なブラウザ要求のうちの要求から再作成される、リダイレクトされるブラウザ要求であるブラウザ要求のうちのブラウザ要求を再作成することができるリダイレクタと、ネットワーク・インタエースに接続され、リダイレクトされた要求を受け取り、ネットワークで共用コンピュータにブラウザ要求を送るウェブ共用マネージャとをさらに含むコンピュータ。 (2)メモリと、中央演算処理装置と、表示装置と、ユーザ入力装置と、オペレーティング・システムと、サーバ及び共用コンピュータに接続されたネットワークと通信するためのネットワーク・プロトコルを備えたネットワーク・インタフェースとを有するコンピュータであって、イベントを生成することができるブラウザと、メッセージを処理するオペレーティング・システムと、キュー項目のうちの項目のそれぞれがメッセージのうちの1
    つを含み、キュー項目のうちのキュー項目がイベントのうちの1つを含む、キュー項目をスタックするキューと、キュー項目のうちのリダイレクトされるキュー項目であるキュー項目の監視と再作成を行うことができるリダイレクタと、ネットワーク・インタフェースに接続され、リダイレクタから宛てて送られたキュー・イベントを受け取り、送られた各キュー・イベントをネットワーク・プロトコルに準拠した送信パケットに組み込み、送信パケットをネットワーク・インタフェースを介してネットワークで共用コンピュータのうちの共用コンピュータに送信するウェブ共用マネージャとをさらに含むコンピュータ。 (3)マネージャが、オペレーティング・システム・メッセージと、アプリケーション・メッセージと、入力装置メッセージと、共用コンピュータによって生成されたメッセージとのうちのいずれか1つを含むことを特徴とする、上記(2)に記載のコンピュータ。 (4)イベントがブラウザ要求であることを特徴とする、上記(2)に記載のコンピュータ。 (5)ブラウザ要求がサーバにウェブ・ページを要求する要求であることを特徴とする、上記(4)に記載のコンピュータ。 (6)サーバがHTMLサーバでありページがHTML
    ページであることを特徴とする、上記(5)に記載のコンピュータ。 (7)ユーザ入力装置が、ペンと、手書きアノテーション・ドライバと、ペン・オーバレイと、リモート・ポインタと、マウスと、キーボードと、仮想現実入力装置と、音声認識システムとのうちのいずれか1つまたは複数を含むことを特徴とする、上記(2)に記載のコンピュータ。 (8)ネットワークが、インターネットと、ローカル・
    エリア・ネットワークと、ワイド・エリア・ネットワークとのうちのいずれか1つを含むことを特徴とする、上記(2)に記載のコンピュータ。 (9)ネットワーク・プロトコルがTCP/IPであることを特徴とする、上記(2)に記載のコンピュータ。 (10)キュー・イベントのうちのキュー・イベントがブラウザによって作成されたCCIイベントであることを特徴とする、上記(2)に記載のコンピュータ。 (11)CCIイベントがオペレーティング・システム・プロトコルに変換されることを特徴とする、上記(1
    0)に記載のコンピュータ。 (12)オペレーティング・システム・プロトコルが動的データ交換(DDE)であることを特徴とする、上記(11)に記載のコンピュータ。 (13)CCIイベントが、ページを開く要求と、ウィンドウ・サイズを変更する要求と、プロトコルを登録する要求と、プロトコルを登録抹消する要求と、ウィンドウ情報を入手する要求と、新規ページを開く時に通知されることを求める要求と、ウィンドウ・サイズを変更するときに通知されることを求める要求とのうちのいずれか要求を含むことを特徴とする、上記(10)に記載のコンピュータ。 (14)メッセージのうちのメッセージが、キーボードからのキーストロークと、マウスのクリック及び移動と、ペン入力と、音声認識システムからの音声信号と、
    オペレーティング・システム・メッセージとのうちの1
    つまたは複数によって作成されることを特徴とする、上記(2)に記載のコンピュータ。 (15)送信パケットと受信パケットがネットワーク・
    プロトコルによって使用される情報が入った通信ヘッダとウェブ共用マネージャ・ヘッダとを有し、各ウェブ共用マネージャ・ヘッダが受信者IDフィールドとパケット長フィールドを有し、受信者IDフィールドがリダイレクタを識別する受信者値を有し、パケット長フィールドがイベントのタイプを識別するデータ・タイプ・フィールドとイベントに付随するパラメータを識別するパラメータ・フィールドとを有するウェブ共用マネージャ・
    データの長さを指定する長さ値を有することを特徴とする、上記(2)に記載のコンピュータ。 (16)メモリと、中央演算処理装置と、表示装置と、
    ユーザ入力装置と、オペレーティング・システムと、サーバ及び共用コンピュータに接続されたネットワークと通信するためのネットワーク・プロトコルを備えたネットワーク・インタフェースとを有するコンピュータであって、ネットワーク・インタフェースを介してネットワークでサーバにブラウザ要求を送ることによってサーバのうちのサーバにページを要求し、サーバからネットワーク・インタフェースを介してネットワークで送られた要求ページのうちのページを受け取り、ユーザ入力装置からの情報のメッセージを使用して表示装置上にページを表示するブラウザと、リダイレクトされるブラウザ要求が表示装置上でページを作成するために必要なブラウザ要求のうちの要求から再作成される、リダイレクトされるブラウザ要求であるブラウザ要求のうちのブラウザ要求を再作成することができ、リダイレクトされるメッセージであるメッセージのうちのメッセージを再作成することができる、リダイレクタと、ネットワーク・インタエースに接続され、リダイレクトされたブラウザ要求とリダイレクトされたメッセージとを受け取り、ネットワークで共用コンピュータにブラウザ要求とリダイレクトされたメッセージとを送り、それによって共用コンピュータが共用表示画面上にページのコピーを表示する、
    ウェブ共用マネージャとをさらに含むコンピュータ。 (17)コンピュータがエージェントによって使用されるエージェント・コンピュータであり、ページが文書であり、共用コンピュータがクライアントによって使用されるクライアント・コンピュータであることを特徴とする、上記(16)に記載のコンピュータ。 (18)クライアント・コンピュータ上のゼロまたはそれ以上の入力装置とエージェント・コンピュータ上のゼロまたはそれ以上の入力装置が、ペンと、手書きアノテーション・ドライバと、ペン・オーバレイと、リモート・ポインタと、マウスと、キーボードと、仮想現実入力装置と、音声認識システムとのうちのいずれか1つまたは複数を含むことを特徴とする、上記(17)に記載のコンピュータ。 (19)入力装置が署名を生成することができるペンであり、文書が署名が入れられるウィンドウを有することを特徴とする、上記(17)に記載のコンピュータ。 (20)文書が商取引で一般に使用される任意の文書であることを特徴とする、上記(17)に記載のコンピュータ。 (21)文書が、契約書、レンタカー契約書、クレジット・カード明細書、銀行明細書、申込み書、書式、納税申告用紙、注文書、メニュー、設計図、ソフトウェア・
    コードのリスト、特許出願書、及び積荷証券のうちのいずれか1つまたは複数であることができることを特徴とする、上記(20)に記載のコンピュータ。 (22)メモリと、中央演算処理装置と、表示装置と、
    ユーザ入力装置と、オペレーティング・システムと、サーバ及び共用コンピュータに接続されたネットワークと通信するためのネットワーク・プロトコルを備えたネットワーク・インタフェースとを有するコンピュータであって、ネットワーク・インタフェースを介してネットワークでサーバにブラウザ要求を送ることによってサーバのうちのサーバにページを要求し、サーバからネットワーク・インタフェースを介してネットワークで送られた要求ページのうちのページを受け取り、ユーザ入力装置からの情報のメッセージを使用して表示装置上にページを表示するブラウザ手段と、リダイレクトされるブラウザ要求が表示装置上でページを作成するために必要なブラウザ要求のうちの要求から再作成される、リダイレクトされるブラウザ要求であるブラウザ要求のうちのブラウザ要求を再作成することができ、リダイレクトされるメッセージであるメッセージのうちのメッセージを再作成することができる、リダイレクタ手段と、ネットワーク・インタフェースに接続し、リダイレクトされたブラウザ要求とリダイレクトされたメッセージとを受け取り、ブラウザ要求とリダイレクトされたメッセージとをネットワークで共用コンピュータのうちの共用コンピュータに送り、それによって共用コンピュータが共用表示画面上にページのコピーを表示する、ウェブ共用マネージャ手段とをさらに含むコンピュータ。 (23)a. メモリからメッセージを取り出すステップと、 b. ブラウザが表示装置上でページを作成するためにメッセージが必要な場合はメッセージを複製するステップと、 c. ネットワークで共用コンピュータにメッセージを送り、それによって共用コンピュータ上の受信側ブラウザがメッセージを使用して受信画面上に前記ページと同じ受信ページを作成することができるようにするステップとを含む、コンピュータによって実行される方法。

    【図面の簡単な説明】

    【図1】クライアント/サーバ・ネットワーク・アーキテクチャで使用する本発明を示すブロック図である。

    【図2】本発明におけるイベント(たとえばブラウザ要求)とメッセージすなわち情報と制御の流れも示した図1のシステムの詳細なブロック図である。

    【図3】本発明によって使用可能なウェブ文書(ウェブ・ページ)のサンプルを示す図である。

    【図4】図2のウェブ・サンプル文書のウィンドウの階層(親子関係)を示す図である。

    【図5】共用ウェブ文書の例とマッピングの使用法を示す図である。

    【図6】マッピング・テーブル・データ構造体の例を示すブロック図である。

    【図7】マッピング・テーブル・データ構造体の例を示すブロック図である。

    【図8】通信パケットを示すブロック図である。

    【図9】ウェブ共用共同作業中にイベント(たとえばC
    CIイベント)の登録、処理、及び登録抹消を行うステップを示すフローチャートである。

    【図10】ソース機械が(CCI)イベントによってパケットの作成と送信を行うステップを示すフローチャートである。

    【図11】受信側機械で(CCI)イベントによってパケットを受信するステップを示すフローチャートである。

    【図12】ウェブ共用共同作業中に、メッセージ・キュー・フックの登録、入力メッセージの処理、及びメッセージ・キュー・フックの登録抹消を行うステップを示すフローチャートである。

    【図13】ソース機械が入力メッセージによってパケットの作成と送信を行うステップを示すフローチャートである。

    【図14】受信側機械で入力メッセージによってパケットを受信するステップを示すフローチャートである。

    【図15】顧客とエージェントとの間の様々なウェブ共用共同作業の非限定的な例を示す図である。

    【図16】メッセージ・リダイレクタが行うプロセス・
    ステップを示すフローチャートである。

    【符号の説明】

    110 サーバ 115 コンピュータ・ネットワーク 120 プロトコル 130 ウェブ・ブラウザ 135 ウェブ共用ユーザ・インタフェース 145 CCIリダイレクタ 150 クライアント 155 メッセージ・リダイレクタ 160 ウェブ共用マネージャ 165 メモリ 180 メイン・メモリ 185 入出力ポート 191 フック 195 オペレーティング・システム

    ───────────────────────────────────────────────────── フロントページの続き (72)発明者 テツノスケ・フジサキ アメリカ合衆国10504 ニューヨーク州ア ーモンクウェイン・バレー・ロード 4 (72)発明者 小林 真 東京都町田市金森1840−9 (72)発明者 篠崎 雅英 東京都世田谷区玉川台2−21−16−405

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈