JP3790674B2 - 共同マルチデバイス・ウェブ・ブラウズのシステムおよび方法 - Google Patents

共同マルチデバイス・ウェブ・ブラウズのシステムおよび方法 Download PDF

Info

Publication number
JP3790674B2
JP3790674B2 JP2001048742A JP2001048742A JP3790674B2 JP 3790674 B2 JP3790674 B2 JP 3790674B2 JP 2001048742 A JP2001048742 A JP 2001048742A JP 2001048742 A JP2001048742 A JP 2001048742A JP 3790674 B2 JP3790674 B2 JP 3790674B2
Authority
JP
Japan
Prior art keywords
session
proxy
document
user
web
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001048742A
Other languages
English (en)
Other versions
JP2001297029A (ja
Inventor
リチャード・ワイ・ハン
イブラヒム・コーペログルー
マーモウド・ナグシネー
ヴェロニク・ペレト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2001297029A publication Critical patent/JP2001297029A/ja
Application granted granted Critical
Publication of JP3790674B2 publication Critical patent/JP3790674B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Resources & Organizations (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、全般的には、コンテンツのウェブベース・ブラウズに関し、具体的には、コンテンツのうちで、複数のユーザ位置の1つに選択的に供給される部分のユーザ表示および対話に関する。
【0002】
【従来の技術】
グループウェア・アプリケーションは、複数のリモート位置から単一の文書に対して行われる共同作業の必要をサービスするために開発された。たとえば、複数の会社従業員が、全世界のめいめいのオフィスからプレゼンテーションを見ることができ、複数の学生が、めいめいのリモート位置にあるワークステーションから教授の講義に「出席」することができる。ほとんどの入手可能なグループウェア・アプリケーションは、イントラネット・ベースであり、中央の会社または大学をベースとするサーバが、文書をロードし、文書へのアクセスを管理する。イントラネット・グループウェア・モデルのワールドワイド・ウェブへの拡張が、最近の研究開発の対象になってきた。ワールドワイド・ウェブの最適利用として複数当事者の共同作業能力を提供し、これによって、複数のユーザが単一の文書を同時に表示できるようにすることが望ましい。
【0003】
University of North Carolinaでのプロジェクト(D.ストッツ(Stotts)、J.プリンズ(Prins)、L.ナイランド(Nyland)、T.ファン(Fan)共著、「CobWeb: Tailorable, Analyzable Rules for Collaborative Web Use」を参照されたい)で、共同ウェブ・ブラウズ・システムの1バージョンが教示されている。ストッツ他のプロジェクトの目標は、世界中の別々のワークステーションで作業する複数の個人(リーダーと部下達)が、共同でウェブをブラウズできるようにすることである。部下達は、リーダーが取り出したウェブ・ページを見ることができ、すべての参加者が、共用ホワイトボードを介して通信することができる。リーダーと聴衆の間の対話は、セッションの始めに選択される共同作業プロトコルによって決定される。プロトコルの選択によって、どのアプレットをユーザに送信するかが決定される。プロトコルには、講義と会議の2つがあり、これらは、参加者に提供される機能のセットに相違がある。たとえば、ウェブ講義プロトコルでは、ユーザが「先導する」か「中断する」(そのユーザが当面は講師のビューを受信することを望まないことを意味する)ことを行わせるボタンが、ユーザに表示される。ウェブ会議プロトコルでは、これと同一の機能がユーザに提供されない。たとえば、ウェブ会議プロトコルでは、「発言権を得る」または「人物を加える」などの機能を有するボタンがある。ストッツ他のシステムが提供しないものは、すべてではないコンテンツをすべてではないユーザまたはユーザのデバイスに供給する機構である。
【0004】
もう1つのグループウェア・モデルが、VIEW Media*(これおよびこれ以降のアスタリスク*は、この文書全体を通じて、指定された単語がめいめいの所有者の商標である可能性があることを示す)共同ハイパーメディア・システムであり、これは、共用される文書に対する各ユーザのアクセス権に基づいて、会議システムが、異なるユーザが得ることのできる共用される文書のビューを制限できるようにするシステムである(Y.ヨコタ(Yokota)、T.ナカムラ(Nakamura)、H.タルミ(Tarumi)、Y.カンバヤシ(Kambayashi)共著、「Multiple Dynamic View Support for Cooperative Work」、Proc. of IEEE Int'l Conf. on Database Systems for Advanced Applications、1999年、第331ページ〜338ページを参照されたい)。VIEW Mediaは、講師が、生徒に講師の私的な注釈を見られないようにする方法を提供する。VIEW Media手法では、ハイパーメディア文書を複数のコンポーネントからなるものとみなし、これによって、これらのコンポーネントの異なるサブセットを、グループウェア・セッションの異なる受信側に選択的に送信することができる。その結果、通常のグループウェアに見られるWYSIWIS(What-you-see-is-what-I-see:あなたが見るものは私が見るもの)原理の代わりに、複数の部分的なビューがサポートされる。また、4レベルのユーザ・アクセス権すなわち、ハイパーメディア・オブジェクトをユーザが全部受信することができる、オブジェクトを部分的に受信することができる、オブジェクトを受信することはできないがその存在の知識を受信することができる、オブジェクトおよびその存在の両方をユーザが受信することができない、がサポートされる。ウェブ・サーバ上に配置される、Resource Manage Server(リソース管理サーバ)と称する中間プロキシが、ハイパーテキスト文書(たとえばウェブ・ページ)から複数のビューを作成し、これらのビューの配布を管理する。
【0005】
もう1つのグループウェア・システム、CAT*(collaborative active textbooks)システムでは、複数のユーザが、同一のウェブ・アニメーション・ショウの異なる部分的なビューを見ることができる(M.ブラウン(Brown)、M.ナジョーク(Najork)共著、「Collaborative Active Textbooks: a Web-Based Algorithm Animation System for an Electronic Classroom」、IEEE Symposium on Visual Languages、1996年、第266ページ〜275ページを参照されたい)。講師の画面に、同一のアルゴリズムの複数のアニメーション・ビューを、アニメーションを調整する(たとえば速度)ための制御画面と共に含めることができる。各学生は、同一のウェブ・ページをポイントし、アニメーションの複数のビューを受信するが、制御画面は見ない。アニメーションは、シーケンス内の興味のあるポイントを識別する特殊な言語で記述される。ダウンロードされたクライアント側アプレットが、興味のある点を受信し、これに反応する。この形で、講師は、アニメーションのペースを制御するが、学生は、その学生が見るビューを制御する。各学生は、講師および他の学生と独立に、彼自体のビューと対話することができる。しかし、講師がウェブ・ページを変更する場合には、すべての学生が、新しいアニメーションを受信するために、その新しいウェブ・ページに手作業で変更しなければならない。しかし、望ましいものは、講師がページを変更した後に、聴衆の中のユーザが、新しいウェブ・ページを自動的に受け取ることができるようにすることである。ブラウン他の作品のもう1つの短所は、複数のビューが、作成者によって先験的に構成されることである。基礎のウェブ・ページの副文書への切り分けに基づいて、複数のビューを「オンザフライ」で作成することを提供することが望ましい。
【0006】
ビデオ会議アプリケーションの共用リモート・コントロールが、T.ホーデス(Hodes)、M.ニューマン(Newman)、S.マッケイン(McCanne)、R.カッツ(Katz)、およびJ.ランデイ(Landay)共著、「Shared Remote Control of a Video Conferencing Application: Motivation, Design, and Implementation」、SPIE Multimedia Computing and Networking(MMCN), Proc. SPIE, vol. 3654、1998年(会議は1999年1月に開催)、第17ページ〜28ページで提案された。PDAが、ビデオ会議アプリケーション「rvic」(remote video conferencing)を操作するためのリモート・コントロールとして使用される。ホーデス他は、サービス・ディスカバリ機構も記述している。ホーデス他のリモート・コントロールのアプリケーションは、ストリーミング会議アプリケーションに対処するが、ウェブには対処していない。
【0007】
http://graphics.stanford.edu/projects/iwork/にある論文でフォックス(Armando Fox)教授が説明しているスタンフォード大学のInteractive Workspace Projectでは、「マルチブラウズ(multi-browsing)」という概念が導入されている。このプロジェクトの目標は、マルチデバイス、マルチユーザ環境を用いる実験であり、具体的には、すべての種類の作業をある計算装置から別の計算装置に移動することと、グループ対話をサポートし、促進することである。そのようなシステムの下で、ユーザは、直列化された形で複数のデバイスと対話する。たとえば、ユーザが、室内で移動する際に、彼のアプリケーションを見るかタスクを完了するために彼が対話しているデバイスが変化する。それぞれが同一の文書を表示する複数のデバイスを並列に使用するという概念もある。主に、このプロジェクトは、各ディスプレイ上で異なる絵を見ることができる壁掛けディスプレイに焦点を合わせている。たとえば、スライド・プレゼンテーションの場合、プレゼンテーションの異なるページが、異なるスクリーンに現われ、ユーザが移動する際に、プレゼンテーションがそのユーザに追従する。このプロジェクトは、室内インフラストラクチャとの対話方法により多くを投資しており、位置情報を得るためにセンサを用いる。
【0008】
J.レキモト(Rekimoto)著、「A Multiple Device Approach for Supporting Whiteboard-based Interactions」、Human Factors in Computing Systems(CHI)、1998年、第344ページ〜351ページに詳細に示されているように、1つまたは複数のPDAとディジタル・ホワイトボードの間の対話が実施された。最初の例で、レキモトは、ユーザがあるコンピュータの画面上でオブジェクトを「ピック」し、別のコンピュータの画面にドロップできるシステムを記載している。第2の例では、レキモトは、ユーザがPDA上で描画し、その後、新たに描画されたオブジェクトを、同一のペンを使用してPDAからディジタル・ホワイトボードに「ピックアンドドロップ」できるようにするシステムの実例を示している。PDAは、ブラシ・タイプおよびペンの色を設定するのにも使用され、画面上のオブジェクトの外見属性を変更することができる。この形で、PDAが、ホワイトボード・アプリケーションを操作するためのリモート・コントロールとして使用される。
【0009】
MIT Media Labの「Let's Browse」*システムでは、H.リーバーマン(Lieberman)、N.バン−ダイク(Van Dyke)、およびA.ビバクア(Vivacqua)共著、「Let's Browse: a collaborative browsing agent」、Knowl. Based Syst. (UK), Vol.12, No. 8、1999年12月、第427ページ〜431ページに記載されているように、もう1つの形の共同ウェブ・ブラウズが実施される。「Let's Browse」システムでは、各ユーザが、好ましいウェブ・ページのプロファイルを有する。ユーザが、ウェブ・ブラウズ・コンピュータに近接している時に、コンピュータ上のエージェントが、そのユーザのプロファイルに一致するウェブ・ページを事前に取り出す。一緒にブラウズ・セッションを見ている複数のユーザがいる時には、エージェントは、ユーザの興味の交わりと一致するページを見つける。リーバーマン他は、1つまたは複数のユーザからのアクティブ入力と、各ユーザのプロファイルの更新に対するそのアクティブ入力の影響も企図している。
【0010】
もう1つの共同作業システムが、RealNetworks*社によって提供された。Real Presenterと称するその製品は、複数の受信側が、ウェブ・プレゼンテーションを見られるようにし(http://www.realnetworks.com/products/presenterplus/info.htmlを参照されたい)、ニュース放送者が、プレゼンテーションの各スライド(または一部のビデオ)と共にナレーションを記録できるようにする。ニュース放送者は、その後、プレゼンテーションをRealMedia*文書に変換し、ウェブ・サーバにアップロードし、このウェブ・サーバで、誰もが自分のローカル・コンピュータからその文書にアクセスできる。
【0011】
ウェブ・サイトhttp://web.calstatela.edu/ats/real/develop/broadcast.htmで見ることができる、RealPresenter*の生放送版もある。生版では、ユーザがプレゼンテーション・リンクをクリックする場合に、ユーザは、ニュース放送者がRealPresenterソフトウェアを使用して自分のデスクで行っている生のプレゼンテーションを受信する。音声およびスライド・データは、RealServer*に送信され、このRealServer*が、データをストリーム化して、リンクをクリックしたすべての人に送る。この製品で追加的に望ましいものは、個々の所有者の複数のデバイスの間で出力を分割し、いくつかの特権グループの概念を用いてアクセスを規制することができるようにすることである。
【0012】
Microsoft社のNetMeeting*(ウェブ・サイトhttp://www.microsoft.com/catalog/display.asp?site=113&subid=22&pg=1で見ることができる)を用いると、参加者が、リアル・タイムで共同作業し、Windows文書を共用することができる。すべてのユーザが、標準データ会議プロトコルT120を使用して、自分の画面で同一の情報を見る。
【0013】
Netscape Conference*(ウェブ・サイトhttp://www.aibn.com/help/Software/Netscape/Communicator/Conference/browsing.htmlで見ることができる)は、2人がインターネットを介して同時に同一のウェブ・ページを見られるようにし、各自がいつでもブラウザの制御を得ることができる、共同ブラウズ機能を提供する。標準ビデオ会議プロトコル(H.323)が使用される。Netscape Conference*も、情報交換に使用されるホワイトボードを提供する。
【0014】
WebEx.com*で見つかるもう1つのサービスは、複数のユーザがオンラインで共通のプレゼンテーションに従うことを可能にする(http://www.webex.comを参照されたい)。ブラウズするユーザの画面が、取り込まれ、WebEx.comのサーバに送信され、そこで、その画面が、会議セッションの他のユーザに中継される。このシステムは、誰が発言権を有するかを制御する機構をサポートし、ウェブ・ページだけではなく、すべてのアプリケーションの文書(たとえばMicrosoft Excel*文書またはPDF文書)について使用することができる。
【0015】
もう1つのシステム、Yahoo!* Gamesは、複数のユーザが、同一のゲームを見られるようにし、ウェブベースの参加機構を有する。対話型オンライン・ゲームは、しばしば、部分的なビューが可能である。たとえば、x-trek*などのゲームでは、他のプレイヤが見ることのできないインスタント・メッセージを友人と交換することができる。しかし、そのような選択的コンテンツ表示は、ウェブベースではなく、HTTPではないプライベート・プロトコルに基づく。さらに、これらのオンラインの労作は、複数の出力デバイスの間で出力を分割しない。
【0016】
追加的に望ましいものは、コンテンツの異なる部分が異なるユーザに使用可能にされる、ウェブベース共同作業システムおよびウェブベース共同作業方法である。上で参照した機構は、その機能を有しない。さらに、複数の小さいクライアント・デバイスへの出力を分割することが望ましい。たとえば、ユーザの要求元デバイスがセル電話である場合には、小さいセル電話のディスプレイおよびその制限されたオーディオ機能を使用して、要求されたコンテンツにアクセスすることが実用的でない場合がある。むしろ、ユーザは、関連するテレビジョン画面またはコンピュータ・モニタに視覚的コンテンツを表示させ、オーディオをフル・レンジ・ステレオ・システムに配送させることを望む可能性がある。
【0017】
ビデオ会議の共通規格には、パケット交換網/IPネットワークを介するオーディオ/ビデオ会議用のH.323ならびにT.120が含まれる。ウェブ・コンテンツに注釈を付けてトランスコーディングを可能にするための、W3Cに対する提案、「Annotation of Web Content for Transcoding」[W3C]がある。この手法では、コンテンツに、メタデータを用いて注釈が付けられ、このメタデータによって、ダウンストリーム・エンティティまたはサーバのいずれかに、各コンポーネントの重要性と、エンド・デバイスでの表示のためにそのコンポーネントをトランスコードする方法が説明される。したがって、この労作は、ウェブ・コンテンツを、受信側デバイスの機能に適応させることを試みている。W3C提案では、ウェブ・コンテンツが、XMLで記述され、トランスコーディング規則の定義にRDF(resource description framework)ファイルを使用することが前提になっている。このファイルでは、エンドデバイスの機能に対して送るべきものの規則が、それを必要とするコンポーネント(画像ファイルまたはビデオ・ファイルなど)について定義される。しかし、この注釈は、文書の分割を許容しない。この適応からもたらされるウェブ・ページは1つだけであり、そのページがエンド・デバイスに送信される。
【0018】
パーソナル・デバイスで現れつつある傾向は、ユーザがいつでもどこにでも持ち運び、使用することができる、より小さくポータブルなデバイスに向かっている。PDAなどのモバイル・デバイスは、しばしば、機能の小さいセットだけをサポートするように技術的に制限され、たとえば、PDAは、小さい画面を有し、オーディオがなく、これによって、テキストのみのサポートに制限される場合がある。ハードウェア制限のほかに、このようなモバイル・デバイスは、独立の切断されたモードで働く時に、限られた機能性を有する。PDAは、日程表および住所録などの非常に有用なアプリケーションをサポートするが、PDAが提供することのできる機能は、切断された時のデバイスの機能性によって固有の形で制限される。ネットワーク接続性をポータブル・デバイスに統合することによって、モバイル・デバイスのユーザが、ネットワークによって供給することのできるアプリケーションのはるかに豊富なセットにアクセスできるようになり、たとえば、ユーザは、自分自身のデスクトップ・アプリケーション、電子メール、およびウェブにアクセスでき、ネットワーク化されたPDAまたは機能強化されたセル電話を介して他のユーザと接触することができる。
【0019】
【発明が解決しようとする課題】
前述に鑑みて、必要なもの、したがって本発明の目的は、モバイルと固定式の両方の複数のネットワーク化されたデバイスが互いに共同作業できるようにすることによって、モバイルのネットワーク化されたデバイスの機能性を強化するシステムおよび方法である。
【0020】
本発明のもう1つの目的は、複数の固定式デバイスおよびモバイル・デバイスの集合として定義される、単一のアプリケーションの出力を共同環境内でデバイスのそれぞれの間で選択的に配布できる、仮想計算機を提供することである。
【0021】
【課題を解決するための手段】
前述および他の目的は、アクセス特権のレベルに従って、ウェブ・コンテンツのユーザに表示される部分へのアクセスを選択的に提供し、異なるユーザ指定デバイスでの表示のためにウェブ・コンテンツの異なる部分を送信する、共同作業システムおよび共同作業方法を提供する本発明によって実現される。本発明のウェブ・ブラウズのシステムおよび方法は、マルチメディア出力を要求元デバイスに制限せず、エンド・ユーザが、ウェブ・コンテンツを受信するデバイスを選択でき、ウェブ・コンテンツを表示するために共同作業する複数のデバイスを選択することも可能にする。たとえば、コンテンツのサウンド部分を、高品質スピーカに送信することができ、それと同時に、ビデオ部分をテレビジョン画面に送信することができ、これによって、ユーザが、ウェブ・ページの各コンポーネントの再生または表示に使用可能な最適(品質または便利さによる)のデバイスを選択できるようにする。その結果、共同マルチデバイス・ウェブ・ブラウズを用いると、エンド・ユーザが、コンテンツまたはそのコンテンツの部分をサービスするのにより適した、より高いまたは異なる出力機能性を有する他の近くの出力デバイスを利用することによって、要求元デバイスの限られた機能性(たとえばセル電話の小さいディスプレイ)を克服できるようになる。各デバイスの機能性が、これによって、複数のデバイスの共同作業から生じる仮想計算機を作成することによって機能強化される。
【0022】
ウェブ・ページのコンテンツの全体または一部のいずれかを、複数のエンド・ユーザに送信することもできる。本発明の共同マルチデバイス・ウェブ・ブラウズを用いると、ウェブ・ページのコンテンツを、人間のグループ全体に自動的に配布することができる(グループの1人だけがそれを要求した場合に)。グループのメンバは、各自の特権レベルに応じて、ページ全体またはページの一部だけを受信することができる。たとえば、授業を行う教師の場合、教師は、ナビゲーション・バーを用いてスライドの間でナビゲートできなければならないが、学生は、講義中にナビゲーションを変更できてはならない。この場合、システムは、学生からナビゲーション・バーを隠すはずである。というのは、学生が、教師と同一の特権レベル・グループに属さないからである。このシステムおよび方法は、これによって、一部のユーザが文書の部分的なビューだけを受信するので、ウェブ・セッションの参加者の間の制御された対話性を導入する。
【0023】
共同マルチデバイス・ウェブ・ブラウズでは、どのデバイスまたはどのユーザが、ウェブ・コンテンツのどの部分を受信することになるかの決定が、XML文書ごとにその文書の作成時にウェブ作成者によって記述されたポリシ・ファイルを使用して、セッションの開始時に動的に行われる。ポリシ・ファイルには、複数の特権グループを定義する規則を含む、XMLウェブ・ページ上のメタデータが含まれる。各特権グループは、タグの異なるセットへのアクセス権を有する。各ユーザは、所与のグループにログ・インし、そのユーザが所有するデバイスのすべてを、サービス・ディスカバリを介してプロキシに識別する。この情報のすべてを与えられて、プロキシは、許可される出力デバイスへの許可されるタグの総合マッピングを構成することができる、すなわち、ユーザがアクセスを許可されるタグのそれぞれが、ユーザが所有するかアクセスを許可される1つまたは複数の出力デバイスにマッピングされる。
【0024】
異なるデバイスおよびエンド・ユーザに送信される副文書を作成するために、ウェブ・コンテンツを、好ましくはXMLを使用して、トランスコーディングする。変換を適用して適当なタグを選択し、適当な出力フォーマット、通常はHTML、XML、WMLなどの、またはスピーカに送られるエンコードされたオーディオのストリームなどの非テキスト・フォーマットの、文書を作る。各デバイスによって期待されるコーデック・フォーマットについて知るために、サービス・ディスカバリを実行する。
【0025】
マルチデバイス・ウェブ・ブラウズの処理全体が、ユーザから透過的に行われるが、エンド・ユーザが見ることを許可されるタグのそれぞれがどこに表示されるかに関して、そのユーザにある程度の制御が与えられる。マルチデバイス・ウェブ・ブラウズ・プロキシは、タグおよびユーザがそのそれぞれについて有するデバイスの選択のリストと共に、アプレットをユーザに送信する。エンドユーザは、ユーザの位置での最適表示のためにタグとデバイスのより便利な関連付けを選択することによって、グループ・セッションをパーソナライズすることができる。
【0026】
【発明の実施の形態】
以下の説明のために、本発明のシステムおよび方法は、ウェブ・クライアントがユーザの計算機上でローカルに稼働し、ウェブ・サーバがインターネット内でリモートに稼働する通常のウェブ・ブラウズ応用例に適用されると仮定する。ユーザが、ウェブ・ブラウザを介してウェブ・ページを要求する時に、その要求が、適当なウェブ・サーバに送信され、そのウェブ・サーバが、ウェブ・ブラウザに直接に文書を返す。ウェブ・ブラウザには、返されたコンテンツに含まれるHTMLを解析し、レンダリングするのに十分な知能が含まれる。用語「ウェブ・ページ」および「ウェブ文書」は、交換可能に使用することができ、ウェブ・ページまたはウェブ文書のコンテンツは、それに対するアクセスが選択的に制御される「部分」または「副文書」に選択的に分割される。本発明の好ましい実施形態は、ウェブ文書がXMLを使用して作成されることを必要とし、以下の説明では、言語としてのXMLの使用を前提とする。本発明は、HTMLで供給される文書に適用できることに留意されたい。しかし、本発明の目的のいくつかは、HTML文書と共に動作する時には実現できない。
【0027】
図1は、通常のウェブ・ブラウズ実施形態の概略図である。図1を参照すると、ユーザ位置10にいるユーザ(図示せず)が、インターネット14を介してウェブ・サーバ12からコンテンツを得る。コンテンツは、ユーザ位置ブラウザ16で受信された後に、表示コンポーネント17での視覚的表示またはオーディオ表示コンポーネント18でのオーディオ・レンダリングもしくはその両方の形でユーザに「配布」される。共同環境では、このモデルが、1つのユーザ位置の複数の表示コンポーネントだけではなく、複数のユーザ位置を含むように拡張される。
【0028】
本発明の共同マルチデバイス・ウェブ・ブラウズの背後にあるアイデアは、まずウェブ文書を独立の部分に分割し、次にこれらの部分を表示のために選択的に配送することである。共同作業の主題は、複数のレベルで適用される。第1に、ウェブをブラウズしているユーザが1人だけの時には、共同作業の概念は、仮想計算機を形成するために共同作業する互いに近接した複数のクライアント・デバイスに適用される。各ウェブ文書の部分が、ウェブ・ブラウズ・セッションを開始した要求元デバイスの近くに配置されている、この仮想計算機の複数のクライアント・コンポーネントの間で分離される。この種の共同マルチデバイス・ウェブ・ブラウズによって、単独ユーザのウェブ・ブラウズ体験が豊かなものになる。第2に、複数の人間のユーザがいる時には、共同作業の概念が、ユーザ位置にまたがって適用される。その結果、ウェブ文書の部分を複数のローカル・デバイスにサービスできるだけではなく、ウェブ文書の部分を、地理的に隔たって分散したものとすることができる複数のユーザに、各ユーザの設定および許可に従って同時にサービスすることもできる。
【0029】
共同マルチデバイス・ウェブ・ブラウズの鍵になる前提条件の1つが、ユーザならびにデバイスの両方が、そのサービスを登録する手段ならびに、他者によって登録されたサービスを発見する手段を有しなければならないことである。ユーザおよびデバイスの登録およびディスカバリの機構は、SLP(Service Location Protocol)、Sun Microsystems*社のJini*、Bluetooth*のSDP(Service Discovery Protocol)、Microsoft*社のUP&P*(Universal Plug and Play)などによって提供されるものなどの、サービス・ディスカバリ・プロトコルおよびミドルウェア・レジストリを必要とする。複数のユーザが、ウェブ・ブラウズ・セッションについて登録し、その後、セッション・プレゼンタによって制御されるセッションに追従することができる。各デバイスも、その機能を公示することができると仮定される。
【0030】
機能に関するデバイス入力を受信し、ウェブ・コンテンツを受信し、解析するために設けられるのが、図2に示されたプロキシ・エンティティ20であり、これは、ウェブ・サーバ12とユーザ位置10の間に配置される。プロキシは、ウェブ文書の形のウェブ・サーバからの入力、およびユーザ位置デバイス機能情報の形のユーザ位置からの入力を受信するように適合されている。下でさらに説明するように、プロキシは、入力情報を使用して、ユーザ・アクセス特権情報およびデバイス機能情報に従って、ウェブ文書の諸部分へのアクセスを選択的に制御する。
【0031】
図3に、共同マルチデバイス・ウェブ・ブラウズの第1のシナリオすなわち、より高機能の近くの出力デバイスを使用することによる単独ユーザのウェブ・ブラウズ・セッションの拡充を示す。これは、ウェブ文書のうちで、元のデバイスが効果的にサポートできない部分の再生または表示のために他の近くの出力デバイスを活用することによって、ウェブ・ブラウズに使用される元のデバイスの機能を拡張するという発想である。たとえば、家庭環境では、ユーザが、小さい画面、低い解像度、およびおそらくはサウンド・サポートのないPDAなどのユーザ要求元デバイス30からウェブのブラウズを開始する可能性がある。高品質スピーカ、ラジオ32、およびテレビジョン34が近くにあり、両方がたとえば短距離無線接続性を提供するBluetooth*チップを備えている場合には、ユーザは、ウェブ・コンテンツのサウンド部分をスピーカに、グラフィカル・コンテンツをテレビジョン画面に送ること決定することができる。ユーザは、ウェブをナビゲートするためのリモート・コントロールとして、元のPDAを使用し続けることができる。周囲の入出力周辺機器を用いて、限られたモバイル・デバイスの機能を拡張する能力によって、ユーザのブラウズ体験が豊かになる。ユーザは、どの出力データ/ストリームをどの出力デバイスで再生/表示するかを制御することもでき、ビデオ画像をテレビジョン34に送りながら、静止画像を、PC 36のモニタ上での表示のために送るか、プリンタ38でハード・コピーとして出力するために送ることもできる。
【0032】
図4に、共同マルチデバイス・ウェブ・ブラウズの第2のシナリオすなわち、他のデバイスに加えて、他のユーザが、ブラウズ・セッションの出力を受信できるようにすることによるウェブ・ブラウズ体験の拡充を示す。図4に示されたシナリオでは、講師が、ウェブ・サーバに格納されるウェブ・プレゼンテーション400を記述し終えており、このプレゼンテーションを、おそらくは電話会議、会議室、または講演ホールで他のユーザに見せることを所望している。講師は、講義位置410に到着することができ、この講義位置410は、すでに、スピーカ413を、ラップトップ・コンピュータ411およびWinCE*デバイス412と共に備え、後者を用いて、講師が、プレゼンテーション中に自由に歩き回ることができる。この場合、概略的に示されているウェブ・プレゼンテーション400には、視覚表示部分417、オーディオ表示部分414、ナビゲーション・バー416、および講師のメモ415が含まれる。forward/back(進む/戻る)ボタンを有するナビゲーション・バー416は、WinCEデバイスおよび講師のラップトップ・コンピュータだけに送信される。それと同時に、講師は、グラフィカル・スライドである視覚表示部分417を、講師のラップトップ機に送信させ、その結果、そのスライドを講演ホールの大きい画面(図示せず)に映写できるようにすることができる。さらに、講師は、プレゼンテーションのオーディオ表示部分414を、その室内で使用可能なスピーカ413に送らせることを望む可能性がある。ここまでに説明したものは、第1のシナリオの仮想計算機の概念と同一であり、それぞれのアクセスされるウェブ・ページのコンテンツが、単独ユーザのコンピュータ、PDA、およびステレオ・システムに分割される。ウェブ・プレゼンテーション400の図では、メモ415(ウェブ・ページの左部分)、ナビゲーション・バー416(最上部の絵)、およびスライドである視覚表示部分417(中央部分)のすべてが、講師のラップトップ機に送られる。ナビゲーション・バーは、講師がプレゼンテーション中に歩き回るためにリモート・コントロールを所望する場合に、講師のPDA(図示せず)に送信することもできる。オーディオは、講師の室内で使用可能なステレオ・スピーカに再送される。
【0033】
仮想計算機のシナリオの拡張として、図示されているように、室内(またはリモート位置)の他者も、デバイスを有し、そのデバイスでプレゼンテーションの一部を受信することを望むと仮定する。たとえば、室内の学生の一部が、PDA418を有し、それ以外が、ラップトップ機419を有する可能性がある。聴衆に、スライドである視覚表示部分417を送信することができる(低解像度にトランスコードされた版がPDAに送信される)。リモート位置にいる学生は、図示されていないが、プレゼンテーションのオーディオ部分およびスライド部分の両方が、その学生ユーザによるアクセスのために供給されると仮定する。ユーザは、どのユーザのグループがウェブ・ページ内のどのマルチメディア・オブジェクトの受信を許可されるかを制御するために、異なるアクセス特権を有することができる。たとえば、講師は、室内の人々より高い特権を有する。講師は、メモとナビゲーション・バーを受信することを許可される。対照的に、聴衆メンバは、ナビゲーション・バーを用いて再生することによってプレゼンテーションに割り込むことを許可されず、したがって、ウェブ文書のナビゲーション・バー部分を受信することを許可されない。したがって、このシナリオの下では、所与のオブジェクト(たとえばナビゲーション・バー)が、複数の宛先を有することができ、複数のオブジェクトが、同一の宛先(たとえば講師のコンピュータ)を有することができ、ユーザが、複数の出力デバイス(たとえば、コンピュータ、PDA、ステレオ・スピーカ)を所有/制御することができる。前述の講師/学生のシナリオは、すべての会議のシナリオに同等に良好に適用される。たとえば、発言者が発言中に異なるスライドを通じて移動し、他の参加者がオンライン・グラフィカル・プレゼンテーション(受信する特権を与えられた部分のみ)に追従する並列ウェブ・セッションにも参加者が参加できるようにすることによって、通常の電話会議を機能強化することができる。
【0034】
前述を可能にするために、セッション・プレゼンタは、まず、スライド・プレゼンテーションを構成し(「ウェブ・オーサリング」と称するステップで)、スライドのシーケンスを、XMLウェブ・ページとしてウェブ・サーバに格納する。オーサリングの一部として、構成者は、任意選択としてXML「ポリシ」ファイルを作成することもできる。ポリシ・ファイルには、どのXMLタグがどの特権グループへの送信を許可されるかを指示するマッピング規則が含まれる。後に、セッション・プレゼンタが、共同プレゼンテーションの一部としてウェブ・スライドへのアクセスを望む時に、セッション・プレゼンタは、プレゼンテーションの最初のページをダウンロードする。プレゼンテーションの最初のページは、プロキシによって代行受信される。最初のページが、ポリシ・ファイルを参照している場合には、プロキシは、ポリシ・ファイルを要求し、明確に形成されたタグ・マッピング規則を構成する。ポリシ・ファイルがない場合には、プロキシは、デフォルトの副最適マッピング規則の組を生成することを強制される。この時点で、プロキシは、他のユーザにセッション・プレゼンタのブラウズ・セッションに追従することを許可する、共同マルチデバイス・ウェブ・ブラウズ・セッションの状態を作成する。プロキシは、サービス・ディスカバリ機構にこの新しいセッションを登録し、その結果、新しいサブスクライバが、そのセッションを見つけられるようになる。
【0035】
新しい潜在的なサブスクライバが、確立されたセッションへの参加を希望する時には、そのサブスクライバは、まず、サービス・ディスカバリ機構に照会し、サービス・ディスカバリ機構は、使用可能なサービスのリストを返す。サブスクライバが、所望の共同マルチデバイス・ブラウズ・セッションを選択した時に、選択されたプロキシからサブスクライバに、ユーザ名およびパスワードを求めるログイン・フォームが返される。与えられたパスワードをポリシ・ファイル内で定義されたパスワードと突き合わせることによって、プロキシは、各新しいサブスクライバに特権グループを関連付ける。また、プロキシは、サービス・ディスカバリに、入力されたユーザ名に関連するすべてのデバイスを要求する。この時点で、プロキシは、個々のサブスクライバのデバイスに送信しなければならないXMLタグだけを選択するマッピング規則を構成することができる。プロキシは、さまざまな部分または副文書を作成する適当なXSL文書を構成し、これらの部分または副文書が、その後、サブスクライバおよびサブスクライバの複数のデバイスにプッシュされる。各サブスクライバおよび各デバイスは、ウェブ・プレゼンテーションの部分的なビューを受信する。データ・プッシュ機構は、サブスクライバのブラウザでデータ・プッシュがサポートされる方法に非常に依存する。エンドポイントが、ブラウザではなくデバイスである場合には、データ・プッシュは、その物理デバイスにアクセスするのに必要な方法に非常に依存する。最後に、サブスクライバは、マルチメディア・タグ/オブジェクトの出力デバイスへのプロキシの初期マッピングを変更することを望む可能性があるので、プロキシは、ユーザがマッピングをカスタマイズするためにいつでも呼び出すことができる、パーソナライズされた構成アプレットを作成することができる。プロキシは、これらのカスタマイズされたマッピングを使用して、タグ/マルチメディア配布の最終的なポリシを確立する。
【0036】
プロキシ
プロキシの基本コンポーネントには、ユーザ要求を受信し、これらの要求をウェブ・サーバに転送し、サービス・ディスカバリ(下で詳細に説明するように、ローカル機能または分散機能とすることができる)中にユーザ位置と通信するための少なくとも1つの通信コンポーネント、ウェブ・サーバから取り出した文書を解析するための少なくとも1つの処理コンポーネント、ならびに、ポリシ・ファイルを解釈するための少なくとも1つの処理コンポーネント、文書の部分をユーザ位置に動的にマッピングするための処理コンポーネント、および事前に取り出されたファイルをキャッシュ記憶するための少なくとも1つのキャッシュ位置が含まれる。文書がXMLで供給される場合、この解析をXSLファイルを使用して行うことが最適であり、これには、XMLパーサおよびXSLエンジンが必要である。変換を行うために使用可能な多数のXSLプロセッサがあり、その詳細は、周知であり、本明細書では繰り返さない。プロキシには、さらに、ユーザ位置にある機能に配送されるコンテンツを「カスタマイズ」するためにウェブ文書のすべてまたは部分をトランスコーディングするためのコンポーネントを含めることができる。
【0037】
プロキシは、システム内のどこにでも配置することができる(ウェブ・サーバ内またはユーザ位置を含む)が、エンド・ユーザとウェブ・サーバの間に配置されるプロキシに情報を配置することが最適である。プロキシは、マルチデバイス、マルチユーザ選択的処理を実行するようにカスタマイズされた、Apache*プロキシなどの使用可能なプロキシとすることができる。その代わりに、プロキシを、サーブレットを用いてウェブ・サーバとして実施することができる。実際、マルチデバイス・プロキシは、送信しなければならない文書を作成し、それらを宛先に配布するので、エンドクライアントにとってはウェブ・サーバのように見える。したがって、サーブレットが、インターネット・ウェブ・サーバへの要求の転送、応答の受信、および解析の実行を処理することができる。ウェブ・サーバ部分は、サーブレットによってキャッシュ記憶された文書を検索して、エンドデバイスに配布する。
【0038】
プロキシの解析機能およびアクセス制御機能に加えて、中間プロキシの使用には、複数の他の長所がある。プロキシは、インターネットからエンドデバイスを隠蔽し、その結果、必ずしもIPアドレスを有しないスピーカなどのデバイスにローカルにアクセスできるようになる。さらに、プロキシは、インターネットとエンドデバイスの間のバッファとして働く。たとえば、オーディオ・コンポーネントをストリーム化する場合には、ネットワーク遅延の変動によって、ストリームが停止し、再開されるようになる。プロキシは、データをバッファリングし、よりスムーズかつ規則的にエンドデバイスにストリーミングすることができる。プロキシの使用のもう1つの長所は、プロキシが、クライアント側で何かを稼働させる必要をなくすことであり、これは、エンドデバイスが小さく、限られた機能を有する可能性があるので望ましい。プロキシが適用するトランスコーディング機能は、ウェブ・コンテンツをある種のデバイスに配送するのに適するようにするためにウェブ・コンテンツに適用することができる。たとえば、Palm Pilot*は、2ビット・グレイスケール・ピクチャだけをサポートするので、画像をエンド・デバイスに配送する前に、プロキシで画像のトランスコーディングを適用することができる。
【0039】
また、プロキシは、エンドユーザが要求するのを待たずに、必要な追加ファイル(たとえば画像、オーディオ・ファイルなど)を取り出すという点で、ブラウザのように振る舞う。ウェブ・ページを受信するエンドデバイスのすべてが、追加ファイルについて照会すると期待される。したがって、プロキシに、ウェブ・サーバにそれらを一度に照会させ、キャッシュ記憶させ、要求元エンドデバイスにサービスさせることが有益である。図5に、本発明によるデータ転送の前述の効率を示す。
【0040】
図5からわかるように、デバイス1が、ウェブ文書の照会を開始する。プロキシは、この要求を転送するが、ウェブ・サーバから応答が返ってきた時に、プロキシは、ブラウザと同様に、そのファイルを解析し、画像ファイル、サウンド・ファイルなどを照会する。したがって、これらの画像ファイル、サウンド・ファイルなどの照会が、エンド・デバイスから来る時には、プロキシは、キャッシュ記憶した文書をエンド・デバイスに返すことができる。プロキシによる取出およびキャッシュ記憶の手法では、非ブラウザ・エンドデバイスの問題も解決される。たとえば、ユーザは、画像をテレビジョン画面に送ることを選択できるが、テレビジョン画面がバイナリ・データを期待するので、プロキシが、テレビジョン画面の代わりにXMLファイルに含まれる画像を取り出さなければならない。これがプロキシのデフォルトの振る舞いである場合には、プロキシは、そのデータをテレビジョン画面に送る方法を知るだけでよい。
【0041】
サービス・ディスカバリ
共同マルチデバイス・ウェブ・ブラウズは、次の2つの理由からサービス・ディスカバリ機構を必要とする。第1に、プロキシが、複数のエンド・デバイスへのマルチメディア・セッションを分割できるようになるために、プロキシが、登録されたユーザならびにそのユーザの登録されたデバイスを発見する手段を有しなければならない。第2に、ユーザがブラウズ・セッションを確立するかそれに参加することができるようにするために、ユーザおよびそのデバイスが、登録されたプロキシを発見する手段を有しなければならない。ユーザ、デバイス、およびプロキシの登録および発見の機構は、サービス・ディスカバリ・プロトコルを必要とする。Sun Microsystems*社のJini*、SLP*、およびMicrosoft*社のUP&P*を含む、本発明のシステムで使用することができる多数の使用可能なサービス・ディスカバリ・プロトコルがある。これらは周知のプロトコルであるから、サービス・ディスカバリ・プロトコルの詳細を本明細書で説明する必要はない。
【0042】
図6に示されているように、サービス・ディスカバリおよびサービス登録は、共同マルチデバイス・ウェブ・ブラウズによって、セッション確立フェーズならびにセッション参加フェーズの両方で使用される。セッション確立フェーズには、プロキシとサービス・ディスカバリの間の一連の対話がある。サービス・ディスカバリは、プロキシのローカル・コンポーネントとするか、複数のサイトの間で分散するか、集中位置で見つけることができる。第1ステップでは、プロキシ610が、サービス・ディスカバリ612にそれ自体を登録し、その結果、クライアント(すなわちセッション作成者614)が、後にそのプロキシを見つけられるようになる。同様に、ユーザ/セッション作成者は、そのユーザによって所有される各デバイスをサービス・ディスカバリに登録する。ユーザ登録は、セッションの確立時に行うことができ、また、以前に行われ、セッション確立時でのユーザのデバイス可用性に基づいて、必要に応じて更新することができる。
【0043】
次に、セッション作成者614が、所望のプロキシのハイパーリンクをクリックするか、他の形でウェブ対話を開始する。セッション作成者のシステムは、単にウェブへの接続を試みることによってセッション作成者がプロキシにアクセスするように、プロキシの呼出しがユーザに透過的になるように構成することができる。後者の場合、ウェブ対話の開始時に、セッション作成者のシステムが、サービス・ディスカバリに照会して、登録されたプロキシを見つけ、プロキシが選択され、接続される。接続されたプロキシ610は、セッション・ログイン・メニューを返し、セッション名と最初のXMLウェブ・ページのURLを要求する。その後、プロキシは、要求されたXMLページおよびそれに関連するポリシ・ファイル617をウェブ・サーバ615からプルする。プロキシは、XMLページおよびポリシ・ファイルを解析して、特権グループを作成し、その後、ログイン・メニューをセッション作成者に送信し、ユーザ名およびパスワードを要求する。ユーザを特権グループに突き合わせた後に、プロキシは、新しいセッションをサービス・ディスカバリに告知し、セッション作成者によって登録されたデバイスを要求する。最後に、要求されたXMLページのうちでセッション作成者が受信を許可される部分が、セッション作成者に返される。
【0044】
既存のセッションがすでに確立されているセッション参加フェーズでは、プロキシ/ユーザとサービス・ディスカバリの間に、次の3つの対話がある。第1に、新しいユーザまたはサブスクライバが、そのデバイスをサービス・ディスカバリに登録する。第2に、サブスクライバが、サービス・ディスカバリに、進行中のブラウズ・セッションのリストを要求する。第3に、プロキシが、サービス・ディスカバリに、新しいサブスクライバに関連するすべての登録されたデバイスを要求する。テーブル616に、プロキシおよびセッションの登録のためにサービス・ディスカバリ・コンポーネントによって維持されるレコードの例を示す。
【0045】
本発明のシステムおよび方法と既存のサービス・ディスカバリとの間の上の対話は、2つの動作すなわちregister()(登録)およびquery()(照会)に還元することができる。既存のサービス・ディスカバリ・プロトコルは、プロキシおよびブラウズ・セッションならびにユーザおよびそのユーザのデバイスを登録(register())することができる。さらに、サービス・ディスカバリは、照会(query())に応答して、登録されたプロキシまたはセッションもしくはその両方のリスト、または、各ユーザに関連するデバイスと共に登録されたユーザのリストを返すことができる。サービス・ディスカバリのレジストリが、集中化されるか分散されるか、または、登録されたプロキシ/セッションが、ローカル・エリア専用であるか、広域で使用可能であるかは、選択されるサービス・ディスカバリ・プロトコルによって決定できる要因であり、本発明のシステムおよび方法を変化させる要因ではない。もちろん、広域サポートによって、プロキシがリモートの広域共同作業、たとえばリモート学生との遠距離学習を提供する能力が拡張される。
【0046】
サービス・ディスカバリへのインターフェースは、クライアントまたはプロキシのどちらがサービス・ディスカバリと対話するかに応じて変更することができる。プロキシは、サービス・ディスカバリとの視覚的インターフェースを必要とせず、単純な手続きAPIでよい。対照的に、クライアントのエンド・ユーザは、サービス・ディスカバリへのグラフィカルUIまたはブラウザタイプのインターフェースを有することができる。クライアントとサービス・ディスカバリの間の対話の詳細は、やはり、本発明の範囲を超える。必要なのは、そのような対話が存在し、クライアント・デバイスを登録でき、リストされたプロキシまたはセッションをクライアントに返せることである。
【0047】
更新データ配送
更新されたデータが生じるたびに、そのデータを、すべてのブラウザおよび、スピーカまたはテレビジョン画面のようなデバイスにプッシュし、その結果、誰もが見るものについて同期化されるようにしなければならない。しかし、変更が、クライアント側で必要になってはならず、マルチデバイス・ウェブ・ブラウズを機能させるためにプログラムを実行する必要があってもならない。その理由の一部は、Palm Pilot*などのいくつかのデバイスが、マルチスレッド式ではなく、その結果、これらのデバイスでデーモンを稼働させることができないからである。したがって、ウェブ・ブラウザの現在の特徴だけを使用して、それらにデータをプッシュすることを試みることが好ましい。2つの手法すなわちサーバ・プッシュまたはクライアント・プルのいずれかを使用して、エンド・ブラウザにデータを送信することができる。サーバ・プッシュでは、サーバが、データを送信し、ブラウザは、そのデータを表示するが、接続をオープンしたままにし、サーバが求める時にはいつでも、サーバが次のデータを送信し、ブラウザがそれを表示し、接続をオープンしたままにする。逆に、クライアント・プルでは、サーバが、「このデータを5秒で再ロードせよ」または「10秒でこの他のURLに行き、ロードせよ」と命じるディレクティブ(HTTP応答または文書ヘッダ内の)を含むデータを送信する。指定された時間が満了した後に、クライアントが、指示されたことを実行する(すなわち、現在のデータを再ロードするか、新しいデータを得る)。
【0048】
クライアント・プルに対するサーバ・プッシュの主な長所は、サーバが、いつどのように新しいデータを送信するかに関する完全な制御を有することである。また、この方法は、新しいHTTP接続を毎回オープンする必要がないので、より効率的になる可能性がある。短所は、オープン接続が、それがオープンされている間にサーバ側のリソースを消費することである。残念ながら、すべての種類のブラウザが同一の特性を有するわけではなく、たとえば、Netscape Navigator*とIE*は、サーバ・プッシュまたはクライアント・プルの実装に同一の技法を使用してはいない。たとえば、サーバ・プッシュ(サーバがブラウザにデータをプッシュできるようにする)を行うために、Netscape Navigatorは、単一メッセージ(またはHTTP応答)に多数のデータ項目を含められるようにする、「multipart/mixed」と称する固有のMIMEタイプに依存する。プッシュされるデータの異なる部分は、定義済みの区切り文字列によって分離される。しかし、IEブラウザは、MIMEタイプを使用せず、したがって、本発明は、この方法を使用してこれらにデータをプッシュすることができない。WinCE*デバイスで使用されるポケットIEについては、完全なHTTP仕様が実施されておらず、クライアント・プル技法を使用できるようにすることができるJavaScriptもサポートされない。
【0049】
したがって、サポートされる特徴の相違に対して、必要なものは、ブラウザの種類ごとに(少なくとも最も一般的なものについて)データをプッシュする異なる方法である。以下の解決策が適用される。Netscape Navigator*の場合、プロキシは、クライアントがNetscape Navigatorを実行していることを見つけた場合に、サーバ・プッシュまたはクライアント・プル・モデルを使用することを決定することができる。サーバ・プッシュ・モデルでは、プロキシとクライアントのデバイスのウェブ・ブラウザとの間に永久的なリンクがオープンされる。このリンクは、エンドブラウザがHTTPヘッダ内でmultipart/mixedのMIMEタイプを受信した時にオープンされる。その後、データを、このパイプを介してウェブ・ブラウザにプッシュすることができる。次のコードに例を示す。
Figure 0003790674
この例では、永久的なリンクは、クライアント・ブラウザが「Content-type multipart/mixed」でメッセージを受信した時に作成される。属性boundaryは、その文字列が、サーバによってプッシュされるデータの区切りに使用されることを示す。したがって、サーバは、クライアントにデータを送信したい時に、boundary文字列を用いてデータを区切り、ヘッダのContent-typeを用いてデータ型を定義する。
【0050】
クライアント・プル方法は、JavaScriptを使用するか、ウェブ・ページを周期的に再ロードできるようにする、Refresh(最新表示)と称する特殊なHTTPヘッダを使用して行われる。したがって、文書がプロキシ側で変更された場合には、新しいコンテンツが、規則的な時間間隔で表示される。特殊なHTTPヘッダは、「Refresh: 3」のような形になる。同一のウェブ・ページが、3秒ごとに最新表示される。
【0051】
エンド・クライアントがIEを実行している場合には、IEの現在のバージョンではサーバ・プッシュがサポートされていないので、クライアント・プル・モデルだけが使用可能である。したがって、クライアント・ブラウザが、規則的にプロキシに照会して、更新を入手しなければならない(JavaScriptまたはHTTP Refreshヘッダを使用する)。
【0052】
Netscape NavigatorおよびIEのためのもう1つの代替案が、プロキシからの通知をlistenし、プロキシによって送信されたURLを有する文書を表示するようにブラウザに指示するアプレットを使用することである。この手法は、隠されたクライアント・プルであり、新しいデータが使用可能になった時について通知を受けるアプレットの存在によってより柔軟にされる。この形では、ページは、規則的な瞬間に最新表示されるのではなく、新しいデータが使用可能になった時に限って最新表示される。同一のことを、Netscape Navigatorの場合にはNetscapeプラグイン、IEの場合にはMicrosoft Active X*コンポーネントを用いて行うことができる。
【0053】
クライアントがポケットIEを実行している(WinCEデバイス)場合、ポケットIEが、完全な版のHTTPを実行せず、Refresh HTTPヘッダを理解せず、JavaScriptまたはJavaを理解せず、サーバ・プッシュをサポートしないので、明白な方法はない。解決策は、HTML文書を表示するAPIを提供する、HTMLビューア・コントロールと称する機能を使用することとすることができる。そのようなシステムでは、プロキシからデータを受信(ソケットを使用して)することができるプログラムを作成でき、HTMLビューアAPIを使用してHTML文書を表示することができる。
【0054】
共同作業の処理
本発明のプロキシベースの解決策を使用してデバイスおよびユーザが共同作業するために必要なステップの具体的なシーケンスを、これから説明する。一般的に言って、図7に示された処理は、プロキシが、ウェブ・ページ内のXMLタグを各ユーザの異なる出力デバイスにマッピングする規則のセットを作成する方法の輪郭を示すものである。概念を明確にするために、共同マルチデバイス・ウェブ・ブラウズ・セッションの正常動作を、4つのフェーズに分割することができる。最初のステップでは、ステップ701に示されているように、ウェブ・ページをXMLで事前にオーサリングしなければならない。ウェブ・オーサリングのステップには、複数のユーザの間の共同作業を助けるXMLポリシ・ファイルの作成を追加的に含めることができる(ポリシ・ファイルには、タグを特権グループにマッピングするデフォルト規則が含まれる)。ウェブ・オーサリングの後に、ステップ720に示されているように、前述のXMLウェブ・ページと、ポリシ・ファイルがある場合にポリシ・ファイルをユーザが要求することによって、プロキシ側でブラウズ・セッションを確立しなければならない。次に、ステップ740に示されているように、新しい潜在的なサブスクライバが、セッションにログ・インし、自分が属する特権グループを識別することによって、すでに確立されているブラウズ・セッションに参加することができる。最後に、確立されたセッションに参加した後に、サブスクライバが、ステップ760で、そのサブスクライバが所有するかアクセスを許可されているエンド・デバイスにXMLタグをマッピングする規則をカスタマイズすることができる。前述のステップのそれぞれを、これから詳細に説明する。
【0055】
ウェブ・オーサリング
共同マルチデバイス・ウェブ・ブラウズでは、ウェブ・サイトの作成者が、図7のウェブ・オーサリング・ステップ701で、XMLウェブ・ページ、それに付随するXSL文書、および、非常に有益であるが任意選択のポリシ文書を含む、複数のXML関係文書を作成することが必要である。ウェブ・ページの記述に使用された従来の言語は、HTMLである。HTMLは、ウェブ・ページのコンポーネントの書式設定を記述する標準化されたマークアップ言語である。ウェブ・ページの内容に無関係に、汎用タグが使用され、このため、人間がHTMLソースを読み、理解することが困難になっている。HTMLタグは、書式設定の意味を有するが、ウェブ文書の一部としてのコンテンツの意味を有しない。その結果、HTMLは、本発明によく適していない。JavaScriptまたはMicrosoft社のJScriptに似たスクリプトを使用することによって、HTMLをより柔軟で豊富にしようと試みる努力がなされているが、現在のHTMLは、ウェブ作成者がポリシ・ファイルを作成する機能を提供することができない。これは、本発明が、HTMLを使用して作成された文書に適用できないと述べているわけではない。実際、本発明を使用して、HTML文書を、異なるユーザ・デバイスでのコンテンツの部分の配布のために文書部分に分割することができる。しかし、ポリシ・ファイルに基づく、文書の分割および異なる特権グループに属するユーザへの選択的なコンテンツの配布の態様は、HTML文書を用いて簡単には実施されない。
【0056】
その代わりに、XMLが、作成者が文書を創る際に必要なタグを構成する言語である。XMLでは、書式設定ではなくセマンティクスが記述され、書式設定は、XSLまたはCSSで記述することができるスタイル・シートを用いて文書に追加される。本発明を実施するためのウェブ・コンテンツのオーサリング言語として、XMLに頼ることが好ましい。ウェブ・コミュニティは、豊富なウェブ・コンテンツを開発する上でのHTMLの限界を意識しており、これが、マークアップ言語としてのXMLへの遷移を始めることを試みる努力の理由である。XHTMLなどのW3提案は、HTMLとXMLの間の互換性を定義する方法を示している。さらに、多数のウェブ・サーバが、すでにウェブ・コンテンツをXML文書として格納しているが、エンド・ユーザに送信する前に、それらのコンテンツをHTMLに変換している。
【0057】
XMLは、その柔軟性に起因して、本発明の実施に非常に適する。すべての作成者が、独自のタグおよび独自のコンポーネントを定義するので、結果の文書を、選択されたデバイスに送信することができる独立のコンポーネントに分割することが非常に簡単である。あるページの独自の名前を有するタグのそれぞれが、そのタグの配送先にすることができる出力デバイスを記述する、それ自体のデマルチプレクス・ポリシを有することが最適である。XMLによって、各タグの名前を一意に定義する能力が提供され、XSLによって、各タグの使用法を定義することができる。さらに、XSL文書は、カスタマイズされたXMLをブラウザがレンダリングできる言語に変換するために、XML対応ブラウザによって必要とされる。このXSL文書によって、XMLからHTML(または、必要であれば別のマークアップ言語)への変換が定義され、これによって、サーバとブラウザの間でプロキシが使用されない場合であっても、XML非対応ブラウザがウェブ文書を処理できることが保証される。
【0058】
図4に示されたスライド・プレゼンテーション用のXMLウェブ・ページの次の例を検討されたい。そのウェブ・ページには、ナビゲーション・ボタン、グラフィカル・スライド、私的メモ、およびオーディオという4つのコンポーネントがあったことを想起されたい。そのようなページの非オーディオ・コンポーネントを記述するのに使用されるXMLファイルは、次のようになる。
Figure 0003790674
この文書は、タイトル(タグ<title>)およびナビゲーション・バー(タグ<nav_bar>)を有するヘッダ部分と、スライド(タグ<picture>)を含むものおよび私的メモ(タグ<notes>)を含むものの2つの本文部分とを有する。
【0059】
これら2つのファイル(XMLおよびXSL)のほかに、作成者は、任意選択として、どのXMLタグをどの特権グループおよびどのデバイスに配布しなければならないかを支配するマッピング規則を定義するポリシ・ファイルを記述することができる。ポリシ・ファイルによってもたらされる大きい利益が、誰がウェブ・プレゼンテーションの何を見るかを制御する能力である。ポリシ・ファイルでは、特権グループが定義され、次に、各特権グループが受信を許可されるXMLタグのサブセットが定義される。作成者は、ポリシ・ファイルを使用して、あるグループがウェブ・プレゼンテーションの部分的なビューだけを受信するように制限すると同時に、セッションへの他のサブスクライバにすべてのアクセス特権を与えることができる。
Figure 0003790674
Figure 0003790674
【0060】
ポリシ・ファイルの重要な責任は、特権グループの定義である。特権グループの背後にあるアイデアは、共同ブラウズ・セッションの参加者のアクセス特権に区別を立てるための機構を提供することである。1つのセッションによって、異なる特権グループにウェブ・ブラウズ・セッションの異なる部分的ビューを提供することができる。ブラウズ・セッションで複数のユーザに提示されるウェブ・ページの作成者は、あるユーザ・グループに、他のグループより高いまたはより低い、あるXMLタグにアクセスする特権を与えることを望む場合がある。上の例では、ポリシ・ファイルによって、共同プロキシを介して学生にオンラインで大学の授業を提示する講師が、学生が提示されるウェブ・ページのそれぞれのタグのサブセットだけを見るように制限できるようになる、すなわち、講師は、学生が私的な覚え書きのメモを見られないようにし(<notes>タグが学生に使用不能)、学生が講義へのナビゲーション制御にアクセスできないようにする(<nav_bar>タグが学生に使用不能)。
【0061】
ポリシ・ファイルは、XML文書の一部とすることができるが、ポリシ・ファイルを、そのポリシ・ファイルを参照するXMLウェブ・ページとは別の第2のファイルにすることが好ましい。別々のファイルを使用することによって、複数のウェブ・ページから同一のポリシ・ファイルを参照できるようになる。たとえば、これは、ウェブ・スライド・プレゼンテーションを構成する作成者が、すべてのウェブ・ページに対して特権グループの同一のセットを定義したいが、ページごとに新しいポリシ・ファイルを書き直したくない場合に役立つことができる。そうではなくて、作成者は、プレゼンテーションの各ページから参照される単一のポリシ・ファイルを記述するのである。同一のポリシ・ファイルを参照するすべてのページが、同一の特権グループを共用する。作成者は、プレゼンテーションの複数のページを横断する間に出会うすべてのXMLタグを、1つのポリシ・ファイルに集める。ポリシ・ファイルを別のファイルにすることに対する代替案は、ポリシ・ファイルの情報を各XMLページに埋め込むことである。しかし、ポリシ・ファイルのメタデータ情報を独自のファイルに分離することによって、作成者が特権グループを更新するのが簡単になる。作成者は、同一の特権グループの同一の埋め込まれた定義を含むウェブ・ページのそれぞれを編集する必要なしに、単に、各ウェブ・ページから参照される1つのポリシ・ファイルを変更する。
【0062】
上で説明した例のXMLページのために開発された、ポリシ・ファイルの例を下に示す。このポリシ・ファイルは、XML文書として構成される。この文書内では、ネームスペースを定義して、このポリシ・ファイルで使用されるタグおよび値を標準化する。以下では、ネームスペース・プレフィックスcmdb(collaborative multi-device browsing)が導入される。前の例に対応するXMLポリシ・ファイルは、次のようになる。
Figure 0003790674
Figure 0003790674
【0063】
作成者がポリシ・ファイル内で使用しなければならないタグおよび属性を標準化するスキーマを定義する必要がある。いくつかの属性に使用される値も標準化しなければならない。たとえば、すべての共同マルチデバイス・プロキシが、特権グループが定義されていることを理解するために、すべての作成者が、標準タグ名「group」を使用することが重要である。例のXMLポリシ・ファイルには、以下の提案される標準タグ名が含まれる:group、device、taglist、undefinedtag_list、media_types、images、およびtext(videoおよびaudioは示されていない)。さらに、各タグは、それ自体の独自の属性を有し、たとえば、groupタグは、属性「name」、「password」、および「input_permitted」を有する。最後に、属性「name」および「password」の値は、標準化する必要がないが、いくつかの属性の値は、作成者が何を意図しているかをプロキシが例外なく理解できるようにするために標準化しなければならず、たとえば、input_permittedは、「yes」または「no」のいずれかにセットされる標準化された値を有しなければならない(そうでなければ、異なる作成者が、true/false、on/off、1/0などを使用することになる)。周知の名前についてはある程度の自由度を設けることができる、すなわち、プロキシは、<device name=”InternetExplorer”>が、デバイス属性IEに言及していることを理解することができる。しかし、他のエンド・デバイスの場合、これはより困難になる可能性がある。その結果、デバイスに言及するための共通の用語に同意することが好ましい。この語彙は、いつでも指定することができ、もちろん拡張可能である。
【0064】
デバイス・タグの属性機能も、作成者がコンテンツ出力デバイスの機能に関する特殊な要件を指定できるようにするために導入することができる。たとえば、<cmdb:device capability=”sound_card”>を使用することができ、これは、それに続くタグのセットを、サウンド・カードを有するデバイス用に送信できることを意味する。機能属性の値を標準化し、その結果、プロキシが、サービス・ディスカバリから検索するものとそれら値を照合できるようにすることが、さらに重要である。プロキシは、各デバイスについてサービス・ディスカバリ・データベースに登録されたさまざまな属性から、デバイスの機能を知る。しかし、機能を記述する標準化された方法がない場合には、プロキシは、この情報を活用することができない。したがって、デバイスは、作成者がサービス・ディスカバリを用いてそれらの機能をリストするのと同一の語彙を使用しなければならない。W3C草案「Composite Capability/Preference Profiles(CC/PP)」は、デバイスの特性のグローバルな標準化を提案することを試みており、これによって、将来に本発明のこの態様を実装することが、より簡単になる可能性がある。
【0065】
セッションによってプロキシにダウンロードされる最初のXMLページに関連する(または、そのXMLページの一部である)初期ポリシ・ファイルによって、特権グループが定義され、したがって、セッションを通じて観察されるタグ・マッピング規則が定義されると仮定する。異なるポリシ・ファイルを有する他のページに遭遇する可能性があるが、初期ポリシ・ファイルによって定義された特権グループおよびタグ・マッピング規則が、後続のポリシ・ファイルより優先される。未定義タグに関する以下の議論では、ブラウズ・セッションがすでに確立されていることと、初期ポリシ・ファイルがそのセッションの最初のXMLページと共にダウンロードされていることを仮定する。
【0066】
ポリシ・ファイルのUndefined_Tags変数は、共同ブラウズ・セッションを確立した最初のウェブ・ページによって参照されるポリシ・ファイル内で定義されていないタグを有するウェブ・ページに講師またはセッション・プレゼンタがアクセスした場合に、未知のXMLタグをどこに送信するかをプロキシに知らせる変数である。セッション・プレゼンタが、初期ポリシ・ファイルの定義に従うウェブ・ページだけにアクセスするように制限することは、厳密にすぎるはずである。その代わりに、セッション・プレゼンタが、初期ウェブ・ページのポリシ・ファイルの有効範囲の外のウェブ・サイトをブラウズする権利を有することを許容することが望ましい。たとえば、ウェブ聴衆にスライド・ショウを提示している講師が、準備された講義のスライドだけではなく、デモンストレーションのために、準備された講義の外部のウェブ・ページも見せたいと思う場合がある。そのようなシナリオでは、セッション・プレゼンタが、事前に定義されたポリシ・ファイルを有しないウェブ・ページ、たとえば、共同ウェブ・ブラウズを意識していない、CNNなどの商業ウェブ・サイトに行き、初期ポリシ・ファイルPFと異なるポリシ・ファイルPF'およびPF"を有する2つの他のウェブ・ページに行く。
【0067】
ユーザは、ポリシ・ファイルを有するウェブ・ページにアクセスせずに、共同ブラウズ・セッションを確立することもできる。この場合、目的は、人間のグループが一緒にブラウズすることを望むが、ユーザの異なるサブセットの特権グループを形式的に定義することに関心がない場合の一般的なシナリオをサポートすることである。しかし、セッション・プレゼンタが、異なるグループが見るものをより形式的に制御する方法を必要とする時には、ポリシ・ファイルによって、同一のウェブ素材の部分的ビューを供給する手段がもたらされる。
【0068】
初期ポリシ・ファイルの有効範囲の外のウェブ・ページへのアクセスを許可した結果として、プロキシが、初期ポリシ・ファイルで定義されていない、未知のXMLタグに出会う。未定義タグを処理するために、Undefined_Tags変数という概念を導入する。Undefined_Tags変数によって、プロキシに、未定義タグを送信する先が指示される。プロキシは、未定義タグに出会った時に、タグの未知の名前に基づいて切り替えることが不可能なので、そのメディア・タイプまたはMIMEタイプに基づいてそのタグを切り替える。セクションmedia_typesが、この目的のためにポリシ・ファイルに含まれる。作成者は、どのタグがどのメディア・タイプに属するかをリストし、このリストは、プロキシが、どのタグがどのmedia_typesからのものであるかを知る方法である。上の例では、ポリシ・ファイルで、タイプtext、images、audio、およびvideoの未定義タグを、アクセスのためにPCベース・ブラウザを使用する講師および学生に送信し、タイプtextの未定義タグだけを、アクセスのためにPDAベース・ブラウザを使用する講師および学生に送信するようにプロキシに指示している。ポリシ・ファイルによって定義されていないタグ名を有するページにアクセスすると、最適でないページのプレゼンテーションがもたらされる。
【0069】
同一のポリシ・ファイルを、複数のウェブ・ページから参照することができる。セッション・プレゼンタは、プレゼンテーション用のウェブ・スライドのシーケンスをオーサリングし、そのスライド・シーケンスの開始ページに、そのプレゼンテーションでアクセスされるすべての後続ページに適用されるポリシ・ファイルへの参照を含めることができる。プレゼンテーションでアクセスされるそれぞれの後続ページは、同一のポリシ・ファイルを参照する。複数のウェブ・ページによって参照されるポリシ・ファイルには、ブラウズ・セッション中に出会うすべてのタグのできる限り完全なリストを含めなければならない。誤ってポリシ・ファイルから省略された未定義タグは、前に述べたUndefined_Tags機構によって捕まえられ、最適でないプレゼンテーションがもたらされる。
【0070】
ポリシ・ファイルには、タグ名のスーパーセットが含まれるので、ポリシ・ファイルによってカバーされる個々のウェブ・ページは、リストされたタグ名の異なるサブセットを使用することができ、したがって、異なる外見を有することができる。現在の例のコンテンツでは、プレゼンテーションの次のスライドで、前に定義されたページの同一のタグ名を再利用するか、タグ名の異なるサブセットを使用し、これによって異なるルックアンドフィールをもたらすかのいずれかを行うことができる。
【0071】
ポリシ・ファイルの有効範囲を拡張して複数のウェブ・ページに適用する理由の1つが、カスタマイズを単純にすることである。各ウェブ・ページで、異なるタグのセットを使用するが、同一の特権グループのセットを使用する場合には、エンド・ユーザが、各ページをダウンロードする際に、新しいマッピングを要求するか作成しなければならない。1セッション内のすべてのタグを単一のポリシ・ファイルに集めることによって、エンド・ユーザが、プレゼンテーションの早期に講義のレイアウトをカスタマイズできるようになる。異なるページで、まだ異なるタグが使用される可能性があるので、集合ポリシ・ファイル内でページによってタグをグループ化し、その結果、エンド・ユーザが、どのタグがプレゼンテーションのどのページに属するかを理解できるようにする機構が必要である。
【0072】
ユーザが、特定のXMLタグにアクセスする特権を有することができるが、そのユーザが、そのXMLタグを処理することができる出力デバイスを有しない場合がありえる。たとえば、あるユーザが、ラウドスピーカのないPDAだけを用いて共同ブラウズ・セッションにアクセスし、そのユーザが、<audio_music>と称するタグにアクセスする許可を有する場合には、そのユーザは、ハードウェア制約が原因で<audio_music>を実際に利用することができない。
【0073】
共同セッションの確立
図7のステップ720を参照すると、新しい共同ブラウズ・セッションは、ポリシ・ファイルなしでセッションを確立することが可能ではあるが、通常は、ポリシ・ファイルがプロキシにダウンロードされる時に確立される。ポリシ・ファイルの追加の長所は、共同ブラウズ・セッション内で、特権グループと称するサブスクライバの異なるグループを定義できるようになり、その結果、プロキシが、XMLタグの異なるサブセットを異なる特権グループに選択的に送信できるようになることである。新しいサブスクライバのそれぞれは、ログイン・パスワードを供給することによって、確立された共同ブラウズ・セッションに参加する。このパスワードによって、そのサブスクライバが、ポリシ・ファイルで定義された特権グループに関連付けられる。パスワードは、電子メールなどのアウト・オブ・バンド機構によって、ユーザに前もって与えられると仮定する。共同ブラウズ・セッションで所望される特権のレベルに応じて、ポリシ・ファイルの一部またはすべてを暗号化することができる。上の例では、ポリシ・ファイルで、「lecturer」および「students」という2つの特権グループが定義され、各グループに関連するパスワードが定義され、各グループが受信を許可されるタグが定義される。ポリシ・ファイルがない場合、これをヌル・ポリシ・ファイルと呼ぶが、プロキシは、デフォルト・マッピング規則を構成することを強制されるが、これは作成者の望みと一致しない可能性がある。
【0074】
正しいログインに続いて、プロキシは、ポリシ・ファイルを調べて、各特権グループ、そのグループの正しくログ・インしたサブスクライバのそれぞれが、受信を許可されるXMLタグを調べる。各特権グループ内で、XMLタグをどこに送信できるかを支配するマッピング規則を、ユーザの出力デバイス/ブラウザに基づいてさらに詳細化することができる。ポリシ・ファイルでは、各XMLタグのメディア・タイプも識別され、これによって、エンド・ユーザが、一意の名前を付けられたXMLタグ(image、audioなど)のそれぞれの目的を理解できるようになる。後で述べるように、タグごとのメディア識別は、出力デバイスへのタグのマッピング規則をカスタマイズしようとするエンド・ユーザを助ける。前述によって、作成者が、さまざまな共通のシナリオを予期するためにデフォルト・タグ・マッピング規則をより柔軟に構成できるようになる。上の例では、講師のラップトップ機を介して教室の大きい映写スクリーンにスライドを提示する講師が、歩き回り、講師の無線PDAを介してプレゼンテーションをリモート・コントロールすることを好むことを、ウェブ・ページの作成者が想定することができる。この場合、上のポリシ・ファイルで、私的メモがラップトップ機に送信されるのではなく、PDAに送信され、その結果、講師が、講義中に室内のどの地点からでもメモを調べられるようになる、デフォルト規則を指定する。第2の例として、講師の教室内にいるのではなく、リモートから講師のセッションに追従している2人の学生がいると仮定する。一方の学生は、接続されたラップトップ機のブラウザを介してセッションに追従し、もう一方の学生は、接続されたPDA、おそらくはクラムトップWinCE*デバイスまたは無線PDAを介して講義に追従する。上の例では、ポリシ・ファイルで、タイトルおよびグラフィカル・スライドだけが、ラップトップ・ブラウザを有する学生に送信され、タイトルおよびトランスコーディングされたグラフィカル・スライドだけが、PDAを有する学生に送信される、デフォルト規則が定義されている。具体的なデフォルト・トランスコーディング・パラメータも、作成者によって与えられる。
【0075】
XMLウェブ・ページが、付随するポリシ・ファイルを有するか否かを判定するために、プロキシは、検索したXMLページを解析しなければならない。プロキシは、ポリシ・ファイルへの参照を見つけた場合に、そのポリシ・ファイルを取り出さなければならない。ポリシ・ファイルは、それ自体のMIMEタイプ、おそらくはtext/policy_fileと共にそれ自体のURLを有することができ、これによって、プロキシにトリガがかけられ、プロキシが、画像と同様に余分なファイルを取り出す。
【0076】
ポリシ・ファイルへの参照を埋め込む手法の1つが、スタイルシート文書がXMLから参照されるのと同じ方法に従うことである。XML文書は、次のタイプの処理情報を用いて、使用するスタイルシートを示す。
<?xml:stylesheet type="text/xsl" href="present.xsl"?>
同じ形で、次のような処理命令を使用することができる。
<?xml-cmdb href = "location of policy file"?>
マルチデバイス・ウェブ・ブラウズ・プロキシは、この命令を認識し、href属性で指定されたアドレスに配置されたファイルを検索する。
【0077】
第3ステージすなわち図7のステップ740で、XMLウェブ・ページの要求によってトリガされる、プロキシ内のブラウズ・セッションが確立される。図8および図9に示されているように、プロキシ内で共同マルチデバイス・ウェブ・ブラウズ・セッションを確立する処理フローには、10個のステップがある。ステップ801で、プロキシが、それ自体をサービス・ディスカバリ・データベースに登録する。プロキシが、活動中になった後に、プロキシは、サービス・ディスカバリ・プロトコルを介してその名前およびIPアドレスを、概念上サービス・ディスカバリ・データベース(SDDB)と称するものに登録する。サービス・ディスカバリ・プロトコルは、(1)プロキシを登録でき、各プロキシ内の各ブラウズ・セッションを登録でき、(2)各デバイスの所有者と共に各デバイスを登録でき、(3)どのプロキシ、セッション、およびユーザ・デバイスが、すでにSDDBにそれ自体を登録したかに関する照会に応答できなければならない。概念上、サービス・ディスカバリ・プロトコルは、本質的に、書き込まれ、照会されるデータベースとして実行する。しかし、どのサービス・ディスカバリ・プロトコルが使用され、そのサービス・ディスカバリ・プロトコルがどのようにしてそのSDDBを実施するかの詳細は、本発明の実施にとってクリティカルではない。たとえば、上で述べたように、SDDBは、集中データベース・レジストリとして、または分散データベース登録方式として、実施することができる。
【0078】
次のステップである図8の802には、セッション作成者がそのブラウザをサービス・ディスカバリ・データベースに登録することが含まれる。セッション作成者は、発信元のブラウザ対応コンピュータをSDDBに登録することを要求する登録メッセージをSDDBに送信する。デバイス(この場合は発信元のコンピュータ)の登録は、デバイスのIPアドレス、デバイスの名前、デバイス所有者の名前、デバイスのメディア・デコード機能(MPEGビデオ、.wav*、MP3*、RealVideo*、WindowsMedia*、JPEG*、GIF*、HTML 4.0、XMLなど)、およびデバイスのアクセス・モード(デバイス・ドライバに類似する、そのデバイスと通信するのに用いられるプロトコル)の供給を必要とする。登録メッセージには、すべての登録されたプロキシおよびそれらの登録されたセッションのリストの要求も含まれる。
【0079】
登録の後に、セッション作成者は、ステップ803で、ブラウズ・セッションを作成するプロキシを選択し、ステップ804で、「セッション作成」メッセージをそのプロキシに送信する。具体的に言うと、ブラウザ対応コンピュータの登録の後に、SDDBが、使用可能なプロキシおよびそれらの進行中のセッションのリストを含む応答をセッション作成者に返す。このリストは、単純なハイパーテキスト・インターフェースをセッション作成者に供給することができ、セッション作成者が、接続したいプロキシを手作業でクリックすることができるように記述されなければならない。リンクは、プロキシがそれ自体をSDDBに登録した時にプロキシによって供給された定義済みウェブ・ページを指す。このウェブ・ページは、新規セッション確立フォームになり、ユーザがプロキシ名をクリックする時に、この定義済みフォームの要求がプロキシに送信され、プロキシが、その文書をセッション作成者に返す。このフォームのおかげで、ユーザは、新しいウェブ・ブラウズ・セッションを作成することができるようになる。ブラウザが、プロキシ・フィールドの自動更新をサポートする場合には、プロキシ名のクリックによってブラウザがリダイレクトされ、その結果、ブラウザが所望のプロキシを指す(すべてのブラウザHTTP GET要求がプロキシを介してルーティングされる)ならば有用である。しかし、ブラウザが自動リダイレクションをサポートしない場合には、セッション作成者が、手作業でプロキシ・パラメータをブラウザに転送しなければならない、すなわち、ユーザが、「Edit Preferences(設定)」(Netscape Navigator)または「Tool->Internet Options(ツール→インターネット・オプション)」メニュー(Internet Explorer)のいずれかを編集し、プロキシ・フィールドに適当なアドレスおよびポートを設定しなければならない。この時点で、ブラウザが、次のステップすなわち、選択されたプロキシを介するXMLウェブ・ページの要求のために正しくセット・アップされる。
【0080】
プロキシの選択にユーザが手作業でかかわることは、プロキシの自動化された選択およびブラウザの自動化されたリダイレクションと比較して望ましくないように見える可能性がある。手作業のかかわりは、実施が複雑にならないという長所を有し、これに対して、自動選択およびリダイレクションは、サービス・ディスカバリ・プロトコルに対する追加要件を課す可能性がある。たとえば、SDDBへの登録メッセージに、その最も単純な形態で、登録済みプロキシ・リストおよび進行中セッション・リストの両方に関する広い照会として解釈されるサービス・ディスカバリ要求が組み込まれる。そのような広いサービス・ディスカバリ要求を与えられたSDDBは、要求元ユーザが、プロキシ・リストだけに興味を持っているセッション作成者であるか、進行中のブラウズ・セッションの1つへの加入だけに興味を持っている一般ユーザであるかを知ることができない。サブスクライバの場合には、サブスクライバによる手作業の介入が存在しなければならず、このサブスクライバは、セッションを選択するために、進行中のセッションの表示されたリストを走査することができなければならない。したがって、要求元デバイスのユーザがサブスクライバである可能性があることを予期して、両方のリストが、SDDBによって返されなければならず、要求元デバイスでサービス・ディスカバリ・プロトコルによって表示されなければならない。セッション作成者であってサブスクライバでないユーザは、プロキシを選択するために自動化されたアルゴリズムを適用することが可能な場合であっても、手作業でプロキシを選択することを強制される。プロキシの自動化された選択を完全にサポートするためには、サービス・ディスカバリ・プロトコルに対する追加要件を課し、その結果、サービス・ディスカバリ・プロトコルが、登録要求の2つのタイプすなわち、セッション開始元からの要求(プロキシのリストだけを要求する)とサブスクライバからの要求(ブラウズ・セッションのリストだけを要求する)を区別できるようにする。この形で、SDDBは、サブスクライバであるユーザを登録する場合にセッション・リストだけを選択的に返し、セッション開始元であるユーザを登録する場合にはプロキシ・リストだけを選択的に返すことができる。その結果、自動的な方法(プロキシ選択およびブラウザ・リダイレクション)を、手作業の方法(セッション選択)から分離することができる。自動化機構は、使用可能なプロキシの受信されたリストの手作業の表示をオーバーライドし、抑止するはずである。
【0081】
一般に、セッション作成者は、複数のデバイス、おそらくはPDAならびにラップトップ機およびステレオ・システムを所有し、登録することができる。唯一の要件は、セッション作成者が、プロキシを介してXMLウェブ・ページを要求することによって共同ブラウズ・セッションを開始することができる、少なくとも1つのブラウザ対応HTTPデバイスを有することである。例を単純にするために、図6には、1つのデバイスすなわちブラウザをサポートすることができるラップトップ機だけを有するセッション作成者を示した。
【0082】
ステップ805で、プロキシが、セッション作成者にセッション作成メニューを送信し、セッション名およびセッションの最初のXMLウェブ・ページのURLを要求する。セッション作成者が、プロキシを選択し、それをクリックした時に、要求がプロキシに送信され、そのプロキシが、新規セッション確立フォームを返す。ユーザは、ステップ806で、セッションの名前、取り出される最初のウェブ・ページのURL、および、潜在的に、パスワードを指定する。パスワードは、セッション名が事前に予約されている場合に使用される。セッション名を事前に予約するとは、セッション作成者が、前もって(たとえば数日前に)使用するセッション名を指定し、それにパスワードを関連付けたことを意味する。この関連セッション名−パスワードは、セッションを保護する目的で、システム管理者が共同マルチデバイス・ウェブ・ブラウズ・プロキシに格納することができる。その形で、事前に格納されたパスワードを知っている人だけが、この名前を有するセッションを確立することができる。これによって、誰も、プレゼンタが所望するウェブ・ページと異なるウェブ・ページを指す、この名前を持つセッションを作成できないことが保証される。セッションの事前予約のこのアイデアは、家庭のシナリオではなく、スライド・プレゼンテーションの場合に有用である。
【0083】
プロキシは、完成したフォームを受信した時に、ステップ807で、このセッション名に関するパスワードを有するかどうかを判定する。そうである場合には、プロキシは、格納されたパスワードを、ユーザが指定したパスワードと比較する。ユーザが入力したパスワードが一致しない場合には、要求を除去する。しかし、パスワードが正しい場合、または、このセッションに関する事前に格納された情報がない場合には、プロキシは、ステップ808で、適当なウェブ・サーバからウェブ・ページを取り出すことができる。プロキシは、要求がそこから来たソケットおよびIPアドレスを記憶し、ウェブ・ブラウザから返されたファイルとそれらを関連付ける。
【0084】
セッション作成フォームで指定されたURLに対応するページ(XMLまたはHTML)が、プロキシに到着した時に、プロキシは、ステップ809で、セッションを確立するためにそれを処理する必要がある。それがHTML文書である場合には、そのセッションは、上で述べたようにポリシ・ファイルを有しないので、行うことができる文書部分の分割は、media_typesに制限され、異なる特権グループの、準備のできた実装はない。XML文書の好ましい実施形態では、XML文書を解析して、他のどの文書を取り出さなければならないかを判定する必要がある。通常は、XSL文書も取り出す必要がある。さらに、ページに、「ポリシ」ファイルへの参照が含まれ、ポリシ・ファイルを取り出す必要があることが示される場合がある。
【0085】
解析されたXMLページにポリシ・ファイルへの参照がある場合には、ステップ810で、プロキシが、ウェブ・サーバからポリシ・ファイルをダウンロードする。プロキシは、ポリシ・ファイルを使用して、特権グループに基づく、ウェブ・ページのさまざまなコンポーネントを異なるユーザおよび出力デバイスにディスパッチする規則を確立する。プロキシは、次の3つのシナリオの1つに出会う:1)ポリシ・ファイルが、ウェブ・ページによって参照され、そのポリシ・ファイルですべての特権グループのパスワードが定義される、2)ポリシ・ファイルが参照されるが、いくつかの特権グループのパスワードが定義されていない、3)ウェブ・ページにポリシ・ファイルへの参照が含まれない。
【0086】
ポリシ・ファイルにアクセスする際に、プロキシは、グループおよび各グループが何を受信することを許可されているかに関する一般的な情報だけを有する。プロキシは、まだ特定のユーザまたはデバイスに関するポリシを作成していない。ユーザごとの許可されるXMLタグの許可される出力デバイスへの完全なマッピングを作成するためには、プロキシは、各ユーザが、パスワードを介してログインし、所与の特権グループのメンバとしてユーザ自身を識別し、各ユーザが、彼らの出力デバイスを登録し、その結果、ウェブ・マルチメディア(この登録はすでに行われている可能性があるので図示せず)を受信するのに使用可能なデバイスをプロキシが知るようにすることを必要とする。
【0087】
ステップ811の判定で、ポリシ・ファイルが存在し、ステップ812の判定で、そのポリシ・ファイルですべての特権グループのパスワードが定義されている場合に、プロキシは、ポリシ・ファイルを分析して、可能な特権グループの値およびそれに関連するパスワードおよび許可を識別する。ポリシ・ファイルによって、誰が何を見、どのデバイスが文書のどの部分を受信するかを制御することが可能になる。それを行うために、ポリシ・ファイルで、特権グループと、各特権グループがXMLタグのどのサブセットの受信を許可されるかを定義する。ポリシ・ファイルは、さらに、アクセス・デバイスのタイプに従って、各特権グループ内でより微細な粒度でタグをデマルチプレクスできるようにする詳細を提供することができる。したがって、セッションを確立するために、プロキシは、作成者によって定義された特権グループ値、それに関連するパスワードが存在する場合にそのパスワード、およびこのグループについて許可されるタグのリストを分離する必要がある。プロキシによる規則の作成および各加入ユーザに文書のどの部分を送信できるかのマッピングは、この情報を使用することによって行われる。ステップ813で、パスワードを検証した後に、プロキシは、ポリシ・ファイル情報を適用して、ステップ814で文書を文書部分に分割し、ステップ815でこれらの部分を配送のためにマッピングすることができる。ユーザが出力デバイスを指定した場合には、プロキシは、クライアント位置への配送のために文書部分をマッピングする際に、この情報も「調べる」。
【0088】
ステップ811の判定でポリシ・ファイルがない場合、ユーザへのタグのマッピングを、なんらかのヒューリスティックを使用して、プロキシによって生成しなければならない。すべてのタグが、基本的に未定義であるから、デフォルトは、メディア・タイプまたはMIMEタイプに基づいてタグを切り替えることになる可能性が高い。この場合は、セッション作成者によってHTML文書が要求される場合と同一である。実際、XML文書がポリシ・ファイル参照を有しない場合、このXML文書は、XSL文書の助けを得てHTML文書に変換されなければならない。そうでなければ、タグがプロキシに対して何も意味しないので、まったくデマルチプレクスを行うことができない。HTML文書の場合、行うことができる唯一の解析は、メディア・タイプに基づくものであり、画像またはオーディオを文書の残りから分離することができ、これらの異なるメディア・タイプを異なるデバイスに送信する申し出が、ユーザに対して行われる。さらに、ポリシ・ファイルがないか、ユーザの特権レベルを検証するためのパスワードがない場合には、1つのデフォルト特権グループだけが存在する。したがって、パスワードが定義されていないので、この単一の特権グループへのアクセスはオープンである。したがって、このセッションに参加するすべてのユーザが、アクセスを許可され、自分のデバイスの間での、ウェブ・コンテンツのメディアタイプ・ベースの分割しか選択できない。プロキシの役割は、ステップ816で、文書をメディアタイプ文書部分に分割することと、ステップ817で、ユーザ・デバイス情報に従って、これらの部分を配布のためにクライアント出力デバイスにマッピングすることになる。
【0089】
プロキシが、任意のURLを受信した場合には、プロキシは、新しいセッションを確立しなければならないか否かを判定しなければならない。これは、セッション作成者がセッションを確立した後であっても、セッション作成者が、プレゼンテーションの一部でないページまたは同一のウェブ・サイトの一部でないページをブラウズすることができなければならないという発想である。2つのサイトまたは2つのプレゼンテーションの間の相違は、これらのページのオーサリングに使用されるタグと、その結果としてこれらが参照するポリシ・ファイルである。ユーザが、自分のブラウザから任意のウェブ・ページまたはURLを要求する時には、プロキシは、所望されたページを、既存のセッション内で表示しなければならないのか、新しいセッションの最初のページとして表示しなければならないのかを判定する必要がある。第1に、要求は、新しいセッションの確立を望むセッション作成者から来る可能性がある。第2に、要求は、既存のセッション内でウェブ・ページを表示したいと思っているだけの、すでに確立されたセッションのリーダーから来る可能性がある。第3に、要求は、現在のセッションを去り、新しいセッションを始めることを望む、既存のセッションのリーダーから来る可能性がある。具体的に言うと、第2および第3の可能性が、曖昧であり、プロキシを混乱させる可能性がある。この曖昧さは、次に説明する手順によって解決される。
【0090】
プロキシが任意のウェブ・ページの要求を受信した時に新しいセッションを確立するかどうかを判断するために、プロキシは、ポリシ・ファイルの比較に基づく手順を使用する。要求されたウェブ・ページのポリシ・ファイルが、セッションの確立に使用された最初のウェブ・ページの初期ポリシ・ファイルと一致する場合には、プロキシは、そのウェブ・ページを同一のブラウズ・セッション内で表示する。セッションが最初に確立される時に、プロキシは、その最初のページによって参照されるポリシ・ファイルの名前を記憶し、ポリシ・ファイル(または、ポリシ・ファイルが参照されていない場合には、ヌル・プレースホルダ)をキャッシュ記憶する。同一の初期ポリシ・ファイルを参照する後続のウェブ・ページのすべてが、キャッシュ記憶されたポリシ・ファイルの特権グループおよびタグ名を再利用し、同一のブラウズ・セッション内で表示される。異なるポリシ・ファイルがアクセスされるか、要求されたウェブ・ページについてポリシ・ファイルが存在しないので、一致が存在しない場合には、プロキシは、新しいセッションをオープンしなければならないかどうかをユーザに尋ねることを強制される。曖昧さの問題は、要求元のユーザによって解決され、このユーザは、未知の要求されたウェブ・ページを、既存のセッション内で表示しなければならないのか、新しいセッションを確立するのに使用しなければならないのかを示す。
【0091】
上の手順の定義は、新しいセッションを確立するかどうかを判定するために、現在のポリシ・ファイルを既存セッションの初期ポリシ・ファイルと比較するので、再帰的であるように見える可能性がある。初期ポリシ・ファイルによって定義される既存セッションが、確立されるものと同一の手順に従う場合に、その既存セッションはどうなるかという疑問が生じる。解決策は、いくつかのセッションを、異なる経路によって作成することである。上で注記したように、セッション開始には3つの代替案があるが、後者の2つだけが曖昧さを引き起こす。第1の代替案(すなわち、セッション作成者が、プロキシに未知であり、要求されたURLも未知である)について、初期ポリシ・ファイルと共に新しいセッションを確立しなければならないことは明白である。セッション開始の第1の代替案が、再帰を停止させ、新しいセッションの確立のブートストラップになる。
【0092】
ページ要求(この段落の残りでは、「ページ要求」は、初期ポリシ・ファイルと一致しないポリシ・ファイルを有するウェブ・ページの要求と同義である)が行われた後に新しいセッションの確立に関してユーザに照会するという事後手法の代替案は、ページ要求を行う前に、ユーザに、そのユーザが新しいセッションを所望することをプロキシに明示的に知らせるようにさせるという先験的手法である。エンド・ユーザは、次に要求するURLが、新しいセッションの確立に使用されなければならないことをプロキシに知らせる。しかし、先験的にプロキシに明示的に知らせるためには、メッセージを生成するクライアント側コードが必要である。これは、たとえば、プロキシに通信するのに使用されるコントロールを含む、ウェブ・ページ内のフレームまたはアプレットによって提供することができる。コントロール・フレームを挿入するために各ウェブ・ページを再度生み出すことには、ウェブ・ページのレイアウトが変化するというそれ自体の危険性が伴う。特に画面の小さいPDAの場合に、フレームおよびアプレットのサポートに依存することはできない。対照的に、ページ要求が行われた後に、ユーザに新しいセッションを確立するかどうかを尋ねる手法は、クライアント側コードを必要とするのではなく、単に、ブラウザによりサポートされるフォームを必要とし、これはPDAであっても一般的である。ウェブ・ページは変更されず、ウェブ・ブラウザとのユーザの対話は変更されない、すなわち、ユーザは、通常の対話を継続するか、ポイント・アンド・クリックを行うか、新しいURLを入力する。ユーザに要求される処置は、ユーザに対する画面プロンプトとして送信される。共同ブラウズ・プロキシとの対話は、自己誘導式であって、ユーザが知る必要のあるすべてのものが、画面プロンプトに含まれる。対照的に、先験的にプロキシに明示的に知らせる手法では、共同ウェブ・ブラウズ・プロキシを使用するためにユーザがブラウザと対話する方法を、ユーザが変更する必要がある、すなわち、ユーザは、新しいURLをポイント・アンド・クリックする前に、新しいセッションを明示的に要求しなければならないことを知る必要がある。この手法は、初期ポリシ・ファイルに従わないウェブ・ページをユーザが要求するたびに、おそらく高い頻度で迷惑なポップアップ・メニューがもたらされるという短所を有する。このポップアップ効果は、複数のウェブ・ページに適用されるようにポリシ・ファイルの有効範囲を拡張することによって、軽減することができる。さらに、下で説明する任意選択の機構を使用して、ポップアップ照会を完全に抑止することができる。この任意選択の機構は、明示的手法と同一の短所を有する、すなわち、ユーザが、プロキシと対話する方法について事前に知識を有することを必要とする。
【0093】
ページ要求の後に新しいセッションの確立に関してユーザに照会するという事後手法は、セッション・リーダーがセッション確立照会を抑止できるようにする任意選択の機構を用いて補足することができる。これは、初期ポリシ・ファイルの有効範囲の外の多数のウェブ・ページにアクセスするセッション・リーダーに、セッション確立照会が送信される頻度を最小にするのに役立つ。1つの解決策は、セッション確立照会を明示的に抑止またはイネーブルするオン/オフ・ボタンまたはチェック・ボックスを設けることである。チェック・ボックスが、セッション確立照会を抑止するようにセットされているブラウズ・セッション中は、セッション・リーダーは、プレゼンテーション中に繰り返される照会で悩まされない。もちろん、これらの照会が抑止されている間は、セッション・リーダーは新しいセッションを確立することができなくなる。初期ポリシ・ファイルの有効範囲の外のウェブ・ページに関する要求のそれぞれが、既存のブラウズ・セッション内でそのウェブ・ページを表示する要求であると仮定される。Undefined_tags機構は、未知のポリシ・ファイルまたは欠けているポリシ・ファイルをオーバーライドする。照会が再びイネーブルされた後に、セッション・リーダーは、初期ポリシ・ファイルの有効範囲の外のウェブ・ページを要求することができ、その後、新しいセッションの確立に関する照会を受ける。このオン/オフ機能は、ブラウザが保護されたウェブ・ページに出会う時にしばしば表示されるポップアップ・メニューの抑止に似ており、ブラウザにダウンロードされるユーザ・カスタマイズ・アプレットと共に含めることができる。セッション・リーダーのブラウザが、ダウンロード可能なアプレットまたはクライアント側カスタマイズ・コードをサポートしない場合には、デフォルト設定を、照会をイネーブルするようにセットしなければならない。照会の明示的抑止は、事後セッション確立機構と相補的であり、したがって、共同ウェブ・ブラウズの正しい機能のために絶対に必要ではない。
【0094】
図10に、URLを受信した時にセッション確立を判定するためにプロキシによって使用される最終的なアルゴリズムを要約した擬似コードを示す。このアルゴリズムは、考慮しなければならない多数の特殊な場合に起因して、前に輪郭を示したものより複雑である。図10では、「現在のポリシ・ファイル」が、現在要求されているウェブ・ページ/URLに関連するポリシ・ファイルを指す。「既存セッション内でページを表示する」は、要求されたページに基づいて新しいセッションを確立するのではなく、既存のブラウズ・セッションのすべてのサブスクライバに、要求されたウェブ・ページを送信することを意味する。
【0095】
この段階で、プロキシは、要求されたウェブ・ページのために新しいセッションをセット・アップするか否かを知っている。したがって、プロキシは、次の、ユーザ・ログインに進んで、新しいセッションを開始するか、そのステップを飛び越えて、単に要求されたウェブ・ページを共同ブラウズ・セッションのサブスクライバに配布するかのいずれかを行う。
【0096】
図11に、前述のステップ807の「ユーザ許可」を実行するためにプロキシが作成するカスタマイズされたログイン・ページを示す。プロキシは、このログイン・ページに、すべての可能な特権グループのリストを含め、その結果、ユーザが自分の属する特権グループを選択できるようにする必要がある。プロキシは、このページを動的に作成した後に、これからセッション作成者と呼ばれるユーザに送信する。セッション作成者に送信されるハイパーテキストHTML/XMLログイン・インターフェースを、図11に示す。このインターフェースは、合成物であり、インターフェースのすべてのフィールドが、各セッション作成者に示されるわけではない。プロキシは、ログイン処理によって供給されるパスワードを使用して、セッション作成者を特権グループに分類し、ユーザ名を使用して、セッション開始元の登録された出力デバイスに関してSDDBに照会する。
【0097】
ログイン・ページは、セッション確立に関する下記の条件すなわち、(条件i)ユーザがプロキシに未知の場合、または(条件ii)ユーザがプロキシに既知(進行中のセッションに加入)であり、ユーザが加入してる進行中のセッションの初期ポリシ・ファイルと一致しないポリシ・ファイルを有するURLを要求し、そのユーザが、新しいセッションを確立するかどうかを尋ねるプロキシからの質問に「はい」と応答し、その後、セッションを確立した場合のどちらかの下で、セッション作成者に送信される。図8および図9のアルゴリズムでは、初期ポリシ・ファイルがセッション確立中に存在した場合と存在しなかった場合を区別するが、条件iiでは、一般性を失わずにその区別を無視することができ、両方の場合を1つに合体させることができる。ログイン・ページは、セッション確立に使用される条件のセットに応じて変化する。
【0098】
セッション作成者は、ログイン・ページのルック・アンド・フィールに影響する3つの追加の可能性すなわち、(条件a)現在のポリシ・ファイルが、要求されたウェブ・ページによって参照され、すべての特権グループのパスワードを定義する、(条件b)現在のポリシ・ファイルが、参照されるが、一部の特権グループのパスワードを定義しない、(条件c)ウェブ・ページが現在のポリシ・ファイルへの参照を含まない、に出会う。
【0099】
ログイン・ページの最初のフィールドでは、セッション作成者に、そのユーザ名を識別するように要求する。このフィールドは、セッション作成者がプロキシにとって新規である時(条件i)に、唯一の絶対に必要なフィールドであり、セッション作成者が進行中のブラウズ・セッションの一部である、すなわち、セッション作成者の識別がすでに既知である時(条件ii)には、技術的には必要でない。条件iの場合、プロキシは、セッション作成者と、SDDBにそのユーザ名の下で登録された出力デバイスとを一致させるために、セッション開始元のユーザ名を知る必要がある。供給されるユーザ名は、セッション作成者のデバイスと共に登録されたユーザ名と同一でなければならない。ユーザ名に相違がある場合、プロキシは、デバイスをその正しい所有者に関連付けることができなくなる。条件iiの場合、プロキシは、ユーザ名フィールドを送信するというオプションを有する。この現在の意図は、プロキシがすでにセッション開始元の過去のユーザ名を知っている場合であっても、このフィールドを表示することである。セッション作成者が、過去のセッションから去って新しいセッションを確立する間に、識別を変更したい状況が存在する可能性がある。もちろん、セッション作成者は、新しいユーザ名の下でそのセッション作成者が所有するデバイスを再登録しなければならない。
【0100】
第2のフィールドでは、ユーザに、パスワードの同等物を供給するように要求し、その結果、プロキシが、セッション作成者が属する特権グループを識別できるようにする。パスワードと同等とみなされるものは、条件a、b、およびcに応じて変化する。現在のポリシ・ファイルで定義されているすべての特権グループへのアクセスが、パスワードによって保護されている場合(条件a)、ログイン・ページには、パスワード・フィールドだけが表示される。しかし、特権グループの一部が、パスワードによってアクセス保護されていない場合(条件b)、ログイン・ページには、パスワード・フィールドと、パスワード保護されない公開特権グループのリストのハイブリッドが提示される。このハイブリッド・シナリオの例が、図11に示されており、この図では、スライド・プレゼンテーションの公開特権グループ「lecturer」および「students」が、パスワード保護されておらず、少なくとも1つの他の特権グループが、パスワード入力を必要とする。セッション作成者が、非パスワード保護グループのメンバとして参加することを望む場合には、セッション作成者は、単に所望の公開グループのボックスをチェックする。そうでない場合には、セッション作成者は、適当なパスワードを入力する。最後に、要求されたウェブ・ページに関連する現在のポリシ・ファイルがない場合(条件c)、プロキシは、1つの公開特権グループだけを作成する。その結果、1つの特権グループだけが、チェックボックスと共にリストされ、パスワード・フィールドは表示されない。
【0101】
パスワードは、スライド・プレゼンテーションの最初のウェブ・ページの作成者からの電子メールなど、なんらかのアウト・オブ・バンド方法を介して、セッション作成者に前もって知らされることが仮定されている。しかし、聴衆のすべてのメンバが、かならず先験的に既知ではない場合があり、その結果、事前のパスワード配布を、必ず仮定することはできない。たとえば、進行中のブラウズ・セッションへの加入を希望する一部の学生が、自分のパスワードを忘れた、パスワードを一度も受け取っていない、またはそのクラスに入ったばかりであるという可能性がある。これらの場合には、公開のパスワード保護されない特権グループのサポートによって、すべてのサブスクライバがパスワードを知ることを要求せずに、そのような学生が進行中のブラウズ・セッションに簡単に参加できるようになる。
【0102】
第3のフィールドは、セッション作成者がセッションを私的または単一ユーザに保つことを望む場合に、セッション作成者がチェックすることができるボックスである。このボックスがチェックされている場合には、そのセッションはSDDBに公示されない。この場合には、セッション作成者が、本発明のプロキシのマルチデバイス機能を利用することを望むが、共同機能を望んでいない。要求されたウェブ・ページによるポリシ・ファイルへの参照(条件aおよびb)によって、公開共同セッションをセット・アップしなければならないことが暗示されると思われる場合であっても、ポリシ・ファイルの存在が、必ず新しいセッションを強制的に公開または共同にするという制約を課さないことが好ましい。要求されるウェブ・ページがポリシ・ファイルを参照するかどうかに無関係に、セッションの公開/私的性質を決定するために、完全な柔軟性がセッション作成者に与えられる。
【0103】
第4のフィールドは、セッション作成者が、後続のウェブ・ブラウズ・セッション中に新しいセッションを形成するかどうかを尋ねる照会のすべてを即座に抑止することを望む場合に、セッション作成者がチェックすることができるボックスである。そのような照会は、条件iiがあてはまる時すなわち、セッション・リーダーが、セッションの確立に使用された初期ポリシ・ファイルと異なるポリシ・ファイルを有するさまざまなウェブ・サイトを訪れる時に、生成される。このオプションは、頻繁に初期ポリシ・ファイルの有効範囲の外に出るユーザが、繰り返される照会を即座に抑止できるようにするために、ログイン・ページ内に設けられる。ユーザは、ログイン・フォームに書き込み、プロキシにサブミットする。
【0104】
データ・プッシュ処理が、この段階で初期化される。Netscape NavigatorおよびIEの場合、データ・プッシュは、クライアントの計算機にダウンロードされるアプレットを使用することになる。このアプレットは、ログイン・ページがユーザに送信される時にダウンロードされる。これは、この時点から、プロキシがブラウザにデータをプッシュできることを意味する。
【0105】
プロキシは、セッションを確立しなければならない(セッション作成者が、このセッションを確立することを許可された)ことを知っているので、そのセッションをサービス・ディスカバリに登録することができ、その結果、そのセッションが公示され、人々がそのセッションに参加できるようになることに留意されたい。プロキシは、ポリシ・ファイルに含まれる情報を使用して、このセッションをサービス・ディスカバリに登録する。プロキシは、アクセス・モードとしてURLを供給してこのセッションを登録する。これは、プロキシがポリシ・ファイルから作成する動的ログイン・ページのURLであり、この動的ログイン・ページでは、このセッションの特権グループのリストが指定され、ユーザのパスワードおよび名前が要求される(図11)。サービス・ディスカバリ・データベースへの登録に使用されるAPI機能呼出しは、次のようになる(具体的な呼出しは、選択されたプロトコルに依存する)。
register(name, access_url, proxy_@);
ここで、nameは、セッションを識別し(たとえばトランスコーディング・プロキシ)
access_urlは、登録のためにプロキシによって作成されるフォームのURLであり
proxy_@は、セッションをホスティングするプロキシのアドレスである
このステップの後に、サービス・ディスカバリは、その室内で使用可能であり、エンドユーザが参加することのできるサービスとして、そのセッションをリストする。登録されたセッションは、図6のSDDBの右側の箱の右欄に現れる。
【0106】
サービス・ディスカバリは、登録されたセッションを「告知解除」する能力を許容しなければならない。たとえば、ユーザが、「keep new session private」をクリックする場合に、そのセッションを、SDDBのセッション・リストから取り除かなければならない。
【0107】
プロキシは、ユーザによって登録されたデバイスに関する情報も検索する。具体的に言うと、プロキシは、ユーザがセッションを確立するのに使用しているデバイスのアクセス・モードを知る必要がある。この場合のアクセス・モードは、セッション作成者が使用してるブラウザのタイプ(IE、Netscape Navigator、Pocket IE)である。この情報は、プロキシによって、プロキシがユーザに送信しなければならないデータのフォーマットを知るために使用される。たとえば、ブラウザがIE 5である場合には、IE 5はXML対応なので、プロキシは、直接にXML文書を送信することができるが、ブラウザがNetscape Navigatorである場合には、Netscape Navigatorの現在入手可能なバージョンがXMLを理解しないので、HTML文書を作成しなければならない。
【0108】
プロキシは、ユーザが所有するデバイスについて知る必要があるが、室内で使用可能な公共インフラストラクチャについても知る必要がある。プロキシは、この情報を使用して、パーソナライゼーション・フォームを設計して、ユーザが、見ることを許可されるものの各部分が送信される出力デバイスを選択するように、ユーザが、データのより詳細な分割を選択できるようにする。これらのデバイスのそれぞれについて、プロキシは、それにデータを送信する方法を知る必要がある。たとえば、ユーザは、Palm Pilot*を使用してプロキシと通信することができ、したがって、規則ファイルから、プロキシがこのエンドデバイスにMPEGファイルを送信してはならないことが示される可能性がある。しかし、プロキシがSDDBに照会する時に、SDDBは、誰でも使用することができる公共ディスプレイがその部屋にあることを返す。したがって、プロキシは、MPEGタグを公共ディスプレイに関連付けることができるパーソナライズ・フォームを作成することができる。SDDBは、このディスプレイがデータのストリームまたはMPEGファイルのどちらを期待するかなど、このディスプレイにアクセスする方法に関する情報も送信しなければならない。
【0109】
プロキシがこの「セッション」について知った後には、このセッションに関連するタグ、このセッションに関連するグループ、グループへのタグのデフォルト・マッピング(より正確には、各グループ内のソフトウェア/ハードウェア・デバイスへのタグのデフォルト・マッピング)が既知になる。プロキシは、SDDBにセッションを告知しており、1人のユーザすなわちセッション作成者がログ・オンしている。次に、プロキシは、個々のユーザ、各ユーザが属するグループ、および各ユーザに関連するデバイスを見つける。
【0110】
プロキシは、元の文書のどのサブセット(どのタグ)を、セッション作成者が受信することができるかを(彼の特権グループおよび彼が使用しているデバイスを与えられて)知る。したがって、プロキシは、このユーザのためにカスタマイズされたXSL変換ファイルを作成することができる。このファイルによって、元のXMLファイルから、ユーザが受信を許可され、受信することができるタグだけが選択される。その後、どのエンドデバイスが文書の宛先であるかに応じて、その文書をHTMLに変換するか、エンドユーザに直接に送信することができる。使用されるフォーマットは、上で述べたように、ユーザのデバイスのディスカバリ中に知られる。この時点で、プロキシは、ユーザが見ることを許可されている部分的ビューを送信することができる。
【0111】
既存セッションへの参加
図7に示された処理フローのステップ740は、既存セッションに参加する新しいユーザまたはデバイスに関する。この参加処理には、図12に示された、次の6つのステップが含まれる。ステップ1100で、新しいクライアント位置/ユーザのそれぞれが、それ自体をサービス・ディスカバリ・データベースに登録し、既存のブラウズ・セッションのリストを検索する。ユーザが、セッションが進行中の部屋に来た時、またはリモート講義への参加を望む時に、そのユーザは、まず、そのユーザが所有するすべてのデバイスをサービス・ディスカバリに登録する。次に、ユーザは、サービス・ディスカバリ・データベースから、使用可能なサービスのリストを検索する。プロキシおよびそれがサポートするセッションのリストの例を、図6に示す。プロキシごとに複数のセッションが存在する場合がある。
【0112】
次に、新しいユーザが、ステップ1102で、既存の共同ブラウズ・セッションの1つへの参加または加入を要求する。ユーザは、ユーザが所望のセッションを手作業で選択できるようにするために表示される、進行中のセッションのリストを受信する。供給される各セッション・レコードは、3つのセッション情報すなわち、プロキシのIPアドレス、プロキシのポート番号、およびセッションのURLからなる。上のセッション・レコードの情報は、手作業または自動的な方法のいずれかによって、サービス・ディスカバリ・インターフェースからユーザのブラウザに転送されなければならない。ユーザは、リストから(上の場合のプロキシの代わりに)セッションを選択する。ブラウザが、プロキシ・パラメータの自動設定およびセッションのURLの自動取出をサポートする場合には、ユーザのセッション名のクリックに対する応答が、ブラウザ・プロセスの開始、プロキシ・パラメータ・フィールドの初期化、およびセッションのURLを取り出すことのブラウザへの要求になる。ブラウザが、自動転送をサポートしない場合には、ユーザが、手作業でブラウザを起動し、ブラウザのプロキシ・パラメータ・フィールドを設定し、セッションのURLを入力しなければならない。
【0113】
プロキシ側では、すべてのURL要求が代行受信され、要求されたURLならびにURL要求が到着したポート番号に基づいて、プロキシが、要求者が既存セッションへの参加を求めているかどうかと、そうである場合にどのセッションを望んでいるかを確認することができる。要求が参加要求であると判定される場合には、ユーザに、そのセッションの適当なログイン・ページを送信する。
【0114】
ステップ1103で、プロキシが、潜在的なサブスクライバのそれぞれに、ユーザ名およびパスワードを要求するログイン・メニューを送信する。このログイン・メニューは、エンド・ユーザに送信される。このログイン・メニューは、これ以降サブスクライバと呼ばれるユーザが、セッションを私的に保つためのチェックボックス・オプションを有しないことを除いて、図11に類似する。ユーザは、他のすべてのフィールドを使用可能にさせ、ユーザ名を入力しなければならず、パスワードの入力または特権グループのクリックのいずれかを行わなければならない。セッションの参加には、セッションの確立より少ない数のステップが含まれることに留意されたい。というのは、セッションの参加では、セッション確立メニューと、最初のXMLページおよびポリシ・ファイルのダウンロードがスキップされるからである。セッション確立処理のフローと同様に、データ・プッシュ・アプレットがダウンロードされ、クライアント内で初期化される。
【0115】
プロキシは、ステップ1104で、ユーザが共同作業セッションへの参加を許可されることを判定した後に、ステップ1105で、サービス・ディスカバリ・データベースに要求を送信する。このサービス・ディスカバリ・データベースへの要求では、新たにログインするユーザに対して登録されたすべてのデバイスのリストが要求される。プロキシは、この情報について新たにログ・インしたユーザに照会することもできるが、上で述べたように、サービス・ディスカバリ・データベースにすでに格納されている使用可能なユーザ・デバイス情報を使用することが好ましい。上で詳細に述べたセッション確立処理と同様に、このステップには、新しいサブスクライバに対して登録されたすべてのデバイスのリストを検索する作業が含まれるが、セッション参加処理のフローでは、セッションをサービス・ディスカバリに告知する必要はない。
【0116】
最後に、ステップ1106で、プロキシが、1つまたは複数のユーザ・デバイスでの表示のために、新たにログ・インしたユーザに、ウェブ・ページの適当な部分的ビュー(すなわち、文書の1つまたは複数の部分)を返す。ウェブ・ページの部分的ビューは、新しいサブスクライバならびにセッション作成者の両方によってプルされる。というのは、この両方が、そのログイン入力に起因するプロキシからの応答を期待しているからである。さらに、新しいサブスクライバとセッション作成者の両方が、入力許可を有するセッションの他のメンバによって開始されるプッシュ・イベントに応答することができるアプレットをダウンロードしている。別のメンバが新しいページを要求した時に、プロキシは、この更新をセッション・メンバのディスプレイにプッシュするか、新しいデータを、加入したエンドデバイス(スピーカなど)に送信する。
【0117】
エンドデバイスがブラウザの場合には、データのプッシュに使用する方法を決定するために、使用されるブラウザのタイプを知る必要がある。登録時に、プロキシは、どのエンドユーザがどのブラウザ・タイプを使用しているかを、HTTPヘッダのUser-Agentフィールドの完了によって知る。その後、プロキシは、ブラウザのタイプに従ってデータ・プッシュを開始する方法を知る。ブラウザ以外のデバイスの場合、サービス・ディスカバリによって返される情報は、これらのデバイスにアクセスする方法をプロキシに直接に知らせるものか、エンド・デバイスと通信する方法を知る方法をプロキシに与えるもののいずれかでなければならない。
【0118】
副文書からデバイスへのマッピング
サブスクライバが、確立されたセッションに参加した後、またはセッション作成者が、セッション確立を終了した後に、セッションの各参加者は、ユーザの個人的趣味に従って、デバイスへのタグのマッピングを構成することができる。プロキシは、当初、ポリシ・ファイルによって供給される情報を使用して、許可されるタグの許可される出力デバイスへのデフォルト・マッピングを構成する。しかし、このデフォルト・マッピングが、エンド・ユーザを満足させない可能性があり、図7に詳細に示された処理フローのステップ760に関して上で注記したように、セッション作成者が、文書部分の出力デバイスへのマッピングを動的に変更することを望む場合がある。セッション作成者は、自分のデバイス上で、自分のために作成されたデフォルト設定を見ることができ、どのタグをどのデバイスに送るかを決定することによって、より微細なレベルでカスタマイズすることを望むことを決定することができる。プロキシによって行われるデフォルト構成は、たとえば、セッションを開始するデバイスが表示できるタグだけを送信する可能性があり、これは、小型デバイスの場合に制限的になる可能性がある。その結果、セッション作成者は、パーソナライゼーション・フォームを使用して、自分にとってより便利なデータの分割を行う。
【0119】
パーソナライゼーション・ボタンは、ログアウト・ボタンと共にコントロール・パネル上に配置することができる。ユーザは、1つのブラウザ・ウィンドウ上でセッションの初期化を行うが、プロキシがユーザに部分的なビューを送信する準備ができた時には、プロキシは、それを子ウィンドウで行う。ユーザは、コントロール・パネルを親ウィンドウに送り、ユーザが、2つのウィンドウすなわち、ブラウズ・セッションに追従するウィンドウと1つのコントロール・ウィンドウを有することになる。コントロール・パネルには、ユーザがセッションからログアウトできるようにするボタンが含まれる。ユーザがコントロール・ログアウト・ボタンを呼び出すことによって、プロキシが、このユーザをリストから除去し、彼に適用された変換ファイルのすべてを削除するように指示される。コントロール・パネルには、ユーザが現在の設定に満足しない場合に、パーソナライゼーション・フォームを要求し、タグとデバイスの間の関連付けを変更できるようにする、パーソナライズのためのボタンも含まれる。
【0120】
ユーザが、「カスタマイズ」ボタンをクリックする時に、プロキシが、接続され、情報の第3の画面を返す。プロキシは、許可されるマルチメディア・タグの許可される出力デバイスへのマッピングを作成するのに必要なすべての情報を有する。タグは、XMLファイルから取られる。ユーザの識別およびユーザが関連するグループは、ユーザのログイン/登録から取られる。使用可能なデバイスおよびその所有者のリストは、サービス・ディスカバリから取られる。これによって、プロキシが、許可されるタグの許可されるデバイスへのマッピングを作成できるようになる。このマッピングは、「カスタマイズ」ボタンがクリックされた時にエンド・ユーザに公開され、ユーザは、適当なリストされたデバイスにタグを単純に「プル」して、マッピングを変更することができる。
【0121】
通常、ユーザは、セッションにログ・インする前に、複数のデバイスを登録する。しかし、ユーザが、ログ・インの後にデバイスを追加することを望む場合がある。この場合、SDDBに登録した後に、新しいデバイスが、メディア供給の受信を自動的に開始し、アプレットが、自動的に更新される。オプションの1つが、コールバック関数(callback())の使用である。コールバックは、所与のユーザ名に一致するユーザが新しいデバイスを登録したかどうかをプロキシに知らせる/通知するようにサービス・ディスカバリに指示する(UNIXのselect()に類似する)関数である。プロキシとクライアントの間のプッシュ/プルの問題に類似して、コールバックでは、サービス・ディスカバリが、新しい更新をプロキシにプッシュすることが許容される。コールバックは、効率的な機構であり、これによって、ユーザごとのプロキシの状態の自動更新も可能になる。しかし、コールバックは、サービス・ディスカバリに対する機能的な重荷を課し、ほとんど、または一部の、サービス・ディスカバリ・プロトコルにまたがってサポートされない可能性がある。
【0122】
もう1つのオプションは、エンド・ユーザが受信するカスタマイズ画面上の「最新表示」ボタンを介する手動更新を有することである。ユーザが「カスタマイズ」ボタンをクリックした時には、これが、最新表示と同等になる。しかし、エンド・ユーザが、一時的にカスタマイズ画面を開き、その画面を更新しなかった場合には、カスタマイズ画面に「最新表示」ボタンも含めることが必要になる。カスタマイズ画面の最新表示ボタンを、最初の画面のカスタマイズ・ボタンと組み合わせると、コールバック関数の必要がなくなる。その代わりに、エンド・ユーザが、新しいデバイスが追加された時にプロキシ状態(およびカスタマイズ画面)のすべての更新を手作業で開始する。エンド・ユーザは、基本的に、そのユーザに対して新たに登録されたデバイスに対応するデータを、プロキシを介して、サービス・ディスカバリからカスタマイズ画面にプルする。
【0123】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0124】
(1)サーバから複数のクライアント位置へ文書コンテンツを選択的に供給する方法であって、
前記サーバからプロキシへ少なくとも1つの文書を供給するステップと、
前記少なくとも1つの文書を複数の文書部分に選択的に分割するステップと、
前記複数の文書部分の少なくとも1つを前記複数のクライアント位置のそれぞれに選択的に供給するステップと
を含む方法。
(2)前記少なくとも1つの文書が、少なくとも1つの他のファイルへのリンクを含み、前記方法がさらに、前記プロキシが、前記少なくとも1つの他のファイルを事前取出しし、前記少なくとも1つの他のファイルをキャッシュ記憶するステップを含む、上記(1)に記載の方法。
(3)前記プロキシが、前記少なくとも1つの文書が、関連するポリシ・ファイルを有することを判定するステップと、
前記ポリシ・ファイルにアクセスするステップと
をさらに含む、上記(1)に記載の方法。
(4)前記選択的に分割するステップが、前記ポリシ・ファイルに従って前記文書を文書部分に分割するステップを含む、上記(3)に記載の方法。
(5)前記ポリシ・ファイルが、クライアント・アクセス情報を指定し、前記選択的に供給するステップが、前記クライアント・アクセス情報に基づいて文書部分をクライアント位置に向けるステップを含む、上記(4)に記載の方法。
(6)文書部分を選択的に供給するステップが、前記文書部分のすべてより少ない文書部分を、前記複数のクライアント位置の少なくとも1つに向けるステップを含む、上記(5)に記載の方法。
(7)前記複数のクライアント位置が、1つのクライアント位置でコンテンツを出力するための複数のデバイスを含む、上記(1)に記載の方法。
(8)さらに、前記プロキシが、前記複数のデバイスのそれぞれのコンテンツ出力機能を判定するステップを含む、上記(7)に記載の方法。
(9)前記クライアント位置に関するサービス・ディスカバリを行うステップと、
前記クライアント位置のためのサービス・ファイルを作成するステップと
をさらに含む、上記(7)に記載の方法。
(10)前記行うステップおよび前記作成するステップが、前記プロキシで実行される、上記(9)に記載の方法。
(11)さらに、前記プロキシが、前記サービス・ファイルにアクセスするステップを含む、上記(9)に記載の方法。
(12)前記選択的に分割するステップが、前記コンテンツ出力機能に基づいて、前記文書を文書部分に分割するステップを含む、上記(8)に記載の方法。
(13)前記選択的に分割するステップが、前記サービス・ファイルに基づいて、前記文書を文書部分に分割するステップを含む、上記(11)に記載の方法。
(14)さらに、前記プロキシが、前記文書部分を前記複数のデバイスにマッピングするステップを含む、上記(7)に記載の方法。
(15)さらに、前記クライアント位置のユーザが、前記マッピングを動的に変更するステップを含む、上記(14)に記載の方法。
(16)前記プロキシが、前記複数の文書部分の少なくとも1つをトランスコーディングするステップを追加的に含む、上記(1)に記載の方法。
(17)前記プロキシが、前記コンテンツ出力機能に基づいて、前記複数の文書部分の少なくとも1つをトランスコーディングするステップを追加的に含む、上記(12)に記載の方法。
(18)少なくとも1つの文書を作成するステップと、
前記少なくとも1つの文書を前記サーバで格納するステップと
をさらに含む、上記(1)に記載の方法。
(19)前記少なくとも1つの文書に関する少なくとも1つのポリシ・ファイルを定義するステップと、
前記少なくとも1つのポリシ・ファイルを前記少なくとも1つの文書に関連付けるステップと
をさらに含む、上記(18)に記載の方法。
(20)前記関連付けるステップが、前記ポリシ・ファイルを前記少なくとも1つの文書に組み込むステップを含む、上記(19)に記載の方法。
(21)前記少なくとも1つのポリシ・ファイルを定義するステップが、前記文書の前記少なくとも1つの文書の複数の文書部分を指定するステップを含む、上記(19)に記載の方法。
(22)前記複数の文書部分のそれぞれのアクセス規則を確立するステップをさらに含む、上記(21)に記載の方法。
(23)前記複数の文書部分のそれぞれへのアクセスに関する特権グループを確立するステップをさらに含む、上記(21)に記載の方法。
(24)前記特権グループが、前記複数の文書部分のそれぞれにアクセスできるクライアントを識別する、上記(23)に記載の方法。
(25)複数のクライアント位置、ウェブ・サーバ、少なくとも1つのサービス・ディスカバリ・データベース、および前記ウェブ・サーバと前記複数のクライアント位置との間に配置される複数のプロキシ・コンポーネントを含むシステム内で、クライアント・セッション要求者からの要求に応答して共同ウェブ・ブラウズ・セッションを確立する方法であって、
前記プロキシが、前記サービス・ディスカバリ・データベースに登録するステップと、
前記セッション要求者が、前記サービス・ディスカバリ・データベースに登録するステップと、
前記セッション要求者が、プロキシを選択するステップと、
前記セッション要求者が、セッションを作成する要求を前記プロキシに送信するステップと、
前記プロキシが、少なくともセッション名と少なくとも1つのセッション文書の記憶位置とを含むセッション情報を要求するステップと、
前記セッション要求者が、前記セッション情報を入力するステップと、
前記プロキシが、前記少なくとも1つのセッション文書を取り出すステップと、
前記プロキシが、前記少なくとも1つのセッション文書に関するプロキシ・ファイルが存在するかどうかに関する判定を行うステップと、
前記プロキシが、前記判定に基づいて、前記少なくとも1つのセッション文書を複数の文書部分に選択的に分割するステップと、
前記プロキシが、前記複数の文書部分を前記複数のクライアント位置の少なくとも1つに選択的に供給するステップと
を含む方法。
(26)少なくとも1つの新しいユーザが前記セッションに参加するステップをさらに含み、前記参加するステップが、
前記少なくとも1つの新しいユーザが、既存セッションのリストを得るステップと、
前記少なくとも1つの新しいユーザが、前記既存セッションの1つの選択されたセッションを選択し、前記選択されたセッションに参加する要求を生成するステップと、
前記プロキシが、前記少なくとも1つの新しいユーザにログイン・メニューを供給するステップと、
前記プロキシが、前記少なくとも1つの新しいユーザに関するユーザ・アクセスを検証するステップと、
前記プロキシが、ユーザ出力デバイス情報について前記セッション・ディスカバリ・データベースに照会するステップと、
前記プロキシが、前記ユーザ出力デバイス情報に基づいて、前記少なくとも1つの新しいユーザの少なくとも1つのデバイスに、前記複数の文書部分の少なくとも1つを選択的に配送するステップと
を含む、上記(25)に記載の方法。
(27)文書コンテンツを複数のクライアント位置に選択的に供給するシステムであって、
複数のクライアント位置と、
前記文書コンテンツを格納し、クライアント要求に応答して少なくとも1つの文書を配送する、少なくとも1つのサーバと、
前記少なくとも1つの文書を前記サーバから受信し、前記少なくとも1つの文書を複数の文書部分に選択的に分割し、前記複数の文書部分の少なくとも1つを前記複数のクライアント位置のそれぞれに選択的に供給する、少なくとも1つのプロキシと
を含むシステム。
(28)前記少なくとも1つのプロキシが、前記少なくとも1つの文書に関するポリシ・ファイルにアクセスし、前記少なくとも1つの文書を選択的に分割するために前記少なくとも1つのポリシ・ファイルを使用する、少なくとも1つの処理コンポーネントを含む、上記(27)に記載のシステム。
(29)前記少なくとも1つのクライアント位置が、1つのクライアント位置にある複数のデバイスを含む、上記(27)に記載のシステム。
(30)前記少なくとも1つのクライアント位置が、前記少なくとも1つの文書に関して共同するための複数の異なるクライアント位置を含む、上記(27)に記載のシステム。
(31)前記少なくとも1つのプロキシが、少なくとも1つの前記クライアント位置に配置されたデバイスに前記複数の文書部分をマッピングする、少なくとも1つの処理コンポーネントを含む、上記(27)に記載のシステム。
(32)サーバから複数のクライアント位置ヘ文書コンテンツを選択的に供給する方法ステップを実行するために計算機によって実行可能な命令のプログラムを具体的に実施する、計算機によって可読のプログラム記憶デバイスであって、前記方法が、
前記サーバからプロキシへ少なくとも1つの文書を供給するステップと、
前記少なくとも1つの文書を複数の文書部分に選択的に分割するステップと、
前記複数のクライアント位置のそれぞれに前記複数の文書部分の少なくとも1つを選択的に供給するステップと
を含む、プログラム記憶デバイス。
【図面の簡単な説明】
【図1】通常のウェブ・ブラウズ・システムの概略図である。
【図2】本発明によるウェブ・ブラウズ・システムの概略図である。
【図3】単独のユーザのウェブ・ブラウズ・セッションが、より高機能の近くの出力デバイスを使用することによって機能強化される、共同マルチデバイス・ウェブ・ブラウズの第1のシナリオを示す図である。
【図4】他のデバイスに加えて、他のユーザが、ブラウズ・セッションの出力の選択された部分を受信する、共同マルチデバイス・ウェブ・ブラウズの第2のシナリオを示す図である。
【図5】本発明によるデータ転送の効率を示す図である。
【図6】新しい共同セッションの確立に用いられるエンティティを示す概略図である。
【図7】本発明の対話の全体的シーケンスを示す図である。
【図8】新しい共同セッションの確立の処理フローの詳細を示す図である。
【図9】新しい共同セッションの確立の処理フローの詳細を示す図である。
【図10】ウェブ・ページのURL要求が新しいブラウズ・セッションの確立をもたらす時をプロキシが決定するための代表的なアルゴリズムを示す図である。
【図11】プロキシからセッション開始元のブラウザに送信される代表的なログイン/登録画面を示す図である。
【図12】確立されたセッションに参加する新しいユーザまたはデバイスの代表的な処理フローを示す図である。
【符号の説明】
10 ユーザ位置
12 ウェブ・サーバ
14 インターネット
20 プロキシ・エンティティ
610 プロキシ
612 サービス・ディスカバリ
614 セッション作成者
615 ウェブ・サーバ
616 テーブル
617 ポリシ・ファイル

Claims (24)

  1. サーバから複数のクライアント位置へ文書コンテンツを選択的に供給する方法であって、
    プロキシが、サービス・ディスカバリ・データベースに登録するステップと、
    セッション要求者が、前記サービス・ディスカバリ・データベースにユーザ登録するステップと、
    前記セッション要求者が、登録された前記プロキシを選択するステップと、
    前記セッション要求者が、セッションを作成する要求を前記プロキシに送信するステップと、
    前記プロキシが、少なくともセッション名と少なくとも1つのセッション文書の記憶位置とを含むセッション情報を要求するステップと、
    前記セッション要求者が、前記セッション情報を入力するステップと、
    前記プロキシが、前記少なくとも1つのセッション文書を取り出すステップと、
    前記プロキシが、前記少なくとも1つのセッション文書に関するポリシ・ファイルに関する判定を行うステップと、
    前記プロキシが、前記判定に基づいて、前記少なくとも1つのセッション文書をタグにより選択して複数の文書部分に分割するステップと、
    前記プロキシが、前記複数の文書部分を前記複数のクライアント位置の少なくとも1つにいる前記セッション要求者に選択的に供給するステップと
    を含む方法。
  2. 前記方法がさらに、前記プロキシが、前記少なくとも1つの他のファイルを事前取出しし、前記少なくとも1つの他のファイルをキャッシュ記憶するステップを含む、請求項1に記載の方法。
  3. 前記選択的に分割するステップが、前記ポリシ・ファイルにのアクセス特権を定義する特権グループに従って前記文書を文書部分に分割するステップを含む、請求項に記載の方法。
  4. 前記選択的に供給するステップが、特権グループに従って前記クライアント・アクセス情報に基づいて文書部分をクライアント位置に向けるステップを含む、請求項に記載の方法。
  5. 文書部分を選択的に供給するステップが、前記文書部分のすべてより少ない文書部分を、前記複数のクライアント位置の少なくとも1つに向けるステップを含む、請求項に記載の方法。
  6. 前記複数のクライアント位置が、1つのクライアント位置でコンテンツを出力するための複数のデバイスを含む、請求項1に記載の方法。
  7. さらに、前記プロキシが、前記複数のデバイスのそれぞれのコンテンツ出力機能を判定するステップを含む、請求項に記載の方法。
  8. 前記クライアント位置に関するサービス・ディスカバリを行うステップと、
    前記クライアント位置のためのサービス・ファイルを作成するステップと
    をさらに含む、請求項に記載の方法。
  9. 前記行うステップおよび前記作成するステップが、前記プロキシで実行される、請求項に記載の方法。
  10. さらに、前記プロキシが、前記サービス・ファイルにアクセスするステップを含む、請求項に記載の方法。
  11. 前記選択的に分割するステップが、前記コンテンツ出力機能に基づいて、前記文書を文書部分に分割するステップを含む、請求項に記載の方法。
  12. 前記選択的に分割するステップが、前記サービス・ファイルに基づいて、タグにより選択して前記文書を文書部分に分割するステップを含む、請求項10に記載の方法。
  13. さらに、前記プロキシが、前記文書部分を前記複数のデバイスにマッピングするステップを含む、請求項に記載の方法。
  14. さらに、前記クライアント位置のユーザが、前記マッピングを動的に変更するステップを含む、請求項13に記載の方法。
  15. 前記プロキシが、前記複数の文書部分の少なくとも1つをトランスコーディングするステップを追加的に含む、請求項1に記載の方法。
  16. 前記プロキシが、前記コンテンツ出力機能に基づいて、前記複数の文書部分の少なくとも1つをトランスコーディングするステップを追加的に含む、請求項11に記載の方法。
  17. 少なくとも1つの文書を作成するステップと、
    前記少なくとも1つの文書を前記サーバで格納するステップと
    をさらに含む、請求項1に記載の方法。
  18. 前記少なくとも1つの文書に関するアクセス特権を定義する特権グループを含む少なくとも1つのポリシ・ファイルを定義するステップと、
    前記少なくとも1つのポリシ・ファイルを前記少なくとも1つの文書に関連付けるステップと
    をさらに含む、請求項17に記載の方法。
  19. 前記関連付けるステップが、前記ポリシ・ファイルを前記少なくとも1つの文書に組み込むステップを含む、請求項18に記載の方法。
  20. 前記少なくとも1つのポリシ・ファイルを定義するステップが、前記文書の前記少なくとも1つの文書の複数の文書部分を指定するステップを含む、請求項18に記載の方法。
  21. 前記特権グループが、前記複数の文書部分のそれぞれにアクセスできるクライアントを識別する、請求項20に記載の方法。
  22. 複数のクライアント位置、ウェブ・サーバ、少なくとも1つのサービス・ディスカバリ・データベース、および前記ウェブ・サーバと前記複数のクライアント位置との間に配置される複数のプロキシ・コンポーネントを含むシステム内で、クライアント・セッション要求者からの要求に応答して共同ウェブ・ブラウズ・セッションを確立する方法であって、
    前記プロキシが、前記サービス・ディスカバリ・データベースに登録するステップと、
    前記セッション要求者が、前記サービス・ディスカバリ・データベースにユーザ登録するステップと、
    前記セッション要求者が、登録された前記 プロキシを選択するステップと、
    前記セッション要求者が、セッションを作成する要求を前記プロキシに送信するステップと、
    前記プロキシが、少なくともセッション名と少なくとも1つのセッション文書の記憶位置とを含むセッション情報を要求するステップと、
    前記セッション要求者が、前記セッション情報を入力するステップと、
    前記プロキシが、前記少なくとも1つのセッション文書を取り出すステップと、
    前記プロキシが、前記少なくとも1つのセッション文書に関するポリシ・ファイルに関する判定を行うステップと、
    前記プロキシが、前記判定に基づいて、前記少なくとも1つのセッション文書をタグにより選択して複数の文書部分に分割するステップと、
    前記プロキシが、前記複数の文書部分を前記複数のクライアント位置の少なくとも1つにいる前記セッション要求者に選択的に供給するステップと
    を含む方法。
  23. 少なくとも1つの新しいユーザが前記セッションに参加するステップをさらに含み、前記参加するステップが、
    前記少なくとも1つの新しいユーザが、既存セッションのリストを得るステップと、
    前記少なくとも1つの新しいユーザが、前記既存セッションの1つの選択されたセッションを選択し、前記選択されたセッションに参加する要求を生成するステップと、
    前記プロキシが、前記少なくとも1つの新しいユーザにログイン・メニューを供給するステップと、
    前記プロキシが、前記少なくとも1つの新しいユーザに関するユーザ・アクセスを検証するステップと、
    前記プロキシが、ユーザ出力デバイス情報について前記セッション・ディスカバリ・データベースに照会するステップと、
    前記プロキシが、前記ユーザ出力デバイス情報に基づいて、前記少なくとも1つの新しいユーザの少なくとも1つのデバイスに、前記複数の文書部分の少なくとも1つを選択的に配送するステップと
    を含む、請求項22に記載の方法。
  24. 請求項1から23のいずれかの1つに記載の方法のステップをコンピュータに実行させるためのコンピュータプログラム。
JP2001048742A 2000-02-24 2001-02-23 共同マルチデバイス・ウェブ・ブラウズのシステムおよび方法 Expired - Fee Related JP3790674B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51251000A 2000-02-24 2000-02-24
US09/512510 2000-02-24

Publications (2)

Publication Number Publication Date
JP2001297029A JP2001297029A (ja) 2001-10-26
JP3790674B2 true JP3790674B2 (ja) 2006-06-28

Family

ID=24039402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001048742A Expired - Fee Related JP3790674B2 (ja) 2000-02-24 2001-02-23 共同マルチデバイス・ウェブ・ブラウズのシステムおよび方法

Country Status (5)

Country Link
EP (1) EP1132847A3 (ja)
JP (1) JP3790674B2 (ja)
KR (1) KR100445922B1 (ja)
SG (1) SG99886A1 (ja)
TW (1) TW525393B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11520606B2 (en) * 2017-09-22 2022-12-06 Vmware, Inc. Dynamic generation of user interface components based on hierarchical component factories

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001286891A1 (en) * 2000-08-31 2002-03-13 Docent, Inc. Method and system for providing a knowledge exchange portal
US6931598B2 (en) * 2001-03-30 2005-08-16 Intel Corporation Dynamic web list display
US6925457B2 (en) 2001-07-27 2005-08-02 Metatomix, Inc. Methods and apparatus for querying a relational data store using schema-less queries
US7058637B2 (en) 2001-05-15 2006-06-06 Metatomix, Inc. Methods and apparatus for enterprise application integration
US20030208541A1 (en) * 2001-11-10 2003-11-06 Jeff Musa Handheld wireless conferencing technology
WO2003107146A2 (en) 2002-06-18 2003-12-24 Wink Interactive, Llc Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks
EP1570354A4 (en) * 2002-11-19 2008-07-02 Nexaweb Technologies Inc SYSTEM AND METHOD FOR WEB-AIDED STATEFUL DATA PROCESSING
FR2848755A1 (fr) * 2002-12-16 2004-06-18 France Telecom Protocole et systeme de diffusion automatique et simultanee de documents electroniques de formats distincts sur internet
KR100501125B1 (ko) * 2003-03-28 2005-07-18 에스케이 텔레콤주식회사 인터넷 컨텐츠의 권한 검증 시스템 및 그 방법
US7346856B2 (en) 2003-08-21 2008-03-18 International Business Machines Corporation Apparatus and method for distributing portions of large web images to fit smaller constrained viewing areas
US9009582B2 (en) 2004-11-19 2015-04-14 Google Inc. Converting spreadsheet applications to web-based applications
KR100727931B1 (ko) * 2005-01-19 2007-06-14 삼성전자주식회사 콘텐츠 접근 제어 방법 및 이를 이용한 콘텐츠 키 획득 방법
US8307119B2 (en) 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application
EP1853027A1 (en) * 2006-05-02 2007-11-07 Research In Motion Limited Registration method and apparatus for push content delivery
US8825728B2 (en) 2006-06-15 2014-09-02 Microsoft Corporation Entering confidential information on an untrusted machine
US20070294209A1 (en) * 2006-06-20 2007-12-20 Lyle Strub Communication network application activity monitoring and control
KR100965820B1 (ko) * 2007-01-19 2010-06-24 삼성전자주식회사 데이터 출력을 위한 장치 및 데이터 출력 방법
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8959248B2 (en) * 2008-02-22 2015-02-17 Microsoft Corporation Personal computing environment with virtual computing device
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US10481878B2 (en) 2008-10-09 2019-11-19 Objectstore, Inc. User interface apparatus and methods
US8346768B2 (en) 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
JP2011008354A (ja) * 2009-06-23 2011-01-13 Ricoh Co Ltd 情報処理装置、文書データ削除方法及び文書データ削除プログラム
TWI427500B (zh) * 2009-06-23 2014-02-21 President Chain Store Corp Web page printing system and its method
FR2951841A1 (fr) * 2009-10-23 2011-04-29 Alcatel Lucent Gestion d'etiquettes relatives a des objets multimedias partages dans un reseau de telecommunications
EP2418818B1 (en) 2010-08-12 2018-02-14 Deutsche Telekom AG Network entity for managing communications towards a user entity over a communication network
EP2418815B1 (en) 2010-08-12 2019-01-02 Deutsche Telekom AG Managing Session Initiation Protocol communications towards a user entity in a communication network
EP2418817B1 (en) 2010-08-12 2018-12-12 Deutsche Telekom AG Application server for managing communications towards a set of user entities
US9367635B2 (en) * 2011-02-12 2016-06-14 International Business Machines Corporation Contact center co-browsing for a mobile device
US9154190B2 (en) * 2011-02-15 2015-10-06 Blackberry Limited Master mobile wireless communications device with near field communication (NFC) capabilities to send media content to slave mobile wireless communications devices and associated methods
US9167020B2 (en) * 2011-06-10 2015-10-20 Microsoft Technology Licensing, Llc Web-browser based desktop and application remoting solution
US8813196B2 (en) * 2012-03-12 2014-08-19 Unisys Corporation Web-based conference collaboration tool with dynamic content and roles
CN103812908B (zh) * 2012-11-14 2017-11-07 财团法人资讯工业策进会 云端文件处理方法以及系统
US10262029B1 (en) 2013-05-15 2019-04-16 Google Llc Providing content to followers of entity feeds
CN107679062B (zh) * 2017-07-31 2021-02-05 石河子大学 一种推理群体意图的方法及电子设备
CN108064443B (zh) * 2017-09-30 2021-08-06 达闼机器人有限公司 一种代理转发方法和装置、代理服务器和多级代理网络
CN112528332A (zh) * 2020-12-15 2021-03-19 中国平安财产保险股份有限公司 数据获取方法、装置、电子设备及计算机存储介质
CN116226418B (zh) * 2023-01-28 2024-06-18 创云融达信息技术(天津)股份有限公司 一种网页版演示幻灯片ppt的实现方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2585797A (en) * 1996-03-15 1997-10-01 University Of Massachusetts Compact tree for storage and retrieval of structured hypermedia documents
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5944791A (en) * 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
TW400487B (en) * 1996-10-24 2000-08-01 Tumbleweed Software Corp Electronic document delivery system
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6070185A (en) * 1997-05-02 2000-05-30 Lucent Technologies Inc. Technique for obtaining information and services over a communication network
US6857102B1 (en) * 1998-04-07 2005-02-15 Fuji Xerox Co., Ltd. Document re-authoring systems and methods for providing device-independent access to the world wide web
JPH11313105A (ja) * 1998-04-24 1999-11-09 Canon Inc サーバ、クライアント、サーバの制御方法、クライアントの制御方法、クライアントサーバシステムおよび記憶媒体
JP3580710B2 (ja) * 1998-10-15 2004-10-27 松下電器産業株式会社 分散型インターネットブラウザシステムとその表示方法
FI19992746A (fi) * 1998-12-28 2000-06-28 Spyglass Inc Menetelmä ja järjestelmä elektronisen datasisällön muuntamiseksi langattomille laitteille
EP1299812A2 (en) * 1999-06-14 2003-04-09 Sun Microsystems, Inc. A method for caching xml documents viewable on devices with different displays
JP3485252B2 (ja) * 1999-06-16 2004-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理方法、情報端末支援サーバ、コラボレーション・システム、情報処理プログラムを格納する記憶媒体
JP3485253B2 (ja) * 1999-06-18 2004-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理方法、情報端末支援サーバ、情報処理プログラムを格納する記憶媒体
JP3283018B2 (ja) * 1999-08-10 2002-05-20 インターナショナル・ビジネス・マシーンズ・コーポレーション htmlファイル取得方法、情報端末支援装置、htmlファイルを取得するソフトウエア・プロダクトを格納した記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11520606B2 (en) * 2017-09-22 2022-12-06 Vmware, Inc. Dynamic generation of user interface components based on hierarchical component factories

Also Published As

Publication number Publication date
SG99886A1 (en) 2003-11-27
KR20010085381A (ko) 2001-09-07
EP1132847A2 (en) 2001-09-12
KR100445922B1 (ko) 2004-08-25
TW525393B (en) 2003-03-21
EP1132847A3 (en) 2005-06-15
JP2001297029A (ja) 2001-10-26

Similar Documents

Publication Publication Date Title
JP3790674B2 (ja) 共同マルチデバイス・ウェブ・ブラウズのシステムおよび方法
Han et al. WebSplitter: a unified XML framework for multi-device collaborative Web browsing
US10142431B2 (en) Real-time information feed
US9288171B2 (en) Sharing multimedia content
US8533284B2 (en) Sharing of media and other content through a communication channel
JP2000035951A (ja) マルチユ―ザ認識およびコラボレ―ション用の方法および装置
US20110283364A1 (en) Communication method, display apparatus, moderator terminal apparatus, user terminal apparatus, and multi-user communication system including the same
Karadkar et al. Display-agnostic hypermedia
WO2002035782A2 (en) Method and device for transmitting streaming multimedia messages
Di Nitto et al. Adaptation of web contents and services to terminals capabilities: The@ Terminals approach
El Saddik et al. Authoring multimedia objects in collaborative ambient intelligent virtual environment
Scott Exploiting available Internet tools for multimedia applications
Bulterman et al. Television content enrichment and sharing: The ambulant annotator
NG et al. INCOM: A COLLABORATIVE TOOL FOR DISTANCE LEARNING

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060403

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090407

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees