US20150215427A1 - Memory allocation to store broadcast information - Google Patents

Memory allocation to store broadcast information Download PDF

Info

Publication number
US20150215427A1
US20150215427A1 US14/675,722 US201514675722A US2015215427A1 US 20150215427 A1 US20150215427 A1 US 20150215427A1 US 201514675722 A US201514675722 A US 201514675722A US 2015215427 A1 US2015215427 A1 US 2015215427A1
Authority
US
United States
Prior art keywords
user terminal
category
server
information
internet information
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
Application number
US14/675,722
Inventor
Jian Ma
Li Han
Yuhong Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Conversant Wireless Licensing SARL
Original Assignee
Core Wiresless Licensing SARL
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Core Wiresless Licensing SARL filed Critical Core Wiresless Licensing SARL
Priority to US14/675,722 priority Critical patent/US20150215427A1/en
Publication of US20150215427A1 publication Critical patent/US20150215427A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/32
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • Some example embodiments of the present disclosure are directed to an apparatus, method and system for memory allocation of a user terminal that receives broadcast Internet information and for improved broadcast distribution of Internet information.
  • a user terminal may determine a weight for one or more categories, each category being associated with Internet information to be broadcast.
  • the user terminal also may determine an available memory size of memory and may allocate memory to the one or more categories for storing the Internet information based on the weights and the available memory size.
  • a user terminal may receive information on memory requirements for one or more categories broadcast by a provider server.
  • the user terminal may determine a weight for the one or more categories, determine an available memory size, and allocate memory to each of the one or more categories based on the memory requirements, the weights, and the available memory size.
  • methods, apparatus, and systems in accordance with certain example embodiments of the present invention provide for crawling and aggregating Internet information to identify Internet information, categorizing Internet information into categories, generating a category guide to describe characteristics of each of the categories, broadcasting category guide to at least one user terminal, and broadcasting the internet information by category to the at least one user terminal in accordance with the category guide.
  • FIG. 2 illustrates architecture of a user terminal suitable for carrying out one or more example embodiments of the invention.
  • FIG. 4 illustrates a memory allocation method performed by a user terminal suitable for carrying out one or more example embodiments of the invention.
  • FIG. 6 illustrates a memory allocation example for a user terminal in accordance with one or more example embodiments of the invention.
  • the network computing environment 100 also may include a wireless or wired backchannel via broadcast station 106 or through backchannel station 110 .
  • the provider server 102 may use the backchannel to exchange information with the user terminal 108 .
  • the provider server 102 may communicate a category guide, as described in further detail below, to the user terminal 108 .
  • the user terminal 108 may communicate a subscription request that requests a subscription to an Internet information broadcasting service.
  • the provider server 102 and the user terminal 108 may employ Internet Protocol (IP) datacasting protocols, such as, but not limited to, Digital Video Broadcast (DVB), DVB-Handheld (DVB-H), Digital Multimedia Broadcasting (DMB), Media FLO (Forward Link Only), or Multimedia Broadcast Multicast Service (MBMS), and/or the like.
  • IP Internet Protocol
  • the provider server 102 may communicate with the user terminal 108 via one or more channels.
  • the provider server 102 may cause the Internet information to be broadcast as a packet stream on a specific channel or frequency.
  • the network computing environment 100 may provide an announcement channel and a broadcast channel.
  • the provider server 102 may communicate control data over the announcement channel and Internet information over the broadcast channel.
  • the network computing environment 100 may include one or more of each of these devices. Moreover, the functions performed by each of the devices illustrated in FIG. 1 may be split into additional devices or the illustrated devices may be combined with one another. Further, the network computing environment 100 may also be included in other systems (not shown) or may include additional devices.
  • FIG. 2 illustrates a user terminal 108 suitable for carrying out one or more illustrative example embodiments of the invention.
  • the user terminal 108 may be a mobile communication device, a mobile phone, or a mobile computer, as illustrated, or may also be a digital video recorder (DVR), a set-top box (STB), a server computer, a computer, a hard disc, an Internet browser device, a gaming device, an audio/video player, a digital camera/camcorder, a television, a radio broadcast receiver, a positioning device, a wired or wireless communication device, and/or any combination thereof.
  • DVR digital video recorder
  • STB set-top box
  • the user terminal 108 includes display 202 , transceiver 204 , processor 206 , memory 208 or other computer readable media and/or other storage, and user interface 210 .
  • the user interface 210 may include a keypad, touch screen, voice interface, four arrow keys, joy-stick, data glove, mouse, roller ball, touch screen, or other suitable device for receiving input from a user to control the user terminal 108 .
  • Computer executable instructions and data used by processor 206 and other components within user terminal 108 may be stored in the memory 208 in order to carry out any of the method steps and functions described herein.
  • the memory 208 may be implemented with any combination of read only memory modules or random access memory modules, optionally including both volatile and nonvolatile memory.
  • some or all of user terminal 108 computer executable instructions may be embodied in hardware or firmware (not shown).
  • the user terminal 108 may be configured to receive, decode, and process broadcast Internet information transmissions from the broadcast station 106 at the transceiver 204 .
  • the transceiver 204 may include one or more transceivers, such as one capable of receiving the broadcast Internet information over a broadcast channel and another capable of communicating over the backchannel.
  • the user terminal 108 may have a web browser to launch a software program for processing the received broadcast Internet information transmissions and for generating instructions for communicating via the backchannel.
  • the web browser may be any suitable web browser, such as, but not limited to, Mozilla Firefox, Internet Explorer, Google Chrome, or other programs for interfacing the user terminal 108 with the Internet.
  • GSM Global System for Mobile Communications
  • UMTS Universal Mobile Telecommunications System
  • WCDMA Wideband Code Division Multiple Access
  • CDMA2000 Code Division Multiple Access 2000
  • 4G Long Term Evolution
  • LTE Long Term Evolution
  • the user terminal 108 also may be configured to receive, decode and process other types of transmissions, such as, but not limited to, FM/AM Radio transmissions, WLAN transmissions, or transmissions using other wired and wireless protocols and/or the like.
  • the user terminal 108 may receive radio data stream (RDS) messages.
  • RDS radio data stream
  • the provider server 102 may process the Internet information to determine which is the most popular. Popularity, for example, may be based on the number of different devices, including user terminals 108 , personal computers, etc., that have accessed particular Internet information. For instance, the user terminal 108 may communicate to the provider server 108 statistics on Internet information use and categories of interest to the user through the wireless backchannel. Devices other than the user terminals 108 also may provide statistics on Internet information use and categories of interest to the user to the provider server 102 . Based on the popularity information, the provider server 102 may categorize the Internet information into categories and may broadcast the Internet information to the user terminal 108 by one or more categories.
  • the categories may be different types of genres, services, specific or general links, any combination thereof, and/or the like.
  • the categories also may classify the Internet information in other manners. Examples of genres are sports, news, and music.
  • Examples of different services include a web-based service, such as social networking websites Facebook, Myspace, and Flickr.
  • a specific link may be an URL that has specific memory requirement information for content available through that link, whereas a general link may be a link without memory requirement information. Examples of specific links are links on a particular web page, such as a “my favorites” link, my friends in Facebook, or myfriends in Flickr. Categorizing Internet information by the provider server 102 is further described below with reference to FIG. 3 .
  • FIG. 3 illustrates a method 300 performed by the provider server 102 suitable for carrying out one or more illustrative example embodiments of the invention.
  • the provider server 102 may include specific programs (e.g., software, firmware, hardware) to crawl and aggregate Internet information for broadcasting to the user terminal 108 .
  • the Internet information may be one or more webpages, audio and/or video files, image files, game files, multimedia presentations, maps, program files, content files, other information, any combination thereof, and/or the like.
  • the provider server 102 may organize the Internet information into categories. To categorize the Internet information, the provider server 102 may generate a description for each of the categories that can be communicated to the user terminal 108 prior to broadcasting Internet information. The description may include a name of each of the categories of Internet information to be broadcasted, the total size or memory need of the Internet information included in each category, the different types of Internet information in each category, and the start time, the end time and/or time interval indicating when a particular category is being broadcast.
  • the provider server 102 may construct the description using eXtensible Markup Language (XML) and may include a document type definition (DTD) document associated with each category.
  • XML eXtensible Markup Language
  • DTD document type definition
  • the provider server 102 may generate a category guide including the description for each of the categories.
  • the category guide may include the document type definition (DTD) document for each of the different categories.
  • the category guide may be an Electronic Service Guide (ESG).
  • ESG Electronic Service Guide
  • the provider server 102 also may periodically update the category guide and subsequently send an updated category guide to change, add, or delete the categories.
  • the memory requirements may be static during a time period T, and if the provider server 102 has identified new Internet information or new versions of Internet information, the category guide may be updated with the new memory requirements and broadcast to the user terminals 108 .
  • the provider server 102 may broadcast the category guide to at least one user terminal 108 .
  • the provider server 102 may communicate the category guide to the broadcast station 106 via the network 104 , and the broadcast station 106 may wirelessly communicate the category guide to the user terminal 108 .
  • the server 102 may repeatedly broadcast the category guide and Internet information during certain time intervals.
  • the category guide may include information to identify those time intervals and may indicate when the category guide is going to be broadcast and/or updated and when some specific Internet information and/or category will be broadcast.
  • the category guide may also be transmitted via the backchannel station 110 over the wireless telecom back channel, as illustrated in FIG. 1 .
  • the provider server 102 may broadcast the Internet information by category to the at least one user terminal 108 .
  • the provider server 102 may broadcast the Internet information in accordance with the information included in the category guide.
  • the provider server 102 may encrypt the Internet information before broadcasting such that only user terminals 108 subscribing to a service for the broadcast Internet information are able to decode the broadcasts.
  • the provider server 102 may also communicate a time identifier, a category identifier, and/or version identifier to identify the time at which the Internet information is being broadcast, to identify the category of the Internet information being transmitted, and/or to identify the version of the Internet information.
  • the user terminal 108 may efficiently allocate its memory 208 based on the interests of the user and/or the browsing history of the user.
  • the user terminal 108 may store Internet information of interest to the user in proportion to the interest of the user, and may discard Internet information that is not of interest to the user, as further described below.
  • FIG. 4 illustrates a memory allocation method performed by the user terminal 108 suitable for carrying out one or more illustrative example embodiments of the invention.
  • the user terminal 108 may receive the category guide from the provider server 102 .
  • the user of the user terminal 108 may, for example, subscribe to an Internet formation broadcasting service by sending a subscription request to the provider server 102 via the wireless back channel and may receive decoding information, such as, but not limited to, a decryption code, Digital Rights Management (DRM) information, and/or the like, to decode the broadcast Internet information and the category guide.
  • the user terminal 108 may execute a software application, for instance, to process the received category guide and broadcast Internet information.
  • DRM Digital Rights Management
  • the user terminal 108 can display to the user at the display 202 all of the categories of Internet information to be broadcast.
  • the category guide may include the DTD document that identifies the memory requirements for each of the categories to be broadcast.
  • the user terminal 108 may assign a weight to each category.
  • the weight may be assigned based on interests of the user and/or based on the browsing history of the user.
  • the user terminal 108 may: (1) assign weights based only on the interests of the user, (2) the user terminal 108 may assign weights based on the interests of the user, and may modify the assigned weights based on the browsing history of the user, or (3) may assign weights based only on the browsing history of the user.
  • the browsing history for example, may identify particular web pages that the user terminal 108 has accessed within a certain time period.
  • the user terminal 108 may prompt the user to enter preference inputs selecting categories of interest.
  • FIG. 5 illustrates an example of a user interface displayed to the user by the user terminal 108 in accordance with one or more illustrative example embodiments of the invention.
  • the user terminal 108 may process the category guide to display the available categories and subcategories, and the user may indicate his or her preference for each. Every category also may include text (not shown) describing each category to help the user understand the content of each category.
  • the user interface includes category 1, subcategory 1.1, category 2, subcategory 2.1, . . . , and category N. If the user selects a category (e.g., snow skiing) to indicate that the user is interested in that category, the user terminal 108 can assign the weight of this category to 1.
  • a category e.g., snow skiing
  • the user terminal 108 may assign a weight of 0 to the category to indicate strength of the user's preference. Also, the user may assign a weight between 0 and 1 by adjusting the indicator 502 . The weight of each category may indicate a fondness degree the user has for a particular category.
  • the weights of each category can also be assigned according to the browsing history of user with or without prompting the user for his or her interests.
  • the user terminal 108 may monitor the user's Internet browsing behavior on direct access Internet browsing over a two-way network connection and/or on the broadcast Internet information, or in other ways.
  • Direct access Internet browsing may refer to Internet information that the user terminal 108 directly accesses, such as, for example, through a user typing a URL into an address bar of a browser that returns the requested webpage or through a user entering keywords into an Internet search engine and selecting Internet information of interest from the results returned by the Internet search engine.
  • the user terminal 108 may infer that the user is very interested in the category. Conversely, if the Internet information in a category has been opened infrequently or not at all during time period T, the user terminal 108 may infer that the user is not very interested in the category. Similarly, if the proportion of unopened Internet information in the category during period T is high, the user terminal 108 may infer that the user is not very interested in the category.
  • every user has a natural web page browsing speed, which can be deduced from the amount of time a user spends browsing particular Internet information (e.g., the amount of time a web page is displayed to a user). If Internet information is browsed at a speed faster than an average browsing speed of the user, the user terminal 108 may conclude that the user is not very interested in this Internet information. In contrast, if Internet information is browsed at a speed slower than the average browsing speed of the user, the user terminal 108 may conclude that the user is interested in this Internet information.
  • the user terminal 108 may also monitor periods of user inactivity, such as when the user has stopped using the user terminal 108 , to prevent the user terminal 108 from determining that the user is very interested Internet information of a category when in actuality the user has stopped using the user terminal 108 and left open the Internet information of a certain category.
  • periods of user inactivity such as when the user has stopped using the user terminal 108 .
  • the following gives an example of the user terminal 108 assigning a weight to categories based on the browsing history factors described above.
  • the user terminal 108 may assign a numerical value as a weight to each category that depends on the number of times a user has opened Internet information in a category, how much of the Internet information the user has browsed within a category (e.g., number of web pages viewed when compared with the total number of web pages in a category), the speed the user browses through Internet information in a category, and/or any combination thereof. If the number of times a user opens Internet information in a particular category is greater when compared with the average number of times a user opens Internet information in other categories, the user terminal 108 may add a larger value to increase the weight of the category.
  • the user terminal 108 may add a larger value to the weight for that category. Furthermore, if the user terminal 108 determines that a user has browsed Internet information in a category for a longer amount of time when compared with the average amount of time spent browsing Internet information in other categories, the user terminal 108 may add a larger value to the weight for that category.
  • the user terminal 108 may add a smaller value to the weight of the category. Also, if the user terminal 108 determines that a user has browsed less of the Internet information in a category when compared with the average amount of Internet information viewed in other categories, the user terminal 108 may add a smaller value to the weight for that category. Moreover, if the user terminal 108 determines that a user has browsed Internet information in a category for a shorter amount of time when compared with the average amount of time spent browsing Internet information in other categories, the user terminal 108 may add a smaller value to the weight for that category.
  • the user terminal 108 may add added value A_V i to the weight W i of category i in accordance with the following equation:
  • A_V i Value Times ⁇ ⁇ _ ⁇ ⁇ Category ⁇ ⁇ _ ⁇ ⁇ i Value Time ⁇ ⁇ s ⁇ ⁇ _ ⁇ ⁇ All ⁇ ⁇ _ ⁇ ⁇ Categories ⁇ Number Open ⁇ ⁇ _ ⁇ ⁇ I ⁇ ⁇ n ⁇ ⁇ t ⁇ ⁇ info ⁇ ⁇ _i Number Intoinf ⁇ ⁇ o ⁇ ⁇ _ ⁇ ⁇ A ⁇ ⁇ l ⁇ l ⁇ _ ⁇ i ⁇ Number Interested ⁇ ⁇ _ ⁇ ⁇ I ⁇ ⁇ ntInfo ⁇ ⁇ _ ⁇ ⁇ i Number open ⁇ ⁇ _ ⁇ ⁇ IntInfo ⁇ ⁇ _ ⁇ ⁇ i , ( 1 )
  • Value Times — category — i is the number of times category i was opened in period T
  • Value Times — All — Categories is the total number of times Internet Information was opened in any of the categories in period T.
  • Number open — IntInfo — i is the number of different types of Internet information that was opened in category i in period T
  • Number IntInfo — All — i is the total number of the different types of Internet information in category i.
  • Number interested — IntInfo — i is the total number of the different types of Internet information in the category i that the user was interested in time period T (e.g., Internet information whose browsing speed was slower than the average browsing speed), and Number open — IntInfo — i is the number of the different types of Internet information opened in the category i during time period T.
  • Other equations also may be used to express a relationship between these factors.
  • the user terminal 108 may include a threshold comparison before adjusting the weight of a category. For example, the user terminal 108 may compare the added value A_V i to a threshold a and may adjust the weight W i of category i by A_V i if the added value A_V i in equation (1) is greater than threshold ⁇ . Otherwise, if added value A_V i is less than the threshold ⁇ , the user terminal 108 may retain the previously assigned weight W i of category i without adding the added value A_V i .
  • the user terminal 108 may adjust the weight W i of category i by a specific increment ⁇ instead of by A_V i either with or without a comparison with threshold ⁇ . If the threshold ⁇ is used, the user terminal 108 may adjust the weight W i of category i by a specific increment ⁇ if added value A_V i is greater than threshold ⁇ .
  • the value of ⁇ and ⁇ can be preset according to the actual needs. In an example, the range for ⁇ and ⁇ may be on the same order of magnitude with the original value of weight of a category. If the weight W i of category i is reduced, the memory space allocated to category i will become smaller, thus permitting less Internet information (e.g., less web pages) of that category to be stored.
  • the user terminal 108 may identify the amount of unused memory.
  • the processor 206 may query the memory 208 to determine the amount of unused space.
  • the available memory size can be fixed or dynamic.
  • the memory 208 may estimate the amount of unused space based on memory usage history information and may communicate the estimate to the processor 206 .
  • the memory 208 may reduce the estimate of the amount of unused memory space.
  • the memory 208 may increase the estimate of the amount of unused memory space. For a fixed memory size, the memory 208 may identify the total amount of unused space and may communicate the total amount or some lesser proportion thereof to the processor 206 .
  • the user terminal 108 may allocate the unused memory to each category according to the assigned weight.
  • the user terminal 108 may allocate memory space in accordance with either equation set forth below or others:
  • Ns_c is the total number of categories selected by user or the total number of categories have been assigned a weight by examining the user's browsing history
  • M Total is the free memory space
  • S i is the size (e.g., 2000 MB) of all of the Internet information included in the ith category.
  • Equation (2) allocates memory space based on the weight assigned to a particular category.
  • Equation (3) allocates the memory space of every selected category based on two factors: the weight assigned to the category and the amount of Internet information in the category.
  • represents the different influence of the two factors for the allocating memory space.
  • the user terminal 108 may allocate a memory size to every category based on the information on memory requirements received in the category guide, the weight assigned to the category, and the available memory size.
  • FIG. 6 illustrates an example of memory allocation for a user terminal to illustrate one or more example embodiments of the invention.
  • the user terminal 108 may receive and process the broadcast Internet information according to the memory allocation. For example, the processing by user terminal 108 may determine whether to keep or discard the received broadcast Internet information based on the memory allocation. The user terminal 108 may determine whether to store the received broadcast Internet information based on the time, category, and/or version identifiers included in the broadcast Internet information.
  • the time identifier may indicate a start time (e.g., time when the provider server 102 will begin broadcasting Internet information of the category, such as 8:00 PM), an end time, time interval, and/or Durationfromnow data.
  • the category guide can include the start time and end time for category.
  • the Durationfromnow data in the category guide avoids time desynchrony between provider server 102 and user terminal 108 .
  • Desynchorony may occur when the clocks of the user terminal 108 and the provider server 102 differ. For instance, if the clock of the user terminal 108 indicates that the current time is 8:00 PM, and the clock of the provider server 102 indicates that the current time is 8:10 PM, time desynchrony may occur.
  • the Durationfromnow data is relative value indicating that the Internet information of a particular category will be broadcast after a certain amount of time (e.g., thirty minutes from now).
  • the user terminal 108 may process the Durationfromnow data to determine when a desired category is being broadcast and may store the received broadcast Internet information at that time in the memory space allocated to that category.
  • the user terminal 108 can also process the category identifier included in the broadcast Internet information to determine when to begin storing the broadcast Internet information received at the transceiver 204 .
  • the provider server 102 may add a unique category identifier to the Internet information being broadcast.
  • the user terminal 108 may process the category identifier to determine whether to keep or discard the received Internet information. If the user terminal 108 has enough allocated space in the memory 208 for the category being broadcast, the user terminal 108 may store the received Internet information at the location in the memory 208 allocated to that category. If the user terminal 108 has not allocated space in the memory 208 for the received category of Internet information, then the user terminal 108 may discard the received Internet information.
  • the broadcast Internet information may be received by a lower layer. The application layer of the user terminal 108 may determine whether keep or discard the received broadcast Internet information according to the unique identifier of category.
  • the user terminal 108 may revise the weights assigned to the categories at periodic intervals based on the browsing history of the user in the latest time period T. The revisions may occur as described above in block 408 . For instance, the user terminal 108 may evaluate the browsing history of the user within the last T seconds, minutes, hours, days, etc., and may recalculate the added value A_V i for each of the categories to adjust their respective weights W i . Similar to the description above, the user terminal 108 may optionally limit adjustments of the respective weights W i to instances when the added value A_V i is greater than threshold ⁇ .
  • the memory 208 may write over the previously allocated memory. To determine which Internet information to overwrite, the memory 208 may write over the Internet information having the oldest publication time, the Internet information that was the least accessed by the user, or in other suitable manners. As such, the above description provides an improved way of allocating memory in a user terminal.
  • Internet information can be identified and organized into categories, such as an entertainment category, a sports category, etc.
  • the Internet information may include Internet web pages, for example.
  • a category guide may be communicated to one or more user terminals to identify the types of categories to be broadcast, the size (e.g., 2000 MB) of the Internet information included in each category, the number of different types of Internet information in each category, and so on.
  • the user terminal may use the category guide in allocating its memory and in determining when to retain broadcast Internet information of interest to the user.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Methods and systems for allocating memory of user terminals are disclosed. A user terminal may determine a weight for one or more categories, each category being associated with Internet information to be broadcast. The user terminal also may determine an available memory size of memory and may allocate memory to the one or more categories for storing the Internet information based on the weights and the available memory size.

Description

    FIELD
  • Example embodiments of the invention generally relate to memory allocation for storing broadcast information. More specifically, example embodiments of the invention relate to allocating memory for storing broadcast Internet information.
  • BACKGROUND
  • The amount of information available on the Internet is rapidly increasing, especially in the era of web 2.0. Some estimates indicate that between the years 1996 and 2007, the fraction of the world's population that used the Internet grew from approximately 1% to approximately 22%. Irrespective of the actual percentages, trends suggest that the Internet will continue to grow. Research has confirmed, however, that there is only a small quantity of information of interest to most netizens.
  • Traditionally, information is transmitted in a one-to-one fashion, where a client requests the information of interest from a server. One-to-one transmission is not an efficient way to send the same information to multiple users. Moreover, the existing Internet infrastructure has poor robustness. Conventional solutions have proposed the idea of wirelessly broadcasting Internet data through a satellite or digital broadcasting system, but have not effectively addressed the issues associated with broadcasting data to a group of clients.
  • BRIEF SUMMARY
  • The following presents a simplified summary of some example embodiments of the invention in order to provide a basic understanding of some example embodiments of the invention. This summary is not an extensive overview, and is not intended to identify key or critical elements or to delineate the scope of the claims. The following summary merely presents some concepts and example embodiments in a simplified form as a prelude to the more detailed description provided below.
  • Convention solutions have not addressed how to efficiently allocate memory to store Internet information broadcast to a user terminal having limited storage space.
  • Some example embodiments of the present disclosure are directed to an apparatus, method and system for memory allocation of a user terminal that receives broadcast Internet information and for improved broadcast distribution of Internet information.
  • More specifically, methods, apparatus, and systems in accordance with some example embodiments of the present invention provide user terminals with efficient memory allocation. A user terminal may determine a weight for one or more categories, each category being associated with Internet information to be broadcast. The user terminal also may determine an available memory size of memory and may allocate memory to the one or more categories for storing the Internet information based on the weights and the available memory size.
  • A user terminal may receive information on memory requirements for one or more categories broadcast by a provider server. The user terminal may determine a weight for the one or more categories, determine an available memory size, and allocate memory to each of the one or more categories based on the memory requirements, the weights, and the available memory size.
  • Additionally, methods, apparatus, and systems in accordance with certain example embodiments of the present invention provide for crawling and aggregating Internet information to identify Internet information, categorizing Internet information into categories, generating a category guide to describe characteristics of each of the categories, broadcasting category guide to at least one user terminal, and broadcasting the internet information by category to the at least one user terminal in accordance with the category guide.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • A more complete understanding of the present invention and the advantages thereof may be acquired by referring to the following description in consideration of the accompanying drawings, in which like reference numbers indicate like features, and wherein:
  • FIG. 1 illustrates a network computing environment suitable for carrying out one or more example embodiments of the invention.
  • FIG. 2 illustrates architecture of a user terminal suitable for carrying out one or more example embodiments of the invention.
  • FIG. 3 illustrates a method performed by a provider server suitable for carrying out one or more example embodiments of the invention.
  • FIG. 4 illustrates a memory allocation method performed by a user terminal suitable for carrying out one or more example embodiments of the invention.
  • FIG. 5 illustrates an example of a user interface displayed to a user by a user terminal in accordance with one or more example embodiments of the invention.
  • FIG. 6 illustrates a memory allocation example for a user terminal in accordance with one or more example embodiments of the invention.
  • DETAILED DESCRIPTION
  • In the following description of the various embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration various embodiments in which one or more example embodiments of the invention may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made without departing from the scope of the present invention.
  • FIG. 1 illustrates a network computing environment 100 suitable for carrying out one or more illustrative example embodiments of the invention. The network computing environment 100 may include a provider server 102 communicatively coupled to a network 104. The network 104 may be communicatively coupled to a broadcast station 106 that may communicate with a user terminal 108. For instance, the user terminal 108 may receive data wirelessly communicated from the broadcast station 106, such as, for example, via a cellular telecommunication network or a wireless local area network (WLAN). Also, the network computing environment 100 may provide for a wired connection between the provider server 102 and the user terminal 108. The network computing environment 100 also may include a wireless or wired backchannel via broadcast station 106 or through backchannel station 110. The provider server 102 may use the backchannel to exchange information with the user terminal 108. For instance, the provider server 102 may communicate a category guide, as described in further detail below, to the user terminal 108. Moreover, the user terminal 108 may communicate a subscription request that requests a subscription to an Internet information broadcasting service.
  • The provider server 102 and the user terminal 108 may employ Internet Protocol (IP) datacasting protocols, such as, but not limited to, Digital Video Broadcast (DVB), DVB-Handheld (DVB-H), Digital Multimedia Broadcasting (DMB), Media FLO (Forward Link Only), or Multimedia Broadcast Multicast Service (MBMS), and/or the like. For instance, the provider server 102 may communicate with the user terminal 108 via one or more channels. The provider server 102 may cause the Internet information to be broadcast as a packet stream on a specific channel or frequency. For example, the network computing environment 100 may provide an announcement channel and a broadcast channel. The provider server 102 may communicate control data over the announcement channel and Internet information over the broadcast channel. The announcement channel and the broadcast channel may be separate time slots in a time slotted transmission scheme, may be assigned separate frequencies in a frequency division transmission scheme, or may be assigned separate codes in a code based transmission scheme, or may use other suitable manners to separate the channels. Also, the announcement channel may be provided over the backchannel. To receive the transmissions, the user terminal 108 may lock itself on a specific broadcast channel and/or data stream to receive the broadcast Internet information and the category guide.
  • It is noted that although only a single instance of each device is depicted in FIG. 1, the network computing environment 100 may include one or more of each of these devices. Moreover, the functions performed by each of the devices illustrated in FIG. 1 may be split into additional devices or the illustrated devices may be combined with one another. Further, the network computing environment 100 may also be included in other systems (not shown) or may include additional devices.
  • FIG. 2 illustrates a user terminal 108 suitable for carrying out one or more illustrative example embodiments of the invention. The user terminal 108 may be a mobile communication device, a mobile phone, or a mobile computer, as illustrated, or may also be a digital video recorder (DVR), a set-top box (STB), a server computer, a computer, a hard disc, an Internet browser device, a gaming device, an audio/video player, a digital camera/camcorder, a television, a radio broadcast receiver, a positioning device, a wired or wireless communication device, and/or any combination thereof.
  • In the depicted example, the user terminal 108 includes display 202, transceiver 204, processor 206, memory 208 or other computer readable media and/or other storage, and user interface 210. The user interface 210 may include a keypad, touch screen, voice interface, four arrow keys, joy-stick, data glove, mouse, roller ball, touch screen, or other suitable device for receiving input from a user to control the user terminal 108.
  • Computer executable instructions and data used by processor 206 and other components within user terminal 108 may be stored in the memory 208 in order to carry out any of the method steps and functions described herein. The memory 208 may be implemented with any combination of read only memory modules or random access memory modules, optionally including both volatile and nonvolatile memory. Also, some or all of user terminal 108 computer executable instructions may be embodied in hardware or firmware (not shown).
  • The user terminal 108 may be configured to receive, decode, and process broadcast Internet information transmissions from the broadcast station 106 at the transceiver 204. It is noted that the transceiver 204 may include one or more transceivers, such as one capable of receiving the broadcast Internet information over a broadcast channel and another capable of communicating over the backchannel. The user terminal 108 may have a web browser to launch a software program for processing the received broadcast Internet information transmissions and for generating instructions for communicating via the backchannel. The web browser may be any suitable web browser, such as, but not limited to, Mozilla Firefox, Internet Explorer, Google Chrome, or other programs for interfacing the user terminal 108 with the Internet.
  • In an example, the user terminal 108 may be configured to receive, decode, and process transmission based on one or more of the Digital Video Broadcast (DVB) standards, such as DVB-H or DVB-MHP, DVB-Satellite (DVB-S), DVB-Terrestrial (DVB-T) or DVB-Cable (DVB-C). Similarly, other digital transmission formats may be used to deliver content and information, such as, but not limited to, Advanced Television Systems Committee (ATSC), National Television System Committee (NTSC), Integrated Services Digital Broadcasting-Terrestrial (ISDB-T), Digital Audio Broadcasting (DAB), DMB, MediaFLO, MBMS, DIRECTV, and/or the like. Also other digital transmission formats may be used to deliver content and information, such as, but not limited to, Global System for Mobile Communications (GSM), 3G, Universal Mobile Telecommunications System (UMTS), Wideband Code Division Multiple Access (WCDMA), CDMA2000, 4G, Long Term Evolution (LTE), and/or the like. Further, the user terminal 108 also may be configured to receive, decode and process other types of transmissions, such as, but not limited to, FM/AM Radio transmissions, WLAN transmissions, or transmissions using other wired and wireless protocols and/or the like. In one aspect of the invention, the user terminal 108 may receive radio data stream (RDS) messages.
  • The broadcast Internet information transmission also may be time sliced, such as in DVB-H technology. Time-slicing may reduce the average power consumption of the user terminal 108 and may enable smooth and seamless handover. Time-slicing may comprise sending data in bursts using a higher instantaneous bit rate as compared to the bit rate required if the data were transmitted using a traditional streaming mechanism. In this case, the user terminal 108 may have one or more buffer memories for storing the decoded time sliced transmission before presentation.
  • Referring again to FIG. 1, the provider server 102 may process the Internet information to determine which is the most popular. Popularity, for example, may be based on the number of different devices, including user terminals 108, personal computers, etc., that have accessed particular Internet information. For instance, the user terminal 108 may communicate to the provider server 108 statistics on Internet information use and categories of interest to the user through the wireless backchannel. Devices other than the user terminals 108 also may provide statistics on Internet information use and categories of interest to the user to the provider server 102. Based on the popularity information, the provider server 102 may categorize the Internet information into categories and may broadcast the Internet information to the user terminal 108 by one or more categories. Alternatively, the provider server 102 may categorize the Internet information into categories based on information received from content providers or based on a category hierarchy generated by the provider server 102 without determining which of the Internet information is the most popular. Also, the provider server 102 may search the Internet based on keywords or metatags to create the categories. Popularity may be one way to identify Internet information suitable for broadcast to many user terminals. The provider server 102 also may select Internet information that is static and changes relatively infrequently and would be suitable for simultaneous broadcast to a large group of user terminals 108. To obtain Internet information that is interactive and/or is of interest to a limited number of users, the user terminal 108 may communicate with the provider server 102 via the backchannel to directly access such Internet information.
  • The categories may be different types of genres, services, specific or general links, any combination thereof, and/or the like. The categories also may classify the Internet information in other manners. Examples of genres are sports, news, and music. Examples of different services include a web-based service, such as social networking websites Facebook, Myspace, and Flickr. A specific link may be an URL that has specific memory requirement information for content available through that link, whereas a general link may be a link without memory requirement information. Examples of specific links are links on a particular web page, such as a “my favorites” link, my friends in Facebook, or myfriends in Flickr. Categorizing Internet information by the provider server 102 is further described below with reference to FIG. 3.
  • FIG. 3 illustrates a method 300 performed by the provider server 102 suitable for carrying out one or more illustrative example embodiments of the invention. In block 302, the provider server 102 may include specific programs (e.g., software, firmware, hardware) to crawl and aggregate Internet information for broadcasting to the user terminal 108. For instance, the Internet information may be one or more webpages, audio and/or video files, image files, game files, multimedia presentations, maps, program files, content files, other information, any combination thereof, and/or the like.
  • In block 304, the provider server 102 may organize the Internet information into categories. To categorize the Internet information, the provider server 102 may generate a description for each of the categories that can be communicated to the user terminal 108 prior to broadcasting Internet information. The description may include a name of each of the categories of Internet information to be broadcasted, the total size or memory need of the Internet information included in each category, the different types of Internet information in each category, and the start time, the end time and/or time interval indicating when a particular category is being broadcast. For example, the provider server 102 may construct the description using eXtensible Markup Language (XML) and may include a document type definition (DTD) document associated with each category. An example of the DTD document for a particular category may be:
  • <!--Root element-->
  • <!ELEMENT Description (TNumber, Tsize, Category+)>
  • <!ELEMENT TNumber (#PCDATA)>
  • <!ELEMENT Tsize (#PCDATA)>
  • <!ELEMENT Category (Identifier, Name, CDescription, LayerNumber, RelationLayer, TSize, AmountofPage, StartTime, EndTime, DurationFromNow)>
  • <!ELEMENT Identifier (#PCDATA)>
  • <!ELEMENT Name (#CDATA)>
  • <!ELEMENT CDescription (#CDATA)>
  • <!ELEMENT LayerNumber (#PCDATA)>
  • <!ELEMENT RelationLayer (FatherLayer, SonLayer)>
  • <!ELEMENT FatherLayer (EMPTY|#CDATA)*>
  • <!ELEMENT SonLayer (EMPTY|#CDATA)*>
  • <!ELEMENT TSize (#PCDATA)>
  • <!ELEMENT AmountofPage (#PCDATA)>
  • <!ELEMENT StartTime (#PCDATA)>
  • <!ELEMENT EndTime (#PCDATA)>
  • <!ELEMENT DurationFromNow (#PCDATA)>
  • <!--End of DTD-->
  • Referring again to FIG. 3, in block 306, the provider server 102 may generate a category guide including the description for each of the categories. The category guide may include the document type definition (DTD) document for each of the different categories. For example, the category guide may be an Electronic Service Guide (ESG). The provider server 102 also may periodically update the category guide and subsequently send an updated category guide to change, add, or delete the categories. In example embodiments, the memory requirements may be static during a time period T, and if the provider server 102 has identified new Internet information or new versions of Internet information, the category guide may be updated with the new memory requirements and broadcast to the user terminals 108.
  • In block 308, the provider server 102 may broadcast the category guide to at least one user terminal 108. For instance, the provider server 102 may communicate the category guide to the broadcast station 106 via the network 104, and the broadcast station 106 may wirelessly communicate the category guide to the user terminal 108. In one example, the server 102 may repeatedly broadcast the category guide and Internet information during certain time intervals. Further, the category guide may include information to identify those time intervals and may indicate when the category guide is going to be broadcast and/or updated and when some specific Internet information and/or category will be broadcast. The category guide may also be transmitted via the backchannel station 110 over the wireless telecom back channel, as illustrated in FIG. 1.
  • In block 310, the provider server 102 may broadcast the Internet information by category to the at least one user terminal 108. The provider server 102 may broadcast the Internet information in accordance with the information included in the category guide. Moreover, the provider server 102 may encrypt the Internet information before broadcasting such that only user terminals 108 subscribing to a service for the broadcast Internet information are able to decode the broadcasts. The provider server 102 may also communicate a time identifier, a category identifier, and/or version identifier to identify the time at which the Internet information is being broadcast, to identify the category of the Internet information being transmitted, and/or to identify the version of the Internet information.
  • To handle the potentially large volume of Internet information being broadcast by the provider server 102, the user terminal 108 may efficiently allocate its memory 208 based on the interests of the user and/or the browsing history of the user. When the broadcast Internet information is received, the user terminal 108 may store Internet information of interest to the user in proportion to the interest of the user, and may discard Internet information that is not of interest to the user, as further described below.
  • FIG. 4 illustrates a memory allocation method performed by the user terminal 108 suitable for carrying out one or more illustrative example embodiments of the invention. In block 402, the user terminal 108 may receive the category guide from the provider server 102. The user of the user terminal 108 may, for example, subscribe to an Internet formation broadcasting service by sending a subscription request to the provider server 102 via the wireless back channel and may receive decoding information, such as, but not limited to, a decryption code, Digital Rights Management (DRM) information, and/or the like, to decode the broadcast Internet information and the category guide. The user terminal 108 may execute a software application, for instance, to process the received category guide and broadcast Internet information. Through processing the DTD document of the category guide, the user terminal 108 can display to the user at the display 202 all of the categories of Internet information to be broadcast. In an example, the category guide may include the DTD document that identifies the memory requirements for each of the categories to be broadcast.
  • In block 404, the user terminal 108 may assign a weight to each category. The weight may be assigned based on interests of the user and/or based on the browsing history of the user. In various embodiments, the user terminal 108 may: (1) assign weights based only on the interests of the user, (2) the user terminal 108 may assign weights based on the interests of the user, and may modify the assigned weights based on the browsing history of the user, or (3) may assign weights based only on the browsing history of the user. The browsing history, for example, may identify particular web pages that the user terminal 108 has accessed within a certain time period. To assign weights to the categories based on interests of the user, the user terminal 108 may prompt the user to enter preference inputs selecting categories of interest.
  • FIG. 5 illustrates an example of a user interface displayed to the user by the user terminal 108 in accordance with one or more illustrative example embodiments of the invention. The user terminal 108 may process the category guide to display the available categories and subcategories, and the user may indicate his or her preference for each. Every category also may include text (not shown) describing each category to help the user understand the content of each category. As illustrated, the user interface includes category 1, subcategory 1.1, category 2, subcategory 2.1, . . . , and category N. If the user selects a category (e.g., snow skiing) to indicate that the user is interested in that category, the user terminal 108 can assign the weight of this category to 1. If a user does not select a category, thus indicating no interest in the category, the user terminal 108 may assign a weight of 0 to the category to indicate strength of the user's preference. Also, the user may assign a weight between 0 and 1 by adjusting the indicator 502. The weight of each category may indicate a fondness degree the user has for a particular category.
  • The weights of each category can also be assigned according to the browsing history of user with or without prompting the user for his or her interests. For instance, the user terminal 108 may monitor the user's Internet browsing behavior on direct access Internet browsing over a two-way network connection and/or on the broadcast Internet information, or in other ways. Direct access Internet browsing may refer to Internet information that the user terminal 108 directly accesses, such as, for example, through a user typing a URL into an address bar of a browser that returns the requested webpage or through a user entering keywords into an Internet search engine and selecting Internet information of interest from the results returned by the Internet search engine.
  • To assign a weight to a category, the user terminal 108 may identify various browsing history factors during a time period T. The browsing history factors may include, but are not limited to: (1) the amount of Internet information (e.g., web pages) in a category that has been opened by the user at the user terminal, (2) the proportion of different Internet information that has been opened within a particular category, (3) the browsing speed of Internet information in a category compared with the user's average browsing speed, and so on. For example, over time period T, if the user has caused the user terminal 108 to open Internet information in a particular category many times, the user terminal 108 may infer that the user is very interested in the category. Likewise, if the proportion of Internet information opened in a category during period T is high (e.g., user has viewed 7 of 10 web pages in a category), the user terminal 108 may infer that the user is very interested in the category. Conversely, if the Internet information in a category has been opened infrequently or not at all during time period T, the user terminal 108 may infer that the user is not very interested in the category. Similarly, if the proportion of unopened Internet information in the category during period T is high, the user terminal 108 may infer that the user is not very interested in the category.
  • Additionally, every user has a natural web page browsing speed, which can be deduced from the amount of time a user spends browsing particular Internet information (e.g., the amount of time a web page is displayed to a user). If Internet information is browsed at a speed faster than an average browsing speed of the user, the user terminal 108 may conclude that the user is not very interested in this Internet information. In contrast, if Internet information is browsed at a speed slower than the average browsing speed of the user, the user terminal 108 may conclude that the user is interested in this Internet information. The user terminal 108 may also monitor periods of user inactivity, such as when the user has stopped using the user terminal 108, to prevent the user terminal 108 from determining that the user is very interested Internet information of a category when in actuality the user has stopped using the user terminal 108 and left open the Internet information of a certain category. The following gives an example of the user terminal 108 assigning a weight to categories based on the browsing history factors described above.
  • Initially, the user terminal 108 may determine whether the user has input his or her interests in the categories, such as that described above with reference with FIG. 5, to assign initial weights to each of the categories. If weights have previously been assigned, the user terminal 108 may adjust the weights based on the browsing history of the user as described below, or may proceed to block 406 without modifying the weights. If no weights have been previously assigned to one or more categories, the user terminal 108 may assign each of the weights an initial value (e.g., zero) and the user terminal 108 may adjust the initial value of the weights based on the browsing history of the user.
  • To assign initial weights based on the user's browsing history, the user terminal 108 may assign a numerical value as a weight to each category that depends on the number of times a user has opened Internet information in a category, how much of the Internet information the user has browsed within a category (e.g., number of web pages viewed when compared with the total number of web pages in a category), the speed the user browses through Internet information in a category, and/or any combination thereof. If the number of times a user opens Internet information in a particular category is greater when compared with the average number of times a user opens Internet information in other categories, the user terminal 108 may add a larger value to increase the weight of the category. Additionally, if the user terminal 108 determines that a user has browsed a larger amount of Internet information in a category when compared with the average amount of Internet information viewed in the other categories, the user terminal 108 may add a larger value to the weight for that category. Furthermore, if the user terminal 108 determines that a user has browsed Internet information in a category for a longer amount of time when compared with the average amount of time spent browsing Internet information in other categories, the user terminal 108 may add a larger value to the weight for that category.
  • Conversely, if the number of times a user opens Internet information in a particular category is less when compared with the average number of times a user opens Internet information in other categories, the user terminal 108 may add a smaller value to the weight of the category. Also, if the user terminal 108 determines that a user has browsed less of the Internet information in a category when compared with the average amount of Internet information viewed in other categories, the user terminal 108 may add a smaller value to the weight for that category. Moreover, if the user terminal 108 determines that a user has browsed Internet information in a category for a shorter amount of time when compared with the average amount of time spent browsing Internet information in other categories, the user terminal 108 may add a smaller value to the weight for that category.
  • In the following example, the user terminal 108 may add added value A_Vi to the weight Wi of category i in accordance with the following equation:
  • A_V i = Value Times _ Category _ i Value Time s _ All _ Categories × Number Open _ I n t info _i Number Intoinf o _ A l l _ i × Number Interested _ I ntInfo _ i Number open _ IntInfo _ i , ( 1 )
  • where ValueTimes category i is the number of times category i was opened in period T, and ValueTimes All Categories is the total number of times Internet Information was opened in any of the categories in period T. Numberopen IntInfo i is the number of different types of Internet information that was opened in category i in period T, and NumberIntInfo All i is the total number of the different types of Internet information in category i. Numberinterested IntInfo i is the total number of the different types of Internet information in the category i that the user was interested in time period T (e.g., Internet information whose browsing speed was slower than the average browsing speed), and Numberopen IntInfo i is the number of the different types of Internet information opened in the category i during time period T. Other equations also may be used to express a relationship between these factors.
  • Optionally, the user terminal 108 may include a threshold comparison before adjusting the weight of a category. For example, the user terminal 108 may compare the added value A_Vi to a threshold a and may adjust the weight Wi of category i by A_Vi if the added value A_Vi in equation (1) is greater than threshold α. Otherwise, if added value A_Vi is less than the threshold α, the user terminal 108 may retain the previously assigned weight Wi of category i without adding the added value A_Vi.
  • In another example, the user terminal 108 may adjust the weight Wi of category i by a specific increment Δ instead of by A_Vi either with or without a comparison with threshold α. If the threshold α is used, the user terminal 108 may adjust the weight Wi of category i by a specific increment Δ if added value A_Vi is greater than threshold α. The value of Δ and α can be preset according to the actual needs. In an example, the range for Δ and α may be on the same order of magnitude with the original value of weight of a category. If the weight Wi of category i is reduced, the memory space allocated to category i will become smaller, thus permitting less Internet information (e.g., less web pages) of that category to be stored.
  • Referring again to FIG. 4, in block 406, the user terminal 108 may identify the amount of unused memory. For example, the processor 206 may query the memory 208 to determine the amount of unused space. In various examples, the available memory size can be fixed or dynamic. For a dynamic memory size, the memory 208 may estimate the amount of unused space based on memory usage history information and may communicate the estimate to the processor 206. In an example, if a user inputs feedback at the user terminal 108 indicating Internet information of interest is satisfactorily being stored, the memory 208 may reduce the estimate of the amount of unused memory space. If the user inputs feedback at the user terminal 108 indicating that Internet information is not being received and/or the processor 206 indicates that Internet information of interest is not going to be broadcast in a future time period according to the category guide, the memory 208 may increase the estimate of the amount of unused memory space. For a fixed memory size, the memory 208 may identify the total amount of unused space and may communicate the total amount or some lesser proportion thereof to the processor 206.
  • In block 408, the user terminal 108 may allocate the unused memory to each category according to the assigned weight. The user terminal 108 may allocate memory space in accordance with either equation set forth below or others:
  • M i = W i i = 1 N s _ c W i × M Total , or ( 2 ) M i = β × S i i = 1 N s _ c S i × M total + ( 1 - β ) W i i = 1 N s _ c W i × M Total , ( 3 )
  • where Ns_c is the total number of categories selected by user or the total number of categories have been assigned a weight by examining the user's browsing history, MTotal is the free memory space, Wi is the weight assigned to the ith category, where i=1, 2, . . . , Ns c, and Si is the size (e.g., 2000 MB) of all of the Internet information included in the ith category. Equation (2) allocates memory space based on the weight assigned to a particular category. Equation (3) allocates the memory space of every selected category based on two factors: the weight assigned to the category and the amount of Internet information in the category. β represents the different influence of the two factors for the allocating memory space. The value of β can be determined according to the actual needs. If β=0, equation (3) is the same as (2). As such, the user terminal 108 may allocate a memory size to every category based on the information on memory requirements received in the category guide, the weight assigned to the category, and the available memory size. FIG. 6 illustrates an example of memory allocation for a user terminal to illustrate one or more example embodiments of the invention.
  • Referring again to FIG. 4, in block 410, the user terminal 108 may receive and process the broadcast Internet information according to the memory allocation. For example, the processing by user terminal 108 may determine whether to keep or discard the received broadcast Internet information based on the memory allocation. The user terminal 108 may determine whether to store the received broadcast Internet information based on the time, category, and/or version identifiers included in the broadcast Internet information. The time identifier may indicate a start time (e.g., time when the provider server 102 will begin broadcasting Internet information of the category, such as 8:00 PM), an end time, time interval, and/or Durationfromnow data. As described above, the category guide can include the start time and end time for category. Additionally, the Durationfromnow data in the category guide avoids time desynchrony between provider server 102 and user terminal 108. Desynchorony may occur when the clocks of the user terminal 108 and the provider server 102 differ. For instance, if the clock of the user terminal 108 indicates that the current time is 8:00 PM, and the clock of the provider server 102 indicates that the current time is 8:10 PM, time desynchrony may occur. The Durationfromnow data is relative value indicating that the Internet information of a particular category will be broadcast after a certain amount of time (e.g., thirty minutes from now). The user terminal 108 may process the Durationfromnow data to determine when a desired category is being broadcast and may store the received broadcast Internet information at that time in the memory space allocated to that category.
  • The user terminal 108 can also process the category identifier included in the broadcast Internet information to determine when to begin storing the broadcast Internet information received at the transceiver 204. As discussed above, the provider server 102 may add a unique category identifier to the Internet information being broadcast. The user terminal 108 may process the category identifier to determine whether to keep or discard the received Internet information. If the user terminal 108 has enough allocated space in the memory 208 for the category being broadcast, the user terminal 108 may store the received Internet information at the location in the memory 208 allocated to that category. If the user terminal 108 has not allocated space in the memory 208 for the received category of Internet information, then the user terminal 108 may discard the received Internet information. In one example, the broadcast Internet information may be received by a lower layer. The application layer of the user terminal 108 may determine whether keep or discard the received broadcast Internet information according to the unique identifier of category.
  • When the user terminal 108 allocates less memory than the size of a category, a secondary weight may be assigned to every discrete portion of Internet information in a category (e.g., a webpage in a category including ten webpages) based on importance or popularity. The secondary weight can be assigned by the provider server 102 after crawling and parsing the Internet information and/or can be assigned based on information input by the user prioritizing subcategories within a category. If two or more types of Internet information have the same secondary weight and there is not enough memory space, processor 104 may use an arbitrary metric, such as the publication time of the Internet information to determine which to keep and which to discard.
  • Referring to FIG. 4, in block 412, the user terminal 108 may revise the weights assigned to the categories at periodic intervals based on the browsing history of the user in the latest time period T. The revisions may occur as described above in block 408. For instance, the user terminal 108 may evaluate the browsing history of the user within the last T seconds, minutes, hours, days, etc., and may recalculate the added value A_Vi for each of the categories to adjust their respective weights Wi. Similar to the description above, the user terminal 108 may optionally limit adjustments of the respective weights Wi to instances when the added value A_Vi is greater than threshold α. If the amount of memory for a particular category has been reduced from that previously allocated, the memory 208 may write over the previously allocated memory. To determine which Internet information to overwrite, the memory 208 may write over the Internet information having the oldest publication time, the Internet information that was the least accessed by the user, or in other suitable manners. As such, the above description provides an improved way of allocating memory in a user terminal.
  • Accordingly, a tremendous volume of Internet information can be broadcast, but the memory space of a user terminal may be limited. Example embodiments of the invention efficiently allocate the memory space of a user terminal and selectively store broadcast Internet information based on user interest and/or user browsing history without involving the user terminal providing feedback to the provider server.
  • Internet information can be identified and organized into categories, such as an entertainment category, a sports category, etc. The Internet information may include Internet web pages, for example. Before being broadcast, a category guide may be communicated to one or more user terminals to identify the types of categories to be broadcast, the size (e.g., 2000 MB) of the Internet information included in each category, the number of different types of Internet information in each category, and so on. The user terminal may use the category guide in allocating its memory and in determining when to retain broadcast Internet information of interest to the user.
  • To efficiently allocate its memory, the user terminal may receive selections of categories of interest from a user and/or analyze browsing history of a user in each of the categories. The user terminal may assign each category a weight, which can represent the fondness degree of the user for the category, and may allocate memory space based on the weight. The user terminal also may adjust the weight assigned to a category according to subsequent user browsing behavior. The browsing history of the user terminal may identify the types of Internet information of interest to the user by category (e.g., sports, movies, etc.). The description provided below describes various example embodiments of categorizing Internet information for broadcasting by category and allocating the memory space of a user terminal in accordance with example embodiments of the present invention.
  • The foregoing description was provided with respect to adjusting memory allocation of a user terminal in a network computing environment. It is understood that the principles described herein may be extended to network computing environments that are wired, wireless, or both.
  • Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (22)

What is claimed is:
1. A server comprising:
at least one processor; and
at least one memory unit in communication with the at least one processor, the at least one memory unit includes at least one computer program code and the at least one memory unit and the computer program code are configured to, with the at least one processor, cause the server to perform at least the following:
receive, at the server, data of Internet information use and categories of interest;
generate a category guide, the category guide representing an aggregation of a plurality of categories;
communicate the category guide to at least one user terminal;
receive update information from the at least one user terminal; and
update the category guide based on the update information and update aggregation information for each of the categories.
2. The server of claim 1, wherein the server encrypts the category guide based on service subscription of the at least one user terminal and the encrypted category guide is communicated to the at least one user terminal.
3. The server of claim 1, wherein the server sends a request for the update information to the at least one user terminal and receives the update information as a response to the request.
4. The server of claim 1 wherein the category guide includes the plurality of categories and each category includes a category description.
5. The server of claim 1 wherein the server communicates memory requirements for the category guide to the at least one user terminal.
6. The server of claim 1 wherein the server monitors Internet browsing behavior of the at least one user terminal.
7. The server of claim 1 wherein the server receives memory information from the at least one user terminal and updates the category guide with the received memory information.
8. The server of claim 1 wherein the update information includes preference information of the at least one user terminal.
9. The server of claim 8 wherein the server monitors the at least one user terminal for changes in the preference information.
10. The server of claim 9 wherein the server receives new preference information associated with the at least one user terminal and updates the preference information with the new preference information for the at least one user terminal.
11. The server of claim 10 wherein the preference information is used to update the category guide that the server communicates to the at least one user terminal.
12. A method comprising:
receiving, at a server, data of Internet information use and categories of interest;
generating, at the server, a category guide, the category guide representing an aggregation of a plurality of categories;
communicating the category guide to at least one user terminal;
receiving, at the server, update information from the at least one user terminal; and
updating the category guide based on the update information and update aggregation information for each of the plurality of categories.
13. The method of claim 12, wherein the server encrypts the category guide based on service subscription of the at least one user terminal and the encrypted category guide is communicated to the at least one user terminal.
14. The method of claim 12, further comprising:
sending a request for the update information to the at least one user terminal; and
receiving the update information as a response to the request.
15. The method of claim 12 wherein the category guide includes the plurality of categories and each category includes a category description.
16. The method of claim 12 further comprising communicating memory requirements for the category guide to the at least one user terminal.
17. The method of claim 12 further comprising monitoring Internet browsing behavior of the at least one user terminal.
18. The method of claim 12 further comprising receiving memory information from the at least one user terminal and updating the category guide with the received memory information.
19. The method of claim 12 wherein the update information includes preference information of the at least one user terminal.
20. The method of claim 19 further comprising monitoring the at least one user terminal for changes in the preference information.
21. The method of claim 20 further comprising:
receiving new preference information associated with the at least one user terminal; and
updating the preference information with the new preference information for the at least one user terminal.
22. The method of claim 21 wherein the preference information is used to update the category guide that the server communicates to the at least one user terminal.
US14/675,722 2008-09-19 2015-03-31 Memory allocation to store broadcast information Abandoned US20150215427A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/675,722 US20150215427A1 (en) 2008-09-19 2015-03-31 Memory allocation to store broadcast information

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/234,336 US8341267B2 (en) 2008-09-19 2008-09-19 Memory allocation to store broadcast information
US13/692,851 US9043470B2 (en) 2008-09-19 2012-12-03 Memory allocation to store broadcast information
US14/675,722 US20150215427A1 (en) 2008-09-19 2015-03-31 Memory allocation to store broadcast information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/692,851 Continuation US9043470B2 (en) 2008-09-19 2012-12-03 Memory allocation to store broadcast information

Publications (1)

Publication Number Publication Date
US20150215427A1 true US20150215427A1 (en) 2015-07-30

Family

ID=42038796

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/234,336 Active 2029-08-02 US8341267B2 (en) 2008-09-19 2008-09-19 Memory allocation to store broadcast information
US13/692,851 Expired - Fee Related US9043470B2 (en) 2008-09-19 2012-12-03 Memory allocation to store broadcast information
US14/675,722 Abandoned US20150215427A1 (en) 2008-09-19 2015-03-31 Memory allocation to store broadcast information

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US12/234,336 Active 2029-08-02 US8341267B2 (en) 2008-09-19 2008-09-19 Memory allocation to store broadcast information
US13/692,851 Expired - Fee Related US9043470B2 (en) 2008-09-19 2012-12-03 Memory allocation to store broadcast information

Country Status (1)

Country Link
US (3) US8341267B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201140315A (en) * 2010-05-11 2011-11-16 Jmicron Technology Corp Method for estimating capacity usage status of storage unit, and associated memory device and controller thereof
US9589056B2 (en) * 2011-04-05 2017-03-07 Microsoft Technology Licensing Llc User information needs based data selection
US8572096B1 (en) * 2011-08-05 2013-10-29 Google Inc. Selecting keywords using co-visitation information
US20150271096A1 (en) * 2014-03-24 2015-09-24 Google Technology Holdings LLC Allocation of Client Device Memory for Content from Content Sources
CN106462362B (en) * 2014-06-24 2020-03-03 谷歌有限责任公司 Storing content items
US20150378920A1 (en) * 2014-06-30 2015-12-31 John G. Gierach Graphics data pre-fetcher for last level caches
US9674131B1 (en) * 2015-12-04 2017-06-06 International Business Machines Corporation Message delivery system
US9936055B2 (en) * 2016-01-27 2018-04-03 Dell Products L.P. Using multicasting to concurrently image multiple client devices
US10891342B2 (en) 2017-01-12 2021-01-12 Google Llc Content data determination, transmission and storage for local devices
US20190208247A1 (en) * 2017-12-29 2019-07-04 Dish Network L.L.C. Systems and methods for targeted television commercials based on viewer presence
CN114880572B (en) * 2022-05-23 2023-03-03 深圳市创意智慧港科技有限责任公司 Intelligent news client recommendation system

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801747A (en) * 1996-11-15 1998-09-01 Hyundai Electronics America Method and apparatus for creating a television viewer profile
US6195654B1 (en) * 1995-11-16 2001-02-27 Edward I Wachtel System and method for obtaining improved search results and for decreasing network loading
US20010012024A1 (en) * 1998-11-30 2001-08-09 Robert Rosin Web channel guide graphical interface system and method
US20030041060A1 (en) * 2001-08-13 2003-02-27 Hughes Electronics Corporation Proactive internet searching tool
US6546393B1 (en) * 1999-10-07 2003-04-08 Clickmarks, Inc. System method and article of manufacture for dynamically user-generated internet search directory based on prioritized server-sided user bookmarks
US20030145326A1 (en) * 2002-01-31 2003-07-31 Koninklijke Philips Electronics N.V. Subscription to TV channels/shows based on recommendation generated by a TV recommender
US6757682B1 (en) * 2000-01-28 2004-06-29 Interval Research Corporation Alerting users to items of current interest
US6879702B1 (en) * 2000-02-11 2005-04-12 Sony Corporation Digital image geographical special interest guide
US20050086692A1 (en) * 2003-10-17 2005-04-21 Mydtv, Inc. Searching for programs and updating viewer preferences with reference to program segment characteristics
US20050246732A1 (en) * 2004-05-02 2005-11-03 Mydtv, Inc. Personal video navigation system
US20050283800A1 (en) * 1998-07-23 2005-12-22 United Video Properties, Inc. Interactive television program guide system that serves as a portal
US20060095937A1 (en) * 1998-11-03 2006-05-04 United Video Properties, Inc., A Corporation Of Delaware Program guide system with combination category search
US20060123038A1 (en) * 2001-06-15 2006-06-08 Fenton Nicholas W Dynamic graphical index of website content
US20070055992A1 (en) * 2005-09-07 2007-03-08 Lg Electronics Inc. Method and apparatus for updating program guide information of digital TV
US20070061204A1 (en) * 2000-11-29 2007-03-15 Ellis Richard D Method and system for dynamically incorporating advertising content into multimedia environments
US20070143370A1 (en) * 2005-12-20 2007-06-21 Matsushita Electric Industrial Co., Ltd. TVA metadata automatic generation service for home networks
US20080178224A1 (en) * 2007-01-20 2008-07-24 Michael Laude Upgradeable intelligent remote control device with integrated program guide
US20080184326A1 (en) * 2006-10-19 2008-07-31 Satoshi Nakajima Community and/or chat-based content recording and consumption
US20080222680A1 (en) * 2005-08-25 2008-09-11 Tomoko Murakami Electronic program guide provision apparatus, electronic program guide provision method and program thereof
US20080276275A1 (en) * 1998-05-19 2008-11-06 Tv Guide Networks, Inc. Program guide system with video-on-demand browsing
US20080282293A1 (en) * 2007-05-07 2008-11-13 2 Be, Llc System and method for an event scheduler
US20080295132A1 (en) * 2003-11-13 2008-11-27 Keiji Icho Program Recommendation Apparatus, Method and Program Used In the Program Recommendation Apparatus
US20090144066A1 (en) * 2007-11-30 2009-06-04 Leviathan Entertainment, Inc. Method and System for Differential Billing
US8478841B2 (en) * 2008-06-20 2013-07-02 Kenneth J. Spitzer Systems and methods for managing electronically delivered information channels

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07113943B2 (en) * 1990-04-16 1995-12-06 シャープ株式会社 Learning method of neural network
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US6661468B2 (en) * 1994-05-20 2003-12-09 United Video Properties, Inc. Electronic television program guide schedule system and method
IL121230A (en) * 1997-07-03 2004-05-12 Nds Ltd Intelligent electronic program guide
US6928653B1 (en) * 1997-11-06 2005-08-09 United Video Properties, Inc. Interactive electronic television program guide with database configurability
US6457052B1 (en) * 1998-06-23 2002-09-24 At&T Corp Method and apparatus for providing multimedia buffering capabilities based on assignment weights
JP3579263B2 (en) * 1998-09-30 2004-10-20 株式会社東芝 Program data selection method and program viewing system
US6990676B1 (en) * 1999-03-17 2006-01-24 Sony Corporation Locally stored content previews. Representative of programming content in an electronic programming guide through a graphic image accessed from the hard drive of a set top box
JP2001156785A (en) * 1999-11-26 2001-06-08 Nec Corp Cell abort avoidance system and method in buffer
FR2803470A1 (en) * 1999-12-30 2001-07-06 Thomson Multimedia Sa METHOD FOR MANAGING A MEMORY IN A TELEVISION RECEIVER AND TELEVISION RECEIVER
US6970127B2 (en) * 2000-01-14 2005-11-29 Terayon Communication Systems, Inc. Remote control for wireless control of system and displaying of compressed video on a display on the remote
US20020038299A1 (en) * 2000-03-20 2002-03-28 Uri Zernik Interface for presenting information
US6425128B1 (en) * 2000-06-30 2002-07-23 Keen Personal Media, Inc. Video system with a control device for displaying a menu listing viewing preferences having a high probability of acceptance by a viewer that include weighted premium content
WO2002032025A1 (en) 2000-10-09 2002-04-18 Ses Astra S.A. Internet broadcast system
US8046799B2 (en) * 2000-11-27 2011-10-25 The Directv Group, Inc. Daypart based navigation paradigm
US20040136379A1 (en) * 2001-03-13 2004-07-15 Liao Raymond R Method and apparatus for allocation of resources
US7203170B2 (en) * 2001-05-01 2007-04-10 Integrated Device Technology, Inc. Network switch port with weighted random early discard
US7380262B2 (en) * 2001-06-12 2008-05-27 Thomson Licensing Method and apparatus for generating a list of suggested scheduled television programs
US6826568B2 (en) * 2001-12-20 2004-11-30 Microsoft Corporation Methods and system for model matching
AU2002361091B2 (en) * 2001-12-25 2006-04-13 Dentsu Inc. Information distribution system and method, program realizing the method, and information medium concerning the program
FR2836321B1 (en) * 2002-02-18 2006-02-24 Cit Alcatel SELECTIVE RECEIVER OF INFORMATION ELEMENTS
JP2003330948A (en) * 2002-03-06 2003-11-21 Fujitsu Ltd Device and method for evaluating web page
KR20050003364A (en) * 2002-04-12 2005-01-10 코닌클리케 필립스 일렉트로닉스 엔.브이. Downloading of programs into broadcast-receivers
US7143413B2 (en) * 2002-05-15 2006-11-28 Hewlett-Packard Development Company, L.P. Method and system for allocating system resources among applications using weights
FR2840480B1 (en) * 2002-05-31 2004-11-26 Cit Alcatel METHOD FOR SELF-ADAPTIVE MANAGEMENT OF RELEVANCE OF MULTIMEDIA CONTENT FOR RECEPTOR OF SUCH CONTENT AND ASSOCIATED RECEPTOR
EP1562021B1 (en) * 2002-07-17 2011-12-14 Xanavi Informatics Corporation Navigation method and computer program
US7392160B2 (en) * 2002-12-18 2008-06-24 Fortent Limited System and method for monitoring usage patterns
US7587488B2 (en) * 2003-09-15 2009-09-08 Blue Coat Systems, Inc. Dynamic background rater for internet content
US20050129042A1 (en) * 2003-12-16 2005-06-16 Nokia Corporation System and associated terminal, method and computer program product for controlling memory for storage of content
JP2005327183A (en) * 2004-05-17 2005-11-24 Fujitsu Ltd Information providing device
US7418000B2 (en) * 2004-06-03 2008-08-26 Corrigent Systems Ltd. Automated weight calculation for packet networks
GB0413848D0 (en) * 2004-06-21 2004-07-21 British Broadcasting Corp Accessing broadcast media
US7540051B2 (en) * 2004-08-20 2009-06-02 Spatial Systems, Inc. Mapping web sites based on significance of contact and category
WO2006026579A2 (en) * 2004-08-27 2006-03-09 Peng Tao A personal online information management system
US7729385B2 (en) * 2004-11-01 2010-06-01 Nokia Corporation Techniques for utilization of spare bandwidth
US7725343B2 (en) * 2004-11-16 2010-05-25 Gtm Consulting, Llc Activity based cost modeling
US20060117354A1 (en) * 2004-11-29 2006-06-01 Mark Schutte Consolidating video-on-demand (VOD) services with multi-room personal video recording (MR-PVR) services
US20060123097A1 (en) * 2004-12-02 2006-06-08 Nokia Corporation Enhanced electronic service guide container
US20060123099A1 (en) * 2004-12-08 2006-06-08 Nokia Corporation Enhanced electronic service guide container
US20060293077A1 (en) * 2005-06-27 2006-12-28 Nokia Corporation System, terminal, method, and computer program product for allocating memory for storage of content
US7925973B2 (en) * 2005-08-12 2011-04-12 Brightcove, Inc. Distribution of content
US7565506B2 (en) * 2005-09-08 2009-07-21 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics
US20070117557A1 (en) * 2005-11-21 2007-05-24 Conopco Inc, D/B/A Unilever Parametric user profiling
US7751780B2 (en) * 2005-11-23 2010-07-06 Qualcomm Incorporated Method and apparatus for collecting information from a wireless device
US8694016B2 (en) * 2006-04-14 2014-04-08 Qualcomm Incorporated Methods and apparatus for use of data object popularity measurements for improved quality of service perception in wireless broadcast systems
US20080127271A1 (en) * 2006-09-18 2008-05-29 Alcatel Intelligent internet protocol television switching
US7827580B2 (en) * 2006-12-22 2010-11-02 Nokia Corporation Dynamically adjustable electronic service guide
US20080227440A1 (en) * 2007-03-16 2008-09-18 Vinay Kumar Chowdary Settepalli Methods and apparatus for discovering and updating a mobile device via user behavior
US20080268829A1 (en) * 2007-04-24 2008-10-30 Motorola, Inc. Method and apparatus for user personalized mobile video program list population
US8122360B2 (en) * 2007-06-27 2012-02-21 Kosmix Corporation Automatic selection of user-oriented web content
US20090030785A1 (en) * 2007-07-26 2009-01-29 Yahoo! Inc. Monetizing rich media advertising interaction
US8484284B2 (en) * 2007-08-03 2013-07-09 Nintendo Co., Ltd. Handheld wireless game device server, handheld wireless device client, and system using same
US7840457B2 (en) * 2008-03-24 2010-11-23 Intuit Inc. System and method for automated transaction splitting
US8208006B2 (en) * 2008-04-10 2012-06-26 Research In Motion Limited Method and system for progressive delivery and synchronization of discrete content in rich media services
US8631488B2 (en) * 2008-08-04 2014-01-14 Cupp Computing As Systems and methods for providing security services during power management mode
US8464292B2 (en) * 2010-10-07 2013-06-11 Verizon Patent And Licensing Inc. Personalized television guide

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195654B1 (en) * 1995-11-16 2001-02-27 Edward I Wachtel System and method for obtaining improved search results and for decreasing network loading
US5801747A (en) * 1996-11-15 1998-09-01 Hyundai Electronics America Method and apparatus for creating a television viewer profile
US20080276275A1 (en) * 1998-05-19 2008-11-06 Tv Guide Networks, Inc. Program guide system with video-on-demand browsing
US20050283800A1 (en) * 1998-07-23 2005-12-22 United Video Properties, Inc. Interactive television program guide system that serves as a portal
US20060095937A1 (en) * 1998-11-03 2006-05-04 United Video Properties, Inc., A Corporation Of Delaware Program guide system with combination category search
US20010012024A1 (en) * 1998-11-30 2001-08-09 Robert Rosin Web channel guide graphical interface system and method
US6546393B1 (en) * 1999-10-07 2003-04-08 Clickmarks, Inc. System method and article of manufacture for dynamically user-generated internet search directory based on prioritized server-sided user bookmarks
US6757682B1 (en) * 2000-01-28 2004-06-29 Interval Research Corporation Alerting users to items of current interest
US6879702B1 (en) * 2000-02-11 2005-04-12 Sony Corporation Digital image geographical special interest guide
US20070061204A1 (en) * 2000-11-29 2007-03-15 Ellis Richard D Method and system for dynamically incorporating advertising content into multimedia environments
US20060123038A1 (en) * 2001-06-15 2006-06-08 Fenton Nicholas W Dynamic graphical index of website content
US20030041060A1 (en) * 2001-08-13 2003-02-27 Hughes Electronics Corporation Proactive internet searching tool
US20030145326A1 (en) * 2002-01-31 2003-07-31 Koninklijke Philips Electronics N.V. Subscription to TV channels/shows based on recommendation generated by a TV recommender
US20050086692A1 (en) * 2003-10-17 2005-04-21 Mydtv, Inc. Searching for programs and updating viewer preferences with reference to program segment characteristics
US20080295132A1 (en) * 2003-11-13 2008-11-27 Keiji Icho Program Recommendation Apparatus, Method and Program Used In the Program Recommendation Apparatus
US20050246732A1 (en) * 2004-05-02 2005-11-03 Mydtv, Inc. Personal video navigation system
US20080222680A1 (en) * 2005-08-25 2008-09-11 Tomoko Murakami Electronic program guide provision apparatus, electronic program guide provision method and program thereof
US20070055992A1 (en) * 2005-09-07 2007-03-08 Lg Electronics Inc. Method and apparatus for updating program guide information of digital TV
US20070143370A1 (en) * 2005-12-20 2007-06-21 Matsushita Electric Industrial Co., Ltd. TVA metadata automatic generation service for home networks
US20080184326A1 (en) * 2006-10-19 2008-07-31 Satoshi Nakajima Community and/or chat-based content recording and consumption
US20080178224A1 (en) * 2007-01-20 2008-07-24 Michael Laude Upgradeable intelligent remote control device with integrated program guide
US20080282293A1 (en) * 2007-05-07 2008-11-13 2 Be, Llc System and method for an event scheduler
US20090144066A1 (en) * 2007-11-30 2009-06-04 Leviathan Entertainment, Inc. Method and System for Differential Billing
US8478841B2 (en) * 2008-06-20 2013-07-02 Kenneth J. Spitzer Systems and methods for managing electronically delivered information channels

Also Published As

Publication number Publication date
US20130218831A1 (en) 2013-08-22
US9043470B2 (en) 2015-05-26
US20100077174A1 (en) 2010-03-25
US8341267B2 (en) 2012-12-25

Similar Documents

Publication Publication Date Title
US9043470B2 (en) Memory allocation to store broadcast information
US8973036B2 (en) Mapping mobile device electronic program guide to content
US11343581B2 (en) Methods and apparatus for implementing dynamic program guides on mobile devices
US8515336B2 (en) Apparatus and methods of selective collection and selective presentation of content
EP2834988B1 (en) Pre-fetch ads while serving ads in live stream
US9445140B2 (en) Systems and methods for sharing video viewing history
EP2740267B1 (en) Reception apparatus, method, computer program, and information providing apparatus for providing an alert service
US9538141B2 (en) Method and apparatus for controlling presentation of content at a user terminal
US20080090513A1 (en) Apparatus and methods of selective collection and selective presentation of content
WO2007082190A2 (en) Apparatus and methods of selective collection and selective presentation of content
US20150243329A1 (en) Playback of content pre-delivered to a user device
JPWO2014125947A1 (en) Information processing apparatus, information processing method, and information processing system
JP2010500797A (en) Technology to control the download of electronic service guides
KR20070038161A (en) Methods and apparatus for providing content information to content servers
US8429684B2 (en) Methods and apparatuses for determining preferred content using a temporal metadata table
US20240259632A1 (en) Behavior modeling based on content genre
US20080263591A1 (en) Content viewing session
JP5479602B2 (en) System for distributing personalized content in an efficient manner
KR20180034332A (en) Receiving device, transmitting device and data processing method
Liu et al. Media browsing for mobile devices based on resolution adaptive recommendation
TWI568254B (en) Broadcast-on-demand method for wireless peer-to-peer streaming
JP5324678B2 (en) Technology to control the download of electronic service guides
Hong et al. Design and implementation of home media server using TV-anytime for personalized broadcasting service
ZHAO et al. Reducing Start-up Delay and Traffic Consumption with Dynamic Threshold in VoD Systems

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE