JP3670965B2 - ユーザ及びユーザ・グループ又は端末及び端末グループのコンテキストに従って階層データ構造におけるアプリケーション・プリファレンスを維持するためのクライアント/サーバ・システム - Google Patents

ユーザ及びユーザ・グループ又は端末及び端末グループのコンテキストに従って階層データ構造におけるアプリケーション・プリファレンスを維持するためのクライアント/サーバ・システム Download PDF

Info

Publication number
JP3670965B2
JP3670965B2 JP2000547744A JP2000547744A JP3670965B2 JP 3670965 B2 JP3670965 B2 JP 3670965B2 JP 2000547744 A JP2000547744 A JP 2000547744A JP 2000547744 A JP2000547744 A JP 2000547744A JP 3670965 B2 JP3670965 B2 JP 3670965B2
Authority
JP
Japan
Prior art keywords
user
group
preferences
server
applet
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
JP2000547744A
Other languages
English (en)
Other versions
JP2003505745A (ja
Inventor
ヘイズ、ケント、フィルモア、ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2003505745A publication Critical patent/JP2003505745A/ja
Application granted granted Critical
Publication of JP3670965B2 publication Critical patent/JP3670965B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

【0001】
本発明は、概して云えば、パーソナル・コンピューティング及びネットワーキングの分野に関するものである。詳しく云えば、本発明は、デスクトップ・コンピュータのユーザが、企業のイントラネット、インターネットのようなネットワークに接続された、又はそのデスクトップ・コンピュータ上で実行されるアプリケーションへのアクセスを得るためにネットワーク又はインターネット・サービス・プロバイダ(ISP)に接続された、ディスクレスでもよいパーソナル・コンピュータを使用するという新規な、しかも発展段階にあるネットワーク・コンピューティングの分野に関するものである。更に詳しく云えば、本発明は、サーバから検索され、デスクトップ・コンピュータにおいて実行されるソフトウエアに対するソフトウエア・プリファレンス(コンフィギュレーション・データ)のサーバ・ベースの記憶装置に関するものである。
【0002】
ネットワーク・コンピュータの分野は、現在、それの幼年期にある。しかし、それは、多くの理由により、特に企業環境において急速に発展することが期待されている。その期待は、企業及び、場合によっては個人ユーザが、ハードウエア及びソフトウエアのアップグレード時期に達する時、ディスク搭載型コンピュータによって及びローカル的に記憶され且つ管理されたソフトウエア・アプリケーションによって伝統的な方法でアップグレードするよりも、この新しい分野への移行がもっと効率的な且つもっと安価なものになるであろうと、いうことである。例えば、企業環境においては、ユーザは、例えば、インターネットのTCP/IP及びHTTPプロトコルを使用して企業のイントラネットに接続されることが可能であり、ソフトウエア・アプリケーションが必要とされる時には、それらのソフトウエア・アプリケーションをネットワーク・サーバからデスクトップ・コンピュータにダウンロードすることが可能である。或るアプリケーションは、有用な仕事を遂行するために、デスクトップにおいてユーザによる伝統的な方法で実行される。このコンフィギュレーションの利点は、ネットワーク・コンピュータが伝統的なディスク搭載型コンピュータよりもかなり安価であるということである。又、各ユーザに対してソフトウエアの個々のコピーを購入するよりも、それらのユーザに対して必要な数のソフトウエア・ライセンスを購入する方が少ない費用で済むかも知れない。確かに、多数の企業ユーザに伴うソフトウエア管理の問題はかなり減少するであろう。現時点では、ディスク搭載型コンピュータ又はワークステーションの各ユーザは事実上ユーザ自身のシステム・アドミニストレータであることが多く、専門的な知識の欠如のために過度にリソースを浪費することが多い。多くのユーザをソフトウエアの導入、アップグレード、及びコンピュータ管理という問題と苦闘させるよりも、少数のサーバ管理の専門家にその問題の負担を事実上譲ることによってこの問題を排除する方が大変有利であると考えられる。
【0003】
上記のように、このようなパーソナル・コンピューティングの将来に関する見方は現時点では幼年期にある。その結果、現時点では、既存のシステムに伴う多くの問題点及び欠点が存在する。
【0004】
一般には、ネットワーク・サーバにおいて記憶されるユーザ・プロファイルをアドミニストレータが作成する。それらのプロファイルは、ユーザのデスクトップ・プリファレンス及びサーバにおいて常駐し得る種々のソフトウエア・アプリケーションへのアクセスに対するユーザの許可のような種々のタイプの情報を含み得るものである。ユーザがシステムをログ・オンする時、ユーザはサーバに対して自分自身を識別し、サーバはそのユーザに対するプロファイルを見つけ、それをユーザのコンピュータに送る。ユーザのコンピュータでは、それがコンピュータを環境設定するために及びデスクトップを汎用化するために使用される。デスクトップは、そのユーザがアクセスすると思われるアプリケーションを表す多数のアイコンを持っていてもよい。プロファイルは、例えば、そのユーザに特有のデスクトップのバックグラウンド・カラー、デスクトップにおいて使用される文字のフォント及びポイント・サイズ、又はデータ・ファイル・サーチ・パス等のようなそのコンピュータ及びデスクトップに関するその他の属性を含むこともある。プロファイルは、ユーザが修正可能なものであってもよく、或いは修正不可能なものであってもよい。
【0005】
ユーザが自分自身のプロファイルを修正することができる環境では、修正されたプロファイルがログ・オフ時にサーバにアンロードされ、ユーザの次のログ・オン時における検索に備えて記憶される。或る従来技術のシステムにおいては、我々の知っている限りでは、ユーザは、そのユーザがサーバにおいて存在しても或いは存在していなくても、及びそのユーザがサーバにおけるアプリケーションに対するアクセス許可を持っていても或いは持っていなくても、アプリケーション・アイコンの任意のコンフィギュレーションを自分のデスクトップ上に発生することでできる。ロータス・ワークプレース・デスクトップ"Lotus Workplace Desktop"(以前は、コナ・デスクトップ "Kona Desktop"と呼ばれた)システムはこのタイプのオペレーションの一例である。別のシステムでは、サーバが持っていて且つユーザが選出することができるすべてのアプリケーションのリストをサーバがユーザに表示する。この場合、デスクトップに組み込むためにそのリストから選択されるアプリケーションに対するアクセス許可をそのユーザが実際に持っているという保証はない。サン・ホットJavaビューズ(Sun Hot Java Views)システムはこのタイプのシステムの一例である。換言すれば、従来技術のシステムは、ユーザがデスクトップ・アプリケーション・アイコンのセットに対して環境設定することが可能であるものとユーザが実際にアクセス許可を持っているアプリケーションとの間には相関関係はない。そのような場合、ユーザが或るアプリケーションを実行するためにアイコンをクリックする時、アクセス許可が存在しない場合には(無許可アクセス・メッセージのような)エラー・メッセージが生じることがあり、或いは、更に悪い場合にはユーザのコンピュータがクラッシュすることがある。
【0006】
既存の技術に関するもう1つの制限事項は、ユーザ、ユーザ・グループ、端末、及び端末のグループをモデルとするためにフラットなデータ構造が使用されるということである。コンピュータ・リソースに対するユーザ・アクセスを管理するための一般的なスキームをモデルとして、既知のネットワーク・コンピュータ・インプリメンテーション(例えば、デスクトップ用ロータス管理機構(Lotus Administration Facility for Desktop)、マイクロソフト・ウィンドウズNTプロファイル及びポリシー(Microsoft Windows NT Profiles and Policies)、及びサン・ホットJavaビューズ)は、種々なコンテキストでソフトウエア・プリファレンス(又はアトリビュート)を管理するためにサーバにおいてフラットな「グループ」構造をインプリメントしている。本願において使用される「コンテキスト」は、個々のユーザ、ユーザ・グループ、端末、又は端末グループを指す。サーバにおいてソフトウエア・プリファレンスを管理するための如何なるグループ化構造も、アドミニストレータがユーザの種々なグループ及び個々のユーザに対するプリファレンス・アトリビュートを定義することを可能にする。しかし、フラットなシステムは多くの環境において、特に、多数のユーザを有する環境において融通性がない。プリファレンス情報の編成を支援する管理ツールを階層構造の中に設けることが望ましい。
【0007】
既存のシステムに関するもう1つの制限事項は、アドミニストレータ及びユーザがワークステーション・デスクトップのユーザ・コンフィギュレーションを行わなければならないという点でそれらが制限されるということである。例えば、アドミニストレータは、現時点では、ユーザ・アプリケーションとは別個の、しかしそのユーザ・アプリケーションと関連したコンフィギュレーション・プログラムを使用してユーザ・プリファレンスを環境設定することを要求される。ベンダが単一のアプリケーションしか提供しないことを可能にすることが望ましい。ベンダからのエンド・ユーザ・アプリケーションしか必要としないということは、中央の管理機構がユーザ又はユーザ・グループに関連したエンド・ユーザ・アプリケーションを実行することができるということを必要とする。従来技術は、オペレーションに関するこの管理上の融通性を許容するものではない。換言すれば、従来技術では、我々の知っている限りでは、アドミニストレータは、ユーザに関連してユーザ・アプリケーションを走らせてそのユーザ及びアプリケーションに対するプリファレンスを設定するという能力を持つものではない。更に、従来技術では、アドミニストレータは、1つのユーザ・グループのコンテキストにおいてプリファレンスを設定するためにユーザ・アプリケーションを走らせることができない。
【0008】
発明者が知っている従来技術における更にもう1つの制限事項は、サーバにおける種々のアプリケーションに関連したユーザ・プリファレンスを記憶するための独特の空間が予約されることを保証するために、サーバの永続記憶空間を区分するという方法である。発明者が知る限りでは、1つのオブジェクトがそれの完全に修飾されたクラス名(そのクラス名は独特に自己識別し、それを他のクラス名から区別する)に関して照会されることがあるというオブジェクト指向のシステムにおける衝突を防ぐという問題は、ベンダに適用する独特の呼称を中央の第1権限者に割り当てさせることによって、及び各ベンダ・アプリケーションに対するその第1呼称に関連した第2呼称をベンダにおける第2権限者に割り当てさせることによって解決される。例えば、ベンダAは第1権限者によってベンダAという呼称を割り当てられることがあり、その呼称は、第1権限者が活動しているアーキテクチャにおいては独特のものであることを保証する。次に、ベンダAにおける第2権限者がそのアーキテクチャにおけるそれのアプリケーションの各々に対して第2呼称を割り当てる。例えば、ベンダAのアプリケーションの1つは「ベンダAアプリケーション1(vendorA.App1)」と指定されてもよく、他のアプリケーションは「ベンダAアプリケーション2(vendorA.App2)」と指定されてもよい。従来技術は、種々のアプリケーションに対するプリファレンス・データが記憶装置において衝突しないことを保証するために、システムにおける各アプリケーションに対して独特の呼称をそのシステムの永続記憶装置におけるロケーションにマップする。アプリケーションは、それが走っている時、ネットワーク・コンピュータ・サーバにそれの独特の記憶ロケーションを知らせる。しかも、プリファレンス情報を記憶するためのコンテキスト(ユーザ、ユーザ・グループ、端末、又は端末グループ)に従って開始ロケーションにおけるエリアを区分して、異なるコンテキストにおけるプリファレンス情報と衝突しないようにすることはユーザの責任である。明らかに、記憶空間を管理するというこの方法は扱いにくく、望ましくない。プリファレンス情報の記憶装置における衝突を防ぐという目的で独特の呼称を中央の権威者に割り当てさせるという要求事項に頼ることなく、及び記憶ロケーション情報をアプリケーションにコード化することなく、前述のオブジェクト指向アプリケーションに対するプリファレンス情報を記憶するための独特の記憶ロケーションを自動的に生成するための方法を工夫することが望ましい。
【0009】
従来技術における更にもう1つの制限事項は、既存のハードウエア及びアプリケーションに対する変更を必要とすることなく、既存のハードウエア及びアプリケーションを、集中管理されたネットワーク・コンピューティング・ワールドの環境に移行させるための何らかの対策の欠如にある。既存のハードウエア、例えば、ネットワーク環境における端末は、起動時に、サーバに設けられた特定のフォーマットのファイルからそれのコンフィギュレーション情報を得る。端末は、それのコンフィギュレーションファイルをアクセスする方法を知るようにプログラムされている。端末は、サーバからそのファイルをアクセスするために独特の識別子を使用する。その独特の識別子は、端末のメディア・アクセス・コントロール(MAC)アドレスであることが多い。しかし、端末が指定されるものとは異なるプロトコル及びAPIを伴う新しい集中管理された環境では、端末はその新しい環境においてプリファレンス情報をアクセスすることができず、それが指定される方法でそれの環境ファイルをアクセスすることができるだけである。数多くのそのような既存の装置が使用されているので、これは深刻な問題である。新しいシステムにおいてそれらを使用することができないということは、ユーザが新しいシステムに移行しようとする動機を大いに妨げることになる。
【0010】
従来技術における更にもう1つの制限事項は、アドミニストレータとコンフィギュレーション・マネージメント・システムとの間のインターフェースに関連する。種々のユーザ及びユーザ・グループ並びに端末及び端末グループに対するプリファレンス情報を環境設定するように管理機構においてソフトウエアを環境設定する時、管理ソフトウエアは、その機構で走っているアドミニストレータによって設定されたコンテキスト(ユーザ、ユーザ・グループ、端末、及び端末グループ)において立ち上げる。アプリケーションを走らせているコンテキストをアドミニストレータが変更する時、アプリケーションは、その新しいコンテキストに対するコンフィギュレーション情報をロードするために再び立ち上げられる必要がある。コンテキストが変更される度にソフトウエアを再び立ち上げるというプロセスは時間浪費するものであり、特に、多くのユーザを持つシステムにおけるアドミニストレータにとっては不便である。そのようなシステムでは、アプリケーションを環境設定している時、アドミニストレータが何回もコンテキストを変更することが予想される。
【0011】
1つの局面によれば、本発明は、1つのサーバと複数のユーザ・ステーションとを相互接続するネットワークを含み、サーバはユーザ・ステーションにダウンロードするための複数のユーザ・アプリケーションを記憶するというネットワーク・システムにおいて、ユーザ・ステーションおいて実行されるアプリケーションに対するユーザ・コンフィギュレーション・プリファレンスを管理する方法を提供する。
【0012】
その方法は、すべてのシステム・ユーザを含む全ユーザ・グループ・ノードと、複数の下位グループ・ノードにして各々がそれらのユーザのうちの下位グループ・ノードによって表されたグループに属する選択されたユーザを含む複数の下位グループ・ノードとからなるツリー階層でそのシステムのすべてのユーザを表すステップであって、各ノードがそのシステムにおける使用可能なアプリケーションのうちの選択されたアプリケーションに対するコンフィギュレーション・プリファレンスを含む、ステップと、
複数のグループのメンバである各ユーザに対してグループ優先順位を割り当てるステップと、
選択されたアプリケーションの実行をリクエストする任意の所定のユーザに関して、そのユーザに対するグループ優先順位を決定するステップと、
その選択されたアプリケーションに対する一組のプリファレンスを取り出し得るグループ優先順位リストから第1グループを決定すること、
全ユーザ・グループ・ノードから第1グループにツリーをトラバースすることによってプリファレンスをその選択されたアプリケーションに対するセットに合体させること、
その選択されたアプリケーションに対する各ノードにおいて指定されたプリファレンスを収集すること、
各ノードが、その選択されたアプリケーションに対する当該ノードにおいて指定されたプリファレンスによってトラバースされる時、その収集されたプリファレンスを修正すること、
によってツリーから一組のコンフィギュレーション・プリファレンスを形成するステップと、
を含む。
【0013】
第2の局面によれば、本発明は、1つのサーバ及び複数のユーザ・ステーションを相互接続するネットワークを含み、サーバは、ユーザ・ステーションにダウンロードするための複数のユーザ・アプリケーションをサーバが記憶するというネットワーク・システムにおいて、ユーザ・ステーションにおいて実行されるアプリケーションに対するユーザ・コンフィギュレーション・プリファレンスを管理するための装置を提供する。
【0014】
前記装置は、すべてのシステム・ユーザを含む全ユーザ・グループ・ノードと複数の下位グループ・ノードにして各々がそれらのユーザのうちの下位グループ・ノードによって表されたグループに属する選択されたユーザを含む複数の下位グループ・ノードとからなるツリー階層でそのシステムのすべてのユーザを表すための手段であって、各ノードがそのシステムにおける使用可能なアプリケーションのうちの選択されたアプリケーションに対するコンフィギュレーション・プリファレンスを含む、手段と、
複数のグループのメンバである各ユーザに対してグループ優先順位を割り当てるための手段と、
選択されたアプリケーションの実行をリクエストする任意の所定のユーザに関して、そのユーザに対するグループ優先順位を決定するための手段と、
その選択されたアプリケーションに対する一組のプリファレンスを取り出し得るグループ優先順位リストから第1グループを決定すること、
全ユーザ・グループ・ノードから第1グループにツリーをトラバースすることによってプリファレンスをその選択されたアプリケーションに対するセットに合体させること、
その選択されたアプリケーションに対する各ノードにおいて指定されたプリファレンスを収集すること、及び
各ノードが、その選択されたアプリケーションに対する当該ノードにおいて指定されたプリファレンスによってトラバースされる時、その収集されたプリファレンスを修正すること、
によってツリーから一組のコンフィギュレーション・プリファレンスを形成するための手段と、
より成る。
【0015】
第3の局面によれば、本発明は、1つのサーバ及び複数のユーザ・ステーションを相互接続するネットワークを含み、サーバは、ユーザ・ステーションにダウンロードするための複数のユーザ・アプリケーションを記憶するというネットワーク・システムにおいて、ユーザ・ステーションにおいて実行されるアプリケーションに対するユーザ・コンフィギュレーション・プリファレンスを管理する方法をコンピュータ上でランする時に実行するためのコンピュータ読み取り可能な記憶媒体に記憶されたコンピュータ・プログラム製品を提供する。
【0016】
上記方法は、すべてのシステム・ユーザを含む全ユーザ・グループ・ノードと、複数の下位グループ・ノードにして各々がそれらのユーザのうちの下位グループ・ノードによって表されたグループに属する選択されたユーザを含む複数の下位グループ・ノードとからなるツリー階層でそのシステムのすべてのユーザを表すステップであって、各ノードがそのシステムにおける使用可能なアプリケーションのうちの選択されたアプリケーションに対するコンフィギュレーション・プリファレンスを含む、ステップと、
複数のグループのメンバである各ユーザに対してグループ優先順位を割り当てるステップと、
選択されたアプリケーションの実行をリクエストする任意の所定のユーザに関して、そのユーザに対するグループ優先順位を決定するステップと、
その選択されたアプリケーションに対する一組のプリファレンスを取り出し得るグループ優先順位リストから第1グループを決定すること、
全ユーザ・グループ・ノードから第1グループにツリーをトラバースすることによってプリファレンスをその選択されたアプリケーションに対するセットに合体させること、
その選択されたアプリケーションに対する各ノードにおいて指定されたプリファレンスを収集すること、及び
各ノードが、その選択されたアプリケーションに対する当該ノードにおいて指定されたプリファレンスによってトラバースされる時、その収集されたプリファレンスを修正すること、
によってツリーから一組のコンフィギュレーション・プリファレンスを形成するステップと、
を含む。
【0017】
本願において開示されるシステムは、クライアント/サーバ環境においてユーザ及びアプレットのためのコンフィギュレーション情報に対して共通のリポジトリを提供する。これは、クライアント・プロファイル管理と呼ばれる。システムは、ユーザがローミングすること、即ち、任意の時間にシステムにおける任意のコンピュータからログ・インすること及びそのユーザのためにサーバに記憶されたプリファレンスに従って任意の時間にそれを自動的に環境設定させることを可能にする。望ましい実施例はJavaベースのシステムであり、クライアント・コンピュータがJavaアプリケーションを実行するように配列されたウェブ・ブラウザ・インターフェースを使用する(Javaは、サン社(Sun Inc.)の商標である)。従って、望ましい実施例では、ユーザ・アプレット及びデスクトップ・アプレットはJavaアプレットであると仮定する。しかし、それは、本発明をJava環境に限定することを意図するものではない。ローカル的に記憶されたアプリケーションに対するプリファレンスは伝統的な方法でローカル的に記憶されてもよく、一方、サーバ・ベースのアプレットに対するプリファレンスは本願において開示された方法で処理されてもよい。
【0018】
本発明は、システムのユーザ、ユーザ・グループ、端末、及び端末グループのユーザを1つの階層としてモデル化すること、並びに各グループ及び個々のユーザに対するデスクトップ及びユーザ・アプリケーション・プリファレンスを別々に設定することを可能にする。或る選択されたグループ・コンテキスト、例えば、システムのすべてのユーザのグループ、又は一組の選択されたユーザを含む或るサブグループに対して、或る選択されたユーザ・アプレットに対するプリファレンスのデフォルト・セットが決定される。そこで、そのデフォルト・セットは、選択されたグループにおいて特定的に示されたプリファレンスに従って修正される。しかる後、これらのプリファレンスは、本質的にそのユーザに属する一組のプリファレンスによって再び修正される。
【0019】
望ましい実施例では、システムのすべてのユーザが1つのツリー階層で表される。なお、そのツリー階層は、すべてのシステム・ユーザを含む全ユーザ・グループ・ノードと、複数の下位グループ・ノードにして、各々がその下位グループ・ノードによって表されたグループに属する一組の選択されたユーザを含む下位グループ・ノードとより成る。各ノードは、そのシステムにおいて使用可能であるアプリケーションのうちの選択されたアプリケーションに対するコンフィギュレーション・プリファレンスも含む。アドミニストレータは、複数のグループのメンバである各ユーザに対してグループ優先順位を割り当てる。アプリケーションが1つのユーザによって実行される時、そのアプリケーションはサーバからのそれのプリファレンスをリクエストする。先ず、そのユーザに対するグループ優先順位が決定される。しかる後、選択されたアプリケーションに対する一組のプリファレンスを取り出し得るグループ優先順位リストから第1グループを決定すること及びそれらのプリファレンスを合体してその選択されたアプリケーションに対するセットにすることによって、一組のコンフィギュレーション・プリファレンスが形成される。その合体は、ツリーを全ユーザ・グループ・ノードから第1グループまでトラバースすること、各ノードにおいて指定されたその選択されたアプリケーションに対するプリファレンスを収集すること、及びそのノードにおいて指定されたその選択されたアプリケーションに対するプリファレンスに関して各ノードがトラバースされる時にその収集されたプリファレンスを修正することによって遂行される。
【0020】
本発明は、非階層構造が提供し得る編成上の融通性及び管理上の能力よりもずっと多くの編成上の融通性及び管理上の能力を提供することができる。階層構造は、ほとんどの企業の編成をより正確に記述することができる。モデル化される企業が大きければ大きい程、階層的に編成する能力は重要である。
【0021】
本願において開示されるシステムは、クライアント/サーバ環境におけるすべてのユーザ及びアプレットに対するコンフィギュレーション情報のための共通のリポジトリを提供する。これは、クライアント・プロファイル・マネージメントと呼ばれる。システムは、ユーザがローミングすること、即ち、任意の時間にそのシステムにおける任意のコンピュータからログインすること及びサーバに記憶されたプリファレンスに従って実行時にそれを自動的に環境設定させることを可能にする。望ましい実施例はJavaベースのシステムであり、クライアント・コンピュータがJavaプログラムを実行するように調整されたウェブ・ブラウザ・インターフェースを使用する。
【0022】
用語「アプレット(applet)」及び「サーブレット(servlet)」はJavaプログラミング言語の分野における確立された用語であり、それらの用語は当業者にとっては意味を持つものであるので、本願においても使用される。「アプレット」は、Javaイネーブルド・ウェブ・ブラウザにおいて走る独立したソフトウエア・モジュールを指す。「サーブレット」は、Javaイネーブルド・ウェブ・サーバに常駐するソフトウエア・モジュールを指す。本願における用語「アプレット」及び「サーブレット」の使用が如何なる意味においても本発明を限定しようとするものではないことは当然である。説明の便宜上、本願では、語句「コンフィギュレーション・アプレット」は、ワード・プロセッサ、データベース・マネージャ等のようなエンド・ユーザのソフトウエア・アプリケーションに対するプリファレンスを環境設定するために使用されるソフトウエア・モジュールを指すために使用される。ソフトウエア・アプリケーションもJava環境では「アプレット」であるので、本願では、エンド・ユーザのアプリケーションを指すためには、語句「ユーザ・アプレット」又は単なる「アプレット」が使用される。
【0023】
望ましい実施例では、ユーザ・アプレット及びデスクトップ・アプレットはJavaアプレットであると仮定される。しかし、本発明はJava環境に限定されないことは勿論である。本発明は任意のクライアント/サーバ・システムにおいて使用可能である。例えば、望ましい場合には、システムは、財産権のある通信プロトコルを使用するように及び任意の所望のプログラミング言語で書かれそしてコンパイルされたアプリケーションを使用するように設計可能である。更に、望ましいJavaベースの環境において、ディスク・ベースのコンピュータは或るアプリケーションをローカル的にアクセスされてもよく、他のアプリケーションをサーバからアクセスしてもよい。ローカル的に記憶されたアプリケーションに対するプリファレンスは伝統的な方法でローカル的に記憶されてもよく、一方、サーバ・ベースのアプレットに対するプリファレンスは本願において開示された方法で処理可能である。しかし、望ましくは、ローカル的に記憶されたアプリケーションに対するプリファレンスは、本願において開示されたサーバ・ベースのアプレットに対するプリファレンスに加えて、プロファイル・マネージメント・プロパティAPIを使用してサーバに記憶される。
【0024】
簡単なアプリケーション・プログラム・インターフェース(API)は、そのAPIに対して書かれたアプレットがユーザ又はアドミニストレータによって実行される時、そのアプレットがプリファレンス・データを容易に記憶すること及び検索することを可能にする。アプレット・パーミッション及びユーザ・プリファレンスは、グループ・メンバーシップ及び個々のアイデンティティに基づいて定義されることが可能である。
【0025】
クライアント・プロファイル・マネージメントは次のようなサービスを含む。
ログオン・サポート: ユーザ・プロファイルへのマッピング。
ユーザ・サポート: ユーザ識別情報を作成し、ユーザにサービス及びプリファレンスを直接に提供するための管理的機能。
ユーザ・グループ・サポート: ユーザの階層グループを作成し、グループ・メンバーシップに基づいてサービス及びプリファレンスを提供するための管理的機能。
ユーザ・アプレット・コンテキストの透明性: ユーザ・アプレットの実行のコンテキストの自動的な決定。即ち、ユーザ・アプレットの実行及びプロファイル環境の自動的な確立に適用するユーザ及び/又はグループ・プロファイルの決定。
ユーザ・アプレット・プリファレンス・リポジトリ: ユーザ・アプレット・コンフィギュレーション・データのためのコンテキスト・センシティブなサーバ記憶装置。
ダイナミック・ユーザ・アプレット・プリファレンス継承: 継承のオブジェクト指向プリンシパルを介したユーザ・アプレット・プリファレンスの階層的なロード時の合体。
ユーザ・アプレット・アクセス制御: グループ・デフォルト・メンバーシップ特権に基づくユーザ・アプレットの制御。アドミニストレータはデフォルト・グループ特権をオーバーライドし、個々のユーザに対する更なるアクセス特権を許可又は拒否することができる。
【0026】
プロファイル・マネージメントは、これらのタスクが遂行されるフレームワークを提供する。或るタスクは、例えば、ユーザ/グループ・マネージメント、アプレット・リスト、コンテキスト・スイッチング、プリファレンス継承等をプロファイル・マネージメントによって直接にサポートされる。一方、ユーザ・アプレットに特有のコンフィギュレーション・サービスは、通常、クライアント・プロファイル・マネージメント環境においてシステム・アドミニストレータにより呼び出された別のコンフィギュレーション・アプレットによってサポートされる。或るエンド・ユーザ・アプレットは、コンフィギュレーション機能をそのエンド・ユーザ・アプレットの一部として提供することがあり得る。この場合、アドミニストレータは、個々のユーザ及びグループのコンテキストにおいて、それらのユーザ及びグループに対するプリファレンスをセットするために、(別のコンフィギュレーション・アプレットとは対照的に)エンド・ユーザ・アプレットを走らせることができる。
【0027】
第1図は、本発明を実施するための意図された環境に関する1つの高レベルの構成図を示す。ネットワーク100が、デスクトップ・パーソナル・コンピュータ102、モバイル・ラップトップ・コンピュータ104、ワークステーション106(例えば、RISCコンピュータ)のような複数のユーザ・ステーション、アドミニストレータのステーション108、及びサーバ110を相互接続するために設けられる。1つの実施例では、ネットワーク100はローカル・エリア・ネットワークであってもよい。もう1つの実施例では、ネットワーク100は、地理的に変位したサイト(依然としてそのシステムに含まれる)を有する会社のようなエンティティのための広域ネットワーキングを含んでもよい。本発明を実施し得る環境を限定する意図は全くない。むしろ、多くのタイプのステーションを相互接続する任意のタイプのネットワークが想定される。
【0028】
第2図には、プロファイル・マネージメント管理操作環境の高レベル・ブロック図が示される。アドミニストレータ・クライアント・ネットワーク・コンピュータ200がその図の左側に表示され、そのシステムに対するサーバ202が右側に表示される。クライアント及びサーバは、参照番号203として表されたネットワークを介してコミュニケーションを行う。第2図の特定の例は、クライアント・コンピュータがシステム・アドミニストレータのコンピュータであると仮定する。
【0029】
クライアント側におけるプロファイル・マネージャ206は、アドミニストレータがユーザ・レベル及びグループ・レベルの両方においてユーザ・アプレット・プリファレンスを環境設定することを可能にする。アドミニストレータは、新しいユーザ及びグループ階層を作成すること、ユーザを種々のグループに加えること、各グループ及び個々のユーザに対するアプレット・パーミッションを指定することができる。しかも、アドミニストレータは、個々のユーザ又はグループのコンテキストにおいてアプレットを環境設定することができる。アドミニストレータは、ユーザのためのパスワードを追加、削除、及びリセットすることができる。プロファイル・マネージメント・サポートは一般的なユーザにとって透明である。アドミニストレータは、いずれのユーザ又はグループのコンテキストにおいてもプロファイル・マネージャ206を呼び出すことができる。アドミニストレータだけが、自分のコンテキストからアドミニストレータ・クライアント(ユーザ)及びグループに変わることができる。サーバは、管理的な権限のないユーザがコンテキストを切り替えることを許さないであろう。リクエストがサーバに到達する時、それはこの機能をアクセスしようとするユーザの認証されたIDを照会するであろう。ユーザが管理的な権限を持っていない場合(即ち、全ユーザ・アドミニストレータ・グループのメンバではない場合)、プロファイル・マネージャ・サーブレット214はそのリクエストを拒否するであろう。
【0030】
第2図に示されるように、プロファイル・マネージャ206はアプレット1(208)のような他のアプレットを呼び出す。この例では、アプレットは、ユーザ・デスクトップに関連したプリファレンスを環境設定するための管理的アプレットであってもよい。即ち、アプレット1は、エディタ、ワードプロセッサ、データベース等のようなエンド・ユーザ・アプレットに関連したコンフィギュレーション・ユーティリティであってもよい。アプレット1(208)のようなコンフィギュレーション・アプレットがそれらの対応するユーザ・アプレットとは別個のモジュールとして存在することは望ましいが、必要なことではない。第2図のコンテキストでは、アプレット1は、一般には、ユーザ・アプレットのためのコンフィギュレーション・アプレットである。アドミニストレータは、グループ・コンテキストの下でコンフィギュレーション・アプレット、即ち、アプレット1を走らせてグループ・プリファレンス及びパーミッション・デフォルトをセットするか又はユーザ・コンテキストにおいて個人に対するユーザ・アプレット・コンフィギュレーションをカスタマイズする。アプレット1をユーザ・アプレットとは別個のモジュールとして実装することによって、パフォーマンスが強化される。それは、コンフィギュレーション・アプレット1がユーザ・アプレットに比べて小さそうであるためである。又、別のコンフィギュレーション・アプレットは、アドミニストレータがエンド・ユーザの能力を制御してユーザ・アプレットを環境設定することを可能にする。
【0031】
伝統的な独立型コンピュータは、それのユーザ・アプレットに関連してユーザ・アプレット・コンフィギュレーション情報をローカル的に記憶する。伝統的な独立型のJavaベースのコンピュータは、Javaユーティリティ・プロパティ・クラスによって提供されるフォーマットを使用してユーザ・アプレット・コンフィギュレーション情報を記憶する。両方の構成とも、ユーザ・アプレットに関連するコンフィギュレーション情報を記憶すべきローカル・ファイルの名前を指定する。換言すれば、コンピュータとそれにロードされたユーザ・アプレットとの間には或る関係が必要である。本願において開示されるようなプロファイル・マネージメントは、リアルJavaユーティリティ・プロファイル・オブジェクトに関するよく知られている機能と、ユーザ・ローミング機能及び強力な管理的フレームワーク(プロファイル・マネージャ)へのシームレス・プラガビリティ(pluggability)をサポートする付加的な機構とを提供する。
【0032】
ProfileManagementProperties P(210)はアプレット1に対するプロパティ・オブジェクトであり、アプレット1に対するコンフィギュレーション情報をユーザ及びグループのコンテキストにおけるどこに記憶すべきかをサーバが決定することを可能にするAPIをアプレット1及びサーバの間に与える。ProfileManagementProperties のオブジェクト・クラスは、永続記憶装置からのソフトウエアに対するコンフィギュレーション情報の作成、保存、及び検索を提供するための更なる能力をJavaユーティリティ・プロパティ・クラスのすべての機能に与える。そのような情報を中央のロケーションに記憶することは、ユーザ及びグループ・コンフィギュレーションのマネージメントを可能にする。
【0033】
ユーザがアドミニストレータの役割をする時、ProfileManagementProperties 210は、アドミニストレータがコンフィギュレーション・アプレット1に対応するユーザ・アプレットを環境設定すること又はアプレット1がエンド・ユーザ・アプレットである場合、アプレット1を環境設定することを可能にし、コンフィギュレーション情報をサーバにおける適正な位置に適正なコンテキストで記憶する。これは、伝統的なシステムにおけるようなユーザ・アプレットとコンピュータとの間ではなく、ユーザ・アプレットとユーザとの間に或る関係を確立することを可能にする。
【0034】
ProfileManagementProperties 210はJavaユーティリティ・プロパティ・クラスの拡張である。その拡張は、プロパティ・オブジェクトのプリファレンス情報に関するキー/値のペアが、Javaユーティリティ・プロパティを関連付けられるストリームとは対照的に1つのキーと関連付けられることを可能にする。次に、これは、アプリケーション開発者がそのキーを使用して、ファイル名及びパスではなくプリファレンス情報に対するコンテキストに関する独特なロケーションを指定することを可能にする。ProfileManagementProperties 210は自動的にそのキーを決定する。そのキーの生成に関しては、第8図及び第9図に関連して更に説明する。Javaユーティリティ・プロパティ・クラスの後に ProfileManagementProperties 210をモデル化することによって、システムは再帰的クラス/デフォルト評価を通してプリファレンス継承を利用することができる。従って、この拡張されたクラスは、第3図に関して説明したように、現在のコンテキストで始まるプリファレンスを累積すること及びデフォルトに対するコンテキストの階層をトラバースすることによって「グループ・デフォルト」機能を提供する。
【0035】
サーバ202は、ユーザ及びグループ・プリファレンス及びユーザ・アプレット・アクセス許可のようなユーザ・データ及びグループ・データを記憶するデータベース212を含む。ウェブ・サーバ218は、Javaアプレットに対するサポートを持った代表的なウェブ・サーバを表す。プロファイル・マネージャ・サーブレット214は、プリファレンス・データに対するユーザ及びグループ識別情報をマップする。それは、更に、サーバにおけるアプリケーションへのユーザ・アクセスを管理するために、アクセス制御リストも維持する。
【0036】
第3図に示されるように、ユーザ及びグループ・プリファレンスがツリー階層として記憶される。そのシステムのすべてのユーザがトップ・グループ「全ユーザ(AllUsers)」に自動的に属する。すべてのユーザが「全ユーザ」グループに属する。このグループは、サーバにおける或るユーザ・アプレット又はすべてのユーザ・アプレットに対するデフォルト・プリファレンスを含む。第3図では、サーバは、App3、App4、及び App5 として識別される少なくとも3つのユーザ・アプレットを含むものと仮定する。「全ユーザ」グループにおいて示されるように、App3に対するデフォルト・バックグラウンド(BG)は、BG=ブルー(blue)である。x、y、及びzと表された他の例示的プリファレンスは、それぞれ、1、2、及び3のデフォルト値を持つものとして示される。用語x、y、及びzは任意の所望のプリファレンスを表すことを意図され、値1、2、及び3は任意のものであり、単にポイントを表すために使用される。xプリファレンスは、例えば、デスクトップに対するスクリーン・フォントであってもよく、値x=1が、Times-Roman というフォントを要求してもよい。同様に、すべてのユーザのための App4 に対するデフォルト・プリファレンスは、BG=グレイ(Grey)、x=2、y=2、及びz=2である。
【0037】
「全ユーザ」グループにおけるデフォルト値は、他のユーザ・グループ及び個々のユーザに対するような他のコンテキストに対する任意の望ましい方法で修正可能である。例えば、第3図における「全ユーザ」のコンテキストに加えて、4つの他のグループ(グループX(GroupX)、グループY(GroupY)、グループY1(GroupY1)、及びグループY2(GroupY2))が示される。更に、2つの個人、即ち、ユーザ1(User1)及びユーザ2(User2)が示される。ユーザは複数のグループのメンバであってもよい。第3図では、ユーザ1は全ユーザ、グループX、及びグループYのメンバであり、ユーザN(UserN)は全ユーザ及びグループY2のメンバである。ユーザが複数のグループ(全ユーザの他の別のグループ)のメンバである場合、それらのグループは、そのユーザのための所与のアプレットに対するプリファレンスを選択する目的で優先順位付けされる。アドミニストレータはユーザに対するグループ優先順位を環境設定する。第4図にはそのグループ優先順位が示される。第4において、ユーザ1は、グループX(そのユーザの最高優先順位グループに対して全ユーザ・グループX(AllUsers.GroupX)という完全に修飾された名前によって識別される)を有する。ユーザ1の次の最高優先順位グループはグループY1である(AllUsers.GroupY.GroupY1)。ユーザ1の最低優先順位グループは「全ユーザ」グループである。ユーザ、例えば、ユーザ1が1つのアプレット、即ち、アプレット3を走らせるように要求する時、そのユーザが属するグループに従って、第3図のツリーからプリファレンスが合体させられ、それに従って、そのユーザ・アプレットがユーザ・デスクトップにおいて環境設定される。
【0038】
任意のコンテキストに対するプリファレンスを合体する場合の第1ステップはデフォルトを得ることである。ユーザに対するデフォルトが存在する場合、そのデフォルトは、アプレットに対するプリファレンス情報を得ることができる最高の優先順位グループからのアプレットに対するプリファレンスの合体したセットである。グループに対するデフォルトが存在する場合、そのデフォルトは、グループ・ペアレントからのアプレットに対するプリファレンスの合体したセットである(即ち、全ユーザ(AllUsers)グループは全ユーザ・グループX(AllUsers.GroupX)のペアレントである)。グループがペアレントを持たない場合(即ち、トップ・レベルの全ユーザ・グループである場合)、そのグループに対するデフォルトは存在しない。コンテキストにおけるアプレットに対するプリファレンスを合体させるために、そのコンテキストにおいて明確に記憶されたアプレットに対するプリファレンスが、コンテキストのためのそのアプレットに対するデフォルト・プリファレンスをオーバライトする。従って、プリファレンスを合体させてグループ・コンテキストにおけるアプレットに対するデフォルト・セットにするために、各グループ・ノードから全ユーザ・グループまで、アプレットに対するプリファレンスの各ペアレント・セットを要求する再帰コールが行われる。次の例を説明するために第3図を参照してほしい。例えば、コンテキストが全ユーザ・グループY・グループY1(AllUsers.GroupY.GroupY1)である場合、グループYであるグループY1のペアレントに対して、アプレットに対するそれのデフォルト・プリファレンスを要求するコールが行われる。グループY1は、全ユーザであるそれのペアレントに対して再帰コールを行う。全ユーザはペアレントを持たないので、全ユーザはアプレットに対するそれのプリファレンスのセットをグループYからのコールに戻す。このプリファレンスのセットは、グループYに記憶されたそのアプレットに対するプリファレンスがある場合、それによって修正される。これは、今や、グループY1のコンテキストのためのアプレットに対するプリファレンスのデフォルト・セットである。デフォルト・プリファレンスのこのセットは、グループY1からグループYへの再帰コールの結果としてグループY1に戻され、この場合に使用されるべきプリファレンスの実際のセットとなるように、アプレットに対するグループY1におけるプリファレンスがある場合、そのプリファレンスによって修正される。デフォルトが得られるグループ・コンテキストを最初に確立するために、ユーザに対するプリファレンス情報を得ることができる最高の優先順位グループが使用されるということを除けば、ユーザのコンテキストに対するプリファレンスのセットが同じ方法で形成される。そこで、ユーザ及びそのユーザによってリクエストされたアプレットに対するプリファレンスの実際のセットを形成するために、上記の再帰手順が使用される。
【0039】
次の例は上記のプリファレンス合体を示すものであり、第3図と関連して説明される。
【0040】
例1: 全ユーザ・グループX(AllUsers.GroupX)というグループに対するプリファレンスを設定するために、アドミニストレータが App3 に対するコンフィギュレーション・アプレットを走らせる。
【0041】
全ユーザ・グループXのコンテキストにおいて App3 に対するプリファレンスを設定するためには、現在のプリファレンス・セットが決定されなければならない。全ユーザ.グループXはそれのペアレントである全ユーザに対するデフォルトをリクエストする。全ユーザはトップ・レベル・グループであるので、それは App3 に対するそれのプリファレンスをグループXに戻す。これらは、グループXのコンテキストにおける App3 に対するデフォルト・プリファレンスである。グループXが App3 に対するプリファレンスを持たない場合、全ユーザからのデフォルト・セットは、使用されるべきプリファレンスの実セットである。この例では、全ユーザ・グループからのこれらのプリファレンスは、BG=青(blue)、x=1、y=2、z=3 である。今や、アドミニストレータは、合体されたプリファレンスを任意の望ましい方法で修正するようにコンフィギュレーション・アプレットの使用を修正することができる。
【0042】
例2: ユーザ1が com.ibm.App3 の実行をリクエストする。com.ibm.App3 に対するプリファレンスがユーザ1のコンテキストにおいて合体されなければならない。
【0043】
第4図は、ユーザ1に対する最高優先順位グループが全ユーザ・グループX(AllUsers.GroupX)であることを示す。グループ階層のこの分岐が App3 に関連するプリファレンス情報に関して最初にチェックされるであろう。この点から、合体されたプリファレンス・セットがユーザのワーク・ステーションにおいて App3 を環境設定するために使用されるということ除けば、この例は上記の例1と本質的に同じである。ユーザ1のための App3 に対するプリファレンスは、BG=緑(Green)、x=1、y=2、z=3 である。それは、ユーザ1のコンテキストに記憶された App3 に対する BG=緑(Green)のプリファレンスがプリファレンス・ツリーの全ユーザ.グループX分岐から得られたデフォルト BG=青(Blue)プリファレンスをオーバライドするためである。
【0044】
例3: ユーザ1のコンテキストにおける com.ibm.App6 に対するプリファレンスの合体。
【0045】
この例は、最高の優先順位グループがユーザ1のコンテキストに対する合体したプリファレンスを含まないという状況を示す。再び、ユーザ1に対する最高優先順位グループはグループXである。このグループ及びそれのペアレントの全ユーザは App6 に対するプリファレンスを全く含まない。従って、次の最高優先順位グループがサーチされる。App6 に対する一組のプリファレンスをこのグループから得ることができる。プリファレンスの合体は例1において説明したように進行する。ツリー上のグループY1からルートの全ユーザ・グループまでの再帰コールが行われ、そしてプリファレンス・セットが再帰コールの下に戻され、デフォルト・セットを形成するための方法に従って修正される。そこで、デフォルト・セットは、このコンテキストに適用するプリファレンスの合体セットを形成するように、グループY1に記憶されたプリファレンスでもって修正される。要するに、「全ユーザ」は、それが App6 に対するプリファレンスを持たないので、ナル・セットのプリファレンスを戻す。グループYはこのナル・セットを値 a=1 及びb=2 でもって修正し、このセットをデフォルト・セットとしてグループY1に戻す。グループY1はそのデフォルト・セットを a=33 でもって修正する。このセットは、その後の使用のために、ユーザ1にそれのデフォルト・セットとして戻される。ユーザ1コンテキストは App6 に対するプリファレンスが記憶されてないので、プリファレンス・ツリーのグループY1分岐から得られたデフォルトは、App6 に対するプリファレンスの完全に合体したセットを表す。従って、このコンテキストに対するプリファレンスの実セットは a=33、b=2 となる。
【0046】
上記の3つの例は、特定のソフトウエア・ピースに対する load() に応答してプリファレンスを収集することを説明した。1つのソフトウエア・ピースに対するプリファレンス情報が保存される時、保存されるコンテキストにおいて明示的に書かれている如何なるプリファレンスも、そのソフトウエアを走らせているコンテキストと記憶されるべきプリファレンスを持ったソフトウエアに対するキーとの結合によって指定されたロケーションにおいてデータ記憶装置212に書き込まれるであろう。
【0047】
パーミッションが同様に動作する: 新しいグループが、そのグループ自体によって許可されたすべてのアプレット名に対するアクセス及びそれのスーパーグループによって許可されたすべてのアプレットに対するアクセスを有する。しかし、プログラマがスーパークラス方法をオーバライドすることをJavaが許容した時点で、プロファイル・マネージメントは、継承されたパーミッションをシステム・アドミニストレータがオーバライドすることを可能にする。これは、パーミッションのオーバライドと呼ばれる。
【0048】
Javaの継承の形式に関するように、プロファイル・マネージメントのプリファレンス及びパーミッション継承の形式はシングル継承と呼ばれる。シングル継承は、各プロファイル・マネージメント・グループが1つのスーパーグループしか持つことができない(しかし、所与のいずれのスーパグループも複数のサブグループを持つことができる)ことを意味する。
【0049】
プロファイル・マネージメント・ユーザ(リーフ・ノード)は複数のグループにおけるメンバシップを要求することがあり得るので、クロス・グループ・ブランチが合体することにより引き起こされる非互換性の可変サブセットの導入によって、コンフィギュレーションを破壊する機会を最小にするために、プリファレンス継承を単一の階層グループに制限するための機構が必要である。ユーザのグループ・メンバシップが優先順位付けられることを可能にすることによって、プロファイル・マネージメントは、特定のアプレットに関連したプリファレンスを捜す時、サーチの順序に従うことが可能である。換言すれば、サーチは、最高優先順位を持ったグループでもって開始し、自分のプリファレンスをロードしようとしているアプレットに対するコンフィギュレーション・データを含むことがわかった第1グループにおいて停止するであろう。
【0050】
ユーザは、グループ・メンバシップからのソフトウエア・パーミッションを継承する。注意深い企業モデル化によって、アドミニストレータは、パネルを通してナビゲートすることを必要とせずに、多くのユーザに対して、一時に1つのユーザにソフトウエア・アクセスを割り当てることができる。プロファイル・マネージメントは、アプレットへのアクセスを許容する/拒否するようにウェブ・サーバをプログラムすることによってアクセスを制御する。ウェブ・サーバはそのアクセス制御を強化する。プロファイル・マネージャ・サーブレットは、ユーザID及びパスワードが認証目的で送られて来ることを必要とするウェブサーバによっても保護される。必要に応じてユーザ・パスワードに関してプロンプト指示することは標準のブラウザ機能である。
【0051】
第5図は第2図のシステムを更に詳細に示す。コンフィギュレーション・アプレットであるアプレット1がプロファイル・マネージメント・フレームワーク内にアドミニストレータによって呼び出される。アプレット1は、それの動作環境に関する情報(例えば、照会コンテキスト、コンテキスト変更イベント、このコンテキストに対する照会アクセス制御リスト等)を照会してプロファイル・マネージメント・フレームワーク内にしっかりと統合するようにアプリケーション・プログラム・インターフェース(API)515をインプリメントすることができる。如何なる場合でも、アプレット1の設計者は、基本的なAPIメソッド、即ち、Javaユーティリティ・プロパティ・オブジェクトへのプリファレンス情報及びそのオブジェクトからのプリファレンス情報を得るために使用されるJavaユーティリティ・プロパティ・オブジェクトの基本メソッドの他に enablePersistence()、load()、及び save() を理解することしか必要ない。API 515は、更に、list() 及び getContext() メソッドを提供する。アプレット1は、ProfileManagementProperties クラスでもって登録すること及びこれらのメソッドを適宜にコールすることしか必要ない。load() メソッドは、アドミニストレータによって選択されたユーザ又はグループのコンテキストにおいて環境設定されるユーザ・アプレットに対するプリファレンスの現在の状態を検索するために呼び出し可能である。そこで、アドミニストレータは所望のプリファレンスを修正し、アプレットによって与えられるコンフィギュレーション保存機能(それの ProfileManagementProperties オブジェクトの save()メソッドを使用する)を使ってそれらを記憶することができる。同様に、アプレット1がユーザによるアクセスに対して許可されたユーザ・アプレットのリストを必要とする場合、それは、サーバからそのリストを得るために list() メソッドを使用することができる。getContext() メソッドは、それが走っているコンテキストの名前を表示するために、或いはそれが所定のコンテキストにおいて走るだけであるということを保証するためにもアプレットによって使用されることがあり得る(即ち、アプレットがエクスポート・エージェントを使用してサーバにおけるサービスを環境設定することを望む場合、エクスポートされるコンフィギュレーションはユーザ特有であるのとは対照的にサーバ特有であるので、それは、それ自身が「全ユーザ」コンテキストにおいて走らされることを可能にするだけであろう)。アプレット1がプロファイル・マネージメント・フレームワークにおいて走るためには、必要とされることは、アプレットが ProfileManagementProperties 410に登録すること及び ProfileManagementProperties クラス、即ち、Javaユーティリティ・プロパティ・クラスの拡張をインプリメントすることである。
【0052】
プロファイル・マネージャ506も、コンフィギュレーション・アプレットのためにコンテキスト変更API 516を提供する。アプレット1は、コンテキスト変更イベント・リスナ512をインプリメント可能である。API 516及びイベント・リスナ512は、アドミニストレータが、コンフィギュレーション・アプレットを停止及び再始動させることを必要とせずに、それを走らせながらコンテキスト(ユーザ又はグループ)を変更することを可能にする。例えば、アプレット・ユーザ・プリファレンスを環境設定する時、恐らく、アドミニストレータはコンフィギュレーション時に何回もコンテキストを変更するであろう。コンフィギュレーション・アプレットがそのようなイベントに対するリスナとして登録される場合、プロファイル・マネージャ506は、API 516を介してそれにコンテキスト変更を知らせるであろう。これは、アプレット1が新しい各コンテキストに対するそれのプリファレンスをサーバからリフレッシュすることを可能にする。イベント・リスナAPIがない場合、アプレット1はアドミニストレータによって終了させられなければならず、新しいコンテキストに対する既存のプリファレンス情報を参照するために及びプロファイル・マネージメント・アプレットによって停止及び再始動させられることを回避するためにその新しいコンテキストが選択された後に再始動されなければならない。登録するためには、アプレット1は、それのプロパティ・オブジェクトである ProfileManagementProperties 510関するメソッド、即ち、「コンテキスト変更リスナを加える(addContextChangeListener)」(API 516)をコールし、それ自身を登録する。アドミニストレータが新しいコンテキストを設定する時、ファイル・マネージャ506がオブジェクト510に対してセット・コンテキスト・コールを遂行し(API 516)、それに応答して、オブジェクト510はイベント・リスナ512を介して再ロード・メソッドをコールする(API 516)。次に、イベント・リスナ512はそれのプロパティ・オブジェクト510へのロード・プロパティ・コールを遂行して新しいコンテキストに対する新しいプリファレンス・データをサーバから取得し、新しいプリファレンス情報を反映するようにアプレット1にそれのGUI及び内部変数を更新させる。
【0053】
上記の機能は、ネットワーク・アドミニストレータが1つのコンテキストからデータを読み取る可能性、コンテキストを変更する可能性、及び新しいコンテキストにおいてコンフィギュレーション変更を行う前に load() を意図している時に偶発的に save() でもってオーバライトする可能性を回避する。
【0054】
リスナとして登録しないアプレットは、アドミニストレータがコンテキスト変更を強制する時、プロファイル・マネージャ・アプレットによって停止させられ、破壊され、再ロードされ、及び再始動させられる。
【0055】
プロファイル・マネージメントは、更に、既存のハードウエア及びソフトウエアを容易に改造することを可能にするために「プロパティ・エクスポート」サービスも提供する。そのプロパティ・エクスポート・サービスは、プロファイル・マネージャ・サーブレット514がユーザ、グループ及びユーザ・アプリケーションと同様にユーザ・ワークステーション(物理的なハードウエア)をサポートすること可能にする。既存のワークステーションは ProfileManagementProperties 510に関して何もわかっていないので、そのエクスポート・サービスは、ベンダ・アプレットがそれのプリファレンス情報を保存する時、サーバにおいて呼び出されるべきエクスポート・エージェント520を指定するワークステーション/コンフィギュレーション・アプレットをワークステーション・ベンダが作成することを可能にする。エクスポート・タグは、ベンダ供給のクラスのインスタンス(エクスポート・エージェント520のオブジェクト)が作成されるようにし、環境設定されるワークステーションが必要とするどのような財産的価値のあるファイル・フォーマットにおいても及び/又はどのようなファイル・ロケーション内にもワークステーション・コンフィギュレーション情報が保存されることを指定するために、エクスポート・メソッドがオブジェクト上に呼び出されるようにする。
【0056】
アプレット1はそのプロファイル・マネージメント・システムと互換性のない既存の端末に対するベンダによって供給されたコンフィギュレーション・アプレットであると仮定する。ベンダはエクスポート・エージェント520も供給する。アドミニストレータは、プロファイル・マネージャ506を走らせることによってこのシステムにおけるオペレーションのために端末を環境設定すること、環境設定される端末にコンテキストを設定すること、ベンダ供給のコンフィギュレーション・アプレット1を走らせること、及びそのアプレットを環境設定することができる。アドミニストレータがそのコンフィギュレーションを保存する時、サーバに送られる情報の一部は、環境設定される端末を指定する独特の識別子である。一般に、これは端末のメディア・アクセス・コントロール(MAC)アドレスである。プロファイル・マネージャ・サーブレット514は、エクスポート・エージェントがその保存時に指定されるということを検出する。プロファイル・マネージャ・サーブレット514は、保存されるプリファレンスのうちの、エクスポート・エージェントに対する必要性を指定するプリファレンスからこれを検出する。そのプリファレンスは、エクスポート・タグを次のようなキー値の対という形式で指定する。
XXXXEXPORT_AGENTXXXX={エクスポートエージェントの完全に修飾されたクラス名}
【0057】
エクスポート・エージェントのエクスポート(コンテキスト・コンテキスト、コンフィギュレーション・プロパティ)メソッドがプロファイル・マネージャ・サーブレット514によってコールされ、保存プリファレンス情報から1つ又は複数のファイル522をサーバにおいて作成させる。アプレット1からプロパティ情報と共に生じた端末に関する独特の識別子によって特定のファイルが識別される。その後、端末がブート・アップする時、それは、ファイル・マネージメント・システムに関係なく、それの独特の識別子を使用して、いつも行っていた方法と同じ方法でそれのコンフィギュレーション情報を位置指定し、サーバ上のファイル522からそれを検索する。
【0058】
第6図はクライアント・コンピュータ上で走るアプレット2を示す。アプレット2は、ワードプロセッサのようなエンド・ユーザ・アプレットであってもよい。如何なる場合でも、アプレット2は、第5図の参照番号515において示されるように、同じAPIメソッドのうちの或るものに対するアクセスを、それが望ましい場合に、有する。アプレット2はプリファレンスを検索するためにロード・メソッドを使用し、ユーザによって変更されることがあり得る何らかのプリファレンスを保存するために保存メソッドを使用する。イネーブル・パーシステンス(enablePersistence)はユーザに等しいコンテキストを持ったアプレット2に対する ProfileManagementProperties オブジェクトを初期設定し、アドミニストレータに関して上述したように、サーバにおけるプリファレンス情報記憶ロケーションを識別するための独特のキーを生成する。
【0059】
第7図は、ユーザが自分のデスクトップを立ち上げる時の状況を示す。クライアント700におけるユーザは、サーバ702におけるデスクトップ・アプレットのURLにおいて自分のウェブ・ブラウザを指示し、ステップ704においてメッセージ http://server/Desktop.html)を送る。Desktop.html はサーバが保護しているファイルであるので、ステップ706においてクライアントにおけるウェブ・ブラウザにチャレンジが返送される。クライアントにおけるウェブ・ブラウザは、ユーザID及びパスワードに関してユーザをプロンプト指示することによって応答する。そこで、クライアントは、ステップ708においてユーザID及びパスワード情報をサーバに送る。そのユーザID及びパスワード情報は、この情報がウェブ・ブラウザ自身によって送られることを表すために、第7図のステップ708として肉太文字で示される。同じことを表すために、このタイプの表記が他の場所においても使用される。恐らく、ユーザはデスクトップ・アプレットを走らせるための許可を持っているので、リクエストは受け入れられるであろう。
【0060】
デスクトップ・アプレットに対するコードがサーバからクライアントにロードされる場合、クライアントとサーバとの間に一連の対話が存在する(図示されてない)。ステップ712において、デスクトップ・オブジェクトが作成され、実行を始める。デスクトップ・オブジェクトはそれのプリファレンス情報(即ち、コンフィギュレーション情報)を必要とし、従って、それはそれを呼び出そうとするエンド・ユーザに対してデスクトップを修正することができる。この目的のために、ステップ714において、デスクトップ・オブジェクトの初期設定プロセスの一部として、デスクトップは ProfileManagementProperties オブジェクト P を作成する。そのオブジェクトPは、デスクトップ・アプレットに対する、そのサーバからのユーザのプリファレンス情報のコピーをロード、取得、キャッシュ、及び保存するために使用される。そこで、デスクトップ・オブジェクトは、ステップ716においてAPIコール、即ち、P.enablePersistence(desktopObject(アプレット))を遂行する。それは、ステップ716のステップ1において、プロファイル・マネージャ・サーブレット214のURLでもって ProfileManagementProperties オブジェクト P を初期設定する。このURLは、前にサーバからロードされたデスクトップ・アプレットのURLから取り出される。ProfileManagementProperties オブジェクト P は、デスクトップ・アプレットを走らせているユーザに対するコンテキストを得るために、リクエスト718をプロファイル・マネージャ・サーブレット214に送る。この場合、コンテキストは、2つのコンポーネント、即ち、ユーザのIDであるコンテキスト名及びこの場合には User であるコンテキスト・タイプより成る。プロファイル・マネージャ・サーブレットは、リクエスト718からユーザのIDを取得し、ステップ719においてユーザ・コンテキストを戻す。ボックス716のステップ2において、ProfileManagementProperties オブジェクト P は、デスクトップを走らせているユーザのコンテキストを初期設定される。ステップ716のステップ3において、ProfileManagementProperties オブジェクト P は、Javaデスクトップオブジェクト P にそれの完全に修飾されたクラス名を求めることによってデスクトップ・ソフトウエアに対する独特のキーを生成する。すべてのJavaオブジェクトがそれらのクラス名を知っている。この独特のキーはユーザのコンテキスト情報と結合されて、デスクトップ・アプレットに対するユーザ特有のプリファレンス情報を記憶するためのデータベース212における独特のロケーションを指定するパラメータを提供する。完全に修飾されたクラス名及びユーザ・コンテキスト情報より成るストリングをデータ記憶ロケーションにマップすることによって、任意の望ましい方法を使用することが可能になる。次に、ユーザのための修正されたデスクトップ・アプレットに対するプリファレンス情報を得るために、プロファイル・マネージャ・サーブレット214にリクエスト720が送られる。リクエストされたプリファレンス情報を識別するために、コンテキスト及びキーがリクエスト720の一部として送られる。ステップ722において、プロファイル・マネージャ・サーブレット214がそのリクエストされたプリファレンス情報でもって応答し、それは ProfileManagementProperties オブジェクト P(604)においてキャッシュされる。
【0061】
動作は第8図に継続する。ステップ800において、デスクトップ・オブジェクトはそれのプリファレンス情報を ProfileManagementProperties オブジェクト P から読み出し、それに従ってデスクトップを更新し始める(即ち、それはスクリーン・カラーをブルーにセットし、アイコンの位置に関する情報を得る、等を行ってもよい)。デスクトップ・オブジェクトは、ユーザがアクセス許可を有するソフトウエアのリストを得るために、それの ProfileManagementProperties オブジェクト P に関するメソッドをコールする。ProfileManagementProperties オブジェクト P は、ステップ802において、プロファイル・マネージャ・サーブレット214からのその情報をリクエストする。プロファイル・マネージャ・サーブレット214は、ステップ804において、そのリクエストされた情報を持った応答を発生する。ユーザがアクセスを有するそのような各アプレットに対して、その情報は、ユーザ・フレンドリな名前、アプレットのURL、アプレットに対するアイコンのURL等(デスクトップにおいてそのアプレットを表すために及びそれをロード及び立ち上げるためにデスクトップに対して要求される情報)並びに本発明に関連しない他の任意選択的な資料を含む。その情報は ProfileManagementProperties オブジェクト P に記憶され、デスクトップ・オブジェクトに戻される。ステップ806において、デスクトップ・オブジェクトは、そのアプレット情報を使用してアプレットに対するフォルダを形成し、アイコン及びユーザがアクセスを有する各アプレットに対してユーザ・フレンドリな名前を表示するウインドウを生成する。
【0062】
ユーザによるデスクトップにおける前の実行において、ユーザは、上述のフォルダで表示されたいくつかのソフトウエアに対するアイコンをドラッグ・アンド・ドロップしたと仮定する。この時、ユーザは、フォルダからデスクトップにドラッグ・アンド・ドロップされたアプレットへのアクセスを最早持っていないということが起こり得る。しかし、これらのデスクトップ・オブジェクトは、通常、最後の実行時に保存されたユーザ・プリファレンスの一部であろうし、依然としてデスクトップ上に表示されるであろう。この状況を回避するために、デスクトップは、ユーザがアクセスを有するすべてのアプレットを表示するために生成されるウインドウの外に、環境設定されるアプレットが現れるかどうかをチェックするために、それの ProfileManagementProperties オブジェクト P からのそれのプリファレンスを検査する。第8図は、生成されるアプレット・ウインドウの外に1つのアプレットしか存在しないものと仮定している。アプレット・ウインドウの外に複数のそのようなアプレットが存在する場合、そのような各アプレットに対して次のような手順がループするであろう。ステップ810において、デスクトップは、ユーザがアクセスを有するサーバからのアプレットのリストに抗してアプレット・ウインドウの外に現れるこれらのアプレットの各々をチェックする。アプレットがそのリストに現れる場合、ステップ810において、アプレットに対するアイコンがデスクトップ上の前と同じ位置に置かれる。ユーザが、最早、アプレットへのアクセスを持たない場合、ステップ814において、そのアプレットはデスクトップのプリファレンスから除去され、ProfileManagementProperties オブジェクト P から除去される。このプロセスの一部として、いずれかのアプレットが除去される場合、ステップ816において、デスクトップは、プリファレンスを保存するように ProfileManagementProperties オブジェクト P に命ずる。ProfileManagementProperties オブジェクト P は、プリファレンス、キー、及びコンテキスト情報と共にリクエスト818をプロファイル・マネージャ・サーブレット214に送り、新しいプリファレンス情報をデータベース212に保存させる。サーバは、リクエストが成功裏に終了したことを ProfileManagementProperties オブジェクト P に知らせる応答820を ProfileManagementProperties オブジェクト P に送る。
【0063】
第9図は、他のユーザ又はユーザのグループのためのアプレットに対するプリファレンスを環境設定するためにアドミニストレータがコンフィギュレーション・アプレットを走らせる状況を示す。ここで説明される原理は、一般的に端末のコンフィギュレーション又は端末のグループのコンフィギュレーションにも適用することは勿論である。クライアント900におけるアドミニストレータは、自分のブラウザに、走らされるべきサーバにおけるプロファイル・マネージャ・アプレット214のURLを指し示させる。ステップ904において、URLがサーバに送られる。ProfileManager.html は、そのサーバが保護しているファイルであるので、チャレンジ906はクライアントにおけるウェブ・ブラウザに返送される。そのウェブ・ブラウザは、アドミニストレータにユーザID及びパスワードを促すことによって応答する。そこで、ステップ908において、メッセージに含まれたユーザID及びパスワード情報と共に、ProfileManager.html を得るためのリクエストが、サーバに対して反復される。恐らく、アドミニストレータはプロファイル・マネージャを走らせる許可を持っているので、リクエストは受け入れられ、ステップ910においてプロファイル・マネージャ・アプレットがアドミニストレータ端末にダウンロードされる。プロファイル・マネージャが・アプレットに対するコードがサーバからクライアントにロードされる場合、クライアントとサーバとの間で一連の対話(図示されてない)が存在する。ステップ912において、プロファイル・マネージャ・オブジェクトが作成され、実行を開始する。
【0064】
ProfileManagementProperties_nonContextFloating が正規の ProfileManagementProperties オブジェクトに代わってプロファイル・マネージャによって使用される。それは1つの例外を除いて ProfileManagementProperties オブジェクトと同じ行為をする。その例外とは、プリファレンスがロード及び保存される時、それらは、アドミニストレータが初期設定しようとしているコンテキスト(即ち、ユーザ又はユーザ・グループ)へのロード及びそのコンテキストからの保存とは反対に、ファイル・マネージャを走らせようとしているアドミニストレータのコンテキストにロードされ、そのコンテキストから保存される。
【0065】
プロファイル・マネージャ・オブジェクトはそれのプリファレンス情報(即ち、コンフィギュレーション情報)を必要とするので、それを呼び出そうとしているアドミニストレータに対するプロファイル・マネージャを手直しすることができる。このために、プロファイル・マネージャ・オブジェクトの初期設定プロセスの一部として、ステップ914において、プロファイル・マネージャは ProfileManagementProperties_nonContextFloating オブジェクト P_NCF を作成する。そのオブジェクト P_NCF は、プロファイル・マネージャ・アプレットに対するサーバからのアドミニストレータのプリファレンス情報のコピーをロードし、取得し、キャッシュし、設定し、及び保存するために使用される。そこで、プロファイル・マネージャ・オブジェクトは P_NCF.enablePersistence(profileManagerObject(アプレット))をコールする。それは、ステップ916におけるステップ1において、ProfileManagementProperties_nonContextFloating オブジェクト P_NCF をプロファイル・マネージャ・サーブレット214のURLでもって初期設定する。このURLはプロファイル・マネージャ・アプレットのURLから取り出される。ProfileManagementProperties_nonContextFloating オブジェクト P_NCF は、アドミニストレータのコンテキスト名及びコンテキスト・タイプ(USER)を得るためにプロファイル・マネージャ・サーブレット214にリクエスト918を送る。プロファイル・マネージャ・サーブレットはリクエスト918からアドミニストレータのIDを得る。ウェブ・ブラウザは、ProfileManagementProperties_nonContextFloating オブジェクト P_NCF によって送られた情報と共にアドミニストレータのID及びパスワードをメッセージで送る。ProfileManagementProperties_nonContextFloating オブジェクト P_NCF は、ステップ916におけるステップ2において、アプレットを走らせているアドミニストレータのコンテキストによって初期設定される。ステップ916のステップ3において、ProfileManagementProperties_nonContextFloating オブジェクト P_NCF は、プロファイル・マネージャの完全に修飾されたクラス名(即ち、profileManagerObject.getClass().getName())をJava profileManagementObject オブジェクト(enablePersistence コールとして送られた)に要求することによって、そのプロファイル・マネージャ・アプレットに対する独特のキーを生成する。この独特のキーは、アドミニストレータのコンテキスト情報と結合されて、プロファイル・マネージャ・アプレットに対するアドミニストレータの特定のプリファレンス情報に対してデータベース212における独特のロケーションを指定するようにマップされる。
【0066】
アドミニストレータに関して環境設定されるようにプロファイル・マネージャ・アプレットに対する修正されたプリファレンス情報を得るために、リクエスト922がプロファイル・マネージャ・サーブレット214に送られる。そのリクエスト922は、適切なプリファレンス情報を識別するための適切なコンテキスト名及びタイプ、並びにキー情報を含む。プロファイル・マネージャ・サーブレット214は ProfileManagementProperties_nonContextFloating オブジェクト P_NCF においてキャッシュされるリクエストされたプリファレンス情報でもって応答する(924)。プロファイル・マネージャは ProfileManagementProperties_nonContextFloating からそれのプリファレンス情報を読み出し、それに従ってそれ自身を更新する(即ち、それのバックグラウンド・カラーを、例えば、ブルーに設定する)。
【0067】
オペレーションは第10図に続く。ステップ1002において、プロファイル・マネージャは、既存のユーザ、ユーザ・グループ、及びプロファイル・マネージャ・サーブレット214からのソフトウエアに関する情報をリクエストし、プロファイル・マネージャ環境設定ウインドウの左パネルにおいてツリーを形成する。例えば、アドミニストレータの左パネルに関して第13図乃至第24図を参照してほしい。この時点、即ち、ステップ1004において、アドミニストレータは、左パネルのツリーから、ユーザ又はグループをクリックすることによって、環境設定するための所望のコンテキストを選択する。プロファイル・マネージャは、P_NCF.setContext(選択されたコンテキスト)をコールすることによって ProfileManagementProperties オブジェクトに対するコンテキストを設定する。すべてのシステム・ユーザのグループを参照する「User Groups」という選択されたコンテキストに関しては第13図を参照し、「Development」というグループ・コンテキストが選択される場合には第18図を参照し、或いは、「colleend」というユーザ・コンテキストが選択される場合には第21図を参照してほしい。次に、ステップ1006において、アドミニストレータは、サーバにおけるすべてのアプレットのリストから環境設定されるべきアプレットを選択する。アプレットを選択する例に関しては第17図を参照してほしい。ステップ1008において、アドミニストレータは、ラン/カスタマイズ・ボタンをクリックしてコンフィギュレーションのための選択されたアプレットを走らせる。このアプレットは、エンド・ユーザ・アプレットに対する別個のコンフィギュレーション・アプレットであってもよく、或いはエンド・ユーザ・アプレット自体であってもよい。ステップ1009及び1011において、その選択されたアプレットがサーバからリクエストされ、ロードされる。ステップ1010において、コンフィギュレーション・アプレット・オブジェクトが作成され、それのProfileManagementProperties オブジェクトPを実行及び生成し始める。
【0068】
アプレットがエンド・ユーザ・アプレットに対する別個のコンフィギュレーション・アプレットである場合、ステップ1012において、そのアプレットは p.enablePersistence(configAppletObject,fullyQualifiedClassNameOfAppletBeingConfigured)をコールする。一方、そのアプレットがユーザ・アプレットである場合、コールは p.enablePersistence(endUserAppletObject)であるであろう。これは、それが他のアプレットに対するプリファレンス情報とは対照的にそれ自身のプリファレンス情報を環境設定することを望んでいるためである。現在のコンテキストは、それがアドミニストレータの ProfileManagementProperties_nonContextFloating オブジェクト PM_NCP を介してアドミニストレータによって前に設定されていたので、ProfileManagementProperties オブジェクト P によって既に知られている。プロファイル・マネージャ・サーブレット214のロケーションは、前に、enablePersistence がプロファイル・マネージャ上に ProfileManagementProperties_nonContextFloating オブジェクト PM_NCF をコールされた時に生成された。コンフィギュレーション・アプレットの場合、そのアプレットに対する独特キーが生成される必要はない。これは、それが enablePersistence コールにおいて ProfileManagementProperties オブジェクト P に、そのコンフィギュレーション・アプレットによってパスされるためである。
【0069】
ステップ1014において、コンフィギュレーション・アプレットがそれの ProfileManagementProperties オブジェクト P と共にそれ自身をコンテキスト変更リスナとして登録する。前述のように、これは、そのアプレットが新しいコンテキストに対するプリファレンス情報をロードできるように及び新しいコンフィギュレーション情報を反映すべくそれのグラフィカル・ユーザ・インターフェースを更新できるように、アプレットが終了しそして新しいコンテキストにおいて再立ち上げされることを必要とすることなく、アドミニストレータがコンテキスト変更を行うかどうかを、そのアプレットの ProfileManagementProperties オブジェクト P がそのアプレットに知らせることを可能にする。
【0070】
オペレーションは第11図に続く。ステップ1104において、コンフィギュレーション・アプレットは、環境設定されるアプレットに対する現在のコンテキストからプリファレンスをロードするように ProfileManagementProperties オブジェクト P に命じる。アドミニストレータによって前に選択されたコンテキストに対して調整されたプリファレンス情報を得るために、リクエスト1105がプロファイル・マネージャ・サーブレット214に送られる。そのリクエスト1105は、適切なコンテキスト名(アドミニストレータが選択したコンテキスト)及びコンテキスト・タイプ(適宜、USER、USER_GROUP、又は ALL_USERS_GROUP)並びにキー情報を含み、適切なプリファレンス情報のロケーションを指定する。ステップ1106において、プロファイル・マネージャ・サーブレット214がそのリクエストされたプリファレンス情報でもって応答する。なお、その情報は ProfileManagementProperties オブジェクト P においてキャッシュされる。コンフィギュレーション・アプレットは ProfileManagementProperties オブジェクト P からプリファレンスを取得し、それに従って、それのグラフィカル・ユーザ・インターフェースを更新する。
【0071】
ステップ1107において、アドミニストレータはアプレットを環境設定し、例えば、そのアプレットにより与えられる保存(save)ボタンをクリックすることによって、その修正されたプリファレンスを保存する。このオペレーションの結果、コンフィギュレーション・アプレットは、それの ProfileManagementProperties オブジェクト P における save()メソッドをコールする。ProfileManagementProperties オブジェクト P は、プリファレンス及び環境設定されるアプレットに対する独特のキー、並びに現在のコンテキストを指定する情報をプロファイル・マネージャ・サーブレット214に送る。そのプロファイル・マネージャ・サーブレット214は、コンテキスト及びキーによって指定されたデータベース212におけるロケーションにそのプリファレンス情報を記憶する。
【0072】
ステップ1108は、アドミニストレータ・アプレットがまだ走っている間に、アドミニストレータがコンテキストを変更するという例である。アドミニストレータは、ユーザ又はユーザ・グループをクリックすることによって新しいコンテキストを選択する(第18図を、アドミニストレータの左スクリーン・パネルにおける新しいコンテキストの例として参照してほしい)。コンテキスト変更の結果、プロファイル・マネージャ506は、P_NCF.setContext(選択された新しいコンテキスト)をコールすることによってセット・コンテキスト・メッセージを ProfileManagementProperties オブジェクトP(510)に送る。一方、P_NCF.setContext は、オブジェクトPに、その再ロードされたプロパティAPI 515を介してそのコンテキスト変更をイベント・リスナ512へ通知させる。これはステップ1110において生じる。ステップ1112において、イベント・リスナ512は、新しいコンテキストに対するプリファレンスを検索するように load() コールを遂行し、ステップ1118において、オブジェクトPは新しいプリファレンスでもって更新される。今や、アドミニストレータは、新しいコンテキストに対する新しいプリファレンスの修正が望ましい場合にはそれを修正し、そしてそれらの保存が望ましい場合にはそれを保存し、しかる後、新しいコンテキスト変更を進行させる必要がある場合にはそれを進行させることができる。
【0073】
残りの第12図乃至第24図は、プロファイル・マネージャ206の一部分を走らせている時の、アドミニストレータのワークステーションの実際のスクリーン・スナップ写真を示す。
【0074】
第12図には、メイン・コンフィギュレーション・ウインドウ1200が示される。ウインドウの左側におけるツリー・ビュー・パネル1202はサーバにおいて利用可能ないくつかのサービスの1つとしてプロファイル・マネージメント(Profile management)1204を示す。第12図に示されるように、このアイテム1204が選択される時、そのメイン・ウインドウの右側パネル1205はプロファイル・マネージメント・サービスに対する歓迎メッセージを表示する。左側パネルにおけるアイテムの下にサブ・アイテムが存在する場合、それの出現を制御するために、参照番号1208のようなエクスパンド(expand)/コントラクト(contract)アイコンが使用される。アイコン1208における "+" は「エクスパンド・アイコン」と呼ばれ、その「プロファイル・マネージメント」の下にサブ・アイテムが存在することを表す。アドミニストレータはエクスパンド・アイコンをクリックすることによってこれらのサブ・アイテムを表示することができ、その後、そのエクスパンド・アイコンは「コントラクト・アイコン」"−" になる。
【0075】
第13図は、第12図における「プロファイル・マネージメント」アイテム1208の展開を示す。その結果、第13図における3つのデフォルト・サブ・アイテム、即ち、「アプレット(Applets)」1300,「ユーザ・グループ(User Groups)」1302、及び「ユーザ(Users)」1304の表示が生じる。これらのアイテムも展開され得ることをエクスパンド・アイコンが表している。「アプレット」1300は、アドミニストレータがサーバ202における使用可能なユーザ・アプレットを定義することを可能にし、「ユーザ・グループ」1302は、アドミニストレータが第3図のユーザ・グループ・ツリーを作成してそれを移植すること及びグループ・プリファレンスを設定することを可能にする。「ユーザ」1304は、アドミニストレータが新しいユーザを作成してそれらのプリファレンスを設定するか又は既存のユーザに対するプリファレンスを変更することを可能にする。第13図の例では、「アプレット」1300が選択される。このアイテムが選択される時、ウインドウの右側におけるパネル1305が、既にそのシステムに対して定義されているユーザ・アプレットのリスト1306を表示する。参照番号1306において選択されたアプリケーションのアトリビュートが参照番号1308で示される。アドミニストレータは、1306において<NEW>を選択すること及び1308においてリクエストされた名前及びロケーション情報を入れることによって新しいアプレットを定義する。既存のアプレット「データベース・エクスプローラ(Database Explorer)」は1306では選択された状態で示される。1308において、「アプレット名(Applet name)」フィールドはこのアプレット名を表示する。「URL(ユニバーサル・リソース・ロケータ"Universal Resource Locator")」フィールドは、サーバ202におけるこのアプレットのイントラネット又はインターネット・ウェブ・アドレスを表示する。フィールド「html ファイルの完全なパス(Complete path of html file)」は、サーバ202のディスク・ディレクトリ構造におけるアプレットのディレクトリ・パス及びファイル名を表示する。フィールド「完全に修飾されたクラス名(Fully qualified class name)」は、アプレットの完全に修飾されたクラス名を表示する。フィールド「アイコンURL(Icon URL)」は、ユーザ・デスクトップにおけるアプレットのためのアイコンを発生するために使用されるイメージ・ファイルのウェブ・アドレスを表示する。残りのフィールドは、呼び出し時にソフトウエアによって要求されることのある任意選択的な情報のためのものである。コマンド・ボタン「ファイルからアプレット・リストをインポートする(Import Applet List from File)」1310は、アドミニストレータが既存のテキスト・ファイルから既存のリスト1306にアプレットの定義を付加することを可能にする。コマンド・ボタン1310がクリックされる時、第14図に示されたウインドウがポップアップし、アドミニストレータが付加されるべきアプレット定義を含むテキスト・ファイルのパス及びファイル名を入れることを可能にする。すべての保留の変更を保存するために、アドミニストレータはファイル(File)1312を、しかる後、「保存(Save)」(図示されてない)をクリックする。
【0076】
左側パネルでは、ユーザ・グループ(User Group)アイテム1302が第3図の全ユーザ(AllUsers)グループに対応する。(本願では、「ユーザ・グループ」及び「全ユーザ」は相互交換可能に使用される)。第15図は、「ユーザ・グループ」アイテム1302が選択される時のアドミニストレータ・ステーションの右側パネルを示す。第15図には、その右側に、3つのタブ、即ち、メンバ・タブ(Members)1514、サブグループ・タブ(Subgroups)1516、及びアプレット・パーミッション・タブ(Applet Permissions)1518を含むノートブック・パネルが示される。第15図では、メンバ・タブが選択される。メンバー・パネルは、そのシステムに対して定義されているすべてのメンバのログ・オン識別のリスト1520を含む。新しいユーザ(現在選択されたグループ・コンテキスト「ユーザ・グループ」までメンバシップを進めるであろう)を作成するために、アドミニストレータはリスト1520から<NEW>を選択し、適切な情報をそのリストの右側のエントリ・フィールドに入れ、しかる後、作成(Create)ボタン1522をクリックする。既存のメンバがリスト1520から選択される時、そのユーザに対して前に保存されたアトリビュートが1524において表示される。これらのアトリビュートは選択されたメンバのフル・ネーム、そのメンバのシステムID、パスワード、任意の所望のコメントを含む。IDを除くアトリビュートは編集可能であり、修正(Modify)ボタン1525をクリックすることによってコミットされた(しかし、保存されない)変更又はユーザは削除(Delete)ボタン1526をクリックすることによって完全にシステムから除去可能である。如何なる保留の変更も、リスト1520におけるエントリを選択すること及び取り消し(Undo)ボタン1528をクリックすることによって除去可能である。
【0077】
第16図は、第15図のサブグループ・タブ(Subgroup)1516が選択された時に表示されるアドミニストレータの右側パネルを示す。サブグループ・リスト1620は、この例では「ユーザ・グループ(User Groups)」である、左側パネルにおいて選択されたアイテムのサブグループである既存のグループを示す。従って、リスト1620は、「全ユーザ(AllUsers)」グループのすべての当面のサブグループを示す。左側パネルには、「ユーザ・グループ(User Groups)」が展開されている。リスト1620に示されたサブグループは、左側パネルにおける「ユーザ・グループ」の下の展開されたアイテムでもある。リスト1620では、ステータス(Status)フィールドは「削除(! delete)」、「修正(! modify)」、「作成(! create)」のような各サブグループの現在のステータスを示す。リスト1620における空白のステータス・フィールドは、そのサブグループが存在すること及び保存されるべき保留状態のアクションがないことを表す。「!」の記号は、そのステータスが(未だ保存されてない)保留状態であることを表す。リスト1620における選択されたサブグループに対するアトリビュートが1622において現れる。これらのアトリビュートはサブグループ名及びそのサブグループに関する所望のコメントである。新しいサブグループを作成するためには、アドミニストレータはリスト1620から <NEW> を選択し、1622においてサブグループ名及び所望のコメントを入れ、「作成(Create)」ボタン1628をクリックする。そこで、リスト1620には、「! create <subgroup name>」のエントリが保留のアクションとして現れる。すべての保留の変更を保存するために、アドミニストレータは最上部のメニュー・バーにおけるファイル(File)ボタンをクリックし、しかる後、保存(Save)ボタン(図示されてない)をクリックする。
【0078】
第17図は、アプレット・パーミッション・タブ(Applet Permission)1518が選択された時に表示される右パネルを示す。リスト1720は、そのシステムに対して定義されているすべてのアプレットのすべての名前及び左パネルにおいて選択されたグループ又はサブグループに対する各アプレットに割り当てられたパーミッション・ステータス(アクセスを許可する(permit)又は拒否する(deny))を示す。前述の他のノートブック・ページの場合のように、感嘆符(!)は、示されたステータスが保存を保留している変更であることを表す。第17図では、第3図に示された「全ユーザ(AllUsers)」グループに対応する、左パネルに示されたツリーにおけるグループ「ユーザ・グループ(User Groups)」が選択される。そのシステムのすべてのユーザが「ユーザ・グループ」というグループにおけるメンバシップを有するので、リスト1720は、そのシステムに対して定義された各アプレットに関するすべてのシステム・ユーザに対するグローバル・デフォルト・パーミッションを示す。例えば、アプレット「データベース・エクスプローラ(Database Explorer)」は「全ユーザ(AllUsers)」グループに対して「許可(permit)」(アクセスが許可されることを意味する)であり、同様に、アプレットTFTPに対する全ユーザに関するデフォルト・パーミッション・ステータスは「拒否(deny)」(アクセスが拒否される)である。アドミニストレータは、リスト1720におけるアプレットのパーミッション・ステータスを選択すること及び「グループ・アクセスを許可する(Permit group access)」ボタン1730又は「グループ・アクセスを拒否する(Deny group access)」1732をクリックすることによってパーミッション・ステータスを変更することができる。更に、選択されたコンテキストに対するアプレットのパーミッション・ステータスに関係なく、アドミニストレータは、1720からアプレットを選択し、「ラン/カストマイズ(Run/Customize)」ボタン1734をクリックしてその選択されたコンテキストに属するユーザ・アプレットを実行させることができる。そこで、現在のコンテキストに対するノートブックを前に示しているパネル領域が実行中のユーザ・アプレットによって占有される。そのユーザ・アプレットが他のソフトウエアに対するコンフィギュレーション・アプレットであるということが生じる場合、アドミニストレータは、(この機能に対して与えられたコンフィギュレーション・アプレット独特のファシリティを通して)ソフトウエア・プリファレンスを保存することができる。その後、それは、選択されたコンテキストに対するそのソフトウエアのデフォルト・プリファレンスとして保存されるであろう。アプレットがエンド・ユーザ・アプレットである場合、エンド・ユーザ・アプレットが別のソフトウエア・ピースに対するプリファレンスではなくそれ自身のプリファレンスをロード及び保存することを除けば、それらの機能は同じである。
【0079】
第18図は、「ユーザ・グループ(User Groups)」の下のアドミニストレータの左パネル・サブグループ・ツリーの完全な展開を示す。「ユーザ・グループ」のすぐ下には、2つのサブグループ、即ち、除去することができないデフォルト・サブグループである「アドミニストレータ(Administrators)」及びアドミニストレータによって定義されたサブグループである「IBM」がある。「IBM」サブグループも展開され、3つのサブグループ「ハードウエア(Hardware)」、「サービス(Services)」、及び「ソフトウエア(Software)」を含む。「ソフトウエア」サブグループは展開されており、「開発(Development)」と呼ばれる少なくとも1つのサブグループを含む。「開発」サブグループは「NCoD」と呼ばれる少なくとも1つのサブグループを含む。サブグループ「NCoD」は、子サブグループを持たない ConfigFW のような数多くのサブグループを含む。更に、この例では、サブグループ「開発」が展開ツリーにおいて選択される。サブグループ「開発」はツリー階層(「全ユーザ」グループ)のトップにはないので、右側パネルに示されたノートブックは、「ユーザ・グループ」が選択された時の第15図におけるノートブックとはわずかに異なっている。それは、すべてのユーザが「ユーザ・グループ」のメンバであるので、すべてのユーザが自動的には「開発」のメンバにならないためである。リスト1820は、すべてのシステム・メンバのログ・オン・システムIDを表示する。リスト1820における各ユーザIDのそばのステータスは、ユーザが「開発」サブグループにおけるメンバシップを持っているかどうかを示す。「イエス(yes)」というステータスは、ユーザが「開発」サブグループのメンバであることを表す。「ノー(no)」は、ユーザが「開発」サブグループのメンバではないことを表し、「継承(inherited )」は、ユーザがツリーにおける更に下の開発のサブグループのうちの少なくとも1つに属することによって「開発」グループにおけるメンバシップを継承することを表す。サブグループに対するユーザのメンバシップ・ステータスは、リスト1820におけるユーザを選択することによって、及び「グループへの追加(Add to Group)」ボタン1836又は「グループからの排除(Remove from group)」ボタン1838をクリックすることによってアドミニストレータにより修正される。アドミニストレータが新しいシステム・ユーザを作成すること又は既存のメンバを修正又は削除することを望む場合、アドミニストレータは、「ユーザを作成/修正/削除する(Create/Modify/Delete Users)」ボタン1840をクリックする。このアクションは、第19図に示されたノートブック・ページを生じさせる。第19図の右パネルは第15図のそれと同じであり、アドミニストレータがリスト1920における <NEW> を選択すること、しかる後、「作成(Create)」ボタンをクリックすることによって新しいシステム・ユーザを作成することを可能にする。同様に、アドミニストレータは、リスト1920において適正なユーザを選択すること及び適正なボタン「修正(Modify)」又は「削除(Delete)」を選択することによって既存のシステム・ユーザを修正又は削除することができる。任意のサブグループ・コンテキスト(例えば、「開発」)において作成されたユーザは、「ユーザ・グループ」における必要なメンバシップを与えるのみならず、選択されたサブグループの自動的に作られたメンバである。システム・ユーザ・リストに対する変更は、右パネルの最上部のメニュー・バーにおける「ファイル(File)」をクリックすること、しかる後、「保存(Save)」(図示されてない)をクリックすることによって保存される。
【0080】
第20図は、第19図に示されたグループ及びサブグループ・ルートを介さずに、編集のためにシステム・ユーザ・リストに達するための直接的な方法を示す。第20図に達するためには、アドミニストレータは、例えば、第13図の左パネルにおける「ユーザ(Users)」1304を選択する。そこで、第20図に示された右側パネルにおいて、既に説明したように、アドミニストレータは、グループ又はサブグループのテキストになくても、新しいユーザを作成すること及び既存のユーザを修正及び削除することができる。
【0081】
第21図では、「colleend」というIDを持ったユーザに対応する情報をアドミニストレータが直接に操作することを望んでいる。これを行うために、アドミニストレータは、例えば、第21図の左側パネルにおける「ユーザ(Users)」を展開し、しかる後、図示のように「colleend」を選択する。そこで、colleend のシステム情報に専用の右側パネルが現れる。右側パネルは3つのタブを含む。第1のタブである「ユーザ情報(User Information)」はデフォルトによって選択される。このタブでは、アドミニストレータは colleend に関連する名前、ID、パスワード、及びコメントを修正することができる。
【0082】
第22図は、アドミニストレータが第2タブである「グループ・メンバシップ(Group Memberships)」を選択する時の右側パネルを示す。リスト2220は、colleend がメンバとなっているすべてのサブグループを示す。それらのサブグループは、このリストでは、colleend に対するサブグループ優先順位の順序で示される。アドミニストレータは、1つのサブグループを選択すること及びその選択されたサブグループを望みどおりにリストの上方又は下方に移動させるためにリスト2220の右の上下の矢印を使用することによって、colleend のサブグループ優先順位を変更することができる。アドミニストレータが第22図における「グループ・メンバシップを追加/削除する(Add/Remove Group Memberships)」ボタン2242をクリックする場合、右側パネルは第23図の内容を示す。第23図の右パネルは、colleend がメンバであるサブグループをアドミニストレータが修正することを可能にする。アドミニストレータは、所望のサブグループに対応した適正なボックスをクリックすることによってこれを行う。そのボックスがクリア状態である(colleend が現時点ではメンバではないことを意味する)場合、colleend をそのサブグループに含ませるために、チェック・マークがそのボックスに付加される。それとは逆に、サブグループ・ボックスが既にチェックされている場合、そのボックスをクリックすることはチェック・マークをクリアし、そのサブグループから colleend を除去する。
【0083】
第24図は、第22図のアプレット・パーミッション・タブ(Applet Permissions)がアドミニストレータによって選択された時の右側パネルを示す。このパネルでは、リスト2420は、そのシステムにおいて定義されたすべてのアプレットを表示する。アドミニストレータは、リスト2420におけるアプレットを選択すること、しかる後、「ユーザ・アクセスを許可する(Permit user access)」ボタン2430をクリックすることによって colleend によるアプレットへのアクセスを許可することができる。或いは、「ユーザ・アクセスを拒否する(Deny user access)」ボタン2432をクリックすることによって colleend によるアクセスは拒否される。アドミニストレータは、「ラン/カストマイズ(Run/Customize)」ボタン2434をクリックすることによって colleend のコンテキストにおけるアプレットを立ち上げることもできる。これが行われる時、リスト2420における選択されたアプレットが右側パネルにおいて立ち上げられる。そこで、アドミニストレータは、アプレットが許容するいずれのプリファレンスも修正することができ、そのアプレットによって与えられた方法でそれらのプリファレンスを保存することもできる。本願における代表的なシナリオは、アドミニストレータがコンフィギュレーション・アプレットを立ち上げ、しかる後、種々のプリファレンス・フィールドにおいてそれを満足させることである。しかし、別のコンフィギュレーションがユーザ・アプレットに対して与えられない場合、アドミニストレータは、ユーザのコンテキストにおいてユーザ・アプレットを立ち上げ、そのユーザ・アプレットからプリファレンスを設定することができる。本願における代表的なシナリオは、アドミニストレータがグループ又はユーザ・コンテキストを選択し、しかる後、前述のようにユーザ・アプレットを立ち上げることである。そこで、アドミニストレータは、一般には、オプション・メニューからプリファレンスを修正し、ユーザ・アプレットによって与えられた任意の方法でそれらを保存することができる。例えば、一般には、オプションの対話が終了した時にユーザ・プリファレンスが保存されるか、又はユーザ・アプレットがプリファレンスを保存する他の方法を提供してもよい。如何なる場合も、アドミニストレータはこの例においては colleend というコンテキストにおいてアプレットを走らせているので、ユーザ・アプレットを介してアドミニストレータにより設定されたプリファレンスは、colleend が、アプレットを走らせることによって自分で直接にそれらを入れたかのようにサーバにおいて保存される。
【0084】
ユーザ・アプレットに関連するいくつかのプリファレンスをユーザが修正することができるというシナリオは図面に示されていない。例えば、ユーザ・アプレットは、ユーザがウインドウのバックグラウンド・カラー又はフォント及びフォント・サイズを選択することを可能にし得るので、各システム・ユーザは、ユーザ・アプレットがユーザのデスクトップ上で実行される時、アプレットを或る範囲まで個性化することができる。この場合、ユーザが修正したプリファレンスは、アドミニストレータがユーザ・アプレットを走らせる時と同じ方法で保存される。しかし、1つの相違点は、アドミニストレータがグループ・コンテキストにプリファレンスを設定するためにユーザ・アプレットを走らせることができ、一方、ユーザはそれらの個々のコンテキストに対するプリファレンスにのみ影響を与えることができるということである。
【図面の簡単な説明】
【図1】 本発明を実施し得るアドミニストレータのステーションを含む例示的なネットワーク及びユーザ・ステーションを示す。
【図2】 サーバとコミュニケートするアドミニストレータのステーション並びに中央のプロファイル・マネージメント及びプリファレンス管理を行うためのアドミニストレータのステーション及びサーバのコンポーネントの例示的なブロック図を示す。
【図3】 システムのユーザ・グループ及びユーザの1つの例示的な階層編成を示す。その例示的な階層編成は個々の端末及び端末グループを含んでもよい。しかし、簡単にするために、これらは省略されている。
【図4】 ユーザ及びそのユーザによって実行される特定のアプリケーションに適用する第3図の階層編成から一組のプリファレンスを決定するために使用される個々のユーザ及びグループ優先順位に関する1つの例示的リストを示す。
【図5】 第2図のアドミニストレータのステーション及びサーバの更に詳細な図を示す。
【図6】 ユーザ・アプリケーションとそのアプリケーション及び他のコンポーネント(アプリケーションの実行時にユーザ・プリファレンスをユーザの端末として確立するように共同する)の間のAPIとを含むユーザの端末におけるソフトウエア・オブジェクトの例示的な図を示す。
【図7】 ユーザ・ログオンのための及びユーザ端末においてデスクトップ・プリファレンスを含むユーザのデスクトップを最初に確立するための、ユーザの端末及びサーバの両方における例示的なオペレーションを示す。
【図8】 ユーザ・ログオンのための及びユーザ端末においてデスクトップ・プリファレンスを含むユーザのデスクトップを最初に確立するための、ユーザの端末及びサーバの両方における例示的なオペレーションを示す。
【図9】 アドミニストレータのユーザ・ログオン、アドミニストレータのデスクトップの設定のための、並びに、例えば、アプリケーションの選択及び環境設定のためのコンテキストの選択ための、アドミニストレータの端末及びサーバの両方における例示的なオペレーションを示す。その例は、環境設定時のコンテキストの変化、ユーザのデスクトップ、及びその結果生じるオペレーションも示す。
【図10】 アドミニストレータのユーザ・ログオン、アドミニストレータのデスクトップの設定のための、並びに、例えば、アプリケーションの選択及び環境設定のためのコンテキストの選択ための、アドミニストレータの端末及びサーバの両方における例示的なオペレーションを示す。その例は、環境設定時のコンテキストの変化、ユーザのデスクトップ、及びその結果生じるオペレーションも示す。
【図11】 アドミニストレータのユーザ・ログオン、アドミニストレータのデスクトップの設定のための、並びに、例えば、アプリケーションの選択及び環境設定のためのコンテキストの選択ための、アドミニストレータの端末及びサーバの両方における例示的なオペレーションを示す。その例は、環境設定時のコンテキストの変化、ユーザのデスクトップ、及びその結果生じるオペレーションも示す。
【図12】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図13】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図14】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図15】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図16】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図17】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図18】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図19】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図20】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図21】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図22】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図23】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。
【図24】 第3図がその一例を表す階層の確立、ユーザの作成及び削除、アプリケーションに対するアプリケーション・プリファレンスの確立、及びプリファレンス確立時のコンテキストの変化を含むアプリケーション管理の種々のフェーズにおける種々の実際のアドミニストレータスクリーンのスナップショットを示す。

Claims (2)

  1. サーバ及び複数のユーザ・ステーション相互接続され、ユーザ・ステーションにダウンロードするための複数のユーザ・アプリケーションがサーバに記憶された、ネットワーク・システムにおいて、ユーザ・ステーションで実行されるアプリケーションに対するユーザ・コンフィギュレーション・プリファレンスを管理する方法であって、
    サーバのデータ記憶装置に記憶された、すべてのシステム・ユーザを含む全ユーザ・グループ・ノードとそれぞれ選択されたユーザを含む複数の下位グループ・ノードとからなるツリー階層構造のデータに基づいて、サーバのコンピュータにより、システムのすべてのユーザを前記ツリー階層構造に表すステップであって、前記選択されたユーザは、前記下位グループ・ノードによって表されるグループに属し、れぞれのノードのデータは前記システムで使用可能な選択されたアプリケーションに対するコンフィギュレーション・プリファレンスを含んでいる前記ユーザをツリー階層構造に表すステップと、
    複数のグループのメンバである各ユーザに対して、サーバのデータ記憶装置に記憶された前記ツリー階層構造に表されたユーザの順位のデータに基づいて、サーバのコンピュータにより、グループ優先順位を割り当てるステップと、
    選択されたアプリケーションの実行をリクエストする任意の所定のユーザに関して、サーバのデータ記憶装置に記憶された前記割り当てられた優先順位のデータに基づいて、サーバのコンピュータにより、該ユーザに対するグループ優先順位を決定するステップと、
    (a)サーバのコンピュータにより、前記選択されたアプリケーションに対する一組のプリファレンスを取り出し得る第1グループを、サーバのデータ記憶装置に記憶されたグループ優先順位リストから決定すること、
    (b)サーバのコンピュータにより、前記全ユーザ・グループから前記第1グループまで前記ツリーを、サーバのデータ記憶装置に記憶されたデータに基づいて、トラバースすることによって前記プリファレンスを前記選択されたアプリケーションに対するセットに合体させること、
    (c)サーバのコンピュータにより、前記選択されたアプリケーションに対する各ノードにおいて指定されたプリファレンスを、サーバのデータ記憶装置に記憶されたデータに基づいて、収集すること、及び
    (d)サーバのコンピュータにより、サーバのデータ記憶装置に記憶されたデータに基づき、ノードがトラバースされた時のプリファレンスを、前記選択されたアプリケーションに対する当該ノードにおいて指定された前記収集したプリファレンスでもって、修正すること、
    によって前記ツリーから一組のコンフィギュレーション・プリファレンスを形成するステップと、
    を含む前記の方法。
  2. サーバ及び複数のユーザ・ステーション相互接続され、ユーザ・ステーションにダウンロードするための複数のユーザ・アプリケーションがサーバに記憶された、ネットワーク・システムにおいて、ユーザ・ステーションで実行されるアプリケーションに対するユーザ・コンフィギュレーション・プリファレンスを管理するために、サーバのコンピュータに、
    サーバのデータ記憶装置に記憶された、すべてのシステム・ユーザを含む全ユーザ・グループ・ノードとそれぞれ選択されたユーザを含む複数の下位グループ・ノードとからなるツリー階層構造のデータに基づいて、システムのすべてのユーザを前記ツリー階層構造に表すステップであって、前記選択されたユーザは、前記下位グループ・ノードによって表されるグループに属し、れぞれのノードのデータは前記システムで使用可能な選択されたアプリケーションに対するコンフィギュレーション・プリファレンスを含んでいる前記ユーザをツリー階層構造に表すステップと、
    複数のグループのメンバである各ユーザに対して、サーバのデータ記憶装置に記憶された前記ツリー階層構造に表されたユーザの順位のデータに基づいて、グループ優先順位を割り当てるステップと、
    選択されたアプリケーションの実行をリクエストする任意の所定のユーザに関して、サーバのデータ記憶装置に記憶された前記割り当てられた優先順位のデータに基づいて、該ユーザに対するグループ優先順位を決定するステップと、
    (a)前記選択されたアプリケーションに対する一組のプリファレンスを取り出し得る第1グループを、サーバのデータ記憶装置に記憶されたグループ優先順位リストから決定すること、
    (b)前記全ユーザ・グループから前記第1グループまで前記ツリーを、サーバのデータ記憶装置に記憶されたデータに基づいて、トラバースすることにより、前記プリファレンスを前記選択されたアプリケーションに対するセットに合体させること、
    (c)前記選択されたアプリケーションに対する各ノードにおいて指定されたプリファレンスを、サーバのデータ記憶装置に記憶されたデータに基づいて、収集すること、及び
    (d)サーバのデータ記憶装置に記憶されたデータに基づき、ノードがトラバースされた時のプリファレンスを、前記選択されたアプリケーションに対する当該ノードにおいて指定された前記収集したプリファレンスでもって、修正すること、
    によって前記ツリーから一組のコンフィギュレーション・プリファレンスを形成するステップと、
    を実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
JP2000547744A 1998-05-05 1998-12-21 ユーザ及びユーザ・グループ又は端末及び端末グループのコンテキストに従って階層データ構造におけるアプリケーション・プリファレンスを維持するためのクライアント/サーバ・システム Expired - Lifetime JP3670965B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/073,162 1998-05-05
US09/073,162 US6105063A (en) 1998-05-05 1998-05-05 Client-server system for maintaining application preferences in a hierarchical data structure according to user and user group or terminal and terminal group contexts
PCT/GB1998/003865 WO1999057862A1 (en) 1998-05-05 1998-12-21 Client-server system for maintaining application preferences in a hierarchical data structure

Publications (2)

Publication Number Publication Date
JP2003505745A JP2003505745A (ja) 2003-02-12
JP3670965B2 true JP3670965B2 (ja) 2005-07-13

Family

ID=22112093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000547744A Expired - Lifetime JP3670965B2 (ja) 1998-05-05 1998-12-21 ユーザ及びユーザ・グループ又は端末及び端末グループのコンテキストに従って階層データ構造におけるアプリケーション・プリファレンスを維持するためのクライアント/サーバ・システム

Country Status (10)

Country Link
US (1) US6105063A (ja)
EP (1) EP1076973B1 (ja)
JP (1) JP3670965B2 (ja)
CN (1) CN1120606C (ja)
CA (1) CA2324396C (ja)
DE (1) DE69828202T2 (ja)
IL (1) IL138133A (ja)
PL (1) PL343688A1 (ja)
TW (1) TW444181B (ja)
WO (1) WO1999057862A1 (ja)

Families Citing this family (231)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016811B2 (en) 2001-08-15 2006-03-21 National Instruments Corporation Network-based system for configuring a programmable hardware element in a measurement system using hardware configuration programs generated based on a user specification
US6324685B1 (en) 1998-03-18 2001-11-27 Becomm Corporation Applet server that provides applets in various forms
US6339826B2 (en) * 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US6493749B2 (en) 1998-08-17 2002-12-10 International Business Machines Corporation System and method for an administration server
US6567849B2 (en) * 1998-08-17 2003-05-20 International Business Machines Corporation System and method for configuring and administering multiple instances of web servers
US7339595B2 (en) 1998-10-19 2008-03-04 Lightsurf Technologies, Inc. Method and system for improved internet color
US20020126135A1 (en) * 1998-10-19 2002-09-12 Keith Ball Image sharing for instant messaging
US7043529B1 (en) * 1999-04-23 2006-05-09 The United States Of America As Represented By The Secretary Of The Navy Collaborative development network for widely dispersed users and methods therefor
US6510466B1 (en) * 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network
US6324578B1 (en) 1998-12-14 2001-11-27 International Business Machines Corporation Methods, systems and computer program products for management of configurable application programs on a network
US7046263B1 (en) 1998-12-18 2006-05-16 Tangis Corporation Requesting computer user's context data
US6801223B1 (en) * 1998-12-18 2004-10-05 Tangis Corporation Managing interactions between computer users' context models
US6842877B2 (en) 1998-12-18 2005-01-11 Tangis Corporation Contextual responses based on automated learning techniques
US7225229B1 (en) 1998-12-18 2007-05-29 Tangis Corporation Automated pushing of computer user's context data to clients
US6513046B1 (en) 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US6920616B1 (en) 1998-12-18 2005-07-19 Tangis Corporation Interface for exchanging context data
US6791580B1 (en) 1998-12-18 2004-09-14 Tangis Corporation Supplying notifications related to supply and consumption of user context data
US7779015B2 (en) 1998-12-18 2010-08-17 Microsoft Corporation Logging and analyzing context attributes
US7231439B1 (en) * 2000-04-02 2007-06-12 Tangis Corporation Dynamically swapping modules for determining a computer user's context
US8181113B2 (en) 1998-12-18 2012-05-15 Microsoft Corporation Mediating conflicts in computer users context data
US9183306B2 (en) 1998-12-18 2015-11-10 Microsoft Technology Licensing, Llc Automated selection of appropriate information based on a computer user's context
US8225214B2 (en) 1998-12-18 2012-07-17 Microsoft Corporation Supplying enhanced computer user's context data
US20020030096A1 (en) * 1999-01-25 2002-03-14 David Isherwood Method and system for directing end user to selected network location of provider based on user-provided codes
US6993580B2 (en) * 1999-01-25 2006-01-31 Airclic Inc. Method and system for sharing end user information on network
US6654814B1 (en) * 1999-01-26 2003-11-25 International Business Machines Corporation Systems, methods and computer program products for dynamic placement of web content tailoring
US7792947B1 (en) 1999-04-26 2010-09-07 Mainstream Scientific, Llc Apparatus and method for dynamically coordinating the delivery of computer readable media
US20020174329A1 (en) * 1999-04-28 2002-11-21 Bowler Richard A. Method and system for automatically transitioning files among computer systems
US20020023057A1 (en) * 1999-06-01 2002-02-21 Goodwin Johnathan David Web-enabled value bearing item printing
US7149726B1 (en) 1999-06-01 2006-12-12 Stamps.Com Online value bearing item printing
US6516336B1 (en) * 1999-09-08 2003-02-04 International Business Machines Corporation Method and system for using a two-tiered cache
US6687745B1 (en) 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
US7233929B1 (en) * 1999-10-18 2007-06-19 Stamps.Com Postal system intranet and commerce processing for on-line value bearing system
EP1224628B1 (en) 1999-10-18 2017-02-22 Stamps.Com Cryptographic module for secure processing of value-bearing items
EP1232482B1 (en) 1999-10-18 2016-07-06 Stamps.Com Secure and recoverable database for on-line value-bearing item system
US7236956B1 (en) 1999-10-18 2007-06-26 Stamps.Com Role assignments in a cryptographic module for secure processing of value-bearing items
US7240037B1 (en) 1999-10-18 2007-07-03 Stamps.Com Method and apparatus for digitally signing an advertisement area next to a value-bearing item
US7216110B1 (en) 1999-10-18 2007-05-08 Stamps.Com Cryptographic module for secure processing of value-bearing items
US6978381B1 (en) * 1999-10-26 2005-12-20 International Business Machines Corporation Enhancement to a system for automated generation of file access control system commands
NO314329B1 (no) * 1999-12-06 2003-03-03 Ericsson Telefon Ab L M Arrangement ved telekommunikasjon og fremgangsmåte for samme
EP1107108A1 (en) * 1999-12-09 2001-06-13 Hewlett-Packard Company, A Delaware Corporation System and method for managing the configuration of hierarchically networked data processing devices
US6697865B1 (en) * 2000-01-04 2004-02-24 E.Piphany, Inc. Managing relationships of parties interacting on a network
US7035825B1 (en) * 2000-01-04 2006-04-25 E.Piphany, Inc. Managing relationships of parties interacting on a network
US7933968B1 (en) * 2000-06-20 2011-04-26 Koninklijke Philips Electronics N.V. Token-based personalization of smart appliances
US6928467B2 (en) * 2000-02-02 2005-08-09 Inno Path Software, Inc. Apparatus and methods for providing data synchronization by facilitating data synchronization system design
US6816944B2 (en) 2000-02-02 2004-11-09 Innopath Software Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
US6370646B1 (en) 2000-02-16 2002-04-09 Miramar Systems Method and apparatus for multiplatform migration
US7299210B2 (en) * 2000-02-16 2007-11-20 Stamps.Com On-line value-bearing indicium printing using DSA
AU2001249768A1 (en) 2000-04-02 2001-10-15 Tangis Corporation Soliciting information based on a computer user's context
US7464153B1 (en) 2000-04-02 2008-12-09 Microsoft Corporation Generating and supplying user context data
US6751794B1 (en) * 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
US7526762B1 (en) * 2000-06-30 2009-04-28 Nokia Corporation Network with mobile terminals as browsers having wireless access to the internet and method for using same
US7251775B1 (en) * 2000-06-30 2007-07-31 Nokia Corporation System and method for visual history presentation and management
AU2001287105A1 (en) * 2000-09-06 2002-03-22 Portalvision, Inc. Method and apparatus for an information application programming interface
WO2002029603A1 (en) * 2000-09-30 2002-04-11 Intel Corporation Method, apparatus, and system for determining information representations and modalities based on user preferences and resource consumption
KR100516331B1 (ko) * 2000-10-09 2005-09-21 김화윤 인터넷 기반의 원격 제어 시스템 및 방법
US20020054130A1 (en) 2000-10-16 2002-05-09 Abbott Kenneth H. Dynamically displaying current status of tasks
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US7401320B2 (en) * 2000-11-17 2008-07-15 Hewlett-Packard Development Company, L.P. Operator network that routes customer care calls based on subscriber/device profile and CSR skill set
US20040068721A1 (en) * 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US8875116B2 (en) * 2000-11-17 2014-10-28 Hewlett-Packard Development Company, L.P. Network for updating firmware and / or software in wireless communication devices
US20030182414A1 (en) * 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
KR100506785B1 (ko) * 2000-11-17 2005-08-08 비트폰 코포레이션 정보의 업데이트 및 배포 시스템 및 방법
US7725889B2 (en) 2003-01-13 2010-05-25 Hewlett-Packard Development Company, L.P. Mobile handset capable of updating its update agent
US7082549B2 (en) * 2000-11-17 2006-07-25 Bitfone Corporation Method for fault tolerant updating of an electronic device
US7024471B2 (en) * 2000-12-12 2006-04-04 International Business Machines Corporation Mechanism to dynamically update a windows system with user specific application enablement support from a heterogeneous server environment
US7581011B2 (en) * 2000-12-22 2009-08-25 Oracle International Corporation Template based workflow definition
US7802174B2 (en) 2000-12-22 2010-09-21 Oracle International Corporation Domain based workflows
US7475151B2 (en) * 2000-12-22 2009-01-06 Oracle International Corporation Policies for modifying group membership
US7711818B2 (en) * 2000-12-22 2010-05-04 Oracle International Corporation Support for multiple data stores
US7213249B2 (en) * 2000-12-22 2007-05-01 Oracle International Corporation Blocking cache flush requests until completing current pending requests in a local server and remote server
US7415607B2 (en) * 2000-12-22 2008-08-19 Oracle International Corporation Obtaining and maintaining real time certificate status
US7085834B2 (en) * 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US7349912B2 (en) 2000-12-22 2008-03-25 Oracle International Corporation Runtime modification of entries in an identity system
US7937655B2 (en) 2000-12-22 2011-05-03 Oracle International Corporation Workflows with associated processes
US8015600B2 (en) 2000-12-22 2011-09-06 Oracle International Corporation Employing electronic certificate workflows
US7363339B2 (en) * 2000-12-22 2008-04-22 Oracle International Corporation Determining group membership
US7380008B2 (en) 2000-12-22 2008-05-27 Oracle International Corporation Proxy system
US6961773B2 (en) * 2001-01-19 2005-11-01 Esoft, Inc. System and method for managing application service providers
US7958237B2 (en) * 2001-01-23 2011-06-07 Pearl Software, Inc. Method for managing computer network access
US7356816B2 (en) 2001-02-13 2008-04-08 Computer Associates Think, Inc. Method and apparatus for multiplatform migration
US20020124188A1 (en) * 2001-02-20 2002-09-05 Vipadvisor.Com, Inc. Computing environment for facilitating collaboration between professional service providers and their clients
US6873344B2 (en) * 2001-02-22 2005-03-29 Sony Corporation Media production system using flowgraph representation of operations
US20040098386A1 (en) * 2001-03-30 2004-05-20 Marcus Thint Profile management system
US7143164B2 (en) * 2001-05-21 2006-11-28 Exigen Group Dynamic object library software architecture
US6687733B2 (en) * 2001-06-01 2004-02-03 Intergenix Method and system for automatically configuring a client-server network
US7346546B2 (en) * 2001-06-07 2008-03-18 Gateway Inc. Purchasing interface with a task display
US20020194226A1 (en) * 2001-06-15 2002-12-19 Dinesh Sheth Internet information aggregation system using programmatic data extraction
US6996602B2 (en) * 2001-06-18 2006-02-07 Ford Global Technologies, Llc Server-side page table framework for client application definition and execution
US8782254B2 (en) * 2001-06-28 2014-07-15 Oracle America, Inc. Differentiated quality of service context assignment and propagation
US7161899B2 (en) * 2001-07-20 2007-01-09 Bay Microsystems, Inc. Interlocking SONET/SDH network architecture
US20030063122A1 (en) * 2001-07-27 2003-04-03 Cichowlas Bruce William Method, system, and computer program product for developing and using stateful web applications
US6889172B2 (en) * 2001-08-15 2005-05-03 National Instruments Corporation Network-based system for configuring a measurement system using software programs generated based on a user specification
US6910041B2 (en) * 2001-08-23 2005-06-21 International Business Machines Corporation Authorization model for administration
US7225256B2 (en) 2001-11-30 2007-05-29 Oracle International Corporation Impersonation in an access system
US6915341B2 (en) * 2002-01-08 2005-07-05 International Business Machines Corporation System for sending messages to all users in a web hosting environment
DE60205450D1 (de) * 2002-03-08 2005-09-15 Sun Microsystems Inc Verfahren und Vorrichtung für die Bereitstellung von Konfigurationsdaten
US20030191639A1 (en) * 2002-04-05 2003-10-09 Sam Mazza Dynamic and adaptive selection of vocabulary and acoustic models based on a call context for speech recognition
US7369851B2 (en) * 2002-04-19 2008-05-06 Hewlett-Packard Development Company, L.P. Communications network capable of determining SIM card changes in electronic devices
KR20040101538A (ko) * 2002-04-19 2004-12-02 컴퓨터 어소시에이츠 싱크, 인코포레이티드 컴퓨터 시스템 관리 방법 및 시스템
US7290054B2 (en) 2002-04-26 2007-10-30 Redback Networks Inc. Dynamic modification of a subscriber connection
US6993665B2 (en) * 2002-05-01 2006-01-31 Sun Microsystems, Inc. Applet permissions manager
US7840658B2 (en) 2002-05-15 2010-11-23 Oracle International Corporation Employing job code attributes in provisioning
US7216163B2 (en) * 2002-05-15 2007-05-08 Oracle International Corporation Method and apparatus for provisioning tasks using a provisioning bridge server
AU2003252018A1 (en) * 2002-07-19 2004-02-09 Synchrologic, Inc. System and method for utilizing profile information
US8737816B2 (en) * 2002-08-07 2014-05-27 Hollinbeck Mgmt. Gmbh, Llc System for selecting video tracks during playback of a media production
US7739584B2 (en) * 2002-08-08 2010-06-15 Zane Vella Electronic messaging synchronized to media presentation
US7340736B2 (en) * 2002-08-22 2008-03-04 Hewlett-Packard Development Company, L.P. Electronic device with an update agent that employs preprocessing techniques for update
US7555750B1 (en) 2002-08-22 2009-06-30 Hewlett-Packard Development Company, L.P. Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets
US8010423B2 (en) * 2002-08-29 2011-08-30 International Business Machines Corporation Anticipatory mobile system service brokering and resource planning from multiple providers
US7669197B1 (en) 2002-09-12 2010-02-23 Hewlett-Packard Development Company, L.P. Embedded system employing component architecture platform
US7472380B1 (en) 2002-09-23 2008-12-30 Hewlett-Packard Development Company, L.P. Processing system with component architecture platform support
US7461372B2 (en) * 2002-10-11 2008-12-02 Hewlett-Packard Development Company, L.P. System for optimizing distribution of information employing a universal dictionary
US6978453B2 (en) * 2002-10-21 2005-12-20 Bitfone Corporation System with required enhancements to syncML DM environment to support firmware updates
US7447642B2 (en) * 2002-11-07 2008-11-04 International Business Machines Corporation Location based services revenue sharing and cost offsetting
US8027843B2 (en) * 2002-11-07 2011-09-27 International Business Machines Corporation On-demand supplemental diagnostic and service resource planning for mobile systems
US7984435B2 (en) * 2002-11-13 2011-07-19 Hewlett-Packard Development Company, L.P. Update system employing reference software to reduce number of update packages
US20040093592A1 (en) 2002-11-13 2004-05-13 Rao Bindu Rama Firmware update in electronic devices employing SIM card for saving metadata information
US7047448B2 (en) * 2002-11-21 2006-05-16 Bitfone Corporation Software self-repair toolkit for electronic devices
US7359930B2 (en) * 2002-11-21 2008-04-15 Arbor Networks System and method for managing computer networks
US6996818B2 (en) * 2002-11-22 2006-02-07 Bitfone Corporation Update system for facilitating software update and data conversion in an electronic device
US7434216B1 (en) 2002-11-25 2008-10-07 Hewlett-Packard Development Company, L.P. Update package generator that employs genetic evolution to determine bank order
US20040113950A1 (en) * 2002-12-17 2004-06-17 International Business Machines Corporation System and method for centrally managed self-contained desktops
US7310775B2 (en) * 2002-12-17 2007-12-18 International Business Machines Corporation System and method for restoring desktop components using distributed desktop packages
US7243336B2 (en) * 2002-12-17 2007-07-10 International Business Machines Corporation System and method of extending application types in a centrally managed desktop environment
US7203905B2 (en) 2002-12-17 2007-04-10 International Business Machines Corporation System and method for platform independent desktop lockdown
US7111245B2 (en) * 2002-12-17 2006-09-19 International Business Machines Corporation System and method for smart graphical components
US7117448B2 (en) 2002-12-17 2006-10-03 International Business Machines Corporation System and method for determining desktop functionality based on workstation and user roles
US7587491B2 (en) * 2002-12-31 2009-09-08 International Business Machines Corporation Method and system for enroll-thru operations and reprioritization operations in a federated environment
US7921182B2 (en) * 2002-12-31 2011-04-05 Hewlett-Packard Development Company, L.P. Management of service components installed in an electronic device in a mobile services network
US7480907B1 (en) 2003-01-09 2009-01-20 Hewlett-Packard Development Company, L.P. Mobile services network for update of firmware/software in mobile handsets
US7890427B1 (en) 2003-01-09 2011-02-15 Hewlett-Packard Development Company, L.P. Authentication of notifications received in an electronic device in a mobile services network
TWI349204B (en) * 2003-01-10 2011-09-21 Panasonic Corp Group admission system and server and client therefor
WO2004066091A2 (en) * 2003-01-21 2004-08-05 Bitfone Corporation Update system capable of updating software across multiple flash chips
WO2004070571A2 (en) * 2003-02-03 2004-08-19 Bitfone Corporation Update system for facilitating firmware/software update in a mobile handset
US6941453B2 (en) * 2003-02-11 2005-09-06 Bitfone Corporation System and method for determining if a device needs to be updated and locating and invoking an update agent to update the firmware or software in the device
US8027482B2 (en) * 2003-02-13 2011-09-27 Hollinbeck Mgmt. Gmbh, Llc DVD audio encoding using environmental audio tracks
US7689981B1 (en) 2003-02-28 2010-03-30 Hewlett-Packard Development Company, L.P. Mobile handset with efficient interruption point detection during a multiple-pass update process
US8082339B2 (en) 2003-02-28 2011-12-20 Hewlett-Packard Development Company, L.P. Electronic device network having graceful denial of service
US20040230965A1 (en) * 2003-02-28 2004-11-18 Harri Okkonen Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server
US7356727B1 (en) 2003-03-10 2008-04-08 Hewlett-Packard Development Company, L.P. Electronic device employing efficient fault tolerance
US7881745B1 (en) 2003-03-10 2011-02-01 Hewlett-Packard Development Company, L.P. Electronic device network employing provisioning techniques to update firmware and/or software in electronic devices
US7548986B1 (en) 2003-03-17 2009-06-16 Hewlett-Packard Development Company, L.P. Electronic device network providing streaming updates
WO2004086196A2 (en) * 2003-03-24 2004-10-07 Bitfone Corporation Electronic device supporting multiple update agents
US7587411B2 (en) * 2003-03-27 2009-09-08 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7447785B2 (en) * 2003-03-31 2008-11-04 Microsoft Corporation Dependent context trees for related network offerings
US7975147B1 (en) 2003-03-31 2011-07-05 Hewlett-Packard Development Company, L.P. Electronic device network supporting enciphering and deciphering and update generation in electronic devices
US7987449B1 (en) 2003-05-22 2011-07-26 Hewlett-Packard Development Company, L.P. Network for lifecycle management of firmware and software in electronic devices
US7747994B1 (en) 2003-06-04 2010-06-29 Hewlett-Packard Development Company, L.P. Generator based on multiple instruction streams and minimum size instruction set for generating updates to mobile handset
US7644404B2 (en) 2003-06-04 2010-01-05 Hewlett-Packard Development Company, L.P. Network having customizable generators and electronic device having customizable updating software
US7584466B1 (en) 2003-06-16 2009-09-01 Hewlett-Packard Development Company, L.P. Management tree management in a mobile handset
US8046753B1 (en) 2003-06-18 2011-10-25 Hewlett-Packard Development Company, L.P. Mobile handset with symbian OS and update agent
US8250565B2 (en) * 2003-06-27 2012-08-21 Hewlett-Packard Development Company, L.P. System and method for downloading update packages into a mobile handset in a carrier network
US7343443B1 (en) * 2003-07-08 2008-03-11 Hewlett-Packard Development Company, L.P. Updated package generation based on analysis of bank dependency
EP1652100A4 (en) * 2003-07-09 2009-12-16 Hewlett Packard Development Co TELECOMMUNICATIONS COMPANY NETWORK FOR PROVIDING REMOTE DIAGNOSIS OF MOBILE COMBINATION
US7366125B1 (en) 2003-07-24 2008-04-29 Bbn Technologies Corp. Extensible satellite communication system
EP1652075B1 (en) * 2003-07-29 2018-10-31 Qualcomm Incorporated Mobile handset with update agent implemented in hardware
US20050025349A1 (en) * 2003-07-30 2005-02-03 Matthew Crewe Flexible integration of software applications in a network environment
US7822831B2 (en) * 2003-07-31 2010-10-26 International Business Machines Corporation Method, system and program product for preserving and restoring mobile device user settings
US7886093B1 (en) 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
KR100880783B1 (ko) * 2003-09-03 2009-02-02 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘 피 전자 장치에서의 3-단계 부팅 프로세스
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7668612B1 (en) 2003-09-18 2010-02-23 Hewlett-Packard Development Company, L.P. System and method for efficient manufacture and update of electronic devices
KR20090035044A (ko) * 2003-09-26 2009-04-08 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘 피 네트워크에서의 생성자와 콘텐츠 서버 간의 업데이트 패키지 전송을 위한 업데이트 패키지 카탈로그
KR101085987B1 (ko) * 2003-10-03 2011-11-22 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 모바일 장치들의 등록 및 모바일 장치들의 관리를 위한네트워크 및 방법
US7340447B2 (en) 2003-10-09 2008-03-04 Oracle International Corporation Partitioning data access requests
US7882132B2 (en) 2003-10-09 2011-02-01 Oracle International Corporation Support for RDBMS in LDAP system
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7716276B1 (en) 2003-11-17 2010-05-11 Hewlett-Packard Development Company, L.P. Network that supports user-initiated device management
US20050125412A1 (en) * 2003-12-09 2005-06-09 Nec Laboratories America, Inc. Web crawling
US7797693B1 (en) 2003-12-12 2010-09-14 Hewlett-Packard Development Company, L.P. NAND mobile devices capable of updating firmware or software in a manner analogous to NOR mobile devices
US20050132351A1 (en) * 2003-12-12 2005-06-16 Randall Roderick K. Updating electronic device software employing rollback
US9323515B1 (en) 2004-01-16 2016-04-26 Qualcomm Incorporated Network with broker for device management
US8838754B1 (en) 2004-01-26 2014-09-16 Qualcomm Incorporated Mobile device with a management forest in a device management network
US7984485B1 (en) 2004-01-29 2011-07-19 Hewlett-Packard Development Company, L.P. Ingestion interface for transferring update package containers into a distribution network
US7551912B2 (en) * 2004-02-12 2009-06-23 Hewlett-Packard Development Company, L.P. Device management network that facilitates selective billing
EP1569489B1 (fr) * 2004-02-26 2019-12-25 Orange Procédé de génération automatique de profils actifs pour terminal de télécommunications
US8238721B2 (en) * 2004-02-27 2012-08-07 Hollinbeck Mgmt. Gmbh, Llc Scene changing in video playback devices including device-generated transitions
US8837921B2 (en) * 2004-02-27 2014-09-16 Hollinbeck Mgmt. Gmbh, Llc System for fast angle changing in video playback devices
US20050210409A1 (en) * 2004-03-19 2005-09-22 Kenny Jou Systems and methods for class designation in a computerized social network application
US8165448B2 (en) * 2004-03-24 2012-04-24 Hollinbeck Mgmt. Gmbh, Llc System using multiple display screens for multiple video streams
US7739679B2 (en) * 2004-04-06 2010-06-15 Hewlett-Packard Development Company, L.P. Object ordering tool for facilitating generation of firmware update friendly binary image
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US7971199B1 (en) 2004-05-03 2011-06-28 Hewlett-Packard Development Company, L.P. Mobile device with a self-updating update agent in a wireless network
US7543118B1 (en) 2004-05-07 2009-06-02 Hewlett-Packard Development Company, L.P. Multiple variance platform for the management of mobile devices
US7689982B1 (en) 2004-05-07 2010-03-30 Hewlett-Packard Development Company, L.P. Transparent linker profiler tool with profile database
US7657886B1 (en) 2004-06-03 2010-02-02 Hewlett-Packard Development Company, L.P. Mobile device with a MMU for faster firmware updates in a wireless network
US20060026587A1 (en) * 2004-07-28 2006-02-02 Lemarroy Luis A Systems and methods for operating system migration
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US8045845B2 (en) * 2005-01-03 2011-10-25 Hollinbeck Mgmt. Gmbh, Llc System for holding a current track during playback of a multi-track media production
US20060175271A1 (en) * 2005-01-31 2006-08-10 Emrey David A Apparatus and method of holding a golf score card and writing instrument, and golf bag and system incorporating the same
US8972549B2 (en) * 2005-06-10 2015-03-03 Adaptive Spectrum And Signal Alignment, Inc. User-preference-based DSL system
US20070101342A1 (en) * 2005-10-31 2007-05-03 Microsoft Corporation Automated device driver management
US20070101328A1 (en) * 2005-10-31 2007-05-03 Microsoft Corporation Sequencing a single task sequence across multiple operating environments
US7669123B2 (en) * 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
US8209676B2 (en) 2006-06-08 2012-06-26 Hewlett-Packard Development Company, L.P. Device management in a network
WO2008014454A2 (en) 2006-07-27 2008-01-31 Hewlett-Packard Development Company, L.P. User experience and dependency management in a mobile device
WO2008022198A2 (en) * 2006-08-15 2008-02-21 Hewlett-Packard Development Company, L.P. Friends finder service for a mobile device in a network
US7874008B2 (en) * 2006-08-29 2011-01-18 International Business Machines Corporation Dynamically configuring extensible role based manageable resources
US8126128B1 (en) * 2006-11-01 2012-02-28 At&T Intellectual Property I, Lp Life cycle management of user-selected applications on wireless communications devices
US7904572B2 (en) * 2006-11-10 2011-03-08 Canon Denshi Kabushiki Kaisha Method, apparatus, and medium for controlling access to and setting for features of an imaging processing device
US8510233B1 (en) 2006-12-27 2013-08-13 Stamps.Com Inc. Postage printer
US9779556B1 (en) 2006-12-27 2017-10-03 Stamps.Com Inc. System and method for identifying and preventing on-line fraud
EP2135161B1 (en) * 2006-12-29 2015-05-20 Sap Se Management of data for installation on a remote device
US8391775B2 (en) * 2007-03-09 2013-03-05 Airbiquity Inc. Mobile digital radio playlist system
US20080250050A1 (en) * 2007-04-05 2008-10-09 Cracchiolo Martin J Method and system for developing a desired set of configuration profiles for an application program and storage medium for storing a set of computer instructions which effectuate the method
US7818396B2 (en) * 2007-06-21 2010-10-19 Microsoft Corporation Aggregating and searching profile data from multiple services
US20080317042A1 (en) * 2007-06-22 2008-12-25 Palo Alto Research Center Incorporated Extensible framework for compatibility testing
FI121618B (fi) * 2007-11-09 2011-01-31 Capricode Oy Mobiilin laitteen laitehallintamenetelmä ja -järjestely
EP2223208A2 (en) 2007-11-15 2010-09-01 Desknet SA Method enabling a computer apparatus run by an operating system to execute software modules
US8219595B2 (en) * 2008-02-14 2012-07-10 Hewlett-Packard Development Company, L.P. System and method for efficient remote data access for server management
US8725647B2 (en) * 2008-03-27 2014-05-13 Ca, Inc. Method and system for determining software license compliance
US20090249493A1 (en) * 2008-03-27 2009-10-01 Computer Associates Think, Inc. Method and System for Determining Software License Compliance
US8181230B2 (en) * 2008-06-30 2012-05-15 International Business Machines Corporation System and method for adaptive approximating of a user for role authorization in a hierarchical inter-organizational model
US8645375B1 (en) * 2008-09-29 2014-02-04 Emc Corporation Controlling information about a data storage system returned to an end-user
AU2009311364A1 (en) * 2008-10-28 2010-05-14 Airbiquity Inc. Purchase of a piece of music being played on a radio in a vehicle
US20100229188A1 (en) * 2009-03-03 2010-09-09 International Business Machines Corporation Presenting Data Files to an Application Based on a Characteristic of the Application and the Files
US9485339B2 (en) 2009-05-19 2016-11-01 At&T Mobility Ii Llc Systems, methods, and mobile devices for providing a user interface to facilitate access to prepaid wireless account information
US8838332B2 (en) * 2009-10-15 2014-09-16 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US9370029B2 (en) 2009-10-15 2016-06-14 Airbiquity Inc. Efficient headunit communication integration
US8831823B2 (en) * 2009-10-15 2014-09-09 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US8942888B2 (en) 2009-10-15 2015-01-27 Airbiquity Inc. Extensible scheme for operating vehicle head unit as extended interface for mobile device
US9002574B2 (en) 2009-10-15 2015-04-07 Airbiquity Inc. Mobile integration platform (MIP) integrated handset application proxy (HAP)
JP5244831B2 (ja) * 2010-01-25 2013-07-24 株式会社日立製作所 計算機システム及びストレージ統合管理方法
US9081747B1 (en) 2012-03-06 2015-07-14 Big Bang Llc Computer program deployment to one or more target devices
TW201404636A (zh) 2012-06-08 2014-02-01 Airbiquity Inc 遠程識別機動車輛及監測駕駛員行爲之電子感測器資料的評估
CN103646055B (zh) * 2013-11-29 2017-09-26 广州视源电子科技股份有限公司 一种程序配置信息的获取方法和装置
US10171472B2 (en) 2016-03-02 2019-01-01 Microsoft Technology Licensing, Llc Role-specific service customization
CN108809680B (zh) * 2017-05-04 2021-03-02 腾讯科技(深圳)有限公司 一种设备管理的方法及设备
CN109039670A (zh) 2017-06-09 2018-12-18 钉钉控股(开曼)有限公司 团队配置方法、团队配置方案的分享方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885770A (en) * 1987-09-04 1989-12-05 Digital Equipment Corporation Boot system for distributed digital data processing system
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US5491820A (en) * 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US5848233A (en) * 1996-12-09 1998-12-08 Sun Microsystems, Inc. Method and apparatus for dynamic packet filter assignment
US5835727A (en) * 1996-12-09 1998-11-10 Sun Microsystems, Inc. Method and apparatus for controlling access to services within a computer network
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system

Also Published As

Publication number Publication date
DE69828202D1 (de) 2005-01-20
CA2324396C (en) 2004-10-26
CN1292965A (zh) 2001-04-25
WO1999057862A1 (en) 1999-11-11
US6105063A (en) 2000-08-15
IL138133A (en) 2005-03-20
PL343688A1 (en) 2001-08-27
IL138133A0 (en) 2001-10-31
JP2003505745A (ja) 2003-02-12
DE69828202T2 (de) 2005-12-15
EP1076973A1 (en) 2001-02-21
EP1076973B1 (en) 2004-12-15
CN1120606C (zh) 2003-09-03
CA2324396A1 (en) 1999-11-11
TW444181B (en) 2001-07-01

Similar Documents

Publication Publication Date Title
JP3670965B2 (ja) ユーザ及びユーザ・グループ又は端末及び端末グループのコンテキストに従って階層データ構造におけるアプリケーション・プリファレンスを維持するためのクライアント/サーバ・システム
JP3940239B2 (ja) ユーザ構成選択を管理する方法、システム、記録媒体
US6105066A (en) Client-server system with central application management and using fully qualified class names of object-oriented applications for determining permanent server storage locations for application configuration information
US6339826B2 (en) Client-server system for maintaining a user desktop consistent with server application user access permissions
JP3096456B2 (ja) エンド・ユーザ・アプリケーションの構成選択を指定する方法
US6108712A (en) Client-server system with central application management and providing export agent capability for retrofitting existing hardware and applications into the system
KR100470851B1 (ko) 컴퓨터 네트워크에서 서버로부터 디지탈 데이타를클라이언트 컴퓨터로 다운로드 하는 방법
JP3611297B2 (ja) セキュリティを役割ベースで割り振るデータ処理システム、方法、及びコンピュータ・プログラム製品
US8140976B2 (en) Using content aggregation to build administration consoles
US5797128A (en) System and method for implementing a hierarchical policy for computer system administration
US6144959A (en) System and method for managing user accounts in a communication network
US20100274812A1 (en) Method and System for Sharing Different Web Components Between Different Web Sites in a Portal Framework
KR20010041294A (ko) 분산 시스템에서 동적 룩업 서비스
US8973017B2 (en) Productivity application management
US8032504B2 (en) Mechanism for enabling new task types to be added to a system for managing distributed nodes
CZ20004081A3 (cs) Systém klient-server pro udržování nastavení aplikace v hierarchické datové struktuře podle kontextu uživatele a skupiny uživatelů nebo terminálu a skupiny terminálů
Penberthy et al. Virtual Machines
Adamski et al. Documented second release of the security infrastructure and APIs
Guide SAS® 9.1. 3Integration Technologies

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040917

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080422

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100422

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120422

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 9

EXPY Cancellation because of completion of term