US20140335911A1 - Predictive Caching of IP Data on Mobile Device - Google Patents
Predictive Caching of IP Data on Mobile Device Download PDFInfo
- Publication number
- US20140335911A1 US20140335911A1 US14/338,903 US201414338903A US2014335911A1 US 20140335911 A1 US20140335911 A1 US 20140335911A1 US 201414338903 A US201414338903 A US 201414338903A US 2014335911 A1 US2014335911 A1 US 2014335911A1
- Authority
- US
- United States
- Prior art keywords
- mobile device
- data
- cellular
- access point
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H04L67/2842—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/06—Testing, supervising or monitoring using simulated traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Abstract
Disclosed is a technique for caching IP content data for a mobile device. In the mobile device, a content request is sent to a server over an IP network, the content request indicative of IP content data of interest to the mobile device. The server retrieves the requested IP content data from content servers and queues the requested IP content data in a buffer associated with the mobile device. A notification message is sent to the mobile device indicating that the requested IP content is queued. The mobile device determines whether it is connected to a non-cellular IP network access point and automatically downloads the queued IP content data from the server when connected to a non-cellular IP network. The IP content data is stored in a cache memory in the mobile device. Other embodiments are disclosed.
Description
- This application is a continuation of U.S. application Ser. No. 14/024,780, filed Sep. 12, 2013 entitled “Predictive Caching of IP Data”. The patent application identified above is incorporated here by reference in its entirety.
- Mobile devices such as smartphones and some tablet style computers are often equipped with multiple RF transceivers that are capable of wirelessly connecting with different networks. For example, a mobile device may employ a cellular transceiver to allow a user to make and receive telephone calls, send text messages, and exchange Internet Protocol (IP) data over a cellular access network. That same mobile device may also employ a second RF transceiver that operates on a non-cellular network such as, for instance, one that operates over the 802.11 family of protocols that are commonly known as WiFi. In addition, the mobile device may also employ another RF transceiver such as, for instance, one that operates over the 802.16 family of protocols that are commonly known as WiMax. The WiFi or WiMax transceiver(s) may be used for IP network access (e.g., Internet access) anytime the mobile device is within range of a WiFi or WiMax IP network access point.
- In terms of user convenience and cost, it is preferable to utilize a non-cellular network transceiver such as the WiFi or WiMax transceivers over the cellular transceiver whenever possible. Non-cellular (e.g., WiFi or WiMax) access is generally free whereas cellular access to IP networks comes at a price. Moreover, the cost can escalate the more IP data is consumed.
- As mobile devices such as smartphones become ubiquitous, the demand for ‘mobile’ IP data access continues to grow. Limiting such IP network access to cellular network access points only drives costs up for consumers and tax or stress the cellular carrier's IP data network. The end result may lead to higher costs and less than expected quality of service in terms of network access speeds or even the ability to establish and maintain an IP network connection in areas of high congestion. The ability to use non-cellular (e.g. WiFi or WiMax) IP connectivity greatly alleviates the aforementioned problems.
- However, one of the greatest attributes of a mobile device is its mobility. This means that the user will often find herself without non-cellular connectivity at times but with a need or desire to consume IP data from sources external to the mobile device. The mobile device may do so utilizing the cellular access network for IP data services. Doing so, however, invokes the costs of using the network as previously mentioned. Thus, the user may desire to minimize to the greatest extent possible any dependence on the cellular network for IP data consumption.
-
FIG. 1 illustrates an exemplary networked environment for implementing certain exemplary embodiments described herein. -
FIG. 2 is a block diagram illustrating some of the functions of a mobile device according to one or more embodiments described herein. -
FIG. 3 is a logic flow diagram according to one or more embodiments described herein. -
FIG. 4 is a logic flow diagram according to one or more embodiments described herein. -
FIG. 5 illustrates an exemplary networked environment for implementing certain exemplary embodiments described herein. -
FIG. 6 is a logic flow diagram according to one or more embodiments described herein. -
FIG. 7 is a logic flow diagram according to one or more embodiments described herein. - Embodiments described herein disclose methods and techniques to cache IP data locally on the mobile device while the device has non-cellular (e.g., WiFi or WiMax) IP network connectivity. The IP data that is cached may be pre-determined ahead of time based on user usage patterns and/or user instruction. The terms IP data, content, or IP content data may be used interchangeably throughout this disclosure and refer to data of interest to a user of a mobile device wherein the data is remotely stored but is accessible to the mobile device over an IP network connection. The IP network connection may be facilitated by a WiFi transceiver, a cellular transceiver, or an alternate transceiver (e.g., WiMax) housed within the mobile device. The IP data may be representative in whole or in part of textual data, graphical data, audio data, video data, or combinations thereof. The underlying data may be stored or represented in a variety of file formats or protocols and may or may not be encrypted. For example, text data may be stored in a file such as a Microsoft™ Word file, a pdf file, or http text data. Graphical data may be in the form of images stored as bitmap, JPEG, GIF, or other image file formats. Audio data may be stored in an MP3 or .wav format while video data may be stored as MPEG, .avi, etc. The underlying data, regardless of its actual format, is considered IP data when it is packaged and transported to the mobile device over an IP connection. The embodiments are not limited to these examples.
- For example, if the user typically accesses the same specific web-sites from the mobile browser most days, the mobile device may be instructed to fetch and cache the IP content from the specific web-site while the mobile device has non-cellular (e.g., WiFi or WiMax) IP network connectivity. In some cases, the mobile device may even include wired IP network connectivity such as, for instance, an Ethernet connection. In this manner, the user may access the web site IP data at a later time through cache memory without having to access a cellular network. The mobile device may also acquire intelligent data as to non-cellular IP network connectivity patterns such that the background caching may be performed at certain times. The caching may also be performed or updated anytime the mobile device has non-cellular IP network connectivity to keep the mobile device as up to date as possible for content that may be refreshed periodically. In addition, the caching may be performed in such a manner that allows the user to access the IP data from the native mobile device application that they normally would. For instance, web browsing data may be accessed using a mobile browser while content specific applications (e.g., Fox News™, CNN™, USA Today™, etc.) that operate on the mobile device in their own applications may be accessed using the native application. In this manner, the user experience does not change when accessing cached IP data. The user may still access the data from the native application she would normally use.
- In one embodiment, the mobile device may monitor usage and behavior patterns to create items of content (e.g., IP data) to download and locally store on the mobile device. The mobile device may then pull the content from the content providers over the Internet at a time when the mobile device is typically connected to the Internet via WiFi, WiMax, or another non-cellular IP network access point. The mobile device may collect IP data consumption and usage information associated with a mobile device. The mobile device may predict, based on the collected IP data consumption usage information, IP data the mobile device can be expected to consume at a future time. The mobile device may then automatically download the predicted IP data to the mobile device over a non-cellular connection and store the downloaded predicted IP data in cache memory on the mobile device.
- To facilitate the process and help ensure that the cellular data network is not used, the mobile device may also collect non-cellular network connectivity information associated with the mobile device and predict, based on the collected non-cellular network connectivity information, when the mobile device can be expected to be connected to a non-cellular network. The mobile device may then attempt to perform the automatic downloading of the predicted IP data at a time when the mobile device can be expected to be connected to a non-cellular network. If the mobile device is not connected to a non-cellular network it may wait until the mobile device is connected to a non-cellular network before automatically downloading the predicted IP data.
- The mobile device may also store the downloaded predicted IP data in cache memory on the mobile device that is associated with the application on the mobile device that would have downloaded the predicted IP data if the download had been manually initiated by a user. This ensures that the user experience when accessing the cached IP data is the same in so far as the same user interface(s) and/or native applications are used as when the user is using a real-time IP network connection to consume IP data. Thus, when there is no non-cellular connection available to the mobile device, the user may still consume the cached IP data by bypassing a cellular network connection and accessing the stored predicted IP data from cache memory using an application on the mobile device associated with the stored predicted IP data in response to a request for the IP data.
- In another embodiment, the mobile device may register with a content service provider directly to indicate a desire to receive content (e.g., IP data) from that content provider. The content service provider may then initiate a download to the mobile device in accordance with the request previously made by the user. The content server would push the requested content to the mobile device over the Internet at a time when the mobile device is typically connected to the Internet via WiFi, WiMax, or another non-cellular IP network access point.
- For example, the mobile device may send a content request to a content server over an IP network in which the content request is indicative of recurring IP data of interest to the user of the mobile device. The content server may queue the requested IP content data in a buffer associated with the mobile device and send a notification message to the mobile device indicating that the requested IP content data is queued. The mobile device may determine whether it is connected to a non-cellular network and automatically download the queued IP content data from the content server when it is connected to a non-cellular network. The mobile device may then store the downloaded IP content data in cache memory.
- The mobile device may also collect non-cellular network connectivity information associated with the mobile device and predict, based on the collected non-cellular network connectivity information, when the mobile device can be expected to be connected to a non-cellular network. The mobile device may then attempt to perform the automatic downloading of the queued IP content data at a time when the mobile device can be expected to be connected to a non-cellular network. If the mobile device is not connected to a non-cellular network it may wait until the mobile device is connected to a non-cellular network before automatically downloading the queued IP content data.
- The mobile device may also store the downloaded queued IP content data in cache memory on the mobile device that is associated with the application on the mobile device that would have downloaded the queued IP content data if the download had been manually initiated by a user. This ensures that the user experience when accessing the cached IP data is the same in so far as the same user interface(s) and/or native applications are used as when the user is using a real-time IP network connection to consume IP content data. Thus, when there is no non-cellular connection available to the mobile device, the user may still consume the cached IP content data by bypassing a cellular network connection and accessing the stored queued IP content data from cache memory using an application on the mobile device associated with the stored queued IP content data in response to a request for the IP content data.
- In yet another embodiment, the mobile device may monitor usage and behavior patterns to create items of content (e.g., IP data) to download and locally store on the mobile device. The mobile device may then forward the items of content to be stored on the mobile device to an intelligent cache server resident within the Internet. The intelligent cache server may then pull the IP content data from the content providers and push it to the mobile device over the Internet at a time when the mobile device is typically connected to the Internet via WiFi, WiMax, or another non-cellular IP network access point.
- For example, the mobile device may send a content request to an intelligent cache server over an IP network in which the content request is indicative of recurring IP data of interest to the user of the mobile device. The intelligent cache server may retrieve the requested IP content data from content servers and queue the requested IP content data in a buffer associated with the mobile device and send a notification message to the mobile device indicating that the requested IP content data is queued. The mobile device may determine whether it is connected to a non-cellular network and automatically download or receive the queued IP content data from the intelligent cache server when it is connected to a non-cellular network. The mobile device may then store the downloaded or received IP content data in cache memory.
- The mobile device may also collect non-cellular network connectivity information associated with the mobile device and predict, based on the collected non-cellular network connectivity information, when the mobile device can be expected to be connected to a non-cellular network. The mobile device may then attempt to perform the automatic downloading of the queued IP content data at a time when the mobile device can be expected to be connected to a non-cellular network. If the mobile device is not connected to a non-cellular network it may wait until the mobile device is connected to a non-cellular network before automatically downloading or receiving the queued IP content data.
- The mobile device may also store the downloaded queued IP content data in cache memory on the mobile device that is associated with the application on the mobile device that would have downloaded the queued IP content data if the download had been manually initiated by a user. This ensures that the user experience when accessing the cached IP data is the same in so far as the same user interface(s) and/or native applications are used as when the user is using a real-time IP network connection to consume IP content data. Thus, when there is no non-cellular connection available to the mobile device, the user may still consume the cached IP content data by bypassing a cellular network connection and accessing the stored queued IP content data from cache memory using an application on the mobile device associated with the stored queued IP content data in response to a request for the IP content data.
- In each of the aforementioned embodiments, the content may then be stored by the mobile device in cache memory such that when the user went to access the content, no Internet connection would be required. Moreover, the user may consume desired content without having to utilize a cellular data connection. In addition, the content download (pull or push) may be timed to repeat at specified intervals or whenever a non-cellular IP network connection is available. The content caching scheme may run as a background process to keep the content as fresh and updated as possible.
- Referring now to
FIG. 1 , an exemplarynetworked environment 100 for implementing certain exemplary embodiments is described. Acontent server 105 is representative of an entity that creates and/or distributes content over an IP based network such as, for instance, theInternet 115. Thecontent server 105 may represent a web site or a streaming audio or video service. The content itself may be textual, graphical, audio, video, or some combination thereof. Thenetworked environment 100 also illustrates amobile device 110, an IP based local area network (LAN) 120, acellular network 125, and analternative network 130. - In a typical scenario, the mobile device may connect to the Internet using any of the
aforementioned networks Internet 115 using an 802.11 WiFi connection over an IP network likeLAN 120. WiFi connectivity may represent the highest quality and lowest cost means ofInternet 115 access. However, WiFi connectivity may not always be available to the mobile device. In such cases, one of the other networks may be used to gainInternet 115 access.Internet 115 access via acellular network 125 is another common means of connectivity. Using thecellular network 125 for IP data services, however, can be costly. Cellular service providers typically charge for the use of thecellular network 125 based on the amount of IP data that is consumed (e.g., uploaded or downloaded). Moreover, the costs increase the more IP data is consumed. Thus, it is often desirable to minimize the use of thecellular network 125 for IP data services. - There may also be one or more
alternative networks 130 that may provide access to theInternet 115 for amobile device 110. One such non-cellularalternative network 130 may be characterized as a WiMax network operable over the 802.16 wireless protocol standard. Another suchalternative network 130 may be characterized as a whitespace network. A whitespace network may utilize RF spectrum that is shared with television broadcasters. The television broadcasters do not necessarily need to utilize all the spectrum allocated to them to broadcast their video signals. The unused spectrum may be tapped into to provide an alternative RF access point to a network that can interface with theInternet 115. -
FIG. 2 is a block diagram illustrating some of the functions of amobile device 110 according to one or more embodiments described herein. A mobile device may include, for instance, a smartphone, a personal digital assistant (PDA) device, a tablet style computer, a laptop or notebook style computer, etc. Themobile device 110 may include a processor orprocessors 205 for controlling the various components and functions of themobile device 110. Themobile device 110 may also include multiple RF transceivers such as, for instance, aWiFi transceiver 210, acellular transceiver 215, and analternate transceiver 220. Thealternate transceiver 220 may also be characterized as a non-cellular transceiver in that it may connect with a network access point to provide access to theInternet 115 without the use or assistance of acellular network 125. - The
WiFi transceiver 210 may be operable to communicate with an IP network access point using one or more of the 802.11 wireless transmission protocols. Upon connection with an IP network access point, themobile device 110 may exchange IP data with servers or other computers that are connected with or communicable with theInternet 115. This may includecontent servers 105 shown inFIG. 1 . - The
cellular transceiver 215 may be operable to communicate with acellular network 125 for both voice and IP data communications. On the voice side, thecellular network 125 may be based on GSM, CDMA, or other communications protocols while on the IP data side, thecellular network 125 may be based on, for example, GPRS, EDGE, EV-DO, HSPA-D, HSPA-U, LTE, UMTS-WCDMA, UMTS-TDD, etc. As pointed out above, use of the cellular network for IP data services can be costly and therefore to be avoided whenever a viable alternative is available to themobile device 110. - In one embodiment, the
alternate transceiver 220 may be a WiMax transceiver that is operable to communicate with an IP network access point using one or more of the 802.16 wireless transmission protocols. Upon connection with an IP network access point, themobile device 110 may exchange IP data with servers or other computers that are connected with or communicable with theInternet 115. This may includecontent servers 105 shown inFIG. 1 . In another embodiment, thealternate transceiver 220 may be a whitespace transceiver that is operable to communicate with a whitespace network access point. The whitespace network, in turn, may be communicable with theInternet 115 to allow IP data communications between themobile device 110 and servers or other computers that are connected with or communicable with theInternet 115. This may includecontent servers 105 shown inFIG. 1 . - The
mobile device 110 may further includedata storage 225,software applications 230, various user interface(s) 235 apredictive caching application 240. Thedata storage 225 may include, for example, one or more types of memory devices including, but not limited to, flash memory usable for ROM, RAM, PROM, EEPROM, and cache. Thesoftware applications 230 may include, for example, one or more software applications executable on or by the processor(s) 205 including, but not limited to, web browsers, email applications, application specific data and/or audio/video applications, etc. For instance, examples of application specific software video applications could be YouTube™ or Netflix™ while an examples of application specific software audio applications could be Spotify™ or Pandora™. Examples of application specific graphical/text/multimedia software applications may include those for news delivery services like Fox News™, CNN™, The New York Times™, USA Today™, etc. The user interface(s) 235 may include, for example, a display, a touchscreen for soft-key input, speaker(s), microphone(s), a keyboard for hard-key input, and one or more buttons. - The
predictive caching application 240 may be operable to determine content of interest to the user of themobile device 110. The content of interest may then be scheduled for download (e.g., pulled) or forwarded to a web based server for management such that the content of interest may be pushed to themobile device 110 at appropriate times over a WiFi or WiMax connection and stored in cache memory. Thepredictive caching application 240 is described further below. - Included herein is a set of flow charts representative of exemplary methodologies for performing novel aspects of the disclosed architecture. While, for purposes of simplicity of explanation, the one or more methodologies shown herein, for example, in the form of a flow chart or flow diagram, are shown and described as a series of acts, it is to be understood and appreciated that the methodologies are not limited by the order of acts, as some acts may, in accordance therewith, occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all acts illustrated in a methodology may be required for a novel implementation.
-
FIG. 3 illustrates one embodiment of a logic flow 300. The logic flow 300 may be representative of some or all of the operations executed by one or more embodiments described herein. In this embodiment, steps are disclosed that allow amobile device 110 to gather browsing and usage data of themobile device 110 along with WiFi connectivity patterns to determine content of interest to a user of themobile device 110. At specified times, this content may be downloaded or pulled from content servers using a WiFi or WiMax connection and stored in cache memory for subsequent consumption by the user. - In the illustrated embodiment shown in
FIG. 3 , the logic flow 300 may observe the browsing history and software application interaction history of themobile device 110 with respect to IP data consumption atblock 305. For example, the user of themobile device 110 may regularly visit one or more web sites which may be reflected by the browsing history or some other means of tracking. The user may browse the USA Today™ sports section on a regular basis as well as the NY Times™ web site. Similarly, the user may access locally storedsoftware applications 230 that are used to access the Internet for IP data consumption purposes. Many news outlets have created custom applications that may run on themobile device 110 and access the IP data stored on their own content servers. This model does not need a standard we browser but rather uses the native application interface designed by the content provider and executing on the mobile device. Thus, the user may consume IP data from the USA Today™ using a USA Today™ app on the mobile device. This native application has its own user interface and data presentation construct that the user may prefer. Collecting this browsing and application interaction data over a period of time may yield activity that the user of the mobile device regularly engages. The patterns may then yield a predictable model of future IP data consumption. - The logic flow 300 may observe WiFi and/or alternative network connectivity patterns at
block 310. For example, themobile device 110 may typically have a WiFi connection or an alternative network (e.g., WiMax) connection everyday between the hours of midnight-7:00 AM, 8:00 AM-12:00 PM, 1:00 PM-5:00 PM, and again from 9:00 PM-midnight. This schedule is more or less reflective of a typical workday in which themobile device 110 has access to WiFi or WiMax at home from 9:00 PM-7:00 AM, loses access while commuting to a workplace, regains access while at work, and loses access again while commuting home. Similar patterns could be established for students or others. Thepredictive caching application 240 can, over time, determine a fairly reliable time frame for expected WiFi or WiMax connectivity. - In the illustrated embodiment shown in
FIG. 3 , the logic flow 300 may update the browsing history and software application interaction history of themobile device 110 with respect to IP data consumption atblock 315. For example, the user of themobile device 110 may collect and forward additional browsing history or software application interaction history data to thepredictive caching application 240. This helps keep thepredictive caching application 240 current with respect to the user's most recent usage patterns. - The logic flow 300 may determine IP data content to download based on IP data content usage observations or explicit user instruction at
block 320. For example, thepredictive caching application 240 may analyze the observed browsing history and application interaction history to determine that the mobile device regularly visits the same web site(s) and typically accesses the same software applications that retrieve IP data content from a content provider over theInternet 115. Using this data, thepredictive caching application 240 may create a script, background process, or other mechanism that identifies the content provider and the content that the mobile device will most likely want to access throughout the day. - The logic flow 300 may determine whether the
mobile device 110 has a current WiFi connection atblock 325. For example, thepredictive caching application 240 may query theWiFi transceiver 210 to determine whether theWiFi transceiver 210 is active and connected to an IP network access point and therefore capable of exchanging IP data over theInternet 115. If theWiFi transceiver 210 does not currently have a connection with an IP network access point, the logic flow 300 may wait until themobile device 110 has established a WiFi connection atblock 330. For example, thepredictive caching application 240 may attempt to invoke the WiFi transceiver and its associated intelligence to scan for and connect with an available WiFi network. Thepredictive caching application 240 may continuously or periodically monitor the WiFi connection status of theWiFi transceiver 240 and only pull IP content data it has determined to be of interest to the user or that the user has specifically requested when a WiFi connection exists. By running thepredictive caching application 240 in the background, it can be ready to download as soon as a WiFi connection is established. - The logic flow 300 may download and cache IP content data over WiFi or an alternative network at
block 335. For example, if thepredictive caching application 240 determines that themobile device 110 does have WiFi connectivity, thepredictive caching application 240 can download IP content data it has determined to be of interest to the user or that the user has specifically requested. The downloaded IP content data may then be stored in local cache memory. The downloading and caching step ofblock 335 may be optimized using the WiFi connectivity pattern data observed inblock 310. Using this information, thepredictive caching application 240 may attempt to download IP content data during time frames that themobile device 110 is typically connected to a WiFi network. For example, the mobile device may typically be coupled with a WiFi network at 5:00 AM each morning. This may be because the user of themobile device 110 is either at home in a WiFi environment or perhaps at a hotel that also includes a WiFi environment. Thepredictive caching application 240 may attempt to download desired IP data at 5:00 AM each day so that themobile device 110 can cache the IP data for later access by the user even if no WiFi connection exists. In addition, thepredictive caching application 240 may run in the background and periodically re-fresh the cached data with new IP content data anytime a WiFi connection exists. Each successful refresh helps keep the cached data as up to date as possible. -
FIG. 4 illustrates one embodiment of a logic flow 400. The logic flow 400 may be representative of some or all of the operations executed by one or more embodiments described herein. In this embodiment, steps are disclosed that allow amobile device 110 to establish a service relationship with a content provider. The service relationship represents IP content desired by the user that is to be pushed or pulled from the content service provider to themobile device 110 using a WiFi or WiMax connection. The IP content may then be stored in cache memory for subsequent consumption by the user. - In the illustrated embodiment shown in
FIG. 4 , the logic flow 400 may send a content request to a content service provider atblock 405. For example, thepredictive caching application 240 may initiate a communication session with a content service provider over theInternet 115. Alternatively, a communication session may be established between the content service provider and themobile device 110 using a mobile web browser application. In another embodiment, a communication session may be established between the content service provider and a computer device that is not themobile device 110 using a browser application. The other computer device may be a computer, a tablet computer, an IP network enabled television, or other IP network connectable device. In this embodiment, the separate computer device may interact with the content service provider for purposes of registering themobile device 110 with the content service provider. - The registration process may include creating an account that uniquely identifies the
mobile device 110 as the intended recipient of IP content data. The user may specify what IP content it desires during registration. For example, the user may register with a web site such as MLB.com™ and indicate that all top stories, or all stories pertaining to a favorite team be queued for download. The user may further specify that recent scores, standings, and schedules also be queued for download. In another example, the user may register with a web site such as CNN.com™ and indicate that all top stories, all stories mentioning the word “President”, the weather section of the web site, and various stock quotes be queued for download. There may also be a catch-all default that would queue the entire web site for download. In still another example, the user may register with a web site such as Netflix™ and indicate that certain movies or television shows be queued for download. The user may also specify that it would like Netflix™ to choose 2 movies and 3 television shows on its own based on prior viewing history to be queued for download. As is evident, there can be a wide variety of content selection options between the user and the content service provider. The examples above are illustrative and not limiting to the embodiments described herein. - The logic flow 400 may queue the requested content in a buffer associated with the
mobile device 110 atblock 410. For example, the content service provider may aggregate the requested content and place it within a buffer uniquely associated with themobile device 110 as per the registration process. The logic flow 400 may then notify themobile device 110 that the requested content has been queued for download atblock 415. This may be accomplished, for example, via text message, a pushed alert, email, etc. In an automated system, the notification does not necessarily need to be made known to the user as described above. Rather, thepredictive caching application 240 may receive the notification and act on its own to retrieve the desired content. When the notification is received by themobile device 110, thepredictive caching application 240 may determine if themobile device 110 is currently connected to a WiFi network atblock 420. If not, thepredictive caching application 240 will not attempt to retrieve the content from the content service provider. Rather, thepredictive caching application 240 will wait until a WiFi connection exists before downloading the queued content from the content service provider atblock 430. If themobile device 110 happens to lose the WiFi connection during the download process, thepredictive caching application 240 can automatically terminate the download until a WiFi connection for themobile device 110 is reestablished. This ensures that acellular network 125 is not utilized to download any content and therefore avoids incurring any wireless cellular data usage fees. - The logic flow 400 may store the requested content in cache memory on the
mobile device 110 atblock 435. For example, the content downloaded from the content service provider over a WiFi connection may be locally stored indata storage component 225 on themobile device 110. The user may then access the stored data without needing any type of network connection whatsoever. -
FIG. 5 illustrates an exemplary networked environment for implementing certain exemplary embodiments described herein.FIG. 5 is a duplication ofFIG. 1 with an additional component added. Thus, to the extent thatFIG. 5 duplicatesFIG. 1 , the disclosure ofFIG. 1 applies equally toFIG. 5 and is not repeated here. - The additional component in
FIG. 5 may be characterized as anintelligent caching server 135. Theintelligent caching server 135 resides in the cloud (e.g., accessible via the Internet 115). Theintelligent caching server 135 may have a relationship with themobile device 110 such that data is communicated and exchanged between themobile device 110 and theintelligent caching server 135. For example, themobile device 110 may provide historical browsing data as well as software application interaction data to theintelligent caching server 135. Theintelligent caching server 135 may then analyze this data to determine or predict the type of IP content data the user ofmobile device 110 will likely attempt to access at a later time. Theintelligent caching server 135 may then go out and aggregate the IP content data and store it on behalf of themobile device 110. Theintelligent caching server 135 may then notify themobile device 110 of the stored IP content data so that themobile device 110 may, at a time when it is connected to a WiFi network, download and locally store the IP content data. -
FIG. 6 illustrates one embodiment of a logic flow 600. The logic flow 600 may be representative of some or all of the operations executed by one or more embodiments described herein. In this embodiment, steps are disclosed that allow amobile device 110 to gather browsing and usage data of themobile device 110 along with WiFi connectivity patterns to determine content of interest to a user of themobile device 110. This information may then be sent to anintelligent caching server 135 that will pull the content from the various content service providers and store it so that themobile device 110 may, at specified times using a WiFi or WiMax connection, download it. The incoming content to themobile device 110 may then be stored in cache memory for subsequent consumption by the user. - In the illustrated embodiment shown in
FIG. 6 , the logic flow 600 may observe the browsing history and software application interaction history of themobile device 110 with respect to IP data consumption atblock 605. For example, the user of themobile device 110 may regularly visit one or more web sites which may be reflected by the browsing history or some other means of tracking. The user may browse the USA Today™ sports section on a regular basis as well as the NY Times™ web site. The logic flow 600 may then upload the browsing and software application interaction history of themobile device 110 with respect to IP data consumption history to anintelligent caching server 135 atblock 610. - The logic flow 600 may update the browsing history and software application interaction history of the
mobile device 110 with respect to IP data consumption atblock 615. For example, the user of themobile device 110 may periodically collect and forward additional browsing history or software application interaction history data to thepredictive caching application 240. The updated history may then be uploaded to theintelligent caching server 135 as described inblock 610. This helps keep thepredictive caching application 240 current with respect to the user's most recent usage patterns. - The logic flow 600 may determine and obtain IP data content based on IP data content usage observations or explicit user instruction at
block 620. For example, theintelligent caching server 135 may analyze the uploaded browsing history and application interaction history to determine that the mobile device regularly visits the same web site(s) and typically accesses the same software applications that retrieve IP data content from a content provider over theInternet 115. Using this data, theintelligent caching server 135 may then connect to the content provider(s) and download the content deemed to be of interest to themobile device 110. - The logic flow 600 may queue the content obtained from content providers at
block 625. For example, theintelligent caching server 135 may store the downloaded content deemed to be of interest to themobile device 110 in a local buffer that is associated or linked with themobile device 110. Theintelligent caching server 135 may then push a notification to themobile device 110 informing themobile device 110 of the queued content waiting on theintelligent caching server 135 atblock 630. - Upon receipt of the content notification from the
intelligent caching server 135, the logic flow may determine if themobile device 110 currently has a WiFi connection atblock 635. For example, thepredictive caching application 240 may query theWiFi transceiver 210 to determine whether theWiFi transceiver 210 is active and connected to an IP network access point and therefore capable of exchanging IP data over theInternet 115. If theWiFi transceiver 210 does not currently have a connection with an IP network access point, the logic flow 600 may wait until themobile device 110 has established a WiFi connection atblock 640. For example, thepredictive caching application 240 may attempt to invoke the WiFi transceiver and its associated intelligence to scan for and connect with an available WiFi network. Thepredictive caching application 240 may continuously or periodically monitor the WiFi connection status of theWiFi transceiver 240 and notify theintelligent caching server 135 of WiFi connectivity when it exists atblock 645. By running thepredictive caching application 240 in the background, it can be ready to notify theintelligent caching server 135 as soon as a WiFi connection is established. - The logic flow 600 may push IP content data over WiFi or an alternative network to the
mobile device 110 atblock 650. For example, when the preintelligent caching server 135 receives notification that themobile device 110 does have WiFi connectivity, theintelligent caching server 135 can push IP content data it has determined to be of interest to the user or that the user has specifically requested to the mobile device. The downloading and caching step ofblock 335 may be optimized using observed WiFi connectivity pattern data. Using this information, theintelligent caching server 135 may attempt to push IP content data during time frames that themobile device 110 is typically connected to a WiFi network. For example, the mobile device may typically be coupled with a WiFi network at 5:00 AM each morning. This may be because the user of themobile device 110 is either at home in a WiFi environment or perhaps at a hotel that also includes a WiFi environment. Theintelligent caching server 135 may attempt to push desired IP data at 5:00 AM each day so that themobile device 110 can cache the IP data for later access by the user even if no WiFi connection exists. - Alternatively, the logic flow 600 may download and cache IP content data over WiFi or an alternative network. For example, if the
predictive caching application 240 determines that themobile device 110 does have WiFi connectivity, thepredictive caching application 240 can download IP content data it has determined to be of interest to the user or that the user has specifically requested from theintelligent caching server 135. The downloading and caching step may be optimized using the WiFi connectivity pattern data observed inblock 310. Using this information, thepredictive caching application 240 may attempt to download IP content data during time frames that themobile device 110 is typically connected to a WiFi network. In addition, thepredictive caching application 240 may run in the background and periodically re-fresh the cached data with new IP content data anytime a WiFi connection exists and new content data is available on the intelligent caching server. Each successful refresh helps keep the cached data as up to date as possible. - The logic flow 600 may store pushed or pulled IP content data in cache memory of the
mobile device 110 atblock 655. For example, thepredictive caching application 240 may analyze the received pushed IP content data and store it appropriately in local mobile device cache memory. For instance, IP content data associated with a web site may be stored in web browser cache memory. If the IP content data is associated with aparticular software application 230 rather than a generic web browser, thepredictive caching application 240 may store the data in a cache buffer associated with thatsoftware application 230. This storage mechanism allows the user to access the IP content data using the same user interface(s) and/or native application (e.g, web browser, Weather Channel™ app, ESPN™ app, CNN™ app, etc.) as always. The end result is a data consumption experience for the user that is no different than if the user had just requested and downloaded the IP content data. -
FIG. 7 illustrates one embodiment of a logic flow 700. The logic flow 700 may be representative of some or all of the operations executed by one or more embodiments described herein. In this embodiment, steps are disclosed that allow amobile device 110 to consume, on themobile device 110, cached IP content data. - In the illustrated embodiment shown in
FIG. 7 , the logic flow 700 may receive a request to fetch IP data atblock 705. For example, the user of themobile device 110 may be executing a web browser and request access to a particular URL. In another example, the user may be running aparticular software application 230 on themobile device 110. Thesoftware application 230 may receive input from the user that causes it to fetch IP data from a content provider outside themobile device 110. The content provider may be accessible via theInternet 115. - The logic flow 700 may then determine if the
mobile device 110 has a Wifi or alternate network connection atblock 710. Alternate network connection excludes a cellular network connection since an object is to minimize access to and use of a cellular network for non-voice (e.g., IP data) purposes. When themobile device 110 does have a WiFi or alternate network connection as determined atblock 710, thepredictive caching application 240 may run in the background to receive and/or refresh cached IP data atblock 715.Block 715 may be implemented using one or more of the embodiments described inFIG. 3 , 4, or 6. In addition, when themobile device 110 does have a WiFi or alternate network connection, themobile device 110 may execute any requests or instructions to fetch IP data via a connection with the Internet over WiFi or an alternate network. The downloaded IP data may then be presented to the user from within the native application used to make the request over one or more of the user interface(s) 235 of themobile device 110 atblock 730. - When the
mobile device 110 does not have a WiFi or alternate network connection as determined atblock 710, the logic flow 700 determines if the request for IP data is for data already stored in local cache memory atblock 735. If the IP data is not already stored in local cache memory, the mobile device may use thecellular data network 125 to download the requested IP data. Use of thecellular data network 125 may be automatic or allowed only upon an affirmative user response to a prompt. If the IP data is already stored in local cache memory, the mobile device may prompt the user to use the cached data atblock 740. If the user responds negatively, the request may be processed live using a connection to thecellular network 125. Otherwise, thecellular network 125 may be bypassed atblock 745 and the IP data may be accessed via the cache memory atblock 750. The IP data may then be presented to the user from within the native application used to make the request over one or more of the user interface(s) 235 of themobile device 110 atblock 730. - It should be noted that the use of WiFi with respect to the description of
FIGS. 3-7 may be substituted with an alternative non-cellular IP network protocol or standard such as, but not limited to, WiMax or a whitespace network. In addition, a wired IP network connection such as Ethernet, if available to themobile device 110, may be considered analternative network 130.
Claims (15)
1. A mobile device comprising:
a cellular transceiver;
at least one other RF transceiver communicable with at least one non-cellular IP network access point;
a data storage component; and
at least one processor operable with one or more software applications configured to:
receive an Internet Protocol (IP) data request for IP data;
automatically bypass any cellular network connection and download the IP data to the mobile device using the at least one other RF transceiver over the at least one non-cellular IP network access point such that the stored IP data is not transported over a cellular network;
store the downloaded IP data in the data storage component; and
in response to a subsequent request for the IP data and when no non-cellular IP network access point connection is available to the mobile device:
bypass an available cellular network connection; and
access the stored IP data from cache memory using an application on the mobile device associated with the stored IP data.
2. The mobile device of claim 1 , the at least one processor operable with one or more software applications further configured to:
collect non-cellular IP network connectivity information associated with the mobile device;
predict, based on the collected non-cellular IP network connectivity information, when the mobile device can be expected to be connected to the at least one non-cellular IP network access point; and
attempt to perform the automatically downloading the IP data step at a time when the mobile device is predicted to be connected to the at least one non-cellular IP network access point.
3. The mobile device of claim 1 , the at least one processor operable with one or more software applications further configured to:
wait until the mobile device is connected to the at least one non-cellular IP network access point before automatically downloading the IP data.
4. The mobile device of claim 1 , the at least one processor operable with one or more software applications further configured to:
store the downloaded IP data in cache memory on the mobile device wherein the cache memory is associated with an application on the mobile device that would have downloaded the IP data if the download had been manually initiated by a user.
5. The mobile device of claim 1 , wherein the at least one non-cellular IP network access point is one of a WiFi IP network access point, a WiMax IP network access point, and a whitespace IP network access point.
6. At least one non-transitory machine-readable medium comprising a set of instructions that in response to being executed on a mobile computing device cause the mobile computing device to:
receive an Internet Protocol (IP) data request for IP data;
automatically bypass any cellular network connection and download the IP data to the mobile device using the at least one other RF transceiver over the at least one non-cellular IP network access point such that the stored IP data is not transported over a cellular network;
store the downloaded IP data in the data storage component; and
in response to a subsequent request for the IP data and when no non-cellular IP network access point connection is available to the mobile device:
bypass an available cellular network connection; and
access the stored IP data from cache memory using an application on the mobile device associated with the stored IP data.
7. The at least one non-transitory machine-readable medium of claim 6 , comprising instructions that in response to being executed on the mobile computing device cause the computing device to:
collect non-cellular IP network connectivity information associated with the mobile device;
predict, based on the collected non-cellular IP network connectivity information, when the mobile device can be expected to be connected to the at least one non-cellular IP network access point; and
attempt to perform the automatically downloading the IP data step at a time when the mobile device is predicted to be connected to the at least one non-cellular IP network access point.
8. The at least one non-transitory machine-readable medium of claim 6 , comprising instructions that in response to being executed on the mobile computing device cause the computing device to:
wait until the mobile device is connected to the at least one non-cellular IP network access point before automatically downloading the IP data.
9. The at least one non-transitory machine-readable medium of claim 6 , comprising instructions that in response to being executed on the mobile computing device cause the computing device to:
store the downloaded IP data in cache memory on the mobile device wherein the cache memory is associated with an application on the mobile device that would have downloaded the IP data if the download had been manually initiated by a user.
10. The at least one non-transitory machine-readable medium of claim 6 , wherein the at least one non-cellular IP network access point is one of a WiFi IP network access point, a WiMax IP network access point, and a whitespace IP network access point.
11. A method comprising:
in a mobile device having both a cellular transceiver and at least one other RF transceiver communicable with at least one non-cellular IP network access point:
receiving an Internet Protocol (IP) data request for IP data;
automatically bypassing any cellular network connection and downloading the IP data to the mobile device using the at least one other RF transceiver over the at least one non-cellular IP network access point such that the stored IP data is not transported over a cellular network;
storing the downloaded IP data in the data storage component; and
in response to a subsequent request for the IP data and when no non-cellular IP network access point connection is available to the mobile device:
bypassing an available cellular network connection; and
accessing the stored IP data from cache memory using an application on the mobile device associated with the stored IP data.
12. The method of claim 11 further comprising:
collecting non-cellular IP network connectivity information associated with the mobile device;
predicting, based on the collected non-cellular IP network connectivity information, when the mobile device can be expected to be connected to the at least one non-cellular IP network access point; and
attempting to perform the automatically downloading the IP data step at a time when the mobile device is predicted to be connected to the at least one non-cellular IP network access point.
13. The method of claim 11 further comprising waiting until the mobile device is connected to the at least one non-cellular IP network access point before automatically downloading the IP data.
14. The method of claim 11 further comprising storing the downloaded IP data in cache memory on the mobile device wherein the cache memory is associated with an application on the mobile device that would have downloaded the IP data if the download had been manually initiated by a user.
15. The method of claim 11 wherein the at least one non-cellular IP network access point is one of a WiFi IP network access point, a WiMax IP network access point, and a whitespace IP network access point.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/338,903 US20140335911A1 (en) | 2013-09-12 | 2014-07-23 | Predictive Caching of IP Data on Mobile Device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/024,780 US8825881B2 (en) | 2013-09-12 | 2013-09-12 | Predictive caching of IP data |
US14/338,903 US20140335911A1 (en) | 2013-09-12 | 2014-07-23 | Predictive Caching of IP Data on Mobile Device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/024,780 Continuation US8825881B2 (en) | 2013-09-12 | 2013-09-12 | Predictive caching of IP data |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140335911A1 true US20140335911A1 (en) | 2014-11-13 |
Family
ID=49878904
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/024,780 Active US8825881B2 (en) | 2013-09-12 | 2013-09-12 | Predictive caching of IP data |
US14/336,661 Active US8948042B2 (en) | 2013-09-12 | 2014-07-21 | Predictive caching of IP data |
US14/336,696 Abandoned US20140328202A1 (en) | 2013-09-12 | 2014-07-21 | Predictive Caching of IP Data |
US14/337,335 Abandoned US20140329559A1 (en) | 2013-09-12 | 2014-07-22 | Predictive Caching of IP Data |
US14/338,903 Abandoned US20140335911A1 (en) | 2013-09-12 | 2014-07-23 | Predictive Caching of IP Data on Mobile Device |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/024,780 Active US8825881B2 (en) | 2013-09-12 | 2013-09-12 | Predictive caching of IP data |
US14/336,661 Active US8948042B2 (en) | 2013-09-12 | 2014-07-21 | Predictive caching of IP data |
US14/336,696 Abandoned US20140328202A1 (en) | 2013-09-12 | 2014-07-21 | Predictive Caching of IP Data |
US14/337,335 Abandoned US20140329559A1 (en) | 2013-09-12 | 2014-07-22 | Predictive Caching of IP Data |
Country Status (2)
Country | Link |
---|---|
US (5) | US8825881B2 (en) |
WO (1) | WO2015038462A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10177928B2 (en) | 2014-05-23 | 2019-01-08 | Sony Corporation | Method, apparatus and system for delivering content |
US20190213241A1 (en) * | 2016-11-14 | 2019-07-11 | Tencent Technology (Shenzhen) Company Limited | Web page display method and apparatus, mobile terminal, and storage medium |
US11438754B1 (en) * | 2018-05-25 | 2022-09-06 | El Toro.Com, Llc | Systems, methods, and apparatuses for providing content according to geolocation |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554868B2 (en) | 2007-01-05 | 2013-10-08 | Yahoo! Inc. | Simultaneous sharing communication interface |
MX2014000392A (en) | 2011-07-12 | 2014-04-30 | Mobli Technologies 2010 Ltd | Methods and systems of providing visual content editing functions. |
US8972357B2 (en) | 2012-02-24 | 2015-03-03 | Placed, Inc. | System and method for data collection to validate location data |
US11734712B2 (en) | 2012-02-24 | 2023-08-22 | Foursquare Labs, Inc. | Attributing in-store visits to media consumption based on data collected from user devices |
US10155168B2 (en) | 2012-05-08 | 2018-12-18 | Snap Inc. | System and method for adaptable avatars |
US20150206349A1 (en) | 2012-08-22 | 2015-07-23 | Goldrun Corporation | Augmented reality virtual content platform apparatuses, methods and systems |
US8775972B2 (en) | 2012-11-08 | 2014-07-08 | Snapchat, Inc. | Apparatus and method for single action control of social network profile access |
US9933990B1 (en) | 2013-03-15 | 2018-04-03 | Sonitum Inc. | Topological mapping of control parameters |
US10506067B2 (en) | 2013-03-15 | 2019-12-10 | Sonitum Inc. | Dynamic personalization of a communication session in heterogeneous environments |
US9705831B2 (en) | 2013-05-30 | 2017-07-11 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US10439972B1 (en) | 2013-05-30 | 2019-10-08 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US9742713B2 (en) | 2013-05-30 | 2017-08-22 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
JP6232828B2 (en) * | 2013-08-13 | 2017-11-22 | 日本電気株式会社 | Still image providing device |
US20140342730A1 (en) * | 2013-09-12 | 2014-11-20 | Bandwidth.Com, Inc. | Predictive Caching of IP Data |
CN104995962A (en) * | 2013-11-21 | 2015-10-21 | 华为技术有限公司 | Network access selection method and terminal |
US9083770B1 (en) | 2013-11-26 | 2015-07-14 | Snapchat, Inc. | Method and system for integrating real time communication features in applications |
CA2863124A1 (en) | 2014-01-03 | 2015-07-03 | Investel Capital Corporation | User content sharing system and method with automated external content integration |
US9628950B1 (en) | 2014-01-12 | 2017-04-18 | Investment Asset Holdings Llc | Location-based messaging |
US10082926B1 (en) | 2014-02-21 | 2018-09-25 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US8909725B1 (en) * | 2014-03-07 | 2014-12-09 | Snapchat, Inc. | Content delivery network for ephemeral objects |
ES2715419T3 (en) | 2014-03-23 | 2019-06-04 | Opanga Networks Inc | Control of content predistribution to a mobile device |
US9276886B1 (en) | 2014-05-09 | 2016-03-01 | Snapchat, Inc. | Apparatus and method for dynamically configuring application component tiles |
KR102176428B1 (en) * | 2014-05-23 | 2020-11-09 | 삼성전자주식회사 | Apparatus and method for improving service quality of media transmission through wlan |
US10536881B2 (en) * | 2014-05-23 | 2020-01-14 | Samsung Electronics Co., Ltd. | Method and apparatus for improving quality of service that a user experiences when media is transmitted through WLAN |
US9537811B2 (en) | 2014-10-02 | 2017-01-03 | Snap Inc. | Ephemeral gallery of ephemeral messages |
US9396354B1 (en) | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
IL239238B (en) | 2014-06-05 | 2022-04-01 | Mobli Tech 2010 Ltd | Automatic article enrichment by social media trends |
US9113301B1 (en) | 2014-06-13 | 2015-08-18 | Snapchat, Inc. | Geo-location based event gallery |
US9225897B1 (en) | 2014-07-07 | 2015-12-29 | Snapchat, Inc. | Apparatus and method for supplying content aware photo filters |
US10033784B2 (en) * | 2014-07-14 | 2018-07-24 | International Business Machines Corporation | Predictive management of offline storage content for mobile applications and optimized network usage for mobile devices |
US10055717B1 (en) | 2014-08-22 | 2018-08-21 | Snap Inc. | Message processor with application prompts |
US9948539B2 (en) * | 2014-08-29 | 2018-04-17 | The Nielsen Company (Us), Llc | Methods and apparatus to predict end of streaming media using a prediction model |
US10423983B2 (en) | 2014-09-16 | 2019-09-24 | Snap Inc. | Determining targeting information based on a predictive targeting model |
US10824654B2 (en) | 2014-09-18 | 2020-11-03 | Snap Inc. | Geolocation-based pictographs |
US11216869B2 (en) | 2014-09-23 | 2022-01-04 | Snap Inc. | User interface to augment an image using geolocation |
US10284508B1 (en) | 2014-10-02 | 2019-05-07 | Snap Inc. | Ephemeral gallery of ephemeral messages with opt-in permanence |
US9015285B1 (en) | 2014-11-12 | 2015-04-21 | Snapchat, Inc. | User interface for accessing media at a geographic location |
US9385983B1 (en) | 2014-12-19 | 2016-07-05 | Snapchat, Inc. | Gallery of messages from individuals with a shared interest |
US10311916B2 (en) | 2014-12-19 | 2019-06-04 | Snap Inc. | Gallery of videos set to an audio time line |
US9854219B2 (en) | 2014-12-19 | 2017-12-26 | Snap Inc. | Gallery of videos set to an audio time line |
US20160198014A1 (en) * | 2015-01-05 | 2016-07-07 | Onavo Mobile Ltd. | Techniques for predictive network resource caching |
US9754355B2 (en) | 2015-01-09 | 2017-09-05 | Snap Inc. | Object recognition based photo filters |
US11388226B1 (en) | 2015-01-13 | 2022-07-12 | Snap Inc. | Guided personal identity based actions |
US10133705B1 (en) | 2015-01-19 | 2018-11-20 | Snap Inc. | Multichannel system |
US9521515B2 (en) | 2015-01-26 | 2016-12-13 | Mobli Technologies 2010 Ltd. | Content request by location |
US10223397B1 (en) | 2015-03-13 | 2019-03-05 | Snap Inc. | Social graph based co-location of network users |
KR102371138B1 (en) | 2015-03-18 | 2022-03-10 | 스냅 인코포레이티드 | Geo-fence authorization provisioning |
US9692967B1 (en) | 2015-03-23 | 2017-06-27 | Snap Inc. | Systems and methods for reducing boot time and power consumption in camera systems |
US9881094B2 (en) | 2015-05-05 | 2018-01-30 | Snap Inc. | Systems and methods for automated local story generation and curation |
US10135949B1 (en) | 2015-05-05 | 2018-11-20 | Snap Inc. | Systems and methods for story and sub-story navigation |
US9264944B1 (en) | 2015-07-06 | 2016-02-16 | Peerless Network, Inc. | SBC-localized handoff |
US10993069B2 (en) | 2015-07-16 | 2021-04-27 | Snap Inc. | Dynamically adaptive media content delivery |
US10084884B2 (en) | 2015-07-31 | 2018-09-25 | At&T Intellectual Property I, L.P. | Facilitation of efficient web site page loading |
US10817898B2 (en) | 2015-08-13 | 2020-10-27 | Placed, Llc | Determining exposures to content presented by physical objects |
US10389842B2 (en) | 2015-09-18 | 2019-08-20 | International Business Machines Corporation | Mobile device cache updating |
US9948494B2 (en) | 2015-09-29 | 2018-04-17 | International Business Machines Corporation | Method to save data usage in mobile devices based on prior history |
US9652896B1 (en) | 2015-10-30 | 2017-05-16 | Snap Inc. | Image based tracking in augmented reality systems |
US10474321B2 (en) | 2015-11-30 | 2019-11-12 | Snap Inc. | Network resource location linking and visual content sharing |
US9984499B1 (en) | 2015-11-30 | 2018-05-29 | Snap Inc. | Image and point cloud based tracking and in augmented reality systems |
US10354425B2 (en) | 2015-12-18 | 2019-07-16 | Snap Inc. | Method and system for providing context relevant media augmentation |
US10285001B2 (en) | 2016-02-26 | 2019-05-07 | Snap Inc. | Generation, curation, and presentation of media collections |
US11023514B2 (en) | 2016-02-26 | 2021-06-01 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections |
US10679389B2 (en) | 2016-02-26 | 2020-06-09 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections |
US9497606B1 (en) | 2016-03-24 | 2016-11-15 | Peerless Network, Inc. | Native dialer fall-back |
US10339365B2 (en) | 2016-03-31 | 2019-07-02 | Snap Inc. | Automated avatar generation |
US11900418B2 (en) | 2016-04-04 | 2024-02-13 | Snap Inc. | Mutable geo-fencing system |
US9946653B2 (en) * | 2016-04-29 | 2018-04-17 | Ncr Corporation | Predictive memory caching |
US9706351B1 (en) | 2016-04-29 | 2017-07-11 | Peerless Network, Inc. | Emergency call over a data network |
US10638256B1 (en) | 2016-06-20 | 2020-04-28 | Pipbin, Inc. | System for distribution and display of mobile targeted augmented reality content |
US11876941B1 (en) | 2016-06-20 | 2024-01-16 | Pipbin, Inc. | Clickable augmented reality content manager, system, and network |
US10334134B1 (en) | 2016-06-20 | 2019-06-25 | Maximillian John Suiter | Augmented real estate with location and chattel tagging system and apparatus for virtual diary, scrapbooking, game play, messaging, canvasing, advertising and social interaction |
US11201981B1 (en) | 2016-06-20 | 2021-12-14 | Pipbin, Inc. | System for notification of user accessibility of curated location-dependent content in an augmented estate |
US11785161B1 (en) | 2016-06-20 | 2023-10-10 | Pipbin, Inc. | System for user accessibility of tagged curated augmented reality content |
US11044393B1 (en) | 2016-06-20 | 2021-06-22 | Pipbin, Inc. | System for curation and display of location-dependent augmented reality content in an augmented estate system |
US10805696B1 (en) | 2016-06-20 | 2020-10-13 | Pipbin, Inc. | System for recording and targeting tagged content of user interest |
US10430838B1 (en) | 2016-06-28 | 2019-10-01 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections with automated advertising |
US9681265B1 (en) | 2016-06-28 | 2017-06-13 | Snap Inc. | System to track engagement of media items |
US10387514B1 (en) | 2016-06-30 | 2019-08-20 | Snap Inc. | Automated content curation and communication |
US10855632B2 (en) | 2016-07-19 | 2020-12-01 | Snap Inc. | Displaying customized electronic messaging graphics |
KR102267482B1 (en) | 2016-08-30 | 2021-06-22 | 스냅 인코포레이티드 | Systems and Methods for Simultaneous Localization and Mapping |
US10432559B2 (en) | 2016-10-24 | 2019-10-01 | Snap Inc. | Generating and displaying customized avatars in electronic messages |
CN112738408B (en) | 2016-11-07 | 2022-09-16 | 斯纳普公司 | Selective identification and ordering of image modifiers |
US10203855B2 (en) | 2016-12-09 | 2019-02-12 | Snap Inc. | Customized user-controlled media overlays |
US11616745B2 (en) | 2017-01-09 | 2023-03-28 | Snap Inc. | Contextual generation and selection of customized media content |
US10454857B1 (en) | 2017-01-23 | 2019-10-22 | Snap Inc. | Customized digital avatar accessories |
US10915911B2 (en) | 2017-02-03 | 2021-02-09 | Snap Inc. | System to determine a price-schedule to distribute media content |
US10319149B1 (en) | 2017-02-17 | 2019-06-11 | Snap Inc. | Augmented reality anamorphosis system |
US11250075B1 (en) | 2017-02-17 | 2022-02-15 | Snap Inc. | Searching social media content |
US10074381B1 (en) | 2017-02-20 | 2018-09-11 | Snap Inc. | Augmented reality speech balloon system |
US10565795B2 (en) | 2017-03-06 | 2020-02-18 | Snap Inc. | Virtual vision system |
US10523625B1 (en) | 2017-03-09 | 2019-12-31 | Snap Inc. | Restricted group content collection |
US10581782B2 (en) | 2017-03-27 | 2020-03-03 | Snap Inc. | Generating a stitched data stream |
US10582277B2 (en) | 2017-03-27 | 2020-03-03 | Snap Inc. | Generating a stitched data stream |
US11170393B1 (en) | 2017-04-11 | 2021-11-09 | Snap Inc. | System to calculate an engagement score of location based media content |
US10387730B1 (en) | 2017-04-20 | 2019-08-20 | Snap Inc. | Augmented reality typography personalization system |
KR20220141927A (en) | 2017-04-27 | 2022-10-20 | 스냅 인코포레이티드 | Location privacy management on map-based social media platforms |
US10212541B1 (en) | 2017-04-27 | 2019-02-19 | Snap Inc. | Selective location-based identity communication |
US11893647B2 (en) | 2017-04-27 | 2024-02-06 | Snap Inc. | Location-based virtual avatars |
US10467147B1 (en) | 2017-04-28 | 2019-11-05 | Snap Inc. | Precaching unlockable data elements |
US10803120B1 (en) | 2017-05-31 | 2020-10-13 | Snap Inc. | Geolocation based playlists |
CN107508985A (en) * | 2017-08-22 | 2017-12-22 | 山东大学 | A kind of method that application program is downloaded in Android mobile phone |
US11475254B1 (en) | 2017-09-08 | 2022-10-18 | Snap Inc. | Multimodal entity identification |
US10740974B1 (en) | 2017-09-15 | 2020-08-11 | Snap Inc. | Augmented reality system |
US10499191B1 (en) | 2017-10-09 | 2019-12-03 | Snap Inc. | Context sensitive presentation of content |
US10573043B2 (en) | 2017-10-30 | 2020-02-25 | Snap Inc. | Mobile-based cartographic control of display content |
US11265273B1 (en) | 2017-12-01 | 2022-03-01 | Snap, Inc. | Dynamic media overlay with smart widget |
US11017173B1 (en) | 2017-12-22 | 2021-05-25 | Snap Inc. | Named entity recognition visual context and caption data |
US10678818B2 (en) | 2018-01-03 | 2020-06-09 | Snap Inc. | Tag distribution visualization system |
US11507614B1 (en) | 2018-02-13 | 2022-11-22 | Snap Inc. | Icon based tagging |
US10885136B1 (en) | 2018-02-28 | 2021-01-05 | Snap Inc. | Audience filtering system |
US10979752B1 (en) | 2018-02-28 | 2021-04-13 | Snap Inc. | Generating media content items based on location information |
US10327096B1 (en) | 2018-03-06 | 2019-06-18 | Snap Inc. | Geo-fence selection system |
US10933311B2 (en) | 2018-03-14 | 2021-03-02 | Snap Inc. | Generating collectible items based on location information |
US11163941B1 (en) | 2018-03-30 | 2021-11-02 | Snap Inc. | Annotating a collection of media content items |
US10219111B1 (en) | 2018-04-18 | 2019-02-26 | Snap Inc. | Visitation tracking system |
US10896197B1 (en) | 2018-05-22 | 2021-01-19 | Snap Inc. | Event detection system |
US10679393B2 (en) | 2018-07-24 | 2020-06-09 | Snap Inc. | Conditional modification of augmented reality object |
US10997760B2 (en) | 2018-08-31 | 2021-05-04 | Snap Inc. | Augmented reality anthropomorphization system |
US10698583B2 (en) | 2018-09-28 | 2020-06-30 | Snap Inc. | Collaborative achievement interface |
US10778623B1 (en) | 2018-10-31 | 2020-09-15 | Snap Inc. | Messaging and gaming applications communication platform |
CN109327850B (en) * | 2018-11-16 | 2021-06-25 | 安徽大学 | Multi-user detection method of non-orthogonal multiple access system based on gradient tracking and multi-step quasi-Newton method technology |
US11199957B1 (en) | 2018-11-30 | 2021-12-14 | Snap Inc. | Generating customized avatars based on location information |
US10939236B1 (en) | 2018-11-30 | 2021-03-02 | Snap Inc. | Position service to determine relative position to map features |
US11032670B1 (en) | 2019-01-14 | 2021-06-08 | Snap Inc. | Destination sharing in location sharing system |
US10939246B1 (en) | 2019-01-16 | 2021-03-02 | Snap Inc. | Location-based context information sharing in a messaging system |
US11294936B1 (en) | 2019-01-30 | 2022-04-05 | Snap Inc. | Adaptive spatial density based clustering |
US10936066B1 (en) | 2019-02-13 | 2021-03-02 | Snap Inc. | Sleep detection in a location sharing system |
US10838599B2 (en) | 2019-02-25 | 2020-11-17 | Snap Inc. | Custom media overlay system |
US10964082B2 (en) | 2019-02-26 | 2021-03-30 | Snap Inc. | Avatar based on weather |
US10852918B1 (en) | 2019-03-08 | 2020-12-01 | Snap Inc. | Contextual information in chat |
US11868414B1 (en) | 2019-03-14 | 2024-01-09 | Snap Inc. | Graph-based prediction for contact suggestion in a location sharing system |
US11852554B1 (en) | 2019-03-21 | 2023-12-26 | Snap Inc. | Barometer calibration in a location sharing system |
US11249614B2 (en) | 2019-03-28 | 2022-02-15 | Snap Inc. | Generating personalized map interface with enhanced icons |
US10810782B1 (en) | 2019-04-01 | 2020-10-20 | Snap Inc. | Semantic texture mapping system |
US10582453B1 (en) | 2019-05-30 | 2020-03-03 | Snap Inc. | Wearable device location systems architecture |
US10560898B1 (en) | 2019-05-30 | 2020-02-11 | Snap Inc. | Wearable device location systems |
US10893385B1 (en) | 2019-06-07 | 2021-01-12 | Snap Inc. | Detection of a physical collision between two client devices in a location sharing system |
US11307747B2 (en) | 2019-07-11 | 2022-04-19 | Snap Inc. | Edge gesture interface with smart interactions |
US11821742B2 (en) | 2019-09-26 | 2023-11-21 | Snap Inc. | Travel based notifications |
US11218838B2 (en) | 2019-10-31 | 2022-01-04 | Snap Inc. | Focused map-based context information surfacing |
US10880496B1 (en) | 2019-12-30 | 2020-12-29 | Snap Inc. | Including video feed in message thread |
US11128715B1 (en) | 2019-12-30 | 2021-09-21 | Snap Inc. | Physical friend proximity in chat |
US11429618B2 (en) | 2019-12-30 | 2022-08-30 | Snap Inc. | Surfacing augmented reality objects |
US11343323B2 (en) | 2019-12-31 | 2022-05-24 | Snap Inc. | Augmented reality objects registry |
US11169658B2 (en) | 2019-12-31 | 2021-11-09 | Snap Inc. | Combined map icon with action indicator |
US11228551B1 (en) | 2020-02-12 | 2022-01-18 | Snap Inc. | Multiple gateway message exchange |
US11516167B2 (en) | 2020-03-05 | 2022-11-29 | Snap Inc. | Storing data based on device location |
US11619501B2 (en) | 2020-03-11 | 2023-04-04 | Snap Inc. | Avatar based on trip |
US10956743B1 (en) | 2020-03-27 | 2021-03-23 | Snap Inc. | Shared augmented reality system |
US11430091B2 (en) | 2020-03-27 | 2022-08-30 | Snap Inc. | Location mapping for large scale augmented-reality |
US11290851B2 (en) | 2020-06-15 | 2022-03-29 | Snap Inc. | Location sharing using offline and online objects |
US11314776B2 (en) | 2020-06-15 | 2022-04-26 | Snap Inc. | Location sharing using friend list versions |
US11503432B2 (en) | 2020-06-15 | 2022-11-15 | Snap Inc. | Scalable real-time location sharing framework |
US11483267B2 (en) | 2020-06-15 | 2022-10-25 | Snap Inc. | Location sharing using different rate-limited links |
US11308327B2 (en) | 2020-06-29 | 2022-04-19 | Snap Inc. | Providing travel-based augmented reality content with a captured image |
US11349797B2 (en) | 2020-08-31 | 2022-05-31 | Snap Inc. | Co-location connection service |
US11606756B2 (en) | 2021-03-29 | 2023-03-14 | Snap Inc. | Scheduling requests for location data |
US11645324B2 (en) | 2021-03-31 | 2023-05-09 | Snap Inc. | Location-based timeline media content system |
US11829834B2 (en) | 2021-10-29 | 2023-11-28 | Snap Inc. | Extended QR code |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100161831A1 (en) * | 2008-12-19 | 2010-06-24 | David Haas | Optimizing content and communication in multiaccess mobile device exhibiting communication functionalities responsive of tempo spatial parameters |
US20120215539A1 (en) * | 2011-02-22 | 2012-08-23 | Ajay Juneja | Hybridized client-server speech recognition |
US20130311985A1 (en) * | 2012-05-17 | 2013-11-21 | International Business Machines Corporation | Updating Web Resources |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032409B1 (en) * | 1999-11-22 | 2011-10-04 | Accenture Global Services Limited | Enhanced visibility during installation management in a network-based supply chain environment |
US8059580B2 (en) * | 2004-05-14 | 2011-11-15 | Hewlett-Packard Development Company, L.P. | Internet micro cell |
US8024423B2 (en) * | 2009-04-29 | 2011-09-20 | Ianywhere Solutions, Inc. | Maintaining connections between mobile devices and servers |
US8558693B2 (en) * | 2009-09-10 | 2013-10-15 | Tribal Technologies, Inc. | System and method for location-based reminders on a mobile device |
CN102612830A (en) * | 2009-11-06 | 2012-07-25 | 阿尔卡特朗讯公司 | A system and method for pre-fetching and caching content |
GB2495455B (en) * | 2010-07-26 | 2013-11-13 | Seven Networks Inc | Prediction of activity session for mobile network use optimization and user experience enhancement |
US8886742B2 (en) * | 2011-01-28 | 2014-11-11 | Level 3 Communications, Llc | Content delivery network with deep caching infrastructure |
US8924503B2 (en) * | 2011-12-07 | 2014-12-30 | International Business Machines Corporation | Data services using location patterns and intelligent caching |
US10038927B2 (en) * | 2011-12-22 | 2018-07-31 | Cisco Technology, Inc. | Out-of-band signaling and device-based content control |
-
2013
- 2013-09-12 US US14/024,780 patent/US8825881B2/en active Active
-
2014
- 2014-07-21 US US14/336,661 patent/US8948042B2/en active Active
- 2014-07-21 US US14/336,696 patent/US20140328202A1/en not_active Abandoned
- 2014-07-22 US US14/337,335 patent/US20140329559A1/en not_active Abandoned
- 2014-07-23 US US14/338,903 patent/US20140335911A1/en not_active Abandoned
- 2014-09-08 WO PCT/US2014/054507 patent/WO2015038462A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100161831A1 (en) * | 2008-12-19 | 2010-06-24 | David Haas | Optimizing content and communication in multiaccess mobile device exhibiting communication functionalities responsive of tempo spatial parameters |
US20120215539A1 (en) * | 2011-02-22 | 2012-08-23 | Ajay Juneja | Hybridized client-server speech recognition |
US20130311985A1 (en) * | 2012-05-17 | 2013-11-21 | International Business Machines Corporation | Updating Web Resources |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10177928B2 (en) | 2014-05-23 | 2019-01-08 | Sony Corporation | Method, apparatus and system for delivering content |
US20190213241A1 (en) * | 2016-11-14 | 2019-07-11 | Tencent Technology (Shenzhen) Company Limited | Web page display method and apparatus, mobile terminal, and storage medium |
US11438754B1 (en) * | 2018-05-25 | 2022-09-06 | El Toro.Com, Llc | Systems, methods, and apparatuses for providing content according to geolocation |
US11930555B1 (en) | 2018-05-25 | 2024-03-12 | El Toro.Com, Llc | Systems, methods, and apparatuses for providing content according to geolocation |
Also Published As
Publication number | Publication date |
---|---|
US20140328201A1 (en) | 2014-11-06 |
US8825881B2 (en) | 2014-09-02 |
WO2015038462A1 (en) | 2015-03-19 |
US20140328202A1 (en) | 2014-11-06 |
US20140329559A1 (en) | 2014-11-06 |
US20140011538A1 (en) | 2014-01-09 |
US8948042B2 (en) | 2015-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8948042B2 (en) | Predictive caching of IP data | |
US20140342772A1 (en) | Predictive Caching of IP Data | |
US11184857B2 (en) | Optimizing mobile network traffic coordination across multiple applications running on a mobile device | |
US9325796B2 (en) | System and method of device capability signaling | |
CN107251525B (en) | Distributed server architecture for supporting predictive content pre-fetching services for mobile device users | |
US9553816B2 (en) | Optimizing mobile network traffic coordination across multiple applications running on a mobile device | |
US9094481B2 (en) | Adaptive downloading or streaming to conserve mobile device or network resources | |
KR101509871B1 (en) | Method and apparatus for loading a photo | |
US20140342730A1 (en) | Predictive Caching of IP Data | |
US20160306895A1 (en) | Web application acceleration with personalized cache or prerendering | |
US20150220556A1 (en) | Methods, apparatuses and computer program products for providing a protocol to resolve synchronization conflicts when synchronizing between multiple devices | |
WO2012151980A1 (en) | Service processing server, system, and method | |
Zhang et al. | Optimizing power consumption of mobile devices for video streaming over 4G LTE networks | |
TW201336336A (en) | Method and system for connecting mobile device to server | |
WO2015038464A1 (en) | Caching of ip data on mobile device | |
US11943716B2 (en) | Optimizing mobile network traffic coordination across multiple applications running on a mobile device | |
US20160063412A1 (en) | Method for distributed goal-driven programming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BANDWIDTH.COM, INC., NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MULCAHY, JAMES;RATHNAM, SAI;SIGNING DATES FROM 20130910 TO 20130912;REEL/FRAME:033375/0006 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: RELAY, INC., NORTH CAROLINA Free format text: CHANGE OF NAME;ASSIGNOR:REPUBLIC WIRELESS, INC.;REEL/FRAME:056753/0703 Effective date: 20210511 |