CA2237406A1 - Wide bandwidth network technology - Google Patents
Wide bandwidth network technology Download PDFInfo
- Publication number
- CA2237406A1 CA2237406A1 CA 2237406 CA2237406A CA2237406A1 CA 2237406 A1 CA2237406 A1 CA 2237406A1 CA 2237406 CA2237406 CA 2237406 CA 2237406 A CA2237406 A CA 2237406A CA 2237406 A1 CA2237406 A1 CA 2237406A1
- Authority
- CA
- Canada
- Prior art keywords
- data packets
- broadcast
- input
- network
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A computer network (200) includes a network hub (202) which connects a plurality of computers (12) together. Data packets generated by the computers (12) are sequentially merged into a stream of data packets which is then broadcast to all of the computers (12) in the network (200). The network hub (202) includes a plurality of ports (206), each of which is connected to a respective one of the computers (12), receiving data packets generated by the computer (12). The network hub (202) also includes a plurality of storage devices (210) respectively connected to the ports (206). Each of the storage devices (210) receives and temporarily stores the data packets received by the port (206). A merging processor (212) is connected to each of the storage devices (210) and sequentially merges data packets temporarily stored by the storage devices (210) into a stream of data packets. The stream of data packets is then broadcast to each of the computers (12) in the network (200).
The network hub (202) may communicate with each of the computers (12) to indicate the capacity status of the storage devices (210).
The network hub (202) may communicate with each of the computers (12) to indicate the capacity status of the storage devices (210).
Description
W O 97~0271 PCT~US96/18196 WIDE BANDW1L~1H NETWORK TECHNC~LOGY
BACKGROUND OF T~E INVEN~ION
Field of the Invention The present invention relates to Cuul~uLt;l networks and, more particularly, to cc,---~uk;r S networks in which data is co.u...~ t~i among a plurality of colupulel~.
D~s~liylion of Related Art Co...~ul~r neLw~.hing involves moving data from one point to another. Cor..pu~i networking or "interu~eldtionn usually begins with COIU~UL~1~ in the same office or the same building connected in a local network. The term "local area network~ or LAN describes a group 10 of colll~,u~ typically connPctPd by no more than 1,000 feet of cable which intc.~?eldte and allow people to share lesources.
In the late 1970s and early 1980s, ilupoll~ull work was done on LANs for a large number of col--~ulel~. An illlpoll~t set of standards and protocols called ''Fthprnptn was conceived and developed to the point of becoming a commercial product. At about the same time, another set 15 of standards and protocols known as "ARCNET" was developed. Soon thereafter, a third major n~wulhing technology known as "Token Ringn was developed.
With the rapid increase of interest in n~Lwolk~, particularly local area nelwu ~, clienttserver collll,u~ g is quickly becoming the backbone of data pl~ces~ g systems. As local area networks expand and as data processing tasks become more complex, networks become 20 more congested, rPsl-lting in poor p~lr l"~ance and requiring more comrlic~tPd customer in~t~ tions.
Many of today's applications require networks with high bandwidth capabilities.
n~t~h~ps are becoming larger and more sophi~tic~ted and are being ~cce~ecl by greater llu~llbel~ of users. Further, many industries have been migr~ting toward applications involving 25 high-resolution color graphics, which applications require high bandwidth to handle the large amount of data involved with this type of gr~phi~s In many application environments, it is often desirable to store executable files in central data servers or file servers, to which co,--~uler workstations in the network are connectçd, rather than on the local disk drives of work~t~ti~ n~. This is because the applir~tion programs must 30 be constantly ...~ i..Pd and updated to ensure compatibility with new peripherals and to take advantage of the latest revisions. This approach is ç~peri~lly advantageous in large org~ni7~tion~
WO 97nO271 PCT~US96/18196 where the teCIlnic~l labor requirement for llp~1~ting application programs at every W~
is impractical.
However, when a s~lb~ ial number of users (i.e., colll~ute.~) cimlllt~n~ously load program files over the network, bandwidth quickly becomes a seAous problem. Even r,e~wulh~
S with fewer than 100 wulk~l;.l;l ne can become unusably clnggi~h in pe,roll--ance when the users are actively loading and eYt~uting programs from, for .oYs~mple, the WindowsTM environmt~nt, over the r.~Lwo,k.
To alleviate these problems, the common wisdom has been to install more file servers and to divide the network into smaller local area networks conn~ct~ together by routers or 10 bAdges. While this approach has greatly improved ~c;lrulmance for many ol~n;,~ , it is costly and creates delays and complications when it is neces~y for users to share information over a wide area of the network.
The col.lyuLt;r industry is responding to these problems with a diversity of new and innovative products. Ethernet adapters with data rates of up to 100 megabits per second (Mbps) 15 are now commercially available and are quickly becoming affordable. Another approach, known as ~swilchillg hub technology,~ deAi~t.os a portion of the LAN to a single or small group of users. Many Token l~ing LANs have also risen to the ch~ nge to find ways to increase their ol"~lce and are operating at 16 Mbps.
Most n~lwulking m~n~ger~ are looking folw~rd to the introduction of Asyncll-vllo-ls 20 Transfer Mode (ATM) protocol as the solution to their neLwolhing bandwidth problems.
Although most analysts see ATM as the wave of the future, its emergence has been slower than predicted, because ATM doesn't neatly fit the layered models common to existing networks and the ATM cre~-ific~tion itself does not encompass such things as speed and protoco}s. ATM is a sophi~tic~t~d switch networking system that hosts an active application at each end. Although 25 it breaks data into 53-Byte ~Cells," ATM is not a packet switched or router network ~cl.;l~ ..e. In fact, for every stream of data sent, A'rM creates a virtual circuit among two or more points. Many on-line services, ne~:,~a~e.~, and cable television providers believe ATM, with its roots in a telecommunications effort to unify voice and data tr~n~mi~ions, is the pipe they need to deliver large amounts of inro....alion to a desktop or set top box. But for that to 30 happen, users will need faster PCs, ATM aware applications, and lower prices.F.xi~ing networks have achieved a degree of in~cl~pe~dbility through a foundation in the seven-layer Open Systems Intelcolmection (OSI) model. ATM, on the other hand, with its ~Ai~ ted point-to-point connections, is a clear deviation from current t~hnnl- gies. To CA 02237406 l998-05-l2 W O 97/20271 PCT~US96/18~96 implement the ATM approach, application software needs to be modified to become ATM
aware. This is n~cç~ry since the topology differences between ATM and today's nelwull~ing schPmPs will reguire logical decisions which, in some cases, cannot be adequately provided through customized physical layer intPrf~res and drivers.
S Network Interface Cards Network interface cards, so.~ ;...P-s called LAN adapters, function as an intPrf~e between the co~l~uL~r and the network cabling, linking the COI~ ULe1 to the network cable system. The card controls the flow of data between the co-"puLel's internal data bus and the serial stream of data on the n~lwclk cable. Some co",~uLel~ are provided with a network 10 intPrf~re card on the motherboard of the col.lpuL~l, but the cards are usually added to the cG~ ulel's expansion bus. Network intPrf~re cards also change the form of the co,-,puLel g~ P~ data from a wide parallel stream, e.g., 8 bits at a time, to a narrow stream moving 1 bit at a time in and out of the network port. Conventional n~lwolh intPrf~ce cards buffer data because the colll~)ul~l is typically much faster than the network.
Many network interface cards have a plucessor specially de~ign~d for on-board pluces~;r-g power. These processors are ~I-gm~.nteA by 8K to 64K of RAM and by speri~li7PA
scei~rers that handle the elPctric~l interface with the cable.
Network interface cards generate the el-octriç~l signals that travel over the network ca~le.
Each network interface card follows specific rules controlling access to the cable. Network 20 intPrf~re cards for Ethernet and Token Ring both use the same basic system of Plectrir~l ~ign5lling of the cable. A technique called M~nrh~.ster encoding provides a way to transmit Os and ls using direct current voltage pulses that range from --15 to +15 volts. The n~lwolh intPrf~re cards translate each eight ch~nges in the voltage level as a ch~r~rtPr in the ASCII data alphabet.
25 The Ethernet Protocol In the F.thPrn~t approach to networhing, each data packet issued by each cc~ puLer in the n~;lwolh is received by all the other colllpuL~l~ in the neLwulk. A colll~uLer monitors the network ~ to det~llllinc when the network is idle, at which time the con.~uLt:I may issue a packet. If the n~lwc.lh is busy, the colllpulel must wait. If two or more COIll~u~ determine that the network 30 is idle and Le~ecLively issue packets at the same time, a collision occurs. In busy F.th~mrt n~lwolh~, collisions occur frequently.
WO 97~0271 PCT~US9~18196 In an Ethernet network, the interface cards share the common cable by lictPning before they ~ S.IIiL and tr~ncmitting only during a break in the traffic when the channel is quiet. This teehnique is called earrier-sense multiple access with collision deteetion (CSMA/CD). With eollision detection, if two stations begin to tr~ncmit at the same time, they detect the collision, 5 stop, and retry after a sl-ffiçi~nt time interval.
The Token Ring Protocol Collisions are ~olimin~t~A by the Token Ring approach. In a Token Ring network, packets travel from co,--puLei to eomputer in a closed-loop ring. A packet will travel in this manner until the packet reaches its address, at whieh time it is read and removed from the ring by the 10 eo~"~uLer at that address.
Network int~rf~e eards for Token Rings use a eomplex media-aeeess eontrol schemeealled "token p~ccing n Whereas Ethernet eards eontend for access to the cable, Token Ring cards must have permission to transmit into a cable system that forms a complete el~tri~l loop or ring. Under this technique, the active cards negc LiaLe, using their built-in serial number, to 15 del~ -;n~ a master interfaee card. The master io;l;~l~5 a special mecc~ge called a free token.
When an int~rf~l e card with data to send receives a free token, it ehanges the free token into a message and sends it to the next station up the ring for relay. After the addressed interf~-~e eard receives the message and the mPcc~ge returns to the origin~ting interfaee card, that eard it~ te5 a new free token and the process begins again. As a drawback, a co",~ul~l must wait 20 for the marker before issuing a paeket. Further, if a paeket is addressed incol,ecLly or is otherwise undeliverable, the packet will enrlleccly circulate in the token ring. Tl-elGru,~, special means must be provided to keep the ring clear.
The ARCNET Protocol ARCNET network interface cards use a media-aceess eontrol schellle. A deci~n~t~d25 "master eard n ~ h~ C a table of all active network interfaee cards and poIls each network int~rf~re card in turn, giving permission to tr~ncmit More cpe-~ifi~lly, ARCNET uses a star eabling pattern with passive and aetive hubs that ean extend the cabling farther than Ethernet or Token Ring configurations. Networked devices share the cabling using an orderly polling scheme The inct~ller sets switches on each network 30 il-lr~ri~e eard, whieh gives the card a specifie number. The lowest numbered active card becomes a master controller. It sends a message tO each adapter in sequence, giving it CA 02237406 1998-0~-12 WO 97~0271 PCT~US96/18196 .
permission to IIAI~ any data it holds. The standard ARCNET signaling speed of 2.5 Mbps limits the IIIA~ 11111 throughput, although faster speeds have been recently developed.
The Asynchronous Transfer Mode Protocol An ATM network is configured much like a telephone network. An issued packet travels from the issuing coll~pulel to the receiving co~ ulel on a communication line that other Colll~u~ in the network are not currently sharing. Application software often needs to be morlifiP~l to be compatible with an ATM network.
SmMMARY OF T~E INVENIION
It is an object of the present invention to provide a network which mitig~tPs andlor obviates the aforementioned drawbacks of conventional nelwolhhlg protocols.
It is another object of the invention to provide a network in which data is commnnis~At in a highly efficient manner.
It is a further object of the invention to provide a network which operates much faster than existing r.elw~lhs.
It is still another object of the present invention to provide a network which has a large bandwidth.
It is still a further object of the present invention to provide a network in which data is sequentially gathered on a reception channel and broadcast to the computers on a delivery l~hzmnPl These objects as well as other objects, features, and benefits of the present invention are achieved by providing a co~ uler network in which data packets generated by the cc,."pu~,~
in the network are merged into a stream of data packets by a network hub, which stream of data packets are then broadcast to each of the colllpul~ in the network.
According to one aspect of the present invention, a co",~ulel network incln.1.os a plurality of COlllpu~l~ each having an interface, a plurality of data ~~.h~nnt-l~ each conne~l~d to a data output of the int~orf~ce of one of the colllpul~l~, a broadcast channel connected to a broadcast input of the interfac e of each of the colllpulel~, and a network hub connected to each of the data c rh~nn~l~ and the broadcast ch~nn~l Each of the colllpul~ls has a unique address and is capable of generating addressed data paclcets intPnded for delivery to another co",pules on the nt;l~olh.
The network hub includes a plurality of ports each of which is connected to a le~pe ;~ e one of the data chAnnel~ for receiving addressed data packets generated by one of the cCs~
W O 97~0271 PCT~US96/18196 and a broadcast output conn-octç~l to the broadcast channel. The network hub sequentially merges addressed data packets received at each of the ports into a stream of data p~r~t~. The stream of data packets are then broadcast to each of the co.l.~ul~ls in the network via the broadcast ~~.h~nnPl To merge the addressed data packets into the stream of data p~ Pt~, the network hub ;n~ es a plurality of storage devices and a merging processor. ~ach of the stoMge devices is connected to a respective one of the ports, and receives and len~oldlily stores the addressed data packets gçnPr~t~PA by the co,--puLer cc~nP~ted to the respective port. The processor is c~ nnP~ted to each of the stoMge devices and sequentially merges addressed data packets 10 te~lpul~uily stored by each of the storage devices into the stream of data p~ etc. An internal bus is cnnnectP~ to each of the storage devices and to the broadcast output for delivering the stream of data packets to the broadcast output.
One of the advantages of the present invention is that a plurality of network hubs may be c~c~dPA together. According to this aspect of the invention, the con.pu~er network in~ Ps 15 a plurality of network hubs, each of which in~ d~ps an ~yr~n~inn port The expansion port is connPct~A to the internal bus so that the eYr~n~iC)n port lecei~,es the same stream of data packets that are delivered to the broadcast output of the hub. To serially connect the network hubs, the p ~ ;o,l port of one of the network hubs is connected to one of the ports of another network hub. Therefore, the stream of data packets from one network hub may be merged with the data 20 packets received at the ports of another network hub, thereby forming a combined stream of data packets which is broadcast to the colllpùlel~ of the network.
According to another aspect of the present invention, the network hub may communicate with the int~rf~-~e of each of the collli)uLel~ to in~ te whether the co.,.pu~el may transmit data packets to the network hub for merging. Sper-ific~lly, when one of the storage devices of the 25 n~l.40lk hub is filled or nearly filled to capacity with lelll~oldlily stored data p~cl~t~, the network hub may send a status signal to the intPrf~-e corre~ron~iing thereto, in-iic~ting that the storage device is near capacity. Accordingly, each of the intPrf~es jn~lud~ps a local storage device for lel--pol~ily storing addressed data packets gçnpr~ted by the co,llyu~r upon receiving the status signal from the network hub, until the merging processor has emptied the storage 30 device.
Other ~pecP, f~alur~s, and advantages of the present invention will become ~e to those skilled in the art from a reading of the following detailed description with rt:f~ ce to the acco,npanying drawings.
WO 97n0271 PCT~US96/18196 BRIEF DESCIUIq~ON OF THE D~A~NGS
FIG. I is a block ~ gr~m of an exemplary embodiment of a CO~ )u~el network implemented according to networking principles of the present invention;
FIG. 2 is a block rli~gr~m of a co~ uler network illn~trating networking principles of S the present invention, particularly illustrating a chain of stations connected by a s~u~nlial reception channel and a s~hl~lr delivery ch~nnPl;
FIG. 3 is a block ~ pr~m of an exemplary embodiment of a network hub configured in accordance with ntlwu~ g principles of the present invention;
FIG. 4 is a block ~ gr~m of an exemplary embodiment of a network interface card 10 configured in accordance with ne~wolhillg principles of the present invention;
FIG. SA is a block ~ gram of an eYçmplary method of merging data packets impJPmPntP~l in accordance with the networking principles of the invention;
FIG. 5B is a block diagram of another exelllplaly method of merging data packetsimplP-mPntPd in accordance with the networking principles of the invention;
FIG. 6 is a block ~ r~m of an exemplary embodiment of a network having Illil~ d servers implPmPntP~l in accordance with networking prinrirlPs of the present invention;
FIG. 7 is a block ~ pram of an exemplary embodiment of a network hub for use in a illul~ d-server network configured in accordance with the invention;
FIG. 8 is a block ~ gr~m of an exPmrlary embodiment of a wide area network 20 impl~PmPntP~ in accoldallce with networking rrinrip1Ps of the present invention;
FIG. 9 is a schP.m~tic view of an ext;lll~ embodiment of a colll~ut~r nelwolh implement in accordance with the present invention, particularly illustrating a file-server network configuration;
FIG. 10 is a schPm~tic view of an exemplary embodiment of a network interface card 2~ implPmPntP~ in accordance with the invention;
FIG. 11 is a schPmatir view of an exemplary embodiment of a COIIIIJUIeI network imple.mPntP~ in accordance with the invention, particularly showing a dual file-server network configuration;
FIG. 12 is a s- hP-m~tic view of an exemplary embodiment of a network hub implPmPnt 30 in accoldal~ce with the present invention;
FIG. 13 is a schPm~tic view of an eYPmpl~ry embodiment of a co~ uler network imp1~PmPnt~ in accordance with the invention, particularly showing a wide area network configuration;
W O 97~0271 PCT~US96/18196 FIG. 14 is a schematic view of an exemplary embodiment of a cc,l.lpul~r network implrmPnt~1 in accordance with the present invention, particularly i~ str~ting a wide area network configuration with access to the TntPrnet FIG. 15 is a schçm~tic view of an exemplary embodiment of a co~ ler network 5 implPm~nted in accordance with the present invention, particularly showing a wide area network configuration with access to a mail server;
FIG. 16 is a srh~m~tic view of an eY~-mpl~ry emborlimt?nt of a compuLer network impl~ m~ntP~ in accordance with the present invention, particu}arly showing a mirror-server configuration;
FIG. 17 is a schPm~fi~ view of an eYPmpl~ry embodiment of a ccul~ult:r network impl~mPnt~ in accordance with the present invention, particularly illustrating a video-server n~ lw~lk configuration;
FIG. 18 is a block ~ Er~m of another exemplary embodiment of a network hub illustrating packet-merging principles of the present invention;
FIG. 19 is a block ~ Er~m of a neLwc,lk interface card for use with packet-merging network hubs;
FIG. 20 is a block ~ gr~m of a further rYemrl~ry embodiment of a network hub in accoldance with the present invention; and FIG. 21 is a block ~ Er~m of a plurality of packet-merging network hubs C~C~
logeL~ according to the present invention.
DETAILED DESCRn~ON OF T~E PREFERRED E~BOD~MENTS
Networking principles of the present invention are eYçmrlifird by the embo~lim~nts illustrated in the drawings. These principles focus on a two-channel approach to Co~ tin~
data within a network environm~nt Exemplary embodiments of these networking prin-~iples may take different forms, many of which are illustrated in the drawings. However, the di~rln~llre herein will detail specific plefell~d embodiments of this novel approach to networking and will not provide an exhaustive description of all embo-iimPnt~ within the scope of the nelwo.killg principles set forth herein and ;n the appended claims.
The Network Referring to the drawings, particularly to FIG. 1, a network 10 implemented according to the principles of the present invention is shown. The network 10 utilizes two sep~r~tp W O97/20271 PCT~US96/18196 t~n~miccion ch~nnel~ to cou,ll,u"icate data within the network 10. One of the tr~ncmiccion h~nnPlc sequentially routes data issued from computers in the network 10 through the colllpuL~l~ in the network. The other tr~ncmic~i~ n channel bro~-lc~ctc this routed data to all the colllyu~ in the network 10. As known in computer n~lw~.khlg~ data gener~t~ by colllpul~l~
S is typically in the form of data p~ tc Each data packet in~t~cles not only the data gcn~,dled by the co"~yuler but may also include addressing information, error detection information, and so on, so that each packet may be an addressed data packet.
More specific~lly, the network in~hldes a plurality of con,yuLt;l~ 12, preferably being capable of ge"c dting data, in comm--ni~tion with each other via communication media. Each of the colllyuk;l~ 12 is provided with a network interface card (NIC) 14. A network hub 16 inlerco~ Pr~tc the plurality of network interface cards 14, thereby interconnectin~ the colllyuLt;l~
12 of the network 10. The network hub 16 also comm--nic~tes via a broadcast output 18 thereof with a broadcast input 20 of each of the network interface cards 14.
The interf~-~e between the co,,,yuLer 12 and the network interface card 14 allows the co-llyu~l 12 to generate data packets and to provide these generated data packets (i.e., local data packets) to the network interface card 14 for tr~ncmiccion to the network 10. The interface also allows the nt;lwolh interface card 14 to provide the ~;:OIII~)U~t;l 12 data packets received from the nelw~,lh or from a remote source (i.e., remote data packets).
As ill~-str~ted in FIG. 1, the COIll~uL~.~ 12 are connected in the form of a chain of computers beginning with a first computer ~i.e., Cc,ll,yuL~r 1) and ending with a last coll,puLe (i.e., Coll,yuL~l N) in the chain. In linking the computers 12 in this manner, data generated by Co"~yuLel 1 is sent to the network hub 16 which in turn sends this Computer 1 data to Co"~yu~er 2. In addition to sending the Co~yule- 1 data back to the network hub 16, Co",yule- 2 may also generate and send its own local data to the network hub 16. The network hub 16 then sends the Co",yuLe- 1 and Co",puleL 2 data to Co~yuLer 3. This sequential linking of the COIllyu~ , 12 colllil,ues through to the last computer in the chain, i.e., Co~y~Lel N. The last co~yulel, however, is not linked back to the first co",pulef.
Computer N receives remote data packets from the network hub 16, which remote data packets are data packets generated by any one of or all of the coll~ulel:i preceding Co-l~L~uLer N in the ncLwo.k (i.e., Co---~uLef 1 through CoulyLIler N--1). Computer N sends these remote data packets back to the hub 16, and may add local Collll)ul~. N data packets to the chain of data pal ~f'tC, Therefore, data packets received by the network hub 16 from the last co."~uLef in the chain of colll~uLe-~, i.e., Computer N, are the data packets generated by any and all the WO 97~0271 PCTAUS96/18196 co~ uL~.~ 12 in the network 10, which may be called "network data packets." The ~ W~
hub 16 then br~-lr-~ct~ these network data packets to all the network in~erf~ce cards 14 in the network 10. Each of the network interface cards 14 then in turn provides these network data packets to the co~puLer 12 connectPd thereto. Accordingly, all the computers 12 in the network S 10 receive any data packet gçnP~t~ by any of the computers 12 in the network 10.
In view of the fol~going description, the networking princiries of the present invention may be described as a network in which (1) data packets are sequentially gathered from the co",putei~ in the ncLwolh on a reception or packet assembly mPAillm and (2) the sequentially gathered data packets are delivered to all the cO",~u~ in the network at the same time on a 10 delivery or packet broadcast mPAillm A block ~ m illuctr~ting this novel networking principle is shown in FIG. 2. Thenetwork 10 inclucies a plurality of nodes or stations 22 (each station 22 plerel~bly incl~ ing a computer and a network interface card) through which data packets issued by the stations 22 are sc~uel,Lially chained and routed on a reception m~ium 24. The last station 22, i.e., Station N, 15 provides the sequentially chained and routed data packets to a broadcast unit 26 which bro~-lr~ctc these data packets from the last station to all the stations 22 on a delivery mtoAinm 28, shown in dashed line.
In order to describe the present invention as clearly as possible, generic terms for many of the devices and ideas common to networking t~ehnology are used. For example, in ~ 1ition 20 to the term "data" mentioned above, the term "co~ ul~l" iS used to ~srrihed any electronic device capable of being connected within a network, inclurling co",pull;r wolk~ onc~ file servers, colllpule- ~)e~ e~dls (which may not be capable of generating data to send over the network), and so on. The term "station" is used to describe a computer coupled with a network int~rf~ce card. The term '~communic~tinn media" encompasses all media forms used to 25 comm~lni~tp data, including, ~or example, coaxial cable, twisted-pair cable, fiber optical systems, infrared systems.
Th.o Network Hu~
A network hub impl~mPnt~d according to the prin- iplP~5 of the present invention is shown in FIG. 3. The network hub 16 may function a_ a media access unit by configuring the 30 col.~ tinn media of the network 10 into a reception or packet assembly channel for s~ue~ ly routing data packets through the last co"lpuler in the network and a delivery or packet broadcast channel for bro~ ing data packets routed through the last computer in the CA 02237406 1998-0~-12 W O 97~0271 PCTrUS96/18196 network to all the co~ )uLel~ in the network.
In order to do this, the nclwolh hub 16 inc~ les a plurality of input-and-output pairs 30.
Each input-and-output pair 30 has an input 32 and an output 34 paired together. Each input-and-output pair 30 co,ll"lu~ tt~s with the network interface card of a station or co~ ,ule~ of the network 10 via the delivery channel 24 as described above. The input 32 of each input-and-output pair 30 is conn~ct~A to the output 34 of another input-and-output pair 30, shown by c~nn~t~ 36. Accordingly, data packets issued by a first station are received by the input 32 of a first input-and-output pair 30 and are then provided to the output 34 of a second input-and-output pair 30, which data packets are then sent to a second station. The input-and-output pair 30 co----llu~ tin~ with the last station in the network, i.e., Station N, provides data packets received by the input 32 thereof to a broadcast ~mplifi~r 38. The broadcast ~mplifi~r 38 then provides these data packets to the broadcast output 18 to be broadcast to all the stations via the delivery channel 28.
The Network Interface Card A n~:~w~lh int~rf~re card implemented according to the principles of the presentinvention is shown in FIG. 4. The n~lwolh interface card 14 in~ des a remote input 40 and a remote output 42, each of which is connectable to the reception meAillm 24. The remote input 40 receives data packets from one of the input-and-output pairs 30 of the network hub 16 and provides these data packets to the remote output 42. The remote output 42 in turn provides the data packets to the next input-and-output pair 30 sequentially in the hub 16.
The network interface card 14 further inrhl(lçs a local input 44 which is com~e~;~ble to the colll~uLe~ 12. The locaI input 44 is in commllnic~tion with the remote output 42. The local input 44 receives data packets from the co,l-~uler to which it is connected and provides these data packets to the remote output 42 for tr~n~mic$ion to the network hub 16 on the reception m~Ainm 24. The remote input and output 40 and 42 and the local input 44 are concerned with the g~th~ring, merging, and routing of data packets in the network on the first tr~ncmicci~n meAi~lm 24.
Regarding the h~n-1ling of data packets on the delivery mrAillm 28 of the network 10, the network interface card 14 further includes at least one but preferably two broadcast inputs 46 and a local output 48 in commnnic~til n with the inputs 46.
The first broadcast input 46 is connectable to the delivery me~inm 28 of the network, receives the broadcast network data packets from the broadcast output 18 of the r.el~olk hub W O 97~0271 PCTAUS96/18196 16, and provides the broadcast data packets to the local output 48. The local output 48 then provides the network data packets to the co~ uLel to which it is connr~t~1 Either the network interface card 14 or the computer to which it is coupled may detrrmine which of the data packets of the broadcast data packets are addressed to the c-""~uLGr.
According to the e~ pl~ry embo-~imrnt shown, the n~lwu.k intrrf~re card 14 may include a broadcast processor 49 connected beLween the broadcast inputs 46 and the local output 48. The broadcast plùce...o, 49 receives data packets from the broadcast inputs 46 and determines which of the data packets are addressed to the local COIIIPULG1. The broadcast P1OCeSSOI 49 then transmits the data packets addressed to the local colll~ùL~l to the local output 10 48. In other words, the broadcast processor 49 monitors data packet traffic and capLI~eonly those data packets fulfilling the address r~ui.~l"ent progrAmmP~l by the local co"l~uLel. The network interface card 14 may additionally indude a memory device for storing address, as well as other, information.
If both broadcast inputs 46 are receiving data simlllt~n~usly, the broadcast ~OCe.,,SOl 49 may toggle the conn~ction between the broadcast inputs 46 and the local output 48. This may take p}ace under software control from the local co,-,~uler. Further, the computer may decide which of the broadcast inputs 46 to monitor and receive data from under different circl-m~t~n~ ~s Thr Packet-Mer~in~ System In order to rfficiently route data packets sequentially through the chain of network inte~f~re cards 14, each of the network interface cards 14 merges local data ge~ P~i by the colll~ulel 12 with any remote data being received at the remote input 40. With continued ~f~le,lce to FIG. 4, the network intrrf~re card 14 in accordance with the present invention may also include a merging processor 50. The merging processor 50 is in co....,~ ir~tion with the local input 44, the remote input 40, and the remote output 42. The merging processor 50 al~l"aLi"gly tr~n~mit~ to the remote output 42 local data packets received at the local input 44 and remote data packets received at the remote input 40. The merging ~r~cessol 50, upon receiving local data from the local input 44, creates the local data packet to be sent out to the network via the reception medium 24.
The ~GrGll~d embodiment of the network interface card 14 also inrlll-les a local storage device 52 and a remote storage device 54. The local storage device 52 is connected belwGell the local input 44 and the merging pluce~sol 50. The local storage device 52 receives data packets W O 97~0271 PCTAUS96/18196 received at the local input 44 from the col~lpuLer and provides these data packets to the merging prucess~l 50. The remote storage device 54 is connected between the remote input 40 and the merging ~rocessol 50. The remote storage device 54 receives data packets received at the remote input 40 and provides these data packets to the merging processor 50.
S With ~ tion~l reference to FIG. SA, when local data packets are received at the local input 44 (block A) and loaded into the local storage device 52 (block B), the merging ~uCeSSu~
50 detects the change in status of an ~empty" flag in the local storage device 52. The local data packets are then immPAi~tPly released to the merging processor 50 ~block C) and ll;~ ed to the network (block D) via the remote output 42. However, if the merging ~,~,ce~oL 50 is currently busy tr~n~mittine remote data packets (path E), the local data packets are then stored in the local storage device 52 (block F) until the merging processor 50 has ~ the remote data packets to the network and is no longer "busy, " at which time the local data packets are release by the local storage device 52 (block C) and tr~n~mittPA to the network (block D).
If remote data packets are received at the remote input 40 (path G) while local packets are being released and tr~ncmittPA. to the n~lwo,k, then the release and tr~n~mi~ion of local data packets is pler~l~bly l~lnL)oldlily sl~cpçnded in order to transmit the remote packets through the network interface card 14 first, with any rem~ining local data packets tr~n~mitt~d lher~r~r. In other words, the tr~n~mi~cinn of remote data has priority over the tr~ncmis~ n of local data.
Upon receiving remote data p~kPtc, the remote packets are loaded into the remote storage device 54 (block H) and any yet unreleased (and untr~n~mitted~ local data packets are stored in the local storage device 52 (block I) so that the remote packets may be released to the p,oc~or (block J) and tr~n~mitted to the network (block K). When the received remote data packets have been tr~n~mittt~A, any re.~ ing unreleased local packets may then be released and ~ (ed (path L and blocks C and D).
This priority ~,inciple is ~ltPrn~tively illustrated in FIG.SB. AS mention~i above, local data packets are received at the local input 44 ~block M) and loaded into the local storage device 52 (block N). Simil~rly, remote data packets are received at the remote input 40 (block O) and loaded into the remote storage device 54 (block P). If local data packets are received and the merging ~,ucessor 50 is busy with remote data p~ckP~, the local packets are then stored in the local storage device 52 (block O). If the processor 50 is not busy with remote p~kPt~, then the local packets are released to the processor 50 and tr~n~mitted to the network until remote data packets are received (path S). When remote packets are received (block O), the p,uces:,or 50 will transmit any released local packets to the network (block T), and any unreleased local W O 97~0271 PCT~US96/18196 packets are stored in the local storage device 52 (block U). Thereafter, the received remote data packets are released to the merging processor 50 and tr~n~mitt~i to the n~wo~k (block W).
After all the remote packets have been tr~ncmittPd (path X), the release and t~ncmitt~l of the local data packets may continue (block R). This entire process takes place at high speeds.
S If no local packets are being released and tr~ncmittPd to the network and remote data packets are received at the remote input 40 (block O) and loaded into the remote storage device 54 (block P), then the merging processor 5Q detects the change in status of an "empty" flag in the remote storage device 54. The remote data packets are then i.~....P.I;z~ y released to the pr~cessol 50 (block V) and ll;1n~ d to the network (block W) via the remote output 42.
10 The Mirrored-Server Topolo~y The networking principles of the present invention may be implPm~nted in many various network topologies. One such topology is a mirrored-server network which is a network having two file servers, one mirroring the other. Both file servers are configured to contain the same data, i.e., to ~mirror" one another. Therefore, if one of the file servers çr~chrc, the entire 15 system will continue ~e,~thlg on the still-f mcti~ning file server.
Mirrored-server topologies are typically implf mf ntP~ in client/server networks. A
client/server network has a plurality of user W~JI k~l~l icmc (or "clientsn) and a central file server (or "servern) to which the ~3lk~ n~ are connP~tPA This is also called server-based nelwolkillg. In contrast to peer-to-peer networks in which workstations address data packets to 20 each other, the work~t~tionc in a client/server network typically only address data packets to the file servers, with the file servers addressing data packets to the workstations.With reference to F IG. 6, a network 56 with ~ Jred servers implPmPntec1 in accordance with the present invention is shown. The network 56 innl~ P5 a plurality of woll~lions 22 (each workstation 22 preferably inçlllfling a co-..pu~. and a network interface card) and a pair 25 of file servers 58 connected together with commnnic~tion media. Each of the work~t~tionc 22 genP~tes data packets intel~ded for delivery to the file servers 58, and each of the file servers 58 ge~ tfs data packets intf~nded for delivery to the w~.k~ ;onc 22. The comm--ni~tion media through which the work~t~tionc 22 and the file servers 58 co....,.u.~icate in~ les a plurality of ch~nnplc~ e.g., C~h~nnPlc A to E, as described below.
Each v~f~k~l;llion 22 ~except the last workstation in sequence, i.e., Workstation N) delivers data packets to the next workstation 22 in sequence on Ch~nnel A, and e ach workstation 22 (except the first workstation in sequence, i.e., Workstation 1) receives data packets from the CA 02237406 1998-0~-12 W O 97~0271 PCT~US96/18196 previous workct~tion 22 on t~h~nnel B. Ch~nn~lc A and B are thus configured in a packet assembly ch~nnel Workstation N delivers these sequentially routed data packets to a broadcast unit (on Channel A). The broadcast unit 60 bro~rlc~ct~ data from the ~o.k~ ;onc 22 to both of the file servers 58 on Channel C which is a wol k ~ ;on broadcast çh~nnPl Therefore, both S file servers 58 receive the same data p~ PtC
The file servers 58 each generate data packets, the same data packets in a ~ lulcd-server configuration, to be delivered to the wo~k~ tions on se~,,.tt broadcast çh~nnPlc. File Server 1 provides a first server broadcast unit 62 with addressed data packets which then bro~lc~ctc these File Server 1 data packets to the wolh~Lions22 on Channel D which is a first 10 server broadcast ~~h~nnPl Similarly, File Server 2 provides a second server broadcast unit 64 with addressed data packets which then bro~lc~ctc these File Server 2 data packets to the workcPtions 22 on f~h~nn~-l E which is a second server broadcast ch~nnçl Each of the workct~tions 22 then receives the File Server 1 and 2 data packets on a first and a second server broadcast input connected to Channels D and E, l~e~ rely. Accordingly, if one of the file 15 servers 58 cr~ches, the network 56 will continue to function on the still-functioning file server 58. Each of the wo.k.~il;.lionc 22 iS then able to toggle between the first and second server broadcast inputs to determine which data packets to receive.
According to another exemplary embodiment of the present invention, rather than address data packets only for the file servers, the workstations 22 may address data packets for delivery 20 to another ~o~k~l;lion. In this case, each of the file servers 58 may merge data packets genPr~tP~I thereby with the workstation data packets received on (~h~nntol C, which is shown by the dashed line in each file server 58.
The Mirrored-Server Network Hub With additional reference to FIG. 7, a network hub 66 implçmPnte~ in accordance with 25 the present invention is shown. As described with reference to the network hub 16 shown in FIG. 3, the network hub 66 configured for a IllLlur~d-server environment includes a plurality of inputs 32 and outputs 34 formed into input-and-output pairs 30 which sequentially assemble data packets gPnPr~t~-A by Stations 1 to N on Ch~nnel~ A and B of the communication media.
The hub 66 also inchldçs a wo.k~,~Lion broadcast output 68 for tr~n~mittinf~ data packets which 30 have been sequentially routed through the last workstation 22 in the network (i.e., Station N) to the file servers 58.
The mirrored-server network hub 66 has a first server broadcast input 70 connPctPli to W O 97~0271 PCTfUS96/18196 the first file server 58 (i.e., File Server 1) and receives data packets gener~t~ by File Server 1 via Ch~nnpl D. The hub 66 also has a second server broadcast input 72 connPctPd to the second file server 58 (i.e., File Server 2) and receives data packets generated by File Server 2.
The first and second server broadcast inputs 70 and 72 are respectively connected to the first 5 and second server broadcast units 62 and 64. Upon receiving data packets from the server broadcast inputs 70 and 72, the server broadcast units 62 and 64 lcsl,e~iLi~ely broadcast via Ch~nnP-lc D and E these received data packets to the work~t~ti-nc 22.
The Wide Area Network The nt:Lwolking prin~ s of the present invention are not limited to peer-to-peer10 networks or c}ientlserver networks but may be implemPnted in wide area ne~ olk~ as well. With reference to FIG. 8, a wide area network (WAN) 78 in accordance with the present invention is shown. The WAN 78 includes a plurality of local area networks (LAN) 80 in commllni~ ~tic n with a remote source 82. Each of the LANs 80 is comprised of a plurality of stations 22 in commnnic~tion with a network hub 84 via commnni~tion media. The remote source 82, which may be, for example, another network, a file server, a mail server, etc., co.. ,.. ic~tes with the network hub 84 of each of the LANs 80.
The stations 22 of each LAN 80 sequentially gather data packets on Ch~nn~lc A and B
of the communication media. A LAN broadcast unit 86 of each hub 84 then br~flc~ctc the data packets from the stations 22 to the stations 22 on Ch~nnPl C. This is p~lrc,l,l.ed analogously to the PY~rnrl~ry embodiments described above.
When the remote source 82 gen~r~tss data packets to be delivered to the stations 22, the remote data packets are broadcast by the remote source 82 to each of the LANs 80 in the WAN
78. A WAN broadcast unit 88 of each of the network hubs 84 receives the remote data packe~s from the remote source 82 and bro~-~c~ctc the remote data packets to each of the stations 22 on t h~nn~l D of the cornm~lnic~tion media.
In view of the description of networking principles of the present invention provided above, the network interf~ce cards 14 and the network hub 16 do not re~uire cperi~li communication media to implement a co~l~uLer network according to the present invention.
Most typec of cable available on the market are able to carry the reception and the delivery çh~nnPlc 24 and 28, which will be .1i~cl-cc~d further below.
W O 97~0271 PCT~US96/18196 Implementation of Pl~re--ed Embodiments With reference to Fig. 9, a network 110 in~lu~les a file server 112 in commllnic~tion with a plurality of workqt~tiorlq 114 via a network hub 16. The file server 112 may include a proceqqing unit or co~ uLt;l 118 which may incol~o,dl~ any number of devices inrln-ling 5 internal and ~rtPrn~l disk drives, microprocessors, and so on as is hnown in the art. Simil~rly~
the wl~lk~ nnc 114 each may include a processing unit or colll~uler 120 which in turn may include internal and external disk drives, processors, and so on as is known in the art.
The network 110 further in~ es a plurality of network interface cards 14. The data server 112 and each of the wulh~lalions 114 is provided with a network int~rf~e card 14. The network interf~l-e card 14 may be housed inside the COlllpUlt;l~ 118 and 120, as shown in FIG.
9, or provided as a separate, stand-alone unit in communication with the colllpul~l~. With additional reference to Fig. 10, each of the network interf~e cards 14 may be in the form of a cu~ ul~r card with an interface bus 124 for connection with the respective co-l,pul~l 118 and 120. The various connectionq between the network int~rf~e card 14, the network hub 16, and the p.ocessor units 118 and 120 may be made with known cables, which will be ~iiqcuqqed in detail below.
The network interface card 14 preferably has three network inputs B, C, and D and one r.~.~wulk output A, each in the form of cable pairs. Input B is a remote input while inputs C and D are system broadcast inputs. Output A is a combined output of the network interface card 14, lJlefeldbly comprising cable pair 1 of the conne~;~or. Each of these connections has a specific and de~i~n~tecl pul~ose in the wide bandwidth technology of the present invention.
The network interface card 14 may include a remote input first-in-first-out (FIFO~
memory device 126 in communication with remote input B, and a local data FIFO memory device 128 in commnnic~tion with the processor of the server 112 or the res~ec~ e w-~k~ inn 114 at which the network adapter 14 is located. The ne~ulh adapter 14 may further include a micluprocessor or state m~- hin~ 130 in co-,-",u,.ication with the FIFO memory devices 126 and 128. The combined output A is output from the state m~hine 130. Accordingly, data packets that are input to the network interface card 14 through remote input B are combined in the state m~rhint- 130 with locally tr~n~mitt~d data from the local FIFO 128 and then sent to the hub 16 via the combined output A.
Turning briefly to conventional networhing arr~ng~mt~nt~, FthPrn~ot-type schemessynchronize data tr n~mi~cions from one coll-~ulel to other computers on the local area network through a technique of data collision detection and recovery. In these contention-type networks, CA 02237406 1998-0=,-12 WO 97nO271 PCT~US96/18196 _, _ a con~ ~hle lue--;e.l~ge of network bandwidth can be lost through data collisions when the network is under heavy lltili7~tion.
The ntLwulking technology of the present invention, however, is a co~nttontionless protocol. Data collisions are prevented by a loop-through a~luach which is accomplished in S the neLwolk int~ r~ce card 14 or hub 16. Data packets from other colllpul~,~ or wo. k ~ nc 114 enter the adapter 14 through remote input B. These incoming packets are stored in the remote input FIFO memory device 126. The remote input memory device 126 is sized with adequate depth to enable the LelllL)oldl y storage of the largest packet supported by the network 110. Local data, that is, data generated by the workct~tion 114 at which the specific network adapter 14 is 10 located, to be l.d~ Pd is loaded into the local data FIFO l-,e---o-y device 128 through the int~rf~ ~ bus 124 with the computer unit 118 or 120. The task of m~n~ging the syncl~lu,~ li of packets to be tr~ncmitted is accomplished by the microprocessor or state m~rhine 130.
When one of the network interface cards 14 begins to receive a remote packet of data at remote input B, the state machine 130 detects the receipt of the packet of data by det~ctinE
15 a change in the status of the "empty" flag of the FIFO memory device 126, thereby ci~n~lin~
the begin~-;n~ of the arrival of an incoming data packet. Upon such det~ction, the state m~r.hir..o 130 imm.oAi~ y begins l".n.~",illh~g, via co~-.bi,led output A, the incoming packet. In those j"~ es when the local machine or w~,rk~t~tion has created a packet of data fûr tr~ncmicci~,n and where the empty flag of the remote input FIFO memory device 126 in~ t~$ that no remote 20 packet of data is being received, the state m~rhine 130 then t~n.cmi~ a local packet at the local memory device 128 via the combined output A.
If a remote packet of data is received by the state m~chine 130 from the remote FIFO
126 while the state machine 130 is in the process of tr~n~mitting a local packet of data from the local FIFO 128, the remote packet is stored in the remote input FIFO 126 and is l"".',..;llP~d im mloAi~tely upon completion of the tr~nsmi~.~ion of the local packet. As the combined output A pl~,feldbly t~n~mi~ at the same data rate as remote input B and as the remote input FIFO
has the capacity to store an entire incoming packet of data, data overflow does not occur. By this method, local packets of data are insertable into the data stream to be output from output A.
System broadcast inputs C and D have a special and unique function within the wide bandwidth network 110. The adapter 14 has the ability of inputting data through either input C
or D, one at a time, selectable under software control (stored on and activated by, for eY~mrl~, the processor units 118 or 120). As will be shown later, the two system broadcast inputs C and W O 97~0271 PCTrUS96/18196 D input data to the local m~chine (i.e., the server 112 or workstation 114 at which the adapter is located) and can be used in a diversity of methods depending on the requirements and restraints of the individual inct~ tion.
With further reference to FIG.9, the wide bandwidth network interface card 14 is shown inct~ d in a LAN configuration. In this exemplary embodiment, one of the workct~tionc 114, for ~Y~mrle, workstation 1, initi~f~c a "chained" data stream. Local data ~e~ A at workstation 1 is transmitted over the network 110 by workstation 1 and travels to the hub 16, where the workstation 1 local data is rerouted or Ucombined~ to remote input B of the network adapter 14 located at workstation 2. As Aes~rihed in above, workct~tion 2 syncl.lu~li2e~ the tr~ncmiccion of w~-k~ ;cn 1 data with its own local data trAncmiCcion, sending the combined output of workstation 1 and 2 local data to the hub 16 via combined output A where this combined data is chained to workstation 3. Workstation 3 in tum synchronizes the trAncmiCci~ n of wolh~iion 1 and 2 data with its own local data trAncmiCcion, sending the combined output of workstation 1, 2, and 3 local data to the hub 16 via combined output A. In other words, tr~n~miccionc from the combined output A of wnrkct~tion 3 contain the combined queries or tranSmicsions of all the wo,k~tions 114 of the network 110, which wolk~Lions 114 number three in this example. The wulh~l~lion 3 tr~ncmiceions are in turn chained through the hub 16 to the data server 112.
Although in many inct~ tit~ns the data trAncmiccionc from the workstations 114 are addl~ssed to server 112, the cre~ifi~lly addressed data tr~ncmiCCinns are not "picked-off~ the data stream at this time. Rather, these combined trAncmiCciQns are synchronized with the output A from the server 112, the combined result then le(~ g to the network hub 16. The hub 16 includes a system broadcast Amrlifi~r 132 which receives the combined tr~ncmicci-nc from the data server 112 and outputs the system broadcast tr~ncmic~ion D.
An ey~mpl~ry process for addressing data packets may include the following steps. Prior to the trAncmiCci- r' of each packet, the co."puler loads into the network int~rf~-e card 14 the A~stin~tion and source MAC addresses. A MAC address is a unique number ~ccignPA to every network interface card 14. The first 48 bits of the MAC address are the vendor~s ID ~ccign~
to that vendor by the I.E.E.E. The last 48 bits are a distinguishing number for each board ~ccignoA by the m~nllf~c~tllrer of the board. The sender's source address is stored in permanent memory on the network interface card 14. During the start-up and initi~li7~tion procedure, the col"~ulel reads the MAC address of the network interface card 14 connected thereto. The conl~>ut~ l then loads the address into a register at an a~l,r~pliale time. From the data loaded in WO 97nO271 PCT~US96/18196 the register, the network interf~z~ce card 14 creates and sends the addressed data packet.
An exemplary process for receiving data packets may include the following steps. The network intPrfzt-e card 14 receives an address from the co".~uter for the desired packet. Most of the time, this address would be the local MAC address of the particular network interfz~e S card 14. At other time, other addresses may be used. For example, a promi~c~-ous mode utilized by network-monitoring products is pro~r, mmPc1 to receive all packets with all labels. There may be another address for broadcast pzl~l~tc. After the network int~-rfzt~e card 14 is p~g"l."m~
with a receive address, the network int~rfz ~e card 14 then ~uLu~ ~ ~z~l irzllly monitors packet traffic and ~U1GS only those packets which fulfill the address re~uirement of the COIIIPUlGr~
T~hlrninf~ to the embo-liml~nt shown in FIG.9, in wide bandwidth terminclogy, "system broadcast" or WideCastTM is used to refer to a signal or tr~ncmic~ion which is cimllltz nPously sent to a number of COIII~ULG1~ workstations, servers, etc. In the example illustrated in F~G.9, system broadcast output D is delivered cimllltztn~ously as system broadcast input D to each of the w~..k~ t;ons 114 and to the server 112. The system broadcast output D signal is delivered to every COIII~UIG1 connP~tçd to the hub 16. (This connection has been omitted from the dl~win~ç for the sake of clarity.) System broadcast output D is ~!lG~lably t~ncmitt~d over pair four of the un~hi~k~ed twisted pair (UTP)-5 cable connectin~ each coln~uLel unit 118 and 120 (i.e., the adapter 14) to the hub 16. Even in inctzlllzltiQns with system broadcast channels C and D, only a single UTP-5 cable is required to provide all four data co,~ ."it z tionc paths of the system 110.
As packets of data are received at each co,.l~uler 112 and 114 via system broadcast D, the network interface card 14, which monitors all of the packet trz ncmiccions on the cllzmn~
selects and retrieves those packets of data addressed to the local cOIll~ulGl at which the particular network int~rfzlce~ card 14 is located. It is by this method that round-trip comml-nir~tinnc are accomplished in the wide bandwidth environment of the present invention.
f~rrin~ to FIG. 11, there is shown a wide bandwidth network 134 in which a pair of hubs, a server hub 136 and a wo~ lion hub 138, are provided, as well as more than one server 112. In this embodiment of the wide bandwidth nG~v~Jolk technology of the present invention, the trzlncmicciQns of the workstations 114 have been sG~ ed from the trzmcmiccion~
of the servers 112. In the embo.1imçnt of FIG. 9, the bandwidth of a single hub 16 is limited to the combined trzm~mi~cion of all workstations 114 and servers 112. By dividing the chained outputs of the workstations 114 from the chained outputs of the servers 112 as shown in the embodiment of FIG. 11, the available bandwidth is doubled. Further, the server hub 136 W O 97~0271 PCT~US96/18196 inrlllcies a system broadcast C amplifier 140 which tr~n~mit~ system broadcast output C to all the servers 112 connected to the server hub 136, and the workstation hub 138 inçl~ldes a system broadcast D amplifier 142 which transmits system broadcast output D to all the wulk~ n.~ 114 connP~tçd to the w~JIk~ lion hub 138.
FIG. 12 ill~ Ps a ~implifiPd wiring diAgrAm of a wide bandwidth hub 144 according to the present invention. The wide bandwidth hub 144 provides a simple method of conne~;li,lg up to 24 co,l,~ulcl~ into a LAN by tying together sequentially inputs and outputs of the hub 144 (n-spe~ ely lGple~ ted by reference numerals 1 to 24), thereby connPcting the combined output of one of the collll ulcl~ of the LAN to the remote input of another one of the co",~ulc.
of the LAN. It is also possible to inLerconnect or cascade mnltirl~P hubs 144 through the ili7~tion of the special inputloutput conne~;lions. Since the nPces~ity of detecting cnlli.cio~.~ has been Plimin~tP~i from the Wide~3and design, the Ethernet limitation of hub inlelconnections has been elimin~tPA~ If one of the hub ports (1 to 24) is vacant or unconnected, the çh~ining from channel to channel is broken. This method provides the user with the capability of dividing nelwolk~ into smaller sPgm~ntc to increase bandwidth in implement~tinns such as the dual-hub embodiment illnctrAtyl in FIG. 11. ~ltprn~tively~ means may be provided to au~o...A~;r~lly bypass llnronnP~tP~I rhAnnPl~ with a bypass relay.
The WideR~nd hub 144 is deci~nP~ in such a way that numerous innovative approaches of imrlem~nt~tion are possible. F~G. 13 illn5tr~t~s another PY~mrl~ry embot1imPnt of the wide bandwidth nclwulk technology of the present invention. A wide area network 150 int~ln-lPs a plurality of LANs 152 each in~ltlrling a co.,.bination of workstations and servers. A hub 154 and a corresponding number of routers 156 are connP~tPd into a backbone configuration. Each of the routers 156 has a n~ h interface card 14 analogous to that described above in lGft;lGnce to FIG. 10. In this emborlimPnt the hub 154 inrlnflPs a system broadcast Amplifi~r 158 which trAn~mit~ the combined data stream of all of the LANs 152 to each of the routers 156 connected to the hub 154.
With reference to Fig. 14, another implPmPnt~tinn of the wide bandwidth technology of the present invention is illustrated. The network of Fig. 14 is similar to that of FIG.13 with the itinn of access to the TntemPt l~lcsen~ed by reference nllmPr~l 160, via an Internet server 162 inrl~ inE a network adapter 14. In this in~t~ tion, a high-speed Tntprn~pt interface such as a T1 or a T3 is coupled, full speed, all the way to the desktop.
E~IG. 15 illn~ .t~s a wide area network 164 in accordance with the present invention. The wide bandwidth col"pollents are connected into wide area networks in which system broadcast W O 97~0271 PCTrUS96/18196 D is utilized for distribution of local area network traffic and in which system broadcast C
provides a high-speed, enterprise-wide channel which greatly simplifies E-mail inct~ tinns and accelerates wide area comml-nir~tions via a mail server system 166.
More cpe~ific~lly, each of the networks inçludec a combination of servers and S workstations, as well as a hub 168 includin~ a system broadcast D amplifier 170 coll~,~ollding to combined data streams of the local area n~.lwulk and a system broadcast C amplifier 172 collt;~onding to the mail server 166. When w~ rkct~tionc and servers of the local area n~lw~
are not monitoring system broadcast input D to retrieve local data by means of the network in~Prf~çe cards 14 cont~ined therein, the network intPrf~-~e card 14 monitors system broadcast input C to retrieve locally addressed mail and message packets tr~ncmittt~d from the mail server system 166.
The implemPnt~tion of the wide bandwidth network 174 of the present invention illllctr~tPll in FIG~16 depicts two servers 112 operating in parallel or in a "mirrored" mode. All of the queries to the servers 112 are delivered simult~neoucly to both servers 112 over system broadcast output C from a server hub 176. The output of file server 112 is delivered to each of the workct~tionc 114 over system broadcast channel C from a wulk~i.lion hub 178, wl,c~eas the output tr~ncmi~cionC of file server 112 are delivered to each of the workstations 114 via the system broadcast channel D of the workstation hub 178.
When the wide bandwidth technology of the present invention is configured in this manner, both hubs 176 and 178 operate in parallel, plvces~ g requests and responding to the workstations 114. Si~nific~ntly, however, both servers 112 are co,l,plelely incl~pen~1Pnt and r~lm~nt~ even down to the cable pair over which the server data is delivered to the workstations 114. In the event that one of the file servers 112 were to malfunction and one of the work~ions 114, therefore, were not to receive a response to a request, the w~,. k~ n 114 could then in~lqlPndpntly switch from input channel D to input channel C and con~ ue oce~ g with the still functioning server 112.
With reference to FIG. 17, yet another exemplary embo~limP-nt of the present invention is shown. This wide bandwidth network 180 in~ltlrlPs a video source 182 co~np~ to a network hub 184 via input port B. A second video source 186 is connected to the next port, CO~ g down the chain as ~ russe 1 in reference to FIG~17. As video data is time sensitive, packets of data can autom~fi~ y be sent over the netwc,.k 180 in synchronization with the d~m~n~l~ of the video capture device as shown.
Having ~ C~ d exemplary embodiments of the wide bandwidth network terhnol( gy W O 97~0271 PCTAJS96/18196 of the present invention thus far, more specific implementzltiQns of the technology will now be -lccpA The sy~,clllonization of data packets at the workstations 114 can be accomplished utili7ing FPGA technology such as the Cypress 384, 385, and 387 FPGAs. These devices are fast and user progrz~mmzthle. They can also simultaneously p~.Çol-ll data encryption functions as flicclose~ in U.S. patent application serial No. 08/430,942 filed on April 26, 1995, which applirzltion is inco.~old~d herein by reference and by appending a copy of the application hereto.
As rli.~ c~yl above, from the FIFO memory devices 126 and 128 of the nt~wulk adapter 14, data is trztncmittP~i serially. One way to accomplish this serial trztncmiccion is by trztncf~orring the data into the parallel input of a device such as the Cypress CY7B923 which performs 8BtlOB coding and which creates the differential high-speed serial output. Details on various coupling and termination techniques for serial commun;cation are ~iiccllsse~ in the CY7B923 and 933 Data Book.
Preferable te~hnicztl spe~ificzttic)ns of the present invention follow. Widebztnd data is ll ~ ~ from the server 112 to the worlcctzltionc 114 at a bit rate of preferably 333 Mbps over each twisted pair of UTP-S cables. Eight-bit data is converted into a 10-bit format to ...~h~li,in clock synchioni~.tion, to provide a method of hardware error cletPctir~n~ and to enable the tr~ncmiccion of control ~hztrzl-~tPrs. The decoding of 10-bit data back to its original 8-bit format on the receiving side results in a useful data rate throughput of 267 Mbps per cable pair 20 or 33 me~~yl~s per second (MBps). Since three or the four twisted pairs of the UTP-5 cable are utilized to transfer data by the wide bandwidth technology, the total data rate is plGr~ldbly 1.0 Gbps. The fourth pair is utilized for data synchl~"-i7i.l;nn. The ~ d tP~hnit~z cpe~ifi~ zlti~nc of the wide bandwidth technology of the invention are outlined in TABLE 1.
Data Rate: 1,000 Mbps ~over UTP-5 cable) 800 Mbps usable Byte Rate: 100 MBps 33 MBps/cable pair Raw Bit Rate: 333 Mbps/cable pair (10-bit bytes) Encoding: 8B/lOB
Output Signal: lOOK ECL serial Bit Error Rates: 10-l2 or better WO 97~0271 PCTnJS96/18196 Wi~leb~n-~ tr~n~mi~cion ~ t~nt~.Ps over UTP-S cable are 100m (330 ft). Tr~n~mi~ion rii~t~ncç~ of other types of cabling and fiber are p-~scn~d in TABLE 2.
~hle Type Unco~npensated C o m p ç n s a t e d Transmission Transmission UIP-S Un~hipl~i~ Twisted Pair 50 m (165 ft) 100 m (330 ft) ~P-3 Unchiel~l~ci Twisted Pair 18 m (60 ft) Not RecommP.n-iod RG-59 A/U Coax (75 ohm) 75 m (250 ft) 150 m (500 ft) Rl~-62 AtU Coax (93 ohm) 98 m (325 ft) 200 m (650 ft) Fiber optic LED driver 1,0Q0 m (3,300 ft) n/a The trappings on the cables range from metal Ethernet T-connectors to the simple plastic mo~ r plugs used with unshielded twisted pair (U rP) wire. Some Fthernet cards have connPct ~rs for coaxial cable, and others provide a 15-pin socket for more complex elrt~rn~i 15 transceivers for fiber optic and other types of cables. Token Ring cards have a 9-pin cQ.~ clor for shi~l~iPd twisted pair (STP) wire. However, UTP wire is becoming increasingly popular for both FthPrnPt and Token Ring cards. These cards have a simple plastic rectangular iack (e.g., RJ-45) similar to those found on modern telephones.
Applications ~Uilillg greater tr~n~mi~ion ~ t~nc~ can utilize passive eqll~li7~tion to 20 increase cable length. Table 2 also provides data tr~n~mic~ion distances for systems compPnc~
with passive eql-~li7~ticm.
Wicieb~nd net~olki"g is a sophisticated yet simple approach to increasing data tr~n~mi~cil n bandwidth in local and wide area networks over existing cabling. Wideb~n~ utilizes the basic technology of ATM but with modifications which make it more readily co~l~palil~le 25 with existing application software and the OSI seven-Iayer model. Through all its various configurations, it provides a versatile ~ltPrn~five in high-speed networking.
The network interface cards do not need to use copper cables. The network in~.r~ce cards may be configured to read pulses of laser light sent over fiber optic cables, pulses of inLdl~d light sent through the air, or signals imposed on radio waves. Many in~t~ tion~ may 30 use copper cables for most connections and intermix fiber optic or wireless alternatives to reach special st~ion~.
The Packet-Mer~in~ Hub An ~ltPrn~tive embodiment to merging data packets at the network interface card is shown in FIG.18. In addition to the plurality of computers 12, a network 200 includPs a packet-W O 97n0271 PCTrUS96/18196 merging hub 202 in communi-~tic-n with each of the col"~uL~-~ 12 via a respective network int~rf~re card 204. Rather than merging data packets g~nP~t~1 by the colllpuLel:l 12 at the col~ Lt; ~ themselves (i.e., at the network intPrf~-e cards 14) as described above, the data packets are sent from the COIII~UlG1~ 12 to the packet-merging hub 202 to be merged into a stream of data packets which is then broadcast to all of the conl~ulel~ 12 in the network 200.
The packet-merging hub 202 in~lu-les a plurality of ports 206 each for conntoc~ with and receiving data packets from a respective one of the colu~uleis via a de~ tedcommunication medium, such as a data channel 208. Each of the ports 206 is paired with and co~ l~i to a storage device, such as a first-in, first-out (FIFO) device 210. Each of the FIFO
devices 210 receives and l~lllpoldllly stores data packets received from one of the CU1IIPU~
12 via the port 206 paired therewith.
The packet-merging hub 202 further includes a merging p.ucessor 212, such as a Cypress 382 FPGA, connected to each of the FIFO devices 210. The merging ~-ocessor 212 sequentially merges data packets received at each of the ports 206 into a stream of data p~ t~
lS The steam of data packets inch~c~es all of the data packets gene.~lt;d by each of the COIn~U~
12.
The packet-merging hub 202 includes an internal bus 214 on which the stream of data packets are delivered to a broadcast output 216 connect~d to a broadcast channel 218. The internal bus 214 is sub~t~nti~lly a packet-merging channel provided in the network hub 202. The packet-merging hub 202 then bro~ic~ct~ the stream of data packets to each of the co."pul~ ~ 12 via the broadcast output 216 and the broadcast channel 218. The packet-merging hub 202 ~-~fe ably incll~des an ~mp!ifi.o~. 220 for amplifying the stream of data packets prior to broadcast on the broadcast channel 218.
With ~ itic~n~l reference to FIG. 19, each of the network int~rf~ce cards 204 in~lnd~s a local data input 222 connecled to one of the co~ ul~l~ 12 and a local data output 224 con~ ~ to one of the data channels 208. The data input 222 receives data packets genP~t~
by the computer 12 connected thereto, and the data output 224 provides the ~ .,.tt~rl data packets to the n~L~c,.k hub 202 via the data channel 208.
Each of the interfaces 204 also includes at least one broadcast input 226 colmecled to a broadcast output 228 with a broadcast processor 230 provided therebetween. The broadcast input 226 is connected to the broadcast channel 218 and receives the stream of data p~ t~, The broadcast processor 230 then determines which of the data packets are addressed to the local col"~uLel 12 and provides such data packets to the broadcast output 228 for delivery to the local WO 97nO271 PCTAUS96/18196 co~ ulei 12 for further processing.
Each of the interfaces 204 plefeldbly includes a local storage device 231 conn~ct~i between the local data input 222 and the local data output 224. The local storage device 231 is able to le:lllpuldrily store data packets generated by the local co---~uLel 12 when the FIFO device 210 collc~onding thereto is filled or nearly filled to capacity during peak operating conditions of the network hub 202.
More cpe~ifir~lly, when the network hub 202 is cim~lt~n~ously receiving data packets from the plurality of co.ll~lLI~ 12, data packets lelllpuldlily stored in the FIFO devices 210 may have to queue until the merging processor 212 is able to merge the lell~poldlily stored data 10 packets into the stream of data p~el~t~ As the FIFO devices 210 have a limited storage capacity, if data packets are being stored in one of the FIFO devices 210, waiting to be merged, and if the coll,~ulel associated therewith continues to generate and tr~ncmit data packets to the queueing FIFO device 210, then there is the possibility that the FIFO device 210 will reach its storage capacity before the merging ylocessol 212 is able to re}ieve the FIFO device 210 of the 15 ~~ oldlily stored data p~rl~rtc ~n this case, it is p,ert;l~dble for the FIFO device 210 to tr~ncmit a status signal or flag to the inlelrdce 204, inriic~ting that the FIFO device 210 is nearing or is at its storage capacity, or that the FIFO device 210 has surpassed a predeterrnined ~ercenldge of its total storage capacity, e.g., 95%. Upon receipt of the status signal, the interface 204 ~ ul~ily stores 20 already-gt;n~l~t~d data packets in the local storage device 231 until the FIFO device 210 has nlo~ d the stored data packets into the stream of data p~rk~.tc, It is preferable to send the status signal from the network hub 202 to the interface 204 on the same data channel 208 connecting the port 206 with the data output 224. In addition, the merging ~,oce~or 212 preferably monitors each of the FIFO devices 210 to determine which of the FIFO devices 210 25 are nearing storage capacity and, responsively, to merge the data packets from such FIFO
devices 210 into the stream of data packets rYreAiticusly.
In this status-signal embodimrnt the data output 224 of the intrrf~re 204 is incllld~ in a data port conne~t~ to the data ch~nn~-l, which data port also inrludl-.s a signal input for receiving the signal from the network hub 202. Accordingly, each of the data ch~nn~l~ 208 is 30 able to deliver data packets from the int~rf~ce~ 204 to the network hub 202 and is able to deliver the capacity-inriir~tiQn signal from the network hub 202 to the int~rf~ce 204, which two-way comml-nir~tic-n is indicated by the double-headed arrows of the data ch~nnPl~ 208 in FIG. 20.
To do so, the data ch~nnels 208 are ylc;rel~bly cable pairs, with one cable deflic~ted to the CA 02237406 1998-0~-12 W 097~0271 PCTAUS96/18196 tr~ncmicci~n of data packets and the other cable ~ lir~tPIi to the tr~ncmisciQn of the status signal.
Depçnr~in~ upon the particular topology of the network 200 to be implempntecl~ each of the interfaces 204 may also include a second broadcast input 232 co,.,.e~;led to another broadcast channel 234 and the broadcast processor 23~). The broadcast channel 232 may be connPctPd to a remote source, such as the TnternP~t~ a video server, or an electronic mail system, for receiving a remote stream of data pac~Ptc The broadcast p,oce~i)r 230 receives the remote stream of data p~k'pt.c, determines which of the remote data packets are addressed to the local COlllyut ~, and then provides such data packets to the broadcast output 228 for deliver to the local CO~ ut~
12.
With additional lGrelence to FIGS. 20 and 21, a plurality of the network hubs 202 may be serially cc"me.;Led into a multi-hub network 240. In order to do so, each of the network hubs 202 further incl~ Ps an expansion port 242 which is co"necLt;d to the internal bus 214 of the hub 202. The eYp~nciQn port 242 is provided with the same stream of data packets as that provided to the broadcast output 216 of each of the hubs 202.
To cascade the network hubs 202, the expansion port 242 of a first network hub is c~ nn~t~ to one of the ports 206 of a second network hub, thereby providing the stream of data packets from the first network hub to the second network hub, intlic~tPti by rereie,lce nllm-o,r~l 244 in FIG. 21. The merging p,ocessor 212 of the second network hub 202 then merges the stream of data packets 244 from the first network hub 202 with the data packets received at its other ports 206, gçnç~ting a combined stream of data p~ PtC
The expansion port 242 of the second network hub may then be connPctP~ to one of the ports 206 of a third network hub 202, thereby providing the combined stream of data packets to the third network hub 202, as in~ tP~ by reference numeral 246. The merging processor 100 of the third network hub 202 then merges the combined stream of data packets 246 with data packets received at its other ports 206. The stream of data packets merged by the third network hub 202 may then be broadcast to all of the colllpulel~ in the network 240 via the broadcast channel 218.
The network 240 with ç~ct aded network hubs 202 may also be connected to a remote source 248, such as the Internet, a wide area network, or an electronic mail system, for receiving a remote stream of data packets 250 from the remote source 248. Accordingly, each of the n~ Lwolh hubs 202 preferably include a first broadcast input 252 and a second broadcast input 254. As shown, the remote source 248 is connected to the first broadcast input 252. The - ~ . .. .
W 097nO271 PCT~US96/18~96 second broadcast input 254 may then be connected to another remote source for further eYp~n~ion of the network 240.
In the specific embodim~nt shown in FIG. 21, the expansion port 242 of the thirdnetwork hub 202 receiving the combined stream of data packets 246 is connt~t~d to the second broadcast input 254 by a jumper cable 256. By do so, the third network hub 202 is able to broadcast to all of the co~ )ul~ ~ in the network 240 both the stream of data packets from all the COlll~U~G1~ in the network 240 and the remote stre~m of data packets 250 from any remote source 248 that may be connected to the network 240. Each of the networlc hubs 2û2 may also include first and second broadcast amplifiers 258 and 260 for amplifying the iesl!ec~ e streams 10 of data packets to be broadcast over the two broadcast c~nnel.c 218 and 234.
Specific details l~ding the implem~t~tion of the above-described exemplary emborlim~ntc, as well as other embodiments according to the networking prinriI)les of the present invention, are diccucse~ at length in a book entitled WideBand Nen~orking by Dr. Roger E. Rillin~.c, which is available from the International Academy of Science of Tnd~pendrnre~
15 Missouri.
Those skilled in the art will understand that the ~lcceding exemplary embodiments of the present invention provide foundation for nu.l.~.vus ~ltçrn~tives and morlifir~tionc These other modifications are also within the scope of the wide bandwidth network technology of the present invention. Accordingly, the present invention is not limited to that precisely shown and 20 described herein.
BACKGROUND OF T~E INVEN~ION
Field of the Invention The present invention relates to Cuul~uLt;l networks and, more particularly, to cc,---~uk;r S networks in which data is co.u...~ t~i among a plurality of colupulel~.
D~s~liylion of Related Art Co...~ul~r neLw~.hing involves moving data from one point to another. Cor..pu~i networking or "interu~eldtionn usually begins with COIU~UL~1~ in the same office or the same building connected in a local network. The term "local area network~ or LAN describes a group 10 of colll~,u~ typically connPctPd by no more than 1,000 feet of cable which intc.~?eldte and allow people to share lesources.
In the late 1970s and early 1980s, ilupoll~ull work was done on LANs for a large number of col--~ulel~. An illlpoll~t set of standards and protocols called ''Fthprnptn was conceived and developed to the point of becoming a commercial product. At about the same time, another set 15 of standards and protocols known as "ARCNET" was developed. Soon thereafter, a third major n~wulhing technology known as "Token Ringn was developed.
With the rapid increase of interest in n~Lwolk~, particularly local area nelwu ~, clienttserver collll,u~ g is quickly becoming the backbone of data pl~ces~ g systems. As local area networks expand and as data processing tasks become more complex, networks become 20 more congested, rPsl-lting in poor p~lr l"~ance and requiring more comrlic~tPd customer in~t~ tions.
Many of today's applications require networks with high bandwidth capabilities.
n~t~h~ps are becoming larger and more sophi~tic~ted and are being ~cce~ecl by greater llu~llbel~ of users. Further, many industries have been migr~ting toward applications involving 25 high-resolution color graphics, which applications require high bandwidth to handle the large amount of data involved with this type of gr~phi~s In many application environments, it is often desirable to store executable files in central data servers or file servers, to which co,--~uler workstations in the network are connectçd, rather than on the local disk drives of work~t~ti~ n~. This is because the applir~tion programs must 30 be constantly ...~ i..Pd and updated to ensure compatibility with new peripherals and to take advantage of the latest revisions. This approach is ç~peri~lly advantageous in large org~ni7~tion~
WO 97nO271 PCT~US96/18196 where the teCIlnic~l labor requirement for llp~1~ting application programs at every W~
is impractical.
However, when a s~lb~ ial number of users (i.e., colll~ute.~) cimlllt~n~ously load program files over the network, bandwidth quickly becomes a seAous problem. Even r,e~wulh~
S with fewer than 100 wulk~l;.l;l ne can become unusably clnggi~h in pe,roll--ance when the users are actively loading and eYt~uting programs from, for .oYs~mple, the WindowsTM environmt~nt, over the r.~Lwo,k.
To alleviate these problems, the common wisdom has been to install more file servers and to divide the network into smaller local area networks conn~ct~ together by routers or 10 bAdges. While this approach has greatly improved ~c;lrulmance for many ol~n;,~ , it is costly and creates delays and complications when it is neces~y for users to share information over a wide area of the network.
The col.lyuLt;r industry is responding to these problems with a diversity of new and innovative products. Ethernet adapters with data rates of up to 100 megabits per second (Mbps) 15 are now commercially available and are quickly becoming affordable. Another approach, known as ~swilchillg hub technology,~ deAi~t.os a portion of the LAN to a single or small group of users. Many Token l~ing LANs have also risen to the ch~ nge to find ways to increase their ol"~lce and are operating at 16 Mbps.
Most n~lwulking m~n~ger~ are looking folw~rd to the introduction of Asyncll-vllo-ls 20 Transfer Mode (ATM) protocol as the solution to their neLwolhing bandwidth problems.
Although most analysts see ATM as the wave of the future, its emergence has been slower than predicted, because ATM doesn't neatly fit the layered models common to existing networks and the ATM cre~-ific~tion itself does not encompass such things as speed and protoco}s. ATM is a sophi~tic~t~d switch networking system that hosts an active application at each end. Although 25 it breaks data into 53-Byte ~Cells," ATM is not a packet switched or router network ~cl.;l~ ..e. In fact, for every stream of data sent, A'rM creates a virtual circuit among two or more points. Many on-line services, ne~:,~a~e.~, and cable television providers believe ATM, with its roots in a telecommunications effort to unify voice and data tr~n~mi~ions, is the pipe they need to deliver large amounts of inro....alion to a desktop or set top box. But for that to 30 happen, users will need faster PCs, ATM aware applications, and lower prices.F.xi~ing networks have achieved a degree of in~cl~pe~dbility through a foundation in the seven-layer Open Systems Intelcolmection (OSI) model. ATM, on the other hand, with its ~Ai~ ted point-to-point connections, is a clear deviation from current t~hnnl- gies. To CA 02237406 l998-05-l2 W O 97/20271 PCT~US96/18~96 implement the ATM approach, application software needs to be modified to become ATM
aware. This is n~cç~ry since the topology differences between ATM and today's nelwull~ing schPmPs will reguire logical decisions which, in some cases, cannot be adequately provided through customized physical layer intPrf~res and drivers.
S Network Interface Cards Network interface cards, so.~ ;...P-s called LAN adapters, function as an intPrf~e between the co~l~uL~r and the network cabling, linking the COI~ ULe1 to the network cable system. The card controls the flow of data between the co-"puLel's internal data bus and the serial stream of data on the n~lwclk cable. Some co",~uLel~ are provided with a network 10 intPrf~re card on the motherboard of the col.lpuL~l, but the cards are usually added to the cG~ ulel's expansion bus. Network intPrf~re cards also change the form of the co,-,puLel g~ P~ data from a wide parallel stream, e.g., 8 bits at a time, to a narrow stream moving 1 bit at a time in and out of the network port. Conventional n~lwolh intPrf~ce cards buffer data because the colll~)ul~l is typically much faster than the network.
Many network interface cards have a plucessor specially de~ign~d for on-board pluces~;r-g power. These processors are ~I-gm~.nteA by 8K to 64K of RAM and by speri~li7PA
scei~rers that handle the elPctric~l interface with the cable.
Network interface cards generate the el-octriç~l signals that travel over the network ca~le.
Each network interface card follows specific rules controlling access to the cable. Network 20 intPrf~re cards for Ethernet and Token Ring both use the same basic system of Plectrir~l ~ign5lling of the cable. A technique called M~nrh~.ster encoding provides a way to transmit Os and ls using direct current voltage pulses that range from --15 to +15 volts. The n~lwolh intPrf~re cards translate each eight ch~nges in the voltage level as a ch~r~rtPr in the ASCII data alphabet.
25 The Ethernet Protocol In the F.thPrn~t approach to networhing, each data packet issued by each cc~ puLer in the n~;lwolh is received by all the other colllpuL~l~ in the neLwulk. A colll~uLer monitors the network ~ to det~llllinc when the network is idle, at which time the con.~uLt:I may issue a packet. If the n~lwc.lh is busy, the colllpulel must wait. If two or more COIll~u~ determine that the network 30 is idle and Le~ecLively issue packets at the same time, a collision occurs. In busy F.th~mrt n~lwolh~, collisions occur frequently.
WO 97~0271 PCT~US9~18196 In an Ethernet network, the interface cards share the common cable by lictPning before they ~ S.IIiL and tr~ncmitting only during a break in the traffic when the channel is quiet. This teehnique is called earrier-sense multiple access with collision deteetion (CSMA/CD). With eollision detection, if two stations begin to tr~ncmit at the same time, they detect the collision, 5 stop, and retry after a sl-ffiçi~nt time interval.
The Token Ring Protocol Collisions are ~olimin~t~A by the Token Ring approach. In a Token Ring network, packets travel from co,--puLei to eomputer in a closed-loop ring. A packet will travel in this manner until the packet reaches its address, at whieh time it is read and removed from the ring by the 10 eo~"~uLer at that address.
Network int~rf~e eards for Token Rings use a eomplex media-aeeess eontrol schemeealled "token p~ccing n Whereas Ethernet eards eontend for access to the cable, Token Ring cards must have permission to transmit into a cable system that forms a complete el~tri~l loop or ring. Under this technique, the active cards negc LiaLe, using their built-in serial number, to 15 del~ -;n~ a master interfaee card. The master io;l;~l~5 a special mecc~ge called a free token.
When an int~rf~l e card with data to send receives a free token, it ehanges the free token into a message and sends it to the next station up the ring for relay. After the addressed interf~-~e eard receives the message and the mPcc~ge returns to the origin~ting interfaee card, that eard it~ te5 a new free token and the process begins again. As a drawback, a co",~ul~l must wait 20 for the marker before issuing a paeket. Further, if a paeket is addressed incol,ecLly or is otherwise undeliverable, the packet will enrlleccly circulate in the token ring. Tl-elGru,~, special means must be provided to keep the ring clear.
The ARCNET Protocol ARCNET network interface cards use a media-aceess eontrol schellle. A deci~n~t~d25 "master eard n ~ h~ C a table of all active network interfaee cards and poIls each network int~rf~re card in turn, giving permission to tr~ncmit More cpe-~ifi~lly, ARCNET uses a star eabling pattern with passive and aetive hubs that ean extend the cabling farther than Ethernet or Token Ring configurations. Networked devices share the cabling using an orderly polling scheme The inct~ller sets switches on each network 30 il-lr~ri~e eard, whieh gives the card a specifie number. The lowest numbered active card becomes a master controller. It sends a message tO each adapter in sequence, giving it CA 02237406 1998-0~-12 WO 97~0271 PCT~US96/18196 .
permission to IIAI~ any data it holds. The standard ARCNET signaling speed of 2.5 Mbps limits the IIIA~ 11111 throughput, although faster speeds have been recently developed.
The Asynchronous Transfer Mode Protocol An ATM network is configured much like a telephone network. An issued packet travels from the issuing coll~pulel to the receiving co~ ulel on a communication line that other Colll~u~ in the network are not currently sharing. Application software often needs to be morlifiP~l to be compatible with an ATM network.
SmMMARY OF T~E INVENIION
It is an object of the present invention to provide a network which mitig~tPs andlor obviates the aforementioned drawbacks of conventional nelwolhhlg protocols.
It is another object of the invention to provide a network in which data is commnnis~At in a highly efficient manner.
It is a further object of the invention to provide a network which operates much faster than existing r.elw~lhs.
It is still another object of the present invention to provide a network which has a large bandwidth.
It is still a further object of the present invention to provide a network in which data is sequentially gathered on a reception channel and broadcast to the computers on a delivery l~hzmnPl These objects as well as other objects, features, and benefits of the present invention are achieved by providing a co~ uler network in which data packets generated by the cc,."pu~,~
in the network are merged into a stream of data packets by a network hub, which stream of data packets are then broadcast to each of the colllpul~ in the network.
According to one aspect of the present invention, a co",~ulel network incln.1.os a plurality of COlllpu~l~ each having an interface, a plurality of data ~~.h~nnt-l~ each conne~l~d to a data output of the int~orf~ce of one of the colllpul~l~, a broadcast channel connected to a broadcast input of the interfac e of each of the colllpulel~, and a network hub connected to each of the data c rh~nn~l~ and the broadcast ch~nn~l Each of the colllpul~ls has a unique address and is capable of generating addressed data paclcets intPnded for delivery to another co",pules on the nt;l~olh.
The network hub includes a plurality of ports each of which is connected to a le~pe ;~ e one of the data chAnnel~ for receiving addressed data packets generated by one of the cCs~
W O 97~0271 PCT~US96/18196 and a broadcast output conn-octç~l to the broadcast channel. The network hub sequentially merges addressed data packets received at each of the ports into a stream of data p~r~t~. The stream of data packets are then broadcast to each of the co.l.~ul~ls in the network via the broadcast ~~.h~nnPl To merge the addressed data packets into the stream of data p~ Pt~, the network hub ;n~ es a plurality of storage devices and a merging processor. ~ach of the stoMge devices is connected to a respective one of the ports, and receives and len~oldlily stores the addressed data packets gçnPr~t~PA by the co,--puLer cc~nP~ted to the respective port. The processor is c~ nnP~ted to each of the stoMge devices and sequentially merges addressed data packets 10 te~lpul~uily stored by each of the storage devices into the stream of data p~ etc. An internal bus is cnnnectP~ to each of the storage devices and to the broadcast output for delivering the stream of data packets to the broadcast output.
One of the advantages of the present invention is that a plurality of network hubs may be c~c~dPA together. According to this aspect of the invention, the con.pu~er network in~ Ps 15 a plurality of network hubs, each of which in~ d~ps an ~yr~n~inn port The expansion port is connPct~A to the internal bus so that the eYr~n~iC)n port lecei~,es the same stream of data packets that are delivered to the broadcast output of the hub. To serially connect the network hubs, the p ~ ;o,l port of one of the network hubs is connected to one of the ports of another network hub. Therefore, the stream of data packets from one network hub may be merged with the data 20 packets received at the ports of another network hub, thereby forming a combined stream of data packets which is broadcast to the colllpùlel~ of the network.
According to another aspect of the present invention, the network hub may communicate with the int~rf~-~e of each of the collli)uLel~ to in~ te whether the co.,.pu~el may transmit data packets to the network hub for merging. Sper-ific~lly, when one of the storage devices of the 25 n~l.40lk hub is filled or nearly filled to capacity with lelll~oldlily stored data p~cl~t~, the network hub may send a status signal to the intPrf~-e corre~ron~iing thereto, in-iic~ting that the storage device is near capacity. Accordingly, each of the intPrf~es jn~lud~ps a local storage device for lel--pol~ily storing addressed data packets gçnpr~ted by the co,llyu~r upon receiving the status signal from the network hub, until the merging processor has emptied the storage 30 device.
Other ~pecP, f~alur~s, and advantages of the present invention will become ~e to those skilled in the art from a reading of the following detailed description with rt:f~ ce to the acco,npanying drawings.
WO 97n0271 PCT~US96/18196 BRIEF DESCIUIq~ON OF THE D~A~NGS
FIG. I is a block ~ gr~m of an exemplary embodiment of a CO~ )u~el network implemented according to networking principles of the present invention;
FIG. 2 is a block rli~gr~m of a co~ uler network illn~trating networking principles of S the present invention, particularly illustrating a chain of stations connected by a s~u~nlial reception channel and a s~hl~lr delivery ch~nnPl;
FIG. 3 is a block ~ pr~m of an exemplary embodiment of a network hub configured in accordance with ntlwu~ g principles of the present invention;
FIG. 4 is a block ~ gr~m of an exemplary embodiment of a network interface card 10 configured in accordance with ne~wolhillg principles of the present invention;
FIG. SA is a block ~ gram of an eYçmplary method of merging data packets impJPmPntP~l in accordance with the networking principles of the invention;
FIG. 5B is a block diagram of another exelllplaly method of merging data packetsimplP-mPntPd in accordance with the networking principles of the invention;
FIG. 6 is a block ~ r~m of an exemplary embodiment of a network having Illil~ d servers implPmPntP~l in accordance with networking prinrirlPs of the present invention;
FIG. 7 is a block ~ pram of an exemplary embodiment of a network hub for use in a illul~ d-server network configured in accordance with the invention;
FIG. 8 is a block ~ gr~m of an exPmrlary embodiment of a wide area network 20 impl~PmPntP~ in accoldallce with networking rrinrip1Ps of the present invention;
FIG. 9 is a schP.m~tic view of an ext;lll~ embodiment of a colll~ut~r nelwolh implement in accordance with the present invention, particularly illustrating a file-server network configuration;
FIG. 10 is a schPm~tic view of an exemplary embodiment of a network interface card 2~ implPmPntP~ in accordance with the invention;
FIG. 11 is a schPmatir view of an exemplary embodiment of a COIIIIJUIeI network imple.mPntP~ in accordance with the invention, particularly showing a dual file-server network configuration;
FIG. 12 is a s- hP-m~tic view of an exemplary embodiment of a network hub implPmPnt 30 in accoldal~ce with the present invention;
FIG. 13 is a schPm~tic view of an eYPmpl~ry embodiment of a co~ uler network imp1~PmPnt~ in accordance with the invention, particularly showing a wide area network configuration;
W O 97~0271 PCT~US96/18196 FIG. 14 is a schematic view of an exemplary embodiment of a cc,l.lpul~r network implrmPnt~1 in accordance with the present invention, particularly i~ str~ting a wide area network configuration with access to the TntPrnet FIG. 15 is a schçm~tic view of an exemplary embodiment of a co~ ler network 5 implPm~nted in accordance with the present invention, particularly showing a wide area network configuration with access to a mail server;
FIG. 16 is a srh~m~tic view of an eY~-mpl~ry emborlimt?nt of a compuLer network impl~ m~ntP~ in accordance with the present invention, particu}arly showing a mirror-server configuration;
FIG. 17 is a schPm~fi~ view of an eYPmpl~ry embodiment of a ccul~ult:r network impl~mPnt~ in accordance with the present invention, particularly illustrating a video-server n~ lw~lk configuration;
FIG. 18 is a block ~ Er~m of another exemplary embodiment of a network hub illustrating packet-merging principles of the present invention;
FIG. 19 is a block ~ Er~m of a neLwc,lk interface card for use with packet-merging network hubs;
FIG. 20 is a block ~ gr~m of a further rYemrl~ry embodiment of a network hub in accoldance with the present invention; and FIG. 21 is a block ~ Er~m of a plurality of packet-merging network hubs C~C~
logeL~ according to the present invention.
DETAILED DESCRn~ON OF T~E PREFERRED E~BOD~MENTS
Networking principles of the present invention are eYçmrlifird by the embo~lim~nts illustrated in the drawings. These principles focus on a two-channel approach to Co~ tin~
data within a network environm~nt Exemplary embodiments of these networking prin-~iples may take different forms, many of which are illustrated in the drawings. However, the di~rln~llre herein will detail specific plefell~d embodiments of this novel approach to networking and will not provide an exhaustive description of all embo-iimPnt~ within the scope of the nelwo.killg principles set forth herein and ;n the appended claims.
The Network Referring to the drawings, particularly to FIG. 1, a network 10 implemented according to the principles of the present invention is shown. The network 10 utilizes two sep~r~tp W O97/20271 PCT~US96/18196 t~n~miccion ch~nnel~ to cou,ll,u"icate data within the network 10. One of the tr~ncmiccion h~nnPlc sequentially routes data issued from computers in the network 10 through the colllpuL~l~ in the network. The other tr~ncmic~i~ n channel bro~-lc~ctc this routed data to all the colllyu~ in the network 10. As known in computer n~lw~.khlg~ data gener~t~ by colllpul~l~
S is typically in the form of data p~ tc Each data packet in~t~cles not only the data gcn~,dled by the co"~yuler but may also include addressing information, error detection information, and so on, so that each packet may be an addressed data packet.
More specific~lly, the network in~hldes a plurality of con,yuLt;l~ 12, preferably being capable of ge"c dting data, in comm--ni~tion with each other via communication media. Each of the colllyuk;l~ 12 is provided with a network interface card (NIC) 14. A network hub 16 inlerco~ Pr~tc the plurality of network interface cards 14, thereby interconnectin~ the colllyuLt;l~
12 of the network 10. The network hub 16 also comm--nic~tes via a broadcast output 18 thereof with a broadcast input 20 of each of the network interface cards 14.
The interf~-~e between the co,,,yuLer 12 and the network interface card 14 allows the co-llyu~l 12 to generate data packets and to provide these generated data packets (i.e., local data packets) to the network interface card 14 for tr~ncmiccion to the network 10. The interface also allows the nt;lwolh interface card 14 to provide the ~;:OIII~)U~t;l 12 data packets received from the nelw~,lh or from a remote source (i.e., remote data packets).
As ill~-str~ted in FIG. 1, the COIll~uL~.~ 12 are connected in the form of a chain of computers beginning with a first computer ~i.e., Cc,ll,yuL~r 1) and ending with a last coll,puLe (i.e., Coll,yuL~l N) in the chain. In linking the computers 12 in this manner, data generated by Co"~yuLel 1 is sent to the network hub 16 which in turn sends this Computer 1 data to Co"~yu~er 2. In addition to sending the Co~yule- 1 data back to the network hub 16, Co",yule- 2 may also generate and send its own local data to the network hub 16. The network hub 16 then sends the Co",yuLe- 1 and Co",puleL 2 data to Co~yuLer 3. This sequential linking of the COIllyu~ , 12 colllil,ues through to the last computer in the chain, i.e., Co~y~Lel N. The last co~yulel, however, is not linked back to the first co",pulef.
Computer N receives remote data packets from the network hub 16, which remote data packets are data packets generated by any one of or all of the coll~ulel:i preceding Co-l~L~uLer N in the ncLwo.k (i.e., Co---~uLef 1 through CoulyLIler N--1). Computer N sends these remote data packets back to the hub 16, and may add local Collll)ul~. N data packets to the chain of data pal ~f'tC, Therefore, data packets received by the network hub 16 from the last co."~uLef in the chain of colll~uLe-~, i.e., Computer N, are the data packets generated by any and all the WO 97~0271 PCTAUS96/18196 co~ uL~.~ 12 in the network 10, which may be called "network data packets." The ~ W~
hub 16 then br~-lr-~ct~ these network data packets to all the network in~erf~ce cards 14 in the network 10. Each of the network interface cards 14 then in turn provides these network data packets to the co~puLer 12 connectPd thereto. Accordingly, all the computers 12 in the network S 10 receive any data packet gçnP~t~ by any of the computers 12 in the network 10.
In view of the fol~going description, the networking princiries of the present invention may be described as a network in which (1) data packets are sequentially gathered from the co",putei~ in the ncLwolh on a reception or packet assembly mPAillm and (2) the sequentially gathered data packets are delivered to all the cO",~u~ in the network at the same time on a 10 delivery or packet broadcast mPAillm A block ~ m illuctr~ting this novel networking principle is shown in FIG. 2. Thenetwork 10 inclucies a plurality of nodes or stations 22 (each station 22 plerel~bly incl~ ing a computer and a network interface card) through which data packets issued by the stations 22 are sc~uel,Lially chained and routed on a reception m~ium 24. The last station 22, i.e., Station N, 15 provides the sequentially chained and routed data packets to a broadcast unit 26 which bro~-lr~ctc these data packets from the last station to all the stations 22 on a delivery mtoAinm 28, shown in dashed line.
In order to describe the present invention as clearly as possible, generic terms for many of the devices and ideas common to networking t~ehnology are used. For example, in ~ 1ition 20 to the term "data" mentioned above, the term "co~ ul~l" iS used to ~srrihed any electronic device capable of being connected within a network, inclurling co",pull;r wolk~ onc~ file servers, colllpule- ~)e~ e~dls (which may not be capable of generating data to send over the network), and so on. The term "station" is used to describe a computer coupled with a network int~rf~ce card. The term '~communic~tinn media" encompasses all media forms used to 25 comm~lni~tp data, including, ~or example, coaxial cable, twisted-pair cable, fiber optical systems, infrared systems.
Th.o Network Hu~
A network hub impl~mPnt~d according to the prin- iplP~5 of the present invention is shown in FIG. 3. The network hub 16 may function a_ a media access unit by configuring the 30 col.~ tinn media of the network 10 into a reception or packet assembly channel for s~ue~ ly routing data packets through the last co"lpuler in the network and a delivery or packet broadcast channel for bro~ ing data packets routed through the last computer in the CA 02237406 1998-0~-12 W O 97~0271 PCTrUS96/18196 network to all the co~ )uLel~ in the network.
In order to do this, the nclwolh hub 16 inc~ les a plurality of input-and-output pairs 30.
Each input-and-output pair 30 has an input 32 and an output 34 paired together. Each input-and-output pair 30 co,ll"lu~ tt~s with the network interface card of a station or co~ ,ule~ of the network 10 via the delivery channel 24 as described above. The input 32 of each input-and-output pair 30 is conn~ct~A to the output 34 of another input-and-output pair 30, shown by c~nn~t~ 36. Accordingly, data packets issued by a first station are received by the input 32 of a first input-and-output pair 30 and are then provided to the output 34 of a second input-and-output pair 30, which data packets are then sent to a second station. The input-and-output pair 30 co----llu~ tin~ with the last station in the network, i.e., Station N, provides data packets received by the input 32 thereof to a broadcast ~mplifi~r 38. The broadcast ~mplifi~r 38 then provides these data packets to the broadcast output 18 to be broadcast to all the stations via the delivery channel 28.
The Network Interface Card A n~:~w~lh int~rf~re card implemented according to the principles of the presentinvention is shown in FIG. 4. The n~lwolh interface card 14 in~ des a remote input 40 and a remote output 42, each of which is connectable to the reception meAillm 24. The remote input 40 receives data packets from one of the input-and-output pairs 30 of the network hub 16 and provides these data packets to the remote output 42. The remote output 42 in turn provides the data packets to the next input-and-output pair 30 sequentially in the hub 16.
The network interface card 14 further inrhl(lçs a local input 44 which is com~e~;~ble to the colll~uLe~ 12. The locaI input 44 is in commllnic~tion with the remote output 42. The local input 44 receives data packets from the co,l-~uler to which it is connected and provides these data packets to the remote output 42 for tr~n~mic$ion to the network hub 16 on the reception m~Ainm 24. The remote input and output 40 and 42 and the local input 44 are concerned with the g~th~ring, merging, and routing of data packets in the network on the first tr~ncmicci~n meAi~lm 24.
Regarding the h~n-1ling of data packets on the delivery mrAillm 28 of the network 10, the network interface card 14 further includes at least one but preferably two broadcast inputs 46 and a local output 48 in commnnic~til n with the inputs 46.
The first broadcast input 46 is connectable to the delivery me~inm 28 of the network, receives the broadcast network data packets from the broadcast output 18 of the r.el~olk hub W O 97~0271 PCTAUS96/18196 16, and provides the broadcast data packets to the local output 48. The local output 48 then provides the network data packets to the co~ uLel to which it is connr~t~1 Either the network interface card 14 or the computer to which it is coupled may detrrmine which of the data packets of the broadcast data packets are addressed to the c-""~uLGr.
According to the e~ pl~ry embo-~imrnt shown, the n~lwu.k intrrf~re card 14 may include a broadcast processor 49 connected beLween the broadcast inputs 46 and the local output 48. The broadcast plùce...o, 49 receives data packets from the broadcast inputs 46 and determines which of the data packets are addressed to the local COIIIPULG1. The broadcast P1OCeSSOI 49 then transmits the data packets addressed to the local colll~ùL~l to the local output 10 48. In other words, the broadcast processor 49 monitors data packet traffic and capLI~eonly those data packets fulfilling the address r~ui.~l"ent progrAmmP~l by the local co"l~uLel. The network interface card 14 may additionally indude a memory device for storing address, as well as other, information.
If both broadcast inputs 46 are receiving data simlllt~n~usly, the broadcast ~OCe.,,SOl 49 may toggle the conn~ction between the broadcast inputs 46 and the local output 48. This may take p}ace under software control from the local co,-,~uler. Further, the computer may decide which of the broadcast inputs 46 to monitor and receive data from under different circl-m~t~n~ ~s Thr Packet-Mer~in~ System In order to rfficiently route data packets sequentially through the chain of network inte~f~re cards 14, each of the network interface cards 14 merges local data ge~ P~i by the colll~ulel 12 with any remote data being received at the remote input 40. With continued ~f~le,lce to FIG. 4, the network intrrf~re card 14 in accordance with the present invention may also include a merging processor 50. The merging processor 50 is in co....,~ ir~tion with the local input 44, the remote input 40, and the remote output 42. The merging processor 50 al~l"aLi"gly tr~n~mit~ to the remote output 42 local data packets received at the local input 44 and remote data packets received at the remote input 40. The merging ~r~cessol 50, upon receiving local data from the local input 44, creates the local data packet to be sent out to the network via the reception medium 24.
The ~GrGll~d embodiment of the network interface card 14 also inrlll-les a local storage device 52 and a remote storage device 54. The local storage device 52 is connected belwGell the local input 44 and the merging pluce~sol 50. The local storage device 52 receives data packets W O 97~0271 PCTAUS96/18196 received at the local input 44 from the col~lpuLer and provides these data packets to the merging prucess~l 50. The remote storage device 54 is connected between the remote input 40 and the merging ~rocessol 50. The remote storage device 54 receives data packets received at the remote input 40 and provides these data packets to the merging processor 50.
S With ~ tion~l reference to FIG. SA, when local data packets are received at the local input 44 (block A) and loaded into the local storage device 52 (block B), the merging ~uCeSSu~
50 detects the change in status of an ~empty" flag in the local storage device 52. The local data packets are then immPAi~tPly released to the merging processor 50 ~block C) and ll;~ ed to the network (block D) via the remote output 42. However, if the merging ~,~,ce~oL 50 is currently busy tr~n~mittine remote data packets (path E), the local data packets are then stored in the local storage device 52 (block F) until the merging processor 50 has ~ the remote data packets to the network and is no longer "busy, " at which time the local data packets are release by the local storage device 52 (block C) and tr~n~mittPA to the network (block D).
If remote data packets are received at the remote input 40 (path G) while local packets are being released and tr~ncmittPA. to the n~lwo,k, then the release and tr~n~mi~ion of local data packets is pler~l~bly l~lnL)oldlily sl~cpçnded in order to transmit the remote packets through the network interface card 14 first, with any rem~ining local data packets tr~n~mitt~d lher~r~r. In other words, the tr~n~mi~cinn of remote data has priority over the tr~ncmis~ n of local data.
Upon receiving remote data p~kPtc, the remote packets are loaded into the remote storage device 54 (block H) and any yet unreleased (and untr~n~mitted~ local data packets are stored in the local storage device 52 (block I) so that the remote packets may be released to the p,oc~or (block J) and tr~n~mitted to the network (block K). When the received remote data packets have been tr~n~mittt~A, any re.~ ing unreleased local packets may then be released and ~ (ed (path L and blocks C and D).
This priority ~,inciple is ~ltPrn~tively illustrated in FIG.SB. AS mention~i above, local data packets are received at the local input 44 ~block M) and loaded into the local storage device 52 (block N). Simil~rly, remote data packets are received at the remote input 40 (block O) and loaded into the remote storage device 54 (block P). If local data packets are received and the merging ~,ucessor 50 is busy with remote data p~ckP~, the local packets are then stored in the local storage device 52 (block O). If the processor 50 is not busy with remote p~kPt~, then the local packets are released to the processor 50 and tr~n~mitted to the network until remote data packets are received (path S). When remote packets are received (block O), the p,uces:,or 50 will transmit any released local packets to the network (block T), and any unreleased local W O 97~0271 PCT~US96/18196 packets are stored in the local storage device 52 (block U). Thereafter, the received remote data packets are released to the merging processor 50 and tr~n~mitt~i to the n~wo~k (block W).
After all the remote packets have been tr~ncmittPd (path X), the release and t~ncmitt~l of the local data packets may continue (block R). This entire process takes place at high speeds.
S If no local packets are being released and tr~ncmittPd to the network and remote data packets are received at the remote input 40 (block O) and loaded into the remote storage device 54 (block P), then the merging processor 5Q detects the change in status of an "empty" flag in the remote storage device 54. The remote data packets are then i.~....P.I;z~ y released to the pr~cessol 50 (block V) and ll;1n~ d to the network (block W) via the remote output 42.
10 The Mirrored-Server Topolo~y The networking principles of the present invention may be implPm~nted in many various network topologies. One such topology is a mirrored-server network which is a network having two file servers, one mirroring the other. Both file servers are configured to contain the same data, i.e., to ~mirror" one another. Therefore, if one of the file servers çr~chrc, the entire 15 system will continue ~e,~thlg on the still-f mcti~ning file server.
Mirrored-server topologies are typically implf mf ntP~ in client/server networks. A
client/server network has a plurality of user W~JI k~l~l icmc (or "clientsn) and a central file server (or "servern) to which the ~3lk~ n~ are connP~tPA This is also called server-based nelwolkillg. In contrast to peer-to-peer networks in which workstations address data packets to 20 each other, the work~t~tionc in a client/server network typically only address data packets to the file servers, with the file servers addressing data packets to the workstations.With reference to F IG. 6, a network 56 with ~ Jred servers implPmPntec1 in accordance with the present invention is shown. The network 56 innl~ P5 a plurality of woll~lions 22 (each workstation 22 preferably inçlllfling a co-..pu~. and a network interface card) and a pair 25 of file servers 58 connected together with commnnic~tion media. Each of the work~t~tionc 22 genP~tes data packets intel~ded for delivery to the file servers 58, and each of the file servers 58 ge~ tfs data packets intf~nded for delivery to the w~.k~ ;onc 22. The comm--ni~tion media through which the work~t~tionc 22 and the file servers 58 co....,.u.~icate in~ les a plurality of ch~nnplc~ e.g., C~h~nnPlc A to E, as described below.
Each v~f~k~l;llion 22 ~except the last workstation in sequence, i.e., Workstation N) delivers data packets to the next workstation 22 in sequence on Ch~nnel A, and e ach workstation 22 (except the first workstation in sequence, i.e., Workstation 1) receives data packets from the CA 02237406 1998-0~-12 W O 97~0271 PCT~US96/18196 previous workct~tion 22 on t~h~nnel B. Ch~nn~lc A and B are thus configured in a packet assembly ch~nnel Workstation N delivers these sequentially routed data packets to a broadcast unit (on Channel A). The broadcast unit 60 bro~rlc~ct~ data from the ~o.k~ ;onc 22 to both of the file servers 58 on Channel C which is a wol k ~ ;on broadcast çh~nnPl Therefore, both S file servers 58 receive the same data p~ PtC
The file servers 58 each generate data packets, the same data packets in a ~ lulcd-server configuration, to be delivered to the wo~k~ tions on se~,,.tt broadcast çh~nnPlc. File Server 1 provides a first server broadcast unit 62 with addressed data packets which then bro~lc~ctc these File Server 1 data packets to the wolh~Lions22 on Channel D which is a first 10 server broadcast ~~h~nnPl Similarly, File Server 2 provides a second server broadcast unit 64 with addressed data packets which then bro~lc~ctc these File Server 2 data packets to the workcPtions 22 on f~h~nn~-l E which is a second server broadcast ch~nnçl Each of the workct~tions 22 then receives the File Server 1 and 2 data packets on a first and a second server broadcast input connected to Channels D and E, l~e~ rely. Accordingly, if one of the file 15 servers 58 cr~ches, the network 56 will continue to function on the still-functioning file server 58. Each of the wo.k.~il;.lionc 22 iS then able to toggle between the first and second server broadcast inputs to determine which data packets to receive.
According to another exemplary embodiment of the present invention, rather than address data packets only for the file servers, the workstations 22 may address data packets for delivery 20 to another ~o~k~l;lion. In this case, each of the file servers 58 may merge data packets genPr~tP~I thereby with the workstation data packets received on (~h~nntol C, which is shown by the dashed line in each file server 58.
The Mirrored-Server Network Hub With additional reference to FIG. 7, a network hub 66 implçmPnte~ in accordance with 25 the present invention is shown. As described with reference to the network hub 16 shown in FIG. 3, the network hub 66 configured for a IllLlur~d-server environment includes a plurality of inputs 32 and outputs 34 formed into input-and-output pairs 30 which sequentially assemble data packets gPnPr~t~-A by Stations 1 to N on Ch~nnel~ A and B of the communication media.
The hub 66 also inchldçs a wo.k~,~Lion broadcast output 68 for tr~n~mittinf~ data packets which 30 have been sequentially routed through the last workstation 22 in the network (i.e., Station N) to the file servers 58.
The mirrored-server network hub 66 has a first server broadcast input 70 connPctPli to W O 97~0271 PCTfUS96/18196 the first file server 58 (i.e., File Server 1) and receives data packets gener~t~ by File Server 1 via Ch~nnpl D. The hub 66 also has a second server broadcast input 72 connPctPd to the second file server 58 (i.e., File Server 2) and receives data packets generated by File Server 2.
The first and second server broadcast inputs 70 and 72 are respectively connected to the first 5 and second server broadcast units 62 and 64. Upon receiving data packets from the server broadcast inputs 70 and 72, the server broadcast units 62 and 64 lcsl,e~iLi~ely broadcast via Ch~nnP-lc D and E these received data packets to the work~t~ti-nc 22.
The Wide Area Network The nt:Lwolking prin~ s of the present invention are not limited to peer-to-peer10 networks or c}ientlserver networks but may be implemPnted in wide area ne~ olk~ as well. With reference to FIG. 8, a wide area network (WAN) 78 in accordance with the present invention is shown. The WAN 78 includes a plurality of local area networks (LAN) 80 in commllni~ ~tic n with a remote source 82. Each of the LANs 80 is comprised of a plurality of stations 22 in commnnic~tion with a network hub 84 via commnni~tion media. The remote source 82, which may be, for example, another network, a file server, a mail server, etc., co.. ,.. ic~tes with the network hub 84 of each of the LANs 80.
The stations 22 of each LAN 80 sequentially gather data packets on Ch~nn~lc A and B
of the communication media. A LAN broadcast unit 86 of each hub 84 then br~flc~ctc the data packets from the stations 22 to the stations 22 on Ch~nnPl C. This is p~lrc,l,l.ed analogously to the PY~rnrl~ry embodiments described above.
When the remote source 82 gen~r~tss data packets to be delivered to the stations 22, the remote data packets are broadcast by the remote source 82 to each of the LANs 80 in the WAN
78. A WAN broadcast unit 88 of each of the network hubs 84 receives the remote data packe~s from the remote source 82 and bro~-~c~ctc the remote data packets to each of the stations 22 on t h~nn~l D of the cornm~lnic~tion media.
In view of the description of networking principles of the present invention provided above, the network interf~ce cards 14 and the network hub 16 do not re~uire cperi~li communication media to implement a co~l~uLer network according to the present invention.
Most typec of cable available on the market are able to carry the reception and the delivery çh~nnPlc 24 and 28, which will be .1i~cl-cc~d further below.
W O 97~0271 PCT~US96/18196 Implementation of Pl~re--ed Embodiments With reference to Fig. 9, a network 110 in~lu~les a file server 112 in commllnic~tion with a plurality of workqt~tiorlq 114 via a network hub 16. The file server 112 may include a proceqqing unit or co~ uLt;l 118 which may incol~o,dl~ any number of devices inrln-ling 5 internal and ~rtPrn~l disk drives, microprocessors, and so on as is hnown in the art. Simil~rly~
the wl~lk~ nnc 114 each may include a processing unit or colll~uler 120 which in turn may include internal and external disk drives, processors, and so on as is known in the art.
The network 110 further in~ es a plurality of network interface cards 14. The data server 112 and each of the wulh~lalions 114 is provided with a network int~rf~e card 14. The network interf~l-e card 14 may be housed inside the COlllpUlt;l~ 118 and 120, as shown in FIG.
9, or provided as a separate, stand-alone unit in communication with the colllpul~l~. With additional reference to Fig. 10, each of the network interf~e cards 14 may be in the form of a cu~ ul~r card with an interface bus 124 for connection with the respective co-l,pul~l 118 and 120. The various connectionq between the network int~rf~e card 14, the network hub 16, and the p.ocessor units 118 and 120 may be made with known cables, which will be ~iiqcuqqed in detail below.
The network interface card 14 preferably has three network inputs B, C, and D and one r.~.~wulk output A, each in the form of cable pairs. Input B is a remote input while inputs C and D are system broadcast inputs. Output A is a combined output of the network interface card 14, lJlefeldbly comprising cable pair 1 of the conne~;~or. Each of these connections has a specific and de~i~n~tecl pul~ose in the wide bandwidth technology of the present invention.
The network interface card 14 may include a remote input first-in-first-out (FIFO~
memory device 126 in communication with remote input B, and a local data FIFO memory device 128 in commnnic~tion with the processor of the server 112 or the res~ec~ e w-~k~ inn 114 at which the network adapter 14 is located. The ne~ulh adapter 14 may further include a micluprocessor or state m~- hin~ 130 in co-,-",u,.ication with the FIFO memory devices 126 and 128. The combined output A is output from the state m~hine 130. Accordingly, data packets that are input to the network interface card 14 through remote input B are combined in the state m~rhint- 130 with locally tr~n~mitt~d data from the local FIFO 128 and then sent to the hub 16 via the combined output A.
Turning briefly to conventional networhing arr~ng~mt~nt~, FthPrn~ot-type schemessynchronize data tr n~mi~cions from one coll-~ulel to other computers on the local area network through a technique of data collision detection and recovery. In these contention-type networks, CA 02237406 1998-0=,-12 WO 97nO271 PCT~US96/18196 _, _ a con~ ~hle lue--;e.l~ge of network bandwidth can be lost through data collisions when the network is under heavy lltili7~tion.
The ntLwulking technology of the present invention, however, is a co~nttontionless protocol. Data collisions are prevented by a loop-through a~luach which is accomplished in S the neLwolk int~ r~ce card 14 or hub 16. Data packets from other colllpul~,~ or wo. k ~ nc 114 enter the adapter 14 through remote input B. These incoming packets are stored in the remote input FIFO memory device 126. The remote input memory device 126 is sized with adequate depth to enable the LelllL)oldl y storage of the largest packet supported by the network 110. Local data, that is, data generated by the workct~tion 114 at which the specific network adapter 14 is 10 located, to be l.d~ Pd is loaded into the local data FIFO l-,e---o-y device 128 through the int~rf~ ~ bus 124 with the computer unit 118 or 120. The task of m~n~ging the syncl~lu,~ li of packets to be tr~ncmitted is accomplished by the microprocessor or state m~rhine 130.
When one of the network interface cards 14 begins to receive a remote packet of data at remote input B, the state machine 130 detects the receipt of the packet of data by det~ctinE
15 a change in the status of the "empty" flag of the FIFO memory device 126, thereby ci~n~lin~
the begin~-;n~ of the arrival of an incoming data packet. Upon such det~ction, the state m~r.hir..o 130 imm.oAi~ y begins l".n.~",illh~g, via co~-.bi,led output A, the incoming packet. In those j"~ es when the local machine or w~,rk~t~tion has created a packet of data fûr tr~ncmicci~,n and where the empty flag of the remote input FIFO memory device 126 in~ t~$ that no remote 20 packet of data is being received, the state m~rhine 130 then t~n.cmi~ a local packet at the local memory device 128 via the combined output A.
If a remote packet of data is received by the state m~chine 130 from the remote FIFO
126 while the state machine 130 is in the process of tr~n~mitting a local packet of data from the local FIFO 128, the remote packet is stored in the remote input FIFO 126 and is l"".',..;llP~d im mloAi~tely upon completion of the tr~nsmi~.~ion of the local packet. As the combined output A pl~,feldbly t~n~mi~ at the same data rate as remote input B and as the remote input FIFO
has the capacity to store an entire incoming packet of data, data overflow does not occur. By this method, local packets of data are insertable into the data stream to be output from output A.
System broadcast inputs C and D have a special and unique function within the wide bandwidth network 110. The adapter 14 has the ability of inputting data through either input C
or D, one at a time, selectable under software control (stored on and activated by, for eY~mrl~, the processor units 118 or 120). As will be shown later, the two system broadcast inputs C and W O 97~0271 PCTrUS96/18196 D input data to the local m~chine (i.e., the server 112 or workstation 114 at which the adapter is located) and can be used in a diversity of methods depending on the requirements and restraints of the individual inct~ tion.
With further reference to FIG.9, the wide bandwidth network interface card 14 is shown inct~ d in a LAN configuration. In this exemplary embodiment, one of the workct~tionc 114, for ~Y~mrle, workstation 1, initi~f~c a "chained" data stream. Local data ~e~ A at workstation 1 is transmitted over the network 110 by workstation 1 and travels to the hub 16, where the workstation 1 local data is rerouted or Ucombined~ to remote input B of the network adapter 14 located at workstation 2. As Aes~rihed in above, workct~tion 2 syncl.lu~li2e~ the tr~ncmiccion of w~-k~ ;cn 1 data with its own local data trAncmiCcion, sending the combined output of workstation 1 and 2 local data to the hub 16 via combined output A where this combined data is chained to workstation 3. Workstation 3 in tum synchronizes the trAncmiCci~ n of wolh~iion 1 and 2 data with its own local data trAncmiCcion, sending the combined output of workstation 1, 2, and 3 local data to the hub 16 via combined output A. In other words, tr~n~miccionc from the combined output A of wnrkct~tion 3 contain the combined queries or tranSmicsions of all the wo,k~tions 114 of the network 110, which wolk~Lions 114 number three in this example. The wulh~l~lion 3 tr~ncmiceions are in turn chained through the hub 16 to the data server 112.
Although in many inct~ tit~ns the data trAncmiccionc from the workstations 114 are addl~ssed to server 112, the cre~ifi~lly addressed data tr~ncmiCCinns are not "picked-off~ the data stream at this time. Rather, these combined trAncmiCciQns are synchronized with the output A from the server 112, the combined result then le(~ g to the network hub 16. The hub 16 includes a system broadcast Amrlifi~r 132 which receives the combined tr~ncmicci-nc from the data server 112 and outputs the system broadcast tr~ncmic~ion D.
An ey~mpl~ry process for addressing data packets may include the following steps. Prior to the trAncmiCci- r' of each packet, the co."puler loads into the network int~rf~-e card 14 the A~stin~tion and source MAC addresses. A MAC address is a unique number ~ccignPA to every network interface card 14. The first 48 bits of the MAC address are the vendor~s ID ~ccign~
to that vendor by the I.E.E.E. The last 48 bits are a distinguishing number for each board ~ccignoA by the m~nllf~c~tllrer of the board. The sender's source address is stored in permanent memory on the network interface card 14. During the start-up and initi~li7~tion procedure, the col"~ulel reads the MAC address of the network interface card 14 connected thereto. The conl~>ut~ l then loads the address into a register at an a~l,r~pliale time. From the data loaded in WO 97nO271 PCT~US96/18196 the register, the network interf~z~ce card 14 creates and sends the addressed data packet.
An exemplary process for receiving data packets may include the following steps. The network intPrfzt-e card 14 receives an address from the co".~uter for the desired packet. Most of the time, this address would be the local MAC address of the particular network interfz~e S card 14. At other time, other addresses may be used. For example, a promi~c~-ous mode utilized by network-monitoring products is pro~r, mmPc1 to receive all packets with all labels. There may be another address for broadcast pzl~l~tc. After the network int~-rfzt~e card 14 is p~g"l."m~
with a receive address, the network int~rfz ~e card 14 then ~uLu~ ~ ~z~l irzllly monitors packet traffic and ~U1GS only those packets which fulfill the address re~uirement of the COIIIPUlGr~
T~hlrninf~ to the embo-liml~nt shown in FIG.9, in wide bandwidth terminclogy, "system broadcast" or WideCastTM is used to refer to a signal or tr~ncmic~ion which is cimllltz nPously sent to a number of COIII~ULG1~ workstations, servers, etc. In the example illustrated in F~G.9, system broadcast output D is delivered cimllltztn~ously as system broadcast input D to each of the w~..k~ t;ons 114 and to the server 112. The system broadcast output D signal is delivered to every COIII~UIG1 connP~tçd to the hub 16. (This connection has been omitted from the dl~win~ç for the sake of clarity.) System broadcast output D is ~!lG~lably t~ncmitt~d over pair four of the un~hi~k~ed twisted pair (UTP)-5 cable connectin~ each coln~uLel unit 118 and 120 (i.e., the adapter 14) to the hub 16. Even in inctzlllzltiQns with system broadcast channels C and D, only a single UTP-5 cable is required to provide all four data co,~ ."it z tionc paths of the system 110.
As packets of data are received at each co,.l~uler 112 and 114 via system broadcast D, the network interface card 14, which monitors all of the packet trz ncmiccions on the cllzmn~
selects and retrieves those packets of data addressed to the local cOIll~ulGl at which the particular network int~rfzlce~ card 14 is located. It is by this method that round-trip comml-nir~tinnc are accomplished in the wide bandwidth environment of the present invention.
f~rrin~ to FIG. 11, there is shown a wide bandwidth network 134 in which a pair of hubs, a server hub 136 and a wo~ lion hub 138, are provided, as well as more than one server 112. In this embodiment of the wide bandwidth nG~v~Jolk technology of the present invention, the trzlncmicciQns of the workstations 114 have been sG~ ed from the trzmcmiccion~
of the servers 112. In the embo.1imçnt of FIG. 9, the bandwidth of a single hub 16 is limited to the combined trzm~mi~cion of all workstations 114 and servers 112. By dividing the chained outputs of the workstations 114 from the chained outputs of the servers 112 as shown in the embodiment of FIG. 11, the available bandwidth is doubled. Further, the server hub 136 W O 97~0271 PCT~US96/18196 inrlllcies a system broadcast C amplifier 140 which tr~n~mit~ system broadcast output C to all the servers 112 connected to the server hub 136, and the workstation hub 138 inçl~ldes a system broadcast D amplifier 142 which transmits system broadcast output D to all the wulk~ n.~ 114 connP~tçd to the w~JIk~ lion hub 138.
FIG. 12 ill~ Ps a ~implifiPd wiring diAgrAm of a wide bandwidth hub 144 according to the present invention. The wide bandwidth hub 144 provides a simple method of conne~;li,lg up to 24 co,l,~ulcl~ into a LAN by tying together sequentially inputs and outputs of the hub 144 (n-spe~ ely lGple~ ted by reference numerals 1 to 24), thereby connPcting the combined output of one of the collll ulcl~ of the LAN to the remote input of another one of the co",~ulc.
of the LAN. It is also possible to inLerconnect or cascade mnltirl~P hubs 144 through the ili7~tion of the special inputloutput conne~;lions. Since the nPces~ity of detecting cnlli.cio~.~ has been Plimin~tP~i from the Wide~3and design, the Ethernet limitation of hub inlelconnections has been elimin~tPA~ If one of the hub ports (1 to 24) is vacant or unconnected, the çh~ining from channel to channel is broken. This method provides the user with the capability of dividing nelwolk~ into smaller sPgm~ntc to increase bandwidth in implement~tinns such as the dual-hub embodiment illnctrAtyl in FIG. 11. ~ltprn~tively~ means may be provided to au~o...A~;r~lly bypass llnronnP~tP~I rhAnnPl~ with a bypass relay.
The WideR~nd hub 144 is deci~nP~ in such a way that numerous innovative approaches of imrlem~nt~tion are possible. F~G. 13 illn5tr~t~s another PY~mrl~ry embot1imPnt of the wide bandwidth nclwulk technology of the present invention. A wide area network 150 int~ln-lPs a plurality of LANs 152 each in~ltlrling a co.,.bination of workstations and servers. A hub 154 and a corresponding number of routers 156 are connP~tPd into a backbone configuration. Each of the routers 156 has a n~ h interface card 14 analogous to that described above in lGft;lGnce to FIG. 10. In this emborlimPnt the hub 154 inrlnflPs a system broadcast Amplifi~r 158 which trAn~mit~ the combined data stream of all of the LANs 152 to each of the routers 156 connected to the hub 154.
With reference to Fig. 14, another implPmPnt~tinn of the wide bandwidth technology of the present invention is illustrated. The network of Fig. 14 is similar to that of FIG.13 with the itinn of access to the TntemPt l~lcsen~ed by reference nllmPr~l 160, via an Internet server 162 inrl~ inE a network adapter 14. In this in~t~ tion, a high-speed Tntprn~pt interface such as a T1 or a T3 is coupled, full speed, all the way to the desktop.
E~IG. 15 illn~ .t~s a wide area network 164 in accordance with the present invention. The wide bandwidth col"pollents are connected into wide area networks in which system broadcast W O 97~0271 PCTrUS96/18196 D is utilized for distribution of local area network traffic and in which system broadcast C
provides a high-speed, enterprise-wide channel which greatly simplifies E-mail inct~ tinns and accelerates wide area comml-nir~tions via a mail server system 166.
More cpe~ific~lly, each of the networks inçludec a combination of servers and S workstations, as well as a hub 168 includin~ a system broadcast D amplifier 170 coll~,~ollding to combined data streams of the local area n~.lwulk and a system broadcast C amplifier 172 collt;~onding to the mail server 166. When w~ rkct~tionc and servers of the local area n~lw~
are not monitoring system broadcast input D to retrieve local data by means of the network in~Prf~çe cards 14 cont~ined therein, the network intPrf~-~e card 14 monitors system broadcast input C to retrieve locally addressed mail and message packets tr~ncmittt~d from the mail server system 166.
The implemPnt~tion of the wide bandwidth network 174 of the present invention illllctr~tPll in FIG~16 depicts two servers 112 operating in parallel or in a "mirrored" mode. All of the queries to the servers 112 are delivered simult~neoucly to both servers 112 over system broadcast output C from a server hub 176. The output of file server 112 is delivered to each of the workct~tionc 114 over system broadcast channel C from a wulk~i.lion hub 178, wl,c~eas the output tr~ncmi~cionC of file server 112 are delivered to each of the workstations 114 via the system broadcast channel D of the workstation hub 178.
When the wide bandwidth technology of the present invention is configured in this manner, both hubs 176 and 178 operate in parallel, plvces~ g requests and responding to the workstations 114. Si~nific~ntly, however, both servers 112 are co,l,plelely incl~pen~1Pnt and r~lm~nt~ even down to the cable pair over which the server data is delivered to the workstations 114. In the event that one of the file servers 112 were to malfunction and one of the work~ions 114, therefore, were not to receive a response to a request, the w~,. k~ n 114 could then in~lqlPndpntly switch from input channel D to input channel C and con~ ue oce~ g with the still functioning server 112.
With reference to FIG. 17, yet another exemplary embo~limP-nt of the present invention is shown. This wide bandwidth network 180 in~ltlrlPs a video source 182 co~np~ to a network hub 184 via input port B. A second video source 186 is connected to the next port, CO~ g down the chain as ~ russe 1 in reference to FIG~17. As video data is time sensitive, packets of data can autom~fi~ y be sent over the netwc,.k 180 in synchronization with the d~m~n~l~ of the video capture device as shown.
Having ~ C~ d exemplary embodiments of the wide bandwidth network terhnol( gy W O 97~0271 PCTAJS96/18196 of the present invention thus far, more specific implementzltiQns of the technology will now be -lccpA The sy~,clllonization of data packets at the workstations 114 can be accomplished utili7ing FPGA technology such as the Cypress 384, 385, and 387 FPGAs. These devices are fast and user progrz~mmzthle. They can also simultaneously p~.Çol-ll data encryption functions as flicclose~ in U.S. patent application serial No. 08/430,942 filed on April 26, 1995, which applirzltion is inco.~old~d herein by reference and by appending a copy of the application hereto.
As rli.~ c~yl above, from the FIFO memory devices 126 and 128 of the nt~wulk adapter 14, data is trztncmittP~i serially. One way to accomplish this serial trztncmiccion is by trztncf~orring the data into the parallel input of a device such as the Cypress CY7B923 which performs 8BtlOB coding and which creates the differential high-speed serial output. Details on various coupling and termination techniques for serial commun;cation are ~iiccllsse~ in the CY7B923 and 933 Data Book.
Preferable te~hnicztl spe~ificzttic)ns of the present invention follow. Widebztnd data is ll ~ ~ from the server 112 to the worlcctzltionc 114 at a bit rate of preferably 333 Mbps over each twisted pair of UTP-S cables. Eight-bit data is converted into a 10-bit format to ...~h~li,in clock synchioni~.tion, to provide a method of hardware error cletPctir~n~ and to enable the tr~ncmiccion of control ~hztrzl-~tPrs. The decoding of 10-bit data back to its original 8-bit format on the receiving side results in a useful data rate throughput of 267 Mbps per cable pair 20 or 33 me~~yl~s per second (MBps). Since three or the four twisted pairs of the UTP-5 cable are utilized to transfer data by the wide bandwidth technology, the total data rate is plGr~ldbly 1.0 Gbps. The fourth pair is utilized for data synchl~"-i7i.l;nn. The ~ d tP~hnit~z cpe~ifi~ zlti~nc of the wide bandwidth technology of the invention are outlined in TABLE 1.
Data Rate: 1,000 Mbps ~over UTP-5 cable) 800 Mbps usable Byte Rate: 100 MBps 33 MBps/cable pair Raw Bit Rate: 333 Mbps/cable pair (10-bit bytes) Encoding: 8B/lOB
Output Signal: lOOK ECL serial Bit Error Rates: 10-l2 or better WO 97~0271 PCTnJS96/18196 Wi~leb~n-~ tr~n~mi~cion ~ t~nt~.Ps over UTP-S cable are 100m (330 ft). Tr~n~mi~ion rii~t~ncç~ of other types of cabling and fiber are p-~scn~d in TABLE 2.
~hle Type Unco~npensated C o m p ç n s a t e d Transmission Transmission UIP-S Un~hipl~i~ Twisted Pair 50 m (165 ft) 100 m (330 ft) ~P-3 Unchiel~l~ci Twisted Pair 18 m (60 ft) Not RecommP.n-iod RG-59 A/U Coax (75 ohm) 75 m (250 ft) 150 m (500 ft) Rl~-62 AtU Coax (93 ohm) 98 m (325 ft) 200 m (650 ft) Fiber optic LED driver 1,0Q0 m (3,300 ft) n/a The trappings on the cables range from metal Ethernet T-connectors to the simple plastic mo~ r plugs used with unshielded twisted pair (U rP) wire. Some Fthernet cards have connPct ~rs for coaxial cable, and others provide a 15-pin socket for more complex elrt~rn~i 15 transceivers for fiber optic and other types of cables. Token Ring cards have a 9-pin cQ.~ clor for shi~l~iPd twisted pair (STP) wire. However, UTP wire is becoming increasingly popular for both FthPrnPt and Token Ring cards. These cards have a simple plastic rectangular iack (e.g., RJ-45) similar to those found on modern telephones.
Applications ~Uilillg greater tr~n~mi~ion ~ t~nc~ can utilize passive eqll~li7~tion to 20 increase cable length. Table 2 also provides data tr~n~mic~ion distances for systems compPnc~
with passive eql-~li7~ticm.
Wicieb~nd net~olki"g is a sophisticated yet simple approach to increasing data tr~n~mi~cil n bandwidth in local and wide area networks over existing cabling. Wideb~n~ utilizes the basic technology of ATM but with modifications which make it more readily co~l~palil~le 25 with existing application software and the OSI seven-Iayer model. Through all its various configurations, it provides a versatile ~ltPrn~five in high-speed networking.
The network interface cards do not need to use copper cables. The network in~.r~ce cards may be configured to read pulses of laser light sent over fiber optic cables, pulses of inLdl~d light sent through the air, or signals imposed on radio waves. Many in~t~ tion~ may 30 use copper cables for most connections and intermix fiber optic or wireless alternatives to reach special st~ion~.
The Packet-Mer~in~ Hub An ~ltPrn~tive embodiment to merging data packets at the network interface card is shown in FIG.18. In addition to the plurality of computers 12, a network 200 includPs a packet-W O 97n0271 PCTrUS96/18196 merging hub 202 in communi-~tic-n with each of the col"~uL~-~ 12 via a respective network int~rf~re card 204. Rather than merging data packets g~nP~t~1 by the colllpuLel:l 12 at the col~ Lt; ~ themselves (i.e., at the network intPrf~-e cards 14) as described above, the data packets are sent from the COIII~UlG1~ 12 to the packet-merging hub 202 to be merged into a stream of data packets which is then broadcast to all of the conl~ulel~ 12 in the network 200.
The packet-merging hub 202 in~lu-les a plurality of ports 206 each for conntoc~ with and receiving data packets from a respective one of the colu~uleis via a de~ tedcommunication medium, such as a data channel 208. Each of the ports 206 is paired with and co~ l~i to a storage device, such as a first-in, first-out (FIFO) device 210. Each of the FIFO
devices 210 receives and l~lllpoldllly stores data packets received from one of the CU1IIPU~
12 via the port 206 paired therewith.
The packet-merging hub 202 further includes a merging p.ucessor 212, such as a Cypress 382 FPGA, connected to each of the FIFO devices 210. The merging ~-ocessor 212 sequentially merges data packets received at each of the ports 206 into a stream of data p~ t~
lS The steam of data packets inch~c~es all of the data packets gene.~lt;d by each of the COIn~U~
12.
The packet-merging hub 202 includes an internal bus 214 on which the stream of data packets are delivered to a broadcast output 216 connect~d to a broadcast channel 218. The internal bus 214 is sub~t~nti~lly a packet-merging channel provided in the network hub 202. The packet-merging hub 202 then bro~ic~ct~ the stream of data packets to each of the co."pul~ ~ 12 via the broadcast output 216 and the broadcast channel 218. The packet-merging hub 202 ~-~fe ably incll~des an ~mp!ifi.o~. 220 for amplifying the stream of data packets prior to broadcast on the broadcast channel 218.
With ~ itic~n~l reference to FIG. 19, each of the network int~rf~ce cards 204 in~lnd~s a local data input 222 connecled to one of the co~ ul~l~ 12 and a local data output 224 con~ ~ to one of the data channels 208. The data input 222 receives data packets genP~t~
by the computer 12 connected thereto, and the data output 224 provides the ~ .,.tt~rl data packets to the n~L~c,.k hub 202 via the data channel 208.
Each of the interfaces 204 also includes at least one broadcast input 226 colmecled to a broadcast output 228 with a broadcast processor 230 provided therebetween. The broadcast input 226 is connected to the broadcast channel 218 and receives the stream of data p~ t~, The broadcast processor 230 then determines which of the data packets are addressed to the local col"~uLel 12 and provides such data packets to the broadcast output 228 for delivery to the local WO 97nO271 PCTAUS96/18196 co~ ulei 12 for further processing.
Each of the interfaces 204 plefeldbly includes a local storage device 231 conn~ct~i between the local data input 222 and the local data output 224. The local storage device 231 is able to le:lllpuldrily store data packets generated by the local co---~uLel 12 when the FIFO device 210 collc~onding thereto is filled or nearly filled to capacity during peak operating conditions of the network hub 202.
More cpe~ifir~lly, when the network hub 202 is cim~lt~n~ously receiving data packets from the plurality of co.ll~lLI~ 12, data packets lelllpuldlily stored in the FIFO devices 210 may have to queue until the merging processor 212 is able to merge the lell~poldlily stored data 10 packets into the stream of data p~el~t~ As the FIFO devices 210 have a limited storage capacity, if data packets are being stored in one of the FIFO devices 210, waiting to be merged, and if the coll,~ulel associated therewith continues to generate and tr~ncmit data packets to the queueing FIFO device 210, then there is the possibility that the FIFO device 210 will reach its storage capacity before the merging ylocessol 212 is able to re}ieve the FIFO device 210 of the 15 ~~ oldlily stored data p~rl~rtc ~n this case, it is p,ert;l~dble for the FIFO device 210 to tr~ncmit a status signal or flag to the inlelrdce 204, inriic~ting that the FIFO device 210 is nearing or is at its storage capacity, or that the FIFO device 210 has surpassed a predeterrnined ~ercenldge of its total storage capacity, e.g., 95%. Upon receipt of the status signal, the interface 204 ~ ul~ily stores 20 already-gt;n~l~t~d data packets in the local storage device 231 until the FIFO device 210 has nlo~ d the stored data packets into the stream of data p~rk~.tc, It is preferable to send the status signal from the network hub 202 to the interface 204 on the same data channel 208 connecting the port 206 with the data output 224. In addition, the merging ~,oce~or 212 preferably monitors each of the FIFO devices 210 to determine which of the FIFO devices 210 25 are nearing storage capacity and, responsively, to merge the data packets from such FIFO
devices 210 into the stream of data packets rYreAiticusly.
In this status-signal embodimrnt the data output 224 of the intrrf~re 204 is incllld~ in a data port conne~t~ to the data ch~nn~-l, which data port also inrludl-.s a signal input for receiving the signal from the network hub 202. Accordingly, each of the data ch~nn~l~ 208 is 30 able to deliver data packets from the int~rf~ce~ 204 to the network hub 202 and is able to deliver the capacity-inriir~tiQn signal from the network hub 202 to the int~rf~ce 204, which two-way comml-nir~tic-n is indicated by the double-headed arrows of the data ch~nnPl~ 208 in FIG. 20.
To do so, the data ch~nnels 208 are ylc;rel~bly cable pairs, with one cable deflic~ted to the CA 02237406 1998-0~-12 W 097~0271 PCTAUS96/18196 tr~ncmicci~n of data packets and the other cable ~ lir~tPIi to the tr~ncmisciQn of the status signal.
Depçnr~in~ upon the particular topology of the network 200 to be implempntecl~ each of the interfaces 204 may also include a second broadcast input 232 co,.,.e~;led to another broadcast channel 234 and the broadcast processor 23~). The broadcast channel 232 may be connPctPd to a remote source, such as the TnternP~t~ a video server, or an electronic mail system, for receiving a remote stream of data pac~Ptc The broadcast p,oce~i)r 230 receives the remote stream of data p~k'pt.c, determines which of the remote data packets are addressed to the local COlllyut ~, and then provides such data packets to the broadcast output 228 for deliver to the local CO~ ut~
12.
With additional lGrelence to FIGS. 20 and 21, a plurality of the network hubs 202 may be serially cc"me.;Led into a multi-hub network 240. In order to do so, each of the network hubs 202 further incl~ Ps an expansion port 242 which is co"necLt;d to the internal bus 214 of the hub 202. The eYp~nciQn port 242 is provided with the same stream of data packets as that provided to the broadcast output 216 of each of the hubs 202.
To cascade the network hubs 202, the expansion port 242 of a first network hub is c~ nn~t~ to one of the ports 206 of a second network hub, thereby providing the stream of data packets from the first network hub to the second network hub, intlic~tPti by rereie,lce nllm-o,r~l 244 in FIG. 21. The merging p,ocessor 212 of the second network hub 202 then merges the stream of data packets 244 from the first network hub 202 with the data packets received at its other ports 206, gçnç~ting a combined stream of data p~ PtC
The expansion port 242 of the second network hub may then be connPctP~ to one of the ports 206 of a third network hub 202, thereby providing the combined stream of data packets to the third network hub 202, as in~ tP~ by reference numeral 246. The merging processor 100 of the third network hub 202 then merges the combined stream of data packets 246 with data packets received at its other ports 206. The stream of data packets merged by the third network hub 202 may then be broadcast to all of the colllpulel~ in the network 240 via the broadcast channel 218.
The network 240 with ç~ct aded network hubs 202 may also be connected to a remote source 248, such as the Internet, a wide area network, or an electronic mail system, for receiving a remote stream of data packets 250 from the remote source 248. Accordingly, each of the n~ Lwolh hubs 202 preferably include a first broadcast input 252 and a second broadcast input 254. As shown, the remote source 248 is connected to the first broadcast input 252. The - ~ . .. .
W 097nO271 PCT~US96/18~96 second broadcast input 254 may then be connected to another remote source for further eYp~n~ion of the network 240.
In the specific embodim~nt shown in FIG. 21, the expansion port 242 of the thirdnetwork hub 202 receiving the combined stream of data packets 246 is connt~t~d to the second broadcast input 254 by a jumper cable 256. By do so, the third network hub 202 is able to broadcast to all of the co~ )ul~ ~ in the network 240 both the stream of data packets from all the COlll~U~G1~ in the network 240 and the remote stre~m of data packets 250 from any remote source 248 that may be connected to the network 240. Each of the networlc hubs 2û2 may also include first and second broadcast amplifiers 258 and 260 for amplifying the iesl!ec~ e streams 10 of data packets to be broadcast over the two broadcast c~nnel.c 218 and 234.
Specific details l~ding the implem~t~tion of the above-described exemplary emborlim~ntc, as well as other embodiments according to the networking prinriI)les of the present invention, are diccucse~ at length in a book entitled WideBand Nen~orking by Dr. Roger E. Rillin~.c, which is available from the International Academy of Science of Tnd~pendrnre~
15 Missouri.
Those skilled in the art will understand that the ~lcceding exemplary embodiments of the present invention provide foundation for nu.l.~.vus ~ltçrn~tives and morlifir~tionc These other modifications are also within the scope of the wide bandwidth network technology of the present invention. Accordingly, the present invention is not limited to that precisely shown and 20 described herein.
Claims (67)
1. A computer network comprising:
a) a plurality of computers, each having a unique address and being capable of generating addressed data packets intended for delivery to another one of said computers, each of said computers including an interface having a data output and a broadcast input;
b) a plurality of data channels, each of which is connected to said data output of one of said computers, each of said data channels for receiving addressed data packets generated by said one computer;
c) a broadcast channel connected to said broadcast input of each of said computers; and d) a network hub including (1) a plurality of ports each of which is connected to a respective one of said data channels for receiving addressed data packets and (2) a broadcast output connected to said broadcast channel;
said network hub for sequentially merging addressed data packets received at each of said ports into a stream of data packets and for providing said stream of data packets to said broadcast channel for delivery to each of said computers,
a) a plurality of computers, each having a unique address and being capable of generating addressed data packets intended for delivery to another one of said computers, each of said computers including an interface having a data output and a broadcast input;
b) a plurality of data channels, each of which is connected to said data output of one of said computers, each of said data channels for receiving addressed data packets generated by said one computer;
c) a broadcast channel connected to said broadcast input of each of said computers; and d) a network hub including (1) a plurality of ports each of which is connected to a respective one of said data channels for receiving addressed data packets and (2) a broadcast output connected to said broadcast channel;
said network hub for sequentially merging addressed data packets received at each of said ports into a stream of data packets and for providing said stream of data packets to said broadcast channel for delivery to each of said computers,
2. The computer network of claim 1 further comprising a second broadcast channelwherein:
said interface of each of said computers has a second broadcast input connected to said second broadcast channel; and said network hub further includes:
a broadcast port for receiving a remote stream of data packets from a remote source; and a second broadcast output connected to said broadcast port and said second broadcast channel for providing said second broadcast channel said remote stream of data packets for delivery to each of said computers.
said interface of each of said computers has a second broadcast input connected to said second broadcast channel; and said network hub further includes:
a broadcast port for receiving a remote stream of data packets from a remote source; and a second broadcast output connected to said broadcast port and said second broadcast channel for providing said second broadcast channel said remote stream of data packets for delivery to each of said computers.
3. The computer network of claim 1 wherein the computer network comprises a plurality of said network hubs;
each of said network hubs further including an expansion port for providing said stream of data packets; and said expansion port of one of said network hubs being connected to one of said ports of another one of said network hubs.
each of said network hubs further including an expansion port for providing said stream of data packets; and said expansion port of one of said network hubs being connected to one of said ports of another one of said network hubs.
4. The computer network of claim 3 wherein the plurality of network hubs are serially connected together.
5. The computer network of claim 1 wherein said network hub further includes:
a) a plurality of storage devices each of which is connected to a respective one of said ports, each of said storage devices for receiving and temporarily storing said addressed data packets generated by said respective computer;
b) a processor connected to each of said storage devices for sequentially merging addressed data packets temporarily stored by each of said storage devices into astream of data packets; and c) an internal bus connected to each of said storage devices and to said broadcast output for delivering said stream of data packets to said broadcast output.
a) a plurality of storage devices each of which is connected to a respective one of said ports, each of said storage devices for receiving and temporarily storing said addressed data packets generated by said respective computer;
b) a processor connected to each of said storage devices for sequentially merging addressed data packets temporarily stored by each of said storage devices into astream of data packets; and c) an internal bus connected to each of said storage devices and to said broadcast output for delivering said stream of data packets to said broadcast output.
6. The computer network of claim 5 wherein each of said interfaces further includes a local storage device connected to said data output for temporarily storing addressed data packets generated by said computer and for providing addressed data packets to said data output.
7. The computer network of claim 6 wherein said network hub communicates with said interface of each of said computers via the corresponding data channel, said local storage device temporarily storing addressed data packets upon receiving a signal from said network hub.
8. The computer network of claim 6 wherein each of said storage devices devices generates a signal indicative of the capacity of said storage device, said signal being generated when a predetermined amount of said storage device is filled with temporarily stored addressed data packets, said signal being sent to said port corresponding to said storage device which generated said signal;
each of said interfaces including a signal input connected to said local storage device and to said data channel connected to said data output of said same interface, said signal input for receiving said signal from said port connected to said data channel;
said local storage device temporarily storing generated data packets upon receiving said signal.
each of said interfaces including a signal input connected to said local storage device and to said data channel connected to said data output of said same interface, said signal input for receiving said signal from said port connected to said data channel;
said local storage device temporarily storing generated data packets upon receiving said signal.
9. The computer network of claim 1 wherein each of said interfaces further includes a broadcast processor connected to said broadcast input for receiving said stream of data packets and for providing to the computer data packets from said stream of data packets which are addressed to said computer.
10. The computer network of claim 1 wherein each of said interfaces further includes a local storage device connected to said data output for temporarily storing addressed data packets generated by said computer and for providing addressed data packets to said data output.
11. A network hub for connecting a plurality of computers and communication media in a network, each of the computers being capable of generating data packets, the communication media including reception media and delivery media for connecting to each of the computers, the network hub comprising:
a) a plurality of ports, each for connecting to the reception media and for receiving, via the reception media, data packets generated by one of the computers;
b) a plurality of storage devices, each connected to one of said ports for receiving and temporarily storing data packets generated by the one computer;
c) a processor to each of said storage devices for sequentially merging data packets temporarily stored by each of said storage devices into a stream of data d) a broadcast output for connecting to the delivery media and for providing the stream of data packets to the delivery media for delivery to each of the computers; ande) an internal bus connected to each of said storage devices and to said broadcast output for delivering the stream of data packets to said broadcast output.
a) a plurality of ports, each for connecting to the reception media and for receiving, via the reception media, data packets generated by one of the computers;
b) a plurality of storage devices, each connected to one of said ports for receiving and temporarily storing data packets generated by the one computer;
c) a processor to each of said storage devices for sequentially merging data packets temporarily stored by each of said storage devices into a stream of data d) a broadcast output for connecting to the delivery media and for providing the stream of data packets to the delivery media for delivery to each of the computers; ande) an internal bus connected to each of said storage devices and to said broadcast output for delivering the stream of data packets to said broadcast output.
12. The network hub of claim 11 further comprising a broadcast amplifier connected to said internal data bus for amplifying the stream of data packets prior to delivery to the broadcast output.
13. The network hub of claim 11 further comprising an expansion port connected to said internal bus and being connectable to the communication media;
said expansion port for receiving the stream of data packets from said internal data bus and for providing the stream of data packets for delivery to the communication media.
said expansion port for receiving the stream of data packets from said internal data bus and for providing the stream of data packets for delivery to the communication media.
14. The network hub of claim 13 further comprising:
a broadcast input for receiving a remote stream of data packets from a remote source;
and a second broadcast output connected to said broadcast input for connecting to the delivery media and for providing the delivery media the remote stream of data packets.
a broadcast input for receiving a remote stream of data packets from a remote source;
and a second broadcast output connected to said broadcast input for connecting to the delivery media and for providing the delivery media the remote stream of data packets.
15. The network hub of claim 13 further comprising:
a first broadcast input and a second broadcast input for respectively receiving a first remote stream of data packets and a second remote stream of data packets from remote sources; and a second broadcast output connected to said internal bus for connecting to the delivery media;
said first broadcast input and said second broadcast input being respectively connected to said broadcast output and said second broadcast output;
the stream of data packets being sequentially merged with the first and second remote streams of data packets prior to being provided to said broadcast outputs; and said broadcast outputs for respectively providing the merged streams of data packets to the delivery media for delivery to each of the computers.
a first broadcast input and a second broadcast input for respectively receiving a first remote stream of data packets and a second remote stream of data packets from remote sources; and a second broadcast output connected to said internal bus for connecting to the delivery media;
said first broadcast input and said second broadcast input being respectively connected to said broadcast output and said second broadcast output;
the stream of data packets being sequentially merged with the first and second remote streams of data packets prior to being provided to said broadcast outputs; and said broadcast outputs for respectively providing the merged streams of data packets to the delivery media for delivery to each of the computers.
16. The network hub of claim 15 further comprising a first amplifier provided between said first broadcast input and said broadcast output, and a second amplifier provided between said second broadcast input and said second broadcast output;
said amplifiers for respectively amplifying the merged streams of data packets.
said amplifiers for respectively amplifying the merged streams of data packets.
17. The network hub of claim 11 wherein the network hub is mounted on a single card.
18. An interface for interfacing a computer to a network including a plurality of computers, the computer having a unique address and being capable of generating addressed data packets intended for delivery to another computer on the network, the interface comprising:
a) a data input for receiving addressed data packets generated by the computer;
b) a data output connected to said data input for delivering addressed data packets to the network;
c) a broadcast input for receiving from the network a stream of addressed data packets including addressed data packets generated by any of the computers in the network;
d) a broadcast processor connected to said broadcast input for detecting data packets from the stream of addressed data packets which bear the unique address of the computer; and e) a broadcast output connected to said broadcast processor for delivering said detected data packets to the computer.
a) a data input for receiving addressed data packets generated by the computer;
b) a data output connected to said data input for delivering addressed data packets to the network;
c) a broadcast input for receiving from the network a stream of addressed data packets including addressed data packets generated by any of the computers in the network;
d) a broadcast processor connected to said broadcast input for detecting data packets from the stream of addressed data packets which bear the unique address of the computer; and e) a broadcast output connected to said broadcast processor for delivering said detected data packets to the computer.
19. The interface of claim 18 further comprising a second broadcast input connected to said broadcast processor for receiving from the network a second stream of addressed data packets from a remote source;
said broadcast processor detecting data packets from the second stream of addressed data packets which bear the unique address of the computer.
said broadcast processor detecting data packets from the second stream of addressed data packets which bear the unique address of the computer.
20. The interface of claim 18 further comprising a local storage device connected to said data input and said data output for temporarily storing addressed data packets generated by the computer.
21. A method for communicating data packets in a network including a plurality of computers, each of the computers being connected to a network hub by a respective delivery channel and a broadcast channel, the method comprising the steps of:
generating addressed data packets by the plurality of computers;
tranmsitting said generated data packets to the network hub via the delivery channel;
receiving said transmitting data packets at the network hub;
sequentially merging said received data packets into a stream of data packets at the network hub; and broadcasting said stream of data packets from the network hub to each of the computers via the broadcast channel.
generating addressed data packets by the plurality of computers;
tranmsitting said generated data packets to the network hub via the delivery channel;
receiving said transmitting data packets at the network hub;
sequentially merging said received data packets into a stream of data packets at the network hub; and broadcasting said stream of data packets from the network hub to each of the computers via the broadcast channel.
22 The method of claim 21 further comprising the step of:
temporarily storing said received data packets at the network hub prior to sequentially merging said received data packets into said stream of data packets.
temporarily storing said received data packets at the network hub prior to sequentially merging said received data packets into said stream of data packets.
23. The method of claim 21 further comprising the step of:
amplifying said stream of data packets at the network hub prior to broadcasting said stream of data packets.
amplifying said stream of data packets at the network hub prior to broadcasting said stream of data packets.
24. The method of claim 21 further comprising the steps of:
receiving a remote stream of data packets from a remote source at the network hub via another delivery channel; and broadcasting said remote stream of data packets to each of the computers via another broadcast channel.
receiving a remote stream of data packets from a remote source at the network hub via another delivery channel; and broadcasting said remote stream of data packets to each of the computers via another broadcast channel.
25. The method of claim 21 further comprising the step of:
transmitting said stream of data packets to another network hub.
transmitting said stream of data packets to another network hub.
26. The method of claim 21 further comprising the steps of:
receiving a remote stream of data packets from a remote source at the network hub via another delivery channel;
sequentially merging said remote stream of data packets with said stream of datapackets; and broadcasting said merged stream of data packets to each of the computers via thebroadcast channel.
receiving a remote stream of data packets from a remote source at the network hub via another delivery channel;
sequentially merging said remote stream of data packets with said stream of datapackets; and broadcasting said merged stream of data packets to each of the computers via thebroadcast channel.
27. A computer network comprising;
a) a plurality of computers, each having a unique address and being capable of generating addressed data packets intended for delivery to another one of said computers, each of said computers including an interface having a data output and a broadcast input;
b) a packet-merging channel;
c) a plurality of storage devices, each being connected to said data output of said interface of one of said computers and to said packet-merging channel each of said storage devices for receiving addressed data packets generated by said one computers, for temporarily storing said received addressed data packets, and for merging said temporarily stored addressed data packets into a stream of data packets on said packet-merging channel;
d) a broadcast channel connected to said broadcast input of each of said computers and in communication with said packet-merging channel, said broadcast channel for receiving from said packet-merging channel said stream of data packets and for delivering to each of said computers said stream of data packets.
a) a plurality of computers, each having a unique address and being capable of generating addressed data packets intended for delivery to another one of said computers, each of said computers including an interface having a data output and a broadcast input;
b) a packet-merging channel;
c) a plurality of storage devices, each being connected to said data output of said interface of one of said computers and to said packet-merging channel each of said storage devices for receiving addressed data packets generated by said one computers, for temporarily storing said received addressed data packets, and for merging said temporarily stored addressed data packets into a stream of data packets on said packet-merging channel;
d) a broadcast channel connected to said broadcast input of each of said computers and in communication with said packet-merging channel, said broadcast channel for receiving from said packet-merging channel said stream of data packets and for delivering to each of said computers said stream of data packets.
28. The computer network of claim 27 wherein said plurality of storage devices are disposed on a network hub.
29. The computer network of claim 27 further comprising a network hub;
said plurality of storage devices and said packet-merging channel being disposed on the network hub;
said network hub having a broadcast output connected to said packet-merging channel and said broadcast channel;
said network hub delivering said stream of data packets to said broadcast channel via said broadcast output.
said plurality of storage devices and said packet-merging channel being disposed on the network hub;
said network hub having a broadcast output connected to said packet-merging channel and said broadcast channel;
said network hub delivering said stream of data packets to said broadcast channel via said broadcast output.
30. The computer network of claim 27 wherein said storage devices are respectively disposed on said interfaces of said computers.
31. An addressed packet network with separate packet assembly and packet broadcast channels comprising:
a) a plurality of computers, each having a unique address, being capable of generated addressed data packets intended for delivery to another computer on the network, each computer including:
(1) a packet assembly input for receiving addressed data packets from another computer;
(2) a packet assembly output for delivering addressed data packets to another computer;
(3) a packet broadcast input for receiving addressed data packets; and (4) an interface connected to said packet assembly input, said packet assembly output, and said packet broadcast input, said interface for:
(a) merging addressed data packets received at said packet assembly input with addressed data packets generated by the computer into a merged stream of addressed data packets;
(b) delivering said merged stream of addressed data packets to said packet assembly output;
(c) detecting addressed data packets from said packet broadcast input which bearthe unique address of the computer;
(d) delivering the detected packets to the computer for further processing;
b) a packet assembly channel for assembling addressed data packets generated by all of said computers, said packet assembly channel connecting each of said computers together in a sequential chain beginning with a first of said computers and ending with a last of said computers, said chain being formed by connecting the packet assembly output of each of said computers, except the last of said computers, to the packet assembly input of the next computer in sequence through a packet communication connection; and c) a packet broadcast channel consisting of a packet communication connection between the packet assembly output of the last of said computers and the packet broadcast inputs of all of said computers.
a) a plurality of computers, each having a unique address, being capable of generated addressed data packets intended for delivery to another computer on the network, each computer including:
(1) a packet assembly input for receiving addressed data packets from another computer;
(2) a packet assembly output for delivering addressed data packets to another computer;
(3) a packet broadcast input for receiving addressed data packets; and (4) an interface connected to said packet assembly input, said packet assembly output, and said packet broadcast input, said interface for:
(a) merging addressed data packets received at said packet assembly input with addressed data packets generated by the computer into a merged stream of addressed data packets;
(b) delivering said merged stream of addressed data packets to said packet assembly output;
(c) detecting addressed data packets from said packet broadcast input which bearthe unique address of the computer;
(d) delivering the detected packets to the computer for further processing;
b) a packet assembly channel for assembling addressed data packets generated by all of said computers, said packet assembly channel connecting each of said computers together in a sequential chain beginning with a first of said computers and ending with a last of said computers, said chain being formed by connecting the packet assembly output of each of said computers, except the last of said computers, to the packet assembly input of the next computer in sequence through a packet communication connection; and c) a packet broadcast channel consisting of a packet communication connection between the packet assembly output of the last of said computers and the packet broadcast inputs of all of said computers.
32. An interface for interfacing a computer to a computer network having separate packet assembly and packet broadcast channels, the computer having a unique address and being capable of generating addressed data packets intended for delivery to another computer on the network, said interface comprising:
a) a packet assembly input for receiving addressed data packets from another computer on the network on the packet assembly channel;
b) a packet assembly output for delivering addressed data packets to another computer on the network on the packet assembly channel;
c) a packet broadcast input for receiving addressed data packets from the network on the packet broadcast channel; and d) an interface connected to said packet assembly input, said packet assembly output, and said packet broadcast input, said interface for:
(1) merging addressed data packets received at said packet assembly input with addressed data packets generated by the computer into a merged stream of addressed data packets;
(2) delivering said merged stream of addressed data packets to said packet assembly output;
(3) detecting addressed data packets from said packet broadcast input which bear the unique address of the computer; and (4) delivering the detected data packets to the computer for further processing.
a) a packet assembly input for receiving addressed data packets from another computer on the network on the packet assembly channel;
b) a packet assembly output for delivering addressed data packets to another computer on the network on the packet assembly channel;
c) a packet broadcast input for receiving addressed data packets from the network on the packet broadcast channel; and d) an interface connected to said packet assembly input, said packet assembly output, and said packet broadcast input, said interface for:
(1) merging addressed data packets received at said packet assembly input with addressed data packets generated by the computer into a merged stream of addressed data packets;
(2) delivering said merged stream of addressed data packets to said packet assembly output;
(3) detecting addressed data packets from said packet broadcast input which bear the unique address of the computer; and (4) delivering the detected data packets to the computer for further processing.
33. A hub for communicating addressed data packets among a plurality of computers in a network via communication media, the plurality of computers, each having a unique address, being capable of generating addressed data packets intended for delivery to another computer on the network, the communication media including a packet reception channel and a packet broadcast channel, said hub comprising:
a) a sequential interface for sequentially routing addressed data packets through the plurality of computers and through a last computer via the packet reception channel, the sequential interface including:
(1) a plurality of inputs each for receiving, via the packet reception channel, addressed data packets from a computer in the network; and (2) a plurality of outputs each for providing, via the packet reception channel,addressed data packets to a computer in the network; and b) a broadcast interface for broadcasting addressed data packets generated by the plurality of computers to the plurality of computers via the packet broadcast channel, the broadcast interface including:
(1) a broadcast output connected to the sequential interface for receiving addressed data packets which have been sequentially routed through the last computer, and for providing, via the packet broadcast channel, addressed data packets received at the broadcast output to the plurality of computers.
a) a sequential interface for sequentially routing addressed data packets through the plurality of computers and through a last computer via the packet reception channel, the sequential interface including:
(1) a plurality of inputs each for receiving, via the packet reception channel, addressed data packets from a computer in the network; and (2) a plurality of outputs each for providing, via the packet reception channel,addressed data packets to a computer in the network; and b) a broadcast interface for broadcasting addressed data packets generated by the plurality of computers to the plurality of computers via the packet broadcast channel, the broadcast interface including:
(1) a broadcast output connected to the sequential interface for receiving addressed data packets which have been sequentially routed through the last computer, and for providing, via the packet broadcast channel, addressed data packets received at the broadcast output to the plurality of computers.
34. A computer network comprising:
a) communication media including a reception medium and a delivery medium;
b) a plurality of computers including a first computer and a last computer, eachcomputer being capable of generating data, the plurality of computers being configured in a sequential chain of computers such that, via the reception medium, each computer except the first computer communicates with a preceding computer and each computer except the last computer communicates with a following computer; and c) a plurality of network interface cards each for connecting one of computers to the communication media, the reception medium sequentially routing data generated by a computer in the chain of computers through the network interface cards connected to the computers following the computer which generated the data, the delivery medium receiving from the reception medium data sequentially routed through the network interface card connected to last computer in the chain of computers, each network interface card including:
(1) a local input connected to a computer in the chain of computers, the local input for receiving data generated by said computer;
(2) a remote input connected to the reception medium, the remote input for receiving, via the reception medium, data generated by any computer preceding said computer in the chain of computers;
(3) a remote output connected to the local input, to the remote input, and to the reception medium, the remote output for providing data received at the local input and data received at the remote input to the reception medium;
(4) a broadcast input connected to the delivery medium, the broadcast input for receiving, via the delivery medium, data sequentially routed through the networkinterface card connected to the last computer in the chain of computers; and (5) a local output connected to the broadcast input and to said computer, the local output for providing data received at the broadcast input to said computer.
a) communication media including a reception medium and a delivery medium;
b) a plurality of computers including a first computer and a last computer, eachcomputer being capable of generating data, the plurality of computers being configured in a sequential chain of computers such that, via the reception medium, each computer except the first computer communicates with a preceding computer and each computer except the last computer communicates with a following computer; and c) a plurality of network interface cards each for connecting one of computers to the communication media, the reception medium sequentially routing data generated by a computer in the chain of computers through the network interface cards connected to the computers following the computer which generated the data, the delivery medium receiving from the reception medium data sequentially routed through the network interface card connected to last computer in the chain of computers, each network interface card including:
(1) a local input connected to a computer in the chain of computers, the local input for receiving data generated by said computer;
(2) a remote input connected to the reception medium, the remote input for receiving, via the reception medium, data generated by any computer preceding said computer in the chain of computers;
(3) a remote output connected to the local input, to the remote input, and to the reception medium, the remote output for providing data received at the local input and data received at the remote input to the reception medium;
(4) a broadcast input connected to the delivery medium, the broadcast input for receiving, via the delivery medium, data sequentially routed through the networkinterface card connected to the last computer in the chain of computers; and (5) a local output connected to the broadcast input and to said computer, the local output for providing data received at the broadcast input to said computer.
35. The computer network of claim 34 wherein each of the network interface cardsfurther comprises:
a) a second broadcast input for connecting to the delivery medium and for receiving, via the delivery medium, data generated by any of the computers and sequentially routed through the last computer in the chain of computers; and b) a second local output connected to the second broadcast input, the local output for connecting to said computer and for providing data received at the second broadcast input to said computer.
a) a second broadcast input for connecting to the delivery medium and for receiving, via the delivery medium, data generated by any of the computers and sequentially routed through the last computer in the chain of computers; and b) a second local output connected to the second broadcast input, the local output for connecting to said computer and for providing data received at the second broadcast input to said computer.
36. The computer network of claim 34 wherein each of the network interface cardsfurther comprises:
a) a second broadcast input for connecting to the communication media and for receiving, via the communication media, data generated by a computer other than the computers in the chain of computers;
b) a second local output connected to the second broadcast input, the local output for connecting to said computer and for providing data received at the second broadcast input to said computer.
a) a second broadcast input for connecting to the communication media and for receiving, via the communication media, data generated by a computer other than the computers in the chain of computers;
b) a second local output connected to the second broadcast input, the local output for connecting to said computer and for providing data received at the second broadcast input to said computer.
37. The computer network of claim 34 wherein each of the network interface cardsfurther comprises:
a processor connected to the local input, to the remote input, and to the remote output, the processor for sequentially transmitting data received at the local input and data received at the remote input to the remote output.
a processor connected to the local input, to the remote input, and to the remote output, the processor for sequentially transmitting data received at the local input and data received at the remote input to the remote output.
38. The computer network of claim 34 wherein each of the network interface cardsfurther comprises:
an interface bus for connecting to a computer;
the local input and the local output being connected to the interface bus.
an interface bus for connecting to a computer;
the local input and the local output being connected to the interface bus.
39. The computer network of claim 34 further comprising a network hub connected to the reception medium and to the delivery medium, the network hub including:
a) a plurality of inputs connected to the reception medium;
b) a plurality of outputs connected to the reception medium;
each of the inputs being paired with one of the outputs to form an input-and-output pair, each input-and-output pair communicating with one of the network interface cards via the reception medium;
the input of each input-and-output pair being connected to the output of one other input-and-output pair and to the remote output of one of the network interface cards;
the output of each input-and-output pair for receiving data from the input of the one other input-and-output pair connected thereto, and for providing, via the reception medium, data received thereby to the remote input of one of the network interface cards;
the input of each input-and-output pair for receiving data provided to the reception medium by the remote output connected thereto, and for providing data received thereby to the output of the one other input-and-output pair connected thereto;
a last input-and-output pair being defined as the input-and-output pair communicating with the network interface card connected to the last computer the input of the last input-and-output pair not being connected to the output of another input-and-output pair;
c) a broadcast output connected to the delivery medium and to the input of the last input-and-outputpair, the broadcast output for communicating via the delivery medium with the broadcast input of each network interface card;
the broadcast output for receiving data received at the input of the last input-and-output pair and for providing, via the delivery medium, data received thereby to the broadcast input of each network interface card.
a) a plurality of inputs connected to the reception medium;
b) a plurality of outputs connected to the reception medium;
each of the inputs being paired with one of the outputs to form an input-and-output pair, each input-and-output pair communicating with one of the network interface cards via the reception medium;
the input of each input-and-output pair being connected to the output of one other input-and-output pair and to the remote output of one of the network interface cards;
the output of each input-and-output pair for receiving data from the input of the one other input-and-output pair connected thereto, and for providing, via the reception medium, data received thereby to the remote input of one of the network interface cards;
the input of each input-and-output pair for receiving data provided to the reception medium by the remote output connected thereto, and for providing data received thereby to the output of the one other input-and-output pair connected thereto;
a last input-and-output pair being defined as the input-and-output pair communicating with the network interface card connected to the last computer the input of the last input-and-output pair not being connected to the output of another input-and-output pair;
c) a broadcast output connected to the delivery medium and to the input of the last input-and-outputpair, the broadcast output for communicating via the delivery medium with the broadcast input of each network interface card;
the broadcast output for receiving data received at the input of the last input-and-output pair and for providing, via the delivery medium, data received thereby to the broadcast input of each network interface card.
40. The network hub of claim 39 further comprising:
a broadcast amplifier connected between the input of the last input-and-output pair and the broadcast output;
the broadcast amplifier for amplifying data received at the input of the last input-and-output pair and for providing said amplified data to the broadcast output.
a broadcast amplifier connected between the input of the last input-and-output pair and the broadcast output;
the broadcast amplifier for amplifying data received at the input of the last input-and-output pair and for providing said amplified data to the broadcast output.
41. A network interface for connecting a computer to communicating media in a network, the network including a plurality of computers each of which is capable of generating data, the communicating media including a reception medium and a delivery medium, the plurality of computers being configured in a sequential chain of computers such that, via the reception medium, each computer except a first computer communicates with a preceding computer and each computer except a last computer communicates with a following computer, the network interface comprising:
a) a local input for connecting to a computer in the chain of computers and for receiving data generated by said computer;
b) a remote input for connecting to the reception medium and for receiving, via the reception medium, data generated by any computer preceding said computer in the chain of computer;
c) a remote output connected to the local input and to the remote input, the remote output for connecting with the reception medium and for providing data received at the local input and data received at the remote input to the reception medium to be delivered to the remote input of the network interface card connected to the following computer in the chain of computers;
d) a broadcast input for connecting to the delivery medium and for receiving, via the delivery medium, data generated by any of the computers and provided by the remote output of the network interface card connected to the last computer in the chain of computers; and e) a local output connected to the broadcast input, the local output for connecting to said computer and for providing data received at the broadcast input to said computer.
a) a local input for connecting to a computer in the chain of computers and for receiving data generated by said computer;
b) a remote input for connecting to the reception medium and for receiving, via the reception medium, data generated by any computer preceding said computer in the chain of computer;
c) a remote output connected to the local input and to the remote input, the remote output for connecting with the reception medium and for providing data received at the local input and data received at the remote input to the reception medium to be delivered to the remote input of the network interface card connected to the following computer in the chain of computers;
d) a broadcast input for connecting to the delivery medium and for receiving, via the delivery medium, data generated by any of the computers and provided by the remote output of the network interface card connected to the last computer in the chain of computers; and e) a local output connected to the broadcast input, the local output for connecting to said computer and for providing data received at the broadcast input to said computer.
42. The network interface of claim 41 further comprising:
a) a second broadcast input for connecting to the delivery medium and for receiving, via the delivery medium, data generated by any of the computers and provided by the remote input of the network interface card connected to the last computer in the chain of computers;
and b) a second local output connected to the second broadcast input, the local output for connecting to said computer and for providing data received at the second broadcast input to said computer.
a) a second broadcast input for connecting to the delivery medium and for receiving, via the delivery medium, data generated by any of the computers and provided by the remote input of the network interface card connected to the last computer in the chain of computers;
and b) a second local output connected to the second broadcast input, the local output for connecting to said computer and for providing data received at the second broadcast input to said computer.
43. The network interface of claim 41 further comprising:
a) a second broadcast input for connecting to the communication media and for receiving, via the communication media, data generated by a computer other than the computers in the chain of computers;
b) a second local output connected to the second broadcast input, the local output for connecting to said computer and for providing data received at the second broadcast input to said computer.
a) a second broadcast input for connecting to the communication media and for receiving, via the communication media, data generated by a computer other than the computers in the chain of computers;
b) a second local output connected to the second broadcast input, the local output for connecting to said computer and for providing data received at the second broadcast input to said computer.
44. The network interface of claim 41 further comprising:
a processor connected to the local input, to the remote input, and to the remote output, the processor for sequentially transmitting data received at the local input and data received at the remote input to the remote output.
a processor connected to the local input, to the remote input, and to the remote output, the processor for sequentially transmitting data received at the local input and data received at the remote input to the remote output.
45. The network interface of claim 41 wherein:
the network interface is mounted on a card having an interface bus for connecting to a computer;
the local input and the local output being connected to the interface bus.
the network interface is mounted on a card having an interface bus for connecting to a computer;
the local input and the local output being connected to the interface bus.
46. A network hub for connecting a plurality of computers and communication media into a network, each of the computers being capable of generating data, the communication media including a reception medium and a delivery medium, the network hub comprising:
a) a plurality of inputs for connecting to the reception medium;
b) a plurality of outputs for connecting to the reception medium;
each of the inputs being paired with one of the outputs to form an input-and-output pair, each input-and-output pair communicating with a computer in the network via the reception medium;
the input of each input-and-output pair being connected to the output of one other input-and-output pair to form a sequential chain of input-and-output pairs including a last input-and-output pair;
the output of each input-and-output pair for receiving data from the input of the one other input-and-output pair connected thereto, and for providing, via the reception medium, data received thereby to the computer communicating therewith;
the input of each input-and-output pair for receiving, via the reception medium, data generated by the computer communicating therewith and data provided to said computer by the output paired therewith, and for providing data received thereby to the output of the one other input-and-output pair connected thereto;
the input of the last input-and-output pair for receiving data generated by the computer communicating therewith and data generated by any other computer in the network; and c) a broadcast output connected to the input of the last input-and-output pair and to the delivery medium, the broadcast output for communicating with the plurality of computer in the network via the delivery medium;
the broadcast output for receiving data received at the input of the last input-and-output pair and for providing, via the delivery medium, data received thereby to the plurality of computers.
a) a plurality of inputs for connecting to the reception medium;
b) a plurality of outputs for connecting to the reception medium;
each of the inputs being paired with one of the outputs to form an input-and-output pair, each input-and-output pair communicating with a computer in the network via the reception medium;
the input of each input-and-output pair being connected to the output of one other input-and-output pair to form a sequential chain of input-and-output pairs including a last input-and-output pair;
the output of each input-and-output pair for receiving data from the input of the one other input-and-output pair connected thereto, and for providing, via the reception medium, data received thereby to the computer communicating therewith;
the input of each input-and-output pair for receiving, via the reception medium, data generated by the computer communicating therewith and data provided to said computer by the output paired therewith, and for providing data received thereby to the output of the one other input-and-output pair connected thereto;
the input of the last input-and-output pair for receiving data generated by the computer communicating therewith and data generated by any other computer in the network; and c) a broadcast output connected to the input of the last input-and-output pair and to the delivery medium, the broadcast output for communicating with the plurality of computer in the network via the delivery medium;
the broadcast output for receiving data received at the input of the last input-and-output pair and for providing, via the delivery medium, data received thereby to the plurality of computers.
47. The network hub of claim 46 further comprising:
a broadcast amplifier connected between the input of the last input-and-output pair and the broadcast output;
the broadcast amplifier for amplifying data received at the input of the last input-and-output pair and for providing said amplified data to the broadcast output.
a broadcast amplifier connected between the input of the last input-and-output pair and the broadcast output;
the broadcast amplifier for amplifying data received at the input of the last input-and-output pair and for providing said amplified data to the broadcast output.
48. The network hub of claim 46 wherein the network hub is mounted on a card.
49. A method for communicating data among a plurality of stations in a network, the stations being connected in the form of a chain beginning with a first station and ending with a last station which is not connected to the first station, the method comprising the steps of:
sequentially routing data issued by any of the stations through the last station via the stations which follow the station issuing the data;
broadcasting data sequentially routed through the last station to the plurality of stations.
sequentially routing data issued by any of the stations through the last station via the stations which follow the station issuing the data;
broadcasting data sequentially routed through the last station to the plurality of stations.
50. The method of claim 49 further comprising the step of:
broadcasting data issued by a remote station not connected in the chain to the plurality of stations.
broadcasting data issued by a remote station not connected in the chain to the plurality of stations.
51. A method for mirroring two file servers in a client/server network including a plurality of workstations connected in a chain beginning with a first workstation and ending with a last workstation, the method comprising the steps of:
a) sequentially routing data issued by any of the workstations through the last workstation;
b) broadcasting data sequentially routed through the last workstation to each of the file servers;
c) generating the same data by each of the file servers; and d) broadcasting the generated data on separate broadcast channels to each of theworkstations;
a) sequentially routing data issued by any of the workstations through the last workstation;
b) broadcasting data sequentially routed through the last workstation to each of the file servers;
c) generating the same data by each of the file servers; and d) broadcasting the generated data on separate broadcast channels to each of theworkstations;
52. A method for communicating data in a network including a plurality of workstations and at least two file servers, the plurality of workstations being connected in a chain beginning with a first workstation and ending with a last workstation, the method comprising the steps of:
a) sequentially routing data issued by any of the workstations through the last workstation;
b) broadcasting data sequentially routed through the last workstation to each of the file servers; and c) broadcasting data issued by each of the file servers to each of the workstations on a broadcast channel separated from each of the broadcast channels broadcasting data issued by the other file servers.
a) sequentially routing data issued by any of the workstations through the last workstation;
b) broadcasting data sequentially routed through the last workstation to each of the file servers; and c) broadcasting data issued by each of the file servers to each of the workstations on a broadcast channel separated from each of the broadcast channels broadcasting data issued by the other file servers.
53. The method of claim 52 further comprising the step of:
detecting data at each of the workstation which are intended for delivery to that workstation; and delivering the detected data to the workstation.
detecting data at each of the workstation which are intended for delivery to that workstation; and delivering the detected data to the workstation.
54. The method of claim 52 wherein step (c) comprises the steps of:
merging data issued by each of the file servers with the data sequentially routed through the last workstation; and broadcasting merged data from each of the file servers to each of the workstations on a broadcast channel separate from each of the broadcast channels broadcasting merged data from the other file servers.
merging data issued by each of the file servers with the data sequentially routed through the last workstation; and broadcasting merged data from each of the file servers to each of the workstations on a broadcast channel separate from each of the broadcast channels broadcasting merged data from the other file servers.
55. The method of claim 52 further comprising the step of:
generating the same data at each of the file servers.
generating the same data at each of the file servers.
56. A computer network with mirrored servers comprising:
a) a first file server capable of generating addressed data packets;
b) a second file server capable of generating addressed data packets;
c) a plurality of workstations each having a unique address and being capable ofgenerating addressed data packets, each of said workstations including;
(1) a packet assembly input for receiving addressed data packets from another workstation;
(2) a packet assembly output for delivering addressed data packets to another workstation;
(3) a first server broadcast input for receiving addressed data packets from said first file server;
(4) a second server broadcast input for receiving addressed data packets from said second file server; and (5) an interface connected to said packet assembly input, said packet assembly output, said first server broadcast input, and said second server broadcast input, said interface for:
(a) merging addressed data packets received at said packet assembly input with addressed data packets generated by said workstation into a stream of workstation-addressed data packets;
(b) delivering said stream of workstation-addressed data packets to said packet assembly output;
(c) detecting addressed data packets from either said first server broadcast input or said second server broadcast input which bear the unique address of said workstation; and (d) delivering said detected packets to said workstation for further processing;each of said file servers including:
(1) a workstation broadcast input for receiving a stream of workstation-addressed data packets;
(2) a server broadcast output for delivering addressed data packets generated by said file server to each of said workstations; and (3) an interface connected to said workstation broadcast input and said server broadcast output, said interface for:
(a) receiving the stream of workstation-addressed data packets from said workstation broadcast input;
(b) delivering said stream of workstation-addressed data packets to said file server;
(c) receiving addressed data packets from said file server; and (d) providing said addressed data packets to said server broadcast output;
d) a packet assembly channel for assembling addressed data packets generated by all of said workstations, said packet assembly channel connecting each of said workstations together in a sequential chain beginning with a first of said workstations and ending with a last of said workstations, said chain being formed by connecting the packet assembly output of each of said workstations, except the last of said workstations, to the packet assembly input of the next workstation in sequence through a packet communication connection;
e) a workstation broadcast channel consisting of a packet communication connection between the packet assembly output of the last of said workstations and the workstation broadcast input of each of said file servers;
f) a first server broadcast channel consisting of a packet communication connection between the server broadcast output of said first file server and the first server broadcast input of each of said workstations; and g) a second server broadcast channel consisting of a packet communication connection between the server broadcast output of said second file server and the second server broadcast input of each of said workstations.
a) a first file server capable of generating addressed data packets;
b) a second file server capable of generating addressed data packets;
c) a plurality of workstations each having a unique address and being capable ofgenerating addressed data packets, each of said workstations including;
(1) a packet assembly input for receiving addressed data packets from another workstation;
(2) a packet assembly output for delivering addressed data packets to another workstation;
(3) a first server broadcast input for receiving addressed data packets from said first file server;
(4) a second server broadcast input for receiving addressed data packets from said second file server; and (5) an interface connected to said packet assembly input, said packet assembly output, said first server broadcast input, and said second server broadcast input, said interface for:
(a) merging addressed data packets received at said packet assembly input with addressed data packets generated by said workstation into a stream of workstation-addressed data packets;
(b) delivering said stream of workstation-addressed data packets to said packet assembly output;
(c) detecting addressed data packets from either said first server broadcast input or said second server broadcast input which bear the unique address of said workstation; and (d) delivering said detected packets to said workstation for further processing;each of said file servers including:
(1) a workstation broadcast input for receiving a stream of workstation-addressed data packets;
(2) a server broadcast output for delivering addressed data packets generated by said file server to each of said workstations; and (3) an interface connected to said workstation broadcast input and said server broadcast output, said interface for:
(a) receiving the stream of workstation-addressed data packets from said workstation broadcast input;
(b) delivering said stream of workstation-addressed data packets to said file server;
(c) receiving addressed data packets from said file server; and (d) providing said addressed data packets to said server broadcast output;
d) a packet assembly channel for assembling addressed data packets generated by all of said workstations, said packet assembly channel connecting each of said workstations together in a sequential chain beginning with a first of said workstations and ending with a last of said workstations, said chain being formed by connecting the packet assembly output of each of said workstations, except the last of said workstations, to the packet assembly input of the next workstation in sequence through a packet communication connection;
e) a workstation broadcast channel consisting of a packet communication connection between the packet assembly output of the last of said workstations and the workstation broadcast input of each of said file servers;
f) a first server broadcast channel consisting of a packet communication connection between the server broadcast output of said first file server and the first server broadcast input of each of said workstations; and g) a second server broadcast channel consisting of a packet communication connection between the server broadcast output of said second file server and the second server broadcast input of each of said workstations.
57. A hub for communicating addressed data packets among a plurality of workstations and two file servers in a network via communication media, the plurality of workstations and file servers being capable of generating addressed data packets intended for delivery to a workstation on the network, the communication media including a packet reception channel, a workstation broadcast channel, a first server broadcast channel, and a second server broadcast channel, said hub comprising:
a) a sequential interface for sequentially routing addressed data packets through the plurality of workstations and through a last workstation via the packet reception channel, the sequential interface including:
(1) a plurality of inputs each for receiving, via the packet reception channel, addressed data packets from a workstation in the network, and (2) a plurality of outputs each for providing, via the packet reception channel, addressed data packets to a workstation in the network;
b) a workstation broadcast interface broadcasting addressed data packets generated by the plurality of workstations to both file servers via the workstation broadcast channel, the broadcast interface including a workstation broadcast output connected to the sequential interface for receiving addressed data packets which have been sequentially routed through the last workstation, and for transmitting, via the workstation broadcast channel, said received addressed data packets to both of the file servers;
c) a first server broadcast interface for broadcasting addressed data packets generated by a first of the file servers to the plurality of workstations via the first server broadcast channel, the first server broadcast interface including:
(1) a first server broadcast input connected to the first file server for receiving addressed data packets generated by the first file server; and (2) a first server broadcast output connected to the first server broadcast input for transmitting, via the first server broadcast channel, addressed data packets received at the first server broadcast input to the plurality of workstations; and d) a second server broadcast interface for broadcasting addressed data packets generated by a second of the file servers to the plurality of workstations via the second server broadcast channel, the second server broadcast interface including:
(1) a second server broadcast input connected to the second file server for receiving addressed data packets generated by the second file server; and (2) a second server broadcast output connected to the second server broadcast input for transmitting, via the second server broadcast channel, addressed data packets received at the second server broadcast input to the plurality of workstations.
a) a sequential interface for sequentially routing addressed data packets through the plurality of workstations and through a last workstation via the packet reception channel, the sequential interface including:
(1) a plurality of inputs each for receiving, via the packet reception channel, addressed data packets from a workstation in the network, and (2) a plurality of outputs each for providing, via the packet reception channel, addressed data packets to a workstation in the network;
b) a workstation broadcast interface broadcasting addressed data packets generated by the plurality of workstations to both file servers via the workstation broadcast channel, the broadcast interface including a workstation broadcast output connected to the sequential interface for receiving addressed data packets which have been sequentially routed through the last workstation, and for transmitting, via the workstation broadcast channel, said received addressed data packets to both of the file servers;
c) a first server broadcast interface for broadcasting addressed data packets generated by a first of the file servers to the plurality of workstations via the first server broadcast channel, the first server broadcast interface including:
(1) a first server broadcast input connected to the first file server for receiving addressed data packets generated by the first file server; and (2) a first server broadcast output connected to the first server broadcast input for transmitting, via the first server broadcast channel, addressed data packets received at the first server broadcast input to the plurality of workstations; and d) a second server broadcast interface for broadcasting addressed data packets generated by a second of the file servers to the plurality of workstations via the second server broadcast channel, the second server broadcast interface including:
(1) a second server broadcast input connected to the second file server for receiving addressed data packets generated by the second file server; and (2) a second server broadcast output connected to the second server broadcast input for transmitting, via the second server broadcast channel, addressed data packets received at the second server broadcast input to the plurality of workstations.
58. A method for communicating data in a wide area network including a plurality of local area networks (LANs) and a remote source, each of the Loans including a plurality of workstations connected in a chain beginning with a first workstation and ending with a last workstation, the method comprising the steps of:
a) sequentially routing data issued by any of the workstations through the last workstation;
b) broadcasting data sequentially routed through the last workstation to each of the workstations on a broadcast channel;
c) transmitting data generated at the remote source to each of the LANs; and d) broadcasting data transmitted from the remote source to each of the workstations on a broadcast channel separate from the broadcast channel carrying the sequentially routed data.
a) sequentially routing data issued by any of the workstations through the last workstation;
b) broadcasting data sequentially routed through the last workstation to each of the workstations on a broadcast channel;
c) transmitting data generated at the remote source to each of the LANs; and d) broadcasting data transmitted from the remote source to each of the workstations on a broadcast channel separate from the broadcast channel carrying the sequentially routed data.
59. The method of claim 58 further comprising the step of:
detecting data at each workstation intended for delivery to the workstation from the data sequentially routed through the last workstation;
detecting data at each workstation intended for delivery to the workstation from the data transmitted from the remote source; and delivering the detected data to the workstation.
detecting data at each workstation intended for delivery to the workstation from the data sequentially routed through the last workstation;
detecting data at each workstation intended for delivery to the workstation from the data transmitted from the remote source; and delivering the detected data to the workstation.
60. A wide area network comprising:
a) a remote source capable of generating addressed data packets, said remote source including a remote broadcast output for broadcasting addressed data packets;
b) a plurality of local area networks (LANs) in communication with said remote source, each of said LANs including:
(1) a plurality of workstations each having a unique address and being capable of generated addressed data packets, each of said workstations including:
(a) a packet assembly input for receiving addressed data packets from another workstation;
(b) a packet assembly output for delivering addressed data packets to another workstation;
(c) a LAN broadcast input for receiving addressed data packets from said workstations in said LAN;
(d) a remote broadcast input for receiving addressed data packets from said remote source; and (e) an interface connected to said packet assembly input, said packet assembly output, said LAN broadcast input, and said remote broadcast input, said interface for:
(i) merging addressed data packets received at said packet assembly input with addressed data packets generated by said workstation into a stream of workstation-addressed data packets;
(ii) delivering said stream of workstation-addressed data packets to said said assembly output;
(iii) detecting addressed data packets from said LAN broadcast input and said remote broadcast input which bear the unique address of said workstation; and (iv) delivering said detected packets to said workstation for further (2) a packet assembly channel for assembling addressed data packets generated byall of said workstations, said packet assembly channel for connecting each of said workstations together in a sequential chain beginning with a first of said workstations and ending with a last of said workstations, said chain being formed by connecting the packet assembly output of each of said workstations, except the last of said workstations, to the packet assembly input of the next workstation in sequence through a packet communication connection; and (3) a LAN broadcast channel including a packet communication connection between the packet assembly output of the last of said workstations and the LAN
broadcast input of each of said workstations; and c) a remote broadcast channel consisting of a packet communication connection between the remote broadcast output of said remote source and the remote broadcast input of each of said
a) a remote source capable of generating addressed data packets, said remote source including a remote broadcast output for broadcasting addressed data packets;
b) a plurality of local area networks (LANs) in communication with said remote source, each of said LANs including:
(1) a plurality of workstations each having a unique address and being capable of generated addressed data packets, each of said workstations including:
(a) a packet assembly input for receiving addressed data packets from another workstation;
(b) a packet assembly output for delivering addressed data packets to another workstation;
(c) a LAN broadcast input for receiving addressed data packets from said workstations in said LAN;
(d) a remote broadcast input for receiving addressed data packets from said remote source; and (e) an interface connected to said packet assembly input, said packet assembly output, said LAN broadcast input, and said remote broadcast input, said interface for:
(i) merging addressed data packets received at said packet assembly input with addressed data packets generated by said workstation into a stream of workstation-addressed data packets;
(ii) delivering said stream of workstation-addressed data packets to said said assembly output;
(iii) detecting addressed data packets from said LAN broadcast input and said remote broadcast input which bear the unique address of said workstation; and (iv) delivering said detected packets to said workstation for further (2) a packet assembly channel for assembling addressed data packets generated byall of said workstations, said packet assembly channel for connecting each of said workstations together in a sequential chain beginning with a first of said workstations and ending with a last of said workstations, said chain being formed by connecting the packet assembly output of each of said workstations, except the last of said workstations, to the packet assembly input of the next workstation in sequence through a packet communication connection; and (3) a LAN broadcast channel including a packet communication connection between the packet assembly output of the last of said workstations and the LAN
broadcast input of each of said workstations; and c) a remote broadcast channel consisting of a packet communication connection between the remote broadcast output of said remote source and the remote broadcast input of each of said
61. A hub for communicating addressed data packets between a remote source and local area networks (LANs) in a wide area network via communication media, the LANs including a plurality of workstations being capable of generating addressed data packets intended for delivery to a workstation in the LAN, the remote source being capable of generating addressed data packets; intended for delivery to a workstation, the communication media including a packet reception channel, a LAN broadcast channel, and a remote broadcast channel, said hub comprising:
a) a sequential interface for sequentially routing addressed data packets through the plurality of workstations and through a last workstation via the packet reception channel, the sequential interface including:
(1) a plurality of inputs each for receiving, via the packet reception n channel, addressed data packets from a workstation in the network; and (2) a plurality of outputs each for providing, via the packet reception channel, addressed data packets to a workstation in the network; and b) a LAN broadcast interface for broadcasting addressed data packets generated by the plurality of workstations to each of the workstations in the LAN via the LAN broadcast channel, the broadcast interface including:
(1) a LAN broadcast input connected to the sequential interface for receiving addressed data packets which have been sequentially routed through the last workstation; and (2) a LAN broadcast output connected to the LAN broadcast input for transmitting, via the LAN broadcast channel, addressed data packets received at the remote broadcast input to each of the workstations; and c) a remote broadcast interface for broadcasting addressed data packets generated by the remote source to the plurality of workstations via the remote broadcast channel, the remote broadcast interface including:
(1) a remote broadcast input connected to the remote source for receiving addressed data packets generated by the remote source; and (2) a remote broadcast output connected to the remote broadcast input for transmitting, via the remote broadcast channel, addressed data packets received at the remote broadcast input to each of the workstations.
a) a sequential interface for sequentially routing addressed data packets through the plurality of workstations and through a last workstation via the packet reception channel, the sequential interface including:
(1) a plurality of inputs each for receiving, via the packet reception n channel, addressed data packets from a workstation in the network; and (2) a plurality of outputs each for providing, via the packet reception channel, addressed data packets to a workstation in the network; and b) a LAN broadcast interface for broadcasting addressed data packets generated by the plurality of workstations to each of the workstations in the LAN via the LAN broadcast channel, the broadcast interface including:
(1) a LAN broadcast input connected to the sequential interface for receiving addressed data packets which have been sequentially routed through the last workstation; and (2) a LAN broadcast output connected to the LAN broadcast input for transmitting, via the LAN broadcast channel, addressed data packets received at the remote broadcast input to each of the workstations; and c) a remote broadcast interface for broadcasting addressed data packets generated by the remote source to the plurality of workstations via the remote broadcast channel, the remote broadcast interface including:
(1) a remote broadcast input connected to the remote source for receiving addressed data packets generated by the remote source; and (2) a remote broadcast output connected to the remote broadcast input for transmitting, via the remote broadcast channel, addressed data packets received at the remote broadcast input to each of the workstations.
62. An interface for interfacing a computer to a computer network including a plurality of computer communicating via a packet assembly channel, the computer being capable of generating data packets intended for delivery to another computer on the network, the interface comprising:
a) a local input for connecting to the computer and for receiving local data packets from the computer:
b) a remote input for connecting to the packet assembly channel and for receiving remote data packets from another computer on the network via the packet assembly channel;
c) a remote output for connecting to the packet assembly channel and for delivering local and remote data packets to the packet assembly channel for transmission to another computer on the network;
d) a processor connected between the remote output and each of the inputs for transmitting local and remote data packets to the packet assembly channel via the remote output;
e) a local storage device connected between the local input and the processor for receiving local data packets from the local input and providing local data packets to the processor; and f) a remote storage device connected between the remote input and the processor for receiving remote data packets from the remote input and providing local data packets to the processor;
the local storage device for temporarily storing local data packets received from the local input when the processor is receiving remote data packets from the remote storage device; and the remote storage device for temporarily storing remote data packets received from the remote input when the processor is transmitting local data packets to the packet assembly channel via the remote output.
a) a local input for connecting to the computer and for receiving local data packets from the computer:
b) a remote input for connecting to the packet assembly channel and for receiving remote data packets from another computer on the network via the packet assembly channel;
c) a remote output for connecting to the packet assembly channel and for delivering local and remote data packets to the packet assembly channel for transmission to another computer on the network;
d) a processor connected between the remote output and each of the inputs for transmitting local and remote data packets to the packet assembly channel via the remote output;
e) a local storage device connected between the local input and the processor for receiving local data packets from the local input and providing local data packets to the processor; and f) a remote storage device connected between the remote input and the processor for receiving remote data packets from the remote input and providing local data packets to the processor;
the local storage device for temporarily storing local data packets received from the local input when the processor is receiving remote data packets from the remote storage device; and the remote storage device for temporarily storing remote data packets received from the remote input when the processor is transmitting local data packets to the packet assembly channel via the remote output.
63. The interface of claim 62 wherein the local storage device releases local data packets to the processor, and the processor transmits released local data packets to the packet assembly channel;
the remote storage device releasing remote data packets to the processor for transmission to the packet assembly channel when the processor has transmitted released local data packets;
the local storage device storing any unreleased local data packets until the processor has transmitted all remote data packets received at the remote input.
the remote storage device releasing remote data packets to the processor for transmission to the packet assembly channel when the processor has transmitted released local data packets;
the local storage device storing any unreleased local data packets until the processor has transmitted all remote data packets received at the remote input.
64. A method for merging data packets in a network interface card interfacing a computer with a network including a plurality of computers, the network interface card being capable of receiving remote data generated by one of the computers in the network and to be retransmitted to another one of the computers in the network, the computer being capable of generating local data for delivery to another computer in the network, the method comprising the steps of:
a) storing local data when remote data is being retransmitted to the network;
b) transmitting the stored local data to the network;
c) temporarily storing remote data when local data is being transmitted to the network;
and d) retransmitting the stored remote data to the network.
a) storing local data when remote data is being retransmitted to the network;
b) transmitting the stored local data to the network;
c) temporarily storing remote data when local data is being transmitted to the network;
and d) retransmitting the stored remote data to the network.
65. The method of claim 64 wherein:
step (b) comprises the steps of:
releasing local data packets; and transmitting released local data packets; and step (d) comprises the steps of:
releasing temporarily stored remote data packet when released local data packetshave been transmitted.
step (b) comprises the steps of:
releasing local data packets; and transmitting released local data packets; and step (d) comprises the steps of:
releasing temporarily stored remote data packet when released local data packetshave been transmitted.
66. An interface for interfacing a computer to a computer network including a plurality of computers communicating via a packet assembly channel and a packet broadcast channel, the computers being connected in a chain beginning with a first of the computers and ending with a last of the computers, the computers being capable of generating data packets intended for delivery to another computer on the network, the interface comprising:
a) a local input for connecting to the computer and for receiving local data packets from the computer;
b) a remote input for connecting to the packet assembly channel and for receiving remote data packets from the computer preceding said computer in the network via the packet assembly channel;
c) a remote output for connecting to the packet assembly channel and for transmitting local and remote data packets to the computer following said computer in the network via the packet assembly channel;
d) a broadcast input for connecting to the packet broadcast channel and for receiving data packets from said last of the computers in the network;
e) a broadcast output connected to the broadcast input for connecting to said computer and for delivering data packets received at the broadcast input to said computer;
f) a processor connected between the remote output and each of the inputs for transmitting local and remote data packets to the packet assembly channel via the remote output;
g) a local storage device connected between the local input and the processor for receiving local data packets from the local input and providing local data packets to the processor; and h) a remote storage device connected between the remote input and the processor for receiving remote data packets from the remote input and providing local data packets to the processor;
the local storage device for temporarily storing local data packets received from the local input when the processor is receiving remote data packets from the remote storage device; and the remote storage device for temporarily storing remote data packets received from the remote input when the processor is receiving local data packets from the local storage device.
a) a local input for connecting to the computer and for receiving local data packets from the computer;
b) a remote input for connecting to the packet assembly channel and for receiving remote data packets from the computer preceding said computer in the network via the packet assembly channel;
c) a remote output for connecting to the packet assembly channel and for transmitting local and remote data packets to the computer following said computer in the network via the packet assembly channel;
d) a broadcast input for connecting to the packet broadcast channel and for receiving data packets from said last of the computers in the network;
e) a broadcast output connected to the broadcast input for connecting to said computer and for delivering data packets received at the broadcast input to said computer;
f) a processor connected between the remote output and each of the inputs for transmitting local and remote data packets to the packet assembly channel via the remote output;
g) a local storage device connected between the local input and the processor for receiving local data packets from the local input and providing local data packets to the processor; and h) a remote storage device connected between the remote input and the processor for receiving remote data packets from the remote input and providing local data packets to the processor;
the local storage device for temporarily storing local data packets received from the local input when the processor is receiving remote data packets from the remote storage device; and the remote storage device for temporarily storing remote data packets received from the remote input when the processor is receiving local data packets from the local storage device.
67. The interface of claim 66 further comprising:
a second processor connected between the broadcast input and the broadcast output for determining which data packets received at the broadcast input are intended for delivery to said computer.
a second processor connected between the broadcast input and the broadcast output for determining which data packets received at the broadcast input are intended for delivery to said computer.
Applications Claiming Priority (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55651895A | 1995-11-13 | 1995-11-13 | |
US556,518 | 1995-11-13 | ||
US690,673 | 1996-07-31 | ||
US688,799 | 1996-07-31 | ||
US08/690,735 US6076117A (en) | 1995-11-13 | 1996-07-31 | Packet merging hub system for sequentially merging received data in a network hub into data packets before broadcasting to a plurality of destination computers |
US687,777 | 1996-07-31 | ||
US08/690,676 US5793981A (en) | 1995-11-13 | 1996-07-31 | System for communicating data in a network using both a daisy chain link and separate broadcast links |
US08/687,777 US6115747A (en) | 1995-11-13 | 1996-07-31 | Computer network interface that merges remote data received from other computers with local data before transmitting the merged data to a network |
US08/688,799 US6061730A (en) | 1995-11-13 | 1996-07-31 | Methods and apparatus for communicating data in computer networks with separate packet assembly and packet broadcast channels |
US690,735 | 1996-07-31 | ||
US08/690,673 US5761433A (en) | 1995-11-13 | 1996-07-31 | System for communicating data in a network using both a daisy chain link and separate broadcast links |
US690,676 | 1996-07-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2237406A1 true CA2237406A1 (en) | 1997-06-05 |
Family
ID=27560130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA 2237406 Abandoned CA2237406A1 (en) | 1995-11-13 | 1996-11-12 | Wide bandwidth network technology |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0861469A1 (en) |
AU (1) | AU7730396A (en) |
CA (1) | CA2237406A1 (en) |
WO (1) | WO1997020271A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0447228A3 (en) * | 1990-03-16 | 1993-01-07 | Hewlett-Packard Company | Data stream concentrator providing attribute data storage and graphics pipeline access |
US5406559A (en) * | 1992-11-02 | 1995-04-11 | National Semiconductor Corporation | Isochronous link protocol |
US5361262A (en) * | 1993-04-16 | 1994-11-01 | Bell Communications Research, Inc. | Estimated-queue, expanded-bus communication network |
-
1996
- 1996-11-12 WO PCT/US1996/018196 patent/WO1997020271A1/en not_active Application Discontinuation
- 1996-11-12 EP EP96940417A patent/EP0861469A1/en not_active Withdrawn
- 1996-11-12 CA CA 2237406 patent/CA2237406A1/en not_active Abandoned
- 1996-11-12 AU AU77303/96A patent/AU7730396A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP0861469A1 (en) | 1998-09-02 |
AU7730396A (en) | 1997-06-19 |
WO1997020271A1 (en) | 1997-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6115747A (en) | Computer network interface that merges remote data received from other computers with local data before transmitting the merged data to a network | |
US5761433A (en) | System for communicating data in a network using both a daisy chain link and separate broadcast links | |
US6076117A (en) | Packet merging hub system for sequentially merging received data in a network hub into data packets before broadcasting to a plurality of destination computers | |
KR950014178B1 (en) | Input/output network for computer system | |
US6701406B1 (en) | PCI and MII compatible home phoneline networking alliance (HPNA) interface device | |
US5742602A (en) | Adaptive repeater system | |
JP3676809B2 (en) | Network interfacing apparatus and method | |
US5764895A (en) | Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus | |
US5301303A (en) | Communication system concentrator configurable to different access methods | |
KR100336810B1 (en) | Packet Data Protocol for Wireless Communication | |
CN101755421B (en) | Packet switching device and local communication network with such packet switching device | |
US7852857B2 (en) | Coupler for a ring topology network and an ethernet-based network | |
US6539450B1 (en) | Method and system for adjusting isochronous bandwidths on a bus | |
US5898691A (en) | Method and apparatus for congestion distributed adaptive routing | |
US6272640B1 (en) | Method and apparatus employing an invalid symbol security jam for communications network security | |
JP2000513524A (en) | Polynomial expansion multiple emission message delivery | |
EP1111850A2 (en) | Control and distribution protocol for a portable router framework | |
EP0899915B1 (en) | Apparatus and method for selectively supplying data packets between media domains in a network repeater | |
US6061730A (en) | Methods and apparatus for communicating data in computer networks with separate packet assembly and packet broadcast channels | |
US5793981A (en) | System for communicating data in a network using both a daisy chain link and separate broadcast links | |
US6111890A (en) | Gigabuffer lite repeater scheme | |
CN100521690C (en) | System and component for realizing first component and second component communication | |
US6118782A (en) | Asynchronous transfer mode network | |
CA2237406A1 (en) | Wide bandwidth network technology | |
US6728772B1 (en) | Automatic configuration of a channel-to-channel connection employing channel-to-channel functioning integrated within one or more channels of a computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Dead |