Device Discovery Using Radio Discovery Codes in a Secure Local Area Network
20220060978 · 2022-02-24
Inventors
- Relja Djapic (Delfgauw, NL)
- Antonius Norp (The Hague, NL)
- Miodrag Djurica (Rotterdam, NL)
- Sander DE KIEVIT (Tokyo, JP)
- Toni Dimitrovski (The Hague, NL)
Cpc classification
H04W4/80
ELECTRICITY
H04L67/51
ELECTRICITY
H04L67/52
ELECTRICITY
H04L12/4641
ELECTRICITY
International classification
Abstract
The service-providing device (11, 18, 19) of the invention is configured to obtain a code associated with the service-providing device, to wirelessly transmit the code, and to receive data from a service-using device (1,2) in response to the wireless transmission. The code does not comprise characteristics of the service-providing device. The service-using device of the invention is configured to receive information about one or more service-providing devices located on a secure local area network (29) over the secure local area network. The information comprises a code for each of the one or more service-providing devices. The service-using device is further configured to select one or more of the received codes, listen for wireless transmission of the selected one or more codes, and transmit data to a device which wirelessly transmitted at least one of the selected one or more codes.
Claims
1. A service-using device comprising: at least one receiver; at least one transmitter; and at least one processor configured to: use the at least one receiver to receive information about one or more service-providing devices located on a secure local area network over the secure local area network, the information comprising a code for each of the one or more service-providing devices, select one or more of the received codes, use the at least one receiver to listen for wireless transmission of the selected one or more codes, and use the at least one transmitter to transmit data to a device which wirelessly transmitted at least one of the selected one or more codes.
2. The service-using device as claimed in claim 1, wherein the information about the one or more service-providing devices provides details of the one or more service-providing devices or a reference to the details and the at least one processor is further configured to select the one or more of the received codes based on the provided details.
3. The service-using device as claimed in claim 1, wherein the at least one processor is further configured to use the at least one transmitter to transmit a query on the secure local area network, the query comprising requirements and requesting information about service-providing devices with characteristics meeting the requirements, and use the at least one receiver to receive the information about the one or more service-providing devices in response to the query.
4. The service-using device as claimed in claim 1, wherein the one or more codes are at least one of one or more ProSe Application Codes, one or more ProSe Application Masks or one or more ProSe Restricted Codes.
5. The service-using device as claimed in claim 1, wherein the information comprises a further code for each of the one or more service-providing devices and the at least one processor is further configured to use the at least one transmitter to wirelessly broadcast one or more of the further codes corresponding to the selected one or more codes before using the at least one receiver to listen for wireless transmission of the selected one or more codes.
6. The service-using device as claimed in claim 5, wherein the one or more codes include one or more ProSe Response Codes and the one or more further codes include one or more ProSe Query Codes.
7. A service-providing device comprising: at least one receiver; at least one transmitter; and at least one processor configured to: obtain a code associated with the service-providing device, information comprising the code being transmitted over a secure local area network to a service-using device, the code not comprising characteristics of the service-providing device, use the at least one transmitter to wirelessly transmit the code, and use the at least one receiver to receive data from the service-using device in response to the wireless transmission.
8. The service-providing device as claimed in claim 7, wherein the code is created in the secure local area network.
9. The service-providing device as claimed in claim 7, wherein the at least one processor is configured to: use the at least one transmitter to transmit the information comprising the code over the secure local area network to the service-using device.
10. The service-providing device as claimed in claim 9, wherein the at least one processor is further configured to: use the at least one receiver to receive a query, the query comprising requirements and requesting information about service-providing devices with characteristics meeting the requirements, and use the at least one transmitter to transmit the information comprising the code in response to the query in dependence on the service-providing device having characteristics meeting the requirements.
11. The service-providing device as claimed in claim 10, wherein the at least one processor is further configured to: determine a source address associated with the query, associate the source address with the code in a memory, and obtain the source address associated with the code from the memory upon receiving data transmitted in response to the wireless transmission of the code.
12. The service-providing device as claimed in any one of claim 9, wherein the at least one processor is further configured to include details of the service-providing device or a reference to the details in the information before using the at least one transmitter to transmit the information.
13. A method of discovering a service-providing device, the method comprising: receiving information about one or more service-providing devices located on a secure local area network over the secure local area network, the information comprising a code for each of the one or more service-providing devices; selecting one or more of the received codes; listening for wireless transmission of the selected one or more codes; and transmitting data to a device which wirelessly transmitted at least one of the selected one or more codes.
14. A method of enabling discovery of a service-providing device, the method comprising: obtaining a code associated with a service-providing device located on a secure local area network, the code being transmitted over the secure local area network to a service-using device, the code not comprising characteristics of the service-providing device; wirelessly transmitting the code at the service-providing device; and receiving data from the service-using device at the service-providing device in response to the wireless transmission.
15. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors of a computing device, cause the computing device to carry out operations including: receiving information about one or more service-providing devices located on a secure local area network over the secure local area network, the information comprising a code for each of the one or more service-providing devices; selecting one or more of the received codes; listening for wireless transmission of the selected one or more codes; and transmitting data to a device which wirelessly transmitted at least one of the selected one or more codes.
16. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors of a computing device, cause the computing device to carry out operations including: obtaining a code associated with a service-providing device located on a secure local area network, the code being transmitted over the secure local area network to a service-using device, the code not comprising characteristics of the service-providing device; wirelessly transmitting the code at the service-providing device; and receiving data from the service-using device at the service-providing device in response to the wireless transmission.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0039] These and other aspects of the invention are apparent from and will be further elucidated, by way of example, with reference to the drawings, in which:
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050] Corresponding elements in the drawings are denoted by the same reference numeral.
DETAILED DESCRIPTION OF THE DRAWINGS
[0051]
[0052] The elements of a 5G LAN need not be located in the same physical location. Example are worldwide campuses for multinational companies, they can be part of the same private domain, or all the devices belonging to a family, whether they are at work, school, or at home. The 5G LAN 29 comprises devices in two distinct, non-adjacent spatial areas 27 and 28, which are serviced by base stations 21 and 22, respectively. The base stations 21 and 22 may be next generation NodeBs (gNBs), for example. Printers 18 and 19 are not only located in distinct spatial areas, but they also are different types of printers and possess distinct features and functionalities in the example of
[0053] The mobile devices 1 and 2 each comprise a receiver 3, a transmitter 5 and a processor 7. The processor 7 is configured to use the receiver 3 to receive information about one or more of the printers 18 and 19 and the video camera 11 over the 5G LAN 29. The information comprises a code for each of these one or more service-providing devices. The processor 7 is further configured to select one or more of the received codes, use the receiver 3 to listen for wireless transmission of the selected one or more codes, and use the transmitter 5 to transmit data to a device which wirelessly transmitted at least one of the selected one or more codes.
[0054] The printers 18 and 19 and the video camera 11 each comprise a receiver 13, a transmitter 15 and a processor 17. The processor 17 is configured to obtain a code associated with the service-providing device that comprises the processor 17. Information comprising the code is transmitted over the 5G LAN 29 to a service-using device, i.e. mobile device 1 and/or 2. The code does not comprise characteristics of the service-providing device. The processor 17 uses the transmitter 15 to wirelessly transmit the code and use the receiver 13 to receive data from the mobile device 1 and/or the mobile device 2 in response to the wireless transmission.
[0055] Since the mobile devices 1 and 2 only receive wireless transmissions from nearby service-providing devices, the mobile devices 1 and 2 are able to discover a service-providing device that is nearby. For example, mobile device 1 is able to find out that printer 18 and video camera 1 are nearby and mobile device 2 is able to find out that printer 19 is nearby.
[0056] The base stations 21 and 22 are connected to a 5G core network 23. The base stations 21 and 22 may be connected to a ProSe Function 24 of the core network 23. The ProSe Function 24 is a 5G network element in charge of coordination of proximity services among the devices. The invention prevents the need to use the ProSe Function 24 to create ProSe codes, but the ProSe Function 24 may still be used for assigning radio parameters (e.g. frequency band) to be used in a particular ProSe Direct Communication in a licensed spectrum. Discoveree(s) (e.g. a printer) and discoverer could also agree on where they are going to broadcast (or where they are going to listen) as part of the 5G LAN discovery procedure. The printers 18 and 19 and the video camera 11 may obtain authorization from the ProSe Function 24 to wirelessly transmit the code via ProSe direct communication in the licensed spectrum.
[0057] Alternatively, the printers 18 and 19 and the video camera 11 may use unlicensed spectrum for ProSe communication or may use spectrum dedicated to ProSe (public safety or automotive), for example. This scenario falls under the ProSe Discovery procedures when not “served by E-UTRAN” [TS 23.303 and TS 36.331]. In this case, the printers 18 and 19 and the video camera 11 do not need to obtain authorization from the Prose Function 24. Alternatively, the printers 18 and 19 and the video camera 11 may use WLAN/WiFi based solutions such as Wi-Fi Aware instead of ProSe communication to wirelessly transmit the code, for example. In both cases, the ProSe Function 24 is not required for assigning the radio parameters and is therefore not required at all. Wi-Fi aware may be used in a 5G LAN, but could alternatively be used in a Wi-Fi LAN (infrastructure mode), for example. In the latter case, the base stations would be replaced with Wi-Fi access points.
[0058] In the embodiment shown in
[0059] In the embodiment shown in
[0060] A first embodiment of the methods of the invention is shown in
[0061] These codes may be generated by each service-providing device itself according to an algorithm that is known to all devices within the 5G LAN. The Radio Discovery Code (RDC) generation algorithm should prevent generation of the same RDC on different devices. If ProSe would be used, this code generation would not be coordinated by ProSe Function as it commonly would.
[0062] Devices not on the 5G LAN may be able to intercept the code when broadcast over the radio interface, but as they cannot do the preceding discovery on the 5G LAN they will not know what it refers to. The code may be generated dedicatedly for a service-using device transmitting a discovery query [restricted discovery], or the same code may be used for all service-using devices that do a 5G LAN discovery. The code is preferably a temporary code that is refreshed regularly. For example, the codes may come with validity times i.e. time-to-live. When the time-to-live has expired the service-using devices have to obtain new codes.
[0063] A step 121 comprises a service-using device transmitting a (discovery) query on the secure local area network. The query comprises requirements and requesting information about service-providing devices with characteristics meeting the requirements. Steps 103 and 113 comprise the service-providing devices receiving the query from the service-using device. The requirements may specify a particular device type (e.g. printer), a particular capability/service (e.g. color printing or black and white printing) or specific features of printers (e.g. staple, collate or book format). In the example of
[0064] The service-using device broadcasts the discovery query for a (specific type of) device in the 5G LAN. Non-3GPP (e.g. UPnP) discovery protocols may be used for this purpose. Exploiting such protocols makes the discovery method proposed in this document backwards compatible. Any non-3GPP discovery protocol that works on a LAN may be used, as long as the protocol can be used to also distribute a discovery code as one of the parameters.
[0065] Steps 105 and 115 comprise the service-providing devices transmitting information comprising their code over the secure local area network in response to the query in dependence on the service-providing device having characteristics meeting the requirements. In the example of
[0066] All the devices that satisfy the search query may respond with a non-3GPP response message. This message could contain numerous details on the device's features (e.g. ID, type, specific features, properties). This part of the response message is referred to as ‘basic’ message. There are various possibilities to organize this message e.g: a) a device sends solely the essential properties (e.g. ID, type) together with an URL to the location wherefrom the remaining details could be extracted; b) a device sends all ‘basic’ details in one message. The radio discovery code might be included in the essential properties or in another part of the basic message. While only service-providing devices that do support radio discovery codes are depicted in
[0067] A step 125 comprises the service-using device selecting one or more of the received codes based on the received details. In the example of
[0068] A step 127 comprises the service-using device listening for wireless transmission of the selected code. Steps 107 and 117 comprises the service-providing devices wirelessly broadcasting their code. Steps 107 and 117 may be repeated several times to ensure that the service-using device receives the code. Step 127 further comprises the service-using device receiving the codes from the service-providing devices.
[0069] The radio broadcast used at this phase of the proximity discovery can be intercepted by any device in the vicinity i.e. within radio reach of the service-providing device. However, this radio broadcast does not comprise any sensitive information. The service-providing devices and service-using device could make use of radio parameters (e.g. frequency bands) for the case when a device is “not served by E-UTRAN” [3GPP TS 23.303] in steps 107,117 and 127. Alternatively, the service-providing devices and the service-using device could agree on where they are going to broadcast (or where they are going to listen) as part of the 5G LAN discovery procedure.
[0070] A step 129 comprises the service-using device transmitting data to the first service-providing device, whose code was selected in step 125 and received in step 127. A step 109 comprises the first service-providing device receiving this data from the service-using device. At this stage, the service-using device has identified the most suitable device he was looking for in his vicinity. By using ProSe Direct Communication or 5G LAN communication, for example, the user can now communicate (transfer the data) to the targeted service-providing device.
[0071] While in the example of
[0072] The second service-providing device may wireless transmit its code in step 117 independent of whether it has received a query. In an alternative embodiment, the service-providing device only wirelessly transmits its code, i.e. performs step 117, if it responded to a query.
[0073] In the example of
[0074] In the example of
[0075] In the embodiment of
[0076] In step 131, the first service-providing device transmits a request for a code to the central entity. In step 163, the central entity receives the request from the first service-providing device. In step 164, the central entity creates the code and transmits it to the first service-providing device. In step 133, the first service-providing device receives its code from the central entity.
[0077] In step 167, it is the central entity that receives the query, described in relation to
[0078] In step 169, the central entity sends a response to the query to the service-using device. The service-using device receives this response in step 153. In the example of
[0079] In the embodiments of
[0080] In the embodiment of
[0081] The two codes corresponding to the first service-providing device are selected in step 191. One of them is selected for use in step 193. In step 193, this code, e.g. a ProSe Query Code, is wirelessly broadcast. In steps 173 and 183, the two service-providing devices receive this code. Since this code corresponds to (the code created and provided by) the first service-providing device, only the first service-providing transmits a response to the service-using device.
[0082] In step 175, the first service-providing device transmits a response that includes the other of the two codes, e.g. a ProSe Response Code. In step 195, the service-using device receives this response from the first service-providing device. If the service-using device would not have received any code in step 195, it would know that most likely, no device matching its requirements is nearby. In step 197, the service-using device checks whether this code corresponds to the code it transmitted in step 193, e.g. whether the ProSe Response Code received in step 195 matches (is associated with) the ProSe Query Code broadcast in step 193.
[0083] Step 129 comprises the service-using device transmitting data to the first service-providing device. Step 109 comprises the first service-providing device receiving this data from the service-using device. Before the first service-providing devices processes the received data, it may first obtain the source address that it associated with the code in step 171 from the memory. The service-providing device may be configured to compare this with the source address of the received data and only process the received data if the source addresses match.
[0084] In the embodiment of
[0085] In the embodiment of
[0086] Only after the service-using device has received (in step 221) the code that it selected in step 191, will the service-using device broadcast this code in step 193. In the embodiment of
[0087] While in the embodiments of
[0088] The service-using devices receive the information in step 123. In the embodiment of
[0089] In the examples of
[0090] Although only ProSe examples have been provided in the description of
[0091] In the telecommunications system 300 of
[0092] The lower branch of
[0093] For a GSM/GPRS network, a radio access network (RAN) system 320 comprises a plurality of nodes, including base stations (combination of a BSC and a BTS), not shown individually in
[0094] For a UMTS radio access network (UTRAN), the radio access network system 320 also comprises a Radio Network Controller (RNC) connected to a plurality of base stations (NodeBs), also not shown individually in
[0095] The upper branch of the telecommunications system in
[0096] The radio access network system 310 (E-UTRAN) of the EPS, comprises base stations (evolved NodeBs, eNodeBs or eNBs), not shown individually in
[0097] For GPRS, UMTS and LTE systems, the core network system is generally connected to a further packet network 302, e.g. the Internet.
[0098] Further information of the general architecture of an EPS network can be found in 3GPP Technical Specification TS 23.401 ‘GPRS enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access’.
[0099]
[0100] As shown in
[0101] The memory elements 404 may include one or more physical memory devices such as, for example, local memory 408 and one or more bulk storage devices 410. The local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive or other persistent data storage device. The processing system 400 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from the bulk storage device 410 during execution.
[0102] Input/output (I/O) devices depicted as an input device 412 and an output device 414 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. Input and/or output devices may be coupled to the data processing system either directly or through intervening I/O controllers.
[0103] In an embodiment, the input and the output devices may be implemented as a combined input/output device (illustrated in
[0104] A network adapter 416 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and/or remote storage devices through intervening private or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and/or networks to the data processing system 400, and a data transmitter for transmitting data from the data processing system 400 to said systems, devices and/or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 400.
[0105] As pictured in
[0106] Various embodiments of the invention may be implemented as a program product for use with a computer system, where the program(s) of the program product define functions of the embodiments (including the methods described herein). In one embodiment, the program(s) can be contained on a variety of non-transitory computer-readable storage media, where, as used herein, the expression “non-transitory computer readable storage media” comprises all computer-readable media, with the sole exception being a transitory, propagating signal. In another embodiment, the program(s) can be contained on a variety of transitory computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored. The computer program may be run on the processor 402 described herein.
[0107] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0108] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the implementations in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present invention. The embodiments were chosen and described in order to best explain the principles and some practical applications of the present invention, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications as are suited to the particular use contemplated.