(57)【特許請求の範囲】
【請求項１】
モバイル装置固有のコンテンツ・トポロジーをポータル・サーバで生成する方法であって、
前記ポータル・サーバおよびモバイル装置の間の、接続モードから遮断モードへの切換えを前記ポータル・サーバ上の遮断用ポートレットによって開始するステップと、
前記モバイル装置に複製される、使用可能な遮断時ポートレット・アプリケーションが前記モバイル装置のユーザによって選択された場合、当該選択された遮断時ポートレット・アプリケーション、ならびにチャネル機能、前記モバイル装置の機能、および前記モバイル装置の位置の情報に関する動的情報を含むユーザ定義の既存の接続時コンテンツ・トポロジーに基づき、モバイル装置固有のコンテンツ・トポロジーを前記ポータル・サーバ上のトポロジー・マネージャによって生成するステップとを含み、
前記ユーザ定義の既存の接続時コンテンツ・トポロジーは、前記ポータル・サーバによって提供されるコンテンツのサーバ・サイド・レイアウトを定義し、
前記モバイル装置固有のコンテンツ・トポロジーは、前記モバイル装置によって集約されるときの、前記選択された遮断時ポートレット・アプリケーションのレイアウトを定義し、
前記モバイル装置固有のコンテンツ・トポロジーを、それに割り当てられた前記選択された遮断時ポートレット・アプリケーション、および前記選択された遮断時ポートレット・アプリケーションによってレンダリングされるデータを含めて前記ポータル・サーバ上のマイグレーション・マネージャによってパッケージするステップと、
前記モバイル装置固有のコンテンツ・トポロジーを、それに割り当てられた前記選択された遮断時ポートレット・アプリケーション、および前記選択された遮断時ポートレット・アプリケーションによってレンダリングされる前記データを含めて前記ポータル・サーバ上の同期エンジンによって前記モバイル装置に送信するステップとをさらに含む方法。
【請求項２】
前記遮断用ポートレットが、ユーザに前記複製されるポートレット・アプリケーションおよび前記モバイル装置を選択可能にするグラフィカル・ユーザ・インターフェースを表示する、請求項１に記載の方法。
【請求項３】
前記サーバ・サイドまたは前記モバイル装置サイドに格納された、前記モバイル装置固有のコンテンツ・トポロジーに属する前記データの各変更を前記接続モードの間に同期させる、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、モバイル通信に関し、より詳細には、遮断モードのモバイル装置によってポータルを使用するためのシステムおよび方法に関する。
【０００２】
例えば、携帯電話、ＰＤＡ（Personal Digital Assistants）、ノートパソコンなど、様々なモバイル装置が存在する。このようなモバイル装置を使用して、ポータルからウェブ・コンテンツにアクセスする機会がますます増えてきている。本発明におけるポータルとは、利用者個人のニーズおよび責任に特化された、様々な情報、ビジネス・プロセス、および人々との、安全な、単一の対話ポイントを提供するアプリケーションと定義することができる。一般にポータルは、ローカルまたはリモートのデータ・ソース、例えばデータベース、トランザクション・システム、共同コンテンツ・プロバイダ（syndicatedcontent provider）、リモートのウェブ・サイトなどから情報を取得し、その情報をレンダリングし（render）、複合ページに集約して、凝縮された形で情報をユーザに提供する。純粋な情報に加えて、多くのポータルは、電子メール、カレンダー、スケジュール管理、銀行取引、請求書発行などのアプリケーションも含む。よく知られた例には、Ｙａｈｏｏ！ポータルがあり、そこでは大量のコンテンツおよびアプリケーションへのアクセスを提供している。様々な種類の情報またはアプリケーションのための様々なレンダリングおよび選択の機構が必要になるが、それらはすべてポータルのインフラストラクチャを利用し、ポータルが所有するデータまたはリソース、例えばユーザ・プロファイル情報、永続記憶装置、管理されたコンテンツへのアクセス権などに基づいて動作する。したがって、今日のポータル実装は、ほとんどがコンポーネント・モデルを提供しており、その場合、ポートレットと呼ばれるプラグ可能なポータル・コンポーネント・モジュールをポータルのインフラストラクチャに追加することができる。ポートレットは、ポータルに追加することができるプラグ可能なコンポーネントであり、ポータルのポートレット・コンテナ内で動作するように設計されている。ポートレットは、静的または動的コンテンツの単純なレンダリング機能から、電子メール、カレンダーなどのアプリケーション機能に至るまで、様々な機能を提供することができる。ポートレットは、ポータル・アプリケーションによって間接的に呼び出され、より大きいページ内での集約に適したコンテンツを生成する。例えば、各ポートレットは、様々なポートレットによって生成されたコンテンツを１枚のページに集約できることを保証するガイドライン付きのマークアップ・フラグメントを生成する必要がある。一般にポートレットは、ポータル・サーバ上で動作し、入力データを処理し、ローカルにコンテンツをレンダリングする。頻繁に表示されるポートレット用のコンテンツは、ポータルの応答時間、性能および拡張性を改善するためにローカルにキャッシュされることも多い。
【０００３】
ポータルに有線で接続されたモバイル装置は、一般にＴＣＰ／ＩＰおよびＨＴＴＰプロトコルを使用して、ポータルからウェブ・コンテンツにアクセスする。携帯電話やＰＤＡなど、無線通信で接続されたモバイル装置は、ＷＡＰ（Wireless Application Protocol）プロトコルをＷＡＰゲートウェイと共に使用する。ＷＡＰゲートウェイと、ポータルをインストールすることが可能なＨＴＴＰサーバとの間では、ＴＣＰ／ＩＰおよびＨＴＴＰが使用される。
【０００４】
ポータルから提供されるウェブ・コンテンツは、モバイル装置にローカルに格納することができ、後ほど、ネットへの接続がもはや使用できなくなったときに閲覧することができる。これらのソリューションは、静的なマークアップ・ページの表示（例えば、アバントゴー（AvantGo））や、グラフィカルなユーザ・フロントエンドを有するモバイル装置向けのデータベース（例えば、モバイル・ノーツ（MobileNotes））をベースとするものである。
【０００５】
米国特許第６４２１７１７号は、ウェブ・コンテンツをモバイル装置にロードすること、およびモバイル装置のユーザが、遮断モードで、ユーザのモバイル装置上で対話的にウェブ・コンテンツを操作することを可能にする方法およびシステムを開示している。
【０００６】
この特許は、遮断時のオフラインブラウジングのために、ウェブ・コンテンツをモバイル装置に複製するモデルについて主に記載している。このオフラインブラウジングは、主に静的なコンテンツに基づくものであり、遮断モードで簡単なフォームに記入できるだけのものである。このオフラインブラウジングは、モバイル装置サイドで相互に対話できる完全なアプリケーションはサポートしていない。さらに、このコンテンツの複製は、ユーザの関心に基づくものであり、帯域幅、コスト、位置など技術的なパラメータに基づくものではない。
【特許文献１】米国特許第６４２１７１７号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって本発明の目的は、従来技術のソリューションの制約および欠点を除去しながら遮断モードでのポータルの使用を可能にする、モバイル装置とポータルの間の拡張された通信アーキテクチャを提供することである。
【課題を解決するための手段】
【０００８】
この目的は、特許請求の範囲の独立項の特徴によって解決される。
【０００９】
本発明の、他の有利で好ましい実施形態は、特許請求の範囲の従属項に記載される。
【００１０】
本発明は、遮断モードのモバイル装置においてポータルの使用を可能にする方法およびシステムを提供する。本発明のシステムおよび方法は、ユーザ定義の既存の接続時コンテンツ・トポロジー（connected content topology）、ユーザ選択可能なオプション、および動的に変更可能な技術パラメータ、例えば帯域幅、時間、場所、ターゲット・モバイル装置の種類などに基づいて、モバイル装置固有のコンテンツ・トポロジーをサーバ・サイドで自動的に生成する手段を提供する。このシステムおよび方法はまた、このモバイル装置固有のコンテンツ・トポロジーを、それに関連するデータを含めてターゲット・モバイル装置にダウンロードする手段、ならびにそのモバイル装置固有のコンテンツ・トポロジーおよびそのデータを、ターゲット・モバイル装置のローカルな遮断時ポータル（disconnectedPortal）フレームワークによって、遮断モードで使用する手段も提供する。このモバイル装置固有のコンテンツ・トポロジーは、同期機構によって接続モードの間に更新される。
【００１１】
本発明のこれらおよび追加の特徴と利点は、以下に記載の詳細な説明を図面と併せて読むことにより、より明確になるであろう。
【００１２】
添付の図面は、本明細書に組み込まれ、本明細書の一部を成すものであるが、本発明の各実施形態を例示し、詳細な説明と共に、本発明の各実施形態の原理を説明する役割も果たすものである。
【発明を実施するための最良の形態】
【００１３】
今日、ポータルの機能を顧客に提供するいくつかのフレームワークが存在する。ポータルの基本機能は、エンドユーザが、「ポートレット」と呼ばれる一組の小さな情報ユニットから、個人のウェブ・ページを編集する機能を含む。図１は一例として、検索（SEARCH）、市況報告（MARKET REPORT）、ニュース（NEWS）の各ポートレットを含むＩＢＭイントラネット・ポータル・ページ（ＩＢＭはIBMCorporationの商標）を示す。このポータルは、所与のページ・レイアウトおよび設計、すなわちいわゆる「コンテンツ・トポロジー」に従って、これらのポートレットを１つのポータル・ページに集約する。コンテンツ・トポロジーは、ポータル・ページ・レイアウトを表す内部ツリー構造によって表される。ツリー中の各ノードは、何らかのレイアウト要素、例えば列または行などによって表される。ツリー中の各リーフ（末端、leaf）は、そのリーフ固有のマークアップ／コンテンツを生成するために呼び出されるポートレットによって表される。ポータル・ページは、ツリー中に示された数字に従って順に生成される。
【００１４】
図２は、サーバ・サイド１０のポータル１２の概要、およびポートレット５が、現在、そのコンテンツをどのようにモバイル装置１に表示しているかを示す図である。モバイル装置１のブラウザ３は、いくつかのポートレット５からなるポータル・ページを要求する。一般に、ポートレット５は、ウェブサービス（Web-Services）、ロータス・ノーツ（Lotus Notes）（Lotus NotesはIBM Corporationの商標）などのネットワーク／バックエンド・コネクタ７を使用してデータにアクセスする。これらのコネクタは、マークアップ・フラグメントを生成し、それをポートレット応答として戻す。通常、ポータルの集約コンポーネントによっていくつかのポートレット応答が集約され、それがモバイル装置ブラウザ３への応答として戻される。
【００１５】
図３は、図２に示したような従来技術のモバイル装置ポータル・サーバ・アーキテクチャを、本発明の基本コンポーネントによって拡張した図を示す。
【００１６】
遮断時ポータル７０をサポートするために、ポータルのサーバ・サイド１０では、トポロジー・マネージャ４０、マイグレーション・マネージャ５０、同期エンジン８０、および動的情報マネージャ３０が必要になる。トポロジー・マネージャ４０は、遮断時ポータル７０のための、モバイル装置固有のコンテンツ・トポロジーを生成する手段を提供する。ユーザ定義の既存の接続時コンテンツ・トポロジーをベースにして、トポロジー・マネージャは、ユーザ選択によるポートレット・アプリケーションと動的情報マネージャによって提供される動的情報とに基づき、そのユーザ定義の接続時コンテンツ・トポロジーを修正する。マイグレーション・マネージャ５０は、遮断時ポータル７０のためのコンテンツ・トポロジー、必要なすべての遮断時ポートレット（disconnected Portlet）アプリケーション（例えば、ＷＡＲファイル）、およびこれらのポートレット・アプリケーションによってレンダリングされるデータ（ポートレット・データ）をパッケージする手段を提供する。さらに、マイグレーション・マネージャは、モバイル装置に送信するデータを圧縮する機能を持つこともできる。同期エンジンは、サーバ１０とモバイル装置１の間でデータを交換する手段を提供する。最後に、動的情報マネージャ３０は、チャネル機能情報、モバイル装置機能情報、およびモバイル装置の位置情報を使用して、モバイル装置１用に生成されるモバイル装置固有のコンテンツ・トポロジーを最適化するために、動的情報でトポロジー・マネージャ４０をサポートする手段を提供する。
【００１７】
モバイル装置サイド１では、遮断時ポータル７０、遮断時ポートレット２０、配置レジストリ９０、同期エンジン１００、およびデータベース１１０が必要になる。
【００１８】
遮断時ポータル７０は、モバイル装置１上で動作し、かつネットワーク接続性の低下やネットワークの遮断にもかかわらず、ユーザがそのポータルを使用し続けることを可能にする手段を提供する。
【００１９】
遮断時ポートレット２０は、接続時ポートレットの軽量バージョンであり、縮小されたモバイル装置ランタイム環境用に最適化される。
【００２０】
配置レジストリ９０は、ポータル・サーバから受信した遮断時ポートレット２０を、配置し登録する手段を提供する。
【００２１】
同期エンジン１００は、遮断時ポートレット・アプリケーション２０、およびモバイル装置固有のコンテンツ・トポロジーを受信し、ポートレット・データを送受信する手段を提供する。
【００２２】
データベース１１０は、モバイル装置固有のコンテンツ・トポロジーと、ポートレット・アプリケーション（例えば、ＤＢ２ｅ）によってレンダリングされるデータとを格納する。
【００２３】
図４は、図３に示したような本発明のアーキテクチャを使用するための概略構成図である。遮断モードまたはオフライン・モードでは、モバイル装置ブラウザ３からの要求は、ローカルのスケール・ダウンしたサーバ・インフラストラクチャによってサービスが提供される。このサーバ・インフラストラクチャには、例えば、装置上のＨＴＴＰウェブサーバ１４、遮断時ポータル７０、遮断時ポートレット２２、データベース２４などが含まれる。このデータベース２４は、モバイル装置固有のコンテンツ・トポロジー、および遮断時ポートレット２２によってレンダリングされるデータ用に使用される。
【００２４】
モバイル装置１をネットワーク・アクセスなし（オフライン／遮断状態）で動作させるとき、モバイル装置はそれ自体の遮断時ポータル７０を使用して、データの処理（intelligence）と表示を実行する。データは、静的なＨＴＭＬページ、遮断時ポートレット２２、サーブレット、またはＪＳＰなどであってもよい。ポートレット・データはレンダリングのために、ルート・フレーム、各種のページ、および各ページごとの様々なポートレットを有するツリー構造で構成される（図５参照）。このツリー構造は、モバイル装置固有のコンテンツ・トポロジーを表すもので、永続データ記憶装置２４に格納される。
【００２５】
モバイル装置１がネットワーク・アクセスを使用しながら（オンライン／接続モードで）動作するとき、サーバ・サイド１０にあるトポロジー・マネージャ４０は、遮断モードのモバイル装置１によって使用されるモバイル装置固有のコンテンツ・トポロジーを自動的に生成することができる。モバイル装置固有のコンテンツ・トポロジーは、動的情報マネージャ３０によって提供される動的情報、例えば通信リンク機能、モバイル装置機能パラメータ、モバイル装置位置などの情報を使用して、サーバ・サイドで、オンライン／複製処理中に計算処理される。
【００２６】
例えば、モバイル装置固有のコンテンツ・トポロジーは、以下のステップによって生成することができる。すなわち、
ユーザは、自分のモバイル装置を遮断状態で使用することを決定する（例えば、何れかの「遮断（go-disconnect）」ボタンをクリックする）。このときユーザは、自分のモバイル装置に複写する必要がある一組のポートレットを選択することができる。
トポロジー・マネージャ４０は、そのポータル・サーバで、動的情報マネージャ３０によって提供される動的情報に基づき、特定ユーザかつ特定モバイル装置１用のモバイル装置固有のコンテンツ・トポロジーを生成する。
次に、このモバイル装置固有のコンテンツ・トポロジーは、モバイル装置サイドの同期エンジンを使用してモバイル装置１に複製される。したがって、この複製は、選択された遮断時ポートレット５およびそれに関連するポートレット・データに適用される。
このとき、遮断時ポータル１２は、このモバイル装置固有のコンテンツ・トポロジーにアクセスし、そのトポロジーに従って、ブラウザ中でコンテンツをレンダリングすることができる。
【００２７】
図６は、本発明によって使用されるモバイル装置固有のコンテンツ・トポロジーを生成するためのより詳細な処理フローを示す。
【００２８】
すでに説明したように、本発明は自動的にモバイル装置固有のコンテンツ・トポロジーを生成する。このトポロジーは、動的情報マネージャによって提供される、例えば複製すべき一組のポートレット、ユーザ定義の既存のコンテンツ・トポロジー（コンテンツのサーバ・サイド・レイアウト）、ターゲット装置機能などの動的情報を使用して、サーバ・サイドで、複写処理の間にトポロジー・マネージャによって計算処理される。
【００２９】
動的情報マネージャは、モバイル装置固有のコンテンツ・トポロジーを生成するトポロジー・マネージャに動的情報を提供するために、以下のようなルールを適用することができる。すなわち、
ユーザによって定義されたサーバ・サイド・レイアウト（ユーザ定義の既存の接続時コンテンツ・トポロジー）。
例えば、小さな画面で多数のデータを装置上に表示するポートレットは複製しないなどの、モバイル装置特性。
例えば、ＷＭＬブラウザだけを使用して装置上にＷＭＬをレンダリングできないポートレットは複製しないなどの、モバイル装置機能。
例えば、自宅での遮断と職場での遮断とで異なるポートレットを複製するなどの、位置ベースの特性。
例えば、車には交通情報ポートレットを複製するが、ラップトップには複製しないなどの、装置種類に基づく特性。
例えば、就業日の午前中の職場にだけ、カフェテリアのメニューを表示するポートレットを複製するなどの、時間ベースの特性。
実際に使用できる帯域幅または通信コスト、あるいはその両方に応じて、データを装置上に複製できるかできないかが決まる、帯域幅ベースの特性。例えば、帯域幅が狭いまたは通信コストが非常に高いとき（すなわち、昼間）は、データ量の少ないポートレットだけが装置に送信され、帯域幅が広いまたは通信コストが低いとき、あるいはその両方のとき（すなわち、夜間）には、大量のデータを必要とするポートレットを装置に送信することができる。
【００３０】
一般に、モバイル装置固有のコンテンツ・トポロジーは、ページ・グループ、ページ、ページ間のナビゲーション・パス、ページ・レイアウト、ページ・レイアウト中の特定の位置に関連するポートレット・インスタンスなどで構成されるデータベース中の大量のデータによって表される（図５参照）。
【００３１】
これらのリソースは、データ・モデル中のどのエンティティがどのユーザからアクセス可能かを制御するアクセス制御機構を用いることによって、一部をユーザ固有のものにし、一部をユーザ間で共用できるものにすることができる。
【００３２】
これらの想定の下に、モバイル装置固有のコンテンツ・トポロジーを決定するプロセスは、好ましくは以下の方法で設計できる。すなわち、
ポータルは、ユーザによって選択された各ポートレット（１５０）ごとにデータベースへのクエリを作成して、そのポートレットが、遮断しようとしているユーザからアクセス可能かどうか、およびそのポートレットが遮断可能なものかどうかを判断する（２００）。ポータルは、必要ならば整理統合ステップを実施して、遮断可能でないリソース、またはユーザが選択していないポートレットによって生じる、モバイル装置固有のコンテンツ・トポロジー中の「ホール（holes）」を固定する（２５０）。この処理は、トポロジーから取り除かれたポートレットを単に削除すること、したがって接続時レイアウトからレイアウトを変更することによって実施することも、あるいは削除されたポートレットの静的なプレースホルダを表示して、そのレイアウトを、接続された場合と同一に保つように実施することもできる。
ポータルは、モバイル装置固有のコンテンツ・トポロジーを、それに関連する遮断時ポートレット・アプリケーション、およびその遮断時ポートレット・アプリケーションによってレンダリングされるデータを含めてパッケージし、そのコンテンツ・トポロジーの構造を記述するＸＭＬドキュメントに変換する（３００）。この処理は、オブジェクト・モデルを、ＸＭＬファイルのＤＯＭ解析および文法を使用して変換することによって、ＸＭＬドキュメントが生成されるように達成される。
ＸＭＬドキュメントは、例えばＳｙｎｃＭＬなどの同期プロトコルを使用して、モバイル装置の遮断時ポータルに送信される（３５０）。
遮断時ポータルは、参照されたポートレットがある場合には、そのポートレット用のファイル（ＷＡＲファイル）をサーバから引き出すことによって、ＸＭＬドキュメントからモバイル装置固有のコンテンツ・トポロジーを再構築し、遮断時ポートレットのコンテナをローカルに配置し（４００）、ＳｙｎｃＭＬなどの同期プロトコルを用いて、参照されたポートレットに関連するデータをサーバと同期させる。
モバイル装置固有のコンテンツ・トポロジー、および遮断時ポートレット・アプリケーションによってレンダリングされるデータは、モバイル装置のデータベースに格納される（４５０）。
遮断時ポートレット・アプリケーションはモバイル装置のファイル・システムに格納される（５００）。
【００３３】
図７は、図３に示した本発明を使用するポータル・サーバ−モバイル装置アーキテクチャの好ましい一実施形態を示す。
【００３４】
以下のコンポーネントはサーバ・サイドで使用される。
ユーザが遮断モードに入ることを可能にする手段を提供する遮断用ポートレット（disconnectionPortlet）２７。このポートレットは、時間、接続コスト、接続が間もなく切れることを示す指示などのパラメータに基づいて、自動的に実施することもできる。
モバイル装置上で動作するように設計された遮断時ポートレットが割り当てられた接続時ポートレット５。
遮断のための情報を格納するユーザ・プロファイル。ユーザ・プロファイルは、ユーザ・プロファイル・マネージャ２９によって管理される。さらに、ユーザ・プロファイル・マネージャは、ユーザ定義の遮断時プロファイルを生成可能にするグラフィカル・ユーザ・インターフェースを提供することもできる。ユーザ・プロファイルは、データベース（ＷＰＳ  ＤＢ、３１）に格納され、トポロジー・マネージャ４０によってアクセスされる。
遮断時ポータルからの変更と、遮断の間にポータル・サーバ・サイドで行われた可能性のある変更とを統合する手段を提供するマイグレーション・マネージャ５０。さらに、このマイグレーション・マネージャは、ターゲット・モバイル装置に送信されるファイルを生成する役割も果たす。
データベース３１、３３からの情報に基づき、遮断時ポータル用のモバイル装置固有のコンテンツ・トポロジーを生成する手段を提供するトポロジー・マネージャ４０。
サーバの遮断時ポートレットとモバイル装置の遮断時ポートレットの間でデータを同期させる、同期サーバおよび同期エンジン８０。
【００３５】
以下のコンポーネントは、モバイル装置サイドで使用される。
再度遮断モードに入ることを要求するための遮断用モバイル装置ポートレット７２。
モバイル装置の環境要件（例えば、単一ユーザ、小さいフットプリント（受信可能範囲、footprint）、制約されたＪａｖａ（SunMicrosystemの商標）ランタイム・システムなど）に合わせてすべて調整された、遮断時ポータル・サーブレット、組込み集約機能、および組込みポートレット・コンテナから成る遮断時ポータル・フレームワーク７０。
モバイル装置同期用シンクロナイザ、および同期エンジン７６。
組込みアプリケーション・サーバ７０。
遮断時ポートレット・アプリケーション（例えば、ＤＢ２ｅ）によってレンダリングされるデータを格納する永続記憶装置１１０。
永続記憶装置に成された変更を記録し、同期化を起動するマイグレーション・マネージャ８２。
出力をレンダリングし、ユーザと対話する遮断時ポートレット２０。
【００３６】
接続時／遮断時ポートレットは、好ましくはＪａｖａ（Ｒ）技術をベースにしたウェブ・コンポーネントであり、ポートレット・コンテナによって管理される。ポートレットは、情報システムにプレゼンテーション層を提供するプラグ可能なユーザ・インターフェース・コンポーネントとして使用される。ポートレットは、モデル・ビュー・コントローラ（ＭＶＣ）パターンに従ってプログラムされることが多い。図８は、このパターンがどのように実装できるかの例を示す。コントローラは、すべての着信要求を受け取り、その要求の実行を制御する。モデルは、それに関連づけられるアプリケーション・データとトランザクションに関与し、そのビジネス・ロジックをカプセル化する。ビューは、データの表示を担当する。要求を実行するために、コントローラはモデルにアクセスし、必要に応じてビューを表示する。遮断をサポートするためには、追加のコンポーネント、すなわち遮断時コントローラが必要になる。遮断時コントローラの機能は、遮断時ポータルによって提供される機能に制限される。
【００３７】
図９は、サーバ・サイドにある遮断時ポートレットが、どのようにポータル・サーバ・サイドでパッケージされ、モバイル装置に送信され、モバイル装置サイドにある遮断時ポータル上に配置されるかを示す。遮断することを決定した場合には、ユーザは、例えば遮断用ポートレットによって表示される「遮断」ボタンを押すことができる。
【００３８】
マイグレーション・マネージャは、ユーザによって選択された遮断時ポートレット、トポロジー・マネージャによって生成されたモバイル装置固有のコンテンツ・トポロジー、および遮断時ポートレット６５０によってレンダリングされるデータをパッケージする。パッケージされたデータは、以下のようにしてモバイル装置に送信することができる。
遮断時ポータルがページを集約できるようにするためのモバイル装置固有のコンテンツ・トポロジーは、ＸＭＬファイルとして送信される。
遮断時ポートレットは、ＷＡＲ（ウェブ・アーカイブ）ファイル中のポートレット・アプリケーションとしてバンドルされる。
データは遮断時ポートレットによってレンダリングされる。
【００３９】
これらのデータは、同期プロトコルＳｙｎｃＭＬを使用して送信することができる。
【００４０】
モバイル装置サイドでは、配置レジストリがこれらのファイルを受信し抽出する（７５０）。遮断時ポートレットを記載するメタ・データは、データベースに格納される。したがってこの格納は、遮断時ポートレットによってレンダリングされるデータおよびモバイル装置固有のコンテンツ・トポロジーに適用される。遮断時ポートレットのコードは、モバイル装置ファイル・システムに格納される。
【００４１】
図１０〜図１３は、新しい遮断時ユーザ・プロファイルを生成するための画面を示す。
【００４２】
遮断時ユーザ・プロファイルは、グラフィカル・ユーザ・インターフェースによって生成され、プロファイル・ネーム、ターゲット・モバイル装置、遮断時ポータルによって使用されるポートレットなどを含む。このプロファイルに関連するすべてのデータは、遮断モードでの動作のためターゲット・モバイル装置に送信される。したがって、ユーザは、遮断モードで使用可能にしたいすべてのポートレットをプロファイル中にまとめる必要がある。次いでユーザは、プロファイルを複製して、ターゲット・モバイル装置に送信されたコンポーネントを起動する必要がある。複製の動作は、サーバとモバイル装置の状態に応じて異なる状況になる。実際、ユーザがネットワーク・ポータル・サーバからプロファイルを最初に複製するときは、ポートレット・コード、ポータル・データ、およびポートレット・データをモバイル装置に送信する必要がある。ポートレット・コードは、コントローラ・コード、ビーン、コンパイル済みのＪＳＰなどを含むことができる。プロファイルと、各ポートレットの配置記述子とをどのようにレンダリングするのかをモバイル装置の集約機能が知ることができるように、ポータル・データは、そのプロファイル用のモバイル装置固有のコンテンツ・トポロジーを含んでいる。ポートレット・データは、ポートレットが、遮断動作の間にアクセスする必要のあるデータである。次回、ユーザがネットワーク・ポータル・サーバからの複製を行う際に、モバイル装置がこのポートレット・コードとポータル・データを削除していなかった場合は、これらのコンポーネントを送信する必要がない場合もある。この場合も、ポートレット・データだけはモバイル装置と同期させる必要がある。同様にユーザが、モバイル装置上のモバイル・ポータル・サーバから複製するときも、ポートレット・データをサーバ・サイドのポートレット・データと同期させる必要がある。処理は多様であるが、ユーザに必要なことは、そのモバイル装置が確実に最新のデータを含むようにプロファイルを複製する必要があることを認識していることだけである。プロファイルがすでに複製されている場合には、ユーザは、プロファイル中のポートレットのサブセットだけを複製したいと思うかもしれない。これは、例えばユーザが遅いネットワーク接続を介して接続されているときには有用である。
【００４３】
図１４〜図１７は、接続モードと遮断モードの間を切り換えるためにユーザがとるべきステップを示す。複製（replicate）ボタンおよびプロファイルをリストしたメニューが遮断用ポートレットによって表示される（図１４および図１６）。遮断用ポートレットは、デフォルトですべてのポータル・ページに追加しておく必要がある。このポートレットは、ポータル・データベースからプロファイルのリストを取得する。ユーザが複製ボタンをクリックしたとき、遮断用ポートレットはこのプロファイル中のポートレットのリストを取得し、ユーザにこれらのポートレットのどれを複製したいかを選択可能にするユーザ・インターフェースを提示する（図１１／１３）。さらに、ネットワーク・ポータル・サーバからの複製の場合には、遮断用ポートレットは、遮断の対象になり得る装置の選択をユーザに示す必要がある（図１１）。準備ができた後で、ユーザは複製を行うためのスタート・ボタンをクリックする（図１０）。前述のように、複製を行うために遮断用ポートレットがとる各ステップは、モバイル装置とサーバの状態に依存する。遮断用ポートレットは、ポートレット・コ―ドの全体を用意することもできるし、各ポートレットによって使用されるデータだけを同期させることもできる。
【００４４】
図１８〜図２２は、本発明で使用される複製プロセスの好ましい実施形態を示す。
【００４５】
サーバ・サイドからの複製
接続状態のビューからの複製においては、いくつかのコンポーネントを共同させて複製を行う必要がある。
【００４６】
図１８は、インフラストラクチャがプロファイル中のポートレットおよび可能なターゲット・モバイル装置のリストを見つけたときに、複製の最初のステップで行われるフローを示す。ユーザが複製ボタンを押したとき、ＨＴＴＰ要求がポータル・サーバに送信される（１）。この要求は、モバイル装置が現在使用しているプロファイルの名前を含む。ポータル・サーブレットは、この要求が遮断用ポートレット向けのものであることを認識する（２）。遮断用ポートレットは、ユーザ・プロファイル・マネージャに照会して（３）、そのプロファイル中のポートレットのリスト、およびユーザがその装置上に複製を行うことができるターゲット・モバイル装置のリストを取得する。ユーザ・プロファイル・マネージャは、ＷＰＳデータベースからその情報を取得する（４）。遮断用ポートレットは、この情報を使用して、複製すべきポートレットのサブセットおよびターゲット・モバイル装置のメニューを、ユーザが必要な場合に選択できるようにするグラフィカル・ユーザ・インターフェースを構築する。次のステップは、ユーザがスタート・ボタンをクリックしたときに、実際にデータの複製を行うステップである。このステップは、次の図１９／２０に示されている。図１９は、サーバ・サイドのステップを示す。ポータルは、遮断用ポートレットに宛てた、パラメータとして複製の範囲とターゲット装置とを含んだ要求を受信する（１）。複製の範囲は、全体のプロファイルを複製する必要があるのか、またはそのプロファイルから選択されたポートレットだけを複製する必要があるのかを指示する。この指示は、接続が遅いときには有用な場合がある。遮断用ポートレットは、この情報を使用して要求された各ポートレットごとにホーディング・フェーズ（hoarding phase）を開始するようマイグレーション・サービスに要求する（３）。マイグレーション・サービスは、各ポートレットごとに、そのポートレットが登録したフェッチレット（fetchlet）を呼び出す必要がある（４）。その結果、フェッチレットはバックエンド・サーバから情報をフェッチし、そのポートレットによって提供されたデータ・モデルを更新する。遮断用ポートレットは、データ・サービスに「管理（administrative）」データ・モデルの生成を要求する（６）。データ・サービスは、新しいデータ・インスタンスの生成を担当する同期エンジンに要求を転送する（７）。遮断用ポートレットは、このデータ・モデルにポートレットＩＤのリストを追加する。遮断用ポートレットは各ポートレットごとに、関連するデータ・モデルＩＤのリストを追加し、ポータルＤＢにポートレット・データ・オブジェクトを要求する。遮断用ポートレットはまた、そのプロファイル用のＷＡＲファイルおよびプロファイル記述もユーザ・プロファイル・マネージャに要求する（１０）。このデータ・モデルが生成された後で、遮断用ポートレットは、ターゲット装置上のローカルＷＰＳサーバを指示するリダイレクトＵＲＬ、および生成されたばかりの管理データ・モデルのパラメータＩＤを生成する（１５）。
【００４７】
図２０は、リダイレクトＵＲＬを受信したときの（１）、モバイル装置サイドでのステップを示す。ポータル・サーブレットは、この要求を遮断用ポートレットに送信する（２）。遮断用ポートレットは、複製すべき管理データ・モデルのＩＤを分離し、データ・サービスを使用して、このモデルの複製を起動する（３）。データ・サービスは、この要求を同期エンジンに転送する（４）。同期エンジンはレプリケータを使用して、サーバ・サイドからデータ・モデルを取得する（５）。管理リスナ（admin listener）は同期エンジンに登録されており、したがって管理データ・モデルが受信されたとき、そのリスナが呼び出される。同様に同期エンジンは、管理データ・モデルを受信すると直ぐに管理リスナを呼び出す（９）。管理リスナは、そのデータ・モデルを解析し、モバイル・ポータルのＷＡＲファイルに含まれるポートレット、および対応するポートレット・データ・オブジェクトを配置する。管理リスナは、プロファイル・トポロジーおよびプロファイル記述をモバイル装置のデータベースに格納する。次に、管理リスナは、データ・モデルに含まれる唯一のＩＤを使用して、そのポートレットに関連するモデルの複製を起動する（１１）。その結果、同期エンジンは、レプリケータにサーバ・サイドから適切なモデルを取得するよう要求する（１２）。
【００４８】
モバイル装置サイドからの複製。
モバイル装置サイドからの複製の場合は、上記ステップで不要になるものもある。図２１／２２は、このステップを示す。
【００４９】
複製すべきポートレットのサブセットを選択する機能を提供するために、図１４〜１７に示した各ステップを最初に動作させる。ユーザが全体のプロファイルを複製することを選択した場合は、図２１の各ステップが実施される。
【００５０】
図２１は、モバイル装置サイドのインフラストラクチャのフローを示す。スタート・ボタンのクリックにより、プロファイルの複製を求めるＨＴＴＰ要求が生成される（１）。ポータル・サーブレットは、その要求を遮断用ポートレットに送信し（２）、遮断用ポートレットは、ユーザ・プロファイル・マネージャからそのプロファイル中のリストを取得する（３）。次いで、遮断用ポートレットは、マイグレーション・サービスに、各ポートレットに関連するモデルを複製するよう要求する（７）。マイグレーション・サービスはその要求を同期エンジンに送信する（８）。同期エンジンは、レプリケータと対話して、複製を完了する（９）。
【００５１】
図２２は、モバイル装置が複製を起動したときのサーバ・サイドの各ステップを示す。レプリケータは、同期メッセージを受信する（１）。レプリケータは同期エンジンを呼び出し（２）、同期エンジンが、モバイル装置で行われた変更とサーバ・サイドのデータ・モデルとのマージを担当する。これらの変更をバックエンドのサーバに反映するために、同期エンジンは、各ポートレットがどのフェッチレットを登録したかを知っているマイグレーション・サービスを呼び出す（３）。マイグレーション・サービスはフェッチレットを呼び出し、そのフェッチレットが、バックエンド・サーバと対話してデータを同期させる。
【図面の簡単な説明】
【００５２】
【図１】ＩＢＭのポータル・ページ、およびそのポータル固有のコンテンツ・トポロジーの例を示す図である。
【図２】モバイル装置とポータルの間の、従来技術による通信処理の例を示す図である。
【図３】本発明の基本的な実装を示す図である。
【図４】図３に示した本発明のアーキテクチャを使用するための概略構成を示す図である。
【図５】本発明によって使用されるコンテンツ・トポロジーを示す図である。
【図６】本発明によって使用される、モバイル装置固有のコンテンツを生成するための詳細な処理フローを示す図である。
【図７】図３に示した本発明を使用する好ましいアーキテクチャを示す図である。
【図８】ポートレットがどのようにプログラムされるかの例を示す図である。
【図９】遮断時ポートレットが、どのようにターゲット・モバイル装置に送信されるかを示した図である。
【図１０】本発明に従って、新しいユーザ・プロファイルを生成するための画面を示す図である。
【図１１】本発明に従って、新しいユーザ・プロファイルを生成するための画面を示す図である。
【図１２】本発明に従って、新しいユーザ・プロファイルを生成するための画面を示す図である。
【図１３】本発明に従って、新しいユーザ・プロファイルを生成するための画面を示す図である。
【図１４】接続モードと遮断モードを切り換えるための画面を示す図である。
【図１５】接続モードと遮断モードを切り換えるための画面を示す図である。
【図１６】接続モードと遮断モードを切り換えるための画面を示す図である。
【図１７】接続モードと遮断モードを切り換えるための画面を示す図である。
【図１８】本発明によって使用される複製プロセスの好ましい実施形態を示す図である。
【図１９】本発明によって使用される複製プロセスの好ましい実施形態を示す図である。
【図２０】本発明によって使用される複製プロセスの好ましい実施形態を示す図である。
【図２１】本発明によって使用される複製プロセスの好ましい実施形態を示す図である。
【図２２】本発明によって使用される複製プロセスの好ましい実施形態を示す図である。
【図１】
0004478576.tif 000002
【図２】
0004478576.tif 000003
【図３】
0004478576.tif 000004
【図４】
0004478576.tif 000005
【図５】
0004478576.tif 000006
【図６】
0004478576.tif 000007
【図７】
0004478576.tif 000008
【図８】
0004478576.tif 000009
【図９】
0004478576.tif 000010
【図１０】
0004478576.tif 000011
【図１１】
0004478576.tif 000012
【図１２】
0004478576.tif 000013
【図１３】
0004478576.tif 000014
【図１４】
0004478576.tif 000015
【図１５】
0004478576.tif 000016
【図１６】
0004478576.tif 000017
【図１７】
0004478576.tif 000018
【図１８】
0004478576.tif 000019
【図１９】
0004478576.tif 000020
【図２０】
0004478576.tif 000021
【図２１】
0004478576.tif 000022
【図２２】
0004478576.tif 000023