Method and apparatus for acquiring current time in a network
By interactively obtaining the current time and authenticating certificates within the local network, the problem of time acquisition for embedded devices without GPS or NTP server connection is solved, and network connectivity and security authentication are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-01
- Publication Date
- 2026-03-10
AI Technical Summary
Embedded devices without GPS functionality or unable to connect to a GPS server cannot obtain the current time, and there is no alternative mechanism to connect to an NTP server to obtain the time.
By interacting with devices on the local network, the current time is obtained using broadcast or unicast request and response mechanisms, and a network connection is established based on an authenticated certificate to obtain the accurate time.
This technology enables embedded devices to obtain the current time and authenticate certificates, thereby establishing a network connection and ensuring network security and accuracy, even without a real-time clock, GPS connection, or NTP server connection.
Smart Images

Figure CN115362703B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to networking, and in specific embodiments to obtaining the current time. Background Technology
[0002] Embedded devices without a real-time clock (RTC) typically receive the current time from a Global Positioning Service (GPS) server or a Network Time Protocol (NTP) server. However, some devices may lack GPS functionality and / or be unable to connect to a GPS or NTP server. For example, for devices without GPS functionality or unable to connect to a GPS server, there is no alternative mechanism to obtain the current time without connecting to an NTP server. Therefore, in such devices, there is no alternative mechanism for obtaining the current time unless a network connection to an NTP server can be established. Summary of the Invention
[0003] Various embodiments provide the device with a mechanism to obtain the current time without connecting to an NTP server or GPS.
[0004] According to embodiments of this disclosure, a method includes a first device determining whether it has a current time, and if the first device does not have a current time, sending a request for a current time to a second device in a local network. The method further includes the first device receiving the current time from the second device, the first device authenticating a certificate based on the current time received from the second device, and the first device establishing a network connection to the local network based on the authenticated certificate.
[0005] According to an embodiment, a method includes: before establishing a network connection, the first device receives a current time from a second device, and the first device authenticates a certificate based on the current time received from the second device. The second device connects to a local network. The method further includes the first device establishing a network connection to the local network based on the authenticated certificate, and the first device connecting to a Network Time Protocol (NTP) server through the network connection to the local network.
[0006] According to an embodiment, a device includes: a processor configured to determine whether the device has a current time; and a transmitter configured to send a request for a current time to another device if the device does not have a current time. The device further includes a receiver configured to receive a current time from another device in a local network. The processor is further configured to authenticate a certificate based on the current time received from the other device; and to establish a network connection to the local network based on the authenticated certificate. Attached Figure Description
[0007] Various aspects of this disclosure can be best understood from the following detailed description when read in conjunction with the accompanying drawings. Figure 1 This is a block diagram of a network according to some embodiments;
[0008] Figure 2 This is a flowchart of a method according to some embodiments;
[0009] Figure 3 This is a block diagram of a network according to some embodiments;
[0010] Figure 4 This is a flowchart of an embodiment method according to some embodiments;
[0011] Figure 5 This is a block diagram of a processing system according to some embodiments; and
[0012] Figure 6 This is a block diagram of a transceiver according to some embodiments. Detailed Implementation
[0013] The following disclosure provides numerous different embodiments or examples for implementing various features of the provided subject matter. Specific examples of components and arrangements are described below to simplify this disclosure. Of course, these are merely examples and are not intended to be limiting. For example, reference numerals and / or letters may be repeated in various examples of this disclosure. Such repetition is for simplicity and clarity and does not in itself define the relationship between the various embodiments and / or configurations discussed.
[0014] Figure 1 A block diagram of a local network 200 having devices 202A, 202B and 202C is shown. Figure 2 A flowchart 100 is illustrated for a method for obtaining the current time (sometimes referred to as the current clock time or the current calendar time) according to some embodiments. Figure 1 Devices 202A and 202C may each implement the method of flowchart 100. Local network 200 may be a wireless network, or alternatively referred to as a local wireless network or wireless local area network.
[0015] In some embodiments, flowchart 100 may be derived from a first device (e.g., Figure 1 The device 202A or 202C is implemented to receive the current time and establish a network connection based on the received current time. In some embodiments, the first device 202A / 202C may be a wireless local network such as a wireless mesh network or a Bluetooth mesh network (e.g., Figure 1 An embedded device in a local network 200. In other embodiments, the local network 200 may be a different type of network.
[0016] In some embodiments, the first device 202A / 202C may be a device without a real-time clock. For example, without receiving the current time from an external source, the first device 202A / 202C may not be able to determine the current time after startup. In some embodiments, the first device 202A / 202C may not have a GPS connection. For example, the first device 202A / 202C may be a conventional device, and the first device 202A / 202C may not have GPS capability. As another example, the first device 202A / 202C has GPS capability, but cannot connect to a GPS server due to its location (e.g., when the first device 202A / 202C is located indoors, underground, etc.).
[0017] In some embodiments, the first device 202A / 202C initially has no network connection and cannot access the network from an NTP server (e.g., Figure 1 The NTP server 206 receives the current time. For example, flowchart 100 may be executed before the first device 202A / 202C connects to the NTP server 206. In some embodiments, the first device 202A / 202C may not be connected to any network before executing the blocks of flowchart 100. For example, in Figure 1 In this process, devices 202A and 202C may initially be wirelessly isolated. Further, the first device may be in a local network 200, where network authentication will fail if the first device 202A / 202C does not possess valid authentication certificates(s). For example, the local network 200 may be a protected wireless mesh network, such that the connection of the first device 202A / 202C to the local network is based on one or more authentication certificates. Therefore, the first device 202A / 202C may be unable to connect to the local network without acquiring the current time and verifying that its(s)(s) are current and not expired based on the acquired current time. Flowchart 100 provides a method that allows the first device 202A / 202C to receive the current time without a real-time clock, GPS connection, or NTP server connection, authenticate one or more certificates based on the current time, and establish a network connection based on the one or more authenticated certificates.
[0018] Flowchart 100 begins at block 102. In block 102, the first device 202A / 202C determines whether it has a current time. In some embodiments, determining whether the first device 202A / 202C has a current time includes comparing the calendar time of the first device with the sum of the startup calendar time of the first device 202A / 202C and the elapsed time of the first device 202A / 202C. The calendar time of the first device 202A / 202C may refer to the time currently stored in the first device. The startup calendar time may be a fixed time, and the elapsed time of the first device 202A / 202C is the amount of time that has elapsed since the first device 202A / 202C was started (e.g., since the most recent startup of the first device 202A / 202C). In some embodiments, determining whether the first device 202A / 202C has a current time further includes determining that the first device 202A / 202C does not have a current time if the calendar time of the first device 202A / 202C is equal to the sum of the startup calendar time of the first device 202A / 202C and the elapsed time of the first device 202A / 202C. For example, if the calendar time of the first device 202A / 202C only considers the elapsed time since the first device 202A / 202C was started, and does not consider any time when the first device 202A / 202C is powered off, then it can be determined that the first device 202A / 202C does not have a current time. In some embodiments, determining whether the first device 202A / 202C has a current time further includes determining that the first device 202A / 202C does have a current time if the calendar time of the first device is equal to the sum of the startup calendar time of the first device 202A / 202C and the elapsed time of the first device 202A / 202C. In other embodiments, determining whether the first device 202A / 202C has a current time includes: if the first device is connected to the NTP server 206, then determining that the first device 202A / 202C does indeed have a current time.
[0019] Flowchart 100 then proceeds to block 104, where, if the first device 202A / 202C does not have a current time, the first device 202A / 202C sends a request for the current time to a second device in the local network. The second device may refer to device 202B or device 202A. For example, device 202A may send a request for the current time to device 202B, and device 202C may send a request for the current time to device 202A. In some embodiments, sending a request for the current time includes sending the request in a broadcast. For example, the request for the current time may be broadcast in a probe request based on a Wi-Fi standard, and an Information Element (IE) may be added to the probe request to carry the request for the current time. In other embodiments, the request for the current time may be broadcast based on a different standard (e.g., the Bluetooth standard, etc.). As a result of the broadcast request, each device within the broadcast radius of the first device 202A / 202C can receive the request for the current time. For example, Figure 1 The illustration shows the broadcast radius 204A of device 202A, and each of devices 202B and 202C can hear the request for the current time broadcast by device 202A. As another example, Figure 1 The illustration shows the broadcast radius 204C of device 202C, and device 202A can hear the request for the current time broadcast by device 202C. Because device 202B is outside the broadcast radius 204C, device 202B may not hear the request for the current time broadcast by device 202C.
[0020] The first device 202A / 202C can periodically send a request for the current time until it receives the current time or until some other criterion is met. The period between sending requests for the current time can be determined according to preset rules, and in some embodiments, this period can be random, constant, etc. For example, the first device 202A / 202C can use a random backoff process to resend the request for the current time. In this way, network congestion can be reduced by decreasing the probability of multiple devices continuously and simultaneously resending current time requests. In embodiments where a random period is implemented between current time request transmissions, multiple devices (e.g., Figure 1 The probability that devices 202A and 202C simultaneously send current time requests is reduced.
[0021] In box 106, the first device 202A / 202C is connected from the second device (e.g., Figure 1The device 202A or device 202B receives the current time. For example, device 202A can receive the current time from device 202B, and device 202C can receive the current time from device 202A. In some embodiments, receiving the current time from the second device 202A / 202B includes receiving the current time in a unicast. For example, the current time can be received from the second device 202A / 202B in a probe response based on a WiFi standard, and an IE can be added to the probe response to carry the current time. In other embodiments, the current time can be received in a unicast based on a different standard (e.g., Bluetooth standard, etc.). In still other embodiments, receiving the current time from the second device 202A / 202B includes receiving the current time in a broadcast by the second device 202A / 202B. By broadcasting the current time, other devices in the local network can determine that the second device 202A / 202B has responded to the request for the current time from the first device 202A / 202C. Therefore, other devices in the local network do not need to respond to or relay the first device 202A / 202C's request for the current time, and network resources can be saved.
[0022] In some embodiments, for security purposes, digital signatures can be used to encrypt and protect the current time. For example, receiving the current time from the second device 202A / 202B may include receiving the current time in a probe response that is encrypted and protected using a digital signature. Therefore, the local network can be protected from external interference. In other embodiments, the current time received by the first device 202A / 202C is unprotected.
[0023] In some embodiments, the second device refers to device 202B that can connect to the backhaul network 210. The backhaul network includes an NTP server 206, and the second device 202B can connect to the NTP server 206 via a wired connection (e.g., via one or more backhaul links) or a wireless connection (e.g., via another device in a local wireless network). The second device 202B sends its current time, synchronized with the NTP server 206, to the first device (e.g., device 202A). For example, in Figure 1 In this process, device 202A sends a request for the current time to device 202B. Device 202B connects to NTP server 206 in backhaul network 210, synchronizes its current time with NTP server 206, and sends its synchronized current time to device 202A.
[0024] In some embodiments, the second device refers to device 202A that is not connected to NTP server 206. The second device 202A can receive the current time from a third device (e.g., device 202B) on the local network and send the received current time to the first device (e.g., device 202C). For example, in Figure 1 In this process, device 202C sends a request for the current time to device 202A. Before device 202A receives the current time from device 202B, device 202A can receive the request for the current time from device 202C. Because device 202A does not yet have the current time, it can forward the request for the current time received from device 202C. For example, device 202A can send device 202C's request for the current time to device 202B. The request for the current time can be forwarded any number of times in the local network 200 (sometimes referred to as the hop count), and the request for the current time is not limited to a single forwarding transmission. In some embodiments, to conserve network resources, device 202A can determine whether to forward each received request for the current time according to a random procedure. For example, device 202A can forward only a subset of the received requests for the current time to conserve network resources. In some embodiments, device 202A can determine whether to forward each received request for the current time based on the elapsed time between receiving the request for the current time and sending the request for the current time. For example, if a request for the current time is received within a first preset time period after device 202A sends the request for the current time, device 202A may not forward the request for the current time. In some embodiments, the first preset time period is two seconds, but in other embodiments, the first preset time period may be another value.
[0025] In some embodiments, if device 202A receives the current time from device 202B within a second preset time period after receiving a request for the current time from device 202C, then device 202A may send the current time received from device 202B to device 202C. If device 202A does not receive the current time from device 202B within the second preset time period after receiving a request for the current time from device 202C, then device 202A will not send the current time received from device 202B to device 202C. In this way, device 202A determines that the current time sent to device 202B is timely and that the current time response does not drift excessively. In some embodiments, the second preset time period is 60 seconds, although in other embodiments, the second preset time period may be another value. In this way, the request for the current time can be relayed throughout the local network, and as long as one device in the local network is connected to the NTP server, all devices in the local time network will eventually be able to receive the current time.
[0026] Due to the time delay in transmission between at least the second device 202A / 202B and the first device 202A / 202C, the current time received from the second device 202A / 202B may only be accurate within a certain range (e.g., within a few seconds). In some embodiments, the current time received from the second device 202A / 202B is sufficiently accurate for the first device 202A / 202C to authenticate one or more certificates.
[0027] If the first device 202A / 202C receives multiple current times from multiple other devices, the first device 202A / 202C can select one of the multiple received current times as its current time. For example, if a first current time was received before other current times among the multiple received current times, the first device 202A / 202C can select the first current time from the multiple received current times. As another example, the first device 202A / 202C can select the current time from the multiple received current times based on the number of hops each of the multiple received current times has been transmitted. For example, if the second device is fewer hops away from the first device than the third device, the first device 202A / 202C can select the current time received from the second device 202A / 202B instead of the current time received from the third device. In other embodiments, other mechanisms for selecting a current time from multiple received current times can be used.
[0028] Return to reference Figure 1Flowchart 100 proceeds to block 108, where the first device 202A / 202C authenticates a certificate based on the current time received from the second device 202A / 202B. For example, the first device 202A / 202C may determine that its certificate is valid and not expired based on the current time received from the second device 202A / 202B. In some embodiments, the first device 202A / 202C operates in a first mode, where verifying its certificate is a prerequisite for connecting to the local network. The first device 202A / 202C may verify its(multiple) certificates with an authentication server (e.g., authentication server 208) in the backhaul network 210 via a third device (sometimes referred to as an authenticator device). The third device forwards the authentication request from the first device 202A / 202C to the authentication server 208. The authentication request may include one or more certificates of the first device 202A / 202C, and the authentication server 208 may indicate to the third device whether to agree to the authentication request based on one or more certificates. For example, the authentication server indicates to a third device whether one or more certificates of the first device 202A / 202C are valid. The third device can be any device connected to the backhaul network and capable of communicating with the first device 202A / 202C. In some embodiments, the third device is a second device 202B that sends the current time to the first device. In other embodiments, the third device is a different device on the local network. For example, in Figure 1 In this configuration, device 202B is connected to backhaul network 210, which includes authentication server 208. Device 202A may send its certificate(s) to device 202B in an authentication request. Device 202B then forwards the authentication request to authentication server 208, which instructs device 202B, based on the certificates(s), whether to approve the authentication request from device 202A (e.g., authentication server 208 may indicate whether the certificates(s) are valid).
[0029] In block 110, the first device 202A / 202C establishes a network connection to the local network based on an authenticated certificate. For example, a third device may allow the first device 202A / 202C to connect to the local network based on a valid indication of one or more certificates from the first device via an authentication server. The first device 202A / 202C can then obtain an IP address in the local network and begin communicating with external devices via the local network. In some embodiments, the first device 202A / 202C may establish a connection to the local network via a third device (e.g., an authenticator device). For example, the first device 202A / 202C may establish a connection to the local network via a second device 202A / 202B that sends the current time to the first device 202A / 202C. In other embodiments, the first device 202A / 202C may establish a connection to the local network 200 via a device different from the second device 202A / 202B that sends the current time to the first device 202A / 202C. As another example, based on an indication from authentication server 208 that one or more certificates of the first device 202A / 202C are invalid, the third device may refuse to allow the first device 202A / 202C to connect to the local network 200.
[0030] In some embodiments, the first devices 202A / 202C can then connect to the NTP server 206 via the local network 200 and synchronize the current time with the NTP server 206. The current time synchronized with the NTP server 206 is more accurate than the current time received from the second devices 202A / 202B. For example, due to transmission latency, the current time received from the second devices 202A / 202B may only be accurate within a certain range (e.g., a few seconds or longer). If the current time is transmitted via multi-hops in the local network 200, the transmission latency may be even longer. In contrast, the current time synchronized with the NTP server 206 can be accurate to within 100 milliseconds or less.
[0031] After the first device synchronizes its current time with the NTP server 206, if the first device 202A / 202C receives a request for the current time from another device, the first device 202A / 202C can send the synchronized current time. For example, refer to... Figure 1 If, after device 202A connects to NTP server 206 via local network 200, device 202A receives a request for the current time from device 202B, then device 202A can send the current time synchronized with NTP server 206 to device 202B. Thus, after the first devices 202A / 202C connect to NTP server 206 via local network 200, the first devices 202A / 202C can directly respond to the request for the current time without forwarding the request.
[0032] In some embodiments, establishing a network connection is based on the Zero Touch Provisioning (ZTP) protocol, which allows a first device to connect to a local network with little or no user input. For example, the ZTP protocol can allow the first device 202A / 202C to obtain information and configuration of the local network 200 from other devices in the local network 200 without additional user input. In other embodiments, establishing a network connection to the local network 200 can be performed according to different protocols.
[0033] In some embodiments, the first device 202A / 202C can be configured to operate in a first mode and a second mode. When the first device is in a protected network that requires multiple authentication certificates to establish a network connection, the first device 202A / 202C can operate in the first mode. For example, in the first mode, the first device 202A / 202C obtains the current time according to blocks 102, 104, and 106 above; authenticates one or more certificates based on the received time according to block 108 above; and connects to the protected network based on the authenticated certificates as described in block 110.
[0034] When the first device is in a network that does not require authentication certificates to establish a network connection, the first device 202A / 202C can further operate in a second mode. For example, in the second mode, the first device 202A / 202C can establish a network connection to the network without first obtaining the current time or authenticating any certificate (e.g., when the first device 202A / 202C is already in a protected location). In the second mode, the first device 202A / 202C connects to the NTP server 206 via the network connection without requiring (multiple) authentication certificates.
[0035] Figure 3 A block diagram of a wireless local network 400 having devices 402A, 402B and 402C is shown. Figure 4 A flowchart 300 illustrating a method for obtaining the current time according to some other embodiments is shown. Apparatus 402A and 402C may each implement the method of flowchart 300, and for ease of understanding, the following description of flowchart 300 refers to elements of local network 400.
[0036] In some embodiments, flowchart 300 may be derived from a first device (e.g., Figure 3 The device (either of device 402A or device 402C) is implemented to receive the current time and establish a network connection based on the received current time. In some embodiments, the first device 402A / 402C and the local network 400 may be implemented in conjunction with the above-referenced device 402A / 402C. Figure 1 and Figure 2The descriptions are similar or identical. For example, the first device 402A / 402C may be a device without a real-time clock, may not have GPS capability and / or GPS connectivity, and may not be connected to an NTP server. In some embodiments, the local network 400 may be a protected wireless mesh network, such that the connection of the first device 402A / 402C to the local network 400 is based on one or more authentication certificates. For brevity, further discussion of these features is omitted. Flowchart 300 provides a method that allows the first device 402A / 402C to receive the current time without a real-time clock, GPS connection, or NTP server connection, authenticate one or more certificates based on the current time, and establish a network connection based on the one or more authenticated certificates.
[0037] Flowchart 300 begins at block 302, wherein before the first devices 402A / 402C establish a network connection, the first devices 402A / 402C receive the current time from a second device (e.g., either device 402A or device 402B). The second devices 402A / 402B may be devices in the local network.
[0038] In some embodiments, receiving the current time from the second device 402A / 402B by the first device 402A / 402C includes the first device 402A / 402C receiving the current time from the second device 402A / 402B without the first device 402A / 402C sending a request for the current time. For example, the first device 402A / 402C may receive the current time in a broadcast from the second device 402A / 402B. In some embodiments, the second device 402A / 402B may broadcast the current time in a beacon according to a WiFi or Bluetooth standard. In some embodiments, the second device 402A / 402B may include a digital signature in its broadcast with the current time, and the first device 402A / 402C may verify the digital signature to improve security. In other embodiments, the second device 402A / 402B may use different mechanisms to broadcast the current time. For example, in Figure 3 In this configuration, device 402B connects to NTP server 406 (e.g., via a backhaul network) and receives the current time from NTP server 406. For example, device 402B can broadcast the current time received from NTP server 406 in a beacon. Device 402A can periodically update the broadcast with an updated current time synchronized with NTP server 406. Any device within the broadcast radius 404B of device 402B can determine the current time from the broadcast. For example, device 402A can receive the current time from the broadcast of device 402B without first sending any request for the current time.
[0039] In some embodiments, the first device 402A / 402C can listen for broadcasts containing the current time. When the first device 402A / 402C does not receive the current time in the broadcast after a third preset time period, the first device 402A / 402C can send a request for the current time, for example, in accordance with the above reference. Figure 2 The same manner is described in box 104. The first device 402A / 402C can then receive the current time in response to the sent request for the current time.
[0040] In other embodiments, the first device 402A / 402C is consistent with the above reference. Figure 2 The current time is received in a similar manner to that described in boxes 104 and 106. For example, the first device 402A / 402C may send a request for the current time (e.g., in a broadcast probe request), and the second device 402A / 402B may hear the request for the current time sent by the first device 402A / 402C. The first device 402A / 402C may then receive the current time from the second device 402A / 402B in a unicast (e.g., in a probe response) or broadcast.
[0041] Return to reference Figure 4 In block 306, the first device 402A / 402C authenticates one or more certificates based on the current time received from the second device 402A / 402B, and in block 308, the first device 402A / 402C establishes a network connection to the local network 400 based on the authenticated certificates. Authenticating one or more certificates and establishing a network connection can be performed in accordance with the above references. Figure 2 This is performed in a manner similar to that described in boxes 108 and 110. In some embodiments, the first device 402A / 402C communicates with the authentication server (e.g., via another device in the local network, such as a second device 402A / 402B that sends the current time to the first device 402A / 402C) through another device in the local network. Figure 3The authentication server 408 authenticates one or more certificates. In other embodiments, the first device 402A / 402C authenticates one or more certificates with the authentication server via a device different from the second device 402A / 402B that sends the current time to the first device 402A / 402C. In some embodiments, the first device 402A / 402C is connected to the local network 400 via another device in the local network 400 (e.g., the second device 402A / 402B that sends the current time to the first device 402A / 402C). For example, in a mesh network, the first device 402A / 402C may establish a mesh connection with the second device 402A / 402B, and the first device 402A / 402B is connected to the local network 400 via the mesh connection. In other embodiments, the first device 402A / 402C is connected to the local network 400 via a device different from the second device 402A / 402B that sends the current time to the first device 402A / 402C.
[0042] In block 310, the first devices 402A / 402C are connected to an NTP server (e.g., via a network connection to local network 400) Figure 3 The NTP server 406 may be located in a backhaul network (e.g., backhaul network 410), and the first devices 402A / 402C may be connected to the backhaul network 410 via a network connection to the local network 400. The first devices 402A / 402C may further synchronize their current time with the NTP server 406. The current time synchronized with the NTP server 406 is more accurate than the current time received from the second devices 402A / 402B. For example, due to transmission delays, the current time received from the second devices 402A / 402B may only be accurate within a certain range (e.g., a few seconds or longer), while the current time synchronized with the NTP server 406 may be accurate to, for example, 100 milliseconds or less.
[0043] Subsequently, in some embodiments, the first device 402A / 402C may broadcast the current time (e.g., the current time synchronized with an NTP server) without receiving any requests for the current time from other devices. In some embodiments, the first device 402A / 402C may broadcast the current time in a beacon of the first device. In some embodiments, the first device 402A / 402C may include a digital signature in its broadcast having the current time. In other embodiments, the first device 402A / 402C may use different mechanisms to broadcast the current time. For example, in Figure 3In this configuration, device 402A can now connect to backhaul network 410 via local network 400. Device 402A can synchronize its current time with NTP server 406 and broadcast the synchronized current time without receiving any requests for the current time. Any device within the broadcast radius 404A of device 402A (e.g., device 402C) can receive the broadcast current time without sending any requests for the current time. Device 402A can periodically update the broadcast with the updated current time synchronized with NTP server 406. This method (e.g., reading the current time in the broadcast, connecting to the server, synchronizing the current time with NTP server 406, and broadcasting the synchronized current time) can be repeated by each device in local network 400. In this way, the current time can be propagated and broadcast throughout local network 400 without sending requests for the current time.
[0044] Alternatively, in some other embodiments, if the first device 402A / 402C receives a request for the current time from the third device, the first device 402A / 402C can send the current time synchronized with the NTP server 406 to the third device. For example, in Figure 3 In this process, device 402A can receive a request for the current time from device 402C, and in response to receiving the request for the current time from device 402C, device 402A can send the current time synchronized with NTP server 406 to device 402C.
[0045] Figure 5 A block diagram of an embodiment of a processing system 500 for performing the methods described herein is illustrated. This processing system may be installed in a host device (e.g., a device). In some embodiments, as described above, the host device may not have a real-time clock and / or GPS capability. As shown, the processing system 500 includes a processor 504, a memory 506, and interfaces 510-514, which may or may not be as described... Figure 5The processor 504 can be any component or set of components adapted to perform computational and / or other processing-related tasks, and the memory 506 can be any component or set of components adapted to store programs and / or instructions executed by the processor 504. The processor 504 can execute programs stored in the memory 506, such that the processor 504 is configured to perform the operations of the program. In embodiments, the memory 506 may include a non-transitory computer-readable medium. Interfaces 510, 512, and 514 can be any component or set of components that allow the processing system 500 to communicate with other devices / components and / or users. For example, one or more of interfaces 510, 512, and 514 may be adapted to transfer data, control, or management messages from the processor 504 to an application installed on a host device and / or a remote device. As another example, one or more of interfaces 510, 512, and 514 may be adapted to allow a user or user device (e.g., a personal computer (PC)) to interact / communicate with the processing system 500. The processing system 500 may include Figure 6 Additional components not described herein, such as long-term storage devices (e.g., non-volatile memory, etc.).
[0046] In some embodiments, the processing system 500 is included in a network device that accesses or is otherwise part of a telecommunications network. In one example, the processing system 500 is in a network-side device (such as a base station, relay station, scheduler, controller, gateway, router, application server, or any other device in the telecommunications network) that accesses a wireless or wired telecommunications network. In other embodiments, the processing system 500 is in a user-side device (such as a mobile station, user equipment (UE), personal computer (PC), tablet computer, wearable communication device (e.g., smartwatch), or any other device adapted to access the telecommunications network) that accesses a wireless or wired telecommunications network.
[0047] In some embodiments, one or more of interfaces 510, 512, 514 connect the processing system 500 to a transceiver adapted to send and receive signaling over a telecommunications network. Figure 6A block diagram of a transceiver 600 suitable for sending and receiving signaling over a telecommunications network is illustrated. The transceiver 600 can be installed in a host device. As shown, the transceiver 600 includes a network-side interface 602, a coupler 604, a transmitter 606, a receiver 608, a signal processor 610, and a device-side interface 612. The network-side interface 602 may include any component or set of components suitable for sending or receiving signaling over a wireless or wired telecommunications network. The coupler 604 may include any component or set of components suitable for facilitating bidirectional communication on the network-side interface 602. The transmitter 606 may include any component or set of components suitable for converting a baseband signal into a modulated carrier signal suitable for transmission over the network-side interface 602 (e.g., an up-converter, a power amplifier, etc.). The receiver 608 may include any component or set of components suitable for converting a carrier signal received through the network-side interface 602 into a baseband signal (e.g., a down-converter, a low-noise amplifier, etc.). The signal processor 610 may include any component or set of components adapted to convert baseband signals into data signals suitable for communication via (or vice versa) device-side interfaces 612. The device-side interfaces 612 may include any component or set of components adapted to transmit data signals between the signal processor 610 and components within the host device (e.g., processing system 500, local area network (LAN) port, etc.).
[0048] Transceiver 600 can send and receive signaling over any type of communication medium. In some embodiments, transceiver 600 sends and receives signaling over a wireless medium. For example, transceiver 600 may be a wireless transceiver adapted to communicate according to wireless telecommunication protocols such as cellular protocols (e.g., LTE, etc.), wireless local area network (WLAN) protocols (e.g., Wi-Fi, etc.), or any other type of wireless protocol (e.g., Bluetooth, Near Field Communication (NFC), etc.). In such embodiments, network-side interface 602 includes one or more antenna / radiating elements. For example, network-side interface 602 may include a single antenna, multiple individual antennas, or a multi-antenna array configured for multi-layer communication, such as single-input multiple-output (SIMO), multiple-input single-output (MISO), multiple-input multiple-output (MIMO), etc. In other embodiments, transceiver 600 sends and receives signaling over a wired medium (e.g., twisted-pair cable, coaxial cable, optical fiber, etc.). A particular processing system and / or transceiver may utilize all or only a subset of the components shown, and the level of integration may vary depending on the device.
[0049] Although this disclosure has been described with reference to illustrative embodiments, this description is not intended to be limiting. Various modifications and combinations of the illustrative embodiments and other embodiments of this disclosure will be apparent to those skilled in the art upon reference to this description. Therefore, the appended claims are intended to cover any such modifications or embodiments.
Claims
1. A method for acquiring a current time in a network, comprising: determining, by a first device, whether the first device has a current time; if the first device does not have the current time, sending, by the first device, a request for the current time to a second device in a local network; receiving, by the first device, the current time from the second device; authenticating, by the first device, a certificate based on the current time received from the second device; and establishing, by the first device, a network connection to the local network based on the authenticated certificate. establishing, by the first device, the network connection to the local network based on the authenticated certificate comprises establishing the network connection through a third device in the local network.
2. The method of claim 1, wherein, the third device is the second device.
3. The method of claim 2, wherein, 4. The method of claim 1, further comprising: connecting to a Network Time Protocol (NTP) server through the local network; and synchronizing the current time with the NTP server, the current time synchronized with the NTP server being more accurate than the current time received from the second device.
5. The method of claim 4, further comprising: receiving a request for the current time from a fourth device; and sending the current time synchronized with the NTP server to the fourth device.
6. The method of any of claims 1 to 5, further comprising: receiving a request for the current time from a fourth device before receiving the current time from the second device; and sending the current time received from the second device to the fourth device if the current time is received from the second device after receiving the request for the current time from the fourth device without a pre-set time period elapsing.
7. The method of claim 6, further comprising not sending the current time received from the second device to the fourth device if the current time is not received from the second device within the pre-set time period of receiving the request for the current time from the fourth device.
8. The method of claim 7, further comprising forwarding, by the first device, the request for the current time received from the fourth device.
9. The method of any of claims 1 to 5, 7 to 8, wherein: sending the request for the current time comprises broadcasting the request for the current time in a probe request; and receiving the current time from the second device comprises receiving the current time in a probe response. determining whether the first device has a current time comprises: comparing a calendar time of the first device to a sum of a start calendar time of the first device and an elapsed time of the first device, wherein the elapsed time of the first device is an amount of time that has elapsed since the first device was started; and determining that the first device does not have the current time if the calendar time is equal to the sum of the start calendar time of the first device and the elapsed time of the first device.
11. A method for acquiring a current time in a network, comprising:
10. The method of any one of claims 1 to 5, 7 to 8, wherein, receiving, by the first device, a current time from a second device, the second device connected to a local network, prior to the first device establishing a network connection; authenticating, by the first device, a certificate based on the current time received from the second device; establishing, by the first device, a network connection to the local network based on the authenticated certificate; and connecting, by the first device, to a Network Time Protocol, NTP, server through the network connection to the local network.
12. The method of claim 11, wherein, Receiving, by the first device, the current time from the second device includes receiving, by the first device, the current time from the second device without the first device sending a request for the current time.
13. The method of claim 11 or 12, wherein, Receiving the current time from the second device includes receiving the current time from a broadcast of the second device.
14. The method of claim 11 or 12, wherein, Receiving the current time from the second device includes receiving the current time from a unicast of the second device.
15. A device for acquiring a current time in a network, comprising: a processor configured to determine whether the device has a current time; a transmitter configured to send a request for the current time to another device in a local network if the device does not have the current time; and a receiver configured to receive the current time from the other device in the local network; wherein the processor is further configured to: authenticate a certificate based on the current time received from the other device; and establish a network connection to the local network based on the authenticated certificate.
16. The apparatus of claim 15, wherein, The processor is further configured to connect to a Network Time Protocol, NTP, server through the local network.
17. The apparatus of claim 16, wherein, The processor is further configured to connect to the NTP server without the authenticated certificate in a different mode of operation.
18. The apparatus of claim 16, wherein, The processor is further configured to synchronize the current time with the NTP server.
19. The apparatus of any one of claims 15 to 18, wherein, The device does not have Global Positioning Service, GPS, capability.
20. The device of any of claims 15 to 18, wherein: the request for the current time is broadcasted in a probe request; and the current time is received from the other device in a probe response.
Citation Information
Patent Citations
Multiple access point wireless mesh network
US20170055236A1