US20070130589A1 - Managing content to constrained devices - Google Patents
Managing content to constrained devices Download PDFInfo
- Publication number
- US20070130589A1 US20070130589A1 US11/584,474 US58447406A US2007130589A1 US 20070130589 A1 US20070130589 A1 US 20070130589A1 US 58447406 A US58447406 A US 58447406A US 2007130589 A1 US2007130589 A1 US 2007130589A1
- Authority
- US
- United States
- Prior art keywords
- content
- mobile device
- select set
- selecting
- items
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000004891 communication Methods 0.000 claims description 24
- 238000007726 management method Methods 0.000 abstract description 50
- 230000003247 decreasing effect Effects 0.000 abstract description 2
- 238000003860 storage Methods 0.000 description 30
- 230000005540 biological transmission Effects 0.000 description 14
- 230000008901 benefit Effects 0.000 description 12
- 238000012217 deletion Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 239000011800 void material Substances 0.000 description 5
- 230000032683 aging Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012913 prioritisation Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000005577 local transmission Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25833—Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4335—Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8453—Structuring of content, e.g. decomposing content into time segments by locking or enabling a set of features, e.g. optional functionalities in an executable program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
Definitions
- This invention relates to apparatuses, systems, and methods for delivery and distribution of content through computer communications systems.
- Various devices employ specific wireless capabilities and subscribe to wireless services to improve their functionality and efficiency, including using certain data transports to link the device to a land-based server.
- some allow data to be sent, or pushed, to a mobile device from a land-based server with or without any initiating request from the mobile device.
- these devices are typically accessible using standard Internet protocols, they are capable of communicating and interacting with most of the standard technologies and services in use with personal computers such as the various Microsoft Windows operating systems or Apple Mac OS X operating systems, and their various associated functions and applications.
- RSS communicates news articles in a digitized data format through data feeds in machine readable formats to be read and processed by receiving devices, which may be computers or other programmable nodes, which then format the news articles to be read by users.
- Applications such as RSS Readers or RSS Aggregators have been developed for most popular computing platforms (such as Microsoft Windows and Mac OS X) operating the receiving devices. These applications allow users to subscribe to RSS data feeds, poll the feeds to see when new articles are available, and present the feeds in a user readable format.
- dedicated applications for reading news data feeds poll feeds at regular intervals (once an hour, for example) to retrieve available news articles and their updates.
- Web-based RSS aggregators read RSS data feeds and present the articles in a readable HTML format within a web browser.
- RSS is increasingly becoming the preferred transport for newer web technologies like podcasting and video podcasting, essentially syndicating references to larger audio and video streams in addition to simple text.
- mobile data communication devices With respect to receiving news data feeds, and presenting these in a user readable format, mobile data communication devices have limitations that differentiate them from personal computers, for example. These include limitations on the amount of memory, the speed of the central processing unit, the physical size of the display, the physical size of the input devices, the speed and cost of network communication, and the power source and battery life, among others. As such, the rise in popularity of RSS, podcasting and video podcasting technology has exposed a number of shortfalls in its application to and communications with mobile devices.
- This invention provides, among other things, methods of delivering content to mobile devices, and mobile devices with content management software containing instructions to receive content at the mobile device.
- Various embodiments of the invention provide as an object or benefit that they partially or fully address one or more of the needs, potential areas for improvement or benefit, or functions described herein, for instance.
- Specific embodiments provide as an object or benefit, for instance, that they provide methods, systems, or devices for automatically managing content to increase the probability that the user is gaining access to the content they want to see and for decreasing the chance that the delivery of content is tying up limited resources of the mobile device.
- the invention provides various methods of delivering content to a plurality of mobile devices.
- a method may include at least certain steps, which may include a step of receiving requests for content from users of the mobile devices, and the requests may include criteria for selecting content.
- Such methods may also include for each of the mobile devices, steps of receiving up-to-date information from the mobile device regarding a quantity of content that the mobile device is prepared to receive, selecting a select set of content using the criteria and the information, and transmitting the select set of content to the mobile device.
- such a method may involve repeating at least a plurality of times the steps of receiving the up-to-date information, selecting the select set of content, and transmitting the select set of content.
- the step of receiving requests for content may include receiving identification of a plurality of channels
- the step of selecting a select set of content may include selecting content corresponding to the plurality of channels
- the step of selecting a select set of content may include selecting a plurality of articles, each article including a title, a short description, and a long description, for example.
- a method may include a step of a content management server selecting a master set of content based on the criteria, wherein at least some of the master set of content is selected based on the criteria before the step of receiving the up-to-date information occurs, after which the up-to-date information is used to choose part of the master set of content to form the select set of content to send to the mobile device.
- the step of receiving the up-to-date information includes receiving from the mobile devices an indication of a maximum number of items to be transmitted, an amount of memory of the mobile device, a minimum number of items to be transmitted for each of a plurality of channels, and an identification of the last item received by the mobile device in a previous step of transmitting a select set of content to the mobile device.
- the steps of receiving the up-to-date information, selecting the select set of content, and transmitting the select set of content are performed without being initiated by the user at the mobile device at the time the content is delivered.
- the step of transmitting the select set of content is initiated by the content management server based on new content being available.
- the steps of receiving the up-to-date information, selecting the select set of content, and transmitting the select set of content are performed periodically at substantially regular intervals of time, while in some embodiments, the steps of receiving the up-to-date information and transmitting the select set of content, are initiated by the user through the mobile device when the user desires the select set of content.
- the step of receiving requests for content includes receiving identification of a plurality of channels and the step of selecting a select set of content includes selecting content corresponding to the plurality of channels
- the steps of receiving the up-to-date information and transmitting the select set of content are initiated by the user through the mobile device for a single channel when the user desires the select set of content for that single channel, and the step of transmitting the select set of content is restricted to that same single channel.
- the step of selecting a select set of content includes giving priority to content based on age, such that newer content is given higher priority.
- the step of receiving requests for content includes receiving identification of a plurality of channels, and receiving identification of a minimum quantity of content desired for each of the channels.
- at least some of the master set of content is selected based on the criteria before the step of selecting the select set of content.
- the up-to-date information is used to choose part of the master set of content to form the select set of content to send to the mobile device, the step of selecting a select set of content includes selecting content corresponding to the plurality of channels, and the step of transmitting the select set of content includes transmitting at least the minimum quantity of content desired for each of the channels.
- Some of the embodiments may further include a step of (for at least some of the mobile devices) selecting a master set of content based on the criteria, such that at least some of the master set of content is selected based on the criteria before the step of selecting the select set of content.
- the up-to-date information may be used to choose part of the master set of content to form the select set of content to send to the mobile device.
- the method further includes a step of identifying to not be delivered in the future, all of the master set of content that is not initially selected to form the select set of content.
- the mobile devices have a particular amount of memory and an indication of the amount of memory (for at least some of the mobile devices) is included in the criteria mentioned above, in the up-to-date information, or both.
- the content includes a plurality of items and at least some of the items include a plurality of parts.
- the step of selecting the select set of content includes selecting a portion of the parts of the items based on the indication of the amount of memory.
- at least some of the items within the select set of content include at least a title and a description, and for at least a portion of the mobile devices, the amount of memory is less than a predetermined threshold.
- the step of transmitting the select set of content includes transmitting only the title of each item within the select set of content.
- the method further includes, at least for some of the mobile devices where the amount of memory is less than the predetermined threshold, a step of transmitting the description of at least one item upon demand from the user through the mobile device.
- at least some of the items within the select set of content include at least a short description and a long description and the step of transmitting the description includes transmitting the long description of at least one item upon demand from the user through the mobile device.
- the invention also provides a mobile device for receiving content through a wireless communication network.
- the mobile device may include content management software that includes instructions to transmit up-to-date information from the mobile device to a content management server via the wireless communication network, and this information may identify a quantity of content that the mobile device is prepared to receive.
- This software may also include instructions to receive a select set of content at the mobile device from the management server via the wireless communication network and repeat, at least several times, the instructions to transmit the up-to-date information and receive the select set of content.
- the content management software includes instructions to receive content in more than one channel, where each channel may include a plurality of items, and each item may include a title, a short description and a long description, for example. Further, in some embodiments, the content management software further contains instructions to sort the previously received content according to priority and delete at least some of the lowest priority content to make room for the select set of content.
- the content comprises a plurality of articles and the content management software contains instructions to assign a higher priority to more-recent articles than to older articles.
- the content management software contains instructions to assign a higher priority to unread articles than to articles that have been read, instructions to assign a higher priority to saved articles than to unread articles, or both.
- the content management software contains instructions to sort the previously received content in a plurality of channels, where each channel has a limit for a minimum quantity of content.
- the content comprises a plurality of items, at least some of which have a plurality of parts, and the content management software contains instructions to organize the items into handles, each handle representing at least one part of an item.
- the content management software contains instructions to assign a priority to each of the handles for at least some of the items, and in at least some cases, the priority assigned to one handle is different than the priority assigned to another handle for the same item. Even further, in some embodiments, the content management software further contains instructions to sort the handles according to priority and delete at least some of the lowest priority content to make room for the select set of content. Further still, in some such embodiments, the content management software further contains instructions to fetch the part from the content management server when the user requests the part and the handle has been deleted.
- FIG. 1 is a block diagram that illustrates an example of a system in accordance with the invention, that includes servers, and a mobile handset;
- FIG. 2 is a block diagram of the mobile handset of FIG. 1 , that illustrates an example of an embodiment of the mobile handset in greater detail;
- FIG. 3 is a block diagram illustrating an application that may be found on the mobile handset shown in FIGS. 1 and 2 , which illustrates that content may include different channels and items in some embodiments of the invention;
- FIG. 4 is a block diagram illustrating an example of items and handles of one of the channels shown in FIG. 3 , in an example of an embodiment of the invention
- FIG. 5 is a flow chart illustrating an example of a method of delivering content, for instance, to constrained mobile devices, in accordance with an embodiment of the invention
- FIG. 6 is a flow chart illustrating another example of a method of delivering content, for instance, to a mobile device, in accordance with an embodiment of the invention
- FIG. 7 is a flow chart illustrating an example of a method of requesting content or changing a subscription list, for instance, with a mobile device, in accordance with an example of an embodiment of the invention.
- FIG. 8 is a flow chart illustrating an example of a method of receiving content, for instance, with a mobile device, in accordance with an example of an embodiment of the invention.
- This invention provides, among other things, methods of managing, sorting, selecting, delivering, and receiving content, software for performing such functions, and apparatuses or devices for performing such functions. Examples include mobile devices having particular software, and methods of delivering content to mobile devices. Certain embodiments automatically manage content to facilitate the user gaining access to the content they want to see and to at least partially avoid tying up limited resources of the mobile device.
- a user subscribes to or requests content to be sent to his mobile device.
- this content may concern a number of channels, and a management server may collect content for delivery.
- the mobile device may transmit up-to-date information to identify a quantity of content that the mobile device is prepared to receive, and the server may select certain content requested in accordance with the up-to-date information, and send it to the mobile device.
- FIG. 1 illustrates an example of an embodiment of a system 10 in accordance with certain embodiments of the invention.
- content management server 15 has access to, and may receive, content from RSS feed 11 , podcast 12 , and video podcast 13 , as examples. This access may be through one or more networks, such as the Internet, for example.
- Content management server 15 is connected to or in communication with content database 14 , and also to or with user management server 17 , in this embodiment, which may be connected to or in communication with user database 16 , for instance. Communication between any of these components may be through a network such as the Internet, as an example, or through a direct connection.
- a “server” may consist of one or both of user management server 17 and content management server 15 .
- content management server 15 may communicate with mobile handset 19 , for example, through wireless gateway and transmission tower 18 .
- FIG. 1 shows one handset 19 , but in many embodiments, there may be a plurality of or many handsets 19 , for example, for different users, which may all be served by one or more of servers 15 and 17 , for example.
- mobile handset 19 may communicate with or send a message to content management server 15 .
- this may involve communicating with the wireless transmission tower (of 18 ), which gets converted by the wireless gateway (of 18 ) to internet protocol and submitted to content management server 15 , user management server 17 , or both, for example.
- content management server 15 , user management server 17 , or both requests some or all pending pieces of content, and delivers them back to mobile handset 19 (once again via wireless gateway and wireless transmission tower 18 ).
- FIG. 2 illustrates an example of an embodiment of mobile device, mobile handset 19 , showing content management software 22 , which may be an RSS reader, for example.
- Content management software 22 may communicate with or send messages to an external server (e.g., to content management server 15 shown in FIG. 1 ) via the communications component 21 , which, in various embodiments, may be a wireless network such as 802.11, Bluetooth or GPRS, for example.
- Handset 19 or communications component 21 may communicate via wireless gateway and wireless transmission tower 18 , for instance.
- a user or client device analogous to handset 19 may connect to a network, such as the Internet, by another method, such as a hard wired connection, for example.
- Handset 19 in this embodiment, also include storage 24 , which may be used to store content, for other purposes, or both, and may be relatively limited in capacity, in some embodiments.
- An RSS feed is a example of a piece of content that a user may subscribe to, for instance, through content management software 22 on mobile device 19 .
- Content such as an RSS feed
- Content may contain any number of items, such as articles, and items or articles may be added to or removed from an RSS feed at any time.
- Articles or items may refer to enclosures or parts, in some embodiments, which may be references to other pieces of content, which may include audio files, image files, video files, or a combination thereof, for example.
- items, articles, or both may have a publication date associated with them allowing them to be sorted chronologically or given priority based on age. In instances where no publication date is provided by a piece of content such as an RSS feed, a publication date may be determined independently by the system, in some embodiments, or the date that the content or RSS feed is received may be used.
- the mobile device 19 may include content management software 22 having instructions to transmit (e.g., up-to-date) information from the mobile device 19 to a content management server 15 via the wireless communication network (e.g., through wireless gateway and communications tower 18 ).
- the information identifies a quantity of content that the mobile device 19 is prepared to receive.
- Such software e.g., 22
- the instructions to transmit the (e.g., up-to-date) information and receive the select set of content may be repeated, at least a plurality of times.
- the select set of content may be repeated many times, for example, every half hour, every hour, several times per day, daily, several times per week, or weekly, for instance.
- the content comprises a plurality of articles and the content management software 22 further contains instructions to assign a higher priority to more-recent articles than to older articles.
- the content management software 22 further contains instructions to assign a higher priority to unread articles than to articles that have been read, to assign a higher priority to saved articles than to unread articles, or both.
- the client application such as content management software 22 includes instructions to receive content in a plurality of channels, for example, channels 31 , 32 , and 33 .
- each channel may include a plurality of items, as shown.
- different numbers of channels may exist, channels may have different numbers of items, or both.
- some or all of the items may consist of a number of parts.
- some or all of the items may include a title, a short description and a long description.
- items may include text, pictures, audio files, video, etc., which may be assigned different levels of priority, in some embodiments.
- the content management software 22 may further contain instructions to sort previously received content according to priority and delete at least some of the lowest priority content to make room for the select set of content. In some embodiments, the content management software 22 contains instructions to sort the previously received content in a plurality of channels, where each channel has a limit for a minimum quantity of content.
- the content comprises a plurality of items, at least some of which have a plurality of parts
- the content management software 22 contains instructions to organize the items into handles, each handle representing at least one part of an item.
- FIG. 4 illustrates an embodiment wherein channel 31 comprises content items 0 to N, and each content item shown has at least one handle.
- Content item N in this example, has three handles, N ⁇ 0 to N ⁇ 2.
- the content management software 22 contains instructions to assign a priority to each of the handles for some or all of the items, and for at least some such items, the priority assigned to one handle is different than the priority assigned to another handle for the same item.
- the content management software 22 further contains instructions to sort the handles according to priority and delete at least some of the lowest priority content to make room for the select set of content. Further still, in some such embodiments, the content management software further contains instructions to fetch a part of an item from content management server 15 (e.g., from content database 14 ) when the user requests the part and the handle has been deleted or when the user requests the part and a pointer to content referenced by the handle has been deleted.
- content management server 15 e.g., from content database 14
- FIG. 5 illustrates an example of a method in accordance with the invention that may be performed, for example, by content management server 15 .
- FIG. 5 is an example of a method of delivering content to a plurality of mobile devices, for instance.
- such a method may include at least certain steps, such as, for example, a step of receiving requests for content (step 51 ).
- requests may be received, for instance, from at least some of users of a number of mobile devices 19 , and each request may include criteria for selecting content.
- these requests for content or criteria (e.g., received in step 51 ) may include subscriptions, such as those described herein.
- the step of receiving requests for content includes receiving identification of a plurality of channels.
- Such channels may include different subscriptions, different publications, content on different subjects or containing different keywords, etc.
- Certain methods may also include (e.g., for each of the mobile devices 19 ), one or more steps of receiving information regarding a quantity (step 53 ), for example, of information to be received by the mobile device 19 .
- up-to-date information may be received (step 53 ) from mobile device 19 regarding a quantity of content that mobile device 19 is prepared to receive.
- up-to-date information may be in real time, in substantially real time, or within a half our or an hour old, for example. As used herein, up-to-date information is no longer than one hour old.
- Information regarding quantity may include a quantity of content, a number of articles, a number of items, a number of parts of items, a quantity of available memory or storage (e.g., within storage 24 ) that mobile device 19 has, has available, or that is willing to be committed to content or to new content, for example.
- the step of receiving the (e.g., up-to-date) information regarding quantity (step 53 ) includes receiving from each of the mobile devices 19 an indication of a maximum number of items to be transmitted (e.g., in step 55 ), an amount of memory (e.g., storage 24 ) of the mobile device 19 , a minimum number of items to be transmitted for each of a plurality of channels, a last item received by the mobile device 19 in a previous step of transmitting a select set of content (step 55 ) to the mobile device 19 , or a combination thereof, for example.
- a maximum number of items to be transmitted e.g., in step 55
- an amount of memory e.g., storage 24
- Method 50 also includes, for example, a step of selecting a select set of content (step 54 ).
- the select set of content may be selected (step 54 ) using the requests for content (e.g., received in step 51 ) or criteria and the information regarding quantity (e.g., received in step 53 ), for instance.
- the step of selecting a select set of content (step 54 ) includes selecting content corresponding to a plurality of channels. Thus, content may be selected (step 54 ) from different subscriptions, on different topics, identified in different keyword searches, etc.
- the step of selecting a select set of content includes selecting a plurality of articles, for example, news articles, which may include text, pictures, sound, video, links, and the like.
- each article or some articles have a title, a short description, a long description, or a combination thereof, for example.
- the step of selecting a select set of content involves giving priority to content based on age, such that newer content is given higher priority.
- method 50 includes a step of transmitting the select set of content (step 55 ), for example, from content management server 15 to mobile device 19 .
- method 50 may also involve repeating at least a plurality of times the steps of receiving the (e.g., up-to-date) information (step 53 ), selecting the select set of content (step 54 ), and transmitting the select set of content (step 55 ).
- content management server 15 may look for postings of content after receiving the information regarding quantity (step 53 ), for instance, as part of the step of selecting the select set of content (step 54 ).
- a method such as method 50 , may include a step of a content management server (e.g., 15 ) selecting a master set of content (step 52 ), which may be based on the requests for content (step 51 ) or criteria, for example.
- the master set of content is selected (step 52 ) based on the requests for content (e.g., received in step 51 ) or criteria before the step of receiving the (e.g., up-to-date) information regarding quantity (step 53 ) occurs, after which the (e.g., up-to-date) information is used to choose part of the master set of content to form the select set of content (e.g., in step 54 ) to send to the mobile device 19 (e.g., in step 55 ).
- the master set of content (e.g., selected in step 52 ) may be stored in content database 14 , for example, by content management server 15 , for instance.
- the step of receiving requests for content includes receiving identification of a plurality of channels
- the step of receiving requests for content includes receiving identification of a minimum quantity of content desired for each of the channels
- at least some of the master set of content is selected (step 52 ) based on the requests for content (e.g., received in step 51 ) or criteria before the step of selecting the select set of content (step 54 ).
- the (e.g., up-to-date) information regarding quantity may be used (e.g., in step 54 ) to choose part of the master set of content (e.g., selected in step 52 ) to form the select set of content (e.g., selected in step 54 ) to send (e.g., in step 55 ) to the mobile device 19 .
- the step of selecting a select set of content includes selecting content corresponding to the plurality of channels
- the step of transmitting the select set of content includes transmitting at least the minimum quantity of content desired for each of the channels.
- method 50 further includes (e.g., as part of step 54 or 55 , or as another step) identifying to not be delivered in the future, all of the master set of content (e.g., selected in step 52 ) that is not initially selected to form the select set of content (e.g., in step 54 ).
- the steps of receiving the (e.g., up-to-date) information (step 53 ), selecting the select set of content (step 54 ), and transmitting the select set of content (step 55 ), are performed without being initiated by the user at the mobile device 19 at the time the select set of content is delivered to mobile device 19 .
- the step of transmitting the select set of content (step 55 ) is initiated by content management server 15 based on new content being available.
- the steps of receiving the up-to-date information (step 53 ), selecting the select set of content (step 54 ), and transmitting the select set of content (step 55 ) are performed periodically, for example, at substantially regular intervals of time.
- the steps of receiving the up-to-date information (step 53 ) and transmitting the select set of content (step 55 ), are initiated by the user through the mobile device 19 when the user desires the select set of content (e.g., transmitted in step 55 ).
- the steps of receiving the up-to-date information (step 53 ) and transmitting the select set of content (step 55 ) are initiated by the user through the mobile device 19 for a single channel when the user desires the select set of content for that single channel.
- the step of transmitting the select set of content (step 55 ) is restricted to that same single channel.
- At least some of the mobile devices 19 have a particular amount of memory or storage (e.g., storage 24 shown in FIG. 2 ), and an indication of the amount of memory or storage 24 for at least some of the mobile devices 19 may be included in the requests for content (e.g., received in step 51 ) or criteria, in the (e.g., up-to-date) information regarding quantity (e.g., received in step 53 ), or both.
- the content includes a plurality of items, at least some of which include a plurality of parts.
- the step of selecting the select set of content includes selecting a portion of the parts of the items based on the indication of the amount of memory.
- different parts may be given different levels of priority, which may be based on importance, file size, file type, or age, for example.
- At least some of the items within the select set of content include at least a title and a description.
- the step of transmitting the select set of content involves transmitting only the title of each item within the select set of content (e.g., selected in step 54 ).
- the description of at least one item may be held, for example, by content management server 15 in content database 14 , and may be transmitted upon (e.g., only upon) demand from the user through the mobile device 19 , for example, rather than automatically sending the actual description in step 55 ).
- at least some of the items within the select set of content include more than one lengths of description, for instance, (at least) a short description and a long description.
- the long description (e.g., of at least one item) may be transmitted upon (e.g., only upon) demand from the user through the mobile device 19 (e.g., rather than being transmitted automatically in step 55 ), for example, for a certain availability or size of memory or storage 24 .
- the long description may be held until demanded, while the short description may be transmitted (e.g., in step 55 ) to the mobile device 19 .
- mobile device 19 may have, at some point, connected with the server (e.g., 15 , 17 , or both) and allowed the user to request or subscribe to content (e.g., RSS feeds) (e.g., step 51 ) which may later be delivered (e.g., in step 55 ) to mobile device 19 .
- content e.g., RSS feeds
- a user may request or subscribe (e.g., step 51 ) to content in other ways, for example, through a desk top or laptop computer operating through the Internet, by phone, by e-mail, by text message, etc.
- a user may request content (e.g., step 51 ) from a particular source, of a particular periodical, on one or more particular subjects, having particular keywords, etc.
- content management server 15 may be independently collecting content (e.g., in step 52 ) such as articles that the client has subscribed to (e.g., in step 51 ) that have yet to be delivered to the client.
- the mobile device 19 stores an integer number, in some embodiments, representing a maximum number of articles that it is permitted to store, (a max ).
- the mobile device 19 may request an update from the server (e.g., may request step 55 be performed, for instance, by server 15 , 17 , or both), which may be initiated automatically, by the device software (e.g., by content management software 22 , by software on content management server 15 , or by a scheduled update, for example) or manually by a person (e.g., by the user).
- the mobile device 19 sends to the server (e.g., 15 , 17 , or both) three values (e.g., received by server 15 in step 53 ).
- the server e.g., 15 , 17 , or both
- three values e.g., received by server 15 in step 53 .
- One of these three values is an integer representing the number of available “slots” (e.g., in storage 24 ) for articles on the mobile device 19 .
- Another of the three values mentioned is an integer representing, in certain embodiments, the minimum number of articles preferred in a channel (a min ).
- this integer may be the same for all channels, while in other embodiments, a user may select a potentially different minimum number of articles for each channel.
- the third of the three values mentioned is a Boolean, in some embodiments, indicating whether the user or client wants to receive only the newest articles if more articles are available than can be transmitted in a single transaction (e.g., in step 55 ).
- the server receives a request or information (e.g., step 53 ) from the mobile device 19 , in particular embodiments, it counts how many articles are pending delivery to the mobile device 19 (a pending ) via the clients subscribed RSS feeds, for instance.
- these articles or information identifying them may be stored on content database 14 (e.g., in a master set of content selected in step 52 ), or may not yet have been downloaded by server 15 , for example, from RSS feed 11 and the like.
- the server e.g., 15
- sends e.g., in step 55
- all pending articles e.g., to the client (e.g., to mobile handset 19 ), because the client has room for them all.
- the master set of content selected in step 52 is transmitted in step 55
- the step of selecting a select set of content involves selecting all of the master set of content (e.g., from step 52 ).
- content management server 15 may count the number of articles in each channel (a channel,n ).
- a mobile device 19 stores a minimum article limit per channel and a global maximum article limit.
- the mobile device 19 keeps items ordered, in preparation for candidate deletion, based on the following algorithm, for example. First, read articles are considered older, or of a lower priority, than unread ones. Second, unread articles are considered older, or of a lower priority, than saved ones. Further, if read/unread/saved status is the same, then the articles are ordered or prioritized by the publish date, or if the publish date is not available, then by the date the articles arrived may be used, for example, at content management server 15 or mobile handset 19 .
- each channel is requested for it's “n” oldest or lowest priority items, where “n” is the number of articles to delete, for example, as described above (e.g., all read, but not saved, items may be considered older or of a lower priority than any unread items). If a channel has less than the minimum limit, then it returns null (e.g., for “n”).
- the channel if removing “n” items will cause the channel to have less than the minimum limit, then the channel returns the oldest or lowest priority “n—minimum limit” items.
- items received from each channel are kept in an auto sorted vector, in this embodiment, and the oldest “n” items are deleted. But saved items, in this embodiment, are considered sacred and are never deleted automatically (e.g., without specific instructions to delete by the user).
- Yet another embodiment of the invention uses two modes.
- the mode is chosen dynamically depending on how much storage is available on the device (e.g., mobile handset 19 ).
- some mobile devices 19 may be operating in one mode, while other mobile devices 19 are operating in a different mode.
- 100 k has been chosen in this embodiment to be a threshold, as an example.
- this embodiment operates in what will be called a normal mode.
- Other embodiments may have different modes or a different number of modes.
- a client device e.g., mobile handset 19
- content management e.g., RSS reader
- a server e.g., content management server 15
- the server maintains the list of subscribed RSS feeds (e.g., channels) for all clients that connect, and delivers the individual articles/items to the clients (e.g., to mobile handset 19 ), for instance, as they appear in the channels on the Internet.
- the content management software or client application 22 contains a number of channels 31 , 32 , and 33 , for example, and each channel contains a number of items.
- an item contains a title and a description, for instance.
- the client device e.g., 19
- application settings may include a maximum number of articles/items that are permitted to be stored, and an article/item transmission index (which is initialized to 0 in this embodiment).
- the client device stores, for each channel, an identification of the channel, the first 100 characters of the channel title, and the count of unread items in the channel (which changes dynamically as the user opens items). Furthermore, in this embodiment, the client device (e.g., 19 ) stores, for each item in a channel, the identification of the item, the identification of the channel this item belongs to, the first 100 characters of the item title, and a flag to denote whether this item is read or unread.
- a screen displays a list of channel titles and corresponding unread article counts, from the information that is currently resident on the device (e.g., on mobile handset 19 ).
- the application 22 makes contact with the server (e.g., with content management server 15 ) to synchronize the subscription list (if it is different from what is stored on the server for that account) (e.g., providing instructions or requests for content received in step 51 shown in FIG. 5 ).
- the application 22 will then request from the server (e.g., 15 ) all available article titles and identifications.
- an appropriate transmission index is passed from the device 19 to the server (e.g., 15 ) so the server knows where to begin sending items.
- This index may include, for example, a “counter” to indicate where in the list of items an update was last completed.
- the server e.g., 15
- the client e.g., to mobile handset 19
- the device application 22 auto-deletes “items” (which may just be a title) from device storage 24 , so that at most the device application 22 is storing the maximum number of allowable items, using the auto-deletion algorithm of this embodiment.
- the new items are delivered to the device 19 , the unread counts are updated on the device 19 , and the transmission index on the device 19 is updated once the entire update is complete.
- the user can select channels (e.g., 31 , 32 , and 33 shown in FIG.
- the application 22 may, in some embodiments, choose to fetch the descriptions for all items in this channel, in anticipation of the user opening many of the items.
- the user can open an item in a channel.
- the application demands or fetches the description (e.g., from content database 14 , via content management server 15 ).
- a dialog is presented to the user “please wait . . . ” and the description is fetched, and finally displayed to the user (e.g., on mobile handset 19 ).
- This description may be the short description, for example.
- the user can also request the item's “full article” which is a longer and more complete version of the item description (e.g., the long description).
- a dialog is presented to the user “please wait . . . ” and the full article is fetched (e.g., from content database 14 , via content management server 15 ) and displayed to the user (e.g., on mobile handset 19 ).
- the storage e.g., 24
- the application 22 makes a request to the network (e.g., to content management server 15 ) to fetch the content.
- the network e.g., to content management server 15
- in low memory mode there is no option to save content.
- Other embodiments may have a limited option to save content.
- the normal memory mode of this embodiment operates similarly, with the following differences.
- descriptions e.g., short descriptions
- items can be saved, and more items can be stored (e.g., in storage 24 ).
- each channel has a minimum article count, to ensure high-volume channels do not completely starve low-volume channels of articles.
- the transmission index mentioned above is used in this embodiment for synchronization (redelivery) of items.
- the synchronization may be necessary, for example, when a connection is lost during transmission (e.g., the server 15 delivered 250 items [e.g., in step 55 ] but the client 19 received only 100), or if the client (e.g., mobile handset 19 ) crashed during processing new items or the user pulled the batteries out or terminated the application 22 without saving (e.g., similar to above).
- Another potential use for synchronization in this embodiment, is when the client (e.g., mobile handset 19 or content management software 22 ) is reinstalled. In this embodiment, if the client has no items, its local transmission index is 0.
- the server (e.g., 15 ) has a list of items (e.g., the master set of content of step 52 of FIG. 5 ) to be delivered to the client (e.g., to mobile handset 19 ).
- the server e.g., 15
- the server takes a subset of all new client items and decides which items to send (e.g., in step 54 of FIG. 5 ) based on an “anti-starving” delivery algorithm and transmission index.
- each item which the server (e.g., 15 ) decides to send to the client gets assigned a sequential transmission index. Specifically, the index starts from 1 and is incremented with every item sent to the client, in this particular embodiment.
- the index is saved on the server (e.g., 15 ), in this embodiment, with each client item, and the client receives the item along with corresponding transmission index.
- the client stores (e.g., in storage 24 ) the highest received index, and the next time the client (e.g., content management software 22 ) calls for items, it sends the highest received transmission index.
- the server e.g., 15
- the server then goes through all client items and assumes that all client items with a transmission index higher than the one provided by the client are new, and the delivery algorithm is applied and the process starts over again.
- content is organized into structures, and these structures may be divided into atomic units. Users are often not interested in the entire structure, and are only interested in bits and pieces of it. Some embodiments of the invention have the ability to separate these content parts and deliver and manage the content, for example, in an optimal way for a mobile service where the mobile device (e.g., handset 19 ) has constrained memory and storage (e.g., 24 ).
- the mobile device e.g., handset 19
- constrained memory and storage e.g., 24
- This feed is itself content, but is subdivided into smaller units.
- the feed's title, the copyright, the description, each item, the item's title, the item's description, and the audio enclosure, etc. are all atomic units of content that can be subdivided in this example.
- a user subscribes to content channels (such as RSS feeds) (e.g., received in step 51 shown in FIG. 5 ).
- the service e.g., via content management server 15 ) delivers content from these channels to the user's device (e.g., to mobile handset 19 ).
- the user's device e.g., to mobile handset 19
- the handles are sorted into a priority queue. Some of the atomic parts don't actually contain the content, in this embodiment, they simply contain a placeholder for the content, and knowledge of how to fetch the real content when required.
- FIG. 4 illustrates an example of how a content channel 31 may be divided into content items and handles.
- a RSS article containing an image and a link to an audio file can be divided into a basic article (e.g., title, author, date, etc.), a short description, the full article (e.g., long description), an image, and an audio file, for instance.
- the device application e.g., client management software 22 shown in FIG. 2
- the sorting criteria may include, for example, opened vs. unopened, content type, fetch date, content size, priority metric, saved flag, protected flag, or a combination thereof.
- saved and protected items are not placed in the priority queue, as they can never be selected for auto-deletion.
- saved items are essentially protected items that the user has specially requested be protected.
- they are placed in a special saved folder.
- protected items are also never selected for auto-deletion.
- they are used for special feeds that represent lists of things instead of streams of information. For example, a feed representing a grocery list or address book should not have items automatically deleted.
- opened items are assigned an aspect priority of 0, and unopened items are assigned an aspect priority of 1.
- the various aspects are assigned floating point numbers, in some embodiments, where 0 is considered low priority and 1 is considered high priority.
- the following floating point values are assigned: user interface, 1.0; basic article, 0.9; short description, 0.8; long description, 0.7; images, 0.6; audio enclosure, 0.2; video enclosure, 0.1; and other enclosure, 0.1, for example.
- a number between 0 and 1 is assigned representing the aging of the handle. Aging can be set globally for all handles (e.g., all handles age linearly from 1 to 0 over 30 days) or aging can be handled by types or even feed sources.
- audio enclosures could age quickly (e.g., over 3 days), and descriptions could age slowly (e.g., over 30 days). Alternately, audio enclosures in a certain feed could age very slowly (e.g., 15 days), while audio enclosures in feeds in general could age very quickly (e.g., 2 days).
- audio enclosures in a certain feed could age very slowly (e.g., 15 days), while audio enclosures in feeds in general could age very quickly (e.g., 2 days).
- Priority 1 ⁇ (clamp(age of handle/age_duration)), where age of handle is the difference between the current date and the date the item was originally published; clamp implies that if the result is greater than 1 it is set to 1, and if the result is less than 0 it is set to 0. In this formula, if the age of a an item was 30 days, and the age_duration was 30, the priority would be set to 0. If the age was 0 (a brand new item), the priority would be set to 1.
- content size affects how things are inserted in the priority queue. For example, larger atomic blocks may be given (e.g., by default) a lower priority so they can be selected for auto-deletion more quickly than smaller atomic blocks.
- a number between 0 and 1 is assigned based on the size.
- 0 represents a size equal to or exceeding a maximum preferred size for an atomic piece of content.
- 1 represents a size equal to 0 bytes (e.g., the number approaches 1 as the size approaches 0).
- the maximum preferred size for an atomic piece of content is 10% of the devices (e.g., mobile handset 19 's) total storage (e.g., 24 ).
- a formula for instance:
- a priority metric is a prioritization fudge-factor that the device application (e.g., content management software 22 ) can use to artificially boost (or reduce) priority of specific items in special cases.
- the priority metric can be assigned any value by the application (e.g., by content management software 22 ). In many embodiments, for example, higher values increase the priority and defer auto-deletion and lower values (e.g., including negative values) decrease the priority and accelerate auto-deletion.
- a prioritization value for each handle is produced with the following weighted formula: w 1 o+w 2 t+w 3 f+w 4 s+p
- w is a weighted factor for each prioritization criteria
- o is the number for opened vs. unopened
- f is the number representing the fetch date aging
- s is the number representing the content size
- p is the number representing the prioritization factor.
- Fetching certain bits of content can be restricted, in some embodiments, by the type of available network. For example, when operating on a GPRS network, no audio or video can be received. But when the device (e.g., mobile handset 19 ) switches to a cable or WiFi network, then images and audio can be received in many embodiments. In addition, in some embodiments, certain parts of content are fetched automatically, and for particular parts, only a handle to the content is created so that it can be fetched later. In some embodiments, the client (e.g., content management software 22 ) decides whether to auto-fetch content depending on a number of variables.
- One such variable is the amount of storage (e.g., 24 ) available on the device (e.g., 19 ), for example.
- the client e.g., content management software 22
- the client can reduce the number of things that are auto-fetched, in some embodiments.
- the user may request that certain channels always auto-fetch some of the content (e.g., full descriptions for a certain news channels).
- FIGS. 6 to 8 illustrate various additional examples of methods in accordance with the invention.
- FIG. 6 illustrates another example of a method employed by content management server 15 , for instance.
- the mobile device mentioned in FIG. 6 may be mobile handset 19 , for example. Steps 51 of receiving requests for content, 54 of selecting a select set of content, and 55 of transmitting content (previously discussed with reference to FIG. 5 ), are shown in FIG. 6 , along with other steps that may be included in various embodiments of the invention.
- FIG. 7 illustrates an example of a method of changing a subscription list, which is an example of steps associated with one embodiment of requesting content (e.g., received in step 51 shown in FIG. 5 and described above with reference thereto).
- the mobile device may be mobile handset 19 , for example, and the server may be content management server 15 , both shown in FIG. 1 , for instance.
- FIG. 8 illustrates an example of steps taken by a mobile device (e.g., mobile handset 19 ) when receiving content from a server (e.g., from content management server 15 ).
- the step of sending selection criteria to the server (step 83 ) corresponds to the step of receiving information regarding quantity (step 53 ) of FIG. 5 .
- the step of receiving new content from the server (step 85 ) corresponds to the step of transmitting the select set of content (step 55 ) shown in FIG. 5 .
- Other steps shown in these figures may be found in various embodiments of the invention.
- references to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.”
- the terms “comprises”, “comprising”, or a variation thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
- Orders and sequences (e.g., of steps) herein are presented as examples, but are not intended to indicate the only order sequence that may accomplish the desired purpose, unless specifically stated as such. Further, no element described herein is required for the practice of the invention unless expressly described as “essential” or “critical”.
Abstract
Description
- This patent application claims priority to, and incorporates by reference, U.S. provisional patent application 60/729,066, titled: Managing Content to Constrained Mobile Devices over Wireless Networks, by Jay Steele, et al., which was filed on Oct. 20, 2005.
- This invention relates to apparatuses, systems, and methods for delivery and distribution of content through computer communications systems.
- In recent years there has been a rapid increase in the production and adoption of mobile data communications devices and services in the worldwide marketplace. Wireless networks and operational capabilities potentially allow users to carry the devices almost anywhere and to use them to obtain and store electronic data. With the ability to employ data protocols such as HTTP (for Internet), POP/IMAP (for mail) and GSM (for voice), these devices have significant communications versatility. These devices typically have user input components, for instance, phone keypads and joysticks. Some have full keyboards, which enhance their communications capability.
- Various devices employ specific wireless capabilities and subscribe to wireless services to improve their functionality and efficiency, including using certain data transports to link the device to a land-based server. Of the various wireless services, some allow data to be sent, or pushed, to a mobile device from a land-based server with or without any initiating request from the mobile device. Because these devices are typically accessible using standard Internet protocols, they are capable of communicating and interacting with most of the standard technologies and services in use with personal computers such as the various Microsoft Windows operating systems or Apple Mac OS X operating systems, and their various associated functions and applications.
- Within this environment, technologies such as the HTTP (Hypertext Transfer Protocol), HTML (Hypertext Markup Language) and XML (extensible Markup Language) have helped to standardize the way devices and people communicate. For instance, XML is quickly becoming the foundation for allowing computer-based services to communicate with each other. One form of XML called RSS (Really Simple Syndication) allows news articles to be published in a standard format. Presently, RSS-based news articles are widely available on the Internet, used by everything from personal web logs to commercial news agencies. In addition to RSS, other competing news syndication formats also exist, including Atom.
- RSS communicates news articles in a digitized data format through data feeds in machine readable formats to be read and processed by receiving devices, which may be computers or other programmable nodes, which then format the news articles to be read by users. Applications such as RSS Readers or RSS Aggregators have been developed for most popular computing platforms (such as Microsoft Windows and Mac OS X) operating the receiving devices. These applications allow users to subscribe to RSS data feeds, poll the feeds to see when new articles are available, and present the feeds in a user readable format. Typically, dedicated applications for reading news data feeds poll feeds at regular intervals (once an hour, for example) to retrieve available news articles and their updates. Web-based RSS aggregators read RSS data feeds and present the articles in a readable HTML format within a web browser. In addition, RSS is increasingly becoming the preferred transport for newer web technologies like podcasting and video podcasting, essentially syndicating references to larger audio and video streams in addition to simple text.
- With respect to receiving news data feeds, and presenting these in a user readable format, mobile data communication devices have limitations that differentiate them from personal computers, for example. These include limitations on the amount of memory, the speed of the central processing unit, the physical size of the display, the physical size of the input devices, the speed and cost of network communication, and the power source and battery life, among others. As such, the rise in popularity of RSS, podcasting and video podcasting technology has exposed a number of shortfalls in its application to and communications with mobile devices.
- Users subscribe to RSS-based content, and the content can be delivered to the mobile device without the user explicitly asking for it at that specific moment (much like a mailman can place a newspaper or magazine in your mailbox for retrieval). As mentioned above, mobile devices are often much more constrained than desktop computers. Specifically they usually have a much lower storage capacity capable of storing information. Additionally, stressing those resources (for example, by storing a lot of content on a device) can often impact the performance and usability of the device to the point where it is no longer useful.
- Therefore, for services that exists where users can subscribe to content and have it automatically delivered to the device, there is a need or potential for benefit for ways of automatically managing the content to improve or maximize the possibility that: a) the user is gaining access to the content they want to see, and b) the delivery of content is not stressing the resources of the mobile device. As examples, needs and potential for benefit exist for methods for delivering content to mobile devices, and for mobile devices for receiving content through a wireless communications network, wherein the mobile device contains content management software containing instructions that facilitate efficient content management and delivery to the user. Potential for improvement exists in these and other areas that may be apparent to a person of skill in the art having studied this document.
- This invention provides, among other things, methods of delivering content to mobile devices, and mobile devices with content management software containing instructions to receive content at the mobile device. Various embodiments of the invention provide as an object or benefit that they partially or fully address one or more of the needs, potential areas for improvement or benefit, or functions described herein, for instance. Specific embodiments provide as an object or benefit, for instance, that they provide methods, systems, or devices for automatically managing content to increase the probability that the user is gaining access to the content they want to see and for decreasing the chance that the delivery of content is tying up limited resources of the mobile device.
- In specific embodiments, the invention provides various methods of delivering content to a plurality of mobile devices. In various of these embodiments, such a method may include at least certain steps, which may include a step of receiving requests for content from users of the mobile devices, and the requests may include criteria for selecting content. Such methods may also include for each of the mobile devices, steps of receiving up-to-date information from the mobile device regarding a quantity of content that the mobile device is prepared to receive, selecting a select set of content using the criteria and the information, and transmitting the select set of content to the mobile device. In many embodiments, such a method may involve repeating at least a plurality of times the steps of receiving the up-to-date information, selecting the select set of content, and transmitting the select set of content.
- In certain embodiments, for at least some of the mobile devices, the step of receiving requests for content may include receiving identification of a plurality of channels, the step of selecting a select set of content may include selecting content corresponding to the plurality of channels, and the step of selecting a select set of content may include selecting a plurality of articles, each article including a title, a short description, and a long description, for example. Further, in some embodiments, a method may include a step of a content management server selecting a master set of content based on the criteria, wherein at least some of the master set of content is selected based on the criteria before the step of receiving the up-to-date information occurs, after which the up-to-date information is used to choose part of the master set of content to form the select set of content to send to the mobile device. In a number of embodiments, the step of receiving the up-to-date information includes receiving from the mobile devices an indication of a maximum number of items to be transmitted, an amount of memory of the mobile device, a minimum number of items to be transmitted for each of a plurality of channels, and an identification of the last item received by the mobile device in a previous step of transmitting a select set of content to the mobile device.
- In some embodiments, the steps of receiving the up-to-date information, selecting the select set of content, and transmitting the select set of content, are performed without being initiated by the user at the mobile device at the time the content is delivered. On the other hand, in a number of embodiments, the step of transmitting the select set of content is initiated by the content management server based on new content being available. Further, in some embodiments, the steps of receiving the up-to-date information, selecting the select set of content, and transmitting the select set of content, are performed periodically at substantially regular intervals of time, while in some embodiments, the steps of receiving the up-to-date information and transmitting the select set of content, are initiated by the user through the mobile device when the user desires the select set of content.
- In certain embodiments where (for at least some of the mobile devices) the step of receiving requests for content includes receiving identification of a plurality of channels and the step of selecting a select set of content includes selecting content corresponding to the plurality of channels, the steps of receiving the up-to-date information and transmitting the select set of content, are initiated by the user through the mobile device for a single channel when the user desires the select set of content for that single channel, and the step of transmitting the select set of content is restricted to that same single channel. Further, in a number of embodiments, the step of selecting a select set of content includes giving priority to content based on age, such that newer content is given higher priority.
- In particular embodiments that include a step of selecting a master set of content based on the criteria, for at least some of the mobile devices, the step of receiving requests for content includes receiving identification of a plurality of channels, and receiving identification of a minimum quantity of content desired for each of the channels. In addition, in this embodiment, at least some of the master set of content is selected based on the criteria before the step of selecting the select set of content. Furthermore, in these particular embodiments, the up-to-date information is used to choose part of the master set of content to form the select set of content to send to the mobile device, the step of selecting a select set of content includes selecting content corresponding to the plurality of channels, and the step of transmitting the select set of content includes transmitting at least the minimum quantity of content desired for each of the channels.
- Some of the embodiments may further include a step of (for at least some of the mobile devices) selecting a master set of content based on the criteria, such that at least some of the master set of content is selected based on the criteria before the step of selecting the select set of content. In such embodiments, the up-to-date information may be used to choose part of the master set of content to form the select set of content to send to the mobile device. And in many embodiments, the method further includes a step of identifying to not be delivered in the future, all of the master set of content that is not initially selected to form the select set of content.
- Still further, in some methods, at least some of the mobile devices have a particular amount of memory and an indication of the amount of memory (for at least some of the mobile devices) is included in the criteria mentioned above, in the up-to-date information, or both. Further, in some embodiments, the content includes a plurality of items and at least some of the items include a plurality of parts. For at least some of the mobile devices, in some embodiments, the step of selecting the select set of content includes selecting a portion of the parts of the items based on the indication of the amount of memory. In some such embodiments, at least some of the items within the select set of content include at least a title and a description, and for at least a portion of the mobile devices, the amount of memory is less than a predetermined threshold.
- Further, for certain mobile devices where the amount of memory is less than the predetermined threshold, the step of transmitting the select set of content includes transmitting only the title of each item within the select set of content. And, in some embodiments, the method further includes, at least for some of the mobile devices where the amount of memory is less than the predetermined threshold, a step of transmitting the description of at least one item upon demand from the user through the mobile device. Even further, in certain embodiments, at least some of the items within the select set of content include at least a short description and a long description and the step of transmitting the description includes transmitting the long description of at least one item upon demand from the user through the mobile device.
- In other embodiments, the invention also provides a mobile device for receiving content through a wireless communication network. In such embodiments, the mobile device may include content management software that includes instructions to transmit up-to-date information from the mobile device to a content management server via the wireless communication network, and this information may identify a quantity of content that the mobile device is prepared to receive. This software may also include instructions to receive a select set of content at the mobile device from the management server via the wireless communication network and repeat, at least several times, the instructions to transmit the up-to-date information and receive the select set of content. In some embodiments, the content management software includes instructions to receive content in more than one channel, where each channel may include a plurality of items, and each item may include a title, a short description and a long description, for example. Further, in some embodiments, the content management software further contains instructions to sort the previously received content according to priority and delete at least some of the lowest priority content to make room for the select set of content.
- In various embodiments, the content comprises a plurality of articles and the content management software contains instructions to assign a higher priority to more-recent articles than to older articles. In addition, in some embodiments, the content management software contains instructions to assign a higher priority to unread articles than to articles that have been read, instructions to assign a higher priority to saved articles than to unread articles, or both. Furthermore, in some embodiments, the content management software contains instructions to sort the previously received content in a plurality of channels, where each channel has a limit for a minimum quantity of content. Moreover, in some embodiments, the content comprises a plurality of items, at least some of which have a plurality of parts, and the content management software contains instructions to organize the items into handles, each handle representing at least one part of an item.
- Further, in some embodiments, the content management software contains instructions to assign a priority to each of the handles for at least some of the items, and in at least some cases, the priority assigned to one handle is different than the priority assigned to another handle for the same item. Even further, in some embodiments, the content management software further contains instructions to sort the handles according to priority and delete at least some of the lowest priority content to make room for the select set of content. Further still, in some such embodiments, the content management software further contains instructions to fetch the part from the content management server when the user requests the part and the handle has been deleted.
- Different embodiments of the invention include various combinations of the features and limitations described herein, and different embodiments have a variety of objects and provide different benefits, some of which may be apparent to a person of skill in the art.
- The drawings illustrate, among other things, various particular examples of embodiments of the invention, and certain characteristics thereof. Different embodiments of the invention include various combinations of elements shown in the drawings, described herein, known in the art, or a combination thereof.
-
FIG. 1 is a block diagram that illustrates an example of a system in accordance with the invention, that includes servers, and a mobile handset; -
FIG. 2 is a block diagram of the mobile handset ofFIG. 1 , that illustrates an example of an embodiment of the mobile handset in greater detail; -
FIG. 3 is a block diagram illustrating an application that may be found on the mobile handset shown inFIGS. 1 and 2 , which illustrates that content may include different channels and items in some embodiments of the invention; -
FIG. 4 is a block diagram illustrating an example of items and handles of one of the channels shown inFIG. 3 , in an example of an embodiment of the invention; -
FIG. 5 is a flow chart illustrating an example of a method of delivering content, for instance, to constrained mobile devices, in accordance with an embodiment of the invention; -
FIG. 6 is a flow chart illustrating another example of a method of delivering content, for instance, to a mobile device, in accordance with an embodiment of the invention; -
FIG. 7 is a flow chart illustrating an example of a method of requesting content or changing a subscription list, for instance, with a mobile device, in accordance with an example of an embodiment of the invention; and -
FIG. 8 is a flow chart illustrating an example of a method of receiving content, for instance, with a mobile device, in accordance with an example of an embodiment of the invention. - In certain situations, because of the memory and storage constraints of mobile devices, improvements are needed, or would be beneficial, for managing content on the device, before the content arrives at the device, or both. As an example, in some embodiments of a mobile application, content is “subscribed” and continually arriving on the device, without being explicitly requested by the user. This means that as new content arrives, often content needs to be automatically removed from the device to make sure there is enough storage on the device to accommodate any newly arriving content. A number of different examples are described herein, and embodiments of the invention may include aspects of one or more of the examples provided.
- This invention provides, among other things, methods of managing, sorting, selecting, delivering, and receiving content, software for performing such functions, and apparatuses or devices for performing such functions. Examples include mobile devices having particular software, and methods of delivering content to mobile devices. Certain embodiments automatically manage content to facilitate the user gaining access to the content they want to see and to at least partially avoid tying up limited resources of the mobile device. In various embodiments, a user subscribes to or requests content to be sent to his mobile device. In some embodiments, this content may concern a number of channels, and a management server may collect content for delivery. The mobile device may transmit up-to-date information to identify a quantity of content that the mobile device is prepared to receive, and the server may select certain content requested in accordance with the up-to-date information, and send it to the mobile device.
-
FIG. 1 illustrates an example of an embodiment of asystem 10 in accordance with certain embodiments of the invention. In this embodiment,content management server 15 has access to, and may receive, content fromRSS feed 11,podcast 12, andvideo podcast 13, as examples. This access may be through one or more networks, such as the Internet, for example.Content management server 15 is connected to or in communication withcontent database 14, and also to or withuser management server 17, in this embodiment, which may be connected to or in communication withuser database 16, for instance. Communication between any of these components may be through a network such as the Internet, as an example, or through a direct connection. In various embodiments, a “server” may consist of one or both ofuser management server 17 andcontent management server 15. In the embodiment illustrated,content management server 15,user management server 17, or both, may communicate withmobile handset 19, for example, through wireless gateway andtransmission tower 18.FIG. 1 shows onehandset 19, but in many embodiments, there may be a plurality of ormany handsets 19, for example, for different users, which may all be served by one or more ofservers - In some embodiments, to make a request for content,
mobile handset 19, or a user ofmobile handset 19, may communicate with or send a message tocontent management server 15. In some embodiments, this may involve communicating with the wireless transmission tower (of 18), which gets converted by the wireless gateway (of 18) to internet protocol and submitted tocontent management server 15,user management server 17, or both, for example. In particular embodiments,content management server 15,user management server 17, or both requests some or all pending pieces of content, and delivers them back to mobile handset 19 (once again via wireless gateway and wireless transmission tower 18). -
FIG. 2 illustrates an example of an embodiment of mobile device,mobile handset 19, showingcontent management software 22, which may be an RSS reader, for example.Content management software 22 may communicate with or send messages to an external server (e.g., tocontent management server 15 shown inFIG. 1 ) via thecommunications component 21, which, in various embodiments, may be a wireless network such as 802.11, Bluetooth or GPRS, for example.Handset 19 orcommunications component 21 may communicate via wireless gateway andwireless transmission tower 18, for instance. In other embodiments, a user or client device analogous tohandset 19 may connect to a network, such as the Internet, by another method, such as a hard wired connection, for example.Handset 19, in this embodiment, also includestorage 24, which may be used to store content, for other purposes, or both, and may be relatively limited in capacity, in some embodiments. - An RSS feed is a example of a piece of content that a user may subscribe to, for instance, through
content management software 22 onmobile device 19. Content, such as an RSS feed, may contain any number of items, such as articles, and items or articles may be added to or removed from an RSS feed at any time. Articles or items may refer to enclosures or parts, in some embodiments, which may be references to other pieces of content, which may include audio files, image files, video files, or a combination thereof, for example. In many embodiments, items, articles, or both, may have a publication date associated with them allowing them to be sorted chronologically or given priority based on age. In instances where no publication date is provided by a piece of content such as an RSS feed, a publication date may be determined independently by the system, in some embodiments, or the date that the content or RSS feed is received may be used. - In particular embodiments of a
mobile device 19 for receiving content through a wireless communication network, themobile device 19 may includecontent management software 22 having instructions to transmit (e.g., up-to-date) information from themobile device 19 to acontent management server 15 via the wireless communication network (e.g., through wireless gateway and communications tower 18). In some such embodiments, the information identifies a quantity of content that themobile device 19 is prepared to receive. Such software (e.g., 22) may also include instructions to receive a select set of content at themobile device 19 from themanagement server 15 via the wireless communication network (e.g., through wireless gateway and communications tower 18), for instance, as described herein. In some embodiments, the instructions to transmit the (e.g., up-to-date) information and receive the select set of content may be repeated, at least a plurality of times. In some embodiments, the select set of content may be repeated many times, for example, every half hour, every hour, several times per day, daily, several times per week, or weekly, for instance. - In various embodiments, the content comprises a plurality of articles and the
content management software 22 further contains instructions to assign a higher priority to more-recent articles than to older articles. In addition, in some embodiments, thecontent management software 22 further contains instructions to assign a higher priority to unread articles than to articles that have been read, to assign a higher priority to saved articles than to unread articles, or both. - Turning now to
FIG. 3 , in some embodiments, the client application, such ascontent management software 22, includes instructions to receive content in a plurality of channels, for example,channels - Further, in some embodiments, the
content management software 22 may further contain instructions to sort previously received content according to priority and delete at least some of the lowest priority content to make room for the select set of content. In some embodiments, thecontent management software 22 contains instructions to sort the previously received content in a plurality of channels, where each channel has a limit for a minimum quantity of content. - Further, in a number of embodiments, the content comprises a plurality of items, at least some of which have a plurality of parts, and the
content management software 22 contains instructions to organize the items into handles, each handle representing at least one part of an item.FIG. 4 illustrates an embodiment whereinchannel 31 comprisescontent items 0 to N, and each content item shown has at least one handle. Content item N, in this example, has three handles, N−0 toN− 2. In addition, in some embodiments, thecontent management software 22 contains instructions to assign a priority to each of the handles for some or all of the items, and for at least some such items, the priority assigned to one handle is different than the priority assigned to another handle for the same item. Even further, in some embodiments, thecontent management software 22 further contains instructions to sort the handles according to priority and delete at least some of the lowest priority content to make room for the select set of content. Further still, in some such embodiments, the content management software further contains instructions to fetch a part of an item from content management server 15 (e.g., from content database 14) when the user requests the part and the handle has been deleted or when the user requests the part and a pointer to content referenced by the handle has been deleted. - In addition to equipment, systems, software, and instructions, the invention provides various methods.
FIG. 5 illustrates an example of a method in accordance with the invention that may be performed, for example, bycontent management server 15.FIG. 5 is an example of a method of delivering content to a plurality of mobile devices, for instance. In various embodiments, such a method may include at least certain steps, such as, for example, a step of receiving requests for content (step 51). Such requests may be received, for instance, from at least some of users of a number ofmobile devices 19, and each request may include criteria for selecting content. In various embodiments, these requests for content or criteria (e.g., received in step 51) may include subscriptions, such as those described herein. In some embodiments, content on particular subjects, from particular sources or authors, containing particular keywords, from particular sources, having particular characteristics, or the like, may be requested. In certain embodiments, for at least some of themobile devices 19, the step of receiving requests for content (step 51) includes receiving identification of a plurality of channels. Such channels may include different subscriptions, different publications, content on different subjects or containing different keywords, etc. - Certain methods, such as
method 50, may also include (e.g., for each of the mobile devices 19), one or more steps of receiving information regarding a quantity (step 53), for example, of information to be received by themobile device 19. In some embodiments, up-to-date information may be received (step 53) frommobile device 19 regarding a quantity of content thatmobile device 19 is prepared to receive. In various embodiments, up-to-date information may be in real time, in substantially real time, or within a half our or an hour old, for example. As used herein, up-to-date information is no longer than one hour old. - Information regarding quantity (e.g., received in step 53) may include a quantity of content, a number of articles, a number of items, a number of parts of items, a quantity of available memory or storage (e.g., within storage 24) that
mobile device 19 has, has available, or that is willing to be committed to content or to new content, for example. In a number of embodiments, the step of receiving the (e.g., up-to-date) information regarding quantity (step 53) includes receiving from each of themobile devices 19 an indication of a maximum number of items to be transmitted (e.g., in step 55), an amount of memory (e.g., storage 24) of themobile device 19, a minimum number of items to be transmitted for each of a plurality of channels, a last item received by themobile device 19 in a previous step of transmitting a select set of content (step 55) to themobile device 19, or a combination thereof, for example. -
Method 50 also includes, for example, a step of selecting a select set of content (step 54). In many embodiments, the select set of content may be selected (step 54) using the requests for content (e.g., received in step 51) or criteria and the information regarding quantity (e.g., received in step 53), for instance. In various embodiments, the step of selecting a select set of content (step 54) includes selecting content corresponding to a plurality of channels. Thus, content may be selected (step 54) from different subscriptions, on different topics, identified in different keyword searches, etc. In some embodiments, the step of selecting a select set of content (step 54) includes selecting a plurality of articles, for example, news articles, which may include text, pictures, sound, video, links, and the like. In certain embodiments, each article or some articles have a title, a short description, a long description, or a combination thereof, for example. Further, in a number of embodiments, the step of selecting a select set of content (step 54) involves giving priority to content based on age, such that newer content is given higher priority. - In addition,
method 50 includes a step of transmitting the select set of content (step 55), for example, fromcontent management server 15 tomobile device 19. In many embodiments,method 50 may also involve repeating at least a plurality of times the steps of receiving the (e.g., up-to-date) information (step 53), selecting the select set of content (step 54), and transmitting the select set of content (step 55). - Further, in some embodiments,
content management server 15, for example, may look for postings of content after receiving the information regarding quantity (step 53), for instance, as part of the step of selecting the select set of content (step 54). But in other embodiments, a method, such asmethod 50, may include a step of a content management server (e.g., 15) selecting a master set of content (step 52), which may be based on the requests for content (step 51) or criteria, for example. In some embodiments, at least some of the master set of content is selected (step 52) based on the requests for content (e.g., received in step 51) or criteria before the step of receiving the (e.g., up-to-date) information regarding quantity (step 53) occurs, after which the (e.g., up-to-date) information is used to choose part of the master set of content to form the select set of content (e.g., in step 54) to send to the mobile device 19 (e.g., in step 55). The master set of content (e.g., selected in step 52) may be stored incontent database 14, for example, bycontent management server 15, for instance. - In particular embodiments, for at least some of the
mobile devices 19, the step of receiving requests for content (step 51) includes receiving identification of a plurality of channels, the step of receiving requests for content (step 51) includes receiving identification of a minimum quantity of content desired for each of the channels, and at least some of the master set of content is selected (step 52) based on the requests for content (e.g., received in step 51) or criteria before the step of selecting the select set of content (step 54). In addition, the (e.g., up-to-date) information regarding quantity (e.g., received in step 53) may be used (e.g., in step 54) to choose part of the master set of content (e.g., selected in step 52) to form the select set of content (e.g., selected in step 54) to send (e.g., in step 55) to themobile device 19. - In many embodiments, the step of selecting a select set of content (step 54) includes selecting content corresponding to the plurality of channels, and the step of transmitting the select set of content (step 55) includes transmitting at least the minimum quantity of content desired for each of the channels. And in some embodiments,
method 50 further includes (e.g., as part ofstep - In some embodiments, the steps of receiving the (e.g., up-to-date) information (step 53), selecting the select set of content (step 54), and transmitting the select set of content (step 55), are performed without being initiated by the user at the
mobile device 19 at the time the select set of content is delivered tomobile device 19. On the other hand, in a number of embodiments, the step of transmitting the select set of content (step 55) is initiated bycontent management server 15 based on new content being available. Further, in some embodiments, the steps of receiving the up-to-date information (step 53), selecting the select set of content (step 54), and transmitting the select set of content (step 55), are performed periodically, for example, at substantially regular intervals of time. Further still, in some embodiments, the steps of receiving the up-to-date information (step 53) and transmitting the select set of content (step 55), are initiated by the user through themobile device 19 when the user desires the select set of content (e.g., transmitted in step 55). In certain embodiments, the steps of receiving the up-to-date information (step 53) and transmitting the select set of content (step 55), are initiated by the user through themobile device 19 for a single channel when the user desires the select set of content for that single channel. And in some embodiments, the step of transmitting the select set of content (step 55) is restricted to that same single channel. - Still further, in some embodiments, at least some of the
mobile devices 19 have a particular amount of memory or storage (e.g.,storage 24 shown inFIG. 2 ), and an indication of the amount of memory orstorage 24 for at least some of themobile devices 19 may be included in the requests for content (e.g., received in step 51) or criteria, in the (e.g., up-to-date) information regarding quantity (e.g., received in step 53), or both. Further, in some embodiments, the content includes a plurality of items, at least some of which include a plurality of parts. And in a number of embodiments, for more than one of themobile devices 19, the step of selecting the select set of content (step 54) includes selecting a portion of the parts of the items based on the indication of the amount of memory. In various embodiments, different parts may be given different levels of priority, which may be based on importance, file size, file type, or age, for example. - In some such embodiments, at least some of the items within the select set of content (e.g., selected in step 54) include at least a title and a description. In some embodiments, if the amount of memory (e.g., storage 24) is less than a predetermined threshold, the step of transmitting the select set of content (step 55) involves transmitting only the title of each item within the select set of content (e.g., selected in step 54). And in some embodiments, at least for some of the
mobile devices 19 wherein the amount of memory orstorage 24 is less than the predetermined threshold, the description of at least one item may be held, for example, bycontent management server 15 incontent database 14, and may be transmitted upon (e.g., only upon) demand from the user through themobile device 19, for example, rather than automatically sending the actual description in step 55). Even further, in certain embodiments, at least some of the items within the select set of content (e.g., selected in step 54) include more than one lengths of description, for instance, (at least) a short description and a long description. In some embodiments, the long description (e.g., of at least one item) may be transmitted upon (e.g., only upon) demand from the user through the mobile device 19 (e.g., rather than being transmitted automatically in step 55), for example, for a certain availability or size of memory orstorage 24. In some embodiments, the long description may be held until demanded, while the short description may be transmitted (e.g., in step 55) to themobile device 19. - Describing now some additional specific examples of the invention, in a number of embodiments,
mobile device 19 may have, at some point, connected with the server (e.g., 15, 17, or both) and allowed the user to request or subscribe to content (e.g., RSS feeds) (e.g., step 51) which may later be delivered (e.g., in step 55) tomobile device 19. In some embodiments, a user may request or subscribe (e.g., step 51) to content in other ways, for example, through a desk top or laptop computer operating through the Internet, by phone, by e-mail, by text message, etc. In different embodiments, a user may request content (e.g., step 51) from a particular source, of a particular periodical, on one or more particular subjects, having particular keywords, etc. Prior to amobile device 19 making a request to update content (e.g., a request to select content instep 54, transmit content instep 55, or both), thecontent management server 15 may be independently collecting content (e.g., in step 52) such as articles that the client has subscribed to (e.g., in step 51) that have yet to be delivered to the client. - The
mobile device 19 stores an integer number, in some embodiments, representing a maximum number of articles that it is permitted to store, (amax). In some embodiments, themobile device 19 may request an update from the server (e.g., may requeststep 55 be performed, for instance, byserver content management software 22, by software oncontent management server 15, or by a scheduled update, for example) or manually by a person (e.g., by the user). - For example, in some embodiments, the
mobile device 19 sends to the server (e.g., 15, 17, or both) three values (e.g., received byserver 15 in step 53). One of these three values, in some embodiments, is an integer representing the number of available “slots” (e.g., in storage 24) for articles on themobile device 19. In various embodiments, available slots refers to the total maximum number of article permitted on themobile device 19 minus (subtract) the number of saved articles on the mobile device 19 (e.g.: sn=amax−asaved). Another of the three values mentioned, is an integer representing, in certain embodiments, the minimum number of articles preferred in a channel (amin). In some embodiments, this integer may be the same for all channels, while in other embodiments, a user may select a potentially different minimum number of articles for each channel. The third of the three values mentioned is a Boolean, in some embodiments, indicating whether the user or client wants to receive only the newest articles if more articles are available than can be transmitted in a single transaction (e.g., in step 55). - When the server (e.g., 15) receives a request or information (e.g., step 53) from the
mobile device 19, in particular embodiments, it counts how many articles are pending delivery to the mobile device 19 (apending) via the clients subscribed RSS feeds, for instance. In different embodiments, these articles or information identifying them may be stored on content database 14 (e.g., in a master set of content selected in step 52), or may not yet have been downloaded byserver 15, for example, fromRSS feed 11 and the like. In certain embodiments, if apending<=sn then the server (e.g., 15) sends (e.g., in step 55) all pending articles to the client (e.g., to mobile handset 19), because the client has room for them all. In other words, the master set of content selected instep 52 is transmitted instep 55, and the step of selecting a select set of content (step 54) involves selecting all of the master set of content (e.g., from step 52). - On the other hand, if apending>sn then, in various embodiments, if the client prefers to receive (e.g., in step 55) only the newest articles (e.g., ignoring the older articles), then in the pending articles (e.g., in the master set of content selected in step 52),
content management server 15 may count the number of articles in each channel (achannel,n). And from all channels, in this embodiment, where achannel,n>=amin, (e.g., content management server 15) removes the oldest articles from the list (e.g., in step 54) pending delivery (e.g., in step 55) to themobile device 19, and in some embodiments, does not ever deliver them (e.g., in a repeated step 55). - Otherwise, if the client prefers to receive (e.g., in step 55) older articles before the newer articles, then, for example,
content management server 15 may count the number of pending articles in each channel (achannel,n), in some embodiments.Content management server 15 may then (e.g., in step 54), at least for all channels where achannel,n>=amin, remove (e.g., in step 54) the newest articles from the list (e.g., from the master set of content selected in step 52) pending delivery (e.g., in step 55) to themobile device 19, but may put the removed articles back in the pending delivery list (e.g., back into the master set of content of step 52), for instance, after the select set (e.g., selected in step 54) has been sent (e.g., in step 55) to themobile device 19 so the articles that were not already sent are delivered on the next update request (e.g., whenstep 55 is repeated). If there are no channels where achannel,n>=amin thencontent management server 15 would not remove articles from any channel in this embodiment. - In further examples of embodiments, a
mobile device 19 stores a minimum article limit per channel and a global maximum article limit. In some such embodiments, themobile device 19, at the client, keeps items ordered, in preparation for candidate deletion, based on the following algorithm, for example. First, read articles are considered older, or of a lower priority, than unread ones. Second, unread articles are considered older, or of a lower priority, than saved ones. Further, if read/unread/saved status is the same, then the articles are ordered or prioritized by the publish date, or if the publish date is not available, then by the date the articles arrived may be used, for example, atcontent management server 15 ormobile handset 19. - In some such embodiments, when new articles arrive on the mobile device 19 (e.g., transmitted in step 55), if the global maximum limit is not reached, then the articles are added to the appropriate channel. On the other hand, if the global maximum is reached, then the article is added to the appropriate channel and the
mobile device 19 selects articles for deletion based on the following algorithm, for example. First, each channel is requested for it's “n” oldest or lowest priority items, where “n” is the number of articles to delete, for example, as described above (e.g., all read, but not saved, items may be considered older or of a lower priority than any unread items). If a channel has less than the minimum limit, then it returns null (e.g., for “n”). Further, in this embodiment, if removing “n” items will cause the channel to have less than the minimum limit, then the channel returns the oldest or lowest priority “n—minimum limit” items. In addition, items received from each channel are kept in an auto sorted vector, in this embodiment, and the oldest “n” items are deleted. But saved items, in this embodiment, are considered sacred and are never deleted automatically (e.g., without specific instructions to delete by the user). - Yet another embodiment of the invention uses two modes. The mode is chosen dynamically depending on how much storage is available on the device (e.g., mobile handset 19). Thus, some
mobile devices 19 may be operating in one mode, while othermobile devices 19 are operating in a different mode. While other numbers may be used in other embodiments, 100 k has been chosen in this embodiment to be a threshold, as an example. For devices (e.g., mobile handset 19) with less than 100 k of storage (e.g., storage 24), this embodiment operates in a low memory mode. For devices with more storage, this embodiment operates in what will be called a normal mode. Other embodiments may have different modes or a different number of modes. - In this embodiment, there exists a client device (e.g., mobile handset 19) running content management (e.g., RSS reader)
software 22, and there exists a server (e.g., content management server 15) on the Internet that contains information specific to that client device (e.g., 19), which may include account information, subscribed RSS feeds, etc, for example. The server (e.g., content management server 15) maintains the list of subscribed RSS feeds (e.g., channels) for all clients that connect, and delivers the individual articles/items to the clients (e.g., to mobile handset 19), for instance, as they appear in the channels on the Internet. - Referring once again to
FIG. 3 , in this embodiment, the content management software orclient application 22 contains a number ofchannels - In this embodiment, when the content management software or
client application 22 is run is low memory mode, the following behavior occurs. First, a screen displays a list of channel titles and corresponding unread article counts, from the information that is currently resident on the device (e.g., on mobile handset 19). Second, theapplication 22 makes contact with the server (e.g., with content management server 15) to synchronize the subscription list (if it is different from what is stored on the server for that account) (e.g., providing instructions or requests for content received instep 51 shown inFIG. 5 ). In this embodiment, theapplication 22 will then request from the server (e.g., 15) all available article titles and identifications. In this embodiment and mode, item descriptions will not be delivered at this stage, for example, to save space (e.g., ofstorage 24 shown inFIG. 2 ). Further, in this embodiment, an appropriate transmission index is passed from thedevice 19 to the server (e.g., 15) so the server knows where to begin sending items. This index may include, for example, a “counter” to indicate where in the list of items an update was last completed. - In this embodiment, the server (e.g., 15) first returns to the client (e.g., to mobile handset 19) the number of titles it will be returning. In this embodiment, the
device application 22 auto-deletes “items” (which may just be a title) fromdevice storage 24, so that at most thedevice application 22 is storing the maximum number of allowable items, using the auto-deletion algorithm of this embodiment. Then, in this embodiment, the new items are delivered to thedevice 19, the unread counts are updated on thedevice 19, and the transmission index on thedevice 19 is updated once the entire update is complete. In this embodiment, the user can select channels (e.g., 31, 32, and 33 shown inFIG. 3 ) in the user-interface and open them for viewing. This displays the list of item titles (which have already been retrieved) for this channel. At this point, theapplication 22 may, in some embodiments, choose to fetch the descriptions for all items in this channel, in anticipation of the user opening many of the items. - Also in this example of an embodiment, the user can open an item in a channel. When this happens, if the description for the item has not already been loaded, the application demands or fetches the description (e.g., from
content database 14, via content management server 15). In this embodiment, a dialog is presented to the user “please wait . . . ” and the description is fetched, and finally displayed to the user (e.g., on mobile handset 19). This description may be the short description, for example. After viewing the description, in this embodiment, the user can also request the item's “full article” which is a longer and more complete version of the item description (e.g., the long description). In this embodiment, a dialog is presented to the user “please wait . . . ” and the full article is fetched (e.g., fromcontent database 14, via content management server 15) and displayed to the user (e.g., on mobile handset 19). - When the user closes the user-interface (e.g., on mobile handset 19) for viewing an item, in this embodiment, the storage (e.g., 24) for the description and full article are immediately released. In this embodiment and mode, every time the user views a description or full article, the
application 22 makes a request to the network (e.g., to content management server 15) to fetch the content. In other words, there is no caching of such content in this mode of this particular embodiment. In addition, in this embodiment, in low memory mode, there is no option to save content. Other embodiments may have a limited option to save content. - The normal memory mode of this embodiment operates similarly, with the following differences. First, instead of delivering only item titles on a fetch, both titles and descriptions are delivered to the client when updating (e.g., in
step 55 shown inFIG. 5 ). Second, in this mode of this embodiment, descriptions (e.g., short descriptions) are cached (e.g., instorage 24 of mobile handset 19). Third, in this mode of this embodiment, full article content (e.g., long descriptions) is optionally cached (e.g., in storage 24). Further, in this mode of this embodiment, items can be saved, and more items can be stored (e.g., in storage 24). - Through an auto-deletion algorithm of this embodiment, items are automatically deleted based on priority, with low priority items being deleted first. In this embodiment, unopened items have higher priority to be retained, and opened items have a lower priority to be retained. In addition, items are sorted by date, with older items having lower priority than newer items in this embodiment, and saved items are never automatically deleted. In this embodiment, each channel has a minimum article count, to ensure high-volume channels do not completely starve low-volume channels of articles.
- The transmission index mentioned above is used in this embodiment for synchronization (redelivery) of items. The synchronization may be necessary, for example, when a connection is lost during transmission (e.g., the
server 15 delivered 250 items [e.g., in step 55] but theclient 19 received only 100), or if the client (e.g., mobile handset 19) crashed during processing new items or the user pulled the batteries out or terminated theapplication 22 without saving (e.g., similar to above). Another potential use for synchronization, in this embodiment, is when the client (e.g.,mobile handset 19 or content management software 22) is reinstalled. In this embodiment, if the client has no items, its local transmission index is 0. - In this embodiment, the server (e.g., 15) has a list of items (e.g., the master set of content of
step 52 ofFIG. 5 ) to be delivered to the client (e.g., to mobile handset 19). When the client calls for new items, for example, the server (e.g., 15) takes a subset of all new client items and decides which items to send (e.g., instep 54 ofFIG. 5 ) based on an “anti-starving” delivery algorithm and transmission index. In this embodiment, each item which the server (e.g., 15) decides to send to the client gets assigned a sequential transmission index. Specifically, the index starts from 1 and is incremented with every item sent to the client, in this particular embodiment. The index is saved on the server (e.g., 15), in this embodiment, with each client item, and the client receives the item along with corresponding transmission index. In this embodiment, the client stores (e.g., in storage 24) the highest received index, and the next time the client (e.g., content management software 22) calls for items, it sends the highest received transmission index. In this embodiment, the server (e.g., 15) then goes through all client items and assumes that all client items with a transmission index higher than the one provided by the client are new, and the delivery algorithm is applied and the process starts over again. - In yet another embodiment, described as another example of the invention, content is organized into structures, and these structures may be divided into atomic units. Users are often not interested in the entire structure, and are only interested in bits and pieces of it. Some embodiments of the invention have the ability to separate these content parts and deliver and manage the content, for example, in an optimal way for a mobile service where the mobile device (e.g., handset 19) has constrained memory and storage (e.g., 24).
- Consider the following RSS feed, for example, described in XML:
<rss> <title>My Feed</title> <copyright> © 2006 Virtual Reach</copyright> <description> Virtual Reach, creator of mobile applications </description> <item> <title> Item 1</title><description>This is item 1</description><link>http://www.server.com/url</link> <enclosure url=“http://www.a.com/file.mp3” length=“4314254” type=“audio/mpeg”/> </item> </rss> - This feed is itself content, but is subdivided into smaller units. The feed's title, the copyright, the description, each item, the item's title, the item's description, and the audio enclosure, etc., are all atomic units of content that can be subdivided in this example.
- In particular embodiments, a user subscribes to content channels (such as RSS feeds) (e.g., received in
step 51 shown inFIG. 5 ). The service (e.g., via content management server 15) delivers content from these channels to the user's device (e.g., to mobile handset 19). In a particular embodiment, when the content arrives on the device (e.g., 19), it is subdivided into interlinked atomic parts using “handles”. The handles, in this embodiment, are sorted into a priority queue. Some of the atomic parts don't actually contain the content, in this embodiment, they simply contain a placeholder for the content, and knowledge of how to fetch the real content when required.FIG. 4 illustrates an example of how acontent channel 31 may be divided into content items and handles. - As another example, a RSS article containing an image and a link to an audio file can be divided into a basic article (e.g., title, author, date, etc.), a short description, the full article (e.g., long description), an image, and an audio file, for instance. Upon receiving this RSS content, the device application (e.g.,
client management software 22 shown inFIG. 2 ) may, for example, receive the basic article content and place it in the priority queue, receive the short description and place it in the priority queue, create a placeholder for the full article and place it in the priority queue, receive the image and place it in the priority queue, and create a placeholder for the audio file and place it in the priority queue. - In some embodiments, there are various sorting criteria that affect how two handles are sorted relative to each other. The sorting criteria may include, for example, opened vs. unopened, content type, fetch date, content size, priority metric, saved flag, protected flag, or a combination thereof. In many embodiments, saved and protected items are not placed in the priority queue, as they can never be selected for auto-deletion. In some embodiments, saved items are essentially protected items that the user has specially requested be protected. In some embodiments, they are placed in a special saved folder. In a number of embodiments, protected items are also never selected for auto-deletion. In some embodiments, they are used for special feeds that represent lists of things instead of streams of information. For example, a feed representing a grocery list or address book should not have items automatically deleted.
- In particular embodiments, opened items are assigned an aspect priority of 0, and unopened items are assigned an aspect priority of 1. Next, the various aspects are assigned floating point numbers, in some embodiments, where 0 is considered low priority and 1 is considered high priority. In a particular embodiment, for content type, the following floating point values are assigned: user interface, 1.0; basic article, 0.9; short description, 0.8; long description, 0.7; images, 0.6; audio enclosure, 0.2; video enclosure, 0.1; and other enclosure, 0.1, for example. In this embodiment, for fetch date, a number between 0 and 1 is assigned representing the aging of the handle. Aging can be set globally for all handles (e.g., all handles age linearly from 1 to 0 over 30 days) or aging can be handled by types or even feed sources. For example, audio enclosures could age quickly (e.g., over 3 days), and descriptions could age slowly (e.g., over 30 days). Alternately, audio enclosures in a certain feed could age very slowly (e.g., 15 days), while audio enclosures in feeds in general could age very quickly (e.g., 2 days). In a formula provided as an example:
- Priority=1−(clamp(age of handle/age_duration)), where age of handle is the difference between the current date and the date the item was originally published; clamp implies that if the result is greater than 1 it is set to 1, and if the result is less than 0 it is set to 0. In this formula, if the age of a an item was 30 days, and the age_duration was 30, the priority would be set to 0. If the age was 0 (a brand new item), the priority would be set to 1.
- In certain embodiments, content size affects how things are inserted in the priority queue. For example, larger atomic blocks may be given (e.g., by default) a lower priority so they can be selected for auto-deletion more quickly than smaller atomic blocks. In particular embodiments, a number between 0 and 1 is assigned based on the size. In this embodiment, 0 represents a size equal to or exceeding a maximum preferred size for an atomic piece of content. And 1 represents a size equal to 0 bytes (e.g., the number approaches 1 as the size approaches 0). In a particular embodiment, the maximum preferred size for an atomic piece of content is 10% of the devices (e.g.,
mobile handset 19's) total storage (e.g., 24). In a particular example of a formula, for instance: - priority=1−(clamp(content_size/device_storage, 0, 1)), where clamp implies that if the result of the operation is less than 0, it is set to 0, and if the result is greater than 1, it is set to 1.
- In various embodiments, a priority metric is a prioritization fudge-factor that the device application (e.g., content management software 22) can use to artificially boost (or reduce) priority of specific items in special cases. In different embodiments, the priority metric can be assigned any value by the application (e.g., by content management software 22). In many embodiments, for example, higher values increase the priority and defer auto-deletion and lower values (e.g., including negative values) decrease the priority and accelerate auto-deletion.
- Based on the various criteria, in particular embodiments, a prioritization value for each handle is produced with the following weighted formula:
w1o+w2t+w3f+w4s+p - where
- w is a weighted factor for each prioritization criteria;
- o is the number for opened vs. unopened;
- f is the number representing the fetch date aging;
- s is the number representing the content size; and
- p is the number representing the prioritization factor.
- Fetching certain bits of content can be restricted, in some embodiments, by the type of available network. For example, when operating on a GPRS network, no audio or video can be received. But when the device (e.g., mobile handset 19) switches to a cable or WiFi network, then images and audio can be received in many embodiments. In addition, in some embodiments, certain parts of content are fetched automatically, and for particular parts, only a handle to the content is created so that it can be fetched later. In some embodiments, the client (e.g., content management software 22) decides whether to auto-fetch content depending on a number of variables. One such variable, in certain embodiments, is the amount of storage (e.g., 24) available on the device (e.g., 19), for example. When available storage is low, for instance, the client (e.g., content management software 22) can reduce the number of things that are auto-fetched, in some embodiments. In some embodiments, the user may request that certain channels always auto-fetch some of the content (e.g., full descriptions for a certain news channels).
- An example of some sample code is as follows:
// thrown when a handle is unable to fetch its data // contains a message describing the reason for the // problem. exception ContentFetchException // use an interface here so we can use existing data // structures as handles interface Handle { // should fetch if it needs to, or throw an exception public Object getData( ) throws ContentFetchException // get the size of the data this handle references public int getSize( ) // used by getData public void fetch( ) throws ContentFetchException; // release my memory and remove me from the priority queue public void release( ); // return true if my data has been fetched, false if // if it needs to be fetched public boolean isAvailable( ); // return true if my data can be fetched now public boolean canFetch( ); } // A HandleSorter compares two handles and orders them, allowing // the priority queue to do its work. The result of this comparison // depends on the specific heuristic for priority interface HandleSorter { public int compare(Handle h1, Handle h2); } // thread-safe singleton class HandlePriorityQueue { public static final getInstance( ) { ... } private HandlePriorityQueue( ) // add a Handle to the queue, using the default sorter public void add(Handle h) // remove a specific Handle from the queue public void remove(Handle h) // free x bytes of data from the queue public void free(int x) } - FIGS. 6 to 8 illustrate various additional examples of methods in accordance with the invention. Specifically,
FIG. 6 illustrates another example of a method employed bycontent management server 15, for instance. The mobile device mentioned inFIG. 6 may bemobile handset 19, for example.Steps 51 of receiving requests for content, 54 of selecting a select set of content, and 55 of transmitting content (previously discussed with reference toFIG. 5 ), are shown inFIG. 6 , along with other steps that may be included in various embodiments of the invention.FIG. 7 illustrates an example of a method of changing a subscription list, which is an example of steps associated with one embodiment of requesting content (e.g., received instep 51 shown inFIG. 5 and described above with reference thereto). InFIG. 7 , the mobile device may bemobile handset 19, for example, and the server may becontent management server 15, both shown inFIG. 1 , for instance. -
FIG. 8 illustrates an example of steps taken by a mobile device (e.g., mobile handset 19) when receiving content from a server (e.g., from content management server 15). In this particular embodiment, the step of sending selection criteria to the server (step 83) corresponds to the step of receiving information regarding quantity (step 53) ofFIG. 5 . Similarly, in this particular embodiment, the step of receiving new content from the server (step 85) corresponds to the step of transmitting the select set of content (step 55) shown inFIG. 5 . Other steps shown in these figures may be found in various embodiments of the invention. - Some elements, parameters, measurements, functions, components, and the like may be described herein as being required, but may only be required in certain embodiments. Further, benefits, other advantages, and solutions to problems have been described herein with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and element(s) that may cause benefit, advantage, or solution to occur or become more pronounced are not to be construed as critical, required, or essential features or elements of the claims or the invention. Reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” As used herein, the terms “comprises”, “comprising”, or a variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Orders and sequences (e.g., of steps) herein are presented as examples, but are not intended to indicate the only order sequence that may accomplish the desired purpose, unless specifically stated as such. Further, no element described herein is required for the practice of the invention unless expressly described as “essential” or “critical”.
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/584,474 US8081955B2 (en) | 2005-10-20 | 2006-10-19 | Managing content to constrained devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72906605P | 2005-10-20 | 2005-10-20 | |
US11/584,474 US8081955B2 (en) | 2005-10-20 | 2006-10-19 | Managing content to constrained devices |
Publications (2)
Publication Number | Publication Date |
---|---|
US20070130589A1 true US20070130589A1 (en) | 2007-06-07 |
US8081955B2 US8081955B2 (en) | 2011-12-20 |
Family
ID=38287986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/584,474 Active 2027-07-05 US8081955B2 (en) | 2005-10-20 | 2006-10-19 | Managing content to constrained devices |
Country Status (3)
Country | Link |
---|---|
US (1) | US8081955B2 (en) |
EP (1) | EP1941658A4 (en) |
WO (1) | WO2007083194A2 (en) |
Cited By (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085352A1 (en) * | 2003-11-21 | 2006-04-20 | Realnetworks | System and method for relicensing content |
US20060085349A1 (en) * | 2003-11-21 | 2006-04-20 | Realnetworks | System and method for caching data |
US20060265329A1 (en) * | 2003-11-21 | 2006-11-23 | Realnetworks | System and method for automatically transferring dynamically changing content |
US20070083520A1 (en) * | 2005-10-07 | 2007-04-12 | Shellen Jason H | Personalized content feed suggestions page |
US20070083468A1 (en) * | 2005-10-07 | 2007-04-12 | Wetherell Christopher J | Content feed user interface with gallery display of same-type items |
US20070159651A1 (en) * | 2006-01-09 | 2007-07-12 | Aaron Disario | Publishing and subscribing to digital image feeds |
US20070192683A1 (en) * | 2006-02-13 | 2007-08-16 | Bodin William K | Synthesizing the content of disparate data types |
US20070192684A1 (en) * | 2006-02-13 | 2007-08-16 | Bodin William K | Consolidated content management |
US20070213986A1 (en) * | 2006-03-09 | 2007-09-13 | Bodin William K | Email administration for rendering email on a digital audio player |
US20070214149A1 (en) * | 2006-03-09 | 2007-09-13 | International Business Machines Corporation | Associating user selected content management directives with user selected ratings |
US20070214148A1 (en) * | 2006-03-09 | 2007-09-13 | Bodin William K | Invoking content management directives |
US20070213857A1 (en) * | 2006-03-09 | 2007-09-13 | Bodin William K | RSS content administration for rendering RSS content on a digital audio player |
US20070277233A1 (en) * | 2006-05-24 | 2007-11-29 | Bodin William K | Token-based content subscription |
US20070276837A1 (en) * | 2006-05-24 | 2007-11-29 | Bodin William K | Content subscription |
US20070276866A1 (en) * | 2006-05-24 | 2007-11-29 | Bodin William K | Providing disparate content as a playlist of media files |
US20080005769A1 (en) * | 2006-06-13 | 2008-01-03 | Canon Kabushiki Kaisha | Content notification method and apparatus, content processing method and apparatus, and storage medium storing program for executing the method |
US20080082576A1 (en) * | 2006-09-29 | 2008-04-03 | Bodin William K | Audio Menus Describing Media Contents of Media Players |
US20080082941A1 (en) * | 2006-09-28 | 2008-04-03 | Goldberg Steven L | Content Feed User Interface |
US20080082673A1 (en) * | 2006-09-28 | 2008-04-03 | Michael Dynin | Bookmark-Based Access to Content Feeds |
US20080082635A1 (en) * | 2006-09-29 | 2008-04-03 | Bodin William K | Asynchronous Communications Using Messages Recorded On Handheld Devices |
US20080086755A1 (en) * | 2006-10-06 | 2008-04-10 | Darnell Benjamin G | Recursive Subscriptions to Content Feeds |
US20080162130A1 (en) * | 2007-01-03 | 2008-07-03 | Bodin William K | Asynchronous receipt of information from a user |
US20080161948A1 (en) * | 2007-01-03 | 2008-07-03 | Bodin William K | Supplementing audio recorded in a media file |
US20080162131A1 (en) * | 2007-01-03 | 2008-07-03 | Bodin William K | Blogcasting using speech recorded on a handheld recording device |
US20080263139A1 (en) * | 2006-12-29 | 2008-10-23 | Maurice Martin | Method for providing content to a mobile device, gateway for providing content and mobile device |
US20080270568A1 (en) * | 2007-04-26 | 2008-10-30 | Nokia Corporation | Method, portable apparatus and server |
US20080275893A1 (en) * | 2006-02-13 | 2008-11-06 | International Business Machines Corporation | Aggregating Content Of Disparate Data Types From Disparate Data Sources For Single Point Access |
US20080307114A1 (en) * | 2007-03-30 | 2008-12-11 | Canon Kabushiki Kaisha | Network assignment method and apparatus |
US20090007205A1 (en) * | 2007-06-26 | 2009-01-01 | Samsung Electronics Co., Ltd. | User terminal and proxy server of internet protocol television (iptv) system, and operating method thereof |
US20090106796A1 (en) * | 2007-10-22 | 2009-04-23 | At&T Knowledge Ventures, L.P. | Method and system for providng subscription data |
WO2009078839A1 (en) * | 2007-12-18 | 2009-06-25 | Thomson Licensing | Apparatus and method for file size estimation over broadcast networks |
EP2096554A3 (en) * | 2008-02-28 | 2009-09-30 | Vodafone Holding GmbH | System and method for preparing a customisable portal page |
US20090248883A1 (en) * | 2008-03-25 | 2009-10-01 | Lalitha Suryanarayana | Apparatus and methods for managing widgets in a wireless communication environment |
US20090249359A1 (en) * | 2008-03-25 | 2009-10-01 | Caunter Mark Leslie | Apparatus and methods for widget intercommunication in a wireless communication environment |
US20090248996A1 (en) * | 2008-03-25 | 2009-10-01 | Mandyam Giridhar D | Apparatus and methods for widget-related memory management |
US20090249321A1 (en) * | 2008-03-25 | 2009-10-01 | Mandyam Giridhar D | Apparatus and methods for widget update scheduling |
US20090271873A1 (en) * | 2008-04-24 | 2009-10-29 | Alon Ram | Method and system for displaying a sequence of media files |
US20090271778A1 (en) * | 2008-03-25 | 2009-10-29 | Mandyam Giridhar D | Apparatus and methods for transport optimization for widget content delivery |
US20100228720A1 (en) * | 2009-02-26 | 2010-09-09 | Research In Motion Limited | Mobile wireless device to display selected web feeds and associated methods |
US20100241733A1 (en) * | 2006-06-22 | 2010-09-23 | Ga Jeong Shin | Contents transmitting ip adaptor transmitting contents to portable device and Contents transmitting method using the ip adaptor |
US20110107199A1 (en) * | 2009-11-05 | 2011-05-05 | Canon Kabushiki Kaisha | Method of generating a web feed and an associated system |
US8060634B1 (en) * | 2007-09-26 | 2011-11-15 | Google Inc. | Determining and displaying a count of unread items in content feeds |
US20120005610A1 (en) * | 2010-06-30 | 2012-01-05 | Dirk Michael Schulze | Methods, apparatus, systems and computer readable mediums for use in transfering information to and/or from user devices |
US8266220B2 (en) | 2005-09-14 | 2012-09-11 | International Business Machines Corporation | Email management and rendering |
US8271107B2 (en) | 2006-01-13 | 2012-09-18 | International Business Machines Corporation | Controlling audio operation for data management and data rendering |
US20120246584A1 (en) * | 2011-03-21 | 2012-09-27 | Joshua Beroukhim | Website, user interfaces, and applications facilitating improved media search capability |
US20130067349A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Efficiently providing data from a virtualized data source |
US20130238761A1 (en) * | 2012-03-10 | 2013-09-12 | Headwater Partners Ii Llc | Distributing content by generating and preloading queues of content |
US8694319B2 (en) | 2005-11-03 | 2014-04-08 | International Business Machines Corporation | Dynamic prosody adjustment for voice-rendering synthesized data |
US8868639B2 (en) * | 2012-03-10 | 2014-10-21 | Headwater Partners Ii Llc | Content broker assisting distribution of content |
US8977636B2 (en) | 2005-08-19 | 2015-03-10 | International Business Machines Corporation | Synthesizing aggregate data of disparate data types into data of a uniform data type |
US9092542B2 (en) | 2006-03-09 | 2015-07-28 | International Business Machines Corporation | Podcasting content associated with a user account |
WO2015130654A1 (en) * | 2014-02-28 | 2015-09-03 | Rasband Paul B | Constrained device and supporting operating system |
US9135339B2 (en) | 2006-02-13 | 2015-09-15 | International Business Machines Corporation | Invoking an audio hyperlink |
US20150281568A1 (en) * | 2012-10-05 | 2015-10-01 | Sony Corporation | Content acquisition device, portable device, server, information processing device, and storage medium |
US9165085B2 (en) | 2009-11-06 | 2015-10-20 | Kipcast Corporation | System and method for publishing aggregated content on mobile devices |
US9210217B2 (en) | 2012-03-10 | 2015-12-08 | Headwater Partners Ii Llc | Content broker that offers preloading opportunities |
US9313553B2 (en) | 2007-12-14 | 2016-04-12 | Thomson Licensing | Apparatus and method for simulcast over a variable bandwidth channel |
WO2016109627A1 (en) * | 2014-12-30 | 2016-07-07 | Tyco Fire & Security Gmbh | Preemptive operating system without context switching |
US9497194B2 (en) | 2013-09-06 | 2016-11-15 | Oracle International Corporation | Protection of resources downloaded to portable devices from enterprise systems |
US9503510B2 (en) | 2012-03-10 | 2016-11-22 | Headwater Partners Ii Llc | Content distribution based on a value metric |
EP2488966A4 (en) * | 2009-09-10 | 2017-03-15 | Google Technology Holdings LLC | Method and apparatus for loading a photo |
US20180007156A1 (en) * | 2015-11-25 | 2018-01-04 | Tencent Technology (Shenzhen) Company Limited | Information pushing method and apparatus |
US10025871B2 (en) | 2007-09-27 | 2018-07-17 | Google Llc | Setting and displaying a read status for items in content feeds |
US10116717B2 (en) | 2005-04-22 | 2018-10-30 | Intel Corporation | Playlist compilation system and method |
US11347785B2 (en) | 2005-08-05 | 2022-05-31 | Intel Corporation | System and method for automatically managing media content |
US11747430B2 (en) | 2014-02-28 | 2023-09-05 | Tyco Fire & Security Gmbh | Correlation of sensory inputs to identify unauthorized persons |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100906109B1 (en) * | 2007-06-20 | 2009-07-07 | 엔에이치엔(주) | Ubiquitous Presence Method and System for Providing 3A Based Various Application Statuses |
US10248705B2 (en) | 2015-01-30 | 2019-04-02 | Dropbox, Inc. | Storage constrained synchronization of shared content items |
US9563638B2 (en) | 2015-01-30 | 2017-02-07 | Dropbox, Inc. | Selective downloading of shared content items in a constrained synchronization system |
US10831715B2 (en) | 2015-01-30 | 2020-11-10 | Dropbox, Inc. | Selective downloading of shared content items in a constrained synchronization system |
US9185164B1 (en) | 2015-01-30 | 2015-11-10 | Dropbox, Inc. | Idle state triggered constrained synchronization of shared content items |
US9413824B1 (en) | 2015-01-30 | 2016-08-09 | Dropbox, Inc. | Storage constrained synchronization of content items based on predicted user access to shared content items using retention scoring |
US9361349B1 (en) | 2015-01-30 | 2016-06-07 | Dropbox, Inc. | Storage constrained synchronization of shared content items |
US10049145B2 (en) | 2016-04-25 | 2018-08-14 | Dropbox, Inc. | Storage constrained synchronization engine |
US10719532B2 (en) | 2016-04-25 | 2020-07-21 | Dropbox, Inc. | Storage constrained synchronization engine |
Citations (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566469A (en) * | 1995-07-18 | 1996-10-22 | Fen-Tech Environmental, Inc. | Drying apparatus with rotatable housing |
US20010044835A1 (en) * | 2000-05-17 | 2001-11-22 | Schober Joseph Frank | Selecting content to be communicated based on automatic detection of communication bandwidth |
US20010056404A1 (en) * | 2000-03-14 | 2001-12-27 | Sony Corporation | Information providing apparatus and method, information processing apparatus and method, program storage medium, program, and information providing system |
US20020010798A1 (en) * | 2000-04-20 | 2002-01-24 | Israel Ben-Shaul | Differentiated content and application delivery via internet |
US6418627B1 (en) * | 1999-03-16 | 2002-07-16 | Starting Industrial Co. Perfecture Ltd. | Rotary cutter of mower |
US6496692B1 (en) * | 1999-12-06 | 2002-12-17 | Michael E. Shanahan | Methods and apparatuses for programming user-defined information into electronic devices |
US20030032409A1 (en) * | 2001-03-16 | 2003-02-13 | Hutcheson Stewart Douglas | Method and system for distributing content over a wireless communications system |
US20030061611A1 (en) * | 2001-09-26 | 2003-03-27 | Ramesh Pendakur | Notifying users of available content and content reception based on user profiles |
US20030110503A1 (en) * | 2001-10-25 | 2003-06-12 | Perkes Ronald M. | System, method and computer program product for presenting media to a user in a media on demand framework |
US20040003097A1 (en) * | 2002-05-17 | 2004-01-01 | Brian Willis | Content delivery system |
US20040015777A1 (en) * | 2002-07-22 | 2004-01-22 | International Business Machines Corporation | System and method for sorting embedded content in Web pages |
US20040054923A1 (en) * | 2002-08-30 | 2004-03-18 | Seago Tom E. | Digital rights and content management system and method for enhanced wireless provisioning |
US20040110490A1 (en) * | 2001-12-20 | 2004-06-10 | Steele Jay D. | Method and apparatus for providing content to media devices |
US20040153962A1 (en) * | 2003-01-30 | 2004-08-05 | Mehdi Bazoon | System and method for identifying useful content in a knowledge repository |
US20040199604A1 (en) * | 2003-04-04 | 2004-10-07 | Dobbins Kurt A. | Method and system for tagging content for preferred transport |
US20040205528A1 (en) * | 2000-02-15 | 2004-10-14 | Vlad Alexander | System and process for managing content organized in a tag-delimited template using metadata |
US20050079301A1 (en) * | 2002-02-04 | 2005-04-14 | York Hartleben | Use of antiadhesive packaging materials for packaging chemicals and foodstuffs |
US6907501B2 (en) * | 2002-01-25 | 2005-06-14 | Ntt Docomo Inc. | System for management of cacheable streaming content in a packet based communication network with mobile hosts |
US20050129917A1 (en) * | 2000-01-24 | 2005-06-16 | Ragland G. W. | Apparatus and method for manufacture of multilayer metal products |
US20050154996A1 (en) * | 2003-08-11 | 2005-07-14 | Core Mobility, Inc. | Systems and methods for populating a ticker using multiple data transmission modes |
US20050210506A1 (en) * | 2002-06-27 | 2005-09-22 | Koninklijke Philips Electronics N.V. | Controlling the content of a personalized visual channel |
US20050265345A1 (en) * | 2004-05-04 | 2005-12-01 | Qualcomm Incorporated | Method and apparatus for content delivery to a mobile device |
US20060101489A1 (en) * | 2004-11-09 | 2006-05-11 | Roden Barbara J | Methods, systems, and storage mediums for managing content storage and selection |
US20060161686A1 (en) * | 2002-07-02 | 2006-07-20 | T-Mobile Deutschland Gmbh | Method for managing storage space in a storage medium of a digital terminal for data storage according to a prioritized pixel transfer method |
US20060161635A1 (en) * | 2000-09-07 | 2006-07-20 | Sonic Solutions | Methods and system for use in network management of content |
US20060173974A1 (en) * | 2005-02-02 | 2006-08-03 | Victor Tang | System and method for providing mobile access to personal media |
US20060184617A1 (en) * | 2005-02-11 | 2006-08-17 | Nicholas Frank C | Method and system for the creating, managing, and delivery of feed formatted content |
US20060235885A1 (en) * | 2005-04-18 | 2006-10-19 | Virtual Reach, Inc. | Selective delivery of digitally encoded news content |
US20060253780A1 (en) * | 1998-12-25 | 2006-11-09 | Mastushita Electric Industrial Co., Ltd. | Data processing device and method for selecting media segments on the basis of a score |
US20070049296A1 (en) * | 2005-08-30 | 2007-03-01 | Sanjay Gupta | Method and device for provisioning content to a plurality of remote devices within a proximity area |
US20070060099A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Managing sponsored content based on usage history |
US20070067507A1 (en) * | 2003-12-19 | 2007-03-22 | Shohji Ohtsubo | Recording device control apparatus |
US20070088838A1 (en) * | 2005-10-17 | 2007-04-19 | Zohar Levkovitz | Device, system and method of wireless content delivery |
US7246164B2 (en) * | 2001-05-10 | 2007-07-17 | Whoglue, Inc. | Distributed personal relationship information management system and methods |
US20070237133A1 (en) * | 2005-10-07 | 2007-10-11 | Steven Woods | System and method for providing content, applications, services and digital media to users in a peer-to-peer network |
US7526493B2 (en) * | 2003-12-19 | 2009-04-28 | Solace Systems, Inc. | Meta-tagging in content routed networks |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020016801A1 (en) * | 2000-08-01 | 2002-02-07 | Steven Reiley | Adaptive profile-based mobile document integration |
GB2411331A (en) * | 2004-02-19 | 2005-08-24 | Trigenix Ltd | Rendering user interface using actor attributes |
US20050210514A1 (en) * | 2004-03-18 | 2005-09-22 | Kittlaus Dag A | System and method for passive viewing of media content and supplemental interaction capabilities |
US20060129917A1 (en) | 2004-12-03 | 2006-06-15 | Volk Andrew R | Syndicating multiple media objects with RSS |
-
2006
- 2006-10-19 US US11/584,474 patent/US8081955B2/en active Active
- 2006-10-19 WO PCT/IB2006/004094 patent/WO2007083194A2/en active Application Filing
- 2006-10-19 EP EP06849306A patent/EP1941658A4/en not_active Withdrawn
Patent Citations (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566469A (en) * | 1995-07-18 | 1996-10-22 | Fen-Tech Environmental, Inc. | Drying apparatus with rotatable housing |
US20060253780A1 (en) * | 1998-12-25 | 2006-11-09 | Mastushita Electric Industrial Co., Ltd. | Data processing device and method for selecting media segments on the basis of a score |
US6418627B1 (en) * | 1999-03-16 | 2002-07-16 | Starting Industrial Co. Perfecture Ltd. | Rotary cutter of mower |
US6496692B1 (en) * | 1999-12-06 | 2002-12-17 | Michael E. Shanahan | Methods and apparatuses for programming user-defined information into electronic devices |
US20050129917A1 (en) * | 2000-01-24 | 2005-06-16 | Ragland G. W. | Apparatus and method for manufacture of multilayer metal products |
US20040205528A1 (en) * | 2000-02-15 | 2004-10-14 | Vlad Alexander | System and process for managing content organized in a tag-delimited template using metadata |
US20010056404A1 (en) * | 2000-03-14 | 2001-12-27 | Sony Corporation | Information providing apparatus and method, information processing apparatus and method, program storage medium, program, and information providing system |
US20020010798A1 (en) * | 2000-04-20 | 2002-01-24 | Israel Ben-Shaul | Differentiated content and application delivery via internet |
US20010044835A1 (en) * | 2000-05-17 | 2001-11-22 | Schober Joseph Frank | Selecting content to be communicated based on automatic detection of communication bandwidth |
US20060161635A1 (en) * | 2000-09-07 | 2006-07-20 | Sonic Solutions | Methods and system for use in network management of content |
US20030032409A1 (en) * | 2001-03-16 | 2003-02-13 | Hutcheson Stewart Douglas | Method and system for distributing content over a wireless communications system |
US7246164B2 (en) * | 2001-05-10 | 2007-07-17 | Whoglue, Inc. | Distributed personal relationship information management system and methods |
US20030061611A1 (en) * | 2001-09-26 | 2003-03-27 | Ramesh Pendakur | Notifying users of available content and content reception based on user profiles |
US20030110503A1 (en) * | 2001-10-25 | 2003-06-12 | Perkes Ronald M. | System, method and computer program product for presenting media to a user in a media on demand framework |
US20060112167A1 (en) * | 2001-12-20 | 2006-05-25 | Steele Jay D | Method and apparatus for providing content to media devices |
US20040110490A1 (en) * | 2001-12-20 | 2004-06-10 | Steele Jay D. | Method and apparatus for providing content to media devices |
US6907501B2 (en) * | 2002-01-25 | 2005-06-14 | Ntt Docomo Inc. | System for management of cacheable streaming content in a packet based communication network with mobile hosts |
US20050079301A1 (en) * | 2002-02-04 | 2005-04-14 | York Hartleben | Use of antiadhesive packaging materials for packaging chemicals and foodstuffs |
US20040003097A1 (en) * | 2002-05-17 | 2004-01-01 | Brian Willis | Content delivery system |
US20050210506A1 (en) * | 2002-06-27 | 2005-09-22 | Koninklijke Philips Electronics N.V. | Controlling the content of a personalized visual channel |
US20060161686A1 (en) * | 2002-07-02 | 2006-07-20 | T-Mobile Deutschland Gmbh | Method for managing storage space in a storage medium of a digital terminal for data storage according to a prioritized pixel transfer method |
US20040015777A1 (en) * | 2002-07-22 | 2004-01-22 | International Business Machines Corporation | System and method for sorting embedded content in Web pages |
US20040054923A1 (en) * | 2002-08-30 | 2004-03-18 | Seago Tom E. | Digital rights and content management system and method for enhanced wireless provisioning |
US20040153962A1 (en) * | 2003-01-30 | 2004-08-05 | Mehdi Bazoon | System and method for identifying useful content in a knowledge repository |
US20040199604A1 (en) * | 2003-04-04 | 2004-10-07 | Dobbins Kurt A. | Method and system for tagging content for preferred transport |
US20050154996A1 (en) * | 2003-08-11 | 2005-07-14 | Core Mobility, Inc. | Systems and methods for populating a ticker using multiple data transmission modes |
US20070067507A1 (en) * | 2003-12-19 | 2007-03-22 | Shohji Ohtsubo | Recording device control apparatus |
US7526493B2 (en) * | 2003-12-19 | 2009-04-28 | Solace Systems, Inc. | Meta-tagging in content routed networks |
US20050265345A1 (en) * | 2004-05-04 | 2005-12-01 | Qualcomm Incorporated | Method and apparatus for content delivery to a mobile device |
US20060101489A1 (en) * | 2004-11-09 | 2006-05-11 | Roden Barbara J | Methods, systems, and storage mediums for managing content storage and selection |
US20060173974A1 (en) * | 2005-02-02 | 2006-08-03 | Victor Tang | System and method for providing mobile access to personal media |
US20060184617A1 (en) * | 2005-02-11 | 2006-08-17 | Nicholas Frank C | Method and system for the creating, managing, and delivery of feed formatted content |
US20060235885A1 (en) * | 2005-04-18 | 2006-10-19 | Virtual Reach, Inc. | Selective delivery of digitally encoded news content |
US20070049296A1 (en) * | 2005-08-30 | 2007-03-01 | Sanjay Gupta | Method and device for provisioning content to a plurality of remote devices within a proximity area |
US20070060099A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Managing sponsored content based on usage history |
US20070237133A1 (en) * | 2005-10-07 | 2007-10-11 | Steven Woods | System and method for providing content, applications, services and digital media to users in a peer-to-peer network |
US20070088838A1 (en) * | 2005-10-17 | 2007-04-19 | Zohar Levkovitz | Device, system and method of wireless content delivery |
Cited By (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10084836B2 (en) | 2003-11-21 | 2018-09-25 | Intel Corporation | System and method for caching data |
US20060085349A1 (en) * | 2003-11-21 | 2006-04-20 | Realnetworks | System and method for caching data |
US20060265329A1 (en) * | 2003-11-21 | 2006-11-23 | Realnetworks | System and method for automatically transferring dynamically changing content |
US8738537B2 (en) | 2003-11-21 | 2014-05-27 | Intel Corporation | System and method for relicensing content |
US8996420B2 (en) | 2003-11-21 | 2015-03-31 | Intel Corporation | System and method for caching data |
US20060085352A1 (en) * | 2003-11-21 | 2006-04-20 | Realnetworks | System and method for relicensing content |
US9864850B2 (en) | 2003-11-21 | 2018-01-09 | Intel Corporation | System and method for relicensing content |
US10104145B2 (en) | 2003-11-21 | 2018-10-16 | Intel Corporation | System and method for caching data |
US10084837B2 (en) | 2003-11-21 | 2018-09-25 | Intel Corporation | System and method for caching data |
US10116717B2 (en) | 2005-04-22 | 2018-10-30 | Intel Corporation | Playlist compilation system and method |
US11544313B2 (en) | 2005-08-05 | 2023-01-03 | Intel Corporation | System and method for transferring playlists |
US11347785B2 (en) | 2005-08-05 | 2022-05-31 | Intel Corporation | System and method for automatically managing media content |
US8977636B2 (en) | 2005-08-19 | 2015-03-10 | International Business Machines Corporation | Synthesizing aggregate data of disparate data types into data of a uniform data type |
US8266220B2 (en) | 2005-09-14 | 2012-09-11 | International Business Machines Corporation | Email management and rendering |
US8949154B2 (en) | 2005-10-07 | 2015-02-03 | Google Inc. | Content feed user interface with gallery display of same-type items |
US20070083520A1 (en) * | 2005-10-07 | 2007-04-12 | Shellen Jason H | Personalized content feed suggestions page |
US8190997B2 (en) | 2005-10-07 | 2012-05-29 | Google Inc. | Personalized content feed suggestions page |
US20070083468A1 (en) * | 2005-10-07 | 2007-04-12 | Wetherell Christopher J | Content feed user interface with gallery display of same-type items |
US8694319B2 (en) | 2005-11-03 | 2014-04-08 | International Business Machines Corporation | Dynamic prosody adjustment for voice-rendering synthesized data |
US8082319B2 (en) * | 2006-01-09 | 2011-12-20 | Apple Inc. | Publishing and subscribing to digital image feeds |
US20070159651A1 (en) * | 2006-01-09 | 2007-07-12 | Aaron Disario | Publishing and subscribing to digital image feeds |
US8271107B2 (en) | 2006-01-13 | 2012-09-18 | International Business Machines Corporation | Controlling audio operation for data management and data rendering |
US7996754B2 (en) | 2006-02-13 | 2011-08-09 | International Business Machines Corporation | Consolidated content management |
US20070192683A1 (en) * | 2006-02-13 | 2007-08-16 | Bodin William K | Synthesizing the content of disparate data types |
US20070192684A1 (en) * | 2006-02-13 | 2007-08-16 | Bodin William K | Consolidated content management |
US9135339B2 (en) | 2006-02-13 | 2015-09-15 | International Business Machines Corporation | Invoking an audio hyperlink |
US20080275893A1 (en) * | 2006-02-13 | 2008-11-06 | International Business Machines Corporation | Aggregating Content Of Disparate Data Types From Disparate Data Sources For Single Point Access |
US7949681B2 (en) | 2006-02-13 | 2011-05-24 | International Business Machines Corporation | Aggregating content of disparate data types from disparate data sources for single point access |
US8849895B2 (en) | 2006-03-09 | 2014-09-30 | International Business Machines Corporation | Associating user selected content management directives with user selected ratings |
US9037466B2 (en) | 2006-03-09 | 2015-05-19 | Nuance Communications, Inc. | Email administration for rendering email on a digital audio player |
US20070213986A1 (en) * | 2006-03-09 | 2007-09-13 | Bodin William K | Email administration for rendering email on a digital audio player |
US9092542B2 (en) | 2006-03-09 | 2015-07-28 | International Business Machines Corporation | Podcasting content associated with a user account |
US20070214149A1 (en) * | 2006-03-09 | 2007-09-13 | International Business Machines Corporation | Associating user selected content management directives with user selected ratings |
US20070214148A1 (en) * | 2006-03-09 | 2007-09-13 | Bodin William K | Invoking content management directives |
US20070213857A1 (en) * | 2006-03-09 | 2007-09-13 | Bodin William K | RSS content administration for rendering RSS content on a digital audio player |
US9361299B2 (en) | 2006-03-09 | 2016-06-07 | International Business Machines Corporation | RSS content administration for rendering RSS content on a digital audio player |
US8286229B2 (en) | 2006-05-24 | 2012-10-09 | International Business Machines Corporation | Token-based content subscription |
US7778980B2 (en) | 2006-05-24 | 2010-08-17 | International Business Machines Corporation | Providing disparate content as a playlist of media files |
US20070276866A1 (en) * | 2006-05-24 | 2007-11-29 | Bodin William K | Providing disparate content as a playlist of media files |
US20070276837A1 (en) * | 2006-05-24 | 2007-11-29 | Bodin William K | Content subscription |
US20070277233A1 (en) * | 2006-05-24 | 2007-11-29 | Bodin William K | Token-based content subscription |
US20080005769A1 (en) * | 2006-06-13 | 2008-01-03 | Canon Kabushiki Kaisha | Content notification method and apparatus, content processing method and apparatus, and storage medium storing program for executing the method |
US8839305B2 (en) * | 2006-06-13 | 2014-09-16 | Canon Kabushiki Kaisha | Content notification method and apparatus, content processing method and apparatus, and storage medium storing program for executing the method |
US20100241733A1 (en) * | 2006-06-22 | 2010-09-23 | Ga Jeong Shin | Contents transmitting ip adaptor transmitting contents to portable device and Contents transmitting method using the ip adaptor |
US20080082941A1 (en) * | 2006-09-28 | 2008-04-03 | Goldberg Steven L | Content Feed User Interface |
US8645497B2 (en) | 2006-09-28 | 2014-02-04 | Google Inc. | Bookmark-based access to content feeds |
US20080082673A1 (en) * | 2006-09-28 | 2008-04-03 | Michael Dynin | Bookmark-Based Access to Content Feeds |
US8230361B2 (en) | 2006-09-28 | 2012-07-24 | Google Inc. | Content feed user interface |
US9075505B2 (en) | 2006-09-28 | 2015-07-07 | Google Inc. | Content feed user interface |
US20080082635A1 (en) * | 2006-09-29 | 2008-04-03 | Bodin William K | Asynchronous Communications Using Messages Recorded On Handheld Devices |
US20080082576A1 (en) * | 2006-09-29 | 2008-04-03 | Bodin William K | Audio Menus Describing Media Contents of Media Players |
US7831432B2 (en) | 2006-09-29 | 2010-11-09 | International Business Machines Corporation | Audio menus describing media contents of media players |
US9196241B2 (en) | 2006-09-29 | 2015-11-24 | International Business Machines Corporation | Asynchronous communications using messages recorded on handheld devices |
US8694607B2 (en) | 2006-10-06 | 2014-04-08 | Google Inc. | Recursive subscriptions to content feeds |
US20080086755A1 (en) * | 2006-10-06 | 2008-04-10 | Darnell Benjamin G | Recursive Subscriptions to Content Feeds |
US20080263139A1 (en) * | 2006-12-29 | 2008-10-23 | Maurice Martin | Method for providing content to a mobile device, gateway for providing content and mobile device |
US20080162131A1 (en) * | 2007-01-03 | 2008-07-03 | Bodin William K | Blogcasting using speech recorded on a handheld recording device |
US9318100B2 (en) | 2007-01-03 | 2016-04-19 | International Business Machines Corporation | Supplementing audio recorded in a media file |
US20080161948A1 (en) * | 2007-01-03 | 2008-07-03 | Bodin William K | Supplementing audio recorded in a media file |
US8219402B2 (en) | 2007-01-03 | 2012-07-10 | International Business Machines Corporation | Asynchronous receipt of information from a user |
US20080162130A1 (en) * | 2007-01-03 | 2008-07-03 | Bodin William K | Asynchronous receipt of information from a user |
US20080307114A1 (en) * | 2007-03-30 | 2008-12-11 | Canon Kabushiki Kaisha | Network assignment method and apparatus |
US20080270568A1 (en) * | 2007-04-26 | 2008-10-30 | Nokia Corporation | Method, portable apparatus and server |
US20090007205A1 (en) * | 2007-06-26 | 2009-01-01 | Samsung Electronics Co., Ltd. | User terminal and proxy server of internet protocol television (iptv) system, and operating method thereof |
US8745161B2 (en) | 2007-09-26 | 2014-06-03 | Google Inc. | Determining and displaying a count of unread items in content feeds |
US10152464B2 (en) | 2007-09-26 | 2018-12-11 | Google Llc | Determining and displaying a count of unread items in content feeds |
US8060634B1 (en) * | 2007-09-26 | 2011-11-15 | Google Inc. | Determining and displaying a count of unread items in content feeds |
US10706121B2 (en) | 2007-09-27 | 2020-07-07 | Google Llc | Setting and displaying a read status for items in content feeds |
US10025871B2 (en) | 2007-09-27 | 2018-07-17 | Google Llc | Setting and displaying a read status for items in content feeds |
US20090106796A1 (en) * | 2007-10-22 | 2009-04-23 | At&T Knowledge Ventures, L.P. | Method and system for providng subscription data |
US8621538B2 (en) | 2007-10-22 | 2013-12-31 | At&T Intellectual Property I, L.P. | Method and system for providing subscription data |
US8528033B2 (en) * | 2007-10-22 | 2013-09-03 | At&T Intellectual Property I, L.P. | Method and system for providing subscription data |
US9313553B2 (en) | 2007-12-14 | 2016-04-12 | Thomson Licensing | Apparatus and method for simulcast over a variable bandwidth channel |
WO2009078839A1 (en) * | 2007-12-18 | 2009-06-25 | Thomson Licensing | Apparatus and method for file size estimation over broadcast networks |
US20100278178A1 (en) * | 2007-12-18 | 2010-11-04 | Thomas Licensing | Apparatus and method for file size estimation over broadcast networks |
US9369771B2 (en) | 2007-12-18 | 2016-06-14 | Thomson Licensing | Apparatus and method for file size estimation over broadcast networks |
EP2521054A3 (en) * | 2008-02-28 | 2013-03-20 | Vodafone Holding GmbH | System and method for preparing a customisable portal page |
EP2096554A3 (en) * | 2008-02-28 | 2009-09-30 | Vodafone Holding GmbH | System and method for preparing a customisable portal page |
US20090248996A1 (en) * | 2008-03-25 | 2009-10-01 | Mandyam Giridhar D | Apparatus and methods for widget-related memory management |
US9600261B2 (en) | 2008-03-25 | 2017-03-21 | Qualcomm Incorporated | Apparatus and methods for widget update scheduling |
US10061500B2 (en) | 2008-03-25 | 2018-08-28 | Qualcomm Incorporated | Apparatus and methods for widget-related memory management |
US20090248883A1 (en) * | 2008-03-25 | 2009-10-01 | Lalitha Suryanarayana | Apparatus and methods for managing widgets in a wireless communication environment |
US20090249359A1 (en) * | 2008-03-25 | 2009-10-01 | Caunter Mark Leslie | Apparatus and methods for widget intercommunication in a wireless communication environment |
US9110685B2 (en) | 2008-03-25 | 2015-08-18 | Qualcomm, Incorporated | Apparatus and methods for managing widgets in a wireless communication environment |
US10558475B2 (en) | 2008-03-25 | 2020-02-11 | Qualcomm Incorporated | Apparatus and methods for widget intercommunication in a wireless communication environment |
US10481927B2 (en) | 2008-03-25 | 2019-11-19 | Qualcomm Incorporated | Apparatus and methods for managing widgets in a wireless communication environment |
US9269059B2 (en) | 2008-03-25 | 2016-02-23 | Qualcomm Incorporated | Apparatus and methods for transport optimization for widget content delivery |
US9747141B2 (en) | 2008-03-25 | 2017-08-29 | Qualcomm Incorporated | Apparatus and methods for widget intercommunication in a wireless communication environment |
US20090271778A1 (en) * | 2008-03-25 | 2009-10-29 | Mandyam Giridhar D | Apparatus and methods for transport optimization for widget content delivery |
US9069575B2 (en) * | 2008-03-25 | 2015-06-30 | Qualcomm Incorporated | Apparatus and methods for widget-related memory management |
US20090249321A1 (en) * | 2008-03-25 | 2009-10-01 | Mandyam Giridhar D | Apparatus and methods for widget update scheduling |
US20090271873A1 (en) * | 2008-04-24 | 2009-10-29 | Alon Ram | Method and system for displaying a sequence of media files |
US20100228720A1 (en) * | 2009-02-26 | 2010-09-09 | Research In Motion Limited | Mobile wireless device to display selected web feeds and associated methods |
EP2488966A4 (en) * | 2009-09-10 | 2017-03-15 | Google Technology Holdings LLC | Method and apparatus for loading a photo |
US9361391B2 (en) * | 2009-11-05 | 2016-06-07 | Canon Kabushiki Kaisha | Method of generating a web feed and an associated system |
US20110107199A1 (en) * | 2009-11-05 | 2011-05-05 | Canon Kabushiki Kaisha | Method of generating a web feed and an associated system |
US9165085B2 (en) | 2009-11-06 | 2015-10-20 | Kipcast Corporation | System and method for publishing aggregated content on mobile devices |
US20120005610A1 (en) * | 2010-06-30 | 2012-01-05 | Dirk Michael Schulze | Methods, apparatus, systems and computer readable mediums for use in transfering information to and/or from user devices |
US20120246032A1 (en) * | 2011-03-21 | 2012-09-27 | Joshua Beroukhim | Website, user interfaces, and applications facilitating improved media search capability |
US20120246584A1 (en) * | 2011-03-21 | 2012-09-27 | Joshua Beroukhim | Website, user interfaces, and applications facilitating improved media search capability |
US8346629B2 (en) * | 2011-03-21 | 2013-01-01 | Joshua Beroukhim | Website, user interfaces, and applications facilitating improved media search capability |
US8600838B2 (en) * | 2011-03-21 | 2013-12-03 | Joshua Beroukhim | Website, user interfaces, and applications facilitating improved media search capability |
US20130067349A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Efficiently providing data from a virtualized data source |
US8868639B2 (en) * | 2012-03-10 | 2014-10-21 | Headwater Partners Ii Llc | Content broker assisting distribution of content |
US10356199B2 (en) | 2012-03-10 | 2019-07-16 | Headwater Partners Ii Llc | Content distribution with a quality based on current network connection type |
US9503510B2 (en) | 2012-03-10 | 2016-11-22 | Headwater Partners Ii Llc | Content distribution based on a value metric |
US20130238761A1 (en) * | 2012-03-10 | 2013-09-12 | Headwater Partners Ii Llc | Distributing content by generating and preloading queues of content |
US9210217B2 (en) | 2012-03-10 | 2015-12-08 | Headwater Partners Ii Llc | Content broker that offers preloading opportunities |
US9338233B2 (en) * | 2012-03-10 | 2016-05-10 | Headwater Partners Ii Llc | Distributing content by generating and preloading queues of content |
US20150281568A1 (en) * | 2012-10-05 | 2015-10-01 | Sony Corporation | Content acquisition device, portable device, server, information processing device, and storage medium |
US9497194B2 (en) | 2013-09-06 | 2016-11-15 | Oracle International Corporation | Protection of resources downloaded to portable devices from enterprise systems |
US10289426B2 (en) | 2014-02-28 | 2019-05-14 | Tyco Fire & Security Gmbh | Constrained device and supporting operating system |
US10268485B2 (en) | 2014-02-28 | 2019-04-23 | Tyco Fire & Security Gmbh | Constrained device and supporting operating system |
CN106664316A (en) * | 2014-02-28 | 2017-05-10 | 泰科消防及安全有限公司 | Constrained device and supporting operating system |
WO2015130654A1 (en) * | 2014-02-28 | 2015-09-03 | Rasband Paul B | Constrained device and supporting operating system |
US11747430B2 (en) | 2014-02-28 | 2023-09-05 | Tyco Fire & Security Gmbh | Correlation of sensory inputs to identify unauthorized persons |
US9910701B2 (en) | 2014-12-30 | 2018-03-06 | Tyco Fire & Security Gmbh | Preemptive operating system without context switching |
US10402221B2 (en) | 2014-12-30 | 2019-09-03 | Tyco Fire & Security Gmbh | Preemptive operating system without context switching |
WO2016109627A1 (en) * | 2014-12-30 | 2016-07-07 | Tyco Fire & Security Gmbh | Preemptive operating system without context switching |
KR102050935B1 (en) | 2015-11-25 | 2020-01-08 | 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 | Information recommendation methods and devices |
US10554774B2 (en) * | 2015-11-25 | 2020-02-04 | Tencent Technology (Shenzhen) Company Limited | Information pushing method and apparatus |
KR20180006431A (en) * | 2015-11-25 | 2018-01-17 | 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 | Information recommendation method and device |
US20180007156A1 (en) * | 2015-11-25 | 2018-01-04 | Tencent Technology (Shenzhen) Company Limited | Information pushing method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
WO2007083194A3 (en) | 2007-11-22 |
US8081955B2 (en) | 2011-12-20 |
EP1941658A4 (en) | 2009-01-21 |
EP1941658A2 (en) | 2008-07-09 |
WO2007083194A2 (en) | 2007-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8081955B2 (en) | Managing content to constrained devices | |
US10182028B1 (en) | Method and system for storing real-time communications in an email inbox | |
JP4812747B2 (en) | Method and system for capturing and extracting information | |
US8275839B2 (en) | Methods and systems for processing email messages | |
US8843577B2 (en) | Method, system, and computer program product for synchronization of similar data objects with event information | |
AU2005231112B2 (en) | Methods and systems for structuring event data in a database for location and retrieval | |
US7853655B2 (en) | Individualized RSS feeds with archives and automatic cleanup | |
US20060235885A1 (en) | Selective delivery of digitally encoded news content | |
US7707142B1 (en) | Methods and systems for performing an offline search | |
US20070016636A1 (en) | Methods and systems for data transfer and notification mechanisms | |
EP2431894A1 (en) | Search method, device and system | |
AU2009308480B2 (en) | Search based specification for data synchronization | |
US20080267117A1 (en) | Method and system for linking to content and services for a communication device | |
CN1217514C (en) | Online aggregation in unified messaging | |
JP2007299392A (en) | Push framework for delivery of dynamic mobile content | |
EP1895424A1 (en) | Content relaying device and content relaying method | |
JP5295998B2 (en) | System and method for fragmenting moving content | |
US7680888B1 (en) | Methods and systems for processing instant messenger messages | |
JP4603008B2 (en) | Multi-layered enveloped method and system for push content metadata | |
US7581227B1 (en) | Systems and methods of synchronizing indexes | |
US8539508B2 (en) | Message ordering using dynamically updated selectors | |
WO2011028177A1 (en) | A context aware content management and delivery system for mobile devices | |
US20040105445A1 (en) | Internet protocol for resource-constrained devices | |
EP2466851A1 (en) | Method and system for establishing a notification service for a device | |
JP2001154938A (en) | Information processor and storage medium storing information management program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VIRTUAL REACH SYSTEMS, INC., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DAVIS, WILLIAM JAMES;MAYYA, MIRANJAN;PADLASEK, GRZEGORZ J.;AND OTHERS;REEL/FRAME:018863/0466 Effective date: 20070123 |
|
AS | Assignment |
Owner name: VIIGO INCORPORATED, CANADA Free format text: CHANGE OF NAME;ASSIGNOR:VIRTUAL REACH INC.;REEL/FRAME:020619/0355 Effective date: 19981112 |
|
AS | Assignment |
Owner name: COMERICA BANK, CANADA Free format text: SECURITY AGREEMENT;ASSIGNOR:VIIGO INC.;REEL/FRAME:023018/0342 Effective date: 20090716 |
|
AS | Assignment |
Owner name: VIIGO INCORPORATED,CANADA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:COMERICA BANK;REEL/FRAME:024210/0055 Effective date: 20100326 Owner name: VIIGO INCORPORATED, CANADA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:COMERICA BANK;REEL/FRAME:024210/0055 Effective date: 20100326 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: RESEARCH IN MOTION LIMITED, ONTARIO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VIIGO INC.;REEL/FRAME:029873/0101 Effective date: 20130222 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: BLACKBERRY LIMITED, ONTARIO Free format text: CHANGE OF NAME;ASSIGNOR:RESEARCH IN MOTION LIMITED;REEL/FRAME:037976/0171 Effective date: 20130709 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: MALIKIE INNOVATIONS LIMITED, IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BLACKBERRY LIMITED;REEL/FRAME:064104/0103 Effective date: 20230511 |
|
AS | Assignment |
Owner name: MALIKIE INNOVATIONS LIMITED, IRELAND Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:BLACKBERRY LIMITED;REEL/FRAME:064270/0001 Effective date: 20230511 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |