`
`(12) United States Patent
`Brewer
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7.254,131 B2
`*Aug. 7, 2007
`
`(54)
`
`(75)
`
`(73)
`
`(*)
`
`(21)
`(22)
`(65)
`
`(63)
`
`(51)
`
`(52)
`(58)
`
`(56)
`
`INTERCONNECTED ETHERNET AND 1394
`NETWORK
`
`Notice:
`
`Inventor: Jason M. Brewer, Dallas, TX (US)
`Assignee: Texas Instruments Incorporated,
`Dallas, TX (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 366 days.
`This patent is Subject to a terminal dis
`claimer.
`
`Appl. No.: 10/694,277
`
`Filed:
`
`Oct. 27, 2003
`
`Prior Publication Data
`US 2004/0088426A1
`May 6, 2004
`
`Related U.S. Application Data
`Continuation of application No. 08/828,484, filed on
`Mar. 31, 1997, now Pat. No. 6,657,999.
`
`Int. C.
`(2006.01)
`HD4L 2/5)
`(2006.01)
`G06F 5/16
`U.S. Cl. ....................................... 370/362; 709/250
`Field of Classification Search ........ 709/217 219;
`713/153; 370/401
`See application file for complete search history.
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,627,052 A * 12/1986 Hoare et al. ................ 370/402
`4,831,620 A
`5/1989 Conway et al.
`5,088,032 A
`2, 1992 Bosack ....................... TO9,242
`
`8, 1992 Videlock et al.
`5,136,580 A
`5,251.213 A * 10/1993 Videlock et al. ............ 370,403
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`GB
`
`2283 645 A
`
`10, 1995
`
`OTHER PUBLICATIONS
`IEEE 1394: A Ubiquitous Bus, Hoffman, G. Moore, D., IEEE,
`1063-6390, 1995, p. 334-338.*
`(Continued)
`Primary Examiner Beatriz Prieto
`(74) Attorney, Agent, or Firm—Ronald O. Neerings; Wade
`James Brady, III; Frederick J. Telecky, Jr.
`
`(57)
`
`ABSTRACT
`
`A network configuration (10) including a first network
`medium which is a 1394 network as well as a second
`network medium. Each of the first and second network
`media is coupled to a corresponding plurality of host com
`puters (H1 through H3 and H5 through H7). The network
`configuration further includes a link layer gateway computer
`(H4) coupled to both the first network medium and the
`second network medium. The link layer gateway computer
`is operable to communicate a data packet from a source host
`computer selected from one of the plurality of host com
`puters coupled to the first network medium to a destination
`host computer selected from one of the plurality of host
`computers coupled to the second network medium. Addi
`tionally, the link layer gateway computer is operable to
`communicate a data packet from a source host computer
`selected from one of the plurality of host computers coupled
`to the second network medium to a destination host com
`puter selected from one of the plurality of host computers
`coupled to the first network medium
`
`35 Claims, 3 Drawing Sheets
`
`APPLICATION PROGRAM
`
`
`
`ETHERNET
`
`Cloudflare - Exhibit 1077, page 1
`
`
`
`US 7.254,131 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5, 1994 Perlman et al.
`5,309.437 A
`5,371,852 A * 12/1994 Attanasio et al. ........... 709/245
`5,452.292 A
`9, 1995 Okanoue et al.
`5,479,407 A * 12/1995 Ko et al. .................... 370,231
`5,590,285 A * 12/1996 Krause et al. ....
`... 709,218
`5,671,355 A * 9/1997 Collins ..........
`... 709/250
`5,742,905 A * 4/1998 Pepe et al......
`... 455,461
`5,781,550 A * 7/1998 Templin et al. ...
`... 340/.401
`5,857.201 A *
`1/1999 Wright et al............. TO7 104.1
`5,883,621 A
`3, 1999. Iwamura
`5,918,016 A * 6/1999 Brewer et al. .............. TO9.220
`6,058,429 A * 5/2000 Ames et al. ................ TO9,242
`
`
`
`OTHER PUBLICATIONS
`IEEE 1394: Status and growth path, Diamond, S.L., Picosoft, IN.
`IEEE Micro, O272-1732, 1966, p. 75-78.*
`Low-cost Networks and Gateway for teaching Data Communica
`tions, Hughes, L., ACM 0-89791-298-5, 1989, p. 6-11.*
`
`RFC 903: A Reverse Address Resolution Protocol, Finlyson et al.,
`Jun. 1984, p. 1-4.*
`RFC 1009: Requirements for Internet Gateways, R. Braden & J.
`Postel, Jun. 1987, p. 1-55.*
`“RFC 1027. Using ARP to Implement Transparent Subnet Gate
`ways”. J. S. Quarterman, et al., Network Working Group, Oct. 1987.
`XP002218271, Retrieved from the Internet: <URL:ftp://ftp.rfe
`editor.org/in-notes/pdf rfc/rfc 1027.txt.pdf>, retrieved on Oct. 25.
`2002.
`“FDDI Lan Bridging Schemes'. R. Shani, Electrical and Electronics
`Engineers in Israel, 1991, Proceedings., 17" Convention of Tel
`Aviv, Israel Mar, 5-7, 1991, New York, NY, USA, IEEE, US, May
`3, 1991, XPO10041250, ISBN: 0-87942-678-0.
`“IEEE 1394. The Cable Connection to Complete the Digital Revo
`lution, D. Moore, Skipstone, Inc., Oct. 11, 1996, XP002119363,
`Retrieved from the Internet: <URL:http://www.vxm.com/21R49.
`html>.
`Newton's Telecom Dictionary, Harry Newton, Telecom Books &
`Flariton Publishing, 1998.
`* cited by examiner
`
`Cloudflare - Exhibit 1077, page 2
`
`
`
`U.S. Patent
`
`Aug. 7, 2007
`
`Sheet 1 of 3
`
`US 7.254,131 B2
`
`
`
`
`
`
`
`No. 1 || ? |
`
`X8OMIEN
`
`
`
`(IHW HOIHd)
`
`2. '$)/, H.
`
`Cloudflare - Exhibit 1077, page 3
`
`
`
`U.S. Patent
`
`Aug. 7, 2007
`
`Sheet 2 of 3
`
`US 7.254,131 B2
`
`20 y
`
`FIG. 4A
`
`22
`
`RECEIVE DATA PACKET
`FROM SOURCE HOST COMPUTER
`
`24
`
`FROM
`
`FIG. 4B
`
`/
`
`al
`
`N
`TO FIG. 4B
`
`YES
`
`30
`
`IGNORE DATA PACKET
`BECAUSE IP WILL HANDLE
`
`ADDRESS
`PARING
`REQUEST? 1
`2
`YES
`
`26
`
`DESTINATION
`IPA=PA OF LINK
`LAYER GATEWAY 1
`COMPUTER21
`1.
`NOl
`
`
`
`32
`
`ETHERNET
`
`34
`DESTINATION
`IPAETHERNET )NO
`HOST COMPUTER 1
`2
`a.
`1.
`YES
`
`FROM
`FG. 4B
`/
`/
`
`YES
`
`
`
`NETWORK TYPE
`OF SOURCE HOST
`COMPUTER21
`1.
`139
`
`56
`
`DESTINATION
`IPA=1394
`HOST COMPUTER 1
`? 1
`NO
`
`38
`
`IGNORE DATA PACKET
`BECAUSE DESTINATION HOST
`COMPUTER WILL HANDLE
`
`
`
`FROM FIG. 4B
`
`W
`
`(1) REPLY TO SOURCE HOST
`COMPUTER WITH IPA OF
`DESTINATION HOST COMPUTER
`AND HPA OF LINK LAYER
`GATEWAY COMPUTER
`(2) SEND TO DESTINATION
`HOST COMPUTER AN ADDRESS
`PAIR OF PA OF SOURCE HOST
`COMPUTER AND HPA OF LINK
`LAYER GATEWAY COMPUTER
`
`40
`
`Cloudflare - Exhibit 1077, page 4
`
`
`
`U.S. Patent
`
`Aug. 7, 2007
`
`Sheet 3 of 3
`
`US 7.254,131 B2
`
`FROM FIG. 4A
`
`
`
`FIC. 4B
`
`44
`
`RESERVED FOR OTHER
`COMMUNICATION TYPES
`
`YES
`
`/
`TO FIG. 4A
`
`ETHERNET
`
`
`
`
`
`
`
`
`
`DESTINATION
`PA=PA OF LINK
`LAYER GATEWAY 1
`COMPUTER2
`NO 1.
`
`
`
`46
`
`
`
`NETWORK TYPE
`OF SOURCE HOST 2
`COMPUTER21
`
`e
`
`DESTINATION
`PA=ETHERNET
`a
`HOST COMPUTER 1
`? -1
`NO
`
`dea
`
`YES
`1.
`
`DESTINATION
`PA=1394
`HOST COMPUTER
`? -1
`NO
`
`
`
`TO FIG. 4A
`
`TRANSMIT DATA PACKET TO
`1394 LAN, AND CHANGE
`HPA OF SOURCE HOST
`COMPUTER TO HPA OF
`LINK LAYER GATEWAY
`COMPUTER
`
`TRANSMIT DATA PACKET TO
`ETHERNET LAN, AND CHANGE
`HPA OF SOURCE HOST
`COMPUTER TO HPA OF
`LINK LAYER GATEWAY
`COMPUTER
`
`TO FIG. 4A
`
`Cloudflare - Exhibit 1077, page 5
`
`
`
`US 7,254,131 B2
`
`1.
`INTERCONNECTED ETHERNET AND 1394
`NETWORK
`
`CROSS-REFERENCES TO RELATED
`APPLICATIONS
`
`This application is a Continuation of U.S. patent appli
`cation Ser. No.08/828,484, Mar. 31, 1997 now U.S. Pat. No.
`6,657,999.
`
`STATEMENT REGARDING FEDERALLY
`SPONSORED RESEARCH OR DEVELOPMENT
`
`Not Applicable.
`
`BACKGROUND OF THE INVENTION
`
`10
`
`15
`
`2
`TCP/IP is well known and permits packets of information to
`be sent and received along different types of networks. For
`detailed information on TCP/IP, the reader may find numer
`ous contemporary and commercially available publications,
`such as “Internetwork With TCP/IP Volumes I through III,
`by Douglas E. Comer. Third Edition (1995 by Prentice Hall),
`which is hereby incorporated herein by reference.
`By way of further background, one technique for permit
`ting internetwork communication using Pinvolves the use of
`so-called routers. A router is a computer which is physically
`connected to two different networks, and which may receive
`an information packet from a source host computer on one
`network and communicate it to a destination host computer
`on the other network. Note, however, that the use of a router
`also involves various complexities. This process is per
`formed using Subnetting as is known in the art. For example,
`to use the functionality of the router, each host computer on
`each network is particularly configured at the IP level to
`communicate with the IP level of the router when internet
`work communication is desired. In other words, if a host
`computer intends to communicate an internetwork informa
`tion packet to a destination host computer, then the host
`computer forms the information packet to include the IP
`information of the destination host computer and further
`encapsulates this information with the IP information of the
`router. Next, when the router receives the encapsulated
`packet, it recognizes from the multiple levels of IP infor
`mation that the packet is ultimately intended for a destina
`tion host computer on another network. Thus, the router is
`required to take still additional action at the IP level. For
`example, the router strips the outer IP information from the
`packet, thereby leaving the IP information pertaining to the
`destination host computer. Note, however, that this stripping
`action changes the checksum or other appropriate verifica
`tion information included with the information packet. Thus,
`the router is further required to re-calculate the checksum
`and include the new value with the packet prior to sending
`that packet on to the destination host computer. In addition
`to these complexities, note also that because the router
`functionality is at the IP level of communication, then it is
`typically required that it be included with an operating
`system for that computer to perform the above-discussed
`functionality. Some operating systems, however, do not
`include Such functionality. Thus, either a more complex and
`often more expensive operating system is required to pro
`vide the router functionality, or the software provider is
`required to re-write the operating system to extend the IP to
`further include the router functionality. One skilled in the art
`will therefore appreciate these as well as various other
`complexities arising from internetwork communications
`performed by routers.
`In view of the above, as more network types are created
`and grow in popularity, there arises a need to permit Such
`networds to internework with already-existing networks.
`The present embodiments are directed at Such a need, and
`arise specifically in the context of Ethernet and 1394 net
`works as detailed below.
`
`BRIEF SUMMARY OF THE INVENTION
`
`In one embodiment, there is provided a network configu
`ration. The network configuration includes a first network
`medium which is a 1394 network as well as a second
`network medium. Each of the first and second network
`media is coupled to a corresponding plurality of host com
`puters. The network configuration further includes a link
`layer gateway computer coupled to both the first network
`
`25
`
`30
`
`The present embodiments relate to computers and com
`puter networks, and are more particularly directed to an
`interconnection of an Ethernet network to a 1394 network.
`Data communication is now a key part of modern com
`puting, and is available over a wide variety of networks. This
`data communication may be used for various reasons. Such
`as business, science, personal, or purely entertainment. The
`various media to communicate data between users also has
`proliferated. Such media include both local area networks
`(LANs) as well as wide area networks (WANs). There is
`likely no clear formal line between the definition of a LAN
`or a WAN, but it is generally accepted that a LAN is for more
`local communication of data such as within a small location,
`building, or complex, while a WAN is for communication of
`data across a greater distance which may be across a nation
`or even worldwide. In any event, the existence of networks
`for purposes of data communication is now very popular,
`and appears to be a way of life for the foreseeable future.
`35
`Given the acceptance and proliferation of data commu
`nication among networks, over the past several years various
`types of networks have evolved to allow internetwork com
`munication, that is, communication between host computers
`connected to two or more independent networks. Often these
`networks are heterogeneous architectures, meaning that at
`the network level one network has various attributes differ
`ing from the other network. Therefore, various governing
`groups and organizations have created Standard techniques
`to allow communication between host computers on differ
`ent network types, where that communication at the host
`level often appears to form a homogeneous network. These
`communication techniques are known as protocols, and are
`often implemented within each host rather than in the
`network medium. Moreover, such protocols are often
`located in an ordered manner Such that the protocol handling
`occurs between the host’s application level and the hosts
`physical connection to its respective network. In any event,
`the protocol effectively hides the details of network hard
`ware from the user and allows computers on different
`network types to communicate with one another indepen
`dent of the network types.
`One considerably prolific network protocol is known in
`the art as TCP/IP, where this name is actually a combination
`of the two standards used in the protocol. The first protocol
`is TCP which is an abbreviation for transport control pro
`tocol. The second protocol is IP which is an abbreviation for
`internetwork protocol. Although the name TCP/IP combines
`these two standards, in actuality the standards are imple
`mented in an ordered level manner such that the TCP
`65
`protocol is closer to the application level and the IP protocol
`is closer to the physical network connection level. Further,
`
`40
`
`45
`
`50
`
`55
`
`60
`
`Cloudflare - Exhibit 1077, page 6
`
`
`
`US 7,254,131 B2
`
`3
`medium and the second network medium. The link layer
`gateway computer is operable to communicate a data packet
`from a source host computer selected from one of the
`plurality of host computers coupled to the first network
`medium to a destination host computer selected from one of
`the plurality of host computers coupled to the second
`network medium. Additionally, the link layer gateway com
`puter is operable to communicate a data packet from a
`source host computer selected from one of the plurality of
`host computers coupled to the second network medium to a
`destination host computer selected from one of the plurality
`of host computers coupled to the first network medium.
`Other circuits, systems, and methods are also disclosed and
`claimed.
`
`5
`
`10
`
`BRIEF DESCRIPTION OF THE SEVERAL
`VIEWS OF THE DRAWING
`
`15
`
`FIG. 1 illustrates a diagram of an internetwork configu
`ration having a first network coupled to communicate to a
`second network, where internetwork communication is via a
`link layer gateway computer having network interface cards
`for each of the two networks:
`FIG. 2 illustrates a prior art hierarchy of data communi
`cation in a host computer, where that hierarchy includes a
`network interface card coupled to a network, a TCP/IP
`protocol level coupled to the network interface card, and an
`application program coupled to the TCP/IP protocol level;
`FIG. 3 illustrates a hierarchy of data communication in the
`link layer gateway computer of FIG. 1; and
`FIGS. 4A and 4B illustrate a method of operation of the
`link layer protocol of the link layer gateway computer of
`FIG. 3.
`
`25
`
`30
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`35
`
`4
`only one of the two networks. Moreover, note that the
`number of host computers shown in FIG. 1 is merely by way
`of example, and therefore either a lesser or greater number
`of host computers could be connected to either the Ethernet
`network or the 1394 network. With respect to the 1394
`network, devices other than computers, such as the audio
`and/or visual devices mentioned above, also may be con
`nected to the network.
`Internetwork configuration 10 may represent the entirety
`of a particular implementation, or alternatively may be part
`of various different configuration types and may span a wide
`range of distances. For example, the entire reach of inter
`network configuration 10 may be a single room such as a
`conference room. Thus, given the teachings set forth below,
`a user may connect his or her host computer to either
`network in internetwork configuration 10 to participate in
`network communications in that conference room. More
`over, because of the two different network types, the user
`may have some level of choice as to which of the two
`networks to connect the user's host computer. For example,
`the user's host computer may include the necessary hard
`ware (e.g., interface hardware) to communicate only with an
`Ethernet network. Accordingly, and as appreciated from the
`detailed description of later Figures, the user could connect
`its host computer to the Ethernet network of internetwork
`configuration 10 thereby also gaining the capability of
`communicating with the 1394 network and devices con
`nected to that network. In any event, therefore, the flexibility
`of FIG. 1 may apply to smaller environments as well as
`slightly larger LANs. Still further, however, note also that
`the reach of either or both networks of internetwork con
`figuration 10 may span far greater distances, such as within
`an entire building, between buildings or even beyond, and
`therefore the present embodiments may find use in the
`context of WANs as well.
`FIG. 2 illustrates a block diagram demonstrating the
`hierarchy of data communication of any of the host com
`puters H1 through H3 and H5 through H7 of internetwork
`configuration 10, and note that such a hierarchy is known in
`the art. Nevertheless, to present a background for discussing
`the inventive embodiment of FIG. 1 as well as additional
`aspects discussed after FIG. 2, a discussion is first presented
`below as to the three different levels of the data communi
`cation hierarchy as shown in FIG. 2.
`At the bottom level of the data communication hierarchy
`shown in FIG. 2 is a network interface circuit which is
`typically formed as a computer card, and which is abbrevi
`ated as “NIC” in FIG. 2. The NIC represents the hardware
`interface, or so-called “link layer', between the motherboard
`bus of the host computer and the corresponding network
`medium. Note also that the NIC will have a hardware
`physical address. For example, in the Ethernet network, a
`unique 48-bit number known as an Ethernet address is
`assigned to each NIC. In other words, the manufacturer of
`the Ethernet NIC assigns this address to the physical hard
`ware, and this hardware thereafter retains this unique num
`ber to distinguish it from any other Ethernet physical
`address. As another example, in the 1394 network, each NIC
`represents a physical layer which is assigned a hardware
`physical address upon reset of the 1394 network. The
`hardware physical address is sometimes referred to as a node
`ID in the 1394 terminology. Note also that the 1394 network
`reset occurs upon start-up of the network, and is also
`repeated at any time when a device is later added to the 1394
`network; in other words, the 1394 network is “hot plug
`gable.” meaning a device can be added to the network
`without having to bring down the network before such
`
`40
`
`45
`
`50
`
`FIG. 1 illustrates a computer internetwork configuration
`designated generally at 10 and in accordance with the
`present inventive embodiments. Internetwork configuration
`10 includes two separate computer networks. Particularly, in
`the preferred embodiment, internetwork configuration 10
`includes an Ethernet network and an IEEE 1394 network
`(hereafter referred to as a “1394 network”. Both of these
`network types are known in the art. Ethernet technology was
`developed in the early 1970s and has become quite popular
`in use for networks around the world. Moreover, Ethernet
`technology has given rise to numerous variants, such as
`differences in the medium used to communicate Ethernet
`signals (e.g., original coax, thin-wire Ethernet, twisted pair)
`as well as the electronic connection between the Ethernet
`medium and an interface within a host computer connected
`to the network. 1394 networks are based on an IEEE
`standard which was released during the 1990s, and which is
`directed to a high-speed serial bus which envisions commu
`55
`nication of various types of devices connected to the bus
`Such as computers as well as audio, visual, or audiovisual
`components (e.g., video cassette recorders, cameras, micro
`phones, display units, and the like).
`Each of the networks of FIG. 1 is connected to a number
`of host computers. For example, the Ethernet network is
`connected to four host computers designated as H1 through
`H4, and the 1394 network is connected to four host com
`puters designated as H4 through H7. Importantly, and for
`reasons more clear below, note therefore that host computer
`H4 is connected to both of the two networks of configuration
`10. Each of the remaining host computers is connected to
`
`60
`
`65
`
`Cloudflare - Exhibit 1077, page 7
`
`
`
`5
`action. In the event of a hot plug-in of a device, hardware
`physical addresses are reassigned to each NIC connected to
`the 1394 network. Still further, note that an NIC is typically
`operable to filter certain information along the network from
`reaching the higher level of communication within a host
`computer. In other words, for some networks a data packet
`passing along the network has some type of code. Such as a
`hardware physical address corresponding to an NIC of one
`of the devices connected to the network. Therefore, only the
`NIC with an address matching the physical address passes
`the data packet to the next upper level of the data commu
`nication in the host computer containing that NIC. Note
`further that this type of control in the NIC may be program
`mable. Still further, for certain types of data packets passing
`along a network, the packet may include a code which
`causes the NIC of more than one host computer to pass the
`corresponding packet to the next upper level of the data
`communication for each of those host computers. For
`example, a communication along a network is sometimes
`referred to as a “broadcast” communication when it is
`intended that all host computers along the network receive
`the communication. Typically, therefore, the broadcast com
`munication includes the necessary type of code Such that the
`NIC for each host computer on the network allows the
`packet of the broadcast communication to pass to the next
`upper level of the data communication for each of the host
`computers connected to the network. Still other examples of
`NIC response to physical addresses and comparable codes
`are known in the art.
`At the middle level of the data communication hierarchy
`shown in FIG. 2 is a protocol handler which is commonly
`embodied in the operating system of the host computer. For
`example, the Windows 95 operating system currently pro
`vided by Microsoft includes the protocol handler shown in
`FIG. 2. Specifically, this protocol handler includes the
`internet protocol (IP) and the transport control protocol
`(“TCP), each of which also was discussed earlier in the
`Background of the Invention. Although not shown in FIG. 2,
`but as mentioned in the Background, note that the IP and
`TCP standards are typically implemented in an ordered level
`manner such that the TCP protocol is closer to the applica
`tion level and the IP protocol is closer to the physical
`network connection level. Due to this ordering, note that a
`packet of information received from the network is first
`examined according to the IP standard, and then to the
`standard overlying the IP standard such as the TCP standard
`shown in FIG. 2. Thus, as an alternative, a standard other
`than the TCP standard may be used in FIG. 2 without
`departing from the necessary understanding and implemen
`tation of the inventive embodiments discussed in this docu
`ment. For example, TCP is favorable in cases where it is
`desired to ensure that a data packet is received by a desti
`nation, or where a large block of data is to be broken down
`into separate packets for purposes of ensuring proper trans
`mission and receipt of the block of data. However, as an
`alternative, the known user datagram protocol (“UDP) may
`be used where it is not necessary to confirm that the intended
`destination of the data packet actually receives the data
`packet, or where it is desired to send a data packet to one of
`more than one application programs running on a single
`destination host computer. Note also that UDP is sometimes
`referred to as an extension of TCP rather than an alternative
`to TCP. In any event, TCP, UDP, or perhaps still additional
`protocols represent an additional layer of data handling
`which may operate in conjunction with the IP standard.
`Before proceeding with a discussion of the top level of the
`data communication hierarchy shown in FIG. 2, note that the
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 7,254,131 B2
`
`10
`
`15
`
`6
`above discussion introduces the notion that each host com
`puter includes both an NIC responsive to a hardware physi
`cal address (hereafter abbreviated as an “HPA', and an IP.
`Indeed, and as detailed later, it is known in the art that a
`computer complying with the IP standard has an assigned IP
`address (hereafter abbreviated as an “IPA). Thus, each host
`computer has an associated HPA and an IPA. To facilitate the
`remaining discussion, the following Table 1 below sets forth
`some arbitrarily assigned names for the IPA and HPA for
`each of the host computers of internetwork configuration 10.
`
`host computer
`
`H1
`H2
`H3
`H4
`HS
`H6
`H7
`
`TABLE 1.
`
`IPA
`
`IPA1
`IPA2
`IPA3
`IPA4
`IPAS
`IPA6
`IPA7
`
`HPA
`
`HPA1
`HPA2
`HPA3
`HPA4
`HPAS
`HPA6
`HPA7
`
`Note in Table 1 that, for convenience sake, the reference
`numeral for a host computer is simply carried forward as
`part of its identifier for both its IPA and its HPA. Thus, the
`first host computer in Table 1 uses the reference numeral
`“1”, and that value gives rise to an IPA of IPA1 and an HPA
`of HPA1. This convention as well as the remaining entries
`in Table 1 are used from this point forward to simplify the
`various examples described below.
`Returning now to FIG. 2, at the top level of the data
`communication hierarchy shown is an application program
`which is typical of that used for internetwork operations. For
`example, various application programs are now quite popu
`lar for internetwork operations, such as electronic mail, file
`transfer, and remote login. Note that these application pro
`grams are only by way of example. Moreover, while FIG. 2
`only illustrates a single application program, it is also
`possible that more than one application program may run on
`a computer in a multitasking environment, again such as that
`provided by the Microsoft Windows 95 operating system.
`Note that such applications have enjoyed that ability to
`communicate with one another in large part due to protocols
`such as TCP/IP in that these protocols often permit appli
`cations written by different companies to communicate with
`one another despite differences in programs as well as
`differences in the hardware of the communicating host
`computers.
`Given the three levels of the hierarchy of data commu
`nication of any of the host computers H1 through H3 and H5
`through H7 of internetwork configuration 10, note further
`that those levels are shown as bi-directionally coupled to one
`another. Thus, for an application program to communicate to
`its corresponding network, a packet (or packets) of data is
`formed and organized according to the TCP or other protocol
`at that level then further organized according to the IP of the
`host computer, and lastly altered if appropriate by the NIC
`to communicate the packet along the network medium.
`Conversely, if a packet is received by a host computer along
`a network medium, the packet is first analyzed at the NIC
`level, then the IP level, then the TCP (or other protocol) level
`if passed on by the NIC and IP levels, and ultimately may
`reach the application program.
`Having presented the introductory discussion of the prior
`art hierarchy of a host computer as shown in FIG. 2, FIG. 3
`illustrates a block diagram demonstrating the hierarchy of
`data communication of host computer H4 of internetwork
`
`Cloudflare - Exhibit 1077, page 8
`
`
`
`US 7,254,131 B2
`
`10
`
`15
`
`25
`
`35
`
`7
`configuration 10 in accordance with the present inventive
`embodiments. In certain respects, the hierarchy of FIG. 3
`resembles that of FIG. 2, but is duplicated to accommodate
`the connection to two different types of networks. For
`example, at the bottom level of the hierarchy in FIG. 3, host
`computer H4 includes two NICs, one for the Ethernet
`network and labeled as the Ethernet NIC and one for the
`1394 network and labeled as the 1394 NIC. At the middle
`level of the hierarchy, the Ethernet NIC and the 1394 NIC
`are each bi-directionally coupled to a respective protocol
`handler, where each of those respective protocol handlers
`are embodied in the operating system of the host computer.
`Again, each of these respective protocol handlers preferably
`include the IP standard. Moreover, each of these protocol
`handlers further includes at least one additional standard
`which is actually over the IP standard, and which by way of
`example in FIG. 3 is shown as the TCP standard. Addition
`ally, again a standard other than the TCP standard (e.g., UDP
`or other standards) may be used in FIG. 3 without departing
`from the implementation of the present inventive embodi
`ments. In any event, to accommodate the two different
`networks, it is therefore assumed that the operating system
`IP protocol handler is able to properly handle protocols for
`either Ethernet or 1394 data packets. At the top of the
`hierarchy in FIG. 3, each of the protocol handlers is bi
`directionally coupled to one or more application programs.
`Again, as in the case of FIG. 2, these programs represent the
`type of program(s) which communicates data packets along
`a network configuration.
`In addition to the blocks described immediately above,
`note further that host computer H4 further includes a link
`layer protocol shown at the same hierarchical level as is the
`Ethernet and 1394 IP protocols. This hierarchical ordering,
`as well as the term “link layer', are better appreciated from
`the operational description of the link layer protocol
`described below in connection with FIGS. 4A and 4.B. At
`this point, however, note that in the preferred embodiment
`the link layer protocol is not part of the operating system of
`the host computer and, therefore, executes independent of
`the operating system protocol(s). This approach provides
`40
`numerous advantages. For example, the functionality
`described below may be achieved without having to re-write
`or otherwise complicate the operating system of the host
`computer. As another example, the link layer protocol may
`be provided by a vendor independent of the vendor of the
`45
`operating system. For example, in one embodiment, the
`functionality of the link layer protocol described below may
`be achieved in combination with the Windows 95 operating
`system in a manner which improves performance but does
`not require any change to that operating system. Still other
`examples will be ascertainable by one skilled in the art.
`Having introduced the link layer protocol of host com
`puter H4, but before detailing its operational steps as shown
`in FIGS. 4A and 4B, an introduction is instructive to the
`overall functionality of the link layer protocol as well as
`Some of its aspects in connection with internetwork con
`figuration 10 of FIG. 1. Recall from FIG. 1 that host
`computer H4 is connected to two different types of net
`works, with those being an Ethernet network and a 1394
`network in the preferred embodiment. Although better
`appreciated below, note now that the link layer protocol of
`host computer H4 permits communication of data packets
`between those two networks. In other words, a host com
`puter on one network may communicate a data packet, via
`the link layer protocol, to a host computer on the other
`network. For example, with the assistance of the link layer
`protocol of host computer H4, host computer H1 connected
`
`30
`
`50
`
`55
`
`60
`
`65
`
`8
`to the Ethernet network may communicate a data packet to
`host computer H6 of the 1394 network. From a simple
`diagram standpoint, consider this example given the cou
`pling of the levels shown in FIG. 3. Once host computer H1
`transmits its data packet, that packet is received from the
`Ethernet network