Regulation 3.2 AUSTRALIA PATENTS ACT, 1990 COMPLETE SPECIFICATION FOR AN INNOVATION PATENT ORIGINAL Name of Applicant: ICETV PTY LIMITED Actual Inventors: DRYSDALE, Daniel Address for service AJ PARK, Level 11, 60 Marcus Clarke Street, Canberra ACT in Australia: 2601, Australia Invention Title: Remote Content Download The following statement is a full description of this invention, including the best method of performing it known to rr " 1 flnt 2 Title Remote Content Download Technical Field 5 The invention concerns remote download of digital content, in particular a method of facilitating remote content download and the delivery of content via interactive "widgets". Background Art Digital televisions (and set top boxes) receive programs for storage and display. 10 They also have programmable functionality to allow, for instance, the viewer to select programs from a TV Guide to be recorded upon transmission for viewing later. The user's instructions are uploaded and stored on a remote server from where they are implemented automatically at transmission time. Summary of the Invention 15 In a first aspect, there is provided a method of facilitating remote content download, the method being performed by a server in communication with a plurality of requesting devices and recipient devices over a telecommunications network, the method comprising: (a)receiving, from a user via a requesting device, a request to 20 download a digital content file from an address; (b) determining a recipient device onto which the digital content file is to be downloaded, the recipient device being operable to connect to the server at predetermined intervals for download instructions; and 25 (c)when connection from the determined recipient device is detected, automatically sending a download instruction to the recipient device, the instruction causing the recipient device to download the digital content file from the address. Advantageously, remote content download provides users with more flexibility to 30 choose when and where they want to watch digital content, and to schedule 3 downloads remotely. Content providers can also use the service to expand the size of their target audience. The recipient device or requesting device may be an IP enabled (networked) digital television; a set-top box, media centre or personal video recorder 5 associated with a television; a portable media device; or a mobile telephone. The method may further comprise analysing digital content files downloaded by the user to recommend other digital content files for download. Step (b) may further comprise retrieving a list of recipient devices associated with the user, and selecting a recipient device from the list based on the user's 10 input. The method may further comprise receiving status information on the download from the recipient device after step (c), and allowing user access the received status information. Further, the method may comprise, before step (c), determining whether the 15 digital content file is from an authorised source based on the address. The method may further comprise automatically storing the address as an authorised source if download is successful. The request to download in step (a) may be received when the user clicks on a link associated with the digital content file on a website. 20 In a second aspect, there is provided a server operable to perform the method of facilitating remote content download. Client side (Widget on Recipient Device) In a third aspect, there is provided an interactive "widget" on a user's recipient device, wherein the "widget" is operable to perform the following steps: 25 automatically connecting to a remote server at predetermined intervals to receive download instructions; and 4 when a download instruction is received, downloading a digital content file from an address specified by the received instruction. The "widget" may be further operable to send status information of the download instruction whenever there is a status change. 5 Client side (Widget on Requestinq Device) In a fourth aspect, there is provided an interactive "widget" on a user's requesting device, wherein the "widget" is operable to perform the following steps: displaying a list of digital content files that are selectable for download; 10 and when a link associated with a digital content file is clicked, automatically sending, to a remote server, a request to have the selected digital content file downloaded from an address onto a recipient device. In a fifth aspect, there is provided a computer program to implement the 15 interactive "widget" described. In the context of graphical user interfaces "widgets" or "gadgets" are understood to be a combination of a graphic symbol and some program code to perform a specific function when the symbol is selected. A simple example might be an active button such as a scroll bar in an application. More recently, stand alone 20 "widgets", not presented as part of an application, have become popular. In fact libraries of more complex stand alone "widgets", having a larger appearance and more functionality, are readily available. In this specification the term "widget" is to be understood in a broad sense to cover both stand alone functionality as well as functionality provided within an application such as a browser. 25 In a further aspect, there is provided an interactive "widget" for display on a user's digital television, computer or mobile device, wherein: The "widget" displays a copy of an electronic TV guide held on a remote server.
5 The displayed TV guide includes an indication for each program scheduled by the user to be recorded by a selected digital television. The "widget" is operable by the user to select or de-select any program for recording. 5 The "widget" automatically connects to the remote server at predetermined intervals to upload new selections and download an updated TV guide. The "widget" is therefore in interactive communication with the server and provides an updated display of the TV guide and selections held at the server in 10 near real time. The "widget" may appear as a separate active icon on the screen or as part of another program such as a browser window. The "widget" functions as a local extension of the remote server providing as much of the functionality of the server to the user as required. The predetermined intervals for automatic connection may be set to provide timely 15 updated information to the user, while at the same time keeping server traffic to manageable levels. For instance the period each "widget" is set to take between automatically connecting may be 5, 10 or 15 minutes. Alternatively, the intervals may be dynamically adjusted depending on server traffic. The intervals may also be set based on a class the user belongs to. For 20 example, premium users may be given priority over users who pay less for the service. The "widget" may be hosted on the user's digital television or set top box, on a computer or on a mobile device such as a phone. The user may arrange for the "widget" to be available on whatever selection of devices is most convenient. 25 The "widget" may communicate via these devices to the server using any convenient network, such as the program distribution network, the Internet or a mobile communications network. When a program that is selected for recording is transmitted, the selected digital television may automatically record the program under instruction from 30 the server. The server may extract these instructions from the selections for each user that it has recorded.
6 The "widget" may have additional functionality that will be described in more detail below: The "widget" may display the TV guide in a "Now and next" style format. In this format, a list of TV stations is presented vertically, with a selected number of 5 programs listed next to each station. Throughout the entire "widget", any programs or series that are selected for recording may be identified by some visual mark. The user's selected "favourite" programs and series may also be identified by a different visual mark. The "widget" may provide a view in which only upcoming 10 favourite programs are shown. The TV guide may be searchable with a "live" search that searches as a user types. Clicking on any program name displayed on the "widget" may open a sheet that shows more details and recording options for the program. 15 A "Most Popular" section may list the programs that have been selected for recording by the most users. This information can be easily assembled since all the users data is stored on a central server. It can conveniently be used to construct ratings. The settings on the "widget" may be displayed by clicking a button on the main 20 window. For instance, the settings may allow the user to turn channels on or off, in which case they are not visible. Visible channels may also be ordered in any desired order by the user. In a further aspect, there is provided a method of providing an interactive "widget" for display on a user's digital television, computer or mobile device, 25 the method comprising: receiving an electronic TV guide from a remote server; displaying the received TV guide, wherein the displayed TV guide includes an indication for each program scheduled by the user to be recorded by a selected digital television; 7 receiving the user's selection of any program for recording; and automatically connecting to the remote server at predetermined intervals to upload new selections and to download an updated TV guide. In yet a further aspect, there is provided a computer program to implement the 5 interactive "widget". Brief Description of the Drawings By way of non-limiting examples, the invention will now be described with reference to the accompanying drawings, in which: Fig. 1 is a block diagram of digital television system incorporating the 10 invention. Fig. 2 is a screenshot of a "widget" showing a listing of TV stations. Fig. 3 is another screenshot of the listing showing the search functionality. Fig. 4 is a screenshot showing program details. 15 Fig. 5 is a screenshot showing more options of the program details. Fig. 6 is screenshot showing upcoming shows. Fig. 7 is a screenshot showing program selections that can be managed. Fig. 8 is a screenshot showing the most popular selections. Fig. 9 is a screenshot showing the visible channels. 20 Fig. 10 is a block diagram of an exemplary system to facilitate remote content download. Fig. 11 is a screenshot showing a list of digital content files is selectable for download on a requesting device. Fig. 12 is a flowchart showing steps performed by a server to facilitate 25 remote content download.
8 Best Modes of the Invention Referring first to Fig. 1, the system 10 comprises a server 12 including a digital television transmitter, and a memory to store an electronic TV guide. A digital television 14 receives and displays digital television programs. Program 5 transmission could take place by radio transmission, or via cable or optical fibre. The digital television 14 is also able to record television programs for viewing later. It will be readily appreciated that a digital television can include a stand-alone IP enabled (networked) digital television, or a television with a device that is 10 capable of recording video in a digital format to a memory, such as a digital set top box, a digital video recorder (DVR), a personal video recorder (PVR), media centre software and a general purpose computer with a digital television tuner. The server 12 includes a memory 16 in which an electronic TV guide is stored. This TV guide is personalised for each user based on each user's selections and 15 settings which are stored on the server 12 together with the guide. The users each communicate with the TV guide by use of a "widget" 20 that might be displayed on their digital television 14, on a computer 17 or on a mobile device such as a phone 18. The user may arrange for the "widget" to be available on whatever selection of 20 devices is most convenient. The "widget" may communicate via these devices to the server 12 using any convenient network 19, such as the program distribution network, the Internet or a mobile communications network. When the user activates the "widget" 20 it displays the TV guide in a "Now and Next" format as shown in Fig. 2. In this format a list of TV stations is presented 25 vertically 22, each with three programs listed next to each station 24 and the play times of those programs 26. Throughout the entire "widget", any programs the user has scheduled to record are denoted in the TV guide with a coloured dot. A program that is scheduled to be recorded is automatically recorded by the digital television at the time of 30 transmission under instruction from the server 12. The server retrieves these instructions from memory 16 at the time of transmission.
9 Series can be scheduled to be recorded, in which case every episode is automatically recorded at their times of transmission. Each episode of a series that is selected to be recorded is denoted in the TV guide with repeating coloured dots 28. In Fig. 2, two series are denoted in this way "Heroes" and 5 "Veronica Mars". The series "Law and Order" is denoted by a series of differently coloured dots 30 to be one of the user's "favourites", and here to dots serve to notify the user of shows in this series but they are not automatically recorded. The server 12 maintains a complete list of each user's entire schedule in 10 memory 16. Each user may search the TV guide, or their own schedule, using a "live" search, that searches as you type, as shown in Fig. 3. The typed "h" has returned "Heroes episode". Clicking on any program name anywhere in the "widget" may open a sheet that shows more details and recording options for the program; as shown in Fig. 4. 15 Here, clicking on "Buffy" in Fig. 3 has resulted in the display of more information about this show. Clicking again presents more options, as shown in Fig. 5. As shown, the TV guide is composed of an extensible set of metadata related to broadcast television programs. Examples include title, episode number, series ID, television channel, start time, duration, description, rating, 20 genre, actors and director. The set of metadata can be extended in real time. Anything that has been set to record or is a Favourite will appear in a screen entitled "My Upcoming Shows", as shown in Fig. 6. Users make use of the "Manage My Guide" screen, see Fig. 7, to manage their selections. The Manage My Guide screen lists all the programs that are set as a 25 Series Record or Favourite. This screen is where recording and favourite selections can be deleted. A "Most Popular" screen may list the programs that have been scheduled to record by the most users, see Fig. 8. This information can be easily assembled since all the users data is stored on a central server. Like any other place where 30 a program name appears, the name can be clicked to reveal an information sheet, or a sheet where the program can be scheduled to record, or both.
10 The settings on the "widget" may be opened by clicking the "i" button on the top right of the screen, see Fig. 9. For instance, the settings may allow the user to turn channels on or off, in which case they are not visible. Visible channels can also be ordered by the user. 5 Electronic Program Guide Update Protocol There is regular interaction between the "widget" and the server as it is necessary to ensure that the view presented to the user is kept up to date. The "widget" automatically connects to the server every 5 minutes. The "widget" requests electronic program guide data from the server and displays it in a list 10 view, it also requests data about the user's favourite shows, currently scheduled recordings and series that the user has nominated to record. The "widget" also provides details of its last update, and the server will compile and send an electronic program guide extract that includes changes that have occurred since the last update. 15 All this information is combined to provide a series of "screens" that allow the user to browse and search the guide, schedule and cancel recordings, and flag series as favourites. The top ten popular shows are also available to browse, and the user can schedule recordings and set favourites from that screen as well. 20 The API for the "widget" specifies the interface from the "widget" to the server. A set of typical functions available through the API are GetTempToken GetAuthToken GetChannelList 25 GetDeviceList GetDeviceTypeList AddDevice DeleteDevice GetRegionList 30 GetRegion SetRegion GetEpg GetSeriesRecordingList AddSeriesRecording 11 DeleteSeriesRecording UpdateSeriesRecording GetSeriesRecordingEpisodeList CancelSeriesRecordingEpisode 5 ScheduleSeriesRecordingEpisode GetScheduledRecordingsAndFavoritesList GetSingleRecordingList AddSingleRecording DeleteSingleRecording 10 GetFavoriteList AddFavorite DeleteFavorite Remote Recordinci Protocol Using the interface shown in Fig. 2, a user can select a single program or an 15 entire series for recording on a digital television 14. A recording record will then be automatically created in the memory 16 at the server 12 to instruct the digital television 14 to record the selected program or series. The recording record identifies one or more of: the user, the digital television 14 to perform recording, the selected program or series, the channel, date and 20 time the selected program or series is broadcasted. If a series is selected for recording, multiple recording records will be created in the memory 16 - each record corresponding to an episode in that series. The digital television 14 periodically "calls" or connects to the server 12 for record instructions. Whenever there is a new or updated record instruction, the 25 server 12 will send the instruction to the digital television 14. The digital television 14 will process the record instruction and send status information to the server whenever the state of the recording changes. The statuses include Pending, Running, Complete or Failed. The received status information is compiled by the server 12 for the user's 30 access using the "widget". The user can cancel a scheduled recording via the website at any time. The user can also select to have status information automatically sent to them.
12 Remote Content Download Protocol Apart from recording live broadcast television programs, the server 12 also facilitates remote content download for a user to remotely download other types of digital content onto a compatible recipient device. For example, a user 5 can select a digital content file to be downloaded onto their digital television during the day for viewing after work. Advantageously, this provides users with more flexibility to choose when and where they want to watch digital content, and to schedule downloads remotely. Content providers can also use the service to expand the size of their target audience. 10 Referring now to Fig. 10, digital content files 52 are stored on a remote storage 50. The remote storage 50 is in communication with the server 12 and the digital television 14 via the Internet 19. A user uses a requesting device to select a digital content file 52 to be downloaded onto a recipient device. In one embodiment, a requesting device is a computer 17 or mobile device 18 15 while the recipient device is a digital television 14 that may be IP enabled (networked) digital television or a standard television associated with a digital set-top box, a personal video recorder or a media centre. In other embodiments, the digital television 14, the computer 17 or the mobile device 18 can operate as either the requesting device or the recipient device. Other 20 portable media devices and mobile telephone devices that could operate as either the requesting device or the recipient device include devices that run operating systems such as Apple iOS, Android, Google TV, Google Chrome and Windows Mobile. An exemplary interface 51 to select a digital content file 52 on a requesting 25 device is shown in Fig. 11. The interface can be provided on an interactive "widget" 20 or a web browser. Each digital content file 52 is selectable using a "link" 54 that, when clicked, automatically sends a download request that includes an address of the selected file 52 to the server 12. Generally, the address is in the form of a uniform resource locator (URL) that identifies the 30 remote storage 50 and the filename of the selected digital content file 52. Multiple files 52 can also be selected for download using an "add to list" feature 56.
13 Referring now to the flowchart in Fig. 12, the server 12 first receives, from a user via a requesting device, a download request that specifies the address of the selected digital content file; step 82. If the user of the requesting device is not authenticated, the server 12 will first request the user to log in. This 5 involves checking whether the requesting device has a valid "cookie" to access the server. Based on the received address, the server 12 then determines whether the selected digital content file 52 is from an authorised source; step 84. This involves determining whether the remote storage 50 on which the file 52 is 10 stored, or its provider, is on a list of authorised sources. If determination is not in the affirmative, the user will be prompted to authorise the download. The list is automatically generated based on past successful downloads, and can be customised by the user at any time. Advantageously, only digital content files 52 from authorised sources will be downloaded. 15 Next, the user will be asked to select a recipient device of the digital content file 52 if more than one recipient device is listed under the user's account; step 86. The server 12 then proceeds to generate a download instruction in the memory 16, the instruction identifying the selected recipient device and digital content file 52 to be downloaded. The user is then presented with a page that signifies 20 successful completion. The download instruction will cause the selected digital content file 52 to be downloaded on the recipient device; step 88. This involves the server 12 automatically sending the download instruction when the recipient device "calls" or connects to the server 12. Upon receiving the download instruction, the 25 recipient device will download the digital content from the address specified in the download instruction. The timing of the delivery of download instruction to the recipient device may also depend on a user-defined deadline and the class of the user. For example, premium users will be given priority over standard users. 30 The server 12 is also operable to analyse a user's viewing habit based on past content download to recommend content to the user. Recommendations are provided via a "Virtual Channel" feature 58 on the interface in Fig. 11. The user can then request remote content download in the manner described above.
14 The recipient device then sends status information on the download to the server 17 whenever there is a status change, which includes Pending, Complete or Failed. It will be readily appreciated that the term "download" here refers to transfer of 5 the digital content file 52, or part of the file at a time, from the storage to the recipient device to allow viewing of the file on a television. The file, or part of the file, may be stored on the recipient device either permanently or temporarily. Although the invention has been described with reference to a particular 10 example, it should be appreciated that it could be exemplified in many other forms and in combination with other features not mentioned above. For instance, it is possible for the user to modify the state of their recordings and favourites via the Internet using "widget" functionality embedded in a interactive television, browser, or through interacting with their PVR. Also, more 15 features can be added as time goes on.