CA2048306A1 - Distributed configuration profile for computing system - Google Patents

Distributed configuration profile for computing system

Info

Publication number
CA2048306A1
CA2048306A1 CA002048306A CA2048306A CA2048306A1 CA 2048306 A1 CA2048306 A1 CA 2048306A1 CA 002048306 A CA002048306 A CA 002048306A CA 2048306 A CA2048306 A CA 2048306A CA 2048306 A1 CA2048306 A1 CA 2048306A1
Authority
CA
Canada
Prior art keywords
service
name
network
service providers
clients
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.)
Abandoned
Application number
CA002048306A
Other languages
French (fr)
Inventor
Steven P. Miller
Butler W. Lampson
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of CA2048306A1 publication Critical patent/CA2048306A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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
    • H04L61/4541Directories for service discovery
    • 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
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • 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

DISTRIBUTED CONFIGURATION PROFILE
FOR COMPUTING SYSTEM

ABSTRACT

A distributed computing system using a data communications network may have a number of service providers for a given service or remote procedure call. A
client on the network makes reference to a name service to obtain the network address of one of these service providers. The name service maintains for each client or group of clients a configuration profile of the service providers in order to resolve the issue of selecting one of the several service providers when a request is made.
A single configuration profile is a priority-ordered search list that maps from a service identifier (e.g., remote procedure call interface specification) into service provider (e.g., remote procedure call server) names. A configuration profile may include names for individual service providers, and/or named groups of service providers, and/or other configuration profiles.
Configuration profiles are stored in a manner that makes them accessible throughout the distributed system, e.g., in the name service. Configuration profiles may be chained together by referencing other configuration profiles to provide a hierarchy of configuration profiles.

Description

~Q4~306 DIGH:014 DISTRI~UTED CONFIGURATION PROFILE
FOR COMPUTING SYSTEM

This invention relates to distributed computing systems using data communications network~, and more particularly to methods of providing configuration information to clients in a distributed computing system regarding network services or remote procedure calls.

In U.S. Patent 4,823,122, issued April 28, 1989, assigned to Digital Equipment Corporation, assignee of this invention, a communications network is disclosed which is capable of interconnecting local computer terminals with remote service providers using a communications link. The local terminals are coupled to the communications link by int¢rface units which handle network protocol functions for the terminals. One of the functions necessary at the local units is that of obtaining actual network addresses for services known locally only by service names. To perform this translation, service advertisements ar~ periodically sent by the service providers, and a service directory is g~nerated locally from these advertisements. Then, when a service request is g~nerated locally, the servioe directory is searched to find the corresponding networ~
address of the provider of this service. If there are multiple provid~r~ of the same service some mechanism must be provided for s~lecting the most efficient service provider for a local requester, and for distributing the 4~ load among the various providers in an efficient manner.

20~8~06 In U.S. patent application Ser. No. _ , filed by Richard P. Pitkin and John C. Morency, for "Broker for Computer Inventory Server Selection", a method is disclosed for allocating resources within a computer network by employing a broker mechanism. This broker mechanism operates by monitoring a subset of all available servers capable of delivering the requested service, and allocating based upon a network policy and available resources, to suggest the name of a provider to a service requester.

There are often redundant resources in a distributed system, in order to improve availability and share load.
One problem faced by a user (i.e., an applications programmer) in such an environment is selecting a particular resource for use . The user would ideally like means of selecting an instance of a redundant resource that preserves the availability and load sharing, yet may be optimized to the particular environment and/or tailored to the user preferences. For example, when using an remote procedure call service (the resource) that supplies an employee address list, the remote procedure call user may prefer resources within the same LAN, with high speed communication~ available, to be selected in preference to resources available only via a wide area network.
However, if the resources in the local LAN are not available, the remote procedure call user would like to use the remote resources ~ccessible only via the wide area network. Furthermore~ the designation of local and remote is relative. Each user, possibly in a different location, may have different views of what is local and what is remote. Therefore, the selection of resources must be able to be tailored to the user and or conditions local to the user.

20~830~

An objective, then, in a system having redund~nt distributed resources, is to provide a mechanism that supports the customized selection of resources in a distributed environment, while maintaining availa~ility and load sharing.

In accordance with one embodiment of the invention, a distributed computing system using a data communications network may have a number of service providers for a given service or remote procedure call. A client on the network makes reference to a name service to obtain the network address of one of these service providers. The name service maintains a configuration profile of the service providers in order to resolve the issue of selecting one of the several service providers when a request is made.
A single configuration profile is a priority-ordered search list that maps from a service identifier (e.g., remote procedure call interface specification) into service provider (e.g., remote procedure call server) names. A configuration profile may include names for individual service providers, and/or named groups of service providers, and/or other configuration profiles.
Configuration profiles are stored in a manner that makes the~ accessible throughout the distributed system, e.g. in the name service. Configuration profiles may be chained together by referencing other configuration profiles to provide a hierarchy of configuration profiles.

Configur~tion profiles address a number of related problem~ in a distributed system~ This is regardless of the fact that the underlying name service is often structured as a single-keyed hierarchy, where the keys do not refleçt the service. They provide mechanisms to automatically~ ~1) efficiently map a ~flat) name of a service into a set of service providers; (2) customize the mapping of services into service providers based on a ~0483~fi user, system, LAN, site, organization, etc.; (3~ provide a hierarchical search path of these mappings; (4) support enhanced availability of service providers; (5) share load amongst service providers; (6) prioritize the selection of a provider within a profile; (7) randomize equal priority selections within a profile; (8) store the profiles in a manner available throughout a distributed system; (g) minimize the configuration management required for systems and users; and (10) minimize the use of well-known names.
These mechanisms support user or site defined service utilization policies.

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as other features and advantages thereof, will be best understood by reference to the detailed description of specific embodiments which follows, when read in conjunction with the accompanying drawings, wherein:
Figure 1 is an electrical diagram in block form of a distributed computing system employing a data communication network which may use features of the inven-tion;
Figure 2 is a schematic representation of processors such as those in Figure 1 when executing a remote procedure call;

Figure 3 is a logical representation of operation of a remote procedure call as in Figure 3;

Figure 4 is a logical representation of a name service in the system o~ Figure 1, according to the invention;

20~830~

Figure 5 is a logical representation of a configuration profile used with the name service of Figure 4, according to the invention;

Figure 6 is a logical representation of a service group entry in the name service of Figure 4; and Figures 7 and 7a are logical representations of a server entry in the name service of Figure 4.
Referring to Figure 1, a computer network or distributed system is shown which may use features of the invention. A network including a communications link 10 is used to provide a communication path between a number of processors or computers including clients 11, each of which may be a single host computer or may be connected to a number of terminals or user nodes 12. The communications link may be a single local loop or bus ~i.e., a local area network), or may coupled by bridges 13 to more remote networks lOa, and/or by a microwave or satellite link 14 to other remote networks lOb (i.e., in a wide area n~twork). Each one of the clients 11 (and the terminals 12) is assumed to be a processor executinq its own code with its own local memory, and each processor may com~unicate with each of the others via the path 10, using a communications protocol which ordinarily involves messag~ packets. Services are available on this network 10, lOa ~nd lOb through servers 15 identified as s~rv~r-l, server-2, server-3, etc. Each of the servers 15 provides one or more services 16 to the netwoxk, with these services bein~ identified as service-A, service-B, service-C, etc. These service~ may be hardware facilities, such as high speed printers, back-up disks, or the like, or may be software facilitiesl such a~ name services, global data base utilities, or the like. As discu~sed below, the services 16 may be remote procedure 2~4830~

calls. Note that the services 16 may be duplicated on the network. Service-A is seen to be available at both server-l and server-3 on the local network 10, and at server-5 on the remote network 10a, as well as server-6 on the remote network 10b. A client 11 has access to service-A from any one of the servers 15 providing the service-A, but it may be more efficient to utilize the local server-1 or server-2 if not busy, since the response time is quicker and the communication facility is less burdened.

The clients 11 or user terminals 12 may be personal computers, workstations, modems connected to remote users, video display terminals, point-of-sale terminals, automated teller machines, or any of a variety of such devices. The links 10, 10a or 10b between clients 11 and servers 15 may be local area networks using technologies such as Ethernet, token ring, FDDI, StarLan, or the like, or in some cases may be merely RS232 type or backplane connections. The physical construction of the communications link~ 10, 10a or 10b can be of various typeg, gUCh ~5 coaxial cable, twisted pair, fiber optics, or the like. The communication method and protocol employed can also be of various types, such as DECnet, OSI, or TCP/IP, for example (i.e., higher level protocol services). While these commonly-used communications methods are based on bit-serial transmission on the link 10, the features of the invention are applicable as well to com~unications methods using parallel data transmission on the link. Of course, the communications link 10 may include bulk transfer facilities (trunk lines) using multiplexing, such as T1 circuits or the like. Or, a bulk transfer facility may be one of the services represented by the services 16. The communications network rapresented in Figure 1 may service hundreds or thousands of clients, user terminals and servers, depending upon the 20~83n6 installation. Since the network 10 of Figure 1 may be connected to other such networks 10a and 10b by bridges and/or wireless links (either represented by services 16 or otherwise, i.e., transparent to the protocol), the number of users and the number of service providers can be quite large.

In a preferred embodiment of the invention, each of the processors ll and 12 and the servers 15 is able to make remote procedure calls to the other processors, and the services 16 may themselves be remote procedures which may be called from other processors on the network;
alternatively, remote procedure calls executed on the servers 15 may be used to access the services 16 (as well as for other purposes). A remote procedure call (RPC) is a procedure call mechanism, extended to provide transfer of control and/or data across com~unication networks such as the network 10 of Figure 1. Referring to Figure 2, if a process A (or a thread within a process) is executing in processor lla, it can make a local call to procedure B in the address space of processor lla, or make a remote call to a procedure C in the address space of processor 15a via RPC facility 17 and network 10 using the communications layer 18. Execution of the process A is suspended when the remote call is mader and then the procedure C
executes, returning data to the process A where execu~ion recommences. Note that for re~ote procedure calls, there i no shared memory; the procedures are ordinarily in two physically separate computers. Therefore, the parameters passed back and forth must be actual values rather than pointers, i.e., the data must be copied from machine to machine. Ordinarily the RPC mechanism is transparent to the user (i.e., to the writer of source code for an applications program); the structure of the call is the same ~from the standpoint of the process A) whether the call is local or remote. When the call is actually 2 0 ~

executed, however, the system must introduce an address of the remote procedure C so that message packets can be made up by the communication layer to send over the network 10.
Providing this address is called "binding".

Referring to Figure 3, a program structure for remote procedure calls is based upon the concept of stubs. When making a remote call, five pieces of program are involved:
the user proqram A (as in Figure 2), the user stub A" and one instance of RPCRuntime 17 execute in the caller machine lla. The server procedure C, the server stub C"
and another instance of RPCRuntime 17 execute in the callee machine 15a. When the user program A wishes to make a remote procedure call, it makes a local call which invokes a corresponding procedure in the user stub A,.
The user stub is responsible for placing a specification of the target procedure and arguments into one or more packets and asking RPCRuntime 17 to transmit these reliably to the callee machine 15a via network 10. On receipt of these packets, the RPCRuntime 17 in the callee machine 15a passes them to the server stub C, which unpacks them and ~akes a local call to invoke the appropriate procedure in the server procedure C.
Meanwhile, the calling process A in the caller machine is suspended awaiting a result packet. When the call in the ~erver procedure C completes, it returns to the server stub C, and the results are passed back to the 3uspended process A in the caller machin~ lla, ~ia the user stub which unpacks the~. The 2PCRuntime program 17 is responsible for retransmissionc, acknowledgements, packet routing, and encryption, either directly or in combination with lower level services offered in the network. Apart from the effects of intermachine binding, the call happens ~ust as if the user had invoked the procedure in the server directly; indeed, if the user code A and server code C were brought lnto a single machine and bound 20~83~
g directly together without the stubs A, and C, the program would still work. The RPCRuntime program is described by Birrell et al in "Implementing Remote Procedure Calls", ACM Transactions on Computer Systems, Feb. 1984, pp. 39-50. The remote interactions are defined in an interfacedeclaration, which is essentially a set of (abstract) procedure definitions of the remote service or program, combined with other relevant specification information.
It defines the remote interface between the user and provider of the remote service; the interface declaration should be expressed in an interface specification language which allows heterogeneous implementations of the programs which provide and use the declared interface. The programmer of the user code and server code need not be concerned with creating the stubs or with the communications of packing and unpacking, but merely must avoid specifying arguments or results that are incompatible with the lack of shared address space. The programmer must also take steps to invoke intermachine binding, and to resolve occurrences cf network failure or failure of the server.

There are two aspects of binding to consider. First, the client or caller machine lla must specify what service it i~ to be bound to, and this is a question of naming.
Secondly, the client must determine the machine address of a particular callee or server, which is a question of location, and specify to this callee the procedure to be invoked. The binding operation is to bind an importer of an interface to an exporter of an interface; after binding~ calls made by the importer invoke procedures implemented by the remote exporter.

Th~ communications network 10 and communications layers 1~ illustrated in Figures 1 and 2, in one e~bodiment, might be generally of the type disclosed in 2~)~83~

the above-mentioned u s. Patent 4,823,122, which is incorporated herein by reference; this type of network executes a local area protocol. The communications protocol described in the patent may make use of virtual S circuits to define a two-way path between a particular server client and a particular node or server 15. A
feature of the protocol described in the U.S. Patent 4,823,122 is the use of advertising messages sent periodically by the service providers to advise all clients of what services are available on the network. To thiC end, a service advertising message is sent periodically by each service provider, by which it identifies itself (by network address) and the service or services provided at its node. The service advertising message contains information such as identification of the transmitting node (one of the servers 15, for example), a type field identifying this message as a service advertising message, and a multi-cast address field enabling all of the nodes to receive the message if desired. In the body of the advertising message each of the one or more services provided at this node is identified. The method described in the patent, however, places a burden on the communications link and imposes overhead upon each client node in keeping track of the service providers, especially in wide area networks having a large number of station~.

To provide the actual network addresses of facilities on the network 10, a name service 20 is provided as one of the services 16 on a network of Figure 1, available to all users via a server 15. The network address of the name server 20 i always made available to a user 11, 12 or 15 upon sign-on or boot-up, so inquiries can be made to the name server 20 to obtain a network address for any service or procedure or function for which the user has a name or an alias or generic name. A primitive way of using the 20~83~

name service 20 would be for it to collect service advertisements as discussed above, rather than this burden being imposed upon local clients 11. Another way is for the service providers to export their availability, i.e., export an interface identifier as described below. In any event, the name service is a commonly-used utility on communications networks, and acts as a database, collecting actual network addresses for services (or other named elements) on the network and responding to inquiries by looking up data in its database and returning information found.

In the network of Figure 1, where a number of instances of various services, such as service-A, may be available at various physical locations, the name service 20 or RPC client mu t have some mechanism for selecting one or the other of these instances when an inquiry is made. For example, when an application is distributed, copies of the server (services 16~ are installed on several systems (servers 15) whose locations are unknown to clients ll. To use a service, a client 11 must find a compatible server lS, that is, a server that offers a given RPC interface and any resource, such as a database, that the client 11 re~uests. Services 16 (via their servers 153 use the name service 20 to advertise themselves to clients 11, this name service being a repository of information about computing resources.
Referring to Figure 4, the name service 20 maintains a network-wide database 21 called a namespace which stores information for applications for each distributed computing environment. Note that there may be more than one distributed computing environment, and thus more than one name service 20 and namespace ~1, existing on a network such ~s that of Figure 1 at a given time, but only one will be treated herein; also, the name service ~atabase may be partitioned or replicated - it need not be one server. To find information in the namespace 21, a client 11 must access the name service 20 that maintains the namespace 21. Information ~bout a service 16 and its applications is placed in a server entry 22 in the namespace 21, by an operation invoked by system management, by an applications program, or by the server exporting the informa~ion. This information includes location (network address), and the RPC interfaces and resources it offers. The name server 20 handles requests from clients 11 (received via messages over link 10) for information, returning (via messages) the information about a service 16 that satisfies the client's needs, if such an entry 22 exists.

According to the invention, an entry maintained by the name service 20 for a client 11 (or group of clients), to list a subset of the services 16 available to this client, may be a "configuration profile" as seen in Figure 5. A configuration profile 23 is a data entry in the namespace 21 in the form of a priority-ordered search list, keyed by service so it can contain information for multiple services 16. Each item 23a, 23b, etc., in a configuration profile 23 represents a service 16 and may contain server entries 22, service group entries 24, or other configuration profile entries 25 ~as described below~.

When more than one instance of a service is available on a network, the naming service 20 may be set up by an applications manager to define a service qroup entry 24 as seen in Figures 5 and 6. A service group is composed of the identities of an arbitrary set of the servers 15 which offer a service 16; the applications manager decides that this set should be treated as a group. In addition, a service group entry 24 can include the identity of another service group entry 24a. Defining one or more service -13- 20483n~

groups for a service frees clients 11 from dependence on any one server 15. When a client 11 requests an RPC
interface which corresponds to a service group, the name service 20 looks up (in the service group entry 24) information about the alternative servers, selects a compatible server 15 according to some predefined selection algorithm, and returns the binding (network address) to the client 11. The alqorithm is designe~ to share the load across a number of potential servers.

The name service 20 supports configuration profiles 23, according to the invention. Referring to Figure 5, a configuration profile 22 provides a mechanism for directing lookup operations in a name service. This lookup in a configuration profile is by service (i.e., RPC
interface ID) requested, rather than by the name of server or object. A configuration profile 22 contains information about the names of servers lS that offer a given RPC intPrface and associated resources. In a configuration profile 23, the ID of an RPC interface corresponds to a list of server entries 22, service group entries 24, and/or other confi~uration profile entries 25.
In turn, the service group entries 24 contain server entries as described above for service groups, and the Z5 configuration profile entrie contain server entries, service group entries and/or still other configuration profile entries.

A namespace configuration profile entry 23 in the name service 20 can thus be of three types (or a composite of these three types), as described: (1) a server entry 22 corresponding to a single instance of a server 15 running in its own address space - as part of a server's startup, it cxeates or verifies a server entry 22 in a na~e servize 20, placing the ID and versions of each interface it offers in that entry, along with at least one binding for 20~3i~

the interface, and optionally, a server entry 22 can also contain the object ID of any resource that the server can access; (2) a service-group entry 24 identifying a set of servers; (3) a configuration-profile entry identifying servers, service groups and/or other configuration profiles for an interface. When all types of entries are available, a client 11 importing a service interface searches for bindings by processing entries in the following order: (1) server entries, (2) service groups, and (3) configuration profiles. Although this order of processing is preferred, another order may be selected.

An ob~ect in the namespace 21 may contain many attributes, some created by RPC services, some created by other applications. Thus, while one attribute qualifies an object as a server entry, another may qualify the same object as a service-group entry, a configuration-profile entry, or some other non-RPC entry. An item 22 in the namespace 21 thus has at least one attribute field to qualify the object. One of these attribute fields may be a "priority" attribute, so that when the information is returned to the client the entries can be selected according to priority. For example, if ther¢ are several server~ identified a priority 1, these will be tried first (in pseudo-random or perhaps some deterministic order), and if none of these satisfy the requirements for supplying the service, then the ones have priority-2 attribute are tried, etc. The priority attributes ar~
ordinarily added or modified by the manager, although the client can be given access to generate his own configuration profile with selected priority attributes.

A server entry 22 is illustrated in more detail in Figures 7 and 7a. A server entry may be merely one interface ID and its binding as seen in Figure 7, or may have multiple interface IDs and bindings as seen in Figure 20~830~

7a. The name service 20 allows an application to create and reference each namespace entry 22 by name~ For each RPC interface exported by an RPC server 15, a server entry 22 maintained by the name service 20 contains (1) one or more interface IDs, and (2) one or more bindings to the server 15, where a binding is a network address. A single entry 22 can contain multiple IDs and versions, each with its own set of bindings, and, in addition, a server entry optionally can contain a set of RPC object IDs, each of which corresponds to a specific resource offered by the server 15, as seen in Figure 7a. When importing any RPC
interface offered by the server, a client 11 can request any of the object IDs in a server entry. To import an RPC
interface a client specifies a name-service entry (or group, or service group, or interface).

The name service operations used in connection with the configuration profiles of the invention are: (1) exporting, (2) managing service groups and configuration profiles, (3) importing, and (4) unexporting.

Exporting is an operation by which a server 15 places information about an interface in a designated namespace 21, to publicly advertise a service 16 for use by any application running on a client ll. Optionally, the server can specify the object IDs of resources offered by that service. Unexporting is an operation by which a server 15 removes one or more bindings ~or resources) from a server entry 22.
In managing service groups and configuration profiles, clien~s 11, servers 15 and independent manaqement modules ~not shown) can use the name service 20 for accessing a namespace 21 to create, update, look up, and remove serYer entries 22, service group entries 24 and 20~83~

configuration profile entries 23, subject to access cor.trol.

Importing is an operation by which the name service finds a binding that meets specific criteria specified by a client and returns that binding to the client. The selection is under some circumstances quasi-random, under others deterministic.

A feature needed in the management of configuration profiles is a mechanism for cycle checking, meaning that when a configuration profile is added or modified, the contents of each nested configuration profile are compared to make sure one doesn't contain an entry referring back to another configuration profile in the same chain, which would produce a condition of an infinite loop.

As thus described, a configuration profile is an optional, set-valued attribute of any entry in the distributed namespace 21. Each set member specifies a service or resource 16, via an interface W ID (Universal Unique Identifier) and interface version, acting as a lookup key within the profile. A comment field is used to contain the name of the interface. The name of the service interface i8 derived fro~ the name attribute in an RPC interface definition file; this is a local name, pos~ibly a~biguous. Each member also specifie~ the name of a service provider, and a priority. It i5 expected ~hat profiles will most frequently be used for RPC
services, although other services or resources can use them by si~ply creating their own W IDs. Service provider names refer either to individual servers, service groups, or other profiles. Name service entrieC for individual servers contain their protocol towers (a data structure repr~senting the address of the server and the hierarchy of network protocols used), including addresses; entries 2~8~

for service groups co~tain a list of ~equivalent' servers (which can contain names of other service groups);
servers, service groups, and profiles are all represented in the name service as distinguished attributes on any name service entry. The priority value specifies a search priority that can be used to group members of equal priority. The null W ID interface is used as a default profile pointer.

There are two categories of profile operations. The first are the primitive application program interface operations used to manipulate the profiles -- create the attributes, add members, delete members, read members, etc. These are all, conceptually, management operations done by a knowledgeable site or group or organization administrator. But they could be embedded in actual RPC
servers.

The second category of profile operations are the query (import or lookup) operations that resolve a profile request. The query operation~ require a single piece of configuration information (provided at boot-up by boot code, or provided by a manual entry) which is the starting profile. First, the starting profile is read. If it contains members for the requested service, the highest priority members listed are grouped together. Service groups and other profiles are elaborated, in a specified order. From the equal priority grouping, a sPmi-random selection is returned. If the Import or other query operation is satisfied, the query is done. If not, subse~uent selections from the equal priority ~roup are returned. This process continues until either the query is satisfied or all equal priority members are exhausted.
If the latter, then the next lower priority subset is gathered, and the selection iteration continues.

2~483~

If a profile mem~er points to another profile, it will be similarly elaborated. Profiles can be chained together in a hierarchy in this fashion. If none of the members for the specified interface satisfy the query, or there are no ~embers for the specified interface, the query continues via following the default interface (null W ID) profile members. The query operation detects cycles; this cannot simply be done when profiles are created, since the native name service access could also be used to manipulate profiles, but doesn't understand their semantics so wouldn't be able to check for cycles.

Configuration profiles are transparent to server applications and are transparent to client applications using RPC import or lookup operations. These client applications simply denote the service desired, and the operations beqin the profile search with the starting profile. This -- the starting profile -- is the only one piece of information required for access to numerous services. It can be explicitly specified or implicitly read from an environment variable or similar mechanism.

Thus when a new system is unpacked and connected to the network, the user must learn and enter into his system a starting profile~ This would typically be the user's or system's profile, and would be null except for a default profile entry pointing to a group or site profile already defined. The site profile would normally include a default organization profile, etc. So with this one piece of configur~tion information, the new system can make use of any of the ~PC services available through the entire defined search tree hierarchy of profiles.

Since the configuration profiles are stored in the distributed name service, they greatly simplify the installation of new systems. A distributed system manager 20483~

can install a new system in the environment and give it access to all the resources by simply providing the new system the name of its starting profile for the environment. Similarly, a new user can be configured by creating a new profile that is null except to link to a default profile as its parent.

While this invention has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to this description. It is therefore contemplated that the appended claims will cover any such modifications or embodiments as fall within the true scope of the invention.

Claims (21)

CLAIMS:
1. A method of operating a distributed computing system, comprising the steps of:

connecting a number of clients and a number of service providers to a communications network, each service provider supplying a service having a service name, where each client is able to send data to and receive data from each of said service providers via said network;

maintaining a name service as one of said service providers, said name service containing at least one configuration profile associated with at least one of said clients, each configuration profile including a priority-ordered search list mapping service names to service providers;

defining for at least one of said clients a selected one of said configuration profiles for use by said client;

making a request from one of said clients to said name service using one of said service names, and returning to said client information from said selected one of said configuration profiles for selecting from said search list one of said service providers and thereby providing to said one client a network address of said selected service provider;

making a request from said client to said selected service provider for said service.
2. A method according to claim 1 wherein said services include remote procedure calls and said service providers for remote procedure calls are mapped as interface specifications in said configuration profile.
3. A method according to claim 1 wherein each of said configuration profiles comprises a plurality of entries including:

optionally, one or more server entries each defining a network address of one of said service providers;

optionally, one or more service groups, each service group defining a plurality of said server entries; and optionally, one or more other configuration profiles.
4. A method according to claim 1 wherein said service names include alphabetical names and numeric names.
5. A method according to claim 1 wherein said communications network includes a local area network and a wide area network, and wherein at least some of said services are duplicated on said local area network and/or on said wide area network.
6. A distributed computing system, comprising:

a communications network having a number of clients and a number of service providers connected thereto, each service provider supplying one or more services, wherein each client is able to send data to and receive data from each of said service providers via said network using a unique network address;

one of said service providers providing a name service, said name service being a database service containing entries for each of said service providers and receiving inquiries from said clients for the identity of said service providers referenced by service name and returning information identifying said service providers by network address;

said name service including in said database a configuration profile for at least one client or group of clients, each configuration profile comprising a plurality of entries including:

optionally, one or more server entries each defining a network address of one of said service providers;

optionally, one or more service groups, each service group defining a plurality of said server entries; and optionally, one or more other configuration profiles;

each of said entries of each said configuration profile of said name service containing priority information to determine the order of use of said network addresses by said client after receipt of said inquiries by said name service;

and means for identifying for said client a selected one or more of said configuration profiles for reference upon making said inquiries.
7. A system according to claim 6 wherein said communications network includes a local area network and a wide area network, and wherein at least some of said services are duplicated on said local area network and/or on said wide area network.
8. A system according to claim 6 wherein said services include remote procedure calls, and said server entries include interface names for said remote procedure calls.
9. A system according to claim 6 wherein said entries of each said configuration profile make up a priority-ordered search list.
10. A name service for use in a distributed computing system, the system including a communications network having a number of clients and a number of service providers connected thereto, each of said service providers supplying a service identified by a service name, said name service comprising:

a database service containing entries for each of a plurality of services supplied by said service providers;

means for receiving inquiries from said clients for the identity of said service providers referenced by service name and returning information identifying said service providers by network address;

said means including a configuration profile included in said database for one of said clients or for a group of said clients, each said configuration profile comprising a plurality of entries including:

optionally, one or more server entries each defining a network address of one of said service providers;

optionally, one or more service groups, each service group defining a plurality of said server entries; and optionally, one or more other configuration profiles;

each of said entries of each said configuration profile of said name service containing priority information to determine the order of use of said network addresses by said client;

and means for identifying for said client a selected one or more of said configuration profiles for reference upon making said inquiries.
11. A name service according to claim 10 in combination with a communications network including a local area network and a wide area network, and wherein at least some of said services are duplicated on said local area network and/or on said wide area network.
12. A name service according to claim 10 wherein said services include remote procedure calls, and said server entries include interface names for said remote procedure calls.
13. A name service according to claim 10 wherein said entries of each said configuration profile make up a priority-ordered search list.
14. A method of operating a distributed computing system, comprising the steps of:

connecting a number of clients and a number of service providers to a communications network, each service provider supplying one or more services identified by a service name, wherein each client is able to send data to and receive data from each of said service providers via said network using a unique network address;

providing a name service as one of said service providers, and storing in said name service entries for each of said service providers;

receiving by said name service inquiries from said clients for the identity of said service providers referenced by service name and returning information from said name service to said clients identifying said service providers by network address in response to said inquiries;

said name service maintaining a configuration profile for at least one client or group of clients, each configuration profile storing a plurality of entries including:

optionally, one or more server entries each defining a network address of one of said service providers;

optionally, one or more service groups, each service group defining a plurality of said server entries; and optionally, one or more other configuration profiles;

and storing in each of said entries of said configuration profile of said name service priority information to determine the order of use of said network addresses by said client.
15. A method according to claim 14 wherein said communications network includes a local area network and a wide area network, and wherein at least some of said services are duplicated on said local area network and/or on said wide area network.
16. A method according to claim 14 wherein said services include remote procedure calls, and said server entries include interface names for said remote procedure calls.
17. A method according to claim 14 wherein said entries of said configuration profile make up a priority-ordered search list.
18. A communications network comprising:
a) a communications link;

b) a plurality of clients coupled to said communications link;

c) a plurality of service providers coupled to said communications network;

d) each one of said clients and each one of said service providers including processing means executing a separate instruction stream, and each one of said clients and each one of said service providers having a unique network address on said network;

e) each one of said clients and each one of said service providers having means for making remote procedure calls to said service providers via said communications link, when executing said instruction stream;

f) each one of said clients and each one of said service providers having means for sending and receiving messages to other clients and service providers via said communications link using said network addresses, said messages being employed in making said remote procedure calls;

g) one of said service providers being a name service functioning to return a message containing the network address of a particular one of said service providers in reply to a message from one of said clients giving the name of said service;

h) and means included in said name service to maintain a configuration profile for at least one of said clients or group of clients, each configuration profile comprising a priority-ordered search list mapping service names into service providers, each configuration profile including:

optionally, one or more server entries each defining a network address of a service provider for a given service name;

optionally, one or more named service groups each defining a plurality of said server entries; and optionally, one or more other said configuration profiles;

i) means for associating one of said configuration profiles with a given client;

j) and means in said name service to return said network addresses to said given client upon receipt of inquiries by said name service from said given client, for use by said client according to priority order of said list.
19. A network according to claim 18 wherein said service provider is identified in said service entry as a remote procedure call interface specification.
20. A network according to claim 18 wherein said communications network includes a local area network and a wide area network, and wherein at least some of said services are duplicated on said local area network and/or on said wide area network.
21. A network according to claim 18 wherein said service names include alphabetical names and numeric names.
CA002048306A 1990-10-02 1991-08-01 Distributed configuration profile for computing system Abandoned CA2048306A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59178490A 1990-10-02 1990-10-02
US07/591,784 1990-10-02

Publications (1)

Publication Number Publication Date
CA2048306A1 true CA2048306A1 (en) 1992-04-03

Family

ID=24367928

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002048306A Abandoned CA2048306A1 (en) 1990-10-02 1991-08-01 Distributed configuration profile for computing system

Country Status (5)

Country Link
US (1) US5475819A (en)
EP (1) EP0479660B1 (en)
JP (1) JPH04230567A (en)
CA (1) CA2048306A1 (en)
DE (1) DE69122830T2 (en)

Families Citing this family (319)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0520709A3 (en) * 1991-06-28 1994-08-24 Digital Equipment Corp A method for providing a security facility for remote systems management
DE4131380A1 (en) * 1991-09-20 1993-03-25 Siemens Ag METHOD FOR ADAPTING AN OBJECT-ORIENTED APPLICATION
JPH0778776B2 (en) * 1991-09-24 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション Access method and network for distributed resource part
US5392398A (en) * 1992-04-20 1995-02-21 International Business Machines Corporation System and method for deallocation a first message independently of the deallocation of a second message in a bundle of messages
DE69332751T2 (en) * 1992-12-10 2003-07-10 Matsushita Electric Ind Co Ltd Server and client
GB2273800A (en) * 1992-12-24 1994-06-29 Ibm Distributed data processing system
US6230211B1 (en) * 1993-01-19 2001-05-08 Canon Kabushiki Kaisha Container-based method for exchanging information between computer processes
WO1994025918A1 (en) * 1993-05-05 1994-11-10 Apple Computer, Inc. Method and apparatus for verifying compatibility between modular components in a computer system
CA2121612A1 (en) * 1993-05-21 1994-11-22 Chung-Hwa Herman Rao Methods and apparatus for making and using distributed applications
CA2124720C (en) * 1993-06-25 2002-10-22 Michael R. C. Seaman Integration of systems management services with an underlying system object model
US6751796B1 (en) 1993-06-25 2004-06-15 Microsoft Corporation Integration of systems management services with an underlying system object model
US6289390B1 (en) 1993-08-18 2001-09-11 Microsoft Corporation System and method for performing remote requests with an on-line service network
GB2281793A (en) * 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
JP3599364B2 (en) * 1993-12-15 2004-12-08 富士通株式会社 Network equipment
US5717950A (en) * 1994-01-11 1998-02-10 Hitachi, Ltd. Input/output device information management system for multi-computer system
US5781743A (en) * 1994-02-18 1998-07-14 Hitachi, Ltd. System and method for distributed data processing using different server system specifications
NZ281276A (en) * 1994-02-28 1998-07-28 British Telecomm Communications networks service delivery infrastructure interacting with billing and network management systems
US7143055B1 (en) 1996-10-25 2006-11-28 Ipf, Inc. Internet-based system for collecting, managing and serving consumer product-related information over the internet using trademarks and universal resource locators (urls) symbolically-linked by manufacturers of consumer products and/or their agents
US6961712B1 (en) 1996-10-25 2005-11-01 Ipf, Inc. Consumer product information request (CPIR) enabling servlets and web-based consumer product information catalogs employing the same
EP0713183A3 (en) * 1994-11-18 1996-10-02 Microsoft Corp Network independent file shadowing
US5850518A (en) * 1994-12-12 1998-12-15 Northrup; Charles J. Access-method-independent exchange
EP0718784B1 (en) * 1994-12-20 2003-08-27 Sun Microsystems, Inc. Method and system for the retrieval of personalized information
WO1996027835A1 (en) * 1995-03-06 1996-09-12 Bell Communications Research, Inc. Service management operation and support system and method________________________________________________________________________
JP3709895B2 (en) * 1995-04-06 2005-10-26 ソニー株式会社 Mirror site information server and mirror site information providing method
US6701428B1 (en) * 1995-05-05 2004-03-02 Apple Computer, Inc. Retrieval of services by attribute
US5687366A (en) * 1995-05-05 1997-11-11 Apple Computer, Inc. Crossing locale boundaries to provide services
US6418324B1 (en) 1995-06-01 2002-07-09 Padcom, Incorporated Apparatus and method for transparent wireless communication between a remote device and host system
US6249800B1 (en) * 1995-06-07 2001-06-19 International Business Machines Corporartion Apparatus and accompanying method for assigning session requests in a multi-server sysplex environment
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US6901433B2 (en) * 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
US5956489A (en) * 1995-06-07 1999-09-21 Microsoft Corporation Transaction replication system and method for supporting replicated transaction-based services
JPH096706A (en) * 1995-06-22 1997-01-10 Hitachi Ltd Loosely coupled computer system
WO1997003404A1 (en) * 1995-07-11 1997-01-30 Hitachi, Ltd. Service offering system
US5933599A (en) * 1995-07-17 1999-08-03 Microsoft Corporation Apparatus for presenting the content of an interactive on-line network
US6047288A (en) * 1995-07-20 2000-04-04 Canon Kabushiki Kaisha Group environment setting method and system thereof to provide an equivalent environment for plural participants
US5878212A (en) * 1995-07-31 1999-03-02 At&T Corp. System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy
SE516325C2 (en) * 1995-08-04 2001-12-17 Telia Ab Arrangements for computer controlled telephony and associated public server
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US5956509A (en) 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
US5889962A (en) * 1995-10-13 1999-03-30 Apple Computer, Inc. Method and system for providing an additional identifier for sessions in a file server
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US8037158B2 (en) 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US7930340B2 (en) 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US8271339B2 (en) 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
ES2108646B1 (en) * 1995-11-30 1998-07-01 Telefonica Nacional Espana Co STRUCTURE FOR AN ELECTRONIC INFORMATION SYSTEM.
US5838921A (en) * 1995-12-08 1998-11-17 Silicon Graphics, Inc. Distributed connection management system with replication
ES2175011T3 (en) * 1995-12-13 2002-11-16 Siemens Ag CIRCUIT PROCEDURE AND PROVISION FOR ROADING AND BILLING IN A SWITCHING CENTER.
US6148323A (en) * 1995-12-29 2000-11-14 Hewlett-Packard Company System and method for managing the execution of system management
US5822523A (en) 1996-02-01 1998-10-13 Mpath Interactive, Inc. Server-group messaging system for interactive applications
US6128657A (en) * 1996-02-14 2000-10-03 Fujitsu Limited Load sharing system
US6167432A (en) * 1996-02-29 2000-12-26 Webex Communications, Inc., Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users
US5826000A (en) * 1996-02-29 1998-10-20 Sun Microsystems, Inc. System and method for automatic configuration of home network computers
CA2199108C (en) * 1996-03-05 2002-04-23 Hirotoshi Maegawa Parallel distributed processing system and method of same
CA2198540A1 (en) * 1996-03-05 1997-09-05 Hirotoshi Maegawa Multimedia network system and method of multimedia communication of same
US5809242A (en) * 1996-04-19 1998-09-15 Juno Online Services, L.P. Electronic mail system for displaying advertisement at local computer received from remote system while the local computer is off-line the remote system
US6263442B1 (en) * 1996-05-30 2001-07-17 Sun Microsystems, Inc. System and method for securing a program's execution in a network environment
US5928323A (en) * 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5915096A (en) * 1996-05-31 1999-06-22 Sun Microsystems, Inc. Network browsing system and method
US6625641B1 (en) * 1996-06-03 2003-09-23 Sun Microsystems, Inc. Method and apparatus for providing client support without installation of server software
US6175854B1 (en) 1996-06-11 2001-01-16 Ameritech Services, Inc. Computer system architecture and method for multi-user, real-time applications
US5862331A (en) * 1996-06-21 1999-01-19 Sun Microsystems, Inc. Name service system and method for automatic updating on interconnected hosts
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6052711A (en) * 1996-07-01 2000-04-18 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session web access in an interprise computing framework system.
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US5748897A (en) * 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5818448A (en) * 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
US5805786A (en) * 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment
US5991809A (en) 1996-07-25 1999-11-23 Clearway Technologies, Llc Web serving system that coordinates multiple servers to optimize file transfers
US6212578B1 (en) * 1996-09-09 2001-04-03 Oracle Corporation Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls
JP3731263B2 (en) * 1996-09-11 2006-01-05 ソニー株式会社 Communication method and electronic device
US5978840A (en) * 1996-09-26 1999-11-02 Verifone, Inc. System, method and article of manufacture for a payment gateway system architecture for processing encrypted payment transactions utilizing a multichannel, extensible, flexible architecture
US6757729B1 (en) * 1996-10-07 2004-06-29 International Business Machines Corporation Virtual environment manager for network computers
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6334158B1 (en) * 1996-11-29 2001-12-25 Agilent Technologies, Inc. User-interactive system and method for integrating applications
US5996012A (en) * 1996-12-10 1999-11-30 International Business Machines Corporation Application development process for use in a distributed computer enterprise environment
WO1998027690A1 (en) * 1996-12-16 1998-06-25 Samsung Electronics Co. Ltd. Method for sending e-mail messages in a local area network, and device for applying same
US6026234A (en) * 1997-03-19 2000-02-15 International Business Machines Corporation Method and apparatus for profiling indirect procedure calls in a computer program
US6654933B1 (en) 1999-09-21 2003-11-25 Kasenna, Inc. System and method for media stream indexing
US6278705B1 (en) 1997-04-08 2001-08-21 3Com Corporation Integrated architecture to support a single system image across multiple network access servers
US6026085A (en) 1997-04-08 2000-02-15 3Com Corporation Architecture to support a single system image across multiple network access servers
US6147987A (en) * 1997-04-08 2000-11-14 3Com Corporation Supporting load sharing across multiple network access servers
US7162519B2 (en) 1998-05-01 2007-01-09 Stratum Technologies Corporation Structure and method for providing customized web pages-therefor
US6401114B1 (en) 1997-05-01 2002-06-04 Stratum Technologies Corporation Method and apparatus for dynamic programming across a computer network
SE9702239L (en) * 1997-06-12 1998-07-06 Telia Ab Arrangements for load balancing in computer networks
WO1998058356A2 (en) * 1997-06-16 1998-12-23 Keilani Badieh Z Ii System and method for processing multiple financial applications using a three-tier value network
US7039599B2 (en) 1997-06-16 2006-05-02 Doubleclick Inc. Method and apparatus for automatic placement of advertising
US8516132B2 (en) 1997-06-19 2013-08-20 Mymail, Ltd. Method of accessing a selected network
US6151639A (en) * 1997-06-19 2000-11-21 Sun Microsystems, Inc. System and method for remote object invocation
US6571290B2 (en) 1997-06-19 2003-05-27 Mymail, Inc. Method and apparatus for providing fungible intercourse over a network
US6044465A (en) * 1997-07-07 2000-03-28 International Business Machines Corporation User profile storage on and retrieval from a non-native server domain for use in a client running a native operating system
US6012100A (en) * 1997-07-14 2000-01-04 Freegate Corporation System and method of configuring a remotely managed secure network interface
US6446108B1 (en) * 1997-07-18 2002-09-03 Lucent Technologies Inc. Method for wide area network service location
US6065046A (en) * 1997-07-29 2000-05-16 Catharon Productions, Inc. Computerized system and associated method of optimally controlled storage and transfer of computer programs on a computer network
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6076099A (en) * 1997-09-09 2000-06-13 Chen; Thomas C. H. Method for configurable intelligent-agent-based wireless communication system
US5931947A (en) * 1997-09-11 1999-08-03 International Business Machines Corporation Secure array of remotely encrypted storage devices
US6405315B1 (en) 1997-09-11 2002-06-11 International Business Machines Corporation Decentralized remotely encrypted file system
JPH1196099A (en) * 1997-09-19 1999-04-09 Hitachi Ltd Service providing system
US6192408B1 (en) 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
US6026438A (en) * 1997-10-31 2000-02-15 Merrill Lynch & Co., Inc. Dynamic workstation configuration processor
US6167449A (en) * 1997-11-19 2000-12-26 Apple Computer, Inc. System and method for identifying and locating services on multiple heterogeneous networks using a query by type
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6567774B1 (en) 1998-01-30 2003-05-20 Compaq Computer Corporation Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk
US6151624A (en) * 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
JP3450175B2 (en) * 1998-02-19 2003-09-22 富士通株式会社 Operator response scenario system
US6272534B1 (en) * 1998-03-04 2001-08-07 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US7007072B1 (en) 1999-07-27 2006-02-28 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6681327B1 (en) 1998-04-02 2004-01-20 Intel Corporation Method and system for managing secure client-server transactions
US6912588B1 (en) * 1998-04-02 2005-06-28 Intel Corporation System and method for managing client requests in client-server networks
US6321249B1 (en) * 1998-04-28 2001-11-20 Xerox Corporation Dynamic system configuration using an object-based client-server system
US6119157A (en) * 1998-05-14 2000-09-12 Sun Microsystems, Inc. Protocol for exchanging configuration data in a computer network
AU8567798A (en) 1998-06-19 2000-01-05 Netsafe, Inc. Method and apparatus for providing connections over a network
WO2000008802A2 (en) 1998-08-03 2000-02-17 Doubleclick Inc. Network for distribution of re-targeted advertising
US6567849B2 (en) * 1998-08-17 2003-05-20 International Business Machines Corporation System and method for configuring and administering multiple instances of web servers
US6493749B2 (en) * 1998-08-17 2002-12-10 International Business Machines Corporation System and method for an administration server
US7305451B2 (en) * 1998-08-24 2007-12-04 Microsoft Corporation System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network
US6334178B1 (en) 1998-08-31 2001-12-25 International Business Machines Corporation Multiprocessing system with automated propagation of changes to centrally maintained configuration settings
US6167408A (en) * 1998-08-31 2000-12-26 International Business Machines Corporation Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system
US6553421B1 (en) 1998-09-15 2003-04-22 International Business Machines Corporation Method and system for broadcast management in a data communication network that permits namesharing
US6546425B1 (en) 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8078727B2 (en) 1998-10-09 2011-12-13 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7293107B1 (en) 1998-10-09 2007-11-06 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7136645B2 (en) 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8060656B2 (en) 1998-10-09 2011-11-15 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7778260B2 (en) 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6477543B1 (en) * 1998-10-23 2002-11-05 International Business Machines Corporation Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US6581088B1 (en) * 1998-11-05 2003-06-17 Beas Systems, Inc. Smart stub or enterprise javaTM bean in a distributed processing system
US6571274B1 (en) 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
US6385643B1 (en) 1998-11-05 2002-05-07 Bea Systems, Inc. Clustered enterprise Java™ having a message passing kernel in a distributed processing system
US6236999B1 (en) * 1998-11-05 2001-05-22 Bea Systems, Inc. Duplicated naming service in a distributed processing system
SE521504C2 (en) * 1998-12-01 2003-11-04 Ericsson Telefon Ab L M Arrangement and method in a network where transactions create events stored in interserver messages
SE523204C2 (en) * 1998-12-01 2004-04-06 Ericsson Telefon Ab L M Arrangement, communication network and method where a device of clients includes a database of information on resources of servers, controls communication between clients and servers
US6430578B1 (en) * 1998-12-04 2002-08-06 Sun Microsystems, Inc. Name service for network management architecture
US7216348B1 (en) 1999-01-05 2007-05-08 Net2Phone, Inc. Method and apparatus for dynamically balancing call flow workloads in a telecommunications system
JP3581589B2 (en) 1999-01-11 2004-10-27 株式会社日立製作所 Communication network system and service management method in communication network system
US7676556B2 (en) * 1999-01-22 2010-03-09 Palm, Inc. Method and apparatus for configuring information for multiple network access providers
US6937597B1 (en) * 1999-02-26 2005-08-30 Lucent Technologies Inc. Signaling method for internet telephony
US6795860B1 (en) * 1999-04-05 2004-09-21 Cisco Technology, Inc. System and method for selecting a service with dynamically changing information
GB2348985A (en) * 1999-04-15 2000-10-18 Ibm Centralized affinity maintenance in a workload managed client/server system
US6920455B1 (en) * 1999-05-19 2005-07-19 Sun Microsystems, Inc. Mechanism and method for managing service-specified data in a profile service
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US7249097B2 (en) * 1999-06-18 2007-07-24 Echarge Corporation Method for ordering goods, services, and content over an internetwork using a virtual payment account
EP1194874A2 (en) 1999-06-18 2002-04-10 Echarge Corporation Method and apparatus for ordering goods, services and content over an internetwork using a virtual payment account
US6636961B1 (en) 1999-07-09 2003-10-21 International Business Machines Corporation System and method for configuring personal systems
US6542929B1 (en) 1999-08-31 2003-04-01 International Business Machines Corporation Relaxed quorum determination for a quorum based operation
US6526432B1 (en) * 1999-08-31 2003-02-25 International Business Machines Corporation Relaxed quorum determination for a quorum based operation of a distributed computing system
US6438594B1 (en) * 1999-08-31 2002-08-20 Accenture Llp Delivering service to a client via a locally addressable interface
US6289382B1 (en) * 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
US6487678B1 (en) 1999-08-31 2002-11-26 International Business Machines Corporation Recovery procedure for a dynamically reconfigured quorum group of processors in a distributed computing system
US6490693B1 (en) 1999-08-31 2002-12-03 International Business Machines Corporation Dynamic reconfiguration of a quorum group of processors in a distributed computing system
US6697851B1 (en) * 1999-09-02 2004-02-24 International Business Machines Corporation Method and apparatus for identifying clients using incoming option data
JP3769999B2 (en) * 1999-09-30 2006-04-26 富士通株式会社 Service distribution device
US7328206B2 (en) * 1999-10-15 2008-02-05 Microsoft Corporation Extensions for adding and removing calculated members in a multidimensional database
US6594695B1 (en) * 1999-12-08 2003-07-15 Covad Communitions Group, Inc. Network profiling system
US20030149738A1 (en) * 1999-12-08 2003-08-07 Jacobs Paul E. E-mail software and method and system for distributing advertisements to client devices that have such e-mail software installed thereon
US20070005428A1 (en) * 1999-12-08 2007-01-04 Jacobs Paul E Method for distributing advertisements to client devices having e-mail software installed including multiple advertisement operational modes
US20030050832A1 (en) * 1999-12-08 2003-03-13 Jacobs Paul E. E-mail software and method and system for distributing advertisements to client devices that have such E-mail software installed thereon
US20070038728A1 (en) * 1999-12-08 2007-02-15 Jacobs Paul E A system for controlling the distribution of advertisements to informational client devices using a playlist
US20010047408A1 (en) * 1999-12-08 2001-11-29 Jacobs Paul E. E-mail software and method and system for distributing advertisements to client devices that have such E-mail software installed thereon
US8712848B2 (en) * 1999-12-08 2014-04-29 Qualcomm Incorporated Method for distributing advertisements to client devices using an obscured ad monitoring function
WO2001043010A1 (en) * 1999-12-08 2001-06-14 Qualcomm Incorporated Monitoring user interaction with web advertisements
US7103643B1 (en) 1999-12-08 2006-09-05 Qualcomm Inc E-mail software and method and system for distributing advertisements to client devices that have such E-mail software installed thereon
US20010044736A1 (en) * 1999-12-08 2001-11-22 Jacobs Paul E. E-mail software and method and system for distributing advertisements to client devices that have such e-mail software installed thereon
JP2004500637A (en) * 1999-12-08 2004-01-08 クゥアルコム・インコーポレイテッド E-mail software and method and system for distributing advertisements to client devices
US20010034763A1 (en) * 1999-12-08 2001-10-25 Jacobs Paul E. System for distributing advertisements to client devices
US7331058B1 (en) 1999-12-16 2008-02-12 International Business Machines Corporation Distributed data structures for authorization and access control for computing resources
US6854009B1 (en) 1999-12-22 2005-02-08 Tacit Networks, Inc. Networked computer system
JP2001282732A (en) * 2000-04-03 2001-10-12 Komatsu Ltd Method and system for providing service to distant user through inter-computer communication
US6904601B1 (en) 2000-04-07 2005-06-07 International Business Machines Corporation Method and system for providing remote procedure calls in a multiprocessing system
US7783695B1 (en) * 2000-04-19 2010-08-24 Graphics Properties Holdings, Inc. Method and system for distributed rendering
US7062527B1 (en) * 2000-04-19 2006-06-13 Silicon Graphics, Inc. Management and scheduling of a distributed rendering method and system
US7092983B1 (en) 2000-04-19 2006-08-15 Silicon Graphics, Inc. Method and system for secure remote distributed rendering
US6922724B1 (en) 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US7725525B2 (en) * 2000-05-09 2010-05-25 James Duncan Work Method and apparatus for internet-based human network brokering
IL152937A0 (en) * 2000-05-25 2003-06-24 Echarge Corp Secure transaction protocol
US6925490B1 (en) * 2000-05-31 2005-08-02 International Business Machines Corporation Method, system and program products for controlling system traffic of a clustered computing environment
US6725261B1 (en) * 2000-05-31 2004-04-20 International Business Machines Corporation Method, system and program products for automatically configuring clusters of a computing environment
US7277956B2 (en) 2000-07-28 2007-10-02 Kasenna, Inc. System and method for improved utilization of bandwidth in a computer system serving multiple users
US6907474B2 (en) * 2000-09-15 2005-06-14 Microsoft Corporation System and method for adding hardware registers to a power management and configuration system
US6938079B1 (en) * 2000-09-19 2005-08-30 3Com Corporation System and method for automatically configuring a client device
US6978301B2 (en) 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US20020069271A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Event manager for network operating system
US7054946B2 (en) * 2000-12-06 2006-05-30 Intelliden Dynamic configuration of network devices to enable data transfers
US7249170B2 (en) 2000-12-06 2007-07-24 Intelliden System and method for configuration, management and monitoring of network resources
US8219662B2 (en) 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
WO2002063898A1 (en) 2001-02-05 2002-08-15 Personity, Inc. Presence and availability management system
US20020116484A1 (en) * 2001-02-16 2002-08-22 Gemini Networks, Inc. System, method, and computer program product for supporting multiple service providers with a trouble ticket capability
DE60122782T2 (en) * 2001-03-02 2007-08-30 Nokia Corp. ADDRESSING METHOD AND SYSTEM FOR USE OF ANYCAST ADDRESS
JP2004533738A (en) 2001-03-02 2004-11-04 カセンナ インコーポレイテッド A metadata-enabled push-pull model for efficiently distributing video content over networks with low latency
US7113987B2 (en) * 2001-03-05 2006-09-26 Quest Communications International, Inc. Method and system for dynamic message registration by a service controller
US7027408B2 (en) * 2001-03-05 2006-04-11 Qwest Communications International, Inc Method and system for dynamic service profile integration by a service controller
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US7246158B2 (en) * 2001-04-23 2007-07-17 Ricoh Company, Ltd. System, computer program product and method for selecting an application service provider
CA2449603A1 (en) * 2001-06-08 2002-12-19 Concord Communications, Inc. Interactive hierarchical status display
US7415671B2 (en) * 2001-06-08 2008-08-19 Computer Associates Think, Inc. Interactive hierarchical status display
US7562146B2 (en) 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7200548B2 (en) * 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
US8296400B2 (en) 2001-08-29 2012-10-23 International Business Machines Corporation System and method for generating a configuration schema
US7644171B2 (en) 2001-09-12 2010-01-05 Netmotion Wireless, Inc. Mobile networking system and method using IPv4 and IPv6
US7240114B2 (en) * 2001-09-25 2007-07-03 Hewlett-Packard Development Company, L.P. Namespace management in a distributed file system
US20030079053A1 (en) * 2001-10-23 2003-04-24 Kevin Burns System and method for evaluating effectiveness of network configuration management tools
EP1309147A1 (en) * 2001-10-30 2003-05-07 Hewlett-Packard Company, A Delaware Corporation Method and apparatus for managing profile information in a heterogeneous or homogeneous network environment
JP2003150627A (en) * 2001-11-13 2003-05-23 Ntt Docomo Inc Service information providing system and service information providing method
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7661129B2 (en) 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US20030182425A1 (en) * 2002-03-01 2003-09-25 Docomo Communications Laboratories Usa, Inc. Communication system capable of executing a communication task in a manner adaptable to available distributed resources
US7206388B2 (en) 2002-03-18 2007-04-17 Openwave Systems Inc. System and method for providing voice-activated presence information
US20030182362A1 (en) * 2002-03-22 2003-09-25 Sun Microsystems, Inc. System and method for distributed preference data services
US6959329B2 (en) * 2002-05-15 2005-10-25 Intelliden System and method for transforming configuration commands
US20040003067A1 (en) * 2002-06-27 2004-01-01 Daniel Ferrin System and method for enabling a user interface with GUI meta data
US7464145B2 (en) 2002-07-11 2008-12-09 Intelliden, Inc. Repository-independent system and method for asset management and reconciliation
US7308473B1 (en) * 2002-07-29 2007-12-11 Rockwell Automation Technologies, Inc. System and methodology that facilitates client and server interaction in a distributed industrial automation environment
US7366893B2 (en) 2002-08-07 2008-04-29 Intelliden, Inc. Method and apparatus for protecting a network from attack
US7461158B2 (en) 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US20040030709A1 (en) * 2002-08-12 2004-02-12 Gateway, Inc. Personalized setup poster generation
JP2004102547A (en) * 2002-09-06 2004-04-02 Nec Corp Communication system, communication server, and communicating method
US7558847B2 (en) 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
AU2003280629A1 (en) * 2002-11-01 2004-05-25 Matsushita Electric Industrial Co., Ltd. Service software acquiring method, system and electronic communication device used therefor
US20040117437A1 (en) * 2002-12-16 2004-06-17 Exanet, Co. Method for efficient storing of sparse files in a distributed cache
US7480657B1 (en) * 2003-01-06 2009-01-20 Cisco Technology, Inc. Caching information for multiple service applications
JP4027818B2 (en) 2003-02-21 2007-12-26 株式会社エヌ・ティ・ティ・ドコモ Multihop communication system, radio control station, radio station, and multihop communication method
US7111188B2 (en) * 2003-07-31 2006-09-19 International Business Machines Corporation Dynamically configurable fault tolerance in autonomic computing with multiple service points
WO2005060169A1 (en) * 2003-12-17 2005-06-30 Telefonaktiebolaget Lm Ericsson (Publ) A method and a system for establishing and maintaining data communication between a first and a second local area network
US9003548B2 (en) 2004-04-13 2015-04-07 Nl Systems, Llc Method and system for digital rights management of documents
US20050243857A1 (en) * 2004-04-30 2005-11-03 Padcom, Inc. Simultaneously routing data over multiple wireless networks
US7464090B2 (en) * 2006-01-27 2008-12-09 Google Inc. Object categorization for information extraction
US7672971B2 (en) * 2006-02-17 2010-03-02 Google Inc. Modular architecture for entity normalization
US7769579B2 (en) 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US8244689B2 (en) 2006-02-17 2012-08-14 Google Inc. Attribute entropy as a signal in object normalization
US20060206586A1 (en) * 2005-03-09 2006-09-14 Yibei Ling Method, apparatus and system for a location-based uniform resource locator
US7953720B1 (en) 2005-03-31 2011-05-31 Google Inc. Selecting the best answer to a fact query from among a set of potential answers
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US9208229B2 (en) 2005-03-31 2015-12-08 Google Inc. Anchor text summarization for corroboration
US8239394B1 (en) 2005-03-31 2012-08-07 Google Inc. Bloom filters for query simulation
US8682913B1 (en) 2005-03-31 2014-03-25 Google Inc. Corroborating facts extracted from multiple sources
JP4182083B2 (en) * 2005-05-12 2008-11-19 キヤノン株式会社 Apparatus, method, and program for managing network devices connected to network
CN100372318C (en) * 2005-05-20 2008-02-27 清华大学 Parallel flow dispatching method for 10G network performance testing system
US8996470B1 (en) 2005-05-31 2015-03-31 Google Inc. System for ensuring the internal consistency of a fact repository
US7831545B1 (en) 2005-05-31 2010-11-09 Google Inc. Identifying the unifying subject of a set of facts
US7657871B2 (en) 2005-07-22 2010-02-02 Sbc Knowledge Ventures, L.P. Method and system of managing configuration profiles of a plurality of deployed network elements
US8239682B2 (en) 2005-09-28 2012-08-07 Nl Systems, Llc Method and system for digital rights management of documents
US8819119B2 (en) * 2005-11-10 2014-08-26 The Mathworks, Inc. Dynamic definition for concurrent computing environments
DE602006014192D1 (en) 2005-12-02 2010-06-17 Citrix Systems Inc CERTIFICATION CERTIFICATES FROM A PROXY SERVER FOR A VIRTUALIZED CALCULATION ENVIRONMENT TO ACCESS A REMOTE RESOURCE
US8055674B2 (en) 2006-02-17 2011-11-08 Google Inc. Annotation framework
US20070179965A1 (en) * 2006-01-27 2007-08-02 Hogue Andrew W Designating data objects for analysis
US7991797B2 (en) * 2006-02-17 2011-08-02 Google Inc. ID persistence through normalization
US7555471B2 (en) * 2006-01-27 2009-06-30 Google Inc. Data object visualization
US7454398B2 (en) * 2006-02-17 2008-11-18 Google Inc. Support for object search
US8954426B2 (en) 2006-02-17 2015-02-10 Google Inc. Query language
US8260785B2 (en) 2006-02-17 2012-09-04 Google Inc. Automatic object reference identification and linking in a browseable fact repository
US7778952B2 (en) * 2006-01-27 2010-08-17 Google, Inc. Displaying facts on a linear graph
US7925676B2 (en) * 2006-01-27 2011-04-12 Google Inc. Data object visualization using maps
US20070185870A1 (en) 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using graphs
US7774328B2 (en) * 2006-02-17 2010-08-10 Google Inc. Browseable fact repository
US7793329B2 (en) 2006-02-06 2010-09-07 Kasenna, Inc. Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique
US9336333B2 (en) 2006-02-13 2016-05-10 Linkedin Corporation Searching and reference checking within social networks
US8700568B2 (en) 2006-02-17 2014-04-15 Google Inc. Entity normalization via name normalization
US7590628B2 (en) * 2006-03-31 2009-09-15 Google, Inc. Determining document subject by using title and anchor text of related documents
US7436296B2 (en) * 2006-04-21 2008-10-14 Quartet Technology, Inc System and method for controlling a remote environmental control unit
US7436293B2 (en) * 2006-04-21 2008-10-14 Quartet Technology, Inc System and method for configuring and maintaining individual and multiple environmental control units over a communication network from an administration system
US7436292B2 (en) * 2006-04-21 2008-10-14 Quartet Technology, Inc. System and method for controlling a network of environmental control units
JP4256897B2 (en) * 2006-06-16 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus, method and program for providing matching service
US8954412B1 (en) 2006-09-28 2015-02-10 Google Inc. Corroborating facts in electronic documents
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US20080194234A1 (en) * 2007-02-08 2008-08-14 Dlb Finance & Consultancy B.V. System and method of establishing a telephone connection
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US7739212B1 (en) 2007-03-28 2010-06-15 Google Inc. System and method for updating facts in a fact repository
US8239350B1 (en) 2007-05-08 2012-08-07 Google Inc. Date ambiguity resolution
US8239751B1 (en) 2007-05-16 2012-08-07 Google Inc. Data from web documents in a spreadsheet
US8086674B2 (en) * 2007-06-21 2011-12-27 Research In Motion Limited Attachment server network for viewing attachments on a portable electronic device
US7966291B1 (en) 2007-06-26 2011-06-21 Google Inc. Fact-based object merging
US7970766B1 (en) 2007-07-23 2011-06-28 Google Inc. Entity type assignment
US8738643B1 (en) 2007-08-02 2014-05-27 Google Inc. Learning synonymous object names from anchor texts
US8812435B1 (en) 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
US20090158403A1 (en) * 2007-12-14 2009-06-18 Dirk Leonard Benschop Method and system for permitting or denying service
US8239921B2 (en) 2008-01-03 2012-08-07 Dlb Finance & Consultancy B.V. System and method of retrieving a service contact identifier
CA2711173A1 (en) * 2008-01-03 2009-07-09 Dlb Finance & Consultancy B.V. System and method of retrieving a service contact identifier
US8463921B2 (en) 2008-01-17 2013-06-11 Scipioo Holding B.V. Method and system for controlling a computer application program
US8645972B2 (en) 2008-05-29 2014-02-04 Ebay Inc. Method and system for interface data utilization
US10755287B2 (en) * 2008-11-25 2020-08-25 Microsoft Technology Licensing, Llc Selecting between client-side and server-side market detection
US9417938B2 (en) 2009-03-17 2016-08-16 Microsoft Technology Licensing, Llc Remote procedure call chains
US9087059B2 (en) 2009-08-07 2015-07-21 Google Inc. User interface for presenting search results for multiple regions of a visual query
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US8250213B2 (en) 2009-11-16 2012-08-21 At&T Intellectual Property I, L.P. Methods and apparatus to allocate resources associated with a distributive computing network
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US8402139B2 (en) * 2010-02-26 2013-03-19 Red Hat, Inc. Methods and systems for matching resource requests with cloud computing environments
WO2011109420A1 (en) * 2010-03-01 2011-09-09 Silver Tail Systems System and method for network security including detection of attacks through partner websites
EP2405624A1 (en) * 2010-07-09 2012-01-11 Thomson Licensing Method for operating a remote procedure call handler in a client and a server and computer system comprising the same.
US8473557B2 (en) 2010-08-24 2013-06-25 At&T Intellectual Property I, L.P. Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
US8938534B2 (en) 2010-12-30 2015-01-20 Ss8 Networks, Inc. Automatic provisioning of new users of interest for capture on a communication network
US9058323B2 (en) 2010-12-30 2015-06-16 Ss8 Networks, Inc. System for accessing a set of communication and transaction data associated with a user of interest sourced from multiple different network carriers and for enabling multiple analysts to independently and confidentially access the set of communication and transaction data
US8972612B2 (en) 2011-04-05 2015-03-03 SSB Networks, Inc. Collecting asymmetric data and proxy data on a communication network
US9432258B2 (en) 2011-06-06 2016-08-30 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks to reduce latency
US9386035B2 (en) 2011-06-21 2016-07-05 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks for security
US10044678B2 (en) 2011-08-31 2018-08-07 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks with virtual private networks
US9792451B2 (en) 2011-12-09 2017-10-17 Echarge2 Corporation System and methods for using cipher objects to protect data
US9350762B2 (en) 2012-09-25 2016-05-24 Ss8 Networks, Inc. Intelligent feedback loop to iteratively reduce incoming network data for analysis
US9753784B2 (en) 2013-11-27 2017-09-05 At&T Intellectual Property I, L.P. Cloud delivery platform
US9830593B2 (en) 2014-04-26 2017-11-28 Ss8 Networks, Inc. Cryptographic currency user directory data and enhanced peer-verification ledger synthesis through multi-modal cryptographic key-address mapping
WO2016172474A1 (en) 2015-04-24 2016-10-27 Encryptics, Llc System and method for enhanced data protection
WO2017152037A1 (en) 2016-03-04 2017-09-08 1Usf, Inc. Systems and methods for media codecs and containers
CN106878367B (en) * 2016-07-19 2020-04-07 阿里巴巴集团控股有限公司 Method and device for realizing asynchronous call of service interface
US10846070B2 (en) 2018-07-05 2020-11-24 At&T Intellectual Property I, L.P. Facilitating cloud native edge computing via behavioral intelligence
US11657391B1 (en) 2019-05-24 2023-05-23 Hiro Systems Pbc System and method for invoking smart contracts
US10699269B1 (en) * 2019-05-24 2020-06-30 Blockstack Pbc System and method for smart contract publishing
US11513815B1 (en) 2019-05-24 2022-11-29 Hiro Systems Pbc Defining data storage within smart contracts

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4395753A (en) * 1980-06-26 1983-07-26 Gte Automatic Electric Labs Inc. Allocation controller providing for access of multiple common resources by a plurality of central processing units
US4455605A (en) * 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4553202A (en) * 1982-05-06 1985-11-12 International Business Machines Corporation User controlled dialog resource switching in a multi-tasking word processor
US4814974A (en) * 1982-07-02 1989-03-21 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements
US4823122A (en) * 1984-06-01 1989-04-18 Digital Equipment Corporation Local area network for digital data processing system
DE3889904T2 (en) * 1987-09-08 1995-01-12 Digital Equipment Corp NAME MANAGEMENT FOR A DIGITAL DATA PROCESSING SYSTEM NETWORK.
US5167035A (en) * 1988-09-08 1992-11-24 Digital Equipment Corporation Transferring messages between nodes in a network
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
EP0384339B1 (en) * 1989-02-24 1997-04-02 Digital Equipment Corporation Broker for computer network server selection

Also Published As

Publication number Publication date
DE69122830T2 (en) 1997-05-28
EP0479660A3 (en) 1992-11-19
EP0479660B1 (en) 1996-10-23
JPH04230567A (en) 1992-08-19
EP0479660A2 (en) 1992-04-08
DE69122830D1 (en) 1996-11-28
US5475819A (en) 1995-12-12

Similar Documents

Publication Publication Date Title
EP0479660B1 (en) Distributed configuration profile for computing system
EP0501610B1 (en) Object oriented distributed computing system
JP3696639B2 (en) Unification of directory service with file system service
US5838970A (en) Object-oriented computer environment and related method
AU750435B2 (en) Method and apparatus for implementing an extensible authentication mechanism in a web application server
US5892946A (en) System and method for multi-site distributed object management environment
AU742156B2 (en) Distributed web application server
US6742035B1 (en) Directory-based volume location service for a distributed file system
KR100255498B1 (en) Method for balancing operation load between computer network and server
US20020087665A1 (en) Method and system for integrated resource management
JPH09244940A (en) Method for managing distributed computer resource
KR19980063445A (en) Distributed computing system using logical processing and method thereof
US5799149A (en) System partitioning for massively parallel processors
US6832223B1 (en) Method and system for facilitating access to a lookup service
US7590618B2 (en) System and method for providing location profile data for network nodes
EP0213276A2 (en) Dynamic updating of data base directories
US20020046228A1 (en) Method and system for facilitating access to a lookup service
US6931427B2 (en) Method and apparatus for discovering data services in a distributed computer system
US20080281969A1 (en) Controlling access to versions of application software by a server, based on site ID
US5941943A (en) Apparatus and a method for creating isolated sub-environments using host names and aliases
US5881227A (en) Use of daemons in a partitioned massively parallel processing system environment
CN1984149A (en) Distributing system based on message and its telecommunication
JP2006504177A (en) Hierarchical repository for information about the configuration and performance of computer systems
US7209248B1 (en) Managing the lifetime of distributed resource data using temporal scopes
AU747472B2 (en) Method for creating a distributed object tree

Legal Events

Date Code Title Description
FZDE Discontinued