JP4849692B2 - ポータブル・ポートレットを選択および配信する方法ならびに装置 - Google Patents

ポータブル・ポートレットを選択および配信する方法ならびに装置 Download PDF

Info

Publication number
JP4849692B2
JP4849692B2 JP2008503515A JP2008503515A JP4849692B2 JP 4849692 B2 JP4849692 B2 JP 4849692B2 JP 2008503515 A JP2008503515 A JP 2008503515A JP 2008503515 A JP2008503515 A JP 2008503515A JP 4849692 B2 JP4849692 B2 JP 4849692B2
Authority
JP
Japan
Prior art keywords
portlet
client
server
receiving
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008503515A
Other languages
English (en)
Other versions
JP2008537217A (ja
Inventor
エトゲン、マイケル、ピーター
フォックス、ジェームズ、エドワード
ミラー、スティーブン、マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008537217A publication Critical patent/JP2008537217A/ja
Application granted granted Critical
Publication of JP4849692B2 publication Critical patent/JP4849692B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、一般にハイパーテキスト・ポータルおよびポートレットに関する。詳細には、本発明は、ポートレットとポータルとの間でデータを共有する際の柔軟性および再使用可能性の向上を可能にするポートレット・データ共用システム、方法、ならびにプログラム製品を提供する。
ポータルまたはポータル・プログラムは、パーソナライゼーション、様々なソースからのコンテンツ集約を提供し、フォーマッティングおよびその他のプレゼンテーション層機能を提供し、任意選択で、異種のウェブ・サービスにアクセスするのに必要なシングル・サインオンを提供することのできるウェブ・ベースまたはハイパーテキスト・ベースのアプリケーションである。ポータル・サーバは、ユーザにデータを配信する、組み合わされたソフトウェア、ハードウェア、およびクライアント・データであってもよい。
インターネットの使用がよりパーベイシブとなるにつれて、ウェブ・コンテンツを表示するためのよりよい技術が常に開発されている。この範囲で、ポータル・サーバは、ユーザにウェブ・コンテンツを配信する際に好まれる技術となった。通常、ポータル・サーバは、ポータル・プログラム(例えばニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションのWEBSPHERE(R))を含み、ポータル・プログラムは、1つまたは複数のポートレットを含むポータル・ページとしてウェブ・コンテンツを配置する。
ポートレットは、コンテンツおよび機能のカプセル化である。ポートレットは、ウェブ・ベースのコンテンツ、アプリケーション機能、および資源へのアクセスを組み合わせる再使用可能コンポーネントである。ポートレットはポータル・ページとして組み立てられ、ポータル・ページはポータル実装を構成する。ポートレットは、そのコンテンツをポータル・ページ上のウィンドウ・ライクなディスプレイ内に提示する点でWindows (登録商標)(R)アプリケーションと似ている。Windows (登録商標)(R)アプリケーションと同様に、ポートレット・ウィンドウは、コントロールを含むタイトル・バーを有し、ユーザがアプリケーションを拡大(最大化)および縮小(最小化)することを可能にする。
各ポートレットは、ユーザのプリファレンスに従って指定されたウェブ・コンテンツのセクションを含む。例えば、ユーザは、ニュース、天気、およびスポーツに関するポートレットを有するユーザ自身のポータル・ページを確立することができる。したがって、ポートレット・ウィンドウは、ポートレット・プログラムの外面的発現(outward manifestation)である。ポートレット・プログラムは、適切なコンテンツ・プロバイダから所望のウェブ・コンテンツを得て、ウェブ・コンテンツを集約することができる。各ポートレットは、ウェブ・コンテンツが適切なポートレット・ウィンドウまたはサブウィンドウ内に表示されるように、ポータルと連係してマークアップ(例えばHTML)を生成する。このポータル技術により、個々のウェブ・ユーザ向けにパーソナライズされた「ホームページ」が爆発的に増加した。
開発者は、市販のアプリケーションのためのポートレット技術を適用し始めている。例えば、ポータル・ページを使用して、従業員、顧客、サプライヤなどのためのページをカスタマイズすることができる。こうしたアプリケーションでは、各ポートレットで提示されるデータがしばしば関係付けられる。例えば、旅行ポートレットの「行先都市」フィールドのデータを、天気ポートレットの「対象都市」フィールドと共用することができる。現在の実装では、ポートレットは、パラメータをメッセージングし、または渡すことにより、別の既知のポートレットとデータを共用することができる。しかし、ポートレット開発者は、データ共用を実装するために、すべての関与するポートレットの詳細な知識を有さなければならない。さらに、データを共用するかどうか、およびどのデータを共用するかの判定は、ポートレットが開発されるときに固定される。こうした制限により、ポートレットの再使用可能性および相互運用性が制限される。
情報を共用し、ポータルに集約する従来技術の方法は、とりわけシンプル・オブジェクト・アクセス・プロトコル(SOAP)を含んでいた。SOAPは、好ましくはハイパーテキスト転送プロトコル(HTTP)およびその拡張可能なマーク付け言語(XML)を情報交換のための機構として使用することにより、ある種類のオペレーティング・システムで動作するプログラムが同じ種類または別の種類のオペレーティング・システムでのプログラムと通信するための方式である。SOAPは、あるコンピュータ内のプログラムが別のコンピュータ内のプログラムを呼び出し、それに情報を渡すことができるように、HTTPヘッダおよびXMLファイルをどのように符号化するかを指定する。SOAPはまた、呼び出されたプログラムがどのように応答を返すことができるかも指定する。
米国公開特許出願2002/0169852A1
コンテンツを追加する旧来の方式は、統合開発環境(IDE)、すなわち通常はコード・エディタ、コンパイラ、デバッガ、およびグラフィカル・ユーザ・インターフェース(GUI)ビルダからなるアプリケーション・プログラムとしてパッケージ化されたプログラミング環境を使用することを含むことがあった。その前でさえ、異種のソースからのコンテンツを統合することはしばしば、HTMLを編集し、CGI機能を追加する労力を要するプロセスである可能性があった。いずれの場合も、労力を要し、時間がかかり、難解な言語のセマンティクスおよびフォーマッティングの特別な知識が求められた。これは確かに、情報を求めてウェブをサーフィンする大多数の人々が行うべき作業ではなかった。
米国公開特許出願2002/0169852A1、SYSTEMAND METHOD FOR DYNAMICALLY INTEGRATING REMOTE PORTLETS INTO PORTALS、IBMにおいて、ある程度の進歩がなされた。従来技術の発明は、ポータルでリモート・ポートレットをインストールし、それにアクセスし、それを使用する単純化された手続きを提供するための、称賛に値する目標を有していた。従来技術は、SOAPおよびその他のプロトコルがメニュー形式のインターフェースからポートレットを選び、不特定の順序でそのようなポートレットをポータルに追加することをサポートすることのできる方式を示したが、従来技術は、アクティブにレンダリングされたポートレットを親ページでアドホックに選択し、そのようなポートレットを、ユーザが望んだポータル・ウィンドウ・リアル・エステートの厳密な区域内に次々に配置するという現代的概念に対処することを怠っていた。
第1の態様によれば、ポートレット状態を有するポートレットを選択する方法であって、装飾およびイベント・トリガを有するポートレットをレンダリングするステップと、イベント・トリガに対応するユーザ・イベントをサーバで受信するステップと、ユーザ・イベントに基づいてポートレット状態を直列化するステップと、ポートレット状態をキーに格納するステップと、ポートレット状態を有するキーをクライアントに送るステップとを含む方法が提供される。
第2の態様によれば、持続ポータル・セッションを確立する方法であって、サーバでハイパーテキスト転送プロトコル要求を受信するステップと、ポータル・ウィンドウ上のエリアに対応する第1イベント・トリガを有するポータル・ウィンドウをレンダリングするステップと、イベント・トリガを受信するステップと、ポートレットを有するポートレット・リファレンスを有するキーを受信するステップと、キーをオリジン・サーバに送信するステップと、キーに従ってポートレットをレンダリングするステップとを含む方法が提供される。
第3の態様によれば、ポートレット状態を有するポートレットを選択するサーバであって、装飾およびイベント・トリガを有するポートレットをレンダリングするプロセッサと、プロセッサに結合され、イベント・トリガに対応するユーザ・イベントをサーバで受信するネットワーク・アダプタと、プロセッサに結合され、ユーザ・イベントに基づいてポートレット状態を直列化する手段手段と、ポートレット状態をキーに格納するメモリと、ポートレット状態を有するキーをクライアントに送るLANアダプタとを備えるサーバが提供される。
第4の態様によれば、持続ポータル・セッションを確立するシステムであって、サーバでハイパーテキスト転送プロトコル要求を受信する手段と、ポータル・ウィンドウ上のエリアに対応する第1イベント・トリガを有するポータル・ウィンドウをレンダリングする手段と、イベント・トリガを受信する手段と、ポートレットを有するポートレット・リファレンスを有するキーを受信する手段と、キーをオリジン・サーバに送信する手段と、キーに従ってポートレットをレンダリングする手段とを備えるシステムが提供される。
本発明は、コンピュータ・ソフトウェアとして実装することができる。
ポートレット・データを共用するシステム、方法、およびプログラム製品が提供される。具体的には、別個のサーバと共用することができ、かつ分離サーバ(disjoint server)を介して共用することのできるポートレット内のデータへのアクセスを開発者が定義することを可能にするシステム、方法、およびプログラム製品が提供されることが好ましい。さらに、ユーザまたは開発者がポートレット間のデータ共用を定義することを可能にするポートレットを用いた解決策が提供されることが好ましい。こうした特徴は、より柔軟であり、様々なアプリケーションで再使用可能なポートレットを提供する。
本発明は、ポートレットを選択する方法、装置、およびコンピュータ・プログラム製品を提供する。最初に、好ましくは、オリジン・サーバは、ユーザまたはクライアントのhttp(ハイパーテキスト転送プロトコル)要求に応答してポートレットをレンダリングする。ポートレットは、好ましくはポートレット・ウィンドウとして表示され、好ましくは、ポインタ・アクションまたはイベントに応答するボタンまたはグラブ可能フレームを有する。ユーザはボタンをクリックし、好ましくは、オリジン・サーバはポートレットの状態を直列化する。好ましくは、オリジン・サーバはポートレット状態をキーに格納し、キーをクライアントに送る。
後で、ユーザのお気に入りのポータルで、本発明の一実施形態は、http要求を受信し、ポータル・ウィンドウの一部に対応するイベント・トリガを少なくとも有するポータル・ウィンドウをレンダリングする。ポータルは、付随するポートレット状態のキーを受信する。キーは、クライアントとオリジン・サーバとの間のセッションを持続させるための手段として働くが、キーをオリジン・サーバに通信するためにポータル・サーバ(分離サーバと呼ばれることもある)をプロキシとして使用する。分離サーバは、キーに従ってポートレットをレンダリングする。
次に、単なる例として、添付の図面を参照しながら本発明の好ましい実施形態を説明する。
当技術分野で周知の通り、「ポートレット」という用語は、ポータル・ページの可視セクションと、可視セクションでの表示のためにポータル・ページ内のコンテンツを取得および集約するのに使用されるプログラム・コードの両方を指すことを理解されたい。したがって、ポートレットは、(1)ポータル・ページの一部として表示される可視ポートレット、および(2)可視ポートレットで表示されるコンテンツを得るためのプログラム・コードを含むポートレット・プログラムという少なくとも2つの面を有すると理解されたい。
集約は、ウェブ・ページ内の様々なソースからコンテンツを統合するプロセスである。
本発明の実施形態の一利点は、コンテンツをポータルとして構築および集約するユーザ・アクションが単純化されることである。単純化は、2つのブラウザ・ウィンドウが表示された状態で、ユーザがブラウザ・ウィンドウから(受信サーバでホストされる)第2のブラウザ・ウィンドウにポートレットをドラッグし、そのようなブラウザ・ウィンドウをレンダリングする新しいサーバ、恐らくは分離サーバが、別のサーバ(恐らくは分離サーバ)でホストすることのできるポートレットへ繰り返しアクセスすることを保証することが可能となる形で達成可能である。実質的に、単純なドラッグ・アンド・ドロップ・アクションで比較的永続的な追加を行うことができる。
次に各図、特に図1を参照すると、本発明を実装することのできるデータ処理システムの絵画表現が、本発明の好ましい実施形態に従って示されている。システム・ユニット102と、ビデオ・ディスプレイ端末104と、キーボード106と、フレキシブル・ディスク・ドライブおよびその他のタイプの永続的かつ取外し可能な記憶媒体を含むことのできる記憶装置108と、マウス110とを含むコンピュータ100が示されている。例えばジョイスティック、タッチパッド、タッチ・スクリーン、トラックボール、マイクロフォンなどの追加の入力装置をパーソナル・コンピュータ100に含めることができる。コンピュータ100は、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションの製品であるIBM(R)eServer(R)コンピュータやIntelliStation(R)コンピュータなどの任意の適切なコンピュータを使用して実装することができる(IBM、eServer、およびIntelliStationは、インターナショナル・ビジネス・マシーンズ・コーポレーションの米国およびその他の国における商標)。図示される表現はコンピュータを示すが、本発明の他の実施形態は、ネットワーク・コンピュータなどの他のタイプのデータ処理システムとして実装することができる。好ましくは、コンピュータ100は、コンピュータ100内での動作の際にコンピュータ可読媒体内にあるシステムソフトウェアによって実装することのできるグラフィカル・ユーザ・インターフェース(GUI)も含む。
次に図2を参照すると、一実施形態に従って本発明を実装することのできるデータ処理システムのブロック図が示されている。データ処理システム200は、本発明のプロセスを実装するコードまたは命令を配置することのできる、図1のコンピュータ100などのコンピュータの一例である。データ処理システム200は、PCIローカル・バス・アーキテクチャを使用する。図示される例はPCIバスを使用するが、AGPやISAなどの他のバス・アーキテクチャも使用することができる。プロセッサ202およびメイン・メモリ204は、PCIブリッジ208を介してPCIローカル・バス206に接続される。PCIブリッジ208はまた、プロセッサ202用の統合メモリ・コントローラ/キャッシュ・メモリも含むことができる。直接構成要素相互接続またはアドイン・コネクタを介してPCIローカル・バス206への追加の接続を行うことができる。図示する例では、ローカル・エリア・ネットワーク(LAN)アダプタ210、SCSIホスト・バス・アダプタ212、および拡張バス・インターフェース214が、直接構成要素接続によってPCIローカル・バス206に接続される。一方、オーディオ・アダプタ216、グラフィックス・アダプタ218、およびオーディオ/ビデオ・アダプタ219は、拡張スロットに挿入されたアドイン・ボードによってPCIローカル・バス206に接続される。拡張バス・インターフェース214は、キーボード/マウス・アダプタ220、モデム222、および追加のメモリ224に対する接続を提供する。SCSIホスト・バス・アダプタ212は、ハード・ディスク・ドライブ226、テープ・ドライブ228、およびCD−ROMドライブ230に対する接続を提供する。典型的なPCIローカル・バス実装は、3つまたは4つのPCI拡張スロットまたはアドイン・コネクタをサポートする。
オペレーティング・システムがプロセッサ202上で動作し、図2のデータ処理システム200内の様々な構成要素の制御を調整および提供するのに使用される。オペレーティング・システムは、Microsoft(R) Corporationから入手可能なWindows (登録商標)(R)XPなどの市販のオペレーティング・システムでもよい(MicrosoftおよびWindows (登録商標)は、Microsoft Corporationの米国およびその他の国における商標)。Java(登録商標)(R)などのオブジェクト指向プログラミング・システムがオペレーティング・システムと共に動作することができ、データ処理システム200上で実行中のJava(登録商標)(R)プログラムまたはアプリケーションからオペレーティング・システムへの呼出しを実現する。「Java(登録商標)(R)」は、Sun Microsystems,Inc.の米国およびその他の国における商標である。オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムに対する命令は、ハード・ディスク・ドライブ226などの記憶装置上に配置され、メイン・メモリ204にロードしてプロセッサ202で実行することができる。
図2のハードウェアは実装に応じて変化することがあることを当業者は理解されよう。フラッシュ読取り専用メモリ(ROM)、同等の不揮発性メモリ、光ディスク・ドライブなどのその他の内部ハードウェアまたは周辺装置を、図2に示すハードウェアに加えて、またはその代わりに使用することができる。さらに、本発明の実施形態のプロセスをマルチプロセッサ・データ処理システムに適用することができる。
例えば、データ処理システム200が任意選択でネットワーク・コンピュータとして構成された場合、データ処理システム200は、SCSIホスト・バス・アダプタ212、ハード・ディスク・ドライブ226、テープ・ドライブ228、およびCD−ROM230を含まないことがある。その場合、コンピュータ、正確に言えばクライアント・コンピュータは、LANアダプタ210、モデム222などの何らかのタイプのネットワーク通信インターフェースを含む。別の例として、データ処理システム200は、データ処理システム200が何らかのタイプのネットワーク通信インターフェースを備えるか否かにかかわらず、何らかのタイプのネットワーク通信インターフェースに依拠することなくブート可能であるように構成されたスタンド・アロン・システムでもよい。別の例として、データ処理システム200は、オペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を格納する不揮発性記憶を提供するためにROMまたはフラッシュROMあるいはその両方と共に構成された携帯情報端末(PDA)装置でもよい。
図2に示す例および上述の例は、アーキテクチャ上の制限を示唆するものではない。例えば、データ処理システム200は、PDAの形態を取ることに加えて、ノートブック・コンピュータまたはハンドヘルド・コンピュータでもよい。データ処理システム200はキオスクまたはウェブ・アプライアンスでもよい。
本発明の実施形態のプロセスは、コンピュータで実装される命令を使用してプロセッサ202で実行され、コンピュータで実装される命令は、例えばメイン・メモリ204、メモリ224、1つまたは複数の周辺装置226〜230などのメモリ内に配置することができる。
次に図3を参照すると、ブロック図が、好ましい実施形態に従って本発明を実装することのできる1つまたは複数のサーバとクライアントの関係を示す。図3には、マークアップまたはその他のファイルを提供することのできるオリジン・サーバ(発信サーバと呼ばれることもある)301が示されている。マークアップ言語を含むファイルを取り出して送信すること、オンザフライで作成して送信すること、またはファイルの取り出しとオンザフライで作成したマークアップの追加を何らかの形で組み合わせることにより、マークアップを「レンダリング」することができる。レンダリングは、完全な十分に形成されたマークアップ・ファイルまたはストリームがプロセスの終わりに生成されるように、または十分に形成されたマークアップ・ファイルまたはストリームのフラグメントが生成されるように行うことができる。レンダリングは一般に要求、例えばクライアント305からのハイパーテキスト転送プロトコル(HTTP)要求の受信時に行われる。レンダリングされたファイルまたはストリームの多くの要素はブラウザ上に表示することができるが、コメントや時々実行されるプログラム命令などの一部の要素は表示されないことがある。レンダリングの多くの態様は、図2のプロセッサ202のプログラム制御下にある。
オリジン・サーバ301、クライアント305、および分離サーバ303は、図1の1つまたは複数のデータ処理システムの多くの部分、さらにはすべての部分を実装することができる。オリジン・サーバ301、クライアント305、および分離サーバ303はネットワークによって相互接続することができ、ネットワークは、話を簡単にするために図示されていない。そのようなネットワークは、例えばプライベートLANを介して、堅固で一定の接続サービスを提供することができる。そのようなネットワークは、Wi−Fiまたは他のワイヤレス環境の場合のように、一時的かつ断続的なこともある。
一般に、オリジン・サーバ301は、クライアント305にポートレットの初期レンダリングを提供し、クライアント305は、自信が選択したポータル、例えば分離サーバ303(受信サーバと呼ばれることもある)において後で使用したい少なくとも1つのポートレットをオリジン・サーバ301に示す。オリジン・サーバ301は、ファイルと考えることができ、ストレージに不揮発性式に格納することのできる共用セッション307を作成することができる。共用セッション307はより一時性(ephemeral)でよいが、含むことができるのはサーバ301から出力されたデータ・ストリームにすぎず、伝送中に占有する位置に応じて様々な形を取ること、すなわち、ネットワークにわたってフラグメントとして存在するようにパケット化し、パケット交換することができる。
さらに、オリジン・サーバは、同じ管理ドメイン内のサーバのクラスタでもよい。したがって、各サーバは、共通データベースを共用すること、またはサーバ間でそのようなデータを分散させることができる。クラスタ内のサーバの1つと確立されたトランザクションまたはプロトコルをクラスタ全体とのトランザクションまたはプロトコルと見なすことができる。同様に、分離サーバは、それ自体の共通管理ドメイン内の処理を複数のサーバに調整させることによってスケーリングすることができる。
共用セッション307は、ポートレットに関する状態情報に加えて、クライアントと、分離サーバと、オリジン・サーバ内のポートレットの組合せを一意に定義するキーまたは固有文字列として存在することができ、ポートレットに関する状態情報は、キーが参照するオブジェクトでもよい。
図4に、図3のオリジン・サーバ301が本発明の一実施形態に従って実行することのできるステップを示す。クライアント305は、オリジン・サーバ301にHTTP要求を行うことができる。オリジン・サーバは、例えば図2のネットワーク・アダプタ201を介してそのような要求を受信し(ステップ401)、マークアップ・ファイルおよび恐らくは何らかのコードを送信することによって第1ポートレットをレンダリングすることができる(ステップ403)。マークアップは、オリジン・サーバで全体的または部分的にオンザフライで生成することができる。オリジン・サーバ301とクライアント305との間のセッションでは、オリジン・サーバは、第1ポートレットに適用可能である第1装飾も提供し(ステップ405)、装飾は、ボタン制御、ウィンドウ・グラブ・バー、またはその他の任意のアクティブな装飾である。装飾は、イベント・トリガに基づいてポートレットの脱水(dehydration)(以下で説明する)を実施するサーブレットまたはその他のプログラムに結合することができる。そのようなイベント・トリガは、ポートレット・ウィンドウ内またはその周りに関して座標で示される位置でのポインタ、例えばマウスのクリックを含むことができる。
オリジン・サーバは、第2ポートレットをレンダリングし(ステップ407)、続いて第2装飾をレンダリングする(ステップ409)。第1ポートレットと同様に第2ポートレット(ステップ407)は、マウス・クリックなどのポインティング・デバイス・ユーザ・イベントで与えられるイベント・トリガを待つ、それに関連するコードを有することができる。
オリジン・サーバは、クライアントをソースとするユーザ・イベントを受信することができる(ステップ411)。ユーザ・イベントがポートレット装飾の1つに関連するイベント・トリガに対応する場合(ステップ413)、オリジン・サーバはポートレットのコードを起動することができる。そうでない場合、オリジン・サーバは、ユーザ・イベントの受信(ステップ411)を待ち続ける。ポートレットのコードが起動された場合、そのようなコードは、例えば対応するポートレットを直列化して、共用セッションに格納することのできるオブジェクトまたはその他のエンティティを生成することにより、ポートレットを脱水する(ステップ415)。直列化は、後の何らかの使用のために格納する目的でオブジェクトの状態がXMLやバイナリフォーマットなどの何らかの直列データ・フォーマットに変換されるプロセスである。言い換えれば、オブジェクト、例えばポートレットは、再び必要とされるまで、「脱水」され、取って置かれる。
脱水されたオブジェクトは、単に状態データ、例えばポートレット状態を含むことができる。ポートレット状態および何らかのリファレンス、例えば完全修飾URI(Uniform Resource Identifier)を、例えば図2のメイン・メモリ204内のキーに格納することができる。次いで、LANアダプタを介してキーをクライアントに送ることができる(ステップ417)。LANアダプタは図2のネットワーク・アダプタ210でもよい。
図3のオリジン・サーバは、状態データを使用して、装置から一時http要求を後で受信することができ、そのような状態データは、恐らくはセッションの固有識別子を含む。オリジン・サーバがセッションを認証することができる範囲で、オリジン・サーバは、セッションのユーザ、または分離サーバなどの任意の仲介に課金することができる。そのような課金は、1日の使用ごとに、1時間の使用ごとに、またはhttp要求ごとに行うことができる。そのような使用は、オリジン・サーバへのhttp要求を行う動作を含むことができ、http要求は固有識別子を伴う。
クライアント自体にはユーザが手動で指示することができる。ローカルにキーを有するユーザは、次に何を行うかに関して高い柔軟性を有する。キーを後の使用のためにメモリに格納すること、キーをクライアント内部のウェブ・ページに配置すること、またはXML HTTPセッションを介してキーをユーザのお気に入りのポータルに送ることができる。この第3のケースを次に検討する。
図5に、第1オリジン・サーバとは異なるものでもよい、本発明の一実施形態による第2サーバで実施することのできるステップを示す。実際には、第2サーバは、第1サーバとは異なる管理ドメイン内にあってもよく、したがって分離サーバでもよい。この実施形態では、このサーバを分離サーバと呼ぶが、第2サーバはオリジン・サーバと同じサーバであってもよいことを理解されたい。
分離サーバは、クライアントからHTTP要求を受信することができる(ステップ501)。分離サーバは、ユーザ・プリファレンスと、クライアントに対して既に確立された構成とを伴うアカウントを有することができる。認証に関しては、特に新しいアカウントが分離サーバで生成中であるときは、任意選択でよい。分離サーバは、通常はポータルと見なされるものを提供することができる。分離サーバは、例えばユーザが最初にアカウントを確立したときに、まばらであり、ほとんど装飾なしにレンダリングされるポータルを提供またはレンダリングすることができる(ステップ503)。ポータルは、ユーザ・イベントと、ポータル・ウィンドウであるレンダリングされたウィンドウ内のその相対位置とを検出するための何らかの方式を提供することを除き、非常にわずかなコンテンツからなることができる。この最小限のビューにおいて、第1イベント・トリガを有する第1装飾をレンダリングすることができ(ステップ505)、第2ユーザ・イベント・トリガを有する第2装飾をレンダリングすることができる(ステップ507)。そのような装飾は、ポータル・ウィンドウ内の異なるエリアを占有することができ、したがって、ポータル・ウィンドウ内で特定のポートレットがどこに現れるように構成されるべきかに関するプリファレンスをユーザが伝える手段を提供する。
第1装飾は、表示されるポータルのエリア内のマウス・クリックに応答することができる。エリアは仮想エリアであり、ディスプレイ・サイズの小ささのために、ディスプレイ、ウィンドウ、またはその両方の縁部を超えて延びることができることを理解されたい。
分離サーバは、ユーザ・イベントを受信することができる(ステップ509)。場合によっては、ユーザ・イベントは第1装飾または第2装飾に関連するユーザ・イベント・トリガに関係せず(ステップ511)、したがって、フロー中で、イベントを待ち続けるループが行われる。そうでない場合、ユーザ・イベントは装飾のユーザ・イベント・トリガに対応する(ステップ511)。
次いで、イベント・トリガは、分離ポータル内のコードに、以前に得られたキーを検査または受信させ(ステップ513)、それを再水和(rehydrate)させ、すなわち、オリジン・サーバにおけるその位置からポートレット・オブジェクトを取得させ、キーの状態をそれに適用させる。キーの状態をポートレットに適用するステップは、ポートレットに格納された方法またはステップのうちの少なくとも1つを実行することを含む。キーは、ユーザの認証、必要なウェブ資源の可用性(ISPに障害が発生するか、またはオリジン・ホストが何らかの種類のDOSアタックを受けた場合に、ウェブ資源が利用可能でない可能性があるため)などの何らかの妥当性検査を通過することができる(ステップ515)。妥当性検査のyes分岐(ステップ515)が生じた場合、分離サーバは、ユーザ・イベントのターゲットであった装飾の位置に一致するポータル・ウィンドウの相対位置のキーに対応するポートレットをレンダリングする(ステップ519)。
(例えばマウスのクリックまたはリリースの時のマウスの座標で与えられる)相対位置のポートレットのレンダリングに続いて、分離サーバは、ポートレット状態、およびポータル・ウィンドウ内のポートレットの相対座標を再呼出しするデータ構造内にキーを格納することができる(ステップ521)。ポータルは、カラー、フォント、その他の美的選択肢など、ユーザによって先に選択されたプリファレンスによってポートレット・ウィンドウの表示を修正することができ、それによってポートレットが、ポータル(URI)への後続のHTTP要求で同一の一般的方式で永続的に示される。
(どんな理由であれ)妥当性検査でキーが有効でなければ(ステップ515)、分離サーバがユーザ・イベントを待ち続けるようにすることができる(ステップ509)。XML HTTPを介してキーを受信するステップ(ステップ513)は、ポータルがキーを要求するステップも含むことができる。
分離サーバは、ユーザに関するポートレットの集まりを集約する特権に関して課金することができる。課金は、ユーザが分離サーバ上に配置するポートレットごとに確立することができる。
本発明の一実施形態は、Java(登録商標)(R)および関連するプログラミング言語に依拠することができ、いくつかの機能を実施するのにJVMに依拠することができる。
本発明を完全に機能するデータ処理システムの状況で説明したが、本発明のプロセスをコンピュータ可読媒体の形態の命令および様々な形態として配布することができ、その配布を実施するのに実際に使用される特定のタイプの信号担持媒体の如何にかかわらず、本発明が等しく当てはまることを当業者なら理解するであろうことに留意されたい。コンピュータ可読媒体の例には、フレキシブル・ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなどの記録可能型媒体や、デジタル/アナログ通信リンク、例えば無線周波数/光波伝送などの伝送形式を使用する有線/無線通信リンクなどの伝送型媒体が含まれる。コンピュータ可読媒体は、特定のデータ処理システムで実際に使用するために復号化されるコード化フォーマットの形態を取ることができる。
例示および説明の目的で本発明の説明を提示したが、本発明の説明は網羅的なものではなく、開示の形態の発明に限定されない。多数の修正形態および変形形態が当業者には明らかであろう。本発明の原理、実際的な応用例を最もよく説明するため、および企図される特定の使用法に適する様々な修正を有する様々な実施形態に関して本発明を当業者が理解できるように実施形態を選び、説明した。
本発明の好ましい実施形態による汎用コンピュータ・システムである。 本発明の一実施形態による発信サーバ上で実施されるステップを示すフロー・チャートである。 本発明の好ましい実施形態によるネットワークで仲介されるクライアント、オリジン・サーバ、および分離サーバのアーキテクチャである。 本発明の一実施形態によるオリジン・サーバ上で実施されるステップを示すフロー・チャートである。 本発明の一実施形態による分離サーバ上で実施されるステップを示すフロー・チャートである。

Claims (3)

  1. サーバとクライアントとのセッション情報を含むポートレット状態を有するポートレットを選択する方法であって、
    前記サーバで、ハイパーテキスト転送プロトコル要求を前記クライアントから受信するステップと、
    装飾およびイベント・トリガを有するポートレットをレンダリングするステップと、
    前記サーバで、ポートレット装飾の1つに関連する第1の前記イベント・トリガに対応する第1ユーザ・イベントを前記クライアントから受信するステップと、
    前記サーバで、ドロップ指示を含む第2ユーザ・イベントを前記クライアントから受信するステップと、
    前記第1ユーザ・イベントに基づいて前記ポートレット状態を直列データフォーマットに変換するステップと、
    前記ポートレット状態をキーに格納するステップと、
    前記ポートレット状態を有する前記キーを前記クライアントに送るステップと、を含み、
    前記第1ユーザ・イベントを前記クライアントから受信するステップは、ドラッグ指示を受信するステップを含み、
    前記ドラッグ指示を受信するステップは、ポートレット・ウィンドウ内の座標でドラッグ指示を受信するステップを含み、
    前記第2ユーザ・イベントを前記クライアントから受信するステップは、ポインタ・アクションを受信することを含み、
    前記ポートレット状態をキーに格納するステップは、URIを前記キーに格納するステップを含む
    方法。
  2. クライアントと接続され、クライアントとのセッション情報を含むポートレット状態を有するポートレットを選択するサーバであって、
    装飾およびイベント・トリガを有するポートレットをレンダリングするプロセッサと、
    前記プロセッサに結合され、前記サーバで、ポートレット装飾の1つに関連する第1の前記イベント・トリガに対応する第1ユーザ・イベントを前記クライアントから受信するネットワーク・アダプタと、
    前記プロセッサに結合され、前記サーバで、ドロップ指示を含む第2ユーザ・イベントを前記クライアントから受信する前記ネットワーク・アダプタと、
    前記プロセッサに結合され、前記第1ユーザ・イベントに基づいて前記ポートレット状態を直列データフォーマットに変換する手段と、
    前記ポートレット状態をキーに格納するメモリと、
    前記ポートレット状態を有する前記キーを前記クライアントに送るLANアダプタと、
    前記プロセッサに動作可能に結合された前記クライアントに課金する手段と、を備え、
    前記ネットワーク・アダプタは、ドラッグ指示を受信する手段を備え、
    前記ドラッグ指示を受信する手段は、ポートレット・ウィンドウ内の座標でドラッグ指示を受信する手段を備え、
    前記ネットワーク・アダプタは、ポインタ・アクションを受信する手段を備え、
    前記メモリは、URIを前記キーに格納するメモリを含む
    サーバ。
  3. コンピュータ上で実行されたときに請求項1の方法を実施するように適合されたプログラム・コード手段を含むコンピュータ・プログラム。
JP2008503515A 2005-03-30 2006-03-29 ポータブル・ポートレットを選択および配信する方法ならびに装置 Expired - Fee Related JP4849692B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/094,092 2005-03-30
US11/094,092 US9071570B2 (en) 2005-03-30 2005-03-30 Method and apparatus to select and deliver portable portlets
PCT/EP2006/061151 WO2006103260A1 (en) 2005-03-30 2006-03-29 Method and apparatus to select and deliver portable portlets

Publications (2)

Publication Number Publication Date
JP2008537217A JP2008537217A (ja) 2008-09-11
JP4849692B2 true JP4849692B2 (ja) 2012-01-11

Family

ID=36758627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008503515A Expired - Fee Related JP4849692B2 (ja) 2005-03-30 2006-03-29 ポータブル・ポートレットを選択および配信する方法ならびに装置

Country Status (7)

Country Link
US (1) US9071570B2 (ja)
EP (1) EP1872208A1 (ja)
JP (1) JP4849692B2 (ja)
CN (1) CN101111820A (ja)
CA (1) CA2599893A1 (ja)
TW (1) TW200710690A (ja)
WO (1) WO2006103260A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8453065B2 (en) 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
US20070006088A1 (en) * 2005-06-29 2007-01-04 Bea Systems, Inc. System and method for providing collaboration resources between web applications
US7716687B2 (en) * 2005-06-29 2010-05-11 Bea Systems, Inc. System and method for sharing resources between web applications
US9104294B2 (en) * 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US8543824B2 (en) 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8191002B2 (en) 2007-10-15 2012-05-29 International Business Machines Corporation Summarizing portlet usage in a portal page
US9223883B2 (en) * 2009-04-22 2015-12-29 International Business Machines Corporation Context driven arrangement of portlets in a portal
US20110106835A1 (en) * 2009-10-29 2011-05-05 International Business Machines Corporation User-Defined Profile Tags, Rules, and Recommendations for Portal
CN105103129B (zh) * 2012-10-31 2019-11-22 惠普发展公司,有限责任合伙企业 一种用于操作计算设备的方法、设备及介质
US9575733B2 (en) 2013-12-10 2017-02-21 International Business Machines Corporation Drag and drop portlet deployment
CN105808221A (zh) * 2014-12-31 2016-07-27 阿里巴巴集团控股有限公司 一种卡片式桌面的实现方法和装置
KR101854803B1 (ko) * 2017-08-16 2018-05-04 한국과학기술정보연구원 실시간 포틀릿 웹 페이지 구성 방법 및 시스템
US11836212B2 (en) * 2021-12-03 2023-12-05 Atlassian Pty Ltd. Systems and methods for rendering interactive web pages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036197A (ja) * 2001-05-11 2003-02-07 Internatl Business Mach Corp <Ibm> ポータル・サーバ、リモート・ポートレットをポータルへ動的に統合する方法およびコンピュータ・プログラム、コンテンツ・プロバイダ・システム、アプリケーション・プロバイダ・サーバ
JP2005507122A (ja) * 2001-10-24 2005-03-10 ビーイーエイ システムズ, インコーポレイテッド データ同期

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1117220A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
CN1115839C (zh) * 2000-01-28 2003-07-23 国际商业机器公司 均衡镜象服务器负载的方法及装置
US6327628B1 (en) 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
AU2001292703A1 (en) 2000-09-15 2002-03-26 Wonderware Corporation A method and system for animating graphical user interface elements via manufacturing/process control portal server
US6886046B2 (en) * 2001-06-26 2005-04-26 Citrix Systems, Inc. Methods and apparatus for extendible information aggregation and presentation
US7346843B2 (en) 2001-09-18 2008-03-18 International Business Machines Corporation Low-latency, incremental rendering in a content framework
US7024451B2 (en) * 2001-11-05 2006-04-04 Hewlett-Packard Development Company, L.P. System and method for maintaining consistent independent server-side state among collaborating servers
US20030139935A1 (en) 2002-01-23 2003-07-24 Silverman Robert Roosevelt Private property protection in public systems using smart card
US20030167315A1 (en) * 2002-02-01 2003-09-04 Softwerc Technologies, Inc. Fast creation of custom internet portals using thin clients
US7320035B2 (en) * 2002-03-01 2008-01-15 Sun Microsystems, Inc. Object mutation determination for incremental state saves
US7313601B2 (en) 2002-03-28 2007-12-25 International Business Machines Corporation Adaptive control system and method for optimized invocation of portlets
US20030187956A1 (en) * 2002-04-01 2003-10-02 Stephen Belt Method and apparatus for providing access control and content management services
US7725560B2 (en) 2002-05-01 2010-05-25 Bea Systems Inc. Web service-enabled portlet wizard
US7103844B2 (en) 2002-06-26 2006-09-05 International Business Machines Corporation Portal/portlet application data synchronization
US7107309B1 (en) * 2002-07-03 2006-09-12 Sprint Spectrum L.P. Method and system for providing interstitial notice
US7228496B2 (en) * 2002-07-09 2007-06-05 Kabushiki Kaisha Toshiba Document editing method, document editing system, server apparatus, and document editing program
CA2406876A1 (en) * 2002-10-04 2004-04-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for managing a collection of portlets in a portal server
US7523174B2 (en) 2002-10-15 2009-04-21 International Business Machines Corporation Dynamic portal assembly
US20040090969A1 (en) 2002-11-12 2004-05-13 International Business Machines Corporation Portlet data sharing system, method, and program product
US20040098451A1 (en) 2002-11-15 2004-05-20 Humanizing Technologies, Inc. Method and system for modifying web content for display in a life portal
US7177918B2 (en) 2002-12-20 2007-02-13 International Business Machines Corporation Method and system for efficiently processing multiframe data in a client/server computing environment
US7890877B2 (en) * 2003-02-27 2011-02-15 Oracle International Corporation Systems and methods for improved portal development
US8170863B2 (en) 2003-04-01 2012-05-01 International Business Machines Corporation System, method and program product for portlet-based translation of web content
US20040230901A1 (en) 2003-05-15 2004-11-18 International Business Machines Corporation Portlet style conformity on pervasive agents
US8429249B2 (en) * 2003-07-11 2013-04-23 Ca, Inc. System and method for configuring servlet-based components as dynamic content components
US7895234B2 (en) * 2003-09-22 2011-02-22 Rockwell Automation Technologies, Inc. Systems and methods for sharing portal configurations
US7594018B2 (en) * 2003-10-10 2009-09-22 Citrix Systems, Inc. Methods and apparatus for providing access to persistent application sessions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036197A (ja) * 2001-05-11 2003-02-07 Internatl Business Mach Corp <Ibm> ポータル・サーバ、リモート・ポートレットをポータルへ動的に統合する方法およびコンピュータ・プログラム、コンテンツ・プロバイダ・システム、アプリケーション・プロバイダ・サーバ
JP2005507122A (ja) * 2001-10-24 2005-03-10 ビーイーエイ システムズ, インコーポレイテッド データ同期

Also Published As

Publication number Publication date
WO2006103260A1 (en) 2006-10-05
US20060230059A1 (en) 2006-10-12
CN101111820A (zh) 2008-01-23
TW200710690A (en) 2007-03-16
EP1872208A1 (en) 2008-01-02
JP2008537217A (ja) 2008-09-11
US9071570B2 (en) 2015-06-30
CA2599893A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
JP4849692B2 (ja) ポータブル・ポートレットを選択および配信する方法ならびに装置
US11500946B2 (en) Apparatus for providing browsing capability between remote/virtual windows and from remote/virtual windows to conventional hypertext documents
US7293034B2 (en) Dynamically customizing a user interface for the aggregation of content
JP4818253B2 (ja) ウェブ・ページの適時更新
Ihlenfeldt et al. The PubChem chemical structure sketcher
US7117504B2 (en) Application program interface that enables communication for a network software platform
TWI521357B (zh) 經由網頁瀏覽器輸入內容至應用程式
US7805670B2 (en) Partial rendering of web pages
EP2815311B1 (en) Using an application cache to update resources of installed applications
JP3762687B2 (ja) Htmlフォーム・エレメントを動的に表示するシステムおよび方法
US20180349329A1 (en) Support for non-native file types in web application environment
JP4988768B2 (ja) ウェブブラウザが望ましくないソースからのコンテンツをロードするのを防止すること
US7702811B2 (en) Method and apparatus for marking of web page portions for revisiting the marked portions
US20070016857A1 (en) Method and system for non-intrusive portlet rendering for printing
JP5137479B2 (ja) 異機種環境においてメッセージのサーバ・ベースのレンダリングを管理するためにコンピュータを利用する方法およびシステム
US20080288955A1 (en) Method and System for Managing Preferences in a Client Portlet Container
KR100569469B1 (ko) 서버와 클라이언트노드 사이의 접속을 관리하기 위한시스템 및 방법
US20080184199A1 (en) Method and apparatus for resolving client-side logic
JP2010044796A (ja) ユーザインターフェースを管理する装置及び方法
JP2005526315A (ja) ブラウザでの第1の媒体形式のコンテンツの画面処理
TW201108096A (en) Help information for links in a mashup page
JP2004062873A (ja) マルチプラットフォームアプリケーションのためのブラウザセッションモビリティシステム
JP4165796B2 (ja) クライアント、データダウンロード方法、プログラム及び記録媒体
JP2004021753A (ja) ウェブアプリケーション対応代理サーバ及びウェブアプリケーション対応代理サーバシステム
JP2003162475A (ja) ドキュメント処理装置、ドキュメント表示方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110726

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110728

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111004

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111017

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees