Location optimization in a data transmission network
The system optimizes data transmission locations based on signal analysis and user feedback, addressing poor network service by guiding users to better spots, thereby improving connection quality.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-22
- Publication Date
- 2026-03-12
AI Technical Summary
Users experience poor network service due to their physical location, necessitating manual searching for better signal strength in data transmission networks.
A system determines optimized locations for data transmission by analyzing signal strength, weather conditions, network congestion, and user feedback, and provides directions to these locations.
Improves data connection quality by guiding users to optimal transmission spots, enhancing signal strength and reducing network service issues.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND
[0001] The present invention relates generally to the field of data transmission networks and more specifically to optimized locations for signal quality in a data transmission network.
[0002] A data transmission network where the last link is wireless is also known as a cellular network or mobile network. The network, and in particular the last wireless link, is distributed across a physical area in cells. Each cell is served by at least one fixed transceiver (i.e., a cell tower). Each transceiver can serve one or more providers. The network allows wireless data transmission by devices including, but not limited to, mobile phones, tablets, laptops, pagers, etc., as long as they have an embedded portable transceiver within the device or attached to the device (physically or wirelessly).
[0003] Publication US 2007 / 0167174A1 relates to a computer device comprising: a processor; local memory accessible to the processor and processor operations; a locally executed hotspot location utility running on the processor, comprising program code that, when executed by the processor, performs the following functions: in response to the detection of a wireless hotspot by the wireless transceiver, identifies the current GPS coordinate of the computer device; associates the current GPS coordinate with an identifier of the detected wireless hotspot; and automatically updates a locally stored hotspot location database, stored in local memory, with an entry corresponding to the detected hotspot and the associated GPS coordinate. SUMMARY
[0004] Embodiments of the present invention disclose a computer-implemented method, a computer program product, and a system for fireless data transmission. In one embodiment, a request is received. The request is for wireless data transmission, which is carried out by a data processing unit. In response to receiving the request, an optimized location for carrying out the wireless data transmission is determined based on the location of the data processing unit and a list of optimized locations. The optimized location is communicated to the data processing unit, which then carries out the wireless data transmission. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is, according to at least one embodiment of the invention, a functional block diagram of a network data processing environment, generally designated by 100 and suitable for operating a central optimization program 112. Fig. 2 is, according to at least one embodiment of the invention, a flowchart diagram that represents operating steps for the central optimization program 112 for determining optimized locations. Fig. 3 is, according to at least one embodiment of the invention, a flowchart diagram that represents operating steps for a local optimization program 122 for applying optimized locations. Fig. 4 is, according to at least one embodiment of the invention, a block diagram representing components of a computer, generally designated as 400 and suitable for executing the central optimization program 112 and the local optimization program 122. DETAILED DESCRIPTION
[0005] The present invention provides a method, a computer program product, and a computer system for determining optimized locations for data transmission in a network and for providing the determined optimized locations to a data processing unit. Embodiments of the present invention recognize that when a user performs a data transfer on their data processing unit, including but not limited to a text message, a voice call, a video call, etc., the user may experience poor network service due to the physical location of the data processing unit used to perform the data transfer.Embodiments of the present invention recognize that many users may move around physical areas in an attempt to find more optimal physical locations for their data processing unit in order to have a better signal to connect to the network and therefore be able to have a better data connection with the network.
[0006] Embodiments of the present invention provide a program to determine optimal locations for data transfer and then provide these optimal locations to a user's data processing unit. Embodiments of the present invention provide a data processing unit to provide the user with directions on how to physically reach the determined optimal locations. Embodiments of the present invention provide a program that learns optimal locations in a wireless data transmission network, which could be a telecommunications network or a WLAN network, to determine the optimal or best location to perform a data transfer.
[0007] Detailed reference to various embodiments of the invention is Fig. 1 now according to at least one embodiment of the invention a functional block diagram of a network data processing environment, generally designated by 100 and suitable for operating the central optimization program 112 and the local optimization program 112. Fig. Figure 1 merely illustrates a single implementation and does not imply any limitations regarding the environments in which different embodiments may be implemented. Many modifications can be made by a person skilled in the art to the illustrated environment without deviating from the scope of the invention as defined in the claims.
[0008] The network data processing environment 100 comprises a server unit 110, a data processing unit 120, and one or more IoT (Internet of Things) units 130-1 to 130-n, interconnected via a network 140. In embodiments of the present invention, the network 140 can be a telecommunications network, a local area network (LAN), a wide area network (WAN), such as the Internet, or a combination of the three, and can include wired, wireless, or fiber optic connections. The network 140 can include one or more wired and / or wireless networks capable of receiving and transmitting data, voice, and / or video signals, including multimedia signals containing voice, data, and video information.In general, the network 140 can be any combination of connections and protocols that will support data transmission between the server unit 110, the data processing unit 120, the one or more IdD units 130-1 to 130-n, and other data processing units (not shown) within the network data processing environment 100.
[0009] In one embodiment, the network can include 140 cell towers that are part of a data transmission network, which is a wireless cellular network. The cellular network contains "cells" that cover physical land areas with at least one fixed transceiver, but may contain three or more cellular sites and / or a base transceiver station. These fixed transceivers and / or base transceiver stations can provide transmission of voice, data, and other types of content by connecting to the other data transmission units that are part of the network 140.
[0010] Server Unit 110 is a data processing unit that can be a laptop computer, tablet computer, netbook computer, personal computer (PC), desktop computer, personal digital assistant (PDA), smartphone, smartwatch, or any programmable electronic device capable of receiving, sending, and processing data. In general, Server Unit 110 refers to any programmable electronic device or combination of programmable electronic devices capable of executing machine-readable program instructions and exchanging data with other data processing units (not shown) within the Data Processing Environment 100 over a network, such as Network 140.
[0011] In various embodiments of the invention, the server unit 110 can be a data processing unit, which may be a standalone unit, an administration server, a web server, a media server, a mobile data processing unit, or any other programmable electronic unit or data processing system capable of receiving, sending, and processing data. In other embodiments, the server unit 110 represents a server data processing system that uses multiple computers as a single server system, such as in a cloud computing environment. In one embodiment, the server unit 110 represents a data processing system that uses cluster computers and components (e.g., database server computers, application server computers, web servers, and media servers) that act as a single, seamless set of resources when accessed within the network data processing environment 100.
[0012] In one embodiment, the server unit 100 includes a user interface (not shown). A user interface is a program that provides an interface between a user and an application. A user interface refers to the information (such as graphics, text, and sound) that a program presents to a user and the control sequences that the user employs to control the program. There are many types of user interfaces. In one embodiment, a user interface can be a graphical user interface (GUI). A GUI is a type of user interface that allows users to interact with electronic units, such as a keyboard and mouse, through graphical symbols and visual indicators, such as secondary notations, as opposed to text-based interfaces, typed command labels, or text navigation.In computers, GUILs were introduced in response to the perceived steep learning curve of command-line interfaces, which required commands to be typed on the keyboard. Actions in GUILs are often performed by directly manipulating the graphical elements.
[0013] In one embodiment, the server unit 100 contains the central optimization program 112. Embodiments of the present invention provide a central optimization program 112 for determining optimized locations. In one embodiment, the central optimization program 112 receives one or more data pieces. In one embodiment, the central optimization program 112 determines optimized locations based on the received data. In one embodiment, the central optimization program 112 determines whether a threshold has been reached. If, in one embodiment, a threshold has been reached, the central optimization program 112 transmits the optimized locations. If, in one embodiment, a threshold has not been reached, the central optimization program 112 receives data.
[0014] In one embodiment, the data processing unit 100 contains an information repository 114. In one embodiment, the information repository 114 can be managed by the central optimization program 112. In an alternative embodiment, the information repository 114 can be managed by the operating system of the server unit 110, another program (not shown), alone, or together with the central optimization program 112. The information repository 114 is a data repository that can store, collect, and / or analyze information. In some embodiments, the information repository 114 is located external to the server unit 110 and is accessed via a data transmission network, such as the network 140. In some embodiments, the information repository 114 is stored on the server unit 110.In some embodiments, the information repository 114 may reside on a different data processing unit (not shown), provided that the information repository 114 is accessible by the server unit 110. In one embodiment, the information repository 114 may contain location information, including but not limited to signal strength, season, weather conditions, type of location, azimuth angle, determination of network congestion at a given time for the location, effectiveness of completed calls at a given time for the location, and history success rate at a given time. In another embodiment, the information repository 114 may contain a list of optimized locations, physical layout information for parts of the network 140 (i.e., wireless network layout, mast layout, cell structure, etc.), and carrier information.
[0015] Information Repository 114 can be implemented using any volatile or non-volatile storage medium known in the prior art. For example, Information Repository 114 can be implemented with a tape library, an optical library, one or more independent hard disk drives, multiple hard disk drives in a redundant array of independent disks (RAID), solid-state drives (SSDs), or random-access memory (RAM). Similarly, Information Repository 114 can be implemented with any suitable storage architecture known in the prior art, such as a relational database, an object-oriented database, or one or more tables.
[0016] The Data Processing Unit 120 is a data processing unit that can be a laptop computer, tablet computer, netbook computer, personal computer (PC), desktop computer, personal digital assistant (PDA), smartphone, smartwatch, or any programmable electronic device capable of receiving, sending, and processing data. In general, the Data Processing Unit 120 represents any programmable electronic device or any combination of programmable electronic devices capable of executing machine-readable program instructions and exchanging data with other data processing units (not shown) within the Data Processing Environment 100 over a network, such as the Network 140.
[0017] In various embodiments of the invention, the data processing unit 120 can be a data processing unit that is a standalone unit, an administration server, a web server, a media server, a mobile data processing unit, or any other programmable electronic unit or data processing system capable of receiving, sending, and processing data. In other embodiments, the data processing unit 120 represents a server data processing system that uses multiple computers as a single server system, such as in a cloud computing environment. In one embodiment, the data processing unit 120 represents a data processing system that uses cluster computers and components (e.g.,database server computers, application server computers, web servers and media servers) are used, which act as a single set of seamless resources when accessed within the network data processing environment 100.
[0018] In one embodiment, the data processing unit 100 includes a user interface (not shown). A user interface is a program that provides an interface between a user and an application. A user interface refers to the information (such as graphics, text, and sound) that a program presents to a user and the control sequences that the user employs to control the program. There are many types of user interfaces. In one particular embodiment, a user interface can be a graphical user interface (GUI).A GUI is a type of user interface that allows users to interact with electronic devices, such as a keyboard and mouse, through graphical symbols and visual indicators, such as secondary notations, as opposed to text-based interfaces, typed command labels, or text navigation. In computers, GUIs were introduced in response to the perceived steep learning curve of command-line interfaces, which required commands to be typed on the keyboard. Actions in GUIs are often performed by directly manipulating the graphical elements.
[0019] In one embodiment, the data processing unit 120 contains the local optimization program 122. Embodiments of the present invention provide a local optimization program 122 for applying optimized locations. In one embodiment, the local optimization program 122 receives a command. In another embodiment, the local optimization program 122 determines an optimized location. In yet another embodiment, the local optimization program 122 communicates an optimized location. In yet another embodiment, the local optimization program 122 provides data to the central optimization program 112.
[0020] In one embodiment, the data processing unit 120 contains the information repository 124. In one embodiment, the information repository 124 can be managed by the local optimization program 122. In an alternative embodiment, the information repository 124 can be managed by the operating system of the data processing unit 120, another program (not shown), alone, or together with the local optimization program 122. The information repository 124 is a data repository that can store, collect, and / or analyze information. In some embodiments, the information repository 124 is located external to the data processing unit 120 and is accessed via a data transmission network, such as the network 140. In some embodiments, the information repository 124 is stored on the data processing unit 120.In some embodiments, the information repository 124 may reside on a different data processing unit (not shown), provided that the information repository 124 is accessible by the data processing unit 120. In one embodiment, the information repository 124 may contain location information, including but not limited to signal strength, season, weather conditions, location type, azimuth angle, determination of network congestion at a given time for the location, effectiveness of completed calls at a given time for the location, and success rate at a given time. In one embodiment, the information repository 124 may contain optimized locations and carrier information.
[0021] Information Repository 124 can be implemented using any volatile or non-volatile storage medium known in the art. For example, Information Repository 124 can be implemented with a tape library, an optical library, one or more independent hard disk drives, multiple hard disk drives in a redundant array of independent disks (RAID), solid-state drives (SSDs), or random-access memory (RAM). Similarly, Information Repository 124 can be implemented with any suitable storage architecture known in the art, such as a relational database, an object-oriented database, or one or more tables.
[0022] The IoT unit 130-1, 130-2, and 130-n is, in the broadest sense, any unit capable of connecting to and transmitting data to and from the network 140. In one embodiment, the IoT unit 130-n can be any number of IoT units. In other words, for the sake of clarity, only three IoT units 130 are shown in the network data processing environment 100, but there can be any number of IoT units 130-n exchanging data in the network data processing environment 100. In one embodiment, the IdD unit 130-n can be a data processing unit, which can be a laptop computer, tablet computer, netbook computer, personal computer (PC), desktop computer, personal digital assistant (PDA), smartphone, smartwatch or any programmable electronic device capable of receiving, sending and processing data.In general, the data processing unit 120 represents any programmable electronic units or any combination of programmable electronic units capable of executing machine-readable program instructions and exchanging data with other data processing units (not shown) within the data processing environment 100 via a network, such as the network 140. In one embodiment, the IdD unit 130-n can collect and / or transmit any number of data, including, but not limited to, signal strength, season, weather conditions, type of location, azimuth angle, network congestion at a given time for the location, effectiveness of completed calls at a given time for the location, and success rate at a given time.In one embodiment, the IdD unit 130-n can record a packet loss for a data transmission performed on the IdD unit 130-n.
[0023] Fig. Figure 2, according to at least one embodiment of the invention, is a flowchart diagram of a workflow 200, which represents operational steps for the central optimization program 112 for determining optimized locations. In an alternative embodiment, the steps of the workflow 200 can be performed by any other program (not shown) while the central optimization program 112 is running. It should be understood that embodiments of the present invention provide at least one method for determining optimized locations. Fig. Figure 2, however, provides only an illustration of a single implementation and does not imply any limitations regarding the environments in which different embodiments can be implemented. Many modifications can be made by a person skilled in the art to the environment shown without deviating from the scope of the invention as set forth in the claims. In a preferred embodiment, a user can access workflow 200 via a user interface (not shown) when a user wishes to determine optimized locations for performing data transmission (i.e., audio, video, etc.) in the network 140.
[0024] The central optimization program 112 receives data (step 202). In step 202, the RDBMS 112 receives data from one or more of the data processing unit 120, the IoT unit 130-1, the IoT unit 130-2, and the IoT unit 130-n. In one embodiment, the data can be received via the network 140 and stored in the information repository 114. In one embodiment, the data can include, but are not limited to, for each unit signal strength, season, weather condition, type of location, azimuth angle, determination of network congestion at a given time for the location, effectiveness of completed calls at a given time for the location, and success rate at a given time.
[0025] In one embodiment, the signal strength is specified in dBm (a unit of level used to indicate that a power level is measured in decibels with reference to one milliwatt), where 0 dBm is no signal and the larger the negative dBm value (e.g., -50 dBm), the better the signal strength. In one embodiment, the signal strength can be a single signal strength at the time the data is sent, a signal strength recorded at certain locations where the unit has been, an average signal strength during a data transfer on the unit, or any combination thereof. In one embodiment, the season is selected from spring, summer, autumn, and winter based on the date the data was sent. In one embodiment, the weather conditions on the unit can be recorded when information is sent to the central optimization program 112.In an alternative embodiment, if the central optimization program 112 receives information about data transmitted through the network 140, the central optimization program 112 can work with another program (e.g., a weather program, not shown) to determine the weather conditions at the location where the data was transferred from the data processing unit and / or the IdD unit. In one embodiment, the weather conditions include, but are not limited to, temperature, storms in the area, relief in the area, rain in the area, and humidity. In one embodiment, the type of location can be, but is not limited to, indoor or outdoor. In one embodiment, the azimuth angle includes, but is not limited to, the position, altitude, and horizontal orientation of the data transmission unit (i.e., the data transmission unit).antenna), which can be found in the Data Processing Unit 120 or the IdD Unit 130n.
[0026] In one embodiment, the specific network congestion at a given time is based on queue delay and packet loss within network 140, and more precisely at the end node (i.e., cell tower) of network 140 that directly exchanges data with the de-icer. In another embodiment, the effectiveness of completed calls at a given time can be based on natural language processing of the data traffic. For example, if the user expresses frustration that the call was of very poor quality or that the user cannot hear the other user they are speaking to, they say, "Can you hear me?" In another embodiment, the historical success rate is a measure of smooth utilization of the available network without recorded packet loss or queue delay.The more instances of these spatial coordinates record the location as optimal in a given embodiment, the more factors indicate that the success rate is good.
[0027] In one embodiment, the central optimization program 112 can receive input from a user via their data processing unit 120 or IdD unit 130-n regarding the effectiveness and / or success of the data transfer. In one embodiment, the user input can be binary (i.e., good or bad). In an alternative embodiment, the user input can be scaled (i.e., 0 to 100, where 0 is bad and 100 is good).
[0028] The central optimization program 112 determines optimized locations (step 204). In step 204, the central optimization program 112 uses matrix factorization to determine optimized locations using the data received in step 202. In one embodiment, the central optimization program 112 can determine a single location for all the received data. In an alternative embodiment, the central optimization program 112 can determine one or more optimized locations for a physical area covered by an end node (i.e., a cell tower) of the network 140. In yet another alternative embodiment, the central optimization program 112 can determine one or more optimized locations for a physical area. In one embodiment, the physical area can be covered by one or more end nodes (i.e., one or more cell towers) of the network 140.In one embodiment, if a larger set of units provides the central optimization program 112 with data indicating whether a location is good or bad for data transfer through the network 140, the confidence level regarding the accuracy of that physical location for data transfer will increase. In one embodiment, the determined optimized locations are listed by area.
[0029] The central optimization program 112 determines whether a threshold has been reached (decision step 206). In one embodiment, the threshold can be a time threshold. In other words, a time threshold has been met. In an alternative embodiment, the threshold can be a number of data points. In other words, a threshold amount of new data has been added. In yet another alternative embodiment, the threshold can be a number of changes to the specific optimized locations. In other words, a threshold amount of specific optimized locations has changed relative to the previous location of the specific optimized locations. For example, a specific optimized location A has moved by a threshold amount (i.e., 500 feet).In one embodiment, if the central optimization program 112 determines that a threshold has not been reached (decision step 206, "no" branch), processing continues with step 202. In another embodiment, if the central optimization program 112 determines that a threshold has not been reached (decision step 206, "yes" branch), processing continues with step 208.
[0030] The central optimization program 112 transmits optimized locations (step 210). In one embodiment, the central optimization program 112 can transmit the optimized locations in response to a request from the data processing unit 120. In another embodiment, the central optimization program 112 can transmit the optimized locations to all data processing units that consent to receiving optimized locations from the central optimization program 112. In yet another embodiment, the central optimization program 112 can transmit the optimized locations in response to a request from the local optimization program 122, as discussed below, and a threshold need not necessarily have been reached.
[0031] In one embodiment, the central optimization program 112 can transmit all optimized locations determined by the central optimization program 112. In another embodiment, the central optimization program 112 can transmit the optimized locations for the at least one end node (i.e., cell tower) of the network 140 to which the data processing unit 120 was connected. In another embodiment, the central optimization program 112 can transmit the optimized locations within a threshold distance from the location of the data processing unit 120.
[0032] Fig. Figure 3, according to at least one embodiment of the invention, is a flowchart diagram of a workflow 300, which represents operational steps for the local optimization program 122 for applying an optimized location. In an alternative embodiment, the steps of the workflow 300 can be performed by any other program (not shown) while the local optimization program 122 is running. It should be understood that embodiments of the present invention provide at least one application of an optimized location. Fig. Figure 3, however, merely provides an illustration of one implementation and does not imply any limitations regarding the environments in which different embodiments can be implemented. Many modifications can be made by a person skilled in the art to the illustrated environment without deviating from the scope of the invention as defined in the claims. In a preferred embodiment, a user can access workflow 300 via a user interface (not shown) when a user wishes to determine an optimized location.
[0033] The local optimization program 122 receives a specification step (step 302). In a first embodiment, a user, via a user interface (not shown) on the data processing unit 120, specifies to the local optimization program 122 to determine an optimized location for a data transfer (i.e., text message, voice call, video call, etc.). In an alternative embodiment, the local optimization program 122 receives a specification from another program (not shown) indicating that the signal strength is below a threshold. In other words, there is a poor signal. In one embodiment, this specification can be given before, during, or after the data transfer event.
[0034] The local optimization program 122 determines the optimized location (step 304). In one embodiment, the local optimization program 122 can determine the optimized location by querying the central optimization program 112 and receive the determined optimized location via step 208. In another embodiment, the local optimization program 122 can have previously received the determined optimized locations from the central optimization program 112 and stored the determined optimized locations in the information repository 124.
[0035] In one embodiment, the local optimization program 122 can receive all optimized locations from the central optimization program 112 and can have the specific optimized locations stored in the information repository 124, as described above. In this embodiment, the local optimization program 122 can determine a specific optimized location based on the carrier used by the data processing unit 120 and / or based on the physical location of the data processing unit 120 (i.e., which optimized location is closest to the physical location of the data processing unit 120).
[0036] The local optimization program 122 communicates the optimized location (step 306). In step 306, the local optimization program 122 communicates the optimized location to the user and / or an IdD unit 130-n. In one embodiment, the local optimization program 122 can communicate the coordinates of the specific optimized location to the user via the user interface. In other words, a visual and / or audible representation of the coordinates can be sent to the user via the user interface and / or the data processing unit 120. In another embodiment, the local optimization program 122 can communicate the coordinates of the specific optimized location to another program (not shown). For example, the local optimization program 122 can communicate the coordinates to a mapping program on the data processing unit 120 to provide directions for the specific optimized location.In one embodiment, the local optimization program 122 can determine an IdD unit 130-n that is closest to the specified optimized location, and the IdD unit 130-n can provide an indication of the specified optimized location, including, but not limited to, an acoustic indication, a visual indication, a holographic indication, etc. In one embodiment, the indication can include the tag of the wireless network service provider to indicate to users that this location may be optimal for them when they are on that provider's wireless network.
[0037] The local optimization program 122 provides data (step 308). In step 308, the local optimization program 122 provides data to the central optimization program 112. In one embodiment, step 308 is the provisioning step of data received in step 202. In other words, the provided data includes, but is not limited to, signal strength, season, weather conditions, type of location, azimuth angle, determination of network congestion at a given time for the location, effectiveness of completed calls at a given time for the location, and success rate at a given time. In one embodiment, the local optimization program 122 can receive a statement from a user via the user interface on the data processing unit 120 indicating that a certain location where a data transfer was performed was either good or bad for the data transfer.In one embodiment, this can be a binary decision (i.e., 1 = good, 2 = bad) or a scaled decision (i.e., 1 to 10, where 1 is best and 10 is worst). In one embodiment, the local optimization program 122 can perform natural language processing on the speech and / or written data transfer to determine whether the user indicates that the data transfer was positive or negative, similar to the user-initiated feedback just discussed. In one embodiment, the natural language processing would be based on an consent system that would only occur if a user consents to the service.
[0038] Fig. 4 is, according to at least one embodiment of the invention, a block diagram representing components of a computer 400, which is suitable for the central optimization program 112 and the local optimization program 122. Fig. Figure 4 shows the computer 400, one or more processor(s) 404 (including one or more computer processor(s)), a data transmission structure 402, a memory 406, including a RAM 416 and a cache 418, a permanent memory 408, a data transmission unit 412, I / O interfaces 414, a display 422, and external units 420. It should be understood that Fig. 4 merely provides an illustration of a single embodiment and implies no limitations regarding the environments in which the different embodiments can be implemented. Many modifications can be made to the depicted environment.
[0039] As shown, the computer 400 operates via the data transmission structure 402, which provides data transmission between the computer processor(s) 404, the memory 406, the permanent memory 408, the data transmission unit 412, and the input / output (I / O) interface(s) 414. The data transmission structure 402 can be implemented with an architecture suitable for forwarding data or control information between the processors 404 (e.g., microprocessors, data transmission processors, and network processors), the memory 406, the external units 420, and any other hardware components within a system. For example, the data transmission structure 402 can be implemented with one or more buses.
[0040] Memory 406 and permanent memory 408 are computer-readable storage media. In the illustrated embodiment, memory 406 comprises random-access memory (RAM) and a cache 418. In general, memory 406 can comprise one or more suitable volatile or non-volatile computer-readable storage media.
[0041] Program instructions for the central optimization program 112 and the local optimization program 122 can be stored in the permanent memory 408 or, more generally, in any computer-readable storage medium for execution by one or more of the respective computer processors 404 via one or more memories of the memory 406. The permanent memory 408 can be a magnetic disk drive, a solid-state disk drive, a semiconductor storage device, a read-only memory (ROM), an electronically erasable programmable read-only memory (EEPROM), flash memory, or any other computer-readable storage medium capable of storing a program instruction or digital information.
[0042] The media used by permanent 408 memory can also be removable media. For example, a removable hard disk drive can be used for permanent 408 memory. Other examples include optical and magnetic disks, USB sticks, and smart cards, which are inserted into a drive for transfer to another computer-readable storage medium that is also part of permanent 408 memory.
[0043] In these examples, the data transmission unit 412 provides data transmission to other data processing systems or units. In these examples, the data transmission unit 412 may include one or more network interface cards. The data transmission unit 412 may provide data transmission by using either physical or wireless data transmission links, or both. In the context of some embodiments of the present invention, the source of the manifold input data may be physically located away from the computer 400, so that the input data can be received and the output can be transmitted similarly via the data transmission unit 412.
[0044] The I / O interface(s) 414 allows the input and output of data with other units that can operate in conjunction with the computer 400. For example, the I / O interface 414 can provide a connection to the external units 420, which may be a keyboard, keypad, touchscreen, or other suitable input devices. The external units 420 may also include portable computer-readable storage media, such as USB flash drives, portable optical or magnetic disks, and memory cards. Software and data used to perform embodiments of the present invention can be stored on such portable computer-readable storage media and loaded onto the permanent memory 508 via the I / O interface(s) 414. The I / O interface(s) 414 may similarly be connected to a display 422.Display 422 provides a mechanism to display data to a user and can, for example, be a computer monitor.
[0045] The present invention may be a system, a method, and / or a computer program product. The computer program product may comprise a computer-readable storage medium (or media) containing computer-readable program instructions to induce a processor to execute aspects of the present invention.
[0046] A computer-readable storage medium can be a physical unit capable of retaining and storing instructions for use by a system to execute instructions. For example, a computer-readable storage medium can be an electronic storage unit, a magnetic storage unit, an optical storage unit, an electromagnetic storage unit, a semiconductor storage unit, or any suitable combination thereof, without limitation. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a removable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), and erasable programmable read-only memory (EPROM).Flash memory), static random-access memory (SRAM), removable compact storage disk-read-only memory (CD-ROM), a DVD (digital versatile disc), a memory stick, a floppy disk, a mechanically coded unit such as punched cards or raised structures in a groove on which instructions are stored, and any suitable combination thereof. A computer-readable storage medium shall not, in its use herein, be understood as volatile signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses traveling through an optical fiber cable), or electrical signals transmitted by a wire.
[0047] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to individual data processing units or, via a network such as the internet, a local area network, a wide area network, and / or a wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission lines, wireless transmission, routing computers, firewalls, switching units, gateway computers, and / or edge servers. A network adapter card or network interface in each data processing unit receives computer-readable program instructions from the network and forwards them for storage on a computer-readable storage medium within the respective data processing unit.
[0048] Computer-readable program instructions for executing the steps of the present invention can be assembly instructions, ISA (Instruction Set Architecture) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., as well as conventional procedural programming languages such as C or similar languages. The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server.In the latter case, the remotely located computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be established with an external computer (for example, via the internet using an internet service provider). In some embodiments, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), can execute the computer-readable program instructions by using state information from the computer-readable program instructions to personalize the electronic circuits to perform aspects of the present invention.
[0049] Aspects of the present invention are described herein with reference to flowcharts and / or block diagrams of processes, devices (systems), and computer program products according to embodiments of the invention. It is pointed out that each block of the flowcharts and / or block diagrams, as well as combinations of blocks in the flowcharts and / or block diagrams, can be executed by means of computer-readable program instructions.
[0050] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a specialized computer, or another programmable data processing device to create a machine, such that the instructions executed via the processor of the computer or other programmable data processing device generate a means of implementing the functions / steps specified in the block(s) of the flowcharts and / or block diagrams or charts.These computer-readable program instructions may also be stored on a readable storage medium capable of controlling a computer, programmable data processing device, and / or other units to function in a particular manner, such that the computer-readable storage medium on which instructions are stored has a manufactured product, including instructions that implement aspects of the function / step specified in the block(s) of the flowchart and / or block diagrams or charts.
[0051] The computer-readable program instructions can also be loaded onto a computer, other programmable data processing device, or other unit to cause the execution of a series of process steps on the computer or other programmable device or other unit in order to generate a process executed on a computer, such that the instructions executed on the computer, other programmable device, or other unit implement the functions / steps specified in the block(s) of the flowcharts and / or block diagrams or charts.
[0052] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, processes, and computer program products according to various embodiments of the present invention. In this context, each block in the flowcharts or block diagrams can represent a module, segment, or part of computer program instructions, which includes one or more executable instructions for performing the specified logical function(s). In some alternative embodiments, the functions specified in the block may occur in a different sequence than shown in the figures.Two blocks shown consecutively may, for example, actually be achieved as one step, executed simultaneously, essentially concurrently, in a partially or fully overlapping manner, or the blocks may sometimes be executed in reverse order, depending on the corresponding functionality. It should also be noted that each block in the block diagrams and / or flowcharts, as well as combinations of blocks in the block diagrams and / or flowcharts, can be implemented by special hardware-based systems that perform the specified functions or steps, or by combinations of special hardware and computer instructions.
[0053] The descriptions of the various embodiments of the present invention are provided for illustrative purposes only and are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations are apparent to those skilled in the art without deviating from the scope of the described embodiments. The terminology used herein has been chosen to best explain the basic concepts of the embodiments, their practical application, or technical improvements over technologies available on the market, or to enable other skilled persons to understand the embodiments disclosed herein.
Claims
[1] Computer-implemented method for wireless data transmission, wherein the computer-implemented method comprises: Receiving (302) by one or more computer processors, a specification, wherein the specification is for wireless data transmission performed by a data processing unit (120); in response to receiving the instruction, determining (304) by the one or more computer processors an optimized location for carrying out wireless data transmission based on a location of the data processing unit and a list of optimized locations; and Communicating (306), by one or more computer processors, of the optimized location to the data processing unit which performs the wireless data transmission, wherein the communication of the optimized location by one or more computer processors to the data processing unit, which performs the wireless data transmission, features: Communicate, by one or more computer processors, a location of the optimized location based on a location of wireless data transmission to an Internet of Things unit (130-1, 130-2, 130-n) that is closest to the optimized location, wherein the indication includes that the Internet of Things unit will provide a notification, and wherein the notification is selected from a list consisting of acoustic, visual, and holographic. [2] Computer-implemented method according to claim 1, wherein the communication of the optimized location to the data processing unit which performs the wireless data transmission is carried out by one or more computer processors: Communicate, through one or more computer processors, a physical coordinate of the optimized location based on a location of wireless data transmission to a unit that performs the wireless data transmission. [3] Computer-implemented method according to claim 1, wherein the list of optimized locations is created, comprising: Received (202) by one or more computer processors, a plurality of data; Determine (204), by one or more computer processors, the list of optimized locations for a plurality of locations based on the plurality of data. [4] Computer-implemented method according to claim 3, wherein the majority of data are selected from the group consisting of signal strength of the data processing unit, season at the location of the data processing unit, weather conditions at the location of the data processing unit, type of location of the data processing unit, azimuth angle at the location of the data processing unit, certain network congestion at a given time for the location, effectiveness of a completed call at a given time for the location and success rate at a given time. [5] Computer-implemented method according to claim 3, wherein the data is received from an Internet of Things device. [6] Computer-implemented method according to claim 3, further comprising: Determine (206), by one or more computer processors, whether a threshold event has occurred; in response to a determination that the threshold event has not occurred, receiving, by one or more computer processors, updated data; and Updating, by one or more computer processors, the list of optimized locations using the received updating data. [7] Computer program product for wireless data transmission, wherein the computer program product comprises: one or more computer-readable storage media; and Program instructions stored on one or more computer-readable storage media, wherein the program instructions include: Program instructions for receiving a specification, wherein the specification is for wireless data transmission carried out by a data processing unit (120); in response to receiving the information, program instructions for determining an optimized location for performing wireless data transmission based on the location of the data processing unit and a list of optimized locations; and Program instructions for communicating the optimized location to the data processing unit, which performs the wireless data transmission, wherein the program instructions for communicating the optimized location to the data processing unit that performs the wireless data transmission include program instructions for: Communicating a location of the optimized location based on a wireless data transmission location to an Internet of Things (130-1, 130-2, 130-n) that is closest to the optimized location, wherein the specification includes that the Internet of Things unit will provide a notification, and wherein the notification is selected from a list consisting of acoustic, visual, and holographic. [8] Computer program product according to claim 7, wherein the program instructions for communicating the optimized location to the data processing unit which performs the wireless data transmission comprise program instructions for: Communicating a physical coordinate of the optimized location, based on a wireless data transmission location, to a unit performing the wireless data transmission. [9] Computer program product according to claim 7, wherein the optimized list is created, comprising program instructions for: Receiving multiple data points; Determining the list of optimized locations for a plurality of locations based on the plurality of data. [10] Computer program product according to claim 9, wherein data are selected from the group consisting of signal strength of the data processing unit, season at the location of the data processing unit, weather conditions at the location of the data processing unit, type of location of the data processing unit, azimuth angle at the location of the data processing unit, certain network congestion at a given time for the location, effectiveness of a completed call at a given time for the location and success rate at a given time. [11] Computer program product according to claim 9, wherein the data is received from an Internet of Things unit. [12] Computer program product according to claim 9, further comprising one or more of the following program instructions, which are stored on one or more computer-readable storage media, for: Determine whether a threshold event has occurred; in response to a determination that the threshold event has not occurred, receiving updated data; and Updating the list of optimized locations using the received updating data. [13] Computer system for wireless data transmission, wherein the computer system comprises: one or more computer processors; one or more computer-readable storage media; and Program instructions stored on one or more computer-readable storage media for execution by at least one of the one or more computer processors, wherein the program instructions comprise: Program instructions for receiving a specification, wherein the specification is for wireless data transmission carried out by a data processing unit (120); in response to receiving the information, program instructions for determining an optimized location for performing wireless data transmission based on the location of the data processing unit and a list of optimized locations; and Program instructions for communicating the optimized location to the data processing unit, which performs the wireless data transmission, wherein the program instructions for communicating the optimized location to the data processing unit that performs the wireless data transmission include program instructions for: Communicating a location of the optimized location based on a wireless data transmission location to an Internet of Things (130-1, 130-2, 130-n) that is closest to the optimized location, wherein the specification includes that the Internet of Things unit will provide a notification, and wherein the notification is selected from a list consisting of acoustic, visual, and holographic. [14] Computer system according to claim 13, wherein the program instructions for communicating the optimized location to the data processing unit which performs the wireless data transmission comprise program instructions for: Communicating a physical coordinate of the optimized location, based on a wireless data transmission location, to a unit performing the wireless data transmission. [15] Computer system according to claim 13, wherein the optimized list is created, comprising program instructions for: Receiving multiple data points; Determining the list of optimized locations for a plurality of locations based on the plurality of data. [16] Computer system according to claim 15, wherein data are selected from the group consisting of signal strength of the data processing unit, season at the location of the data processing unit, weather conditions at the location of the data processing unit, type of location of the data processing unit, azimuth angle at the location of the data processing unit, certain network congestion at a given time for the location, effectiveness of a completed call at a given time for the location and success rate at a given time. [17] Computer system according to claim 15, wherein the data is received from an Internet of Things unit.
Citation Information
Patent Citations
On-device mapping of WIFI hotspots via direct connection of WIFI-enabled and GPS-enabled mobile devices
US20070167174A1