Context-aware smart IP addresses
Through the situational awareness engine and dynamic situational awareness IP address, the problem of inaccurate location services in wireless communication networks on high-speed mobile devices is solved, and more efficient data transmission and user experience improvement is achieved.
Patent Information
- Application Number
- CN201980036436.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-06-04
- Filing Date
- 2019-06-04
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2039-06-04
AI Technical Summary
In high-speed mobile terminal equipment, especially aircraft, existing wireless communication networks are difficult to accurately provide location-related services, resulting in delays in data transmission and inaccurate services, affecting user experience.
The situational awareness engine is adopted to realize the IP address through dynamic situational awareness, and the content server is updated to provide responses based on the user's actual location, ensuring the accuracy and real-timeness of the service.
It improves the service accuracy and user experience of wireless communication networks, reduces data transmission delays, provides customized content and advertising for fast mobile devices such as aircraft, and enhances the reliability of network services.
Smart Images

Figure CN112205011B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Application No. 62 / 680,152, filed on June 4, 2018, the entire contents of which are incorporated herein by reference in their entirety. Technical Field
[0003] Example embodiments relate generally to wireless communications and, more particularly, to the use of actual location information or other relevant contextual information in connection with providing content to users of a wireless communications network, rather than simply assuming the users' point of connection as their respective locations. Background Art
[0004] High-speed data communications and the devices that support them have become ubiquitous in modern society. These devices enable many users to maintain a nearly continuous connection to the Internet and other communications networks. While these high-speed data connections can be obtained through phone lines, cable modems, or other devices with a physical wired connection, wireless connectivity has revolutionized our ability to stay connected without sacrificing mobility. But while it is customary for people to remain constantly connected to the web, those who connect on mobile platforms, especially fast ones, may notice something odd.
[0005] For example, in a terrestrial 3GPP standard network, when a terminal connects to the network, the terminal will select a serving cell for its location based on the best available base station. A specific serving gateway (SGW) is usually assigned based on the network topology. The SGW is connected to a packet data network gateway (PGW), and the terminal becomes "home" and "anchored" to the assigned PGW. As long as the terminal remains connected to the network, all user data sent from or to the terminal will be transmitted through the assigned PGW. The terminal's Internet Protocol (IP) address is associated with the PGW until the terminal is detached from the network.
[0006] As the terminal travels on the network, it can usually switch between different cells based on signal strength. When the terminal moves out of the current SGW service area, cell site switching can also trigger switching to a different SGW. However, the PGW to which the terminal "belongs" and "anchors" does not change. As a result, end-user data from the terminal to the Internet always leaves the network through the "belonging" PGW, and data sent to the end user always knows how to "find" the terminal through the association of the terminal with the PGW. This is good for typical terrestrial network users who usually stay in a relatively small geographic area. However, when the terminal travels over a large geographical distance, the data between the terminal and the assigned PGW will be transmitted back and forth over a long distance, which will cause round-trip delays, thereby potentially negatively affecting the user experience. At the same time, if the terminal attempts to change its "belonging" PGW and obtain a new IP address during this process, all connections established based on the source IP address and the target IP address between the terminal and its service provider will be disconnected. In addition, various services related to the user's location provided via the network (e.g., search, browser-based targeted advertising, mobile applications, etc.) become inaccurate or unusable at all.
[0007] The above problems are exacerbated for any user who travels over large geographic distances, such as a user on an aircraft. Companies engaged in providing network services typically consider the market for such users to be a small percentage of the total market for network services, and therefore make little effort to address the problem. However, if a solution can be provided, the network service company may have a strong incentive to simply use an existing solution rather than expend its own resources trying to develop a solution. Therefore, it may be desirable to provide context-aware smart IP addresses that can address the above problems. Summary of the invention
[0008] In one example embodiment, a system is provided. The system may include a plurality of communication assets; a network configured to provide a connection point for each communication asset to communicate with one or more content servers to provide requests to the content servers and receive responses from the content servers; and a context awareness engine operably coupled to the network. The context awareness engine may be configured to provide a context update to a particular content server in response to a context update request from the particular content server, the context update request being generated in response to receiving a source IP address indicating that the corresponding asset has a dynamic context, the dynamic context indicating that the location of the corresponding asset is not a location associated with the network connection point.
[0009] In another example embodiment, a context-aware engine is provided. The context-aware engine may include processing circuitry configured to, for an initiator of a content request from a source Internet Protocol (IP) address associated with a dynamic context, receive a context update request from a content provider, determine updated context information for the initiator based on the source IP address, and provide the updated context information to the content provider to enable the content provider to provide a response to the content request, including the requested content or additional content based on the updated context information.
[0010] In another example embodiment, a content server is provided. The content server may be configured to provide a response to a request received via a network configured to provide a connection point for a plurality of communication assets providing the request. The content server may include processing circuitry configured to receive a request from an asset having a source Internet Protocol (IP) address, determine that the source IP address is associated with an asset having a dynamic context, wherein the dynamic context indicates that a location of the asset is not a location associated with a connection point of the asset to the network, provide a query to receive a context update of the asset from a context awareness engine, and in response to receiving the context update, generate a response to the request based on the context update. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The invention having thus been generally described, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and in which:
[0012] Figure 1 An aircraft is shown moving through the coverage areas of different access points over time in accordance with an example embodiment;
[0013] Figure 2 A block diagram of a system for generating a response to a request to a content server is shown according to an example embodiment;
[0014] Figure 3 A block diagram illustrating communications not involving updates to dynamic context information according to an example embodiment;
[0015] Figure 4 A block diagram illustrating communications involving updating dynamic context information according to an example embodiment is shown;
[0016] Figure 5 shows a block diagram of a context awareness engine according to an example embodiment;
[0017] Figure 6 A method of providing intelligent or context-aware IP addresses according to an example embodiment is shown; and
[0018] Figure 7 A method for employing intelligent or context-aware IP addresses according to an example embodiment is shown. DETAILED DESCRIPTION
[0019] Some example embodiments will now be described more fully below with reference to the accompanying drawings, in which some but not all example embodiments are shown. In fact, the examples described and depicted herein should not be construed as limiting the scope, applicability or configuration of the present disclosure. On the contrary, these example embodiments are provided so that the present disclosure will meet applicable legal requirements. Throughout the text, the same reference numerals represent the same elements. In addition, as used herein, the term "or" will be interpreted as a logical operator, as long as one or more of its operands are true, true is obtained. As used herein, according to example embodiments, the terms "data", "content", "information" and similar terms can be used interchangeably to refer to data that can be sent, received and / or stored. Therefore, the use of any such terms should not be used as a limitation on the spirit and scope of the example embodiments.
[0020] As used herein, the terms "component", "module", "system", "device", etc. are intended to include computer-related entities such as, but not limited to, hardware, firmware, a combination of hardware and software, or software executed on certain hardware. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. For example, an application running on a computing device and / or a computing device can be a component. One or more components can reside in an executing process and / or thread, and a component can be located on one computer and / or distributed between two or more computers. In addition, these components can be executed from various computer-readable media having various data structures stored thereon. Components can communicate, for example, through local and / or remote processes based on signals having one or more data packets, for example, data from a component interacts with another component in a local system, a distributed system, and / or is connected to other systems through signals across a network (such as the Internet).
[0021] According to one or more aspects of the subject matter described below, in combination with performing inference and / or probability determination and / or statistically based determination, an artificial intelligence-based system (e.g., an explicit and / or implicitly trained classifier) can be used. As used herein, the term "inference" generally refers to the process of reasoning or inferring the state of a system, environment, and / or user based on a set of observations captured via events and / or data. For example, inference can be used to identify a specific situation or action, or a probability distribution can be generated on a state. Inference may be probabilistic, that is, based on considerations of data and events, the probability distribution of the state of interest is calculated. Inference can also refer to a technique for generating higher-level events based on a set of events and / or data. Regardless of whether the events are closely related in time, and whether the events and data come from one or more events and data sources, this inference will construct new events or actions from a set of observed events or stored event data. For example, various classification schemes and / or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines, etc.) can be used in combination with performing automatic and / or subject-related inference actions.
[0022] Thus, for example, some embodiments may provide a network device or system in which components are provided to use internal or externally derived location information associated with mobile communication nodes within the network (e.g., aircraft or communication devices thereon) to make inferences and / or probabilistic determinations of when and where such nodes will be most advantageously served by various base stations of the network. Thus, control signals and functions for controlling base stations and / or instructing communication nodes may be generated to facilitate efficient operation of the network. Thus, load balancing, antenna beam steering, interference mitigation, network security, and / or denial of service functions may be enhanced through the operation of some embodiments.
[0023] The coverage that is possible with airborne networks is likely to be far greater than that possible with ground-based networks. Additionally, mobile devices flying through the air are moving at much higher speeds and over much longer distances than typical ground-based wireless clients. Based on this rapid movement, the potentially vast geographic displacement, and the fact that typical network services have no trouble knowing the user's actual location, a large number of services provided to these (and potentially other) users become distorted relative to their actual location. For example, regardless of the user's actual location or destination, network services provided to a user will be associated with a point of attachment assigned to the user's IP address. This means that a user who is currently on a flight from New York to Los Angeles may receive network services or advertisements that are targeted to a location that is completely unrelated to the user, simply because the IP address of the user's point of attachment is in an unrelated location.
[0024] U.S. Patent No. 9,325,793, issued April 25, 2016 (the contents of which are incorporated herein in their entirety), recognizes the unique travel environment that users may share on an aviation platform and that there may be interesting opportunities to provide content to users based on location information associated with an aircraft. Thus, U.S. Patent No. 9,325,793 generally describes the use of aircraft location information (and / or other information related to the aircraft and / or information related to the user) as a request originating from a user on an aircraft being served in a wireless communication network (e.g., an air-to-ground (ATG) network) capable of communicating with air assets in the form of smart aviation dynamic cookies. The use of these smart aviation dynamic cookies is similar in some respects to the functionality of conventional cookies, but the "intelligence" or "smart" content utilizing smart aviation dynamic cookies can be implemented in a unique application and context involving the use of these cookies in an in-flight network. Example embodiments attempt to further enhance the ability to use dynamic information about a user's location (or destination) by creating a context-aware and / or "smart" IP address that allows any network service to use or learn the user's location before providing a response to the user.
[0025] Figure 1 An example layout of a wireless network 100 is shown that includes multiple cells 102 for providing wireless communication services. The cells 102 can be implemented by one or more access points 104 to facilitate supporting wireless communications within the geographic coverage area of a given cell 102. Thus, one or more access points 104 can communicate with one or more wireless communication devices (not shown) present within the corresponding cell 102. The access points 104 can be assets of one or more existing wireless networks and / or operators supporting these networks. Each access point 104 has a wired (or wireless) backhaul connection to one or more existing wireless networks to allow wireless communication devices connected to the access point 104 to access it. In addition, the access points 104 can be provided via cellular towers or other tower structures (as in the depicted example), rooftops or other structures with wireless communication infrastructure (e.g., building facades, church steeples, billboards, etc.), mobile vehicles, and ships. In addition, in existing wireless networks, it should be understood that although Figure 1 While illustrating that substantially adjacent cells are deployed to provide continuous coverage over a relatively large area, some cells 102 may overlap or completely surround each other, and / or there may be coverage gaps between some cells 102, etc.
[0026] It should be understood that although Figure 1 While the cells 102 are shown as having a particular shape (i.e., a hexagonal shape), the cells of the example network may have any shape depending on terrain and / or building constraints. Figure 1The access points 104 are shown as being substantially located at the center of the cell 102, and approximately 360 degrees of coverage is provided around each respective access point 104, although this configuration is not required in all examples. Rather, the access points 104 may be at the cell edge or at any other location within the cell 102, and the cell 102 may take any suitable shape dictated by the radiation pattern and sector coverage of the antennas and antenna arrays disposed at each respective access point 104. It should also be understood that although the cells 102 are generally depicted as ending their respective coverage areas where the respective coverage areas of adjacent cells begin, there will typically be a certain amount of overlap in the coverage areas of adjacent cells 102.
[0027] In an example embodiment in which the wireless network 100 is an air-to-ground (ATG) network, the access points 104 may be enabled to establish wireless communication links with aircraft 110 or mobile communication nodes disposed thereon. It may be expected that the aircraft 110 moves through the network 100 in such a manner that handoffs between the various access points 104 are required in order to maintain continuous and uninterrupted communications between the aircraft 110 and the mobile communication nodes on network equipment having backhaul connections coupled to the access points 104. The aircraft 110 may be a commercial or business aircraft or other aircraft, or the aircraft 110 may be a drone, satellite, balloon, or other aerial asset capable of communicating with ground-based communication devices forming the network. Assuming that the cells 102 in the ATG network define a three-dimensional (3D) coverage area extending to a predetermined altitude, it should also be understood that the boundaries or edges between the cells 102 may vary based on altitude. Thus, Figure 1 The boundaries between cells 102 in the network 100 may be applied to a particular altitude. However, at other altitudes, the boundaries may be different (or the same). Thus, unlike typical terrestrial networks, where changes in latitude and longitude coordinates are typically the driving determiner of which cell 102 a mobile communication node of the network selects for communication purposes, switching between cells may be necessary or desirable based solely on changes in altitude of the latitude and longitude coordinates of a given location.
[0028] like Figure 1 As shown, the aircraft 110 may follow a route 120 that causes the aircraft 110 to pass through certain cells 102. When the aircraft 110 passes through a corresponding one of the cells 102 along the route 120, one or more mobile communication nodes of the aircraft 110 may communicate with a corresponding access point 104 of the cell 102 along the route 120. However, the one or more communication nodes of the aircraft 110 may not encounter or ever communicate with a plurality of cells 102. In particular, the aircraft 110 may not communicate with cells 102 that are far from the route 120.
[0029] At the same time, there may also be certain areas along route 120 where, at a particular point in time, aircraft 110 may be located in the area or in the next two or more cells 102. For example, in overlap region 130, route 120 carries aircraft 110 near the intersection of three different cells (e.g., first cell 140, second cell 142, and third cell 144). Route 120 initially places aircraft 110 completely within first cell 140. However, route 120 then carries aircraft 110 near second cell 142. In this example, aircraft 110 may actually spend a short time near the edges of first cell 140, second cell 142, and third cell 144 simultaneously. Route 120 may then provide for aircraft 110 to travel along the edge between second cell 142 and third cell 144 for a relatively long time.
[0030] In some networks, mobile communication nodes on aircraft 110 may be configured to request handoffs based on signal strength changes, etc., in an attempt to maintain continuous and uninterrupted coverage. Alternatively, access points 104 may communicate with each other and / or with mobile communication nodes to handle handoff decisions based on signal strength or other criteria.
[0031] In the in-flight communication system, end-user devices (e.g., wired and wireless routers, mobile phones, laptops, in-flight entertainment systems, etc.) can be installed or otherwise provided to the aircraft 110. The user equipment (UE) on the aircraft 110 itself and any receiving and / or routing devices can form mobile communication nodes of the wireless network 100. Therefore, air communication should be understood as involving communication from a ground network (i.e., referring to land-based or sea-based, also referred to as ground) access point to any air asset (e.g., aircraft, drone, balloon, satellite, etc.). However, the example embodiments are applicable to other wireless communication networks that can communicate with air assets in addition to the ATG network. In this way, the ATG network application described herein should be understood as only an example of such a network. Networks that use satellites, other aircraft, drones, etc. to serve other air assets or communicate with other air assets can also adopt the example embodiments described herein. In an example embodiment, the use of location information associated with these mobile communication nodes (if necessary, together with user information) can be incorporated into the communication via the wireless network 100 to change, strengthen or enhance the communication performed via the wireless network 100. In this regard, for example, data, communications, or messages departing from aircraft 110 may be provided with an indication that the IP address of the originator of the communication / message has an associated dynamic context (and may not be located at the location of aircraft 110 associated with the network connection point). Accordingly, the recipient of the communication / message may request the dynamic context information associated with the originator in order to provide a response that is customized to the context (e.g., actual physical or geographic location or destination) of the originator of the message, rather than using only assumed (and often incorrect) location information associated with the user's point of connection. Thus, content that is customized to the user or based on the user's location, destination, and / or point of origin may be provided to a UE or other device on aircraft 110.
[0032] Figure 2 A functional block diagram of some components and / or devices of a system that can facilitate communications with an airborne asset capable of using an exemplary embodiment in a wireless communication network is shown. Figure 2 As shown, the first access point 200 and the second access point 202 can both be base stations of an example embodiment of the wireless network 100 (e.g., an example of the access point 104), which in this case can be an ATG network 210. The ATG network 210 can also further include other access points (APs), and each AP can communicate with the ATG network 210 through a gateway (GTW) device 220. The ATG network 210 can further communicate with a wide area network such as the Internet 230, a virtual private network (VPN), or other communication network. In some embodiments, the ATG network 210 may include or otherwise be coupled to a packet switching core or other telecommunications network. Figure 2 As shown, the aircraft 110 may be an aircraft 110a, a satellite 110b, a drone 110c, or any other aerial asset (eg, a balloon).
[0033] In an example embodiment, the ATG network 210 may include a context awareness engine 240, which may include processing circuitry configured, for example, to process location information and / or other information related to flight characteristics of an aircraft for communications provided in the ATG network 210 to affect the provision of content to assets on or elsewhere on the aircraft 110. Thus, for example, the context awareness engine 240 may be configured to process the provision of an indication of the availability of location information for an originator of a message originating from the aircraft 110 for any message or communication for which a response is desired, as described in greater detail below.
[0034] The context awareness engine 240 may be indirectly coupled to a data network, such as a local area network (LAN), a metropolitan area network (MAN), and / or a wide area network (WAN) (e.g., the Internet 230) via the ATG network 210. In turn, devices such as processing elements (e.g., personal computers, laptops, smart phones, server computers, etc., such as UE 270 and OCE 272) may be coupled to the ATG network 210 via a radio 250 on the aircraft 110. The ATG network 210 may then also couple these devices to the Internet 230 and / or to content servers associated with various network services or other entities. However, by employing the example embodiments, and in conjunction with certain aircraft information or other contextual information of an asset or platform accessing the ATG network 210 (or another network) described herein, the response provided to the processing element may be customized based on the aircraft information or other contextual information specific to the asset or platform as described herein.
[0035] Although not every element of every possible embodiment of the ATG network 210 is shown and described herein, it should be understood that a mobile communication node of or on the aircraft 110 may be coupled to one or more of a plurality of different public or private networks via the ATG network 210. Thus, the network may be capable of supporting communications in accordance with any one or more of first generation (1G), second generation (2G), third generation (3G), fourth generation (4G), and / or future mobile communication protocols, etc. In some cases, the supported communications may employ communication links defined using unlicensed frequency bands or licensed frequency bands such as 2.4 GHz or 5.8 GHz.
[0036] like Figure 2As shown, the aircraft 110 is able to access content from the Internet 230 via the ATG network 210 and / or provide information or requests to the Internet 230. More specifically, the aircraft 110 may include a radio 250 configured to communicate with the APs (e.g., the first AP 200 and the second AP 202) of the ATG network 210. Thus, data, requests, messages, etc. from mobile communication devices of or on the aircraft 110 may be communicatively coupled to a content server 260 accessible via the Internet 230. The mobile communication devices of or on the aircraft 110 may include UEs 270 of passengers and / or crew members and other onboard communication equipment (OCEs) 272 of the aircraft 110. In some cases, some kind of router (e.g., a wireless access point (WAP) 274) may be provided on the aircraft 110 to distribute communications received from the ATG network 210 to the UEs 270 and / or OCEs 272. In an example embodiment, communication between the Internet 230 and the UE 270 or OCE 272 may occur substantially in real time. Thus, for example, in some cases, there may be no onboard storage of any content received by the radio 250 prior to distributing the content to the UE 270 or OCE 272.
[0037] Content server 260 may be any server associated with a website, online service, etc. Thus, Figure 3 As shown, information flows for typical requests originating from aircraft 110 (eg, from UE 270 or OCE 272 ) may be processed.
[0038] Reference now Figure 3, the request may originate from the aircraft 110 (or a device thereon) and be provided to the ATG network 210 via the ATG downlink 300. The request may be any typical IP request associated with a network service provided by the content server 260. Thus, the request may include a target IP address of a network service associated with the content server 260. However, the request also includes an IP address of the initiator (i.e., the aircraft 110 or a device thereon) or an IP address assigned to the initiator so that the response to the request may potentially be targeted to the requester. The initiator's IP address is typically an IP address assigned in association with the ATG network 210 for the aircraft 110 and any other nodes connected to the ATG network 210, and will be referred to as the initiator's network assigned IP address, or simply the initiator IP address. The initiator IP address is typically associated with the geographic location of one or more physical facilities of the ATG network 210, at which location the initial connection to the ATG network 210 is made. Therefore, the initiator IP address does not typically indicate the actual geographic location of the aircraft 110. Thus, when the ATG network 210 (or certain components provided thereon) routes a request as a routing message to the Internet 230 via link 305 using a target IP address for a web service or page associated with the content server 260, the originator IP address indicates a geographic location associated with the ATG network 210, rather than a geographic location associated with the aircraft 110 or a device thereon.
[0039] The request is then routed to the content server 260 via link 310, which will then provide the request to the content server 260 or route the request to the content server 260 based on the target IP address. The content server 260 will typically determine the geographic location of the initiator of the request based on the initiator IP address and generate a response to the request. The response may include the request content that directly responds to the request. However, the response may also include additional content that does not directly respond to the request. For example, if the request is a search operation, the request content may include the results of running the search, and if the request is for a service for a specific web page, the request content may include the content of the specific web page. In either case, the additional content may be advertising content.
[0040] The response may be provided back to the requestor via link 315, which routes the response from content server 260 to Internet 230. Link 320 may then be used to provide the response to ATG network 210 using the originator IP address. ATG network 210 may then route the response back to the requestor on aircraft 110 via uplink 325.
[0041] One or both of the request content and the additional content that may be included in the response may be generated or modified based on the identification of the location associated with the originator's IP address. Thus, for example, if the request content includes search results for steak houses, the search results themselves may be customized for the location associated with the originator's IP address. At the same time, if the request content includes a web page associated with a particular service or information source, in some cases, the particular service or information source may customize the request content to the location associated with the originator's IP address. Regardless of the request, advertising content or other forms of additional content may be customized to the location associated with the originator's IP address.
[0042] The problem with this situation is obvious. In the very likely event that the requester's location or destination does not match the location associated with the originator's IP address, the requested content and additional content provided based in any way on the location associated with the originator's IP address will result in the requester receiving content associated with the wrong or irrelevant location. To address this problem, Figure 2 The context awareness engine 240 can be employed to provide the content server 260 with the ability to obtain the requester's current location and / or destination, see below. Figure 4 A more detailed description.
[0043] Now refer to Figure 4 As described above, the request may originate from the aircraft 110 (or a device thereon) and be provided to the ATG network 210 via the ATG downlink 300'. Thus, the request may be sent in association with a source IP address assigned to the aircraft 110 by the ATG network 210. Alternatively, the request may also include a target IP address so that the request can be routed to the content server 260 via the link 310' using the target IP address of the web service or page associated with the content server 260. Notably, the request may be routed directly to the content server 260 via the link 310' without intermediate routing through the Internet 230. Data packets may be routed directly to the content server 260 (not through the Internet 230 in transition mode) via peering relationship rules. Peering between the ATG network 210 and any number of content servers or other networks may be implemented in any suitable manner. Typically, networks or devices wishing to establish a peering relationship are each connected to an exchange point, which in some cases may be a public peering through an Internet exchange. Regardless of the mechanism by which peering is accomplished, typical transmission routing through the Internet 230 may be avoided (in the process relinquishing control over various aspects of packet routing).
[0044] By routing the request directly to content server 260 in this manner (i.e., by employing a peer-to-peer relationship between ATG network 210 and content server 260), the source IP address is preserved and does not change to another address associated with the user's point of connection to ATG network 210. Thereafter, content server 260 receives the request and seeks to process the request accordingly. However, unlike the above scenario, content server 260 may note that the source IP address is not a typical initiator IP address indicating a geographic location associated with ATG network 210, but is instead associated with aircraft 110. Noting that the source IP address is associated with a mobile platform (i.e., aircraft 110) having a dynamic context, content server 260 may realize that the source IP address is not a typical IP address because the location of the point of connection (i.e., the physical location of the point of connection to ATG network 210) may not be an accurate indication of the requester's location, but rather the requester may be mobile or moving, and the source IP address may be used to query the requester's current location or destination as an update to the requester's context. Thus, the source IP address may enable content server 260 to contextually be aware of the dynamic nature of the requester's location, so that content server 260 may use contextual awareness to obtain information that enables content server 260 to provide relevant content (either as requested content or in addition to content) in response to the request. Figure 4 The source IP address in the content server 260 enables the content server 260 to contextually perceive the unique context of the requester based on the unique IP address provided. Figure 4 The source IP address in is considered a "smart" IP address.
[0045] In some cases, the source IP address may be one of a list of addresses previously provided to content server 260 (and multiple other content servers) to inform content server 260 that the source IP is associated with a platform with dynamic context (including dynamic location). Alternatively, certain IP addresses (or features of IP addresses) may be reserved for platforms with dynamic context capabilities to inform any content server to follow conventions established with respect to such dynamic context platforms, where the corresponding IP address may be a lookup object for updated context (e.g., airline cookies or other updated context information) with respect to platforms or assets with dynamic context.
[0046] Therefore, the content server 260 can Figure 2 The context awareness engine 240 requests the updated context from the requester. Figure 4As shown, content server 260 (having identified the source IP address as a smart IP address) may provide context update request 330 to be directed to context awareness engine 240 via ATG network 210. Context awareness engine 240 may then provide context update 334 to ATG network 210, which forwards context update 334 to content server 260. Upon receiving context update 334, content server 260 may customize one or both of the requested content and the additional content to the requester's updated context, and may forward the context update 334 to the content server 260 via ATG network 210. Figure 4 The ATG network 210 is shown providing a response 340 to the original request back to the aircraft 110 .
[0047] Figure 5 A possible architecture for implementing the contextual awareness engine 240 according to an example embodiment is shown. The contextual awareness engine 240 may include a processing circuit 410 configured to provide contextual updates 334 as described herein. According to an example embodiment of the present invention, the processing circuit 410 may be configured to perform data processing, control function execution, and / or other processing and management services. In some embodiments, the processing circuit 410 may be embodied as a chip or a chipset. In other words, the processing circuit 410 may include one or more physical packages (e.g., chips) that include materials, components, and / or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, dimensional conservation, and / or electrical interaction limitations for the component circuits included thereon. Therefore, in some cases, the processing circuit 410 may be configured to implement embodiments of the present invention on a single chip or as a single "system on a chip". Thus, in some cases, a chip or chipset may constitute a device for performing one or more operations to provide the functions described herein.
[0048] In an example embodiment, the processing circuit 410 may include one or more instances of a processor 412 and a memory 414, which may communicate with or otherwise control the device interface 420 and, in some cases, the user interface 430. As such, the processing circuit 410 may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., with hardware, software, or a combination of hardware and software) to perform the operations described herein. In some embodiments, the processing circuit 410 may communicate with various components, entities, and / or sensors of the ATG network 210.
[0049] The user interface 430, if implemented, may communicate with the processing circuit 410 to receive indications of user inputs on the user interface 430 and / or to provide an auditory, visual, mechanical, or other output to the user. As such, the user interface 430 may include, for example, a display, one or more joysticks, switches, indicator lights, a touch screen, proximity devices, buttons or keys (e.g., function buttons), and / or other input / output mechanisms. In some embodiments, the crew of the aircraft 110, airline personnel, and / or network personnel may interact with the user interface 430 to provide information that may be used to update or modify a table or other storage medium, including information indicating various travel context details about the aircraft 110. For example, the travel context details may include information such as aircraft tail number, departure time / location, destination, arrival time, airline, fuselage, IP address, network identification information, hardware identification information, and the like.
[0050] Device interface 420 may include one or more interface mechanisms for enabling communication with other devices, such as modules, entities, sensors, and / or other components of aircraft 110 (or other components of ATG network 210). In some cases, device interface 420 may be any device or circuitry embodied in hardware or a combination of hardware and software that is configured to receive data from a module, entity, sensor, and / or other component of aircraft 110 (or ATG network 210) in communication with processing circuit 410, and / or send data to a module, entity, sensor, and / or other component of aircraft 110 (or ATG network 210) in communication with processing circuit 410.
[0051] Processor 412 can be embodied in a variety of different ways. For example, processor 412 can be embodied as various processing devices, such as a microprocessor or other processing element, a coprocessor, a controller, or one or more of various other computing or processing devices including integrated circuits (e.g., ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), etc.). In an example embodiment, processor 412 can be configured to execute instructions stored in memory 414 or otherwise accessible to processor 412. In this way, whether configured by hardware or by a combination of hardware and software, processor 412 can represent an entity capable of performing operations according to an embodiment of the present invention (e.g., physically embodied in a circuit in the form of processing circuit 410), while being configured accordingly. Therefore, for example, when processor 412 is implemented as an ASIC, FPGA, etc., processor 412 can be hardware specifically configured for performing the operations described herein. Alternatively, as another example, when processor 412 is implemented as an executor of software instructions, the instructions can specifically configure processor 412 to perform the operations described herein.
[0052] In one example embodiment, processor 412 (or processing circuit 410) may be implemented to include or otherwise control operations of context awareness engine 240 based on input received by processing circuit 410 in response to receiving dynamic aircraft information. Thus, in some embodiments, processor 412 (or processing circuit 410) may be said to cause each of the operations described with respect to context awareness engine 240 to generate context updates 334 in response to execution of an algorithm that instructs or configures processor 412 (or processing circuit 410) accordingly. In particular, the instructions may include instructions for determining current location information for aircraft 110 and / or a destination location for aircraft 110. Content server 260 may then use context updates 334 to provide content back to aircraft 110 (or entities thereon) based on context updates 334, as described herein.
[0053] In an exemplary embodiment, the memory 314 may include one or more non-volatile storage devices, such as fixed or removable volatile and / or non-volatile memory. The memory 314 may be configured to store information, data, applications, instructions, etc., so that the processing circuit 310 can perform various functions according to exemplary embodiments of the present invention. For example, the memory 314 may be configured to buffer input data for processing by the processor 312. Additionally or alternatively, the memory 314 may be configured to store instructions for execution by the processor 312. As another alternative, the memory 314 may include one or more databases that may store various data sets in response to input sensors and components. In the contents of the memory 314, applications and / or instructions may be stored for execution by the processor 312 to perform functions associated with each corresponding application / instruction. In some cases, an application may include instructions for providing input to control the operation of the contextual awareness engine 240 as described herein.
[0054] In some embodiments, the contextual awareness engine 240 may provide the contextual update 334 to include an airline cookie as described in U.S. Patent No. 9,325,793. Alternatively or additionally, the contextual update 334 may include contextual information indicating the aircraft location, destination, and / or origin. Alternatively or additionally, the contextual update 334 may indicate information about the aircraft 110 sufficient to determine at least the destination or origin (e.g., from a lookup table in the aircraft's flight plan). In some cases, the contextual update 334 may provide identity information about the airline and / or aircraft 110. In some cases, the contextual update 334 may be encoded, may be hash information determined using a hash table as a reference, and / or may include a series of information tags or data bins that are encoded so that a large amount of information is determined from a relatively small amount of transmitted data in the contextual update 334. In some cases, the provision of location, destination, identity, and / or origin information may be provided directly or in the form of a code / hash in the contextual update 334. However, in other cases, context update 334 may include a pointer or other encoded input table, website or other resource to enable content server 260 to reference such resource in order to decrypt context update 334 and provide content accordingly.
[0055] As can be appreciated from the above description, when an aircraft 110 (or specifically when a radio 250 or any UE 270 or OCE 272 thereon) is activated onto the ATG network 210, the context awareness engine 240 may be manually or automatically updated to include a tail number or other identifier associated with the aircraft 110. The identifier of the aircraft 110 may then be stored in association with the fixed context information 450 associated with the aircraft 110 and / or the dynamic context information 460 associated with the aircraft 110 for context updates. For example, the physical hardware address of the WAP 274 or radio 250 may be cross-referenced with the identifier so that the fixed context information 450 and the dynamic context information 460 may be looked up at any time based on the identifier of the aircraft 110. The fixed context information 450 may include the fuselage, tail number, and / or any other context information that does not typically change for any or all of the airlines or operators associated with the aircraft 110. Dynamic contextual information 460 may include takeoff location and / or time, destination location and / or time, current location, or any other contextual information that generally changes for aircraft 110 .
[0056] In an example embodiment, the context awareness engine 240 may receive flight plan information 470 via a user or via the device interface 420. The flight plan information 470 may be used to update the dynamic context information 460 when received. The flight plan information 470 may include information such as a departure location and / or time, a destination location and / or time, route details (e.g., route, speed, altitude, etc.). Thus, the dynamic context information 460 may continuously represent the latest information about the location or destination of the aircraft 110. In some cases, the context awareness engine 240 may be configured to insert some or all of the dynamic context information 460 into an aviation cookie or otherwise provide such information in a context update 334. Thus, whenever an EE 270 or OCE 272 performs an activity that involves or may involve location-dependent content, the content server 260 may determine that the corresponding request received by the content server 260 is from an asset with a dynamic context based on the context of the source IP address being a smart IP address (or corresponding to an aircraft or other high-speed mobile asset). Based on a priori knowledge of the source IP address associated with the platform with dynamic context, based on knowledge of the origin of the request with dynamic context, content server 260 may then perform a lookup or otherwise query for context update 334 as described above. Thereafter, a response to the original request may be generated based on context update 334, which may include an aviation cookie, or otherwise provide location or destination information for aircraft 110.
[0057] Other context details may also be provided and used to customize information for the user. In various embodiments, those context details may be fixed or dynamic context information. For example, fixed context information to which the source IP address belongs, such as an airline, service provider, company, etc., may receive special instructions, quotes, messages, or other content based on those other context details. Other dynamic context information may include arrival time, day of the week, holiday travel, etc. Discount tickets, tours, transportation, and other related services may be provided to the user based on any of these other context details (e.g., as the above-mentioned additional content (advertising content)). Feedback forms, surveys, etc. may also be provided based on context details.
[0058] Example embodiments may be used to allow advertising networks, network services, and the like to know, for example, that a request originated from an aircraft (or other fast-moving platform), and further know to which destination the platform is headed. Thus, advertising targeting (e.g., additional content) may be provided within applications associated with other network services (e.g., requested content), and one or both of the additional content and the requested content may be customized to the location or destination of the platform. As an example, a search for rental cars originating from an aircraft may provide search results targeted to the destination of the aircraft (rather than the aircraft's point of attachment to the network). At the same time, advertisements for additional services such as tour, restaurant, or movie coupons or offers may also be targeted to the destination of the aircraft, rather than the location of the point of connection to the ATG network 210.
[0059] As described above, although one example embodiment described herein relates to a fast-moving platform and / or an ATG network, it should be understood that the example embodiments are further applicable to other entities in other contexts. For example, in any industry, if general traffic masking occurs, resulting in a large number of users apparently being located in a single location that is generally inaccurate (e.g., hotel guests, hospital patients, stadium participants, theme park customers, airport users, employees of various businesses, etc.), the example embodiments can be used to indicate that the user's source IP address is associated with a dynamic context. For example, users of a hotel chain or company whose network has a single connection point to the Internet for all users initiating requests on its network will benefit from the ability to update a single user context by signaling to a content server or provider whose IP address is a "smart" IP address that can be updated by context awareness. Therefore, the content provider can have the ability to use the example embodiment to obtain context updates specific to the location, destination, or other relevant information related to the initiator of a particular request after identifying the IP address from the dynamic context.
[0060] so, Figure 1 and Figure 2 The system can provide an environment in which Figure 2 ,4 and 5, the context awareness engine 240 can provide a mechanism by which many useful methods can be practiced. Figure 6 and Figure 7 Each shows that Figure 1 and Figure 2 systems and Figure 2 ,4 and 5 are block diagrams of a method associated with the context awareness engine 240. From a technical perspective, the context awareness engine 240 can be used to support Figure 6 Content servers MAY support some or all of the operations described in Figure 7 Some or all of the operations. Figure 1 and Figure 2The platform described in can be used to facilitate several interactions based on computer programs and / or network communications. As an example, Figure 6 and 7 Flowcharts of methods and program products according to example embodiments of the present invention, respectively. It should be understood that each block diagram of the flowchart and the combination of the block diagrams in the flowchart can be implemented in various ways, such as hardware, firmware, processors, circuits and / or other devices associated with the execution of software program instructions including one or more computers. For example, one or more of the above processes can be embodied by computer program instructions. In this regard, the computer program instructions embodying the above processes can be stored by a storage device (e.g., a storage device of the context awareness engine 240 or the content server 260) and executed by a processor in the device. It should be understood that any such computer program instructions can be loaded onto a computer or other programmable device (e.g., hardware) to produce a machine, so that the instructions executed on the computer or other programmable device create a device for implementing the functions specified in the flowchart. These computer program instructions can also be stored in a computer-readable memory, which can instruct a computer or other programmable device to act in a specific manner so that the instructions stored in the computer-readable memory produce a product that implements the functions specified in the flowchart. Computer program instructions may also be loaded onto a computer or other programmable device to cause a series of operations to be performed on the computer or other programmable device to produce a computer-implemented process, thereby causing the instruction device executed on the computer or other programmable device to implement the functions specified in the flowchart.
[0061] Therefore, the block diagrams of the flowchart support the combination of devices for performing the specified functions and the combination of operations for performing the specified functions. It will also be understood that one or more blocks of the flowchart and the combination of blocks in the flowchart can be implemented by a computer system based on dedicated hardware that performs specific functions, or a combination of dedicated hardware and computer instructions.
[0062] Therefore, if Figure 6 As shown, a method according to an embodiment of the present invention may include: at operation 500, for an initiator of a content request from a source IP address associated with a dynamic context, receiving a context update request from a content provider; at operation 510, determining updated context information for the initiator based on the source IP address; and at operation 520, providing the updated context information to the content provider so that the content provider can provide a response to the content request, which content request includes the requested content or additional content based on the updated context information.
[0063] In some embodiments, the method may include additional, optional operations, and / or the above operations that may be modified or expanded. It should be appreciated that modifications, optional operations, and expansions may be added separately, or may be added cumulatively in any desired combination. In an example embodiment, the initiator of the content request may be located on an aircraft in flight. In some cases, the updated context information may include the destination of the aircraft in flight. In an example embodiment, the destination of the aircraft may be determined based on flight plan information associated with the aircraft in flight. In some cases, the updated context information may be determined by cross-referencing fixed context information associated with the source IP address with dynamic context information indicating the physical location of the initiator. In an example embodiment, the updated context information may be determined by cross-referencing fixed context information associated with the source IP address with dynamic context information indicating the destination of the initiator through a situational awareness engine.
[0064] In another example method, Figure 7 As shown in the block diagram of , the content server is typically the executor of the method. The content server can be configured to provide a response to a request received via a network, the network being configured to provide a connection point for multiple communication assets that provide the request. The content server can be configured to perform the method, including receiving a request from an asset having a source IP address at operation 600; determining at operation 610 that the source IP address is associated with an asset having a dynamic context, wherein the dynamic context indicates that the location of the asset is not a location associated with the asset's connection point to the network; providing a query to receive a context update of the asset from a context awareness engine at operation 620; and generating a response to the request based on the context update at operation 630 in response to receiving the context update.
[0065] With the benefit of the teachings presented in the foregoing description and the related drawings, those skilled in the art associated with these inventions will think of many modifications and other embodiments of the inventions set forth herein. Therefore, it should be understood that the present invention is not limited to the specific embodiments disclosed, and modifications and other embodiments are intended to be included within the scope of the appended claims. In addition, although the foregoing description and the related drawings describe exemplary embodiments in the context of certain exemplary combinations of elements and / or functions, it should be understood that different combinations of elements and / or functions can be provided by alternative embodiments without departing from the scope of the appended claims. Therefore, for example, as set forth in some of the appended claims above, different combinations of elements and / or functions explicitly described above are also considered. Where advantages, benefits, or solutions to problems are described herein, it should be understood that such advantages, benefits, and / or solutions may be applicable to some example embodiments, but not necessarily to all example embodiments. Therefore, any advantages, benefits, or solutions described herein should not be considered to be essential, necessary, or essential to all embodiments or the embodiments claimed herein. Although specific terms are used herein, they are used only in a general and descriptive sense, not for the purpose of limitation.
Claims
1. A system comprising: multiple communications assets; a network configured to provide a connection point for each of said communications assets to communicate with one or more content servers, to provide requests to said content servers, and to receive responses from said content servers; and a context awareness engine operatively coupled to the network, The context awareness engine is configured to provide context updates to the specific content server in response to a context update request from the specific content server, wherein the context update request is generated in response to receiving a source Internet Protocol (IP) address from a communications asset, wherein the source Internet Protocol (IP) address is one of a plurality of smart IP addresses pre-provisioned to the content server to indicate that each asset associated with one of the smart IP addresses is an asset having a dynamic geographic location that is not a location associated with a point of connection to the network; wherein the communication asset comprises an aircraft in flight, and the network is an air-to-ground (ATG) network; The situation update includes determining a destination of the aircraft in flight.
2. The system according to claim 1, wherein: The context updating is performed based on flight plan information associated with the aircraft in flight.
3. The system according to claim 1, wherein: The network is operatively coupled to the particular content server via a peer-to-peer relationship.
4. The system according to claim 3, wherein: The context update is determined by the context awareness engine by cross-referencing fixed context information associated with the communication asset and dynamic context information associated with the communication asset.
5. The system according to claim 4, wherein: The fixed context information and the dynamic context information are associated with each other in a lookup table.
6. The system according to claim 5, wherein: The lookup table is manually updated based on flight plan information associated with the communications asset.
7. The system according to claim 5, wherein: The lookup table is automatically updated based on flight plan information associated with the communications asset.
8. The system according to claim 4, wherein: The dynamic context information also indicates a current location of the communications asset.
9. The system according to claim 1, wherein: The particular content server is configured to provide a response based on the context update such that the response includes the requested content or additional content specific to a location determined based on the context update other than a location associated with the connection point.
10. A context awareness engine, comprising a processing circuit, the processing circuit being configured to: For an originator of a content request from a source Internet Protocol (IP) address associated with a communication asset having a dynamic context, receiving a context update request from a content provider via an air-to-ground (ATG) network; determining updated context information for the initiator based on the source IP address; and providing the updated context information to the content provider to enable the content provider to provide a response to the content request, including the requested content or additional content based on the updated context information; wherein the source Internet Protocol (IP) address is one of a plurality of smart IP addresses pre-provided to the context awareness engine to indicate that each asset associated with one of the smart IP addresses is an asset having a dynamic geographic location that is not a location associated with a point of connection to the network; Wherein, the initiator of the content request is located on an aircraft in flight; The updated situation information includes a destination of the aircraft in flight.
11. The context awareness engine according to claim 10, wherein: A destination for the aircraft is determined based on flight plan information associated with the aircraft in flight.
12. The context awareness engine according to claim 10, wherein: The updated context information is determined by the context awareness engine by cross-referencing fixed context information associated with the source IP address with dynamic context information indicating a physical location of the originator.
13. The context awareness engine according to claim 10, wherein: The updated context information is determined by the context awareness engine cross-referencing fixed context information associated with the source IP address in a lookup table to determine dynamic context information indicative of a geographic location of a destination of the aircraft in flight.
14. A content server configured to provide a response to a request received via a network, the network configured to provide a connection point to a plurality of communication assets for providing the request, the content server comprising processing circuitry configured to: receiving a request from an asset having a source Internet Protocol (IP) address; determining that the source IP address is one of a plurality of smart IP addresses pre-provisioned to the content server to indicate that each asset associated with one of the smart IP addresses is an asset having a dynamic geographic location that is not a location associated with a point of connection of the communication asset to the network; providing a query to receive a context update for the asset from a context awareness engine based on the source IP address being determined to be one of the plurality of smart IP addresses; and In response to receiving the context update, generating a response to the request based on the context update; wherein the communication asset is an aircraft in flight and the network is an air-to-ground (ATG) network; The situation update includes determining a destination of the aircraft in flight.
15. The content server according to claim 14, wherein: The context update is determined by the context awareness engine cross-referencing fixed context information associated with the source IP address in a lookup table to determine dynamic context information indicating a geographic location of the aircraft in flight or a current location of the aircraft in flight.
