(57)【特許請求の範囲】
【請求項１】
コンピュータ・ネットワークのユーザに表示されるコンテンツ・ページを生成する方法であって、
前記ユーザを識別するステップと、
前記ユーザが割り当てられるユーザ・グループを識別するステップと、
前記識別されたユーザ・グループに関連するコンテンツ・グループを識別するステップと、
前記識別されたユーザ・グループに関連する前記識別されたコンテンツ・グループに基づいて、前記ユーザに割り当てられるコンテンツの単位を判断するステップと、
ブラウザを介してコンピュータ・ネットワークと通信をするユーザデバイスを識別するステップと、
前記識別されたユーザデバイスと関連し、前記識別されたユーザに対してコンテンツの単位をどのように表示するかを制御するように構成された、コンテンツ・ページ作成プロファイルを識別し、前記識別されたユーザに割り当てるステップと、
前記識別されたコンテンツ・ページ作成プロファイルを使用して、前記ユーザに表示され、前記ユーザに割り当てられたコンテンツの前記識別された単位を含むコンテンツ・ページを生成するステップと、
前記識別されたユーザデバイスを介して表示するために前記識別されたユーザに前記生成されたコンテンツ・ページを配布するステップであって、
コンテンツの単位内に組み込まれているハイパーテキストリンクからアクセス可能なコンテンツを含む、一つ以上の識別されたコンテンツ・グループとして指定されたコンテンツの単位が変更されたか否かを判断するステップと、
前記識別されたユーザに割り当てられた一つ以上のコンテンツの単位が変更された場合に、前記変更されたコンテンツの単位をユーザ要求生成前に、サーバ側コンテンツ・エージェントが複数のホスティング・サーバから事前取出しするステップと、
前記サーバ側コンテンツ・エージェントにより、前記事前取出しされたコンテンツの単位をコンテンツ・パッケージにエクスポートするステップと、
前記サーバ側コンテンツ・エージェントから前記コンテンツ・パッケージを前記識別されたユーザデバイスからのコンテンツ・ページの要求を受信する前に前記指定されたユーザデバイスに送信するステップとを含む、前記配布するステップと
を含む、方法。
【請求項２】
前記コンテンツ・ページ作成プロファイルが、前記識別されたユーザが表示されるコンテンツの単位を変更できる領域を含んでいる、請求項１に記載の方法。
【請求項３】
コンピュータ・ネットワークのユーザに表示するためにコンテンツ・ページを生成するシステムであって、
前記ユーザを識別する手段と、
前記ユーザが割り当てられるユーザ・グループを識別する手段と、
前記識別されたユーザ・グループに関連するコンテンツ・グループを識別する手段と、
前記識別されたユーザ・グループに関連する前記識別されたコンテンツ・グループに基づいて、前記ユーザに割り当てられるコンテンツの単位を判断する手段と、
ブラウザを介して前記コンピュータ・ネットワークと通信をするユーザデバイスを識別する手段と、
前記識別されたユーザデバイスと関連し、前記識別されたユーザに対してコンテンツ・ページをどのように表示するかを制御するように構成された、コンテンツ・ページ作成プロファイルを識別し、前記識別されたユーザに割り当てる手段と、
前記識別されたコンテンツ・ページ作成プロファイルを使用して前記ユーザに表示するために、前記ユーザに割り当てられた前記識別されたコンテンツの単位を含むコンテンツ・ページを生成する手段と、
前記識別されたユーザデバイスを介して前記識別されたユーザに表示するために前記生成されたコンテンツ・ページを配布する手段であって、
コンテンツのユニット内に組み込まれたハイパーテキストリンクからアクセス可能なコンテンツを含む一つ以上の識別されたコンテンツ・グループに対して割り当てられたコンテンツの単位が変更されたか否かを判断する手段と、
前記識別されたユーザに割り当てられた一つ以上のコンテンツの単位が変更された場合に、サーバ側コンテンツ・エージェントが前記変更されたコンテンツの単位をユーザ要求生成前にホスティング・サーバから事前取出しする手段と、
前記サーバ側コンテンツ・エージェントが前記事前取出しされたコンテンツの単位をコンテンツ・パッケージにエクスポートする手段と、
前記サーバ側コンテンツ・エージェントから前記識別されたユーザデバイスからのコンテンツ・ページの要求を受信する前に前記コンテンツ・パッケージを前記識別されたユーザデバイスに送信する手段とを含む前記配布する手段と、
を含む、システム。
【請求項４】
前記コンテンツ・ページ作成プロファイルが、前記識別されたユーザが表示されるコンテンツの単位を変更できる領域を含む、請求項３に記載のシステム。
【請求項５】
コンピュータ・ネットワークのユーザに表示されるコンテンツ・ページを生成するためのコンピュータ・プログラムを備えたコンピュータ・プログラム記憶媒体であって、前記コンピュータ・プログラムが、
前記ユーザを識別するためのプログラムコードと、
前記ユーザが割り当てられるユーザ・グループを識別するためのプログラムコードと、
前記識別されたユーザ・グループに関連するコンテンツ・グループを識別するためのプログラムコードと、
前記識別されたユーザ・グループと関連する前記識別されたコンテンツ・グループに基づいて前記ユーザに割り当てられたコンテンツの単位を判断するためのプログラムコードと、
ブラウザを介して前記コンピュータ・ネットワークと通信をするユーザデバイスを識別するためのプログラムコードと、
前記識別されたユーザデバイスと関連し、前記識別されたユーザに対してコンテンツの単位をどのように表示するかを制御するように構成された、コンテンツ・ページ作成プロファイルを識別し、前記識別されたユーザに割り当てるためのプログラムコードと、
前記識別されたコンテンツ・ページ作成プロファイルを使用して前記ユーザに表示するために、前記ユーザに割り当てられた前記識別されたコンテンツの単位を含むコンテンツ・ページを生成するためのプログラムコードと、
前記識別されたユーザデバイスを介して表示するために前記識別されたユーザに前記生成されたコンテンツ・ページを配布するためのプログラムコードであって、
コンテンツの単位内に組み込まれたハイパーテキストリンクからアクセス可能なコンテンツを含む、一つ以上の識別されたコンテンツ・グループに対して割り当てられたコンテンツの単位が変更されたか否かを判断するためのプログラムコードと、
前記識別されたユーザに割り当てられた一つ以上のコンテンツの単位が変更された場合に、前記変更されたコンテンツの単位をユーザ要求生成前にサーバ側コンテンツ・エージェントによりホスティング・サーバから事前取出しするプログラムコードと、
前記サーバ側コンテンツ・エージェントが前記事前取出しされたコンテンツの単位をコンテンツ・パッケージにエクスポートするためのプログラムコードと、
前記サーバ側コンテンツ・エージェントから前記識別されたユーザデバイスからのコンテンツ・ページの要求を受信する前に前記コンテンツ・パッケージを前記識別されたユーザデバイスに転送するためのプログラムコードとを含む、前記配布するためのプログラムコードと、
を含むコンピュータ・プログラム記憶媒体。
【請求項６】
前記コンテンツ・ページ作成プロファイルが、前記識別されたユーザが表示されるコンテンツの単位を変更できる領域を含んでいる、請求項５に記載のコンピュータ・プログラム記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、全般的にはコンピュータ・ネットワークに関し、具体的には、私設コンピュータ・ネットワークに関する。
【０００２】
【従来の技術】
イントラネットは、１企業内に含まれる私設コンピュータ・ネットワークであり、通常は、複数のユーザ・コンピュータと通信する１つまたは複数のイントラネット・サーバが含まれる。イントラネットは、相互リンクされたローカル・エリア・ネットワークからなるものとすることができ、広域ネットワーク内の専用回線も使用することができる。イントラネットには、外部インターネットへの接続を含めることも、そうしないこともできる。イントラネットでは、通常は、さまざまなインターネット・プロトコルが使用され、一般に、インターネットの私設版に見えることがしばしばである。イントラネット・ユーザは、通常は、自分のコンピュータ上でローカルに動作するウェブ・ブラウザを介してイントラネット・サーバにアクセスする。例示的なウェブ・ブラウザが、Netscape Navigator（登録商標）（米国カリフォルニア州マウンテン・ビューのNetscape Communications Corporation）である。
【０００３】
情報、アプリケーション、および他のリソース（本明細書では集合的に「コンテンツ」と呼称する）は、通常は、イントラネット・サーバからユーザのコンピュータ上のウェブ・ブラウザへ、ハイパーテキスト文書または「ウェブ・ページ」の形で配布される。当業者に既知の通り、ウェブ・ページは、通常は、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）などの標準ページ記述言語を介してフォーマットされ、通常は、テキストおよびグラフィックスを表示し、音声、アニメーション、およびビデオ・データを再生することができる。ＨＴＭＬは、基本的な文書書式設定を提供し、ＨＴＭＬを用いて、ウェブ・ページ開発者が、他のサーバおよびファイルへのハイパーテキスト・リンク（通常は強調表示されたテキストとして明示される）を指定できるようになる。ユーザが、特定のハイパーテキスト・リンクを選択した時に、ウェブ・ブラウザは、そのリンクに関連するＵＲＬ（Uniform Resource Locator）と称するアドレスを読み取り、解釈し、ウェブ・ブラウザをそのアドレスのウェブ・サーバに接続し、リンクで識別されたウェブ・ページのＨＴＴＰ要求を行う。ウェブ・サーバは、要求されたウェブ・ページをＨＴＭＬフォーマットでクライアントに送信し、このウェブ・ページを、ブラウザが解釈し、ユーザに表示する。
【０００４】
イントラネットは、通常は、企業の従業員の間でコンテンツを共用するのに使用される。イントラネットが初めて現れた時には、コンテンツは、特定のユーザの組に焦点を合わせる傾向があった。しかし、イントラネットが、企業の日常業務に統合化されるにつれて、イントラネットのコンテンツが、多数の異なるユーザの組が使用できるものになってきた。残念ながら、大量のイントラネット・コンテンツの編成、配布、および更新の作業は、困難になる可能性がある。さらに、ユーザが、自分の仕事に関連するコンテンツを覚え、突きとめることが困難になる可能性がある。
【０００５】
図１および図２に、イントラネット・サーバと通信するウェブ・ブラウザを介して表示される、例示的なコンテンツを含むウェブ・ページ（以下では「コンテンツ・ページ」と呼称する）を示す。図１では、コンテンツ・ページ１０に表示されるコンテンツに、使用可能な「Administrative Documents（管理文書）」のリスト１２が含まれる。図２では、ユーザが、図１のコンテンツ・ページのリスト１２から項目１２ｅを選択しており、「1998 Function Reports（１９９８年職務報告）」のリスト１４が、結果として、第２のコンテンツ・ページ１６内に表示されている。
【０００６】
イントラネットのユーザは、通常は、イントラネットを介して使用可能な全コンテンツのサブセットだけに関心を持つ。その結果、イントラネット・ユーザは、しばしば、特定のコンテンツへの「ブックマーク」またはショートカットを作成する。たとえば、図１および図２に示されたイントラネット・コンテンツ・ページのユーザは、「1998 Guidelines for Client Managers（クライアント管理者用のガイドライン、１９９８年版）」（図２）という表題のコンテンツの単位だけに関心を持つ可能性がある。図１および図２のコンテンツ・ページ１０および１６を表示することによってそのコンテンツにアクセスするのではなく、ユーザは、自分のウェブ・ブラウザ内で、この単位コンテンツ（「1998 Guidelines for Client Managers」）のＵＲＬのブックマークを作成し、格納することができる。表題「1998 Guidelines for Client Managers」のコンテンツの単位のＵＲＬは、（http://intranet/admin/manage_com/1998_function_reports/1998_guidelines_client_mgrs.pdf）である。
【０００７】
ブックマークは、ユーザのコンピュータのウェブ・ブラウザ内で作製され、通常は、そのユーザのコンピュータ上でローカルに格納される。残念ながら、ブックマークの使用は、複数の理由から不利益になる可能性がある。ローカルに格納されたブックマークは、ブックマークによって参照されるコンテンツが別のＵＲＬに再配置された場合に動作不能になる可能性がある。さらに、ユーザが、異なるコンピュータまたはデバイスを使用してイントラネットにアクセスする場合に、自分のローカルに格納されたブックマークにアクセスできなくなる可能性がある。
【０００８】
企業の管理者が、イントラネット・ユーザを特定のコンテンツに誘導したくなることがしばしばある。残念ながら、イントラネット管理者が、コンテンツの位置の変更を反映するか新しいコンテンツを反映するためにユーザのローカルに格納されたブックマークを更新することをユーザに強制することは、困難になる可能性がある。その結果、イントラネット管理者は、しばしば、使用可能なＵＲＬのコンテンツ・ページを配置して、ユーザが関連コンテンツを見つけるのを助ける。実際には、これらのコンテンツ・ページは、イントラネットのコンテンツの索引ページとして働く。残念ながら、大量のコンテンツを含むイントラネットの場合、ユーザは、特定のコンテンツを突きとめるために、大量のＵＲＬを介して探索しなければならない可能性がある。たとえば、自分のプログラミング作業に関係するコンテンツを探しているJava（登録商標）プログラマは、特定のコンテンツを突きとめるために、まず、索引コンテンツ・ページ、次にエンジニアリング・コンテンツ・ページ、次にプログラミング・コンテンツ・ページ、次にJavaコンテンツ・ページにアクセスしなければならない可能性がある。多数の企業で、使用可能なコンテンツの量のゆえに、特定のコンテンツを突きとめるという作業が困難になる可能性がある。
【０００９】
イントラネットの使用によって、特に多数のユーザがイントラネット・サーバからの同一のコンテンツにアクセスする企業で、コンピュータ・ネットワーク・トラフィックが増加する可能性がある。そのような増加したトラフィックが、多数のユーザが朝にイントラネット・サイトにログ・インする時などに、ネットワーク・トラフィックの「バースト」を引き起こす可能性もあり、これによって、ネットワーク・リソースが、ネットワークの定常状態のトラフィック・レベルよりかなり多いトラフィックになる可能性があるこれらのバーストを処理できることが必要になる可能性がある。増加したネットワーク・トラフィックは、コンテンツの可用性を妨げる可能性がある。さらに、要求されるコンテンツの一部が、さまざまなユーザのコンピュータによって表示可能になるために、ある種の変換を必要とする場合がある。残念ながら、コンテンツ変換は、サーバに対する処理需要を増加させ、これが、特にピーク需要中にサーバ性能を低下させる可能性がある。
【００１０】
【発明が解決しようとする課題】
上の議論に照らして、本発明の目的は、すばやく簡単にコンテンツを突きとめ、アクセスする能力をイントラネット・ユーザに提供することである。
【００１１】
本発明のもう１つの目的は、イントラネット・ユーザが、イントラネットに接続されたすべてのコンピュータから使用可能なコンテンツへの、カスタマイズされたコンテンツ・ページ・アクセスを作成でき、維持できるようにすることである。
【００１２】
本発明のもう１つの目的は、イントラネット管理者が、イントラネットへのユーザのアクセスのポイントがどこに配置されているかに無関係に、イントラネット・ユーザを特定のコンテンツに誘導できるようにすることである。
【００１３】
本発明のもう１つの目的は、イントラネット・システム・リソースの効率的な使用を促進し、イントラネット・アクセスおよびコンテンツ転送によって引き起こされるコンピュータ・ネットワーク・トラフィックの減少を促進することである。
【００１４】
【課題を解決するための手段】
本発明の上記および他の目的は、イントラネットのユーザにコンテンツを割り当て、生成し、配布するシステム、方法およびコンピュータ・プログラム製品によって提供される。イントラネット・ユーザが、定義され、さまざまな定義されたユーザ・グループに割り当てられる。イントラネットのユーザが使用可能なコンテンツの単位も、定義され、さまざまな定義されたコンテンツ・グループに割り当てられる。用語「コンテンツの単位」は、他の場所に含まれる情報へのハイパーテキスト・リンク（すなわちウェブ・リンク）、情報を表示するために新しいブラウザ・ウィンドウを起動する、ユーザに表示されるウェブ・ページ上のボタンなどの活動化デバイス、およびユーザに表示されるウェブ・ページ内に組み込まれた情報を含むが、これに制限されない、すべての種類の情報を指す。定義されたコンテンツ・グループが、定義されたユーザ・グループに関連付けられ、定義されたユーザ・グループのそれぞれが、少なくとも１つの定義されたコンテンツの単位を関連付けられる。コンテンツ・ページ作成プロファイルが、定義されたユーザごとに設けられ、ユーザのカスタマイズされたコンテンツ・ページ内でコンテンツを表示する方法を制御するように構成される。
【００１５】
本発明のもう１つの態様によれば、ユーザがイントラネットにログ・インする時に、そのユーザのためにコンテンツ・ページが生成される。ユーザ識別の際に、そのユーザ割り当てられたユーザ・グループが識別される。その後、識別されたユーザ・グループに関連するコンテンツ・グループが識別される。ユーザ・グループおよびコンテンツ・グループの識別された関係を介して、ユーザに割り当てられたコンテンツの単位を判定することができ、割り当てられたコンテンツの単位を含むコンテンツ・ページが作成される。ユーザのコンテンツ・ページに表示されるコンテンツの単位は、そのユーザに割り当てられたコンテンツ・ページ作成プロファイルに従って配置されることが好ましい。作成されたコンテンツ・ページが、ユーザのデバイス上のウェブ・ブラウザを介する表示のためにユーザに配布される。
【００１６】
本発明が有利であるのは、イントラネットへのログ・インの際に、ユーザに、そのユーザに具体的に関係するコンテンツへのアクセスを提供するカスタマイズされたコンテンツ・ページが供給されるからである。したがって、ユーザは、しばしば無関係なコンテンツ・リスティングのページを介して検索して、自分の仕事に関係するコンテンツを突きとめる必要がなくなる。ユーザは、本発明を実施するイントラネットと通信する任意のデバイス上で自分のコンテンツを受け取ることができる。イントラネット管理者は、イントラネットへのユーザのアクセスのポイントがどこに配置されているかに無関係に、イントラネット・ユーザに特定のコンテンツを送ることができる。さらに、ユーザは、イントラネットに接続されたどのデバイスからでも、カスタマイズされたコンテンツ・ページを作成し、維持することができる。
【００１７】
本発明のもう１つの態様によれば、コンテンツに関するユーザ要求の生成の前に、オフピーク時間中にユーザのコンピュータにコンテンツを配布することができる。コンテンツ・グループに割り当てられたコンテンツの単位を、イントラネットからまたはインターネットから事前取出しし、コンテンツ・パッケージにエクスポートすることができる。コンテンツ・パッケージは、任意選択として圧縮することができる。ユーザ・デバイスにすでにコンテンツ・パッケージの現在のバージョンが含まれるかどうかの判定を行うことができ、そうでない場合に、コンテンツ・パッケージをそのユーザ・デバイスに送ることができる。本発明のこの態様によるコンテンツ配布は、ネットワーク・トラフィックが少ないオフピーク時間中に実行されることが好ましい。所与のコンテンツ・グループを、多数のユーザが共用することができるので、ユーザ要求を受け取る前のこのコンテンツ・グループの取出および配布によって、ネットワーク・トラフィックをかなり減らすことができ、さらに、ネットワーク・トラフィックを時間的に分散させてトラフィック・バーストを減らすための制御された配布が可能になる。
【００１８】
本発明を用いると、オフピーク時間中にコンテンツ変換を実行することができ、したがって、プロセッサ容量が節約され、ユーザの待ち時間が減る。コンテンツの事前取出しされる単位は、圧縮されたコンテンツ・パッケージにエクスポートされる前に、第１フォーマットから第２フォーマットに変換されることが好ましい。たとえば、特定のユーザ・デバイスが、グレイ・スケール画像だけを表示するように構成されていることが判定された時に、カラー画像をグレイ・スケール画像にトランスコーディングすることができる。本発明による事前取出しされたコンテンツのコンテンツ変換によって、ピーク需要の時間中のプロセッサ需要を減らすことができる。
【００１９】
【発明の実施の形態】
本発明を、本発明の好ましい実施形態が図示されている添付図面に関して、以下で詳細に説明する。しかし、本発明は、多数の異なる形態で実施することができ、本明細書に記載の実施形態に制限されるものとして解釈してはならない。そうではなくて、これらの実施形態は、この開示が詳細かつ完全になり、当業者に本発明の範囲を完全に伝えるようにするために提供される。同様の符号は、全体を通じて同様の要素を指す。
【００２０】
当業者によって諒解されるように、本発明は、方法、データ処理システム、またはコンピュータ・プログラム製品として実施することができる。したがって、本発明は、完全なハードウェア実施形態、完全なソフトウェア実施形態、またはソフトウェア態様およびハードウェア態様を組み合わせる実施形態の形をとることができる。さらに、本発明は、媒体内にコンピュータ使用可能プログラム・コード手段を組み込まれたコンピュータ使用可能記憶媒体上のコンピュータ・プログラム製品の形をとることができる。ハード・ディスク、ＣＤ−ＲＯＭ、光記憶装置、または磁気記憶装置を含む適当なコンピュータ可読媒体を使用することができる。
【００２１】
クライアント／サーバ通信
当業者に既知のように、イントラネットは、クライアント−サーバ環境内で実施することができる。クライアントは、クライアント／サーバ関係での要求元プログラムである。サーバは、同一のコンピュータまたは他のコンピュータ内のクライアントからの要求を待ち、満たす。コンピュータ内の所与のアプリケーションが、他のプログラムからのサービスを要求するクライアントおよび他のプログラムからの要求のサーバとして、機能することができる。クライアント／サーバ通信の当業者が理解するように、認証サーバを使用して、ユーザ認証の特定の組に関連する環境を作成することができる。
【００２２】
ここで図３を参照すると、その中で本発明を実施することができるクライアント／サーバ通信構成が、概略的に示されている。ユーザは、通常、コンピュータ２０上で稼動する、ウェブ・ブラウザなどのクライアント・プログラムを使用してイントラネットにアクセスする。ウェブ・ブラウザは、通常は、サーバによってホスティングされるウェブ・ページを取り出し、表示するためのグラフィカル・ユーザ・インターフェースを提供する。例示的なクライアント−ホスティング・コンピュータ２０には、Ａｐｐｌｅ（登録商標）社のパーソナル・コンピュータ、ＩＢＭ（登録商標）社のパーソナル・コンピュータ、またはＩＢＭ互換パーソナル・コンピュータを含めることができるが、これに制限はされない。クライアント−ホスティング・コンピュータ２０には、中央処理装置２１、ディスプレイ２２、ポインティング・デバイス２３、キーボード２４、通信デバイス２５（モデムまたはネットワーク・インターフェースなど）、およびイントラネット２７に接続するための接続２６が含まれることが好ましい。その上に複数のキーを有するキーボード２４が、中央処理装置２１と通信する。マウスなどのポインティング・デバイス２３も、中央処理装置２１に接続される。イントラネット接続２６は、従来の電話回線、ＩＳＤＮリンク、Ｔ１リンク、Ｔ３リンク、ケーブル・テレビジョン、イーサネット・ネットワークなどを介して行うことができる。
【００２３】
中央処理装置２１には、１つまたは複数のマイクロプロセッサ（図示せず）または他の計算デバイスと、マイクロプロセッサまたは他の計算デバイスによる処理のためにその中にプログラムを格納する、ＲＡＭ、ＦＬＡＳＨＲＡＭ、およびＶＲＡＭを含むがこれに制限されない、ランダム・アクセス・メモリ（図示せず）またはその機能的な同等物が含まれる。「キャッシュ」と称する、ランダム・アクセス・メモリまたは永続データ記憶域の一部が、しばしば、クライアント−ホスティング・コンピュータ２０とサーバ−ホスティング・コンピュータ（下で説明する）の間の通信中に、サーバから転送されるさまざまなデータの格納に使用される。
【００２４】
クライアント−ホスティング・コンピュータ２０は、少なくとも８メガバイト（８ＭＢ）のＲＡＭおよびキャッシング用の少なくとも５メガバイト（５ＭＢ）の永続コンピュータ記憶域と共にIntel（登録商標）８０４８６プロセッサ（または同等物）を有することが好ましい。Intel（登録商標）Pentium（登録商標）プロセッサ（または同等物）がさらに好ましい。しかし、本明細書で列挙するものに制限されない、さまざまなプロセッサを使用して本発明を実行できることを理解されたい。クライアント−ホスティング・コンピュータ２０は、ＩＢＭ（登録商標）社のパーソナル・コンピュータまたはＩＢＭ互換パーソナル・コンピュータである場合に、Windows（登録商標）3.1、Windows 95（登録商標）、Windows 98（登録商標）、Windows NT（登録商標）、Unix（登録商標）、またはＯＳ／２（登録商標）オペレーティング・システムのいずれかを使用することが好ましい。しかし、計算機能を有しないデバイスまたは限られた計算機能を有するデバイスを、イントラネットを介するコンテンツの取出のために本発明に従って使用することができることを理解されたい。
【００２５】
通常、イントラネット・ユーザは、クライアント−ホスティング・コンピュータ２０とサーバ−ホスティング・コンピュータ３０（以下ではイントラネット・サーバと呼称する）の間でＴＣＰ／ＩＰ通信を確立することによって、コンテンツにアクセスする。多くのイントラネット通信について、ウェブ・ブラウザは、クライアント−ホスティング・コンピュータ２０とイントラネット・サーバ３０の間のTransmission Control Protocol/Internet Protocol（ＴＣＰ／ＩＰ）リンク上のHyperText Transfer Protocol（ＨＴＴＰ）を使用して、イントラネット・サーバと通信する。通常、クライアント−ホスティング・コンピュータ２０とイントラネット・サーバの間で転送されるデータは、ＨＴＴＰデータ・オブジェクト（たとえばＨＴＭＬデータ）である。
【００２６】
当業者に既知の通り、イントラネット・サーバ−ホスティング・コンピュータ３０は、クライアント−ホスティング・コンピュータ２０の構成に類似の構成を有することができ、中央処理装置３１、ディスプレイ３２、ポインティング・デバイス３３、キーボード３４、通信デバイス３５、およびイントラネット２７に接続するためのイントラネット接続３６を含めることができる。イントラネット・サーバ−ホスティング・コンピュータ３０は、Intel（登録商標）Pentium（登録商標）プロセッサ（または同等物）を有することが好ましい。しかし、イントラネット・サーバ−ホスティング・コンピュータ３０は、他のプロセッサを使用して、また、メインフレーム・コンピューティング・システムおよびミニコンピュータを含むがこれに制限されない他の計算デバイスを介して実施することができる。イントラネット・サーバ・ソフトウェアが、テキスト、グラフィック、マルチメディア、または仮想のどれであっても、文書に関するクライアントからの要求を処理する。イントラネット・サーバ・ソフトウェアは、通常は、イントラネット・サーバのオペレーティング・システムの下で稼動する。
【００２７】
ここで図４を参照すると、イントラネット・サーバによってホスティングされるコンテンツのアクセスが、概略的に示されている。通常のクライアント／サーバ通信中に、クライアント−ホスティング・コンピュータ２０が、ブラウザを介して、イントラネット・サーバ−ホスティング・コンピュータ３０にウェブ・ページ４０のＴＣＰ／ＩＰ要求を行い、クライアント−ホスティング・コンピュータ２０のディスプレイ・デバイス２２上にそのウェブ・ページを表示する。表示されたウェブ・ページ４０にハイパーテキスト・リンク３２が含まれる場合に、ユーザは、そのリンクを活動化することができ、ブラウザが、そのイントラネット・サーバ−ホスティング・コンピュータ４６またはアクセスを許可される他のサーバから、リンクされたウェブ・ページ４４を取り出す。
【００２８】
ここで図５ないし図８を参照すると、本発明のさまざまな態様を実行する動作が図示されている。図５に示されているように、コンテンツを、イントラネットなどのコンピュータ・ネットワークのユーザに割り当てる（ブロック１００）。その後、ユーザからの要求に応答して、コンテンツ・ページを生成し、コンピュータ・ネットワークのユーザに配布する（ブロック２００）。コンテンツは、ユーザからコンテンツの要求を受け取る前にも、ユーザに配布される（ブロック３００）。
【００２９】
イントラネットのユーザへのコンテンツの割当
図６を参照すると、本発明による、コンピュータ・ネットワーク（すなわちイントラネット）のユーザにコンテンツを割り当てる動作（ブロック１００）が示されている。当初、イントラネット管理者が、イントラネットのユーザを定義し（ブロック１０２）、１つまたは複数のユーザ・グループも定義する（ブロック１０４）。次に、定義されたユーザ・グループのそれぞれが、少なくとも１つの定義されたユーザを割り当てられるように、定義されたユーザを定義されたユーザ・グループに割り当てる（ブロック１０６）。
【００３０】
図９に、めいめいのイントラネットのユーザを表す４つの定義されたユーザ・オブジェクト（すなわちデータ構造）Ｕ１、Ｕ２、Ｕ３、およびＵ４を示す。図９には、めいめいの定義されたユーザ・グループを表す３つの定義されたユーザ・グループ・オブジェクトＵＧ１、ＵＧ２、およびＵＧ３も示されている。矢印５０は、ユーザとユーザ・グループの間で割り当てられた関係（すなわち、各ユーザがどのユーザ・グループに割り当てられたか）を示す。
【００３１】
図示の例では、ユーザ・オブジェクトＵ１ないしＵ４のそれぞれに、めいめいのユーザに関する識別情報および認証情報が含まれる。具体的に言うと、図９に示されているように、各ユーザ・オブジェクトＵ１ないしＵ４に、ユーザＩＤ５２、ユーザ・パスワード５３、ユーザの名５４、およびユーザの姓５５を含めることができる。ユーザを説明する追加のフィールドも、ユーザ・オブジェクト内に含めることができる。本発明によるユーザ・オブジェクトに、さまざまなタイプの情報を含めることができ、本発明によるユーザ・オブジェクトが、図示されたタイプの情報に制限されないことを理解されたい。たとえば、ユーザ・オブジェクトに、スマートカードから読み取られた証明書、声紋、および類似物を含めることができる。各ユーザ・オブジェクトＵ１ないしＵ４に、めいめいのユーザが割り当てられたユーザ・グループＵＧ１ないしＵＧ３へのポインタが含まれることが好ましい。単語「ポインタ」は、データベース関係、ＤＮポインタ、データ・アサーション、ＬＤＡＰの特殊化されたRequire/Allow/Forbidポインタ、およびキャッシングされたデータのメモリ・ポインタを含む、オブジェクトの間の関係を作成するすべての方法を指すことができる。ポインタの向きは、システムの機能に関係しない。たとえば、性能改善、スキーマ内の直観的関係、更新のしやすさ、検索のしやすさなどの複数の考慮事項に基づいて、ユーザ・グループがコンテンツ・グループを指すことができ、コンテンツ・グループがユーザ・グループを指すことができ、その両方を行うことができる。本発明は、どの方法でも動作することができるが、好ましい実施形態では、両方向に向かうポインタを示す。また、すばやいルックアップを容易にするために、ユーザ・オブジェクトＵ１ないしＵ４が、ユーザＩＤ５２などの特定のフィールドをキーとするハッシュ・テーブル内に格納されることが好ましい。オブジェクト、ポインタ、およびハッシュ・テーブルは、当業者によって十分に理解され、本明細書でさらに説明する必要はない。
【００３２】
図示のユーザ・グループ・オブジェクトＵＧ１ないしＵＧ３のそれぞれには、ユーザ・グループの名前５６と、ユーザ・グループ内のめいめいのユーザを表すすべてのユーザ・オブジェクトへのポインタ５８が含まれる。当業者によって理解されるように、各ユーザ・グループを説明するテキストなどの追加データを、めいめいのユーザ・グループ・オブジェクトＵＧ１ないしＵＧ３のそれぞれに含めることができる。下で説明するように、各ユーザ・グループ・オブジェクトＵＧ１ないしＵＧ３に、コンテンツ・グループ・オブジェクトＣＧ１ないしＣＧ３へのポインタも含まれることが好ましい。
【００３３】
図６に戻って、イントラネット管理者は、コンピュータ・ネットワークのユーザが使用可能なコンテンツの単位を定義し（ブロック１０８）、１つまたは複数のコンテンツ・グループを定義する（ブロック１１０）。次に、定義されたコンテンツ・グループのそれぞれが、最終的に少なくとも１つの定義されたコンテンツの単位を割り当てられるように、定義されたコンテンツの単位を定義されたコンテンツ・グループに割り当てる（ブロック１１２）。
【００３４】
図１０に、めいめいのコンテンツの単位を表す４つの定義されたコンテンツ・オブジェクトＣ１、Ｃ２、Ｃ３、およびＣ４を示す。図１０には、めいめいの定義されたコンテンツ・グループを表す３つの定義されたコンテンツ・グループ・オブジェクトＣＧ１、ＣＧ２、およびＣＧ３も示されている。矢印７０は、コンテンツ・オブジェクトとコンテンツ・グループの間の関係（すなわち、コンテンツの単位がどのコンテンツ・グループに割り当てられるか）を示す。図示の実施形態では、コンテンツ・オブジェクトＣ１ないしＣ４のそれぞれに、名前６０、ＵＲＬ６１、およびめいめいのコンテンツの単位の説明６２が含まれる。めいめいのコンテンツの単位を説明する追加のフィールドも、コンテンツ・オブジェクト内に含めることができる。各コンテンツ・オブジェクトＣ１ないしＣ４に、めいめいのコンテンツの単位が割り当てられるコンテンツ・グループＣＧ１ないしＣＧ３へのポインタが含まれることが好ましい。
【００３５】
図示のコンテンツ・グループ・オブジェクトＣＧ１ないしＣＧ３には、コンテンツ・グループの名前７２、めいめいのコンテンツ・グループに割り当てられためいめいのコンテンツの単位を表すすべてのコンテンツ・オブジェクトへのポインタ７４が含まれる。当業者によって理解されるように、各グループを説明するテキストまたは特定のデバイス用にコンテンツを調整する規則などの追加データを、めいめいのコンテンツ・グループ・オブジェクトＣＧ１ないしＣＧ３のそれぞれに含めることができる。
【００３６】
図６に戻って、イントラネット管理者は、定義されたユーザ・グループのそれぞれが少なくとも１つの定義されたコンテンツ・グループを関連付けられるように、定義されたコンテンツ・グループを定義されたユーザ・グループに関連付ける（ブロック１１４）。図１１に、コンテンツ・グループとユーザ・グループの関係を示す。矢印８０は、コンテンツ・グループ・オブジェクトＣＧ１ないしＣＧ３とユーザ・グループ・オブジェクトＵＧ１ないしＵＧ３の間の関係（すなわち、コンテンツ・グループがどのユーザ・グループに割り当てられるか）を示す。コンテンツ・グループがユーザ・グループに割り当てられる時に、めいめいのコンテンツ・グループのコンテンツ・グループ・オブジェクト（ＣＧ１ないしＣＧ３）に、めいめいのユーザ・グループのユーザ・グループ・オブジェクト（ＵＧ１ないしＵＧ３）へのポインタ８２が含まれる。同様に、ユーザ・グループ・オブジェクトには、それに関連するめいめいのコンテンツ・グループのコンテンツ・グループ・オブジェクトのそれぞれへのポインタ８３が含まれる。
【００３７】
本発明による、コンテンツ・グループ・オブジェクトとユーザ・グループ・オブジェクトの間の関係（たとえば図１１の矢印８０によって示される関係）を変更できることを理解されたい。たとえば、ユーザ・グループ内のユーザが有する許可のタイプによって関係を定義することができる。当業者によって理解されるように、そのような許可には、「requires（必要）」、「allows（許可）」、および「forbids（禁止）」を含めることができるが、これに制限はされない。
【００３８】
また、ユーザが、他のユーザがそれへのアクセス権を有しない、ユーザ自身の「パーソナル」コンテンツ・グループおよびユーザ・グループを作成できることに留意されたい。したがって、ユーザは、さまざまなコンテンツへのアクセスを得るために、あるユーザ・グループに「加入」することができる。この「パーソナル加入」は、管理者によってユーザに割り当てられるユーザ・グループに追加して設けることができる。
【００３９】
好ましい実施形態では、ユーザに関する情報が、イントラネット管理者またはシステム管理者によって、ユーザ・オブジェクトに入力される。その代わりに、当業者に既知のように、既存のデータベースからユーザ情報を自動的に抽出することができる。同様に、コンテンツに関する情報は、イントラネット管理者またはシステム管理者によって、またはユーザ自身によって、コンテンツ・オブジェクトに入力することができる。その代わりに、当業者に既知のように、ウェブ・クローリング（検索）プログラムから自動的にコンテンツ情報を抽出することができる。
【００４０】
ユーザ、ユーザ・グループ、コンテンツ、およびコンテンツ・グループに関する情報は、標準ＬＤＡＰ（lightweight directory access protocol）仕様を実施するものなどの分散ディレクトリに格納されることが好ましい。ＬＤＡＰディレクトリは、周知であり、本明細書でこれ以上説明する必要はない。ＬＤＡＰディレクトリは分散されているので、ユーザ、ユーザ・グループ、コンテンツ、およびコンテンツ・グループに関する情報に、本発明が実施されるコンピュータ・ネットワーク上のどこからでも効率的にアクセスすることができる。
【００４１】
ユーザ用のコンテンツ・ページの生成
ユーザ、ユーザ・グループ、コンテンツ、およびコンテンツ・グループが割り当てられた後に、ユーザは、本発明を実施するイントラネットにログインし、そのユーザのために特に生成されたコンテンツを含むコンテンツ・ページを取り出すことができる。コンテンツ・ページ生成は、ユーザが特定のＵＲＬをブラウザに入力してログイン手順を開始する時に開始することができる。たとえば、ＩＢＭ社のAustinにあるTexas laboratoryの従業員は、ＵＲＬ  http://login.austin.ibm.comを入力して、イントラネット・サーバにログインすることができ、ＩＢＭ社のAlmadenにあるCalifornia laboratoryの従業員は、ＵＲＬ  http://login.almaden.ibm.comを入力して別のイントラネット・サーバにログインすることができる。ドメイン・ネーム・サーバのアドレス解決プロトコルの標準動作によって、ユーザがAlmadenから単にhttp://loginと入力した場合には、そのアドレスが、login.almaden.ibm.com.に解決されることが好ましい。本発明を実施するサーバの名前が標準的（たとえば「login」）である場合には、短縮版（すなわちhttp://login）を入力することによって、ユーザが、本発明を実施するように構成されたもっとも近くのサーバにログインすることが好ましい。
【００４２】
図７を参照すると、イントラネット・ユーザ用のカスタム・コンテンツ・ページを生成する動作（ブロック２００）が、概略的に示されている。ユーザが、本発明を実施するサーバにログインする時に、サーバは、ユーザＩＤおよびパスワードに関するチャレンジを用いて応答することができる。ユーザが応答する時に、サーバは、ユーザ・オブジェクト内で供給されたユーザＩＤをルック・アップし、ユーザを識別する（ブロック２０２）。さらに、サーバは、ユーザ・オブジェクト内に含まれる情報を用いて、サブミットされたパスワード、証明書、または他の識別トークンを検査することによって、ユーザを認証することができる。ログイン手順は、当技術分野で周知であり、本明細書でこれ以上説明する必要はない。
【００４３】
ユーザを識別し、認証した後に、そのユーザが割り当てられたユーザ・グループを識別する（ブロック２０４）。識別されたユーザのユーザ・オブジェクト、たとえばＵ１が、ユーザによって供給されたデータ、たとえばユーザＩＤを使用して、ハッシュ・テーブルから取り出される。上で説明したように、ユーザ・オブジェクトには、このユーザがそのメンバであるめいめいのユーザ・グループのそれぞれのユーザ・グループ・オブジェクトへのポインタが含まれる。現在の例では、Ｕ１に、ＵＧ１およびＵＧ２へのポインタが含まれる。これらのポインタのそれぞれに従って、このユーザがメンバであるユーザ・グループのそれぞれのユーザ・グループ・オブジェクトを得る。したがって、現在の例では、ＵＧ１およびＵＧ２が識別される。
【００４４】
ユーザが割り当てられているユーザ・グループの識別に応答して、識別されたユーザ・グループに関連するコンテンツ・グループを識別する（ブロック２０６）。上で説明したように、めいめいの識別されたユーザ・グループの各ユーザ・グループ・オブジェクトに、それに関連するめいめいのコンテンツ・グループを表すコンテンツ・グループへの１つまたは複数のポインタが含まれる。これらのポインタに従うことによって、このユーザに関連するコンテンツ・グループのリストを得ることができる。したがって、現在の例では、コンテンツ・グループ・オブジェクトＣＧ１およびＣＧ２が、コンテンツ・グループのリストに含まれることになる。
【００４５】
その後、ユーザに割り当てられたコンテンツの単位を判定する（ブロック２０８）。上で説明したように、めいめいのコンテンツ・グループのコンテンツ・グループ・オブジェクトのそれぞれに、ユーザに割り当てられた（コンテンツ・グループおよびユーザ・グループを介して）コンテンツの単位を表すコンテンツ・オブジェクトへのポインタのリストが含まれる。これらのポインタに従うことによって、ユーザに割り当てられたコンテンツの単位のリストを作ることができる。この割り当てられたコンテンツの単位のリストを使用して、カスタマイズされたコンテンツ・ページを作成し（ブロック２１０）、ユーザに配布する（ブロック２１２）。したがって、現在の例では、コンテンツ・オブジェクトＣ１ないしＣ３が識別される。
【００４６】
ユーザのカスタマイズされたコンテンツ・ページは、割り当てられたコンテンツの単位へのＵＲＬを含むハイパーテキスト文書であることが好ましい。コンテンツ・ページで、関連するＵＲＬと共に、コンテンツの単位のそれぞれの説明を表示することもできる。本発明のもう１つの実施形態によれば、実際のコンテンツの単位を、ユーザのコンテンツ・ページ内に組み込むことができる。さらに、別のブラウザ・ウィンドウ内で実行することができるアプリケーションへのリンクを、コンテンツ・ページ内に設けることもできる。
【００４７】
ユーザのコンテンツ・ページのコンテンツの単位は、ユーザに割り当てられたコンテンツ・ページ作成プロファイルに従って配置されることが好ましい。コンテンツ・ページ作成プロファイルでは、ある割り当てられたコンテンツの単位を必ず表示する、コンテンツ・ページの「必須表示」区域を指定することができる。さらに、コンテンツ・ページ作成プロファイルで、コンテンツ・ページ内にどのコンテンツの単位が表示されるかをユーザが変更できるようにする、コンテンツ・ページの１つまたは複数の「ユーザ変更可能」区域を指定することができる。したがって、ユーザのコンテンツ・ページが作成された後に、ユーザが、これらのユーザ変更可能区域内に表示されるコンテンツの単位を追加または削除することができる。しかし、ユーザは、必須区域内に表示されるコンテンツの単位を変更することができない。
【００４８】
本発明によるコンテンツ・ページ作成プロファイルは、ユーザの異なる役割を可能にするために使用することもできる。したがって、ユーザが、企業内でユーザが有することのできる異なる役割に対応するコンテンツのサブセットの作成を望む場合がある。たとえば、ソフトウェア製品リリース管理者が、特定のソフトウェア製品に関する情報に対応するコンテンツ・ページ作成プロファイルを求める場合がある。さらに、それと同一のソフトウェア製品リリース管理者が、管理者としての自分の役割に対応する、それによって生成されるコンテンツ・ページで管理者用の全般的な情報が提供される、異なるコンテンツ・ページ作成プロファイルを求める場合がある。
【００４９】
さらに、ユーザが、デスクトップ・コンピュータ、ハンドヘルド携帯情報端末（ＰＤＡ）、スマートホン、またはサブノート機などの（これに制限はされない）異なる機能を有するデバイスを介してイントラネットにアクセスする可能性がある。本発明によれば、ユーザがイントラネットへの接続に使用するデバイスのタイプごとに、別々のコンテンツ・ページ作成プロファイルを使用することができる。さらに、異なるデバイスのために別々のコンテンツ・グループを使用することができる。これらのコンテンツ・グループには、特定のデバイスに最適のフォーマットへコンテンツを変換する適当な規則を含めることができる。デバイスに関連するコンテンツ・グループと共に規則を格納することによって、特定のデバイスからの要求の前に変換を行うことが可能になる。さまざまなユーザ検証ステップおよびユーザ認証ステップ（ブロック２０２）の間に、そのユーザが使用しているデバイスのタイプを識別することができ、そのデバイスに関連するコンテンツ・ページ作成プロファイルを使用して、そのユーザ用のコンテンツ・ページを生成することができる。
【００５０】
ユーザからの要求を受け取る前のユーザへのコンテンツの配布
ここで図８を参照すると、コンテンツに関する要求をユーザから受け取る前にユーザにコンテンツを配布する動作が、概略的に示されている。動作には、コンテンツ・グループに割り当てられたコンテンツの単位が変更されたかどうかを判定すること（ブロック３０２）と、コンテンツ・グループに関連するコンテンツを事前取出しすること（ブロック３０４）と、コンテンツ・グループからユーザ・グループへのポインタとユーザ・グループからユーザへのポインタを使用して、そのコンテンツ・グループに関心を持つすべてのユーザを見つけること（ブロック３０６）と、関心を持つユーザの誰かが変換されたコンテンツを必要とするかどうかを判定すること（ブロック３０８）と、事前取出しされたコンテンツの単位をあるフォーマットから別のフォーマットに変換すること（ブロック３１０）と、事前取出しされたコンテンツの単位をコンテンツ・パッケージにエクスポートすること（ブロック３１２）が含まれる。
【００５１】
あるコンテンツ・グループに関心を持つユーザのそれぞれについて、クライアント・デバイスへの配布のタイミングは、情報を伝えるのにクライアント−プル機構とサーバ−プッシュ機構のどちらが使用されるかに依存する。クライアント−プル機構の場合、サーバが、クライアントが更新を要求した時にクライアントに配布される情報を保持する。ページの通常のブラウザ要求が、クライアント−プル機構の例である。もう１つの例は、クライアントがログ・オンするのを待ち、その後、そのユーザのページに関連するコンテンツ・パッケージのすべてをダウンロードすることである。PointCast（登録商標）（米国カリフォルニア州SunnyvaleのPointCast, Inc.社）が、クライアント−プル機構のもう１つの例である。サーバ−プッシュ機構の場合、サーバが、クライアントに属する情報を判定し、要求されずに、たとえばクライアントとサーバが接続された直後に、その情報をダウンロードする。Microsoft社のChannel Definition FacilityおよびMarimba社のCastanet（米国カリフォルニア州Mountain ViewのMarimba, Inc.社）の両方が、サーバ−プッシュ技法の例である。クライアント−プル技法およびサーバ−プッシュ技法の両方が、当技術分野で周知であり、本明細書でこれ以上説明する必要はない。しかし、本発明は、どちらの方法とも共に動作することができる。サーバ・エージェントの特定の実施形態が、一方または両方の技法をサポートすることができる。両方の場合には、サーバ・エージェントが、所与のユーザについてどちらの技法を使用するかを決定する（ブロック３１４）能力を有する必要がある。
【００５２】
本発明の一実施形態によれば、エージェントが、コンテンツ・グループに割り当てられたコンテンツの単位を事前取出しするため（ブロック３０４）、事前取出しされたコンテンツの単位をコンテンツ・パッケージにエクスポートするため（ブロック３１２）、およびコンテンツ・パッケージをユーザ・デバイスに送るため（ブロック３１６）に、構成される。サーバ側コンテンツ・エージェント９０（図１２）が、コンテンツの単位のそれぞれの内部のリンクからアクセス可能なコンテンツを含む、各コンテンツ・グループに関連するコンテンツの単位のすべてを事前取出しする（ブロック３０４）ようにプログラムされることが好ましい。サーバ側コンテンツ・エージェント９０は、その後、Channel Definition Format（ＣＤＦ）ファイルまたはzipファイルなどのパッケージに、取り出されたコンテンツの単位をエクスポートする（ブロック３１２）。コンテンツ・パッケージの圧縮を使用することができる。圧縮されたパッケージは、当業者に周知であり、本明細書でこれ以上説明する必要はない。事前取出しされたコンテンツの単位の圧縮は、必要ではないが、ネットワーク・トラフィックの減少を助けるために実施できることを理解されたい。
【００５３】
本発明は、管理者が自社社員に幅広く有用であるものとして識別する情報を、おそらくは圧縮された情報の集合のローカル伝送を用いて置換することによって、そのような情報に関するイントラネット・サーバからの独立の取出の回数を減らすことができる。したがって、すべてのユーザが、すべてのＨＴＭＬページ、アプレット、または画像ファイルをさまざまなホスティング・サーバから直接に独立に取り出すのではなく、サーバ側エージェントが、特定のコンテンツ・グループに関連するすべてのユーザのために１回だけ取出を実行する。その情報は、地理的に分散したサーバへの多数の別々のＨＴＴＰ要求の代わりに、おそらくは圧縮されたファイルを介して、近くのサーバから特定のユーザに伝送される。
【００５４】
クライアント側エージェント９２（図１２）が、特定のユーザに関連するコンテンツ・グループに関する情報を取り出すように構成されることが好ましい。クライアント側エージェント９２は、取り出された情報を使用して、特定のユーザが必要とするコンテンツ・パッケージの取出を制御する。コンテンツ・パッケージの取出を制御する機構の例には、サーバ側コンテンツ・エージェントからクライアント側エージェントにＣＤＦファイルを配布するMicrosoft channelプロトコルが含まれる。その代わりに、IBM eNetwork Web Expressファイルをサイドバンド・ソケット上のサーバ側コンテンツ・エージェントからダウンロードし、IBM eNetwork Web Expressクライアント・キャッシュにインポートすることができる。
【００５５】
情報を取り出す前に、クライアント側エージェント９２が、ユーザ計算機がすでにその計算機のユーザのすべてのコンテンツ・グループに関連するコンテンツ・パッケージを有するかどうかを判定することが好ましい。特定のユーザに関連するコンテンツ・グループは、時間と共に変化する可能性があるので、エージェントを、周期的に、または本発明を実施するイントラネット・サーバにユーザがログインするたびに、または使用量が少ない時間中に、検査するようにプログラムすることができる。コンテンツのほとんどが事前取出しされ、ユーザのコンピュータにロードされているので、コンテンツの後続のユーザ・アクセスは、最小限のネットワーク・トラフィックで行うことができる。
【００５６】
本発明の好ましい実施形態によれば、サーバ側エージェント９０は、コンテンツ・グループに割り当てられたコンテンツの単位が変更されたかどうかを判定する（ブロック３０２）ように構成される。そのような変更が検出された場合には、サーバ側エージェントが、その変更を含めるようにめいめいの圧縮されたパッケージを自動的に更新するようにも構成される。本発明を実施するコンピュータ・ネットワークに接続されるユーザ・デバイスに、圧縮されたコンテンツ・パッケージの最新版が含まれるかどうかの判定を行うことが好ましい。クライアントがすでにパッケージを有するかどうかを知るための機構は、ネットワーク・トラフィックを減らすためのものであり、本発明に組み込まれる必要はない。そのような機構が存在しない場合には、サーバは、クライアントがパッケージを有しないと仮定し、したがって、必ずパッケージをダウンロードする。ユーザ・デバイスに、圧縮されたコンテンツ・パッケージの最新版が含まれない場合には、圧縮されたコンテンツ・パッケージが、ユーザ・デバイスに送られる。
【００５７】
本発明は、取り出されたコンテンツの単位を異なるユーザ・デバイスに合わせて調整するための、さまざまなコンテンツのあるフォーマットから別のフォーマットへの変換（ブロック３０８）も実行することができる。たとえば、一部のユーザ・デバイスが、グレイ・スケール画像表示機能だけを有する場合がある。したがって、そのようなデバイスへのカラー画像の移送は、ネットワーク・リソースの浪費になるはずである。カラー画像をグレイ・スケール画像にトランスコーディングすることによって、ユーザ・デバイスに伝送する必要があるデータの量と、その画像を表示するためにユーザ・デバイスが実行しなければならない可能性がある処理を、劇的に減らすことができる。オフピーク時間中にそのようなコンテンツ変換を実行することによって、ユーザが自分のデバイスに適した版を受け取るために待たなければならない時間を減らすことができ、ピーク時間中のイントラネット・サーバに対する需要を減らすことができる。さらに、コンテンツ変換は、しばしば未使用になるマシン・サイクルを用いてプロセッサ集中型で計算集中型のデータ変換を実行することによって、サーバ処理能力の効率的な使用を促進することができる。
【００５８】
ネットワーク・コンピュータ・モデルを実施するワーク・ステーションなどの複数のユーザをホスティングするクライアント計算機の場合、クライアント側エージェントが、コンピュータのさまざまなユーザが必要とするコンテンツ・ページの和集合を取り出すことができる。複数のユーザが必要とするコンテンツ・ページを、１回だけ取り出し、異なるユーザのために再利用することができる。クライアント側エージェントは、コンテンツ・ページが最後に使用された時、またはコンテンツ・ページの使用頻度などの要因に基づいて、コンピュータ上のコンテンツ・ページのセットを管理することもできる。したがって、ユーザ・コンピュータが、コンテンツ・ページを格納するためのディスク・スペース不足になった場合に、最近使用されていないコンテンツ・ページまたはあるレベルの頻度を有するコンテンツ・ページを削除することができる。
【００５９】
図５ないし図８の流れ図の各ブロックおよび図５ないし図８の流れ図のブロックの組合せを、コンピュータ・プログラム命令によって実施できることを理解されたい。これらのプログラム命令は、機械を作るためにプロセッサに供給することができ、そのプロセッサで実行される命令が、流れ図の１つまたは複数のブロックで指定された機能を実施する手段を作成する。コンピュータ・プログラム命令は、プロセッサによって実行されて、プロセッサによって実行される一連の動作ステップに、コンピュータ実施される処理を作らせることができ、そのプロセッサで実行される命令が、流れ図の１つまたは複数のブロックで指定された機能を実施するステップを提供する。
【００６０】
したがって、流れ図のブロックは、指定された機能を実行する手段の組合せ、指定された機能を実行するステップの組合せ、および指定された機能を実行するプログラム命令手段をサポートする。流れ図の各ブロックおよび流れ図のブロックの組合せを、指定された機能またはステップを実行する専用ハードウェアベースのシステムまたは専用ハードウェアおよびコンピュータ命令の組合せによって実施できることも理解されたい。
【００６１】
本発明は、Java（登録商標）（米国カリフォルニア州Mountain ViewのSun Microsystems社）などのオブジェクト指向プログラミング言語で記述されることが好ましい。しかし、Ｃ、Ｃ＋＋、およびSmalltalkを含むがこれに制限されない、他のプログラミング言語を使用することができる。本発明のさまざまな動作および機能を実行するソフトウェアは、１つまたは複数のイントラネット・サーバ内に常駐する。本発明を実施するイントラネット・サーバにアクセスするユーザ・デバイスは、ウェブ・ブラウザだけを必要とする。本発明によるカスタマイズされたコンテンツにアクセスするために、標準ウェブ・ブラウザ以外のクライアント・ソフトウェアは不要である。本発明のデータ圧縮態様に関して、クライアント・ソフトウェアは、コンテンツ・パッケージを圧縮解除する機能を有する必要があり、本発明の事前取出し態様を利用するためにはコンテンツ・パッケージをキャッシングする能力を有する必要がある。したがって、本発明のいくつかの態様は、クライアント側ソフトウェア・ルーチンを含めることによって拡張し、機能強化することができる。
【００６２】
例
下で説明する図１３ないし図３３は、本発明の実施形態による、コンピュータ・ネットワークのユーザにコンテンツを割り当てるための例示的ユーザ・インターフェースを表す。
【００６３】
図１３は、すべてのユーザに提示される初期ログイン画面を表す。このログイン画面は、たとえば、login.raleigh.ibm.com.に行くことによって、ＩＢＭイントラネットを介して得ることができる。
【００６４】
図１４は、図１３を介してログ・インしたユーザ「amo」に提示されるサンプルのコンテンツ・ページを表す。ユーザ・プロファイル「Office」によって、コンテンツの表示および配置が制御される。ユーザ「amo」が、Stock Ticker（株式相場表示器）ボタンをクリックし、これによって別のウィンドウに株式相場表示アプレットが表示されていることに留意されたい。コンテンツは、コンテンツ・ページにリストされたＵＲＬ「リンク」４００（すなわち「Duke CS Home」）を介して、コンテンツ・ページのボタン４０２から起動されるアプリケーション（すなわちStock Tickerアプレット）を介して、および、コンテンツ・ページ内に組み込まれたアプリケーション４０４（Java電卓およびYahoo!検索など）を介して、ユーザ「amo」に使用可能になる。
【００６５】
図１５に、ユーザが、アクティブになるプロファイルを変更でき、これによって、コンテンツ・ページを表示する方法が決定されることを示す。プロファイルは、異なる職務、位置、または計算機タイプについて構成することができる。ユーザは、パームトップ・デバイスを介するコンテンツ・アクセス用に構成されたプロファイルをアクティブ・プロファイルに変更するために、プロファイル「palmtop」を強調表示にしている。
【００６６】
図１６に、図１５のユーザ・インターフェースを介してPalmtopプロファイルがアクティブにされた後のユーザ「amo」のコンテンツ・ページを示す。このコンテンツ・ページが、図１４に示されたコンテンツ・ページとかなり異なることに留意されたい。画像マップが除去され、Javaアプレットが存在せず、色が異なり、レイアウトが異なる。図１６に示されたコンテンツ・ページには、「Office」プロファイルを介して作られた図１４のコンテンツ・ページと異なるコンテンツも含まれる。たとえば、図１６のコンテンツ・ページには、Yahoo!検索コンポーネントが存在しない。さらに、図１６のすべてのコンテンツが、ＵＲＬリンクとして表示されている。図１６のコンテンツ・ページは、このコンテンツ・ページがほとんどデータを転送されずに非常にすばやくロードされるようにするために単純なレイアウトを有する。
【００６７】
図１７に、Palmtopプロファイルについてどのように設定が構成されるかを示す。ユーザは、ユーザのコンテンツ・ページの「Edit Home Page Settings（ホーム・ページ設定の編集）」（図１４の４０６）をクリックすることによって、図１７のユーザ・インターフェースを得る。
【００６８】
図１８に、ログ・オンしている別のユーザ「dlk」のコンテンツ・ページを示す。このページのコンテンツおよび設定が、ユーザ「amo」のものと異なることに留意されたい。たとえば、「dlk」は、Duke学生ユーザ・グループに含まれないので、Duke CS Home Pageリンクが、このコンテンツ・ページには表示されていない。
【００６９】
図１９に、ユーザのデフォルト・プロファイルを示す。ユーザ・プロファイルは、ユーザが「Edit Settings（設定編集）」ユーザ・インターフェースまたは「Edit Content（コンテンツ編集）」ユーザ・インターフェースを介して設定を変更しない限り、Default（デフォルト）設定を継承する。図１９では、ユーザdlkが、デフォルト・テンプレートを「Home Template 2」に変更しようとしている。図１９には、ユーザが変更を保存せずにその結果を見られるようにする、プレビュー機能も含まれる。
【００７０】
図２０に、ユーザ「dlk」の「Edit Home Page Content（ホーム・ページ・コンテンツ編集）」ユーザ・インターフェースを示す。このユーザ・インターフェースは、どのコンテンツを「dlk」のコンテンツ・ページに表示し、どのようにコンテンツを表示するかを制御するのに使用される。ユーザは、コンテンツを見ることを許可されるか要求されるかのいずれかでなければ、このユーザ・インターフェース上でコンテンツを見ることができない。オプションは、Linked（リンク）、Launched（起動、ボタンとして）、Embedded（組み込み）、およびNot Shown（非表示、ユーザがコンポーネントを見ることを許可されるが、要求されない場合に限って使用可能になるオプション）である。ユーザは、コンテンツの単位「MetricConvert」の「More Info（詳細）」ボタンをクリックして、このコンテンツの単位の説明を見ている。
【００７１】
図２１に、図１６で行われた変更が実施された後に、ユーザ「dlk」のコンテンツ・ページがどのように見えるかを示す。
【００７２】
図２２に、本発明を組み込んだイントラネットの管理者用のコンテンツ・ページを示す。User Database（ユーザ・データベース）４０８を用いて、管理者が、ユーザの追加および編集を行うことができる。他の図示されたオプションには、Component Database（コンポーネント・データベース）４１０、Component Groups（コンポーネント・グループ）４１２、Home Pages（ホーム・ページ）４１４、Group Permissions（グループ許可）４１６、およびUser Groups（ユーザ・グループ）４１８が含まれる。これらの機能のそれぞれを、下で説明する。
【００７３】
図２３に、コンポーネント・データベース管理区域（図２２のオプション４１０を介してアクセスされる）を示す。コンポーネントのＨＴＭＬ特性に基づいて、異なるコンポーネント・タイプ（すなわちコンテンツの単位）がある。たとえば、アプレットは、高さ、幅、コードベースなどを有するので、その情報のためのフィールドが設けられる。その一方で、リンクは、名前、説明、およびＵＲＬだけを有する。
【００７４】
図２４に、図２３の「Yahoo Search」をクリックし、その後に「Edit HTML（ＨＴＭＬ編集）」をクリックした後に管理者が見るものを示す。
【００７５】
図２５に、ユーザ・グループ管理区域（図２２のオプション４１８を介してアクセスされる）を示す。グループ・メンバシップの２つのビューが設けられている。グループ・ビューから、グループのメンバのリストが提供される。ユーザ・ビューから、ユーザが属するグループのリストが提供される。グループ・ビューから、管理者は、あるグループを別のグループのサブグループとして指定することもできる。
【００７６】
図２６に、図２５の「dlk」をクリックし、その後に「Edit User（ユーザ編集）」をクリックした後に管理者が見るものを示す。
【００７７】
図２７に、コンポーネント・グループ管理区域（図２２のオプション４１２を介してアクセスされる）を示す。グループ・メンバシップの２つのビューが設けられている。
【００７８】
図２８に、図２７の「IBM Components（ＩＢＭコンポーネント）」をクリックし、その後に「Edit Component Group（コンポーネント・グループ編集）」をクリックした後に管理者が見るものを示す。
【００７９】
図２９に、グループ許可管理区域（図２２のオプション４１６を介してアクセスされる）を示す。このユーザ・インターフェースは、管理者によって、ユーザ・グループとコンポーネント・グループ（すなわちコンテンツ・グループ）を関連付けるのに使用される。関連の２つの使用可能なビューがある。
【００８０】
図３０に、図２８を介して「IBM Programmers（ＩＢＭプログラマ）」および「Edit User Group（ユーザ・グループ編集）」を選択した後に管理者が見るものを示す。管理者がユーザ・グループに割り当てることができる、４つの許可タイプ（すなわち、不許可、許可、必要、禁止）がある。ユーザがコンポーネント（すなわちコンテンツの単位）に対して有する最終的な許可は、ユーザ・グループ−コンポーネント・グループ関連のすべてからのコンポーネントに割り当てられた許可のすべてを組み合わせ、最高優先順位の許可タイプを使用することによって決定される。
【００８１】
許可を組み合わせる規則は次の通りである。４）Disallow（不許可）：これはデフォルトの許可タイプである。これは最も低い優先順位を有する。最終的なコンポーネント許可が「Disallow」である場合には、ユーザは、自分のコンテンツ・ページにそのコンポーネント（コンテンツの単位）を表示することを許可されない。３）Allow（許可）：これは、次に高い優先順位の許可タイプである。最終的なコンポーネント許可が「Allow」である場合には、ユーザは、自分のコンテンツ・ページにそのコンポーネント（コンテンツの単位）を表示することを許可され、それを表示しないことを選択することができる。２）Require（必要）：これは、次に高い優先順位の許可タイプである。最終的なコンポーネント許可が「Require」である場合には、ユーザは、自分のコンテンツ・ページにそのコンポーネント（コンテンツの単位）を表示しなければならない。１）Forbid（禁止）：これは、最高優先順位の許可タイプである。最終的なコンポーネント許可が「Forbid」である場合には、ユーザは、自分のコンテンツ・ページにそのコンポーネント（コンテンツの単位）を表示することを許可されない。
【００８２】
たとえば、コンポーネント（コンテンツの単位）「Duke CS Home Page」が、「Duke」コンポーネント・グループに含まれ、このグループが「Duke Students」ユーザ・グループではRequiredであるが、「UNC Students」ユーザ・グループではForbiddenであり、あるユーザが両方のユーザ・グループのメンバである場合には、Required+Forbidden=Forbiddenになる。「Duke CS Home Page」が、「Computer Science」コンポーネント・グループにも含まれ、このグループが、「IBM Traveller」グループでDisallowedであり、あるユーザが「Duke Students」および「IBM Traveller」のメンバであるが「UNC Students」のメンバでない場合には、Required+Disallowed=Requiredになる。
【００８３】
図３１に、管理者が他のユーザのコンテンツ・ページおよびプロファイルを編集することができるユーザ・インターフェースを示す。
【００８４】
図３２に、ユーザ「amo」のコンテンツ・ページおよびプロファイルを編集するための、管理者用のユーザ・インターフェースを示す。表示されるユーザ・インターフェースは、本質的に「amo」が見るものと同一である。異なる画像マップが表示されるのは、ユーザが管理者であることをシステムが検出したからであり、画面の色が異なるのは、「admin（管理者）」が、自分自身のプロファイルを有する「amo」と異なるユーザであるからである。
【００８５】
図３３に、「Edit Home Page」ページを作成する方法を示す。本発明は、サーブレットおよびテンプレート・パーサを使用してＬＤＡＰディレクトリからのデータ（Requiredアプレットなど）とＨＴＭＬ要求からのデータ（すなわち、編集されるユーザと編集を行っているユーザ）を、これのようなファイルと組み合わせて、ユーザが自分のブラウザで見るＨＴＭＬを作成する。
【００８６】
前述は、本発明の例示であって、これを制限するものとして解釈してはならない。本発明のいくつかの例示的実施形態を説明したが、当業者は、本発明の新規の教示および長所から実質的に逸脱することなく、例示的実施形態において多数の変更が可能であることを容易に諒解するであろう。したがって、そのような変更のすべてが、請求項で定義される本発明の範囲に含まれることが企図されている。したがって、前述が、本発明の例示であって、開示された特定の実施形態への制限として解釈されてはならないことと、開示された実施形態に対する変更ならびに他の実施形態が、請求項の範囲に含まれることが企図されていることを理解されたい。本発明は、請求項によって定義され、請求項の同等物がそれに含まれる。
【図面の簡単な説明】
【図１】  ブラウザを介して表示される、イントラネットを介して使用可能なコンテンツのめいめいの単位にアクセスするためのＵＲＬのリストを含む例示的コンテンツ・ページを示す図である。
【図２】  ブラウザを介して表示される、イントラネットを介して使用可能なコンテンツのめいめいの単位にアクセスするためのＵＲＬのリストを含む例示的コンテンツ・ページを示す図である。
【図３】  本発明を実施することができる、イントラネットを介して通信するクライアント−ホスティング・コンピュータおよびサーバ−ホスティング・コンピュータを示す図である。
【図４】  イントラネット・サーバによってホスティングされるコンテンツ・ページにアクセスするイントラネット・クライアントを示す概略図である。
【図５】  本発明による、イントラネット・ユーザへのコンテンツの割当、生成、および配布のさまざまな態様を実行する動作を示す概略図である。
【図６】  本発明による、イントラネット・ユーザへのコンテンツの割当、生成、および配布のさまざまな態様を実行する動作を示す概略図である。
【図７】  本発明による、イントラネット・ユーザへのコンテンツの割当、生成、および配布のさまざまな態様を実行する動作を示す概略図である。
【図８】  本発明による、イントラネット・ユーザへのコンテンツの割当、生成、および配布のさまざまな態様を実行する動作を示す概略図である。
【図９】  本発明による、イントラネットのめいめいのユーザを表す４つの定義されたユーザ・オブジェクト、めいめいの定義されたユーザ・グループを表す３つの定義されたユーザ・グループ・オブジェクト、およびめいめいのユーザとユーザ・グループとの間の関係を示す図である。
【図１０】  本発明による、イントラネットを介して使用可能なコンテンツのめいめいの単位を表す４つの定義されたコンテンツ・オブジェクト、めいめいの定義されたコンテンツ・グループを表す３つの定義されたコンテンツ・グループ・オブジェクト、およびめいめいのコンテンツの単位とコンテンツ・グループとの間の関係を示す図である。
【図１１】  本発明による、図９の３つの定義されたユーザ・グループ・オブジェクト、図１０の３つの定義されたコンテンツ・グループ・オブジェクト、およびめいめいのユーザ・グループとコンテンツ・グループとの間の関係を示す図である。
【図１２】  本発明によるさまざまな動作を実行する、サーバ側エージェントおよびクライアント側エージェントを示す図である。
【図１３】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図１４】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図１５】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図１６】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図１７】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図１８】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図１９】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２０】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２１】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２２】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２３】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２４】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２５】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２６】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２７】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２８】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図２９】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図３０】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図３１】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図３２】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図３３】  コンピュータ・ネットワークのユーザへのコンテンツの割り当てに関係する本発明の態様を実行する、例示的ユーザ・インターフェースの１つを示す図である。
【図１】
0004378056.tif 000002
【図２】
0004378056.tif 000003
【図３】
0004378056.tif 000004
【図４】
0004378056.tif 000005
【図５】
0004378056.tif 000006
【図６】
0004378056.tif 000007
【図７】
0004378056.tif 000008
【図８】
0004378056.tif 000009
【図９】
0004378056.tif 000010
【図１０】
0004378056.tif 000011
【図１１】
0004378056.tif 000012
【図１２】
0004378056.tif 000013
【図１３】
0004378056.tif 000014
【図１４】
0004378056.tif 000015
【図１５】
0004378056.tif 000016
【図１６】
0004378056.tif 000017
【図１７】
0004378056.tif 000018
【図１８】
0004378056.tif 000019
【図１９】
0004378056.tif 000020
【図２０】
0004378056.tif 000021
【図２１】
0004378056.tif 000022
【図２２】
0004378056.tif 000023
【図２３】
0004378056.tif 000024
【図２４】
0004378056.tif 000025
【図２５】
0004378056.tif 000026
【図２６】
0004378056.tif 000027
【図２７】
0004378056.tif 000028
【図２８】
0004378056.tif 000029
【図２９】
0004378056.tif 000030
【図３０】
0004378056.tif 000031
【図３１】
0004378056.tif 000032
【図３２】
0004378056.tif 000033
【図３３】
0004378056.tif 000034