Server device and method for collecting location information of other devices
By designing a server device that can receive and process base station and access point identifiers and building a location information database, the problem of not being able to obtain accurate location information in indoor environments in the prior art is solved, and high-precision and reliability of location information collection and provision are achieved.
Patent Information
- Application Number
- CN201980047078.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-07-13
- Filing Date
- 2019-07-10
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2039-07-10
AI Technical Summary
The prior art cannot obtain accurate location information when the electronic device is located indoors or the like.
A server device is designed, including a communication interface, memory and processor, to provide accurate location information by receiving identifiers from base stations and access points of external electronic devices, to construct and update a database including access points and base station location information.
It can accurately collect and provide location information of electronic equipment in indoor environments and other environments, improving the reliability and accuracy of location information.
Smart Images

Figure CN112400346B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a server device, and more particularly, to a server device capable of collecting and storing location information of other devices including access points and / or base stations, and a method for collecting location information of other devices by the server device. Background Art
[0002] A portable electronic device (hereinafter referred to as an electronic device), such as a smart phone or a tablet PC, has one or more wireless communication functions (such as cellular communication and Wi-Fi), so it can send and receive data with another device. In addition, based on this wireless communication function, the electronic device can provide users with various user experiences. The electronic device can execute various applications, and among these applications, applications that provide location-based services (LBS) (such as maps, navigation, and social network services (SNS)) can obtain the location information of the electronic device, and based on this, the application can provide services to the user.
[0003] In order to utilize the above-mentioned application, the electronic device may request its own location information from an external server device. The server device may build a database including location information of various devices, and if the electronic device requests its own location information from the server device, the server device may search the database for location information corresponding to the electronic device based on the information received from the electronic device, and may provide the searched location information to the electronic device. Summary of the invention
[0004] Technical issues
[0005] In the case where accurate location information is not obtained because the electronic device is located indoors, etc., the server device in the related art cannot obtain the location of the electronic device.
[0006] In order to provide accurate location information to electronic devices, various embodiments of the present disclosure provide a server device capable of building and updating a database including location information of various access points and / or base stations, and a method for the server device to collect location information of other devices.
[0007] Solution to the problem
[0008] According to various embodiments, a server device may include a communication interface, a memory, and a processor, the processor being operably connected to the communication interface and the memory, wherein the memory is configured to store a first database including identifiers and location information of access points, and the processor is configured to: receive an identifier of a base station and an identifier of at least one access point including a first access point collected by an external device from an external electronic device through the communication interface; identify location information matching the identifier of at least one access point and / or the identifier of the base station in the first database; and update the location information matching the identifier of the first access point in the first database based on the identified location information.
[0009] According to various embodiments, an electronic device may include: a global positioning system (GPS) sensor, a first wireless communication circuit configured to support near-field communication with at least one access point, a second wireless communication circuit configured to support cellular communication with at least one base station, and a processor operably connected to the GPS sensor, the first wireless communication circuit, the second wireless communication circuit, and a memory, wherein the processor is configured to: receive a request for an identifier and GPS location information of a first access point device from an external server using the first wireless communication circuit or the second wireless communication circuit; scan at least one neighboring access point device using the first wireless communication circuit; if the first access point device is scanned as a result of the scan, identify the GPS location information using the GPS sensor; and send the GPS location information to the server device using the first wireless communication circuit or the second wireless communication circuit.
[0010] According to various embodiments, a method for collecting location information of other devices by a server device, the server device storing a first database including identifiers of access points and location information, the method may include: receiving an identifier of a base station and an identifier of at least one access point including a first access point collected by the external electronic device from an external electronic device; identifying location information matching the identifier of at least one access point and / or the identifier of the base station in the first database; and updating the location information matching the identifier of the first access point in the first database based on the identified location information.
[0011] Before proceeding to the following detailed description, it may be helpful to set forth the definitions of certain words and phrases used in this patent document: the terms "include" and "comprising" and their derivatives mean including but not limited to; the term "or" is inclusive, meaning and / or; the phrases "associated with" and "associated with" and their derivatives may mean including, included, interconnected with, containing, contained within, connected to or connected with, coupled to or coupled with, communicable with, cooperating with, interleaved, juxtaposed, adjacent, bound to or bound with, having, having the property of, etc.; and the term "controller" means any device, system, or part thereof that controls at least one operation, such device may be implemented in hardware, firmware, or software, or a combination of at least two thereof. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely.
[0012] In addition, the various functions described below can be implemented or supported by one or more computer programs, each of which is formed by a computer-readable program code and is contained in a computer-readable medium. The terms "application" and "program" refer to one or more computer programs, software components, instruction sets, processes, functions, objects, classes, instances, related data or a part thereof that are suitable for being implemented in an appropriate computer-readable program code. The phrase "computer-readable program code" includes any type of computer code, including source code, object code and executable code. The phrase "computer-readable medium" includes any type of medium that can be accessed by a computer, such as a read-only memory (ROM), a random access memory (RAM), a hard drive, a compact disc (CD), a digital video disc (DVD) or any other type of memory. "Non-transitory" computer-readable media excludes wired, wireless, optical or other communication links that transmit temporary electrical signals or other signals. Non-transitory computer-readable media include media that can permanently store data, and media that can store data and then rewrite data, such as rewritable optical discs or erasable storage devices.
[0013] Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.
[0014] Advantageous Effects of the Invention
[0015] According to various embodiments of the present disclosure, a server device capable of building and updating a database including location information of various access points and / or base stations to provide accurate location information to electronic devices and a method for the server device to collect location information of other devices can be provided. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like reference numerals represent like parts:
[0017] Figure 1 A block diagram of an electronic device in a network environment according to various embodiments is shown;
[0018] Figure 2 Diagram showing various devices for position determination of an electronic device according to various embodiments;
[0019] Figure 3 shows a block diagram of an electronic device according to various embodiments;
[0020] Figure 4 shows a block diagram of a server device according to various embodiments;
[0021] Figure 5 A block diagram of a server device for processing location data according to various embodiments is shown;
[0022] Figure 6 A diagram illustrating an example of access points that can be scanned by an electronic device in accordance with various embodiments;
[0023] Fig. 7A A diagram illustrating an example of determining the priority of location information according to the type of acquired location information according to various embodiments;
[0024] Figure 7B A diagram illustrating an example of determining the priority of location information according to the type of acquired location information according to various embodiments;
[0025] Figure 7C A diagram illustrating an example of determining the priority of location information according to the type of acquired location information according to various embodiments;
[0026] Figure 8 A diagram showing an embodiment of an electronic device determining its own location according to various embodiments;
[0027] Fig. 9 A diagram illustrating an embodiment of a server device determining a location of an electronic device according to various embodiments;
[0028] Fig.10 A flow chart showing a method for collecting location information of access points by a server device according to various embodiments is shown;
[0029] Fig.11 A flowchart showing a method for collecting location information of access points by a server device according to various embodiments; and
[0030] Fig.12 A diagram showing an embodiment in which a server device requests an electronic device to provide location information of an access point according to various embodiments. DETAILED DESCRIPTION
[0031] Discussed below Figures 1 to 12 The various embodiments used to describe the principles of the present disclosure in this patent document are merely exemplary and should not be construed in any way to limit the scope of the present disclosure. Those skilled in the art will appreciate that the principles of the present invention can be implemented in any suitably arranged system or device.
[0032] Figure 1 FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments. Figure 1 , the electronic device 101 in the network environment 100 may communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input device 150, a sound output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a user identification module (SIM) 196, or an antenna module 197. In some embodiments, at least one component (e.g., the display device 160 or the camera module 180) may be omitted from the electronic device 101, or one or more other components may be added in the electronic device 101. In some embodiments, some components may be implemented as a single integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illumination sensor) may be implemented to be embedded in the display device 160 (eg, a display).
[0033] The processor 120 may execute, for example, software (e.g., program 140) to control at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120, and may perform various data processing or calculations. According to an embodiment, as at least part of the data processing or calculation, the processor 120 may load a command or data received from another component (e.g., sensor module 176 or communication module 190) into the volatile memory 132, process the command or data stored in the volatile memory 132, and store the resulting data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)), and the auxiliary processor 123 may operate independently of the main processor 121 or in conjunction with the main processor 121. Additionally or alternatively, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or be dedicated to a specified function. The auxiliary processor 123 may be implemented separately from the main processor 121, or as part of the main processor 121.
[0034] The auxiliary processor 123 may control at least some of the functions or states related to at least one of the components of the electronic device 101 (e.g., the display device 160, the sensor module 176, or the communication module 190) when the main processor 121 is in a disabled (e.g., sleep) state, or control at least some of the functions or states related to at least one of the components of the electronic device 101 (e.g., the display device 160, the sensor module 176, or the communication module 190) together with the main processor 121 when the main processor 121 is enabled (e.g., executing an application). According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as a part of another component (e.g., the camera module 180 or the communication module 190) that is functionally related to the auxiliary processor 123.
[0035] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a nonvolatile memory 134.
[0036] The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or applications 146 .
[0037] The input device 150 may receive commands or data from outside the electronic device 101 (e.g., a user) to be used by other components of the electronic device 101 (e.g., the processor 120). The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (e.g., a stylus).
[0038] The sound output device 155 can output sound signals to the outside of the electronic device 101. The sound output device 155 may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as playing multimedia or playing recordings, and the receiver may be used for incoming calls. Depending on the embodiment, the receiver may be implemented as being independent of the speaker, or as a part of the speaker.
[0039] The display device 160 can visually provide information to the outside of the electronic device 101 (e.g., a user). The display device 160 may include, for example, a display, a hologram device, or a projector, and a control circuit that can control a corresponding one of the display, the hologram device, and the projector. According to an embodiment, the display device 160 may include a touch circuit suitable for detecting a touch or a sensor circuit (e.g., a pressure sensor) suitable for measuring the strength of the force caused by the touch.
[0040] The audio module 170 can convert sound into an electrical signal, and vice versa. According to an embodiment, the audio module 170 can obtain sound via the input device 150, or output sound directly (e.g., wired) or wirelessly connected to the electronic device 101 via the sound output device 155 or the earphone of the external electronic device (e.g., the electronic device 102).
[0041] The sensor module 176 may detect an operating state (e.g., power or temperature) of the electronic device 101 or an environmental state (e.g., a state of a user) outside the electronic device 101, and then generate an electrical signal or data value corresponding to the detected state. According to an embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illumination sensor.
[0042] The interface 177 may support one or more specific protocols to be used to connect the electronic device 101 directly (e.g., wired) or wirelessly with an external electronic device (e.g., the electronic device 102). According to an embodiment, the interface 177 may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
[0043] The connection end 178 may include a connector, wherein the electronic device 101 can be physically connected to an external electronic device (e.g., the electronic device 102) via the connector. According to an embodiment, the connection end 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0044] The haptic module 179 may convert the electrical signal into mechanical stimulation (eg, vibration or motion) or electrical stimulation that can be recognized by the user via his sense of touch or kinesthetic sense. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0045] The camera module 180 may capture still images or moving images. According to embodiments, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
[0046] The power management module 188 may manage power supply to the electronic device 101. According to an embodiment, the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0047] The battery 189 may power at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0048] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently from the processor 120 (e.g., an application processor (AP)) and supporting direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Bluetooth, Wireless Fidelity (Wi-Fi) Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a traditional cellular network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip), or these various types of communication modules can be implemented as multiple components separated from each other (e.g., multiple chips). The wireless communication module 192 can identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196.
[0049] The antenna module 197 may transmit or receive a signal or power to or from the outside of the electronic device 101 (e.g., an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiating element formed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a PCB). According to an embodiment, the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by, for example, the communication module 190 (e.g., the wireless communication module 192). A signal or power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as a part of the antenna module 197.
[0050] At least some of the above components may be connected to each other via an inter-peripheral communication scheme (e.g., a bus, a general purpose input output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)) and communicatively transmit signals (e.g., commands or data) therebetween.
[0051] According to an embodiment, a command or data may be sent or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199. Each of the electronic device 102 or the electronic device 104 may be a device of the same type as the electronic device 101, or a device of a different type from the electronic device 101. According to an embodiment, all or some operations to be executed in the electronic device 101 may be executed in one or more of the external electronic device 102, the external electronic device 104, or the server 108. For example, if the electronic device 101 should automatically execute a function or service or should execute a function or service in response to a request from a user or another device, the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service instead of executing the function or service, or the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service in addition to executing the function or service. The one or more external electronic devices that receive the request may execute at least part of the requested function or service, or execute another function or another service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least a partial reply to the request with or without further processing the result. To this end, for example, cloud computing technology, distributed computing technology, or client-server computing technology may be used.
[0052] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to those electronic devices described above.
[0053] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, but include various changes, equivalent forms or alternative forms for corresponding embodiments. For the description of the accompanying drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that the nouns in the singular form corresponding to the term may include one or more things, unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "at least one of A, B or C" may include any one or all possible combinations of the items listed together with the corresponding one of the multiple phrases. As used herein, terms such as "1st" and "2nd" or "first" and "second" may be used to simply distinguish the corresponding component from another component, and do not limit the component in other aspects (e.g., importance or order). It will be understood that if an element (e.g., a first element) is referred to as being “combined with another element (e.g., the second element)”, “combined to another element (e.g., the second element)”, “connected with another element (e.g., the second element)”, or “connected to another element (e.g., the second element)” when the terms “operably” or “communicatively” are used or when the terms “operably” or “communicatively” are not used, it means that the element may be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.
[0054] As used in the present disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "portion," or "circuit"). A module may be a single integrated component adapted to perform one or more functions or a minimum unit or portion of the single integrated component. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).
[0055] The various embodiments described herein may be implemented as software (e.g., program 140) including one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). For example, under the control of a processor, a processor (e.g., processor 120) of the machine (e.g., electronic device 101) may call at least one of the one or more instructions stored in the storage medium and execute the at least one instruction with or without the use of one or more other components. This enables the machine to operate to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be run by an interpreter. A machine-readable storage medium may be provided in the form of a non-transitory storage medium. Among them, the term "non-transitory" only means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between data being semi-permanently stored in the storage medium and data being temporarily stored in the storage medium.
[0056] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be published in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)), or may be published online (e.g., downloaded or uploaded) via an application store (e.g., PlayStoreTM), or may be distributed (e.g., downloaded or uploaded) directly between two user devices (e.g., smart phones). If published online, at least part of the computer program product may be temporarily generated, or at least part of the computer program product may be at least temporarily stored in a machine-readable storage medium (such as a manufacturer's server, an application store's server, or a memory of a forwarding server).
[0057] According to various embodiments, each component (e.g., module or program) in the above-mentioned components may include a single entity or multiple entities. According to various embodiments, one or more components in the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each component in the multiple components in the same or similar manner as a corresponding component in the multiple components before integration. According to various embodiments, the operations performed by a module, program or another component may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or one or more operations in the operations may be run or omitted in different orders, or one or more other operations may be added.
[0058] Figure 2 Diagram showing various devices for position determination of an electronic device in accordance with various embodiments.
[0059] According to various embodiments, the electronic device 210 (eg, Figure 1 The electronic device 101) can collect and send to the server device 290 (for example, Figure 1 The server device 290 may construct and update a database including the location information of the respective access points 221, 222, and 223 and / or the base station 230 based on the data received from the electronic device 210.
[0060] refer to Figure 2 , the electronic device 210 according to various embodiments may be implemented by a portable electronic device such as a smart phone or a tablet PC, but is not limited thereto, and in the description, various devices provided with a wireless communication function (e.g., cellular communication and / or near field communication) may correspond to the electronic device 210. For example, the electronic device 210 may be a tag device having only a wireless communication function for location tracking.
[0061] According to various embodiments, the electronic device 210 may communicate with neighboring access points 221, 222, and 223 using near field communication. Near field communication may include Wi-Fi. The communicable distance with the access points 221, 222, and 223 may be approximately 10 to 200 meters, and it may be different according to the specifications of the access points 221, 222, and 223 and the surrounding communication environment.
[0062] According to various embodiments, each access point 221, 222, and 223 may have an inherent identifier, and the inherent identifier may include a basic service set identifier (BSSID). The access points 221, 222, and 223 may periodically broadcast a beacon signal including its own identifier, and the electronic device 210 may receive the beacon signal, and it may acquire the identifiers of the corresponding neighboring access points 221, 222, and 223. If there are multiple access points around the electronic device 210, the electronic device 210 may acquire all identifiers of the multiple access points.
[0063] In the case of intending to access a network (e.g., a public data network) using one of the access points 221, 222, and 223, the electronic device 210 may select one of the searched neighboring access points 221, 222, and 223 using a user's input or using setting configuration information, and it may send and receive data with various devices on the network by accessing the network using the selected access point.
[0064] According to various embodiments, the electronic device 210 can communicate with the base station 230 to perform cellular communication. Cellular communication corresponds to various mobile communication systems that users subscribe to through mobile communication service providers, and it enables the use of various mobile communication protocols, such as LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, and GSM, but it is not limited to the above examples. The electronic device 210 can send and receive data with various devices on the network by accessing the network through any one of the base stations 230.
[0065] Each base station 230 includes an identifier, and the identifier of the base station 230 may include a cell identifier (CID). During access to the base station 230, the electronic device 210 may acquire the identifier of the base station 230 being accessed. According to various embodiments, the electronic device 210 may use a global positioning system (GPS) or a global navigation satellite system (GNSS) to acquire location information. To this end, the electronic device 210 may include a GPS sensor (or GNSS sensor) (not shown), which may receive signals from GPS satellites 240, and which may determine its own position based on signals received from at least one GPS satellite 240 using known position measurement techniques (e.g., code tracking or phase tracking). The GPS sensor may be included in a wireless communication module (e.g., Figure 1 A wireless communication module 192) or a sensor module (e.g., Figure 1 In at least one of the sensor modules 176).
[0066] According to various embodiments, the server device 290 may communicate with a plurality of electronic devices 210 through a network, and it may acquire location information from the corresponding electronic devices 210 to store the acquired location information in a database. For example, the electronic device 210 may send an identifier of at least one access point 221, 222, and 223, an identifier of the base station 230, and / or GPS location information to the server device 290, and the server device 290 may map the identifier (e.g., CID) of the base station 230 to the identifier (e.g., BSSID) of the access point 221, 222, and 223 and the location information (e.g., latitude and longitude) to store the mapped information in a database, and when receiving corresponding information from several electronic devices 210, it may update the information of the database.
[0067] Figure 3 A block diagram of an electronic device according to various embodiments is shown.
[0068] refer to Figure 3 According to various embodiments, the electronic device 300 may include a processor 310, a memory 320, a first wireless communication circuit 330, a second wireless communication circuit 340, and a GPS sensor 350. Even if at least a part of the illustrated configuration is omitted or replaced, there is no difficulty in implementing various embodiments of the present disclosure. The electronic device 300 may include Figure 1 The electronic device 101 and / or Figure 2 At least part of the configuration and / or functionality of the electronic device 210.
[0069] According to various embodiments, the first wireless communication circuit 330 may support communication with at least one access point (eg, Figure 2 The first wireless communication circuit 330 may include an antenna and at least one control circuit to transmit / receive data with an access point through near field communication.
[0070] The access point can be Figure 2 The access point may be connected to the network via an Ethernet cable, and it may provide a signal transmitted from the first wireless communication circuit 330 to another device (e.g., Figure 2The access point may have an inherent identifier, and the inherent identifier may include a basic service set identifier (BSSID), but it may include another identifier, such as a MAC address of the access point. The access point may periodically broadcast a beacon signal including its own identifier, and the electronic device 300 may receive the beacon signal using the first wireless communication circuit 330, and it may acquire the identifier of the corresponding neighboring access point.
[0071] According to various embodiments, the second wireless communication circuit 340 may support communication with at least one base station (eg, Figure 2 The cellular communication supported by the second wireless communication circuit 340 is not limited, and it may include at least one of various mobile communication protocols, such as LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, and GSM. The second wireless communication circuit 340 may include at least one processor (e.g., a communication processor).
[0072] According to various embodiments, the electronic device 300 can send and receive data with various devices on the network by accessing the network via any one of the base stations. Each base station may include an identifier, and the identifier of the base station may include a cell identifier (CID). During access to the base station, the electronic device 300 may obtain the identifier of the accessed base station.
[0073] According to various embodiments, a global positioning system (GPS) sensor 350 may receive signals from GPS satellites (e.g., Figure 2 The device may receive signals from GPS satellites 240) and it may use known position measurement techniques to obtain GPS position information from the received signals.
[0074] According to various embodiments, the processor 310 may be configured to perform control and / or communication operations or data processing on various constituent elements of the electronic device 300, and may include Figure 1 The processor 310 may be operably, electrically and / or functionally connected to internal constituent elements of the electronic device 300, such as the first wireless communication circuit 330, the second wireless communication circuit 340 and the memory 320.
[0075] According to various embodiments, memory 320 will temporarily or permanently store unlimited digital data, and it may include Figure 1At least a portion of the configuration of the memory 130. The memory 320 may include a volatile memory and a non-volatile memory. The non-volatile memory may include at least one of a one-time programmable ROM (OTPROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a mask ROM, a flash ROM, a flash memory (e.g., a NAND flash memory or a NOR flash memory), a hard disk drive, or a solid state drive (SSD), and the volatile memory may include at least one of a dynamic RAM (DRAM), a static RAM (SRAM), or a synchronous dynamic RAM (SDRAM).
[0076] According to various embodiments, the memory 320 may store various instructions that can be executed by the processor 310. Such instructions may include control commands (such as arithmetic and logical operations), data movement, and input / output that can be recognized by the processor 310. In addition, the memory 320 may store Figure 1 at least a portion of procedure 140 .
[0077] According to various embodiments, the processor 310 may identify a location information request event. Here, the location information request event may be generated by an application, and the application may be an application that provides a location-based service (LBS), such as a map, navigation, and a social network service (SNS). In addition, the processor 310 may perform an operation for periodically identifying location information of the electronic device 300 without any separate event.
[0078] According to various embodiments, if a location information request event occurs (or periodically), the processor 310 may use at least one of the GPS signal of the GPS sensor 350, the near field communication of the first wireless communication circuit 330, and / or the cellular communication of the second wireless communication circuit 340 to identify the location information of the electronic device 300, at least one neighboring access point, and / or the base station. For example, if the GPS sensor 350 is in an enabled state and the current location of the electronic device 300 is a location where a GPS satellite signal can be received (e.g., outdoors), the processor 310 may use the GPS sensor 350 to identify the GPS location information. In this case, the processor 310 may provide an application by identifying the location information of the electronic device 300 using the GPS location information.
[0079] According to various embodiments, the processor 310 may identify an identifier (eg, BSSID) of at least one access point by scanning neighboring access points using the first wireless communication circuit 330. In addition, the processor 310 may also use the second wireless communication circuit 340 to obtain an identifier (eg, CID) of a base station.
[0080] According to various embodiments, the processor 310 may send at least a portion of the acquired GPS location information, the identifier of at least one access point, and / or the identifier of the base station to a server device (e.g., Figure 2 For example, if all GPS location information, the identifier of at least one access point, and the identifier of the base station are acquired, the processor 310 may send them to the server device, and as a result of scanning the surrounding access points, no access point is within the coverage range of near field communication (e.g., approximately 10 to 200 meters), the processor 310 may send the GPS location information and the identifier of the base station to the server device. In addition, if the location of the electronic device 300 is a location where the GPS satellite signal cannot be received (e.g., inside a building), the processor 310 may send the acquired identifier of at least one access point and the identifier of the base station to the server device.
[0081] According to various embodiments, the server device can match the identifier of the access point with the location information based on the GPS location information, the identifier of the access point, and the identifier of the base station obtained from several electronic devices 300, and can construct and update a database in which the identifier of the base station is matched with the location information.
[0082] According to various embodiments, the electronic device 300 may receive a request for an identifier of a specific access point and GPS location information from a server device using the first wireless communication circuit 330 and the second wireless communication circuit 340 .
[0083] According to various embodiments, the server device may store a plurality of priority levels of location information matching the access point on a database, and if GPS location information and an identifier of the access point are received from a specific electronic device 300, the location information of the first priority level may correspond to the matching of the identifier of the corresponding access point with the GPS location information. The server device may identify the identifier of at least one access point that does not match the location information of the first priority level in the database, and it may request the identifier of the corresponding access point and the GPS location information from at least one electronic device 300. In this case, the server device may send a request to at least one electronic device 300 that has recently sent the location information and the identifier of at least one access point that does not match the location information of the first priority level.
[0084] According to various embodiments, the server device may select at least one access point that has not been collected for the longest time by sorting the access points in the order in which the location information is collected in the database, and it may request the identifier and GPS location information of the at least one selected access point from the at least one electronic device 300. In addition, the server device may select at least one access point with the least number of collection times by sorting the access points in the order in which the location information is collected in the database, and it may request the identifier and GPS location information of the at least one selected access point from the at least one electronic device 300.
[0085] According to various embodiments, if a request for an identifier and GPS location information of a specific access point (e.g., a first access point) is received from a server device, the processor 310 may scan at least one neighboring access point using the first wireless communication circuit 330. If the first access point requested by the server device is scanned as a result of the scanning, the processor 310 may use a GPS sensor to identify the GPS location information. Here, if the location of the electronic device 300 is a location where a GPS satellite signal cannot be received (e.g., inside a building), the processor 310 may periodically perform scanning of access points and GPS reception, and if identification of the first access point and GPS reception is performed together, the processor 310 may send the acquired identifier and GPS location information of the first access point to the server device. If the first access point is not identified as a result of the scanning, the processor 310 may not send the GPS location information to the server device.
[0086] According to various embodiments, the processor 310 may receive location information related to an identifier of at least one access point and / or an identifier of a base station transmitted in advance from a server device through the first wireless communication circuit 330 or the second wireless communication circuit 340. The processor 310 may determine the location of the electronic device 300 using a positioning algorithm based on the received location information. For example, the processor 310 may determine an average value of the acquired location information as the location of the electronic device 300. As another embodiment, the location information related to the identifier of the access point and / or the identifier of the base station received from the server device includes a coverage range covering a predetermined area, and the processor 310 may determine an area where the coverage ranges of the acquired location information overlap with each other as the location of the electronic device 300.
[0087] According to various embodiments, the server device may identify location information related to an identifier of at least one access point and / or an identifier of a base station acquired from the electronic device 300 in a database, and may use a positioning algorithm to determine the location of the electronic device 300. In this case, the electronic device 300 may receive the determined location from the server device.
[0088] According to various embodiments, the processor 310 may provide the determined location of the electronic device 300 to applications (eg, map, navigation, and SNS) that have requested location information, and the application may provide various services to the user based on the location information.
[0089] The electronic device 300 according to various embodiments may include a global positioning system (GPS) sensor 350, a first wireless communication circuit 330 configured to support near field communication with at least one access point 221, 222 and 223, a second wireless communication circuit 340 configured to support cellular communication with at least one base station, and a processor 310 operably connected to the GPS sensor 350, the first wireless communication circuit 330, the second wireless communication circuit 340 and the memory 320, wherein the processor 310 is configured to: receive a request for an identifier and GPS location information of a first access point device from an external server using the first wireless communication circuit 330 or the second wireless communication circuit 340, scan at least one neighboring access point 221, 222 and 223 using the first wireless communication circuit 330, identify the GPS location information using the GPS sensor 350 if the first access point device is scanned as a result of the scanning, and send the GPS location information to the server device using the first wireless communication circuit 330 or the second wireless communication circuit 340.
[0090] According to various embodiments, the processor 310 may be configured to perform a periodic scan if a request for an identifier and GPS location information of a first access point device is received.
[0091] Figure 4 A block diagram of a server device according to various embodiments is shown.
[0092] refer to Figure 4 , the server device 400 may include a processor 410, a memory 420, and a communication interface 430. Even if at least a part of the illustrated configuration is omitted or replaced, there is no difficulty in implementing various embodiments of the present disclosure. The server device 400 may include Figure 2 At least a portion of the configuration and / or functionality of server device 290.
[0093] According to various embodiments, the communication interface 430 may support communication with an external electronic device (eg, Figure 2 The communication interface 430 may receive data (eg, an identifier of an access point, an identifier of a base station, and GPS location information) from the electronic device through a network, and it may send data (eg, a determined location of the electronic device) to the electronic device.
[0094] According to various embodiments, the memory 420 may include a first database 421 and a second database 422. The first database 421 may match and store the identifier and location information of the access point based on data acquired from various electronic devices (e.g., the identifier of the access point, the identifier of the base station, and GPS data). The second database 422 may match and store the identifier and location information of the base station based on data acquired from various electronic devices (e.g., the identifier of the access point, the identifier of the base station, and GPS data).
[0095] According to various embodiments, the processor 410 may perform various operations of constructing and updating the first database 421 and / or the second database 422 of the memory 420 based on the data acquired through the communication interface 430. The processor 410 may receive at least a portion of the identifier of at least one access point, the identifier of the base station, or the GPS location information collected by the external electronic device through the communication interface 430, and the processor 410 may update the first database 421 and / or the second database 422 based on the received data.
[0096] According to various embodiments, the first database 421 may match and store access points (eg, Figure 2 The identifier and location information of the access point 221, 222, and 223 of the access point 221, 222, and 223. Here, the identifier of the access point may include a basic service set identifier (BSSID), but it may include another identifier, such as a MAC address of the access point. The location information of the access point may be defined as coordinate information including latitude and longitude, but is not limited thereto, and various parameters capable of defining a location (e.g., a point of interest (POI) or an address) may be used. According to various embodiments, the location information of the access point may not only call a specific point, but may also be defined as a coverage range of a predetermined area including the specific point.
[0097] According to various embodiments, the second database 422 may match and store base stations (eg, Figure 2 The identifier and location information of the base station 230 of the first database 421 are provided. Here, the identifier of the base station may include a cell identifier (CID), but is not limited thereto. In the same manner as the first database 421, the location information matched with the identifier of the base station may be limited to coordinate information including latitude and longitude or other parameters.
[0098] The collected data (or location-related data) acquired by the server device 400 from the electronic device may be different depending on the state of the electronic device. For example, if the GPS location information, the identifier of at least one access point, and the identifier of the base station are all acquired, the electronic device may send them to the server device 400; and if there is no access point in the coverage area of near field communication (e.g., about 10 to 200 meters) when scanning the surrounding access points, the electronic device may send the GPS location information and the identifier of the base station to the server device 400. In addition, if the location of the electronic device is a location where the GPS satellite signal cannot be received (e.g., inside a building), the electronic device may send the acquired identifier of at least one access point and the identifier of the base station to the server device 400.
[0099] According to various embodiments, the server device 400 may divide the collected data received from the electronic device according to the type of information included in the collected data, and it may store the divided data in the first database 421 and the second database 422 .
[0100] According to various embodiments, if the identifier and GPS location information of the first access point are received from the electronic device through the communication interface 430, the processor 410 may update the location information matching the identifier of the first access point in the first database 421 based on the GPS location information. The processor 410 may continuously input the acquired location information in the first database 421, and it may delete the previously acquired location information exceeding the location information collection time (e.g., one month) and the collection number (e.g., 100 times) from the first database 421.
[0101] According to various embodiments, if the GPS location information is not received from the electronic device, but the first access point (eg, Figure 2 The identifier of the first access point 221) and the second access point (eg Figure 2 If the processor 410 receives the identifier of the second access point 222 of the first access point, the processor 410 may update the location information matching the identifier of the first access point based on the location information matching the identifier of the second access point in the first database 421. If identifiers of multiple access points are received together from the electronic device, it may be assumed that the identifiers of the multiple access points are located adjacently in consideration of the coverage of the near field communication, and thus the processor may update the location information of the access point according to the location information of other access points.
[0102] According to various embodiments, if an identifier of an access point (e.g., a first access point) and an identifier of a base station are received from the electronic device through the communication interface 430, the processor 410 may identify location information matching the received identifier of the base station in the second database 422, and it may update the location information matching the identifier of the first access point based on the identified location information matching the identifier of the base station. The coverage of cellular communication of the base station is wider than the coverage of near field communication, and therefore, the use of the location information of the base station may result in reduced accuracy compared to the use of the location information of other access points.
[0103] According to various embodiments, the first database 421 may store location information of multiple priorities matched with identifiers of each access point. The priority of the location information may be determined according to a method for updating the location information, and the priority may include a first priority, a second priority, and a third priority, for example, according to accuracy.
[0104] The identifiers and location information of the access points stored in the first database 421 may be as shown in Table 1.
[0105] Table 1
[0106]
[0107]
[0108] In the above Table 1, the first access point (SSID: Kim) exemplifies the acquisition of the first priority location information, the second priority location information, and the third priority location information. In addition, the second access point (SSID: Park) corresponds to a state in which the first priority location information is not acquired, and thereafter, if the first priority location information is acquired from the electronic device, the first priority location information of the second access point can be updated to the first database 421. Here, the location information of each access point can be generated based on data received by different electronic devices, and at least part of it can be generated based on data received by the same electronic device.
[0109] According to various embodiments, if GPS location information and an identifier of at least one access point (e.g., a first access point) are received from an electronic device through the communication interface 430, the processor 410 may update the first priority location information of the first database 421 that matches the identifier of the first access point based on the GPS location information. The GPS location information has the highest accuracy, so the first priority location information may have a lower error relative to the actual location than the second priority and third priority location information.
[0110] According to various embodiments, if the GPS location information is not received from the electronic device, but the identifier of the first access point and the identifier of the second access point are received through the communication interface 430, the processor 410 may update the second priority location information matching the identifier of the first access point based on the location information matching the identifier of the second access point in the first database 421. If there is first priority location information matching the identifier of the second access point in the first database 421, the processor 410 may update the second priority location information matching the identifier of the first access point based on the first priority location information; and if there is no first priority location information matching the identifier of the second access point in the first database 421 but only second priority location information, the processor 410 may update the second priority location information matching the identifier of the first access point based on the second priority location information.
[0111] According to various embodiments, if no GPS location information is received from the electronic device through the communication interface 430 but an identifier of a first access point and an identifier of a base station are received, the processor 410 may update the third priority location information of the first access point in the first database 421 based on the location information matching the identifier of the base station.
[0112] In the above-described embodiment, high accuracy (or low error) is obtained in the order of the first priority, the second priority, and the third priority, and if a request for location information is received from an electronic device, the processor 410 may determine the location of the electronic device based on the location information having the highest priority among the location information that matches the identifier of the received access point. For example, in Table 1, the first access point (SSID: Kim) indicates that the location information of the first priority exists in the first database 421, and if a request for location information and the identifier of the first access point is received from the electronic device, the processor 410 may determine the location of the electronic device based on the location information of the first priority of the first access point. In addition, the second access point (SSID: Park) indicates that the location information of the first priority does not exist in the first database 421, and therefore the processor 410 may determine the location of the electronic device based on the location information of the second priority as a secondary order.
[0113] According to various embodiments, in order to update the higher priority location information of the access point, the processor 410 may request at least one electronic device to provide the location information of the access point recorded only with the lower priority (e.g., second priority and / or third priority) location information in the first database 421.
[0114] According to various embodiments, the processor 410 may identify an identifier of at least one access point in the first database 421 that does not match the location information of the first priority, and it may request an identifier of the corresponding access point and GPS location information from at least one electronic device. In this case, the processor 410 may select at least one electronic device to request GPS location information based on the time when the electronic device transmits the identifier of at least one access point that does not match the location information of the first priority. For example, the processor 410 may send a request to at least one electronic device that recently transmitted location information and at least one access point that does not match the location information of the first priority.
[0115] According to various embodiments, the processor 410 may select at least one access point that has not been collected for the longest time by sorting the access points in the database in the order of collecting location information, and it may request the identifier and GPS location information of at least one selected access point from at least one electronic device. In addition, the processor 410 may select at least one access point with the least number of collection times by sorting the access points in the database in the order of the number of times it collects location information, and it may request the identifier and GPS location information of at least one selected access point from at least one electronic device.
[0116] According to various embodiments, the processor 410 may update the location information of the first priority (or the second priority) of the first database 421 based on data from at least one electronic device in response to the request.
[0117] According to various embodiments, the processor 410 may update the second database 422 based on data transmitted from the electronic device. For example, if the electronic device transmits the identifier of the base station and the GPS location information, the processor 410 may update the location information matching the identifier of the corresponding base station in the second database 422 based on the received GPS location information. In addition, if the electronic device transmits the identifier of the base station and the identifier of the access point without the GPS location information, the processor 410 may identify the location information matching the received identifier of the access point in the first database 421, and may update the location information matching the identifier of the corresponding base station based on the identified location information of the access point in the second database 422. In this case, the processor 410 may update the location information matching the identifier of the base station based on the highest priority location information among the location information of the access point.
[0118] According to various embodiments, if the identifier of at least one access point that does not match the location information of the first priority is transmitted from the electronic device and the GPS location information is not transmitted, the processor 410 may request the GPS location information from the electronic device. In this case, the processor 410 may update the location information of the first priority that matches the identifier of the access point according to the GPS location information received from the electronic device in response to the request.
[0119] Figure 5 A block diagram of a server device for processing location data according to various embodiments is shown.
[0120] refer to Figure 5 , server equipment (e.g., Figure 2 The server device 290 and / or Figure 4 The server device 400 can be connected to the communication interface (eg, Figure 4 The communication interface 430) receives the data from various electronic devices (e.g., Figure 2 The electronic device 210 and / or Figure 3 Here, the received collected data 550 may include the base station (e.g. Figure 2 The base station 230) identifier and GPS location information, or the base station identifier and at least one access point ( Figure 2 The identifier of the access points 221, 222 and 223), or the identifier of the base station, the identifier of at least one access point and the GPS location information.
[0121] According to various embodiments, the server device may use the classification module 560 to classify the collected data 550 according to the type of data included in the collected data 550. In this case, the classification module 560 may provide the collected data to the cellular collected data processing module 572 and the Wi-Fi collected data processing module 571 according to whether the collected data 550 includes the location information of the access point. For example, if the collected data 550 includes an identifier of a base station and GPS location information, the classification module 560 may input the corresponding collected data to the cellular collected data processing module 572. In addition, if the collected data 550 includes an identifier of a base station, an identifier of at least one access point, and GPS location information, the classification module 560 may input the corresponding collected data to the Wi-Fi collected data processing module 571.
[0122] According to various embodiments, the Wi-Fi collection data processing module 571 may update the location information corresponding to the access point in the first database 521 based on the collection data provided from the classification module 560. The server device may continuously input the acquired location information in the first database 521, and it may delete the previously acquired location information exceeding the location information collection time (e.g., one month) and the collection number (e.g., 100 times) from the first database 421. As described above, the information stored in the first database 521 has been described by Table 1.
[0123] According to various embodiments, the cellular collection data processing module 572 may update the location information corresponding to the base station in the second database 522 based on the collection data provided from the classification module 560 .
[0124] According to various embodiments, the classification module 560 , the Wi-Fi collection data processing module 571 , and / or the cellular collection data processing module 572 may be software modules including instructions for performing corresponding functions, or separate hardware modules.
[0125] Figure 6 A diagram illustrating examples of access points that can be scanned by an electronic device in accordance with various embodiments.
[0126] refer to Figure 6 In the embodiment, a total of 14 access points 620a to 620n are deployed, and among them, 7 access points 620a to 620g may be deployed at a location where GPS signals of GPS satellites 640 can be received (e.g., outdoors), and the remaining 7 access points 620h to 620n may be deployed at a location where GPS signals cannot be received (e.g., inside a building). In addition, 6 electronic devices (e.g., Figure 2 The electronic device 210) can use near field communication to scan at least one access point, and the ranges that each electronic device can scan can be similar to 611 to 616. For example, the third access point 620c can belong to the scanning range 611 of the first electronic device and the scanning range 612 of the second electronic device.
[0127] Since cellular communication is not limited even indoors, the six electronic devices can use cellular communication to acquire all base stations (e.g. Figure 2 An identifier of a base station 230).
[0128] The first electronic device may scan the first access point 620a, the second access point 620b, and the third access point 620c located outside (611), and because the first electronic device is located outside, it may receive the GPS signal of the GPS satellite 640. The first electronic device may send a signal to the server device (e.g., Figure 2The server device 290 and / or Figure 4 The server device 400 sends the identifiers of the first access point 620a, the second access point 620b and the third access point 620c, the identifier of the base station and the GPS location information. In this case, the server device can update the first database (for example, Figure 4 The server device may update the second database (e.g., the first database 421) corresponding to the identifiers of the first access point 620a, the second access point 620b, and the third access point 620c based on the received GPS location information. Figure 4 location information corresponding to the identifier of the base station in the second database 422).
[0129] The fourth electronic device may scan the eighth access point 620h, the ninth access point 620i, and the tenth access point 620j located in the building (614), and because the fourth electronic device is located in the building, it may not receive the GPS signal. The fourth electronic device may send the identifiers of the eighth access point 620h, the ninth access point 620i, and the tenth access point 620j and the identifier of the base station to the server device. In this case, the server device may update the second priority location information of the eighth access point 620h, the ninth access point 620i, and the tenth access point 620j in the first database based on the first priority location information of one other access point.
[0130] 7A to 7C A diagram showing an example according to various embodiments, in which priority of location information is determined according to the type of acquired location information.
[0131] Fig. 7A A server device (eg, Figure 2 The server device 290 and / or Figure 4 The server device 400) from the electronic device (e.g., Figure 2 The electronic device 210 and / or Figure 3 In this case, the server device may update the first database (e.g., Figure 4 The first database 421 of the present invention is used to store first priority location information corresponding to the identifiers of the first access point 721a, the second access point 722a and the third access point 723a.
[0132] Figure 7BThe example illustrates a case where the server device receives the identifiers of the first access point 721b, the second access point 722b, and the third access point 723b from the electronic device, but does not receive the GPS location information. In this case, if the first priority and / or second priority location information of the first access point 721b and / or the second access point 722b is stored in the first database, the server device can update the second priority location information of the third access point 723b in the first database based on this.
[0133] Figure 7C The example illustrates a case where the server device receives the identifier of the first access point 721c and the identifier of the base station 730 from the electronic device. In this case, the server device can identify the location information corresponding to the received identifier of the base station 730, and it can update the location information of the third priority corresponding to the identifier of the first access point 721c in the first database based on the identified location information.
[0134] According to various embodiments, the server device 400 may include a communication interface 430, a memory 420, and a processor 410, wherein the processor 410 is operably connected to the communication interface 430 and the memory 420, wherein the memory 420 is configured to store a first database 421 including identifiers and location information of access points, and the processor 410 is configured to: receive an identifier of a base station and an identifier of at least one access point including a first access point collected by an external device from an external electronic device through the communication interface 430; identify location information matching the identifier of at least one access point and / or the identifier of the base station in the first database 421; and update the location information matching the identifier of the first access point in the first database 421 based on the identified location information.
[0135] According to various embodiments, the processor 410 may be configured to update the location information matching the identifier of the first access point based on the location information matching the identifier of the second access point in the first database 421 if the identifier of the first access point and the identifier of the second access point are received through the communication interface 430 .
[0136] According to various embodiments, the memory 420 may be configured to store a second database 422 including an identifier and location information of a base station, and the processor 410 may be configured to update the location information matching the identifier of the first access point in the second database 422 based on the location information matching the received identifier of the base station if an identifier of an access point different from the first access point is not received through the communication interface 430.
[0137] According to various embodiments, the first database 421 may be configured to store location information of a plurality of priorities matched with identifiers of respective access points.
[0138] According to various embodiments, the processor 410 may be configured to update the location information based on Global Positioning System (GPS) location information if first priority location information matching an identifier of a first access point is received from an external electronic device through the communication interface 430 .
[0139] According to various embodiments, the processor 410 may be configured to update the second-priority location information matching the identifier of the first access point in the first database 421 based on the first-priority location information matching the identifier of the second access point or the second-priority location information if an identifier of the first access point and an identifier of the second access point are received through the communication interface 430.
[0140] According to various embodiments, the processor 410 may be configured to update the third priority location information matching the identifier of the first access point based on the location information matching the identifier of the received base station if the GPS location information and the identifier of the access point different from the first access point are not received from the external electronic device.
[0141] According to various embodiments, the processor 410 can be configured to: identify an identifier of at least one access point that does not match the location information of the first priority in the first database 421, and request the identifier and GPS location information of the identified at least one access point from at least one external electronic device through the communication interface 430.
[0142] According to various embodiments, the processor 410 may be configured to request GPS location information from the external electronic device if an identifier of at least one access point that does not match the location information of the first priority is transmitted from the external electronic device.
[0143] According to various embodiments, the processor 410 may be configured to select at least one external electronic device to request GPS location information based on a time when the external electronic device transmits an identifier of at least one access point that does not match the location information of the first priority.
[0144] According to various embodiments, the processor 410 can be configured to: receive a request for location information including an identifier of at least one access point from an external electronic device through the communication interface 430, identify location information matching the received identifier of at least one access point in the first database 421, and send location information having the highest priority among the identified location information to the external electronic device through the communication interface 430.
[0145] According to various embodiments, the identifier of the access point may include a basic service set identifier (BSSID).
[0146] Figure 8 Diagram showing an embodiment of an electronic device determining its own location according to various embodiments.
[0147] refer to Figure 8 If a location information request event generated from an application is identified, the electronic device 810 (eg, Figure 3 The processor 310 of the embodiment may be configured to communicate with the wireless communication device 100 by using a first wireless communication circuit (eg, Figure 3 The first wireless communication circuit 330) scans for neighboring access points 820 (eg, Figure 2 The electronic device 810 can use a second wireless communication circuit (eg, Figure 3 The second wireless communication circuit 340) is used to identify the identifier (e.g., CID) of the base station 830.
[0148] According to various embodiments, the electronic device 810 may use the first wireless communication circuit and / or the second wireless communication circuit to send a list (e.g., a BSSID list) to the server device 890, the list including an identifier (e.g., CID) of at least one access point 820 and an identifier (e.g., BSSID) of a base station 830 obtained through the network.
[0149] According to various embodiments, the server device 890 (e.g., Figure 4 The processor 410 of the server device 890 may receive a list of identifiers of at least one access point 820 and base stations 830, and may identify location information matching the received identifier of at least one access point 820 in a pre-built first database 891 (or Wi-Fi DB). In addition, the server device 890 may identify location information matching the received identifier of the base station 830 in a second database 892 (or cell DB).
[0150] According to various embodiments, the server device 890 may update the location information corresponding to the received identifier of the at least one access point 820 in the first database 891 based on the received data. In addition, the server device 890 may update the location information corresponding to the identifier of the base station 830 in the second database 892 based on the received data.
[0151] According to various embodiments, the server device 890 may send location information (or a Wi-Fi location list) related to an identifier of at least one access point 820 and location information (or a cell location) related to an identifier of a base station 830 to the electronic device 810 .
[0152] According to various embodiments, the electronic device 810 may determine the location of the electronic device 810 using a positioning algorithm based on the location information acquired from the server device 890. For example, the electronic device 810 may determine an average value of the acquired location information as the location of the electronic device 810. As another embodiment, the location information related to the received identifier of the access point 820 and / or the identifier of the base station 830 may have a coverage covering a predetermined area, and the electronic device 810 may determine an area where the coverage of the acquired location information overlaps with each other.
[0153] Fig. 9 A diagram illustrating an embodiment in which a server device determines a location of an electronic device according to various embodiments.
[0154] refer to Fig. 9 If a location information request event generated from an application is identified, the electronic device 910 (eg, Figure 3 The processor 310 of the embodiment may be configured to communicate with the wireless communication device 100 by using a first wireless communication circuit (eg, Figure 3 The first wireless communication circuit 330 of the electronic device 910 scans the neighboring access points 920 to identify the identifier (eg, BSSID) of at least one access point 920. In addition, the electronic device 910 may use the second wireless communication circuit (eg, Figure 3 The second wireless communication circuit 340) is used to identify the identifier (e.g., CID) of the base station 930.
[0155] According to various embodiments, the electronic device 910 may send a list of identifiers of at least one access point 920 and base stations 930 acquired through a network to the server device 900 using the first wireless communication circuit and / or the second wireless communication circuit.
[0156] According to various embodiments, the server device 900 may receive an identifier of at least one access point 920 and an identifier of a base station 930, and may identify location information (or Wi-Fi location) matching the received identifier of at least one access point 920 in a pre-built first database 991 (or Wi-FiDB). In addition, the server device 900 may identify location information (or cell location) matching the received identifier of the base station 930 in a second database 992 (or cell DB).
[0157] According to various embodiments, the server device 900 may use a positioning algorithm 995 to determine the location of the electronic device 910 based on the location information acquired from the first database 991 and the second database 992. The positioning algorithm 995 may be included in a memory (e.g., Figure 8 820), and it can be executed by a processor (e.g., Figure 8 The server device 900 may send the determined location (or device location) of the electronic device 910.
[0158] Fig.10 A flow chart of a method for collecting location information of access points by a server device according to various embodiments is shown.
[0159] The method shown can be Figures 2 to 9 The description of the above technical features will be omitted below.
[0160] refer to Fig.10 According to various embodiments, at operation 1010, a server device (e.g., Figure 2 The server device 290 and / or Figure 4 The server device 400) can be from an electronic device (e.g., Figure 2 The electronic device 210 and / or Figure 3 The electronic device 300) receives a base station (eg, Figure 2 The electronic device 230) and the electronic device collected by the electronic device, including the first access point (eg, Figure 2 The server device 290 and / or Figure 4 An identifier of at least one access point of the server device 400).
[0161] According to various embodiments, the electronic device may use near field communication (e.g., Wi-Fi) to obtain an identifier of at least one neighboring access point, and may use cellular communication (e.g., LTE) to obtain an identifier of a base station. The identifier of the access point may include a basic service set identifier (BSSID), and the identifier of the base station may include a cell identifier (CID).
[0162] According to various embodiments, at operation 1020, the server device may identify location information matching an identifier of at least one access point and / or an identifier of a base station in the first database.
[0163] According to various embodiments, the server device may store a first database (e.g., Figure 4 421) and a second database (eg, Figure 4 The first database may match and store the identifier and location information of the access point based on the data acquired from several electronic devices (e.g., the identifier of the access point, the identifier of the base station, and the GPS data). The second database may match and store the identifier and location information of the base station based on the data acquired from several electronic devices (e.g., the identifier of the access point, the identifier of the base station, and the GPS data).
[0164] According to various embodiments, the first database may store location information of multiple priorities matched with the identifier of the corresponding access point. The priority of the location information may be determined according to the method for updating the location information, and the priority may include a first priority, a second priority, and a third priority, for example, according to the accuracy. As described above, the information stored in the first database has been exemplified by Table 1.
[0165] According to various embodiments, in operation 1030, the server device may update location information matching the identifier of the first access point in the first database.
[0166] According to various embodiments, if an identifier of a first access point and an identifier of a second access point are received from an electronic device, the server device may update location information matching the identifier of the first access point based on location information matching the identifier of the second access point in the first database.
[0167] According to various embodiments, if an identifier of an access point (e.g., a first access point) and an identifier of a base station are received from an electronic device, the server device may identify location information matching the received identifier of the base station in a second database, and may update the location information matching the identifier of the first access point based on the identified location information matching the identifier of the base station.
[0168] Fig.11 A flow chart of a method for collecting location information of access points by a server device according to various embodiments is shown.
[0169] The method shown can be Figures 2 to 9 The description of the above technical features will be omitted below.
[0170] refer to Fig.11 According to various embodiments, at operation 1110, a server device (e.g., Figure 2 The server device 290 and / or Figure 4 The server device 400) can be from an electronic device (e.g., Figure 2 The electronic device 210 and / or Figure 3 The electronic device 300) receives a first access point (eg, Figure 2 According to various embodiments, the received collection data may further include the identifier of the second access point (eg, Figure 2 The invention also provides an identifier of the second access point 212), an identifier of the base station, and at least a portion of the GPS location information.
[0171] In operation 1120, the server device may identify whether the received collection data includes GPS location information.
[0172] According to various embodiments, if the collected data includes GPS location information, then at operation 1130, the server device may update the first database (eg, Figure 4 The first priority location information of the first access point in the first database 421) of FIG. GPS location information has the highest accuracy, so the first priority location information may have a lower error relative to the actual location than the second priority and third priority location information.
[0173] According to various embodiments, if the collected data includes GPS location information, in operation 1140, the server device may identify whether the received collected data includes an identifier of the second access point.
[0174] According to various embodiments, if the collected data includes an identifier of the second access point, in operation 1150, the server device may update the second priority location information of the first access point based on the first priority or second priority location information of the second access point.
[0175] According to various embodiments, if first-priority location information matching the identifier of the second access point exists in the first database, the server device may update second-priority location information matching the identifier of the first access point based on the first-priority location information; and if first-priority location information matching the identifier of the second access point does not exist and only second-priority location information exists in the first database, the server device may update second-priority location information matching the identifier of the first access point based on the second-priority location information.
[0176] According to various embodiments, if the collected data does not include GPS location information and the identifier of the second access point, in operation 1160, the server device may update the location information of the third priority of the first access point based on the received identifier of the base station.
[0177] According to various embodiments, the server device may identify location information matching the identifier of the base station in the second database, and it may update the third priority location information corresponding to the identifier of the first access point in the first database based on the identified location information matching the identifier of the first access point.
[0178] According to various embodiments, a method for collecting location information of other devices by a server device, the server device storing a first database including identifiers of access points and location information, the method comprising: receiving an identifier of a base station and an identifier of at least one access point including a first access point collected by the external electronic device from an external electronic device (1010); identifying location information matching the identifier of at least one access point and / or the identifier of the base station in the first database (1020); and updating the location information matching the identifier of the first access point based on the identified location information in the first database (1030).
[0179] According to various embodiments, the first database may be configured to store location information of a plurality of priorities matched with identifiers of corresponding access points.
[0180] According to various embodiments, the method may further include receiving global positioning system (GPS) location information from the external electronic device, wherein updating the location information includes updating the first priority location information matching the identifier of the first access point based on the GPS location information.
[0181] According to various embodiments, updating the location information may include: if an identifier of the first access point and an identifier of the second access point are received, updating the second priority location information matching the identifier of the first access point in the first database based on the first priority or second priority location information matching the identifier of the second access point.
[0182] According to various embodiments, updating the location information may include: if GPS location information and an identifier of an access point different from the first access point are not received from the external electronic device, updating the third priority location information matching the identifier of the first access point based on the location information matching the received identifier of the base station.
[0183] According to various embodiments, the method may further include: identifying in the first database an identifier of at least one access point that does not match the location information of the first priority; and requesting the identifier and GPS location information of the identified at least one access point from at least one external electronic device.
[0184] Fig.12 A diagram showing an embodiment in which a server device requests an electronic device to provide location information of an access point according to various embodiments.
[0185] According to various embodiments, the server device 1290 may request an identifier and GPS location information of a specific access point (eg, the first access point 1220) from the electronic device.
[0186] According to various embodiments, the server device 1290 may be configured to store data in a first database (e.g., Figure 4 The server device 1290 stores a plurality of priority levels of location information matching the access point on the first database 410 of the electronic device 1210, and if the GPS location information and the identifier of the access point are received from the specific electronic device 1210, the location information of the first priority level may correspond to the matching of the identifier of the first access point 1220 and the GPS location information based on the signal of the GPS satellite 1240. The server device 1290 may identify the identifier of the first access point that does not match the location information of the first priority level in the first database, and it may request the location information of the first priority level, which includes a request for the identifier of the first access point 1220 and the GPS location information from the electronic device 1210. In this case, the server device 1290 may send the request to at least one electronic device that has recently sent the location information and the identifier of the first access point 1220 that does not match the location information of the first priority level.
[0187] According to various embodiments, if a request for location information of a first priority is received from the server device 1290, the electronic device 1210 may use a first wireless communication circuit (eg, Figure 3 The first wireless communication circuit 330 of the electronic device 1210 scans at least one neighboring access point. If the first access point 1220 is scanned as a result of the scanning, the electronic device 1210 may use a GPS sensor (eg, Figure 3 Here, if the location of the electronic device 1210 is a location where the signal of the GPS satellite 1240 cannot be received (for example, inside a building), the processor 310 may periodically perform scanning of access points and GPS reception, and if the identifier of the first access point 1220 and GPS reception are performed together, the processor 310 may send the acquired identifier of the first access point 1220 and GPS location information to the server device 1290. If the first access point 1220 is not identified as a result of the scanning, the processor 310 may not send the GPS location information to the server device 1290.
[0188] According to various embodiments, the server device 1290 may select at least one access point that has not been collected for the longest time by sorting the access points in the first database in the order of collecting location information, and it may request an identifier and GPS location information of at least one selected access point from at least one electronic device. In addition, the server device 1290 may select at least one access point with the least number of collection times by sorting the access points in the database in the order of the number of times they collect location information, and it may request an identifier and GPS location information of at least one selected access point from at least one electronic device 1210.
[0189] Although the present disclosure has been described with various embodiments, various changes and modifications may occur to those skilled in the art. The present disclosure is intended to encompass such changes and modifications as fall within the scope of the appended claims.
Claims
1. Server equipment, including: Communication interface; a memory configured to store a first database and a second database, the first database comprising identifiers of access points, the second database comprising identifiers of base stations, the identifier of each access point and the identifier of each base station being associated with location information; as well as a processor operably connected to the communication interface and the memory, Wherein, the processor is configured to: receiving data collected by the external electronic device from the external electronic device through the communication interface, including at least one identifier of at least one access point, The at least one access point comprises a first access point, if the data received from the external electronic device includes global positioning system (GPS) location information, updating the location information of the first access point stored in the first database based on the GPS location information, if the data received from the external electronic device does not include the GPS location information but includes a second identifier of a second access point stored in the first database, updating the location information of the first access point stored in the first database based on the location information of the second identifier of the second access point, and If the data received from the external electronic device does not include the GPS location information and the identifier of the access point other than the first access point but includes the third identifier of the base station, the location information of the first access point stored in the first database is updated based on the location information of the third identifier of the base station stored in the second database.
2. The server device according to claim 1, wherein: The first database is configured to store location information of a plurality of priorities matched with identifiers of the respective access points.
3. The server device according to claim 2, wherein: The processor is configured to update the location information of the first priority matching the first identifier of the first access point based on the GPS location information if the GPS location information is received from the external electronic device via the communication interface.
4. The server device according to claim 3, wherein: The processor is configured to, if the first identifier of the first access point and the second identifier of the second access point are received through the communication interface, update, in the first database, location information of the second priority matching the first identifier of the first access point based on the location information of the first priority or the location information of the second priority matching the identifier of the second access point.
5. The server device according to claim 4, wherein: The processor is configured to update the third priority location information matching the first identifier of the first access point based on the received location information matching the third identifier of the base station if the GPS location information and the identifier of the access point different from the first access point are not received from the external electronic device.
6. The server device according to claim 2, wherein: The processor is configured to: identifying in the first database an identifier of at least one access point that does not match location information of the first priority, and An identifier and GPS location information of the identified at least one access point is requested from at least one of the external electronic devices through the communication interface.
7. The server device according to claim 6, wherein: The processor is configured to request the GPS location information from the external electronic device if an identifier of the at least one access point that does not match the location information of the first priority is transmitted from the external electronic device.
8. The server device according to claim 6, wherein: The processor is configured to select at least one of the external electronic devices to request the GPS location information based on a time when the external electronic device transmits an identifier of the at least one access point that does not match the location information of the first priority.
9. The server device according to claim 2, wherein: The processor is configured to: receiving, via the communication interface, a request for location information from the external electronic device, the request including an identifier of the at least one access point, identifying in the first database location information that matches the received identifier of the at least one access point, and The position information having the highest priority among the identified position information is transmitted to the external electronic device through the communication interface.
10. The server device according to claim 1, wherein: The identifier of the access point comprises a basic service set identifier (BSSID).
11. A method for collecting location information of other devices by a server device, wherein the server device stores a first database and a second database, wherein the first database includes identifiers of access points, and the second database includes identifiers of base stations, wherein the identifier of each access point and the identifier of each base station are associated with location information, and the method comprises: receiving, from an external electronic device, data collected by the external electronic device, including at least one identifier of at least one access point, the at least one access point including a first access point; if the data received from the external electronic device includes global positioning system (GPS) location information, updating the location information of the first access point stored in the first database based on the GPS location information; if the data received from the external electronic device does not include the GPS location information but includes a second identifier of a second access point stored in the first database, updating the location information of the first access point stored in the first database based on the location information of the second identifier of the second access point; as well as If the data received from the external electronic device does not include the GPS location information and the identifier of the access point other than the first access point but includes the third identifier of the base station stored in the second database, the location information of the first access point stored in the first database is updated based on the location information of the third identifier of the base station.
12. The method according to claim 11, wherein: The first database is configured to store location information of multiple priorities matched with identifiers of the access points.
13. The method according to claim 12, wherein: If the data received from the external electronic device includes the GPS location information, updating the location information of the first access point includes: The location information of the first priority level matching the first identifier of the first access point is updated based on the GPS location information.
14. The method according to claim 13, wherein: If the data received from the external electronic device does not include the GPS location information but includes the second identifier of the second access point, updating the location information of the first access point includes: In response to receiving the first identifier of the first access point and the second identifier of the second access point, updating the second priority location information matching the first identifier of the first access point in the first database based on the first priority or second priority location information matching the second identifier of the second access point.
15. The method according to claim 14, wherein: If the data received from the external electronic device includes the third identifier of the base station, updating the location information of the first access point includes: The location information of the third priority level matching the identifier of the first access point is updated based on the location information matching the received identifier of the base station.
16. The method according to claim 13, further comprising: identifying in the first database an identifier of at least one access point that does not match location information of the first priority; as well as An identifier and GPS location information of the identified at least one access point is requested from at least one of the external electronic devices through the communication interface.
Citation Information
Patent Citations
Positioning for wlans and other wireless networks
CN106054129A
Method and apparatus for indoor location determination with WLAN / WPAN / sensor support
US20160234645A1