CN107736002B - Proximity-based service information distributed caching method and device and communication network - Google Patents

Proximity-based service information distributed caching method and device and communication network Download PDF

Info

Publication number
CN107736002B
CN107736002B CN201680036064.4A CN201680036064A CN107736002B CN 107736002 B CN107736002 B CN 107736002B CN 201680036064 A CN201680036064 A CN 201680036064A CN 107736002 B CN107736002 B CN 107736002B
Authority
CN
China
Prior art keywords
service information
service
network
new
information
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.)
Active
Application number
CN201680036064.4A
Other languages
Chinese (zh)
Other versions
CN107736002A (en
Inventor
拉胡尔·阿尔温德·贾达夫
阿米特·库马尔·谢兰
维杰亚钱德拉·玛丽亚潘
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107736002A publication Critical patent/CN107736002A/en
Application granted granted Critical
Publication of CN107736002B publication Critical patent/CN107736002B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Abstract

The invention discloses a communication network, a device and a method for proximity-based distributed caching of service information in a network. The network includes a service endpoint device (1402), a client device (1404), a resource directory device (1406), and a border router device (1408) in communication with each other. The method for the proximity-based distributed caching of the service information comprises the following steps: identifying (1502) a RD in a network; identifying (1504) service endpoints or clients in the network and assigning (1506) a preferred RD to each service endpoint or client; registering (1508) the service endpoint with the preferred RD through the service information, the RD then backing up the information on the BR; the client always performs a service lookup (service lookup from client) through its preferred RD 1510, if the RD cannot do the lookup locally, it queries the BR to obtain information, the RD decides to cache the service information based on the lookup pattern, i.e., proximity-based caching 1512.

Description

Proximity-based service information distributed caching method and device and communication network
Technical Field
The present invention relates generally to communication networks, and more particularly to a proximity-based communication network, apparatus and method for distributed caching of service information.
Background
The Internet of Things (IoT) is a new example in the communication world, in which general household appliances and practical devices are connected to the Internet to achieve seamless connection, simplification of operation, improvement of power consumption, better utilization of resources, remote monitoring, and the like. As shown in fig. 1, an IoT network may be divided into three main parts: the system comprises a Wireless Sensor Network (WSN), a gateway and a cloud. A WSN is a last mile network in which devices interconnect with each other to form a mesh network. All devices are eventually connected to the gateway for communication with the cloud-based server.
WSNs (wireless sensor networks, WSNs) refer to spatially distributed, autonomous sensor networks that are used to monitor physical or environmental conditions, such as temperature, sound, pressure, etc., and to cooperatively communicate their data across the network to a primary location.
It is estimated that the advent of the internet of things has led to an unprecedented growth in the size of network devices. New network standards have been defined to support constrained scenarios, especially scenarios aimed at keeping the cost of network modules at a low level. The network is intended to operate without any human intervention and it requires the participating nodes to identify, broadcast, discover and communicate with other nodes associated with the network. This need for automatic configuration poses a significant challenge for wireless low power nodes designed with limited memory and processing power. The IP-based protocol used to interconnect these nodes helps address and connect problems, but relies on application-level protocols for service configuration.
Nodes in the network provide different kinds of services. For example, as shown in FIG. 2, one node may have a humidity sensor that provides humidity information to the network and the other device may be a sprinkler node. In a fully autonomous mode, the sprinkler needs to know the humidity level in order to turn on its water spray operation. Thus, the sensor and sprinkler need to interact without any manual configuration. The node identifies and orders other nodes in the network through service discovery.
Based on the previous example, in some scenarios, the criticality of the service information may be very high. Such as in the case of thermal sensors and sprinklers. Therefore, it is crucial to make service information available and ensure that the information latency is smaller without relying on a single node (avoiding a single point of failure) in the network.
■ service discovery terms:
a) service Endpoint (SEP): node hosting the service and broadcasting the service within the network
b) A client: node for query/lookup service
c) Resource catalog: node hosting service information for other nodes
FIG. 3 illustrates an exemplary scenario of service discovery terminology, where a sprinkler is used as the SEP, its service information is stored in a Resource Directory (RD), and wireless temperature and humidity sensors are used as clients looking for services in the RD.
The main goal of any service discovery protocol is to enable a node to query other nodes that support a particular service. The service discovery comprises the following steps: a) optional Directory Service (DS) discovery (RD (resource directory) and DA (directory agent) are some synonyms of DS (directory service)); b) service broadcasting; c) service update/deletion; d) And (6) service lookup.
Conventionally, there are various techniques for performing service discovery operations in a network, which may include, but are not limited to, a Centralized DS (C-DS) mode, a Directory-less (D-less) mode, and a Distributed DS (D-DS) mode. Fig. 4 shows a conventionally available C-DS mode compared to the D-less mode, D-DS mode.
However, available techniques for service discovery operations have the following mentioned technical drawbacks/problems:
1. in the centralized mode, there is a Single point of failure (SPOF). If the RD node or link becomes unavailable, the service discovery operation fails.
2. Although there is no SPOF in the distributed (directory-less or directory-based) mode, multicast is used, so the average power consumption is high. At the same time, the search delay is also very high.
3. In all prior art nodes hosting RD are constrained, i.e. have less RAM. Thus, not all RDs can host "all" service information.
4. The prior art is not memory sensitive, i.e., the first received entry is serviced/stored first. The RD in the WSN has a relatively small memory and cannot accommodate all the service information in the network.
5. In centralized mode, RD is most likely hosted on a Border Router (BR). Therefore, all lookup/registration information must be handled by the BR, causing a traffic bottleneck near the BR.
6. Storing entries in a distributed directory-based RD does not take into account the distance of the lookup.
In view of the above-mentioned drawbacks and limitations of the prior art, as described above, there is a need to provide a new and efficient technique for distributing service entries to enable efficient service discovery operations in a network without deploying any multicast-based communication.
Disclosure of Invention
A major technical problem in existing communication networks, which the present invention is to solve, relates to how to allocate service entries/information hosted by nodes in the network to enable efficient service discovery operations without deploying any multicast-based communication.
This summary is provided to introduce concepts related to a method, apparatus, and communication network for proximity-based distributed caching of service information in a network, and is further described below in the detailed description. This summary is not intended to identify essential features of the claimed invention, nor is it intended to be used to identify or limit the scope of the claimed invention.
Accordingly, in one implementation, the present invention provides an apparatus for hosting service information for distributing the service information to at least one other device in a network. The apparatus includes a processor and a memory coupled to the processor, the processor to execute a plurality of modules present in the memory. The plurality of modules include a storage module, a receiving module, a distribution module, and a transmission module. The storage module is configured to host the service information and store a list of other devices available in the network. The receiving module is configured to receive at least one service request from another device, where the service request is used to find service information that is stored in the storage module in advance and is needed by the another device, and new service information and an IP address associated with a new device that joins a network, where the new device is not in the list of the another device. The distribution module is configured to distribute the hosted service information to other devices in the network in response to the service request, and distribute the IP address of the new device to other devices in the network, so that the received new service information and the IP address associated with the new device are stored in the list in the storage module. The transmission module is configured to transmit the pre-stored service information or the received new service information based on the service request of the other device.
In one implementation, a device for hosting service information is disclosed for caching service information received from at least one other device in a network. The apparatus includes a processor and a memory coupled to the processor, the processor to execute a plurality of modules present in the memory. The plurality of modules comprise a storage module, a receiving module, a cache module and a transmission module. The storage module is used for hosting pre-stored service information. The receiving module is used for receiving at least one service request from at least one client device, wherein the service request is used for searching service information which is stored in the storage module in advance and is required by the client device; if the service information required by the client device does not exist in the storage module, at least one new service information from other devices is received. The cache module is configured to cache the new service information received from the other device through a cache mechanism, where the cache mechanism determines whether the received new service information is not stored in the storage module in advance; if there is no space in the storage module for storing the received new service information, moving out at least one service information pre-stored in the storage module based on at least one counter; storing the received new service information in the storage module. The transmission module is configured to transmit the pre-stored service information or the new service information based on the service request of the client device.
In one implementation, the present invention provides a network for distributing and caching service information in a network comprising a plurality of devices selected from a first device, a second device, a third device and a fourth device interconnected with each other. The network comprises: at least one first device for hosting service information associated with the second device for providing services in the network and registering the provided services to the third device, the third device and the fourth device for requesting at least one service from the third device. The first device is configured to receive at least one service request from the third device, where the service request is used to find service information required by the fourth device stored in the first device in advance; storing a list of the second, third and fourth devices available in the network; receiving new service information and an IP address associated with a new device joining a network, wherein the new device is not in the list; distributing the IP address of the new device to the third device; distributing the IP address of the new device to the third device; storing the received new service information and the IP address associated with the new device in the list; transmitting the pre-stored service information or the received new service information based on the service request from the third device. The third device is configured to receive the pre-stored service information or the new service information from the first device based on the service request from the third device; caching new service information received from the first device by a caching mechanism, wherein the caching mechanism confirms whether the new service information received from the first device is not pre-stored in the third device; shifting out at least one service information pre-stored in the third device based on at least one counter if there is no space in the third device for storing the received new service information; storing the received new service information in the third device; thereby transmitting the new service information or the pre-stored service information stored in the third device based on the service request from the fourth device.
In one implementation, the present invention provides a method of distributing and caching service information in a network comprising a plurality of devices selected from a first device, a second device, a third device and a fourth device interconnected with each other, wherein at least one first device is configured to host service information associated with the second device, the third device and the fourth device, wherein the second device is configured to provide services in the network and to register these services provided with the third device, and the fourth device is configured to request at least one service from the third device. The method comprises the following steps:
the first device receives at least one service request from the third device, wherein the service request is used for searching service information required by the fourth device stored in the first device in advance;
the first device storing a list of the second, third and fourth devices available in the network;
the first device receiving new service information and an IP address associated with a new device joining a network, wherein the new device is not in the list;
the first device distributing the IP address of the new device to the third device;
the first device storing the received new service information and an IP address associated with the new device in the list;
the first device transmitting the pre-stored service information or the received new service information based on the service request from the third device;
the third device receiving the pre-stored service information or the new service information from the first device based on the service request from the third device;
the third device caches the new service information received from the first device through a caching mechanism, wherein the caching mechanism:
confirming whether the new service information received from the first device is not previously stored in the third device;
shifting out at least one service information pre-stored in the third device based on at least one counter if there is no space in the third device for storing the received new service information;
storing the received new service information in the third device;
the third device transmits the new service information or the pre-stored service information stored in the third device based on the service request from the fourth device.
In one implementation, the present invention provides a method performed by a device hosting service information for distributing the service information to at least one other device in a network. The method comprises the following steps:
hosting the service information;
storing a list of the other devices available in the network;
receiving at least one service request from the other equipment, wherein the service request is used for searching service information which is stored in the storage module in advance and is required by the other equipment;
receiving new service information and an IP address associated with a new device joining a network, wherein the new device is not in the list of other devices;
distributing the hosted service information to other devices in the network in response to the service request; distributing the received new service information and the IP address of the new device to other devices in the network; thereby to obtain
Storing the received new service information and the IP address associated with the new device in the list;
transmitting the pre-stored service information or the received new service information based on the service request from the other device.
In one implementation, the present invention provides a method performed by a device hosting service information for caching service information received from at least one other device in a network. The method comprises the following steps:
hosting the service information;
receiving at least one service request from at least one client device, wherein the service request is used for searching service information which is stored in the storage module in advance and is required by the client device; receiving at least one new service information from the other device if the service information required by the client device does not exist in the storage module;
caching new service information received from the other device through a caching mechanism, wherein the caching mechanism comprises:
confirming whether the received new service information is not stored in advance;
if there is no space in the storage module for storing the received new service information, moving out at least one service information stored in advance based on at least one counter;
storing the received new service information;
transmitting the pre-stored service information or the new service information based on the service request from the client device.
In one implementation, the present invention provides a method for distributed caching of proximity-based service information in a constrained multi-hop network. The method comprises the following steps:
identifying a RD in the communication network;
identifying service endpoints or clients in the communication network and assigning a preferred RD to each service endpoint or client;
registering (service broadcast or service registration) the service endpoint to the preferred RD through the service information, and then the RD backs up the information on the BR; (for simplicity and understanding, it is assumed herein that the BR is a centralized RD that can store all service information, but it can also be a different node in the network);
the client always performs a service lookup (service lookup from the client) through its preferred RD, and if the RD cannot complete the lookup locally, it queries the BR to obtain information.
The RD decides to cache the service information based on the lookup pattern, i.e. proximity based caching.
If any one RD fails, other RDs may be replaced, or information may be obtained from the BR; in the event of a BR failure, the RD may replace the BR to provide service information.
In one implementation, the invention provides a proximity-based distributed caching method for service information in a network, wherein a plurality of devices are interconnected with one another to form the network. The method comprises the following steps:
● identifying at least one resource directory device selected from the plurality of devices and for hosting service information for at least one other device;
● identifying at least one service endpoint device and at least one client device selected from the plurality of devices;
● allocating at least one preferred resource directory device to the service endpoint device and client device, wherein the preferred resource directory device is selected from the identified resource directory devices;
● registering at least one service information associated therewith provided by the service endpoint device on the preferred resource directory device;
● the preferred resource directory device distributes the service information in the network, wherein the service information is distributed to at least one border router device and/or the resource directory device;
● caching the received service information and at least one new service information on the preferred resource directory device based on at least one lookup pattern of the client device and through a proximity-based mechanism.
In one implementation, the present invention provides a method of distributively caching service information in a network, wherein a plurality of devices are interconnected with each other to form the network. The method comprises the following steps:
● identifying at least one resource directory device in the network hosting service information for at least one other device;
● identifying at least one service endpoint device and at least one client device selected from the plurality of devices in the network;
● allocating at least one preferred resource directory device to the service endpoint device and client device, wherein the preferred resource directory device is selected from the identified resource directory devices;
● registering at least one service information provided by the service endpoint device on the preferred resource directory device;
● the preferred resource directory device backing up the service information registered on at least one border router device in the network;
●, using the client device to query at least one lookup request, the preferred resource directory device looking for at least one response, wherein,
● if the response to the lookup request is not responded to by the preferred resource directory device, the response is obtained by the preferred resource directory device from the border router device and used to respond to the client device;
● the preferred resource directory device caches the registered service information and the response obtained from the border router device, wherein the response is at least one new service information pre-registered on the border router device.
In one implementation, the present invention provides a network that provides proximity-based distributed caching of service information among a plurality of nodes/devices in the network. The network comprises at least one service endpoint device selected from the plurality of devices for providing services to the plurality of devices; at least one resource directory device selected from the plurality of devices for storing information of the service endpoint device providing services to the plurality of devices; and at least one client device selected from the plurality of devices for finding (finding) a service in the network.
The network is used for realizing proximity-based distributed caching of service information, the service endpoint device registers service information provided by the service endpoint device to at least one preferred resource directory device selected from the resource directory devices based on a low-power and lossy network (RP L) signaling, the preferred resource directory device is used for transmitting the information registered to at least one border router device storing the received information, when the provided service is searched, the client device transmits a search request to at least one preferred resource directory device selected from the resource directory devices based on a low-power and lossy network (RP L) signaling, when the search request is received, the preferred resource directory device is used for checking whether the information searched in the preferred resource directory device exists, if the information does not exist in the preferred resource directory device, the preferred resource directory device responds to the information search request of the preferred resource directory device, and if the information is transmitted to the preferred resource directory device, the preferred resource directory device responds to the resource directory device based on the routing request of the preferred resource directory device, and the preferred resource directory device responds to the resource directory device for searching the information.
In one implementation, an endpoint may perform/discover identification of a resource directory device based on any node's willingness to share/publish its services within the network, as will be appreciated by those skilled in the art. Further, it is understood that a client may also be an endpoint device, however, when a client seeks services from other endpoints in the network, it may operate as a client device. Further, it will also be appreciated that the preferred resource directory device may be allocated by any resource directory or border gateway or router or any node in the network.
In contrast to the prior art, the present invention provides a technique for distributing service information to more than one node and thereby caching the service information in these nodes, which avoids SPOF technical problems and service request traffic bottlenecks near specific nodes (borders). furthermore, the present invention enables the distribution of service information using unicast communication without changing the memory requirements of the clients or SEPs.
Drawings
The embodiments are described with reference to the accompanying drawings. In the drawings, the left-most digit(s) of a reference number identifies the reference number as first appearing in the drawing. The same numbers are used throughout the drawings to reference like features of components.
Fig. 1 illustrates a typical IoT network of the prior art;
fig. 2 shows an example of service discovery according to the prior art;
FIG. 3 illustrates a service discovery node terminology according to the prior art;
FIG. 4 illustrates a C-DS mode compared to a D-less mode, D-DS mode, according to the prior art;
FIG. 5 illustrates a low-power and lossy network IPv6 routing protocol (RP L) signaling primitive used in a network according to the prior art;
FIG. 6 illustrates a process for identifying RD in a network according to an embodiment of the present invention;
fig. 7 is a flowchart illustrating RD list distribution when a new RD joins a network according to an embodiment of the present invention;
fig. 8 illustrates a process for identifying a preferred RD in a network according to an embodiment of the present invention;
FIG. 9 illustrates a service registration process according to an embodiment of the invention;
FIG. 10 illustrates a service registration call flow according to an embodiment of the invention;
FIG. 11 illustrates a process for handling a service lookup according to an embodiment of the invention;
FIG. 12 illustrates a flow diagram of proximity-based caching processing according to an embodiment of the invention;
FIG. 13 illustrates a proximity-based cache-call flow according to an embodiment of the present invention;
FIG. 14 illustrates a network providing distributed caching of proximity-based service information among a plurality of nodes/devices in the network, according to an embodiment of the present invention;
fig. 15 illustrates a method for distributed caching of service information in a network, wherein a plurality of devices are interconnected with each other to form the network, according to an embodiment of the present invention;
FIG. 16 illustrates a device hosting service information for distributing the service information to at least one other device in a network, according to an embodiment of the invention;
FIG. 17 illustrates a device hosting service information for caching service information received from at least one other device in a network, according to an embodiment of the invention;
fig. 18 illustrates a method of distributing and caching service information in a network including a plurality of devices selected from a first device, a second device, a third device, and a fourth device interconnected with each other, according to an embodiment of the present invention;
FIG. 19 illustrates a method performed by a device hosting service information for distributing the service information to at least one other device in a network, according to an embodiment of the invention;
fig. 20 illustrates a method performed by a device hosting service information for caching service information received from at least one other device in a network, according to an embodiment of the invention.
It is to be understood that the drawings are intended to illustrate some of the concepts of the invention and may not be to scale.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly described below with reference to the drawings in the embodiments of the present invention. It is to be understood that the described embodiments are merely exemplary of the invention, and not restrictive of the full scope of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
The following provides a detailed description of one or more embodiments of the invention and accompanying drawings that illustrate the principles of the invention. The invention is described in connection with these embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
The invention discloses a communication network, a device and a method for providing proximity-based distributed caching of service information.
Although aspects of a communication network and method for providing proximity-based distributed caching of service information are described, the invention may be implemented in any number of different computing systems, environments, and/or configurations, with embodiments being described in the context of the following exemplary systems, apparatuses, and methods.
Thus, in one implementation, the present invention provides a method for distributed caching of proximity-based service information in a constrained multi-hop network. The method comprises the following steps:
● identifying RD in the communication network;
● identifying service endpoints or clients in the communication network and assigning a preferred RD to each service endpoint or client;
● register (service broadcast or service registration) the service endpoint to the preferred RD through the service information, and then the RD backs up the information on the BR; (for simplicity and understanding, it is assumed herein that the BR is a centralized RD that can store all service information, but it can also be a different node in the network);
● the client always makes a service lookup (service lookup from the client) through its preferred RD, and if the RD cannot do the lookup locally, it queries the BR to obtain the information.
● RD decides to cache service information, i.e. proximity based caching, based on the lookup pattern.
● if any one RD fails, other RDs may be substituted or information may be obtained from the BR; in the event of a BR failure, the RD may replace the BR to provide service information.
Identifying RD in the network: the present invention is illustrated by multiple RDs in a network, however, one skilled in the art will appreciate that the present invention may also be implemented in a network having a single RS. As shown in fig. 5, there is a centralized RD (BR + RD) that can host all service information, in addition to which the network may distribute multiple low memory RDs and may not be able to accommodate the complete service information. For purposes of this document and to avoid complexity of understanding, a centralized RD may be considered a BR and will be referred to as a BR or a centralized RD in the remaining documents.
For example, low power and lossy network IPv6 routing protocol (RP L) signaling involves sending Data Access Object (DAO) messages from each node to the BR to build routing tables en route.
In one implementation, RP L signaling is described below to understand how to establish a routing path, FIG. 5 shows the RP L signaling primitive used in the network.
Using DIO, each node determines a parent node for sending traffic in an upward direction. Then, each node transmits a DAO message upward through the identified parent node (identified by a Direct Access Graph (DAG) information option (DIO for short)). The DAO message passes through each intermediate node and builds the routing table all the way to the BR.
For example, as shown in fig. 5, the BR first broadcasts a DIO, which may have been initiated by the BR, and contains the IP address of the BR, since it is a broadcast message, the DIO is received by RD2 and RD1, since they are within range of the BR, RD2 and RD1 in turn broadcast the DIO downward, so the DIO forwarded from RD2 is received by C L I1 and SEP1 note that SEP1 will receive the DIO from RD1 and RD2 the routing metrics/constraints as part of the DIO message will be used for SEP1 to decide the best path to use.
In fig. 5, SEP1 selects RD1 as its best parent node, thus showing the path as the primary path, and the other dashed line to RD2 is indicated as the secondary parent node/path those skilled in the art will appreciate that the identification of the best parent node is an inherent property of any specialized mesh routing protocol (e.g., RP L.) the best parent node selection is accomplished by using one or more metrics such as RSSI (received signal strength indication), L QI (link quality indication), ETX (estimated number of transmissions), latency, and number of hops.
DIO signaling thus ensures upward path selection, i.e., each node knows how to reach the BR by sending traffic to its best parent.
The problem of establishing a downward path, i.e. the BR receives IP packets to be sent to SEP1, how it knows whether to send the packets to RD1 or RD2 is solved by each node sending a DAO upward, where a routing table is established. When a node selects the best parent, it sends a DAO message up containing its own IP address. Since the DIO establishes a path to the BR, the DAO message will follow this path up through each intermediate parent node. Thus, each intermediate parent node will receive the DAO and know how to reach a particular node and thus build a routing table.
Identifying RD the present invention utilizes RP L signaling to identify RD. in the network as shown in fig. 6, when the RD node initiates a DAO in the up direction, it may additionally set RD _ F L AG in the DAO message, specifying that the source node is RD. so when the DAO arrives at the BR, the BR knows that the originator of the DAO message is the RD node.
RD table distribution: as shown in fig. 7, the BR identifying the new RD has joined the network, which informs all other RDs in the network of the existence of this new RD. Thus, all RD's know the addresses of other RD's in the network. Thus, when a new RD first joins the network, it queries the BR for a list of RDs in the network, and thus receives the list.
In one implementation, as shown in fig. 7, when a new RD joins the network, the BR receives service information from the joined new RD. The RD then checks the stored RD list for the presence of the new RD. If a new RD is found in the list, the service information provided by the new RD is stored/updated in the list. If no new RD is found in the list, the new RD information, i.e., address, is sent to all other RDs in the network. In addition, the BR adds the new RD to the list of existing RDs in the network. The service entry is then stored in the SET.
As shown in FIG. 8, an endpoint or client sets EP _ F L AG or C L I _ F L AG in the DAO to signal to the intermediate parent node that it wants to identify the nearest RD. up-going DAO is received by each intermediate router node in the network.
In the case where there is no RD in the path to the BR, the BR may decide on the RD to serve as the preferred RD instead of the client or service endpoint. The BR then sends a PREF _ RD message to the client or endpoint specifying the preferred RD address to use. The BR may decide the preferred RD to use based on the number of parameters such as the least used RD or the closest RD (based on routing metrics).
Service broadcast or service registration: as shown in fig. 9, the SEP device always registers the service to the preferred RD of the cached information. Preferably the RD sends this information to the BR as a backup. Therefore, the BR continues to keep all the information in one place.
As shown in fig. 9, a Service Endpoint (SEP) sends a service registration to its preferred RD, which then sends the registration information to the BR.
In one implementation, the service entry information is stored on the intermediate RD (e.g., RD1 and RD2) in the following format:
table 1: SET (service entry table) of RD
Figure GDA0001515088430000101
In one implementation, the BR + RD may store additional information as well as service information, such as a corresponding RD from which the service information is received and service response information sent from the RD to the SEP.
Table 2: SET (service entry table) of BR
Figure GDA0001515088430000102
In one implementation, the BR needs to additionally store a RD table containing a list of all RDs present in the network:
table 3: RD table of BR
Figure GDA0001515088430000111
Fig. 10 illustrates a service registration call flow as an exemplary embodiment of the present invention. In one implementation, the endpoint sends a service registration message to the RD. Upon receiving the service registration message, the RD caches the service registration message, which has service information locally associated with the endpoint, and then updates the information to the border router (BR + RD). Upon receiving this message, the BR can do two things: 1. as described in detail above in fig. 7, the procedure when a new RD joins the network is followed; and/or 2, cache service information locally as well.
Service finding: the client may always perform a lookup for the preferred RD. As shown in fig. 11, when the RD receives a search request from a client device, the preferred RD checks whether the queried information exists locally. If so, the RD responds directly to the lookup request. Otherwise, the RD sends a lookup request to the BR, which in turn responds to the RD with this information. The RD then sends the response back to the client. The RD decides whether to cache the information locally according to a proximity-based algorithm.
As shown in FIG. 13, in a proximity-based cache, RD may always be the first contact point to lookup at a time. The RD processes the lookup request on behalf of the client. The RD itself may or may not have this information locally. In case this information does not exist locally, the RD gets it from the BR and then gives it to the client. Thus, the RD may receive new service information from the BR, which may have to be cached locally. The proximity-based caching algorithm decides whether to cache the information, which must be cached when other information needs to be evicted without free space remaining in the RD.
To achieve this, the RD places a look-up counter in the context of each service information it has. Each time the lookup is completed, the corresponding counter for the information is incremented, while all other counters are decremented. Thus, when the RD receives any information, it checks the fewest counters and replaces the new information at that location. It should be noted that only counters less than or equal to zero are considered for this eviction process. However, the removal criteria may be modified/changed based on the requirements of the system.
In one implementation, FIG. 13 illustrates proximity-based caching as an example call flow for an exemplary embodiment of the invention. This example shows setting the initial table to RD for a and B information. The call flow illustrates how subsequent lookup requests affect the table and depicts a proximity-based caching algorithm.
The call flow in FIG. 13 is illustrated in steps as follows:
step 1: assume that RD currently SET contains two service entry values for A and B, with the lookup counts for both SET to 0.
Step 2: node N2 sends a service info a query. RD contains service information of a and responds with this information N2.
And step 3: the lookup count (CC) of the RD is updated. As a query for A is received, the lookup count for A will increase and the lookup counts for other entries will decrease. The lookup count for B becomes-1.
And 4, step 4: next, the RD receives a query for B. Since RD holds information for B, it responds with this information.
And 5: the lookup count for the RD is updated. As a query for B is received, the lookup count for B will increase and the lookup counts for other entries will decrease.
Step 6: the query for B is sent to RD again. The RD responds directly because it contains B information.
And 7: as a query for B is received, the lookup count for B increases, while the lookup counts for other entries will decrease. Thus, the lookup counts for A and B are set to-1 and 1, respectively.
And 8: now, a query for C is received on RD. And RD does not contain information of C.
And step 9: since the query for C cannot be satisfied on the RD, the RD forwards the request to the BR. The BR holds information of all services.
Step 10: the RD receives the C information from the BR and checks whether there is a free space in the SET. Since there is no free space in SET, the RD will check if there is an entry with a negative lookup count value. It finds that service entry a has a negative lookup count value, so the a information is evicted and replaced by the C information.
Step 11: since the query received is from C, the lookup count of B is decremented by 1, so the new lookup counts of C and B become 0 and 0, respectively. The lookup count of C is initialized to 0 when it is first pushed onto SET.
It should be noted that the eviction mechanism of the present invention is illustrated as running only on entries that are dynamically added at lookup time. Entries broadcast during the initial registration process are not evicted.
And (3) fault treatment: the present invention addresses single point of failure in a different way than the prior art available in the prior art. Based on the above described procedure, it is always ensured that the preferred RD always holds service information for endpoints other than the centralized BR/RD.
Consider the following scenario of failure handling:
● preferred RD failure: if the preferred RD fails, the client attempts to find the information through the BR. Similarly, if an EP detects that its preferred RD is not available, it queries the BR to assign an alternate preferred RD. The BR assigns the replacement RD using the procedure mentioned in the section above (identifying the preferred RD as described above).
● border router or centralized RD failure: this will affect the RD that cannot process the query locally. As mentioned above (identifying the RD), the RD always has a list of all other RDs in the network, so the query must be forwarded to all other RDs in case it cannot be handled locally.
In one implementation, as shown in fig. 14, the present invention discloses a network providing proximity-based distributed caching of service information among a plurality of nodes/devices in the network according to an embodiment of the present invention. The network includes at least one service endpoint device (1402), at least one client device (1404), at least one resource directory device (1406), and at least one border router device (1408) in communication with each other.
A service endpoint device (1402) is selected from the plurality of devices for providing a service to the plurality of devices. A resource directory device (1406) is selected from the plurality of devices for storing information of the service endpoint device providing services to the plurality of devices. A client device (1404) selects from the plurality of devices for finding (finding) a service in the network.
The method comprises the steps that a service endpoint device (1402) registers service information provided by the service endpoint device (1402) to at least one preferred resource directory device selected from resource directory devices (1406) based on low-power and lossy network IPv6 routing protocol (RP L) signaling, wherein the preferred resource directory devices (1406) are used for transmitting the information registered to at least one border router device (1408) for storing the received information.
When searching for a provided service, a client device (1404) transmits a search request to at least one preferred resource directory device selected from the resource directory devices based on a low-power and lossy network (IPv 6) routing protocol signaling.
While the present invention is illustrated by implementing the service endpoint device (1402), client device (1404), resource directory device (1406), and border router device (1408) as nodes on a communication network, it will be appreciated that the service endpoint device (1402), client device (1404), resource directory device (1406), and border router device (1408) may also be implemented in a variety of computing systems, such as laptops, desktops, notebooks, workstations, mainframes, servers, and web servers, among others. Examples of service endpoint device (1402), client device (1404), resource directory device (1406), and border router device (1408) may include, but are not limited to, any sensor node/device, which may include portable computers, personal digital assistants, handheld devices, sensor nodes, and workstations. The service endpoint device (1402), client device (1404), resource directory device (1406), and border router device (1408) are communicatively coupled to each other over a network (not shown).
In one implementation, the network may be implemented as one of different types of networks, such as AN intranet, a local area network (L AN), a Wide Area Network (WAN), and the Internet.
In one implementation, information of the query received from the border router device is not currently available/present in the preferred resource directory device.
In one implementation, the resource directory device is selected by:
● transmitting at least one Data Access Object (DAO) message from at least one selected device of the plurality of devices to the border router device, wherein:
● the DAO message including at least one flag specifying that the device is the resource directory device; or
● the DAO message does not include at least one flag specifying that the device is not the resource directory device;
● receiving the transmitted DAO message by the border router device, thereby
● identifying, by the border router device, that the device is the resource directory device if the flag is present/enabled;
● (optionally), sending, by the border router device, at least one Direct Access Graph (DAG) information option (DIO) message to the identified resource directory device.
In one implementation, a border router device is configured to maintain a list of the resource directory devices, wherein the list is distributed to all of the resource directory devices present in the network.
In one implementation, when a new device joins the network, if the new device is configured to act as the resource directory device, the new device queries the list stored in the border router device; whereby said border router device is arranged to distribute said list to said new device in said network.
In one implementation, the service endpoint device and the client device are selected by using a service discovery mechanism that: detecting the service endpoint device from the plurality of devices, wherein the service endpoint device is to provide services to the plurality of devices in the network; detecting the client device from the plurality of devices, wherein the client device is configured to find a service from the service endpoint device detected in the network and utilize the service.
In one implementation, the communication is propagated through at least one routing protocol or any network, preferably a low-power and lossy network IPv6 routing protocol (RP L), and the preferred resource directory device is selected by:
● transmitting, by the service endpoint device or the client device, at least one Data Access Object (DAO) message to the border router device, wherein:
● the DAO message, if transmitted by the service endpoint device, includes at least one flag specifying that the service endpoint device is seeking the preferred resource directory device closest to the service endpoint device; and/or
● the DAO message, if transmitted by the client device, includes at least one flag specifying that the client device is seeking the preferred resource directory device closest to the client device;
● the plurality of devices receiving the DAO message transmitted by the service endpoint device or the client device;
● if the device is the registered resource directory device, at least one device from the plurality of devices responds by sending at least one message to the service endpoint device or the client device seeking a preferred resource directory device indicating the device as the preferred resource directory device.
In one implementation, if no device responds to the DAO message transmitted by the service endpoint device or the client device, the DAO message is received by the border router device, which is then used to assign a preferred resource directory device to the service endpoint device or the client device that seeks the preferred resource directory device, while sending at least one message to the service endpoint device or the client device indicating the device as the preferred resource directory device, wherein the device is selected as the preferred resource directory device based on the least used resource directory device in the network or based on the nearest resource directory device identified by routing metrics in the network.
In one implementation, the service endpoint device is configured to transmit service information associated with a service provided by the service endpoint device to the preferred resource directory device identified for the service endpoint device; the preferred resource directory device is used for caching the received service information; subsequently, the service information is transmitted to the border router device, which is configured to register the service information.
In one implementation, the service information is registered in the preferred resource directory device in the form of service entry information, wherein the service entry information includes at least one host IP address information, at least one host port number, at least one service information selected from one endpoint (name or ID) (Ep), a resource type (Rt), an interface (If) and endpoint type (Et), a domain (D), a lifetime (L t), a context/message (Con), a lookup count, and the like.
In one implementation, the resource directory device/preferred resource directory is configured to store a list of all resource directory devices present/available in the network, the list including at least resource directory device information selected from a host IP address, a port number, and a SE number.
In one implementation, the border router device is configured to register the service information in a format of service entry information, wherein the service entry information includes at least one host IP address information, at least one host port number, at least one service information selected from one endpoint (name or ID) (Ep), a resource type (Rt), an interface (If) and endpoint type (Et), a domain (D), a lifetime (L t), a context/message (Con), a lookup count, at least one resource directory device/preferred resource directory device information, or at least one service RSP information.
In one implementation, the client device is configured to query or search the preferred resource directory device for service information; the preferred resource directory device is to:
● if the service information to be queried is found, responding to the query with the found service information; or
● if no service information to be queried is found, transmitting the query or the lookup to the border router device in the network;
● receiving new service information in response to the query or the lookup from the border router device; thereby to obtain
● if new service information is received from the border router device, responding to the query with the new service information.
In one implementation, the preferred resource directory device is configured to:
● maintaining a plurality of look-up counters associated with pre-stored service information;
● when performing a lookup of service information pre-stored and associated with at least one lookup counter, incrementing the at least one lookup counter selected from the lookup counters and concurrently decrementing other counters associated with pre-stored and uncapped service information;
● buffering the received new service information based on the proximity-based mechanism, if there is no space available, by clearing pre-allocated service information in the preferred resource directory device, which is cleared based on the counter, i.e. the service information with the least counter is cleared and replaced with the new service information, while creating space for storage of the new service information.
In one implementation, the service information is retained in the preferred resource directory device and the border router device.
In one implementation, the plurality of devices are selected from sensor nodes, routers, gateways, border routers/gateways, servers, actuators, and the like.
In one implementation, the client device is at least one device or node in the network seeking services offered by the service endpoint device or node on the network.
In one implementation, the service endpoint device and the client device comprise similar preferred resource directory devices or different preferred resource directory devices in the network.
Fig. 15 illustrates a method of proximity-based distributed caching of service information in a network, wherein a plurality of devices are interconnected with one another to form the network, according to an embodiment of the present invention. The method may be described in the general context of computer-executable instructions. Generally, the computer-executable instructions may include routines, programs, objects, components, data structures, procedures, modules, functions, and the like that perform particular functions or implement particular abstract data types. The method may also be practiced in distributed computing environments where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, the computer-executable instructions may be located in both local and remote computer storage media including memory storage devices.
The order in which the methods are described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement a method, or another method. In addition, individual blocks may be deleted from the method without departing from the scope of the invention. Furthermore, the present method may be implemented by any suitable hardware, software, firmware, or combination thereof. For convenience of illustration, the method may be regarded as being implemented in the communication network described above in the following embodiments.
In block 1502, the same device is identified by selecting at least one resource directory device (1406) from the plurality of devices. The resource directory device (1406) is for hosting service information of at least one other device.
In block 1504, at least one service endpoint device (1402) and at least one client device (1404) are identified by selecting from the plurality of devices.
In block 1506, at least one preferred resource directory device is assigned to the service endpoint device and/or client device, wherein the preferred resource directory device is selected from the identified resource directory devices (1406).
In block 1508, at least one service information provided by the service endpoint device (1402) associated therewith is registered on the preferred resource directory device.
In block 1510, the service information is distributed in the network by the preferred resource directory device, wherein the service information is distributed into at least one border router device (1408) and/or the resource directory device (1406).
In block 1512, the received service information and at least one new service information are distributed on the preferred resource directory device based on the at least one lookup pattern 1510 of the client device and through a proximity-based mechanism. As will be appreciated by those skilled in the art, a lookup pattern is a lookup request or service lookup from a client that seeks/requests service information from a resource directory or any other device hosting a service in a network.
In one implementation, the service information is information associated with a service provided by the service endpoint device on the network.
In one implementation, the identifying the resource directory device from the plurality of devices includes propagating communication through any one of a routing protocol or any network, preferably a routing protocol for low-power and low-loss network IPv6 (RP L), and identifying the resource directory device by:
● transmitting at least one Data Access Object (DAO) message from at least one selected device of the plurality of devices to the border router device, wherein:
● the DAO message including at least one flag specifying that the device is the resource directory device; or
● the DAO message does not include at least one flag specifying that the device is not the resource directory device;
● receiving the transmitted DAO message by the border router device, thereby
● identifying, by the border router device, that the device is the resource directory device if the flag is present/enabled;
● (optionally), sending, by the border router device, at least one Direct Access Graph (DAG) information option (DIO) message to the identified resource directory device.
In one implementation, the method includes maintaining, in the border router device, a list of the resource directory devices present in the network; the border router device distributes a list of the registered resource directory devices to all resource directory devices present in the network.
In one implementation, when a new device joins the network, if the new device is configured to act as the resource directory device, the method includes: querying the list of the resource directory devices registered in the border router device; thereby distributing the list stored in the border router device to the new device in the network.
In one implementation, identifying the service endpoint device and the client device includes:
● detecting the service endpoint device from the plurality of devices by using a service discovery mechanism, wherein the service endpoint device is to provide services to the plurality of devices in the network;
● detecting the client device from the plurality of devices by using a service discovery mechanism, wherein the client device is configured to find a service from the service endpoint devices detected in the network and to utilize the service;
● the service endpoint device and the client device comprise similar preferred resource directory devices or different preferred resource directory devices in the network.
In one implementation, the allocating the preferred resource directory device includes propagating communication through any one of routing protocols or any network, preferably through a low-power and lossy network IPv6 routing protocol (RP L), and allocating:
● transmitting, by the service endpoint device or the client device, at least one Data Access Object (DAO) message to the border router device, wherein:
● the DAO message, if transmitted by the service endpoint device, includes at least one flag specifying that the service endpoint device is seeking the preferred resource directory device closest to the service endpoint device; and/or
● the DAO message, if transmitted by the client device, includes at least one flag specifying that the client device is seeking the preferred resource directory device closest to the client device;
● the plurality of devices receiving the DAO message transmitted by the service endpoint device or the client device;
● if the device is the registered resource directory device, at least one device from the plurality of devices responds by sending at least one message to the service endpoint device or the client device seeking a preferred resource directory device indicating the device as the preferred resource directory device.
In one implementation, if no device responds to the DAO message transmitted by the service endpoint device or the client device, the DAO message is received by the border router device, which is then operable to: allocating the preferred resource directory device to the service endpoint device or the client device seeking a preferred resource directory device, while sending at least one message to the service endpoint device or the client device indicating the device as the preferred resource directory device, wherein the device is selected as the preferred resource directory device based on a least used resource directory device in the network or based on a closest resource directory device identified by routing metrics in the network.
In one implementation, the registering service information provided by the service endpoint device includes:
● the service endpoint device transmitting service information associated with a service provided by the service endpoint device to the preferred resource directory device identified for the service endpoint device;
● buffering the received service information in the preferred resource directory device; subsequently, transmitting the service information to the border router device; thereby to obtain
● store the service information in the border router device.
In one implementation, the method includes:
● the client device querying or looking up the preferred resource directory device for service information;
● if the queried service information is found, the preferred resource directory device responds to the query with the found service information;
● if no service information to be queried is found, the preferred resource directory device transmits the query or the lookup to the border router device in the network;
● the preferred resource directory device receiving new service information in response to the query or the lookup from the border router device; thereby to obtain
● if new service information is received from the border router device, the preferred resource directory device responds to the query with the new service information.
In one implementation, caching the received service information and the new service information on the preferred resource directory device based on at least one lookup pattern/query of the client device and through a proximity-based mechanism includes:
● the preferred resource directory device receiving the new service information from the border router device in response to the query or the lookup, wherein the new service information received from the border router device was first received for the preferred resource directory device;
● buffer the received new service information based on the proximity-based mechanism, and if there is no space available, then simultaneously create space for storage of the new service information by clearing pre-allocated service information in the preferred resource directory device.
In one implementation, emptying the pre-allocated service information in the preferred resource directory device includes:
● maintaining a plurality of look-up counters in the preferred resource directory device in association with pre-stored service information;
● when performing a lookup of service information pre-stored and associated with at least one lookup counter, incrementing the at least one lookup counter selected from the lookup counters and concurrently decrementing other counters associated with pre-stored and uncapped service information;
● buffering the received new service information based on the proximity-based mechanism, if there is no space available, by clearing pre-allocated service information in the preferred resource directory device, which is cleared based on the counter, i.e. the service information with the least counter is cleared and replaced with the new service information, while creating space for storage of the new service information.
In one implementation, the present invention automatically handles the addition of any new RD to the network or the deletion of existing RDs in the event that a new RD is to be added to or removed from the network. There is no change in the RD add/delete mechanism described above.
In one implementation, the present invention provides a method of distributively caching service information in a network, wherein a plurality of devices are interconnected with each other to form the network. The method comprises the following steps:
● identifying (1502) at least one resource directory device (1406) in the network hosting service information for at least one other device;
● identifying (1504) at least one service endpoint device (1402) and at least one client device (1404) selected from the plurality of devices in the network;
● allocating (1506) at least one preferred resource directory device to the service endpoint device (1402) and/or client device (1404), wherein the preferred resource directory device is selected from the identified resource directory devices (1406);
● registering (1508) at least one service information provided by the service endpoint device (1402) on the preferred resource directory device;
● the preferred resource directory device backing up the service information registered on at least one border router device (1408) in the network;
●, using the client device, queries for at least one lookup request (1510), the preferred resource directory device looking for at least one response, wherein,
● if the response to the lookup request is not responded to by the preferred resource directory device, the response is obtained by the preferred resource directory device from the border router device (1408) and used to respond to the client device (1404);
● the preferred resource directory device caches (1512) the registered service information and the response obtained from the border router device (1408), wherein the response is at least one new service information pre-registered on the border router device (1408).
Fig. 16 shows a device (1408) hosting service information for distributing the service information to at least one other device in the network, according to an embodiment of the invention. In one implementation, the invention provides a device (1408) for hosting service information for distributing the service information to at least one other device (1406) in a network. The apparatus (1408) comprises a processor (1602) and a memory (1606), coupled to the processor (1602), the processor to execute a plurality of modules present in the memory (1606). The plurality of modules includes a storage module (1608), a receiving module (1610), a distribution module (1612), and a transmission module (1614).
The storage module may be configured to host the service information and store a list of other devices available in the network. The receiving module may be configured to receive at least one service request from another device, where the service request is used to find service information required by the another device, which is stored in the storage module in advance, and new service information and an IP address associated with a new device joining a network, where the new device is not in the list of the another device. The distribution module may be configured to distribute the hosted service information to other devices in the network and distribute the IP address of the new device to other devices in the network in response to the service request, such that the received new service information and the IP address associated with the new device are stored in the list in the storage module. The transmission module may be configured to transmit the pre-stored service information or the received new service information based on the service request of the other device.
Fig. 17 illustrates a device (1406) hosting service information for caching service information received from at least one other device (1408) in a network, according to an embodiment of the invention. In one implementation, a device (1406) for hosting service information is disclosed for caching service information received from at least one other device (1408) in a network. The apparatus (1406) includes a processor (1702) and a memory (1706) coupled to the processor (1702) for executing a plurality of modules present in the memory (1706). The plurality of modules includes a storage module (1708), a receiving module (1710), a caching module (1712), and a transmitting module (1714).
The storage module may be used to host pre-stored service information. The receiving module can be used for receiving at least one service request from at least one client device, wherein the service request is used for searching service information required by the client device stored in the storage module in advance; if the service information required by the client device does not exist in the storage module, at least one new service information from other devices is received. The cache module may be configured to cache, by a cache mechanism, new service information received from the other device, where the cache mechanism determines whether the received new service information is not stored in the storage module in advance; if there is no space in the storage module for storing the received new service information, moving out at least one service information pre-stored in the storage module based on at least one counter; storing the received new service information in the storage module. The transmission module may be configured to transmit the pre-stored service information or the new service information based on the service request of the client device.
While the invention is illustrated by being implemented as devices (1408, 1406, 1402, and 1404), it is to be understood that the devices (1408, 1406, 1402, and 1404) can also be implemented in a variety of computing systems, such as notebook computers, desktop computers, notebooks, workstations, mainframe computers, servers, web servers, and the like. It should be understood that the devices (1408, 1406, 1402, and 1404) may be accessible by multiple users through one or more user devices (not shown) or applications residing in those devices (not shown). Examples of devices (1408, 1406, 1402, and 1404) may include, but are not limited to, portable computers and personal digital assistants, which may be communicatively coupled to other devices through a network (not shown).
In one implementation, the devices (1408, 1406, 1402, and 1404) may include at least one processor, an interface (1604 and 1704), and memory. The at least one processor may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitry, and/or any devices that process signals based on operational instructions. In other capabilities, the at least one processor is configured to retrieve and execute computer-readable instructions stored in the memory.
The interfaces may include a variety of software and hardware interfaces, such as web interfaces and graphical user interfaces, among others, the interfaces may allow the devices (1408, 1406, 1402, and 1404) to interact with users directly or through client devices, furthermore, the interfaces may enable the devices (1408, 1406, 1402, and 1404) to communicate with other computing devices, such as web servers and external data servers (not shown), the interfaces may facilitate a variety of communications in a variety of network and protocol types, such as a wired network such as L AN or cable and a wireless network such as W L AN, cellular, or satellite.
The memory may include any computer-readable medium known in the art, including, for example, volatile memory, such as Static Random Access Memory (SRAM) and Dynamic Random Access Memory (DRAM), and/or non-volatile memory, such as read-only memory (ROM), erasable programmable ROM, flash memory, a hard disk, an optical disk, and a magnetic tape. The memory may include a plurality of modules. Including routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. In one implementation, the modules may include a receiving module, a user interaction analyzer module, a user template matcher module, and a recommendation module. Other modules may include programs or coded instructions for augmenting the applications and functions of the devices (1408, 1406, 1402, and 1404).
In one implementation, the present invention provides a network for distributing and caching service information in a network comprising a plurality of devices selected from a first device (1408), a second device (1402), a third device (1406), and a fourth device (1404) interconnected with one another. The network comprises: at least one first device for hosting service information associated with the second device for providing services in the network and registering the provided services to the third device, the third device and the fourth device for requesting at least one service from the third device. The first device is configured to receive at least one service request from the third device, where the service request is used to find service information required by the fourth device stored in the first device in advance; storing a list of the second, third and fourth devices available in the network; receiving new service information and an IP address associated with a new device joining a network, wherein the new device is not in the list; distributing the IP address of the new device to the third device; distributing the IP address of the new device to the third device; storing the received new service information and the IP address associated with the new device in the list; transmitting the pre-stored service information or the received new service information based on the service request from the third device. The third device is configured to receive the pre-stored service information or the new service information from the first device based on the service request from the third device; caching new service information received from the first device by a caching mechanism, wherein the caching mechanism confirms whether the new service information received from the first device is not pre-stored in the third device; shifting out at least one service information pre-stored in the third device based on at least one counter if there is no space in the third device for storing the received new service information; storing the received new service information in the third device; thereby transmitting the new service information or the pre-stored service information stored in the third device based on the service request from the fourth device.
Fig. 18 illustrates a method of distributing and caching service information in a network including a plurality of devices selected from a first device, a second device, a third device, and a fourth device interconnected with each other, according to an embodiment of the present invention. In one implementation, the present invention provides a method of distributing and caching service information in a network comprising a plurality of devices selected from a first device, a second device, a third device and a fourth device interconnected with each other, wherein at least one first device is configured to host service information associated with the second device, the third device and the fourth device, wherein the second device is configured to provide services in the network and to register these services provided with the third device, and the fourth device is configured to request at least one service from the third device.
In step 1802, the first device receives at least one service request from the third device, where the service request is used to find service information required by the fourth device pre-stored in the first device.
In step 1804, the first device stores a list of the second, third, and fourth devices available in the network.
In step 1806, the first device receives new service information and an IP address associated with a new device joining the network, wherein the new device is not in the list.
In step 1808, the first device distributes the IP address of the new device to the third device.
In step 1810, the first device stores the received new service information and the IP address associated with the new device in the list.
In step 1812, the first device transmits the pre-stored service information or the received new service information based on the service request from the third device.
In step 1814, the third device receives the pre-stored service information or the new service information from the first device based on the service request from the third device.
In step 1816, the third device buffers the new service information received from the first device through a buffering mechanism, wherein in step 1818, the buffering mechanism confirms whether the new service information received from the first device is not pre-stored in the third device; in step 1820, if there is no space in the third device for storing the received new service information, moving out at least one service information pre-stored in the third device based on at least one counter.
In step 1822, the third device stores the new service information or the pre-stored service information stored in the third device based on the service request from the fourth device.
In step 1824, the third device transmits the new service information or the pre-stored service information stored in the third device (1406) based on the service request from the fourth device (1404).
Fig. 19 illustrates a method performed by a device hosting service information for distributing the service information to at least one other device in a network according to an embodiment of the present invention. In one implementation, the present invention provides a method performed by a device hosting service information for distributing the service information to at least one other device in a network.
In step 1902, the device 1408 hosts service information.
In step 1904, a list of the other devices (1406) available in the network is stored.
In step 1906, at least one service request from the other device (1406) is received, wherein the service request is used for finding service information required by the other device (1406) stored in the storage module in advance.
In step 1908, new service information and an IP address associated with a new device joining the network is received, wherein the new device is not in the list of other devices.
In step 1910, the hosted service information is distributed to other devices (1406) in the network in response to the service request.
In step 1912, the received new service information and the IP address of the new device are distributed to other devices in the network (1406).
In step 1914, the received new service information and the IP address associated with the new device are stored in the list.
In step 1916, the pre-stored service information or the received new service information is transmitted based on the service request from the other device (1406).
Fig. 20 illustrates a method performed by a device hosting service information for caching service information received from at least one other device in a network, according to an embodiment of the invention. In one implementation, the present invention provides a method performed by a device hosting service information for caching service information received from at least one other device in a network.
In step 2002, service information is hosted.
In step 2004, receiving at least one service request from at least one client device, wherein the service request is used for searching service information required by the client device stored in the storage module in advance; if the service information required by the client device does not exist in the storage module, at least one new service information from other devices is received.
Caching, in step 2006, new service information received from the other device by a caching mechanism, wherein, in step 2008, the device confirms that the received new service information is not pre-stored in the caching mechanism; in step 2012, if there is no space in the storage module for storing the received new service information, the device moves out at least one service information stored in advance based on at least one counter.
In step 2014, the received new service information is stored in the device.
In step 2016, the pre-stored service information or the new service information is transmitted based on the service request from the client device.
In one implementation, the preferred resource directory for information shared by the SEP or for lookup requests made by the client may be the same, i.e. shared by the SEP and the client, or may be different, i.e. distributed in the network, as will be appreciated by those skilled in the art.
In one implementation, it is understood that the centralized RD may be located in the BR or anywhere else in the WSN or outside of it.
In one implementation, those skilled in the art will appreciate that although the present invention may be illustrated using core RD-based service discovery, the present invention is equally applicable to any other service discovery protocol, such as DNS-SD or m-DNS/DNS-SD.
In one implementation, those skilled in the art will appreciate that although the present invention may be illustrated using RP L as the routing protocol, any other routing protocol available in the art, such as, but not limited to, any network-borne communication, may also be used in the present invention.
In one implementation, to identify the preferred RD, the endpoint or client may use some other heuristic, such as hop count or any other metric, to identify the most recent or best RD to use, or any existing technique, as will be appreciated by those skilled in the art.
In one implementation, any broadcast addressing scheme may be used in place of routing protocol based signaling to isolate service discovery signaling from routing signaling, as will be appreciated by those skilled in the art. Alternatively, any propagated addressing may be used to identify RD, endpoints, and clients in the network.
In one implementation, one skilled in the art will appreciate that the identification of a preferred RD or the like for a portion of a communication by an endpoint or client may be based on a multicast communication or on any other communication available in the art if the cost of the multicast or other communication is not high.
In one implementation, those skilled in the art will appreciate that the present invention may be implemented as a border router or gateway with an integrated centralized RD that enables service information distribution in WSN/LL N.
In one implementation, those skilled in the art will appreciate that the present invention may be implemented as an IoT node with built-in RD functionality.
In one implementation, since the present invention can be implemented in a wireless sensor network, the present invention can also be used to provide the following services:
1. home automation
2. Building automation
3. Industrial automation
4. Intelligent city
5. Street lighting
6. Intelligent agriculture
In one implementation, the present invention can be implemented in an automated scenario. In an automation scenario, where the connection to a border router or gateway is instantaneous or not guaranteed at all times, this idea allows a way of implementing service discovery operations in an optimized way.
An example product scenario is "Google Nest": google offers a home automation solution named Google Nest that works in conjunction with border routers or gateways. It also assumes that the border router or gateway may not always operate properly, in which case the service should still operate seamlessly. In such a scenario, the invention would be valuable, where the connection is instantaneous and cannot rely entirely on any single node.
Compared with the prior art, the invention has the following beneficial effects and advantages:
table 4: comparison of the present invention with the prior art
Feature(s) C-DS D-LESS D-DS The invention
Communication mode Unicast Multicast Multicast Unicast
SPOF Is that Whether or not Whether or not Whether or not
Finding time delay 600 milliseconds 6500 milliseconds 4500 milliseconds 300 milliseconds
Dormant node handling Is that Whether or not Whether or not Is that
Power consumption Is low in Super high Height of Extremely low
In addition to the above, the present invention also includes the following mentioned advantages:
1. the invention avoids single point of failure.
2. The invention enables a reduction of the delay compared to any other existing scheme.
3. Since the service discovery traffic is distributed in the network, the present invention reduces the power consumption of the entire network.
4. The invention reduces the traffic congestion of the uplink network. Service discovery traffic is distributed in the network.
5. The invention avoids multicast communication, thereby improving registration/search performance.
6. The invention can effectively utilize available resources such as memory and the like.
7. The present invention addresses uneven memory availability on the RD. The preferred RD is determined based on factors including memory.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps described in connection with the examples disclosed in the embodiments disclosed herein may be embodied in electronic hardware or in a combination of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
It will be clearly understood by those skilled in the art that for the sake of convenience and simplicity of description, reference may be made to corresponding processes in the foregoing method embodiments for the detailed working of the foregoing systems, devices and units, and details will not be described herein.
In providing several embodiments in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the described apparatus embodiments are merely exemplary. For example, the cell partitions are merely logical functional partitions and may be other partitions in an actual implementation. For example, various elements or components may be combined or integrated in another system or portions of features may be omitted, or not implemented. Further, the shown or discussed mutual coupling or direct coupling or communicative connection may be achieved through some interfaces. Direct coupling or communicative connection between devices or units may be achieved through electrical, mechanical, or other means.
These functions may be stored in a computer-readable storage medium when they are implemented in the form of software functional units and sold or used as separate products. The solution according to the invention may be implemented substantially as such or as constituting part of the prior art or part of the solution according to the invention in the form of a software product. A computer software product is stored on a storage medium and includes instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or part of the steps of the method described in the embodiments of the present invention. The storage medium includes: any medium that can store program code, such as a USB disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
Although implementations of communication networks, devices, and methods for proximity-based distributed caching of service information in a network have been described in language specific to structural features and/or methods, it is to be understood that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods disclosed are exemplary implementations of communication networks and methods for proximity-based distributed caching of service information in a network.

Claims (19)

1. A device (1408) for hosting service information, for distributing the service information to at least one other device (1406) in a network, the device (1408) comprising:
a processor (1602);
a memory (1606), coupled to the processor (1602), for executing a plurality of modules in the memory (1606), wherein the plurality of modules comprises:
a storage module (1608) for hosting the service information and storing a list of the other devices (1406) available in the network;
-a receiving module (1610) for receiving:
at least one service request from the other device (1406), wherein the service request is used for searching service information required by the other device (1406) stored in the storage module in advance;
new service information and an IP address associated with a new device joining the network, wherein the new device is not in the list of other devices;
a distribution module (1612) to: distributing (1406) the hosted service information to other devices in the network in response to the service request; distributing the IP address of the new device to other devices in the network (1406); thereby storing the received new service information and the IP address associated with the new device in the list;
a transmission module (1614) for transmitting the pre-stored service information or the received new service information based on the service request of the other device (1406).
2. The device (1408) of claim 1, wherein the receiving module receives the service request, the new service information and the IP address, and wherein the transmitting module transmits the service information via at least one routing protocol or any network-propagated communication signaling.
3. The device (1408) of claim 1, wherein the service information is stored in the storage module in the form of service entry information, wherein the service entry information comprises at least one host IP address information, at least one host port number, at least one service information selected from one endpoint, a resource type, an interface, an endpoint type, a domain, a lifetime, a context, a lookup count, or at least one resource directory device information.
4. The device (1408) of claim 1, wherein the device (1408) is a sensor node, a router, a gateway, or a server.
5. The device (1408) of claim 1, wherein the list of other devices (1406) available in the network is obtained by at least one routing protocol or any network propagated communication signaling, wherein:
the other device (1406) is configured to transmit at least one data access object, DAO, message to other devices (1406) available in the network, wherein the DAO message includes at least one flag and, if the flag is present, the other device (1406) is included in the list, thereby transmitting at least one loopless directed graph information option, DIO, message to the other device (1406).
6. The device (1408) of claim 1, wherein the list is stored in a table form, including slave host IP addresses and port numbers.
7. An apparatus (1406) for hosting service information for caching service information received from at least one other apparatus (1408) in a network, the apparatus comprising:
a processor (1702);
a memory (1706) coupled to the processor, the processor to execute a plurality of modules present in the memory (1706), wherein the plurality of modules includes:
a storage module (1708) for hosting pre-stored service information;
a receiving module (1710) for:
receiving at least one service request from at least one client device (1404), wherein the service request is used for searching service information required by the client device (1404) stored in the storage module in advance;
receiving at least one new service information from the other device (1408) if the service information required by the client device (1404) is not present in the storage module;
a caching module (1712) configured to cache the new service information received from the other device (1408) by a caching mechanism, wherein the caching mechanism comprises:
confirming that the received new service information is not pre-stored in the storage module;
if there is no space in the storage module for storing the received new service information, moving out at least one service information pre-stored in the storage module based on at least one counter;
storing the received new service information in the storage module;
a transmission module (1714) for transmitting the pre-stored service information or the new service information based on the service request of the client device (1404).
8. The device (1406) of claim 7, wherein the receiving module receives the service request, the new service information, and an IP address, and wherein the transmitting module transmits the service information via at least one routing protocol or any network-propagated communication signaling.
9. The apparatus (1406) of claim 7, wherein the apparatus (1406) is a sensor node, a router, a gateway, or a server.
10. The device (1406) of claim 7, wherein the service information is stored in the storage module in the form of service entry information, wherein the service entry information includes at least one host IP address information, at least one host port number, at least one service information selected from an endpoint, a resource type, an interface, an endpoint type, a domain, a lifetime, a context, and a lookup count.
11. A network for distributing and caching service information in a network, characterized in that the network comprises a plurality of devices selected from a first device (1408), a second device (1402), a third device (1406) and a fourth device (1404) interconnected to each other, wherein the network comprises:
at least one first device (1408) for hosting service information associated with the second device (1402), the third device (1406) and the fourth device (1404), wherein the second device (1402) is configured to provide services in the network and to register these services provided with the third device (1406), and the fourth device (1404) is configured to request at least one service from the third device (1406);
the first device (1408) is to:
receiving at least one service request from the third device (1406), wherein the service request is used for searching service information required by the fourth device stored in the first device in advance;
storing a list of the second device (1402), third device (1406), and fourth device (1404) available in the network;
receiving new service information and an IP address associated with a new device joining a network, wherein the new device is not in the list;
distributing the IP address of the new device to the third device (1406);
storing the received new service information and the IP address associated with the new device in the list;
transmitting the pre-stored service information or the received new service information based on the service request from the third device (1406);
the third device (1406) is for:
receiving the pre-stored service information or the new service information from the first device (1408) based on the service request from the third device (1406);
caching new service information received from the first device (1408) by a caching mechanism, wherein the caching mechanism:
confirming whether the new service information received from the first device (1408) is not pre-stored in the third device (1406);
-if there is no space in the third device for storing the received new service information, moving out at least one service information pre-stored in the third device (1406) based on at least one counter;
storing the received new service information in the third device (1406);
transmitting the new service information or the pre-stored service information stored in the third device (1406) based on the service request from the fourth device (1404).
12. A method of distributing and caching service information in a network, the network comprising a plurality of devices selected from a first device (1408), a second device (1402), a third device (1406) and a fourth device (1404) interconnected with each other, wherein at least one first device (1408) is adapted to host service information associated with the second device (1402), the third device (1406) and the fourth device (1404), wherein the second device (1402) is adapted to provide services in the network and to register the provided services with the third device (1406), and wherein the fourth device (1404) is adapted to request at least one service from the third device (1406), wherein the method comprises:
-the first device (1408) receiving (1802) at least one service request from the third device (1406), wherein the service request is for finding service information required by the fourth device pre-stored in the first device;
the first device (1408) storing (1804) a list of the second device (1402), third device (1406) and fourth device (1404) available in the network;
receiving (1806), by the first device (1408), new service information and an IP address associated with a new device joining a network, wherein the new device is not in the list;
the first device (1408) distributing (1808) the IP address of the new device to the third device (1406);
the first device (1408) storing (1810) the received new service information and an IP address associated with the new device in the list;
the first device (1408) transmitting (1812) the pre-stored service information or the received new service information based on the service request from the third device (1406);
the third device (1406) receiving (1814) the pre-stored service information or the new service information from the first device (1408) based on the service request from the third device (1406);
the third device (1406) caches (1816) new service information received from the first device (1408) through a caching mechanism, wherein the caching mechanism:
confirming (1818) whether the new service information received from the first device (1408) is not pre-stored in the third device (1406);
shifting out (1820) at least one service information pre-stored in the third device (1406) based on at least one counter if there is no space in the third device for storing the received new service information;
storing (1822) the received new service information in the third device (1406);
the third device (1406) transmits (1824) the new service information or the pre-stored service information stored in the third device (1406) based on the service request from the fourth device (1404).
13. A method performed by a device (1408) hosting service information for distributing the service information to at least one other device (1406) in a network, the method comprising:
hosting (1902) the service information;
storing (1904) a list of the other devices (1406) available in the network;
receiving (1906) at least one service request from the other device (1406), wherein the service request is used for finding pre-stored service information required by the other device (1406);
receiving (1908) new service information and an IP address associated with a new device joining a network, wherein the new device is not in the list of other devices;
distributing (1910) the hosted service information to other devices (1406) in the network in response to the service request;
distributing (1912) the received new service information and the IP address of the new device to other devices (1406) in the network; thereby to obtain
Storing (1914) the received new service information and an IP address associated with the new device in the list;
transmitting (1916) the pre-stored service information or the received new service information based on the service request from the other device (1406).
14. The method of claim 13, comprising: receiving the service request, the new service information and the IP address, and transmitting the service information through at least one routing protocol or any network propagation communication signaling.
15. The method of claim 13, wherein the service information is stored in the form of service entry information, wherein the service entry information comprises at least one of host IP address information, at least one host port number, at least one service information selected from an endpoint, resource type, interface, endpoint type, domain, lifetime, context, lookup count, or at least one resource directory device.
16. The method according to claim 13, characterized in that said list of other devices (1406) available in the network is obtained by means of at least one routing protocol or any network propagated communication signalling with the following steps:
-the other device (1406) transmitting at least one data access object, DAO, message to other devices (1406) available in the network, wherein the DAO message comprises at least one flag;
if the flag is present, including the other device (1406) in the list;
the device (1408) transmits at least one loop-free directed graph information option, DIO, message to the other device (1406).
17. A method performed by a device (1406) hosting service information for caching service information received from at least one other device (1408) in a network, the method comprising:
hosting (2002) the service information;
receiving (2004) at least one service request from at least one client device (1404), wherein the service request is for finding pre-stored service information required by the client device (1404);
receiving (2006) at least one new service information from the other device (1408) if the service information required by the client device (1404) does not exist;
caching (2008) new service information received from the other device (1408) by a caching mechanism, wherein the caching mechanism comprises:
confirming (2010) whether the received new service information is not pre-stored;
shifting out (2012) at least one service information stored in advance based on at least one counter if there is no space for storing the received new service information;
storing (2014) the received new service information;
transmitting (2016) the pre-stored service information or the new service information based on the service request from the client device (1404).
18. The method of claim 17, comprising: receiving the service request, the new service information and the IP address, and transmitting the service information through at least one routing protocol or any network propagation communication signaling.
19. The method of claim 17, comprising: storing the service information in the form of service entry information, wherein the service entry information includes at least one host IP address information, at least one host port number, at least one service information selected from an endpoint, a resource type, an interface, an endpoint type, a domain, a lifetime, a context, and a lookup count.
CN201680036064.4A 2015-09-10 2016-08-25 Proximity-based service information distributed caching method and device and communication network Active CN107736002B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN4808CH2015 2015-09-10
ININ4808/CHE/2015 2015-09-10
PCT/CN2016/096704 WO2017041631A1 (en) 2015-09-10 2016-08-25 Communication network, devices and methods for proximity based distributed caching of service information within said network

Publications (2)

Publication Number Publication Date
CN107736002A CN107736002A (en) 2018-02-23
CN107736002B true CN107736002B (en) 2020-07-21

Family

ID=58239141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680036064.4A Active CN107736002B (en) 2015-09-10 2016-08-25 Proximity-based service information distributed caching method and device and communication network

Country Status (2)

Country Link
CN (1) CN107736002B (en)
WO (1) WO2017041631A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108834080B (en) * 2018-04-17 2021-03-19 东南大学 Distributed cache and user association method based on multicast technology in heterogeneous network
CN109669991A (en) * 2018-11-26 2019-04-23 广州海格通信集团股份有限公司 A kind of message scheduling system and method based on distributed directory service

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360055A (en) * 2008-09-27 2009-02-04 上海理工大学 P2P network information resource location method having constant hop routing characteristic
CN102271156A (en) * 2011-07-20 2011-12-07 武汉爱迪智能工程有限公司 Data sharing service system based on internet of things
CN103095691A (en) * 2012-12-31 2013-05-08 清华大学 Method of controlling access to Internet of things nodes
WO2015119319A1 (en) * 2014-02-07 2015-08-13 모다정보통신 주식회사 Method and system for providing semantic discovery-based dynamic composite service

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8553575B2 (en) * 2009-03-19 2013-10-08 Qualcomm Incorporated Resource partitioning for uplink in a wireless communication network
KR20180041771A (en) * 2013-05-16 2018-04-24 콘비다 와이어리스, 엘엘씨 Systems and methods for enhanced discovery

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360055A (en) * 2008-09-27 2009-02-04 上海理工大学 P2P network information resource location method having constant hop routing characteristic
CN102271156A (en) * 2011-07-20 2011-12-07 武汉爱迪智能工程有限公司 Data sharing service system based on internet of things
CN103095691A (en) * 2012-12-31 2013-05-08 清华大学 Method of controlling access to Internet of things nodes
WO2015119319A1 (en) * 2014-02-07 2015-08-13 모다정보통신 주식회사 Method and system for providing semantic discovery-based dynamic composite service

Also Published As

Publication number Publication date
CN107736002A (en) 2018-02-23
WO2017041631A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
US10708856B2 (en) Gateway advertisement in a wireless mesh
EP3012999B1 (en) Method, apparatus and system for creating virtual interfaces based on network characteristics
US8385230B2 (en) Automatic network address assignment in a wireless mesh
CN107250999B (en) Distributed content discovery with in-network caching
WO2017118383A1 (en) Device and method for balanced ad-hoc network formation
CN109257319B (en) Internet of things, and routing and identifier distribution method, device, equipment and medium thereof
US10255621B2 (en) Services advertisement in a wireless mesh
US11962471B2 (en) System and method for a distributed computing cluster architecture
US9781033B2 (en) Providing requested content in an overlay information centric networking (O-ICN) architecture
JP2016111703A (en) Content arrangement in information centric network
US10536368B2 (en) Network-aware routing in information centric networking
CN107736002B (en) Proximity-based service information distributed caching method and device and communication network
US9781038B2 (en) Packet routing and forwarding in information centric networking
US9860171B2 (en) Large scale message routing in a distributed network
Karthikeyan et al. EFFICIENT MULTICAST DATA REPLICATION APPROACH FOR POWER CONSUMPTION IN MANET.
JP2006171917A (en) Protocol for radio multi-hop ad hoc network
Chen et al. Energy-efficient load-balanced heterogeneous mobile cloud
EP2913979B1 (en) A method and system to process traffic optimization requests
US11973682B2 (en) Dynamic mesh mapping service
WO2020063251A1 (en) Communication method and related device
Fayyaz et al. SHM-NDN: A seamless hybrid mobility management scheme for named data mobile ad hoc networks
Benchi et al. JOMS: A Java message service provider for disconnected MANETs
JP2019207644A (en) Data distribution system, data distribution method, communication control device, communication control program, distribution source node, distribution processing program, reception node, and reception processing program
JP2017108264A (en) MAC address table update system and MAC address table update method
JP2012142787A (en) Server location tracking device, method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant