WO2001019024A2 - Automated bandwidth on demand system - Google Patents

Automated bandwidth on demand system Download PDF

Info

Publication number
WO2001019024A2
WO2001019024A2 PCT/US2000/024112 US0024112W WO0119024A2 WO 2001019024 A2 WO2001019024 A2 WO 2001019024A2 US 0024112 W US0024112 W US 0024112W WO 0119024 A2 WO0119024 A2 WO 0119024A2
Authority
WO
WIPO (PCT)
Prior art keywords
program
network
service provider
packet
same
Prior art date
Application number
PCT/US2000/024112
Other languages
French (fr)
Other versions
WO2001019024A3 (en
Inventor
Charles C. Freeny
Original Assignee
Automated Business Companies
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 Automated Business Companies filed Critical Automated Business Companies
Priority to AU73433/00A priority Critical patent/AU7343300A/en
Publication of WO2001019024A2 publication Critical patent/WO2001019024A2/en
Publication of WO2001019024A3 publication Critical patent/WO2001019024A3/en

Links

Classifications

    • 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
    • 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
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • 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/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management

Definitions

  • fiber optics communication links in high traffic regions in high traffic regions. Also, high capacity fiber optics communication links in high traffic regions. Also, high capacity fiber optics communication links in high traffic regions. Also, high capacity fiber optics communication links in high traffic regions. Also, high capacity fiber optics communication links in high traffic regions. Also, high capacity fiber optics communication links in high traffic regions. Also, high capacity fiber optics communication links in high traffic regions. Also, high capacity fiber optics communication links in high traffic regions. Also, high capacity
  • the Internet is a packet switched network with all interconnected
  • the client system transceivers such as computers with web
  • the network service providers servers such as Internet
  • service provider systems and the network servers, such as content provider servers
  • the present invention is directed to providing a packet switching or frame-relay
  • network service provider servers and the network servers including content service
  • the applicant's unique bandwidth on demand system provides an
  • the client system using the modified browser, selects a plurality of programs, such as hot spots, hot links or
  • the network service provider server receives the request for the
  • the network services provider server In response thereto, the network services provider server
  • the bandwidth on demand system provides an improved bandwidth on demand
  • internet content provider via a network service provider server, such as an internet
  • each of the plurality of client systems is configured to provide service provider.
  • each of the plurality of client systems is configured to provide service provider.
  • the network service provider server then receives the requests for programs
  • the network service provider server generates a log of program requests received
  • the log desirably includes a time stamp indicative of when each program request was received, the program requested, and
  • network service provider server transmits a request for the program to the network
  • the network server receives the request
  • the program is then transmitted, by the network server, to the network
  • the network service provider server receives the program
  • the bandwidth on demand system in another aspect of the present invention, the bandwidth on demand system
  • the network server can be any Internet server or other provider of
  • the network server automatically transmits a message including the addresses of the plurality of client systems and/or the plurality of network service
  • the interesting feature of the present invention is that the bandwidth
  • network such as an intranet or the internet, elements and in particular the network
  • the essence of the feature is to allow the network service provider server
  • network server gets a request from 10 client systems or other network service
  • the network server's software is modified to automatically schedule delivery to all
  • client system and/or network service provider server is very similar to the way
  • the network server's bandwidth would temporarily be increased almost 100 times by optimizing the bandwidth used by sending to 100 system addresses instead of
  • the invention described herein lets a network service providers server
  • the program is multiplexed to first based on which client requested the
  • server schedules delivery, based upon time intervals and demand, to the requesting
  • each client system such being considered a broadcast on demand requirement of
  • the invention contemplates software programs which cause the
  • network gateways such as routers, to look for and reroute sets of client system
  • network service provider server addresses associated with a single packet instead of
  • the network service provider server can operates as
  • the client system is modified to schedule or package program requests
  • the network service provider server software is
  • web browsing software requires modification to make such a request, as well as, to
  • the invention may incorporate a broadcast scheduler and compression
  • This invention provides a network system and the three main network system elements.
  • This invention is also unique in that when the method is not needed it may
  • low network traffic network service provider servers may
  • the bandwidth on demand system is achieved by adding intelligence to the
  • the method provides
  • the network service provider server the ability to transmit two-way scheduled
  • the method adds some rudimentary data compression to
  • the communication software like that done manually in subway systems where the conductors leave the station when the train is full, or on schedule, which ever
  • variable size is not required to obtain an increase in bandwidth
  • Figure 1 is a diagram of the bandwidth on demand system of the present
  • invention depicting the client systems, the network service provider servers, and
  • network servers interconnected via suitable networks and gateways, such as
  • FIG. 2 is a diagrammatic listing of the software modifications incorporated
  • Figure 3 depicts the basic frame length equations for the network
  • FIG. 4 illustrates packet size changes caused by multiple program request
  • FIG. 5 illustrates the packet size increase when the traffic demand
  • FIG. 6 illustrates that program size is increased when the number of client
  • Figure 7 is a diagram depicting the client system and network service
  • provider server requesting one or more programs from the network server.
  • Figure 8 is a diagram depicting the network network server delivering one or
  • a bandwidth on demand system 5 is shown.
  • bandwidth on demand system 5 is comprised of a plurality of client systems 10, a
  • gateways such as routers 30, a plurality of network service provider
  • the bandwidth on demand system 5 is
  • a packet switching or frame-relay network 20 such as
  • the client systems 10 may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable client systems 10 that may be any suitable to communicate.
  • the network service provider servers 40 may be any system which operates
  • the network system between the client systems 10 and the network servers 50.
  • the network is a system between the client systems 10 and the network servers 50.
  • service provider server 40 may be an internet service provider, or content provider
  • the network servers 50 are configured and internet content providers such as America Online.
  • the network servers 50 are configured and internet content providers such as America Online.
  • relay network such as an internet content provider such as Yahoo!, ABC News, or
  • service provider servers 40 may be referred to with the number 40 a specific
  • network service provider server 40a may be referred to with the alphanumeric 40a.
  • the plurality of client system l Oal , 10a2, l Oan are shown communicatingly
  • the communication channel 15 may be a standard
  • the client system 10c may be communicatingly connected to the packet switching
  • the network service provider server 40a retrieves the requested program if it
  • the network service provider service server 40a resides on the network service provider service server 40a.
  • provider server 40a then transmits the program to the client system lOal via
  • lOal does not reside on the network service provider server 40a, but instead resides
  • the network service provider server 40a On the network service provider server 40b, the network service provider server 40a
  • the communication channel 45 may be a standard analog telephone line, wireless analog or digital telephone system, or
  • a high speed communication channel such as ISDN, cable or fiber optic
  • the request is received by routers 30 and transmitted to the network service
  • the network service provider server 40b via communication channel 45b.
  • server 40b then retrieves the program and communicates the program to the
  • the requested program may
  • the network server 50 reside on one of the network server 50. In that event, the network server 50
  • the communication channel 55 is a communication channel 55.
  • a high speed communication channel such as ISDN, cable or fiber optic
  • client system 10 browsing software is modified to detect its own address from the multiple addresses contained in packets carrying the same program. Further, the
  • client system 10 browsing software is programmed to be capable of decoding
  • variable length program data packets if the use of variable length program data
  • the network service provider servers 40 software is modified to enable the
  • network service provider servers 40 well as, other network service provider servers 40. Additionally, the network
  • service provider servers 40 server software is modified so as to maintain the
  • the network service provider servers 40 is capable of scheduling delivery of the
  • network service provider servers 40 may also be capable of increasing the program
  • server 50 is provided with modifications similar to those provided of the software
  • the routers 30 require modifications to the routing software so that the
  • router is capable of recognizing multiple client systems 10, network servers 50 and
  • network service provider servers 40 addresses attached to a single packet, as well
  • router software is modified so that the
  • packet controller (not shown) is capable of re-packaging and interpreting a message
  • client systems or more client systems 10, network servers 50 and/or network service provider
  • the router 30 looks up typically from a forwarding table
  • the time to live (TTL) field of the packet is decremented, and a
  • the router 30 may also automatically clone
  • next-hop MAC addresses included in the packet are included in the packet.
  • bandwidth on demand system is capable of communicating information between the client system 10, the network service provider server 40 and the network server
  • the client system selects a plurality of programs
  • the client system 10 transmits
  • the network service provider server 40 is configured to communicate via the communication channel 15.
  • the client system 10 is capable of requesting several components
  • request could be accomplished via any suitable manner, such as touching a touch
  • the client system l Oal to lOan could each send a string of program requests
  • the network service providers server 40 keeps track of which
  • system provides a method for communicating information between a plurality of
  • Each of the plurality of client systems 10 selects at least one identical or same
  • client systems 10 transmit the request for the identical or same program located on
  • the network server 50 to the network service provider server 40.
  • the network service provider server 40 receives the request for programs
  • the log including a time stamp
  • the network service provider server 40 transmits a request to the network
  • the network server 50 retrieves the program and
  • the program is
  • transmission is desirably communicated in chronological based upon the time the
  • the frame size equations are a function of the number
  • the first equation calculates the network packet length in bytes transmitted in a
  • the network packet length transmitted in a frame can be determined
  • the second equation calculates the network packet length in bytes
  • Packet 410 depicts multiple program
  • provider server 40 receiving such packeted data is provided with modified software
  • provider server 40 schedules, in response to receiving such request, a requested
  • the network service provider server 40 outputs such
  • the network server 50 receives the request for multiple programs.
  • the network service provider server 40 transmits the multiple programs
  • the network service provider server 40 software modifications (see FIG. 2)
  • the software will set a
  • Such predetermined time or event interval may be every 1/20 of a second or every 500 program requests for the same program. During such interval, the network
  • service provider server 40 and/or network server 50 schedules the receipt of
  • the software modification further provide a predetermined time or event
  • the network service provider provides the network service provider
  • server 40 modified software schedules transmission of the program to the client
  • predetermined fixed number of the same program requests such as 100 duplicate
  • requests are received whichever comes first.
  • the number of requests for a program are spaced apart in time, such as more than one second, then virtually no
  • a packet 505 depicts the single client frame
  • client systems 10 is packaged with one fixed length program 530.
  • a packet 510 A packet 510
  • client systems 10 and network service provider servers 40 for delivery It should be noted that some of the client systems 10 can be connected directly to the network service provider servers 40 for delivery. It should be noted that some of the client systems 10 can be connected directly to the network service provider servers 40 for delivery. It should be noted that some of the client systems 10 can be connected directly to the network service provider servers 40 for delivery. It should be noted that some of the client systems 10 can be connected directly to the network service provider servers 40 for delivery. It should be noted that some of the client systems 10 can be connected directly to the
  • network service provider server 40 may act as their own service provider.
  • a packet 605 depicts the a client system address 620 being sent with a
  • program 630 length being decreased to increase delivery speed at the price of more
  • a packet 610 reflects the increased length program 630 being delivered
  • the client systems 1000 are identical in construction and function as
  • network service provider server 1020a is identical in construction and function to
  • the network servers 1020b are the network servers 1020b.
  • the network service provider server 1020a transmits the request for the
  • the network service provider server 1020a requesting the
  • network servers provider serverl 020a determines the time or event interval, such as
  • the network service provider server 1020a may be configured to provide the network service provider server 1020a.
  • the network service provider server 1020a automatically starts scheduling same
  • provider server 1020a receives a plurality of same program requests for a same
  • the network service provider server 1020a provides the requested program available.
  • the network service provider server 1020a sends the same program request
  • the network server 1020b receives the same program request
  • the network service provider server 1020a receives the same requested resource
  • the network service provider server 1020a can be an
  • 1020b can be an internet web site, such as Schwab.com. Assume that 5000 client
  • the network service provider server 1020a would transmit 20 requests for the home page to the network server 1020b (Schwab.com). The network service provider server 1020a then
  • the network service provider server 1020a transmits the home page to the
  • network service provider servers 1020a operating simultaneously, and if each of
  • the 1000 network service provider servers 1020a received 100,000 requests from
  • present invention would equal 20 Giga bytes.
  • the network server 1020b and 1020c also share
  • the client system 1000 such as the client system 1000 or the network service provider server 1020a.
  • the network service provider server 1020a such as the client system 1000 or the network service provider server 1020a.
  • network server 1020b and 1020c keep a log, desirably in chronological order of
  • the network server 1020b or 1020c receives a plurality of identical or
  • server 1020b are sent by 50 network service provider servers 1020a over a
  • the network server predetermined time interval of 1/40 of a second, for example, the network server
  • 1020b transmits the home page once to all 50 servers instead of 50 separate times
  • provider servers 1020a incorporated the software modifications of the present
  • the router 30 (see FIG. 1)
  • provider servers 1020a enable the network service provider server 1020a to review

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A bandwidth on demand system for communicating information between a client system and a network service provider server, such as an internet service provider is provided. A first step of the method includes the client system selecting a plurality of programs, such as hyper-links or web pages, located on the server system. The client system transmits one request for the plurality of programs to the server system. The network service provider server receives the request, retrieves the programs, and then transmits to the client system the plurality of requested programs. Further, a method for reducing the number of broadcasts transmitted by a network server is provided. The method includes the network server receiving a plurality of identical or same program requests for a program during a predetermined time from a plurality of client systems and/or a plurality of network service provider servers. In response thereto, the network server automatically transmits a message, the message including the addresses of the plurality of client systems and the plurality of network service provider servers and the requested program.

Description

AUTOMATED BANDWIDTH ON DEMAND SYSTEM
BACKGROUND OF THE INVENTION
Since 1995, the growth of the Internet due to Interactive Web site Technology has
greatly increased the traffic demand on the Internet for the "same program," such as the
home page program of a Internet web site, especially to the more popular web sites such
as America Online, Yahoo, Amazon, and others sites of similar popularity. The solution
to handling this increased heavy network service provider traffic has primarily been to increase modem speeds and employ
fiber optics communication links in high traffic regions. Also, high capacity
bandwidth carrier system improvements such as faster and more sophisticated
bandwidth allocating routers (see Cisco TCP, by Chris Lewis, Published by
McGraw Hill , 1998) and web servers, such as Microsoft NT 5.0, are implemented
to address increased traffic problems.
Other, more "intelligent" solutions that could help alleviate this problem
involve improved audio and video data compression techniques, such as MP3 and
JPEG 4. However, none of these "intelligent" methods have introduced bandwidth
on demand into the packet switching network elements. Some service providers
with heavy traffic requests "schedule" certain high demand programs to be received
and updated periodically based on administrative program software programs so as
to deliver programs to their clients faster. However, this type software is not
considered to be automatic scheduling based on network demand. Improvements
in the HTML standards, and web browsers, such as Netscape 4 and Internet
Explorer 5, along with better Java utilization have helped conceptually. These
"intelligent" improvements have primarily served to deliver more content per unit
of time which uses up the enhanced bandwidth savings that the improvements
would otherwise provide to help alleviate the Internet's limited bandwidth problem. Because the Internet is a packet switched network with all interconnected
system elements, the client system transceivers, such as computers with web
browsers or Web TV units, the network service providers servers, such as Internet
service provider systems, and the network servers, such as content provider servers
and Internet routers, are already designed for delays. Also, these systems evaluate
address specific program packets transmitted between the network service
providers server, and the client transceiver unit requesting a specific program. Push
technology, where subsequent programs are transmitted by a server to a viewer
address even though the viewer did not request the program, was developed to help
alleviate the delay to the viewer problem, but it actually wasted bandwidth plus had
other shortcomings and was soon dropped from most network service providers
and network servers.
Also streaming broadcast programs to all who want to view, even where no
request has been made, are used when the sites thinks everybody wants to see the
program in near real time, such as a live event. Streaming programs are really
scheduled broadcast programs and are not transmitted on demand and are available
for viewers tuned to that channel. In light of the explosion in Internet traffic and the
likelihood it will increase faster than Internet communication bandwidth capacity
can be increased, more "Intelligent" solutions are needed. Thus a need exists for a bandwidth on demand system capable of providing
increased bandwidth during high traffic periods of demand from network service provider
servers and client systems for programs residing on network servers.
SUMMARY OF THE INVENTION
The present invention is directed to providing a packet switching or frame-relay
network, such as an intranet or the internet, bandwidth on demand capability that requires
changes primarily to the software of three basic systems, that located in web browsers, the
network service provider servers, and the network servers including content service
providers and network packet routers, gateways. Such software changes may be
implemented by virtually any programmer working in the communication or computer
industry today and can produce dynamic bandwidth enhancements up to 1000/1 or larger
if required by the traffic to several network service provider servers trying to get the same
program delivered to their viewers at the same time.
In one embodiment, the applicant's unique bandwidth on demand system provides an
improved method for communicating between a client system, such as a personal
computer with an internet browser, Web TV unit, and a network service provider server,
such as in internet service provider. The client system, using the modified browser, selects a plurality of programs, such as hot spots, hot links or
web pages, located on the network service provider server. The client system then
transmits to the network service provider server one request for the plurality of
programs. The network service provider server receives the request for the
plurality of programs. In response thereto, the network services provider server
retrieves the plurality of programs requested by the client systems and then
transmits the plurality of requested programs to the client system.
In another aspect, the bandwidth on demand system provides an improved
method for communicating between a plurality of client systems, such as a personal
computer with an internet browser, Web TV unit, and a network server, such as an
internet content provider, via a network service provider server, such as an internet
service provider. In practicing the method, each of the plurality of client systems
selects at least one identical or same program located on the server system and
transmits a request for the identical or same program to the network service
provider server.
The network service provider server then receives the requests for programs
from each of the plurality of client systems during a predetermined time interval.
»
The network service provider server generates a log of program requests received
during the predetermined time interval. The log desirably includes a time stamp indicative of when each program request was received, the program requested, and
an identifier code identifying the client systems making the program request. The
network service provider server transmits a request for the program to the network
server on which the program is located. The network server receives the request
for the program from the network service provider server and retrieves the
program. The program is then transmitted, by the network server, to the network
service provider server. The network service provider server receives the program,
and transmits the program to each of the plurality of client systems previously
requesting the program desirably in the chronological order in which the requests
for the program were received by the network service provider server.
In another aspect of the present invention, the bandwidth on demand system
provides a method for reducing the number of broadcasts transmitted by a network
server. The network server can be any Internet server or other provider of
information on demand such as an Internet content provider. In practicing the
present invention, a plurality of identical or same program requests for a program
are received by the network server in a predetermined time from a plurality of
client systems and/or a plurality of network service provider servers. In response
thereto, the network server automatically transmits a message including the addresses of the plurality of client systems and/or the plurality of network service
provider servers and the requested program.
The interesting feature of the present invention is that the bandwidth
increases just when needed by the network service provider server automatically by
the nature of the method described in this invention. After incorporating the
method described herein, one can think of the packet switching or frame-relay
network, such as an intranet or the internet, elements and in particular the network
service providers as having features to allow automatic bandwidth increases upon
demand. The essence of the feature is to allow the network service provider server
to be a scheduled server instead of a pure transmit upon demand server as is
currently the case. For example, lets say that over a period of five minutes a
network server gets a request from 10 client systems or other network service
provider servers to send the 10KB home page of the network server. If these
requests are equally spaced in time then the network server is sending the same
home page 10 different times. Then the average bandwidth utilized is 100KB
divided by five minutes. In this case the network server is probably not taxed at all.
However, if this same network server was being asked to send the same
home page by 50,000 client systems and/or network service providers servers over
the same time period with the same 10KB content then a serious bandwidth problem could develop at the network server that was responsible for delivering the
requested program and possibly at the router multiplex unit which is a major part of
the network bandwidth capacity. However utilizing the present invention wherein
the network server's software is modified to automatically schedule delivery to all
the requesters of the same page every 1/5 second or when 100 requests were made
for the same page or program whichever came first, then only one web page
transmission would be required for up to every 100 requests. But the page or
program would be simultaneously sent to 100 client systems and/or network service
provider servers instead of one at a time.
The scheduling to send the same information to many stations, such as the
client system and/or network service provider server, is very similar to the way
transmitting e-mail to several parties used by viewers now or sending
communication fax's to whole departments within a company for example.
However, the transmissions are currently scheduled to individuals in advance, not
automatically, and normally the message is still sent over and over, one at a time, to
each address even though the operator who uses the equipment only has to push the
button once after scheduling the delivery. In the example given for this invention,
the network server's bandwidth would temporarily be increased almost 100 times by optimizing the bandwidth used by sending to 100 system addresses instead of
one and the bandwidth is automatically made available when it was needed.
The invention described herein lets a network service providers server
automatically schedule the delivery of a program to multiple client systems based
upon demand for the program, and keep a chronological listing of which client
system the program is multiplexed to first based on which client requested the
program first. When a plurality of client systems and /or network service provider
servers request an identical or same program from a network server, the network
server schedules delivery, based upon time intervals and demand, to the requesting
systems. The internet and/or most network service provider servers currently send
the program only once to each client system but tries to send it when requested to
each client system, such being considered a broadcast on demand requirement of
the network designs, even though a lot of client systems have requested the same
program to be sent at nearly, practically speaking, the same time and scheduling
would be a better choice.
Also, the invention contemplates software programs which cause the
network gateways, such as routers, to look for and reroute sets of client system and
network service provider server addresses associated with a single packet instead of
a single address associated with each packet to be routed. Also, the network service provider servers and client system software, so as to work when dial up
connections are not used by a client, is modified to look for its station address from
a plurality of client system and/or network service provider server addresses just
like the routers. In addition, the network service provider server can operates as
the final router to some of the client systems.
The client system is modified to schedule or package program requests
because such capability would give additional bandwidth to the network including
the dial-up portion and so such capability is included in this invention.
Consequently, the network service provider servers software is modified to identify
when the same client system requests a plurality of web pages, the request being
received as a single message. Also, the network service provider server software is
modified to package the plurality of requested programs and deliver in a single
response message the plurality of web pages requested by the client system. The
web browsing software requires modification to make such a request, as well as, to
receive the message containing the plurality of requested programs.
The invention may incorporate a broadcast scheduler and compression
method for the transmission of one or more programs into a packet switching
network system and the three main network system elements. This invention
differs from the older manual scheduling associated with faxes or e-mail in that the method described herein schedules a group automatically and the program is only
sent once instead of having to manually schedule the transmission of a group of one
or more programs to each one in the group, as is often the case when transmission
involves the networks, and certainly required when a dial- up connection is needed
for each client system.
This invention is also unique in that when the method is not needed it may
not be not used. That is, low network traffic network service provider servers may
chose not to utilize the auto-schedule feature of the invention but a high traffic
network service provider servers probably would. Thus the system optimizes the
available bandwidth and prevents the need of additional bandwidth for periods of
peak use, such bandwidth being essentially unused during low traffic periods.
The bandwidth on demand system is achieved by adding intelligence to the
delivery of each of the three key network system elements, the most significant
gain being provided at the network service provider server. The method provides
the network service provider server the ability to transmit two-way scheduled
broadcast of programs during high demand periods, where high delays are always
experienced nevertheless. The method adds some rudimentary data compression to
the communication software, like that done manually in subway systems where the conductors leave the station when the train is full, or on schedule, which ever
comes first, and adding multiple IP domain capability to the header protocol.
Preliminary calculations show that bandwidth increases up to several
hundred can be easily achieved even with the current network packet sizes. Larger
bandwidth increases can be achieved if automatic packet size increases are also
introduced so that when the number of client systems and/or network service
provider servers a program is being sent to increases so does the proportionate
amount of program being sent to each address. Consequently, the variable program
size feature is another aspect of the invention.
Although this variable size is not required to obtain an increase in bandwidth
due to two way scheduling involving the network service provider servers getting
requests from many direct connect client systems and only sending the request
once to the network server which houses the requested program; neither is it
required for the network server housing the program to schedule the sending of the
requested program and only sending the program once to many requesting network
service provider servers or client systems. However since it does allow additional
increased bandwidth to be achieved at the price of only a marginal increase in
software complexity to each of the three major network hardware elements it is
included in this invention. Other features and advantages will become apparent to those skilled in the
art when the following description is read in conjunction with the attached
drawings.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING
Figure 1 is a diagram of the bandwidth on demand system of the present
invention depicting the client systems, the network service provider servers, and
the network servers interconnected via suitable networks and gateways, such as
routers.
Figure 2 is a diagrammatic listing of the software modifications incorporated
into three major elements of Figure 1.
Figure 3 depicts the basic frame length equations for the network
communication software so that packet size becomes a function of the number of
stations receiving the program and the router at which the last re-transmission
occurs.
Figure 4 illustrates packet size changes caused by multiple program request
sent out by the client system. Figure 5 illustrates the packet size increase when the traffic demand
increases to the point where scheduling is started and a fixed program size is
transmitted to each client system.
Figure 6 illustrates that program size is increased when the number of client
systems increase in order to keep the packet overhead low.
Figure 7 is a diagram depicting the client system and network service
provider server requesting one or more programs from the network server.
Figure 8 is a diagram depicting the network network server delivering one or
more programs to the client systems and network service provider servers.
DETAILED DESCRIPTION OF THE INVENTION
Referring to FIG. 1 , a bandwidth on demand system 5 is shown. The
bandwidth on demand system 5 is comprised of a plurality of client systems 10, a
plurality of gateways, such as routers 30, a plurality of network service provider
servers 40, and a plurality of network servers 50. Only one network server 50 is
depicted in FIG. 1 for purposes of clarity. The bandwidth on demand system 5 is
shown interconnected to a packet switching or frame-relay network 20, such as
corporate or organizational intranets or the internet. The client systems 10 may be
standard personal computers with internet browsers, Web TV devices, net PCs, and other devices for browsing the packet switching or frame-relay network 20 or
which can receive information in any format perceivable by an individual such as
sound or music.
The network service provider servers 40 may be any system which operates
on a packet switching or frame-relay network and functions as an intermediary
system between the client systems 10 and the network servers 50. The network
service provider server 40 may be an internet service provider, or content provider
accessible to internet users, as well as, a combination of internet service provider
and internet content providers such as America Online. The network servers 50
may be any computer system capable of operating on a packet switching or frame-
relay network, such as an internet content provider such as Yahoo!, ABC News, or
other content providers accessible to corporate intranet or internet users via a
network service provider server 40.
For purposes of clarity, similar systems are referred to herein via the same
numeric prefix and a different alphabetic suffix. Where the plurality of network
service provider servers 40 may be referred to with the number 40 a specific
network service provider server 40a may be referred to with the alphanumeric 40a.
The plurality of client system l Oal , 10a2, l Oan are shown communicatingly
connected to a network service provider server 40a via a communication channel 15al, 15a2, 15an, respectively. The communication channel 15 may be a standard
analog telephone line, wireless analog or digital telephone system, or a high speed
communication channel, such as ISDN, cable or fiber optic connection. Similarly,
the client system 10c may be communicatingly connected to the packet switching
or frame-relay network 20 circumventing the network service provider system 40
via a communication channel 15.
In such configuration one of the client systems 10, such as the client system
l Oal requests from the network service provider server 40a a program, such as a
data file, hyperlink, or HTML or JAVA web page, via communication channel
15al . The network service provider server 40a retrieves the requested program if it
resides on the network service provider service server 40a. The network service
provider server 40a then transmits the program to the client system lOal via
communication channel 15al . When the program requested by the client system
lOal does not reside on the network service provider server 40a, but instead resides
on the network service provider server 40b, the network service provider server 40a
transmits a request for the program from the packet switching or frame-relay
network 20 via communication channel 45a. The communication channel 45 may be a standard analog telephone line, wireless analog or digital telephone system, or
a high speed communication channel, such as ISDN, cable or fiber optic
connection.
The request is received by routers 30 and transmitted to the network service
provider server 40b via communication channel 45b. The network service provider
server 40b then retrieves the program and communicates the program to the
network service provider server 40a via the communication channel 45b to the
router 30 and the communication channel 45a. Further, the requested program may
reside on one of the network server 50. In that event, the network server 50
receives the request and transmits the program to the packet switching or frame-
relay network 20 via a communication channel 55. The communication channel 55
may be a standard analog telephone line, wireless analog or digital telephone
system, or a high speed communication channel, such as ISDN, cable or fiber optic
connection
Referring now to FIG. 2, the software modifications required of the
bandwidth on demand system 5 elements is shown. The client systems 10 require
software modifications to the browsing software to schedule delivery of several
programs in a single request to the network service provider server 40. Also, the
client system 10 browsing software is modified to detect its own address from the multiple addresses contained in packets carrying the same program. Further, the
client system 10 browsing software is programmed to be capable of decoding
variable length program data packets if the use of variable length program data
packets is desired.
The network service provider servers 40 software is modified to enable the
server to detect multiple program requests sent from the same client system 10, as
well as, other network service provider servers 40. Additionally, the network
service provider servers 40 server software is modified so as to maintain the
address of the client system 10 and network service provider servers 40 address in
a chronological list for delivery of requested programs. Further, the software on
the network service provider servers 40 is capable of scheduling delivery of the
same program requested by multiple client systems 10 and network service
provider servers 40 within a predetermined time period. The software of the
network service provider servers 40 may also be capable of increasing the program
data length when the number of client systems 10 and network service provider
servers 40 addresses increase for the schedule program if desired. The network
server 50 is provided with modifications similar to those provided of the software
of the network service provider server 40 software. The routers 30 require modifications to the routing software so that the
router is capable of recognizing multiple client systems 10, network servers 50 and
network service provider servers 40 addresses attached to a single packet, as well
as multiple program requests sent from the same client system 10 and network
service provider server 40. Additionally, the router software is modified so that the
packet controller (not shown) is capable of re-packaging and interpreting a message
or an original packet containing a single program along with the addresses of one
or more client systems 10, network servers 50 and/or network service provider
servers 40. In this regard, the router 30 looks up typically from a forwarding table
each of the addresses included in the original packet. For each particular address
found in the forwarding table, a next-hop MAC address is appended to the front of
the original packet, the time to live (TTL) field of the packet is decremented, and a
new header checksum is calculated. The router 30 may also automatically clone
the program the number of times new routes are required to deliver the program to
all of the addresses included in the original packet and then retransmit the packet to
the next-hop MAC addresses included in the packet.
With such modifications to the browsing software of the client system 10,
network service provider server 40 server software and router 30 software, the
bandwidth on demand system is capable of communicating information between the client system 10, the network service provider server 40 and the network server
50 in a more efficient manner. The client system selects a plurality of programs
located on the network service provider server 40. The client system 10 transmits
the request for the plurality of programs to thee network service provider server 40
via the communication channel 15. The network service provider server 40
receives the request for the plurality of programs and then retrieves the plurality of
programs requested by the client system 10. The network service provider server
40 transmits the plurality of requested programs to the client system 10 via the
communication channel 15.
Thus, it can be seen that the client system 10 is capable of requesting several
programs contained within a single request communicated to be network service
provider server 40 via the communication channel 15. The plurality of requested
programs, once retrieved by the network service provider server 40, are then
transmitted to the client system 10 in a single transmission package. This is useful
since the client system 10 might want to perceive several programs from a web site
home page and may select the several programs by left clicking on several hyper
links, for example, and/or hot spots. Modification of the browser software
interprets this action so that an actual request is not sent to the network service
provider server 40 until the client system 10 is actuated to do so by right clicking, for example, on the last item. The selecting of the programs and actuating of the
request could be accomplished via any suitable manner, such as touching a touch
screen monitor, or utilizing a video wand, or utilizing the keyboard, for example.
The client system l Oal to lOan could each send a string of program requests
to the network service providers server 40a via communication channels 15al to
15 an, respectively. The network service providers server 40 keeps track of which
programs are requested by which client system l Oal to lOan and at what time the
request was made. If multiple requests are received by the network service
provider server 40a for an identical or same program within a predetermined time,
only one request is forwarded to the network service provider server 40b or the
network server 50.
Thus, in another aspect of the present invention, the bandwidth on demand
system provides a method for communicating information between a plurality of
client systems 10 and the network server 50 via a network service provider server
40. Each of the plurality of client systems 10 selects at least one identical or same
program located on the network service provider server 40. Each of the plurality of
client systems 10 transmit the request for the identical or same program located on
the network server 50 to the network service provider server 40. The network service provider server 40 receives the request for programs
during a predetermined time interval and generates a log of program requests
received during the predetermined time interval. The log including a time stamp
indicative of when each program request was received, the program requested, and
an identifier code identifying the client you are systems making the program
request. The network service provider server 40 transmits a request to the network
server 50 on which the program is located which is then received by the network
server 50.
In response thereto, the network server 50 retrieves the program and
transmits the program to the network service provider server 40. The program is
received by the network service provider server 40 which transmits the program to
each of the plurality of client systems 10 which previously requested program. The
transmission is desirably communicated in chronological based upon the time the
request for the programs were received by the network service provider server 40
by the client systems 10.
Now referring to FIG. 3, the frame size equations for the variable and fixed
package length are shown. The frame size equations are a function of the number
of client systems 10 and/or network service provider servers 40 to which the
program (or message) is to be delivered, address size, and program size per packet. The first equation calculates the network packet length in bytes transmitted in a
frame for a fixed message size in bytes to be delivered to all stations. For fixed
message sizes, the network packet length transmitted in a frame can be determined
by the number of client systems 10 and/or network service provider servers 40 to
which the program is to be delivered is combined with the address of the each of
the client systems 10 and/or network service provider servers 40 to which the
program or message is to be delivered.
The second equation calculates the network packet length in bytes
transmitted in a frame for variable message size in a similar manner as set forth
above, except that a variable program size is used whereas in the first equation a
fixed program size is allowed. In this embodiment the packet sizes are kept such
that the ratio of program bytes to overhead bytes, such as station addresses, never
fall below about 100%.
Referring now to FIG. 4, packet size variations caused by multiple program
requests, based upon modifications to client browsing software, are shown. Packet
405 depicts a single program request 420 from a client system 10 being packaged
with other client station data 430 to be transmitted to the network service provider
server 40 and/or to the network server 50. Packet 410 depicts multiple program
requests 425, such as selecting a plurality of Web pages to be viewed by a single client system 10, packaged with other client station data 430. The network service
provider server 40 receiving such packeted data is provided with modified software
(see FIG. 2) capable of determining whether the client has requested a single
program request 420 or multiple program requests 425. The network service
provider server 40 schedules, in response to receiving such request, a requested
program 420 or programs 425 for delivery according to the predetermined servers
software criteria. If the multiple program requests are for a program residing on
one of the network servers 50, the network service provider server 40 outputs such
request for multiple programs to the network server 50 wherein the multiple
programs reside. The network server 50 receives the request for multiple
programs, and then transmits the multiple program to the network service provider
server 40 which transmitted the request for multiple programs. Upon receiving the
multiple programs, the network service provider server 40 transmits the multiple
programs to the client system 10 which requested the multiple programs.
The network service provider server 40 software modifications (see FIG. 2)
include the predetermined time or event interval. That is, the software will set a
predetermined time or event when the network service provider server 40 transacts
a batch of requests from client systems 10 or network service provider servers 40.
Such predetermined time or event interval may be every 1/20 of a second or every 500 program requests for the same program. During such interval, the network
service provider server 40 and/or network server 50 schedules the receipt of
requests from the client systems 10 and/or network service provider servers 40, the
retrieval of the requested programs, and the transmission of the program or
programs to the requesting client systems 10 and/or network service provider
servers 40.
The software modification further provide a predetermined time or event
interval by which the network service provider server 40 retrieves and delivers
such program request, such as every 1/40 of a second or every 100 requests. It is
understood that such software modification presented in this aspect of the current
invention anticipates optimization of the time or event interval based upon
communication between the network service provider server 40 and the plurality of
client systems 10.
In yet another aspect of the present invention, the network service provider
server 40 modified software schedules transmission of the program to the client
systems 10 to reduce/increase the time to transmit in a manner which is inversely
proportional to the average time between the same program requests or when a
predetermined fixed number of the same program requests, such as 100 duplicate
requests, are received whichever comes first. The number of requests for a program are spaced apart in time, such as more than one second, then virtually no
time delays are encountered and the bandwidth on demand system 5 may operate in
a pure broadcast on demand system. However as the number of requests increase,
such as 1000 per second, and the scheduled time increases to the maximum, such
as 1/5 of a second, the bandwidth is conserved and network performance is
improved.
Thus, it can be seen that the bandwidth on demand system 5 allows the
network service provider servers 40 andVor the network server 50 to operate
between a pure broadcast on demand system and a scheduled broadcast system
based upon demand, such as the number of requests received in a predetermined
period of time. It should also be understood that similar software modifications
and scheduling algorithms can be incorporated into email and other software
systems anywhere bandwidth conservation is critical to enterprise performance.
Referring now to FIG. 5, the changes in the communication packet address
based upon network traffic are shown. A packet 505 depicts the single client frame
structure of a typical current network packet wherein address 520 of a particular
client systems 10 is packaged with one fixed length program 530. A packet 510
reflects one fixed linked program 530 packaged with the addresses of a plurality of
client systems 10 and network service provider servers 40 for delivery. It should be noted that some of the client systems 10 can be connected directly to the
network service provider server 40 or may act as their own service provider.
Referring now to FIG. 6, program size increases to decrease packet overhead
is shown. A packet 605 depicts the a client system address 620 being sent with a
program 630 length being decreased to increase delivery speed at the price of more
overhead. A packet 610 reflects the increased length program 630 being delivered
to the addresses 625 of the plurality of client systems 10.
Referring now to FIG. 7, multiple requests for the same program are shown
being made by a plurality of client systems 1000 to a network service provider
server 1020. The client systems 1000 are identical in construction and function as
the client systems 10 hereinbefore described with reference to FIGS. 1 and 2. The
network service provider server 1020a is identical in construction and function to
the network service provider server 40 (see FIG. 1). The network servers 1020b
and 1020c are identical in construction and function as the network server 50
hereinbefore described with reference to FIG. 1.
The network service provider server 1020a transmits the request for the
program to a network server 1020b and 1020c where the requested program
actually resides. The network service provider server 1020a requesting the
program keeps track of both the time the programs were requested and the client systems 1000 making the request in a chronological order. Additionally, the
network servers provider serverl 020a determines the time or event interval, such as
1/20 of a second, upon which to schedule requests for programs and log such
requests made by the client systems 1000.
For example, in one embodiment, the network service provider server 1020a
normally requests programs on demand from the plurality of client systems 1000.
The network service provider server 1020a automatically starts scheduling same
program requests to be broadcast on a broadcast network 1040 between the
network service provider server 1020a and the network server 1020b having the
same requested program when a plurality of same program requests for a same
requested program reach predetermined traffic levels. That is, the network service
provider server 1020a receives a plurality of same program requests for a same
requested program from the plurality of client systems 1000 with each client
system 1000 in the plurality of client systems 1000 having a unique address
included in the same program request, and with the unique address identifying the
client system 1000 making the same program request. The same requested
program is available for transmission by the network server having the same
requested program available. The network service provider server 1020a
automatically schedules, based on predetermined schedule algorithms involving at least one traffic demand parameter, a same program request to be sent to the
network server 1020b having the same requested program when the number of
same program requests from the plurality of client systems 1000 for the same
requested program exceeds at least one predetermined traffic parameter.
The network service provider server 1020a sends the same program request
to the network server for the same requested program based on the predetermined
schedule algorithms. The network server 1020b receives the same program request
and sends the same requested program.
The network service provider server 1020a receives the same requested
program and sends the same requested program to the plurality of client systems
Thereafter, this method is repeated.
As a further example, the network service provider server 1020a can be an
internet service provider, such as America Online, Inc., and the network server
1020b can be an internet web site, such as Schwab.com. Assume that 5000 client
systems 1000 request the home page located on the network server 1020b
(Schwab.com, for example) from the network service provider server 1020a during
each 1/20 second time interval for one second, i.e. 100,000 requests in the one
second period. At that rate, over a period of one second the network service
provider server 1020a would transmit 20 requests for the home page to the network server 1020b (Schwab.com). The network service provider server 1020a then
transmits the home page to the network service provider server 1020a. In response
thereto, the network service provider server 1020a transmits the home page to the
100,000 of its client systems 1000 after the network service provider server 1020a
receives the program or home page from the network server 1020b or 1020c. This
automatic scheduling on demand on the outbound side would save close to 20
mega bytes of service provider and network bandwidth if the request packet was 64
bytes in length for example. Moreover, by way of example, if there were 1000
network service provider servers 1020a operating simultaneously, and if each of
the 1000 network service provider servers 1020a received 100,000 requests from
client systems 1000 as discussed above, then the bandwidth preserved by the
present invention would equal 20 Giga bytes.
Now referring to FIG. 8, the program delivery side of the network
communication process is shown. The network server 1020b and 1020c also
record the requested program, and the address of the system making the request,
such as the client system 1000 or the network service provider server 1020a. The
network server 1020b and 1020c keep a log, desirably in chronological order of
these requests. In another aspect of the present invention a method for reducing the
number of broadcasts transmitted by the network server 1020b or 1020c is provided. The network server 1020b or 1020c receives a plurality of identical or
same program requests for a program during a predetermined time from the
plurality of client systems 1000 and/or a plurality of network service providers
servers 1020a. In response thereto, the network server 1020b or 1020c
automatically transmits a message including the addresses of the plurality of client
systems 1000 and/or the plurality of network service provider servers 1020a and
the requested program.
For example, when multiple requests for the home page of the network
server 1020b are sent by 50 network service provider servers 1020a over a
predetermined time interval of 1/40 of a second, for example, the network server
1020b transmits the home page once to all 50 servers instead of 50 separate times
once to each server utilizing the multiple addressing scheme discussed
hereinbefore. If the program was l Okbytes in length a savings of nearly 20
megabytes in bandwidth is saved. Combining the savings for both the requesting
(outbound) automatic scheduling and the delivery (inbound) automatic scheduling
provides huge network bandwidth savings at virtually no decrease in performance
to the client system 1000. This would especially be true if all network service
provider servers 1020a incorporated the software modifications of the present
invention. Also, these software changes include the capability of the network server
1020b to transmit only once the program, packaged with the addresses of plurality
of client systems 1000 and the plurality of network service provider servers 1020a,
in response to multiple requests for the program. The router 30 (see FIG. 1)
software modification allows the router 30 to review a plurality of addresses
packaged in the header and determine the intended recipient of the attached
program. Similarly, the modification to the server software of the network service
provider servers 1020a enable the network service provider server 1020a to review
a plurality of addresses packaged in the header and determine whether the
receiving network service provider server 1020a, or client systems 1000 serviced
thereby, are the intended recipient of the attached program. This allows the
multiple requests for the same program to be transmitted only once by the network
server 1020b.
From the above description it is clear that the present invention is well
adapted to carry out the objects and to attain the advantages mentioned herein as
well as those inherent in the invention. While several aspects of the current
invention has been described for purposes of this disclosure, it will be understood
that numerous changes may be made which will readily suggest themselves to those skilled in the art and which are accomplished within the spirit of the
invention disclosed and defined in the appended claims.

Claims

What is claimed:
1. A method for allowing a network service provider server that normally requests
programs on demand from a plurality of client systems to automatically start scheduling
same program requests to be broadcast on a broadcast network between the network
service provider server and a network server having the same requested program when a
plurality of same program requests for a same requested program reach predetermined
traffic levels, comprising the steps of:
(a) receiving, by the network service provider server, a plurality of same program
requests for a same requested program from the plurality of client systems with
each client in the plurality of client systems having a unique address included
in the program request, and with the unique address identifying the client
system making the same program request, the same requested program being
available for transmission by a network server having the same requested
program available;
(b) automatically scheduling based on predetermined schedule algorithms
involving at least one traffic demand parameter, a same program request to be
sent to the network server having the same requested program, by the network
service provider server, when the number of same program requests from the
plurality of client systems for the same requested program exceeds at least one predetermined traffic
parameter;
(c) sending, by the network service provider server, the same program
request to the network server for the same requested program based on
the predetermined schedule algorithms;
(d) receiving the same program requests by the network server having the
same requested program available for transmission;
(e) sending the same requested program by the network server having the
same requested program available for transmission;
(f) receiving the same requested program by the network service
provider server which received the plurality of same program requests
from the plurality of client systems for the same requested program;
(g) sending the same requested program to the plurality of client systems
by the network service provider server; and
(h) repeating steps (a)-(h).
2. A method as defined in claim 1 , wherein the network service provider server has a
unique address, and step (f) further comprises the step of detecting, by the network service
provider server, its unique address from a packet having multiple network service
provider server addresses associated with the same requested program broadcast by the
network server having the same requested program.
3. A method as defined in claims 1 or 2 wherein the traffic demand parameter is based
on the number of same program requests received during a predetermined time period.
4. A method as defined in any one of claims 1 -3, further comprising the step of listing,
chronologically, all same program requests received from the plurality of client systems
in the predetermined period of time, and step (g) is further defined as sending the same
requested program to the plurality of client systems by the network service provider server
based on a chronological listing and in the same order as the same program requests were
received from the client systems.
5. A method as defined in any one of claims 1-4, wherein the broadcast network is the
internet.
6. A method as defined in claim 5, wherein the broadcast network is the world wide
web.
7. A method as defined in any one of claims 1-6, wherein one traffic demand parameter
in step (b) includes determining the number of requests received for the same requested
program in a predetermined period of time.
8. A method as defined in claim 7, wherein steps (a), (b) and (c) are further defined
whereby the same program requests for the same requested program are sent only once to
the network server having the same requested program upon receiving the same program
request from a first client system requesting the same requested program, and the
remaining requests for the same requested program are accumulated for a predetermined
period of time which is inversely proportional to the traffic demand parameter and the
same requested program is only requested again after the predetermined period of time has
lapsed, and wherein step (g) is defined further as sending the same requested program to
the unique addresses of the client systems identified in the same program requests that
were accumulated for the predetermined period of time in the same chronological order
that they were received by the network service provider server.
9. A method as defined in any one of claims 1-8, wherein one traffic demand parameter
of step (b) is based on setting a predetermined fixed number of the same program
requests, and yet another traffic demand parameter is based on a predetermined number
inversely proportional to the number of same program requests received per unit of time
and step (c) is defined further whereby the same program request is sent requesting the
same program only after the network service provider server has received the
predetermined fixed number of the same program requests or time exceeds the
predetermine number which is inversely proportional to the number of same program
requests received per unit of time, which ever occurs first, after the same program request
was received from the first client systems.
10. A method for allowing a network service provider server to automatically detect
multiple programs requested by a client system in a single request to be broadcasted
between the client system and a network server on a broadcast network and visa versa,
comprising the steps of:
a. selecting, by the client system, a plurality of programs located on the network
service provider server prior to sending a single request for programs to the
network service provider server; b. transmitting, by the client system, to the network service provider server a
request for the plurality of programs in a single client request;
c. receiving, by the network service provider server, the request for the plurality
of programs;
d. retrieving, by the network service provider server, the plurality of programs
requested by the client system;
e. transmitting, by the network service provider server, to the client system the
plurality of requested programs in a single client response; and
f. repeating steps (a)-(f).
11. A method as defined in claim 10, further comprising the step of detecting, by the
network service provider server, the request for more than one program from the single
client request.
12. A method as defined in claims 10 or 11, wherein step (e) is defined further whereby
the plurality of requested programs are transmitted by the network service provider server
to the client system in the order the requests for programs are selected by the client
system.
13. A method as defined in any one of claims 10-12, wherein the network service
provider server has a unique address, and step (c) further includes the step of detecting, by
the network service provider server, its unique address from a packet sent by the network
server having the same requested program and having a plurality of addresses
incorporated into the packet sending the same requested program back to the network
service provider server requesting the same requested program.
14. A method as defined in claim 13, wherein the broadcast network is a packet
switching network including at least one gateway with the request for the plurality of
programs and the plurality of requested programs being transmitted via packets, and
wherein the method further comprises the steps of receiving by the gateway a packet
having multiple network service provider server addresses, repackaging by the gateway
the packet and then transmitting by the gateway the packet to more than one location.
15. A method as defined in any one of claims 10-14, wherein the broadcast network is
the internet.
16. A method as defined in claim 15, wherein the broadcast network is the world
wide web.
17. A method for allowing a network server to automatically schedule requested
same programs to be broadcast to at least one of client systems and network servers
on a broadcast network requesting the same programs, comprising the steps of:
(a) receiving, by the network server, a plurality of program requests for a
same program from a plurality of client systems and/or other network
servers, with the same program being available for transmission by the
network server upon request, and a request for a plurality of programs
available for transmission by the network server upon request;
(b) automatically scheduling, by the network server, when the same
program is requested from the plurality of client systems and/or other
network servers and the plurality of programs are to be broadcast from
the network server based on predetermined schedule algorithms
involving at least one traffic demand parameter;
(c) broadcasting to multiple addresses based on predetermined sceduling
algorithms the same program by the network server having the same
program available for transmission, and the plurality of programs by the network server having the plurality of programs available for transmission;
(d) receiving the same program and the plurality of programs by the multiple client
systems and/or other network servers which requested the same program and
the plurality of programs; and
(e) repeating steps (a)-(e).
18. A method as defined in claim 17, wherein the plurality of client systems and/or other
network servers each has a unique address, and step (d) further comprises the step of
detecting, by the plurality of client systems and/or other network servers, its respective
unique address from a packet having a plurality of multiple client systems and/or other
network servers addresses included in the packet.
19. A method as defined in claims 17 or 18 wherein the traffic demand parameter is
based on the number of same program requests received during a predetermined time
period.
20. A method as defined in claim 19, wherein the predetermined schedule algorithms in
step (b) are defined further whereby one traffic demand parameter is based on setting a
predetermined fixed number of the same program requests, and yet another traffic demand
parameter is based on a predetermined number inversely proportional to the number of
same program requests received per unit of time and step (c) is defined further whereby
the same program request is sent requesting the same program only after the network
server has received the predetermined fixed number of the same program requests or time
exceeds the predetermined number which is inversely proportional to the number of same
program requests received per unit of time which ever occurs first after the same program
request was received from the first client system and/or other network server.
21. A method as defined in any one of claims 17-20, wherein the broadcast network is
the internet.
22. A method as defined in claim 21 , wherein the broadcast network is the world wide
web.
23. A method as defined in any one of claims 17-22, wherein the predetermined
schedule algorithms in step (b) are defined further whereby one traffic demand parameter
includes determining the number of requests received in a predetermined period of time.
24. A method as defined in any one of claims 17-23, wherein steps (a), (b) and (c) are
further defined whereby the same program requests for the same program are accumulated
for a predetermined period of time which is inversely proportional to the traffic demand
parameter and the requested same program is sent after the predetermined period of time
has lapsed, and wherein step (d) is defined further as sending the same program only once
to the unique addresses of the client systems identified in the program requests that were
accumulated for the predetermined time.
25. A method as defined in any one of claims 17-24, wherein the predetermined
schedule algorithms in step (b) are defined further whereby one traffic demand parameter
is based on setting a predetermined fixed number of the same program requests, and step
(c) is defined further whereby the requested same program is sent after the network server
has received the predetermined fixed number of the same program requests.
26. A method of automatically changing a packet size to enhance the efficiency
of broadcast on demand network transmitters with automated scheduling capability,
the method comprising:
(a) receiving a plurality of program requests for a same program with the
same program being available for transmission upon request and each
of the program requests including the address of the intended recipient
of the same program;
(b) scheduling, automatically, when the same program requested is to be
delivered based on predetermined schedule algorithms involving at
least one traffic demand parameter;
(c) automatically determining the size of a packet to be transmitted in a
predetermined manner based on the number of same program requests
received, and the predetermined scheduling algorithms; and
(d) transmitting the packet with the packet having a header and a
message, the header including at least two of the addresses included in
the program requests, and the message including at least a portion of
the same program.
27. A method as defined in claim 26, wherein step (c) is further defined as automatically
determining the size of the packet to be transmitted in a predetermined manner based on
the number of program requests received, the predetermined scheduling algorithms and
the size of the same program to be transmitted.
28. A method as defined in claims 26 or 27, further comprising the step of notifying
network element packet detectors of the size of the transmitted packet.
29. A method as defined in claim 26, further comprising the step of automatically
adjusting the size of the message contained in the packet based on the number of
addresses contained in the header of the packet such that the ratio of the size of the
message to the size of the header does not fall below about 100%.
30. A method as defined in any one of claims 26-29, further comprising the steps of:
receiving the packet via a gateway router; and
re-transmitting the packet to the addresses contained in the header of the packet.
31. A method as defined in claim 30, further comprising the step of cloning, by the
gateway router, the portion of the same program included in the packet the number of
times new routes are required to deliver the portion of the same program included in the
packet to all addresses contained in the header of the packet.
32. A method as defined in any one of claims 26-31 , wherein the predetermined
schedule algorithms in step (b) are defined further whereby one traffic demand parameter
is based on setting a predetermined fixed number of the same program requests.
33. A method as defined in any one of claims 26-32, wherein the traffic demand
parameter is based on the number of requests received during a predetermined time
period.
34. A method for automatically detecting variable network communication program
packet sizes so that network router elements can automatically detect and repackage and
re-transmit the same program originally transmitted to at least two distinctly different
network addresses, comprising:
(a) notifying network router element packet detectors the location of multiple
network addresses being transmitted in an original packet and the size of an original
program portion of the original packet being transmitted; (b) automatically determining the addresses to which the original packet was
sent by a network service provider server or a network server housing the requested
program;
(c) automatically cloning the original packet the number of times new routes
are required to deliver the packet to all of the addresses included in the original
packet received by the router to produce a plurality of cloned packets;
(d) re-transmitting each of the cloned packets in a predetermined manner
determined by the network router and a forwarding table; and
(e) repeating steps (a)-(d) until the original program is sent to each of the
original addresses contained in the original packet.
35. A method for requesting programs to be transmitted to a client system
having a client browser running thereon when the client system is communicating
with at least one of a network server and a network service provider server on the
internet, comprising the steps of:
(a) receiving, by the client system having the client browser running thereon,
a plurality of program requests for different programs which are available for
transmission upon request, the client system having a unique address; (b) receiving, by the client system, a signal instructing the client system to
transmit the plurality of program requests to the network server or the network
service provider server having the programs available for transmission;
(c) generating a single packet including the plurality of program requests and
a unique address of the client system having the client browser running thereon;
and
(d) transmitting the single packet to the network server or the network
service provider server having the different programs available for transmission
upon request.
36. A method as defined in claim 35, further comprising the steps of:
storing, by the client system, the plurality of program requests; and
receiving, by the client system, the programs requested in the plurality of
program requests.
37. A method as defined in claim 36, further comprising the step of:
processing the programs requested in the plurality of program requests in an
order requested by the client system.
38. A method as defined in claims 36 and 37, further comprising the step of:
outputting, by the client system, a notification that at least one of the programs
requested has been received.
39. A network service provider server connectable to a broadcast network, the network
service provider server comprising:
means for storing a plurality of different programs with each program being
available for transmission upon request;
means for detecting a multiple program request signal on the broadcast network, the
multiple program request signal requesting that at least two of the programs
stored on the network service provider server be transmitted to an address
contained within the multiple program request signal.
40. A network service provider server connectable to a broadcast network, the
network service provider server comprising:
means for receiving, by the network service provider server, a plurality of
program requests for a same program from multiple client systems
with each client system having a unique address included in the
program request, and with the unique address identifying the client
system making the program request, the same program being available
for transmission by a network server upon request;
means for automatically scheduling, by the network service provider server,
when the program requested from the multiple client systems is to be
requested from the network server based on predetermined schedule
algorithms involving at least one traffic demand parameter;
means for sending, by the network service provider server, a request for the
program based on the predetermined schedule algorithms;
means for receiving the program by the network service provider server;
means for sending the program to the multiple client systems by the network
service provider server based on the predetermined scheduling
algorithms.
41. A network service provider server as defined in claim 40, further comprising
means for listing, chronologically, all program requests received in the
predetermined period of time, and wherein the means for sending the program to
the multiple client systems is further defined as means for sending the program to
the multiple client systems by the network service provider server based on the
chronological listing and in the same order as the program requests were received.
42. A network service provider server capable of automatically changing the size
of a packet to enhance the efficiency of broadcast on demand network transmitters
with automated scheduling capability, the network service provider server
comprising:
means for receiving a plurality of program requests for a same program with
the same program being available for transmission upon request and
each of the program requests including the address of the intended
recipient of the same program;
means for scheduling, automatically, when the same program requested is to
be delivered based on predetermined schedule algorithms involving at
least one traffic demand parameter.
43. A network service provider server as defined in claim 42, further comprising:
means for automatically determining the size of a packet to be transmitted in a
predetermined manner based on the number of program requests received, and
the predetermined scheduling algorithms; and
means for transmitting the packet with the packet having a header and a message, the
header including at least two of the addresses included in the program requests,
and the message including at least a portion of the same program.
44. A network service provider server as defined in claim 43, wherein the means for
automatically determining the size of a packet is further defined as means for
automatically determining the size of a packet to be transmitted in a predetermined
manner based on the number of program requests received, the predetermined scheduling
algorithms and the size of the same program to be transmitted.
45. A network service provider server as defined in claims 43 or 44, further comprising
means for notifying network element packet detectors of the size of the transmitted
packet.
46. A network service provider server as defined in any one of claims 43-45, further
comprising means for automatically adjusting the size of the message contained in the
packet based on the number of addresses contained in the header of the packet such that
the ratio of the size of the message to the size of the header does not fall below about
100%.
47. A router for receiving and retransmitting packets on a broadcast network,
comprising:
a router packet detector capable of recognizing a plurality of different addresses
included in a single packet receivable by the router packet detector;
means in communication with the router packet detector for automatically cloning,
based on a forwarding table, the single packet the number of times new routes
are required to deliver the packet to all of the addresses included in the single
packet receivable by the router packet detector to produce a plurality of cloned
packets; and
means for receiving the plurality of cloned packets and for re-transmitting each of
the cloned packets in a predetermined manner.
48. A router for receiving and retransmitting packets on a broadcast network,
comprising:
a router packet detector capable of recognizing a single packet including a
plurality of program requests for different programs and a unique
address of a client system;
means in communication with the router packet detector for transmitting the
single packet to a network server or a network service provider server
having the different programs available for transmission upon request.
49. A router, comprising:
a router packet detector capable of recognizing a plurality of different
addresses included in a first single packet receivable by the router
packet detector;
a router transmitter packet controller in communication with the router
packet detector for receiving the first single packet, looking up each of
the plurality of different addresses included in the first single packet,
and appending a next-hop MAC address to the front of the first single
packet for each address in the plurality of different addresses included
in the first single packet.
PCT/US2000/024112 1999-09-08 2000-09-01 Automated bandwidth on demand system WO2001019024A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU73433/00A AU7343300A (en) 1999-09-08 2000-09-01 Automated bandwidth on demand system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15291999P 1999-09-08 1999-09-08
US60/152,919 1999-09-08
US43523699A 1999-11-05 1999-11-05
US09/435,236 1999-11-05

Publications (2)

Publication Number Publication Date
WO2001019024A2 true WO2001019024A2 (en) 2001-03-15
WO2001019024A3 WO2001019024A3 (en) 2001-12-06

Family

ID=26849996

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/024112 WO2001019024A2 (en) 1999-09-08 2000-09-01 Automated bandwidth on demand system

Country Status (2)

Country Link
AU (1) AU7343300A (en)
WO (1) WO2001019024A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1402692A2 (en) * 2001-06-04 2004-03-31 NCT Group, Inc. System and method for increasing the effective bandwidth of a communications network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NONNENMACHER J ET AL: "ASYNCHRONOUS MULTICAST PUSH: AMP" CANNES, NOV. 18 - 21 1997,[S.L.]: [S.N], vol. CONF. 13, 18 November 1997 (1997-11-18), pages 419-430, XP000753920 ISBN: 2-7261-1104-1 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1402692A2 (en) * 2001-06-04 2004-03-31 NCT Group, Inc. System and method for increasing the effective bandwidth of a communications network
EP1402692A4 (en) * 2001-06-04 2005-06-15 Nct Group Inc System and method for increasing the effective bandwidth of a communications network
US7260651B2 (en) 2001-06-04 2007-08-21 Nct Group, Inc. System and method for increasing the effective bandwidth of a communications network

Also Published As

Publication number Publication date
AU7343300A (en) 2001-04-10
WO2001019024A3 (en) 2001-12-06

Similar Documents

Publication Publication Date Title
EP1252575B1 (en) A system and method for rewriting a media resource request and/or response between origin server and client
EP1497932B1 (en) System and method for internet page acceleration including multicast transmissions
KR100779751B1 (en) Method and apparatus for obtaining data information
CN100428679C (en) Distributed multi cast caching technique
US5938737A (en) Internet upstream request compression
US20020046405A1 (en) System and method for determining optimal server in a distributed network for serving content streams
US20020040404A1 (en) System and method for performing broadcast-enabled disk drive replication in a distributed data delivery network
US20020042817A1 (en) System and method for mirroring and caching compressed data in a content distribution system
US20030043844A1 (en) Method and apparatus for improving utilization efficiency of wireless links for web-based applications
CN1640029A (en) System and method for broadband digital broadcasting
CA2273179A1 (en) Broadcast delivery newsgroup of information to a personal computer for local storage and access
US7296071B2 (en) Service transmission in a packet data network
Minei et al. High-speed internet access through unidirectional geostationary satellite channels
US7143179B2 (en) Method and system for parallel data transmission on demand to an unlimited number of clients without acknowledgment and on the basis of constant data availability
WO2004040877A1 (en) Parallel access to data over a packet network
WO2001019024A2 (en) Automated bandwidth on demand system
US8001276B2 (en) Method and apparatus for usage estimation and prediction in two-way communication networks
El-Marakby et al. Integrating RTP into the World Wide Web
Han et al. An adaptive loss protection for video transmission over content-centric networks
WO2001065767A2 (en) Method and system relating to multicasting
US20020178286A1 (en) Video file transfer network
Carle Error Control for Real-Time Audio-Visual Services
Basu et al. A multicast push caching system over a UDLR satellite link
Srichumroenrattana A Performance Study of the Media Streaming Protocols
Allman et al. Network and User-Perceived Performance of Web Page Retrievals Hans Kruse Ohio University hkruse1@ ohiou. edu

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

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

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

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 in:

Ref country code: JP