Method and system for asymmetric satellite communications for local area networks

- Helius, Inc.

A method and system for providing high-speed, satellite-based information delivery is described. Improved communication channel efficiency is accomplished by employing an asymmetric data flow. The high bandwidth channel capacity of digital satellite systems is used for the download of large volumes of data. While relatively low speed communication channels are used for upstream data requests. The use of separate channels for upstream data and downloaded data provides an increased efficiency of use for typical Internet and other electronic information service subscribers.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 09/746,438, filed on Dec. 20, 2000, and U.S. patent application Ser. No. 09/815,520, filed on Mar. 23, 2001, each of which is co-pending, co-owned and has common inventorship with this present application, and each of which further claims priority as a continuation application to U.S. patent application Ser. No. 08/943,544 filed on Oct. 3, 1997, now U.S. Pat. No. 6,205,473, which issued as a U.S. patent on Mar. 20, 2001, and priority is therefore claimed thereto. Further this application is a continuation of U.S. patent application Ser. No. 08/817,718, filed on Mar. 26, 2001, now U.S. Pat. No. 6,922,719, which further claims priority as a continuation application to U.S. patent application Ser. No. 08/943,544 filed on Oct. 3, 1997, now U.S. Pat. No. 6,205,473, issued as a U.S. patent on Mar. 20, 2001.

BACKGROUND OF INVENTION

1. Field of the Invention

This invention relates to methods and systems for communications between computers and other digital information devices. More particularly, this invention relates to communications between computers making use of digital satellite communications channels and computer local area networks, to provide access to the Internet, to facilitate data and software distribution, and/or to enhance the capabilities of intranet systems for computers with connections to local area networks.

2. Description of Related Art

It is well established that computers can communicate across local or wide area networks. It is also well known that satellite receivers and transmitters can be used to transfer high volumes of digital data. Some efforts have been made to provide communication systems, which can be used to transfer data between computer processors using a variety of communication mediums (see Moura et al., U.S. Pat. No. 5,586,121). However, it is desirable to provide a high-speed, low-cost, satellite-based communication system, which is designed to optimize the use of digital satellite systems for local area networks (LANs). Optimizing the use of the digital satellite channel is best accomplished through the use of asymmetrical communications between the computer server and the internet as opposed to symmetric communication, in which substantially the same data rates and the same media are used for both the transmit direction and the receive direction, and as opposed to communication system which employ asymmetrical communication between the local area network and the server. Particularly, asymmetrical systems, which require upstream router hardware, “backbone” network hardware, or dial-up Internet, service providers (ISPs) to create a “hybrid” asymmetrical local system with a symmetrical local area network. Since calls to the Internet can efficiently be made at relatively low speeds, and since using digital satellites as a communication medium provides the capability of very high-speed responses from the Internet, an asymmetric transmission from the Internet across the digital satellite to the LAN server provides the greatest system efficiency. The most common method of sending and receiving computer information today is a landline service (i.e., a switched service, a dedicated line, and/or an analog modem, each using telephone wire lines). However, such a system encounters may problems, including slow transmission speeds, high access costs, lack of available wire lines, and internet congestion. Satellite communication receivers are commonly used to create or supplement existing private wide area data and video networks. When used as an extension to a data network, these satellite links may interconnect local area networks. Satellite links can provide many advantages over landline service, including potentially high-speed data transmission and wide availability. However, typical satellite links have required expensive hardware both to transmit and to receive data. The expense of the hardware has made the use of satellite communication channels generally unavailable to those who most need it. This invention addresses these issues by providing a method and system for providing the advantages of satellite communications for high volume download data packets and typically using a relatively low speed land line for the low volume upload data request packets. By capitalizing on the asymmetrical nature of Internet dataflow, this invention provides an efficient solution for LAN to satellite Internet communications. Although, these references may not necessarily qualify as “prior art”, the reader is hereby directed to the following U.S. patent documents for general background material: U.S. Pat. Nos. 5,095,480, 5,379,296, 5,423,002, 5,488,412, 5,519,699, 5,534,913, 5,539,736, 5,541,911, 5,541,927, 5,555,244, 5,583,997, 5,586,121, 5,594,490, 5,594,872, 5,610,910, 5,610,920, 5,631,907, 5,659,692, 5,668,857, 5,673,265, 5,726,984, 5,742,829, 5,771,354, 5,818,845, 5,828,655, 5,835,726, 5,835,726, 5,852,721, 5,987,506 5,995,726, 6,003,067, 6,067,561, 6,085,235, 6,101,180, 6,105,060, 6,205,473, 6,358,647, 6,377,561, 6,385,647, 6,411,616 each of which is hereby incorporated by reference in its entirety for the material disclosed therein.

SUMMARY OF INVENTION

This invention is a method and system for efficiently communicating between networked computers using a high-speed satellite communications channel.

It is an object of this invention to provide a high-speed satellite based information delivery system for local area network connectivity to the Internet, for file, data, software, and/or multimedia distribution.

It is a further object of this invention to provide a data transmission system particularly well suited to remote location and/or locations where access to high-speed data mediums is unavailable or prohibitively expensive

It is a further object of this invention to provide a high-speed data transmission system that utilizes a highly flexible and adaptable software method.

It is a further object of this invention to provide a high-speed data transmission system that communicates with the Internet while being Internet service provider (ISP) independent.

It is a further object of this invention to provide a high-speed data transmission system that makes use of digital satellite communications technology to enhance data bandwidth, channel reliability, and accessibility.

It is a further object of this invention to provide a high speed data transmission system that utilizes a software method capable of operating on a wide range of server operating systems, including Windows 95, Windows NT, NetWare, Linux Macintosh, present and future versions and the equivalents.

It is a still further object of this invention to provide a high speed data transmission system that is compatible with a wide range of communication protocols and/or mediums, including ISDN, TI, modem, dedicated phone line, switched phone line, frame relay and ATM.

It is another object of this invention to provide a method for permitting many client computer systems, which may be operating system independent and operating on one or more local area networks, to communicate over a single satellite dish, at very high data rates.

It is a further object of this invention to provide a method using software which can operate on a wide variety of hardware, operating system, and software platforms, including, but not limited to: Macintosh, Linux, Unix, OS/2, and Windows NT.

These and other objects of this invention are readily apparent to individuals of ordinary skill in the art upon further study of the drawings, detailed description, claims and abstract that are included in this patent disclosure.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 depicts a top level rendering of the major component parts of the communication system invention. F

FIG. 2 depicts a preferred embodiment of the architecture of the invention.

FIG. 3 depicts the preferred flow of data through the several protocol transitions in a preferred embodiment of the invention.

FIG. 4 depicts a top-level flow diagram showing the primary steps of the process flow for an example single received data packet in the preferred method of the invention.

FIG. 5 depicts a detailed flow diagram showing the package delivery major step of the preferred embodiment of the invention.

FIG. 6 depicts a detailed flow diagram showing the Internet protocol (IP) major step of the preferred embodiment of the invention.

FIG. 7 depicts a top-level flow diagram showing the primary steps of the process flow for an example transmission of Internet protocol datagrams.

FIG. 8 depicts additional detail showing the transfer queue (TxQ) thread processing of the filter queue step of the transmission portion of the invention.

FIG. 9 depicts additional detail showing new queue (NewQ) thread processing of the filter queue step of the transmission portion of the invention.

FIGS. 10a-1 through 10k provide an example embodiment of the user interface of the invention.

DETAILED DESCRIPTION

This invention is a system and method for asymmetric communications, between a remote information provider and a client computer system residing on a local area network (LAN), using high bandwidth digital satellite communication channels. The preferred embodiment of the method of the invention is performed in software residing on a local computer system. The current preferred embodiment of the method software is written in Intel 386 assembly code, C and C++ computer languages. Alternatively, those of ordinary skill in the art could practice this method in a wide variety of procedures, computer languages, or even in dedicated electronic hardware. Therefore this patent should not be read to be limited to the specific embodiment of the provided software appendix. Rather, this software source code is provided to fully describe one preferred embodiment of the method of this invention. Also, in its preferred embodiment, this invention performs in association with DirectPC satellite receivers, Novell NetWare network software, and standard off-the-shelf computer hardware. Other alternative satellite receiver systems, networking software and computer hardware could easily be substituted by those of ordinary skill in the art without departing from the essence of this invention. Similarly, the preferred embodiment, described in the following detailed description, includes a number of components and method steps, which may not be absolutely necessary in other embodiments of the invention. The reader is, therefore, directed to the claims for a description of the range of this patent.

FIG. 1 depicts a top level rendering of the major components and communication paths constituting the system 100 of this invention. A client computer 101 a-g is shown clustered with other client computers on a local area network (LAN) 102. The client computer 101 uses standard off-the-shelf commercially available software, while the server provides the user interface to the desired information. The LAN 102 provides the means for communicating from the client computer 101 to a server 103, which provides the communication interface outside the LAN. The server 103 receives data from a digital satellite receiver 110, depicted here as a satellite dish, across a signal antenna waveguide 115. The digital satellite receiver 10 receives the digital information from a downlink channel 111, which is transmitted from a geosynchronous satellite 112. The satellite 112 receives the information from a network operations center 114 via an uplink channel 113. The server 103 generally uses the above described communications channel from the network operations center 114 for downloads of information, such as internet web page data, software updates, data file distributions and other similar data packages. Alternatively and in addition, this invention provides the capability of using another satellite communication channel to send requests from the client computer 101 to the network operations center 114. This is a particularly useful feature for access from remote locations. Use of the satellite communication channel provides important benefits to the information requester at the client computer 101, including very high speed data transfer, the ability to receive broadcast software distributions which in turn means the requestor is likely to receive such distributions in a more timely and cost effective manner, and the ability to have internet access from locations where wired communications channels, such as telephone lines, are either unavailable, overly burdened, or prohibitively expensive. FIG. 1 also shows the preferred, and more typical request communications channel. In this preferred request channel the client computer 101, connected through the LAN 102, through the server 103, sends a request via modem 105, which typically is connected to the server via a standard serial RS-232 cable 104. The modem 105 in turn is connected to standard telephone landlines 107 via a standard phone cable 106. The request is passed across the landlines 107 to the Internet service provider 108, which communicates to the Internet 109. This invention is designed to be highly flexible and adaptable to different client computer 101 configurations, both hardware and software as well as with and to a wide variety of communication interfaces. Computer hardware such as personal computers, workstations, mini computers, mainframe computers and special purpose computational equipment can be functional client computers 101 as intended within this patent specification. Similarly, computer system operating systems which are supported and used in the preferred and alternative embodiments of this invention included but are not limited to: Windows 3.1, Windows 95, Windows NT, Macintosh, Linux, Unix, OS/2, NetWare, their current versions, past versions, and equivalent future versions and the equivalent. Communications interfaces that are or can alternatively be used with or as a part of this invention include routers, Ethernet, ISDN equipment, switched 56, T1, Token Ring, frame relay, modems, satellite and the equivalent. The advantage of this preferred mode of operation is that the communication channels are used in the most efficient manner. Typically, request packets are relatively small and can be transferred with minimal impact across landlines. While downloaded packets can be very large with significant amounts of highly concentrated graphics, for the vast majority of client computer 101 users the limitation of internet or the ability to receive other downloaded file information is the time it takes for the download transfer to be accomplished. This problem is solved by transferring the potentially very large downloaded packets (files, graphics and other information) using the high bandwidth satellite channel.

FIG. 2 depicts a preferred embodiment of the software architecture of the invention. As shown, in its preferred embodiment, this software operates in association with several standard commercially available software packages and protocols, including Novell NetWare, Ethernet, Token Ring, TCP/IP, IPX and AIO. This software method of the invention also makes use of certain commercially available hardware component, as shown in FIG. 2, including: the satellite receiver 110, a network router 205 and a modem 104. The reader should understand that this FIG. 2 presents a single simplified embodiment of the invention. Alternative embodiments could use alternative software packages and protocols, as well as different or multiple hardware components. FIG. 2 also shows a single embodiment of the path of information through the various software and hardware components. Download information packets are received by the satellite receiver 110, which in turn communicates electronically with the DPC LAN 210, a commercially available hardware driver. The information next passes through the LSL NLM 202, a routine commercially provided by Novell Incorporated, which acts as an intermediary between the driver and the protocol stack to control information packet transfer. Next, the TCP/IP 203 protocol stack receives the information packet. The TCP/IP 203 protocol stack is capable of communicating alternatively with a modem 104, via the LSL NLM 202; the DPCAGENT 207 routine, core to this invention; the AIO 208, a Novell product for managing serial communications; and through the AIOCOMX 209, which is the asynchronous input/output interface to the client computer hardware communication ports, or with router 205, via the LSL NLM 202, the DPCAGENT 207, the LSL NLM 202 and an Ethernet driver 204. Alternative embodiments of this invention may make use of other standard commercially available communication protocols, drivers, hardware and software.

FIG. 3 depicts the flow of information in the preferred embodiment of the invention from the satellite 112 to the client computer 101 as well as the flow of information back to the Internet 109 from the client computer 101. Data is received 301 from the satellite 112 by the satellite receiver 110. Next, the data is transmitted to and received by the server 103 hardware 302 where it is placed in on-board memory. The DPC.LAN DirecPC network card driver retrieves the data packet from hardware memory 303. Next, if the packet is identified as an Internet protocol (EP) format packet it is delivered to the IP protocol stack 304. If the packet is identified as a transmission control protocol (TCP) segment, it is delivered to the TCP protocol stack 305. TCP delivers the data packet to a proxy gateway 306. The proxy gateway forwards the data packet to the client computer via the local area network and standard LAN protocol controllers 307. Next, the client computer processes the data and generates a return packet 308. The return packet is delivered to the proxy gateway via the local area network and the standard LAN protocol controllers 309. The return packet is forwarded to the TCP stack 310, and next to the IP stack 311. The IP delivers the return packet to the DPCAGENT.NLM process 312, which delivers the return packet data to a transmit device, such as a modem or a router 313.

FIG. 4 depicts a top-level flow chart rendering of the major steps of the process flow for a single downloaded data packet section of the invention. Initially the downloaded packet is received 410 by the DirecPC circuit card. This circuit card next transfers the packet data to the DPC.LAN routine 402. In the preferred embodiment of the invention, as shown in the source code appendix, the DPC.LAN routine is denoted as DriverISR proc. This process includes the steps of setting up the RAM adapters and establishing a timestamp for the packet. Further detailed information on the functioning of this routine is found within the software appendix. Next, a test is made 403 as to whether the received data is a package delivery or an Internet delivery. If the received data is package data, it is delivered 404. Package data delivery includes and provides the capabilities of simultaneously broadcasting software upgrades or data files to many client computers, potentially throughout any one continent. Client computers can also request the package data delivery service to retrieve a package of information through the client accessible interface of the invention. If the received data is Internet data, then Internet data delivery is made 405. Additional detail on steps 404 and 405 follows in this specification.

FIG. 5 depicts a detailed flow chart of the preferred embodiment of the package delivery major step of the method of the invention. The data packet is transferred to the DPCAGENT, NLM process 501. This process is a NetWare Loadable Module (NLM) process running on NetWare. After the data packet is received 501, a test is made to determine whether the packet will update the catalog 502. If the catalog will be updated, then it is updated 503 using off-the-shelf commercially available software and the process of package delivery for that packet ends 511. If, however, the catalog will not be updated, then a test is performed to determine whether the site will be updated by the data packet 504. Site updates include modification of such site parameters as NOC versioning, encryption key updates, and becoming a member of a group or leaving a group. If the site will be upgraded, then the process performs the upgrade of the site parameters 505, and the process for this packet ends 511. If the site will not be updated, then the package file is found and stored on the server disk 506. A test is then made to determine whether the end-of-file has been encountered 507. If the end-of-file has not been encountered then the process for that packet ends 511. However, if the end-of-file has been encountered, then a test is made to determine whether there are any “holes” in the file that is whether the file is incomplete 508. If no holes are found in the file, it is marked as complete 509 and the process for this packet ends 511. If “holes” are found in the file, then a request for partial retransmit of the missing packet is sent 510, at which point the process for this packet ends 511.

FIG. 6 depicts a detailed flow chart of the preferred embodiment of the Internet protocol delivery major step of the method of the invention. Internet package delivery or Internet Protocol (IP) delivery is a major function of the invention providing the capability of receiving large files from an Internet source at a very high speed. First the data packet is transferred to the DPCAGENT.NLM routine 601. A test is made to determine whether the data is in transmission control protocol (TCP) 602. If the data is not in TCP protocol then the data packet is transferred to the Internet Protocol (IP) stack 609 and the process for this data packet ends 610. If the data is in TCP form then a test is made to determine if a “SYN” or beginning of section is being initiated 603. If no “SYN” is detected, then a test is made to determine if an end of session, commonly a FIN or RST command, has been encountered 605. If no such end of session is found, then the data packet is transferred to the IP stack 609 and the process for this packet is ended 610. If, however, a “SYN” is detected, then the inquiry is made as to whether a connection slot is available 604. Connection slots perform the function of managing the number of subscribers permitted to have access to the communication network at a given time. If a connection slot is available, it means that the customer still has client computer access capacity. If a connection slot is available, a connection slot is allocated 607 and the data packet is transferred to the IP stack 609 and the process ends. If it is determined that a connection slot is not available, then the data packet is dropped or discarded 606 and the process for this packet ends 610.

FIG. 7 depicts a top-level flow chart showing the primary steps of the preferred embodiment of the transmission of Internet protocol datagrams (or packets) method steps of the invention. Packets that are received from the IP stack are stored on the NewQ 701. Next the packet is removed from the NewQ and tested against the each and every packet on the TxQ to determine if any TxQ data is redundant or dated and should be replaced 702. If a comparison of the packet with the TxQ packets finds the updated or “newer” information, then the TxQ packet data is replaced by the current packet data. This approach is essential to maintaining the fairness of the TxQ packet transfers while ensuring that good data is transmitted thereby improving the transmission efficiency of the system. A test is performed to determine if the packet was included in the TxQ 703. If the packet was not included then the current or NewQ head packet is dropped or discarded 704. Otherwise, if the packet was included, a test is performed to determine if the NewQ is empty 705. If the NewQ is not empty, the process returns to the test NewQ step where a new NewQ head packet is compared against the TxQ. If, however, the NewQ is empty, then the process enters a wait state 706 where a trigger, that is meeting a specified condition, such as new packet on the NewQ or exit command, is required before the process restarts at the testing step 702.

FIG. 8 depicts a detailed flow chart showing the transfer queue (TxQ) thread processing steps of the transmission portion of the invention. In the preferred embodiment of the invention processing the TxQ and processing the NewQ are independent threads of the program, which are capable of running independently on one or more computer processors. In processing the TxQ it is first determined whether the TxQ is empty 801. If the TxQ is empty, then the process enters a wait state 805 where a trigger, such as a polling timer, a transmission complete signal, or an exit command, is required to resume processing. Note that in the preferred embodiment of the invention the expected wait time is calculated in this step and the polling time is initiated. If the TxQ is not empty, a test is made to determine if the head packet of TxQ is too old 802. In the preferred embodiment of the invention, too old is defined as a packet that has been in the TxQ for more than sixty (60) seconds. Alternative embodiments could employ any practicable time period. If the TxQ head packet is too old, then it is discarded 806 and the process returns to the TxQ empty test 801. If the TxQ head packet is not too old, then a test is made to determine if the media, or communication conduit, is capable of transferring another packet of data 803. If the media is capable of transferring another packet, then the packet is written to the transmission device 804, otherwise, the process enters the wait state 805 and waits for a trigger as described above.

FIG. 9 depicts a detailed flow chart showing the new queue (NewQ) thread processing steps of the filter queue step of the transmission portion of the invention. The filter queue-processing step of the invention, which is the core of step 702, is important in providing the communication efficiency, which is one of the key objectives of this invention. A test is made to determine whether the NewQ is empty 901. If the NewQ is empty then a wait state is entered 902 where a trigger, such as new packet available in NewQ, exit or timer count, is required to resume the process If NewQ is not empty, then the head of NewQ is renamed as ECB 903, a packet holding variable. The maximum age of the ECB packet is set 904 and a test is performed to determine if the ECB packet is fragmented 905, that is whether ECB is only a partial packet, which in the current best mode of the invention is not inspected. If ECB is fragmented, then it is appended 906 to the TxQ for transmission. If ECB is not fragmented, then a test is performed to determine if it is a TCP packet 907. If it is not a TCP packet, then the test is made to determine if it is a UDP packet 980. If it is not a UDP packet or a TCP packet then it is appended to the TxQ for transmission 906. If, however, it is a UDP packet, a test is made to determine if ECB is a duplicate of a DNS request 909. If ECB is not a duplicate of a DNS request, then the packet is appended to TxQ 906. If ECB is a duplicate of the DNS request, then it is discarded 910 and the process returns to testing to see if NewQ is empty 901. If it is a TCP packet, then a test is made to determine if ECB is a “SYN” or beginning of session packet 911. If ECB is a “SYN” packet, then a test of whether a connection slot is available is made 912. If a connection slot is available it is allocated 913. If, however, a connection slot is unavailable ECB is discarded 910. If ECB is not a “SYN” packet then the test is made to determine if ECB is a session abort packet (RST) 914. If ECB is found to be a session abort packet TxQ is cleared of all matching packets 915 and a test is made to determine if ECB will terminate a session 91 6. If ECB is not a session abort then the step of clearing all matching packets 915 is skipped. If the ECB is found to terminate a session, then the connection slot is released 91 7. A test is then performed to determine if ECB is void of user data 91 8. If it contains user data then it is appended to TxQ 906. Otherwise, the End-of-Window-Position (EOWP) is computed 91 9 and a test is made to determine if ECB's EOWP is greater than the matched TxQ packets 920, if not ECB is discarded 910, and if so, ECB has its EOWP stored in matched TxQ 921 and then ECB is discarded 910.

FIGS. 10a-k show various screen shots demonstrating the user interface of the invention. FIG. 10a shows the DCPAGENT routine options for user selection as well as the digital package delivery queue screen. FIG. 10b shows a package of data in transit as displayed on the user screen. FIG. 10c shows the main screen of the package delivery interface. FIG. 10d shows package statistics as displayed for user information. FIG. 10e shows configuration control screens where the user can modify certain modem, package delivery and provider configuration information. FIG. 10f shows the package delivery configuration editor screens with the information that can be user modified. FIG. 10g shows the login script editor and the provider configuration editor. FIG. 10h shows additional provider configuration editor screens showing the configuration of an outbound protocol case. FIG. 10i shows the dish or antenna pointing adjustments screens. FIG. 10j shows the satellite dish signal strength meter for dish alignment. FIG. 10k shows the adapter information screen, here showing site information including the card hardware serial number, the site identification, the status of keys, and a list of communities or groups in which the user is participating.

Claims

1. A communications system for communicating between an information provider and a user, comprising:

(A) a client computer system, wherein said client computer system is a digital computer;
(B) a local area network connected to said client computer system;
(C) a server computer connected to said local area network to provide a means of communicating between said local area network and one or more external communication channels;
(D) a satellite communication channel connected to said server computer by a radio frequency link; and
(E) an information provider connected to one or more external communication channels for the purpose of providing information to one or more said client computer systems.

2. A communication system for communicating between an information provider and a user as recited in claim 1, wherein said client computer system is a personal computer.

3. A communication system for communicating between an information provider and a user as recited in claim 1, wherein said client computer system is a Macintosh computer.

4. A communication system for communicating between an information provider and a user as recited in claim 1, wherein said client computer system is a computer workstation.

5. A communication system for communicating between an information provider and a user as recited in claim 1, wherein said client computer system is a mini computer.

6. A communication system for communicating between an information provider and a user as recited in claim 1, wherein said client computer system is a mainframe computer.

7. A communication system for communicating between an information provider and a user as recited in claim 1, wherein said client computer system is a special purpose digital computer.

8. A communication system for communicating between an information provider and a user, as recited in claim 1, wherein said client computer system has a Windows operating system.

9. A communication system for communicating between an information provider and a user, as recited in claim 1, wherein said client computer system has a Windows 95 operating system.

10. A communication system for communicating between an information provider and a user, as recited in claim 1, wherein said client computer system has a Windows NT operating system.

11. A communication system for communicating between an information provider and a user, as recited in claim 1, wherein said client computer system has a Macintosh operating system.

12. A communication system for communicating between an information provider and a user, as recited in claim 1, wherein said client computer system has a Unix operating system.

13. A communication system for communicating between an information provider and a user, as recited in claim 1, wherein said client computer system has a Linux operating system.

14. A communication system for communicating between an information provider and a user, as recited in claim 1, wherein said client computer system has an OS/2 operating system.

15. A communications system for communicating between an information provider and a user, as recited in claim 1, wherein said local area network is an IPX network.

16. A communications system for communicating between an information provider and a user, as recited in claim 1, wherein said local area network is an IP network.

17. A communications system for communicating between an information provider and a user, as recited in claim 1, wherein said information provider is an Internet service provider.

18. A communications system for communicating between an information provider and a user, as recited in claim 1, wherein said information provider is a software distributor.

19. A communications system for communicating between an information provider and a user, as recited in claim 1, further comprising: a modem electrically connected to said server computer to transmit data electronically to a telephone landline.

20. A process for asymmetrically communicating between an information service provider and a user, comprising:

(A) receiving data from said information service provider by a satellite communications channel; and
(B) conveying said received data across a local area network to one or more digital computer systems.

21. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, further comprising:

(C) generating a request from said one or more digital computer systems to said information service provider.

22. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, further comprising:

(D) conveying said generated request to said information service provide by a landline communication channel.

23. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, further comprising:

(D) conveying said generated request to said information service provide by a satellite communication channel.

24. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, further comprising:

(D) conveying said generated request to said information service provide by a wireless communication channel.

25. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, further comprising:

(D) conveying said generated request to said information service provide by a routed communication channel.

26. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, further comprising: receiving data from said satellite communications channel into computer hardware memory.

27. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, further comprising: checking to determine if said received data has an IP format.

28. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, further comprising: checking to determine if said received data has a packetized format.

29. A process for asymmetrically communicating between an information service provider and a user, as recited in claim 20, wherein said one or more digital computer systems are connected electrically by a local area network.

30. A method for controlling the transfer of information between an information service provider and a user, comprising:

(A) receiving data from said information service, wherein said received data has a protocol identifier;
(B) determining the protocol of said received data; and
(C) delivering said data according to said protocol of said received data to a client computer.

31. A method for controlling the transfer of information between an information service provider and a user, as recited in claim 30, further comprising:

(D) receiving a return packet of data from said client computer.

32. A method for controlling the transfer of information between an information service provider and a user, as recited in claim 31, further comprising:

(E) delivering said returned packet of data from said client computer to said information service provider.

33. A computer program to manage communications between an information service provider and a user, comprising:

(A) a routine for receiving information from said information service;
(B) a routine for testing said received information to determine the source of said information;
(C) a routine for delivering said received information to a digital computer system.

34. A computer program to manage communications between an information service provider and a user, as recited in claim 33, further comprising: a routine for determining an age value for said received information.

35. A computer program to manage communications between an information service provider and a user, as recited in claim 33, further comprising: a routine for replacing old received information with newer received information.

36. A system for managing the communications between an information service provider and a user, comprising:

(A) a digital computer system connected to a local area network;
(B) a first interface device for communicating between said local area network and a satellite communication channel;
(C) a first connection between said satellite communication channel and a source of information;
(D) a second connection between said land line communication channel and a source of information; and
(E) a means for controlling the flow of information between said digital computer system and said source of information.

37. A system for managing the communications between an information service provider and a user, as recited in claim 36 further comprising a second interface device for communicating between said local area network and a landline.

38. A system for managing the communications between an information service provider and a user, as recited in claim 36 further comprising a second interface device for communicating between said local area network and a wireless channel.

39. A system for managing the communications between an information service provider and a user, as recited in claim 36 further comprising a second interface device for communicating with said local area network to a satellite.

40. A system for managing the communications between an information service provider and a user, as recited in claim 36 further comprising a second interface device for communicating with said local area network to a routed channel.

41. A communications system for communicating between an information provider and users at client computers on a computer network, the system comprising:

a satellite receiver operating to receive download data from the information provider;
a plurality of client computers on a computer network, each of said client computers including first network hardware and first network software for communication with the computer network, each of said client computers also including application software for communications with the information provider;
a server computer, including second network hardware and second network software for communications with the computer network, in electronic communication with said satellite receiver and in electronic communication with the computer network, said server computer operating to receive the download data from said satellite receiver and operating to route the download data to said plurality of client computers for use by the application software on each of said client computers, irrespective of said client computers' operating systems such that said server computer does not require the same operating system for each of said client computers, via the computer network;
and said computer network connected to said plurality of client computers and connected to said server computer whereby said server computer provides routing for the download data to said plurality of client computers.

42. The communications system as defined in claim 41 wherein said computer network is a local area network.

43. The communications system as defined in claim 41 wherein said computer network is a wide area network.

44. The communications system as defined in claim 42 wherein said server computer is programmed to route the download data to said plurality of client computers on the local area network irrespective of the client computers' operating systems such that said server computer does not require the same operating system for each client computer of the plurality of client computers.

45. The communications system as defined in claim 42 further comprising a storage medium wherein said server computer's routing of the download data includes storing the download data on said storage medium.

46. The communications system as defined in claim 45 wherein said storage medium is included in said server computer.

47. The communications system as defined in claim 45 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said plurality of client computers.

48. The communications system as defined in claim 47 wherein said intermediate storage medium includes a cache.

49. The communications system as defined in claim 42 wherein said server computer runs a server operating system.

50. The communications system as defined in claim 49 wherein said server operating system is a Linux-based operating system.

51. The communications system as defined in claim 49 wherein said server operating system is a Unix-based operating system.

52. The communications system as defined in claim 49 wherein said server operating system is a Netware-based operating system.

53. The communications system as defined in claim 49 wherein said server operating system is a Microsoft Windows-based operating system.

54. The communications system as defined in claim 49 wherein said server operating system is a Microsoft Windows NT-based operating system.

55. The communications system as defined in claim 42 wherein said server computer routes the download data using a standard local area network protocol.

56. The communications system as defined in claim 42 wherein the system provides bi-directional electronic communications between said plurality of client computers on the local area network-and the information provider, the electronic communications including both the reception of the download data and transmission of upload data, and wherein the system further comprises a communications device in electronic communications with said server computer.

57. The communications system as defined in claim 56 wherein said plurality of client computers send the upload data to the information provider by the upload data being sent to said server computer by said plurality of client computers through the local area network, the upload data being provided to said communications device by said server computer, and the upload data being sent to the information provider via said communications device.

58. The communications system as defined in claim 42 comprising a plurality of local area networks wherein said server computer operates to route the download data to said plurality of local area networks.

59. A server computer for communicating between a global communications network and client computers on a computer network, the server computer comprising:

network hardware for connecting said server computer to the computer network;
communications hardware for enabling electronic communications with a satellite receiver;
a processor; and
a computer readable medium containing:
network instructions for communications between said server computer and the computer network;
satellite instructions for communications between said server computer and the satellite receiver;
router instructions, said router instructions operating to receive download data from the global communications network and operating to route the download data to a plurality of client computers connected to a local area network, irrespective of said client computers' operating systems such that said server computer does not require the same operating system for each of said client computers; and
wherein said network instructions, said satellite instructions and said router instructions are executable by said processor.

60. The server computer as defined in claim 59 wherein said computer network is a local area network.

61. The server computer as defined in claim 59 wherein said computer network is a wide area network.

62. The server computer as defined in claim 60 wherein said router instructions route the download data to said plurality of client computers on the local area network irrespective of the client computers” operating systems such that said server computer does not require the same operating system for each client computer of the plurality of client computers.

63. The server computer as defined in claim 60 further comprising a storage medium wherein said server computer's routing of the download data includes storing the download data on said storage medium.

64. The server computer as defined in claim 63 wherein said storage medium is included in said server computer.

65. The server computer as defined in claim 63 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said plurality of client computers.

66. The server computer as defined in claim 65 wherein said intermediate storage medium includes a cache.

67. The server computer as defined in claim 60 wherein said server computer runs a server operating system.

68. The server computer as defined in claim 67 wherein said server computer routes the download data using a standard local area network protocol.

69. The server computer as defined in claim 60 wherein said server computer operates to route the download data to a plurality of local area networks.

70. A server computer for providing access to a global communications network for a plurality of client computers on a computer network, the server computer comprising:

a network interface;
a satellite receiver interface;
a processor; and
at least one storage device, said storage device containing:
a network driver;
a satellite driver; and
router instructions, said router instructions operating to receive download data from the global communications network through a satellite receiver and through the satellite receiver interface and operating to route the download data to a plurality of client computers connected to a computer network through the network interface, irrespective of said client computers' operating systems such that said server computer does not require the same operating system for each of said client computers, and wherein said router instructions are executable by said processor.

71. A server computer for providing access to a global communications network for a plurality of client computers on a computer network, the server computer comprising:

a network interface;
a satellite receiver interface;
a processor; and
non-volatile memory, said non-volatile memory containing:
a network driver;
a satellite driver; and
router instructions, said router instructions operating to receive download data from the global communications network through a satellite receiver and through the satellite receiver interface and operating to route the download data to a local area network connected to a plurality of client computers through the network interface, irrespective of said client computers' operating systems such that said server computer does not require the same operating system for each of said client computers, and wherein said router instructions are executable by said processor.

72. A method for providing access to a global communications network for a plurality of client computers on a computer network, which comprises:

receiving download data from a satellite receiver in electronic communication with a server computer; and
routing the download data from the server computer to the plurality of client computers connected to the computer network, irrespective of said client computers' operating systems such that said server computer does not require the same operating system for each of said client computers.

73. A computer-readable medium containing instructions for providing access to a global communications network for a plurality of client computers on a computer network, wherein the instructions comprise executable instructions for implementing a method comprising:

receiving download data from a satellite receiver in electronic communication with a server computer; and
routing the download data to the plurality of client computers, each of which is electrically connected to a computer network, irrespective of said client computers' operating systems such that said server computer does not require the same operating system for each of said client computers, via the computer network.

74. A communications system for communicating between an information provider and at least one client computer on a computer network, the system comprising:

a satellite receiver operating to receive download data from the information provider;
a plurality of client computers on a computer network each of said client computers including first network hardware and first network software for communication with the information provider; and
a server computer, including second network hardware and second network software for communications with the computer network, in electronic communication with said satellite receiver and in electronic communication with the computer network, said server computer having satellite receiver interface software installed thereon operating to receive the download data from said satellite receiver and operating to route the download data to said plurality of client computers for use by the application software on each of said client computers, via the computer network, in order to provide the advantages of satellite communications for high volume download data packets; and said server computer network being programmed to route the download data to client computers on the computer network irrespective of the client computer's operating systems such that said server computer does not require the same operating system for each client computer of the plurality of client computers; and wherein said satellite receiver interface software further comprises the steps of: setting up RAM adapters; establishing a timestamp for a received packet; testing whether said received packet is a package delivery or an Internet delivery; if said received packet is a package delivery, testing to determine if said packet will update a catalog, testing to determine if a site will be updated by said packet; determining whether an end-of-file has been encountered; determining if a file within said packet is incomplete; and if said file is not incomplete marking said file as complete.

75. A server computer for communicating between a global communications network and at least one client computer on a computer network, the server computer comprising:

network hardware for connecting said server computer to the computer network;
communications hardware for enabling electronic communications with a satellite receiver operating to receive download data which is then sent to a client computer by the server computer via a computer network in order to provide the advantages of satellite communications for high volume download data packets;
a processor; and
a computer readable medium containing:
network instructions for communications between said server computer and the computer network;
satellite receiver interface software instructions for communications between said server computer and the satellite receiver;
router instructions, said router instructions operating to receive download data from the global communications network and operating to route the download data to at least one client computer on the computer network irrespective of the client computer's operating systems such that said server computer does not require the same operating system for each client computer of the plurality of client computers, and wherein said routing instructions further comprise: setting up RAM adapters; establishing a timestamp for a received packet; testing whether said received packet is a package delivery or an Internet delivery; if said received packet is a package delivery, testing to determine if said packet will update a catalog, testing to determine if a site will be updated by said packet; determining whether an end-of-file has been encountered;
determining if a file within said packet is incomplete; and if said file is not incomplete marking said file as complete; and
wherein said network instructions, said satellite instructions and said router instructions are executable by said processor.

76. The server computer as defined in claim 75 wherein said computer network is a local area network.

77. The server computer as defined in claim 75 wherein said computer network is a wide area network.

78. The server as defined in claim 76 further comprising a storage medium wherein said server computer's routing of the download data includes storing the download data on the storage medium.

79. The server computer as defined in claim 78 wherein said storage medium is included in said server computer.

80. The server computer as defined in claim 78 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said at least one client computer.

81. The server computer as defined in claim 80 wherein said intermediate storage medium includes a cache.

82. The server computer as defined in claim 76 wherein said server computer runs a server operating system.

83. The server computer as defined in claim 76 wherein said server computer routes the download data using a standard local area network protocol.

84. The server computer as defined in claim 76 wherein said server computer operates to route the download data to a plurality of local area networks.

85. A method for providing access to a global communications network for at least one client computer on a computer network, which comprises:

receiving download data from a satellite receiver in electronic communication with a server computer, said server computer having satellite receiver interface software installed thereon and said satellite receiver operating to receive download data; and
routing said received download data to at least one client computer via the computer network, in order to provide the advantages of satellite communications for high volume download data packets, irrespective of the client computer's operating systems such that said server computer does not require the same operating system for each client computer of the plurality of client computers, wherein said routing further comprises:
setting up RAM adapters; establishing a timestamp for a received packet; testing whether said received packet is a package delivery or an Internet delivery; if said received packet is a package delivery, testing to determine if said packet will update a catalog, testing to determine if a site will be updated by said packet; determining whether an end-of-file has been encountered; determining if a file within said packet is incomplete; and if said file is not incomplete marking said file as complete.

86. The method as defined in claim 85 wherein said computer network is a local area network.

87. The method as defined in claim 85 wherein said computer network is a wide area network.

88. The method as defined in claim 85 wherein the server computer further comprises a storage medium and wherein said server computer's routing of the download data includes storing the download data on said storage medium.

89. The method as defined in claim 88 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said at least one client computer.

90. The method as defined in claim 89 wherein said intermediate storage medium includes a cache.

91. The method as defined in claim 85 wherein said server computer runs a server operating system.

92. The method as defined in claim 85 wherein said server computer routes the download data using a standard local area network protocol.

93. The method as defined in claim 85 wherein said server computer operates to route the download data to a plurality of computer networks.

94. A computer readable medium containing instructions for providing access to a global communications network for at least one client computer on a computer network, wherein the instructions comprise executable instructions for implementing a method comprising:

receiving download data from a satellite receiver in electronic communication with a server computer, said server computer having satellite receiver interface software installed thereon, and said satellite receiver operating to receive download data; and
routing said received download data to at least one client computer via the computer network, in order to provide the advantages of satellite communications for high volume download data packets, irrespective of the client computer's operating system such that said server computer does not require the same operating system for each client computer, wherein said routing further comprises: setting up RAM adapters;
establishing a timestamp for a received packet; testing whether said received packet is a package delivery or an Internet delivery; if said received packet is a package delivery, testing to determine if said packet will update a catalog, testing to determine if a site will be updated by said packet; determining whether an end-of-file has been encountered; determining if a file within said packet is incomplete; and if said file is not incomplete marking said file as complete.

95. The computer-readable medium as defined in claim 94 wherein said computer network is a local area network.

96. The computer-readable medium as defined in claim 94 wherein said computer network is a wide area network.

97. The computer-readable medium as defined in claim 94 wherein the server computer further comprises a storage medium and wherein said server computer's routing of the download data includes storing the download data on said storage medium.

98. The computer-readable medium as defined in claim 97 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said at least one client computer.

99. The computer-readable medium as defined in claim 98 wherein said intermediate storage medium includes a cache.

100. The computer-readable medium as defined in claim 94 wherein said server computer runs a server operating system.

101. The computer-readable medium as defined in claim 95 wherein said server computer routes the download data using a standard local area network protocol.

102. The computer-readable medium as defined in claim 94 wherein said server computer operates to route the download data to a plurality of computer networks.

103. A communications system for communicating between an information provider and a client computer, the system comprising:

a satellite receiver operating to receive download data from the information provider;
a client computer;
a server computer in electronic communication with said satellite receiver and in electronic communication with said client computer, said server computer having satellite receiver interface software installed thereon operating to receive the download data from said satellite receiver and operating to route the download data to said client computer via a computer network in order to provide the advantages of satellite communications for high volume download data packets, and wherein said satellite receiver interface software further comprises the steps of: setting up RAM adapters;
establishing a timestamp for a received packet; testing whether said received packet is a package delivery or an Internet delivery; if said received packet is a package delivery, testing to determine if said packet will update a catalog, testing to determine if a site will be updated by said packet; determining whether an end-of-file has been encountered; determining if a file within said packet is incomplete; and if said file is not incomplete marking said file as complete.

104. The communications system as defined in claim 103 further comprising a storage medium wherein said server computer's routing of the download data includes storing the download data on said storage medium.

105. The communications system as defined in claim 104 wherein said storage medium is included in said server computer.

106. The communications system as defined in claim 104 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said client computer.

107. The communications system as defined in claim 106 wherein said intermediate storage medium includes a cache.

108. The communications system as defined in claim 103 wherein said server computer runs a server operating system.

109. The communications system as defined in claim 103 wherein said server computer routes the download data using a standard local area network protocol.

110. A server computer for communicating between a global communications network and a client computer, the server computer comprising:

first communications hardware for enabling electronic communications with the client computer, via a computer network in order to provide the advantages of satellite communications for high volume download data packets;
second communications hardware for enabling electronic communications between the server computer and a satellite receiver;
a processor; and
a computer readable medium containing:
communication instructions for communications between said server computer and the client computer;
satellite instructions, in the form of satellite receiver software, for communications between said server computer and the satellite receiver;
routing instructions operating to receive download data from the global communications network and operating to route the download data to the client computer, and wherein said routing instructions further comprise: setting up RAM adapters; establishing a timestamp for a received packet; testing whether said received packet is a package delivery or an Internet delivery; if said received packet is a package delivery, testing to determine if said packet will update a catalog, testing to determine if a site will be updated by said packet; determining whether an end-of-file has been encountered; determining if a file within said packet is incomplete; and if said file is not incomplete marking said file as complete; and
wherein said communication instructions, said satellite instructions and said routing instructions are executable by said processor.

111. The server computer as defined in claim 110 further comprising a storage medium wherein said server computer's routing of the download data includes storing the download data on said storage medium.

112. The server computer as defined in claim 111 wherein said storage medium is included in said server computer.

113. The server computer as defined in claim 111 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said client computer.

114. The server computer as defined in claim 113 wherein said intermediate storage medium includes a cache.

115. The server computer as defined in claim 110 wherein said server computer runs a server operating system.

116. The server computer as defined in claim 110 wherein said server computer routes the download data using a standard local area network protocol.

117. A method for providing access to a global communications network for a client computer, which comprises:

receiving download data from a satellite receiver in electronic communication with a server computer, said server computer having satellite receiver interface software installed thereon; and
routing the download data from said satellite receiver to a client computer on a network, in order to provide the advantages of satellite communications for high volume download data packets, irrespective of the client computer's operating system such that said server computer does not require the same operating system for each client computer, wherein said routing further comprises: setting up RAM adapters;
establishing a timestamp for a received packet; testing whether said received packet is a package delivery or an Internet delivery; if said received packet is a package delivery, testing to determine if said packet will update a catalog, testing to determine if a site will be updated by said packet; determining whether an end-of-file has been encountered; determining if a file within said packet is incomplete; and if said file is not incomplete marking said file as complete.

118. The method as defined in claim 117 wherein the server computer further comprises a storage medium and wherein said server computer's routing of the download data includes storing the download data on said storage medium.

119. The method as defined in claim 11 8 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said client computer.

120. The method as defined in claim 1 9 wherein said intermediate storage medium includes a cache.

121. The method as defined in claim 11 7 wherein said server computer runs a server operating system.

122. The method as defined in claim 11 7 wherein said server computer routes the download data using a standard local area network protocol.

123. A computer-readable medium containing instructions for providing access to a global communications network for a client computer, wherein the instructions comprise executable instructions for implementing a method comprising:

receiving download data from a satellite receiver in electronic communication with a server computer, said server computer having satellite receiver interface software installed thereon, and said satellite receiver operating to receive download data; and
routing said download data to a client computer on a network such that the server computer does not require the same operating system for each client computer, in order to provide the advantages of satellite communications for high volume download data packets, wherein said routing further comprises: setting up RAM adapters; establishing a timestamp for a received packet; testing whether said received packet is a package delivery or an Internet delivery; if said received packet is a package delivery, testing to determine if said packet will update a catalog, testing to determine if a site will be updated by said packet; determining whether an end-of-file has been encountered;
determining if a file within said packet is incomplete; and if said file is not incomplete marking said file as complete.

124. The computer-readable medium as defined in claim 123 wherein the server computer further comprises a storage medium and wherein said server computer's routing of the download data includes storing the download data on said storage medium.

125. The computer-readable medium as defined in claim 124 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said client computer.

126. The computer-readable medium as defined in claim 124 wherein said intermediate storage medium includes a cache.

127. The computer-readable medium as defined in claim 123 wherein said server computer runs a server operating system.

128. The computer-readable medium as defined in claim 123 wherein said server computer routes the download data using a standard local area network protocol.

129. A communications system for providing bi-directional electronic communications between users at client computers on a computer network and a global communications network, the electronic communications including both the reception and transmission of data, the system comprising:

a satellite receiver operating to receive download data from the global communications network;
a plurality of client computers on a computer network each of said client computers including first network hardware and first network software for communication with the computer network, each of said client computers also including application software for communications with the information provider;
a server computer, including second network hardware and second network software for communications with the computer network, in electronic communication with said satellite receiver and in electronic communication with the computer network, said server computer operating to receive the download data from said satellite receiver and operating to route the download data to said plurality of client computers for use by the application software on each of said client computers, irrespective of said client computers' operating systems such that said server computer does not require the same operating system for each of said client computers, via the computer network; and said computer network connected to said plurality of client computers and connected to said server computer whereby said server computer provides routing for the download data to said plurality of client computers; and
a communications device, said communications device being in electronic communications with said server computer, upload data being provided to said communications device via said server computer, and said upload data being sent to the global communications network via said communications device.

130. The communications system as defined in claim 129 wherein said computer network is a local area network.

131. The communications system as defined in claim 129 wherein said computer network is a wide area network.

132. The communications system of claim 129 wherein the upload data is sent at a substantially lower rate than the download data is being received.

133. The communications system of claim 129 wherein the bidirectional electronic communications is asymmetric.

134. The communications system of claim 129 wherein said communications device is capable of receiving additional download data.

135. The communications system of claim 129 wherein the communications device comprises a landline communications device.

136. The communications system of claim 129 wherein the communications device comprises a wireless communications device.

137. The communications system as defined in claim 129 further comprising a storage medium wherein said server computer's routing of the download data includes storing the download data on said storage medium.

138. The communications system as defined in claim 137 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said plurality of client computers.

139. The communications system as defined in claim 138 wherein said intermediate storage medium includes a cache.

140. The communications system as defined in claim 129 wherein said server computer runs a server operating system.

141. The communications system as defined in claim 129 wherein said server computer routes the download data using a standard local area network protocol.

142. A computer-readable medium containing instructions for providing bi-directional electronic communications between a plurality of client computers on a computer network and a global communications network, the electronic communications including both the reception and transmission of data, wherein the instructions comprise executable instructions for implementing a method comprising:

receiving download data from a satellite receiver in electronic communication with a server computer, wherein said receiving downloaded data further comprises:
receiving a downloaded packet of data;
establishing a timestamp for said received packet of data;
testing whether said received packet of data is a package delivery or an Internet delivery, wherein if said packet of data is a package delivery providing the capability of broadcasting said packet of data to a plurality of client computers;
routing the download data to the plurality of client computers via the computer network;
receiving upload data from said plurality of client computers via the computer network; and
transmitting the upload data via a communications device to the information provider.

143. The computer-readable medium as defined in claim 142 wherein said computer network is a local area network.

144. The computer-readable medium as defined in claim 142 wherein said computer network is a wide area network.

145. The computer-readable medium as defined in claim 143 wherein said server computer is programmed to route the download data to said plurality of client computers on the local area network irrespective of the client computers” operating systems such that said server computer does not require the same operating system for each client computer of the plurality of client computers.

146. The computer-readable medium as defined in claim 142 wherein the communications device comprises a landline communications device.

147. The computer-readable medium as defined in claim 146 wherein said landline communications device uses an ISDN connection.

148. The computer-readable medium as defined in claim 146 wherein said landline communications device uses a T1 connection.

149. The computer-readable medium as defined in claim 146 wherein said landline communications device comprises a modem.

150. The computer-readable medium as defined in claim 146 wherein said landline communications device uses a frame-relay network.

151. The computer-readable medium as defined in claim 146 wherein said landline communications device uses ATM.

152. The computer-readable medium as defined in claim 142 wherein the communications device comprises a wireless communications device.

153. The computer-readable medium as defined in claim 152 wherein the wireless communications device uses a satellite link.

154. The computer-readable medium as defined in claim 142 wherein said computer-readable medium is included in the server computer.

155. The computer-readable medium as defined in claim 142 wherein said communications device comprises a satellite-based communications device.

156. The computer-readable medium as defined in claim 142 wherein the server computer further comprises a storage medium and wherein said server computer's routing of the download data includes storing the download data on said storage medium.

157. The computer-readable medium as defined in claim 156 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said plurality of client computers.

158. The computer-readable medium as defined in claim 156 wherein said intermediate storage medium includes a cache.

159. The computer-readable medium as defined in claim 142 wherein said server computer runs a server operating system.

160. The computer-readable medium as defined in claim 143 wherein said server computer routes the download data using a standard local area network protocol.

161. The computer-readable medium as defined in claim 142 wherein said server computer operates to route the download data to a plurality of computer networks.

162. A method for providing bi-directional electronic communications between users at a plurality of client computers on a computer network and an information provider, the electronic communications including both the reception and transmission of data, which comprises:

receiving download data from a satellite receiver in electronic communication with a server computer;
routing the download data to the plurality of client computers via the computer network, wherein said routing of said download data further comprises:
testing to determine whether said download data will update the catalog;
if the catalog will not be updated by said download data, testing to determine if the site will be updated by said download data;
if said site will not be updated, storing said downloaded data on a server computer storage device; and
testing to determine if said download data is complete;
receiving upload data from said plurality of client computers via the computer network; and
transmitting the upload data via a communications device to the information provider.

163. The method as defined in claim 162 wherein said computer network is a local area network.

164. The method as defined in claim 162 wherein said computer network is a wide area network.

165. The method as defined in claim 162 wherein said server computer is programmed to route the download data to said plurality of client computers on the computer network irrespective of the client computers” operating systems such that said server computer does not require the same operating system for each client computer of the plurality of client computers.

166. The method as defined in claim 162 wherein the server computer further comprises a storage medium and wherein said server computer”' routing of the download data includes storing the download data on said storage medium.

167. The method as defined in claim 166 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said plurality of client computers.

168. The method as defined in claim 167 wherein said intermediate storage medium includes a cache.

169. The method as defined in claim 162 wherein said server computer runs a server operating system.

170. The method as defined in claim 163 wherein said server computer routes the download data using a standard local area network protocol.

171. The method as defined in claim 162 wherein said server computer operates to route the download data to a plurality of computer networks.

172. A communications system for providing bidirectional electronic communications between at least one client computer on a computer network and a global communications network, the electronic communications including both the reception and transmission of data, the system comprising:

a satellite receiver operating to receive download data from the global communications network;
a plurality of client computers on a computer network;
a server computer in electronic communication with said satellite receiver and in electronic communication with the computer network, said server computer operating to receive the download data from said satellite receiver and operating to route the download data to at least one computer of said plurality of client computers, via the computer network, and wherein said server computer is programmed to route said download data to one or more of said plurality of client computers without requiring each of said plurality of client computers to have the same operating system; and
a communications device, said communications device being in electronic communications with said server computer, upload data being provided to said communications device via said server computer, and said upload data being sent to the global communications network via said communications device.

173. The communications system as defined in claim 172 wherein said computer network is a local area network.

174. The communications system as defined in claim 172 wherein said computer network is a wide area network.

175. The communications system as defined in claim 172 further comprising a storage medium wherein said server computer”' routing of the download data includes storing the download data on said storage medium.

176. The communications system as defined in claim 175 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said at least one of said plurality of client computers.

177. The communications system as defined in claim 176 wherein said intermediate storage medium includes a cache.

178. The communications system as defined in claim 175 wherein said storage medium is included in said server computer.

179. The communications system as defined in claim 172 wherein said server computer runs a server operating system.

180. The communications system as defined in claim 172 wherein said server computer routes the download data using a standard local area network protocol.

181. The communications system as defined in claim 172 wherein said server computer operates to route the download data to a plurality of local area networks.

182. A computer-readable medium containing instructions for providing bi-directional electronic communications between at least one computer on a computer network and a global communications network, the electronic communications including both the reception and transmission of data, wherein the instructions comprise executable instructions for implementing a method comprising:

receiving download data from a satellite receiver in electronic communication with a server computer;
routing the download data to the plurality of client computers via the computer network, wherein said routing of said download data further comprises:
testing to determine whether said download data will update the catalog;
if the catalog will not be updated by said download data, testing to determine if the site will be updated by said download data;
if said site will not be updated, storing said downloaded data on a server computer storage device; and
testing to determine if said download data is complete;
receiving upload data from said at least one computer via the computer network; and
transmitting the upload data via a communications device to the information provider.

183. The computer-readable-medium as defined in claim 182 wherein said computer network is a local area network.

184. The computer-readable medium as defined in claim 182 wherein said computer network is a wide area network.

185. The computer-readable medium as defined in claim 182 wherein the server computer further comprises a storage medium and wherein said server computer”' routing of the download data includes storing the download data on said storage medium.

186. The computer-readable medium as defined in claim 185 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said at least one client computer.

187. The computer-readable medium as defined in claim 186 wherein said intermediate storage medium includes a cache.

188. The computer-readable medium as defined in claim 182 wherein said server computer runs a server operating system.

189. The computer-readable medium as defined in claim 183 wherein said server computer routes the download data using a standard local area network protocol.

190. The computer-readable medium as defined in claim 182 wherein said server computer operates to route the download data to a plurality of computer networks.

191. A method for providing bidirectional electronic communications between a client computer on a computer network and an information provider, the electronic communications including both the reception and transmission of data, which comprises:

receiving download data from a satellite receiver in electronic communication with a server computer;
routing the download data to a client computer via the computer network, wherein said routing of said download data further comprises:
testing to determine if said download data is in transmission control protocol;
if said download data is not in transmission control protocol, transferring said download data to an IP stack;
if said download data is in transmission control protocol, testing to determine if a begin of section is being initiated;
if a begin of section is not being initiated, testing if an end of session has been encountered; and
if a begin of section is being initiated, testing to determine if a connection slot is available;
receiving upload data from said client computer via the computer network; and
transmitting the upload data via a communications device to the information provider.

192. The method as defined in claim 191 wherein said computer network is a local area network.

193. The method as defined in claim 191 wherein said computer network is a wide area network.

194. The method as defined in claim 191 wherein the server computer further comprises a storage medium and wherein said server computer”' routing of the download data includes storing the download data on said storage medium.

195. The method as defined in claim 194 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said client computer.

196. The method as defined in claim 195 wherein said intermediate storage medium includes a cache.

197. The method as defined in claim 191 wherein said server computer runs a server operating system.

198. The method as defined in claim 192 wherein said server computer routes the download data using a standard local area network protocol.

199. The method as defined in claim 191 wherein said server computer operates to route the download data to a plurality of computer networks.

200. A communications system for providing bidirectional electronic communications between a client computer and a global communications network, the electronic communications including both the reception and transmission of data, the system comprising:

a satellite receiver operating to receive download data from the global communications network;
a client computer;
a server computer in electronic communication with said satellite receiver and in electronic communication with the client computer, said server computer operating programmed to receive the download data from said satellite receiver and operating to route the download data to the client computer, irrespective of the operating system of said client computer; and
a communications device, said communications device being in electronic communications with said server computer, upload data being provided to said communications device via said server computer, and said upload data being sent to the global communications network via said communications device.

201. The communications system as defined in claim 200 further comprising a storage medium wherein said server computer”' routing of the download data includes storing the download data on said storage medium.

202. The communications system as defined in claim 201 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said client computer.

203. The communications system as defined in claim 202 wherein said intermediate storage medium includes a cache.

204. The communications system as defined in claim 201 wherein said storage medium is included in said server computer.

205. The communications system as defined in claim 200 wherein said server computer runs a server operating system.

206. The communications system as defined in claim 202 wherein said server computer routes the download data using a standard local area network protocol.

207. A computer-readable medium containing instructions for providing bidirectional electronic communications between a client computer and a global communications network, the electronic communications including both the reception and transmission of data, wherein the instructions comprise executable instructions for implementing a method comprising:

receiving download data from a satellite receiver in electronic communication with a server computer, the server computer being in electronic communication with the client computer;
routing the download data to a client computer, wherein said routing of said download data further comprises:
testing to determine if said download data is in transmission control protocol;
if said download data is not in transmission control protocol, transferring said download data to an IP stack;
if said download data is in transmission control protocol, testing to determine if a begin of section is being initiated;
if a begin of section is not being initiated, testing if an end of session has been encountered; and
if a begin of section is being initiated, testing to determine if a connection slot is available;
receiving upload data from the client computer; and
transmitting the upload data via a communications device to the information provider.

208. The computer-readable medium as defined in claim 207 wherein the server computer further comprises a storage medium and wherein said server computer'” routing of the download data includes storing the download data on said storage medium.

209. The computer-readable medium as defined in claim 208 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said client computer.

210. The computer-readable medium as defined in claim 209 wherein said intermediate storage medium includes a cache.

211. The computer-readable medium as defined in claim 208 wherein said server computer runs a server operating system.

212. The computer-readable medium as defined in claim 211 wherein said server computer routes the download data using a standard local area network protocol.

213. A method for providing bi-directional electronic communications between a client computer and an information provider, the electronic communications including both the reception and transmission of data, which comprises:

receiving download data from a satellite receiver in communication with a geosynchronous satellite and in electronic communication with a server computer, said download data being received in response to a request from a client computer transmitted over a telephone land line, the server computer being in electronic communication with the client computer;
routing the download data to the client computer;
receiving upload data from the client computer; and
transmitting the upload data via a communications device to the information provider.

214. The method as defined in claim 213 wherein the server computer further comprises a storage medium and wherein said server computer”' routing of the download data includes storing the download data on said storage medium.

215. The method as defined in claim 214 wherein said storage medium is an intermediate storage medium and wherein the download data is stored on said intermediate storage medium prior to receipt of the download data by said client computer.

216. The method as defined in claim 215 wherein said intermediate storage medium includes a cache.

217. The method as defined in claim 213 wherein said server computer runs a server operating system.

218. The method as defined in claim 217 wherein said server computer routes the download data using a standard local area network protocol.

Patent History
Publication number: 20060031423
Type: Application
Filed: Sep 20, 2005
Publication Date: Feb 9, 2006
Applicant: Helius, Inc. (Lindon, UT)
Inventors: Myron Mosbarger (Orem, UT), John Thomasson (Sandy, UT)
Application Number: 11/231,107
Classifications
Current U.S. Class: 709/219.000
International Classification: G06F 15/16 (20060101);