Embodiments of the invention generally relates to systems and methods for controlling storage of content and, more particularly, to systems, terminals, methods, and computer program products for allocating memory for storage of content in terminals.
The deployment of advanced high bit-rate mobile networks has opened up new opportunities for delivering a host of services in a way that was not possible with earlier second generation wireless networks. Recent mobile network systems including third generation (3G) systems such as those specified for use with the Global System for Mobile Communications (GSM) wireless standard (which may include Wideband Code Division Multiple Access (WCDMA)), as well as General Packet Radio Service (GPRS) systems, enable the delivery of new digital services such as video calls and the playback of multimedia applications that are comprised of audio and video clips.
The increased bit rates of recent mobile network systems provide adequate performance for delivering high quality digital audio and acceptable quality moving image clips. However, at these transfer rates it may be difficult to handle exceedingly high data intensive tasks such as delivering high quality full-motion video and transferring very large data files to mobile terminals. In this regard, attempts at downloading large data files may lead to inconveniently long downloading times that can be undesirably costly for users. For this and other reasons, alternative broadband delivery techniques, such as Digital Video Broadcasting (DVB) techniques, have been investigated that could provide a practical solution for high data intensive tasks in terms of lower cost and convenience for the users involved.
The combined use of mobile telecommunications with a broadband delivery technique has been proposed in the past in order to achieve efficient delivery of digital services to users on the move. This would take advantage of existing infrastructures in the effort to provide personal communications (already prevalent) and the growing demand for Internet access, together with the expected rise of digital broadcasting, so that users can receive these services with a single device. The combination of mobile telecommunication and relatively low cost digital broadband delivery techniques provides the possibility of interactive services such as uni-directional and bi-directional services such as audio and video streaming (e.g., TV, radio, etc.), file downloads, advanced gaming applications, etc.
However, there are some challenges with developing the mobile terminals needed for downloading or otherwise receiving content, data, information or the like, even when such mobile terminals combine use of telecommunication techniques with digital broadband data broadcast techniques (e.g., DVB-T). In this regard, mobile terminals are generally capable of storing only a limited amount of data. The ability of mobile terminals to receive and thereafter store a large amount of data at a high bit rate, however, can place a heavy storage capacity burden on the terminal. This is especially the case when multiple pieces of content are delivered to the mobile terminal, with the user desiring to receive one or more pieces of content at different times for viewing at a time subsequent to receiving the content.
Often, the user may subscribe to a service that provides content on a periodic and/or scheduled basis. As such, the content provider and the mobile terminal may know in advance what pieces of content are to be delivered to the mobile terminal. By knowing in advance what content is to be delivered, the content provider (or mobile terminal) may take advantage of higher bandwidth and/or less expensive connections that may be available only at particular times and/or in particular geographic locations by delivering (or requesting) some content in advance of the intial scheduled or requested download time/date. For example, higher bandwidth connections may be available late at night and early in the morning because communication traffic may be reduced during these times. As such, content that is not scheduled or requested to be delivered until some time (e.g., several hours or several days) in the future may be downloaded to the mobile terminal during a time when higher bandwidth is available. Additionally, for a mobile terminal that is capable of communicating using more than one communication protocol or mode (i.e., a multi-mode terminal), one mode may be less expensive to use for downloading large amounts of data. For a multi-mode device capable of using, for example, GPRS and wireless local area network (WLAN) for data download, it may be less expensive to use the WLAN connection as compared to the GPRS connection. Again, content that is not scheduled or requested to be delivered until some time in the future may be downloaded to the mobile terminal during a time when the terminal is connected to a WLAN network to take advantage of the less expensive connection.
This ability to take advantage of higher bandwidth and/or less expensive connections may often be desirable. However, as this may result in content being delivered in advance of the scheduled or requested time, this may further exacerbate the heavy storage capacity burden on the mobile terminal.
In mobile terminals that also operate as telecom devices, content storage is a particularly important issue since users expect sufficiently reasonable storage capacity for necessary communication purposes which they expect to be available. While content storage is an important issue for mobile devices, content storage is also an important issue for any device that stores content and that has limited storage capacity, such as a personal digital assistant (PDA), a digital camera or camcorder, a portable audio/video/television device, a set-top box (STB), a personal video recorder (PVR), a digital video recorder (DVR), a global positioning system (GPS) receiver, a portable storage device (e.g., memory stick), a memory card (e.g., PC card), and the like.
A terminal, system, method, and computer program product are therefore provided that are capable of allocating memory for content storage in the terminal. More particularly, embodiments of the invention are capable of storing content as either fixed or replaceable content. Fixed content is typically content that is intended to be currently available for access by the user and is visible to the user. Replaceable content may be content that is intended to be accessible by the user at a future date or time, or content that the user does not currently have the right to view. Storing some content as replaceable content enables a service provider to take advantage of favorable network connections to download content that is not to be viewed by the user until a later date, while not preventing the user from being able to store other content if desired. This is achieved by defining rules that allow the end user and/or the terminal to overwrite other content to the memory location where replaceable content is stored, and implementing necessary file and memory management mechanisms in the terminal device. In this way, even though the replaceable content is stored to the memory of the device, the memory area to which the replaceable content is stored to is actually seen as “free” because other content can immediately use this memory area if a need arises. It is therefore possible to say that the memory area used by replaceable content is not “reserved.” Other content items may overwrite the replaceable content if necessary due to insufficient open memory space to store the other content items. If replaceable content has been overwritten by other content, the replaceable content will typically be downloaded again when memory space becomes available. Because replaceable content typically does not reserve memory space, the replaceable content stored in the terminal is typically not visible to the user. Replaceable content may be recharacterized as fixed content, with such recharacterization typically occurring when the content is published or unlocked by the content provider.
In this regard, a terminal for allocating memory comprises a storage element and a processor. The processor may be capable of determining a status of at least one content item stored in the storage element, with the status selected from the group consisting of fixed and replaceable. The processor may be further capable of determining an amount of memory space needed to store an additional content item to be received and/or stored, an amount of memory space in the storage element in which no content items are stored, and an amount of memory space in the storage element in which all content items determined to be replaceable are stored. The processor may be further capable of determining if the amount of memory space needed to store the additional content item is greater than the amount of memory space in which no content items are stored and less than a sum of the amount of memory space in which no content items are stored and the amount of memory space in which all content items determined to be replaceable are stored and then storing at least a portion of the new content item in a memory location in which at least a portion of a content item determined to be replaceable had been stored.
In one embodiment of the invention, the processor is further capable of storing identification information for the portion of the content item determined to be replaceable, and requesting and receiving the portion of the content item determined to be replaceable when memory space is available in the storage element to restore the portion of the content item determined to be replaceable.
The processor may be further capable of changing the status of the at least one content item stored in the terminal from replaceable to fixed based upon metadata contained in the at least one content item, wherein the metadata comprises at least one of user-determined priority, content provider-determined priority, publication date, and request date. Similarly, the processor may be further capable of changing the status of the at least one content item stored in the terminal from fixed to replaceable based upon metadata contained in the at least one content item.
In one embodiment of the invention, the processor may select the portion of the content item determined to be replaceable based upon metadata contained in the content item, wherein the metadata comprises at least one of user-determined priority, content provider-determined priority, publication date, and request date.
In addition to the terminal for allocating memory as described above, other aspects of the invention are directed to corresponding systems, methods, and computer program products for allocating memory.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Exemplary embodiments of the invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
Referring to
As shown, a terminal 10 may include an antenna 12 for transmitting signals to and for receiving signals from a base site or base station (BS) 14. The base station is a part of one or more cellular or mobile networks that each include elements required to operate the network, such as a mobile switching center (MSC) 16. As well known to those skilled in the art, the mobile network may also be referred to as a Base Station/MSC/Interworking function (BMI). In operation, the MSC is capable of routing calls to and from the terminal when the terminal is making and receiving calls. The MSC can also provide a connection to landline trunks when the terminal is involved in a call. In addition, the MSC can be capable of controlling the forwarding of messages to and from the terminal, and can also controlling the forwarding of messages for the terminal to and from a messaging center, such as short messaging service (SMS) messages to and from a SMS center (SMSC) 17.
The MSC 16 can be coupled to a data network, such as a local area network (LAN), a metropolitan area network (MAN), and/or a wide area network (WAN). The MSC can be directly coupled to the data network. In one typical embodiment, however, the MSC is coupled to a GTW 18, and the GTW is coupled to a WAN, such as the Internet 20. In turn, devices such as processing elements (e.g., personal computers, server computers or the like) can be coupled to the terminal 10 via the Internet. For example, as explained below, the processing elements can include one or more processing elements associated with an origin server 22 or the like, one of which being illustrated in
The BS 14 can also be coupled to a signaling GPRS (General Packet Radio Service) support node (SGSN) 24. As known to those skilled in the art, the SGSN is typically capable of performing functions similar to the MSC 16 for packet switched services. The SGSN, like the MSC, can be coupled to a data network, such as the Internet 20. The SGSN can be directly coupled to the data network. In a more typical embodiment, however, the SGSN is coupled to a packet-switched core network, such as a GPRS core network 26. The packet-switched core network is then coupled to another GTW, such as a GTW GPRS support node (GGSN) 28, and the GGSN is coupled to the Internet. In addition to the GGSN, the packet-switched core network can also be coupled to a GTW 18. Also, the GGSN can be coupled to a messaging center, such as a multimedia messaging service (MMS) center 29. In this regard, the GGSN and the SGSN, like the MSC, can be capable of controlling the forwarding of messages, such as MMS messages. The GGSN and SGSN can also be capable of controlling the forwarding of messages for the terminal to and from the messaging center.
In addition, by coupling the SGSN 24 to the GPRS core network 26 and the GGSN 28, devices such as origin servers 22 can be coupled to the terminal 10 via the Internet 20, SGSN and GGSN. In this regard, devices such as origin servers can communicate with the terminal across the SGSN, GPRS and GGSN. For example, origin servers can provide content to the terminal, such as in accordance with the Multimedia Broadcast Multicast Service (MBMS). For more information on the MBMS, see Third Generation Partnership Project (3GPP) technical specification 3GPP TS 22.146, entitled: Multimedia Broadcast Multicast Service (MBMS), the contents of which are hereby incorporated by reference in its entirety.
Although not every element of every possible mobile network is shown and described herein, it should be appreciated that the terminal 10 can be coupled to one or more of any of a number of different networks through the BS 14. In this regard, the network(s) can be capable of supporting communication in accordance with any one or more of a number of first-generation (1G), second-generation (2G), 2.5G and/or third-generation (3G) mobile communication protocols or the like. For example, one or more of the network(s) can be capable of supporting communication in accordance with 2G wireless communication protocols IS-136 (Time Division Multiple Access (TDMA)), GSM, and IS-95 (Code Division Multiple Access (CDMA)). Also, for example, one or more of the network(s) can be capable of supporting communication in accordance with 2.5G wireless communication protocols GPRS, Enhanced Data GSM Environment (EDGE), or the like. Further, for example, one or more of the network(s) can be capable of supporting communication in accordance with 3G wireless communication protocols such as Universal Mobile Telephone System (UMTS) network employing Wideband Code Division Multiple Access (WCDMA) radio access technology. Some narrow-band AMPS (NAMPS), as well as TACS, network(s) may also benefit from embodiments of the invention, as should dual or higher mode mobile stations (e.g., digital/analog or TDMA/CDMA/analog phones).
The terminal 10 can further be coupled to one or more wireless access points (APs) 30. The APs can comprise access points configured to communicate with the terminal in accordance with short range wireless techniques, such as, for example, radio frequency (RF), radio frequency identification (RFID), Bluetooth (BT), infrared (IrDA) or any of a number of different wireless networking techniques, including WLAN, ultra wideband (UWB), WiMax, and the like. Additionally, or alternatively, the terminal can be coupled to one or more user workstations (WS) 31. Each user workstation can comprise a computing system such as personal computers, laptop computers or the like. In this regard, the user workstations can be configured to communicate with the terminal in accordance with techniques such as, for example, RF, BT, IrDA or any of a number of different wireline or wireless communication techniques, including LAN and/or WLAN techniques. One or more of the user workstations can additionally, or alternatively, include a removable memory capable of storing content, which can thereafter be transferred to the terminal.
The APs 30 and the workstations 31 may be coupled to the Internet 20. Like with the MSC 16, the APs and workstations can be directly coupled to the Internet. In one advantageous embodiment, however, the APs are indirectly coupled to the Internet via a GTW 18. As will be appreciated, by directly or indirectly connecting the terminals and the origin server 22, as well as any of a number of other devices, to the Internet, the terminals can communicate with one another, the origin server, etc., to thereby carry out various functions of the terminal, such as to transmit data, content or the like to, and/or receive content, data or the like from, the origin server. As used herein, the terms “data,” “content,” “information” and similar terms may be used to interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the invention. Thus, use of any such terms should not be taken to limit the spirit and scope of the invention.
Further, the terminal 10 can additionally, or alternatively, be coupled to any of a number of broadcast and/or multicast networks. For example, the terminal can be coupled to a digital video broadcasting network. As will be appreciated, for example, such a digital video broadcasting network can support communications in accordance with the Digital Video Broadcasting (DVB) standard and/or variants of the DVB standard, including DVB-T (terrestrial), DVB-MHP (multimedia home platform), DVB-H (handheld), DVB-C (cable), DVB-S (satellite) and/or DVB-IP. Further, for example, such a digital video broadcasting network can additionally or alternatively support communications in accordance with the Data Over Cable Service Interface Specification (DOCSIS), Japanese Terrestrial Integrated Service Digital Broadcasting (ISDB-T), Digital Audio Broadcasting (DAB), Digital Multimedia Broadcasting-Terrestrial (DMB-T), MediaFLO (MediaFLO is a trademark of Qualcomm, Inc.), and MBMS, and those networks provided by the Advanced Television Systems Committee (ATSC).
In many such broadcasting networks, a containerization technique is utilized in which content for transmission is placed into MPEG-2 packets which act as data containers. Thus, the containers can be utilized to transport any suitably digitized data including, but not limited to High Definition TV, multiple channel Standard Definition TV (PAUNTSC or SECAM) and, of course, broadband multimedia data and interactive services. DVB-T, for example, is a wireless point-to-multipoint data delivery mechanism developed for digital TV broadcasting, and is based on the MPEG-2 transport stream for the transmission of video and synchronized audio. As will be appreciated by those skilled in the art, DVB-T also has the capability of efficiently transmitting large amounts of data over a broadcast channel to a high number of users at a lower cost, when compared to data transmission through mobile telecommunication networks using, e.g., 3G systems. Advantageously, DVB-T has further proven to be exceptionally robust in that it provides increased performance in geographic conditions that would normally affect other types of transmissions, such as the rapid changes of reception conditions, and hilly and mountainous terrain. On the other hand, other variations of this DVB-T are being developed to account for the capabilities of handheld devices (e.g., terminals 10), such as the power consumption of such devices.
More particularly, for example, the terminal can be coupled to a digital video broadcasting (e.g., DVB-T, DVB-H, ISDB-T, ATSC, etc.) network. As will be appreciated, by directly or indirectly connecting the terminals and the digital broadcaster, the terminals can receive content, such as content for one or more television, radio and/or data channels, from the digital broadcaster. In this regard, the digital broadcaster can include, or be coupled to, a transmitter (TX) 34, such as a DVB-T TX. Similarly, the terminal can include a receiver, such as a DVB-T receiver (not shown). The terminal can be capable of receiving content from any of a number of different entities in any one or more of a different number of manners. In one embodiment, for example, the terminal can comprise a terminal 10′ capable of transmitting and/or receiving data, content or the like in accordance with a DVB (e.g., DVB-T, DVB-H, etc.) technique as well as a mobile (e.g., 1G, 2G, 2.5G, 3G, etc.) communication technique. In such an embodiment, the terminal 10′ may include an antenna 12A for receiving content from the DVB-T TX, and another antenna 12B for transmitting signals to and for receiving signals from a BS 14. For more information on such a terminal, see U.S. Patent Application Publication No. 2002/0021809, entitled: Receiver, filed Jun. 29, 2001 and published Feb. 21, 2002, the contents of which is incorporated herein by reference in its entirety.
In addition to, or in lieu of, directly coupling the terminal 10 to the digital broadcaster 32 via the TX 34, the terminal can be coupled to a digital broadcast (DB) receiving terminal 36 which, in turn, can be coupled to the digital broadcaster 32, such as directly and/or via the TX. In such instances, the digital broadcast receiving terminal can comprise a DVB-T receiver, such as a DVB-T receiver in the form of a set top box. The terminal can be locally coupled to the digital broadcast receiving terminal, such as via a personal area network. In one advantageous embodiment, however, the terminal can additionally or alternatively be indirectly coupled to the digital broadcast receiving terminal via the Internet 20.
Referring now to
More particularly, for example, as shown in
Reference is now made to
The digital broadcast receiving terminal 36 can include volatile memory 54, such as volatile Random Access Memory (RAM) including a cache area for the temporary storage of data. The digital broadcast receiving terminal can also include non-volatile memory 56, which can be embedded and/or may be removable. The non-volatile memory can additionally or alternatively comprise an EEPROM, flash memory, hard disk or the like. The memories can store any of a number of pieces of information, content and data, used by the digital broadcast receiving terminal to implement the functions of the digital broadcast receiving terminal. For example, as indicated above, the memories can store content, such as that received from a digital broadcaster 32.
The digital broadcast receiving terminal 36 can also include one or more interface means for sharing and/or obtaining data from electronic devices, such as terminals 10 and/or digital broadcasters 32. More particularly, the digital broadcast receiving terminal can include a network interface means 58, for sharing and/or obtaining data from a network, such as the Internet 20. For example, the network interface means can include an Ethernet Personal Computer Memory Card International Association (PCMCIA) card (also termed a PC card) configured to transmit and/or receive data to and from a network, such as the Internet.
The digital broadcast receiving terminal 36 can also include one or more local interface means 60 for locally sharing and/or obtaining data from electronic devices, such as a terminal. For example, the digital broadcast receiving terminal can include a radio frequency transceiver and/or an infrared (IR) transceiver so that data can be shared with and/or obtained in accordance with radio frequency and/or infrared transfer techniques. Additionally, or alternatively, for example, the digital broadcast receiving terminal can include a Bluetooth (BT) transceiver 52 operating using Bluetooth brand wireless technology developed by the Bluetooth Special Interest Group such that the digital broadcast receiving terminal can share and/or obtain data in accordance with Bluetooth transfer techniques. Further, the digital broadcast receiving terminal can additionally or alternatively be capable of sharing and/or obtaining data in accordance with any of a number of different wireline and/or wireless networking techniques, including LAN and/or WLAN techniques.
Reference is now made to
The digital broadcaster 32 can also include a multiplexer 66, which can be capable of multiplexing content for a number of television, radio and/or data channels. The multiplexer can then feed the resulting signal into a TX 34, which can be separate from the digital broadcaster, as shown in
In accordance with a number of digital broadcasting techniques, such as DVB-T, Internet Protocol (IP) Datacast (IPDC) can be utilized to provide audio, video and/or other content to terminals 10. In this regard, the digital broadcaster 32 can be capable of providing IP datacasting content to the terminal utilizing a digital broadcasting technique. As will be appreciated by those skilled in the art, digital broadcasting techniques such as DVB-T are essentially mobile in nature with a transmission site associated with each of a number of different cells. DVB-T, for example, uses MPEG-2 transport streams, and as such, IP data can be encapsulated into DVB transmission signals sent from the digital broadcaster, or more particularly the TX 34. Data streams including IP datagrams can be supplied from several sources, and can be encapsulated by an IP encapsulator (not shown). The IP encapsulator, in turn, can feed the encapsulated IP data streams into the data broadcasting (e.g., DVB-T) network.
The encapsulated IP data streams can then be transported to one or more transmission sites, where the transmission sites form cells of the data broadcasting network. For example, the encapsulated IP data streams can be transported to one or more transmission sites on an MPEG-2 transport stream for subsequent transmission over the air directly to the terminals, or to a receiver station serving one or more terminals. As will be appreciated, the MPEG-2 transport stream, from production by the IP encapsulator, to reception by the terminals or the receiver station, is typically uni-directional in nature. In this regard, IP packets containing the data can be embedded in multi-protocol encapsulation (MPE) sections that are transported within transport stream packets.
In addition to the IP packets, the MPE sections can also include forward error correction (FEC) information and time slicing information. By including information such as time slicing information, data can be conveyed discontinuously with the receiver (e.g., terminal 10), being capable of saving battery power by switching off when no data is being transmitted to the receiver. In other terms, in accordance with one time slicing technique, instead of using the current default method of continuous digital broadcasting (e.g., DVB-T) transmission, a time division multiplex-type of allocation technique can be employed (e.g., DVB-H). With such an approach, then, services can be provided in bursts, allowing a receiver to power down when the receiver is not receiving data, and allowing the receiver to power up to receive data packets, as necessary.
The mobile station includes various means for performing one or more functions in accordance with exemplary embodiments of the invention, including those more particularly shown and described herein. It should be understood, however, that the mobile station may include alternative means for performing one or more like functions, without departing from the spirit and scope of the invention. More particularly, for example, as shown in
It is understood that the controller 74 includes the circuitry required for implementing the audio and logic functions of the mobile station. For example, the controller may be comprised of a digital signal processor device, a microprocessor device, and various analog to digital converters, digital to analog converters, and other support circuits. The control and signal processing functions of the mobile station are allocated between these devices according to their respective capabilities. The controller thus also includes the functionality to convolutionally encode and interleave message and data prior to modulation and transmission. The controller can additionally include an internal voice coder (VC) 74A, and may include an internal data modem (DM) 74B. Further, the controller may include the functionality to operate one or more software applications, which may be stored in memory.
The mobile station also comprises a user interface including a conventional earphone or speaker 76, a ringer 78, a microphone 80, a display 82, and a user input interface, all of which are coupled to the controller 74. The user input interface, which allows the mobile station to receive data, can comprise any of a number of devices allowing the mobile station to receive data, such as a keypad 84, a touch display (not shown) or other input device. In embodiments including a keypad, the keypad includes the conventional numeric (0-9) and related keys (#, *), and other keys used for operating the mobile station.
The mobile station can also include one or more means for sharing and/or obtaining data from electronic devices, such as another terminal 10, an origin server 22, an AP 30, a digital broadcast receiving terminal 36, a digital broadcaster 32 or the like, in accordance with any of a number of different wireline and/or wireless techniques. For example, the mobile station can include a radio frequency (RF) transceiver 86 and/or an infrared (IR) transceiver 88 such that the mobile station can share and/or obtain data in accordance with radio frequency and/or infrared techniques. Also, for example, the mobile station can include a Bluetooth (BT) transceiver 90 such that the mobile station can share and/or obtain data in accordance with Bluetooth transfer techniques. Although not shown, the mobile station may additionally or alternatively be capable of transmitting and/or receiving data from electronic devices according to a number of different wireline and/or wireless networking techniques, including LAN and/or WLAN techniques. In this regard, as shown in
The mobile station can further include memory, such as a subscriber identity module (SIM) 94, a removable user identity module (R-UIM) or the like, which typically stores information elements related to a mobile subscriber. In addition to the SIM, the mobile station can include other memory. In this regard, the mobile station can include volatile memory 96. Also, the mobile station can include other non-volatile memory 98, which can be embedded and/or may be removable. For example, the other non-volatile memory can comprise embedded or removable multimedia memory cards (MMC's), Memory Sticks manufactured by Sony Corporation, EEPROM, flash memory, hard disk or the like.
The memories 94, 96, 98 can store any of a number of pieces of information, and data, used by the mobile station to implement the functions of the mobile station. For example, the memories can store an identifier, such as an international mobile equipment identification (IMEI) code, international mobile subscriber identification (IMSI) code, mobile station integrated services digital network (MSISDN) code or the like, capable of uniquely identifying the mobile station, such as to the MSC 16. The memories can also store content, such as that received from an origin server 22 and/or a digital broadcast receiving terminal. Also, for example, the memories can store one or more presentation applications such as a conventional text viewer, audio player, video player, multimedia viewer or the like. In addition, as described below, the memories can store a download manager and/or a memory manager capable of controlling storage of content received by the mobile station.
The content sources that are capable of originating content to user terminals may be any device, server, or service provider in any network that is connected to the user terminal. This device or server may be, for example, another user terminal, such as a mobile phone, personal computer, digital camera, digital camcorder, digital music/audio device, etc. This network may be, for example, a peer-to-peer (P2P) network. These devices, servers, and/or service providers may have content agreements and/or downloading applications/means that manage available content.
As explained in the background section, terminals 10 are generally capable of storing only a limited amount of data. And as such, the ability of content sources to deliver a large amount of data at a high bit rate to a terminal can place a heavy storage capacity burden on the terminal. This is especially the case when multiple pieces of content are delivered to the mobile terminal in advance of the scheduled or requested time. Embodiments of the invention are therefore capable of allocating memory for content storage in the terminal. More particularly, embodiments of the invention are capable of storing content as either fixed or replaceable content. Fixed content is typically content that is intended to be currently available for access by the user. Fixed content may be stored in the terminal by the user. For example, the user may take a digital photograph using a digital camera included in the terminal, and store the photograph in the memory of the terminal. The stored photograph would typically be readily accessible by the user. Fixed content may also include content items that are downloaded from a content provider at the scheduled or requested time. Fixed content would typically be visible to the user, via a directory of stored content items.
Replaceable content may be content that is intended to be accessible by the user at a future date or time (this may be termed future content). As discussed in the background, such future content may be content that was requested by the user to be delivered in the future or that was scheduled to be delivered in the near future according to a subscription agreement with a content provider, but was downloaded to the terminal in advance of the requested/scheduled date to take advantage of a high bandwidth and/or low cost network connection. Such future content would typically be released and made accessible to the user (i.e., “published”) by the content provider on the requested/scheduled date. Replaceable content may also be content that the user does not currently have the right to view (this may be termed locked content), and may include, for example, pay-per-view movies. The right to view such content would typically have to be purchased by the user, and the content would then typically be released and made accessible to the user by the content provider. A content provider may desire to download such locked content to a terminal without being certain that the user will purchase the right to view the content in order to enable the content to be immediately accessible to the user once the right to access the content is purchased, rather than having to wait for the content to be downloaded. Such immediate accessibility may increase the likelihood that the user may purchase the right to access the content.
Storing some content, such as future content and locked content, as replaceable content enables a service provider to take advantage of favorable network connections to download content that is not to be viewed by the user until a later date, while not preventing the user from being able to store other content if desired. This is possible because, while replaceable content may be stored in the storage element in the terminal, the replaceable content typically does not reserve memory space in the storage element. Because the replaceable content typically does not reserve memory space, other content items may overwrite the replaceable content if necessary due to insufficient open memory space (i.e., memory space in which no content is stored) to store the other content items. Fixed content may overwrite replaceable content. Additionally, replaceable content may overwrite other replaceable content, as explained below. If replaceable content has been overwritten by other content, the replaceable content will typically be downloaded again when memory space becomes available. Because replaceable content typically does not reserve memory space, the replaceable content stored in the terminal may or may not be visible to the user. For example, future content that is stored as replaceable content would typically not be visible to the user until the content is published. However, locked content that is stored as replaceable content may be visible to the user such that the user can see what content items are available for which the user can purchase the right to view. In some situations there may be replaceable content stored in the terminal that has a small portion (e.g., one segment) that has been overwritten and is therefore not stored in the terminal. Even though such content may have a missing portion, if the missing portion is small enough that the missing portion can be quickly downloaded, the entire content item may appear to the user to be in the terminal and available.
Replaceable content may be recharacterized as fixed content, with such recharacterization typically occurring when the content is published or unlocked by the content provider. Additionally, fixed content may be recharacterized as replaceable content. For example, the user may have downloaded and viewed a movie, but has not decided whether or not to view the movie again. In such a situation, the user could recharacterize the movie as replaceable, such that the movie may be viewed again but also may be overwritten with higher priority content if necessary.
Reference is now drawn to
As shown in
When content items are downloaded to a terminal, metadata is typically included in the content. This metadata may include information to enable the terminal to determine a priority of each content item, as discussed below, such as service provider determined priority, user determined priority, content specific time schedule (e.g., date and/or time), publication date, request date, access right information, and the like. The metadata may be included in a header of a content item or in a separate metadata packet.
Before the processor 107 selects content to download, however, the processor typically determines if sufficient memory space is available in the terminal to store the new content. One known approach to this involves simply determining if the amount of open memory space (i.e., memory space in which no content is stored) is greater than the size of the content to be downloaded. If so, the processor may select and download the content from the content source, and if not the processor would not select and download the content. Another approach is disclosed in U.S. patent application Ser. No. 10/738,836, entitled System and Associated Terminal, Method and Computer Program Product for Controlling Memory for Storage of Content, filed Dec. 16, 2003, the contents of which are incorporated herein in its entirety. In this approach, if sufficient open memory space is not available, one or more items of the already stored content may be deleted from the terminal based on a deletion priority value.
In embodiments of the invention, content items are stored in the storage element as either fixed content or replaceable content as discussed above. When the processor 107 is attempting to determine if sufficient memory space is available to store new content, the processor may consider the status (i.e., fixed or replaceable) of the content already stored in the terminal. The terminal may consider deleting some replaceable content to ensure sufficient memory space for the new content. In this regard, processor 107 may, such as by using memory manager 108, identify the new content item that may be downloaded or otherwise stored on the terminal and determine the memory space required to store the new content item. See block 110 of
If the processor determines in block 116 that there is not sufficient open memory to store the new content, the processor will typically determine if the amount of open memory plus the amount of replaceable memory is together sufficient to store the new content. See block 124. If the combined open memory and replaceable memory is not sufficient to store the new content, then the new content would typically not be selected for download. See block 126. If the combined open memory and replaceable memory is sufficient to store the new content, then it would typically be determined whether some or all of the replaceable content should be deleted to allow some or all of the new content to be stored in the terminal in place of the replaceable content. This determination typically involves comparing a priority of the replaceable content to a priority of the new content. This priority may be based on a number of different factors, such as the type of content (e.g., fixed content would typically have a higher priority than replaceable content, and future content would typically have a higher priority than locked content), the requested/scheduled date of future content (e.g., an earlier requested/scheduled date would typically have a higher priority than a later date), historical usage data (e.g., locked content of a type that the user has previously purchased the right to view would typically have a higher priority date than locked content of a type that the user has never before purchased), user-determined priority (e.g., the type of locked content that the user is more likely to prefer), and content provider-determined priority (e.g., the type of locked content that provides higher profit margins to the content provider). If the combination of the open memory and the replaceable memory with a lower priority than the new content is not sufficient to store the new content, then the new content would typically not be selected for download. See block 130.
If only one content provider is downloading replaceable content, then content provider-determined priority may be readily used. If more than one content provider are downloading replaceable content to a terminal and the content providers use different metadata formats, then the memory manager of the terminal may have difficulty determining the relative priority of the different replaceable content items. In such a situation, the memory manager may need to use user-determined priority. Alternatively, if the different content providers use a standardized metadata format, the priorities of different content items from different content providers may be readily compared.
If the combination of the open memory and the replaceable memory with a lower priority than the new content is sufficient to store the new content, enough of the replaceable content would typically be deleted from the storage element to free up storage space so that, in combination with the open memory, the new content can be downloaded and stored. See block 131. Identifying information for the deleted replaceable content would typically be stored in the storage element to enable the deleted content to be restored when memory space becomes available. See block 131. As discussed above, the new content may be stored as fixed content or replaceable content, depending for example on whether the new content is future content or locked content. See block 132. If the new content is future or locked content, the new content may be stored as replaceable content. See block 136. Otherwise, the new content may be stored as fixed content. See block 134.
As discussed above, identifying information for the deleted replaceable content would typically be stored in the storage element to enable the deleted content to be restored when memory space becomes available. Memory manager 108 of processor 107 would typically repeatedly assess whether memory space is available to restore replaceable content that had previously been deleted to free up space to store new content. The assessment may be performed on a scheduled basis, such as once per hour or twice daily. Alternatively, the assessment may be performed upon the occurrence of an event. For example, the memory manager may perform the assessment every time a content item is deleted from the storage element. Referring now to
Referring now to
Referring now to
If the user of a terminal having storage element 150 as illustrated in
As discussed above and illustrated in
According to one exemplary aspect of the invention, the functions performed by one or more of the entities of the system, such as the terminal 10, may be performed by various means, such as hardware and/or firmware, including those described above, alone and/or under control of a computer program product. The computer program product for performing the methods of embodiments of the invention includes a computer-readable storage medium, such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
In this regard,
Accordingly, steps of the flowchart support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each step of the flowchart, and combinations of steps in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.