WO1998009412A1 - Scheduling data transmission - Google Patents

Scheduling data transmission Download PDF

Info

Publication number
WO1998009412A1
WO1998009412A1 PCT/US1997/015040 US9715040W WO9809412A1 WO 1998009412 A1 WO1998009412 A1 WO 1998009412A1 US 9715040 W US9715040 W US 9715040W WO 9809412 A1 WO9809412 A1 WO 9809412A1
Authority
WO
WIPO (PCT)
Prior art keywords
transmission
network
time
data transmission
data
Prior art date
Application number
PCT/US1997/015040
Other languages
French (fr)
Inventor
C. Kenneth Miller
Terrance E. Bradley
Kenneth Cates
Kary Robertson
Original Assignee
Starburst Communications Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Starburst Communications Corporation filed Critical Starburst Communications Corporation
Priority to AU40925/97A priority Critical patent/AU4092597A/en
Publication of WO1998009412A1 publication Critical patent/WO1998009412A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1438Negotiation of transmission parameters prior to communication
    • H04L5/1446Negotiation of transmission parameters prior to communication of transmission speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Definitions

  • This invention relates to scheduling multicast data transmission
  • a network resource scheduler receives requests from one or more content sources requesting data transmission to one or more replicated servers
  • the scheduler is coupled to a computer network such as a Wide Area Network (WAN), a Local Area Network (LAN), the Internet, a wireless network (e g , a cellular data network), or a satellite network
  • the network is multicast enabled, I e , multicast addresses are used and are routed through the network by the network infrastructure
  • the content sources transmit data (e g , one or more computer files) to the replicated servers pursuant to one or more distribution schedules generated by the scheduler
  • the scheduler creates the distribution schedules based on the requests from the content sources, which requests typically include the size or amount of the data to be transmitted, the desired completion time for the data transmission, and a priority level associated therewith
  • the distribution schedules are determined based on a predetermined start time which is a time at which data transmission from each of the requesting content sources will
  • the scheduler obtains requests from the content sources and sorts the high priority requests so that their distribution schedules can be determined first
  • the scheduler obtains from each high p ⁇ o ⁇ ty content source, the amount of data requested for transmission and adds the respective amounts to obtain the total amount of content data requested for transmission
  • the scheduler determines a proportional bandwidth factor and a delivery factor for each high p ⁇ o ⁇ ty content source
  • the scheduler determines the amount of bandwidth available for content data transmission at times surrounding the desired completion time and also the duration of time that such amount of bandwidth is available
  • the scheduler determines the transfer rate for each source using the available bandwidth, the proportional bandwidth factor and the delivery factor
  • the total transmission time is then determined for each high priority content source using the transfer rate, the amount of data to be transmitted, and an overage factor which is indicative of the likelihood of errors occur ⁇ ng during transmission.
  • distribution schedules for the low priority content sources are determined in the manner described above.
  • the distribution schedules transmitted to the content sources generally include at least a data transmission start time and a data transfer rate.
  • the scheduler In the event that the total transmission time required for a content source to transmit its data by the completion time is greater than an available transmission time determined for that content source, the scheduler notifies the content source in question that its request is denied or that only some of the data requested can be transmitted.
  • the content source may request a new delivery time and the scheduler will then re-determine the distribution schedule for that content source, or the content source may indicate that its request should be accommodated.
  • the scheduler retrieves data relating to the emergency overage bandwidth available at times surrounding the delivery time. If emergency overage bandwidth is available, the scheduler re-determines the distribution schedules for such content sources and makes another determination about whether the distribution schedules can be accommodated within the time period that transmission is available.
  • the scheduler determines whether a sufficient number of addresses, preferably multicast addresses, exist. If the number of content sources, and thus the number of distribution schedules, are greater than the number of available addresses, the scheduler determines whether any additional addresses have recently become available for reuse. If none have become available or if the number of addresses still remains less than the number of distribution schedules, all the requests cannot be accommodated and the addresses are assigned only to the content sources having a high priority level.
  • the distribution schedules that can be accommodated are then transmitted to certain of the requesting content sources.
  • Each of the content sources begins a transmission, preferably a multicast transmission in accordance with the scheme described in the later-filed incorporated-by- reference copending patent application, to the replicated servers at the scheduled start time using the transfer rate set forth in the distribution schedule After the content sources have transmitted the data, each sends a notification of completion to the scheduler which indicates whether the transmission was successful or unsuccessful.
  • the scheduler may adjust the distribution schedules of other content sources by either assigning a higher transfer rate or by allowing certain content sources to transmit more data if their request for transmission had only been granted m-part If the transmission was unsuccessful, the notification includes causation data that indicates why the transmission was unsuccessful (e g , a link outage, a lack of resources at the replicated servers, an excessive error rate, etc ) Using such data, the scheduler can adjust the distribution schedules to ensure that content sources having a high priority level can complete transmission by the delivery time
  • the invention relates to a system and a related method for coordinating data transmission over a computer network
  • the availability of network bandwidth for data transmission by one or more content sources on the network is obtained Each content source has a priority
  • This function (and generally all of the functionality of this system and the steps of the related method) is performed by a network resource scheduler
  • a person such as an operator or network manager typically has used the network resource scheduler to set the availability
  • the operator, network manager, or other person typically also sets at the network resource scheduler various other parameters and information (e g , content source priority level) that the network resource scheduler obtains and then uses to create the distribution schedules
  • transmission request information is received at the network resource scheduler from each of requesting ones of the content sources
  • This transmission request information includes (i) a requested delivery time for data transmission and (ii) the amount of the data to be transmitted
  • the network resource scheduler determines, based on at least the priority of the requesting content sources and at least some of the transmission request
  • FIG. 1 is an embodiment of a system according to the invention
  • Fig 2 is a block diagram of a general purpose programmable computer in which at least a portion of the invention can be embodied
  • Fig 3 is a flowchart of a process of scheduling data transmission operations
  • Fig 4 is a flowchart of a process of determining distribution schedules for content sources
  • Fig 5 A is a flowchart of a process of determining whether distribution schedules can be accommodated within an available transmission time
  • Fig 5B is a flowchart of a process of determining whether distribution schedules can be accommodated with the number of available multicast addresses
  • Fig 6 is a flowchart of a process of scheduling data transmission operations in accordance with another embodiment of the invention
  • a network resource scheduler 10 communicates with a plurality of content sources 12, 14 over a communications network 24 and schedules data transmission from the content sources 12, 14 to one or more replicated servers 16, 18, 20
  • the scheduler 10 determines whether data transmission from one or more of the content sources 12, 14 to one or more of the replicated servers 16, 18, 20 can be completed over the communications network 24 by a delivery time requested by the content sources 12, 14
  • the transmission from the content sources 12, 14 to the replicated servers 16, 18, 20 is preferably a multicast transmission
  • the scheduler 10 makes the transmission determination based on such parameters as the bandwidth available for data transmission over the communications network 24, the time available for transmission to be completed by the requested delivery time, the amount or size of the data to be delivered by the requested delivery time, the availability of multicast addresses, and the transmission priority levels accorded to the content sources 12, 14 Data delivered to the replicated servers 16, 18, 20, can be retransmitted to
  • Fig 1 Although only certain numbers of content sources, replicated servers, and subscribers are shown in Fig 1 , it should be noted that in general, any number of sources, servers, and subscribers are possible Only two sources 12, 14, three replicated servers 16, 18, 20, and six subscribers 22 are shown in Fig 1 for clarity and as an example
  • Each of the communications networks 24, 26, 28 can be a computer network such as, for example, a WAN, a LAN, the Internet, a wireless network (e g , a cellular data network), a satellite network, some combination of these types of communication mediums, or some other communication medium
  • the communications networks 24, 26, 28 will hereinafter be referred to as networks
  • the scheduler 10 and the content sources 12, 14 are typically located at different nodes on the network 24
  • the scheduler 10 and one or more content sources 12, 14 can reside at the same node on the network 24
  • the replicated servers 16, 18, 20 can be located on the network 24 where the scheduler 10 and content sources 12, 14 reside, as shown in Fig 1, or on an alternative network (not shown) that ties into the network 24
  • the content sources 12, 14 are typically information providers such as, for example, USA Today, Barrons, Sports Illustrated, or other print publishers that are expanding to provide electronic content and are expected to produce a large amount of traffic toward subscribers
  • the data transmitted from the content sources 12, 14 typically takes the form of a plurality of data frames or data packets which together constitute a computer file
  • the replicated servers 16, 18, 20 generally act as local content sources that allow subscribers 22], 22 2 , 22 3 , 22>j to quickly obtain content data locally, that is, on the network nearest to the subscribers 22], 22 2 , 22 3 , 22 N
  • the replicated servers 16, 18, 20, in performing this function aid the subscribers 22 1 , 22 2 , 22 3 , 22 N in avoiding distant or more congested networks
  • the content sources 12, 14 typically and preferably perform a multicast transfer of data to the replicated servers 16, 18, 20, which in turn, perform a multicast transfer of data to subscribers 221, 22 2 , 22 3 , 22 N
  • the multicast transfer preferably is carried out as described in the commonly-
  • the main memory 32 of the scheduler 10 contains data relating to the "pathway" bandwidth available for the network 24, the percentage bandwidth to be made available for content data transfer according to the time of day, the emergency overage bandwidth to be made available for content data transfer according to the time of day, and the availability of multicast addresses
  • Some of the data in the main memory 32 (e g , bandwidth availability and emergency overage) is placed there by actions of a network manager or operator that uses or is responsible for the scheduler 10
  • the availability of multicast addresses varies according to the time of day, and according to the type of session for which they are assigned, I e , semi-permanent sessions or independent sessions
  • the multicast addresses assigned to certain content providers for semi-permanent sessions are generally not available to other content providers, whereas the multicast addresses assigned on a session-by-session basis are generally available to any content provider after completion of use by a prior content provider
  • the scheduler 10 may also retrieve data relating to the priority levels assigned to the content sources 12, 14 from main memory 32
  • the scheduling of data transmission from the content sources 12, 14 to the replicated servers 16, 18, 20 commences in step 100 with the scheduler 10 receiving signals via the network from the content sources 12, 14
  • the signals notify the scheduler 10 of the existence of data, as well as the transfer parameters of the content source 12, 14
  • An example of a transfer parameter is the desired delivery time
  • the delivery time can be a randomly occur ⁇ ng time or a periodically occurring time (e g , eight o'clock a m daily, twelve o'clock a m on the first day of every month)
  • the desired delivery time is typically set by the content sources 12, 14, and could represent the time when the replicated servers 16, 18, 20 require data updates For example, if a content source 12, 14 provides news stories, the replicated servers 16, 18, 20 will require updates on an hourly or a daily basis.
  • the replicated servers 16, 18, 20 will require updates on a weekly or monthly basis Therefore, the content source 12, 14 will set a desired delivery time depending on the frequency at which an update is needed.
  • the central processor 30 at each content source 12, 14 is preferably configured to transmit a request signal at a time prior to the desired delivery time, thereby giving the scheduler 10 enough time to receive the request signal, make appropriate determinations, and notify the content source 12, 14 as to whether the request can be accommodated.
  • each request signal typically includes data relating to: the time the request was made, the desired time at which delivery is to be completed, the size of the content data, in bytes, to be transferred to the replicated servers 16, 18, 20, and the priority level assigned to the content source 12, 14
  • the request signal can further include a security level associated with the data to be transmitted, and group public security keys may be distributed by the scheduler 10 to the content sources 12, 14 for use during the transmission.
  • each content source 12, 14 can transmit identifying information for authentication by the scheduler 10 as a legitimate content source 12, 14.
  • a legitimate content source 12, 14 can be a content source 12, 14 that has previously registered with the scheduler 10 or a source that transmits registration data concurrently with the transmission of a request to the scheduler 10.
  • the priority level for each content source 12, 14 is assigned based on some criterion. For example, certain content sources 12, 14 may be charged a greater fee by the scheduler 10, in return for being accorded a higher priority in the distribution of content data over the network. These priorities can be stored in memory 32 in the scheduler 10 to be factored into the calculation of transmission parameters for each content source 12, 14 transmission.
  • step 102 the scheduler 10 determines the distribution schedules for each of the content sources 12, 14 that have requested distribution of content data.
  • the scheduler 10 obtains the priority level of the content sources 12, 14 requesting transfer of data to the replicated servers 16, 18, 20.
  • the scheduler 10 may obtain the priority levels associated with each content source 12, 14 from main memory 32, or in other embodiments, can be obtain them from the request signals or via the network 24.
  • Control is then routed to step 202 where the scheduler 10 sorts the high priority requests from the low priority requests.
  • Control is then routed to step 204 where the scheduler 10 determines for each content source 12, 14, the amount of data requested for transmission by a desired delivery time. After the respective amounts of data have been obtained, in step 206, the scheduler 10 adds the amounts to obtain the total amount of content data to be transmitted by the high priority content sources.
  • the scheduler 10 determines for each content source 12, 14, a proportional bandwidth factor. This factor relates to the ratio of the size of data to be transmitted by each content source 12, 14, respectively, to the total amount of data to be transmitted. Referring for example to Table 1 below, if USA Today is requesting transmission of 13,450 Kbytes and there are a number of other high priority content sources (i.e., The Wall Street Journal, Barrons, and Time) requesting transmission such that the total amount of data to be transmitted is 199,906 Kbytes, then the proportional bandwidth factor for USA Today is 13,450/199,906, or .067 .
  • control is routed to step 210, and the scheduler determines a delivery factor for each content source 12, 14.
  • the delivery factor is basically a time factor.
  • the scheduler 10 determines for each content source 12, 14, an available transmission time, which is a time interval starting with the time that transmission is to commence and ending with the requested delivery time.
  • the scheduler determines the mean of the available transmission times of all the content sources 12, 14.
  • the delivery factor is thus determined for each content source 12, 14, by the ratio of the mean available transmission time to its available transmission time. Referring again to Table 1, for example, USA Today requests delivery of content data by 7:30 AM.
  • the desired delivery time for other high priority content sources such as The Wall Street Journal, Barrons, and Time are as follows: 7:00 AM, 7: 15 AM, and 7:30 AM, respectively. Assuming that transmission is to commence at 10:00 PM of the prior day, the available transmission time for
  • USA Today is thus 8.5 hours, as that is the amount of time between the time transmission begins, 10 PM until the desired delivery time, 7:30 AM.
  • the Wall Street Journal there are 8 hours, for Barrons there are 8.25 hours, and for the Time there are 8.5 hours. Taking the mean of each hour value for the above-noted content sources, we obtain 8.31 hours.
  • the delivery factor for USA Today is 8.31/8.5, or .97.
  • the Wall Street Journal will have a larger delivery factor, given that there is less time during which delivery can be completed by the desired delivery time, that is, 8 hours, as compared to 8.5 hours available for the content source, USA Toda
  • the delivery factor for The Wall Street Journal is thus 8.31/8 or 1.03.
  • the larger the delivery factor the greater the bandwidth to be accorded to that particular content source to achieve completion of transmission by its earlier delivery time.
  • control is then routed to step 212, and the scheduler 10 determines the bandwidth of the pathway through the network 24 at the times of day corresponding to the available transmission times of each content source 12, 14.
  • the pathway bandwidth is typically the total network bandwidth over the predetermined period.
  • the scheduler 10 determines, in step 214, the percentage of the total network bandwidth that is allocated to content data transfer at the times of day corresponding to the available transmission times. Referring again to the above example relating to USA Today, the scheduler obtains from a main memory 32, or a network manager located on the network 24, the percentage of bandwidth allocated to content data transfer from the time transmission is to commence, 10:00 PM, until the time that delivery is to be completed, 7:30 AM.
  • the scheduler 10 determines if differing percentages exist du ⁇ ng such time, and the duration of time that each percentage is available Referring to Table 2 below, which shows the typical bandwidth profile for a 24 hour period, note that between 10.00 PM and 6 00 AM, 60% of the network bandwidth is allocated to content data transfer Where percentages vary at different times throughout the available transmission times, as will be further described, the scheduler 10 determines a different transfer rate for each duration of time that a different percentage applies The scheduler 10, having determined the percentages and respective durations of time during which each percentage is available, stores this data in memory 32 for ease of later retrieval
  • Control is then routed to step 216 where the scheduler 10 multiplies the pathway bandwidth by the percentage of bandwidth allocated to content data transfer, or percentages, if the percentage varies du ⁇ ng the available transmission time
  • the resulting value(s) obtained is the bandwidth that is available for content data transfer for a time period du ⁇ ng the available transmission time, hereinafter referred to as the actual bandwidth
  • the scheduler 10 determines that the actual bandwidth for data content transfers from the content sources 12, 14 during this interval is 926.4 Kbps
  • the actual bandwidth can be stored in memory 32 for later retrieval.
  • Control is then routed to step 218 and the scheduler 10 determines the transfer rate for each content source 12, 14 by multiplying each actual bandwidth obtained for the available transmission time, by the proportional bandwidth factor and the delivery factor
  • the data transfer rate during 10:00 PM and 6:00 AM would be calculated by the scheduler 10 by multiplying 926 4 Kbps, by a proportional bandwidth factor of 067 and a delivery factor of .97, to obtain 60.2 Kbps
  • a different transfer rate will apply between 6 00 AM and 7 30 AM due to the decrease in the percentage of available bandwidth to 30%, occurring at 6:00 AM
  • the actual bandwidth during this time period is calculated by multiplying 1.544 Mbps by .3, which is, 463.2 Kbps
  • the transfer rate during this time period is thus calculated by multiplying 463.2 by .067 and .97, which is 30.1 Kbps
  • the transfer rate decreases as the percentage of bandwidth allocated to content data transfer decreases.
  • step 220 the scheduler 10 determines the ideal transmission time, that is, the amount of time it would take for each source to transmit the amount of data requested.
  • the ideal transmission time is determined by multiplying the amount of data by the data transfer rate assigned to the content source 12, 14. Referring still to the example above, if USA Today intends to transmit 13,440 Kbytes of data, and the data transfer rate between 10:00 PM and 6:00 AM is 60.2 Kbps, the scheduler 10 multiplies 13,440 Kbytes by the transfer rate of 60.2 Kbps, to obtain an ideal transmission time of 3.7 minutes.
  • the ideal transmission time determined for each source is typically extended, as transmission errors are generally anticipated
  • the amount of time to be added to the ideal transmission time is determined by an overage factor, to be further described
  • control is routed to step 222 and the scheduler 10 determines the overage factor, which is the amount of time that should be added to the ideal transmission time calculated in step 220, to account for errors that may occur during data transmission.
  • the overage factor is typically network-specific, and can be influenced by the amount and degree of typical, recurring, or expected transmission errors For example, a network having few recurring errors that are minor in nature, may have an overage factor of 1.5, whereas a network having many recurring errors of a serious nature, may have an overage factor of 5.0.
  • an overage factor of 1.5 indicates that an additional time equal to about one and a half times the ideal transmission time calculated in step 220, should be added to the ideal transmission time In step 224, the total transmission time is calculated, using the overage time.
  • the additional time needed for potential transmission errors is first calculated by multiplying the ideal transmission time by the overage factor Using the example above, if the ideal transmission time is 3.7 minutes, then the overage factor would be 1.5 multiplied by 3.7, yielding an additional time of about 5.5 minutes. This additional time is added to the ideal transmission time determined in step 220, yielding a total transmission time of 9.2 minutes.
  • the total transmission time can be stored in memory 32 in the scheduler 10 and included in the distribution schedule created for each content source 12, 14.
  • the scheduler sets the start time for which each content source 12, 14 should commence transmission so that it can be completed by the desired delivery time.
  • This start time can be predetermined by the scheduler as the time that transmission is to begin for all sources that have earlier placed their requests. In other embodiments to be discussed below, the start time can be determined per content source, by subtracting from the desired delivery time, the total transmission time determined in step 224. For purposes of discussion however, the predetermined start time will be the same for each of the content sources, provided that they have placed a request by a certain time. For example, referring to Table 2, above, all requests are placed by 9:45 PM in order to be scheduled for transmission at 10:00 PM.
  • step 228 the scheduler determines whether distribution schedules for low priority requests have been determined. If they have not yet been determined, control is routed to step 230 and the low priority requests are retrieved from memory 32.
  • the above-described process of Fig 4 is then re-executed to determine the distribution schedules for each of the low priority content sources. After distribution schedules have been calculated for the low priority content sources, control is routed from step 228 back to Fig. 3, step 104. Referring to Fig. 3, in step 104, the scheduler 10 determines whether the distribution schedules calculated in the flowchart of Fig. 4 can be accommodated.
  • This determination typically involves two sub-determinations further described in the flow charts of Fig. 5A and Fig. 5B.
  • the scheduler 10 determines whether the total transmission time scheduled for data transmission for each of the content sources 12, 14 can be met within the time that transmission is to commence and the time that delivery is to be made, that is, the available transmission time.
  • the scheduler 10 determines whether a sufficient number of multicast addresses exist for the number of content sources 12, 14 requesting distribution.
  • step 300 the steps for determining whether the total transmission time is within the predetermined period, commences with the scheduler 10, in step 300, retrieving from memory 32, the available transmission time for each content source.
  • the scheduler 10 retrieves from memory 32, the total transmission time, which as shown in the example above is 9.2 minutes.
  • step 304 the scheduler retrieves from memory the predetermined start time, which, as stated above, is the time at which each source 12, 14 begins transmitting data.
  • Control is then routed to step 306 where the scheduler 10 determines whether the total transmission time needed to transmit the data is within the interval of the available transmission time. Referring again to the above example, if the total transmission time for USA Today is 9.2 minutes, and there are 8.5 hours of available transmission time, assuming transmission is to commence at 10:00 PM, then the distribution schedule for that USA Today can be completed within the available transmission time. Where a distribution schedule can occur within the available transmission time, control is routed to Fig. 3, step 1 14. The scheduler 10 then distributes transmission instructions to the content sources 12, 14, after multicast addresses have been assigned, as further described below in Fig. 5B. If the total transmission time is greater than the available transmission time control is routed back to the flowchart of Fig. 3, step 106.
  • the scheduler 10 retrieves from memory 32 the set of multicast addresses that are available at the transmission start time
  • the multicast addresses can and may be configured for use in semi- permanent sessions, or configured for single sessions
  • the multicast address is assigned to a content source 12, 14 semi-permanently, that is, for each duration of the time that the content source 12, 14 requests transmission of data
  • the content source 12, 14 is therefore assured that an address is regularly available whenever it requests data transfer over the network
  • a high priority content source 12, 14 may be charged a user fee
  • multicast addresses can be assigned on a session- by-session basis dynamically In this case, the availability of multicast addresses is based on priority and the time of the request, and are assigned after release by a prior content source 12, 14 at the end of a session
  • step 332 the scheduler 10 determines the number of multicast addresses available at the transmission start time This number can be obtained from main memory 32 or from a network manager For purposes of discussion only, the contents sources 12, 14 use session-based multicast addresses for transmission, and therefore that the number of available multicast addresses are those addresses which are used on a session-by-session basis It is important to note that where semi-permanent multicast addresses have been assigned, there is typically no need for the content sources 12, 14 to request a multicast address Upon obtaining the number of addresses, control is routed to step 334 where the scheduler retrieves from memory 32 the number of content sources 12, 14 requesting data transmission at the desired delivery time After obtaining the number of content sources 12, 14 requesting data transmission, control is routed to step 336 where the scheduler 10 determines whether the number of multicast addresses are equal to or greater than the number of content sources 12, 14 that require session-based multicast addresses If the scheduler makes this determination affirmatively, that there exists a sufficient number of addresses to accommodate all of the pending requests, addresses are assigned in step 3
  • step 340 the scheduler 10 determines the number, if any, of additional addresses that are currently being made available for reuse. In this embodiment, a session-based address can again made available to a content source 12, 14 after completion of a previous data transmission from another content source 12, 14 using that address. If the scheduler 10 has received an indication that additional addresses are available, control is routed to step 342 and the number of such addresses are added to the number of addresses previously determined in step 332. Control is then routed again to step 336 to determine whether the increased number of addresses is greater than the number of content sources 12, 14.
  • step 338 addresses are assigned. If the scheduler 10 determines in step 336, that the number of addresses remains greater than the number of sources 12, 14, the scheduler 10 again determines in step 340 if additional addresses have been made available in the time that elapsed since the last determination of reusable addresses was made. If the scheduler 10 determines that no new addresses have been made available, control is then routed to step 106 of Fig. 3.
  • step 106 the scheduler 10 notifies the content sources 12, 14 that their request either will not be accommodated at all or that it will only be partially accommodated.
  • the notification of partial accommodation generally occurs for example, where a sufficient number of multicast addresses are available, but the scheduler 10 determines that the total transmission time for that content source 12, 14 is not within the available transmission time.
  • the scheduler may further indicate that such content sources 12, 14 should request a new delivery time.
  • step 108 the content sources 12, 14 that have been notified of non-accommodation determine whether the notification is acceptable. If acceptable, the content sources 12, 14 signal the scheduler 10 that their requests can be put on hold, and control goes to step 1 14 where the scheduler 10 distributes instructions to those content sources 12, 14 whose requests for transmission of data at the desired delivery time can be accommodated. These sources 12, 14 are generally those accorded the highest priority. In the event that a content source indicates that the notification is not acceptable, control is routed to step 109, where the scheduler determines if the content source 12, 14 is requesting a new delivery time.
  • control is again routed to step 102 and the scheduler recalculates the distribution schedule for that content source 12, 14 based on the new delivery time. If the content sources 12, 14 have not requested a new delivery time, that is, the content sources 12, 14 indicate that their initial request should be accommodated, control is routed to step 1 10 and the scheduler 10 determines whether additional resources on the network can be used
  • step 1 10 the scheduler 10 determines whether additional network resources can be used to satisfy a delivery request The scheduler thus determines the emergency overage bandwidth during the available transmission time Where data relating to the emergency overage bandwidth is stored in memory 32 at the scheduler 10, the scheduler 10 simply retrieves it therefrom Where such data is not stored in memory 32, the scheduler 10 may access the network to obtain it If emergency overage bandwidth is available, control is routed to step 102, and the distribution schedules of such content sources 12, 14 are determined with the additional emergency overage bandwidth
  • control is again routed to step 104
  • the scheduler 10 determines whether the total transmission time during which data transfer is scheduled to occur is within the available transmission time Additionally, the scheduler 10 again determines whether a sufficient number of multicast addresses exist If data transfer cannot occur within the available transmission time, or if an insufficient number of addresses exist, control is routed to step 106 and the content sources 12, 14 are notified that their requests will not be accommodated As stated above, such content sources 12, 14 may request a new delivery time as set forth in step 109 In this case, control would again be routed to step 102 and distribution schedules would be recalculated for such time In the event that the period during which data transmission would occur is within the permissible time period, and a sufficient number of addresses exist, control is routed to step 1 14 In this step, the scheduler 10 distributes transmission instructions to the content sources 12, 14 These instructions include the time to start transmitting the content data to the replicated servers 16, 18, 20, the transfer rate, typically m bits/second, the overage factor
  • certain content sources 12, 14 may be granted either a higher transfer rate, or if their request had earlier been denied in part, the content sources 12, 14 may be granted the ability to transmit a greater amount of data than originally scheduled to transmit. Typically such modifications and adjustments are sent to the content sources 12, 14 that have not yet finished transmitting data.
  • the scheduler 10 adjusts the distribution schedule for that content source 12, 14, and may, in turn, adjust the distribution schedules of other content sources 12, 14. Adjustments are typically made in response to causation data transmitted with the notification relaying the cause of the unsuccessful distribution.
  • the causation data can indicate the existence of a link outage on the network, lack of resources at the replicated servers 16, 18, 20 to handle the incoming data, or simply an excessive error rate. If the content source 12, 14 that experienced the unsuccessful distribution attempt was previously assigned a high priority level, the scheduler may adjust the schedules of the low priority level content sources so that the high priority level content source can complete distribution to the replicated servers 16, 18, 20 by the desired delivery time.
  • step 122 the scheduler 10 determines whether all appropriate adjustments to the distribution schedules have been made in response to the notifications received. If additional adjustments are needed, control is again routed to step 120 and such adjustments are made. If however, all adjustments have been attended to, control is routed to step 124 and scheduling of data transfer from the content sources is completed. The scheduler 10 typically remains idle until other notifications or requests are received.
  • step 102 still other methods of determining distribution schedules can be used.
  • the distribution schedules are determined for each content source request, without first sorting the requests received from the high priority level content sources.
  • the scheduler determines the pathway bandwidth for the network 24 for a period of time beginning with the time the request was received by the scheduler 10, and ending with the desired delivery time. Using the parameters in the example above, if USA Today transmits a request at 8:30 PM for 7:30 AM delivery the next day, the scheduler 10 may determine the pathway bandwidth for that time period. This bandwidth can be stored in memory 32 for later retrieval.
  • the scheduler 10 determines, in step 502, the percentage of the total network bandwidth that is allocated to content data transfer at times during such time period. As described above in the discussion of Table 2, this percentage typically fluctuates during a 24 hour period. Given that data transfer will commence prior to the desired delivery time, the scheduler
  • step 504 determines the duration of time prior to the desired delivery time during which the percentage or percentages are available, hereinafter referred to as the periods of network bandwidth availability.
  • the scheduler may obtain from a network manager that 40% of the available bandwidth is dedicated to data transfer between 8:30 PM and 10:00 PM, that 60% is available between 10:00 PM and 6:00 AM, and that only 30% is dedicated to data transfer between 6:00 AM and 8:00 AM.
  • Control is then routed to step 506, where a multiplication of the percentage(s) obtained in step 502 by the pathway bandwidth obtained in step 500, is carried out yielding the actual bandwidth(s) available for content data transfer during this period.
  • control is routed to step 508 and the scheduler 10 determines the priority level of the content sources 12, 14 requesting transfer of data to the replicated servers 16, 18, 20 at the desired delivery time.
  • the scheduler 10 can obtain the priority levels from the request signal, from main memory 32, or from the network 24.
  • control is routed to step 510, and the scheduler 10 determines the number of content sources 12, 14 requesting data transfer by the desired delivery time.
  • the scheduler 10 divides the actual bandwidth during the time period, by the number of content sources 12, 14 requesting transmission with the time period. Where the number of content sources 12, 14 are of equal priority level, the transfer rates are easily determined in this manner. Where the content sources have differing priority levels however, the scheduler 10 can account for such differing levels by weighting the number of high priority content sources, resulting in an award of greater bandwidth to the high priority content source(s).
  • control is routed to step 514 and the scheduler 10 determines the amount of data to be delivered by each content source 12, 14.
  • the scheduler 10 typically obtains such data from the request signal and stores it in memory 32 for later retrieval.
  • Control is then routed to step 516 where the scheduler 10 determines the amount of time it would take for each source to transmit the amount of data, the ideal transmission time.
  • the ideal transmission time is determined by multiplying the amount of data by the data transfer rate assigned to the source. The ideal transmission time is then stored in memory 32 and included in the distribution schedule created for each content source 12, 14.
  • control is routed to step 518 and the scheduler 10 determines the overage factor, which as described above, is the amount of time that should be added to the ideal transmission time calculated in step 516, to account for errors that may occur during data transmission.
  • the total transmission time is calculated as described above, using the overage factor. The total transmission time can then be stored in memory 32 in the scheduler 10 and included in the distribution schedule created for each content source 12, 14.
  • the scheduler in step 522 sets the start time for which each content source 12, 14 should commence transmission so that it can be completed by the desired delivery time This start time is determined by subtracting from the desired delivery time, the total transmission time determined in step 520. For example, if the desired delivery time is 7:30 AM and the total transmission time is three hours, the content source will be assigned a start time of at least 4:30 AM. Once the start time is determined and stored in memory 32 with the above-stored parameters, the distribution schedule for each content source 12, 14 is generally complete. In accordance with this embodiment, if each request cannot be accommodated after distribution schedules have been calculated, due to a failure to meet the sub-determinations of Fig. 5 A and Fig.
  • the scheduler 10 may sort the high priority content sources and accommodate them before accommodating the low priority content sources. For example, where a determination is made in the process described in the flowchart of Fig. 5A, that the total transmission time falls outside of the available transmission time, the schedules for the high priority sources -ire recalculated in accordance with the flow chart of Fig. 6, with the number content sources being only the high priority content sources. Where a determination is made in the process described in the flowchart of Fig. 5B, that the number of multicast addresses are less than the number of requesting content sources, the available addresses can be assigned to the high priority sources only. Similarly, where distribution schedules cannot be accommodated, any available emergency overage bandwidth obtained in the process described in the flowchart of Fig 3, is awarded to high priority content sources before it is awarded to the low priority content sources

Abstract

The transmission of data (e.g., a computer file) from one or more content sources over a network to one or more replicated servers is scheduled and performed according to the schedule. The content sources request the schedule from a network resource scheduler. The scheduler receives the requests and determines if and how the various requests can be accommodated. The scheduler determines at least a start time and a transfer rate for each of the content sources that can be accommodated.

Description

SCHEDULING DATA TRANSMISSION
Cross-Reference to Related Applications
This application is a continuation-in-part of pending U S patent application serial number 08/585,948, filed on January 12, 1996, which is a contmuation-in-part of pending U S patent application serial number 08/375,493, filed on January 19, 1995 The entirety of each of these "5 two copending patent applications are incorporated herein by reference
Technical Field
This invention relates to scheduling multicast data transmission
Background Information Computer network communication has grown in recent years For example, the number 0 of Internet users in 1995 was twenty-four million, and the growth rate is about ten to fifteen percent each month This growth has been fueled, in part, by the ease of accessing the World Wide Web (WWW), a portion of the Internet that allows users all over the world to obtain a vaπety of information from Web sites Such rapid growth, combined with the decentralized nature of the Internet, has lead to congestion on the Internet This congestion has been called 5 "cybercrawl," and it has led to a desire for solutions that are more cost effective than simply adding network infrastructure Some new alternative network providers are looking at reliable multicast transmission to be a key technology that can be used to minimize network traffic while at the same time distributing replicated web servers to the edges of the network for improved response times for the user This minimizes backbone traffic by keeping traffic as localized as 0 possible, while also improving response to the user by distributing server resource and keeping the queπes and responses from user to server on a minimal transmission path Virtually all networks desirous of this new method to gain efficiency have multiple content sources that they wish to replicate to the edges of the network A major problem is one of coordination How can the content be distributed by many content providers so that the distributions do not overwhelm S network bandwidth, and how can multicast addresses be allocated without conflict among the various content sources9 Summary of the Invention It is an object of the present invention to coordinate the transfer of data to replicated sites from multiple content sources such that network resources are optimally utilized Examples of network resources to be optimized are network bandwidth and the number of multicast addresses available for use
In accordance with the invention, a network resource scheduler (hereinafter "scheduler") receives requests from one or more content sources requesting data transmission to one or more replicated servers The scheduler is coupled to a computer network such as a Wide Area Network (WAN), a Local Area Network (LAN), the Internet, a wireless network (e g , a cellular data network), or a satellite network In accordance with the invention, the network is multicast enabled, I e , multicast addresses are used and are routed through the network by the network infrastructure The content sources transmit data (e g , one or more computer files) to the replicated servers pursuant to one or more distribution schedules generated by the scheduler The scheduler creates the distribution schedules based on the requests from the content sources, which requests typically include the size or amount of the data to be transmitted, the desired completion time for the data transmission, and a priority level associated therewith In one embodiment, the distribution schedules are determined based on a predetermined start time which is a time at which data transmission from each of the requesting content sources will commence
In creating the distribution schedules, the scheduler, in one exemplary embodiment, obtains requests from the content sources and sorts the high priority requests so that their distribution schedules can be determined first The scheduler obtains from each high pπoπty content source, the amount of data requested for transmission and adds the respective amounts to obtain the total amount of content data requested for transmission The scheduler then determines a proportional bandwidth factor and a delivery factor for each high pπoπty content source After making such determinations, the scheduler determines the amount of bandwidth available for content data transmission at times surrounding the desired completion time and also the duration of time that such amount of bandwidth is available After obtaining the available bandwidth, the scheduler determines the transfer rate for each source using the available bandwidth, the proportional bandwidth factor and the delivery factor The total transmission time is then determined for each high priority content source using the transfer rate, the amount of data to be transmitted, and an overage factor which is indicative of the likelihood of errors occurπng during transmission. After the distribution schedules have been determined for the high priority content sources, distribution schedules for the low priority content sources are determined in the manner described above. The distribution schedules transmitted to the content sources generally include at least a data transmission start time and a data transfer rate. In the event that the total transmission time required for a content source to transmit its data by the completion time is greater than an available transmission time determined for that content source, the scheduler notifies the content source in question that its request is denied or that only some of the data requested can be transmitted. In response, the content source may request a new delivery time and the scheduler will then re-determine the distribution schedule for that content source, or the content source may indicate that its request should be accommodated. If the content source indicates that its request should be accommodated, the scheduler retrieves data relating to the emergency overage bandwidth available at times surrounding the delivery time. If emergency overage bandwidth is available, the scheduler re-determines the distribution schedules for such content sources and makes another determination about whether the distribution schedules can be accommodated within the time period that transmission is available.
In the event that the distribution schedules can be accommodated, the scheduler determines whether a sufficient number of addresses, preferably multicast addresses, exist. If the number of content sources, and thus the number of distribution schedules, are greater than the number of available addresses, the scheduler determines whether any additional addresses have recently become available for reuse. If none have become available or if the number of addresses still remains less than the number of distribution schedules, all the requests cannot be accommodated and the addresses are assigned only to the content sources having a high priority level.
The distribution schedules that can be accommodated are then transmitted to certain of the requesting content sources. Each of the content sources begins a transmission, preferably a multicast transmission in accordance with the scheme described in the later-filed incorporated-by- reference copending patent application, to the replicated servers at the scheduled start time using the transfer rate set forth in the distribution schedule After the content sources have transmitted the data, each sends a notification of completion to the scheduler which indicates whether the transmission was successful or unsuccessful. If the transmission was successful and it occurred ahead of schedule, the scheduler may adjust the distribution schedules of other content sources by either assigning a higher transfer rate or by allowing certain content sources to transmit more data if their request for transmission had only been granted m-part If the transmission was unsuccessful, the notification includes causation data that indicates why the transmission was unsuccessful (e g , a link outage, a lack of resources at the replicated servers, an excessive error rate, etc ) Using such data, the scheduler can adjust the distribution schedules to ensure that content sources having a high priority level can complete transmission by the delivery time
Having generally described the invention and one exemplary embodiment thereof, a further summary of the invention is now provided
In one aspect, the invention relates to a system and a related method for coordinating data transmission over a computer network With this system and related method, the availability of network bandwidth for data transmission by one or more content sources on the network is obtained Each content source has a priority This function (and generally all of the functionality of this system and the steps of the related method) is performed by a network resource scheduler Prior to the obtaining step, a person such as an operator or network manager typically has used the network resource scheduler to set the availability The operator, network manager, or other person typically also sets at the network resource scheduler various other parameters and information (e g , content source priority level) that the network resource scheduler obtains and then uses to create the distribution schedules After the obtaining step, transmission request information is received at the network resource scheduler from each of requesting ones of the content sources This transmission request information includes (i) a requested delivery time for data transmission and (ii) the amount of the data to be transmitted The network resource scheduler then determines, based on at least the priority of the requesting content sources and at least some of the transmission request information from each requesting content source, network bandwidth available to each requesting content source such that data transmission by each requesting content source is completable by the requested delivery time The network resource scheduler then sends to each requesting content source (i) the time to begin data transmission and (2) the rate at which to transmit the data Each requesting content source then preferably performs a multicast transmission in accordance with the scheme described in the later-filed incorporated-by-reference copending patent application In this aspect of the invention, at least one of the content sources can be co-resident with the network resource scheduler It is noted that in general the terms "transfer," "transmit," "transmission," "distribute," "distribution," "deliver," "delivery," etc. are used herein interchangeably to identify the same thing, namely, the transfer of data across a computer network or communications link.
The foregoing and other objects, aspects, features, and advantages of the invention will become more apparent from the following description and from the claims.
Bnef Description of the Drawings In the drawings, like reference characters generally refer to the same parts throughout the different views Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention Fig 1 is an embodiment of a system according to the invention
Fig 2 is a block diagram of a general purpose programmable computer in which at least a portion of the invention can be embodied
Fig 3 is a flowchart of a process of scheduling data transmission operations Fig 4 is a flowchart of a process of determining distribution schedules for content sources
Fig 5 A is a flowchart of a process of determining whether distribution schedules can be accommodated within an available transmission time
Fig 5B is a flowchart of a process of determining whether distribution schedules can be accommodated with the number of available multicast addresses Fig 6 is a flowchart of a process of scheduling data transmission operations in accordance with another embodiment of the invention
Description Referring to Fig 1 , in accordance with the invention, a network resource scheduler 10 (hereinafter "scheduler") communicates with a plurality of content sources 12, 14 over a communications network 24 and schedules data transmission from the content sources 12, 14 to one or more replicated servers 16, 18, 20 In general, the scheduler 10 determines whether data transmission from one or more of the content sources 12, 14 to one or more of the replicated servers 16, 18, 20 can be completed over the communications network 24 by a delivery time requested by the content sources 12, 14 In accordance with the invention, the transmission from the content sources 12, 14 to the replicated servers 16, 18, 20 is preferably a multicast transmission As further described below, the scheduler 10 makes the transmission determination based on such parameters as the bandwidth available for data transmission over the communications network 24, the time available for transmission to be completed by the requested delivery time, the amount or size of the data to be delivered by the requested delivery time, the availability of multicast addresses, and the transmission priority levels accorded to the content sources 12, 14 Data delivered to the replicated servers 16, 18, 20, can be retransmitted to one or more subscribers 221, 222, 223, 22N of the content sources 12, 14 over further communications networks 26, 28
Although only certain numbers of content sources, replicated servers, and subscribers are shown in Fig 1 , it should be noted that in general, any number of sources, servers, and subscribers are possible Only two sources 12, 14, three replicated servers 16, 18, 20, and six subscribers 22 are shown in Fig 1 for clarity and as an example
Each of the communications networks 24, 26, 28 can be a computer network such as, for example, a WAN, a LAN, the Internet, a wireless network (e g , a cellular data network), a satellite network, some combination of these types of communication mediums, or some other communication medium For purposes of discussion, the communications networks 24, 26, 28 will hereinafter be referred to as networks The scheduler 10 and the content sources 12, 14 are typically located at different nodes on the network 24 In another embodiment, the scheduler 10 and one or more content sources 12, 14 can reside at the same node on the network 24 The replicated servers 16, 18, 20 can be located on the network 24 where the scheduler 10 and content sources 12, 14 reside, as shown in Fig 1, or on an alternative network (not shown) that ties into the network 24
The content sources 12, 14 are typically information providers such as, for example, USA Today, Barrons, Sports Illustrated, or other print publishers that are expanding to provide electronic content and are expected to produce a large amount of traffic toward subscribers The data transmitted from the content sources 12, 14 typically takes the form of a plurality of data frames or data packets which together constitute a computer file The replicated servers 16, 18, 20 generally act as local content sources that allow subscribers 22], 222, 223, 22>j to quickly obtain content data locally, that is, on the network nearest to the subscribers 22], 222, 223, 22N The replicated servers 16, 18, 20, in performing this function, aid the subscribers 221, 222, 223, 22N in avoiding distant or more congested networks The content sources 12, 14 typically and preferably perform a multicast transfer of data to the replicated servers 16, 18, 20, which in turn, perform a multicast transfer of data to subscribers 221, 222, 223, 22N The multicast transfer preferably is carried out as described in the commonly-owned, incorporated-by-reference, related, copending patent application serial number 08/585,948 which is identified above The scheduler 10, content sources 12, 14, replicated servers 16, 18, 20, and subscribers 22], 222, 223, 22N can be computers, such as PCs or workstations, running any one of a variety of operating systems Referring to Fig 2, the scheduler 10, content sources 12, 14, and replicated servers 16, 18, 20 each typically include a central processor 30, a main memory 32 for storing programs and/or data, an input/output controller 34, a network interface 36, one or more input devices 38 such as a keyboard or mouse, a display device 40, a fixed or hard disk drive unit 42, a floppy disk drive unit 44, a tape drive unit 46, and a data bus 48 coupling these components to allow communication therebetween The content sources 12, 14, and replicated servers 16, 18, 20 typically include an additional memory module 50 for storing content data The subscribers 22], 222, 22}, 22N ay include some or all of the above-noted components
In one embodiment, the main memory 32 of the scheduler 10 contains data relating to the "pathway" bandwidth available for the network 24, the percentage bandwidth to be made available for content data transfer according to the time of day, the emergency overage bandwidth to be made available for content data transfer according to the time of day, and the availability of multicast addresses Some of the data in the main memory 32 (e g , bandwidth availability and emergency overage) is placed there by actions of a network manager or operator that uses or is responsible for the scheduler 10 The availability of multicast addresses varies according to the time of day, and according to the type of session for which they are assigned, I e , semi-permanent sessions or independent sessions The multicast addresses assigned to certain content providers for semi-permanent sessions are generally not available to other content providers, whereas the multicast addresses assigned on a session-by-session basis are generally available to any content provider after completion of use by a prior content provider The scheduler 10 may also retrieve data relating to the priority levels assigned to the content sources 12, 14 from main memory 32
Referring to Fig 3, the scheduling of data transmission from the content sources 12, 14 to the replicated servers 16, 18, 20 commences in step 100 with the scheduler 10 receiving signals via the network from the content sources 12, 14 The signals notify the scheduler 10 of the existence of data, as well as the transfer parameters of the content source 12, 14 An example of a transfer parameter is the desired delivery time The delivery time can be a randomly occurπng time or a periodically occurring time (e g , eight o'clock a m daily, twelve o'clock a m on the first day of every month) The desired delivery time is typically set by the content sources 12, 14, and could represent the time when the replicated servers 16, 18, 20 require data updates For example, if a content source 12, 14 provides news stories, the replicated servers 16, 18, 20 will require updates on an hourly or a daily basis. Similarly, if a content source 12, 14 provides an online magazine, the replicated servers 16, 18, 20 will require updates on a weekly or monthly basis Therefore, the content source 12, 14 will set a desired delivery time depending on the frequency at which an update is needed. The central processor 30 at each content source 12, 14 is preferably configured to transmit a request signal at a time prior to the desired delivery time, thereby giving the scheduler 10 enough time to receive the request signal, make appropriate determinations, and notify the content source 12, 14 as to whether the request can be accommodated. Referring again to step 100, each request signal typically includes data relating to: the time the request was made, the desired time at which delivery is to be completed, the size of the content data, in bytes, to be transferred to the replicated servers 16, 18, 20, and the priority level assigned to the content source 12, 14 In another embodiment, the request signal can further include a security level associated with the data to be transmitted, and group public security keys may be distributed by the scheduler 10 to the content sources 12, 14 for use during the transmission. Additionally, each content source 12, 14 can transmit identifying information for authentication by the scheduler 10 as a legitimate content source 12, 14. A legitimate content source 12, 14 can be a content source 12, 14 that has previously registered with the scheduler 10 or a source that transmits registration data concurrently with the transmission of a request to the scheduler 10.
The priority level for each content source 12, 14 is assigned based on some criterion. For example, certain content sources 12, 14 may be charged a greater fee by the scheduler 10, in return for being accorded a higher priority in the distribution of content data over the network. These priorities can be stored in memory 32 in the scheduler 10 to be factored into the calculation of transmission parameters for each content source 12, 14 transmission.
In step 102, the scheduler 10 determines the distribution schedules for each of the content sources 12, 14 that have requested distribution of content data. Referring to the flowchart of Fig. 4, the process for determining distribution schedules is illustrated according to one embodiment of the invention. In step 200, the scheduler 10 obtains the priority level of the content sources 12, 14 requesting transfer of data to the replicated servers 16, 18, 20. The scheduler 10 may obtain the priority levels associated with each content source 12, 14 from main memory 32, or in other embodiments, can be obtain them from the request signals or via the network 24. Control is then routed to step 202 where the scheduler 10 sorts the high priority requests from the low priority requests. Note that this discussion hereinafter refers to the sorted high priority content sources simply as "content sources." Control is then routed to step 204 where the scheduler 10 determines for each content source 12, 14, the amount of data requested for transmission by a desired delivery time. After the respective amounts of data have been obtained, in step 206, the scheduler 10 adds the amounts to obtain the total amount of content data to be transmitted by the high priority content sources.
In step 208, the scheduler 10 determines for each content source 12, 14, a proportional bandwidth factor. This factor relates to the ratio of the size of data to be transmitted by each content source 12, 14, respectively, to the total amount of data to be transmitted. Referring for example to Table 1 below, if USA Today is requesting transmission of 13,450 Kbytes and there are a number of other high priority content sources (i.e., The Wall Street Journal, Barrons, and Time) requesting transmission such that the total amount of data to be transmitted is 199,906 Kbytes, then the proportional bandwidth factor for USA Today is 13,450/199,906, or .067.
TABLE 1
Content Data Date of Time of Date of Time of Content Size Priority Source Request Request Delivery Delivery in Kbytes Level
USA Today 8: 1 : 1996 8:30PM 8:2: 1996 7:30AM 13450 High
Wall Street 8: 1 : 1996 8:45PM 8:2: 1996 7:00AM 15798 High Journal
Golf Digest 8: 1 : 1996 8:55PM 8:2: 1996 8:00AM 19247 Low
WB 8: 1 : 1996 9:05PM 8:2: 1996 8:30AM 52355 Low Encyclopedia
Sports 8: 1 : 1996 9: 15PM 8:2: 1996 7:00AM 15830 Low Illustrated
People 8: 1 : 1996 9:25PM 8:2: 1996 8:00AM 45826 Lo
Barrons 8: 1 : 1996 9:30PM 8:2: 1996 7: 15AM 83937 High
NASA 8: 1 : 1996 9:35PM 8:2: 1996 7:45AM 953672 Low
Time 8: 1 : 1996 9:45PM 8:2: 1996 7:30AM 86721 High
After obtaining a proportional bandwidth factor for all of the content sources 12, 14, control is routed to step 210, and the scheduler determines a delivery factor for each content source 12, 14. The delivery factor is basically a time factor. The scheduler 10 determines for each content source 12, 14, an available transmission time, which is a time interval starting with the time that transmission is to commence and ending with the requested delivery time. The scheduler then determines the mean of the available transmission times of all the content sources 12, 14. The delivery factor is thus determined for each content source 12, 14, by the ratio of the mean available transmission time to its available transmission time. Referring again to Table 1, for example, USA Today requests delivery of content data by 7:30 AM. Note that the desired delivery time for other high priority content sources, such as The Wall Street Journal, Barrons, and Time are as follows: 7:00 AM, 7: 15 AM, and 7:30 AM, respectively. Assuming that transmission is to commence at 10:00 PM of the prior day, the available transmission time for
USA Today, is thus 8.5 hours, as that is the amount of time between the time transmission begins, 10 PM until the desired delivery time, 7:30 AM. Referring still to Table 1, note that for The Wall Street Journal, there are 8 hours, for Barrons there are 8.25 hours, and for the Time there are 8.5 hours. Taking the mean of each hour value for the above-noted content sources, we obtain 8.31 hours. Thus, the delivery factor for USA Today is 8.31/8.5, or .97. The Wall Street Journal will have a larger delivery factor, given that there is less time during which delivery can be completed by the desired delivery time, that is, 8 hours, as compared to 8.5 hours available for the content source, USA Toda The delivery factor for The Wall Street Journal is thus 8.31/8 or 1.03. The larger the delivery factor, the greater the bandwidth to be accorded to that particular content source to achieve completion of transmission by its earlier delivery time.
After obtaining the delivery factor, control is then routed to step 212, and the scheduler 10 determines the bandwidth of the pathway through the network 24 at the times of day corresponding to the available transmission times of each content source 12, 14. The pathway bandwidth is typically the total network bandwidth over the predetermined period. The scheduler 10 then determines, in step 214, the percentage of the total network bandwidth that is allocated to content data transfer at the times of day corresponding to the available transmission times. Referring again to the above example relating to USA Today, the scheduler obtains from a main memory 32, or a network manager located on the network 24, the percentage of bandwidth allocated to content data transfer from the time transmission is to commence, 10:00 PM, until the time that delivery is to be completed, 7:30 AM. Given that the percentage of bandwidth allocated to content data transfer may vary at certain times within the available transmission time, the scheduler 10 also determines if differing percentages exist duπng such time, and the duration of time that each percentage is available Referring to Table 2 below, which shows the typical bandwidth profile for a 24 hour period, note that between 10.00 PM and 6 00 AM, 60% of the network bandwidth is allocated to content data transfer Where percentages vary at different times throughout the available transmission times, as will be further described, the scheduler 10 determines a different transfer rate for each duration of time that a different percentage applies The scheduler 10, having determined the percentages and respective durations of time during which each percentage is available, stores this data in memory 32 for ease of later retrieval
TABLE 2
Figure imgf000014_0001
Control is then routed to step 216 where the scheduler 10 multiplies the pathway bandwidth by the percentage of bandwidth allocated to content data transfer, or percentages, if the percentage varies duπng the available transmission time The resulting value(s) obtained is the bandwidth that is available for content data transfer for a time period duπng the available transmission time, hereinafter referred to as the actual bandwidth For example, if the pathway bandwidth is 1 544 Mbps, and 60% of the pathway bandwidth is available for data transfer between 10 00 PM and 6 00 AM, the scheduler 10 determines that the actual bandwidth for data content transfers from the content sources 12, 14 during this interval is 926.4 Kbps The actual bandwidth can be stored in memory 32 for later retrieval.
Control is then routed to step 218 and the scheduler 10 determines the transfer rate for each content source 12, 14 by multiplying each actual bandwidth obtained for the available transmission time, by the proportional bandwidth factor and the delivery factor
Referring again to the Table 2 and the examples above relating to USA Today, the data transfer rate during 10:00 PM and 6:00 AM would be calculated by the scheduler 10 by multiplying 926 4 Kbps, by a proportional bandwidth factor of 067 and a delivery factor of .97, to obtain 60.2 Kbps Given that the data transferred by USA Today is to be delivered by 7.30 AM, a different transfer rate will apply between 6 00 AM and 7 30 AM due to the decrease in the percentage of available bandwidth to 30%, occurring at 6:00 AM The actual bandwidth during this time period is calculated by multiplying 1.544 Mbps by .3, which is, 463.2 Kbps The transfer rate during this time period is thus calculated by multiplying 463.2 by .067 and .97, which is 30.1 Kbps Thus, it is clear that the transfer rate decreases as the percentage of bandwidth allocated to content data transfer decreases.
Once the transfer rate for each content source 12, 14 has been obtained, control is routed to step 220 where the scheduler 10 determines the ideal transmission time, that is, the amount of time it would take for each source to transmit the amount of data requested. The ideal transmission time is determined by multiplying the amount of data by the data transfer rate assigned to the content source 12, 14. Referring still to the example above, if USA Today intends to transmit 13,440 Kbytes of data, and the data transfer rate between 10:00 PM and 6:00 AM is 60.2 Kbps, the scheduler 10 multiplies 13,440 Kbytes by the transfer rate of 60.2 Kbps, to obtain an ideal transmission time of 3.7 minutes. For this example, a determination of the transmission time using the transfer rate assigned between 6:00 AM and 7:30 AM is moot, as transmission will likely be completed within the first hour of transmission. Where each content source 12, 14 has been assigned a different transfer rate and each desires to transmit a different .amount of data, the ideal transmission time for each content source 12, 14 will differ. As will be further discussed, the ideal transmission time determined for each source is typically extended, as transmission errors are generally anticipated The amount of time to be added to the ideal transmission time is determined by an overage factor, to be further described After determining the ideal transmission time for each content source 12, 14, control is routed to step 222 and the scheduler 10 determines the overage factor, which is the amount of time that should be added to the ideal transmission time calculated in step 220, to account for errors that may occur during data transmission. The overage factor is typically network-specific, and can be influenced by the amount and degree of typical, recurring, or expected transmission errors For example, a network having few recurring errors that are minor in nature, may have an overage factor of 1.5, whereas a network having many recurring errors of a serious nature, may have an overage factor of 5.0. Using the former example, an overage factor of 1.5 indicates that an additional time equal to about one and a half times the ideal transmission time calculated in step 220, should be added to the ideal transmission time In step 224, the total transmission time is calculated, using the overage time. The additional time needed for potential transmission errors is first calculated by multiplying the ideal transmission time by the overage factor Using the example above, if the ideal transmission time is 3.7 minutes, then the overage factor would be 1.5 multiplied by 3.7, yielding an additional time of about 5.5 minutes. This additional time is added to the ideal transmission time determined in step 220, yielding a total transmission time of 9.2 minutes. The total transmission time can be stored in memory 32 in the scheduler 10 and included in the distribution schedule created for each content source 12, 14.
Having obtained the transfer rate and the total transmission time for each content source 12, 14, the scheduler, in step 226, sets the start time for which each content source 12, 14 should commence transmission so that it can be completed by the desired delivery time. This start time can be predetermined by the scheduler as the time that transmission is to begin for all sources that have earlier placed their requests. In other embodiments to be discussed below, the start time can be determined per content source, by subtracting from the desired delivery time, the total transmission time determined in step 224. For purposes of discussion however, the predetermined start time will be the same for each of the content sources, provided that they have placed a request by a certain time. For example, referring to Table 2, above, all requests are placed by 9:45 PM in order to be scheduled for transmission at 10:00 PM. Once the start time is determined and stored in memory 32 with the above-stored parameters, the distribution schedule for each content source 12, 14 is generally complete. Control is then routed to step 228 and the scheduler determines whether distribution schedules for low priority requests have been determined. If they have not yet been determined, control is routed to step 230 and the low priority requests are retrieved from memory 32. The above-described process of Fig 4 is then re-executed to determine the distribution schedules for each of the low priority content sources. After distribution schedules have been calculated for the low priority content sources, control is routed from step 228 back to Fig. 3, step 104. Referring to Fig. 3, in step 104, the scheduler 10 determines whether the distribution schedules calculated in the flowchart of Fig. 4 can be accommodated. This determination typically involves two sub-determinations further described in the flow charts of Fig. 5A and Fig. 5B. In one of such sub-determinations, the scheduler 10 determines whether the total transmission time scheduled for data transmission for each of the content sources 12, 14 can be met within the time that transmission is to commence and the time that delivery is to be made, that is, the available transmission time. In the other sub-determination, the scheduler 10 determines whether a sufficient number of multicast addresses exist for the number of content sources 12, 14 requesting distribution.
Referring to Fig. 5 A the steps for determining whether the total transmission time is within the predetermined period, commences with the scheduler 10, in step 300, retrieving from memory 32, the available transmission time for each content source. Referring again to Table A above, USA Today has an available transmission time of 8.5 hours. After retrieving data relating to the available transmission time, control proceeds to step 302 and the scheduler 10 retrieves from memory 32, the total transmission time, which as shown in the example above is 9.2 minutes. Control is then routed to step 304 and the scheduler retrieves from memory the predetermined start time, which, as stated above, is the time at which each source 12, 14 begins transmitting data. Control is then routed to step 306 where the scheduler 10 determines whether the total transmission time needed to transmit the data is within the interval of the available transmission time. Referring again to the above example, if the total transmission time for USA Today is 9.2 minutes, and there are 8.5 hours of available transmission time, assuming transmission is to commence at 10:00 PM, then the distribution schedule for that USA Today can be completed within the available transmission time. Where a distribution schedule can occur within the available transmission time, control is routed to Fig. 3, step 1 14. The scheduler 10 then distributes transmission instructions to the content sources 12, 14, after multicast addresses have been assigned, as further described below in Fig. 5B. If the total transmission time is greater than the available transmission time control is routed back to the flowchart of Fig. 3, step 106. Where a distribution schedule can occur within the available transmission time, control is then routed to the flowchart of Fig 5B As shown m step 330, the scheduler 10 retrieves from memory 32 the set of multicast addresses that are available at the transmission start time It is important to note that the multicast addresses can and may be configured for use in semi- permanent sessions, or configured for single sessions In a semi-permanent session, the multicast address is assigned to a content source 12, 14 semi-permanently, that is, for each duration of the time that the content source 12, 14 requests transmission of data The content source 12, 14 is therefore assured that an address is regularly available whenever it requests data transfer over the network To obtain an assigned semi-permanent multicast address, a high priority content source 12, 14 may be charged a user fee Alternatively, multicast addresses can be assigned on a session- by-session basis dynamically In this case, the availability of multicast addresses is based on priority and the time of the request, and are assigned after release by a prior content source 12, 14 at the end of a session
In step 332 the scheduler 10 determines the number of multicast addresses available at the transmission start time This number can be obtained from main memory 32 or from a network manager For purposes of discussion only, the contents sources 12, 14 use session-based multicast addresses for transmission, and therefore that the number of available multicast addresses are those addresses which are used on a session-by-session basis It is important to note that where semi-permanent multicast addresses have been assigned, there is typically no need for the content sources 12, 14 to request a multicast address Upon obtaining the number of addresses, control is routed to step 334 where the scheduler retrieves from memory 32 the number of content sources 12, 14 requesting data transmission at the desired delivery time After obtaining the number of content sources 12, 14 requesting data transmission, control is routed to step 336 where the scheduler 10 determines whether the number of multicast addresses are equal to or greater than the number of content sources 12, 14 that require session-based multicast addresses If the scheduler makes this determination affirmatively, that there exists a sufficient number of addresses to accommodate all of the pending requests, addresses are assigned in step 338 Control is then routed to Fig 3, step 114
Should the scheduler 10 determine that the number of content sources 12, 14 is greater than the number of available addresses, control is routed to step 340 In this step, the scheduler 10 determines the number, if any, of additional addresses that are currently being made available for reuse. In this embodiment, a session-based address can again made available to a content source 12, 14 after completion of a previous data transmission from another content source 12, 14 using that address. If the scheduler 10 has received an indication that additional addresses are available, control is routed to step 342 and the number of such addresses are added to the number of addresses previously determined in step 332. Control is then routed again to step 336 to determine whether the increased number of addresses is greater than the number of content sources 12, 14. If the scheduler 10 makes this determination affirmatively, control is routed to step 338 where addresses are assigned. If the scheduler 10 determines in step 336, that the number of addresses remains greater than the number of sources 12, 14, the scheduler 10 again determines in step 340 if additional addresses have been made available in the time that elapsed since the last determination of reusable addresses was made. If the scheduler 10 determines that no new addresses have been made available, control is then routed to step 106 of Fig. 3.
Referring again to Fig. 3, in step 106 the scheduler 10 notifies the content sources 12, 14 that their request either will not be accommodated at all or that it will only be partially accommodated. The notification of partial accommodation generally occurs for example, where a sufficient number of multicast addresses are available, but the scheduler 10 determines that the total transmission time for that content source 12, 14 is not within the available transmission time. After notifying the content sources 12, 14 that their requests cannot be accommodated, or can only be partially accommodated, the scheduler may further indicate that such content sources 12, 14 should request a new delivery time.
In step 108, the content sources 12, 14 that have been notified of non-accommodation determine whether the notification is acceptable. If acceptable, the content sources 12, 14 signal the scheduler 10 that their requests can be put on hold, and control goes to step 1 14 where the scheduler 10 distributes instructions to those content sources 12, 14 whose requests for transmission of data at the desired delivery time can be accommodated. These sources 12, 14 are generally those accorded the highest priority. In the event that a content source indicates that the notification is not acceptable, control is routed to step 109, where the scheduler determines if the content source 12, 14 is requesting a new delivery time. If an affirmative determination is made, control is again routed to step 102 and the scheduler recalculates the distribution schedule for that content source 12, 14 based on the new delivery time. If the content sources 12, 14 have not requested a new delivery time, that is, the content sources 12, 14 indicate that their initial request should be accommodated, control is routed to step 1 10 and the scheduler 10 determines whether additional resources on the network can be used
In step 1 10, the scheduler 10 determines whether additional network resources can be used to satisfy a delivery request The scheduler thus determines the emergency overage bandwidth during the available transmission time Where data relating to the emergency overage bandwidth is stored in memory 32 at the scheduler 10, the scheduler 10 simply retrieves it therefrom Where such data is not stored in memory 32, the scheduler 10 may access the network to obtain it If emergency overage bandwidth is available, control is routed to step 102, and the distribution schedules of such content sources 12, 14 are determined with the additional emergency overage bandwidth
After the distribution schedules have been determined, control is again routed to step 104 In this step, the scheduler 10 determines whether the total transmission time during which data transfer is scheduled to occur is within the available transmission time Additionally, the scheduler 10 again determines whether a sufficient number of multicast addresses exist If data transfer cannot occur within the available transmission time, or if an insufficient number of addresses exist, control is routed to step 106 and the content sources 12, 14 are notified that their requests will not be accommodated As stated above, such content sources 12, 14 may request a new delivery time as set forth in step 109 In this case, control would again be routed to step 102 and distribution schedules would be recalculated for such time In the event that the period during which data transmission would occur is within the permissible time period, and a sufficient number of addresses exist, control is routed to step 1 14 In this step, the scheduler 10 distributes transmission instructions to the content sources 12, 14 These instructions include the time to start transmitting the content data to the replicated servers 16, 18, 20, the transfer rate, typically m bits/second, the overage factor, and the multicast address assigned After receiving the above instructions, the content sources 12, 14 transmit content data at the scheduled time as shown in step 1 16, for distribution to the replicated servers 16, 18, 20 As the content sources 12, 14 finish transmitting the data to the replicated servers 16, 18, 20, a notification of completion is sent to the scheduler 10 Upon receipt at the scheduler 10 as given by step 1 18, the scheduler 10 determines whether the notification of completion indicates that the content source 12, 14 is ahead of schedule or behind schedule If the notification suggests that the content source 12, 14 has completed transmission ahead of schedule, modifications and adjustments to start times, overage factors and/or transfer rates of other content sources 12, 14 can be made, as shown in step 120. In such a scenario, certain content sources 12, 14 may be granted either a higher transfer rate, or if their request had earlier been denied in part, the content sources 12, 14 may be granted the ability to transmit a greater amount of data than originally scheduled to transmit. Typically such modifications and adjustments are sent to the content sources 12, 14 that have not yet finished transmitting data.
In the event that the notification received in step 1 18 suggests that a content source 12, 14 was not successful in delivering content data to all of the replicated servers 16, 18, 20, the scheduler 10 adjusts the distribution schedule for that content source 12, 14, and may, in turn, adjust the distribution schedules of other content sources 12, 14. Adjustments are typically made in response to causation data transmitted with the notification relaying the cause of the unsuccessful distribution. The causation data can indicate the existence of a link outage on the network, lack of resources at the replicated servers 16, 18, 20 to handle the incoming data, or simply an excessive error rate. If the content source 12, 14 that experienced the unsuccessful distribution attempt was previously assigned a high priority level, the scheduler may adjust the schedules of the low priority level content sources so that the high priority level content source can complete distribution to the replicated servers 16, 18, 20 by the desired delivery time.
In step 122, the scheduler 10 determines whether all appropriate adjustments to the distribution schedules have been made in response to the notifications received. If additional adjustments are needed, control is again routed to step 120 and such adjustments are made. If however, all adjustments have been attended to, control is routed to step 124 and scheduling of data transfer from the content sources is completed. The scheduler 10 typically remains idle until other notifications or requests are received.
Referring again to Fig. 3, step 102, still other methods of determining distribution schedules can be used. Referring to Fig. 6, in another embodiment of the invention, the distribution schedules are determined for each content source request, without first sorting the requests received from the high priority level content sources. In step 500, the scheduler determines the pathway bandwidth for the network 24 for a period of time beginning with the time the request was received by the scheduler 10, and ending with the desired delivery time. Using the parameters in the example above, if USA Today transmits a request at 8:30 PM for 7:30 AM delivery the next day, the scheduler 10 may determine the pathway bandwidth for that time period. This bandwidth can be stored in memory 32 for later retrieval. The scheduler 10 then determines, in step 502, the percentage of the total network bandwidth that is allocated to content data transfer at times during such time period. As described above in the discussion of Table 2, this percentage typically fluctuates during a 24 hour period. Given that data transfer will commence prior to the desired delivery time, the scheduler
10, in step 504, determines the duration of time prior to the desired delivery time during which the percentage or percentages are available, hereinafter referred to as the periods of network bandwidth availability. Referring again to Table 2, the scheduler may obtain from a network manager that 40% of the available bandwidth is dedicated to data transfer between 8:30 PM and 10:00 PM, that 60% is available between 10:00 PM and 6:00 AM, and that only 30% is dedicated to data transfer between 6:00 AM and 8:00 AM. Control is then routed to step 506, where a multiplication of the percentage(s) obtained in step 502 by the pathway bandwidth obtained in step 500, is carried out yielding the actual bandwidth(s) available for content data transfer during this period. After the scheduler determines the actual bandwidth(s), control is routed to step 508 and the scheduler 10 determines the priority level of the content sources 12, 14 requesting transfer of data to the replicated servers 16, 18, 20 at the desired delivery time. The scheduler 10 can obtain the priority levels from the request signal, from main memory 32, or from the network 24. After the priority levels have been determined and stored in memory, control is routed to step 510, and the scheduler 10 determines the number of content sources 12, 14 requesting data transfer by the desired delivery time. In step 512, the scheduler 10 divides the actual bandwidth during the time period, by the number of content sources 12, 14 requesting transmission with the time period. Where the number of content sources 12, 14 are of equal priority level, the transfer rates are easily determined in this manner. Where the content sources have differing priority levels however, the scheduler 10 can account for such differing levels by weighting the number of high priority content sources, resulting in an award of greater bandwidth to the high priority content source(s).
After the transfer rates for the content sources 12, 14 have been determined, control is routed to step 514 and the scheduler 10 determines the amount of data to be delivered by each content source 12, 14. The scheduler 10 typically obtains such data from the request signal and stores it in memory 32 for later retrieval. Control is then routed to step 516 where the scheduler 10 determines the amount of time it would take for each source to transmit the amount of data, the ideal transmission time. The ideal transmission time is determined by multiplying the amount of data by the data transfer rate assigned to the source. The ideal transmission time is then stored in memory 32 and included in the distribution schedule created for each content source 12, 14. After determining the ideal transmission time for each content source 12, 14, control is routed to step 518 and the scheduler 10 determines the overage factor, which as described above, is the amount of time that should be added to the ideal transmission time calculated in step 516, to account for errors that may occur during data transmission. In step 520, the total transmission time is calculated as described above, using the overage factor. The total transmission time can then be stored in memory 32 in the scheduler 10 and included in the distribution schedule created for each content source 12, 14.
Having obtained the transfer rate and the total transmission time for each content source 12, 14, the scheduler in step 522, sets the start time for which each content source 12, 14 should commence transmission so that it can be completed by the desired delivery time This start time is determined by subtracting from the desired delivery time, the total transmission time determined in step 520. For example, if the desired delivery time is 7:30 AM and the total transmission time is three hours, the content source will be assigned a start time of at least 4:30 AM. Once the start time is determined and stored in memory 32 with the above-stored parameters, the distribution schedule for each content source 12, 14 is generally complete. In accordance with this embodiment, if each request cannot be accommodated after distribution schedules have been calculated, due to a failure to meet the sub-determinations of Fig. 5 A and Fig. 5B, the scheduler 10 may sort the high priority content sources and accommodate them before accommodating the low priority content sources. For example, where a determination is made in the process described in the flowchart of Fig. 5A, that the total transmission time falls outside of the available transmission time, the schedules for the high priority sources -ire recalculated in accordance with the flow chart of Fig. 6, with the number content sources being only the high priority content sources. Where a determination is made in the process described in the flowchart of Fig. 5B, that the number of multicast addresses are less than the number of requesting content sources, the available addresses can be assigned to the high priority sources only. Similarly, where distribution schedules cannot be accommodated, any available emergency overage bandwidth obtained in the process described in the flowchart of Fig 3, is awarded to high priority content sources before it is awarded to the low priority content sources
The steps and functionality described herein preferably is achieved by one or more computer programs running on one or more of the general purpose computers described previously It is possible as an alternative to achieve the steps and functionality described herein with specialized hardware When provided as software running on a general-purpose computer, as preferred, the invention can run on top of any one of a variety of operating systems
Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention as claimed Accordingly, the invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims
What is claimed is

Claims

Claims 1 A method for coordinating data transmission over a computer network, comprising obtaining, at a network resource scheduler, availability of network bandwidth for data transmission by one or more content sources on the network wherein each content source has a priority; receiving, at the network resource scheduler from each of requesting ones of the content sources, transmission request information including requested delivery time for data transmission and amount of data transmission, determining, at the network resource scheduler, based on at least the priority of the requesting content sources and at least some of the transmission request information from each requesting content source, network bandwidth available to each requesting content source such that data transmission by each requesting content source is completable by the requested delivery time; and sending, from the network resource scheduler to each requesting content source, time to begin data transmission and rate at which to transmit data.
2 The method of claim 1 further comprising: transmitting, from each requesting content source, data over the network at the time and rate sent from the network resource scheduler
3 The method of claim 2 wherein the transmitting step comprises a multicast transmission to one or more replicated servers over the network.
4. The method of claim 1 wherein the obtaining step comprises obtaining, at the network resource scheduler, availability of network bandwidth for data transmission by one or more content sources on the network wherein at least one of the content sources is co-resident with the network resource scheduler.
5 The method of claim 1 wherein the obtaining step further comprises obtaining, at the network resource scheduler, the priority of at least some of the content sources on the network
6. The method of claim 1 wherein the receiving step further comprises receiving, at the network resource scheduler from each requesting content source, transmission request information including security parameters
7 The method of claim 1 further comprising determining a pathway bandwidth at times prior to the requested delivery time, determining a percentage bandwidth allocated to data transmission at times prior to the requested delivery time, and determining, using the pathway bandwidth and the percentage bandwidth, the actual network bandwidth allocated to data transmission
8 The method of claim 7 further comprising determining the amount of data requested for data transmission by each of the requesting ones of the content sources, determining a total amount of data requested for transmission, and determining a proportional bandwidth factor for each requesting ones of the content sources
9 The method of claim 8 further comprising determining a time available for data transmission for each of the requesting ones of the content sources; determining a mean available time for data transmission, and determining a delivery factor for each of the requesting ones of the content sources
10 The method of claim 9 further comprising determining the rate at which to transmit data for each of the requesting ones of the content sources, by multiplying the actual network bandwidth by the proportional bandwidth factor and the delivery factor
1 1 The method of claim 10 further comprising determining a transmission time for each of the requesting ones of the content sources by multiplying the transfer rate by the amount of data requested for data transmission
12 The method of claim 1 1 further comprising determining for each requesting ones of the content sources whether the transmission time is within the time available for data transmission, and where the data transmission time is not within the time available, determining whether emergency overage bandwidth is available
13 The method of claim 12 further comprising determining the availability of multicast addresses for the number of requesting content sources, and sending a multicast address to the requesting ones of the content sources.
14. A system for coordinating data transmission over a computer network, comprising: means for obtaining availability of network bandwidth for data transmission by one or more content sources on the network wherein each content source has a priority; means for receiving, from each of requesting ones of the content sources, transmission request information including requested delivery time for data transmission and size of data transmission; means for determining, based on at least the priority of the requesting content sources and at least some of the transmission request information from each requesting content source, network bandwidth available to each requesting content source such that data transmission by each requesting content source is completable by the requested delivery time; and means for sending, to each requesting content source, time to begin data transmission and rate at which to transmit data.
15. The system of claim 14 further comprising means for transmitting, from each requesting content source, data over the network at the time and rate from the sending means.
16. The system of claim 14 wherein the obtaining means is also for obtaining the priority of at least some of the content sources on the network.
17 The system of claim 14 wherein the receiving means is also for receiving, from each requesting content source, transmission request information including security parameters.
18. The system of claim 14 wherein the receiving means is also for receiving, from each requesting content source, notification of delivery of transmission.
19. The system of claim 14 wherein the means for obtaining availability of network bandwidth for data transmission further comprises means for obtaining availability of emergency overage bandwidth when data transmission by each requesting content source is not completable by the requested delivery time.
20. A method for coordinating data transmission over a computer network, comprising: communicating with at least one content source having data for transmission over the network, obtaining from the content source data transmission request information including requested delivery time for data transmission and size of data transmission, determining network bandwidth availability such that data transmission is completable by the requested delivery time, the determination based on at least some of the transmission request information, and sending to the content source a start time and a transmission rate for data transmission over the network, where data transmission is completable by the requested delivery time
21 The method of claim 20 wherein the determining step further comprises determining a network bandwidth allocated to data transmission from the content source, and determining a duration for which the allocated network bandwidth is available
22 The method of claim 21 further comprising determining an amount of time available to the content source for transmission of data, and determining whether the transmission can occur within the amount of time available
23 The method of claim 22 further comprising determining the availability of emergency overage bandwidth when transmission from the content source cannot occur within the amount of time available
24 The method of claim 20, further compπsing receiving notification from the content source when transmission is completed
PCT/US1997/015040 1996-08-28 1997-08-26 Scheduling data transmission WO1998009412A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU40925/97A AU4092597A (en) 1996-08-28 1997-08-26 Scheduling data transmission

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/704,115 1996-08-28
US08/704,115 US5920701A (en) 1995-01-19 1996-08-28 Scheduling data transmission

Publications (1)

Publication Number Publication Date
WO1998009412A1 true WO1998009412A1 (en) 1998-03-05

Family

ID=24828127

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/015040 WO1998009412A1 (en) 1996-08-28 1997-08-26 Scheduling data transmission

Country Status (3)

Country Link
US (1) US5920701A (en)
AU (1) AU4092597A (en)
WO (1) WO1998009412A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1237387A1 (en) * 2001-02-28 2002-09-04 Siemens Aktiengesellschaft Method and system for the transmission of data in a radio communication system having a limited transmission time
EP3236633A4 (en) * 2014-12-18 2017-11-15 ZTE Corporation Method and apparatus for processing resource operation request

Families Citing this family (244)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873627B1 (en) 1995-01-19 2005-03-29 The Fantastic Corporation System and method for sending packets over a computer network
JP3000913B2 (en) * 1996-02-02 2000-01-17 富士ゼロックス株式会社 Data transmission apparatus and method
US6101180A (en) 1996-11-12 2000-08-08 Starguide Digital Networks, Inc. High bandwidth broadcast system having localized multicast access to broadcast content
JP3244166B2 (en) * 1996-12-25 2002-01-07 ユニデン株式会社 Information reservation transmission method, information reservation transmission method, and transmission server
US8065701B2 (en) * 1997-04-30 2011-11-22 Sony Corporation Information broadcasting method, information broadcasting system, and receiving apparatus for transmitting data other than program through digital broadcasting
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6069882A (en) * 1997-07-30 2000-05-30 Bellsouth Intellectual Property Corporation System and method for providing data services using idle cell resources
WO1999016226A1 (en) * 1997-09-22 1999-04-01 Hughes Electronics Corporation Broadcast delivery newsgroup of information to a personal computer for local storage and access
US6115745A (en) * 1997-11-25 2000-09-05 International Business Machines Corporation Scheduling of distributed agents in a dialup network
US6292835B1 (en) * 1997-11-26 2001-09-18 International Business Machines Corporation Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting
US6745237B1 (en) * 1998-01-15 2004-06-01 Mci Communications Corporation Method and apparatus for managing delivery of multimedia content in a communications system
US6223221B1 (en) * 1998-02-05 2001-04-24 International Business Machines Corporation System and method for calculating the transfer rate across a communication medium using a downloaded test program and transferring data accordingly
US7054935B2 (en) * 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
US8060613B2 (en) 1998-02-10 2011-11-15 Level 3 Communications, Llc Resource invalidation in a content delivery network
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6418141B1 (en) * 1998-06-01 2002-07-09 Lucent Technologies, Inc. Multi-cast enabled web server
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US8010627B1 (en) * 1998-09-25 2011-08-30 Sprint Communications Company L.P. Virtual content publishing system
US6366761B1 (en) * 1998-10-06 2002-04-02 Teledesic Llc Priority-based bandwidth allocation and bandwidth-on-demand in a low-earth-orbit satellite data communication network
JP4312287B2 (en) * 1998-12-28 2009-08-12 株式会社日立製作所 Digital content distribution system
US6631413B1 (en) * 1999-01-28 2003-10-07 International Business Machines Corporation Method for optimizing profits in electronic delivery of digital objects
WO2000048364A1 (en) * 1999-02-09 2000-08-17 Sony Corporation Information distribution system, terminal device, server device, method of data reception and method of data transmission
US6981050B1 (en) * 1999-02-11 2005-12-27 Loudeye Corp. Digital remote recorder
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
JP3419355B2 (en) * 1999-08-10 2003-06-23 日本電気株式会社 Scheduling control device and method
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US6564064B1 (en) * 1999-12-01 2003-05-13 Trimble Navigation Limited Cellular telephone using pseudolites for determining location
US6674994B1 (en) * 1999-12-01 2004-01-06 Panamsat Corporation Pickup and delivery of data files
US6779003B1 (en) 1999-12-16 2004-08-17 Livevault Corporation Systems and methods for backing up data files
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6460055B1 (en) 1999-12-16 2002-10-01 Livevault Corporation Systems and methods for backing up data files
US6847984B1 (en) 1999-12-16 2005-01-25 Livevault Corporation Systems and methods for backing up data files
US6625623B1 (en) 1999-12-16 2003-09-23 Livevault Corporation Systems and methods for backing up data files
JP2001273231A (en) * 2000-01-17 2001-10-05 Fuji Photo Film Co Ltd Method and device for controlling image data transfer and recording medium
US7349955B1 (en) * 2000-02-11 2008-03-25 Goamerica, Inc. Method of and system for transferring data over a wireless communications network
US7093026B2 (en) * 2000-02-14 2006-08-15 Matsushita Electric Industrial, Co. Ltd Data transmission system
JP2001237886A (en) * 2000-02-18 2001-08-31 Sony Corp Data transmission system and method, data transmission management system and method
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6718361B1 (en) 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6993587B1 (en) * 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
DE60141695D1 (en) * 2000-04-07 2010-05-12 Network Appliance Inc METHOD AND DEVICE FOR SAFE AND SCALABLE TRANSFER OF DATA FILES IN DISTRIBUTED NETWORKS
US7240100B1 (en) 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
JP3440998B2 (en) * 2000-04-18 2003-08-25 日本電気株式会社 Satellite communication system for data distribution
US8903950B2 (en) * 2000-05-05 2014-12-02 Citrix Systems, Inc. Personalized content delivery using peer-to-peer precaching
GB2379589B (en) * 2000-06-20 2004-08-11 Nds Ltd Unicast/multicast architecture
US7812856B2 (en) 2000-10-26 2010-10-12 Front Row Technologies, Llc Providing multiple perspectives of a venue activity to electronic wireless hand held devices
KR20020035580A (en) * 2000-06-27 2002-05-11 요트.게.아. 롤페즈 Method of determining a schedule, scheduler and system
US7796162B2 (en) * 2000-10-26 2010-09-14 Front Row Technologies, Llc Providing multiple synchronized camera views for broadcast from a live venue activity to remote viewers
US7782363B2 (en) * 2000-06-27 2010-08-24 Front Row Technologies, Llc Providing multiple video perspectives of activities through a data network to a remote multimedia server for selective display by remote viewing audiences
US7149549B1 (en) * 2000-10-26 2006-12-12 Ortiz Luis M Providing multiple perspectives for a venue activity through an electronic hand held device
US20030112354A1 (en) * 2001-12-13 2003-06-19 Ortiz Luis M. Wireless transmission of in-play camera views to hand held devices
US8583027B2 (en) 2000-10-26 2013-11-12 Front Row Technologies, Llc Methods and systems for authorizing computing devices for receipt of venue-based data based on the location of a user
US7630721B2 (en) 2000-06-27 2009-12-08 Ortiz & Associates Consulting, Llc Systems, methods and apparatuses for brokering data between wireless devices and data rendering devices
US6901444B1 (en) * 2000-06-30 2005-05-31 Sony Corporation Method of and apparatus for communicating data structures between devices in a networking environment
US6952733B1 (en) 2000-06-30 2005-10-04 Northrop Grumman Corporation System and method for reliable multicast data distribution over an unreliable packet switched network
FR2811098B1 (en) * 2000-07-03 2002-10-04 Canon Res Ct France Sa METHOD AND DEVICE FOR TRANSFERRING AN ELECTRONIC DOCUMENT IN A COMMUNICATION NETWORK
US6934735B1 (en) * 2000-07-07 2005-08-23 International Business Machines Corporation Software and method for controlling the timing of delayed downloads
JP4543513B2 (en) * 2000-07-17 2010-09-15 ソニー株式会社 Bidirectional communication system, display device, base device, and bidirectional communication method
US6992990B2 (en) * 2000-07-17 2006-01-31 Sony Corporation Radio communication apparatus
JP4501243B2 (en) * 2000-07-24 2010-07-14 ソニー株式会社 Television receiver and program execution method
US6954615B2 (en) * 2000-07-25 2005-10-11 Sony Corporation Display terminal
US7801158B2 (en) * 2000-10-16 2010-09-21 Verizon Communications Inc. Congestion and thru-put visibility and isolation
US7170905B1 (en) * 2000-08-10 2007-01-30 Verizon Communications Inc. Vertical services integration enabled content distribution mechanisms
JP2002064398A (en) * 2000-08-21 2002-02-28 Sony Corp Wireless transmitter
JP3530118B2 (en) * 2000-08-29 2004-05-24 松下電器産業株式会社 Base station apparatus and wireless communication method
US6959327B1 (en) * 2000-08-29 2005-10-25 International Business Machines Corporation System and method for dispatching and scheduling network transmissions with feedback
US7403994B1 (en) * 2000-08-29 2008-07-22 International Business Machines Corporation Method of doing business over a network by transmission and retransmission of digital information on a network during time slots
US7150017B1 (en) 2000-08-29 2006-12-12 International Business Machines Corporation System and method for scheduling digital information transmission and retransmission on a network during time slots
JP2002077868A (en) * 2000-08-31 2002-03-15 Sony Corp Contents delivery reservation method, contents delivery method, reservation control device, and program storage medium
WO2002023522A1 (en) * 2000-09-14 2002-03-21 Matsushita Electric Industrial Co., Ltd. Data distribution system, data distribution method, data distribution apparatus, server, medium, and program
JP4881503B2 (en) 2000-09-19 2012-02-22 ソニー株式会社 Command processing method and wireless communication device
JP2002111686A (en) * 2000-10-04 2002-04-12 Sony Corp Communication method and communication device
JP4572461B2 (en) 2000-10-10 2010-11-04 ソニー株式会社 Terminal device setting method
US7249170B2 (en) * 2000-12-06 2007-07-24 Intelliden System and method for configuration, management and monitoring of network resources
US8219662B2 (en) * 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US20020069271A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Event manager for network operating system
US6978301B2 (en) * 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US7054946B2 (en) * 2000-12-06 2006-05-30 Intelliden Dynamic configuration of network devices to enable data transfers
AU2002241722A1 (en) * 2000-12-22 2002-07-08 Radiance Technologies, Inc. System and method for automated and optimized file transfers among devices in a network
US7065586B2 (en) * 2000-12-22 2006-06-20 Radiance Technologies, Inc. System and method for scheduling and executing data transfers over a network
US7203768B2 (en) * 2000-12-22 2007-04-10 Intel Corporation Managing network traffic using hashing functions
US20050273514A1 (en) * 2000-12-22 2005-12-08 Ray Milkey System and method for automated and optimized file transfers among devices in a network
US7142508B2 (en) * 2000-12-22 2006-11-28 Radiance Technologies, Inc. System and method for controlling data transfer rates on a network
US20020087623A1 (en) * 2000-12-30 2002-07-04 Eatough David A. Method and apparatus for determining network topology and/or managing network related tasks
US20020103922A1 (en) * 2001-01-26 2002-08-01 Qwest Communications International Inc. Wireless information delivery
EP1233348A1 (en) * 2001-02-20 2002-08-21 Matsushita Electric Industrial Co., Ltd. Data transmission system
JP4191902B2 (en) * 2001-02-28 2008-12-03 株式会社日立製作所 Content distribution device
WO2002071242A1 (en) * 2001-03-01 2002-09-12 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US7237017B1 (en) 2001-03-13 2007-06-26 Panamsat Corporation Micronode in a satellite based content delivery system
US7130908B1 (en) 2001-03-13 2006-10-31 Intelsat Ltd. Forward cache management between edge nodes in a satellite based content delivery system
US6886029B1 (en) 2001-03-13 2005-04-26 Panamsat Corporation End to end simulation of a content delivery system
US20020131428A1 (en) * 2001-03-13 2002-09-19 Vivian Pecus Large edge node for simultaneous video on demand and live streaming of satellite delivered content
US7174373B1 (en) 2001-03-13 2007-02-06 Panamsat Corporation Self-contained demonstration node in a satellite based content delivery system
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US7149797B1 (en) * 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
US7340505B2 (en) * 2001-04-02 2008-03-04 Akamai Technologies, Inc. Content storage and replication in a managed internet content storage environment
US8180904B1 (en) 2001-04-26 2012-05-15 Nokia Corporation Data routing and management with routing path selectivity
US20060167985A1 (en) * 2001-04-26 2006-07-27 Albanese Michael J Network-distributed data routing
US9143545B1 (en) 2001-04-26 2015-09-22 Nokia Corporation Device classification for media delivery
US8990334B2 (en) * 2001-04-26 2015-03-24 Nokia Corporation Rule-based caching for packet-based data transfer
US7895445B1 (en) 2001-04-26 2011-02-22 Nokia Corporation Token-based remote data access
US9032097B2 (en) * 2001-04-26 2015-05-12 Nokia Corporation Data communication with remote network node
US7139834B1 (en) * 2001-04-26 2006-11-21 Avvenu, Inc. Data routing monitoring and management
US6782350B1 (en) * 2001-04-27 2004-08-24 Blazent, Inc. Method and apparatus for managing resources
CA2448262A1 (en) * 2001-05-25 2002-12-05 N2 Broadband, Inc. System and method for scheduling the distribution of assets from multiple asset providers to multiple receivers
US6976010B2 (en) * 2001-06-28 2005-12-13 International Business Machines Corporation Method for syndicating online content
WO2003015311A1 (en) * 2001-08-10 2003-02-20 Cast4All N.V. System and method for transmitting information and network operating centre therefor
US8296400B2 (en) 2001-08-29 2012-10-23 International Business Machines Corporation System and method for generating a configuration schema
US7200548B2 (en) * 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
FR2829330B1 (en) * 2001-08-31 2003-11-28 Canon Kk METHOD FOR REQUESTING RECEIPT OF THE RESULT OF EXECUTION OF A REMOTE FUNCTION ON A PREDETERMINED DATE
CN1575582A (en) 2001-09-28 2005-02-02 塞维斯通讯公司 Configurable adaptive global traffic control and management
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US7233781B2 (en) 2001-10-10 2007-06-19 Ochoa Optics Llc System and method for emergency notification content delivery
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20030079053A1 (en) * 2001-10-23 2003-04-24 Kevin Burns System and method for evaluating effectiveness of network configuration management tools
US20040260716A1 (en) * 2001-10-31 2004-12-23 Masataka Sugiura Content information transferring device and content information receiving device
US7016967B2 (en) * 2001-11-08 2006-03-21 Northrop Grumman Corporation Methodology for fast file transfer protocol
US20030093515A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Quality of service control of streamed content delivery
US8290909B2 (en) * 2001-11-15 2012-10-16 International Business Machines Corporation Access manager for databases
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
JP2003162470A (en) * 2001-11-27 2003-06-06 Fujitsu Ltd Program and method for delivery control
US7457851B2 (en) * 2001-12-13 2008-11-25 Thomson Licensing Apparatus and methods for information transfer using a cached server
US6856604B2 (en) * 2001-12-19 2005-02-15 Qualcomm Incorporated Efficient multi-cast broadcasting for packet data systems
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US8166185B2 (en) * 2002-03-05 2012-04-24 Hewlett-Packard Development Company, L.P. System and method for enterprise software distribution
JP4039086B2 (en) * 2002-03-05 2008-01-30 ソニー株式会社 Information processing apparatus and information processing method, information processing system, recording medium, and program
US20030188188A1 (en) * 2002-03-15 2003-10-02 Microsoft Corporation Time-window-constrained multicast for future delivery multicast
US7085848B2 (en) * 2002-03-15 2006-08-01 Microsoft Corporation Time-window-constrained multicast using connection scheduling
US6983449B2 (en) 2002-03-15 2006-01-03 Electronic Data Systems Corporation System and method for configuring software for distribution
US7590618B2 (en) * 2002-03-25 2009-09-15 Hewlett-Packard Development Company, L.P. System and method for providing location profile data for network nodes
US7171479B2 (en) * 2002-04-26 2007-01-30 International Business Machines Corporation Efficient delivery of boot code images from a network server
JP4066705B2 (en) * 2002-05-01 2008-03-26 ブラザー工業株式会社 Image processing system, program, and recording medium
US20030208394A1 (en) * 2002-05-01 2003-11-06 Todd Burris Sales tracking and forecasting application tool
US8401032B2 (en) * 2002-05-06 2013-03-19 Telefonaktiebolaget Lm Ericsson (Publ) Multi-user multimedia messaging services
US6959329B2 (en) * 2002-05-15 2005-10-25 Intelliden System and method for transforming configuration commands
US20040003067A1 (en) * 2002-06-27 2004-01-01 Daniel Ferrin System and method for enabling a user interface with GUI meta data
US7464145B2 (en) 2002-07-11 2008-12-09 Intelliden, Inc. Repository-independent system and method for asset management and reconciliation
US8370420B1 (en) 2002-07-11 2013-02-05 Citrix Systems, Inc. Web-integrated display of locally stored content objects
US7533398B2 (en) * 2002-07-26 2009-05-12 The Associated Press Automatic selection of encoding parameters for transmission of media objects
US7461158B2 (en) * 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US7366893B2 (en) * 2002-08-07 2008-04-29 Intelliden, Inc. Method and apparatus for protecting a network from attack
US7558847B2 (en) * 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US20040078457A1 (en) * 2002-10-21 2004-04-22 Tindal Glen D. System and method for managing network-device configurations
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US7630305B2 (en) 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US20040230681A1 (en) * 2002-12-06 2004-11-18 John Strassner Apparatus and method for implementing network resources to provision a service using an information model
US20040117437A1 (en) * 2002-12-16 2004-06-17 Exanet, Co. Method for efficient storing of sparse files in a distributed cache
US20040151187A1 (en) * 2003-01-31 2004-08-05 Lichtenstein Walter D. Scheduling data transfers for multiple use requests
US20040153567A1 (en) * 2003-01-31 2004-08-05 Lichtenstein Walter D. Scheduling data transfers using virtual nodes
US20040158582A1 (en) * 2003-02-11 2004-08-12 Shuichi Takagi Method and apparatus for synchronously transferring data from a local storage medium to a remote storage medium, and method and system for managing transfer of data from a source storage medium to a repository storage medium
US7865536B1 (en) 2003-02-14 2011-01-04 Google Inc. Garbage collecting systems and methods
FR2856489B1 (en) * 2003-06-23 2005-08-26 Bouygues Telecom Sa METHOD FOR DOWNLOADING FILES ON MOBILE EQUIPMENT
US8136025B1 (en) 2003-07-03 2012-03-13 Google Inc. Assigning document identification tags
US7568034B1 (en) * 2003-07-03 2009-07-28 Google Inc. System and method for data distribution
US7287086B2 (en) * 2003-07-09 2007-10-23 Internatinonal Business Machines Corporation Methods, systems and computer program products for controlling data transfer for data replication or backup based on system and/or network resource information
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
JP2005063153A (en) * 2003-08-13 2005-03-10 Sony Corp Information distribution system, terminal device, server device, method for distributing information, and program for terminal device
US7225208B2 (en) * 2003-09-30 2007-05-29 Iron Mountain Incorporated Systems and methods for backing up data files
US7644183B2 (en) * 2003-12-11 2010-01-05 Searete, Llc Accelerated reception of spatial-to-temporal translated data
WO2005060528A2 (en) * 2003-12-11 2005-07-07 Searete Llc Spatial-to-temporal data translation and transmission
US20050132415A1 (en) * 2003-12-11 2005-06-16 Hillis W. D. Spatial-to-temporal data translation and transmission
US20050132149A1 (en) * 2003-12-11 2005-06-16 W. Daniel Hillis Spatial-to-temporal data translation and scheduling and control
AU2004299145B2 (en) * 2003-12-17 2011-08-25 Glaxosmithkline Llc Methods for synthesis of encoded libraries
FR2864397A1 (en) * 2003-12-23 2005-06-24 France Telecom Digital candidate file transmission temporal management method, involves finding mailing date by taking into account expiration date, and sending file using successive putbacks until file has been completely sent before expiration date
US8489442B1 (en) 2004-02-02 2013-07-16 Avaya Inc. Interface for meeting facilitation and coordination, method and apparatus
US7698366B2 (en) * 2004-02-12 2010-04-13 Avaya, Inc. Method and apparatus for facilitating the transportation of medical images on a communication network
US20050188089A1 (en) * 2004-02-24 2005-08-25 Lichtenstein Walter D. Managing reservations for resources
JP2005267167A (en) * 2004-03-18 2005-09-29 Hitachi Ltd Load distribution method and system
US20060064478A1 (en) * 2004-05-03 2006-03-23 Level 3 Communications, Inc. Geo-locating load balancing
US8089972B2 (en) 2004-05-03 2012-01-03 Level 3 Communications, Llc Registration redirect server
JP4160093B2 (en) * 2004-05-19 2008-10-01 Kddi株式会社 Content delivery control system, delivery schedule creation method thereof, and computer program
JPWO2005119969A1 (en) * 2004-06-02 2008-04-03 松下電器産業株式会社 Wireless transmission method
US7453885B2 (en) * 2004-10-13 2008-11-18 Rivulet Communications, Inc. Network connection device
FR2877173B1 (en) * 2004-10-25 2007-04-27 France Telecom METHOD, DATA MEDIUM AND DEVICE FOR PLANNING CONTENT BROADCASTING
US8768350B2 (en) 2004-12-09 2014-07-01 Level 3 Communications, Llc Systems and methods for locating endpoints in a communication network
US9843557B2 (en) 2004-12-09 2017-12-12 Level 3 Communications, Llc Systems and methods for dynamically registering endpoints in a network
US7734019B1 (en) * 2004-12-09 2010-06-08 Level 3 Communications, Llc Systems and methods for third party emergency call termination
US8346843B2 (en) 2004-12-10 2013-01-01 Google Inc. System and method for scalable data distribution
US9400875B1 (en) 2005-02-11 2016-07-26 Nokia Corporation Content routing with rights management
US7934007B2 (en) * 2005-03-05 2011-04-26 Intel Corporation Server side TFTP flow control
US8201205B2 (en) 2005-03-16 2012-06-12 Tvworks, Llc Upstream bandwidth management methods and apparatus
JP2006262143A (en) * 2005-03-17 2006-09-28 Ibm Japan Ltd Communication relay device, information management system, control method and program
US20060253807A1 (en) * 2005-04-05 2006-11-09 Hirokazu So Recording medium and data processing device
GB2425012A (en) * 2005-04-08 2006-10-11 Quadriga Technology Ltd Ranking data files for scheduling transmission
JP5257649B2 (en) * 2005-05-24 2013-08-07 日本電気株式会社 Switching system, switching method, and switching program between communication devices
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US8090807B2 (en) * 2006-01-23 2012-01-03 Lg Electronics Inc. Home code setting method for home network system
US7984378B1 (en) 2006-02-07 2011-07-19 Avaya Inc. Management of meetings by grouping
US8199761B2 (en) * 2006-04-20 2012-06-12 Nokia Corporation Communications multiplexing with packet-communication networks
US8600794B2 (en) * 2006-05-10 2013-12-03 Avaya Inc. Meeting notification and merging agents
US7778858B1 (en) 2006-07-17 2010-08-17 Avaya Inc. Linking unable to respond messages to entries in electronic calendar
CN100490425C (en) * 2006-07-17 2009-05-20 杭州华三通信技术有限公司 Multicast network deploying method and multicast network
US20080091497A1 (en) * 2006-07-27 2008-04-17 Patrick Julien Broadcast Days
US20080103904A1 (en) * 2006-07-27 2008-05-01 Patrick Julien Fine-Grained Criteria Targeting
US20080097824A1 (en) * 2006-07-27 2008-04-24 Patrick Julien Campaign Performance Report
US20080095052A1 (en) * 2006-07-27 2008-04-24 Patrick Julien Network Control Time Spans
US20080097848A1 (en) * 2006-07-27 2008-04-24 Patrick Julien Day Part Frame Criteria
US9143818B1 (en) 2006-09-11 2015-09-22 Nokia Corporation Remote access to shared media
US7693736B1 (en) 2006-10-30 2010-04-06 Avaya Inc. Recurring meeting schedule wizard
US8037143B1 (en) 2006-10-30 2011-10-11 Avaya Inc. Automatic display of email distribution lists
US10445703B1 (en) 2006-10-30 2019-10-15 Avaya Inc. Early enough reminders
US9438567B1 (en) 2006-11-15 2016-09-06 Nokia Corporation Location-based remote media access via mobile device
US7827240B1 (en) 2007-01-02 2010-11-02 Avaya Inc. Calendar item hierarchy for automatic specialization
EP2115923A4 (en) * 2007-02-09 2017-06-14 Clipsal Australia Pty Ltd Wireless network communications system
US7760642B2 (en) 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
US7796510B2 (en) 2007-03-12 2010-09-14 Citrix Systems, Inc. Systems and methods for providing virtual fair queueing of network traffic
US20080244042A1 (en) * 2007-03-26 2008-10-02 Sugih Jamin Method and system for communicating media over a computer network
US8099565B2 (en) * 2007-03-27 2012-01-17 The Board Of Regents Of The University Of Texas System Methods and devices for determining quality of services of storage systems
WO2008151050A2 (en) * 2007-06-01 2008-12-11 Nenuphar, Inc. Integrated system and method for implementing messaging, planning, and search functions in a mobile device
US20090006229A1 (en) * 2007-06-28 2009-01-01 Embarq Holdings Company, Llc System and method for telephony billing codes
US8418194B2 (en) * 2007-08-31 2013-04-09 Centurylink Intellectual Property Llc System and method for dynamic bandwidth allocation
US8355486B2 (en) * 2007-10-31 2013-01-15 Centurylink Intellectual Property Llc System and method for inbound call billing
US9313245B2 (en) * 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
US9047235B1 (en) 2007-12-28 2015-06-02 Nokia Corporation Content management for packet-communicating devices
JP5181018B2 (en) * 2008-03-31 2013-04-10 パナソニック株式会社 Monitoring system
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8930538B2 (en) 2008-04-04 2015-01-06 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US7782884B2 (en) 2008-07-07 2010-08-24 Embarq Holdings Company, Llc System and method for adjusting bandwidth based on a time of day profile
JP4639251B2 (en) * 2008-08-22 2011-02-23 株式会社日立製作所 Information processing system, management apparatus, program, information processing method, and management method
US9450818B2 (en) * 2009-01-16 2016-09-20 Broadcom Corporation Method and system for utilizing a gateway to enable peer-to-peer communications in service provider networks
EP2446590B1 (en) * 2009-06-22 2015-11-25 Citrix Systems, Inc. Systems and methods for platform rate limiting
JP5452602B2 (en) * 2009-08-12 2014-03-26 三菱電機株式会社 Data transfer device, data transfer method, and data transfer system
US8756195B2 (en) * 2009-08-27 2014-06-17 The Boeing Company Universal delta set management
US20130007240A1 (en) * 2011-06-30 2013-01-03 At&T Intellectual Property I, L.P. Systems and methods to provide availability notifications for denied content requests
US11323337B2 (en) 2011-09-27 2022-05-03 Comcast Cable Communications, Llc Resource measurement and management
US9762899B2 (en) * 2011-10-04 2017-09-12 Texas Instruments Incorporated Virtual memory access bandwidth verification (VMBV) in video coding
US10218639B2 (en) * 2014-03-14 2019-02-26 Microsoft Technology Licensing, Llc Computing long-term schedules for data transfers over a wide area network
JP6248741B2 (en) * 2014-03-26 2017-12-20 富士通株式会社 Data distribution control device, data distribution system, and data distribution method
US20150341280A1 (en) * 2014-05-22 2015-11-26 Toshiba Tec Kabushiki Kaisha Method to diffuse cloud peak load by dynamically adjusting communication schedules
US9698889B2 (en) * 2014-09-24 2017-07-04 Intel Corporation Scheduling in a multiple user multiple-input and multiple output communications network
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US20170041430A1 (en) 2015-08-05 2017-02-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Prioritizing network traffic based on relative imminence of usage
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10341225B2 (en) * 2016-12-30 2019-07-02 Hughes Network Systems, Llc Bonding of satellite terminals
US10454835B2 (en) * 2017-01-20 2019-10-22 Google Llc Device and method for scalable traffic shaping with a time-indexed data structure
CN111264084B (en) * 2017-10-10 2022-04-05 联想(北京)有限公司 Determining a transmission scheme

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4642758A (en) * 1984-07-16 1987-02-10 At&T Bell Laboratories File transfer scheduling arrangement
EP0632671A2 (en) * 1993-06-29 1995-01-04 International Business Machines Corporation Method and apparatus for reserving system resources to ensure quality of service

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491947A (en) * 1983-05-31 1985-01-01 At&T Bell Laboratories Technique for dynamic scheduling of integrated circuit- and packet-switching in a multi-beam SS/TDMA system
US5070453A (en) * 1989-04-10 1991-12-03 At&T Bell Laboratories System and method for scheduling data transfers among a plurality of data processing units to avoid conflicting data requests
US4979165A (en) * 1989-06-23 1990-12-18 At&T Bell Laboratories Multiple queue bandwidth reservation packet system
FR2662831B1 (en) * 1990-05-29 1992-08-07 Cit Alcatel METHOD FOR MANAGING A DATABASE NETWORK.
US5404505A (en) * 1991-11-01 1995-04-04 Finisar Corporation System for scheduling transmission of indexed and requested database tiers on demand at varying repetition rates
WO1995003657A1 (en) * 1993-07-21 1995-02-02 Fujitsu Limited Atm exchange
US5491691A (en) * 1994-08-16 1996-02-13 Motorola, Inc. Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4642758A (en) * 1984-07-16 1987-02-10 At&T Bell Laboratories File transfer scheduling arrangement
EP0632671A2 (en) * 1993-06-29 1995-01-04 International Business Machines Corporation Method and apparatus for reserving system resources to ensure quality of service

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1237387A1 (en) * 2001-02-28 2002-09-04 Siemens Aktiengesellschaft Method and system for the transmission of data in a radio communication system having a limited transmission time
EP3236633A4 (en) * 2014-12-18 2017-11-15 ZTE Corporation Method and apparatus for processing resource operation request

Also Published As

Publication number Publication date
US5920701A (en) 1999-07-06
AU4092597A (en) 1998-03-19

Similar Documents

Publication Publication Date Title
US5920701A (en) Scheduling data transmission
KR101503073B1 (en) Reliable event broadcaster with multiplexing and bandwidth control functions
CN102201977B (en) Bulk data transfer
US6856786B2 (en) Quality of service scheduling scheme for a broadband wireless access system
US8959144B2 (en) System and method for scalable data distribution
Partridge A proposed flow specification
RU2323429C2 (en) Frame protocol and planning system
AU633510B2 (en) Device server units for local area network for digital data processing system
CN1606751B (en) Charging mechanism for multicasting
US20100017523A1 (en) Communication control apparatus and communication control method
EP1622294A2 (en) Differential update for data broadcasting
JP2002512484A (en) System and method for establishing a multicast message delivery error recovery tree in a digital network
CN101027875A (en) System and method for scalable multifunctional network communication
US7991905B1 (en) Adaptively selecting timeouts for streaming media
EP1346571B1 (en) Synchronization of bulk data transfers to end node devices in a multimedia network
CN110944219A (en) Resource allocation method, device, server and storage medium
US20020083193A1 (en) Parallel network data transmission
KR100934088B1 (en) Methods and apparatus for creation and transport of multimedia content flows to a distribution network
EP2012464A2 (en) Methods and apparatus for resource provisioning and planning in a communication network
US7952996B2 (en) Method and apparatus for assessing traffic load of a communication network
CN101167340A (en) Methods and apparatus for scheduling of content delivery over a distribution network
Guo et al. Smooth workload adaptive broadcast
JPH08181715A (en) Transmitter-receiver
Waters et al. The satellite transmission protocol of the UNIVERSE project
Claesson et al. TT/sup ET: event-triggered channels on a time-triggered base

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1998511864

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA