The present invention relates generally to the field of systems and methods for providing information to wireless communication devices. More particularly, the present invention relates to systems and methods for providing applications and media artifacts, including text, video, audio and multimedia content, to wireless communication devices that utilize and interact with such content.
Advancements in computing networks have facilitated distribution of information to users of computing devices. Each computing device of a computing network may request access to information stored by other devices coupled to the network. A computing device coupled to a large network, such as the Internet, may have access to a similarly large amount of information.
One advancement in computing networks is the development of Push Technology. Unlike other systems which require each device to request information from information sources, Push Technology delivers information automatically to a device according to programmed preferences. Thus, Push Technology eliminates the need of a computing device to seek out one or more information sources to gather specific information of interest. Many companies utilize Push Technology to “push” software updates directly to various computing devices operated or otherwise owned by them.
Although Push Technology is often used for wired computing devices, it is less often used for providing information to wireless communication devices. Users of wireless communication devices frequently need access to a variety of information, but such information is not as readily available to as wired connections due to the limited bandwidth of wireless connections. Wireless communication systems are challenged to maximize the quality of information provided to wireless communication devices while minimizing the traffic imposed on the wireless connections to the devices.
It is further challenge for wireless communication devices to provide received information on second displays. A second display on a conventional wireless communication device typically provides caller-line identification information as well as status information about the device. The second display is typically secondary or supplemental to a primary display of the device and, thus, is smaller than the primary display. Unfortunately, due to the limited dimensions of a second display, manufacturers and suppliers of wireless communication devices are challenged to find a way to maximize the quality of information provided by the second display.
In view of the above, there is a need for a system and method for managing and displaying content on a second display of a wireless communication device to maximize content quality. Also, there is a need for a system and method to maximize content quality on the second display while minimizing burdens on network traffic.
One aspect of the present invention is a wireless communication device for providing channel information comprising a housing having a first display and a second display. The housing has a first position exposing the first and second displays and a second position covering the first display and exposing the second display. The device further comprises a memory and a processor coupled to the second display. The memory is configured to store a plurality of applications and/or media content that may be shown by the second display. The processor is configured to change operation of the second display from one application to another and/or the media content shown by the second display from one media content to another.
Another aspect of the present invention is a wireless communication device comprising one display configured to change from one application to another, and wherein another display configured to operate one or more configuration settings that control operation of the other display.
Referring to
The media gateway 102 may receive feeds of media channels, buffer and cache the feeds, and feed them to wireless communication devices 104. The term “channel” refers to content that is received from a single content source and provided in a particular format, such as an XML language, and the term “feed” refers to fetching of a file from a particular channel. For one embodiment, the media gateway 102 compresses combined channels and provides them to the wireless communication devices 104 where they are decompressed, separated and stored in a content cache. The media gateway 102 may feed information to the wireless communication device 104 using push, pull and poll technology. For example, for one embodiment, the media gateway 102 generally pushes information to the wireless communication device 104, and the device pull technology from the media gateway upon request.
Although the media gateway 102 may operate on a common platform with other devices, the media gateway may also serve as a control point across multiple platforms. Regardless of the platform used, the media gateway 102 controls, bills and tracks information that is available to the wireless communication devices 104 and, thus, has access to media content from one or more sources. As shown in
The media gateway 102 may also be directly controlled by a service provider, or be coupled to a cockpit controller 114 of a service provider, to manage the flow of billing information 116 and/or other media content 118, such as service provider promotions, for the wireless communication system 100.
Referring to
Referring to the media gateway 102, wireless communication devices 104 and content aggregator 108 shown in
An exemplary function of the wireless communication device 104 as represented by the internal components 200, upon reception of wireless signals, the internal components detect communication signals and the transceiver 202 demodulates the communication signals to recover incoming information, such as voice and/or data, transmitted by the wireless signals. After receiving the incoming information from the transceiver 202, the processor 204 formats the incoming information for one or more output devices 208. Likewise, for transmission of wireless signals, the processor 204 formats outgoing information, which may or may not be activated by the input devices 210, and conveys the outgoing information to the transceiver 202 for modulation to communication signals. The transceiver 202 conveys the modulated signals to the media gateway 102 via a remote transceiver.
The input and output devices 208, 210 of the internal components 200 may include a variety of visual, audio and/or mechanical outputs. For example, the output device(s) 208 may include a visual output device 216 such as a liquid crystal display and light emitting diode indicator, an audio output device 218 such as a speaker, alarm and/or buzzer, and/or a mechanical output device 220 such as a vibrating mechanism. Likewise, by example, the input devices 210 may include a visual input device 222 such as an optical sensor (for example, a camera), an audio input device 224 such as a microphone, and a mechanical input device 226 such as a flip sensor, keyboard, keypad, selection button, touch pad, touch screen, capacitive sensor, motion sensor, and switch. Actions that may actuate one or more input devices 210 include, but not limited to, opening the wireless communication device, unlocking the device, moving the device to actuate a motion, moving the device to actuate a location positioning system, and operating the device.
The internal components 200 of the media gateway 102, wireless communication devices 104 and content aggregator 108 may include a location circuit 228. Examples of the location circuit 228 include, but are not limited to, a Global Positioning System (GPS) receiver, a triangulation receiver, an accelerometer, a gyroscope, or any other information collecting device that may identify a current location of the device.
The memory portion 206 of the internal components 200 may be used by the processor 204 to store and retrieve data. The data that may be stored by the memory portion 206 include, but is not limited to, operating systems, applications, and data. Each operating system includes executable code that controls basic functions of the communication device, such as interaction among the components of the internal components 200, communication with external devices via the transceiver 202 and/or the component interface 212, and storage and retrieval of applications and data to and from the memory portion 206. Each application includes executable code utilizes an operating system to provide more specific functionality for the communication device, such as file system service and handling of protected and unprotected data stored in the memory portion 206. Data is non-executable code or information that may be referenced and/or manipulated by an operating system or application for performing functions of the communication device.
The processor 204 may perform various operations to store, manipulate and retrieve information in the memory portion 206. Each component of the internal components 200 is not limited to a single component but represents functions that may be performed by a single component or multiple cooperative components, such as a central processing unit operating in conjunction with a digital signal processor and one or more input/output processors. Likewise, two or more components of the internal components 200 may be combined or integrated so long as the functions of these components may be performed by the communication device.
Referring to
The exemplary embodiment of the device also includes one or more plug-ins 312 to provide functionality and one or more containers 314 operating as framework elements and having an area on the display. Examples of plug-in functionality include, but are not limited to, instant messaging buddy activity viewing, news reading and live play sport viewing. Each container 314 may be associated with one or more plug-ins 312. For example, as shown in
The exemplary embodiment of the device further includes one or more display templates 316 and a display area 318, as referenced above, associated with a container 314. Each container 314 may provide a channel 308 of content, stored in the content cache 306, at the display area 318 of an output device 208. Individual items 310 of the channel 308 are displayed based on the container information and corresponding display template 316. The display template 316 defines the manner in which content is displayed at the display area 318. The display template 316 to use for a particular content is defined by channel settings for the current channel 308.
The dynamic portal system and method may operate during an idle mode of the wireless communication device 104. The wireless communication device 104 is generally designed to perform operations directed by its user. When the user interacts with the input devices 210 of the wireless communication device 104, the device responsively performs the requested functions as it is able, such as managing voice calls, text messages, and the like. When the wireless communication device 104 no longer performs such functions and is merely waiting to activity, the device enters the idle mode. When the device 104 enters the idle mode, the dynamic portal system and method may operate in response.
After a network connection is established, the new contents may be downloaded from a service provider's media gateway 102. Initially, the Dynamic Idle Service 404 sends a request for contents to the Cache Manager 406 at step 412. The Cache Manager 406 then checks the timestamps of the media content in the content cache 306 for new contents availability and last download time at step 414. If new media content is available or the existing media content (presently stored in the content cache 306) is not up-to-date, then the Cache Manager 406 sends a request to fetch new media content to the Fetch Task 408 at step 416. The Cache Manager 406 also provides the existing media content to the Dynamic Idle Service 404 at step 418 which, in turn, forward the existing media content to the GUI 402 for viewing by the user at step 420.
In response to receiving the request to fetch new media content from the Cache Manager 406, the Fetch Task 408 sends a formatted request for the new media content, in an appropriate common format, to the Media GW 410 at step 422. For example, for one embodiment, the Fetch Task 408 sends an HTTP request for RSS content. The Media GW 410 then clears a Not-to-Send flag at step 424 and sends a formatted response, including the requested content in the requested format, to the Fetch Task 408 at step 426. After receiving the response, the Fetch Task 408 saves the time of download and associates it with the received media content at step 428. The Fetch Task 408 also parses the received media content, for example, into appropriate channels. The Fetch Task 408 then sends the media content to the Cache Manager 406 for storage in the content cache 306 at step 430. Thereafter, the Cache Manager 406 sends the media content and a service notification to the Dynamic Idle Service 404 at step 432 and, in turn, the Dynamic Idle service forwards the media content to the GUI 402 for presentation to the user at step 434.
The initial contents may be provided free by the GUI 402 for a specific length of time, i.e., trial period. Once the trial period is over, if the user does not subscribe any channels, the service provider may provide some free media content (e.g., out of date content) to fill up the channels and only subscribed channels would have up-to-date media content. Also, media content may be received from a Media GW 410 of a particular service provider may be tied to an identity card of the wireless communication device 104, such as a SIM card. When a different SIM is inserted to the device 104, the cached and archived contents may be removed during the startup sequence of the device.
The media content is periodically pulled or pushed from the service provider's Media GW 410. The latest and non-duplicated news may be downloaded to the wireless communication device 104. A service provider may define the polling interval and the number of news articles to be downloaded at a given time. The user of the wireless communication device 104 may adjust the scrolling rate for viewing media content, set the storage size for the archived media content, when the archived media content will be deleted, and other options to be configured by the user.
In response, the Media GW 410 clears a Not-to-Send flag at step 716 and sends a formatted response, including the requested content in the requested format, to the Fetch Task 408 at step 718. After receiving the response, the Fetch Task 408 saves the time of download and associates it with the received media content at step 720. The Fetch Task 408 also parses the received media content, for example, into appropriate channels. The Fetch Task 408 then sends the media content to the Cache Manager 406 for storage in the content cache 306 at step 722. Thereafter, the Cache Manager 406 sends the media content and a notification to the Dynamic Idle Service 404 at step 724 and, in turn, the Dynamic Idle service forwards the media content to the GUI 402 for presentation to the user at step 726.
In response to receiving the request for content from the Dynamic Idle Service 404, the Cache Manager 406 sends a request to fetch new media content to the Fetch Task 408 at step 916 and, in turn, the Fetch Task sends a formatted request for the new media content, in an appropriate common format, to the Media GW 410 at step 918. The Cache Manager 406 also provides the existing media content to the Dynamic Idle Service 404 for subscribed media content at step 920. The Dynamic Idle Service 404 then instructs the GUI 402 to add or delete channels from containers, add or delete containers, and/or present default contents to the user as appropriate based on the subscribed and unsubscribed media content at step 922.
In response to receiving the request from the Fetch Task 408, the Media GW 410 clears a Not-to-Send flag at step 924 and sends a formatted response, including the requested content in the requested format, to the Fetch Task 408 at step 926. After receiving the response, the Fetch Task 408 saves the time of download and associates it with the received media content and, also, parses the received media content, for example, into appropriate channels. The Fetch Task 408 then sends the media content to the Cache Manager 406 for storage in the content cache 306 at step 428. Thereafter, the Cache Manager 406 sends the media content and a service notification to the Dynamic Idle Service 404 at step 930 and, in turn, the Dynamic Idle service forwards the media content to the GUI 402 for presentation to the user at step 932.
Referring to
The plug-ins may display and gather information in a number of ways, make network connections, gather external information and provide the information via an output device 208. Plug-ins may be loaded into containers to provide customization, particularly for idle state plug-ins. The plug-ins have specific functionality to provide relevant information to an output device 208. The plug-in framework allows the plug-in to launch applications by supplying a launch string. The plug-ins may search locally to the device to gather information and provide the information to the output device 208. The plug-ins may also call the functionality of other applications, services and/or API's on the display and surface the information and/or functionality wherever the container exists. Each piece of information may include a direct access link to more information by providing more content or direct access to functionality, applications or tasks. Examples of plug-ins include news reader plug-ins, short cut plug-ins, and 3rd party plug-ins.
With plug-ins and channels of content, the wireless communication device may passively monitor device activity relating to information provided by one or more output devices 208. Content will be provided to the output device or devices 208 on a regular basis, and deeper content and/or functionality may be accessed by activation of one or more input devices 210.
The general concept of device engagement as well as two examples are shown. For the general concept, a channel may be selected by an input device 210 so that its content may be provided in a container during an idle state of the wireless communication device. Upon selection, as represented by block 1002, a plug-in appropriate for the channel may be associated with the container and gather information, i.e., media content, in the background of the device's operation. Next, as represented by block 1004, the output device 210 provides information through the selected channel. The information may be provided using uncommon technology or common technology such as JAVA SVG, Flash, SMILE and the like. At some point thereafter, as represented by block 1006, a user may select the channel of particular interest by actuating an input device 210 to launch relative functionality. Thus, a command is passed to the processor 204 to cause corresponding functionality to be executed. In response, as represented by block 1008, the user has more access to delve deeper into the content or functionality of the channel.
One type of channel is a media channel which is exemplified by the middle row of
Another type of channel is a functional channel which is exemplified by the bottom row of
Referring to
A user may navigate among the display areas 1104, 1106, 1108 to select one or more channels for each container and its associated display area. After a particular channel is selected, the processor 204 automatically loads the appropriate plug-in or plug-ins 312 and display template 316 for the channel based on channel configuration information and format information fetched by the device's service 304. The user may also navigate between items within a container, such as various locations and shortcut links within a display area.
As represented by
Referring to
For this embodiment, the display of the wireless communication device may show a plurality of display areas and each display area corresponds to a container for showing a particular channel. For example, as shown in
A user may select a channel for any container so, in reference to
In lieu of a user selection of a channel for a particular container, the wireless communication device may also configure the containers to present media content based other triggering factors, such as time and location. Triggering factors may be hardware based (as well as software based) and include, but are not limited to, opening the wireless communication device, unlocking the device, moving the device to actuate a motion, moving the device to actuate a location positioning system, and operating the device. Information relating to the current time of the device may be received from the timing circuit 211. The timing circuit 211 may be integrated within the processor 204 or may be a separate component coupled to another component of the internal components 200. Examples of the timing circuit 211 include, but are not limited to, an internal clock, a receiving circuit that receives clock information via the transceiver 202 and/or component interface 212, and any other type of circuit that may determine a current time based on information received from another component of the internal components 200.
For one embodiment, the wireless communication device may select a particular channel among a plurality of channels associated with a container of the device based on the current time of the device. A unit of content of the particular channel may be provided by the dynamic container if an update time of the particular channel corresponds to the current time of the device. The update time may correspond to a time period when content of the particular channel is recurringly updated. For example, for a device located in the United States, the device may select a European channel for a particular container around noon every weekday since the European evening news would become available at about that time on those days. The device may collect information about the availability of the European evening news by monitoring the media content received for a particular channel during a predetermined time period, such as the previous week, and storing the information in the memory 206. The processor 204 may thereafter analyze the stored information to determine the appropriate update time. In the alternative, the user may provide the update time via an input device 210. Accordingly, the transceiver 202 may obtain the media content, e.g., the European evening news, before the update time of the particular channel so that the information will be ready for viewing by the user with minimal delay.
For another embodiment, the wireless communication device may select a particular channel among a plurality of channels associated with a container of the device based on the current location of the device. Information relating to the current location of the device may be received from the location circuit 228. The location circuit 228 may be integrated within, or separate from, another component of the internal components 200. Examples of the location circuit 228 include, but are not limited to, a Global Positioning System circuit that receives location information via the transceiver 202 and/or component interface 212, and any other type of circuit that may determine a current location based on information received from another component of the internal components 200.
For this embodiment, a unit of content of the particular channel may be provided by the dynamic container if an associated location of the particular channel corresponds to the current time of the device. The associated location may correspond to a location of a source associated with the particular channel, such as a European broadcast station for the European evening news. The location of the source may be provided to the device via channel settings received from the media gateway 102 by the device's server 304. Knowing the location of the source, if a user travels with the device to a European location, then the device may select a European channel for a particular container. Thereafter, the transceiver 202 may obtain the media content, e.g., the European evening news, as soon as possible so that the information will be ready for viewing by the user with minimal delay.
Referring to
For the containers that are associated with at least one channel, the corresponding display areas 1304, 1306, 1308, 1310 may show an identifier, such as a color code, style, shading pattern, or other visual indicator, to conveniently indicate the age of the media content presented by the container. For another embodiment, the identifier may also be mapped to the type of the media content in addition to the age of the media content. The map may be selected by the user or included in the media content when downloaded from the media gateway 102. If selected by the user, the user can manually set, using a configuration page, indication mapping instructions of a rating criteria for interpreting age information. Examples of types of media content include, but are not limited to, news, sports, stocks and films.
The type of the media content may be used to identify a reference time frame for interpreting the age of the media content. For example, media content relating to news generally becomes dated in a matter of hours, whereas film listings are typically valid for an entire week. As shown in
Referring to
The media gateway 102 comprises a transceiver and a processor coupled to the transceiver. The media gateway 102 identifies one or more events occurring at the wireless communication device during a predetermined time period. In particular, the transceiver 202 may receive usage information from the wireless communication device 104 that indicates activity of the device during the predetermined time period. The media gateway 102 determines a reporting event based on the one or more events and a reporting time corresponding to the reporting event. In particular, the processor 204 may determines a reporting time based on the usage activity of the device during the predetermined time period, so that the transceiver 202 may communicate event content to the device at a reporting time. Stated another way, the processor 204 may determine a time period of inactivity based on the usage information of the device, so that the transceiver 202 may minimize communication of event content to the device during at least one future time period corresponding to the time period of inactivity. One way to determine the reporting time is to identify a particular time of day when activity occurs and marking the particular time of day for future days. Another way to determine the reporting time is to identify time periods when the device is not being used, and minimizing communication to the device during those time periods. The event content corresponding to the reporting event is obtained before the reporting time to minimizing any delay in providing the content to the user.
As shown in
Continuing this example, the user reads news headlines from the wireless communication device 104 at 7:40 AM, as represented by block 1406. The media gateway 102 already obtained the news content in advance, e.g., 7:30 AM, because the media gateway determined that 7:40 AM is a regular reporting time for the device based on prior activity monitored by the device. For example, the prior activity may be access to news headlines every day the previous week at about 7:45 AM. The user then drives to work and is busy for the entire morning, as represented by block 1408. The media gateway 102 previously noted from information received from the device 104 that, during the previous week, the device was only used to receive calls between 8:30 AM and 12:00 noon. Accordingly, the media gateway 102 minimized communication of media content to the device 104 during this time period, e.g., content was only communicated once. At noon, the user reads news stories during lunch, as represented by block 1410. The media gateway 102 knows that the user typically reads news stories soon after 12:00 noon based on information received from the device 104, so the media gateway downloaded media content to the content cache 306 ten minutes earlier, i.e., 11:50 AM. Finally, for this example, the device 104 notices that the user read a promotional advertisement about a new health drink and accessed a web site about health drinks at about 12:07 PM, as represented by block 1412. The device 104 reported this activity to the media gateway 102 so, based on this past activity, the media gateway may deliver up-to-date health news at 11:50 AM the next day.
As stated above, the above activity may be performed by the wireless communication device 104 instead of the media gateway 102. The wireless communication device 104 comprises a user interface (comprising the input devices 210), a processor 204 coupled to the user interface, and a transceiver 202 coupled to the processor. The processor 204 monitors usage information indicating activity of the user interface during a predetermined time period. The processor 204 also determines a reporting time based on the usage information of the user interface and/or a time period of inactivity based on the usage information of the wireless communication device. The transceiver 202 requests the media gateway 102 to communicate event content at the reporting time and/or minimize communication of event content during at least one future time period corresponding to the time period of inactivity. The operation of the media gateway 102 and the wireless communication device 104 for this embodiment and similar to their operation for the previous embodiment, except that the activity tracking is performed by the device and the media gateway merely reacts to requests for content from the device.
Referring to
The wireless communication device 104 receives a first media content or broadcast content 1504 and a first media data or markers 1506 associated with the first media content from a remote server, such as the media gateway 102. The first media data 1506 indicates one or more insertion points of the first media content 1504 where other information may be inserted. The first media content 1504 and the first media data 1506 may be received simultaneously or separately. If the first media data 1506 is received before the first media content 1504, then a second media content or stored content 1508 may be retrieved from the local memory 206 irrespective of whether the first media content has been received. The first media data 1506 may also indicate the length of information that may be inserted at each insertion point.
The device 104 then receives the second media content 1508 from its memory 206. The second media content 1508 may have been previously received from the remote server, such as the media gateway 102, or another source, such as the content aggregators 108 and the media providers 112. Also, the user may, via an input device 210, select a particular portion of the second media content 1508 from multiple portions of the second media content for insertion into the first media content 1504. In addition, the processor 204 may identify portions of the second media content 1508 having an appropriate length for insertion into the first media content 1504. Thereafter, the device 104 provides a combined media 1510 to an output device 208, such as a visual output device 216, an audio output device 218 or a combination thereof. The combined media 1510 includes the first media content 1504 and the second media content 1508, or a part thereof, inserted at one or more insertion points of the first media content.
Optionally, the device 104 may communicate billing information 1512 to a remote billing center in response to providing the combined media 1510 to the output device 208. When the second media content 1508 is provided to the user of the device 104, and acknowledged by the combiner 1502, the billing information 1512 may be created and sent to the billing center. The billing information 1512 would indicate that the second media content 1508 was actually consumed by the user. An appropriate billing invoice for the service of providing the advertisement to the user may then be provided to the source of the advertisement.
Referring to
The wireless communication device 1600 further comprises a memory 206 that stores multiple applications and/or multiple media content that may be shown by the external display 1606, and a processor 204 coupled to the external display. The processor changes operation of the external display 1606 from one application to another and/or from one media content to another. Similar to previous embodiments, a container is associated with the visible area of the external display 1606 and may be associated with one or more plug-ins and one or more channels of media content. Also, the container for the external display 1606 may only display one channel at any given time. Accordingly, the processor 204 is capable of cycling through a group of applications and/or media content in a particular order and causes the external display 1606 to change in accordance with the predetermined order.
For one embodiment, the wireless communication device 1600 may further comprise one or more sensors, e.g., input devices 210, supported by the housing and coupled to the processor 204. The processor 204 is capable of changing operation of the external display 1606 in response to an activation of a sensor. For another embodiment, the device 1600 may further comprise two sensors, i.e., input devices 210, supported by the housing and coupled to the processor 204. One sensor may cause the processor 204 to cycle through multiple applications of a particular channel one-by-one in a particular order, and the other sensor may cause the processor to cycle through the applications of the particular channel one-by-one in an order opposite the particular order. For yet another embodiment, the processor 204 executes automatically an application when operation of the external display 1606 is changed to the application and/or terminates automatically an application when operation of the external display is changed from the application. For still another embodiment, the device 1600 further comprises a user interface supported by the housing and coupled to the processor 204. The processor 204 changes operation of the external display 1606 to a default application when a predetermined time period of inactivity at the user interface is detected.
A user of the wireless communication device 1600 may manage media content, channels and applications through a control panel application in the first display, i.e., the internal display 1608. For example, the control patent may set a screensaver (as part of a channel or otherwise), timeout settings, select accessible channels and preferred channels, configure display order of channels and/or items of a channel, loading/unloading channels into the content cache 306 of the device, and configure other channel-specific settings.
Referring to
While the preferred embodiments of the invention have been illustrated and described, it is to be understood that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the spirit and scope of the present invention as defined by the appended claims.