Service name to network address translation in communications network
First Claim
1. A method of operating a server on a communications network, said network including a plurality of nodes, comprising the steps of:
- a) sending onto said communications network by a first of said nodes a request for a service to be provided by another of said nodes on said network;
b) waiting to receive at said first node a reply message from said another node specifying the network address of a node of said network providing said service;
c) if said reply message is not received by said first node, waiting to receive at said first node a service advertisement message from said network, and identifying in said advertisement message the network address of a node providing the service of said service request.
6 Assignments
0 Petitions
Accused Products
Abstract
A data communications network having a number of servers and a number of service providers employs an improved protocol for translating service names to network addresses. A server sends a multi-cast message to all service providers requesting a service needed by one of the user terminals connected to this server. In the request, the service is identified by function, rather than by address. Any node which provides this service, receiving the request and able to reply, sends a reply message immediately to the server. The reply message identifies the node (service provider) by network address, so a transaction with this provider can be initiated by the server immediately. If the service provider cannot reply, a third party node can send a reply to identify the provider by address. If the server does not receive a reply from either the provider or a third party, then a cache of network addresses of services most recently used by the server is searched for this particular service. The cache may include a separate local cache for each user terminal connected to this server, with each local cache containing the service and address for the last-used service for one of the user terminals. In addition, a secondary cache is maintained for all items replaced in the local caches when they are updated. When the cache is searched (both local and secondary), if the service address is found, a transaction is begun immediately by the server to utilize the service. If not found in the cache, the server waits for a service advertisement to appear on the network, and obtains the network address of the provider from the advertisement.
162 Citations
34 Claims
-
1. A method of operating a server on a communications network, said network including a plurality of nodes, comprising the steps of:
-
a) sending onto said communications network by a first of said nodes a request for a service to be provided by another of said nodes on said network; b) waiting to receive at said first node a reply message from said another node specifying the network address of a node of said network providing said service; c) if said reply message is not received by said first node, waiting to receive at said first node a service advertisement message from said network, and identifying in said advertisement message the network address of a node providing the service of said service request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of operating a device on a communications network, the network including a plurality of nodes, comprising the steps of:
-
a) sending onto said communications network by a first of said nodes a request for a network address of another node on said network, said request identifying said another node by function; b) waiting to receive at said first node a reply message from said another node, said reply message including the network address of said another node; c) maintaining in said first node a cache of the network addresses of nodes on said network recently used by said first node for selected functions; d) searching said cache for the network address of a node providing said function identified in said request; e) if said reply message is not received, and said searching does not find a network address of a node identified by said function, then waiting to receive at said first node an advertisement message from said network, and identifying in said advertisement message the network address of a node providing the function identified in said request. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A server coupled to a communications network, comprising:
-
a) means included in said server and connected to said network for sending onto said communications network a request for a network address of the provider of a service; b) means for receiving at said server via said network a reply message from another node on the network specifying the network address of a provider of said service; c) means for receiving at said server via said network, if said reply message is not received, a service advertisement message from said network, and means for identifying in said advertisement message the network address of a provider of said service. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A device for coupling to a communications network, comprising:
-
a) means coupled to said communications network for sending onto said communications network a request for a network address of another node on said network, said request identifying said another node by function; b) means coupled to said communications network for receiving at said device a reply message from said another node via said network, said reply message including the network address of said another node; c) means for maintaining in said device a cache of the network addresses on said network recently used by said device for selected functions; d) means for searching said cache for the network address of a node providing said function identified in said request, if said reply message is not received; e) means, functioning if said reply message is not received and if said means for searching does not find a network address of a node providing said function, coupled to said communications network for receiving at said device an advertisement message fro said network, and for identifying in said advertisement message the network address of a node providing said function identified in said request. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method of operating a communications network, comprising the steps of:
-
a) sending from a server to all of a plurality of host nodes a request for identifying one of said host nodes to provide a service; b) if a host node is able to provide said service, sending a reply message from said host node to said server to identify said host node; c) if a reply message is received by said server, beginning a transaction with said host node for said service; d) storing in a local cache in said server the identity of host nodes which have previously provided services to said server; e) if a reply message is not received by said server, searching said local cache for the identity of a host node to provide said service, and if said identity is found, beginning a transaction with the identified host node for said service; f) if said identity is not found upon searching said local cache, waiting to receive by said server a service advertisement sent by a host node identifying said service as available from a host node at a network address given in said service advertisement, and, when said service advertisement is received, beginning a transaction for said requested service. - View Dependent Claims (26, 27, 28, 29)
-
-
30. A communications network comprising:
-
a) a communications link; b) a plurality of servers coupled to said communications link, each server having a plurality of user terminals coupled thereto; c) a plurality of service providers coupled to said communications network; d) each one of said servers and each one of said service providers having means for sending and receiving messages to each of the other servers and service providers via said link; e) means in each of said servers to send via said link a service request to all of said service providers for a service needed by a user terminal coupled to a server; f) means in each of said service providers to send via said link a reply message to a server which sent said service request if said service provider is able to provide the requested service, said reply message identifying said service provider; g) means in each said server to maintain a cache of the identity of service providers of most recently used services used by said server; h) means in each said server to search said cache for said server if said reply message is not received after a server sends one of said service requests; i) each one of said service providers periodically sending a service advertisement message to all of said servers via said link indicating what services are available to be provided and the identity of said service provider sending said service advertisement; j) means in each said server to receive said service advertisement messages from said service providers via said link and to identify the service provider of the service of said service request, if a service provider for said requested service is not found in said cache. - View Dependent Claims (31, 32, 33, 34)
-
Specification