JP2006510098A - 分散デスクトップ・パッケージを使用してデスクトップ・コンポーネントを復元するためのシステムおよび方法 - Google Patents

分散デスクトップ・パッケージを使用してデスクトップ・コンポーネントを復元するためのシステムおよび方法 Download PDF

Info

Publication number
JP2006510098A
JP2006510098A JP2004559792A JP2004559792A JP2006510098A JP 2006510098 A JP2006510098 A JP 2006510098A JP 2004559792 A JP2004559792 A JP 2004559792A JP 2004559792 A JP2004559792 A JP 2004559792A JP 2006510098 A JP2006510098 A JP 2006510098A
Authority
JP
Japan
Prior art keywords
desktop
file
self
component
contained
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.)
Pending
Application number
JP2004559792A
Other languages
English (en)
Other versions
JP2006510098A5 (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 JP2006510098A publication Critical patent/JP2006510098A/ja
Publication of JP2006510098A5 publication Critical patent/JP2006510098A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 組織全体に渡って配置されたサーバに事前に送信されたコンポーネント・ファイルを管理者が回復できるようにし、デスクトップ・パッケージを中央管理するシステムおよび方法を提供することにある。
【解決手段】 アプリケーションはユーザおよびワークステーションに割り当てられる。内蔵タイプのデスクトップ・パッケージはサーバに伝送される。次にサーバはデスクトップ・パッケージをクライアントに提供する。パッケージと、パッケージに含まれるコンポーネントは、パッケージおよびコンポーネントを識別するために使用される固有のIDを含む。内蔵タイプのデスクトップ・ファイルのそれぞれに含まれる個々のコンポーネントを詳述するマニフェストが維持される。災害イベントが管理者のコンピュータ・システムで発生すると、管理者は、そのパッケージが事前に伝送されたサーバから内蔵タイプのデスクトップ・ファイルを検索する。管理者は、内蔵タイプのデスクトップ・ファイルからコンポーネントをアンパックすることにより、コンポーネント・ライブラリを再取込みする。管理者は、追加の内蔵タイプのパッケージ・ファイルを他のサーバから検索する必要があるかどうかを判別するためにマニフェストを使用する。

Description

本発明は、デスクトップ・コンポーネントを復元するためのシステムおよび方法に関する。特に、本発明は、内蔵タイプの(self-contained)パッケージ・データを使用して分散コンピュータからデスクトップ・コンポーネントを回復するためのシステムおよび方法に関する。
今日の最新のコンピュータ・ソフトウェア・システムは、組織全体に渡って分散式に編成されたエンタープライズ・システムである場合が多い。組織内の様々な人は、ユーザの職務記述に応じて、コンピュータ・システムを使用してそれぞれ異なる役割を実行する。銀行業務の一例では、あるユーザは出納係(teller)であり、したがって、銀行業務の顧客に対応するために、出納係アプリケーションを必要とする可能性がある。もう1人のユーザは融資担当者(loan officer)であり、融資を申請している顧客に対応するために融資担当者アプリケーションにアクセスする必要がある可能性がある。第3のユーザは支店長(branch manager)であり、銀行の支店を管理するために使用されるコンピュータ機能にアクセスする必要がある可能性がある。組織は、その分散共用システムを中央管理するための能力を所望する場合が多い。
伝統的なコンピュータ・システムは、概して、各コンピュータにより、たとえば、コンピュータ・ネットワークを使用して必要な機能にアクセスすることにより、すべての必要な機能を提供するように設計されているか、またはシステムは、個々のワークステーションが特定の役割を実行し、したがって、特定の1人または1組のユーザによって使用されるように設計されている。これは、複数ユーザが同じクライアント・コンピュータ・システムを使用する組織において課題を提起するものである。この銀行業務の例では、勤務時間、曜日、または特定のワークステーションにどの出納係がたまたま割り当てられるかに応じて、複数の出納係が同じクライアント・コンピュータ・システムを共用する可能性がある。
すべての組織機能が同じワークステーションから提供される場合、特定の機能を実行することを許可されていないユーザは、許可されていない機能を偶発的にまたは故意に実行する可能性がある。たとえば、出納係は、融資担当者または支店長の機能が出納係のワークステーションから使用可能である場合に、その機能を偶発的にまたは故意に実行する可能性がある。伝統的なシステムが許可を処理する方法の1つは、各ワークステーションで各職務の役割を処理するためのソフトウェア・コンポーネントをインストールするが、ユーザ・ログインに基づいてアクセスを制限することによるものである。しかし、この手法の課題は、任意の所与のワークステーションからこのような機能性を必要とする可能性のある任意のユーザにとって使用可能なものにするために、各ワークステーションが任意の新規または変更したソフトウェア・コンポーネントを受信する必要があることである。この手法のもう1つの課題は、すべてのワークステーションを変更しなければならないことである。
ユーザが実行する機能のうちのいくつかはクライアント/サーバ機能である可能性があるが、他の機能は、ユーザのワークステーションにインストールされているソフトウェア・システムの使用を伴う可能性がある。ユーザのワークステーションにインストールされたソフトウェア・システムとしては、レガシー・ソフトウェア・アプリケーションと、特定のオペレーティング・システム環境向けに作成されたその他のソフトウェアを含む可能性がある。
特定の機能を実行するために必要なコンポーネントを含む内蔵タイプのデスクトップ・パッケージの集中管理を行うシステムおよび方法は、組織全体に渡って実行されるコンピューティング機能を編成し管理する際に有用である。中央で作成し管理するコンポーネントを使用することの課題は、中央管理者によって作成された役割の価値が増加することと、中央管理者によって維持されるファイルが破棄された場合に組織にとって潜在的な損失が発生することである。
したがって、必要であるのは、組織全体に渡って配置されたサーバおよびクライアントに事前に送信されたコンポーネント・ファイルを中央管理者が回復できるようにするシステムおよび方法である。加えて、必要であるのは、様々なコンポーネントならびにそのコンポーネントの複数リリースを識別するためにコンポーネント・ファイルを一意的に識別するシステムおよび方法である。
デスクトップ・パッケージを中央管理するシステムおよび方法を使用して前述の課題が解決されることが発見された。このシステムにより、中央管理者は、組織全体に渡って配置されたサーバおよびクライアントに事前に送信されたコンポーネント・ファイルを回復することができる。
管理者は、ユーザおよびワークステーションにアプリケーションを割り当てる。管理者は、特定の職務の役割に必要なデスクトップ・コンポーネントを選択し、そのコンポーネントを内蔵タイプのデスクトップ・パッケージ・ファイルにパッケージ化する。この内蔵タイプのデスクトップ・パッケージは、特定のワークステーションを使用しているユーザに送信される。システムは、そのユーザに割り当てられている1つまたは複数の役割を識別し、識別された役割と、ワークステーションに割り当てられている1つまたは複数の役割とを突き合わせる。ワークステーションとユーザの両方に許可されている役割は、そのワークステーションを使用してそのユーザが使用するために使用可能になる。
一実施形態では、コンポーネントは種々の内蔵タイプのデスクトップ・パッケージ・セットにパッケージ化され、各パッケージはそれぞれ異なる1つの役割に対応する。銀行業務の一例では、出納係、融資担当者、および支店長などのユーザによって実行される各銀行業務の役割ごとに、それぞれ異なるデスクトップ・パッケージが作成されることになるであろう。このような内蔵タイプのデスクトップ・パッケージのそれぞれは、対応する機能を実行するために必要なコンポーネントを含む。たとえば、現金引出し(cash drawer)を操作するために使用されるデスクトップ・コンポーネントは出納係パッケージとともに含まれることになり、銀行の融資アプリケーション・ソフトウェアにアクセスするために使用されるデスクトップ・コンポーネントは融資担当者パッケージとともに含まれることになるであろう。複数の役割に共通のコンポーネントは、それが必要とされる各パッケージに含まれる。たとえば、顧客口座にアクセスするために使用されるコンポーネントは、出納係パッケージと融資担当者パッケージの両方に含まれる可能性がある。
内蔵タイプのデスクトップ・パッケージはサーバに伝送または「公開」される。次にサーバは内蔵タイプのデスクトップ・パッケージをクライアントに提供する。パッケージと、パッケージに含まれるコンポーネントは、パッケージおよびコンポーネントを識別するために使用される固有のIDを含む。加えて、内蔵タイプのデスクトップ・ファイルのそれぞれに含まれる個々のコンポーネントを詳述するマニフェストが維持される。
火災またはドライブ障害などの災害イベントが管理者のコンピュータ・システムで発生すると、管理者は、そのパッケージが事前に伝送されたサーバから内蔵タイプのデスクトップ・ファイルを検索する。管理者は、内蔵タイプのデスクトップ・ファイルからコンポーネントをアンパックすることにより、コンポーネント・ライブラリを再取込みする(repopulate)。管理者は、追加の内蔵タイプのパッケージ・ファイルを他のサーバから検索する必要があるかどうかを判別するためにマニフェストを使用する。
上記は要約であり、したがって、必要に迫られて、詳細の単純化、一般化、および省略を含み、その結果として、当業者は、その要約が例示的なものにすぎず、いずれにしても制限的なものになることは意図されていないことが分かるであろう。特許請求の範囲によってのみ定義されるように、本発明のその他の態様、発明の特徴、および利点は、以下に示した非制限的な詳細説明で明らかになるであろう。
本発明は、添付図面を参照することによって、より適切に理解することができ、その多数の目的、特徴、および利点は当業者にとって明らかなものにすることができる。異なる図面で同じ参照記号を使用する場合、同様または同一の項目を示す。
以下は、本発明の一例の詳細説明を提供するためのものであり、本発明自体を制限するものであると解釈すべきではない。むしろ、任意の数の変形例が、この説明後に特許請求の範囲で定義される本発明の範囲に含まれる可能性がある。
図1は、内蔵タイプのデスクトップを使用するネットワーク化コンピュータ・システムのネットワーク図である。管理者100は、イメージ115と、アプリケーション拡張120と、各国語変換125と、クライアント構成ファイル130と、サーバ構成ファイル135と、デスクトップ・プロファイル情報140とを組み合わせることにより、内蔵タイプのデスクトップ110を作成する。内蔵タイプのデスクトップ110は、あるクライアントがそのクライアントの特定の役割を与えられたクライアントのワークステーション上でコンポーネントを使用するために必要なすべての情報を含む。
内蔵タイプのデスクトップ110は、クライアントへの普及のために1つまたは複数のサーバ150に伝送される。サーバ150は、ユーザの役割155とワークステーションの役割160とを組み合わせて、どの内蔵タイプのデスクトップをクライアントに送信すべきかを判別する。クライアント165は、ログインを実現するために、ユーザIDとパスワードが収集され、サーバ150に伝送されるログイン機能170を実行する。クライアント165は、許可デスクトップのリストを受信するために、ユーザIDとマシンIDが収集され、サーバ150に伝送されるログイン機能170を実行する。
サーバ150は、クライアントからユーザID、パスワード、およびマシンIDを受信し、そのクライアントによって使用されている特定のユーザIDおよび特定のワークステーションに対応するユーザの役割155およびワークステーションの役割160に基づいて、どの内蔵タイプのデスクトップをクライアントに送信すべきかを判別する。それに応答して、識別された内蔵タイプのデスクトップがサーバ150からクライアント165に伝送される。
クライアント165は、クライアント・ワークステーション上にシェル・アプリケーション180をロードするために、ロード・シェル・プロセス175を実行する。このシェル・プロセスは、Java仮想マシン(JVM)などのミドルウェア・アプリケーション上にロードされるアプリケーションである。このように、シェル・アプリケーションは、クライアント・ワークステーションによって使用されているオペレーティング・システム・プラットフォームにかかわらず、一貫性があり、実質的に同様と思われる。シェル・アプリケーション180は、内蔵タイプのデスクトップ190を検索し表示するように適合される。クライアント165は、ユーザIDとワークステーションIDとの共通部分(intersection)に基づいて、内蔵タイプのデスクトップを受信する。内蔵タイプのデスクトップは、プロセス185を使用して受信され表示される。したがって、所与のクライアントは複数の内蔵タイプのデスクトップを使用することができる。これらの内蔵タイプのデスクトップは、ユーザと通信するために使用されるツールバーと、メニューと、その他のグラフィカル・ユーザ・インターフェース項目とを含む。これらのユーザ・インターフェースのうちのいくつかは、サーバ150によってホストされるサーバ・アプリケーションと通信する機能性を含む。その他のユーザ・インターフェースは、クライアントベースのアプリケーション195にマッピングされる拡張機能を含む。クライアントベースのアプリケーションにマッピングされるデスクトップ・コンポーネントをユーザがクリックすると、そのクライアントベースのアプリケーションを呼び出すかまたはそれを使用するための機能性が内蔵タイプのデスクトップ内に存在する。あるクライアントが自分の自由になる内蔵タイプのデスクトップを複数有する場合、ユーザは、シェル・アプリケーション180によって提供されるメニューを使用することにより、様々な内蔵タイプのデスクトップ間で切り替えることができる。たとえば、銀行業務環境では、あるユーザが融資担当者であるとともに支店長でもある場合、ワークステーションがこれらの役割の両方を実行できるのであれば、これらの役割について対応する内蔵タイプのデスクトップが両方ともシェル180にロードされることになるであろう。融資担当者機能を実行するために、ユーザはシェル・アプリケーション180から融資担当者デスクトップを選択する。同様に、支店長機能を実行するために、ユーザはシェル・アプリケーション180から支店長デスクトップを選択する。加えて、最初に表示されるデスクトップがそのユーザの主な役割またはデフォルトの役割に対応するように、デフォルトの役割を設けることができる。
図2は、内蔵タイプのデスクトップを提供する際に含まれるコンポーネントのブロック図である。管理者200は、トポロジ、ユーザ定義、サイト定義、およびデスクトップ定義を定義する。管理者200は、ワークステーション定義205を提供することによりトポロジを定義する。ワークステーション定義205は、どの役割またはデスクトップが様々なワークステーション上での使用が許可されるかを定義するワークステーション・アドレス210と許可デスクトップ215とを含む。たとえば、銀行業務環境では、出納係の窓口に配置されたワークステーションは、出納係ボックスなどの特殊機器を有する可能性があり、したがって、そのワークステーションは出納係機能を実行することができるかまたはそれを実行することが許可される。おそらく出納係エリアから離れたデスクにある他のワークステーションは、出納係機能を実行することができない可能性がある。
ユーザ定義220は、システムのユーザおよびこのようなユーザが実行する役割を定義するために使用される。ユーザ定義220は、ユーザ・データ225と、割当てグループ・データ230とを含む。ユーザ・データ225は、ユーザIDと、ユーザ・パスワードとを含む。割当てグループ・データ230は、特定のユーザが実行することを許可されている役割を含む。たとえば、支店長は、支店長機能、融資担当者機能、および出納係機能を実行することを許可される可能性があるが、出納係は出納係機能を実行することが許可されるだけである可能性がある。
サイト定義235は、特定のサイトに関する情報を含む。銀行業務環境では、サイトはその銀行の支店である可能性がある。サイト定義235は、特定のサイトのユーザのための共通デスクトップを提供するグループ・デスクトップ・マップ240ならびにそのサイトに関する詳細を提供するサイト情報245を含む。
デスクトップ定義250は、クライアントによって使用される内蔵タイプのデスクトップを作成するために使用されるコンポーネントを含む。デスクトップ定義250は、内蔵タイプのデスクトップ上に表示されるイメージ252と、内蔵タイプのデスクトップからアクセス可能なクライアントベースのアプリケーションに関する詳細を提供するアプリケーション拡張254とを含む。また、デスクトップ定義250は、各国語変換256などのリソースも含み、したがって、ユーザは、それぞれの必要に最も適合する言語設定(language preference)などのリソースを選択することができる。また、デスクトップ定義250は、クライアント構成258と、サーバ構成260も含む。これらの構成は、特定の内蔵タイプのデスクトップとともに含まれるコンポーネントに関する情報を含む。
管理者200は、内蔵タイプのデスクトップを作成し、クライアントによってアクセス可能な1つまたは複数のサーバ265上にその内蔵タイプのデスクトップを公開する。サーバ265は、永続的ストレージ(persistent storage)270と、認証機能280とを含む。永続的ストレージ270は、ユーザ・データ272と、トポロジ情報274と、内蔵タイプのデスクトップ276とを含む。ユーザ・データおよびトポロジ・データは、所与のワークステーションを使用する所与のクライアントがどの内蔵タイプのデスクトップ276を使用することを許可されているかを判別するために使用される。サーバ265は、特定のユーザ/ワークステーションについて許可されているデスクトップをクライアント290に提供する。内蔵タイプのデスクトップは、クライアントによって受信され、プラットフォーム独立シェル295上に表示される。このように、サーバ265は、クライアントによって使用されている特定のオペレーティング・システム・プラットフォームと無関係に、識別されたデスクトップをクライアント290に送信する。
図3は、内蔵タイプのデスクトップを提供するために管理者によって実行されるステップを示す高レベル流れ図である。管理者処理は300から始まり、その後、管理者はユーザを定義する(事前定義プロセス310、詳細については図5を参照されたい)。また、管理者は、システムのユーザによって使用されるワークステーションも定義する(事前定義プロセス320、詳細については図6を参照されたい)。
各国語変換など、クライアントが必要とするリソースは、そのリソースを内蔵タイプのデスクトップに含めることができるようにセットアップされる(事前定義プロセス330)。ワークステーションから使用可能なアプリケーションに対応するアプリケーション拡張が定義される(事前定義プロセス340、詳細については図7を参照されたい)。特定の職務の役割を実行するために必要なすべてのコンポーネントを含む内蔵タイプのデスクトップがパッケージ化される(事前定義プロセス350、処理の詳細については図8を参照されたい)。
新規サイトが追加されるかどうかに関する判別が行われる(判断360)。新規サイトが追加される場合、判断360は「Yes」分岐365に分岐し、その後、新規サイトが定義される(事前定義プロセス370、処理の詳細については図4を参照されたい)。これに対して、新規サイトが追加されない場合、判断360は「No」分岐375に分岐し、ステップ370を迂回する。
定義されたデスクトップは、1つまたは複数のサイトおよび1つまたは複数の役割にマッピングされる(事前定義プロセス380)。このように、単一デスクトップは、複数のサイトで複数の役割のために使用することができる。逆に、各サイトでそれぞれの役割ごとに異なるデスクトップを定義し使用することができる。デスクトップ・コンポーネントは1つの内蔵タイプのデスクトップにパッケージ化され、その内蔵タイプのデスクトップは様々なクライアントへの普及のために1つまたは複数のサーバに公開される(事前定義プロセス390、処理の詳細については図9を参照されたい)。管理者処理は395で終了する。
図4は、特定のサイトをセットアップするために実行される管理者ステップを示す流れ図である。処理は400から始まり、その後、固有のIDがサイトに割り当てられる(ステップ405)。そのサイトの親サイトが識別される(ステップ410)。たとえば、支店は親サイト用の地方事務所を有する場合がある。このように、新規サイトは、特性および属性が一貫性があり、各サイトごとに再入力する必要がないように、親サイトから特性および属性を継承することができる。親サイトが識別されたかどうかに関する判別が行われる(判断415)。親サイトが識別された場合、判断415は「Yes」分岐418に分岐し、その後、その親に関するポリシーおよびデスクトップが検索される(ステップ420)。これに対して、親サイトが識別されていない場合、判断415は「No」分岐422に分岐し、その後、管理者はポリシーおよびデスクトップをそのサイト用のデフォルト値に設定する(ステップ425)。
特定のサイトについて検索または設定されたポリシーは、その特定のサイトの必要に応じて変更することができる(ステップ430)。このように、あるサイトは、親サイトのポリシーとはわずかに異なるポリシーを有することができる。サイトは、そのサイトで働くユーザによって実行される1つまたは複数の役割を有する。銀行業務環境では、支店サイトは、出納係、融資担当者、および支店長などの役割を有することができる。このサイトの第1の役割が選択される(ステップ435)。その役割を変更する必要があるかどうかに関する判別が行われる(判断440)。その役割を変更する必要がある場合、判断440は「Yes」分岐445に分岐し、その後、その役割に関する内蔵タイプのデスクトップが選択される(ステップ450)。これに対して、その役割に関するデスクトップを変更する必要がない場合、判断440は「No」分岐455に分岐し、ステップ450を迂回する。このように、子サイトは特定の役割のために親サイトと同じデスクトップを使用するが、管理者は所与の役割について子サイトに異なるデスクトップを割り当てるための柔軟性を有する。
そのサイト用の役割がそれ以上存在するかどうかに関する判別が行われる(判断460)。役割がそれ以上存在する場合、判断460は「Yes」分岐465に分岐し、その後、そのサイトの次の役割が選択され(ステップ470)、処理はループバックして次の役割を処理する。このループは、そのサイト用の役割がそれ以上存在しなくなるまで継続し、その時点で判断460は「No」分岐475に分岐し、その後、そのサイトについて選択されたデスクトップおよびその他のデータが保管される(ステップ480)。次に処理は495で復帰する。
図5は、新規ユーザを定義するために管理者によって実行されるステップを示す流れ図である。処理は500から始まり、その後、ユーザIDなどの固有のユーザIDがそのユーザに割り当てられる(ステップ505)。また、初期パスワードもそのユーザに割り当てられる(ステップ510)。また、そのユーザ用のユーザ名あるいはユーザ記述またはその両方も入力される(ステップ515)。そのユーザ用の各国語設定が選択される(ステップ520)。
管理者によって作成され、データ・ストア530に保管された役割のリストから、そのユーザ用の役割が選択される(ステップ525)。選択された役割がそのユーザ用のデフォルトの役割であるかどうかに関する判別が行われる(判断540)。選択された役割がそのユーザ用のデフォルトの役割である場合、判断540は「Yes」分岐545に分岐し、その後、選択された役割はそのユーザ用のデフォルトの役割として割り当てられる(ステップ550)。これに対して、選択された役割がデフォルトの役割ではない場合、判断540は「No」分岐555に分岐し、ステップ550を迂回する。
そのユーザに割り当てるべき役割がそれ以上存在するかどうかに関する判別が行われる(判断560)。そのユーザに割り当てるべき役割がそれ以上存在する場合、判断560は「Yes」分岐565に分岐し、それがループバックして、そのユーザ用の次の役割を選択し処理する。このループは、そのユーザに割り当てるべき役割がそれ以上存在しなくなるまで継続し、その時点で判断560は「No」分岐570に分岐し、その後、そのユーザに割り当てられた役割が保管される(ステップ580)。次に処理は595で復帰する。
図6は、ワークステーションをセットアップするために管理者によって実行されるステップを示す流れ図である。処理は600から始まり、その後、ワークステーション用のMACアドレスなどのIDが入力される(ステップ610)。MACアドレスは、コンピュータ・ネットワークの各ノードを一意的に識別するハードウェア・アドレスであるメディア・アクセス制御アドレスである。ホストまたはサーバがそのワークステーションに割り当てられる(ステップ620)。そのワークステーション用のIPアドレスが割り当てられるかまたは検索される(ステップ630)。また、そのワークステーション用のワークステーション記述も入力される(ステップ640)。ワークステーション記述は、そのワークステーションが銀行出納係引出しを含むかどうかなどのワークステーションの機能の記述を含むことができる。
管理者によって作成され、データ・ストア660に保管された役割のリストから、そのワークステーション用の第1の役割が選択される(ステップ650)。たとえば、銀行業務環境では、役割としては、出納係、融資担当者、および支店長を含むことができる。1つのワークステーションは3つの役割すべてを実行できる可能性があるが、他のワークステーションは3つの役割のうちの1つまたは2つを実行できるだけである。さらに、他のワークステーションが機密または重要機能を物理的に実行できる可能性がある場合でも、このような機能が特定のワークステーションに制限される可能性がある。そのワークステーションに割り当てるべき役割がそれ以上存在するかどうかに関する判別が行われる(判断670)。そのワークステーションに割り当てるべき役割がそれ以上存在する場合、判断670は「Yes」分岐675に分岐し、その後、そのワークステーション用の次の役割が選択される(ステップ680)。このループは、そのワークステーションに割り当てるべき役割がそれ以上存在しなくなるまで継続し、その時点で判断670は「No」分岐685に分岐する。割り当てられた役割およびワークステーション・データは不揮発性ストレージ・エリアに保管される(ステップ690)。次に処理は695で復帰する。
図7は、アプリケーション拡張をセットアップするために管理者によって実行されるステップを示す流れ図である。アプリケーション拡張は、クライアントベースのレガシー・アプリケーションなどのアプリケーション・プログラムへのアクセスを可能にするデスクトップ・コンポーネントである。処理は700から始まり、その後、拡張IDが特定のアプリケーション拡張に割り当てられる(ステップ705)。対応するアプリケーションを記述するアプリケーション記述が入力される(ステップ710)。また、そのアプリケーション拡張用のクライアント・クラスも入力される(ステップ715)。
その拡張がシステムによって提供されるのかまたはユーザによって提供されるのかに関する判別が行われる(判断720)。その拡張がユーザによって提供される場合、判断720はユーザ分岐725に分岐し、その後、その拡張に対応するJavaアーカイブ(JAR)ファイル名が入力される(ステップ730)。これに対して、その拡張がシステム提供される場合、判断720はシステム分岐735に分岐し、ステップ730を迂回する。
管理者オブジェクト指向クラスが必要であるかどうかに関する判別が行われる(判断740)。管理者クラスが必要である場合、判断740は「Yes」分岐745に分岐し、その後、管理者クラス名が入力される(ステップ750)。これに対して、管理者クラスが必要ではない場合、判断740は「No」分岐755に分岐し、ステップ750を迂回する。
そのアプリケーション拡張は、提供された情報を使用して作成される(ステップ760)。そのアプリケーション拡張用の任意のデフォルト・プロパティが存在するかどうかに関する判別が行われる(判断770)。デフォルト・プロパティが存在する場合、判断770は「Yes」分岐775に分岐し、その後、そのアプリケーション拡張用のデフォルト・プロパティが入力される(ステップ780)。これに対して、そのアプリケーション拡張用のデフォルト・プロパティがまったく存在しない場合、判断770は「No」分岐785に分岐し、ステップ780を迂回する。
そのアプリケーション拡張は、任意のデフォルト・プロパティとともに、不揮発性ストレージ・エリアに保管される(ステップ790)。次に処理は795で復帰する。
図8は、アプリケーション参照をセットアップするために実行される管理者ステップを示す流れ図である。処理は800から始まり、その後、そのアプリケーション参照に対応する参照のタイプ(すなわち、拡張タイプ)が選択される(ステップ810)。固有のアプリケーション参照IDがそのアプリケーション参照に割り当てられる(ステップ820)。また、そのアプリケーション参照用のアプリケーション記述も提供される(ステップ830)。また、アイコン・タイトルおよびアイコン・ファイル名などのアイコン属性も提供される(ステップ840)。また、そのアプリケーション拡張のタイプに固有のプロパティも入力される(ステップ850)。次に、アプリケーション参照が不揮発性ストレージ・エリアに保管され(ステップ860)、処理は895で復帰する。
図9は、内蔵タイプのデスクトップを作成するために管理者によって実行されるステップを示す流れ図である。処理は900から始まり、その後、固有のデスクトップIDがその内蔵タイプのデスクトップに割り当てられる(ステップ905)。そのデスクトップ用のデスクトップ・タイトルあるいはデスクトップ記述またはその両方が入力される(ステップ910)。そのデスクトップ用の画面およびアイコンの外観が入力される(ステップ915)。次に管理者は、デスクトップ上に表示するために、アイコン、背景などのイメージを選択する(ステップ920)。これらのイメージはデスクトップ・コンポーネント・ライブラリ925から選択される。デスクトップ・コンポーネント・ライブラリ925は、背景およびその他のイメージ930と、アイコン935と、アプリケーション参照945と、リソース955とを含む。
デスクトップから使用可能になるアプリケーション参照は、デスクトップ・コンポーネント・ライブラリ925に含まれるアプリケーション参照945から選択される(ステップ940)。銀行業務環境では、出納係のデスクトップは、顧客の銀行預金残高を調べ、出納係の現金引出しを操作するためのアプリケーション参照を含むことができ、融資担当者のデスクトップは、銀行の融資承認ソフトウェア・アプリケーションへのアクセスを可能にするアプリケーション参照を含むことができる。サポートされるロケールごとに、テキストおよびリソースなどの各国語データが提供される(ステップ950)。これらのリソースは、デスクトップ・コンポーネント・ライブラリ925に含まれるリソース955から選択される。
そのデスクトップとともに含まれるファイルおよびリソースを詳述するデスクトップ構成が保管される(ステップ960)。そのデスクトップを記述するクライアント構成ファイルが作成され、デスクトップ・データがパッケージ化され(ステップ970)、その結果、内蔵タイプのデスクトップ975が得られる。結果として得られる内蔵タイプのデスクトップは、そのデスクトップをサーバ990に伝送することにより、クライアントがアクセス可能なサーバに公開される(ステップ980)。次に処理は995で復帰する。
図10は、内蔵タイプのデスクトップをクライアントに送達するためにサーバによって実行されるステップを示す流れ図である。処理は1000から始まり、その後、サーバがユーザ・ログインおよびワークステーションIDを受信する(ステップ1005)。ユーザ・ログインは、ユーザを認証するために使用されるユーザIDとユーザ・パスワードとを含む。そのユーザに割り当てられた役割は、ユーザ・ディレクトリ・データ・ストア1015から検索される(ステップ1010)。そのワークステーションに割り当てられた役割は、トポロジ・ディレクトリ1025から検索される(ステップ1020)。
そのユーザに割り当てられた任意の役割がそのワークステーションに割り当てられた任意の役割と一致するかどうかに関する判別が行われる(判断1030)。いかなる役割も共通しない場合、判断1030は「No」分岐1035に分岐し、その後、クライアントにエラーが返され(ステップ1038)、処理は1095で復帰する。これに対して、1つまたは複数の役割が共通する場合、判断1030は「Yes」分岐1040に分岐し、その後、選択された役割に関する第1のデスクトップがデスクトップ/役割マップ1050から検索され、対応する内蔵タイプのデスクトップがデータ・ストア1055から検索される。ユーザとワークステーションとの間で共通する役割がそれ以上存在するかどうかに関する判別が行われる(判断1060)。共通する役割がそれ以上存在する場合、判断1060は「Yes」分岐1070に分岐し、その後、次の共通の役割が選択され(ステップ1080)、処理はループバックして対応する内蔵タイプのデスクトップを検出する。このループは、ユーザとワークステーションとの間で共通する役割がそれ以上存在しなくなるまで継続し、その時点で判断1060は「No」分岐1065に分岐し、その後、検索されたデスクトップID(すなわち、ユーザとワークステーションの両方に共通するID)がクライアントに送信される(ステップ1090)。次に処理は1095で復帰する。
図11は、新規サイトをセットアップするために管理者によって使用される画面の画面レイアウトである。管理者は、画面レイアウト1100を使用して新規サイトを定義する。管理者は、テキスト・ボックス1150に固有のサイトIDを入力する。新規サイトがすでに作成されているサイトの子である場合、リスト・ボックス1105から親サイトが選択される。リスト・ボックス1105は、事前に定義されたサイトIDのリストを含む。フレーム1110は、そのサイトに使用されるポリシー情報を含む。ポリシー情報は、ポリシー名1115と、ポリシー値1120と、継承データ1125とを含む。継承データ1125は、継承値1130と、継承上位(inheritance ancestor)1135とを含む。図示の例では、ポリシー名は「新規bDC」であり、ポリシーの値は親サイトから継承される。継承値は「許可(allow)」であり、継承上位はサイト階層内の「ルート」または最上位サイトである。
デスクトップ・フレーム1140は、そのサイトで使用可能な役割およびデスクトップに関する情報を含む。デスクトップ・フレーム1140は、役割データ1155と、デスクトップ・データ1160と、継承データ1170とを含む。継承データは、継承されたデスクトップ1175の名前と、そこからそのデスクトップが継承された上位1180の名前とを含む。図示の例では、そのサイトに含まれる役割としては、管理者、支店長、ゲスト、融資担当者、および出納係を含む。それぞれのデスクトップは、デスクトップ・フィールド用の「[継承済み(Inherited)]」という値によって示される通り、親サイトから継承される。管理者、支店長、および融資担当者のデスクトップは「支店A」サイトから継承され、ゲストおよび出納係のデスクトップは「ルート」サイトから継承される。このように、内蔵タイプのデスクトップは、様々な親サイトから選択するかまたはその子サイト用に具体的に構成することができる。
新規サイト・データが入力されると、管理者は「サイトの作成」コマンド・ボタン1190を選択して新規サイトを作成する。管理者が間違いを犯し、値をリセットしたいと希望する場合、管理者は「値のリセット」コマンド・ボタン1195を選択することができる。
図12は、所与のサイト用のデスクトップおよびマシンを管理するために管理者によって使用される画面の画面レイアウトである。管理者は画面レイアウト1200を使用して、所与のサイト用のデスクトップを管理するとともに、そのサイトに対応するワークステーションを追加し管理する。画面レイアウト1200の上半分は、図11に示した新規サイト・レイアウトと同様である。リスト・ボックス1205は、そのサイトに割り当てるための親サイトを選択するために使用される。親サイトは、組織内の変更に対処するように変更することができる。ポリシー・フレーム1210は、ポリシーの名前1212と、ポリシー値1214と、継承データ1216とを含む。継承データは、継承値1218と上位値1220とを含む。図示の例では、ポリシー名は、「ルート」上位から継承された「新規bDC」である。
デスクトップ・フレーム1225は、役割データ1230と、デスクトップ・データ1235と、デスクトップ継承データ1240とを含む。図12に示した銀行業務の例では、このサイト用に含まれる役割は、管理者、支店長、ゲスト、融資担当者、および出納係からなる。デスクトップは、管理者、支店長、ゲスト、融資担当者、および出納係によって使用されるものである。それぞれの役割はデスクトップ・データ1235に示される。値のうちのいくつかは親サイトから継承され、その他の値は特定の内蔵タイプのデスクトップになるように指定される。デスクトップ継承データは、デスクトップ継承1242と、上位データ1244とを含む。図示の例では、管理者、支店長、および融資担当者はそれぞれ「支店A」からデスクトップ・データを継承し、ゲストおよび出納係はそれぞれ「ルート」親からデスクトップ・データを継承する。
管理者がサイト・データを変更し、変更したサイト情報を保管したいと希望する場合、管理者は「変更の実行依頼」コマンド・ボタン1245を選択する。管理者がサイト値をリセットしたいと希望する場合、管理者は「値のリセット」コマンド・ボタン1250を選択する。管理者がそのサイトを削除したいと希望する場合、管理者は「サイトの削除」コマンド・ボタン1255を選択する。
管理者がそのサイトをサーバに公開する準備ができると、管理者は「公開」コマンド・ボタン1260を選択する。管理者がそのサイトの子である任意のサイトとともにそのサイトを公開したいと希望する場合、管理者は「子を伴う公開(Publish with Children)」コマンド・ボタン1265を選択する。
子サイト・フレーム1270は、そのサイトの子である任意のサイトに関するデータを含む。子サイト・データは、サイト名1272と、サイト・ポリシー1278とを含む。新規子サイトを作成するために、管理者は、管理者が新規子サイトを識別できるようにする「<新規サイト>」ハイパーリンク1275を選択することができる。
マシン・フレーム1280は、そのサイトに含まれるワークステーションに関するデータを含む。ワークステーション・データは、ワークステーションID1282と、ワークステーション用のホスト名1284と、ワークステーション・タイプ1286と、そのワークステーションによって提供される役割1288と、そのワークステーションのIPアドレス1290と、ワークステーション記述1292とを含む。そのサイトに新規マシン(ワークステーション)を追加するために、管理者は「<新規マシン>」ハイパーリンク1295を選択する。
図13は、新規ユーザをセットアップするために管理者によって使用される画面の画面レイアウトである。画面レイアウト1300は、新規ユーザの固有のIDを入力するためのテキスト・ボックス1305を含む。ユーザのフルネームはテキスト・ボックス1310に入力される。加えて、ユーザの記述はテキスト・ボックス1315に入力することができる。たとえば、ユーザIDは、このような頻度の低いユーザまたはパートタイム・ユーザのために新規ユーザIDを確立する必要なしに誰かが使用することができるゲストまたは出納係などの総称IDとしてセットアップすることができる。このような総称目的に使用されるユーザIDは、記述テキスト・ボックス・フィールド1315を使用してさらに記述することができる。
そのユーザ用の新規初期パスワードはテキスト・ボックス1320に入力される。この新規初期パスワードは、そのパスワードをテキスト・ボックス1325に再入力することにより、管理者によって確認される。そのユーザ用のデフォルト・ロケールは、リスト・ボックス1330を使用して管理者によって選択される。図示の例では、ロケールは、米国英語を話すユーザのための米国ロケールになるように選択されている。しかし、そのユーザの1次言語がスペイン語またはその他の言語であった場合、適切なロケールはリスト・ボックス1330内に示されたリストから選択される。
フレーム1332は、そのユーザに対応する役割を選択するために管理者によって使用される。デフォルトの役割1335は、使用可能な役割のそれぞれに対応する、いくつかのラジオ・ボタンを含む。ラジオ・ボタンは、管理者がそのユーザ用のデフォルトの役割を1つだけ選択するように使用される。選択欄1340は、使用可能な役割のそれぞれに対応する、いくつかのチェック・ボックスを含む。管理者は、そのユーザが実行する各役割に対応する、それぞれのチェック・ボックスを選択する。名前欄1345は、使用可能な役割のそれぞれの名前を含む。図示の例では、使用可能な役割としては、管理者、支店長、ゲスト、融資担当者、および出納係を含む。管理者は、欄1340の対応するチェック・ボックスを選択することにより、これらの役割のうちの1つまたは複数を選択することができる。加えて、管理者は、「<新規役割>」ハイパーリンク1350を選択することにより、新規役割を確立することができる。
管理者が、ユーザ・データの入力と、そのユーザへの役割の割当てを終了すると、管理者は「ユーザの作成」コマンド・ボックス1355を選択して、ユーザ・データおよび割り当てられた役割を作成し保管する。管理者が間違いを犯し、値をリセットしたいと希望する場合、「値のリセット」コマンド・ボタン1360が選択される。
図14は、1つまたは複数の内蔵タイプのデスクトップ内のコンポーネントとして使用可能であるアプリケーションをセットアップするために管理者によって使用される画面の画面レイアウトである。画面レイアウト1400は、内蔵タイプのデスクトップに含めることができる新規アプリケーションを定義するために使用される。アプリケーションIDテキスト・ボックス1405は、定義中のアプリケーションに対応する固有のアプリケーションIDを入力するために管理者によって使用される。図14に示した例では、定義中のアプリケーションのタイプは「ネイティブ」アプリケーションであり、換言すれば、そのアプリケーションの実行可能プログラムのうちの少なくともいくつかがクライアント・ワークステーション上に常駐するアプリケーションである。
定義中のアプリケーションの記述は、記述テキスト・ボックス1410に入力される。アイコン属性フレーム1415は、デスクトップ上に表示され、アプリケーションを選択するためにユーザによって使用されることになるアイコンに対応する属性を定義するために使用される。アイコン属性は、テキスト・ボックス1420に入力されるタイトルと、テキスト・ボックス1425に入力されるアイコン・ファイル名とを含む。
プラットフォーム・プロパティ・フレーム1430は、そこからアプリケーションを呼び出すことができるサポート・オペレーティング・システム・プラットフォームのそれぞれに関するデータを含む。Win32フレーム1435は、Microsoft Windows(商標)オペレーティング・システム・プラットフォームからアプリケーションを呼び出して実行するために使用されるデータを含む。Win32データは、Win32環境でそのアプリケーションの実行可能形式を識別するパスおよびファイル名を含む。パスおよびファイル名はテキスト・ボックス1440に入力される。そのアプリケーションに必要な任意のパラメータは、パラメータ・テキスト・ボックス1445に提供される。そのアプリケーションに対応する作業ディレクトリは、必要であれば、テキスト・ボックス1455に入力される。
プラットフォーム・プロパティ・フレーム1430は、OS/2オペレーティング・システム・プラットフォームに関するデータも含み、そのためのフィールドはフレーム1460内に位置する。OS/2フィールドは、上述のWin32フィールドに対応する。これらは、パスおよびファイル名テキスト・ボックス1465と、パラメータ・テキスト・ボックス1470と、作業ディレクトリ・テキスト・ボックス1475とを含む。同様に、Linux用のフィールド・セットはフレーム1480内に設けられ、これが、パスおよびファイル名テキスト・ボックス1482と、パラメータ・テキスト・ボックス1484と、作業ディレクトリ・テキスト・ボックス1486とを含む。
アプリケーション情報が管理者によって入力されると、管理者は、「アプリケーションの作成」コマンド・ボタン1490を選択することにより、そのアプリケーションを作成することができる。管理者が間違いを犯した場合、「値のリセット」コマンド・ボタン1495を選択することにより、新規アプリケーション値をリセットすることができる。
図15は、内蔵タイプのデスクトップをセットアップするために管理者によって使用される画面の画面レイアウトである。画面レイアウト1500は、内蔵タイプのデスクトップの外観および機能性を定義するために使用される様々なフィールドを含む。事前に定義されたデスクトップIDはこの画面上に表示される。図示の例では、デスクトップIDは「bda管理者」である。この内蔵タイプのデスクトップ用のタイトルはテキスト・ボックス1505に管理者によって入力される。図示の例では、タイトルは「管理者」である。この内蔵タイプのデスクトップ用の記述はテキスト・ボックス1510に入力される。図示の例では、入力された記述は「BDA管理者用のデスクトップ」である。
この内蔵タイプのデスクトップ用の立上げモードは、リスト・ボックス1515を使用して管理者によって選択される。立上げモードは、デスクトップからコンポーネントを起動するために必要なマウス・クリックの数を示す。図示の例では、選択された立上げモードは「2」(すなわち、ダブルクリック)である。アイコン属性はフレーム1520に入力される。最大許容および表示可能アイコン・タイトル長は、適切なテキスト・ボックスに管理者によって入力される。
背景外観情報は、フレーム1525に管理者によって入力される。内蔵タイプのデスクトップの背景用のカラー、イメージ・ファイル、イメージ表示モードは、管理者によって提供される。たとえば、デスクトップ背景データは、組織の名前とロゴを含むことができる。アイコン外観情報は、フレーム1530に管理者によって入力される。アイコン外観データとしては、アイコンのテキスト・カラー、アイコンとともに使用されるフォント、アイコンとともに使用されるフォント・サイズ、アイコンに使用されるフォント・スタイル、アイコン・フロー、アイコン・フローの起点、およびアイコン・テキストのテキスト位置を含む。
管理者が内蔵タイプのデスクトップのセットアップを完了すると、管理者は「変更の実行依頼」コマンド・ボタン1540を選択して、デスクトップ設定を保管する。管理者が間違いを犯すかまたは値をリセットしたいと希望する場合、管理者は「値のリセット」コマンド・ボタン1545を選択する。管理者がその内蔵タイプのデスクトップ定義を削除したいと希望する場合、管理者は「デスクトップの削除」コマンド・ボタン1550を選択する。
ハイパーリンク1560は、内蔵タイプのデスクトップから使用可能な参照を追加、変更、または削除するために使用される。使用可能な参照は、アプリケーション1570と、フォルダ1580と、ツールバー1590とを含む。図示の例では、すでに含まれているアプリケーションは、「acroread」、「電卓」、および「ブラウザ」からなる。含まれているフォルダは、1つのアプリケーション・フォルダと、2つの管理者フォルダからなる。また、1つのツールバーである管理者ツールバー(Admin Toolbar)も含まれている。
図16は、ワークステーションを管理するために管理者によって使用される画面の画面レイアウトである。画面レイアウト1600は、ネットワーク全体に渡って使用されるワークステーションまたはコンピュータ・システムを管理するために管理者によって使用される。ワークステーションのそれぞれについて維持されるデータとしては、欄1610にリストされるワークステーションID、欄1620にリストされ、そのワークステーションが属すサイト、欄1630にリストされ、そのワークステーションに割り当てられたホスト(またはサーバ)、欄1640にリストされ、そのワークステーションによって実行される機能のタイプ、欄1650にリストされ、そのワークステーションが実行することを許可されている役割、欄1660にリストされたそのワークステーションのIPアドレス、および欄1670にリストされたそのワークステーションに関する記述を含む。
欄1610に示したIDは、各ワークステーションごとに固有のものである。図16に示した例では、IDはワークステーションに対応するMACアドレスである。図16に示したサイトは、「ルート」サイト、支店「A」、または支店「B」のいずれかである。これらのサイトは、その組織内の物理的領域または論理的領域を表すことができる。ホスト名は、そのワークステーションによって使用されるサーバの名前である。そのワークステーションによって実行される機能のタイプとしては、管理機能、サーバ機能、およびクライアント機能を含む。「A」で終わるタイプは管理機能に使用され、「S」で終わるタイプはサーバ機能に使用され、「C」で終わるタイプはクライアント機能に使用される。図16で分かるように、いくつかのワークステーションは複数タイプの機能を実行する。たとえば、最初にリストされたワークステーションは、管理者機能とサーバ機能の両方を供する。役割は、そのワークステーション上で実行することが許可されている機能を示す。役割は概してクライアント機能に関連し、したがって、クライアント・タイプを備えていないワークステーションには役割が割り当てられていない。役割が割り当てられているワークステーションは複数の役割を有する場合が多い。たとえば、3番目にリストされたワークステーションは、そのワークステーション上で実行することが許可されている4つの役割(出納係、融資担当者、支店長、およびゲスト)を有する。しかし、4番目および5番目に示したワークステーションには、それぞれのワークステーション上で実行することが許可されている役割が1つしかない。IPアドレスは、そのワークステーションに割り当てられたネットワーク・アドレスである。いくつかの環境ではIPアドレスは静的アドレスであり、他の環境ではIPアドレスが動的に割り当てられる。各ワークステーションの記述は任意選択であるが、特定のワークステーションと、このようなワークステーションが実行する役割を管理者がより適切に識別するのに役立つものである。
図17は、内蔵タイプのデスクトップをサーバに配布するために実行されるステップを示す流れ図である。管理者デスクトップ配布処理は1700から始まり、その後、配布用の第1のデスクトップが選択される(ステップ1705)。デスクトップ名と、CRC値などの固有のシグニチャとを含む要求が作成される(ステップ1710)。作成されたデスクトップ要求は1つまたは複数のサーバに送信される(ステップ1715)。配布すべきデスクトップがそれ以上存在するかどうかに関する判別が行われる(判断1720)。配布すべきデスクトップがそれ以上存在する場合、判断1720は「Yes」分岐1722に分岐し、その後、処理は配布用の次のデスクトップを選択し(ステップ1725)、ループバックして要求を作成し、その要求をサーバに送信する。このループは、配布すべきデスクトップがそれ以上存在しなくなるまで継続し、その時点で判断1720は「No」分岐1728に分岐する。
事前に送信されたデスクトップ要求の結果として行われるサーバ応答は管理者によって受信される(ステップ1730)。その応答に基づいて、デスクトップがすでにサーバに存在するかどうかに関する判別が行われる(判断1735)。デスクトップがまだサーバに存在しない場合、判断1735は「No」分岐1738に分岐し、その後、識別されたデスクトップはデータ・ストリームとしてサーバに送信される(ステップ1740)。これに対して、デスクトップがすでにサーバに存在する場合、判断1735は「Yes」分岐1742に分岐し、ステップ1740を迂回する。
デスクトップ要求に関してサーバから受信すべき応答がそれ以上存在するかどうかに関する判別が行われる(判断1745)。応答がそれ以上存在する場合、判断1745は「Yes」分岐1746に分岐してループバックし、その応答を処理する。このループは、処理すべき応答がそれ以上存在しなくなるまで継続し、その時点で判断1745は「No」分岐1748に分岐し、管理者デスクトップ配布処理は1750で終了する。
サーバ・デスクトップ収集処理は1755から始まり、その後、サーバは管理者によって送信されたデスクトップ配布要求を受信する(ステップ1760)。管理者の要求に含まれるデスクトップ用の固有のIDは、現在、サーバ側が保有しているデスクトップ・データ1768と比較される(ステップ1765)。その比較に基づいて、サーバがそのデスクトップを必要とするかどうかに関する判別が行われる(判断1770)。そのデスクトップを必要としない(すなわち、そのデスクトップがすでにサーバに存在する)場合、判断1770は「No」分岐1772に分岐し、その後、サーバがそのデスクトップをすでに有していることを示すメッセージが管理者に送信され(ステップ1775)、サーバ処理は1795で終了する。
これに対して、サーバがまだそのデスクトップを有していない場合、判断17770は「Yes」分岐1778に分岐し、その後、サーバはそのデスクトップを要求する(ステップ1780)。サーバは、その要求に応答してデスクトップ・データ・ストリームを受信する(ステップ1785)。次にサーバは、受信したデータ・ストリームから内蔵タイプのデスクトップ・ファイルを作成し、そのデスクトップ・ファイルをデスクトップ・データ・ストレージ・エリア1768に保管する(ステップ1790)。次にサーバ・デスクトップ収集処理は1798で終了する。
図18は、内蔵タイプのデスクトップをサーバからクライアントに配布するために実行されるステップを示す流れ図である。クライアント・デスクトップ受信は1800から始まり、その後、クライアントは、デスクトップ・リスト要求をサーバに送信する(ステップ1805)。デスクトップ・リスト要求は、クライアントのマシン(ワークステーション)IDとクライアントのユーザIDとを含む。
サーバ・デスクトップ配布処理は1840から始まり、その後、サーバは、デスクトップ・リスト要求をクライアントから受信する(ステップ1845)。サーバは、ユーザ役割データ・ストア1852をサーチすることにより、ユーザに割り当てられている役割を調べる(ステップ1850)。また、サーバは、マシン役割データ・ストア1858をサーチすることにより、ユーザが使用しているワークステーションに割り当てられている役割も調べる(ステップ1855)。
サーバは、ユーザの役割とマシンの役割との共通部分またはオーバラップに基づくデスクトップ情報を検索し(ステップ1860)、デスクトップ・データ・ストア1862内でオーバラップする役割に対応するデスクトップを突き止める。検索されたデスクトップ情報は、デスクトップIDと、デスクトップを一意的に識別するために使用されるCRCなどのデスクトップ・シグニチャとを含む。ユーザは、デフォルトの役割と、その役割に対応するデフォルト・デスクトップとを有することができる。ユーザがデフォルトの役割を有する場合、サーバはデフォルトの役割を判別する(ステップ1865)。
サーバは、有効な役割と、デスクトップ・シグニチャと、デフォルト・デスクトップID(適用可能な場合)と、デフォルトの役割(適用可能な場合)からなる応答ストリングを作成する(ステップ1870)。次にサーバは、その応答ストリングをクライアントに返す(ステップ1875)。
クライアントは、任意のデフォルトの役割およびデフォルト・デスクトップ情報とともに、ユーザとワークステーションの両方に割り当てられている役割を含むデスクトップ・リストをサーバから受信する(ステップ1810)。クライアントは、デスクトップ・リストに含まれるデスクトップを、クライアント・ワークステーション上ですでにキャッシュされているデスクトップと比較する(ステップ1815)。これは、事前にクライアント・ワークステーションに伝送されておらず、ワークステーションの揮発性または不揮発性ストレージ・エリアにキャッシュされていないデスクトップのみをクライアントが要求する必要があるように行われる。
クライアントは、まだクライアント・ワークステーション上にキャッシュされていないようなデスクトップまたはコンポーネントを識別することにより、追加のコンポーネントまたはデスクトップがサーバから必要とされているかどうかを判別する(判断1820)。追加のデスクトップ・コンポーネントがまったく必要とされていないとクライアントが判別した場合、判断1820は「No」分岐1832に分岐し(追加のデスクトップ情報を要求し検索するために使用されるステップを迂回する)、クライアント処理は1835で終了する。
これに対して、クライアントが追加のコンポーネントまたはデスクトップを必要とする場合、判断1820は「Yes」分岐1822に分岐し、その後、必要なデスクトップがサーバから要求される(ステップ1825)。この要求は、サーバ・ステップ1885でサーバによって受信される。サーバは、要求デスクトップ情報をデスクトップ・データ・ストア1862から検索し、それをクライアント・ワークステーションに返すことによって応答する(ステップ1890)。次にサーバ・デスクトップ配布処理は1895で終了する。
クライアント処理に戻ると、クライアントはステップ1830で要求したデスクトップ情報を受信してキャッシュし、クライアント・デスクトップ受信処理は1835で終了する。
図19は、カスタム・アプリケーション拡張を作成するために実行されるステップを示す流れ図である。カスタム・アプリケーション拡張は、第三者が既存のオブジェクト指向クラスを拡張して、特定の組織の必要により適切に対応するようにサーバ・クラス・オブジェクトの動作(behavior)または属性を変更できるようにするものである。カスタム・アプリケーション拡張作成処理は1900から始まり、その後、特定のコンポーネント・インターフェースを実現するクライアント・オブジェクト指向クラスが提供される(ステップ1910)。サーバ抽象クラスを拡張すべきかどうかに関する判別が行われる(判断1920)。抽象クラスを拡張しない場合、判断1920は「No」分岐1925に分岐し、その後、デフォルト・サーバ・コンポーネントがそのコンポーネント・インターフェースに使用される(ステップ1930)。これに対して、抽象クラスを拡張する場合、判断1920は「Yes」分岐1935に分岐し、その後、サーバ・コンポーネント抽象クラスを拡張するサーバ・クラスが提供される(ステップ1940)。
カスタム・アプリケーション拡張のために追加のリソースが必要であるかどうかに関する判別が行われる(判断1950)。追加のリソースが必要である場合、判断1950は「Yes」分岐1955に分岐し、その後、アプリケーション拡張によって使用される追加のリソースが提供される(ステップ1960)。追加のリソースとしては、アプリケーション拡張によって使用されるイメージ、プロパティ・ファイル、およびその他のクラス・ファイルを含むことができる。これに対して、追加のリソースが必要ではない場合、判断1950は「No」分岐1965に分岐し、ステップ1960を迂回する。
クライアント・クラス、サーバ・クラス、および任意の追加のリソースはJavaアーカイブ(JAR)ファイルにパッケージ化される(ステップ1970)。パッケージ化されたカスタム拡張はカスタム拡張ライブラリ1980に保管される。カスタム・アプリケーション拡張プロセスの作成は1995で終了する。
図20は、アプリケーション拡張ライフサイクルを示す流れ図である。アプリケーション拡張ライフサイクルはステップ2000から始まる。アプリケーション拡張ライフサイクルの第1のフェーズ中に、アプリケーション拡張は引数なしコンストラクタ(no-arg constructor)を使用する(ステップ2025)。引数なしコンストラクタは、そのJavaインプリメンテーション・クラスをロードし、引数なしコンストラクタを呼び出すことにより、アプリケーション拡張コンポーネントを作成するために使用される。この時点で、アプリケーション拡張コンポーネントは、クライアント・デスクトップへの参照をまったく備えておらず、デスクトップ環境と相互作用することができない。このフェーズ中に、インスタンス変数およびデフォルト設定が初期化される。
アプリケーション拡張ライフサイクルの次のフェーズ中に、アプリケーション拡張が初期化する(ステップ2050)。この初期化フェーズ中に、アプリケーション拡張に対応する初期化済みメソッドがコンポーネント・インターフェースで定義される。また、コンポーネント構成項目への参照、初期ロケール情報、およびデスクトップ参照も提供される。デスクトップ参照は好ましくは、このフェーズ中にインスタンス変数として保管される。
アプリケーション拡張ライフサイクルの最終フェーズ中に、アプリケーション拡張に対応するstartメソッドが呼び出される(ステップ2075)。startメソッドはデスクトップによって呼び出される。たとえば、startメソッドは、アプリケーション拡張に対応するアイコンがユーザによって選択されたときに呼び出すことができる。このフェーズ中に、アプリケーション拡張は、デスクトップ参照ならびに他のデスクトップ・コンポーネントへの参照を使用することができる。加えて、アプリケーション拡張はこの時点で、スレッドを開始し、入出力操作を実行することができる。
図21は、管理者から複数クライアントに配布されるコンポーネントおよびリソースを示すブロック図である。管理者2100は、パッケージを様々なサーバに伝送することにより、様々なデスクトップ・パッケージ2110にパッケージ化されたコンポーネントおよびリソース・ライブラリ2105を公開する。
図21に示した例では、管理者からデスクトップ・パッケージを受信するサーバが3つ存在する。これらのサーバは、サーバ2120と、サーバ2140と、サーバ2160とを含む。それぞれのサーバは、管理者から受信したデスクトップ・パッケージを保管するための不揮発性ストレージ・エリアを含む。サーバ2120はデスクトップ・パッケージを保管するために不揮発性ストレージ・エリア2125を使用し、サーバ2140は不揮発性ストレージ・エリア2145を使用し、サーバ2160は不揮発性ストレージ・エリア2165を使用する。デスクトップ・パッケージは、図17に記載したプロセスで管理者からサーバに配布される。これらのサーバは、様々なクライアントにデスクトップ・パッケージを提供するために使用される。
図21に示した例では、それぞれのサーバからデスクトップ・パッケージを受信するクライアントが2つずつ存在する。クライアント2130および2135はサーバ2120からデスクトップを受信し、クライアント2150および2155はサーバ2140からデスクトップを受信し、クライアント2170および2175はサーバ2160からデスクトップを受信する。デスクトップは、図18に記載したプロセスを使用してサーバからクライアントに配布される。このように、様々な内蔵タイプのデスクトップで使用されるコンポーネントおよびリソースは、システム全体に渡って管理者からサーバに、さらに最終的にクライアントに配布される。
図22は、管理者によるデータ喪失後にサーバから管理者によって回復されるコンポーネントおよびリソースを示すブロック図である。コンピュータ・クラッシュ、火災、または洪水などの災害イベントが発生すると、管理者は、様々な内蔵タイプのデスクトップを作成するために使用したコンポーネントおよびリソースがない状態で取り残される可能性がある。これらのファイルを回復するために、管理者2100は、デスクトップ・パッケージを構成するコンポーネントを含むデスクトップ・パッケージを様々なサーバから要求する。図21に記載したトポグラフィ(topography)を使用して、管理者はサーバ2120、2140、および2160からパッケージを要求する。サーバは、それぞれストレージ・エリア2125、2145、および2165から、デスクトップ・パッケージを含む内蔵タイプのデスクトップ・パッケージを検索する。デスクトップ情報は、様々なサーバから管理者に返送される。管理者は、復元したパッケージ・ライブラリ2180に、受信した内蔵タイプのデスクトップ・パッケージを保管する。内蔵タイプのデスクトップに含まれるコンポーネントおよびリソースは、デスクトップ・ファイルから抽出され、復元したコンポーネントおよびリソース・ライブラリ2190に保管される。このように、管理者は、事前に様々なサーバに公開されているコンポーネントおよびリソースを回復し復元することができる。この回復は、そのコンポーネントおよびリソースの個別のバックアップ・コピーを管理者に作成させる必要なしに実行される。コンポーネントおよびリソースは固有のIDを含むので、複数バージョンまたはレベルのコンポーネントおよびリソースも回復することができる。デスクトップ・データを回復するために管理者によって実行されるステップを示す流れ図は図23に示されている。
図23は、内蔵タイプのデスクトップを配布し、その後、災害イベント後に内蔵タイプのデスクトップを回復する際に管理者によって実行されるステップを示す流れ図である。管理者処理は2200から始まり、その後、管理者は内蔵タイプのデスクトップに使用されるコンポーネントおよびリソースを作成する(ステップ2205)。これらのコンポーネントおよびリソースは、不揮発性ストレージ・エリア2210に保管されたライブラリに保管される。
コンポーネントおよびリソースは、ユーザの役割に基づいて様々なユーザによる使用のために様々な内蔵タイプのデスクトップにパッケージ化される(ステップ2215)。内蔵タイプのデスクトップは、内蔵タイプのデスクトップ・ライブラリ2225に保管される。内蔵タイプのデスクトップは、様々なサーバに配布される(ステップ2220)。管理者配布処理は2230で終了する。内蔵タイプのデスクトップの配布に関する詳細は、図17に記載されている。
内蔵タイプのデスクトップのサーバ受信は2235から始まり、その後、サーバは内蔵タイプのデスクトップ・パッケージを受信し、受信したパッケージを不揮発性ストレージ・エリア2245に保管する(ステップ2240)。次にサーバは、必要に応じてクライアントに内蔵タイプのデスクトップを配布する(ステップ2250)。内蔵タイプのデスクトップの配布に関する詳細は、図18に記載されている。
ある時点で、コンピュータ・システムからのパッケージ、リソース、およびコンポーネントと、管理者によって使用されるストレージ・デバイスを破壊する災害イベントが発生する(ステップ2255)。その場合、内蔵タイプのデスクトップ情報は、ステップ2260から始まる回復プロセスを使用して、管理者によって回復される。管理者は、破壊され、もはや管理者のコンピュータ・システム上に保管されていない固有のパッケージを識別する(ステップ2265)。識別されたパッケージは、様々なサーバから要求される(ステップ2270)。
サーバは管理者からデスクトップ・パッケージ要求を受信する(ステップ2275)。要求されたデスクトップ・パッケージは、サーバの不揮発性ストレージ・エリア2245から検索され、管理者のコンピュータ・システムに伝送され(ステップ2280)、サーバ回復処理は2295で終了する。
管理者コンピュータ・システムは、サーバによって送信された内蔵タイプのデスクトップ・パッケージを受信し、受信したデスクトップ・パッケージをパッケージ・ライブラリ2225に保管する(ステップ2285)。内蔵タイプのデスクトップ・パッケージはアンパックされ、内蔵タイプのデスクトップ・パッケージに含まれるコンポーネントおよびリソースは、コンポーネントおよびリソース・ライブラリ2210に再取込みするために使用される(ステップ2290)。この時点で、管理者によって事前に配布されたすべてのパッケージ、コンポーネント、およびリソースは、すでに回復され、適切なライブラリに保管されている。次に管理者回復処理は2298で終了する。
図24は、組織内のクライアントの役割(複数も可)に基づいてデスクトップを受信し表示するためにクライアントによって実行されるステップを示す流れ図である。処理は2300から始まり、その後、クライアント・マシンはサーバから第1のデスクトップを受信する(ステップ2305)。受信したデスクトップは、クライアントのローカル・ストレージ2315上の揮発性または不揮発性ストレージ・エリアに保管される(ステップ2310)。
受信したデスクトップがクライアント用のデフォルト・デスクトップであるかどうかに関する判別が行われる(判断2320)。受信したデスクトップがデフォルト・デスクトップである場合、判断2320は「Yes」分岐2325に分岐し、その後、受信したデスクトップがクライアントのディスプレイ装置上に表示される(ステップ2330)。これに対して、受信したデスクトップがデフォルト・デスクトップではない場合、判断2320は「No」分岐2335に分岐し、ステップ2330を迂回する。
クライアント・マシンがサーバから受信すべきデスクトップがそれ以上存在するかどうかに関する判別が行われる(判断2340)。受信すべきデスクトップがそれ以上存在する場合、判断2340は「Yes」分岐2345に分岐し、その後、処理はループバックして次のデスクトップを受信し(ステップ2350)、次のデスクトップがデフォルト・デスクトップであるかどうかを判別する。このループは、必要なデスクトップがすべてサーバから受信されるまで継続し、その時点で判断2340は「No」分岐2355に分岐する。
2つ以上のデスクトップがクライアントによってアクセス可能であるかどうかに関する判別が行われる(判断2380)。2つ以上のデスクトップがアクセス可能である場合、判断2380は「Yes」分岐2385に分岐し、その後、使用可能なデスクトップの記述は、クライアントによってアクセス可能なポップアップ選択ウィンドウ内の項目として挿入される(ステップ2390)。たとえば、ユーザは、それによりポップアップ・メニューを表示させることになる、マウスなどのポインティング・デバイスを使用して、デスクトップ・エリア内で「右」クリックすることができるであろう。次にユーザは、ポップアップ・メニューに示されたリストから所望のデスクトップを選択することができるであろう(デスクトップ画面およびポップアップ・メニューの一例については図28を参照されたい)。たとえば、支店長が融資担当者の割当て役割も有する場合、支店長はポップアップ・メニューから融資担当者デスクトップを選択することができる。融資担当者デスクトップを選択した後、融資担当者機能に使用されるデスクトップ・コンポーネントが表示され、そのデスクトップ・エリアからアクセス可能になるであろう。これに対して、クライアントによってアクセス可能な2つ以上のデスクトップが存在しない場合、判断2380は「No」分岐2392に分岐し、ステップ2390を迂回する。次にデスクトップ表示処理は2395で終了する。
図25は、ユーザの役割およびワークステーションの役割に基づいてデスクトップ情報をクライアントに提供するためにサーバによって実行されるステップを示す流れ図である。処理は2400から始まり、その後、サーバはクライアント2410からデスクトップ要求を受信する(ステップ2405)。この要求は、クライアントのユーザIDと、パスワードと、クライアント・ワークステーションのMACアドレスとを含む。
サーバは、様々なワークステーション上で実行することを許可されている役割を含むワークステーション・テーブル2420からクライアントのMACアドレスを調べる(ステップ2415)。図示の例では、「123」というMACアドレスを備えたワークステーションは出納係機能と融資担当者機能の両方を実行することを許可されており、「456」というMACアドレスを備えたワークステーションは支店長機能のみを実行することを許可されている。
クライアントのMACアドレスがワークステーション・テーブルで見つかったかどうかに関する判別が行われる(判断2425)。そのMACアドレスが見つからなかった場合、判断2425は「No」分岐2428に分岐し、その後、クライアント・ワークステーション登録がシステムによって要求されているかどうかに関する判別が行われる(判断2430)。ワークステーション登録が要求されている場合、判断2430は「Yes」分岐2432に分岐し、その後、クライアントのワークステーションが登録されていないことを示すエラーがクライアントに返され(ステップ2435)、サーバ処理は2440で終了する。これに対して、ワークステーション登録が要求されていない場合、判断2430は「No」分岐2442に分岐し、処理は継続する。判断2425に戻り、クライアントのMACアドレスがワークステーション・テーブルで見つかった場合、判断2425は「Yes」分岐2445に分岐し、処理は継続する。
ユーザのIDに割り当てられている第1のデスクトップはユーザ・デスクトップ・テーブル2455から検索される(ステップ2450)。図示の例では、ユーザID「Able」は「出納係」の役割に割り当てられており、ユーザID「Jones」は「出納係」、「融資担当者」、および「支店長」の役割に割り当てられている。検索され、ユーザに割り当てられているデスクトップが、ユーザによって使用されているワークステーション上で使用することを許可されているかどうかに関する判別が行われる(判断2460)。そのデスクトップがワークステーション上で使用することを許可されている場合、判断2460は「Yes」分岐2465に分岐し、その後、そのデスクトップはクライアントに送信される(ステップ2470)。これに対して、検索されたデスクトップがワークステーション上で使用することを許可されていない場合、判断2460は「No」分岐2472に分岐し、ステップ2470を迂回する。
そのユーザに割り当てられている役割またはデスクトップがそれ以上存在するかどうかに関する判別が行われる(判断2475)。そのユーザに割り当てられている役割がそれ以上存在する場合、判断2475は「Yes」分岐2480に分岐し、その後、そのユーザに割り当てられている次のデスクトップが選択され(ステップ2485)、処理はループバックして、次のデスクトップをクライアントに設定すべきかどうかを判別する。このループは、そのユーザに割り当てられているすべてのデスクトップが処理されるまで継続し、その時点で判断2475は「No」分岐2490に分岐し、サーバ処理は2495で終了する。
図26は、サーバによって実行される処理と、サーバ、クライアント、管理者間の相互作用とを示すブロック図である。サーバ2500は、管理者2575から役割割当てを受信することにより、役割識別機能2570を実行する。役割割当ては、そのユーザに割り当てられている役割ならびにネットワーク全体に渡って配置されたワークステーションに割り当てられている役割を含む。ワークステーションの役割はワークステーションの役割データ・ストア2560に保管される。ユーザの役割はユーザの役割データ・ストア2555に保管される。
サーバ2500は、管理者2575からデスクトップ情報を受信することにより、デスクトップ収集処理2580も実行する。デスクトップ情報はデスクトップ定義データ・ストア2590に保管される。デスクトップ情報は、クライアント2525による使用のためのデスクトップ・コンポーネントおよびリソースを含む内蔵タイプのデスクトップを含む。
サーバ2500は、クライアントを認証するために使用される、ユーザIDおよびパスワードなどの認証情報をクライアント2525から受信する。サーバ2500は、認証データ・ストア2520内に位置する認証データによってクライアントの認証情報をチェックすることにより、認証処理2510を実行する。クライアントが認証されると、クライアントは、サーバ2500上に保管されているクライアントのデータ・ストレージ・エリア2540へのアクセス権を受信する。サーバは、ホーム・ディレクトリ・アクセス・プロセス2530を実行することにより、クライアントのデータ・ストレージへのアクセスを可能にする。このように、ユーザは、自分がどのワークステーションを使用しているかにかかわらず、自分のデータにアクセスすることができる。
サーバ2500は、デスクトップ配布プロセス2550を実行して、どの内蔵タイプのデスクトップをクライアント2525に送信すべきかを判別する。デスクトップ配布プロセス2550は、ユーザの役割データ・ストア2555に保管されているユーザの役割をワークステーションの役割データ・ストア2560に保管されているワークステーションの役割と比較することによって実行される。ユーザとワークステーションの両方に割り当てられているデスクトップまたは役割はクライアントに配布される。サーバ2500は、デスクトップ・データ・ストア2590からデスクトップ情報を検索し、そのデスクトップ情報をクライアント2525に伝送する。
図27は、内蔵タイプのデスクトップを初期化し表示する際にクライアントによって実行されるステップを示す流れ図である。クライアント2600は、対応する情報をサーバに送信することにより、認証要求、ホーム・ディレクトリ要求、およびパスワード更新を実行する。クライアント2600は、基礎となるオペレーティング・システム・プラットフォーム2610を使用して、ネイティブ操作を実行する。JSLLIB2680は、ネイティブ操作を実行するために使用されるネイティブ・コマンドおよびプログラムを含むネイティブ・ライブラリである。
シェル2605は、このシステムで使用されるオペレーティング・システム・プラットフォーム(たとえば、Windows XP(商標)、OS/2(商標)、またはLinux(商標))のいずれかで実行されるように適合されたJavaベースのアプリケーションである。シェルは、クライアント・ログインがサーバによりリモートで実行されるかまたはローカルで実行されるかに関する判別を行う(判断2620)。ログインがリモートで実行される場合、判断2620は「Yes」分岐2622に分岐し、その後、クライアントはサーバからデスクトップを受信する(ステップ2625)。一実施形態では、まずデスクトップのリストを受信し、次に個々のデスクトップをそのリストから検索することにより、デスクトップが受信される。
デスクトップのリストまたはマップは、クライアント・マシン上に位置するローカル・ストレージにキャッシュされる(ステップ2630)。受信したデスクトップもローカル・ストレージにキャッシュされる(ステップ2635)。判断2620に戻ると、そのデスクトップがリモートで検索されない場合、判断2620は「No」分岐2638に分岐し、ステップ2625、2630、および2635を迂回する。
ユーザとワークステーションの両方に割り当てられているデスクトップはローカル・ストレージから検索される(ステップ2640)。ローカル・ストレージは、ユーザ・デスクトップ・マップ2660とデスクトップ2670を保管するために使用される。デスクトップは、そのデスクトップを表示し実行するために必要なデスクトップ・コンポーネントおよびリソースを含む内蔵タイプのパッケージである。検索されたデスクトップ情報は、デスクトップ・オブジェクトを作成するために使用される(ステップ2645)。デスクトップ・クラス・ローダ2650は、デスクトップ・オブジェクトを作成するために使用される。各国語変換などのリソースはデスクトップ情報からロードされる(ステップ2655)。また、デスクトップ・クラス・ローダ2650は、必要なリソースをロードするためにも使用される。
この時点で、ワークステーション内でそのユーザに割り当てられているデスクトップは、シェル2605内で検索され、そのユーザにとって使用可能なものになっている。デスクトップ・オブジェクトおよびリソースは、内蔵タイプのデスクトップから抽出され、シェル2605によりそのユーザにとって使用可能なものになっている。
図28は、クライアントにとって使用可能な他の内蔵タイプのデスクトップのポップアップ・メニューとともにクライアント・ワークステーション上に表示されるサンプル・デスクトップの画面レイアウトである。デスクトップ画面レイアウト2700は、いくつかのオブジェクト2750を含む。オブジェクト2750は、デスクトップからアクセス可能なデスクトップ・コンポーネントを含む。各デスクトップ・コンポーネントは、マウスなどのポインティング・デバイスを使用してユーザによって選択可能な、アイコンなどの1つのグラフィカル・イメージに対応する。
ポップアップ・メニュー2710は、ユーザがデスクトップを変更するかまたはシェル・バージョンを表示できるようにする2つの項目を含む。「デスクトップの変更」という項目を選択すると、デスクトップ選択メニュー2720の表示が行われる。ユーザは、所望のデスクトップのそばのボックス内にチェック・マークを付けることにより、所望のデスクトップを選択する。図示の例では、デスクトップ選択メニュー2720に示されたチェック・マークによって明示する通り、クライアント・ディスプレイ上に「管理者」デスクトップが表示されている。ユーザがデスクトップを、たとえば、支店長デスクトップに変更したいと希望する場合、ユーザは単に、マウスなどのポインティング・デバイスを使用し、「支店長」メニュー項目の隣のボックス内にチェック・マークを付けるだけである。
コンポーネント2750は、選択されたデスクトップに応じて変化する可能性がある。たとえば、「管理者」デスクトップが選択されたので、「支店デスクトップ管理者」デスクトップ・コンポーネントが表示される。しかし、「出納係」デスクトップなどの他のデスクトップが選択された場合、「支店デスクトップ管理者」はもはや表示されなくなり、そのディスプレイからアクセス不能になる。このように、選択された役割用のコンポーネントは表示され、アクセス可能になり、異なる役割によって使用されるコンポーネントは表示されず、アクセス不能になる。その上、複数の役割によって使用されるコンポーネントはそれぞれ、その役割に対応する様々なデスクトップから使用可能である。
図29は、デスクトップを表示し管理する際にクライアント・シェルによって使用されるディレクトリの階層図である。シェル・ホーム・ディレクトリ2800は、デスクトップ機能を実行するためにクライアントによって使用されるいくつかのサブディレクトリを含む。一実施形態では、シェル・ホーム・ディレクトリおよびそのサブディレクトリは、クライアントによってアクセス可能なサーバ上に保管される。他の実施形態では、シェル・ホーム・ディレクトリおよびそのサブディレクトリは、クライアント・マシンにとってローカルの不揮発性ストレージ・デバイス上に保管される。ネイティブ・ライブラリ2805は、クライアントのオペレーティング・システム・プラットフォームとのインターフェースを取るために使用されるプログラムを保管するために使用されるサブディレクトリである。一実施形態では、ネイティブ・ライブラリ情報はJavaアーカイブ(JAR)ファイルに保管される。プロパティ・サブディレクトリ2810は、シェル・プログラムによって使用されるプロパティを保管するために使用されるサブディレクトリである。これらのプロパティとしては、シェル・プログラムによって使用される表示属性およびその他の構成項目を含むことができる。
デスクトップ・サブディレクトリ2815は、内蔵タイプのデスクトップ・ファイルが保管されるディレクトリである。一実施形態では、内蔵タイプのデスクトップ・ファイルはJavaアーカイブ(JAR)ファイルにパッケージ化される。このように、特定のデスクトップによって使用されるすべてのコンポーネントおよびリソースは、パッケージ化され、内蔵タイプのデスクトップJARファイルに含まれる。ログ・サブディレクトリ2820は、クライアントによって行われるアクションを詳述するクライアントベースのログを保管するために使用される。「構成(Conf)」サブディレクトリ2825は、シェル・アプリケーションによって使用される初期化情報を保管するために使用される。「ビン(Bin)」サブディレクトリ2830は、シェル・アプリケーションを立ち上げるために使用される、プログラム・ファイルなどの実行可能プログラムを保管するために使用される。
図30は、シェル構成ファイルとともに含まれるセクションの階層図である。シェル構成ファイルはいくつかのセクションを含む。これらのセクションのそれぞれは、そのシェルの特定のアスペクトに関する情報を含む。一実施形態では、シェル構成ファイルは、いくつかのセクションを含むXMLファイルである。このセクションは、シェル・アプリケーションによって使用される、各国語変換などのロケールに関する情報を含むロケール・セクション2840を含む。コンポーネント・セクション2845は、内蔵タイプのデスクトップとともに含まれるコンポーネントに関する情報を含む。コンポーネントとしては、ユーザが適切なアイコンまたはその他のコマンドを選択したときにそのデスクトップからアクセス可能なアプリケーションおよびその他のプログラムを含む。フォルダ・セクション2850は、そのデスクトップからアクセス可能な様々なフォルダに関する情報を含む。ツールバー・セクション2855は、表示され、そのデスクトップからアクセス可能な様々なツールバーに関する情報を含む。デスクトップ・セクション2860は、外観データおよびポリシー情報など、そのデスクトップに関する情報を含む。
図31は、内蔵タイプのデスクトップ・ファイルに含まれるオブジェクトの階層図である。一実施形態では、内蔵タイプのデスクトップはJavaアーカイブ(JAR)ファイルである。内蔵タイプのデスクトップ・ファイル2865はいくつかのコンポーネントを含む。このコンポーネントは、内蔵タイプのデスクトップ・ファイルに含まれるオブジェクトを詳述するマニフェスト2870を含む。また、このコンポーネントは、シェル文書タイプ定義(DTD)オブジェクト2875も含む。シェルDTDオブジェクトは、シェルXML文書内の内容を記述するためにどの種類の属性が使用されるかと、各タグが許可されている場所と、どのタグが他のタグ内に現れる可能性があるかを示す。クラス・オブジェクト2880は、そのデスクトップによって使用されるJavaクラスを含む。リソース2885は、そのデスクトップによって使用される、各国語変換情報などのリソース情報を含む。JARオブジェクト2890は、そのデスクトップによって必要とされ、他のJARファイルにパッケージ化される追加のオブジェクトを含む。XMLオブジェクト2895は、内蔵タイプのデスクトップを記述するために使用されるXML文書を含む。
図32は、クライアントのワークステーションを初期化して内蔵タイプのデスクトップを使用するために実行されるステップを示す流れ図である。処理は2900から始まり、その後、ユーザ2920はユーザIDおよびパスワードの入力を促される(ステップ2910)。ユーザIDおよびパスワードがユーザから受信される(ステップ2925)。認証されると、Java仮想マシン(JVM)などの仮想マシンは、JSLによってクライアント・オペレーティング・システム・プラットフォーム上にロードされる(ステップ2930)。この仮想マシンは、Javaアプリケーションなどのプラットフォーム中立コードを実行するように設計される。このように、複数の同じデスクトップをJavaなどのプラットフォーム独立言語で作成し、必要な仮想マシンを実現している様々なプラットフォーム上でそれを実行することができる。
デスクトップ環境を提供し、クライアント・マシンによって使用されている基礎となるオペレーティング・システムにユーザがアクセスするのを防止するために、Javaベースのロックダウン(lockdown)シェルが呼び出される(ステップ2940)。ワークステーションとユーザの両方に割り当てられているデスクトップがサーバから要求される(ステップ2945)。サーバ2950は、要求を受信し、内蔵タイプのデスクトップをクライアントに送信することによって応答する。クライアントは、サーバから応答を受信する(ステップ2955)。この応答は、エラーまたはデスクトップのリストになる可能性がある。
サーバからエラーが受信されたかどうかに関する判別が行われる(判断2960)。エラーが受信された場合、判断2960は「Yes」分岐2962に分岐し、その後、クライアントのディスプレイ装置上にエラー・メッセージが表示され(ステップ2965)、処理は2995で終了する。これに対して、エラーが受信されなかった場合、判断2960は「No」分岐2968に分岐し、その後、クライアントのディスプレイ装置上に表示すべきデスクトップが存在するかどうかに関する判別が行われる(判断2970)。クライアントのディスプレイ装置上に表示すべきデスクトップがまったく存在しない場合、判断2970は「Yes」分岐2972に分岐し、表示すべきデスクトップがまったくないことがユーザに通知され(ステップ2975)、処理は2995で終了する。これに対して、ユーザおよびワークステーションに割り当てられたデスクトップが存在する場合、判断2970は「No」分岐2978に分岐し、その後、クライアントのディスプレイ装置上にそのデスクトップが表示され(事前定義プロセス2980)、処理は2995で終了する。
図33は、クライアント初期化中に実行されるステップを示す流れ図である。処理は3000から始まり、その後、ネイティブ・ログイン・コードが実行される(ステップ3005)。ログイン・データは、ユーザから収集され、処理のためにサーバに送信される(ステップ3010)。サーバは、ステップ3015で受信された応答をクライアントに返送する。
ユーザが認証されたかどうかに関する判別が行われる(判断3020)。ユーザが認証されなかった場合、判断3020は「No」分岐3025に分岐し、その後、処理は3030で終了する。これに対して、ユーザが認証された場合、判断3020は「Yes」分岐3035に分岐して初期化を継続する。
Java仮想マシンなどの仮想マシン・アプリケーションはクライアント・ワークステーション上で呼び出される(ステップ3040)。シェルをロックし、ユーザがそのシェル環境を使用せずに基礎となるオペレーティング・システムを使用するのを防止するために、ロックダウン・プロセスがJava環境で立ち上げられる(ステップ3045)。サーバは、ユーザ/ワークステーションに割り当てられているデスクトップについて照会される(ステップ3050)。クライアントは、使用可能なデスクトップのリストを受信し、リストされたデスクトップ情報を、クライアント・ワークステーション上にすでにキャッシュされているデスクトップ・データと比較する(ステップ3060)。リストに含まれているが、まだクライアント・ワークステーション上にキャッシュされていないデスクトップは、サーバから検索され、クライアント・ワークステーション上にキャッシュされる(ステップ3070)。受信したデスクトップは、クライアントがアクセス可能なキャッシュ3075に保管される。初期またはデフォルトのデスクトップは使用可能なデスクトップのリストから選択される(ステップ3080)。次に、デフォルト・デスクトップを構成するコンポーネントは、ポップアップ・ウィンドウによりユーザにとって使用可能なものになっている他の使用可能なデスクトップとともにクライアント・ディスプレイ装置上に表示される(事前定義プロセス3090、デスクトップ・ディスプレイの例については図28を参照されたい)。次にクライアント初期化処理は3095で終了する。
図34は、ネイティブ・オペレーティング・システム・ログイン中に実行されるステップを示す流れ図である。ネイティブ・オペレーティング・システム・ログイン処理は3100から始まり、その後、使用可能なネットワーク・ドメインのリストがユーザに表示される(ステップ3110)。ユーザによってそのリストからドメインが選択される(ステップ3120)。クライアントをローカルで認証するかまたはリモートで認証するかに関する判別が行われる(判断3130)。クライアントがローカルで認証される場合、判断3130は「Yes」分岐3135に分岐し、その後、ユーザはローカル・マシンで認証される(ステップ3140)。これに対して、ユーザがローカルで認証されない場合、判断3130は「No」分岐3145に分岐し、その後、ユーザは、クライアントが接続されているサーバ上で認証される(ステップ3150)。
クライアントが認証されたかどうかに関する判別が行われる(判断3160)。ユーザが認証されなかった場合、判断3160は「No」分岐3165に分岐し、その後、クライアントのディスプレイ装置上にエラーが表示され(ステップ3170)、処理は3195で終了する。これに対して、ユーザが認証された場合、判断3160は「Yes」分岐3175に分岐し、その後、Javaシェル・ランチャが呼び出され(事前定義プロセス3180、処理の詳細については図35を参照されたい)、処理は3195で終了する。
図35は、Javaシェル・ランチャを呼び出すときに実行されるステップを示す流れ図である。Javaシェル・ランチャ実行は3200から始まり、その後、クラス・パスまたはディレクトリが設定される(ステップ3210)。クライアント・コンピューティング・デバイス上にJava仮想マシン(JVM)がロードされる(ステップ3220)。
Jshellアプリケーションがリモートで立ち上げられるかまたはローカルで立ち上げられるかに関する判別が行われる(判断3230)。Jshellアプリケーションがローカルで立ち上げられる場合、判断3230は「ローカル」分岐3235に分岐し、その後、パラメータとしてそのユーザのユーザIDが指定されたJshellアプリケーションが立ち上げられる(ステップ3240)。これに対して、Jshellアプリケーションがリモートで立ち上げられる場合、判断3230は「リモート」分岐3245に分岐し、その後、パラメータとしてサーバ・ホスト名、ユーザID、およびプラットフォームIDを提供することにより、Jshellアプリケーションがリモートで立ち上げられる(ステップ3250)。
Jshellアプリケーションが立ち上げられた後、JSLはOSウィンドウ・リストを列挙して、Javaシェルに対応するウィンドウを見つける(ステップ3260)。Javaシェル・ウィンドウが必ず前景に存続するように、Javaシェル・ウィンドウがオペレーティング・システム・ウィンドウのZ−オーダ・リスト(Z-order list)の最下部にピン固定される(ステップ3270)。Javaシェル・ウィンドウは表示画面に収まるように最大化され、最小化ボタンおよびサイズ変更ボタンなどのすべてのフレーム・コントロールがJavaシェル・ウィンドウから除去される(ステップ3280)。このように、シェル・アプリケーションはディスプレイ上の前景ページとして表示され、ユーザはネイティブ・オペレーティング・システム・プラットフォームによって提供されるシェル・ページの使用が妨げられる。Javaシェル立上げ処理は3295で終了する。
図36は、スマート・グラフィカル・コンポーネントの一例を示す画面レイアウトである。実際のコンテナ・タイプは、C++およびJavaのクラスまたはCの構造体などのインプリメンテーション構成体(implementation construct)に対応する。このインプリメンテーション構成体はクラスタイプ(classtype)と呼ぶことにする。スマート・コンポーネントは、ランタイムでその親コンポーネント(たとえば、コンテナ)のクラスタイプを判別しようと試みる。識別されたクラスタイプが、そのコンポーネントが認識するタイプである場合、そのコンポーネントは識別されたクラスタイプに応じてその動作および外観を変更する。この動作および外観の変更は、スマート・コンポーネント内にプログラマチックに組み込むかまたは構成ファイルから読み取ることができる。親のクラスタイプが認識されない場合、そのコンポーネントは、認識されたコンテナが見つかるまでその親階層を上昇するようにプログラミングすることができる。このように、そのコンポーネントは、不明クラスタイプのコンテナ内部に配置することができるが、親コンテナ自体が既知のクラスタイプの他のコンテナ内部にある場合、そのコンポーネントは、既知のコンテナ・クラスタイプ内に直接配置されている場合と同様にそれ自体を構成することができる。
スマート・コンポーネントの外観および動作は、その親コンテナのクラスタイプによって判別される。たとえば、スマート・アイコンは、その親クラスタイプがデスクトップである場合にテキスト記述を表示することになる。しかし、同じスマート・アイコンは、その親クラスタイプがツールバーである場合にテキスト記述を表示しない。さらに、スマート・アイコン動作は、親コンテナの対応に応じて異なる可能性がある。たとえば、アイコンがツールバー内に配置されている場合、そのアイコンは、ユーザがマウス・ポインタをその上に置いたときに、それ自体の周りにボーダを描画するようにプログラミングすることができる。しかし、同じアイコンがデスクトップ上に配置されている場合、そのアイコンは、ポインタがその上を通過したときに、ボーダを表示しないようにプログラミングすることができる。加えて、スマート・アイコンは、それが属しているコンテナのタイプに応じて、起動時にそのコンポーネントに関する異なるコードを実行するようにプログラミングすることができる。
画面イメージ3300は、タイム・クロック(timeclock )の形のスマート・グラフィカル・コンポーネントの2つの例を含む。タイム・クロック3305は、ツールバー・コンテナ内に配置されたコンポーネントである。タイム・クロック3330は同じコンポーネントであるが、このときのタイム・クロックはデスクトップ・コンテナ内に配置されている。そのオブジェクトの外観および動作は、そのオブジェクトが属している親オブジェクトまたはコンテナのタイプに応じて変化する。図示の例では、タイム・クロック3305は、親ツールバー・コンテナ内で使用可能なエリアの方が小さいために、ディジタル時間として表示される。逆に、タイム・クロック3330は、デスクトップ・コンテナ内で使用可能なエリアの方が大きいために、アナログ時間を表示する。加えて、タイム・クロック3330は、アナログ・クロック・イメージの下にディジタル時間と日付などの追加の情報を表示する。さらに、タイム・クロック3330は、オブジェクトの下にそのオブジェクトの名前(すなわち、「クロック」)を表示する。
ユーザがツールバー内に位置するタイム・クロック3305を選択すると、ポップアップ・ウィンドウ3320が表示される。ポップアップ・ウィンドウ3320は、曜日、日付を表示し、時間/日付を調整するためのメニュー項目および通知を設定するためのメニュー項目を有する。
図37は、スマート・グラフィカル・コンポーネントの第2の例を示す画面レイアウトである。画面イメージ3350は、図36に示した画面イメージと同様のものであるが、図37では、タイム・クロック3330はすでに選択されており、ポップアップ・メニュー3390が表示されている。図37に示した表示されたポップアップ・メニューの動作は、図36に示した同じタイム・クロック・コンポーネントについて示したものとは異なる。特に、図37では、ユーザは、ディジタル・タイム・クロック、曜日、および日付表示をアナログ・クロックとともに示すべきかどうかに関する表示オプションを有する。これらの追加の表示オプションは、ツールバー・コンテナ内よりデスクトップ・コンテナ内の方がアイコンを示すために使用可能なサイズがより大きいために、使用可能になっている。
図38は、様々なデスクトップ・オブジェクトを示す階層図である。デスクトップ・オブジェクト3400は、階層図の最上部にあり、コンポーネント・オブジェクト3410とコンテナ・オブジェクト3470とを含む。コンポーネント・オブジェクト3410は、ビジュアル・コンポーネント3420と非ビジュアル・コンポーネント3440の両方を含む。ビジュアル・コンポーネント・オブジェクトとしては、アイコン3425、フォルダ3430、およびツールバー3435を含む。非ビジュアル・コンポーネント・オブジェクトとしては、アプリケーション拡張コード3445およびアプリケーション定義3450を含む。
名前が示す通り、コンテナ・オブジェクト3470は、他のオブジェクトを含むかまたは保持することができるオブジェクトを含む。コンテナ・オブジェクトとしては、フォルダ3480およびツールバー3490を含む。アイコンなどのビジュアル・コンポーネントは、コンテナ・オブジェクトに含めることができる。
図39は、スマート・グラフィカル・コンポーネントを初期化する際に実行されるステップを示す流れ図である。スマート・グラフィカル・コンポーネント初期化処理は3500から始まり、その後、コンポーネントについてオブジェクト指向の親オブジェクトが選択される(ステップ3510)。選択された親オブジェクト用のオブジェクト指向クラスタイプが検索される(ステップ3520)。検索されたクラスタイプがフォルダまたはツールバーなどの認識されたクラスタイプであるかどうかに関する判別が行われる(判断3525)。検索されたクラスタイプが認識されない場合、判断3525は「No」分岐3545に分岐し、その後、オブジェクト階層内に親がそれ以上存在するかどうかに関する判別が行われる(判断3550)。オブジェクト階層内に親がそれ以上存在する場合、最後に選択されたオブジェクトの親(すなわち、最後の親の親または対象オブジェクトの祖父母(grandparent))が選択され(ステップ3560)、処理はループバックして、新たに選択された親が認識されたクラスタイプであるかどうかを判別する。このループは、認識されたクラスタイプが見つかるかまたはオブジェクト階層内に親がそれ以上存在しなくなるまで継続する。認識されたクラスタイプが見つかった場合、判断3525は「Yes」分岐3530に分岐し、その後、認識されたクラスタイプが選択される(ステップ3540)。これに対して、オブジェクト階層内に親がそれ以上存在しない場合、判断3550は「No」分岐3565に分岐し、その後、そのオブジェクトについてデフォルト・クラスタイプが選択される(ステップ3570)。
アイコン・サイズおよびその他の表示特性などのコンポーネント外観データは、選択されたクラスタイプに対応するオブジェクト動作特性とともに検索される(ステップ3575)。たとえば、検索されたクラスタイプがツールバーである場合、アイコン・サイズおよび表示特性は、ツールバー内に表示されるアイコンに使用可能なエリアの方が小さいことに基づくものになるであろう。しかし、検索されたクラスタイプがデスクトップである場合、アイコン・サイズおよび表示特性は、デスクトップ内で使用可能なエリアの方が大きいことに基づくものである。
コンポーネントは、クラスタイプに対応する検索された外観データを使用して表示される。システムは、そのコンポーネントが呼び出されるのを待つ(ステップ3585、すなわち、そのコンポーネントがユーザによって選択されるまで待つ)。コンポーネントが呼び出されると、そのコンポーネントは、クラスタイプに対応する動作属性を使用して実行される(ステップ3590)。
図40は、スマート・グラフィカル・コンポーネント用の表示属性を処理する際に実行されるステップを示す流れ図である。スマート・デスクトップ処理は3600から始まり、その後、クラスタイプがツールバーであるかどうかに関する判別が行われる(判断3605)。クラスタイプがツールバーである場合、判断3605は「Yes」分岐3610に分岐し、その後、そのコンポーネント用のツールバー・アイコンが検索され、ツールバーに表示され(ステップ3615)、ツールバー内のアイコンの周りにボーダが描画され(ステップ3620)、処理は3625で終了する。
クラスタイプがツールバーではない場合、判断3605は「No」分岐3630に分岐し、その後、クラスタイプがフォルダであるかどうかに関する判別が行われる(判断3635)。クラスタイプがフォルダである場合、判断3635は「Yes」分岐3640に分岐し、その後、そのコンポーネント用のフォルダ・アイコンが検索され、フォルダに表示され(ステップ3645)、そのアイコンの下に短いコンポーネント記述が表示され(ステップ3650)、処理は3655で終了する。
クラスタイプがツールバーまたはフォルダではない場合、判断3635は「No」分岐3660に分岐し、その後、クラスタイプがデスクトップであるかどうかに関する判別が行われる(判断3665)。クラスタイプがデスクトップである場合、判断3665は「Yes」分岐3668に分岐し、その後、より大きいアイコンが検索され、デスクトップ上に表示され(ステップ3670)、そのアイコンの下により長いコンポーネント記述が表示され(ステップ3675)、処理は3680で終了する。
クラスタイプがツールバー、フォルダ、またはデスクトップではない場合、判断3665は「No」分岐3682に分岐し、その後、デフォルト・アイコンが検索され表示され(ステップ3685)、その他のデフォルト表示特性が検索され、そのアイコンに適用され(ステップ3690)、処理は3695で終了する。
図41は、スマート・グラフィカル・コンポーネント用の動作属性を処理する際に実行されるステップを示す流れ図である。スマート・デスクトップ処理は3700から始まり、その後、呼び出されたコンポーネントがツールバー・クラスタイプを備えた親を有するかどうかに関する判別が行われる(判断3705)。呼び出されたコンポーネントがツールバー親クラスタイプを有する場合、判断3705は「Yes」分岐3710に分岐し、その後、コンポーネントのツールバー動作が検索され(ステップ3715)、検索されたツールバー動作が実行され(ステップ3720)、処理は3725で終了する。
呼び出されたコンポーネントがツールバー・クラスタイプを備えた親を有していない場合、判断3705は「No」分岐3730に分岐し、その後、呼び出されたコンポーネントがフォルダ・クラスタイプを備えた親を有するかどうかに関する判別が行われる(判断3735)。呼び出されたコンポーネントがフォルダ親クラスタイプを有する場合、判断3735は「Yes」分岐3740に分岐し、その後、コンポーネントのフォルダ動作が検索され(ステップ3745)、実行され(ステップ3750)、処理は3755で終了する。
呼び出されたコンポーネントがツールバー・クラスタイプまたはフォルダ・クラスタイプを備えた親を有していない場合、判断3735は「No」分岐3760に分岐し、その後、呼び出されたコンポーネントがデスクトップ・クラスタイプを備えた親を有するかどうかに関する判別が行われる(判断3765)。呼び出されたコンポーネントがデスクトップ親クラスタイプを有する場合、判断3765は「Yes」分岐3768に分岐し、その後、コンポーネントのデスクトップ動作が検索され(ステップ3770)、実行され(ステップ3775)、処理は3780で終了する。
呼び出されたコンポーネントがツールバー、フォルダ、またはデスクトップのクラスタイプを備えた親を有していない場合、判断3765は「No」分岐3782に分岐し、その後、コンポーネント・デフォルト動作が検索され(ステップ3785)、実行され(ステップ3790)、処理は3795で終了する。
図42は、本明細書に記載した操作を実行可能なコンピュータ・システムの単純化した一例である情報処理システム3801を示している。コンピュータ・システム3801は、ホスト・バス3805に結合されたプロセッサ3800を含む。また、レベル2(L2)キャッシュ・メモリ3810もホスト・バス3805に結合される。ホスト/PCIブリッジ(Host-to-PCI bridge)3815は、メイン・メモリ3820に結合され、キャッシュ・メモリおよびメイン・メモリ制御機能を含み、PCIバス3825、プロセッサ3800、L2キャッシュ3810、メイン・メモリ3820、およびホスト・バス3805間の転送を処理するためのバス制御を提供する。PCIバス3825は、たとえば、LANカード3830を含む様々なデバイス用のインターフェースを提供する。PCI/ISAブリッジ3835は、PCIバス3825とISAバス3840、ユニバーサル・シリアル・バス(USB)機能3845、IDEデバイス機能3850、およびパワー・マネージメント機能3855間の転送を処理するためのバス制御を提供し、リアルタイム・クロック(RTC)、DMA制御、割込みサポート、およびシステム管理バス・サポートなど、図示していない他の機能エレメントを含むことができる。周辺装置および入出力(I/O)装置は、様々なインターフェース3860(たとえば、ISAバス3840に結合されたパラレル・インターフェース3862、シリアル・インターフェース3864、赤外線(IR)インターフェース3866、キーボード・インターフェース3868、マウス・インターフェース3870、ハード・ディスク(HDD)3872)に接続することができる。代わって、多くの入出力装置は、ISAバス3840に接続されたスーパ入出力コントローラ(図示せず)によって対処することができる。
BIOS3880は、ISAバス3840に結合され、様々な低レベル・システム機能およびシステム・ブート機能に必要なプロセッサ実行可能コードを組み込んでいる。BIOS3880は、磁気ストレージ・メディア、光ストレージ・メディア、フラッシュ・メモリ、ランダム・アクセス・メモリ、読取り専用メモリ、および命令をエンコードする信号(たとえば、ネットワークからの信号)を搬送する通信メディアを含む、任意のコンピュータ可読メディアに保管することができる。コンピュータ・システム3801を他のコンピュータ・システムに接続してネットワークによりファイルをコピーするために、LANカード3830がPCIバス3825およびPCI/ISAブリッジ3835に結合される。同様に、コンピュータ・システム3801をISPに接続して、電話回線接続を使用してインターネットに接続するために、モデム3875がシリアル・ポート3864およびPCI/ISAブリッジ3835に接続される。
図42に記載したコンピュータ・システムは本明細書に記載した本発明を実行可能であるが、このコンピュータ・システムは単にコンピュータ・システムの一例にすぎない。当業者であれば、多くの他のコンピュータ・システム設計が本明細書に記載した本発明を実行可能であることが分かるであろう。
本発明の好ましい実現例の1つは、たとえば、コンピュータのランダム・アクセス・メモリに常駐可能なコード・モジュール内のアプリケーション、すなわち、1組の命令(プログラム・コード)である。その1組の命令は、コンピュータによって要求されるまで、他のコンピュータ・メモリ内に、たとえば、ハード・ディスク・ドライブ上に、もしくは光ディスク(最終的にCD−ROMで使用するため)あるいはフレキシブル・ディスク(最終的にフレキシブル・ディスク・ドライブで使用するため)などのリムーバブル・ストレージ内に保管するか、またはインターネットもしくはその他のコンピュータ・ネットワークを介してダウンロードすることができる。したがって、本発明は、コンピュータで使用するためのコンピュータ・プログラムとして実現することができる。加えて、上述の様々な方法はソフトウェアによって選択的に起動されるかまたは認識される汎用コンピュータにおいて都合よく実現されるが、当業者であれば、このような方法がハードウェア、ファームウェア、または必要な方法ステップを実行するように構築されたより専門化された装置で実行できることも認識するであろう。
本発明の特定の諸実施形態について図示し説明してきたが、本明細書の教示に基づいて、本発明およびそのより広範囲な諸態様を逸脱せずに、変更および修正が可能であり、したがって、特許請求の範囲は本発明の真の精神および範囲内にあるような変更および修正のすべてをその範囲内に包含するものであることは、当業者には明白になるであろう。
内蔵タイプのデスクトップを使用するコンピュータ・システムのネットワーク図である。 内蔵タイプのデスクトップを提供する際に含まれるコンポーネントのブロック図である。 内蔵タイプのデスクトップを提供するために実行される管理者ステップを示す高レベル流れ図である。 特定のサイトをセットアップするために実行される管理者ステップを示す流れ図である。 ユーザをセットアップするために実行される管理者ステップを示す流れ図である。 ワークステーションをセットアップするために実行される管理者ステップを示す流れ図である。 アプリケーション拡張をセットアップするために実行される管理者ステップを示す流れ図である。 アプリケーション参照をセットアップするために実行される管理者ステップを示す流れ図である。 内蔵タイプのデスクトップを作成するために実行される管理者ステップを示す流れ図である。 内蔵タイプのデスクトップをクライアントに送達するためにサーバによって実行されるステップを示す流れ図である。 新規サイトをセットアップするために管理者によって使用される画面の画面レイアウトである。 所与のサイト用のデスクトップおよびマシンを管理するために管理者によって使用される画面の画面レイアウトである。 新規ユーザをセットアップするために管理者によって使用される画面の画面レイアウトである。 1つまたは複数の内蔵タイプのデスクトップ内のコンポーネントとして使用可能であるアプリケーションをセットアップするために管理者によって使用される画面の画面レイアウトである。 ネイティブ・アプリケーションをセットアップするために管理者によって使用される画面の画面レイアウトである。 ワークステーションを管理するために管理者によって使用される画面の画面レイアウトである。 内蔵タイプのデスクトップをサーバに配布するために実行されるステップを示す流れ図である。 内蔵タイプのデスクトップをサーバからクライアントに配布するために実行されるステップを示す流れ図である。 カスタム・アプリケーション拡張を作成するために実行されるステップを示す流れ図である。 アプリケーション拡張ライフサイクルを示す流れ図である。 管理者から複数クライアントに配布されるコンポーネントおよびリソースを示すブロック図である。 管理者によるデータ喪失後にサーバから管理者によって回復されるコンポーネントおよびリソースを示すブロック図である。 内蔵タイプのデスクトップを配布し、その後、災害イベント後にサーバから内蔵タイプのデスクトップを回復する際に管理者によって実行されるステップを示す流れ図である。 デスクトップを受信し表示するためにクライアントによって実行されるステップを示す流れ図である。 ユーザの役割およびワークステーションの役割に基づいてデスクトップ情報をクライアントに提供するためにサーバによって実行されるステップを示す流れ図である。 サーバによって実行される処理と、サーバ、クライアント、管理者間の相互作用とを示すブロック図である。 内蔵タイプのデスクトップを初期化し表示する際にクライアントによって実行されるステップを示す流れ図である。 クライアントにとって使用可能な他の内蔵タイプのデスクトップのポップアップ・メニューとともにクライアント・ワークステーション上に表示されるサンプル・デスクトップの画面レイアウトである。 デスクトップを表示し管理する際にクライアント・シェルによって使用されるディレクトリの階層図である。 シェル構成ファイルとともに含まれるセクションの階層図である。 内蔵タイプのデスクトップ・ファイルに含まれるオブジェクトの階層図である。 クライアントを初期化して内蔵タイプのデスクトップを使用するために実行されるステップを示す流れ図である。 クライアント初期化中に実行されるステップを示す流れ図である。 ネイティブ・オペレーティング・システム・ログイン中に実行されるステップを示す流れ図である。 Javaシェル・ランチャを呼び出すときに実行されるステップを示す流れ図である。 スマート・グラフィカル・コンポーネントの一例を示す画面レイアウトである。 スマート・グラフィカル・コンポーネントの第2の例を示す画面レイアウトである。 様々なデスクトップ・オブジェクトを示す階層図である。 スマート・グラフィカル・コンポーネントを初期化する際に実行されるステップを示す流れ図である。 スマート・グラフィカル・コンポーネント用の表示属性を処理する際に実行されるステップを示す流れ図である。 スマート・グラフィカル・コンポーネント用の動作属性を処理する際に実行されるステップを示す流れ図である。 本発明を実現可能な情報処理システムのブロック図である。

Claims (22)

  1. 第1のコンピュータ・システムがコンポーネント・ファイルを回復するための方法において、前記方法が、
    1つまたは複数のコンポーネント・ファイルを1つまたは複数の内蔵タイプのパッケージ・ファイルにパッケージ化するステップと、
    前記内蔵タイプのパッケージ・ファイルをコンピュータ・ネットワークにより1つまたは複数の第2のコンピュータ・システムに伝送するステップと、
    前記コンポーネント・ファイルのうちの1つまたは複数がもはや前記第1のコンピュータ・システムから使用不能になる災害イベントを識別するステップと、
    前記識別された災害イベントに応答して、前記第2のコンピュータ・システムのうちの1つまたは複数から前記内蔵タイプのパッケージ・ファイルのうちの1つまたは複数を要求するステップと、
    前記要求に応答して前記第2のコンピュータ・システムのうちの1つまたは複数から内蔵タイプのパッケージ・ファイルを受信するステップと、
    前記受信した内蔵タイプのパッケージ・ファイルから前記コンポーネントをアンパックするステップと、
    前記第1のコンピュータ・システムからアクセス可能な不揮発性ストレージ・デバイス上に前記コンポーネントを保管するステップと、
    を有する、方法。
  2. 前記内蔵タイプのパッケージ・ファイルのそれぞれに含まれる前記コンポーネント・ファイルを詳述するマニフェスト・ファイルを作成するステップと、
    前記マニフェスト・ファイルに含まれる前記コンポーネント・ファイルを、前記災害イベント後に存在する前記コンポーネント・ファイルと比較するステップと、
    前記比較に基づいて、前記第2のコンピュータ・システムから要求するための前記内蔵タイプのパッケージ・ファイルを識別するステップと、
    をさらに有する、請求項1に記載の方法。
  3. 前記内蔵タイプのパッケージ・ファイルのそれぞれに関するマニフェスト・ファイルを作成するステップであって、前記マニフェスト・ファイルが前記内蔵タイプのパッケージ・ファイルに含まれる前記コンポーネント・ファイルを詳述するステップと、
    前記コンポーネント・ファイルとともに、前記マニフェスト・ファイルを前記内蔵タイプのパッケージ・ファイルにパッケージ化するステップと、
    をさらに有する、請求項1に記載の方法。
  4. 前記コンポーネント・ファイルのそれぞれおよび前記内蔵タイプのパッケージ・ファイルのそれぞれに固有のIDを割り当てるステップ
    をさらに有する、請求項1に記載の方法。
  5. 前記第2のコンピュータ・システムから前記固有のIDのリストを受信するステップと、
    前記受信した固有のIDのリストを、前記災害イベント後に前記第1のコンピュータ・システム上に存在する内蔵タイプのパッケージ・ファイルと比較するステップと、
    前記比較に基づいて、前記第2のコンピュータ・システムから要求するための前記内蔵タイプのパッケージ・ファイルを識別するステップと、
    をさらに有する、請求項4に記載の方法。
  6. 前記内蔵タイプのパッケージ・ファイルを作成するために前記第1のコンピュータ・システムが管理者によって使用され、前記内蔵タイプのパッケージ・ファイルのそれぞれが組織内のユーザによって実行される役割に対応する、請求項1に記載の方法。
  7. 前記第2のコンピュータ・システムが、クライアント・コンピュータ・システムのユーザによって実行される役割に基づいて、前記内蔵タイプのパッケージ・ファイルを1つまたは複数のクライアント・コンピュータ・システムに提供するサーバ・コンピュータ・システムである、請求項1に記載の方法。
  8. 前記内蔵タイプのパッケージ・ファイルに含めるべき前記コンポーネント・ファイルを選択するステップであって、前記コンポーネント・ファイルのうちの少なくとも1つが、複数のオペレーティング・システム上で実行されるように適合されるデスクトップ・シェルから立ち上げられるように適合されるプログラミング・コードを含むステップと、
    前記内蔵タイプのパッケージ・ファイルをパッケージ・ファイルのライブラリに保管するステップであって、前記パッケージ・ファイルのそれぞれが、クライアント・コンピュータ・システムに伝送されるように適合されるステップと、
    をさらに有する、請求項1に記載の方法。
  9. 前記コンポーネント・ファイルのうちの少なくとも1つが、アイコン・ファイル、イメージ・ファイル、アプリケーション拡張ファイル、画面外観ファイル、各国語変換ファイル、クライアント構成ファイル、およびサーバ構成ファイルからなるグループから選択される、請求項1に記載の方法。
  10. 前記災害イベントが、不揮発性ストレージ・デバイス障害、1つまたは複数のコンポーネント・ファイルの削除、1つまたは複数の内蔵タイプのパッケージ・ファイルの削除、コンピュータ・システム障害、自然災害、火災、および洪水からなるグループから選択される、請求項1に記載の方法。
  11. 1つまたは複数のプロセッサと、
    前記プロセッサによってアクセス可能なメモリ・エリアと、
    前記プロセッサによってアクセス可能な不揮発性ストレージ・デバイスと、
    第1のコンピュータ・システムを管理するために前記プロセッサによって実行されるオペレーティング・システムと、
    第1のコンピュータ・システムをコンピュータ・ネットワークに接続するために前記プロセッサによってアクセス可能なネットワーク・インターフェースと、
    コンポーネント・ファイルを回復するための回復ツールであって、
    1つまたは複数のコンポーネント・ファイルを前記不揮発性ストレージ・デバイス上に保管された1つまたは複数の内蔵タイプのパッケージ・ファイルにパッケージ化するための手段と、
    前記内蔵タイプのパッケージ・ファイルを前記コンピュータ・ネットワークにより1つまたは複数の第2のコンピュータ・システムに伝送するための手段と、
    識別された災害イベントに応答して、前記コンピュータ・システムのうちの1つまたは複数から前記内蔵タイプのパッケージ・ファイルのうちの1つまたは複数を要求するための手段と、
    前記要求に応答して前記コンピュータ・システムのうちの1つまたは複数から内蔵タイプのパッケージ・ファイルを受信するための手段と、
    前記受信した内蔵タイプのパッケージ・ファイルから前記コンポーネントをアンパックするための手段と、
    前記不揮発性ストレージ・デバイス上に前記コンポーネントを保管するための手段と、
    を含む回復ツールと、
    を有する、情報処理システム。
  12. 前記内蔵タイプのパッケージ・ファイルのそれぞれに含まれる前記コンポーネント・ファイルを詳述するマニフェスト・ファイルを作成するための手段と、
    前記マニフェスト・ファイルに含まれる前記コンポーネント・ファイルを、前記災害イベント後に存在する前記コンポーネント・ファイルと比較するための手段と、
    前記比較に基づいて、前記第2のコンピュータ・システムから要求するための前記内蔵タイプのパッケージ・ファイルを識別するための手段と、
    をさらに有する、請求項11に記載の情報処理システム。
  13. 前記内蔵タイプのパッケージ・ファイルのそれぞれに関するマニフェスト・ファイルを作成するための手段であって、前記マニフェスト・ファイルが前記内蔵タイプのパッケージ・ファイルに含まれる前記コンポーネント・ファイルを詳述する手段と、
    前記コンポーネント・ファイルとともに、前記マニフェスト・ファイルを前記内蔵タイプのパッケージ・ファイルにパッケージ化するための手段と、
    をさらに有する、請求項11に記載の情報処理システム。
  14. 前記コンポーネント・ファイルのそれぞれおよび前記内蔵タイプのパッケージ・ファイルのそれぞれに固有のIDを割り当てるための手段
    をさらに有する、請求項11に記載の情報処理システム。
  15. 前記第2のコンピュータ・システムから前記固有のIDのリストを受信するための手段と、
    前記受信した固有のIDのリストを、前記災害イベント後に前記第1のコンピュータ・システム上に存在する内蔵タイプのパッケージ・ファイルと比較するための手段と、
    前記比較に基づいて、前記第2のコンピュータ・システムから要求するための前記内蔵タイプのパッケージ・ファイルを識別するための手段と、
    をさらに有する、請求項14に記載の情報処理システム。
  16. 前記内蔵タイプのパッケージ・ファイルを作成するために前記第1のコンピュータ・システムが管理者によって使用され、前記内蔵タイプのパッケージ・ファイルのそれぞれが組織内のユーザによって実行される役割に対応する、請求項11に記載の情報処理システム。
  17. 前記第2のコンピュータ・システムが、クライアント・コンピュータ・システムのユーザによって実行される役割に基づいて、前記内蔵タイプのパッケージ・ファイルを1つまたは複数のクライアント・コンピュータ・システムに提供するサーバ・コンピュータ・システムである、請求項11に記載の情報処理システム。
  18. 前記内蔵タイプのパッケージ・ファイルに含めるべき前記コンポーネント・ファイルを選択するための手段であって、前記コンポーネント・ファイルのうちの少なくとも1つが、複数のオペレーティング・システム上で実行されるように適合されるデスクトップ・シェルから立ち上げられるように適合されるプログラミング・コードを含む手段と、
    前記内蔵タイプのパッケージ・ファイルを前記不揮発性ストレージ・デバイス上に保管されたパッケージ・ファイルのライブラリに保管するための手段であって、前記パッケージ・ファイルのそれぞれが、クライアント・コンピュータ・システムに伝送されるように適合される手段と、
    をさらに有する、請求項11に記載の情報処理システム。
  19. 前記コンポーネント・ファイルのうちの少なくとも1つが、アイコン・ファイル、イメージ・ファイル、アプリケーション拡張ファイル、画面外観ファイル、各国語変換ファイル、クライアント構成ファイル、およびサーバ構成ファイルからなるグループから選択される、請求項11に記載の情報処理システム。
  20. 前記災害イベントが、不揮発性ストレージ・デバイス障害、1つまたは複数のコンポーネント・ファイルの削除、1つまたは複数の内蔵タイプのパッケージ・ファイルの削除、コンピュータ・システム障害、自然災害、火災、および洪水からなるグループから選択される、請求項11に記載の情報処理システム。
  21. プログラムがコンピュータ・システム内で実行されるときに、請求項1ないし20のいずれかに記載の方法のステップをコンピュータに実行させるコンピュータ・プログラム。
  22. 請求項21に記載の前記コンピュータ・プログラムを記録したコンピュータ可読メディア。
JP2004559792A 2002-12-17 2003-12-10 分散デスクトップ・パッケージを使用してデスクトップ・コンポーネントを復元するためのシステムおよび方法 Pending JP2006510098A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/322,095 US20040113950A1 (en) 2002-12-17 2002-12-17 System and method for centrally managed self-contained desktops
PCT/EP2003/013973 WO2004055669A2 (en) 2002-12-17 2003-12-10 System and method for restoring desktop components using distributed desktop packages

Publications (2)

Publication Number Publication Date
JP2006510098A true JP2006510098A (ja) 2006-03-23
JP2006510098A5 JP2006510098A5 (ja) 2007-02-08

Family

ID=32507216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004559792A Pending JP2006510098A (ja) 2002-12-17 2003-12-10 分散デスクトップ・パッケージを使用してデスクトップ・コンポーネントを復元するためのシステムおよび方法

Country Status (9)

Country Link
US (1) US20040113950A1 (ja)
EP (1) EP1573523A2 (ja)
JP (1) JP2006510098A (ja)
KR (1) KR20050084996A (ja)
CN (1) CN1726462A (ja)
AU (1) AU2003293814A1 (ja)
CA (1) CA2506561A1 (ja)
IL (1) IL169275A0 (ja)
WO (1) WO2004055669A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136526A1 (en) * 2004-12-16 2006-06-22 Childress Rhonda L Rapid provisioning of a computer into a homogenized resource pool
CN100454243C (zh) * 2006-11-28 2009-01-21 北京龙阁创意数码科技有限公司 基于海量数据的多元动漫产品开发系统和开发方法
US8146080B2 (en) * 2007-03-30 2012-03-27 Novell, Inc. Tessellated virtual machines conditionally linked for common computing goals
US20080256538A1 (en) * 2007-04-10 2008-10-16 Novell, Inc. Storage configurations for tessellated virtual machines
US20080256535A1 (en) * 2007-04-10 2008-10-16 Novell, Inc. Tessellated virtual machines for common computing goals
US20080307415A1 (en) * 2007-06-11 2008-12-11 Novell, Inc. Tessellated applications for user computing environments
US8930945B2 (en) * 2007-11-15 2015-01-06 Novell, Inc. Environment managers via virtual machines
CN102033781B (zh) * 2011-01-27 2012-07-18 中标软件有限公司 虚拟机桌面系统切换方法
US9361454B2 (en) 2014-05-30 2016-06-07 Apple Inc. Methods for restricting resources used by an application based on a base profile and an application specific profile
CN107092476B (zh) * 2017-01-03 2021-06-29 北京安云世纪科技有限公司 一种桌面布局的检测方法、装置和移动终端
CN107092477B (zh) * 2017-01-03 2020-07-03 北京安云世纪科技有限公司 一种桌面布局的修正方法、装置和移动终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049416A (ja) * 1995-10-23 1998-02-20 Stac Electron ネットワークシステムにおけるファイルの バックアップ方法
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
JP2002287979A (ja) * 2001-01-22 2002-10-04 Hewlett Packard Co <Hp> コンピューティング装置によって読取り可能なプログラム記憶装置

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2191918B (en) * 1986-06-16 1990-09-05 Ibm Data display system
US5243697A (en) * 1989-03-15 1993-09-07 Sun Microsystems, Inc. Method and apparatus for selecting button functions and retaining selected options on a display
CA1326563C (en) * 1989-03-15 1994-01-25 Anthony Hoeber Method and apparatus for selecting and executing defaults in a window based display system
US5317733A (en) * 1990-01-26 1994-05-31 Cisgem Technologies, Inc. Office automation system for data base management and forms generation
US5287502A (en) * 1990-09-12 1994-02-15 Kabushiki Kaisha Toshiba Computer system for executing application programs by a combination of picture symbols
US5425140A (en) * 1992-03-20 1995-06-13 International Business Machines Corporation Method and apparatus for providing conditional cascading in a computer system graphical user interface
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5566297A (en) * 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
US5564002A (en) * 1994-08-01 1996-10-08 International Business Machines Corporation Method and apparatus for implementing a virtual desktop through window positioning
JP3946275B2 (ja) * 1995-01-10 2007-07-18 富士通株式会社 リモートインストールシステムおよび方法
AU712491B2 (en) * 1995-04-07 1999-11-11 Sony Electronics Inc. Method and apparatus for improved graphical user interface with function icons
US5706456A (en) * 1995-04-18 1998-01-06 Unisys Corporation Application specific graphical user interface (GUI) that is window programmable and capable of operating above a windows operating system GUI
US6061795A (en) * 1995-07-31 2000-05-09 Pinnacle Technology Inc. Network desktop management security system and method
US5867163A (en) * 1995-12-01 1999-02-02 Silicon Graphics, Inc. Graphical user interface for defining and invoking user-customized tool shelf execution sequence
US5765153A (en) * 1996-01-03 1998-06-09 International Business Machines Corporation Information handling system, method, and article of manufacture including object system authorization and registration
US5930824A (en) * 1997-02-04 1999-07-27 International Business Machines Corporation System and method for demand-base data recovery
US6123737A (en) * 1997-05-21 2000-09-26 Symantec Corporation Push deployment of software packages using notification transports
US6044465A (en) * 1997-07-07 2000-03-28 International Business Machines Corporation User profile storage on and retrieval from a non-native server domain for use in a client running a native operating system
US5926631A (en) * 1997-08-15 1999-07-20 International Business Machines Corporation Network computer emulator systems, methods and computer program products for personal computers
US6108332A (en) * 1997-09-12 2000-08-22 Ericsson Inc. Local number portability for interexchange carriers
US5846090A (en) * 1997-10-09 1998-12-08 Lu; Ching-Shui Rotational jack socket assembly
US6337717B1 (en) * 1997-11-21 2002-01-08 Xsides Corporation Alternate display content controller
US6018332A (en) * 1997-11-21 2000-01-25 Ark Interface Ii, Inc. Overscan user interface
US6330010B1 (en) * 1997-11-21 2001-12-11 Xsides Corporation Secondary user interface
GB2333215B (en) * 1998-01-13 2002-05-08 Sony Electronics Inc Systems and methods for enabling manipulation of a plurality of graphic images on a display screen
CA2319004A1 (en) * 1998-01-26 1999-08-12 Unif/X Inc. A transaction execution system interface and enterprise system architecture thereof
US6344859B1 (en) * 1998-03-31 2002-02-05 International Business Machines Corporation Data processor controlled display system with a plurality of selectable basic function interfaces for the control of varying types of customer requirements and with additional customized functions
US6417869B1 (en) * 1998-04-15 2002-07-09 Citicorp Development Center, Inc. Method and system of user interface for a computer
US6105066A (en) * 1998-05-05 2000-08-15 International Business Machines Corp. 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
US6105063A (en) * 1998-05-05 2000-08-15 International Business Machines Corp. Client-server system for maintaining application preferences in a hierarchical data structure according to user and user group or terminal and terminal group contexts
US6237092B1 (en) * 1998-05-05 2001-05-22 International Business Machines Corp. Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application
US6108712A (en) * 1998-05-05 2000-08-22 International Business Machines Corp. Client-server system with central application management and providing export agent capability for retrofitting existing hardware and applications into the system
US6205476B1 (en) * 1998-05-05 2001-03-20 International Business Machines Corporation Client—server system with central application management allowing an administrator to configure end user applications by executing them in the context of users and groups
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
US6249883B1 (en) * 1998-06-29 2001-06-19 Netpro Computing, Inc. System and method for monitoring domain controllers
US6212564B1 (en) * 1998-07-01 2001-04-03 International Business Machines Corporation Distributed application launcher for optimizing desktops based on client characteristics information
US6426762B1 (en) * 1998-07-17 2002-07-30 Xsides Corporation Secondary user interface
US6389589B1 (en) * 1998-09-21 2002-05-14 Microsoft Corporation Class store schema
US6282568B1 (en) * 1998-12-04 2001-08-28 Sun Microsystems, Inc. Platform independent distributed management system for manipulating managed objects in a network
US6476833B1 (en) * 1999-03-30 2002-11-05 Koninklijke Philips Electronics N.V. Method and apparatus for controlling browser functionality in the context of an application
US6446071B1 (en) * 1999-04-26 2002-09-03 International Business Machines Corporation Method and system for user-specific management of applications in a heterogeneous server environment
EP1050813A3 (en) * 1999-05-06 2007-02-28 Sun Microsystems, Inc. Method and apparatus for implementing deployment descriptions in an enterprise environment
US6282711B1 (en) * 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
KR100496056B1 (ko) * 2000-02-26 2005-06-17 주식회사 하우리 인터넷 기반의 원격 데이터 및 파일 복구 서비스 시스템및 그 방법
US6901403B1 (en) * 2000-03-02 2005-05-31 Quovadx, Inc. XML presentation of general-purpose data sources
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style
US6636250B1 (en) * 2000-04-12 2003-10-21 Emc Corp Methods and apparatus for presenting information to a user of a computer system
CA2317211A1 (en) * 2000-09-01 2002-03-01 Dew Engineering And Development Limited Flexible method of security data backup
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
US7051288B2 (en) * 2001-02-15 2006-05-23 International Business Machines Corporation Method, system, and product for a java-based desktop to provide window manager services on UNIX
US7062718B2 (en) * 2001-08-14 2006-06-13 National Instruments Corporation Configuration diagram which graphically displays program relationship
US6986135B2 (en) * 2001-09-06 2006-01-10 Cognos Incorporated Deployment manager for organizing and deploying an application in a distributed computing environment
AU2002365257A1 (en) * 2001-10-26 2003-07-24 Zeosoft Corporation Development, management of distributed clients and servers
US7272377B2 (en) * 2002-02-07 2007-09-18 At&T Corp. System and method of ubiquitous language translation for wireless devices
US6850255B2 (en) * 2002-02-28 2005-02-01 James Edward Muschetto Method and apparatus for accessing information, computer programs and electronic communications across multiple computing devices using a graphical user interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049416A (ja) * 1995-10-23 1998-02-20 Stac Electron ネットワークシステムにおけるファイルの バックアップ方法
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
JP2002287979A (ja) * 2001-01-22 2002-10-04 Hewlett Packard Co <Hp> コンピューティング装置によって読取り可能なプログラム記憶装置

Also Published As

Publication number Publication date
IL169275A0 (en) 2007-07-04
EP1573523A2 (en) 2005-09-14
AU2003293814A1 (en) 2004-07-09
WO2004055669A3 (en) 2004-10-21
KR20050084996A (ko) 2005-08-29
CN1726462A (zh) 2006-01-25
US20040113950A1 (en) 2004-06-17
CA2506561A1 (en) 2004-07-01
WO2004055669A2 (en) 2004-07-01

Similar Documents

Publication Publication Date Title
US7243336B2 (en) System and method of extending application types in a centrally managed desktop environment
US7478335B2 (en) Smart graphical components
US7117448B2 (en) System and method for determining desktop functionality based on workstation and user roles
US7203905B2 (en) System and method for platform independent desktop lockdown
US7310775B2 (en) System and method for restoring desktop components using distributed desktop packages
US6401183B1 (en) System and method for operating system independent storage management
CN101329636B (zh) 虚拟化窗口信息的方法和设备
US8539481B2 (en) Using virtual hierarchies to build alternative namespaces
EP1526429A2 (en) Operating system resource protection
US20080005472A1 (en) Running applications from removable media
US7788701B1 (en) Content transfer restriction system for personal internet communicator
CN101073059A (zh) 用于由应用程序访问由操作系统所提供的资源的方法和系统
TW200830185A (en) Virtual deletion in merged file system directories
WO2008054989A1 (en) Virtual deletion in merged registry keys
JP2006510098A (ja) 分散デスクトップ・パッケージを使用してデスクトップ・コンポーネントを復元するためのシステムおよび方法
Both Preparation
US11263183B2 (en) Integrating virtual machine file system into a native file explorer
US11385919B1 (en) Machine image launch system
JP2000047873A (ja) アプリケ―ションプログラム及びプロパティ情報間のインタフェ―ス方法、サ―バからクライアントへのプロパティ情報配信方法、プロパティ情報編集プログラムを記録したコンピュ―タ読取可能な記憶媒体、プロパティ情報記憶プログラムを記録したコンピュ―タ読取可能な記憶媒体、及び、プロパティ情報編集装置
JP2000082002A (ja) データ管理システム及び記録媒体
Robichaux Managing the windows 2000 registry
WO2005114453A2 (en) Console personalization
CN101702128A (zh) 用于隔离对软件应用程序的执行的方法和设备
Penberthy et al. Containers
Savill The Complete Guide to Windows Server 2008

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061208

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100629