System and method for multicasting multimedia content
First Claim
1. An apparatus that transmits content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, the apparatus comprising:
- means for scheduling the assembling of a channel'"'"'s content;
means for assembling the channel'"'"'s content; and
means for multicasting the assembled content of the channel.
13 Assignments
0 Petitions
Accused Products
Abstract
A multicast network system utilizes a high speed link, such as a satellite link, to multicast multimedia information from the Internet to a plurality of receivers, such as personal computers. Information from selected web sites is organized into “channels” and provided to a multicast network for multicast transmission to the receivers. Updated channel information is also periodically provided. The receivers store the received channel such that a user can access the web page content in the channel at hard disk speed. Preferably, a conditional access system ensures that only authorized receivers receive the channels. The present invention also preferably includes a lower speed two-way connection to the Internet (such as dial up modem) which is used to report usage information and/or subscription information back to the web sites. The present invention also provides “seamless” or automatic access to this connection to allow the user to retrieve any information that has not been received and stored. The receiver also manages use of memory space and other applications that may be active on the receiver to ensure that the receipt and processing of the multicast information does not interfere with receiver operation.
-
Citations
86 Claims
-
1. An apparatus that transmits content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, the apparatus comprising:
-
means for scheduling the assembling of a channel'"'"'s content;
means for assembling the channel'"'"'s content; and
means for multicasting the assembled content of the channel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
means for scheduling a configurable number of retransmissions of a channel'"'"'s previously assembled content, wherein said multicasting means fragments into packets and multicasts the channel'"'"'s content according to the schedule;
the means for specifying a transmission rate of a channel'"'"'s content, wherein the packets containing the channel'"'"'s content are multicast at the specified rate;
means for assigning one or more multicast addresses to an announcement transmission, wherein the announcement transmission includes an announcement of an upcoming transmission of a channel'"'"'s content; and
means for multicasting the announcement transmission prior to the multicast of the packets containing the channel'"'"'s content.
-
-
7. The apparatus of claim 1, wherein the means for assembling the channel'"'"'s content further comprises:
-
means for assembling a base package of the channel'"'"'s content, wherein the base package contains each URL data item in the channel; and
means for assembling a delta package of the channel'"'"'s content, wherein the delta package contains URL data items which have changed or are new since the previous assembling of the base package, and wherein said means for assembling a delta package comprises means for difference compressing a subset of the URL data items in a channel'"'"'s content which is present in both the delta package and the previous base package.
-
-
8. The apparatus of claim 1, further comprising:
-
means for assigning one or more multicast addresses to an announcement transmission, wherein the announcement transmission includes an announcement of an upcoming transmission of a channel'"'"'s content; and
means for multicasting the announcement transmission prior to the multicast of the channel'"'"'s content.
-
-
9. An apparatus that transmits content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, the apparatus comprising:
-
means for scheduling the assembling of a channel'"'"'s content;
means for assembling the channel'"'"'s content;
means for compressing a subset of the URL data items, wherein each URL data item is compressed individually independent of other URL data items such that each compressed URL data item can be decompressed without decompressing other URL data items;
means for fragmenting the channel'"'"'s content into packets;
means for multicasting the packets;
wherein said means for assembling the channel'"'"'s content comprises (a) means for assembling a base package of the channel'"'"'s content, wherein the base package contains each URL data item in the channel, and (b) means for assembling a delta package of the channel'"'"'s content, wherein the delta package contains URL data items which have changed or are new since the previous assembling of the base package; and
wherein said means for assembling a delta package comprises means for difference compressing a subset of the URL data items in a channel'"'"'s content which is present in both the delta package and the previous base package. - View Dependent Claims (10, 11, 12, 13, 14)
means for dividing a URL data item in the delta package into sections; and
for each section, means for placing into a compressed version of the URL data item, one of a reference to where that section can be found in the base package, or the section of the URL data item from the delta package.
-
-
13. The apparatus of claim 9, further comprising means for assembling a second delta package which contains a subset of the URL data items which have changed or are new since the assembling of the previous delta package.
-
14. The apparatus of claim 9, further comprising means for encrypting a subset of a channel'"'"'s packets prior to transmission, wherein the encryption means encrypts either all or part of the packet and wherein each channel'"'"'s packets are encrypted with a set of encryption keys which are unique to that channel.
-
15. An apparatus that transmits content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, the apparatus comprising:
-
means for assembling a base package of a channel'"'"'s content, wherein the base package contains each URL data item in the channel;
means for multicasting the base package to a plurality of receivers;
means for assembling a delta package of a channel'"'"'s content, wherein the delta package contains URL data items which have changed or are new since the previous assembling of the base package; and
means for multicasting the delta package to the plurality of receivers, wherein said means for assembling a delta package comprises means for difference compressing a subset of the URL data items that are present in both the delta package and the previous base package. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
means for dividing a URL data item in the delta package into sections; and
for each section, means for placing into a compressed version of the URL data item, one of a reference to where that section can be found in the base package, or the section of URL data item from the delta package.
-
-
25. The apparatus of claim 24, further comprising means for compressing a subset of the previously difference compressed URL data item with a lossless data compression algorithm.
-
26. A method for multicasting content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, the method comprising the steps of:
-
scheduling the assembling of each channel'"'"'s content;
assembling each channel'"'"'s content according to the schedule;
transmitting the assembled content via a multicast network to a plurality of receivers. - View Dependent Claims (27, 28, 29, 30, 31)
scheduling a configurable number of retransmissions of a channel'"'"'s previously assembled content;
fragmenting into packets and transmitting the channel'"'"'s content to the receivers according to the schedule;
specifying a transmission rate of a channel'"'"'s content, wherein the packets containing the channel'"'"'s content are transmitted at the specified rate; and
assigning one or more multicast addresses to an announcement transmission, wherein the announcement transmission includes an announcement of an upcoming transmission of a channel'"'"'s content; and
transmitting the announcement transmission to the receivers prior to transmitting the packets containing the channel'"'"'s content.
-
-
30. The method of claim 26, wherein the step of assembling the channel'"'"'s content further comprises:
-
assembling a base package of the channel'"'"'s content, wherein the base package contains each URL data item in the channel; and
assembling a delta package of the channel'"'"'s content, wherein the delta package contains URL data items which have changed or are new since the previous assembling of the base package, and wherein said step of assembling a delta package comprises the step of difference compressing a subset of the URL data items which are present in both the delta package and the previous base package.
-
-
31. The method of claim 26, further comprising the steps of:
-
assigning one or more multicast addresses to an announcement transmission, wherein the announcement transmission includes an announcement of an upcoming transmission of a channel'"'"'s content; and
transmitting the announcement transmission to the receivers prior to transmitting the channel'"'"'s content.
-
-
32. A method for transmitting content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, the method comprising the steps of:
-
scheduling the assembling of a channel'"'"'s content;
assembling the channel'"'"'s content according to the schedule;
compressing a subset of the URL data items, wherein each URL data item is compressed individually independent of other URL data items such that each compressed URL data item can be decompressed without decompressing other URL data items;
fragmenting the channel'"'"'s content into packets;
multicasting the packets via a multicast network to a plurality of receivers;
wherein the step of assembling the channel'"'"'s content comprises (a) assembling a base package of the channel'"'"'s content, wherein the base package contains each URL data item in the channel, and (b) assembling a delta package of the channel'"'"'s content, wherein the delta package contains URL data items which have changed or are new since the previous assembling of the base package, and wherein said step of assembling the delta package comprises the step of difference compressing a subset of the URL data items in a channel'"'"'s content which is present in both the delta package and the previous base package. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
assembling a base package of the channel'"'"'s content, wherein the base package contains each URL data item in the channel; and
assembling a delta package of the channel'"'"'s content, wherein the delta package contains URL data items which have changed or are new since the previous assembling of the base package.
-
-
35. The method of claim 34, wherein the step of scheduling the assembling of the channel'"'"'s content comprises scheduling the assembling of the base package and scheduling the assembling the delta package.
-
36. The method of claim 32, wherein the step of difference compressing further comprises the steps of:
-
dividing a URL data item in the delta package into sections; and
for each section, placing into a compressed version of the URL data item, one of a reference to where that section of content can be found in the base package, or the section of the URL data item from the delta package.
-
-
37. The method of claim 36, wherein the reference to where the section of URL data item can be found in the base package is an offset from a beginning of the URL to a first byte and an offset to a last byte being referenced.
-
38. The method of claim 32, further comprising the step of assembling a second delta package which contains a URL data item which has changed since the assembling of the previous delta package.
-
39. The method of claim 32, further comprising the step of encrypting a subset of a channel'"'"'s packets prior to transmission, wherein either all or part of the packet are encrypted and wherein each channel'"'"'s packets are encrypted with a set of encryption keys which are unique to that channel.
-
40. A method for transmitting content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, the system comprising:
-
assembling a base package of a channel'"'"'s content, wherein the base package contains each URL data item in the channel;
multicasting the base package to a plurality of receivers;
assembling a delta package of a channel'"'"'s content, wherein the delta package contains URL data items which have changed or are new since the previous assembling of the base package; and
multicasting the delta package to the plurality of receivers, wherein said step of assembling a delta package comprises difference compressing a subset of the URL data items which are present in both the delta package and the previous base package. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49)
dividing a URL data item in the delta package into sections; and
for each section, placing into a compressed version of the URL data item, one of a reference to where that section can be found in the base package, or the section of the URL data item from the delta package.
-
-
47. The method of claim 46, wherein the reference to where the section of URL data item can be found in the base package is an offset from a beginning of the URL to a first byte and an offset to a last byte being referenced.
-
48. The method of claim 46, further comprising compressing a subset of the previously difference compressed URL data items with a lossless data compression algorithm.
-
49. The method of claim 40, further comprising the step of assembling a second delta package that contains URL data items that have changed since the assembling of the previous delta package.
-
50. A receiver for receiving from a multicast network content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, and wherein the multicast network transmits the channel'"'"'s content to the receiver in packets, the receiver comprising:
-
means for determining a multicast address used to carry a channel'"'"'s packets;
means for enabling reception of packets containing a channel'"'"'s multicast address;
means for receiving the packets containing a channel'"'"'s multicast address;
means for assembling the received packets into a channel'"'"'s content;
means for storing the channel'"'"'s content as one file or a number of files less than the total number of URL data items in the channel; and
means for allowing a user to access the stored channel'"'"'s content. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74)
means for determining when a URL data item requested to be accessed by the user is not present within the stored channel content, means for notifying the user that the requested URL data item is not present within the stored channel content, and means for allowing the user to access the non-present URL data item via a connection to a TCP/IP network.
-
-
68. The receiver of claim 67, wherein the TCP/IP network comprises the Internet.
-
69. The receiver of claim 68, wherein the multicast network is a geosynchronous satellite broadcast system and wherein the connection to the Internet is a dial-up modem.
-
70. The receiver of claim 67, further comprising means for soliciting the user whether to access the non-present URL data item via the connection to the TCP/IP network.
-
71. The receiver of claim 50, further comprising means for tracking each time the user accesses URL data items in the stored channel content.
-
72. The receiver of claim 71, further comprising means for reporting the tracked user accesses to a web site from which the accessed URL data items were assembled.
-
73. The receiver of claim 50, wherein the packet receiving means monitors receiver activity and selectively receives packets based on the monitored activity.
-
74. The receiver of claim 50, further comprising means for soliciting the user to determine when packets should be received and wherein the packet receiving means selectively receives packets based on user preferences.
-
75. A receiver for receiving from a multicast network content organized into channels, wherein a channel'"'"'s content includes a plurality of URL data items and each URL data item is addressed by a URL, and wherein the multicast network transmits the channel'"'"'s content to the receiver in packets, the receiver comprising:
-
means for determining a multicast address used to carry a channel'"'"'s packets;
means for enabling reception of packets containing a channel'"'"'s multicast address;
means for receiving the packets containing a channel'"'"'s multicast address;
means for assembling the received packets into a channel'"'"'s content;
means for storing the channel'"'"'s content as one file or a number of files less than the total number of URL data items in the channel;
means for allowing a user to access the stored channel'"'"'s content; and
means for individually decompressing each compressed URL data item in the stored channel content at a time when the user accesses the URL data item. - View Dependent Claims (76, 77, 78, 79, 80)
-
-
81. A receiver in a multicast system, comprising:
-
a package receiver for receiving packets containing URL data items from a multicast network and assembling the received packets into a channel, wherein the channel comprises a set of URL data items;
a memory for storing the channel as one file or a number of files less than the total number of URL data items in the channel; and
a content viewer for allowing a user to request access to and access the URL data items in the stored channel. - View Dependent Claims (82, 83, 84, 85, 86)
-
Specification