|
|  Get related patents on CD |
| United States Patent | 5664170 |
| Link to this page | http://www.wikipatents.com/5664170.html |
| Inventor(s) | Taylor; Bradley (Palo Alto, CA) |
| Abstract | A network database. The network database is arranged in a plurality of
domains in a logical hierarchy. Each domain of the hierarchy represents a
body of information associated with a logically related group of users or
related group of computers. A relative naming scheme is implemented in
which a domain stores the names of only its parent domain and child
domains. This permits reconfiguration of the network to be accomplished
without changing the database structure. Each domain stores information in
a hierarchical structure known as a "directory." Each directory consists
of a list of zero or more "properties," each having an associated name and
ordered list of values. |
| |
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5664170 |
|
|
Flexible distributed network database containing configuration
information for a network divided into domains |
|
|
|
|
|
| Publication Date |
September 2, 1997 |
|
|
|
|
|
| Filing Date |
October 16, 1995 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
This is a continuation of application Ser. No. 08/255,556 filed Jun. 8,
1994, which issued as U.S. Pat. No. 5,459,863 on Oct. 17, 1995, which is a
continuation of application Ser. No. 07/953,077 filed Sep. 29, 1992,
abandoned, which is a divisional of application Ser. No. 07/520,091 filed
May 7, 1990, abandoned. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5414812 Filip 707/103R May,1995 |      Your vote accepted [0 after 0 votes] | | 5410691 Taylor 707/100 Apr,1995 |      Your vote accepted [0 after 0 votes] | | 5386525 Noack 707/100 Jan,1995 |      Your vote accepted [0 after 0 votes] | | 5313629 Abraham 707/103R May,1994 |      Your vote accepted [0 after 0 votes] | | 5237654 Shackelford 715/804 Aug,1993 |      Your vote accepted [0 after 0 votes] | | 5191650 Kramer 709/227 Mar,1993 |      Your vote accepted [0 after 0 votes] | | 5187790 East 719/316 Feb,1993 |      Your vote accepted [0 after 0 votes] | | 5155847 Kirouac 709/221 Oct,1992 |      Your vote accepted [0 after 0 votes] | | 5142670 Stone 711/113 Aug,1992 |      Your vote accepted [0 after 0 votes] | | 5136716 Harvey 709/228 Aug,1992 |      Your vote accepted [0 after 0 votes] | | 5129083 Cutler 707/103R Jul,1992 |      Your vote accepted [0 after 0 votes] | | 5101348 Arrowood 709/242 Mar,1992 |      Your vote accepted [0 after 0 votes] | | 5055999 Frank 711/163 Oct,1991 |      Your vote accepted [0 after 0 votes] | | 5049873 Robins 340/825.01 Sep,1991 |      Your vote accepted [0 after 0 votes] | | 4961134 Crus 707/8 Oct,1990 |      Your vote accepted [0 after 0 votes] | | 4961139 Hong 707/1 Oct,1990 |      Your vote accepted [0 after 0 votes] | | 4937736 Chang 711/208 Jun,1990 |      Your vote accepted [0 after 0 votes] | | 4914571 Baratz 707/10 Apr,1990 |      Your vote accepted [0 after 0 votes] | | 4903196 Pomerene 712/217 Feb,1990 |      Your vote accepted [0 after 0 votes] | | 4897782 Bennett 707/10 Jan,1990 |      Your vote accepted [0 after 0 votes] | | 4888681 Barnes 707/101 Dec,1989 |      Your vote accepted [0 after 0 votes] | | 4875159 Cary 707/203 Oct,1989 |      Your vote accepted [0 after 0 votes] | | 4873517 Baratz 370/236 Oct,1989 |      Your vote accepted [0 after 0 votes] | | 4827411 Arrowood 707/206 May,1989 |      Your vote accepted [0 after 0 votes] | | 4775955 Liu 711/145 Oct,1988 |      Your vote accepted [0 after 0 votes] | | 4731734 Gruner 711/202 Mar,1988 |      Your vote accepted [0 after 0 votes] | | 4716586 Bauer 711/163 Dec,1987 |      Your vote accepted [0 after 0 votes] | | 4604694 Hough 710/200 Aug,1986 |      Your vote accepted [0 after 0 votes] | | 4584639 Hardy 726/2 Apr,1986 |      Your vote accepted [0 after 0 votes] | | 4532625 Stover 370/225 Jul,1985 |      Your vote accepted [0 after 0 votes] | | 4525780 Bratt 711/163 Jun,1985 |      Your vote accepted [0 after 0 votes] | | 4354227 Hays, Jr. 710/240 Oct,1982 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
|
|
|
|
|
|
Public's "Guesstimation" of Royalty Value
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
I claim:
1. A computer-implemented method for storing configuration information for
a network of computers comprising performing on at least one computer of
the network the steps of:
creating a domain hierarchy representing a logical organization of the
network and consisting of a plurality of domains, each domain associated
with one or more computers on the network, each domain in the hierarchy
including a name and a server computer address for each domain logically
located either directly above or directly below the domain;
creating within each of the domains a database of configuration information
for storing information associated with the domain and information
associated with resources and services of the computers associated with
domain; and,
storing each database on storage media of at least one of the computers
associated with its domain.
2. The method of claim 1 where the server computer address is an IP
address.
3. The method of claim 1 where the step of creating a domain hierarchy is
performed by instructions configured to create a hierarchy of any number
of one or more levels.
4. The method of claim 1 where each database of configuration information
stores information in a list of properties, each comprising a property
name and a list of values associated with the property name.
5. The method of claim 1 further comprising:
restricting access by users to values associated with a first property by
creating a second property associated with the first property, the second
property having values that identify permissible access to values
associated with the first property;
comparing a user's identification with the second property's values when
the user attempts to access the first property's values; and
denying access by the user to the first property's values when the second
property's values do not include the user's identification for the access.
6. The method of claim 5 where the user attempting to access the first
property's values is not a network administrator.
7. The method of claim 1 where each database of configuration information
is a directory tree including one or more directories for storing
configuration information.
8. The method of claim 7 further comprising modifying the database of
configuration information in response to a user request by adding a
directory to the database of configuration information.
9. The method of claim 7 further comprising modifying the database of
configuration information in response to a user request by removing a
directory from the database of configuration information.
10. The method of claim 1 where
each database of configuration information is a directory tree including
one or more directories for storing configuration information;
each directory stores information in a list of properties; and
each property consists of a property name and a list of values associated
with the property name.
11. The method of claim 1 where a copy of each database of configuration
information is stored on computers associated with the domain associated
with the database.
12. The method of claim 1 further comprising steps for maintaining data
integrity of data in the database of configuration information comprising:
assigning to an instance identifier to the data when the data is created;
and
changing the instance identifier whenever its assigned data is changed.
13. The method of claim 12 further comprising requiring an identifier value
as an element of a request to change the data, which value must agree with
the then-current value of the instance identifier of the data for the
request to be honored.
14. The method of claim 1 where
each domain has one computer in the domain that is a master server, which
is a server that allows information to be both read from and written to
the database of configuration information for the domain, called the
domain information; and
a change in domain information made by a master server for a domain is
propagated incrementally by the master server to any clone servers in the
domain, which are servers that allow their copies of domain information to
be read but not written except at the request of their master server.
15. The method of claim 14 where
the master server for each domain has stored a copy of the domain
information for the domain and periodically performs the steps of
generating a check sum of its copy of the domain information for the
domain and providing the check sum to all clone servers in the domain; and
where the method further comprises
transferring the entire domain information from a master server to a clone
server whenever a periodic check determines that a master-provided check
sum does not agree with a check sum generated by the clone of the clone's
copy of the domain information.
16. The method of claim 1 further comprising modifying the database of
configuration information in response to a user request by adding a
property to the database of configuration information.
17. The method of claim 1 further comprising modifying the database of
configuration information in response to a user request by removing a
property to the database of configuration information.
18. A method for adding a new domain of configuration information to a
hierarchy of domains describing an operating network of computers,
comprising:
creating a master server for the new domain on one of the computers in the
new domain; and
during operation of the network of computers dynamically updating (i) any
domain directly above the new domain by updating its configuration
information to include the new domain as a child (ii) any domains directly
below the new domain by updating their configuration information to make
the new domain their parent, and (iii) the former parent domains of any
domains for which the new domain became the parent by being inserted into
the hierarchy by removing as children the domains that became children of
the new domain;
where
after all of the updating steps are performed, the configuration
information of the new domain includes a server computer address for each
parent and child domain of the new domain.
19. A method for removing an old domain of configuration information from a
hierarchy of domains describing an operating network of computers,
comprising:
during operation of the network of computers dynamically updating (i) any
domain directly above the old domain by updating its configuration
information to include as children all the children of the old domain, and
(ii) any domains directly below the old domain by updating their
configuration information to make the parent of the old domain their
parent;
where
after all of the updating steps are performed, the configuration
information of any former parent of the old domain includes a server
computer address for each former child of the old domain and any former
child of the old domain includes a server computer address for each former
parent.
20. A method for storing logical configuration information in a network
database comprising:
executing on at least one computer of the network operations for creating a
list of properties of a directory of a directory tree of a domain
associated with one or more computers of the network, each property of the
list of properties containing a name and a list of values, each property
defining a subset of the logical configuration information;
said operations defining a name for each property;
said operations defining a list of values associated with each property
name, the values representing the subset of the logical configuration
information associated with the property; and,
said operations storing the property list, names and values on a computer
associated with the domain of the directory tree of the property list.
21. A method of storing configuration information for a network of
computers, the method comprising the steps of:
on at least one computer of the network, executing operations for creating
a domain hierarchy consisting of a plurality of domains, said domain
hierarchy representing a logical organization of the network, each domain
associated with computers on the network;
said operations creating a directory tree within each of the domains, each
said directory tree including one or more directories for storing
information associated with the corresponding domain and information
associated with resources and services of the computers available to that
domain;
said operations storing each directory tree on storage media of a master
computer within the domain associated with the directory tree; and
said operations storing a copy of at least one of the directory trees on
storage media of a clone server computer (in the domain associated with
the at least one directory tree) different from the master server
computer;
wherein each directory includes a list of properties that define a subset
of the configuration information, each property having a property name and
a list of associated values. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of networks and in particular to
maintaining configuration information in a collection of databases.
2. Background Art
In modern computing environments, it is commonplace to employ multiple
computers or workstations linked together in a network to communicate
between, and share data with, network users. A network also may include
resources, such as printers, modems, file servers, etc., and may also
include services, such as electronic mail. Information about the computers
on the network, and the users, resources and services available to those
computers, is referred to as "configuration information."
In some prior art systems, configuration information is typically stored in
flat ASCII files. A disadvantage of storing configuration information in a
such files occurs when users seek access to configuration information to
identify available resources and there is typically more information
available in that file than the user requires. As a result, the user must
search through unneeded information to find the information desired. It
may be desired to define different levels and amounts of information
associated with different levels of users.
One disadvantage of many prior art network systems is that only one level
of user is defined. In other words, each user or computer is considered
"equal" in the network hierarchy. This limits the ability to define
different levels of information Another drawback of prior art network
systems is that they lack flexible directory schemes. Only one level of
directories typically can be defined, and directories are typically "read
only." Writing to directories is possible only in a few special
circumstances. Another disadvantage of some prior art systems is that if
backup copies of the network database are stored on different computers,
the only method of updating the database is to transfer complete copies of
the master database to the backup systems.
Other prior art network databases also typically have highly restrictive
directories. The ISO Directory Service (X.500) is one such prior art
network system. The directories require a schema to describe the structure
of the directory. There is typically no mechanism for creating new
schemas, so creating new directories is not possible. In addition, there
is no replication capability to accomplish network database backup.
Some prior art network systems support multiple levels of hierarchy such
that different user levels may be defined. However, in such systems, the
number of levels is limited, and all levels must be used. For many
networks, hierarchical flexibility is highly desirable.
Another disadvantage of prior art network systems is their general lack of
flexibility in the ability to make desired changes to the structure of the
network. For example, when new computers or users are added, moved or
deleted, a network administrator is often required to implement the
changes.
Therefore, one object of this invention to provide a network system with a
plurality of user hierarchies.
Another object of this invention is to provide a network system that has
flexible directories which permit reading and writing of properties and
permits the creation of new directories.
It is yet another object of this invention to provide a network system that
allows network operations to be performed from any location on the
network.
Another object of this invention is to provide a network system that allows
for incremental replication of the network database.
Another further object of this invention is to provide a network system
that permits flexible reorganization of the network structure.
It is another object of this invention to provide a network system that
allows security levels to be easily defined.
Other objects and advantages of the present invention will become apparent
upon reading the specification and drawings, in which like reference
numerals refer to like parts throughout.
SUMMARY OF THE INVENTION
This invention is directed to a network database system for storing and
sharing information on a network. The information may be network
configuration data, such as user names, user ID's, computer addresses,
passwords, personal data, user preference default settings, printers,
services, etc. The network database information can also include any data
that is to be accessible to a number of network users at the same time.
The network database system of this invention is arranged in a hierarchy of
"domains," each of which includes certain information. While a domain can
store virtually any information, it contains information about other
domains, and typically contains information about the users associated
with the computers and any groups the users may belong to, along with
resources and services available to that group. A domain serves one or
more computers of network.
At the top of the domain hierarchy is the root domain. There may be beneath
the root domain subdomains that contain zero or more domains. The
information available to each domain is organized into a hierarchy of
directories. A directory might contain a list of users, for a list of
groups of users. Each directory stores information as ordered lists of
"properties". Each property consists of a "name" to identify the property
and an ordered list of values associated with the name.
This invention also uses a method referred to as "relative naming."
Relative naming refers to the fact that each domain in the domain
hierarchy is named relative to its parent domain. A parent domain is the
domain logically above a domain in the hierarchy. A domain need not store
information about any other domains other than its parent domain and
children domains. This allows restructuring of, additions to, or deletions
from the domain hierarchy to be implemented by updating only those domains
affected by the change.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is a hierarchical view of an o | | |