JP2001265645A - モジュラー・プロキシ・サーバによるリフォーマット方法 - Google Patents

モジュラー・プロキシ・サーバによるリフォーマット方法

Info

Publication number
JP2001265645A
JP2001265645A JP2001006926A JP2001006926A JP2001265645A JP 2001265645 A JP2001265645 A JP 2001265645A JP 2001006926 A JP2001006926 A JP 2001006926A JP 2001006926 A JP2001006926 A JP 2001006926A JP 2001265645 A JP2001265645 A JP 2001265645A
Authority
JP
Japan
Prior art keywords
client
content
proxy server
module
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001006926A
Other languages
English (en)
Other versions
JP2001265645A5 (ja
Inventor
Sarah C Moussa
サラ・シー・ムーサ
Jay D Logue
ジェイ・ディー・ログ
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.)
WebTV Networks Inc
Original Assignee
WebTV Networks Inc
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 WebTV Networks Inc filed Critical WebTV Networks Inc
Publication of JP2001265645A publication Critical patent/JP2001265645A/ja
Publication of JP2001265645A5 publication Critical patent/JP2001265645A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 ウェブ・コンテンツをリフォーマットするよ
うに容易に修正されカスタマイズされるプロキシ・サー
バ・プラットフォームを提供すること。 【解決手段】 プロキシ・サーバ108は、オペレータ
により変更可能な規則を評価し、要求側クライアントの
能力や要求変数に基いて、要求側クライアントに適する
ようウェブ・コンテンツをリフォーマットする方法を決
定する。プラットフォームは、コンテンツのリフォーマ
ッティングを行うモジュール102、103、104を
有する。モジュールは、稼働時に、実行するプロキシ・
サーバ・プラットフォームのソフトウエアへ動的にリン
ク可能である。プラットフォームは、他のモジュールに
影響を及ぼすことなくモジュールの加除が可能であるた
め、オペレータにより容易にカスタマイズ可能である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、モジュラー・プロ
キシ・サーバ及びそのリフォーマット方法に関する。
【0002】
【従来の技術】図1(従来技術)は、ウェブTVサーバ
6を介するインターネット5に対する複数のウェブTV
クライアント2−4のアクセスを行う、ウェブTVネッ
トワークとして公知であるシステム1の図である。ウェ
ブTVクライアント2−4は、米国カリフォルニア州M
ountain ViewのWebTV Networ
ks社から入手可能なウェブTV・セット・トップ・ボ
ックス・インターネット端末である。ウェブTVサーバ
6は、インターネットにアクセスする目的のためクライ
アント2−4のために「プロキシ・サーバ」として機能
する。プロキシ・サーバを含むこのようなウェブTVネ
ットワークの詳細については、米国特許第5,918,
013号及び同第5,935,207号に記載されてい
る。
【0003】1つの運用例において、クライアント2
が、インターネットの遠隔サーバ7に置かれたウェブ・
コンテンツ(例えば、HTMLドキュメント)にアクセ
スしようと試みる。クライアント2は、ウェブTVサー
バ6に対して所望のHTMLドキュメントを識別する要
求を発する。要求されたHTMLドキュメントがウェブ
TVサーバにおけるプロキシ・キャッシュ8に記憶され
ると、ウェブTVサーバ6がそのプロキシ・キャッシュ
8に記憶されるような要求されたHTMLドキュメント
を再びクライアント2へ送ることによってクライアント
2に応答する。クライアント2におけるブラウザは、H
TMLドキュメントがクライアント2のディスプレイに
表示されるようにさせる。このような意味で、ウェブT
Vサーバ6はプロキシ・サーバである。
【0004】一方、要求されたHTMLドキュメントが
プロキシ・キャッシュ8になければ、ウェブTVサーバ
6が遠隔サーバ7に対してHTMLドキュメント要求を
発する。遠隔サーバ7は、HTMLドキュメントをウェ
ブTVサーバ6へ戻すことにより応答する。ウェブTV
サーバ6は、更に、最初に要求を行ったクライアント2
へHTMLドキュメントを送る。次いで、クライアント
2におけるブラウザが、HTMLドキュメントをクライ
アント2のディスプレイに表示されるようにする。この
HTMLドキュメントがクライアント2−4により頻繁
にアクセスされることが多いドキュメントであるなら
ば、ウェブTVサーバ6がこのHTMLドキュメントの
コピー9をプロキシ・キャッシュ8に記憶する。
【0005】ウェブTVサーバ6はまた、ウェブ・コン
テンツをリフォーマットするように働く。一例におい
て、クライアント2が遠隔サーバ7からイメージ・デー
タにアクセスしようとする。しかし、イメージ・データ
は、クライアント2に不適正なイメージ・フォーマット
である。例えば、遠隔サーバ7における要求されたイメ
ージ・データが、クライアント2が解読表示できないフ
ォーマットであるという意味で不適正である。クライア
ント2がこのようなイメージ・データを表示しようとす
るならば、クライアント2はこのイメージの表示に失敗
するか或いは表示することができないことになる。
【0006】或いはまた、このイメージ・データが必要
以上に高い解像度であるという意味において不適正であ
る。クライアント2は、例えば、ディスプレイ装置とし
てテレビジョン・スクリーンを使用しているかもしれな
い。通常のテレビジョンは、一般に多くのコンピュータ
のモニターの場合より低いピクセル解像度を持ってい
る。インターネットにおけるイメージ・データの多くが
コンピュータのモニターで表示するためのものであるか
ら、インターネットにおける多くのイメージはクライア
ント2−4の低解像度ディスプレイに対して転送される
必要がない比較的高い解像度のイメージを有する。
【0007】遠隔サーバ7からのこのような不適正或い
は不必要なイメージ・データが同じフォーマットでウェ
ブTVサーバ6を単に素通りさせられるならば、クライ
アント2は不適正或いは不必要なイメージ・データを受
取ることになる。クライアント2がこのフォーマットを
解読できなければ、クライアント2はこのイメージの表
示に失敗するかこれを表示することができない。クライ
アント2が表示することができない大量の高解像度イメ
ージ・データが存在するものとすると、クライアント2
に対するイメージ・データの通信は不必要に多くの時間
を要することがあり得る。
【0008】従って、ウェブTVサーバ6は、イメージ
・データを不適正なフォーマットから適正なフォーマッ
トへリフォーマットする「トランスコーダ」と呼ばれる
ソフトウエア10を含んでいる。クライアント2は、最
初に遠隔サーバ7におけるイメージ・データに対する要
求をウェブTVサーバ6へ発する。イメージ・データが
プロキシ・キャッシュ8においてキャッシュされないも
のとすると、ウェブTVサーバ6は遠隔サーバ7に対し
てイメージ・データの要求を発する。遠隔サーバ7は、
不適正なフォーマットにおけるイメージ・データをウェ
ブTVサーバ6へ送ることによって応答する。トランス
コーダ・ソフトウエア10は、このイメージ・データを
クライアント2が解読できる適正なフォーマットへリフ
ォーマットする。次いで、ウェブTVサーバ6はこのリ
フォーマットされたイメージ・データをクライアント2
へ送る。従って、クライアント2は、たとえインターネ
ットにおける遠隔サーバ7で入手可能であるようなイメ
ージ・データがクライアント2が解読表示ができるフォ
ーマットでなくとも、インターネットからイメージ・デ
ータにアクセスすることが可能である。
【0009】ウェブTVサーバ6はイメージ・データを
リフォーマットするだけでなく、HTMLドキュメント
のHTMLをリフォーマット(すなわち、「書き直
し」)する。遠隔サーバ7における要求されたウェブ・
コンテンツが「バグ」又は「クアーク(quirk)」
を含むHTMLドキュメントであるとする。バグはクラ
イアントのブラウザの障害を生じるおそれがある。クア
ークは、クライアントのブラウザを破壊することはなく
とも、望ましくないか予期しない挙動を生じるおそれが
ある。従って、ウェブTVサーバ6は、このようなバグ
及びクアークを排除するよう、HTMLの違法部分を書
き直す「HTMLリライタ」と呼ばれるソフトウエア1
1を含んでいる。
【0010】1つの運用例では、クライアント2は、ウ
ェブTVサーバ6に対して所望のHTMLドキュメント
に対する要求を発する。所望のHTMLドキュメントが
プロキシ・キャッシュ8においてキャッシュされないも
のとすれば、ウェブTVサーバ6は遠隔サーバ7からの
所望のHTMLドキュメントに対する要求を発する。遠
隔サーバ7は、バグ又はクアークを含むHTMLドキュ
メントをウェブTVサーバ6へ送り返すことにより応答
する。バグ又はクアークを含むHTMLドキュメントを
クライアント2−4へ送り返す代わりに、HTMLリラ
イタ・ソフトウエア11は、バグ又はクアークを排除す
るようにHTMLをリフォーマットする(書き直す)。
次いで、ウェブTVサーバ6は、クライアント2におけ
るブラウザがHTMLドキュメントを問題のないものに
することができるように、バグ又はクアークのないリフ
ォーマットされたHTMLドキュメントをクライアント
2へ送り返す。
【0011】HTMLリライタ・ソフトウエア11はま
た、クライアント2のユーザにより時おり経験されるデ
ッドタイム(「知覚される待ち時間」)を短縮或いは除
去するようにも機能する。クライアント2におけるブラ
ウザは、ブラウザがイメージに対するサイズ情報を有す
るならば、イメージを含むウェブ・ページを作るように
始動することができる。ブラウザがイメージに対するサ
イズ情報を持つならば、ブラウザは、以後到着するイメ
ージ・データに対する適切なサイズの空白を残してバッ
クグラウンド・ページのレイアウトを開始することがで
きる。ブラウザがこのようなサイズ情報を持たなけれ
ば、クライアント2はウェブ・ページの要求がなされる
時からイメージに対するイメージ・データがクライアン
トに実際に受取られてブラウザがこのページを作り始め
るまでのデッドタイム(「知覚される待ち時間」)を経
験する。クライアントにおけるこのような知覚される待
ち時間を避けるため、ウェブTVサーバ6はイメージに
関するサイズ情報をキャッシュ8に記憶する。クライア
ント2がイメージを含むウェブ・ページを要求すると
き、ウェブTVサーバ6はそのキャッシュからサイズ情
報を回収し、このサイズ情報を含むようにウェブ・ペー
ジのHTMLを書き直し、このHTMLをクライアント
2へ受け渡す。従ってクライアント2におけるブラウザ
は、バックグラウンド・ページに対するHTMLを受信
すると、ウェブ・ページにおける任意のイメージに対す
るサイズ情報を用いてウェブ・ページを作り始めること
ができる。ブラウザは、バックグラウンド・ページのH
TMLを解読し、イメージのタグを識別し、このイメー
ジ・タグにより識別されるイメージ・データに対する要
求を発行し、サイズ情報を持つ実際のイメージ・データ
を受取るまで待つ必要がない。このサイズ情報は、元の
HTMLと共に受取られる。従って、HTMLの書き直
しの結果が、クライアント2における「知覚される待ち
時間」の短縮をもたらす結果となる。
【0012】
【発明が解決しようとする課題】現在商業的に用いられ
るウェブTVサーバ6のコードは、1つのタイプのクラ
イアント(即ち、特定のソフトウェアを走らせるウェブ
TVインターネット端末)を典型的にはサポートするモ
ノリシック・コードである。このコードは、適応及び改
変の融通性がなくまた困難である。例えば、第1のタイ
プのクライアントを要求するために1つの方法でコンテ
ンツをリフォーマットしながら、第2のタイプのクライ
アントを要求するために第2の方法でリフォーマットす
るよう、このコードを適応させることは困難である。こ
のような改変は一般に、ウェブTVサーバのコードの多
く或いは全てをコンパイルし直すことが必要となる。そ
れには、ウェブTVサーバのコードの内部構造をつぶさ
に知ることを必要とする。従って、ウェブTVサーバ6
は、独立のオペレータ(モノリシック・コードの内部構
造に習熟しないウェブTV以外のオペレータ)による運
用、保守及びカスタマイズに充分に適するものとは考え
られない。プラットフォーム・ソフトウエアの他の部分
を変更することなく、かつプラットフォーム・ソフトウ
エアの内部構造の詳細な知識を持つ必要もなく、オペレ
ータがプラットフォーム・ソフトウエアの各部を比較的
容易に改変、削除及び(又は)追加できるように、この
ような独立のオペレータにより運用することが可能であ
るウェブTVサーバ・プラットフォームが望まれる。
【0013】
【課題を解決するための手段】プロキシ・サーバの内部
動作に十分習熟していない対話型テレビジョン・サービ
ス・オペレータ(「オペレータ」)により容易に改変、
カスタマイズ及び保守が可能であるプロキシ・サーバ・
「プラットフォーム」が提供される。このプラットフォ
ームは、コンテンツのリフォーマットが1つ以上の「モ
ジュール」により行われる「モジュラー」アーキテクチ
ャを有する。モジュールは、稼働時に、実行中のプロキ
シ・サーバ・プラットフォーム・ソフトウエアへ動的に
リンク可能である。オペレータは、プロキシ・サーバの
動作をカスタマイズするため、モジュールの追加又は削
除することができる。一つの実施の形態においては、モ
ジュールは、他のモジュールを改変又は再コンパイルす
ることなく、個々のモジュールの取外し、交換及び(又
は)付加が可能なように、COMモジュラー・プログラ
ミング規格に従って書かれる。個々のモジュールはオー
サー(auther)が異なってもよい。モジュール
は、オペレータ又はウェブTV又は他のエンティティに
よって書かれ得る。モジュールのオーサーとは無関係
に、個々のモジュールの実現に際してCOM規格に従う
ならば、複数のモジュールをプロキシ・サーバ・プラッ
トフォームにおいて一緒に働くよう作ることができる。
【0014】一つの態様において、プロキシ・サーバ
は、要求側のクライアントの「クライアント能力」を表
わす情報を用いて、コンテンツが要求側のクライアント
へ中継される前に、どのモジュールがコンテンツを処理
するかを決定する。第1のクライアントは、遠隔サーバ
に記憶されたウェブ・コンテンツに対する第1の要求を
プロキシ・サーバへ発する。この第1の要求は、第1の
クライアントの「クライアント能力」を表わす情報(例
えば、第1のクライアントのハードウエア能力、ソフト
ウエア・バージョン番号及びソフトウエア作成番号)を
含む。プロキシ・サーバは、クライアント能力を表わす
情報を用いて、第1のクライアントに適する第1のフォ
ーマットを決定する。要求されたウェブ・コンテンツが
この第1のフォーマットにおいてプロキシ・サーバにキ
ャッシュされるならば、プロキシ・サーバがこのウェブ
・コンテンツを第1のクライアントへ送る。要求された
コンテンツが第1のフォーマットでキャッシュされなけ
れば、プロキシ・サーバは適切なモジュールを用いてウ
ェブ・コンテンツを第1のフォーマットにリフォーマッ
トする。リフォーマットされると、ウェブ・コンテンツ
は要求側の第1のクライアントへ送られる。ウェブ・コ
ンテンツがプロキシ・サーバにおいてキャッシュされな
い場合、或いはキャッシュされたウェブ・コンテンツが
他の或る理由(例えば、古すぎ)で使われない場合、プ
ロキシ・サーバはウェブ・コンテンツに対する要求を遠
隔サーバへ発し、このウェブ・コンテンツを検索する。
このウェブ・コンテンツが第1のフォーマットでなけれ
ば、プロキシ・サーバは適切なモジュールを用いてウェ
ブ・コンテンツを第1のフォーマットへリフォーマット
する。リフォーマットされると、プロキシ・サーバは、
このウェブ・コンテンツを要求側の第1のクライアント
へ送り返す。
【0015】次に、第1のクライアントとは異なるクラ
イアント能力を持つ第2のクライアントが、ウェブ・コ
ンテンツに対する第2の要求をプロキシ・サーバに発す
る。この第2の要求は、第2のクライアントのクライア
ント能力を表わす情報を含む。プロキシ・サーバは、こ
の第2の要求を受取って、第2のクライアントに適する
第2のフォーマットを第2のクライアントのクライアン
ト能力を表わす情報を用いて決定する。
【0016】要求されたウェブ・コンテンツがプロキシ
・サーバにおいて第2のフォーマットでキャッシュされ
ると、プロキシ・サーバはウェブ・コンテンツを第2の
クライアントへ送る。要求されたコンテンツが第2のフ
ォーマットでキャッシュされなければ、プロキシ・サー
バは適切なモジュールを用いてウェブ・コンテンツを第
2のフォーマットへリフォーマットする。リフォーマッ
トされると、ウェブ・コンテンツは要求側の第2のクラ
イアントへ送られる。キャッシュされたウェブ・コンテ
ンツが(例えば、古すぎるため)用いられなければ、プ
ロキシ・サーバは遠隔サーバに対してウェブ・コンテン
ツの要求を発して、ウェブ・コンテンツを検索する。遠
隔サーバから検索されたウェブ・コンテンツが第2のフ
ォーマットでなければ、プロキシ・サーバは適切なモジ
ュールを用いてウェブ・コンテンツを第2のフォーマッ
トへリフォーマットする。リフォーマットされると、プ
ロキシ・サーバがウェブ・コンテンツを要求側の第2の
クライアントへ送り返す。従って、プロキシ・サーバ
は、少なくとも部分的には要求側のクライアントのクラ
イアント能力を表わす情報に基いて、ウェブ・コンテン
ツが要求側のクライアントへ送り返されるフォーマット
を決定することが判る。
【0017】別の態様によれば、プロキシ・サーバは、
第1のモジュールと第2のモジュールとを含む。第1の
モジュールは第1の方法でコンテンツをリフォーマット
し、第2のモジュールは第2の方法でコンテンツをリフ
ォーマットする。第2のモジュールではなく、第1のモ
ジュールが、第1のクライアントへ供給されるウェブ・
コンテンツをリフォーマットする。第1のモジュールで
はなく、第2のモジュールが、第2のクライアントへ供
給されるウェブ・コンテンツをリフォーマットする。第
1のモジュール及び第2のモジュールは各々、稼働時に
プロキシ・サーバに独立的に動的にリンク可能である実
行可能コードの一部である。
【0018】更に別の態様によると、所与の要求側のク
ライアントへ供給されるリフォーマットされたコンテン
ツのタイプの決定は、オペレータにより変更可能な規則
の組を用いて行われる。最初に、プロキシ・サーバは、
HTTPヘッダ又は要求のフォーム・データにおいて、
クライアント能力を表わす情報を受取る。プロキシ・サ
ーバは、この情報を用いてルックアップ・テーブル又は
データベースからクライアント能力の組を調べる。この
ように決定されたクライアント能力は、オペレータによ
り変更可能な規則の以降の評価のための入力として用い
られる。規則の評価は、どのモジュールが要求されたウ
ェブ・コンテンツを処理するか、及び(又は)これらモ
ジュールがどのように要求されたウェブ・コンテンツを
処理するかを、特定のクライアント能力を持つ要求側ク
ライアントに対して決定する。規則は、比較的理解し易
いテキスト形式で書かれる。このテキスト形式の規則
は、種々のモジュールの動作がモジュール自体のコード
を改変することなく変更されるように、プロキシ・サー
バ・ソフトウエアへ読み込まれる。オペレータは、規則
を変更し及び(又は)モジュールを追加又は削除するた
めに、モジュールの内部動作の詳細な知識を持つ必要が
ない。
【0019】モジュラー・リフォーマット・ソフトウエ
アは、プロキシ・サーバ・アプリケーション以外のアプ
リケーションにより用いられる。一態様においては、イ
ーメール・サーバ・アプリケーションは、このリフォー
マット・ソフトウエアを用いて、イーメールを受け取る
クライアントに対して不適切な第1のフォーマットから
イーメールを受け取るクライアントに適する第2のフォ
ーマットへイーメールの添付書類をリフォーマットす
る。リフォーマットにより、イーメール・クライアント
は、添付書類がリフォーマットされなかったならば読む
ことができなかったイーメール添付書類を読むことがで
きる。リフォーマット・サーバは、クライアントにより
サーバへ送られるイーメール・クライアントのクライア
ント能力を表わす情報を用いて、クライアントに適切な
フォーマットになるように、添付書類をリフォーマット
する方法を決定する。
【0020】本発明の他の態様及び他の実施の形態につ
いては、以降の詳細な記述において記載される。ここに
記載した発明の概要は本発明を限定するものではない。
本発明は、頭書の特許請求の範囲によって規定される。
【0021】
【発明の実施の形態】図2は、本発明の一態様によるシ
ステム100の図である。システム100は、複数のク
ライアント102−104を含む第1の対話型テレビジ
ョン・ネットワーク101を含む。クライアント102
−104は、クライアント/サーバ接続線105−10
7と第1のモジュラー・プロキシ・サーバ108とを介
してインターネット109に結合される。クライアント
/サーバ接続線105−107は、ダイアルアップ接
続、ISDN接続、T1接続、DSL接続、或いはケー
ブル・モデム接続を含む任意の適切なタイプのものでよ
い。第1のプロキシ・サーバ108は、第1のオペレー
タにより動作される。クライアント102−104のユ
ーザは、典型的には、第1のモジュラー・プロキシ・サ
ーバ108を介してインターネット109にアクセスす
る能力を含む、提供される種々のサービスについて第1
のオペレータに支払う顧客である。図2の事例において
は、第1の対話型テレビジョン・ネットワーク101は
ウェブ・ネットワークであり、クライアント102−1
04は米国カルフォルニァ州Mountain Vie
wのWebTV Networks社から入手可能なウ
ェブTVセット・トップ・インターネット端末である。
従って、第1のプロキシ・サーバ108のオペレータは
米国カルフォルニァ州Mountain ViewのW
ebTV Networks社である。ウェブTV セ
ット・トップ・ボックス・インターネット端末について
の更なる情報については、米国特許出願第09/29
5,746号及び同第09/238、133号を参照さ
れたい(これら米国特許出願の主題は、参考のため本文
に援用される)。クライアント/サーバ対話型テレビジ
ョン・ネットワークの構造及び動作のプロキシ・サーバ
についての更なる一般的情報については、米国特許第
5,918,013号及び同第5,935,207号を
参照されたい(これら米国特許の主題は参考のため本文
に援用される)。
【0022】本発明の一態様によれば、第2の対話型テ
レビジョン・ネットワーク110が提供される。第2の
ネットワーク110のプロキシ・サーバ111における
ソフトウエアは、第1のネットワークのプロキシ・サー
バ108におけるソフトウエアと高度の共通性を共有す
るが、第2のネットワーク110は第2のオペレータに
より動作させられる。第1のネットワーク101のプロ
キシ・サーバ108のソフトウエアと、第2のネットワ
ーク110のプロキシ・サーバ111のソフトウエアと
は、適応可能かつカスタマイズ可能なモジュラー・ソフ
トウエア・プラットフォームであり、このソフトウエア
・プラットフォームは、第1のネットワーク101にお
ける第1のプロキシ・サーバ108としての動作に対し
て第1の方法で適応され且つカスタマイズされ、このソ
フトウエア・プラットフォームは第2のネットワーク1
10における第2のプロキシ・サーバ111としての動
作に対して第2の方法で適応され且つカスタマイズされ
る。
【0023】同じプラットフォーム・ソフトウエアが2
つのネットワーク101、110のプロキシ・サーバで
実行されても、この2つのネットワークは、2つのネッ
トワークのユーザの視点からは、別個の異なるネットワ
ークである。2つのネットワークのプロキシ・サーバの
内部構造の共通性は、2つのネットワークのいずれのユ
ーザからも容易に明らかになるものではない。第2のネ
ットワーク110のユーザは、第1のオペレータではな
く第2のオペレータの顧客である。図2の事例において
は、クライアント112−114は、クライアント10
2−104とは異なる製造及び構造の対話型テレビジョ
ン・インターネット端末である。クライアント112−
114は、クライアント/サーバ接続線115−117
と第2のモジュラー・プロキシ・サーバ111とを介し
てインターネット109に結合される。
【0024】図3は、図2のシステム100の動作に従
う方法のフローチャートである。第1のネットワーク1
01のクライアント102−104は、ウェブ・コンテ
ンツが第1のフォーマットで提供されるときに、遠隔サ
ーバ118におけるウェブ・コンテンツを最もよく利用
することができるクライアントである。他方、第2のネ
ットワーク110のクライアント112−114は、ウ
ェブ・コンテンツが第2のフォーマットで提供されると
きに遠隔サーバ118におけるウェブ・コンテンツを最
もよく利用できるクライアントである。
【0025】一例において、クライアント102−10
4のディスプレイは、クライアント112−114のデ
ィスプレイよりも低解像度のものである。遠隔サーバ1
18におけるウェブ・コンテンツはイメージのためのイ
メージ・データであり、このイメージ・データはクライ
アント102−104又はクライアント112−114
のディスプレイに表示することができるよりも高解像度
のものである。従って、イメージ・データを要求側のク
ライアントへ転送する必要があるイメージの情報量を減
じるために、イメージ・データがクライアント112−
114へ送られる場合よりもクライアント102−10
4へ送られる場合の方が、イメージ・データ量が多く低
減される。モジュラー・プロキシ・サーバ・ソフトウエ
ア・プラットフォームと共に最初に提供された第1の動
的にリンク可能なイメージ・リフォーマット・モジュー
ル(MODULE 1)は、クライアント102−10
4に対する適切な量の低減を行う。従って、第1のネッ
トワーク101の第1のオペレータは、このMODUL
E 1を用いてイメージ・データをリフォーマットす
る。しかし、このイメージ・データは、第2のオペレー
タにより当該目的のために特に書かれる動的にリンク可
能なイメージ・リフォーマット・モジュール(MODU
LE 4)を用いて、第2のネットワーク110のクラ
イアント112−114に対してリフォーマットされ
る。このプラットフォームにより提供される元のイメー
ジ・リフォーマット・モジュール(MODULE 1)
は第2のプロキシ・サーバ111から除去され、その代
り、特別に書かれたMODULE4が用いられる。この
2つのモジュール(MODULE 1及びMODULE
4)は、COMプログラミング規格に従って書かれた動
的にリンク可能なモジュールである。
【0026】第1のステップ200(図3参照)におい
て、第1のモジュラー・プロキシ・サーバ108は、
1)遠隔サーバ118におけるウェブ・コンテンツに対
する第1のクライアント102からの要求と、2)第1
のクライアントのクライアント能力を表わす情報とを受
取る。クライアント能力を表わす情報は、例えば、HT
TP要求のヘッダ又はフォーム・データに含まれる。ク
ライアント能力を表わす情報は、クライアントによりプ
ロキシ・サーバ108へ送られるクライアント能力であ
り、或いは、クライアント能力を表わす情報は、クライ
アント能力を決定するために使用可能な他の情報であり
得る。当例においては、当該情報は、第1のクライアン
ト102のディスプレイの特定の解像度を表わす情報
(ブラウザのタイプ、ソフトウエアのバージョン番号、
及びソフトウエアの作成番号)である。この情報はディ
スプレイの解像度ではないが、実施の形態によっては解
像度であり得る。
【0027】第2のステップ201において、第1のモ
ジュラー・プロキシ・サーバ108は、要求されたウェ
ブ・コンテンツをイメージ・リフォーマット・モジュー
ル(MODULE 1)を用いてリフォーマットするこ
とを決定するため、クライアント102の能力を表わす
前記情報を用いる。クライアント能力を表わす情報か
ら、当例における第1のプロキシ・サーバ108は、第
1のクライアントが特定の解像度のディスプレイを持
ち、従ってMODULE 1によりリフォーマットされ
たイメージ・データが最もよく提供されるものと決定す
る。要求されたウェブ・コンテンツが第1のプロキシ・
サーバ108に存在しなければ、第1のプロキシ・サー
バ108は、このウェブ・コンテンツに対する要求を遠
隔サーバ118に対して発する。遠隔サーバ118は、
要求されたウェブ・コンテンツ(この場合は、イメージ
・データ)を第1のプロキシ・サーバ108へ送り返す
ことにより応答する。
【0028】次に(ステップ202)、第1のプロキシ
・サーバ108は、第1のモジュール(MODULE
1)を用い且つ第2のモジュール(MODULE 4)
は用いずに、ウェブ・コンテンツを第1のリフォーマッ
トされたコンテンツにリフォーマットする。当例では、
第1のリフォーマットされたコンテンツはクライアント
102のディスプレイに対して適切な解像度を持つ。次
いで(ステップ203)、第1のプロキシ・サーバ10
8は、第1のリフォーマットされたコンテンツを要求す
る第1のクライアント102へ送り返す。
【0029】次に(ステップ204)、第2のネットワ
ーク110の第2のモジュラー・プロキシ・サーバ11
1は、1)遠隔サーバ118におけるウェブ・コンテン
ツに対する要求を第2のクライアント112から受取
り、2)第2のクライアント112のクライアント能力
を表わす情報を受取る。当例では、この情報は要求のヘ
ッダに含まれ、第2のクライアント112のディスプレ
イの解像度を表わしている。
【0030】次に(ステップ205)、第2のモジュラ
ー・プロキシ・サーバ111は、第2のクライアント1
12のクライアント能力を表わす情報を用いて、要求さ
れたウェブ・コンテンツを第2のモジュール(MODU
LE 4)を用いてリフォーマットすることを決定す
る。当例では、第2のモジュールが、第2のクライアン
ト112のディスプレイの解像度に対する適切な解像度
を持つように、要求されたイメージ・データをリフォー
マットする。要求されたウェブ・コンテンツが第2のプ
ロキシ・サーバ111に存在しなければ、第2のプロキ
シ・サーバ111がウェブ・コンテンツに対する要求を
遠隔サーバ118に対して発する。遠隔サーバは、要求
されたウェブ・コンテンツを第2のプロキシ・サーバ1
11へ送り返すことにより応答する。次いで(ステップ
206)、第2のモジュラー・プロキシ・サーバ111
は、第2のモジュール(MODULE 4)を用い且つ
第1のモジュール(MODULE 1)は用いずに、ウ
ェブ・コンテンツを第2のリフォーマットされたコンテ
ンツにリフォーマットする。次いで(ステップ20
7)、第2のモジュラー・プロキシ・サーバ111が、
第2のリフォーマットされたコンテンツを第2のクライ
アント112へ与える。従って、第1のネットワーク1
01におけるプロキシ・サーバ・プラットフォームの第
1の事例が、特定のモジュール(MODULE 1)を
用いて、要求されたウェブ・コンテンツをリフォーマッ
トし、第2のネットワーク110におけるプロキシ・サ
ーバ・プラットフォームの第2の事例が、異なるモジュ
ール(MODULE 4)を用いて、まさに同じ要求さ
れたウェブ・コンテンツをリフォーマットすることが判
る。
【0031】図4は、図2のシステム100の動作に従
う別の方法のフローチャートである。当該方法において
は、ウェブ・コンテンツが、要求側のクライアントの異
なるクライアント能力に依存して、同じ対話型テレビジ
ョン・ネットワーク内で異なる方法においてフォーマッ
トされる。
【0032】第1のステップ(ステップ300)におい
ては、モジュラー・プロキシ・サーバ108が遠隔サー
バ118におけるウェブ・コンテンツに対する要求を第
1のクライアント102から受取る。このモジュラー・
プロキシ・サーバ108もまた、第1のクライアント1
02のクライアント能力を表わす情報を第1のクライア
ント102から受取る。クライアント能力を表わすこの
情報は、当例では、要求のヘッダに存在しており、第1
のクライアント102が第1の圧縮フォーマットで圧縮
されたイメージを取扱うよう動作可能にされることを示
す。
【0033】次に(ステップ302)、モジュラー・プ
ロキシ・サーバ108は、要求されたウェブ・コンテン
ツを第1のモジュール(MODULE 1)を用いてリ
フォーマットすることを決定するため、クライアント能
力を表わす情報を用いる。この第1のモジュールは、例
えば、イメージ・データを第1の圧縮フォーマットで圧
縮されたイメージ・データへリフォーマットする。
【0034】要求されたウェブ・コンテンツがプロキシ
・サーバ108に存在しなければ、プロキシ・サーバ1
08はウェブ・コンテンツに対する要求を遠隔サーバ1
18へ発する。遠隔サーバ118は、要求されたウェブ
・コンテンツをプロキシ・サーバ108へ送り返すこと
により応答する。次いで(ステップ303)、モジュラ
ー・プロキシ・サーバ108は、第1のモジュール(M
ODULE 1)を用い且つ第2のモジュール(MOD
ULE 3)は用いずに、ウェブ・コンテンツを第1の
リフォーマットされたコンテンツへリフォーマットす
る。当例では、第1のリフォーマットされたコンテンツ
は、第1の圧縮フォーマットにおけるイメージ・データ
である。いったん生成されると、この第1のリフォーマ
ットされたコンテンツは、要求する第1のクライアント
102へ送り返される。従って、イメージ・データは、
第1のクライアント102により好まれる第1の圧縮フ
ォーマットをしている。
【0035】次に、モジュラー・プロキシ・サーバ10
8は、遠隔サーバ118における同じウェブ・コンテン
ツに対する要求をネットワーク101の第2のクライア
ント103から受取る。このモジュラー・プロキシ・サ
ーバ108もまた、第2のクライアント103のクライ
アント能力を表わす情報を受取る。この情報は再び、要
求のヘッダに存在し得る。
【0036】次いで、モジュラー・プロキシ・サーバ1
08は、ウェブ・コンテンツを第2のモジュール(MO
DULE 3)を用いてリフォーマットすることを決定
するため、第2のクライアント103のクライアント能
力を表わす情報を用いる。プロキシ・サーバ108によ
りすでに回収された要求されるウェブ・コンテンツは、
サーバ108のキャッシュ119において(遠隔サーバ
118に記憶される如き)その元のフォームでキャッシ
ュされ得る。このようにキャッシュされたウェブ・コン
テンツが古すぎなければ、プロキシ・サーバ108はこ
のコンテンツを用いるのであり、遠隔サーバ118から
ウェブ・コンテンツを回収する必要はない。さもなけれ
ば、プロキシ・サーバ108はウェブ・コンテンツに対
する要求を遠隔サーバ118に対して発する。遠隔サー
バ118は、要求されたウェブ・コンテンツをプロキシ
・サーバ108へ送り返すことにより応答する。
【0037】次に(ステップ308)、モジュラー・プ
ロキシ・サーバ108は、第2のモジュール(MODU
LE 3)を用い且つ第1のモジュール(MODULE
1)は用いずに、ウェブ・コンテンツを第2のリフォ
ーマットされたコンテンツへリフォーマットする。当例
における第2のモジュールは、イメージ・データを、第
2のクライアント103により好まれる第2の圧縮フォ
ーマットの圧縮イメージ・データへリフォーマットす
る。第2のリフォーマットされたコンテンツがいったん
生成されると、モジュラー・プロキシ・サーバ108
は、第2のリフォーマットされたコンテンツを第2のク
ライアント103へ与える(ステップ309)。
【0038】従って、当該方法においては、モジュラー
・プロキシ・サーバは、ウェブ・コンテンツが第1のク
ライアント能力を持つ第1のクライアントにより要求さ
れると、第1のモジュールを用いて1つの方法でウェブ
・コンテンツをリフォーマットするが、ウェブ・コンテ
ンツが第2のクライアント能力を持つ第2のクライアン
トにより要求されると、第2のモジュールを用いて第2
の方法で同じウェブ・コンテンツをリフォーマットする
ことが判る。第1のクライアントは、例えば、第2のタ
イプの圧縮フォーマットをデコードする能力を持たない
簡単な装置(例えば、PalmPilot、パーソナル
・オーガナイザ、或いはセルラー電話)でよい。第2の
クライアントは、例えば、第2のタイプの圧縮フォーマ
ットをデコードする能力を有するウェブTVインターネ
ット端末でよい。
【0039】図5は、モジュラー・プロキシ・サーバ1
08の動作例を示しており、クライアント102は、イ
メージを含むHTMLウェブ・ページを要求する。イメ
ージに対するイメージ・データは、第1のクライアント
102のスクリーンに表示できるよりも高い解像度を持
つ。イメージに対するHTMLイメージ・タグはイメー
ジに対するサイズ情報を含まないので、HTMLが欠如
サイズ情報なしにクライアント102へ送られたなら
ば、バックグラウンド・ページの作成と関連する「知覚
される待ち時間」の問題が、クライアント102におい
て生じ得る。
【0040】モジュラー・プロキシ・サーバ108は、
プロキシ・サーバ・アプリケーション400、コンテン
ツ・リフォーマット(CRF)・オブジェクト401、
複数のコンテンツ・リフォーマット・モジュール(CR
M)・オブジェクト402−405、及びCRF管理コ
ンフィギュレーション・インターフェース・システム
(CACIS)406を含む。CRF401は、コンテ
ンツ・リフォーマット・プロセスを制御する。CRF4
01は、コンテンツのリフォーマットが当該サーバにお
いてどのように行われるべきかについての情報を記憶す
る関連コンフィギュレーション・オブジェクト407を
有する。この情報は、1組の規則408と存在するCR
M(及び任意のサブCRM)のリスト409とを含む。
【0041】規則408は、人間が読めるテキスト・フ
ァイル410としてのテキスト・フォームで、或いはグ
ラフィカル・ユーザ・インターフェース(GUI)41
1を介して、オペレータによりCACIS406へ入れ
られる。CACIS406は更に、この規則をコンフィ
ギュレーション・オブジェクト407の規則部408へ
ロードする。各規則は、条件(ブール代数表現の組)と
結果として得る表現とを有する。結果として得る表現
は、各CRMへ進む入力パラメータを持つCRMリスト
(通常は1つのみであるが、いくつか存在し得る)であ
る。「真」と評価される全ての規則が実行され、これら
規則の実行順序は、これらがテキスト・ファイル410
に現われる順序に従う。
【0042】図6は、テキスト・ファイル410の一例
である。プロキシ・サーバ108が初期化されると、C
ACIS406がテキスト・ファイル410を読出し、
次に規則をコンフィギュレーション・オブジェクト40
7の規則部408へロードする。CACIS406はま
た、存在するCRM402−405のリストをリスト4
09にロードする。
【0043】規則部408は、動作時間に、入力として
要求変数及び(又は)クライアント能力を用いて評価さ
れる。要求変数は、コンテンツ長、コンテンツ・タイ
プ、及びユーザ・エージェントを含む(コンテンツ長及
びコンテンツ・タイプは、要求自体から直接生じるので
はなく、要求に対する応答から生じるものであるとして
も、「要求変数」と見なされる。これらが、要求により
要求される情報を記述するという意味で、要求と関連す
るからである)。クライアント能力は、オペレータが拡
張可能である。各変数については、許容値又は値の範囲
が存在する。
【0044】クライアント能力は、或る実施の形態で
は、要求時にクライアントからプロキシ・サーバへ送る
ことができるが、ここに述べた実施の形態では、クライ
アント能力は、クライアント能力データベース(CC
D)を用いてプロキシ・サーバ・アプリケーション40
0により決定される。要求側のクライアントから受取ら
れるクライアント能力を表わす情報(例えば、要求側の
クライアントにおいて実行するブラウザに対するブラウ
ザ識別子、ブラウザ・ソフトウエアのソフトウエア・バ
ージョン番号、及びブラウザ・ソフトウエアのソフトウ
エア作成番号)は、要求側のクライアントの対応クライ
アント能力を調べるのに用いられる。当例においては、
ブラウザ識別子、ソフトウエア改定番号及びソフトウエ
ア作成番号は、クライアント102から受取る如き要求
のヘッダに存在する。この情報は、WebTV−1.2
−XXXXの形態である。「WebTV」部分は、ブラ
ウザ識別子である。他の可能性は、「ネットスケープ」
及び「モジラ(Mozilla)」を含む。「1.2」
部分は、ソフトウエアの改定番号である。「XXXX」
部分は、4桁のソフトウエア作成番号である。当例で
は、プロキシ・サーバ・アプリケーション400が、ク
ライアント能力を表わす情報から、クライアント102
が「クライアント能力」、すなわち、x次元(水平次
元)におけるディスプレイ解像度、y次元(垂直次元)
におけるディスプレイ解像度、カラー方式、ビット深
さ、接続速度、接続タイプ、メモリ量、キャッシュ・メ
モリ量、ディスク・スペース量、プロセッサ速度、サポ
ートされるイメージ・フォーマット、サポートされるオ
ーディオ・フォーマット、クライアントがステレオ音響
をサポートするか単にモノ音響だけか、のそれぞれに対
する特定値を持つことを決定する。
【0045】いったんクライアント能力及び要求変数
(コンテンツ長、コンテンツ・タイプ及びユーザ・エー
ジェント)が特定の要求に対して判ると、プロキシ・サ
ーバ・アプリケーション400が、新たな変換のためコ
ンテキスト・オブジェクト(CTX)413を生成する
ために前記情報を入力として用いて、メソッド「Cre
ateNewContext」415を呼出す。(用語
「変換」は、リフォーマット操作を示すため用いられ
る。)CRF401は、新たなCTX413を照会し、
インターフェース・ポインタ(CTX413に対するハ
ンドル)を取得し、これをプロキシ・サーバ・アプリケ
ーション400へ与える。生成されると、CTX413
はプロキシ・サーバ・アプリケーション400が通信す
るオブジェクトである。
【0046】当例においては、要求されたHTMLドキ
ュメントはキャッシュ414においてキャッシュされな
い。従って、プロキシ・サーバ108は、HTMLドキ
ュメントに対する要求を遠隔サーバ118へ発する。遠
隔サーバ118は、HTMLをプロキシ・サーバ108
へ送り返すことによって応答する。HTML(データ)
がプロキシ・サーバ108へ戻り始めると、プロキシ・
サーバ・アプリケーション400が標識によりCTX4
13における「PushData」関数416を呼出
す。この標識は、更に多くのデータが後に続くこと(デ
ータ・ストリーミングの場合のように)を示すか、或い
は全てのデータがコンテキストへプッシュされたことを
示す。CTX413は、コンフィギュレーション・オブ
ジェクト407に対する参照を用い、決定されたクライ
アント能力及び要求変数を用いて、規則408の評価を
生じさせる。この規則評価の結果は、1)HTMLを処
理するのに用いられるCRMの順序付きリスト(順序
は、CRMが用いられる順序を示す)、及び2)CRM
の挙動を制御する各CRMごとの入力制御パラメータで
ある。個々のCRMの動作は、これに送られる入力制御
パラメータにより制御される。
【0047】当例においてHTMLの処理のため用いら
れるCRMは、ページ・パッチャCRM402及びトー
クナイザ(tokenizer)CRM403である。
ページ・パッチャCRM402に対する入力制御パラメ
ータの1つは、各構造が行われるべき特定のページ・パ
ッチを規定する構造のリストである。トークナイザCR
Mは、入力制御パラメータを受取らない。
【0048】CTX413は、順序付きリストにおける
最初のCRMへ進み、CRMにおけるCreateNe
wStateを呼出すことにより1つの状態(図示せ
ず)を生成する。(CRMにより行われる各動作ごとに
新たな状態が存在する。)次いでCTX413は、適切
な入力制御パラメータを当該CRMへ送り、その状態に
ついて関数「process data」417を呼出
す。当例においては、順序付きリストにおける最初のC
RMはページ・パッチャCRM402である。クライア
ント102が特定のHTMLシーケンスに問題を有する
ことが判ると、ページ・パッチャCRM402はHTM
Lにおける特定の問題となるシーケンスを探し、これを
許容し得るシーケンスで置換する。次に、データはCT
X413へ戻る(418)。CTX413は、順序付き
リストにおける次のCRM(この場合、トークナイザC
RM403)へ進み、トークナイザCRM403の状態
(図示せず)を生成し、トークナイザの状態の関数「p
rocess data」を呼出す(419)。
【0049】当例においては、遠隔サーバ118から受
取られる如きHTMLウェブ・ページにおけるイメージ
・タグは、イメージ・サイズ情報を持たない。従って、
クライアント102は、HTMLがクライアント102
において受取られるときにバックグラウンド・ページを
作ろうとすると、「知覚される待ち時間」を経験するこ
とになる。クライアント102は、そのとき、イメージ
に対するサイズ情報を持たないからである。一方、HT
MLがサイズ情報を含んでいたならば、クライアント1
02は、実際にイメージ・データ自体を受取る前に、イ
メージ・タグにおけるサイズ情報を用いてバックグラウ
ンド・ページを作り始め得る。バックグラウンド・ペー
ジの形成時のこのような「知覚される待ち時間」を除去
するため、HTMLがクライアント102へ戻される前
に、トークナイザCRM403がサイズ情報をHTML
へ挿入する。
【0050】従って、トークナイザの状態はHTMLタ
グをイメージ・タグについて探索し、イメージ・タグか
らイメージ・ネームを取得し、このイメージ・ネームを
用いて前に記憶された特定のイメージに対するサイズ情
報をキャッシュ414において探し、次に文字H=
、W= を適切な場所におけるHTMLのストリー
ムへ付記してイメージ・タグがイメージのサイズを示す
ようにする。
【0051】図7は、トークナイザの状態500のこの
動作の図である。トークナイザの状態500は、変換自
体を行うのではなく、トークナイザ501を用いてHT
MLテキスト502のストリームを概念的トークンのス
トリーム503へ変換する。これらのトークン503は
一連のトークナイザ・サブモジュール504、505へ
送られ、そこでトークンの修正、挿入、除去及び(又
は)作成が行われる。トークナイザ・サブモジュールの
組は、CRMの組と同じ方法で修正し得る演算子であ
る。当例においては、トークナイザ・サブモジュール5
04は、イメージ・ネーム506をイメージ・タグから
キャッシュ414へ送る。このイメージ・ネームは、サ
ブモジュール504へ戻される(507)イメージに対
する記憶されたサイズ情報(高さと幅)を識別する。こ
のサイズ情報は、適切に修正されたトークン・ストリー
ム508を生じるように挿入される。この修正されたト
ークン・ストリーム508は、次に、トークナイザの状
態500のデトークナイザ(detokenizer)
510により,修正されたHTMLテキスト・ストリー
ム509へ変換される。この修正されたHTMLは、次
にCTX413へ返される(509、420)。
【0052】CTX413は、HTMLデータを取り戻
すとき、規則408を再評価させる。このCTXは、関
数「PushData」の呼出しから戻り、修正された
HTML(この時、イメージのサイズ情報を含んでお
り、誤って形成された或いはクアークで生じたHTML
が除去される)を再びプロキシ・サーバ・アプリケーシ
ョン400へ送り返す(421)。次に、要求されたH
TMLは要求側のクライアント102へ戻される。クラ
イアント102は、このHTMLを受取り、イメージ・
タグにおけるサイズ情報を用いてバックグラウンド・ペ
ージを作り始める。クライアント102は、実際のイメ
ージ・データ自体を受取り或いは要求する前に、バック
グラウンド・ページを作り始める。従って、上記の「知
覚される待ち時間」の問題は解決される。
【0053】次いで、クライアント102は、イメージ
・データに対する要求をプロキシ・サーバ108へ発す
る。プロキシ・サーバ108は、キャッシュ414を検
査し、このイメージ・データがそこにキャッシュされた
かどうかを判定する。イメージ・データがキャッシュさ
れると、プロキシ・サーバ108は、判定されたクライ
アント能力に基いて、適切なものとしてリフォーマット
されたイメージ・データを戻す。イメージの多くのバー
ジョンがキャッシュされ得、要求側のクライアントに対
して適切であるこれらバージョンの1つが、クライアン
ト能力により決定される。
【0054】或いはまた、イメージ・データの唯一つの
バージョンがキャッシュされ、このバージョンが必要に
応じてリフォーマットされる。クライアント能力は、リ
フォーマットが要求側のクライアントに対してどのよう
に行われるべきかを決定するために用いられる。
【0055】当例においては、プロキシ・サーバ108
は、要求されたイメージ・データをキャッシュしなかっ
た。従って、プロキシ・サーバ108は、遠隔サーバ1
18からのイメージ・データについての要求を発する。
遠隔サーバ118がイメージ・データに応答すると、プ
ロキシ・サーバ108は、イメージ・データ要求に対す
るコンテンツ長、コンテンツ・タイプ、ユーザ・エージ
ェント及びクライアント能力を通すことにより、別のコ
ンテキストを生成する。次いで、プロキシ・サーバ・ア
プリケーション400は、このコンテキストにおける
「PushData」関数を呼出し、その結果を評価し
て、使用するCRMのリストとリストされたCRM毎の
1組の入力制御パラメータとを生成する。当例において
は、1つのCRMすなわちイメージCRM404によっ
て全てのイメージのリフォーマットが行われる。CRM
405は、オーディオ・リフォーマッティングを行う。
【0056】当例においては、遠隔サーバ118から受
取られる如きイメージ・データは、要求側のクライアン
トのディスプレイに表示できるよりも高い解像度のもの
である。イメージCRM404に要求側のクライアント
102のディスプレイに対して適切な解像度のイメージ
・データを出力させる入力パラメータを用いて、イメー
ジCRM404の新たな状態が生成される。コンテキス
トは、イメージ・データをイメージCRM状態へ送り、
処理されたイメージ・データを再び受取る。コンテキス
トは、プロキシ・サーバ・アプリケーション400に対
して、処理されたイメージ・データ(要求側のクライア
ント102のディスプレイに適切な解像度である)を送
ることによって、「PushData」関数の呼出しか
ら戻り、アプリケーション400は要求側のクライアン
ト102にイメージ・データを送り返す。クライアント
102は、このイメージ・データを用いて、イメージに
対してバックグラウンド・ページに残された空きスペー
スを埋め、これにより完成されたウェブ・ページを作
る。イメージ・データは、一連の塊りとして処理するこ
とができる。個々の塊りはプロキシ・サーバ・アプリケ
ーション、コンテキスト及び適切なCRMを用いて処理
されて、先に述べたように再びプロキシ・サーバ・アプ
リケーションへ戻される。これによりストリーミングが
容易になる。
【0057】リフォーマッティングが完了すると、メソ
ッドDeleteContextがプロキシ・サーバ・
アプリケーション400により呼出される。コンテキス
トは初めから終りまでリフォーマット操作に従うので、
使用するプロキシ・サーバ・アプリケーション400に
対するコンテキストに変換統計(総計算時間、二乗平均
誤差及び注目条件)を記憶することが可能である。この
理由から、プロキシ・サーバ・アプリケーション400
は、コンテキストのライフタイムを完全に制御する。CRM CRMは、コンテンツの変換に関係する特化された作業
を行う。マシンごとに1つのCRMが例示されている
が、複数の線により、同じ事例を複数の変換上で同時に
働かせることができる。標準的なプロキシ・サーバ・プ
ラットフォームには4つのCRMが設けられる。第1の
CRMはページ・パッチャである。第2のCRMはトー
クナイザである。第3のCRMはイメージ変換を取扱
い、データ・ストリーミングをサポートする。第4のC
RMはオーディオ変換を取扱い、データ・ストリーミン
グをサポートする。これらCRMの挙動は、各CRMに
固有の1組の入力制御パラメータを介して修正可能であ
る。要求ごとのこれら入力制御パラメータの選択は、規
則408を評価することによって行われる。各CRMの
設計者は、CRMが規則408に含まれるべきであるな
らば、サポートされる入力制御パラメータのリストを
(例えばXMLファイルで)それらのデフォルト値及び
許容範囲と共に公開しなければならない。多くの場合に
おけるこれら入力制御パラメータは、それ自体のCRM
を書込む必要なく、オペレータに全ての必要な柔軟性を
与える。しかし、(例えば、特定のクライアントに見出
されるバグと取り組むため)非常に特化された処理の必
要が生じる場合、オペレータはカスタムCRM(カスタ
ムCRM及びカスタム・サブCRM)を書込む選択肢を
有する。これらカスタムCRMは、プラットフォームに
提供されるCRMの前に置くか、その後に置くか、或い
はこれを置換するかのいずれかである。存在するCRM
は、リスト409に示される。オペレータは、CRMを
リスト409へ付加することができる。オペレータはま
た、リスト409からCRMを削除することもできる。
【0058】オーディオ・モジュールのようなストリー
ミングCRMが変換完了前に多数回呼出されるゆえに、
状態情報の一時的記憶が必須である。このような状態情
報は、モジュール状態オブジェクトに記憶され、コンテ
キスト自体に保持される。ストリーミング変換はまた、
複数のCRMがデータ・ストリームの異なる部分で同時
に働く可能性をも生じる。従って、コンテキストはCR
M識別子(割当てられたID又はCRMポインタ)でア
クセスされるモジュール状態のリストを実際に保持す
る。同様に、CRMごとにバッファリングが行われ、こ
れらバッファはモジュール状態に記憶される。
【0059】CRMインターフェースは、4つの関数、
すなわちDigestParams、CreateNe
wState、DeleteState及びIniti
alizeを含む。
【0060】HRESULT DigestParam
s([in]RawParamType rawPar
ams、[out]IWtvCRMParamType
**digParams)。この関数「DigestP
arams」は、規則がプロキシ・サーバ108の初期
設定時及び規則408がCACISインターフェース4
06で変更されるときに呼び出される。生のテキストの
入力制御パラメータは、タグ値の対の簡単なセミコロン
で区切られたストリング即ち他の構成であり、或いは、
これら入力制御パラメータはCRMにより他の方法で個
々に調べられる。CRMは、生の入力制御パラメータを
構文解析し、これらの生の入力制御パラメータを、形態
がそれ自体及びそのモジュール状態に対してのみ知られ
ているコンパクトで最適化された構造へ変換する。この
ような最適化されたフォーマットは、要約されたパラメ
ータとして知られ、一般COMインターフェース・ポイ
ンタを介してCRMコンフィギュレーション・オブジェ
クトへ返される。このように、フレームワークは、要約
されたパラメータの内部構造を正確に指定し或いは知る
ことなく、前記パラメータから(コンテンツをログにダ
ンプするなどの)或るベース・レベルの機能を要求する
ことができる。これら要約されたパラメータは、コンフ
ィギュレーション・オブジェクト407の規則部408
における規則の内部表示(規則ツリー)にCRMポイン
タと共に記憶される。コンテンツの変換が始められる毎
に、生のパラメータではなく要約されたパラメータが用
いられる。従って、入力パラメータの構文解析、圧縮、
最適化及び連結済み検査の作業は、システムの始動時に
各規則毎に1回だけ行われる。
【0061】HRESULT CreateNewSt
ates ([in]IWtvCRMParamTyp
e*params、[in]IWtvCRMConte
xt*context、[out]IWtvCRMSt
ates**moduleState)。この関数は、
変換に呼出される各CRMごとに1回コンテキストによ
り呼出される。このコンテキストは次に、モジュール状
態と相互作用してデータを処理する。CRMは、同じ変
換についての複数の呼出しを参照するため、パラメータ
をモジュール状態に記憶する。
【0062】HRESULT DeleteState
([in]IWtvCRMState*moduleS
tate)。この関数は、変換が完了してCRMの状態
情報がそれ以上必要でないときに呼出される。CRM状態 CRM状態は、到達するデータがしばしば塊りで処理さ
れるので,必要なオブジェクトである。このコンテキス
トは、新たなデータの到着を待ちながら、CRMの作業
状態(例えば、パラメータと一時データ)を記憶する方
法を必要とする。CRMState自体は、変換作業
(この作業は図5において行われるように、CRMの内
部要素と見なすことができる)を行う。CRMStat
eインターフェースは4つの機能、すなわち、Proc
essData、IsStreaming、Minim
umInputData、GetSpool、及びGe
tStateを有する。データは、コンテキストにより
CRMStateを通して送られ、ProcessDa
taと共にコンテキストへ返される。コンテキストは、
2つの関数「IsStreaming」及び「Mini
mumInputData」を用いて、どのように到来
データを最もよくバッファするかを決定する。部分的に
到来するデータは、ストリーミングが可能である場合に
のみ、且つ利用可能なデータ量がストリーミングのため
の最小入力データを越える場合に、CRMStateへ
渡される。さもなければ、コンテキストはより多くのデ
ータが到来するまでデータをバッファする。GetSp
oolは、コンテキストとモジュール状態間の不要なデ
ータ複写を避ける1つの方法である。要するに、これら
データは有効な方法で同じデータ領域を共有する。Ge
tStatesは、コンテキストがどんな種類の特定の
変換がモジュール状態により行われているかを知らない
としても、一般統計的情報をモジュールの状態から抽出
する1つの方法である。この統計は、統計構造に対する
或る最小要件(例えば、そのコンテンツをログ・ファイ
ルへ出力すること)を指示する一般COMインターフェ
ース・ポインタを介して、コンテキストへ返される。従
って、プラットフォーム・ソフトウエアは、プラットフ
ォーム・オペレータ又は第三者のソフトウエア・ベンダ
により書かれた変換に対してさえも、計量の計算及び
(又は)コンテンツ変換統計の収納が可能である。コンテキスト コンテキストは、元の及びその時の要求変数、モジュー
ル状態及びバッファされた入力データを含む特定の変換
のための情報を記録する。データはしばしばサーバによ
り塊りで受取られるので、変換は更に多くのデータが得
られるまで留保される。コンテキストは、どのCRMが
データ・ストリームについて働いているかを記録する。
これらCRMがストリーミングしているならば、コンテ
キストはただちにデータを処理のためCRMへ送る。非
ストリーミング変換では、コンテキストはSTREAM
END標識が受取られるまでCRMに対するデータを
バッファする。この時点で、コンテキストはCRMを処
理のため呼出す。
【0063】コンテキストは、変換が始まるとき、規則
408の評価により生成されるCRMリストを維持する
ことによって、変換に関わったCRMを追跡する。この
リストは、ポインタと、変換が進行するに伴いコンテキ
ストが更新しなければならない各ポインタごとのフラグ
とを含む。フラグは、1)CRMがデータ・ストリーム
に作用しているが一時停止されることを意味するVal
ue WTV CRM ACTIVE、2)CRMがスト
リーム又はデータ・セット全体についての作業を完了し
たことを意味するValue WTV CRM FIN
ISHED、及び3)将来の呼出しのためにCRMが予
定されることを意味するValueWTV CRM
ENDINGの値を持つ。
【0064】規則408の評価により生じるリストは、
要求変数及び(又は)クライアント能力の関数である。
このクライアント能力は、プロキシ・サーバ・アプリケ
ーションにより決定され(プロキシ・サーバはクライア
ント能力を表わす情報からクライアント能力を決定する
ことができ、或いはクライアント能力自体がクライアン
トからプロキシ・サーバへ送られ)て、変換中は一定の
ままであるが、要求変数の一部(すなわち、コンテンツ
・タイプ及びコンテンツ長)はリフォーマットの間に変
化し得る。要求変数が変化する場合は、規則は評価し直
され、これにより、おそらくは異なるCRMリストを生
成する。ルーピングを阻止するために、コンテキストは
新たに生成されるリストからWTV CRM PEND
INGに等しいフラグによりCRMを呼出すだけであ
る。
【0065】コンテキスト・インターフェースは、Pu
shData、Initialize、GetOrig
ContentLength、GetOrigCont
entType、GetCurContentLeng
th、GetCurContentType、GetU
serAgent、GetClientCapabil
ities、SetCurContentLengt
h、及びSetCurContentTypeの10の
関数を呼出す。
【0066】HRESULT PushData([i
n]StreamType*pInStream、[i
n]StreamType*pOutStream、S
treamStatusType*streamSta
tus)。この関数は、プロキシ・サーバ・アプリケー
ションにより呼出されてデータをコンテキストへ送り、
データをコンテキストから回収する。変換が非ストリー
ミングのCRMにより行われるならば、プロキシ・サー
バ・アプリケーションは、データを戻す前に(stre
amStatus=STREAM ENDまで)データ
を数回プッシュすることを予期し得る。最後のPush
Data呼出しが戻るとき、ファイル全体が戻されねば
ならない。ストリーミング変換の場合は、データは呼出
し毎にPushDataへ戻される。streamSt
atusは、1)更に多くのデータが予期されることを
意味するValue STREAM CONT、2)デ
ータの適合性又は予期される終りを示すValue S
TREAM END、及び3)データの早すぎるか予期
しない終り及び(又は)ネットワークの障害を示すVa
lue STREAM ERRORの値のうちの1つを
持ち得る。
【0067】HRESULT Initialize
([in] unsigned int conten
tLength、[in]BSTR contentT
ype、[in]BSTR userAgent、[i
n]ClientCapType*clientCap
s、[in]ConfigType*curConfi
g)。この関数は、CreateNewContext
関数により呼出される。コンテキストは、プロキシ・サ
ーバ・アプリケーション及びCRMにより後で使用され
る先頭の4つの引数を記憶する。各コンテキストは、こ
れが生成されたコンフィギュレーションに対するポイン
タを保持する。このように、たとえ新たなコンフィギュ
レーションが変換の過程において生成されても、変換は
古いほうのコンフィギュレーションを使用し続けること
になる。
【0068】次の6つの関数、即ち、HRESULT
GetOrigContentLength([ou
t] unsigned int*origConte
ntLength);HRESULT GetOrig
ContentType([out]BSTR*ori
gContentType);HRESULT Get
CurContentLength([out] un
signed int*curContentLeng
th);HRESULT GetCurContent
Type([out]BSTR*curContent
Type);HRESULT GetUserAgen
t([out]BSTR*userAgent)及びH
RESULT GetClientCapabilit
ies([out]ClientCapType**c
lientCaps)は、元の及び更新された要求変数
を取得するためプロキシ・サーバ・アプリケーションに
より使用される。下記の2つの関数は、変換中に要求変
数を更新するためCRMにより使用される。元の値とは
異なる値でこれらの関数を呼出すと、規則の再評価を生
じる。userAgent及びclientCaps
は、所与の要求に対して変化せず、従ってこれらは類似
した「セット」関数を持たない。この2つの関数は、H
RESULT SetCurContentLengt
h([in] unsigned int newCo
ntentLength)及びHRESULT Set
CurContentType([in]BSTR n
ewContentType)である。要求変数のどれ
かが変換中に変更されると、この変数は規則の再評価及
び保留中のモジュール・リストにおける可能な変更に至
る。適合性の宣言 遠隔サーバ118におけるウェブ・コンテンツもまたキ
ャッシュ414にキャッシュされる。クライアントがウ
ェブ・コンテンツを要求すると、プロキシ・サーバ・ア
プリケーション400は、キャッシュされたウェブ・コ
ンテンツが、遠隔サーバ118からウェブ・コンテンツ
を回収する代わりに要求側のクライアントへ戻すのに、
及び、この新たに回収されたウェブ・コンテンツを要求
側のクライアントへ戻すのに適するかどうかを判定す
る。一例では、第1のクライアント102がウェブ・コ
ンテンツを要求する。プロキシ・サーバ108は、ウェ
ブ・コンテンツを回収し、回収されたウェブ・コンテン
ツをリフォーマットし、リフォーマットされたウェブ・
コンテンツをキャッシュ414に格納し、またリフォー
マットされたウェブ・コンテンツを再び第1の要求側の
クライアント102へ送る。第2のクライアント103
は、同じウェブ・コンテンツをプロキシ・サーバから要
求する。このキャッシュされたウェブ・コンテンツが第
2のクライアント103のクライアント能力に対して適
切なフォーマットであるならば、プロキシ・サーバは、
このキャッシュされたウェブ・コンテンツを再び第2の
クライアント103へ戻してウェブ・コンテンツに対す
る第2のクライアントのアクセスを迅速にする。一方、
キャッシュされたウェブ・コンテンツが第2のクライア
ント103に対して不適切なフォーマットであるならば
(例えば、第2のクライアント103は、キャッシュ4
14にキャッシュされたウェブ・コンテンツの解読及び
(又は)使用を試みるものとすると、望ましくない方法
で機能することになる)、プロキシ・サーバはキャッシ
ュ時にキャッシュされたウェブ・コンテンツを送るので
はなく、このウェブ・コンテンツを第2の要求側のクラ
イアント103に対して適切なフォーマットで送るべき
である。プロキシ・サーバは、キャッシュされたウェブ
・フォーマットを変形した後、リフォーマットされたウ
ェブ・コンテンツを要求側のクライアントへ送るか、或
いはプロキシ・サーバは、ウェブ・コンテンツを遠隔サ
ーバから回収し、新たに回収されたウェブ・コンテンツ
を適切なフォーマットへリフォーマットし、次いでこの
リフォーマットされたコンテンツを要求側のクライアン
トへ戻す。
【0069】プロキシ・サーバ・アプリケーション40
0は、一つの実施の形態においては、キャッシュされた
ウェブ・コンテンツに関する特定の情報を記憶すること
によって、特定のキャッシュされたウェブ・コンテンツ
が適するかどうかを決定する。第1のクライアントがウ
ェブ・コンテンツを要求し、プロキシ・サーバがこのウ
ェブ・コンテンツをリフォーマットすると、先に述べた
ように規則が評価される。要求の特定の要求変数及び
(又は)この要求に対して決定されたクライアント能力
に従って、個々の規則は真であるか、偽であるか評価さ
れる。真であると評価された各規則に対しては、リフォ
ーマットにおいて用いられるCRMの順序付きリストと
CRMの動作を制御する入力制御パラメータとが、図5
に関して先に述べたように生成される。このような情報
と評価された特定の規則に対するポインタとは、キャッ
シュ414においてリフォーマットされたウェブ・コン
テンツと共にキャッシュされる。
【0070】第2のクライアント103がプロキシ・サ
ーバ・アプリケーションからウェブ・コンテンツを要求
すると、第2の要求に対する要求変数及び(又は)クラ
イアント能力が、規則の評価のために用いられる。第1
の要求の場合と同様に、CRMのリスト及び関連した入
力制御パラメータが決定される。キャッシュされたウェ
ブ・コンテンツが第2のクライアント103に適するか
否かを判定するために、プロキシ・サーバ・アプリケー
ション400は、真と評価された規則と、CRMのリス
トと、キャッシュされた関連する入力制御パラメータと
を、第2の要求に対して判定された規則と比較する。同
じ規則が用いられ、かつ同じ規則が真と評価されるなら
ば、キャッシュされたウェブ・ページが第2のクライア
ントへ送るのに適すると判定される。このような場合、
第2の要求に対して行われる処理は、第1の要求に対す
るものと同じである。
【0071】一方、使用された規則又は真と評価された
規則が第1の要求に対する規則と違うならば、ウェブ・
コンテンツは第2のクライアントへ送るのに適さないと
判定される。従って、ウェブ・コンテンツは、第2の要
求に対して決定されたCRMのリスト及び関連する入力
制御パラメータに従ってリフォーマットされる。
【0072】適合性に対するこのような手法は第2の要
求に対する規則の再評価を介在させるが、他の手法も可
能である。1つの適切な手法では、要求側のクライアン
トのクライアント能力を用いて、キャッシュされた情報
が適切であるかどうかを判定する。例えば、一つの実施
の形態においては、第2のクライアント103のx軸の
解像度と、y軸の解像度と、ビット深さのクライアント
能力とが用いられて、特定の解像度を持つキャッシュさ
れたイメージが第2のクライアントに適するか、或いは
このイメージが第2のクライアントへ与えられる前にリ
フォーマットされるべきかが決定される。イーメール・サーバ・アプリケーション モジュラーCRF及びCRMリフォーマット・ソフトウ
エアが図5におけるプロキシ・サーバ・アプリケーショ
ン400に関して記述されるが、プロキシ・サーバ・ア
プリケーション以外のアプリケーションも、このモジュ
ラーCRF及びCRMリフォーマット・ソフトウエアを
使用することができる。イーメール・サーバ・アプリケ
ーションは、一つの実施の形態においては、このモジュ
ラーCRF及びCRMリフォーマット・ソフトウエアを
用いて、イーメール・メッセージにおける添付書類をク
ライアントが解読できるフォーマットへリフォーマット
する。
【0073】第1のステップにおいて、イーメール・メ
ッセージはプロキシ・サーバ108で走るメール・アプ
リケーションにより受取られる。このイーメール・メッ
セージは、メール記憶部に格納される。次に、クライア
ントは、サーバ108とイーメール・サーバとの接続を
確保する。このような接続が確保されると、クライアン
トはクライアント能力を表わす情報をイーメール・サー
バへ送る。実際のクライアント能力がサーバへ送られ、
或いはクライアント能力を表わす情報がサーバへ送られ
るので、サーバはクライアント能力データベース(CC
D)を用いて、関連するクライアント能力を決定する。
イーメール・サーバは、クライアントに対するイーメー
ル・メッセージをメール記憶部から回収し、クライアン
ト能力を入力として用いて規則を評価し、図5に関して
先に述べた事例においてHTMLが処理された方法と類
似する方法でイーメール・メッセージを処理する。この
場合にのみ、処理がイーメール・メッセージ自体で行わ
れる必要はない。従って、CRMは呼出されない。イー
メール・メッセージは、直ちにはクライアントへ戻され
ず、処理が添付書類について行われる。イーメール・サ
ーバは、添付書類をイーメール・メッセージから切り離
し、その後に添付書類をリフォーマットする。イメージ
が図5に関して先に述べた事例においてリフォーマット
された方法と同様に、新たなコンテキストが生成され、
クライアントのクライアント能力が用いられて、どのC
RMが添付書類を処理するか、及びこれらCRMの動作
を制御するためどの入力制御パラメータが用いられるか
を判定する。添付書類のデータは次に処理のため適切な
CRMへ入れられ、処理されたデータはコンテキストへ
戻される。いったん添付書類のリフォーマットが完了す
ると、添付書類はイーメール・メッセージへ再び挿入さ
れ、イーメール・メッセージがクライアントへ送られ
る。例えば、クライアントが第1のイメージ・フォーマ
ットの添付書類を解読することができないが第2のイメ
ージ・フォーマットのイメージは解読できるならば、ま
た、クライアントに対するイーメールが第1のイメージ
・フォーマットにおける添付書類を含むイーメール・サ
ーバで受取られるものとすれば、イーメール・サーバ
は、クライアント能力を用いて、クライアントへイーメ
ールを返送する前に添付書類を第2のイメージ・フォー
マットへリフォーマットする。従って、クライアント
は、元のリフォーマットされない添付書類は解読できな
くても、イーメールの添付書類を解読することができ
る。一部の実施の形態では、イーメールがリフォーマッ
トされ、イーメール記憶部にリフォーマットされたフォ
ームで格納され、その結果、クライアントが接続を確立
してイーメール・メッセージを回収するとき、クライア
ントはリフォーマットされたイーメール・メッセージを
受取る。他の実施の形態においては、イーメールはリフ
ォーマットされたフォーマットでは格納されず、元のフ
ォーマットでイーメール記憶部に格納される。クライア
ントがイーメールを要求すると、イーメール・メッセー
ジは、クライアントへ返送される直前に回収され、リフ
ォーマットされる。
【0074】本発明については教示の目的のため特定の
実施の形態に関して記述したが、本発明はこれに限定さ
れることはない。一部の実施の形態では、クライアント
能力を表わす情報は要求側のクライアントからサーバへ
送られる実際のクライアント能力であるが、他の実施の
形態においては、クライアント能力を表わす情報は要求
側のクライアントのクライアント能力を決定するためサ
ーバにより用いられる情報である。一部の実施の形態で
は、プロキシ・サーバは、クライアントから要求変数
(例えば、ユーザ・エージェント)を受取るが、他の要
求変数(例えば、コンテンツ長及びコンテンツ・タイ
プ)は遠隔サーバから受取る。COMプログラミング規
格以外の従来のプログラミング手法は、本発明の特質に
よるモジュラー・サーバ・プラットフォームのモジュラ
ー特質を具現するために用いることができる。本発明に
よる方法の諸ステップを実施するソフトウエアは、コン
ピュータ読み取り可能媒体に格納することができる。コ
ンピュータ可読媒体の事例は、磁気記憶媒体、光学的記
憶媒体及び半導体メモリを含む。
【0075】従って、本文に述べた実施の形態の諸特徴
の様々な修正、応用及び組合わせは、頭書の特許請求の
範囲に記載される如き発明の範囲から逸脱することなく
実施可能である。
【図面の簡単な説明】
【図1】コンテンツをリフォーマットするプロキシ・サ
ーバを含む従来技術のネットワークを示す図である。
【図2】本発明の一特質によるシステム100を示す図
である。
【図3】図2のシステム100の動作による本発明の方
法を示すフローチャートである。
【図4】図2のシステム100の動作による別の方法を
示すフローチャートである。
【図5】図2のシステム100のモジュラー・プロキシ
・サーバ108の動作例を示す図である。
【図6】規則のテキスト・ファイルの事例を示す図であ
る。
【図7】図5のトークナイザCRMの動作を示す図であ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイ・ディー・ログ アメリカ合衆国カリフォルニア州95177, サンホゼ,オルセン・ドライブ 3382

Claims (52)

    【特許請求の範囲】
  1. 【請求項1】 第1のモジュールと第2のモジュールと
    を含むプロキシ・サーバで、遠隔サーバからコンテンツ
    を回収するステップと、 前記第1のモジュールを用い且つ前記第2のモジュール
    は用いずに、前記コンテンツをリフォーマットして第1
    のリフォーマットされたコンテンツを得るステップと、 前記第2のモジュールを用い且つ第1のモジュールは用
    いずに、前記コンテンツをリフォーマットして第2のリ
    フォーマットされたコンテンツを得るステップと、 第1のクライアントからのコンテンツに対する要求を前
    記プロキシ・サーバで受取るステップと、 前記プロキシ・サーバから前記第1のクライアントへ前
    記第1のリフォーマットされたコンテンツを供給するス
    テップと、 第2のクライアントからのコンテンツに対する要求を前
    記プロキシ・サーバで受取るステップと、 前記プロキシ・サーバから前記第2のクライアントへ前
    記第2のリフォーマットされたコンテンツを供給するス
    テップと、を含む方法。
  2. 【請求項2】 前記第1のモジュールが、前記プロキシ
    ・サーバの稼働中に該プロキシ・サーバに動的にリンク
    される実行可能コードの一部であり、前記第2のモジュ
    ールが、前記プロキシ・サーバの稼働中に該プロキシ・
    サーバに動的にリンクされる実行可能コードの一部であ
    る、請求項1記載の方法。
  3. 【請求項3】 前記プロキシ・サーバから前記第1のク
    ライアントに前記第1のリフォーマットされたコンテン
    ツを供給するステップが、該第1のリフォーマットされ
    たコンテンツを、前記第1のクライアントのクライアン
    ト能力を表わし且つ該第1のクライアントからの要求に
    存在する情報に少なくとも部分的に基いて第1のクライ
    アントへ供給することを決定するステップを含み、 前記プロキシ・サーバから前記第2のクライアントに前
    記第2のリフォーマットされたコンテンツを与える前記
    ステップが、該第2のリフォーマットされたコンテンツ
    を、前記第2のクライアントのクライアント能力を表わ
    し且つ該第2のクライアントからの要求に存在する情報
    に少なくとも部分的に基いて前記第2のクライアントへ
    供給することを決定するステップを含む、請求項2記載
    の方法。
  4. 【請求項4】 前記第1のクライアントのクライアント
    能力が該第1のクライアントにおけるメモリの記憶スペ
    ース量の表示を含み、前記第2のクライアントのクライ
    アント能力が該第2のクライアントにおけるメモリの記
    憶スペース量の表示を含む、請求項3記載の方法。
  5. 【請求項5】 前記第1のクライアントのクライアント
    能力が該第1のクライアントにおけるディスクの記憶ス
    ペース量の表示を含み、前記第2のクライアントのクラ
    イアント能力が該第2のクライアントにおけるディスク
    の記憶スペース量の表示を含む、請求項3記載の方法。
  6. 【請求項6】 前記第1のクライアントのクライアント
    能力が該第1のクライアントのディスプレイの解像度の
    表示を含み、前記第2のクライアントのクライアント能
    力が該第2のクライアントのディスプレイの解像度の表
    示を含む、請求項3記載の方法。
  7. 【請求項7】 前記第1のクライアントのクライアント
    能力が該第1のクライアントに対する接続の性能の表示
    を含み、前記第2のクライアントのクライアント能力が
    該第2のクライアントに対する接続の性能の表示を含
    む、請求項3記載の方法。
  8. 【請求項8】 前記第1のクライアントに対する接続が
    ダイアルアップ接続であり、前記第2のクライアントに
    対する接続がダイアルアップ接続である、請求項7記載
    の方法。
  9. 【請求項9】 前記第1のクライアントに対する接続が
    DSL接続であり、前記第2のクライアントに対する接
    続がDSL接続である、請求項7記載の方法。
  10. 【請求項10】 前記第1のクライアントに対する接続
    がケーブル・モデム接続であり、前記第2のクライアン
    トに対する接続がケーブル・モデム接続である、請求項
    7記載の方法。
  11. 【請求項11】 前記第1のクライアントのクライアン
    ト能力が該第1のクライアントにおけるキャッシュのメ
    モリ量の表示を含み、前記第2のクライアントのクライ
    アント能力が該第2のクライアントにおけるキャッシュ
    のメモリ量の表示を含む、請求項3記載の方法。
  12. 【請求項12】 前記第1のクライアントのクライアン
    ト能力が該第1のクライアントが特定のイメージ・デー
    タ・フォーマットに対して動作可能にされることの表示
    を含み、前記第2のクライアントのクライアント能力が
    該第2のクライアントが特定のイメージ・データ・フォ
    ーマットに対して動作可能にされることの表示を含む、
    請求項3記載の方法。
  13. 【請求項13】 前記第1のクライアントのクライアン
    ト能力が該第1のクライアントが特定のオーディオ・デ
    ータ・フォーマットに対して動作可能にされることの表
    示を含み、前記第2のクライアントのクライアント能力
    が該第2のクライアントが特定のオーディオ・データ・
    フォーマットに対して動作可能にされることの表示を含
    む、請求項3記載の方法。
  14. 【請求項14】 前記第1のクライアントのクライアン
    ト能力が該第1のクライアントのプロセッサのクロック
    速度の表示を含み、前記第2のクライアントのクライア
    ント能力が該第2のクライアントのプロセッサのクロッ
    ク速度の表示を含む、請求項3記載の方法。
  15. 【請求項15】 前記プロキシ・サーバから前記第1の
    クライアントに前記第1のリフォーマットされたコンテ
    ンツを供給する前記ステップが、該第1のリフォーマッ
    トされたコンテンツを、前記第1のクライアントからの
    要求の要求変数に少なくとも部分的に基いて、該第1の
    クライアントへ供給することを決定するステップを含
    み、 前記プロキシ・サーバから前記第2のクライアントに前
    記第2のリフォーマットされたコンテンツを供給する前
    記ステップが、該第2のリフォーマットされたコンテン
    ツを、前記第2のクライアントからの要求の要求変数に
    少なくとも部分的に基いて、該第2のクライアントへ供
    給することを決定するステップを含む、請求項2記載の
    方法。
  16. 【請求項16】 第1のクライアントと、第2のクライ
    アントと、プロキシ・サーバと、遠隔サーバとを含むコ
    ンピュータ・ネットワーク・システムにおける方法であ
    って、 前記遠隔サーバからのコンテンツに対する前記第1のク
    ライアントからの第1の要求を前記プロキシ・サーバで
    受取るステップと、 前記第1のクライアントの能力を表わす第1の情報を取
    得するステップと、 前記プロキシ・サーバから前記第1のクライアントへ、
    第1の方法でリフォーマットされたコンテンツを供給す
    るステップと、 前記遠隔サーバからのコンテンツに対する前記第2のク
    ライアントからの第2の要求を前記プロキシ・サーバで
    受取るステップと、 前記第2のクライアントの能力を表わす第2の情報を取
    得するステップと、 前記プロキシ・サーバから前記第2のクライアントへ、
    第2の方法でリフォーマットされたコンテンツを供給す
    るステップと、を含む方法。
  17. 【請求項17】 前記プロキシ・サーバが、動的にリン
    ク可能な実行可能コードの第1のモジュールと、動的に
    リンク可能な実行可能コードの第2のモジュールとを含
    み、 更に、 前記第1の方法でフォーマットされたコンテンツを生成
    するように前記遠隔サーバからのコンテンツをリフォー
    マットするため前記第1のモジュールを用いるが、前記
    第1の方法でリフォーマットされたコンテンツを生成す
    るためには前記第2のモジュールを用いないステップ
    と、 前記第2の方法でフォーマットされたコンテンツを生成
    するように前記遠隔サーバからのコンテンツをリフォー
    マットするため前記第2のモジュールを用いるが、前記
    第2の方法でリフォーマットされたコンテンツを生成す
    るためには前記第1のモジュールを用いないステップ
    と、を含む、請求項16記載の方法。
  18. 【請求項18】 前記第1の情報が第1のソフトウエア
    作成番号を含み、前記第2の情報が第2のソフトウエア
    作成番号を含む、請求項17記載の方法。
  19. 【請求項19】 前記第1の情報がソフトウエアのバー
    ジョン番号を含み、ぜんき第2の情報が第2のソフトウ
    エアのバージョン番号を含む、請求項17記載の方法。
  20. 【請求項20】 前記プロキシ・サーバは、前記第1の
    情報の他に、前記第1の要求と関連するコンテンツ・タ
    イプの表示を受取って、前記第1のモジュールを用いて
    前記第1の方法でコンテンツをリフォーマットすること
    を決定するために前記コンテンツ・タイプの表示を用
    い、 前記プロキシ・サーバは、前記第2の情報の他に、前記
    第2の要求と関連するコンテンツ・タイプの表示を受取
    って、前記第2のモジュールを用いて前記第2の方法で
    コンテンツをリフォーマットすることを決定するために
    前記コンテンツ・タイプの表示を用いる、請求項17記
    載の方法。
  21. 【請求項21】 前記第1の要求と関連するコンテンツ
    ・タイプの表示は遠隔サーバからの応答においてプロキ
    シ・サーバにより受取られ、前記第2の要求と関連する
    コンテンツ・タイプの表示は遠隔サーバからの応答にお
    いてプロキシ・サーバにより受取られる、請求項20記
    載の方法。
  22. 【請求項22】 前記プロキシ・サーバは、前記第1の
    クライアントの能力を表わす情報を用いて第1のクライ
    アントのクライアント能力を決定し、該プロキシ・サー
    バは前記第1の要求と関連する要求変数情報を受取り、
    該プロキシ・サーバは、前記第1のモジュールを用いて
    前記遠隔サーバからのコンテンツをリフォーマットする
    ことを決定するために前記クライアント能力と前記要求
    変数情報とを用い、 前記プロキシ・サーバは、前記第2のクライアントの能
    力を表わす情報を用いて前記第2のクライアントのクラ
    イアント能力を決定し、該プロキシ・サーバは前記第2
    の要求と関連する要求変数の情報を受取り、該プロキシ
    ・サーバは、前記第2のモジュールを用いて前記遠隔サ
    ーバからのコンテンツをリフォーマットすることを決定
    するために前記クライアント能力と前記要求変数情報と
    を用いる、請求項17記載の方法。
  23. 【請求項23】 前記第1の要求と関連する前記要求変
    数情報がコンテンツ・タイプであり、前記第2の要求と
    関連する要求変数の情報がコンテンツ・タイプである、
    請求項22記載の方法。
  24. 【請求項24】 前記第1の要求と関連する前記要求変
    数情報がコンテンツ長であり、前記第2の要求と関連す
    る前記要求変数情報がコンテンツ長である、請求項22
    記載の方法。
  25. 【請求項25】 前記第1の情報が前記第1のクライア
    ントのクライアント能力を含み、前記第2の情報が前記
    第2のクライアントのクライアント能力を含む、請求項
    17記載の方法。
  26. 【請求項26】 前記第1の情報が前記第1のクライア
    ントとの接続の接続速度の表示を含み、前記第2の情報
    が前記第2のクライアントとの接続の接続速度の表示を
    含む、請求項17記載の方法。
  27. 【請求項27】 前記第1の情報が前記第1のクライア
    ントのディスプレイの解像度の表示を含み、前記第2の
    情報が前記第2のクライアントディスプレイの解像度の
    表示を含む、請求項17記載の方法。
  28. 【請求項28】 前記第1の情報が前記第1のクライア
    ントにおけるメモリ量の表示を含み、前記第2の情報が
    前記第2のクライアントにおけるメモリ量の表示を含む
    請求項17記載の方法。
  29. 【請求項29】 前記プロキシ・サーバがトークナイザ
    ・モジュールとトークナイザ・サブモジュールとを含
    み、 前記プロキシ・サーバは、 トークンを出力するよう前記トークナイザ・モジュール
    にコンテンツを処理させるステップと、前記トークナイ
    ザ・サブモジュールにトークンを操作させるステップと
    により、前記第1の方法で、リフォーマットされたコン
    テンツを生成する、請求項16記載の方法。
  30. 【請求項30】 プロキシ・サーバであって、 第1の方法でコンテンツをリフォーマットする第1の動
    的にリンク可能なモジュールと、 第2の方法でコンテンツをリフォーマットする第2の動
    的にリンク可能なモジュールと、 クライアントにより遠隔サーバから要求されるコンテン
    ツを回収し、第1のモジュールと第2のモジュールのど
    ちらを用いて、要求されたコンテンツをリフォーマット
    するかを決定するための手段であって、要求変数とクラ
    イアント能力とからなる群の1つに少なくとも部分的に
    基いて前記の決定を行う手段と、を備えるプロキシ・サ
    ーバ。
  31. 【請求項31】 前記手段が、前記群の1つを用いて、
    1組の規則を評価し、且つ、前記遠隔サーバからの要求
    されるコンテンツのリフォーマットに用いられるモジュ
    ールのリストを生成する、請求項30記載のプロキシ・
    サーバ。
  32. 【請求項32】 前記規則を、前記第1のモジュール又
    は前記第2のモジュールを変更或いは再コンパイルする
    ことなく、変更することができる、請求項31記載のプ
    ロキシ・サーバ。
  33. 【請求項33】 前記群の1つがクライアント能力であ
    る、請求項32記載のプロキシ・サーバ。
  34. 【請求項34】 前記群の1つが、コンテンツ長、コン
    テンツ・タイプ及びユーザ・エージェントからなる群か
    ら得られる要求変数である、請求項32記載のプロキシ
    ・サーバ。
  35. 【請求項35】 プロキシ・サーバであって、 クライアントにより要求されるコンテンツをリフォーマ
    ットする複数の方法のうちのどれかを決定するため規則
    のく身を評価する手段と、 前記規則の組を評価する前記手段を再コンパイルするこ
    となく、前記規則の組を変更する手段と、を備えるプロ
    キシ・サーバ。
  36. 【請求項36】 前記変更する手段が、規則情報を含む
    テキスト・ファイルを受取り、該変更する手段は、前記
    規則の組が変更されるように前記評価する手段へ前記規
    則情報を送る、請求項35記載のプロキシ・サーバ。
  37. 【請求項37】 更に、 実行時に第1の方法でコンテンツをリフォーマットする
    第1の動的にリンク可能なモジュールと、 実行時に第2の方法でコンテンツをリフォーマットする
    第2の動的にリンク可能なモジュールと、を備え、 前記評価する手段が、前記第1の動的にリンク可能なモ
    ジュール或いは前記第2の動的にリンク可能なモジュー
    ルが、クライアントにより要求されるコンテンツをリフ
    ォーマットするかどうかを決定する、請求項35記載の
    プロキシ・サーバ。
  38. 【請求項38】 インターネットに結合され且つ第1の
    オペレータにより動作される第1のモジュラー・プロキ
    シ・サーバであって、制御部と第1の組の規則と複数の
    動的にリンク可能なモジュールとを備え、前記制御部
    が、前記第1の組の規則の評価に基いて、前記複数の動
    的にリンク可能なモジュールのうちのどれが特定のウェ
    ブ・コンテンツを処理するかを決定する第1のモジュラ
    ー・プロキシ・サーバと、 インターネットに結合されて第2のオペレータにより動
    作される第2のモジュラー・プロキシ・サーバであっ
    て、制御部と第2の組の規則と複数の動的にリンク可能
    なモジュールとを備え、前記制御部が、前記第2の組の
    規則の評価に基いて、前記第1のモジュラー・プロキシ
    ・サーバには存在しない動的にリンク可能なモジュール
    を含む前記複数の動的にリンク可能なモジュールのうち
    のどれが特定のウェブ・コンテンツを処理するか、及び
    それが実質的に同じであるかを決定する第2のモジュラ
    ー・プロキシ・サーバと、を備えるシステム。
  39. 【請求項39】 前記第2の組の規則が前記第1の組の
    規則とは異なり、前記第2のオペレータが,前記第2の
    組の規則を変更し且つ前記第1の組の規則は変更しな
    い、請求項38記載のシステム。
  40. 【請求項40】 前記第1のモジュラー・プロキシ・サ
    ーバの前記複数の動的にリンク可能なモジュールの1つ
    が、前記第2のモジュラー・プロキシ・サーバの前記複
    数の動的にリンク可能なモジュールの1つと同じであ
    り、 前記第1のモジュラー・プロキシ・サーバの前記複数の
    動的にリンク可能なモジュールの別のモジュールが前記
    第2のモジュラー・プロキシ・サーバの前記複数の動的
    にリンク可能なモジュールのいずれとも同じでない、請
    求項38記載のシステム。
  41. 【請求項41】 前記第1のモジュラー・プロキシ・サ
    ーバが、トークナイザ・モジュールとトークナイザ・サ
    ブモジュールとを含み、前記トークナイザ・モジュール
    がウェブ・コンテンツをトークンへ変換し、前記トーク
    ナイザ・サブモジュールが前記トークン上で動作する、
    請求項38記載のシステム。
  42. 【請求項42】 モジュラー・プロキシ・サーバをカス
    タマイズする方法であって、前記モジュラー・プロキシ
    ・サーバが、制御部と複数の動的にリンク可能なモジュ
    ールとを備え、該複数の動的にリンク可能なモジュール
    の第1のモジュールが第1の方法でコンテンツをリフォ
    ーマットし、前記複数の動的にリンク可能なモジュール
    の第2のモジュールが第2の方法でコンテンツをリフォ
    ーマットする方法において、 前記第1及び第2の動的にリンク可能なモジュールが前
    記モジュラー・プロキシ・サーバに存在した後に第3の
    動的にリンク可能なモジュールを生成するステップと、 前記第3の動的にリンク可能なモジュールを、前記制御
    部と前記第1の動的にリンク可能なモジュールと前記第
    2の動的にリンク可能なモジュールと共に前記モジュラ
    ー・プロキシ・サーバに存在するように、前記モジュラ
    ー・プロキシ・サーバへロードするステップと、 前記制御部により、前記第3の動的にリンク可能なモジ
    ュールを用いて、前記モジュラー・プロキシ・サーバの
    クライアントにより要求されるコンテンツをリフォーマ
    ットするステップと、を含む方法。
  43. 【請求項43】 更に、(a)前記第3の動的にリンク
    可能なモジュールの生成前に、前記制御部と前記第1及
    び第2の動的にリンク可能なモジュールの少なくとも一
    方を用いてコンテンツをリフォーマットするステップを
    含み、 前記第3の動的にリンク可能なモジュールを生成する前
    記ステップが、前記制御部をコンパイルすることなく前
    記第3の動的にリンク可能なモジュールを取得するよう
    にコードをコンパイルすることを含み、 前記制御部により、前記第3の動的にリンク可能なモジ
    ュールを使用する前記ステップが、前記ステップ(a)
    において実行された同じ制御部を実行することを含み、
    該制御部が前記ステップ(a)後にはコンパイルされな
    い、請求項42記載の方法。
  44. 【請求項44】 プロキシ・サーバであって、 複数のモジュールであって、該モジュールのうちの第1
    のモジュールが第1の方法でコンテンツをリフォーマッ
    トし、前記モジュールのうちの第2のモジュールが第2
    の方法でコンテンツをリフォーマットするモジュール
    と、 要求する第1のクライアントのクライアント能力に基い
    て、前記複数のモジュールのどれを前記第1のクライア
    ントにより要求されるコンテンツのリフォーマットにお
    いて用いるかを決定するソフトウエアと、 前記複数のモジュールのどれが前記第1のクライアント
    により要求されたコンテンツのリフォーマットにおいて
    用いられたかの表示と共に、前記要求されたコンテンツ
    を含むキャッシュと、を備えるプロキシ・サーバ。
  45. 【請求項45】 第2の要求側のクライアントのクライ
    アント能力に基いて、前記複数のモジュールのどれを前
    記第2のクライアントにより要求されたコンテンツのリ
    フォーマットにおいて用いるかを決定するソフトウエア
    を更に備え、該ソフトウエアもまた、前記第2のクライ
    アントにより要求されたコンテンツのリフォーマットに
    用いる前記複数のモジュールが、前記複数のモジュール
    のどれが前記第1のクライアントにより要求されたコン
    テンツのリフォーマットにおいて使用されたかの格納さ
    れた表示と一致するかを決定し、これが一致するなら
    ば、プロキシ・サーバがキャッシュされたコンテンツを
    前記第2の要求側のクライアントへ返すが、一致しなけ
    れば、前記プロキシ・サーバは、要求された前記コンテ
    ンツを遠隔サーバから回収し、該回収されたコンテンツ
    をリフォーマットし、次に回収されたコンテンツを前記
    第2のクライアントへ返す、請求項44記載のプロキシ
    ・サーバ。
  46. 【請求項46】 前記第1のクライアントにより要求さ
    れたコンテンツのリフォーマットにおいて用いられたモ
    ジュールの動作を制御する入力制御パラメータが、前記
    第1のクライアントのクライアント能力に基いて決定さ
    れ、これら入力制御パラメータが、要求されたコンテン
    ツと、前記複数のモジュールのどれが前記第1のクライ
    アントにより要求されたコンテンツのリフォーマットに
    おいて用いられたかの表示と共に、キャッシュに格納さ
    れる、請求項45記載のプロキシ・サーバ。
  47. 【請求項47】 前記第2のクライアントにより要求さ
    れたコンテンツのリフォーマットにおいて前記複数のモ
    ジュールのどれを用いるかを決定する前記ソフトウエア
    が、前記第2のクライアントの要求と関連する入力制御
    パラメータを決定し、前記第2のクライアントの要求に
    対して決定された前記入力制御パラメータがキャッシュ
    に格納された入力制御パラメータと一致するならば、キ
    ャッシュされた前記コンテンツのみが前記第2の要求側
    のクライアントへ返される、請求項46記載のプロキシ
    ・サーバ。
  48. 【請求項48】 プロキシ・サーバにおいて、1組の規
    則の評価を実施して、第1のクライアントにより要求さ
    れるコンテンツのリフォーマットにおいて複数のモジュ
    ールのどれを用いるかを決定するステップと、 前記第1のクライアントにより要求されたコンテンツと
    関連して前記プロキシ・サーバにおけるキャッシュに格
    納される前記1組の規則の評価の結果を表わす情報を格
    納するステップと、 前記プロキシ・サーバにおいて、前記1組の規則の第2
    の評価を実施して、前記複数のモジュールのどれを第2
    のクライアントにより要求されるコンテンツのリフォー
    マットにおいて用いるかを決定するステップと、 前記1組の規則の前記第2の評価の結果を表わす情報を
    取得するステップと、 前記第2の評価の結果を表わす前記情報を、前記キャッ
    シュに格納された結果の評価を表わす情報と比較するス
    テップと、を含み、 前記比較が、前記第2の評価の結果を表わす情報が前記
    キャッシュに格納された評価を表わす情報と同じである
    ことを示すならば、該キャッシュに格納されたコンテン
    ツが前記第2のクライアントへ与えられるが、前記比較
    が、前記第2の評価の結果を表わす情報が前記キャッシ
    ュに格納された評価を表わす情報と同じでないことを示
    すならば、前記プロキシ・サーバが、前記第2の評価を
    表わす情報と一致するコンテンツをリフォーマットし、
    このようにリフォーマットされた該コンテンツを前記第
    2のクライアントへ返す、方法。
  49. 【請求項49】 第1のフォーマットにおける添付書類
    は解読できないが第2のフォーマットにおける添付書類
    は解読することできるクライアントへ宛てられる第1の
    フォーマットにおける添付書類を持つイーメール・メッ
    セージをイーメール・サーバにおいて受取るステップ
    と、 前記クライアントのクライアント能力を表わす情報をク
    ライアントからイーメール・サーバにおいて受取るステ
    ップと、を含み、 前記イーメール・サーバが、クライアント能力を表わす
    情報を用いて添付書類を前記第2のフォーマットへリフ
    ォーマットし、 前記イーメール・サーバが、前記イーメール・メッセー
    ジと前記第2のフォーマットにおける添付書類とをクラ
    イアントへ与える、 方法。
  50. 【請求項50】 第1のフォーマットにおける添付書類
    は解読できず、第2のフォーマットにおける添付書類は
    解読することができるクライアントのクライアント能力
    を表わす情報に基いて、イーメールの添付書類を第1の
    フォーマットから第2のフォーマットへリフォーマット
    する手段と、 前記第2のフォーマットにおけるイーメール・添付書類
    をクライアントへ与える手段と、を備えるイーメール・
    サーバ。
  51. 【請求項51】 前記リフォーマット手段がページ・パ
    ッチャ・モジュールである、請求項50記載のイーメー
    ル・サーバ。
  52. 【請求項52】 前記リフォーマット手段が、トークナ
    イザ・モジュールとトークナイザ・サブモジュールとを
    含み、前記トークナイザ・モジュールが添付書類をトー
    クンへ変換し、前記トークナイザ・サブモジュールが前
    記トークン上で動作する、請求項50記載のイーメール
    ・サーバ。
JP2001006926A 2000-01-14 2001-01-15 モジュラー・プロキシ・サーバによるリフォーマット方法 Pending JP2001265645A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/483682 2000-01-14
US09/483,682 US6742043B1 (en) 2000-01-14 2000-01-14 Reformatting with modular proxy server

Publications (2)

Publication Number Publication Date
JP2001265645A true JP2001265645A (ja) 2001-09-28
JP2001265645A5 JP2001265645A5 (ja) 2005-05-26

Family

ID=23921090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001006926A Pending JP2001265645A (ja) 2000-01-14 2001-01-15 モジュラー・プロキシ・サーバによるリフォーマット方法

Country Status (4)

Country Link
US (1) US6742043B1 (ja)
EP (1) EP1122654A3 (ja)
JP (1) JP2001265645A (ja)
HK (1) HK1040443A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003043339A1 (fr) * 2001-11-12 2003-05-22 Sony Corporation Systeme de remise d'informations, procede, appareil de traitement d'informations et procede
WO2004012088A1 (ja) * 2002-07-30 2004-02-05 Sony Corporation プログラム、情報処理方法および装置、並びにデータ構造
WO2004040908A1 (ja) * 2002-10-30 2004-05-13 Fujitsu Limited ストリーム・サーバ
JP2006501578A (ja) * 2002-09-30 2006-01-12 デンジャー インコーポレイテッド インスタントメッセージングプロキシの機構及び方法
CN1322752C (zh) * 2001-12-26 2007-06-20 好利集团有限公司 一种因特网协议互动电视系统及其实现方法
JP2009230675A (ja) * 2008-03-25 2009-10-08 Nomura Research Institute Ltd 情報提供装置、情報提供方法および情報提供システム
KR101012805B1 (ko) 2003-02-14 2011-02-08 로오데운트쉬바르츠게엠베하운트콤파니카게 모듈러 메시지들의 수정 방법 및 장치
US8201091B1 (en) 2010-11-30 2012-06-12 Kabushiki Kaisha Toshiba Program synthesizing device and program synthesizing method
JP2013504825A (ja) * 2009-09-10 2013-02-07 レベル スリー コミュニケーションズ,エルエルシー 拡張可能プログラミングフレームワークを有するキャッシュサーバ
JP2013137839A (ja) * 2013-04-11 2013-07-11 Nomura Research Institute Ltd 情報提供装置、情報提供方法および情報提供システム
JP5321586B2 (ja) * 2008-06-30 2013-10-23 日本電気株式会社 アプリケーション拡張システム、拡張方法、拡張プログラム
KR101494121B1 (ko) 2011-03-18 2015-02-16 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 장면 기반 가변 압축

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7372485B1 (en) 1999-06-08 2008-05-13 Lightsurf Technologies, Inc. Digital camera device and methodology for distributed processing and wireless transmission of digital images
US8212893B2 (en) * 1999-06-08 2012-07-03 Verisign, Inc. Digital camera device and methodology for distributed processing and wireless transmission of digital images
US7369161B2 (en) * 1999-06-08 2008-05-06 Lightsurf Technologies, Inc. Digital camera device providing improved methodology for rapidly taking successive pictures
US7103357B2 (en) * 1999-11-05 2006-09-05 Lightsurf Technologies, Inc. Media spooler system and methodology providing efficient transmission of media content from wireless devices
US7847833B2 (en) * 2001-02-07 2010-12-07 Verisign, Inc. Digital camera device providing improved methodology for rapidly taking successive pictures
US6947440B2 (en) 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
AU2001232988A1 (en) * 2000-03-24 2001-10-08 Dotrocket, Inc. A system and method for increasing data packet transfer rate in a computer network
US20020010928A1 (en) * 2000-04-24 2002-01-24 Ranjit Sahota Method and system for integrating internet advertising with television commercials
US7702995B2 (en) 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US7668963B1 (en) * 2000-04-24 2010-02-23 Tvworks, Llc News architecture for iTV
US8296792B2 (en) 2000-04-24 2012-10-23 Tvworks, Llc Method and system to provide interactivity using an interactive channel bug
US8936101B2 (en) 2008-07-17 2015-01-20 Halliburton Energy Services, Inc. Interventionless set packer and setting method for same
US9788058B2 (en) 2000-04-24 2017-10-10 Comcast Cable Communications Management, Llc Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US7500188B1 (en) 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US7072984B1 (en) 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US7747782B2 (en) 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US20020016818A1 (en) * 2000-05-11 2002-02-07 Shekhar Kirani System and methodology for optimizing delivery of email attachments for disparate devices
US7219158B2 (en) * 2000-07-21 2007-05-15 Hughes Network Systems Llc Method and system for improving network performance using a performance enhancing proxy
US7249196B1 (en) 2000-10-06 2007-07-24 Juniper Networks, Inc. Web page source file transfer system and method
JP2002202936A (ja) * 2000-12-18 2002-07-19 Kizna Corp 情報収集サーバ及び情報収集方法並びに記録媒体
US6983318B2 (en) * 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents
US20020107706A1 (en) * 2001-02-02 2002-08-08 Oliver Mitchell B. Virtual negotiation
US7305354B2 (en) 2001-03-20 2007-12-04 Lightsurf,Technologies, Inc. Media asset management system
US7873734B1 (en) * 2001-05-17 2011-01-18 Computer Associates Think, Inc. Management of multiple user sessions and user requests for multiple electronic devices
CN1324898C (zh) * 2001-07-12 2007-07-04 捷讯研究有限公司 用于为移动通信设备提供远程数据访问的系统和方法
WO2003013080A1 (en) * 2001-07-31 2003-02-13 Comverse Ltd. Email protocol for a mobile environment and gateway using same
US6996537B2 (en) * 2001-08-13 2006-02-07 Qualcomm Incorporated System and method for providing subscribed applications on wireless devices over a wireless network
US9203923B2 (en) * 2001-08-15 2015-12-01 Qualcomm Incorporated Data synchronization interface
US6892224B2 (en) * 2001-08-31 2005-05-10 Intel Corporation Network interface device capable of independent provision of web content
US7127503B2 (en) * 2001-10-10 2006-10-24 Juniper Networks, Inc. Computer networking system, device, and method for improved speed in web page rendering
FR2831688B1 (fr) 2001-10-30 2004-07-30 Canon Kk Procede et dispositif de traitement d'une requete d'obtention de donnees multimedia
FR2831687B1 (fr) * 2001-10-30 2005-04-29 Canon Kk Procede et systeme de traitement d'un document numerique prealablement a son emission dans un reseau de communications
US6978305B1 (en) * 2001-12-19 2005-12-20 Oracle International Corp. Method and apparatus to facilitate access and propagation of messages in communication queues using a public network
US7724281B2 (en) 2002-02-04 2010-05-25 Syniverse Icx Corporation Device facilitating efficient transfer of digital content from media capture device
US7792905B2 (en) * 2002-03-21 2010-09-07 International Business Machines Corporation Tan language for displaying digital objects in email
US7114160B2 (en) * 2002-04-17 2006-09-26 Sbc Technology Resources, Inc. Web content customization via adaptation Web services
US7277963B2 (en) * 2002-06-26 2007-10-02 Sandvine Incorporated TCP proxy providing application layer modifications
US7707317B2 (en) * 2002-07-01 2010-04-27 Prolifiq Software Inc. Adaptive electronic messaging
US7966374B2 (en) * 2002-07-01 2011-06-21 Profiliq Software Inc. Adaptive media messaging, such as for rich media messages incorporating digital content
US7051040B2 (en) * 2002-07-23 2006-05-23 Lightsurf Technologies, Inc. Imaging system providing dynamic viewport layering
US7383579B1 (en) * 2002-08-21 2008-06-03 At&T Delaware Intellectual Property, Inc. Systems and methods for determining anti-virus protection status
US20040043753A1 (en) * 2002-08-30 2004-03-04 Wake Susan L. System and method for third party application sales and services to wireless devices
GB2397402A (en) 2003-01-20 2004-07-21 Mitel Networks Corp Internet proxy that supports location-based services
DE10319528A1 (de) * 2003-04-30 2004-11-25 Siemens Ag Verfahren und Anordnung zur transparenten dynamischen Bereitstellung eines Web-Services
US7853699B2 (en) * 2005-03-15 2010-12-14 Riverbed Technology, Inc. Rules-based transaction prefetching using connection end-point proxies
US7860309B1 (en) 2003-09-30 2010-12-28 Verisign, Inc. Media publishing system with methodology for parameterized rendering of image regions of interest
US7720924B2 (en) * 2003-12-12 2010-05-18 Syniverse Icx Corporation System providing methodology for the restoration of original media quality in messaging environments
US10043170B2 (en) * 2004-01-21 2018-08-07 Qualcomm Incorporated Application-based value billing in a wireless subscriber network
US20050289047A1 (en) * 2004-06-28 2005-12-29 Oliver Mitchell B Virtual marketplace for wireless device applications and services with integrated multi-party settlement
US7721204B2 (en) * 2004-07-29 2010-05-18 Xerox Corporation Client dependent image processing for browser-based image document viewer for handheld client devices
WO2006036763A2 (en) * 2004-09-22 2006-04-06 Cyberdefender Corporation System for distributing information using a secure peer-to-peer network
US7610400B2 (en) * 2004-11-23 2009-10-27 Juniper Networks, Inc. Rule-based networking device
JP4563450B2 (ja) * 2005-02-28 2010-10-13 三菱電機株式会社 コンテンツ配信システム
US7685289B2 (en) * 2005-03-15 2010-03-23 International Business Machines Corporation Method and apparatus for proxying initial client requests to support asynchronous resource initialization
US20060248194A1 (en) 2005-03-18 2006-11-02 Riverbed Technology, Inc. Connection forwarding
US9350875B2 (en) 2005-05-31 2016-05-24 Qualcomm Incorporated Wireless subscriber billing and distribution
US9185538B2 (en) * 2005-05-31 2015-11-10 Qualcomm Incorporated Wireless subscriber application and content distribution and differentiated pricing
US8112549B2 (en) * 2005-07-14 2012-02-07 Yahoo! Inc. Alert mechanism for notifying multiple user devices sharing a connected-data-set
US7788352B2 (en) * 2005-07-14 2010-08-31 Yahoo! Inc. System and method for servicing a user device
US20070014243A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. System and method for provisioning a user device
US8417782B2 (en) * 2005-07-14 2013-04-09 Yahoo! Inc. Universal calendar event handling
US20110055914A1 (en) * 2006-01-31 2011-03-03 Taro Sugahara Personal information leakage preventive device and method
US8195822B2 (en) * 2006-02-13 2012-06-05 International Business Machines Corporation Substituting content for undesirable content in a web browser
US9143622B2 (en) 2006-02-17 2015-09-22 Qualcomm Incorporated Prepay accounts for applications, services and content for communication devices
US9185234B2 (en) 2006-02-22 2015-11-10 Qualcomm Incorporated Automated account mapping in a wireless subscriber billing system
US7974988B2 (en) * 2006-02-24 2011-07-05 Syniverse Icx Corporation System and method for cross-carrier mobile device capability discovery
US20070203973A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Fuzzing Requests And Responses Using A Proxy
US8826411B2 (en) * 2006-03-15 2014-09-02 Blue Coat Systems, Inc. Client-side extensions for use in connection with HTTP proxy policy enforcement
US8069461B2 (en) 2006-03-30 2011-11-29 Verizon Services Corp. On-screen program guide with interactive programming recommendations
JP4574588B2 (ja) * 2006-04-19 2010-11-04 ルネサスエレクトロニクス株式会社 ケルビンコンタクト測定装置および測定方法
US8571061B2 (en) * 2006-07-07 2013-10-29 Avaya Communications Israel Ltd. Inter-network translation
US8990396B2 (en) * 2006-07-07 2015-03-24 Avaya Communication Israel Ltd. Cache memory storage
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
KR101132611B1 (ko) * 2006-10-02 2012-04-06 엘지전자 주식회사 이동통신단말기의 메시지 다운로드 방법, 메시지 포워딩방법, 및 이를 수행하기 위한 이동통신단말기
US8566874B2 (en) 2006-10-03 2013-10-22 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8464295B2 (en) 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US8510780B2 (en) 2006-12-21 2013-08-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8028313B2 (en) 2006-12-21 2011-09-27 Verizon Patent And Licensing Inc. Linear program guide for media content access systems and methods
US8015581B2 (en) 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US8103965B2 (en) 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
US8051447B2 (en) 2007-12-19 2011-11-01 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
US8307300B1 (en) * 2008-05-13 2012-11-06 Google Inc. Content resizing and caching in multi-process browser architecture
US9225541B2 (en) * 2008-10-29 2015-12-29 Hewlett-Packard Development Company, L.P. Media shadow files and system
US20100174818A1 (en) * 2009-01-07 2010-07-08 Microsoft Corporation Input Service for Client Devices
WO2010096683A1 (en) 2009-02-20 2010-08-26 Citrix Systems, Inc. Systems and methods for intermediaries to compress data communicated via a remote display protocol
US8499118B2 (en) 2009-02-26 2013-07-30 Research In Motion Limited Method, apparatus and system for optimizing image rendering on an electronic device
EP2224352A1 (en) * 2009-02-26 2010-09-01 Research In Motion Limited Methods, apparatus and system for optimizing image rendering on an electronic device
US9485299B2 (en) 2009-03-09 2016-11-01 Arris Canada, Inc. Progressive download gateway
WO2011002818A1 (en) * 2009-06-29 2011-01-06 Cyberdefender Corporation Systems and methods for operating an anti-malware network on a cloud computing platform
CA2711311C (en) 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
US9183543B2 (en) * 2010-02-19 2015-11-10 Prolifiq Software Inc. Tracking digital content objects
US9383887B1 (en) 2010-03-26 2016-07-05 Open Invention Network Llc Method and apparatus of providing a customized user interface
US10402071B1 (en) 2010-03-26 2019-09-03 Open Invention Network Llc Simultaneous zoom in windows on a touch sensitive device
US8214506B2 (en) 2010-06-25 2012-07-03 Canon Kabushiki Kaisha Providing content to client device
FR2964002B1 (fr) * 2010-08-20 2012-09-28 Myriad France Terminal portable pour reseau mobile.
US8756254B2 (en) * 2010-12-09 2014-06-17 Microsoft Corporation Integration of CRM applications to ECS application user interface
US8874696B1 (en) * 2010-12-17 2014-10-28 Emc Corporation Common cache service
WO2012101585A1 (en) * 2011-01-28 2012-08-02 Strangeloop Networks, Inc. Prioritized image rendering based on position within a web page
US8886674B1 (en) 2011-02-18 2014-11-11 The Directv Group, Inc. Method and system for entitling a user device to receive content from data from an external source
US8612598B1 (en) * 2011-02-18 2013-12-17 The Directv Group, Inc. Method and system for ingesting content schedule data from an external source
US8935719B2 (en) 2011-08-25 2015-01-13 Comcast Cable Communications, Llc Application triggering
US9094090B2 (en) 2011-09-23 2015-07-28 Gilat Satellite Networks Ltd. Decentralized caching system
US9307042B2 (en) * 2011-12-07 2016-04-05 Verizon Patent And Licensing Inc. Orchestration server for video distribution network
US9712887B2 (en) * 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
US20130290851A1 (en) * 2012-04-30 2013-10-31 Microsoft Corporation User interface web services
GB201209987D0 (en) * 2012-06-06 2012-07-18 Microsoft Corp Address system
US9356980B2 (en) 2012-07-31 2016-05-31 At&T Intellectual Property I, L.P. Distributing communication of a data stream among multiple devices
US9749321B2 (en) 2013-01-22 2017-08-29 Prolifiq Software Inc. System for multi-point publication syndication
US9414114B2 (en) 2013-03-13 2016-08-09 Comcast Cable Holdings, Llc Selective interactivity
CN104065632B (zh) * 2013-04-08 2015-07-29 腾讯科技(深圳)有限公司 分享内容的处理方法、服务器、客户端及系统
US11076205B2 (en) 2014-03-07 2021-07-27 Comcast Cable Communications, Llc Retrieving supplemental content
US10614632B2 (en) * 2015-04-23 2020-04-07 Siemens Industry Software Inc. Massive model visualization with a product lifecycle management system
US10868881B1 (en) * 2015-12-30 2020-12-15 Mingtai Chang Loading web resources using remote resource pushing
BR112020021766A2 (pt) * 2018-06-07 2021-01-26 Hewlett-Packard Development Company, L.P. servidores locais para gerenciar uma rede intermitente

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727159A (en) * 1996-04-10 1998-03-10 Kikinis; Dan System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
US5935207A (en) 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US5918013A (en) 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6311215B1 (en) * 1997-03-25 2001-10-30 Intel Corporation System for dynamic determination of client communications capabilities
US5978381A (en) 1997-06-06 1999-11-02 Webtv Networks, Inc. Transmitting high bandwidth network content on a low bandwidth communications channel during off peak hours
US6101320A (en) * 1997-08-01 2000-08-08 Aurora Communications Exchange Ltd. Electronic mail communication system and method
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US5983273A (en) 1997-09-16 1999-11-09 Webtv Networks, Inc. Method and apparatus for providing physical security for a user account and providing access to the user's environment and preferences
US6101328A (en) * 1997-12-31 2000-08-08 Intel Corporation System for preventing multiple instances of the same dynamic executable module
US6092114A (en) * 1998-04-17 2000-07-18 Siemens Information And Communication Networks, Inc. Method and system for determining the location for performing file-format conversions of electronics message attachments
US6278449B1 (en) * 1998-09-03 2001-08-21 Sony Corporation Apparatus and method for designating information to be retrieved over a computer network
US6401132B1 (en) * 1999-08-03 2002-06-04 International Business Machines Corporation Subchaining transcoders in a transcoding framework
US6615212B1 (en) * 1999-08-19 2003-09-02 International Business Machines Corporation Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
US6611876B1 (en) * 1999-10-28 2003-08-26 International Business Machines Corporation Method for establishing optimal intermediate caching points by grouping program elements in a software system

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150906B2 (en) 2001-11-12 2012-04-03 Sony Corporation Information delivery system for generating a data stream with a server system based on a content file received from a client device
US9807201B2 (en) 2001-11-12 2017-10-31 Tessera Advanced Technologies, Inc. Information delivery system for generating a data stream with a server system based on a content file received from a client device
US9451052B2 (en) 2001-11-12 2016-09-20 Tessera Advanced Technologies, Inc. Information delivery system for generating a data stream with a server system based on a content file received from a client device
US8856217B2 (en) 2001-11-12 2014-10-07 Sony Corporation Information delivery system for generating a data stream with a server system based on a content file received from a client device
WO2003043339A1 (fr) * 2001-11-12 2003-05-22 Sony Corporation Systeme de remise d'informations, procede, appareil de traitement d'informations et procede
CN1322752C (zh) * 2001-12-26 2007-06-20 好利集团有限公司 一种因特网协议互动电视系统及其实现方法
US7840593B2 (en) 2002-07-30 2010-11-23 Sony Corporation Program, information processing method and device, and data structure
WO2004012088A1 (ja) * 2002-07-30 2004-02-05 Sony Corporation プログラム、情報処理方法および装置、並びにデータ構造
JP2006501578A (ja) * 2002-09-30 2006-01-12 デンジャー インコーポレイテッド インスタントメッセージングプロキシの機構及び方法
WO2004040908A1 (ja) * 2002-10-30 2004-05-13 Fujitsu Limited ストリーム・サーバ
KR101012805B1 (ko) 2003-02-14 2011-02-08 로오데운트쉬바르츠게엠베하운트콤파니카게 모듈러 메시지들의 수정 방법 및 장치
JP2009230675A (ja) * 2008-03-25 2009-10-08 Nomura Research Institute Ltd 情報提供装置、情報提供方法および情報提供システム
JP5321586B2 (ja) * 2008-06-30 2013-10-23 日本電気株式会社 アプリケーション拡張システム、拡張方法、拡張プログラム
JP2013504825A (ja) * 2009-09-10 2013-02-07 レベル スリー コミュニケーションズ,エルエルシー 拡張可能プログラミングフレームワークを有するキャッシュサーバ
US8201091B1 (en) 2010-11-30 2012-06-12 Kabushiki Kaisha Toshiba Program synthesizing device and program synthesizing method
US9338257B2 (en) 2011-03-18 2016-05-10 Empire Technology Development Llc Scene-based variable compression
KR101494121B1 (ko) 2011-03-18 2015-02-16 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 장면 기반 가변 압축
US9826065B2 (en) 2011-03-18 2017-11-21 Empire Technology Development Llc Scene-based variable compression
JP2013137839A (ja) * 2013-04-11 2013-07-11 Nomura Research Institute Ltd 情報提供装置、情報提供方法および情報提供システム

Also Published As

Publication number Publication date
EP1122654A2 (en) 2001-08-08
HK1040443A1 (zh) 2002-06-07
EP1122654A3 (en) 2004-09-08
US6742043B1 (en) 2004-05-25

Similar Documents

Publication Publication Date Title
JP2001265645A (ja) モジュラー・プロキシ・サーバによるリフォーマット方法
CN104471528B (zh) 将文件类型与网络存储服务中的应用相关联
JP4865983B2 (ja) ネットワークサーバ
US7254786B2 (en) System for transmitting and displaying icon resources group associated with remote application to a local computing system to facilitate virtualization of the remote application
EP2075711B1 (en) System for providing a configurable adaptor for mediating systems
US8683328B2 (en) Multimedia communication and presentation
US8914276B2 (en) Dynamic video caption translation player
JP5225399B2 (ja) デスクトップ・アプリケーション移行のためのシステムと方法
US6836886B2 (en) Method and apparatus for delivering electronic information
US9690764B1 (en) Delivery and display of page previews using shadow DOM
JP4811808B2 (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
US20040003117A1 (en) Method and apparatus for dynamic optimization and network delivery of multimedia content
US20120089901A1 (en) High performance cross platform document viewing
JPH1124980A (ja) 複数媒体タイプにアクセスする媒体管理装置及び方法
JP2005513831A (ja) 多数の異種装置に配信するためのマルチメディアデータの変換
JPH0954782A (ja) ウェブ・ブラウザのリクエストを実行するためのサブエージェント・サービス・エージェント
US20040215696A1 (en) Method and apparatus for generating a message with embedded content
EP1041497B1 (en) Information fetching control scheme using data type dependent strategy for reducing user response time
JP2010537337A (ja) 1つ又は複数のアーカイブに小さなオブジェクトをパッケージするようにブラウザとサーバとの間で協働するための装置、システム、及び方法
US8274520B2 (en) Facilitating caching in an image-processing system
EP3944242A1 (en) A system and method to customizing video
US20220043546A1 (en) Selective server-side rendering of scripted web page interactivity elements
JP2001506039A (ja) 仮想環境ブラウザ内でのデータ管理
US9037542B2 (en) Reducing programming complexity in client applications when interfacing with database servers operating with different programming interfaces
US20050149581A1 (en) Replication-based propagation mechanism for pipelines

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040723

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040723

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080304

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080702

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080925

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081017