Automated service discovery and dynamic connection management
First Claim
1. A device comprising:
- device functional circuitry to perform one or more services;
network interface control circuitry to control interaction between the device and a network, wherein the network interface control circuitry includes;
a service discovery module to;
send presence announcement messages to be transmitted outside the device to periodically inform other devices outside the device regarding services the device may perform; and
receive presence announcement messages from the other devices outside the device to learn what services the other devices may perform,a dynamic connection management module to perform dynamic connection management including managing connections of the device with other devices outside the device; and
a contract table maintained by the device to indicate remote services that are currently available from the other devices, the availability of remote services from the other devices being determined by the device based solely on received presence announcement messages, wherein the device is to determine that a first remote service of another device has left the network if a second presence announcement message for the first remote service has not arrived within a certain time period after arrival of a first presence announcement message for the first remote service, the time period being based on a first expiration time value for the first presence announcement contained in the first presence announcement message and on factors regarding transmitted and received presence announcement messages;
wherein the service discovery module is to set the factors regarding transmitted and received presence announcement messages, the factors including;
an announcement expiration time value for sent presence announcement messages for services of the device to control frequency of presence announcement messages the service discovery module sends; and
a sensitivity to expiration of received presence announcement messages, the sensitivity being a predetermined additional length of time after expiration of a received presence announcement message, wherein a remote service described in the received presence announcement message is determined to be unavailable upon the passage of the additional length of time after expiration of the received presence announcement message;
wherein each presence announcement message includes an identifier of a service included in the presence announcement message, a descriptor to identify a type or class of the service included in the presence announcement message, and an expiration time value to indicate how long the presence announcement message is valid;
wherein each service of the device may register interest in one or more classes of remote services with the dynamic connection management module, the dynamic connection management module maintaining a cache of discovered service locations that match the registered interests of the services of the device in the one or more classes of remote services, and wherein a respective service of the device is configured to send a message to a remote service by providing a request to the dynamic connection management module, the request including message data, a message length, a service identifier, and a cryptography flag.
4 Assignments
0 Petitions
Accused Products
Abstract
In some embodiments, an apparatus includes device functional circuitry to perform at least one service; and network interface control circuitry to control interaction between the apparatus and a network. The network interface control circuitry includes a service discovery module to (1) send a presence announcement message to be transmitted outside the device to let other devices outside the device know of services the device may perform and (2) to receive presence announcement messages from the other devices outside the device to learn what services to the other devices may perform. In some embodiments, the network interface control circuitry includes a dynamic connection management module. Other embodiments are described and claimed.
-
Citations
18 Claims
-
1. A device comprising:
-
device functional circuitry to perform one or more services; network interface control circuitry to control interaction between the device and a network, wherein the network interface control circuitry includes; a service discovery module to; send presence announcement messages to be transmitted outside the device to periodically inform other devices outside the device regarding services the device may perform; and receive presence announcement messages from the other devices outside the device to learn what services the other devices may perform, a dynamic connection management module to perform dynamic connection management including managing connections of the device with other devices outside the device; and a contract table maintained by the device to indicate remote services that are currently available from the other devices, the availability of remote services from the other devices being determined by the device based solely on received presence announcement messages, wherein the device is to determine that a first remote service of another device has left the network if a second presence announcement message for the first remote service has not arrived within a certain time period after arrival of a first presence announcement message for the first remote service, the time period being based on a first expiration time value for the first presence announcement contained in the first presence announcement message and on factors regarding transmitted and received presence announcement messages; wherein the service discovery module is to set the factors regarding transmitted and received presence announcement messages, the factors including; an announcement expiration time value for sent presence announcement messages for services of the device to control frequency of presence announcement messages the service discovery module sends; and a sensitivity to expiration of received presence announcement messages, the sensitivity being a predetermined additional length of time after expiration of a received presence announcement message, wherein a remote service described in the received presence announcement message is determined to be unavailable upon the passage of the additional length of time after expiration of the received presence announcement message; wherein each presence announcement message includes an identifier of a service included in the presence announcement message, a descriptor to identify a type or class of the service included in the presence announcement message, and an expiration time value to indicate how long the presence announcement message is valid; wherein each service of the device may register interest in one or more classes of remote services with the dynamic connection management module, the dynamic connection management module maintaining a cache of discovered service locations that match the registered interests of the services of the device in the one or more classes of remote services, and wherein a respective service of the device is configured to send a message to a remote service by providing a request to the dynamic connection management module, the request including message data, a message length, a service identifier, and a cryptography flag. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a network infrastructure; a plurality of devices; wherein each device of the plurality of devices includes; device functional circuitry to perform one or more services; network interface control circuitry to control interaction between the device and a network, wherein the network interface control circuitry of the device includes; a service discovery module to; send presence announcement messages to be transmitted outside the device to periodically inform other devices outside the device regarding services the device may perform; and receive presence announcement messages from the other devices outside the device to learn what services the other devices may perform, a dynamic connection management module to perform dynamic connection management for the device including managing connections of the device with other devices outside the device, and a contract table maintained by the device to indicate remote services that are currently available from the other devices, the availability of remote services from the other devices being determined by the device based solely on received presence announcement messages, wherein the device is to determine that a first remote service of another device has left the network if a second presence announcement message for the first remote service has not arrived within a certain time period after arrival of a first presence announcement message for the first remote service, the time period being based on a first expiration time value for the presence announcement message contained in the first presence announcement message and factors regarding transmitted and received presence announcement messages; wherein the service discovery module for each device is to set the factors regarding transmitted and received presence announcement messages, the factors including; an announcement expiration time value for sent presence announcement messages for services of the device to control the frequency of presence announcement messages the service discovery module sends; and a sensitivity to expiration of received presence announcement messages, the sensitivity being a predetermined additional length of time after expiration of a received presence announcement message, wherein a remote service described in the received presence announcement message is determined to be unavailable upon the passage of the additional length of time after expiration of the received presence announcement message; wherein each presence announcement message includes an identifier of a service included in the presence announcement message, a descriptor to identify a type or class of the service included in the presence announcement message, and an expiration time value to indicate how long the presence announcement message is valid; wherein each service of a given device of the plurality of devices may register interest in one or more classes of remote services with the dynamic connection management module, the dynamic connection management module maintaining a cache of discovered service locations that match the registered interests of the services of the given device in the one or more classes of remote services, and wherein a respective service of the given device is configured to send a message to a remote service by providing a request to the dynamic connection management module, the request including message data, a message length, a service identifier, and a cryptography flag. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification