JP2000122984A - General schema for storing configuration information on client computer and server computer - Google Patents

General schema for storing configuration information on client computer and server computer

Info

Publication number
JP2000122984A
JP2000122984A JP11134685A JP13468599A JP2000122984A JP 2000122984 A JP2000122984 A JP 2000122984A JP 11134685 A JP11134685 A JP 11134685A JP 13468599 A JP13468599 A JP 13468599A JP 2000122984 A JP2000122984 A JP 2000122984A
Authority
JP
Japan
Prior art keywords
data
client
computer
server
framework
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
JP11134685A
Other languages
Japanese (ja)
Inventor
Bernard A Traversat
バーナード・エー.・トラバサット
Thomas Saulpaugh
トム・サウルポー
Jeffrey A Schmidt
ジェフリー・エー.・シュミット
Gregory L Slaughter
グレゴリー・エル.・スローター
J Tracy William
ウイリアム・ジェイ.・トレイシー
G Woodward Steve
スティーブ・ジー.・ウッドワード
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/079,500 external-priority patent/US6052720A/en
Priority claimed from US09/079,501 external-priority patent/US6161125A/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2000122984A publication Critical patent/JP2000122984A/en
Pending legal-status Critical Current

Links

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • 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
    • 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]

Abstract

PROBLEM TO BE SOLVED: To disclose a data schema having an (n)-branch tree structure including a data layer, etc., by providing a data framework which can be accessed by an arbitrary client computer among client computers. SOLUTION: A client schema hierarchical structure 103 and a server schema hierarchical structure uses an (n)-branch tree. A root entry 201 is provided at the root of the tree. Further, a 1st level 203 in the client schema 103 is right below the root entry 201 and has name space entries. Then a hierarchical structure, i.e., a data schema for displaying and storing in a system data base the data framework, i.e., a data schema and a relative protocol for exchanging data in the data schema between computers is disclosed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はコンピュータ・ソフ
トウェア及びコンピュータ・ネットワーク・アプリケー
ションに関する。より詳細には、本発明は、クライアン
ト・サーバ・アプリケーションおよびコンピュータ・ネ
ットワーク内の複数のコンピュータ間におけるコンフィ
ギュレーション・データの交換に関する。
TECHNICAL FIELD This invention relates to computer software and computer network applications. More particularly, the present invention relates to the exchange of configuration data between client-server applications and multiple computers in a computer network.

【0002】[0002]

【従来の技術】従来のコンピュータ・ネットワークの一
類型では、クライアントと称される一連のパーソナル・
コンピュータ(例:サン・スパーク・ワークステーショ
ンまたはIBMパーソナル・コンピュータ)は、1つ以
上のサーバ・コンピュータに対して接続する必要があ
る。クライアント・コンピュータは、一般的に独立して
おり、また、ユーザ・アプリケーションを実行すると共
にネットワーク・オペレーションを実施するために必要
な情報の殆どを自身のメモリ内に有する。即ち、クライ
アント・コンピュータはソフトウェア及びハードウェア
の両方の機能及び要件に関する自身のコンフィギュレー
ションの情報を含む。ネットワーク・ソフトウェア・ア
プリケーションへのアクセス、電子メールの送受信及び
ネットワーク・データベースの情報の検索及び格納など
の様々な理由から、クライアント・コンピュータはネッ
トワーク・サーバへ一般的にアクセスする。しかし、一
般的に、特定のクライアント・コンピュータ固有の情報
は、そのクライアント・コンピュータ上に存在する。こ
の情報には、例えば、メモリ容量、データバス種類数ま
たはハードウェア仕様が含まれることが可能であり、ハ
ードウェア仕様の例としては、データバスの種類または
別のプロセッサの種類が挙げられる。クライアント・コ
ンピュータは比較的に独立しており、かつ自身のコンフ
ィギュレーション情報を格納している(従って、この情
報はサーバ・コンピュータ上で入手できない)。このた
め、クライアント・コンピュータ上でのデータ管理及び
アプリケーション管理のタスクは重荷になってきてい
る。
BACKGROUND OF THE INVENTION One type of conventional computer network is a series of personal computers called clients.
A computer (e.g., a Sun Spark workstation or an IBM personal computer) needs to connect to one or more server computers. Client computers are generally independent and have in their memory most of the information needed to execute user applications and perform network operations. That is, the client computer contains its configuration information regarding both software and hardware functions and requirements. Client computers typically access a network server for a variety of reasons, such as accessing network software applications, sending and receiving email, and retrieving and storing information in network databases. However, in general, information specific to a particular client computer resides on that client computer. This information can include, for example, the memory capacity, the number of data bus types, or hardware specifications, examples of which include the type of data bus or the type of another processor. The client computer is relatively independent and stores its configuration information (thus, this information is not available on the server computer). For this reason, the task of data management and application management on client computers has become a burden.

【0003】ネットワークのサーバ上に存在するアプリ
ケーションに対する小さな変更または調整を、クライア
ント・コンピュータへ伝播することは可能であるが、任
意の大幅なアップグレード若しくは調整または新しいア
プリケーションのインストールは、全てのクライアント
が、ネットワーク管理者によって各クライアント・コン
ピュータがアクセスされると共に更新されることを要求
する結果をもたらす。幾つかの企業では、ネットワーク
へ接続されたコンピュータの数は何万台にも及んでお
り、アプリケーション・ソフトウェアまたは一般コンフ
ィギュレーション・ソフトウェアに対する大幅な改訂ま
たはアップグレードのインストールの負担は、高い費用
を要する非能率的な長い時間を要する作業となってい
る。更に、殆どのクライアント・コンピュータは独立し
ているため、それぞれ異なる場所にある複数のクライア
ント・コンピュータを使用することを必要とする各ユー
ザが、アプリケーション及びコンフィギュレーション・
データに関するパーソナル・プリファレンス(個人設
定)を維持することは困難である。即ち、ユーザはパー
ソナル・プリファレンスを自分が常に使用するクライア
ント・コンピュータへデフォルトとしてインストール可
能であるにもかかわらず、他のクライアント・コンピュ
ータのデフォルトを変更することなくこれらのデフォル
トを前記の他のクライアント・コンピュータへ複製でき
る。
[0003] While it is possible to propagate small changes or adjustments to applications residing on servers in a network to client computers, any major upgrade or adjustment or installation of a new application requires that all clients This results in requiring each client computer to be accessed and updated by the network administrator. Some companies have tens of thousands of computers connected to the network, and the burden of installing major revisions or upgrades to application software or general configuration software can be expensive. This is an efficient and time-consuming operation. In addition, since most client computers are independent, each user who needs to use multiple client computers, each located in a different location, will have access to application and configuration software.
It is difficult to maintain personal preferences for data. That is, users can install their personal preferences as defaults on client computers that they always use, but without changing the defaults on other client computers. -Can be copied to a computer.

【0004】別の種類のコンピュータ・ネットワーク・
コンフィギュレーションは、メインフレーム・コンピュ
ータへ一般的に接続されたダム・ターミナル、即ち、シ
ン・クライアント("thin" client)を使用している。
この種のネットワークでは、ほぼ全ての処理及びデータ
はメインフレーム・コンピュータ上に存在する。シン・
クライアントはこれらのアクティビティを一切遂行しな
い。この種のコンフィギュレーションでは、クライアン
トに関する全ての情報はメインフレーム・コンピュータ
のコントロール下にある。クライアント及びメインフレ
ームの間の接続が終了した場合、全ての処理が停止し、
クライアントは全てのアクティビティを実施できなくな
る。
[0004] Another type of computer network
The configuration uses a dumb terminal, typically a "thin" client, connected to the mainframe computer.
In this type of network, almost all processing and data reside on mainframe computers. Shin
The client does not perform any of these activities. In this type of configuration, all information about the client is under the control of the mainframe computer. When the connection between the client and the mainframe is terminated, all processing stops,
The client will not be able to perform all activities.

【0005】前記のように、従来のネットワーク・コン
フィギュレーションでは、新しいソフトウェアまたは新
しいアプリケーションをインストールするプロセスは静
的プロセスである。このコンフィギュレーションでは、
各パーソナル・コンピュータのコンフィギュレーション
情報は各クライアント・マシン上で定義される。従っ
て、ネットワーク管理者は各パーソナル・コンピュータ
上の各コンフィギュレーションを静的に定義する必要が
ある。従来のコンピュータ・ネットワーク・コンフィギ
ュレーションでは、特定の各サブシステム、即ち、クラ
イアントのコンフィギュレーション情報は、このクライ
アント内でハードコードされている。更に、ネットワー
ク・サーバへ接続された複数の独立クライアントを使用
する従来のネットワーク・コンフィギュレーションの場
合、新バージョンのインストールまたはソフトウェアの
大幅アップグレード(アップグレードはサブシステムの
コンフィギュレーションに関する知識またはサブシステ
ムのコンフィギュレーションへのアクセスを必要とす
る)などのアプリケーション・メインテナンスは、通
常、アプリケーションまたはネットワークをダウンさせ
ることを必要とする。
As mentioned above, in a conventional network configuration, the process of installing new software or a new application is a static process. In this configuration,
Configuration information for each personal computer is defined on each client machine. Therefore, the network administrator must statically define each configuration on each personal computer. In a conventional computer network configuration, the configuration information for each particular subsystem, or client, is hard-coded within the client. In addition, in the case of a traditional network configuration using multiple independent clients connected to a network server, installing a new version or upgrading the software significantly (upgrading requires knowledge of subsystem configuration or subsystem configuration). Application maintenance), which typically requires bringing down the application or network.

【0006】複数のクライアントと、クライアントが様
々な理由から必要とする情報を有する1つのサーバとを
備えた従来のコンピュータ・ネットワークの場合、クラ
イアントが必要とするサーバ上の全データ、即ち、クラ
イアントに関するサーバ上の全データは、サーバからク
ライアントへ転送されることが多い。一般的に、これは
大量のデータの移動をともなう。これらのデータのうち
の殆どはクライアントによって使用されない、即ち、ク
ライアントのオペレーションに必要ない。全データをク
ライアントへ転送することは、非能率的であり、かつネ
ットワーク・トラフィックを増大する。更に、クライア
ントはサーバから転送された自身に関連する全ての情報
を格納する十分なメモリ及び記憶装置を有する必要があ
る。例えば、大容量の記憶装置を有さないPDA及びス
マート・カードなどのデバイスは、自身に関連する可能
性のあるコンフィギュレーション情報を含む全ての情報
を自身のメモリ内に格納できない。
In a conventional computer network with a plurality of clients and a server having information that the client needs for various reasons, all the data on the server that the client needs, that is, the client All data on the server is often transferred from the server to the client. Generally, this involves moving large amounts of data. Most of these data are not used by the client, ie they are not required for the operation of the client. Transferring all data to the client is inefficient and increases network traffic. In addition, the client must have sufficient memory and storage to store all information related to itself transferred from the server. For example, devices such as PDAs and smart cards without mass storage cannot store all information in their memory, including configuration information that may be relevant to them.

【0007】従って、この種のコンフィギュレーション
情報を中央リポジトリに格納することによって、クライ
アント・コンフィギュレーションの分散管理をサポート
するシステムを有することが望ましい。これは、ネット
ワーク管理者がサブシステムのコンフィギュレーション
をサーバから管理することと、アプリケーションに対す
る全ての変更をサーバから伝播することを可能にする。
ネットワーク・ユーザが異なる複数のクライアントへそ
れぞれログオンでき、かつ該ユーザーのパーソナル・プ
リファレンス及びプロフィールへネットワーク上の任意
のクライアント上でアクセスできることが望ましい。更
に、効率的で完全に機能するやり方で、データをサーバ
からクライアントへ転送することを可能にする方法を有
することが望ましい。更に、クライアントが重複するデ
ータを受信することがないように凝縮されたコンパクト
なフォームのデータを、クライアントへ送信することが
望ましい。
Therefore, it would be desirable to have a system that supports distributed management of client configurations by storing this type of configuration information in a central repository. This allows the network administrator to manage the subsystem configuration from the server and propagate all changes to the application from the server.
It would be desirable for a network user to be able to log on to each of a plurality of different clients and to have access to the user's personal preferences and profiles on any client on the network. It is further desirable to have a method that allows data to be transferred from a server to a client in an efficient and fully functional manner. In addition, it is desirable to send data to the client in a compact, compact form so that the client does not receive duplicate data.

【0008】[0008]

【発明の概要】本発明の目的を達成すべく、ネットワー
ク内の複数のコンピュータ間におけるデータの格納及び
交換を実施するためのデータ・フレームワーク及び関連
するプロトコルを形成する方法、装置及びコンピュータ
読み取り可能媒体を開示する。本発明の1つの態様に基
づき、ルート・ノード層と、中間ノード層と、コンフィ
ギュレーション・データを格納するデータ層とを含むn
分岐ツリー構造を有するデータ・スキーマを開示する。
中間ノード層はコンピュータ・ネットワークのコンポー
ネント及び様々な特徴に関するカテゴリカル情報を含む
多数のノードを有する。ツリー構造において、各中間ノ
ード及びルート・ノードは、その下に連なる複数のノー
ドへの分岐を有する。これらの下位ノードは子ノードと
称される。データ・ノード層はツリーの最下位に位置
し、かつコンピュータ・ネットワークのコンポーネント
及び他の特徴に関する実際の固有コンフィギュレーショ
ン・データを含む。複数の中間ノード及びデータ・ノー
ドのうちの特定の一部は永続メモリ領域を形成してい
る。永続メモリ領域を形成しているデータ・ノード内の
実際の固有コンフィギュレーション・データは、クライ
アント・コンピュータまたはサーバ・コンピュータ上で
変更され、かつサーバ・コンピュータ上に格納される。
これによって、関連する固有情報は不揮発性となり、か
つ多数のクライアント・コンピュータによるアクセスが
可能である。
SUMMARY OF THE INVENTION To achieve the objects of the present invention, a method, apparatus and computer readable form a data framework and associated protocols for implementing data storage and exchange between a plurality of computers in a network. Disclose a medium. In accordance with one aspect of the invention, an n including a root node layer, an intermediate node layer, and a data layer for storing configuration data.
A data schema having a branch tree structure is disclosed.
The middle node layer has a number of nodes that contain categorical information about components and various features of the computer network. In the tree structure, each intermediate node and root node has a branch to a plurality of nodes below it. These lower nodes are called child nodes. The data node layer is located at the bottom of the tree and contains the actual unique configuration data for components and other features of the computer network. Certain of the plurality of intermediate nodes and data nodes form a persistent memory area. The actual specific configuration data in the data nodes forming the persistent memory area is modified on a client or server computer and stored on a server computer.
This makes the associated unique information non-volatile and accessible by multiple client computers.

【0009】本発明の1つの実施形態では、データ・ス
キーマ、即ち、データ・フレームワークはクライアント
・コンピュータ上に存在するクライアント・スキーマ・
サブコンポーネントと、1つ以上のサーバ・コンピュー
タ上に存在するサーバ・スキーマ・サブコンポーネント
とを含む。別の実施形態では、ユーザ・プリファレンス
(ユーザ設定)及びプロフィールをサーバ・スキーマ内
へ格納する。これによって、ネットワーク上のユーザは
ネットワーク上の複数のクライアント・コンピュータの
うちの任意の1つを使用し、かつユーザ自身のプリファ
レンスへアクセスすることが可能になる。更に、クライ
アント・コンピュータ・プラットフォーム及びプロフィ
ールの情報はサーバ・スキーマ内に格納される。更に別
の実施形態では、前記の永続メモリ領域は多数のデータ
・エントリを含み、各データ・エントリは名前と、関連
するノードのリストと、プロパティ名と、関連するプロ
パティ値とを有する。
In one embodiment of the present invention, the data schema, ie, the data framework, is a client schema that resides on a client computer.
Includes subcomponents and server schema subcomponents residing on one or more server computers. In another embodiment, user preferences (user settings) and profiles are stored in a server schema. This allows a user on the network to use any one of the plurality of client computers on the network and access their own preferences. In addition, client computer platform and profile information is stored in the server schema. In yet another embodiment, the persistent memory area includes a number of data entries, each data entry having a name, a list of associated nodes, a property name, and an associated property value.

【0010】本発明の別の態様では、サーバ・コンピュ
ータを有するコンピュータ・ネットワーク内のクライア
ント・コンピュータに関する情報をアレンジし、かつ格
納するためのデータ・スキーマを開示する。データ・ス
キーマはルート・ノードと、中間ノードを有する多数の
中間ノード・レベルとを含む。各中間ノードはコンピュ
ータ・ネットワーク及びクライアント・コンピュータに
関するカテゴリカル情報を示す、即ち、格納している。
更に、スキーマは中間ノード内のカテゴリカル情報に対
応する実際のコンフィギュレーション情報を含む。クラ
イアント・コンピュータを起動し、かつネットワークへ
接続した際に決定された様々なプロフィール及びプリフ
ァレンスに対するクライアント・コンピュータの適合
を、クライアント・コンピュータ上に存在するカテゴリ
カル情報及びコンフィギュレーション情報は可能にす
る。
In another aspect of the present invention, a data schema for arranging and storing information about client computers in a computer network having server computers is disclosed. The data schema includes a root node and a number of intermediate node levels with intermediate nodes. Each intermediate node indicates, or stores, categorical information about the computer network and client computers.
Further, the schema contains the actual configuration information corresponding to the categorical information in the intermediate nodes. The categorical and configuration information present on the client computer allows the client computer to adapt to the various profiles and preferences determined when the client computer was started and connected to the network.

【0011】1つの実施形態では、多数の中間ノード・
レベルは複数のトップ中間ノードを有するトップ中間ノ
ード・レベルを含む。各トップ中間ノードは多数のデー
タ・エントリを有するデータスペースを形成している。
別の実施形態では、複数のデータスペースのうちのソフ
トウェア・データスペースと称されるデータスペースは
永続データスペースである。クライアント・コンピュー
タを切った際、即ち、機能停止した際、この永続データ
スペースはデータスペース内のデータ・エントリの保存
を可能にする。
In one embodiment, a number of intermediate nodes
The level includes a top intermediate node level having a plurality of top intermediate nodes. Each top intermediate node forms a data space having a number of data entries.
In another embodiment, the data space of the plurality of data spaces, referred to as software data space, is a persistent data space. When the client computer is turned off, i.e., shut down, this persistent data space allows the saving of data entries in the data space.

【0012】本発明の別の態様では、データ・スキーマ
を格納するサーバ・コンピュータを有するコンピュータ
・ネットワーク内の多数のクライアント・コンピュータ
に関するコンフィギュレーション情報をアレンジし、か
つ格納するためのデータ・スキーマを開示する。このデ
ータ・スキーマはルート・ノードと、複数の中間ノード
を有する多数の中間ノード・レベルとを含む。各中間ノ
ードはコンピュータ・ネットワークと、このコンピュー
タ・ネットワーク上のクライアント・コンピュータとに
関するカテゴリカル情報を示す、即ち、格納する。更
に、データ・スキーマのデータ・レベル内に配置された
中間ノード内のカテゴリカル情報に対応する実際のコン
フィギュレーション情報をデータ・スキーマはさらに含
む。カテゴリカル情報及びコンフィギュレーション情報
は、サーバ・コンピュータ上に存在し、これによって、
クライアント・コンピュータからのリクエストを受けた
際、サーバ・コンピュータがクライアント・コンピュー
タ・プロフィール及びプリファレンスを伝播することを
可能にする。
In another aspect of the present invention, a data schema for arranging and storing configuration information for a number of client computers in a computer network having a server computer storing the data schema is disclosed. I do. The data schema includes a root node and a number of intermediate node levels having a plurality of intermediate nodes. Each intermediate node indicates, or stores, categorical information about the computer network and client computers on the computer network. In addition, the data schema further includes actual configuration information corresponding to the categorical information in the intermediate nodes located within the data level of the data schema. The categorical information and the configuration information reside on the server computer, whereby
Upon receipt of a request from a client computer, it allows the server computer to propagate the client computer profile and preferences.

【0013】1つの実施形態では、多数の中間ノード・
レベルは複数のトップ中間ノードを有するトップ中間ノ
ード・レベルを含む。各トップ中間ノードは多数のデー
タ・エントリを有するデータスペースを形成している。
別の実施形態では、2つのデータスペース、即ち、マシ
ン・データスペース及びユーザ・データスペースが存在
し、これら2つのデータスペースは永続データスペース
である。クライアント・コンピュータを切った際、即
ち、機能停止した際、これらの永続データスペースはそ
の中に含まれるデータ・エントリの保存を可能にする。
別の実施形態では、マシン・データスペースはネットワ
ーク上に存在する多数のコンピュータ・タイプに関する
コンピュータ・コンフィギュレーション・データを格納
する。そして、ユーザ・データスペースはコンピュータ
・ネットワークへアクセスするために登録した多数のユ
ーザに関するユーザ・コンフィギュレーション・データ
を格納する。
In one embodiment, a number of intermediate nodes
The level includes a top intermediate node level having a plurality of top intermediate nodes. Each top intermediate node forms a data space having a number of data entries.
In another embodiment, there are two data spaces, a machine data space and a user data space, and these two data spaces are persistent data spaces. When the client computer is turned off, i.e., shut down, these persistent data spaces allow the storage of the data entries contained therein.
In another embodiment, the machine data space stores computer configuration data for a number of computer types residing on a network. The user data space stores user configuration data for a number of registered users for accessing the computer network.

【0014】本発明の別の態様では、コンピュータ・ネ
ットワーク上で伝送するデータを準備するための方法、
装置及びコンピュータ読み取り可能媒体を提供する。ク
ライアント・コンピュータのプロフィール及びプラット
フォームに関する値を含むデータ・セットを、サーバ・
コンピュータ上で検索する。更に、クライアント・コン
ピュータを使用するユーザのユーザ・プリファレンス及
びユーザ・グループに関する値を含む別のデータ・セッ
トを、サーバ・コンピュータ上で検索する。これら2つ
のデータ・セットは特定のクライアント・コンピュータ
へログオンするユーザに対応している点で互いに関連し
ている。2つのデータ・セット内のデータ・アイテムを
プロパティ毎に関連付けすることによって、データ・ア
イテム・コレスポンデンス(data item correspondenc
e)が形成される。複数のデータ・カテゴリ間における
優先順位のリストを含む一連のルールを、データ・アイ
テム・コレスポンデンスへ適用する。ファイナル・デー
タ・セットは前記の一連のルールをデータ・アイテム・
コレスポンデンスへ適用することによって得られ、かつ
ネットワークを通じて目的のコンピュータへ送信され
る。ファイナル・データ・セットをネットワークを通じ
て送信することによって、送信するデータ量を最初の2
つのデータ・セットをそのまま全て送信した場合のデー
タ量よりも低減できる。
In another aspect of the invention, a method for preparing data for transmission over a computer network is provided.
An apparatus and a computer-readable medium are provided. A data set containing values for the profile and platform of the client computer
Search on computer. In addition, another data set is retrieved on the server computer that contains values for the user preferences and user groups of the user using the client computer. These two data sets are related to each other in that they correspond to a user logging on to a particular client computer. By associating the data items in the two data sets for each property, data item correspondence
e) is formed. A set of rules, including a list of priorities among multiple data categories, is applied to the data item correspondence. The final data set defines the above set of rules as a data item
Obtained by applying to correspondence and transmitted over the network to the target computer. By sending the final data set over the network, the amount of data to send
It is possible to reduce the amount of data when all data sets are transmitted as they are.

【0015】1つの実施形態では、接続がクライアント
・コンピュータ及びサーバ・コンピュータの間で確立さ
れる。クライアント・プロフィールはクライアント・コ
ンピュータからサーバ・コンピュータへ送信される。別
の実施形態では、前記の一連のルールは、プリファレン
スの順位を含む。最初の2つのデータ・セットにそれぞ
れ含まれるデータ・アイテムの中からファイナル・デー
タ・セット内へ含めるデータ・アイテムを決定するため
に、この順位は使用される。別の実施形態では、クライ
アント・コンピュータはネットワーク・コンピュータで
ある。
[0015] In one embodiment, a connection is established between a client computer and a server computer. The client profile is sent from the client computer to the server computer. In another embodiment, the set of rules includes a preference ranking. This ranking is used to determine which data items to include in the final data set from among the data items respectively included in the first two data sets. In another embodiment, the client computer is a network computer.

【0016】本発明の更に別の態様では、サーバ・コン
ピュータを有するネットワーク内のコンピュータのコン
フィギュレーションを設定するための方法、装置及びコ
ンピュータ読み取り可能媒体を提供する。プロフィール
を有するコンピュータと、サーバ・コンピュータとの間
の接続を確立する。前記のコンピュータのプロフィール
をサーバへ送信する。次いで、サーバのコントロール下
で格納されたコンフィギュレーション情報を、サーバは
前記のプロフィールに基づいて検索する。サーバ上で検
索され、かつコンピュータへ送信されたコンフィギュレ
ーション情報に基づいて、コンピュータのコンフィギュ
レーションを設定する。これによって、サーバ・コンピ
ュータによるコンフィギュレーション情報の中央集中管
理を促進する。
In yet another aspect of the present invention, there is provided a method, apparatus and computer readable medium for configuring a computer in a network having a server computer. Establish a connection between the computer with the profile and the server computer. Sending the computer profile to the server; The server then searches for configuration information stored under the control of the server based on the profile. Set the computer configuration based on the configuration information retrieved on the server and sent to the computer. This facilitates centralized management of configuration information by the server computer.

【0017】1つの実施形態では、プロフィールはクラ
イアント・コンピュータに関するハードウェア情報と、
そのクライアント・コンピュータのユーザに関する情報
とを含む。別の実施形態では、クライアント・コンピュ
ータ及びサーバ・コンピュータは、これら2つのコンピ
ュータ間でのデータ交換に使用するソフトウェアのバー
ジョン情報を交換する。使用するソフトウェアの正確な
バージョンはサーバ・コンピュータによって決定され
る。更に別の実施形態では、クライアント・コンピュー
タはネットワーク・コンピュータである。更に別の実施
形態では、サーバ・コンピュータはネットワーク上の多
数のクライアント・コンピュータと、クライアント・コ
ンピュータを使用するために登録したユーザとに関する
コンフィギュレーション情報を格納する。
In one embodiment, the profile includes hardware information about the client computer,
And information about the user of the client computer. In another embodiment, the client computer and the server computer exchange software version information used to exchange data between the two computers. The exact version of the software used is determined by the server computer. In yet another embodiment, the client computer is a network computer. In yet another embodiment, the server computer stores configuration information about a number of client computers on the network and users who have registered to use the client computers.

【0018】本発明とその更なる効果は添付図面に基づ
く以下の説明から最もよく理解できる。
The invention and its further advantages can best be understood from the following description with reference to the accompanying drawings, in which:

【発明の実施の形態】本発明の好ましい実施形態を以下
に詳述する。好ましい実施形態の一例を添付図面に示
す。本発明を好ましい実施形態に関連して詳述するが、
これは本発明を1つの好ましい実施形態に制限すること
を意図するものではない。逆に、請求の範囲に定義する
本発明の趣旨及び範囲に含まれる変形例、改良例及び等
価例を包含することを意図する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described in detail below. One example of a preferred embodiment is shown in the accompanying drawings. Although the present invention is described in detail in connection with a preferred embodiment,
This is not intended to limit the invention to one preferred embodiment. On the contrary, the intent is to cover modifications, improvements and equivalents included in the spirit and scope of the invention as defined in the appended claims.

【0019】データ・フレームワーク、即ち、データ・
スキーマと、このデータ・スキーマ内のデータをコンピ
ュータ・ネットワーク内の複数のコンピュータ間で交換
するための関連するプロトコルとを複数の図面に示す。
コンフィギュレーション情報及び関連情報をシステム・
データベース内で表示し、かつ格納するための階層構
造、即ち、データ・スキーマを、本発明は開示する。本
発明の1つの実施形態を示す目的で、ジャバ・システム
・データベース(Java system database、略してJS
D)を検討する。別の好ましい実施形態では、このシス
テム・データベースは別の種類のプラットフォーム上で
のオペレーションが可能である。本実施形態のJSD
は、少なくとも2つの主要サブコンポーネント、即ち、
クライアント・スキーマ及びサーバ・スキーマと称され
るサブスキーマを含む単一サブシステムである。本実施
形態では、クライアントに関するデータは、クライアン
ト・メモリ内に存在するクライアント・スキーマに格納
される。各クライアントのコンフィギュレーション・デ
ータはネットワーク・サーバ上に存在するサーバ・スキ
ーマに格納される。コンフィギュレーション・データは
クライアント/サーバ・プロトコルを通じて2つのスキ
ーマ、即ち、2つの階層構造間で交換される。正確な情
報をサーバ・スキーマから取り出し、かつクライアント
・マシン上のクライアント・スキーマへ転送、即ち、入
力することと、逆に、情報をクライアント・スキーマか
らサーバ・スキーマへ転送することを、クライアント/
サーバ・プロトコルは保証する。サブシステムとも称さ
れる各クライアントのコンフィギュレーション情報はサ
ーバ・スキーマに格納される。これはクライアントに関
するコンフィギュレーション情報をクライアント・マシ
ン上でハードコードする、即ち、格納する従来のネット
ワークとは対照的である。ネットワーク管理者がネット
ワーク内の各コンピュータのコンフィギュレーション情
報を単一サーバなどの中央リポジトリから管理すること
を、本発明のデータ・スキーマは可能にする。従って、
サブシステム・コンフィギュレーションに関する知識及
びサブシステム・コンフィギュレーションへのアクセス
を必要とする任意のソフトウェアの更新、バージョン・
アップグレードまたは新しいアプリケーションのインス
トールを、中央リポジトリから行い、かつ各クライアン
トへ伝播できる。アプリケーションの新しいアップグレ
ードまたは新しいバージョンのインストールまたは伝播
を目的としたメインテナンスを実施するために、クライ
アント・マシン上のユーザはアプリケーションを終了す
る必要がないうえ、ネットワークをダウンさせる必要も
ない。
The data framework, ie, the data framework
Schematics and associated protocols for exchanging data in the data schema between computers in a computer network are shown in several figures.
Configuration information and related information
The present invention discloses a hierarchical structure, ie, a data schema, for display and storage in a database. For the purpose of illustrating one embodiment of the present invention, a Java system database (JS for short)
Consider D). In another preferred embodiment, the system database is capable of operation on other types of platforms. JSD of this embodiment
Has at least two major subcomponents:
It is a single subsystem that includes sub-schema called client schema and server schema. In this embodiment, data about the client is stored in a client schema that resides in the client memory. The configuration data for each client is stored in a server schema that resides on a network server. Configuration data is exchanged between two schemas, ie, two hierarchies, through a client / server protocol. The client / server is responsible for retrieving accurate information from the server schema and transferring it to the client schema on the client machine, i.e., entering, and conversely, transferring information from the client schema to the server schema.
Server protocol guaranteed. Configuration information for each client, also called a subsystem, is stored in a server schema. This is in contrast to conventional networks in which configuration information about the client is hard coded, ie, stored, on the client machine. The data schema of the present invention allows a network administrator to manage configuration information for each computer in the network from a central repository, such as a single server. Therefore,
Any software updates, versions, etc. that require knowledge of the subsystem configuration and access to the subsystem configuration
Upgrades or installations of new applications can be made from a central repository and propagated to each client. To perform maintenance aimed at installing or propagating a new upgrade or new version of an application, the user on the client machine does not need to terminate the application and need to bring down the network.

【0020】図1はコンピュータ・ネットワーク・コン
フィギュレーションのコンポーネントを示すブロック図
であり、本発明の1つの実施形態に基づくシステムワイ
ド・データ・スキーマを示す。本実施形態では、システ
ムワイド・データ・スキーマを、ネットワーク107の
一部を構成するクライアント・マシン105上に存在す
るクライアント・スキーマ103からなるジャバ・シス
テム・データベースJSD(101)として説明する。
サーバ・スキーマ111はネットワーク107の一部を
構成するサーバ・コンピュータ109上に存在する。
FIG. 1 is a block diagram illustrating components of a computer network configuration, illustrating a system-wide data schema according to one embodiment of the present invention. In the present embodiment, the system-wide data schema will be described as a Java system database JSD (101) composed of the client schema 103 existing on the client machine 105 constituting a part of the network 107.
The server schema 111 resides on a server computer 109 that forms part of the network 107.

【0021】図2は本発明の1つの実施形態に基づくク
ライアント・スキーマ階層構造103を表すn分岐ツリ
ー構造を示す。クライアント・スキーマ階層構造103
及びサーバ・スキーマ階層構造111はn分岐ツリーを
用いて示す。ルート・エントリ201がツリーのルート
に設けられている。ルート・エントリ201はデータを
全く含んでいない。更に、この階層構造内では、ルート
・エントリ201は自身を参照する唯一のノード・フレ
ームワークである。クライアント・スキーマ103内の
ノードの第1レベル203に属する一連のノードは、汎
用クライアント・スキーマ内のネームスペースをそれぞ
れ定義している。階層構造内の第1レベル203はルー
ト・エントリ201の直下にあり、かつ複数のネームス
ペース・エントリを有する。
FIG. 2 illustrates an n-branch tree structure representing a client schema hierarchy 103 according to one embodiment of the present invention. Client schema hierarchical structure 103
And the server schema hierarchy 111 is shown using an n-branch tree. A root entry 201 is provided at the root of the tree. Root entry 201 contains no data. Further, in this hierarchical structure, the root entry 201 is the only node framework that refers to itself. The set of nodes belonging to the first level 203 of the nodes in the client schema 103 each define a namespace in the generic client schema. The first level 203 in the hierarchy is directly below the root entry 201 and has a plurality of namespace entries.

【0022】本実施形態では、6つのネームスペースが
汎用クライアント・スキーマ103内に存在する。別の
好ましい実施形態では、特定のネットワーク・コンフィ
ギュレーションの要求に基づいて、これより更に多い数
または更に少ない数のネームスペースを設け得る。本実
施形態では、JSDクライアントの標準トップレベル・
ネームスペースは、ソフトウェア(SOFTWARE)、デバイ
ス(DEVICE)、インターフェース(INTERFACE)、ソフ
トウェア・コンフィギュレーション(SOFTWARECONFIGUR
ATION)、エイリアス(ALIAS)及びテンプ(TEMP.)で
ある。例えば、ソフトウェア・ネームスペースはノード
205に始まり、かつこのノード205から分岐する全
てのノード及びデータを含む。階層構造の層203に属
する固有エントリは固有ネームスペースを形成するサブ
ツリーのルートである。ソフトウェアなどの1つのネー
ムスペースに属する全てのエントリは、クライアント1
05のソフトウェア・アプリケーションのコンフィギュ
レーション・データに関するエントリである。本発明の
データ・スキーマに属する各エントリは固有名称と、子
(任意のエントリの真下のエントリ)のリストと、一連
の組(a set of tuples)とからなる。各組はプロパテ
ィ名及び関連するプロパティ値を含む。例えば、ワード
プロセッシング・プログラムでは、プロパティ名を“フ
ォント”とし、プロパティ値をパレンティノ(Palentin
o)とし得る。同様に、デバイス・ネームスペース20
7の下に位置する全てのエントリは、クライアント・ス
キーマ103を有するクライアント・マシン105のコ
ンフィギュレーション情報に関するエントリである。階
層構造内の各エントリはサブツリー内のエントリとして
機能するとともに、下位エントリ、即ち、子ノードを有
するサブツリーのルートとしても機能する。層203内
の各ネームスペースは本願に対応する米国出願と同じ日
に仮出願され、かつ同じ譲受人へ譲渡されたジャバ・シ
ステム・データベース(JAVA SYSTEM DATABASE)と称さ
れる出願に開示されており、この出願の内容は本開示を
もって本明細書中に開示したものとする。
In this embodiment, there are six namespaces in the generic client schema 103. In another preferred embodiment, more or less namespaces may be provided based on the requirements of a particular network configuration. In this embodiment, the standard top-level JSD client
Namespaces are software (SOFTWARE), device (DEVICE), interface (INTERFACE), software configuration (SOFTWARECONFIGUR)
ATION), an alias (ALIAS) and a temp (TEMP.). For example, the software namespace includes all nodes and data that start at and branch off from node 205. The unique entry belonging to the layer 203 of the hierarchical structure is the root of a subtree forming a unique namespace. All entries belonging to one namespace, such as software,
05 is an entry relating to configuration data of the software application 05. Each entry belonging to the data schema of the present invention consists of a unique name, a list of children (the entry immediately below any entry), and a set of tuples. Each set contains a property name and an associated property value. For example, in a word processing program, the property name is "font" and the property value is Palentin.
o). Similarly, device namespace 20
7 are all entries relating to configuration information of the client machine 105 having the client schema 103. Each entry in the hierarchical structure functions as an entry in the subtree, and also functions as a lower entry, that is, a root of the subtree having child nodes. Each namespace in layer 203 is disclosed in an application referred to as the JAVA SYSTEM DATABASE filed on the same day as the corresponding US application and assigned to the same assignee. The content of this application is disclosed herein with this disclosure.

【0023】図2に示すように、ツリー内の各エントリ
は単一の親を有し、かつ幾つかの子ノードを有する。ソ
フトウェア・ネームスペース209などのネームスペー
スは、クライアント105などの特定のクライアントの
ソフトウェア上のコンフィギュレーション・データに関
する複数のエントリを含む特別に指定されたサブツリー
である。図2に示すように、本実施形態では、各ネーム
スペースはスーパー・ルートとも称されるルート・エン
トリの直下に常に位置する。別の好ましい実施形態で
は、ネームスペースを階層構造の別のレベルで形成可能
であり、ネームスペースをルート201の直下に配置す
る必要はない。JSDスキーマ・クライアントの標準ネ
ームスペースはクライアント・コンピュータのスタート
アップ、即ち、ブーティング・プロシージャ中に形成さ
れる。本実施形態の各ネームスペースはジャバ・プラッ
トフォームの全てのインプリメンテーションで使用可能
である。6つのネームスペースはジャバ・プラットフォ
ームが初期化する周知のネームスペースである。他の動
的に構築されたネームスペースを標準データベース・ネ
ームスペースへ初期化後に追加しても良い。
As shown in FIG. 2, each entry in the tree has a single parent and has several child nodes. A namespace, such as software namespace 209, is a specially designated subtree that contains multiple entries for configuration data on software for a particular client, such as client 105. As shown in FIG. 2, in this embodiment, each namespace is always located immediately below a root entry, also called a super root. In another preferred embodiment, the namespace can be formed at another level of the hierarchy, and the namespace need not be located directly below the root 201. The standard namespace of the JSD schema client is created during the startup of the client computer, ie during the booting procedure. Each namespace of this embodiment is available for all implementations of the Java platform. The six namespaces are well-known namespaces initialized by the Java platform. Other dynamically constructed namespaces may be added to the standard database namespace after initialization.

【0024】各ネームスペースはデフォルト・ネームス
ペース・マネージャによって管理される。ネームスペー
ス・マネージャはエントリをネームスペース内で格納す
る方法及びこのエントリへアクセスする方法をコントロ
ールする。更に、ネームスペース・マネージャはネーム
スペース内の任意のエントリのセキュリティ属性、記憶
装置属性及びオーナーシップ属性をエクスポートする標
準インターフェースを提供する。
Each namespace is managed by a default namespace manager. The namespace manager controls how entries are stored and accessed in the namespace. In addition, the namespace manager provides a standard interface for exporting the security, storage and ownership attributes of any entry in the namespace.

【0025】例えば、ソフトウェア・ネームスペース2
09は、インストール済みシステム・サービス及び/ま
たは使用可能システム・サービスのリストを有する。こ
のシステム・サービスの例としては、デバイス・ドライ
バ、ユーザー・アプリケーション及びユーザー・コンフ
ィギュレーション情報が挙げられる。サーバがソフトウ
ェア・ネームスペース内の全てのエントリに対するバッ
クアップ・ストアを提供するため、ソフトウェア・ネー
ムスペースはクライアント・スキーマ内の唯一の永続ネ
ームスペースである。一時ネームスペースとは逆の意味
を有する永続ネームスペース、即ち、永続エントリは永
続記憶場所への保存を要するエントリである。永続エン
トリの例としては、永続記憶装置への格納を要するユー
ザ環境に関するコンフィギュレーション情報が挙げられ
る。ユーザがログオンする際、環境を再設定する手間を
省くために、ユーザが前回保存した環境を検索する必要
がある。永続エントリは永久記憶場所への保存及び永久
記憶場所からの検索が可能なエントリである。ネームス
ペース形成時に、永続ネームスペース及び一時ネームス
ペースは静的に分離される。永続エントリが一時ネーム
スペース内に存在することと、一時エントリが永続ネー
ムスペース内に存在することの少なくともいずれか一方
は許されない。本実施形態では、永続エントリはリモー
トJSDサーバに格納される。本実施形態では、4つの
カテゴリ、即ち、アプリケーション(application)、
システム(system)、サービス(service)及びパブリ
ック(public)がソフトウェア・ネームスペースの下に
存在する。ジャバ・プラットフォームを使用する本実施
形態では、ソフトウェア・ネームスペースに含まれる幾
つかのエントリはジャバ固有の命名法を使用して形成さ
れ、ジャバとは無関係な他のエントリは特定のアプリケ
ーションに基づく命名法を使用して形成される。本実施
形態では、アイ・ビー・エム(IMB)、サン(Sun)また
はロータス(Lotus)などの企業名はそれぞれcom.IBM、
com.Sun及びcom.Lotusなどの名前を与えられている。こ
れらの企業名は企業固有情報を特徴づける。企業エント
リの下のエントリ名は企業固有のものである。
For example, software namespace 2
09 has a list of installed system services and / or available system services. Examples of this system service include device drivers, user applications, and user configuration information. The software namespace is the only persistent namespace in the client schema because the server provides a backup store for all entries in the software namespace. A persistent namespace, which has the opposite meaning of a temporary namespace, ie, a persistent entry, is an entry that needs to be stored in a permanent storage location. An example of a persistent entry is configuration information about a user environment that needs to be stored in persistent storage. When the user logs on, it is necessary to search the environment previously saved by the user in order to save the trouble of resetting the environment. A permanent entry is an entry that can be saved to and retrieved from a permanent storage location. When a namespace is created, the permanent namespace and the temporary namespace are statically separated. It is not allowed that the permanent entry exists in the temporary namespace and / or that the temporary entry exists in the permanent namespace. In this embodiment, the permanent entry is stored in the remote JSD server. In the present embodiment, there are four categories: application,
Systems, services, and public exist under the software namespace. In this embodiment using the Java platform, some entries in the software namespace are formed using Java-specific nomenclature, while other entries that are unrelated to Java are named based on the particular application. Formed using the method. In this embodiment, company names such as IBM (IMB), Sun or Lotus are com.IBM,
Given names such as com.Sun and com.Lotus. These company names characterize the company-specific information. The entry name under the company entry is company specific.

【0026】前記のように、本実施形態では、ソフトウ
ェア・ネームスペース209は6つのネームスペースの
うちの永続記憶を有する唯一のネームスペースである。
そして、デバイス・ネームスペース207等のその他の
ネームスペースは一時記憶を有する。クライアント・コ
ンピュータの電源を切ると、これらのネームスペース内
のエントリは消失する。これは本実施形態において事実
であり、この理由としては、これら5つの一時ネームス
ペースがクライアント・コンピュータ固有のデータを格
納する点が挙げられる。本実施形態では、ソフトウェア
・ネームスペースはコンピュータを切った後での保存を
要するアプリケーション・コンフィギュレーション情報
を含んでいる。
As described above, in the present embodiment, the software namespace 209 is the only namespace having permanent storage among the six namespaces.
And other namespaces, such as device namespace 207, have temporary storage. When the client computer is turned off, the entries in these namespaces are lost. This is the case in the present embodiment, because these five temporary namespaces store client computer specific data. In this embodiment, the software namespace contains application configuration information that needs to be saved after the computer is turned off.

【0027】4つのカテゴリ、即ち、アプリケーショ
ン、システム、サービス及びパブリックがソフトウェア
・ネームスペースの下に設けられている。アプリケーシ
ョン・カテゴリを例にとってみた場合、エントリcom.Ne
tscape213は企業の固有名称(例:ネットスケープ
(Netscape))を有し、ネットスケープの1つの製品で
あるネットスケープ・ナビゲータ(Netscape Navigato
r)のエントリがcom.Netscapeエントリ313の下に存
在する。ネットスケープ・ナビゲータに関する企業固有
情報217がエントリ215の下に存在する。
[0027] Four categories are provided under the software namespace: applications, systems, services, and public. Taking the application category as an example, the entry com.Ne
tscape 213 has a unique name of a company (eg, Netscape) and is a product of Netscape, Netscape Navigato (Netscape Navigato).
The entry of r) exists under the com.Netscape entry 313. Company specific information 217 about Netscape Navigator exists under the entry 215.

【0028】エントリ219,221,223は他のベ
ンダのエントリであり、これらのエントリはエントリ2
15に類似したエントリをそれぞれ有する。本実施形態
では、デバイス・ネームスペース225の構造は、クラ
イアント上に存在する入出力バス及びデバイスのうちの
幾つかまたは全てを示す。換言するならば、バス及びデ
バイスの物理的接続性は複数のエントリからなるツリー
として表される。そして、このツリーでは、特定のバス
が親であり、複数のリーフ・エントリは複数のデバイス
上のコンフィギュレーション・データをそれぞれ含む。
The entries 219, 221 and 223 are entries of other vendors.
It has 15 similar entries each. In this embodiment, the structure of the device namespace 225 indicates some or all of the I / O buses and devices present on the client. In other words, the physical connectivity of buses and devices is represented as a tree of entries. And, in this tree, a particular bus is a parent, and a plurality of leaf entries each include configuration data on a plurality of devices.

【0029】ソフトウェア・ネームスペースでは、階層
構造のリーフ・ノード・レベルはデータ227を有す
る。データ227はコンフィギュレーション固有のデー
タである。そして、データ227は、アプリケーション
(例:ネットスケープ・ナビゲータ)が望むリーフ・ノ
ード・レベル内の特定のデータの順位に基づいて構成さ
れている。ワードプロセッシング・アプリケーションの
場合、リーフ・ノード・エントリは、フォント、辞書定
義及び他のワードプロセッシング・タイプ・コンフィギ
ュレーション・データなどの固有情報を含み得る。
In the software namespace, the leaf node levels of the hierarchy have data 227. Data 227 is data unique to the configuration. The data 227 is configured based on the order of specific data within the leaf node level desired by the application (eg, Netscape Navigator). For word processing applications, leaf node entries may include unique information such as fonts, dictionary definitions, and other word processing type configuration data.

【0030】JSDのサーバ・スキーマ・コンポーネン
ト内の複数のネームスペースは永続記憶空間である。即
ち、これらのネームスペースはクライアント・コンピュ
ータを切った後でも存続する。本実施形態では、2つの
ネームスペース、即ち、マシン(machine)及びユーザ
(user)がサーバ・スキーマ内に存在する。図3は本発
明の1つの実施形態に基づくJSDサーバ・スキーマの
構造を示すブロック図である。このブロック図は図1の
サーバ・コンピュータ109及びサーバ・スキーマ11
1の詳細を示す。ルート・エントリ301(ルート・エ
ントリ301は本実施形態のコンフィギュレーション・
ネームスペースも表している)がn分岐ツリーのトップ
に位置する。前記のように、2つのネームスペースがサ
ーバ・スキーマ内に存在する。エリア303はマシン・
ノード305を有するマシン・ネームスペースを表す。
エリア307はユーザ・ノード309を有するユーザ・
ネームスペースを表す。
The multiple namespaces in the JSD server schema component are persistent storage spaces. That is, these namespaces persist even after the client computer is turned off. In this embodiment, two namespaces exist in the server schema, a machine and a user. FIG. 3 is a block diagram illustrating the structure of a JSD server schema according to one embodiment of the present invention. This block diagram corresponds to the server computer 109 and server schema 11 of FIG.
1 is shown below. Route entry 301 (the route entry 301 is the configuration entry of the present embodiment)
Namespace is also located at the top of the n-branch tree. As mentioned above, two namespaces exist in the server schema. Area 303 is a machine
Represents the machine namespace with node 305.
Area 307 is a user with user node 309
Represents a namespace.

【0031】本実施形態では、マシン・ネームスペース
303は3つのカテゴリによって形成されている。別の
好ましい実施形態では、ネットワークのプラットフォー
ム及び要件に基づいて、マシン・ネームスペース303
は3つより更に多い数または更に少ない数のサブカテゴ
リを有し得る。3つのカテゴリ、即ち、サブレンジはプ
ラットフォーム(Platform)311、識別子(identifi
er)313及びプロフィール(profile)315であ
る。サンマイクロシステムズ及びIBMコーポレイショ
ンなどの特定のコンピュータ製造業者を指す多数のエン
トリがプラットフォーム311の下に存在する。これは
図4に詳細に示す。
In the present embodiment, the machine namespace 303 is formed by three categories. In another preferred embodiment, based on the platform and requirements of the network, the machine namespace 303
May have more or less than three subcategories. The three categories, namely, sub-ranges, are a platform (Platform) 311 and an identifier (identifi).
er) 313 and profile (315). There are a number of entries under the platform 311 pointing to specific computer manufacturers, such as Sun Microsystems and IBM Corporation. This is shown in detail in FIG.

【0032】図4はサーバ・スキーマ111内のマシン
・ネームスペース303のツリー構造を示すブロック図
である。前記のように、ベンダ固有サブレンジ401,
403がプラットフォーム311のカテゴリの下に存在
する。このレベルにおけるエントリの数はネットワーク
内で使用されているコンピュータの製造業者の数に基づ
いている。エントリ405,407で示すような多数の
エントリがcom.Sunなどの各製造業者の下に存在する。
各エントリは製造業者が製造したコンピュータの特定の
モデル、即ち、タイプを示す。例えば、コンピュータ・
タイプJDM1がcom.Sunの下に存在し、コンピュータ
・タイプNS1000及びNS2000がcom.IBMの下
に存在する。各コンピュータ・タイプ、即ち、モデルの
下には、このコンピュータのアプリケーション・コンフ
ィギュレーションを特定するリーフ・ノード409が存
在する。タイプ・サブカテゴリにおいて、リーフ・エン
トリ、即ち、リーフ・ノード内のアプリケーション・コ
ンフィギュレーション情報は、特定のコンピュータ、即
ち、親エントリに示されるコンピュータへ適用可能な全
てのコンフィギュレーションを含む。
FIG. 4 is a block diagram showing a tree structure of the machine namespace 303 in the server schema 111. As described above, the vendor specific subrange 401,
403 exists under the category of the platform 311. The number of entries at this level is based on the number of computer manufacturers used in the network. There are a number of entries under each manufacturer, such as com.Sun, as shown by entries 405,407.
Each entry indicates a particular model or type of computer manufactured by the manufacturer. For example, computer
Type JDM1 resides under com.Sun, and computer types NS1000 and NS2000 reside under com.IBM. Under each computer type, or model, is a leaf node 409 that specifies the application configuration for this computer. In the type subcategory, the leaf configuration, ie, the application configuration information in the leaf node, includes all configurations applicable to a particular computer, ie, the computer indicated in the parent entry.

【0033】識別子ルート・エントリ313を有する識
別子サブカテゴリの下には、ネットワーク107内の各
コンピュータの固有識別子411を含むエントリが存在
する。本実施形態では、各コンピュータのMACアドレ
スを固有識別子として使用する。特定のクライアント識
別子411の下のデータ413は、このクライアント識
別子411に対応する特定のコンピュータ固有のアプリ
ケーション・コンフィギュレーション情報である。識別
子411の下のコンフィギュレーション・データ413
は特定のユーザがコンフィギュレーションを設定した特
定のコンピュータへ適用される。このため、このコンフ
ィギュレーション・データ413はプラットフォーム・
カテゴリの下のコンフィギュレーション・データ409
と区別し得る。本実施形態では、識別子カテゴリの下の
複数の固有識別子411と、プラットフォーム・カテゴ
リの下の複数のエントリとの間には、相互参照(図示
略)が存在する。即ち、特定の識別子から特定の種類の
コンピュータへの参照、即ち、リファレンスが存在す
る。特定の固有識別子が示すプラットフォーム、即ち、
コンピュータの種類をサーバが決定することを、これは
可能にする。
Under the identifier subcategory having the identifier root entry 313, there is an entry including the unique identifier 411 of each computer in the network 107. In this embodiment, the MAC address of each computer is used as a unique identifier. Data 413 below the specific client identifier 411 is specific computer-specific application configuration information corresponding to the client identifier 411. Configuration data 413 under identifier 411
Applies to the specific computer for which the specific user has configured the configuration. Therefore, this configuration data 413 is stored in the platform
Configuration data 409 under category
Can be distinguished. In the present embodiment, a cross-reference (not shown) exists between a plurality of unique identifiers 411 under the identifier category and a plurality of entries under the platform category. That is, there is a reference from a particular identifier to a particular type of computer, ie, a reference. The platform indicated by the specific unique identifier, that is,
This allows the server to determine the type of computer.

【0034】プロフィール・ルート・エントリ315を
有するプロフィール・カテゴリの下には、ネットワーク
内のコンピュータの特定のカテゴリまたは用途を示す複
数のエントリが存在する。企業内の部門などを示し得る
特定のプロフィールに関するコンフィギュレーション情
報はプロフィールのサブカテゴリの下に含まれ得る。こ
れらの例としては、2つのノード415,417が挙げ
られ、これら2つのノード415,417はファイナン
ス(Finance)及びセールス(Sales)のプロフィールを
それぞれ表す。ファイナンス・ノード415の下には、
ファイナンス・プロフィールに関するデータを含むアプ
リケーション固有データ419が存在する。固有識別子
からプラットフォーム・エントリへのリファレンスと同
じように、固有識別子からプロフィール・エントリへの
リファレンスも存在する(適用可能な場合)。即ち、経
理部で使用するコンピュータまたは受付係ターミナルと
してのみ使用するコンピュータなどのように、特定のコ
ンピュータが特定のプロフィールを有する場合、このコ
ンピュータの識別子から適切なプロフィール・エントリ
へのリファレンスが存在する。
Below the profile category having a profile root entry 315 are a plurality of entries that indicate a particular category or use of a computer in the network. Configuration information for a particular profile, which may indicate a department within the enterprise, etc., may be included under the profile sub-category. Examples of these are two nodes 415, 417, which represent profiles of Finance and Sales, respectively. Below the finance node 415,
There is application specific data 419 that contains data about the finance profile. As with references from unique identifiers to platform entries, there are also references from unique identifiers to profile entries (where applicable). That is, if a particular computer has a particular profile, such as a computer used in the accounting department or a computer used only as a receptionist terminal, there is a reference from this computer identifier to the appropriate profile entry.

【0035】図5は本発明の1つの実施形態に基づくユ
ーザ・ネームスペースを示すブロック図である。本実施
形態では、ユーザ・ネームスペース307は2つのカテ
ゴリ、即ち、ユーザ(users)及びグループ(groups)
を有する。ユーザ・ノード(users node)317はノー
ド501,503,505などのコンピュータ・ネット
ワーク上の各ユーザの名前を表す。各ユーザのノードの
下には、符号507で示すような各ユーザのパーソナル
・プリファレンスを含む固有コンフィギュレーション・
データが存在する。例えば、ワードプロセッシング・ア
プリケーションでは、特定のユーザ・プリファレンスは
デフォルトのフォント及びドキュメントのサイズであり
得る。各ユーザがネットワーク107上の任意のコンピ
ュータを使用し、かつこのコンピュータ上で自身のパー
ソナル・コンフィギュレーションを使用することを、こ
のカテゴリは可能にする。例えば、このユーザがワード
プロセッシング・プログラムを起動した場合、そのユー
ザのプリファレンスがコンピュータの通常のユーザのデ
フォルトに代わってデフォルトとなる。ユーザ・ネーム
スペース内のもう一方のカテゴリはグループ・ノード
(groups node)319を有するグループ・カテゴリで
ある。このカテゴリは特定のユーザのグループに関する
エントリを含む。グループは様々なカテゴリを含み得
る。この例としては、ノード509,511に示すよう
な企業内の部門、即ち、企業内の各従業員を他の従業員
と区別するカテゴリが挙げられる。本実施形態では、ユ
ーザ・カテゴリ317の下の各ユーザ503,505か
ら1つ以上の特定のグループへの参照ポインタが存在す
る(適切な場合)。
FIG. 5 is a block diagram illustrating a user namespace according to one embodiment of the present invention. In the present embodiment, the user namespace 307 has two categories: users and groups.
Having. A users node 317 represents the name of each user on the computer network, such as nodes 501, 503, 505. Under each user's node is a unique configuration file containing each user's personal preferences, as shown at 507.
Data exists. For example, in a word processing application, certain user preferences may be the default font and document size. This category allows each user to use any computer on the network 107 and use his or her personal configuration on this computer. For example, if the user launches a word processing program, that user's preferences become defaults instead of the defaults of a normal user of the computer. The other category in the user namespace is a group category with a groups node 319. This category contains entries for specific groups of users. Groups may include various categories. An example of this is a department in a company as shown by nodes 509 and 511, that is, a category that distinguishes each employee in the company from other employees. In this embodiment, there is a reference pointer from each user 503, 505 under user category 317 to one or more specific groups (if appropriate).

【0036】本発明では、複数の図に示すクライアント
/サーバ・プロトコルに基づいて、データはコンピュー
タ・ネットワーク内のクライアント及びサーバの間で交
換される。図1のクライアント105及びサーバ109
の間に位置する矢印108で示すこのプロトコルは、ク
ライアント及びサーバの間における接続の確立及びデー
タの交換を行うための一連のルール及びプロシージャで
ある。本実施形態におけるサーバは様々なプロトコルを
使用する外部サービス及び記憶媒体との間におけるデー
タ交換及びコミュニケーションが可能である。JSDサ
ーバがサポートするプロトコルは、サーバのバックエン
ドに位置する様々な永続プロトコルである。その一方、
永続記憶装置、データ・レジストリ、ファイル・サーバ
及びデータ・ディレクトリなどの外部エンティティ及び
JSDサーバの間のデータ交換を実施するために、JS
Dサーバは多数の様々なプロトコルをサポート可能であ
り、JSDクライアント及びJSDサーバの間のクライ
アント/サーバ・プロトコルはこれらの様々なプロトコ
ルをサポートする十分な汎用性及び幅を有する。このよ
うな状況において、クライアント/サーバ・プロトコル
は小さな“フットプリント”を含むべく設計されてい
る。サーバへ接続された外部エンティティとの間におけ
る通信に必要な複数のプロトコルを管理する複雑な仕組
みを設けることにより、これらのプロトコルを管理する
負担を各クライアントへ課することがなくなる。従っ
て、以上詳述したモデルは2本タイヤ・モデルであり、
第1タイヤはJSDクライアント及びJSDサーバの間
における本発明のクライアント/サーバ・プロトコルで
あり、第2タイヤはJSDサーバと、様々な外部サービ
ス及びデータ記憶エンティティとがサポートする複数の
プロトコルである。
In the present invention, data is exchanged between clients and servers in a computer network based on the client / server protocols shown in the figures. Client 105 and server 109 in FIG.
This protocol, shown by arrow 108, is a set of rules and procedures for establishing connections and exchanging data between clients and servers. The server in the present embodiment can exchange data and communicate with external services and storage media using various protocols. The protocols supported by the JSD server are various persistent protocols located at the back end of the server. On the other hand,
To implement data exchange between external entities such as persistent storage, data registries, file servers and data directories and JSD servers, JS
The D server can support a number of different protocols, and the client / server protocol between the JSD client and the JSD server is sufficiently versatile and flexible to support these different protocols. In such situations, the client / server protocol is designed to include a small "footprint". By providing a complicated mechanism for managing a plurality of protocols necessary for communication with an external entity connected to the server, the burden of managing these protocols is not imposed on each client. Therefore, the model detailed above is a two-tire model,
The first tire is the client / server protocol of the present invention between the JSD client and the JSD server, and the second tire is a plurality of protocols supported by the JSD server and various external services and data storage entities.

【0037】図6〜図8はクライアント及びサーバの間
の接続を確立し、次いで、コンフィギュレーション情報
を交換する本発明の1つの実施形態に基づくプロセスを
示すフローチャートである。図6のステップ601で
は、コンピュータ・ネットワーク内のクライアント・コ
ンピュータは、ネットワークとの間のコミュニケーショ
ン・リンクの開設を試みる。このステップでは、サーバ
へ接続するために、クライアントはディスカバリ・パケ
ットをネットワークへ送信する。本実施形態では、この
データ・パケットはクライアントの情報を含むDHCP
(ダイナミック・ホスト・コンフィギュレーション・プ
ロトコル)ディスカバリ・パケットである。ステップ9
03では、ネットワーク・サーバはディスカバリ・パケ
ットを受信する。本実施形態では、クライアント・コン
ピュータはクライアント・スキーマ103を有し、サー
バ・コンピュータは図1において詳述したJSD101
を全体で定義するサーバ・スキーマ111を有する。ス
テップ605では、サーバ・コンピュータはディスカバ
リ・パケットの送信者のIPアドレス(固有識別子の1
つの例)を読み取る。本実施形態では、IPアドレスは
データ・パケットを送信するクライアントの固有識別子
として使用される。別の好ましい実施形態では、MAC
IDなどの別の識別子を固有識別子として使用でき
る。
FIGS. 6-8 are flowcharts illustrating a process for establishing a connection between a client and a server and then exchanging configuration information according to one embodiment of the present invention. In step 601 of FIG. 6, a client computer in the computer network attempts to open a communication link with the network. In this step, the client sends a discovery packet to the network to connect to the server. In this embodiment, this data packet is a DHCP packet containing client information.
(Dynamic Host Configuration Protocol) Discovery packet. Step 9
At 03, the network server receives the discovery packet. In this embodiment, the client computer has a client schema 103, and the server computer has the JSD 101 described in detail in FIG.
Is defined as a whole. In step 605, the server computer sends the IP address of the sender of the discovery packet (the unique identifier 1).
Read two examples). In this embodiment, the IP address is used as a unique identifier of the client sending the data packet. In another preferred embodiment, the MAC
Another identifier, such as an ID, can be used as the unique identifier.

【0038】ステップ607では、クライアントがサー
バとの間の接続を確立したことを告げるパケットを、サ
ーバはクライアントへ送信する。クライアントがサーバ
と現在通信中であることを、サーバはクライアントへ実
質的に伝える。ステップ609では、クライアントはネ
ゴシエーション・データ・パケットをサーバへ送信す
る。このステップは図9において詳述する。ネゴシエー
ション・パケットの目的は、クライアント及びサーバ間
の通信に使用するソフトウェアのバージョンを確定する
ことにある。ソフトウェアのバージョンを確定した後、
クライアントは自身の固有プロフィール情報をステップ
611においてサーバへ送信する。多くの例において、
一般的に、この固有プロフィール情報はクライアントの
PROMへハードコードされている。例えば、クライア
ントの固有プロフィール情報は、サンJDM1ワークス
テーションまたはIBM NS1000コンピュータな
どのコンピュータのタイプを含み得る。サーバがプロフ
ィール情報をクライアントから受信した後、図3のステ
ップ613において、サーバはこのプロフィールをプラ
ットフォーム・サブカテゴリ311の下のマシン・ネー
ムスペース303内の固有プロフィールとマッチさせる
ことを試みる。サーバ・スキーマのマシン・ネームスペ
ース303はプラットフォームのカテゴリ311を有す
る。プラットフォームのカテゴリ311はコンピュータ
製造業者が製造した特定のタイプのコンピュータの固有
プロフィール情報を格納する。図7のステップ613で
は、サーバはクライアントのプロフィールをマシン・ネ
ームスペース内で探索する。ステップ615では、クラ
イアントが固有プロフィールを有するか否かを決定する
ために、サーバはクライアント固有識別子を使用する。
前記のように、マシン・ネームスペース内では、識別子
のカテゴリはネットワーク内の全てのクライアントの固
有識別子を含む。クライアントが受付係またはセールス
などの固有プロフィールを有する場合、固有識別子から
対応するプロフィールへの参照ポインタが存在する。
In step 607, the server sends a packet to the client indicating that the client has established a connection with the server. The server substantially informs the client that the client is currently communicating with the server. In step 609, the client sends a negotiation data packet to the server. This step is described in detail in FIG. The purpose of the negotiation packet is to determine the version of software used for communication between the client and server. After confirming the software version,
The client sends its unique profile information to the server in step 611. In many cases,
Typically, this unique profile information is hard-coded into the client's PROM. For example, the client's unique profile information may include the type of computer, such as a Sun JDM1 workstation or an IBM NS1000 computer. After the server receives the profile information from the client, in step 613 of FIG. 3, the server attempts to match this profile with a unique profile in machine namespace 303 under platform subcategory 311. The server schema machine namespace 303 has a platform category 311. The platform category 311 stores specific profile information for a particular type of computer manufactured by the computer manufacturer. In step 613 of FIG. 7, the server looks up the client's profile in the machine namespace. In step 615, the server uses the client unique identifier to determine whether the client has a unique profile.
As mentioned above, within the machine namespace, the category of identifiers includes the unique identifier of every client in the network. If the client has a unique profile, such as receptionist or sales, there is a reference pointer from the unique identifier to the corresponding profile.

【0039】ステップ617では、サーバはプロフィー
ル・データ(もし存在する場合)と、プラットフォーム
・データとを1つにまとめる、即ち、結合する。そし
て、サーバは1つにまとまったデータ・エントリ、即
ち、合体データ・エントリをクライアントのソフトウェ
ア・ネームスペースへ送信する。プロフィール・データ
及びプラットフォーム・データを合体するプロセスは図
10及び図11に詳細を示す。本実施形態では、コンピ
ュータのプラットフォームに関するデータは、コンピュ
ータ固有のプロフィール内のデータによってオーバーラ
イドされる(このコンピュータのコンピュータ固有プロ
フィールが存在する場合)。ステップ619では、クラ
イアントは、自身のクライアント・スキーマ103内の
ソフトウェア・ネームスペース209をサーバから送信
された合体データ・エントリで占める。このポイントに
おいて、クライアント・コンピュータのブートアップ・
ステージは完了する。
In step 617, the server merges, or combines, the profile data (if any) with the platform data. The server then sends the unified data entry, the merged data entry, to the client's software namespace. The process of merging profile data and platform data is detailed in FIGS. In this embodiment, the data for the computer platform is overridden by data in the computer-specific profile (if a computer-specific profile for this computer exists). In step 619, the client occupies the software namespace 209 in its client schema 103 with the coalesced data entry sent from the server. At this point, the client computer boots up
The stage is completed.

【0040】ステップ621では、ユーザはクライアン
ト・コンピュータへログオンし、これによって、ログオ
ン・フェイズを開始する。このポイントにおいて、ユー
ザ名がサーバへ送信される。ステップ623では、サー
バ・スキーマ内のユーザ・ネームスペース307内のコ
ンフィギュレーションを検索するために、サーバはユー
ザ名を受け入れる。前記のように、本実施形態では、サ
ーバ・スキーマ111は2つのネームスペース、即ち、
マシン・ネームスペース303及びユーザ・ネームスペ
ース307を有する。ユーザ・ネームスペースの下に
は、2つのカテゴリ、即ち、ユーザ317及びグループ
319が存在する。ステップ623では、サーバはユー
ザ名を使用してユーザ・コンフィギュレーションを探索
する。図8のステップ625では、ユーザ・エントリか
らグループ・カテゴリ内のエントリへの参照ポインタを
チェックすることにより、サーバはユーザがグループ・
ノード319によって表されるグループに属するか否か
を決定する。ステップ627では、ユーザ・コンフィギ
ュレーション・エントリ及びグループ・コンフィギュレ
ーション・エントリは単一ユーザ・エントリへ合体さ
れ、かつクライアントへ送信される。本実施形態では、
ユーザ・コンフィギュレーション・エントリ内のデータ
はユーザ・グループ・コンフィギュレーション・エント
リ内の対応する全てのデータをオーバーライドする。ユ
ーザ・エントリからのデータ及びグループ・エントリか
らのデータの合体のプロセスは図10及び図11に詳述
する。ステップ629では、クライアントはユーザ・エ
ントリを受信し、必要であれば、プラットフォーム/プ
ロフィール・エントリが以前に占めていたクライアント
・スキーマ内のソフトウェア・ネームスペース内のデー
タをオーバーライドする。本実施形態では、ステップ6
27においてクライアントへ送信されたユーザ・コンフ
ィギュレーション・エントリは、ステップ619で送信
された対応する全てのデータをオーバーライドする。本
実施形態では、クライアント・スキーマ内のソフトウェ
ア・ネームスペースは永続データを含む唯一のソフトウ
ェア・ネームスペースであるため、このソフトウェア・
ネームスペースのみがサーバから送信されたデータ、即
ち、サーバ・コンピュータ上の永久記憶装置、即ち、不
揮発性記憶装置内に存在するデータによって占められる
ことに注意する必要がある。別の好ましい実施形態で
は、別のネームスペースはコンピュータ・ネットワーク
の要求に基づいて永続データを含み得る。ステップ63
1では、クライアント・コンピュータのユーザは特定の
アプリケーションを開始可能である。このステージで
は、特定のアプリケーションの適切なコンフィギュレー
ション・データを獲得するために、クライアント・コン
ピュータのクライアント・スキーマのソフトウェア・ネ
ームスペースを探ることにより、クライアント・コンピ
ュータは前記のアプリケーションを開始可能である。こ
のステージにおいて、アプリケーションをクライアント
・コンピュータ上で実行するために必要な全てのコンフ
ィギュレーション・データがサーバからクライアントへ
転送されている。更に、クライアント・コンピュータが
使用するコンフィギュレーション・データのみが、サー
バ上で実施された合体の結果としてサーバからクライア
ントへ転送される。
In step 621, the user logs on to the client computer, thereby initiating a logon phase. At this point, the username is sent to the server. In step 623, the server accepts the username to search for a configuration in the user namespace 307 in the server schema. As described above, in the present embodiment, the server schema 111 has two namespaces:
It has a machine namespace 303 and a user namespace 307. Under the user namespace there are two categories: users 317 and groups 319. In step 623, the server looks up the user configuration using the username. In step 625 of FIG. 8, by checking the reference pointer from the user entry to an entry in the group category, the server tells the user that the
It is determined whether or not it belongs to the group represented by the node 319. In step 627, the user configuration entry and the group configuration entry are merged into a single user entry and sent to the client. In this embodiment,
The data in the user configuration entry will override any corresponding data in the user group configuration entry. The process of merging the data from the user entry and the data from the group entry is detailed in FIGS. In step 629, the client receives the user entry and, if necessary, overrides the data in the software namespace in the client schema previously occupied by the platform / profile entry. In the present embodiment, step 6
The user configuration entry sent to the client at 27 overrides any corresponding data sent at step 619. In this embodiment, the software namespace in the client schema is the only software namespace that contains persistent data,
It should be noted that only the namespace is occupied by data sent from the server, i.e., data that resides in permanent storage on the server computer, i.e., non-volatile storage. In another preferred embodiment, another namespace may include persistent data based on the requirements of the computer network. Step 63
At 1, the user of the client computer can start a particular application. At this stage, the client computer can start the application by probing the software namespace of the client computer's client schema to obtain the appropriate configuration data for the particular application. At this stage, all configuration data necessary to execute the application on the client computer has been transferred from the server to the client. Further, only configuration data used by the client computer is transferred from the server to the client as a result of the coalescing performed on the server.

【0041】図9はクライアント及びサーバの間のコミ
ュニケーション・リンクをネゴシエート、即ち、折衝す
るプロセスを示す本発明の1つの実施形態に基づくフロ
ーチャートである。このフローチャートは図6のステッ
プ609の詳細を示す。ステップ701では、クライア
ントは自身のソフトウェアのバージョン情報をサーバへ
通知する。このバージョン情報はクライアントのハード
ウェア・コンポーネントをさらに示し得る。このデータ
はTCP/IPを通じてデータ・パケットとして送信さ
れる。このステップにおいて、クライアントは自身が使
用するオペレーティング・ソフトウェアのバージョンを
サーバへ単に通知する。ステップ703では、サーバは
このバージョン情報を調べ、次いで、サーバがサポート
し得るオペレーティング・ソフトウェアのバージョンを
クライアントへ通知する。これを行うことにより、コン
フィギュレーション・データをクライアント及びサーバ
の間で交換するために使用するオペレーティング・ソフ
トウェアのバージョンをサーバは指令する。
FIG. 9 is a flowchart illustrating a process for negotiating, or negotiating, a communication link between a client and a server according to one embodiment of the present invention. This flowchart shows the details of step 609 in FIG. In step 701, the client notifies the server of version information of its software. This version information may further indicate the hardware components of the client. This data is transmitted as data packets over TCP / IP. In this step, the client simply informs the server of the version of the operating software it uses. In step 703, the server looks up this version information and then informs the client of the version of operating software that the server can support. By doing this, the server dictates the version of operating software used to exchange configuration data between the client and the server.

【0042】図10は図6のステップ617,627の
詳細を示すフローチャートである。このフローチャート
は特定のクライアントに関するサーバ上のコンフィギュ
レーション・データを合体する本実施形態のプロセスを
示す。データ・エントリ内の特定のデータ・アイテムを
別のネームスペースまたはカテゴリ内の対応するデータ
・アイテムによってオーバーライドし得るため、データ
は図11に示す階層構造に基づいて合体される。ステッ
プ801では、サーバはプラットフォーム・エントリを
自身のマシン・ネームスペース内のプラットフォーム・
サブツリーから検索する。プラットフォーム・エントリ
はクライアント・コンピュータ・タイプに関する固有情
報を含む。ステップ803では、クライアント・マシン
固有識別子からプロフィール・カテゴリ内の特定のプロ
フィールへの参照ポインタが存在するか否かをチェック
することにより、サーバはクライアントが対応するプロ
フィール・エントリを有するか否かを決定する。クライ
アントがプロフィール・エントリを有する場合、サーバ
はこのプロフィール・エントリをステップ805で検索
する。ステップ805では、このプロフィール・エント
リ内の値及びプラットフォーム・エントリ内の値を合体
する。これらのプロフィール・エントリ及びプラットフ
ォーム・エントリ内に含まれるプロパティの値は、図1
1の階層構造に基づいてプロパティ毎に合体される。本
実施形態では、プラットフォーム・エントリ内にマッチ
するプロパティ値を有するプロフィール・エントリ内の
値は、プロフィール・エントリ値によってオーバーライ
ドされる。エントリの合体はプロパティ毎に実施され
る。ステップ803において、クライアントがプロフィ
ール・エントリを有していないことが決定した場合、コ
ントロールはステップ807へ移行する。
FIG. 10 is a flowchart showing details of steps 617 and 627 of FIG. This flowchart illustrates the process of the present embodiment for merging configuration data on the server for a particular client. The data is coalesced based on the hierarchical structure shown in FIG. 11 because a particular data item in a data entry may be overridden by a corresponding data item in another namespace or category. In step 801, the server enters the platform entry into the platform entry in its machine namespace.
Search from subtree. The platform entry contains specific information about the client computer type. In step 803, the server determines whether the client has a corresponding profile entry by checking if there is a reference pointer from the client machine unique identifier to a particular profile in the profile category. I do. If the client has a profile entry, the server retrieves this profile entry in step 805. In step 805, the values in this profile entry and the platform entry are merged. The values of the properties contained in these profile and platform entries are shown in FIG.
One property is combined based on one hierarchical structure. In this embodiment, values in the profile entry that have matching property values in the platform entry are overridden by the profile entry value. Merging of entries is performed for each property. If it is determined in step 803 that the client does not have a profile entry, control passes to step 807.

【0043】ステップ807において、サーバはユーザ
・エントリをサーバ・スキーマ内のユーザ・ネームスペ
ースから検索する。ステップ809では、ログオンした
ユーザがグループ319のいずれかに属するか否かを、
サーバは決定する。ステップ811では、サーバはグル
ープ・エントリを検索する。しかし、ここでもサーバは
グループ・エントリ内の値をユーザ・エントリ内の値に
よってプロパティ毎にオーバーライドする。ステップ8
13では、サーバはステップ805からのプロフィール
/プラットフォーム・エントリ内の値を合体ユーザ・エ
ントリ内の値によってオーバーライドする。ユーザがグ
ループに属さないことをサーバがステップ809で決定
した場合、ステップ813へ移行する。ステップ815
では、クライアントへログオンするユーザに関する合体
データ・エントリはクライアント・コンピュータへ送信
され、プロセスは完了する。
At step 807, the server retrieves the user entry from the user namespace in the server schema. In step 809, it is determined whether the logged-on user belongs to any of the groups 319.
The server decides. In step 811, the server searches for a group entry. However, again, the server overrides the value in the group entry with the value in the user entry on a property-by-property basis. Step 8
At 13, the server overrides the value in the profile / platform entry from step 805 with the value in the coalescing user entry. If the server determines in step 809 that the user does not belong to the group, the process moves to step 813. Step 815
In, the coalesced data entry for the user logging on to the client is sent to the client computer and the process is complete.

【0044】図11はデータを合体するために使用する
本発明の1つの実施形態に基づく階層構造を示すブロッ
ク図である。最上位のランクに位置し、これによって、
他の全てのエントリに優先するエントリは、ブロック8
17に示すユーザ・エントリである。このエントリの下
には、次にランクの高いエントリ、即ち、ブロック81
9で示すユーザ・グループ・エントリが存在する。グル
ープ・エントリに含まれるプロパティ内の値はユーザ・
エントリ内のマッチするプロパティの値によってオーバ
ーライドされる。ブロック821はクライアント・プロ
フィール・エントリである。グループ・エントリ内のプ
ロパティの値はクライアント・プロフィール・エントリ
内のマッチするプロパティ値をオーバーライドする。本
実施形態の階層構造の最下位には、ブロック823に示
すクライアント・プラットフォーム・エントリが存在す
る。このエントリ内の値は他の3つのカテゴリのうちの
いずれか1つに含まれるマッチするプロパティの値によ
ってオーバーライドされる。別の好ましい実施形態で
は、優先順位を変更可能であり、前記の実施形態のエン
トリの数より更に多い数または更に少ない数のエントリ
を階層構造内に含み得る。
FIG. 11 is a block diagram illustrating a hierarchical structure used to coalesce data according to one embodiment of the present invention. At the highest rank,
The entry that takes precedence over all other entries is block 8
17 is a user entry shown in FIG. Below this entry, the next highest ranked entry, block 81
There is a user group entry indicated by 9. The value in the property contained in the group entry is
Overridden by the value of the matching property in the entry. Block 821 is a client profile entry. Property values in the group entry override matching property values in the client profile entry. At the bottom of the hierarchical structure of the present embodiment, there is a client platform entry shown in block 823. The value in this entry is overridden by the value of the matching property in any one of the other three categories. In another preferred embodiment, the priority can be changed and more or fewer entries in the hierarchy can be included than the number of entries in the previous embodiment.

【0045】クライアント/サーバ・プロトコルの1つ
の特徴は、ハートビート・メカニズムと称される。クラ
イアント及びサーバの間の接続が切断または中断された
際、クライアントまたはサーバが通知を受けることを、
ハートビート・メカニズムは可能にする。図12及び図
13はサーバ及びクライアントの間の接続が依然として
生きていることを示すために、信号をサーバからクライ
アントへ周期的に送信する本発明の1つの実施形態に基
づくプロセスを示すフローチャートである。一般的に、
ハートビート・メカニズムはネゴシエーション・フェイ
ズ(図9のステップ609)の直後に開始され、かつク
ライアント及びサーバの間の接続が続く限り継続され
る。クライアント及びサーバの間の接続が切断または中
断された際、クライアントまたはサーバが通知を受ける
ことは重要な特徴である。ステップ901では、サーバ
はデータ・パケットをクライアントへ送信する。これは
一般的にネゴシエーション・フェイズの直後に最初に発
生し、接続が続く限り一定のインターバルで送信され
る。本実施形態では、ハートビート・デーモンはクライ
アント及びサーバの両方で実行されるとともに、クライ
アント/サーバ・プロトコル内の実質的に1つのスレッ
ドである。別の好ましい実施形態では、ハートビート・
デーモンはサーバまたはクライアントで実行可能である
とともに、マルチスレッド・プロセスであり得る。サー
バは接続の状態情報を維持し、かつデータ・パケットを
クライアントへ送信した時刻等のデータを含む。ステッ
プ903では、クライアントからのリターン・データ・
パケット、即ち、ハートビートが存在するか否かを、サ
ーバは決定する。ステップ905では、ハートビートが
存在する場合、クライアントからのデータ・パケットは
サーバへ送信される。ステップ901において、設定さ
れた時間間隔(例:10分)の後で、サーバはデータ・
パケットをクライアントへ再び送信する。別の好ましい
実施形態では、時間間隔を、これより更に長くしたり、
あるいは、更に短くすることができる。
One feature of the client / server protocol is called a heartbeat mechanism. That the client or server will be notified when the connection between the client and server is disconnected or interrupted.
Heartbeat mechanism enables. 12 and 13 are flowcharts illustrating a process according to one embodiment of the present invention for periodically transmitting a signal from a server to a client to indicate that the connection between the server and the client is still alive. . Typically,
The heartbeat mechanism is started immediately after the negotiation phase (step 609 in FIG. 9) and continues as long as the connection between the client and server continues. It is an important feature that the client or server is notified when the connection between the client and server is disconnected or interrupted. In step 901, the server sends a data packet to the client. This generally occurs first immediately after the negotiation phase and is transmitted at regular intervals as long as the connection lasts. In this embodiment, the heartbeat daemon runs on both the client and the server and is essentially a single thread within the client / server protocol. In another preferred embodiment, the heartbeat
Daemons can execute on servers or clients and can be multi-threaded processes. The server maintains state information for the connection and includes data such as the time at which the data packet was sent to the client. In step 903, return data from the client
The server determines whether there is a packet, ie, a heartbeat. At step 905, if a heartbeat is present, the data packet from the client is sent to the server. In step 901, after a set time interval (eg, 10 minutes), the server
Send the packet to the client again. In another preferred embodiment, the time interval can be longer,
Alternatively, it can be shorter.

【0046】クライアントがデータ・パケットをサーバ
へ送り返さなかったこと、即ち、ハートビートが存在し
ないことがステップ903で確定した場合、リターン・
データ・パケットが存在しないことを表示するために、
サーバは状態情報及びストラクチャ(ディレクトリ・キ
ャッシュ)を使用する。これはステップ907で実施さ
れる。接続が切断されたことを表示するために、ダーテ
ィ・ビットを前記のストラクチャ内に配置する。ステッ
プ909では、サーバ及びクライアントは再接続を試み
る。この時点において、クライアント上での更新が必要
か否かを確認するために、サーバは自身の状態ストラク
チャ内のダーティ・ビットをチェックする。これはクラ
イアントに関するサーバ上のコンフィギュレーション情
報が変更された場合に発生し得る。ステップ911で
は、サーバはクライアント・コンフィギュレーションを
更新する。クライアントはサーバ上のディレクトリ・キ
ャッシュ状態ストラクチャに類似する状態情報を示すス
トラクチャをさらに有する。そして、このクライアント
の状態ストラクチャは更新をクライアントからサーバへ
送信すべきか否かを示すためのダーティ・ビットを含み
得る。従って、ステップ913では、更新をサーバへ送
信すべきか否かを確認するために、クライアントは自身
のダーティ・ビットをチェックする。ステップ915で
は、クライアントはサーバ・スキーマを更新する。この
ポイントにおいて、クライアント及びサーバの間の再接
続が確立され、ネゴシエーション・フェイズの完了後、
ハートビート・メカニズムはオペレーションを再開す
る。
If it is determined in step 903 that the client did not send the data packet back to the server, that is, that no heartbeat exists, the return
To indicate that no data packet exists,
The server uses state information and structure (directory cache). This is performed in step 907. A dirty bit is placed in the structure to indicate that the connection has been broken. In step 909, the server and client attempt a reconnection. At this point, the server checks the dirty bit in its state structure to see if an update on the client is needed. This can occur if the configuration information on the server for the client has changed. In step 911, the server updates the client configuration. The client further has a structure indicating status information similar to the directory cache status structure on the server. The client status structure may then include a dirty bit to indicate whether updates should be sent from the client to the server. Thus, in step 913, the client checks its dirty bit to see if the update should be sent to the server. At step 915, the client updates the server schema. At this point, a reconnection between the client and server is established and after the negotiation phase is completed,
The heartbeat mechanism resumes operation.

【0047】本発明のクライアント/サーバ・プロトコ
ルの別の特徴としては、サーバ上で実施された特定のア
プリケーションの更新を、このアプリケーションを使用
するクライアントへ通知する能力が挙げられる。図14
は本発明の1つの実施形態に基づくクライアント/サー
バ・プロトコル内のイベント通知のプロセスを示すフロ
ーチャートである。ステップ1301では、サーバ・ス
キーマをアプリケーションの調整、即ち、変更によって
更新する。即ち、サーバ・スキーマを一般コンフィギュ
レーション更新によって変更する。ステップ1003で
は、変更されたコンフィギュレーション・データを使用
するクライアントを確認するために、即ち、サーバ・ス
キーマ内で実施された一般コンフィギュレーションの変
更の通知を望む可能性のあるクライアントを確認するた
めに、サーバは自身のキャッシュ・ディレクトリを調べ
る。サーバ・キャッシュ・ディレクトリはサーバに接続
されているクライアントが使用するリストである。ステ
ップ1005では、サーバは更新、即ち、変更を適切な
クライアントへ一斉同報する。ステップ1007では、
クライアントは更新の影響を受けるクライアント側のア
プリケーションを決定する、即ち、クライアントは一般
コンフィギュレーションの更新が自身に関連するか否か
を決定する。ステップ1009では、更新の影響を受け
るアプリケーションが、全ての変更の通知を受けるため
の登録を行っているか否かを、クライアントは決定す
る。アプリケーションが通知を受けるべく登録されてい
る場合、コントロールはステップ1011へ移行する。
ステップ1011において、このアプリケーションは更
新の通知を受ける。このステージにおいて、プロセスは
完了する。アプリケーションが変更の通知を受けるべく
登録されていない場合、このアプリケーションは変更、
即ち、更新を無視し、通知を受けることなくオペレーシ
ョンを継続する。
Another feature of the client / server protocol of the present invention is the ability to notify a client using this application of a particular application update performed on the server. FIG.
4 is a flowchart illustrating a process for event notification in a client / server protocol according to one embodiment of the present invention. In step 1301, the server schema is updated with application coordination, ie, changes. That is, the server schema is changed by updating the general configuration. In step 1003, to identify clients that use the modified configuration data, ie, clients that may wish to be notified of general configuration changes implemented in the server schema. , The server consults its cache directory. The server cache directory is a list used by clients connected to the server. In step 1005, the server broadcasts the update, ie, the change, to the appropriate clients. In step 1007,
The client determines the client-side application that is affected by the update, i.e., the client determines whether the general configuration update is relevant to itself. In step 1009, the client determines whether the application affected by the update has registered to receive notification of all changes. If the application is registered to receive the notification, control proceeds to step 1011.
In step 1011, the application receives an update notification. At this stage, the process is complete. If the application is not registered to be notified of changes,
That is, the update is ignored, and the operation is continued without being notified.

【0048】本発明のクライアント/サーバ・プロトコ
ルの別の特徴としては、特定のオペレーションの実行ま
たは不実行を保証する能力が挙げられる。この特徴はク
ライアント/サーバ・プロトコルの原子性と称される。
更新をクライアント・スキーマ及びサーバ・スキーマ内
で行うための2フェイズ・コミット・プロシージャ(tw
o-phase commit procedure)を、クライアント/サーバ
・プロトコルは実行する。第1フェイズでは、スキーマ
のサブツリー内の複数のエントリのうちの1つを更新す
るために、このサブツリーのルートをロックする。第2
フェイズでは、サブツリー内の複数のエントリのうちの
1つを更新し、次いで、このサブツリーのルートをアン
ロックする。サブツリーのルートをロックすることによ
り、他のクライアントまたはアプリケーションはサブツ
リー内のルートの下に位置する全てのエントリ及びノー
ドへアクセスできなくなる。ロックされたサブレンジ内
のエントリの更新を試みる別のクライアント・アプリケ
ーションはブロック・トランザクションまたはアンブロ
ック・トランザクションを起こす。アンロックの発生を
待ち、次いで、自身の更新をクライアント・アプリケー
ションが望む場合、トランザクションはブロック・トラ
ンザクションと称される。このシナリオでは、更新は待
ち行列内へ配置される。アプリケーションがロックの除
去を待つことを望まない場合、トランザクションはノン
ブロック・トランザクションと称され、トランザクショ
ンはアプリケーションへ戻される。このメカニズムを通
じて、クライアント/サーバ・プロトコルは、リクエス
トされたオペレーション、即ち、更新を実施すること、
即ち、トランザクションをブロックすることと、オペレ
ーションを実施しないこと、即ち、トランザクションを
ブロックしないことのうちのいずれか一方をクライアン
ト・アプリケーションに対し保証できる。
Another feature of the client / server protocol of the present invention is the ability to guarantee the execution or non-execution of a particular operation. This feature is referred to as the atomicity of the client / server protocol.
Two-phase commit procedure (twtw for updating in client and server schemas)
The client / server protocol performs an o-phase commit procedure. In the first phase, the root of this subtree is locked to update one of the entries in the subtree of the schema. Second
In the phase, one of the entries in the subtree is updated, and then the root of this subtree is unlocked. Locking the root of the subtree prevents other clients or applications from accessing all entries and nodes under the root in the subtree. Another client application that attempts to update an entry in the locked subrange will cause a block or unblock transaction. A transaction is called a block transaction if it waits for an unlock to occur and then the client application wishes to update itself. In this scenario, updates are placed in a queue. If the application does not want to wait for the lock to be removed, the transaction is called a non-blocking transaction and the transaction is returned to the application. Through this mechanism, the client / server protocol performs the requested operation, ie, updates,
That is, it is possible to assure the client application that the transaction is blocked and that the operation is not performed, that is, the transaction is not blocked.

【0049】前記のように、コンピュータ・システム内
に格納されたデータを使用する様々なコンピュータ実行
オペレーションを本発明は用いる。これらのオペレーシ
ョンは物理量の物理操作を必要とするオペレーションを
含む(但し、このオペレーションに限定されない)。一
般的に、必ずしも必要でないが、これらの量は格納、転
送、結合、比較及び他の操作が可能な電気信号または磁
気信号の形態をなす。本発明の一部を構成する本明細書
中に開示するオペレーションは、効果的なマシン・オペ
レーションである。実施する操作は生成(producing)、
識別(identifying)、実行(running)、決定(determ
ining)、比較(comparing)、実行(executing)、ダ
ウンローディング(downloading)または検出(detecti
ng)等の用語で示されることが多い。特に、共通の用法
を確立するために、これらの電気信号または磁気信号を
ビット、値、エレメント、変数、キャラクターまたはデ
ータ等として示すと都合が良い。しかし、これらの用語
またはこれらに類似する用語の全ては適切な物理量に関
連すべきであり、かつこれらの物理量に適用された都合
の良いラベルにすぎない点を覚えておく必要がある。
As noted above, the present invention employs various computer-implemented operations involving data stored in computer systems. These operations include (but are not limited to) those requiring physical manipulations of physical quantities. Generally, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transferred, combined, compared, and otherwise manipulated. The operations disclosed herein that form part of the present invention are effective machine operations. The operation to be performed is producing,
Identifying, running, determinating
ining), comparing, executing, downloading or detecting.
ng). In particular, it is convenient to indicate these electrical or magnetic signals as bits, values, elements, variables, characters or data, etc., in order to establish a common usage. However, it should be remembered that all of these and similar terms should be associated with the appropriate physical quantities and are merely convenient labels applied to these physical quantities.

【0050】更に、本発明は前記のオペレーションを実
施するためのデバイス、システムまたは装置に関する。
システムは要求された目的のために特別に構築可能であ
る。また、システムは汎用コンピュータとすることが可
能である。汎用コンピュータに格納されたコンピュータ
・プログラムによって、この汎用コンピュータは選択的
に作動または設定される。前記の複数のプロセスは特定
のコンピュータまたは他のコンピューティング装置に固
有のものではない。特に、本明細書の開示内容に基づい
て記述されたプログラムを様々な汎用コンピュータと併
用可能である。これに代えて、要求されたオペレーショ
ンを実施するために、更に特別なコンピュータ・システ
ムを形成することは更に都合が良い。
The present invention further relates to a device, system or apparatus for performing the above operations.
The system can be specially constructed for the required purpose. Also, the system can be a general purpose computer. A general purpose computer is selectively activated or configured by a computer program stored on the general purpose computer. The above processes are not specific to a particular computer or other computing device. In particular, a program described based on the disclosure content of the present specification can be used with various general-purpose computers. Alternatively, it may be more convenient to create a more specialized computer system to perform the required operations.

【0051】図15は本発明の1つの実施形態に基づく
処理の実施に適した汎用コンピュータ・システム110
0のブロック図である。図15は汎用コンピュータ・シ
ステムの1つの例を示す。本発明の処理を実施するため
に、他のコンピュータ・システム・アーキテクチャ及び
コンフィギュレーションを使用し得る。以下に詳述する
様々なサブシステムからなるコンピュータ・システム1
100は少なくとも1つのマイクロプロセッサ・サブシ
ステム(中央処理装置、即ち、CPUとも称される)1
102を含む。即ち、CPU1102はシングルチップ
・プロセッサまたは複数のプロセッサによって実現し得
る。CPU1102はコンピュータ・システム1100
のオペレーションを制御する汎用デジタル・プロセッサ
である。メモリから検索した命令を使用して、CPU1
102は入力データの受信及び操作と、出力デバイス上
でのデータの出力及び表示とを制御する。
FIG. 15 illustrates a general purpose computer system 110 suitable for performing processing in accordance with one embodiment of the present invention.
0 is a block diagram of FIG. FIG. 15 shows one example of a general-purpose computer system. Other computer system architectures and configurations may be used to implement the processes of the present invention. Computer system 1 consisting of various subsystems described in detail below
100 is at least one microprocessor subsystem (also called central processing unit, or CPU) 1
102. That is, the CPU 1102 can be realized by a single-chip processor or a plurality of processors. CPU 1102 is a computer system 1100
Is a general purpose digital processor that controls the operation of Using the instruction retrieved from the memory, the CPU 1
102 controls the reception and manipulation of input data, and the output and display of data on output devices.

【0052】CPU1102は一般的にランダム・アク
セス・メモリ(RAM)からなる第1の一次記憶装置1
104へメモリ・バス1108を通じて双方向接続され
ている。更に、CPU1102は一般的にリード・オン
リ・メモリ(ROM)からなる第2の一次記憶装置11
06へメモリ・バス1108を通じて単方向接続されて
いる。当該技術分野でよく知られているように、一次記
憶装置1104は汎用記憶領域及び作業メモリとして使
用可能であり、さらには入力データ及び処理済みデータ
を格納するためにも使用できる。更に、CPU1102
上のオペレーションを処理するためのデータ及び命令を
格納する以外に、一次記憶装置1104は例えばスレッ
ド及びプロセスの形態でプログラミング命令及びデータ
を格納可能である。更に、データ及び命令をメモリ・バ
ス1108を通じて双方向に高速転送するために、一次
記憶装置1104は一般的に使用される。同様に、当該
技術分野でよく知れられているように、CPU1102
がその機能を果たすために使用する基本オペレーティン
グ命令、プログラム・コード、データ及びオブジェクト
を一次記憶装置1106は一般的に含む。データ・アク
セスが両方向または単方向のいずれを必要とするかなど
の条件に基づいて、一次記憶装置1104,1106は
以下に詳述する任意の適切なコンピュータ読み取り可能
記憶媒体を含み得る。CPU1102は頻繁に必要とな
るデータをキャッシュ・メモリ1110内へ超高速で直
接検索し、かつ格納できる。
The CPU 1102 is a first primary storage device 1 generally comprising a random access memory (RAM).
104 is bidirectionally connected through a memory bus 1108. Further, the CPU 1102 generally includes a second primary storage device 11 comprising a read only memory (ROM).
06 is unidirectionally connected via a memory bus 1108. As is well known in the art, the primary storage device 1104 can be used as a general-purpose storage area and a working memory, and can also be used to store input data and processed data. Further, the CPU 1102
In addition to storing data and instructions for processing the above operations, primary storage 1104 can store programming instructions and data, for example, in the form of threads and processes. In addition, primary storage 1104 is commonly used to transfer data and instructions bi-directionally at high speed over memory bus 1108. Similarly, as is well known in the art, the CPU 1102
The primary storage 1106 generally contains the basic operating instructions, program codes, data, and objects used by the to perform its functions. Based on conditions such as whether data access requires two-way or one-way, primary storage 1104, 1106 may include any suitable computer-readable storage media, as described in more detail below. The CPU 1102 can search and store frequently needed data directly in the cache memory 1110 at a very high speed.

【0053】取り外し可能大容量記憶装置1112はコ
ンピュータ・システム1100のための別のデータ記憶
能力を提供し、かつペリフェラル・バス1114を通じ
てCPU1102へ双方向または単方向に接続されてい
る。例えば、CD−ROMとして一般的に知られている
特定の取り外し可能大容量記憶装置はデータをCPU1
102へ単方向に送信する。その一方、フロッピー・デ
ィスクはデータをCPU1102へ双方向に送信し得
る。記憶装置1112は磁気テープ、フラッシュ・メモ
リ、搬送波に組み込まれた信号、PCカード、ポータブ
ル大容量記憶装置、ホログラフィック記憶装置及び他の
記憶装置等のコンピュータ読み取り可能媒体を更に含み
得る。固定大容量記憶装置1116は別のデータ記憶能
力を提供し、かつペリフェラル・バス1114を通じて
CPU1102へ双方向に接続されている。大容量記憶
装置1116の最も一般的な例としては、ハード・ディ
スク・ドライブが挙げられる。一般的に、これらの媒体
へのアクセスは一次記憶装置1104,1106へのア
クセスより遅い。CPU1102が頻繁に使用しない他
のプログラミング命令及びデータ等を大容量記憶装置1
112,1116は一般的に格納する。必要に応じて、
大容量記憶装置1112,1116内に保持された情報
は、一次記憶装置1104(例:RAM)の一部を構成
するバーチャル・メモリとして標準的に組込み可能であ
る。
Removable mass storage 1112 provides additional data storage for computer system 1100 and is bidirectionally or unidirectionally connected to CPU 1102 through peripheral bus 1114. For example, certain removable mass storage devices, commonly known as CD-ROMs, store data in the CPU1.
A one-way transmission to 102. On the other hand, a floppy disk may transmit data to CPU 1102 in both directions. Storage device 1112 may further include computer readable media such as magnetic tape, flash memory, signals embodied in a carrier wave, PC cards, portable mass storage devices, holographic storage devices, and other storage devices. Fixed mass storage 1116 provides additional data storage capacity and is bi-directionally connected to CPU 1102 through peripheral bus 1114. The most common example of mass storage 1116 is a hard disk drive. Generally, access to these media is slower than access to primary storage 1104, 1106. The CPU 1102 stores other programming instructions and data which are not frequently used by the mass storage device 1.
112 and 1116 are generally stored. If necessary,
The information held in the mass storage devices 1112 and 1116 can be normally incorporated as a virtual memory constituting a part of the primary storage device 1104 (eg, RAM).

【0054】記憶装置サブシステムへのCPU1102
のアクセスを提供する以外に、ペリフェラル・バス11
14は他のサブシステム及びデバイスへのアクセスを提
供するために使用できる。本実施形態では、これらは、
ディスプレイ・モニタ1118及びアダプタ1120、
プリンタ・デバイス1122、ネットワーク・インター
フェース1124、補助入出力装置インターフェース1
126、サウンド・カード1128及びスピーカー11
30、並びに必要とされる他のサブシステムを含む。
CPU 1102 to storage subsystem
Access to the peripheral bus 11
14 can be used to provide access to other subsystems and devices. In the present embodiment, these are:
A display monitor 1118 and an adapter 1120;
Printer device 1122, network interface 1124, auxiliary input / output device interface 1
126, sound card 1128 and speaker 11
30 as well as other required subsystems.

【0055】図示するように、ネットワーク接続を使用
することにより、ネットワーク・インターフェース11
24はCPU1102を別のコンピュータ、コンピュー
タ・ネットワークまたはテレコミュニケーション・ネッ
トワークへ接続可能にする。前記の方法のステップを実
行するうえで、CPU1102はデータ・オブジェクト
またはプログラム命令などの情報を別のネットワークか
らネットワーク・インターフェース1124を通じて受
信するか、または情報をネットワーク・インターフェー
ス1124を通じて別のネットワークへ送信し得る。C
PUで実行する複数の命令のシーケンスに代表される情
報は、搬送波に組み込まれたコンピュータ・データ信号
などの形態で別のネットワークに対して送受信可能であ
る。インターフェース・カードまたはこれに類似するデ
バイスと、CPU1102によって実行される適切なソ
フトウェアとは、コンピュータ・システム1100を外
部ネットワークへ接続し、かつデータを標準プロトコル
に基づいて転送するために使用できる。即ち、本発明の
方法はCPU1102上で単独で実行し得る。その一
方、処理の一部を共有する遠隔CPUと協動することに
より、本発明の方法をインターネット、イントラネット
ワーク若しくはローカル・エリア・ネットワーク等のネ
ットワークを通じて実行し得る。別の大容量記憶装置
(図示略)をネットワーク・インターフェース1124
を通じてCPU1102へ接続し得る。
As shown, by using a network connection, the network interface 11
24 allows the CPU 1102 to connect to another computer, computer network or telecommunications network. In performing the method steps, CPU 1102 receives information, such as data objects or program instructions, from another network through network interface 1124 or transmits information to another network through network interface 1124. obtain. C
Information represented by a sequence of instructions executed by the PU can be transmitted to and received from another network in the form of a computer data signal embedded in a carrier. An interface card or similar device and appropriate software executed by CPU 1102 can be used to connect computer system 1100 to an external network and transfer data based on standard protocols. That is, the method of the present invention can be executed alone on the CPU 1102. On the other hand, by cooperating with a remote CPU that shares part of the processing, the method of the present invention may be performed over a network such as the Internet, an intra network or a local area network. Another mass storage device (not shown) is connected to the network interface 1124.
Through to the CPU 1102.

【0056】マイクロホン、タッチ・ディスプレイ、ト
ランスデューサ・カード・リーダー、テープ・リーダ
ー、音声認識装置、手書き文字認識装置、バイオメトリ
クス・リーダー、カメラ、ポータブル大容量記憶装置及
び他のコンピュータ等の装置に対するCPU1102に
よるデータの送受信を可能にする汎用インターフェース
及びカスタム・インターフェースを補助入出力装置イン
ターフェース1126は表す。
CPU 1102 for devices such as microphones, touch displays, transducer card readers, tape readers, speech recognizers, handwriting recognizers, biometric readers, cameras, portable mass storage devices and other computers. Auxiliary input / output device interface 1126 represents a general purpose interface and a custom interface that allow data to be sent and received.

【0057】キーボード1136またはポインタ・デバ
イス1138からの入力を受信し、さらにはデコードし
たシンボルをキーボード1136またはポインタ・デバ
イス1138からCPU1102へ送信するために、キ
ーボード・コントローラ1132がローカル・バス11
34を通じてCPU1102へ接続されている。ポイン
タ・デバイスはマウス、スタイラス、トラック・ボール
またはタブレットであり得る。そして、ポインタ・デバ
イスはグラフィカル・ユーザー・インターフェースとの
インターフェースに効果的である。
To receive input from the keyboard 1136 or the pointer device 1138 and to transmit decoded symbols from the keyboard 1136 or the pointer device 1138 to the CPU 1102, the keyboard controller 1132 connects to the local bus 11.
34, it is connected to the CPU 1102. The pointer device can be a mouse, stylus, trackball or tablet. And the pointer device is effective for interfacing with a graphical user interface.

【0058】更に、本発明の実施形態は様々なコンピュ
ータ実行オペレーションを実施するためのプログラム・
コードを含むコンピュータ読み取り可能媒体を有するコ
ンピュータ記憶装置に関する。コンピュータ読み取り可
能媒体は、コンピュータ・システムによる後からの読み
取りが可能なデータを格納し得る任意のデータ記憶装置
である。媒体及びプログラム・コードは本発明の目的の
ために特別に設計され、かつ構築されたものであるか、
またはコンピュータ・ソフトウェア技術分野の当業者に
よく知られたものであり得る。コンピュータ読み取り可
能媒体の例としては、ハード・ディスク、フロッピー・
ディスク及び磁気テープなどの磁気媒体と、CD−RO
Mディスクなどの光媒体と、光フロッピー・ディスクな
どの磁気光媒体と、特定用途向け集積回路(ASI
C)、プログラム可能論理回路(PLD)、ROMデバ
イス及びRAMデバイスなどの特別に構成されたハード
ウェア・デバイスとを含めた前記の全ての媒体が挙げら
れる(但し、これらに限定されない)。コンピュータ読
み取り可能媒体は搬送波に組み込まれたデータ信号とし
て結合コンピュータ・システムのネットワーク上に分散
させ得る。従って、コンピュータ読み取り可能コードは
分散した形態で格納及び実行できる。プログラム・コー
ドの例としては、コンパイラなどによって形成されたマ
シン・コード、またはインタプリタを使用して実行でき
る高レベル・コードを含むファイルが挙げられる。
In addition, embodiments of the present invention provide programs for performing various computer-implemented operations.
A computer storage device having a computer readable medium containing code. Computer readable media is any data storage device that can store data which can be thereafter read by a computer system. Whether the media and program code are specially designed and constructed for the purposes of the present invention;
Or it may be well known to those skilled in the computer software arts. Examples of computer readable media include hard disk, floppy and
Magnetic media such as disks and magnetic tapes, and CD-RO
Optical media such as M disks, magneto-optical media such as optical floppy disks, and application-specific integrated circuits (ASI
C), all but the aforementioned media including, but not limited to, programmable logic circuits (PLDs), specially configured hardware devices such as ROM devices and RAM devices. The computer readable medium may be distributed over a network of coupled computer systems as a data signal embodied in a carrier wave. Thus, the computer readable code can be stored and executed in a distributed form. Examples of program code include machine code formed by a compiler or the like, or a file containing high-level code that can be executed using an interpreter.

【0059】前記のハードウェア・エレメント及びソフ
トウェア・エレメントが標準的なデザイン及び構成を有
することを当業者は認める。本発明に適した他のコンピ
ュータ・システムは別のサブシステムまたは更に少ない
数のサブシステムを含み得る。更に、メモリ・バス11
08、ペリフェラル・バス1114及びローカル・バス
1134は複数のサブシステムをリンクするために使用
する任意の相互接続方式の実例である。例えば、ローカ
ル・バスはCPUを固定大容量記憶装置1116及びデ
ィスプレイ・アダプタ1120へ接続するために使用可
能である。図15に示すコンピュータ・システムは本発
明に適したコンピュータ・システムの例である。本発明
のクライアント・コンピュータまたはサーバ・コンピュ
ータを実現するために、サブシステムの別のコンフィギ
ュレーションを有する他のコンピュータ・アーキテクチ
ャを使用し得る。本発明の別の好ましい実施形態では、
クライアント・コンピュータはネットワーク・コンピュ
ータ、即ち、NCである。機能性及び記憶能力の点にお
いて、このコンピュータは独立型コンピュータとして機
能し得る完全に独立したファット・クライアント・コン
ピュータ("fat" client computer)と、サーバ・コン
ピュータ、即ち、メインフレーム・コンピュータにほぼ
完全に依存するダム・クライアントとの間に位置する。
更に別の好ましい実施形態では、パーソナル・デジタル
・アシスタント(PDA)及びハンドヘルド・コンピュ
ータなどの限られたメモリ・ストレージを有するコンピ
ュータ以外に、クライアント・スキーマはジャバ・プラ
ットフォームを実行可能なスマート・カード及び他のス
マート・アプライアンスなどの非コンピュータ・デバイ
ス上に存在し得る。
Those skilled in the art will recognize that the hardware and software elements described above have standard designs and configurations. Other computer systems suitable for the present invention may include another subsystem or a smaller number of subsystems. Further, the memory bus 11
08, peripheral bus 1114 and local bus 1134 are examples of any interconnection scheme used to link multiple subsystems. For example, a local bus can be used to connect the CPU to fixed mass storage 1116 and display adapter 1120. The computer system shown in FIG. 15 is an example of a computer system suitable for the present invention. Other computer architectures having alternative configurations of subsystems may be used to implement the client or server computer of the present invention. In another preferred embodiment of the present invention,
The client computer is a network computer, ie, NC. In terms of functionality and storage capacity, this computer is a completely independent "fat" client computer that can function as a stand-alone computer, and a server computer, i. Located between dumb clients that depend on.
In yet another preferred embodiment, other than computers with limited memory storage, such as personal digital assistants (PDAs) and handheld computers, the client schema is a smart card capable of running a Java platform and other On non-computing devices, such as smart appliances.

【0060】以上、理解を容易にする目的で、本発明を
ある程度詳しく説明したが、特定の変更及び改良を本発
明の請求の範囲を逸脱することなく実施しても良い。更
に、本発明のプロセス及び装置の両方を実現する他の方
法があることを認識する必要がある。従って、本明細書
に開示した複数の実施形態は例示目的であって、限定目
的ではない。更に、本発明は本明細書に開示する詳細部
分に限定されることなく、請求の範囲及びそれに等価な
範囲内で変更し得る。
While the invention has been described in some detail for purposes of clarity of understanding, certain changes and modifications may be practiced without departing from the scope of the invention. Further, it should be recognized that there are other ways to implement both the process and apparatus of the present invention. Accordingly, the embodiments disclosed herein are for purposes of illustration and not limitation. Furthermore, the present invention is not limited to the details disclosed herein, but may vary within the scope of the appended claims and equivalents thereof.

【図面の簡単な説明】[Brief description of the drawings]

【図1】コンピュータ・ネットワーク・コンフィギュレ
ーションのコンポーネントを表すブロック図であり、本
発明の1つの実施形態に基づくシステムワイド・データ
・スキーマを示す。
FIG. 1 is a block diagram illustrating components of a computer network configuration, illustrating a system-wide data schema according to one embodiment of the invention.

【図2】本発明の1つの実施形態に基づくクライアント
・スキーマ階層構造を示すn分岐ツリー構造を表す図で
ある。
FIG. 2 illustrates an n-branch tree structure illustrating a client schema hierarchical structure according to one embodiment of the present invention.

【図3】本発明の1つの実施形態に基づくJSDサーバ
・スキーマの構造を示すブロック図である。
FIG. 3 is a block diagram illustrating the structure of a JSD server schema according to one embodiment of the present invention.

【図4】サーバ・スキーマ内のマシン・ネームスペース
のツリー構造を示すブロック図である。
FIG. 4 is a block diagram showing a tree structure of a machine namespace in a server schema.

【図5】本発明の1つの実施形態に基づくユーザ・ネー
ムスペースを示すブロック図である。
FIG. 5 is a block diagram illustrating a user namespace according to one embodiment of the invention.

【図6】クライアント及びサーバの間の接続を確立し、
かつコンフィギュレーション情報を交換する本発明の1
つの実施形態に基づくプロセスを示すフローチャートで
ある。
FIG. 6 establishes a connection between the client and the server;
And 1 of the present invention for exchanging configuration information
5 is a flowchart illustrating a process according to one embodiment.

【図7】クライアント及びサーバの間の接続を確立し、
かつコンフィギュレーション情報を交換する本発明の1
つの実施形態に基づくプロセスを示すフローチャートで
ある。
FIG. 7 establishes a connection between the client and the server,
And 1 of the present invention for exchanging configuration information
5 is a flowchart illustrating a process according to one embodiment.

【図8】クライアント及びサーバの間の接続を確立し、
かつコンフィギュレーション情報を交換する本発明の1
つの実施形態に基づくプロセスを示すフローチャートで
ある。
FIG. 8 establishes a connection between the client and the server;
And 1 of the present invention for exchanging configuration information
5 is a flowchart illustrating a process according to one embodiment.

【図9】本発明の1つの実施形態に基づくクライアント
及びサーバの間のコミュニケーション・リンクをネゴシ
エートするプロセスを示すフローチャートである。
FIG. 9 is a flowchart illustrating a process for negotiating a communication link between a client and a server according to one embodiment of the invention.

【図10】図7および図8のステップ617,627の
詳細を示すフローチャートである。
FIG. 10 is a flowchart showing details of steps 617 and 627 in FIGS. 7 and 8;

【図11】データを合体するために使用する本発明の1
つの実施形態に基づく階層構造を示すブロック図であ
る。
FIG. 11 illustrates one embodiment of the invention used to coalesce data.
FIG. 4 is a block diagram illustrating a hierarchical structure according to one embodiment.

【図12】サーバ及びクライアントの間の接続が依然と
して生きていることを示すために、信号をサーバからク
ライアントへ周期的に送信する本発明の1つの実施形態
に基づくプロセスを示すフローチャートである。
FIG. 12 is a flowchart illustrating a process in accordance with one embodiment of the present invention for periodically transmitting a signal from a server to a client to indicate that the connection between the server and the client is still alive.

【図13】サーバ及びクライアントの間の接続が依然と
して生きていることを示すために、信号をサーバからク
ライアントへ周期的に送信する本発明の1つの実施形態
に基づくプロセスを示すフローチャートである。
FIG. 13 is a flowchart illustrating a process in accordance with one embodiment of the present invention for periodically transmitting a signal from a server to a client to indicate that the connection between the server and the client is still alive.

【図14】本発明の1つの実施形態に基づくクライアン
ト/サーバ・プロトコル内のイベント通知のプロセスの
フローチャートである。
FIG. 14 is a flowchart of a process for event notification in a client / server protocol according to one embodiment of the present invention.

【図15】本発明の実施形態の実現に適する一般的なコ
ンピュータ・システムのブロック図である。
FIG. 15 is a block diagram of a general computer system suitable for implementing an embodiment of the present invention.

───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 バーナード・エー.・トラバサット アメリカ合衆国 カリフォルニア州94109 サン・フランシスコ,カリフォルニア・ ストリート,2055 アパートメント402 (72)発明者 トム・サウルポー アメリカ合衆国 カリフォルニア州95120 サン・ホセ,ブレット・ハーテ・ドライ ブ,6938 (72)発明者 ジェフリー・エー.・シュミット アメリカ合衆国 カリフォルニア州95006 ボウルダー・クリーク,ロッジ・ロー ド,535 (72)発明者 グレゴリー・エル.・スローター アメリカ合衆国 カリフォルニア州94306 パロ・アルト,エマーソン・ストリー ト,3326 (72)発明者 ウイリアム・ジェイ.・トレイシー アメリカ合衆国 テキサス州78681 ラウ ンド・ロック,ディープウッド・ドライ ブ,400 (72)発明者 スティーブ・ジー.・ウッドワード アメリカ合衆国 テキサス州78750 オー スティン,ホルム・レイシー・レイン, 10212 ────────────────────────────────────────────────── ─── Continuation of the front page (71) Applicant 591064003 901 SAN ANTONIO ROAD PALO ALTO, CA 94303, US A. (72) Inventor Bernard A. Travasat, United States 94109 San Francisco, California, California Street, 2055 Apartment 402 (72) Inventor Tom Saulpo, United States 95120, California San Jose, Brett Harte Drive, 6938 (72) Inventor Jeffrey A. . Schmidt, United States 95006 California Boulder Creek, Lodge Road, 535 (72) Inventor Gregory El.・ Slaughter United States 94306 Palo Alto, Emerson Street, 3326 (72) Inventor William Jay. Tracy 78681 Round Rock, Texas, USA Deepwood Drive, 400 (72) Inventor Steve G. Woodward United States 78750 Texas Austin, Holm Lacey Lane, 10212

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも1つのサーバ・コンピュータ
に接続された複数のクライアント・コンピュータを含む
コンピュータ・ネットワークに関するデータを格納する
ためのデータ・フレームワークであって、 ルート・ノード・レベルと、 前記ルート・ノード・レベルの下位に位置し、かつ前記
コンピュータ・ネットワークに関するカテゴリカル情報
をそれぞれ格納する複数の中間ノードを有する少なくと
も1つの中間ノード・レベルと、 前記中間ノード・レベルの下位に位置し、かつ前記コン
ピュータ・ネットワークに関する固有値を格納するデー
タ・ノード・レベルと、 前記中間ノード・レベルに含まれる少なくとも1つの前
記中間ノードと前記データ・ノード・レベルに格納され
た関連する前記固有値とを含む複数の永続データスペー
スとを有し、前記各永続データスペース内のデータは前
記各クライアント・コンピュータまたは前記サーバ・コ
ンピュータ上で変更可能であって、かつ前記サーバ・コ
ンピュータ上で格納可能であり、前記関連する固有値は
不揮発性であり、かつ他のクライアント・コンピュータ
のうちの任意のクライアント・コンピュータによるアク
セスが可能であるデータ・フレームワーク。
1. A data framework for storing data relating to a computer network including a plurality of client computers connected to at least one server computer, comprising: a root node level; At least one intermediate node level having a plurality of intermediate nodes respectively located below a node level and each storing categorical information regarding the computer network; and being located below the intermediate node level; A plurality of persistent nodes including a data node level for storing a unique value for the computer network; and at least one of the intermediate nodes included in the intermediate node level and the associated unique value stored at the data node level. Data spec Wherein the data in each of the persistent data spaces is modifiable on each of the client computers or the server computer and storable on the server computer, and the associated unique value is A data framework that is non-volatile and accessible by any of the other client computers.
【請求項2】 前記クライアント・コンピュータ上に存
在するクライアント・データ・フレームワークと、前記
サーバ・コンピュータ上に存在するサーバ・データ・フ
レームワークとをさらに含む請求項1に記載のデータ・
フレームワーク。
2. The data server of claim 1, further comprising a client data framework residing on the client computer, and a server data framework residing on the server computer.
Framework.
【請求項3】 ユーザ・プリファレンスを前記サーバ・
データ・フレームワーク内に格納し、これによって、前
記ネットワーク上のユーザが前記複数のクライアント・
コンピュータのうちの任意の1つを使用し、かつ自身の
前記ユーザ・プリファレンスへアクセスすることを可能
にする請求項2に記載のデータ・フレームワーク。
3. The method of claim 2, wherein the user preference is set to the server
Stored in a data framework so that users on the network can access the plurality of client
3. The data framework of claim 2, wherein any one of the computers is used and allows access to its user preferences.
【請求項4】 前記クライアント・コンピュータをイネ
ーブルした際に得られるコンフィギュレーション・デー
タを格納するための複数の一時データ領域をさらに含む
請求項1または2に記載のデータ・フレームワーク。
4. The data framework according to claim 1, further comprising a plurality of temporary data areas for storing configuration data obtained when the client computer is enabled.
【請求項5】 クライアント・プラットフォーム及びク
ライアント・プロフィールの情報は前記サーバ・データ
・フレームワーク内に格納される請求項2に記載のデー
タ・フレームワーク。
5. The data framework of claim 2, wherein client platform and client profile information is stored within the server data framework.
【請求項6】 前記クライアント・コンピュータはネッ
トワーク・コンピュータである請求項1、2及び4のい
ずれか一項に記載のデータ・フレームワーク。
6. The data framework according to claim 1, wherein the client computer is a network computer.
【請求項7】 前記複数の永続データスペースは複数の
データ・エントリをさらに含み、前記各データ・エント
リは名前と、関連するノードのリストと、プロパティ名
と、関連するプロパティ値とを有する請求項1、2、4
及び6のいずれか一項に記載のデータ・フレームワー
ク。
7. The plurality of persistent data spaces further include a plurality of data entries, each data entry having a name, a list of associated nodes, a property name, and an associated property value. 1, 2, 4
A data framework according to any one of claims 1 to 6.
【請求項8】 クライアント・コンピュータに関する情
報をアレンジし、かつ格納するためのデータ・フレーム
ワークであって、前記クライアント・コンピュータは少
なくとも1つのサーバ・コンピュータを有するネットワ
ーク内の1つのコンピュータであるデータ・フレームワ
ークにおいて、 ルート・ノードと、 前記ネットワークに関連するカテゴリカル情報を格納す
る少なくとも1つの中間ノードをそれぞれ有する複数の
中間ノード・レベルと、 前記複数の中間ノードに関連するコンフィギュレーショ
ン情報とを有し、前記コンフィギュレーション情報は前
記クライアント・コンピュータに関連し、かつ前記クラ
イアント・コンピュータ上に存在し、これによって、前
記クライアント・コンピュータ及びネットワークの間の
接続をイネーブルした際に決定される様々なプロフィー
ル及びプリファレンスに対する前記クライアント・コン
ピュータの適合を可能にするデータ・フレームワーク。
8. A data framework for arranging and storing information about a client computer, wherein the client computer is a computer in a network having at least one server computer. The framework comprises a root node, a plurality of intermediate node levels each having at least one intermediate node for storing categorical information associated with the network, and configuration information associated with the plurality of intermediate nodes. The configuration information is associated with and resides on the client computer, thereby enabling a connection between the client computer and a network. A data framework that allows the client computer to adapt to various profiles and preferences determined when the client computer is run.
【請求項9】 前記複数の中間ノード・レベルは複数の
トップ中間ノードを有するトップ中間ノード・レベルを
含む請求項8に記載のデータ・フレームワーク。
9. The data framework of claim 8, wherein said plurality of intermediate node levels includes a top intermediate node level having a plurality of top intermediate nodes.
【請求項10】 前記複数のトップ中間ノードのうちの
各トップ中間ノードは複数のデータ・エントリを有する
データスペースを形成している請求項9に記載のデータ
・フレームワーク。
10. The data framework according to claim 9, wherein each of said plurality of top intermediate nodes forms a data space having a plurality of data entries.
【請求項11】 ソフトウェア・データスペース、デバ
イス・データスペース、インターフェース・データスペ
ース、エイリアス・データスペース及びテンプ・データ
スペースをさらに含む請求項10に記載のデータ・フレ
ームワーク。
11. The data framework of claim 10, further comprising a software data space, a device data space, an interface data space, an alias data space, and a temp data space.
【請求項12】 前記ソフトウェア・データスペースは
永続データスペースであり、これによって、前記クライ
アント・コンピュータをシャットダウンした際、前記デ
ータスペース内のデータ・エントリの保存を招来する請
求項11に記載のデータ・フレームワーク。
12. The data storage system according to claim 11, wherein said software data space is a permanent data space, which causes the saving of data entries in said data space when said client computer is shut down. Framework.
【請求項13】 前記ソフトウェア・データスペースは
前記サーバ・コンピュータからのコンフィギュレーショ
ン・データによって占められている請求項12に記載の
データ・フレームワーク。
13. The data framework of claim 12, wherein said software data space is occupied by configuration data from said server computer.
【請求項14】 複数のクライアント・コンピュータに
関するコンフィギュレーション情報をアレンジし、かつ
格納するためのデータ・フレームワークであって、コン
ピュータ・ネットワーク内のサーバ・コンピュータ上に
存在するデータ・フレームワークにおいて、 ルート・ノードと、 前記コンピュータ・ネットワークに関連するカテゴリカ
ル情報を格納する少なくとも1つの中間ノードをそれぞ
れ有する複数の中間ノード・レベルと、 前記複数の中間ノードに関連するコンフィギュレーショ
ン情報とを有し、前記コンフィギュレーション情報は前
記複数のクライアント・コンピュータに関連し、かつ前
記サーバ・コンピュータ上に存在し、これによって、ク
ライアント・コンピュータからのリクエストを受けた
際、サーバ・コンピュータがクライアント・コンピュー
タ・プロフィール及びプリファンレスを伝播することを
可能にするデータ・フレームワーク。
14. A data framework for arranging and storing configuration information for a plurality of client computers, wherein the data framework resides on a server computer in a computer network. A node, a plurality of intermediate node levels each having at least one intermediate node storing categorical information associated with the computer network, and configuration information associated with the plurality of intermediate nodes; The configuration information is associated with the plurality of client computers and resides on the server computer, whereby upon receiving a request from the client computer, the server computer A data framework that allows for the propagation of client computer profiles and pre-fanless.
【請求項15】 前記複数の中間ノード・レベルは複数
のトップ中間ノードを有するトップ中間ノード・レベル
を含む請求項14に記載のデータ・フレームワーク。
15. The data framework of claim 14, wherein said plurality of intermediate node levels includes a top intermediate node level having a plurality of top intermediate nodes.
【請求項16】 前記複数のトップ中間ノードのうちの
各トップ中間ノードは複数のデータ・エントリを有する
データスペースを形成している請求項15に記載のデー
タ・フレームワーク。
16. The data framework according to claim 15, wherein each of the plurality of top intermediate nodes forms a data space having a plurality of data entries.
【請求項17】 マシン・データスペース及びユーザ・
データスペースをさらに有する請求項16に記載のデー
タ・フレームワーク。
17. Machine data space and user
The data framework of claim 16, further comprising a data space.
【請求項18】 前記マシン・データスペース及びユー
ザ・データスペースは永続データスペースであり、これ
によって、前記データスペース内のデータ・エントリの
不揮発性を招来する請求項17に記載のデータ・フレー
ムワーク。
18. The data framework of claim 17, wherein the machine data space and the user data space are persistent data spaces, which results in non-volatility of data entries in the data space.
【請求項19】 前記マシン・データスペースは複数の
コンピュータ・タイプに関するコンピュータ・コンフィ
ギュレーション・データによって占められ、前記ユーザ
・データスペースは複数のネットワーク・ユーザに関す
るユーザ・コンフィギュレーション・データによって占
められる請求項18に記載のデータ・フレームワーク。
19. The machine data space occupied by computer configuration data for a plurality of computer types, and the user data space is occupied by user configuration data for a plurality of network users. 19. The data framework according to 18.
JP11134685A 1998-05-14 1999-05-14 General schema for storing configuration information on client computer and server computer Pending JP2000122984A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/079,500 US6052720A (en) 1998-05-14 1998-05-14 Generic schema for storing configuration information on a server computer
US09/079500 1998-05-14
US09/079,501 US6161125A (en) 1998-05-14 1998-05-14 Generic schema for storing configuration information on a client computer
US09/079501 1998-05-14

Publications (1)

Publication Number Publication Date
JP2000122984A true JP2000122984A (en) 2000-04-28

Family

ID=26762080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11134685A Pending JP2000122984A (en) 1998-05-14 1999-05-14 General schema for storing configuration information on client computer and server computer

Country Status (2)

Country Link
EP (1) EP0957617A3 (en)
JP (1) JP2000122984A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076452A (en) * 2001-09-05 2003-03-14 Nagano Fujitsu Component Kk Computer switching unit and computer system, program for exchanging data, storage medium storing it and computer body incorporating it
JP2007500890A (en) * 2003-07-31 2007-01-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and computer program for storing user settings of a mobile device

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001065368A2 (en) * 2000-03-01 2001-09-07 Tashenberg Bradley A A distributed operating network and method for using and implementing same
FR2807544A1 (en) * 2000-04-11 2001-10-12 Francois Bodenez Network architecture for communication via telecommunication network, uses software on server or client to retrieve personal configuration data for a user regardless of location
US7139821B1 (en) 2000-10-20 2006-11-21 Sun Microsystems, Inc. Method and apparatus for creating and deploying applications from a server application
AU2002305667A1 (en) * 2001-05-22 2002-12-03 United Parcel Service Of America, Inc. System, method, and computer program product for configuring computing systems
US20030074660A1 (en) * 2001-10-12 2003-04-17 Liberate Technologies System method and apparatus for portable digital identity
US7353389B2 (en) 2003-04-07 2008-04-01 Bellarc, Inc. Software update and patch audit subsystem for use in a computer information database system
US8122111B2 (en) 2006-07-25 2012-02-21 Network Appliance, Inc. System and method for server configuration control and management
EP1909173B1 (en) * 2006-10-06 2010-02-24 Hewlett-Packard Development Company, L.P. Management of data of settings in an operating system of a computer
US8209675B2 (en) * 2007-07-25 2012-06-26 Sap Ag Method and system for customizing a software application
EP2765509A1 (en) * 2013-02-08 2014-08-13 Thomson Licensing Method of and request server for providing a preference value for features of an application

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875327A (en) * 1997-02-18 1999-02-23 International Business Machines Corporation Hierarchy of preferences and preference groups

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076452A (en) * 2001-09-05 2003-03-14 Nagano Fujitsu Component Kk Computer switching unit and computer system, program for exchanging data, storage medium storing it and computer body incorporating it
JP2007500890A (en) * 2003-07-31 2007-01-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and computer program for storing user settings of a mobile device

Also Published As

Publication number Publication date
EP0957617A3 (en) 2003-10-22
EP0957617A2 (en) 1999-11-17

Similar Documents

Publication Publication Date Title
JP4533474B2 (en) Method for converting data within a computer network
US6052720A (en) Generic schema for storing configuration information on a server computer
US6161125A (en) Generic schema for storing configuration information on a client computer
US6115715A (en) Transaction management in a configuration database
JP4771321B2 (en) Method and data format for exchanging data between Java system database entries and LDAP directory services
US7567985B1 (en) Mechanism for implementing a sparse file system for an operating system partition
US7065769B1 (en) Method for automatically installing and updating drivers
US7454516B1 (en) Scalable virtual partitioning of resources
US6976262B1 (en) Web-based enterprise management with multiple repository capability
US6615230B2 (en) Data access right management apparatus in a data-independent computer system
US20080114770A1 (en) Attribute level federation from multiple data sources
JPH11327919A (en) Method and device for object-oriented interruption system
US7134008B2 (en) Utility for configuring and verifying data sources
CA2242006A1 (en) Global file system-based system and method for rendering devices on a cluster globally visible
JPH11120116A (en) System and method for performing transmissive global access to physical device on computer cluster
JPH04230567A (en) Dispersed type constitution profile for computing system
JP2002536714A (en) Predefined hardware and software bundles provided for database applications
US8521875B2 (en) Identity for data sources
JP2000122984A (en) General schema for storing configuration information on client computer and server computer
US7188120B1 (en) System statistics virtualization for operating systems partitions
KR20050085062A (en) System and method for installation and integration of component datamodels
US20050283531A1 (en) Method and apparatus for combining resource properties and device operations using stateful Web services
Cisco Updating the Mainframe Application Software
Cisco Updating the Mainframe Application Software
Cisco Updating the Mainframe Application Software

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees