The present invention relates to the distribution of multimedia from one location to another. More particularly, this invention relates to the automated distribution of digital media, most preferably by ‘pushing’ media to receiving units and ‘pulling’ media from distributing units.
There has long been a need for efficient methods and systems for distribution of differing types of media such as data, images, audio, or video information. In attempting to fulfill this need, a wide variety of types of systems have been developed, from manual systems such as postal and express physical delivery systems to digitized systems such as those built around wide area computing networks (WANs) and the Internet.
Manual systems suffer from a wide variety of problems, such as high cost, limited reach, unreliability, and time delay. The Internet and traditional e-mail types of distribution systems have become have become a much more omnipresent vehicle for distributing media, but the Internet presents significant problems for those seeking to reliably, efficiently, and quickly distribute digital media, particularly voluminous media files, to a variety of users.
In this regard, the Internet does presently support certain types of ‘push’ distribution and ‘pull’ distribution. Internet facilities such as traditional e-mail allow an Internet user to ‘push’ content out to many other Internet users (but usually not other types of users) through the Internet. Through the web and other facilities, the Internet allows Internet users (again, not others) to log onto web sites and ‘pull’ or download content from the sites. The Internet ‘pull’ model of distribution is unreliable and often quite untimely because it requires the receiving party to have access to the Internet and to initiate on its own the ‘pull’ or media download. Similarly, the Internet ‘push’ model of distribution is either: (i) unreliable and untimely because it does not accomplish any delivery at all until the intended receiving party logs onto the Internet and retrieves the pushed e-mail content from the party's e-mail facility; or (ii) expensive if the ‘push’ model is made more reliable by a permanent connection to the Internet by all desired receiving parties.
Moreover, while the Internet can serve as an effective platform for distribution of relatively small e-mail messages to those who have corporate or educational LANs permanently connected to the Internet 24 hours per day, 7 days per week, the Internet is not effective when timing of the reception is important and the sending and receiving entities either do not both have access to the Internet or are not both on-line to send and receive when needed. The Internet also suffers from well known bandwidth and other constraints that make it difficult, and often impossible, to rely on the Internet to distribute large media files, such as those containing images, audio, or video, for use by others who must receive and use such files in a timely fashion.
One approach to solving the problem of distribution of digital media has been to develop private wide area networks (“WANs”) independent of the public Internet. Examples of these types of systems include corporate WAN's and the private WAN audio distribution systems deployed by companies like Digital Courier International and Musicam Express. (See U.S. Pat. No. 5,694,334 and the commonly-assigned co-pending application, Ser. No. 08/705,797, filed Aug. 30, 1996, entitled “Audio File Distribution and Production System”). These private WANs often consist of networks of (often specialized) personal computers linked through dedicated, private telecommunications types of links in order to produce and distribute digital information and media from one computer on the network to another.
These types of prior art WAN's have limited reach since they usually are connected only to those users who have systems connected to the WAN. They also typically have required dedicated telecommunications connections for each machine on the WAN in order to assure accessibility of, and push distribution to, each machine on the WAN. They also typically have required use of substantial expensive proprietary or non-standard software systems in order to reliably distribute voluminous media information, particularly audio or video content, throughout the WAN.
In addition, these prior art systems have typically required deployment of many thousands of expensive, customized PC's for use by each receiving or producing entity on the WAN. These types of WANs have thus not only required huge expense and effort required to manufacture, deploy, and install the customized PC's to establish the WAN and to achieve the distribution sought by the WAN, but also inherently limited the ability to easily and economically upgrade the installed base of PC's and other networking equipment over time when hardware upgrading is required or advisable (as it so often is in the rapidly evolving field of personal computers and telecommunications).
The applicants have developed an integrated and automated system and method for reliably distributing digitized media information (preferably any type of digitized media information whatsoever) to multiple recipients. The present system and method includes push distribution through terrestrial and/or extraterrestrial facilities with confirmation of delivery from the recipients, and a combination push-pull distribution by a contact with the intended recipient (preferably without incurring any substantial communication charges) and a responsive pull or downloading of information by the recipient, also with confirmation by the recipient.
The applicants' system and method also preferably includes pull distribution, independent of the push/pull, allowing intended recipients to call in on their own and then select and download information. The system and method further preferably includes an automatic fallback method of physically shipping information to intended recipients that have not confirmed receipt of the media information through the other push, push/pull, or pull methods.
The preferred system and method also provides that many of those connected to the system may be producers of content for distribution to others through the system. In this fashion, producers can also be recipients of content from others on the system.
The preferred system and method also includes local hubs or proxy servers for the collection of content locally and distribution of that content to others connected to the hub, or to other hubs and their affiliated recipients. The system and method may also provide the ability to fax selected textual or graphic information to intended recipients.
The applicants' preferred apparatus and method also utilizes a flexible and powerful broadcast file transfer protocol for transfer of files through a one-way broadcast system, such as a one-way satellite system, into a TCP/IP (two-way) network.
These and other aspects of the present invention will become apparent as the specification proceeds. In this regard, it is to be understood that the scope of the invention is to be determined by reference to the claims and not to this Brief Summary.
It is an object of the present invention to provide a reliable and automated system and method for distribution of media information or content.
It is yet another object of the invention to provide such a system that can be used to distribute audio or text for national radio broadcasters.
It is an advantage provided by the applicant's invention that the present system and method can reliably distribute any type of media—data, images, audio, video, or multimedia.
Yet another advantage is that the present method and system can economically push content to recipients through efficient broadcast mediums such as satellite broadcasting systems.
A further advantage is that the present method and system provides confirmation of receipt to the party pushing or broadcasting the content.
A still further advantage is that the present method and system can also remotely activate intended recipients to perform a pull or download of content from the system, thus reducing or eliminating the need for continuous telecommunications connections typically required to push content to intended recipients, thereby also reducing or eliminating associated communication expenses.
An additional advantage is that the present method and system can allow recipients to independently pull permitted content whenever desired by the recipients.
Yet another advantage is that the present system works in conjunction with well established and widely available aspects of the Internet while not being dependent on the Internet to accomplish distribution of content, particularly high bandwidth content.
It is also an advantage of the present system and method to provide a fall-back manual system of delivery of content when all else fails or the intended recipient is not a part of the system.
Another advantage is that the present system and method allows the distributor and recipient to utilize or refrain from utilizing the Internet to accomplish distribution by, for example, accomplishing an extraterrestrial satellite broadcast to permissioned reception systems or by direct terrestrial connection independent of the Internet.
A related advantage is that the present system and method is very flexible and economical for both the system owner and operator and those who utilize the system to distribute content.
Yet another advantage is that the present system and method is easy to implement and does not require, or reduces the need for, costly hardware deployment or upgrades by the system owner or administrator over time.
An additional advantage is that the system and method can quickly, efficiently, and reliably distribute large, high bandwidth files, particularly audio and video files.
A related advantage is the ability of the system and method to broadcast files through a one-way broadcast network and feed the broadcast files into a two-way or TCP/IP network.
A yet additional advantage is that the present system and method also allows the distributor of the information to prioritize the information to be distributed in order to achieve the most economical distribution available in view of the prioritization, and to customize the contents of the package to reflect the identity and preferences of the sending party.
Another advantage of the present system and method is that those who use the system and method may readily, quickly, and economically access the central distribution management system to determine the nature and status of content provided to the management system for delivery to users.
Yet an additional advantage is that the producers and users of content may readily preview content produced or delivered to the user by the system and method.
There are many other advantages of the present invention. They will become apparent as the specification proceeds. It is to be understood, however, that the scope of the invention is to be determined by reference to the claims and not by whether a claimed embodiment necessarily achieves all the objects or advantages stated herein for the applicants' preferred embodiment.
The applicants' preferred embodiment is described in the following section and shown in the accompanying drawings wherein:
With reference to
The one-way satellite connection 18 provides a high-bandwidth vehicle for distribution of media files, particularly larger audio or video files, to affiliates, e.g., 20, and clients, e.g., 28, 30, such as radio or television stations. Because the satellite connection 18 is only a one-way connection, the connection 18 can suffer from link errors, lack of acknowledgement, and availability problems. As will be explained in greater detail below, the applicants' system and method thus also provides two-way connections 13, 15, 22, 24, 26 for confirmation of delivery and back-up telecom delivery. The system and method also includes a fall-back manual delivery facility when automated delivery cannot be accomplished through the facilities shown in
With continuing reference to
The producers, e.g., 12, 14, preferably consist of an IBM compatible Pentium PC, with 4 GB of hard disk space, 64 MB of RAM, a color monitor, a mouse, a keyboard, 2 or more serial ports, an ISDN modem connected to an ISDN line, and DAC Card (by Musicam USA, Holmdel, NJ.) or Digigram Card (with suitable driver for the particular card installed on the workstation), and stereo speakers. The producers also are loaded with off-the-shelf software such as Windows NT Workstation 4.0 or higher, Microsoft Internet Explorer 4.0 or higher, Microsoft Mail, and a TAPI compliant modem driver.
The producers, e.g., 12, 14, produce electronic, digital packages 34 of media information (not shown in
As will also be explained in further detail below, the delivery server 16 checks the contents of each digital package 34 and ensures that any value-added services required for the package 34 have been performed prior to forwarding the package 34 pursuant to the addressing instructions (not shown in
The multicast router 40 is in turn connected by a synchronous connection 42 to a StarGuide® VIF card in a StarGuide MX3® Multiplexer or Mux 44 (all StarGuide® products identified herein are available from StarGuide Digital Networks, Inc., Reno, Nev., and San Diego, Calif.). The output of the Mux 44 is fed through a satellite uplink 46, then through a third party satellite 48, and into a satellite downlink 50 in a fashion, and with additional associated equipment (amplifiers, modems, LNB's, etc. (not shown)), well known to those skilled in the art. The satellite signal is then fed from the downlink 50 into a pre-permissioned StarGuide II® Satellite Receiver 52 in a fashion well known to those skilled in the art. The Receiver 52 has a StarGuide® Ethernet Card (not shown). The StarGuide II® Receiver 52 thus demultiplexes the signal received from the satellite 48 and sends the IP portion of the signal (called a “service”) to the StarGuide® Ethernet Card. In turn, the Ethernet Card provides TCP/IP IGMP multicast protocol output through a 10-Base-T Ethernet cable 54 to a satellite affiliate PC, e.g., 20. Preferably the TCP/IP uplink connection 38 and TCP/IP downlink connection 54 is an Ethernet network or similar connection, which are well known to those skilled in the art.
With this equipment, the envelopes and associated media files 34 may be broadcast efficiently by satellite to those StarGuide II® Receivers 52 pre-permissioned (through the StarGuide® NMS that controls the Mux 44) to receive the broadcast so that the affiliate PC's, e.g., 20, associated with each such permissioned Receiver 52 can receive and store the received envelope and associated media files 56 in a file system 58 on the affiliate PC, e.g., 20. In this regard, the BFTP protocol (explained below) ensures that the received envelope and media files 56 are identical to the transmitted envelope and media files 34.
With reference to
With reference now to
The packager application 76 adds the other information to the package 60 such as shown in
With reference to
Referring again to
The server's web-site software 88 maintains a standard, Internet-accessible web site (not shown) via a modem pool and Internet connections (not shown) maintained on the server 16 in a fashion well known to those skilled in the art. The web-site provides authorized producers, clients, affiliates, and others (not shown) with the ability to log-in to the server web-site by use of an account number and password, and to view information about the status of their packages managed or delivered by the server 16. Standard web-site browser tools (such as the Microsoft Internet Explorer and Netscape Navigator) allow the producers, clients, affiliates, and other permitted users to view their account and package delivery information on the server web-site, twenty-four hours per day, seven days per week.
The web-site software 88 provides the following search capabilities for those clients or affiliates who log into the web-site on the server 16:
The server 16 also maintains the global address book for downloading of the address book to the producers, e.g., 12. This global book is updated automatically as new affiliates, clients, and producers register with the delivery server 16. The server 16 provides an on-line registration capability for affiliates or clients accessing the server web-site described above.
A clean-up or archiving process (not shown) may be added as a back office operation to allow an operator to delete or archive any envelopes, e.g., 20, that have expired according to the expiration date for the envelope. The clean-up process could also delete any media files that are not identified in any envelopes, e.g., 20, on the server 16.
The server 16 can also run a fax agent (not shown). The mailman can monitor document files in received envelopes to determine if any document is marked with a fax attribute, and for any such document, forward it to a fax server such as Microsoft Exchange's fax service (not shown). The fax server then automatically faxes the document to the fax numbers requested in the envelope.
Referring now to
In this fashion, the server 16 accomplishes a combination push-pull of the package(s) for the client or affiliate 20. The ‘push’ takes place by tickling the client or affiliate 20 to inform it that the server 16 has content to deliver to the client or affiliate 20. The client or affiliate 20 then responds to the push or tickle by calling into the server 16 to pull the content from the server 16. The push takes place at no economic cost to the system and method, and with minimal effort. The pull and delivery of intended content to the client or affiliate 20 then takes place at the expense of the single phone call to the client or the affiliate 20 (unless otherwise arranged by the system administrators or users), with no need for any permanent or dedicated two-way connection between the server 16 and client or affiliate 20, and with a relatively high degree of security.
Whenever the delivery agent determines that the contents of a given package (as identified in the envelope for the package) are completely received by the client or affiliate 20, the delivery agent causes the client or affiliate 20 to take two additional actions. First, the client or affiliate 20 sends an e-mail to the server 16 confirming the delivery of the package to the client or affiliate 20. Second, the delivery agent flags all received packages, along with the packages' respective home-HTML information (64 in
The browser interface 109 on the client or affiliate 20 is based on the Microsoft Internet Explorer. As explained in greater detail below, the browser 109 provides a package hierarchy, inbox, and trash bin, and utilizes HTML for its package lists, so that received media files can be conveniently previewed, auditioned, or played.
Each server 16, producer 12, and client or affiliate 14 maintain substantial database information in addition to that already identified above. The server 16 maintains its database information in Microsoft SQL running on the server 16. The producers 12 and clients and affiliates 14 maintain their database information in the standard Windows 95 or Windows NT registry provided by the operating system on the clients and affiliates 14.
The data maintained in the server SQL database is as follows:
Producer Account
Client (or Affiliate) Account
Package (Identified from Envelope Submitted by a Producer)
Delivery Target Record (e-mailed from client as described above)
Envelope (Content Submitted by Producer Via e-mail)
Client Tickle Record
Log Message
The database maintained by the client (affiliate) registry is as follows:
Configuration
Package
Folders
Phone Book
The data maintained in the producer registry is as follows:
Configuration
Package
Folders
Phone Book
Referring again to
The mailman 83 and traffic cop 84 applications, as shown in
Referring now to
The tickle or tickler application referenced in
With reference to
Communications between the warehouse manager and client or affiliate graphical user interface take place through standard interprocess communications protocols such as TCP/IP and HTTP. The warehouse manager also runs a garbage collection process, which (i) removes expired packages after their respective kill or expiration dates, and (ii) purges the oldest media in the recycle bin, whether it has expired or not, as disk space lowers past a threshold.
The mailroom agent noted above is responsible for fetching packages using e-mail and FTP, tracking incomplete packages, and then adding the completed packages to the warehouse manager.
Still referring to
The producer and client user interfaces are similar. For example, with reference to
As shown in
With reference to
Referring now to
More particularly, this basic tree structure contains:
The tree control provides the following functionality:
The content area 128 shows detailed information about a selected tree branch in HTML form, as noted above. With regard to the example shown in
Referring now to the affiliate or client user interface shown in
Alternatively, the audio player may be deleted from the user interface of
Referring again to the producer toolbar shown in
Both the producer interface and the affiliate or client interface have the following features:
Referring again to
The search area 130 also contains an advanced button to allow the user to display advanced search options, such as a choice of the types of the content that should be listed. Thus, although the applicant's default button arrangement allows the user to view a list of audio spots only, the advanced buttons allow the user to display traffic instruction or other types of media file listings.
The media listing 132 depends on the options elected in the search area 130. For each item of audio content, e.g., 139, displayed, the list sets forth the title 140, advertiser 142, ISCI code 144, and arrival time 146. These items are displayed by title by default, but the user may sort these columns by clicking on the respective column header, e.g., 140, 142, 144, 146.
To the left of each item of content is an icon reflecting the type of content within the item (e.g., a CD for audio, paper for traffic instructions, etc.). New items not yet opened are in bold, and locked items also appear with a small padlock icon. A locked item is a media file that the affiliate or client user wishes to keep without the client's or affiliate's warehouse manager removing it to make space for new content. The client or affiliate can only lock files amounting to a total of ten percent of the client's or affiliate's entire hard disk space.
As with the tree control explained above for the producer interface, the user can load and play an audio item, for example, by double clicking on it. Right clicking on an item will provide a pop-up menu with options such as opening, locking, or deleting the item, viewing properties for the item (including its title, description, ISCII code, and advertiser), showing the package in which the item arrived, etc.
The digital audio player 134 provides standard MPEG layer II record and playback features. Previous and next buttons may also be added for the audio player 135, and the player may include an additional button 135 to allow trim points to be manually programmed and saved with the audio spot.
Referring now to
Referring now to
Referring now to
Envelopes and Confirmations:
With reference again to
The file format for envelopes is as follow:
Note:
The low-word is a persistent incrementing counter (wraps after 32K packages).
Note:
The file format for confirmations is as follows:
Note:
The purpose of Broadcast File Transfer Protocol (BFTP) is to reliably transmit binary files over a one-way broadcast satellite network from an uplink server to one or more downlink clients. The BFTP protocol includes a means of group addressing such that the file will be received and stored only by those target sites (affiliates) included in an address list.
In order to address target sites, each site is provided a unique numeric identification. This identification is a 32-bit numeric value in the range 1-4,294,967,295 (providing over 4 million unique identifiers). 0 is reserved as a broadcast identification. Each affiliate identification is stored (in encoded format) in the affiliate registry and may be programmed through an affiliate configuration form. This affiliate identification is independent and unrelated to the satellite receiver's permissioning identification.
With reference to
The BFTP protocol operates as follows:
The BFTP protocol breaks a file down into BFT Headers and BFTP Records. The headers describe the file and list the target addresses. The records contain the file data. Each of these records is defined as set forth below in C++ programming language:
The BFTP_INFO structure describes the target filename and its attributes through the first three fields. Through the sendaddr field, the server is informed of the affiliates to whom the file will be transmitted. The transID field uniquely identifies a file transmission. The count field identifies how many 32-bit affiliate identifications follow the BFTP_INFO structure. Each affiliate identification uniquely identifies a receiving unit, and is stored after the header as a DWORD.
The BFTP_DATA structure contains the file data. The record's transID field identifies the file transaction to which this record applies. This field is used to match BFTP_DATA's with BFTP_INFO's. The data itself follows the BFTP_DATA.
UDP packet sizes are limited in most systems to 1500 bytes. For the most part, BFTP_INFO records sets the framesize field to 1024 (bytes per BFTP_DATA data). Likewise, exactly 1024 bytes of data are appended to all but the last BFTP_DATA. The last record's len field and data are truncated down to as many bytes as necessary to complete the file.
The UDP packet is limited to 1500 bytes. The BFTP_INFO header's structure requires 146 bytes, leaving 1354 bytes for the address list. Since each address list requires 4 bytes, a BFTP_INFO supports up to 338 addresses. If a file is to be delivered to more than 338 clients, then the addresses may be spread over multiple BFTP_INFO records. As an example, if a file is to be delivered to 2000 target addresses, then those addresses may be sent using 6 BFTP_INFO records containing identical file and transaction information.
The BFTP server utilizes IGMP group addressing to send records and headers to groups of affiliates. IGMP (Internet Group Multicast Protocol) is an extension to the TCP/IP protocol suite and is similar to UDP. Before the standardization of IGMP, the TCP/IP protocol supported broadcast and targeted packet addressing. That is, packets can be sent to every target address, or to only one target address at a time. Using IGMP, target clients may “join” a logical group IP address. When the server 16 sends a packet to this group address, all clients that joined the group receive the packet. All other clients ignore the packet. Clients “drop” from the IGMP group whenever a transaction is closed (aborted or successful). From transmission to transmission, only the transaction identification remains constant, not the IGMP group.
The server assigns a new IGMP group address per file transaction. IGMP address ranges are from 224.0.0.0 to 239.255.255.255. This range allows for 248,720,625 group addresses. However, unlike internet TCP/IP addresses, IGMP group addresses are not licensed, reserved addresses. To avoid the probability of an address conflict, exactly one IGMP address, 230.10.10.0, is reserved as the “broadcast” channel to which all affiliates listen. The BFTP_INFO packets are thus sent over this channel. The sendaddr field of this record, which identifies the group address to which the associated BFTP_DATA packets are sent, range from 239.255.0.0 to 239.255.0.255. Thus, transactions reuse the 255 group addresses. Both the reserved control IGMP address (239.255.0.0) and the file-transaction IGMP address range (239.255.0.0-239.255.0.255) are reprogrammed through the registry. TCP/IP transmission port, also programmable, is 4000.
After the BFTP server selects a file to transmit, it composes an address list from all of the envelopes that reference the file. It generates a BFTP_INFO packet specifying the file and listing the target addresses. This packet is output from the server 16 as a UDP packet, which is faithfully broadcasted by the satellite system to the affiliate network. This packet is sent to the control IGMP address. After every BFTP_INFO transmission, the server 16 idles for a configurable period (e.g., 4 seconds) to allow the BFTP affiliates to process or discard the header.
Every BFTP client then “joins,” or becomes a member of, the control IGMP address group. Thus, all BFTP affiliates “listen” for BFTP_INFO packets. On receiving a BFTP_INFO packet, the affiliate scans the address list for its own identification. If the affiliate finds its identification, then it begins its new transaction by creating the empty file in its default directory. The affiliate also joins the IGMP address group specified in the BFTP_INFO's sendaddr field. On joining the group, the affiliate listens for the BFTP_DATA records associated with the BFTP_INFO.
The BFTP affiliate processes multiple file transactions at a time simply by listening to multiple IGMP addresses. The TCP/IP protocol stack blocks all UDP packets sent to IGMP address groups that the affiliate has not joined. However, the affiliate receives all BFTP_INFO and BFTP_DATA packets it listens to over the same TCP/IP socket. Therefore, as each BFTP_DATA is received, the affiliate matches it with a BFTP_INFO transaction. The BFTP_DATA is usually received in order and the transaction matches the last received BFTP_INFO record. Dropped packets and packet retransmission is commonplace in satellite transmission, however. Thus, the affiliate's BFTP_DATA processing algorithm is optimized for the common case (proper reception) and accounts for the latter (dropout).
The affiliate can process up to 32 files at a time. For each transaction in progress, the affiliate maintains an opened file and a “file Bitmask” to record which records have been received. Each bit of the bitmask represents one data record of 1024 bytes (as related in framesize field). The size of this bitmask varies with each file transaction and has a filesize of 1024 bytes. For example, to receive a 1-megabyte file, the affiliate processes a bitmask of 128 bytes. Since the overhead to maintain the bitmask is only 0.01% of the file size, this bitmask may be kept in memory, or for exceptionally large files (over one gigabyte), the bitmask which can exceed 128 kbytes may be cached into a temporary file.
For each BFTP_DATA packet received, the affiliate marks the record's representative bit in the bitmask. When all of the data records have been received, the affiliate completes the transaction and saves the file into the affiliate's file system 58. Any gaps in the bitmask represent a dropped packet, which can be received on the next transmission.
On the BFTP server's next transmission of the same file, the affiliate ignores the BFTP_DATA records it has already received. Once all missing BFTP_DATA records are received, the affiliate drops out of the IGMP session, closes the file as complete, performs a final 32-bit CRC, and matches the value to the precalculated CRC provided in the header. If the CRC does not match, the affiliate discards the file, since at this point, the affiliate cannot determine which record was corrupted. When the affiliate detects a packet out of sequence or a “gap,” it writes zero-data into the file to fill in the gaps. When the missing packets arrive, the affiliate writes the correct information into those gaps. When the affiliate receives a BFTP_INFO structure, the affiliate:
The following conditions should be taken into consideration for the receive algorithm.
The BFTP server frequently retransmits files and file header information. The BFTP server transmits a file twice in its entirety before lowering its retransmission priority. Furthermore, for every 100 BFTP_DATA records transmitted, the server transmits the transaction's BFTP_INFO record. This adds under 2% overhead to the file transmission for files over 100 kbytes. However, this allows BFTP affiliates that missed the initial BFTP_INFO record due to satellite downlink errors to join the transaction midway through the process. Thus, on the second transmission of the file, there is a greater likelihood that much of the file will already have been received.
The standard 32-bit CRC calculated on each file uses the following CCITT polynomial (represented in hexidecimal as 0xEDB88320):
X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X1+X0
The delivery server's mailman agent submits files (and address lists) to the BFTP server for transmission. Submitted files are prioritized (or sorted) by four criteria: transmit count, due date, submit date, then filesize. When a file is first submitted, its transmit count will be 0, and so it will have highest priority. If 10 files are queued for first-time delivery, then the file that is to be delivered sooner will be transmitted first. If those files all have the same due-date, then the file submitted first is sent first. As a result, packages of files submitted at the same time with the same due-date tend to be delivered together to complete a package.
Once a file is transmitted, its transmit count is incremented, so freshly submitted files will have higher priority. However, if no new files are queued for transmission, the file with the lowest retransmission count will be sent next. A file remains queued by the BFTP server until one-day past its due date.
It is to be understood that the foregoing is a detailed description of the applicants' preferred embodiment. The scope of the applicants' invention, however, is to be determined by reference to the following claims.
This application is a continuation of application Ser. No. 09/263,801, filed Mar. 6, 1999 now U.S. Pat. No. 7,194,757, which in turn claims the benefit of U.S. Provisional Patent Application No. 60/077,147, filed Mar. 6, 1998, entitled METHOD AND APPARATUS FOR PUSH AND PULL DISTRIBUTION OF MULTIMEDIA, the disclosure of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3626295 | Sabrui | Dec 1971 | A |
3898376 | Nabeyama et al. | Aug 1975 | A |
4130730 | Ostrowski | Dec 1978 | A |
D264691 | Volkland et al. | Jun 1982 | S |
4346262 | Willems et al. | Aug 1982 | A |
D267249 | Fukushima et al. | Dec 1982 | S |
4494238 | Groth | Jan 1985 | A |
D277569 | Georgopulos | Feb 1985 | S |
4544950 | Tu | Oct 1985 | A |
D281974 | Suzuki et al. | Dec 1985 | S |
RE32124 | Atal | Apr 1986 | E |
4624012 | Lin et al. | Nov 1986 | A |
4641343 | Holland et al. | Feb 1987 | A |
D289616 | Imazeki | May 1987 | S |
D291443 | Pedinielli et al. | Aug 1987 | S |
4720873 | Goodman et al. | Jan 1988 | A |
4725886 | Galumbeck et al. | Feb 1988 | A |
4731783 | Fontanes | Mar 1988 | A |
4763321 | Calvignac et al. | Aug 1988 | A |
4821260 | Klank et al. | Apr 1989 | A |
4831624 | McLaughlin et al. | May 1989 | A |
4907277 | Callens et al. | Mar 1990 | A |
4916539 | Galumbeck | Apr 1990 | A |
4972484 | Theile et al. | Nov 1990 | A |
5111292 | Kuriacose et al. | May 1992 | A |
5132992 | Yurt et al. | Jul 1992 | A |
5144431 | Citta et al. | Sep 1992 | A |
5151998 | Capps | Sep 1992 | A |
5161210 | Druyvesteyn et al. | Nov 1992 | A |
5214708 | McEachern | May 1993 | A |
5239540 | Rovira et al. | Aug 1993 | A |
5253275 | Yurt et al. | Oct 1993 | A |
5282028 | Johnson et al. | Jan 1994 | A |
5282202 | Bernstein et al. | Jan 1994 | A |
5287351 | Wall, Jr. | Feb 1994 | A |
5301363 | Hinderks | Apr 1994 | A |
5305440 | Morgan et al. | Apr 1994 | A |
5319707 | Wasilewski et al. | Jun 1994 | A |
5325423 | Lewis | Jun 1994 | A |
5333155 | Dambacher | Jul 1994 | A |
D349503 | Roy | Aug 1994 | S |
5341457 | Hall, II et al. | Aug 1994 | A |
D350544 | Sakuta et al. | Sep 1994 | S |
5349699 | Erben et al. | Sep 1994 | A |
5375068 | Palmer et al. | Dec 1994 | A |
5381412 | Otani | Jan 1995 | A |
5388182 | Benedetto et al. | Feb 1995 | A |
5389965 | Kuzma | Feb 1995 | A |
5392066 | Fisher et al. | Feb 1995 | A |
5392353 | Morales | Feb 1995 | A |
5394561 | Freeburg | Feb 1995 | A |
5396497 | Veltman | Mar 1995 | A |
5403639 | Belsan et al. | Apr 1995 | A |
5404567 | DePietro et al. | Apr 1995 | A |
5406558 | Rovira et al. | Apr 1995 | A |
5414773 | Handelman | May 1995 | A |
5432907 | Picazo, Jr. et al. | Jul 1995 | A |
5440336 | Buhro et al. | Aug 1995 | A |
5455570 | Cook et al. | Oct 1995 | A |
5461619 | Citta et al. | Oct 1995 | A |
5463424 | Dressler | Oct 1995 | A |
5479447 | Chow et al. | Dec 1995 | A |
5490136 | Sereno et al. | Feb 1996 | A |
5490233 | Kovacevic | Feb 1996 | A |
5493339 | Birch et al. | Feb 1996 | A |
5493647 | Miyasaka et al. | Feb 1996 | A |
5495554 | Edwards et al. | Feb 1996 | A |
5508949 | Konstantinides | Apr 1996 | A |
5515107 | Chiang et al. | May 1996 | A |
5528725 | Hui | Jun 1996 | A |
5530655 | Lokhoff et al. | Jun 1996 | A |
5534913 | Majeti et al. | Jul 1996 | A |
5535300 | Hall, II et al. | Jul 1996 | A |
5550863 | Yurt et al. | Aug 1996 | A |
D373767 | Hinderks | Sep 1996 | S |
5557334 | Legate | Sep 1996 | A |
5557724 | Sampat et al. | Sep 1996 | A |
5559549 | Hendricks et al. | Sep 1996 | A |
5561637 | Dan et al. | Oct 1996 | A |
5566209 | Forssen et al. | Oct 1996 | A |
5581653 | Todd | Dec 1996 | A |
5583962 | Davis et al. | Dec 1996 | A |
5586121 | Moura et al. | Dec 1996 | A |
5588024 | Takano | Dec 1996 | A |
5590108 | Mitsuno et al. | Dec 1996 | A |
5594490 | Dawson et al. | Jan 1997 | A |
5606668 | Shwed | Feb 1997 | A |
5608446 | Carr et al. | Mar 1997 | A |
5633981 | Davis | May 1997 | A |
5659615 | Dillon | Aug 1997 | A |
5659877 | Enomoto et al. | Aug 1997 | A |
5675575 | Wall, Jr. et al. | Oct 1997 | A |
5694334 | Donahue et al. | Dec 1997 | A |
5694490 | Howell et al. | Dec 1997 | A |
5694546 | Reisman | Dec 1997 | A |
5699411 | Becker et al. | Dec 1997 | A |
5706335 | Hinderks | Jan 1998 | A |
5727002 | Miller et al. | Mar 1998 | A |
5732078 | Arango | Mar 1998 | A |
5732216 | Logan et al. | Mar 1998 | A |
5737739 | Shirley et al. | Apr 1998 | A |
5751356 | Suzuki et al. | May 1998 | A |
5778187 | Monteiro et al. | Jul 1998 | A |
5778372 | Cordell et al. | Jul 1998 | A |
5781909 | Logan et al. | Jul 1998 | A |
5809145 | Slik et al. | Sep 1998 | A |
5818441 | Throckmorton et al. | Oct 1998 | A |
5818845 | Moura et al. | Oct 1998 | A |
5828655 | Moura et al. | Oct 1998 | A |
5828839 | Moncreiff | Oct 1998 | A |
5835726 | Shwed et al. | Nov 1998 | A |
5838906 | Doyle et al. | Nov 1998 | A |
5841979 | Schulhof et al. | Nov 1998 | A |
5848386 | Motoyama | Dec 1998 | A |
5852721 | Dillon et al. | Dec 1998 | A |
5862325 | Reed et al. | Jan 1999 | A |
5881131 | Farris et al. | Mar 1999 | A |
5893091 | Hunt et al. | Apr 1999 | A |
5894554 | Lowery et al. | Apr 1999 | A |
5987480 | Donohue et al. | Nov 1999 | A |
5991292 | Focsaneanu et al. | Nov 1999 | A |
5991306 | Burns et al. | Nov 1999 | A |
5991596 | Cunningham et al. | Nov 1999 | A |
5995726 | Dillon | Nov 1999 | A |
6002720 | Yurt et al. | Dec 1999 | A |
6006173 | Wiese et al. | Dec 1999 | A |
6011548 | Thacker | Jan 2000 | A |
6018764 | Field et al. | Jan 2000 | A |
6021307 | Chan | Feb 2000 | A |
6023345 | Bloomfield | Feb 2000 | A |
6034689 | White et al. | Mar 2000 | A |
6038594 | Puente et al. | Mar 2000 | A |
6041295 | Hinderks | Mar 2000 | A |
6041359 | Birdwell | Mar 2000 | A |
6049551 | Hinderks et al. | Apr 2000 | A |
6052554 | Hendricks et al. | Apr 2000 | A |
6055244 | Wall, Jr. et al. | Apr 2000 | A |
6078961 | Mourad et al. | Jun 2000 | A |
6085235 | Clarke, Jr. et al. | Jul 2000 | A |
6094427 | Yi | Jul 2000 | A |
6094671 | Chase et al. | Jul 2000 | A |
6101180 | Donahue et al. | Aug 2000 | A |
6115040 | Bladow et al. | Sep 2000 | A |
6115750 | Dillon et al. | Sep 2000 | A |
6128374 | Hinderks | Oct 2000 | A |
6144702 | Yurt et al. | Nov 2000 | A |
6160797 | Robert, III et al. | Dec 2000 | A |
6188689 | Katsube et al. | Feb 2001 | B1 |
6205473 | Thomasson et al. | Mar 2001 | B1 |
6205485 | Kikinis | Mar 2001 | B1 |
6212201 | Hinderks et al. | Apr 2001 | B1 |
6310893 | Yuan et al. | Oct 2001 | B1 |
6351727 | Wiese et al. | Feb 2002 | B1 |
6351728 | Wiese et al. | Feb 2002 | B1 |
6359882 | Robles et al. | Mar 2002 | B1 |
6373927 | Hinderks | Apr 2002 | B1 |
6385647 | Willis et al. | May 2002 | B1 |
6411607 | Robert, III et al. | Jun 2002 | B1 |
6411616 | Donahue et al. | Jun 2002 | B1 |
6490551 | Wiese et al. | Dec 2002 | B2 |
6510557 | Thrift | Jan 2003 | B1 |
20010000457 | Hinderks et al. | Apr 2001 | A1 |
20010038686 | Hinderks | Nov 2001 | A1 |
20020082827 | Wiese et al. | Jun 2002 | A1 |
20020105955 | Roberts, III et al. | Aug 2002 | A1 |
20020177914 | Chase | Nov 2002 | A1 |
20020194364 | Chase et al. | Dec 2002 | A1 |
Number | Date | Country |
---|---|---|
744624 | Oct 2000 | AU |
2199360 | Jun 2001 | CA |
33 13 841 | Oct 1984 | DE |
34 40 613 | Apr 1986 | DE |
36 38 922 | May 1988 | DE |
36 45 150 | May 1988 | DE |
42 37 366 | May 1994 | DE |
0 372 601 | Jun 1930 | EP |
0 139 803 | May 1985 | EP |
0 174 636 | Mar 1986 | EP |
0 271 805 | Jun 1988 | EP |
0 343 792 | Nov 1989 | EP |
0 510 247 | Aug 1991 | EP |
63-128829 | Jun 1988 | JP |
63-240228 | Oct 1988 | JP |
1-188043 | Jul 1989 | JP |
1-309489 | Dec 1989 | JP |
3-278730 | Dec 1991 | JP |
4-134995 | May 1992 | JP |
5-103233 | Apr 1993 | JP |
6-276169 | Sep 1993 | JP |
5227164 | Sep 1993 | JP |
5-290442 | Nov 1993 | JP |
7-154347 | Nov 1993 | JP |
6-133220 | May 1994 | JP |
6-141005 | May 1994 | JP |
7-153243 | Jun 1995 | JP |
WO 8909965 | Oct 1989 | WO |
WO 9210040 | Jun 1992 | WO |
WO 9212599 | Jul 1992 | WO |
WO 9217948 | Oct 1992 | WO |
WO 9302412 | Feb 1993 | WO |
WO 9309631 | May 1993 | WO |
WO 9523493 | Aug 1995 | WO |
WO 9608095 | Mar 1996 | WO |
WO 9632710 | Oct 1996 | WO |
Number | Date | Country | |
---|---|---|---|
20070239609 A1 | Oct 2007 | US |
Number | Date | Country | |
---|---|---|---|
60077147 | Mar 1998 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09263801 | Mar 1999 | US |
Child | 11686763 | US |