説明

モバイル装置を用いたオフライン・ブラウジング

【課題】 モバイル装置を介して効率的にエンタープライズ・サーバ・リソースにアクセスすることができる方法及びシステムを提供する。
【解決手段】 本発明は、モバイル装置がネットワークに接続されているか又はネットワークから切断されているかにかかわらず、ウェブ・サイト及びそのコンテンツを該モバイル装置上に効率的に表示するための機構を提供する。モバイル装置が、ウェブ・サイトをホストするサーバに要求を行ったときに、該サーバは、ウェブ・サイト・コンテンツを構成するページ要素を圧縮する。サーバは、モバイル装置の要求に応答して、圧縮されたページ要素を送信する。モバイル装置は、ページ要素を解凍し、解凍されたページ要素をローカルに格納する。モバイル装置は、該モバイル装置のユーザが要求したときに、ローカルに格納されたウェブ・サイト・コンテンツを表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、データ処理システムにおいて通信ネットワークを介した効率的なデータの伝送を提供するための改善されたシステム及び方法に関し、より具体的には、データをモバイル装置に効率的に転送することによって、エンタープライズ・サーバのリソース・ウェブ・サイトからほとんど切断されたモバイル装置を操作するための技術に関する。
【背景技術】
【0002】
サーバ・システムは、モバイルを持つ従業員のビジネス・エンタープライズについての操作に対してデータ及び対話を提供する。モバイルを持つ従業員は、携帯情報端末(PDA)、モバイル・ウェブ電話、ポケットPC、及びラップトップなどのモバイル装置によって、有線又は無線の通信ネットワークを介してインターネット上のサーバ・リソースにアクセスする。接続されると、モバイルを持つ従業員は、ビジネス・フォーム、会社指針、顧客情報などといったデータにアクセスする。しかしながら、モバイルを持つ従業員が、有線接続又は無線接続にはアクセスできないが、引き続きエンタープライズ・データにアクセスすることが必要な多くの場合が存在する。さらに、モバイル装置がサーバ・リソースにアクセスできるときであっても、情報についての変化するニーズを満たすために、データの送信は効率的であることが必要である。例えば、幾つかの国においては、データ帯域幅の現行のコストは、0.01ドル/kbyteを上回る。
【0003】
現行の商用接続システムは、切断時すなわちオフライン時に、典型的には、モバイル装置のブラウザにキャッシュされたウェブ・ページを提供して、以前に閲覧された情報のみにアクセスさせる。ウェブ・キャッシュ・ページ処理は、モバイルを持つ従業員によって実行されたブラウジング・パスのみをキャッシュすることに限定されているという点で、静的である。プロキシは、この処理を実装するためのソフトウェア・コンポーネントであり、モバイル装置上で実行され、エンタープライズ・サーバと通信し、訪れたページ又はURL(Uniform Resource Locator)をキャッシュする。ユーザが切断されたときに、訪問したページを再表示できるようにするために、プロキシは、エンタープライズ・サーバに対して行われたページ又はURLの表示を求める各々の要求の出力先をプロキシに変更することを必要とする。このキャッシュ処理は、ユーザがウェブ・サイトを閲覧する際にモバイル装置によってアクセスされる各々のページについて、プロキシが個々のHTTP(HyperText Transfer Protocol)要求を行わなければならないため、データ集約型である。
【0004】
さらに、プロキシは、エンタープライズ・サーバから取得された各々のページを記録し、HTTP要求に含まれるフルパス名を、モバイル装置の選択された媒体に応じた特定のアドレスに翻訳することができる。例えば、ウェブ電話において動作するプロキシは、ウェブ・サーバ上に格納されたものとしてのフルパス名を、メモリ・スティックへのフルパス名に翻訳しなければならないであろう。個々の要求を行うのに役立つように、プロキシの設計は、各々の要求及び応答を処理するために、個々の要求と関連付けられた複雑なコード・パス及びヘッダ・ファイルから構成される場合がある。さらに、モバイル装置のための通信プロトコルのトランスポート層は、各々の要求を送信するときに、多数のオーバーヘッド・ビットを含む。
【発明の開示】
【発明が解決しようとする課題】
【0005】
モバイルを持つ従業員は、接続環境及び非接続環境のいずれの場合も、より高効率に、トランスペアレントな方法で、エンタープライズ・サーバ・リソースにアクセスする必要があることが明らかである。帯域幅送信のコスト、待ち時間、及び、企業のウェブ・サイトに格納された大量の情報を考慮すると、データ配信のサイズが増すにつれてネットワーク・コストが増大するため、モバイル装置を介して効率的にエンタープライズ・サーバ・リソースにアクセスすることができる方法及びシステムについて必要性が存在する。
【課題を解決するための手段】
【0006】
幾つかの態様の中でも、本発明は、モバイル装置がネットワークに接続されているか、又はネットワークから切断されているかに関わらず、ウェブ・サイト及びそのコンテンツを該モバイル装置上に効率的に表示するための機構を提供するものである。モバイル装置が、ウェブ・サイトをホストするサーバに要求を行ったときに、該サーバは、ウェブ・サイト・コンテンツを構成するページ要素を圧縮する。サーバは、モバイル装置の要求に応答して、圧縮されたページ要素を送信する。モバイル装置は、ページ要素を解凍し、解凍されたページ要素をローカルに格納する。モバイル装置は、該モバイル装置のユーザが要求したときに、ローカルに格納されたウェブ・サイト・コンテンツを表示する。
【発明を実施するための最良の形態】
【0007】
本発明のより完全な理解、並びに、本発明の更なる特徴及び利点は、以下の詳細な説明及び添付図面から明らかになるであろう。
【0008】
図1は、本発明を実装することができるネットワーク・データ処理システムのブロック図を示す。ネットワーク・データ処理システム100は、本発明を実装することができるコンピュータのネットワークである。ネットワーク・データ処理システム100はネットワーク102を含み、ネットワーク102は、ネットワーク・データ処理システム100内で互いに接続された種々の装置とコンピュータとの間に通信リンクを提供するのに用いられる媒体である。ネットワーク102は、電線、光ファイバ・ケーブル、ケーブル、及び無線通信リンクなどの接続手段を含むことができる。これらの接続手段を介して通信を行うためのデータ・リンク・プロトコルは、適切には、I.E.E.E802.11、CDMA、GSMなどを含むことができる。
【0009】
図示される例においては、サーバ104がネットワーク102に接続される。さらに、モバイル・クライアントとしても知られるモバイル装置108、110、及び112が、ネットワーク102に接続される。これらのクライアント108、110、及び112は、例えば、ラップトップ、携帯情報端末(PDA)、ポケット型、ハンドヘルド型、若しくは手のひらサイズのパーソナル・コンピュータ、又は携帯電話などといった、パーソナル・コンピュータとすることができる。示される例においては、モバイル・クライアント108は、ネットワーク102に無線接続されたパーソナル・コンピュータ・ラップトップとして図示され、モバイル・クライアント110は、ネットワーク102に有線接続されたパーソナル・コンピュータ・ラップトップとして図示され、モバイル・クライアント112は、ネットワーク102に無線接続された携帯電話として示されている。サーバ104は、文書などのデータを、クライアント108、110、及び112に提供する。説明を簡単にするために3つのクライアントが示されているが、典型的なネットワークは、様々なタイプの多数のクライアントを含むことができ、こうしたネットワークは、以下にさらに扱われるように、本発明によって考慮されることが認識されるであろう。
【0010】
サーバ104は、適切には、ウェブ・サーバを含むことができる。本明細書で用いるときには、「ウェブ・サーバ」という用語は、HTMLファイル、画像ファイル、動画ファイル、音声ファイル、照会結果などであるかどうかに関わらず、まとめてリソースと呼ばれる事実上すべてのファイル又は他のデータをネットワーク102を介して配信するための、HTTPなどの標準的な通信プロトコルのサーバ側負担を少なくとも実装するコンピュータ命令を含む。
【0011】
クライアント108、110、及び112は、サーバ104に対するクライアントである。ネットワーク・データ処理システム100は、図示されない付加的なサーバ、クライアント、及び他の装置を含むことができる。図示される例においては、ネットワーク102を含むネットワーク・データ処理システム100は、TCP/IPプロトコル・スイートを用いて互いに通信するネットワーク及びゲートウェイの世界規模の集合体を表す。ネットワーク102の心臓部は、データ及びメッセージを送る何千もの商用コンピュータ・システム、政府系コンピュータ・システム、教育用コンピュータ・システム、及び他のコンピュータ・システムから構成される、主ノードすなわちホスト・コンピュータ間の高速データ通信回線のバックボーンである。当然のことながら、ネットワーク・データ処理システム100は、例えばインターネット、イントラネット、ローカル・エリア・ネットワーク(LAN)、又は広域エリア・ネットワーク(WAN)などの、多数の異なるタイプのネットワークとして実装することもできる。図1は、説明のための例であり、本発明についてのアーキテクチャ面の制限として意図するものではない。サーバ104、並びに、クライアント108、110、及び112は、以下に説明されるように、本発明に適合するようにしたものである。
【0012】
拡張可能な範囲でサービスを提供するために、サーバ・ファーム130を用いることができる。サーバ104は、スプレイヤ120を介して、クライアントからの要求をサーバ・ファーム130の中のサーバの1つに送信することができる。スプレイヤは、要求をサーバ・ファームの中のサーバの1つに配信するものであり、ロード・バランシングのような他の機能を実行することができる。サーバ・ファーム内の各々のサーバは、利用可能なアプリケーションの全てを動作させることができる。サーバ104及びサーバ・ファーム130は、サーバのいずれかが、既知の相対パス名又はフルパス名ナビゲーション技術を用いて、階層構造で格納されたデータにアクセスできるように、ネットワーク・ファイル・システムを共有することができる。例えば、各々のサーバは、標準のディレクトリ命令を発行することによって、/server/imagesディレクトリ内の、TIFF(Tag Image File Format)で格納された画像ファイルにアクセスすることができる。
【0013】
図2は、現時点で好ましい本発明の実施形態に従って、図1のサーバ104などのサーバとして利用することが適切なデータ処理システムのブロック図を示す。データ処理システム、すなわちサーバ200は、システム・バス206に接続される複数のプロセッサ202及び204を含む対称型マルチプロセッサ(SMP)システムとすることができる。あるいは、単一プロセッサ・システムを利用することもできる。メモリ・コントローラ/キャッシュ208もまた、システム・バス206に接続される。メモリ・コントローラ/キャッシュ208は、ローカル・メモリ209へのインターフェースとなる。入力/出力(I/O)バス・ブリッジ210が、システム・バス206に接続され、I/Oバス212へのインターフェースとなる。メモリ・コントローラ/キャッシュ208及びI/Oバス・ブリッジ210は、図示されるように統合することができる。
【0014】
I/Oバス212に接続されたPCI(Peripheral Component Interconnect)バス・ブリッジ214は、PCIローカル・バス216へのインターフェースとなる。多数のモデムをPCIローカル・バス216に接続することができる。典型的なPCIバス実装は、4つのPCI拡張スロット又はアドイン・コネクタをサポートする。図1のクライアント108、110及び112への通信リンクは、アドイン・ボードを介してPCIローカル・バス216に接続されたモデム218及びネットワーク・アダプタ220によって提供することができる。付加的なPCIブリッジ222及び224は、付加的なPCIローカル・バス226及び228のインターフェースとなり、PCIローカル・バスから、付加的なモデム又はネットワーク・アダプタをサポートすることができる。このようにして、データ処理システム200は、多数のネットワーク・コンピュータへの接続が可能になる。メモリ・マップされたグラフィックス・アダプタ230及びハード・ディスク232もまた、図示されるように、直接的に又は間接的に、I/Oバス212に接続することができる。
【0015】
当業者であれば、図2に示されるハードウェアは変更できることが分かるであろう。例えば、図示されるハードウェアに加えて、又はこれに替えて、光ディスク・ドライブなどといった他の周辺装置を用いることもできる。図示される例は、本発明に関して、アーキテクチャ面での制限を意味することを意図するものではない。
【0016】
図2に示されるデータ処理システムは、例えば、AIX(商標)(Advanced Interactive Executive)オペレーティング・システム又はLINUX(商標)オペレーティング・システムが動作する、インターナショナル・ビジネス・マシーンズ・コーポレーションの製品であるIBM(商標)e−Server pSeries(商標)システムとすることができる。
【0017】
図3を参照すると、この図は、本発明を適切に実装することができるモバイル・クライアント装置を示すブロック図を示す。モバイル・クライアント装置300は、図示されるようにPCIローカル・バス・アーキテクチャを利用するハンドヘルド・コンピュータとすることができる。PCIバスが図示されているが、AGP(Accelerated Graphics Port)及びISA(Industry Standard Architecture)などの他のバス・アーキテクチャを用いることもできる。プロセッサ302及びメイン・メモリ304は、PCIブリッジ308を介してPCIローカル・バス306に接続される。PCIブリッジ308はまた、プロセッサ302のための統合型メモリ・コントローラ及びキャッシュ・メモリを含むことができる。図示される例においては、ローカル・エリア・ネットワーク(LAN)アダプタ310、拡張バス・インターフェース314、オーディオ・アダプタ316、ワイヤレス・アダプタ318、及びメモリ・スティック326が、直接コンポーネント接続によってPCIローカル・バス306に接続される。拡張バス・インターフェース314が、キーボード及びマウス・アダプタ320、モデム322、並びに、付加的なメモリ324のための接続を提供する。
【0018】
オペレーティング・システムが、プロセッサ302上で動作し、図3のデータ処理システム300内の様々なコンポーネントを調整して、これらを制御するのに用いられる。オペレーティング・システムは、Symbian OS 6、Symbian OS 7.0、Palm OS 5.21、Palm OS 6.0、Windows CE 3.0などといった市販のオペレーティング・システムとすることができる。Javaなどのオブジェクト指向プログラミング・システムは、オペレーティング・システムと共に動作し、データ処理システム300内のプロセッサ302によって実行されるJavaプログラム又はアプリケーションから、オペレーティング・システムへのコールを行うことができる。「Java」は、サン・マイクロシステムズ社の商標である。オペレーティング・システムに対する命令、オブジェクト指向オペレーティング・システム、及び、ウェブ・ブラウザ又はウェブ・サーバなどのアプリケーション又はプログラムは、メモリ・スティック326などのストレージ装置上に配置され、プロセッサ302によって実行するためにメイン・メモリ304にロードすることができる。プロセッサ302は、典型的には、204Mhz以上で作動することができる。
【0019】
当業者であれば、図3におけるハードウェアは、実装形態に応じて様々に変更できることが分かるであろう。図3に示されるハードウェアに加えて、又はこれに替えて、フラッシュROM又はこれと同等の不揮発性メモリといった他の内蔵ハードウェア又は周辺装置などを用いることができる。また、本発明の処理は、マルチプロセッサ・データ処理システムに適用することもできる。
【0020】
別の例として、モバイル装置300は、オペレーティング・システム・ファイル及び/又はユーザ作成データを格納する不揮発性メモリを提供するために、ROM及び/又はフラッシュROMと共に構成されるPDA装置とすることができる。
【0021】
図3において示される例及び上記の例は、アーキテクチャ面の制限を意味することを意図するものではない。例えば、モバイル装置300は、ハンドヘルド・コンピュータの形態を取ることに加えて、ノート・コンピュータ、又は、携帯情報端末機能を有する携帯電話とすることができる。
【0022】
ここで図4を参照すると、本発明に係る、図1のサーバ104として適切に利用することができる例示的なサーバ400のソフトウェア機能ブロック図を示す。サーバ400は、ウェブ・サーバ420と、任意の装置管理システム(DMS)サーバ430と、ストレージ410と、圧縮マネージャ460と、ネットワーク・インターフェース450とを含む。ウェブ・サーバ420は、IBMのWebSphere(商標)などといった公知の市販ウェブ・サーバとすることができる。ウェブ・サーバ420及びDMSサーバ430は、プロセッサ202に対してストレージ・アプリケーション・プログラム・コールを発行することによって、ストレージ410にアクセスする。ウェブ・サーバ420及びDMSサーバ430は、プロセッサ202に対してネットワーク・インターフェース・アプリケーション・プログラム・コールを発行することによって、ウェブ・サイト・コンテンツをユーザに配信する。ネットワーク・インターフェース450は、次に、ネットワーク102を介してウェブ・サイト・コンテンツを送信する。ストレージ410は、ハード・ディスク232、ローカル・メモリ209、又は、サーバ400とサーバ・ファーム130との間で共有されるネットワーク・ファイル・システムを含むことができる。例示的なネットワーク・インターフェース450は、TCP/IPプロトコル・スタックである。圧縮マネージャ460は、ホスト・ウェブ・サイト上の情報コンテンツを表すページ要素を圧縮するための手段を提供する。圧縮マネージャ460は、様々な既知のウェブ開発環境を用いて開発し、サーブレット、エンタープライズ・ジャバ・ビーンなどの形で実装することができる。圧縮マネージャ460は、図6の説明に関連してさらに後述される階層ディレクトリ構造で編成されたページ要素を圧縮するために、J2ME Java環境などにおいて提供されるような、標準ライブラリにおいて提供される既知の圧縮機能を呼び出すことになる。図5の説明に関連してさらに後述されるDMSクライアントとDMSサーバ430とを含むDMSコンポーネントは、モバイル装置上にファイルをインストールし、外部装置からの効率的な更新のためにそのファイルのコンテンツを明示する任意の手段を提供する。
【0023】
ストレージ410は、ウェブ・サイト・コンテンツを、図6の説明に関連してさらに後述される階層ディレクトリ構造で編成されたページ要素として格納する。本明細書で用いられるときは、「ページ要素」という用語は、テキスト、グラフィック、映像、音声データ又は、そのいずれかの組み合わせを収めたコンピュータ・ファイルを含む。ユーザは、ウェブ・サイト内のホット・リンクを辿るに従って、ウェブ・サーバ420を介して階層ディレクトリ内をナビゲートする。
【0024】
典型的なウェブ・サーバ実装においては、ウェブ・クライアントとウェブ・サーバとの間の通信は、ウェブ・サーバに格納されたウェブ・サイト・コンテンツを配信するための多くのHTTP要求を必要とする。典型的なHTTPトランザクションは、同一の一般的なフォーマットに従う。クライアント要求及びサーバ応答の各々は、3つの部分、すなわち、要求又は応答ライン、ヘッダ部、及びエンティティ本体を有する。クライアントは、サーバ宛ての要求を生成することによって、トランザクションを開始する。サーバは、要求に応答して、ヘッダ部及びエンティティ本体を作成する。典型的なHTTPトランザクションにおいては、ウェブ・サーバによって供給されるページ要素の各々について1つの要求が必要である。例えば、ウェブ・サイトのフロント・ページは、画像、ビデオ・クリップ、及びオーディオ・クリップなどの多くのページ要素を索引付けるハイパーテキスト・マークアップ言語(HTML)を持つ場合がある。索引付けされた要素の各々を取得するためには、索引付けされた要素の各々について別個のHTTP要求及び対応するHTTP応答が必要である。HTTP応答の各々は、圧縮されていないページ要素及びヘッダを含む。このヘッダは他の応答のヘッダと重複しており、ユーザがウェブ・サイトを閲覧するときに大量のオーバーヘッド・データが送信される結果となる。
【0025】
ネットワークを介してモバイル装置に搬送されるデータ帯域幅を有利に残しておくために、ウェブ・サーバ420は、圧縮マネージャ460と共に、相対パス名アドレス指定を用いるディレクトリ構造で編成されたファイルの全てを圧縮し、圧縮ファイルを、ネットワークを介してモバイル装置に配信する。配信されるページのコンテンツ及びページ要素の全てを1つのエンティティ本体として取得するために、固有のGET要求が定められる。圧縮マネージャ460は、モバイル装置から送信されたGET要求を解釈して、ウェブ・サイトに関連付けられたすべてのファイルを圧縮する。
【0026】
ウェブ・サーバと、エンタープライズ・ジャバ・ビーン、サーブレットなどとして実装された圧縮マネージャとの間の対話は、当業者には周知である。例示的な圧縮ファイル・フォーマットは、Sun Microsystems(商標)によって提供されるジャバ・ユーティリティを用いて作成されるJava Archive entity(JAR)ファイルである。ウェブ・クライアントによる1つの要求に応答して、圧縮ファイルをネットワークを介して送信することにより、多数の要求によって生じるオーバーヘッドが減少する。ウェブ・サーバとモバイル・クライアントとの間の対話は、さらに後述する。
【0027】
任意のDMSサーバ430は、個々のモバイル装置に送信された最後の圧縮ファイルを追跡するインベントリ管理機構を提供する。DMSサーバ430は、サーバ400が、ウェブ装置への最後のダウンロード以後に変更されたファイルのみを含む圧縮ファイルを送信することを可能にする。
【0028】
ここで図5を参照すると、本発明に係るモバイル装置300として適切に利用することができるモバイル装置500のソフトウェア機能コンポーネントを示すブロック図が示される。モバイル装置500は、ローカル・ウェブ・サーバ520と、ウェブ・ブラウザ540と、任意の装置管理システム(DMS)クライアント530と、ストレージ510と、ネットワーク・インターフェース560とを含む。ウェブ・サーバ520及びDMSクライアント530は、プロセッサ302に対してストレージ・アプリケーション・プログラム・コールを発行することによって、ストレージ510にアクセスする。ローカル・ウェブ・サーバ520及びDMSクライアント530は、プロセッサ302に対してネットワーク・インターフェース・アプリケーション・プログラム・コールを発行することによって、それぞれ、ウェブ・サーバ420及びDMSサーバ430に接続する。ネットワーク・インターフェース560は、次に、ネットワーク102を介して要求を送信する。
【0029】
ローカル・ウェブ・サーバ520は、HTTP又は同様のプロトコルで定められるサーバ側負担を実行する。ローカル・ウェブ・サーバ520は、解凍マネージャ570を含む。解凍マネージャ570は、圧縮されたページ要素で構成された圧縮ファイルを受信し、J2ME Java環境において提供されるもののような、標準ライブラリにおいて提供される既知の解凍機能を呼び出すことにより該ファイルを解凍して、図6においてさらに説明される階層ディレクトリ構造で編成されたページ要素を解凍し、解凍されたページ要素をストレージ510に格納する。ローカル・ウェブ・サーバ520は、ウェブ・コンテンツを、ローカル・ウェブ・ブラウザ540とローカル・ウェブ・サーバ520との間のループ・バック接続を介して、モバイル装置500のユーザに配信する。本明細書で定義されるときは、「ウェブ・ブラウザ」という用語は、HTTP又は同様のプロトコルによって定められるクライアント側負担を少なくとも実装するソフトウェア・アプリケーションを指す。適切なウェブ・ブラウザの例として、BitStream(商標)のThunderHawk、Opera、NetFront(商標)、AOL(商標)のNetscape Navigator(商標)、及びMicrosoft(商標)のInternet Explorer(商標)が挙げられる。
【0030】
作動中に、解凍マネージャ570は、サーバ400から圧縮ファイルを要求する。圧縮ファイルは解凍マネージャ570によって受信され、該解凍マネージャ570は、該ファイルを解凍し、モバイル装置500固有のストレージ510内のマウント・ポイントにマウントされた相対パス名を用いて、解凍されたページ要素を格納する。モバイル装置上に格納されたファイルは、サーバ400上のウェブ・サイトを表すページ要素のミラー・コピーである。モバイル装置500のユーザは、ページ要素を解凍した後に、圧縮形式でダウンロードされたミラー・ファイル内のいかなる位置も閲覧することができる。
【0031】
任意のDMSクライアント530はさらに、モバイル装置がネットワーク102に接続されているときは、すべてのページ要素を含む圧縮ファイル全体、又はDMSクライアント530が最後に圧縮ファイルを受信して以降に変更があったページ要素を、サーバ400から送信することを要求するHTTP要求又は同様の要求を定期的に発行する。DMSサーバ430は、サーバ400に格納されたページ要素が、モバイル装置への圧縮ファイルの最後のダウンロード以降に変更されたかどうかを判断する。ローカルに格納されたウェブ・コンテンツを更新するときは、DMSクライアント530は、すべてのページ要素とそのそれぞれの最終修正日とのリストを含む要求を送信する。DMSサーバは、受信したリスト内の各々のページ要素についての最終修正日を、ストレージ410に格納された対応するページ要素と比較する。ストレージ410において発見された、リストされたものより新しいあらゆるファイルは、リストには見つからないがディレクトリ構造内部には存在するファイルを含めて、圧縮され、モバイル装置500に送信される。DMSクライアント530は、この圧縮ファイルを受信し、これらのファイルを解凍し、ストレージ510上のファイルを更新する。DMSクライアント530は、種々の定期的な間隔で更新を要求するように設定することができる。
【0032】
図6は、ウェブ・サイトのコンテンツを構成するための格納されたページ要素610A〜610Gの例示的な編成600を示す。代表ページ要素610Aは、ページ要素610B〜Dをアドレス指定するホット・リンク630A〜Cを含む。アドレス620A〜Cは、ページ要素610Aをページ要素610B〜610Dに接続する。ページ要素610Bは、ホット・リンク630Eを用い、アドレス620Eを介して、610Eを含むページ要素に接続する。ページ要素610Cは、ホット・リンク630F及び630Gを用い、アドレス620G及び620Iを介して、ページ要素610F、及び、画像のみのページ要素である610Gに接続する。ページ要素610Dは、ホット・リンク630Hを用い、アドレス620Hを介して、610Fを含むページ要素に接続する。ページ要素610Eは、ホット・リンク630J〜Lを用い、アドレス620F、620K、及び620Lを介して、ページ要素610C及び図示されない他のページ要素に接続する。ページ要素610Fは、ホット・リンク630M〜Oを用い、アドレス620M〜Oを介して、図示されない音声ページ要素に接続する。
【0033】
ページ要素610Aの下に示した記述650A、../homeは、ページ要素610Aのストレージ内における位置の相対パス名を表す。「..」は、ストレージ要素上の固定位置を表す。例えば、この編成がサーバ400に格納されているときには、「..」は、/server/usrなどの、サーバのファイル・システムにおけるディレクトリを表すことができ、この編成がモバイル装置のメモリに格納されているときには、「..」は、/my_mobileなどのディレクトリを表すことができる。
【0034】
図7は、本発明に係るモバイル装置上にウェブ・サイト・コンテンツをミラーリングする方法700を説明するフローチャートを示す。ステップ720において、ローカル・ウェブ・サーバ520及びウェブ・ブラウザ540を含むソフトウェア・コンポーネントが、モバイル装置上にインストールされる。ステップ730において、ローカル・ウェブ・サーバ520を始動する。ローカル・ウェブ・サーバ520は、始動すると、サーバ400によってホストされるウェブ・サイトへの接続を開始する。いかなるウェブ・サイトも本発明の環境に適用可能であるが、従業員にサービスを提供する企業のウェブ・サイトが、本発明に利用する利点がある。ステップ740において、サーバ400は、サーバ400によってホストされるウェブ・サイトのコンテンツを定める編成されたページ要素を含むディレクトリ構造のミラー・コピーを含む圧縮ファイルをダウンロードする。サーバ400は、新たなモバイル装置に直ちにダウンロードするように、圧縮ファイルのコピーを持つことができる。サーバ400はまた、モバイル装置への接続時に圧縮ファイルを作成することができる。接続時に圧縮ファイルが作成される場合には、サーバ400は、ウェブ・サイトを構成するすべてのページ要素、又は圧縮ファイルがモバイル装置に最後にダウンロードされた以降に変更されたページ要素のいずれかを含む圧縮ファイルを作成することができる。ダウンロードされた圧縮ファイルは、解凍され、モバイル装置上に格納される。圧縮ファイルをダウンロードして、ダウンロードする必要があるデータ量を減少させることにより、待ち時間、すなわちネットワーク上の情報を取得するのに必要な時間が短くなるという利点がある。ステップ740のさらなる詳細は、以下の図8の説明において提供される。
【0035】
ステップ750において、ローカル・ウェブ・サーバ520は、モバイル装置500上のウェブ・ブラウザを立ち上げる。ローカル・ウェブ・サーバ520は、必要に応じて、サーバ400上にホストされたウェブ・サイトのURLをウェブ・ブラウザ540に渡し、ウェブ・ブラウザ540が、解凍され格納されたファイルのコンテンツをユーザに提供するようにする。URLを渡さない場合には、ユーザは、既知の手段を利用して、サーバ400上にホストされたウェブ・サイトに関連付けられたURLを特定することになるであろう。いずれの場合においても、ステップ760において、ローカル・ウェブ・サーバ520は、ループ・バック接続を介してURLを認識して、モバイル装置500上にローカルに格納されたウェブ・サイト・コンテンツを表示し、該モバイル装置のユーザは、該モバイル装置とネットワーク102との間で接続が確立されているかどうかに関わらず、ローカルに格納されたウェブ・サイトの情報コンテンツを閲覧することが可能になる。
【0036】
ローカル・コンテンツを提供するか、又は更新されたコンテンツを要求するかを判断するために、様々な技術をローカル・ウェブ・サーバ520に実装することができる。ステップ770は、モバイル装置とネットワークとの間で接続が確立されていることを前提に、ローカルに格納されたウェブ・コンテンツを更新するための1つの技術を提供する。ステップ770において、ローカル・ウェブ・サーバは、サーバ400から更新を要求するかどうかを決定する。この決定は、ユーザ要求によって、又は設定可能なインターバル・タイマの制御下で、行うことができる。
【0037】
ここで図8を参照すると、フローチャート800は、図7において説明したステップ740の更なる詳細を示す。ステップ810において、ローカル・ウェブ・サーバ520は、固有のコンテンツを有する既知のGET要求などの単一HTTP要求を、サーバ400に発行する。関連する最終修正日を持つファイルのリストを、必要に応じて、HTTP要求本体にエンコードすることができる。例えば、1つの実施形態においてJARファイルが利用される場合には、JARのマニフェスト・ファイルが、こうしたリストを提供するであろう。
【0038】
ステップ820において、サーバ400上のウェブ・サーバ420は、HTTP要求を受信する。GET要求は、ウェブ・サーバによって認識される。ウェブ・サーバは、GET要求を認識し、圧縮マネージャ460などのサーブレット、ジャバ・ビーンなどを実行させるように、既知の方法で作動する。圧縮マネージャ460は、サーバ400によってホストされるウェブ・サイト・コンテンツを表示するのに必要なページ要素のすべてを圧縮する。必要に応じて、サーバ400は、接続中のいずれかのモバイル装置によってすぐに取得されるように、既存の圧縮ファイルを含むことができる。しかしながら、HTTP要求が、関連する最終修正日を持つファイルのリストを含む場合には、圧縮マネージャ460は、ファイルの日付を、その時点でサーバ400に格納されているものと比較し、変更されたファイルのみを含む調整された圧縮ファイルを作成することができる。
【0039】
ステップ830において、サーバ400は、圧縮ファイルをモバイル装置500に送信する。圧縮ファイルは、HTTP応答メッセージの本体に入れて搬送されることになる。ステップ840において、ローカル・ウェブ・サーバ520は、圧縮ファイルを受信すると、該圧縮ファイルを解凍し、解凍されたファイルを相対パス名を用いてローカルに格納して、いずれかの既存のファイルと置換する。相対パス名によって、ローカル・ウェブ・サーバ520が、ウェブ装置ファイル・システム上にローカルに格納されたウェブ・サイト内をナビゲートすることが可能になる。
【0040】
ここで図9を参照すると、フローチャート900は、図7において説明されるような、ウェブ・サイト・コンテンツの更新を要求し、更新された圧縮ファイルをダウンロードするステップの代替的な実施形態を示す。ステップ910において、DMSクライアントがモバイル装置500上にインストールされ、DMSサーバがサーバ400上にインストールされる。ローカル・ウェブ・サーバ520がHTTP要求をサーバ400に発行するのではなく、DMSクライアントが、ローカル・ウェブ・サーバ520に一切負担を掛けずに、ローカル・ウェブ・コンテンツを要求し更新することを含むファイル管理機能を実行する。この実施形態においては、ローカル・ウェブ・サーバは、いかなるファイル管理機能も含まない。ステップ920において、DMSクライアントは、HTTP要求を発行して、サーバによってホストされるウェブ・サイトを含む圧縮ファイルを得る。サーバ400上のDMSサーバ430は、上述の圧縮マネージャの機能を代替的に実行することに留意されたい。
【0041】
ステップ930において、DMSクライアントは、サーバ400から圧縮ファイルを受信する。DMSサーバは、圧縮マネージャ460の代わりに、サーバ400上のページ要素を圧縮することを含むファイル管理機能を実行する。ステップ940において、DMSクライアントは、圧縮ファイルを解凍し、ローカル・ウェブ・サーバによって後に取得されるように、解凍されたファイルをモバイル装置に格納する。
【0042】
さらに、DMSクライアントは、DMSサーバに照会して、DMSクライアントによるアクションを待っているいずれかのジョブが存在するかどうかを判断することができる。存在する場合には、DMSクライアントは、次の待機中のジョブを実行することができる。待機中のジョブが、圧縮ファイルがDMSクライアントにダウンロードされることを示す場合には、この照会機構によって、DMSサーバが、モバイル装置にダウンロードされるウェブ・サイト・コンテンツのバージョンを管理することが可能になる。
【0043】
本発明の好ましい実施形態においては、圧縮マネージャ、解凍マネージャ、ウェブ・サーバ、ウェブ・ブラウザ、DMSサーバ、DMSクライアント、及びネットワーク・インターフェースは、ソフトウェアとして実装されるが、本発明の他の実施形態においては、これらのソフトウェア部分によって実行される命令ステップのすべて又は一部は、ファームウェアの形でこれらのコンポーネントのいずれかに常駐させるか、又は、サーバ400及びモバイル・クライアント500と通信するように作動する1つ又は複数のコンピュータに接続された他のプログラム媒体に常駐させることができることを理解すべきである。
【0044】
本発明の説明は、例示及び説明の目的で提示したものであり、網羅的であること、又は、本発明を開示した形式に限定することを意図するものではない。当業者には、多くの修正及び変形が明らかであろう。実施形態は、本発明の原理及びその実際の用途を最も良く説明するために、並びに、非当業者が本発明を理解することができるように、選択し、説明した。急速に発展するハードウェア及びソフトウェアのコンポーネント及び技術に鑑みて、特許請求の範囲を限度として、特定の環境又は用途に適合するように必要に応じて種々の修正を本発明に施した、限定することなく本明細書における種々の教示の適用を含む種々の実施形態が、考慮される。
【図面の簡単な説明】
【0045】
【図1】本発明を適切に実装することができるデータ処理システムのネットワークのブロック図を示す。
【図2】現時点で好ましい本発明の実施形態に係る、図1のネットワークにおけるサーバとして適切に利用することができるデータ処理システムのブロック図である。
【図3】本発明を実装することができるモバイル・クライアント装置を示すブロック図である。
【図4】本発明の好ましい実施形態に係るサーバの機能ソフトウェア・コンポーネントを示すブロック図である。
【図5】本発明の好ましい実施形態に係る特定のモバイル装置例の機能ソフトウェア・コンポーネントを示すブロック図である。
【図6】ウェブ・サイトを構成するために格納されたページ要素の例示的な編成である。
【図7】本発明に従って、モバイル装置上にウェブ・サイト・コンテンツをミラーリングする方法を示すフローチャートである。
【図8】ウェブ・サイトのミラー・コピーを図7において説明されるモバイル装置にダウンロードするステップのさらなる詳細を示すフローチャートである。
【図9】ウェブ・サイト・コンテンツの更新を要求し、図7において説明される更新済み圧縮ファイルをダウンロードするための処理の代替的な実施形態を示すフローチャートである。

【特許請求の範囲】
【請求項1】
ネットワーク内のサーバ上に格納されたウェブ・サイト・コンテンツを定めるページ要素を含む情報を表示するためのモバイル装置であって、
ウェブ・サイトを表示するためのウェブ・ブラウザと、圧縮されたページ要素を含む圧縮ファイルを受信し、前記圧縮ファイルをページ要素に解凍し、前記ページ要素をメモリに格納するソフトウェア・コンポーネントであって、格納された前記ページ要素を読み出し、前記ページ要素を前記ウェブ・ブラウザに提示するソフトウェア・コンポーネントとを含む前記メモリと、
前記ウェブ・ブラウザ及び前記ソフトウェア・コンポーネントを動作させるためのプロセッサと、
を備えるモバイル装置。
【請求項2】
前記圧縮ファイルは、前記ページ要素の相対パス名に従って前記ページ要素を格納する、請求項1に記載のモバイル装置。
【請求項3】
前記ソフトウェア・コンポーネントは、ウェブ・サーバとDMSクライアントとを含む、請求項1に記載のモバイル装置。
【請求項4】
前記ソフトウェア・コンポーネントはウェブ・サーバを含み、前記ウェブ・サーバは解凍マネージャをさらに含む、請求項1に記載のモバイル装置。
【請求項5】
前記ソフトウェア・コンポーネントは、前記圧縮ファイルを更新する要求を発生させるように作動する、請求項1に記載のモバイル装置。
【請求項6】
取得した更新済み圧縮ファイルが、格納された前記ページ要素と置換される、請求項5に記載のモバイル装置。
【請求項7】
前記圧縮ファイルを更新する前記要求は、ローカルに格納されたページ要素名とそれに関連付けられた最終修正日とのリストを含む、請求項5に記載のモバイル装置。
【請求項8】
取得した前記更新済み圧縮ファイルは、新たなページ要素と、前記格納されたページ要素より新しい最終修正日を有するページ要素とを含む、請求項7に記載のモバイル装置。
【請求項9】
前記ウェブ・ブラウザは、前記モバイル装置が前記ネットワークから切断されたときは、ローカルに格納されたいずれかの要求されたページ要素を表示する、請求項1に記載のモバイル装置。
【請求項10】
1つの要求に応答して、ネットワークを介してウェブ・サイトを配信するためのサーバであって、ページ要素から構成されたウェブ・サイトをホストするためのウェブ・サーバ、及び、圧縮ファイルについての要求を受信し、ページ要素から構成された前記圧縮ファイルをモバイル装置に送信するための圧縮マネージャ、を含むメモリと、前記ウェブ・サーバ及び前記圧縮マネージャを動作させるためのプロセッサと、を備えるサーバ。
【請求項11】
モバイル装置上でウェブ・コンテンツを閲覧するための方法であって、
ウェブ・サーバをモバイル装置上に準備するステップと、
サーバによってホストされているウェブ・サイトのミラー・コピーについての要求を該サーバに送信するステップと、
前記ウェブ・サイトを構成するページ要素を圧縮して圧縮ファイルを定めるステップと、
前記モバイル装置において前記圧縮ファイルを受信するステップと、
前記圧縮ファイルをローカルのページ要素に解凍するステップと、
前記ローカルのページ要素を前記モバイル装置上に格納するステップと、
前記ローカルのページ要素を前記モバイル装置のユーザに表示するステップと、
を含む方法。
【請求項12】
ネットワークへの接続状態にかかわらずウェブ・サイト・コンテンツを表示するモバイル装置と、サーバと、ネットワークとを有し、呼び出し機能を持つクライアント・プログラム及びサーバ・プログラムを有するネットワーク処理システムに、前記サーバによってホストされているウェブ・サイトのミラー・コピーについての要求を前記クライアント・プログラムによって前記サーバ・プログラムに送信するステップと、前記要求を前記サーバ・プログラムによって受信するステップと、前記要求の受信に応答して、ページ要素を有する前記ウェブ・サイトを圧縮するように前記サーバ・プログラムによって前記機能を呼び出すステップと、圧縮ファイルを前記サーバ・プログラムによって前記クライアント・プログラムに戻すステップと、前記圧縮ファイルを前記クライアント・プログラムによってローカルのページ要素に解凍するステップと、前記ローカルのページ要素を前記クライアント・プログラムによって前記モバイル装置上に格納するステップと、前記ローカルのページ要素を前記クライアント・プログラムによって前記モバイル装置のユーザに表示するステップと、を実行することによって、ウェブ・サイト・コンテンツを表すページ要素を含む圧縮ファイルのダウンロードを実行させる内容のコンピュータ可読メディア。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2007−534037(P2007−534037A)
【公表日】平成19年11月22日(2007.11.22)
【国際特許分類】
【出願番号】特願2006−525139(P2006−525139)
【出願日】平成16年8月23日(2004.8.23)
【国際出願番号】PCT/EP2004/051881
【国際公開番号】WO2005/022404
【国際公開日】平成17年3月10日(2005.3.10)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】