Advertisement management of internet communication with devices on a mobile platform

Disclosed herein is a system comprising: a networking device, a storage, and a proxy server, wherein the proxy server is configured to identify a first group of contents from first data received from a content server, to modify the first data to generate second data by replacing the first group of contents with labels, and to transmit the second data to the networking device; wherein the networking device is configured to read the labels in the second data, to request contents from the storage based on the labels, to replace the labels with the contents received from the storage to generate third data, to transmit the third data to a mobile device.

TECHNICAL FIELD

The disclosure herein relates to apparatuses, methods and systems for managing advertisement, in particular advertisement in Internet communication with mobile devices (e.g., smart phones and tablets) on a mobile platform (e.g., a bus).

BACKGROUND

Before the early 2000's, Internet communication was primarily with stationary devices (e.g., desktop computers). In the last ten years, Internet communication with mobile devices (e.g., smart phones, tablets) increased exponentially. Mobile devices enabled many new applications of the Internet and increased the demand for constant Internet access.

In response to this demand, the transportation industry deployed systems that allow their passengers to access the Internet during transit. One type of these systems connects the passengers to the Internet through cellular networks. These systems may be suitable for mobile platforms (e.g., buses and trains) that typically travel through space with cellular networks coverage. Another type of these systems connects the passengers to the Internet through satellites. These systems may be suitable for mobile platforms (e.g., planes and cruise ships) that typically travel through space without cellular networks coverage. However, both cellular networks and satellites are usually metered transmission channels and the cost of communication often depends on the amount of communication transmitted through these channels.

SUMMARY

Disclosed herein is a system comprising: networking device, a storage, and a proxy server, wherein the proxy server is configured to identify a first group of contents from first data received from a content server, to modify the first data to generate second data by replacing the first group of contents with labels, and to transmit the second data to the networking device; wherein the networking device is configured to read the labels in the second data, to request contents from the storage based on the labels, to replace the labels with the contents received from the storage to generate third data, to transmit the third data to a mobile device.According to an embodiment, the mobile device and the networking device are on a same mobile platform.According to an embodiment, the mobile platform is a bus.According to an embodiment, the mobile device is selected from a group consisting of a smart phone, a tablet, a game console, a mobile hotspots, another networking device, and a fixture on a mobile platform.According to an embodiment, the networking device is selected from a group consisting of gateways, routers, network bridges, modems, wireless access points, switches, hubs, and repeaters, proxy servers, firewalls, network address translators, multiplexers, network interface controllers, wireless network interface controller and a combination thereof.According to an embodiment, the networking device is configured to communicate with the mobile device through a wireless local area network (WLAN).According to an embodiment, the networking device comprises one or more cellular modems, or one or more satellite modems.According to an embodiment, the networking device is configured to communicate with a communication infrastructure.According to an embodiment, the communication infrastructure comprises a cellular network or a satellite.According to an embodiment, the networking device is configured to cause data transmitted to the communication infrastructure to be routed to the proxy server.According to an embodiment, the storage is configured to provide a content stored therein to the networking device at a request of the networking device.According to an embodiment, the proxy server is configured to cause data received from a content server to be routed to the networking device.According to an embodiment, the proxy server is configured to identify the first group of contents based on parameters selected in a group consisting of an address of a content server, a type of the contents, formats of the contents, spatial locations of the contents, temporal locations of the contents, structures of the first data, executable codes related to the contents, and a combination thereof.According to an embodiment, the labels are smaller in size than the first group of contents.According to an embodiment, the labels represent characteristics of the first group of contents, the characteristics selected from a group consisting of subject matters of the first group of contents, spatial locations of the first group of contents, temporal locations of the first group of contents, colors of the first group of contents, spatial sizes of the first group of contents, temporal sizes of the first group of contents, and a combination thereof.Disclosed herein is a server comprising: a content identification unit, a content characteristics determination unit, a label generation unit, and a label insertion unit, wherein the content identification unit is configured to identify a first group of contents in first data received from a content server, separate from a second group of contents from the first data; wherein the content characteristics determination unit is configured to determined one or more characteristics of the first group of contents, based on the first group of contents, the second group of contents, or a combination thereof; wherein the label generation unit is configured to generate labels that represent the characteristics; wherein the label insertion unit is configured to combine the second group of contents and the labels.According to an embodiment, the content identification unit is configured to identify the first group of contents based on a set of rules and parameters of the first data.According to an embodiment, the parameters are selected from a group consisting of an address of the content server, a type of the first group of contents, formats of the first group of contents, spatial locations of the first group of contents, temporal locations of the first group of contents, structures of the first data, executable codes related to the first group of contents, and a combination thereof.According to an embodiment, the rules comprise a machine learning model.

Disclosed herein is a networking device comprising: a label identification unit, a local content retrieval unit, and a content insertion unit, wherein the label identification unit is configured to identify labels that represent a first group of contents, separate from a second group of contents, in data received by the networking device; wherein the local content retrieval unit is configured to request a third group of contents from a storage, based on the labels; wherein the content insertion unit is configured to combine the second group of contents and the third group of contents to generate other data, and to transmit the other data to a mobile device.According to an embodiment, the storage and the networking device are on a same mobile platform.According to an embodiment, the mobile platform is a bus.

Disclosed herein is a system comprising: a networking device, and a storage, wherein networking device is configured to identify a first group of requests for first contents from first data received from a mobile device, to modify the first data to generate second data by modifying or removing the first group of requests, and to send the second data to a content server through a communication infrastructure; wherein networking device is configured to determine characteristics of the first contents, to request second contents from the storage based on the characteristics, and to include the second contents in third data from the networking device to the mobile device, wherein the second contents satisfy the first group of requests.According to an embodiment, the mobile device and the networking device are on a same mobile platform.According to an embodiment, the mobile platform is a bus.According to an embodiment, the mobile device is selected from a group consisting of a smart phone, a tablet, a game console, a mobile hotspots, another networking device, and a fixture on a mobile platform.According to an embodiment, the networking device is selected from a group consisting of gateways, routers, network bridges, modems, wireless access points, switches, hubs, and repeaters, proxy servers, firewalls, network address translators, multiplexers, network interface controllers, wireless network interface controller and a combination thereof.According to an embodiment, the networking device is configured to communicate with the mobile device through a wireless local area network (WLAN).According to an embodiment, the networking device comprises one or more cellular modems, or one or more satellite modems.According to an embodiment, the communication infrastructure comprises a cellular network or a satellite.According to an embodiment, the storage is configured to provide the second content stored therein to the networking device at a request of the networking device.According to an embodiment, the networking device is configured to identify the first group of requests based on parameters selected in a group consisting of an address of the first contents, a type of the first contents, formats of the first contents, spatial locations of the first contents, temporal locations of the first contents, origin of the first group of requests, and a combination thereof.According to an embodiment, the characteristics are selected from a group consisting of subject matters of the first contents, spatial locations of the first contents, temporal locations of the first contents, colors of the first contents, spatial sizes of the first contents, temporal sizes of the first contents, and a combination thereof.

Disclosed herein is a networking device comprising: a request identification unit, a content characteristics determination unit, a local content retrieval unit, and a content insertion unit, wherein the request identification unit is configured to identify a first group of requests for first contents from first data received from a mobile device; wherein the content characteristics determination unit is configured to determine characteristics of the first contents; wherein the local content retrieval unit is configured to request a second contents from the storage based on the characteristics, wherein the second contents satisfy the first group of requests; wherein the content insertion unit is configured to include the second contents into data sent to the mobile device.According to an embodiment, the mobile device and the networking device are on a same mobile platform.According to an embodiment, the mobile platform is a bus.According to an embodiment, the mobile device is selected from a group consisting of a smart phone, a tablet, a game console, a mobile hotspots, another networking device, and a fixture on a mobile platform.According to an embodiment, the networking device is selected from a group consisting of gateways, routers, network bridges, modems, wireless access points, switches, hubs, and repeaters, proxy servers, firewalls, network address translators, multiplexers, network interface controllers, wireless network interface controller and a combination thereof.According to an embodiment, the networking device is configured to communicate with the mobile device through a wireless local area network (WLAN).According to an embodiment, the networking device comprises one or more cellular modems, or one or more satellite modems.According to an embodiment, the storage is configured to provide the second content stored therein to the networking device at a request of the networking device.According to an embodiment, the networking device is configured to identify the first group of requests based on parameters selected in a group consisting of an address of the first contents, a type of the first contents, formats of the first contents, spatial locations of the first contents, temporal locations of the first contents, origin of the first group of requests, and a combination thereof.According to an embodiment, the characteristics are selected from a group consisting of subject matters of the first contents, spatial locations of the first contents, temporal locations of the first contents, colors of the first contents, spatial sizes of the first contents, temporal sizes of the first contents, and a combination thereof.

DETAILED DESCRIPTION

Reference will now be made in detail to the embodiments of the present teaching, examples of which are illustrated in the accompanying drawings. While the present teaching will be described in conjunction with the embodiments, it will be understood that they are not intended to limit the present teaching to these embodiments. On the contrary, the present teaching is intended to cover alternatives, modifications, and equivalents, which may be included within the spirit and scope of the present teaching as defined by the appended claims.

In addition, in the following detailed description of embodiments of the present teaching, numerous specific details are set forth in order to provide a thorough understanding of the present teaching. However, it will be recognized by one of ordinary skill in the art that the present teaching may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the embodiments of the present teaching.

Not all contents of the Internet communication are valuable to an operator of a mobile platform or its passengers. One example of such contents is advertisements, for example, in web pages and video streams. These advertisements may include a lot of images, videos and sounds, and thus may require larger amounts of communication and cost more to deliver than other contents. These advertisements often originate from entities unrelated to the operator of the mobile platform and thus viewing or responding to these advertisements probably does not contribute to the operator's revenue.

FIG. 1schematically shows advertisements embedded in a web page100as rendered on a mobile device. The web page100may include textual contents130, image contents110and interactive contents120(e.g., videos and Flash). Advertisements in the web page100are usually among the image contents110and the interactive contents120, but may be in the textual contents130. The web page100may include other components such as sounds.

The image contents110may include images of various formats. The most common format is perhaps JPEG (Joint Photographic Experts Group). The JPEG format may be used to store digital raster images using lossy compression. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality.

Another common format is TIF or TIFF (Tagged Image File Format). The TIFF format is a flexible, adaptable file format. The TIFF format can be a container holding JPEG (lossy), PackBits (lossless) compressed images, and even vector images. The TIFF format is popular among graphic artists, the publishing industry, and photographers because it may compress images losslessly.

The GIF format (Graphics Interchange Format) is another format for losslessly compressed raster images. A notable feature of the GIF format is that it can store simple animations. Multiple images (frames) may be stored in a single GIF file. Each frame may be displayed with a time delay, thus forming a video clip. The GIF format also supports designation of a transparent background color.

Portable Network Graphics (PNG) was designed as a replacement for the GIF format. PNG offers better compression and more features than GIF but does not support animation. PNG is more suitable than GIF in instances where true-color imaging and alpha transparency are required.

Scalable Vector Graphics (SVG) is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation. Vector images use polygons to represent images in computer graphics. Vector images are based on vectors, which lead through locations called control points or nodes. Each of these points may have a definite position and may determine the direction of the path; further, each path may be assigned various attributes, including such values as stroke color, shape, curve, thickness, and fill.

The interactive contents120are contents that may respond to a user's actions (e.g., mouse clicks, mouse double clicks, mouse drags, hand touches, hand drag, hand gestures, device orientation changes, etc.) Examples of the interactive contents120may include videos and Flash animations. One group of common video formats is the Moving Picture Experts Group (MPEG) formats. The MPEG formats compress video and audio using a variety of complex algorithms.

Advertisements in a web page may include a combination of textual contents, image contents and interactive contents.FIG. 2shows a partial screenshot from a website. An advertisement210is highlighted in the dotted box. The advertisement210is placed among other non-advertisement contents in the web page. The label “Sponsored” indicates that it is an advertisement. However, not all advertisements are labeled. In this example, the advertisement includes an image and texts.

Advertisements in a web page may be placed separately from non-advertisement contents.FIG. 3shows a partial screenshot from a website. An advertisement310is highlighted in the dotted box. The location of the advertisement310is clearly separate from the non-advertisement contents in the web page.

FIG. 4schematically shows a video stream that has a mid-roll advertisement410. The mid-roll advertisement410is temporally separate from non-advertisement portions of the video stream. An advertisement may also be placed on the images of the video stream. Namely, the advertisement may be spatially separate from non-advertisement portions of the video stream.

Contents of the Internet communication are usually structured. For example, the Internet communication may include texts written in a markup language file (e.g., HTML file, XML file), texts of executable codes (e.g., in a script language like JavaScript), and texts of structured data (e.g., a JSON). The Internet communication may include binary data of media (e.g., sounds, images and videos).FIG. 5shows a portion of the Internet communication that, when rendered, produces the advertisement inFIG. 3. It can be observed that the class of the <div> element hints that the contents under the <div> element are advertisements.

The type of the contents (e.g., textual, image or interactive contents), the formats of the contents, the locations of the contents, the time of the contents, the structures of the contents are among the parameters that may be used to identify advertisements in the Internet communication. An example of a method of identifying advertisements will be discussed in more detail below.

FIG. 6schematically shows a system600for managing advertisement, in particular advertisement in Internet communication with mobile devices (e.g., smart phones, tablets, mobile hotspots) on a mobile platform (e.g., a bus). The system600comprises a networking device610, a storage650and a proxy server620.

The networking device610is configured to be carried on the mobile platform. The networking device610is configured to communicate with a mobile device605carried on the mobile platform through a wireless local area network (WLAN) (e.g., a Wi-Fi network), and with a communication infrastructure630(e.g., a cellular network or a satellite). The mobile device605may be a mobile device a person (e.g., a passenger) brings onto the mobile platform. Examples of the mobile device605may include smart phones, tablets, game consoles, and networking devices (e.g., a router designed for travel use). The mobile device605may be a fixture on the mobile platform, such as a screen shared by multiple people on the mobile platform.

The networking device610is configured to process and transmit data received from the mobile device605to the communication infrastructure630, and configured to process and transmit data received from the communication infrastructure630to the mobile device605. Examples of the networking device610may include gateways, routers, network bridges, modems, wireless access points, switches, hubs, and repeaters, proxy servers, firewalls, network address translators, multiplexers, network interface controllers, wireless network interface controllers, etc. The networking device610may include one or more cellular modems, or one or more satellite modems. The networking device610may be configured to cause data transmitted to the communication infrastructure to be routed to the proxy server620. Communication between the communication infrastructure630and the proxy server620may be through a network650(e.g., the Internet).

The storage650is configured to be carried on the mobile platform. The storage650may have advertisements or other contents stored therein. The storage650may be part of networking device610. The storage650is configured to provide a content stored therein to the networking device610at the request of the networking device610.

The proxy server620is configured to process and transmit data received from the communication infrastructure630to a content server660, and configured to process and transmit data received from the content server660to the communication infrastructure630. Communication between the proxy server620and the content server660may be through a network660(e.g., the Internet). The proxy server620may be configured to cause data received from the content server660to be routed to the networking device610. The proxy server620may be a physical server or a virtual server. A virtual server is a virtual machine (VM) that responds to requests across a computer network to provide, or help to provide, a network or data service. A VM is an emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Implementations of VMs may involve specialized hardware, software, or a combination. The proxy server620may be located off the mobile platform. The communication between the proxy server620and the content server660does not have to use a cellular network or a satellite.

The content server660is a server that has data requested by the mobile device605.

FIG. 7schematically shows data flow from the content server660to the proxy server620, from the proxy server620to the networking device610, and from the networking device610to the mobile device605, in response to a request from the mobile device605. The data710sent by the content server660and received by the proxy server620may include contents not valuable to an operator of the mobile platform, such as advertisements. The proxy server620is configured to identify the contents not valuable to the operator. The identification may be based on the address of the content server660, the type of the contents (e.g., texts, images or interactive contents), the formats of the contents (e.g., JPEG, Flash), spatial locations of the contents, temporal locations of the contents, structures of the data710(e.g., HTML tags surrounding the contents), executable codes related to the contents, or a combination thereof. Once the contents not valuable to the operator are identified, the proxy server620is configured to modify the data710to generate modified data720by replacing these contents with labels. The labels are much smaller in size than these contents (several bytes versus kilobytes or more). The labels may represent a variety of characteristics of these contents, such as the subject matters, the spatial locations, the temporal locations, the colors, the spatial sizes, and the temporal sizes. The proxy server620is configured to transmit the modified data720to the networking device610. For example, the data710may include the HTML code (of a size of almost 92 kilobytes) shown inFIG. 5and the proxy server620may replace all the codes under the tag <div class=“c_oc commercial-unit-desktop-top”> with a HTML comment tag including a label (of a size of only several bytes) representing the characteristics of the advertisement310inFIG. 3.

The networking device610is configured to read the labels in the modified data720. The networking device610is configured to request contents from the storage650based on the labels, and to replace the labels with the contents received from the storage650to generate data730with local contents. For example, the networking device610may request content of a similar subject matter as the content whose characteristics a label represents. UsingFIG. 3as an example, the networking device610may request an advertisement related to scooters, bicycles, toys and mobility devices from the storage650, and replace the tag representing the characteristics of the advertisement310with the content received from the storage650. The networking device610is configured to transmit the data730with contents from the storage650to the mobile device605.

FIG. 8schematically shows a partial function block diagram of the proxy server620. The proxy server620comprises a content identification unit621, a content characteristics determination unit622, a label generation unit623, and a label insertion unit624.

The content identification unit621is configured to identify a first group of contents625in the data710received from the content server660(e.g., contents that are not valuable to an operator of the mobile platform, such as advertisements). The rest of the data710is a second group of contents626. The identification may be based on a set of rules and a variety of parameters of the data710. For example, the parameters may include the address of the content server660, the type of the contents (e.g., texts, images or interactive contents), the formats of the contents (e.g., JPEG, Flash), spatial locations of the contents, temporal locations of the contents, structures of the data710(e.g., HTML tags surrounding the contents), executable codes related to the contents, or a combination thereof. For example, the rules may include a machine learning model (e.g., a classifier). One of the rules may be that contents linked from a certain group of servers are considered not valuable to an operator of the mobile platform. One of the rules may be that contents under certain tags of a markup language are considered not valuable to an operator of the mobile platform. One of the rules may be that if the subject matter of a content is too distinct from the overall subject matter of the data710, the content is considered not valuable to an operator of the mobile platform.

The content characteristics determination unit622receives the first group of contents625and the second group of contents626. The content characteristics determination unit622is configured to determined one or more characteristics627of the first group of contents625, based on the first group of contents625, the second group of contents626, or a combination thereof.

The label generation unit623receives the characteristics627and optionally the first group of contents625. The label generation unit623is configured to generate labels628that represent the characteristics627.

The label insertion unit624receives the second group of contents626and the labels628. The label insertion unit624is configured to combine the second group of contents626and the labels628to generate the modified data720.

FIG. 9schematically shows a partial function block diagram of the networking device610. The networking device610comprises a label identification unit611, a local content retrieval unit612, and a content insertion unit613.

The label identification unit611receives the modified data720from the proxy server620. The label identification unit611is configured to identify the labels628in the modified data720. The rest of the modified data720is the second group of contents626. The labels628were previously included into the modified data720by the proxy server620, as explained inFIG. 8.

The local content retrieval unit612receives the labels628as identified by the labels identification unit611. The local content retrieval unit612is configured to request a third group of contents614from the storage650, based on the labels628.

The content insertion unit613receives the second group of contents626and the third group of contents614. The third group of contents614may be local, i.e., being stored on the mobile platform. The content insertion unit613is configured to combine the second group of contents626and the third group of contents614to generate the data730, and transmit the data730to a mobile device.

FIG. 10schematically shows a system1000for managing advertisement, in particular advertisement in Internet communication with mobile devices (e.g., smart phones and tablets) on a mobile platform (e.g., a bus). The system1000comprises a networking device1010and a storage1050.

The networking device1010is configured to be carried on the mobile platform. The networking device1010is configured to communicate with a mobile device1005carried on the mobile platform through a wireless local area network (WLAN) (e.g., a Wi-Fi network), and with a communication infrastructure1030(e.g., a cellular network or a satellite). The mobile device1005may be a mobile device a person (e.g., a passenger) brings onto the mobile platform. Examples of the mobile device1005may include smart phones, tablets, game consoles, and networking devices (e.g., a router designed for travel use). The mobile device1005may be a fixture on the mobile platform, such as a screen shared by multiple people on the mobile platform.

The networking device1010is configured to process and transmit data received from the mobile device1005to the communication infrastructure1030. Examples of the networking device1010may include gateways, routers, network bridges, modems, wireless access points, switches, hubs, and repeaters, proxy servers, firewalls, network address translators, multiplexers, network interface controllers, wireless network interface controllers, etc. The networking device1010may include one or more cellular modems, or one or more satellite modems. The communication infrastructure1030may communicate with a content server1060through a network1050(e.g., the Internet).

The storage1050is configured to be carried on the mobile platform. The storage1050may have advertisements or other contents stored therein. The storage1050may be part of networking device1010. The storage1050is configured to provide a content stored therein to the networking device1010at the request of the networking device1010.

The content server1060is a server that has data requested by the mobile device1005.

FIG. 11schematically shows data flow from the mobile device1005to the networking device1010, and from the networking device1010to the content server1060. The data1110sent by the mobile device1005may include requests for contents. The requests may be initiated by a human user. For example, when the user types a Uniform Resource Locator (URL) into an address bar of a browser, the user is requesting a default page (e.g., an HTML page or a script language page such as a PHP page) of the URL, which is often referred to as a main or index page. The requests may also be initiated by a content received by the mobile device1005.

For example, an HTML page may have references to contents (e.g., codes in a script language, images and videos), which may or may not be on the same server with the index page. When a browser renders the HTML page, the browser sends requests for these contents. Some of the requests are for contents not valuable to an operator of the mobile platform, such as advertisements. The networking device1010is configured to identify those requests for contents not valuable to the operator. The identification may be based on the address of the contents requested, the type of the contents (e.g., texts, images or interactive contents), the formats of the contents (e.g., JPEG, Flash, codes), spatial locations of the contents, temporal locations of the contents, origin of the requests (e.g., manually typed in by a user or initiated by other contents or applications on the mobile device), or a combination thereof. The networking device1010is configured to modify the data1110to generate modified data1120by modifying or removing the identified requests, and send the modified data1120to the content server1060through the communication infrastructure1030and the network1050.

The networking device1010is configured to determine characteristics of the contents that the identified requests are for, such as the subject matters, the spatial locations, the temporal locations, the colors, the spatial sizes, and the temporal sizes. The networking device1010is configured to request contents from the storage1050based on the characteristics, and include the contents received from the storage1050in data1130from the networking device1010to the mobile device1005to satisfy the identified requests. For example, the networking device1010may request a content of a similar subject matter as the content that one of the identified requests is for. The networking device1010then transmits the data1130with the contents from the storage1050to the mobile device1005.

FIG. 12schematically shows a partial function block diagram of the networking device1010. The networking device1010comprises a request identification unit1011, a content characteristics determination unit1012, a local content retrieval unit1013, and a content insertion unit1014.

The request identification unit1011receives the data1110from the mobile device1005. The request identification unit1011is configured to identify a first group of requests1015in the data1110(e.g., requests for contents that are not valuable to an operator of the mobile platform, such as advertisements). The rest1016of the data1110may include other requests and other data. The identification may be based on a set of rules and a variety of parameters of the data1110. For example, the parameters may include the address of the servers hosting the contents being requested, the type of the contents (e.g., texts, images or interactive contents), the formats of the contents (e.g., JPEG, Flash), spatial locations of the contents, temporal locations of the contents, structures of the data1110(e.g., HTML tags surrounding the requests), executable codes related to the requests, or a combination thereof. For example, the rules may include a machine learning model (e.g., a classifier). One of the rules may be that all requests for contents on a certain group of servers are considered not valuable to an operator of the mobile platform. One of the rules may be that requests under certain tags of a markup language are considered not valuable to an operator of the mobile platform. One of the rules may be that if the subject matter of a content being requested is too distinct from the overall subject matter of the data1110, the request is considered not valuable to an operator of the mobile platform.

The content characteristics determination unit1012receives the first group1015of requests and the rest1016of the data1110. The content characteristics determination unit1012is configured to determine characteristics1017of the contents that the first group of requests1015are for, such as the subject matters, the spatial locations, the temporal locations, the colors, the spatial sizes, and the temporal sizes, based on the first group of requests1015, the rest1016of the data1110, or a combination thereof.

The local content retrieval unit1013receives the characteristics1017. The local content retrieval unit1013is configured to request contents1018from the storage1050based on the characteristics1017, where the contents1018will satisfy the first group of requests1015.

The content insertion unit1014receives the contents1018. The content insertion unit1014is configured to include the contents1018into the data1130. The networking device1010sends the data1130to the mobile device1005.

FIG. 13depicts a functional block diagram of a general hardware device2000on which the present teaching can be implemented. The general hardware device2000may be a general purpose computer or a special purpose computer. The general hardware device2000in this example may include any combination of one or more central processing units (CPUs)2002, one or more graphic processing units (GPUs)2004, a display2006, a memory2008, a communication platform2010, such as a wireless communication module, storage2012, and one or more input/output (I/O) devices2014. Any other suitable component, such as but not limited to a system bus or a controller (not shown), may also be included in the general hardware device2000. As shown inFIG. 13, one or more applications2082may be loaded into the memory2008from the storage2012in order to be executed by the CPU2002. The applications2082may be executed on various operating systems, e.g., Linux. Execution of the applications2082may cause the general hardware device2000to perform the functions as described above.

FIG. 14depicts a general computer architecture on which the present teaching can be implemented and has a functional block diagram illustration of a computer hardware platform which includes user interface elements. The computer may be a general-purpose computer or a special purpose computer. This computer3000can be used to implement any components (e.g., the networking devices610and1010, and the proxy server620) of the system and components described herein, via its hardware, software program, firmware, or a combination thereof. Although only one such computer is shown, for convenience, the computer functions relating to dynamic relation and event detection may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load.

The computer3000, for example, includes COM ports3002connected to and from a network3050connected thereto to facilitate data communications. The computer3000also includes a central processing unit (CPU)3004, in the form of one or more processors, for executing program instructions. The exemplary computer platform includes an internal communication bus3006, program storage and data storage of different forms, e.g., disk3008, read only memory (ROM)3010, or random access memory (RAM)3012, for various data files to be processed and/or communicated by the computer, as well as possibly program instructions to be executed by the CPU. The computer3000also includes an I/O component3014, supporting input/output flows between the computer and other components therein such as user interface elements3016. The computer3000may also receive programming and data via network communications.

All or portions of the computer-implemented method may at times be communicated through a network such as the Internet or various other telecommunication networks. Such communications, for example, may enable loading of the software from one computer or processor into another. Thus, another type of media that may bear the elements of the computer-implemented method includes optical, electrical, and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the computer-implemented method. As used herein, unless restricted to tangible “storage” media, terms such as computer or machine “readable medium” refer to any medium that participates in providing instructions to a processor for execution.

Those skilled in the art will recognize that the present teaching is amenable to a variety of modifications and/or enhancements. For example, although the implementation of various components described above may be embodied in a hardware device, it can also be implemented as a firmware, firmware/software combination, firmware/hardware combination, or a hardware/firmware/software combination.

While the foregoing description and drawings represent embodiments of the present teaching, it will be understood that various additions, modifications, and substitutions may be made therein without departing from the spirit and scope of the principles of the present teaching as defined in the accompanying claims. One skilled in the art will appreciate that the present teaching may be used with many modifications of form, structure, arrangement, proportions, materials, elements, and components and otherwise, used in the practice of the disclosure, which are particularly adapted to specific environments and operative requirements without departing from the principles of the present teaching. The presently disclosed embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the present teaching being indicated by the appended claims and their legal equivalents, and not limited to the foregoing description.