IP Library Granted Patent US 7,756,038
Granted Patent B2
US 7,756,038 · App. 11/863,218 · Granted Jul 13, 2010

Service advertisement framework (SAF) in a communications network

Assignee: Cisco Technology, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,756,038
App. No.
11/863,218
Granted
Jul 13, 2010
Kind
B2
Abstract

In one embodiment, a method includes receiving a first update message at a first forwarding node from a second forwarding node of the communications network. The first update message includes forwarded service type data that indicates a type of service available via the second forwarding node, and forwarded cost data that indicates a first cost of communications to obtain the type of service via the second forwarding node. An incremental cost is determined for communications between the first forwarding node and the second forwarding node. Service data is stored at the first forwarding node. The service data indicates the type of service is associated with the second forwarding node at a total cost based on the first cost and the incremental cost. A second update message that includes forwarded cost data based on the total cost is sent over the network from the first forwarding node.

Claims (83)

1. A method comprising:

receiving, at a first forwarding node of a communications network from a second forwarding node of the communications network, a first update message that includes forwarded service type data that indicates a type of service available via the second forwarding node, and

forwarded cost data that indicates a first cost of communications to obtain the type of service via the second forwarding node,

wherein the type of service is different from data packet routing through the network and wherein the type of service is a dial directory to associate a network address with a user identifier for telephony using the Internet Protocol;

determining an incremental cost for communications between the first forwarding node and the second forwarding node;

storing, at the first forwarding node, service data that indicates the type of service is associated with the second forwarding node at a total cost based on the first cost and the incremental cost; and

sending a second update message that includes forwarded cost data based on the total cost.

2. A method as recited in claim 1 , said step of sending the second update message further comprising sending the second update message that includes the forwarded service type data that indicates the type of service available via the second forwarding node.

3. A method as recited in claim 1 , said step of sending the second update message further comprising sending the second update message to every forwarding node in communication with the first forwarding node and different from the second forwarding node.

4. A method as recited in claim 1 , wherein:

said step of receiving the first update message further comprises receiving the first update message that includes forwarded service property data that indicates particular properties of the type of service available via the second forwarding node; and

said step of sending the second update message further comprises sending the second update message that includes the forwarded service property data.

5. A method as recited in claim 4 , wherein:

the method further comprises determining whether the first forwarding node is a penultimate forwarding node comprising determining whether a service node of the communications network has sent a message to the first forwarding node, wherein a service node is a node that provides the type of service or consumes the type of service or both; and

if the first forwarding node is a penultimate forwarding node, then said step of storing service data further comprises storing service data that includes the forwarded service property data.

6. A method as recited in claim 1 , wherein:

said step of receiving the first update message further comprises receiving the first update message that includes sequence data that indicates a version of the type of service available via the second forwarding node;

the method further comprises

determining whether the sequence data indicates a later version of the type of service available than is already stored in the service data at the first forwarding node; and

if it is determined that the sequence data indicates a later version, then performing said step of storing the service data, further comprising storing service data that includes the sequence data.

7. A method as recited in claim 1 , wherein service type data includes instance data that indicates uniquely a particular node that provides the type of service.

8. A method as recited in claim 1 , further comprising the steps of:

receiving, at the first forwarding node from a service node of the communications network, a publication message that includes

published service type data that indicates a type of service available at the service node, and

published service property data that indicates particular properties of the type of service available at the service node;

determining an initial cost for communications between the first forwarding node and the service node;

storing, at the first forwarding node, service data that indicates the type of service available at the service node for the initial cost; and

sending a third update message that includes

forwarded service type data that indicates the type of service available at the service node, and

forwarded cost data that indicates the initial cost.

9. A method as recited in claim 8 , wherein said storing service data further comprising storing service data that indicates the particular properties of the type of service available at the service node.

10. A method as recited in claim 8 , wherein said step of sending a third update message further comprises sending the third update message that includes service property data that indicates the particular properties of the type of service available at the service node.

11. A method as recited in claim 1 , further comprising the steps of:

receiving, at the first forwarding node from a requesting node, a first request message that includes requested service type data that indicates a type of service requested;

in response to receiving the first request message, determining whether service data stored at the first forwarding node indicates the type of service requested; and

if it is determined that the service data stored at the first forwarding node indicates the type of service requested, then sending a second request message that includes the requested service type only to a recipient node associated with a lowest total cost among all nodes associated with the requested service type in the service data stored at the first forwarding node.

12. A method as recited in claim 11 , wherein:

the method further comprises determining whether service data stored at the first forwarding node indicates service property data that indicates particular properties of the type of service requested; and

said step of sending the second request message is performed only if it is determined that service data stored at the first forwarding node does not indicate service property data for the type of service requested.

13. A method as recited in claim 12 , further comprising, if it is determined that service data stored at the first forwarding node indicates service property data of the type of service requested, then performing the step of sending a response message that includes the service property data of the type of service requested.

14. A method as recited in claim 11 , further comprising, if it is determined that the service data stored at the first forwarding node does not indicate the type of service requested, then sending to every forwarding node in communication with the first forwarding node a query message that includes data that indicates the type of service requested.

15. A method as recited in claim 11 , said step of receiving the first request message from the requesting node further comprising receiving a subscription message from a service node that is to consume the type of service requested.

16. A method as recited in claim 15 , further comprising, storing notification data that indicates the service node is to be notified when a message is received that includes service type data that indicates the type of service requested.

17. A method as recited in claim 16 , further comprising the steps of:

receiving a message that includes service type data that indicates the type of service requested is available; and

based on the notification data, notifying the service node that the service type requested is available.

18. A method as recited in claim 17 , wherein:

said step of receiving the message that includes service type data that indicates the type of service requested is available further comprises receiving the message that includes service property data that indicates particular properties of the type of service requested; and

said step of notifying the service node that the service type requested is available further comprising sending to the service node a message that includes service type data that indicates the type of service requested and the service property data that indicates particular properties of the type of service requested.

19. A first apparatus, the first apparatus comprising:

a memory; and

a processor in communication with the memory, the memory including instructions executable with the processor, the instructions comprising:

instructions configured to receive, from a second apparatus in a communications network, a first update message, the first update message including

forwarded service type data that indicates a type of service is available via the second apparatus, and

forwarded cost data that indicates a first cost of communications to reach the type of service via the second apparatus, wherein the type of service includes a dial directory configured to associate a network address with at least one dial number for Internet Protocol telephony;

instructions configured to determine a second cost for communications between the first apparatus and the second apparatus;

instructions configured to store service data that indicates the type of service is available via the second apparatus at a total cost, the total cost being based on the first cost and the second cost; and

instructions configured to send a second update message that includes forwarded cost data based on the total cost.

20. At least one tangible computer-readable media comprising computer executable instructions, wherein the computer executable instructions, when executed by a processor, perform the steps of:

receiving, at a first forwarding node of a communications network from a second forwarding node of the communications network, a first update message that includes

forwarded service type data that indicates a type of service is available via the second forwarding node, and

forwarded cost data that indicates a first cost of communications to reach the type of service via the second forwarding node,

wherein the type of service includes a dial directory that associates a network address with at least one dial number for telephony over Internet Protocol;

determining a second cost for communications between the first forwarding node and the second forwarding node;

storing, at the first forwarding node, service data that indicates the type of service is available via with the second forwarding node at a total cost, the total cost being based on the first cost and the second cost; and

sending a second update message that includes forwarded cost data based on the total cost.

21. A first apparatus, the first apparatus comprising:

a memory; and

a processor in communication with the memory, the memory including instructions executable with the processor, the instructions comprising:

instructions configured to receive, from a second apparatus in a communications network, a first update message, the first update message including

forwarded service type data that indicates a type of service is available via the second apparatus, and

forwarded cost data that indicates a first cost of communications to reach the type of service via the first apparatus,

wherein the type of service is different from data packet routing through the communications network;

instructions configured to determine a second cost for communications between the apparatus and the second apparatus;

instructions configured to store service data that indicates the type of service is available via the second apparatus at a total cost, the total cost being based on the first cost and the second cost;

instructions configured to send a second update message that includes forwarded cost data that is based on the total cost;

instructions configured to determine, in response to a request for the type of service, whether a node in the communications network provides the type of service based on the service data, wherein the request identifies the type of service, not the node.

22. The first apparatus of claim 21 , wherein the type of service is a call agent service for telephony using Internet Protocol.

23. The first apparatus of claim 21 , wherein the type of service is a security service for processing suspicious data packets received at a node in the communications network.

24. The first apparatus of claim 21 , wherein service type data includes:

category data that indicates a category that uniquely identifies a plurality of related services; and

subcategory data that indicates a particular service within the plurality of related services.

25. The first apparatus of claim 21 , wherein the first apparatus and the second apparatus are routers, the request for the type of service is from a first call agent, the node in the communications network that provides the type of service is a second call agent, and the type of service is a call agent service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2007
From: SAVAGE, DONNIE VAN; SCHULER, TIMOTHY CHARLES; GUDGIN, GRAHAM; GIORCELLI, STEFANO; EDWARDS, GREGORY
To: CISCO TECHNOLOGY, INC.
Reel/Frame 019893/0046 →
Continuity (1)
Related Publication 20090086726A1 · Apr 2, 2009