U.S. patent application number 09/911945 was filed with the patent office on 2001-12-20 for enhanced integrated data delivery system.
Invention is credited to Kikinis, Dan.
Application Number | 20010054110 09/911945 |
Document ID | / |
Family ID | 25351009 |
Filed Date | 2001-12-20 |
United States Patent
Application |
20010054110 |
Kind Code |
A1 |
Kikinis, Dan |
December 20, 2001 |
Enhanced integrated data delivery system
Abstract
A data delivery system comprises a server connected to data
sources and adapted to transmit data to a user, a first link from
the server adapted to transmit data to the user via a first
delivery path, a second link from the server adapted to transmit
data via a second delivery path to the user, the second delivery
path having a broader bandwidth that the first delivery path; and
transmission control routines. For each data entity to be
transmitted to the user, the transmission control routines select
either the first path or the second path for transmission, based on
size of the data entity and preprogrammed criteria. The delivery
system may have queues for satellite transmission, including a
queue for such as data entities to provide a video stream, wherein
entities must be sent at a minimum rate to avoid interruption of a
video presentation. In one aspect, control routines of the
invention divide non-video entities into portions small enough to
avoid interruption of the video stream, and cause the divided
portions to be sent interleaved with the video entities.
Inventors: |
Kikinis, Dan; (Saratoga,
CA) |
Correspondence
Address: |
CENTRAL COAST PATENT AGENCY
PO BOX 187
AROMAS
CA
95004
US
|
Family ID: |
25351009 |
Appl. No.: |
09/911945 |
Filed: |
July 23, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09911945 |
Jul 23, 2001 |
|
|
|
08868065 |
Jun 3, 1997 |
|
|
|
6289389 |
|
|
|
|
Current U.S.
Class: |
709/239 ;
709/203 |
Current CPC
Class: |
H04L 12/5692 20130101;
H04L 12/2856 20130101; H04L 69/16 20130101; H04L 69/169
20130101 |
Class at
Publication: |
709/239 ;
709/203 |
International
Class: |
G06F 015/16; G06F
015/173 |
Claims
What is claimed is:
1. A data delivery system, comprising: a server connected to data
sources and adapted to transmit data to a user; a first link from
the server adapted to transmit data to the user via a first
delivery path; a second link from the server adapted to transmit
data via a second delivery path to the user, the second delivery
path having a broader bandwidth that the first delivery path; and
transmission control routines; wherein, for each data entity to be
transmitted to the user, the transmission control routines select
either the first path or the second path for transmission, based on
size of the data entity and preprogrammed criteria.
2. The data delivery system of claim 1 wherein the first path is a
land-based path, and the second path is a satellite transmission
path.
3. The data delivery system of claim 2 wherein queues fare
maintained for data entities to be sent by the satellite path, and
wherein the transmission control routines negotiate with queue
control routines regarding queue capacity and queue use level as a
part of the transmission path selection.
4. The data delivery system of claim 2 wherein the transmission
control routines encrypt data entities before transmission, and
provide an encryption key for transmission to the user.
5. The data delivery system of claim 2 wherein the transmission
control routines are adapted, upon failure of one of the land-based
and satellite delivery paths, to route all data entities by the
remaining path.
6. The data delivery system of claim 2 wherein the transmission
control routines are adapted to divide a data entity selected for
satellite transmission into multiple smaller data entities before
transmission.
7. The data delivery system of claim 6 wherein the transmission
control routines, upon dividing a larger data entity into smaller
data entities, prepares and transmits a division key to the user,
the division key adapted for re-assembling the multiple entities
back into the larger entity.
8. A broadband data transmission system comprising: a high priority
queue reserved for data entities requiring that data entities be
sent in a successive fashion at or above a minimum rate; a lower
priority data entity queue; and control routines adapted for
dividing large data entities in the lower priority queue into
multiple smaller data entities of a size that may be transmitted
interspersed with data entities from the high priority queue
without causing the rate of transmission of the high priority
entities to fall below the minimum rate.
9. The broadband data transmission system of claim 7 wherein the
transmission system comprises a satellite transmission system.
10. The broadband data transmission system of claim 8 wherein, upon
dividing a large data entity into multiple smaller data entities
for transmission, the control routines prepare a division key for
transmission to a user, the division key adapted to aid in
reassembling the multiple data entities back into the undivided
larger data entity.
11. A method for transmitting data from a server to a user, wherein
the server is adapted to transmit either by a first path or by a
second path, the second path having a broader bandwidth than the
first path, comprising steps of: (a) calculating a probable
transmission time by the second path and by the first path; (b)
comparing the calculated transmission times; and (c) selecting a
path for transmission based on the comparison.
12. The method of claim 11 further comprising a step for encrypting
data entities before transmission, and sending a decryption key to
the user.
13. In a broadband data transmission system having a high priority
queue reserved for first data entities requiring that the first
data entities be sent in a successive fashion at or above a minimum
rate, a method for transmitting a second data entity comprising
steps of: (a) dividing the second data entity into multiple
portions, each portion small enough to ensure that it may be
transmitted interspersed with first data entities without violating
the minimum rate for the first data entities; and (b) transmitting
the divided portions of the second data entity interspersed with
transmission of first data entities.
14. The method of claim 13 further comprising a step for preparing
a division key with information about the facts of division of the
second entity, and a step for causing the division key to be
transmitted to a user.
Description
FIELD OF THE INVENTION
[0001] The present invention is in the field of Internet and
Intranet network communication systems and has particular
application to methods and apparatus including software used for
the purpose of increasing speed and performance in transmitting
data requested by a user from a data-gathering site to the
user.
BACKGROUND OF THE INVENTION
[0002] Although the scope of the present invention is broader than
a comparison between narrow-band land-based communication links and
broadband broadcast transmission of data, that comparison is
convenient for the purpose of illustrating embodiments of the
invention, and is used extensively below.
[0003] The Internet is a global matrix of linked computers and file
servers providing a virtually unlimited pool of knowledge to any
user who has a connection for access. The state of the Internet is
one that is constantly evolving and changing both in scope and
technology. What has evolved from a type of military
infrastructure, has become a largely civilian superstructure
allowing exchange of information to take place rapidly from almost
any location in the world.
[0004] At the time of the present patent application, Internet
infrastructures are largely land-based, transmitting data over
digital links and analog lines and the like. The typical user
connections for the land-based infrastructure include a telephone
line, a modem and an Internet Service Provider (ISP) through which
the service is provided. Generally speaking, the connective
elements described immediately above are all that is required for a
user to receive the basic capability to access the Internet
provided the user has a PC with at least minimum system
requirements.
[0005] Given the ever-changing technological face of the Internet,
it is not surprising that there have been many new developments in
the methods of access and communication. For example, there are now
satellite systems that allow a user access the Internet and receive
information via broadcast into a satellite modem linked to the
user's PC. One such satellite-based product is being introduced
into new car models, giving the user the capability of accessing
the Internet while mobile. As well, various other wireless systems
are being developed and tested in the hopes of utilizing increased
bandwidth capabilities and bypassing older, less reliable types of
analog lines that are currently in place.
[0006] Digital information transferred over the Internet is
transmitted in what are known in the art as data packets. These
data packets vary in size and several packets may comprise one
document in the form of a Web page to be viewed by the user, for
example. If a particular file contains a large amount of graphics,
larger individual data packets may be required creating a slower
download time on the user's end before he or she can view the
entire page on the receiving station. Similarly, video files and
sound files comprise large packets of information, take up
considerable memory contributing to long download times. A typical
user having a PC that is rated as minimum in terms of system
requirements for downloading such material, can find accessing the
Internet and downloading material to be frustrating. In many cases,
PC systems can lock-up on the user's end requiring a re-boot to
re-connect. Accessing some files can take several minutes or more
and may cause the user to abort the download for lack of
patience.
[0007] While technological improvements have been made to alleviate
congestion and bottlenecks that may occur due to increased network
traffic, such as replacing older lines and connections with those
capable of transmission at a higher bandwidth, these types of
improvements are not generally found over an entire infrastructure.
Modems that can download material at higher speeds are now
available as well, however, many existing lines cannot carry the
information at the modem's highest speed. For example, if a user
installs a 56 kilobytes per second (Kbps) modem, he may still,
depending on the quality of line and the speed at which the data
was sent, only realize a slight increase in the time it takes to
download the particular files. Compression of files is sometimes
used as a technique to enable faster download times, but this
expedient requires the user to have the appropriate software to
decompress that particular file type. Often different software
applications must be purchased by the user in order to decompress
differing file types and so on. Many of these improvements cost the
user in terms of the money and time spent to install and operate
them.
[0008] There are, as described above, various satellite systems
that have been developed and tested for Internet communication that
can significantly increase the capacity of distributing large
packets of information by virtue of a significantly higher
bandwidth capability when compared to land-based systems. The
information can be received by a user connected to a special
satellite modem and receiver dish that captures transmitted
information that is broadcast on a specific channel to which the
user's modem is tuned. One problem with this method is that anyone
with a suitable receiver can intercept transmissions, which makes
privacy an issue. Also, broadcast interference caused by another
broadcasting source is always possible. A further problem is that
in the case of a large number of subscribers to such a system,
available bandwidth can be reduced by a large number of users
sharing the broadcast system.
[0009] What is clearly needed is a method and apparatus including
software wherein a user can be connected both to a low-bandwidth
system, such as a typical land-based modem connection through the
public switched telephone network, and to a high-bandwidth delivery
system, such a cable TV or a satellite system simultaneously so as
to be able to receive information at a high rate without losing any
security features inherent to the land-based system, and to enable
a situation where information to be transmitted could be sent in
the most efficient manner. Such a system would be enhanced with a
software designed to detect and utilize the fastest route back to
the user based on real-time analysis at the point of transmission
of the fastest route for each packet sent.
SUMMARY OF THE INVENTION
[0010] In a preferred embodiment of the present invention data
delivery system is provided, comprising a server connected to data
sources and adapted to transmit data to a user; a first link from
the server adapted to transmit data to the user via a first
delivery path; a second link from the server adapted to transmit
data via a second delivery path to the user, the second delivery
path having a broader bandwidth that the first delivery path; and
transmission control routines. For each data entity to be
transmitted to the user, the transmission control routines select
either the first path or the second path for transmission, based on
size of the data entity and preprogrammed criteria.
[0011] In a preferred embodiment the first path is a land-based
path, and the second path is a satellite transmission path. In
other embodiments there may be paths of other sorts between which
the control routines may select for delivery. In some of the
transmission, queues are maintained for data entities to be sent by
the more broadband path, and the transmission control routines
negotiate with queue control routines regarding queue capacity and
queue use level as a part of the transmission path selection.
Encryption may also be done, and an encryption key sent to a user
by a separate path than the encrypted data is sent.
[0012] In some embodiments fail-safe operation is accomplished,
wherein, upon failure of one of the delivery paths, all data
entities are routed by the remaining path. Also in some embodiments
the transmission control routines are adapted to divide a data
entity selected for broadband transmission into multiple smaller
data entities before transmission. In this case a division key is
typically sent to the user.
[0013] The selective transmission system provided and taught herein
provides for the first time a method for utilizing the best
features of both a broadband and a narrower band transmission
system in delivering data, while also providing fail-safe
operation, encryption for security, and other salient features.
BRIEF DESCRIPTION OF THE DRAWING FIGURES
[0014] FIG. 1 is an illustration of an enhanced Internet delivery
system according to an embodiment of the present invention.
[0015] FIG. 2 is an illustration of the Internet delivery system of
FIG. 1 showing additional elements.
[0016] FIG. 3 is a flow diagram illustrating steps in practicing
the invention in a preferred embodiment.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] FIG. 1 is an illustration of an enhanced Internet delivery
system according to an embodiment of the present invention, wherein
land-based delivery technology is integrated with satellite
delivery technology to create an Internet delivery system 9 taking
advantage of the best features of both. Internet delivery system 9
comprises two distinct sets of equipment illustrated and enclosed
within dotted rectangles. Illustrated in FIG. 1 are client
connecting equipment 11, and network equipment 13.
[0018] As stated once above, it is repeated here that the example
provided, illustrating a modem-connected land based Internet
connection through a public-switched telephone network, and a
satellite transmission system, is a limited example of the
invention. The invention extends in scope to any situation where a
data source is connected by two paths to a data destination,
wherein one of the paths has a significantly higher bandwidth than
the other path and is typically of broadcast type, and wherein the
data source is adapted to select between the paths for transmitting
the data or portions of the data.
[0019] In the example of FIG. 1, client connecting equipment 11
comprises in this embodiment a PC 19, a conventional modem 17, a
satellite modem 21, and a home receiver dish 23. Conventional modem
17 is connected to a Telephone Network 15 (e.g. PSTN) via a
telephone line 18. Link 18 may in other embodiments be any sort of
relatively low-bandwidth link, such as ISDN or fiber optic,
cellular phones or PCS (personal communication services)
phones.
[0020] In a preferred embodiment a user will initiate an Internet
session via analog modem 17 over analog link 18 through PSTN 15.
Satellite modem 21 and home receiver dish 23 are utilized for the
purpose of receiving satellite signals and will be described in
more detail below.
[0021] On the network delivery side, network equipment 13 comprises
a Proxy-Server 29, which is a special subscriber-only server
executing unique control generic to embodiments of the present
invention. When a user initiates an Internet session, he or she
connects through proxy server 29.
[0022] It will be apparent to one with skill in the art that there
may be more than one server such as proxy-server 29 on the network,
however, in this instant embodiment only one is shown and deemed
sufficient by the inventor for the purpose of adequately
illustrating embodiments of the present invention. Also, other
functions may coexist on proxy-server 29. The unique functions of
proxy-server 29 as they applies to the present invention are
described in further detail below.
[0023] Proxy-server 29 is connected by a digital link 22 to the
Internet represented by Internet cloud 24. It will be apparent to
one with skill in the art that proxy-server 29 is part of the WWW
network and that connection thereto may take place at any point
in-between proxy-server 29 and analog link 18 such as in the case
of an Internet Service Provider (ISP) in PSTN cloud 15. Connection
to proxy server 29 may be made in some embodiments through an
Internet Service Provider (ISP), or proxy server 29 may be provided
by an ISP.
[0024] An up-link satellite server 31 in this embodiment is
connected via a digital link 53 to proxy-server 29 and also to a
satellite sending dish 45 by digital link 55 that is capable of
converting and broadcasting digital information over specific
channels to be received and relayed by a satellite 37. It will be
apparent to one with skill in the art that there may be more than
one up-link server 31 as well as more than one satellite sending
dish 45 on any given network. The number of servers and sending
dishes is only limited by the size of the network. For example, a
very large global system having a large number of world-wide
subscribers may duplicate the aforementioned equipment in various
strategic locations around the world so as to be able to access a
number of strategically-placed satellites. Similarly, if the
network is very small, such as a regional corporate network, a
lesser number of servers and the like would be sufficient.
[0025] In other embodiments of the present invention there need not
be an uplink server. The functions of the uplink server could be
performed by control routines at the proxy server, and only the one
server is required. This is true also in embodiments of the
invention wherein other broadband transmission methods may be used
in lieu of satellite systems.
[0026] In accordance with a preferred embodiment of the present
invention, satellite 37 rebroadcasts digital information which may
be received by any receiving dish in line-of-sight, such as home
receiving dish 23 at the user's end. Digital information destined
for a particular user can then be sorted by the satellite modem
using an identification system and transmitted into the User's PC
via a cable link 27. Also, the data is preferably packed into a
complete digital transport stream, as used on digital broadcast
satellites and digital CTV systems, such that no transport stream
demultiplexion is required.
[0027] Internet delivery system 9 is an information loop whereby
information requested via land-based connection can be sent back to
the user over either a satellite connection or back over the land
connection. This is made possible by virtue of unique control
routines termed by the inventor Asymmetric Point to Point Protocol
(APPP). Matching instances of APPP drivers are installed on PC 19
and on proxy server 29, and these drivers act to control modems at
both locations. It will be apparent to one with skill in the art
that there may be as many modems connected to proxy-server 29 as
deemed necessary to handle the amount of network traffic that will
be processed. It will also be apparent to those with skill in the
art that there is considerable leeway in where the drivers may be
resident and executed. In many situations, for example, servers
have satellite processors running control routines for serving
communication needs of the server, called in some circles Port
Masters.TM.. In other instances a main CPU in the server may
execute the communication control routines.
[0028] In a preferred embodiment of the present invention, APPP is
layered to existing instances of Transfer Control Program/Internet
Protocol (TCP/IP) sometimes referred to by those skilled in the art
as a TCP/IP stack. While TCP/IP and PPP are both well known
Internet standards, PPP as is used in accordance with the present
invention with a selective multi-link capability installed in
proxy-server 29 is asymmetric rather than symmetric, thereby giving
it an ability to select from alternative routes back to the user,
based on available information at the time the decision is
made.
[0029] The choice of route in sending information to a user in
embodiments of the invention is determined by such factors as
packet size of digital information, latency characteristics of the
satellite path compared to those of the land-based path, and the
amount of waiting time in the sever queues associated with up-link
server 31. The function of APPP routines in preferred embodiments
of the present invention are further detailed below.
[0030] FIG. 2 is an illustration of Internet delivery system 9
showing additional detail of the organization and the function of
control routines in a preferred embodiment of the present
invention, and connectivity to other instances of control
routines.
[0031] An APPP driver 57 is layered to TCP/IP stack 58 installed on
PC 19 of the user. When the user is on-line and engaged in an
active session with proxy-server 29 in the network, an active
connection 63 is made to a matching instance of APPP driver 59
layered to TCP/IP stack 60 installed in proxy-server 29. Similarly,
the muti-link enhancement to the matching instance of APPP driver
on proxy-server 29 allows it to communicate via active connection
65 with software that controls waiting queues 67 and 69.
[0032] Waiting queues 67 and 69 are for the purpose of queuing data
packets in order of priority that will be sent via satellite to
various users that subscribe to the service. For example, queue 67
may be a higher priority video conference queue whereas queue 69
may be a Web page queue and so on. It will be apparent to one with
skill in the art that there may be many such queues associated with
up-link server 31 as may be needed for different types and
priorities of communication. Active connections 63 and 65 are
two-way communication links wherein data can be processed in both
directions. In this instant embodiment we are only concerned with
downloading information from the Internet. In the case of satellite
transmission to the user, active connection 61 in this example
represents a one way communication from home receiving dish 23 and
APPP 57 installed at PC 19.
[0033] It will be apparent to one with skill in the art that active
connections shown in this instant embodiment take place over the
existing links shown in the embodiment of FIG. 1. For example,
active connection 63 is through links 18, 20 and PSTN cloud 15 of
FIG. 1 whereas active connection 65 is through link 53 of FIG. 1
and so on. It will also be apparent to one with skill in the art
that any variety and number of links may be used and present in any
given network provided they are open when the user is engaged in an
active session. Further, the term link, as is used in the text of
this application, is generic in the sense that it may include
modems, switches, routers, personal computers, servers or any other
hardware that serves to complete an Internet connection with the
only requirement for definition of the term being that all
connections present are open and communication is active.
[0034] Referring again to FIG. 2, while data packets are arriving
at proxy-server 29, they are analyzed for size by APPP driver 59.
Active connection 65 is then opened almost simultaneously to
up-link server 31. The current latency period for each travel path
is calculated along with the waiting period associated with the
particular queue that the data packet would be sent to such as
queue 67. Latency periods (the time it takes for a data packet to
reach a user over a particular route) may vary widely and are
affected by such factors as time of day, recently installed
up-grades to infrastructure, current network traffic, and so on. A
decision is then made as to whether, in this particular embodiment,
the land-based path or the satellite path will be faster for that
size of packet at that particular time. If it is determined that
the land-based path is faster, then the data packet is sent to the
user via digital link 20, PSTN cloud 15 and link 18 through analog
modem 17 and into PC 19 of FIG. 1. If, however, it is determined
that the satellite path would be faster, then the data packet is
sent to up-link server 31 via link 53 of FIG. 1. Once the data
packet is appropriately queued in up-link server 31 the data packet
is tagged with the appropriate IP address for identification by
control software running in PC 19, which may have a resident filter
in satellite modem 21 of FIG. 1.
[0035] At this time the information may also be encrypted for
security and a decryption key may be sent back to the user via
digital link 53 of FIG. 1 to proxy-server 29 and back through
digital link 20, PSTN cloud 15, analog link 18 through analog modem
17 and into the users PC. Once the encryption process has taken
place and the key has been sent via land, the data packet proceeds
through digital link 55 to satellite sending dish 45 where it is
broadcast to home receiving dish 23, where it is picked up by
satellite modem 21 through cable 27 and downloaded into PC 19. It
will be apparent to one with skill in the art that there are other
ways to tag data packets than by using an IP address, such as
supplying a password generic to a subscriber and so on. These
tagging methods are well known in the art and are in use in other
types of systems.
[0036] As data packets are handled individually, it will be
apparent to one with skill in the art that in a system of the
invention whereby the user is connected to both a land route and a
satellite route as described above, information from the same
source can be sent by land and satellite at the same time. For
example, a graphic-intensive Web page containing animation as well
as sound and text may be sent in several data packets with the
smaller packets arriving via land, and the larger ones via
satellite. This unique feature allows for faster transmission of
the entire Web page to the user's browser, which can then sort the
information and display the page in normal fashion.
[0037] In another embodiment of the invention, special packets may
be marked for broadcast to a group or to all users. That would
allow virtual Internets running on top of this architecture to
address all their sites at the same time, e.g. to update a price
list to all supermarket of a chain, for example, in a short
time.
[0038] In another embodiment of the present invention, a fail-safe
feature is incorporated into the software of the present invention
whereby the data packets are automatically sent to the user via the
remaining alternate path if, for instance, an interruption in
service were to occur temporarily disabling one path. For example,
if the user has data packets in queue in up-link server 31, and his
home receiving unit failed, then those data packets would be
returned to proxy-server 29 and routed back along the land-based
path. Similarly, if for some reason his data packets are queued in
proxy-server 29 for normal transmission via the land-based path and
a sudden disruption of service occurs along that route the data
packets would be sent to up-link server 31 and queued to arrive via
satellite. It will be apparent to one with skill in the art that
re-routing in such instances could also be done on the existing
paths as well, such as in a case where a server has failed along a
land link and another server in a cluster is brought into play as a
back-up and so forth. Or perhaps, in a case where a broadcasting
satellite is too far away for the home receiving dish to pick up a
direct signal, a subsequent tower with a receiving and sending
capability could mirror the broadcast to a location close enough to
the user to receive it and so on.
[0039] In another embodiment of the present invention, the
satellite system is equipped with multiple channels for
broadcasting data and could send an indicator to the user via land
as to which channel to tune the satellite modem to for picking up
the signal. This embodiment would have a greater control over
network traffic via channeling a certain number of subscribers
through specific channels thus enabling the regulation of network
traffic.
[0040] In yet another embodiment of the present invention, APPP
driver 59 performs an additional function of slicing large data
packets and sending reduced-sized packets via the satellite path.
This added capability is to prevent a particular problem in
transmission that can be caused by very large files. Assume, for
example, that the satellite link is capable of sending data at 20
Mbps. A file of 80 Mb arrives at server 29, and the APPP driver
determines the best route is the satellite path. Now assume that
queue 67 is reserved for video, and to provide uninterrupted video
at the user's PC, a packet must be sent every fraction of a second.
If the 80 Mb file is queued in queue 69, when it is sent, it will
tie up the satellite transmission for about four seconds. Assuming
packets need to be sent during this interim from queue 67 for video
(or any other type of real-time data stream), the four second
transmission of a single packet will cause an interruption in the
video stream at the user's end.
[0041] In an embodiment of the invention, packets of a size large
enough to cause such an interruption as that described above are
divided into packets small enough to be sent in between bursts from
queue 67, so the larger file may be transmitted without disrupting
the video stream. The size to cause such a division, and the
dividing factor will be determined by such factors as the capacity
of the satellite link, and the time that may be available for
transmission between video packet transmission.
[0042] When the dividing ability is invoked, it is necessary to
announce the division to the user's station, so the divided packets
may again be assembled into the original much larger file. A
security key ability was described above wherein an encryption key
is sent via land connection to decrypt files sent by satellite
link. A similar method is used for the file dividing
characteristic. A division key is sent by land connection informing
the user that a large file is coming comprising X associated
smaller packets. The smaller packets may then be identified and
reassembled at the user's end.
[0043] In an alternative embodiment the division key is sent as a
part of a header associated with the first divided file sent as a
part of a larger file. In this alternative, when a first smaller
file arrives, the user's system is informed that the next "y"
identified files are to be reassembled into a larger file. In this
manner, disruption of services requiring periodic transmission may
be avoided.
[0044] FIG. 3 is a process flow diagram illustrating a simplified
function of the APPP software as is used in an embodiment of the
present invention wherein a user that is logged onto the Internet
sends a data request in step 71. In step 73 the request is received
by proxy-server 29 of FIG. 2. The source of requested information
such as a server in Internet cloud 24 of FIG. 1 is contacted and
the data packets are sent to proxy-server 29 in step 75. At steps
77 and 79, APPP software applications analyze the data packets in
accordance with an embodiment of the present invention, as
described above with reference to FIG. 2, while at the same time
requesting and receiving information from up-link server 31
regarding latency, queue waiting periods, etc. At step 81 the
information received in step 79 is analyzed and associated with the
information regarding the size of the data packet, and calculations
are made to determine which path might be appropriate for that
particular data packet at that particular time.
[0045] In an alternate embodiment, periodic system analysis checks
can be performed whereby arbitrary data packets can be sent along
various routes by up-link server 31 and timed for return. This
information could be stored in a stat-server as described above and
accessed in step 79. Statistical information of this sort may be
accessed and used as well in the decision process.
[0046] As described above with reference to FIG. 2, if calculations
indicate that the satellite route is faster, then the satellite
path is chosen. If it is determined that the satellite path is
faster, control goes to step 83, and a decision is made as to
whether division is needed. If yes, control goes to step 85,
division is accomplished, the smaller files are queued, and a
division key is either prepared and sent to the user via land route
or in a satellite packet header. The data packet or packets are
then sent to up-link server 31 of FIG. 2 in step 87 where the data
packet is tagged and possibly encrypted for security, and queued in
the appropriate queue such as queue 67 of FIG. 2. At step 88 the
data packets sent by satellite are received by satellite modem 21
of FIG. 1 and downloaded into PC 19.
[0047] If the calculations performed at step 81 indicate that the
land route would be faster at that particular time, then the land
route is chosen and the data packet is sent directly to the user
via the land route in step 91. In step 93, modem 17 of FIG. 1
receives the data packet for download into PC 19.
[0048] It will be apparent to one with skill in the art that the
software of the invention could be configured many different ways
without departing from the spirit and scope of the present
invention, such as by having multi-links to different servers where
additional information can be accessed for help in the
determination and calculation regarding latency queues and so on.
In one embodiment the software could notify a user via pop-up
window on his PC and inform him of status of information queued for
satellite such as approximately when the information will arrive
and the like. It will also be apparent to one with skill in the art
that a subscriber to Internet delivery system 9 could achieve
two-way satellite communication without departing from the spirit
and scope of the present invention with the addition of a sending
unit in home receiver dish 21. Many other variations of
configuration are possible such as those embodiments already
described above.
[0049] It will be apparent as well to those with skill in the art
that there are many alternatives to the embodiments described that
might be practiced without departing from the spirit and scope of
the invention. Many such alternatives have already been described
above. A very important one is that the land-based route shown with
a satellite-route alternative is only exemplary, and the
decision-making functions and alternative routing described may be
practiced in ant data delivery system wherein alternative routes of
different bandwidths are available. In some systems as well, as
described briefly above, it is not required to have a separate
server for uplink, queueing and the like, and al such functions
could be performed on a single server. The spirit and scope of the
present invention are limited only by the claims that follow.
* * * * *