(57)【特許請求の範囲】
【請求項１】
装置へのコンテンツの分配を管理するシステムであって、
コンテンツを受信する装置と、
複数の要素を装置の階層構造として記憶し、コンテンツ識別子を前記階層構造内の各要素に関連付けることができ、前記要素の１つは前記装置を表すデータベースと、
前記データベース内の前記階層構造を参照して、前記装置に与えるコンテンツを示す複数のコンテンツ識別子を含む前記装置のプロフィールであって、前記装置を表す要素に関連する任意のコンテンツ識別子と前記階層構造内でその要素が依存する要素に関連する任意のコンテンツ識別子を含む前記装置のプロフィールを生成するサーバと、
前記データベース上に記憶された前記階層構造を管理するユーザが前記階層構造を管理し、任意の要素を前記階層構造内の前記任意の要素の新しい機能または役割を表す部門に動かすためのインターフェースを与えるコンピュータ・プログラムにより制御される管理ツールとして動作するコンピュータと、
を備え、
前記装置は、更に、装置管理プログラムによって、前記サーバから前記プロフィールを受信し、前記プロフィール内のコンテンツ識別子を用いて前記プロフィールが示すコンテンツを前記装置に与え、前記プロフィールに従って前記装置に与えた前記コンテンツを識別する記録を保持するように構成され、
前記装置は、更に、前記装置管理プログラムによって、前記サーバから後続のプロフィールを受信すると、前記後続のプロフィール内のコンテンツ識別子と前記記録とを比較して、まだ前記装置に与えられていない新しいコンテンツと今後は前記装置に与えられない古いコンテンツとを決定し、前記関係するコンテンツ識別子を用いて前記新しいコンテンツを前記装置に与え前記古いコンテンツを削除するように構成される前記システム。
【請求項２】
前記各コンテンツ識別子は、対応するコンテンツの名前と、そのコンテンツを得ることができる位置を識別する位置標識とを与える請求項１記載のシステム。
【請求項３】
複数の異なる型のコンテンツの前記分配は、前記システムが管理し、前記コンテンツ識別子は、対応するコンテンツの型を更に識別する請求項２記載のシステム。
【請求項４】
前記コンテンツは、インターネットを介してコンタクトすることができるサーバ上に記憶され、前記位置標識は、ＵＲＬアドレスである請求項２または３に記載のシステム。
【請求項５】
前記装置が前記コンテンツを受信したとき前記コンテンツを処理するのに必要なコンテンツ情報を関連付けるための複数のパッケージャを更に含む請求項１から４のいずれかに記載のシステム。
【請求項６】
複数の異なる型のコンテンツの前記分配は、前記システムが管理し、コンテンツの型毎にパッケージャを設ける請求項５に記載のシステム。
【請求項７】
コンテンツに関連する情報は、前記コンテンツを前記装置上にインストールするのに用いるインストーラの識別を含む請求項５または６記載のシステム。
【請求項８】
前記要素は、１つ以上の部門を含み、各部門は、装置の論理的グループを表し、前記管理ツールにより部門を作成し削除することとコンテンツ識別子を各部門に関連付けることができる請求項１記載のシステム。
【請求項９】
前記サーバが生成するプロフィールは、前記装置に関連する全てのコンテンツ識別子と、前記階層構造内で前記装置が依存する部門に関連する全てのコンテンツ識別子とを含む請求項８に記載のシステム。
【請求項１０】
前記管理ツールにより人識別子は、前記階層構造内の要素として与えられる個人を識別することができるようにされ、前記管理ツールを用いて前記階層構造内で前記装置とその装置を所有する個人とを関連付けることができる請求項１から９のいずれかに記載のシステム。
【請求項１１】
前記装置は、更に、前記装置管理プログラムによって、所定の間隔で前記サーバに接続して前記プロフィールを要求し、前記プロフィールを要求した装置を前記サーバに識別させるように構成される請求項１から１０のいずれかに記載のシステム。
【請求項１２】
複数の異なる型のコンテンツの前記分配は、前記システムが管理し、前記型の少なくとも１つは、コンピュータ・プログラムである請求項１から１１のいずれかに記載のシステム。
【請求項１３】
前記データベースは、リレーショナル・データベースである請求項１から１２のいずれかに記載のシステム。
【請求項１４】
請求項１から１３のいずれかに記載のシステムに用いられるサーバを制御するコンピュータ・プログラムを提供する記憶媒体であって、前記データベースを参照して前記装置のプロフィールを生成し、前記プロフィールを前記装置に送信するコンピュータ・プログラムを提供し、更に請求項１から１３のいずれかに記載のシステム内の管理ツールとして動作するコンピュータを制御するコンピュータ・プログラムを提供し、前記コンピュータ・プログラムは、前記データベース上に記憶された前記階層構造をユーザが管理できるようにするインターフェースを与える記憶媒体。
【請求項１５】
前記階層構造内の要素は、１つ以上の部門を含み、各部門は、装置の論理的グループを表し、前記管理ツールにより、部門を作成し削除することとコンテンツ識別子を各部門に関連付けることができる請求項１４記載の記憶媒体。
【請求項１６】
前記管理ツールにより人識別子は、前記階層構造内の要素として与えられる個人を識別することができるようにされ、前記管理ツールを用いて前記階層構造内で前記装置とその装置を所有する個人とを関連付けることができる請求項１４または１５記載の記憶媒体。
【請求項１７】
装置へのコンテンツの分配を管理する方法であって、
サーバは、複数の要素を装置の階層構造としてデータベース内に記憶するステップであって、コンテンツ識別子を前記階層構造内の各要素に関連付けることができ、前記要素の１つは、前記装置を表すステップと、
サーバは、前記データベース内の前記階層構造を参照して、前記装置に与えるコンテンツを示す複数のコンテンツ識別子を含む装置のプロフィールであって、前記装置を表す要素に関連する任意のコンテンツ識別子と前記階層構造内でその要素が依存する要素に関連する任意のコンテンツ識別子を含む前記装置のプロフィールを生成するステップと、
前記装置は、装置管理プログラムを用いて、前記プロフィール内のコンテンツ識別子を参照して、前記プロフィールが示すコンテンツを前記装置に与え前記プロフィールに従って前記装置に与えた前記コンテンツを識別する記録を保持するステップと、
前記装置は、前記装置管理プログラムを用いて、後続のプロフィールを受信すると、前記後続のプロフィール内のコンテンツ識別子と前記記録とを比較して、まだ前記装置に与えられていない新しいコンテンツと今後は前記装置に与えられない古いコンテンツとを決定し、前記関係するコンテンツ識別子を用いて前記新しいコンテンツを前記装置に与え前記古いコンテンツを削除するステップと、を含み
管理ツールとして動作するコンピュータは、前記データベース上に記憶された前記階層構造を管理するユーザが前記階層構造を管理し、任意の要素を前記階層構造内の前記任意の要素の新しい機能または役割を表す部門に動かすためのインターフェースを与えるコンピュータ・プログラムにより制御される前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、装置へのコンテンツの分配を管理する装置と方法に関する。
【０００２】
（従来技術の説明）
装置に与えられるコンテンツは、種々の異なる形をとる。例えば、データ・ファイルは、装置に与えて、装置にインストールされた特定のアプリケーションと共に用いる。また特定のアプリケーション・プログラムは、装置に分配してインストールし、例えばワード・プロセッシング・プログラム、スプレッドシート・プログラム、eメール・プログラムなどの新しい機能を行う。
今日まで、装置へのコンテンツの分配を管理する技術の開発の多くは、コンピュータ・ネットワークに接続する固定されたコンピュータ装置の分野が中心であった。かかる環境では、局所的な管理支援構造を設けてネットワークにコンテンツを与え、個々の装置がそのコンテンツにアクセスするのを制御することが可能である。
【０００３】
例えば、ＵＳ−Ａ−５，６９２，１２９は、コンピュータ・ネットワーク内でアプリケーション・プログラムを管理する方法を述べている。或る組織内でコンピュータ・ネットワークを設けると、そのコンピュータ・ネットワーク上にディレクトリ・サービス・データベースを設けて、その組織内の人やその他の資源に関する「白紙（White page）」型のディレクトリを作成するのが普通である。かかるディレクトリ・サービス・データベースは、オブジェクト指向データベースであることが多い。ＵＳ−Ａ−５，６９２，１２９の教示によると、かかるオブジェクト指向データベースは、ネットワーク上で利用可能なソフトウエア・アプリケーションを定義するアプリケーション・オブジェクトを含むことを支援する。またデータベース内の或る型のオブジェクト（例えば、ユーザ・オブジェクト）は、デスクトップ属性を指定することが可能である。この場合は、アプリケーション・オブジェクトをかかるオブジェクトのデスクトップ属性として追加して、対応するアプリケーションは、オブジェクトが表すユーザに利用可能であることを示すことができる。
【０００４】
更に、ＵＳ−Ａ−５，６９２，１２９は、ローンチャ・アプリケーションの使用を指定する。ローンチャ・アプリケーションは、特定のユーザのために、そのユーザのオブジェクトを検索し、ユーザ・オブジェクトのデスクトップ属性で識別されるアプリケーション・オブジェクトが指定する任意のアプリケーションのアイコンをユーザのデスクトップが与えることができる。したがって上記の方法により、ユーザのデスクトップを自動的に更新して、ネットワーク上にインストールされ、ユーザがアクセス可能なアプリケーションを示すことができる。アプリケーション自身は、ネットワーク上の中央に保持され、ユーザは、これにネットワークでアクセスする。
【０００５】
ＵＳ−Ａ−５，５８１，７６４は、装置へのコンテンツの分配を管理する方式を記述している。Ｄ１の方式では、コンテンツの階層構造を装置のグループについて開発する。Ｄ１では、これをスキーマ(Schema)と呼ぶ。スキーマ内では、１つ以上の動的リンケージを設ける。これは、任意の特定の装置についての「持つべき(should have)」（ＳＨ）リストを生成するときに、どのコンテンツをその装置に与えるべきかを判定する。動的リンケージを可能にするには、装置の或る変数の値を決定するために初期質問プロセスが必要である。
この方法は、ネットワークに常時、接続してネットワーク上でアプリケーションを実行することが可能なコンピュータ装置には明らかに有用であるが、ネットワークに断続的に接続するだけで、ネットワークに接続していないときも独立して動作する必要がある（すなわち、自分で使用するために、そのコンテンツを局所で記憶する必要がある）分散された装置に適していないことは明らかである。しかし、携帯用コンピュータ装置、移動電話、パーソナル・デジタル支援装置（ＰＤＡ）、電子オーガナイザなどが増えるに従って、かかるシナリオは、ますます一般的になりつつある。組織としては組織内の人に、これらの携帯装置を使用させることが明らかに望ましいが、かかる装置へのコンテンツの分配を制御し管理することは、非常に困難である。
【０００６】
（発明の概要）
第１の観点から、本発明は、装置へのコンテンツの分配を管理するシステムを提供する。このシステムは、データベースであって、多数の要素を装置の階層構造として記憶し、コンテンツ識別子を階層構造内の各要素に関連付けることが可能であり、要素の１つは装置を表す、データベースと、データベース内の階層構造を参照して装置のプロフィールを生成し、プロフィールは、装置に与えるコンテンツを示す多数のコンテンツ識別子を含み、プロフィールは、装置を表す要素に関連する任意のコンテンツ識別子とその要素が依存する階層構造内の要素に関連する任意のコンテンツ識別子を含むサーバと、装置に関連し、サーバからプロフィールを受け、プロフィール内のコンテンツ識別子を用いてプロフィールが示すコンテンツを装置に与え、プロフィールに従って装置に与えたコンテンツを識別する記録を保持する装置管理者とを備え、更に装置管理者は、サーバから後続のプロフィールを受けると、後続のプロフィール内のコンテンツ識別子と前記記録とを比較して、まだ装置に与えられていない新しいコンテンツと今後は装置に与えられない古いコンテンツとを決定し、装置管理者は、関係するコンテンツ識別子を用いて新しいコンテンツを装置に与え、古いコンテンツを削除する。
【０００７】
本発明では、多数の要素を階層構造として記憶することが可能なデータベースを設け、要素の少なくとも１つは、コンテンツを分配する相手の装置を表す。次に、特定のコンテンツを識別するコンテンツ識別子を階層構造内の要素に関連付ける。更に、データベース内の階層構造を参照して特定の装置のためのプロフィールを生成することが可能なサーバを設ける。プロフィールは、多数のコンテンツ識別子を含み、各コンテンツ識別子は、その装置に与えるコンテンツを識別する。これにより、装置に関連する装置管理者は、プロフィールを受けると動作してプロフィールが示すコンテンツを装置に与え、プロフィールに従って装置に与えるコンテンツを識別する記録を保持する。好ましくは、記録は、装置に対して論理的に局所の記憶領域（すなわち、ネットワークに接続されているかどうかにかかわらず装置が必ず読むことができる位置）に記憶する。
【０００８】
装置管理者は、装置上に記憶しても装置から離れたところに記憶してもよい。しかし、後者の場合は、装置自身に一般に何かを常駐させ、これにより装置管理者は、例えば何かの構成情報を実行する。
本発明では、後の或る時点に装置管理者がサーバから後続のプロフィールを受けると、後続のプロフィール内のコンテンツ識別子と、以前のプロフィールに従って装置に与えたコンテンツを識別するために保持されている記録とを比較して、まだ装置に与えられていない新しいコンテンツと今後は装置に与えられない古いコンテンツとを決定する。次に新しいコンテンツを装置に取り込み、例えば、そのコンテンツを実際に削除することにより、または装置のローカル・メモリ内のコンテンツへのポインタを削除することにより古いコンテンツを削除する。
【０００９】
この方法により本発明のシステムは、長時間または短時間ネットワークに接続し、またネットワークに接続していないときに使用可能にするためにコンテンツを局所的に記憶する必要がある種々の異なる装置を支援することができる。注意すべきことは、このシステムはネットワークに常時、接続する装置と共に使用することが可能なことである。本発明を用いることにより装置に与えるコンテンツを中央で管理することが可能なので、コンテンツ識別子を階層構造内の該当する要素に関連付けた後は、そのコンテンツ識別子は、関係する装置のために、その後準備される全てのプロフィール内に含まれる。これにより、かかる装置の対応する装置管理者は、次にプロフィールを受けると、そのコンテンツを装置に与えることができる。しかし、コンテンツを単に中央で保持して装置がその中央点にアクセスするのではなく、コンテンツを一般に装置に与えるので、本発明は、サーバが分配した後続のプロフィールと、以前のプロフィールに従って与えた装置のコンテンツを識別するために保持されている記録とを比較することにより、装置から古いコンテンツを削除することができる。
【００１０】
注意すべきことは、本発明の好ましい実施の形態では装置のユーザが自分自身のコンテンツも装置にインストールすることを禁止しないことである。なぜなら、かかるコンテンツは、プロフィールに含まれないので、装置管理者の制御の下に装置に与えられず、または装置からは除去されないからである。しかし、本発明では或る核心コンテンツの装置への分配を管理することが可能なので、装置のユーザが関与せずに、構造的にそのコンテンツを与え、後で削除することができる。
【００１１】
コンテンツ識別子は、種々の形をとってよい。しかし、好ましい実施の形態では、各コンテンツ識別子は、対応するコンテンツの名前と、そのコンテンツを得る位置を識別する場所標識を与える。したがって装置管理者が装置のコンテンツを得ようとするときは、対応するコンテンツ識別子内の位置標識を用いて、コンテンツを得る位置を決定することができる。好ましい実施の形態では、名前は、コンテンツを検索するときに必要ではないが、データベース上の階層構造を管理するネットワーク・マネージャとコンテンツを検索する装置のユーザのための記述的参照を与える。
【００１２】
本発明の好ましい実施の形態に係るシステムを用いて、複数の異なる型のコンテンツの分配を管理することできる。好ましくは、コンテンツ識別子は、対応するコンテンツの型も識別する。データベース上の階層構造を管理するネットワーク管理者は、この情報を参照することができる。例えば、これは健全性チェックに有用であり、ネットワーク管理者は、その型のコンテンツを受けることが可能な装置にだけ、そのコンテンツを割り当てることができる。
コンテンツを得ることができる位置を識別するのに役立つものであれば、位置識別子は種々の形をとることができるは、理解される。好ましい実施の形態では、コンテンツは、インターネットを介して接触することが可能なサーバに記憶され、位置標識は、ＵＲＬアドレスである。
【００１３】
コンテンツを装置に与えるとき、コンテンツを正しく受けて記憶するために装置は、いくつかの所定の動作を行う必要があることが理解される。このため本発明の好ましい実施の形態のシステムは、装置が受けたコンテンツを処理するのに必要なコンテンツ情報に関連付けるための多数のパッケージャを与える。プロフィール内のコンテンツ識別子を用いてコンテンツを装置に取り込むとき、装置は、コンテンツだけでなく、装置内でコンテンツを正しく処理するのに必要な全ての関係する情報も受ける。装置に与えるコンテンツと関係情報を今後は「パッケージ」と呼ぶ。
前に述べたように、複数の異なる型のコンテンツの分配は、システムが管理する。したがって好ましい実施の形態では、パッケージャは、コンテンツの型毎に与えられる。
【００１４】
コンテンツを処理する方法を記述するためにパッケージ内に含まれる情報は、コンテンツ自身に従って種々の異なる形をとることができることが理解される。例えば、コンテンツが特定のアプリケーション用のデータ・ファイル（たとえば、マイクロソフト・ワードのファイル）の場合は、パッケージは、コンテンツがその型であることを識別し、装置管理者は、この型情報を用いて、この型のコンテンツをインストールするためのインストーラが存在するかどうか判定する。存在しない場合は、一般にコンテンツを省略時位置（例えば、装置管理者が指定する位置）に記憶する。しかし、インストーラが利用可能な場合は、これを用いてコンテンツを装置にインストールする。インストーラを用いる場合は、パッケージ内の情報は、ファイルを読み込むのに必要なマイクロソフト・ワードの必要なバージョン番号も識別する。次にインストーラは、ワードのバージョンを探し、見つからない場合は、例えば装置のユーザに警告する。
【００１５】
別の例としてコンテンツがアプリケーション・プログラムの場合は、一般にインストーラにより装置に適切にインストールする必要がある。かかる場合は、好ましい実施の形態におけるかかるコンテンツに関連する情報は、どのファイルが主実行可能ファイルであるかの識別や、デスクトップ上でプログラムを表すのに用いるアイコンの識別などを含む。次に関係するインストーラは、その情報を用いて、アプリケーション・プログラムを正しくインストールする。
【００１６】
装置が時間と共に変わりおよび／または任意の特定の装置の使用が時間と共に変わるので、異なるコンテンツを装置と関係付ける必要があり、かかる変化に対処するためにデータベース内の階層構造を効率的に管理する機能が必要であることが理解される。したがって、好ましい実施の形態のシステムは、データベース上に記憶されている階層構造をユーザが管理するためのインターフェースを与える管理ツールを有する。例えば、階層構造を用いて組織内の多数の装置を表す場合は、システム管理者の形のユーザは、管理ツールを用いて階層構造を管理し、その装置に与えることが望ましいコンテンツを装置が受けるように、各装置を階層構造内で適当な時点に継続して表す。
【００１７】
階層構造を開発するための多くの異なる方法があることが理解される。しかし、好ましい実施の形態では、階層構造内の前記要素は、装置の論理的グループ化を表す１つ以上の部門を含み、管理ツールは、各部門を生成または削除し、またコンテンツ識別子を各部門に関連付ける。したがって階層構造の最上部には全ての装置を含む総称部門を設け、その総称部門に依存して特定部門を生成することができる。例えば、技術支援スタッフが用いる全ての装置を含む技術支援部門を設け、また顧客支援スタッフが用いる全ての装置を含む別個の顧客支援部門を設ける。注意すべきことは、ユーザ（例えば、システム管理者）は必要に応じて必要なときに部門を作成また削除して、階層構造内で表される装置を分類するのに用いる適当な階層構造を開発することができることである。
【００１８】
注意すべきことは、コンテンツ識別子を各部門に関連付けることができるので、特定の部門内の全ての装置に共通のコンテンツを装置毎に個別に指定する必要はなく、単に対応する部門に関して一度だけ指定すればよいことである。好ましい実施の形態では、サーバが生成したプロフィールは、装置に関連する全てのコンテンツ識別子と、装置が階層構造内で依存する部門に関連する全てのコンテンツ識別子を含む。コンテンツを任意の特定の装置に関連付ける効率は、これにより大幅に改善されることが理解される。更に、装置を１つの部門から他の部門に移して次回にその装置のプロフィールを生成した場合、装置は、その新しい役割の装置に関係するコンテンツを示す更新されたプロフィールを自動的に受ける。次に、全ての新しいコンテンツを自動的に検索し、古いコンテンツを削除する。
【００１９】
本発明の好ましい実施の形態では、管理ツールにより、人識別子は、階層構造内の要素として与えられる個人を識別することができる。これにより、管理ツールを用いて階層構造内で装置とその装置を所有する個人とを関連付けることができる。この特別の分類を含むことは、有用である。なぜなら、組織内の特定の個人は、２つ以上の装置を持つことが多く、自分の装置毎に特定のコンテンツを与えるよう要求することが多いからである。個別の装置は、階層構造内の関係する人識別子に依存するので、システム管理者が新しいコンテンツを各装置に関連付けるのは容易である。また個人が組織内を動きまわるとき、システム管理者は、関係する人識別子を部門の間に動かすことができる。これにより、その人の全ての装置も自動的に動かすことができるし、次回にプロフィールをかかる装置に与えるときに、かかる装置の関係するコンテンツを与えることができる。
【００２０】
プロフィールを所定の間隔で装置に与えるのに種々の機構を用いることができることが理解される。例えば、装置がネットワークに常時、接続されている場合は、サーバは、プロフィールを定期的な間隔で生成してよい。しかし、好ましい実施の形態ではシステムは、多くの異なる型の装置を支援し、少なくとも、そのいくつかは、常時ネットワークに接続されてはいない。この場合は、装置がネットワークに接続されたときにプロフィールを生成して分配する必要がある。したがって、好ましい実施の形態では、装置管理者は、所定の間隔でサーバに接続してプロフィールを要求し、装置管理者は、プロフィールが要求された装置を識別する。
【００２１】
例えば、装置管理者は、装置に電源を入れた直後にプロフィールを要求する。この方法は、ネットワークが利用可能なときだけ動作し帯域幅が制限された装置（例えば、ＧＳＭ受信機）に適している。または、装置管理者は、ネットワーク接続が確立された直後にプロフィールを要求する。この方法は、ネットワークが利用可能でなくても完全に動作するが、随時に接続も行う装置（例えば、携帯用コンピュータ）に適している。また別の例として、装置管理者は、離散的な時間間隔で定期的にプロフィールを要求する。この方法は、ケーブル・テレビジョン受信機やネットワーク・コンピュータなどの高い帯域幅の常時、接続されている装置に適している。
【００２２】
前に説明したように、システムは、複数の異なる型のコンテンツの分配を管理する。好ましい実施の形態では、この型の少なくとも１つは、コンピュータ・プログラムである。
階層構造を記憶するのに用いられるデータベースは、種々の形式のものでよい。しかし、好ましい実施の形態では、データベースは、リレーショナル・データベースである。注意すべきことは、この好ましい実施の形態では、このデータベースは、組織内の資源のための「白紙」データベースとしても与えられる任意のディレクトリ・サービス・データベースとは全く別のものであることである。このデータベースは、ディレクトリ・サービス・データベースと別のものにする方がよいことが分かっている。なぜなら、このデータベースは、ディレクトリ・サービス・データベース内にすでに存在する構造によって縛られないからである。逆に、組織内の資源に関する或る詳細をディレクトリ・サービス・データベースから取得して、コンテンツの分配を管理するためのデータベースで用いることは可能であるが、データベース内の実際の階層構造は、管理する装置と分配するコンテンツだけを考慮して自由に決定される。
【００２３】
第２の形態から見ると、本発明は、本発明の第１の形態に係るシステムで用いられるサーバを制御するコンピュータ・プログラム製品を与える。このコンピュータ・プログラム製品は、データベースに関して装置のプロフィールを生成し、またこのプロフィールを装置管理者に送信する。
第３の形態から見ると、本発明は、本発明の第１の形態に係るシステムで管理ツールとして動作するコンピュータを制御するコンピュータ・プログラム製品を与える。このコンピュータ・プログラム製品は、データベース上に記憶された階層構造をユーザが管理するためのインターフェースを与える。
【００２４】
第４の形態から見ると、本発明は、本発明の第１の形態に係るシステムに用いられる装置管理者を装置内に備えるコンピュータ・プログラム製品を与える。このコンピュータ・プログラム製品は、サーバからプロフィールを受け、プロフィール内のコンテンツ識別子を用いてプロフィールが示すコンテンツを装置に与える。このコンピュータ・プログラム製品は、サーバから後続のプロフィールを受けると、後続のプロフィール内のコンテンツ識別子と、以前のプロフィールに従って装置に与えたコンテンツを識別する記録とを比較して、まだ装置に与えられていない新しいコンテンツと今後は装置に与えられない古いコンテンツとを決定し、関係するコンテンツ識別子を用いて新しいコンテンツを装置に与え、古いコンテンツを削除する。
【００２５】
第５の形態から見ると、本発明は、本発明の第１の形態に係るシステムで用いられるパッケージャとして動作するコンピュータを制御するコンピュータ・プログラム製品を与える。パッケージャは、装置が受けたときにコンテンツを処理するのに必要なコンテンツ情報に関連する。
【００２６】
第６の形態から見ると、本発明は、装置へのコンテンツの分配を管理する方法を与える。この方法は、多数の要素を階層構造としてデータベース内に記憶し、コンテンツ識別子を階層構造内の要素に関連付けることが可能であり、要素の１つは、装置を表し、データベース内の階層構造を参照して装置のプロフィールを生成し、プロフィールは、装置に与えるコンテンツを示す多数のコンテンツ識別子を含み、プロフィールは、装置を表す要素に関連する任意のコンテンツ識別子とその要素が依存する階層構造内の要素に関連する任意のコンテンツ識別子を含み、プロフィール内のコンテンツ識別子を参照してプロフィールが示すコンテンツを装置に与え、プロフィールに従って装置に与えたコンテンツを識別する記録を保持し、後続のプロフィールを受けると後続のプロフィール内のコンテンツ識別子と前記記録とを比較して、まだ装置に与えられていない新しいコンテンツと今後は装置に与えられない古いコンテンツとを決定し、関係するコンテンツ識別子を用いて新しいコンテンツを装置に与え、古いコンテンツを削除するステップを含む。
【図面の簡単な説明】
【００２７】
本発明について、単なる例であるが、添付の図面に示す好ましい実施の形態を用いて詳細に説明する。
【図１Ａ】本発明の実施の形態の概要を示すブロック図である。
【図１Ｂ】本発明の実施の形態の概要を示すブロック図である。
【図１Ｃ】本発明の実施の形態の概要を示すブロック図である。
【図２】本発明の好ましい実施の形態に係るシステムの構造の概要を与える別のブロック図である。
【図３】本発明の好ましい実施の形態に係るサーバへの接続の詳細を示す。
【図４】データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。
【図５】データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。
【図６】データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。
【図７】データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。
【図８】データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。
【図９】データベース内に記憶される階層構造の簡単な例を示す。
【図１０】データベース内に記憶される階層構造の簡単な例を示す。
【図１１】プロフィールを要求し、受けたときにプロフィールに作用するネットワーク装置内で実行するステップを示す流れ図である。
【図１２】クライアントにプロフィールを与えるためにサーバ内で実行するステップを示す流れ図である。
【図１３Ａ】サーバから受けたプロフィールに作用するためにネットワーク装置内で実行する手続きの詳細を示す流れ図である。
【図１３Ｂ】サーバから受けたプロフィールに作用するためにネットワーク装置内で実行する手続きの詳細を示す流れ図である。
【図１３Ｃ】サーバから受けたプロフィールに作用するためにネットワーク装置内で実行する手続きの詳細を示す流れ図である。
【図１３Ｄ】サーバから受けたプロフィールに作用するためにネットワーク装置内で実行する手続きの詳細を示す流れ図である。
【図１４】本発明の好ましい実施の形態に従ってサーバがプロフィールを準備する方法の詳細を示す流れ図である。
【図１５】好ましい実施の形態においてパッケージャを用いて分配のためにコンテンツをパッケージする方法の概要を示す。
【００２８】
（好ましい実施の形態の説明）
従来は、比較的一定の数の固定されたコンピュータ装置を複雑なデスクトップ環境を形成することが可能な局所化された支援構造で管理している。しかし、今後は、それがコンピュータ装置であれ、または場所が固定または固定されない移動電話やパーソナル・デジタル支援装置（ＰＤＡ）や電子オーガナイザその他の電子装置であれ、多くの装置を扱う可能性がある。このため、より柔軟な別の管理システムが必要である。
本発明の好ましい実施の形態は、ネットワーク内のネットワーク装置を分配管理するための、かかる別の管理システムを提供することを目的とする。「ネットワーク装置」という用語は、本発明の好ましい実施の形態のシステムがそのコンテンツを管理する装置を指すが、かかる装置が全て常時ネットワークに接続されているわけではない。本発明の好ましい実施の形態の目的では、任意のかかる「ネットワーク装置」は、直接または他の装置を介して、少なくとも随時にネットワークに接続することができれば十分である。例えば、或る装置は、随時にネットワークに接続することが可能な他の装置に管理を任せてよい。例えば、或るＰＤＡ型の装置は本来ネットワーク接続が可能でなく、新しいプログラムをインストールするなどの作業をＰＣに依存する。ＰＣは、随時にネットワークに接続することが可能なので、かかるＰＤＡも「ネットワーク装置」であり、本発明の好ましい実施の形態に係るシステムにより管理することができる。
【００２９】
好ましい実施の形態では、各ネットワーク装置は、クライアント・プログラム（ここでは装置管理者とも呼ぶ）を備え、これはサーバと通信する。サーバは、各装置上に存在することが望ましいコンテンツの詳細（例えば、プログラムやデータ）を保持する。好ましい実施の形態では、クライアント・プログラムは、サーバに対してネットワーク装置を識別し、サーバは、その装置上に存在することが望ましいコンテンツのプロフィールを送る。クライアント・プログラムは、好ましくはプロフィール内で識別されるコンテンツ、現在、装置上に存在しないが所定の方法で検索されるプロフィール内で識別される全てのコンテンツを含むようにネットワーク装置を設計する。
【００３０】
本発明の好ましい実施の形態では、クライアント・プログラムとサーバは、Ｊａｖａ（登録商標）プラットホーム上で動作する。ケーブル・テレビジョン受信機や移動電話などの種々のプラットホームにＪａｖａ（登録商標）が遍在するので、少なくとも随時にネットワークに接続して制御することが可能であれば、ほとんど全ての種類の遠隔の装置を中央で制御することができる。
【００３１】
本発明の好ましい実施の形態では、各ネットワーク装置上のクライアント・プログラムは、装置の構成を自動的に更新する。装置の種類に従って、クライアント・プログラムは、所定の間隔、すなわち、
１．  装置に電源を入れた直後に、
２．  ネットワーク接続を確立した直後に、
３．  離散的な時間間隔の後に、
のどれかで実行する。
第１のシナリオは、ネットワークが利用可能なときだけ動作し帯域幅が制限された装置（例えば、ＧＳＭ受信機）用に設計されている。第２のシナリオは、ネットワークが利用可能でなくても完全に動作するが、随時にネットワークに接続する装置（例えば、携帯用コンピュータ）に用いられる。第３のシナリオは、ケーブル・テレビジョン受信機やネットワーク・コンピュータなどの高い帯域幅の常時、接続されている装置用に設計される。
【００３２】
クライアント・プログラムは、装置の識別をサーバに送り、サーバは、ネットワーク当局がその装置上に存在することを望むコンテンツのプロフィール（例えば、プログラムやデータ）を帰す。サーバは、コンテンツではなく、各コンテンツを検索することが可能な位置を送信する。クライアントは、取り出した各コンテンツを記録するので、新しいコンテンツまたは更新されたコンテンツを選択的に取り出すことや、今後は必要ないコンテンツを削除して装置を管理するという装置ユーザの責任を全て放棄することが可能である。
【００３３】
ネットワーク当局は、装置のプロフィールを定義する責任を持つエンティティ（entity）である。この仕事は、階層の定義／構造を用いることにより（すなわち、各装置を部門と呼ぶ論理グループのメンバとして表すことにより）簡単になる。各部門は、また他の部門のメンバでもあり、線形トリーの方式で最後に共通の祖先に到達する。プロフィールは、部門毎に定義される。このように、或る装置のプロフィールは、階層の定義の中で明示的に指定された全てのコンテンツと、その部門のコンテンツと、親部門のコンテンツとにして最後に根部門に至るまでのコンテンツを加えたものから成る。例えば、図１０では、装置名を括弧で囲ってあり、アデリ（Adelie）のプロフィールは、自分自身の構成だけでなくペンギン、鳥、全部の構成により定義される。したがって、アデリがカモメ部門の一部になった場合は、鳥と全部の構成は、継承するが、ペンギンではなくカモメの構成を含む。
【００３４】
本発明のシステムの例示の実施の形態の略図を図１Ａから図１Ｃに示す。
図１Ａは、ＬＡＮ５０を介して多数のネットワーク装置１０とサーバ３０とをリンクした、本発明の１つの可能な実施の形態を示す。この実施の形態では、ネットワーク装置は、ＰＣの場合が多いが、ＰＣではなく任意の他の適当な電子装置（例えば、ルータ、インテリジェント・ハブなど）でもよい。また、ネットワーク装置は、ＰＣを介してネットワークに接続するパーソナル・オーガナイザ、ＰＤＡなどでもよい。
【００３５】
サーバ３０は、装置と装置に関連するコンテンツとを識別する階層の定義を含むデータベース４０に接続する。システム管理者は、システム管理装置２０を介してサーバ３０に接続することにより階層の定義を管理することができる。システム管理装置の位置は、変えてよいが、図１Ａの例では、システム管理装置は、ＬＡＮ５０を介してサーバに接続する。
【００３６】
好ましい実施の形態では、各ネットワーク装置１０は、これにインストールされたクライアント・プログラムを有し、サーバ３０と通信して、階層の定義を考慮してサーバが得た各ネットワーク装置のプロフィールを取得する。図１Ａのシステムは、かかるネットワーク装置の分配管理を行う。なぜなら、階層の定義は、集中的に保持し、クライアント・プログラムは、関係するネットワーク装置の間に分配するからである。また階層の定義は、サーバが直接、管理してもよいし、システム管理装置２０などの分配点で管理してもよい。
【００３７】
図１Ｂは、本発明を用いることが可能な別の実施の形態を示す。この実施の形態では、ネットワーク装置は、移動体電気通信ネットワークを介して接続する。ネットワーク装置１０は、例えば移動電話や移動電気通信機能を持つラップトップ・コンピュータなどと移動体ネットワークにより通信する電子装置である。この実施の形態では、サーバ３０は、ネットワーク装置１０と通信するのに用いられる多数の送信機／受信機７０に電気通信インフラストラクチャ６０を介して接続する。このシステムは、基本的に図１Ａを参照して説明したシステムと同様に動作し、各ネットワーク装置１０は、クライアント・プログラムを備え、サーバ３０と通信することができる。注意すべきことは、データベース４０内の階層の定義を管理するためにシステム管理者が用いるシステム管理装置は、ネットワーク内のどこにあってもよく、したがってサーバ３０上にあってもよいし、または電気通信ネットワーク内の任意の位置のネットワーク装置に設けてもよい。
【００３８】
本発明の好ましい実施の形態では、異なる機構を介してサーバ３０に接続する多くの異なる型の装置を管理することができる。その概要を図１Ｃの実施の形態で示す。或るネットワーク装置１００（例えば、デスクトップ装置）は、イーサネット（登録商標）接続１３０を介してサーバに直接接続する。また他のネットワーク装置１１０（例えば、ポケット・オーガナイザや移動電話など）は、送信機／受信機７０により無線通信を介してサーバに接続する。更に、他のネットワーク装置１２０（例えば、ラップトップ・コンピュータやマルチメディアＰＣなど）は、インターネット１４０を介してサーバに接続してよい。
【００３９】
前に述べたように、好ましい実施の形態のシステムは、少なくとも随時にネットワークに接続する装置に利用することができる。好ましい実施の形態では、このシステムは、ジャバおよびインターネット技術を用いて種々の装置を遠隔管理することができる。図２は、好ましい実施の形態の構造の概要を示す。サーバ３０は、ジャバの遠隔法実施(Remote Method Invocation)（ＲＭＩ）とジニ(Jini)接続性を用いて、構成サービスとしてクライアント・プログラム２００に利用可能である。ＲＭＩは、２つのプログラムがネットワーク上で透明に通信することを可能にするジャバ機構である。ジニは、ネットワークによるサービスを利用可能にするソフトウエア・インフラストラクチャである。その詳細については、ウエブサイトhttp://www.sun.com/jini/ が参照される。
【００４０】
サーバは、ＨＴＴＰやＦＴＰなどの標準インターネット・プロトコルを用いてコンテンツを分配する。図２に示すように、ネットワーク装置上に常駐するクライアント・プログラム２００は、ＲＭＩ２２０またはジニ２３０機構を介してサーバ３０に接続し、サーバに要求してプロフィールを受ける。システム管理者の装置上の管理ツール２１０（好ましくはコンピュータ・プログラム）は、例えばＲＭＩ機構２２０を用いて、データベース４０上に保持されている階層構造内の要素（例えば、部門や装置）に新しいコンテンツを割り当ててよい。プロフィールを受けたとき、クライアント・プログラム２００は、ＨＴＴＰやＦＴＰなどの適当な標準インターネット・プロトコルを用いて、インターネット２４０を介してサーバ２５０，２６０からコンテンツを収集してよい。
注意すべきことは、好ましい実施の形態のシステムは、高度に分散されたアプリケーションであることである。データベース４０、サーバ３０、管理ツール２１０、データベース４０内で用いる情報を得るために用いられる任意のディレクトリ・サーバは、全て別の機械の上に置くことができる。
【００４１】
図３は、本発明の好ましい実施の形態に従ってサーバを接続する方法の詳細を示す。サーバ３０は、既存のサーバと統合するよう設計する。したがって、データベース・バックエンド４０を用いて、サーバがネットワーク装置のプロフィールを生成するのに用いる階層構造を記憶することができる。ジャバ・データベース接続性（ＪＤＢＣ）により、第三者のデータベースをサーバ３０に接続することができる。ＪＤＢＣに関する詳細な情報は、ウェブ・アドレス http://java.sun.com/products/jdbc/ から得られる。
【００４２】
更に、ＬＤＡＰ（インターネット標準ディレクトリ・サーバ）やＮＤＳなどの標準ディレクトリ・サーバをサーバ３０に接続することにより、サーバ３０は、組織内の特定のユーザに関する情報を取得することができる。図３に示すように、ジャバ・ネーミング・アンド・ディレクトリ・インターフェース（ＪＮＤＩ）により種々の型のディレクトリ・サーバをサーバ３０に接続することができる。ＪＮＤＩの詳細な情報については http://java.sun.com/products/jndi/ が参照される。データベース４０内の階層構造をサーバ３０が最初から生成することが可能であることは明らかであるが、本発明の好ましい実施の形態のシステムに従って、その装置を管理することを希望する組織は、ユーザに関する関連する詳細を与えるディレクトリ・サーバなどをすでに持っている可能性が高い。したがって、データベース４０内に階層構造を作成する仕事は、組織内にすでに設けられている任意の標準ディレクトリ・サーバからユーザについての関係する詳細などをサーバ３０が得られるようにすれば、非常に簡単になる。
【００４３】
既存のディレクトリ・サーバ・データベースのむしろ固定された構造内に追加の情報を入れようとするのではなく、装置へのコンテンツの分配を管理するのに用いる階層構造を全く別のデータベース４０に記憶することが非常に望ましいことが分かった。なぜなら、これにより管理される装置とこれらの装置に分配されるコンテンツを考慮して、適当な部門と部門内の装置の位置とを非常に柔軟に生成することができるからである。
好ましい実施の形態では、標準インターネット・サーバ２５０と２６０を用いて、装置に分配される実際のコンテンツを記憶する。これにより、サーバ３０は、例えば標準インターネット接続を介してサーバ２５０，２６０と通信して、コンテンツが記憶されている場所をチェックし、その記憶されているコンテンツの書式をチェックすることができる。
【００４４】
図３に示すように、ネットワーク装置がサービスを利用するには、標準ＲＭＩレジストリとオプションのジニ（djinn）を用いる。ＲＭＩレジストリは、他の遠隔プログラムを探す機構を与える遠隔プログラムなので、ＲＭＩ機構を用いることによりクライアント・プログラムは、サーバ３０と通信することができる。ジニ（djinn）は、ジニ・ソフトウエア・インフラストラクチャにより結合される装置、資源、ユーザのグループに与えられる名前である。
【００４５】
次に、特定のネットワーク装置に関連するクライアント・プログラム２００に移ると、このクライアント・プログラムは、その構成に従って２つの方法のどちらかを用いてサーバに接続することができる。埋め込みクライアント・コードを持つネットワーク装置では、ジャバのＲＭＩ機構を用いることができるが、別の方法として、オプションのジニ・サービスを用いる動的なダウンロード可能なクライアント・ソフトウエアがある。ジニ方式を用いる場合、利用可能なサービスを探すサービス・ブラウザと呼ぶものを装置は、すでに持っている。この場合は、クライアント・プログラムを局所的に装置にインストールするのではなく、装置上に存在する適当な構成を用いることによりプロセスが自動化される。
【００４６】
各ネットワーク装置上に小さなクライアント・レジストリがあり、これはサーバ３０から受けたプロフィールに従って得られた、装置上に存在する全てのコンテンツの記録を保持する。サーバに接触すると、装置上に何を与えるかを記述するプロフィールを検索する。後で詳細に説明するが、プロフィールが示す新しい更新されたコンテンツを検索し、機能停止したコンテンツを削除する。このプロセス中に任意のインストーラとデインストーラを好ましくはサーバ３０から自動的にダウンロードして呼び出す。注意すべきことは、これは全てネットワーク装置のユーザからの介入なしに行われることである。
【００４７】
好ましい実施の形態では、管理者などを支援する簡単なグラフィカル・インターフェースを与える管理ツール・アプリケーションを設け、これによりシステム管理者は、部門と装置の階層構造をデータベース４０内に構築して保持することができる。次に、部門および／または装置を表す特定の要素上にコンテンツ識別子をドラッグ・アンド・ドロップしてコンテンツと階層構造の要素とを関連づける。図３を参照して前に示した標準ディレクトリ・サーバと統合することにより、システム管理者は、ネットワーク上の特定の装置の所有者が誰かを決定することができる。したがって、或る人の装置に新しい役割を持たせるには、その人を表すアイコンを新しい部門にドラッグするだけでよい。これらの概念を図４から図８を参照して更に説明する。これらの図は、管理ツールが与えるグラフィカル・インターフェースの例であって、これによりシステム管理者は、サーバ３０がデータベース４０上に保持する階層構造を管理することができる。
【００４８】
図４において、左側の窓は、階層の定義の概要を示し、右側の窓は、情報表示領域である。スクリーンの下部の窓は、特定の装置または部門を表す階層構造の要素に割り当てられるコンテンツ識別子のリストを含む（この例では、コンテンツはコンピュータ・プログラムである）。図４から分かるように、各コンテンツ識別子は、コンテンツの名前と、対応するコンテンツを検索するための位置を識別する位置標識（この場合はＵＲＬアドレス）とを含む。オプションとして、コンテンツ識別子は、バージョン番号、コンテンツの型、最後に変更した日付などを含んでよい。
【００４９】
図５は、システム管理者が「エンジニア(Engineer)」部門を選択したときに表示される情報を示す。情報表示領域に示すように、これはプログラム「黄(Yellow)」、「藍(Indigo)」、「橙(Orange)」が部門「エンジニア」に関連することと、オペレーティング・システム「緑(Green)」とアプリケーション「赤(Red)」が部門「全部(All)」から継承されていることを示す。
図６は、システム管理者が個人を選択した場合に与えられる情報を示す。この場合の個人は、Nigel Brookes で、関連する２台の装置、すなわち「Hugh」と「Cuthbert」を有する。最後に、図７は、装置「Hugh」に関連するプログラムを示す。図から分かるように、装置「Hugh」は、直接、関連するアプリケーション「青緑(Violet)」を有するが、これも部門「エンジニア」と「全部」に関連するプログラムを継承する。
【００５０】
図８は、別の例示のデータベース構造に与えられるグラフィカル・インターフェースを示す。この図では、未来の電話(Future Phone)と呼ぶ装置は、個人 Nigel Brookes に属し、彼はエンジニア部門内に割り当てられており、エンジニア部門自身は、概念技術(Concept Technologies)部門の１部門である。更に、概念技術部門は、Hugh Symons 部門の中に含まれ、Hugh Symons 部門は、全部部門に含まれる。図８から分かるように、装置「未来の電話」は、関連する２つのアプリケーションを有し、部門「全部」から１つのアプリケーションを継承する。この場合は、部門 Hugh Symons、概念技術、エンジニアは、直接、関連するコンテンツを全く含まない。そうでなければ、装置「未来の電話」は、これらの部門からのコンテンツも継承しているはずだからである。
【００５１】
図８を参照して分かることは、この場合のコンテンツ識別子は、省略時のリース期間を識別するオプションの情報も含む。この情報により、ネットワーク装置上のクライアント・プログラムは、リース期間が過ぎるとコンテンツを自動的に削除することができる。したがって図８から分かるように、装置「未来の電話」に割り当てられた２つのアプリケーションは、永久リースであるが、アプリケーションJarBall Madness は、１９９９年８月２６日に期限が切れる３０日リースである。クライアント・プログラムは、この情報を用いて、その日に JarBall Madness を未来の電話から自動的に削除する。
【００５２】
完全のために、図９は、データベース４０内に保持される階層構造の一部の簡単な例を示す。前に述べたように、装置は、部門と呼ぶ論理的な階層グループに編成されている。各部門は、その親部門のコンテンツを継承する。コンテンツをこれらの部門と個別の装置に割当てれば、特定の装置のプロフィールを生成することができる。
【００５３】
図９から分かるように、Sue Bar は、装置「私のセル電話」を所有している。彼女は、顧客部門の一部であり、かつ支援および全部部門の一部でもある。したがって彼女の装置は、全部、支援、顧客に、またその特定の装置に割り当てられたコンテンツを有する。全てのＳＭＳ（ショート・メッセージ・サービス）メッセージを自分のｅメール口座に送るサービスを利用したいとSue が決定した場合は、彼女は、関係のシステム管理者にそのサービスを要求する。システム管理者は、このサービスを一般の利用に供せず、彼女のセル電話だけにこれを割り当てると決定してよい。次回にサーバからプロフィールを受けたとき、この装置は、関係するアプリケーションを自動的に受ける。
システム管理者は、階層全体の責任を持つが、部分部門の制御を他の管理者に委任することができる。したがって図９では、ネットワーク管理者は、全部部門の責任を持つが、顧客支援部門と技術支援部門の管理を１つ以上の別の管理者に委任してよい。
【００５４】
図１１と図１２の流れ図は、本発明の１つの実施の形態に従って装置上のクライアント・プログラムを実行するときに行うプロセスを簡単に示す。図１１は、クライアント・プログラムが実行する処理ステップを示し、図１２は、サーバが実行する処理ステップを示す。必ずしも全ての実施の形態が図１１と図１２に示す一連のステップをそのまま実行する必要はないことは明らかであって、図１１と図１２は、特定の実施の形態を示すものである。例えば、その装置が現在データベース内に存在しないとサーバが判定した場合、その装置の新しいエントリを「新しい装置」部門内に作成するのではなく、その装置がネットワークにアクセスするのを拒否するようにしてよい。
【００５５】
図１２の実施の形態で「新しい装置」部門を設ける場合は、一般に部門「全部」の子として設けることが理解される。任意のコンテンツが部門「全部」に関連する場合は、この新しい装置は、そのコンテンツを継承する。しかし、別の方法として、部門「全部」にも「新しい装置」にも関連するコンテンツを持たせず、初めてサーバに接触したときに新しい装置に何もコンテンツを与えないようにしてもよい。
どちらの方式をとるかに関わらず、好ましい実施の形態では、ネットワーク管理者は、「新しい装置」部門内に置かれた全ての装置を階層内の適当な部門に再び割当てようとする。例えば、図４から図７を参照して、新しい装置が実際に「支援」部門内にあった場合は、支援管理者は、その装置を「新しい装置」部門から「支援」部門に移すので、その後のアクセスでは、その新しい装置は、「支援」部門に適したコンテンツを受ける。
【００５６】
図１３と図１４は、装置上のクライアント・プログラムを実行したとき行うプロセスの詳細を示す流れ図である。図１３Ａから図１３Ｄは、図１１に示す実施の形態の詳細を示し、図１４は、図１２に示す別の実施の形態を示すものと考えてよい。ただし、図１４に示すプロセスは、未知の装置を新しい装置部門に割り当てるのではなく単にプロセスを終了するだけであり、したがって、このプロセスは、システム管理者が階層構造内の適当な位置に装置を割り当てたときにだけ用いる。
図１３Ａにおいて、クライアント・プログラムの実行は、ステップ５００で開始し、ステップ５１０に進んで、利用可能なネットワークが存在するかどうか判定する。存在しない場合は、プロセスは、ステップ５２０で終了し、クライアント・プログラムが次回に実行するときに再び開始する。前に説明したように、クライアント・プログラムは、好ましくは所定の間隔で実行し、この間隔は、装置の型に従って決定される。
【００５７】
ネットワークが利用可能な場合は、プロセスは、ステップ５３０に進み、装置は、サーバ３０からプロフィールをダウンロードする。ステップ５４０でダウンロードが成功かどうか（すなわち、プロフィールをサーバから受けたかどうか）判定し、成功でない場合は、プロセスは、ステップ５３０に戻る。プロフィールをクライアント・プログラムに送るのを妨げる一時的な問題がサーバかネットワークに存在する場合は、クライアント・プログラムはここで停止することが理解される。したがって、或る実施の形態では、ここに時間切れ機構を設けて、プロフィールのダウンロードが所定の時間内に成功しない場合は、プロセスをステップ５２０に分岐させるのがよい。しかし、簡単のために、図１３Ａには、このプロセスを示していない。
【００５８】
プロフィールのダウンロードが成功の場合は、プロセスは、ステップ５５０に進み、新しいプロフィールと以前のプロフィールに従って装置に取り込んだコンテンツを識別するためにネットワーク装置上に保持されているコンテンツ記録５６０とを比較する。しかし、図１３Ａから図１３Ｄの残りを説明する前に、図１４を参照してサーバ３０がプロフィールを生成する方法を以下に説明する。プロフィールの生成は、好ましくはサーバ３０上にインストールしたソフトウエアで行う。プロセスは、ステップ７００で開始し、ステップ７０５でサーバは、装置の接続を待つ。装置が接続すると、ステップ７１０で装置が既知であるかどうか（すなわち、階層構造内で表されているかどうか）判定し、表されていない場合は、ステップ７２０で接続を閉じる。次にプロセスは、ステップ７０５に戻り、次の装置の接続を待つ。
【００５９】
しかし、装置が既知の場合は、プロセスは、ステップ７１５に進み、データベース４０上に保持されている階層構造内の対応する要素から、その装置のコンテンツ識別子を検索する。次にステップ７２５で、装置が階層構造内のどの部門に含まれているか判定し、ステップ７１５で検索したコンテンツ識別子に、その部門に関連するコンテンツ識別子も追加する。
【００６０】
次にステップ７３５で、その部門が階層構造内に親を持っているかどうか判定する。親を持っている場合は、ステップ７３０でその親部門を検索し、次にステップ７２５でデータベースからすでに検索したコンテンツ識別子に、その部門内のコンテンツ識別子を追加する。このプロセスを続けてステップ７３５で現在の部門が親を持たない（すなわち、前の例を参照すると、これは現在の部門が全部部門であることを意味する）と判定すると、この時点で全ての該当するコンテンツ識別子を探し終えたと判断する。次に、ステップ７４０で要求されたプロフィールとして、これらのコンテンツ識別子を装置に送る。次にプロセスは、ステップ７０５に戻り、次の装置の接続を待つ。
【００６１】
図１３Ａに戻って、ステップ５５０の結果、新しいプロフィールと前に記憶したコンテンツ記録５６０とを比較することにより、検索すべき新しいコンテンツ、削除すべき古いコンテンツまたは更新すべきコンテンツが決定されている。これに従ってプロセスは、図１３Ｂのステップ５７０に進み、削除すべきコンテンツが存在するかどうか判定する。存在する場合は、ステップ５７５でアンインストーラを実行して、そのコンテンツを削除するのが適当かどうか判定する。
図１３Ｂの説明を続ける前に、インストーラ／アンインストーラが必要かどうか判定する機構を詳細に説明する。前に述べたように、コンテンツをネットワーク装置に取り込むとき、そのコンテンツを受けたときに処理する方法を識別する関係情報も含むことが好ましい。本発明の好ましい実施の形態では、好ましい実施の形態のシステムが与える１つ以上の好ましくは、コンピュータ・プログラムで実現されるパッケージャを介して、この追加の情報をコンテンツに関連付ける。このプロセスの概要を図１５に示す。
【００６２】
コンテンツ送付機構は、柔軟性が大きく、開発者は、クライアント側のソフトウエアを全く変更せずに、任意の必要なインストーラおよびアンインストーラと共に新しい型のコンテンツを導入することができる。例えば、特定の組織内の全てのセールス部隊の最新の仕事の結果は、自分の装置に与えられ、その装置上のデータベース・アプリケーションに自動的にインストールされる。
この柔軟性は、標準ジャバ・アーカイブ（ＪＡＲファイル）内でコンテンツをまとめることにより達成される。好ましい実施の形態では、標準ジャバ・アーカイブは、よく知られたファイル「META-INF/manifest.mf」に関連し、図１５に示すようにパッケージャを通して、これらのジャバ・アーカイブを送る。ＪＡＲファイルは、ジャバ開発キットと共に供給されるジャー・ツール(jar tool)を用いて単一のファイルに圧縮されたファイルである。
【００６３】
図１５に示すように、コンテンツ８００は、パッケージャ８１０のグループ内の該当するパッケージャに送られる。例えば、或るパッケージャ８３０は、アプリケーションをパッケージするものであり、別のパッケージャ８４０は、文書をパッケージするものであり、更に別のパッケージャ８５０は、他の型のコンテンツをパッケージするものである。関係するパッケージャは、顕在的なファイルのコンテンツを変更して、少なくともコンテンツの名前、型、バージョンを含める。またパッケージャは、必要な任意の他の変数をこのファイル内に自由に含めることができる。これにより、本発明の好ましい実施の形態に係るネットワーク装置に分配されるパッケージ８２０が得られる。注意すべきことは、得られたパッケージは、やはりジャバと完全に互換性があることである。
【００６４】
好ましい実施の形態では、パッケージャは、コンテンツの型毎に設けられる。コンテンツの各型は、かかるコンテンツをネットワーク装置上にインストール／アンインストールするインストーラ／アンインストーラをオプションで有する。パッケージャは、型に特有であり、インストーラ／アンインストーラも型に特有なので、パッケージャは、対応するインストーラ／アンインストーラが特定して要求する任意の変数を含むことが可能なことは明らかである。例えば、コンテンツの型がＰＣ用のマイクロソフト・ワードの文書の場合は、パッケージャは、ファイルを読み込むのに必要なマイクロソフト・ワードの必要なバージョン番号をパッケージ内に含める。これによりインストーラは、ワードのそのバージョンを探し、例えば、見つからない場合は、装置のユーザに警告する。
【００６５】
別の例として、コンテンツの型がアプリケーション・プログラムの場合は、パッケージャは、どのファイルが主実行可能ファイルかの識別や、プログラムをデスクトップ上に表すのに用いられるアイコンの識別などをパッケージ内に含める。関係するインストーラは、この情報を用いて、アプリケーション・プログラムを正しくインストールすることができる。
以上から分かるように、インストーラ／アンインストーラが必要であるか必要でないかは、コンテンツの型に従って決まる。検索されたパッケージは、プロフィール内のコンテンツ識別子と同様に、とりわけコンテンツの型を指定する。これにより、装置管理者は、インストーラ／アンインストーラがそのコンテンツの型に関連するかどうかをチェックすることができる。例えば、コンテンツがアプリケーション・プログラムの場合に、これは適当である。
【００６６】
図１３Ｂに戻り、ステップ５７５でアンインストーラを実行すると決定した場合は、プロセスは、ステップ５８５に進み、該当するアンインストーラをダウンロードして実行し、関係するコンテンツを削除する。好ましい実施の形態では、該当するアンインストーラをダウンロードするには、クライアント・プログラムは、図３に示したＲＭＩレジストリ３１０に対して、受けたコンテンツの型用のインストーラ／アンインストーラが存在するかどうか問い合わせる。かかるインストーラ／アンインストーラが存在する場合は、ＲＭＩレジストリは、これをクライアント・プログラムにダウンロードし、これを実行して対象とする特定のコンテンツをアンインストールする。
しかし、全てのコンテンツの型がアンインストーラを必要とするわけではない。例えば、そのコンテンツは、単に削除すればよいデータ・ファイルかも知れない。この場合は、ステップ５７５でアンインストーラを実行する必要がないと判定し、プロセスは、ステップ５８０に進んで、そのコンテンツを削除する。次にプロセスは、ステップ５７０に戻り、削除する必要がある別のコンテンツが存在するかどうか判定する。存在する場合は、上に説明したプロセスを繰り返す。
【００６７】
存在しない場合は、プロセスは、ステップ５９０に進み、更新すべきコンテンツが存在するかどうか判定する。存在する場合は、プロセスは、ステップ５９５に進み、更新されたコンテンツをプロフィール内の対応するコンテンツ識別子が示す位置からダウンロードする。前に述べたように、コンテンツは、好ましくはインターネット・サーバ上に記憶されており、この場合は、コンテンツ識別子は、コンテンツをダウンロードする相手の該当するインターネット・アドレスを識別する。コンテンツをダウンロードし終わると、図１３Ｃのステップ６００でインストーラ／アンインストーラを実行する必要があるかどうか判定する。前に述べたように、この決定は、更新すべきコンテンツの型に基づいて行う。
【００６８】
例えばコンテンツがデータ・ファイルの場合は、インストーラ／アンインストーラを実行しない方がよい。したがって、プロセスは、ステップ６１５に進み、古くなったコンテンツを削除し、更新されたコンテンツを保存する。しかし、インストーラ／アンインストーラが必要であると判定した場合は、プロセスは、ステップ６０５に進み、ステップ５８５を参照して前に説明したプロセスを用いて、必要なインストーラ／アンインストーラをダウンロードする。次にアンインストーラを実行して古くなったコンテンツを削除し、その後、プロセスは、ステップ６１０に進み、必要なインストーラを実行して更新されたコンテンツをインストールする。次にプロセスは、ステップ５９０に戻り、更新する必要がある別のコンテンツが存在するかどうか判定する。存在する場合は、上に説明したプロセスを繰り返し、存在しない場合は、プロセスは、図１３Ｄに示すステップ６２０に進む。
【００６９】
ステップ６２０で、追加すべき新しいコンテンツが存在するかどうか判定する。存在する場合は、プロセスは、ステップ６２５に進み、プロフィール内の関係するコンテンツ識別子が与える情報を用いて新しいコンテンツをダウンロードする。次にステップ６３０でインストーラを実行する必要があるかどうか判定し、必要がある場合は、プロセスは、ステップ６３５に進み、該当するインストーラをダウンロードして実行し、そのコンテンツをインストールする。ステップ６３０でインストーラが必要ないと判定した場合は、プロセスは、ステップ６４０に直接進み、新しいコンテンツを保存する。新しいコンテンツを保存する場所の問題に関して、インストーラを用いる場合は、その型のコンテンツを記憶する省略時位置があるかどうか判定してよい。例えば、コンテンツがマイクロソフト・ワードのファイルの場合は、インストーラは、装置の構成設定をチェックしてマイクロソフト・ワードのファイル用の省略時位置が指定されているかどうかを調べ、指定されている場合は、その位置を用いてコンテンツを記憶する。かかる省略時位置が存在しない場合は、またはインストーラを用いない場合は、装置管理者はコンテンツを記憶する省略時位置を指定してよい。
【００７０】
新しいコンテンツを装置に記憶し終わると、プロセスは、ステップ６２０に戻り、追加すべき別のコンテンツが存在するかどうか判定する。存在する場合は、上に述べたプロセスを繰り返すが、追加すべき別のコンテンツが存在しない場合は、プロセスは、ステップ６４５に進み、現在のプロフィールをコンテンツ記録５６０として記憶する。好ましい実施の形態では、この段階で装置は、現在のプロフィールに示された全てのコンテンツを含むはずである。しかし何らかの理由で装置がプロフィル内のコンテンツの或る特定の項目を取り込むことができなかった場合（例えば、対応するサーバがそのときに動作していなかった場合）は、単に現在のプロフィール自身を記憶するのではなく、コンテンツ記録５６０を更新し、プロフィルに従って装置に取り込まれた実際のコンテンツを反映するのが好ましい。コンテンツ記録を更新し終わると、プロセスは、ステップ６５５に進み、プロセスは、終了する。
【００７１】
上の説明から理解されるように、本発明の好ましい実施の形態のシステムは、異なる異質の分散された装置を管理するプラットホームを与える。かかる装置は、コンピュータやデジタル移動電話やセットトップ・ボックスを含むが、これらに限られるわけではない。好ましい実施の形態のシステムは、ユーザが介入することなく、アプリケーションを含むほとんど全ての種類のコンテンツを自動的に分配し、インストールし、削除するための特有の機構を与える。システム管理者は、管理ツールを用いて各装置または装置のグループのコンテンツのプログラムを構築する。クライアント側の少数のコードは、サーバが生成したプロフィールと、以前のプロフィールに従って装置上に記憶されたコンテンツの記録とを所定の間隔で比較する。新しいまたは更新されたコンテンツを全て自動的に取り込み、インストールし、全ての機能停止したコンテンツを削除する。好ましい実施の形態では、サーバと管理ツールとクライアント・プログラムは、全てジャバを用いる。
【００７２】
上記のシステムの多様性を示すため、次の例示のシナリオを示す。
第１に、会社のネットワークのメンバが新しい装置を導入する場合を考える。本発明の好ましい実施の形態では、同期をとる間に装置は、所有者の識別を問い合わせる。サーバは、ディレクトリ・サーバ内にユーザが存在することを確かめ、そのユーザが所有するものとして装置を自動的にインストールする。階層構造内のその位置に基づいて装置にプロフィールを割り当てて、その該当するコンテンツを自動的に受ける。
【００７３】
第２の例として、組織単位のメンバが機能を変更した場合を考える。本発明の好ましい実施の形態では、階層構造内のユーザのアイコンをその新しい機能を表す部門までドラッグ・アンド・ドロップする。これにより一組のコンテンツを自動的に更新し、ユーザの装置が次回にプロフィールを受けるときに、この変更を反映する。
別の例として、或るチームが移動電話のプールを操作する場合を考える。通常、ディレクトリ・サーバ内の組織の単位がこれらを所有する。ユーザが装置を要求すると、装置を組織の単位からユーザのアイコン上にドラッグし、そのユーザに適したコンテンツを装置に自動的に与える。
【００７４】
更に別の例として、新しいプログラムを導入する場合を考える。管理者は、前に説明したパッケージャの１つを用いて新しいプログラムをパッケージし、パッケージ化されたコンテンツをウエブ・サーバに移し、サーバ３０にそのコンテンツのネットワーク位置を伝える。これにより対応するコンテンツ識別子を生成して、階層構造内の該当する部門／装置に関連付ける。
最後に、プログラムを更新するシナリオを考える。プログラムが前に説明したパッケージャの１つを用いて適当な方法でパッケージ化されている場合は、改良品として自動的に分配され、図１３Ａから図１３Ｄを参照して前に説明したプロセスに従って改良品はインストールされる。
【００７５】
本発明の特定の実施の形態を説明したが、本発明は、これに限定されるものではなく、本発明の範囲内で多くの変更や追加を行ってよいことは明らかである。例えば、本発明の範囲から逸れることなく、従属クレームの機能と独立クレームの機能とを種々に組み合わせることができる。
【図１Ａ】
0005613295.tif 000002
【図１Ｂ】
0005613295.tif 000003
【図１Ｃ】
0005613295.tif 000004
【図２】
0005613295.tif 000005
【図３】
0005613295.tif 000006
【図４】
0005613295.tif 000007
【図５】
0005613295.tif 000008
【図６】
0005613295.tif 000009
【図７】
0005613295.tif 000010
【図８】
0005613295.tif 000011
【図９】
0005613295.tif 000012
【図１０】
0005613295.tif 000013
【図１１】
0005613295.tif 000014
【図１２】
0005613295.tif 000015
【図１３Ａ】
0005613295.tif 000016
【図１３Ｂ】
0005613295.tif 000017
【図１３Ｃ】
0005613295.tif 000018
【図１３Ｄ】
0005613295.tif 000019
【図１４】
0005613295.tif 000020
【図１５】
0005613295.tif 000021