1. Field of the Invention
The present invention relates to media file distribution, and, more particularly, to a media file distribution system with adaptive transmission protocols in a networked client/server environment which provides automated, highly compressed, user-selectable media file distribution. Particular utility of the present invention is in less-than real-time server-client audio/video file distribution over conventional networks; although the present invention has equal utility in still image and/or high-resolution image file data distribution (e.g., x-ray, MRI, etc.).
2. Description of Related Art
Multimedia file distribution systems, which include distribution of audio and/or video information, are well known in the art. Examples include video-on-demand systems and network-based real-time streaming video systems and methodologies. Recent developments in high-speed network communications (e.g., ISDN, DSL, cable modems, etc.) have permitted the development of real-time streaming video data distribution in a client/server environment. Such systems typically employ extensive video file server systems that can transmit streaming video file data directly to a user's television set or PC (via, for example, Internet communications protocols (e.g., TCP/IP connections based on HTTP or FTP file transfer protocols). These systems typically transmit a separate copy of the streaming video file to each receiver. This uses additional network bandwidth for each additional receiver. This can quickly lead to saturated networks, degrading the quality of the streaming video received, as well as impacting other users and uses of the network. Examples of such file distribution systems are described in U.S. Pat. Nos. 5,132,992; 5,253,275; and 5,550,863 issued to Yurt et al., and hereby incorporated by reference.
Conventional file transfer techniques use either the Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) for the transmission of the data. These two protocols are part of the standard TCP/IP protocol suite. TCP is a connection-based protocol, meaning that there is a logical connection opened between the two systems involved in the transfer. Because of the connection, and the TCP protocol process, this connection is a “reliable connection.” This means that packets are guaranteed to be received, intact and in order, or the connection is broken. Examples of common use of TCP would be browsing on the World Wide Web, File Transfer Protocol, sending and reading email, etc.
UDP is a connectionless protocol, meaning that there is no open connection as you would find in a TCP session. Packets are transmitted by the sender and addressed to the receiver. UDP is not a “Reliable protocol”. Packets in a UDP session, may be received out of sequence and may even be lost. Applications must either accept this loss, or implement some other means for ensuring reliability. Examples of common use of UDP would be Domain Name Service queries, RealAudio/RealVideo, network management functions, etc. Both TCP and UDP are designed for use between two systems. UDP can also be used for “Broadcast”. Broadcast packets are limited to a single Local Area Network (LAN), and so will not cross any routers connected to that LAN.
Current development in the area of IP Multicasting are improving the art in areas such as reliability, performance, session management, network management, statistical research, router management, routing protocols, and other areas required for the smooth operation of IP Multicasting on public networks (e.g., The Internet). However, this art has not overcome the aforementioned problems: either the bandwidth requirements for multiple client access are too large, or the transmission protocol becomes unreliable. Moreover, the prior art is incapable of providing a system which can analyze client transmission demands and adaptively adjust the transmission protocols to most effectively accommodate a plurality of users.
Accordingly, the present invention solves the aforementioned drawbacks of the prior art by providing a server/client media file distribution system in which the server system is adapted to receive transmission requests from clients. The server also receives status information from a network, and protocol information from each client. The server, based upon this information, adaptively transmits a given media file stored therein to one or more clients using the optimal transmission speed and/or network protocol based on the network status information and protocol information.
In the preferred system, the present invention provides a media file distribution system having a file distribution server system comprising a media file archive database in communication with one or more users over a network, said media file archive comprising one or more precompressed and pre-encrypted media data files, said server being for receiving one or more transmission requests for a selected media file from a plurality of users, the improvement comprising a file distribution system being adapted to receive a plurality of said transmission requests from a plurality of users, the transmission protocols of said plurality of said users and status information from said network and optimally simultaneously transmit said media file to each user based on said transmission protocols and said status information.
Additionally, the present invention provides a looping file arrangement in which a plurality of clients can receive the same media file on multiple network channels, without the need to provide multiple copies of the same media file for each request of that file. Also, the present invention provides multiple-level encryption technology that permits the server system to fully control both access and use of a given media file.
It will be appreciated by those skilled in the art that although the following Detailed Description will proceed with reference being made to preferred embodiments and methods of use, the present invention is not intended to be limited to these preferred embodiments and methods of use. Rather, the present invention is of broad scope and is intended to be limited as only set forth in the accompanying claims.
Other features and advantages of the present invention will become apparent as the following Detailed Description proceeds, and upon reference to the Drawings, wherein like numerals depict like parts, and wherein:
It will be appreciated by those skilled in the art that although the following Detailed Description will proceed with reference being made to preferred embodiments, the present invention is not intended to be limited to these embodiments. For example, it should be understood from the outset that although preferably the functional components of the preferred embodiments of the system of the present invention are embodied as one or more distributed computer program processes running on one or more conventional general purpose computers (e.g., IBM-compatible, Apple MacIntosh, and/or RISC microprocessor-based computers), conventional telecommunications (e.g., modem and/or ISDN means), networked together by conventional network hardware and software, other types of computers and network resources may be used without departing from the present invention. It should also be understood that the media file playback devices herein described can be embodied in various hardware forms, including: RAM/ROM drives, removable and/or permanent disk drives (including, but not limited to, hard disk drives, Jazz drives, and/or other removable media known in the art). Furthermore, it should be appreciated from the outset that one or more of the functional components may alternatively be constructed out of custom, dedicated electronic hardware and/or software, without departing from the present invention. Thus, the present invention is intended to cover all such alternatives, modifications, and equivalents as may be included within the spirit and broad scope of the invention as defined only by the hereinafter appended claims.
Additionally, as used herein, the term “Unicast” describes a file transfer session between a single server and a single client receiver, using either TCP or UDP. The term “Multicast” (or more specifically “IP Multicast”) describes a file transfer session between a single server and a plurality of client receivers. Because of the additional clients, all Multicast sessions must be based on the UDP protocol as the TCP protocol specification does not allow for more than two endpoints for the connection.
It should be understood at the outset that the present invention advantageously utilizes storage and transmission of precompressed and pre-encrypted file data (hereinafter referred to as “media file archive”), thereby eliminating the need for extensive processing power required for “on-the-fly” compression and encryption of media file data. This advantage is especially useful for full-length video files which, along with a soundtrack, would require massive amounts of storage to hold in an uncompressed form. In addition, by providing an array of media files in precompressed format, the present invention is adapted to permit multiple, simultaneous download of a single media file, as will be described below. In addition, the preferred system of the present invention incorporates pre-encrypted media file data stored in the media file database. The encryption/de-encryption process (digital copy protection), described more fully below, preferably includes conventional and/or proprietary encryption algorithms that require users to obtain a valid decryption key for a given media file transmitted.
As shown in
Turning to
Although optional, nearly all media files will be compressed. The compressed file is then preferably processed to add a digital watermark 32A. Not all files will require watermarking, and in fact some files must not be watermarked. In these cases, the watermark process is bypassed. The watermark, if applied, provides source identification used to identify the file later. Further processing provides digital protection of the media file by encrypting it using strong encryption algorithms 46 such as CAST-128, IDEA, Triple-DES, or other high-grade encryption technology. Not all, but most media files will require encryption. The resulting media file archive 26, which has been optionally compressed, watermarked, and encrypted, is stored in the media file database 18 associated with a collection of media file distribution servers 12.
Also shown on
Also shown on
The encryption module 46 processes the media file by generating a random key which becomes the master key for the file. This master key is saved in a key database (not shown). For each block, a new random frame key is generated. This key is combined with the master key and the resulting key used to encrypt the payload of the frame. The frame key is saved in the frame header. This information will be used later to decrypt the data payload, a process described below with reference to
The requests are processed and passed to the protocol control module 38 for further processing in preparation for transmission. The protocol control module preferably passes the request to the multicast protocol processor 40, which attempts to establish a multicast pathway between the customer system 14 and the media file server 12. If a multicast connection cannot be established, for whatever reason (e.g., lack of multicast support by the Internet Service Provider used by the customer system 14 to connect to the Internet), the protocol control module will pass the request to the unicast protocol processor 42 for establishment of a connection using the User Datagram Protocol (UDP), which is part of the standard TCP/IP network support.
Once the data connection is established, whether by multicast or unicast, the appropriate protocol processing module requests packets of information from the packet assembly module 44. The information necessary to assemble the packets for transmission is retrieved from the appropriate section of media file database 18. Further clarification of this process is provided below with reference to
Referring to
Referring to
Once the channel is opened, data packets for the event are assembled by the packet assembly module 44, which is sent to the multicast protocol module 40 and unicast protocol module 42 for transmission on active channels for that event. For efficiency, the same packets are used for transmitting to all open channels for the event, whether they are multicast or unicast channels.
The same data stream is received by all client systems 14 actively receiving the event. Each client system will have started receiving the event data at a different point in data stream. The event data stream continues to be transmitted until the end of the event is reached 66. At this time, the event data stream is restarted from the beginning 62. Client systems continue to receive the event data until they have received the entire event 64. As each client completes the event, these clients systems notify the appropriate protocol module of the change in status 65. The “Loop” continues until all active client systems have completely received the event data. When there are no active clients monitoring a channel, the event data transmission is stopped and the channel is closed.
Referring to
The difference between conventional network data transmission and that provided by the present invention is shown pictorially in
Turning now to
System 24′ includes a network interface 70 (e.g., modem, etc.) permitting two-way communication between the user of system 24′ and server 12, via network 16. A user interface 80 is provided to permit communication between the system 24′ and a user. For example, user interface 80 can include a remote controlled interface that is displayed in a menu format (using display 84) whereby a user can chose among various options. In addition to, or alternatively, the remote controlled user interface 80 can include an input device (e.g. keyboard, etc.) to permit a user to enter commands to system 24′. The user interface is described more fully below in reference to
Upon the appropriate command from user, the media file temporarily residing in temporary storage 72 is accessed to be played. Upon such commands, the media file is sent to decompression and de-encryption 74 to decompress and/or de-encrypt the media file. Decompression and de-encryption includes appropriate hardware/software to achieve the stated functionality. Of course, decompression hardware and software are adapted to decompress a given media file in accordance with the pre-compressed media file, or to decompress the media file in accordance with compression and encryption 46 performed on the server side. To that end, the media file, as sent by the server system, may also include appropriate plug-in modules or CODECS, which may include one or more self-executing structured files, for a given compression/decompression scheme. In addition to media file selection performed by the user, the system 24′ of the present invention also preferably includes means to generate a unique passwordable encryption information. This information can include a user-supplied password, or, alternatively, may include a serial number automatically generated by system 24′. The encryption information is forwarded to the server along with the media file request commands, and the server encrypts the file accordingly, using, for example, public-key or other encryption technology. Using the information generated by the system 24′ and the server, the media file is de-encrypted.
As noted above, media file preferably includes time stamp data. This information is used both as a temporal marker for transmission purposes on the server side (discussed above), and as a time limiting marker associated with the media file. Once the media file is decompressed and/or de-encrypted, the file is sent to a copy protection generator 76. Preferably, copy protection generator 76 is a digital signal processing that encodes the media file with analog copy protection. Analog copy protection includes coding that is generated within the data file that inhibits the file from being transferred to another medium, for example, video cassette, by ensuring that any such copy is significantly degraded in quality. Copy protection hardware, such as provided by Macrovision®, include appropriate coding for a given media file type to be displayed in a preselected format (e.g., VGA, HDTV format, NTSC format, etc.). Preferably, copy protection 76 also includes the ability to add time limiting data that limits the viewable lifespan of the media file. Thus, for example, using the time stamp data generated by server, the copy protection generator can incorporate time limiting data, for example, 24 hours, into the media file, after which the media file is erased from the system 24′. Alternatively, copy protection generator 76 can include an automatic erase mechanism that erases the file as it is being viewed.
Once copy protection has been incorporated into the media file, the file is sent through a D/A converter 78 to convert the file into the appropriate output, e.g., HDTV, NTSC, VGA, etc., and is sent to a display 84, via display interface 82. Display 84 can include an analog display that is adapted to play the particular media file (e.g., HDTV, NTSC, PAL, etc.). Display interface 82 includes one or more interface jacks 82A . . . 82D for connection to a particular display 84. For example, jacks 82A . . . 82D can include an RCA jack, an input jack, a video out jack, etc. In addition, the media file may also include sound data (e.g., soundtrack data). Thus, interface 82 may further include sound output jacks (which may also include appropriate interfaces for Dolby™ Surround Sound connections, as are known in the art).
In the system 24′″ depicted in
Referring now to
Thus, it is evident that there has been provided a media file distribution system having adaptive transmission protocols that satisfies the aims and objectives set forth herein. Accordingly, the present invention is intended to be of broad scope, and only limited by the appended claims.
The present invention is a continuation-in-part of patent application Ser. No. 08/956,743 filed Oct. 24, 1997 now U.S. Pat. No. 6,370,139 and assigned to the same assignee.
Number | Name | Date | Kind |
---|---|---|---|
3599178 | Jackson et al. | Aug 1971 | A |
3746780 | Stetten et al. | Jul 1973 | A |
4009344 | Flemming | Feb 1977 | A |
4009346 | Parker et al. | Feb 1977 | A |
4028733 | Ulicki | Jun 1977 | A |
4062043 | Zeidler et al. | Dec 1977 | A |
4071697 | Bushnell et al. | Jan 1978 | A |
4122299 | Cannon | Oct 1978 | A |
4206316 | Burnsweig et al. | Jun 1980 | A |
4295154 | Hata et al. | Oct 1981 | A |
4381522 | Lambert | Apr 1983 | A |
4400717 | Southworth et al. | Aug 1983 | A |
4450477 | Lovett | May 1984 | A |
4506387 | Walter | Mar 1985 | A |
4518989 | Yabiki et al. | May 1985 | A |
4521806 | Abraham | Jun 1985 | A |
4528589 | Block et al. | Jul 1985 | A |
4538176 | Nakajima et al. | Aug 1985 | A |
4567359 | Lockwood | Jan 1986 | A |
4567512 | Abraham | Jan 1986 | A |
4578535 | Simmons | Mar 1986 | A |
4590516 | Abraham | May 1986 | A |
4647989 | Geddes | Mar 1987 | A |
4659876 | Sullivan et al. | Apr 1987 | A |
4661952 | von Sichart et al. | Apr 1987 | A |
4665516 | Middleton et al. | May 1987 | A |
4679079 | Catros et al. | Jul 1987 | A |
4688246 | Eilers et al. | Aug 1987 | A |
4689683 | Efron | Aug 1987 | A |
4703348 | Yuasa et al. | Oct 1987 | A |
4714989 | Billings | Dec 1987 | A |
4734765 | Okada et al. | Mar 1988 | A |
4736407 | Dumas | Apr 1988 | A |
4748511 | Nichols et al. | May 1988 | A |
4750036 | Martinez | Jun 1988 | A |
4755872 | Bestler et al. | Jul 1988 | A |
4760442 | O'Connell et al. | Jul 1988 | A |
4763191 | Gordon et al. | Aug 1988 | A |
4764870 | Haskin | Aug 1988 | A |
4769833 | Farleigh et al. | Sep 1988 | A |
4785349 | Keith et al. | Nov 1988 | A |
4789863 | Bush | Dec 1988 | A |
4792849 | McCalley et al. | Dec 1988 | A |
4807023 | Bestler et al. | Feb 1989 | A |
4818984 | Chang et al. | Apr 1989 | A |
4833710 | Hirashima | May 1989 | A |
4845658 | Gifford | Jul 1989 | A |
4847677 | Music et al. | Jul 1989 | A |
4847827 | Hayashi et al. | Jul 1989 | A |
4868653 | Golin et al. | Sep 1989 | A |
4890320 | Monslow et al. | Dec 1989 | A |
4907081 | Okamura et al. | Mar 1990 | A |
4914508 | Music et al. | Apr 1990 | A |
4920432 | Eggers et al. | Apr 1990 | A |
4937821 | Boulton | Jun 1990 | A |
4947244 | Fenwick et al. | Aug 1990 | A |
4949169 | Lumelsky et al. | Aug 1990 | A |
4949187 | Cohen | Aug 1990 | A |
4963995 | Lang | Oct 1990 | A |
4991208 | Walker et al. | Feb 1991 | A |
5014267 | Tompkins et al. | May 1991 | A |
5032927 | Watanabe et al. | Jul 1991 | A |
5036518 | Tseung | Jul 1991 | A |
5057932 | Lang | Oct 1991 | A |
5077830 | Mallia | Dec 1991 | A |
5093718 | Hoarty et al. | Mar 1992 | A |
5130792 | Tindell et al. | Jul 1992 | A |
5132992 | Yurt et al. | Jul 1992 | A |
5133079 | Ballantyne et al. | Jul 1992 | A |
5164839 | Lang | Nov 1992 | A |
5191573 | Hair | Mar 1993 | A |
5195092 | Wilson et al. | Mar 1993 | A |
5247664 | Thompson et al. | Sep 1993 | A |
5253275 | Yurt et al. | Oct 1993 | A |
5262875 | Mincer et al. | Nov 1993 | A |
5420942 | Levit | May 1995 | A |
5440334 | Walters et al. | Aug 1995 | A |
5550577 | Verbiest et al. | Aug 1996 | A |
5550863 | Yurt et al. | Aug 1996 | A |
5557320 | Krebs | Sep 1996 | A |
5583561 | Baker et al. | Dec 1996 | A |
5606359 | Youden et al. | Feb 1997 | A |
5608448 | Smoral et al. | Mar 1997 | A |
5675734 | Hair | Oct 1997 | A |
5710970 | Walters et al. | Jan 1998 | A |
5727002 | Miller et al. | Mar 1998 | A |
5734781 | Cantone | Mar 1998 | A |
5778187 | Monteiro et al. | Jul 1998 | A |
5805804 | Laursen et al. | Sep 1998 | A |
5809145 | Slik et al. | Sep 1998 | A |
5818512 | Fuller | Oct 1998 | A |
5826261 | Spencer | Oct 1998 | A |
5832499 | Gustman | Nov 1998 | A |
5841979 | Schulhof et al. | Nov 1998 | A |
5859972 | Subramaniam et al. | Jan 1999 | A |
5881232 | Cheng et al. | Mar 1999 | A |
5884312 | Dustan et al. | Mar 1999 | A |
5890129 | Spurgeon | Mar 1999 | A |
5966440 | Hair | Oct 1999 | A |
7073191 | Srikantan et al. | Jul 2006 | B2 |
20070083667 | Cooper | Apr 2007 | A1 |
Number | Date | Country |
---|---|---|
0 355 697 | Feb 1990 | EP |
WO 8400863 | Jan 1984 | WO |
WO 8912370 | Dec 1989 | WO |
Number | Date | Country | |
---|---|---|---|
Parent | 08956743 | Oct 1997 | US |
Child | 09295000 | US |