JP5613295B2 - 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体 - Google Patents

装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体 Download PDF

Info

Publication number
JP5613295B2
JP5613295B2 JP2013126621A JP2013126621A JP5613295B2 JP 5613295 B2 JP5613295 B2 JP 5613295B2 JP 2013126621 A JP2013126621 A JP 2013126621A JP 2013126621 A JP2013126621 A JP 2013126621A JP 5613295 B2 JP5613295 B2 JP 5613295B2
Authority
JP
Japan
Prior art keywords
content
profile
hierarchical structure
server
database
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 - Lifetime
Application number
JP2013126621A
Other languages
English (en)
Other versions
JP2013229042A (ja
Inventor
ジャクソン、ブルース
ブルックス、ナイジェル、ロバート
Original Assignee
クアルコム,インコーポレイテッド
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
Priority claimed from GB9923640A external-priority patent/GB2352539B/en
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2013229042A publication Critical patent/JP2013229042A/ja
Application granted granted Critical
Publication of JP5613295B2 publication Critical patent/JP5613295B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Description

(発明の分野)
本発明は、装置へのコンテンツの分配を管理する装置と方法に関する。
(従来技術の説明)
装置に与えられるコンテンツは、種々の異なる形をとる。例えば、データ・ファイルは、装置に与えて、装置にインストールされた特定のアプリケーションと共に用いる。また特定のアプリケーション・プログラムは、装置に分配してインストールし、例えばワード・プロセッシング・プログラム、スプレッドシート・プログラム、eメール・プログラムなどの新しい機能を行う。
今日まで、装置へのコンテンツの分配を管理する技術の開発の多くは、コンピュータ・ネットワークに接続する固定されたコンピュータ装置の分野が中心であった。かかる環境では、局所的な管理支援構造を設けてネットワークにコンテンツを与え、個々の装置がそのコンテンツにアクセスするのを制御することが可能である。
例えば、US−A−5,692,129は、コンピュータ・ネットワーク内でアプリケーション・プログラムを管理する方法を述べている。或る組織内でコンピュータ・ネットワークを設けると、そのコンピュータ・ネットワーク上にディレクトリ・サービス・データベースを設けて、その組織内の人やその他の資源に関する「白紙(White page)」型のディレクトリを作成するのが普通である。かかるディレクトリ・サービス・データベースは、オブジェクト指向データベースであることが多い。US−A−5,692,129の教示によると、かかるオブジェクト指向データベースは、ネットワーク上で利用可能なソフトウエア・アプリケーションを定義するアプリケーション・オブジェクトを含むことを支援する。またデータベース内の或る型のオブジェクト(例えば、ユーザ・オブジェクト)は、デスクトップ属性を指定することが可能である。この場合は、アプリケーション・オブジェクトをかかるオブジェクトのデスクトップ属性として追加して、対応するアプリケーションは、オブジェクトが表すユーザに利用可能であることを示すことができる。
更に、US−A−5,692,129は、ローンチャ・アプリケーションの使用を指定する。ローンチャ・アプリケーションは、特定のユーザのために、そのユーザのオブジェクトを検索し、ユーザ・オブジェクトのデスクトップ属性で識別されるアプリケーション・オブジェクトが指定する任意のアプリケーションのアイコンをユーザのデスクトップが与えることができる。したがって上記の方法により、ユーザのデスクトップを自動的に更新して、ネットワーク上にインストールされ、ユーザがアクセス可能なアプリケーションを示すことができる。アプリケーション自身は、ネットワーク上の中央に保持され、ユーザは、これにネットワークでアクセスする。
US−A−5,581,764は、装置へのコンテンツの分配を管理する方式を記述している。D1の方式では、コンテンツの階層構造を装置のグループについて開発する。D1では、これをスキーマ(Schema)と呼ぶ。スキーマ内では、1つ以上の動的リンケージを設ける。これは、任意の特定の装置についての「持つべき(should have)」(SH)リストを生成するときに、どのコンテンツをその装置に与えるべきかを判定する。動的リンケージを可能にするには、装置の或る変数の値を決定するために初期質問プロセスが必要である。
この方法は、ネットワークに常時、接続してネットワーク上でアプリケーションを実行することが可能なコンピュータ装置には明らかに有用であるが、ネットワークに断続的に接続するだけで、ネットワークに接続していないときも独立して動作する必要がある(すなわち、自分で使用するために、そのコンテンツを局所で記憶する必要がある)分散された装置に適していないことは明らかである。しかし、携帯用コンピュータ装置、移動電話、パーソナル・デジタル支援装置(PDA)、電子オーガナイザなどが増えるに従って、かかるシナリオは、ますます一般的になりつつある。組織としては組織内の人に、これらの携帯装置を使用させることが明らかに望ましいが、かかる装置へのコンテンツの分配を制御し管理することは、非常に困難である。
(発明の概要)
第1の観点から、本発明は、装置へのコンテンツの分配を管理するシステムを提供する。このシステムは、データベースであって、多数の要素を装置の階層構造として記憶し、コンテンツ識別子を階層構造内の各要素に関連付けることが可能であり、要素の1つは装置を表す、データベースと、データベース内の階層構造を参照して装置のプロフィールを生成し、プロフィールは、装置に与えるコンテンツを示す多数のコンテンツ識別子を含み、プロフィールは、装置を表す要素に関連する任意のコンテンツ識別子とその要素が依存する階層構造内の要素に関連する任意のコンテンツ識別子を含むサーバと、装置に関連し、サーバからプロフィールを受け、プロフィール内のコンテンツ識別子を用いてプロフィールが示すコンテンツを装置に与え、プロフィールに従って装置に与えたコンテンツを識別する記録を保持する装置管理者とを備え、更に装置管理者は、サーバから後続のプロフィールを受けると、後続のプロフィール内のコンテンツ識別子と前記記録とを比較して、まだ装置に与えられていない新しいコンテンツと今後は装置に与えられない古いコンテンツとを決定し、装置管理者は、関係するコンテンツ識別子を用いて新しいコンテンツを装置に与え、古いコンテンツを削除する。
本発明では、多数の要素を階層構造として記憶することが可能なデータベースを設け、要素の少なくとも1つは、コンテンツを分配する相手の装置を表す。次に、特定のコンテンツを識別するコンテンツ識別子を階層構造内の要素に関連付ける。更に、データベース内の階層構造を参照して特定の装置のためのプロフィールを生成することが可能なサーバを設ける。プロフィールは、多数のコンテンツ識別子を含み、各コンテンツ識別子は、その装置に与えるコンテンツを識別する。これにより、装置に関連する装置管理者は、プロフィールを受けると動作してプロフィールが示すコンテンツを装置に与え、プロフィールに従って装置に与えるコンテンツを識別する記録を保持する。好ましくは、記録は、装置に対して論理的に局所の記憶領域(すなわち、ネットワークに接続されているかどうかにかかわらず装置が必ず読むことができる位置)に記憶する。
装置管理者は、装置上に記憶しても装置から離れたところに記憶してもよい。しかし、後者の場合は、装置自身に一般に何かを常駐させ、これにより装置管理者は、例えば何かの構成情報を実行する。
本発明では、後の或る時点に装置管理者がサーバから後続のプロフィールを受けると、後続のプロフィール内のコンテンツ識別子と、以前のプロフィールに従って装置に与えたコンテンツを識別するために保持されている記録とを比較して、まだ装置に与えられていない新しいコンテンツと今後は装置に与えられない古いコンテンツとを決定する。次に新しいコンテンツを装置に取り込み、例えば、そのコンテンツを実際に削除することにより、または装置のローカル・メモリ内のコンテンツへのポインタを削除することにより古いコンテンツを削除する。
この方法により本発明のシステムは、長時間または短時間ネットワークに接続し、またネットワークに接続していないときに使用可能にするためにコンテンツを局所的に記憶する必要がある種々の異なる装置を支援することができる。注意すべきことは、このシステムはネットワークに常時、接続する装置と共に使用することが可能なことである。本発明を用いることにより装置に与えるコンテンツを中央で管理することが可能なので、コンテンツ識別子を階層構造内の該当する要素に関連付けた後は、そのコンテンツ識別子は、関係する装置のために、その後準備される全てのプロフィール内に含まれる。これにより、かかる装置の対応する装置管理者は、次にプロフィールを受けると、そのコンテンツを装置に与えることができる。しかし、コンテンツを単に中央で保持して装置がその中央点にアクセスするのではなく、コンテンツを一般に装置に与えるので、本発明は、サーバが分配した後続のプロフィールと、以前のプロフィールに従って与えた装置のコンテンツを識別するために保持されている記録とを比較することにより、装置から古いコンテンツを削除することができる。
注意すべきことは、本発明の好ましい実施の形態では装置のユーザが自分自身のコンテンツも装置にインストールすることを禁止しないことである。なぜなら、かかるコンテンツは、プロフィールに含まれないので、装置管理者の制御の下に装置に与えられず、または装置からは除去されないからである。しかし、本発明では或る核心コンテンツの装置への分配を管理することが可能なので、装置のユーザが関与せずに、構造的にそのコンテンツを与え、後で削除することができる。
コンテンツ識別子は、種々の形をとってよい。しかし、好ましい実施の形態では、各コンテンツ識別子は、対応するコンテンツの名前と、そのコンテンツを得る位置を識別する場所標識を与える。したがって装置管理者が装置のコンテンツを得ようとするときは、対応するコンテンツ識別子内の位置標識を用いて、コンテンツを得る位置を決定することができる。好ましい実施の形態では、名前は、コンテンツを検索するときに必要ではないが、データベース上の階層構造を管理するネットワーク・マネージャとコンテンツを検索する装置のユーザのための記述的参照を与える。
本発明の好ましい実施の形態に係るシステムを用いて、複数の異なる型のコンテンツの分配を管理することできる。好ましくは、コンテンツ識別子は、対応するコンテンツの型も識別する。データベース上の階層構造を管理するネットワーク管理者は、この情報を参照することができる。例えば、これは健全性チェックに有用であり、ネットワーク管理者は、その型のコンテンツを受けることが可能な装置にだけ、そのコンテンツを割り当てることができる。
コンテンツを得ることができる位置を識別するのに役立つものであれば、位置識別子は種々の形をとることができるは、理解される。好ましい実施の形態では、コンテンツは、インターネットを介して接触することが可能なサーバに記憶され、位置標識は、URLアドレスである。
コンテンツを装置に与えるとき、コンテンツを正しく受けて記憶するために装置は、いくつかの所定の動作を行う必要があることが理解される。このため本発明の好ましい実施の形態のシステムは、装置が受けたコンテンツを処理するのに必要なコンテンツ情報に関連付けるための多数のパッケージャを与える。プロフィール内のコンテンツ識別子を用いてコンテンツを装置に取り込むとき、装置は、コンテンツだけでなく、装置内でコンテンツを正しく処理するのに必要な全ての関係する情報も受ける。装置に与えるコンテンツと関係情報を今後は「パッケージ」と呼ぶ。
前に述べたように、複数の異なる型のコンテンツの分配は、システムが管理する。したがって好ましい実施の形態では、パッケージャは、コンテンツの型毎に与えられる。
コンテンツを処理する方法を記述するためにパッケージ内に含まれる情報は、コンテンツ自身に従って種々の異なる形をとることができることが理解される。例えば、コンテンツが特定のアプリケーション用のデータ・ファイル(たとえば、マイクロソフト・ワードのファイル)の場合は、パッケージは、コンテンツがその型であることを識別し、装置管理者は、この型情報を用いて、この型のコンテンツをインストールするためのインストーラが存在するかどうか判定する。存在しない場合は、一般にコンテンツを省略時位置(例えば、装置管理者が指定する位置)に記憶する。しかし、インストーラが利用可能な場合は、これを用いてコンテンツを装置にインストールする。インストーラを用いる場合は、パッケージ内の情報は、ファイルを読み込むのに必要なマイクロソフト・ワードの必要なバージョン番号も識別する。次にインストーラは、ワードのバージョンを探し、見つからない場合は、例えば装置のユーザに警告する。
別の例としてコンテンツがアプリケーション・プログラムの場合は、一般にインストーラにより装置に適切にインストールする必要がある。かかる場合は、好ましい実施の形態におけるかかるコンテンツに関連する情報は、どのファイルが主実行可能ファイルであるかの識別や、デスクトップ上でプログラムを表すのに用いるアイコンの識別などを含む。次に関係するインストーラは、その情報を用いて、アプリケーション・プログラムを正しくインストールする。
装置が時間と共に変わりおよび/または任意の特定の装置の使用が時間と共に変わるので、異なるコンテンツを装置と関係付ける必要があり、かかる変化に対処するためにデータベース内の階層構造を効率的に管理する機能が必要であることが理解される。したがって、好ましい実施の形態のシステムは、データベース上に記憶されている階層構造をユーザが管理するためのインターフェースを与える管理ツールを有する。例えば、階層構造を用いて組織内の多数の装置を表す場合は、システム管理者の形のユーザは、管理ツールを用いて階層構造を管理し、その装置に与えることが望ましいコンテンツを装置が受けるように、各装置を階層構造内で適当な時点に継続して表す。
階層構造を開発するための多くの異なる方法があることが理解される。しかし、好ましい実施の形態では、階層構造内の前記要素は、装置の論理的グループ化を表す1つ以上の部門を含み、管理ツールは、各部門を生成または削除し、またコンテンツ識別子を各部門に関連付ける。したがって階層構造の最上部には全ての装置を含む総称部門を設け、その総称部門に依存して特定部門を生成することができる。例えば、技術支援スタッフが用いる全ての装置を含む技術支援部門を設け、また顧客支援スタッフが用いる全ての装置を含む別個の顧客支援部門を設ける。注意すべきことは、ユーザ(例えば、システム管理者)は必要に応じて必要なときに部門を作成また削除して、階層構造内で表される装置を分類するのに用いる適当な階層構造を開発することができることである。
注意すべきことは、コンテンツ識別子を各部門に関連付けることができるので、特定の部門内の全ての装置に共通のコンテンツを装置毎に個別に指定する必要はなく、単に対応する部門に関して一度だけ指定すればよいことである。好ましい実施の形態では、サーバが生成したプロフィールは、装置に関連する全てのコンテンツ識別子と、装置が階層構造内で依存する部門に関連する全てのコンテンツ識別子を含む。コンテンツを任意の特定の装置に関連付ける効率は、これにより大幅に改善されることが理解される。更に、装置を1つの部門から他の部門に移して次回にその装置のプロフィールを生成した場合、装置は、その新しい役割の装置に関係するコンテンツを示す更新されたプロフィールを自動的に受ける。次に、全ての新しいコンテンツを自動的に検索し、古いコンテンツを削除する。
本発明の好ましい実施の形態では、管理ツールにより、人識別子は、階層構造内の要素として与えられる個人を識別することができる。これにより、管理ツールを用いて階層構造内で装置とその装置を所有する個人とを関連付けることができる。この特別の分類を含むことは、有用である。なぜなら、組織内の特定の個人は、2つ以上の装置を持つことが多く、自分の装置毎に特定のコンテンツを与えるよう要求することが多いからである。個別の装置は、階層構造内の関係する人識別子に依存するので、システム管理者が新しいコンテンツを各装置に関連付けるのは容易である。また個人が組織内を動きまわるとき、システム管理者は、関係する人識別子を部門の間に動かすことができる。これにより、その人の全ての装置も自動的に動かすことができるし、次回にプロフィールをかかる装置に与えるときに、かかる装置の関係するコンテンツを与えることができる。
プロフィールを所定の間隔で装置に与えるのに種々の機構を用いることができることが理解される。例えば、装置がネットワークに常時、接続されている場合は、サーバは、プロフィールを定期的な間隔で生成してよい。しかし、好ましい実施の形態ではシステムは、多くの異なる型の装置を支援し、少なくとも、そのいくつかは、常時ネットワークに接続されてはいない。この場合は、装置がネットワークに接続されたときにプロフィールを生成して分配する必要がある。したがって、好ましい実施の形態では、装置管理者は、所定の間隔でサーバに接続してプロフィールを要求し、装置管理者は、プロフィールが要求された装置を識別する。
例えば、装置管理者は、装置に電源を入れた直後にプロフィールを要求する。この方法は、ネットワークが利用可能なときだけ動作し帯域幅が制限された装置(例えば、GSM受信機)に適している。または、装置管理者は、ネットワーク接続が確立された直後にプロフィールを要求する。この方法は、ネットワークが利用可能でなくても完全に動作するが、随時に接続も行う装置(例えば、携帯用コンピュータ)に適している。また別の例として、装置管理者は、離散的な時間間隔で定期的にプロフィールを要求する。この方法は、ケーブル・テレビジョン受信機やネットワーク・コンピュータなどの高い帯域幅の常時、接続されている装置に適している。
前に説明したように、システムは、複数の異なる型のコンテンツの分配を管理する。好ましい実施の形態では、この型の少なくとも1つは、コンピュータ・プログラムである。
階層構造を記憶するのに用いられるデータベースは、種々の形式のものでよい。しかし、好ましい実施の形態では、データベースは、リレーショナル・データベースである。注意すべきことは、この好ましい実施の形態では、このデータベースは、組織内の資源のための「白紙」データベースとしても与えられる任意のディレクトリ・サービス・データベースとは全く別のものであることである。このデータベースは、ディレクトリ・サービス・データベースと別のものにする方がよいことが分かっている。なぜなら、このデータベースは、ディレクトリ・サービス・データベース内にすでに存在する構造によって縛られないからである。逆に、組織内の資源に関する或る詳細をディレクトリ・サービス・データベースから取得して、コンテンツの分配を管理するためのデータベースで用いることは可能であるが、データベース内の実際の階層構造は、管理する装置と分配するコンテンツだけを考慮して自由に決定される。
第2の形態から見ると、本発明は、本発明の第1の形態に係るシステムで用いられるサーバを制御するコンピュータ・プログラム製品を与える。このコンピュータ・プログラム製品は、データベースに関して装置のプロフィールを生成し、またこのプロフィールを装置管理者に送信する。
第3の形態から見ると、本発明は、本発明の第1の形態に係るシステムで管理ツールとして動作するコンピュータを制御するコンピュータ・プログラム製品を与える。このコンピュータ・プログラム製品は、データベース上に記憶された階層構造をユーザが管理するためのインターフェースを与える。
第4の形態から見ると、本発明は、本発明の第1の形態に係るシステムに用いられる装置管理者を装置内に備えるコンピュータ・プログラム製品を与える。このコンピュータ・プログラム製品は、サーバからプロフィールを受け、プロフィール内のコンテンツ識別子を用いてプロフィールが示すコンテンツを装置に与える。このコンピュータ・プログラム製品は、サーバから後続のプロフィールを受けると、後続のプロフィール内のコンテンツ識別子と、以前のプロフィールに従って装置に与えたコンテンツを識別する記録とを比較して、まだ装置に与えられていない新しいコンテンツと今後は装置に与えられない古いコンテンツとを決定し、関係するコンテンツ識別子を用いて新しいコンテンツを装置に与え、古いコンテンツを削除する。
第5の形態から見ると、本発明は、本発明の第1の形態に係るシステムで用いられるパッケージャとして動作するコンピュータを制御するコンピュータ・プログラム製品を与える。パッケージャは、装置が受けたときにコンテンツを処理するのに必要なコンテンツ情報に関連する。
第6の形態から見ると、本発明は、装置へのコンテンツの分配を管理する方法を与える。この方法は、多数の要素を階層構造としてデータベース内に記憶し、コンテンツ識別子を階層構造内の要素に関連付けることが可能であり、要素の1つは、装置を表し、データベース内の階層構造を参照して装置のプロフィールを生成し、プロフィールは、装置に与えるコンテンツを示す多数のコンテンツ識別子を含み、プロフィールは、装置を表す要素に関連する任意のコンテンツ識別子とその要素が依存する階層構造内の要素に関連する任意のコンテンツ識別子を含み、プロフィール内のコンテンツ識別子を参照してプロフィールが示すコンテンツを装置に与え、プロフィールに従って装置に与えたコンテンツを識別する記録を保持し、後続のプロフィールを受けると後続のプロフィール内のコンテンツ識別子と前記記録とを比較して、まだ装置に与えられていない新しいコンテンツと今後は装置に与えられない古いコンテンツとを決定し、関係するコンテンツ識別子を用いて新しいコンテンツを装置に与え、古いコンテンツを削除するステップを含む。
本発明について、単なる例であるが、添付の図面に示す好ましい実施の形態を用いて詳細に説明する。
本発明の実施の形態の概要を示すブロック図である。 本発明の実施の形態の概要を示すブロック図である。 本発明の実施の形態の概要を示すブロック図である。 本発明の好ましい実施の形態に係るシステムの構造の概要を与える別のブロック図である。 本発明の好ましい実施の形態に係るサーバへの接続の詳細を示す。 データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。 データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。 データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。 データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。 データベース上に記憶された階層構造をシステム管理者が管理することを可能にする本発明の好ましい実施の形態に用いるユーザ・インターフェースを示す。 データベース内に記憶される階層構造の簡単な例を示す。 データベース内に記憶される階層構造の簡単な例を示す。 プロフィールを要求し、受けたときにプロフィールに作用するネットワーク装置内で実行するステップを示す流れ図である。 クライアントにプロフィールを与えるためにサーバ内で実行するステップを示す流れ図である。 サーバから受けたプロフィールに作用するためにネットワーク装置内で実行する手続きの詳細を示す流れ図である。 サーバから受けたプロフィールに作用するためにネットワーク装置内で実行する手続きの詳細を示す流れ図である。 サーバから受けたプロフィールに作用するためにネットワーク装置内で実行する手続きの詳細を示す流れ図である。 サーバから受けたプロフィールに作用するためにネットワーク装置内で実行する手続きの詳細を示す流れ図である。 本発明の好ましい実施の形態に従ってサーバがプロフィールを準備する方法の詳細を示す流れ図である。 好ましい実施の形態においてパッケージャを用いて分配のためにコンテンツをパッケージする方法の概要を示す。
(好ましい実施の形態の説明)
従来は、比較的一定の数の固定されたコンピュータ装置を複雑なデスクトップ環境を形成することが可能な局所化された支援構造で管理している。しかし、今後は、それがコンピュータ装置であれ、または場所が固定または固定されない移動電話やパーソナル・デジタル支援装置(PDA)や電子オーガナイザその他の電子装置であれ、多くの装置を扱う可能性がある。このため、より柔軟な別の管理システムが必要である。
本発明の好ましい実施の形態は、ネットワーク内のネットワーク装置を分配管理するための、かかる別の管理システムを提供することを目的とする。「ネットワーク装置」という用語は、本発明の好ましい実施の形態のシステムがそのコンテンツを管理する装置を指すが、かかる装置が全て常時ネットワークに接続されているわけではない。本発明の好ましい実施の形態の目的では、任意のかかる「ネットワーク装置」は、直接または他の装置を介して、少なくとも随時にネットワークに接続することができれば十分である。例えば、或る装置は、随時にネットワークに接続することが可能な他の装置に管理を任せてよい。例えば、或るPDA型の装置は本来ネットワーク接続が可能でなく、新しいプログラムをインストールするなどの作業をPCに依存する。PCは、随時にネットワークに接続することが可能なので、かかるPDAも「ネットワーク装置」であり、本発明の好ましい実施の形態に係るシステムにより管理することができる。
好ましい実施の形態では、各ネットワーク装置は、クライアント・プログラム(ここでは装置管理者とも呼ぶ)を備え、これはサーバと通信する。サーバは、各装置上に存在することが望ましいコンテンツの詳細(例えば、プログラムやデータ)を保持する。好ましい実施の形態では、クライアント・プログラムは、サーバに対してネットワーク装置を識別し、サーバは、その装置上に存在することが望ましいコンテンツのプロフィールを送る。クライアント・プログラムは、好ましくはプロフィール内で識別されるコンテンツ、現在、装置上に存在しないが所定の方法で検索されるプロフィール内で識別される全てのコンテンツを含むようにネットワーク装置を設計する。
本発明の好ましい実施の形態では、クライアント・プログラムとサーバは、Java(登録商標)プラットホーム上で動作する。ケーブル・テレビジョン受信機や移動電話などの種々のプラットホームにJava(登録商標)が遍在するので、少なくとも随時にネットワークに接続して制御することが可能であれば、ほとんど全ての種類の遠隔の装置を中央で制御することができる。
本発明の好ましい実施の形態では、各ネットワーク装置上のクライアント・プログラムは、装置の構成を自動的に更新する。装置の種類に従って、クライアント・プログラムは、所定の間隔、すなわち、
1. 装置に電源を入れた直後に、
2. ネットワーク接続を確立した直後に、
3. 離散的な時間間隔の後に、
のどれかで実行する。
第1のシナリオは、ネットワークが利用可能なときだけ動作し帯域幅が制限された装置(例えば、GSM受信機)用に設計されている。第2のシナリオは、ネットワークが利用可能でなくても完全に動作するが、随時にネットワークに接続する装置(例えば、携帯用コンピュータ)に用いられる。第3のシナリオは、ケーブル・テレビジョン受信機やネットワーク・コンピュータなどの高い帯域幅の常時、接続されている装置用に設計される。
クライアント・プログラムは、装置の識別をサーバに送り、サーバは、ネットワーク当局がその装置上に存在することを望むコンテンツのプロフィール(例えば、プログラムやデータ)を帰す。サーバは、コンテンツではなく、各コンテンツを検索することが可能な位置を送信する。クライアントは、取り出した各コンテンツを記録するので、新しいコンテンツまたは更新されたコンテンツを選択的に取り出すことや、今後は必要ないコンテンツを削除して装置を管理するという装置ユーザの責任を全て放棄することが可能である。
ネットワーク当局は、装置のプロフィールを定義する責任を持つエンティティ(entity)である。この仕事は、階層の定義/構造を用いることにより(すなわち、各装置を部門と呼ぶ論理グループのメンバとして表すことにより)簡単になる。各部門は、また他の部門のメンバでもあり、線形トリーの方式で最後に共通の祖先に到達する。プロフィールは、部門毎に定義される。このように、或る装置のプロフィールは、階層の定義の中で明示的に指定された全てのコンテンツと、その部門のコンテンツと、親部門のコンテンツとにして最後に根部門に至るまでのコンテンツを加えたものから成る。例えば、図10では、装置名を括弧で囲ってあり、アデリ(Adelie)のプロフィールは、自分自身の構成だけでなくペンギン、鳥、全部の構成により定義される。したがって、アデリがカモメ部門の一部になった場合は、鳥と全部の構成は、継承するが、ペンギンではなくカモメの構成を含む。
本発明のシステムの例示の実施の形態の略図を図1Aから図1Cに示す。
図1Aは、LAN50を介して多数のネットワーク装置10とサーバ30とをリンクした、本発明の1つの可能な実施の形態を示す。この実施の形態では、ネットワーク装置は、PCの場合が多いが、PCではなく任意の他の適当な電子装置(例えば、ルータ、インテリジェント・ハブなど)でもよい。また、ネットワーク装置は、PCを介してネットワークに接続するパーソナル・オーガナイザ、PDAなどでもよい。
サーバ30は、装置と装置に関連するコンテンツとを識別する階層の定義を含むデータベース40に接続する。システム管理者は、システム管理装置20を介してサーバ30に接続することにより階層の定義を管理することができる。システム管理装置の位置は、変えてよいが、図1Aの例では、システム管理装置は、LAN50を介してサーバに接続する。
好ましい実施の形態では、各ネットワーク装置10は、これにインストールされたクライアント・プログラムを有し、サーバ30と通信して、階層の定義を考慮してサーバが得た各ネットワーク装置のプロフィールを取得する。図1Aのシステムは、かかるネットワーク装置の分配管理を行う。なぜなら、階層の定義は、集中的に保持し、クライアント・プログラムは、関係するネットワーク装置の間に分配するからである。また階層の定義は、サーバが直接、管理してもよいし、システム管理装置20などの分配点で管理してもよい。
図1Bは、本発明を用いることが可能な別の実施の形態を示す。この実施の形態では、ネットワーク装置は、移動体電気通信ネットワークを介して接続する。ネットワーク装置10は、例えば移動電話や移動電気通信機能を持つラップトップ・コンピュータなどと移動体ネットワークにより通信する電子装置である。この実施の形態では、サーバ30は、ネットワーク装置10と通信するのに用いられる多数の送信機/受信機70に電気通信インフラストラクチャ60を介して接続する。このシステムは、基本的に図1Aを参照して説明したシステムと同様に動作し、各ネットワーク装置10は、クライアント・プログラムを備え、サーバ30と通信することができる。注意すべきことは、データベース40内の階層の定義を管理するためにシステム管理者が用いるシステム管理装置は、ネットワーク内のどこにあってもよく、したがってサーバ30上にあってもよいし、または電気通信ネットワーク内の任意の位置のネットワーク装置に設けてもよい。
本発明の好ましい実施の形態では、異なる機構を介してサーバ30に接続する多くの異なる型の装置を管理することができる。その概要を図1Cの実施の形態で示す。或るネットワーク装置100(例えば、デスクトップ装置)は、イーサネット(登録商標)接続130を介してサーバに直接接続する。また他のネットワーク装置110(例えば、ポケット・オーガナイザや移動電話など)は、送信機/受信機70により無線通信を介してサーバに接続する。更に、他のネットワーク装置120(例えば、ラップトップ・コンピュータやマルチメディアPCなど)は、インターネット140を介してサーバに接続してよい。
前に述べたように、好ましい実施の形態のシステムは、少なくとも随時にネットワークに接続する装置に利用することができる。好ましい実施の形態では、このシステムは、ジャバおよびインターネット技術を用いて種々の装置を遠隔管理することができる。図2は、好ましい実施の形態の構造の概要を示す。サーバ30は、ジャバの遠隔法実施(Remote Method Invocation)(RMI)とジニ(Jini)接続性を用いて、構成サービスとしてクライアント・プログラム200に利用可能である。RMIは、2つのプログラムがネットワーク上で透明に通信することを可能にするジャバ機構である。ジニは、ネットワークによるサービスを利用可能にするソフトウエア・インフラストラクチャである。その詳細については、ウエブサイトhttp://www.sun.com/jini/ が参照される。
サーバは、HTTPやFTPなどの標準インターネット・プロトコルを用いてコンテンツを分配する。図2に示すように、ネットワーク装置上に常駐するクライアント・プログラム200は、RMI220またはジニ230機構を介してサーバ30に接続し、サーバに要求してプロフィールを受ける。システム管理者の装置上の管理ツール210(好ましくはコンピュータ・プログラム)は、例えばRMI機構220を用いて、データベース40上に保持されている階層構造内の要素(例えば、部門や装置)に新しいコンテンツを割り当ててよい。プロフィールを受けたとき、クライアント・プログラム200は、HTTPやFTPなどの適当な標準インターネット・プロトコルを用いて、インターネット240を介してサーバ250,260からコンテンツを収集してよい。
注意すべきことは、好ましい実施の形態のシステムは、高度に分散されたアプリケーションであることである。データベース40、サーバ30、管理ツール210、データベース40内で用いる情報を得るために用いられる任意のディレクトリ・サーバは、全て別の機械の上に置くことができる。
図3は、本発明の好ましい実施の形態に従ってサーバを接続する方法の詳細を示す。サーバ30は、既存のサーバと統合するよう設計する。したがって、データベース・バックエンド40を用いて、サーバがネットワーク装置のプロフィールを生成するのに用いる階層構造を記憶することができる。ジャバ・データベース接続性(JDBC)により、第三者のデータベースをサーバ30に接続することができる。JDBCに関する詳細な情報は、ウェブ・アドレス http://java.sun.com/products/jdbc/ から得られる。
更に、LDAP(インターネット標準ディレクトリ・サーバ)やNDSなどの標準ディレクトリ・サーバをサーバ30に接続することにより、サーバ30は、組織内の特定のユーザに関する情報を取得することができる。図3に示すように、ジャバ・ネーミング・アンド・ディレクトリ・インターフェース(JNDI)により種々の型のディレクトリ・サーバをサーバ30に接続することができる。JNDIの詳細な情報については http://java.sun.com/products/jndi/ が参照される。データベース40内の階層構造をサーバ30が最初から生成することが可能であることは明らかであるが、本発明の好ましい実施の形態のシステムに従って、その装置を管理することを希望する組織は、ユーザに関する関連する詳細を与えるディレクトリ・サーバなどをすでに持っている可能性が高い。したがって、データベース40内に階層構造を作成する仕事は、組織内にすでに設けられている任意の標準ディレクトリ・サーバからユーザについての関係する詳細などをサーバ30が得られるようにすれば、非常に簡単になる。
既存のディレクトリ・サーバ・データベースのむしろ固定された構造内に追加の情報を入れようとするのではなく、装置へのコンテンツの分配を管理するのに用いる階層構造を全く別のデータベース40に記憶することが非常に望ましいことが分かった。なぜなら、これにより管理される装置とこれらの装置に分配されるコンテンツを考慮して、適当な部門と部門内の装置の位置とを非常に柔軟に生成することができるからである。
好ましい実施の形態では、標準インターネット・サーバ250と260を用いて、装置に分配される実際のコンテンツを記憶する。これにより、サーバ30は、例えば標準インターネット接続を介してサーバ250,260と通信して、コンテンツが記憶されている場所をチェックし、その記憶されているコンテンツの書式をチェックすることができる。
図3に示すように、ネットワーク装置がサービスを利用するには、標準RMIレジストリとオプションのジニ(djinn)を用いる。RMIレジストリは、他の遠隔プログラムを探す機構を与える遠隔プログラムなので、RMI機構を用いることによりクライアント・プログラムは、サーバ30と通信することができる。ジニ(djinn)は、ジニ・ソフトウエア・インフラストラクチャにより結合される装置、資源、ユーザのグループに与えられる名前である。
次に、特定のネットワーク装置に関連するクライアント・プログラム200に移ると、このクライアント・プログラムは、その構成に従って2つの方法のどちらかを用いてサーバに接続することができる。埋め込みクライアント・コードを持つネットワーク装置では、ジャバのRMI機構を用いることができるが、別の方法として、オプションのジニ・サービスを用いる動的なダウンロード可能なクライアント・ソフトウエアがある。ジニ方式を用いる場合、利用可能なサービスを探すサービス・ブラウザと呼ぶものを装置は、すでに持っている。この場合は、クライアント・プログラムを局所的に装置にインストールするのではなく、装置上に存在する適当な構成を用いることによりプロセスが自動化される。
各ネットワーク装置上に小さなクライアント・レジストリがあり、これはサーバ30から受けたプロフィールに従って得られた、装置上に存在する全てのコンテンツの記録を保持する。サーバに接触すると、装置上に何を与えるかを記述するプロフィールを検索する。後で詳細に説明するが、プロフィールが示す新しい更新されたコンテンツを検索し、機能停止したコンテンツを削除する。このプロセス中に任意のインストーラとデインストーラを好ましくはサーバ30から自動的にダウンロードして呼び出す。注意すべきことは、これは全てネットワーク装置のユーザからの介入なしに行われることである。
好ましい実施の形態では、管理者などを支援する簡単なグラフィカル・インターフェースを与える管理ツール・アプリケーションを設け、これによりシステム管理者は、部門と装置の階層構造をデータベース40内に構築して保持することができる。次に、部門および/または装置を表す特定の要素上にコンテンツ識別子をドラッグ・アンド・ドロップしてコンテンツと階層構造の要素とを関連づける。図3を参照して前に示した標準ディレクトリ・サーバと統合することにより、システム管理者は、ネットワーク上の特定の装置の所有者が誰かを決定することができる。したがって、或る人の装置に新しい役割を持たせるには、その人を表すアイコンを新しい部門にドラッグするだけでよい。これらの概念を図4から図8を参照して更に説明する。これらの図は、管理ツールが与えるグラフィカル・インターフェースの例であって、これによりシステム管理者は、サーバ30がデータベース40上に保持する階層構造を管理することができる。
図4において、左側の窓は、階層の定義の概要を示し、右側の窓は、情報表示領域である。スクリーンの下部の窓は、特定の装置または部門を表す階層構造の要素に割り当てられるコンテンツ識別子のリストを含む(この例では、コンテンツはコンピュータ・プログラムである)。図4から分かるように、各コンテンツ識別子は、コンテンツの名前と、対応するコンテンツを検索するための位置を識別する位置標識(この場合はURLアドレス)とを含む。オプションとして、コンテンツ識別子は、バージョン番号、コンテンツの型、最後に変更した日付などを含んでよい。
図5は、システム管理者が「エンジニア(Engineer)」部門を選択したときに表示される情報を示す。情報表示領域に示すように、これはプログラム「黄(Yellow)」、「藍(Indigo)」、「橙(Orange)」が部門「エンジニア」に関連することと、オペレーティング・システム「緑(Green)」とアプリケーション「赤(Red)」が部門「全部(All)」から継承されていることを示す。
図6は、システム管理者が個人を選択した場合に与えられる情報を示す。この場合の個人は、Nigel Brookes で、関連する2台の装置、すなわち「Hugh」と「Cuthbert」を有する。最後に、図7は、装置「Hugh」に関連するプログラムを示す。図から分かるように、装置「Hugh」は、直接、関連するアプリケーション「青緑(Violet)」を有するが、これも部門「エンジニア」と「全部」に関連するプログラムを継承する。
図8は、別の例示のデータベース構造に与えられるグラフィカル・インターフェースを示す。この図では、未来の電話(Future Phone)と呼ぶ装置は、個人 Nigel Brookes に属し、彼はエンジニア部門内に割り当てられており、エンジニア部門自身は、概念技術(Concept Technologies)部門の1部門である。更に、概念技術部門は、Hugh Symons 部門の中に含まれ、Hugh Symons 部門は、全部部門に含まれる。図8から分かるように、装置「未来の電話」は、関連する2つのアプリケーションを有し、部門「全部」から1つのアプリケーションを継承する。この場合は、部門 Hugh Symons、概念技術、エンジニアは、直接、関連するコンテンツを全く含まない。そうでなければ、装置「未来の電話」は、これらの部門からのコンテンツも継承しているはずだからである。
図8を参照して分かることは、この場合のコンテンツ識別子は、省略時のリース期間を識別するオプションの情報も含む。この情報により、ネットワーク装置上のクライアント・プログラムは、リース期間が過ぎるとコンテンツを自動的に削除することができる。したがって図8から分かるように、装置「未来の電話」に割り当てられた2つのアプリケーションは、永久リースであるが、アプリケーションJarBall Madness は、1999年8月26日に期限が切れる30日リースである。クライアント・プログラムは、この情報を用いて、その日に JarBall Madness を未来の電話から自動的に削除する。
完全のために、図9は、データベース40内に保持される階層構造の一部の簡単な例を示す。前に述べたように、装置は、部門と呼ぶ論理的な階層グループに編成されている。各部門は、その親部門のコンテンツを継承する。コンテンツをこれらの部門と個別の装置に割当てれば、特定の装置のプロフィールを生成することができる。
図9から分かるように、Sue Bar は、装置「私のセル電話」を所有している。彼女は、顧客部門の一部であり、かつ支援および全部部門の一部でもある。したがって彼女の装置は、全部、支援、顧客に、またその特定の装置に割り当てられたコンテンツを有する。全てのSMS(ショート・メッセージ・サービス)メッセージを自分のeメール口座に送るサービスを利用したいとSue が決定した場合は、彼女は、関係のシステム管理者にそのサービスを要求する。システム管理者は、このサービスを一般の利用に供せず、彼女のセル電話だけにこれを割り当てると決定してよい。次回にサーバからプロフィールを受けたとき、この装置は、関係するアプリケーションを自動的に受ける。
システム管理者は、階層全体の責任を持つが、部分部門の制御を他の管理者に委任することができる。したがって図9では、ネットワーク管理者は、全部部門の責任を持つが、顧客支援部門と技術支援部門の管理を1つ以上の別の管理者に委任してよい。
図11と図12の流れ図は、本発明の1つの実施の形態に従って装置上のクライアント・プログラムを実行するときに行うプロセスを簡単に示す。図11は、クライアント・プログラムが実行する処理ステップを示し、図12は、サーバが実行する処理ステップを示す。必ずしも全ての実施の形態が図11と図12に示す一連のステップをそのまま実行する必要はないことは明らかであって、図11と図12は、特定の実施の形態を示すものである。例えば、その装置が現在データベース内に存在しないとサーバが判定した場合、その装置の新しいエントリを「新しい装置」部門内に作成するのではなく、その装置がネットワークにアクセスするのを拒否するようにしてよい。
図12の実施の形態で「新しい装置」部門を設ける場合は、一般に部門「全部」の子として設けることが理解される。任意のコンテンツが部門「全部」に関連する場合は、この新しい装置は、そのコンテンツを継承する。しかし、別の方法として、部門「全部」にも「新しい装置」にも関連するコンテンツを持たせず、初めてサーバに接触したときに新しい装置に何もコンテンツを与えないようにしてもよい。
どちらの方式をとるかに関わらず、好ましい実施の形態では、ネットワーク管理者は、「新しい装置」部門内に置かれた全ての装置を階層内の適当な部門に再び割当てようとする。例えば、図4から図7を参照して、新しい装置が実際に「支援」部門内にあった場合は、支援管理者は、その装置を「新しい装置」部門から「支援」部門に移すので、その後のアクセスでは、その新しい装置は、「支援」部門に適したコンテンツを受ける。
図13と図14は、装置上のクライアント・プログラムを実行したとき行うプロセスの詳細を示す流れ図である。図13Aから図13Dは、図11に示す実施の形態の詳細を示し、図14は、図12に示す別の実施の形態を示すものと考えてよい。ただし、図14に示すプロセスは、未知の装置を新しい装置部門に割り当てるのではなく単にプロセスを終了するだけであり、したがって、このプロセスは、システム管理者が階層構造内の適当な位置に装置を割り当てたときにだけ用いる。
図13Aにおいて、クライアント・プログラムの実行は、ステップ500で開始し、ステップ510に進んで、利用可能なネットワークが存在するかどうか判定する。存在しない場合は、プロセスは、ステップ520で終了し、クライアント・プログラムが次回に実行するときに再び開始する。前に説明したように、クライアント・プログラムは、好ましくは所定の間隔で実行し、この間隔は、装置の型に従って決定される。
ネットワークが利用可能な場合は、プロセスは、ステップ530に進み、装置は、サーバ30からプロフィールをダウンロードする。ステップ540でダウンロードが成功かどうか(すなわち、プロフィールをサーバから受けたかどうか)判定し、成功でない場合は、プロセスは、ステップ530に戻る。プロフィールをクライアント・プログラムに送るのを妨げる一時的な問題がサーバかネットワークに存在する場合は、クライアント・プログラムはここで停止することが理解される。したがって、或る実施の形態では、ここに時間切れ機構を設けて、プロフィールのダウンロードが所定の時間内に成功しない場合は、プロセスをステップ520に分岐させるのがよい。しかし、簡単のために、図13Aには、このプロセスを示していない。
プロフィールのダウンロードが成功の場合は、プロセスは、ステップ550に進み、新しいプロフィールと以前のプロフィールに従って装置に取り込んだコンテンツを識別するためにネットワーク装置上に保持されているコンテンツ記録560とを比較する。しかし、図13Aから図13Dの残りを説明する前に、図14を参照してサーバ30がプロフィールを生成する方法を以下に説明する。プロフィールの生成は、好ましくはサーバ30上にインストールしたソフトウエアで行う。プロセスは、ステップ700で開始し、ステップ705でサーバは、装置の接続を待つ。装置が接続すると、ステップ710で装置が既知であるかどうか(すなわち、階層構造内で表されているかどうか)判定し、表されていない場合は、ステップ720で接続を閉じる。次にプロセスは、ステップ705に戻り、次の装置の接続を待つ。
しかし、装置が既知の場合は、プロセスは、ステップ715に進み、データベース40上に保持されている階層構造内の対応する要素から、その装置のコンテンツ識別子を検索する。次にステップ725で、装置が階層構造内のどの部門に含まれているか判定し、ステップ715で検索したコンテンツ識別子に、その部門に関連するコンテンツ識別子も追加する。
次にステップ735で、その部門が階層構造内に親を持っているかどうか判定する。親を持っている場合は、ステップ730でその親部門を検索し、次にステップ725でデータベースからすでに検索したコンテンツ識別子に、その部門内のコンテンツ識別子を追加する。このプロセスを続けてステップ735で現在の部門が親を持たない(すなわち、前の例を参照すると、これは現在の部門が全部部門であることを意味する)と判定すると、この時点で全ての該当するコンテンツ識別子を探し終えたと判断する。次に、ステップ740で要求されたプロフィールとして、これらのコンテンツ識別子を装置に送る。次にプロセスは、ステップ705に戻り、次の装置の接続を待つ。
図13Aに戻って、ステップ550の結果、新しいプロフィールと前に記憶したコンテンツ記録560とを比較することにより、検索すべき新しいコンテンツ、削除すべき古いコンテンツまたは更新すべきコンテンツが決定されている。これに従ってプロセスは、図13Bのステップ570に進み、削除すべきコンテンツが存在するかどうか判定する。存在する場合は、ステップ575でアンインストーラを実行して、そのコンテンツを削除するのが適当かどうか判定する。
図13Bの説明を続ける前に、インストーラ/アンインストーラが必要かどうか判定する機構を詳細に説明する。前に述べたように、コンテンツをネットワーク装置に取り込むとき、そのコンテンツを受けたときに処理する方法を識別する関係情報も含むことが好ましい。本発明の好ましい実施の形態では、好ましい実施の形態のシステムが与える1つ以上の好ましくは、コンピュータ・プログラムで実現されるパッケージャを介して、この追加の情報をコンテンツに関連付ける。このプロセスの概要を図15に示す。
コンテンツ送付機構は、柔軟性が大きく、開発者は、クライアント側のソフトウエアを全く変更せずに、任意の必要なインストーラおよびアンインストーラと共に新しい型のコンテンツを導入することができる。例えば、特定の組織内の全てのセールス部隊の最新の仕事の結果は、自分の装置に与えられ、その装置上のデータベース・アプリケーションに自動的にインストールされる。
この柔軟性は、標準ジャバ・アーカイブ(JARファイル)内でコンテンツをまとめることにより達成される。好ましい実施の形態では、標準ジャバ・アーカイブは、よく知られたファイル「META-INF/manifest.mf」に関連し、図15に示すようにパッケージャを通して、これらのジャバ・アーカイブを送る。JARファイルは、ジャバ開発キットと共に供給されるジャー・ツール(jar tool)を用いて単一のファイルに圧縮されたファイルである。
図15に示すように、コンテンツ800は、パッケージャ810のグループ内の該当するパッケージャに送られる。例えば、或るパッケージャ830は、アプリケーションをパッケージするものであり、別のパッケージャ840は、文書をパッケージするものであり、更に別のパッケージャ850は、他の型のコンテンツをパッケージするものである。関係するパッケージャは、顕在的なファイルのコンテンツを変更して、少なくともコンテンツの名前、型、バージョンを含める。またパッケージャは、必要な任意の他の変数をこのファイル内に自由に含めることができる。これにより、本発明の好ましい実施の形態に係るネットワーク装置に分配されるパッケージ820が得られる。注意すべきことは、得られたパッケージは、やはりジャバと完全に互換性があることである。
好ましい実施の形態では、パッケージャは、コンテンツの型毎に設けられる。コンテンツの各型は、かかるコンテンツをネットワーク装置上にインストール/アンインストールするインストーラ/アンインストーラをオプションで有する。パッケージャは、型に特有であり、インストーラ/アンインストーラも型に特有なので、パッケージャは、対応するインストーラ/アンインストーラが特定して要求する任意の変数を含むことが可能なことは明らかである。例えば、コンテンツの型がPC用のマイクロソフト・ワードの文書の場合は、パッケージャは、ファイルを読み込むのに必要なマイクロソフト・ワードの必要なバージョン番号をパッケージ内に含める。これによりインストーラは、ワードのそのバージョンを探し、例えば、見つからない場合は、装置のユーザに警告する。
別の例として、コンテンツの型がアプリケーション・プログラムの場合は、パッケージャは、どのファイルが主実行可能ファイルかの識別や、プログラムをデスクトップ上に表すのに用いられるアイコンの識別などをパッケージ内に含める。関係するインストーラは、この情報を用いて、アプリケーション・プログラムを正しくインストールすることができる。
以上から分かるように、インストーラ/アンインストーラが必要であるか必要でないかは、コンテンツの型に従って決まる。検索されたパッケージは、プロフィール内のコンテンツ識別子と同様に、とりわけコンテンツの型を指定する。これにより、装置管理者は、インストーラ/アンインストーラがそのコンテンツの型に関連するかどうかをチェックすることができる。例えば、コンテンツがアプリケーション・プログラムの場合に、これは適当である。
図13Bに戻り、ステップ575でアンインストーラを実行すると決定した場合は、プロセスは、ステップ585に進み、該当するアンインストーラをダウンロードして実行し、関係するコンテンツを削除する。好ましい実施の形態では、該当するアンインストーラをダウンロードするには、クライアント・プログラムは、図3に示したRMIレジストリ310に対して、受けたコンテンツの型用のインストーラ/アンインストーラが存在するかどうか問い合わせる。かかるインストーラ/アンインストーラが存在する場合は、RMIレジストリは、これをクライアント・プログラムにダウンロードし、これを実行して対象とする特定のコンテンツをアンインストールする。
しかし、全てのコンテンツの型がアンインストーラを必要とするわけではない。例えば、そのコンテンツは、単に削除すればよいデータ・ファイルかも知れない。この場合は、ステップ575でアンインストーラを実行する必要がないと判定し、プロセスは、ステップ580に進んで、そのコンテンツを削除する。次にプロセスは、ステップ570に戻り、削除する必要がある別のコンテンツが存在するかどうか判定する。存在する場合は、上に説明したプロセスを繰り返す。
存在しない場合は、プロセスは、ステップ590に進み、更新すべきコンテンツが存在するかどうか判定する。存在する場合は、プロセスは、ステップ595に進み、更新されたコンテンツをプロフィール内の対応するコンテンツ識別子が示す位置からダウンロードする。前に述べたように、コンテンツは、好ましくはインターネット・サーバ上に記憶されており、この場合は、コンテンツ識別子は、コンテンツをダウンロードする相手の該当するインターネット・アドレスを識別する。コンテンツをダウンロードし終わると、図13Cのステップ600でインストーラ/アンインストーラを実行する必要があるかどうか判定する。前に述べたように、この決定は、更新すべきコンテンツの型に基づいて行う。
例えばコンテンツがデータ・ファイルの場合は、インストーラ/アンインストーラを実行しない方がよい。したがって、プロセスは、ステップ615に進み、古くなったコンテンツを削除し、更新されたコンテンツを保存する。しかし、インストーラ/アンインストーラが必要であると判定した場合は、プロセスは、ステップ605に進み、ステップ585を参照して前に説明したプロセスを用いて、必要なインストーラ/アンインストーラをダウンロードする。次にアンインストーラを実行して古くなったコンテンツを削除し、その後、プロセスは、ステップ610に進み、必要なインストーラを実行して更新されたコンテンツをインストールする。次にプロセスは、ステップ590に戻り、更新する必要がある別のコンテンツが存在するかどうか判定する。存在する場合は、上に説明したプロセスを繰り返し、存在しない場合は、プロセスは、図13Dに示すステップ620に進む。
ステップ620で、追加すべき新しいコンテンツが存在するかどうか判定する。存在する場合は、プロセスは、ステップ625に進み、プロフィール内の関係するコンテンツ識別子が与える情報を用いて新しいコンテンツをダウンロードする。次にステップ630でインストーラを実行する必要があるかどうか判定し、必要がある場合は、プロセスは、ステップ635に進み、該当するインストーラをダウンロードして実行し、そのコンテンツをインストールする。ステップ630でインストーラが必要ないと判定した場合は、プロセスは、ステップ640に直接進み、新しいコンテンツを保存する。新しいコンテンツを保存する場所の問題に関して、インストーラを用いる場合は、その型のコンテンツを記憶する省略時位置があるかどうか判定してよい。例えば、コンテンツがマイクロソフト・ワードのファイルの場合は、インストーラは、装置の構成設定をチェックしてマイクロソフト・ワードのファイル用の省略時位置が指定されているかどうかを調べ、指定されている場合は、その位置を用いてコンテンツを記憶する。かかる省略時位置が存在しない場合は、またはインストーラを用いない場合は、装置管理者はコンテンツを記憶する省略時位置を指定してよい。
新しいコンテンツを装置に記憶し終わると、プロセスは、ステップ620に戻り、追加すべき別のコンテンツが存在するかどうか判定する。存在する場合は、上に述べたプロセスを繰り返すが、追加すべき別のコンテンツが存在しない場合は、プロセスは、ステップ645に進み、現在のプロフィールをコンテンツ記録560として記憶する。好ましい実施の形態では、この段階で装置は、現在のプロフィールに示された全てのコンテンツを含むはずである。しかし何らかの理由で装置がプロフィル内のコンテンツの或る特定の項目を取り込むことができなかった場合(例えば、対応するサーバがそのときに動作していなかった場合)は、単に現在のプロフィール自身を記憶するのではなく、コンテンツ記録560を更新し、プロフィルに従って装置に取り込まれた実際のコンテンツを反映するのが好ましい。コンテンツ記録を更新し終わると、プロセスは、ステップ655に進み、プロセスは、終了する。
上の説明から理解されるように、本発明の好ましい実施の形態のシステムは、異なる異質の分散された装置を管理するプラットホームを与える。かかる装置は、コンピュータやデジタル移動電話やセットトップ・ボックスを含むが、これらに限られるわけではない。好ましい実施の形態のシステムは、ユーザが介入することなく、アプリケーションを含むほとんど全ての種類のコンテンツを自動的に分配し、インストールし、削除するための特有の機構を与える。システム管理者は、管理ツールを用いて各装置または装置のグループのコンテンツのプログラムを構築する。クライアント側の少数のコードは、サーバが生成したプロフィールと、以前のプロフィールに従って装置上に記憶されたコンテンツの記録とを所定の間隔で比較する。新しいまたは更新されたコンテンツを全て自動的に取り込み、インストールし、全ての機能停止したコンテンツを削除する。好ましい実施の形態では、サーバと管理ツールとクライアント・プログラムは、全てジャバを用いる。
上記のシステムの多様性を示すため、次の例示のシナリオを示す。
第1に、会社のネットワークのメンバが新しい装置を導入する場合を考える。本発明の好ましい実施の形態では、同期をとる間に装置は、所有者の識別を問い合わせる。サーバは、ディレクトリ・サーバ内にユーザが存在することを確かめ、そのユーザが所有するものとして装置を自動的にインストールする。階層構造内のその位置に基づいて装置にプロフィールを割り当てて、その該当するコンテンツを自動的に受ける。
第2の例として、組織単位のメンバが機能を変更した場合を考える。本発明の好ましい実施の形態では、階層構造内のユーザのアイコンをその新しい機能を表す部門までドラッグ・アンド・ドロップする。これにより一組のコンテンツを自動的に更新し、ユーザの装置が次回にプロフィールを受けるときに、この変更を反映する。
別の例として、或るチームが移動電話のプールを操作する場合を考える。通常、ディレクトリ・サーバ内の組織の単位がこれらを所有する。ユーザが装置を要求すると、装置を組織の単位からユーザのアイコン上にドラッグし、そのユーザに適したコンテンツを装置に自動的に与える。
更に別の例として、新しいプログラムを導入する場合を考える。管理者は、前に説明したパッケージャの1つを用いて新しいプログラムをパッケージし、パッケージ化されたコンテンツをウエブ・サーバに移し、サーバ30にそのコンテンツのネットワーク位置を伝える。これにより対応するコンテンツ識別子を生成して、階層構造内の該当する部門/装置に関連付ける。
最後に、プログラムを更新するシナリオを考える。プログラムが前に説明したパッケージャの1つを用いて適当な方法でパッケージ化されている場合は、改良品として自動的に分配され、図13Aから図13Dを参照して前に説明したプロセスに従って改良品はインストールされる。
本発明の特定の実施の形態を説明したが、本発明は、これに限定されるものではなく、本発明の範囲内で多くの変更や追加を行ってよいことは明らかである。例えば、本発明の範囲から逸れることなく、従属クレームの機能と独立クレームの機能とを種々に組み合わせることができる。

Claims (17)

  1. 装置へのコンテンツの分配を管理するシステムであって、
    コンテンツを受信する装置と、
    複数の要素を装置の階層構造として記憶し、コンテンツ識別子を前記階層構造内の各要素に関連付けることができ、前記要素の1つは前記装置を表すデータベースと、
    前記データベース内の前記階層構造を参照して、前記装置に与えるコンテンツを示す複数のコンテンツ識別子を含む前記装置のプロフィールであって、前記装置を表す要素に関連する任意のコンテンツ識別子と前記階層構造内でその要素が依存する要素に関連する任意のコンテンツ識別子を含む前記装置のプロフィールを生成するサーバと、
    前記データベース上に記憶された前記階層構造を管理するユーザが前記階層構造を管理し任意の要素を前記階層構造内の前記任意の要素の新しい機能または役割を表す部門に動かすためのインターフェースを与えるコンピュータ・プログラムにより制御される管理ツールとして動作するコンピュータと、
    を備え、
    前記装置は、更に、装置管理プログラムによって、前記サーバから前記プロフィールを受信し、前記プロフィール内のコンテンツ識別子を用いて前記プロフィールが示すコンテンツを前記装置に与え、前記プロフィールに従って前記装置に与えた前記コンテンツを識別する記録を保持るように構成され、
    前記装置は、更に、前記装置管理プログラムによって、前記サーバから後続のプロフィールを受信すると、前記後続のプロフィール内のコンテンツ識別子と前記記録とを比較して、まだ前記装置に与えられていない新しいコンテンツと今後は前記装置に与えられない古いコンテンツとを決定し、前記関係するコンテンツ識別子を用いて前記新しいコンテンツを前記装置に与え記古いコンテンツを削除するように構成される前記システム。
  2. 前記各コンテンツ識別子は、対応するコンテンツの名前と、そのコンテンツを得ることができる位置を識別する位置標識とを与える請求項1記載のシステム。
  3. 複数の異なる型のコンテンツの前記分配は、前記システムが管理し、前記コンテンツ識別子は、対応するコンテンツの型を更に識別する請求項2記載のシステム。
  4. 前記コンテンツは、インターネットを介してコンタクトすることができるサーバ上に記憶され、前記位置標識は、URLアドレスである請求項2または3に記載のシステム。
  5. 前記装置が前記コンテンツを受信したとき前記コンテンツを処理するのに必要なコンテンツ情報を関連付けるための複数のパッケージャを更に含む請求項1から4のいずれかに記載のシステム。
  6. 複数の異なる型のコンテンツの前記分配は、前記システムが管理し、コンテンツの型毎にパッケージャを設ける請求項5に記載のシステム。
  7. コンテンツに関連する情報は、前記コンテンツを前記装置上にインストールするのに用いるインストーラの識別を含む請求項5または6記載のシステム。
  8. 前記要素は、1つ以上の部門を含み、各部門は、装置の論理的グループを表し、前記管理ツールにより部門を作成し削除することとコンテンツ識別子を各部門に関連付けることができる請求項1記載のシステム。
  9. 前記サーバが生成するプロフィールは、前記装置に関連する全てのコンテンツ識別子と、前記階層構造内で前記装置が依存する部門に関連する全てのコンテンツ識別子とを含む請求項8に記載のシステム。
  10. 前記管理ツールにより人識別子は、前記階層構造内の要素として与えられる個人を識別することができるようにされ、前記管理ツールを用いて前記階層構造内で前記装置とその装置を所有する個人とを関連付けることができる請求項1から9のいずれかに記載のシステム。
  11. 前記装置は、更に、前記装置管理プログラムによって、所定の間隔で前記サーバに接続して前記プロフィールを要求し、前記プロフィールを要求した装置を前記サーバに識別させるように構成され請求項1から10のいずれかに記載のシステム。
  12. 複数の異なる型のコンテンツの前記分配は、前記システムが管理し、前記型の少なくとも1つは、コンピュータ・プログラムである請求項1から11のいずれかに記載のシステム。
  13. 前記データベースは、リレーショナル・データベースである請求項1から12のいずれかに記載のシステム。
  14. 請求項1から13のいずれかに記載のシステムに用いられるサーバを制御するコンピュータ・プログラムを提供する記憶媒体であって、前記データベースを参照して前記装置のプロフィールを生成し、前記プロフィールを前記装置に送信するコンピュータ・プログラムを提供し、更に請求項1から13のいずれかに記載のシステム内の管理ツールとして動作するコンピュータを制御するコンピュータ・プログラムを提供し、前記コンピュータ・プログラムは、前記データベース上に記憶された前記階層構造をユーザが管理できるようにするインターフェースを与える記憶媒体。
  15. 前記階層構造内の要素は、1つ以上の部門を含み、各部門は、装置の論理的グループを表し、前記管理ツールにより、部門を成し削除することとコンテンツ識別子を各部門に関連付けることができる請求項14記載の記憶媒体。
  16. 前記管理ツールにより人識別子は、前記階層構造内の要素として与えられる個人を識別することができるようにされ、前記管理ツールを用いて前記階層構造内で前記装置とその装置を所有する個人とを関連付けることができる請求項14または15記載の記憶媒体。
  17. 装置へのコンテンツの分配を管理する方法であって、
    サーバは、複数の要素を装置の階層構造としてデータベース内に記憶するステップであって、コンテンツ識別子を前記階層構造内の各要素に関連付けることができ、前記要素の1つは、前記装置を表すステップと、
    サーバは、前記データベース内の前記階層構造を参照して、前記装置に与えるコンテンツを示す複数のコンテンツ識別子を含む装置のプロフィールであって、前記装置を表す要素に関連する任意のコンテンツ識別子と前記階層構造内でその要素が依存する要素に関連する任意のコンテンツ識別子を含む前記装置のプロフィールを生成するステップと、
    前記装置は、装置管理プログラムを用いて、前記プロフィール内のコンテンツ識別子を参照して、前記プロフィールが示すコンテンツを前記装置に与え前記プロフィールに従って前記装置に与えた前記コンテンツを識別する記録を保持するステップと、
    前記装置は、前記装置管理プログラムを用いて、後続のプロフィールを受信すると、前記後続のプロフィール内のコンテンツ識別子と前記記録とを比較して、まだ前記装置に与えられていない新しいコンテンツと今後は前記装置に与えられない古いコンテンツとを決定し、前記関係するコンテンツ識別子を用いて記新しいコンテンツを前記装置に与え前記古いコンテンツを削除するステップと、を含み
    管理ツールとして動作するコンピュータは、前記データベース上に記憶された前記階層構造を管理するユーザが前記階層構造を管理し任意の要素を前記階層構造内の前記任意の要素の新しい機能または役割を表す部門に動かすためのインターフェースを与えるコンピュータ・プログラムにより制御される前記方法。
JP2013126621A 1999-04-30 2013-06-17 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体 Expired - Lifetime JP5613295B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
GBGB9910164.4A GB9910164D0 (en) 1999-04-30 1999-04-30 The distributed management of network devices
GB9910164.4 1999-04-30
GB9922348.9 1999-09-21
GBGB9922348.9A GB9922348D0 (en) 1999-04-30 1999-09-21 The distributed management of network devices
GB9923640A GB2352539B (en) 1999-04-30 1999-10-06 A system and method for managing distribution of content to a device
GB9923640.8 1999-10-06

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010283610A Division JP2011076628A (ja) 1999-04-30 2010-12-20 装置へのコンテンツの分配を管理するシステムと方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014125570A Division JP5886901B2 (ja) 1999-04-30 2014-06-18 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体

Publications (2)

Publication Number Publication Date
JP2013229042A JP2013229042A (ja) 2013-11-07
JP5613295B2 true JP5613295B2 (ja) 2014-10-22

Family

ID=10852683

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2000615887A Expired - Lifetime JP5010776B2 (ja) 1999-04-30 2000-04-20 装置へのコンテンツの分配を管理するシステムと方法
JP2010283610A Pending JP2011076628A (ja) 1999-04-30 2010-12-20 装置へのコンテンツの分配を管理するシステムと方法
JP2013126621A Expired - Lifetime JP5613295B2 (ja) 1999-04-30 2013-06-17 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体
JP2014125570A Expired - Lifetime JP5886901B2 (ja) 1999-04-30 2014-06-18 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2000615887A Expired - Lifetime JP5010776B2 (ja) 1999-04-30 2000-04-20 装置へのコンテンツの分配を管理するシステムと方法
JP2010283610A Pending JP2011076628A (ja) 1999-04-30 2010-12-20 装置へのコンテンツの分配を管理するシステムと方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014125570A Expired - Lifetime JP5886901B2 (ja) 1999-04-30 2014-06-18 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体

Country Status (3)

Country Link
JP (4) JP5010776B2 (ja)
GB (2) GB9910164D0 (ja)
IL (1) IL145993A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
WO2005115036A1 (en) * 2004-05-18 2005-12-01 Kyocera Wireless Corp. Modular data components for wireless communication devices
JP4843428B2 (ja) * 2005-09-16 2011-12-21 株式会社リコー 情報処理装置、情報処理方法、及び情報処理システム
EP1826716A1 (en) * 2006-02-22 2007-08-29 Sony Deutschland Gmbh Method for updating a user profile
KR100853426B1 (ko) 2006-12-20 2008-08-21 한국생산기술연구원 인간형 로봇의 장치관리자 및 관리 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994025913A2 (en) * 1993-04-30 1994-11-10 Novadigm, Inc. Method and apparatus for enterprise desktop management
JPH0969076A (ja) * 1995-08-31 1997-03-11 Fujitsu Ltd 端末環境情報管理システム
JPH09244985A (ja) * 1996-03-11 1997-09-19 Fuji Xerox Co Ltd コンピュータ装置
JPH1031699A (ja) * 1996-07-18 1998-02-03 Hitachi Ltd 人事異動支援システム
JPH10124301A (ja) * 1996-10-15 1998-05-15 Nitsuko Corp 端末sotのプログラム受信方法
JPH10124419A (ja) * 1996-10-24 1998-05-15 Nri & Ncc Co Ltd クライアントサーバーシステムにおけるソフトウェア及びデータの整合配布方法
JP3766197B2 (ja) * 1997-01-21 2006-04-12 株式会社東芝 ソフトウエア流通方法およびサーバ装置およびクライアント装置
KR100241894B1 (ko) * 1997-05-07 2000-02-01 윤종용 개인통신 시스템의 코드분할 접속방식 기지국 시스템에서 소프트웨어 관리방법
JPH1153243A (ja) * 1997-08-05 1999-02-26 Hitachi Ltd コンピュータシステム及びその処理プログラムを記録した媒体
JPH1195989A (ja) * 1997-09-24 1999-04-09 Ntt Data Corp プログラム更新方式
JPH11119980A (ja) * 1997-10-17 1999-04-30 Hitachi Ltd ソフトウエア配布指示支援方法

Also Published As

Publication number Publication date
JP5010776B2 (ja) 2012-08-29
GB9910164D0 (en) 1999-06-30
JP2013229042A (ja) 2013-11-07
GB9922348D0 (en) 1999-11-24
JP5886901B2 (ja) 2016-03-16
JP2002543515A (ja) 2002-12-17
JP2011076628A (ja) 2011-04-14
JP2014209365A (ja) 2014-11-06
IL145993A (en) 2006-08-20

Similar Documents

Publication Publication Date Title
EP1185923B1 (en) A system and method for managing distribution of content to a device
US6895586B1 (en) Enterprise management system and method which includes a common enterprise-wide namespace and prototype-based hierarchical inheritance
US6505214B1 (en) Selective information synchronization based on implicit user designation
US7269664B2 (en) Network portal system and methods
CN102185900B (zh) 一种应用服务平台系统和一种开发应用服务的方法
US7275243B2 (en) Mobile download system
US8234639B2 (en) Autonomic auto-configuration using prior installation configuration relationships
RU2417416C2 (ru) Развертывание решений в ферме серверов
US20030195951A1 (en) Method and system to dynamically detect, download and install drivers from an online service
US7133933B2 (en) Content synchronization frameworks using dynamic attributes and file bundles for connected devices
US20060190806A1 (en) Systems and method for deploying a software application on a wireless device
JP5886901B2 (ja) 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体
US20050160088A1 (en) System and method for metadata-based distribution of content
US20070005662A1 (en) Extensible and automatically replicating server farm configuration management infrastructure
US20030037097A1 (en) Accessing information content
WO2001086882A2 (en) System and method for extending an enterprise network to mobile devices
MX2007015887A (es) Flujos de trabajos centricos de datos.
WO2015154435A1 (zh) 软件参数的管理方法及装置
US20080229274A1 (en) Automating Construction of a Data-Source Interface For Component Applications
CN107483241A (zh) 一种在网元升级过程中下载升级镜像版本的方法和装置
US20050060397A1 (en) Method and system for managing a computer system
US9241024B2 (en) File system interface to web and network services
JP2005202851A (ja) 仮想私設組織に対するポリシの実施システム及びその方法
CN202077062U (zh) 一种应用服务平台系统
GB2352539A (en) A method and system for managing distribution of content to a device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140618

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140714

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: 20140808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140905

R150 Certificate of patent or registration of utility model

Ref document number: 5613295

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term