Search

US-12627727-B2 - Methods and devices for providing a discovery service for a network including collaborative agents

US12627727B2US 12627727 B2US12627727 B2US 12627727B2US-12627727-B2

Abstract

A device may include a processor configured to obtain context information of a plurality of nodes that are configured to communicate according to a publish and subscribe pattern, wherein the context information represents attributes associated with services that each node is able to provide for a collaboration with a further node; determine, in response to a received collaboration request representative of one or more conditions of a collaboration sought by a requester node, one or more nodes of the plurality of nodes that meet the one or more conditions of the collaboration based on the context information of the plurality of nodes; and encode discovery information for a transmission to the requester node, wherein the discovery information is representative of an attribute required to communicate with the determined one or more nodes according to the publish and subscribe pattern.

Inventors

  • Arvind Merwaday
  • Satish JHA
  • Rath Vannithamby
  • Dave Cavalcanti
  • Susruth Sudhakaran
  • Mark Eisen

Assignees

  • INTEL CORPORATION

Dates

Publication Date
20260512
Application Date
20220729

Claims (20)

  1. 1 . A device comprising: a processor configured to: obtain context information of a plurality of nodes that are configured to communicate according to a publish and subscribe pattern, wherein the context information represents attributes associated with services that each node is able to provide for a collaboration with a further node; determine, in response to a received collaboration request representative of one or more conditions of a collaboration sought by a requester node, one or more nodes of the plurality of nodes that meet the one or more conditions of the collaboration based on the context information of the plurality of nodes; wherein the determination is based on identifying a plurality of clusters whose aggregated information satisfies the one or more conditions and identifying the one or more nodes from within the identified plurality of clusters, wherein the aggregated information summarizes the context of nodes within each cluster; and encode discovery information for a transmission to the requester node, wherein the discovery information is representative of an attribute required to communicate with the determined one or more nodes according to the publish and subscribe pattern.
  2. 2 . The device of claim 1 , wherein the discovery information comprises information representing, for each node, at least one of an identifier, one or more publishing topics and endpoints through which the respective node publishes, one or more subscribed topics and endpoints to which the respective node is subscribed, and/or one or more services provided by the respective node.
  3. 3 . The device of claim 1 , wherein the context information comprises information representing, for each node, at least one of a type of the respective node, a role associated with the respective node, available computing and/or communication resources of the respective node, sensing capabilities of the respective node, resource utilization status information with respect to the computing and/or communication resource of the respective node, a location associated with the respective node, a heading associated with the respective node, a velocity associated with the respective node.
  4. 4 . The device of claim 1 , wherein the one or more conditions of the collaboration comprise at least one of: a location condition representing a location associated with the collaboration, a sensing condition representing sensor requirements for the collaboration, a computing condition representing computing requirements for the collaboration, a communication condition representing communication requirements for the collaboration.
  5. 5 . The device of claim 1 , further comprising: a communication interface configured to receive the context information and discovery information of the plurality of nodes.
  6. 6 . The device of claim 5 , wherein the communication interface is configured to communicate with a first group of nodes to receive the context information and the discovery information of the first group of nodes; wherein the communication interface is configured to communicate with at least one further device that is connected to a second group of nodes and configured to provide a discovery service to the second group of nodes to receive the context information and the discovery information of the second group of nodes.
  7. 7 . The device of claim 6 , wherein the communication interface is configured to receive the context information periodically from the first group of nodes and/or from the at least one further device.
  8. 8 . The device of claim 6 , wherein a local cluster comprises the first group of nodes and at least one or more further clusters comprise the second group of nodes; wherein the processor is further configured to determine, in response to the collaboration request received from the local cluster, the one or more nodes from the local cluster and the one or more further clusters based on the context information of the plurality of nodes; wherein the processor is further configured to determine, in response to the collaboration request received from the one or more further clusters, the one or more nodes from the local cluster based on the context information of the first group of nodes.
  9. 9 . The device of claim 6 , wherein the processor is configured to generate the aggregated information associated with the first group of nodes based on the discovery information and the context information of the first group of nodes to be sent for a discovery of the first group of nodes by the one or more further clusters periodically or in response to a request received from the one or more further clusters; wherein the aggregated information comprises information representing at least one of a number of nodes for each node type, a number of nodes for each associated role, information representing coverage area of each sensor associated with each node, a map of aggregated coverage area of sensors associated with the local cluster, available computing resources of each node, available communication resources of each node, available capabilities of each node, latest compute resource utilization status information; a performance metric associated with performance of each node.
  10. 10 . The device of claim 6 , wherein the processor is configured to encode an inter-cluster collaboration message for a transmission to the at least one further device, the inter-cluster collaboration message representative of the one or more conditions of the collaboration sought by the requester node; wherein the processor is further configured to decode a received inter-cluster collaboration message from the at least one further device, the received inter-cluster collaboration message representative of the discovery information and/or the context information of one or more nodes of the second group of nodes meeting the one or more conditions of the collaboration sought by the requester node.
  11. 11 . The device of claim 6 , wherein the processor is further configured to decode an inter-cluster report message received from each of a plurality of clusters, wherein each inter-cluster report message comprises aggregated information associated with a subset of the second group of nodes and represents the context associated with the subset of the second group of nodes.
  12. 12 . The device of claim 11 , wherein the processor is configured to determine one or more clusters from the plurality of clusters that includes one or more candidate nodes based on the one or more conditions of the collaboration sought by the requester node and based on received aggregated information associated with each subset of the second group of nodes; wherein the processor is further configured to encode the inter-cluster collaboration messages only for a transmission to the determined one or more clusters.
  13. 13 . The device of claim 12 , wherein the processor is further configured to select some of the determined one or more nodes that meet the one or more conditions of the collaboration based on predefined policy associated with resources of the one or more clusters including the determined one or more nodes; wherein the encoded discovery information comprises discovery information of the selected nodes.
  14. 14 . The device of claim 1 , wherein the requester node is an autonomous machine, and the plurality on nodes comprises further autonomous machines.
  15. 15 . The device of claim 1 , wherein the device is a discovery server, and the at least one further device comprises a plurality of further discovery servers.
  16. 16 . A non-transitory computer-readable medium comprising one or more instructions which, if executed by a processor, cause the processor to: obtain context information of a plurality of nodes that are configured to communicate according to a publish and subscribe pattern, wherein the context information represents attributes associated with services that each node is able to provide for a collaboration with a further node; determine, in response to a received collaboration request representative of one or more conditions of a collaboration sought by a requester node, one or more nodes of the plurality of nodes that meet the one or more conditions of the collaboration based on the context information of the plurality of nodes; wherein the determination is based on identifying a plurality of clusters whose aggregated information satisfies the one or more conditions and identifying the one or more nodes from within the identified plurality of clusters, wherein the aggregated information summarizes the context of nodes within each cluster; and encode discovery information for a transmission to the requester node, wherein the discovery information is representative of an attribute required to communicate with the determined one or more nodes according to the publish and subscribe pattern.
  17. 17 . The non-transitory computer-readable medium of claim 16 , wherein the context information comprises information representing, for each node, at least one of a type of the respective node, a role associated with the respective node, available computing and/or communication resources of the respective node, sensing capabilities of the respective node, resource utilization status information with respect to the computing and/or communication resource of the respective node, a location associated with the respective node, a heading associated with the respective node, a velocity associated with the respective node.
  18. 18 . A node of a collaboration network, the node comprising: a processor configured to: encode context information representative of attributes associated with services that the node is able to provide for a collaboration with a further node for a transmission to a further communication device, wherein the encoding of the context information is performed periodically and comprises encoding a first type of context information comprising a plurality of attributes for a transmission according to a first period and encoding a second type of context information comprising only changed attributes of the plurality of attributes for a transmission according to a second period, wherein the first period is greater than the second period; encode a collaboration request for a transmission to the further communication device, the collaboration request representative of one or more conditions of a collaboration sought by the node; configure communication with one or more further nodes to provide a service in collaboration with the one more further nodes based on discovery information received from the further communication device, wherein the discovery information is representative of an attribute required to communicate with the one or more further nodes according to the publish and subscribe pattern.
  19. 19 . The node of claim 18 , wherein the discovery information comprises information representing, for each node of the one or more further nodes, at least one of an identifier, one or more publishing topics and endpoints through which the respective node publishes, one or more subscribed topics and endpoints to which the respective node is subscribed, and/or one or more services provided by the respective node.
  20. 20 . The node of claim 18 , wherein the processor is further configured to subscribe the node for at least one of a publishing topic of the one or more further nodes to configure the communication according to the publish and subscribe pattern.

Description

TECHNICAL FIELD This disclosure generally relates to methods and devices to provide a discovery service within a network including collaborative agents. BACKGROUND In accordance with various communication systems, in particular involving the communication of multiple agents communicating via multiple communication devices in a service-based architecture, the communication of the information between software agents may be based on a publish/subscribe pattern, in which a publisher (an entity sending a message) may categorize a message to be published into a particular topic without the knowledge of the subscribers of the topics, and one or more subscribers (entities intending to receive the message) may receive the message sent by the publishers when they subscribe to the particular topic. A publish/subscribe broker may keep necessary information, and it may receive published messages from publishers and forward the published messages to subscribers based on the respective topics of the published messages. In dense and dynamic environments involving multiple agents communicating with each other using the publish/subscribe pattern within a network and capable of cooperating with each other by providing distinct services to perform a task collaboratively, it may be desirable for an agent to discover other agents that the agent can collaborate with to perform the task. BRIEF DESCRIPTION OF THE DRAWINGS In the drawings, like reference characters generally refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the disclosure. In the following description, various aspects of the disclosure are described with reference to the following drawings, in which: FIG. 1 shows exemplary radio communication network; FIG. 2 shows an exemplary internal configuration of a communication device; FIG. 3 shows an exemplary illustration of a publish/subscribe-based communication network environment including nodes associated with agents operating in communication devices; FIG. 4 shows an exemplary representation of a broker-less publish/subscribe architecture; FIG. 5 shows an example representation of a centralized discovery architecture; FIG. 6 shows an example of a device; FIG. 7 shows an example of a node device as a node of a network; FIG. 8 shows an example representation of periodic context information reporting; FIG. 9 shows an exemplary representation of collaboration request messaging; FIG. 10 shows an exemplary flow diagram of a discovery procedure; FIG. 11 shows an exemplary illustration of an environment including devices operating with a collaborative network using publish/subscribe-based communication; FIG. 12 shows an exemplary representation of endpoints to provide communication associated with a discovery procedure; FIG. 13 shows an example of a method. DESCRIPTION The following detailed description refers to the accompanying drawings that show, by way of illustration, exemplary details and aspects in which aspects of the present disclosure may be practiced. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration”. Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The words “plurality” and “multiple” in the description or the claims expressly refer to a quantity greater than one. The terms “group (of)”, “set [of]”, “collection (of)”, “series (of)”, “sequence (of)”, “grouping (of)”, etc., and the like in the description or in the claims refer to a quantity equal to or greater than one, i.e. one or more. Any term expressed in plural form that does not expressly state “plurality” or “multiple” likewise refers to a quantity equal to or greater than one. As used herein, “memory” is understood as a non-transitory computer-readable medium in which data or information can be stored for retrieval. References to “memory” included herein may thus be understood as referring to volatile or non-volatile memory, including random access memory (“RAM”), read-only memory (“ROM”), flash memory, solid-state storage, magnetic tape, hard disk drive, optical drive, etc., or any combination thereof. Furthermore, registers, shift registers, processor registers, data buffers, etc., are also embraced herein by the term memory. A single component referred to as “memory” or “a memory” may be composed of more than one different type of memory, and thus may refer to a collective component including one or more types of memory. Any single memory component may be separated into multiple collectively equivalent memory components, and vice versa. Furthermore, while memory may be depicted as separate from one or more other components (such as in the drawings), memory may also be integrated with other components, such as on a common integrated chip or a controller with an embedded memory. The t